视频编码方法

文档序号:7594197阅读:197来源:国知局
专利名称:视频编码方法
技术领域
本发明涉及视频编码解码(CODEC)方法和使用此方法的装置,更具体涉及差错恢复(error resilient)方式的视频CODEC方法和使用此方法的装置。并且,本发明是基于由本申请人提出的美国临时专利申请号为60/067,013、题目是“用差错恢复方式的视频CODEC方法”的申请。
背景技术
一般来说,在信道存在差错的情况下,当将所有帧编码成为位流时,视频CODE不能够处理信道差错。这是因为位流没有决定部件,以确定是恢复还是抛弃差错区。这样,很难确定帧的某部分是否有由差错引起的位丢失,或是否整帧都有差错,这样,存在一个问题,将在下帧中搜索位流的起点,而略去整帧编码的位流。在传统的CODEC中,一个附加设备用作决定部件,以便解决这个问题。作为一个例子,按照在H.263标准中定义的CODEC,采用图像起始码(PSC),并且如果在这个字段信息之后检测到一个差错,略去接着PSC的区,然后搜索下个PSC。还有,采用指示块组(GOP)起点的块起始码组(GBSC),如果在这个信息之后检测到一个差错,仅仅略去相应GBSC块然后搜索下个GOB,这样减少略去区的数量。
图1示出了由传统CODEC用差错恢复方式产生的视频数据包的例子。图1的视频数据包是产生于MPEG-4 CODEC中的视频数据包的例子。参照此数据包,在传统差错恢复CODEC中,数据被分成运动数据和纹理数据(texture data)以用于编码。运动数据由指示是否执行编码的编码位(COD)、指示每个宏块色度的宏块模式色度(MCBPC)、和运动矢量构成,而纹理数据是由编码块模式亮度(CBPY)数据、数据量化(DQUANT)数据和离散余弦变换(DCT)数据组成。由运动标记(MM)区分运动数据和纹理数据。并且,DCT数据由可逆可变长编码(RVLC)进行编码。
用上述方式编码的位流的解码处理将在以下描述。首先,在位流中搜索重同步标记RM。如果发现RM,则直到下一个RM之前的信息被认为是一个包。由运动矢量组成的运动矢量数据部分(MVDP)仅有预测的运动矢量,这样,仅当先前解码的运动矢量存在时,能够使用实际运动矢量。这样,如果从位流的MVDP中检测到一个差错,则略去相应的整个包,并搜索相应下个包的RM来解码,这样导致大量信息的丢失。

发明内容
为解决上述问题,本发明的第一个目的是提供用差错恢复方式的视频编解码(CODEC)方法。
本发明的第二个目的是提供其上存有差错恢复方式视频CODEC方法的计算机程序的计算机可读取介质。
本发明的第三个目的是提供用差错恢复方式的视频CODEC装置,实现视频CODEC方法。
因此,为实现上述第一个目的,提供了视频CODEC,其包括以下步骤(a)从差错恢复方式的视频数据的每个宏块划分首部数据部分(HDP)位区、运动矢量数据部分(MVDP)位区和离散余弦变换数据部分(DDP)位区;(b)对被划分的位区进行可变长编码;(c)对按照用于恢复的预定优先权而从可变长编码位区选择的位区进行可逆可变长编码;和(d)将标志插入可变长编码的或可逆可变长编码的位区。
为实现上述第二目的,提供了其上存有执行视频CODEC方法的计算机程序的计算机可读取介质。该方法包括以下步骤(a)从差错恢复方式的视频数据的每个宏块划分首部数据部分(HDP)位区、运动矢量数据部分(MVDP)位区和离散余弦变换数据部分(DDP)位区;(b)对被划分的位区进行可变长编码;(c)对按照用于恢复的预定优先权而从可变长编码的位区选择的位区进行可逆可变长编码;和(d)将标记插入可变长编码的或可逆可变长编码的位区。
为实现上述第三个目的,提供了一种视频CODEC装置,该装置包括划分单元,用于从差错恢复方式的视频数据的每个宏块划分首部数据部分(HDP)位区、运动矢量数据部分(MVDP)位区和离散余弦变换数据部分(DDP)位区;可变长编码单元,用于对划分的位区可变长编码;可逆可变长编码单元,用于对按照用于恢复的预定优先权从可变长编码的区域中选择的位区进行可逆可变长编码;和标记插入单元,用于将标记插入可变长编码的或可逆可变长编码的位区。
本发明提供一种对视频数据编码以产生视频数据包的视频编码方法,该方法包括以下步骤(a)通过重排构成视频数据的宏块数据来进行数据划分;(b)对所划分的区域进行可变长编码或可逆可变长编码。其中所述步骤(a)还包括步骤通过组合包含在所述宏块数据中的离散余弦变换数据来产生离散余弦变换数据区。其中所述步骤(b)还包括步骤在视频数据包中插入导引可变长编码区域和/或可逆可变长编码区域的导引信息,作为包首部信息。


