扩展预测模式和视频编解码器的性能的制作方法

文档序号:7780487阅读:101来源:国知局
扩展预测模式和视频编解码器的性能的制作方法
【专利摘要】扩展预测模式和视频编解码器的性能。视频帧压缩系统包括渲染引擎,其提供当前视频帧和当前附加渲染信息。此外,视频帧压缩系统包括弯曲引擎,其生成经弯曲的视频帧,其中经弯曲的视频帧是基于当前附加渲染信息的先前视频帧的变形。进一步地,视频帧压缩系统包括视频编码器,其通过使用经弯曲的视频帧作为参考帧对当前视频帧进行压缩并且分开地对当前附加渲染信息进行压缩。又进一步地,视频帧压缩系统包括打包器,其提供分别与经压缩的当前视频帧和经压缩的当前附加渲染信息相对应的主数据流和辅助数据流。还提供了视频帧解压缩系统以及视频帧压缩和解压缩的方法。
【专利说明】扩展预测模式和视频编解码器的性能
[0001] 相关申请的夺叉引用
[0002] 本申请要求享有由Azar等人于2013年4月26日所提交的、序列号为13/871,180 的、题目为"Extending Prediction Modes and Performance of Video Codecs"的美国申 请的优先权,其与本申请共同转让并且通过援引并入本文。

【技术领域】
[0003] 本申请总地针对网络传输的编码和解码,并且更具体地针对视频帧压缩和解压缩 系统以及视频帧压缩和解压缩的方法。

【背景技术】
[0004] 视频编解码器是使能数字视频(即数字数据流)的压缩或解压缩的设备或软件。许 多当前的视频编解码器操作在经编码的数据代表自然或现实世界场景的假设上,该自然或 现实世界场景在空间和时间上都被进行采样。这类场景呈现各种光照状况并且可能包含多 个对象,每个对象具有其自己的形状和纹理。然而,每个视频帧中的这些信号通常是连续的 并且遵循某些样式,如具体的功率谱形状或颜色分布。此外,因为可以以相对高的速度捕获 帧,所以新的视频帧中所引入的信息量通常是小的并且来源自摄像机或对象运动。该空间 和时间冗余由所有最先进的视频编码器利用,该最先进的视频编码器尝试预测当前视频帧 并且仅对不能从空间或时间邻域获得的数据进行编码。与所选择的预测模式一起仅对当前 视频帧和其预测之间的差异进行编码提供了对于输出视频流的带宽和存储要求的显著减 少。视频帧预测中的进一步的改善将有益于本领域。


【发明内容】

