论文信息
Title | Authors |
---|---|
Uniform Embedding for Efficient JPEG Steganography | Linjie Guo, Jiangqun Ni, and Yun Qing Shi |
JPEG统计特征
隐写分析中通常使用量化后的DCT系数来构建特征集合,用以检测JPEG隐写术。实际上,块DCT系数中的直方图和共生矩阵被广泛使用在隐写分析中。直方图对应的是一阶统计,共生矩阵对应的是二阶统计(可以捕获DCT系数之间的相关性)。
一旦有秘密信息被嵌入到JPEG图像中,DCT系数的统计就会有一定程度的修改,这就给隐写分析留下了踪迹。
图1是JPEG原始DCT系数的直方图和共生矩阵。其中共生矩阵中的X2是X1的相邻系数,移动步长为1。可以看出,绝大部分系数都集中在0以及0附近。
可以认为DCT系数的一阶统计特征是类拉普拉斯分布的,这个事实需要注意。
nsF5的嵌入变化
图2是DCT系数使用nsF5算法进行嵌入之后得到的修改后的直方图,可以看到基本上0系数已经移动到左右两边了。图3是对这些修改的统计,可以看出在0系数以及附近的修改所占比重明显。空间有限,这里就不展示共生矩阵的嵌入变化了,但基本上是与一阶统计特性相似的。
nsF5是如何修改的?
想要理解为什么nsF5嵌入修改之后会造成上文所述的变化,就要先了解nsF5的工作流程。
对于给定载荷$\alpha$,nsF5的具体工作流程如下:
- 根据$\alpha$计算嵌入效率的理论界限;
- 计算需要被修改的系数个数$n$;
- 随机选择$n$个非零AC系数并将他们的绝对值减1.
上文提到,DCT系数的分布是类拉普拉斯分布的,而nsF5所采用的随机选择策略,会导致大部分被修改的系数都是绝对值小的系数。也就是图中所展示的,大部分修改后的系数集中在绝对值2以内。
何为均匀嵌入(Uniform Embedding)?
通过利用DCT系数的统计分布特征(类拉普拉斯分布),大部分隐写分析检测JPEG隐写术都可以获得高准确率。对于JPEG隐写术来说,即使采用一种更为有效的编码策略来使得总的系数修改数降低,嵌入后的修改系数分布特征还是相似的。这样还是会很容易被隐写分析者检测出来。
这时,均匀嵌入策略就异军突起,走向历史舞台了。
UE策略试图将对系数的嵌入修改扩展到所有存在的系数中去来最小化每个bin(直方图中,列可以叫做bin)的统计变化。这类似于扩频通信(spread specturm)的思想,关于扩频通信,我学通信的朋友生动地给我手绘了一张图来说明:
这是意识流的解释,懂的自然懂(滑稽)。
均匀嵌入失真函数(UED)的设计思想
为了能够完成均匀嵌入,使用到的失真函数必须设计成不同大小的系数都能够以相同的优先级被选择到。这个失真函数就称作是均匀嵌入失真函数(Uniform Embedding Distortion)。
用x表示具有类拉普拉斯分布特征的DCT系数,那么UED使用到的失真函数应该具有下面这种形式:
$$\rho(x)=1/|x|$$
系数值越大,失真判定越小,被选择用于嵌入修改的概率也就越大。即,系数x被选择的概率随着x的绝对值增大而减小,成反比。
图4绘制了上述介绍的分布的大致曲线,a是DCT系数的分布,b就是UED每个系数被选择的概率分布,c就是被选择的系数分布的大致曲线。
对自然图像模型的参考
很明显看出,使用UED来设计失真时,对绝对值大的DCT系数的修改数量是高于之前提出的方法的。
现有的JPEG隐写分析方法一般会利用自然图像模型的优势,即根据量化后DCT系数的一阶和二阶统计特性来进行隐写分析。
如果某种图像模型可以准确的表示DCT系数的分布状况(我的理解是能够对分布情况提出合理的量化表述),那么对载体进行任何轻微的修改都会被检测出来。
幸运的是,对于自然图像来说,DCT系数的分布严重依赖图像内容,每种内容不同的图像的分布特征都有明显差别。也就是说自然图像的统计特征没有任何一种图像模型可以准确估计出来。这对于隐写术来说,无疑是件好事。
为了证明自然图像在一阶和二阶统计上的偏差,作者首先计算直方图$p(x)$的均值$\mu(x)$和标准差$\sigma(x)$。然后用归一化变异系数(coefficient of variation)来定义标准差和均值的比:
$$Cv(x)=\frac {\sigma(x)} {\mu(x)}$$
这里就体现了用相对变化来衡量失真的作用,因为无论用均值和标准差来独自证明检测能力随系数值的变化,都是不合理的。
篇幅限制,这些量随系数绝对值增大的变化这里不作展示,只陈述结果。
作者发现,$Cv(x)$随着$x$的绝对值增加而增加,这说明随着$x$的绝对值增加,DCT系数直方图偏差严重 ,这句十分不理解,但结合论文中对二阶统计的介绍,是说随着系数增大,更难以去建模统计特征,也就是抗隐写分析的能力更好吧(存疑)。
根据这个结论,如果使每个$x$的相对修改率与它自身的$Cv$值成比例的话,就可以使得对所有x做出均匀的修改,并且一阶统计特性的统计影响也能最小化。在二阶统计上也观察到了相似的效果。因此,修改一个DCT系数,在统计上的影响依赖于系数本身大小以及和它相邻的系数大小。
均匀嵌入失真函数的设计
- 基于单系数的均匀嵌入失真(SC-UED)
用$c_{ij}$表示在$(i,j)$位置上的DCT系数,SC-UED可以设计如下:
$$\rho_{ij}^{SC}=|c_{ij}|^{-1}.$$
没错,就是上面提到的失真函数设计思想中的一般形式。
- 基于联合系数的均匀嵌入失真(JC-UED)
设计更加实用的UED,不知需要考虑到DCT系数自身大小,它的块间和块内相邻的系数都需要被考虑在内。作者认为块内和块间相邻系数有着最强的数值相关性。将多个系数同时考虑在内的失真函数就是基于联合系数的均匀嵌入失真(JC-UED):
$$\rho_{ij}^{JC}=\sum_{d_{ia} \in N_{ia}}(|c_{ij}|+|d_{ia}|+a_{ia})^{-1}+\sum_{d_{ir} \in N_{ir}}(|c_{ij}|+|d_{ir}|+a_{ir})^{-1}.$$
其中$N_{ia}={c_{i+1,j},c_{i-1,j},c_{i,j+1},c_{i,j-1}}$和$N_{ir}={c_{i+8j},c_{i-8,j},c_{i,j+8},c_{i,j-8}}$分别表示块内相邻系数和块间相邻系数。$a_{ia}$和$a_{ir}$是调节参数,具体值可根据实验确定。
对UED的总结
因为以往的JPEG隐写术,如nsF5算法对于DCT系数的修改大都集中在零AC系数附近,这是由DCT系数的类拉普拉斯分布及随机选择策略决定的。为了减少这种明显的隐写嵌入特征,作者提出了均匀嵌入策略,试图将修改平均分布到所有系数中,从而最小化失真,导致更低的统计可检测性,提高隐写术的安全性。在UE的思想下,作者设计了两种失真函数,SC-UED和JC-UED,其中JC-UED能够同时兼顾一阶和二阶统计特性,起到很好的均匀嵌入效果。
疑问
图3的数据分布我目前不知道作何解释,论文里说的是使用nsF5得到的数据相对于原图再统计上的变化。可能是我哪里理解不到位吗?这里先占个坑,后续确认理解无误再进行说明。