透明无损音频加水印的制作方法

文档序号:11142443阅读:689来源:国知局
透明无损音频加水印的制造方法与工艺

本发明涉及将可听透明可逆水印插入到PCM音频信号中,尤其参照流式传输。



背景技术:

在本千禧年,已经提出了若干用于音频的可逆加水印方案,尽管在检查时,可逆性经常存在于数值分析的意义上,并且在算法内存在不可避免的量化的情况下,原始PCM(脉冲编码调制)信号的重构不是无损的,即,位对位准确的。我们认为确实无损的两个算法是在WO2004066272中由M.Van Der Veen(M·万德文)、A.Bruekers(A·布鲁克)、A.Van Leest(A·万力特)和S.Cavin(S·卡文)公开的“Reversible Watermarking of Digital Signals(数字信号的可逆加水印)”以及在WO2013061062中由P.Craven(P·克莱文)和M.Law(M·劳尔)公开的“Lossless Buried Data(无损埋入数据)”。

WO2004066272公开了一种通过操纵音频直方图而对数字信号进行可逆加水印的方法。根据一种方法,S形增益函数C被应用到原始16位PCM音频信号,该PCM音频信号然后被重新量化为15位,在最低有效位(Isb)中留下1位空位。插入到此Isb空位中的数据包括所需要的水印数据、开销以及使相应的解码器将加水印过程逆转并恢复原始音频的精确复制品的重构数据。

S形增益函数具有超过1接近0的增益,并且将音频信号的范围映射到其自身。从而必须具有小于1接近全范围的增益。在C的增益小于2的任何信号值范围上,需要重构数据,因为C将位于此范围内的16位值映射到更低的不同的15位值。当C的增益还大于1时,每个重构数据样本需要少于一位,并且当该增益小于1时,需要多于一位重构数据。该方案可行,因为信号值音频的PDF(概率密度函数)不是水平的,小信号值(其中C的S形状具有大于1的增益)比大信号值(其中C具有小于1的增益)更常见。由此,平均来说,每个重构数据样本小于1位(通常更少),使Isb空位内存在用于开销和水印的足够空间。

尽管此方法在嵌入大量水印数据时是有效的,但是存在透明度小于可能需要的情况的许多方面。水印数据被加到此信号,所以其中的图案可以是可听的,并且信号修改在耳朵最敏感的频率区域中就像耳朵不敏感的频率区域中那样大声。此方法不具有提供减少的噪声交换减少的水印容量的灵活性。

WO2013061062公开了s形增益函数可以如何被实现为线性增益和削波单元的组合,该削波单元在对信号峰值进行削波时生成重构数据。其还公开了分离的无损滤波可以如何有利地结合该方案来修改信号的PDF,从而减少削波单元所生成的重构数据量。无论如何,看到可以如何使用WO2004066272或WO2013061062的方法实现与音频信号不相关并且优选地是频谱成形的低和常量噪声本底的音乐发烧友理想是比较困难的。

M.Gerzon(M·格尔兹)和P.Craven(P·克莱文)在“A High Rate Buried Data Channel for Audio CD(音频CD的高速率埋入数据)”(发表于1993年第94届AES柏林会议的预印本3551)(以下称为Gerzon)中描述了一种透明有损加水印方案。包括每个样本n个二进制位的水印数据是随机化的,并且然后被用于噪声成形(16-n)位量化器的减法颤振。这具有丢弃音频的n个Isb并且用随机化水印替换它们的实际效果,但是与常规的位替换相比对音频具有更小的伤害。描述了使n是1/2的奇数倍的两个立体声通道的联合量化以及更复杂的量化方案。

音频材料的流式传输现在非常流行,并且提出了这样的技术要求:解码器必须能够在未看到编码项目或“音轨”的开始的情况下开始解码。在经济地编码的流的无损重构的情境中,该要求可造成显著的技术障碍,以后将会明显。



技术实现要素:

根据本申请的透明无损音频加水印,本发明的目的是提供一种无损加水印方法,该方法与WO2004066272的方法相比具有改进的透明度,如在未并入本发明的特征的标准的“传统”PCM解码装置上听到的,同时保留了现有技术系统的从编码流的中间部分开始解码的能力。这是通过减少引入的量化误差量、对误差进行频谱成形并且将信号更改从原始音频完全地解除关联来完成的,由此使误差更类似于加性噪声。本公开还致力于更改水印的容易化。

如将更详细描述的,根据本发明的编码器两次将原始PCM信号量化,每次量化是量化到量化格栅。因为PCM信号本身已经量化,需要考虑三个量化格栅,第一是原始PCM信号的量化格栅,第二是加水印的信号的量化格栅,以及第三量化格栅是中间信号的量化格栅。

通常,加水印的信号被递送为具有与原始信号相同的位深度的PCM信号,但是这并不意味着第一和第二量化格栅是相同的。通常,信号的量化格栅可能不是通过在PCM内将可能的位组合解释为二进制数所获得的值集。我们应当考虑被限制为仅由上述值集的更粗略子集执行的一些信号。相反地,我们还应当考虑其值从上述值集中的值偏置不是量化步长的整数倍的某个量的信号。假如信号的发送器和接收器都知道此偏置,例如,如果此偏置是从这两者都知道的数据或者从这两者都知道的伪随机序列生成器生成的,此偏置可以从不同样本间变化。

这些考虑适用于单通道信号和多通道信号两者,该信号的样本值是位于多维格栅的格栅点上的多维向量。向量情况下另一个兴趣点是:n维格栅可以是简单的矩形、立方体或超立方体格栅,换言之,n个一维格栅的笛卡尔积,或者其可以是某个更常见的东西,例如,源自以下约束:n个通道的最低位的异或为零。PCM通道可以被视为具有其自身的量化格栅的容器,并且通过该通道传输的PCM信号的量化格栅可以更粗略。因此,无法简单地从其位深度的知识推断PCM信号的量化格栅。

