动影像编码方法

文档序号:7593742阅读:241来源:国知局
专利名称:动影像编码方法
技术领域]本项发明中涉及到的是动影像编码方法,特别是在多媒体影像通过网络传送时,通过编码过程中的数据隐藏,对解码过程中产生的错误进行有效错误隐匿处理的动影像编码方法。
背景技术
最近,随着IMT2000等超高速移动通讯技术的开发,不仅是语音、静止影像,而且动影像等多媒体服务也得到了广泛应用。作为动影像多媒体服务实例,可列举VOD等单方向服务和影像通话等双方向服务。视频通讯比语音通讯需要更多的数据量,因此基本上需要进行视频压缩。
一般性的动影像编码过程如图1所示,通过运动补偿(motion compensation)和运动预测(motion estimation),从输入影像中提取运动向量(motion vector),并且对该影像进行DCT和量子化处理。为了使已量子化数据的数据压缩过程更加有效,对其进行可变长编码(VLC encoding)。
而且,经过逆量子化和逆DCT(IDCT)处理的影像和以前影像相加,恢复为现有影像;并且利用该影像计算下一个影像的次影像。通过上述方式形成视频数据压缩。
经过视频压缩后,通过网络与对方形成通话。这时,数据移动的网络中会发生干扰。就是说,通讯中的数据不会原封不动地传到接收端,而是传送过程中会发生数据受损或者损失等现象。这种传送过程中的数据损失和损伤就叫做错误。
这种错误不仅仅对发生错误的帧造成影响,以后还会连续性地造成影响。其理由是,由于是对视频进行压缩,因此视空间运动预测中,发生一次的数据错误会对连续性的帧造成影响。另外,可变编码方式中,发生数据错误时,会丢失同步(Sync),因此直到帧中找到下一个同步(Sync)为止,都会造成影响。就是说,由于视频压缩,因数据损失造成的画质低下越来越严重,而且还会连续性地发生。
特别是,包括数据压缩中全部信息的标题信息,其损失对画质造成的影响远大于数据信息的损失。一般性的视频压缩方法,一张影像分为多数个阶层,并且每个阶层上都赋予了标题,而且包括了下位阶层的共同性信息。因此,某个阶层的标题不完整时,就会丢失所有的下位阶层信息,并且会造成严重的画质低下现象。
上述这种影像画质低下是动影像服务中的最大障碍。视频压缩标准中也有类似错误恢复和隐匿的方法,但都具有一定局限性。
错误的恢复方法中,主要是通过编码器进行追加性数据插入的方法,当发生错误时,在解码器中防止错误的传播。这是一种,被编码的信息流中追加插入同步化(Sync)比特,或者被编码的信息流截断为相同长度的信息流捆,以此防止错误传播的方法。这种恢复方法中,如果不知道编码器的错误恢复方法,就无法进行解码。
错误恢复方法中的另一种方法还有,编码和解码同时进行的方法。该方法利用到了反向信道(back channel),而且解码器向编码器通报错误发安生位置,编码器就利用该信息通过能够错误恢复的方法进行编码。这时,必须在系统中,要追加支持反向信道。
而且,错误隐匿方法是在解码器中进行的方法,是一种利用编码器带有的影像将错误发生部分调整为最大限度上与原来影像类似的方法。这时,由于只是利用局限于解码器的信息,进行错误隐匿,因此错误隐匿的准确性上存在一些限制。
但是,以上说明的单独利用错误恢复方法和错误隐匿方法的方法具有无法清除所有发生错误的缺点。

