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

文档序号:7848192
专利名称:用于视频的数据压缩的制作方法
技术领域
本发明涉及视频流的编码和传输。
背景技术
在视频流的传输中,正不断地努力来减少需要被传输的数据的量,同时仍然允许移动的图像在传输的接收端处适当地被重新创建。视频编码器接收包括要被编码的“原始”视频帧序列的输入视频流,每个视频帧表示在相应时刻的图像。该编码器然后将每个输入中贞编码成两种类型编码的巾贞之一内巾贞(intra frame)(也被称为关键巾贞)或间巾贞(interframe)。编码的目的是压缩视频数据,以便当视频数据通过传输介质传输或存储在存储介质上时招致(incur)更少的比特。
使用仅来自正被编码的当前视频帧的数据、典型地使用帧内预测编码(coding)来压缩内帧,由此该帧内的一个图像部分相对于同一帧内的另一个图像部分被编码并被发信号传递(signal)。这类似于静态图像编码。另一方面,使用先前帧(参考帧)的知识来压缩间帧,并且该间帧仅允许参考帧与在时间上紧随它的当前帧之间的差的传输。这允许高效得多的压缩,特别是当场景具有相对较少的变化时。帧间预测典型地使用运动估计依据(interms of)描述帧之间的图像部分的移动的运动向量来编码并发信号传递该视频,并且然后使用运动补偿来基于用信号传递的向量在接收器处预测该运动。用于视频通信的各种国际标准,比如MPEG 1、2&4和H. 261、H. 263&H. 264,采用基于在规则的块的基础上的源帧的划分的运动估计和补偿。根据分辨率、帧速率、比特率和场景,内帧可以达到间帧的20到100倍大。另一方面,间帧将依赖关系施加到高达最近的内帧的先前的间帧。如果任意一个帧遗漏,则解码当前间帧可能导致错误和伪影。这些技术例如被用在H. 264/AVC标准中(参见T. ffiegand, G. J. Sullivan, G.Bjontegaard, A. LuthraiiiOverview of the H. 264/AVC video coding standard,,,in IEEETransactions on Circuits and Systems for Video Technology,Volume:13,Issue:7,page(s) :560-576, July 2003)。图7图示用于例如根据H. 264/AVC的基本编码结构将视频流编码成间帧和交错的内帧的流的已知的视频编码器。编码器接收包括要被编码的帧序列的输入视频流(每个帧被分成组成宏块并被细分成块),并且输出然后可以被传输到解码器的量化的变换系数和运动数据。该编码器包括用于接收视频图像的输入宏块的输入端70、减法级(stage)72、正变换级74、正量化级76、逆量化级78、逆变换级80、帧内预测编码级82、运动估计&补偿级84和熵编码器86。减法级72被设置成接收包括一系列输入宏块的输入信号,每个输入宏块对应于帧的一部分。减法级72从每一个宏块减去该宏块的预测,以便生成残差(residual)信号(有时也被称为预测误差)。在帧内预测的情况下,从帧内预测级82基于相同帧的一个或多个相邻区域提供块的预测(在经由逆量化级78和逆变换级80反馈之后)。在帧间预测的情况下,从运动估计&补偿级84基于先前帧的所选区域提供块的预测(再次在经由逆量化级78和逆变换级80反馈之后)。对于运动估计,借助描述先前帧中的所选区域的位置与在当前帧中正被编码的宏块之间的偏移的运动向量来识别所选区域。然后,正变换级74例如借助离散余弦变换(DCT)将块的残差从空间域表示变换为变换域表示。也就是说,它将每个残差块从在不同的笛卡尔X和I坐标处的一组像素值变换为表示具有不同波数Icj^Pky(具有I/波长的大小)的不同的空间频率项的一组系数。然后,正量化级76量化变换系数,并且输出要经由熵编码器86被编码成视频流的残差信号的量化且变换的系数,从而形成用于传输到一个或多个接受者终端的编码的视频信号的一部分。而且,正量化级76的输出也经由逆量化级78和逆变换级80反馈。逆变换级80将残差系数从频域变换回空间域值,其中它们被提供给帧内预测级82 (用于内帧)或运动估计&补偿级84 (用于间帧)。这些级使用逆变换的和逆量化的残差信号连同输入视频流的知识,以便产生内帧和间帧的局部预测(包括如在解码器处看到的已被正和逆变换和量化的扭曲效应)。该局部预测被反馈到减法级72,其产生表示输入信号与局部帧内预测级82或局部运动估计&补偿级84的输出之间的差的残差信号。在变换之后,正量化级76量化 该残差信号,从而生成量化的、变换的残差系数以用于输出到熵编码器86。运动估计级84还经由熵编码器86输出运动向量以包括在编码的比特流中。当执行帧内编码时,思想是仅编码并传输关于帧内的图像数据部分多么不同于同一帧内的另一个部分的测量(measure)。该部分然后可以在解码器处预测(给定一些用于开始的绝对数据),并且因此,仅需要传输预测数据与实际数据之间的差而非实际数据自身。该差信号典型地在量级方面更小,所以采用更少的比特来编码。在帧间编码的情况下,代替帧内预测级82,运动补偿级84被切换到反馈路径中,并且反馈回路因此被创建在一个帧与另一个帧的块之间,以便相对于先前帧的块来编码该间帧。与内帧相比,这典型地采用甚至更少比特来编码。图8图示了相应的解码器,其包括用于接收进入接受者终端的编码的视频流的熵解码器90、逆量化级92、逆变换级94、帧内预测级96和运动补偿级98。帧内预测级和运动补偿级的输出在求和级100处被求和。存在许多已知的运动估计技术。一般地,它们依靠对块与来自先前帧(参考帧)的一个或多个其他图像部分的比较。从与块相同尺寸和形状的、但在水平和竖直方向上偏移任意数量的像素或者甚至分数数量的像素的区域预测每个块。所使用的区域的身份以运动向量的形式作为开销(“边信息”)被发信号传递。良好的运动估计技术必须平衡低复杂度与高质量视频图像的需求。还期望它不需要太多开销信息。在上文所述的标准系统中,应当注意,帧内预测编码和帧间预测编码(运动估计)在非量化的空间域中被执行。最近,在变换域中操作的运动估计技术已经引起注意。然而,现有技术都不能够以低复杂度执行(从而减少计算开销),同时还实现(deliver)高质量。因此,当前实践中,对于运动估计不使用频域技术。VC-I视频编码解码器具有在频域中操作的帧内预测模式,其中DCT (离散傅立叶变换)域中AC系数的第一列和/或第一行是根据紧接地位于处理的块左边或上面的DCT块的第一列(或第一行)预测的。也就是说,位于一个块边缘的系数是根据邻近块中直接空间邻居预测的。为了参考,参见“The VC-I and H. 264 Video Compression Standards forBroadband Video Services,,,AvHari Kalva, Jae-Beom Lee,pp.251。