量化通常被认为是丢弃信息的过程,但是如果已经被量化的信号被重新量化为不比原始量化格栅更粗略的量化格栅的话,不见得是这种情况。我们应当使用术语“量化”来指代信号值在量化格栅上到附近值的映射,不管信息是否丢失。

当引用‘噪声’或‘信噪比’时,我们认为是在标准的PCM设备上再现加水印的信号时听到的噪声。当然,如果加水印的信号被根据本发明无损地解码,则不存在来自加水印的附加噪声。

在第一方面,本发明提供了一种用于对原始或“第一”音频信号无损地加水印以便生成“第二”音频信号的方法,这两个信号都是脉冲编码调制‘PCM’信号,并且各自被量化到其对应的“第一”或“第二”量化格栅。所述方法包括以下步骤:

接收作为在第一量化格栅上量化的样本的所述第一音频信号;

确定比所述第一量化格栅粗略的第三量化格栅;

向所述第一音频信号应用量化映射以提供第三音频信号,所述第三音频信号具有取决于所述第三量化格栅的样本值;

当所述第一量化格栅的多个值将通过所述量化映射被映射到所述第三音频信号的值时生成第一数据,其中,所述第一数据是重构数据,指示所述多个值中的哪个值是所述第一信号的值;

组合所述第一数据和水印数据以产生第二数据;

根据所述第二数据确定不同于所述第一和第三量化格栅的第二量化格栅;以及

根据所述第二音频信号的先前样本通过将所述第三音频信号量化到所述第二量化格栅上生成所述第二音频信号的样本。

在其最基本的形式下,前四个步骤“接收”、“确定”、“应用”和“生成”与在WO2004066272中描述的现有技术过程的运算类似。“量化映射”在第三量化格栅上将原始信号量化为“第三”信号,该第三量化格栅通常比第一量化格栅更粗略,导致信号分辨率丢失,这样使第一信号的后续无损恢复需要附加的重构数据。该重构数据是在应用量化映射的过程中生成的“第一”数据。

第二音频信号呈现为PCM信号,但是如所讨论的,PCM信号可以具有比包含它的PCM通道的量化格栅更粗略的量化格栅。如果第二量化格栅是固定的,这将意味着与该通道相关联的量化格栅的一些点将永不被执行。这提供了将第三信号量化为变化的第二量化信号的机会,并且根据本发明,第二量化格栅是根据“第二”数据确定的,该第二数据包括以上提及的水印和“第一”重构数据。以此方式,第二数据被“埋入”在加水印的信号内,并且后续的解码器可以通过检查已经执行过该通道的量化格栅的哪些点而恢复被埋入的数据。

如果量化映射具有整体性的大信号增益,将要因此被埋入的并且后续被恢复的“第二”数据的最大量将与“第一”重构数据的量相同,并且将没有机会传送水印。然而,在正常运算中,在覆盖最经常发生的信号值的信号范围上,量化映射被配置成提供大于整体性的增益。这减少了所需的重构数据的量,由此使第二数据携带所需要的水印数据和任何必要的系统开销。

由此,量化映射通常不是线性的。如在WO2004066272中讨论的,其可以具有S形。可替代地,如在WO2013061062中讨论的,其可以是线性的,在信号范围的中心部分上具有大于整体性的增益,但是具有特殊配置以避免信号范围的极值附近的超载。

当第一音频信号取第一映射的增益小于整体性的值时,重构数据临时地大于可以被埋入的最大第二数据。可以通过缓冲重构数据容纳过量数据。由于缓冲造成延迟,通过简单的缓冲,解码器将需要读取流并且在稍后的某个时间开始解码;可替代地,编码器可以在第三信号中插入延迟,从而使解码器将在正确的时间接收所缓冲的重构数据。

根据第二和第三音频信号中的至少的先前样本执行第三格栅到第二格栅的量化,以提供频谱成形,并减少所得量化噪声的感知重要性。该技术被广泛地用于其他情境中,但是在可能在流式音频的情境中需要无损重构时使用该技术是不明显的,因为对先前样本的依赖会使难以或不可能从流的半路开始重构。

在一些系统实施例中,所述依赖取决于第三音频信号和第二音频信号的有限数量n的先前样本。解码器直接接收第二音频信号,所以仅仅通过等待n个样本周期解决对第二音频信号的先前样本的依赖。第三音频信号不是这种情况,所以在优选实施例中,编码器通过将与包括n个连续样本的第三音频信号的一部分有关的初始化数据包括在第二数据内来支持从“重启点”解码。

重启辅助数据可以直接包括第三音频信号的n个先前样本的二进制表示,但是在提供16位音频分辨率的系统中,将在流中的可能开始解码的每个位置处针对每个音频通道可能需要至少n*16位“重启辅助数据”。注意到假设合适的噪声成形滤波器,可以对第三音频信号和第二音频信号之间的差异进行严格的约束,该要求可以被非常显著地减少。由此,在已经得知第二音频信号的样本时,可以从限定其位选择的信息完全地重构第三音频信号的相应的样本。

在另一个优选实施例中,编码器从而提供仅与第三音频信号的位选择有关的初始化数据,所述选择具有例如少于八位。因此第三音频信号的与具体的重启点有关的位总数不超过通道数乘以该部分中的n个连续样本的八倍乘以通道数。

优选地,所述第一和第三量化格栅中的至少一个格栅在不同样本间变化。如果不是这种情况,这两个格栅将具有固定的关系并且到第三的量化映射将需要并入颤振以表面量化伪影,但是颤振引发噪声惩罚。

在优选实施例中,第三量化格栅根据伪随机序列生成器的输出而变化,以确保由量化格栅引入的量化误差与第一音频信号解除关联。

