数字视频编码用可变精度图像间定时规定的方法和装置的制作方法

文档序号:7689513阅读:149来源:国知局
专利名称:数字视频编码用可变精度图像间定时规定的方法和装置的制作方法
技术领域
本发明涉及多媒体压縮系统的领域。具体来说,本发明公开了一种用于规定可变精度图像间(inter-picture)定吋的方法和系统。
技术背景基于数字的电子媒体格式最终在尖端在很大程度上取代模拟电子 媒体格式。数字压縮磁盘(CD)很早以前就取代了模拟乙烯唱片。模 拟盒式磁带越来越稀少。第二和第三代数字音频系统,例如MD盘和 MP3 (MPEG音频第三层)正在从压缩磁盘的第一代数字音频格式中 分享市场份额。视频媒体转向数字存储和传输格式的速度比音频媒体慢。很大程 度上是由于大量的数字信息需要以数字形式精确地表达视频。需要精 确地表达视频的大量数字信息需要非常高容量的数字存储系统和高带 宽的传输系统。然而,视频正在迅速地向数字存储和传输格式转变。更快的计算 机处理器、高密度存储系统,和新型有效的压缩和编码算法最终使数 字视频适合于消费者物价点。DVD (数字多功能光盘),即一种数字视 频系统,在几年间已成为最为畅销的消费者电子产品之一。DVD以其 高视频质量、非常高的音频质量、方便性和额外特征已经迅速取代了 盒式录像机(VCR)成为预录制视频回放系统的选择。老式的模拟NTSC (国家电视标准委员会)视频传输系统正在被数字ATSC (先进电视标 准委员会)视频传输系统所取代。计算机系统已经使用许多年各种不同的数字编码格式。计算机系 统使用的最好的数字视频压縮和编码系统是众所周知的縮写为MPEG 的活动图像专家组(Motion Pictures Expert Croup)所支持的数字视频 格式。MPEG的最著名并被最广泛应用的三种数字媒体格式被简称为 MPEG-1, MPEG-2和MPEG-4。视频CD (VCD)和早期的消费者级数字视频编辑系统使用早期的MPEG-l.数字视频编码格式。数字多功能光盘(DVD)和Dish Network牌直播卫星(DBS)电视广播系统使 用更高质量的MPEG-2数字视频压縮和编码系统。MPEG-4编码系统 迅速地被最新的基于计算机的数字视频编码器改进并与数字视频播放 器相关联。MPEG-2和MPEG-4标准压縮一系列视频帧或视频场并且随后将 压縮的帧或场编码为数字比特流。当对视频帧或场用MPEG-2和 MPEG-4系统进行编码时,视频帧或场将被分成宏块的矩形网格。每个 宏块被独立地压縮或编码。当压縮视频帧或场时,该MPEG-4标准可以将帧或场压缩成三种 压缩的帧或场的一种帧内编码帧(I-帧),单向预测帧(P帧),或双 向预测帧(B帧)。帧内编码帧在不参照其它视频帧的情况下完全独立 地将独立视频帧编码。P帧参照单一先前显示的视频帧限定一个视频 帧。B帧参照当前帧之前显示的视频帧和在当前帧后显示的视频帧限 定一个视频帧。由于对冗余视频信息的有效利用,P帧和B帧通常提 供最好的压縮。发明内容用于数字视频编码的可变精度图像间定吋规定的方法和装置被公 开。具体来说,本发明公开了一种使临近的视频图像的相对吋间以相 当有效的方式进行编码的系统。在一个实施方式中,确定当前视频图 像和临近视频图像之间的显示时间差。该显示时间差随后被编码为视 频图像的数字表示。在一个优选实施方式中,临近的视频图像是最新 传输的存储图像。为有效地进行编码,显示时间差可以用可变长度的编码系统或算 术编码进行编码。在一个可选择实施方式中,显示时间差被编码为2 的幂来减少传输的比特的数目。从附图和以下的详细说明中可以使本发明的其它目的、特征和优 点显而易见。


