渐进图像压缩编码技术在窄带数据传输系统中的应用
2016-12-23梁琰铠
梁琰铠
摘 要 本文结合实际需要,系统论述了渐进图像压缩编码技术的原理与实现方法,介绍了该编码技术在窄带数据传输系统中的应用,对涉及到的关键技术进行了阐述。测试表明:渐进图像压缩编码技术为窄带数据传输系统视频编解码器提供了一种行之有效的图像编码和传输方案,为编码端和解码端提供了较强的交互支持能力。
关键词 渐进图像编码 感兴趣区域 窄带数据传输系统
中图分类号:TN919.81 文献标识码:A
0引言
随着信息技术的飞速发展,信息互联技术取得了日新月异的进步,可视对讲、视频会议等多种应用层出不穷,给人们的生产生活带来了极大的便利。一方面,随着高分辨率图像编码技术的发展,视频信息的数据量呈指数倍的增长,远程视频信息传输需要的带宽越来越大;另一方面,远程数据传输系统带宽的增长速度远没有满足当前信息传输对带宽的需求,因此,低带宽高保真率的视频压缩编码技术是构建系统的关键技术,渐进图像压缩编码技术就是一种适应窄带传输的高保真的视频压缩编码技术。
1帧图像编码器渐进压缩的原理
所谓渐进压缩,是指首先传送图像的轮廓数据,此时解码端对接收到的数据解码显示后得到的是一幅稍显模糊的完整图像,随着编码端所发送细节数据的逐渐到达,解码端解码后得到的图像也越来越清晰,质量越来越好。渐进传输方式使得在仅接收到少量图像数据时,解码端就能及时得到整幅图像的信息,而不需要等所有的图像数据都到达,从而降低了对带宽的要求。图1表示了帧图像渐进压缩编码器框图。
由图1可以看出,图像经过小波变换和量化后,在一定程度上减小了空域和频域上的冗余度,但是这些数据在统计意义上还存在一定的相关性,为此,可以利用Tier-1和Tier-2编码来消除数据间的统计相关性。通过小波变换使编码流具有了分辨率可伸缩性,而编码流的质量可伸缩性,则需要通过Tier-1编码和Tier-2编码才能实现。
图1:帧图像渐进压缩编码器框图
1.1 Tier-1编码压缩
Tier-1编码用于对子带分解得到的编码块利用Taubman提出的EBCOT算法进行嵌入式块编码,EBCOT算法与早期的嵌入式图像压缩算法关系非常紧密,这些算法包括Shapiro的EZW算法、Said和Pearllman的SPIHT算法、Taubman和Zakhor的LZC算法。与这些算法相似,EBCOT算法也是用小波变换进行子带采样,然后对小波系数进行量化和编码。与EZW和SPIHT算法不同的是,EBCOT算法没有使用零树结构而是使用编码块进行编码,同时提出了PCRD-opt算法,基于这些思想使产生的码流具有上面所提到的各种特性。
1.2 Tier-2编码压缩
Tier-2编码则利用压缩后率失真优化算法(PCRD-opt)对码块的嵌入式位流进行分层组织。在Tier-2编码中,编码通道数据被组织为包的形式。包是码流组织的基本单位。它由两部分组成:包头和包体。包头中用一个二进制比特位来指出该包是否为空包,如果为空包,则表明该包中不包括任何编码块的编码通道数据,此时不需要进行任何处理。如果不为空,则指出了该包包含那些编码块的编码通道数据、数据的长度等信息。包体包含了具体的通道数据。在最终输出码流中,包头和包体可能在一起也可能分开。
实现渐进压缩时,常用的是分辨率优先和层次优先两种包排序方式。分辨率优先的包排序方式可以提供码流的分辨率可伸缩性。打包时,可以选择按照分辨率—层次—分量—区块或分辨率—区块—分量—层次的包排序方法,将属于同一分辨率的包排列在一起,然后按照分辨率由低到高的顺序排列,对应于最低分辨率的包放在码流的最前端。传送时,首先将较低分辨率的数据传送到对方,解码后得到最低分辨率的图像,随着数据的不断到达,解码所得图像的分辨率也逐渐增大,直到整幅图像完整地显示为止。
2单帧图像编码器中感兴趣区域编码的实现
根据原理和实现方法的不同,可以将感兴趣区域编码分为两类:静态感兴趣区域编码和动态感兴趣区域编码。
2.1静态感兴趣区域编码
静态感兴趣区域编码是指在压缩时编码端可以指定一部分图像区域作为ROI,其它区域则称为背景区域。对ROI可以采用很低的压缩率进行压缩来保证ROI的图像质量,甚至采用无损压缩的方式,而对背景区域则采用较高的压缩率进行压缩,这样在保证具有较高压缩率的同时也较好地保持了指定的重要区域的质量。利用SROI技术,可以有效地将有损压缩和无损压缩方法统一起来,使得单个编码流中同时存在两种不同的压缩方式。
常用的实现SROI的方法是利用MaxShift实现。该方法的基本思想是:通过反向小波变换为选择的ROI区域产生一个ROI模板,用来标识对ROI区域质量增长有贡献的数据,选择适当的比例因子S,对位于ROI模板区域之外的背景量化小波系数进行比例缩小,即背景系数的幅值除以2S,使所得到的数值小于ROI模板中最小的量化系数幅值。这样处理后,位于ROI模板内的量化系数所处的位平面高于背景系数所处的位平面,因此,在后面进行位平面算术编码的时候,先对ROI区域中的量化系数编码,然后再对背景系数编码。因为ROI区域的位平面高于背景区域,从而使得ROI区域的压缩码流位于整个码流的前端,当码流被截断时,ROI区域中的数据在一定程度上受到保护,保证了ROI的重构质量。
2.2动态感兴趣区域编码
动态感兴趣区域编码是指在发送方以渐进传输的方式发送图像数据时,接收方在解码得到图像轮廓数据的基础上,可以随意选择感兴趣区域;此时,接收方负责将所选择区域的位置和形状信息通知发送方,发送方接收到这些数据后,利用编码流的随机存取和处理特性,首先定位对接收方所选择区域的质量增长有贡献的数据,然后将这些数据重新组织后以渐进方式发送到对方,接收方对接收到的数据解码显示来不断提高ROI质量。静态感兴趣区域编码和动态感兴趣区域编码的结合,使发送方和接受方可以根据各自的感受来选择ROI,便于双方的实时协同交互。
目前,人们已经提出了多种DROI实现方法。其中比较符合测量船应用实际有Taubman提出了一种基于动态层插入方法的改进的动态感兴趣区域编码实现方法。因此,我们这里主要研究该方法的实现机制。
编码端接收到解码端发送的ROI位置、大小信息后,首先通过反向小波变换和区块的位置信息来定位对所选择ROI质量增长有贡献的区块P。
在Tier-2编码过程的PCRD-opt算法中,特定编码块在指定截断点处的失真用公式表示为:
(1)
这里表示在第n个截断点截断编码块对应的编码流时Bi对应的失真,向量k=[k1,k2]表示样本的位置坐标,表示在编码块Bi的位置k处对应的原始样本值,表示这些样本值在第n个截断点对应的量化表示,bi代表编码块Bi所在的子带,表示子带对bi应的小波基函数的二维范数。
当编码端确定区块集合P后,为了尽可能快地提高选定ROI的质量,最自然的方法就是将P中区块对应的包以质量层渐进的方式发送到客户端。为了使生成的质量层能够与标准编码流相兼容,必须在质量层中包含其他不属于P的区块对ROI质量增长的贡献,这里将它们对应的包设置为空包,表明它们对ROI质量增长的贡献为零。很显然,上面提到的包排序策略不是最优的包排序策略。在给定发送字节的条件下,如果一个包排序策略能使数据序列在任意截断点都保证ROI的失真最小,那么我们就认为这个包排序策略是最优的。
在渐进压缩编码中,与一个基础的合成函数相关联。由于生成的原始编码流虽然对整幅图像而言具有最优率失真特性,但对于原始图像的一块区域来说,却并不是如此。因此,我们必须对公式(1)的失真表示乘上一个窗口放缩因子ri,其如下所示:
(2)
这里的称为能量收集因子,除了图像边界之外,均等于,即有== ,它独立于子带的样本位置k。令R表示属于ROI的图像位置的集合;Li表示受编码块Bi中的子带样本值影响的所有图像位置的集合。则有
(3)
上式可解释为同时包含在ROI和编码块Bi影响区域中的像素与编码块Bi影响区域中的像素的比值。除了在编码块极小的情况之外,上述近似是合理的。当在所支持的区域保持恒定时,上式精确成立。
理想条件下,我们可以用代替来重新生成编码流。但这里我们考虑的主要是在只压缩一次图像的情况下,根据用户选择的ROI,将已有的相关数据发送到客户端,以达到提高ROI质量的目的。为此,我们主要关注的是对现有编码流中的包进行重排序。假设每个区块中只包含每个构成子带的一个编码块,这意味着对于任意给定的区块Cc∈P其所包含的编码块有相同的窗口放缩因子rc。令pc,q表示区块Cc中的第q个包,注意到Cc中的所有编码块对pc,q的贡献都有率失真斜率位于Tq-1到Tq的范围之内,则放缩后的斜率位于rcTq-1到rcTq范围之内;因此,在斜率阈值充分接近的情况下,我们就可以以rcTq作为包排序的准则,即如果rc1Tq1>rc2Tq2,那么rc1Tq1就应该先于rc2Tq2进行发送。这里Tq表示斜率长度失真阈值,在压缩时进行选择。
实际操作中,人们希望动态生成的质量层数最少。这样不仅可以减少服务器和客户端的计算复杂度和存储要求;更重要的是,它可以减少在动态生成质量层时所附加的空包数目,从而减少了冗余数据。为此,我们引入了重定位质量层 q的概念,其对应的斜率阈值为。重定位后的质量层 q由所有包Pc,q组成,其中Pc,q满足条件。这里我们令
0 = 0 , 1 = minrcT2 ,Cc∈P,
q = minrcTq+2 ,q>1∧(c,q)s.t pc,q∈Cq-1
这样可以生成最小的质量层数目。在发送时,服务器首先发送P中包含的区块中属于第一个重定位质量层的 1所有包,然后发送P中包含的区块中属于第二个重定位质量层 2的所有包,依次发送完毕。
3渐进图像压缩编码在窄带数据传输系统中的应用
目前远程通信系统整体带宽相对紧张,远程故障可视会诊系统图像压缩编码技术必须基于窄带高保真图像压缩技术,渐进图像压缩编码技术就是其中较好的一种。采用渐进图像压缩编码技术在256kbps带宽情况下的数据传输系统中构建的远程图像传输系统结构如图3。
在系统中对渐进图像压缩编码效果进行了测试,测试使用原始图分辨率为1100€?50,测试效果见图4。
在图中,(a)是编码端待发送的原始图像,(b)、(c)和(d)分别是解码端接收到5k字节、10k字节和15k字节数据后的效果。从中可以看出,解码端接收到5k字节后解码显示得到的图像是最模糊的,随着接收数据的逐渐增多,图像也变的越来越清晰。当客户端接收到15k字节数据后,得到的图像和原始图像间的质量差别就已经不大。
4结语
渐进图像压缩编码技术为窄带数据传输系统提供了一种行之有效的图像编码和传输方案。它可以在低带宽的条件下有效地工作,并为编码端和解码端双方提供了较强的交互支持能力。
参考文献
[1] Li Zhao,Qi Wang,Yuwen He,Shiqiang Yang,and Yuzhuo Zhong,A Novel Content-Based Video Streaming Algorithm for Fine Granular Scalable Coding,E.S.Al-Shaer and G.Pacifici(Eds.):MMNS 2001,LNCS 2216,pp.210-214,2001? Springer-Verlag Berlin Heidelberg 2001.
[2] 高文,陈熙霖.计算机视觉—算法与系统原理[M].清华大学出版社,1999(2).
[3] 吴乐南.数据压缩[M].电子工业出版社,2000(6).