一种基于HVS和MPEG-2的视频水印算法

2015-12-04 03:33:18鲁晓辉
河南城建学院学报 2015年1期
关键词:分块计算公式鲁棒性

鲁晓辉,轩 璐

(三门峡职业技术学院,河南三门峡472000)

随着网络的发展,数字水印在数字版权保护中的应用越来越广泛[1]。但数字水印的应用主要是以图像水印为主,对于视频水印则大多是采用将图像水印进行简单变换后直接应用于视频的方法实现。在实际应用中,视频水印与图像水印之间存在着较大的差异[2]。其中,视频水印算法与图像水印算法的差异主要体现在嵌入帧选择和嵌入强度的不同,图像水印算法是将水印信息分散到一张图片的频域或时域内,视频水印算法则是将水印信息分散到视频多个帧的频域或时域内。为方便定位,视频水印的嵌入帧选择一般是由帧间某种稳定的数学关系确定的,例如:在文献[3]中,通过将连续N帧组成一个GCF(A group of continuous available frame)的方法实现水印嵌入;在文献[4]中,采用匹配两个相邻帧的SURF特征点的形式确认嵌入位置;在文献[5]中,选择不同均值曲线的交点所在帧作为嵌入帧,嵌入帧的选择必须满足定位准确、抗干扰能力强的要求。

算法的嵌入强度越大,水印的鲁棒性越好。但是嵌入强度越大,对原始帧的改动越多,水印的不可见性将会变差。因此,算法嵌入强度的主要问题是如何在确保不可见性的前提下,尽可能地提升算法的鲁棒性。

1 水印算法

1.1 嵌入帧的确定

图1 GOP结构

MPEG-2格式的视频由I、B、P三种类型的帧组成,画面组GOP(Group of Picture)是MPEG-2协议的组成方式。一般情况下,一个GOP表示一组连续的画面。GOP分为开放(open)和封闭(closed)两种形式(见图1)。每个GOP只包含一个I帧(即关键帧),能够独立显示内容。P帧为预计帧,依据前一个I帧或者P帧进行编码。B帧为双向帧,依据两边的I帧或P帧双向预测并完成编码。将I帧和P帧作为框架就可以确定一个GOP并进行定位。定位之后,即可在一个GOP内嵌入多个B帧。这样省去了添加同步码的消耗,同时GOP内多个B帧的嵌入能够实现嵌入冗余,提升提取准确率。

1.2 基于HVS的阈值确定

水印算法的自适应一般是指能够根据载体图像特征自动调整嵌入强度,在具体应用中,人类视觉屏蔽特性是实现自适应的一个重要依据[6]。

(1)针对载体视频或图像来讲,不同区域的亮度差异是导致人眼敏感度不同的一个主要因素。可以用抛物线表示灰度敏感度。中等灰度区域为抛物线的顶点,是最敏感的区域,Weber比一般为0.02。亮度嵌入强度w(x,y)的计算公式为

式中:β表示最大灵敏度;ave(x,y)表示分块亮度均值;T1、T2表示根据载体特性预设的阈值,本文载体视频预设值为50、90。

(2)针对载体视频或图像来讲,人眼敏感度不同的另一个主要因素是载体分块纹理不同。纹理复杂度可以用熵值表示。纹理平滑区域熵值较小,人眼敏感度较高,导致嵌入阈值较小。相反,纹理复杂区域熵值较大,人眼敏感度较低,导致嵌入阈值较大。可以用E(x,y)表示载体分块的熵,首先将其值压缩到[a,b]区间,则纹理阈值v(x,y)的计算公式为

分块总阈值Γ(x,y)的计算公式为

2 水印嵌入实现

2.1 水印预处理

水印嵌入后载体图像可能会受到包括剪切攻击在内的多种攻击,为了防止嵌入信息被直接读取和破坏,有必要在嵌入前对水印进行置乱处理。目前,一般采用数值置乱和位置置乱两种形式。本文采用了Arnold变换进行位置置乱,其计算公式为

置乱前后的水印信息如图2所示。

图2 置乱前后的水印图像

2.2 水印嵌入过程

水印嵌入过程如图3所示。

图3 水印嵌入过程

具体步骤为:

(1)利用式(4)对原始水印图像进行预处理,置乱原有序列,得到置乱后的新水印二值序列W'(w'1,w'2,…,w'k),其中 k=m × n,m、n 分别为原始水印图像的长和宽。

(2)对视频进行扫描,确定每个GOP的边界和每个GOP内B帧的个数。

