一种视频处理的方法、相关装置及存储介质

文档序号:1820095 发布日期:2021-11-09 浏览:12次 >En<

阅读说明:本技术 一种视频处理的方法、相关装置及存储介质 (Video processing method, related device and storage medium ) 是由 魏雪 杨广东 杨卫 于 2020-05-08 设计创作,主要内容包括:本申请公开了一种视频处理的方法,该方法可应用于云技术下的数据传输领域,本申请实施例包括:获取原始视频序列,其中,原始视频序列包括经过渲染后得到的P个视频帧,P为大于或等于2的整数;根据原始视频序列获取目标视频序列,其中,目标视频序列包括经过渲染后得到的P个视频帧以及经过插帧处理后得到的Q个视频帧,Q为大于或等于1的整数;对目标视频序列进行编码处理,得到视频编码序列;向终端设备发送视频编码序列,以使终端设备对视频编码序列进行解码处理,得到待渲染的视频序列。本申请还提供了装置及存储介质,本申请可以节省服务器侧的处理资源,减少处理器的开销,有利于提升服务器的业务处理能力。(The application discloses a video processing method, which can be applied to the field of data transmission under the cloud technology, and the embodiment of the application comprises the following steps: acquiring an original video sequence, wherein the original video sequence comprises P video frames obtained after rendering, and P is an integer greater than or equal to 2; acquiring a target video sequence according to the original video sequence, wherein the target video sequence comprises P video frames obtained after rendering and Q video frames obtained after frame interpolation, and Q is an integer greater than or equal to 1; coding a target video sequence to obtain a video coding sequence; and sending the video coding sequence to the terminal equipment so that the terminal equipment decodes the video coding sequence to obtain a video sequence to be rendered. The application also provides a device and a storage medium, and the processing resources of the server side can be saved, the expense of the processor is reduced, and the service processing capability of the server is favorably improved.)

一种视频处理的方法、相关装置及存储介质

技术领域

本申请涉及基于云技术的行业应用领域,尤其涉及一种视频处理的方法、相关装置及 存储介质。

背景技术

云游戏是一种以云计算技术为基础的在线游戏技术。在云游戏的运行模式下,所有游 戏都在服务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户。用户使用 的终端设备不需要高端处理器和显卡,只需要基本的视频解压能力即可。

目前,基于云游戏的业务流程为,首先终端设备连接至云游戏服务器,然后通过数据 流和控制流实现用户与游戏之间的交互,其中,数据流主要包括游戏画面数据,即云游戏 服务器先对游戏画面进行编码,然后将编码后的游戏画面数据传输至终端设备,由终端设 备进行解码后呈现在界面上。

然而,在现有的业务流程中,云游戏服务器对需要对每帧游戏画面进行渲染,再基于 渲染后的视频帧进行编码,整个过程需要消耗较多的处理资源,造成处理器的开销过大, 降低云游戏服务器的业务处理能力。

发明内容

本申请实施例提供了一种视频处理的方法、相关装置及存储介质,可以节省服务器侧 的处理资源,减少处理器的开销,有利于提升服务器的业务处理能力。

有鉴于此,本申请一方面提供一种视频处理的方法,包括:

获取原始视频序列,其中,原始视频序列包括经过渲染后得到的P个视频帧,P为大于或等于2的整数;

根据原始视频序列获取目标视频序列,其中,目标视频序列包括经过渲染后得到的P 个视频帧以及经过插帧处理后得到的Q个视频帧,Q为大于或等于1的整数;

对目标视频序列进行编码处理,得到视频编码序列;

向终端设备发送视频编码序列,以使终端设备对视频编码序列进行解码处理,得到待 渲染的视频序列。

本申请另一方面提供一种视频处理的方法,包括:

接收服务器发送的视频编码序列;

对视频编码序列进行解码处理,得到待渲染的视频序列,其中,待渲染的视频序列包 括未经过渲染的X个视频帧,X为大于或等于2的整数;

根据待渲染的视频序列获取目标视频序列,其中,目标视频序列包括未经过渲染的X 个视频帧以及经过插帧处理后得到的Y个视频帧,Y为大于或等于1的整数;

对目标视频序列进行渲染处理,得到目标视频。

本申请另一方面提供一种视频处理的方法,包括:

服务器获取原始视频序列,其中,原始视频序列包括经过渲染后得到的P个视频帧,P为大于或等于2的整数;

服务器根据原始视频序列获取第一目标视频序列,其中,第一目标视频序列包括经过 渲染后得到的P个视频帧以及经过插帧处理后得到的Q个视频帧,Q为大于或等于1的整 数;

服务器对第一目标视频序列进行编码处理,得到视频编码序列;

服务器向终端设备发送视频编码序列;

终端设备对视频编码序列进行解码处理,得到待渲染的视频序列,其中,待渲染的视 频序列包括未经过渲染的(P+Q)个视频帧;

终端设备根据待渲染的视频序列获取第二目标视频序列,其中,第二目标视频序列包 括未经过渲染的(P+Q)个视频帧以及经过插帧处理后得到的Y个视频帧,Y为大于或等于 1的整数;

终端设备对第二目标视频序列进行渲染处理,得到目标视频。

本申请另一方面提供一种视频处理装置,包括:

获取模块,用于获取原始视频序列,其中,原始视频序列包括经过渲染后得到的P个 视频帧,P为大于或等于2的整数;

获取模块,还用于根据原始视频序列获取目标视频序列,其中,目标视频序列包括经 过渲染后得到的P个视频帧以及经过插帧处理后得到的Q个视频帧,Q为大于或等于1的整数;

编码模块,用于对目标视频序列进行编码处理,得到视频编码序列;

发送模块,用于向终端设备发送视频编码序列,以使终端设备对视频编码序列进行解 码处理,得到待渲染的视频序列。

在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,

获取模块,具体用于从原始视频序列中获取第一已渲染视频帧以及第二已渲染视频 帧,其中,第一已渲染视频帧为第二已渲染视频帧相邻的前一帧图像,且第一已渲染视频 帧以及第二已渲染视频帧均为经过渲染后得到的视频帧;

对第一已渲染视频帧以及第二已渲染视频帧进行插帧处理,得到目标视频帧,其中, 目标视频帧为第一已渲染视频帧相邻的后一帧图像,且目标视频帧为第二已渲染视频帧相 邻的前一帧图像;

根据第一已渲染视频帧、目标视频帧以及第二已渲染视频帧,生成目标视频序列中的 第一视频子序列,其中,第一视频子序列依次由第一已渲染视频帧、目标视频帧以及第二 已渲染视频帧组成。

在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,

获取模块,具体用于获取第一已渲染视频帧所对应的第一帧号;

获取第二已渲染视频帧所对应的第二帧号;

计算第一帧号以及第二帧号的平均值,得到目标帧号;

基于目标帧号,通过插帧预测模型获取目标视频帧所对应的K个像素信息,其中,K个像素信息用于确定目标视频帧,K为大于1的整数。

在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,

获取模块,具体用于从原始视频序列中获取第一已渲染视频帧以及第二已渲染视频 帧,其中,第一已渲染视频帧为第二已渲染视频帧相邻的前一帧图像,且第一已渲染视频 帧以及第二已渲染视频帧均为经过渲染后得到的视频帧;

对第一已渲染视频帧以及第二已渲染视频帧进行插帧处理,得到目标视频帧,其中, 目标视频帧为第二已渲染视频帧相邻的后一帧图像;

根据第一已渲染视频帧、目标视频帧以及第二已渲染视频帧,生成目标视频序列中的 第二视频子序列,其中,第二视频子序列依次由第一已渲染视频帧、第二已渲染视频帧以 及目标视频帧组成。

在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,

获取模块,具体用于获取第二已渲染视频帧所对应的第二帧号;

将第二帧号的下一个相邻帧号确定为第三帧号;

计算第二帧号以及第三帧号的平均值,得到目标帧号;

基于目标帧号,通过插帧预测模型获取目标视频帧所对应的K个像素信息,其中,K个像素信息用于确定目标视频帧,K为大于1的整数。

本申请另一方面提供一种视频处理装置,包括:

接收模块,用于接收服务器发送的视频编码序列;

解码模块,用于对视频编码序列进行解码处理,得到待渲染的视频序列,其中,待渲 染的视频序列包括未经过渲染的X个视频帧,X为大于或等于2的整数;

获取模块,用于根据待渲染的视频序列获取目标视频序列,其中,目标视频序列包括 未经过渲染的X个视频帧以及经过插帧处理后得到的Y个视频帧,Y为大于或等于1的整数;

渲染模块,用于对目标视频序列进行渲染处理,得到目标视频。

在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,

获取模块,具体用于从待渲染的视频序列中获取第一未渲染视频帧以及第二未渲染视 频帧,其中,第一未渲染视频帧为第二未渲染视频帧相邻的前一帧图像,且第一未渲染视 频帧以及第二未渲染视频帧均为未经过渲染后得到的视频帧;

对第一未渲染视频帧以及第二未渲染视频帧进行插帧处理,得到目标视频帧,其中, 目标视频帧为第一未渲染视频帧相邻的后一帧图像,且目标视频帧为第二未渲染视频帧相 邻的前一帧图像;

根据第一未渲染视频帧、目标视频帧以及第二未渲染视频帧,生成目标视频序列中的 第一视频子序列,其中,第一视频子序列依次由第一未渲染视频帧、目标视频帧以及第二 未渲染视频帧组成。

在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,

获取模块,具体用于获取第一未渲染视频帧所对应的第一帧号;

获取第二未渲染视频帧所对应的第二帧号;

计算第一帧号以及第二帧号的平均值,得到目标帧号;

