非编码宏块的游程长度编码的制作方法

文档序号:7726726阅读:157来源:国知局
专利名称:非编码宏块的游程长度编码的制作方法
相关申请的交叉引用本专利申请要求2001年3月20日提交的、共同未决的、系列号60/277,515的美国临时专利申请的优先权,所述专利申请的全部内容通过引用包括在本文内。
背景技术
此文公开和要求权利的发明一般涉及视频信号数据的压缩方法。特别是,本发明涉及的上述方法中视频数据是以编码的宏块以及跳跃(非编码)宏块的阵列来代表的。更具体地说,本发明涉及的上述方法中宏块分组为片,并使用游程长度编码来表示其中跳跃宏块的数量。
数字视频信号在未压缩形式下通常含有大量的数据。但由于时间和空间的相关性,实际需要的信息内容却比较少。于是便使用视频压缩,或编码,来减少某些任务(例如视频信号的存储,或将数据从一个位置传送到另一个位置)实际所需要的数据量。在编码过程中,可以通过所谓的运动补偿预测来使用时间冗余,此时一个视频帧的区域可从前一帧的类似区域加以预测。也就是,一个帧的有些部分可能与前一帧的对应部分没有任何或几乎没有任何变化。这样这些区域就可跳跃或不编码,以便使压缩效率最大。另一方面,如果不能与前一帧很好地匹配,可以使用一帧内的预测来减少空间冗余。采用成功的预测方案,预测误差会很小,且需要编码的信息量可大大减少。而且,将像素转换成频率域,例如,使用离散的余弦变换,空间相关性进一步提高了效率。视频压缩的先有技术在例如1999年5月11日颁发的美国专利No.5903313中已公开。
尽管视频数据压缩有不少好处,但从一个位置传送到另一个位置的编码比特流,也就是压缩数据,很可能由于易出现误差的传输信道而遭破坏。如果发生这种情况,过分依赖预测就会导致巨大的潜在损坏,例如传播误差以及严重降低视频质量。过去,减少这种损坏的通用技术包括避免在某些时间的时间预测,以及将空间预测限制在一个视频帧或画面的有界分割中。于是解码的视频信号(在压缩和传输之后)的整体质量是在一方面是高压缩和另一方面是误差复原性能之间作权衡取舍的问题。但是,在使用灵活分割和误差健全分割以及视频数据帧跳跃的有效信令或非编码区域之间有潜在的冲突。先有技术的方法处理这些冲突的办法,或是利用将分割限制在严格的区域,(这样会损失灵活性和效率),或是在一分段中本不需编码的区域实施编码。
此处术语“画面”和“帧”可以互换使用来表示视频序列中的一帧图像数据。
为了限制空间误差传播,现可用不同的方法和技术来分割一个画面。ITU-T建议H.261和H.262分别提供了两种标准的方法。在建议H.261中,视频序列的每一帧被分成许多分段,称为块组(GOB)。每个块组包含33个宏块,排列成3行×11列,每个宏块覆盖16×16像素的面积。这样,H.261支持的两种画面格式,即含352×288像素的公共媒质格式(CIF)和含176×144像素的四分之一CIF(QCIF),则是将12个和3个非重叠的GOB组合而形成,以覆盖整个画面。
在一个GOB中,宏块自左至右一行一行排列,第一块在左上角,第33块在右下角。但只有那些与前一编码画面(如果有前一编码画面的话)不同的宏块才需要编码。因此,在每个编码的宏块之前发送宏块的地址以标志其在GOB中的位置。对于GOB中的第一个编码宏块,其地址是GOB中宏块的位置。对于随后的宏块,其地址就是前一个编码宏块的位置的增量。宏块地址由

