专利名称:一种视频编码方法
技术领域:
本发明涉及通信领域的会议电视领域,具体地说,是一种视频编码方法。
背景技术:
随着多媒体技术的发展,特别是基于远程视音频通信的会议电视的应用不断扩大,在通信过程中对视频信号如何实现有效地编码以保证通信的实时性、完整性便显得越来越重要。
现有视频压缩国际标准H.261、H.263和MPEG1、MPEG2、MPEG4都采用基于块运动补偿(Motion compensation,简称MC)和离散数字余弦变换(Digitalcosine transform,简称DCT)技术的混合压缩方法,都是通过去除时间和空间冗余性来完成对视频信号的压缩。
但由于DCT频谱没有局部特性等原因,所以块变换和编码技术所固有的方块效应、蚊子噪声等缺点往往不令人满意;另外,在抗误码方面也存在不便处理的问题。为此,业界便开始采用具有变换频谱局部特性、多分辨率特性等优点的小波变换技术来压缩视频信号。在现有技术中,主要有如下三类技术方案一、运动估计—预测差值图像—小波变换—编码;二、小波变换—运动估计—预测差值图像—编码;三、3D小波变换,即空间域2D小波变换+时间方向1D小波变换。
因为方案三具有较大的时延,所以在实时图像通信领域可行的方案为前两种。方案一的技术与H.261、H.263及MPEG标准中的技术类似,主要区别在于以离散数字小波变换(Digital wavelet transform,简称DWT)取代DCT。例如,专利号为US5764805,名称为“Low bit rate video encoder using overlappingblock motion compensation and zerotree wavelet coding”的美国专利就公开了该技术,该专利采用重叠块运动补偿(Overlapping block motioncompensation,简称OBMC)技术进行运动估计和预测求差,然后进行小波变换,并采用零树小波系数编码方法(Embedded image coding using zerotrees ofwavelet coefficients,简称EZW)进行编码。方案二是在小波系数域内进行运动估计和运动补偿,通常采用多分辨率运动估计和运动补偿方法,并且一般要对预测差值图像再进行DCT,然后再进行量化和熵编码。例如,专利号为US5495292,名称为“Inter-frame wavelet transform coder for color videocompression”的美国专利。该专利采用的编码方法为游程编码RLC(Run lengthcode)和熵编码方法。
虽然上述两项专利公开的技术在一定程度上解决了基于块运动补偿和离散数字余弦变换技术中的问题,但是上述二专利仍然存在各自的缺点。具体说如下专利号为US5764805的专利所述方法,由于是对整帧图像进行运动估计和运动补偿,因而不便于直接进行空间分层编码;专利号为US5495292的专利所述方法,在对高频子带进行运动估计计算时,由于高频系数分布的特点,其准确性很难得到保证,并且对预测块再进行DCT变换和RLC编码,计算复杂度较大,编码方法也没有充分利用子带间的相关性,得不到较好的压缩效率。
发明内容
本发明目的在于提供一种实时的且具有抗误码性能的视频编码方法。
为实现上述目的,本发明的视频编码方法包括下述步骤(1)对整帧图像进行小波分解;(2)对小波分解后的低频子带作运动估计计算;(3)对各子带预测求差值,其中高频子带运动向量采用同层低频子带整像素运动估计结果;(4)对步骤(3)中所得的高频子带预测差值图像进行量化;(5)分别对量化结果进行编码。
其中
在步骤(4)之前还包括对最粗层低频子带预测差值图像进行小波变换,并在步骤(4)中对该小波变换所得到的各子带进行量化。
对最粗层低频子带预测差值图像进行小波变换,直到不便于再分解为止步骤(2)采用多分辨率运动估计方法(MRME)。
对低频子带的运动估计采用由粗层子带到细层子带,逐渐向上细化的方式;或采用由细层子带到粗层子带,逐渐向下推算的方式。
如果子带某块在运动估计时所得的差的绝对值的和(SAD)超过某域值,则对该块运用块内预测方法计算差值数据;编码方式为信噪比分层编码、空间分层编码或时间分层编码。
编码方法为嵌入式零树小波算法(EZW)、层树分集算法(SPIHT)或重要性连接组件分析算法(SLCCA)。
本发明所述方法的突出优点是A、没有基于块编码方法中常出现的方块效应现象,在低带宽下可以较大提高图像视觉质量;B、由于只对低频子带进行运动估计计算,将其计算结果应用到同层的高频子带,并且不同层低频子带间可以采用由粗到细或由细到粗的多分辨率运动估计方法,可以大大减少计算量,提高计算效率;C、可以很自然地实现信噪比分层、空间分层和时间分层编码;D、由于不同层低频子带的运动矢量间可以互相近似推得,并且对他们分别编码打包传输,在其中一层子带运动矢量信息丢失的情况下,可以从另一层子带运动矢量信息近似得到,从而具有较好的抗误码性能;E、具有较高的压缩效率;F、可以实现有损和无损两种压缩方式。
图1为本发明的流程图;图2为本发明的编码框图;
图3为图像3级小波变换的数据结构;图4为本实施例中最粗低频子带预测差值图像2级小波变换的子带间编码关系示意图。
具体实施例方式
本实施例以CIF格式和3级离散数字小波变换(DWT)为例对编码算法和过程进行详细描述。
为方便叙述,本实施例将图像经过一次小波变换后得到的一个低频和三个高频子带分别用LL、HL、LH和HH表示(在字母后加上数字则表示不同层的子带)。
参阅图1和图2首先将输入的当前帧、预测帧进行DWT分解,即图1中的步骤10。本实施例中对图像进行3级DWT分解(即图1中的DWT1),设分解后的图像分别为f(t)和f(t-1)、其数据结构如图3所示。
对DWT分解后的低频子带作运动估计计算,即图1中的步骤11。首先考虑f(t)和f(t-1)间的运动估计和运动补偿问题,本发明基于以下假设随着图像中某目标的移动,f(t)中同层的LL、HL、LH和HH对应于该目标的块具有相同的位移矢量。该假设显然是合理的,因为他们毕竟分别是同一目标的低频系数和高频系数,因此,本发明仅对各层的低频分量LL1、LL2、LL3进行运动估计计算,将其计算结果应用到高频子带对应块,从而可以大大减少计算量。进一步地,由于相邻层LL子带的分辨率具有倍数关系,因此,本发明采用多分辨率运动估计方法MRME对各层LL子带进行运动估计,包括由粗到细和由细到粗两类方法(1)由粗到细先对LL3中的4×4块进行运动估计,然后,考虑LL2中的相应8×8块,以LL3中相应4×4块的运动矢量的2倍作为初始位移矢量,再在其周围8点进行运动估计计算,找到匹配块。类似地,可以得到LL1中相应16×16块的运动矢量结果。
(2)由细到粗先对LL1中的16×16块进行运动估计,将其运动矢量值除以2可得到LL2中相应8×8块的运动矢量值、除以4可得到LL3中相应4×4块的运动矢量值。
两类方法中,对于LL3子带可进行1/2、1/4像素精度运动估计,而对于其它子带只需考虑整像素精度即可。
对于在搜索范围内找不到准确匹配位置的块,即差的绝对值的和(Sum ofabsolute difference,简称SAD)值超过设定的域值(对应于H.263中的INTRA块),则该块运用块内预测方式,各像素点预测值一律取为0。
然后,进行图1中的步骤12,对各子带预测差值计算。在该步骤计算中,高频子带运动向量采用同层低频子带整像素运动估计结果,以大幅度减少计算量。
为了得到更有效的压缩效果,对最粗低频子带LL3预测差值再进行2级DWT分解(即图1中的DWT2)LL5、HL5、LH5、HH5、HL4、LH4和HH4,如图4所示。对最粗低频子带LL3预测差值,一般是进行到不便于再分解为止。
接着,进行图1中的步骤13,分别对DWT1所得高频子带预测差值图像和DWT2所得的各子带进行量化,对两次小波分解的子带一般采用不同的量化器进行量化。
最后,进行图1中的步骤14,分别对量化后的各子带进行编码。首先对LL5、HL5、LH5、HH5、HL4、LH4、HH4进行编码,再对HL3、LH3、HH3、HL2、LH2、HH2、HL1、LH1、HH1进行编码,编码方法可采用嵌入式零树小波算法(EZW)、层树分集算法(SPIHT)或重要性连接组件分析算法(SLCCA)等,充分利用子带间存在的相关性,提高编码效率。
本发明所述视频编码方法,可以很容易地实现信噪比分层、空间分层和时间分层编码功能。
(1)信噪比分层编码。进行位平面编码,每一位平面的扫描顺序为LL5、HL5、HL4、LH5、LH4、HH5、HH4和HL3、HL2、HL1、LH3、LH2、LH1、HH3、HH2、HH1,每一位平面赋以一个标识,可实现信噪比分层编码功能。
(2)空间分层编码。LL3分解子带单独编码,其它子带的扫描顺序为HL3、LH3、HH3、HL2、LH2、HH2、HL1、LH1、HH1,每一分解层赋以一个标识,可实现空间分层编码功能。
(3)时间分层编码。进行双向运动估计和补偿,引入B帧编码,可实现时间分层编码功能。
本发明所述视频编码方法,具有较好的抗误码性能。采用分层编码方法,当丢失一定量的信息后,在解码端仍然可以得到可以接受的图像质量。由于需要编码传输的运动矢量信息并不多,本发明将LL3和LL1的块运动矢量信息分别打包传输,当其中一个子带的运动矢量信息丢失时,仍可以通过另一子带的运动矢量信息得到近似结果,所得图像质量一般还可以接受。
本发明所述视频编码方法,可以选择浮点小波,如9-7双向正交小波,也可选择整数小波,如5-3整数小波。当采用整数小波时,可以进行无损压缩,从而可应用于无损视频通信的情形。
对于其它格式和多级离散数字小波变换(DWT)的图像编码方法与本实施相同。
权利要求
1.一种视频编码方法,其特征在于,该方法包括下述步骤(1)对整帧图像进行小波分解;(2)对小波分解后的低频子带作运动估计计算;(3)对各子带预测求差值,其中高频子带运动向量采用同层低频子带整像素运动估计结果;(4)对步骤(3)中所得的高频子带预测差值图像进行量化;(5)分别对量化结果进行编码。
2.如权利要求1所述的方法,其特征在于在步骤(4)之前还包括对最粗层低频子带预测差值图像进行小波变换,并在步骤(4)中对该小波变换所得到的各子带进行量化。
3.如权利要求1所述的方法,其特征在于步骤(2)采用多分辨率运动估计方法(MRME)。
4.如权利要求1所述的方法,其特征在于对低频子带的运动估计采用由粗层子带到细层子带,逐渐向上细化的方式;或采用由细层子带到粗层子带,逐渐向下推算的方式。
5.如权利要求1所述的方法,其特征在于如果子带某块在运动估计时所得的差的绝对值的和(SAD)超过某域值,则对该块运用块内预测方法计算差值数据;
6.如权利要求2所述的方法,其特征在于对最粗层低频子带预测差值图像进行小波变换,直到不便于再分解为止。
7.如权利要求1至6之一所述的方法,其特征在于编码方式为信噪比分层编码、空间分层编码或时间分层编码。
8.如权利要求1至6之一所述的方法,其特征在于编码方法为嵌入式零树小波算法(EZW)、层树分集算法(SPIHT)或重要性连接组件分析算法(SLCCA)。
全文摘要
一种视频编码方法,该方法先对图像进行小波分解,然后在各个低频子带LL间进行运动估计,将其运动估计结果直接用于相同层的高频子带HL、LH和HH中,得到各个子带的预测差值图像,然后对高频差值子带进行量化、编码。对于低频差值子带,可以直接进行量化、编码,也可以再进行一次小波变换,然后再对各子带进行量化、编码。其中各子带间的量化、编码方法可以采用EZW、SPIHT、SLCCA等方法。该编码方法可以有效减少序列图像中的空间冗余性和时间冗余性,获得较高的压缩效率,还具有较好的抗误码性能,并且可以较容易实现信噪比分层、空间分层和时间分层编码方式,也可以进行无损压缩,以便满足不同应用的需求。
文档编号H04N7/26GK1486086SQ0213105
公开日2004年3月31日 申请日期2002年9月26日 优先权日2002年9月26日
发明者熊联欢 申请人:华为技术有限公司