• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 分布式视频编码关键技术及其发展趋势

分布式视频编码关键技术及其发展趋势

录入:edatop.com     点击:

1引言

当今的视频压缩编码标准,如ISO与ITU-T分别领导制定的视频压缩国际标准MPEG-x系列与H.26x系列,已被广泛应用于图像视频的各个领域,取得了较大的成功。因编码器承担了运动估计、变换、量化、熵编码及相应解码等大量高复杂计算,使得编码复杂度是解码的5~10倍以上[1]。这种编码复杂解码简单的不对称编解码系统在以往的视频广播或VOD(videoondemand)流媒体点播等应用中显然是非常适合的,因为此类系统的视频信号是一次编码多次解码。

随着微电子、通信与计算机技术的迅猛发展,大数据量的图像视频类多媒体信号在无线网络上的实时传输,己经越来越成为一个令人瞩目的研究热点。特别是高速无线网络以及配备了摄像头的具有视频采集、编码、传输能力的无线手持设备的爆炸式发展,己经为大数据量的无线视频提供了必备的平台环境。目前,引起较多关注的无线视频传感网络(wirelessvideosensornetwork,WVSN)中,使用带摄像机的无线视频节点(wireless video node,WVN)来处理、存储及时拍摄到的视频,然后上传至网络某一固定的基站。以上介绍的应用场合,都需要满足以下要求:由于电池容量有限,要求无线视频编码器低功耗、低复杂度;由于传输速率的限制,要求编码器具有高压缩效率;由于采用无线接入与传输,要求视频信号传输具备强健壮性。上述应用领域的特点是编码设备较简单,解码设备因拥有较多资源可以进行高复杂计算,所以传统视频编码技术已不再适用于这些应用场合,须寻找新的编码压缩方法。

为此,一种全新的视频编码框架——分布式视频编码DVC实现系统开始受到关注,其理论基础是信息论中的Slepian-Wolf(SF)[2]和Wyner-Ziv(WZ)[3]两定理。虽然在20世纪70年代从理论上证明了多个相关信源独立编码联合解码同样可以达到联合编码联合解码的编码效率,但直至2002年才开始有学者进行分布式视频编码的实现算法研究,且取得了一定成果并逐渐引起关注。经前期的初步研究证明,这种全新框架的视频编码具有以下主要特点:低复杂度的编码,高复杂度的解码;对于容易产生误码的通信网络如无线通信),具有较好的健壮性;具有较高的压缩效率;易形成分级编码码流。分布式视频编码非常适合于便携式、耗电低、运算能力和带宽均受限的无线视频发送终端,可为未来无线视频信号编码与传输提供具有极大竞争力的解决方案。同时,随着研究的日益深入,分布式视频编码已被学者们用来解决更为广泛的问题,如低复杂度编码、多视角编码、信息安全、可伸缩编码、多描述编码、光场编码及抗误码传输等。

2分布式视频编码关键技术及其研究现状

目前,关于分布式视频编码的研究才刚刚起步,主要的编解码算法有:BerndGirod等提出的WZ视频编码[4];Ramchandran等提出的PRISM(power-efficient robust high- compression syndrome-base multimedia)视频编码[5];Xiong Zixiang提出的分级WZ视频编码[6];基于小波编码的分布式视频编码方案[7];Sehgal等提出的"state-free"分布式视频编码[8]。这些分布式视频编码都是在编码端把各帧图像看成"独立信源",各帧之间进行独立编码,编码方式类似于传统的帧内编码。在解码端,利用时域相邻帧的高度相关性,通过对已解码重建帧运动估计进行时域内(外)差求取边信息(side information)。利用边信息和SF解码器联合迭代解码以重构当前待解码帧图像。由于在分布式视频编码系统中的解码端,需用运动估计抽取时域相邻帧的相关信息,所以此类系统中的编码器可以较为简单,从而把计算量较大的帧间预测(如运动估计)转移到解码端。由此可见,分布式视频编码与传统视频编码相比,其明显区别在于:基于运动估计的混合视频编码(如MPEG-x, H.26x),编码端各帧之间通过运动估计进行联合编码,解码端通过运动补偿来联合解码;基于SF与WZ理论的分布式视频编码,编码端每帧采用类似帧内编码的独立编码方式,解码端利用帧间时域相关性进行联合解码(注:也不同于基于JPEG的视频编码,如Motion-JPEG,每帧基本上都是各自独立地进行编码和解码)。

2.1分布式视频编码器

