大容量MP3音频数字水印算法研究

出处:李奕飞 王勇 李炳法 发布于:2007-09-26 14:05:18

  摘  要 本文针对MP3音频的压缩原理和特点,提出了基于修改MDCT量化后系数的大容量音频盲水印算法。利用心理声学模型介入水印嵌入过程等方法提高水印的隐形性,使用哈希函数确保水印信息完整性,通过与MP3编/解码过程相结合,实现了水印信息实时提取。通过实验分析验证了水印的隐形性、水印容量、实时性等方面的特点。
  关键词 音频数字水印,MDCT,水印容量,哈希函数。

0  引言

     音频资源在互连网络、电子商务中扮演着重要的角色,随着Internet网络数量和带宽不断增长,在线音乐日益流行,对网络上音频资源版权的保护亦变的非常重要。数字水印技术作为版权保护的一种手段,近来得到广泛的研究和探讨。数字水印技术是信息隐藏技术的衍生和拓展,其基本特点是鲁棒性、隐蔽性和完整性等。人类听觉系统(HAS)比人类视觉系统(HVS)具有更高的敏感性,在音频信号中隐藏水印信息,对水印的隐蔽性有更高的要求,水印的隐藏也相应更加困难。1996年文献[1]提出了音频数字水印技术,阐述了音频数字水印的基本特点,提出使用PN序列作为水印发生器,并根据人类听觉系统(HAS)的特点将PN序列嵌入到原始音频信号中。文献[2]在2001年提出了使用扩频技术和HAS掩蔽效应将水印嵌入到非压缩的原始音频时域信号中的盲水印算法,并指出其算法具有抗MP3压缩的能力。文献[3]的作者提出了基于时域空间的鲁棒音频数字水印算法,作者通过将原始信号进行分段处理,计算每段的能量,利用调节各段之间能量关系的方式嵌入和提取水印信息,论证了算法的鲁棒性。[1][2][3]中描述的算法在水印的嵌入和提取过程中要求较大的计算量,不太能够满足网络上音频资源的实际需求。[4]阐述了音频数字水印的基本特点,分析总结了当前一些音频数字水印算法,提出利用MP3编/解码过程进行水印嵌入和提取的算法。在文献[4]中作者通过分析MDCT系数,对MDCT系数进行修改,从而实现水印嵌入和提取操作。[4]的算法不能完全有效地检测嵌入的水印信息,水印嵌入比例小。文献[5]的作者提出利用SNR控制音频水印嵌入放大因子的自适应数字水印算法,在文中,作者通过使用小波变换技术、混沌序列生成技术等方法,实现了在音频数据中嵌入图片信息;在水印提取过程中,通过利用SNR改善提取的水印数据。文章中没有具体针对MP3音频资源进行水印嵌入,且水印信息的嵌入量不大,水印检测效率不高。

     目前提出的音频数字水印算法,不能很好的满足嵌入容量、实时性等需求,同时,水印的隐形性不高,水印添加量扩大时音质下降严重,故上述文献中提出的水印算法,难以应用到实际系统中。本文提出的算法主要针对以上提出的三个问题。即大容量、实时性、音质与水印容量的制衡关系。我们将水印信息分成两个部分:水印信号和水印的Hash值。根据二者各自的特性添加到不同的频段的MDCT非均匀量化系数上,其中水印Hash值作为水印完整性检查的依据,用于确保水印信息不曾遭受篡改。水印嵌入/提取算法根据心理声学模型的结果计算并修正MDCT系数中非均匀量化值,可以在MP3编/解码过程中实时操作。算法中对添加水印后的信号计算噪声值,再与心理模型得出的可容忍噪声量进行比较,若超出范围则改进量化因子后再重新添加水印,直到满足要求。这个过程将水印信息引入的噪声限制在合理的范围之内,同时保障了嵌入水印的信息量。水印添加位置的选择遵循在失真度和水印信息量上制衡的原则,选取了MDCT系数的中频部分,引入水印嵌入密度控制因子α,以便人为干预水印信息在MP3流中嵌入量和水印信息添加得分散度。实验表明,算法具有容量大、实时性、隐蔽性强等特点。