在优选实施例中,所述第一音频信号是多通道的,并且所述第二和第三量化格栅中的至少一个格栅未被形成为每个通道上的单独量化格栅的笛卡尔积。使用已知的量化方法,相比于单独的通道量化,来自信号重新量化的附加噪声可以然后被减少。

同样提供其大信号行为紧密地匹配原始信号的加水印的信号,本发明还引入了信号修改和具体地滤波以调整频率响应。无损滤波器在现有技术中是已知的,例如WO 96/37048,但是不可避免的是,它们需要量化到与正在处理的信号相同位深度,并且在“传统”设备上再现时不可避免地增加噪声。本发明允许使用更精细的量化的滤波器,更精细量化用来最小化所增加的噪声。

因此,在一些实施例中,所述量化映射之前是滤波器,该滤波器的输出比所述第一量化格栅更精细地被量化。在优选实施例中,滤波器被配置为将调整值加到前向信号路径的侧链,其中,调整值是滤波器的输入和输出的先前样本的线性或非线性确定性函数。这种添加可以被无损地逆转,即使调整值被比前向信号路径更精细地量化。精细量化减少了来自滤波的附加噪声。

在第二方面,本发明提供了一种用于从第二音频信号的一部分恢复第一音频信号和水印数据的方法,其中,所述第一和第二音频信号是脉冲编码调制‘PCM’信号,并且其中,所述第二音频信号是被无损地加水印的PCM信号,并且所述第一音频信号具有取决于第一量化格栅的样本,所述方法包括:

确定第三量化格栅;

接收所述第二音频信号作为量化样本;

从所述第二音频信号恢复第一数据和所述水印数据,其中,所述第一数据是用于恢复所述第一音频信号的重构数据;

通过根据所述第二音频信号和第三音频信号中的至少一个的先前样本量化所述第二音频信号的样本来生成被量化到所述第三量化格栅上的第三音频信号的样本;

根据所述第一数据向所述第三音频信号应用量化映射以提供映射信号;以及

根据所述映射信号提供所述第一音频信号。

通常,所述第一音频信号无损地复制被呈献给编码器的原始PCM音频信号的一部分,并且所述第二音频信号是所述原始PCM音频信号的加水印版本。该信号具有量化样本,第一音频信号具有取决于第一量化格栅的样本。第三量化格栅通常被选择为比第一量化格栅更粗略,如果第三信号与水印无关的话,该特征通常是必要的,从而使第三信号仅携带来自第一信号的音频信息。更粗略的分辨率意味着丢失某些原始音频信息,但是该信息被携带在第一数据内,同样被称为“重构数据”。在应用量化映射的步骤中,第一数据内的重构信息与更粗略地量化的第三信号组合,从而使映射信号具有全分辨率。

直接地,映射信号等于第一信号,所以“提供”方法步骤是空运算。然而,在一些实施例中,提供可以并入其他功能,诸如添加调整样本,如以下将解释的。

优选地,所述第一和第三量化格栅中的至少一个格栅从不同样本间变化。如果不是这种情况,这两个格栅将具有固定的关系,并且相应的编码器中的相应的两个格栅也将需要具有固定的关系,如果解码方法是无损的话。结果,相应的编码器中的量化映射将需要并入颤振以避免量化伪影,但是如果加水印的信号在标准PCM设备上再现的话,颤振引起噪声惩罚。

在优选实施例中,所述第三量化格栅是根据伪随机序列生成器的输出确定的。与上述类似,该要求需要确保由相应的编码器中的量化映射引入的量化误差与第一音频信号解除关联。

在优选实施例中,所述第一、第二和第三音频信号是多通道的,并且所述第二和第三量化格栅中的至少一个格栅未被形成为每个通道上的单独量化格栅的笛卡尔积。再次,通过与上述类似的争论,使用已知的量化方法,相比于单独的通道量化,来自相应的编码器中的信号重新量化的附加噪声可以然后被减少。

在一些实施例中,第一信号直接由量化映射产生,所以第一信号等于映射信号。然而,为了避免提供从已经修改的第一信号导出的加水印的信号的无损重构,所述方法可以进一步包括以下步骤:

确定比所述第一量化格栅更精细的第四量化格栅;根据所述第一音频信号和所述映射信号中的至少一个信号的先前样本计算调整样本,所述调整样本具有取决于所述第四量化格栅上的值;以及

将所述调整加到所述映射信号。

这种实施例允许使用加水印的信号,这种加水印的信号是使用从第一信号减去相应的调整的编码器编码的,从而提供滤波器功能。如以上解释的,这使加水印的信号在被解释为普通的PCM信号时具有与原始“第一”信号不同的频率响应,但是具有比已经使用分离的无损滤波器执行的频率响应修改更少的噪声。对于无损的解码方法,调整值还需要被传达到量化映射,如以下将解释的。

在优选实施例中,第二方面的解码方法包括以下附加步骤:

从所述第二音频信号恢复初始化数据;以及

使用所述初始化数据确定从所述第三音频信号的连续样本选择的位。

该特征与从“重启点”而不是从开始处解码流有关。如早先解释的,一旦已经确定了每个连续样本内的位选择,第三音频信号的连续样本可以被完整地重构。由于第二音频信号的样本被直接接收到,这提供了足以允许解码器中的噪声成形或其他滤波器的初始化数据以精确地模拟编码器中的相应滤波器的运算,如其他地方解释的,这足以使得解码器从那个时间向前确定第三音频信号。

优选地,本系统被配置为使为了确定第三音频信号而接收的初始化数据不大于通道数乘以第三音频信号的值数的8位倍。这最小化了流开销,并且如早先解释的,这是通过使用合适的噪声成形滤波器,并且预先确定第三音频信号与第二音频信号之间的差异的严格约束促成的。

第三方面,本发明还提供了一种用于更改第二音频信号中的水印的方法,所述第二音频信号是根据第一方面的方法生成的无损地加水印的PCM信号。该更改是在无需完全地恢复原始信号和重新编码的情况下实现的,这种恢复和重新编码将在计算上是更昂贵的。