基于目标帧号,通过插帧预测模型获取目标视频帧所对应的K个像素信息,其中,K个像素信息用于确定目标视频帧,K为大于1的整数。

在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,

获取模块,具体用于从待渲染的视频序列中获取第一未渲染视频帧以及第二未渲染视 频帧,其中,第一未渲染视频帧为第二未渲染视频帧相邻的前一帧图像,且第一未渲染视 频帧以及第二未渲染视频帧均为未经过渲染后得到的视频帧;

对第一未渲染视频帧以及第二未渲染视频帧进行插帧处理,得到目标视频帧,其中, 目标视频帧为第二未渲染视频帧相邻的后一帧图像;

根据第一未渲染视频帧、目标视频帧以及第二未渲染视频帧,生成目标视频序列中的 第二视频子序列,其中,第二视频子序列依次由第一未渲染视频帧、第二未渲染视频帧以 及目标视频帧组成。

在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,

获取模块,具体用于获取第二未渲染视频帧所对应的第二帧号;

将第二帧号的下一个相邻帧号确定为第三帧号;

计算第二帧号以及第三帧号的平均值,得到目标帧号;

基于目标帧号,通过插帧预测模型获取目标视频帧所对应的K个像素信息,其中,K个像素信息用于确定目标视频帧,K为大于1的整数。

本申请另一方面提供一种计算机设备,该计算机设备具体为服务器,该服务器包括: 存储器、收发器、处理器以及总线系统;

其中,存储器用于存储程序;

处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面 的方法;

总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。

本申请另一方面提供一种计算机设备,该计算机设备具体为终端设备,该终端设备包 括:存储器、收发器、处理器以及总线系统;

其中,存储器用于存储程序;

处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面 的方法;

总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。

本申请另一方面提供一种视频处理系统,视频处理系统包括服务器以及终端设备;

服务器,用于获取原始视频序列,其中,原始视频序列包括经过渲染后得到的P个视 频帧,P为大于或等于2的整数;

服务器,还用于根据原始视频序列获取第一目标视频序列,其中,第一目标视频序列 包括经过渲染后得到的P个视频帧以及经过插帧处理后得到的Q个视频帧,Q为大于或等于1的整数;

服务器,还用于对第一目标视频序列进行编码处理,得到视频编码序列;

服务器,还用于向终端设备发送视频编码序列;

终端设备,用于对视频编码序列进行解码处理,得到待渲染的视频序列,其中,待渲 染的视频序列包括未经过渲染的(P+Q)个视频帧;

终端设备,还用于根据待渲染的视频序列获取第二目标视频序列,其中,第二目标视 频序列包括未经过渲染的(P+Q)个视频帧以及经过插帧处理后得到的Y个视频帧,Y为大于或等于1的整数;

终端设备,还用于对第二目标视频序列进行渲染处理,得到目标视频。

本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指 令,当其在计算机上运行时,使得计算机执行上述各方面的方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例中,提供了一种视频处理的方法,服务器先获取原始视频序列,该原始 视频序列包括经过渲染后得到的P个视频帧,然后根据原始视频序列获取目标视频序列, 目标视频序列还包括经过插帧处理后得到的Q个视频帧,然后服务器对目标视频序列进行 编码处理,得到视频编码序列,最后服务器向终端设备发送视频编码序列,以使终端设备 对视频编码序列进行解码处理,得到待渲染的视频序列。通过上述方式,服务器只需要对 部分视频帧进行渲染,再基于渲染后的视频帧进行插帧处理,由此得到目标视频序列,而 插帧处理所消耗的资源少于渲染所需的资源,因此,可以节省服务器侧的处理资源,减少 处理器的开销,有利于提升服务器的业务处理能力。

附图说明

图1为本申请实施例中视频处理系统的一个架构示意图;

图2为本申请实施例中视频处理系统的一个云架构示意图;

图3为本申请实施例中视频处理系统的一个云游戏架构示意图;

图4为本申请实施例中视频处理方法的一个实施例示意图;

图5为本申请实施例中基于服务器实现内插帧处理的一个实施例示意图;

图6为本申请实施例中内插帧模式下生成目标视频帧的一个示意图;

图7为本申请实施例中训练插帧预测模型的一个实施例示意图;

图8为本申请实施例中验证插帧预测模型的一个实施例示意图;

图9为本申请实施例中基于服务器实现外插帧处理的一个实施例示意图;

图10为本申请实施例中外插帧模式下生成目标视频帧的一个示意图;

图11为本申请实施例中视频处理方法的另一个实施例示意图;

图12为本申请实施例中基于终端设备实现内插帧处理的一个实施例示意图;

图13为本申请实施例中基于终端设备实现外插帧处理的一个实施例示意图;

图14为本申请实施例中视频处理方法的一个交互流程示意图;

图15为本申请实施例中基于视频处理系统实现内插帧处理的一个实施例示意图;

图16为本申请实施例中基于视频处理系统实现外插帧处理的一个实施例示意图;

图17为本申请实施例中基于视频处理系统实现内外插帧处理的一个实施例示意图;

图18为本申请实施例中基于视频处理系统实现内外插帧处理的另一个实施例示意图;

图19为本申请实施例中视频处理装置的一个实施例示意图;

图20为本申请实施例中视频处理装置的另一个实施例示意图;

图21为本申请实施例中服务器的一个结构示意图;

图22为本申请实施例中终端设备的一个结构示意图;

图23为本申请实施例中视频处理系统的一个结构示意图。

具体实施方式

本申请实施例提供了一种视频处理的方法、相关装置及存储介质,可以节省服务器侧 的处理资源,减少处理器的开销,有利于提升服务器的业务处理能力。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四” 等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理 解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除 了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应理解,本申请提供的视频处理方法适用于远程网络下的业务场景以及云技术下的业 务场景,其中,云技术下的业务场景包含但不仅限于云游戏业务或者云视频业务等。以云 游戏业务为例,本申请利用动态插帧的技术,在玩家体验每秒60帧(frame)游戏画面的 需求下,云游戏服务器上只需要每秒运行30帧游戏画面即可,由此节省处理器的开销。以云视频业务为例,本申请利用动态插帧的技术,在观众体验每秒24帧动画的需求下, 云视频服务器上只需要每秒运行12帧动画即可,由此节省处理器的开销。

为了便于理解,本申请提出了一种视频处理的方法,该方法可应用于图1所示的视频 处理系统,请参阅图1,图1为本申请实施例中视频处理系统的一个架构示意图,如图所示,一台服务器可以为多台终端设备提供业务,例如,服务器1可以与M台终端设备建立 通信连接,服务器2可以与N台终端建立通信连接,M和N的取值视服务器的处理能力而 定,通常情况下,N和M可以取值100。

可以理解的是,图1所示的服务器可以是独立的物理服务器,也可以是多个物理服务 器构成的服务器集群或者分布式系统,此处不做限定。

为了便于理解,本申请提出了一种视频处理的方法,该方法还可应用于图2所示的视 频处理系统,请参阅图2,图2为本申请实施例中视频处理系统的一个云架构示意图,如图所示,多台云服务器共同构成一个云服务器集群,一个云服务器集群可以为多台终端设备提供业务,例如,云服务器集群包括4台云服务器,该云服务器集群可以与M台终端设 备建立通信连接。

可以理解的是,图2所示的云服务器可以是提供云服务、云数据库、云计算、云函数、 云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器。图1和图2所示的终端设备可以是智能手机、平板电脑、电视以及网络机顶盒(Over The Top,OTT)、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备上 部署有客户端,例如,视频客户端或者游戏客户端等。终端设备以及服务器可以通过有线 或无线通信方式进行直接或间接地连接,本申请在此不做限制。

基于此,在图2所示的架构中采用了云技术(cloud technology)以实现业务通信,其中,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数 据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技 术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所 用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、 存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和 应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理, 不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过 云计算来实现。

下面将以应用于云游戏业务场景为例进行介绍,请参阅图3,图3为本申请实施例中 视频处理系统的一个云游戏架构示意图,如图所示,当终端设备和云游戏服务器交互时会 存在控制流传输和数据流传输,控制流主要负责发送控制信号,当用户通过输入设备(例 如键盘、鼠标或者摇杆)触发操作时,信号会被编码到发送列表中,通过网络传输至云游 戏服务器。同时,云游戏服务器需要向终端设备传输数据流,数据流包括音频数据流和视 频数据流,终端设备再将数据流进行反解码,然后呈现在屏幕上。

云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是 在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩 家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流 媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。与传统游戏模式相 比,云游戏能在很大程度上减小玩家游玩游戏的设备成本。对于许多需要长期更新的高品 质游戏而言,云游戏也能减少游戏商发行与更新维护游戏的成本。

在保证玩家游戏体验上,游戏场景渲染的多媒体流质量取决于网络通信带宽,与传统 网络游戏相比云游戏的多媒体流需要消耗更多带宽,并且画质越高的多媒体流,其消耗的 带宽资源也会越高。本申请提供的视频处理方法,不但能够减少云服务器侧的资源开销, 而且还可以减少视频帧的传输量,从而在保证游戏画面质量的情况下,节省网络带宽。以 大型多人在线(Massive Multiplayer Online,MMO)游戏为例,一个GPU的消耗是36%,采用本申请提供的方法后,GPU的消耗为20%,在传统模式下,一个GPU上最多运行3个 游戏进程,采用本申请提供的方法后,一个GPU上可运行5个游戏进程。

结合上述介绍,下面将从服务器的角度,对本申请中视频处理的方法进行介绍,请参 阅图4,本申请实施例中视频处理方法的一个实施例包括:

101、服务器获取原始视频序列,其中,原始视频序列包括经过渲染后得到的P个视频帧,P为大于或等于2的整数;