本领域的技术人员参照以下的详细说明将很容易地理解本发明的 目的,特性和优点。图1表示一种可能的数字视频编码系统的高级框图。图2表示一系列图像应该播放的顺序排列的视频图像,其中连接 不同图像的箭头代表用运动补偿创建的图像间相关性。 -图3表示以图像的优选传输顺序排列的图2中的视频图像,其中 连接不同图像的箭头表示用运动补偿创建的图像间相关性。图4表示一系列视频图像,其中视频图像间互相参照的距离被选 为2的幂。
具体实施方式
一种多媒体压縮和编码系统中用于制定变化精度的图像间定时的 方法和系统被公开。在以下的描述中,为了说明的目的,所阐述的特 定术语为本发明提供全面理解。然而,对于本领域的技术人员,实施本发明并不需要这些具体细节。例如,本发明是参照MPEG-4多媒体 压縮和编码系统来进行说明的。然而,相同的技术可以容易地应用在 其它类型的压縮和编码系统中。多媒体压缩和编码综述图1表示技术领域中所熟知的典型的数字视频编码器100的高级 框图。该数字视频编码器]00接收在框图的左侧的视频帧105的输入 视频流。每个视频帧被离散余弦变换(DCT)单元110所处理。该帧 可以独立地(帧内)处理或者参照运动补偿单元(帧间)接收来自其 它帧的信息来处理。然后, 一个量化器(Q)单元120将来自离散余弦 变换单元110的信息量化。最后,量化的视频帧用熵编码器(H)单元 180编码来生成编码的比特流。该熵编码器(H)单元180可以用可变 长度编码(VLC)系统。由于帧间编码的视频帧是参照其它临近视频帧来限定的,所以数 字视频编码器]00需要创建一个将出现在数字视频解码器中的每个帧 怎样解码的复本,这样帧间就可以被编码。因此,数字视频编码器IOO 的下部实际为一个数字视频解码器系统。具体来说, 一个反量化(Q—"单元130将视频帧信息的量化倒置,并且反离散余弦变换(DCT—1)单 元140将视频帧信息的离散余弦变换进行倒置。在所有DCT系数从 iDCT中重建时,该运动补偿单元将使用信息以及运动矢量来重建随后 将被用作下一帧运动评估的参考帧的编码帧。该解码帧可随后用于对相对于解码视频帧中的信息限定的帧间(P 帧或B帧)进行编码。具体来说, 一种运动补偿(MC)单元50和运 动评估(ME)单元160被用来确定运动矢量并产生用于编码帧间的不 同数值。一个速率控制器l卯接收来自数字视频编码器100的不同分量的 信息并使用该信息为每个视频帧分配比特预算。该速率控制器190应 按照以下方式分配比特预算,使其产生最高质量的遵循一系列指定的 限制的数字视频比特流。具体来说,该速率控制器190在没有溢出缓 冲(通过发射比能够存储的更多的信息来超过解码器中可访问的存储 量)或下溢缓冲(发送视频帧不够快因此使解码器缺少进行显示的视 频帧)的情况下产生最高质量的压縮视频流。多媒体压縮与编码综述在一些视频信号中,连续视频图像(帧或场)之间的时间可以不 恒定。(注意本文将用术语视频图像来一般地指视频帧或视频场)。 例如, 一些视频图像可能由于传输带宽的限制而丢掉。此外,该视频 定时还可能由于摄像机的不规则或特殊效果,如慢动作或快动作等而 改变。在一些视频流中,原始视频源可以通过设计简单地具有非一致 图像间吋间。例如,由于没有通过例如视频摄像系统等统一的视频捕 捉系统来创建非任意视频定时,所以如计算机图像动画等合成视频可 具有非一致的定时。灵活的数字视频编码系统应能够处理非一致的定 时。许多数字视频编码系统将视频图像分成宏块的矩形网格。视频图 像中的每个个体宏块被独立地压縮和编码。在某些实施方式中,使用 熟知的"像素区块"的宏块中的子块。这样的像素块可以具有其本身 的可内插的运动矢量。即使本发明的说明被等同地应用在宏块和像素 区块中,本文将涉及宏块。某些视频编码标准,如,ISO MPEG标准或ITU H.264标准,使用不同类型的预测宏块来将视频图像编码。在预期中,宏块可以为以下 三种类型中的一种。1. I宏块——一个内(I)宏块在其编码中不使用来自任何其它视 频图像的信息(完全自定义的);2. P宏块——一种单向预测(P)宏块是指来自一在前视频图像 的图像信息;或3. B宏块——一种双向预测(B)宏块使用一在前图像和一在后 视频图像的信息。如果视频图像中所有的宏块为内宏块,则视频图像为帧内编码帧。 如果一个视频图像仅包括单向预测宏块或内宏块,则视频图像被已知 为P帧。如果视频图像包括任何双向预测宏块,那么视频图像已知为B 帧。为简单起见,本文将考虑所给图像中的所有宏块为同一类型的情 况。将编码的视频图像的一个样本顺序可以表示为1,B2B3B4P5B6B7B8B9P,oBuP,2B,31,4…其中字母(1, P或B)代表如果视频图像为I帧,P帧,或B帧,且数字代表以视频图像的顺序的视频图像的摄像顺序。该摄像的顺序 为摄像机记录视频图像的顺序,因此也是视频图像应该被显示的顺序 (显示顺序)。视频图像的在前样本系列在图2中图解表示。参考图2,箭头表示来自存储图像的宏块(在此种情况下I帧或p帧)被用在其它图像的 运动补偿预测中。在图2的情况中,在帧内视频图像I,的编译中没有来自其它图像的信息。视频图像P5是在其编码过程中使用来自在前视频图像I,的视 频信息的P帧,因此从视频图像I,到视频图像P5绘制了一个箭头。视 频图像B2、视频图像B3、视频像B4在其编译过程中都使用来自视频图像I,和视频图像p5的信息,因此从视频图像L和视频图像p5到视频图像B2、视频图像B3和视频图像B4绘制了箭头。如上所述该图像间吋间通常互不相同。由于B图像使用来自在后图像(随后将被显示的图像)的信息时,传输顺序通常与显示顺序不同。具体来说,构建其它图像所需的视频 图像应首先被传输。对于以上顺序,传输顺序应为 1,P5B2B3B4PiqB6B7BsB9P,2B,山4B,3…图3图解说明了图2中的视频图像的上述传输顺序。再次地,图 中的箭头指示来自存储的图像的宏块(此种情况下为I或P)被用在其 它视频图像的运动补偿预测中。参照图3,该系统首先传输并不依赖于任何其它帧的I帧I,。随后, 该系统传输依赖于视频图像I,的P帧视频图像P5。随后,即使视频图 像B2将在视频图像P5前被显示,系统仍将在视频图像P5后传输B帧 视频图像B2。其原因是,当应对B2进行解码时,解码器将己经接收并 存储了将视频图像B2进行解码所必须的视频图像I,和P5中的信息。类似地,视频图像I卜P5已准备好来将随后的视频图像B3和视频图像B4进行解码。该接收器/解码器记录用于正确显示的视频图像顺序。在本 操作中,I和P图像通常指存储的图像。P帧图像的编码过程典型地使用运动补偿,其中在图像中为每个宏 块来计算运动矢量。使用计算出的运动矢量,预测宏块(P宏块)可以 通过转变上述在前图像中的像素来进行。在P帧图像中的实际宏块和 预测宏块之间的差别随后被编码以进行传输。每个运动矢量也可以通过预测编码来传输。例如, 一个运动矢量 预测可以用临近的运动矢量形成。在此种情况下,在实际运动矢量和 运动矢量预测之间的差别被编码以进行传输。每个B宏块使用两个运动矢量第一运动矢量是指上述在前视频 图像,第二运动矢量是指在后视频图像。从这两个运动矢量中,计算 两个预测宏块。此两个预测宏块随后用某一函数结合在一起来形成最 终的预测宏块。如上所述,在B帧图像中的实际宏块和最终预测宏块 之间的差别随后被编码以进行传输。由于具有P宏块,B宏块的每个运动矢量(MV)可以通过预测编 码来传输。具体来说, 一个预测运动矢量用临近的运动矢量来形成。 随后,在实际运动矢量和预测的之间的差别被编码以进行传输。然而,由于B宏块,存在着从最近的存储图像宏块中内插运动矢 量的机会。在数字视频编码和数字视频解码中都进行这样的内插。该运动矢量在从摄影机缓慢扫过静态背景的视频顺序的视频图像 中工作得非常好。实际上,这样的运动矢量内插足够好以致可以单独 使用。具体来说,这意味着对于这些使用内插的编码的B宏块运动矢 量无需计算或传输任何差别信息。为进一步说明,在上述情况中,我们将图像i和j之间的图像间显示时间表示为Di,i,即,如果图像的显示时间分别为Ti和Tj,贝lj Di,「Ti-Tj随后为 Di,「Di'j+Dj,k Di, k=-Dk, i 注意Di,j在某些情况下可以取负值。因此,如果MV5,,为参考I,的P5宏块的运动矢量,则对于B2、 B3 和B4中对应的宏块,参考I,和P5的运动矢量应分别地插入 MV2. ,二MV5,,承D2,,/D5j MV5, 2=MV5J*D5,2/D5J MV3, 「MV5, ,D3,'/D5,,MLV4,产MV5,JD4',/D5j MV5,4=MV5, ^Ds,4/D5,, 注意,由于显示吋间的比率被用于运动矢量预测,所以不需要绝 对显示吋间。因此,相对显示时间可以用做Di,i显示时间值。本情况作为H.264标准中的实例被概括。在概括中, 一个P或B 图像可以使用任何先前传输的图像用于运动矢量预测。因此,在上述情况下,图像B3可以在其预测中使用图像Ii和图像B2。此外,运动图像不仅可被内插还可被外推。因此,在此种情况下我们将得到 MV3,产MV2,'承D3, "D2,'此种运动矢量外推(或内插)也可以应用在预测过程中来用于运 动矢量的预测编码过程。在任何情况下,在非一致图像间时间的问题是将Di,j的相对显示时 间传输到接收器上,这也是本发明的主题。在本发明的一个实施方式 中,在第一图像之后对于每个图像,我们将传输当前图像和最新传输的存储图像之间的显示时间差。为了错误恢复,在图像中应将传输重复几次,例如,在MPEG或H.264标准的所谓切片头部(sliceheader) 中。如果所有的切片头部丢失,那么推测起来,用于解码信息的依赖 于丢失图像的其它图像也不能被解码。因此,在上述情况中,我们应传输以下i D2, sD3, 5D4,5D10,5D6,10D7, ioDs, 10D9, ioD|2.10 Du, 12D14, 12D13,14--' 为了运动矢量的评估,用于Du的精度需要可以在各图像间改变。例如,如果在两个P帧图像P5和P7之间的中途只有一个单一 B帧图像B6,则发送D7,5=2和D6,7=-l就足够了。其中Di, j显示时间值为相对时间值。如果,作为替换,视频图像B6仅在视频图像P5和视频图像P7之间距离的1/4处,则将发送的适当 的Di,j显示时间值为D7,5="CI D6,产-l注意在以上两个例子中,在视频图像B6和视频图像P7之间的显示时间是作为显示吋间"单位"来使用,并且在视频图像P5和视频图像 P;之间的显示时间差为4个显示时间"单位"。总之,如果除数为2的幂则运动矢量评估的复杂性较小。如果如 图4中所图解的,两个存储图像之间的Di,i (图像问吋间)被选为2的 幂,则在我们的实施方式中很容易完成。可选择地,该评估过程可以 被定义为将所有除数取截取或近似为2的幂。当图像间的时间为2的幂时,如果只有(2的)整数次幂被传输, 而不是图像间时间的全数值被传输,数据比特的数目能够被减少。图4 中图解说明了图像间的距离被选为2的幂的情况。在此种情况下,在 视频图像P,和视频图像P3之间的D3J显示时间值2传输为1 (因为 2'=2),并且在视频图像P7和视频图像P3之间的07,3显示时间值4可 以传输为2 (由于22=4)。在某些情况下,可以不使用运动矢量内插。然而,仍然需要将视 频图像的显示顺序传输到接收器/播放器系统中,这样接收器/播放器将 按照适当的顺序显示视频图像。在此种情况下,不考虑实际显示的时 间,用于Di,的简单有符号整数就足够。在某些应用中可以只需要符号。图像间时间Di,i可以简单地作为简单有符号整数值传输。然而,可 以使用许多方法来将Di,i数值编码来完成额外压縮。例如, 一个可变长 度编码数量之前的符号位相对容易实施和提供编码效率。可以使用的一个此种可变长度编码系统是所熟知的UVLC (通用 可变长度编码)。该UVLC可变长度编码系统由编码词给出1 = 12= 010 3 = 011 4= 00100 5= 00101 6= 00〗10 7= 00111 8 = 0001000...用于将图像间时间编码的另一种方法可以用算术编码方法。典型 地,算术编码使用条件可能性来实现数据比特的非常高的压縮。因此,本发明介绍了一种将图像间显示时间进行编码和传输的简 单但有效的方法。图像间的显示时间的编码过程可以通过使用可变长 度编码或算术编码而变得非常有效。此外,所需的精度可以选为符合 视频解码器的需要,而不再更多。上述内容说明了一种用于在多媒体压縮和编码系统中指定各种精 度的图像间时间的系统。应该理解的是本领域的普通技术人员可以在 不背离本发明范围的情况下对本发明元件的材料和排列进行改变和改 进。
权利要求
1.一种方法,包括接收第一视频图像、第二视频图像和所述第二视频图像的顺序值,所述顺序值表示在视频图像的序列中所述第二视频图像相对于所述第一视频图像的位置;以及通过使用所述顺序值来对所述第二视频图像进行解码。
2. 如权利要求1所述的方法,其中所述顺序值表示时间值。
3. 如权利要求1所述的方法,其中所述顺序值不表示时间值。
4. 如权利要求1所述的方法,其中所述视频图像的序列是用于显 示视频图像的序列。
5. 如权利要求1所述的方法,其中对所述第二视频图像进行解码 包括使用所述顺序值来基于另一视频图像的运动矢量计算用于所述第 二视频图像的运动矢量。
6. 如权利要求5所述的方法,其中所述另一图像是第三视频图像。
7. 如权利要求5所述的方法,其中计算所述运动矢量包括基于所 述另 一视频图像的所述运动矢量来执行内插操作。
8. 如权利要求5所述的方法,其中计算所述运动矢量包括基于所 述另一视频图像的所述运动矢量来执行外推操作。
9. 如权利要求1所述的方法,其中所述顺序值是压縮的顺序值。
10. 如权利要求9所述的方法,其中所述顺序值是通过使用可变长 度编码来压縮的。
11. 如权利要求9所述的方法,其中所述顺序值是通过使用算术编 码来压缩的。
12. 如权利要求1所述的方法,其中所述顺序值被存储在与所述第 二视频图像相关的切片头部中。
13. 如权利要求1所述的方法,其中所述顺序值表示所述第二视频 图像和所述第一视频图像之间的顺序差值。
14. 如权利要求1所述的方法,其中所述顺序值在所述第二视频图像中被存储了多于一次。
15. 如权利要求l所述的方法,还包括接收顺序值的序列,其中所 述顺序值的序列是非一致的。
16. —种方法,包括接收第一视频图像、第二视频图像和所述第二视频图像的顺序值, 所述顺序值表示在视频图像的序列中所述第二视频图像相对于所述第一视频图像的位置;以及通过使用所述顺序值来显示所述第二视频图像。
17. 如权利要求16所述的方法,其中所述顺序值用于基于另一视 频图像的运动矢量来计算用于所述第二视频图像的运动矢量。
18. —种方法,包括 接收第一视频图像;接收使所述第一视频图像与第二视频图像相关的顺序值;以及 通过使用所述顺序值来计算用于所述第一视频图像的第一运动矢里。
19. 如权利要求18所述的方法,其中计算所述第一运动矢量包括 使用所述顺序值来对第二运动矢量执行内插操作以计算所述第一运动矢量。
20. 如权利要求18所述的方法,其中所述第二视频图像用于在所 述第一视频图像的解码之前进行解码。
21. 如权利要求18所述的方法,其中所述顺序值被存储在与所述第一视频图像相关的切片头部中。
22. 如权利要求18所述的方法,其中所述顺序值在所述第一视频 图像中被存储了多于一次。
23. 如权利要求18所述的方法,其中所述顺序值包括时间值。
24. 如权利要求18所述的方法,其中计算所述第一运动矢量包括 确定所述第一视频图像的顺序值和第二视频图像的顺序值之间的第一顺序差值;确定第三视频图像的顺序值和所述第二视频图像的所述顺序值之 间的第二顺序差值;以及通过将用于所述第三视频图像的运动矢量与由所述第一顺序差值 和所述第二顺序差值定义的值相乘来计算用于所述第一视频图像的所 述第一运动矢量。
25. —种解码方法,用于包括第一视频图像、第二视频图像和第三 视频图像的比特流,所述方法包括计算特定值,该特定值基于(i)所述第三视频图像的顺序值和所述第一视频图像的顺序值之间的第一顺序差值,禾n (ii)所述第二视频图像的顺序值和所述第一视频图像的所述顺序值之间的第二顺序差值;基于所述特定值和用于所述第三视频图像的运动矢量来计算用于 所述第二视频图像的特定运动矢量;以及通过使用计算的运动矢量来对至少一个视频图像进行解码。
26. 如权利要求25所述的方法,其中特定视频图像的顺序值用于 指定该特定视频图像在视频图像的序列中的位置。
27. 如权利要求26所述的方法,其中所述序列是用于显示视频图 像的序列。
28. 如权利要求25所述的方法,其中特定视频图像的顺序值表示 该特定视频图像相对于另一视频图像的位置关系。
29. 如权利要求25所述的方法,其中所述特定值与所述第二顺序 差值成比例。
30. 如权利要求25所述的方法,其中所述特定值与所述第一顺序 差值成反比。
31. 如权利要求25所述的方法,其中所述第二视频图像的所述顺 序值来源于存储在与所述第二视频图像相关的切片头部中的值。
32. 如权利要求25所述的方法,其中通过使用计算的运动矢量来 对所述第二视频图像进行解码。
33. 如权利要求32所述的方法,其中所述第一和第三视频图像在 所述第二视频图像之前被解码。
34. —种方法,用于包括第一视频图像、第二视频图像和第三视频 图像的流,所述方法包括计算基于第一顺序差值和第二顺序差值的特定值,其中(i) 所述第一顺序差值表示所述第三视频图像的顺序值和所 述第一视频图像的顺序值之间的差值;并且(ii) 所述第二顺序差值表示所述第二视频图像的顺序值和所 述第一视频图像的所述顺序值之间的差值,其中特定视频图像的顺序 值表示该特定视频图像在视频图像的序列中的位置;基于所述特定值和用于所述第三视频图像的运动矢量来计算用于 所述第二视频图像的运动矢量;以及基于用于所述第三视频图像的所述运动矢量来计算用于所述第二 视频图像的另一运动矢量。
35. 如权利要求34所述的方法,其中所述特定视频图像的所述顺 序值指定所述特定视频图像在视频图像的序列中的显示顺序。
36. —种设备,包括用于执行如权利要求1-35中的任一项所述 的方法的装置。
全文摘要
本发明公开了一种数字视频编码中用于可变精度图像间定时规定的方法和装置。具体来说,本发明提供一种允许临近视频图像的相对时间可以按各种有效的方式进行编码的系统。在一个实施方式中,确定了当前视频图像(105)和临近视频图像中的显示时间差。显示时间差随后被编码(180)为视频图像的数字表达。在一个优选实施方式中,该临近视频图像为最新传输的存储图像。为有效进行编码,显示时间差可以用可变长度编码系统或算术编码进行编码。在一个可选择实施方式中,该显示时间差被作为2的幂来进行编码以减少传输比特的数目。
文档编号H04N7/36GK101262605SQ20081008223
公开日2008年9月10日 申请日期2003年7月11日 优先权日2002年7月15日
发明者A·普里, A·杜米特拉斯, B·G·哈斯克尔, D·W·辛格 申请人:苹果电脑有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1