针对基于块的编码的编码模式选择的制作方法

文档序号:7942831阅读:181来源:国知局
专利名称:针对基于块的编码的编码模式选择的制作方法
针对基于块的编码的编码模式选择
背景技术
数字视频流通常通过有线或无线连接作为单独图像的连续帧来加以传输。每一 个连续图像或帧通常包括非常大量的数据,并且因此数字图像流通常需要相对较大量的带 宽。照此,通常需要大量的时间来接收数字视频流,当试图接收和观看数字视频流时,这是 令人厌烦的。克服与传输和接收数字视频流相关联的问题的努力已经导致压缩数字视频流的 许多技术。虽然其他压缩技术已经用来减小数字图像的大小,但是运动补偿已经演进成为 也许最有用的用于将数字视频流减小到可管理的比例的技术。在运动补偿中,由于帧中的 运动而导致的处于不同位置的与先前帧的部分相同或几乎相同的“当前”帧的部分在数字 视频流的编码处理期间被识别。当包含基本冗余像素的块在先前帧中被找到时,代替传输 识别当前帧中的像素的数据的是,传输下述代码,该代码告知解码器在哪里为那些块找到 先前帧中的冗余或几乎冗余的像素。因此,在运动补偿中,在数字图像内最佳匹配当前数字图像中的类似形状的样本 (像素)块的图像样本(像素)预测块被识别。识别图像样本预测块是计算上高度密集的 过程,并且其复杂性已经在最近的基于块的视频编码器中被进一步加重,所述视频编码器 诸如ITU-T H. 264/IS0MPEG-4基于AVC的编码器,因为使用具有不同像素大小的编码块来 执行运动估计,诸如4X 4,4X 8,8 X 4,8 X 8,8 X 16,16 X 8和16 X 16。更特别的,这些类型的 编码器使用大的编码模式集合,每个被优化用于编码块中的特定内容特征,并且因此选择 被优化的编码模式是相对相对复杂的。虽然最近的基于块的视频编码器已经变的非常编码高效,从而导致与先前标准相 比对于相同的编码比特率而言更高的视觉质量,但是这些编码器的编码复杂性与先前编码 器相比也已经显著地增加。对于需要实时编码的应用,诸如现场流传送或远程会议,编码复 杂性的这种增加会产生实现方面的顾虑。目标在于减小编码复杂性的常规技术试图使用像素域信息事先删除不可能的编 码模式。虽然这些常规技术中的一些已经导致减小了的编码复杂性,但是它们这样做的代 价是增加了视觉失真。减小编码复杂性同时维持压缩效率和质量的改进方法因此将是有用的。


