JPEG2000算法1引言JPEG2000是由ISO/IEC,JTC1/SC29/WG1制定的一种最新的图像小压缩标准,此标准采用了很先进的压缩技术并在可伸缩压缩图像及灵活性方面有许多先进的特征。其系统功能比JPEG标准优越,尤其是JPEG2000采用的是离散小波变换(DWT)代替了JPEG中采用的离散余弦变换(DCT),并采用了最新的编码算法来支持灵活性。这样许多应用只需用单一码流提供。2JPEG2000标准组成JPEG2000由13个部分组成,前6部分在2004年都已公布为国际标准。JPEG2000第一部分是核心编码系统,定义了核心编码且明确了其在标准在其它部分的使用。还规定了一种简单的文件格式JP2。JPEG2000第二部分一扩展部分。JPEG2000第三部分定义了运动JPEG2000(MJP2),它主要是以第一部分的附加文件格式技术为基础。编码器明显比MPEG标准简单(由于没有使用运动估计),主要应用于如快速捕捉模式的数字摄影、视频编辑和数字电影的归档和发行。JPEG2000第四部分定义一致性测试。JPEG2000第五部分定义两种参考软件来实现第一部分,一种是由TJ2000工作组提供的JAVA工具,另一种是C工具,称作JASPER。JPEG2000第六部分定义了一种混合图像文件格式。Part8一JPSEC与JPEG2000安全应用有关;Part9一JPIP为分配有关JPEG2000应用定义了一套高级网络协议;Part10一JP3D与三维数据和浮点数据压缩有关;PartlI一JPWL使用JPEG2000处理无线应用;Part12一是对第三部分的增补;Part13一是最近建立的一个新部分(2004年3月),主要是对JPEGZ000编码器进行标准化。3JPEG2000核心算法本节主要介绍JPEG2000图像编解码系统。其编码器的框图如图1所示,解码器的框图如图2所示。编码过程主要分为以下几个过程:预处理、核心处理和位流组织。预处理部分包括对图片的分片、直流电平(DC)位移和分量变换。核心部分由离散小波变换、量化和摘编码组成。位流组织部分则包括区域划分、码块、层和包的组织。摘编码率控制码预处理分层组织嵌前向小波变前向DC嵌入式码块前向分量变换量化入式码块位4电平位移编码流图1JPEG2000编码反向小波反向量化反向DC解码反向量化变换变换电平位移图2JPEG2000解码1
1 JPEG2000 算法 1 引言 JPEG2000是由ISO/IEC,JTC1/SC29/WG1制定的一种最新的图像小压缩标准,此标准采用了很先进 的压缩技术并在可伸缩压缩图像及灵活性方面有许多先进的特征。其系统功能比JPEG标准优越,尤其 是JPEG2000采用的是离散小波变换(DWT)代替了JPEG中采用的离散余弦变换(DCT),并采用了最新 的编码算法来支持灵活性。这样许多应用只需用单一码流提供。 2 JPEG2000 标准组成 JPEG2000由13个部分组成,前6部分在2004年都已公布为国际标准。JPEG2000第一部分是核心编 码系统,定义了核心编码且明确了其在标准在其它部分的使用。还规定了一种简单的文件格式JP2。 JPEG2000第二部分—扩展部分。 JPEG2000第三部分定义了运动JPEG2000(MJP2),它主要是以第一部分的附加文件格式技术为基 础。编码器明显比MPEG标准简单(由于没有使用运动估计),主要应用于如快速捕捉模式的数字摄影、视 频编辑和数字电影的归档和发行。 JPEG2000第四部分定义一致性测试。 JPEG2000第五部分定义两种参考软件来实现第一部分,一种是由TJ2000工作组提供的JAVA工具,另 一种是C工具,称作JASPER。 JPEG2000第六部分定义了一种混合图像文件格式。 Part8一JPSEC与JPEG2000安全应用有关; Part9一JPIP为分配有关JPEG2000应用定义了一套高级网络协议; Part10一JP3D与三维数据和浮点数据压缩有关; Partll—JPWL使用JPEG2000处理无线应用; Part12—是对第三部分的增补; Part13—是最近建立的一个新部分(2004年3月),主要是对JPEGZ000编码器进行标准化。 3 JPEG2000 核心算法 本节主要介绍JPEG2000图像编解码系统。其编码器的框图如图1所示,解码器的框图如图2所示。 编码过程主要分为以下几个过程:预处理、核心处理和位流组织。预处理部分包括对图片的分片、直流 电平(DC)位移和分量变换。核心部分由离散小波变换、量化和熵编码组成。位流组织部分则包括区域 划分、码块、层和包的组织。 前向DC 电平位移 前向小波变 换 量化 嵌入式码块 编码 分层组织嵌 入式码块位 流 前向分量变换 码率控制 预处理 熵编 码 图 1 JPEG2000 编码 熵解码 反向量化 反向小波 变换 反向量化 变换 反向DC 电平位移 图 2 JPEG2000 解码
3.1预处理在小波变换之前的操作归为预处理,后处理则为预处理的逆过程。图像预处理过程为不同类型的图像提供了一个统一的接口,便于后续使用相同的编码器进行处理,这是将多种类型的图像压缩加入到统一框架中的一个关键步骤。该过程由图像分片、直流平移和分量变换这三部分组成,其处理基本过程如图3所示。万流A原图像CU-+位变B-移换图3JPEG2000图像预处理基本过程(1)图像片(tile)在编码前,首先对源图像进行分割,分割成大小相等、互不重叠的矩形块一tile(位于图像边缘的tile大小可以不同),这种分割有两种作用:(1)以tile为基本单位独立编码,可以处理较大的图像,且可节省存储空间。(2)可在图像特定位置截取出具有特定宽高比的重构子图。接下来,将每个tile看成是小的源图像,分别进行图1所示的单独编码。(2)DC电平位移在对每一图像片进行正向离散小波变换之前,都要进行直流电平位移。目的是在解码时,能够从有符号的数值中正确恢复重构无符号样本值。直流电平位移是对仅有无符号数组成的图像片的像素进行的。如果无符号图像用P位二进制数表示,则对这些无符号分量样本值减去22-1,电平位移并不影响图像的质量。在解码端,在离散小波反变换之后,对重构的图像进行反向直流电平位移。(3)分量变换对于多分量图像或彩色图像,在小波变换之前还必须逐点进行分量变换。其目的是尽量去除各分量间的相关性,进而提高压缩编码效率。分量变换可以采取可逆分量变换(RCT)或不可逆分量变换(ICT)。可逆分量变换把图像数据从RGB空间变换到YUV空间,其适于无损压缩:而不可逆分量变换把图像数据从RGB空间变换到YCbCr空间,其适于有损压缩。3.2核心处理3.2.1小波变换小波变换具有对信号进行多分辨率分析和反映信号局部特征的特点。通过对图像片进行离散小波变换,得到小波系数图像,小波系数图像由儿种子带系数图像组成,不同子带的小波系数反映图像片不同空间分辨率的特性。通过多级小波分解,小波系数既能表示图像片中局部区域的高频信息(如图像边缘),也能表示图像片中的低频信息(如图像背景)。JPEG200标准中的DWT可以是不可逆的,也可是可逆的;其进行变换的基本单位是分片(tile),即是对每个分片独立进行Mallat塔式小波分解。经过大量的测试,JPEG2000标准选用了两种滤波器:LeGall5/3滤波器和Daubechies9/7滤波器,其中5/3小波变换是整数集到整数集的变换,算法复杂度低且运算量小,可运用于无损和有损压缩,而9/7小波变换是浮点计算,其计算复杂度比5/3小波变换高,其主要用于有损压缩。这一点保证了JPEG2000能够同时实现无损和有损压缩两种方式。提升小波变换过程则是首先对二维图像数据进行方向与列方向上的一维滤波,然后把滤波后的数据进行解交织,得到相应的LL、HL、LH和HH子带,其中LL子带再送入下一级DWT,故N级小波变换共生成3N+1个子带。与正向提升小波变换过程相反,反向提升小波变换则先把LL、HL、LH和HH子带交织成一个二维矩阵,然后分别做行方向与列方向上的反向一维滤波。在JPEG2000标准中,提倡使用提升CDF9/7小波,它是一个双正交小波基。下面以此为例图解提升小波变换的具体过程。CDF9/7小波提升方案正反变换步骤如图4所示,5个系数分别为:2
2 3.1 预处理 在小波变换之前的操作归为预处理,后处理则为预处理的逆过程。图像预处理过程为不同类型的图 像提供了一个统一的接口,便于后续使用相同的编码器进行处理,这是将多种类型的图像压缩加入到统 一框架中的一个关键步骤。该过程由图像分片、直流平移和分量变换这三部分组成,其处理基本过程如 图3所示。 直 流 位 移 分 量 变 换 原图像 分片 R G B R’ G’ B’ Y U V 图 3 JPEG2000 图像预处理基本过程 (1)图像片(tile) 在编码前,首先对源图像进行分割,分割成大小相等、互不重叠的矩形块—tile(位于图像边缘的 tile大小可以不同),这种分割有两种作用:(1)以tile为基本单位独立编码,可以处理较大的图像, 且可节省存储空间。(2)可在图像特定位置截取出具有特定宽高比的重构子图。接下来,将每个tile 看成是小的源图像,分别进行图1所示的单独编码。 (2)DC电平位移 在对每一图像片进行正向离散小波变换之前,都要进行直流电平位移。目的是在解码时,能够从有 符号的数值中正确恢复重构无符号样本值。直流电平位移是对仅有无符号数组成的图像片的像素进行 的。 如果无符号图像用P位二进制数表示,则对这些无符号分量样本值减去 ,电平位移并不影响图 像的质量。在解码端,在离散小波反变换之后,对重构的图像进行反向直流电平位移。 (3)分量变换 对于多分量图像或彩色图像,在小波变换之前还必须逐点进行分量变换。其目的是尽量去除各分量 间的相关性,进而提高压缩编码效率。分量变换可以采取可逆分量变换(RCT)或不可逆分量变换(ICT)。 可逆分量变换把图像数据从RGB空间变换到YUV空间,其适于无损压缩;而不可逆分量变换把图像数据从 RGB空间变换到YCbCr空间,其适于有损压缩。 3.2 核心处理 3.2.1小波变换 小波变换具有对信号进行多分辨率分析和反映信号局部特征的特点。通过对图像片进行离散小波变 换,得到小波系数图像,小波系数图像由几种子带系数图像组成,不同子带的小波系数反映图像片不同 空间分辨率的特性。通过多级小波分解,小波系数既能表示图像片中局部区域的高频信息(如图像边缘), 也能表示图像片中的低频信息(如图像背景)。 JPEG200 标准中的DWT可以是不可逆的,也可是可逆的;其进行变换的基本单位是分片(tile),即 是对每个分片独立进行Mallat塔式小波分解。经过大量的测试,JPEG2000标准选用了两种滤波器:Le Gall5/3滤波器和 Daubechies 9/7滤波器,其中5/3小波变换是整数集到整数集的变换,算法复杂度低且 运算量小,可运用于无损和有损压缩,而9/7小波变换是浮点计算,其计算复杂度比5/3小波变换高,其 主要用于有损压缩。这一点保证了JPEG2000能够同时实现无损和有损压缩两种方式。提升小波变换过程 则是首先对二维图像数据进行方向与列方向上的一维滤波,然后把滤波后的数据进行解交织,得到相应 的LL、HL、LH和HH子带,其中LL子带再送入下一级DWT,故N级小波变换共生成3N+1个子带。与正向提升 小波变换过程相反,反向提升小波变换则先把LL、HL、LH和HH子带交织成一个二维矩阵,然后分别做行 方向与列方向上的反向一维滤波。 在JPEG2000标准中,提倡使用提升CDF9/7小波,它是一个双正交小波基。下面以此为例图解提升 小波变换的具体过程。 CDF9/7小波提升方案正反变换步骤如图4所示,5个系数分别为:
a=1.58613,β=-0.05298,Y=0.88291,8=0.44351,P=1.14960X(n)奇偶分解(1+1Vdn奇偶合成+1+(1+z)4+图4CDF7小波提升方案正反变换步骤利用二维小波变换可将图像分解为4个子带,依次为低频、行高频、列高频及对角高频子带,其频带分布如图5所示。在图5b图中,左上部分是低频子带,右上部分是行高频子带HL,左下部分是列高频子带LH,右下部分是对角高频子带HH。图像经小波变换后生成的小波系数的能量与原图像的能量相等,只是能量进行了重新分配,绝大多数能量则集中在低频,所以每次只对上一级的低频部分进行小波变换。多级小波分解后,小波系数在相邻两级分辨率之间存在较强位置相关性,通过多分辨率表示,对位置信息进行编码,可反映图像的部分边缘信息,在保证压缩率的基础上,可使重构的图像具有更好的主观质量,且可以避免JPEG标准因采用DCT变换而造成的方块效应。而且,对图像信号进行多级小波分解,可得到不同空间分辨率的图像逼近,使得压缩码流具有空间分辨率可扩展性,这一特点允许压缩码流在不同的分辨率解码器上解码、显示。两级小波变换一级行变换一级行列变换图5图像小波分解示意图3.3.2量化量化的关键是根据变换后图像的特征、重构图像质量要求等因素设计合理的量化步长。量化操作是有损的,会产生量化误差。不过一种情况除外,那就是量化步长是1、并且小波系数都是整数,利用可恢复整数5/3拍小波滤波器进行小波变换得到的结果就符合这种情况。JPEG2000核心系统采用恒域标量量化,恒域宽度是其他区间的两倍,为的是获得最理想的嵌入式结构使SNR可伸缩。在JPEG2000标准中,对每一个子带可以有不同的量化步长。但是在一个子带中只有一个量化步长。量化以后,每一个小波系数有两部分来表示:符号和幅值。3.3.3焰编码图像经过变换、量化后,在一定程度上减少了空域和频域上的穴余度,但是这些数据在统计意义上还存在一定的相关性,为此采用摘编码来消除数据间的统计相关。将每个量化后的子带分割成小矩形块,成为码块,每个码块独立编码。这就是嵌入式块编码(EBCOT)。如图2所示,EBCOT采用两层编码策略,首先使用基于上下文的算术编码器,每个码块进行独立的嵌入式码块编码,得到码块的嵌入式压缩位流。然后,根据率失真优化原则,采用PCRD(PostCompressionRateDistortion)优化算法思想,将所有码块的压缩位流适当截取,织成具有不同质量级的压缩位流层。每一层上的压缩位流连同其前面的所有层的压缩位流,可重构出一定质量的图像。在分层组织压缩位流时,须对每个码块在每一层上的贡献信息进3
3 α=1.58613,β=-0.05298,γ=0.88291,δ=0.44351,Ρ=1.14960。 奇偶分解 α(1+z) Β(1+1/z) γ(1+z) δ(1+1/z) + + + + Ρ 1/Ρ S(n) d(n ) X(n) Ρ 1/Ρ S(n) d(n ) -δ(1+z) -γ(1+1/z) -Β(1+1/z) α(1+z) 奇偶合成 + + + + X(n) 图 4 CDF7 小波提升方案正反变换步骤 利用二维小波变换可将图像分解为4个子带,依次为低频、行高频、列高频及对角高频子带,其频 带分布如图5所示。在图5b图中,左上部分是低频子带,右上部分是行高频子带HL,左下部分是列高频 子带LH,右下部分是对角高频子带HH。图像经小波变换后生成的小波系数的能量与原图像的能量相等, 只是能量进行了重新分配,绝大多数能量则集中在低频,所以每次只对上一级的低频部分进行小波变换。 多级小波分解后,小波系数在相邻两级分辨率之间存在较强位置相关性,通过多分辨率表示,对位置信 息进行编码,可反映图像的部分边缘信息,在保证压缩率的基础上,可使重构的图像具有更好的主观质 量,且可以避免JPEG标准因采用DCT变换而造成的方块效应。而且,对图像信号进行多级小波分解,可 得到不同空间分辨率的图像逼近,使得压缩码流具有空间分辨率可扩展性,这一特点允许压缩码流在不 同的分辨率解码器上解码、显示。 L H LL1 LH1 HL1 HH1 HL1 LH1 HH1 LH2 HH2 HL2 LL2 a一级行变换 b一级行列变换 c两级小波变换 图 5 图像小波分解示意图 3.3.2 量化 量化的关键是根据变换后图像的特征、重构图像质量要求等因素设计合理的量化步长。量化操作是 有损的,会产生量化误差。不过一种情况除外,那就是量化步长是1、并且小波系数都是整数,利用可 恢复整数5/3拍小波滤波器进行小波变换得到的结果就符合这种情况。JPEG2000核心系统采用恒域标量 量化,恒域宽度是其他区间的两倍,为的是获得最理想的嵌入式结构使SNR可伸缩。在JPEG2000标准中, 对每一个子带可以有不同的量化步长。但是在一个子带中只有一个量化步长。量化以后,每一个小波系 数有两部分来表示:符号和幅值。 3.3.3 熵编码 图像经过变换、量化后,在一定程度上减少了空域和频域上的冗余度,但是这些数据在统计意义上 还存在一定的相关性,为此采用熵编码来消除数据间的统计相关。将每个量化后的子带分割成小矩形块, 成为码块,每个码块独立编码。这就是嵌入式块编码(EBCOT)。如图2所示,EBCOT采用两层编码策略, 首先使用基于上下文的算术编码器,每个码块进行独立的嵌入式码块编码,得到码块的嵌入式压缩位流。 然后,根据率失真优化原则,采用PCRD(Post Compression Rate Distortion)优化算法思想,将所有码块 的压缩位流适当截取,织成具有不同质量级的压缩位流层。每一层上的压缩位流连同其前面的所有层的 压缩位流,可重构出一定质量的图像。在分层组织压缩位流时,须对每个码块在每一层上的贡献信息进
行编码,即对码块位流在该层的截断点信息等编码。由于图像采用小波变换,整个图像压缩码流具有分辨率可伸缩性,从而,压缩码流可同时具有质量上和分辨率上的可伸缩性。由于对码块进行独立编码,因此,可根据需要,随机获取并解码相应的码块压缩位流,重构出所需的图像区域。①第一层编码算法与传统的依次对每个系数进行算术编码不同,EBCOT是对码块进行编码(典型尺寸为64*64),将码块中的量化系数组织成若干个位平面,从最高有效位平面(MSB)开始,到最低有效位平面(LSB)结束,依次对每个位平面上的小波系数位进行算术编码。第一层编码可以看作两部分:上下文的生成(CF)和算术编码器(AE)。在码块的每个位平面上,从左上角系数开始,从左到右,从上到下进行扫描,并为每一位生成一个上下文。算术编码器根据生成的上下文,对每一位进行编码。在进行位平面编码时,每个位平面又细分成3个子位平面,称为编码通道。位平面上的每个系数位只能在3个编码通道中的其中一个进行编码。通道1是重要性传播通道(SignificancePropagationPass),至少有一个重要性邻域的像素,在此通道进行编码。通道2是幅度细化通道(MagnitudeRefinementPass),所有的重要位在此通道进行编码。通道3是清除通道(CleanupPass),所有没有在上两个通道中进行编码的像素,在此通道中进行检查来确定是否应当被编码。由编码通道得到的上下文和与其对应的数据一起,送至算术编码器进行自适应二进制算术编码,得到一个独立的嵌入式码块压缩位流。②第二层编码算法在第二层编码算法中,采用PCRD率失真优化算法思想,对所有码块的人式压缩位流进行适当的截取分层组织,形成整个图像的具有质量可分级的压缩码流。第二层编码算法也可以看作两部分:速率控制和分层组织压缩位流。速率控制是指通过一定的编解码措施,获得给定压缩码率下的最佳重构图像质量。分层组织压缩位流根据编码参数所规定的分层层数以及每一层的编码速率,估算每一层的率失真门限,然后根据每一层估计出的率失真门限,按照码块率失真算法,找到每个码块嵌人式压缩位流在该层上的截断点,将截断的码块压缩位流进行打包,按照规定的格式存储,形成图像压缩码流。将码流分层组织,每一层含有一定的质量信息,在前面层的基础上改善图像质量。3.3码率控制码率控制的目的是在已定码率的前提下寻求各编码块的最优截断点,使得由量化和截断引入的失真最小。码率控制涉及到量化、摘编码以及码流组织这三个部分。对于量化,可根据实际要求的码率反复调整量化步长以达到自标码率,其为一种交互式的控制方法。而且还可采用压缩后处理的方法,即在熔编码结束后,根据率失真最优原则,断生成各个编码块的最优化嵌入式码流。由于不同的码块产生的比特流长度是不相同的,它们对恢复图像质量的贡献也是不同的,因此对于所有码块产生的比特流,JPEG2000标准采用了压缩后率失真优化PCRD一Opt算法,即分别计算每个独立编码块码流的截断点,然后根据应用需要,可以给定一系列压缩比特率,这样就可把每个独立码块的码流分割成若干不同长度的码流段,最后将截断点和失真值以压缩形式同码块的码流保存在一起,形成编码块的嵌入式码流。该方法的本质就是对码流包进行有选择的舍弃,在一定的码率下实现最优的图像质量。3.4码流组织如图6所示,JPEG2000采用层来组织码流,提供有关图像质量分级的信息。码流组织是在T2编码器中完成的,为更好地表达这种分层的思想,JPEG2000又引入了几种中间逻辑结构,即包和界。包是编码的逻辑单位,是分片上特定编码数据的组织实体,可实现数据的差错控制。界是在某一分辨率下空间某连续区域在所有子带中对应块的集合。层则是以包为单位组成的,且一个界对应于多个包。JPEG2000标准提供的多种渐进传输方式都是在最后的码流组织阶段进行选择和实现的,包作为压缩数据集合的基本单位,其具有4个自由度,层、分辨率、分量及位置,这样包的组织顺序也就非常灵活。上述结构使压缩后的码流可划分为若干逐级包含的子集,每个子集对应于原图像的一个子压缩,且这种嵌入式码流可在任意处被截断,可得到不同的码率,不同质量的重构图像,4
4 行编码,即对码块位流在该层的截断点信息等编码。由于图像采用小波变换,整个图像压缩码流具有分 辨率可伸缩性,从而,压缩码流可同时具有质量上和分辨率上的可伸缩性。由于对码块进行独立编码, 因此,可根据需要,随机获取并解码相应的码块压缩位流,重构出所需的图像区域。 ①第一层编码算法 与传统的依次对每个系数进行算术熵编码不同,EBCOT是对码块进行编码(典型尺寸为64*64),将 码块中的量化系数组织成若干个位平面,从最高有效位平面(MSB)开始,到最低有效位平面(LSB)结 束,依次对每个位平面上的小波系数位进行算术编码。第一层编码可以看作两部分:上下文的生成(CF) 和算术编码器(AE)。在码块的每个位平面上,从左上角系数开始,从左到右,从上到下进行扫描,并 为每一位生成一个上下文。算术编码器根据生成的上下文,对每一位进行编码。在进行位平面编码时, 每个位平面又细分成3个子位平面,称为编码通道。位平面上的每个系数位只能在3个编码通道中的其中 一个进行编码。通道1是重要性传播通道(Significance Propagation Pass),至少有一个重要性邻域的像 素,在此通道进行编码。通道2是幅度细化通道(Magnitude Refinement Pass),所有的重要位在此通道 进行编码。通道3是清除通道(Cleanup Pass),所有没有在上两个通道中进行编码的像素,在此通道中 进行检查来确定是否应当被编码。由编码通道得到的上下文和与其对应的数据一起,送至算术编码器进 行自适应二进制算术编码,得到一个独立的嵌入式码块压缩位流。 ②第二层编码算法 在第二层编码算法中,采用PCRD率失真优化算法思想,对所有码块的人式压缩位流进行适当的截取, 分层组织,形成整个图像的具有质量可分级的压缩码流。第二层编码算法也可以看作两部分:速率控制 和分层组织压缩位流。速率控制是指通过一定的编解码措施,获得给定压缩码率下的最佳重构图像质量。 分层 组织压缩位流根据编码参数所规定的分层层数以及每一层的编码速率,估算每一层的率失真门限, 然后根据每一层估计出的率失真门限,按照码块率失真算法,找到每个码块嵌人式压缩位流在该层上的 截断点,将截断的码块压缩位流进行打包,按照规定的格式存储,形成图像压缩码流。将码流分层组织, 每一层含有一定的质量信息,在前面层的基础上改善图像质量。 3.3 码率控制 码率控制的目的是在已定码率的前提下寻求各编码块的最优截断点,使得由量化和截断引入的失真 最小。码率控制涉及到量化、熵编码以及码流组织这三个部分。对于量化,可根据实际要求的码率反复 调整量化步长以达到目标码率,其为一种交互式的控制方法。而且还可采用压缩后处理的方法,即在熵 编码结束后,根据率失真最优原则,断生成各个编码块的最优化嵌入式码流。由于不同的码块产生的比 特流长度是不相同的,它们对恢复图像质量的贡献也是不同的,因此对于所有码块产生的比特流, JPEG2000标准采用了压缩后率失真优化PCRD—opt算法,即分别计算每个独立编码块码流的截断点, 然后根据应用需要,可以给定一系列压缩比特率,这样就可把每个独立码块的码流分割成若干不同长度 的码流段,最后将截断点和失真值以压缩形式同码块的码流保存在一起,形成编码块的嵌入式码流。该 方法的本质就是对码流包进行有选择的舍弃,在一定的码率下实现最优的图像质量。 3.4 码流组织 如图6所示,JPEG2000采用层来组织码流,提供有关图像质量分级的信息。码流组织是在T2编码器 中完成的,为更好地表达这种分层的思想,JPEG2000又引入了几种中间逻辑结构,即包和界。包是编 码的逻辑单位,是分片上特定编码数据的组织实体,可实现数据的差错控制。界是在某一分辨率下空间 某连续区域在所有子带中对应块的集合。层则是以包为单位组成的,且一个界对应于多个包。JPEG2000 标准提供的多种渐进传输方式都是在最后的码流组织阶段进行选择和实现的,包作为压缩数据集合的基 本单位,其具有4个自由度,层、分辨率、分量及位置,这样包的组织顺序也就非常灵活。 上述结构使压缩后的码流可划分为若干逐级包含的子集,每个子集对应于原图像的一个子压缩,且 这种嵌入式码流可在任意处被截断,可得到不同的码率,不同质量的重构图像
码流头层头包头编码数据图6JPEG2000码流组织4.结语本文先介绍了JPEG2000标准组成,然后阐述了JPEG2000编码流程和核心算法,包括采用的小波变换和最新的压缩算法,及对压缩流进行处理的过程。JPEG2000是为21世纪图像压缩应用指定的新的静止图像压缩标准,将会广泛应用于因特网、移动通信、打印、扫描、图书馆等方面的图像压缩。但JPEG2000的复杂度较大,需要进一步研究。05
5 头 码流 头 层 头 包 编码数据 图 6 JPEG2000 码流组织 4.结语 本文先介绍了 JPEG2000 标准组成,然后阐述了 JPEG2000 编码流程和核心算法,包括采用的小波 变换和最新的压缩算法,及对压缩流进行处理的过程。JPEG2000 是为 21 世纪图像压缩应用指定的新的 静止图像压缩标准,将会广泛应用于因特网、移动通信、打印、扫描、图书馆等方面的图像压缩。但 JPEG2000 的复杂度较大,需要进一步研究。