1  MP3音频流编码过程

     MP3的编码以帧为单位进行的。一帧一般有576个数据,PCM码首先通过滤波器组,被分成等宽的32个频率线。每根频线再通过MDCT变换进一步被细分成18根频率线,得到32×18=576个系数。 MDCT公式如下:
                                                            (式 1-1)
    MDCT变换具有某些与DCT变换不同的特性[6]:
    ⑴ MDCT不是正交变换;
    ⑵ 当信号出现本地对称的时候MDCT系数全为零;即说明时域能量有不等于频域能量的时候;
    ⑶ 时域能量只有在出现本地对称的情况下才不等于频域能量;
    ⑷ MDCT没有DCT直流分量和交流分量的概念。
     从特性4来分析,对MDCT系数的修改可以不用避开类似DCT系数的直流分量部分。但根据特性2,3,对MDCT系数的修改,避开系数0值部分。
     每个粒度的信号在经过MDCT变换后就进入量化和位分配阶段,通过两个嵌套循环使得MP3数据位分配少即压缩比与量化噪声在SMR控制的范围内两个目标之间取得平衡。编码器会根据心理听觉模型的计算结果将567个MDCT系数分成多个SFB(比例因子带),由于SFB很接近人耳听觉特性的临界带,可以近似地看作临界带,每个SFB都有相同的比例因子,编码器会找到SFB带中的值,把他改写成科学计数表示法,使有效位数的范围落在(-1,+1)之间,再对有效位进行量化。量化和位分派的实现时通过双重循环来完成,内部循环作量化工作,外部循环估计量化失真的大小,将它和各比例因子带所能容忍的失真比较。若失真太大,就要作调整(即调整比例因子大小),调整后再量化,直到失真程度小于可以容忍的失真。,对不同部分选择不同的Huffman表进行编码。
    通过对MP3编码过程和MDCT特性的分析,为了限度减小水印信息对原始音质的影响,我们把水印添加算法放到内部循环中,添加水印后的量化信息同样受到心理听觉模型计算的允许噪声的控制。
    MP3文件由帧组成,帧由帧头和帧体组成。帧可以是单声道也可以是双声道。声道进一步分成两个粒度。粒度信号按低频到高频排序,由低到高分为三个区域"Big Value区","Count1区"和"Rzero区"[7]。
 
     "Count1区"的数值取值范围为-1, 0, 1。由4个值一起编码;"Rzero区"保存0值对。这两个区域都是属于高频部分,对它们微小的修改都会引起较大的失真效应。这两个部分由于对文件压缩的贡献很大,所以不适合嵌入大量的水印。信号能量大多分布在中低频上,即"BigValue区",这一区间数值较大,经过统计分析,多数值在1到16之间。大值区再细分成"Region0","Region1","Region2"三个区域。这三个区域分别选取各自适合的Huffman编码表。通过试验,我们发现0区和1区虽然位处低频部分,对数据的修改同样敏感,所以也不适合作大容量水印添加载体。但正是由于其敏感性,我们可以在其中添加少量且很重要的信息(如用于完整性验证的Hash值)。"Region2"区属于中频部分,覆盖面积较大,根据试验结果,该部分的修改对听觉的影响较小,因此选择该区域中的部分信号作为水印载体。
     限于篇幅,有关MP3更多的编码细节,请参阅ISO MPEG-1 Layer III编码标准和文献[8]等相关资料。

2  MP3流音频水印方案

2.1 数据预处理
     水印信息在添加之前需要作预处理,主要包括水印信息置乱和计算Hash值两部分工作。本文采用SHA算法计算水印信息的Hash值[10],再利用双人字映射方法[11]分别对水印信息和计算所得的Hash值进行置乱操作。引入置乱技术虽然不能加强水印的鲁棒性,但可以保护遭受攻击后的水印信息不会发生大面积丢失的情况。置乱后的水印信息、Hash值序列以及水印信息结束标志共同组成要添加的水印信息序列。

2.2 水印嵌入方法
     我们引入一个水印嵌入密度因子的概念,在水印添加比例和鲁棒性之间做出平衡。首先根据用户输入生成一个值在(0,1)之间的随机序列,记为m。该序列与水印嵌入密度控制因子α一同作用,实现水印信息在整个MP3文件中的分散。α取值范围在0到1之间,作用是控制实际水印载体位个数与候选载体位的百分比。α越小则水印信息越分散,有利于水印信息的隐秘性,但α太小又会影响水印的添加量。合理的α的取值和水印信息量的大小有关系。

     水印的添加过程是在MP3编码过程中同步进行的。MP3的压缩过程对PCM码按粒度为单位来顺序处理。一个粒度的MDCT系数计算并量化后会将576个频率线分成"大值区","Count1区"和"零值区",而"大值区"一般按5/12,1/3,1/4的比例被分成三个区域。选取总能量大于0的"Region2"中系数大于1的点作为水印添加的候选载体部分。而"Region1"作为水印信息Hash值的添加部分。"Region2"区域水印的嵌入算法可以用式(2-1)形式化标出:
                           (式2-1)
    s[j]为原始量化值,s'[i]为"Region2"区域中添加了水印的量化值。w[i]为需要添加的水印置乱序列。遍历"Region2"区域的所有点,用该公式求值。用得到的s'数组替换原来的"Region2"部分。
    "Region1"区域嵌入水印信息Hash值置乱数据h'。一个粒度中的"Region1"区域只嵌入一个比特的水印Hash值。添加时按顺序选择前512个其Region1区系数之和大于0的粒度,只有系数和大于0的Region1区才能添加,添加完Hash值后对接下来的粒度中的"Region1"部分就不再作改动。这里算法的形式化表示为:
                 (式2-2)
    L为某Region1中个值的位置。h为水印信息的Hash值数组。

