用于最小化感知失真的组合音频编码的制作方法

文档序号:2829202阅读:312来源:国知局
专利名称:用于最小化感知失真的组合音频编码的制作方法
技术领域
本发明涉及高质量低比特率音频信号编码领域。本发明尤其涉及在感知音质方面进行优化的有效编码,同时考虑到目标比特率。更具体地说,本发明涉及利用多个编码器来进行音频信号编码以产生共同的编码信号表示。本发明还涉及编码器、解码器、编码和解码方法、编码音频信号、具有表示这样一种编码信号的数据的存储和传输介质、以及具有编码器和/或解码器的音频设备。

背景技术
在高质量音频编码中,众所周知的是需要不同编码方法以便为多种音频信号提供相对于音质对比特率而言的最佳结果。一种编码方法可为某种类型的音频信号提供良好的结果,然而其他类型的音频信号会导致性能较差。对很低的比特率来说,加上噪声模型的正弦编码器是最有效率的,但是波形编码技术通常会为较高比特率带来较好的结果。
在当前的MPEG 2和MPEG 4标准中,都意识到不同编码策略可能对不同比特率更有效这样的问题。因而,这个标准中包括了大范围的不同音频编码器,大部分音频编码器的目的都在于为有限范围的比特率提供最好的结果。
然而,正常音频信号甚至在短时期内都会包括多种信号属性的混合。因此,甚至几秒的音频信号也包括例如受正弦波音(puretones)、噪声或瞬变现象所支配的较短剪辑这样的现象是十分常见的。这些不同特性需要不同编码特性以进行最佳的编码,也就是说,根据信号的某种剪辑的比特率或品质,使用单一类型的编码器会导致十分差的结果。
Scott Levine所做的Ph.D.[1](参见“实施方式描述”部分结尾处的参考列表)描述了一种包括在正弦(或参数)编码器与波形编码器之间的结合的编码器。利用参数编码器对音频信号的最大部分进行编码,同时波形编码器仅用于音频信号的瞬变部分。在这个方案中,应用了参数编码器和波形编码器之间的预定分配。
Philips名义下的美国专利5,808,569描述了这样一种编码方案,其中利用两种不同的编码策略对信号的不同部分进行编码。然而,没有提供另一种规范来确定在不同的编码器间如何分配比特率。
因此,现有技术的音频编码器没有解决响应于改变音频信号的参数而控制两种或多种不同编码方案的问题。