发明内容本项发明的目的就是要提供,通过网络传送多媒体影像时,利用编码器过程中数据隐藏,提供图像标题信息,并且针对解码过程中发生的错误,进行有效的错误隐匿处理的动影像编码方法。
为了达到上述目的,本项发明中的动影像编码方法是动影像传送系统中进行错误隐匿的动影像编码方法,而且要包括以下几个步骤内容步骤一,针对编码器输入的影像,提取图像标题的信息;步骤二,针对提取到的图像标题信息,编码时通过数据隐藏进行传送;步骤三,从解码器中提取通过数据隐藏传送到的图像标题信息;步骤四,利用该图像标题信息,进行错误隐匿。
在这里,本项发明中的上述图像标题信息包括,被编码图像标题的结构性信息和编码时每次更换的标题信息。
另外,本项发明中,上述被编码图像标题结构性信息包括,有关图像标题扩张状况的信息。
还有,本项发明中,上述编码时每次更换的标题信息包括,相应图像量子化参数(pquant)和相应图像参照的图像信息(temporal reference值)。
另外,本项发明中,对上述提取的图像标题信息进行数据隐藏时,与上述提取图像标题信息相同的信息反复进行多次隐藏处理。
另外,本项发明中,进行数据隐藏的过程中,利用针对被输入影像的量子化参数以及/或者执行DCT的块内等级值(DCT系数除与量子化参数的值)进行数据隐藏。
另外,本项发明中,利用上述解码器中提取到的图像标题信息进行错误隐藏时,要包括以下几个步骤步骤一,判断是否从输入到的第N个帧开始,其图像标题中发生错误;步骤二,上述输入的第N个帧图像标题中发生错误时,将相应图像数据保存在缓冲器中,然后对第(N+1)个帧的图像进行解码处理,并提取发生错误的第N个帧图像标题信息;步骤三,参照上述提取到的第N个帧图像标题信息,对保存在上述缓冲器中的第N个帧图像数据进行解码处理。
另外,本项发明中,对上述第N个帧的图像数据进行解码处理后,参照上升第N个帧影像,对上述第(N+1)个帧的图像进行解码处理。
本项发明提供了,通过网络传送多媒体影像时,利用编码器过程中数据隐藏,提供图像标题信息,并且针对解码过程中发生的错误,进行有效的错误隐匿处理的动影像编码方法。

