简论一种安全的数字音频水印方案
发布时间:2015-07-01 16:33
摘 要:提出一种安全的数字音频水印算法,利用密钥生成的序列作为水印同步码,并在时间域嵌入同步码。水印信息采用分块结构化编码方式,水印分块中采用校验码机制,水印内容采用量化方式嵌入在小波变换域,水印分块在音频段中循环冗余嵌入方式,以抵抗同步攻击的能力。提出的算法不仅具有较好的不可感知性,对低通滤波、噪声、重量化、重采样、mp3压缩等信号处理具有较好的鲁棒性;同时对抵抗随机裁剪攻击、抖动攻击、时间延展等同步攻击具有很好的鲁棒性。关键词:音频水印; 同步攻击; 安全水印; 水印同步码
a security digital audio watermarking scheme based on synchronization technique
xu ri1, xue hui-jun2
(ment of computer science, inner mongolia business & trade vocational college, hohhot 010010, china;
ment of computer science, inner mongolia electronic information vocational technical college, hohhot 010010, china)
abstract: a security digital audio watermarking scheme is introduced, which uses a random sequence generated by private key as watermarking synchronization code and embeds the synchronization code in the time domain of audio signal. the block-structured coding is used in watermarking information, the check code mechanism is used in watermarking block, the sub-block watermarking is embedded in the wavelet transform domain. experimental results show that the proposed scheme is inaudible and robust against common signals processing such as low-pass filtering, re-quantify, resample, mp3 compression and equalization etc, and is robust against desynchronization attacks such as random cropping, time-scale modification, and jittering.
keywords: audio watermarking; synchronization attack; security watermarking; watermarking synchronization code
0 引 言
数字音频水印技术作为数字音频作品版权保护的有效手段,已经得到学术和产业界重视[1-3]。目前,针对音频水印算法的研究很多。但是抵抗随机裁剪、抖动攻击往往很容易让水印信息无法正确提取。文献[4]把信号短时平均幅度从低向高改变,并将改变程度最大的点作为特征点,并采用给定幅度参数阈值t1和t2来控制特征点数,其算法不具有通用性。文献[5]以变换域上的局部极值点作为特征点进行定位,嵌入和提取过程都是从音频的起始点分帧,用时间域裁剪攻击会出现帧移现象。文献[6]将同步信息添加到音频帧数据的小波域中,在裁剪攻击或抖动攻击中,同样会引起帧移并逐步加大。文献[7-11]采用音频特性定位或嵌入同步码的方式实现水印在同步方面的鲁棒性。上述水印算法基本没有考虑水印信息的安全性能,这些算法在公开的情况下,基本上可以很容易地把水印信息去除。
在此提出一种安全的音频水印方案,利用密钥序列生成同步码,同步码嵌入在音频载体的时间域。对水印信息进行结构化分块,结构化水印信息包括分块编号、分块水印信息、校验信息等。分块水印嵌入在音频信号的离散小波变换系数上,提高了水印算法的安全性,在未知密钥的情况下很难检索到水印的同步码,水印内容嵌入到小波变换域上,增强了水印信息的鲁棒性。仿真实验验证了水印在抵抗同步攻击、抖动攻击方面具有很好性能,对常见的音频信号处理也具有良好的鲁棒性。
1 水印算法设计
1.1 水印信息预处理
一般而言,作为版权侵权追踪中水印嵌入的实际需要,嵌入的水印信息可以是代表该版权归属的企业标识或企业名称等信息,其水印信息内容不大。比较适合作为水印信息的形式,通常可采用二值图像或灰度图像。水印信息预处理的目的在于增加水印抵抗攻击的能力,在部分的水印分块提取错误时,不至于影响其他水印分块的提取。预处理分为以下几个步骤。
(1) 水印信息分块。
水印信息通常采用可视的二值或灰度图像形式,以方便实际应用中对版权归属的确认。在此,以二值图像作为水印讨论,把水印信息分成n×n(n取4或8)大小的块,对水印图像做预处理,可以恰当的数量分块。
(2) 分块水印信息结构化。
经过分块的水印信息进行结构化处理。首先,在分块信息之前增加分块编号信息,分块信息进行二进制序列化,然后根据密钥进行置乱处理,最后增加二位校验位,一位为分块编号校验和;另一位作为水印信息校验和。
1.2 水印同步码
在水印检测时实用的水印系统不能依赖原始的载体[1],必须是盲检测,这就要求嵌入的水印必须能正确地定位,任意选择一定长度的音频载体,只要其中嵌入完整的水印信息,即可正确的提取其中的水印信息。同时,要求水印算法可以公开,水印算法的安全性不能依赖于算法的保密来实现。本算法提出的同步码是由密钥生成的序列。利用m序列生产器,生成长度为k的序列码,作为同步码。
1.3 同步码嵌入
为提高水印信息检索效率,同步码嵌入在水印载体的时间域。水印嵌入位置对于水印的鲁棒性影响很大,水印嵌入位置的选取极为重要,同步码的嵌入步骤如下:
(1) 嵌入位置检索。假设需要嵌入水印的音频载体为a={a(n),1≤n≤n},确定一个宽度为lw的滑动窗口,lw的取值与同步码的长度k相同,即lw=k。把滑动窗口在音频载体的时间轴上移动检索,计算窗口内音频采样点的能量值ej=∑i=j+lw-1i=ja(i)×a(i),选取窗口中能量ej大于某一个阈值te的音频段作为同步码嵌入的音频段。
(2) 同步码嵌入。对(1)中选取的音频段,每一个音频采用点嵌入一个比特的同步码,嵌入方法为直接修改音频采用点最低2~4位上,采用直接的位替换方案,直接把同步码位逐个按序替换方法,替换位置在最低第2,3,4位上选择,选择方法为采用密钥生成0~1之间的随机数序列,根据随机数序列所在的位置确定同步码被替换的位置。由于滑动窗口的长度与同步码的长度一致,所以这就很容易实现同步码的嵌入。
(3) 在检索到一个同步码的嵌入音频段之后,其长度为la的音频段,即为用于嵌入水印的音频载体。假设分块水印长度为m,则la取值为4m。
(4) 下一个同步码的检索,在长度为la的音频之后,继续重复(1)步骤检索同步码嵌入位置。
1.4 水印嵌入
在上述音频信号中,根据检索到的同步码可以确定水印分块的嵌入音频信号段,并且音频信号段的长度为la,假设嵌入音频分块的音频信号为aj={a(i),j+1≤i≤j+la}。水印嵌入的步骤如下:
(1) 对音频信号aj进行n层小波变换,这里n一般取2或3。音频信号在进行小波变换后分为低频系数和高频系数。音频信号的能量主要集中在低频系数,因此选择小波的低频系数用于水印分块的嵌入;
(2) 采用量化的水印嵌入方案进行修改低频系数。修改后的低频系数及保留的高频系数部分,经过小波逆变换,生成aj的几位嵌入水印分块音频段。
1.5 水印提取
水印的提取过程与水印嵌入过程类似,具体步骤如下:
(1) 生成同步码,使用嵌入时候相同的密钥生成同步码序列。
(2) 对于待检测的音频信号,根据嵌入时候确定的滑动窗口,在时间域检索同步码,计算滑动窗口内音频信号的能量,对于大于阈值αte(这里α取值为0~1之间,小于1;如果α为1,可能造成同步音频信号无法检索到)的滑动窗口,按照嵌入时候相同的方案提取出同步码,若为同步码,则定位到嵌入水印的音频为其后的lw长音频段,否则继续检索。
(3) 对于检索到的同步码,即可确定其后的lw长的音频段中嵌入的分块水印内容。取其后的lw音频段,进行n层小波变换,按照与嵌入相同的方式,在低频系数提取水印分块。
(4) 如果提取的分块水印满足水印分块的结构,即水印分块号在正确值范围,同时分块的校验码都是正确的,则可认为提取的水印分块是正确的。否则,认为水印分块提取的信息是错误的,抛弃提取的水印分块,继续步骤(2)。水印的分块嵌入过程是把同步码及水印分块信息多次循环地嵌入在音频信号中。因此在音频信号足够长的情况下,很容易地提取到各个水印分块。
(5) 把提取的完整的各个水印分块,按照分块编号,重新组合成完整的水印。
2 实验结果
为验证所提出水印算法的性能,本文在window xp和matlab 7.1环境下进行仿真。实验中,选用原始信号为44.1 khz,分辨率为16 b,长度为31 s的单声道数字音频信号。水印信息选取32×32的二值图像,如图1所示。算法中采用3层db -2小波基。同步码长度k的取值为16,滑动窗口大小即为lw=k=16。其中,能量阈值te取值为1.5,这个阈值的选择根据情况做调整,用它将影响同步码的定位,也影响水印的鲁棒性能。 表1给出了本文算法和文献[6]算法的抵抗攻击能力对照结果。
图1 二值水印图像
表1 数字水印对部分常规攻击的抵抗能力
未攻击
随机剪切
1 024样点2 048样点重量化
重采样
22.05 khz11.025 khz高斯噪声
mp3
256 khz
文献[6]算法
nc1.0000.8650.8410.9860.8920.8390.9210.735
ber00.1220.1650.0020.2020.2380.0920.324
psnr42.75122.42119.75239.34221.16219.09830.65819.652
本文算法
nc1.0001.0000.9951.0001.0000.9820.9020.759
ber000.024000.0050.1090.339
psnr42.75038.17435.72139.98237.16536.42025.42618.765
通过上述的实验数据可以看到,算法对于随机裁剪攻击具有很好的性能,对常见信号处理具有较好的鲁棒性,对mp3压缩处理和高斯噪声处理,略低于文献[5]的性能,其他的如重采样、重量化等攻击都表现很好的性能,特别是对随机裁剪攻击,具有很好的鲁棒性。
3 结 语
在此提出了一种安全的音频水印算法,它采用的水印同步码及水印同步码的嵌入位置均通过了密钥控制,增加了水印的安全性。同步码嵌入在时间域上可以大大减低同步码的检索效率。把水印嵌入在小波变换域上,采用了水印分块的方法,并对每个分块应用校验码技术,提高了水印的鲁棒性。仿真实验验证了水印是安全和有效的。本文算法的缺点在于滑动窗口计算能量之后,需要一个预先设定的能量阈值。然而这个阈值的确定,可能因为音频类别的不同而不同,因此实际上可以寻找更好的方案,以实现可以自适应的调节。在同步的基础上进一步提高水印在抵抗mp3压缩攻击、噪声攻击的性能,将是下一步的研究课题。
参考文献
[1]李伟,袁一群,李晓强,等.数字音频水印技术综述[j]. 通信学报,2005,26(2):100-111.
[2]赵翔,郝林.数字水印综述[j].计算机工程与设计,2006,27(11):1946-1950.
[3]吴迪,朱冰莲.数字音频水印技术研究综述[j].电声技术,2009,33(2):55-58,62.
[4]陈琦,张连海,曹业敏.一种基于特征点的自同步音频水印算法[j].计算机应用,2004,24(6):192-201.
[5]陈荔聪,姚志强.基于局部极大值点音频盲水印算法[j].计算机工程与应用,2005,41(19):41-43.
[6]吴绍权,黄继武,黄达人.基于小波变换的自同步音频水印算法[j].计算机学报,2004,27(3):365-370.
[7]施化吉,唐慧,郑洪源,等.一种自适应的同步音频水印算法[j].华南理工大学学报,2008,36(9):59-63.
[8]高海英,钮心忻,杨义先.基于量化的小波域自同步数字音频水印算法[j].北京邮电大学学报,2005,28(16):102-105.
[9]鲍德旺,杨红颖,张祁,等.基于音频特征的抗去同步攻击数字水印算法[j].
a security digital audio watermarking scheme based on synchronization technique
xu ri1, xue hui-jun2
(ment of computer science, inner mongolia business & trade vocational college, hohhot 010010, china;
ment of computer science, inner mongolia electronic information vocational technical college, hohhot 010010, china)
abstract: a security digital audio watermarking scheme is introduced, which uses a random sequence generated by private key as watermarking synchronization code and embeds the synchronization code in the time domain of audio signal. the block-structured coding is used in watermarking information, the check code mechanism is used in watermarking block, the sub-block watermarking is embedded in the wavelet transform domain. experimental results show that the proposed scheme is inaudible and robust against common signals processing such as low-pass filtering, re-quantify, resample, mp3 compression and equalization etc, and is robust against desynchronization attacks such as random cropping, time-scale modification, and jittering.
keywords: audio watermarking; synchronization attack; security watermarking; watermarking synchronization code
0 引 言
数字音频水印技术作为数字音频作品版权保护的有效手段,已经得到学术和产业界重视[1-3]。目前,针对音频水印算法的研究很多。但是抵抗随机裁剪、抖动攻击往往很容易让水印信息无法正确提取。文献[4]把信号短时平均幅度从低向高改变,并将改变程度最大的点作为特征点,并采用给定幅度参数阈值t1和t2来控制特征点数,其算法不具有通用性。文献[5]以变换域上的局部极值点作为特征点进行定位,嵌入和提取过程都是从音频的起始点分帧,用时间域裁剪攻击会出现帧移现象。文献[6]将同步信息添加到音频帧数据的小波域中,在裁剪攻击或抖动攻击中,同样会引起帧移并逐步加大。文献[7-11]采用音频特性定位或嵌入同步码的方式实现水印在同步方面的鲁棒性。上述水印算法基本没有考虑水印信息的安全性能,这些算法在公开的情况下,基本上可以很容易地把水印信息去除。
在此提出一种安全的音频水印方案,利用密钥序列生成同步码,同步码嵌入在音频载体的时间域。对水印信息进行结构化分块,结构化水印信息包括分块编号、分块水印信息、校验信息等。分块水印嵌入在音频信号的离散小波变换系数上,提高了水印算法的安全性,在未知密钥的情况下很难检索到水印的同步码,水印内容嵌入到小波变换域上,增强了水印信息的鲁棒性。仿真实验验证了水印在抵抗同步攻击、抖动攻击方面具有很好性能,对常见的音频信号处理也具有良好的鲁棒性。
1 水印算法设计
1.1 水印信息预处理
一般而言,作为版权侵权追踪中水印嵌入的实际需要,嵌入的水印信息可以是代表该版权归属的企业标识或企业名称等信息,其水印信息内容不大。比较适合作为水印信息的形式,通常可采用二值图像或灰度图像。水印信息预处理的目的在于增加水印抵抗攻击的能力,在部分的水印分块提取错误时,不至于影响其他水印分块的提取。预处理分为以下几个步骤。
(1) 水印信息分块。
水印信息通常采用可视的二值或灰度图像形式,以方便实际应用中对版权归属的确认。在此,以二值图像作为水印讨论,把水印信息分成n×n(n取4或8)大小的块,对水印图像做预处理,可以恰当的数量分块。
(2) 分块水印信息结构化。
经过分块的水印信息进行结构化处理。首先,在分块信息之前增加分块编号信息,分块信息进行二进制序列化,然后根据密钥进行置乱处理,最后增加二位校验位,一位为分块编号校验和;另一位作为水印信息校验和。
1.2 水印同步码
在水印检测时实用的水印系统不能依赖原始的载体[1],必须是盲检测,这就要求嵌入的水印必须能正确地定位,任意选择一定长度的音频载体,只要其中嵌入完整的水印信息,即可正确的提取其中的水印信息。同时,要求水印算法可以公开,水印算法的安全性不能依赖于算法的保密来实现。本算法提出的同步码是由密钥生成的序列。利用m序列生产器,生成长度为k的序列码,作为同步码。
为提高水印信息检索效率,同步码嵌入在水印载体的时间域。水印嵌入位置对于水印的鲁棒性影响很大,水印嵌入位置的选取极为重要,同步码的嵌入步骤如下:
(1) 嵌入位置检索。假设需要嵌入水印的音频载体为a={a(n),1≤n≤n},确定一个宽度为lw的滑动窗口,lw的取值与同步码的长度k相同,即lw=k。把滑动窗口在音频载体的时间轴上移动检索,计算窗口内音频采样点的能量值ej=∑i=j+lw-1i=ja(i)×a(i),选取窗口中能量ej大于某一个阈值te的音频段作为同步码嵌入的音频段。
(2) 同步码嵌入。对(1)中选取的音频段,每一个音频采用点嵌入一个比特的同步码,嵌入方法为直接修改音频采用点最低2~4位上,采用直接的位替换方案,直接把同步码位逐个按序替换方法,替换位置在最低第2,3,4位上选择,选择方法为采用密钥生成0~1之间的随机数序列,根据随机数序列所在的位置确定同步码被替换的位置。由于滑动窗口的长度与同步码的长度一致,所以这就很容易实现同步码的嵌入。
(3) 在检索到一个同步码的嵌入音频段之后,其长度为la的音频段,即为用于嵌入水印的音频载体。假设分块水印长度为m,则la取值为4m。
(4) 下一个同步码的检索,在长度为la的音频之后,继续重复(1)步骤检索同步码嵌入位置。
1.4 水印嵌入
在上述音频信号中,根据检索到的同步码可以确定水印分块的嵌入音频信号段,并且音频信号段的长度为la,假设嵌入音频分块的音频信号为aj={a(i),j+1≤i≤j+la}。水印嵌入的步骤如下:
(1) 对音频信号aj进行n层小波变换,这里n一般取2或3。音频信号在进行小波变换后分为低频系数和高频系数。音频信号的能量主要集中在低频系数,因此选择小波的低频系数用于水印分块的嵌入;
(2) 采用量化的水印嵌入方案进行修改低频系数。修改后的低频系数及保留的高频系数部分,经过小波逆变换,生成aj的几位嵌入水印分块音频段。
1.5 水印提取
水印的提取过程与水印嵌入过程类似,具体步骤如下:
(1) 生成同步码,使用嵌入时候相同的密钥生成同步码序列。
(2) 对于待检测的音频信号,根据嵌入时候确定的滑动窗口,在时间域检索同步码,计算滑动窗口内音频信号的能量,对于大于阈值αte(这里α取值为0~1之间,小于1;如果α为1,可能造成同步音频信号无法检索到)的滑动窗口,按照嵌入时候相同的方案提取出同步码,若为同步码,则定位到嵌入水印的音频为其后的lw长音频段,否则继续检索。
(3) 对于检索到的同步码,即可确定其后的lw长的音频段中嵌入的分块水印内容。取其后的lw音频段,进行n层小波变换,按照与嵌入相同的方式,在低频系数提取水印分块。
(4) 如果提取的分块水印满足水印分块的结构,即水印分块号在正确值范围,同时分块的校验码都是正确的,则可认为提取的水印分块是正确的。否则,认为水印分块提取的信息是错误的,抛弃提取的水印分块,继续步骤(2)。水印的分块嵌入过程是把同步码及水印分块信息多次循环地嵌入在音频信号中。因此在音频信号足够长的情况下,很容易地提取到各个水印分块。
(5) 把提取的完整的各个水印分块,按照分块编号,重新组合成完整的水印。
2 实验结果
为验证所提出水印算法的性能,本文在window xp和matlab 7.1环境下进行仿真。实验中,选用原始信号为44.1 khz,分辨率为16 b,长度为31 s的单声道数字音频信号。水印信息选取32×32的二值图像,如图1所示。算法中采用3层db -2小波基。同步码长度k的取值为16,滑动窗口大小即为lw=k=16。其中,能量阈值te取值为1.5,这个阈值的选择根据情况做调整,用它将影响同步码的定位,也影响水印的鲁棒性能。 表1给出了本文算法和文献[6]算法的抵抗攻击能力对照结果。
图1 二值水印图像
表1 数字水印对部分常规攻击的抵抗能力
未攻击
随机剪切
1 024样点2 048样点重量化
重采样
22.05 khz11.025 khz高斯噪声
mp3
256 khz
文献[6]算法
nc1.0000.8650.8410.9860.8920.8390.9210.735
ber00.1220.1650.0020.2020.2380.0920.324
psnr42.75122.42119.75239.34221.16219.09830.65819.652
本文算法
nc1.0001.0000.9951.0001.0000.9820.9020.759
ber000.024000.0050.1090.339
psnr42.75038.17435.72139.98237.16536.42025.42618.765
通过上述的实验数据可以看到,算法对于随机裁剪攻击具有很好的性能,对常见信号处理具有较好的鲁棒性,对mp3压缩处理和高斯噪声处理,略低于文献[5]的性能,其他的如重采样、重量化等攻击都表现很好的性能,特别是对随机裁剪攻击,具有很好的鲁棒性。
3 结 语
在此提出了一种安全的音频水印算法,它采用的水印同步码及水印同步码的嵌入位置均通过了密钥控制,增加了水印的安全性。同步码嵌入在时间域上可以大大减低同步码的检索效率。把水印嵌入在小波变换域上,采用了水印分块的方法,并对每个分块应用校验码技术,提高了水印的鲁棒性。仿真实验验证了水印是安全和有效的。本文算法的缺点在于滑动窗口计算能量之后,需要一个预先设定的能量阈值。然而这个阈值的确定,可能因为音频类别的不同而不同,因此实际上可以寻找更好的方案,以实现可以自适应的调节。在同步的基础上进一步提高水印在抵抗mp3压缩攻击、噪声攻击的性能,将是下一步的研究课题。
参考文献
[1]李伟,袁一群,李晓强,等.数字音频水印技术综述[j]. 通信学报,2005,26(2):100-111.
[2]赵翔,郝林.数字水印综述[j].计算机工程与设计,2006,27(11):1946-1950.
[3]吴迪,朱冰莲.数字音频水印技术研究综述[j].电声技术,2009,33(2):55-58,62.
[4]陈琦,张连海,曹业敏.一种基于特征点的自同步音频水印算法[j].计算机应用,2004,24(6):192-201.
[5]陈荔聪,姚志强.基于局部极大值点音频盲水印算法[j].计算机工程与应用,2005,41(19):41-43.
[6]吴绍权,黄继武,黄达人.基于小波变换的自同步音频水印算法[j].计算机学报,2004,27(3):365-370.
[7]施化吉,唐慧,郑洪源,等.一种自适应的同步音频水印算法[j].华南理工大学学报,2008,36(9):59-63.
[8]高海英,钮心忻,杨义先.基于量化的小波域自同步数字音频水印算法[j].北京邮电大学学报,2005,28(16):102-105.
[9]鲍德旺,杨红颖,张祁,等.基于音频特征的抗去同步攻击数字水印算法[j].
上一篇:一种提高DSP的ADC精度的方法