1. 引言
图像压缩作为计算机应用方向的重要研究内容,如何能使用较少的比特数以获得高分辨率和较好品质的图像始终是不懈研究的重要方向。离散余弦变换(discrete cosine transform, DCT)作为一种经典的图像压缩变换方案,被认为是一种准最佳变换[1]。但DCT对于降低谱的相关性方面不如K-L变换(Karhunen- Loeve Transform, KLT)有效,其假设相邻像素之间的相关性趋于1,但如跨纹理边界的像素相关性明显小于1,这就导致DCT压缩在明显纹理边界的像素块上的稀疏性变换存在问题,而这将导致对应像素块较差的编码性能。
随着图信号处理技术的不断发展,为了实现更加高效的变换,提出了图傅里叶变换(graph Fourier transform, GFT) [2]。通过图的方式来表示图像,其中图像的像素表示为图的节点,图像的像素相关性表示为边缘权重,图的连通性被编码在图拉普拉斯函数中。Pavez等[3]提出了图模板变换,它通过利用已知的由图模板表示的信号的先验信息来近似KLT。Hu等[4]提出了一种基于多分辨率图傅里叶变换的编码方案,通过考虑不同像素块信号变换系数的稀疏性以及变换后分布的紧凑性,自适应的确定最佳的图傅里叶变换。Fracastoro等[5]提出了一种新的图学习算法,对图结构进行设计来优化整体的率失真性能,通过最小化其图傅里叶系数的稀疏性,并将图描述的代价引入到优化问题,定义图像信号的变换。Uruma等[6]提出了一种基于图变换的彩色图像编码算法,使用JPEG编码对亮度图像进行编码,将色度图像转换为图频谱图像进行压缩,并通过存储称为代表性像素的多个彩色像素来压缩彩色图像。Gnutti等[7]提出了一组基于对称的图傅里叶变换编码方案,其变换集很好地表示了自然图像。Yan等[8]提出在笛卡尔积图上定义多维图信号,将二维图变换扩展到多维图分数傅里叶变换。
GFT能提高图像的紧凑表示,为能量信号集中在低频提供了可能性[9]。其关键在于构造GFT的拉普拉斯矩阵[10] [11]。上述的方案没有明确如何定义一个图,并在图变换系数的稀疏性与图变换编码成本之间进行平衡。目前定义边缘权重的常用方法是通过高斯核加权函数[12],但对图像而言节点之间的距离是不变的,通过高斯核函数定义的像素相关性往往只能代表一类像素纹理块。
本文利用不同的边缘权重定义函数代表不同的图像纹理块,提出基于图像纹理和图傅里叶变换的混合图像压缩算法。通过研究不同图像块纹理的变化,将不同纹理图像的相关表示为不同的图拉普拉斯矩阵,这将会比单纯的高斯核函数所定义的图拉普拉斯矩阵在描述图像方面更加精准,并对图像纹理在低复杂度下进行自适应的图拉普拉斯矩阵选择。与现有的独立变换图像编码方法不同,本文从DCT或基于纹理相关的GFT (texture based graph Fourier transform, TGFT)中选择最优变换[13]。实验结果表明,该变换方法在稀疏表示方面优于DCT。
2. 图像纹理相关的图傅里叶变换
2.1. 图傅里叶变换
图可以表示为
,其中v表示有限的顶点集,并且|v| = N。ε表示边集,
表示加权邻接矩阵。本文只考虑无向图,并且默认权重值为非负值,即
。图拉普拉斯矩阵可以表示为
,其中度矩阵D是对角矩阵,其元素定义为
(1)
由于L是一个实对称矩阵,它存在完备的正交特征向量集合
,以及一组实非负特征值
满足
。所以矩阵L可以表示为L = UΛUT,其中
是L的特征向量矩阵,对应特征向量按列排序,
是对角特征值矩阵,特征值按递增顺序排序。
图信号
是在图
的节点上定义的实值函数。利用拉普拉斯矩阵的特征向量定义信号f的GFT [14] [15]为
(2)
逆图傅里叶变换(inverse graph Fourier transform, IGFT)为
(3)
本文的算法通过对图像像素块进行GFT来消除图像信号相邻像素之间的相关性,从而让图像的能量更加集中在低频。图1为对图像像素8 × 8分块并纵向排列后进行一维图变换得到的谱图图像示例。从图1可以看到背景部分即纹理平滑区域能量分布较少,而纹理丰富部分能量分布较多。通过对不同纹理的图像块进行底层图结构分类构建,使得对应的图拉普拉斯矩阵能够更准确地模拟图像信号之间的相关性。
Figure 1. The effect of GFT
图1. 图变换的效果
2.2. 图结构构建
为了有效地压缩图信号,考虑四种加权邻接矩阵的构建方式,使得图信号由图拉普拉斯矩阵的四种特征向量表示,精确的构建图拉普拉斯矩阵对提高图像压缩性能起到关键性作用。
2.2.1. 距离加权图
考虑到一些图像块颜色差异和距离具有较强的相关性,距离越远颜色差距越大。对于这类图像纹理块使用距离加权图去近似图像像素之间的相关性。图像的边缘权重通过阈值高斯核加权函数定义为
(4)
其中dist(i,j)表示顶点i和顶点j之间的距离,θ是高斯参数,定义
[5],κ是预定义的距离阈值。
2.2.2. 距离–颜色加权图
通过定义距离–颜色加权图将距离和色彩值相结合,并将其应用在复杂纹理图像块中。增加色彩预测值的能为图信号构建提供更多的信息量,对像素点之间的建模提供更高的准确性。图的距离颜色关联的边缘权重被定义为
(5)
其中pred(i,j)表示顶点i和顶点j之间的预测色差,通过相邻图像块与边缘图进行编码预测得到。δ表示预测色差的中位数绝对偏差,κ是预定义的距离阈值。
2.2.3. 边缘划分图
对于平滑纹理图像块,通过对图像边缘进行划分的方式,来判断图像全局平滑还是局部平滑。对于局部平滑图像块,根据其图像边缘进行权重值的改变。对于非同一边缘内部的像素点,对其边缘权重值赋0,同一边缘内部顶点进行四连通连接操作。图2是一个2 × 2像素块构造邻接矩阵的例子,根据边缘轮廓划分不同像素值顶点,并连接相似像素值顶点来构建图形,并给出对应的权重矩阵。
Figure 2. Constructing adjacency matrix from a 2× 2 pixel block
图2. 2 × 2像素块构造邻接矩阵
2.2.4. 连通图
全局平滑的图像块意味着图像块内部具有相似的像素值,将图顶点之间的权重值设置为1可以表示顶点之间得到强相关性。但若对图顶点进行全连接则会增加图像块的计算复杂度,为了使计算复杂度可控,本文提出四种方案对图顶点之间进行连通。分别是顶点最多两个度的Hilbert、Zigzag连接以及四连通和八连通方案,如图3所示。最后通过实验确定使用四连通图作为全局平滑的图像块在图上的矩阵构造方式。
Figure 3. Global smoothing image block construction
图3. 全局平滑图像块构造
2.3. 自适应选择方案
利用设定的判断阈值对图像块进行筛选,根据图像块的颜色相关性度量、纹理复杂度量及相似性度量结果与判断阈值进行比较,使得图像块可以对应于合适的图构造方案。
2.3.1. 距离颜色相关性度量
如果对于一个图像块,其颜色和距离存在很强的相关性,那么可以通过距离来设置其权重值,在避免图形表示的额外开销的同时可以建模像素点之间颜色的相关性。本文通过Pearson相关系数[16]去衡量距离与颜色相关性程度
(6)
其中D,C分别是距离变化矩阵和颜色变化矩阵,M为连接的边的数量。μD(μC)以及σD(σC)分别表示对应矩阵的平均值和标准差。
2.3.2. 纹理复杂度度量
当图像块的距离与颜色相关度不强时,可以从图像最直观的颜色特征来建模图像块内部的颜色相似度。通过结合图像颜色种类和空间分布的特征复杂度的方式求解图像块颜色特征的复杂度[17],并将图像块分为复杂纹理的图像块与平滑纹理图像块。给定一个一般集合,计算其复杂度的公式为[18]
(7)
其中C表示对应图像块特征的复杂程度,k表示集合中不同特征值的个数,ni和N分别表示每种特征纹理对应的个体个数和个体总数。对于图像颜色特征复杂度可以表示为
(8)
其中μ是权重因子,Cs表示图像块的颜色种类复杂度,Ci和ni分别表示第i种颜色空间的分布复杂度和像素个数,Ct表示结合颜色种类复杂度和颜色空间分布复杂度的图像块总复杂度。
2.3.3. 相似性度量
对平滑纹理图像块进行细化,划分成全局平滑和局部平滑,并利用不同的图结构进行图拉普拉斯矩阵构建,以此提高图像表示的准确性。具体来说,相似性度量利用边缘划分矩阵统计图像块内部的光滑区域的数量,对于光滑子区域存在两个及两个以上的图像块,将其视作局部平滑图像块,否则为全局平滑图像块,并使用对应的图结构进行构建。
3. 纹理相关的图变换图像压缩方案
3.1. 编码方案
图4给出了基于图像纹理的混合图像压缩编码框架。对图像的编码操作分为三个步骤。
Figure 4. Image compression coding framework
图4. 图像压缩编码框架
首先,在编码器端利用图像梯度的硬阈值检测图像的明显边界得到图像对应的边缘划分矩阵。
其次,使用两种变换对图像块进行变换。一是对图像块进行DCT变换;二是对其进行图傅里叶变换,具体是先进行分选操作,将每个图像块进行距离颜色相关性度量(阶段一),颜色与距离相关性高的图像,其图拉普拉斯矩阵按照高斯核加权图的构造方式进行构建。反之进行纹理复杂度计算(阶段二)后继续划分成复杂纹理图像块与简单纹理图像块,针对复杂纹理图像块,其图拉普拉斯矩阵为距离颜色加权矩阵。而针对简单纹理图像块,根据阶段二的图像检测结构中是否存在明显边界划分成全局平滑图像块和局部平滑图像块并分别进行连通图和边缘划分图的搭建(阶段三)。对所有的图像块进行对应图结构构建后对其进行相应的图傅里叶变换。
第三,在从两个候选变换中选择每个图像块对应的最优变换后,对最终选定的变换系数进行量化和熵编码,并标识所选变换的变换索引进行熵编码,以便在解码器端执行适当的反变换。
为了清楚整个图像压缩编码流程并加以实现,根据该算法的编码框架,使用伪代码对其整体流程加以阐述,如表1所示。
Table 1. Image compression coding algorithm pseudo-code
表1. 图像压缩编码算法伪代码
算法输入:图像I,参数α,β |
算法输出:边缘划分矩阵E,索引ind,谱信号
|
|
续表
|
3.2. 解码方案
图5给出了基于图像纹理的混合图像压缩解码框架。
Figure 5. Image compression decoding framework
图5. 图像压缩解码框架
在解码器端首先对图像块进行逆量化,然后根据索引进行选择变换的判断,对进行DCT变换的图像块进行逆DCT变换,相应的对GFT变换具体使用的图结构进行判断后选择相应的变换系数进行逆图傅里叶变换。其中针对边缘划分图的逆变换需要根据得到的边缘划分情况进行变换系数的计算后再进行逆图傅里叶变换。最后对所得结果进行图像重建。
解压缩过程是压缩过程的逆过程,根据算法的解码框架,使用伪代码对其整体流程加以阐述,如表2所示。
Table 2. Image compression decoding algorithm pseudo-code
表2. 图像压缩解码算法伪代码
算法输入:边缘划分矩阵E,索引ind,谱信号
|
算法输出:重建图像I' |
|
续表
|
4. 实验结果
算法在Intel Core i5-12500H CPU @2.5 GHz和16 GB内存的PC上进行了测试并在MATLAB中实现。实验选择10幅经典灰度图像(Lena, Boat, Peppers, Cameraman, Couple, Barbara, Man, Hill, Mandri, Parrot)作为测试图像,均为256 × 256的图像。
4.1. 参数设置
在全局平滑的图像块中,图拉普拉斯矩阵选择为四连通图,图6给出了图3中不同图构造方式的率失真曲线比较,可以看到四连通图具有较好的性能。
图像分选操作可以通过是否存在明显边界对全局平滑图像和局部平滑图像进行直接判断。距离颜色相关性度量以及纹理复杂度的判断阈值利用对测试图像的图像块进行随机采样得到的图像进行估计。首先得到样本图像块的率失真模型,计算每个图像块在给出的四种图结构下的最小速率,最后设置最大系数及最小熵作为对应阈值。由表3可见共进行10次随机采样并获得对应图像的阈值参数,对其进行平均取值,最后阈值确定为0.50和0.67。纹理复杂度度量中设置为1,表示图像颜色种类复杂度及空间分布复杂度与图像本身的复杂度呈正相关。
(a) (b)
(c) (d)
Figure 6. Comparison of RD performance for different construction schemes for global smooth blocks
图6. 全局平滑块不同构造方案的RD性能比较
Table 3. Threshold parameter selection
表3. 阈值参数选择
采样次数 |
阶段一 |
阶段二 |
采样次数 |
阶段一 |
阶段二 |
1 |
0.452 |
0.675 |
6 |
0.48 |
0.681 |
2 |
0.457 |
0.686 |
7 |
0.549 |
0.675 |
3 |
0.555 |
0.682 |
8 |
0.458 |
0.696 |
4 |
0.534 |
0.668 |
9 |
0.534 |
0.668 |
5 |
0.48 |
0.697 |
10 |
0.454 |
0.651 |
Figure 7. Block classification of the image Lena
图7. Lena图中不同图构造块分类
图7显示了一张图像内部不同的图像块使用不同的图结构的块分类结果,可以明显看出对不同纹理图像块进行了一定的分类,全局平滑的图像块多位于(d)中,具有复杂纹理的图像块多位于(b)中。为了验证所提出的图构造方法具有一定的优势,本方案与使用高斯核函数[12]的图变换方案和使用KLT的经典编码方案进行了比较,其中KLT是对每个8 × 8图像块单独计算变换结果。三种方案的量化和熵编码采用了相同的方法。
4.2. 性能比较与分析
Table 4. Bjontegaard average gain in PSNR for natural image compared with DCT
表4. 图像中PSNR的Bjontegaard平均增益与DCT对比
图像 |
本文算法 |
KLT |
Gaussian graph |
Peppers |
0.38 |
0.35 |
0.14 |
Parrot |
1.20 |
0.51 |
0.93 |
Lena |
0.57 |
0.24 |
0.52 |
Boat |
1.24 |
0.74 |
0.95 |
Cameraman |
0.93 |
0.68 |
0.63 |
Barbara |
1.85 |
1.43 |
1.21 |
Couple |
0.75 |
0.65 |
0.43 |
Hill |
0.58 |
0.38 |
0.42 |
Man |
0.80 |
0.77 |
0.49 |
Mandri |
2.50 |
2.05 |
2.13 |
Figure 8. Rate distortion curve of image Boat
图8. 图像Boat的率失真曲线
表4是与单纯的DCT方案相比,采用Bjontegaard度量[19]评估的峰值信噪比(peak signal-to-noise ratio, PSNR)平均增益的性能结果。相较于DCT方案,本文方案、KLT方案和Gaussian图方案的平均增益分别为1.08 dB、0.3 dB和0.3 dB。图8展示了图像Boat的率失真曲线,由图8可以看出本文方案所带来的性能优势随着比特率的降低而逐渐减弱,这主要是由于为表示图结构的标志,局部与全局平滑图像块的分类等额外编码存在一定的开销。随着不断增加的量化步长,额外开销所占的比例在整个比特流中越来越大,从而不断削弱了本方案所带来的性能优势。
图9展示了图像peppers的直观视觉比较。与其他方案相比,本文的方案具有最清晰边界和最干净表面的图像。与DCT相比,本文的方案在图像边缘的处理更加清晰。本文利用标量量化的方式比较在相同量化步长下本方案与DCT的压缩比及峰值信噪比。由表5可知当量化步长为40时,本方案的压缩比高于DCT,但在图像质量即峰值信噪比和结构相似性(structural similarity index, SSIM)上相较于DCT具有更好的效果。图像编码及解码执行时间如表6所示,本文方案在编码时长上高于其他方案,这是因为在编码器端进行实时特征分解,并且最优变换的选择增加了编码执行时间。但在解码器端本文方案的性能与Gaussian方案相近。
Figure 9. The subjective quality comparison among different compression schemes (0.9 bpp)
图9. 不同压缩方案的主观质量比较(0.9 bpp)
Table 5. Comparison of compression ratio and image quality with the same quantization step (40)
表5. 相同量化步长(40)下压缩比与图像质量比较
图像 |
本方案 |
DCT |
压缩比 |
PSNR/dB |
SSIM |
压缩比 |
PSNR/dB |
SSIM |
Parrot |
1.10 |
30.62 |
0.867 |
0.73 |
27.63 |
0.817 |
Peppers |
1.02 |
31.33 |
0.871 |
0.69 |
28.09 |
0.804 |
Lena |
0.68 |
31.50 |
0.848 |
0.47 |
29.02 |
0.786 |
Boat |
1.38 |
30.11 |
0.811 |
0.83 |
26.41 |
0.740 |
Cameraman |
0.99 |
30.68 |
0.873 |
0.69 |
27.88 |
0.829 |
Barbara |
1.34 |
28.66 |
0.870 |
0.99 |
26.03 |
0.798 |
Couple |
1.14 |
28.87 |
0.829 |
0.82 |
26.27 |
0.749 |
Hill |
0.99 |
29.13 |
0.796 |
0.74 |
27.10 |
0.734 |
Man |
1.11 |
28.77 |
0.809 |
0.81 |
26.40 |
0.731 |
Mandri |
1.66 |
27.07 |
0.818 |
1.19 |
24.11 |
0.716 |
Table 6. Execution time for encoding and decoding images
表6. 编码和解码图像的执行时间
方案 |
编码时长/s |
解码时长/s |
本文算法 |
14.989 |
1.364 |
DCT |
1.341 |
1.136 |
KLT |
1.867 |
1.174 |
Gaussian |
2.502 |
1.317 |
5. 总结
本文提出了一种基于图像纹理的图傅里叶变换编码方案,用于自然图像的压缩。与DCT等变换所不同的是,本文的方案针对不同纹理特征的图像块定义不同的图拉普拉斯矩阵,并且自适应地选择不同的图模式。通过将TGFT与DCT结合,在图像块的变换选择上可以实现在DCT和TGFT之间最优选择。在自然图像上的测试结果表明所提出的变换方案优于经典的DCT和其他的图变换方案,实现了更加高效的图像数据压缩。