基于JPEG2000标准的感兴趣区域编码
2008-08-20
作者:蔡文君, 李玲远, 彭义波
摘 要:概述了JPEG2000标准PART1的基本系统,介绍了其重要特点:感兴趣区域编码;介绍了一种新的ROI编码算法——PSBShift算法,它结合了JPEG2000中定义的两种标准ROI编码算法的优点。
关键词:图像编码 JPEG2000 感兴趣区域编码
JPEG2000是由ISO(国际标准化组织)和IEC(国际电工协会)联合开发的新兴图像压缩标准" title="压缩标准">压缩标准。JPEG2000因为采用了离散小波" title="小波">小波变换和最新的嵌入式编码技术,所以具备了传统的JPEG所无法比拟的优势。它具有以下主要特点:
(1)良好的低比特率压缩性能,其压缩率比JPEG高约30%左右;
(2)支持无损和有损压缩;
(3)按图像质量或分辨率渐进传输;
(4)对码流的随机存取和感兴趣区域(ROI)的编码;
(5)较强的抗误码性能。
JPEG2000图像压缩标准共有12部分,其中PART1是JPEG2000的核心系统,已在2000年12月成为国际标准,其目标是提供一个最小化的无知识产权问题的JPEG2000可用系统;PART2是扩展系统,与PART1比较,它采用的技术更复杂,性能也更优良。
1 JPEG2000 PART1的基本系统
图1和图2所示分别是JPEG2000的编码系统" title="编码系统">编码系统和解码系统。
由于解码只是编码的逆过程,这里只介绍编码系统。
如要压缩图像,首先进行预处理:对图像的无符号分量进行DC电平位移,多分量图像还要进行分量变换,再把每个分量都分割成不重叠的矩形区域,称为贴片" title="贴片">贴片(tiles)。分别对每个贴片进行压缩,主要分为四步。第一步,计算小波变换,得到小波系数子带;标准规定了整数和浮点两种小波变换;有L+1个子带分辨率层,其中L由编码器决定。第二步,如果用户指定了目标码率,则量化小波系数,码率越低,小波系数的量化就越粗糙。第三步,用MQ编码器对小波系数进行算术编码,采用EBCOT算法。该算法的原理是将每个子带分成块,称为码块(code-blocks),分别编码。将几个码块的编码结果打成一个包(packet),是位流的分量。第四步,比特流组织,将包连同许多标记(markers)一起写进位流。
2 感兴趣区域的编码
感兴趣区域(ROI)编码是JPEG2000标准中的一个新特点,即允许感兴趣区域(ROI)比图像的其他区域(BG)有更高的质量编码。ROI编码在某些应用中很重要,其图像中的某一部分比其他部分显得更重要,例如:
(1)客户机/服务器模式:服务器一开始只传输一幅图像的低质量或低分辨率的版本,客户机选择图像的一块区域作为ROI区域,这样服务器就只需要传输能够细化(也就是提高空间分辨率或质量)ROI区域的数据了。在浏览图像数据库时这是一个很有用的功能,特别是当存储的图像的分辨率很高和图像很大(大于2兆像素)时,客户机不需要以最高的分辨率下载整幅图像。
(2)人脸" title="人脸">人脸图像:在浏览数码相册时,人们通常最感兴趣的只是照片中的人脸部分。采用一种自动人脸检测算法,一幅图像中人脸部分就能被编码成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位平面没有重叠的时候,Maxshift算法可以看作是一般位移法的特例,也就是位移因子必须满足:
s≥max(Mb)
Mb通常是子带b中的幅度位平面的最大值,max(Mb)就是所有系数的最大幅度。在Maxshift算法中ROI的形状信息隐含在解码器中,这样任意形状的ROI它都能支持。而且,它能灵活地处理不同的小波子带。Maxshift算法最主要的局限在于,它不能通过调整位移因子而灵活地控制ROI区域与BG区域之间的质量的相对重要性。
3 一种新的ROI编码算法——PSBShift算法
考虑到这两种标准ROI编码方法的各自局限性,本文介绍了一种新的、灵活地位移方法,可以称为PSBShift算法(Partial Significant Bitplanes Shift),它结合了两种标准算法的优点,能够有效地压缩多个优先级别不同的感兴趣区域。
此方法主要基于这样一个事实,即在高比特率下,ROI区域和BG区域都能以高质量进行编码,并且两者的区别并不太值得注意;而在低比特率下,图像中的ROI区域希望有比BG区域更高的编码质量。因此只要在ROI区域的最高有效位平面中分离出部分位平面,就能调整ROI区域与BG区域之间的质量的相对重要性了。也就是说只需要位移ROI系数最高有效位平面中的一部分,而不用像标准中的方法那样位移所有的位平面。图3(d)中说明了PSBShift算法(这里s=6)。ROI系数的所有位平面被分成了两部分:最高有效位平面(the most 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×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。因此PSBShift算法在某种程度上能概括Maxshift算法,而不同于一般位移法。
与一般位移法相比,一般位移法只支持矩形和椭圆的ROI形状,PSBShift算法可以编码任意形状的ROI而不需要对形状信息进行编码。PSBShift算法能够像Maxshift算法一样,在不同的小波子带定义不同的ROI。与Maxshift算法不同的是,PSBShift算法也能通过使用不同的位移因子灵活地调整ROI区域与BG区域之间的质量的相对重要性,这种灵活性能够针对不同的应用改善ROI区域的编码质量。例如,图5中所示的“Barbara”图像,它是可逆编码(在所有子带中都有ROI/BG的区别)的,并且以0.5bpp的比特率分别用Maxshift算法(s=12)和PSBShift算法(s=10)解码。可以看到在ROI区域两种方法没有视觉上的区别,而在BG区域PSBShift算法比Maxshift算法提供了更好的质量。如果ROI区域需要比BG区域更高的质量,可以使用更大的位移因子,结果将会更接近Maxshift算法。因此,PSBShift算法可以针对不同的应用,设计出有效和灵活的ROI编码。
(2)多个ROI区域的编码
多个ROI区域的编码需要根据多个ROI区域在一幅图像中不同的优先级采用不同的质量对它们进行编码。一般位移法也支持多个ROI区域的编码,但是需要对ROI形状的信息编码并且对形状有限制。Maxshift算法也可以支持多个ROI区域的编码,不过它要通过大幅度提高小波系数的动态范围来实现,这样将会明显地降低压缩效率。PSBShift算法能够有效地支持多个ROI区域的编码,它通过对不同的ROI区域采用位移不同数量的最高有效位平面来实现。
例如,“Bike”图像(2048×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编码算法——PSBShift算法。这种算法有四个基本优点:(1)它支持任意形状的ROI编码,而不需要编码形状的信息; (2)它允许不同的小波子带有不同的ROI定义; (3)采用合适的位移因子可以控制ROI区域与BG区域的之间的相对重要性;(4)在低比特率下,能够对一幅图像中的具有不同优先级的多个ROI区域进行有效的编码。
参考文献
1 ISO/ISC JTC 1/SC 29/WG 1 (ITU-T SG8) JPEG2000 Part I Final Committee Draft Version 1.0, Mar.2000
2 ISO/ISC JTC 1/SC 29/WG 1(ITU-T SG8) JPEG2000 Part II Final Committee Draft Version 1.0, Dec.2000
3 C. Christopoulos, A. Skodras, T. Ebrahimi. The JPEG2000 still image coding system:An overview”, IEEE Trans. Consumer Electronics,2000;46(4):1103~1127
4 C. Christopoulos, J. Askelf, and M. Larsson. Effcient methods for encoding regions of interest in the upcoming JPEG2000 still image coding standard. IEEE Signal Processing Letters, 2000;7(9):247~249
5 R. Grosbois,D. S. Cruz, T. Ebrahimi. New approache to JPEG2000 compliant region-of-interest coding. in Proc. of the SPIE 46th Annual Meeting, Applications of Digital Image Processing, San Diego, 2001;XXIV(CA)
6 Z. Wang and A. C. Bovik. Bitplane-by-bitplane shift (BbB Shift)- a suggestion for JPEG2000 region of interest coding. IEEE Signal Processing Letters, 2002;9(5):160~162
7 Lijie Liu and Guoliang Fan. A New JPEG2000 Region-of-Interest Image Coding Method: Partial Significant Bitplanes Shift. IEEE Signal Processing Letters