视频序列由一系列静态画面或帧组成。视频压缩方法基于减少视频序列的冗余或在感知上不相关部分。可以将视频序列中的冗余度分类为频谱、空间和时间冗余度。频谱冗余度指的是同一画面的不同颜色分量之间的相似性。空间冗余度由画面中相邻像素之间的相似性引起。时间冗余度是由于出现在前一图像中的对象也有可能出现在当前图像中而存在。可以通过利用这种时间冗余度并从被称为锚或参考画面的另一画面预测当前画面来实现压缩。通过生成描述当前画面和参考画面之间运动的运动补偿数据实现进一步压缩。
但是,通常无法仅通过减少序列的固有冗余度获得充分的压缩。因此,视频编码器还设法降低视频序列中主观上不太重要的那些部分的质量。另外,借助于压缩参数和系数的有效无损编码,降低了编码比特流的冗余度。这种主要技术利用变长码。
视频压缩方法一般把利用时间冗余度缩减的画面与没有利用的那些画面区分开。没有利用时间冗余度缩减方法的压缩画面通常被称为INTRA(内)或I帧或I画面。通常从出现在当前画面之前的画面前向预测出时间预测图像,并将其称为INTER(间)或P帧。在INTER帧的情况下,预测运动补偿画面很少是足够精确的,因此空间压缩预测错误帧与各个INTER帧相关。INTER画面可包括INTRA编码的区域。
许多视频压缩方案也利用时间双向预测帧,这类帧通常被称为B画面或B帧。B画面被插入在I帧和/或P帧的锚画面对之间,并从这些锚画面中的任一个或这两个锚画面预测得到。与前向预测画面相比,B画面一般产生增加的压缩。B画面并不用作锚画面,即不从B画面预测其它画面。因此,可以删除B画面(有意或无意地),并不影响后续画面的画面质量。虽然与P画面相比,B画面可以改进压缩性能,但是它们的生成要求更高的计算复杂性和存储器使用,并且它们引入附加延迟。对于诸如视频流的非实时编码来说,这可能不是个问题,但可能在诸如视频会议的实时应用中引起问题。
压缩视频剪辑一般由画面序列组成,它们可以粗略地分类为时间独立INTRA画面和时间差分编码INTER画面。由于INTRA画面中的压缩效率一般低于INTER画面中的压缩效率,因此很少利用INTRA画面,特别是在低比特率应用中。
视频序列可以由多个场景或镜头组成。一个场景到另一场景的画面内容可能显著地不同,因此场景的第一画面一般是INTRA编码的。电视和电影素材中有频繁的场景变化,但在视频会议中场景删节相对很少。另外,一般插入INTRA画面以停止重构的视频信号中传输错误的时间传播,并为视频比特流提供随机访问点。
压缩视频很容易被传输错误破坏,主要出于两个原因。首先,由于时间预测差分编码(INTER帧)的利用,因而错误在空间上和时间上传播。在实践中,这意味着一旦发生错误,则在相对长的时间内人眼可容易地看见错误。特别易受影响的是低比特率上的传输,这种传输只有几个INTRA编码帧,所以时间错误传播在一段时间内不会停止。第二,变长码的利用增加了对错误的敏感度。当一个比特错误改变码字时,解码器将失去码字同步,并且还对后续无错码字(包括多个比特)错误地解码,直到下一同步(或开始)码。同步码是不能从其它码字的任何合法组合生成的比特模式,并且这些码不时被加入到比特流中,以使得能够再同步。另外,当在传输期间丢失数据时也出现错误。例如,在利用IP网中不可靠的UDP传输协议的视频应用中,网络元件可能丢掉部分编码视频比特流。
对于接收机来说,有许多方法解决在传输路径中引入的破坏。一般来说,收到信号后,首先检测传输错误,然后由接收机进行校正或隐藏。错误校正指的是完全恢复错误数据的过程,就象在第一位置没有引入错误一样。错误隐藏指的是隐藏传输错误的影响的过程,以使得在重构的视频序列中很难看得到。一般由源或传送编码增加一定量的冗余度以帮助错误检测、校正和隐藏。错误隐藏技术可以粗略地分为三类:前向错误隐藏、通过后处理的错误隐藏以及交互式错误隐藏。术语“前向错误隐藏”指的是发射机侧向发送数据中添加冗余度,从而增强编码数据的错误复原能力的那些技术。通过后处理的错误隐藏指的是解码器响应于接收信号的特性的操作。这些方法对错误接收信号的正确表示进行估计。在交互式错误隐藏中,发射机和接收机相互合作,从而使传输错误的影响最小化。这些方法主要利用接收机提供的反馈信息。通过后处理的错误隐藏还可以指被动错误隐藏,而另外两种类型表示主动错误隐藏的形式。
存在大量已知的隐藏算法,关于这些算法的回顾在Y.Wang和Q.-F.Zhu的题为“视频通信的错误控制和隐藏:回顾(Error Control andConcealment for Video communication:A Review)”(Proceedings of theIEEE,Vol.86,No.5,May 1998,pp.974-997)以及P.Salama、N.B.Shroff和E.J.Delp的文章“编码视频中的错误隐藏(Error Concealment inEncoded Video)”(提交给IEEE Journal on Selected Areas inCommunications.)
当前视频编码标准定义自给自足视频比特流的语法。在编写本文时最流行的标准为ITU-T建议H.263,“低比特率通信的视频编码(Video coding for low bit rate communication)”(February 1998);ISO/IEC 14496-2,“视听对象的类编码,第二部分:视觉(Generic Codingof Audio-Visual Object,Part2:Visual)”,1999(被称为MPEG-4);以及ITU-T建议H.262(ISO/IDE 13818-2)(被称为MPEG-2)。这些标准定义了比特流的层次以及相应地图像序列和图像的层次。
为帮助错误隐藏,MPEG-2视频编码标准允许在INTRA画面内传输INTRA宏块的运动矢量。这些运动矢量仅被用于错误隐藏,如下:如果INTRA宏块丢失(或破坏),则解码器利用属于被丢失那个上的宏块的运动矢量,从而从参考画面得到类似块。如果INTRA宏块不包括运动信息,则解码器用空间算法隐藏错误。
在H.263中,语法具有四层的层次结构:画面、画面段、宏块以及块层。画面层数据包括影响整个画面区域和画面数据解码的参数。大部分这种数据被配置在所谓的画面信头中。
画面段层可以是一组块层或片层。默认情况下,每个画面被分为若干块组。块组(GOB)一般包括16个连续的像素行。每个GOB的数据由可选的GOB信头以及之后跟着的宏块数据组成。如果利用可选片结构模式,则每个画面被划分为片而不是GOB。一片包括按扫描顺序的多个连续宏块。每片的数据由片信头以及之后跟着的宏块数据组成。
每个GOB或片被分为宏块。宏块涉及亮度的16×16像素(或2×2块)以及空间上相应的色度分量的8×8像素(或块)。块涉及亮度或色度的8×8像素。
块层数据由均一量化的离散余弦变换系数组成,它按照折线顺序扫描,用游程编码器进行处理并且用变长码进行编码。MPEG-2和MPEG-4层的分层与H263中利用的类似。
在H.263中,错误隐藏的问题一般被认为是后处理功能并且通常留给解码器。在ITU-T学习组16的问题15文档号17、18、19、20、21&22中,(其中这些文档出现在1999年10月美国新泽西州的ITU-T学习小组16的会议中),提议为H.263增加归一化语言从而指定几个错误隐藏技术并且定义信号传输机制,其中编码器可以利用这种信号传输机制将此通知解码器,最好以逐个画面为基础。
但是,由于解码器将要利用的错误隐藏方法是由编码器指定的,所以这种方法在解码器上是过度限制的。因此,即使解码器可以利用其它隐藏方法,但也不能使用这些方法。
根据本发明的第一方面,提供了一种对表示画面序列的视频信号进行编码的方法,这种方法包括将第一画面与第二画面进行比较,计算第一和第二画面之间的相似性量度,将相似性量度与相似性的预定标准进行比较,以及当相似性量度不满足相似性的预定标准时,输出一个指示符,该指示符表示后面的解码器应该使用非时间预测错误隐藏方法,而当相似性量度满足相似性的预定标准时,输出一个指示符,该指示符表示后面的解码器应该利用时间预测错误隐藏方法。
因此,解码器能够根据指示符自由地选择用于被破坏画面的适当类型的错误隐藏方法。但是,指示符并不指定具体的算法,因此解码器并不限于利用具体的算法。
当相似性量度不满足预定标准时,最好更新错误隐藏指示符。然后,指示符表示场景中什么可被视为一种变化。
因此,本发明使解码器能够检测哪些画面属于同一场景,并且如果需要,则根据该指示符选择适当类型的错误隐藏方法。所以,当错误隐藏指示符在一个帧和另一帧之间变化时,解码器通过应用非预测错误隐藏方法作出响应。如果从一个帧到另一帧错误隐藏指示符相同时,解码器通过应用时间预测错误隐藏方法作出响应。
例如,在场景变化中,当前画面(新场景中的第一画面)与前一场景中的最后一个画面之间的相似性将较低。因此,编码器将为当前画面更新错误隐藏指示符。如果画面被破坏,解码器检测错误隐藏指示符中的变化,并且利用非时间预测隐藏方法。另外,解码器可以确定哪些INTRA画面被用于对场景变化进行编码,以及哪些由于其它原因被插入到视频序列中,并且可以根据这种信息选择适当的隐藏方法。
一些视频编码器将所有帧(在初始帧之后)编码为INTER画面。如果场景删节后的第一INTER画面被破坏,则传统解码器很可能利用时间预测来尝试隐藏由INTER画面的丢失引入的错误。因此,来自不同场景的两个画面的内容被混合,由此隐藏画面可能出现无法接收地失真。但是,根据本发明的解码器能够根据错误隐藏指示符来检测它应该利用非时间隐藏方法而不是时间隐藏方法。因此来自不同场景的画面未用于错误隐藏。
与MPEG-2中引入的方案要求附加运动矢量相比,本发明在每帧中需要少得多的比特。另外,本发明根据现有视频压缩标准进行操作,不允许如MPEG-2中所允许的INTRA宏块的运动矢量。
错误隐藏指示符可以被包括在整个画面或画面的一部分中。在前一种情况下,指示符一般包括在画面信头中。在本发明的优选实施例中,根据H.263标准对视频信号进行编码,并且错误隐藏指示符被包括在补充增强信息中。在后一种情况下,错误隐藏指示符还可以被包括在编码画面的画面段信头或宏块信头中。
根据本发明的第二方面,提供了一种对表示画面序列的视频信号进行编码的方法,这种方法包括将第一画面与第二画面进行比较,计算第一和第二画面之间的相似性量度,将相似性量度与相似性的预定标准进行比较,以及响应于相似性量度输出一个指示符,其中当相似性量度不满足预定标准时,更新指示符,而当相似性量度满足预定标准时,指示符不变。
根据本发明的第三方面,提供了一种对表示画面序列的视频信号进行解码的方法,这种方法包括接收编码视频信号,识别各个要解码的画面中表示解码过程中要使用的隐藏方法类型的指示符,以及利用所识别的隐藏方法类型对编码视频信号进行解码。
根据本发明的第四方面,提供了一种错误隐藏方法,包括接收编码视频信号,这种编码视频信号包括表示错误隐藏过程中要利用的隐藏方法类型的指示符,以及适当地隐藏视频信号中的错误。
根据本发明的第五方面,提供了一种对表示画面序列的编码视频信号进行解码的方法,这种方法包括接收编码视频信号,为各个将要解码的画面确定一个表示第一画面和第二画面之间相似性量度的指示符,以及当指示符与前面收到的画面的指示符相同时,应用时间预测错误隐藏方法,而当指示符与前面收到的画面的指示符不同时,应用空间错误隐藏方法。
根据本发明的第六方面,提供了一种视频编码器,它包括输入端,用于接收表示画面序列的视频信号;计算器,用于计算第一画面与第二画面之间的相似性量度;以及比较器,用于将相似性量度与相似性的预定标准进行比较并输出表示后面的解码器将要利用的隐藏方法的指示符,这种比较器被配置为当相似性量度不满足预定标准时,输出一个表示应该利用非时间预测隐藏方法的指示符,而当相似性量度满足预定标准时,输出一个表示后面的解码器应该利用时间预测隐藏方法的指示符。
根据本发明的第七方面,提供了一种用于对表示画面序列的视频信号进行编码的视频编码器,这种编码器包括比较器,用于将第一画面与第二画面进行比较;处理器,用于计算第一和第二画面之间的相似性量度并将相似性量度与相似性的预定标准进行比较,这种处理器被配置为响应于相似性量度而输出一个指示符,其中当相似性量度不满足预定标准时,更新该指示符,而当相似性量度满足预定标准时,指示符不变。
根据本发明的第八方面,提供了一种视频解码器,它包括输入端,用于接收表示画面序列的编码视频信号;控制器,用于识别视频信号中各个要解码的画面的指示符,该指示符表示在解码过程中要用到的隐藏方法类型,以及利用如指示符所示的隐藏方法对编码视频信号进行解码。
现在将参考附图仅作为例示对本发明进行描述,其中:
图1示意了典型的多媒体移动通信系统。第一多媒体移动终端1经到移动通信网络4的无线电链路3与第二多媒体移动终端2进行通信。在两个终端1、2之间发送控制数据以及多媒体数据。
图2示意了终端1的典型多媒体组件。终端包括视频编解码器10、音频编解码器20、数据协议管理器30、控制管理器40、多路复用器/去复用器50以及调制解调器60(如果需要)。视频编解码器10从终端的视频捕获装置(未示出)(例如照相机)接收信号进行编码,并且从远程终端2接收信号进行解码,以便由终端1显示在显示器70上。音频编解码器20从终端1的麦克风(未示出)接收信号进行编码,并且从远程终端2接收信号进行解码,以便由终端1的扬声器(未示出)再现。
控制管理器40控制视频编解码器10、音频编解码器20和数据协议管理器30的操作。但是,由于本发明关心的是视频编解码器10的操作,所以将不提供对音频编解码器20和协议管理器30的进一步论述。
图3示意了根据本发明的视频编解码器10的例示。视频编解码器包括编码器部分100以及解码器部分200。编码器部分100包括输入端101,用于从终端1的照相机或视频源(未示出)接收视频信号。转换器102使编码器在编码的INTRA模式和INTER模式之间进行切换。
在INTRA模式下,来自输入端101的视频信号被DCT变换器103变换为DCT系数。接下来,DCT系数被传递到对系数进行量化的量化器104。转换器102和量化器104由视频编解码器的编码控制管理器105控制,后者还通过控制管理器40从接收终端2接收反馈控制。
在INTER模式下,对转换器102进行操作,以从减法器106接受来自输入端101的信号与存储在画面存储器107中的前一画面之间的差异。从减法器106输出的差异数据表示当前画面和存储在画面存储器107中的前一画面之间的预测错误。通过将量化器输出的数据传递到反量化器108并对反量化数据应用反DCT变换109,从而生成画面存储器107中的数据。由加法器110将得到的数据加入到画面存储器107的内容中。运动估计器111可以以传统方式从画面存储器107中的数据生成运动补偿数据(运动矢量)。
视频编解码器输出量化后的DCT系数112a、量化索引112b(即量化所有的细节)、表示编码执行的方式(I或P/B)的INTRA/INTER标志112c、表示编码帧数的传输标志112d以及编码画面的运动矢量112e。由多路复用器50将这些与其它多媒体信号一起进行多路复用。
视频编解码器10的解码器部分200包括反量化器120、反DCT变换器121、运动补偿器122、画面存储器123以及控制器124。控制器124接收由去复用器50从编码多媒体流中去复用的视频编解码器控制信号。在实践中,编码器的控制器105和解码器的控制器124可以是同一处理器。
现在将描述根据本发明的编码器的操作。视频编解码器10接收要编码的视频信号。视频编解码器的编码器100通过执行DCT变换、量化以及运动补偿来对视频信号进行编码。然后将解码视频数据输出到多路复用器50。多路复用器50将来自视频编解码器10的视频数据与来自控制器40的控制数据(以及其它适当的信号)多路复用为多媒体信号。终端1经调制解调器60(如果需要)将这种多媒体信号输出到接收终端2。
本发明涉及将指示符包括到视频序列语法中,这种指示符表示解码器要利用的隐藏方法类型。它可以被包括在比特流的画面层中或作为单独层提供。指示符提供不同场景的标识,进而提供要利用的隐藏方法类型的标识。
在本发明的第一实施例中,错误隐藏指示符包括所谓的场景标识符(SI),这种场景标识符SI被加入到各个编码画面的比特流表示中。场景标识符是一个值,它在同一场景的所有画面中相同。属于不同场景的画面一般具有不同的场景标识符。最好在每次更新SI时将其值加1。但是,应该注意,场景标识符可以取两个值中的一个,其中来自相邻场景具有不同SI值的画面,如奇数场景的画面的SI设为0而偶数场景的画面的SI设为1。
编码器的控制器105通过比较一帧与另一帧之间的相似性来检测场景删节。控制器105将当前画面的像素表示(从输入端102接收)与存储在画面存储器107中的前一画面的像素表示进行比较。每当两个画面之间的相似性低于某一阈值时,控制器检测到场景删节,并且输出更新的场景指示符112f。如果相似性高于阈值,不更新而只是重复场景指示符。
场景标识符没有必要识别实际场景删节;场景标识符中的变化表示当前画面相对与前一画面已发生了充分地变化,从而当前画面可被认为是一个新场景。
可以利用用于检测场景的其它已知方法。
在本发明的第二实施例中,所谓的隐藏方法指示符(CMI)被加入到各个编码画面的比特流表示中。CMI向解码器表示如果相关画面被破坏时,解码器应该利用的隐藏方法类型。编码器通过比较当前画面与前一画面之间的相似性,确定哪个CMI与该画面相关。如果两个画面之间的相似性低于某一阈值,则控制器将第一个隐藏方法指示符CMI=0作为输出112f输出。它向解码器表示应该利用非时间预测隐藏方法。如果相似性高于阈值,将第二隐藏方法指示符CMI=1作为输出112f输出。它向解码器表示应该利用时间预测隐藏方法。
相似性量度可以通过计算两个画面之间的数学相关性而形成。
错误隐藏指示符还可以被包括在画面段信头和/或宏块信头中,从而影响接收解码器在这一层对适当的错误隐藏方法的选择。
考虑终端1从终端2接收编码视频数据,现在将参考其解码角色描述视频编解码器10的操作。终端1从发送终端2接收多媒体信号。去复用器50对多媒体信号去复用,并将视频数据传递给视频编解码器10,以及将控制数据传递到控制管理器40。视频编解码器的解码器200通过对编码数据进行反量化、反DCT变换以及运动补偿来对数据进行解码。解码器的控制器124检查接收数据的完整性,如果检测到错误,则以以下描述的方式设法校正和隐藏错误。接下来输出解码、校正且隐藏的视频数据,用于在接收终端1的显示器70上再现。
视频数据中的错误可以出现在画面层、画面段层或宏块层。错误检查可以在这些层中任何一层或所有这些层上执行。
首先考虑根据本发明编码的信号,其中包括了指示符SI,当检测到错误时,解码器检查收到但被破坏的画面的SI。如果被破坏画面的SI与时间上相邻的正确解码画面的SI相同,则解码器应用时间预测(INTER)隐藏算法。解码器可能能够执行不同的时间预测隐藏算法。指示符SI向解码器表示应该利用的隐藏算法类型,但不指定要用的算法。
如果被破坏画面的SI不同于时间上相邻的正确解码画面的SI,则解码器利用空间(INTRA)隐藏方法隐藏画面。
考虑根据本发明编码的信号,其中包括了指示符CMI,当检测到错误时,解码器检查收到但被破坏的画面的CMI。如果被破坏画面的CMI为CMI1,则解码器利用空间隐藏方法隐藏该画面。如果被破坏画面的CMI为CMI2,则解码器应用时间预测隐藏算法。同样,解码器可能能够执行不同的错误隐藏算法。指示符CMI向解码器表示应该利用的隐藏算法类型,但不指定要用的算法。
现在将参考H.263视频编码标准论述如何可以在编码信号的语法中包括错误隐藏指示符的例示。
图4示意了如根据H.263已知的比特流的语法(下面的实现描述GOB格式,但本领域的技术人员将清楚,本发明也可以以片格式实现)。如已经提到的,比特流具有四层:画面层、画面段层、宏块层以及块层。画面层包括画面信头,其后跟着块组的数据,最后跟着任何可选的序列结束码和填充比特。
先有技术H.263比特流的格式如图4所示。以下给出了各部分的描述符:
PSC 画面开始码(PSC),表示画面的开始
TR 时间参考(TR),通过将其在时间上的上一参考画
面信头中的值加1加上上次发送画面之后跳过或非
参考画面的数量而形成
PTYPE PTYPE包括画面编码类型等细节,即INTRA或
INTER
PQUANT 码字,表示要用于画面的量化器,直到被随后任何
量化器信息更新
CPM 码字,信号通知可选连续出现多点以及视频多路复
用(CPM)模式
PSBI 画面子比特流指示符-只在设置了CPM时出现
TRB 在帧是双向预测帧(被称为PB帧)时出现
DBQUANT 在双向帧时出现
PEI 它涉及另外的插入信息,并被设为“1”以表示出
现以下可选数据字段:PSUPP和PEI。PSUPP和PEI
一起被称为补充增强信息,另外在H.263的附录L
中定义。
GOBS 是用于当前画面的块组的数据
ESTF 在EOS之前为获得字节对齐而提供的填充码字
EOS 表示画面的数据序列结束的码字
PSTUF 允许下一画面开始码PSC的字节对齐的填充码字
如图4所示的结构不包括可选PLUSTYPE数据字段。只在由CPM表示时,PSBI才出现。只在PTYPE表示利用所谓的PB帧模式时才出现TRB和DBQUANT(除非出现PLUSTYPE字段,并且其中表示利用了DBQUANT)。这些情况在H.263规范中进行了更详细地论述。
以下段落概述了通过根据本发明的编码器输出的比特流的可能实现。
如下所示,隐藏方法指示符可以合并到H.263比特流中。图5a示意了根据本发明的第一实现的编码器输出的比特流的例示。如图5a所示,比特流包括附加码字SI,它是表示画面所属场景的码字。编码器根据连续画面之间的变化量插入附加码字,如上所述。标识符中的变化表示编码的画面与参考画面之间的相似性较低。解码器利用此信息选择所示类型的错误隐藏方法。在这种情况下,并没有具体地表示要用的错误隐藏方法类型,但可以从SI中的变化确定要用的错误隐藏方法类型。
图5b示意了根据本发明的第二实现的编码器输出的比特流的例示。如图5b所示,比特流可包括附加码字CMI,它是表示解码器要用的隐藏方法类型的码字。如上所述,编码器根据连续画面之间的变化量插入这个附加码字。
或者,SI或CMI可以被包括在补充增强信息PSUPP(见H.263的附录L以及图4)。补充信息可以出现在比特流中,虽然解码器可能不能够提供增强能力以利用它,或者甚至适当地解释它。可允许解码器简单地删除补充信息,除非已经由外部装置协商了提供所需能力的要求。
如果PEI被设为“1“,则后面的9个比特由8比特的数据(PSUPP)以及另外一个PEI比特组成,PEI比特表示后面是否有另外9个比特等等。
PSUPP数据由4比特函数类型表示FTYPE、后面跟着4比特参数数据长度规范DSIZE、后面跟着函数参数数据的DSIZE八位字节、后面可选的跟着FTYPE等。已知利用这种PSUPP码字就各种情况发出信号通知,比如:表示通过大小调整或不通过大小调整的全画面或部分画面冻结或冻结释放请求;为视频流内特定画面或画面序列设置标志以用于外部使用;或传送用于视频合成的色度键信息。
为了利用补充增强信息实现本发明,将另一FTYPE定义为“场景标识符”或“CMI”。例如,FTYPE 15可用于这个目的。
在图6a和6b中示意了此CMI。图6a示意了一个例示,其中参数SI被包括在画面信头的SEI中。FTYPE被定义为场景标识符SI。DSIZE指定参数的长度,而随后的八位字节是参数数据,即SI的值。根据这个值,接收解码器可以确定被破坏的画面是否来自与前一画面相同的“场景”,进而选择最适合的隐藏方法类型。图6b示意了一个例示,其中参数CMI被包括在画面信头的SEI中。FTYPE被定义为隐藏方法指示符CMI。DSIZE指定参数的大小,而随后的八位字节是参数数据,即CMI的值。根据这个值,接收解码器可以确定用于被破坏画面的最适合的隐藏方法类型。
或者,这种信息可以包括在附加补充增强信息中,如“新附录W草案:附加补充增强信息规范”中所指定的(P.Ning和S.Wenger,ITU-T Study Group 16 Question 15 Document Q15-I-58,November1999)。
在这个草案中,FTYPE 14被定义为“画面消息”。当设置这个FTYPE时,画面消息函数表示代表消息数据的一个或多个八位字节的出现。消息数据的第一个八位字节是具有图7所示结构的消息信头,即CONT、EBIT以及MTYPE。DSIZE等于与画面消息函数对应的消息数据中的八位字节数,其中包括第一个八位字节消息信头。
如果连续字段CONT等于1,表示与画面消息相关的消息数据是与同下一画面消息函数相关联的消息数据相同的逻辑消息的部分。结束比特位置字段EBIT指定最低有效比特数,它在最后一个消息八位字节中应被忽略。这些字段更多的细节可以在以上提到的附录W的草案中找到。
字段MTYPE表示消息类型。附录W的草案中提出了各种类型的消息。根据本发明,将如MTYPE9的一种类型定义为错误隐藏类型。场景标识符或CMI的值在消息信头之后的八位字节中定义。场景标识符的值在同一场景的所有画面中都是相同的。属于不同场景的画面具有不同的场景标识符值。解码器利用SI或CMI确定要用的错误隐藏类型。
消息还可以表示,如果没有正确接收至少部分当前画面的特别指定矩形区域时,应该用于该区域的错误隐藏类型。一个画面可以有多个错误隐藏类型消息,它们分别指定非重叠矩形区域的隐藏类型。有利的是,如果消息没有覆盖画面的某些区域,则解码器在那些区域使用任一种错误隐藏。解码器最好利用与画面类型对应的隐藏类型,即用于INTER帧的时间预测隐藏方法以及用于INTRA帧的非时间预测隐藏方法。
现在将给出特定例示。对于各个错误隐藏类型消息,DSIZE应是6,CONT应是0,而EBIT应是0。如果第一个数据字节等于1(00000001),则它向解码器表示只能利用空间隐藏算法来隐藏传输错误。如果第一个数据字节等于2(0000 0010),则它向解码器表示利用预测来隐藏传输错误。接下来的四个PSUPP包括要隐藏错误的画面内特定矩形区域左上角的水平和垂直位置以及该矩形区域宽度和高度,它们分别利用八个比特且以(亮度画面的)16像素为单元表示。例如,整个四分之一公用中分辨率图象格式(QCIF)画面(它具有176×144个像素的量度画面)由四个参数(0、0、11、9)指定。
对于具有宽度和高度不能被16整除的画面格式,指定区域可以延伸为可被16整除的下一更大尺寸。例如,具有大小为160×120个像素的整个图像由四个参数(0、0、10、8)指定。指定区域最好不与画面边界交叉,并且最好不与同一画面的其它指定错误隐藏区域重叠。
错误隐藏指示符还可以被结合到其它视频编码协议中。例如,MPEG-4定义了所谓的用户数据,它可以包括任何二进制数据并且不必与画面相关。可将错误隐藏标识符加入这些字段中。
本发明并无意限于上述的视频编码协议:这些协议仅为了例示。本发明适用于可以选择错误隐藏方法的任何视频编码协议。如上所述的加入信息允许接收解码器确定使用的错误隐藏方法的最佳类型。