本实施例中,由服务器获取连续P帧画面,即获取到P个视频帧,这P个视频帧可构成原始视频序列。其中,视频帧可以指经过渲染后的视频画面,也可以指经过渲染后的游戏画面,还可以指经过渲染的其他类型画面。需要说明的是,本申请涉及的服务器可以是本地服务器(例如,游戏服务器或者视频服务器等),也可以是云服务器(例如云游戏服 务器或者云视频服务器),为了便于介绍,本申请将以服务器为应用于云游戏业务中的云 游戏服务器为例进行介绍,然而这不应理解为对本申请的限定。

画面渲染需要通过程序对绘制的图形的几何和顶点等信息进行运算,然后得到的图 像。在这个过程中计算机的处理器需要进行大量运算。在实际应用中,中央处理器(Central Processing Units,CPU)和图形处理器(Graphics Processing Unit,GPU)都可以进行 渲染任务。由于对画面分辨率和质量的要求越来越高,CPU的单精度浮点性能难以满足复 杂画面的渲染需求,因此,可以由GPU接管大部分的图形渲染工作,而CPU需要通过一些 指令调度GPU进行渲染。

102、服务器根据原始视频序列获取目标视频序列,其中,目标视频序列包括经过渲 染后得到的P个视频帧以及经过插帧处理后得到的Q个视频帧,Q为大于或等于1的整数;

本实施例中,服务器对原始视频序列中的P个视频帧进行插帧处理,可以对相邻两个 视频帧进行插帧处理,例如,对1号视频帧和2号视频帧进行插帧处理,再对2号视频帧和3号视频帧进行插帧处理,以此类推。也可以对相关两个视频帧进行插帧处理,例如, 对1号视频帧和2号视频帧进行插帧处理,再对3号视频帧和4号视频帧进行插帧处理, 以此类推。还可以采用间隔视频帧进行插帧处理,例如,对1号视频帧和2号视频帧进行 插帧处理,再对5号视频帧和6号视频帧进行插帧处理。基于原始视频序列生成插帧后得 到的Q个视频帧,这Q个视频帧和P个视频帧共同构成目标视频序列。

可以理解的是,插入一帧图像所消耗的资源少于渲染一帧图像所消耗的资源。插帧的 方式包含但不仅限于帧采样,帧混合,运动补偿以及光流法。其中,帧采样是指使用拉长 每个关键帧的显示时间,相当于插入了相同的若干个相同的关键帧。帧混合是指插入一帧 后提升前后关键帧的透明度,在合成新的一帧。运动补偿是指对物体的运动进行识别,然 后再进行补偿插帧。光流法是指同一个像素点的灰度值(或亮度值)在前后帧中恒定的情 况下,找到像素点在前后帧的运动轨迹,再基于该运动轨迹进行预测插帧处理。

103、服务器对目标视频序列进行编码处理,得到视频编码序列;

本实施例中,服务器采用编码算法对目标视频序列进行编码处理,从而生成视频编码 序列。编码过程可以运行于服务器的CPU上,也可以运行于GPU上,还可以运行于其他编 码硬件上,例如,GPU内的编码芯片或者独立于GPU之外的专用编码芯片。编码算法可采用H264、H265、VP8或VP9等,此处不做限定。

在云游戏的场景中,由于云游戏通常为低时延业务,因此,在编码过程中不会采用后 向编码参考帧或者双向编码参考帧。这是因为,如果考虑后向编码参考帧或者双向编码参 考帧(即B帧),则终端设备在收到当前视频帧时,还需要等待下一个视频帧的到来才能实现对当前视频帧的解码,从而造成一帧的延迟,基于此,在本申请中,服务器的编码主 要采用前向编码参考帧(即P帧)以及关键帧(即I帧),而不使用双向编码参考帧(即B 帧)。视频编码序列中包括至少一个图像组(Group of Pictures,GOP),GOP是由一个I 帧和多个B帧(或P帧)组成,也是编码器和解码器存取的基本单位。其中,I帧是指携 带全部信息的独立帧,无需参考其他视频帧便可进行独立解码。P帧需要参考前面的I帧 才能进行编码。B帧记录本视频帧与前后两个视频帧之间的差别。

104、服务器向终端设备发送视频编码序列,以使终端设备对视频编码序列进行解码 处理,得到待渲染的视频序列。

本实施例中,服务器向终端设备发送视频编码序列,于是终端设备可以对视频编码序 列进行解码,从而得到待渲染的视频序列,最后对待渲染的视频序列进行渲染处理,即可 生成目标视频,并在终端设备的屏幕上展示该目标视频。解码过程可以运行于终端设备的 CPU上,也可以运行于GPU上,还可以运行于其他解码硬件上,例如,GPU内的解码芯片或者独立于GPU之外的专用解码芯片。解码得到一个视频帧之后,即可通过终端设备侧的CPU或者GPU读取该视频帧,并进行渲染后显示于界面。

本申请实施例中,提供了一种视频处理的方法,服务器先获取原始视频序列,该原始 视频序列包括经过渲染后得到的P个视频帧,然后根据原始视频序列获取目标视频序列, 目标视频序列还包括经过插帧处理后得到的Q个视频帧,然后服务器对目标视频序列进行 编码处理,得到视频编码序列,最后服务器向终端设备发送视频编码序列,以使终端设备 对视频编码序列进行解码处理,得到待渲染的视频序列。通过上述方式,服务器只需要对 部分视频帧进行渲染,再基于渲染后的视频帧进行插帧处理,由此得到目标视频序列,而 插帧处理所消耗的资源少于渲染所需的资源,因此,可以节省服务器侧的处理资源,减少 处理器的开销,有利于提升服务器的业务处理能力。

可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的视频处理方法 另一个可选实施例中,服务器根据原始视频序列获取目标视频序列,可以包括:

服务器从原始视频序列中获取第一已渲染视频帧以及第二已渲染视频帧,其中,第一 已渲染视频帧为第二已渲染视频帧相邻的前一帧图像,且第一已渲染视频帧以及第二已渲 染视频帧均为经过渲染后得到的视频帧;

服务器对第一已渲染视频帧以及第二已渲染视频帧进行插帧处理,得到目标视频帧, 其中,目标视频帧为第一已渲染视频帧相邻的后一帧图像,且目标视频帧为第二已渲染视 频帧相邻的前一帧图像;

服务器根据第一已渲染视频帧、目标视频帧以及第二已渲染视频帧,生成目标视频序 列中的第一视频子序列,其中,第一视频子序列依次由第一已渲染视频帧、目标视频帧以 及第二已渲染视频帧组成。

本实施例中,介绍了一种基于内插帧获取目标视频序列的方式,需要说明的是,由于 原始视频序列中可能包括大量的已渲染视频帧,为了便于说明,下面将以任意两个相邻的 已渲染视频帧为例介绍,在实际应用中,对其他相邻两帧的处理方式类似,此处不做赘述。

具体地,首先服务器从原始视频序列中获取相邻的两个视频帧,即第一已渲染视频帧 以及第二已渲染视频帧,然后基于这两个已渲染视频帧生成新的一个视频帧,即生成目标 视频帧,其中,目标视频帧是位于第一已渲染视频帧和第二已渲染视频帧之间的一帧,相 当于额外插入了一帧图像。按照第一已渲染视频帧、目标视频帧以及第二已渲染视频帧的 顺序,生成目标视频序列中的第一视频子序列,在实际应用中,采用类似地方式生成一系 列视频子序列,最终生成目标视频序列。

为了便于理解,请参阅图5,图5为本申请实施例中基于服务器实现内插帧处理的一 个实施例示意图,如图所示,以云游戏场景为例,云游戏服务器捕获经过渲染的第n帧游戏画面以及第n+1帧游戏画面,对第n帧游戏画面以及第n+1帧游戏画面进行内插帧处理,得到额外的一帧游戏画面,即第n+0.5帧游戏画面。类似地,云游戏服务器继续获取第n+2帧游戏画面,对第n+1帧游戏画面以及第n+2帧游戏画面进行内插帧处理,得到额外的一 帧游戏画面,即第n+1.5帧游戏画面。以此类推,由第n帧、第n+0.5帧、第n+1帧、第 n+1.5帧以及第n+2帧等游戏画面共同构成目标视频序列,再对目标视频序列进行编码, 得到视频编码序列。云游戏服务器通过网络将视频编码序列传输至终端设备,于是,终端 设备对视频编码序列进行解码处理,得到待渲染视频序列,最后经过渲染显示于终端设备 的界面。

基于上述介绍,请参阅图6,图6为本申请实施例中内插帧模式下生成目标视频帧的 一个示意图,如图所示,假设第一已渲染视频帧为第n帧,第二已渲染视频帧为第n+1帧,经过内插帧处理后生成目标视频帧,其中,目标视频帧为第n+0.5帧。由此可见,假设服 务器渲染30帧画面,则实际编码的画面可以为60帧,输出至终端设备的画面也为60帧, 因此,对于终端设备而言,解码的画面数量为60帧。内插帧的图像效果较好,适用于对 时延要求不高,而对画质要求较高的业务,例如,非实时对战类游戏等。

其次,本申请实施例中,提供了一种基于内插帧获取目标视频序列的方式,通过上述 方式,利用内插帧得到的目标视频序列具有更好的图像效果,但由于云业务场景会产生一 帧时延,因此,更适用于对时延要求不高,但是对画面质量要求较高的业务。从而在节省服务器侧处理器开销的同时,还可以提升画面质量。

可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的视频处理方法 另一个可选实施例中,服务器对第一已渲染视频帧以及第二已渲染视频帧进行插帧处理, 得到目标视频帧,可以包括:

服务器获取第一已渲染视频帧所对应的第一帧号;

