Abstract
最近,为DCT系数开发了一种新的概率模型,称为拉普拉斯透明复合模型(LPTCM),除了提供卓越的建模精度外,还可以识别异常系数。在本文中,我们旨在探索其在图像压缩中的应用。为此,我们提出了一种有效的非预测图像压缩系统,其中基于LPTCM完全重新设计了量化(包括硬判决量化(HDQ)和软判决量化(SDQ))和熵编码。
当在标准测试图像上进行测试时,就速率与视觉质量而言,所提出的系统实现了与H.264或HEVC帧内(预测)编码最佳和类似的整体编码结果。
另一方面,就速率与客观质量而言,PSNR平均表现优于基线JPEG超过4.3 dB,复杂度略有增加,ECEB是最先进的非预测图像编码,与ECEB相比,当SDQ为OFF(即HDQ情况)时为0.75 dB,具有相同的计算复杂度,当SDQ为ON时为1 dB,代价是复杂性略有增加。
与H.264内部编码相比,我们的系统提供了大约0.4 dB的增益,大大降低了计算复杂度;与HEVC内部编码相比,它在高速率区域或复杂图像中提供可比较的编码性能,但仅具有不到5%的HEVC编码内复杂度。此外,我们提出的系统还提供多分辨率功能,再加上其相对较高的编码效率和低复杂性,使其成为实时图像处理应用的良好替代品。
Index Terms—Image coding, transparent composite model (TCM), outlier, quantization, entropy coding.
I. INTRODUCTION
为了更好地处理离散余弦变换(DCT)系数中常见的尾部现象,最近开发了一种被称为拉普拉斯透明复合模型(LPTCM)的新模型,并对模型精度和附加数据简化能力进行了合理[1], 2]。给定一系列DCT系数,LPTCM首先将尾部与序列的主体分开,然后使用均匀分布来模拟尾部的DCT系数,同时使用截断的拉普拉斯分布来模拟主体中的DCT系数。 。通过[1]和[2]中开发的最大似然估计算法,可以在线容易地估计分离边界和截断拉普拉斯分布的参数。如[1]和[2]所示,由此产生的LPTCM不仅实现了出色的建模精度,而且通过识别和分离尾部的DCT系数(称为异常系数或者),具有良好的非线性数据减少能力。从主体中的DCT系数(简称为inlier系数或简称inlier)中简单地离群)。这反过来为它开启了基于DCT(有损)图像压缩的机会,这是本文的目的。
LPTCM在图像中识别的异常值通常在统计上是不显着的 - 平均约为图像总AC系数(AC)的1.2%,如[1]中所述。 然而,它们的幅度通常很大,并且传达了图像的一些独特的全局特征,例如独特的边缘和纹理,这对感知是很重要的。 如果它们没有被适当地量化和编码,则通常会显着恶化比特率失真(RD)性能。 因此,应该明智地将异常值与正常值分开处理,以便在基于DCT的非预测图像编码系统中实现更好的RD性能。
基于LPTCM,在本文中,我们首先提出了一种新的结构化量化器,称为AC系数的透明复合量化器(TCQ,transparent composite quantizer)。 给定LPTCM的分离边界(详见第二节),TCQ使用所谓的约束死区量化器(CDZQ,constrained dead-zone quantizer)来量化内点,同时采用均匀量化器(UQ,uniform quantizer)来量化异常值。 通常,UQ将具有比CDZQ更小的量化步长,以保护异常值免受大量失真的影响。 LPTCM用于独立地对63个AC频率中的每一个进行建模。 因此,每个AC频率有一个CDZQ,其设计又取决于相应LPTCM的参数。
量化器的重新设计自然需要新的熵编码。基于LPTCM和TCQ,我们提出了一种新的熵编码方法,称为透明复合编码(TCC ,transparent composite coding),它由两个独立的编码方案组成,用于处理异常值的编码(表示图像中的异常值位置)和量化指标,分别为1)用于编码异常值的基于上下文自适应层的双层图像编码(CALBIC,context-adaptive layer-based bi-level image coding )方案,以及2)用于编码的基于上下文自适应层的复合算术编码(CALCAC, context-adaptive layer-based composite arithmetic coding)方案,其中异常值作为辅助信息,异常值和内点的量化指数。给定TCQ的重建空间和无损编码方法CALCAC,我们进一步提出了软判决量化(SDQ,soft-decision quantization)算法以联合优化量化和熵编码。我们提出的基于DCT的非预测图像编码系统在图1中示出,其中TCQ可以根据硬判决量化(HDQ)或SDQ来实现。
各个系统组件(例如CDZQ,CALBIC和TCC)和整个系统都经过测试,并与各自的基准进行了比较。对于截断的拉普拉斯源,CDZQ通常提供比标准死区量化器更好的RD性能。对于异常的双层图像,CALBIC比JBIG2 [9](最先进的双层图像编码)更有效地无损压缩它们。作为量化DCT系数的无损编码引擎,TCC在我们的设置中与无损编码引擎HEVC帧内编码相比更有利,为TCQ量化系数提供了更好的压缩效率。
总体而言,整个系统在标准测试图像上进行测试时,在RD性能方面实现了最佳和类似于H.264或HEVC帧内(预测)编码所提供的压缩结果。
具体而言,我们的系统在PSNR平均表现优于基线JPEG超过4.3 dB,复杂度适度增加,并且与嵌入式块变换系数(ECEB,embedded block transform coefficients)[10],即此前最先进的非预测图像编码相比,当SDQ关闭时(即HDQ情况),工作时表现优于ECEB0.75 dB,具有相同的计算复杂度,当SDQ开启时为1 dB,代价是复杂性略有增加。与H.264帧内编码[11](具有相同的DCT大小)相比,整个系统提供了大约0.4 dB的增益,大大降低了计算复杂度。
它还具有为高速区域中或者复杂图像新开发的HEVC帧内编码[12]相当的编码性能,但低于后者的编码复杂度仅5%。此外,通过组合[13]中提出的前置/后置滤波器,我们的低速率编码性能可以大大提高,而且额外的计算复杂度可以忽略不计,因此在低速率地区它优于H.264并且接近HEVC帧内编码。此外,由于CALBIC方案以及CALCAC中异常值和内点的单独编码,所提出的系统还具有有趣的多分辨率能力 - 其编码比特流可以逐步产生几个解码图像,范围从较低的PSNR分辨率到较高的PSNR分辨率。这种吸引人的功能,以及相对较高的编码效率和低复杂性,使其成为实时图像处理应用的良好替代品。
本文的其余部分安排如下。 第二部分简要回顾了LPTCM。 第III节和第IV节分别介绍了TCQ和TCC。 SDQ算法和多分辨率能力分别在第V节和第VI节中讨论。 实验结果在第VII节中给出。 最后,我们总结了论文,并在第八部分提出了我们未来的工作。
II. LAPLACIAN TRANSPARENT COMPOSITE MODEL
在每个像素减去128之后,要编码的(8位灰度)图像首先被8×8DCT转换。 LPTCM的概率密度函数由下式给出
[fleft( y
ight) = left{ egin{array}{l}
frac{{{b_k}}}{{2{lambda _k}left( {1 - {e^{ - {Y_k} / {lambda _k}}}}
ight)}}{e^{ - frac{{left| y
ight|}}{{{lambda _k}}}}},if{kern 1pt} {kern 1pt} {kern 1pt} left| y
ight| < {Y_k}\
frac{{1 - {b_k}}}{{2left( {{A_k} - {Y_k}}
ight)}}{kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} ,if{kern 1pt} {kern 1pt} {kern 1pt} {y_k} < left| y
ight| le {A_k}\
0{kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} ,{kern 1pt} {kern 1pt} if{kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} left| y
ight| > {A_k}{kern 1pt}
end{array}
ight.]
此函数用于在63个AC系数中的每一个模拟AC长度为N的序列${X_k} = left{ {{X_k}left( h ight)} ight}_{h = 1}^N$,其中${b_k} in left[ {0,1} ight]$是预定义扫描顺序(如Z字形顺序)中第$k$个频率的内部概率,${lambda _k}$表示截断的Laplacia分布的相应比例参数,${Y_k}$是对应的截断点或 分离边界,将异常值与正常值分开(超出${Y_k}$的AC称为异常值,${Y_k}$内的AC称为正常值),$0 < {Y_k} < {A_k}$,${A_k}$表示第$k$个频率的样本AC可以达到的最大可能幅度,$2 le k le 64$,LPTCM参数${b_k}$,${lambda_k}$和${Y_k}$可以通过[1]和[2]中提出的具有全局收敛的高效在线算法来计算。
III. TRANSPARENT COMPOSITE QUANTIZER
在量化所有DCT系数之前,我们首先应用[14]中提出的以下最优失真分布(OptD)程序:
$D_k^* = left{ egin{array}{l}
d{kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} if{kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} d le sigma _k^2\
sigma _k^2{kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} otherwise
end{array}
ight.$
其中$D_k^*$是在第$k$个频率可达到的最佳失真分布[14],$1 le k le 64$,$d$表示预定的失真水平,并且选择它使得$mathop sum limits_{k = 1}^{64} D_k^* = {D_T}$,其中${D_T}$ 是期望的总失真,$sigma _k^2$表示相应的方差。 OptD的主要思想是为每个频率初始分配相同数量的失真。如果包含频率上所有DCT系数的源的方差小于或等于d,那么可以跳过该频率并且所有相应的DCT 系数直接量化为0。具体来说,我们定义一个称为终止表或$Y$表的二进制表,$T = left{ {{T_1},{T_2}, cdots ,{T_{64}}} ight}$,如果$sigma _k^2 > d$则${T_k} = 0$,否则为1。 ${T_k} = 1$的频率将被跳过。
由于${T_k} = 0$的每个AC频率的DCT系数由(1)中给出的LPTCM建模,因此我们使用TCQ对它们进行量化。 具体而言,在我们提出的TCQ中,我们使用一个UQ来量化所有AC频率的${T_k} = 0$的所有异常值,以及所有DC系数(DC)。UQ的量化步长${q_1}$由[sqrt {d/12} ]计算。 对于每个AC频率$2 le k le 64$(${T_k} = 0$),TCQ的UQ由下式给出:
对于$left| {{y_k}} ight| > {Y_k}$,有
[Q({y_k}) = sign({y_k})left( {{Y_k} + {q_1}(round(frac{{left| {left| {{y_k}} ight| - {Y_k} + frac{{{q_1}}}{2}} ight|}}{{{q_1}}}) - 0.5)} ight)]
并且相对量化指数由下式给出
[{c_k}' = sign({y_k}) imes ({L_k} + round(frac{{left| {left| {{y_k}} ight| - {Y_k} + frac{{{q_1}}}{2}} ight|}}{{{q_1}}}))]
其中$L_k$表示第$k$个频率的正常值的量化r指数可以取得的最大可能值($L_k$实际上是频率k处各个CDZQ的量化参数之一,并且稍后讨论$L_k$的确定)。 单独的CDZQ用于量化AC频率$k$处的所有正常值。 在下文中,我们在第III-A小节中规范化CDZQ问题,并在第III-B小节中解决。
A. Constrained Dead-Zone Quantizer Design: Problem Formulation
在这一小节中,我们研究了一种基于截断拉普拉斯模型的称为约束死区量化器的新型死区量化器(DZQ)。 其命名为约束DZQ的原因在于,由于截断(在LPTCM中),其死区大小受到约束,即最后的量化分区边界(对于正分布部分)必须驻留在$Y_k$中,$2 le k le 64$。假设分区规则与传统的DZQ设置中一样固定为统一分区(除了包含零的那个)。 然后我们有以下约束
${Y_k} = {u_k} + {L_k} cdot {q_k}$ 或者等价地 ${u_k} = {Y_k} - {L_k} cdot {q_k}$
其中$q_k$和$u_k$分别表示第$k$个频率的CDZQ的量化步长和死区大小(对于正分布部分)。 在数学上,TCQ的CDZQ由下式给出
对于$left| {{y_k}} ight| le {Y_k}$
[Q({y_k}) = left{ egin{array}{l}
0,{kern 1pt} {kern 1pt} {kern 1pt} if{kern 1pt} {kern 1pt} {kern 1pt} {kern 1pt} left| {{y_k}}
ight| le {u_k}\
sign({y_k})left( {{delta _k} + {q_k}(round(frac{{left| {left| {{y_k}}
ight| - {u_k} + frac{{{q_1}}}{2}}
ight|}}{{{q_k}}}) - )}
ight)
end{array}
ight.{kern 1pt} {kern 1pt} {kern 1pt} o.w.]
其中,根据截断的拉普拉斯分布,将重建$Q({y_k})$计算为每个分区间隔的质心,其中重建偏移${{delta _k}}$是对应于第一正分区间隔的重建点,并且
[{delta _k} = {u_k} + {lambda _k} + {q_k}/(1 - {e^{{q_k}/{lambda _k}}})]
对于每个$left| {{y_k}} ight| > {u_k}$,对应的量化指数$c_k$由下式计算
[{c_k} = sign({y_k}) imes round(frac{{left| {left| {{y_k}} ight| - {u_k} + frac{{{q_k}}}{2}} ight|}}{{{q_k}}}))]
基于上述CDZQ结构,给定${lambda_k}$,${Y_k}和目标畸变$d^*$,我们的设计问题是确定最佳量化步长${q_k}^ * $和死区大小${u_k}^ * $,使RD成本最小化:
[left{ egin{array}{l}
mathop {min }limits_{{u_k},{q_k}} R({lambda _k},{Y_k},{u_k},{q_k}) le {d^ * }\
{u_k} = {Y_k} - {L_k} cdot {q_k}\
{u_k} ge 0.5 cdot {q_k}\
{L_k} in I,{q_k} in R
end{array}
ight.]