收藏 分销(赏)

基于MATLAB的数字水印算法实现.doc

上传人:1587****927 文档编号:1491779 上传时间:2024-04-29 格式:DOC 页数:7 大小:33KB
下载 相关 举报
基于MATLAB的数字水印算法实现.doc_第1页
第1页 / 共7页
基于MATLAB的数字水印算法实现.doc_第2页
第2页 / 共7页
基于MATLAB的数字水印算法实现.doc_第3页
第3页 / 共7页
基于MATLAB的数字水印算法实现.doc_第4页
第4页 / 共7页
基于MATLAB的数字水印算法实现.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、数字水印作为一门新的学科, 自 1993 年 Tirkel 等人正式提出到现在十几年里, 国内外对数字水印的研究都引起了极大的关注, 从最初的版权保护, 已扩展到多媒体技术, 广播监听, in-ternet 等多个领域。数字水印是永久镶嵌在其他数据( 主要指宿主数据) 中具有可鉴别性的数字信号或数字模式, 其存在不能影响宿主数据的正常使用。为了使数字水印技术达到一定的设计要求, 当前水印数据一般应具备不可感知性(imperceptible) 、鲁棒性(Robust) 、可证明性、自恢复性和安全保密性等特点。在数字水印技术中, 水印的数据量和鲁棒性构成了一对基本矛盾。理想的水印算法应该既能隐藏大

2、量数据, 又可以抗各种信道噪声和信号变形。然而在实际中, 这两个指标往往不能同时实现, 实际应用往往只偏重其中的一个方面。如果是为了隐蔽通信, 数据量显然是最重要的, 由于通信方式极为隐蔽, 遭遇敌方篡改攻击的可能性很小, 因而对鲁棒性要求较为不高。但对保证数据安全来说, 情况恰恰相反, 各种保密的数据随时面临着被盗取和篡改的危险, 对鲁棒性的要求很高, 而对隐藏数据量的要求则居于次要地位。典型的数字水印系统至 少 包 含 两 个 组 成 部分- - 水 印嵌 入 单元和水印检测与提取单元。将水印信息进行预处理后加入到载体中, 称为嵌入。从水印化数据中提取出水印信息或者检测水印信息的存在性称为

3、水印的提取和检测。数字水印算法主要是指水印的嵌入算法, 而提取算法往往被看成是嵌入算法的逆变换。当前典型的嵌入算法主要被分为空间域水印算法和变换域水印算法。DCT 变换域算法是数字水印算法的典型代表, 也是数字水印中较为常用的一种稳健的算法。其算法思想是选择二值化灰度图像作为水印信息, 根据水印图像的二值性来选择不同的嵌入系数, 并将载体图像 ( 原始图像) 进行 88 的分块, 再将灰度载体图像( 原始图像) 进行 DCT变换。然后, 将数字水印信息的灰度值直接植入到载体灰度图像的 DCT 变换域中, 实现水印的嵌入。而后, 将嵌入了水印信息灰度图像进行 IDCT( 逆离散的余弦变换) 变换

4、, 得到含有了嵌入水印信息的图像, 嵌入过程完毕。水印的提取、检测过程为嵌入过程的逆过程, 其方法和嵌入方法有所雷同不再进行介绍。下面以 MATLAB 为工具, 给出一个在频域嵌入和提取黑白二值水印图像的实现过程。(1) 水印图像的预处理: 将水印信息图像进行灰度处理, 然后再将转换后的图像进行二值转换。而这些都是为了提高水印信息的安全性对图像所做的处理。(2) 读取原始公开图像(大小为 256256) 和黑白水印图像(大小为 3232, 模式为灰度) 到二维数组 I 和 J。(3) 将原始公开图像I 分割为互不覆盖的图像块, 每块大小为 88, 共分为 3232 块。然后对分割后的每个小块

5、Block- dct(x,y) 进行 DCT 变换, 得到变换后的小块 Block-dct(x, y)。(4) 取黑白水印图像中的一个元素 J(p, q) , 通过嵌入算法嵌入到原始公开图像块的中频系数中。(5) 对嵌入水印信息后的图像块 Block- dct (x, y) 进行逆DCT 变换, 得到图像块 Block(x, y)。(6) 将逆 DCT 变换后的图像块 Block(x, y) 合并, 得到了嵌入黑白二值水印后图像。(7) 对嵌入水印后的图像进行 JPEG 压缩( 一种水印攻击) 。(8) 从压缩后的图像中提取水印信息。提取算法为嵌入算法的逆过程。具体 MATLAB 程序如下:%

6、嵌入水印信息tem=1;for m=1:Nfor n=1:Nx=(m- 1)K+1;y=(n- 1)K+1;block_dct=I(x:x+K- 1,y:y+K- 1);block_dct1=dct2(block_dct);if J(m,n)=0a=- 1;elsea=1;endblock_dct2=block_dct1(1+a0.01);block_idct=idct2(block_dct2);D(x:x+K- 1,y:y+K- 1)=block_idct;tem=tem+1;endend我们可以看到, 嵌入水印信息后的图像和原始的图像在视觉上几乎看不出什么变化, 只是从亮度上有稍微的增强,