服务器获取第二已渲染视频帧所对应的第二帧号;

服务器计算第一帧号以及第二帧号的平均值,得到目标帧号;

服务器基于目标帧号,通过插帧预测模型获取目标视频帧所对应的K个像素信息,其 中,K个像素信息用于确定目标视频帧,K为大于1的整数。

本实施例中,介绍了一种基于插帧预测模型进行内插帧的方式,需要说明的是,由于 原始视频序列中可能包括大量的已渲染视频帧,为了便于说明,下面将以任意两个相邻的 已渲染视频帧为例介绍,在实际应用中,对其他相邻两帧的处理方式类似,此处不做赘述。

具体地,每个已渲染视频帧对应于一个帧号,其中,第一已渲染视频帧的帧号为第一 帧号,第二已渲染视频帧的帧号为第二帧号,假设第一帧号为n,第二帧号为n+1,则目标帧号的计算方式如下:

U=[n+(n+1)]/2;

其中,U表示目标帧号,即为n+0.5。

将目标帧号输入至已训练好的插帧预测模型中,通过插帧预测模型输出K个像素信息, K表示一个视频帧所包括的像素总个数,在得到K个像素所对应的像素信息时,即获取到 目标视频帧。像素信息可以表示为亮度带宽色度(Luminance-Bandwidth-Chrominance, YUV)形式,或者可以表示为红绿蓝(red green blue,RGB)形式。

下面将介绍训练插帧预测模型的方式,以云游戏场景为例,通常情况下,可以为每个 游戏训练一个对应插帧预测模型,也可以为多个游戏训练同一个插帧预测模型,此处不做 限定。首先需要获取待训练视频,该待训练视频包括多帧训练图像,在训练的过程中,可以从待训练视频中抽取第m帧训练图像至第r帧训练图像,其中,0<m<r,在不同的插 帧预测模型中,m可取不同的值。将第m帧训练图像至第r帧训练图像作为已知图像帧序 列,再分别提取已知图像帧序列中每帧训练图像的像素信息。利用已知图像帧序列中每帧 训练图像的像素信息,可以训练得到插帧预测模型。

本申请采用如下方式表示插帧预测模型:

f(t,pos)≈frame(t,pos)

其中,t表示帧号,即t的取值范围为大于或等于m,且小于或等于r的数值。pos表示视频帧所对应的坐标点(x,y)。frame(t,pos)表示在t个视频帧中pos对应坐标点的像素信息,该像素信息可以表示为RGB形式,也可以表示为YUV形式,还可以表示为其他形式, 此处不做穷举。插帧预测模型f(t,pos)可以为一次拟合函数,或者多次拟合函数,还可以采 用神经网络或深度学习方法确定的函数关系。

为了便于理解,请参阅图7,图7为本申请实施例中训练插帧预测模型的一个实施例 示意图,如图所示,若需要训练内插帧时使用的插帧预测模型,则可以将第m帧训练图像和第m+2帧训练图像输入至待训练的插帧预测模型,由插帧预测模型输出目标图像,其中,该目标图像可以是预测出的第m+1帧训练图像。以此类推,直至对已知图像帧序列中各个训练图像均进行类似处理。

若需要训练外插帧时使用的插帧预测模型,则可以将第m帧训练图像和第m+1帧训练 图像输入至待训练的插帧预测模型,由插帧预测模型输出目标图像,其中,该目标图像可 以是预测出的第m+2帧训练图像。以此类推,直至对已知图像帧序列中各个训练图像均进 行类似处理。

在预测得到多个目标图像后,还需评估插帧预测模型的质量,一种可行的评估方式为, 采用如下损失函数进行计算:

L=∑(f(t,pos)-frame(t,pos))2

其中,L表示损失值。

为了便于说明,请参阅图8,图8为本申请实施例中验证插帧预测模型的一个实施例 示意图,如图所示,以每秒传输帧数(frames Per Second,FPS)为60的已知图像帧序 列为例,将所有奇数帧所对应的预测图像作为插帧预测模型的输入,通过插帧预测模型后 输出偶数帧所对应的目标图像。将偶数帧所对应的目标图像与已知图像帧序列中的预测图像进行比较。例如,将第1帧预测图像和第3帧预测图像输入至插帧预测模型,由插帧预 测模型输出目标图像,将目标图像上各个像素点的像素信息与第2帧预测图像各个像素点 的像素信息进行比对,如果两者差距小于阈值,则表示插帧预测模型已训练完成。

再次,本申请实施例中,提供了一种基于插帧预测模型进行内插帧的方式,通过上述 方式,利用训练好的插帧预测模型能够预测出目标视频帧中的每个像素信息,再由这些像 素信息重构出目标视频帧,从而实现对视频帧内插一帧的过程,由此提升方案的可行性和 可操作性。

可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的视频处理方法 另一个可选实施例中,服务器根据原始视频序列获取目标视频序列,可以包括:

服务器从原始视频序列中获取第一已渲染视频帧以及第二已渲染视频帧,其中,第一 已渲染视频帧为第二已渲染视频帧相邻的前一帧图像,且第一已渲染视频帧以及第二已渲 染视频帧均为经过渲染后得到的视频帧;

服务器对第一已渲染视频帧以及第二已渲染视频帧进行插帧处理,得到目标视频帧, 其中,目标视频帧为第二已渲染视频帧相邻的后一帧图像;

服务器根据第一已渲染视频帧、目标视频帧以及第二已渲染视频帧,生成目标视频序 列中的第二视频子序列,其中,第二视频子序列依次由第一已渲染视频帧、第二已渲染视 频帧以及目标视频帧组成。

本实施例中,介绍了一种基于外插帧获取目标视频序列的方式,需要说明的是,由于 原始视频序列中可能包括大量的已渲染视频帧,为了便于说明,下面将以任意两个相邻的 已渲染视频帧为例介绍,在实际应用中,对其他相邻两帧的处理方式类似,此处不做赘述。

具体地,首先服务器从原始视频序列中获取相邻的两个视频帧,即第一已渲染视频帧 以及第二已渲染视频帧,然后基于这两个已渲染视频帧生成新的一个视频帧,即生成目标 视频帧,其中,目标视频帧是位于第二已渲染视频帧与下一帧已渲染视频帧之间的一帧, 相当于额外插入了一帧图像。按照第一已渲染视频帧、第二已渲染视频帧以及目标视频帧 的顺序,生成目标视频序列中的第二视频子序列,在实际应用中,采用类似地方式生成一 系列视频子序列,最终生成目标视频序列。

为了便于理解,请参阅图9,图9为本申请实施例中基于服务器实现外插帧处理的一 个实施例示意图,如图所示,以云游戏场景为例,云游戏服务器捕获经过渲染的第n帧游戏画面以及第n+1帧游戏画面,对第n帧游戏画面以及第n+1帧游戏画面进行外插帧处理,得到额外的一帧游戏画面,即第n+1.5帧游戏画面。类似地,云游戏服务器继续获取第n+2帧游戏画面,对第n+1帧游戏画面以及第n+2帧游戏画面进行外插帧处理,得到额外的一 帧游戏画面,即第n+2.5帧游戏画面。以此类推,由第n帧、第n+1帧、第n+1.5帧、第 n+2帧以及第n+2.5帧等游戏画面共同构成目标视频序列,再对目标视频序列进行编码, 得到视频编码序列。云游戏服务器通过网络将视频编码序列传输至终端设备,由终端设备 对视频编码序列进行解码处理,得到待渲染视频序列,最后经过渲染显示于终端设备的界 面。

基于上述介绍,请参阅图10,图10为本申请实施例中外插帧模式下生成目标视频帧 的一个示意图,如图所示,假设第一已渲染视频帧为第n帧,第二已渲染视频帧为第n+1帧,经过外插帧处理后生成目标视频帧,其中,目标视频帧为第n+1.5帧。由此可见,假 设服务器渲染30帧画面,则实际编码的画面可以为60帧,输出至终端设备的画面也为60 帧,因此,对于终端设备而言,解码的画面数量为60帧。外插帧通常不会产生额外的时 延,适用于对时延要求较高的业务,例如,实时对战类游戏等。

其次,本申请实施例中,提供了一种基于外插帧获取目标视频序列的方式,利用外插 帧得到的目标视频序列通常不会产生额外的时延,因此,更适用于对时延要求较高,但是 对画面质量要求不高的业务。从而在节省服务器侧处理器开销的同时,还可以避免因时延 造成画面延迟的现象。

可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的视频处理方法 另一个可选实施例中,服务器对第一已渲染视频帧以及第二已渲染视频帧进行插帧处理, 得到目标视频帧,可以包括:

服务器获取第二已渲染视频帧所对应的第二帧号;

服务器将第二帧号的下一个相邻帧号确定为第三帧号;

服务器计算第二帧号以及第三帧号的平均值,得到目标帧号;

服务器基于目标帧号,通过插帧预测模型获取目标视频帧所对应的K个像素信息,其 中,K个像素信息用于确定目标视频帧,K为大于1的整数。

本实施例中,介绍了一种基于插帧预测模型进行外插帧的方式,需要说明的是,由于 原始视频序列中可能包括大量的已渲染视频帧,为了便于说明,下面将以任意两个相邻的 已渲染视频帧为例介绍,在实际应用中,对其他相邻两帧的处理方式类似,此处不做赘述。

具体地,每个已渲染视频帧对应于一个帧号,其中,第一已渲染视频帧的帧号为第一 帧号,第二已渲染视频帧的帧号为第二帧号,假设第二帧号为n+1,第三帧号为n+2,则目标帧号的计算方式如下:

U=[n+1+(n+2)]/2;

其中,U表示目标帧号,即为n+1.5。

