编程语言及工具
JPEG2000 标准是利用了离散小波变换技术和嵌入式编码技术一EBCOT,它不但提高了压缩比,而且提供了很多新编码方法。感兴趣区域编码(ROI)便是新编码方法之一。ROI 编码不仅较好地保持了图像的视觉效果,而且更大限度地压缩了图像,这非常有利于解决信道拥挤,和存储空间过大的问题。
在使用图像过程中,人们通常只对图像的某一区域关注较多,我们称之为感兴趣区域,而对其他区域关注较少,我们称之为背景区域。于是我们在图像编码过程中,可以对关注较多的感兴趣区域进行高质量的编码,而对背景区域较低质量的编码,从而提高图像压缩比,这就能更进一步地协调好图像质量与压缩比的矛盾,这就是ROI 编码技术。
1 JPEG2000 标准中的两种感兴趣区域编码方法JPEG2000 中给出了两种感兴趣区域编码算法:一般位移法和最大位移法。
1.1 一般位移法一般位移法就是对于一个位移因子S,就是背景区域内的系数右移S 位,这样做是使得感兴趣区域的一部分系数比背景区域的系数的位平面要高,如图1(c)。在编码时,位平面高的会先于位平面低的先编码,于是感兴趣区域的一部分系数就会先编码和传输,然后才是剩余一部分感兴趣区域位平面和背景区域位平面一起编码传输。
在一般位移法中,位移因子的选择范围是非常大的,可以根据不同的需要来确定S 的值。当位移因子较大时,感兴趣区域位平面和背景区域位平面相对较分离,编码时几乎是感兴趣区域都编码完了才开始编码背景区域的位平面。当位移因子较小时,将会有较多的感兴趣区位平面和背景区域位平面一起编码传输。
一般位移法也有它的不足之处,就是编码时,需要把感兴趣区域的形状参数一起编码和传输出去,这就增加了编解码的难度,而且形状参数的编码也会挤占信道,也就降低了编码效率。JPEG2000 标准中,只能满足对椭圆和矩形的感兴趣区域编码,这在一定程度上限制了感兴趣编码的广泛应用。
1.2 最大位移法最大位移法中,所有量化系数输入到编码器后,编码器根据输入的量化系数,生产一个特定的位移因子S,次位移因子S 可以能使得感兴趣区域位平面和背景区域位平面完全分离开,没有任何重叠部分,如图1(b)。也就是此时位移因子得满足:S逸max(Mb),Mb是所有位平面幅度的最大值。
最大位移法中,不需要对形状信息进行编码,所以可以节约一些码流。但是由于位移因子S 的值是唯一固定的,所以不能调节感兴趣区域和背景区域的相对图像质量。
2 通用的部分位平面偏移方法正是由于标准中的两种ROI 编码都有一定不足,于是广大学者对ROI 编码进行了很多的研究,探索出了一下新的编码算法。本文下面就要介绍一种新的感兴趣编码算法:通用的部分位平面偏移方法[4](Generalized PartialBitplanes Shift Method,GPBShift)。
标准方法中是一次完成位平面的移动,但GPBShift方法是将ROI 的位平面系数分割为两段,将BG 的位平面系数也划分为两段,编码时按照不同的图片质量需要对四个位平面段进行相应的移动。
图2 是GPBShift 方法的位平面偏移示意图。其中S1=3,表示ROI 系数中被划分较高位平面的个数;S2=6,是BG 系数中被划分较高位平面的个数。在图2 中,位平面的由上到下的序号依次为1,2,3,4,5,……。在编码时,GPBShift的位平面偏移方法为:淤对于ROI 系数中的某一位平面b:如果b臆S1,则不偏移;否则,下移到位平面b+S1。
于对于BG 系数中的某一位平面b:如果b臆S2,下移到位平面b+S1;否则,下移到位平面b+S1+[max(Mb)-S2]。
解码时,操作刚好与上述位移方法相反。
在运用此方法时,尽管理论上S1 和S2 可以自由地取0 到max(Mb)之间的任意整数,但取值不当,会影响编码效率和系统的可靠性。例如:当S1》S2,位平面就出现“空闲”的状态,如图3 所示。这样就扩大了系数的变化范围,降低了系数的准确性,而且会影响编码的速度。所以实际应用中要求S1臆S2。GPBShift 方法运用JPEG2000 的ROI 编码,兼顾了其他改进算法的优点,其主要优点如下:淤对ROI 的形状没有要求,不用进行形状编/解码,降低了对编/解码的要求,节约了数据量;于可以对分辨率不同ROI,运用不同的小波子带;盂通过设定不同的S 值,能自由地调节ROI 和BG 重建图像的相对质量;榆多个不同分辨率的ROI 可以存在于同一副图像中。
一种新的ROI编码算法——PSBShift算法,它结合了JPEG2000中定义的两种标准RIO编码算法的优点。 关键词:图像编码 JPEG2000 感兴趣区域编码 JPEG2000是由ISO(国际标准化组织)和IEC(国际电工协会)联合开发的新兴图像压缩标准。JPEG2000因为采用了离散小波变换和最新的嵌入式编码技术,所以具备了传统的JPEG所无法比拟的优势。
它具有以下主要特点:
(1)良好的低比特率压缩性能,其压缩率比JPEG高约30%左右;
(2)支持无损和有损压缩;
(3)按图像质量或分辨率渐进传输;
(4)对码流的随机存取和感兴趣区域(ROI)的编码;
(5)较强的抗误码性能。
JPEG2000图像压缩标准共有12部分,其中PART1是JPEG2000的核心系统,已在2000年12月成为国际标准,其目标是提供一个最小化的无知识产权问题的JPEG2000可用系统;PART2是扩展系统,与PART1比较,它采用的技术更复杂,性能也更优良。图1、21 JPEG2000 PART1的基本系统 图1和图2所示分别是JPEG2000的编码系统和解码系统。 由于解码只是编码的逆过程,这里只介绍编码系统。 如果压缩图像,首先进行预处理:对图像的无符号分量进行DC电平位移,多分量图像还要进行分量变换,再把每个分量都分割成不重叠的矩形区域,称为贴片(tiles)。分别对每个贴片进行压缩,主要分为四步。
第一步,计算小波变换,得到小波系数子带;标准规定了整数和浮点两种小波变换;有L+1个子带分辨率层,其中L由编码器决定。
第二步,如果用户指定了目标码率,则量化小波系数,码率越低,小波系数的量化就越粗糙。
第三步,用MQ编码器对小波系数进行算术编码,采用EBCOT算法。该算法的原理将每个子带分成块,称为码块(code-blocks),分别编码。将几个码块的编码结果打成一个包(packet)是位流的分量。
第四步,比特流组织,将包连同许多标记(markers)一起写进位流。 2 感兴趣区域的编码 感兴趣区域(ROI)编码是JPEG2000标准中的一个新特点,即允许感兴趣区域(ROI)比图像的其他区域(BG)有更高的质量编码。ROI编码在某些应用中很重要,其图像中的某一部分比其他部分显得重要,
例如: (1)客房机/服务器模式:服务器一开始只传输一幅图像的低质量或低分辨率的版本,客房机选择图像的一块区域作为ROI区域,这样服务器就只需要传输能够细化(也就是提高空间分辨率或质量)ROI区域的数据了。在浏览图像数据库时这是一个很有用的功能,特别是当存储的图像的分辨率很高和图像很大(大于2兆像素)时,客户机不需要以最高的分辨率下载整幅图像。图3(2)人脸图像:在浏览数码相册时,人们通常最感兴趣的只是照片中的人脸部分。采用一种自动人脸检测算法,一幅图像中人脸部分就能被编码成ROI区域,并且能比背景区域更精确地存储。这种方法也能用于客房机/服务器模式浏览图像,或者用于数码照相机中减少存储人脸图像的比特数。 JPEG2000标准中定义了两种ROI算法:Maxshift算法和一般位移法。其中,Maxshift算法被JPEG2000的PART1所采纳,一般位移法被JPEG2000的PART2所采纳。 一般位移法(Generic scaling based method)是选择一个适当的位移因子s,使位于ROI区域之外的背景(BG)系数都右移s位。这样ROI区域的最有效的位平面就高于背景系数的所有位平面,如图3(b)。在嵌入式编码/解码过程中,这些ROI区域的位平面会先于BG区域的位平面被编码、传输和解码(仍有一些ROI区域的位平面会与BG区域的位平面一起编码、传输和解码,这取决于位移因子s)。如果码流被截断或者编码/解码过程没有全部完成,ROI区域的重建图像质量会优于BG区域。
在ROI区域的重建质量得到保证的前提下,ROI技术可以节约带宽,减少计算开销。 由于可以自由地选择位移因子,一般位移法能够很好地控制ROI区域与BG区域之间的质量的相对重要性。但是,一般位移法必须对ROI的形状信息进行编码,现有标准限制了ROI的形状只能是矩形或椭圆形。另一方面,在一般位移法中,不同的小波子带必须使用同一个ROI区域的定位,这在某些应用中是不希望出现的。 在Maxshift算法(Maxshift method)中,位移因子s不是预先选定的。在编码端,所有经量化的小波系数被逐一扫描。位移因子s的选择必须使ROI区域的最小系数大于BG区域的最大系数,如图3(c)。
在解码端,接收到的比s小的系数都是BG区域的系数,反之则是ROI区域的系数。 当一般位移法中的位移因子增大到BG位平面与ROI平面没有重叠的时候,axshift算法可以看作是一般位移法的特例,也就是位移因子必须满足: s≥max(Mb) Mb通常是子带b中的幅度位平面的最大值,max(Mb)就是所有系数的最大幅度。在Maxshift算法中ROI的形状信息隐含在解码器中,这样任意形状的ROI它都能支持。而且,它能灵活地处理不同的小波子带。Maxshift算法最主要的局限在于,它不能通过调整位移因子而灵活地控制ROI区域与BG区域之间的质量的相对重要性。图43 一种新的ROI编码算法——PSBShitf算法 考虑到这两种标准ROI编码方法的各自局限性,本文介绍了一种新的、灵活地位移方法,可以称为PSBShift算法(Partial Significant Bitplanes Shift),它结合了两种标准算法的优点,能够有效地压缩多个优先级别不同的感兴趣区域。 此方法主要基于这样一个事实,即在高比特率下,ROI区域和BG区域都能以高质量进行编码,并且两者的区别并不太值得注意;而在低比特率下,图像中的ROI区域希望有比BG区域更高的编码质量。因此只要在ROI区域的最高有效位平面中分离出部分位平面,就能调整ROI区域与BG区域之间的质量的相对重要性了。也就是说只需要位移ROI系数最高有效位平面中的一部分,而不用像标准中的方法那样位移所有的位平面。图3(d)中说明了PSBShift算法(这里s=6)。ROI系数的所有位平面被分成了两部分:最高有效位平面(themost significant bitplanes)和剩余有效位平面(the residual significant bitplanes)。最高有效位平面的数量与位移因子的大小相等,剩余有效位平面的数量Nlsbs表示为:
在编码端,ROI系数的最高有效位平面不位移,而ROI系数的剩余有效平面与BG系数一起右移(即向LSB方向移)。在解码端,可以像Maxshift算法一样识别ROI系数。低于第s个位平面的所有位平面提升s个位平面,再结合高于第s个位平面的所有位平面。这就是与Maxshift算法不同的地方,在Maxshift算法中没有“结合”这一步操作。既然BG系数的高于第s个位平面的所有位都是0,那么这种修改过的解码器也可以用于处理由Maxshift算法生成的标准代码流。
(1)PSBShift ROI编码 PSBShift 算法能够编码使一幅图像中的ROI区域比BG区域的质量高,或者使ROI区域与BG区域的质量一样。如图3(d)所示,如果在编码/解码第2s个最高有效位平面之前,编码位流被截断或者编码/解码过程被终止,ROI区域将会有比BG区域更高的质量。在第2s个最高有效位平面被编码/解码后(ROI区域的位平面和BG区域的位平面重叠时),ROI区域和BG区域将以相同的质量编码。位移因子s控制着ROI区域和BG区域的相对质量。 例如,对一幅“Barbara”图像(720%26;#215;576,8bpp)应用不同的位移因子(s=0、5、9、13),采用可逆的编码模式编码,在脸部定义一个矩形的ROI区域。如图4所示,随着比特率的增加,ROI区域和BG区域的失真减少(distortion reduction)。当s很小时,例如s=5,ROI区域和BG区域的质量没有太大的不同(图4(b))。随着位移因子的增加,例如s=9(图4(c)),在比特率的较大变换范围内,ROI区域都有比BG区域更高的编码质量。当所有位平面都被解码,就达到了无损解码。当s≥马max(Mb)(这里max(Mb)=12),结果与Maxshift算法一样,如图4(d)中s=13。因此PSBShitf算法在某种程度上能概括Maxshift算法,而不同于一般位移位。
与一般移法相比,一般位移法只支持矩形和椭圆的ROI形状,PSBShift算法可以编码任意形状的ROI而不需要对形状信息进行编码。PSBShift算法能够像Maxshift算法一样,在不同的小波子带定义不同的ROI。与Maxshift算法不同的是,Maxshift 算法也能通过使用不同的位移因子灵活地调整ROI区域与BG区域之间的质量的相对重要性,这种灵活性够针对不同的应用改善ROI区域的编码质量。例如,图5中所示的“Barbara”图像,它是可逆编码(在所有子带中都有ROI/BG的区域)的,并且以0.5bpp的比特率分别用Maxshift算法(s=12)和Maxshift 算法(s=10)解码。可以看到在ROI区域两种方法没有视觉上的区别,而在BG区域Maxshift算法比Maxshift算法提供了更好的质量。如果ROI区域需要比BG区域更高的质量,可以使用更大的位移因子,结构将会更接近Maxshift算法,因此,Maxshift算法可以针对不同的应用,设计出有效和灵活的ROI编码。
(2)多个ROI区域的编码 多个ROI区域的编码需要根据多个ROI区域在一幅图像中不同的优先级采用不同的质量对它们进行编码。一般位移法也支持多个ROI区域的编码,但是需要对ROI形状的信息编码并且对形状有限制。Maxshift算法也可以支持多个ROI区域的编码,不过它要通过大幅度提高小波系数的动态范围来实现,这样将会明显地降低压缩效率。Maxshift算法能够有效地支持多个ROI区域的编码,它通过对不同的ROI区域采用位移不同数量的最高有效位平面来实现。
例如,“Bike”图像(2048%26;#215;2560,8bpp)中定义了三个ROI区域,如图6所示的ROI-1、ROI-2和ROI-3。选择最高有效位平面的提升数量s1》s2》s3,例如s1=10,s2=8,s3=6,存贮在码流里的位移因子是s=max(s1,s2,s3)。 JPEG2000是一个非常有用的新一代静止图像的压缩标准。本文主要介绍了JPEG2000标准的基本系统和它的一个重要特点:感兴趣区域编码。在分析了两种标准算法(Maxshift算法和一般位移法)的优缺点后,介绍了一种新的ROI编码算法——Maxshift算法。
这种算法有四个基本优点:
(1)它支持任意形状的ROI编码,而不需要编码形状的信息;
(2)它允许不同的小波子带有不同的ROI定义;
(3)采用合适的位移因子可以控制ROI区域与BG区域的之间的相对重要性;
(4)在低比特率下,能够对一幅图像中的具有不同优先级的多个ROI区域进行有效的编码。
全部0条评论
快来发表一下你的评论吧 !