第三方面,所述方法包括以下步骤:

接收所述第二音频信号作为量化样本;

从所述第二音频信号恢复包括嵌入式水印数据的第二数据;

通过根据所述第二和第三音频信号中的至少一个的先前样本量化所述第二音频信号来生成被量化到第三量化格栅上的第三音频信号的样本;

通过更改所述第二数据中的所述嵌入式水印产生第四数据;

根据第四数据确定第四量化格栅;根据所述第四和第三音频信号中的至少一个音频信号的先前样本在第四量化格栅上将所述第三音频信号量化为第四音频信号。

由此可见,此第三方面的方法步骤基本上对应于第二方面的前几个步骤和第一方面的最后几个步骤。

为了提供与第一和第二方面的实施例的兼容性,优选地,第三量化格栅从一个采样时刻到另一个采样时刻变化。类似地,优选地,所述第三量化格栅是根据伪随机序列生成器的输出确定的。

在其中所述第二、第三和第四音频信号是多通道的应用中,优选地,所述第二、第三或第四量化格栅中的至少一个格栅未被形成为每个通道上的单独量化格栅的笛卡尔积。该优选是为了与具有类似的优选特性的编码器和解码器兼容。

第四方面,本发明提供了一种被适配成使用第一方面的方法对PCM音频信号无损地加水印的编码器。还提供了一种被适配成使用第三方面的方法更改水印的水印修改器。

第五方面,本发明提供了一种被适配成使用第二方面所述的方法从被无损地加水印的PCM信号恢复PCM音频信号和水印数据的解码器。

第六方面,本发明提供了一种包括根据第四方面的编码器结合根据第五方面的解码器的编解码器。

第七方面,本发明提供了一种包括使用第一方面的方法无损地加水印的PCM音频信号的数据载体。

第八方面,一种计算机程序产品包括指令,当被信号处理器执行时,所述指令使所述信号处理器执行第一至第三方面中任一方面所述的方法。

尽管根据第三方面的方法可以有利地用于更改已经根据第一方面的方法生成的无损地加水印的PCM音频,其还能够独立地用于更改任何合适的无损地加水印的PCM音频。再次,该更改是在无需完全地恢复原始信号和重新编码的情况下实现的,这种恢复和重新编码将在计算上更昂贵。

相应地,第九方面,本发明提供了一种用于更改输入音频信号中的水印的方法,所述输入音频信号是无损地加水印的PCM信号,所述方法包括以下步骤:

接收所述输入音频信号作为量化样本;

从所述输入音频信号恢复包括嵌入式水印数据的输入数据;

通过根据所述输入音频信号和中间音频信号中的至少一个音频信号的先前样本量化所述输入音频信号来生成量化到中间量化格栅上的所述中间音频信号的样本;

通过更改所述输入数据中的所述嵌入式水印产生输出数据;

根据所述输出数据确定输出量化格栅;

根据所述输出和中间音频信号中的至少一个音频信号的先前样本在所述输出量化格栅上将所述第三音频信号量化为输出音频信号。

在一些实施例中,所述中间量化格栅从一个采样时刻到另一个采样时刻变化。

在一些实施例中,所述中间量化格栅是根据伪随机序列生成器的输出确定的。

在其他方面,本发明提供了一种被适配成使用第九方面的方法更改水印的水印修改器,并且还提供了一种包括指令的计算机程序产品,当被信号处理器执行时,所述指令使所述信号处理器执行第九方面的方法。

如将所理解的,本发明提供了用于用水印无损地编码和解码PCM音频信号以及用于更改无损地加水印的PCM信号中的水印的各种方法和设备。其他变化和修饰将在本公开中对本领域技术人员明显。

附图说明

下面参照附图,详细地描述本发明的示例,在附图中:

图1A是根据本发明的实施例的编码器的信号流示意图;

图1B是与图1A的编码器相对应的解码器的信号流示意图;

图2示出了图1B中的用于双通道信号的量化器211的运算的细节;

图3示出了图1A中的用于双通道信号的量化器112的运算的细节;

图4示出了图1B中的用于双通道信号的量化器212的运算的细节;

图5A示出了图1A的量化器111的当被适配成用于双通道信号的维罗尼区域的曲线图,以及图5B示出了维罗尼区域的扩展曲线图;

图6示出了根据本发明加水印的PCM音频流,示出了两个重启点和在这两个重启点中的每一个重启点之前编码的重启辅助数据;

图7示出了在图1B中示出的解码器部分的可替代配置,用于立即在重启点之后使用;

图8A示出了可以如何通过向PCM音频信号添加先前样本值的更精细量化的函数来修改此信号;

图8B示出了可以如何修改在图1B中示出的解码器的后一级以修改无损地逆转图8A的信号;

图9示出了可以如何修改在图8B中示出的解码器部分,以在未接收到提供图8A中示出的无损重构所需的重启信号时,临时地提供原始信号的无损重构;以及

图10示出了如何从根据本发明加水印的流提取水印数据以及然后如何用可替代的加水印数据对此流加水印而无需完全地解码和重新编码音频信号。

具体实施方式

在被称为“减法颤振”的过程中,向信号添加随机偏置,接下来将结果值量化,并且然后再次减去相同的偏置。减法震颤已知用于通过使得量化误差类似于噪声并独立于所量化的信号而增加量化的透明度,如在M.Gerzon和P.Craven在“A High Rate Buried Data Channel for Audio CD(音频CD的高速率埋入数据)”(发表于1993年第94届AES柏林会议的预印本3551)(以下称为Gerzon)中所讨论的。

如Gerzon所指出的,减法颤振要求从连续的分布的随机偏离。在我们的实施例中,我们将需要使得偏离具有有限数量的位以控制将被用作乘法器的输入的被减法颤振的信号的字宽。8位的随机偏离对于我们的目的来说是足够的,将任何量化伪影从16位水平附近向下移动到24位水平附近,同时仍允许32位字中存在用于16位音频的大量空间。

