一种率失真性能近似最优的JPEG‑LS图像近无损压缩的码率控制方法与流程

文档序号:11157556阅读:451来源:国知局
本发明属于图像压缩编码领域,具体涉及图像的近无损预测编码的码率控制技术。
背景技术
:足不出户,阅尽天下精彩。当前,信息技术给人们的生活带来了翻天覆地的变化。而图像是其中重要媒介与手段。毫无夸张地说,图像获取与传输已成为人们日常生活的重要组成部分。此外,图像获取与传输技术在国防、农业生产与减灾防灾等领域也有着重要应用。近年来,世界大国都竞相研发、建立对地观测系统应用于军事、农业等领域,以期望在信息时代抢占先机。然而越来越高的图像分辨率导致影像传输成为一个问题。而图像压缩是解决传输问题的主要方法。现有的图像压缩技术分为无损压缩和有损压缩两类。无损压缩可以完整地恢复原始影像,重建图像与原始图像之间分毫不差,非常有利于影像信息的保存,但是无损压缩的倍率通常较低(1~2之间),因此对传输帮助有限。有损压缩允许重建信号略微失真,以此换来更高的压缩倍率,因此压缩倍率通常比无损压缩要高得多。通过调整适当的参数可以精确控制压缩倍率。然而,大倍率的有损压缩,会导致图像质量降低。图像的近无损压缩是压缩倍率与图像质量上的一个折中方案。近无损压缩往往可以在2-4倍的压缩倍率下,图像失真非常小。通常,用到图像压缩的领域往往多是近无损压缩,例如我国与巴基斯坦联合研发的遥感卫星——资源三号就采用了近无损压缩方法。无损压缩主要采用预测编码方法,比较代表性的是JPEG-LS和CALIC。而有损压缩多采用基于变换的编码方法,例如JPEG2000和SPIHT。基于整数变换的有损编码方法往往也能用于无损压缩和近无损压缩。然而基于变换的压缩编码方法在近无损和无损压缩性能上往往低于基于预测编码的方法。特别是当图像纹理丰富时,基于变换的压缩编码方法(例如JPEG2000和SPIHT)的近无损压缩性能常常比基于预测的编码方法JPEG-LS和CALIC低2dB以上。尽管预测编码比较适合于图像的近无损压缩,但是其有一个先天性的缺陷——难以实现精确的码率控制。预测编码方法一般通过对预测误差进行量化来实现近无损压缩。一般基于整数预测方法且采用统一的整型量化参数,最终的编码码率往往难以控制。这就导致预测编码不能应用在在很多对压缩码率有特殊要求的场合。侯舒维等在其专利“一种JPEG-LS图像压缩的码率控制方法”(专利申请号:201010617932.2,公开号CN102088602A)中公开了一种JPEG-LS码率控制方法。吴宪云等在其申请的专利“基于JPEG-LS标准的动态码率控制方法”(专利申请号:201210434247.5,公开号CN102938838A)中公开了一种动态的JPEG-LS码率控制方法。张毅等在其发表的论文“一种新的基于先验数据表的JPEG-LS动态码率控制算法”(电子与信息学报,36(4),823-827,2014)中提出了一种加快码率收敛到目标码率的方法。这几种码率控制方法都有一个共同特征,通过动态调整量化参数试图使整个图像所有局部区域的编码码率达到预定的码率,而未考虑编码的率失真性能。张静等在其专利“高码率下JPEG_LS码率控制方法”(专利申请号:201210156691.5,公开号CN102695955A)公开了一种高码率下的码率控制方法。该方法尽管考虑了编码的率失真性能,然而存在两个缺陷。一是其码率模型过于复杂,先计算残块的方差,再计算残差的峰度值,从而确定残差的广义高斯分布;然后再计算每块的合适的码率,再由码率计算一个最佳的量化参数,整个过程设计到多个量的估计。其二是所有残差块使用同一个量化参数,而JPEG-LS采用的是整型量化参数,这必然造成编码码率并不总能达到预定的要求。而且把码率控制精度完全寄托于码率模型的精确性不是一个现实的方案。很多国外学者也提出了JPEG-LS编码的码率控制方法。主要集中在如何降低图像失真的可见性。其主要的原理是根据人眼的视觉掩蔽效应,在图像纹理丰富的区域引入较大的噪声;而平滑区域引入较小的噪声。这些方法能够在编码码率一定的情况下降低图像失真对人眼的能见度。然而,图像的失真却是客观存在的。在很多特定的应用领域,图像的质量好坏并不是人眼能判定的。一个典型的例子就是测绘遥感领域,需要将同一区域的不同视角的图像进行匹配。这一过程一般由计算机自动完成。一般情况下,更高的图像峰值信噪比(或更低的均方误差)的图像将获得更高的匹配精度。然而,研究发现针对人眼特征优化的,以降低失真对人眼能见度为目标的码率控制方法往往导致图像峰值信噪比急剧下降(或均方误差急剧增加)。技术实现要素:JPEG-LS或者其他预测编码方法一般通过调整量化参数NEAR(为书写方便,正文部分简写为T)来调节编码的码率。然而,不同的调节方法可能导致编解码后重构的图像失真有很大的区别。鉴于上述码率控制方法的各种缺点,本发明提供一种率失真性能近似最优的JPEG-LS图像近无损压缩的码率控制方法。率失真性能近似最优的JPEG-LS图像近无损压缩的码率控制方法,预先建立通用的高码率下编码码率R关于平均绝对预测差MAD与编码量化参数T之间的数学模型,并据此在编码具体的图像过程中以块为单位实时调节T,包含以下步骤:步骤1,根据图像的特征,设定初始的编码量化参数T*;步骤2,对图像采用JPEG-LS算法进行编码,最初的编码量化参数T1设定为量化参数T*,每编码完一个块就调整一次编码量化参数,即,其中∆T确定的方法是使已编码的块所耗比特数与未编码的块估计需耗的比特数之和最接近目标码率要求,如下式:这里的k是整数,BN1→i表示编码前面i个块所耗的总比特数,PNj→i表示从第j个块到第i个块的总样点数,表示未编码部分的平均绝对预测差的估计值,N表示总块数。简单地,用一个分段模型建立编码码率R关于MAD与T之间的数学模型,具体为当MAD大于阈值Th,采用对数-线性模型,否则采用一般线性模型,其中和为受T控制的模型系数,阈值Th为0.5~2之间的值。为尽量避免不精确的估计带来的码率偏差与性能损失,步骤2中量化参数调节所使用的由下式估计:这里是前i面个已编码的块解码后求得预测残差,再计算而得的前i个块样点的平均绝对预测差,MAD是整个原图像样点的平均绝对预测差,ω(i)是一个值域为[0,1]区间的权值函数,当已编码片数i很小时,其值接近于零,而当已编码片数接近总片数时,其值接近于1。为减小预测残差提高编码性能,图像编码之前并不预先分块,整个图像预测编码是连续的,仅在编码过程中以块为单位调节量化参数。初始的编码量化参数T*的设定方法的具体为:首先对原图像的每一个样点进行预测,求得预测残差,以此估计出图像样点的平均绝对预测差MAD;再根据所得的平均绝对预测差MAD,搜寻最佳的量化参数T*作为初始量化参数,最佳即目标码率与模型码率之差最小。为避免图像块之间的依赖性可能导致的错误传播问题,另外一种编码方案是图像先分块,每个图像块采用JPEG-LS算法独立预测编码。步骤1所描述的初始的编码量化参数T*的估计方法的则为:首先对每一个块,求预测残差,并由此估计块的平均绝对预测差MADi,1≤i≤N;再搜寻最佳的量化参数T*作为初始量化参数,即使目标码率与平均模型码率之差最小。块的平均绝对预测差MADj(1≤j≤N),以定点数编码后作为副信息传递给解码端;而调节量化参数所需要的未编码部分的平均绝对预测差的估计直接由副信息计算,即。本发明提供的码率控制方法通过简单地建立通用的高码率下编码码率R关于平均绝对预测差MAD与编码量化参数T之间的数学模型,来优化局部图像的编码量化参数的调节,最终保证了近似最优的率失真性能。另外,也通过引入量化参数调节,避免了由不够精确码率模型以及在编码过程中不精确的平均绝对预测差估计而导致最终码率不能收敛到目标码率的问题。既引入码率模型来保证率失真性能,又引入量化参数调节机制来促进编码码率的收敛,是本发明提供的码率控制方法优于现有技术之所在。附图说明图1块不独立编码的近无损图像压缩的流程框图;图2MAD大于1的图像块的编码码率与MAD的对数线性关系展示图;图3块独立编码的近无损图像压缩的流程框图。具体实施方式实施方式1本实施方式提供率失真性能近似最优的JPEG-LS图像近无损压缩的码率控制方法,如图1所示。在图像编码过程中,以块为单位进行量化参数调整,通过合理地调整量化参数值,尽可能保持所有块具有一致的量化参数,并使得最后的编码码率达到预定的目标码率。本发明提供的码率控制方法的具体实施方法如下。首先,计算图像的预测残差,并由此计算样点的MAD。按照JPEG-LS所采用的中值边缘检测MED的预测方法,求得每个样点的预测残差,原图像变成了残差图像D,再按以下公式(1)计算MAD(1)式中W、H分别表示图像的宽和高。其次,根据步骤1所得的平均绝对预测差MAD,使用码率模型求尽可能逼近目标码率Rt所需的量化参数T*。研究发现,在对图像进行预测编码时,不同的区域采用相同的量化参数,整体上可以获得几乎最优的率失真性能。然而,由于量化参数是离散的,使用同样的量化参数不一定能达到预期的码率。因此,只能退而求其次,尽量采用相同的量化参数来获得近似最优的率失真性能。另外,在高码率,当量化参数一定时,图像压缩带来的失真非常接近,而且编码码率与图像的MAD存在比较稳定的相关性。将若干包含人物图像、自然风景、卫星影像及人工合成图分割成64x64大小的图块,经过编码试验来测试码率与MAD之间的关系。图2给出了MAD大于1的块的编码码率与MAD的对数关系散布图,其中(a)、(b)、(c)和(d)分别表示量化参数为0、1、2和3的关系图。这表明,在MAD大于1时,码率与MAD关系呈对数-线性关系。然而进一步的试验表明,当MAD小于1.5左右时,更近似于线性关系。为了简化计算与模型复杂度,用一个分段模型来建立码率与MAD与量化参数T之间的数学模型。这里采用一个三分段函数,如下式:(2)其中α(T)和β(T)为受T控制的模型系数。通过回归模型,求得当量化参数为0、1、2、3、4、5和6时的系数值如下表1。虽然仅列出T≤6的情况,然而已足够满足近无损压缩的需求。表1、当0≤T≤6时模型系数值列表α,β\T0123456α1(T)2.34750.96070.54840.34380.22880.11920.0549β1(T)1.08061.00640.87790.78880.71990.67650.6388α2(T)0.84750.65760.53400.48740.34190.23540.1782β2(T)1.38810.68200.63340.53170.63860.69800.7003α3(T)0.09150.09660.08170.06890.07190.02190.0064β3(T)2.90021.79671.53811.36871.17851.11601.0043这里需要说明表1中的系数值是在分块大小为64x64情况下计算的回归系数。研究表明其他分块大小会略有不同,但带来的差别很小(小于模型本身的误差)。因此,表1的系数值同样可应用于其他分块大小的情况。式(2)建立了码率与MAD与量化参数T之间的数学模型,可以用来估计图像编码的码率和最佳的编码量化参数。通过一个二分迭代过程,为编码搜索寻找最佳的量化参数T*,即寻找一个数T*,使目标码率Rt与模型码率之差最小,T*ϵ{0,1,2,3,…}。最后,根据步骤2所估计的量化参数T*,对图像进行预测编码,每编码完一个块,执行一次量化参数调节。调节后的量化参数作为下一个块编码的量化参数,即T1=T*,,其中∆T确定的方法是使已编码部分所耗比特数与未编码部分估计需耗的比特数之和最接近目标比特数,如下式:(3)这里的k是整数,BN1→i表示编码前面i个块所耗的总比特数,PNj→i表示从第j个块到第i个块的总样点数,表示未编码部分的平均绝对预测差的估计值,N表示总块数。式(3)需要估计未编码部分的平均绝对预测差。简单地,可以直接使用已编码的块部分的平均绝对预测差(由编、解码后的图像计算平均绝对预测残差而得,该值可在编码过程中同步获得)。但是在i较小时,估计带来的误差较大,会带来较大的性能损失。另外估计方法是利用整体图像的平均绝对预测差MAD,并排除前面已编码部分的绝对预测差,可获得更好的估计,即。但由于相对于原MAD1→i存在误差,当i较大时,估计带来的误差较大,导致最终编码的码率与预期的码率Rt有一定的偏差。综合两种估计的优点,前面部分块的编码使用第二种估计,后面部分块编码使用第一种估计,如下式:(4)这里的ω(i)是一个值域为[0,1]区间的权值函数,当已编码片数i很小时,其值接近于零,而当已编码片数接近总片数时,其值接近于1。优选的ω(i)设计方案为(5)按照上述三个步骤完成编码,目标码率Rt与图像的平均绝对预测差MAD作为副信息一起传给解码端,以便解码端重复编码端相同的过程。块大小是一个关键参数,一方面分成更多的块使得码率的调整能力更强;另一方面,更大的具有更稳定的统计特性。表1、2给出了本实施方法的实验结果,块是包含4096个样点的条带。由于图像作为一个整体编码,本实施方法获得了最佳的峰值信噪比。实施方式2实施方式1给出码率控制方法以块为单位进行量化参数调节,整个图像作为一个整体编码。这样可以获得很好的率失真性能。然而如果在某个样点存在错误(例如传输过程中引入的差错),将会导致错误样点后面的所有样点无法解码。为避免错误传播问题,本实施方式提供一种分块压缩模式如图3。首先对图像进行分块,然后分别对各块进行单独编码。每编码完一个块后进行一次量化参数调节,使最后整体上的编码码率逼近预定的目标码率,具体实施方法如下。首先,图像分块并计算每个块的预测残差,由此计算每块的MAD。分块后,按照JPEG-LS所采用的中值边缘检测MED的预测方法,求得每块的预测残差,原块变成了残差块Bk(假设图像被分为N块,这里1≤k≤N),按以下公式(6)计算块的MAD(6)式中Wb、Hb分别表示块的宽和高。其次,根据步骤1所得的所有平均绝对预测差MADk(1≤k≤N),估计满足目标码率Rt要求的最佳的量化参数T*。由式(2)建立的数学模型通过一个二分迭代求解过程,搜寻最佳的量化参数T*,使目标码率Rt与块的平均模型码率之差最小。最后,对每一块分别进行编码,编码后进行量化参数调节确定下一块的编码量化参数,即。第一块的量化参数T1设定为上一步所估计的最佳量化参数T*。每次调节量∆T确定的方法如式(3)。另外,由于每一块独立编码,每块的平均绝对预测差MADk(1≤k≤N)需要作为副信息一起传给解码端(每个块MAD以10比特的定点数编码即可),因此式(3)中剩余块的平均绝对预测差可以直接计算,即。为了保证每块编码的独立性,每次调节量∆T也作为副信息一起传给解码端。具体实施时∆T属于集合{-1,0,1}中的一个数,因此编码∆T所需比特数可以忽略不计。块大小是本实施例中关键参数,一方面分成更多的块会使得码率的调整能力更强,也可以将可能的码流错误限制在更小的范围。另一方面,更小的分块处理会降低预测编码的性能。可根据具体情况选择一个合适的块大小。表1、2给出了本实施方式提供的分块模式(块大小64x64)的实验结果。由于图像以分块单独编码,块的边缘样点无法做预测,导致本实施方式的峰值信噪比低于实施方式1。然而,与张毅等在其发表的论文中提出的基于先验数据表的JPEG-LS动态码率控制算法对比,本实施方式还是具有明显优势。表2.目标码率3.0的压缩结果比较表3.目标码率4.0的压缩结果比较当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1