用于视频的数据压缩的制作方法

文档序号:7848190阅读:237来源:国知局
专利名称:用于视频的数据压缩的制作方法
技术领域
本发明涉及视频流的编码和传输。
背景技术
在视频流的传输中,不断努力减少需要传输的数据量而又仍然允许在传输的接收端适当重建移动图像。视频编码器接收如下输入视频流,该输入视频流包括待编码的“原始”视频帧的序列,每个视频帧代表在相应时间瞬间的图像。编码器然后将每个输入帧编码成两类编码巾贞之一=R1I1JiUintra frame)(也称为关键巾贞)或者间巾贞(inter frame)。编码的目的是压缩视频数据以便在通过传输介质传输时或者存储于存储介质上时产生较少位。仅使用来自编码的当前视频帧的数据对内帧进行压缩(通常使用帧内预测编码,
其中所述帧的一个图像部分相对于该相同帧的另一图像部分来编码和发送)。这与静态图像编码相似。另一方面,间帧使用先前帧(参考帧)的知识来压缩并且允许仅传输在该参考帧与时间上跟随它的当前帧之间的差值。这特别是在景象具有相对少的改变时允许高效得多的压缩。帧间预测通常使用运动估计以在运动矢量(这些运动矢量描述在帧之间的图像部分的移动)方面对视频编码和发送,然后使用运动补偿以基于发送的矢量在接收器预测该运动。用于视频通信的各种国际标准(比如MPEG 1、2和4以及H. 216、H. 263和H. 264)运用基于以规律块为基础的源帧分割的运动估计和补偿。根据分辨率、帧速率、位速率和景象,内帧可以是间帧的上至20至100倍。另一方面,间帧设定与先前间帧上至最近内帧的依赖关系。如果任何帧丢失,则对当前间帧解码可能造成误差和非自然因素。例如在H.264/AVC标准(参见T. ffiegand, G. J. Sullivan, G. Bjontegaard, A.Luthra: Overview of the H. 264/AVC video coding standard, 〃 in IEEE Transactionson Circuits and Systems for Video Technology, Volume: 13, Issue: 7, page (s):560-576,July 2003)中使用这些技术。图7图示了用于例如根据H. 264/AVC的基本编码结构将视频流编码成间帧和交织内帧的流的已知视频编码器。编码器接收输入视频流(该输入视频流包括待编码的帧的序列(每帧划分成构成宏块并且细分成块))并且输出量化变换系数和运动数据然后向解码器传输。编码器包括用于接收视频图像的输入宏块的输入70、减法级72、前向变换级74、前向量化级76、反向量化级78、反向变换级80、巾贞内预测编码级82、运动估计和补偿级84以及熵编码器86。减法级72被布置成接收包括系列输入宏块(每个输入宏块对应于帧的一部分)的输入信号。减法级72从每个输入宏块减去该宏块的预测以便生成残留信号(有时也称为预测误差)。在帧内预测的情况下,基于相同帧的一个或者多个邻近区域从帧内预测级82供应块的预测(在经由反向量化级78和反向变换级80的反馈之后)。在帧间预测的情况下,基于先前帧的所选区域从运动估计和补偿级84提供块的预测(同样在经由反向量化级78和反向变换级80的反馈之后)。对于运动估计,借助如下运动矢量标识所选区域,该运动矢量描述所选区域在先前帧中的位置与当前帧中编码的宏块之间的偏移。
前向变换级74然后例如借助离散余弦变换(DCT)将块的残留从空域表示变换成变换域表示。也就是说,它将来自在不同笛卡尔X和I坐标的一组像素值的每个残留块变换成如下一组系数,该组系数代表具有不同波数Iij^Pky (具有尺度I/波长)的不同空间频率项。前向量化级76然后量化变换系数并且输出残留信号的经量化和变换的系数以经由熵编码器86编码成视频流,由此形成编码的视频信号的部分用于向一个或者多个接收终端传输。另外也经由反向量化级78和反向变换级80反馈前向量化级76的输出。反向变换级80将残留系数从频域变换回空域值,在此它们被供应到帧内预测级82 (用于内帧)或者运动估计和补偿级84 (用于间帧)。这些级将反向变换和反向量化的残留信号与输入视频流知识一起使用以便产生内帧和间帧的局部预测(包括如在解码器所见的已经被前向和反向变换和量化的失真效果)。向减法级72反馈这一局部预测,该减法级产生如下残留信号,该残留信号代表在输入信号与局部帧内预测级82或者局部运动估计和补偿级84的输出之间的差值。在变换之后,前向量化级76量化这一残留信号、由此生成经量化、变换的残留系数用于向熵编码器86输出。运动估计级84也经由熵编码器86输出运动矢量用于包含于编码的位流中。当执行帧内编码时,思想是仅编码和传输如下度量,该度量指示帧内的图像数据的部分如何不同于该相同帧内的另一部分。然后可以在解码器预测该部分(假设从某一绝对数据开始),因而仅有必要传输在预测与实际数据之间的差值而不是实际数据本身。差值信号通常在幅度上更小、因而需要较少位来编码。在帧间编码的情况下,将运动补偿级84切换到反馈路径中取代帧内预测级82,因此在一帧和另一帧的块之间创建反馈回路,以便相对于先前帧的块对间帧编码。这通常需要比内帧更少的位来编码。 图8图示了如下对应解码器,该解码器包括用于向接收终端中接收编码的视频流的熵解码器90、反向量化级92、反向变换级94、帧内预测级96和运动补偿级98。在求和级100对帧内预测级和运动补偿级的输出求和。有许多已知的运动估计技术。一般而言,它们依赖于比较块与来自先前帧(参考帧)的一个或者多个其它图像部分。根据与所述块的大小和形状相同的区域预测每块,但是在水平或者竖直方向上被偏移任何数量像素或者甚至分数像素。以运动矢量的形式发送所用区域的标识作为开销(“附带信息”)。一种良好的运动估计技术必须平衡低复杂度与高质量视频图像的要求。也希望它无需太多开销信息。在上文描述的标准系统中,将注意在未量化的空域中执行帧内预测编码和帧间预测编码(运动估计)。更近以来,在变换域中操作的运动估计技术已经受到关注。然而现有技术无一能够以低复杂度执行(因此减少计算开销)而又交付高质量。因此,用于运动估计的频域技术目前无实际使用。VC-I视频编解码器具有在频域中操作的帧内预测模式,其中根据紧接位于处理的块左侧或者以上的DCT块的第一列(或者第一行)预测DCT (离散福利叶变换)域中的第一列和/或第一行AC系数。也就是说,根据相邻块中的直接空间邻居预测位于一个块的边缘的系数。作为参考,参见〃The VC-I and H. 264 Video Compression Standards forBroadband Video Services", AvHari Kalvaj Jae-Beom Lee, pp.251。