通常,使用晶格量化器,从而使在减法之前量化值取决于量化晶格。人们还可以仅仅在量化之前进行减法并且在之后进行加法。在这种情况下,结果值取决于量化晶格,并且具有由随机偏离给出的偏置。这提供了对减法颤振的可替代视角,即,全部的运算是一次量化到随机化格栅上。

我们应当使用术语“量化偏置”来表示该格栅从限定量化的晶格的偏置。我们应当频繁地考虑从音频信号的不同样本间变化的量化偏置,该音频信号通常是通过伪随机序列生成器生成的,但是有时需要某些修改,并且有时通过其他方式生成。

我们还应当使用术语“量化格栅”来指代量化器将输出的点集,该点集是量化晶格与偏置的组合。如何量化偏置从不同样本间变化,则量化格栅也将这样。

当我们说使用伪随机数生成器时,我们将要求其输出在编码器和解码器之间匹配。这可以通过将样本数量数据包括在开销中,从而与水印一起传送而实现。当解码器在音轨的半路开始运算时,其可以使用样本数量数据来寻求伪随机序列中的正确位置,从而使其伪随机数生成器的后续输出将匹配在编码器中使用的输出。

现在将参照处理2通道16位PCM音频的实施例解释本发明。然而,数量16并不存在任何特殊之处并且本领域技术人员将容易将本公开适用于其他位深度或量化方案。熟悉Gerzon的人也应当容易一般化到一个或多个通道。

加水印器的输入可以来自诸如CD等源,其在每个通道上的样本在晶格{2-16k}上被量化,由2-16的所有整数倍组成。然而,我们不排除以下可能性:其已经由减法颤振过程生成并且具有加水印器已知的并且被编程到水印恢复器或解码器的伪随机量化偏置。我们由此将加水印器的输入和来自后续恢复器的输出说成具有“第一量化偏置”。如果是CD,这对于所有样本将是零,在音频是通过减法颤振过程提供的情况下,其将由商定的伪随机序列给出。

我们的加水印器将遵循WO2013061062来将g-1增益(其中g<l)应用到音频,并且通过对结果音频进行软削波(使用削波单元133和求逆运算,解除削波单元233)来处理任何结果超载。增益和削波的组合对应于WO2004066272的S形增益函数。

将参照图1A和图1B描述本发明。双通道16位PCM音频信号被认为包括样本,每个样本是分量被量化到16位的二维向量。在图1A中,被量化到具有量化偏置O1的晶格的信号101呈献给编码器。PCM信号的样本值除以131增益g(其中g<1),并且然后被量化111到粗略量化晶格以生成中间信号103。该粗略格栅联合地将两个通道量化至15.5位级,其中,量化晶格定义为{[2-16,2-16],[2-16,-2-16]},其中,伪随机偏置为O3。因此,量化格栅为[2-16(j+k),2-16(j-k)]+O3,其中j,

现在假设削波单元133未调整该信号(对于大部分范围成立),则信号104是信号103的复制。信号104然后再次被量化112到相同15.5位晶格,但是具有根据数据143(包括水印)选择的偏置以生成具有将数据143嵌入到输出信号102中的效果的输出信号102。偏置是[0,0]以嵌入0并且是[0,2-16]以嵌入1,所以数据143被以类似于在Gerzon中描述的方式包含在这两个通道的Isb的奇偶校验中。

如图1B所示,相应的解码器从编码器接收音频输出102的复制202。通过检查样本值以确定哪一个量化偏置O2被使,从而恢复数据243(143的复制品)。信号202然后被量化212到上述15.5位晶格,其中量化偏置为O3,从而使量化器212所引入的量化误差与量化器112所引入的量化误差相反,从而使信号204复制信号104。解除削波单元233对削波单元133求逆,从而信号203复制信号103。接下来使用g对该信号进行加乘231,并且该信号被量化211到具有量化偏置O1的16位晶格。量化器211不总是将最近的量化值输出到其输入,如以下将参照图2描述的。其接收可以在每个通道上将其输出调整±2-16的重构数据,该重构数据被设置成在确立无损运算的信号101上复制该值。

同时,设置了滤波器121、221、122、222,使解码器版本接收复制编码器中的那些输入信号的输入信号,并且因此在启动时受到适合的初始化,其输出同样匹配。其效果是成形量化器引入的量化误差,从而使加水印的信号102中的全部量化误差被频谱地成形,以减少可听性,并且由此增加水印的透明度。其用全极传递函数将白量化器噪声成形,如图7中的Gerzon。对于44.1kHz运算的合理的滤波器G(z)是:

G(Z)=1+1.2097z-1+0.2578z-2+0.1742z-3+0.0192z-4-0.2392z-5

为了稍后引用,1/G(z)的脉冲响应的绝对值之和小于27。

15.5位量化比编码器输入信号的16位量化更粗略。因此,即使g<l,有时存在到111的多个输入值,这些输入值被量化到与103相同的值。当这种情况发生时,歧义解析器113(接收信号105,即,由111所引入的量化器误差的缩放版本)输出指示实际上呈现了哪个可能的输入值的数据141。伴随着格式化开销,该重构数据141与所需要的水印被复用至数据143中。

相应地,解码器从243提取重构数据241,并且在到111的多个输入值可能已经产生相同值103的情况下使用该数据来调整来自211的输出。在图2中扩展了量化器211。图2示出了输入信号如何首先被量化213到最近的值并且量化误差205如何被馈送到调整器215。事实证明,对于任何增益值g,量化误差205足以指示多少至111的输入值可能已经产生103。如果答案是多于一个,调整器215消耗来自241的数据,以确定将加到213的输出的调整207。因此,该辅助数据241确保201即使在某个其他量化值可能稍微更接近量化器211的输入时也能复制101。

