1. 嵌入算法描述
将待嵌入的二值图像信息经过预处理后形成真正嵌入的水印信息:
WEmbed={wembed(i),i∈(1,N2)}
其中,N2=3×N ×n×Num ×3×L×24,L为每段音频数据中包含的音频采样点数目。
同步信息为
nEmbedSy={nembedsy(i),i∈(1,N1)}
将原始音频按照长度为Nframe=N1+N2的帧进行分段。水印嵌入算法的过程详细描述如下[20]:
(1)将原始音频文件A={a(i),i∈(1,NAudio)}按照式(4-27)和式(4-28)进行分帧处理,形成待隐藏秘密音频段和未进行处理的音频段。其中,NAudio为音频样本数。
(2)将一帧的音频信号Aembed-1={a(i),i∈(1,Nframe)}进行4级小波分解,选中第4级低频小波系数ACaembed-1={Acaembed-1(j),j∈(1,Nframe/24)}作为嵌入区间,其中Acaembed-1(j)=DWT(a(i)),i∈(1,Nframe)。
(3)将Acaembed-1进行分段,段长为L。其中每3段为一个嵌入区间,并按照式(4-29)、式(4-30)、式(4-31)分别计算每一个区间的能量。
(4)将1E、E2和3E进行排序,得到最大值Emax、中间值Emid和最小值Emin,然后按照式(4-32)、式(4-33)分别计算最大值与中间值的差A(j)以及中间值与最小值的差B(j)。
(5)假设“1”用A(j)-B(j)≥Th表示,而“0”则用B(j)-A(j)≥Th来表示,Th为嵌入强度阈值,Th越大,音频的不可感知性将会变差,但与此同时,算法的鲁棒性就越好。
(6)如果在某一嵌入区间内要嵌入的秘密信息为“1”,并且该嵌入区间的能量差S满足A(j)-B(j)≥Th这个条件,则该嵌入区间的系数无须做任何修改,否则需要增加Emax并且减少Emid,直到满足A(j)-B(j)≥Th。如果在某一嵌入区间内要嵌入的秘密信息为“0”,而该段嵌入区间的能量差S满足B(j)-A(j)≥Th条件,则该嵌入区间无须做任何修改,否则需要增加Emid并且减少Emin,直到满足B(j)-A(j)≥Th。(www.daowen.com)
(7)假设每段嵌入区间变化的值为b,通过 的修改,使A′(j)-B′(j)≥Th,以完成秘密水印信息“1”的嵌入。
所以为了隐藏信息“1”,该嵌入区间的修改值要满足b≥(Th-(A-B))/3这个条件。反之,为了隐藏信息“0”,该嵌入区间的修改值要满足b≥(Th-(B-A))/3这个条件。
(8)重复(3)~(7)的操作,将扩频的秘密水印信息与同步码嵌入音频的第4级小波系数。然后,分别进行小波反变换,形成混合音频文件。
(9)计算原始音频载体与混合音频文件的信噪比SNR,判断此SNR是否超过预定的信噪比,若超过,则减少嵌入强度因子c。
2. 嵌入强度阈值Th的选取
嵌入强度阈值Th决定了A(j)与B(j)之间差的大小,决定着嵌入区间之间修改的幅度大小。由于音频传输过程中,混合音频文件不可避免地会有一定的波形或幅度失真,因此嵌入强度阈值Th的大小决定了算法的鲁棒性,同时Th也是影响算法不可感知性的重要因素。我们应该在保证混合音频的不可察觉性(一定的SNR值)的前提下尽量取更大的阈值,以使算法获得更强的鲁棒性。
假设某一区间内嵌入的是水印信息比特“1”,则由于嵌入区间中三段位置相邻,在混合音频受干扰时,这三段能量可能受到相同的改变。最坏的情况是c为嵌入强度的调整因子。为了保证提取方用户仍然能正确地提出水印信息“1”,那么受到干扰后的嵌入区间的能量差S则应该满足:
即A -B ≥c ×(Emax+2Emid+Emin),所以Th的最小值为c×(Emax+2Emid+Emin)。
为了保证这三段的能量在进行修改后,它们之间的相对关系不发生任何改变(否则,接收方将会做出错误的区间判断,就会影响水印的正确提取),因此修改后的能量必须满足这个条件,即
综上所述,在嵌入水印信息“1”时,嵌入强度hT的取值范围为
反之,在嵌入水印信息“0”时,嵌入强度hT的取值范围为
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。