郑 义,史 萍
(中国传媒大学信息工程学院,北京 100024)
责任编辑:哈宏疆
随着通信和多媒体技术的发展,通过互联网和无线信道传输高质量的视频成为一项广泛应用的业务,但是网络和无线信道很不可靠,网络拥塞、信道带宽的波动、各种网络的差异性以及路由选择造成的延时等问题都会造成传输的视频信息丢失。20世纪70年代,贝尔实验室提出了多描述编码问题,90年代,多描述编码应用到图像编码中。
多描述编码[1](Multiple Descriptions Videoing Coding,MDSQ)是一种错误恢复编码方式,在编码端产生多种形式描述的码流(称为描述),各描述之间存在一定量的互补冗余信息,并且具有同等的独立性和重要性,即每一路描述均可独立编码和解码。同时,在相互独立的信道中传送不同的描述,各个信道丢失相同部分图像数据的概率很小。所以,源视频的任意一个描述都可以解码出质量可接受的视频,而多个描述联合解码可以重构出高质量的视频。多描述编码的方法主要有基于量化的方法(包括标量和矢量量化)、基于变换的方法、基于运动补偿预测的方法、基于框架扩展的方法等。
1993年,Vaishampayan首次提出利用带有渐进特性的多描述标量量化器构造实用的多描述编码器[2]。他提出利用Lloyd迭代算法来设计标量量化器,然后将量化后的高斯无记忆信源信号经索引分配产生两路描述。之后,Vaishampayan在原有基础上提出受熵约束的MDSQ(ECMDSQ)[3],采用变长码来代替定长码,但ECMDSQ的编码复杂度较高。之后,这种方法应用到两个以上的多描述情况[4],该算法中的MDSQ使用通用多描述标量量化器(UMDSQ),能够获得中央失真和边缘失真之间连续的折中点[5],以较低的复杂度实现了与ECMDSQ相同的性能。Gavrilescu提出嵌入式的多描述标量量化器[6],它使用多描述统一标量量化器对索引值进行量化,并对量化后的基本层的系数进行分级,使用嵌入式标量量化器对各级进行标量量化和索引分配,得到可分级的码流。程国华提出将过完备小波变换与凸集投影(POCS)相结合[7],使用过完备小波变换得到基本信号与冗余信号,通过对它们使用不同的量化步长来控制编码中的冗余度。根据基本信号与冗余信号之间的相关性,利用POCS算法来进行解码器端的图像重建。张文琴引入冗余小波变换技术[8],在变换域中进行运动估计与补偿,对多描述分解码流采用嵌入式编码方法。王宁提出将小波变换后的每个子带信号看做一个描述[9],得到多描述子带编码系统。
本文结合多描述标量量化思想,提出了一种基于小波变换的多描述视频编码方案,将小波变换后的系数使用多描述统一标量量化(Multiple Description Uniform Scalar Quantization,MDUSQ)和嵌入式的索引分配策略,结合位比特平面编码和算术编码,产生可以渐进传输的码流,提高了在不稳定信道中传输的稳健性。
本文在MJPEG2000的框架下,结合多描述标量量化的思想,产生基于小波变换的多描述码流[10]。编码端框图如图1所示,解码端框图如图2所示。
若编码端输入的视频序列为无符号数,由于小波变换处理的是有符号数,则需首先进行前向DC电位平移将无符号数转变为有符号数。再经过正向小波变换形成各种分辨力级的小波系数,各子带小波系数经过量化和索引分配后产生相互间含有一定冗余的两路描述,两路描述再分别经过最优截断嵌入式块编码[11](Embedded Block Coding with Optimized Truncation,EBCOT)和打包的过程形成最终的码流。
解码端是一个相反的过程,若解码端收到两路描述,则根据熵解码后的两路描述进行中央索引合成,若其中一路描述完全丢失,则只能根据剩余一路描述的码流进行边路的索引合成。索引合成后的系数经过反量化、反DCT变换和电位平移得到最终的解码视频。
二维图像的离散小波变换的实质是对原始图像进行高通和低通滤波,将原始图像分为低频平滑近似和高频细节两部分。对图像的每一行和每一列都进行滤波后产生4个子带,分别是LL,HL,LH和HH,下一级的分解在LL子带上进行。重建时利用不同级分解后的子带得到不同分辨力的图像。
多描述标量量化包括量化和索引分配两部分,系统中采用了带死区的均匀量化方法。为了保证解码端能够恢复出可接受的图像质量,又能够得到更大的压缩比,关键是采用合适的量化步长。小波分解使低频子带和高频子带的动态范围不同,所以量化步长的设计应根据小波变换后子带的动态范围而变化。
量化后的系数要进行索引分配,产生两路相互间含有冗余的描述。索引分配就是将每个系数通过映射函数A(·)映射为两个索引号,即分解成两个描述,如式(1)所示
式中:N是自然数集;i,j代表两路描述索引号。
为了保证只收到一路描述时解码器能得到质量可接受的视频,每路描述都应包含解码所需的足够的信息,这就造成两路描述间含有大量的冗余。两路描述间含有的冗余越多,压缩码流的容错性能就越高,但中央编解码器的率失真性能降低。所以应在容错性能和率失真性能之间寻求最佳平衡。因为索引分配控制着两路描述间的冗余,所以MDSQ的核心问题是怎样将量化后的系数分配为索引对,并且这种分配能合理地控制两路描述间的冗余。另外,这种分配必须是可逆的,这样才能保证解码端准确恢复出信源。Vaishampayan提出索引分配问题可以用索引分配矩阵来解决[2]。以下是索引分配矩阵的设计原则[2]:首先建立一个N×N的矩阵,将量化后的信息从0到N-1方向、从左上到右下、从主对角线向外填入该矩阵。图3是本系统使用的索引分配矩阵。
图3 DWT-MDSQ系统的索引分配矩阵
经过索引分配的小波变换系数要经过比特平面编码,并按照比特平面分层打包成嵌入式码块位流,以保证在可利用的信道带宽减小时,优先传输高位比特平面,低比特平面丢失,得到一个模糊的图像,假设两路描述分别收到bi和bj个比特平面,对于独立同分布的高斯信源,中央解码器的失真为
在图3所示的嵌入式索引分配矩阵中,若i路和j路描述分别收到一个比特平面。则重建值由索引矩阵中阴影区域的值确定,也就是使重建值为阴影区域的重心。根据式(2),为使重建失真最小,应根据信源统计特性对不同系数改变索引分配矩阵,使收到的两路比特平面数与信源概率密度分布决定的中央失真最小。这样一来,不仅计算极为复杂,而且在传输码流时不仅要传输两路描述还要传输相应的索引分配矩阵,造成很大的开销。为解决上述问题,本系统采用了统一标量量化,并对所有系数用相同的索引分配矩阵产生两路描述,两路描述再分别根据信源统计特性进行熵编码。
将小波变换以后的子带划分为大小固定的码块,码块是EBCOT熵编码的最小单位。每个码块独立编码,在解码端若一个码块的数据出现错误,并不影响其余码块的解码,防止了错误在码块间的传播。对每个码块首先进行位平面编码,位平面编码的判决输出符号经过基于上下文的算术编码和PCRD优化截断算法后打包成为最终码流。
本文将基于小波变换的多描述视频编码方案在PC机上进行仿真,采用帧率为25 f/s的CIF格式foreman,football和container视频测试序列,色度采样格式为4∶2∶0。对测试序列分别进行MPEG-2,H.264,MJPEG2000单描述编码和基于小波变换的多描述编码。为方便描述,基于小波变换的多描述编码方案用DWT-MDSQ来表示,索引分配矩阵如图3所示,des-mdsq表示描述2完全丢失、解码端只收到一路描述的情况。MPEG-2和H.264采用I-BB-P的GoP结构,将一个slice封装成一个数据包,每个丢失的数据包都用前向复制的方法进行错误隐藏。多描述编码产生两路码流,两路多描述码流的总码率与单描述码流的码率相等。DWT-MDSQ在实验中进行3级无损(5,3)小波分解,打包成一个质量层的码流。单描述与多描述码流分别在丢包率为0.02,0.05,0.08,0.10的信道中传输,解码端对有丢包的码流进行解码重建。
图4中,基于运动补偿预测的H.264和MPEG-2对于运动较慢的container序列效果较好,对于运动快的序列,运动补偿预测的误差增大,PSNR下降。而MJPEG2000只运用了帧内编码,所以不管序列运动的快慢,编码性能较为接近。由于在多描述方案中,两路描述中含有冗余,所以丢包率为0时,单描述编码方案的PSNR都高于多描述编码方案。在高丢包率情况,多描述编码方案的PSNR要高于单描述编码方案,这是因为H.264和MPEG-2运用前向复制的方法进行错误隐藏,由此造成的误差比多描述方案中用收到的一路描述预测另一路描述的误差大。另外,在有丢包时DWT-MDSQ比MJPEG2000的PSNR高5~10 dB。在一路描述完全丢失情况下,边解码器解码剩余一路描述时的PSNR较低,但随着丢包率的增加,其PSNR逐渐与MJPEG2000接近,解码端也可获得质量可接受的视频。
图4 测试序列重建视频PSNR
图 5 是在码率为 5.5 Mbit/s,4 Mbit/s,3 Mbit/s,2 Mbit/s,1.5 Mbit/s和0.8 Mbit/s时重建序列和原始序列的峰值信噪比。从图5可看出,在高码率时,多描述方案的两路描述的码率都较高,而且丢失相同信息的概率较小,所以DWT-MDSQ的性能都比MJPEG2000好。当码率下降时,两路描述的码率都要降低,所以多描述方案的PSNR下降较快。由于H.264和MPEG-2使用的前向复制错误隐藏对运动慢的视频效果好,所以对于运动较快的football序列,多描述编码方案和MJPEG2000的PSNR较高。
图5 测试序列在丢失率为5%时的R-D曲线
本文在MJPEG2000视频编码框架下,对小波变换后的系数进行量化和索引分配产生互有冗余的两路描述,提高在有丢包信道中传输的稳健性。实验结果表明对于运动较慢的序列在高码率的情况下,基于小波变换的多描述编码方案的重建图像质量好于H.264,MPEG-2,MJPEG2000单描述方案。另外,基于小波变换的编码方案在有丢包时没有块效应。多描述编码方案适合在信道不稳定,有丢包的网络信道和无线信道中传输。
[1]骆超,史萍.基于标量量化分割的视频多描述编码研究[J].电视技术,2011,35(2):33-36.
[2]VAISHAMPAYAN V A.Design of multiple description scalar quantizers[J].IEEE Trans.Information Theory,1993,39(3):821-834.
[3]VAISHAMPAYAN V,DOMASZEWICZ J.Design of entropy-constrained multiple-description scalar quantizers[J].IEEE Trans.Information Theory,1994,40(1):245-250.
[4]BERGER-WOLF T Y,REINGOLD E M.Index assignment for multichannel communication under failure[J].IEEE Trans.Information Theory,2002,48(10):2656-2668.
[5]TIAN Chao,HEMAMI S S.Universal multiple description scalar quantization:Analysis and design[J].IEEE Trans.Information Theory,2003,50(9):2089-2102.
[6]GAVRILESCU A I,MUNTEANU A,SCHELKENS P.Embedded multiple description scalar quantizers for progressive image transmation[J].IEEE Electronics Letters,2003,39(13):979-980.
[7]程国华.周源华.一种对信道差错鲁棒性的多描述编码算法[J].上海交通大学学报,2004,32(11):1781-1784.
[8]张文琴.先进的小波视频压缩方法及其应用研究[D].北京:中国科学院研究生院,2005.
[9]王宁.基于子带分解的多描述变换编码[D].北京:北京大学,2010.
[10]CRAVE O,PESQUET-POPESCU B,GUILLEMOT C.Robust video coding based on multiple description scalar quantization with side information[J].IEEE Trans.Circuits and Systems for Video Technology,2010,20(6):769-779.
[11]张旭东,卢国栋,冯健.图像编码基础和小波压缩技术——原理、算法和标准[M].北京:清华大学出版社,2004.