第一章简述JPEG2000 中网格划分 JPEG2000 中,Component, Tile, Layer, Packet, Tile-part, Sub-band, Code-block, Precinct, Bit-plane 之间的关系如图1 所示: 图1 关系图 每个图像由不同的分量(component)组成。 每个分量又可以划分为若干个分量片(tile-component)。对于每个分量片进行小波变换,进行不同层次的分解,从而得到不同分辨率级别的子带(sub-band)(一般分解层次D=5 就足够获得对于全分辨率图像的近于理想的压缩性能),如图2 所示。 n 级小波变换后就有n+1 个分辨率,每个分辨率有3 个子带(除去最低分辨率只有1 个子带)。 2 级小波变换 图2 分量片分解为子带 区(precinct)的划分是对特定的片、分量和分辨率进行的。比如说我们定义的区大小为(2PPx,2PPy),将分辨率r 划分如图3 所示,其中分辨率r 的原点是(trx0,try0),右下角是(trx1-1,try1-1)。实际上,可以在分辨率级别上直接进行区的划分,而码块(code-block)则是 Tile LL HL LH HH 2LL 2LH 2HL 2HH 在区上进行划分的。如图4 所示。 图3 区的划分 图4 区的实际划分 注意:虽然我们说得分辨率r划分为3 个子带(最低分辨率为1 个子带),但实际上我们的分辨率是一个矩形,对于r不是最低分辨率时,实际包含了nHH、nHL、nLH、nLL 这四个子带,但由于nLL 是分配给下一分辨率的,所以实际上只处理 nHH、nHL、nLH 这三个子带。 在JPEG2000 标准中,数据是以数据包为单位记录在码流中。每个数据包就包含了特定的切片、层、分量、分辨率和区的数据。对于给定的切片、层、分量和分辨率r,这个分辨率r中的每个HL、LH、HH 都相应分成区。每个区独立划分编码块和独立编码、打包。这样,万一在传输中一个数据包发生了误码,也不至于影响了其它包的数据。 第二章 JPEG2000 编码 JPEG2000 编码顺序为:小波变换->位平面编码->MQ 编码。其中 MQ 编码时JPEG2000标准中实现无损压缩的唯一途径。JPEG2000 的MQ 编码采用查表法,为了得到查概率表的索引号,就必须进行位平面编码,为了位平面编码,就必须进行小波变换。因此小波变换和位平面编码均是为MQ 编码做准备。 一、 位平面编码介绍 1 . 位平面获得 为了实现位平面编码,首先需要将码块(code-block)转换为位平面。 将每个码块分解成一个个的比特层,最高层位平面log2(max(value)),value 在 -128~127之间。(每个码块上的系数都分解到不同位平面...