图1是普通动影像编码方法中编码过程的概略显示图。
图2是普通动影像编码方法中影像阶层的说明图。
图3是普通动影像编码方法中各影像阶层发生错误时的影响说明图。
图4是本项发明提供的动影像编码方法中,利用量子化参数进行数据隐藏的过程说明图。
图5是本项发明提供的动影像编码方法中,利用等级值进行数据隐藏的过程说明图。
图6是本项发明提供的动影像编码方法中,进行数据隐藏的图像标题构造说明图。
图7是本项发明提供的动影像编码方法中,进行数据隐藏的图像标题参数设置构成实例显示图。
图8是本项发明提供的动影像编码方法中,进行数据隐藏的图像标题信息的说明图。
图9是本项发明提供的动影像编码方法中,编码器进行编码处理的过程顺序图。
图10是本项发明提供的动影像编码方法中,解码器进行解码处理的过程顺序图。
具体实施方式下面参照附图,对本项发明中的实例进行详细说明。
本项发明中提示了,在编码过程中通过数据隐藏,向用户隐藏传送重要的图像标题信息,并且在解码器中发生错误时,更加有效地处理错误隐匿的动影像编码方法。
视频影像通讯中,视频数据的量比较多,因此必须要经过压缩后才能传送。如果压缩所有视频数据,其压缩量也会相当多,所以选取与以前影像类似的部分计算运动向量,并且只对与之相关的差分值进行编码,然后再进行可变长编码处理后,再进行传送。
通过上述方法压缩视频数据时,可以进行很多数据压缩;但是,发生错误时,就会发生错误传播。就是说,由于通过可变长编码进行压缩,即使在一个比特上发生错误,直到遇到下一个同步(Sync)符号为止,错误将连续;并且由于参照以前影像进行编码,如果以前影像中发生错误,错误将传播到下一个影像中。
另外,通过运动预测和运动补偿进行压缩的普通视频压缩方法,将影像分割为几个阶层,并且利用上述阶层进行压缩;在这里,所谓利用阶层,就是将下位阶层的共同性信息包括到标题的过程。作为一般性的运动预测、运动补偿视频压缩方法的H.263阶层,在图2中有标示。图2是普通动影像编码方法中影像阶层的说明图。
如图2所示,影像的阶层分为图像层、GOB层、宏块层(MB)、块层。在这里,图像意味着帧一张,并且包括9个GOB。而且,GOB意味着宏块为单位的一个列,其中包括11个宏块。宏块是搜寻运动向量的单位,包括有4个灰度块和2个色差块。块是数据压缩中最基本的单位,包括有8*8画素。
如果更加详细地说明,每个阶层都附加有标题,通过该标题显示该下位阶层的构造性信息。图像标题中包含有图像的编码类型、追加模式的使用状况、参照帧编号、影像的规格等一个帧的整体骨骼信息。GOB标题中包括有,GOB开始代码和GOB编号以及帧ID等信息。就是说,包括有关宏块为单位的一个列的信息。宏块标题中,以16*16的像素单位包括有运动向量、宏块编码类型等信息。
正如前面所讲述的,各阶层中带有包括该下位阶层构造性信息的标题。视频通讯环境中,各阶层的标题中发生错误时,比数据中发生错误时,其画质低下现象更加明显。图3是普通动影像编码方法中各影像阶层发生错误时的影响说明图。
如图3所示,作为最上位阶层的图像标题中发生错误时,无法解码一个帧的整体,因此参照该帧的下一个帧上发生比较严重的画质低下现象。特别是,运动比较大,却没有参照以前影像时,其画质低下现象更加严重。
另外,GOB标题中发生错误时,无法正常解码一排GOB;并且,宏块标题中发生错误时,从发生错误的宏块到最后宏块位置,不能进行正常性的解码。
为了防止这种现象的发生,利用数据隐藏技术,将图像标题信息隐藏于被编码数据中,进行错误恢复。
下面,对本项发明中进行的数据隐藏进行说明。
所谓数据隐藏是,事先将所需的信息隐藏在数码多媒体中,有需要时,可以提取上述隐藏信息的技术。数据隐藏技术大体上可分为,隐藏信息的提取过程中需要原本的技术和无须原本的技术。本项发明中采用了无须原本数据的方法。
本项发明中的数据隐藏是在视频压缩时进行的。通过对压缩输入影像的过程中适用于数据压缩的参数或者输入影像中依存性值的变形,实现数据隐藏。进行视频压缩时,如果要隐藏数据,必须要选取即使通过数据隐藏原来的参数或者原本数据发生变形,对其画质或者被压缩数据量没有多大影像的部分。而且,其数值可以采用量子化参数(QP)和DCT系数除与量子化参数的‘level’值。
图4中显示了利用量子化参数进行数据隐藏的过程。图4是本项发明提供的动影像编码方法中,利用量子化参数进行数据隐藏的过程说明图。
正如前面所述,调整被编码数据量的是量子化参数。量子化参数是,对输入影像或者输入影像的差分值进行DCT的系数值进行除法处理的参数。随着量子化参数的增大,除DCT系数的值也会增大;因此,如果被编码的数据量减少,量子化参数减少,除DCT系数的值也会减少,因此被编码的数据量就会增多。
而且,通过网络传送视频动影像时,数据的压缩要符合网络带宽。如果网络带宽比较宽,其通讯数据量也会多;因此被编码的量也会增多,画质也会有所改善。相反,网络带宽比较窄,其通讯量就会少;因此被编码的量也会减少,画质也会有所低下。正如前面所述,根据网络状况,可以利用量子化参数调整被编码的数据量,这是可以进行数据隐藏操作。
如图4所述,对输入影像或者输入影像的差分值影像进行DCT处理后,根据网络带宽,设定适当的量子化参数。该量子化参数加入到宏块头,并且适用于对压缩影像进行解码处理的过程中。这时,利用实际量子化参数,在量子化处理之前,进行数据隐藏处理。在这里,数据隐藏过程如下QP_new%2==Hide bit[k]QP_new没有变动QP_new%2!=Hide bit[k]QP_new=QP_new+1;Hide bit[k]要隐藏的数据比特流如果通过上述过程进行数据隐藏处理,解码器中对压缩数据进行解码的同时,根据量子化参数值可以提取被隐藏的数据。在解码器中,如果量子化参数是双数,其被隐藏数据是‘0’;如果量子化参数为单数,其被隐藏数据是‘1’。
这时,为了隐藏数据,编码器中要略微变更量子化参数。就是说,如果要隐藏数据和量子化参数除与2的值不相同,将量子化参数值增加‘1’,使除与2的值要相同。这时,除DCT系数的值会增大,因此被编码的数据量就会减少。但是,不会发生人们能够用肉眼感觉的到的画质低下现象。
一方面,图3显示的就是对输入影象或者差分值影象DCT系数值进行量子化处理的值‘level’,再进行数据隐藏的过程。图3是本项发明提供的动影像编码方法中,利用等级值进行数据隐藏的过程说明图。
本项发明提供的动影象编码方法中,为了进行压缩,对输入影像或者差分值影像进行DCT处理。然后,根据要传送的带宽,指定量子化参数,并且调整被编码比特量。被量子化参数相除的值就是DCT系数。
图3中DCT是以8*8块单位进行。进行DCT处理的块中适用量子化参数,再除与系数值;这时,用量子化参数相除的值就是‘level’。利用从每个块中得出的‘level’,可进行数据隐藏处理。在这里,数据隐藏处理可以如下进行。
LevelSum%2==Hide Bit[k]Level无变更LevelSum%2!=Hide Bit[k]Level中重要度最低的level值减少1LevelSum所有块level相加的值不对每个‘level’进行数据隐藏处理,而对以块单位把‘level’相加的值进行数据隐藏处理的理由就是,如果对各‘level’进行数据隐藏处理,可能会对画质产生影响。‘Level’是DCT系数除与量子化参数的值,因此量子化参数越大,‘level’意味的DCT系数范围也就会越大。
例如,即使‘level’值同样为‘1’,如果量子化参数为10,其DCT范围可能是10到19;如果量子化参数为30,可能的DCT范围为30-59。因此,用8*8块单位计算‘level’的‘sum’后,如果‘level’的‘sum’除与2的值和要隐藏数据的比特值相同,就不会有‘level’变动;如果不相同,将重要度最低的‘level’值减少1。
在这里,所谓重要度最低的‘level’是指,肉眼中敏感度最低的部分。人的眼睛对高频区域的敏感度相对低一些,因此要隐藏数据比特和将‘level sum’除与2的值不相同,对具有边缘高频的‘level’值减少1。
就是说,如果‘level sum’为‘16’,要插入的比特为‘1’,作为该块边缘高频区域的‘level’值减少‘1’,使块‘level sum’变为‘15’;这样,要隐藏比特和将‘level sum’除与2的值会相同。
但是,如果‘level sum’为‘1’就会发生问题。如果‘level sum’为‘1’,要隐藏比特为‘1’;边缘敏感度较低部分的‘level’减少‘1’,使全部块的合为‘0’。但是,原来块之合为‘0’的块,再也不能减少‘level’,因此不能隐藏数据。这样就很难分辨,原本‘level sum’为‘1’,通过数据隐藏处理,‘level sum’变为‘0’的块和原本‘level sum’为‘0’,并且无法进行数据隐藏的块。
本项发明中,为了防止这种错误现象,采用了以下方法。‘level’之合为‘1’时,如果要隐藏的数据为‘1’,就在该块中插入数据。即使是这样,‘level’之合也不会发生变化。如果,‘level’之合为‘1’,要隐藏数据为‘0’,就将该块的‘level’之合变换为‘0’,并且不进行数字隐藏处理。‘level’之合为‘0’时,解码器中就会判断‘该块中没有隐藏数据’。
除‘level’之合为‘1’的块之外的所有块中,如果要隐藏的数据和将自身的块之合除与2的值相同,块的‘level’就不会有变化;要不然,可以将边缘敏感度较低部分的‘level’减少‘1’,以此隐藏数据。
‘level’之合为‘1’的块,如果要隐藏的数据为‘1’,就进行数据隐藏处理;如果隐藏数据为‘0’,就不进行数据隐藏处理,只是将块的‘level’值变更为‘0’。另外,‘level’之合为‘0’时,也不会进行数据隐藏处理。
一方面,本项发明,在利用量子化参数或者‘level’值进行数据隐藏时,在被输入的影像中,对图像标题(ROIRegion of Interest)的信息进行数据隐藏。
但是,由于无法已隐藏的方式传送整个图像标题信息,因此从图像标题信息中只精取图像解码时必需的信息,形成参数设置值。而且,该参数设置值捆绑了那些虽然不能精取但对解码必须的重要信息,并且可以进行数据隐藏。
在这里,图像标题的参数设置值是,图像标题的构造性特征和图像标题的重要信息中,编码时每次都不更换的标题信息的表现值。如图6所示,图像标题大体上具有3中结构。图像标题结构的确定,依据于图像标题内显示图像标题扩张的值。PTYPE具有图像中最基本的值。PTYPE的第6个到第8个的比特不是‘111’,图像标题成为不扩张并且最基本的50比特标题。
如果PTYPE的第6个到第8个的比特为‘111’,图像标题就会扩张;在这里,被扩张的标题也分类为两个类型。这时,根据紧随扩张PTYPE的UFEP(Update Full Extended PTYPE)值状况,例如‘001’或者‘000’,被扩张的图像标题值也会不同。如果UFEP值为‘001’,就会附带OPPTYPE(The optionalpart of PLUSPTYPE)和MPPTYPE(The mandatory part of PLUSPTYPE whenPLUSPTYPE present);如果UFEP值为‘000’,就会附带MPPTYPE。
如果UFEP值为‘001’,这就意味着扩张的PTYPE都包括在现在标题中,并且显示所有扩张选项的状况。如果UFEP值为‘000’,就表明包括有要收纳到所有图像标题中的跨哦长部分。
PTYPE的第6个到第8个比特为‘111’时,UFPE值5秒内一次,或者每一个第5个图像标题都为‘001’。大部分的影像压缩中,图像标题具有固定的参数值。在这里,图像标题的特性如下除使用追加性‘annex’或者UFEP的扩张模式变更的状况之外,其他状况时具有与以前图像标题类似值。根据上述特性,构成了图像标题的参数设置值。图像标题的参数设置值如图7。图7是本项发明提供的动影像编码方法中,进行数据隐藏的图像标题参数设置构成实例显示图。
本项发明中,利用根据图像标题的三种结构和两种图像类型(intrapicture,inter picture),定义了6种图像标题参数设置值。图像标题的参数设置值不能表现所有图像标题信息,这是因为每个图像都具有变更该值的标题值。上述,按每个图像其相关值变更的标题值中,有‘PQUANT’值和‘temporalreference’值。
在这里,‘PQUANT’值是图像的量子化参数值;只要下位阶层中,量子化参数值不发生变更,整个图像的‘PQUANT’值都具有量子化参数值。该值根据每个图像都变更,因此虽然不包括在图像标题参数设置值范围内,但还是作为重要的标题值适用于利用数据隐藏进行传送的过程中。
另外,‘temporal reference’值也是要另行传送的重要标题值。temporalreference’是传送现在图像参照的影像图像编号的值;当参照影像发生变化时,由于画质低下现象比较严重,因此准确的信息传送非常必要。
这样,图像标题参数设置值和‘PQUANT’值以及temporal reference’值作为图像标题的重要组成信息,并且利用数据隐藏技术,进行传送。全部发送完图像标题参数设置值和‘PQUANT’值以及temporal reference’值,总共需要11bits。上述图像标题信息的结构显示于图8中。
一方面,利用图像标题信息进行数据隐藏时,其数据隐藏操作在一个帧以后(第N+1个帧)完成。由于图像标题是出现在被编码图像最前端的信息,如果把图像标题信息隐藏于相应图像(第N个帧),当在图像标题中发生错误时,就无法提取图像标题信息。
因此,图像标题信息要隐藏于一个帧之后,再进行传送;一旦图像标题中发生错误,发生错误的图像不会被解码,只是保存于缓冲器中。而且,下一个帧传送后被完整地解码,就会提取以前帧的图像标题信息;并且利用已提取到的图像标题信息,对保存于缓冲器中的图像进行正常性的解码处理。
这时,图像标题上出现错误后,接着接收到的图像,由于自身的参照帧没有被解码,是利用错误的参照帧进行解码的,因此如果以前帧被正常性地解码,就利用该帧重新进行一次解码。
从编码器侧面显示上述系列过程的是图9,而在解码器侧面显示上述系列过程的则是图10。
一方面,动影像通讯中其错误比率会根据环境发生变化。严重时可达10E-3,也会存在几乎没有错误的环境。这时,在错误发生比率比较高的环境中,隐藏的数据也会因错误发生不完成的现象,因此必须要反复多次进行传送。恢复的数据中发生错误时,提取隐藏数据进行错误隐匿,由于数据隐藏本身隐藏于被编码的比特信息流中,如果被编码的数据因错误不完整,其隐藏的数据也会发生不完整现象。
这时,如果利用不完整的信息进行错误隐匿,画质低下现象就会更加严重;即使是,把要隐藏数据重复多次进行传送,并且隐藏于解码器中的数据因错误不完整时,也可以利用重复的其他数据。
一方面,现有的错误隐匿方法,只是利用解码器接收的影象,将其恢复为与原来影像最为相似的影像。就是说,由于可利用的信息比较有限,恢复的影像会与原影像造成一定差异。一般性的视频压缩方法,利用以前影像之间的差分值进行压缩;因此,在某一点发生错误时,如果不完全清除该部分的错误,会将错误传播到下一个影像中。就是说,需要把错误发生点的错误最大限度地进行清除。
如果利用本项发明中提示的动影像编码方法,错误隐匿不只是发生在接收端,在发送端也通过接收追加性信息进行错误隐匿,因此可以最大限度地清除所发生的错误。
利用本项发明中的动影像编码方法,当IMT-2000等视频通讯服务中发生错误时,可以更加有效地进行错误隐匿,因此可以有效地适用于使用一般性的视频编译码标准(H.26X,MPEG1,2,4)的动影像通讯服务中。
权利要求
1.动影像编码方法,用于动影像传送系统中进行错误隐匿处理,包括步骤一,针对编码器输入的影像,提取图像标题的信息;步骤二,针对提取到的图像标题信息,编码时通过数据隐藏进行传送;步骤三,从解码器中提取通过数据隐藏传送到的图像标题信息;步骤四,利用该图像标题信息,进行错误隐匿。
2.如权利要求1所述的动影像编码方法,其特征在于上述图像标题信息包括,被编码图像标题的结构性信息和编码时每次更换的标题信息。
3.如权利要求2所述的动影像编码方法,其特征在于上述被编码图像标题结构性信息包括,有关图像标题扩张状况的信息。
4.如权利要求2所述的动影像编码方法,其特征在于上述编码时每次更换的标题信息包括,相应图像量子化参数和相应图像参照的图像信息。
5.如权利要求1所述的动影像编码方法,其特征在于对上述提取的图像标题信息进行数据隐藏时,与上述提取图像标题信息相同的信息反复进行多次隐藏处理。
6.如权利要求1所述的动影像编码方法,其特征在于上述进行数据隐藏的过程中,利用针对被输入影像的量子化参数以及/或者执行离散余弦变换的块内等级值(离散余弦变换系数除与量子化参数的值)进行数据隐藏。
7.如权利要求1所述的动影像编码方法,其特征在于上述针对上述被提取图像标题信息进行数据隐藏时,提取上述图像标题信息的帧次一个帧后面,隐藏上述被提取的图像标题信息。
8.如权利要求1所述的动影像编码方法,其特征在于步骤一,判断是否从输入到的第N个帧开始,其图像标题中发生错误;步骤二,上述输入的第N个帧图像标题中发生错误时,将相应图像数据保存在缓冲器中,然后对第(N+1)个帧的图像进行解码处理,并提取发生错误的第N个帧图像标题信息;步骤三,参照上述提取到的第N个帧图像标题信息,对保存在上述缓冲器中的第N个帧图像数据进行解码处理。
9.如权利要求8所述的动影像编码方法,其特征在于对上述第N个帧的图像数据进行解码处理后,参照上升第N个帧影像,对上述第(N+1)个帧的图像进行解码处理。
全文摘要
这是关于动影像编码方法的发明,动影像传送系统中进行错误隐匿的动影像编码方法,包括了以下几个步骤内容步骤一,针对编码器输入的影像,提取图像标题信息;步骤二,针对提取到的图像标题信息,编码时通过数据隐藏进行传送;步骤三,从解码器中提取通过数据隐藏传送到的图像标题信息,利用该图像标题信息,进行错误隐匿。在这里,本项发明的上述图像标题信息中,要包括被编码的图像标题结构性信息和编码时每次更换的标题信息。在这里,上述被编码图像标题结构性信息中包含有关图像标题扩张状况的信息;而上述编码时每次更换的标题信息,则包含相应图像的量子化参数(pquant)和参照相应图像的图像信息(temporalreference值)。
文档编号H04N7/26GK1756351SQ20041005173
公开日2006年4月5日 申请日期2004年9月29日 优先权日2004年9月29日
发明者金柱玟, 柳在信 申请人:乐金电子(惠州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1