动影像编码方法

文档序号:7593741阅读:141来源:国知局
专利名称:动影像编码方法
技术领域
本发明是有关动影像编码的发明,特别是有关多媒体图像通过网络传输时,通过编码过程的数据隐藏,对解码过程发生的错误,能够有效处理错误隐蔽的动影像编码方法。
背景技术
最近,随着国际移动通信2000(IMT2000)等超高速移动通信得天实际应用,不仅是音频和静态图像,而且动影像之类的多媒体服务也正在扩大。作为动影像多媒体服务的例子,有视频点播(VOD)之类的单向服务和可视通话之类的双向服务。因视频通信比音频通话数据量明显多,基本上运行视频压缩。
一般的动影像编码过程与附图1表示的那样,对输入图像,通过动态补偿(Motion compensation)和动态估算(Motion estimation)提取动态矢量,并对其差值图像运行离散余弦变换和量子化过程。为了对运行量子化的数据,更有效地处理数据压缩,运行可变长度编码(VLC Encoding)。
另外,把运行反量子化、反离散余弦变换和此前图像合在一起,还原为此前图像,并用这一图像求出下一个图像的差值图像。以这样的方式完成视频数据压缩。
经过这样的视频压缩后,通过网络与对方进行通话。这时,数据移动的网络发生噪音。即,通信的数据不是如实地传输到接收端,而是发生数据受损或消失。把这样的传输数据的受损或消失称为错误。
这样的错误不仅对发生错误的帧产生影响,而且之后也连续性地产生影响。其理由是,因对视频运行压缩,时空的动态估算使发生一次错误的数据对连续性的帧产生影响。另外,发生数据错误时,可变长度编码方式失去同步(Sync),使其在那个帧直到找到下一个同步为止产生影响。即,因视频压缩,对数据损失的画质低下变大,而且使其连续出现。
特别是,在数据压缩发生错误时,直到找到下一个同步信息为止,因所有信息都不正确,如果同步信息越频繁出现,错误传播就越有可能大幅减少。但因同步信息与其它编码的位流不同,信息长度较长,不能频繁进入视频压缩。比如,在H.263,只有图片顶部(Picture header)和块组顶部前面包括同步信息。因压缩流不是经常包括同步信息,如果发生错误,直到出现下一个同步信息为止,所有数据受损,使画质低下变大。
以上的图像画质低下情况是动影像服务的较大障碍。在视频压缩标准,也有对这样错误的还原和隐蔽的方法,但均有一定的限度。
对错误的还原方法主要是以编码器插入追加数据的方法,当发生错误时,旨在防止解码器错误传播的方法。这是一种在编码的流上追加插入同步位或把编码的流分割为相同长度,防止错误传播的方法。这样的错误还原方法存在这样一个短处,即,如果解码器不知道编码器的错误还原方法,就不能运行解码。
错误还原方法中的另外一个方法有编码器和解码器同时运行的方法。这一方法是利用反向信道(back channel)的方法,如果解码器向编码器显示发生错误的位置,编码器就利用这一信息,以能够进行错误还原的方法进行编码。这时,存在这样的短处,即,系统应追加支持反向信道。
错误隐蔽方法是在解码器进行的方法,它是利用解码器里的图像,把发生错误的部份最大限度地纠正为与原先图像相似的方法。这时,因在解码器利用有限的信息隐蔽错误,错误隐蔽的正确性存在一定的限度。
只用以上说明的错误还原方法和错误隐蔽方法的方式是不能全部解除发生的错误。