2.3 水印提取方法
     水印的提取是水印添加的逆过程。是在MP3解码成PCM码的过程中完成的。这样可以实现水印的提取和MP3文件的播放同步进行。根据后面试验的结果,由于水印提取算法所需时间非常少,不会对MP3文件的播放产生滞后影响。可以实现水印同步提取的操作。


     首先根据用户输入的密码生成0到1之间的随机序列m。对某一粒度的水印的提取分为对"Region1区"Hash值的提取和"Region2区"水印置乱信息的提取两部分。
    "Region2"信息部分提取算法可由式2-3表示:
     (式2-3)
    "Region1"部分提取算法表示如下:
        (式2-4)
     在提取的水印中发现结束标志后停止水印的提取操作,但MP3解码工作仍然继续。解码完成后水印信息保存在w'数组中。w'中的信息是置乱信息,根据用户输入的密码将其反置乱,终得到正确完整的水印信息w。

3 实验分析

3.1 隐形性试验
    音频波形的状态和差异比较,从图中可以看出,本文提出的方案对音频信号的改变是非常细微的,符合人耳听觉系统掩蔽效应的要求。

     频谱质心是MDCT频谱系数能量分配的中心,它表示信号能量分布的中心。通过对频谱质心的计算,可以反映出嵌入的水印信息对原始信号的改变程度。频谱质心计算公式如下:
        (式3-1)
     表1是一些典型的音频文件嵌入水印信息后的频谱质心平均偏移量和偏移量。从测试结果可以看出,嵌入水印后频谱质心的偏移较小,对音质的影响不大。
  

MP3文件大小

添加比例

平均频谱质心偏移量

频谱质心偏移量

3.69MB

7%

0.72%

1.4%

778KB

10%

0.8%

1.2%

232KB

5%

0.3%

0.9%

平均量

7.3%

0.61%

1.17%


表1 频谱质心偏移试验

3.2 实时性试验
     首先在软件中采用不生成PCM码只提取水印的方式运行软件,测试出提取时间。再采用边播放边提取的方式运行,测试出播放时间。直接用现在较流行的播放软件winape播放,测试出winape播放时间。通过这几种时间的比较,可以看出水印提取算法是满足实时性要求的。
   

水印载体大小(KB)

提取水印量(KB)

提取时间()

播放时间()

Winape播放时间()

3,690

289

3.0

235.0

235.0

3,780

275

4.0

241.0

241.0

11,800

912

7.73

720.0

720.0


表2  水印实时性试验
 
3.3 水印容量试验
     水印添加之前,对水印载体作如下的预处理, 以取得可以添加的水印量:将水印载体Wav文件按MP3的压缩规则取得各粒度的量化系数,记录可以嵌入水印的数据量,添加的水印的量为各粒度中Legion2中量化系数大于二的个数之和。
 
 

MP3文件大小

KB

嵌入信息量

KB

添加比例

(%)

296

23

7.78

778

83

10.67

1300

115

8.85

3200

275

8.59

3690

289

7.83

4080

363

8.90

4430

420

9.48

5050

437

8.65

6660

616

9.25

11800

912

7.73


表3 水印嵌入量试验

     表3 给出了几个典型的MP3文件和水印信息量的比例关系,图5显示了水印信息量对PSNR值的影响,从表中可以看出,本文算法具有较高的水印添加率。由于水印载体选择的要求,水印的嵌入量与信号内容有关系,添加比例一般在8%左右。随着水印添加比例的增大,对信号的修改也越多。信号的失真度越大。
 
3.4 水印嵌入密度控制因子α对水印添加的影响
     算法中使用嵌入密度控制因子α实现对嵌入密度的灵活控制。嵌入的信息可以较平均的分布在整个MP3音频粒度中,使得嵌入水印前后的音频信号差异更稀疏,提高了水印的隐藏效果,并且降低攻击者发现水印信息的可能性,增强整体的安全性。图6和图7显示了没有使用嵌入密度控制因子和使用后水印信息分布状态,图中可以看出,使用控制因子后,水印信息的分布更加均匀。

  

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!