将目标帧号输入至已训练好的插帧预测模型中,通过插帧预测模型输出K个像素信息, K表示一个视频帧所包括的像素总个数,在得到K个像素所对应的像素信息时,即获取到 目标视频帧。像素信息可以表示为YUV形式,或者可以表示为RGB形式。

需要说明的是,插帧预测模型的训练方式已在上述实施例中介绍,故此处不做赘述。

再次,本申请实施例中,提供了一种基于插帧预测模型进行外插帧的方式,通过上述 方式,利用训练好的插帧预测模型能够预测出目标视频帧中的每个像素信息,再由这些像 素信息重构出目标视频帧,从而实现对视频帧外插一帧的过程,由此提升方案的可行性和 可操作性。

结合上述介绍,下面将从终端设备的角度,对本申请中视频处理的方法进行介绍,请 参阅图11,本申请实施例中视频处理方法的另一个实施例包括:

201、终端设备接收服务器发送的视频编码序列;

本实施例中,由服务器获取连续的P个视频帧,这P个视频帧可构成原始视频序列。其中,视频帧可以指经过渲染后的视频画面,也可以指经过渲染后的游戏画面,还可以指经过渲染的其他类型画面。需要说明的是,本申请涉及的服务器可以是本地服务器(例如,游戏服务器或者视频服务器等),也可以是云服务器(例如云游戏服务器或者云视频服务器),为了便于介绍,本申请将以服务器为应用于云游戏业务中的云游戏服务器为例进行介绍,然而这不应理解为对本申请的限定。

服务器采用编码算法对原始视频序列进行编码处理,从而生成视频编码序列。编码过 程可以运行于服务器的CPU上,也可以运行于GPU上,还可以运行于其他编码硬件上,例 如,GPU内的编码芯片或者独立于GPU之外的专用编码芯片。编码算法可采用H264、H265、VP8或VP9等,此处不做限定。

202、终端设备对视频编码序列进行解码处理,得到待渲染的视频序列,其中,待渲染的视频序列包括未经过渲染的X个视频帧,X为大于或等于2的整数;

本实施例中,服务器向终端设备发送视频编码序列,视频编码序列包括至少两个视频 帧。于是终端设备可以对视频编码序列进行解码,从而得到待渲染的视频序列,待渲染的 视频序列包括未经过渲染的X个视频帧,且待渲染视频序列中包括的视频帧数量与视频编 码序列中包括的视频帧数量相同。

203、终端设备根据待渲染的视频序列获取目标视频序列,其中,目标视频序列包括 未经过渲染的X个视频帧以及经过插帧处理后得到的Y个视频帧,Y为大于或等于1的整数;

本实施例中,终端设备对待渲染的视频序列中的X个视频帧进行插帧处理,可以对相 邻两个视频帧进行插帧处理,例如,对1号视频帧和2号视频帧进行插帧处理,再对2号视频帧和3号视频帧进行插帧处理,以此类推。也可以对相关两个视频帧进行插帧处理, 例如,对1号视频帧和2号视频帧进行插帧处理,再对3号视频帧和4号视频帧进行插帧 处理,以此类推。还可以采用间隔视频帧进行插帧处理,例如,对1号视频帧和2号视频 帧进行插帧处理,再对5号视频帧和6号视频帧进行插帧处理。基于待渲染的视频序列生 成插帧后得到的Y个视频帧,这X个视频帧和Y个视频帧共同构成目标视频序列。

可以理解的是,插入一帧图像所消耗的资源少于渲染一帧图像所消耗的资源。插帧的 方式包含但不仅限于帧采样,帧混合,运动补偿以及光流法,此处不做赘述。

204、终端设备对目标视频序列进行渲染处理,得到目标视频。

本实施例中,终端设备对目标视频序列进行渲染处理,即可生成目标视频,并在终端 设备的屏幕上展示该目标视频。解码过程可以运行于终端设备的CPU上,也可以运行于GPU 上,还可以运行于其他解码硬件上,例如,GPU内的解码芯片或者独立于GPU之外的专用解码芯片。解码得到一个视频帧之后,即可通过终端设备侧的CPU或者GPU读取该视频帧,并进行渲染后显示于界面。

下面将以一个场景为例,假设服务器生成30帧图像,对应的码率为10兆比特每秒(million bits per second,Mbps),终端设备经过插帧后可实现60帧图像的效果。又 假设服务器生成60帧图像,对应的码率为20Mbps,终端设备在不插帧的情况下,也能实 现60帧图像的效果。因此,在终端设备插帧的方式能够节省传输带宽。

本申请实施例中,提供了一种视频处理的方法,终端设备先接收服务器发送的视频编 码序列,然后对视频编码序列进行解码处理,得到待渲染的视频序列,再根据待渲染的视 频序列获取目标视频序列,最后对目标视频序列进行渲染处理,得到目标视频。通过上述 方式,服务器只需要对较少的视频帧进行渲染,再传输至终端设备,由终端设备以插帧的 方式生成目标视频序列,并渲染出目标视频,因此,整个过程对应服务器而言,能够节省 其处理资源以及编码开销,有利于提升服务器的业务处理能力。整个过程对于客户端而言, 节省了传输带宽。

可选地,在上述图11对应的各个实施例的基础上,本申请实施例提供的视频处理方 法另一个可选实施例中,终端设备根据待渲染的视频序列获取目标视频序列,可以包括:

终端设备从待渲染的视频序列中获取第一未渲染视频帧以及第二未渲染视频帧,其 中,第一未渲染视频帧为第二未渲染视频帧相邻的前一帧图像,且第一未渲染视频帧以及 第二未渲染视频帧均为未经过渲染后得到的视频帧;

终端设备对第一未渲染视频帧以及第二未渲染视频帧进行插帧处理,得到目标视频 帧,其中,目标视频帧为第一未渲染视频帧相邻的后一帧图像,且目标视频帧为第二未渲 染视频帧相邻的前一帧图像;

终端设备根据第一未渲染视频帧、目标视频帧以及第二未渲染视频帧,生成目标视频 序列中的第一视频子序列,其中,第一视频子序列依次由第一未渲染视频帧、目标视频帧 以及第二未渲染视频帧组成。

本实施例中,介绍了一种基于内插帧获取目标视频序列的方式,需要说明的是,由于 待渲染的视频序列中可能包括大量的未渲染视频帧,为了便于说明,下面将以任意两个相 邻的未渲染视频帧为例介绍,在实际应用中,对其他相邻两帧的处理方式类似,此处不做 赘述。

具体地,首先终端设备从待渲染的视频序列中获取相邻的两个视频帧,即第一未渲染 视频帧以及第二未渲染视频帧,然后基于这两个未渲染视频帧生成新的一个视频帧,即生 成目标视频帧,其中,目标视频帧是位于第一未渲染视频帧和第二未渲染视频帧之间的一 帧,相当于额外插入了一帧图像。按照第一未渲染视频帧、目标视频帧以及第二未渲染视 频帧的顺序,生成目标视频序列中的第一视频子序列,在实际应用中,采用类似地方式生 成一系列视频子序列,最终生成目标视频序列。

为了便于理解,请参阅图12,图12为本申请实施例中基于终端设备实现内插帧处理 的一个实施例示意图,如图所示,以云游戏场景为例,云游戏服务器捕获经过渲染的一帧 游戏画面,在获取到多帧渲染后的游戏画面时,即得到原始视频序列,再对原始视频序列 进行编码,得到视频编码序列。云游戏服务器通过网络将视频编码序列传输至终端设备, 于是,终端设备对视频编码序列进行解码处理,得到待渲染的视频序列。于是,终端设备 可以根据第n帧游戏画面以及第n+1帧游戏画面进行内插帧处理,得到额外的一帧游戏画 面,即第n+0.5帧游戏画面。类似地,终端设备继续获取第n+2帧游戏画面,对第n+1帧 游戏画面以及第n+2帧游戏画面进行内插帧处理,得到额外的一帧游戏画面,即第n+1.5 帧游戏画面。以此类推,由第n帧、第n+0.5帧、第n+1帧、第n+1.5帧以及第n+2帧等 游戏画面共同构成目标视频序列,最后经过渲染显示于终端设备的界面。

基于上述介绍,请再次参阅图6,如图所示,假设第一未渲染视频帧为第n帧,第二未渲染视频帧为第n+1帧,经过内插帧处理后生成目标视频帧,其中,目标视频帧为第n+0.5帧。由此可见,假设服务器渲染30帧画面,则实际编码的画面可以为30帧,输出至终端 设备的画面也为30帧,因此,对于终端设备而言,解码的画面数量为30帧,经过内插帧 处理后,可渲染出60帧图像。内插帧的图像效果较好,适用于对时延要求不高,而对画 质要求较高的业务,例如,非实时对战类游戏等。

其次,本申请实施例中,提供了一种基于内插帧获取目标视频序列的方式,通过上述 方式,利用内插帧得到的目标视频序列具有更好的图像效果,但由于云业务场景会产生一 帧时延,因此,更适用于对时延要求不高,但是对画面质量要求较高的业务。从而在节省服务器侧处理器开销的同时,还可以提升画面质量。

可选地,在上述图11对应的各个实施例的基础上,本申请实施例提供的视频处理方 法另一个可选实施例中,终端设备对第一未渲染视频帧以及第二未渲染视频帧进行插帧处 理,得到目标视频帧,可以包括:

终端设备获取第一未渲染视频帧所对应的第一帧号;

终端设备获取第二未渲染视频帧所对应的第二帧号;

终端设备计算第一帧号以及第二帧号的平均值,得到目标帧号;

终端设备基于目标帧号,通过插帧预测模型获取目标视频帧所对应的K个像素信息, 其中,K个像素信息用于确定目标视频帧,K为大于1的整数。

