Content area
Full text
1 引言
随着网络和多媒体技术的发展,二维图像/视频在人们的生活、学习和工作等各个方面已普遍存在,且实时的二维视频可视通信已经走向成熟。普通的单视点图像视频已经不能满足人们的视觉需求,3D媒体的立体现实感逐渐成为一种时尚的追求,立体视频图像增加了景物的深度信息,增强了视觉的现实感和逼真感[1-2]。市场对立体视频系统开发与应用的需求也越来越迫切,如在立体数字电视、远程教育、三维视频会议系统、虚拟现实系统、远程医疗等诸多领域有着广泛的应用前景[3-4]。目前已有较多立体电影等多媒体在市场上流行,这些3D多媒体内容可能会通过互联网等非安全通道传输。如何有效地防范3D多媒体信息非法传播,已成为版权保护的一个重要问题。数字水印是有效解决版权保护的重要技术之一。
按照水印的特性,一般可以将水印分为脆弱水印和鲁棒水印。脆弱水印对任何修改都较敏感,适用于精确的篡改认证。文献[5]提出了基于脆弱水印的图像认证方法,利用滑动窗口技术和层次结构嵌入水印,能够较准确地定位小分块的篡改。文献[6]利用图像块的离散正弦变换(discrete cosine transform,DCT)系数生成水印嵌入到偏移图像块的次低位;然后,将恢复水印作为图像块内容的一部分生成认证水印,将其嵌入到图像块的最低有效位。该方法不仅能够准确定位被篡改的位置,并且能够区分是水印被篡改还是图像内容被篡改,在一定条件下可以将内容篡改的区域进行恢复。文献[7]提出了一种基于图像内容可恢复的半脆弱水印方法,利用自适应水印对图像进行认证以及篡改定位,并采用零水印恢复图像。该方法还能有效抵抗部分图像攻击,例如JPEG压缩等。
鲁棒水印能够抵抗一定程度的常规攻击和恶意攻击,且不影响水印的检测和提取[8-10]。一般鲁棒水印利用不同变换域的系数特征嵌入水印,从而达到鲁棒性。文献[11]提出了一种基于DCT的水印方法,图像经过正交三角(QR)分解,计算得到一种稳定的特征,并通过量化索引调制(quantization index modulation,QIM)算法修改该特征从而嵌入水印,提高了感知能力。文献[12]利用离散小波变换(discrete wavelet transform,DWT)提出一种鲁棒量化水印方法,在抵抗亮度和对比度调整上具有较强的鲁棒性,然而在噪声等攻击上具有较弱的抵抗力。对于鲁棒水印在考虑鲁棒性的同时,也必须考虑水印的不可见性。文献[13]提出一种基于混合DWT、DCT和奇异值分解(singular value decomposition,SVD)的方法,并利用最小二乘曲线拟合得到最优嵌入强度,取得了水印不可感知性和鲁棒性的平衡。文献[14]将彩色图像分为Y分量和CbCr分量,并根据各自直方图特征嵌入水印,提高了水印的不可见性和鲁棒性。文献[15]通过增加变量的数量和扩展变换空间改进Arnold变换,并结合神经网络优化了水印的不可感知性和鲁棒性。此外,水印的安全性也是鲁棒水印的重要因素。文献[16]提出了基于混沌混合的盲图像水印方法,结合混沌动力学,使方法更具有安全性。
以上都是针对单视点图像的鲁棒水印。然而,至今,针对立体图像的鲁棒水印方法报道仍旧较少。文献[17]针对立体图像提出了自恢复的脆弱水印。在鲁棒性方面,文献[18]提出一种面向对象的立体图像水印方法,但是该方法只能有效抵抗JPEG等压缩攻击,并且量化系数会导致较严重的图像失真。文献[19]提出了一种基于关系调制的立体图像水印方法,将立体图像分块并定义图像块的极性,根据水印与左右图像块极性的关系嵌入水印,提高了水印鲁棒性。然而该方法需要较多的边信息传递。文献[20]提出了一种基于非匹配块位图的立体图像鲁棒水印方法,通过对DCT的AC系数随机分组选择水印嵌入位置,增强了水印的鲁棒性,但是图像质量较差。文献[21]提出了一种基于DCT-SVD的立体图像版权保护的混合水印方法,能够抵御盐椒、噪声、高斯等图像攻击,但是JPEG压缩和剪切等攻击抵抗效果较差。以上立体图像水印方法中,没有充分考虑视点中彩色图像三通道的相关性,也没有较好利用左右视点的相关性。
针对立体图像的版权问题,提出了基于左右视点相关性的立体图像鲁棒水印方法。首先,对左右视点分别进行张量分解,分别得到第一特征图,从而保留视点中各彩色通道的相关性。同时,对左右视点第一特征图进行联合张量分解,保留了左右视点的相关性,最终计算得到立体图像的主要能量特征图。其次,利用SVD分解主要能量特征图,计算得到重要的系数矩阵,通过改变该系数矩阵嵌入水印。实验证明,本方法能够有效抵抗较多类型的图像攻击,并且具有较好的鲁棒性。
2 张量
张量是一个多维数组,其阶数是其维度的数量。张量分解有两种方法,即CP和Tucker分解,本文主要是采用Tucker分解的形式。Tucker分解是将原始张量分解成核心张量和一系列矩阵的乘积的形式,其中核心张量保留了原张量的主要信息。例如张量X表示为
\( \mathit{\boldsymbol{X = G}}{ \times _1}{\mathit{\boldsymbol{H}}^{\left( 1 \right)}}{ \times _2}{\mathit{\boldsymbol{H}}^{\left( 2 \right)}} \cdots { \times _i}{\mathit{\boldsymbol{H}}^{\left( i \right)}} \cdots { \times _n}{\mathit{\boldsymbol{H}}^{\left( n \right)}}, \)(1)
其中:G表示核心张量,符号×i表示张量乘以模态i下的矩阵,H(i)表示的是模态i下展开的张量经过SVD得到的正交奇异矩阵,其中三阶张量分解如图 1所示。其核心张量表达式为
\( \begin{array}{l} \mathit{\boldsymbol{G}} = \mathit{\boldsymbol{X}}{ \times _1}{({\mathit{\boldsymbol{H}}^{(1)}})^{\rm{T}}}{ \times _2}{({\mathit{\boldsymbol{H}}^{(2)}})^{\rm{T}}} \cdots \\ \;\;\;\;\;\;{ \times _i}{({\mathit{\boldsymbol{H}}^{(i)}})^{\rm{T}}} \cdots { \times _n}{({\mathit{\boldsymbol{H}}^{(n)}})^{\rm{T}}}。\end{array} \)(2) [Image omitted: See PDF]
张量的矩阵化:张量的矩阵化是将张量中的元素重新排列,得到一个矩阵的过程。对于N阶张量,其张量模态-N的展开对应各维度上的张量矩阵化的矩阵。其展开形式如下:
对于一个三阶张量A∈R3×3×2,设其前切面为
\( {A_1} = \left[ \begin{array}{l} 1{\kern 1pt} {\kern 1pt} {\kern 1pt} 2{\kern 1pt} {\kern 1pt} {\kern 1pt} 3\\ 4{\kern 1pt} {\kern 1pt} 5{\kern 1pt} {\kern 1pt} {\kern 1pt} 6\\ 7{\kern 1pt} {\kern 1pt} {\kern 1pt} 8{\kern 1pt} {\kern 1pt} {\kern 1pt} 9 \end{array} \right],{A_2} = \left[ \begin{array}{l} 11{\kern 1pt} {\kern 1pt} {\kern 1pt} 12{\kern 1pt} {\kern 1pt} {\kern 1pt} 13\\ 14{\kern 1pt} {\kern 1pt} {\kern 1pt} 15{\kern 1pt} {\kern 1pt} {\kern 1pt} 16\\ 17{\kern 1pt} {\kern 1pt} {\kern 1pt} 18{\kern 1pt} {\kern 1pt} {\kern 1pt} 19 \end{array} \right],\)
其在第1模态下展开的矩阵为
\( {A_{\left( 1 \right)}} = \left[ \begin{array}{l} 1{\kern 1pt} {\kern 1pt} {\kern 1pt} 2{\kern 1pt} {\kern 1pt} {\kern 1pt} 3{\kern 1pt} {\kern 1pt} {\kern 1pt} 11{\kern 1pt} {\kern 1pt} {\kern 1pt} 12{\kern 1pt} {\kern 1pt} {\kern 1pt} 13\\ 4{\kern 1pt} {\kern 1pt} {\kern 1pt} 5{\kern 1pt} {\kern 1pt} 6{\kern 1pt} {\kern 1pt} {\kern 1pt} 14{\kern 1pt} {\kern 1pt} {\kern 1pt} 15{\kern 1pt} {\kern 1pt} {\kern 1pt} 16\\ 7{\kern 1pt} {\kern 1pt} {\kern 1pt} 8{\kern 1pt} {\kern 1pt} {\kern 1pt} 9{\kern 1pt} {\kern 1pt} 17{\kern 1pt} {\kern 1pt} {\kern 1pt} 18{\kern 1pt} {\kern 1pt} {\kern 1pt} 19 \end{array} \right];\)
其在第2模态下展开的矩阵为
\( {A_{\left( 2 \right)}} = \left[ \begin{array}{l} 1{\kern 1pt} {\kern 1pt} {\kern 1pt} 4{\kern 1pt} {\kern 1pt} {\kern 1pt} 7{\kern 1pt} {\kern 1pt} {\kern 1pt} 11{\kern 1pt} {\kern 1pt} {\kern 1pt} 14{\kern 1pt} {\kern 1pt} {\kern 1pt} 17\\ 2{\kern 1pt} {\kern 1pt} {\kern 1pt} 5{\kern 1pt} {\kern 1pt} {\kern 1pt} 8{\kern 1pt} {\kern 1pt} {\kern 1pt} 12{\kern 1pt} {\kern 1pt} {\kern 1pt} 15{\kern 1pt} {\kern 1pt} {\kern 1pt} 18\\ 3{\kern 1pt} {\kern 1pt} {\kern 1pt} 6{\kern 1pt} {\kern 1pt} {\kern 1pt} 9{\kern 1pt} {\kern 1pt} {\kern 1pt}...





