基于滑窗BATS码的低时延图像渐进传输方案设计
2021-08-04史治平黄文才王臣玺
史治平,黄文才,王臣玺,罗 萱
(1. 电子科技大学通信抗干扰技术国家级重点实验室 成都 611731;2. 通信网信息传输与分发技术重点实验室 石家庄 050081)
近年来多媒体技术逐渐渗透进人们的日常生活中。图像通信作为多媒体技术的一个重要组成部分,应用越来越广泛,如远程监控、远程会议、可视电话以及遥感遥测等。在图像数据传输中,信源编码和信道编码作为两种关键技术可用于保证数据传输的有效性和可靠性。
目前在图像通信传输技术中,针对静态图像数据应用的信源编码方案主要包括基于离散余弦变换(discrete cosine transform, DCT)的图像压缩编码方案[1]以及基于离散小波变换(discrete wavelet transform, DWT)的图像压缩编码方案[2]。前者在高压缩比条件下会出现明显的方块效应,采用这种方案会严重影响图像的主观质量;后者不但可以弥补DCT的缺陷,还能为后续的压缩编码提供频率分离的变换数据。因此,基于DWT的信源编码方案成为了比较常用的图像压缩算法。其中应用最为广泛的3种基于DWT的图像压缩编码算法分别是:多集树集合分裂编码算法(set partitioning in hierarchical trees, SPIHT)[3]、优化截断点嵌入式块编码算法(embedded block coding with optimized truncation, EBCOT)[4]以及嵌入式零树编码算法(embedded zerotree wavelets, EZW)[5]。上述3种算法都利用了小波变换后图像子带分离的性质,把小波系数构造排列为一个树状结构,将所有数据根据其重要程度完成量化和熵编码。因此,3种算法都具有中断可译性以及渐进传输特性。
在信道编码的方案设计中,采用BATS码编译码方案。BATS码是喷泉码以及网络编码的一种组合形式,能保证数据在端到端的无线删除网络中进行可靠传输[6-10]。对于码长较长的BATS码,由于编码过程存在随机性导致了译码过程的无序性,且根据译码算法接收端需在接收到足够多的编码包之后才能开始译码并恢复图像,这一特性使得传统的BATS码在译码过程中产生了大量的等待时延。因此考虑将滑窗策略应用于BATS码编码方案中可较好地解决上述问题[11]。滑窗BATS码的滑动窗从数据前端开始,按照固定步长逐渐向数据末端滑动,窗和窗之间存在重叠部分,采用滑窗策略不仅可以降低传输时延,还能实现数据的渐进顺序传输。但是,由于滑动窗对数据的截取降低了码长,因此译码性能也随之下降。针对上述问题,本文提出了一种基于编码统计的滑窗BATS码,并将其与SPIHT编码相结合,实现高可靠、低时延的图像渐进传输,从而提升图像通信系统的QoE。
1 基于滑窗BATS码的低时延图像渐进传输方案设计
由于传统BATS码编码时,参与编码的信息包是随机选择的,有些编码包可能恰好未被选择参与编码,导致译码产生较高的错误平层。为了降低平层,本文提出基于编码统计的滑窗BATS码,如图1所示。在优化方法中,通过在发送端分析统计每个窗口编码后的窗内信息包的编码情况,提取出未参与编码的信息包并将其加入到下一个窗口中进行编码,从而提高各个信息包的编码概率,避免随机编码导致的未参与编码的信息包数过高的问题,最终达到降低错误平层的目的。
图1 基于编码统计的滑窗结构示意图
1.1 发送端编码方案设计
将信源编码与信道编码结合在一起,本文设计了一种结合SPIHT编码和基于编码统计的滑窗BATS码的图像传输方案,如图2所示。
图2 基于BTAS码的图像传输方案框图
根据算法需求和设计目标,方案中需要设定的参数包括:信源编码压缩比 r atio、压缩数据包的长度T、小波分解级数N、滑窗BATS码的窗长w、滑动窗的滑动步长s′、 每个窗的编码开销ε、BATS码编码批次大小M、有限域的大小Fq。
然后对K个压缩数据包进行BATS码编码,取出前w个数据包,构成第一个窗口的信息包集合B,并用集合B初始化当前窗未参与编码的数据包集合Si,即令Si=B,此时i=1;对集合B中的信息包进行BATS外码编码,编码过程如下所述:
1) 对外码编码度分布按概率Ω=[Ω1,Ω2,···,Ωw]进行采样,得到一个度值d;
2) 从集合B中随机选取d个不同的压缩数据包,按列组合成当前的编码信息包集合Bi;
3) 产生一个大小为d×M的系数生成矩阵Gi,矩阵中的每一个元素都随机选取自有限域Fq中;
4) 将d个压缩数据包进行M次随机线性组合,得到M个编码包,即一个编码批次并发送至中继节点。第i个编码批次Xi生成过程的矩阵表示形式如下:
Xi=Bi·Gi
按照上述步骤持续产生编码批次,直到生成足够多的编码批次为止。
1.2 中继节点编码方案设计
考虑在删除信道下,由于信道中存在的干扰、噪声等因素导致部分编码包在传输过程中发生丢失。为了提高传输可靠性,编码包由发送端传输到中继节点后,在中继节点采用网络编码对接收到的编码批次依次进行再编码,编码算法采用随机线性网络编码,每个批次在完成内码编码后又重新生成M个编码包,并依次发送至接收端。第i个编码批次的内码编码过程的矩阵表示形式如下:
式中,Xi′为中继节点接收到的第i个编码批次;Hi是大小为 d im(Xi′,2)×M的转移矩阵;Yi为接收端接收到的第i个编码批次。
1.3 接收端译码与图像重构
接收端译码与图像重构的具体过程如下:
1) 接收端将接收到的批次码与之前缓存的未译出的批次码合并进行联合译码,译码完成后将未译出的批次码以及已译出的压缩数据包进行缓存。
2) 完成译码后,如有数据包译码成功,则执行步骤3)~步骤7);否则跳转回步骤1)。
3) 将译出的压缩数据包按照包号进行排序,如果缓存的压缩数据包数量为m个 ,则在这m个压缩数据包中至多有n(n≤m)个连续的数据包,包号从1~n, 将这n个压缩数据包称为有效压缩数据包;
7) 重复步骤1)和步骤2),直到译码窗滑动到数据的末端,完成所有接收批次码的译码并输出。
2 方案的性能仿真与分析
两跳线性网络的仿真模型如图3所示,以两跳的线性删除网络为信道传输模型,删除概率设为0.1。图像传输方案分别采用传统BATS码、普通滑窗BATS码和基于编码统计的滑窗BATS码对分辨率为 512×512的标准静态图像Lena进行了仿真和测试。由于在图像通信系统中,用户体验质量主要由重构图像质量、传输时延以及图像传输与显示方式3个因素影响。因此,本文从重构图像质量、渐进传输特性以及传输时延3个方面对不同的图像传输方案进行分析和比较。
图3 两跳线性网络的仿真模型
首先,采用信源编码对原始图像Lena进行3级小波分解,得到一个子带分离的小波系数矩阵,再对小波系数矩阵进行SPIHT编码可以得到长度分别为25 000、300 000、350 000、400 000、450 000、500 000的二元位流信息,相应的压缩比分 别 设 为8.388 6、6.990 5、5.991 9、5.242 9、4.660 3、4.194 3,然后以T=100 bit为单位对上述位流信息进行打包即可得到原始信息包,长度分别为K={2500,3000,3500,4000,4500,5000}。
然后考虑信道编码,有限域大小设为 GF(2),批次码批次大小设为M=32。在滑窗BATS码方案中,窗长设置为 ϖ=1000 , 滑动步长为s=500,每个窗的编码开销设为 ε =0.6。窗口的编码度分布根据有限长BATS码的度分布设计方法生成。
接收端译码器在完成第二个窗的译码后开始输出并重构显示译码成功的有效压缩数据包。
2.1 重构图像质量
峰值信噪比 PSNR是用于评测重构图像质量的一个重要参数,本文用它作为衡量不同传输方案性能好坏的指标。分辨率为N×M,像素为255的图像的P SNR可由下式进行计算:
式中,f(x,y)表 示原始图像;g(x,y)表示重构图像。PSNR值越高表明重构图像质量越好,PSNR值越低表明重构图像质量越差。
在本文的仿真过程中,先对基于编码统计的滑窗改进方案进行多次仿真,仿真次数设为100,仿真结束后经统计可得到平均编码批次数,再采用普通滑窗方案设定与编码统计方案相同的编码批次数进行仿真,在相同的编码开销下对重构图像质量进行比较。在不同压缩比下,滑窗改进方案的平均编码批次总数经统计分别为{205, 260, 320, 358, 410,465},相应地,在普通滑窗BATS码方案中每个窗口需产生的编码批次数约为{51, 52, 53, 51, 51,52}。不同的压缩比下,3种方案的峰值信噪比对比如图4所示。
从图4看出,基于编码统计的滑窗BATS码的图像传输方案的重构图像质量优于另外两种方案。由于基于编码统计的滑窗BATS码能够将未参与编码的压缩数据包放入下一次编码的待选数据包中,通过降低原始数据包未参与编码的概率来提高有效压缩数据包的译码成功率,以此减少由于BATS码编码随机性所造成的错误平层高对重构图像质量的影响。而另外两种方案由于BATS码编码的随机性,使得一些原始数据包始终未参与编码,因此译码性能比基于编码统计的滑窗BATS码差。
图4 3种方案的重构图像质量曲线
2.2 渐进传输特性
渐进传输特性是指随着图像数据的传输和译码,用户能逐渐清晰地观看图片内容的过程。本文关注重构图像的输出时间和重构图像质量二者的关系,通过统计重构图像质量随输出时间变化的规律作为判定设计方案渐进传输特性好坏的衡量标准。
在压缩比均为r atio=4.1943的情况下,表1给出了重构图像质量随时间的变化情况。表1中,PSNRT为传统BATS码的PSNR值,PSNRS为普通滑窗的PSNR值,PSNRopt为编码统计滑窗的值。本文假设用一个单位时间译码完成并输出一个窗口的原始数据包,那么完成并输出第i(i>1)个窗口的原始数据包的时间为i。按照以上假设,基于传统BATS码和普通滑窗BATS码的图像传输方案的数据输出时间范围为 [ 2,9],基于编码统计的滑窗BATS码的图像传输方案的数据输出时间范围为[ 2,10]。
表1 3种不同方案下不同输出时间的PSNR值
基于BATS码图像传输中不同输出时间重构的图像如图5所示。结合表1和图5可以知道,几种方案的重构图像质量都随输出时间递增,且不同输出时间下的重构图像都具有渐进完善特性,因此3种图像传输方案都可实现渐进传输。但通过对比3种传输方案在不同输出时间的 PSNR值以及具体的重构图像质量,可得知与传统BATS码的传输方案相比,普通滑窗BATS码的时延性能得到了显著提升,重构图像能够得以更快恢复;同时,与普通滑窗BATS码相比,基于编码统计的滑窗BATS码在相同的时延下能够得到更高质量的重构图像。
图5 基于BATS码图像传输中不同输出时间重构的图像
2.3 平均传输时延Tdelay
为了简化计算,本文只统计压缩数据包的传输时延,而忽略小波变换、SPIHT编解码和BATS码编译码的处理时延。针对传统BATS码,由于接收端需要在接收到所有K个压缩数据包的编码批次后才开始进行译码操作,因此可以设定每个压缩数据包的传输时延为K。
针对滑窗BATS码,当接收端接收到第L(本文设定L=2)个窗口的编码批次后,开始进行译码并输出已恢复的压缩数据包并据此得到对应的位流信息,对位流信息进行SPIHT译码和小波逆变换后,就可以重构图像并进行输出显示。假如接收端完成了对第j(j≥L,j≠Nw)个窗口的压缩数据包译码后,计算得到当前译出nj个有效数据包,那么这nj个有效数据包中每一个包的传输时延就为w+js。根据上述方法可得到最后一个窗译码结束后所对应译出的压缩数据包的传输时延为K。因此,第i次仿真中每个译出的有效压缩数据包所需的平均传输时延可由下式计算:
完成m次 仿真后,对m次Tdielay之和取平均值就可以得到每次每个有效压缩数据包的平均传输时延,计算方法如下式所示:
由图6可以看出,基于编码统计的滑窗BATS码的传输时延比传统BATS码降低了20%~35%,相对普通滑窗BATS码降低了8%~15%。图像传输时延越低,则用户能越快看到传输图像并据此做出下一步的决策。
图6 不同压缩比下3种方案的传输时延对比图
3 结 束 语
本文设计了一种图像传输方案,将SPIHT编码与BATS码相结合。在BATS码的编码方案中引入滑窗策略对SPIHT编码产生的压缩数据包进行编码,从而有效降低图像数据的传输时延。仿真结果表明采用滑窗策略后,用户能够更快观看到传输图像,提升了用户体验。由于BATS码在编码过程中的随机性,导致一些原始数据包可能从未参与编码,使其具有较高的误码率和错误平层。针对此问题,本文提出了一种基于统计的滑窗编码方案,经仿真验证,与滑窗BATS码相比,改进的基于编码统计的滑窗BATS码的可靠性得到了进一步的提高。