|
||||||
|
分布式视频编码关键技术及其发展趋势
http://www.cww.net.cn 2009年10月29日 15:07 电信科学
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视频编解码的重要研究方向。 2.2.2联合解码重建 联合解码重建算法是影响系统失真性能的另一主要因素。目前的WZ视频编解码器都是基于非对称的SF编码理论,也就是说边信息Y是用传统的编码器来进行压缩的,而X利用边信息来进行压缩编码和解码的。得到图像帧中待解码块的边信息后,把这个边信息送入WZ解码器,通过重建就可以得到该块,这时用重建的块做运动估计(单向或者双向都可以),找到一个跟WZ重建块最接近的预测块,然后把这个预测块作为WZ重建块的边信息,再次送入WZ解码器,迭代重建得到该块,迭代多次后就可以取得更好的性能。 Step1:对已解码的关键帧K之间进行运动估计(结合编码端的辅助信息,如Hash码,如有的话),得到运动矢量,进行时域插值,得到边信息Sside。 Step2:SF解码器利用边信息,Sside联合解码出Sq。 Step3:结合边信息的概率统计模型,Sside和Sq利用最大后验估计(maximumaposteriori,MAP)联合重构Wyner-Ziv帧。 Step4:迭代重建,直到解码误差达到规定的要求。 解码较为复杂,通过帧内解码、SF解码、运动估计、插值和最大后验估计等进行联合解码。 2.3分布式视频编码的码率控制技术 在分布式视频编码中,X和Y之间的统计特性在编码端是未知的。用分布式信源编码技术实现的低编码复杂度的视频编码把一帧视频图像当作X来对待,把该帧图像在解码端的预测值当作边信息Y。由于视频信号是非各态历经的,所以可以达到的最佳压缩比例是变化的,而且不能由编码器预先得到。在分布式视频编码中,有3个方面的因素会影响到压缩信号的码率。首先是K帧与WZ帧的比例,相当于传统编码中I帧与P帧或B帧的比例。由于K帧采用传统的帧内编码,因此K帧比例大会导致被压缩信号码率高,虽然K帧比例大有利于在解码端产生预测精度高的边信息。第二个因素是K帧的码率,这取决于帧量化步长的选择,与传统视频编码情况完全相同。第三个因素是WZ帧的码率,这取决于WZ帧的量化步长及传输的校验位数量。WZ帧的量化步长会影响信道编码产生的校验位总数,同时也会影响解码端重建图像的质量。当量化步长确定后,校验位总数也随之确定,此时,传输的校验位数量将取决于虚拟相关信道的统计特性,即帧和边信息之间的统计相关性。但由于边信息是在解码端得到的,因此在编码端很难确定要传输多少校验位才能在解码端成功地完成信道解码(以下称校验位数问题)。在上述3个因素中,对帧与帧的比例可借鉴或使用传统视频编码中的方法,但对帧码率的控制则是一个新的课题,也是分布式视频编码中的一个研究重点。 带反馈的帧码率控制是解决校验位数问题的一个好方案。编码器传递一个较短的伴随式,解码器试着解码。如果解码器顺利解码,解码器反馈这个信息给编码器,然后编码器再对下一个图像块的数据进行压缩。如果解码器解码失败,那么就反馈通知编码器,编码器给较短的伴随式加上一定数量的比特数,构成一个较长的伴随式。这个过程一直循环,直到伴随式足以顺利解码。参考文献[21]提出一种在解码端实现帧码率控制的方案,即在帧量化步长确定的情况下,由解码端利用已收到的校验位进行解码,当无法成功解码时,则通过回传通道请求编码端传送更多的校验位。这种方法在保持编码器不变的情况下,只需改变解码器的设置就可改善整个系统的压缩性能,这与传统视频编解码系统的情况正好相反。这种方法的缺点是需要回传通道,而且解码端请求传送更多校验位的过程需在线完成,即在编码器工作的时候完成。显而易见,这种方法只有在存在反馈信道并且这个循环过程不是非常复杂的情况下才具有实际应用价值,因此不适合存储设备的应用。参考文献[5]提出了另一种帧码率控制方法,即在编码端做一些简单的时域相关性估计,以便确定编码码率。该方法需要编码端存储前一帧的数据,并将当前的帧分成大小相同的像素块。根据各块与前一帧对应块的帧差能量大小将其划分为不同的类型,对不同类型的像素块采用不同码率的编码。这种方法不需要回传通道,与解码端使用运动补偿预测技术产生边信息相比,这种估计就会很不精确,即相当于编码端粗糙的相关性估计会造成码率控制不准确。截取过的LDPC码虽也可进行一定程度的码率控制,但截取过的LDPC码在信源压缩上的性能却很差,哪怕只是采用了很轻微的码字截取操作。
编 辑:石美君 联系电话:010-67110006-818
关键字搜索:视频压缩 分布式视频编码 Wyner-Ziv编码 关键帧 边信息
|
重要新闻推荐 每日新闻排行 企业黄页 会议活动 |