分布式视颇编码器实现方案的研究是从Puri[5]和Aaron[4]开始的。现有方案将视频序列分割成多个GOP(groupofpictures),每个GOP由一个K帧和多个WZ帧构成(目前大部分方案中,每个GOP仅由一个K帧和1个WZ帧组成)。其中,K帧图像采用传统的视频编码器进行编码,WZ帧的图像送入分布式编码器。对于被送入分布式编码器的图像,首先把视频帧划分成空间上互不重叠的块;然后,进行块变换,变换系数量化;最后,送入SF编码器中进行SF编码生成伴随式或校验式码流。分布式视频编码是通过发送校验码取代原始帧数据来获得压缩增益的,因为在一般情况下,当前帧所产生的校验比特比原始信息比特少很多。对于视频信源,参考文献[4]提出对帧图像进行分块变换,然后将各块的变换系数进行组合形成系数带,对每个系数带单独进行WZ编码。由于各系数带代表了不同的频率分量,因此在量化时可根据人眼的视觉特性采用不同的量化步长。量化之后各系数带形成比特平面进行编码。这种方法通过变换使编码器能利用图像的空间统计相关性,因此其率失真性能好于简单的像素域编码,可以取得高达2~2.5 dB的增益[9]。参考文献[10]提出了对帧图像进行分块变换后,将各系数块的低频部分进行WZ编码,而高频部分采用传统的熵编码。

2.1.1量化技术

通常情况下,认为WZ编码器是由一个量化器和一个SF编码器组成。对于传统的视频编码来说,量化器是非常关键的一个环节,因为图像的失真基本上是由量化器决定的。由于分布式编码中的解码器是整个编码系统结构的核心,因此分布式编码中的量化器无法直接继承传统图像视频编码技术中的量化器设计方法。参考文献[11]中使用的是一个基于Trellis编码的量化器;参考文献[12]提出了一种基于Lloyd算法的量化器。Zamir[13]证明了联合高斯分布情况下,线性编码和嵌套的格子结构可以逼近WZ率失真函数,构成了分布式编码中量化器设计的理论基础。

2.1.2变换

最简单的分布式视频编码是在像素域进行的,即直接对帧的像素数据进行WZ编码,但这种方法无法利用图像的空间统计相关性。参考文献[14]提出对像素域的帧差数据进行WZ编码,即在预处理中计算当前帧各像素与参考帧对应像素的差值,对该差值数据进行WZ编码。其代价是编码器中需有存储参考帧数据的帧存储器,另外还需要进行差值运算。Aaron和Puri各自独立提出了采用基于DCT变换的方法,即对于WZ帧首先进行DCT变换,然后把变换系数输出到量化器,这种方法在编码效果上要优于基于像素的方法。参考文献[7]提出了基于小波变换的WZ编码方案,即对帧图像进行三级离散小波变换,并将变换系数划分为8×8的系数块,然后根据当前系数块和前一帧对应系数块之间的均方误差将系数块分为跳跃块、帧内块和帧间块三种类型,只有帧间块的16个低频系数进行WZ编码。Gastpar在参考文献[15]中对分布式编解码下的Karhunen-Loeve(KL)变换做了分析。

2 .1.3SF编码

WZ编码实际上由一个SF编码器和一个前置量化器组成。对于SF编码,30年前人们就明白其非常接近于信道编码[2],即可使用系统信道编码来生成校验位。解码端联合校验位X和边信息Y,执行纠错解码。如果X与Y非常相似则只需要传输少许校验位和少量辅助信息,实现高效压缩。需要强调的是,这个方法并不执行前向纠错来保护信道传输的错误,而是使用一个虚拟的相关信道来获取X和边信息Y的统计相关。另一种编码实现方法即将序列X分为陪集,编码端发送X所属的陪集索引,接收端通过选择陪集中与边信息Y距离最短的码字。这两种解释在本质上是相同的。基于SF编码和信道编码之间的关系,理论上如果信道编码能够渐进地接近信道容量,那么把它应用于分布式信源编码就能渐进地接近SF理论极限。所以,早先研究分布式编码的工作主要体现在信道编码领域,如Turbo码、网格码、RS(reed-solomon)码等,且主要针对高斯信源进行研究。大体上说,得到的结果表明它们在性能上接近于SF和WZ的理论下限。这些方法大多采用迭代的解码器,如Bayesian网络、Viterbi解码器等,虽然极大地简化了编码器的工作,但对于需要负责信源统计特性的解码器来说,计算量太大。近年来,LDPC(low-densityparity-check)码[16]以其优异的性能、简洁的形式及良好的应用前景备受青睐。

2.2分布式视频解码器

