新闻中心

EEPW首页 > 设计应用 > 基于JPEG2000标准的感兴趣区域编码

基于JPEG2000标准的感兴趣区域编码

作者:时间:2007-03-09来源:网络收藏
摘要:概述了JPEG2000标准PART1的基本系统,介绍了其重要特点:感兴趣区域编码;介绍了一种新的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区域进行有效的编码。

评论


相关推荐

技术专区

关闭