根据参考附图所作的以下描述,本发明的特征对于本领域技术人员而言将变得显 而易见,在附图中图1描绘了根据本发明实施例的、用于对数字视频流进行基于块的编码的系统的 简化框图;图2示出了根据本发明实施例的、选择用于对数字视频流进行基于块的编码的编 码模式的方法的流程图;图3描绘了根据本发明实施例的、被分成多个编码块的二维帧的图4示出了根据本发明实施例的、基于多尺寸编码块的深度值来预删除多尺寸编 码块的方法的流程图;图5示出了根据本发明实施例的、描绘具有不同深度值的两个对象的投影平面的 图;以及图6示出了根据本发明实施例的、被配置成实施或执行图2和4中所示方法的计 算设备的框图。
具体实施例方式为了简单和说明性的目的,通过主要参考其示例性实施例来描述本发明。在以下 描述中,阐述了许多具体细节以便提供对本发明的全面理解。然而对于本领域普通技术人 员将显而易见的是,本发明可以在没有这些具体细节的限制的情况下实现。在其他情况下, 没有详细描述众所周知的方法和结构,以避免不必要地模糊本发明。本文公开的是用于选择对数字视频流进行基于块的编码的编码模式的方法和系 统。本文还公开了被配置成执行所公开方法的视频编码器。根据一个方面,数字视频流的 帧被分成由像素形成的多尺寸的编码块,并且像素的深度值被用于快速且高效地识别包含 足够类似的深度值的最大编码块。更特别的是,相同尺寸的编码块的深度值的类似性被评 估以便确定相同的编码模式是否可以用在相同尺寸的编码块上,所述深度值可以被定义为 虚拟照相机和帧中所呈现像素之间的距离。一般而言,帧中具有类似深度的区域更有可能对应于均勻运动的区域。此外,深度 值信息通常由图形渲染引擎在将3D场景渲染为2D帧的期间产生,并且因此可容易地为视 频编码器获得。照此,如果可容易地获得的深度值信息表示空间区域中的均勻运动,则基本 上可以避免考虑较小的块尺寸来进行运动估计,从而导致模式选择复杂性的减小以及小的 编码性能损失。本文公开的系统和方法因此可以被实施为压缩视频以进行存储或传输,以及用于 随后重建原始视频的近似。更特别的,本文公开的系统和方法涉及编码视频信号以进行压 缩和随后重建。在一个示例中,本文公开的系统和方法可以被实施为编码视频以用于改进 的在线游戏观看。通过实施本文公开的系统、方法和视频编码器,与基于块的编码相关联的复杂性 可以显著降低,且视觉失真有可忽略的增加。首先参考图1,其中示出了根据示例的、用于对数字视频流进行基于块的编码的系 统100的简化框图。在一方面,本文公开的各种方法和系统可以在图1中所示的系统100 中实施,如本文以下更详细讨论的那样。应该理解的是,系统100可以包括附加的部件,并 且本文描述的多个部件中的某些部件可以被移除和/或修改,而不脱离系统100的范围。如图1中所示,系统100包括视频编码器110和图形渲染单元120。图形渲染单元 120还被描绘为包括具有颜色缓冲器124和Z缓冲器126的帧缓冲器122。一般地,视频编 码器Iio被配置为执行如下过程基于从图形渲染单元120获得的深度值信息140来快速 且高效地选择用于对数字视频流130进行基于块的编码的优化编码模式。视频编码器110 在对视频流130执行基于块的编码处理的过程中可应用优化编码模式。图形渲染单元120从诸如游戏服务器或其他类型的计算机源之类的输入源接收
6包含三维(3D)模型130的视频流。图形渲染单元120还被配置为将3D模型130渲染或光 栅化到二维(2D)平面上,以产生原始2D帧。根据一个示例,3D模型130的渲染在图形渲染 单元120的帧缓冲器122中执行。图形渲染单元120单独地将3D模型130中的虚拟对象绘制到帧缓冲器122上,在 此过程期间,图形渲染单元120产生所绘制的虚拟对象的深度值。颜色缓冲器124包含像素 粒度中的所绘制虚拟对象的RGB值,并且Z缓冲器126包括像素粒度中的所绘制虚拟对象 的深度值。深度值一般对应于所绘制的虚拟对象的被渲染像素和虚拟相机之间的距离,所 述虚拟相机通常用于在图形渲染处理期间确定对象遮挡。因此例如,所绘制虚拟对象(或 像素)的深度值用于辨别哪些对象更接近于虚拟照相机,并且因此哪些对象(或像素)被 遮挡以及哪些没有被遮挡。在一个方面,图形渲染单元120被配置为创建由视频编码器110 编码的2D帧的深度图。视频编码器110采用像素的深度值140来快速且高效地选择用于视频流130的基 于块的编码的基本优化编码模式。更特别的,例如,视频编码器110被配置为通过评估宏块 (16X16像素)子集中的像素的深度值140并且从要被编码的编码块的候选集合中快速消 除不可能的块尺寸来快速且高效地选择编码模式。视频编码器110用来选择编码模式的各 种方法在本文下面更详细地加以描述。现在参考图2,其中示出了根据实施例的、选择用于对数字视频流进行基于块的编 码的编码模式的方法200的流程图。对本领域普通技术人员而言应当显而易见的是,图2 中描述的方法200表示一般说明,并且可以添加其他步骤或可以去除、修改或重新布置现 有步骤,而不会偏离方法200的范围。一般而言,视频编码器110可以包括硬件和软件中的至少一种,其被配置为实现 作为对视频流130编码并且形成编码比特流150的操作的一部分的方法200。此外,视频编 码器110可以实施方法200以通过快速且高效地识别编码块的基本优化编码模式来大大减 小对视频流130进行基于块的编码的复杂性。照此,例如通过实施方法200,诸如在H. 264 标准下的实时的基于块的编码的复杂性可以被大大降低。在步骤202,视频编码器110可以从图形渲染单元120接收经渲染的2D帧。如上 所述,2D帧可能已经被图形渲染单元120渲染了。在步骤204,视频编码器110将每个2D帧分成具有不同可用大小的编码块320,例 如图3中所示。图3更特别地描绘了已经被分成多个编码块320的2D帧310的图300。如 其中所示,视频编码器110可以将2D帧310分成具有例如16X 16像素的第一尺寸的编码 块320 (也以另外的方式称为宏块)。图3中还描绘了其中一个编码块320的放大图,其示 出了视频编码器110可以进一步的将编码块320分成更小的编码块A-D。更特别的,图3示出了 16X 16像素编码块320可以被分成具有例如8X8像素的 第二尺寸的编码块A-D。图3还示出了第二尺寸的编码块A-D可以被进一步分为具有例如 4X4像素的第三尺寸的编码块A
-A[3]。照此,第二尺寸的编码块A-D近似是第一尺寸 的编码块的尺寸的四分之一,并且第三尺寸的编码块A
-A[3]近似是第二尺寸的编码块 A-D的尺寸的四分之一。虽然未示出,但第二尺寸的编码块B-D还可以被分为相应的第三尺 寸的编码块B
-B [3],C
-C [3],以及D
-D [3],类似于第二尺寸的编码块A。在步骤206,视频编码器110例如从图形渲染单元120获得包含在编码块320中的像素的深度值140。如上所述,视频编码器110还可以接收被映射到2D帧的像素的深度值 140。在步骤208,视频编码器110识别每一个宏块320中(例如每个16 X 16像素编码 块)中包含具有足够类似深度值150的像素的最大编码块尺寸。下面参考图4中描绘的方 法400来更详细的讨论步骤208。在步骤210,视频编码器110选择用于对编码块320进行基于块的编码的编码模 式,所述编码块320最小具有被识别为包含具有足够类似的深度值的像素的最大编码块尺 寸。更特别的,视频编码器110为至少具有所识别的最大编码块尺寸的编码块320选择实 质优化的编码模式。视频编码器110然后可以根据所选择的编码模式对编码块320执行基 于块的编码操作以输出编码比特流150。现在转到图4,其中示出了根据实施例的、基于多个尺寸的编码块的深度值140预 删除多个尺寸的编码块的方法400的流程图。对于本领域技术人员而言应当显而易见的 是,图4中描述的方法400表示一般说明,并且可以添加其他步骤或可以去除、修改或重新 布置现有步骤,而不会偏离该方法的范围。一般而言,方法400是图2中识别包含具有足够类似的深度值140的像素的最大 编码块的步骤206的更详细描述。更特别的,方法400包括用于快速且高效地预删除具有 不同深度值的多尺寸编码块的步骤。换言之,每个宏块320中的具有不同深度值140的那 些多尺寸编码块被从为其选择编码模式的编码块候选集合中去除。编码块候选集合可以被 定义为包括对其识别基本优化编码模式的各种尺寸的那些编码块。编码模式例如包括跳过 (Skip)、内部(Intra)以及之间(Inter)。根据示例,视频编码器110采用图形渲染单元120的ζ缓冲器中可得到的像素的 深度值140来识别基本优化的编码模式。在ζ缓冲器中,每个像素的深度值由有限的N比 特表示来表示,其中N的范围通常是从16比特到32比特。因为这个有限的精度限制,以及 真实深度值ζ的集合,ζ缓冲器通常使用N比特精度的量化深度值Zb 方程(1) &=2"。+勾其中
V ζ)方程⑵和6=
zF -zN zN - zF在方程(2)中,zN和zF是近平面和远平面的ζ坐标,如图5中的图500中所示。 如其中所示,近平面是投影平面,而远平面是从其可看到对象的最远视界(horizon) ;zN和 zF通常被选为避免由于将真实深度ζ舍入到量化深度Zb而导致的错误的对象遮挡。方程 (1)基本表明深度值是非均勻量化的。也就是说,靠近虚拟照相机的对象比远离的对象具 有更细的深度精度,这在大多数渲染情形中是希望的。归一化的量化深度值还可以被定义 为方程(3)一。=参其中 Z0 e
.经量化的深度值的缩放整数形式Zb或归一化形式Ztl可以从常规的图形卡获得。 此外,当ζ接近zF(或zN)时,Ztl接近1 (或0),并且由于zF >> zN,方程⑷a 1且b -zN,并且因此,
8
方程
权利要求
一种选择用于对数字视频流进行基于块的编码的编码模式的方法,所述数字视频流由多个连续帧组成,所述方法包括获得包含在多个连续帧中的具有不同尺寸的编码块中的像素的深度值;识别包含具有足够类似的深度值的多个像素的最大编码块尺寸;以及选择用于对最小具有所识别的最大编码块尺寸的编码块进行基于块的编码的编码模式。
2.根据权利要求1的方法,还包括将帧划分成相应的多个编码块,其中在对数字视频流进行三维图形渲染期间生成像素 的深度值,其中划分帧还包括对于每个帧而言,将帧划分成多个尺寸的编码块,并且其中 识别包含具有基本类似的深度值的多个像素的最大编码块还包括在选择编码模式的步骤之前,基于多个尺寸的编码块的深度值预删除所述多个尺寸的 编码块中经选择的编码块。
3.根据权利要求2的方法,其中所述多个尺寸包括第一尺寸、第二尺寸和第三尺寸, 其中第二尺寸是第一尺寸的四分之一、且第三尺寸是第二尺寸的四分之一,其中具有第二 尺寸的块包含在具有第一尺寸的块内,且其中具有第三尺寸的块包含在具有第二尺寸的块 内,且其中预删除编码模式还包括对于每个第一尺寸的块而言,将具有第二尺寸的每个块内的具有第三尺寸的四个块的深度值进行比较;以及 响应于在四个第三尺寸的块中深度值是基本类似的,从待编码的编码块的候选集合中 去除小于第二尺寸的块尺寸。
4.根据权利要求3的方法,还包括 对于每个第一尺寸的块而言,通过将两个水平相邻块的第一集合的深度值相互比较、以及将两个水平相邻块的第二 集合的深度值相互比较,来比较具有第二尺寸的块的深度值;确定第一集合中的块的深度值之间的差是否落在预定水平以下; 响应于该差落在预定水平以下,从候选集合中去除第一集合中的块; 确定第二集合中的块的深度值之间的差是否落在预定水平以下;以及 响应于该差落在预定水平以下,从候选集合中去除第二集合中的块。
5.根据权利要求4的方法,还包括 对于每个第一尺寸的块而言,通过将两个垂直相邻块的第三集合的深度值相互比较、以及将两个垂直相邻块的第四 集合的深度值相互比较,来比较具有第二尺寸的块的深度值;确定第三集合中的块的深度值之间的差是否落在预定水平以下; 响应于该差落在预定水平以下,从候选集合中去除第三集合中的块; 确定第四集合中的块的深度值之间的差是否落在预定水平以下;以及 响应于该差落在预定水平以下,从候选集合中去除第四集合中的块。
6.根据权利要求5的方法,还包括 对于每个第一尺寸的块而言,将两个水平相邻块的深度值与其他两个水平相邻块的深度值相比较;以及响应于所述两个水平相邻块基本类似于其他两个水平相邻块,从编码块的候选集合中 去除所述两个水平相邻块和所述其他两个水平相邻块中的每一个。
7.根据权利要求6的方法,还包括对于每个第一尺寸的块而言,将两个垂直相邻块的深度值与其他两个垂直相邻块的深度值相比较;以及响应于所述两个垂直相邻块基本类似于其他两个垂直相邻块,从编码块的候选集合中 去除所述两个垂直相邻块和所述其他两个垂直相邻块中的每一个。
8.根据权利要求1的方法,其中,识别包含具有基本类似的深度值的多个像素的最大 编码块尺寸还包括通过以下操作来识别最大编码块尺寸确定编码块中类似性方面的偏差 值,确定偏差值是否超过预定水平,以及从待编码的编码块的候选集合中去除具有超过预 定水平的偏差值的那些编码块。
9.根据权利要求1的方法,其中识别包含具有足够类似的深度值的多个像素的最大编 码块尺寸还包括使用相似函数来识别编码块中的深度值是否足够类似。
10.根据权利要求9的方法,还包括识别编码块的归一化量化深度值的最大值和最小值;以及使用编码块的归一化量化深度值的最大值和最小值来应用绝对值和相对值度量之一, 从而定义相似函数。
11.根据权利要求9的方法,还包括将编码块的归一化量化深度值转化为真实深度值;计算真实深度值的和;以及使用绝对值度量来确定任何两个编码块之间在和方面的最大差,其中所述相似函数是 和方面的最大差。
12.根据权利要求9的方法,还包括将编码块的归一化量化深度值转化为真实深度值;在深度域中将索贝尔算子应用于编码块中的每个像素,以识别每个像素的梯度;以及其中将相似函数定义为梯度大于预设梯度阈值的像素的数目。
13.根据权利要求1的方法,其中选择用于对编码块进行基于块的编码的编码模式还 包括将所识别的最大编码块尺寸的率失真成本设置为无穷大;对下述编码块执行编码模式选择操作,所述编码块最小具有所识别的最大编码块尺 寸,且最小具有所识别的最大编码块尺寸的编码块的率失真成本为无穷大。
14.一种视频编码器,包括硬件和软件中的至少之一,其被配置为接收多个连续帧和包含在多个连续帧的多个尺 寸的编码块中的像素的深度值,以识别包含具有足够类似的深度值的像素的最大编码块尺 寸,其中当编码块的偏差值落在预定水平以下时,将编码块确定为足够类似,以及被配置为 选择用于对最小具有所识别的最大编码块尺寸的编码块进行基于块的编码的编码模式。
15.根据权利要求14的视频编码器,其中硬件和软件中的至少之一被配置为根据分 别确定尺寸的编码块的深度值的类似性方面的偏差值,从最小编码块尺寸到最大编码块尺 寸顺序地预删除编码块,从而识别最大编码块尺寸。
16.根据权利要求14的视频编码器,其中硬件和软件中的至少之一被配置为使用相似 函数来识别编码块中的深度值是否足够类似。
17.根据权利要求14的视频编码器,其中硬件和软件中的至少之一被配置为将所识 别的最大编码块的率失真成本设置为无穷大,并且对编码块执行编码模式选择操作,所述 编码块最小具有所识别的最大编码块尺寸,且所识别的最大编码块尺寸的率失真成本被设 置为无穷大,从而选择用于对最小具有所识别的最大编码块尺寸的编码块进行基于块的编 码的编码模式。
18.根据权利要求14的视频编码器,其中硬件和软件中的至少之一还被配置为通过使 用所选择的编码模式来对编码块进行编码。
19.一种其上嵌入有一个或多个计算机程序的计算机可读存储介质,所述一个或多个 计算机程序实施一种选择用于对数字视频流进行基于块的编码的编码模式的方法,所述数 字视频流由多个连续帧组成,所述一个或多个计算机程序包括用于以下操作的计算机可读 代码获得包含在多个连续帧中的具有多个尺寸的编码块中的像素的深度值;通过对多个尺寸的编码块实施预删除操作,来识别包含具有足够类似的深度值的像素 的最大编码块尺寸;以及选择用于对最小具有所识别的最大编码块尺寸的编码块进行基于块的编码的编码模式。
20.根据权利要求19的计算机可读存储介质,所述一个或多个计算机程序还包括用于 以下操作的计算机可读代码对多个尺寸的编码块中的像素的深度值实施相似函数,以识别包含具有足够类似的深 度值的多个像素的最大编码块尺寸。
全文摘要
在一种选择用于对由多个连续帧组成的数字视频流进行基于块的编码的编码模式的方法中,获得包含在多个连续帧中的具有不同尺寸的编码块中的像素的深度值;识别包含具有足够类似的深度值的像素的最大编码块尺寸;以及选择对最小具有所识别的最大编码块尺寸的编码块进行基于块的编码的编码模式。
文档编号H04N7/32GK101978697SQ200880128251
公开日2011年2月16日 申请日期2008年1月25日 优先权日2008年1月25日
发明者A·奥尔特加, G·钟, T·萨卡莫托 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1