小波变换在数字水印中的应用
4.2 DWT域音频水印算法
小波变换的基本思想是将原始信号经伸缩及平移(将原始信号用一组不同尺度的带通滤波器进行滤波)后,将信号分解为一系列具有不同空间分辨率(不同通道)、不同频率特性和方向特性的子带信号,这些子带信号具有良好的时域、频域等局部特性,这些特征可用来表示原始信号局部特征,进而实现对信号时间、频率的局部化分析。
本文介绍一种基于小波变换的水印隐藏和检测算法,小波变换将信号分解到时域和尺度域上,不同的尺度对应不同的频率范围,因此对于语音信号这样的时变信号而言,小波变换是一种很适合的工具. 水印隐藏算法描述如下:
·选择适当的小波基对原始语音信号进行3级分解,对前L级的差别分量保留,不予处理,对第3级的详细分量dL进行后面的处理.(L=3)
·假设需要隐藏的水印信号的长度为N,选择dL中绝对值最大的前N个值
'=dL(i)(1???x(i))。 dL(1),dL(2),?dL(N), 水印隐藏算法采用如下公式:dL·用小波反变换恢复隐藏了水印的语音信号.
语音信号在传输过程中可能经过各种处理,如受到噪声的干扰,经过各种滤波处理,语音的有损压缩,D/A,A/D变换,采样率改变等等.好的水印隐藏算法应该在各种干扰的情况下都可以准确地判断出水印的存在。在水印检测端(作者本人或第三方认证机构),原始的语音信号以及水印信号需保留以备检测时用。水印检测算法描述如下:
·对接收到的信号进行同样的小波变换。
·对第3级的详细分量,利用原始语音信号找到隐藏了N个随机数的位置,求出
''x'(i)?(dL(i)/dL(i)?1)/?。
·求x'与x的相关.从这个相关函数中就可以判断是不是有正确的水印信号存在. 这一算法的优点首先在于其算法简单,利用了小波变换快速、简单的特点;第二,这一算法的抗干扰能力很强因为水印信号隐藏在信号第3级的详细分量中,即是把水印信号放在语音信号能量最大的部分——低频部分,如果这一部分信号受到较大的改变,还原出语音的音质将会严重下降,所以一般信号处理(如滤波、压缩、变换等),为了保留原始语音信号的音质等特点,影响的大部分是语音的高频部分,即使水印信号受到影响,但还是能够检测出它的存在.因此这一算法的主要特点就是,把水印信号与语音信号的能量最大部分捆绑在一起,一方面语音信号遮盖了水印的影响,使其不易被发觉;另一方面即使音质受到一定的破坏,只要语音信号有一定的可懂度,水印信号就可以检测出来.这一点是优于其它算法的。
总的来说,变换域水印方法与时域水印方法相比较,具有如下优点:
第 21 页 共 34 页
小波变换在数字水印中的应用
1)在变换域中嵌入的水印信号能量可以散步到空间域的所有位置上,有利于保证水印的不可察觉性。
2)在变换域,人类视觉系统和听觉系统的某些特征(如频率掩蔽效应)可以更方便地结合到水印的编码过程中。
3)变换域的方法可与数据压缩标准相兼容,从而实现在压缩域内的水印算法,同时,也能抵抗相应的有损压缩。
4.3 DCT域音频水印算法
离散余弦变换(Discrete Cosine Transform)简称DCT,离散余弦变换是数字信号处理技术中最常用的线性变换之一,不仅具有很好的能量压缩能力,而且去相关能力也较强。
语音信号经过DCT变换后,大部分能量都集中在低频部分。听觉系统最重要的分量上对应于DCT域中的中、低频系数,所以把水印信号嵌入在中、低频的算法一般都具有较好的抗JPEG压缩、MPEG压缩和抗缩放重采样等特性。
在大多数早期的水印算法中,为了保证水印的不可听性,在原始音频采样点的最低有效位(LSB)上嵌入水印。在DCT域,与LSB方法等效的做法是把水印嵌入到高频系数中。这对音频水印载体的听觉质量非常有利,但由于音频信号的高频区对常见的信号处理和噪声比较敏感,这些算法所产生的水印鲁棒性较差。为提高鲁棒性,Cox等人提出水印应放在听觉系统最重要的分量上(对应于DCT域中的低频系数),其理由是听觉上重要的分量是音频信号的主要成分,携带较多的信号能量,在音频信号有一定失真的情况下仍能保留主要成分。因此,若水印嵌入到听觉重要的分量上,则鲁棒性较好。同时,为了保证不可听性,对听觉上重要的分量的改变应小心进行。一些学者则进行了折衷,把水印放在DCT域的中频系数上。将中频系数定义为每一段的第2个DCT系数,从而将水印嵌入到音频载体信号的中频系数上。针对图像水印,黄继武等人提出DC的DC分量比AC分量有更大的感觉容量,水印应该更多的嵌入在DCT的DC分量上。而在音频水印中,还没有研究者提出一个统一的、定量的标准来确定嵌入位置的选择策略。
水印隐藏算法描述如下: 1) 读入原始水印图像W;
2) 读入原始音频信号A,对其进行分段离散余弦变换(DCT变换)得到Ae,
步长k=1000;
3) 对每段DCT系数排序找出中频系数x(i);
4) 通过修改中频系数来实现水印图像的嵌入,水印嵌入算法采用如下公式:
x'(i)?x(i)?(1???w(i))(9)
5) 并记录被修改的系数和序号;
6) 对其进行DCT反变换,得到嵌入水印的音频信号Aw;
7)水印的提取,利用式(9)的逆运算即可提取。
第 22 页 共 34 页
小波变换在数字水印中的应用
4.4实验结果分析
DWT域算法嵌入水印前后波形的对比如下图所示:
原始音频420-2-4024681012x 104嵌入水印后的音频420-2-4024681012x 104
DCT域算法嵌入水印前后波形的对比如下图所示:
原始音频
第 23 页 共 34 页
小波变换在数字水印中的应用
嵌入水印后的音频
图中看不出嵌入水印对音频信号波形产生的影响,从听觉上也感觉不出嵌入水印后音频质量的变化。
SNR/db 是很大,人耳不能分辨出差别。 原始水印 提取水印 BER 0 0.9995 0 1 DCT域算法 DWT域算法 DCT域算法 161.9129 DWT域算法 126.1354 由上表可知,DCT域算法的不可感知性比DWT域音频水印算法好,但相差不
? 实验结果表明,DCT和DWT算法都有较好的水印不可见性,具有很较好的鲁棒性。但从算法实现方法上来看,DWT算法和DCT算法各有灵活性。从效果上来看,DWT算法明显好于DCT算法。这都预示着DWT算法在数字水印领域有着更广阔的发展前景。怎样评价算法的性能,目前还没有一个标准可供参考,比如水印的不可见性评价只是一个十分模糊的概念,为了衡量其不可见性,就需要建立一种与视
第 24 页 共 34 页
小波变换在数字水印中的应用
觉特性相匹配的标准,这并不是一件容易的工作。同样,水印的鲁棒性评价也缺乏一个通用标准。
5视频水印概述及算法分析
5.1 视频水印的分类
对于视频水印技术可以作如下分类。
根据水印技术与数字视频编码系统结合方式的不同对视频水印算法主要分为两类,即基于原始域视频水印算法和基于压缩域视频水印算法。
基于原始域视频水印技术大多来自较为成熟的静止图像水印技术,按照水印嵌入过程可分为两类方案,一种是利用空间域图像自身特性直接在空间域内完成水印信息的嵌入:另一种是在变换域内进行水印信息嵌入。
基于压缩域视频水印技术又可以分为内置式水印算法和后置式水印算法。前者要与视频压缩编码算法整合,在水印嵌入过程中,此类算法具有能够主动利用编码过程中产生的各种信息对水印信息嵌入进行实时动态调控的优势;后置式水印可以不需要完全进行视频解码和重编码的过程,所以能满足实际应用中水印嵌入不可能在视频压缩编码过程中进行的需求(如视频点播系统的用户追踪,它需要在发送给不同用户的视频码流中嵌入不同的水印)。另外,此类算法相当于视频压缩编码系统加入的后处理功能,因此几乎不会影响现有视频压缩编码系统的正常运作,可最大限度的利用现有硬件资源。
根据水印的抗攻击性可以分为鲁棒水印和脆弱水印两种。鲁棒水印能够抵抗各种有意或无意的攻击;脆弱水印则对攻击比较敏感,主要用于篡改提示。本文主要研究鲁棒水印。
根据水印的可见性可以分为可见水印和不可见水印。一般研究的是不可见水印。
6 程序附录
基于小波变换图像水印(1)
clear all; close all; clc;
[filename1,pathname]=uigetfile('*.*','select the image');
第 25 页 共 34 页