发明内容
本发明的一个目的是提供一种灵活的音频编码器,其能够为多种音频信号特性以及为不同的目标比特率来高效率地提供高质量的音频编码。
根据本发明的第一方面,这个目的是由用于对音频信号进行编码的音频编码器来实现的,该音频编码器包括 -用于产生第一编码信号部分的第一编码器, -用于产生第二编码信号部分的至少第二编码器,以及 -控制单元,包括 -估算装置,用于相对于失真测量来对包括第一和第二编码信号部分在内音频信号的共同表示进行估算,以及 -优化装置,用于调整第一和第二编码器中至少一个的编码参数,并且响应于此来监视音频信号的共同表示的失真测量,以便根据预定标准来优化编码参数。
术语‘失真测量’应该被看作是音频信号与编码音频信号之差的任何测量,即音频信号的共同表示。
术语‘编码参数’应该被宽泛地看作是可以为特定编码器进行调整的一个或多个可能的编码变量。这些编码参数的性质取决于编码器的类型。
假定某个最大比特率限制,根据第一方面的音频编码器能够为音频信号的每个剪辑采用最佳编码,以便最好地利用两个共同编码器,以得到最小的可能感知失真,即最佳的感觉品质。尤其是通过选择第一和第二编码器,以便它们使用完全不同的编码原理提供一种有效率的编码。例如,对于具有某种信号特性的一个剪辑来说,仅利用第一编码器所采用的总比特率就几乎可以得到最有效率的编码,而下一个剪辑则显示出需要两种编码器的结合,以得到最佳编码的不同特性。根据第一方面的编码器能够用于不同的音频信号特性并且还能够提供在不同的最大比特率限制下的最佳性能。众所周知,某些编码器在特定比特率下执行最好。由于两个编码器的优化结合而考虑到这一点,因而保证了为大范围的目标比特率获得最佳编码效率。第一和第二编码器的编码参数最好都被优化。
原则上,根据本发明的编码器允许根据多种标准来优化它的独立编码器的编码参数。在一个实施方式中,优化装置用于调整编码参数以便最小化失真测量,即根据这个标准,不必进行有效比特率的任何考虑就可以优化音质。然而,这个实施方式可以由第一和第二编码器的预定最大总比特率的约束条件来修改。
在另一个实施方式中,优化装置用于通过在预定最大总比特率内,把第一和第二比特率分别分配给第一和第二编码器而最小化失真测量。这个音频编码器实施方式设法在两个编码器之间最有效地分配总比特率,以便最小化失真。在具有固定比特率的有限集合且两个编码器具有恒定总比特率和的两个编码器的简单实施方式中,优化装置只须调整在两个编码器之间的比特率分配。
在其他实施方式中,优化装置用于利用预定最大失真测量的约束条件来最小化第一和第二信号部分的总比特率。根据这个实施方式,优化标准将最小化固定的失真测量的总比特率。
在优选实施方式中,失真测量包括感知失真测量。术语‘感知失真测量’应该大致上被看作是质量表示,例如根据心理声学模型来表达出编码信号相对于所感觉的音质而言失真到了哪个程度。换句话说,编码信号的感知失真的测量是用于表达听众所感觉的原始输入音频信号的衰变范围的数值。显然,这个测量最好被最小化以便达到编码信号的最佳音质的目标。
在优选实施方式中,第一编码器用于把音频信号编码成第一编码信号部分,以及第二编码器用于把第一残留信号编码成第二编码信号部分,所述第一残留信号解释为音频信号与第一编码信号部分之差。这个实施方式描述了两个编码器的级联,其中第二编码器对第一编码器未编码的原始信号的剩余部分进行编码。失真测量最好基于第二残留信号的,所述第二残留信号解释为第一残留信号与第二编码信号部分之差。这些意味着要采用两个编码器没有编码的原始音频信号的剩余部分与原始音频信号一同来创建失真测量。更一般地说,在多于两个编码器的级联中,其中每个编码器都对级联中的它前面的编码器的残留信号进行编码,把级联中未被最后一个编码器解码的余下信号用作控制单元的输入以进行优化处理。
在另一个优选实施方式中,音频编码器还包括信号分路器,其用于把音频信号拆分成第一和第二部分,其中第一编码器用于把第一音频信号部分编码成第一编码信号部分,以及其中第二编码器用于把第二音频信号部分编码成第二编码信号部分。因而在这个实施方式中,第一和第二编码器并行操作。例如,信号分路器包括用于把音频信号拆分到不同频率范围中的滤波器组。
音频编码器还包括用于产生第三编码信号部分的第三编码器,其中控制单元用于处理包括第一、第二和第三编码信号部分在内的音频信号的共同表示。三个编码器可以级联的放式并行操作,如上所述,或者采用其组合的方式。音频编码器可包括多于三个编码器,即四个、五个、六个或更多编码器。它们可以被级联、被并联,或以级联与并联组合的方式被耦合。多个编码器可以是不同类型的或者至少表示两种不同类型。
优化装置最好用于根据预定标准,在第一和第二编码器的第一和第二编码模板的预定集合中分别选择出用于产生最佳性能的一对第一和第二编码模板。此处,‘编码模板’应当被看作是对于特定编码器来说意味着所调整的编码参数的所选集合。因而,‘预定模板的集合’应当被看作是对于特定编码器来说,意味着不同地选择的编码参数的集合。
第一编码器最好包括从下述组中选择的编码器,所述组包括参数编码器(例如正弦编码器)、变换编码器、规则脉冲激励编码器(Regular Pulse Excitation encoders)以及密码本激励线性预测编码器(Codebook Excited Linear Prediction encoders)。第二编码器最好包括从相同组中选择的编码器。第一编码器还可以是组合编码器。最好,第一和第二编码器是不同类型的以便它们采用可能达到最佳的方式来相辅相成。然而,第一和第二编码器也可以是相同类型的,但是具有不同编码模板。
音频编码器最好用于接收被分成片段的音频信号。优化装置最好用于在音频信号的一个或多个连续片段上优化编码参数。这些片段可以是重叠的或不相重叠的。最好,在优化处理中采用了三个或更多的连续片段。
本发明的第二方面提供了一种用于对编码音频信号进行解码的音频解码器,该音频解码器包括 -用于从第一编码信号部分中产生第一解码信号部分的第一解码器, -用于从第二编码信号部分中产生第二解码信号部分的第二解码器,以及 -求和装置,用于产生音频信号的表示以作为第一和第二解码信号部分的总和。
第一和第二解码器必须是与编码处理所使用的相同类型的。否则,它们不能对包含诸如正弦参数等等之类的编码器特定数据的第一和第二编码信号进行解码。解码器可在编码信号每个部分上完全并行地操作。
因而,可以从与结合音频编码器而在前面列出的相应类型中选择出优选的第一和第二解码器。
就音频编码器而言,解码器还包括用于从第三编码信号部分中产生第三解码信号部分的第三解码器,其中求和装置用于产生音频信号的表示以作为第一、第二和第三解码信号部分的总和。音频解码器还可以包括第四、第五、第六或更多独立的解码器,每个解码器用于对编码音频信号的独立部分进行解码。所有解码信号部分都应当被相加以产生输出音频信号。
在第三方面中,本发明提供了一种用于对音频信号进行编码的方法,该方法包括以下步骤 -利用第一编码器产生第一编码信号部分, -利用第二编码器产生至少一个第二编码信号部分, -相对于失真测量而对包括第一和第二编码信号部分在内的音频信号的共同表示进行估算,以及 -根据预定标准响应于所述失真测量而优化第一和第二编码器的编码参数。
应用与第一方面相同的说明。
在第四方面中,本发明提供了一种对编码音频信号进行解码的方法,该方法包括以下步骤 -利用第一解码器来从第一编码信号部分中产生第一解码信号部分, -利用第二解码器来从第二编码信号部分中产生第二解码信号部分, -把第一和第二解码信号部分相加。
应用与第二方面相同的说明。
在第五方面中,本发明提供了一种编码音频信号,其包括由不同编码器所编码的第一和第二编码信号部分。
编码信号可以是具有根据标准数字音频格式的格式的数字电信号。通过利用两个音频设备之间的电气连接电缆来传送该信号。然而,编码信号也可以是诸如利用无线电频率载波的空中传播信号之类的无线电信号,或者可以是用于经由光纤来传送的光信号。
在第六方面中,本发明提供了一种存储介质,其包括用于表示根据第五方面的编码音频信号的数据。存储介质最好标准音频数据存储介质,诸如DVD、DVD-ROM、DVD-R、DVD+RW、CD、CD-R、CD-RW、压缩闪存(compact flash)、存储棒(memory stick)等等。然而,它也可以是诸如计算机硬盘、计算机存储器、软盘等等之类的计算机数据存储介质。
在第七方面中,本发明提供了一种包括根据第一方面的音频编码器的设备。
在第八方面中,本发明提供了一种包括根据第二方面的音频解码器的音频设备。
根据第七和第八方面的所有优选设备是不同类型的音频设备,诸如磁带、盘或基于存储器的录音机和播放器,例如固态播放器、DVD播放器、计算机的音频处理器等等。另外,它对移动电话有益。
第九和第十方面提供了计算机可读程序代码,即软件,其包括分别用于实现根据第三和第四方面的编码和解码方法的算法。