发明内容本发明的目的在于,多媒体图像通过网络传输时,提供通过编码过程的数据隐藏,形成块组单位的一定宏块同步信息,以此对编码过程发生的错误,提供能够有效处理错误隐蔽的动影像编码方法。
为了实现上述目的,本发明的动影像编码方法是有关在动影像传输系统运行错误隐蔽的动影像编码方法,此方法包括如下步骤为特点对编码器输入的图像,提取形成块组单位的一定宏块同步信息的步骤;对上述提取的形成块组单位的一定宏块同步信息,通过编码时的数据隐藏,进行传输的步骤;从解码器提取根据上述数据隐藏传输,并形成块组单位的一定宏块同步信息,还利用提取的同步信息,运行错误隐蔽的步骤。
在这里,根据本发明的说明,存在如下特点形成上述块组单位的一定宏块同步信息是指以块组为单位,在位流上的第六个宏块开始位置;对形成上述提取的块组单位的一定宏块同步信息,运行数据隐藏时,反复隐藏形成上述提取的块组单位的一定宏块同步信息;运行上述数据隐藏时,利用对输入图像运行量子化参数和/或离散余弦变换的块内的等级值(以量子化参数除掉离散余弦变换系数的值),运行数据隐藏;对形成上述提取的块组单位的一定宏块同步信息,运行数据隐藏时,把上述提取的一定宏块同步信息隐藏在上述提取一定宏块同步信息的块组一个块组后面;利用从上述解码器提取的一定宏块同步信息,运行错误隐蔽时,如果输入的块组宏块发生错误,就参照从隐藏数据提取,并形成块组的宏块同步信息,对上述发生错误的块组的宏块,重新运行解码;从上述解码器提取的一定宏块同步信息属于形成一个块组的第六个宏块的同步信息时,如果上述发生错误的宏块是第六个宏块之前的宏块,就参照上述提取的同步信息,从上述发生错误的块组第六个宏块开始重新运行解码。
如以上说明,根据本发明的动影像编码方法,存在这样一个长处多媒体图像通过网络传输时,通过编码过程的数据隐藏,提供形成块组单位的一定宏块同步信息,以此对解码过程发生的错误,可以有效处理错误隐蔽。