与在WO2004066272中描述的15位量化器相比,使用上述15.5位量化器确实使运算复杂化。然而,这是有用的,因为这意味着加水印添加了就像使用15位量化器使加水印器更透明那样一半的噪声。可以进一步例如使用联合量化4个样本的15.75位量化器进行该过程,4个样本各自上的1个或者2个通道中的每一通道上2个连续样本将再次将所添加的噪声减半。然而,我们的实施例仅处理2个通道并且在联合量化连续样本时将存在更大的复杂性。

图3示出了15.5位量化器112的示例。框301实现了采取其双通道输入的15.5位晶格量化器,并且通过元件304-307形成通道之和与之差的一半。16位量化器308和309然后量化通道,并且通过进一步的求和求差形成输出。301的可能输出是其Isb都是0或者都是1的多对整数。

通过在框301之前从一个通道减去302位数据143并且将其在之后加回去303而将框301扩展到框112。如果该位是零,则112以偏置[0,0]量化到晶格量化格栅上。如果该位是一,则112以偏置[0,2-16]量化到晶格格栅上,其中Isb的一个通道是0,另一个是1。

返回参照图1B,通过检查来自两个通道的相应样本的多对Isb的奇偶校验来产生数据243以确定在15.5位量化中使用过哪一个偏置。如果这些通道具有相同的Isb,则零被生成至243中,或者如果这些通道具有不同的Isb,则生成一。

量化器212量化到与112相同的分辨率。如图4所示,这与量化器112非常类似,除了偏置O3是伪随机地选择的,而不是两个偏置之间的数据驱使的选择。相应地,来自生成介于0和2-15之间的值的伪随机数生成器(PRNG)的两个样本用于为来自301量化到其上的常量格栅的量化格栅G3创建2D偏置。从至301的输入减去该偏置并且在301的输出加入该偏置。

有实现相同的效果的其他方式,例如,312和313的输出可以在量化器308和309之前被立即减去,并且之后被立即加回来。然而,这种方案的不同之处在于来自312和313的值之间的映射与偏置O3的选择,所以需要在解码器量化器212与编码器量化器111之间进行兼容选择。

只要在112和212中使用的晶格量化器308和309彼此兼容,解码器量化器212将移除112所引入的量化误差,将信号203恢复为信号103的复制。然而,兼容并不意味着完全相同。在本实施例中,Q112(x)=Δ(ceiling(Δ-1x-0.5))并且Q212(x)=Δ(floor(Δ-1x+0.5)),其中,Δ是步长2-16。充分的兼容性条件是对于所有x存在Q112(x)=-Q212(-x)=Q112(x-Δ)+Δ。

同样,量化器111以偏置O3量化到15.5位,并且架构应当与212的架构匹配,从而使其具有从伪随机数到O3的相同映射。偏置O3的选择需要在编码器和解码器中都匹配,所以212中的伪随机数生成器必须被同步为匹配111中的那些生成器。这可以通过周期性地将同步信息(诸如样本数)嵌入在数据143中来实现。

图5A和图5B示出了如何从缩放误差量化器误差信号105产生数据141。(为了避免混淆示意图,来自噪声成形滤波器121的输出假设为零)。

图5A中示出的曲线图中,轴线是信号101的左通道和右通道,其中,水平线和竖直线组成的格栅对应于可以在输入上呈现的可允许的量化值(由16位晶格和偏置O1给出)。

这些交点之一被标记为表示在这个说明性场景上呈现的实际值。在除以g、由111量化并且乘以g之后,示出了信号106的示意性值。上述量化器111的维罗尼(Veroni)区域是菱形。图5A的曲线图上示出了通过g缩放。当然,由于信号101除以g被量化到信号106,101的实际值位于该区域内。如果该值是可行的唯一值,则相应的解码器将能够从106的值唯一地标识101的实际值。在所示出的情况下,示出了一个其他可能的值,该值也将已经产生106的给定值,所以解码器将需要附加信息位141来解析位于维罗尼区域中的哪一个量化值应当被输出。

图5B中示出的曲线图扩展了维罗尼区域,该区域的中心在信号105=0上。如果信号105位于任何虚线菱形内,则存在另一个可能值位于相对的虚线菱形中的信号101(该值在一维中由±g转换),并且歧义解析器113需要发送数据141中的一位信息以解析解码器应当产生这两个相反值中的哪一个值。例如,如果信号105位于左侧菱形中,则可以发送零,而如果其位于右侧菱形中,则可以发送1。同样,可以针对底部菱形发送0并且可以针对顶部菱形发送1。可替代地,如果信号105的值位于非虚线菱形中,则其必须位于中央交叉区域中。在此,信号101不存在任何选择可能性并且不需要发送任何数据。对于该量化器选择,永远不存在多于2个值位于维罗尼区域中的任何可能性,所以数据141每个样本最多具有1位。

每个虚线菱形的宽度是2g-1,所以如果g<0.5,则虚线菱形消失并且永远不存在需要解析的任何歧义。同样,对于g=1,交叉消失并且所以141上的数据速率总是每个样本1位,这使量化器112的数据容量饱和,不存在用于开销或水印的富裕容量。因此,要求g<l。

在某些情况下,可以容忍计算虚线区域的不准确性。重要的是编码器计算必须精确地匹配在解码器中执行的计算(否则编码器和解码器运算将不同)。同样重要的是虚线区域不被计算的太小,否则可能存在信号201的解码器无法产生的值。但是,如果虚线区域稍微比严格要求的大的话则不是大问题。这种不准确性的后果是数据141偶尔携带不需要的数据位,稍微浪费数据容量。

信号105的计算的小误差(诸如精细量化,如果解码器乘以231g产生较大字宽的话)可以由此被容忍,只要解码器作出匹配近似(在231中)并且它们都拉长虚线菱形的大小,以容忍最坏情况下不准确性。