发明内容
根据本发明的一个方面,提供一种压缩的视频数据的编码的比特流,其表示多个连续的视频帧,其中每个帧被分成多个部分并且每个部分对应于多个像素,该编码的比特流包括表示所述部分的第一个的一组量化的频域系数;要根据第一部分预测的所述部分的第二个的差数据,其中该差数据定义了第一部分与第二部分的频域系数之间的差;以及依据整数个所述部分(而非像素偏移)指定第一部分的位置的地址。在实施例中,第一部分可以来自所述帧的第一个,第二部分可以来自所述帧的第二个,以及比特流可以包括以所述块地址的形式编码的运动数据。该地址可以是帧内第一部分的绝对地址。可替代地,该地址可以是为第一部分的地址与第二块的块地址之间的差的相对地址。所述部分中的每一个可以是块或子块中的一个,并且该地址相应地包括块地址和子块地址中的至少一个。每个帧可以被分成多个块,并且每个块可以被分成多个子块,其中所述部分中的每一个可以是子块,并且该地址可以包括块地址和子块地址二者。该地址可以进一步包括宏块地址。该地址可以进一步包括帧号。该比特流可以进一步包括要被用于根据第一部分预测第二部分的预测方法的指
/Jn ο该比特流可以体现在诸如网络设备的传输介质或存储介质之类的物理介质中。根据本发明的一个方面,提供一种网络设备,其包括携带具有任意上述特征的比特流的传输介质。
根据本发明的另一个方面,提供一种用于解码视频数据的解码器,该解码器包括输入端,用于接收具有任意上述特征的编码的比特流;处理装置,其被配置成基于在编码的比特流中接收的地址识别第一部分,并且基于差数据和第一部分的变换域系数来确定用于第二部分的一组变换域系数,从而解码编码的比特流的部分以用于生成解码的比特流;以及输出端,用于输出解码的比特流到输出设备。根据本发明的另一个方面,提供一种用于解码具有任意上述特征的编码的比特流的解码器程序产品,包括体现在计算机可读介质上的代码并且该代码被配置成当其在处理器上被执行时使得基于在编码的比特流中接收的地址识别第一部分;基于差数据和第一部分的变换域系数来确定用于第二部分的一组变换域系数,从而解码编码的比特流的部分以用于生成解码的比特流;以及输出解码的比特流到输出设备。根据本发明的另一个方面,可以提供一种用于生成压缩的视频数据的编码的比特流的编码器,该编码的比特流表示多个连续的视频帧,其中每个帧被分成多个部分并且每个部分对应于多个像素,该编码器包括处理装置,其被配置以生成表示所述部分的第一个的一组量化的系数;用于所述部分的第二个的差数据,其中该差数据定义了第一部分与第二部分的变换域系数之间的差;以及依据整个多个所述部分(而非像素偏移)指定第一部分的位置的地址;其中该编码器进一步包括输出模块,其被布置成在编码的比特流中输出量化的系数、差数据和地址。该编码器可以进一步被配置以生成具有任意上述特征的编码的比特流。在其他方面,本发明可以提供一种对应的编码器程序产品。根据本发明的另一个方面,可以提供一种压缩视频数据的方法,包括接收定义视频图像的视频数据的流;对于所述多个来自所述流的图像部分中的每一个,将该图像部分从空间和/或时间域表示变换成变换域表示以便生成相应的变换域系数组;基于图像部分的相应变换域系数选择至少两个匹配图像部分;基于匹配图像部分的变换域系数之间的差而生成用于匹配图像部分之一的差数据;以及在编码的比特流中输出差数据。在实施例中,匹配图像部分的选择可以包括基于相应的变换域系数确定用于每个图像部分的索引值;以及使用所述索引值选择匹配图像部分。变换域系数可以表示变换域中的色度和亮度。 每个图像部分可以包括对应于像素的二维阵列的块或宏块。所述多个图像部分可以来自视频帧的单个帧,使得所述方法可以用于帧内编码。所述图像部分可以来自多个帧,使得所述方法可以用于帧间编码。索引值可以表示每个图像部分的能量。用于每个部分的索引值可以基于相应组中具有零值的变换域系数的数量或具有非零值的变换域系数的数量。索引值可以基于系数的聚合组合。索引值可以基于所述组中变换域系数的模量的平均值或总和。选择匹配图像部分的步骤可以包括使用索引值生成排序的列表;基于列表中的接近性确定候选群组;以及从这些候选中选择最佳匹配。根据本发明的另一个方面,可以提供一种将视频数据从传输终端传输到接收终端的方法,该方法包括生成表示移动图像的视频数据的流;根据任意上述解码器特征的压缩视频数据;以及传输来自视频流的用于未被预测的图像部分的变换域系数,和用于作为编码的视频流的一部分被预测的至少一个图像部分的差数据。根据本发明的另一个方面,可以提供一种用于压缩视频数据的编码器,该编码器包括输入端,用于接收定义视频图像的视频数据的流;以及处理装置,其被配置成针对来自所述流的多个图像部分中的每一个,将该图像部分从空间和/或时间域表示变换成变换域表示以便生成相应的变换域系数组;其中该处理装置进一步被配置成基于图像部分的相应变换域系数选择至少两个匹配图像部分,并且基于匹配图像部分的变换域系数之间的差而生成用于匹配图像部分之一的差数据;以及其中该编码器进一步包括输出模块,其被布置成在编码的比特流中输出差数据。该处理装置可以被进一步配置以生成根据任意上述编码特征的编码的比特流。根据本发明的另一个方面,可以提供一种用于压缩视频数据的编码器程序产品,该编码器程序产品包括体现在计算机可读介质上的软件并且该软件被配置成当其被执行时使得对于来自所述流的多个图像部分的每一个,将该图像部分从空间和/或时间域表示变换成变换域表示以便生成相应的变换域系数组;基于图像部分的相应变换域系数选择至少两个匹配图像部分;基于匹配图像部分的变换域系数之间的差生成用于匹配图像部分之一的差数据;以及在编码的比特流中输出该差数据。该软件可以进一步被配置以生成根据任意上述编码特征的比特流。
根据本发明的另一个方面,可以提供一种压缩视频数据的方法,包括接收定义视频图像的视频数据的流;针对由时间和/或空间数据定义的多个图像部分中的每一个,将该时间和/或空间数据变换成频域来为每一个图像部分生成变换域系数的多个组;基于组中的系数确定用于每个组的索引值;使用所述索引值选择频域系数的至少两个匹配组;以及基于匹配组中的一个与另一个的比较生成用于匹配组之一的残差。在一个实施例中,索引值被用在排序步骤中以生成排序的列表。选择匹配组的步骤于是可以包括基于列表中的接近性确定候选群组,并且从这些候选中选择最佳匹配。根据本发明的另一个方面,可以提供一种将视频数据从传输终端传输到接收终端的方法,该方法包括生成表示移动图像的视频数据的流;根据如上文所定义的方法压缩视频数据;以及传输来自视频流的用于未被预测的组的系数,和用于作为编码的视频流的一部分而被预测的所述至少一个组的残差。


