同步音频水印算法的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第28卷 第4期 吉首大学学报(自然科学版)Vol.28 No.4 2007年7月J ournal of J ishou University(Natural Science Edi ti on)Jul.2007
文章编号:1007-2985(2007)04-0074-04
同步音频水印算法的实现
张国武,曾巧明
(中南大学信息科学与工程学院,湖南长沙 410008)
摘 要:目前的音频水印算法缺乏有效的同步技术,笔者应用通信网同步方法,提出了一种快速重同步音频有意义音频水印算法.该算法利用时域水印技术嵌入同步信息,从而对抗音频在时间轴上可能受到的攻击,借助变换域基于小波变换增强音频的鲁棒性,水印为一幅二值图像.仿真实验表明该算法产生的水印在对抗加性Gaussian噪声、MP3压缩和裁剪等方面具有良好的稳健性,可用于数字音频产品的版权保护.
关键词:同步;小波变换;稳健性
中图分类号:TP301.6 文献标识码:A
数字水印技术是把数据(水印)嵌入到多媒体文件中去,以保护所有者对多媒体所拥有的版权.当所有者权益被侵犯时,可通过对水印的检测来得到证明.由于人的听觉系统(HAS)要比视觉系统(HVS)敏感,相对于静止图像和视频信号,在音频信号中嵌入数字水印更为困难[1].通常,音频数字水印应具有以下3个特性.(1)不可觉察性.加入水印后的语音信号比起原语音信号对人耳来讲应该是听起来无差别的;(2)鲁棒性.未被授权的个人或团体企图通过一些处理方法,去除或修改嵌入的水印信息时,会引起原语音信号音质的明显下降;而对于常见的信号处理操作,如传输、过滤、重采样、有损压缩等,嵌入的信息应损坏很小,并在一定正确概率的基础上可以被检测到;(3)可靠性.水印嵌入和检测方法对未被授权的第3方而言,应是保密且不能被轻易破解的,而那些合法的所有者或使用者,通过水印的检测过程,来证实自己的合法行为,以达到版权保护的目的.目前常用的音频水印技术[2],按水印嵌入方式来分可以分为2类:时域法和变换域法.时(空)域算法的算法简单、运行速度快,但抗干扰能力差.变换域法有离散傅里叶变换(DFT)算法、离散余弦变换(DCT)算法、离散小波变换(DWT)算法等,该类算法复杂度较高,但鲁棒性好.由于小波变换具有良好的时频局部特性,因此成为目前频域法水印的主流技术.目前,一些主要的算法,由于缺乏一种有效的同步机制,无法抵抗音频裁剪等攻击,水印的稳健性不强.
笔者研究了一种结合时域和变换域的音频水印算法,这种算法借鉴无线语音传输系统的同步技术,在时域上嵌入了同步信号,实现了语音信号受裁剪等攻击后的快速重同步.为了在满足不可感知性的前提下获得良好的抗噪声、MP3和裁剪等攻击的稳健性能,嵌入的水印信号将水印作为一幅二值图像来处理与隐藏,利用小波变换将水印嵌入到音频信息中.在水印提取时,使用了同步码检测技术,能够知道水印嵌入的起始点.
1 算法原理
由于语音信号是时间轴上的函数,剪裁等攻击会引起严重的同步错误.为了在检测时保持水印的同步,笔者提出了在隐藏有意义水印的同时,在语音信号中嵌入同步信息.一般来说,同步信息的数据量远小于水印数据量.所提出算法结合了变换域和时域水印技术.由于变换域上的水印能量能较均匀地扩散到时域上,对水印的不可感知性和稳健性比较有利,占隐藏数据量大部分的水印采用变换域方法嵌入于原始语音信号中.而为了实现快速重同步,同步信号的隐藏则采用时域水印技术.
考虑到语音信息量一般比较庞大,如果进行全局DWT变换,计算量太大.因此笔者设计的算法对原始语音信号f(t)进行分段处理.在每个分段点处嵌入同步码.水印数据则嵌入到每段语音信号.隐藏了水印的语音信号受到各种攻击(MP3、噪声、低通滤波、剪裁等)后,从中检测的水印将不可避免地发生错误.为了降低检测水印的差错率,从而提高水印的稳健性,
收稿日期:2007-05-21
作者简介:张国武(1978-),男,湖南常德人,中南大学信息科学与工程学院硕士生,主要从事ERP的研究与应用.
图1 算法原理图
笔者设计的算法对每段语音信号做IDWT 变换以获取加入
水印的语音信号.提取水印时,首先在待测语音信号中沿时
间轴搜索同步信号,并利用数字通信的帧同步原理实现快速
重同步.然后根据同步信号对语音数据分段.提取出一个估
计的隐藏水印.图1是所提出算法的原理框图.2 同步码和水印的嵌入
2.1同步码嵌入
考虑数据隐藏中不可感知性和稳健性的基本要求,同步
码需要满足如下条件:具有尖锐特性的自相关函数;具有较
短的码长.笔者选用12b 的巴克码(Bark Code)作为同步码,巴克码是一种常用的群同步码,它是一种非周期序列,一个n 位的巴克
码为{x 1,x 2,x 3, ,x n },x 1的取值为 1,其自相关函数为R (j )=
n -j i =1x i x i +j =n j =0,
0, 1 0 0 j n .(1)当j 为负值时的自相关函数值,与正值对称,自相关函数在j =0时出现尖锐单峰.假设同步码为A 比特,每段语音信号有B 个抽样点,则共有M 段语音信号,记第i 段语音信号为R i (j ),同步码为B (j ),且同步码嵌入于每段信号的第1至第A 个抽样点中.嵌入算法如下: R i (j )=R i (j )-R i (j )mod S +3S /4 B (j )=1, R i (j )-R i (j )mod S +S /4 B (j )=0.(2) 其中:1 i B ;1 j A ;S 为在满足不可察觉性的前提下,尽可能选择的大值;mod 为取模运算.R i (j )-R i (j )mod S 相当于R i (j )的低log 2S 位清零.同步码嵌入于每段信号R i (j )的第1至第A 的抽样点中,每段余下的B -A 个抽样点将用来隐藏水印数据. 2.2水印的嵌入 2.2.1音频信号的分解 对R i (j )中上述的B -A 个抽样点,利用参考文献[3]提出的方法对每一段进行L 级的小波变换,保留前L -1级小波的细节分量及第L 级小波的近似分量不变,在第L 级小波的细节分量d 1中嵌入水印,假设d 1的长度为Ld 1. 2.2.2水印信号的获取 由一幅二值数字图像,得到一个二值序列S ={s i ,0 i P ={p i ,0 i (3)W ={w i ,0 i (4)其中:w i =s i p i ;0 i 的伪随机性,W 也具有伪随机的特性,在攻击者不了解P 的情况下,很难检测到水印并将其破坏掉. 2.2.3水印信号的嵌入 为保证嵌入水印后的信号质量和算法的稳健性,将水印W 分成等长的M 段,每段的水印长度为K ,且K =N M ,K Ld 1时将第m (0 d i (i )=d 1(i )[1+ w m (i -s 0)] s 0 i s 0+k ,0 s 0 其中: 为伸缩因子(通过调整 的取值,可以使嵌入的水印在具有听觉不可见性的同时保证水印的强度足够大);s 0是序列d 1中嵌入水印的起始点. 利用d 1和第L 级近似分量及前L -1级细节分量进行小波逆变换,得到嵌入水印后的第m 段信号.重复以上步骤,将得到的M 段信号依次合成为嵌入水印后的完整信号.水印嵌入过程中的所有参数都应由版权所有者或仲裁机构妥善保存,以便在水印检测时使用. 3 同步码和水印的检测及提取 同步码的检测方法是基于数字通信中的帧同步技术.笔者采用如下的综合抗衰落帧同步方案:在任何状态下,都同时进行监视和搜索输入的语音信号.如果在规定时间连续出现若干次 丢失原来的随后发现新的帧定位信号 或者 发现新的 75 第4期 张国武,等:同步音频水印算法的实现