专利名称:音频编码的制作方法
技术领域:
本发明一般地涉及音频编码,具体地涉及允许以低延时编码音频信号的音频编码。
背景技术:
目前最知名的音频压缩方法是MPEG 1 Layer III。用这种压缩方法,音频信号的样本或音频值在有损方式下被编码成编码信号。换句话说,在压缩时原始音频信号的不相关度和冗余度将被削减或理想地去除。为达到此目标,用心理声学的模型识别出同时和瞬时的屏蔽,也就是计算或确定依赖于音频信号的时变屏蔽阈值,指示出高于该阈值音量时,一定频率的音调可被人的听觉感知。此信息又被用于对音频信号编码并将其整合到编码信号中,其中编码根据屏蔽阈值采取更精确的方式,或欠精确的方式,或根本不精确的方式,通过量化音频信号的频谱值实现。
音频压缩方法中,例如,mp3格式,当音频数据将通过比特率受限的传输信道传输,一方面使用压缩的方式而另一方面尽可能缩短延时的时候,将在它们的适用性方面受到限制。在一些应用中,延时不起作用,例如,对音频信息的存档。但是,低延时音频编码器,即有时被称作“超低延时编码器”,在传输时间关键音频信号时是必需的,例如,在远程会议、无线扩音器或麦克风中。在这些领域的应用中,Schuller G.等所著的文章“Perceptual Audio Coding using Adaptive Pre-and Post-Filters and Lossless Compression”,IEEE Transactions onSpeech and Audio Processing,vol.10,no.6,September 2002,pp.379-390,提出的音频编码不是基于单个变换而是基于两个单独的变换来完成不相关度削减和冗余度削减。
下面将参照图12和13介绍该原理。编码从音频信号902开始,它已被采样因此已呈现为音频或样本值906的序列904,其中音频值906的时序由箭头908指示。对音频值906的连续块(其特征在于“块#”的升序编号),用心理声学的模型计算出收听阈值。例如,图13展示了一图表,其中,相对于频率f,图a画出了128个音频值906的信号块的频谱,图b画出了由心理声学模型计算出的收听阈值,采用对数单位。正如前面已经提到的,屏蔽阈值指示出低于该值则频率不能被人耳听见的强度,也就是所有在屏蔽阈值b以下的音调。根据为每一块计算出的收听阈值,通过控制后面跟随有量化器的可参数化滤波器,实现不相关度削减。对于可参数化滤波器,计算出参数化,使得其频率响应对应于屏蔽阈值大小的倒数。此参数化在图12中由x#(i)所示。
对音频值906滤波后,采用恒定步长进行量化,例如,取下一整数的凑整操作。由此引起的量化噪声为白噪声。在解码器端,滤波信号被可参数化滤波器“再变换”,滤波器的传输函数设为屏蔽阈值本身的大小。不仅滤波信号由此被解码,而且解码器端的量化噪声也被调整成屏蔽阈值的形式或形状。为了使得量化噪声能尽可能精确地和屏蔽阈值对应,在编码器端为每个参数集或每个参数化计算出放大值a#,在量化之前将其应用到滤波信号。为了在解码器端执行再变换,除了实际的主体数据也就是量化滤波音频值912之外,放大值a和参数x作为侧面信息910传输到编码器。为了冗余度削减914,该数据,也就是侧面信息910和主体数据912,受到无损压缩,也就是熵编码,这就是编码信号的获得。
以上提及的文章建议128个样本值906的大小作为块的大小。在32KHz的采样速率下,这允许8ms的相对短延时。关于详细的实施方式,文章还指出,为了提高侧面信息编码的效率,侧面信息,也就是系数x#和a#,只有相比之前传输的参数集有足够大的变化,即,当变化超过了特定阈值时才传输。此外,文中还描述到优选地如下实现,使得当前参数集不直接应用于属于相应块的所有样本值,而是使用滤波器系数x#的线性插值来避免可听见的人工生成音。为执行滤波器系数的线性插值,提出了一种格状(lattice)结构来避免不稳定的发生。对于希望得到具有受控比特率的编码信号的情形,文章还提出用不等于1的因子选择性地增加或衰减已按时间相关的放大因子a缩放的滤波信号,从而使可听见的干扰发生,但是音频信号中编码复杂的地方的比特率降低了。
尽管上述文章中描述的音频编码方案已经将许多应用中的延时降低到了一个足够的程度,但上述方案中的一个问题是,尽管只有超过预定阈值时滤波器系数才被传输,但是由于不得不传输编码器端的滤波器——也就是后面提到的前置滤波器——的屏蔽阈值或传输函数的要求,传输信道负载的程度相对较高。
上述编码方案的另一个缺点是,由于必须通过待传输的参数集x#来使得屏蔽阈值或其倒数在解码器端可用的事实,不得不在最低可能的比特率或者高压缩率与尽可能最精确的近似或者屏蔽阈值或其倒数的参数化之间进行折衷。所以,以上音频编码方案中调整成屏蔽阈值的量化噪声不可避免的要在一些频率范围内超过屏蔽阈值因而产生听者可听见的音频干扰。例如,图13中用图c展示了解码器端可参数化滤波器的参数化频率响应。可以看到,存在一些区域,那里解码器端滤波器——也就是后面提到的后置滤波器——的传输函数超过了屏蔽阈值b。只有在参数化和其间的插值之间发生足够多的变化时,才间歇地传输该参数化,这样的事实使上面的问题变得更糟糕。如文中所提到的滤波器系数x#的插值,在放大值a#在节点和节点之间或者新参数化和新参数化之间保持不变时,单独导致可听见的干扰。即使将文中提出的插值也应用到侧面信息值a#,也就是传输的放大值,可听见的人工生成音将仍保留在抵达解码器端的音频信号中。
根据图12和13的音频编码方案的另一个问题是由于频率选择性滤波,使滤波信号形成不可预知的形态,其中,特别是由于许多单独的谐波的随机重叠,编码信号的一个或多个单独的音频值叠加成很高的值,由于他们的发生概率小,在后面的冗余度削减中又导致更糟糕的压缩率。
发明内容
本发明的目的是提供一种音频编码方案,这种方案允许进行产生更少的可听见人工合成音的编码。
该目的由根据权利要求13或15所述的方法以及根据权利要求1或14所述的设备来实现。
本发明的将音频值序列的音频信号编码为编码信号的方法包括为音频值序列的第一音频值块确定第一收听阈值以及为音频值序列的第二音频值块确定第二收听阈值;计算可参数化滤波器的第一参数化版本以使其传输函数实质上和第一收听阈值大小的倒数对应,以及计算可参数化滤波器的第二参数化版本以使其传输函数实质上和第二收听阈值大小的倒数对应;确定基于第一屏蔽阈值的第一噪声功率限和基于第二屏蔽阈值的第二噪声功率限;对音频值序列的预定音频块进行可参数化滤波和缩放,以获得与所述预定块相对应的缩放滤波音频值块,包括如下子步骤针对预定音频值块中的预定音频值,在第一参数化版本和第二参数化版本之间进行插值,以获得插值参数化版本;在第一噪声功率限和第二噪声功率限之间进行插值,以获得针对预定音频值的插值噪声功率限;基于插值噪声功率限,确定中间缩放值;以及将具有插值参数化版本的可参数化滤波器和所述中间缩放值应用于预定音频值,以获得缩放滤波音频值之一。最后,对缩放滤波音频值进行量化,以获得量化缩放滤波音频值块;以及将如下信息合并到编码信号中,所述信息可以用来推导出量化缩放滤波音频值块、第一参数化版本、第二参数化版本、第一噪声功率限和第二噪声功率限。
本发明的核心思想在于必须摒弃在先过程,即,对滤波器系数和放大值进行插值,以获得针对从节点开始的中间音频值的插值。通过针对每一节点,即,针对要传输的每个参数化,不对放大值进行插值,而是采用根据屏蔽阈值得到的功率限(优选地为屏蔽阈值大小的平方之下的区域),然后在相邻节点的这些功率限之间执行插值(例如线性插值),可以获得包含更少的可听见人工合成音的编码。在编码器端和解码器端,于是可以根据中间功率限来计算放大值,其中如此确定中间功率限,使得由量化引入的量化噪声(在解码器端后置滤波之前具有恒定频率)在后置滤波之后低于功率限或者与其相对应。
随后将参照附图详细描述本发明的优选实施例,附图中图1示出了根据本发明实施例的音频编码器的电路方框图;图2示出了用于说明图1中的音频编码器在数据输入处的运行模式的流程图;图3示出了用于说明图1中的音频编码器利用心理声学模型对进入音频信号进行评价的运行模式的流程图;图4示出了用于说明图1中的音频编码器将心理学模型所获得的参数应用到进入音频信号的运行模式的流程图;图5a示出了用于说明进入音频信号、组成其的音频值序列以及图4中关于音频值的操作步骤的示意图;图5b示出了用于说明编码信号的设置的示意图;图6示出了用于说明图1中的音频编码器关于一直到编码信号的最终处理的运行模式的流程图;图7a示出了展示量化阶梯函数实施例的图;图7b示出了展示量化阶梯函数另一实施例的图;图8示出了根据本发明实施例、能够对图1中的音频编码器所编码的音频信号进行解码的音频解码器的电路方框图;图9示出了用于说明图8中的音频解码器在数据输入处的运行模式的流程图;图10示出了用于说明图8中的音频解码器对解码前的量化和滤波音频数据进行缓冲以及对不含相应侧面信息的音频块进行处理的运行模式的流程图;图11示出了用于说明图8中的音频解码器关于实际的反滤波的运行模式的流程图;图12示出了用于说明图一种低延时的传统音频编码方案的示意图;以及图13示出了展示解码器中例如音频信号频谱、其收听阈值以及后置滤波器的传输函数的图。
具体实施例方式
图1示出了根据本发明实施例的音频编码器。由10一般性表示的音频编码器包括接收待编码音频信号的数据输入12和输出编码信号的数据输出,其中,待编码的音频信号由音频值或样本值的序列组成,随后将参照图5a进行更具体的阐述,数据输出的信息内容将参照图5b进行更具体的描述。
图1中音频编码器10被划分为不相关度削减部分16和冗余度削减部分18。不相关度削减部分16包括用于确定收听阈值的装置20、用于计算放大值的装置22、用于计算参数化的装置24、节点比较装置26、量化器28和可参数化前置滤波器30以及输入FIFO(先入先出)缓冲器32、缓冲器或存储器38和乘法器或相乘装置40。冗余度削减部分18包括压缩器34和比特率控制器36。
不相关度削减部分16和冗余度削减部分18在数据输入12和数据输出14之间以此顺序串行相连。具体地,数据输入12连接到用于确定收听阈值的装置20的数据输入和输入缓冲器32的数据输入。用于确定收听阈值的装置20的数据输出连接到用于计算参数化的装置24的输入,并连接到用于计算放大值的装置22的数据输入,以向其传递所确定的收听阈值。装置22和24根据收听阈值计算出参数化或放大值,并连接到节点比较装置26来向其传递这些结果。下面将论述到,节点比较装置26根据比较结果将装置22和24计算出的结果作为输入参数或参数化传递给可参数化前置滤波器30。可参数化前置滤波器30连接在输入缓冲器32的数据输出和缓冲器38的数据输入之间。乘法器40连接在缓冲器38的数据输出和量化器28之间。量化器28将被作用了乘法或进行了缩放的、却总是量化了的滤波音频值传递到冗余度削减部分18,更准确地讲,传递到压缩器34的数据输入。节点比较装置26将用来推导出传递到可参数化前置滤波器30的输入参数的信息传递到冗余度削减部分18,更准确地讲,传递到压缩器34的另一数据输入。比特率控制器通过控制连接与乘法器40的控制输入相连,来为从前置滤波器30接收的量化滤波音频值被乘法器40用以适当的乘数相乘做准备,这将在下面更详细的讨论。比特率控制器36连接在压缩器34的数据输出和音频编码器10的数据输出14之间,以便采用适当的方式为乘法器40确定乘数。当每个音频值第一次通过量化器40时,乘数首先被设为一个适当的缩放比例因子,例如,1。尽管这样,如下面描述,缓冲器38继续存储每个滤波音频值,来给比特率控制器36为音频值块的再次通过而改变其乘数的可能。如果这样的改变没有被比特率控制器36指示出来,缓冲器38可以释放由此块占据的存储空间。
在上面已经描述了图1中音频编码器的设置之后,下面将参照图2至7b描述其运行模式。
如图2所示,当音频信号已经到达音频输入12时,就已经被音频信号采样50从模拟音频信号中获取。以预定的采样频率执行音频信号采样,此频率通常在32至48kHz之间。因此,在数据输入12处有由样本或音频数值的序列组成的音频信号。尽管音频信号的编码不是以基于块的方式进行的,这将在下面的描述中变得很明显,但是数据输入12处的音频值首先在步骤52中被组合以形成音频块。用于形成音频块的组合的进行仅仅是为了确定收听阈值的目的,这将在下面的描述中变得很明显,并且在用于确定收听阈值的装置20的输入级中进行。在本实施例中,作为典型的假设,每128个连续音频值组合形成音频块,且组合的进行使得一方面连续的音频块不重叠,而另一方面又相互直接相邻。这将参照图5a,作为典型进行简略的讨论。
图5a在54显示为样本值的序列,每个样本值被图示为矩形56。为了图示的目的,对样本值编号,其中为了清晰的原因,序列54只有部分样本值被显示出来。如序列54上面的括号所显示,根据本实施例,每128个连续样本值组合形成一个块,其中直接相继的128个样本值形成下一个块。仅仅作为一个预防措施,需要指出,组合以形成块可以用不同方法执行,例如,通过重叠块或分隔的块和块大小不同的块,尽管128的块尺寸大小是优选的,因为它提供了一方面在高音频质量和另一方面尽可能小的延时之间的良好折衷。
尽管在步骤52中在装置20中组合的音频块在装置20中被处理来逐块确定收听阈值,进入的音频值将在输入缓冲器32中缓冲54,直到可参数化前置滤波器30从节点比较装置26获得了输入参数,以执行前置滤波,这将在后面描述。
如图3所示,用来确定收听阈值的装置20在数据输入12处接收到足够的音频值以形成一个音频块或下一个音频块之后(这由装置20通过步骤60中的检查来监视),立即开始它的处理。如果没有完整的可处理音频块,装置20将等待。如果存在待处理的完整音频块,用来确定收听阈值的装置20将基于适当的心理声学模型在步骤62中计算收听阈值。为了说明该收听阈值,以频谱为a的当前音频块为例,再次参考图12,具体地,参考基于心理声学模型已经获得的曲线图b。在步骤62中确定的屏蔽阈值是频率相关的函数,它可能在连续的音频块之间变化,并且可能在音频信号之间有相当大的变化,例如,在摇滚音乐与古典音乐片段之间。收听阈值指示每个频率的阈值,低于该阈值人的听力就不能感受到干扰。
在随后的步骤64中,装置24和装置22根据所计算出的收听阈值M(f)(f表示频率)来计算放大值a或有N个参数x(i)(i=1,...,N)的参数集。装置24在步骤64中计算出的参数化x(i)提供给可参数化前置滤波器30,此滤波器比如可表现为自适应滤波器结构的形式,如同在LPC编码(线性预言编码)中使用的一样。例如,假定s(n),n=0,....,127为当前音频块的128个音频值,而s′(n)为得到的滤波后的128个音频值,那么滤波器可典型表现为适用下面方程的形式s′(n)=s(n)-Σk=1Kakts(n-k),]]>K为滤波器阶数,akt,k=1,...,K为滤波器系数,索引t用来阐明滤波器系数在连续的音频块中变化。装置24然后计算参数化akt以使得可参数化前置滤波器30的传输函数H(f)粗略等于屏蔽阈值M(f)大小的倒数,也就是说如下方程适用H(f,t)≈1|M(f,t)|]]>
其中,t的相关性又用于阐明屏蔽阈值M(f)对不同的音频块而变化。当以上述的自适应滤波器来实现前置滤波器30时,滤波器系数akt将按如下方式获得对|M(f,t)|2在t时刻在块的频率上进行反离散傅立叶变换导致目标自相关函数rmmt(i)。然后通过求解线性方程系统获得aktΣk=0K-1rmmt(|k-i|)akt=rmmt(i+1),]]>0≤i<K为使得在下文详细描述的线性插值中参数化之间不出现不稳定,优选地,将格状结构应用于滤波器30,其中格状结构的滤波器系数被再参数化来形成反射系数。关于前置滤波器设计、系数计算和再参数化的进一步细节,请参考说明介绍中提到的Schuller等的文章,特别是381页,第III部分,其一并在此作为参考。
尽管最终装置24为可参数化前置滤波器30计算出参数化以使其传输函数等于屏蔽阈值的倒数,装置22基于收听阈值计算出噪声功率限,也就是功率限度,指示允许量化器28引入到经前置滤波器30滤波的音频信号中的噪声功率,以使解码器端的量化噪声在后置滤波或反滤波后低于收听阈值M(f)或正好等于它。装置22计算收听阈值M的大小平方以下的区域作为该噪声功率限,也就是∑|M(f,t)|2。装置22通过计算量化噪声功率除以噪声功率限的分数的平方根,根据噪声功率限来计算出放大值a。量化噪声是由量化器28引起的噪声。如下面所述,由量化器28引起的噪声是白噪声,因此是频率无关的。量化噪声功率指量化噪声的功率。
从以上描述中变得更加显然的是,装置22除了放大值a之外还计算噪声功率限。尽管节点比较装置26根据从装置22获得的放大值a再次计算噪声功率限是可能的,装置22除了放大值a以外,还将所确定的噪声功率限传送到节点比较装置26也是可能的。
在计算出放大值和参数化后,节点比较装置26在步骤66中检查刚计算出的参数化与传递到可参数化前置滤波器的当前最近参数化的不同是否大于预定阈值。如果步骤66中的检查获得的结果是刚计算出的参数化与当前值的不同大于预定阈值,刚计算出的滤波器系数和刚计算出的放大值或者噪声功率限在节点比较装置26中缓冲,以便进行将讨论的插值,并且节点比较装置26在步骤68中将刚计算出的滤波器系数并在步骤70中将刚计算出的放大值移交到前置滤波器30。但是,如果不是此种情况,刚计算出的参数化与当前值的不同没有大于预定阈值,节点比较装置26在步骤72中仅将当前节点参数化也就是最近在步骤66中产生肯定结果的参数化(也就是说,与前一节点参数化的不同大于预定阈值)移交到前置滤波器30,而不是刚计算出的参数化。在步骤70和72之后,图3的处理返回到下一音频块的处理,即,返回查询60。
在刚计算出的参数化与当前节点参数化没有不同以及因此前置滤波器30在步骤72中再次获得至少是针对最近的音频块曾经获得过的节点参数化的情况下,如下面更具体的描述,前置滤波器30将此节点参数化应用到FIFO 32中此音频块的所有样本值,这就是如何从FIFO 32中取出此当前块,并且量化器28是如何接收前置滤波音频值得到的音频块。
图4图示了可参数化前置滤波器30在接收到刚计算出的参数化和刚计算出的放大值的情况下的运行模式,更具体地,因为它们和当前节点参数化有足够大的不同。正如参考图3已描述的,仅对于相应的参数化和当前节点参数化有足够大的不同的音频块才进行根据图4的处理,而不是对每个连续的音频块进行处理。正如已描述的,其他的音频块通过将各自的当前节点参数化和相关的各自的当前放大值应用到这些音频块的所有样本值来进行前置滤波。
在步骤80中,可参数化前置滤波器30检查是否移交了来自节点比较装置26的刚计算出的滤波器系数,还是移交了旧的节点参数化。前置滤波器30执行检查80直到进行移交。
这样的移交一发生,可参数化前置滤波器30就开始处理缓冲器32中的音频值的当前音频块,也就是说刚为其计算出参数化的音频块。在图5a中举例图示了在号码为0的音频值之前的所有音频值56已经被处理并因此已经通过了存储器32。在号码为0的音频值之前的音频值的块的处理被触发,是由于针对块0前面的音频块所计算出的参数化也就是x0(i)与之前传递到前置滤波器30的节点参数化的不同大于预定阈值。因此参数化x0(i)成为本发明中所述的节点参数化。基于参数集a0和x0(i),对音频值0前面的音频块中的音频值执行处理。
图5a中假设针对具有音频值0-127的块0已经计算出的参数化和参数化x0(i)(称作前面块)的不同小于预定阈值。因此,此块0被前置滤波器30从FIFO 32中取出,采用步骤72中提供的参数化x0(i),对它所有的样本值0-127进行同等的处理,如被描述为“直接应用”的箭头81所示,接着传递到量化器28然而,为块1计算出的参数化仍然位于FIFO 32中,作为对比,根据图5a中的图示例,它和参数化x0(i)的不同大于预定阈值,因而在步骤68中将它作为参数化x1(i)传递给前置滤波器30。同时传递的还有放大值a1(步骤70),并且如果可行的话,还有相关的噪声功率限,其中图5中a和x的索引是针对节点的索引,并将用于下面将要讨论的插值,对块1中的样本值128-255执行插值,以箭头82表示,并通过图4中步骤80后的步骤来实现。因此步骤80处的处理将开始于号码为1的音频块的出现。
当传递参数集a1,x1的时候,只有音频值128-255,也就是最近被前置滤波器30处理的音频块0之后的当前音频块在存储器32内。在步骤80中确定了节点参数化x1(i)的移交之后,前置滤波器30在步骤84中确定与放大值a1相对应的噪声功率限q1。这可能直到节点比较装置26将该值传递给前置滤波器30或者前置滤波器30再次计算该值时才发生,正如前面参照步骤64已经作出的描述。
之后,在步骤86中将索引j初始化为一样本值来指向存于FIFO存储器32中最老的样本值,或指向当前音频块“块1”的第一样本值,即,在图5的示例中为样本值128。在步骤88中,可参数化前置滤波器执行滤波器系数x0和x1之间的插值,其中参数化x0担当一个节点,在该节点处有前一块0的音频值号码127,同时参数化x1担当一个节点,在该节点处有当前块1的音频值号码255。这些音频值位置127和255随后将被称为节点0和节点1,其中图5a中用箭头90和92来表示涉及图中节点的节点参数化。
在步骤88中,可参数化前置滤波器30在两个节点之间以线性插值的方式执行滤波器参数x0、x1的插值,以获得在样本位置j处的插值滤波器系数,也就是x(tj)(i),i=1...N。
之后,即在步骤90中,可参数化前置滤波器30在噪声功率限q0和q1之间执行插值,来获得样本位置j处的插值噪声功率限,也就是q(tj)。
在步骤92中,可参数化前置滤波器30随后基于插值噪声功率限和量化噪声功率,以及优选地,还基于插值滤波器系数,也就是例如根据 的方根,为样本位置j计算出放大值,其中请参考图3步骤64的解释。
在步骤94中,可参数化前置滤波器30然后将计算出的放大值和插值滤波器系数应用到样本位置j处的样本值,以获得该位置的滤波样本值,即s′(tj)。
在步骤96中,可参数化前置滤波器30然后检查样本位置j是否已到达当前节点,即节点1,在图5a的情况下是样本位置255,即传输到可参数化前置滤波器30的参数化和放大值必须直接针对其有效的样本值,即没有插值。如果不是此种情况,那么可参数化前置滤波器30将对索引j增加1,其中将重复步骤88-96。但是如果步骤96中的检查产生肯定结果,那么可参数化前置滤波器在步骤100中将最近从节点比较装置26传送来的放大值和最近从节点比较装置26直接传送来的、没有插值的滤波器系数应用到新节点处的样本值上,因此,当前块,也就是当前情况中的块1,已经被进行了处理,且相对于随后待处理的块在步骤80将又一次执行处理,随后待处理的块可能是下一个音频块块2或者更后的音频块,这取决于下一音频块块2的参数化是否和参数化x1(i)有足够的不同。
在参考图5描述处理滤波样本值s′时的进一步过程之前,下面将描述图3和图4中过程的目的和背景。滤波的目的是用自适应滤波器对输入12处的音频信号滤波,自适应滤波器的传输函数可连续尽可能最好地调节为收听阈值的倒数,其也随时间变化。其原因是在解码器端,作为其传输函数被连续相应地调节为收听阈值的反滤波利用自适应滤波器对由量化滤波音频信号引入的量化白噪声也就是频率-恒定量化噪声进行整形,也就是将其调节为收听阈值的形式。
步骤94和100中,前置滤波器30中的放大值的作用是用放大因子实现对音频信号或滤波音频信号即样本值s或滤波样本值s′的乘法。目的是借此将量化噪声在不超过收听阈值的情况下设置的尽可能高,其中,量化噪声是由量化引入到滤波音频信号中的,下面将作具体描述,且被解码器端的反滤波调节为收听阈值的形式。以上可以作为帕萨瓦尔定理的一个例子。根据帕萨瓦尔定理,函数大小的平方和其傅立叶变换的大小的平方相等。当在解码器端前置滤波器中用放大值所作的音频信号的乘法通过用放大值去除滤波音频信号而又被反转时,量化噪声功率也被削减,削减因子为a-2,a是放大值。所以,可以通过在前置滤波器30中应用放大值将量化噪声功率设置到一个最优的高功率,这和增大量化步长从而减少要编码的量化阶梯数目是同义的,这将增加在随后冗余度削减部分的压缩率。
换句话说,前置滤波器的作用可认为是信号关于其屏蔽阈值的归一化,这样量化干扰或量化噪声的水平将在时间和频率上保持不变。因为音频信号在时域上,于是经过均匀不变的量化来一步步执行量化,如下面的描述。如下所述,用这种方法,理想状况下任何可能的不相关都会被从音频信号中移除,并且可以使用无损压缩的方案来移除前置滤波及量化的音频信号中保留的冗余度。
参考图5a,要又一次明确指出,当然所使用的滤波器系数和放大值a0、a1、x0、x1必须在解码器端作为侧面信息而可用,但是它的传输复杂度可通过对每个块不简单使用新的滤波器系数和新的放大值而降低。更准确地,进行阈值检查66,使得只有当侧面信息具有足够大的参数化变化时才传输参数化,否则不传输侧面信息或参数化。在其参数化已经被传输的音频块中,从旧参数到新参数之间进行插值。滤波器系数的插值就是以上文参考步骤88所述的方式进行的。关于放大值的插值是经非直接的方式进行的,即通过对噪声功率限q0、q1的线性插值90进行的。和通过放大值的直接插值相比,线性插值获得更好的收听结果或相对于噪声功率限获得更少的可听见的人工合成音。
随后,将参照图6来描述前置滤波信号的进一步处理,它主要包括量化和冗余度削减。首先,可参数化前置滤波器30输出的滤波样本值储存在缓冲器38中,同时使其从缓冲器38传递到乘法器40,起先保持不变由乘法器40传递到达量化器28,即缩放因子为1,因为这是它们的第一次经过。那里,在步骤110中超过上限的滤波音频值被削去,然后在步骤112中量化。两个步骤110和112由量化器28执行。具体地,优选地由量化器28通过用量化阶梯函数来量化滤波音频值s′,在一个步骤中执行两步骤110和112,其中该量化阶梯函数将例如表现为浮点图解的滤波样本值s′映射到多个整数量化阶梯数值或索引上,并还对滤波样本值来说在一定阈值之上有平坦路径(flat course),使得大于阈值的滤波样本值量化到一个相同的量化阶梯。在图7a中图示了这种量化阶梯函数的例子。
在图7a中σ′指的是量化滤波样本值。优选地,量化阶梯函数是其步长在低于阈值时保持不变的量化阶梯函数,即沿着输入值s′在恒定的间隔之后将总是跳到下一量化阶梯。在该实施方式中,调节到阈值的步长,使得量化阶梯的数目优选地对应于2的幂。和进入的滤波样本值s′的浮点图解相比,该阈值更小,因此浮点图解的可图解区域的最大值超过了阈值。
使用此阈值的原因是已经观察到,前置滤波器30输出的滤波音频信号有时候包含由于谐波不利的累积而形成的叠加到很大的音频值。此外,也已经观察到削减这些数值,如通过图7a中所示的量化阶梯函数来实现,导致高额的数据缩减,却仅仅导致音频质量的较小损害。更准确地,滤波音频信号中这些偶然位置的形成是由于在可参数化滤波器30中频率选择性滤波而人为造成的,因此削减它们仅仅将音频质量削减了很小的程度。
图7a中所示的量化阶梯函数稍微更具体一些的例子是将所有的滤波样本值s′凑整到下一整数直到达到阈值,此后将所有的滤波样本值量化至最高的量化阶梯,例如256。图7a图示了这种情况。
另一个可能的量化阶梯函数的例子如图7b所示。直到阈值,图7b中的量化阶梯函数和图a中是对应的。然而,对于高于阈值的样本值s′,没有突然平坦的路径,而是量化阶梯函数继续具有比阈值以下区域小的陡峭度。换句话说,量化步长在阈值以上要更大一些。由此,实现和图7a的量化函数相类似的效果,但是,一方面由于量化阶梯函数在阈值以上和阈值以下步长的不同而带来更大的复杂度,另一方面,音频质量得到改进,因为非常大的滤波音频值s′没有被完全削减而只是用更大的量化步长量化。
如前面已经描述的,在解码器端,不仅量化和滤波音频值σ′必须是可用的,而且作为前置滤波器30对这些值进行滤波的基础的输入参数也必须是可用的,所述输入参数即包含对相关放大值的提示的节点参数化。在步骤114中,压缩器34于是执行第一压缩试验,然后将含有节点处(例如127和255)的放大值a0和a1以及节点处的滤波器系数x0和x1的侧面信息以及量化滤波样本值σ′压缩成临时滤波信号。因此压缩器34是无损操作编码器,例如Huffman或者算术编码器,具有或者不具有预测和/或自适应功能。
采样音频值σ′穿过的存储器38作为适当大小的块的缓冲器,结合它压缩器34处理量化器28输出的量化、滤波以及缩放的音频值σ′,如前所述。块大小可能随着在装置20中使用的音频块的块尺寸的不同而不同。
如前已经提到的,比特率控制器36已经通过为第一压缩试验而使用的乘数1,控制乘法器40,因此滤波音频值在从前置滤波器30到量化器28以及作为量化滤波音频值从量化器28到压缩器34之间保持不变。压缩器34在步骤116中监视是否是将特定的压缩块大小,即特定数目的量化采样音频值,编码到临时编码信号中,或者监视是否将有另外的量化滤波音频值σ′编码到当前临时编码信号中。如果没有达到压缩块的大小,压缩器34将继续执行当前压缩114。但是如果达到了压缩块的大小,那么比特率控制器36将在步骤118中检查压缩所需要的比特数量是否比想要的比特率规定的比特数量大。如果不是这种情况,比特率控制器36将在步骤120中检查需要的比特数量是否比想要的比特率规定的比特数量小。如果是这种情况,那么比特率控制器36将在步骤122中用装填比特填入编码信号直到达到想要的比特率规定的比特数量。随后,在步骤124中输出编码信号。作为步骤122的另一个选择,比特率控制器36可以将仍储存在存储器38中的、最近的压缩所基于的滤波音频值σ′的压缩块,以被乘法器40以大于1的乘数相乘的形式,传递给量化器28用来再次经过步骤110-118,直到达到想要的比特率规定的比特数量,如虚线所图示的步骤125所示。
但是,如果在步骤118中的检查得到需要的比特数量比想要的比特率规定的要大,比特率控制器36将改变乘法器40的乘数为0到1之间不包括1的因子。这在步骤126中执行。步骤126之后,比特率控制器36规定存储器38再次输出压缩所基于的滤波音频值σ′的最近压缩块,其中他们随后被乘以在步骤126中设置的因子并再提供给量化器28,于是再执行步骤110-118且到此处理完毕临时编码信号。
要指出的是,当再次执行步骤110-116时,在步骤114中,当然将步骤126(或步骤125)所使用的因子也合并到编码信号中。
步骤126之后过程的目的是通过使用因子增加量化器28的有效步长。这意味着得到的量化噪声在屏蔽阈值以上是均匀的,这将导致可听见的干扰和可听见的噪声,但是也导致了减少的比特率。当再次经过步骤110-116之后,如果在步骤118中再次确定所需要的比特数量比想要的比特率规定的比特数量大,那么步骤126中的因子将再次减小,等等。
如果在步骤124最终输出数据作为编码信号,将从随后的量化滤波音频值σ′执行下一个压缩块。
还要指出的是,可以将不同于1的预初始化值作为乘法因子,也就是说,例如1。然后,无论如何首先,也就是在图6的最顶端,要进行缩放。
图5b再次图示了由130一般性表示的所得到的编码信号。编码信号包括侧面信息和它们之间的主体数据。正如已经提及的,侧面信息包括对于特定音频块,即在音频块序列中具有滤波器系数的巨大变化的音频块来说,可用来推导放大值的值和滤波器系数的值的信息。如有必要,侧面信息将包括关于比特控制器所用的放大值的更多信息。由于放大值和噪声功率限q的相互依赖,除了放大值a#和节点#,侧面信息可选地还可以包括噪声功率限q#,或者仅包含后者。优选地,侧面信息安排在编码信号中,使得关于滤波器系数和相关放大值或相关噪声功率限的侧面信息安排在据以推导出这些滤波器系数以及相关放大值或相关噪声功率限的量化滤波音频信号σ′的音频块的主体数据之前,即侧面信息a0、x0(i)在块-1之后,侧面信息a1、x1(i)在块1之后。换句话说,主体数据,即量化滤波音频值σ′,开始于且不包括一类音频块,该类音频块序列的巨大变化已经导致了滤波器系数,结束于且包括在此类音频块的下一块,例如图5中音频值σ′(t0)-σ′(t255)将始终被安排在针对这两个音频块中第一块(块-1)的侧面信息块132和针对这两个音频块中第二块(块1)的另一侧面信息块134之间。如前参照图5a所述,音频值σ′(t0)-σ′(t127)是仅仅利用侧面信息132就可解码的或者获得的,然而音频值σ′(t128)-σ′(t255)是通过利用作为在样本值号码为127的节点处的支持值的侧面信息132和作为在样本值号码为255的节点处的支持值的侧面信息134进行插值而获得的,因此它们只有使用两个侧面信息才能解码。
此外,每个侧面信息块132和134中关于放大值或者噪声功率限和滤波器系数的侧面信息并不总是彼此独立合并的。更确切地,该侧面信息是以与前一侧面信息块的差异的形式传输的。例如在图5b中,侧面信息块132包含了关于时间t-1处节点的放大值a0和滤波器系数x0。在侧面信息块132中,这些数值可以从块本身推导出来。但是,从侧面信息块134看,关于时间t255处节点的侧面信息不再可以仅从该块单独推导出。更确切地,侧面信息块134只包含关于时间t255处节点的放大值a1和时间t0处节点的放大值之间的差异以及滤波器系数x1和滤波器系数x0的差异的信息。侧面信息块134因此只含有关于a1-a0和x1(i)-x0(i)的信息。尽管如此,在间歇的时刻,例如每一秒,滤波器系数和放大值或噪声功率限必须完全传送,而不是作为与前一节点的差异,以允许接收机或解码器锁定到连续的编码数据流,这将在后面讨论。
这种将侧面信息合并到侧面信息块132和134的方法提供了更高压缩率可能的优势。它的原因是,如果可能,尽管只有在滤波器系数和前一节点的滤波器系数之间存在足够的差异时才传送侧面信息,在编码器端计算差异或在解码器端计算和的复杂性被抵消,因为尽管在步骤66查询,得到的差异较小,因此允许熵编码的优点。
在之前已经描述了音频编码器的实施例之后,接下来将描述适合于对由图1中音频编码器10产生的编码信号进行解码以得到解码的可播放或可处理的音频信号的音频解码器的实施例。
解码器的结构如图8所示。由210一般性表示的解码器包括解压缩器212、FIFO存储器214、乘法器216和可参数化后置滤波器218。解压缩器212、FIFO存储器214、乘法器216和可参数化后置滤波器218按这样的顺序连接在解码器210的数据输入220和数据输出222之间,其中在数据输入220处接收编码信号,并且数据输出222输出与音频编码器10的数据输入12处的原始音频信号仅相差由音频编码器10中的量化器28产生的量化噪声的解码音频信号。解压缩器212在另一个数据输出和乘法器216的控制输入相连,来向其传递乘数,并通过另一个数据输出和可参数化后置滤波器218的参数化输入相连。
如图9所示,解压缩器212首先在步骤224中对数据输入220处的压缩信号进行解压缩,获得量化滤波音频数据即样本值σ′和侧面信息块132,134中的相关侧面信息,如我们所知,此侧面信息指示了节点处的滤波器系数和放大值,或者不是放大值而是噪声功率限。
如图10所示,解压缩器212在步骤226中按出现的顺序,检查解压缩信号中是否以自含(self-contained)的形式而不是以前一侧面信息块为参考的差异的形式包含带有滤波器系数的侧面信息。换句话说,解压缩器212寻找第一侧面信息块132。解压缩器212一旦发现,就在步骤228中将量化滤波音频值σ′缓冲在FIFO存储器214中。如果在步骤228期间已经存储了量化滤波音频值σ′的完整音频块,而没有紧随其后的侧面信息块,那么首先在步骤228中将利用步骤226中接收到的侧面信息中所包含的关于后置滤波器中参数化和放大值的信息,对其进行后置滤波,然后在乘法器216中放大,这就是信号的解码过程,因此得到了相关的解码音频块。
在步骤230中,解压缩器212监视解压缩信号中任何类型的侧面信息块的出现,即含有绝对的滤波器系数或者相对于前一侧面信息块的滤波器系数差。在图5b的例中,例如,解压缩器212在步骤226中识别出侧面信息块132时,将在步骤230识别出侧面信息块134的出现。因此,利用侧面信息132,在步骤228中对量化滤波音频值σ′(t0)-σ′(t127)的块进行解码。只要解压缩信号中侧面信息块134没有出现,则在步骤228中继续缓冲块,也许还利用步骤226中的侧面信息对块进行解码,如前所述。
侧面信息块132一出现,解压缩器212将在步骤232中通过把侧面信息块134中的差值和侧面信息块132中的参数值叠加,计算出节点1处的参数值,即a1,x1(i)。如果当前侧面信息块是自含侧面信息块而没有差异(如前所述,此种情况典型说来每秒都将发生),那么当然将省略步骤232。为了使解码器210的等待时间不是太长,可以从其中完全得出参数值的也就是和其他侧面信息块没有关联的侧面信息块132将按足够小的距离来安排,使得例如在无线电传输或广播传输的情况,打开音频编码器210时的接通或关闭时间不太大。优选地,侧面信息块132之间排列的带有差值的侧面信息块132的数目是固定的预定数目,因此解码器知道编码信号中类型132的侧面信息块有望再次出现的时间。作为另一选择,用相应的标志来表示不同的侧面信息块类型。
如图11所示,当新节点的侧面信息块到达后,具体地是在步骤226或者232之后,样本值索引j将在步骤234中首先被初始化为0。该值对应于当前存于FIFO 214中与当前侧面信息相关的音频块中第一个样本值的样本位置。步骤234由可参数化后置滤波器218执行。后置滤波器218然后在步骤236中计算新节点处的噪声功率限,其中,此步骤和图4中的步骤84对应,并且例如在除了传送放大值之外还传送节点处的噪声功率限时被省略。在随后的步骤238和240中,后置滤波器218对滤波器系数和噪声功率限进行插值,对应于图4中的插值88和90。随后基于步骤238和240中的插值噪声功率限和插值滤波器系数,在步骤242中计算样本位置j处的放大值,对应于图4中的步骤92。在步骤244中,后置滤波器218将步骤242计算出的放大值和插值滤波器系数应用到样本位置j处的样本值。该步骤和图4中的步骤94不同,因为插值滤波器系数被应用到量化滤波样本值σ′,使得可参数化后置滤波器的传输函数不和收听阈值的倒数对应,而是和收听阈值本身对应。此外,后置滤波器对于位置j处的量化滤波样本值σ′或已经反滤波的量化滤波样本值,不执行乘以放大值的乘法,而是执行除以放大值的除法。
如果后置滤波器218还没有到达样本位置为j的当前节点,在步骤246中对此进行检查,那么它将在步骤248中增加样本位置索引j并再次开始步骤238-246。只有当节点已到达,它才将新节点的放大值和滤波器系数应用到该节点处的样本值,也就是步骤250。就像步骤218中一样,这种应用包括利用放大值的除法以及利用等于收听阈值而非其倒数的传输函数的滤波,而不是乘法。步骤250之后,用两节点参数化之间的插值对当前音频块进行解码。
已经提到,通过步骤218和224中的滤波和放大值的应用,在步骤110或112中编码时由量化引入的噪声在形状和大小上都被调节成收听阈值。
还要指出,在编码成为编码信号之前由于比特率控制器使得量化滤波音频值在步骤126中受到另一次乘法的情况下,这一因素也需要在步骤218和224中考虑。作为另一选择,通过图11中的处理获得的音频值当然也可能受到另一次乘法来相应地再次放大被较低比特率减弱的音频值。
关于图3、4、6和9-11,要指出,它们示出了说明图1中编码器或者图8中解码器运行模式的流程图,并且在流程图中用方框图示的每一个步骤,如文中已述,是以相应的方式实现的。各个步骤的实施方式可以以硬件实现,如ASIC电路部分,或以软件实现,如计算机子程序。具体地,这些图中方框里写入的说明粗略地指示出,和相应方框对应的相应步骤指向哪个处理,而方框间的箭头图示了在操作编码器和解码器时步骤的顺序。
参照之前的描述,再要指出以上阐述的编码方案可以在很多方面变化。例如,对于为特定音频块确定的参数化和放大值或噪声功率限,不必认为对特定音频值直接有效从而针对该音频值的插值可以省略,如在前面的实施例中,每个音频块最后的音频值,即这个音频块中的第128个值。相反,可以将这些节点参数值联系到时间上处在该音频块的音频值的采样时间点tn(n=1,...,127)之间的节点,这样必须对每个音频值进行插值。具体地,为音频块确定的参数化或者为该音频块确定的放大值也可以间接应用到另外的值,例如,在音频块中间的音频值,比如在上面块大小为128个音频值的情况下的第64个音频值。
此外,需要指出,上面的实施例涉及为产生可控比特率编码信号而设计的音频编码方案。但是,控制比特率不是在每种应用情况下都是必要的。这就是为什么相应的步骤116到122以及126或125也可以省略的原因。
关于结合步骤114提到的压缩方案,为了完备的原因,参考了Schuller等的文献,在本说明书的介绍中描述了该文献,特别是第IV部分,其关于用无损编码进行冗余度削减的内容在此一并作为参考。
此外,联系先前的实施例指出如下内容。尽管之前已经描述,量化时阈值总是保持不变或者甚至量化阶梯函数始终保持不变,也就是说滤波音频信号中产生的人工生成音始终被较粗糙的量化方式量化或削减,这种方式可能在可听见的范围内损害音频质量,但是如果音频信号的复杂度需要如此,即如果编码所要求的比特率超过想要的比特率,只采用这些措施是可能的。在此情况下,除了图7a和7b中所示的量化阶梯函数之外,例如也可以使用在前置滤波器输出可能值的整个范围内量化步长为常数的函数,以及例如量化器可以响应于信号,使用量化步长始终不变的量化阶梯函数或者根据图7a或7b的量化阶梯函数之一,这样信号可以告诉量化器执行阈值以上减少量化阶梯或者削减大于阈值的数值,而几乎没有音频质量的损坏。作为另一选择,阈值可以逐渐减小。在此情况下,可以执行阈值缩减来代替步骤126中的因子缩减。在第一压缩试验之后而没有执行步骤110,如果比特率仍然非常高(118),临时压缩信号只能在修改了的步骤126中接受选择性阈值量化。在另一次的通过中,就用高于音频阈值有更平缓的路径的量化阶梯函数来对滤波音频值进行量化。在修改的步骤126中,通过降低阈值从而对量化阶梯函数做另一修改可实现比特率的降低。
另外,需要指出,将参数a和x合并到前述侧面信息块中也可以如此进行,使得不计算差值,而是可以单独从每个侧面信息块推导出相应参数。另外,不必如结合步骤110所述那样执行量化,量化步长从特定上限开始变为大于上阈值之下的步长。更确切地,也可以使用不同于图7a和7b所示的其他量化规则。
总之,上述实施例针对具有很低延时的音频编码方案使用系数的交叉衰落。在编码时,以特定间隔传输侧面信息。在传输时刻之间对系数进行插值。指示可能的噪声功率或屏蔽阈值之下区域、或者可以用来推导出值的系数用于插值,并且优选地,也被传输,因为其在插值时具有有利的特性。因此,一方面,例如通过仅以特定间隔来传输信息,以低比特率传输来自前置滤波器的侧面信息,其中前置滤波器的系数必须被传输,从而解码器中的后置滤波器具有相反的传输函数,因而可以在解码器中正确重构音频信号,并且在另一方面,可以将音频质量维持在相对好的程度,因为对作为屏蔽阈值之下区域的可能噪声功率的插值是对节点之间时刻的良好近似。
特别的指出,取决于环境,本发明的音频编码方案也可以以软件实现。实现方式可以是在数字存储介质上,具体地,在含有可被电方式读出的控制信号的盘或者CD上,控制信号可以与可编程计算机系统协作,使得相应的方法得以执行。一般来说,该发明也含在将程序代码存储于机器可读载体上的计算机程序产品中,当计算机程序产品在计算机上运行时,执行本发明的方法。换句话说,本发明也可以以计算机程序的形式来实现,所述计算机程序中含有程序代码,用于当计算机程序在计算机上运行时执行该方法。
具体地,上述流程图方框中的方法步骤可以单独或者以几个一组的形式一起以子程序的方式实现。作为另一选择,本发明的设备当然也可以以集成电路的方式实现,其中这些方框比如就是以ASIC中独立的电路部分来实现的。
特别的指出,取决于环境,本发明的方案也可以以软件实现。实现方式可以是在数字存储介质上,具体地,是在含有可被电方式读出的控制信号的盘或者CD上,控制信号与可编程计算机系统协作,使得相应的方法得以执行。一般来说,本发明也含在将程序代码存储于机器可读载体上的计算机程序产品中,当计算机程序产品在计算机上运行时,执行本发明的方法。换句话说,本发明也可以以计算机程序的形式来实现,所述计算机程序中含有程序代码,用于当计算机程序在计算机上运行时执行该方法。
权利要求
1.一种用于将音频值(56)序列(54)的音频信号编码为编码信号(130)的设备,包括用于为音频值(56)序列(54)的第一音频值块确定第一收听阈值以及为音频值(56)序列(54)的第二音频值块确定第二收听阈值的装置(20);用于计算可参数化滤波器(30)的第一参数化版本以使其传输函数实质上和第一收听阈值大小的倒数对应以及计算可参数化滤波器的第二参数化版本以使其传输函数实质上和第二收听阈值大小的倒数对应的装置(24);用于确定基于第一屏蔽阈值的第一噪声功率限和基于第二屏蔽阈值的第二噪声功率限的装置(22);用于对音频值(56)序列(54)的预定音频块进行可参数化滤波和缩放以获得与所述预定块相对应的缩放滤波音频值块的装置(30),包括用于针对预定音频值块中的预定音频值,在第一参数化版本和第二参数化版本之间进行插值以获得插值参数化版本的装置(88);用于在第一噪声功率限和第二噪声功率限之间进行插值以获得针对预定音频值的插值噪声功率限的装置(90),用于基于插值噪声功率限,确定中间缩放值的装置(92),以及用于将具有插值参数化版本的可参数化滤波器和所述中间缩放值应用于预定音频值以获得缩放滤波音频值之一的装置(94);用于根据量化规则对缩放滤波音频值进行量化以获得量化缩放滤波音频值块的装置(28);以及用于将如下信息合并到编码信号中的装置(18),所述信息可以用来推导出量化缩放滤波音频值块、第一参数化版本、第二参数化版本、第一噪声功率限和第二噪声功率限。
2.根据权利要求1所述的设备,其中形成用于确定第一和第二噪声功率限的装置(84),来确定第一噪声功率限为第一收听阈值大小的平方之下的区域,并确定第二噪声功率限为第二收听阈值大小的平方之下的区域。
3.根据权利要求1或2所述的设备,其中形成用于确定中间缩放值的装置(92),来另外根据由特定量化规则引起的量化噪声功率,执行确定。
4.根据权利要求1至3之一所述的设备,还包括用于根据量化噪声功率和第二噪声功率限确定第二缩放值的装置(84),其中,用于滤波和缩放的装置还包括用于将具有第二参数化版本的可参数化滤波器和第二缩放值应用于与预定块相关联的音频值以获得缩放滤波音频值之一的装置(94)。
5.根据权利要求4所述的设备,其中用于确定第一和第二缩放值的装置(84)包括用于计算量化噪声除以第一噪声功率限的商的平方根以及量化噪声除以第二噪声功率限的商的平方根的装置。
6.根据前述权利要求之一所述的设备,其中用于确定中间缩放值的装置(92)包括用于计算量化噪声功率除以插值噪声功率限的商的平方根的装置。
7.根据前述权利要求之一所述的设备,其中形成用于在第一参数化版本和第二参数化版本之间进行插值的装置(88),来执行线性插值。
8.根据前述权利要求之一所述的设备,其中形成用于在第一噪声功率限和第二噪声功率限之间进行插值的装置(90),来执行线性插值。
9.根据前述权利要求之一所述的设备,其中形成用于量化的装置(28),来根据量化阶梯函数执行量化,所述量化阶梯函数包括在阈值之下实质上恒定的量化步长。
10.根据前述权利要求之一所述的设备,其中用于合并的装置(18)包括熵编码器。
11.根据前述权利要求之一所述的设备,其中形成用于合并的装置(18),使得所述信息代表第一或第二噪声功率限或者第一或第二缩放值。
12.根据前述权利要求之一所述的设备,还包括用于利用所述用于计算的装置,逐一检查第一参数化之后的参数化与第一参数化的差是否大于预定程度,并且用于从参数化中仅选择首次与第一参数化的差大于预定程度的参数化作为第二参数化的装置(66)。
13.一种用于将音频值(56)序列(54)的音频信号编码为编码信号(130)的方法,包括步骤为音频值(56)序列(54)的第一音频值块确定第一收听阈值,以及为音频值(56)序列(54)的第二音频值块确定第二收听阈值;计算可参数化滤波器(30)的第一参数化版本以使其传输函数实质上和第一收听阈值大小的倒数对应,以及计算可参数化滤波器的第二参数化版本以使其传输函数实质上和第二收听阈值大小的倒数对应;确定基于第一屏蔽阈值的第一噪声功率限和基于第二屏蔽阈值的第二噪声功率限;对音频值(56)序列(54)的预定音频块进行可参数化滤波和缩放,以获得与所述预定块相对应的缩放滤波音频值块,包括如下子步骤针对预定音频值块中的预定音频值,在第一参数化版本和第二参数化版本之间进行插值,以获得插值参数化版本;在第一噪声功率限和第二噪声功率限之间进行插值,以获得针对预定音频值的插值噪声功率限;基于插值噪声功率限,确定中间缩放值;以及将具有插值参数化版本的可参数化滤波器和所述中间缩放值应用于预定音频值,以获得缩放滤波音频值之一;对缩放滤波音频值进行量化,以获得量化缩放滤波音频值块;以及将如下信息合并到编码信号中,所述信息可以用来推导出量化缩放滤波音频值块、第一参数化版本、第二参数化版本、第一噪声功率限和第二噪声功率限。
14.一种用于将编码信号(130)解码为解码音频信号的设备,其中编码信号(130)包含可以用来推导出预定量化缩放滤波音频值块、第一参数化版本、第二参数化版本、第一噪声功率限和第二噪声功率限的信息,所述设备包括用于从编码信号(130)推导出预定量化缩放滤波音频值块、第一参数化版本、第二参数化版本、第一噪声功率限和第二噪声功率限的装置(212);用于对预定量化缩放滤波音频值块进行可参数化滤波和缩放以获得相应解码音频值块的装置(30),包括用于针对所述量化缩放滤波音频值块中的预定音频值,在第一参数化版本和第二参数化版本之间进行插值以获得插值参数化版本的装置(88);用于在第一噪声功率限和第二噪声功率限之间进行插值以获得针对预定音频值的插值噪声功率限的装置(90);用于基于插值噪声功率限,确定中间缩放值的装置(92);以及用于将具有插值参数化版本的可参数化滤波器和所述中间缩放值应用于预定音频值以获得解码音频值之一的装置(94)。
15.一种用于将编码信号(130)解码为解码音频信号的方法,其中编码信号(130)包含可以用来推导出预定量化缩放滤波音频值块、第一参数化版本、第二参数化版本、第一噪声功率限和第二噪声功率限的信息,所述方法包括步骤从编码信号(130)推导出预定量化缩放滤波音频值块、第一参数化版本、第二参数化版本、第一噪声功率限和第二噪声功率限;对预定量化缩放滤波音频值块进行可参数化滤波和缩放,以获得相应解码音频值块,包括如下子步骤针对所述量化缩放滤波音频值块中的预定音频值,在第一参数化版本和第二参数化版本之间进行插值,以获得插值参数化版本;在第一噪声功率限和第二噪声功率限之间进行插值,以获得针对预定音频值的插值噪声功率限;基于插值噪声功率限,确定中间缩放值;以及将具有插值参数化版本的可参数化滤波器和所述中间缩放值应用于预定音频值,以获得解码音频值之一。
16.一种计算机程序,具有程序代码,用于当所述计算机程序在计算机上运行时执行根据权利要求13或15所述的方法。
全文摘要
本发明的核心思想在于必须摒弃在先过程,即,对滤波器系数和放大值进行插值,以获得针对从节点开始的中间音频值的插值。通过针对每一节点,即,针对要传输的每个参数化,不对放大值进行插值,而是采用根据屏蔽阈值得到的功率限(优选地为屏蔽阈值大小的平方之下的区域),然后在相邻节点的这些功率限之间执行插值(例如线性插值),可以获得包含更少的可听见人工合成音的编码。在编码器端和解码器端,于是可以根据中间功率限来计算放大值,其中如此确定中间功率限,使得由量化引入的量化噪声(在解码器端后置滤波之前具有恒定频率)在后置滤波之后低于功率限或者与其相对应。
文档编号G10L19/032GK1918632SQ200580004754
公开日2007年2月21日 申请日期2005年2月10日 优先权日2004年2月13日
发明者格拉尔德·舒勒, 斯特凡·瓦布尼克, 马克·盖耶 申请人:弗劳恩霍夫应用研究促进协会