通过参照附图详细描述优选实施例,本发明的上述目标和优点将更明显,其中图1示出了在差错恢复方式传统编解码(CODEC)期间产生的视频数据包的例子;图2是按照本发明的优选实施例的、用差错恢复方式的视频CODEC方法的主要步骤流程图;图3是按照本发明的优选实施例的,用差错恢复方式的视频CODEC装置的方框图;和图4是按照本发明通过差错恢复的视频CODEC方法产生的视频数据包的例子。
具体实施例方式
参照图2,图中示出了按照本发明的优选实施例用差错恢复方式的视频编解码(CODEC)方法的主要步骤,视频CODEC方法包括划分步骤20,可变长编码步骤22,对所选位区执行的可逆可变长编码步骤24,和标记插入步骤26。
在步骤20中,通过划分首部数据构成首部数据部分(HDP)位区。用类似方式,分别通过划分运动矢量数据和DCT数据构成运动矢量数据部分(MVDP)位区和离散余弦变换(DCT)数据部分(DDP)位区。
首部数据包括关于当前宏块编码状态的信息。即,首部数据表示当前宏块是否是其中当前帧的内容按其本身编码的互宏块(inter macroblock),还是其中该宏块与先前宏块之间的差值被编码的内宏块(intramacroblock)。这样,如果在首部数据中发生差错,则将引起非常关键的信息数据的丢失。
这样,由于首部数据的重要性,必须首先恢复首部数据。由于这个原因,HDP之中,表示是否执行编码的编码位(COD)和宏块模式色度(MCBPC)位可以组合成一个信息位COD+MDBPC以用于划分,由于下面原因,这个用于划分的组合较好。在H.263标准中,1位用于COD位及一个变长码用于首部数据的MCBPC位。然而,由于COD位可以是0和1,COD位难以出错。并且在使用变长码的MCBPC位出现差错的情况下,很可能差错位存在于变长码中,这样,难以检测该差错。这样,在本实施例中,COD位与MCBPC位组合起来用于划分,并且组合的位区被可逆可变长编码,这样,容易检测位中的变化。例如,在0110数据情况下,能够检测例如0101或1001的差错,这样,减少了利用差错信息的概率。另外,由于执行可逆可变长编码,也能够进行后向恢复。然而,HDP位区可以通过划分构成,而不用位的组合。
另外,以宏块单位执行步骤20,这样,步骤20最好包括一个步骤,即将表示第一宏块序列号的第一宏块索引(FMBI)位区插进每个包,以便被参照用于解码。并且,更好的是,步骤20包括一个步骤,即在MVDP位区之后插入包括绝对运动矢量信息而不是预测运动矢量的最后绝对运动矢量(LAMV)位。最优选的是,步骤20还包括一个步骤,即插入一个包号码(PN)位区作为表示包序列号的附加信息。
在可变长编码步骤22中,在HDP位区、MVDP位区和DDP位区执行可变长编码,并且,可变长编码PN和LAMV位区。
在可逆可变长编码步骤24中,在按照用于恢复的预定优先权而选择的可变长编码位区上执行可逆可变长编码。即,如果在解码期间可能发生信息丢失,则在整个包或宏块的可能丢失的重要信息上执行可逆可变长编码。以下将要详细描述优先权的原因。首先,如上所述的,首部数据表示当前宏块是其中当前帧的内容按其本身编码的互宏块还是其中该宏块与先前宏块之间的差值被编码的内宏块。几乎整个宏块由互宏块构成,以便增加压缩效率。如果在互宏块的HDP中发生差错,则不能使用MVDP和DDP。并且,如果在MVDP中发生差错,不能使用DDP。这样,每个数据的重要性以HDP,MVDP和DDP的顺序排列。即,按照这种重要性的宏块内存在优先权,并且需要按照优先权来恢复。在此,这种按照优先权而不是对所有数据选择的可逆可变长编码被认为是由于信道容量的限制,而可逆可变长编码与可变长编码相比增加了位数。
在按照本发明的没有在图2中表示出的视频CODEC方法中,通过后向的信道接收诸如容量,差错状态和拥挤程度的信道特性信息,以识别信道特性。在信道特性识别步骤中,更好的是,如果信道特性是在预留状态(inreserve order),对具有低优先权的预定位区,即DDP位区进行可逆可变长编码,否则,该位区只是可变长编码,这样,满足了信道特性及增加了差错恢复能力。还有,在信道特性识别步骤,如果信道特性是在预留状态,一个附加信息可被插入低优先权位区,例如DDT位区,以被参考用于解码。以下,将详细描述附加信息的使用。首先,能够附加地将HDP的信息传送进DDP。这是用于当在有优先权的HDP中发生差错而不是在MVDP和DDP中发生差错时,可以这样实现。通过在DDP之后放置HDP,当前的数据包能够恢复而不丢弃。其次,能够将CRC(循环冗余校验的缩写)作为附加信息传进DDP中。例如,在DDP位区,8位定长码用作直流(DC)值而变长码被用作交流(AC)值。相对来讲,从8位定长码中检测一个差错是困难的。为了有助于检测差错,将CRC加到8位定长码中,这样改善了恢复特性。另外,另一个定长码例如表示量化值的量化部分(QP),及8位定长码也用于获得CRC。即,通过将CRC增加到DDP的定长码中,解码期间的差错恢复特性能够改善。即,上述两种情况的附加信息是用于帮助当前包的差错区的恢复,或检测难以检测其中差错的区。另外,在用差错恢复方式的视频CODEC方法的本实施例中,在用于RVLC的信道特性识别步骤中按照信道特性使用不同的RVLC表,这样能更有效检测差错。
在标记插入步骤26,插入识别包的重同步标记(RM)和作为识别HDP和MVDP的信息位的首部标记(HM)。并且,插入识别MVDP和DDP的运动标记(MM)。更好的是,由没有用于编码HDP的码字构成HM,以在解码期间可以区别。
图3示出了为实现上述视频CODEC方法的,按照本发明优选实施例的用差错恢复方式的视频CODEC装置。参照图3,视频CODEC装置包括划分单元30;可变长编码单元32;和对按照用于恢复的预定优先权而选择的可变长编码位区进行可逆可变长编码的可逆可变长编码单元34;通过接收通过后向信道(未示出)的关于信道特性的诸如容量,差错状态和拥挤度的信息,从而识别信道特性的信道识别单元36;和用于将一个标记插入可变长编码或可逆可变长编码位区的标记插入单元38。
划分单元30接收视频数据,并且从如参照图2描述的在差错恢复方式中的视频数据的每个宏块中划分HDP位区、MVDP位区和DDP位区。并且更好的是,划分单元30在划分期间通过将具有用于恢复的较高优先权的位区的预定数,例如COD位和MCBPC位组合成一个信息位(COD+MCBPC),来构成HDP位区。
可变长编码单元32接收划分的位区,及执行可变长编码,并且可逆可变长编码单元34对按照用于恢复的预定优先权,例如按照解码期间整个包中或宏块中丢失的概率,从可变长编码的位区中选择的位区上执行可逆可变长编码,其具有好的差错恢复特性。然而,可逆可变长编码与可变长编码相比增加了位数,这样,更好的是,考虑有限的信道容量,仅对按照用于恢复的优先权选择的位区执行可逆可变长编码。
为此,信道特性识别单元36控制可变长编码单元32和反向可变长编码单元34,这样,如果信道特性是在预留状态,具有低优先权的位区,诸如DDP位区被可逆可变长编码,否则,该位区被可变长编码。另一种是,如果信道特性识别单元36确定信道特性是在预留状态,还可以包括附加信息插入单元(未示出),以便将附加信息插进有低优先权的位区,例如DDP位区。更好地是,如果信道特性识别单元36确定信道特性是预留状态,则可逆可变长编码单元36利用不同的编码表执行可逆可变长编码,以达到与参照图2描述的相同效果。
并且,按照本发明的视频CODEC装置还可包括FBMI位区插入单元(未示出),用于插入指示每个包的第一宏块序列号的FBMI位区,以便达到与图2描述的相同效果,并且可逆可变长编码单元34可在LAMV位区上执行可逆可变长编码。更好地是,视频CODEC装置还包括用于接着RM位区插入指示包序列号的PN位区作为附加信息的单元(未示出),及用于在MVDP位区之后插入包括绝对运动矢量信息的LAMV位区的单元(未示出)。
并且,对于分成的包,标记插入单元38插入一个重同步标记(RM),由没被用于编码HDP位区的码字组成的首部标记(HM)作为区分HDP和MVDP的信息位,运动标记(MM)用于区分MVDP和DCT。在此,HM由没被用于编码HDP位区的码字组成,以便在解码过程中被鉴别。
图4示出了通过按照本发明的视频CODEC方法获得的视频数据包的例子。参照图4,由视频CODEC方法产生的数据包包括RM位区,PN位区,FMBI位区,HDP位区,HM位区,MVDP位区,LAMV位区,MM位区和DDP位区。在包括这些位区的视频数据包中,RM位表示视频数据包的开始,这样,如同现有技术描述的,包的起点能被发现以用于解码。并且,PN表示每个包的序列号,并且可用作附加信息,FMBI位表示每个包的第一宏块的序列号。在本实施例中,通过将在MPEG-4或H.263标准中定义的COD位和MCBPC位组合成一个信息位(COD+MCBPC),然后在组合位上执行可逆可变长编码,获得HDP位。并且,作为区分HDP和MVDP的信息位HM位由没被用来编码HDP位的码字组成。MVDP位是通过对通过预测的运动矢量产生的信息执行可逆可变长编码而获得。在包括有关离散余弦变换(DCT)的信息的DDP位区中,编码的块模式亮度(COBY)位、数据量化(DQUANT)位和DCT系数被编码。并且,在当前包所用信息中,最好把在解码期间用于差错识别和恢复所需的信息插入DDP位。这种信息的插入可以选择地使用,取决于信道特性。MM位是用于区分MVDP位和DDP位的。
下面将描述按上述编码的视频数据包的解码处理。首先,当在接收的位流中发现RM时,该被发现的RM和下一个RM之间的位流被认为是一个包,就如现有技术所描述的那样。如果在HDP位发现差错,由于HDP已被可逆可变长编码,HDP位可被后向解码及前向解码。例如,通过利用下一个包的PN和FMBI可以恢复HDP位。即,由于当前包的宏块号码对应于下一个包的FMBI减去1得到的值,通过后向预测达到出错宏块区的先前区可以恢复HDP位。并且,解码MVDP位直到发现MM,这样,通过预测来解码运动矢量。如果在这个解码处理期间出现差错,由于MVDP已被可逆可变长编码,也能够后向解码。相比较而言,在由传统CODEC方法编码的视频数据包的解码处理中,仅在MVDP位中存在预测的运动矢量,这样仅当前先解码的运动矢量存在时,能够应用实际运动矢量。然而,在按照本发明的视频CODEC方法中,作为绝对运动矢量,而不是预测运动矢量的最后运动矢量LAMV,被逆向变长解码以被传送。这样,在使用LAMV逆向变长解码的情况下,它不依赖于先前运动矢量。并且,当在DDP区出现差错时,如果DDP位区已被可变长编码,则该包必须抛弃掉。但是,如果DDP位区已经被可逆可变长编码,可以用后向解码,对差错提供更多的恢复。另外,在DDP位区编码用于恢复所需的附加信息的情况下,这个附加信息能用于解码。
本发明可以通过一般用途的数字计算机来自计算机可用介质上运行的程序来实现,所说计算机可用介质包括但不限于诸如磁存储介质(例如,ROM,软盘,硬盘等)、光可读介质(例如CD-ROM,DVD等)和载波(例如经Internet发送)。因此,本发明可以体现为作为有用于视频CODEC的计算机可读程序编码单元的计算机可用介质,计算机可用介质中的计算机可读程序编码单元(means)包括从在差错恢复方式的视频数据的每个宏块划分HDP位区、MVDP位区和DDP位区的计算机可读程序编码单元;可变长编码被划分位区的计算机可读程序编码单元;按照恢复的预定优先权从可变长编码的位区中选择的位区进行可逆可变长编码的计算机可读程序编码单元;在可变长编码或可逆可变长编码区插入一个标记的计算机可读程序码单元。用来实现本发明的功能程序,编码和编码段可以由熟练的计算机程序员从包含本发明的描述中推出。
如上所述,按照本发明的视频CODEC方法能够对差错提供更多的恢复能力,这样,在差错是严重问题的情况下例如在无线通信信道中,通信较少受差错影响。
尽管在上述实施例中基于MPEG-4和H.263标准采用特定术语,例如RM,PN,FMBI,HDP,HM,MVDP,MM和DDP,它们仅是一般地使用和仅描述意义,而不限制用途。这样,本发明的视频CODEC方法能应用到采用不同位区的所有视频CODEC中,这些不同位区等效于上面特定术语描述的区。
权利要求
1.一种对视频数据编码以产生视频数据包的视频编码方法,该方法包括以下步骤(a)通过重排构成视频数据的宏块数据来进行数据划分;(b)对所划分的区域进行可变长编码或可逆可变长编码。
2.如权利要求1所述的方法,其中所述步骤(a)包括步骤通过组合包含在所述宏块数据中的离散余弦变换数据来产生离散余弦变换数据区。
3.如权利要求1所述的方法,其中所述步骤(b)包括步骤在视频数据包中插入导引可变长编码区域和/或可逆可变长编码区域的导引信息,作为包首部信息。
全文摘要
一种差错恢复方式的视频编解码(CODEC)方法,含有视频CODEC方法程序的计算机可读介质,及视频CODEC装置。视频CODEC方法对差错提供更大的恢复能力,使通信受差错的影响较小。其中,从差错恢复方式视频数据的每个宏块划分首部数据位区、运动矢量数据位区和离散余弦变换数据位区,然后对划分位区可变长编码,对按照用于恢复的优先权从可变长编码区选择的位区可逆可变长编码,在可变长编码或可逆向变长编码位区插入标记。
文档编号H04N7/26GK1561110SQ20041005495
公开日2005年1月5日 申请日期1998年12月1日 优先权日1997年12月1日
发明者温江涛, D 维拉塞诺, 约翰·D·维拉塞诺, 朴正辉, 朴东植 申请人:三星电子株式会社, 加利福尼亚大学董事会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1