本实施例中,介绍了一种基于插帧预测模型进行内插帧的方式,需要说明的是,由于 待渲染的视频序列中可能包括大量的未渲染视频帧,为了便于说明,下面将以任意两个相 邻的未渲染视频帧为例介绍,在实际应用中,对其他相邻两帧的处理方式类似,此处不做 赘述。

具体地,每个未渲染视频帧对应于一个帧号,其中,第一未渲染视频帧的帧号为第一 帧号,第二未渲染视频帧的帧号为第二帧号,假设第一帧号为n,第二帧号为n+1,则目标帧号的计算方式如下:

U=[n+(n+1)]/2;

其中,U表示目标帧号,即为n+0.5。

将目标帧号输入至已训练好的插帧预测模型中,通过插帧预测模型输出K个像素信息, K表示一个视频帧所包括的像素总个数,在得到K个像素所对应的像素信息时,即获取到 目标视频帧。像素信息可以表示为YUV形式,或者可以表示为RGB形式。

再次,本申请实施例中,提供了一种基于插帧预测模型进行内插帧的方式,通过上述 方式,利用训练好的插帧预测模型能够预测出目标视频帧中的每个像素信息,再由这些像 素信息重构出目标视频帧,从而实现对视频帧内插一帧的过程,由此提升方案的可行性和 可操作性。

可选地,在上述图11对应的各个实施例的基础上,本申请实施例提供的视频处理方 法另一个可选实施例中,终端设备根据待渲染的视频序列获取目标视频序列,可以包括:

终端设备从待渲染的视频序列中获取第一未渲染视频帧以及第二未渲染视频帧,其 中,第一未渲染视频帧为第二未渲染视频帧相邻的前一帧图像,且第一未渲染视频帧以及 第二未渲染视频帧均为未经过渲染后得到的视频帧;

终端设备对第一未渲染视频帧以及第二未渲染视频帧进行插帧处理,得到目标视频 帧,其中,目标视频帧为第二未渲染视频帧相邻的后一帧图像;

终端设备根据第一未渲染视频帧、目标视频帧以及第二未渲染视频帧,生成目标视频 序列中的第二视频子序列,其中,第二视频子序列依次由第一未渲染视频帧、第二未渲染 视频帧以及目标视频帧组成。

本实施例中,介绍了一种基于外插帧获取目标视频序列的方式,需要说明的是,由于 待渲染的视频序列中可能包括大量的未渲染视频帧,为了便于说明,下面将以任意两个相 邻的未渲染视频帧为例介绍,在实际应用中,对其他相邻两帧的处理方式类似,此处不做 赘述。

具体地,首先终端设备从待渲染的视频序列中获取相邻的两个视频帧,即第一未渲染 视频帧以及第二未渲染视频帧,然后基于这两个未渲染视频帧生成新的一个视频帧,即生 成目标视频帧,其中,目标视频帧是位于第二未渲染视频帧与下一帧未渲染视频帧之间的 一帧,相当于额外插入了一帧图像。按照第一未渲染视频帧、第二未渲染视频帧以及目标 视频帧的顺序,生成目标视频序列中的第二视频子序列,在实际应用中,采用类似地方式 生成一系列视频子序列,最终生成目标视频序列。

为了便于理解,请参阅图13,图13为本申请实施例中基于终端设备实现外插帧处理 的一个实施例示意图,如图所示,以云游戏场景为例,云游戏服务器捕获经过渲染的一帧 游戏画面,在获取到多帧渲染后的游戏画面时,即得到原始视频序列,再对原始视频序列 进行编码,得到视频编码序列。云游戏服务器通过网络将视频编码序列传输至终端设备, 于是,终端设备对视频编码序列进行解码处理,得到待渲染的视频序列。于是,终端设备 可以根据第n帧游戏画面以及第n+1帧游戏画面进行外插帧处理,得到额外的一帧游戏画 面,即第n+1.5帧游戏画面。类似地,终端设备继续获取第n+2帧游戏画面,对第n+1帧 游戏画面以及第n+2帧游戏画面进行外插帧处理,得到额外的一帧游戏画面,即第n+2.5 帧游戏画面。以此类推,由第n帧、第n+1帧、第n+1.5帧以及第n+2帧等游戏画面共同 构成目标视频序列,最后经过渲染显示于终端设备的界面。

基于上述介绍,请再次参阅图10,如图所示,假设第一未渲染视频帧为第n帧,第二未渲染视频帧为第n+1帧,经过外插帧处理后生成目标视频帧,其中,目标视频帧为第n+1.5帧。由此可见,假设服务器渲染30帧画面,则实际编码的画面可以为30帧,输出至终端 设备的画面也为30帧,因此,对于终端设备而言,解码的画面数量为30帧,经过外插帧 处理后,可渲染出60帧图像。外插帧通常不会产生额外的时延,适用于对时延要求较高 的业务,例如,实时对战类游戏等。

其次,本申请实施例中,提供了一种基于外插帧获取目标视频序列的方式,利用外插 帧得到的目标视频序列通常不会产生额外的时延,因此,更适用于对时延要求较高,但是 对画面质量要求不高的业务。从而在节省服务器侧处理器开销的同时,还可以避免因时延 造成画面延迟的现象。

可选地,在上述图11对应的各个实施例的基础上,本申请实施例提供的视频处理方 法另一个可选实施例中,终端设备对第一未渲染视频帧以及第二未渲染视频帧进行插帧处 理,得到目标视频帧,可以包括:

终端设备获取第二未渲染视频帧所对应的第二帧号;

终端设备将第二帧号的下一个相邻帧号确定为第三帧号;

终端设备计算第二帧号以及第三帧号的平均值,得到目标帧号;

终端设备基于目标帧号,通过插帧预测模型获取目标视频帧所对应的K个像素信息, 其中,K个像素信息用于确定目标视频帧,K为大于1的整数。

本实施例中,介绍了一种基于插帧预测模型进行外插帧的方式,需要说明的是,由于 待渲染的视频序列中可能包括大量的未渲染视频帧,为了便于说明,下面将以任意两个相 邻的未渲染视频帧为例介绍,在实际应用中,对其他相邻两帧的处理方式类似,此处不做 赘述。

具体地,每个未渲染视频帧对应于一个帧号,其中,第一未渲染视频帧的帧号为第一 帧号,第二未渲染视频帧的帧号为第二帧号,假设第二帧号为n+1,第三帧号为n+2,则目标帧号的计算方式如下:

U=[n+1+(n+2)]/2;

其中,U表示目标帧号,即为n+1.5。

将目标帧号输入至已训练好的插帧预测模型中,通过插帧预测模型输出K个像素信息, K表示一个视频帧所包括的像素总个数,在得到K个像素所对应的像素信息时,即获取到 目标视频帧。像素信息可以表示为YUV形式,或者可以表示为RGB形式。

需要说明的是,插帧预测模型的训练方式已在上述实施例中介绍,故此处不做赘述。

再次,本申请实施例中,提供了一种基于插帧预测模型进行外插帧的方式,通过上述 方式,利用训练好的插帧预测模型能够预测出目标视频帧中的每个像素信息,再由这些像 素信息重构出目标视频帧,从而实现对视频帧外插一帧的过程,由此提升方案的可行性和 可操作性。

结合上述介绍,下面将从视频处理系统的角度,对本申请中视频处理的方法进行介绍, 请参阅图14,本申请实施例中视频处理方法的另一个实施例包括:

301、服务器获取原始视频序列,其中,原始视频序列包括经过渲染后得到的P个视频帧,P为大于或等于2的整数;

本实施例中,由服务器获取连续P帧画面,即获取到P个视频帧,这P个视频帧可构成原始视频序列。其中,视频帧可以指经过渲染后的视频画面,也可以指经过渲染后的游戏画面,还可以指经过渲染的其他类型画面。需要说明的是,本申请涉及的服务器可以是本地服务器(例如,游戏服务器或者视频服务器等),也可以是云服务器(例如云游戏服 务器或者云视频服务器),为了便于介绍,本申请将以服务器为应用于云游戏业务中的云 游戏服务器为例进行介绍,此外,在实际应用中CPU和图GPU)可以进行渲染任务,这均 不应理解为对本申请的限定。

302、服务器根据原始视频序列获取第一目标视频序列,其中,第一目标视频序列包 括经过渲染后得到的P个视频帧以及经过插帧处理后得到的Q个视频帧,Q为大于或等于1的整数;

本实施例中,服务器对原始视频序列中的P个视频帧进行插帧处理,从而得到第一目 标视频序列,插入一帧图像所消耗的资源少于渲染一帧图像所消耗的资源。可以理解的是, 插帧处理的方式与步骤102类似,故此处不做赘述。

303、服务器对第一目标视频序列进行编码处理,得到视频编码序列;

本实施例中,服务器采用编码算法对第一目标视频序列进行编码处理,从而生成视频 编码序列。编码过程可以运行于服务器的CPU上,也可以运行于GPU上,还可以运行于其 他编码硬件上,例如,GPU内的编码芯片或者独立于GPU之外的专用编码芯片。编码算法可采用H264、H265、VP8或VP9等,此处不做限定。可以理解的是,编码过程可以参考步 骤103所描述的内容,故此处不做赘述。

304、服务器向终端设备发送视频编码序列;

本实施例中,服务器通过网络向终端设备传输视频编码序列,于是终端设备接收该视 频编码序列,其中,视频编码序列包括(P+Q)个视频帧。

305、终端设备对视频编码序列进行解码处理,得到待渲染的视频序列,其中,待渲染的视频序列包括未经过渲染的(P+Q)个视频帧;