在解码器中,量化器213的输出是可能已经被呈献给编码器的一个可能值。调整器215可以向歧义解析器113作出有关重构位是否需要从数据241拉入的相应决定。如果需要,并且该位指示与205位于其中的虚线菱形相对的虚线菱形,则调整器215输出调整信号207,以将量化器211的输出调整到正确值,从而复制信号101。任何在左侧通道或右侧通道上的调整将是±1Isb。

削波

由于增益元件131,信号103将超过16位音频的可表示范围,并且削波122在此将信号带回可表示范围中,从而使加水印的输出102不会超载。

对于大部分信号范围,削波单元122不对信号进行任何修改。接近±全范围,其具有<l的小信号增益,并且将其输入的多个值映射到其输出的特定值。当这种情况发生时,其生成指示了实际上呈现了该多个值中的哪一个值的削波重构数据142。削波重构数据142与重构数据141和水印组合以形成数据143。

解除削波单元233与削波单元相逆。对于大部分信号范围,这对信号没有任何修改。接近±全范围,其具有<l的小信号增益,并且将其输入的特定值映射到其输出的多个值。当这种情况发生时,其使用削波重构数据242以选择实际上输出了该多个值中的哪一个值。从数据243一起提取削波重构数据242、重构数据141以及水印。在WO2013061062中描述了该运算,例如,如其图11所示。

为了本实施例的简洁,我们将信号103和104都量化到15位晶格(没有偏置),该晶格是15.5位晶格的子集,并且因此不会更改信号104的量化偏置。当通道未进行削波时,我们希望它通过削波而保持完全地未被修改,并且所以当通道进行削波时,我们选择以2-15的倍乘更改该信号,从而使我们保持在相同的量化偏置而不会更改另一个通道。

由于削波所造成的调整的15位量化像其他噪声源被放在一起时那样大声,并且未噪声成形。我们认为在我们寻求更高的透明度的过程中这是可接受的,因为其仅在信号大声时的削波期间发生并且从软削波经历失真。此外,在稍后的实施例中,我们描述了滤波的使用,可以极大地减少信号削波的发生率。增益和削波的组合给出了WO2004066272的S形传递函数C。人们可能好奇我们为什么选择组合线性增益和S形削波函数,而不是在一个阶段中全部执行,尤其就像在一个阶段中执行,将不会引入附加的15位噪声源那样。

答案是我们希望从样本到样本更改增益g并且相信尤其是假定我们的随机化15.5位联合量化格栅G3构建歧义解析器113和调整器215的复杂性将超过此方法引入的噪声的缺点。

初始化

如上所述,信号201的无损重构需要来自滤波器221和222的输出匹配编码器中的滤波器121和122的输出。如果解码器在先前样本上无损地运算的话,则满足该要求,并且当编码器和解码器都能够将其各自的滤波器状态初始化至通用值(诸如零)时,也可以在编码轨开始时满足该要求。然而,解码器的有用运算还要求经由编码流半路启动的能力,这使得将量化噪声频谱成形比人们可能刚开始假设的情况更棘手。

在我们的实施例中,我们提供了流中的某些点作为重启点,如图6所示。示出了加水印的音频102,其中数据通道143作为其Isb的异或XOR。400、401和402是重启点,其中,解码器将能够开始原始音频的无损解码。重启点在音轨的开始处,并且在此滤波器221和222可以被初始化到0,匹配编码器处的类似重置。然而,重启点401和402在音轨中间并且因此埋入数据143必须包含重启辅助信息411和412,这些辅助信息将用于初始化用于启动解码器从401或402无损地解码的滤波器状态。

现在,在相应的重启点401之前埋入重启辅助信息411,从而使当解码器需要使用该数据来在401初始化滤波器状态时,解码器可以配备该数据。现在,在某个点更改埋入数据143影响112的量化和滤波器122意味着此更改后的数据同样影响后续量化。如果重启辅助数据411取决于滤波器122在重启点401的状态,我们将具有用于编码器进行解析的笨拙循环性,因为该状态取决于早先的埋入数据。

幸运的是,其中(G-1)是有线脉冲响应(FIR)滤波器的全极噪声成形架构允许了避免这种循环性。滤波器122的状态是中间信号104与加水印的信号102的最近值之间的差异。随着解码器接近重启点401,其已经在重启点之前触及信号202,即,102的复制。所以这对于重启信息俩说足以使允许在401之前立即针对n个样本重构中间信号104,其中,滤波器122的输出是其输入的先前n个值的函数。由于信号104不取决于埋入数据143,循环性得以避免。

重启信息可以包含信号104的这些n个样本的完整拷贝,但是如果重启点比较频繁,则这可能是不方便的大量数据。现在我们呈现一种允许非常少的重启信息即以足够的方法。

信号104和102的不同之处仅仅在于噪声成形量化,并且所以其不同被界限。可以从噪声成形传递函数的脉冲响应和量化误差的大小计算该界限。在我们的实施例中,量化器211在通道上产生2-16g<2-16的最大绝对误差。并且,噪声成形滤波器1/G(z)的脉冲响应的绝对值之和小于27。所以信号104与102之差在范围(-27×2-16,27×2-16)内。此外,对于解码器来说,信号104在任何样本上的Isb是从所定义的量化格栅G3是已知的。因此,仅每个样本需要6位的重启辅助数据(这是非常保守的约束,并且通常更少的比位足够使用)。

图7中示出了滤波器222的重启运算。与常规运算相比,忽略了来自滤波器222的输出。而是,量化器431通过量化202到15.5位量化的粗略子集来生成204,其中偏置为O3,如下所述。通过计算信号204的正确值,我们具有滤波器222的正确输入,并且在n个样本之后,稍后滤波器222具有正确的状态并且我们可以回到常规运算。

