《扩展预测模式和视频编解码器的性能.pdf》由会员分享,可在线阅读,更多相关《扩展预测模式和视频编解码器的性能.pdf(10页完整版)》请在专利查询网上搜索。
1、10申请公布号CN104125472A43申请公布日20141029CN104125472A21申请号201310684788822申请日2013121313/871,18020130426USH04N19/593201401H04N19/597201401H04N19/87201401H04N21/4420110171申请人辉达公司地址美国加利福尼亚州72发明人哈桑S阿扎尔戴维帕荣克斯特凡埃卡特斯瓦格特莫哈帕特拉74专利代理机构北京市磐华律师事务所11336代理人谢栒魏宁54发明名称扩展预测模式和视频编解码器的性能57摘要扩展预测模式和视频编解码器的性能。视频帧压缩系统包括渲染引擎,其提供当。
2、前视频帧和当前附加渲染信息。此外,视频帧压缩系统包括弯曲引擎,其生成经弯曲的视频帧,其中经弯曲的视频帧是基于当前附加渲染信息的先前视频帧的变形。进一步地,视频帧压缩系统包括视频编码器,其通过使用经弯曲的视频帧作为参考帧对当前视频帧进行压缩并且分开地对当前附加渲染信息进行压缩。又进一步地,视频帧压缩系统包括打包器,其提供分别与经压缩的当前视频帧和经压缩的当前附加渲染信息相对应的主数据流和辅助数据流。还提供了视频帧解压缩系统以及视频帧压缩和解压缩的方法。30优先权数据51INTCL权利要求书1页说明书5页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书5页附图3页10申。
3、请公布号CN104125472ACN104125472A1/1页21一种视频帧压缩系统,包括渲染引擎,其提供当前视频帧和当前附加渲染信息;弯曲引擎,其生成经弯曲的视频帧,其中所述经弯曲的视频帧是基于所述当前附加渲染信息的先前视频帧的变形;以及视频编码器,其通过使用所述经弯曲的视频帧作为参考帧对所述当前视频帧进行压缩并且分开地对所述当前附加渲染信息进行压缩。2如权利要求1所述的系统,进一步包括打包器,其提供分别与经压缩的当前视频帧和经压缩的当前附加渲染信息相对应的主数据流和辅助数据流。3如权利要求1所述的系统,其中所述当前附加渲染信息从组中选择,所述组包括摄像机投影矩阵;以及Z深度缓冲器。4如权。
4、利要求1所述的系统,其中所述视频编码器遵照H264/AVC视频译码标准。5一种视频帧解压缩系统,包括拆包器,其提供经压缩的当前视频帧和经压缩的附加渲染信息;辅助视频解码器,其对所述经压缩的附加渲染信息进行解码以提供当前附加渲染信息;弯曲引擎,其重新构建经弯曲的视频帧,其中所述经弯曲的视频帧是基于所述当前附加渲染信息的先前视频帧的变形;以及主视频解码器,其通过使用所述经弯曲的视频帧作为参考帧对所述经压缩的当前视频帧进行解码以提供当前视频帧。6如权利要求5所述的系统,其中所述主解码器和辅助解码器是同一解码器的至少一部分。7如权利要求5所述的系统,其中所述当前附加渲染信息通过使用先前附加渲染信息作为。
5、参考来提供。8如权利要求5所述的系统,其中所述当前附加渲染信息从组中选择,所述组包括摄像机投影矩阵;以及Z深度缓冲器。9如权利要求5所述的系统,其中所述主视频解码器和辅助视频解码器遵照H264/AVC视频译码标准。10一种视频帧解压缩的方法,包括拆包经压缩的当前视频帧和经压缩的附加渲染信息;对所述经压缩的附加渲染信息进行解码以提供当前附加渲染信息;重新构建经弯曲的视频帧,其中所述经弯曲的视频帧是基于所述当前附加渲染信息的先前视频帧的变形;以及通过使用所述经弯曲的视频帧作为参考帧对所述经压缩的当前视频帧进行解码以提供当前视频帧。权利要求书CN104125472A1/5页3扩展预测模式和视频编解码。
6、器的性能0001相关申请的交叉引用0002本申请要求享有由AZAR等人于2013年4月26日所提交的、序列号为13/871,180的、题目为“EXTENDINGPREDICTIONMODESANDPERFORMANCEOFVIDEOCODECS”的美国申请的优先权,其与本申请共同转让并且通过援引并入本文。技术领域0003本申请总地针对网络传输的编码和解码,并且更具体地针对视频帧压缩和解压缩系统以及视频帧压缩和解压缩的方法。背景技术0004视频编解码器是使能数字视频(即数字数据流)的压缩或解压缩的设备或软件。许多当前的视频编解码器操作在经编码的数据代表自然或现实世界场景的假设上,该自然或现实世界。
7、场景在空间和时间上都被进行采样。这类场景呈现各种光照状况并且可能包含多个对象,每个对象具有其自己的形状和纹理。然而,每个视频帧中的这些信号通常是连续的并且遵循某些样式,如具体的功率谱形状或颜色分布。此外,因为可以以相对高的速度捕获帧,所以新的视频帧中所引入的信息量通常是小的并且来源自摄像机或对象运动。该空间和时间冗余由所有最先进的视频编码器利用,该最先进的视频编码器尝试预测当前视频帧并且仅对不能从空间或时间邻域获得的数据进行编码。与所选择的预测模式一起仅对当前视频帧和其预测之间的差异进行编码提供了对于输出视频流的带宽和存储要求的显著减少。视频帧预测中的进一步的改善将有益于本领域。发明内容000。
8、5本公开的实施例提供视频帧压缩和解压缩系统以及视频帧压缩和解压缩的方法。0006在一个实施例中,视频帧压缩系统包括渲染引擎,其提供当前视频帧和当前附加渲染信息。此外,视频帧压缩系统包括弯曲引擎,其生成经弯曲的视频帧,其中经弯曲的视频帧是基于当前附加渲染信息的先前视频帧的变形。进一步地,视频帧压缩系统包括视频编码器,其通过使用经弯曲的视频帧作为参考帧对当前视频帧进行压缩并且分开地对当前附加渲染信息进行压缩。又进一步地,视频帧压缩系统包括打包器,其提供分别与经压缩的当前视频帧和经压缩的当前附加渲染信息相对应的主数据流和辅助数据流。0007在一个方面,视频帧压缩的方法包括提供当前视频帧和当前附加渲染。
9、信息。视频帧压缩的方法还包括生成经弯曲的视频帧,其中经弯曲的视频帧是基于当前附加渲染信息的先前视频帧的变形。视频帧压缩的方法进一步包括通过使用经弯曲的视频帧作为参考帧对当前视频帧进行压缩并且分开地对当前附加渲染信息进行压缩。视频帧压缩的方法又进一步包括将经压缩的当前视频帧和经压缩的附加渲染信息分别打包为主数据流和辅助数据流。0008在另一个实施例中,视频帧解压缩系统包括拆包器,其提供经压缩的当前视频帧说明书CN104125472A2/5页4和经压缩的附加渲染信息。此外,视频帧解压缩系统包括辅助视频解码器,其对经压缩的附加渲染信息进行解码以提供当前附加渲染信息。进一步地,视频帧解压缩系统包括弯曲。
10、引擎,其重新构建经弯曲的视频帧,其中经弯曲的视频帧是基于当前附加渲染信息的先前视频帧的变形。又进一步地,视频帧解压缩系统包括主视频解码器,其通过使用经弯曲的视频帧作为参考帧对经压缩的当前视频帧进行解码以提供当前视频帧。0009在另一个方面,视频帧解压缩的方法包括拆包经压缩的当前视频帧和经压缩的附加渲染信息。视频帧解压缩的方法还包括对经压缩的附加渲染信息进行解码以提供当前附加渲染信息。视频帧解压缩的方法进一步包括重新构建经弯曲的视频帧,其中经弯曲的视频帧是基于当前附加渲染信息的先前视频帧的变形。视频帧解压缩的方法又进一步包括通过使用经弯曲的视频帧作为参考帧对经压缩的当前视频帧进行解码以提供当前视。
11、频帧。0010前述已经概括本公开的优选和可替换特征,使得本领域的技术人员可以更好地理解本公开以下的详细描述。本公开的附加特征将在下文中进行描述,其形成本公开的权利要求的主题。本领域的技术人员应该理解他们可以容易地使用所公开的概念和具体实施例作为基础来设计或修改其他结构以实行本公开的相同目的。附图说明0011现在参考结合附图所采取的以下描述,在附图中0012图1示出了根据本公开的原理所构建的视频帧压缩系统的实施例的框图;0013图2示出了根据本公开的原理所构建的视频帧解压缩系统的实施例的框图;0014图3示出了根据本公开的原理所实行的视频帧压缩的方法的实施例的流程图;以及0015图4示出了根据本。
12、公开的原理所实行的视频帧解压缩的方法的实施例的流程图。具体实施方式0016视频游戏和三维(3D)应用通常通过渲染三角形来建立整个视频场景用于显示在视频屏幕上。在视频屏幕上所看到的实际上是3D几何体的投影。屏幕上的每个像素采用指示用于像素的相应的相对场景深度的深度坐标(即Z深度坐标),该像素还具有在视频屏幕上的水平和垂直(X和Y)像素位置坐标。像素位置和其Z深度信息这二者被采用以在二维屏幕上创建视频场景的3D呈现。该Z深度坐标信息容易作为渲染视频场景的结果得到。此外,来源于摄像机运动的摄像机投影信息(要求新的摄像机定位或位置)也容易从渲染操作得到。0017预测模式由视频编码器采用并且典型地提供计。
13、算复杂度和压缩效率之间的权衡。它们非常适用于具有各种信号特征的输入帧流,但是对于利用计算机图形方法(例如通过栅格化或光线追踪)所合成的输入序列,可以提供对当前帧的更好预测。然而,标准编码器框架不包括用于向编码器提供外部预测图像的设施。本公开的实施例解决该问题并且呈现用于为编解码器扩展预测模式列表的简单和强大的方法。所提出的方法利用具体针对经GPU渲染的内容进行调整的预测模式来完成。该新颖的预测模式可以快速地在GPU上进行计算并且改善最终位流的压缩率。0018此处,关键思想是提供附加的、经GPU渲染的预测图像作为参考帧列表中的参考说明书CN104125472A3/5页5帧之一。可以使用对编码器和。
14、解码器二者都可用的数据在视频译码框架之外(例如在应用级别上)构建该补充图像。与常规预测模式一样,为了编码和解码无伪影帧,编码器和解码器二者必须被同步并且接收相同的预测图像。0019总体上,期望利用该技术通过网络所传输的、包括新的视频流和辅助流的数据将小于来自常规(朴素)压缩技术的原始视频流。通过网络传送较少的数据转化成较低的总体延迟(从而,例如为云游戏提供更好的体验)、较低的成本(与所要求的较少传输位相对应)和可以同时被服务的更多的客户。0020“提示”一般在本公开中被定义为对预测或编码过程可用的附加信息。该附加信息可以通常由渲染引擎提供并且往往在较低级的软件(例如正在控制视频编码器的压缩引擎。
15、的软件)中。如已经提到的,该附加信息允许视频编码器在编码时做得更好,从而提供图像质量的改善、延迟时间的减少或分配场景所需要的位的数目的减少。0021“弯曲”视频帧一般在本公开中被定义为使现有的视频图像或帧变形。弯曲操作一般将一个图像平面中的定位映射到另一个图像平面中的定位。典型地,在本公开中,经弯曲的视频帧是在提供变形方面采用附加信息(即至少一个提示)的经变形的先前视频帧。如所提到的,这些提示可以从渲染过程或渲染引擎得到。例如,随着摄像机定位改变,该弯曲变形正在试图在每像素基础上预测对每个新像素的影响和每个新像素的状况。0022因此,本公开的实施例围绕在创建经弯曲的帧方面使用提示的核心思想,该。
16、经弯曲的帧之后可以被采用作为用于视频编码器的参考视频帧。这样做,因为仅添加另一个参考帧用于由视频编码器使用,所以可以采用现有的视频编码器架构。尽管在客户端解码器处要求对附加信息的解码,但是也可以采用现有的视频解码器。在一个示例中,本公开的实施例容纳与H264/AVC视频译码标准兼容的未经修改的编码器和解码器的使用。0023图1示出了根据本公开的原理所构建的、概括标为100的视频帧压缩系统的实施例的框图。视频压缩系统100包括渲染引擎105、弯曲引擎110、视频编码器120和打包器130。0024渲染引擎105向视频编码器120的帧压缩部分121提供当前视频帧107。如所示的,渲染引擎105还向。
17、弯曲引擎110和视频编码器120的提示压缩部分122提供当前附加渲染信息(即提示)。视频编码器120向打包器130提供包含当前视频帧107的帧压缩的主视频流和包含当前附加渲染信息的压缩的辅助流用于网络传输。0025在图1的所示出的实施例中,视频编码器120与H264/AVC视频译码标准兼容,其容纳主视频流和辅助流并且支持多个参考帧评估,其中用于所采用的每个参考帧的编码器参数经调节以改善准确性和性能。在另一个实施例中,视频编码器120可以在组合的颜色深度编码模式中与编码颜色帧一起来编码代表大多数辅助流的Z深度信息。一般地,本公开的实施例可以容纳其他现有的或未来开发的视频编码结构中的帧压缩和提示压。
18、缩,其中这些压缩功能可以是分开的或组合的。0026弯曲引擎110通过先前视频帧109的弯曲变形来生成经弯曲的视频帧125,其中弯曲变形基于由渲染引擎105所供应的当前附加渲染信息。经弯曲的视频帧110由视频编码器120的帧压缩部分121采用作为用于压缩当前视频帧107的参考帧。0027一般地,视频压缩系统100示出了在创建并采用新的参考帧(即经弯曲的当前帧125)的服务器端上的过程。对于服务器端,经弯曲的当前帧125允许视频编码器120对帧说明书CN104125472A4/5页6预测做出改善,因为它精确地反映了最佳情形下的当前帧107。例如,对于仅全局运动的情形,经弯曲的帧125将看上去与当前。
19、帧107完全一样。0028在所示出的示例中,从渲染引擎105所供应的当前附加渲染信息包括摄像机投影矩阵和Z深度缓冲器信息,其与外部运动向量提示相对应。术语“运动向量提示”与关于当前宏块定位的平移向量相对应。在不具有对象运动量或具有小的对象运动量的帧情况下,在提供新的参考帧方面使用这些外部运动向量提示允许零或接近零的运动搜索。0029视频编码器120具有接受来自外部的提示的能力,该来自外部的提示指示其尝试通过运动向量提示所提供的、与参考帧中的位置相对应的运动向量。该过程取代对运动向量的搜索,其将给予最少数目的位以对宏块进行编码或将给予用于宏块的匹配。例如,可能需要在特定方向中从当前宏块定位移动某。
20、个数目的像素以找到看起来接近当前宏块的宏块。0030新的参考帧的使用是时间框架的一部分并且还是在允许预测时间减少的同时提供预测改善的空间和时间预测的宏大框架的一部分。预测改善典型地提供具有当前帧107的较小剩余从而要求较少编码位的压缩。0031还考虑了在客户端上对网络传输进行解码,因为需要在那里重新构建经弯曲的当前帧125。这要求被用来构建经弯曲的帧125的相同信息,其在该示例中是与先前视频帧109一起的摄像机投影和Z深度信息。0032图2示出了根据本公开的原理所构建的、概括标为200的视频帧解压缩系统的实施例的框图。视频帧解压缩系统200包括拆包器205、主解码器210、辅助解码器215和弯。
21、曲引擎220。0033拆包器205从诸如图1的视频帧压缩系统100的视频帧压缩系统接收网络传输,并且提供与当前视频帧214的经压缩的剩余帧相对应的主视频流。拆包器205还提供如关于图1也论述过的与经压缩的当前附加渲染信息(即从服务器端所发送的提示)相对应的辅助数据流。0034经压缩的当前附加渲染信息的Z深度部分被提供给辅助解码器215用于采用从存储器所提供的先前帧Z深度缓冲器信息216进行解压缩。该解压缩产生经解压缩的当前帧Z深度缓冲器信息217。0035经压缩的当前附加渲染信息的摄像机投影矩阵部分与经解压缩的当前帧Z深度缓冲器信息217一起被提供给弯曲引擎220,弯曲引擎220提供对先前帧2。
22、11的弯曲变形以产生所重新构建的经弯曲的帧225。先前帧211还从存储器被提供。主解码器210采用所重新构建的经弯曲的帧220作为优选的参考帧用于解码主视频流以提供当前帧214。0036在所示出的实施例中,主解码器210和辅助解码器215与H264/AVC视频译码标准兼容并且可以是同一视频解码器的一部分。一般地,本公开的实施例可以容纳其他现有的或未来开发的视频解码结构中的帧解压缩和提示解压缩,其中这些解压缩功能可以是分开的或组合的。0037图3示出了根据本公开的原理所实行的、概括标为300的视频帧压缩的方法的实施例的流程图。方法300始于步骤305,并且在步骤310中提供当前视频帧和当前附加渲。
23、染信息。之后,在帧315中生成经弯曲的视频帧,其中经弯曲的视频帧是基于当前附加渲染信息的先前视频帧的变形。在步骤320中,通过使用经弯曲的视频帧作为参考帧对当前视频说明书CN104125472A5/5页7帧进行压缩并且分开地对当前附加渲染信息进行压缩。在步骤325中,将经压缩的当前视频帧和经压缩的附加渲染信息分别打包为主数据流和辅助数据流。0038在一个实施例中,从包括摄像机投影矩阵和Z深度缓冲器的组中选择当前附加渲染信息。在另一个实施例中,当前视频帧和当前附加渲染信息遵照H264/AVC视频译码标准。方法300在步骤330中结束。0039图4示出了根据本公开的原理所实行的、概括标为400的视。
24、频帧解压缩的方法的实施例的流程图。方法400始于步骤405,并且在步骤410中拆包经压缩的当前视频帧和经压缩的附加渲染信息。之后,在步骤415中,对经压缩的附加渲染信息进行解码以提供当前附加渲染信息。在步骤420中重新构建经弯曲的视频帧,其中经弯曲的视频帧是基于当前附加渲染信息的先前视频帧的变形。在步骤425中,通过使用经弯曲的视频帧作为参考帧对经压缩的当前视频帧进行解码以提供当前视频帧。0040在一个实施例中,通过使用先前附加渲染信息作为参考来提供当前附加渲染信息,在另一个实施例中,从包括摄像机投影矩阵和Z深度缓冲器的组中选择当前附加渲染信息。在又一个实施例中,主视频编码器和辅助视频编码器遵照H264/AVC视频译码标准。方法400在步骤430中结束。0041虽然本文所公开的方法已经参考以特定顺序所实施的特定步骤进行了描述和示出,但是应该理解这些步骤可以组合、细分或重新排序以形成等价方法而不脱离本公开的教导。因此,除非本文特别指示,否则步骤的顺序和分组不是对本公开的限制。0042本申请相关领域的技术人员将理解可以对所描述的实施例进行其他和进一步的添加、删除、替换和修改。说明书CN104125472A1/3页8图1说明书附图CN104125472A2/3页9图2说明书附图CN104125472A3/3页10图3图4说明书附图CN104125472A10。