图1所示的变长码字给出。没有地址的宏块就应跳跃而从前一画面复制。就是说,跳跃宏块的视频数据就是从前一画面的相应宏块中得到的数据。应当指出,虽然对于哪些宏块或多少宏块需要编码没有限制,但一个GOB总是代表33个宏块,不论编码与否。每个GOB的开始和结束位置由H.261标准定义并且在比特流中用每个GOB头中的GOB数作标志。
一种更灵活的画面分割技术可以分别在MPEG-1和MPEG-2视频标准,ISO/IEC11172-2和ISO/IEC13818-2中找到。后者由ITU-T作为建议H.262联合发表。按照所述建议,画面分割成片,这不同于在建议H.261中所使用的GOB。每个片包含任意数量的宏块,依次排列成一个序列或系列,其中宏块的顺序按整个画面从左上角开始定位编号。每一片必须至少为一个宏块长,而且不可与其它块重叠。MPEG-1允许任意长度的片,但不允许片间有间隙。另一方面,MPEG-2限制各片应适合在一行宏块之内,但允许在其通常的片结构中有间隙。此时,片间发生间隙就是不言明的通知解码器对应的宏块被跳跃,且这些跳跃的宏块的数据应从前一画面相应宏块的像素值复制。
对于MPEG-1和MPEG-2片的一个重要限制在于片中的第一个和最后一个宏块必须编码,也就是说,一个片不能以跳跃宏块开始和结束。由于这个要求,总能清楚当新的一片开始前一片在什么地方结束,即前一片在传输完最后一个编码宏块后立即结束。除了第一个和最后一个宏块外,一个片可包含不需传输的跳跃宏块。这样,在一个片内的每个编码宏块在比特流中的位置就可标志。这种做法与建议H.261对GOB安排类似。每个宏块的相对位置以宏块地址增量来表示,由图1的码字给出。为了允许在一片中有多于32个连续的跳跃宏块,也包括了一个宏块转义码字。一个或多个转义码字可以插入到实际宏块地址增量之前,每一个指示33个宏块的一个附加增量。
在分段中自由使用可变数量的宏块就有可能使分段保持在某一比特规模之内。当分段被分组化以便在IP(互联网协议)网络传输时这一点很有用,而且对于分组很小的无线应用特别重要。此外,调节分段的大小,就有可能针对不同的传输环境加以调节。例如,对于有损耗的信道,可以利用较小的分段来获得较好的视频质量,虽然压缩效率会有降低。然后使用误码率来找出最佳的分段大小。而对于上述的建议H.261,GOB的分段边界已预先定义。因此,GOB的大小难以控制,使这些分段很不灵活。为此,MPEG-1和MPEG-2中的片就更为通用。但由于片的边界要靠确保片的最后一个宏块始终被编码来作标志,有效的压缩和最佳的片大小就很难做到在这些标准内实现。原因在于人们可能被迫对本可跳跃的宏块进行编码,或者被迫偏离所需的片大小。这些缺点参考图2就可更明显。
图2示出QCIF画面中的一行宏块10,它本是不显示的。宏块在第一位置被编码,传输到第二位置的解码器,并在此解码,恢复成原来的视频数据。原来的数据通常被恢复时质量会下降,视压缩进行的程度而定。图2还示出至少包括编码宏块12a和12b的片12的结束部分、至少包括编码宏块14b的片14的开始部分和位于编码宏块12a-c和14a-b之间的跳跃宏块16a-f。如果分段必须按MPEG-2标准进行,而且如果需要将片边界放置在B和C之间以形成片12和14,使每个片都能放置在规定的最大规模的单独的IP分组中的话,编码宏块12c和14a之间的跳跃宏块在分段图2所示的宏块时就会发生问题。如果片12和14要精确的将它们的分组填充到最大容量,片边界的位置甚至更为重要。如果将MPEG-2标准应用到图2所示的先有技术的布局中,可有三种不同的方案,各伴有其缺点。
在第一种方案中,片12在图2的B结束,片14在C开始。B和C之间的跳跃宏块16a-f可以不言明的被认为被解码器跳跃,因为对于跳跃宏块是不传送任何数据的。但,如果通过有损耗的信道,例如无线通信信道,来传送压缩数据,在C开始从而含有片14的IP分组可能被丢失,因而解码器可能收不到。此时,有关跳跃宏块16a-f的所有信息也会丢失。特别是,解码器不能够区别跳跃的宏块和丢失的宏块。
在第二种方案中,片边界可位于B或C,在片12和14之间没有间隙。这样,如果边界置于图2的B,则片12的最后一个宏块就编码为宏块12c,而片14的第一宏块就将是被跳跃的宏块16a。另一方面,如果边界置于C,则片14的第一个宏块将是编码的宏块14a,而片12的最后宏块就是被跳跃的宏块16f。如上述,这两种中任一种安排都是不允许的,因为MPEG标准不允许在片的开始和结束处有跳跃宏块。所以,就需要另外编码一个跳跃宏块,即跳跃宏块16a或16f。而且,跳跃宏块还需用零(绝对)运动矢量和无系数编码。这样,就可以发送B和C之间的跳跃宏块的信息。但由于编码跳跃宏块而导致需传输的附加比特数会相当多,特别是如果预测的运动矢量很大的话。
在第三种方案中,片边界可放置在图2的位置A或D。这样就避免了有关对上述第一和第二方案所讨论的各自的缺点。但,如上述,需要以IP分组发送各片的数据,一个分组一片,且各分组具有固定的最大比特规模。很清楚,每个分组应填充有尽可能多的比特,以便充分利用网络容量。于是,把边界放置在A可能是一种次佳选择,如果这样一来片12会变得太小而不能利用分组的全部比特容量。把边界设置在B是不可能的,因为片12会变得太大而超过最大分组大小。
发明概述本发明涉及将一帧视频数据分割成片的一种视频压缩方法。这些片允许含有任意数量的连续宏块,在画面内的任意位置开始和结束,因而完全有自由在任何位置开始和结束片。由于片可包含可变数量的宏块,所以本发明的实施例可以容易地适合于为不同的编码环境提供编码标准。
本发明的一个实施例针对压缩视频图像数据帧,所述方法包括以下步骤将帧分成多个包含编码块和跳跃块的块;以及依次将这些块分组成片序列。所述方法还包括以下步骤在片的最后一个编码块之后插入一个游程长度码字,来表明位于最后的编码块和片结束之间的跳跃块的数量。这样,本发明的一个方面是,视频图像数据帧的非编码区域用游程长度编码作有效的标志。连续的跳跃块分组在一起并编码为单一的符号,此处称为游程长度码字来表明跳跃块的数量。标志出一帧的一个分段中全部的非编码区域,就可有效地利用灵活的画面分段,也可有效地隐藏损坏的画面区域。
附图简要说明图1示出表明相对前一宏块的宏块地址的码字表。
图2是QCIF图像中一行宏块的示意图,用以说明先有技术的缺点。
图3是按本发明一个实施例的待压缩或编码的一行宏块的示意图。
图4是图3的一行宏块压缩后的示意图。
图5示出用于本发明一个实施例的游程长度码字表,特别示出了在无限大的表中最初的十个可变码字。
图6是显示按本发明一个修改方案编码的一行宏块的示意图。
图7是显示用于按照本发明的一个实施例对视频数据进行压缩、发送和解码的简化系统的示意图。
示范实施例的详细说明参考图3,图中示出按本发明的一个实施例待压缩的一行宏块18,所述实施例消除了或实质上减少了有关先有技术的上述问题。行18包括宏块18a-18k,它类似于图2的行10,并要伴随进行运动补偿数字视频压缩,这样将各帧分成宏块,每个宏块具有16×16像素的1uma分辨率。宏块18a-18c以及18j-18k是按传统方法编码的编码宏块,以使运动补偿信息与之相关联,而宏块18d-18i是如上所述的跳跃宏块。
按照本发明,块18a-18k要被分割成片,其中允许各片含有任意数量的连续宏块并能在所关联帧内的任意位置开始和结束。因此,有充分的自由在任何位置开始和结束各片。由于有了这种自由,可将片边界置于C而将图3所示的宏块分段成第一片20和第二片22。假定这样可提供具有能最佳填充相应IP分组大小的片20和22,也就是说,每个分组被填充到最大容量。这样,片20以宏块18a-18i结束,而片22以宏块18j和18k开始。更具体地说,片20以六个跳跃宏块18d-18i结束。
参考图4,图中示出按本发明的片20和22以及压缩后它们各自的宏块。特别是,图4示出了片20中包括的一个游程长度码字24,紧靠在其最后一个编码宏块后,也就是在宏块18c之后。码字24定义了片20的结束,并具有一个索引,用以表明紧随片20的最后一个编码宏块之后但在下一片之前非编码或跳跃宏块的数量。码字24,不过需要少数几个比特,就可向解码器表明在片20中有六个跳跃宏块18d-18i紧随编码宏块18c。于是,即使在传输中下一片(片22)丢失,有关跳跃宏块的信息也会到达解码器。这种防止误差的健壮性是以低的开销成本提供的,因为码字24只不过很少几个比特长。因此可以看出本发明的实施例能使各片的大小很容易适配IP分组的大小。在分组比较小的无线应用中这一点特别有用。同时,对片结束时的跳跃宏块的压缩是很具误差复原性的。
虽未示出,但每个压缩的片或组包括一个头或一个开始代码。
在本发明的一个实施例中,游程长度码字24可以包括与图1所示的宏块地址相关联的码字。在此实施例中,编码宏块用其前面的跳跃宏块的游程长度编码寻址,类似于上述H.261中GOB的寻址。但码字24并不对编码宏块寻址,而是表明在最后编码宏块和片结束之间的跳跃宏块的数量。为了考虑到会发生零跳跃宏块,从图1所选的数应等于跳跃宏块数加一。这样,为了表示六个跳跃宏块18d-18i,从图1中应选择数字7,所以码字24就是00010。由于图1只公开了33个地址,所以可以用一个转义码字来表示33个跳跃宏块的附加增量,与上述MPEG-1和MPEG-2标准相类似。
在本发明的第二个实施例中,游程长度码字24可以从无限变长代码产生。这种类型的代码完全不需要上述转义码字。一种非常有用的无限变长代码示于图5。在简化符号中,无限代码的码字按照以下形式产生1;0x1;0x0x1;0x0x0x1;0x0x0x0x1;...,式中每个x可以是0或1。
图5还示出一个符号,称为SKIPRUN,它是一个单一的符号,代表连续跳跃块的游程长度编码。这样,对于图3所示的六个跳跃宏块18d-18i,SKIPRUN为6,且游程长度码字24由图5可知为01011。在此实施例中,SKIPRUN总在片组的开始和结束时发送,也插在任何两个相邻的编码宏块之间,以表示其间跳跃宏块的数量。
在本发明的一个修改方案中,如果没有跳跃宏块紧随在最后一个编码宏块之后和在片结束之前,就不用游程长度码字24来表示零跳跃宏块。在此实施例中,解码器只要识别在片之间没有游程长度码字就表示其间是零跳跃宏块。这样,图1和图5所示的编码安排就可以变换。按图1安排的六个跳跃宏块18d-18i可用码字00011来表示。按图5安排的六个跳跃宏块则用码字01001来表示。
参考图6,图中示出另一种修改方案,其中片20和22是重叠的。使第一片20在边界C结束而使第二片22在边界B开始就可做到这一点,如图3分别所示。结果,片20如上述以游程长度码字24结束,表示六个跳跃宏块18d-18i。而且,片22也有一个码字26来表示六个前面的宏块18d-18i。这样,只要片20或22中有一个被收到,即使另一个丢失,有关跳跃宏块18d-18i的信息仍会被收到。虽未示出,但片20或22除跳跃宏块外也可与其它类型的宏块重叠。
在又一个修改方案中,可以定义语法以允许仅含非编码或跳跃宏块的片。一个这种片可以用单个游程长度码字表示,覆盖整个片且不含宏块数据。
参考图7,图中示出视频信息源28,例如摄像机。将视频信息连接到视频编码器30上,它按照上述本发明的一个实施例压缩连续的数据帧。包含压缩数据的比特流通过一个通信信道,也可以是一个无线通信信道,从发射器32传送到接收器34。将接收的数据加到解码器36上,恢复视频信息。在工作时,解码器从以前接收的画面上复制对应于跳跃宏块的像素。
很明显,根据以上说明,本发明有可能作许多其它的修改和变化。因此,显然,在所公开的概念范围内,本发明可以不按已具体说明的方法来实现。
权利要求
1.一种压缩视频数据帧的方法,它包括以下步骤将所述帧分成包含编码块和跳跃块的许多块;依次把所述块分成片序列;以及在所述各片的一个特定的片中、在最后一个编码块后插入游程长度码字,来表示在所述片中位于所述最后编码块和所述特定片结束处之间的跳跃宏块数。
2.如权利要求1所述的方法,其特征在于在所述各片中连续块的数量是任意的;以及在所述帧中所述片允许分别在任意位置开始和结束。
3.如权利要求1所述的方法,其特征在于每个所述片包含打算用相应的数据分组传输的数据,这样确定每一片的大小、使得其包含的数据以最佳方式填充其相应的分组。
4.如权利要求1所述的方法,其特征在于所述各片之一包含具有插入的码字的第一片,所述码字表示规定数量的跳跃块跟随在所述第一片的最后码字后面;以及把同样也表示在所述第一片结束处跳跃块的所述规定数量的附加游程长度码字插入到所述序列中紧随所述第一片后的第二片的开始处。
5.如权利要求1所述的方法,其特征在于片中的编码块用表示在各编码块前面的跳跃块数的游程长度编码来寻址。
6.如权利要求1所述的方法,其特征在于每个所述片包括包含在其中的编码块的启动代码、头和数据。
7.如权利要求1所述的方法,其特征在于所述游程长度码字包括少量的数字位。
8.如权利要求1所述的方法,其特征在于把一片中的连续的跳跃块一起编码成为单一的符号;所述符号之一设置在片的每对连续编码块之间、表示其间的跳跃块数;所述符号之一分别附加设置在每片的开始和结束处。
9.如权利要求1所述的方法,其特征在于由一种无限变长编码方案来产生所述游程长度码字。
10.如权利要求1所述的方法,其特征在于在给定片的结束处没有游程长度码字就表示在所述序列中在下一片之前没有跳跃块跟随所述给定片。
11.如权利要求1所述的方法,其特征在于每个所述块包含具有16×16像素的1uma分辨率的宏块。
全文摘要
提供一种视频数据压缩方法,它在压缩数据方面比较有效,同时能使压缩数据的传输具有足够的健壮性以耐受传输信道中的损耗。将数据帧分成编码宏块和跳跃宏块,它们分组成片序列中的各个片。可允许各片含有任意数量的连续宏块,并可在所述帧内的任意位置开始和结束。将含有少量比特的游程长度码字插入到片的结束处,表示在最后的编码块和片结束处之间的跳跃宏块总数。为了进一步增强误差的复原性,可将一个也表示跳跃宏块总数的附加码字插入到下一个紧随片的开始处。
文档编号H04N7/26GK1498503SQ02806759
公开日2004年5月19日 申请日期2002年3月20日 优先权日2001年3月20日
发明者P·弗雷德, P 弗雷德, T·埃纳松, 伤, R·舍贝里, 蠢 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1