[0005] 本公开的实施例提供视频帧压缩和解压缩系统以及视频帧压缩和解压缩的方法。
[0006] 在一个实施例中,视频帧压缩系统包括渲染引擎,其提供当前视频帧和当前附加 渲染信息。此外,视频帧压缩系统包括弯曲引擎,其生成经弯曲的视频帧,其中经弯曲的视 频帧是基于当前附加渲染信息的先前视频帧的变形。进一步地,视频帧压缩系统包括视频 编码器,其通过使用经弯曲的视频帧作为参考帧对当前视频帧进行压缩并且分开地对当前 附加渲染信息进行压缩。又进一步地,视频帧压缩系统包括打包器,其提供分别与经压缩的 当前视频帧和经压缩的当前附加渲染信息相对应的主数据流和辅助数据流。
[0007] 在一个方面,视频帧压缩的方法包括提供当前视频帧和当前附加渲染信息。视频 帧压缩的方法还包括生成经弯曲的视频帧,其中经弯曲的视频帧是基于当前附加渲染信息 的先前视频帧的变形。视频帧压缩的方法进一步包括通过使用经弯曲的视频帧作为参考帧 对当前视频帧进行压缩并且分开地对当前附加渲染信息进行压缩。视频帧压缩的方法又进 一步包括将经压缩的当前视频帧和经压缩的附加渲染信息分别打包为主数据流和辅助数 据流。
[0008] 在另一个实施例中,视频帧解压缩系统包括拆包器,其提供经压缩的当前视频帧 和经压缩的附加渲染信息。此外,视频帧解压缩系统包括辅助视频解码器,其对经压缩的附 加渲染信息进行解码以提供当前附加渲染信息。进一步地,视频帧解压缩系统包括弯曲引 擎,其重新构建经弯曲的视频帧,其中经弯曲的视频帧是基于当前附加渲染信息的先前视 频帧的变形。又进一步地,视频帧解压缩系统包括主视频解码器,其通过使用经弯曲的视频 帧作为参考帧对经压缩的当前视频帧进行解码以提供当前视频帧。
[0009] 在另一个方面,视频帧解压缩的方法包括拆包经压缩的当前视频帧和经压缩的附 加渲染信息。视频帧解压缩的方法还包括对经压缩的附加渲染信息进行解码以提供当前附 加渲染信息。视频帧解压缩的方法进一步包括重新构建经弯曲的视频帧,其中经弯曲的视 频帧是基于当前附加渲染信息的先前视频帧的变形。视频帧解压缩的方法又进一步包括通 过使用经弯曲的视频帧作为参考帧对经压缩的当前视频帧进行解码以提供当前视频帧。 [0010] 前述已经概括本公开的优选和可替换特征,使得本领域的技术人员可以更好地理 解本公开以下的详细描述。本公开的附加特征将在下文中进行描述,其形成本公开的权利 要求的主题。本领域的技术人员应该理解他们可以容易地使用所公开的概念和具体实施例 作为基础来设计或修改其他结构以实行本公开的相同目的。

【专利附图】

【附图说明】
[0011] 现在参考结合附图所采取的以下描述,在附图中:
[0012] 图1示出了根据本公开的原理所构建的视频帧压缩系统的实施例的框图;
[0013] 图2示出了根据本公开的原理所构建的视频帧解压缩系统的实施例的框图;
[0014] 图3示出了根据本公开的原理所实行的视频帧压缩的方法的实施例的流程图;以 及
[0015] 图4示出了根据本公开的原理所实行的视频帧解压缩的方法的实施例的流程图。

