2006-IEEE-Recovering DC coefficients in block-based DCT

【注】此论文中谈论的图像均为像素值在 (0,255)(0,255) 范围内的 RGB 图像,定义点 (i,j)(i,j)像素值f(i,j)f(i,j)

1. 拉普拉斯分布特性

对于自然图像而言,点 (i,j)(i,j) 处的相邻像素点

{(i1,j1),(i1,j),(i1,j+1),(i,j1),(i,j+1),(i+1,j1),(i+1,j),(i+1,j+1)}{\begin{array}{c} \{(i-1,j-1),(i-1,j),(i-1,j+1),(i,j-1),(i,j+1),(i+1,j-1),(i+1,j),(i+1,j+1)\} \end{array}}

对应的相邻像素点值

Q(i,j)={f(i1,j1),f(i1,j),f(i1,j+1),f(i,j1),f(i,j+1),f(i+1,j1),f(i+1,j),f(i+1,j+1)}{\begin{array}{c} Q(i,j)=\{f(i-1,j-1),f(i-1,j),f(i-1,j+1),f(i,j-1),f(i,j+1),f(i+1,j-1),f(i+1,j),f(i+1,j+1)\} \end{array}}

定义序列

f(i,j)q(i,j)i,j,q(i,j)Q(i,j){\begin{array}{c} f(i,j) - q(i,j) & \forall i, j, q(i,j) \in Q(i,j) \end{array}}

则该序列基本符合均值为 00 ,方差很小的拉普拉斯分布。此即为自然图像相邻像素值的拉普拉斯分布特性

2. JPEG 中的 DCT 和 IDCT 公式

JPEG 中采用的是 DCT-II 公式。其中

C(x)={18x=012x0{\begin{array}{c} C(x) = \left\{ \begin{array}{c} \sqrt{\frac{1}{8}} & x = 0 \\ \frac{1}{2} & x \neq 0 \end{array} \right. \end{array}}

2.1 DCT 公式

F(u,v)=C(u)C(v)i=07j=07f(i,j)cos2i+116uπcos2j+116vπ{\begin{array}{c} F(u,v) = C(u) C(v) \sum_{i=0}^7 \sum_{j=0}^7 f(i,j) \cdot \cos{\frac{2i+1}{16} u \pi} \cos{\frac{2j+1}{16} v \pi} \end{array}}

2.2 IDCT 公式

f^(i,j)=u=07v=07C(u)C(v)F(u,v)cos2i+116uπcos2j+116vπ{\begin{array}{c} \hat{f}(i,j) = \sum_{u=0}^7 \sum_{v=0}^7 C(u) C(v) F(u,v) \cdot \cos{\frac{2i+1}{16} u \pi} \cos{\frac{2j+1}{16} v \pi} \end{array}}

3. AC 系数预测 DC 系数

3.1 原理

相邻图像块边界的图像像素值满足拉普拉斯分布,因此可以用来预测相邻块的 DC 分量。假设已知相邻两个 8×88 \times 8 图像块边缘相邻的两个图像点像素值:

p(k)=ρ(k)+1N2c1,1(k)p(k+1)=ρ(k+1)+1N2c1,1(k+1){\begin{array}{c} p^{(k)} = \rho^{(k)} + \frac{1}{N^2} c_{1,1}^{(k)} \\ p^{(k+1)} = \rho^{(k+1)} + \frac{1}{N^2} c_{1,1}^{(k+1)} \end{array}}

其中,ρ\rho 表示组成像素值 pp 的所有 AC 分量部分,c1,1c_{1,1} 表示当前块的 DC 分量(本质上为 F(0,0)C(0)C(0)\frac{F(0,0)}{C(0)C(0)})。则根据拉普拉斯特性有:

p(k+1)p(k)ρ(k+1)+1N2c1,1(k+1)ρ(k)+1N2c1,1(k)c1,1(k+1)c1,1(k)+N2(ρ(k)ρ(k+1)){\begin{array}{c} & p^{(k+1)} & \approx & p^{(k)} \\ \Rightarrow & \rho^{(k+1)} + \frac{1}{N^2} c_{1,1}^{(k+1)} & \approx & \rho^{(k)} + \frac{1}{N^2} c_{1,1}^{(k)} \\ \Rightarrow & c_{1,1}^{(k+1)} & \approx & c_{1,1}^{(k)} + N^2 (\rho^{(k)} - \rho^{(k+1)}) \end{array}}

因此,如果当前图像块的 DC 分量缺失,其实是可以用相邻块来进行预测。其主要思想就是用未缺失的 AC 分量结合相邻块的 DC 分量来预测当前块的 DC 分量。

3.2 方式

相邻块DC系数预测方式

因为 JPEG 是以 8×88 \times 8 大小划分图像块的,以第一种方式为例,预测得到的当前块的 DC 系数为:

c1,1(k+1)c1,1(k)+N28i=18(ρi(k)ρi(k+1)){\begin{array}{c} c_{1,1}^{(k+1)} \approx c_{1,1}^{(k)} + \frac{N^2}{8} \sum_{i=1}^8 (\rho^{(k)}_i - \rho^{(k+1)}_i) \end{array}}

4. JPEG 压缩中 DC 系数与 AC 系数之间的制约关系

由于 DC 系数(1N2c1,1\frac{1}{N^2} c_{1,1})是 8×88 \times 8 图像块像素值的均值,且像素值的范围为 (0,255)(0,255),故 DC 系数与 AC 系数之间会相互制约:

  • 若 AC 系数的可变化范围大,则说明 DC 系数较小。
  • 若 DC 系数较大,则说明 AC 系数的可变化范围小。

DC 系数和 AC 系数的取值范围不同,且最值不能同时取到。比如:

  • DC 系数的取值范围为 [1024,1024][-1024, 1024]
  • 某些 AC 系数的取值范围为 [420.3863,420.3863][-420.3863, 420.3863]