视频编码方法、装置、设备及可读存储介质制造方法及图纸

技术编号:25605532 阅读:57 留言:0更新日期:2020-09-12 00:01
本申请公开了一种视频编码方法、装置、设备及可读存储介质,涉及多媒体技术领域。该方法包括:运行云应用程序,云应用程序为运行在云服务器中的应用程序;在云应用程序的运行过程中,从缓存区中采集桌面图像帧和桌面图像帧的渲染时刻;根据桌面图像帧的渲染时刻确定桌面图像帧的显示时间戳,对桌面图像帧进行编码。通过从缓存区中获取桌面图像帧及其对应的渲染时刻,从而将渲染时刻作为桌面图像帧在编码过程中的显示时间戳,从而与其在终端最终播放时的渲染时刻保持一致,避免由于编码时采用机器时间而导致的播放效果存在丢帧和跳帧的情况出现,提高了播放的准确率。

【技术实现步骤摘要】
视频编码方法、装置、设备及可读存储介质
本申请实施例涉及多媒体
,特别涉及一种视频编码方法、装置、设备及可读存储介质。
技术介绍
云程序是指程序本身运行在云端服务器设备中,将云端设备渲染后的程序画面编码后,通过网络传输至用户终端,由用户终端对编码文件进行解码后渲染至显示屏进行显示的程序。相关技术中,在云端服务器设备中编码程序画面时,包括采集和编码两个过程,其中,采集是指对云端服务器的桌面画像帧进行获取,编码是指对采集得到的桌面画像帧进行编码,并将本机时间戳作为当前桌面画像帧的显示时间戳,得到编码文件发送至终端。然而,当采集编码的机器负载出现波动,或采集编码处理耗时不稳定时,编码出帧就会不稳定,并出现丢帧的现象,从而导致编码文件中图像帧的显示时间戳波动较大,在终端播放时,视频存在卡顿和跳帧的现象,导致程序运行流畅度较差。
技术实现思路
本申请实施例提供了一种视频编码方法、装置、设备及可读存储介质,能够提高采集编码出帧的稳定性。所述技术方案如下:一方面,提供了一种视频编码方法,所述方法包括:运行云应用程序,所述云应用程序为运行在云服务器中的应用程序,所述云服务器用于将所述云应用程序的运行画面发送至终端进行显示;在所述云应用程序的运行过程中,从缓存区中采集桌面图像帧和所述桌面图像帧的渲染时刻,所述桌面图像帧为当前刷新在桌面显示的图像帧;根据所述渲染时刻确定所述桌面图像帧的显示时间戳,对所述桌面图像帧进行编码。另一方面,提供了一种视频编码装置,所述装置包括:运行模块,用于运行云应用程序,所述云应用程序为运行在云服务器中的应用程序,所述云服务器用于将所述云应用程序的运行画面发送至终端进行显示;获取模块,用于在所述云应用程序的运行过程中,从缓存区中采集桌面图像帧和所述桌面图像帧的渲染时刻,所述桌面图像帧为当前刷新在桌面显示的图像帧;编码模块,用于根据所述渲染时刻确定所述桌面图像帧的显示时间戳,对所述桌面图像帧进行编码。另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述实施例中提供的视频编码方法。另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述实施例中提供的视频编码方法。另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的视频编码方法。本申请实施例提供的技术方案带来的有益效果至少包括:通过从缓存区中获取桌面图像帧及其对应的更新时刻,从而将更新时刻作为桌面图像帧在编码过程中的显示时间戳,由于更新时刻为桌面图像帧在GPU中渲染生成的时刻,从而与其在终端最终播放时的渲染时刻保持一致,避免由于编码时采用机器时间而导致的播放效果存在丢帧和跳帧的情况出现,提高了播放的准确率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本申请一个示例性实施例提供的视频编码方法的实施环境示意图;图2是本申请一个示例性实施例提供的视频编码方法的流程图;图3是基于图2示出的实施例提供的DXGI与硬件进行数据交换的结构示意图;图4是基于图2示出的实施例提供的显卡的缓存区缓存桌面图像帧并通过显示器显示的示意图;图5是本申请另一个示例性实施例提供的视频编码方法的流程图;图6是基于图5示出的实施例提供的从缓存区中获取桌面图像帧以及结构体信息的示意图;图7是本申请另一个示例性实施例提供的视频编码方法的流程图;图8是本申请一个示例性实施例提供的出帧延迟情况示意图;图9是本申请一个示例性实施例提供的视频编码装置的结构框图;图10是本申请另一个示例性实施例提供的视频编码装置的结构框图;图11是本申请一个示例性实施例提供的服务器的结构框图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。首先,对本申请实施例中涉及的名词进行简单介绍:云技术(Cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。云游戏:是指游戏本身运行在云端服务器设备中,将云端设备渲染后的游戏画面编码后,通过网络传输至用户终端,由用户终端对编码文件进行解码后渲染至显示屏进行显示的游戏,从而,用户无需在本地安装游戏,而仅需要建立与云端的通信网络连接便能完成游戏交互过程。也即,云游戏的组织架构中包括终端和云端服务器,其中,终端用于接收用户对游戏过程的控制操作,并将控制操作对应的控制指令发送至云端服务器,云端服务器用于对游戏进程进行控制,并将游戏过程中的视频流发送至终端进行播放。也即在云游戏的组织架构中,终端主要负责对游戏过程中的游戏视频进行播放,以及接收控制操作;云端服务器主要负责游戏过程中的运算以及视频生成。游戏软件安装在云端服务器中,而无需在终端中进行安装,终端在建立与云端服务器的通信连接后,即可控制云游戏在云端服务器中运行。可选地,上述云游戏也可以实现为其他在云端服务器中运行的应用程序,如:云直播应用程序、云视频应用程序等,本申请实施例对此不加以限定。桌面数据访问接口(DesktopDuplicationAPI,DDA):是Windows8之后微软提供的一套新的接口,通过桌面访问数据接口能够访问桌面数据,包括桌面显示图像帧、以及与图像帧相关的数据等。显示时间戳(PresentationTimeStamp,PTS):是用于指示播放器对图像帧进行播放的时间戳,也即,播放器根据显示时间戳依次连续播放图像帧,从而实现为播放视频。本文档来自技高网...

【技术保护点】
1.一种视频编码方法,其特征在于,所述方法包括:/n运行云应用程序,所述云应用程序为运行在云服务器中的应用程序,所述云服务器用于将所述云应用程序的运行画面发送至终端进行显示;/n在所述云应用程序的运行过程中,从缓存区中采集桌面图像帧和所述桌面图像帧的渲染时刻,所述桌面图像帧为当前刷新在桌面显示的图像帧,所述渲染时刻用于指示图形处理器对所述桌面图像帧进行渲染的时刻;/n根据所述渲染时刻确定所述桌面图像帧的显示时间戳,对所述桌面图像帧进行编码。/n

【技术特征摘要】
1.一种视频编码方法,其特征在于,所述方法包括:
运行云应用程序,所述云应用程序为运行在云服务器中的应用程序,所述云服务器用于将所述云应用程序的运行画面发送至终端进行显示;
在所述云应用程序的运行过程中,从缓存区中采集桌面图像帧和所述桌面图像帧的渲染时刻,所述桌面图像帧为当前刷新在桌面显示的图像帧,所述渲染时刻用于指示图形处理器对所述桌面图像帧进行渲染的时刻;
根据所述渲染时刻确定所述桌面图像帧的显示时间戳,对所述桌面图像帧进行编码。


2.根据权利要求1所述的方法,其特征在于,所述从所述缓存区中采集所述桌面图像帧的渲染时刻,包括:
从所述缓存区中采集所述桌面图像帧的结构体信息,所述结构体信息为所述桌面图像帧在渲染更新时同步更新的信息;
从所述结构体信息中获取所述渲染时刻。


3.根据权利要求2所述的方法,其特征在于,所述从所述结构体信息中获取所述渲染时刻,包括:
从所述结构体信息中确定查询高性能计数器对应的时刻数据;
从所述时刻数据中确定所述渲染时刻。


4.根据权利要求2所述的方法,其特征在于,所述从缓存区中采集桌面图像帧和所述桌面图像帧的渲染时刻,包括:
通过桌面访问接口从所述缓存区中获取桌面数据,所述桌面数据为与当前刷新在桌面显示的图像帧相关的数据;
从所述桌面数据中获取所述桌面图像帧以及所述结构体信息。


5.根据权利要求4所述的方法,其特征在于,所述通过桌面访问接口从所述缓存区中获取桌面数据之前,还包括:
将所述图形处理器渲染的所述桌面图像帧存储至所述缓存区中,并更新所述结构体信息;
根据刷新帧率向显示器发送所述缓存区中的桌面图像帧进行显示成像。


6.根据权利要求1至5任一所述的方法,其特征在于,
所述从缓存区中采集桌面图像帧和所述桌面图像帧的渲染时刻,与所述对所述桌面图像帧进行编码,在同一个线程中同步串行处理。


7.根据权利要求1至5任一所述的方法,其特征在于,所述从缓存区中采集桌面图像帧和所述桌面图像帧的渲染时刻,包括:
通过至少两个线程中的空闲线程,从所述缓存区中采集所述桌面图像帧和所述桌面图...

【专利技术属性】
技术研发人员:李志成
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1