(3)对每个GOP内的B帧按8×8分块并进行DCT变换,选取亮度最高的分块作为嵌入分块。根据式(1)、式(2)、式(3)计算嵌入分块的阈值Γ。

(4)利用嵌入分块IDlCT(2,2)、IDlCT(3,3)的大小关系和式(5)、式(6)实现1 bit的信息嵌入。

(5)对下一个B帧重复步骤(3)、步骤(4),直到GOP内的所有B帧完成信息嵌入。

(6)对所有嵌入帧进行IDCT逆运算还原B帧,重组GOP,最终还原载体视频。

2.3 水印提取

水印的提取步骤(见图4)为:

(1)对含有嵌入信息的视频进行扫描,确定每个GOP的边界和每个GOP内B帧的个数。

(2)对每个GOP内的B帧按8×8分块并进行DCT变换,选取亮度最高的分块作为提取分块。根据式(7)提取嵌入信息。

(3)重复步骤(2)直到每个GOP内的所有B帧嵌入信息提取完毕。从所有的提取信息中,选择数量较多的结果作为最后提取结果。

(4)按顺序将每个GOP内提取的结果组合成二进制序列,通过式(4)和Arnold变换实现水印的逆置乱,最终得到嵌入水印信息。

图4 水印的提取步骤

3 实验结果

为了验证本文算法的性能,本文实施了模拟测试,测试环境为WindowsXP、Matlab7.0,视频选择常见的新闻、综艺、电影等多种形式,视频格式采用MPEG-2标准,视频具体信息如表1所示。水印信息采用32×32的二值图像测试水印(见图2)。

3.1 透明性测试

算法的不可见性一般采用裸眼观察和峰值信噪比(PSNR)进行判断,其中峰值信噪比是一种量化方式,其计算公式为

式中:m、n分别为载体帧或图像的长和宽;P表示嵌入前的图像(帧);P*表示嵌入后的图像(帧)。

测试结果如表2所示,其中qs表示视频量化的比例因子。

表1 测试视频详细信息

表2 透明性测试数据

在表2中,不同类型的视频PSNR值保持在40~60。一般情况下,当PSNR值大于30时算法的透明性较好。水印嵌入前后的视频B帧截图如图5所示。通过图5可以看出,水印嵌入前后截图没有明显差异,证明本文的水印嵌入方法对视频影响较小,透明性能够满足需要。

图5 水印嵌入前后的B帧截图

3.2 鲁棒性测试

水印鲁棒性是指水印数据嵌入图像后经过各种攻击干扰,水印信息确保完整、准确的性能。一般采用提取水印与原始水印的相似度(即NC值)来判断。为了验证本文算法的鲁棒性,本文使用几种常见的攻击类型进行测试,并得到测试数据(见表3)。

表3 在不同攻击下水印提取平均成功率

通过表3的NC值可以看出,本文算法对于常见的攻击类型NC值能够达到0.9左右,算法鲁棒性较强。

4 小结

本文根据MPEG-2视频的特征和人类视觉系统的特点,提出了利用GOP实现定位,将水印信息嵌入多个B帧并满足水印提取准确性的视频水印算法。与常规算法相比本文算法具有定位简单、提取成功率高等特点,是一种优秀的视频水印算法。

[1] Y W,A P.Blind MPEG-2 video watermarking robust against geometric attacks:a set of approaches in DCT domain[J].IEEE transactions on image processing,2006,15(6):1536-1543.

[2] 高琦,李人厚,刘连山.基于帧间相关性的盲视频数字水印算法[J].通信学报,2006,27(6):43-48.

[3] 鲁晓辉,金渊智.基于MPEG-2的视频水印算法[J].计算机应用与软件,2014(10):144-146.

[4] 杨尚跃,刘邵星,杨树国.基于SURF视频分割的小波视频水印算法[J].科技信息,2014(6):70-75.

[5] 张金全,王宏霞.基于音频内容的DCT域脆弱水印算法[J].西南交通大学学报,2012(3):43-48.

[6] 杨恒伏,陈孝威.小波域鲁棒自适应公开水印技术[J].软件学报,2003,14(9):1652-1660.

猜你喜欢
分块计算公式鲁棒性
电机温升计算公式的推导和应用
防爆电机(2022年4期)2022-08-17 05:59:50
分块矩阵在线性代数中的应用
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
2019离职补偿金计算公式一览表
基于确定性指标的弦支结构鲁棒性评价
中华建设(2019年7期)2019-08-27 00:50:18
反三角分块矩阵Drazin逆新的表示
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析
基于自适应中值滤波的分块压缩感知人脸识别
基于多分辨率半边的分块LOD模型无缝表达