基于DCT数字水印算法的Matlab实现源代码(共4页).doc

上传人:飞****2 文档编号:13496963 上传时间:2022-04-29 格式:DOC 页数:4 大小:26.50KB
返回 下载 相关 举报
基于DCT数字水印算法的Matlab实现源代码(共4页).doc_第1页
第1页 / 共4页
基于DCT数字水印算法的Matlab实现源代码(共4页).doc_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《基于DCT数字水印算法的Matlab实现源代码(共4页).doc》由会员分享,可在线阅读,更多相关《基于DCT数字水印算法的Matlab实现源代码(共4页).doc(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上MATLAB 产品族可以用来进行以下各种工作: 数值分析 数值和符号计算 工程与科学绘图 控制系统的设计与仿真 技术 技术 通讯系统设计与仿真 MATLAB在通讯系统设计与仿真的应用财务与金融工程 MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算学等众多应用领域。附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。 压缩域算法基于JPEG、MPEG标准的压缩域数字水印系统不仅节省了大量的完全解码和重新编码过程,而且在数字电视广播及VOD(Video o

2、n Demand)中有很大的实用价值。相应地,水印检测与提取也可直接在压缩域数据中进行。下面介绍一种针对压缩视频数据流的数字水印方案。虽然MPEG-2数据流语法允许把用户数据加到数据流中,但是这种方案并不适合数字水印技术,因为用户数据可以简单地从数据流中去掉,同时,在MPEG-2编码视频数据流中增加用户数据会加大位率,使之不适于固定带宽的应用,所以关键是如何把水印信号加到数据信号中,即加入到表示视频帧的数据流中。对于输入的MPEG-2数据流而言,它可分为数据头信息、运动向量(用于运动补偿)和DCT编码信号块3部分,在方案中只有MPEG-2数据流最后一部分数据被改变,其原理是,首先对DCT编码数

3、据块中每一输入的Huffman码进行解码和逆量化,以得到当前数据块的一个DCT系数;其次,把相应水印信号块的变换系数与之相加,从而得到水印叠加的DCT系数,再重新进行量化和Huffman编码,最后对新的Huffman码字的位数n1与原来的无水印系数的码字n0进行比较,只在n1不大于n0的时候,才能传输水印码字,否则传输原码字,这就保证了不增加视频数据流位率。该方法有一个问题值得考虑,即水印信号的引入是一种引起降质的误差信号,而基于运动补偿的编码方案会将一个误差扩散和累积起来,为解决此问题,该算法采取了漂移补偿的方案来抵消因水印信号的引入所引起的视觉变形。 NEC算法该算法由NEC实验室的Cox

4、等人提出,该算法在数字水印算法中占有重要地位,其实现方法是,首先以密钥为种子来产生伪随机序列,该序列具有N(0,1)分布,密钥一般由作者的标识码和图像的哈希值组成,其次对图像做DCT变换,最后用伪随机高斯序列来调制(叠加)该图像除直流(DC)分量外的1000个最大的DCT系数。该算法具有较强的鲁棒性、安全性、透明性等。由于采用特殊的密钥,因此可防止IBM攻击,而且该算法还提出了增强水印鲁棒性和抗攻击算法的重要原则,即水印信号应该嵌入源数据中对人感觉最重要的部分,这种水印信号由独立同分布随机实数序列构成,且该实数序列应该具有高斯分布N(0,1)的特征。 生理模型算法人的生理模型包括人类视HVS(

5、HumanVisualSystem)和人类听觉系统HAS。该模型不仅被多媒体数据压缩系统利用,同样可以供数字水印系统利用。利用视觉模型的基本思想均是利用从视觉模型导出的JND(Just Noticeable Difference)描述来确定在图像的各个部分所能容忍的数字水印信号的最大强度,从而能避免破坏视觉质量。也就是说,利用视觉模型来确定与图像相关的调制掩模,然后再利用其来插入水印。这一方法同时具有好的透明性和强健性。M=256; %原图像长度N=32; %水印图像长度K=8; I=zeros(M,M);II=zeros(K,K);B=zeros(M,M);Idct=zeros(K,K);D

6、=zeros(M,M);%读取原图像I=imread(33.png);subplot(2,2,1);%显示原图像imshow(I);title(原图像);%产生水印序列randn(seed,10);mark=randn(1024,1);subplot(2,2,2);plot(mark);title(水印序列);%嵌入水印T=1;for m=1:N for n=1:N x=(m-1)*K+1; y=(n-1)*K+1; II=I(x:x+K-1,y:y+K-1);%将原图分成8*8的子块 Idct=dct2(II);%对子块进行DCT变换if x=1&y=1 alfa=0.002;else al

7、fa=0;end B=Idct*(1+alfa*mark(T);%嵌入水印 Bidct=idct2(B);%进行DCT反变换I(x:x+K-1,y:y+K-1)=Bidct; T=T+1;endendsubplot(2,2,3);imshow(I);%显示嵌入水印后的图像title(tu);imwrite(I,嵌入后的图像.bmp); %进行相关性比较 figure;for i=1:50 if i=10; mark2=mark1; else mark2=randn(1024,1); end %计算相关值 c=(mark2*mark)/sqrt(mark2*mark2);stem(i,c); hold on;end专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com