240 likes | 518 Views
JPEG2000 Tier-2 编码器设计. 祁志恒. JPEG2000 编码器架构. Tier2 与 Tier1 接口. tier-2 算法简介. tier-2 算法简介. 优化措施. tier-2 算法简介. 码流优化截断. 每 个位平面(最高为平面除外)会得到三个通道的编码结果。然而每个通道的编码结果有着不同的重要性,重要性高的通道对图像质量贡献大,这样的通道往往需要保留,而重要性低的通道对图像质量贡献小,会被优先舍弃。在压缩率较高的情况下,就要优先保留重要性较高的通道结果,舍弃重要性较低的通道结果,即所谓实现优化截断。
E N D
tier-2算法简介 • 优化措施
tier-2算法简介 • 码流优化截断 每个位平面(最高为平面除外)会得到三个通道的编码结果。然而每个通道的编码结果有着不同的重要性,重要性高的通道对图像质量贡献大,这样的通道往往需要保留,而重要性低的通道对图像质量贡献小,会被优先舍弃。在压缩率较高的情况下,就要优先保留重要性较高的通道结果,舍弃重要性较低的通道结果,即所谓实现优化截断。 为了衡量这些编码通道结果的重要性,引入率失真斜率这个概念。率失真斜率等于通道误差与通道编码字节长度的比值(通道误差代表增加该通道后,整体图像偏差的减少量)。率失真斜率越大,表明该通道的重要性越高。 由于小波变换的影响,使得层级越高的子带往往产生更重要的通道结果。在相同子带中,位平面越高越能产生更重要的通道结果。
tier-2算法简介 • 标准的PCRD-opt算法 PCRD算法的主要思想:在满足一定码率的条件下,寻找出最优的截断点,使得率失真最小。 硬件实现时可以利用拉格朗日乘数法。 即在满足时,使得上式的值最小的截断点即为最优截断点。 此时对应的截断点就是目标截断点。对上式的最小化问题可以简化为每个码块的最小化问题,即对于每个码块最小。
标准的PCRD-opt算法 对于每个码块,各个编码通道的结束点都可以作为截断点。从图2-2的R-D率失真斜率曲线上可以看出,从最高位平面到最低位平面,按照重要性通道、幅值细化通道、清除通道的顺序,码率 在逐渐增加,失真 在减少。 拉格朗日算子方法则要求 为严格递减函数,为保证R-D曲线上 严格单调递减,需要剔除不满足 的截断点,直到剩余的截断点之间的斜率严格单调递减,这样的剩余截断点可以保证实现最优截断。 在剔除奇异点之后,通过二分法可以找到满足 且 最小的率失真斜率,即最终的目标截断点,所有码块中率失真斜率小于目标截断点斜率的通道都被舍弃。
tier-2算法简介 • 标准的PCRD-opt算法
tier-2算法优化 • 双重截断架构
tier-2算法优化 • 优化的截断算法 • 基于熵计算的预截断方法 提出一种基于熵计算的预截断方法,可以在小波变换之后用简易算法估算出各个码块熵值的相对大小,然后根据每个码块熵值占整体图像熵值的比例计算出所要分配的码字数。
tier-2算法优化 • 优化的截断算法 • 第二次截断 预截断只是粗略截断,为提高图像质量,还需要进行精细截断。 这部分截断类似与标准算法的PCRD-opt方法,是根据各个通道率失真斜率,保留率失真斜率较大的通道,舍弃率失真斜率较小的通道。 具体方法是建立率失真斜率记录表, 除法的优化 优化 建立率失真斜率记录表
tier-2算法优化 • 优化的截断算法 • 除法的简化 率失真斜率值的计算需要进行除法运算,而对于硬件实现来说,除法操作不利于实现,而且率失真斜率值在选取截断点时仅用来进行比较,其精确的真实值并不重要,只需反映出各个值之间的相对大小即可。为避免除法运算,可采用对数运算表示斜率估计值 将除法运算变成查找表和移位运算,缩短了计算时间,更利于硬件实现。
tier-2算法优化 • 优化的截断算法 • 优化的率失真斜率记录表 Tier-1部分每编码完成一个位平面后,都会更新记录表,并且判断码块的码字数是否超过了预分配的码字数,对Tier-1部分编码实时的控制。基于记录表的寻找截断点,因避免了二分法产生的迭代运算,对于Tier-2部分编码效率有一定的提高。
tier-2算法优化 • 优化的截断算法 • 优化的率失真斜率记录表
tier-2算法优化 • 优化的截断算法 • 优化的率失真斜率记录表
tier-2算法优化 • 优化的截断算法 • 优化的率失真斜率记录表
tier-2算法优化 • 优化的截断算法 • 优化的率失真斜率记录表 • 实时记录率失真斜率及对应码字长度 • 可以使Tier1编码与搜寻最优截断点并行 • 代替了二分法,避免了迭代过程
tier-2算法简介 • 码流组织