本实施例中,终端设备可以对视频编码序列进行解码,从而得到待渲染的视频序列, 且待渲染的视频序列包括未经过渲染的(P+Q)个视频帧,即待渲染视频序列中包括的视 频帧数量与视频编码序列中包括的视频帧数量相同。

306、终端设备根据待渲染的视频序列获取第二目标视频序列,其中,第二目标视频 序列包括未经过渲染的(P+Q)个视频帧以及经过插帧处理后得到的Y个视频帧,Y为大于或等于1的整数;

本实施例中,终端设备对待渲染的视频序列中的(P+Q)个视频帧进行插帧处理,可以对相邻两个视频帧进行插帧处理,也可以对相关两个视频帧进行插帧处理,还可以采用间隔视频帧进行插帧处理,此处不做限定。基于待渲染的视频序列生成插帧后得到的Y个视频帧,这(P+Q)个视频帧和Y个视频帧共同构成第二目标视频序列。

可以理解的是,插帧的方式包含但不仅限于帧采样,帧混合,运动补偿以及光流法, 此处不做赘述。

307、终端设备对第二目标视频序列进行渲染处理,得到目标视频。

本实施例中,终端设备对第二目标视频序列进行渲染处理,即可生成目标视频,并在 终端设备的屏幕上展示该目标视频。解码过程可以运行于终端设备的CPU上,也可以运行 于GPU上,还可以运行于其他解码硬件上,例如,GPU内的解码芯片或者独立于GPU之外的专用解码芯片。解码得到一个视频帧之后,即可通过终端设备侧的CPU或者GPU读取该 视频帧,并进行渲染后显示于界面。

本申请实施例中,提供了一种视频处理的方法,服务器与终端设备两侧均采用插帧的 方式生成视频帧,通过上述方式,可以综合服务器与终端设备的性能,对于服务器而言, 只需要对部分视频帧进行渲染,再基于渲染后的视频帧进行插帧处理,得到待编码的视频 序列,对于终端设备而言,以插帧的方式生成目标视频序列,并渲染出目标视频。而插帧 处理所消耗的资源少于渲染所需的资源,因此,不但可以节省服务器侧的处理资源,减少 处理器的开销,有利于提升服务器的业务处理能力,而且对终端设备的性能要求有所降低, 有效地平衡了服务器和终端设备的性能。整个过程对于客户端而言,节省了传输带宽。

基于图14所介绍视频处理方法,下面将分别介绍四种插帧处理方式。

第一种方式为服务器与终端设备均采用内插帧的处理方式。请参阅图15,图15为本 申请实施例中基于视频处理系统实现内插帧处理的一个实施例示意图,如图所示,以云游 戏场景为例,云游戏服务器捕获经过渲染的第n帧游戏画面以及第n+1帧游戏画面,对第n帧游戏画面以及第n+1帧游戏画面进行内插帧处理,得到额外的一帧游戏画面,即第 n+0.5帧游戏画面。类似地,云游戏服务器继续获取第n+2帧游戏画面,对第n+1帧游戏 画面以及第n+2帧游戏画面进行内插帧处理,得到额外的一帧游戏画面,即第n+1.5帧游 戏画面。以此类推,由第n帧、第n+0.5帧、第n+1帧、第n+1.5帧以及第n+2帧等游戏 画面共同构成第一目标视频序列,再对第一目标视频序列进行编码,得到视频编码序列。 云游戏服务器通过网络将视频编码序列传输至终端设备,于是,终端设备对视频编码序列 进行解码处理,得到待渲染视频序列。再根据第n帧游戏画面以及第n+0.5帧游戏画面进 行内插帧处理,得到额外的一帧游戏画面,即第n+0.25帧游戏画面。类似地,终端设备 继续获取第n+1帧游戏画面,对第n+0.5帧游戏画面以及第n+1帧游戏画面进行内插帧处 理,得到额外的一帧游戏画面,即第n+0.75帧游戏画面。以此类推,由第n帧、第n+0.25 帧、第n+0.5帧、第n+0.75帧以及第n+1帧等游戏画面共同构成第二目标视频序列,经 过渲染显示于终端设备的界面。

第二种方式为服务器与终端设备均采用外插帧的处理方式。请参阅图16,图16为本 申请实施例中基于视频处理系统实现外插帧处理的一个实施例示意图,如图所示,以云游 戏场景为例,云游戏服务器捕获经过渲染的第n帧游戏画面以及第n+1帧游戏画面,对第n帧游戏画面以及第n+1帧游戏画面进行外插帧处理,得到额外的一帧游戏画面,即第 n+1.5帧游戏画面。类似地,云游戏服务器继续获取第n+2帧游戏画面,对第n+1帧游戏 画面以及第n+2帧游戏画面进行外插帧处理,得到额外的一帧游戏画面,即第n+2.5帧游 戏画面。以此类推,由第n帧、第n+1帧、第n+1.5帧、第n+2帧以及第n+2.5帧等游戏 画面共同构成第一目标视频序列,再对第一目标视频序列进行编码,得到视频编码序列。 云游戏服务器通过网络将视频编码序列传输至终端设备,于是,终端设备对视频编码序列 进行解码处理,得到待渲染视频序列。再根据第n+1帧游戏画面以及第n+1.5帧游戏画面 进行外插帧处理,得到额外的一帧游戏画面,即第n+1.75帧游戏画面。类似地,终端设 备继续获取第n+2帧游戏画面,对第n+1.5帧游戏画面以及第n+2帧游戏画面进行外插帧 处理,得到额外的一帧游戏画面,即第n+2.25帧游戏画面。以此类推,由第n帧、第n+1 帧、第n+1.5帧、第n+1.75帧、第n+2帧、第n+2.25帧以及第n+2.5帧等游戏画面共同 构成第二目标视频序列,经过渲染显示于终端设备的界面。

第三种方式为服务器采用内插帧,而终端设备采用外插帧的处理方式。请参阅图17, 图17为本申请实施例中基于视频处理系统实现内外插帧处理的一个实施例示意图,如图 所示,以云游戏场景为例,云游戏服务器捕获经过渲染的第n帧游戏画面以及第n+1帧游戏画面,对第n帧游戏画面以及第n+1帧游戏画面进行内插帧处理,得到额外的一帧游戏 画面,即第n+0.5帧游戏画面。类似地,云游戏服务器继续获取第n+2帧游戏画面,对第 n+1帧游戏画面以及第n+2帧游戏画面进行内插帧处理,得到额外的一帧游戏画面,即第 n+1.5帧游戏画面。以此类推,由第n帧、第n+0.5帧、第n+1帧、第n+1.5帧以及第n+2 帧等游戏画面共同构成第一目标视频序列,再对第一目标视频序列进行编码,得到视频编 码序列。云游戏服务器通过网络将视频编码序列传输至终端设备,于是,终端设备对视频 编码序列进行解码处理,得到待渲染视频序列。再根据第n帧游戏画面以及第n+0.5帧游 戏画面进行外插帧处理,得到额外的一帧游戏画面,即第n+0.75帧游戏画面。类似地, 终端设备继续获取第n+1帧游戏画面,对第n+0.5帧游戏画面以及第n+1帧游戏画面进行 外插帧处理,得到额外的一帧游戏画面,即第n+1.25帧游戏画面。以此类推,由第n帧、 第n+0.5帧、第n+0.75帧、第n+1帧、第1.25帧、第n+1.5帧、第n+1.75帧以及第n+2 帧等游戏画面共同构成第二目标视频序列,经过渲染显示于终端设备的界面。

第四种方式为服务器采用外插帧,而终端设备采用内插帧的处理方式。请参阅图18, 图18为本申请实施例中基于视频处理系统实现内外插帧处理的另一个实施例示意图,如 图所示,以云游戏场景为例,云游戏服务器捕获经过渲染的第n帧游戏画面以及第n+1帧游戏画面,对第n帧游戏画面以及第n+1帧游戏画面进行外插帧处理,得到额外的一帧游 戏画面,即第n+1.5帧游戏画面。类似地,云游戏服务器继续获取第n+2帧游戏画面,对 第n+1帧游戏画面以及第n+2帧游戏画面进行外插帧处理,得到额外的一帧游戏画面,即 第n+2.5帧游戏画面。以此类推,由第n帧、第n+1帧、第n+1.5帧、第n+2帧以及第n+2.5 帧等游戏画面共同构成第一目标视频序列,再对第一目标视频序列进行编码,得到视频编 码序列。云游戏服务器通过网络将视频编码序列传输至终端设备,于是,终端设备对视频 编码序列进行解码处理,得到待渲染视频序列。再根据第n帧游戏画面以及第n+1帧游戏 画面进行内插帧处理,得到额外的一帧游戏画面,即第n+0.5帧游戏画面。类似地,终端 设备继续获取第n+1.5帧游戏画面,对第n+1帧游戏画面以及第n+1.5帧游戏画面进行内 插帧处理,得到额外的一帧游戏画面,即第n+1.25帧游戏画面。以此类推,由第n帧、 第n+0.5帧、第n+1帧、第n+1.25帧、第n+1.5帧、第n+1.75帧、第n+2帧、第n+2.25 帧以及第n+2.5帧等游戏画面共同构成第二目标视频序列,经过渲染显示于界面。

下面对本申请中的视频处理装置进行详细描述,请参阅图19,图19为本申请实施例 中视频处理装置的一个实施例示意图,视频处理装置40包括:

获取模块401,用于获取原始视频序列,其中,原始视频序列包括经过渲染后得到的 P个视频帧,P为大于或等于2的整数;

获取模块401,还用于根据原始视频序列获取目标视频序列,其中,目标视频序列包 括经过渲染后得到的P个视频帧以及经过插帧处理后得到的Q个视频帧,Q为大于或等于1的整数;