发明内容
一种从发送器向接收器传输视频数据的方法,该方法包括在更高分辨率接收视频信号的数据值;在发送器将成组数据值组合成第一更低分辨率布置的一个或者多个第一单元,每个第一单元基于一组所述数据值的组合;编码并且向接收器传输第一更低分辨率布置;在发送器将成组所述数据值组合成第二更低分辨率布置的一个或者多个第二单元,每个第二单元基于一组所述数据值的组合,其中第二单元从第一单元偏移分数位移,从而每个第二单元与至少一个第一单元部分地重叠;编码并且向接收器传输第二更低分辨率布置;向接收器传输所述位移的指示;并且在接收器基于所述指示来组合第一和第二更低分辨率布置、以便重建至少比第一和第二更低分辨率布置的分辨率更高的分辨率的图像。在实施例中,位移可以包括人为生成的位移。取而代之,位移可以包括与在相机与 捕获的对象或者景象之间的相对移动对应的实际位移。发送器可以包括移动终端,并且移动可以由移动终端中的陀螺仪传感器检测,或者移动可以由运动估计算法检测。指示可以包括发送器的模式的指示。该方法可以包括在发送器组合从视频信号捕获的成组更高分辨率的数据值以产生更低分辨率单元的多个第二网格,每个第二网格从第一网格偏移不同的分数位移;编码并且向接收器传输更低分辨率单元的每个第二网格;向接收器传输所述位移的指示;并且在接收器基于所述指示来组合第一和第二更低分辨率的网格、以便重建至少比第一和第二更低分辨率网格的分辨率更高的分辨率的图像。所述指示可以包括对预定位移图案的引用。取而代之,所述指示可以包括每个个别位移的指不。根据另一方面,可以提供一种对视频信号编码的方法,其中根据任何上述特征的方法对视频信号的一些部分编码,并且相对于规律可用参考块的查找表由发送(signalIing)块对视频信号的其它部分编码。根据本发明的另一方面,提供一种编码器,该编码器包括输入端,布置成在更高分辨率接收视频信号的数据值;以及处理装置,布置成将成组数据值组合成第一更低分辨率布置的一个或者多个第一单元,每个第一单元基于一组所述数据值的组合,并且对第一更低分辨率布置编码以便向接收器传输;其中处理装置还被布置成将成组所述数据值组合成第二更低分辨率布置的一个或者多个第二单元,每个第二单元基于一组所述数据值的组合,并且第二单元从第一单元偏移分数位移,从而每个第二单元与至少一个第一单元部分地重叠,并且对第二更低分辨率布置编码以便向接收器传输;编码器还包括输出端,布置成将编码的第一和第二更低分辨率布置与所述位移的指示一起输出以便向接收器传输;从而在接收器、使解码器能够基于所述指示来组合第一和第二更低分辨率布置,从而重建至少比第一和第二更低分辨率布置的分辨率更高的分辨率的图像。在实施例中,处理装置还可以被配置成执行根据任何上述方法特征的操作。根据本发明的另一方面,可以提供一种包括软件的编码器程序产品,该软件实施于计算机可读介质上并且配置成当在处理器上被执行时在更高分辨率接收视频信号的数据值;在发送器将成组数据值组合成第一更低分辨率布置的一个或者多个第一单元,每个第一单元基于一组所述数据值的组合;编码并且向接收器传输第一更低分辨率布置;在发送器将成组所述数据值组合成第二更低分辨率布置的一个或者多个第二单元,每个第二单元基于一组所述数据值的组合,其中第二单元从第一单元偏移分数位移,从而每个第二单元与至少一个第一单元部分地重叠;编码并且向接收器传输第二更低分辨率布置;向接收器传输所述位移的指示;并且在接收器基于所述指示来组合第一和第二更低分辨率布置、以便重建至少比第一和第二更低分辨率布置的分辨率更高的分辨率的图像。在实施例中,软件还可以被配置成在被执行时执行根据任何上述方法特征的操作。根据本发明的又 一实施例,可以提供一种对应视频位流。根据本发明的另一方面,可以提供一种网络设备,该网络设备包括承载编码的视频位流的传输介质。根据本发明的另一方面,可以提供一种解码器,该解码器包括输入端,配置成接收编码的视频位流并且基于所述指示来组合第一和第二更低分辨率的网格、由此重建至少比第一和第二更低分辨率的网格的分辨率更高的分辨率的图像。根据本发明的更多方面,可以提供一种对应解码方法和一种在计算机可读介质上实施的对应解码器产品。


