4)传输中录制开始时刻可能早于也可能晚于播放时刻而且结束时刻也不一定一致,所以水印隐藏的起始位置需要没置标志;
5)转换过程具有一定的滤波特点,可滤除较高频率信号。
1.1音频频率范围选择
对照音频频率响应特性图可以发现,在低频部分的阈值比2kHz~4kHz的要高得多,不容易察觉;尤其是1kHz以下部分,其不可感知性要好得多。文献[4]的实验也表明,音频数据通过A/D和D/A转换后,其低频范围700Hz以下的损失非常小。可见,选择在频率为(50,700)范围内的音频数据,用于信息隐藏非常有利。
1.2倒谱系数的选取方法
倒谱变换在音频水印中已经具有了较强的健壮性,能够抵抗噪声、重采样、低通滤波、重量化和音频格式转换等常见攻击。倒谱变换后的数据特征表现为:倒谱系数在中间部分的差异很小,而在两端的变化很大。
图1是对音频进行7级小波分解后,选取5~7级高频数据部分进行倒谱变换情形。在进行统计处理时,如果让全部数据参与,则计算结果在隐藏前后有明显变化;如果不考虑两侧若干个大数据,仅以中间大部分数据参与运算,则计算结果容易保持在一个稳定范围内。
进一步,如果将计算的均值移除,即相当于此时的均值为0。然后,在0的上下两边产生一个偏差,如2,以分别隐藏比特信息“1”和“0”。则在提取时,只需要判断所求均值是否大于0,就可以求得水印比特。这种方法,称之为“数据分离调整”技术。
2算法分析与设计
2.1隐藏算法流程设计
将原始音频分段时,段数至少是水印比特数。然后,对每段数据进行小波分解,取其低频系数进行倒谱变换,采用前述的数据分离调整技术,以实现水印比特嵌入。之后,先后重组倒谱系数和小波系数,获得含有水印信息的音频段,从而构造为新的音频。该算法流程如图2所示。
为了增强可靠性,对水印信息先做纠错处理,采用BCH编码方法。算法的主要工作是寻找合理的参数优化配置,使隐藏效果达到最优。参数主要有:小波分解级数、分段的数据帧长度、数据帧的间距、上下分离的阈值将数据帧的间距设置为数据帧长度的倍数,最大为1,最小为0。期间选择多个系数,结果发现都可以成功实现隐藏。
2.2水印嵌入算法设计
1)水印信息处理。
音频载体分段数至少应该大于,才能满足隐藏要求。
假设每段长为,该段经过小波变换的级分解后,各级小波系数长度分别为:
取低频系数部分,使之频率范围位于(50,l000)内,则需要构造一个组合的低频小波系数集合。以8kHz音频为例,实施7级小波分解后,所选择的低频系数部分为:
P的长度非常重要。如果太小了,对隐藏不利;反之,就需要更长的音频载体。所以,音频分段与小波分解具有密切的关系。
3)倒谱变换。
复倒谱变换对于信号序列的均值大于或等于0时,其逆变换可逆;否则不可逆。为此,需要计算指定段信号的均值,若均值小于0则取反。然后对所有指定段进行复倒谱变换。
4)倒谱系数的选取。
去掉首尾波动很大的部分,而选择中间平稳的部分嵌入水印。假设两端各去掉L0个数据,则实际用于隐藏水印的倒谱系数长度为:
5)去均值化处理。
计算剩余部分的均值,然后用每一个倒谱系数减去该均值,得到倒谱系数的相对值。
6)嵌入水印。
给定一个阈值T,采用整体上下拉开的思路,对以上的相对倒谱系数进行修改,得到最终的倒谱系数,从而实现水印的嵌入。
7)重构音频信号。
对嵌入水印的段重构后,实施复倒谱反变换。然后进行小波重构,从而得到含有水印比特的音频段。将所有这些段重构,就获得了含全部水印信息的音频。
2.3水印提取
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说计算机关于面向公共信息传播的音频水印算法(2)在线全文阅读。