微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 用于图像认证的半脆弱水印算法研究

用于图像认证的半脆弱水印算法研究

时间:02-11 来源:互联网 点击:


半脆弱水印融合了鲁棒水印和脆弱水印的特性,主要用在图像的内容认证上,这就需要它必须具备两个基本特性:(1)透明性:即嵌入水印的过程是不可察觉的,嵌入水印后的图像质量不能引起质的变化。这是大多数水印嵌入方案所要求的。(2)盲检测:即在认证的时候不需要原始图像。


2.1.3 半脆弱数字水印的实现方法
一个典型的数字水印系统,包括水印的生成、水印的嵌入及水印提取的三个部分,半脆弱水印和鲁棒水印的嵌入过程基本相同,但是在水印提取(即图像认证)的过程中与鲁棒水印不同。下面我们以图像的半脆弱水印为例说明水印的嵌入和检测过程:
(1)水印的嵌入过程
水印的嵌入算法为 (),水印为W,原始图像为I,嵌入水印后的图像为 。设 。 为从图像中抽取出要嵌入水印的属性序列, 。 为相应的水印序列,水印是有特殊意义的信息,如文字、序列号、公司标志、声音等。则一般的嵌入规则为:
(加法规则) (2.1)
(乘法规则) (2.2)
利用 代替载体图像中的V,即得到嵌入水印的图像 。抽取的属性序列V即可以是采样强度/幅度(空域/时域)或者是变换系数大小(变换域),由此对应空域和频域的水印算法。参数 随着采样的不同而不同。水印嵌入强度应该保证水印是不可见的,即嵌入的水印应该不影响载体图像的原内容和价值。算法的框架如下:

图2.1 一般水印的嵌入框图
(2)水印的检测过程
水印的提取算法为 ,对于一个待测试的图像 ,利用提取算法提取出水印 ,其中K为提取密钥。利用W和 的差别(需要预先设置一个阈值)或者利用一个相似函数,我们就可以对图像的真实性进行认证。脆弱水印算法的目的在于真实性认证,因此在认证的过程,或者说在水印的提取过程中不需要原始图像;而鲁棒水印的目的是版权保护,因此某些鲁棒水印算法在水印提取的过程中可能需要原始图像。一般水印检测和认证框图如图2.2。

2.2 算法性能指标简介
图2.2 一般水印检测和认证框图
水印的不可感知性和稳健性之间有一个权衡。对水印的不可感知性进行评估可以通过主观测试或者通过质量度量来衡量。现在,在图像和视频的编码压缩领域最流行的失真度量标准是SNR(Signal to Noise Ratio,信噪比),以及PSNR (Peak Signal to Noise Ratio,峰值信噪比)。它们通常以dB(decibel,分贝)来度量。
(2.3)
(2.4)
其中 和 ,分别表示原始图像和嵌入水印后的图像中点的灰度值。X, Y分别是图像行和列的个数。由2.4式中可以看出较高的峰值信噪比对应较高的图像相似程度,也就是表示嵌入水印后的图像有较高的不可感知性。还有用MSE(Mean Squared Error,均方误差)来度量图像的客观保真度的,与PSNR相反,MSE越小表示图像的近似程度越高,即:
(2.5)
在确定了失真度量后,下一个要解决的问题就是如何评估稳健性。根据嵌入水印的类型:一种是由某一密钥产生的随机序列;另一种是特定的信息或图像。水印检测的方法也相应有两种:对于随机序列的判定,一般利用假设检验的原理计算相似性,即:
(2.6)
当 时水印存在,否则判定水印不存在[8]。
当然,一个可能成为标准的数字水印系统必须能够抵御各式各样的攻击,上述的评测标准只是其中的几个方面,如信噪比和峰值信噪比这两种度量方法在大多数情况下可以较为准确的反映出图像的视觉质量,但由于它们没有与人类的视觉系统和感知性相结合,所以在进行评估时又可能导致错误的结论。可见数字水印的跨学科性质决定了其进展与相关学科的发展密切相关。

2.3 仿真介绍
Matlab是Mathworks公司开发的一种集计算、图形可视化和编辑功能于一体的功能强大、操作简便、易于扩充的语言,是目前国际上公认的优秀的数学应用软件之一。
? 在70年代中期,Cleve Moler博士和其同事在美国国家科学基金的资助下开发了调用EISPACK和LINPACK的FORTRAN子程序库。EISPACK是特征值求解的FOETRAN程序库,LINPACK是解线性方程的程序库。在当时,这两个程序库代表矩阵运算的最高水平。
到70年代后期,身为美国New Mexico大学计算机系系主任的Cleve Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发现学生用FORTRAN编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK和LINPACK的接口程序。Cleve Moler给这个接口程序取名为Matlab,该名为矩阵(matrix)和实验室(labotatory)两个英文单词的前三个字母的组合。在以后的数年里,Matlab在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。
1983年春天,Cleve Moler到Standford大学讲学,Matlab深深地吸引了工程师John Little。John Little敏锐地觉察到Matlab在工程领域的广阔前景。同年,他和Cleve Moler,Steve Bangert一起,用C语言开发了第二代专业版。这一代的Matlab语言同时具备了数值计算和数据图示化的功能。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top