JPEG2000标准中的编码算法解析
1. 引言
在经过离散小波变换(DWT)和量化后,JPEG2000的编码阶段分为两个步骤:一级编码(Tier - 1 coding)和二级编码(Tier - 2 coding)。在一级编码中,每个码块独立进行熵编码;在二级编码中,使用标签树编码机制对一级编码步骤中生成的压缩码字信息进行编码。
JPEG2000中的熵编码是分数位平面编码(BPC)和二进制算术编码(BAC)的组合,这在JPEG2000中被称为一级编码。下面将详细介绍分数位平面编码技术这一新范例。
2. 编码数据分区
在熵编码期间,每个小波子带会进一步划分为多个码块。此时,所有子带中的元素都以整数的符号和幅度表示,而非二进制补码。码块的尺寸始终是2的幂次方,最小高度和宽度为4,最大高度和宽度为1024。此外,码块尺寸还有进一步限制,如果码块的高度为$2^x$,宽度为$2^y$,则$x + y$需小于或等于12。典型的码块大小选择是64 x 64或32 x 32。实验发现,当码块大小选择低于16 x 16时,压缩性能会下降。需要注意的是,JPEG2000第1部分修正案的配置文件0进一步将码块大小限制为32 x 32或64 x 64。
在编码阶段,每个码块会分解为多个位平面。如果子带的精度为P位,则子带中的每个码块会分解为P个位平面。对位平面编码(BPC)应用于码块的每个位平面,以生成上下文和二进制决策值形式的中间数据。这些中间数据被输入到二进制算术编码(BAC)步骤,以生成最终的压缩比特流。
3. JPEG2000中的一级编码
JPEG2000采用了David S. Taubman提出的嵌入式块编
JPEG2000编码算法详解
超级会员免费看
订阅专栏 解锁全文
1263

被折叠的 条评论
为什么被折叠?



