专利名称:对被通道噪声破坏的视频数据进行译码的方法
技术领域:
本发明涉及视频数据的译码方法,更具体地讲,涉及对译码器接收到的视频数据进行检错和纠错的方法。
抗差错性(error-robustness)一直是视频通讯中,尤其是带有易出许多错误的系统比如说无线通讯系统中的主要关注之一。因此,尽了许多努力来提高视频通讯系统中被传输数据的抗差错性。
提高视频通讯系统抗差错性的方法,从反馈通道概念的观点来讲,大约可分为两类一类是反馈方法,另一类是前馈方法。
在典型的反馈方法中,数据按照译码器和编码器之间的相互作用被重新传输。
图1是应用反馈方法的无线通讯系统的概念性的方框图。
当译码器15由于通道中引入的差错而没有能译出所接收的比特流时,差错检测器16检测出错误或错误存在的数据部分,并向译码器发送一个反馈信号比如拒绝认可(NAK)信号,该拒绝认可(NAK)信号作为自动重传输请求(ARQ)信号经控制通道或者数据通道送给编码器11。除了重传输数据外,译码器15还要求编码器11用或不用错误跟踪消息或不相等错误保护(UEQ)信息来完成INTRA更新。图1中参考数字12和14分别表示处于编码器一边及译码器一边的射频(RF)单元。
用这些方法补充保证了快速差错恢复,从而最终提高图像质量。
然而,反馈通道方法降低了整个通道的吞吐量并增加了使用该方法的通讯系统的复杂性,虽然它提供了出错帧的快速更新并保证了业务质量(QOS)。
而且,反馈方法的一个重要问题是反馈信息不能被错误破坏。如果反馈信息被破坏,就有更多的反馈信息需要传输,或者整个系统不正常工作,直到系统被校正恢复。
另一方面,前馈系统由于不用反馈信息,故只增加视频编码器或译码器的一点儿复杂性用来抗差错和/或者提高业务质量(QOS)。和反馈方法比较,前馈方法保持了整个通道的吞吐量,并且采用该方法的通讯系统的复杂性也很低。
有两种可能实现前馈的技术在编码器估算错误或在译码器检测/校正错误。
图2A是应用前馈技术中的差错估算方法的无线通讯系统的概念性的方框图。
在图2A所示的系统中,编码器21通过监控射频(RF)功率的方法或应用出错模型22计算错误度的方法来估算通道差错,以便更新或不等同地保护编码后的图像。然后,图像数据与估算的差错信息一起,通过两个射频(RF)单元(25和26)及其间的通道,传输给译码器26。
对可能出错的图像的特定部分进行刷新,产生快速差错恢复,同时不等同的差错保护提高了抗差错性。如果编码器21的差错估算模型22高度可靠,该模型使得译码器进一步提高业务质量(QOS)。
然而,该方法通常增加了为抗差错的附加信息,这就可能增加新的比特预算。其它两个缺点是传输中附加信息易受通道错误影响和未保护区域可能发生错误。
图2B是应用前馈技术中的差错检测/校正方法的无线通讯系统的概念性的方框图。
在图2B所示的系统中,差错检测器36提供译码器35有关从编码器31经射频(RF)单元32和34及其间的通道传送来的数据中的差错信息,从而译码器35校正错误。
在该方法中,仅在译码器方对到来的比特流进行差错的检测和校正,正如图2B所描绘的。属于后一种情况的其中一种典型方法是差错隐藏方法。
该方法的基本概念是,当译码器处于出错的语法(例如,管理信息、运动矢量、直流/交流(DC/AC)系数,等)时,译码器或者用前一帧中无错误的组模块(GOB)或宏模块(MB)数据来替换出错的组模块(GOB)或宏模块数据,或者使用前一帧中组模块/宏模块(GOB/MB)上的运动矢量信息,以便成功地隐藏当前出错的组模块/宏模块(GOB/MB),从而,主观上的视觉失真便注意不到了。
该技术的一些优点是在比特率低和执行起来复杂性小的情况下具有相对较好的视觉质量。然而,在要求高质量图像的高比特率通讯中,由于可能积累的错误,错误传输效果便可看见。
由于本发明主要关注H.263协议,故值得提一些H.263相比较于H.261所具有的特征。H.263的一个引人注意的特征是它有四个可通行选项,这毫无疑问提供了比H.261提高很多的特性。另外,H.263由于去掉了运动矢量(MV)限制符,因而有更简单的语法结构,这也提供了更好的压缩性。
同时,H.263的优点只有在通道是高度可靠时才能得到保证,比如说,在有线的ISDN和POTS线中,其比特错误率为可忽略不计的数量级10-8或10-9。然而,H.263的优点在易出错通道由于下列原因不能得到保证(1)既有随机错误也有突发错误的无线通道在可变长度编码(VLC)方式中信息遭到破坏;(2)可通行选项使得管理信息,比如说,色度宏模块类型和编码的模块型式(MCBPC),有一整套可能的语法元素,而在译码器方很难检错。换句话说,加入的信息由于四个可通行选项也使得H.263的比特流在无线链接中易出通道错误;(3)由于缺少宏模块限制符,增加了丢掉的模块数。
本发明的目的在于通过牺牲编码效率提供一种能有效地对被破坏的视频数据进行译码并减少丢失的宏模块的译码方法。
为达到上述目的,提供了一种对安排在第一单元的视频数据进行译码的方法。该第一单元包括多个第二数据单元。每个第二数据单元包含关于各自第二数据单元的状态信息。此方法包含以下步骤(a)确定当前第二数据单元的状态信息是否为无效;(b)如果上述步骤(a)确定第二数据单元中的状态信息为无效,则将状态信息改变为一组可能的状态信息中的另一个,以便根据改变的状态信息,对当前第一单元中从当前第二单元到最后一个第二单元进行视频数据的译码;(c)如果对当前第一单元中从当前第二单元到最后第二单元进行的视频数据译码工作,对任何可能的状态信息都不成功,则改变代表视频数据的编码方案的标志,以使该标志表示该第二单元是用帧间模式进行编码的;(d)按照改变后的标志,对当前第一单元中从当前第二单元到最后第二单元进行视频数据的译码;以及(e)如果上述步骤(d)中对视频数据的译码不成功,则将当前第一单元中从当前第二单元到最后第二单元的视频数据以先前帧中相应的第二单元数据替换。
图1是应用反馈方法的无线通讯系统的概念性方框图;图2A是应用前馈技术中的差错估算方法的无线通讯系统的概念性方框图;图2B是应用前馈技术中的差错检测/校正方法的无线通讯系统的概念性方框图;图3说明H.263协议中宏模块层的典型结构;图4说明在每个编码模式中可能有的MCBPC的组数;图5是说明本发明的优选实例的流程图。
在本发明的特别优选实例中,数据按照H.263协议编码并传送,其中H.263是由国际电信协会(ITU)推荐的。
在H.263协议中,每张图都被分成模块组(GOB)。另外,每个模块组(GOB)被分成宏模块(MB)。而且,每个宏模块由四个亮度模块和两个空间上对应的色差模块组成。
图3说明H.263协议中宏模块层的典型结构。
如图3所示,每个宏模块数据由宏模块头及随在其后的模块数据组成。宏模块头包括编码宏模块指示(COD)、色度宏模块类型和编码模块型式(MCBPC)、B模块的宏模块模式(MODB)、B模块的编码模块型式(CBPB)、亮度编码模块型式(CBPY)、量化信息(DQUANT)、和运动矢量数据(MVD、MVD2、MVD3、MVD4和MVDB)。
COD仅出现在图像的每个宏模块用帧内(INTRA)方式编码的情况。MCBPC也是出现在图像的每个宏模块用帧内(INTRA)方式编码的情况。MODB出现在PB一帧模式下的宏模块型0-4选择时的情况。CBPY、DQUANT、MVD、和MVID2到MVD4是在被MCBPC指示的时候出现。CBPB和MVDB仅在被MODB指示时出现。
另外,在图3所示宏模块结构中,模块数据是在被MCBPC和CBPY指示时出现。
在本发明实例中,译码器接收在基本编码方式下编码的视频数据,该基本编码方式不用所推荐的更高性能的H.263协议的四个可通行编码选项。这样,译码器就能很容易地确定某些语法出错位置,而这些语法错误若是通过应用H.263协议的可通行选项而利用其全部功能时是很难发现的。
换句话说,本发明由于视频数据是按照H.263协议编码而不用其可通行选项,因而语法错误容易被检测到,因此减少了可能的语法组数。
而且,视频数据是在甚至比基本编码方式更简单的简单编码模式下编码的。在该简单编码模式下,每个单帧除初始帧外都在INTER模式下编码,初始帧是在INTRA模式下编码。另外,四个可通行选项没有一个被应用。该简单编码模式在通讯中也不包含任何量化值的改变。
如果数据在简单模式下编码,能提高语法错误的校正,因为译码器已经知道某些可能及预期的语法型式。
同时,全部语法错误中MCBPC或CBPY中的错误在重新组建的影像质量中起着关键作用。MCBPC和/或CBPY的损坏可导致许多视觉上恼人的人工现象。因而,本发明中,视频数据是在存在于MCBPC中的差错基础上被译码的。
图4示出每个编码模式下可能有的MCBPC组数。
当可通行选项、INTRA更新和自适应量化都被采用时,可能有的MCBPC元素数为20,而在标准的H.263协议下的数为16。然而,在上述定义的简单编码方式下仅有4个可能的MCBPC{0x00,0x10,0x20,0x30}。上面描述的可能的MCBPC数不考虑用于比特填充的一种可能的MCBPC,因为即使在简单模式下,关于比特填充的信息很容易被译码。
图5是说明本发明优选实例的流程图。
在第50步,确定在宏模块MB中的MCBPC是否为无效。执行此确定的宏模块称作第n个宏模块MB N。同时,MCBPC的存在意味着给定MB的COD置为0。如果MB的COD为1,那么对于这个MB没有更多信息传送。在这种情况下,对于整个模块为0且无系数数据,译码器将此MB作为具有运用运动矢量的在帧间模式下编码的宏模块(INTER MB)。
如果在第50步确定MB N的MCBPC为有效,对当前组模块(GOB)中的从MB N到最后一个MB宏模块在步骤52中进行译码,程序终止。
如果在步骤50中确定MB N的MCBPC为无效,用MB N的四个可能的MCBPC继续译码,直到对当前GOB译码完毕。为达此目的,MCBPC被改变为可能的MCBPC中的另一个(步骤54)。然后,在步骤56中,当前GOB中的从MB N到最后一个MB的宏模块根据MCBPC被译码。此后,确定当前GOB的MB N与末尾MB间是否有错误发生(步骤58)。如果无错误存在且译码工作成功执行,程序终止。然而,如果在步骤58中确定译码过程中有错误发生,则确定是否对所有可能的MCBPC都尝试了译码工作(步骤60)。如果在步骤60中确定没有对所有可能的MCBPC尝试译码,则重复步骤54到60。
如果到在步骤60中确定对所有可能的MCBPC都尝试了译码工作,换句话说,对当中GOB中从MB N到末尾的数据的译码工作对任何一个可能的MCBPC没有一个是成功的,则在步骤62中,将已编码的宏模块指示(COD)设置为1,以表示此MB N是在帧间模式下编码的宏模块(INTER MB)。
此后,在步骤64中,对当前GOB中从MBN到最后的宏模块进行译码。在此过程中,译码器需要对MB N+1尝试所有的可能的MCBPC。如果在步骤66中确定译码成功,程序终止。
然而,如果在步骤66中确定译码不成功,当前GOB中从MB N到最后的宏模块出错的宏模块用先前帧相同位置的无错的宏模块替换(步骤68)。
通过计算机仿真,本发明的错误校正方法被证明对消除“绿色/粉红色”模块人造现象非常有效。另外,得到了极大改进的PSNR合成曲线,即,得到了较好的测量结果。另外,通过应用COD和MCBP错误校正法,55千位/秒的“汽车电话”序列中总的出错宏模块的大约10%被成功译码。
当然,按照本发明,H.263协议的编码效率损失了一点。
然而,通过牺牲H.263协议的编码效率,在易出错通道,借助检测和校正语法错误得到了有效的视频译码。那就是说,错误检测容易做到,因而视觉上恼人的模块人造现象便消除了。另外,因为本发明不用任何一种反馈方法,系统保持了固定通道吞吐量。而且,由于本发明减少了被丢掉的宏模块数,因而还改善了视觉质量。
权利要求
1.一种对安排在第一单元的视频数据进行译码的方法,第一单元包括多个第二数据单元,每个第二数据单元包括关于各自第二数据单元的状态信息,所说的方法包括下列步骤(a)确定当前第二单元中的状态信息是否为无效;(b)如果在所述步骤(a)中确定第二单元的状态信息为无效,则将此状态信息改变为一组可能的状态信息中的另一个,根据改变后的状态信息,对当前第一单元中从当前第二单元到最后一个第二单元的视频数据进行译码;(c)如果对当前第一单元中从当前第二单元到最后第二单元中的视频数据进行的译码工作对任何一个可能的状态信息都不成功,则改变代表视频数据编码方案的标志,以使该标志表示本第二单元是用帧间模式进行编码;(d)按照改变后的标志,对当前第一单元中从当前第二单元到最后第二单元进行视频数据的译码;以及(e)如果上述步骤(d)中对视频数据的译码不成功,则将当前第一单元中从当前第二单元到最后第二单元的视频数据以先前帧中相应的第二单元数据替换。
2.如权利要求书1中所述的对视频数据译码的方法,还包括在所说的步骤(a)后,根据状态信息,对当前第一单元中从当前第二单元到最后第二单元进行视频数据的译码的步骤。
3.如权利要求书1中所述的对视频数据译码的方法,其中的步骤(b)包括以下步骤(b1)将所述状态信息改变为一组可能的状态信息中的另一个;(b2)根据改变后的状态信息,对当前第一单元中从当前第二单元到最后第二单元进行视频数据的译码;(b3)确定当前第一单元中当前第二单元与最后第二单元之间是否有错误发生;(b4)如果在所说的步骤(b3)中确定在对从当前第二单元到最后第二单元进行的视频数据的译码过程中有错误发生,则确定在所说步骤(b2)的基础上,一组可能的状态信息中是否有任何一种状态信息还没试过;以及(b5)如果在所说的步骤(b4)中,确定在所说步骤(2)的基础上,一组可能的状态信息中确有未被试过的状态信息,则重复步骤(b1)到(b4)。
全文摘要
一种视频数据的译码方法,要被解码的数据安排在第一单元,该第一单元包括多个包含各自状态信息的第二数据单元。若当前第二单元中的状态信息被确认无效,则将该状态信息改变为另一个可能的状态信息。根据该状态信息对第一单元中从第二单元到最后第二单元进行译码,若译码工作对任何一个可能的状态信息都不成功,则改变视频数据编码方案标志,并按改变后的标志重复上述译码过程。若译码还不成功,用先前帧相位数据替换该视频数据。
文档编号H04N7/32GK1201334SQ9810432
公开日1998年12月9日 申请日期1998年1月20日 优先权日1997年4月21日
发明者朴东植 申请人:三星电子株式会社