JPEG2000中最佳截断嵌入码块编码EBCOT

1. 最佳截断嵌入码块编码EBCOT

最佳截断嵌入码块编码 (embedded block coding with optimized truncation,EBCOT)是David Taubman在1999年发表的一种编码算法。

JPEG2000的小波系数量化编码采用EBCOT编码,EBCOT量化编码是JPEG2000标准的核心,是一种小波系数的嵌入式比特层编码方法。

EBCOT编码分为两部分:第1部分tierl,将每个子带划分为独立的编码块,然后对每个编码块独立进行嵌入式编码扫描,每个编码块的比特层编码,最后对编码扫描结果进行MQ算术编码,得到嵌入式码流;第2部分tier2,根据输出码率的要求,组合每个编码块的嵌入式码流,对所有编码块的编码流进行优化截断排序、打包等处理,得到JPEG2000的码流。

EBCOT嵌人式比特层编码主要包括嵌入式比特层编码、优化截断位流排序和MQ算术熵编码。MQ编码 MQ(Multiple Quantization多路量化)编码是一种用于二进制数据的自适应算术编码。

先将小波变换后的各个子带系数分成小的码块,然后将这些码块中的系数按照一定的量化步长进行量化,量化后的结果送人EBCOT编码器进行编码。

在tierl中,将每个码块中的小波系数分解成位平面,即一个个的比特层。编码从码块的非零最高有效位平面(MSB平面)逐个平面编码直到最低位平面(LSB平面)。对每一层位平面上的比特进行3次扫描过程,根据一定的规则将该位平面上的比特分在3个不同的编码通道上。接下来对这3次扫描过程的结果依次进行位平面的条件编码,条件编码后产生的上下文信息和编码码流再一同送人MQ算术编码器,进行算术编码。

经过tier1编码,输出的是一系列经过编码的通道。在有损编码情况下,编码器可以只在码流中保留一部分重要的编码通道,而舍弃其他的编码通道,这是除了量化以外的另一个信息损失的主要原因。

在tier2中,实质就是让tierl输出的一系列编码通道信息形成数据单元——包,这些包随后输出给最终码流,这样就完成了编码部分。

2. 位平面条件编码-Tier1

1)位平面的获取

         为了实现位平面编码,首先需要将码块(code-block)转换为位平面。

         将每个码块分解成一个个的比特层,最高层位平面log2(max(value)),value在 -128~127之间。(每个码块上的系数都分解到不同位平面上,位平面上存放的是系数的二进制对应位上的位值)。如图5所示。

位平面

注意:位平面编码之前,小波变换后的数据需要进行格式转换。

因为小波变换数据时采用补码来表示,而位平面编码要求每个数据按“符号 + 幅度”的原码方式表示。

通过符号位和量值分离的方法对离散小波变换的系数取模值之后,位平面编码待处理的数据取值范围[0,128]。找最高层位平面,从最高层位平面到最低层进行位平面编码。

       位平面的作用有二:1)把一个平面分成三个通道,方便以后的率控制。2)把每个像素点的每一位都判断(根据子带信息和位本身邻居的信息),输出判决结果和上下文序号提供给MQ用作输入。

2)位平面编码

         位平面编码过程中,其扫描方式很特殊。编码块中的每个位平面以一种特殊的方式进行扫描,从左侧最上面的系数开始,每4个系数作为一列称为s

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值