【具体实施方式】
[0016] 视频游戏和三维(3D)应用通常通过渲染三角形来建立整个视频场景用于显示在 视频屏幕上。在视频屏幕上所看到的实际上是3D几何体的投影。屏幕上的每个像素采用 指示用于像素的相应的相对场景深度的深度坐标(即z深度坐标),该像素还具有在视频屏 幕上的水平和垂直(X和y)像素位置坐标。像素位置和其z深度信息这二者被采用以在二 维屏幕上创建视频场景的3D呈现。该z深度坐标信息容易作为渲染视频场景的结果得到。 此外,来源于摄像机运动的摄像机投影信息(要求新的摄像机定位或位置)也容易从渲染操 作得到。
[0017] 预测模式由视频编码器采用并且典型地提供计算复杂度和压缩效率之间的权衡。 它们非常适用于具有各种信号特征的输入帧流,但是对于利用计算机图形方法(例如通过 栅格化或光线追踪)所合成的输入序列,可以提供对当前帧的更好预测。然而,标准编码器 框架不包括用于向编码器提供外部预测图像的设施。本公开的实施例解决该问题并且呈现 用于为编解码器扩展预测模式列表的简单和强大的方法。所提出的方法利用具体针对经 渲染的内容进行调整的预测模式来完成。该新颖的预测模式可以快速地在GPU上进行 计算并且改善最终位流的压缩率。
[0018] 此处,关键思想是提供附加的、经GPU渲染的预测图像作为参考帧列表中的参考 帧之一。可以使用对编码器和解码器二者都可用的数据在视频译码框架之外(例如在应用 级别上)构建该补充图像。与常规预测模式一样,为了编码和解码无伪影帧,编码器和解码 器二者必须被同步并且接收相同的预测图像。
[0019] 总体上,期望利用该技术通过网络所传输的、包括新的视频流和辅助流的数据将 小于来自常规(朴素)压缩技术的原始视频流。通过网络传送较少的数据转化成较低的总体 延迟(从而,例如为云游戏提供更好的体验)、较低的成本(与所要求的较少传输位相对应) 和可以同时被服务的更多的客户。
[0020] "提示"一般在本公开中被定义为对预测或编码过程可用的附加信息。该附加信息 可以通常由渲染引擎提供并且往往在较低级的软件(例如正在控制视频编码器的压缩引擎 的软件)中。如已经提到的,该附加信息允许视频编码器在编码时做得更好,从而提供图像 质量的改善、延迟时间的减少或分配场景所需要的位的数目的减少。
[0021] "弯曲"视频帧一般在本公开中被定义为使现有的视频图像或帧变形。弯曲操作一 般将一个图像平面中的定位映射到另一个图像平面中的定位。典型地,在本公开中,经弯曲 的视频帧是在提供变形方面采用附加信息(即至少一个提示)的经变形的先前视频帧。如所 提到的,这些提示可以从渲染过程或渲染引擎得到。例如,随着摄像机定位改变,该弯曲变 形正在试图在每像素基础上预测对每个新像素的影响和每个新像素的状况。
[0022] 因此,本公开的实施例围绕在创建经弯曲的帧方面使用提示的核心思想,该经弯 曲的帧之后可以被采用作为用于视频编码器的参考视频帧。这样做,因为仅添加另一个参 考帧用于由视频编码器使用,所以可以采用现有的视频编码器架构。尽管在客户端解码器 处要求对附加信息的解码,但是也可以采用现有的视频解码器。在一个示例中,本公开的实 施例容纳与H. 264/AVC视频译码标准兼容的未经修改的编码器和解码器的使用。
[0023] 图1示出了根据本公开的原理所构建的、概括标为100的视频帧压缩系统的实施 例的框图。视频压缩系统100包括渲染引擎105、弯曲引擎110、视频编码器120和打包器 130。
[0024] 渲染引擎105向视频编码器120的帧压缩部分121提供当前视频帧107。如所示 的,渲染引擎105还向弯曲引擎110和视频编码器120的提示压缩部分122提供当前附加 渲染信息(即提示)。视频编码器120向打包器130提供包含当前视频帧107的帧压缩的主 视频流和包含当前附加渲染信息的压缩的辅助流用于网络传输。
[0025] 在图1的所示出的实施例中,视频编码器120与H. 264/AVC视频译码标准兼容,其 容纳主视频流和辅助流并且支持多个参考帧评估,其中用于所采用的每个参考帧的编码器 参数经调节以改善准确性和性能。在另一个实施例中,视频编码器120可以在组合的颜色+ 深度编码模式中与编码颜色帧一起来编码代表大多数辅助流的Z深度信息。一般地,本公 开的实施例可以容纳其他现有的或未来开发的视频编码结构中的帧压缩和提示压缩,其中 这些压缩功能可以是分开的或组合的。
[0026] 弯曲引擎110通过先前视频帧109的弯曲变形来生成经弯曲的视频帧125,其中弯 曲变形基于由渲染引擎105所供应的当前附加渲染信息。经弯曲的视频帧110由视频编码 器120的帧压缩部分121采用作为用于压缩当前视频帧107的参考帧。
[0027] -般地,视频压缩系统100示出了在创建并采用新的参考帧(即经弯曲的当前帧 125)的服务器端上的过程。对于服务器端,经弯曲的当前帧125允许视频编码器120对帧 预测做出改善,因为它精确地反映了最佳情形下的当前帧107。例如,对于仅全局运动的情 形,经弯曲的帧125将看上去与当前帧107完全一样。
[0028] 在所示出的示例中,从渲染引擎105所供应的当前附加渲染信息包括摄像机投影 矩阵和Z深度缓冲器信息,其与外部运动向量提示相对应。术语"运动向量提示"与关于当 前宏块定位的平移向量相对应。在不具有对象运动量或具有小的对象运动量的帧情况下, 在提供新的参考帧方面使用这些外部运动向量提示允许零或接近零的运动搜索。
[0029] 视频编码器120具有接受来自外部的提示的能力,该来自外部的提示指示其尝试 通过运动向量提示所提供的、与参考帧中的位置相对应的运动向量。该过程取代对运动向 量的搜索,其将给予最少数目的位以对宏块进行编码或将给予用于宏块的匹配。例如,可能 需要在特定方向中从当前宏块定位移动某个数目的像素以找到看起来接近当前宏块的宏 块。
[0030] 新的参考帧的使用是时间框架的一部分并且还是在允许预测时间减少的同时提 供预测改善的空间和时间预测的宏大框架的一部分。预测改善典型地提供具有当前帧107 的较小剩余从而要求较少编码位的压缩。
[0031] 还考虑了在客户端上对网络传输进行解码,因为需要在那里重新构建经弯曲的当 前帧125。这要求被用来构建经弯曲的帧125的相同信息,其在该示例中是与先前视频帧 109 -起的摄像机投影和Z深度信息。
[0032] 图2示出了根据本公开的原理所构建的、概括标为200的视频帧解压缩系统的实 施例的框图。视频帧解压缩系统200包括拆包器205、主解码器210、辅助解码器215和弯 曲引擎220。
[0033] 拆包器205从诸如图1的视频帧压缩系统100的视频帧压缩系统接收网络传输, 并且提供与当前视频帧214的经压缩的剩余帧相对应的主视频流。拆包器205还提供如关 于图1也论述过的与经压缩的当前附加渲染信息(即从服务器端所发送的提示)相对应的辅 助数据流。
[0034] 经压缩的当前附加渲染信息的Z深度部分被提供给辅助解码器215用于采用从存 储器所提供的先前帧Z深度缓冲器信息216进行解压缩。该解压缩产生经解压缩的当前帧 Z深度缓冲器信息217。
[0035] 经压缩的当前附加渲染信息的摄像机投影矩阵部分与经解压缩的当前帧Z深度 缓冲器信息217 -起被提供给弯曲引擎220,弯曲引擎220提供对先前帧211的弯曲变形以 产生所重新构建的经弯曲的帧225。先前帧211还从存储器被提供。主解码器210采用所 重新构建的经弯曲的帧220作为优选的参考帧用于解码主视频流以提供当前帧214。
[0036] 在所示出的实施例中,主解码器210和辅助解码器215与H. 264/AVC视频译码标 准兼容并且可以是同一视频解码器的一部分。一般地,本公开的实施例可以容纳其他现有 的或未来开发的视频解码结构中的帧解压缩和提示解压缩,其中这些解压缩功能可以是分 开的或组合的。
[0037] 图3示出了根据本公开的原理所实行的、概括标为300的视频帧压缩的方法的实 施例的流程图。方法300始于步骤305,并且在步骤310中提供当前视频帧和当前附加渲染 信息。之后,在帧315中生成经弯曲的视频帧,其中经弯曲的视频帧是基于当前附加渲染信 息的先前视频帧的变形。在步骤320中,通过使用经弯曲的视频帧作为参考帧对当前视频 帧进行压缩并且分开地对当前附加渲染信息进行压缩。在步骤325中,将经压缩的当前视 频帧和经压缩的附加渲染信息分别打包为主数据流和辅助数据流。
[0038] 在一个实施例中,从包括摄像机投影矩阵和Z深度缓冲器的组中选择当前附加渲 染信息。在另一个实施例中,当前视频帧和当前附加渲染信息遵照H. 264/AVC视频译码标 准。方法300在步骤330中结束。
[0039] 图4示出了根据本公开的原理所实行的、概括标为400的视频帧解压缩的方法的 实施例的流程图。方法400始于步骤405,并且在步骤410中拆包经压缩的当前视频帧和经 压缩的附加渲染信息。之后,在步骤415中,对经压缩的附加渲染信息进行解码以提供当前 附加渲染信息。在步骤420中重新构建经弯曲的视频帧,其中经弯曲的视频帧是基于当前 附加渲染信息的先前视频帧的变形。在步骤425中,通过使用经弯曲的视频帧作为参考帧 对经压缩的当前视频帧进行解码以提供当前视频帧。
[0040] 在一个实施例中,通过使用先前附加渲染信息作为参考来提供当前附加渲染信 息,在另一个实施例中,从包括摄像机投影矩阵和Z深度缓冲器的组中选择当前附加渲染 信息。在又一个实施例中,主视频编码器和辅助视频编码器遵照H. 264/AVC视频译码标准。 方法400在步骤430中结束。
[0041] 虽然本文所公开的方法已经参考以特定顺序所实施的特定步骤进行了描述和示 出,但是应该理解这些步骤可以组合、细分或重新排序以形成等价方法而不脱离本公开的 教导。因此,除非本文特别指示,否则步骤的顺序和分组不是对本公开的限制。
[0042] 本申请相关领域的技术人员将理解可以对所描述的实施例进行其他和进一步的 添加、删除、替换和修改。
【权利要求】
1. 一种视频帧压缩系统,包括: 渲染引擎,其提供当前视频帧和当前附加渲染信息; 弯曲引擎,其生成经弯曲的视频帧,其中所述经弯曲的视频帧是基于所述当前附加渲 染信息的先前视频帧的变形;以及 视频编码器,其通过使用所述经弯曲的视频帧作为参考帧对所述当前视频帧进行压缩 并且分开地对所述当前附加渲染信息进行压缩。
2. 如权利要求1所述的系统,进一步包括打包器,其提供分别与经压缩的当前视频帧 和经压缩的当前附加渲染信息相对应的主数据流和辅助数据流。
3. 如权利要求1所述的系统,其中所述当前附加渲染信息从组中选择,所述组包括: 摄像机投影矩阵;以及 Z深度缓冲器。
4. 如权利要求1所述的系统,其中所述视频编码器遵照H. 264/AVC视频译码标准。
5. -种视频帧解压缩系统,包括: 拆包器,其提供经压缩的当前视频帧和经压缩的附加渲染信息; 辅助视频解码器,其对所述经压缩的附加渲染信息进行解码以提供当前附加渲染信 息; 弯曲引擎,其重新构建经弯曲的视频帧,其中所述经弯曲的视频帧是基于所述当前附 加渲染信息的先前视频帧的变形;以及 主视频解码器,其通过使用所述经弯曲的视频帧作为参考帧对所述经压缩的当前视频 帧进行解码以提供当前视频帧。
6. 如权利要求5所述的系统,其中所述主解码器和辅助解码器是同一解码器的至少一 部分。
7. 如权利要求5所述的系统,其中所述当前附加渲染信息通过使用先前附加渲染信息 作为参考来提供。
8. 如权利要求5所述的系统,其中所述当前附加渲染信息从组中选择,所述组包括: 摄像机投影矩阵;以及 Z深度缓冲器。
9. 如权利要求5所述的系统,其中所述主视频解码器和辅助视频解码器遵照H. 264/ AVC视频译码标准。
10. -种视频帧解压缩的方法,包括: 拆包经压缩的当前视频帧和经压缩的附加渲染信息; 对所述经压缩的附加渲染信息进行解码以提供当前附加渲染信息; 重新构建经弯曲的视频帧,其中所述经弯曲的视频帧是基于所述当前附加渲染信息的 先前视频帧的变形;以及 通过使用所述经弯曲的视频帧作为参考帧对所述经压缩的当前视频帧进行解码以提 供当前视频帧。
【文档编号】H04N19/87GK104125472SQ201310684788
【公开日】2014年10月29日 申请日期:2013年12月13日 优先权日:2013年4月26日
【发明者】哈桑·S·阿扎尔, 戴维·帕荣克, 斯特凡·埃卡特, 斯瓦格特·莫哈帕特拉 申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1