编码模块402,用于对目标视频序列进行编码处理,得到视频编码序列;

发送模块403,用于向终端设备发送视频编码序列,以使终端设备对视频编码序列进 行解码处理,得到待渲染的视频序列。

可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的视频处理装置 40的另一实施例中,

获取模块401,具体用于从原始视频序列中获取第一已渲染视频帧以及第二已渲染视 频帧,其中,第一已渲染视频帧为第二已渲染视频帧相邻的前一帧图像,且第一已渲染视 频帧以及第二已渲染视频帧均为经过渲染后得到的视频帧;

对第一已渲染视频帧以及第二已渲染视频帧进行插帧处理,得到目标视频帧,其中, 目标视频帧为第一已渲染视频帧相邻的后一帧图像,且目标视频帧为第二已渲染视频帧相 邻的前一帧图像;

根据第一已渲染视频帧、目标视频帧以及第二已渲染视频帧,生成目标视频序列中的 第一视频子序列,其中,第一视频子序列依次由第一已渲染视频帧、目标视频帧以及第二 已渲染视频帧组成。

可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的视频处理装置 40的另一实施例中,

获取模块401,具体用于获取第一已渲染视频帧所对应的第一帧号;

获取第二已渲染视频帧所对应的第二帧号;

计算第一帧号以及第二帧号的平均值,得到目标帧号;

基于目标帧号,通过插帧预测模型获取目标视频帧所对应的K个像素信息,其中,K个像素信息用于确定目标视频帧,K为大于1的整数。

可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的视频处理装置 40的另一实施例中,

获取模块401,具体用于从原始视频序列中获取第一已渲染视频帧以及第二已渲染视 频帧,其中,第一已渲染视频帧为第二已渲染视频帧相邻的前一帧图像,且第一已渲染视 频帧以及第二已渲染视频帧均为经过渲染后得到的视频帧;

对第一已渲染视频帧以及第二已渲染视频帧进行插帧处理,得到目标视频帧,其中, 目标视频帧为第二已渲染视频帧相邻的后一帧图像;

根据第一已渲染视频帧、目标视频帧以及第二已渲染视频帧,生成目标视频序列中的 第二视频子序列,其中,第二视频子序列依次由第一已渲染视频帧、第二已渲染视频帧以 及目标视频帧组成。

可选地,在上述图19所对应的实施例的基础上,本申请实施例提供的视频处理装置 40的另一实施例中,

获取模块401,具体用于获取第二已渲染视频帧所对应的第二帧号;

将第二帧号的下一个相邻帧号确定为第三帧号;

计算第二帧号以及第三帧号的平均值,得到目标帧号;

基于目标帧号,通过插帧预测模型获取目标视频帧所对应的K个像素信息,其中,K个像素信息用于确定目标视频帧,K为大于1的整数。

下面对本申请中的视频处理装置进行详细描述,请参阅图20,图20为本申请实施例 中视频处理装置的一个实施例示意图,视频处理装置50包括:

接收模块501,用于接收服务器发送的视频编码序列;

解码模块502,用于对视频编码序列进行解码处理,得到待渲染的视频序列,其中,待渲染的视频序列包括未经过渲染的X个视频帧,X为大于或等于2的整数;

获取模块503,用于根据待渲染的视频序列获取目标视频序列,其中,目标视频序列 包括未经过渲染的X个视频帧以及经过插帧处理后得到的Y个视频帧,Y为大于或等于1的整数;

渲染模块504,用于对目标视频序列进行渲染处理,得到目标视频。

可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的视频处理装置 50的另一实施例中,

获取模块503,具体用于从待渲染的视频序列中获取第一未渲染视频帧以及第二未渲 染视频帧,其中,第一未渲染视频帧为第二未渲染视频帧相邻的前一帧图像,且第一未渲 染视频帧以及第二未渲染视频帧均为未经过渲染后得到的视频帧;

对第一未渲染视频帧以及第二未渲染视频帧进行插帧处理,得到目标视频帧,其中, 目标视频帧为第一未渲染视频帧相邻的后一帧图像,且目标视频帧为第二未渲染视频帧相 邻的前一帧图像;

根据第一未渲染视频帧、目标视频帧以及第二未渲染视频帧,生成目标视频序列中的 第一视频子序列,其中,第一视频子序列依次由第一未渲染视频帧、目标视频帧以及第二 未渲染视频帧组成。

可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的视频处理装置 50的另一实施例中,

获取模块503,具体用于获取第一未渲染视频帧所对应的第一帧号;

获取第二未渲染视频帧所对应的第二帧号;

计算第一帧号以及第二帧号的平均值,得到目标帧号;

基于目标帧号,通过插帧预测模型获取目标视频帧所对应的K个像素信息,其中,K个像素信息用于确定目标视频帧,K为大于1的整数。

可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的视频处理装置 50的另一实施例中,

获取模块503,具体用于从待渲染的视频序列中获取第一未渲染视频帧以及第二未渲 染视频帧,其中,第一未渲染视频帧为第二未渲染视频帧相邻的前一帧图像,且第一未渲 染视频帧以及第二未渲染视频帧均为未经过渲染后得到的视频帧;

对第一未渲染视频帧以及第二未渲染视频帧进行插帧处理,得到目标视频帧,其中, 目标视频帧为第二未渲染视频帧相邻的后一帧图像;

根据第一未渲染视频帧、目标视频帧以及第二未渲染视频帧,生成目标视频序列中的 第二视频子序列,其中,第二视频子序列依次由第一未渲染视频帧、第二未渲染视频帧以 及目标视频帧组成。

可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的视频处理装置 50的另一实施例中,

获取模块503,具体用于获取第二未渲染视频帧所对应的第二帧号;

将第二帧号的下一个相邻帧号确定为第三帧号;

计算第二帧号以及第三帧号的平均值,得到目标帧号;

基于目标帧号,通过插帧预测模型获取目标视频帧所对应的K个像素信息,其中,K个像素信息用于确定目标视频帧,K为大于1的整数。

图21是本申请实施例提供的一种服务器结构示意图,该服务器600可因配置或性能 不同而产生比较大的差异,可以包括一个或一个以上CPU 622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例 如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或 持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每 个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为 与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。

服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接 口650,一个或一个以上输入输出接口658,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上述实施例中由服务器所执行的步骤可以基于该图21所示的服务器结构。

本申请实施例还提供了另一种视频处理装置,如图22所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、销售终端设备(Point of Sales,POS)、车载电脑、电视以及OTT盒子等任意终端 设备,以终端设备为手机为例:

图22示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考 图22,手机包括:射频(Radio Frequency,RF)电路710、存储器720、输入单元730、 显示单元740、传感器750、音频电路760、无线保真(wireless fidelity,WiFi)模块 770、处理器780、以及电源790等部件。本领域技术人员可以理解,图22中示出的手机 结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或 者不同的部件布置。

下面结合图22对手机的各个构成部件进行具体的介绍:

RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下 行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,RF电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备 通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General PacketRadio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分 多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long TermEvolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。

存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的 软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器720可主要包括 存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用 程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储 器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性 固态存储器件。

输入单元730可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功 能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备 732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作), 并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置 和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来 的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它 转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外, 可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控 面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以 包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操 作杆等中的一种或多种。

显示单元740可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜 单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配 置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到 在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780 根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图22中,触控面板 731与显示面板741是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实 施例中,可以将触控面板731与显示面板741集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具 体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线 的明暗来调节显示面板741的亮度,接近传感器可在手机移动到耳边时,关闭显示面板741 和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至 于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此 不再赘述。

音频电路760、扬声器761,传声器762可提供用户与手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为 声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760 接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给 比如另一手机,或者将音频数据输出至存储器720以便进一步处理。

WiFi属于短距离无线传输技术,手机通过WiFi模块770可以帮助用户收发电子邮件、 浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图22示出了 WiFi模块770,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器780是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过 运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器780 可包括一个或多个处理单元;可选的,处理器780可集成应用处理器和调制解调处理器, 其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理 无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。

手机还包括给各个部件供电的电源790(比如电池),可选的,电源可以通过电源管理 系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

上述实施例中由终端设备所执行的步骤可以基于该图22所示的终端设备结构。

本申请提供了一种视频处理系统,请参阅图23,图23为本申请实施例中视频处理系 统的一个结构示意图,如图所示,服务器801获取原始视频序列,其中,原始视频序列包括经过渲染后得到的P个视频帧,P为大于或等于2的整数。服务器801根据原始视频序 列获取第一目标视频序列,其中,第一目标视频序列包括经过渲染后得到的P个视频帧以 及经过插帧处理后得到的Q个视频帧,Q为大于或等于1的整数。服务器801对第一目标 视频序列进行编码处理,得到视频编码序列。服务器801向终端设备802发送视频编码序 列。终端设备802对视频编码序列进行解码处理,得到待渲染的视频序列,其中,待渲染 的视频序列包括未经过渲染的(P+Q)个视频帧。终端设备802根据待渲染的视频序列获 取第二目标视频序列,其中,第二目标视频序列包括未经过渲染的(P+Q)个视频帧以及 经过插帧处理后得到的Y个视频帧,Y为大于或等于1的整数。终端设备802对第二目标 视频序列进行渲染处理,得到目标视频。

本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计 算机程序,当其在计算机上运行时,使得计算机执行如前述各个实施例描述的方法中视频 处理装置所执行的步骤。

本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使 得计算机执行前述各个实施例描述的方法中视频处理装置所执行的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装 置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通 过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显 示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既 可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可 以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者 说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现 出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部 或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-onlymemory, ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程 序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述 实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述 各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修 改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

41页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:全景视频图像处理方法、服务端、目标设备、装置和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类