基于扩频序列和小波变换的数字水印算法仿真系统
项目介绍
本仿真系统是一个基于多级离散小波变换(DWT)和扩频通信技术(Spread Spectrum)的数字水印处理平台。该系统旨在通过先进的频率分解技术和信号调制手段,实现水印信息的隐蔽嵌入与稳健提取。该技术主要应用于数字多媒体版权保护,能够在保证宿主图像视觉质量的同时,抵抗由于图像处理或恶意攻击带来的数据破坏。
功能特性
- 多级小波分析:系统利用Haar小波对图像进行二级频率分解,将图像特征分离。
- 扩频调制技术:通过PN码对二值水印进行扩频处理,将信息扩展到更宽的频谱范围,显著增强抗噪声和抗压缩能力。
- 盲提取能力:在提取水印时无需原始宿主图像,仅凭密钥和含水印图像即可恢复信息。
- 鲁棒性压力测试:内置高斯噪声、JPEG压缩及剪切攻击三种典型的图像降质模拟。
- 全面性能评估:通过峰值信噪比(PSNR)评估图像质量,利用归一化相关系数(NC)量化水印提取的准确度。
- 可视化实验平台:提供完整的图形化对比界面,直观展示各阶段图像及水印质量。
系统要求
- 开发环境:MATLAB R2016b 或更高版本。
- 依赖工具箱:Image Processing Toolbox(图像处理工具箱)。
- 硬件性能:标准PC即可平稳运行图像分解与相关运算。
仿真系统实现逻辑
系统通过以下步骤完成从水印嵌入到提取的全过程:
- 环境初始化与参数定义
系统首先定义关键的仿真参数,包括用于生成随机序列的初始密钥(Seed=123)、控制水印表现力的嵌入强度因子(Alpha=5)、以及小波分解的层数(2层)。
- 预处理
载体处理:读取宿主图像并统一调整为512x512像素的灰度图像。
水印处理:生成32x32像素的二值逻辑水印图像,将其展开为一维向量,并将0/1编码转换为-1/1的双极性脉冲信号,为扩频调制做准备。
- 扩频信号生成
系统利用指定密钥生成与水印向量相匹配的伪随机噪声序列(PN码)。采用16倍扩频因子,即将每一位水印信息扩展到16个随机码位上。通过将双极性水印向量与PN序列进行逐位调制,生成长度为16384的长扩频信号。
- 频率域嵌入
系统执行二级离散小波变换,获得宿主图像的各个频率分量。选择对人眼视觉及其不敏感且具有一定能量稳定性的HL2(二级水平分量)作为嵌入区域。采用线性叠加算法,将扩频调制后的信号按嵌入强度叠加到HL2的小波系数中。
- 图像重建
通过逆离散小波变换(IDWT),将修改后的系数逐级合成,生成含水印的数字图像。
- 攻击模拟实验
为了测试系统的稳健性,程序对含水印图像施加了三种攻击:
- 添加方差为0.01的高斯噪声。
- 进行质量参数为30的低质量JPEG压缩。
- 对图像左上角128x128区域进行全黑剪切处理。
- 水印提取流程
系统对受损图像再次进行二级离散小波变换,提取出其二级水平分量。通过分段计算该分量与原始PN序列的相关性,判断相关系数的正负符号来判定恢复的位信息(大于0判定为1,否则为-1),最终重组为32x32的水印图像。
- 指标计算与展示
系统计算含水印图与原图的PSNR值。同时,针对不同攻击结果,计算恢复水印与原始水印之间的NC系数。最后通过多子图窗口展示图像变化及鲁棒性测试报告。
关键算法与算法细节分析
- 离散小波变换(DWT)的应用
算法采用Haar小波基,通过两次分解将图像能量主要集中在CA2(低频近似分量)中,而将水印嵌入CH2(中高频细节分量)。这种策略保证了水印在经过低通滤波(如压缩或噪声消除)后仍有极高的存活率。
- 扩频调制原理
扩频技术是本系统的核心。即使部分小波系数遭到破坏,由于每一位水印信息都分散在16个不同的系数中,在提取阶段通过计算相关性(Correlation),噪声的影响会被互相关运算相互抵消,从而能够从小范围的残存信息中重新聚合并恢复出原始逻辑位。
- 双极性脉冲编码
将传统0/1二进制转换为-1/1双极性编码。这种处理在数学上允许系统在相关性检测时,利用0作为判断阈值,有效地通过正负相关性来区分不同的水印特征,相比单极性信号具有更好的抗偏移能力。
- 鲁棒性平衡
实验通过Alpha因子(嵌入强度)来平衡。Alpha值增大,水印的鲁棒性随之增强(NC系数更高),但会导致含水印图像的PSNR值降低,即透明性下降。本程序设定Alpha=5是在视觉隐蔽性与抗攻击能力之间取得的一个实验平衡点。
- 方块水印特征
系统使用了具有几何结构的方块水印,这不仅方便通过NC值进行客观量化,也方便开发者通过视觉直观判断剪切攻击对图像局部信息造成的损伤程度。