发明名称 一种基于双向预测和泛化扩展的可逆音频水印方法
摘要 基于双向预测和泛化扩展的可逆音频水印方法,包括:双向预测,指利用当前采样值前后各一个采样值来预测当前值;泛化扩展,指对预测误差进行扩展并用预测误差末尾n个比特位来嵌入水印;水印嵌入前,利用双向预测计算预测误差并得到预测误差直方图,根据水印容量和n值计算阈值T、LA和LBM;嵌入过程中,利用泛化扩展嵌入水印,构造边界表并将提取的前LA个采样值末尾的n比特数据作为还原信息嵌入;将LBM、T和边界表转换成2n进制数据并用转换后的数据替换掉当前块的前LA个采样值末尾的n比特数据,得到含水印音频;在水印提取和音频恢复过程中,利用双向预测和泛化扩展,通过水印嵌入方法的逆运算对水印进行提取并无损恢复原始音频。
申请公布号 CN102169691B 申请公布日期 2012.11.14
申请号 CN201110085421.5 申请日期 2011.04.06
申请人 北京航空航天大学 发明人 杨小澎;陈真勇;罗立新;范围;熊璋
分类号 G10L19/00(2006.01)I 主分类号 G10L19/00(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 成金玉
主权项 1.一种基于双向预测和泛化扩展的可逆音频水印方法,其特征在于:包含双向预测、泛化扩展、水印嵌入过程、水印提取和音频恢复过程;双向预测是指利用当前采样值的前后各一个采样值来预测当前值;泛化扩展是指对预测误差进行扩展并用预测误差末尾的n个比特位来嵌入水印;水印嵌入之前,利用双向预测计算预测误差并得到预测误差直方图,根据水印容量和n值计算阈值T、LA和LBM;在嵌入过程中,利用泛化扩展嵌入水印,同时构造边界表并将提取的前LA个采样值末尾的n比特数据作为还原信息嵌入;接着将LBM、T和边界表转换成2<sup>n</sup>进制数据并用转换后的数据替换掉当前块的前LA个采样值末尾的n比特数据,最终得到含水印音频;在水印提取和音频恢复过程中,同样利用双向预测和泛化扩展,通过水印嵌入方法的逆运算对水印进行提取并无损恢复原始音频;所述的水印嵌入过程如下:a.将音频分为两块:S<sub>1</sub>和S<sub>2</sub>,利用双向预测计算当前块预测误差并得到预测误差直方图;b.通过预测误差直方图、原始音频、预置的水印嵌入容量以及n值计算LBM、阈值T和LA;其中,遍历预测误差直方图,寻找在给定的水印嵌入容量和n值下,可用于扩展的最大预测误差T,同时计算出边界表最大能占用的空间长度LBM,LA表示所有附加信息占用的空间大小;c.逐一对音频采样值进行类型判断,根据采样值类型进行泛化扩展以嵌入水印或移动采样值,同时构造边界表;d.若遍历过的采样值个数i≤LA,每遍历一个采样值则提取其尾部的n个比特数据并放到待嵌入信息的尾部以备将来作为还原信息嵌入;e.在当前块水印嵌入完成后,将LBM、T和边界表附加信息转换成2<sup>n</sup>进制数据并用转换后的数据替换掉当前块的前LA个采样值末尾的n比特数据;f.当S<sub>1</sub>和S<sub>2</sub>均处理完毕后得到含水印的S<sub>1</sub>′和S<sub>2</sub>′,由第一个和最后一个采样值、S<sub>1</sub>′和S<sub>2</sub>′组成含水印音频;所述对水印进行提取并无损恢复原始音频的过程如下:a.将音频分为两块:S<sub>1</sub>′和S<sub>2</sub>′,利用双向预测计算预测误差并得到预测误差直方图;b.根据n值提取LBM并计算得到LA,然后提取阈值T和边界表,将边界表转换成二进制串;c.循环利用泛化扩展逆序提取信息,直到提取出的信息为水印结束标记为止;d.从水印结束标记所在的音频采样值开始逆序逐一处理音频采样值,通过判断当前采样值x<sub>i</sub>落入的取值范围以及边界表的辅助,对伪边界值和非边界值利用泛化扩展的逆运算提取信息并恢复原始采样值,对真实边界值不作处理;e.若提取的信息个数num≤LA,每提取出一个信息则用提取的信息替换掉当前块的第LA-num+1个采样值末尾的n比特数据;若num>LA,则提取出的信息为水印信息需保存;f.在当前块水印提取和音频恢复完成后,若所有块均处理完毕,则方法结束,否则进行下一块的处理;最后将恢复的音频采样值块S<sub>1</sub>和S<sub>2</sub>与第一个和最后一个采样值组成恢复音频;在所述的水印嵌入时的泛化扩展过程中,对于当前采样值x<sub>i</sub>所对应的预测误差pe<sub>i</sub>,其扩展和嵌入水印(b)<sub>n</sub>的方法如下:<maths num="0001"><![CDATA[<math><mrow><msub><mi>pee</mi><mi>i</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msup><mn>2</mn><mi>n</mi></msup><mo>&times;</mo><msub><mi>pe</mi><mi>i</mi></msub><mo>+</mo><msub><mrow><mo>(</mo><mi>b</mi><mo>)</mo></mrow><mi>n</mi></msub></mtd><mtd><mo>|</mo><msub><mi>pe</mi><mi>i</mi></msub><mo>|</mo><mo>&le;</mo><mi>T</mi></mtd></mtr><mtr><mtd><msub><mi>pe</mi><mi>i</mi></msub><mo>+</mo><mi>sign</mi><mrow><mo>(</mo><msub><mi>pe</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><msup><mn>2</mn><mi>n</mi></msup><mo>&times;</mo><mi>T</mi><mo>+</mo><msup><mn>2</mn><mi>n</mi></msup><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><mo>|</mo><msub><mi>pe</mi><mi>i</mi></msub><mo>|</mo><mo>></mo><mi>T</mi></mtd></mtr></mtable></mfenced><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,sign(pe<sub>i</sub>)的计算公式如下:<maths num="0002"><![CDATA[<math><mrow><mi>sign</mi><mrow><mo>(</mo><msub><mi>pe</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><msub><mi>pe</mi><mi>i</mi></msub><mo>&GreaterEqual;</mo><mn>0</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>1</mn></mtd><mtd><msub><mi>pe</mi><mi>i</mi></msub><mo>&lt;</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>在所述的水印嵌入过程中所使用的边界表,其构造过程如下:对当前采样值x<sub>i</sub>所对应的预测误差pe<sub>i</sub>,步骤1:若对pe<sub>i</sub>按照(2)进行扩展嵌入水印后,得到的含水印音频采样值<img file="FDA00001691885600023.GIF" wi="45" he="51" />满足条件(6),则在边界表中标识“0”代表x<sub>i</sub>为原始边界值,且不对x<sub>i</sub>进行任何处理并保持其原值不变;<maths num="0003"><![CDATA[<math><mfenced open='' close=''><mtable><mtr><mtd><msub><mover><mi>X</mi><mo>^</mo></mover><mi>i</mi></msub><mo>></mo><mi>MAXV</mi></mtd><mtd><mi>or</mi></mtd><mtd><msub><mover><mi>X</mi><mo>^</mo></mover><mi>i</mi></msub><mo>&lt;</mo><mi>MINV</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></math>]]></maths>步骤2:若对pe<sub>i</sub>按照(2)进行扩展嵌入水印后,得到的含水印音频采样值<img file="FDA00001691885600025.GIF" wi="45" he="52" />满足条件(7),则在边界表中标识“1”代表x<sub>i</sub>为伪边界值,且改变x<sub>i</sub>的值为<img file="FDA00001691885600026.GIF" wi="396" he="61" /><maths num="0004"><![CDATA[<math><mrow><mfenced open='' close=''><mtable><mtr><mtd><msub><mover><mi>X</mi><mo>^</mo></mover><mi>i</mi></msub><mo>&Element;</mo><mo>[</mo><mi>MAXV</mi><mo>-</mo><mrow><mo>(</mo><msup><mn>2</mn><mi>n</mi></msup><mo>&times;</mo><mi>T</mi><mo>-</mo><mrow><mo>(</mo><msup><mn>2</mn><mi>n</mi></msup><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>,</mo><mi>MAXV</mi><mo>]</mo></mtd></mtr><mtr><mtd><mi>or</mi><msub><mover><mi>X</mi><mo>^</mo></mover><mi>i</mi></msub><mo>&Element;</mo><mo>[</mo><mi>MINV</mi><mo>,</mo><mi>MINV</mi><mo>+</mo><mrow><mo>(</mo><msup><mn>2</mn><mi>n</mi></msup><mo>&times;</mo><mi>T</mi><mo>+</mo><mrow><mo>(</mo><msup><mn>2</mn><mi>n</mi></msup><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>]</mo></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,MAXV和MINVV分别为采样值取值的最大值和最小值,px<sub>i</sub>为当前采样值的预测值。
地址 100191 北京市海淀区学院路37号