为了更好地理解本发明并且示出本发明可以如何实施,现在将以示例的方式参考附图,在附图中
图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示意性示出使用运动移位来减少数据传输。
具体实施例方式在下文中,描述一种用于在视频传输系统中数据压缩的方法和系统。首先,描述在频域中执行的块匹配的示例性技术,其用于选择要在目标块的预测编码(coding)中使用的参考块。接下来,描述用于用信号传递在视频预测编码中使用的参考块的身份的一些示例性技术,以及用于进一步降低传输的视频流的比特率的方案。而后,描述在频域中可以被有利地执行的一些示例性图像处理技术。在特别优选的实施例中,这些技术可以组合,但是可替代地它们可以独立使用。块兀配
图I示意性图示了在两个相应的时刻t和t+i处视频图像的两个连续帧ft和ft+1。为了帧间预测的目的,第一帧ft可以被认为是参考帧,即在编码器处刚好已经根据移动序列被编码的帧,或者在解码器处刚好已经被解码的帧。第二帧ft+1可以被认为是目标帧,即为·了编码或解码的目的其运动被设法估计的当前帧。为了说明的目的,示出了具有两个移动对象的示例。运动估计本身在本领域中是已知的,并且因此在本文中仅在为本发明提供合适背景所必需的程度上被描述。根据用于视频通信的国际标准(比如MPEG-1、2&4和H. 261、
H.263&H. 264),运动估计基于对源帧的基于块的划分。例如,每个块可以包括4X4像素的阵列,或者在各种其他标准中的4X8、8X4、8X8、16X8、8X16或16X16像素的阵列。在图I中,用Bi表示示例性块。每块的像素数可以根据所需的精度和解码速率来选择。每个像素可以通过多种不同的方式来表示,这取决于根据标准采用的协议。在本文的示例中,每个像素由色度(U和V)和亮度(Y)值来表示(但是其他可能的颜色空间表示在本领域中也是已知的)。在该特定示例中,色度值由块中的四个像素共享。宏块MBi典型地包括四个块,例如对于4X4块而言的8X8像素的阵列,或者对于8X8块而言的16X16像素的阵列。每个像素具有相关联的比特率,该比特率是传输关于该像素的信息所需要的数据的量。图2是根据本发明的优选实施例的数据压缩方法的示意性流程图。该方法优选地使用基于客观度量(objective metrics)的块匹配。即,将要被编码的当前目标块的一个或多个度量与多个其他块的对应度量进行比较,并且基于这些度量的相似性的测量来选择参考块。然后,该参考块形成用于借助预测编码(coding)来编码当前块的基础,该预测编码为在参考块来自相同帧ft+1的情况下的帧内编码或者在参考块来自先前帧ft (或甚至
或&-2等)的帧间编码。块匹配背后的思想是当当前块相对于参考块而被编码时选择将导致小残差信号的参考块(即,使得实际的当前块与预测之间的差在根据所选的参考块预测时将是小的),从而仅需要较小数量的比特来编码。该技术的特别优选的方面是,在频域中实施块匹配,即基于块的变换的表示的一个或多个度量的比较来实施。因此,在步骤SI处,在多个帧的每一个的图像的每一个部分上(例如在每个块上)执行频域变换。每个块最初被表达为空间域表不,由此该块的色度和売度被表不为空间X和y坐标的函数,U(x, y)、V(x, y)和Y(x, y)(或其他合适的颜色空间表示)。即,每个块由在不同的空间X和y坐标处的一组像素值表示。然后将数学变换应用于每个块以变换成变换域表示,由此该块的色度和亮度(或类似)被表示为诸如具有I/波长的大小的波数kx和卜之类变量的函数,即U(kx,ky)、V(kx,ky)和Y(kx,ky)。即,该块被变换为表示可以被认为构成了该块的不同空间频率项的幅度的一组系数。这样的变换的可能性包括离散余弦变换(DCT)、卡-洛变换(KLT)或其他变换。例如,对于在块内离散的X和y坐标处NXM像素的块,DCT将会将亮度Y (X,y)变换成一组频域系数Y (kx,ky)
权利要求
1.ー种压缩的视频数据的编码的比特流,其表示多个连续的视频帧,其中每个帧被分成多个部分并且每个部分对应于多个像素,该编码的比特流包括 表示所述部分的第一个的ー组量化的变换域系数; 用于要根据第一部分预测的所述部分的第二个的差数据,其中该差数据定义了第一部分与第二部分的变换域系数之间的差;以及 依据整个多个所述部分指定第一部分的位置的地址。
2.根据权利要求I的编码的比特流,其中第一部分来自所述帧的第一个,第二部分来自所述帧的第二个,以及所述比特流包括以所述块地址的形式编码的运动数据。
3.根据权利要求I或2的编码的比特流,其中所述地址是帧内第一部分的绝对地址。
4.根据权利要求I或2的编码的比特流,其中所述地址是为第一部分的地址与第二块的块地址之间的差的相对地址。
5.根据任一前述权利要求的编码的比特流,其中所述部分中的每ー个是块或子块中的ー个,并且所述地址相应地包括块地址和子块地址中的至少ー个。
6.根据权利要求5的编码的比特流,其中每个帧被分成多个块,并且每个块被分成多个子块,所述部分中的每ー个是子块,并且所述地址包括块地址和子块地址二者。
7.根据权利要求5或6的编码的比特流,其中所述地址进ー步包括宏块地址。
8.根据权利要求5、6或7的编码的比特流,其中所述地址进ー步包括帧号。
9.根据任一前述权利要求的编码的比特流,进ー步包括要被用于根据第一部分预测第二部分的预测方法的指示。
10.根据权利要求1-9中任ー项的编码的比特流,其体现在物理介质中。
11.ー种网络设备,其包括携帯根据权利要求1-9中任ー项的比特流的传输介质。
12.一种用于解码视频数据的解码器,该解码器包括 输入端,用于接收根据权利要求1-9中任ー项的编码的比特流; 处理装置,其被配置成基于在编码的比特流中接收的地址识别第一部分,并且基于差数据和第一部分的变换域系数来确定用于第二部分的一组变换域系数,从而解码编码的比特流的部分以用于生成解码的比特流;以及 输出端,用于输出解码的比特流到输出设备。
13.一种用于解码根据权利要求1-9中任一项的编码的比特流的解码器程序产品,包括体现在计算机可读介质上的代码并且该代码被配置成当其在处理器上被执行时使得 基于在编码的比特流中接收的地址识别第一部分; 基于差数据和第一部分的变换域系数来确定用于第二部分的一组变换域系数,从而解码编码的比特流的部分以用于生成解码的比特流;以及 输出解码的比特流到输出设备。
全文摘要
本发明提供一种编码的比特流和对应的解码器。压缩的视频数据的编码的比特流表示多个连续的视频帧,其中每个帧被分成多个部分并且每个部分对应于多个像素。该编码的比特流包括表示所述部分的第一个的一组量化的变换域系数;用于所述部分的第二个的差数据,其中该差数据定义了第一部分与预测的第二部分的变换域系数之间的差,使得第二部分可以根据第一部分预测;以及依据整个多个所述部分而非像素偏移指定第一部分的位置的地址。
文档编号H04N7/26GK102845060SQ201180010098
公开日2012年12月26日 申请日期2011年2月18日 优先权日2010年2月19日
发明者L.比沃拉斯基, M.尼尔松, R.瓦芬, S.V.安德森 申请人:斯凯普公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1