数字图像水印算法的快速实现研究
- 格式:doc
- 大小:32.50 KB
- 文档页数:7
数字水印技术论文数字水印技术有效维护产权人享有的产品版权利益,杜绝非法盗版问题。
下面是店铺整理的数字水印技术论文,希望你能从中得到感悟!数字水印技术论文篇一数字水印技术概论【摘要】本文就数字水印科学保护技术展开探讨,通过原理定义论述、领域背景介绍与应用探讨,明晰了技术核心应用价值。
对促进数字水印技术的继续深化拓展,发挥对电子信息相关数据产品的可靠安全保护职能,有积极有效的促进作用。
【关键词】数字水印;应用;保护0.前言信息时代,各类信息化数字技术扩充发展,针对丰富数字信息的安全保护需求也日益扩充。
基于数字文档可方便快捷的复制、篡改与盗取,因而令其产权保护面临一定困难。
同时数字图像具有一定适应性特征,可供用户任意设计更新并为己所用。
为此应科学探究一种良好的数据可靠加密保护技术,进而有效应对不良信息篡改、窃取、盗用问题。
本文基于这一目标引入水印数字技术探讨,该技术通过印记图形加密有效保护版权信息,形成印记图形同原始保持一致,基于一定标准形成水印图像,进而探究非法复制信息、相关违规产品的不良流通应用。
该技术核心特征在于潜入模式,是通过视觉设想推理阐释实效的科学方式。
1.数字水印技术概述1.1数字水印技术原理内涵数字水印技术是一类进行数据产品安全保护、信息内容科学检测,通过嵌入模式将相关序列代码或用户定义标识引入信息中,并可基于相关算法进行水印提取,进而实施保护信息版权检验的科学技术方式。
可有效维护产权人享有的产品版权利益,杜绝非法盗版问题。
数字水印技术所保护的对象可以是媒体,数据文档、工具软件、视频音频资料、信息图像等丰富内容,包括生成水印、相关嵌入过程、综合信息测试与提取水印等实践环节。
数字水印核心原理在于通过针对宿主进行标识信息嵌入形成水印,令其具备无法感知的良好属性,进而确保信息数据安全性。
同时需要遵循相应感知规则,令水印信息具有充分冗余性,即可通过分段数据实现恢复。
1.2数字水印具体类别数字水印基于出发点各异性,令其种类划分各不相同,并体现了一定的联系渗透属性。
数字水印技术的工作原理数字水印技术是一种通过在数字数据中嵌入隐蔽信息的方式来保护版权、确保数据完整性和可追溯性的技术。
数字水印技术主要利用数字信号处理、图像处理和加密技术等相关知识实现其功能。
本文将阐述数字水印技术工作原理。
数字水印技术的工作原理数字水印的嵌入和提取过程是数字水印技术的两个核心操作,因此需要了解数字水印的嵌入和提取原理。
数字水印的嵌入数字水印的嵌入是将隐蔽信息嵌入到数据载体中的过程。
数据载体可以是数字图像、音频、视频等。
其中,数字图像是数字水印技术应用最广泛的数据载体。
嵌入数字水印的过程可以通俗的解释为在原始数据中加入少量的“水印”,通过这些“水印”信息来保护原有数据的版权和完整性。
数字水印的嵌入技术主要包括以下几个步骤:1.选择可靠的数字水印算法数字水印技术的实现离不开算法的支持。
因此,选择一种流行、可靠、可自定义的数字水印算法是关键。
数字水印算法通常可分为频域算法和空域算法两种。
频域算法是基于一些变换(如DCT、DFT)在频域进行的,而空域算法则是直接嵌入到载体数据的空域中。
2.对载体进行预处理嵌入数字水印前必须进行载体数据的预处理,如调整载体大小、格式转换、颜色平衡、图像滤波、亮度调整、高斯噪声等。
预处理的目的是使数字水印嵌入后不会显著影响到载体数据的质量。
3.生成数字水印在生成数字水印时,数字水印应该具有以下几点属性:数字水印应该是唯一性的,每个数码水印都应该有不同的标识。
数字水印应具有可插拔性,可以按照需要进行加、解码操作。
数字水印应具有透明性,应该对载体数据的外观没有或少有影响。
数字水印应具有不可移除性,水印数据应该不容易被恶意的攻击、篡改或删除。
4.嵌入数字水印数字水印的嵌入过程主要分为以下几步:①划分载体数据块:根据数字水印算法的要求将载体数据划分为不同大小的块。
②计算嵌入强度:将生成的数字水印嵌入到载体图像的块中时,需要先对每个块进行分析,以计算嵌入的强度,以保证数字水印能够被检测到,同时不影响载体数据的完整性。
基于DCT变换的图像数字水印算法3徐世刚1) 李 娟1) 胡 广2)(武汉科技大学电子信息工程系1) 武汉 430081)(华中科技大学电子信息工程系2) 武汉 430074)摘 要 数字水印技术在保护数据信息安全和版权方面有着重要的应用。
对基本DCT域图像数字水印算法进行改进,该算法采用可视的二值图像作为水印信息,利用人类视觉系统(HVS)的冗余特性,将图像块进行分类,并结合边缘检测和A rnold型置乱变换加密,通过在图像块DCT域中修改低频区DC分量来嵌入不同强度的水印。
实验结果表明,该算法生成的水印是不可见的,并且对常见的图像处理和噪声干扰具有较好的鲁棒性。
关键词 数字水印 边缘检测 图像置乱 A rnold变换中图分类号 TP3911 数字水印概述数字水印技术是一种将特制的不可见的标记,利用数字内嵌的方法隐藏在数字图像、声音、文档、图书、视频等数字产品中,用以证明原始作者对其作品的所有权,并作为鉴定、起诉非法侵权的证据,同时通过对水印的检测和分析,验证数字信息的完整可靠性,从而成为知识产权保护和数字多媒体防伪的有效手段。
一般认为数字水印应具有安全性(可证明性)、隐形性(不可感知性)、稳健性(鲁棒性)和自恢复性等特点。
具有上述特点的水印才是严格意义上的数字水印,但由于对数字水印的定义尚未统一,许多文献中讨论的数字水印并不具备上述特点,或者仅具有上述的部分特点。
由于数字图像比声音、文字等蕴涵更多的信息量,因而现今对数字水印的研究,大多数都是针对图像进行的。
2 水印嵌入、提取位置的选择早期的基于DCT变换的水印算法是把水印嵌入到频域的高频系数中,因为原始图像经过DCT 变换后,大部分信息集中在低频部分,因此可以将水印嵌入含信息量少的高频部分,以尽量减少对原始图像的影响。
这样能保证视觉透明性,但是,各种常见的图像处理操作对于图像高频部分的损坏可能性很大,如有损压缩、低通滤波等,水印很容易在经历图像处理的过程中损失,故这类算法所产生的水印稳健性很差。
最新【精品】范文 参考文献 专业论文 数字图像水印算法的快速实现研究 数字图像水印算法的快速实现研究
摘 要:数字水印技术作为数字多媒体作品版权保护和认证的重要手段,近几年来发展得很快。本文着重研究水印算法的快速实现。第一步提出一种基于图像盲水印算法:首先对原始图像进行分块处理,然后通过在分块Hadamard变换域中修改中频系数来嵌入水印,最后得出具有一定使用价值的结论。实验结果表明,算法对常用的图像处理如JPEG压缩、加噪、滤波等攻击具有较好的鲁棒性。第二步,在前人的研究基础上,实现GPU来执行快速Hadamard变换和反变换。实验结果表明,在Visual C++下利用GPU执行Hadamard变换在一定条件下比CPU更快,实验用显卡性能越强,实验效果越好。
关键词:数字水印;Hadamard变换;快速算法;GPU 0 引言 数字水印技术作为数字多媒体作品版权保护和认证的重要手段,近几年来发展得很快。数字水印技术是在数字媒体中嵌入特定信息的一种技术,根据所嵌入的载体不同,可分为图像水印、音频水印、视频水印等;根据嵌入位置不同,可分为空域水印[1]和变换域水印[2-4];而按检测过程,又可分为盲水印和非盲水印。其中用于版权保护的数字水印一般要求具有:鲁棒性、不可见性和安全性。目前,数字水印算法研究的重点是鲁棒性,应用最多的是变换域算法,包括DFT[2]、DCT[3]和DWT[4],经过国内外专家的多年研究、改进,基于变换域的数字水印算法具有较强的鲁棒性,但还是在一定程度上忽略对算法速度的关注,有些算法鲁棒性很高,但处理速度较慢,在小图像中嵌入水印的时间也可能要1分钟。而实际的应用图像往往非常大,有一些应用甚至有实时性的要求,计算工作量大,操作复杂的算法就存在实际应用推广价值低的问题,因此非常有必要研究快速的数字水印算法。哈达玛变换(Hadamard Transform,下文简称HT)的变换矩阵的元素取值最多只有两种,即{1,-1},所以有速度快、容易用硬件实现的优点。本研究首先提出了一种利用HT的快速数字图最新【精品】范文 参考文献 专业论文 像盲水印算法。其次,利用最新的GPU技术,通过GPU执行快速Hadamard变换和反变换,仿真实验表明,在Visual C++下GPU上执行Hadamard变换在一定条件下比CPU更快,对于处理高像素图像,速度优势更明显。 1 快速数字图像盲水印算法原理 1.1 图像的Hadamard变换 相比DFT、DCT和DWT等变换,HT的主要优点在于计算复杂度低,速度快,容易用硬件实现。二维HT已经在图像处理和图像压缩领域得到广泛的应用。令X代表源图像,Y代表经过变换后的图像,二维HT定义如下: 式(1)中Hn代表一个N×N的HT矩阵,N=2n, n=1,2,3„,其元素值取为+1或-1。 N阶的HT矩阵可以由n-1阶矩阵使用Kronecker积 来实现,具体如下: 1.2 预处理算法 1.2.1 原始水印置乱 首先,为了增加鲁棒性,先对原始水印图像w重复四次,也就是2×2居中平铺,设原始二值水印图像w大小为m×m,令m*=2m,预处理后,得到m*×m*大小的w*。然后对水印图像进行置乱加密处理以消除图像像素之间的相关性。本研究采用一种计算简单、容易实现的置乱方法。设二值水印图像大小为m×m,具体的置乱方法为: 1)先生成一个1到m*×m*的序列,根据密钥key进行置乱,得到随机序列P; 2)设该序列的第n个元素是Pn,令:n=k*m*+l;Pn=i*m*+j; 3)交换像素位置:将原始水印的像素(i,j)放到新位置(k,l),即完成水印的置乱处理。 其次,本文用两个0、1组成的互补序列分别表示二值水印图像中的像素值0和1。令L为序列长度,这两个序列分别定义为: 1.2.2 原始图像预处理 首先将原始图像分割成大小相等的子图像块,若子图像块尺寸选为4×4大小,虽然计算速度快,但因图像子块可变换的系数较少,最新【精品】范文 参考文献 专业论文 会导致水印信息的嵌入量较少;若子图像块尺寸选为16×16大小,图像子块可变换的系数增多了,相应的计算工作量也增大了。所以经过权重考虑,选择将原始灰度图I进行8×8不重叠分块,然后对每一子块进行HT。 1.3 水印嵌入和提取算法 1.3.1 嵌入算法 设原始灰度图像I大小为M×N,原始图像经过分块处理后,得到(M/8)×(N/8)个8×8的图像子块。由上一步得原始水印图像预处理后,得到m*×m*的置乱图像。然后对选中的子块进行HT,得到系数矩阵HBk,j=HT(Bk),其中k表示第k个子块,j表示第j个系数,其取值为1到64。对图像块按ZigZag顺序读取出HBk,j中的第22到36共15个中频系数,得到序列pi。依次嵌入上面得到的置乱图像像素值wi所对应的序列,具体嵌入准则定义如下: 其中L是序列的长度,本文中取15,pi'是修改过的中频系数值。 最后对每个分块进行Hadamard反变换,最终得到含水印图像。 1.3.2 提取算法 本研究的提取算法是盲水印算法,即在水印提取时不需要原始图像,只需要知道嵌入过程中的置乱水印密钥key。具体的提取步骤是: 1)含水印图像处理。先对水印的图像进行8×8不重叠分块,并对每个子块进行HT,得到系数矩阵。 2)水印的提取。按ZigZag读取顺序提取出每个8×8子块系数矩阵中嵌入位置对应的15个中频系数组成新的一维序列pi,j。分别求pi,j与代表水印像素值0和1的序列w0,i和w1,i的相关系数值C(0)和C(1),公式如下: 比较C(0)和C(1)的大小以确定第j块嵌入的像素值是0还是1: 3)水印反置乱。将提取出的水印信息利用密钥key进行反变换,得到新的二维矩阵wi*。由原始水印的预处理步骤可知,wi*其实含有4个m×m大小水印。运用多数原则,为每个对应的像素统计像素值为1的个数,将像素统计值大于2的像素值取为1。即可得到原始水印信息。 1.4 实验结果 最新【精品】范文 参考文献 专业论文 为了消除主观因素的影响,体现版权保护的公正性,除通过视觉来进行判定外,本文使用峰值信噪比(PSNR)评价嵌入水印后彩色图像与原始彩色图像间的差别,并采用归一化的相关系数NC(NC取值为0到1,NC=1时表示完全一致,NC值越高表示相似度越高)定量分析了提取的水印与原始水印的相似度。实验结果是基于Matlab 7平台下仿真得到。下面以512×512的标准Lena灰度图像作为原始图像,32×32的二值图像作为原始水印。由图1可以看出,本文的算法具有较好的不可见性,水印可以完整提取出来。 (a)原始图像(b)原始水印 (c)含水印图像(d)提取的水印图像 图1 数字水印嵌入和提取结果 1.4.1 鲁棒性测试 本节主要测试本文算法抗常用攻击的鲁棒性,实验结果如表1所示。 从表1可以看出,本研究算法鲁棒性令人满意,同时嵌入和提取算法运行速度分别不到3秒。 2 基于GPU的Hadamard变换研究 图形处理器(Graphics Processing Unit,简称GPU)开发之初是单纯的为图形处理服务的。2003年开始GPU在通用计算的应用也越来越广泛[5]。国内外文献研究表明,基于GPU运行的图像处理过程开销比软件运行的小,因此在GPU上运行的水印算法也会比在软件上运行的算法更快速、更实时、更少的开销[6]。本节中提出一种方法实现GPU来处理水印算法中的核心变换――Hadamard变换,以进一步提高基于Hadamard变换的数字图像水印算法的实现速度。 2.1 GPU实现步骤 国内外文献显示GPU上实现FFT的方法,显卡厂商NVidia推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题,其1.1版就提供了数学运算库――CUFFT (离散快速傅立叶变换),但还没发现过有文献提到在GPU上实现FHT。本文通过FFT和FHT的蝶形图可以看出,两者的实现有很多相似之处,通过比较Visual C++上FFT和FHT的实现代码,可以发现两者间最主要的区别在于FFT中最新【精品】范文 参考文献 专业论文 每级蝶形图中输入序列中对应的两个元素间要先乘上一个加权系数W 再进行加减操作,用公式表示如下: 令W[i]等于1,则cos(angle)=1,sin(angle)=0,可以得到angle=0。换言之,在FFT编程代码基础上做如上处理,运算结果中的实数部分就是FHT的结果。类似的,对于GPU上的FFT实现,理论上也可以通过以上处理,得到FHT的运算结果。针对文献[7]的FFT的GPU实现算法,在其着色语言和OpenGL渲染部分做针对性的处理。实验证明,方法是可行的,原本存储FFT变换结果的实数部分的输出数组中,现在得到的是FHT结果。 2.2 GPU实现快速Hadamard变换与CPU实现快速Hadamard变换比较 实验平台主要如下:处理器为Inter Core(TM)2 E6300 双核 1.86GHz,内存大小为1GB,显卡采用NVidia GeForce 7950GT,显卡内存大小为512MB,整个实验是基于OpenGL来做的,使用的编程工具是Visual C++ 6.0。 2.2.1 GPU和CPU计算结果比较 GPU的计算结果和CPU的计算结果如表2所示,表2的数据取自实验一中Lena灰度图经过CPU-FHT变换和GPU-FHT变换后的实验数据中的最后5个数据用于对比。第一行数据是在CPU-FHT中得到的数据,第二行数据是在GPU-FHT得到的数据。 从表2中数据可以看出GPU实现快速Hadamard变换与CPU实现快速Hadamard变换数据在小数点后6位这样的精度情况下仍然是一致的,说明该方法是完全可行的。 2.2.2 GPU和CPU运行效率比较 由表3可得,数据量比较小时,CPU运算速度比GPU快,CPU的运算时间几乎都为0,当数据量大到一定程度(大于256 256),CPU运算时间就和输入数据量成正比倍数上升,而GPU的时间相对增长较慢,其优势就显现出来。数据量大于524288字节时,GPU的运算速度就比CPU快了。实验结果和国内外文献研究和GPU特性吻合,说明该方法是完全可行的。如果实验采用更高端显卡、大容量内存,那实验效果会更好,更明显。