-
近年来多媒体技术逐渐渗透进人们的日常生活中。图像通信作为多媒体技术的一个重要组成部分,应用越来越广泛,如远程监控、远程会议、可视电话以及遥感遥测等。在图像数据传输中,信源编码和信道编码作为两种关键技术可用于保证数据传输的有效性和可靠性。
目前在图像通信传输技术中,针对静态图像数据应用的信源编码方案主要包括基于离散余弦变换(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。
-
由于传统BATS码编码时,参与编码的信息包是随机选择的,有些编码包可能恰好未被选择参与编码,导致译码产生较高的错误平层。为了降低平层,本文提出基于编码统计的滑窗BATS码,如图1所示。在优化方法中,通过在发送端分析统计每个窗口编码后的窗内信息包的编码情况,提取出未参与编码的信息包并将其加入到下一个窗口中进行编码,从而提高各个信息包的编码概率,避免随机编码导致的未参与编码的信息包数过高的问题,最终达到降低错误平层的目的。
-
将信源编码与信道编码结合在一起,本文设计了一种结合SPIHT编码和基于编码统计的滑窗BATS码的图像传输方案,如图2所示。
根据算法需求和设计目标,方案中需要设定的参数包括:信源编码压缩比
${\rm{ratio}}$ 、压缩数据包的长度$T$ 、小波分解级数$N$ 、滑窗BATS码的窗长$w$ 、滑动窗的滑动步长${s{'}}$ 、每个窗的编码开销$\varepsilon $ 、BATS码编码批次大小$M$ 、有限域的大小$F_q$ 。首先对原始图像数据进行信源编码,对原始信源数据采用
$N$ 级小波分解,得到大小为图像尺寸的小波系数矩阵${{M}}_w$ ;将${{M}}_w$ 中的数据进行SPIHT编码,产生长度满足压缩比${\rm{ratio}}$ 的二元位流信息$S_b$ ;以$T$ 比特为单位对二元位流信息$S_b$ 进行打包封装,需要注意的是,若$S_b$ 的长度$L_{S_b}$ 不能被$T$ 整除,则需末尾补零,产生$K$ 个压缩数据包,$K=\left\lceil {{{{L}_{{{s}_{b}}}}}/{T}\;} \right\rceil$ 。然后对
$K$ 个压缩数据包进行BATS码编码,取出前$w$ 个数据包,构成第一个窗口的信息包集合$B$ ,并用集合$B$ 初始化当前窗未参与编码的数据包集合Si,即令Si=B,此时i=1;对集合$B$ 中的信息包进行BATS外码编码,编码过程如下所述:1) 对外码编码度分布按概率
$ \varOmega =\left[ {{\varOmega }_{1}},{{\varOmega }_{2}},\cdots ,{{\varOmega }_{w}} \right]$ 进行采样,得到一个度值$d$ ;2) 从集合
$B$ 中随机选取$d$ 个不同的压缩数据包,按列组合成当前的编码信息包集合${{{B}}_i}$ ;3) 产生一个大小为
$d \times M$ 的系数生成矩阵${{{G}}_i}$ ,矩阵中的每一个元素都随机选取自有限域$F_q$ 中;4) 将
$d$ 个压缩数据包进行$M$ 次随机线性组合,得到$M$ 个编码包,即一个编码批次并发送至中继节点。第$i$ 个编码批次${{{X}}_i}$ 生成过程的矩阵表示形式如下:$${{{X}}_i} = {{{B}}_i}\cdot {{{G}}_i}$$ 按照上述步骤持续产生编码批次,直到生成足够多的编码批次为止。
最后,分析和统计编码集合Si中未参与编码的数据包,统计第
$i$ 个窗中前${s'}$ 个数据包中未参与编码的数据包个数${\rm{Num}}'_i$ ,并将之取出组成集合$S'_i{}$ 作为起始数据包,将窗口向前滑动${s^i} = {s{'}} - {\rm{Num}}'_i$ 个数据包,得到第$i + 1$ 个窗口中的信息包,并用其更新数据包集合$B$ ,令$i = i + 1$ ,Si=B。按照步骤1)~步骤4),重复对更新后集合B中的信息进行编码传输并统计,直至窗口滑至数据流末尾。 -
考虑在删除信道下,由于信道中存在的干扰、噪声等因素导致部分编码包在传输过程中发生丢失。为了提高传输可靠性,编码包由发送端传输到中继节点后,在中继节点采用网络编码对接收到的编码批次依次进行再编码,编码算法采用随机线性网络编码,每个批次在完成内码编码后又重新生成
$M$ 个编码包,并依次发送至接收端。第$i$ 个编码批次的内码编码过程的矩阵表示形式如下:$${{{Y}}_i} = {{X}}_i^{'}\cdot {{{H}}_i}$$ 式中,
${{{X}}_i}^{'}$ 为中继节点接收到的第$i$ 个编码批次;${{{H}}_i}$ 是大小为$\dim ( {{{X}}_i}^{'},2) \times M$ 的转移矩阵;${{{Y}}_i}$ 为接收端接收到的第$i$ 个编码批次。 -
接收端译码与图像重构的具体过程如下:
1) 接收端将接收到的批次码与之前缓存的未译出的批次码合并进行联合译码,译码完成后将未译出的批次码以及已译出的压缩数据包进行缓存。
2) 完成译码后,如有数据包译码成功,则执行步骤3)~步骤7);否则跳转回步骤1)。
3) 将译出的压缩数据包按照包号进行排序,如果缓存的压缩数据包数量为
$m$ 个,则在这$m$ 个压缩数据包中至多有$n(n \leqslant m)$ 个连续的数据包,包号从1~$n$ ,将这$n$ 个压缩数据包称为有效压缩数据包;4) 把有效的压缩数据包展开就能够得到位流信息
$S_b^{'}$ ,其长度为$nT$ ;5) 采用SPIHT译码方案对展开的位流信息
$S_b^{'}$ 进行译码,可以得到小波系数矩阵${{M}}_w^{'}$ ;6) 对小波系数矩阵
${{M}}_w^{'}$ 进行小波逆变换,以恢复得到图像数据并输出。7) 重复步骤1)和步骤2),直到译码窗滑动到数据的末端,完成所有接收批次码的译码并输出。
-
两跳线性网络的仿真模型如图3所示,以两跳的线性删除网络为信道传输模型,删除概率设为0.1。图像传输方案分别采用传统BATS码、普通滑窗BATS码和基于编码统计的滑窗BATS码对分辨率为
$512 \times 512$ 的标准静态图像Lena进行了仿真和测试。由于在图像通信系统中,用户体验质量主要由重构图像质量、传输时延以及图像传输与显示方式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 = \{ 2\;500,3\;000,3\;500,4\;000,4\;500,5\;000\} $ 。然后考虑信道编码,有限域大小设为
$ {\rm{GF}}(2)$ ,批次码批次大小设为$M = 32$ 。在滑窗BATS码方案中,窗长设置为$\varpi {\rm{ = }}1\;000$ ,滑动步长为$s = 500$ ,每个窗的编码开销设为$\varepsilon = 0.6$ 。窗口的编码度分布根据有限长BATS码的度分布设计方法生成。接收端译码器在完成第二个窗的译码后开始输出并重构显示译码成功的有效压缩数据包。
-
峰值信噪比
${\rm{PSNR}}$ 是用于评测重构图像质量的一个重要参数,本文用它作为衡量不同传输方案性能好坏的指标。分辨率为$N \times M$ ,像素为255的图像的${\rm{PSNR}}$ 可由下式进行计算:$$ {\rm{PSNR}} = 10 \lg \left( \begin{aligned} {\frac{{{{255}^2}}}{{\dfrac{1}{{N M}}\displaystyle\sum\limits_{x = 1}^N {\displaystyle\sum\limits_{y = 1}^M {(f(} } x,y) - g(x,y){)^2}}}} \end{aligned} \right) $$ 式中,
$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码差。
-
渐进传输特性是指随着图像数据的传输和译码,用户能逐渐清晰地观看图片内容的过程。本文关注重构图像的输出时间和重构图像质量二者的关系,通过统计重构图像质量随输出时间变化的规律作为判定设计方案渐进传输特性好坏的衡量标准。
在压缩比均为
${\rm{ratio}} = 4.194\;3$ 的情况下,表1给出了重构图像质量随时间的变化情况。表1中,PSNRT为传统BATS码的PSNR值,PSNRS为普通滑窗的PSNR值,PSNRopt为编码统计滑窗的值。本文假设用一个单位时间译码完成并输出一个窗口的原始数据包,那么完成并输出第$i$ ($i > 1$ )个窗口的原始数据包的时间为$i$ 。按照以上假设,基于传统BATS码和普通滑窗BATS码的图像传输方案的数据输出时间范围为$[2,9]$ ,基于编码统计的滑窗BATS码的图像传输方案的数据输出时间范围为$[2,10]$ 。表 1 3种不同方案下不同输出时间的PSNR值
输出时间t PSNRT/dB PSNRS/dB PSNRopt/dB 2 0.0578 15.2630 18.7583 3 0.1153 19.8270 27.5043 4 0.5897 22.4112 32.4979 5 2.5301 24.9680 36.4970 6 7.7382 25.9650 37.8962 7 18.4017 26.4482 39.1907 8 25.5757 26.8121 40.1856 9 32.3463 27.1863 40.6070 10 − − 41.0603 基于BATS码图像传输中不同输出时间重构的图像如图5所示。结合表1和图5可以知道,几种方案的重构图像质量都随输出时间递增,且不同输出时间下的重构图像都具有渐进完善特性,因此3种图像传输方案都可实现渐进传输。但通过对比3种传输方案在不同输出时间的
${\rm{PSNR}}$ 值以及具体的重构图像质量,可得知与传统BATS码的传输方案相比,普通滑窗BATS码的时延性能得到了显著提升,重构图像能够得以更快恢复;同时,与普通滑窗BATS码相比,基于编码统计的滑窗BATS码在相同的时延下能够得到更高质量的重构图像。 -
为了简化计算,本文只统计压缩数据包的传输时延,而忽略小波变换、SPIHT编解码和BATS码编译码的处理时延。针对传统BATS码,由于接收端需要在接收到所有
$K$ 个压缩数据包的编码批次后才开始进行译码操作,因此可以设定每个压缩数据包的传输时延为$K$ 。针对滑窗BATS码,当接收端接收到第
$L$ (本文设定$L = 2$ )个窗口的编码批次后,开始进行译码并输出已恢复的压缩数据包并据此得到对应的位流信息,对位流信息进行SPIHT译码和小波逆变换后,就可以重构图像并进行输出显示。假如接收端完成了对第$j(j \geqslant L,j \ne {N_w})$ 个窗口的压缩数据包译码后,计算得到当前译出${n_j}$ 个有效数据包,那么这${n_j}$ 个有效数据包中每一个包的传输时延就为$w + j s$ 。根据上述方法可得到最后一个窗译码结束后所对应译出的压缩数据包的传输时延为$K$ 。因此,第$i$ 次仿真中每个译出的有效压缩数据包所需的平均传输时延可由下式计算:$$\begin{aligned} T_{{\rm{delay}}}^i =& \frac{{\displaystyle\sum\limits_{j = 2}^{{N_w} - 1} \!{(w \!+\! (j\! -\! 1) s) {n_j} \!+\! K {n_{{N_w}}} \!+\! K \left( {K\! -\!\! \displaystyle\sum\limits_{j = 2}^{{N_w}} {{n_j}} } \right)} }}{K} =\\ & \frac{{\displaystyle\sum\limits_{j = 2}^{{N_w} - 1} {(w + (j - 1) s) {n_j}} }}{K} + K - \displaystyle\sum\limits_{j = 2}^{{N_w} - 1} {{n_j}} \end{aligned} $$ 完成
$m$ 次仿真后,对$m$ 次$T_{{\rm{delay}}}^i$ 之和取平均值就可以得到每次每个有效压缩数据包的平均传输时延,计算方法如下式所示:$${T_{{\rm{delay}}}} = {{\sum\limits_{i = 1}^m {T_{{\rm{delay}}}^i} } \Biggr/ m}$$ 由图6可以看出,基于编码统计的滑窗BATS码的传输时延比传统BATS码降低了20%~35%,相对普通滑窗BATS码降低了8%~15%。图像传输时延越低,则用户能越快看到传输图像并据此做出下一步的决策。
Design of Low Delay Image Progressive Transmission Scheme Based on Sliding Window BATS Codes
-
摘要: 在图像通信中,为了节约网络资源同时保证在多跳网络中的可靠传输,该文提出了一种基于编码统计的滑窗BATS码和小波SPIHT编码的图像传输方案。该方案同基于传统BATS码和SPIHT编码的图像传输方案、基于普通滑窗BATS码和SPIHT编码的图像传输方案相比,不仅较好地改善了BATS码的编码随机性对传输可靠性的影响,还在保证方案具备渐进传输特性的同时显著地降低了传输时延,从而提高了图像通信的用户体验质量(QoE)。Abstract: In image communication, in order to save network resources and ensure reliable transmission in multi hop network, an image transmission scheme based on sliding window batched sparse (BATS) code and wavelet set partitioning in hierarchical trees (SPIHT) coding is proposed. Compared with the image transmission scheme based on traditional BATS code and SPIHT code, and image transmission scheme based on common sliding window BATS code and SPIHT code, this scheme can not only improve the influence of coding randomness of BATS code on transmission reliability, but also greatly reduce the transmission delay while ensuring the progressive transmission characteristics of the scheme, so as to improve the quality of experience (QoE) on the image communication system.
-
Key words:
- BATS codes /
- image transmission /
- QoE /
- wavelet SPIHT image coding
-
表 1 3种不同方案下不同输出时间的PSNR值
输出时间t PSNRT/dB PSNRS/dB PSNRopt/dB 2 0.0578 15.2630 18.7583 3 0.1153 19.8270 27.5043 4 0.5897 22.4112 32.4979 5 2.5301 24.9680 36.4970 6 7.7382 25.9650 37.8962 7 18.4017 26.4482 39.1907 8 25.5757 26.8121 40.1856 9 32.3463 27.1863 40.6070 10 − − 41.0603 -
[1] YAN Z, LIU J. Improved image compression coding method based on discrete cosine transform[J]. Computer Technology & Development, 2016, 26(1): 1-4. [2] MALLAT S G. Theory for multiresolution signal decomposition: The wavelet representation[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1989, 11(7): 674-693. [3] JAISWAL S, SEDAMKAR R R. Performance evaluation on EZW & SPIH image compression techniques[J]. International Journal of Scientific and Research Publications, 2014, 4(10): 1-7. [4] TAUBMAN D. High performance scalable image compression with EBCOT[J]. IEEE Transactions on Image Processing, 2000, 9(7): 1158-1170. doi: 10.1109/83.847830 [5] MAN H, KOSSENTINI F, SMITH M J T. Robust EZW image coding for noisy channels[J]. IEEE Signal Processing Letters, 1997, 4(8): 227-229. doi: 10.1109/97.611284 [6] DONG X, ZHANG Y, SONG J, et al. The reliability-enhanced wireless networks through BATS codes[C]//The 18th IEEE International Symposium on Consumer Electronics. [S.l.]: IEEE, 2014: 1-4. [7] YANG S, YEUNG R W. Batched sparse codes[J]. IEEE Transactions on Information Theory, 2014, 60(9): 5322-5346. doi: 10.1109/TIT.2014.2334315 [8] YANG S, ZHOU Q. Tree analysis of BATS codes[J]. IEEE Communications Letters, 2016, 20(1): 37-40. [9] YANG S, NG T, YEUNG R W. Finite-length analysis of BATS codes[J]. IEEE Transactions on Information Theory, 2018, 64(1): 322-348. doi: 10.1109/TIT.2017.2769122 [10] YANG J, SHI Z, XIONG J, et al. An improved BP decoding of BATS codes with iterated incremental Gaussian elimination[J]. IEEE Communications Letters, 2020, 24(2): 321-324. [11] YANG J, SHI Z, WANG C. Design of optimized sliding-window BATS codes[J]. IEEE Communication Letters, 2019, 23(3): 410-413.