用于音频编码/解码/转码的频率域中水印插入的制作方法_2

文档序号:8382017阅读:来源:国知局
速傅立叶变换(FFT)处理)等等。另夕卜,对于基于编码的实现,最终处理模块108包括最终编码模块138,该最终编码模块138使用采用时间到频率域变换的任何多种多样的音频编码技术(诸如以上提到的AAC和MP3标准),从经修改的频率系数流126生成作为输出音频数据128的经编码的音频流。
[0018]在其它实施例中,音频处理设备100的处理针对解码上下文,使得输入音频数据120是经编码的音频数据,诸如AAC编码或MP3编码的音频数据,并且输出音频数据128是经解码的音频数据(例如,PCM音频数据)。在解码实现中,输入音频数据120已经包括频率系数,但是是以某种编码形式的,并且因此初始处理模块104包括初始解码模块144,该初始解码模块144执行足以从经编码的输入音频数据120提取频率系数流122的初始解码。获得这些频率系数所必需的解码依赖于输入音频数据120被编码的方式。另外,最终处理模块108包括最终解码模块148,该最终解码模块148根据用来编码输入音频数据的编码标准使用经修改的频率系数流126来执行最终解码处理,以生成经解码的输出音频数据128。
[0019]在还有的其它实施例中,音频处理设备100的处理针对转码上下文,使得输入音频数据120是经编码的音频数据并且输出音频数据128是经编码的音频数据,由此音频处理设备100修改输入音频数据120的分辨率、位速率或格式,以生成输出音频数据。在这样的情况下,由于这种转码涉及至少部分解码并且随后至少部分重新编码,因此数字加水印处理可以在编码处理或解码处理中的任一者或两者中采用,如以下更具体描述的。
[0020]图2说明了根据至少一个实施例的图1的音频处理设备100在编码上下文中的操作的示例方法200。要嵌在音频数据中的水印数据124由位的集合组成,诸如一个或多个字节的信息。这些位可以代表例如与音频数据的来源关联的唯一值或者其它唯一标识符、地理区域的指示符、加密/解密密钥等。如以下更具体描述的,水印数据124的每一位嵌在对应的音频数据块(即,“音频块”)的频率系数中,其中音频块包括例如固定持续时间的音频数据(例如,20毫秒的音频数据)。相应地,在方法200的第一次迭代中,在框202处,加水印模块106选择水印数据124的第一位值。在框204处,音频处理设备100接收并缓冲输入音频数据120的音频块,由此该音频块包括未编码的音频文件或其它流的对应部分(例如,PCM数据块)。在框206处,频率域变换模块134执行频率域变换(即,从时间域到频率域的变换),以便从该音频块生成要包括在提供给加水印模块106的频率系数流122中的频率系数集合。频率域变换可以包括例如MDCT处理、FFT处理等。由初始解码模块144采用的频率域变换可以遵照由一个或多个音频编码标准(诸如AAC、MP3等)规定的时间到频率域变换处理。
[0021]接下来,在框208处,该集合的频率系数被选择并且加水印模块106使用选定的频率系数与第一值和第二值之一来执行线性相加,其中第一值和第二值是依赖于在框202处选定的水印数据124的位值是“O”还是“I”来选择的。为了说明,如果水印数据124的位值是“0”,则线性相加操作可以把“-1”加到频率系数,而如果水印数据124的位值是“1”,则线性相加操作可以把“+I”加到频率系数。在基于水印位值的线性相加操作中所使用的值对的任何布置都可以使用,而不是“_1,+1”,诸如像“-10,+10”或者“_3,+6”等。作为结果的经修改的频率系数作为经修改的频率系数流126的一部分输出。在一些实施例中,该集合的每个滤波器(filter)系数都以这种方式被修改。在其它实施例中,只有滤波器系数的一个子集被修改。例如,加水印模块106可以被配置为只修改该集合的滤波器系数的四分之一或一半。没有被选择修改的那些滤波器系数不加修改地输出,作为经修改的滤波器系数流126的一部分。相应地,在框210处,加水印模块106确定它是否已经修改了音频块要被修改的全部滤波器系数。如果还没有,则方法流返回到框208,以便选择该集合中要修改的下一个频率系数。如果音频块的滤波器系数集合的加水印已经完成,则方法200返回到框202,以便使用水印数据124的下一位值对下一个音频块重复加水印处理。
[0022]同时,在框212处,最终编码模块138使用经修改的流126中经修改的频率系数集合,而不是从音频块生成的原始频率系数集合,完成音频块的编码。这种编码可以包括根据所应用的音频编码标准的任何多种多样的众所周知的编码处理,诸如使用心理声学模型的经修改的频率系数集合的量化、作为结果的量化频率系数的冗余消除编码、纠错编码,等等。用于音频块的作为结果的经编码音频数据在输出缓冲区110处缓冲,接着被包括为传输到目的地设备的输出音频数据128的一部分以用于存储或后续解码。
[0023]图3说明根据至少一个实施例的图1的音频处理设备100在解码上下文中的操作的示例方法300。就像以上的编码方法200,在方法300的第一次迭代中,在框302处,加水印模块106选择水印数据124的第一位值。在框304处,音频处理设备100接收并缓冲输入音频数据120的音频数据集,由此音频数据集包括经编码的音频文件或其它流的对应部分(例如,AAC或MP3编码的数据块)。该数据集包括用于对应的未编码音频块的编码的频率系数集合。相应地,在框306处,初始解码模块144执行部分解码处理,以获得未编码形式的频率系数集合,用于包括在提供给加水印模块106的频率系数流122中。
[0024]接下来,在框308处,该集合的频率系数被选择并且加水印模块106使用选定的频率系数与第一值和第二值(例如,“-1”或“+I”)之一执行线性相加,其中第一值和第二值是依赖于在框302处选定的水印数据124的位值是“O”还是“I”来选择的。作为结果的经修改的频率系数作为经修改的频率系数流126的一部分被输出。如以上相似地指出的,这种修改处理可以应用到集合中的每个频率系数或者只应用到选定的子集。没有被选择修改的那些滤波器系数不加修改地输出,作为经修改的滤波器系数流126的一部分。相应地,在框310处,加水印模块106确定它是否已经修改了该集合中要被修改的全部滤波器系数。如果还没有,则方法流返回到框308,以便选择该集合中要修改的下一个频率系数。如果滤波器系数集合的加水印已经完成,则方法300返回到框302,以便使用水印数据124的下一位值对下一个音频数据集重复加水印处理。
[0025]同时,在框312处,最终解码模块148使用经修改的流126中的经修改的频率系数集合,而不是从音频块生成的原始频率系数集合,完成音频数据集的解码。这种解码可以包括根据所应用的音频解码标准的任何多种多样的众所周知的解码处理,诸如频率到时间域变换处理、纠错,等等。作为结果的用于音频数据集的未编码的音频数据在输出缓冲区110处被缓冲,接着作为传输到目的地设备的输出音频数据128的未编码音频块被输出以用于存储或重放。
[0026]图4说明了被加水印模块106用来基于水印数据124生成经修改的频率系数流126的水印嵌入处理的例子。如以上指出的,水印数据124包括位值的串或集合。在所描绘出的例子中,水印数据124包括8位的值:10011101b。另外,在这个例子中,对于在水印数据124的位位置处的位值“0”,线性相加操作把“-1”值加到选定的频率系数,以生成经修改的频率系数集合,并且对于在位位置处的位值“ I ”,线性相加操作加上值“+I ”。
[0027]因而,在所说明的例子中,对于第一音频块401 (也表示为“块A”),加水印模块106实现时间到频率域变换,以生成四个频率系数411、412、413和414的集合(应当指出,一般基本上会生成多于四个频率系数,但是这个例子为了方便说明而限制于四个)。在这个例子中,最低三个频带的频率系数(即,频率系数411、412、413)被选择进行修改,因而线性相加操作421、422和423分别使用频率系数411、412和413来执行,以生成经修改的频率系数431、432和433。在这个例子中,水印数据124的第一位值要嵌在从音频块401生成的频率系数中。因为该第一位值是“1”,所以线性相加操作421、422和423把值“+I”分别加到频率系数411、412和413的值。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1