分布式视频解码器主要由SF解码器、边信息生成模块及重建模块组成。解码器将接收到的经典视频码流送入传统视频解码器,而把伴随式码流送入WZ解码器。送入传统视频解码器的视频码流解码后重构出图像,这些重构得到的图像还将用于边信息的估算。另一方面,伴随式码流送入SF解码器,利用边信息,通过迭代译码就可以以较低的译码错误概率联合解码出原始信息X。

2.2.1运动估计和边信息估值

主信息(maininformation)是WZ编码的信息,但在解码端仅能接收到编码端传送的SF编码后的校验位流,所以是未知的,其对应估计值称为边信息。分布式视频解码的突出难点是如何准确估计边信息。从另一个角度可以说边信息是对当前帧的预测,相当于传统编码中对P帧或B帧的预测,只不过这个预测是在解码端进行的,即是在解码器端生成的对主信息的一个估计。估算精度越高,说明边信息与当前帧越接近,相当于虚拟信道的误码越少,经过信道解码后误码率就越低。因为信道解码后得到的只是当前帧的量化版本,所以还需经过重建过程才能得到帧图像。重建过程通常也要用到边信息,且边信息的预测精度越高,则重建后的效果越好。参考文献[17]的研究表明,在解码端采用运动搜索的边信息生成方法可以提高编码效率,这是因为使用运动搜索可以减少边信息中的相关错误,因而只需发送较少的校验比特就可实现当前帧的解码。在解码端因当前待解码帧是未知的,所以如何在当前帧未知的情况下做运动搜索以较准确地估算出边信息是分布式视频编码中的关键问题之一。

为降低边信息估算的复杂度,有些方案完全利用解码端数据来产生边信息;为了提高边信息估算的准确性,有些方法则从编码端传送一些辅助数据,以帮助解码端产生边信息。最简单的边信息产生方法是在解码端直接将当前帧的前一帧数据作为边信息。其好处是计算简单,但只单纯利用前一解码关键帧,当画面内容变化较大时,估算出的边信息与主信息相差也较大,因此编码效率较低。参考文献[18]提出在解码端利用平均值内插方法和运动补偿内插方法产生边信息。平均值内插是指将前后相邻两帧同位置处的像素值进行平均,作为该位置处的边信息值。运动补偿内插(motioncompensationbasedinterpolation,MC-I)是指将帧的前后两帧作为参考帧,进行运动补偿预测,得到边信息。实验结果表明,对于整帧高速运动的场景,运动补偿内插方法的率失真性能要比平均值内插方法高3~4 dB。MC-I方案由于当前帧的解码必须在后一帧解码完毕之后才能完成,因此会带来一帧的时延。此外,由于前一帧和后一帧的编解码都只能用帧内编码进行压缩,整体编码效率会因此降低。基于运动补偿的外推插值法(motion compensation based extrapolation,MC-E)可解决延时一帧问题。所谓帧间外插是指用前面已经解码的两帧图像进行运动估计,并假设两帧中的块做直线运动,这样可以外推出当前待解码帧中块的运动,进而利用前面已解码的帧得到当前待解码帧的近似。进一步研究表明,基于块运动估计的边信息生成方法所能带来的增益有限,需要更加有效的运动估计方法以估算更准确的边信息。为了得到预测精度高的边信息,可从编码端向解码端传送帧的某些信息,以辅助解码端完成帧的运动估计和运动补偿预测。参考文献[5]提出的PRISM系统中,编码端向解码端传送了WZ帧量化符号的CRC数据,用来帮助解码端完成运动估计和运动补偿预测。参考文献[19]提出了另一种方法,由编码端向解码端传送WZ帧的Hash码字。Hash码字的产生方法是将帧分成8×8的块,每一块分别进行采样和量化。解码端可根据Hash码字的匹配情况在参考帧中完成运动搜索(MC-H),从而产生边信息。MC-H算法的预测精度要高于MC-E和MC-I,提高了解码图像的客观质量,但是基于Hash的算法也并非尽善尽美。首先,如何选择合适的特征信息,使其既能很好地代表原始帧信息又不会占用过多的码率,仍是值得研究的课题;其次,将Hash信息采用VLC(variable length coding)编码严重地破坏了分布式编码的抗噪声健壮性,使高频DCT量化系数失去了信道纠错码的保护。MC-H算法与MC-E和MC-I算法的结合使用是一种有效途径。尤其是对MC-E算法,若在解码端能利用一些特征信息进行运动估计,则可大幅提高解码边信息的估计质量。

以上讨论充分说明,解码器边信息的寻找是WZ视频编解码技术所特有的,同时对编解码器的质量影响很大[20]。如何找到有效、准确的边信息是WZ视频编解码的重要研究方向。

来源:电信科学

上一篇:网络双向化改造技术之二--HomePNA
下一篇:理解功率MOSFET的开关损耗

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图