在我们的示例中,量化器431是10位晶格量化器,并且偏置由6位的重启辅助数据由2-16扩展之后以及PRNG 312(或对于另一个通道是313)的输出之和给出。与15.5位量化相比,PRNG 312确保信号204具有正确的偏置O3,并且重启辅助选择靠近输入信号202的正确值。

该编码侧将理想地需要将信号104的11到16位推送到重启辅助。然而,PRNG值的范围高达2-15,所以PRNG和辅助之间存在一位的重叠。由于解码器将这些值相加,编码器必须从信号104的11到16位的Isb端减去PRNG输出的顶位。滤波器221可以按照类似的方式被初始化。

滤波

如WO2013061062中所讨论的,在这种直方图更改无损加水印器之前进行预强调滤波会是有用的。在此,这被实现为完全分离的预处理,其必要地涉及重新量化回到16位水平。

根据本发明的另一个实施例,编码器之前是滤波器,该滤波器具有单一第一脉冲响应并且其输出被量化到比16位更精细的精度,诸如24位。

图8A中示出了这种滤波器的一般化形式。函数520由滤波器输入501和输出503的n个延迟值计算出,并且结果被量化530以产生信号502,该信号的值在任何时刻都被称为A(为了调整)。通过将信号502与信号501相加来形成滤波器输出503。如果量化器530将量化到编码器进行运算的16位精度,则这与WO2013061062中的无损预强调滤波器没有实质性的不同。然而,量化器503在接下来是所不期望的未成形的16位噪声的额外源。

然而,意外的是,滤波器编码器组合将仍是可逆的,即使量化器530量化到更精细的精度,例如24位。现在,量化器530所引入的噪声低很多,并且不会对本发明所引入的总体噪声做出实质性的贡献。

信号501被量化到16位晶格,其中偏置为O1,并且A是先前样本的函数。尽管A具有更高的精度,信号503可以由此被认为量化到16位量化格栅(O1+Α)。这不会影响后续编码器运算(由于歧义解析器113的运算仅取决于使用16晶格的输入,而不是量化偏置),但是这确实影响解码器运算。

在图8B中示出了解码器运算,此图示出了对在图1B中示出的解码器的左手侧的修改。假设先前无损运算,解码器可以计算所复制的先前样本的与编码器相同的函数521并且执行相同的量化531以产生信号512,该信号的值也是A,复制信号502。

然而,这并不从量化器211的输出减去A,因为这将改变量化偏置。而是,其在量化器211之前减去A。由此,量化器211的输出是经滤波的信号、用信号511复制信号501所需的偏置O1量化并且用作解码器输出和到函数521的输入中的一个输入。

接下来加A,这给出了具有量化偏置(O1+A)的复制信号503的信号,这正是到函数501的另一个输入以及减法节点馈送噪声成形滤波器221所需要的。为了引起关注,我们指出虚线框214形成具有量化偏置(O1+A)的16位量化器。

尽管有噪声成形,当在音轨的中间部分启动解码器运算时,上述逻辑失效,并且需要重启辅助数据来引导无损运算。最简单地,重启辅助将包括正确的滤波器状态的快照(snapshot),但是如果重启点比较频繁,则这将是不方便的大量数据。

我们现在解析可以如何实质性地减少重启辅助数据量。我们进行以下初步观察:

●将信号512反馈给量化器214意味着量化器和滤波器需要作为组合单元引导。如果我们不引导滤波器的话,初始化214的噪声就没有意义,因为信号512的误差值致使量化器214量化到误差的格栅并且因此不以无损的方式运算。这是与WO2013061062中的预强调的关键不同,此预强调未被集成到量化器中。

●由于具有噪声成形,如果信号513和511对于n个样本是正确的,则信号512将是正确的,并且如果量化器214的噪声成形也是正确的话,将继续无损运算。

●信号513也需要是正确的信号以便引导噪声成形。

信号513接近信号206,不同之处仅在于量化器214所引入的噪声成形更改。然而,信号511是513的滤波版本并且具有实质性不同。

如果在流中的任意点启动解码器,通常不会立即看到在其处提供重启辅助数据的“重启点”,并且此重启点将初始地以有损方式运算,如图9所示。通过消除噪声成形量化214、减去调整A并且最终量化结果来从图8B导出图9,所以输出符合具有偏置O1的16位,即使其不复制提供给编码器的信号501。

我们以有损方式运算足够长的时间从而使信号511朝向其将在无损运算中具有的正确值会聚。这需要多长时间与滤波器的脉冲响应的长度有关,由于函数521和量化器531附近的反馈路径,该长度通常是IIR。但是,信号511将会聚到多近存在限制,由其输入不正确限定,因为量化器214在有损模式下不可操作。在重启点处需要重启辅助以便将511和513的延迟值快速近似为正确值。

如在仅初始化噪声成形的以上讨论的情况一样,重启信息可以是无损信号的逐个位。对于信号511,16以下的位由量化偏置O1定义,所以每个延迟数据需要向上指定的第16位的某个数量的Isb,其中数量取决于近似信号511中可能存在多少误差。八个比特可能足够使用,如果包括函数521和量化器531的IIR滤波器已经具有足够的时间来稳定,并且不具有过度的响应。对于信号513,我们需要比仅噪声成形情况更多的位,因为,该信号在格栅上被量化(O1+A),并且我们不准确地知道A。所以,如果6位将足够噪声成型器使用并且A被量化到24位,我们现在需要每个数据14位,传送无损信号的第11到24位。

散布器

图10示出了本发明的另一个实施例,其中,无损地加水印的音频文件202的水印被更改以产生不同的无损地加水印的音频文件102。

这是通过使用来自图1B的解码器的初始部分重新生成被量化到格栅G3的内部信号204实现的,该内部信号然后传送到来自图1A的编码器的后一部分以嵌入经更改的数据143。仅仅数据143的水印部分被更改,重构数据和重启辅助通路保持不变。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1