在下文中参考附图来更详细地描述本发明,其中 图1是第一音频编码器实施方式的方框图,其包括级联的两个编码器,所述编码器用于根据每个音频剪辑的总目标比特率的约束条件来操作, 图2显示了用于举例说明用以得出感知失真测量的屏蔽曲线和误差光谱的例子的图表, 图3显示了用于举例说明对于两个不同的声音例子来说第一和第二编码器之间比特率的分配对最终总感知失真的影响的图表, 图4是包括两个解码器的音频解码器的方框图, 图5举例说明了第二编码器实施方式,其包括级联的两个编码器,所述编码器利用许多可能的编码模板对每个音频剪辑进行操作, 图6举例说明了在第二编码器实施方式的两个编码器之间的片段和重叠的例子,以及 图7举例说明了包括两个并联操作的编码器的第三编码器实施方式。
虽然在本发明的范围内各种修改和替换形式都是可能的,但是在附图中以示例的方式显示了特定实施方式并且在下文中详细地描述了所述特定实施方式。然而应当指出本发明不局限于所公开的特殊方式。相反,本发明覆盖了在所附权利要求中所定义的本发明的精神和范围内的所有修改、等价体及替换。
具体实施例详述 图1是举例说明第一、简单编码器实施方式的原理的方框图,其包括级联的两个不同编码器AE1、AE2,所述编码器AE1、AE2以每帧固定的总目标比特率进行操作。帧被定义为一个时段,其等于单个片段或者持续时间大于单个片段。第一编码器AE1最好包括正弦编码器,而第二编码器AE2包括变换编码器。正弦编码方法在低比特率下有效率,并且在相对低比特率下与波形编码器相比可提供较好的音质。变换编码器已知需要更大的比特率需求,但是可达到比正弦编码器更好的音质。因而,总而言之,其组合提供一个灵活的音频编码器。
在图1所示编码方案中,由第一编码器AE1利用目标比特率的某个比例R1来对音频信号ε0的剪辑进行编码。由第一编码器AE1所占有的比特率的比例R1由控制单元CU来控制。在第一编码器AE1中进行了正弦编码之后,从原始输入信号ε0中减去第一编码信号部分E1(即非量化的正弦描述)以得到残留信号ε1(即正弦编码器AE1没有建模的那部分信号)。然后由第二编码器AE2(即波形编码器)用总比特率的剩余部分R2来把残留信号ε1编码成第二编码信号部分E2,所述总比特率的剩余部分R2用于对帧进行编码。
在这个实施方式中,控制单元CU现在通过测试两个编码器AE1、AE2之间的比特率R1、R2的许多替换分配并且估算相对于感知失真测量的共同编码结果,来优化共同编码信号E1、E2的所感觉到的音质。感知模型最好用于提供感知失真的测量。[4]中给出了一种明确地提出预测感知失真的方式的优选模型。典型地,这种优化必须在逐帧基础上完成以允许编码器适应本地信号属性。
控制单元CU存储对两个编码器AE1、AE2之间的比特率的具体分配R1、R2的所感知失真测量,并且尝试另一种分配直到找到最佳分配。为了这个目的,控制单元CU把第二编码器AE2之后的误差信号ε2与原始输入信号ε0相比较。误差信号或残留信号ε2被定义为第一残留信号ε1与第二编码信号部分E2之差,换句话说没有被两个编码器AE1、AE2编码的最终余下信号。
在已经测试了比特率分配R1、R2的预定集合之后,控制单元CU根据所确定的感知失真测量来判定出用于产生要采用的最小感知失真的比特率分配R1、R2。根据这个分配R1、R2,最终的第一和第二信号部分E1、E2(即编码器AE1、AE2所产生的参数和数据)分别由比特流格式器BSF进行处理以便提供编码输出比特流OUT。
要测试的比特率分配R1、R2的预定集合例如是总目标比特率的5%、10%、20%或25%的步长的所有组合,即R1+R2。在64kbps的目标比特率的情况下,例如(R1,R2)的集合可被选定为(0.64)、(16.48)、(32.32)、(48.64)以及(64.0)kbps。
正弦编码器AE1比波形编码器AE2更有效率的精确转折点取决于要编码的具体音频材料;例如,例如32kbps的比特率的音频剪辑由正弦编码器来最有效地编码,而在相同的比特率下,利用波形编码器来对另一个音频剪辑进行编码。
如上所述,控制单元CU测试比特率分配R1、R2的全部预定集合。在替换优化处理中,当比特率组合R1、R2产生低于预定标准值的感知失真的测量时,控制单元CU停止测试另一个比特率分配组合R1、R2。
因而,参考图1所描述的实施方式将得到所包括的两个音频编码器AE1、AE2的能力的最佳使用,因为音频编码器AE1、AE2会被用于每个具体的音频剪辑。这导致1)为必须编码的音频的具体帧自动地选择最佳音频编码器,2)对于其中产生较佳品质的情况,允许音频编码器的组合使用。
第二编码器AE2之后剩余的残留信号ε2被用作噪声编码器(未显示)的输入信号。用这种方法,没有被两个编码器AE1、AE2建模的至少一些频谱部分可以被替代为噪声,这通常会导致良好的品质提高。
在第一正弦编码器AE1的优选实现中,心理声学匹配追踪算法[5]用于估计正弦曲线。正弦曲线的片段和分配最好根据[6]中所描述的方法来完成。
第二变换编码器AE2的优选实现基于[7]中所描述的滤波器组。第二编码器AE2的片段继第一编码器AE1的片段之后或者第二编码器AE2采用均匀片段。
第二编码器AE2之后的残留信号ε2最好由感知模型[4]来估算,以测量总感知失真。这一点最好通过确定原始信号IN的每个帧的屏蔽函数v(f)来完成。屏蔽函数可被理解成人类听觉阈值的频谱表示,假设把作为人类听觉系统的输入的所讨论的音频信号作为频率f的函数。然后时间域残留信号ε2用来得出作为频率f的函数的误差谱s(f)。如[4]的等式9所示,误差频谱信号与屏蔽函数的倒数的内积提供了感知失真的良好预测算子,即感知失真D可被计算为 图2显示了用于举例说明屏蔽曲线v(f)以及误差频谱s(f)的例子的图表,v(f)由虚线表示、由所提及的感知模型来计算,s(f)由实线表示、其用于得出如上所指出的感知失真测量D。该图表显示了线性频率标度f对以dB为单位的电平(Lp)。图2显示了在较低的频率(例如100Hz左右)下,误差信号s(f)与屏蔽曲线v(f)相比具有显著的电平,因而这个频率范围有助于总感知失真D。在10-12kHz以上,上升的屏蔽曲线基本上由无声的人类听觉阈的上升所引起。
图3显示了对于不同的音频信号的两个图表,其举例说明了在音频编码器具有正弦编码器和波形的情况下(诸如参考图1所描述的那样),总感知失真TPD对分配给正弦编码器PBRS的一部分比特率的依赖性。不同的音频信号表示从响板上录的声音(上面的图表)以及从大键琴上录的声音(下面的图表)。下述符号表示不同总比特率12kbps(圆)、24kbps(加号)以及48kbps(星号)。粗线表示各种总比特率的比特率分配的选择。
如从响板(上面的图表)中所看到的,作为比特率分配的函数,感知失真十分恒定,至少在12kbps(圆)和24kbps(加号)。然而对于48kbps(星号)来说,与把大部分比特率发送给正弦编码器相比,把大部分的比特率发送给波形编码器显示是有益的。对于大键琴(下面的图表)来说,出现了不同的图片。此时,显然甚至在高比特率下正弦编码器仍要接收大约一半的比特率,而在低比特率下显然最好把全部比特率用于正弦编码器。
要注意的是虽然通过评估和优化全部的音频剪辑而得到了图3所示例子,但是这种优化方法被认为是用在较短的音频片段上以便可以对信号属性更本地性地采用比特率R1、R2分配。
图4是适合于对编码音频信号进行解码的音频解码器的方框图,所述编码音频信号例如由参考图1所描述的音频编码器来编码的音频信号。音频解码器包括与第一和第二编码器AE1、AE2的类型相对应的第一和第二解码器AD1、AD2,以便它们适合于从编码器AE1、AE2中接收第一和第二编码信号部分E1、E1。在输入比特流IN中接收解码音频信号,以及由比特流解码器BSD来提取第一和第二解码信号部分E1、E2。然后第一解码信号部分E1被用于第一解码器AD1,而第二解码信号部分E2被用于第二解码器AD2。解码器AD1、AD2可独立地对它们的部分进行解码,并且然后把最终的第一和第二解码信号部分D1、D2简单地相加以便产生原始音频信号的表示OUT。
图5是包括级联的第一和第二独立编码器AE1、AE2的另一个音频编码器实施方式的方框图。其中结合第一实施方式描述的编码方案(图1所示)根据每个预定时段或片段的恒定总比特率(R1+R2)的约束条件来操作,这个约束条件在图5的第二实施方式中被放宽。原则上这个第二实施方式考虑了至少第一编码器AE1的所有可能编码参数,最好也考虑了第二编码器AE2的所有可能编码参数,以及与图1的第一音频编码器相比这也产生了降低的感知失真。然而,与第一音频编码器实施方式相比,第二音频编码器实施方式实现起来更加复杂。因而,与第一实施方式相比,第二实施方式允许适合于每个音频信号剪辑的要求的比特率,其允许较好地优化两个编码器AE1、AE2,以及因此在与大量音频剪辑的平均相等的所考虑比特率下,第二音频编码器实施方式能够实现较低的感知失真,即较高的音质。
在图5的音频编码器中,第一和第二不同的编码器AE1、AE2都适合于以许多不同的方式来对所接收的输入信号ε0进行编码。这些编码选项被称作编码模板。例如,在正弦编码器的情况下,一个具体编码模板指定了用于表示输入音频片段的正弦曲线的一个具体集合,而不同的模板可指定正弦曲线的不同集合。因此所有可能模板的集合允许编码器执行每种可能的编码操作,因而能把它的编码应用于每个音频剪辑。第一和第二编码器AE1、AE2的模板分别表示为第一和第二模板T1、T2。
对于所选择的每两个编码模板T1和T2来说,第一编码器AE1都把音频输入信号ε0编码成第一编码信号部分E1。由于不完善的编码的原因,编码会产生残留信号ε1,所述残留信号ε1然后由第二编码器AE2编码成第二编码信号部分E2。第二编码处理再次产生残留信号ε2,所述残留信号ε2由控制单元CU利用感知模型进行估算,所述感知模型会产生感知失真的测量的计算。为了决定输入音频信号ε0的最终编码,控制单元CU为了从产生最小的感知失真的测量的所允许编码模板T1、T2的预定集合中找到编码模板T1、T2而执行优化程序。为了这个目的,除感知失真的测量之外,还要考虑两个编码器AE1、AE2中每一个的比特率R1、R2(或其估算)。
一旦找到了最终编码模板T1、T2,就把这些模板T1、T2用于产生分别由第一和第二编码器AE1、AE2中得到的第一和第二编码信号部分E1、E2。这些第一和第二编码信号部分E1、E2被施加到比特流格式器BSF,所述比特流格式器BSF形成输出比特流OUT。
第一编码器AE1最好包括正弦编码器,而第二编码器AE2包括变换编码器。感知失真D的测量最好根据[4]来计算,如结合第一编码器实施方式而描述的那样。
下述公式给出了控制单元CU不得不解决的优化问题的公式定义 其中D2在ε2的基础上被计算并且表示由感知模型(例如[4])所预测的感知失真,以及n是片段号,假定信号要按照取自总输入信号ε0的许多短时间片段来被编码。这个最小化问题不得不根据下述约束条件而被最小化 其中RT是目标比特率。
当采用此处所制定的方法解决了这个问题时,原则上编码模板T1、T2的所有组合都必须被测试,以便发现这个最小化问题的解决方案。假定对于每个片段来说分别存在第一和第二编码器AE1、AE2的M个编码模板,则需要被测试的组合总数是 #=M2N 对于所有实际情况来说,这个问题不能被有效地解决,因此在下文中提出了一种更有效的解决方案。然而,中心思想仍然是解决此处提出的问题,或者解决其至少一部分变型。从约束条件最优化理论中已知的是,可以通过把这类问题分成每个片段需要解决的若干独立的优化问题的方式而把这类问题重新用公式表示。这一点可根据下述约束条件来完成,所述约束条件即两个编码器AE1、AE2的比特率R1、R2跨越多个片段而独立且附加。类似地,跨越多个片段的感知失真测量也必须是附加且独立的。
要注意的是这个问题的解决会导致最小化诸如由受总比特率约束条件影响的感知失真测量所预测的感知失真。含蓄地说,对于各个片段,比特率可能会不同。另外,感知失真不会跨越多个片段恒定。然而,允许跨越多个片段的这些不同会产生比对每个片段来说保持比特率或感知失真恒定时更低的总感知失真。
根据以上给定的约束条件,可以通过定义需要被最小化的N个独立的成本函数而把该问题重新用公式表示 J(T1(n),T2(n),n)=D2(T1(n),T2(n),n)+λ[R1(T1(n),n)+R2(T1(n),T2(n),n)] (I) 需要解决的问题现在得出了λ以便 其中把T1,2min(n)选定为下式 对问题的这种重新的解决方式的优点在于现在借助于拉格朗日乘子λ把N个独立的问题连接起来。实际上这意味着λ的初始值被选定。利用这个值,对于每个片段n独立地解决等式(III)中给定的最小化。这些优化之后,可检验是否满足等式(II)。根据目标率RT与所使用的总比特率之差,可以采用λ。这个处理可被重复直到找到(根据等式II)最佳的或者满意的λ值。
解决等式(III)中所说明的优化问题隐含了为所考虑的具体片段n测试编码模板T1、T2的所有组合。对于特定的单个编码器AE1、AE2来说,当事先(a priori)已知超出子集范围的模板产生非最优解决方案时,通常有可能从所有可能的编码模板T1、T2中选择出编码模板T1、T2的子集。对于等式(III)中给定的共同优化,两个编码器AE1、AE2之间的依赖性使得难以事先从优化处理的考虑中放弃某个编码模板T1、T2。然而,当假定编码模板T1已知时,因为模板T2会有秩序地应用于最后的编码器AE2,所以有可能对优化处理中不需要考虑的模板T2做出选择,更具体地说,为第二编码器AE2选择具体的编码模板T2不会影响第一编码器AE1的编码。对于第一编码器AE1,因为T1的选择会影响第二编码器AE2的状态(参见等式I,其中R2取决于T1与T2),所以这是不可能的。因此,不可能不考虑它对编码器AE2的影响就放弃编码器AE1的编码模板T1。限制编码器AE1的编码模板T1的总集合固然更加难以实现。然而,为了减少计算复杂性,有可能例如通过假定第一编码器AE1单独地操作来限制编码器AE1的候选模板T1的数目。
因而,实际上,通过首先选择编码模板T1然后计算提交给编码器AE2的残留ε1而解决了等式(III)中陈述的优化问题。因为T1已知,第二编码器AE2根据等式(III)的简化方案进行优化 如上所述,有可能不用考虑所有可能的编码模板T2就能解决第二编码器AE2的大部分选择中的这种优化。解决了最小化之后,可以选择第一编码器AE1的新模板T1直到为考虑中的片段找到等式(I)的最佳解决方案。
因而在本节中给出的解决方案可以在下列算法(A1)中被概括为加上拉格朗日乘子λ的每个片段找出最佳编码模板T1、T2,以便满足目标比特率。
(A1) Findλ Loop n Loop T1(n) Encode ε0 with encoder AE1 Loop T2(n) Encodeε1 with encoder AE2 Derive J′(n)(see Eq.IV) Remember best T2(n)and J′(n) End Loop T2(n) Derive J(n)(see Eq.I) Remember best T1(n),T2(n)and J(n) End Loop T1(n) End Loop n Updateλ End Findλ 在(A1)中,对T1的循环用于得出等式(III)的最佳解决方案,例如以最小化全局成本函数。作为这个问题的一部分,还有对T2的循环,其最小化等式(IV)中所给出的第二编码器AE2的成本函数。
要注意到,采用此处把该问题用公式表示的方式,同时对若干片段执行优化。在片段的这个集合内,允许比特率跨越多个片段发生变化。在许多实际情况中,仅同时评估片段的有限集合。有两种选项来处理这个约束条件 1)每次为片段的每个集合确定λ,以便片段的集合内的比特率满足所需要的目标比特率。
2)在片段的每个集合之后采用λ以补偿在比特率与过去的编码操作中的目标比特率之间的不匹配。
在下文中假定图5的编码器AE1是正弦编码器而第二编码器AE2是变换编码器。对于第一编码器AE1,不会考虑所有的编码模板T1。仅考虑最小化某个λ1(n)的成本函数的编码模板T1 J1(n)=D1(T1(n),n)+λ1(n)R1(T1(n),n)(V) 其中D1是由第一编码器AE1编码之后的所测量的感知失真。
两个编码器AE1、AE2具有相同片段,并且在编码和解码阶段每个编码器AE1、AE2都采用重叠片段。因为由编码器2编码片段n所需的残留信号ε1(n)取决于编码模板T1(n-1)、T1(n)以及T1(n+1),所以这需要改良算法(A1)。
为了阐明这个问题,图6显示了在包括编码模板的两个编码器AE1、AE2的片段之间的用三角形窗口表示的片段和重叠的例子。如在图6中可见的那样,第一编码器AE1之后的残留信号ε1(n)取决于在片段n-1、n、n+1中为第一编码器AE1所选择的编码模板T1。典型地,因为片段是以连续的顺序(参见算法(A1))一次一个地被优化的,所以当片段n被优化时编码模板T1(n+1)不是已知的。然而,因为编码模板T1(n-1)还取决于片段n中得出的解决方案,所以虽然它可能不是最佳解决方案,但是当片段n被优化时编码模板T1(n-1)是已知的。
实际解决方案是要得到诸如在前一片段(n-1)的优化中得到的T1(n-1)。对于下一个片段,关于什么是编码器AE1要对片段n+1进行的最终编码而做出所通知的推测。为了这个目的,根据等式V把最近片段的平均λ1用于选择最佳编码模板T1(n+1)。基于这一点,可以计算残留信号ε1(n),并且现在可受根据(A1)的λ的影响而得到最佳T2(n)。
要注意的是,只有当最后确定了T1(n)然后仅找到了T2(n-1)时,ε1(n-1)的最终值才是已知的。
为了清楚起见,下面给出了算法(A1)的更详细版本(A2),其包括以上概述的实际解决方案。(A2)得出加上拉格朗日乘子λ的每个片段的最佳编码模板T1、T2以便满足目标比特率。考虑片段之间的重叠。
(A2) Find λ Loop n Loop T1(n) Encodeε0(n)with encoder AE1 and T1(n) Encodeε0(n+1)with encoder AE1 and informed guess of T1(n+1) Retrieveε1(n)based onε0(n-1),ε0(n),ε0(n+1)withT1(n-1), T1(n), T1(n+1) Loop T2(n) Encodeε1(n)with encoder AE2 Derive J′(n)(see Eq.IV) Remember best T2(n)and J′(n) End Loop T2(n) Derive J(n)(see Eq.I) Remember best T1(n),T2(n) and J(n) End Loop T1(n) #Now the final solution for T1(n)has been found #the finalε1(n-1)is known and the final T2(n-1)canbe found Loop T2(n-1) Encodeε1(n-1)with encoder AE2 Derive J′(n-1)(see Eq.IV) Remember best T2(n-1) and J′(n-1) End Loop T2(n-1) End Loop n Updateλ End Findλ 现在描述结合图1所示的编码器实施方式要解决的优化问题。在这个实施方式中,通过使λ1在N个连续片段上恒定而克服了图5的实施方式所描述的重叠窗口的问题,并且把相应编码模板T1(n)...T1(N),应用于编码器AE1,每个编码器AE1都用于最小化等式(V)。在这种情况下,首先可以得出第一编码器AE1的所有N个片段。对于第二编码器AE2,受λ影响,可以找到最小化等式(IV)的编码模板T2(1)...T2(N-1)。用这种方法,可以测试若干λ1的值直到找到一个最小化等式(1)的λ1的值。可以对若干λ1的值测试这一点直到目标比特率满足最小可能感知失真。找到片段1...N-1的解决方案之后,优化接下来的片段N...2N-1。下面,通过保持λ恒定而考虑到片段之间的重叠,算法(A3)概括了为加上拉格朗日乘子λ的每个片段找到最佳编码模板T1和T2以便满足目标比特率的原理。
(A3) Findλ Loopλ1 Loop n1(1...N) Encodeε0(n1)with AE1 and useλ1 to min.J1(n1)seeEq.(V) End Loop n1 Loop n2(1...N-1) Encodeε1(n2)with AE2 and useλto min.J′(n2)see Eq.(IV) End Loop n2 Add all cost functions J(n2) Remember bestλ1 and corresp.best templates for bothencoders AE1,AE2 End Loopλ1 Remember bestλand corresponding best templates forboth encoders AE1,AE2 End Findλ 要注意到嵌套循环的数目看起来是算法(A3)比(A2)中少一个。然而这是不真实的,因为对λ1和λ进行的编码需要附加的循环,以得到相应编码模板。
算法(A3)的优点在于编码器AE1、AE2的片段不需要被对齐。唯一的必要条件是由编码器AE1编码的时间间隔(由例如段号n=1...N所包括的)至少与每次由编码器AE2所编码的时间间隔一样大。
利用对n2的循环运行至N而不是N-1的唯一差异来实现和测试了算法(A3)。这导致在N个片段的结尾时编码准确度的微小降低,但是这些影响看来不会影响质量。在实现中,第一编码器AE1采用不同且灵活的片段;参见[6],而第二编码器AE2采用固定片段。
两个级联的编码器被用于迄今为止所描述的编码器实施方式。然而,根据本发明,级联编码器的数目可被容易地扩展到多于两个编码器。两种情况可以被区别 考虑所有编码模板(例如不向候选模板应用限制)。在这种情况下,第一编码器可被替代为两个(或更多)编码器的级联。这些独立编码器中的每一个的编码模板都会把每个片段结合成需要编码模板的所有可能组合的编码模板的较大集合。现在就像级联中只有两个编码器一样地解决了该问题。
不是要考虑所有编码模板,而只是考虑把诸如等式(V)中给出的成本函数最小化的那些编码模板。在这种情况下,第二编码器被认为是对λ进行优化的两个编码器的级联。这些‘嵌套’扩展可以被继续直到大量的级联编码器。
图7显示了包括并行操作的两个编码器AE1、AE2的第三音频编码器实施方式。在由拆分单元SPLIT把音频输入信号ε0拆分成第一和第二信号部分ε1、ε2这一点上,它不同于图5的第二编码器实施方式,所述第一和第二信号ε1、ε2部分加在一起构成输入信号ε0。两个信号ε1和ε2分别施加到第一和第二编码器AE1、AE2。
图7的第三音频编码器实施方式的控制单元CU分别向第一和第二编码器提交编码模板T1、T2以执行它们的编码。因而,对于所选择的每两个编码模板T1和T2来说,编码器AE1处理第一信号部分ε01而编码器AE2独立地处理第二信号部分ε02。编码器AE1、AE2分别产生残留信号ε3和ε4,所述残留信号ε3和ε4要被施加到控制单元,所述控制单元根据感知模型来计算感知失真测量,所述感知失真的测量然后要用于从所允许的编码模板T1、T2的集合中找到最佳的编码模板T1、T2以决定信号的最终编码。为了这个目的,既要考虑感知失真测量还要考虑两个编码器AE1、AE2中每一个的比特率R1、R2(或其估计)。如第一和第二音频编码器实施方式所提及的那样,可以把[4]中的模型用于计算感知失真的测量D。
下述公式给出了第三音频编码器实施方式中的控制单元CU不得不解决的问题的公式定义 其中D1和D2分别在ε3和ε4的基础上被计算。假定感知失真仅仅是被相加。参数n是片段号,假定用取自总输入信号的若干短暂的片段来对信号进行编码。这个最小化问题不得不根据下述约束条件而被最小化 其中RT是目标比特率。
根据在前一部分给定的约束条件,可以通过定义需要被最小化的2N个独立的成本函数而把该问题再用公式表示 J1(T1(n),n)=D1(T1(n),n)+λR1(T1(n),n)(VI) J2(T2(n),n)=D2(T2(n),n)+λR2(T2(n),n)(VII) 需要解决的问题是现在得出λ,以便 其中把T1min(n)和T2min(n)选定为下式 问题的这一重新阐述的优点在于现在借助于拉格朗日乘子λ连接了2N个独立的问题。实际上,这意味着选择λ的初始值。利用这个值,可以为每个片段n和每个编码器独立地解决等式(IX和(X)中给定的最小化。优化之后,可检验是否满足等式(VIII)。基于目标率RT与所采用的总比特率(R1+R2)之间的差异,λ可以被修改。这个处理可被重复直到找到(根据等式VIII)最佳的(或者满意的)λ值。
因为这个并联情况中的优化是单独的并且对单个编码器AE1、AE2独立地进行,原则上有可能从所有可能编码模板T1、T2中选择出编码模板T1、T2的子集,因为由于具体的编码器AE1、AE2的属性的原因事先已知超出子集范围的模板T1、T2会导致非最佳解决方案。这是并联编码器与级联编码器相比的重要优势。
如上所述的并行优化可容易地被扩展到多于两个编码器,如从等式(VI)到(X)中可以清楚的那样。
在图4的并联编码器的优选实施方式中,输入信号分路器SPLIT包括用于把音频输入信号的输入片段ε0拆分成变换系数的改进离散余弦变换(MDCT)滤波器组。变换系数被分成组,每个组表示被单独地编码的标度因子(scale factor)。对于每个片段中的每个标度因子组来说,不得不选择标度因子和编码书(coding book),以便最小化受相同λ值影响的等式(VI)和(VII)中给出的成本函数。可以把不同编码书设计用于各种标度因子组以最佳地把变换系数的不同统计用在不同标度因子组中。当在片段中间优化了所有单个的标度因子频带之后,计算总比特率并且λ用于达到目标比特率。
根据本发明的编码器和解码器可以在具有数字信号处理器的单片机上被实现。然后独立于这种设备的信号处理器能力而把芯片嵌入在音频设备的内部。编码器和解码器也可以完全地由在应用设备的主信号处理器上运行的算法来实现。
在权利要求中,仅是出于清楚的原因包括了参考标记。对图中实施方式的例子的这些参考不应该看作是限制权利要求的范围。
参考列表Scott N.Levine,″Audio Representations for DataCompression and Compressed Domain Processing″Ph.D.Dissertation,December 2,1998.Wuppermann et.al.″Transmission systemimplementing different coding principles″,US 5,808,569.S.van de Par,A.Kohlrausch,G.Charestan,R.Heusdens(2002),″A new psychoacoustical masking model foraudio coding applications″IEEE Int.Conf.Acoust,Speechand Signal Process.,Orlando,USA,2002,pp.II-1805-1808.R.Heusdens,R.Vafm,W.B.Kleijn(2002),″Sinusoidal modeling using psychoacoustical matchingpursuits″IEEE Signal Processing Lett,9(8),pp.262-265.R.Heusdens and S.van de Par(2002)″Rate-distortionoptimal sinusoidal modeling of audio and Speech usingpsychoacoustical matching pursuits″,IEEE Int.Conf.Acoust.,Speech and Signal Process.,Orlando,USA,2002,pp.11-1809-1812.J.Princen and A.Bradley(1986)″Analysis/synthesisfilter bank design based on time domain aliasingcancellation″IEEE Trans.Acoust,Speech,Signal Processing,34 pp.1153-1161。
权利要求
1.一种用于对音频信号(ε0)进行编码的音频编码器,该音频编码器包括
用于产生第一编码信号部分(E1)的第一编码器(AE1),
用于产生第二编码信号部分(E2)的至少第二编码器(AE2),以及
控制单元,其包括
估算装置,用于相对于失真测量来对包括第一和第二编码信号部分(E1,E2)在内的音频信号(ε0)的共同表示进行估算,以及
优化装置,用于调整第一和第二编码器(AE1,AE2)至少一个的编码参数并且响应于此而监视音频信号(ε0)的共同表示的失真测量,以便根据预定标准优化编码参数。
2.如权利要求1中所请求的音频编码器,其中失真测量包括感知失真测量。
3.如权利要求1中所请求的音频编码器,其中优化装置用于调整编码参数,以便最小化失真测量。
4.如权利要求3中所请求的音频编码器,其中优化装置用于根据第一和第二编码器(AE1,AE2)的预定最大总比特率的约束条件,来最小化失真测量。
5.如权利要求4中所请求的音频编码器,其中优化装置用于通过在预定最大总比特内,分别为第一和第二编码器(AE1,AE2)分配第一和第二比特率(R1,R2)而最小化失真测量。
6.如权利要求1中所请求的音频编码器,其中第一编码器(AE1)用于把音频信号(ε0)编码成第一编码信号部分(E1),以及其中第二编码器(AE2)用于把第一残留信号(ε1)编码成第二编码信号部分(E2),所述第一残留信号(ε1)定义为音频信号(ε0)与第一编码信号部分(E1)之差。
7.如权利要求6中所请求的音频编码器,其中失真测量基于第二残留信号(ε2),所述第二残留信号(ε2)定义为第一残留信号(ε1)与第二编码信号部分(E2)之间的差。
8.一种音频编码器,更进一步包括用于把音频信号(ε0)拆分成第一和第二部分(ε01,ε02)的信号分路器(SPLIT),其中第一编码器(AE1)用于把第一音频信号部分(ε01)编码成第一编码信号部分(E1),以及其中第二编码器(AE2)用于把第二音频信号部分(ε02)编码成第二编码信号部分(E2)。
9.如权利要求1中所请求的音频编码器,其中优化装置用于根据预定最大失真测量的约束条件,来最小化第一和第二信号部分(E1,E2)的总比特率。
10.如权利要求1中所请求的音频编码器,其中第一编码器(AE1)包括从下述组中选择的编码器,所述组包括参数编码器、变换编码器、部分频段编码器、规则脉冲激励编码器以及密码本激励线性预测编码器。
11.如权利要求1中所请求的音频编码器,其中第二编码器(AE2)包括从下述组中选择的编码器,所述组包括参数编码器、变换编码器、部分频段编码器、规则脉冲激励编码器以及密码本激励线性预测编码器。
12.如权利要求1中所请求的音频编码器,其中音频编码器用于接收被分成不相重叠的片段的音频信号(ε0),以及其中优化装置用于跨越音频信号(ε0)的一个或多个连续片段而优化编码参数。
13.如权利要求1中所请求的音频编码器,其中音频编码器用于接收被分成相重叠的片段的音频信号(ε0),以及其中优化装置用于跨越音频信号(ε0)的一个或多个连续片段而优化编码参数。
14.如权利要求1中所请求的音频编码器,更进一步包括用于产生第三编码信号部分的第三编码器,其中控制单元用于处理包括第一、第二和第三编码信号部分在内的音频信号的共同表示。
15.一种用于对编码音频信号进行解码的音频解码器,该音频解码器包括
-用于从第一编码信号部分(E1)中产生第一解码信号部分(D1)的第一解码器(AD1),
-用于从第二编码信号部分(E2)中产生第二解码信号部分(D2)的第二解码器(AD2),以及
-求和装置,用于产生音频信号的表示,以作为第一和第二解码信号部分(D1,D2)的总和。
16.如权利要求15中所请求的音频解码器,其中第一解码器(AD1)包括从下述组中选择的解码器,所述组包括参数解码器、变换解码器、部分频段解码器、规则脉冲激励解码器以及密码本激励线性预测解码器。
17.如权利要求15中所请求的音频解码器,其中第二解码器(AD2)包括从下述组中选择的解码器,所述组包括参数解码器、变换解码器、部分频段解码器、规则脉冲激励解码器以及密码本激励线性预测解码器。
18.如权利要求15中所请求的音频解码器,、
更进一步包括用于从第三编码信号部分中产生第三解码信号部分的第三解码器,其中求和装置用于产生音频信号的表示,以作为第一、第二和第三解码信号部分的总和。
19.一种用于对音频信号进行编码的方法,该方法包括以下步骤
-利用第一编码器(AE1)产生第一编码信号部分(E1),
-利用第二编码器(AE2)产生至少一个第二编码信号部分(E2),
-相对于失真测量而对包括第一和第二编码信号部分(E1,E2)在内的音频信号(ε0)的共同表示进行评估,以及
-根据预定标准,响应于所述失真测量而优化第一和第二编码器(AE1,AE2)的编码参数。
20.一种对编码音频信号进行解码的方法,该方法包括以下步骤
-利用第一解码器(AD1)来从第一编码信号部分中产生第一解码信号部分(D1),
-利用第二解码器(AD2)来从第二编码信号部分中产生第二解码信号部分(D2),
-把第一和第二解码信号部分(D1,D2)相加。
21.一种编码音频信号,其包括由不同编码器(AE1,AE2)编码的第一和第二编码信号部分(E1,E2)。
22.一种存储介质,其包括用于表示如权利要求21中所请求的编码音频信号的数据。
23.一种包括如权利要求1中所请求的音频编码器的设备。
24.一种包括如权利要求15中所请求的音频解码器的设备。
25.一种计算机可读程序代码,用于对权利要求19的方法中所请求的音频信号进行编码。
26.一种计算机可读程序代码,用于对权利要求20的方法中所请求的编码音频信号进行解码。
全文摘要
一种音频编码器,其中两个或多个最好不同的编码器进行协作以产生共同编码音频信号。根据预定标准,响应于对共同编码音频信号的失真的测量而优化两个或多个编码器的编码参数。失真测量最好是感知失真测量。在包括正弦和波形编码器的编码器实施方式中,在两个编码器之间分配每个音频帧的恒定总比特率以便最小化第一和第二编码器的感知失真。其他实施方式考虑了比仅最小化第一编码器的感知失真的那些编码参数更大的一组编码参数。在一些实施方式中,通过借助于优化独立的编码器的全部编码模板(即编码参数的复杂的集合)来优化编码从而最小化感知失真。独立的编码器可以被级联或并联操作或者采用它们相结合的方式。在优化过程中最好考虑到两个或多个音频片段。相应的音频解码器包括与对音频信号进行编码的音频编码器的独立编码器相对应的独立解码器。然后把来自这些解码器的解码信号部分相加以产生最终音频信号。因为编码方案很灵活并且适合于每个音频剪辑的特定需要,所以所提出的音频编码很有效率并且提供了一种较高的音质。
文档编号G10L19/00GK101124626SQ200580031446
公开日2008年2月13日 申请日期2005年9月2日 优先权日2004年9月17日
发明者S·L·J·D·E·范德帕, N·H·范施恩德尔, V·S·科特, R·休斯登斯 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1