为了更好地理解本发明并且示出如何可以实现本发明,现在将通过例子参照以下附图
图I是视频流的两巾贞的不意图不,
图Ia示出了在空域中表示的块的像素值,
图Ib示出了在频域中表示的块的系数,
图2是示出了编码方法的流程图,
图3是示出了排序块列表的图形,
图3a图示了块排序的例子,
图3b图示了块匹配预测的例子,
图4是编码器的示意框图,
图5A是巾贞内预测的示意例子,
图5B是帧间预测的示意例子,
图6是解码器的示意图,
图7是编码器的示意框图,
图8是解码器的示意框图,
图9是选择候选用于块匹配的示意图示,
图10是编码方法的流程图,
图11是解码方法的流程图,
图12是传输的位流的示意表示,
图13a是块缩放的示意图示,
图13b是块旋转的示意图示,
图13c是块旋转的另一示意图示,
图13d是块旋转的另一示意图示,图13e是示出了用于在块旋转中使用的计算的图,
图14a示意地图示了在两帧之间的运动位移,
图14b是运动位移的另一不意图不,并且 图14c示意地示出了使用运动位移以减少数据传输。
具体实施例方式下文描述一种用于视频传输系统中的数据压缩的方法和系统。先描述一种在频域中执行的用于选择参考块以在目标块的预测编码中使用的示例块匹配技术。接着描述用于发送参考块的标识以便在视频预测编码中使用的一些示例技术。接着描述可以在频域中有利地执行的一些示例图像处理技术,以及一种用于进一步减少传输的视频流的位速率的方案。在特别优选的实施例中,可以组合这些技术,但是取而代之,可以独立地使用它们。块兀配
图I示意地图示了视频图像在两个相应时间瞬间t和t+i的两个相继帧ft和ft+1。出于帧间预测的目的,第一帧ft可以视为参考帧,即刚才已经在编码器根据移动序列编码的帧或者刚才已经在解码器解码的帧。第二帧ft+1可以视为目标帧,即出于编码或者解码的目的而设法估计其运动的当前帧。为了示例而示出了具有两个移动对象的例子。运动估计本身在本领域中是已知的,因此这里仅在为了提供用于本发明的适当背景而必需的程度上加以描述。根据用于视频通信的国际标准(比如MPEG 1、2和4以及H. 261、H. 263和H. 264),运动估计是基于以块为基础的源帧分割。例如每个块可以包括各种其它标准中的4父4或者4\8、8\4、8\8、16\8、8父16或者16X16个像素的阵列。示例块在图I中由Bi表示。可以根据所需准确度和解码速率选择每块的像素数目。可以依赖于根据标准采用的协议以多个不同方式表示每个像素。在这里的例子中,每个像素由色度(U和V)和照度(Y)值表示(然而其它可能的色空间表示在本领域中也是已知的)。在这一特定例子中,色度值由块中的四个像素共享。宏块MBi通常包括四块,例如用于4X4块的8X8像素阵列或者用于8X8块的16X16像素阵列。每个像素具有如下关联位速率,该位速率是为了传输关于该像素的信息而需要的数据量。图2是根据本发明一个优选实施例的数据压缩方法的示意流程图。该方法优选地使用基于客观度量的块匹配。也就是说,比较待编码的当前目标块的一个或者多个度量与多个其它块的对应度量,并且基于那些度量的相似度测量来选择参考块。参考块然后形成用于借助预测编码(在参考块来自相同帧ft+1的情况下为帧内编码或者在参考块来自先前帧ft (或者实际上为AffV2等)的情况下为帧间编码)对当前块编码的基础。在块匹配背后的思想是选择如下参考块,该参考块将在相对于该参考块对当前块编码时产生小残留信号(即,从而在实际当前块与预测之间的差值将在根据所选参考块来预测时为小)、因此仅需小数目的位来编码。该技术的一个特别优选方面是在频域中(即基于比较块的变换表示的一个或者多个度量)实现块匹配。因此,在步骤SI,对多帧中的每帧的图像的每个部分(例如对每块)执行频域变换。起初将每块表达为空域表示,其中将块的色度和照度表示为空间X和y坐标的函数U(x,j)、V(x,y)和Y(x,y)(或者其它适当色空间表示)。也就是说,每块由在不同空间X和y坐标的一组像素值代表。然后向每块应用数学变换以变换成变换域表示,其中将块的色度和照度(或者诸如此类)表示为变量(比如具有尺度I/波长的波数(kjp ky)的函数,即U (K,ky)、V(kx,ky)和Y(kx,ky)。也就是说,将块变换成如下一组系数,该组系数代表可以视为组成块的不同空间频率项的幅度。用于这样的变换的可能性包括离散余弦变换(DCT)、Karhunen-Loeve变换(KLT)或者其它。例如对于在块内的离散x和y坐标的NXM像素块,DCT将把照度Y (X,y)变换成一组频域系数Y (kx, ky)
N—IΓ/rkI
Y(kJ!Tk ) = V VY(x,^)cos (2x +1) cos ^y|2y +1)
U ^ L 2N, 2M _
并且相反地,可以根据对kx和ky求和的频域项之和确定X和y表示Y(X,y)。因此可以将每块表示为具有相应幅度系数Y(kx,ky)的一个或者多个不同空间频率项之和(并且对于U和V而言相似)。变换域可以称为频率域(在这一情况中指代空间频率)。 在本发明的一些实施例中,可以在三个维度中应用变换。短序列的帧有效地形成三维立方或者立方体U (X,y, t),V (X,y, t)和Y (X,y, t)。在三维变换的情况下,这些将变换成U(kx,ky, f)、V(kx,ky, f)和Y(kx,ky, f)。术语“频域”可以这里用来指代在从空域变换的空间频率(I/波长域)和/或从时域变换的时间频率(I/时间周期域)方面的任何变换域表示。一旦将块变换到频域,就通过比较当前块的变换频域系数与多个其它块的变换频域系数来执行块匹配。然后可以基于根据频域系数确定的块相似度测量来选择用于当前块的预测编码(帧内或者帧间)的参考块。在频域中的块匹配的优点是变换往往将块的能量紧缩到仅少数非零(或者不可忽略)系数中,因此比较现在可以仅基于仅少数频率系数而不是块中的所有系数。也就是说,由于频率变换将能量集中到仅少数有效系数中,因此可以通过仅考虑那些少数有效系数来执行高效块匹配(或者真正的其它处理)。这一技术因此提供一种针对视频传输中的数据压缩问题的独特方式。虽然在比较图案时无需直接比较每个像素,然而可以实现复杂搜索。例如考虑如图Ia和Ib中所示示例情况。这里通过将空域像素值转换成空间频率的变换来实现在频域中表示块。图Ia示出了空域中的四个8X8块的一些例子像素值,例如其可以包括块内不同像素位置X和y的个别像素的照度值Y(x,y)。图Ib是在变换和量化之后在频域中的等效值。例如在图Ib中,这样的系数可以表示可以在求和中出现的不同可能频域项的幅度Y(kx,ky)。块在空域和频域中的大小相同(即在这一情况下为8X8个值或者系数)。然而由于这些变换的性质,然后在频域中将块的能量紧缩到仅少数系数中,因而可以通过仅处理这些少数系数来考虑整块。如从这一例子可见,在频域中仅需处理四个值以发现针对这四块的匹配,而在空域中有将需要处理的256个值。因此不同于现有技术,本发明可以允许执行全真搜索、但是无需“触摸”块中的每个像素(即无需处理每个个别像素)。将理解尽管这里涉及块和宏块,但是可以对图像中可限定的其它部分相似地使用技术。在块和/或部分中的频域分离可以依赖于变换选择。例如在块变换的情况下,如同离散余弦变换(DCT)和Karhunen-Loeve变换(KLT)和其它变换,目标块或者部分变成固定或者可变维度的阵列。每个阵列包括一组变换的量化系数。例如在图5A的更具体例子中,16X16个像素的每个宏块MB在频域中可以由16个照度块和8个色度块表示;每块bO…b23具有4X4阵列的量化系数。根据本发明的另一优选方面,可以基于反映块的相对重要性的索引值在排序列表内执行块匹配。在这一情况下,可以基于用于重要性索引的值的聚合来执行匹配块的选择。现在将参照图2的步骤S2至S6和图5A的示例块描述优选例子。在步骤S2,向频域中的每块bO…b23分配根据它的频域系数中的一个或者多个系数推导的索引值。例如索引值可以表示块的能量,例如这可以包括对块的系数的聚合(比如每块中的零系数的数目、非零系数的数目或者系数模量的平均或者合计值)
在步骤S3,然后基于索引值对来自至少一帧的块排序。这可以涉及到生成如下排序列表,在该排序列表中,条目代表根据块的索引值(例如它们的块能量)排序的块。在步骤S4,通过基于索引值确定搜索范围或者阈值Λ来从排序阵列标识候选块的子集。候选块将是作为参考块的潜在匹配用于待编码的当前块的预测编码。在图3中图示 了这一点。例如这可以通过从待编码的当前块确定能量范围+/_ Λ并且确定在当前块的该范围内的所有块是用于潜在选择为参考块的候选(即出于预测编码的目的而用于与当前块“匹配”的候选)来实现。在步骤S5,然后评估候选块的相似度。例如优选地基于位速率确定块相似度,其中位速率是在根据每个候选块来预测的情况下、为了限定用于当前块的残留而需要传输的位数的测量。不久将更具体讨论这一点的例子。在步骤S6,最佳匹配候选基于它的相似度来确定,并且相对于该匹配候选来对当前目标块编码。编码包括从当前块的频域系数减去参考块的频域系数以便生成残留信号、然后将当前块的残留与相应所选参考块的标识一起编码到编码位流中(而不是对目标块的实际绝对系数编码)。参考块因此用作当前块的预测。残留是在当前块的频域系数与参考块的频域系数之间的差异,该差异需要更少位来编码,因而编码产生压缩的视频信号。用作参考块的最佳候选优选地通过如下方式来选择基于该候选加上标识候选块的开销信息来计算为了传输用于当前块的残留而需要的位速率、与其它这样的候选需要的位速率进行比较。将容易理解匹配不意味着相同块而是块充分相似从而可以在更低位速率传输残留。图3是图示了排序阵列的布置的图表。在水平轴上示出了排序块的列表而块能量索引值在竖轴上。块能量索引值是根据块的系数推导的客观度量的例子。如上文描述的那样,选择具有在某一搜索范围或者阈值Λ内的索引的最佳匹配参考块。因此根据一个优选方面,本发明提供一种基于块的索引的相似度在块之中搜寻匹配的方法。通过按照它们的能量索引等搜寻匹配,这有利地扩展用于与帧或者另一帧内的任一处匹配的可能性。因此匹配无需限于目标块的相邻区域。例如具有相似能量的块即使位于帧的相反侧上(例如在帧中的不同位置出现的相似背景区域的块)仍然可以实现良好匹配。根据本发明的另一优选方面,通过先基于第一度量(例如索引值)选择候选块的子集、然后基于第二度量(例如位速率成本)从子集内选择匹配候选块来执行块匹配。匹配块然后在待编码的当前块的预测编码中用作参考块。基于第一度量、特别是基于聚合度量匕如块能量)使可能的匹配缩减至预备候选子集的一个优点是可以早期消除不可能的候选而未引起明显处理负担。也就是说,排序可以用来丢弃不可能的候选。因此仅需针对相对小数目的预先审查的候选执行基于第二度量的更为处理器密集的比较(比如位速率比较),从而减少块匹配算法所引起的处理负担。例如具有很不同的块能量的块不可能是良好匹配,因此比较它们的潜在位速率贡献的处理成本不可能是值得的。为了使处理最少,优选地在列表内的小邻域(搜索范围+/ Δ)内执行步骤S6中的匹配块选择。然而注意排序仅给出匹配的某一可能性并且可以根据性能考虑来选择。Λ的更小选择造成更低处理成本、但是更少候选从而冒着未发现最佳可能匹配的风险。另一方面,Λ的更大选择引起更高处理成本、但是将包括更多候选、因而具有发现最佳匹配的更佳可能性。在实施例中,甚至可以基于一个或者多个性能因素(比如可用上行或者下行链路带宽或者可用处理资源)动态地适配Λ。也注意无需在+ Λ方向上一定使用与在-Λ方向上相同的Λ值。将理解在步骤S3可以针对宏块(如图5Α的例子中所示)、针对单帧(针对帧内数据压缩)或者针对当前目标巾贞和一个或者多个参考巾贞(针对巾贞间运动估计)生成排序阵列。在一个特别有利实施例中,相同排序列表用来匹配多个目标块(通过确定相同列表内的相应候选子集)。另外如果列表包含来自当前巾贞和一个或者多个先前巾贞的块,则相同 列表甚至可以用于相同排序列表内的帧间和帧内匹配。例如当处理特定目标帧时可能的是可能在该帧内未发现良好匹配,在该情况下,该方法可以考虑其它帧,因为复杂度低并且匹配方法相同。根据本发明的优选实施例,无需使用与用于帧内的帧内匹配的方法不同的用于发现帧之间的帧间匹配的方法。通过将针对每块执行的穷尽重复搜索替换为针对整个帧或者甚至多帧执行一次的单次排序,可以使用排序列表在小邻域内执行匹配块的选择。优选地,针对多帧执行一次排序,从而可以在相同排序列表内在相同阶段处理帧内和帧间匹配二者。例如这可以涉及到在当前帧的排序列表内寻找匹配,如果未发现令人满意的匹配,则查看一个或者多个其它帧的排序列表以发现更佳匹配。本发明的上文描述的方面因此提供一种可以适用于帧内压缩和帧间运动估计二者的压缩视频数据的方法。以往,算法已经采用对帧间比对帧内数据压缩的不同方式。另一方面,本发明可以有利地提供一种用于帧内和帧间预测的统一技术。该方法的另一益处是由于它的低复杂度,所用参考帧的数目与现有算法相比可以明显更高。另外,注意常规运动估计根据在水平或者竖直方向上的按照任何任意数目的像素或者甚至分数像素的区域偏移来预测每块,而在本发明中使用的方式不同在于使预测限于仅执行块到块匹配。也就是说,在逐块基础上匹配,其中块与另一整块匹配(而不是任何任意偏移的区域需要如下运动矢量,该运动矢量指定任何数目的像素或者分数像素)。在特别有利的特征组合中,可以在频域中执行块到块匹配,其中可以通过仅预测在两个或者更多块之间的频域系数的子集来获得效率。一旦已经在步骤S6选择匹配块并且已经相对于该匹配块对当前目标块编码,则经由熵编码器输出频域系数的残留以便包含于编码位流中。此外还在位流中包括附带信息以便标识如下参考块,将在解码器根据该参考块预测每个编码块。每块可以由它的位置(即由它在特定帧内的地址或者位置)标识。每个帧可以由帧号码来标识。由于上述差异,注意可以用如下块地址的形式在位流中发送标识所选参考块的附带信息,该块地址依据块总数来标识参考块的位置。这可以采用绝对块地址(即相对于帧中的固定点而言的位置)的形式。取而代之,它可以采用相对地址的形式。如果可以从多个不同潜在帧选择候选,则附带信息也可以标识所选参考块的帧。这不同于以相对于当前块的小矢量(该矢量是任何数目的像素或者分数像素)这一形式发送的常规运动矢量。如提到的那样,VC-I视频编解码器具有如下帧内预测模式,在该模式中,根据紧接位于处理的块左侧或者上面的DCT块的第一列(或者第一行)预测DCT域中的第一列和/或第一行AC系数。然而这与在本发明的方面中使用的方式不同在于它限于仅将预定空间相邻系数用于帧内预测。VC-I不允许与例如基于块能量和/或位速率贡献而选择的廣遂参考块的帧内匹配(因此VC-I也未涉及到向解码器发送所选参考块的标识)。图4是示出了根据本发明一个实施例的编码技术的架构的示意框图。原始输入视频流由前向变换级2接收。这一级的输出向前向量化级4供应。前向变换级2应用空间或者空间-时间向频域变换作为第一编码步骤。前向量化级2在频域中针对每块应用量化并 且生成一组量化系数。向帧内预测级6供应在输入视频流的时域中每个内帧的来自前向量化级2的变换系数。帧内预测级6使用上文描述的方法操作以对每帧内用于预测的候选块定位。从前向量化级4向帧间预测级8供应间帧的变换系数,帧间预测级8如上文描述的那样分离候选块用于目标帧的预测。向熵编码器10供应帧内预测级和帧间预测级8的输出,熵编码器对数据编码以提供用于传输的编码流。编码流包含如下信息序列,该信息序列针对每块包括一组系数(实际或者残留)、限定块是否将被预测的数据、以及如果是这样则包括参考块(将根据该参考块预测它)的指示。可以在编码位流中将参考块的标识表示为帧内的绝对块位置(即以固定点为参考而不是相对于当前块)。取而代之,可以在编码位流中将位置表示为在当前块的位置与块(将根据该块预测它)之间的差值。无论哪种方式,都依据整块的间隔数目来表达块位置(即为块地址),因而实现益处,因为这需要比如下常规运动矢量远远更少的编码开销,该运动矢量以像素或者甚至分数像素来表达偏移。注意该布置未涉及到如图7的标准编码器中那样的循环回到空域中。因此基于频域系数在变换频域中执行块匹配。同时注意在优选实施例中,在量化域(即无失真、无损环境)中执行参考块的选择。因此在执行选择之前未向候选块或者当前块应用附加失真。图5A示意地图示了预测例子。图5A中所示情况是该技术用于在一帧中的相同宏块的不同块之间的帧内预测。图5A在左手侧上图示了用于宏块(16X16个像素)的变换到频域中的照度和色度数据。将频率变换的系数组织成块bO、bl等,每块包括4X4阵列系数。块bO至bl5表示用于宏块的照度数据(y),而块bl6至b23表示用于宏块的色度数据
Cu, V)。有用于处理照度和色度通道的不同方案。一种常见方式是4 :2 :0格式,该格式意味着在水平和竖直这两个方向上按照因子2对色度通道下采样。在所示例子中,块bO包含16个系数一个DC系数(在坐标0,O的第一个)和15个AC系数(块的其余部分)。DC表示照度(针对‘V块)和色度(针对‘U’和‘V’块)的所谓“恒定”值,并且AC形成如下变量部分,该变量部分意味着它们针对每个像素的贡献不同。DC与所有AC的组合用来表示每个像素在基于所用变换的解码之后的值。16X 16个照度频域系数‘Y’完全用来表示16X16个空间域像素。在上文说明中,对色度‘U’进行子采样。这一格式称为YUV 4 2 :0,这意味着用于Y个像素的每个2X2方块的四个照度像素分别共享一个‘U’和一个‘V’像素。也存在称为YUV 4 2 :2或者YUV 4 4 :4的其它格式,其中在YUV 4 4 :4中完全未对色度子采样或者其中色度具有与在4 2 :2中的数据的两倍一样多的数据。本发明可以针对这些格式中的任何格式起作用。在描述的例子中,基于块能量或者活动的测量(索引值)对用于宏块的块bO至b23排序。图3a图示了块排序的例子。可以用多种不同方 式测量用来条理化该排序的块能量。根据一种技术,排序是基于块中的零值系数的数目。在另一技术中,使用非零系数的模量的平均值实现排序。使用块能量的测量Λ,在如图3中所示排序列表内建立搜索范围以标识候选块(图2的步骤S4)。然后基于位速率评估如上文描述的那样建立用于预测的最佳候选(图2的步骤S6)。图5A中的右手示了这些预测的效果。将块bl2标注为Pl以将它表示为第一预测块。不是传输块bl2中的实际系数,而是将代表在块bl2与blO之间的差异的系数(残留)与传输的数据块12中的已经根据参考块10预测的信息一起传输。也传输参考块10的指示(例如由它的帧号和在帧中的位置标识)。在图5A的右手侧上的列表中示意地示出了这一点,其中Pl表示预测1(块12减去照度块中的块blO)。待选择的下一候选是根据块b21预测的标注为P2的块20。该过程继续并且在这一情况下产生7个预测块。这造成待传输的系数数目减少9 (从132减至123)。在具体例子中,当对视频数据编码以便在仓(bin)中传输时,这具有去除仓122和1008而增加仓224和288的内容的效果。在图5A中,箭头表示在预测块与用来预测它的块之间的关系。图5B示出了用于在两帧的不同宏块的不同块之间的运动预测的预测例子。图6是用于对已经经受上文描述的块预测技术的视频流解码的解码器的示意框图。除了编码系数之外,视频流还包括限定预测块的数据、块(已经根据这些块预测它们)的标识和它们已经被预测的顺序。向熵解码器12供应编码流,该熵解码器12针对传入数据确定待解码的块是用于重建内帧还是重建间帧。向帧内重建级14传递用于重建内帧的块,而向帧间重建级16传递意欲重建间帧的块。通过向用来预测的块中的对应位置的系数添加残留来重建预测块。向反向量化级18、然后向反向变换级20供应重建级14和16的输出,在该反向变换级将量化系数从频域变换到时域作为解码流。现在更具体讨论一种用于基于位速率贡献来匹配块的优选技术的细节。这一技术借助量化域中的块预测来降低视频压缩中的位速率。向该方法的输入例如是变换和量化的系数(例如来自H. 264的残留)的块的一个分片或者一组分片。分片意味着一组宏块,因而每中贞一个分片意味着巾贞中的所有宏块属于分片。对于当前分片中的每个经变换和量化的块,来自先前编码分片的块或者在当前分片中的块(然后必须注意保证可解码流)是将用于预测的潜在候选以便减少位速率(与块本身的直接熵编码相比)。下文描述预测器和将用于预测的块的“最优”选择以及用于标识该块的所需附带信息(用于解码器中的重建的所需描述)的一个例子实施例。附带信息与残留一起由熵编码器10熵编码到编码位流中。在优选实施例中,本发明使用两类度量来执行块匹配一类基于块的聚集或者图案(例如能量、结构等)而第二类基于位速率。在两个单独阶段中使用这两个度量第一阶段用于排序而第二阶段用于RD循环。在特别优选实施例中,RD循环速率目标并非仅为了发现在速率方面接近地相互预测的两块并且也为了同时针对成组块解决这一问题。一个简单例子可以是以下图案一(a)l,2,1,2, 1,2, 1,2 和(b) 46,47,46,47,46,47,46,47,这些图案将产生(a)l,2,1,2, 1,2, 1,2 和(b)45,45,45,45,45,45,45,45。也就是说,可以从候选块的相同排序列表匹配多块(包括潜在地基于相同排序列表执行帧间和帧内预测二者)。优点是由于在熵编码器10中的算术或者霍夫曼编码器之前改进的冗余度去除而改进熵编码。与VC-I [I, pp. 251]相比有多个潜在优点(i)在预测中使用块中的所有系数而不是仅第一行和/或列;(ii)在帧/分片中的所有块作为用于预测的候选块而不是仅在左侧或者上面的块;(iii )广义预测结构(例如加权预测或者根据多块的预测);以及(iv)显式速率估计,用于发现用于预测的最佳块(考虑用于附带信息的成本)。令X(mf _表示在时间实例/ 的量化系数(例如量化DCT系数)的块me M (中贞/分片由共计#块构成)。常规地向熵编码器10 (在H. 264中更具体为上下文自适应可变长度编码器或者上下文自适应二进制算术编码器)馈送块。也就是说,从具有咐的点起执行 无损压缩(即失真固定)。该方法设法借助预测器在算术编码器之前去除剩余冗余度(并且由此减少速率)。在一个实施例中,将预测形成为在当前块与参考块之间的减法。基于速率计算/估计来选择用于预测当前块X(m, η)的最优索引(OopitPqpj), BP
(o_, PotBi) = argmin,, if}{ R(X(m,n) - X(ot p}) + R(o , p))[1 ]
其中崎n) 一 X(o, p))表示预测残留的位速率而R(o , p)表示附带信息的位速率(SP用于传输帧P的预测块索引ο的位速率)。可以例如从算术编码例程的如下部分提供速率估计,在这些部分可以使用符号概率的Iog2之和以估计速率。通过使用与速率良好相关的另一测量来近似等式[I]中的标准例如从计算方面来看也可以是有益的。一般而言,可以使用任何如下度量,该度量以某一方式涉及为了对残留块和标识相应参考块的附带信息二者编码而将在编码位流中需要(即被选择作为参考块的每个候选将需要)的位数,无论该度量是位数或者位速率的直接测量还是与位数/速率相关的度量。可以通过对候选预先排序使得潜在良好候选位于有序数组中的具体位置附近来使针对最优预测器的搜索在计算上更高效。令现在根据某一测量来表示帧Z7的块索引meM的I维有序阵列中的元素左。例如块X(m, 可以根据它们的升序能量(或者一些其它与信号有关的性质)来排序。为了发现预测器,例如按照光栅扫描顺序(或者从速率或者计算复杂度观点来看有益的某一其它顺序)从当前帧/分片中的第一块开始并且发现它在当前帧的有序阵列Y{n、和先前处理的巾贞的(重新)排序阵列Yin-NumRe^ ...中的位置。NumRef是参考帧数目(即这里为已经处理并且可以用于帧间预测的先前量化帧的数目)。作为来自当前帧/分片的预测候选,我们选择在有序阵列中位于当前索引周围的范围+/-r内的候选,即插入到表达式(I)中的“帧内”预测候选是与排序索引y(q{n)-吹.nl…M _)-1, /I): and Y( #1)+1, η),…,¥!_) !¥, η)对应的块;其中表示当前块在有序阵列中的位置。注意必须特别小心以避免循环预测(即如果已经根据块m预测块η则避免根据块η预测块m,这使解码不可行)。也应当提到也包括残留的直接编码(即无预测)作为用于速率估计的候选。与选择用于帧内预测的候选相似,将帧间预测候选选择为Y(q(n-!)-W, η-ι) , Y(q/(n-f)+W, Namrnr-。根据等式(I)评估所有帧内和帧间候选并且选择最优索引对。针对帧/分片中的所有块重复这一过程。所得预测残留(变量/索引差值)与用于解码的所需附带信息一起例如被算术编码并且发送到解码器。参照图10,编码器执行的方法的一个实施例如下
步骤Tl :根据某一测量对帧中的所有块排序。步骤T2 :将块索引设置成m=0。步骤T3 :发现有序列表中的块索引《的等效位置7 (当前和先前量化帧(即发现q(n),…,q(n-NumRef)))。
权利要求
1.一种从发送器向接收器发送视频数据的方法,所述方法包括在更高分辨率接收视频信号的数据值;在所述发送器将成组所述数据值组合成第一更低分辨率布置的ー个或者多个第一单元,每个第一単元基于ー组所述数据值的组合;编码所述第一更低分辨率布置并且将其向所述接收器传输;在所述发送器将成组所述数据值组合成第二更低分辨率布置的ー个或者多个第二单元,每个第二単元基于ー组所述数据值的组合,其中所述第二単元从所述第一単元偏移分数位移,从而每个第二単元与至少ー个第一単元部分地重叠;编码所述第二更低分辨率布置并且将其向所述接收器传输;向所述接收器传输所述位移的指示;并且在所述接收器基于所述指示来组合所述第一和第二更低分辨率布置以便重建至少比所述第一和第二更低分辨率布置的分辨率更高的分辨率的图像。
2.根据权利要求I所述的方法,其中所述位移包括人为生成的位移。
3.根据权利要求I或者2所述的方法,其中所述位移包括与在相机与捕获的对象或者景象之间的相对移动对应的实际位移。
4.根据权利要求3所述的方法,其中所述发送器包括移动终端,并且所述移动由所述移动终端中的陀螺仪传感器检测。
5.根据权利要求3或者4所述的方法,其中所述移动由运动估计算法检测。
6.根据任一前述权利要求所述的方法,其中所述指示包括所述发送器的模式的指示。
7.根据任一前述权利要求所述的方法,包括在所述发送器将成组所述数据值组合成第二単元的多个第二更高分辨率的第二布置,其中所述第二単元从所述第一単元偏移用于每个相应第二布置的不同分数位移;编码每个所述更低分辨率布置并且将其向所述接收器传输;向所述接收器传输所述位移的指示;并且在所述接收器基于所述指示来组合所述第一和每个所述第二更低分辨率布置以便重建至少比所述第一和第二更低分辨率布置的分辨率更高的分辨率的图像。
8.根据权利要求7所述的方法,其中所述指示包括对预定位移图案的引用。
9.根据权利要求7所述的方法,其中所述指示包括每个个别位移的指示。
10.ー种对视频信号编码的方法,其中根据权利要求I至9中的任ー权利要求所述的方法对所述视频信号的ー些部分编码,并且通过相对于规律可用參考块的查找表发送块来对所述视频信号的其它部分编码。
11.一种编码器,包括输入端,布置成在更高分辨率接收视频信号的数据值;以及处理装置,布置成将成组所述数据值组合成第一更低分辨率布置的ー个或者多个第一単元,每个第一単元基于ー组所述数据值的组合,并且对所述第一更低分辨率布置编码以便向所述接收器传输;其中所述处理装置还被布置成将成组所述数据值组合成第二更低分辨率布置的ー个或者多个第二単元,每个第二単元基于ー组所述数据值的组合,并且所述第二単元从所述第一単元偏移分数位移,从而每个第二単元与至少ー个第一単元部分地重叠,并且对所述第二更低分辨率布置编码以便向所述接收器传输;以及所述编码器还包括输出端,其布置成将编码的第一和第二更低分辨率布置与所述位移的指示一起输出以便向所述接收器传输;以及从而在所述接收器使解码器能够基于所述指示来组合所述第一和第二更低分辨率布置以便重建至少比所述第一和第二更低分辨率布置的分辨率更高的分辨率的图像。
12.根据权利要求11所述的编码器,还配置成执行根据权利要求2至10中的任ー权利要求所述的操作。
13.—种包括软件的编码器程序产品,所述软件实施于计算机可读介质上并且配置成当在处理器上被执行时在更高分辨率接收视频信号的数据值;在所述发送器将成组所述数据值组合成第一更低分辨率布置的ー个或者多个第一单元,每个第一単元基于ー组所述数据值的组合;编码所述第一更低分辨率布置并且将其向所述接收器传输;在所述发送器将成组所述数据值组合成第二更低分辨率布置的ー个或者多个第二单元,每个第二単元基于ー组所述数据值的组合,其中所述第二単元从所述第一単元偏移分数位移,从而每个第二単元与至少ー个第一単元部分地重叠;编码所述第二更低分辨率布置并且将其向所述接收器传输;向所述接收器传输所述位移的指示;并且在所述接收器基于所述指示来组合所述第一和第二更低分辨率布置以便重建至少比所述第一和第二更低分辨率布置的分辨率更高的分辨率的图像。
14.根据权利要求13所述的编码器程序产品,其中所述软件还被配置成在被执行时执行根据权利要求2至10中的任ー权利要求所述的操作。
全文摘要
一种从发送器向接收器发送视频数据的方法,该方法包括在更高分辨率接收视频信号的数据值;在发送器将成组数据值组合成第一更低分辨率布置的一个或者多个第一单元;编码第一更低分辨率布置并且将其向接收器传输;在发送器将成组数据值组合成第二更低分辨率布置的一个或者多个第二单元,其中第二单元从第一单元偏移分数位移,从而每个第二单元与至少一个第一单元部分地重叠;编码第二更低分辨率布置并且将其向接收器传输;以及向接收器传输所述位移的指示;并且在接收器基于指示来组合第一和第二更低分辨率布置以便重建至少比第一和第二更低分辨率布置的分辨率更高的分辨率的图像。
文档编号H04N7/26GK102835105SQ201180010090
公开日2012年12月19日 申请日期2011年2月18日 优先权日2010年2月19日
发明者L.比沃拉斯基, M.尼尔松, R.瓦芬, S.V.安德森 申请人:斯凯普公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1