7、 这是嵌入水印信息后原始图像的像素提高的缘故。这说明该算法的不可见性较好, 满足了数字水印嵌入算法的评价标准。对嵌入水印后的图像进行攻击以评价其鲁棒性:首先对嵌入水印信息的图像进行国际标准压缩 JPEG 压缩。这种压缩是一种有损压缩, 对图像产生一定的破坏, 可以将它看作一种攻击手段。该算法对 JPEG 压缩攻击有一定的鲁棒性。实验证明,该算法对剪裁有抗攻击性, 也证明了该算法的鲁棒性。综上实验结果, 可以看出嵌入前后的图像在视觉上没有发生明显的变化, 这说明该算法充分利用了人类视觉系统(HVS)的特性, 图像的不可感知性较好。也就说明变换域 DCT 水印嵌入算法有较好的稳健性。提供数据交换服

8、务。而业务主题是构建业务链的基础。在所论述的交换平台中, 业务主题和业务链是两个关键的概念。所谓业务链, 是指来自不同业务系统的内部业务流整合后形成的新的业务流。如图 2 所示的系统 A 内部业务流 A1- A2-A3 和系统 D 内部业务流 D1- D2 整合后形成的新的业务流 A1-A2- A3- D1- D2, 即是一条业务链。所谓业务主题, 是不同系统内部业务流组成的业务链的标识, 它与业务链的业务内容密切相关, 规定了需要交换的业务数据的内容及格式, 包括数据结构及数据类型等。通过确定业务主题, 来自两个不同系统的业务流交换了数据, 构建了新的业务链。平台为用户提供其能获得的业务主题

9、的索引服务。对于与用户系统不相关的业务主题, 该用户不可见, 称之为不相关业务主题的屏蔽性, 以确保平台的数据安全。2、数据交换服务组件数据交换组件是数据交换平台的主要组件, 通过组件为需要数据交换服务的客户提供服务, 以实现平台的功能。它包括:为用户提供数据上传下载服务; 为新加入的用户注册; 当用户申请数据服务时, 验证用户的合法性及所能为其提供的服务; 当共享数据报错时通知数据源等。所有这些功能, 都是服务平台以服务的形式提供给提出用户使用的。平台在为用户提供数据交换服务的同时, 也为采取措施保证数据交换的安全, 比如 XML 数字签名、数据转发后予以丢弃、不相关业务主题屏蔽等。数据交换

10、组件主要包括四个功能组件: 注册组件、验证组件、数据转发组件、容错组件。2.1 注册组件注册是用户利用交换平台构建业务链的必经之门。通过注册, 平台为用户登记其身份资料, 保存构建业务链的相关业务主题及其他信息, 并分配相应的资源空间。注册组件就是为用户提供注册服务的。2.2 验证组件当用户需要数据服务平台提供服务时, 必须先向服务平台提出服务请求, 服务平台对用户身份的合法性进行验证, 若通过, 数据交换服务平台则检查该用户所能得到的服务并展示相应的业务主题给用户。验证组件为合法用户提供相关业务主题的索引服务, 使用户能快速定位所需要的业务主题, 但遵从不相关业务主题屏蔽性的原则。2.3 数

11、据转发组件数据转发组件是平台的中心逻辑组件。其设计除保证平台能完成业务链的数据交换外, 还必须考虑数据转发的效率及安全性等。在经过验证组件的合法性验证后, 平台即可接受用户的数据上传, 并根据用户 ID 及相关业务主题 ID 把数据依队列存放起来。当该业务主题的业务链的用户下载数据后, 平台即对数据进行减持。对已转发数据进行减持, 其目的在于:1)为了用户数据安全;2)减少系统负担, 提高系统服务效率;3)回收资源空间, 实现平台轻量化的设想。2.4 容错组件当用户发现数据出错时, 向数据交换服务平台报错, 由服务平台通知业务链上游提供数据的数据源重新传送出错数据。数据服务平台会给加入数据交换

12、共享的每个业务系统提供一个唯一的识别 ID, 对其所提供的主题也会加以识别, 在此基础上对每条交换数据加以唯一编号( 流水号) , 因而服务平台系统能据此通知相应的数据源重传出错的数据。3、结语我们用上述三节论述了一个面向业务流整合的数据交换服务平台。提出了业务主题、业务链、不相关业务主题屏蔽等概念,通过业务主题整合异构平台的内部业务流以构成业务链。通过采用用户注册加入平台、XML 数字签名、异构平台系统通过适配器加入平台而无需改动原有业务系统、平台对数据转发后预以减持等技术手段, 我们实现了以上基于开放的、安全的、松耦合的、轻量级的数据交换服务平台的设计。这种方案, 对于大量需要简单快速、低成本进行业务流整合的异构平台, 具有广泛的应用价值, 同时这种数据交换服务平台也可延伸为商业性的应用平台。上述的数据交换服务平台的实现, 可采用跨平台的 Java 技术。数据服务平台向用户提供服务, 可采用 B/S 结构, 服务器端采用 JSP/Servlet 技术, 当用户需要数据服务时, 向服务提出请求, 平台作出应答。对于业务逻辑, 采用 JavaBean 技术进行封装。对于各业务系统数据异构问题, 采用 XML 文档作为数据交换的统一格式, 解决交换数据的异构问题。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服