JPEG2000的编码流程
1.预处理
预处理包括瓦片划分、直流电平平移以及分量转换三个部分。
(1)图像切片的划分
图像的切片就是指将原始图像切割成许多较小的矩形块,其中矩形块是互不重叠大小为任意值的,最大可以是整幅图像如图所示。但是必须合理的划分图像的矩形块,如果划分的太大就达不到减小存储容量的目的,如果划分的太小压縮重建后图像的质量就会较差。因此,需要根据对图像质量的要求和处理设备的内存大小来合理的划分矩形块的大小。
(2)直流平移
原始的图像数据都是无符号的数值,为了去除图像样本值中的直流分量,使样本值在小波变换后均勾分布在零系数的两侧便于进行自适应熵编码,需要对样本值进行平移就是所有样本值减去中间值。假设图像样本的精度为B,I(x,y)为图像样本值i(x,y)为直流平移后的样本值,则直流平移的公式
(3)色彩分量变换
彩色图像是由多个分量组成,在小波变换之前为了去除分量之间的相关性,提高压缩的效率,就需要对图像进行相应的分量变换。JPEG2000采用的色彩分量变换有种:可逆分量变换和不可逆分量变换。
可逆分量变换适用于无损压缩公式
不可逆分量变换适用于有损压缩公式
2.离散小波变换
由于离散小波DWT优异的性能如对图像信号的多分辨率分析,反映图像的
局部特性等,使它成为了JPEG2000编码标准的重要编码算法。图像经过小波变换后图像中的信息从时域变化到频域,通过对各个频带的处理去除了每个图像像素的相关性。使图像的信息集中在少量的系数上,便于量化后大多数系数归于零,方便游程编码。
JPEG2000标准提供了两种小波变换器:一种是用于有损压缩的Daubechies9/7滤波器,一种是既可用于无损压缩又可用于有损压缩的LeGall5/3滤波器。由于提升小波变换具有运算复杂度低速度快和所需内存少的特点,被JPEG2000推荐使用。
3.量化
图像经过小波变换后,需要对子带内系数进行量化减小系数的精度,方便后面的熵编码,从而达到图像压缩的目的。JPEG2000采用的量化方式是均匀标量量化。假设子带小波变换后的系数是a(),量化后的系数值为q(),则量化公式为
出处为
JPEG2000中编码算法的研究与实现