王朝庆 ,贾立平
(1.山东广播电视台,山东 济南 250062;2.山东大学 软件学院,山东 济南 250101;3.大众报业集团,山东 济南 250014)
数字水印技术是数字版权保护领域的常用技术,它通常在数字作品中嵌入带有版权信息的数据以防止数字版权遭到不法侵害,或者在数字版权遭到侵害后提供法律依据。数字水印技术通常具有透明性、鲁棒性及安全性的特征。透明性是指数字水印数据不应该干扰到数字作品的可观赏性,不能够被观赏人的视觉或者听觉明显察觉,从而影响作品的主观评价;鲁棒性是指数字作品中的水印信息不能轻易被破坏和干扰,要能抵御一定水平的转码、复制及翻拍等;安全性是指数字水印不能够被未授权的人轻易地提取和篡改。
数字视频水印技术是近年来兴起的一种数字视频领域的版权保护技术,在视频版权保护方面应用广泛。数字视频水印可以分为原始域水印和压缩域水印。原始域水印是把水印直接嵌入原始视频的图像序列中,压缩域数字水印是把水印嵌入到经过编码压缩的码流上。压缩域水印技术近年来是数字视频水印应用领域的一个热点[1-2]。
压缩域的视频水印技术目前常用的方法是在视频中嵌入一副简单的黑白图像,这种二值图像是肉眼可见的,用黑白块的方式拼接出简单的字符或者特殊标志,所承载的信息量很少,通常只有几个字符[3]。
本文提出一种基于二维码的压缩域视频水印方法,利用编码后视频的文件特征,在视频的关键帧(I帧)中嵌入一副二维码图像。二维码是一种新型的技术手段,它不依赖人的视觉进行信息的传递,主要通过信息设备进行信息的识别和提取,具有容错率高和信息密度大的特点。本文采用QR Code编码的二维码,容错级别为25%,可以轻松地在一幅100*100的图像中承载50个有效字符。
根据《高清晰度电视节目素材交换格式》标准[4],高清晰度视频素材可以采用MPEG-2编码,本文以MPEG-2编码格式为例,利用该编码标准的特点,将二位码水印信息嵌入到经过MPEG-2编码的高清晰度视频节目中。
MPEG-2编码包含I帧、B帧及P帧共3种视频帧[5]。I帧即帧内编码,其帧内容全部来自于该帧对应的原始图像,I帧编码类似于JPEG图像编码,可以理解为一幅静态图像,其帧压缩比较低,一般充当关键帧的角色。B帧即双向预测编码帧,它将位于自身前面和后面的帧作为参考帧,对前面的帧进行前向运动补偿预测,对后面的帧做后续运动补偿预测。P帧即预测编码帧,它根据它前面的I帧或者P帧的数据进行运动补偿运算得来,依赖于其他帧的数据。I帧数据相对独立,数量相对较少,可以将水印数据嵌入到I帧中,以降低运算复杂度,提高鲁棒性。
离散余弦变换(Discrete Cosine Transform,DCT)的作用是将色彩域的信号变换为频率域信号[6]。通过DCT变换,可以将图像中主要的直流分量和低频分量集中到矩阵的左上角。人眼对图像中的这部分数据比较敏感,应该重点保留;对于位于右下角的高频分量则可以选择性忽略,以达到视频压缩的目的。
MPEG-2中I帧的DCT变换采用8*8像素块,以8*8为最小单位进行变换运算。变换完成后,得到一组DCT系数,利用DCT数据冗余的特点,将水印数据嵌入到DCT系数中。
REC.709色彩标准是国际电信联盟规定高清晰度电视(HDTV)的色彩标准,其亮度方程为:
可以根据此方程推导出红色差信号Cr和蓝色差信号Cb,分别为Cr=R-Y,Cb=R-B。
亮度及色差信号是广播电视领域常用的信号处理方法,其表示方法为YCbCr。在视频的编解码过程中,这3个分量信号都是独立进行处理的。人眼对于亮度信号较为敏感,对色度信号相对不那么敏感,因此,数字水印数据不应该嵌入到亮度信号中。本文所用方法将水印数据嵌入到蓝差色度信号Cb中。具体的水印叠加过程如下。
(1)根据MPEG-2视频文件特点,提取出对应的I帧图像P。
(2)按照REC.709标准将彩色信号分离成Y、Cb、Cr共3组信号数据。
(3)对Cb信号进行水印数据的叠加,得到带水印的蓝色差信号Cb’。
(4)将Y、Cb’、Cr3组分量信号合称为新的I帧图像P’。
(5)用图像P’替换掉原视频中的图像P。
数字水印提取步骤如下。
(1)利用FFMPEG工具,提取带水印的I帧图像P’。
(2)分离出3个分量信号,然后将蓝色差信号Cb’提取出来。
(3)将Cb’与Cb进行减运算,得到水印数据。
(4)对水印数据进行处理,以可视化图片的方式呈现出来。
该算法的实现主要借助了FFMPEG和MATLAB两个工具。FFMPEG用于对I帧数据提取和嵌入,MATLAB进行水印信号的叠加和提取。MATLAB具有强大的图像处理功能,能够进行图像分量的生成和DCT域的各种运算,并且能够将分量信号合成为彩色信号。
实验用的视频片段采用1 920*1 020分辨率,时长10 s。视频内容为新闻节目,画面帧间的变化缓慢,画面色彩简单,亮度较高,背景画面相对纯净。水印数据采用135*135的QR Code二维码,容错等级25%,数据内容为“abcdefghijklmnopqrstuvw xyz123456”,共计32个字符。
未叠加水印的原始图像如图1所示,叠加水印后的图像如图2所示。由实验结果可以看出,在叠加了水印信号后,原始的画面并未受到明显影响,肉眼几乎无法察觉出视频的变化。
图1 未叠加水印的原始图像
图2 叠加水印后的图像
对嵌入了数字水印的视频图像进行水印提取,结果如图3、图4所示。
图3 原始二维码水印图像
图4 从水印视频中提取出的水印图像
由图3和图4可以看出,再次提取出的水印产生了误码,造成部分像素的反转,黑色区域出现白色噪点,而白色区域也有部分像素变黑。尽管发生了一定数量的误码,但借助于二维码本身的容错机制,使得二维码的机器可读性没有受到影响,仍然可以借助扫描工具轻松扫描出相关信息。
本文结合视频压缩编码标准,提出了一种基于二维码的压缩域视频数字水印方法,并结合相关工具进行了算法实现。基于二维码的数字水印技术能够在有限尺寸的水印图像中嵌入更多的版权信息,本文采用的135*135的水印图像承载了32个字符,并有承载更大数据量的可能,方便水印信息的扩展。采用REC.709色彩标准,将彩色信号分解成分量信号,只在蓝色差信号中进行水印的嵌入,极大地避免了水印信号对原始画面的视觉干扰,并且为复杂画面内容的水印嵌入强度提供冗余。在画面相对纯净的视频素材中,可以降低嵌入强度,以防止不必要的画质损失;在画面细节复杂、变换剧烈的视频素材中,可以适度地提高嵌入强度,以增加水印的鲁棒性。
实验证明,该算法可以以较低的水印信息承载更多的版权信息,并且不显著影响画面质量。算法只针对I帧进行嵌入运算,运算量大幅降低,满足了实效性要求。