基于JPEG2000的视频通信图像抗误码方法研究
2020-10-10张楠
张 楠
(中国人民解放军91033部队,山东 青岛266071)
0 引 言
JPEG2000是一种利用小波变换对图像进行压缩的技术。与以往利用离散余弦变换图像压缩技术不同的是,JPEG2000具备更高的压缩比,支持有损压缩和无损压缩,可实现渐进传输模式,支持“感兴趣区域”编码等,且压缩后的图像不会产生块状模糊瑕疵[1]。视频通信图像在传输信道中常常会产生多种不同的误码。例如:不可靠的有线或无线信道将传输信道比特流时向图像中引入了随机误码;由于在视频通信图像传输过程中网络出现了阻塞现象,有线网络互联协议在传输过程中导致引入包丢失等[2]。此外,在台风天气、雷暴、太阳风等自然因素以及强磁场、雷达信号干扰等人为因素影响下,即便是有线传输的通信方式也会形成高比率的误码,影响图像传输质量,形成噪点、失真、卡顿等问题,降低通信使用体验。为了进一步保证视频通信图像的解码质量,结合JPEG2000技术优势,提出了一种基于JPEG2000的视频通信图像抗误码方法。
1 基于JPEG2000的视频通信图像抗误码方法设计
1.1 视频通信图像误码检测
设计基于JPEG2000的视频通信图像抗误码方法,在解码端精准检测出图像中的误码。根据图像的不同传输情况,大体可分为两种检测方法。
第一种是通过传输信道解码、媒体复合检测图像误码。该方法是在媒体复合包中添加头信息检测误码。以视频复合标准低码率多媒体通信保密协议H.233为例,在复合包头中添加序列号检测丢失的复合包,即可完成对视频误码的检测;或通过前方纠错检测误码,以视频会议用的低码率视频编码标准H.263+为例,在其附录H中利用BCH码对视频通信图像码流进行纠错。
第二种是通过视频通信图像源解码检测误码。该方法根据视频信号的特点检测其时域误码,仍然以视频复合标准H.263+为例,计算视频相邻两个块组邻近行相关数据的差值,判断其是否超出了门限,若未超出门限则说明视频中没有误码,若超出则说明视频中存在误码[3]。在视频的变换域中也可对其是否存在误码进行判断,即根据视频的同步码大致确定视频出错的范围,再通过计算得出出错范围内每个块组相邻两行系数的均方差,选择其中均方差差距较大的块组即出错块组,判断该块组上存在的误码。
在实际的图像误码检测中,需要根据现场特点灵活选用以上两种误码检测方法或两者相结合共同检测。由于图像误码的检测是实现视频通信图像抗误码的前序环节,其检测质量的高低直接影响后续对误码单元的修复,因此研究中将其作为关键步骤实施。第一种方法的优点是快速,通过检测校验位可近乎实时发现通信传输过程中的误码错误,但是不精准,仅知道一个数据帧中存在误码却无法确切定位误码;第二种方法的优点是精确,可以细化到一帧图像中的细节图像块,但是运算量大,处理速度慢,直接影响视频流的正常播放,形成卡顿和延时。经过对这两种成熟的误码检测方法深入研究后,提出将两者相结合,利用传输信道误码检测快速的优点对全部视频流进行覆盖式检测,以期快速发现存在误码的帧数据。图像源解码平时处于静默状态,不参与误码检测。一旦传输信道误码检测发现了问题帧数据,立即调取图像缓存中的视频流中问题帧的前后相关帧数据信息进行差值检测,采用相邻像素点灰度值差值均方根检测的算法判定问题像素点,从而实现对图像误码的快速、精确检测。
1.2 基于JPEG2000技术的图像编码
基于JPEG2000技术的图像编码要对原始视频通信图像进行预处理,采用小波提升算法对视频中的每个瓦片进行离散小波变换,变换后对得到的各子带的小波系数进行量化和熵编码,进一步消除视频像素之间的相关性,按照率失真最优原则随机截取视频码块,最后打包形成嵌入式的压缩码流。
对视频通信图像的预处理,先将视频通信图像放置在设置好的参考网络中进行分割,将图像整体划分为形状相同、大小相等且相互不存在重叠的矩形瓦片,再对每一个瓦片分别进行操作,目的是降低瓦片的内存需求,同时对多个瓦片进行编码操作,缩短编码的整体时间。
为了进一步提高后续编码的效率,还要对瓦片中的数据流进行直流电平位移处理,去除图像中的直流分量,将输入视频通信图像分量中的无符号相关样值转变为与零点对称的有符号相关样值,利用小波变换得到基本相同的系数正负概率。
彩色视频通信图像具有两个或两个以上的分量,且各个分量中存在较大的相关性。基于JPEG2000编码标准的分量转换,实现对分量可逆和不可逆两种变换形式,可根据具体情况选择。
完成预处理后需要对其进行离散小波变换处理,利用小波变换中的提升算法对图像进行无损压缩,通过码率控制对视屏通信图像进行量化、熵编码和码流组织,完成对视频通信图像的编码。
1.3 解码端误码覆盖
利用视频通信图像信号中的冗余信息和人类视觉特性对错误图像数据进行覆盖。若视频通信图像在传输过程中运动矢量正确,则出错块应当利用运动预测块将其代替;若运动矢量出错,则应当利用视频前帧对应位值的运动矢量估值出错块的运动矢量,再利用运动补偿覆盖出错块的数据。对于空白区域的误码覆盖,可利用拉格朗日或梯度准则估计出错块丢失的数据,再完成覆盖。利用自适应的MRF格式文件作为视频通信图像的先验模型估计出错块的数据,得到恢复一定程度的图像质量,再根据出错数据的最大值,利用出错块前一帧的图像数据,得到出错宏块的初始数据,进而修正出错块周围信息,完成初始化估值和误码掩盖。同时,在覆盖过程中可以通过缩小运动矢量估值搜索范围和调整MRF格式文件的加权值等方法简化整个覆盖过程,在视频通信传输的过程中实时处理其出错块。
结合视频通信图像的误码检测方法和JPEG2000的图像编码特点,实现了对视频通信图像流的误码检测定位,且将其定位在具体的瓦片中,通过运动适量推测和信息熵隐含信息计算误码块的可能正确值范围,依照上一帧图像对应位置的图像灰度、色度信息进行覆盖还原,完成对视频通信图像的无损修复。在视频流通信中,影响通信质量的关键因素为误码率和通信速率。在视频通信图像抗误码方法研究中,优先考虑视频流中误码的检测与覆盖还原问题,但是处理速度同样是制约通信速率的重要方面。因此,研究中在误码检测环节采用双工互补的方式实现低延时误码检测,在解码端误码覆盖环节采用硬件解码的方式实现通信带宽下图像流数据的并行处理和误码覆盖,以实现高质量的通信传输。
2 实验论证分析
2.1 实验准备
本文对比实验采用64 MB内存的计算机作为实验环境,选取QCIF格式的标准视频通信图像作为实验对象,大小为158 kB×124 kB。对视频通信图像P帧,将图像中的所有参考帧误码覆盖宏块替代所有通过计算得到的宏观峰值信噪比,计算公式为:
其中,BPSNR表示为宏观峰值信噪比;BMSE表示为宏观均方误差;x、y表示为宏块序号。宏观均方误差BMSE的计算公式为:
其中,ai,j表示为原始视屏通信图像宏块;a*i,j表示为误码掩盖宏块。选择实验对象图像序列中的第4~13帧,并以每一帧的前一帧作为参考帧,分别利用设计的基于JPEG2000的视频通信图像抗误码方法和传统抗误码方法对其进行处理,并将前者设为实验组,后者设为对照组,完成对比实验。
2.2 实验结果及分析
根据实验准备完成对比实验,并记录实验过程中的相关数据,计算得到最终的实验结果,从而比较实验组与对照组恢复后的峰值信噪比。表1为实验组与对照组实验结果对比表。
表1 实验组与对照组实验结果对比表
由表1可以看出,实验组恢复后的图像峰值信噪比在第I帧图像时,虽然传输信道中的数据量明显增加,但对图像恢复的峰值信噪比仍比对照组恢复后的图像峰值信噪比高出16.132 dB。而在第P帧图像时,虽然传输信道中的数据量减小,但实验组仍比对照组增加了16.335 dB。因此,对比实验证明设计方法可更加有效地恢复被损坏视频通信图像。
3 结 论
在充分考虑实际视频通信图像的时间及空间域相关性的基础上,提出一种基于JPEG2000的视频通信图像抗误码方法,即在编码端对视频通信图像进行抗误码预防措施。对比实验已充分证明该方法具有有效性,但仍存在对解码器有一定要求、增加了传输的数据量等问题。因此,在后续研究中还将针对这两方面问题进行更加深入的研究,以期进一步提高视频解码的质量。