数字图像水印算法快速实现探究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字图像水印算法快速实现探究

数字图像水印算法快速实现探究   摘 要:数字水印技术作为数字多媒体作品版权保护和认证的重要手段,近几年来发展得很快。本文着重研究水印算法的快速实现。第一步提出一种基于图像盲水印算法:首先对原始图像进行分块处理,然后通过在分块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所对应的序列,具体嵌入准则定义如下

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档