附图1大致表示根据一般动影像编码方法运行编码的过程。
附图2是为说明一般动影像编码方法的图像阶层的图纸。
附图3是在一般动影像编码方法,为说明各个图像阶层发生错误时影响的图纸。
附图4是为说明本发明的动影像编码方法提供各块组的同步信息效果的图纸。
附图5是为说明本发明的动影像编码方法利用量子化参数,运行数据隐藏过程的图纸。
附图6是为说明本发明的动影像编码方法利用等级值,运行数据隐藏过程的图纸。
附图7是表示本发明的动影像编码方法在编码器运行编码过程的顺序图。
附图8是表示本发明的动影像编码方法在解码器运行编码过程的顺序图具体实施方式下面,将参照附加图纸,详细说明本发明的实施例。
本发明在编码过程通过数据隐藏,隐藏形成块组单位的一定宏块同步信息,并进行传输,以此提供解码器发生错误时,更有效地处理错误隐蔽的动影像编码方法。
从所周知,视频通信的视频信息因数据量较多,运行压缩后进行传输。如果全部压缩视频数据,压缩的数据量也增多,因此,找出与此前图像相似的部份,求出动态矢量,并编码这一部份的差值图像后,运行可变长度编码,进行传输。
如果用这样的方法压缩视频数据,就可以进行较多的数据压缩,但发生错误时,发生错误传播。即,因使用可变长度编码压缩,即使一个位发生错误,其错误直到出现下一个同步符号为止延续,而且因参照此前图像编码,如果此前图像发生错误,其错误传播到下一个图像。
另外,通过动态估算和动态补偿压缩的一般视频压缩方法把图像分割为阶层,并利用阶层运行压缩。利用阶层是因为可以把下一个阶层的共同信息包括在顶部(header)。把一般动态估算和动态补偿视频压缩方法-H.263的阶层表示在附图2,附图2是为说明一般动影像编码方法的图像阶层的图纸。
如附图2所示,图像的阶层可分为图片层、块组层、宏块层、块层四个阶层。在这里,图片表示一张帧,并包括9个块组。块组表示以宏块为单位的一个列,包括11个宏块。宏块作为找出动态矢量的单位,包括四个亮度(Luminance)块和二个色度块。块作为数据压缩的基本单位,包括8*8像素。
更详细观擦就可得知,各个阶层均具有顶部,表示其下面阶层的结构信息。图片顶部包括图片的编码类型、追加模式的使用与否、参照帧号码、图像规格等帧的整个框架信息。块组顶部包括块组开始代码和块组号码、帧ID等信息。即,包括对以宏块为单位的一个列的信息。宏块顶部以16*16的像素为单位,包括动态矢量、宏块编码类型等信息。
如上所述,各个阶层具有包括下面阶层结构信息的顶部。在视频通信环境下,各个阶层的顶部发生错误时,画质低下变化明显大于发生数据错误时的变化。附图3表示,各个阶层顶部发生错误时,产生何种画质低下现象,并且其影响达到什么程度。
如附图3所示,最上面阶层—图片顶部发生错误时,因不能解码整个帧,参照这个帧的下一个帧发生较大的画质低下。特别是,移动较大时,如果没能参照此前图像,画质低下就更糟糕。
另外,块组顶部发生错误时,不能正常解码块组的一个列;宏块顶部发生错误时,从发生错误的宏块到最后一个宏块,均不能运行正常解码。
另外,在解码过程,图片顶部和块组顶部因包括同步符号,编码的数据发生错误,失去同步,不能正常解码时,如果碰到块组顶部或图片顶部,就找出同步,并可以重新进行正常解码。但因宏块顶部不包括同步符号,宏块以下单位的顶部或数据发生错误,由于可变长度编码的原因,不能正常解码数据的内容。
于是,直到碰到出现下一个同步符号的图片顶部或块组顶部为止,失去所有数据。即,即使发生的错误是简单的一个位错误,如附图4所示那样,直到出现下一个同步符号为止的所有信号不大可能进行还原。
本发明为了防止这样的画质低下,利用数据隐藏法,把形成块组单位的一定宏块同步信息隐藏在编码的数据里传输,以此将对解码时发生的错误运行图像还原。
下面,将说明本发明运行的数据隐藏。
数据隐藏是把信息隐藏在数码多媒体,并在必要时,提取隐藏信息的技术。隐藏数据的技术大致可分为,为提取隐藏信息,需要原件的技术和不需要原件的技术。本发明使用的数据隐藏方法是不需要原件数据的方法。
本发明的数据隐藏是在视频压缩时运行。数据隐藏在压缩输入图像时,以变更数据压缩时利用的参数或输入图像的依赖值运行。运行视频压缩时要想隐藏数据,这一部份应是这样的部份,即,即使进行数据隐藏,原先参数或原件数据发生变化,也不给画质或压缩的数据量产生较大影响。这样的值有,量子化参数、以量子化参数除掉离散余弦变换系数的等级值。
把利用量子化参数,运行数据隐藏的过程表示在附图5。附图5是根据本发明动影像编码方法,为说明利用量子化参数,运行数据隐藏过程的图纸。
众所周知,调节编码的数据量的是量子化参数。量子化参数是除掉输入图像或输入图像的差值部份、离散余弦变换(DCT)的系数值的参数。如果量子化参数变大,除掉DCT系数的值就会变大,因此,需要编码的数据量减少;如果量子化参数变小,除掉DCT系数的值就会变小,因此,需要编码的数据量增大。
另外,通过网络传输和接收动影像时,以适合网络的频带宽度压缩数据。如果网络的频带宽度宽,能够通讯的数据量就增大,因此,需要编码的数据量增多,使画质较高。相反,如果网络的频带宽度窄,能够通讯的数据量就变少,因此,需要编码的数据量变少,使画质低下。这样,根据网络情况,利用量子化参数调节编码的数据量,这时运行数据隐藏。
如附图5所示,对输入图像或输入图像的差值图像运行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系数的值变大,需要编码的数据量将减少。但能用肉眼感觉到的画质低下几乎不会发生。
另外,对运行量子化的输入图像或差值图像的DCT系数值的值—等级值运行数据隐藏的情况,用附图6表示。附图6是根据本发明的动影像编码方法,为说明利用等级值,运行数据隐藏过程的图纸。
根据本发明的动影像编码方法,为了压缩,对输入图像或差值图像运行DCT。然后,考虑到将要传输的频带宽度,指定量子化参数,调节将要编码的位量。量子化参数除掉的值是DCT系数。
在附图6,DCT以8*8块为单位运行。量子化参数适用运行DCT的块,并除掉系数值,这时,以量子化参数除掉的份额称为等级。各块利用份额—等级,运行数据隐藏。在这里,数据隐藏可以按照如下公式运行。
LevelSum%2=Hide Bit[k]Level没有变化LevelSum%2!=Hide Bit[k]在Level中,把重要度最低的Level值减少1LevelSum全部加上块的Level的值不是在各自的Level(等级)运行数据隐藏,而是以块为单位,在加上等级的值上运行数据隐藏的原因在于,对各个等级运行数据隐藏时,会给画质产生影响。因等级是以量子化参数除掉DCT系数的值,量子化参数越大,1个等级表示的DCT系数的范围越大。
比如,即使等级值都等于1,如果量子化参数为10,可能的DCT范围是从10到19;如果量子化参数为30,可能的DCT范围是从30到59。因此,以8*8块为单位,求出等级的合计(Sum)后,如果用2除掉等级合计的余数和将要隐藏数据的位相同,就表示没有等级的变化;如果其值不同,就把重要度最低的等级值减少1。
在这里,重要度最低的等级是指对肉眼的敏感度最低的部份。因人的眼睛对高频率领域的敏感度较低,如果用2除掉将要隐藏数据的位和等级合计的余数不同,就对具有最高频率的等级值减少1。
即,如果等级合计为16,并且将要插入的位为1,就把其块的最高频率领域的等级值减少1,使块的等级合计变为15,以此使以2除掉将要隐藏的位和等级合计的余数相同。
但如果等级合计为1,就出现问题。如果等级合计和将要隐藏的位均为1,就把敏感度最低的等级减少1,使整个块的合计变为0。但原先块的合计等于0的块因不能再减少等级,不隐藏数据。这样,就不能区分原先等级合计为1,但隐藏数据后,等级合计变为0的块和原先的等级合计为0,并且不存在数据隐藏的块。
本发明为了防止这样的误差,使用了如下的方法。等级合计为1时,如果将要隐藏的数据为1,就在那个块插入数据。即使这样,等级合计不发生变化。如果等级合计为1,而且将要隐藏的数据为0,就把其块的等级合计变更为0,不进行数据隐藏。等级合计为0时,解码器认为其块不存在数据隐藏。
用这样的方法,除了等级合计为1的块以外,如果用2除掉将要隐藏数据和自身块合计的余数相同,所有块的等级就没有变化;否则,就把敏感度最低的等级减少1,以此可以隐藏数据。
如果将要隐藏的数据为1,等级合计为1的块就隐藏数据;如果隐藏的数据为0,就不隐藏数据,只把块的等级值变更为0。等级合计为0时,也不运行数据隐藏。
本发明利用量子化参数或等级值运行数据隐藏时,对形成块组单位的一定宏块同步信息运行数据隐藏。
在这里,形成块组单位的一定宏块同步信息是指一个块组具有的11个宏块中的中间第六个宏块的位流上的开始位置。这样的块组中间位置信息是插入在一个块组后面传输。
更详细地说,在位流上,隐藏第六个宏块的开始位置传输是表示在位流上的各个第六个宏块的位置,插入同步信息。
如上所述,位流发生错误时,直到碰到下一个同步符号为止,不能正常解码所有数据。但根据本发明,在位流上传输第六个宏块的开始位置,以此在解码器解码过程发生错误时,可以把同步与不是块组顶部的第六个宏块对准,因此,可以取得更好的画质,并且也可以减少错误的传播。
比如,如附图4所示,如果第三个宏块发生错误,此前方法是直到下一个块组出现为止,不能正常解码所有数据。但正如本发明所述那样,如果利用同步信息的隐藏,知道第六个宏块的开始位置,虽然不能正常解码从第三个到第五个宏块数据,但从第六个宏块开始,可以正常解码。
另外,从对同步信息运行数据隐藏的编码器侧面考虑,如果观擦以块组单位压缩的数据,因运行可变长度编码压缩,以块组为单位,第六个块组的位置各自不同。于是,从以块组为单位编码的位上提取第六个块组位置,使其把提取的位置信息在编码下一个块组时插入。这时,使第六个宏块的开始位置隐藏在量子化参数和离散余弦变换等级值。把这一过程表示在附图7。附图7是根据本发明的动影像编码方法,以概念表示编码器运行编码过程的顺序图。
另外,说明提取同步信息的解码器侧面过程,运行解码时,提取以块组为单位隐藏的信息,得知此前块组第六个宏块的开始位置。在此前块组,第六个块组前发生错误时,利用提取的信息,从此前块组第六个宏块开始,重新正常运行解码。把这一过程用附图8表示。附图8是根据本发明的动影像编码方法,表示解码器运行编码过程的顺序图。
另外,在动影像通信,错误率根据环境发生变化。如果严重,就达到10E-3,也存在几乎没有错误的环境。这时,在错误发生率较高的环境,将要隐藏的数据也因错误被破坏,因此,应反复多次传输。还原的数据发生错误时,提取隐藏数据,隐蔽错误。其理由是,因数据隐藏本身隐藏在编码的位流,如果编码的数据被错误破坏,隐藏的数据也被破坏。
于是,如果利用破坏信息,运行错误隐蔽,画质低下更糟糕,因此,多次反复传输将要隐藏的数据,解码器的隐藏数据因错误破坏时,也使其利用反复的其它数据。
另外,现在运行的错误隐蔽方法只利用解码器接收的图像,使其最大限度地还原为与原先图像相似的图像。即,因可以利用的信息有限,使还原图像与原先图像具有差距。一般视频压缩方式因利用此前图像的差值图像进行压缩,某一点上发生错误时,如果不完全解除那部份的错误,就有可能给下一个图像传播错误。即,需要最大限度解除发生错误点的错误。
利用本发明的动影像编码方法,因不仅在接收端运行错误隐蔽,而且在传输端也接收追加信息运行错误隐蔽,可以最大限度解除错误。如果使用本发明提出的运算法则,在发生错误时,不仅可以在图片顶部和块组顶部找到同步信息,而且在块组中间也可以找到同步信息,因此,可以大幅防止错误传播。
如果利用本发明的动影像编码方法,IMT-2000等视频通信服务发生错误时,使错误隐蔽更具有效性。这样,可以有效用于使用一般视频多媒体数字信号编解码器(CODEC)标准(H.26X、MPEG1.2.4)的动影像通信服务。
权利要求
1.动影像编码方法,所述方法为在动影像传输系统,运行错误隐蔽的的动影像编码方法,包括步骤对在编码器输入的图像,提取形成块组单位的一定宏块同步信息;对上述提取的形成块组单位的一定宏块同步信息,通过编码时的数据隐藏,进行传输;提取在解码器因上述数据隐藏传输,并形成块组单位的一定宏块同步信息,还利用提取的同步信息,运行错误隐蔽。
2.如权利要求1所述的动影像编码方法,其特征在于,形成上述块组单位的一定宏块同步信息是指以块组为单位,在位流上的第六个宏块开始位置。
3.如权利要求1所述的动影像编码方法,其特征在于,对形成上述提取的块组单位的一定宏块同步信息,运行数据隐藏时,以反复多次隐藏形成上述提取的块组单位的一定宏块同步信息。
4.如权利要求1所述的动影像编码方法,其特征在于,运行上述数据隐藏时,利用对输入图像运行量子化参数和/或离散余弦变换的块内等级值(以量子化参数除掉离散余弦变换系数的值)运行数据隐藏。
5.如权利要求1所述的动影像编码方法,其特征在于,对形成上述提取的块组单位的一定宏块同步信息,运行数据隐藏时,把上述提取的一定宏块同步信息隐藏在上述提取一定宏块同步信息的块组一个块组后面。
6.如权利要求1所述的动影像编码方法,其特征在于,利用从上述解码器提取的一定宏块同步信息,运行错误隐蔽时,如果输入的块组宏块发生错误,就参照从隐藏数据提取的形成块组的宏块同步信息,对上述发生错误的块组宏块,再次运行编码。
7.如权利要求6所述的动影像编码方法,其特征在于,从上述解码器提取的一定宏块同步信息属于形成一个块组的第六个宏块同步信息时,如果上述发生错误的宏块是第六个宏块之前的宏块,就参照上述提取的同步信息,从上述发生错误的块组第六个宏块开始,再次运行解码。
全文摘要
本发明的动影像编码方法包括对编码器输入的图像,提取形成块组单位的一定宏块同步信息;对提取的形成块组单位的一定宏块同步信息,通过编码时的数据隐藏进行传输;提取在解码器因数据隐藏传输,并形成块组单位的一定宏块同步信息,还利用提取的同步信息,运行错误隐蔽。在这里,根据本发明的理解,形成块组单位的一定宏块的同步信息是指以块组为单位的位流上的第六个宏块开始位置。另据本发明,运行数据隐藏时,利用对输入图像运行量子化参数和/或离散余弦变换的块内的等级值(以量子化参数除掉离散余弦变换系统的值),运行数据隐藏。
文档编号H04N7/26GK1756350SQ20041005173
公开日2006年4月5日 申请日期2004年9月29日 优先权日2004年9月29日
发明者柳在信 申请人:乐金电子(惠州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1