在
JPEG2000
中,对位平面的编码过程采用三个过程进行,一直不明白为什么需要这么作,到今天终于恍然大悟,至少有这两个方面的原因:
1.
从率失真的角度来考虑。在
JPEG2000
中采用的什嵌入式编码方式,其好处是为了截断和与率失真曲线最接近。下图说明非嵌入式编码的率失真曲线与理想失真曲线之间的关系,下凸曲线是理想曲线,而非嵌入式的编码可以认为是直线(负比率),可以看到在中间的任一点将编码停止导致的率失真是两条线之间的差值,只有所有编码都完成后才能与理想失真曲线重合。而嵌入式编码保证在中间的某些点尽量与理想失真曲线重合,而减少中间过程的率失真损失,从而可以进行截断。而在
JPEG2000
采用嵌入式编码的手段之一就是码块的编码过程。因此从率失真角度来说,多个编码过程是优化的。
实际上,在多个编码过程中,截断点就是各过程的结束,当然定义截断点不一定就是位平面的三各编码过程结束,但如果按照位平面的编码过程来截断,那么也能保证率失真尽量与理想曲线接近。
另外这里有另外一个理由来说明为什么改进过程需要在清除过程的前面进行,实践经验告诉我们改进过程的率失真曲线斜率比清除过程大,因此根据对率失真贡献最大先编码的
原则,改进过程应该先于清除过程编码。
2.
另外一个好处是为了质量渐进。渐进是
JPEG2000
压缩的一个特点,其中质量渐进是
5
各渐进策略中的一种,而其根据位平面的编码来确定质量层,实际上每个编码过程位质量层提供必要的信息。具体见包的定义。
另外,根据研究表明,三个编码过程并不影响编码的效率,因此采用三个过程编码是有效的方式。