CN117940994A - 基于长期预测和/或谐波后置滤波生成预测频谱的处理器 - Google Patents

基于长期预测和/或谐波后置滤波生成预测频谱的处理器 Download PDF

Info

Publication number
CN117940994A
CN117940994A CN202280062479.4A CN202280062479A CN117940994A CN 117940994 A CN117940994 A CN 117940994A CN 202280062479 A CN202280062479 A CN 202280062479A CN 117940994 A CN117940994 A CN 117940994A
Authority
CN
China
Prior art keywords
pitch
sub
audio signal
encoded
spectrum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280062479.4A
Other languages
English (en)
Inventor
戈兰·马尔科维奇
伯恩德·埃德勒
斯特凡·拜耳
简·弗雷德里克·基内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Publication of CN117940994A publication Critical patent/CN117940994A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/09Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种用于处理(编码的)音频信号的处理器,处理器包括:LTP缓冲器,被配置为接收从编码的音频信号的帧得出的样本;间隔分割器,被配置为根据编码的基音参数将与编码的音频信号的后续帧相关联的时间间隔划分成子间隔;计算装置,被配置为根据子间隔在与编码的音频信号的后续帧相关联的时间间隔内的位置,从编码的基音参数得出子间隔参数;预测器,被配置为根据子间隔参数从LTP缓冲器生成预测信号;以及频域变换器,被配置为基于预测信号生成预测频谱(XP);和/或处理器包括:分割器,被配置为将与音频信号的帧相关联的时间间隔分割成多个子间隔,每个子间隔具有各自的长度,多个子间隔的各自的长度取决于基音滞后值;谐波后置滤波器,被配置为对多个子间隔进行滤波,其中谐波后置滤波器基于包括分子和分母的传递函数,其中分子包括谐度值,分母包括基音滞后值和谐度值和/或增益值。

Description

基于长期预测和/或谐波后置滤波生成预测频谱的处理器
说明书
本实施例涉及用于处理音频信号的处理器,该处理器包括LTP缓冲器和/或谐波后置滤波器。进一步实施例涉及用于处理音频信号的相应方法。上述实施例也可是计算机实现的。因此,另一个实施例涉及在计算机上运行时,用于执行使用LTP缓冲和/或使用谐波后置滤波处理音频信号的方法的方法,或包括其中一个处理过程的解码和/或编码方法。另一个实施例涉及编码器。另一个实施例涉及解码器。一般来说,本实施例旨在提高在MDCT域中编码的谐波信号的质量。
MDCT域编解码器非常适合音乐信号的编码,因为MDCT提供了对乐器和歌声通常产生的谐波成分的去相关和压缩。但是,如果使用短MDCT窗口,或者谐波成分是频率或振幅调制的,则该MDCT特性就会变差。由于语音信号中的元音表现出明显的频率和振幅调制,因此对MDCT编解码器来说特别具有挑战性。
现有技术已经公开了一些用于长期预测的方法。
长期预测(LTP)方法使用编码器和解码器侧都可用的过去帧的解码样本来预测当前帧中的样本。因此,它们能提高编码增益。
在[1]中,基音(pitch)被确定,并在LTP中使用基音和过去帧的低通滤波的解码样本构建预测信号。可以在子帧中搜索基音。LTP信号经由MDCT变换,并从输入信号的MDCT中被减去。使用传输的掩蔽曲线对残余(residual)进行编码和整形。从输入MDCT中只减去预测增益是高的低频系数。LTP信号被加回解码后的MDCT中。其他利用时域信号在频域中工作的类似方法包括[2-6]。文献[22]提出了针对复调信号的扩展方法。
文献[7]提出了完全在时域中操作的LTP方法,其中将MDCT应用于LTP残余。
还有一些LTP方法在MDCT域中操作,无需在编码器中使用逆MDCT,例如[8][9][20][21]。
与MDCT域编解码器结合使用的谐波后置滤波器(HPF)方法实施时域滤波,这减少了谐波之间的量化噪声和/或增大了谐波的振幅。有时,后置滤波器伴随着预滤波方法,这减小了谐波的振幅,从而使MDCT域编解码器在对预滤波的信号进行编码时需要更少的比特。
在[10]中,自适应FIR滤波器被用于语音增强。参数li由基音周期(来自加速度计进行的喉头运动测量)定义。参数ai是固定的,并由窗口函数(如Blackman矩形函数)定义。
在文献[11]中,名为“时域谐波缩放(TDHS)”的带宽扩展和压缩/还原方法被用来实现时变自适应梳状滤波器,这实际上可以看作是文献[10]中自适应FIR滤波器的另一种实现方法,其特定窗口的自适应长度取决于基音。
在[12]中,前置/后置滤波器方法将帧划分为不重叠的子帧,其中子帧边界被确定为使净信号功率最小。为每个子帧获取基音信息。使用后置滤波器其中d是子帧中估计的基音,以及bp是通过闭环搜索获得的预测系数。
在[13]中,谐波后置滤波器(HPF)被用于解码的信号,解码的信号被划分为固定长度的子帧。基音分析返回每个子帧的相关性γ和基音P0。根据相关性γ得出增益g。对每个子帧运行HPFy[n]=x[n]+g-1y[n-P-1]+g0y[n-P0],其中g0从0变为g,g-1从先前子帧中的增益变为0,其中P-1等于先前子帧中的基音。
在[14]、[15]中,谐波滤波器具有传递函数:
具有从基音滞后和增益值得出的系数,它们是信号自适应的。使用以下计算增益值g
其中x为输入信号,以及y为预测的信号。然后,增益值g被限制在0和1之间。后置滤波器参数在整个帧内保持不变,其中帧由编解码器定义。使用交叉渐变器或类似方法去除帧边界处的不连续性。
下面将对现有技术进行分析,说明这些缺点,其中对缺点的识别是本发明的一部分,因为本发明的改进至少部分源于对现有技术缺点的创造性分析。
在对谐波信号进行编码时,使用长的MDCT块可以提高质量,即使是在基音变化的情况下也是如此,然而,在基音变化的信号(如语音)中使用的LTP需要以变化的速度进行调整,以获得足够高的编码增益。在纯频率方法[8][9]中,LTP更新率与MDCT帧的解耦并不容易实现,且目前还没有解决方案。
由于信号的时变特性,需要使用最新的可用样本作为LTP的输入,而这在使用仅时域方法[7]结合频率变换的重叠窗口的情况下是不可能实现的。
将时域信号划分为重叠的子帧,或在子帧边界处进行平滑处理,以及根据基音的自适应滤波器长度,这些都是已知的时域滤波技术,但并没有应用于在频域中添加/减去预测的LTP方法中。
在[1]、[9]中,对每子帧来找到基音,并且如果子帧数量较多,可能需要大量比特来编码基音信息。
没有一种已知的LTP技术不使用逆MDCT的额外非重叠输出,例如,如果使用[16]中的方法,就可以得到这种输出。
[10]中的FIR滤波器没有对振幅调制/变化模型化。它引入的谐度的增加是固定的,而与信号无关。它使用固定大小的重叠窗口来跨越几个基音周期(由于FIR滤波器的限制,它必须这样做),因此在单个窗口中也包括了具有变化的基音周期的时间段。基音周期(快速)变化的问题被称为“过载问题”,且可通过“关闭”自适应滤波器或等效地在信号中插入零来解决。这就降低了滤波器的有效性。文献[10]中的方法也需要进行有声/无声检测。文献[11]中的TDHS方法使用自适应窗口长度,但FIR滤波器长度至少跨越4个基音周期,因此也无法对快速的基音变化模型化。它也无法对振幅调制/变化模型化。引入的谐度的增加也是固定的,而与信号无关。
在[12]中,去谐波预测器减少了编码信号中的谐波部分,并因此限制了编码谐波成分的质量和后置滤波器的效率。后置滤波器的所有参数都是为每个子帧估算并传输的,因此大大增加了比特率。该方法也没有考虑子帧边界处的平滑处理。
在[13]中,子帧的长度是恒定的,不是信号自适应的。[13]中的后置滤波器没有对振幅调制/变化模型化,因为g0与相关性成正比,限制在0和1之间。
文献[14]、[15]中的LTP后置滤波器对信号变化的适应不够快,因为它的适应受限于编解码器的恒定成帧。此外,由于g≤1的限制以及g同时出现在分子(前馈)和分母(后馈)中,它也不能很好地对振幅调制/变化模型化。
基于此,需要一种改进的方法。
本发明的目的是提供用于提高谐波信号编码的质量的构思,特别是在MDCT域。
独立权利要求的主题解决了这一目的。
本发明的实施例提供了用于处理编码的音频信号的处理器。编码的音频信号或编码的时域音频信号可以至少包括编码的基音参数。为完整起见,应注意音频信号也可以具有定义解码的时域(TD)音频信号的样本的参数。处理器包括LTP缓冲器、时间间隔划分器/分割器、计算装置、预测器和频域变换器。LTP缓冲器被配置为接收从编码的音频信号的帧得出的样本,时间间隔划分器/分割器被配置为根据编码的基音参数将与编码的音频信号的后续帧(在编码的音频信号的帧之后)相关联的时间间隔划分为子间隔。计算装置被配置为根据子间隔在与编码的音频信号的后续帧相关联的(时间)间隔内的位置,从编码的基音参数得出子间隔参数。预测器被配置为根据子间隔参数从LTP缓冲器生成预测信号。频域变换器被配置为基于预测信号生成预测频谱。
本发明这方面的实施例基于以下原理:将当前窗口分割成重叠的子间隔有利于提高MDCT域中谐波信号编码的质量,其中可选地,子间隔的长度可以取决于基音。在每个子间隔,可以使用解码的TD信号和根据子间隔位置从基音轨迹得到的滤波器来构建预测的信号。之后,对预测的信号进行加窗并转换到频域。通过这种方式构建的预测的信号和应用于频域的LTP,能够以不同于频域编码器帧速率的非恒定速率,平滑、快速无延迟地适应变化的信号特征。根据其他实施例,可对预测的频谱进行感知上平坦化,以产生预测频谱的衍生。此外,应注意的是,预测频谱或预测频谱的衍生可与误差频谱相结合。预测频谱中远离谐波的幅度可被减小为零。这样做的好处如下:使用基音信息对预测频谱进行进一步处理,以去除预测频谱中不可预测的部分。
关于基音参数,应该注意的是,子间隔可以多于时间上不同的编码的基音参数。
根据其他实施例,处理器还包括反频域变压器。这可以被配置为从误差频谱的衍生中生成混叠(TD,时域)音频信号块;另外或可替代地,处理器还包括使用至少两个混叠(TD)音频信号块生成(TD)音频信号的帧的装置,其中,混叠(TD)音频信号的至少一些部分分别不同于(TD)音频信号和接收的样本。注意,预测频谱是从编码的音频信号的帧中获得的,和/或误差频谱是从编码的音频信号的帧之后的帧中获得的,以及误差频谱的衍生是从误差频谱中得出的。
注意,信号的帧通常有与之相关联的时间间隔。例如:编码的音频信号被分为若干帧。可以从编码的音频信号的帧中获得混叠音频信号块。可从至少两个(连续且重叠的)混叠音频块中获取输出时域音频信号的帧。
根据其他实施例,处理器可以包括组合器,该组合器被配置为将预测频谱的衍生的至少一部分与误差频谱组合,以生成组合频谱。在此,误差频谱的衍生可以例如从组合频谱中得出。
根据实施例,在每个子间隔内,可以使用LTP缓冲器和/或使用出自LTP缓冲器的解码的(TD)音频信号和滤波器来构建预测的信号,滤波器的参数从基音轨迹和帧内子间隔位置得出。
根据其他实施例,基于基音轨迹或基于校正的基音轨迹确定可预测谐波的数量。请注意,校正的基音轨迹是从修改后的基音参数得出的(见下文)。
根据其他实施例,不同的子间隔参数要多于时间上不同的编码的基音参数。
根据其他实施例,处理器还包括用于跨越子间隔边界(子间隔的边界)/在子间隔边界(子间隔的边界)处平滑多个子间隔的装置。平滑可以通过交叉渐变或时变滤波器的级联(例如[19]中的级联滤波器)来进行。
根据其他实施例,处理器包括用于根据从编码的基音参数得出的参数修改预测频谱(或预测频谱的衍生)的装置。这样做的目的是生成修改后的预测频谱。
根据其他实施例,处理器还包括用于根据LTP缓冲器的内容从编码的基音参数得出修改后的基音参数的装置。例如,可以根据修改后的基音参数生成预测频谱。
根据其他实施例,处理器还包括将来自混叠(TD)音频信号块的与(TD)音频信号无差别的所有样本放入LTP缓冲器的装置。根据本发明的实施例,当一个混叠(TD)音频信号块的样本被用于产生两个不同的(TD)音频信号的帧时,尤其需要执行该过程。
根据另一方面的另一实施例,提供了用于处理编码的音频信号的处理器。处理器包括用于分割帧的装置以及谐波后置滤波器。用于分割帧的装置被配置为将音频信号的帧分割成多个(重叠的)子间隔,每个子间隔具有各自的长度,而多个(重叠的)子间隔或至少两个子间隔的各自的长度取决于基音滞后值。各自的长度是指不同子间隔的长度可以不同,即每个子间隔的长度仅为子间隔本身定义。谐波后置滤波器用于对多个重叠的子间隔进行滤波,其中谐波后置滤波器基于由分子和分母组成的传递函数。此处,分子包括谐波值,分母包括谐波值和增益值和/或基音值。
注意,信号的帧通常有与之相关联的时间间隔。例如:编码的音频信号被划分为若干帧。可以从编码的音频信号的帧获取混叠音频信号块。可以从至少两个(连续重叠的)混叠音频块获取输出时域音频信号的帧。
第二方面的实施例基于以下发现:如果检测到基音变化、谐度(harmonicity)变化或振幅调制,则将当前输出帧分割为长度取决于基音的重叠的子间隔是有益的,其中基音是从检测到的时域信号上发现的编码的基音参数中获得的。在每个子间隔内,解码的(TD)信号可使用在每个子间隔内找到的自适应参数进行滤波。解码的信号包含足够的信息,用于检测谐波后置滤波器(HPF)的变化的信号特征,谐波后置滤波器可以对基音和振幅的变化模型化。这里,谐波后置滤波器参数的更新率与频域编码器帧率无关。
根据其他实施例,谐度值与滤波器的期望强度成正比,和/或与音频信号中的振幅变化无关。
根据实施例,增益值取决于音频信号中的振幅变化。
根据其他实施例,谐波值、增益值和基音滞后值是使用谐波后置滤波器的输出得出的,即代表先前一个/几个子间隔的结果。
根据其他实施例,谐波后置滤波器在多个子间隔的不同子间隔中是不同的。
根据其他实施例,处理器包括用于跨越子间隔边界(子间隔的边界)/在子间隔边界(子间隔的边界)处平滑多个子间隔的装置。
应注意的是,根据实施例,帧内有至少两个子间隔。还应注意的是,每个子间隔各自的长度取决于平均基音。例如,平均基音可从编码的基音参数中获得。
根据实施例,编码的基音参数的时间分辨率可能高于编解码器成帧。此外,编码的基音参数的时间分辨率低于基音轨迹。
根据其他实施例,处理器包括域转换器,用于基于帧将音频信号的第一域表示转换为音频信号的第二域表示。例如,域转换器在时域中对信号进行谐波后置滤波(HPF)。
根据其他实施例,域转换器被配置用于将音频信号的域表示转换为音频信号的频域表示。
根据其他实施例,属于第一方面的处理单元可以与第二方面的处理单元相结合。换句话说,这意味着这两种方法(新的LTP方法和谐波后置滤波(HPF))可以结合,并且优选地与MDCT编解码器一起使用。与现有技术相比,新方法的目标是更好地对频率和振幅调制模型化,同时需要尽量少的辅助信息或不需要辅助信息。
另一个实施例提供了用于解码编码的音频信号的解码器,该解码器包括方面一所述的处理器和/或方面二所述的处理器。
根据实施例,解码器还包括频域解码器或基于MDCT编解码器的解码器。注意,频域编码器和解码器优选地在具有重叠窗口的帧中中频域中操作。
另一个实施例提供了用于编码音频信号的编码器,该编码器包括根据方面一的处理器。
其他实施例提供了用于处理编码的音频信号的方法。该方法包括以下步骤:
-使用LTP缓冲器接收从编码的音频信号的帧得出的样本;
-根据编码的基音参数将与编码的音频信号的后续帧相关联的时间间隔划分为子间隔;
-根据子间隔在与编码的音频信号的后续帧相关联的时间间隔内的位置,从编码的基音参数得出子间隔参数;
-根据子间隔参数从LTP缓冲器生成预测信号;以及
-根据预测信号生成预测频谱。
另一个实施例提供了用于处理音频信号的方法,包括以下步骤:
-将音频信号的帧分割成多个重叠的子间隔,每个子间隔具有各自的长度,多个重叠的子间隔的各自的长度取决于基音滞后值;
-使用谐波后置滤波器对多个重叠的子间隔进行滤波,其中谐波后置滤波器基于包括分子和分母的传递函数,其中分子包括谐波值,以及其中分母包括基音滞后值和谐波值和/或增益值。
其他实施例提供了计算机程序,用于在计算机运行时执行上述方法。
随后将参考附图对本发明的实施例进行讨论,其中:
图1a示出了根据第一方面的实施例使用LTP缓冲的处理器的基本实现的示意图;
图1b示出了根据第二方面的实施例使用谐波后置滤波的处理器的基本实现的示意图;
图2a示出了说明根据一实施例的编码器和根据另一实施例的解码器的示意性框图;
图2b示出了说明根据实施例的编码器的示意性框图;
图2c示出了说明根据实施例的解码器的示意性框图;
图3示出了根据实施例的用于残余信号的信号编码器的示意性框图;
图4示出了包括根据其他实施例的零填充原理的解码器的示意性框图;
图5示出了用于说明根据实施例确定基音轨迹(参见块间隙基音轨迹)的原理的示意图;
图6示出了根据其他实施例的使用关于基音轨迹的信息的脉冲(pulse)提取器的示意性框图;
图7示出了根据可替换实施例的使用基音轨迹作为附加信息的脉冲提取器的示意性框图;
图8示出了说明根据其他实施例的脉冲编码器的示意性框图;
图9a至图9b示出了用于说明根据实施例对脉冲进行频谱平坦化的原理的示意图;
图10示出了根据其他实施例的脉冲编码器的示意性框图;
图11a至图11b示出了说明确定起始于平坦的原始信号的预测残余信号的原理的示意图;
图12示出了根据其他实施例的脉冲编码器的示意性框图;
图13示出了说明残余信号和编码的冲激(impulse)的示意图用于说明实施例;
图14示出了根据其他实施例的脉冲解码器的示意性框图;
图15示出了根据其他实施例的脉冲解码器的示意性框图;
图16示出了说明根据实施例使用块IBPC估计步长的原理的示意性流程图;
图17a至图17d示出了用于说明根据实施例的长期预测的原理的示意图;
图18a至图18d示出了用于说明根据其他实施例的谐波后置滤波的原理的示意图。
下面,将参考附图讨论本发明的实施例,其中,相同的附图标记被提供给具有相同或相似功能的对象,从而其描述可相互应用和互换。
图1a示出了处理器1000,它可以是用于编码音频信号的编码器和/或用于解码编码的音频信号的解码器的一部分。处理器100在其基本实现中包括LTP缓冲器1010、间隔划分器/间隔分割器1020、计算器1030以及传统的编码器/解码器的元件,即预测器1040和频域变换器1050。
音频信号可以是编码的音频信号,至少包括编码的基音参数和可选的一个或多个定义解码的时域(TD)音频信号的样本的参数。请注意,编码的音频信号可以包括“基音轨迹”、“频谱”、“zfl”、“tns”、“sns”和“编码的脉冲”(参见图2a)。例如,音频信号可以通过反频域变换器进行预处理,以便从误差频谱的衍生生成混叠TD音频信号块,其中TD音频信号的帧是使用至少两个混叠TD音频信号块生成的,因此混叠TD音频信号的至少某些部分与TD音频信号不同。从另一个角度看,这意味着音频信号是在频域中处理的。请注意,误差频谱的衍生例如为XC(图2a),因为XC是从组合频谱(XDT)得到的,而组合频谱(XDT)是(通过组合器)从误差频谱(XD)得到的。
音频信号由缓冲器1010接收,然后由元件1010、1020和1030组成的处理路径进行处理。缓冲器1010从TD音频信号的帧中缓冲/接收样本。在可能的实现下,频域解码器的输出可用作LTP缓冲器,包括解码的信号的完整非重叠部分。
在下一个实体1020中,当前帧窗口长度的时间间隔被分割成重叠的子间隔(将生成预测信号的间隔)。这里,每个子间隔的长度取决于基音,例如,取决于平均基音。由于音频信号包含编码的基音参数,因此可以从编码的基音参数获取基音或基音信息。根据实施例,使用基音轨迹确定基音。使用例如插值法从编码的基音参数中获得基音轨迹。例如,编码的基音参数的时间分辨率可能高于编码成帧和/或低于基音轨迹本身的时间分辨率。应注意的是,根据实施例,子间隔可能多于时间上不同的编码的基音参数。下一个实体1030接收与编码的音频信号的帧相关联的划分的时间间隔,即子间隔,并被配置为根据预测信号中子间隔的位置从编码的基音参数得出子间隔参数。该计算由实体1030执行。应注意的是,至少在某些情况下,不同的子间隔参数多于时间上不同的编码的基音参数。由于使用基音信息对预测信号/预测频谱进行了处理,因此可以对不可预测部分进行检查。处理完成后,将构建预测的信号。实体1040被配置为在每个子间隔内构建预测的信号XP*,例如,使用滤波器,其参数从编码的基音参数/基音轨迹(注意,基音轨迹从编码的基音参数得出,因此也可以说参数从编码的基音参数得出)以及与编码的音频信号帧相关联的窗口内/时间间隔内的子间隔位置得出。因此,预测器1040根据实体1030输出的子间隔参数构建/生成预测信号XP*。在实体1040之后,可以布置/配置频域变换器1050,以基于预测信号XP*生成预测频谱XP。在此,预测信号XP*被加窗并变换到频域。根据实施例,可选择性地对预测频谱进行感知上平坦化,以生成平坦的预测频谱。由于每个子间隔的构建以及LTP在频域中的应用,可以以与频域编码器帧速率不同的非恒定速率,平滑、快速且无额外延迟地调整LTP,以适应变化的信号特征。
远离(平坦的)预测频谱中的谐波的幅度被减小为零,其中谐波的位置从校正后的基音轨迹得出。
在编码器中,基于校正后的基音轨迹、(平坦的)预测频谱和从输入信号得到的频谱,确定可预测谐波的数量。根据实施例,在编码器中,在频域中减去与可预测谐波的数量相对应的平坦的预测频谱的部分。根据其他实施例,在解码器和/或编码器中将这部分添加到频域。
应该注意的是,这种LTP方法可以是编码器或解码器的一部分,如将关于图2a所讨论的。在图2a中,LTP缓冲器是LTP元件164的一部分。
关于图1b,还将讨论另一个也是使用根据基音信息将音频信号yC划分/分割为重叠的子间隔的实施例。
图1b示出了谐波后置滤波器单元1100(HPF),包括在用于划分音频信号yC的装置之后的谐波后置滤波器1120。用于划分的装置由附图标记1110标出。划分器1110用于将音频信号的帧划分/分割为多个重叠的子间隔,每个子间隔具有各自的长度。例如,多个子间隔或重叠的子间隔中的两个或所有子间隔的各自的长度取决于基音滞后值。注意,至少在某些情况下,帧内有至少两个子间隔。
谐波后置滤波器1120被配置为对多个(重叠的)子间隔进行滤波。滤波器1120使用基于传递函数的滤波函数,传递函数包括分子和分母。分子包括谐度值,分母包括谐度值、增益值和基音滞后值。例如,可以使用包括谐波值的分子和包括谐波值、增益值和基音滞后值的分母来定义该传递函数。
例如,滤波器可以基于以下传递函数进行描述:
其中,基于解码的时域信号和输出信号中已可用的先前子间隔,在每个子间隔中找到信号自适应参数T_int,T_fr,h,g。
根据其他实施例,从域转换器接收音频信号,域转换器用于基于帧将音频信号的第一域表示转换为第二域,优选的是音频信号的时域表示。
根据实施例,谐度值与滤波器的期望强度成比例。此外,谐度值可以与音频信号中的振幅变化无关,其中增益值可以取决于振幅变化。其结果是,至少在某些情况下,谐波后置滤波器在至少两个子间隔内是不同的。这也意味着,如果对某一帧给出了这一条件,那么对于其他一些帧,谐波后置滤波器在所有子间隔内可能是相同的,或者在某些情况下,只存在一个子间隔等于与整个帧相关联的时间间隔。需要注意的是,滤波器可以具有一种反馈回路,从而谐度值、增益值和基音滞后值可以使用谐波滤波器在过去子间隔中的已有可用输出和音频信号的第二域表示(例如,第二域表示是时域)得出。根据其他实施例,帧内可以有至少两个子间隔。这里,可能还有其他一些帧,其中只有一个子间隔,等于与整个帧相关联的时间间隔。
根据实施例,如果检测到基音变化、谐度变化或振幅调制,则将当前输出帧长度的时间间隔分割为长度取决于基音的重叠的子间隔,其中从编码的基音参数中得到基音,或从解码的时域信号中找到基音。根据实施例,谐波后置滤波器1100被配置为对基音和/或振幅变化模型化。根据实施例,HPF参数的更新率可以与频域编码器帧率无关。
如图2a所示,HPF实体1100(参见图1b)主要用于解码器侧。HPF实体1100,此处标记为214,布置在包括频谱编码器156的处理路径的末端。在HPF实体1100的上下文中讨论的所有特征也可应用于HPF实体214。
处理器1000所包含的LTP缓冲器可用于编码器101和解码器201,这将关于图2a、2b和2c进行讨论。在此,实体164可以包括处理器1000,处理器包括在图1a的上下文中讨论的LTP缓冲器1010。处理器1000的所有特征也可应用于LTP实体164。
将关于图2a讨论实体164(LTP)和214(HPF)的完整交互,这里将提及可选要素。
图2a示出了编码器101与解码器201的组合。
编码器101的主要实体由附图标记110、130、151标记。实体110执行脉冲提取,其中使用用于脉冲编码的实体132对脉冲p进行编码。
信号编码器150由多个实体152、153、154、155、156、157、158、159、160和161实现。这些实体152-161形成编码器150的主路径,其中可以并行地布置附加实体162、163、164、165和166。实体162(zfl解码器)以信息提供方式将实体156(iBPC)与实体158(零填充)连接。实体165(获得TNS)以信息提供方式将实体153(SNSE)与实体154、158和159连接。实体166(获得SNS)以信息提供方式将实体152与实体153、163和160连接。实体158执行零填充并且可以包括将在图4的上下文中讨论的组合器158c。注意,可能有实体159和160不存在的实现方式,例如对MDCT输入进行LP分析滤波和对IMDCT输出进行LP合成滤波的系统。因此,这些实体159和160是可选的。
实体163和164(LTP缓冲器,如上文提到的单元1010所述)接收来自实体180的基音轨迹和时域音频信号yC,以便生成预测频谱XP和/或在感知上平坦的预测XPS。下面将描述不同实体的功能和交互。
在讨论编码器101尤其是编码器150的功能之前,给出了解码器201的简短描述。解码器210可以包括实体157、162、163、166、158、159、160、161以及解码器特定实体214(HPF)、23(信号组合器)和22(用于构造表示编码脉冲的波形)。此外,解码器201包括信号解码器210,其中实体158、159、160、161、162、163和164与实体214一起形成信号解码器210。实体1100可用作HPF 214。此外,解码器201还包括信号组合器23。注:根据实施例,实体156只是部分用于解码器。因此,附图标记201不包括实体156,而解码路径210包括实体156。解码器210部分使用156的情况如图2c所示,图2c包含稍作调整的用于解码的实体156”。
脉冲提取110获得输入音频信号PCMI的STFT,并且使用STFT的非线性幅度频谱图和相位频谱图来找到和提取脉冲,每个脉冲具有带有高通特性的波形。通过从输入音频信号中去除脉冲来获得脉冲残余信号yM。脉冲由脉冲编码132编码,并且编码的脉冲CP被传输到解码器201。
脉冲残余信号yM经由MDCT 152被加窗和变换以产生长度为LM的XM。在如[17]中的3个窗口中选择窗口。在下面的示例中,最长的窗口是30毫秒长,具有10毫秒重叠,但是可以使用任何其它的窗口和重叠长度。经由SNSE153对XM的频谱包络进行感知上平坦化,获得XMS。可选地,应用时间噪声整形TNSE154以在频谱的至少一部分中使时间包络平坦化,产生XMT。可以估计频谱的一部分中(XM中或XMS中或XMT中)的至少一个音调标志φH并将其传输到解码器201/210。可选地,跟随基音轨迹180的长期预测LTP 164用于根据过去的解码样本构造预测频谱XP,并且在MDCT域中从XMT中减去感知上平坦的预测XPS,产生LTP残余XMR。为每个帧计算平均谐度。对于具有高平均谐度的帧,在块获取基音轨迹180中获得基音轨迹,并传输到解码器201。基音轨迹和谐度用于控制编解码器的许多部分。可替换地,基音轨迹可以从编码的基音参数中得出,因此也可以说这些参数是从编码的基音参数中得出的。
图2b示出了图2a的摘录,其关注包括实体180、110、152、153、153、155、156、165、166和132的编码器101'。注意,图2a中的156是图2b中的156'和图2c中的156”的一种组合。注意,实体163(在图2a、图2c中)可以与153相同或相当,并且是160的逆。
根据实施例,编码器将输入信号分成帧,并且例如对于每个帧输出以下参数中的至少一个或多个:
·基音轨迹
·MDCT窗口选择,2比特
·LTP参数
·编码的脉冲
·sns,即用于经由SNS进行频谱整形的编码信息
·tns,即用于经由TNS进行时间整形的编码信息
·全局增益gQo,即用于MDCT编解码器的全局量化步长
·spect,由熵编码的量化的MDCT频谱构成
·zfl,由量化的MDCT频谱的参数编码的零部分组成。
XPS是163或164的输出,编码器可能也需要,但仅显示在解码器中。
图2c示出了图2a的摘录,其关注包括已经在图2a的上下文中讨论的实体156”、162、163、164、158、159、160、161、214、23和2的解码器201'。关于LTP 164,基本上,由于LTP,解码器的一部分(除了214,230,222及其输出)也可以在编码器中使用/需要(如图2a所示)并且被称为内部解码器。在没有LTP的实现中,在编码器中不需要内部解码器。
对MDCT编码器的解释:MDCT的输出是具有长度LM的XM。例如,在48kHz的输入样本率下,对于20毫秒的示例帧长度,LM等于960。编解码器可以以其它样本速率和/或其它帧长度操作。从XM得出的所有其他频谱:XMS、XMT、XMR、XQ、XD、XDT、XCT、XCS、XC、XP、XPS、XN、XNP、XS也具有相同的长度LM,尽管在某些情况下可能只需要和使用一部分频谱。频谱包括频谱系数,也称为频谱仓(bins)或频率仓。在MDCT频谱的情况下,频谱系数可以具有正值和负值。可以说每个频谱系数覆盖一个带宽。在48kHz样本率和20毫秒帧长度的情况下,频谱系数覆盖25Hz的带宽。频谱系数可以从0索引到LM-1。
用于SNSE和SNSD的SNS比例因子可以从具有增大带宽的NSB=64个频率子带(有时也称为带)中的能量获得,其中从划分于频率子带中的频谱获得能量。例如,以Hz表示的子带边界可以被设置为0、50、100、150、200、250、300、350、400、450、500、550、600、700、800、900、1000、1100、1200、1300、1400、1500、1600、1700、1800、1900、2050、2200、2350、2500、2650、2800、2950、3100、3300、3500、3700、3900、4100、4350、4600、4850、5100、5400、5700、6000、6300、6650、7000、7350、7750、8150、8600、9100、9650、10250、10850、11500、12150、12800、13450、14150、15000、16000、24000。子带可以从0索引到NSB-1。在这个示例中,第0个子带(从0到50Hz)包含2个频谱系数,与子带1到11相同,子带62包含40个频谱系数,以及子带63包含320个系数。NSB=64个频率子带中的能量可以被降样本为16个被编码的值,编码的值被表示为“sns”。从“sns”获得的16个解码的值被内插到SNS比例因子中,其中例如可以是32、64或128个比例因子。关于获得SNS的更多细节,读者请参考[22-26]。
在iBPC,“zfl解码”和/或“零填充”块中,频谱可以被划分成不同长度的子带Bi,该子带i从/>起始。可以使用与用于获得SNS比例因子的能量相同的64个子带边界,但也可以使用任何其他数量的子带和任何其他子带边界-—独立于SNS。为了强调它,可以使用与SNS中相同的子带划分原理,但是,iBPC,“zfl解码”和/或“零填充”块中的子带划分独立于SNS并且独立于SNSE和SNSD块。利用上述子带划分示例,/>以及/>以及 以及/>
请注意,在另一实施例中,用于iBPC、“zfl解码”和“零填充”的子带(即子带边界)可以从零频谱系数在XD和XQ中的位置得出。
如关于图3所讨论的,实体155输出的XMR(来自LTP的残余)的编码是在集成带式参数编码器(iBPC)中完成的。
图3示出了可以具有子实体156q、156m、156pc、156sc和156mu的实体iBPC 156。请注意,图1a示出了图3的一部分:这里,1030相当于156a,1010相当于156pc,1020相当于156sc。
在比特流多路复用器156mu的输出处,将带式参数解码器162与频谱解码器156sc布置在一起。实体162接收信号zfl,实体156sc接收信号spect,其中两者都接收全局增益/步长gQa.。注意,参数解码器162使用频谱解码器156sc的输出XD来解码zfl。可替换地,它可以使用从解码器156sc输出的另一个信号。其背景是频谱解码器156sc可以包括两个部分,即频谱解码器和去量化器。例如,量化器的输出可用作参数解码器162的输入
XMR被量化和编码,包括对量化的频谱XQ(的一部分)中的零值的能量的量化和编码,其中XQ是XMR的量化版本。XMR的量化和编码在集成带式参数编码器iBPC 156中完成。作为iBPC的部分之一,量化(量化器156q)与自适应带调零156m一起基于最佳量化步长gQo产生量化的频谱XQ。iBPC 156产生编码信息,该编码信息包括spect 156sc(表示XQ)和zfl 162(表示XQ的一部分中的零值的能量)。
图4示出了布置在实体157的输出处的零填充实体158。
图4示出了零填充实体158,该零填充实体158接收来自实体162的信号EB和可选地经由元件157接收来自实体156sd的组合频谱XDT。零填充实体158可以包括两个子实体158sc和158sg以及组合器158c。
解码spect以获得与XMR的量化版本(即,XQ)等同的解码的频谱XD(解码的LTP残余、误差频谱)。通过考虑XD(误差频谱)中的零值的位置从zfl获得EB。EB可以是XQ中的零值的能量的平滑版本。EB可以具有不同于zfl的分辨率,优选地具有来自平滑的较高分辨率。在获得EB(参见162)之后,可选地将感知上平坦的预测XPS添加到解码的XD,产生XDT。获得零填充XS,并将其与XDT在“零填充”中组合(例如使用加法158c),其中零填充XG由带式零填充构成,该带式零填充从由带式源频谱/>(参见156sc)构成的源频谱XS迭代获得,并基于EB进行加权。XCT是零填充XG和频谱XDT(158c)的带式组合。XS是带式构造的(158sg输出XG)并且XCT是起始于最低子带带式获得的。对于每个子带,例如根据子带位置、音调标志(toi)、从XDT估计的功率谱(pii)、EB、基音信息和时间信息(tei)来选择源频谱(参见158sc)。注意,从XDT估计的功率谱可以从XDT或XD得出。可替换地,可以从比特流获得源频谱的选择。可以将直到起始频率fZFStart的XS中的最低子带/>设置为0,这意味着在最低子带XCT中可以是XDT的副本。fZFStart可以是0意味着即使从频谱的起始也可以选择不同于0的源频谱。子带i的源频谱例如可以是随机噪声或预测频谱,或已经获得的XCT的较低部分、随机噪声和预测频谱的组合。基于EB对源频谱进行加权以获得零填充/>
加权可以由158sg执行,并且具有比子带划分更高的分辨率;甚至可以是逐样本确定的以获得平滑加权。添加到XDT的子带i以产生XCT的子带i。在获得完整的XCT之后,经由TNSD159(参见图2)可选地修改其时间包络以匹配XMS的时间包络,产生XCS。然后使用SNSD160修改XCS的频谱包络以匹配XM的频谱包络,产生XC。从XC获得时域信号yC作为IMDCT 16l的输出,其中IMDCT 16l包括逆MDCT、加窗和重叠相加。yC用于更新后续帧的LTP缓冲器164(与图2a和图2c中的缓冲器164相当,或与164+163的组合相当)。对yC应用遵循基音轨迹的谐波后置滤波器(HPF)以降低谐波之间的噪声并输出yH。对由编码的脉冲波形构成的编码的脉冲进行解码,并从解码的脉冲波形构造时域信号yP。yP组合yH以产生解码的音频信号(PCMO)。可替换地,yP可以与yC进行组合,并且它们的组合可以用作HPF的输入,在这种情况下,HPF 214的输出是解码的音频信号。
下面参考图5描述实体“获得基音轨迹”180。
现在将解释块“获得基音轨迹180”中的处理。将输入信号从全样本率降样本到较低的样本率,例如到8kHz。基音轨迹由来自当前帧的pitch_mid和pitch_end以及等于来自先前帧的pitch_end的pitch_start确定。图5示例性地示出了这些帧。在基音轨迹中使用的所有值被存储为具有分数精度的基音滞后。基音滞后值在最小基音滞后dFmin=2.25毫秒(对应于444.4Hz)和最大基音滞后dFmax=19.5毫秒(对应于51.3Hz)之间,从dFmin到dFmax的范围被称为全基音范围。也可以使用其它范围的值。在多个步骤中找到pitch_mid和pitch_end的值。在每个步骤中,在降样本信号的区域中或在输入信号的区域中执行基音搜索。
基音搜索计算其输入和输入的延迟版本的归一化自相关ρH[dF]。滞后dF在基音搜索起始dFstart和基音搜索结束dFend之间。基音搜索起始dFstart、基音搜索结束dFend、自相关长度和过去基音候选dFpast是基音搜索的参数。基音搜索返回最佳基音dFoptim,作为具有分数精度的基音滞后,以及从最佳基音滞后处的自相关值获得的谐度水平ρHoptim。ρHoptim范围在0和1之间,0表示无谐度,1表示最大谐度。
归一化自相关中绝对最大值的位置是最佳基音滞后的第一候选dF1。如果dFpast在dF1附近,则最佳基音滞后的第二候选dF2是dFpast,否则在dFpast附近的局部最大值的位置是第二候选dF2。如果dFpast在dF1附近,则不会搜索局部最大值,因为对于dF2将再次选择dF1。如果在dF1和dF2的归一化自相关的差在基音候选阈值τdF之上,则dFoptim设置为 否则dFoptim设置为dF2。根据dF1、dF2和dFpast,自适应地选择τdF,例如如果0.75·dF1≤dFpast≤1.25·dF1,τdF=0.01,否则如果dF1≤dF2,τdF=0.02以及如果dF1>dF2,τdF=0.03(对于小的基音变化,更容易切换到新的最大位置,并且如果变化大,则更容易切换到较小基音滞后而非较大基音滞后)。
关于成帧和加窗的用于基音搜索的区域的位置在图5中示出。对于每个区域,执行基音搜索,其中自相关长度被设置为该区域的长度。首先,在基音搜索的执行中,使用dFpast=pitch_start、dFstart=dFmin以及dFend=dFmax在较低的样本率下计算基音滞后start_pitch_ds和相关联的谐度start_norm_corr_ds。然后,在基音搜索的执行中,使用dFpast=start_pitch_ds dFstart=dFmin以及dFend=dFmax在较低的样本率下计算基音滞后avg_pitch_ds和相关联的谐度avg_norm_corr_ds。当前帧中的平均谐度被设置为max(start_norm_corr_ds,avg_norm_corr_ds)。在基音搜索的执行中,使用dFpast=avg_pitch_ds,dFstart=0.3·avg_pitch_ds和dFend=0.7·avg_pitch_ds在较低的样本率下计算基音滞后mid_pitch_ds和end_pitch_ds以及相关联的谐度mid_norm_corr_ds和end_norm_corr_ds。在基音搜索的执行中,使用dFpast=pitch_ds,dFstart=pitch_ds-ΔFdown以及dFend=pitch_ds+ΔFdown在全样本率下计算基音滞后pitch_mid和pitch_end以及相关联的谐度norm_corr_mid和norm_corr_end,其中ΔFdown是全样本率与较低样本率的比率,并且对于pitch_mid,pitch_ds=mid_pitch_ds以及对于pitch_end,pitch_ds=end_pitch_ds。
如果平均谐度低于0.3,或者如果norm_corr_end低于0.3,或者如果norm_corr_mid低于0.6,则在比特流中用单个比特信号通知当前帧中没有基音轨迹。如果平均谐度高于0.3,则使用用于pitch_end的绝对编码和用于pitch_mid的差分编码来编码基音轨迹。通过使用代码用于8个预定值中到(pitch_start+pitch_end)/2的差,使用3比特将Pitch_mid差分编码为(pitch_start+pitch_end)/2,这最小化了pitch_mid区域中的自相关。如果帧中存在谐度的结束,例如norm_corr_end<norm_corr_mid/2,则来自pitch_start和pitch_mid的线性外推被用于pitch_end,使得pitch_mid可被编码(例如norm_corr_mid>0.6且norm_corr_end<0.3)。
如果|pitch_mid-pitch_start|≤τHPFconst和|norm_corr_mid-norm_corr_start|≤0.5以及在pitch_start和pitch_mid的区域中的预期HPF增益接近于l并且不改变太多,则在比特流中用信号通知HPF应当使用恒定参数。
根据实施例,基音轨迹提供dcontour,在当前窗口中和至少dFmax个过去样本中的每个样本i处的基音滞后值dcontour[i]。通过来自当前帧、先前帧和第二先前帧的pitch_mid和pitch_end的线性内插来获得基音轨迹的基音滞后。
为每个帧计算平均基音滞后作为pitch_start、pitch_mid和pitch_end的平均值。
根据另外的实施方式,半基音滞后校正也是可能的。
在编码器和解码器中都可用的LTP缓冲器164用于检查输入信号的基音滞后是否低于dFmin。如果输入信号的基音滞后低于dFmin,则检测被称为“半基音滞后检测”,并且如果它被检测,则称“半基音滞后被检测”。在从dFmin到dFmax的范围内编码和传输编码的基音滞后值(pitch_mid、pitch_end)。根据这些编码的参数,如上定义地得出基音轨迹。如果检测到半基音滞后,则预期编码的基音滞后值将具有接近真实基音滞后值的整数倍nFcorrection的值(等效地,输入信号基音在编码的基音的整数倍nFcorrection附近)。为了将基音滞后范围扩展到可编码范围之外,使用校正的基音滞后值(pitch_mid_corrected、pitch_end_corrected)。如果真实基音滞后值在可编码范围内,则校正的基音滞后值(pitch_mid_corrected、pitch_end_corrected)可等于编码的基音滞后值(pitch_mid、pitch_end)。注意,校正的基音滞后值可以用于以与从基音滞后值得出基音轨迹相同的方式获得校正的基音轨迹。换句话说,这使得能够将基音轨迹的频率范围扩展到编码的基音参数的频率范围之外,从而产生校正的基音轨迹。
只有在当前窗口中基音被认为是恒定并且的情况下,才运行半基音检测。如果max(|pitch_mid-pitch_start|,|pitch_mid-pitch_end|)<τFconst,则在当前窗口中基音被认为是恒定的。在半基音检测中,对于每个nFmultiple∈{1,2,...,nFmaxcorrection},使用/> dFstart=dFpast-3,和dFend=dFpast+3执行基音搜索。nFcorrection设为使得由基音搜索返回的归一化相关最大化的nFmultiple。如果nFcorrection>1,并且由对于nFcorrection的基音搜索返回的归一化相关高于0.8且比由对于nFmultiple=1的基音搜索所返回的归一化相关高0.02,则认为检测到半基音。
如果检测到半基音滞后,则pitch_mid_corrected和pitch_end_corrected取由对于nFmultiple=nFcorrection的基音搜索返回的值,否则pitch_mid_corrected和pitch_end_corrected分别被设置为pitch_mid和pitch_end。
平均校正的基音滞后被计算为在校正最终的八音度跳跃之后的pitch_start、pitch_mid_corrected和pitch_end_corrected的平均值。八音度跳跃校正在pitch_start、pitch_mid_corrected和pitch_end_corrected中找到最小值,并且对于pitch_start、pitch_mid_corrected和pitch_end_corrected中的每个基音,找到最接近最小值的基音/nFmultiple(对于nFmultiple∈{1,2,…,nFmaxcorrection})。然后在平均值的计算中使用基音/nFmultiple来代替原始值。/>
下面在图6的上下文中讨论脉冲提取。图6示出了具有实体111hp、112、113c、113p、114和114m的脉冲提取器110。输入处的第一实体是可选的高通滤波器111hp,其将信号输出到脉冲提取器112(提取脉冲和统计)。
在输出处布置两个实体113c和113p,它们一起交互并从实体180接收作为输入的基音轨迹。用于选择脉冲113c的实体将脉冲P直接输出到另一实体114,产生波形。这是脉冲的波形,并且可以使用混频器114m从PCM信号中减去,以便产生残余信号R(提取脉冲之后的残余)。
提取并编码每帧多达8个脉冲。在另一个示例中,可以使用其它数量的最大脉冲。来自先前帧的个脉冲被保持并用于提取和预测编码/>在另一示例中,对/>可以使用其它限制。“获得基音轨迹180”提供/>可替换地,/>也可以使用。对于具有低谐度的帧,预期/>为零。
经由短时傅立叶变换(STFT)的时频分析用于发现和提取脉冲(参见实体112)。在另一个示例中,可以使用其它时间-频率表示。该信号PCMI可以经过高通(111hp),并且使用具有75%重叠的2毫秒长的平方正弦窗口来加窗,并且经由离散傅立叶变换(DFT)被变换到频域(FD)。可替换地,可以在FD中(在112s中或在112s的输出处)完成高通滤波。因此,在20毫秒的每个帧中,每个频带有40个点,每个点由幅度和相位构成。每个频带是500Hz宽,并且我们仅考虑49个频带用于样本率FS=48kHz,因为剩余的47个频带可以经由对称延伸来构造。因此,在STFT的每个时间实例中有49个点,并且在帧的时间-频率平面中有40·49个点。STFT跳跃大小是HP=0.0005FS
在图7中,更详细地示出了实体112。在112te中,通过频率轴上的积分从对数幅度频谱图获得时间包络,即对于STFT的每个时间实例,对对数幅度进行求和以获得时间包络的一个样本。
所示的实体112包括基于PCMI信号输出相位和/或幅度频谱图的获得(Get)频谱图实体112s。相位频谱图被转发到脉冲提取器112pe,而幅度频谱图被进一步处理。可以使用背景去除器112br、用于估计要去除的背景信号的背景估计器112be来处理幅度频谱图。附加地或可选地,时间包络确定器112te和脉冲定位器112pl处理幅度频谱图。实体112p1和112te能够确定用作脉冲提取器112pe和背景估计器112be的输入的脉冲位置。脉冲定位器查找器112p1可以使用基音轨迹信息。可选地,一些实体,例如实体112be和实体112te可以使用由实体112lo获得的幅度频谱图的算法表示。
下面将讨论功能。平滑的时间包络是使用短对称FIR滤波器(例如处于FS=48kHz的4阶滤波器)的时间包络的低通滤波版本。
计算时间包络的归一化自相关:
其中eT是平均去除后的时间包络。使用形成归一化自相关中的峰值的3个点的拉格朗日多项式来估计最大值的精确延迟
可以从时间包络的归一化自相关和帧中的平均基音滞后来估计预期平均脉冲距离:
其中对于具有低谐度的帧,设置为13,其对应于6.5毫秒。
脉冲的位置是平滑的时间包络中的局部峰值,要求峰值在其周围环境之上。将周围环境定义为使用具有自适应长度的简单移动平均滤波器的时间包络的低通滤波版本;滤波器的长度被设置为预期平均脉冲距离的一半。使用形成平滑的时间包络中的峰值的3个点的拉格朗日多项式来估计精确脉冲位置/>脉冲中心位置/>是四舍五入到STFT时间实例的精确位置,以及因此脉冲的中心位置之间的距离是0.5毫秒的倍数。可以认为,每个脉冲从其(时间)中心位置向左延伸2个时间实例并向右延伸2个时间实例。也可以使用其它数量的时间实例。
发现每20毫秒最多8个脉冲;如果检测到更多的脉冲,则忽略较小的脉冲。找到的脉冲数表示为第i个脉冲表示为Pi。平均脉冲距离定义为:
基于脉冲位置来增强幅度,使得增强的STFT(也称为增强的频谱图)仅由脉冲构成。脉冲的背景被估计为左和右背景的线性内插,其中左和右背景是远离时间中心位置的第三到第五时间实例的均值。在112be中,在对数幅度域中估计背景,并通过在112br中在线性幅度域中减去它来去除背景。增强的STFT中的幅度是线性标度。相位未被修改。将不属于脉冲的时间实例的所有幅度被设置为零。
脉冲的起始频率与帧中的(附近脉冲波形之间的)平均脉冲距离的倒数成比例,但被限制在750Hz和7250Hz之间:
起始频率表示为STFT带的索引。
在连续脉冲中起始频率的变化被限制在500Hz(一个STFT带)。在112pe中,起始频率以下的增强的STFT的幅度被设置为零。
在112pe中,从增强的STFT获得每个脉冲的波形。脉冲波形在围绕其(时间)中心的4毫秒内是非零的,并且脉冲长度是(脉冲波形的样本率等于输入信号FS的样本率)。符号/>表示第i个脉冲的波形。
每个脉冲Pi由中心位置和脉冲波形/>唯一地确定。脉冲提取器112pe输出由中心位置/>和脉冲波形/>构成的脉冲Pi。脉冲与STFT栅格对准。可替换地,脉冲可以不与STFT栅格对准和/或替代/>确切的脉冲位置/>可以确定脉冲。
针对每个脉冲计算特征:
·脉冲中局部能量的百分比-
·脉冲中帧能量的百分比-
·脉冲能量高于局部能量一半的频带百分比-
·每个脉冲对之间的相关性和距离/>(在当前帧中的脉冲和来自过去帧的个最后编码脉冲之间)
·脉冲的精确位置处的基音滞后-
从原始STFT中的围绕脉冲中心的11个时间实例计算局部能量。仅在起始频率之上计算所有能量。
从脉冲之间的最大互相关的位置获得脉冲对之间的距离/>互相关用2毫秒长的矩形窗口加窗,并用脉冲的范数归一化(也用2毫秒矩形窗口加窗)。脉冲相关是归一化互相关的最大值:
的值在0和1之间的范围内。
基音和脉冲距离之间的误差被计算为:
引入脉冲距离的倍数考虑基音估计中的误差。引入基音滞后的倍数解决了来自脉冲串中的如下缺陷的丢失脉冲:如果串中的脉冲失真或存在不属于脉冲串的瞬变,禁止检测属于串的脉冲。
第i和j个脉冲属于脉冲串的概率(参见实体113p):
仅与已编码的过去脉冲相关的脉冲概率定义为:
迭代地找到脉冲的概率(cf.实体113p):
1.将所有脉冲概率设置为1
2.在脉冲的时间出现顺序中,对于仍然很可能的每个脉冲
a.计算当前帧中属于脉冲串的脉冲的概率:
b.真实为脉冲的初始概率则为:
c.对于许多带中能量在局部能量的一半之上的脉冲,概率增加:
d.概率由时间包络相关性和脉冲中局部能量的百分比限制:
e.如果脉冲概率在阈值之下,则其概率设为零,并且不再被考虑:
3.重复步骤2,只要在当前迭代中有至少一个被设置为零或直到所有/>都被设置为零。
在该过程结束时,存在等于1的/>个真实脉冲。所有并且仅真实脉冲构成脉冲部分P并且被编码为CP。在真实的/>个脉冲中,多达三个最后脉冲保持在存储器中用于计算/>和/>并保持在随后帧中。如果在当前帧中存在少于三个的真实脉冲,则保持已经在存储器中的一些脉冲。总共多达三个脉冲保持在存储器中。对于保持在存储器中的脉冲数可以有其它限制,例如2或4。在存储器中有三个脉冲之后,存储器维持充满,存储器中最老的脉冲被新找到的脉冲代替。换句话说,保持在存储器中的过去脉冲/>的数量在处理起始时增加,直到/>然后保持为3。
下面将参照图8讨论脉冲编码(编码器侧,参见实体132)。
图8示出了在主路径中包括实体132fs、132c和132pc的脉冲编码器132,其中实体132as被布置用于确定频谱包络并将其作为输入提供给被配置用于执行频谱平坦化的实体132fs。在主路径132fs、132c和132pc内,脉冲P被编码以确定编码的频谱平坦的脉冲。由实体132pc执行的编码是对频谱平坦的脉冲执行的。图2a-图2c中的编码的脉冲CP由编码的频谱平坦的脉冲和脉冲频谱包络构成。将参考图10详细讨论多个脉冲的编码。
使用以下参数对脉冲进行编码:
·帧中的脉冲数
·帧中的位置
·脉冲起始频率
·脉冲频谱包络
●预测增益并且如果/>不为零:
o 预测源的索引
o 预测偏移
·创新(innovation)增益
·创新由最多4个冲激构成,每个脉冲通过其位置和符号编码
单个编码的脉冲由以下参数确定:
·脉冲起始频率
·脉冲频谱包络
·预测增益并且如果/>不为零:
o 预测源的索引
o 预测偏移
·创新增益
·创新由最多4个冲激构成,每个脉冲通过其位置和符号编码
根据确定单个编码的脉冲的参数,可以构造呈现单个编码的脉冲的波形。然后我们还可以说编码的脉冲波形是由单个编码的脉冲的参数确定的。
脉冲的数量是霍夫曼编码的。
使用霍夫曼编码对第一脉冲位置进行绝对编码。对于下面的脉冲,位置差 是霍夫曼编码的。根据帧中脉冲的数量并根据第一脉冲位置,存在不同的霍夫曼编码。
使用霍夫曼编码对第一脉冲起始频率进行绝对编码。随后脉冲的起始频率被差分编码。如果存在零差,则所有下面的差也是零,因此非零差的数目被编码。所有的差具有相同的正负号,因此差的正负号可以以每帧单个比特来编码。在大多数情况下,绝对差至多为1,因此如果最大绝对差为1或更大,则使用单个比特进行编码。最后,只有当最大绝对差大于1时,才需要对所有非零绝对差进行编码,并且对它们进行一元编码。
例如使用STFT(参见图8的实体132fs)执行的频谱平坦化由图9a和图9b示出,其中图9a示出与图9b的平坦化版本相比的原始脉冲波形。注意,频谱平坦化可以可替代地由滤波器例如在时域中执行。
帧中的所有脉冲可以使用相同的频谱包络(参见实体132as),频谱包络包括例如8个频带。频带边界频率为:1kHz、1.5kHz、2.5kHz、3.5kHz、4.5kHz、6kHz、8.5kHz、11.5kHz、16kHz。高于16kHz的频谱内容未被明确编码。在另一个示例中,可以使用其它频带边界。
在脉冲的每个时间实例中的频谱包络通过对包络频带内的幅度求和来获得,脉冲由5个时间实例组成。在帧中跨所有脉冲对包络进行平均。不考虑时间-频率平面中脉冲之间的点。
使用四次方根压缩这些值,并对包络进行矢量量化。矢量量化器有2级,并且第2级分成两半。对于具有和/>的帧以及对于/>和/>的值存在不同的码本。不同的码本需要不同数量的比特。
可以使用线性内插来平滑量化的包络。使用平滑的包络(参见实体132fs)使脉冲的频谱图平坦化。通过用包络(接收自实体132a)除幅度来实现平坦化,这相当于在对数幅度域中的减法。相位值不变。可替换地,滤波器处理器可以被配置为通过在时域中对脉冲波形进行滤波来对幅度或脉冲STFT进行频谱平坦化。
在132c中经由逆DFT、加窗和重叠相加从STFT获得频谱平坦的脉冲的波形。
图10示出了用于对多个频谱平坦的脉冲波形中的单个频谱平坦的脉冲波形进行编码的实体132pc。每个单个编码的脉冲波形被输出作为编码的脉冲信号。从另一视角来看,图10的用于编码单个脉冲的实体132pc与图8中所示的用于编码脉冲波形的实体132pc相同,但使用若干次来编码若干脉冲波形。
图10的实体132pc包括脉冲编码器132spc,用于平坦的脉冲波形的构造器132cpw和布置为一种反馈环路的存储器132m。构造器132cpw具有与220cpw相同的功能,以及存储器132m具有与图14中的229相同的功能。每个单个/当前脉冲由实体132spc考虑过去的脉冲基于平坦的脉冲波形来编码。关于过去的脉冲的信息由存储器132m提供。注意,由132pc编码的过去的脉冲经由脉冲波形构造器132cpw和存储器132m馈送。这使得能够进行预测。使用这种预测方法的结果由图11示出。这里,图11a表示图11b中的平坦的原始信号以及预测和所得到的预测残余信号。
根据实施例,在来自先前帧的个脉冲和来自当前帧的已量化脉冲中找到最相似的先前量化的脉冲。如上所定义的相关性/>用于选择最相似的脉冲。如果相关性的差异低于0.05,则选择更接近的脉冲。最相似的先前脉冲是预测/>的源,并且在脉冲编码中使用其相对于当前编码的脉冲的索引/>对多达四个相对预测源索引/>进行分组和霍夫曼编码。分组和霍夫曼码取决于/>以及是/>还是/>
最大相关性的偏移是脉冲预测偏移绝对地,差分地或相对于估计值对该偏移进行编码,其中根据脉冲的精确位置处的基音滞后来计算估计。计算每种类型的编码所需的比特数,并选择使用最少比特的比特数。
最大化SNR的增益用于缩放预测/>预测增益用3到4比特非均匀地量化。如果预测残余的能量不比脉冲的能量小至少5%,则不使用预测并将/>设置为零。
使用多达四个冲激来量化预测残余。在另一个示例中,可以使用其它最大数量的冲激。由冲激构成的量化的残余被称为创新这由图12示出。为了节省比特,对于从该帧中的脉冲预测的每个脉冲,冲激的数量减少1。换言之:如果预测增益为零或者如果预测的源是来自先前帧的脉冲,则四个冲激被量化,否则冲激的数量与预测源相比减少。
图12示出了待用作图10的处理块132spc的处理路径。处理路径能够确定编码的脉冲,并且可以包括三个实体132bp、132qi、132ce。
用于找到最佳预测的第一实体132bp使用过去的脉冲和脉冲波形来确定iSOURCE、移位、GP'和预测残余。量化冲激实体132gi量化预测残余,并输出GI'和冲激。实体132ce被配置为计算和应用校正因子。所有这些信息与脉冲波形一起被实体132ce接收以校正能量,从而输出编码的冲激。根据实施例可以使用以下算法:
为了找到并编码冲激,使用以下算法:
1.使用全波整流来构造绝对脉冲波形
2.用零初始化在每个位置处具有多个冲激的矢量:
3.找到中的最大值的位置:
4.具有多个冲激的矢量在找到的最大值的位置处增加一:
5.中的最大值减小:
6.重复步骤3-5,直到找到所需的冲激数量,其中脉冲数等于
注意,冲激可以具有相同的位置。冲激的位置由它们距脉冲中心的距离来排序。第一冲激的位置被绝对编码。随后冲激的位置以取决于先前冲激的位置的概率进行差分编码。霍夫曼编码用于冲激定位。每个冲激的正负号也被编码。如果多个冲激共享相同的位置,则正负号仅被编码一次。
图13示出了残余信号15r的4个已找到并按比例缩放的冲激15i。具体地,由线表示的冲激可相应缩放,例如,冲激+/-1乘以增益/>
最大化SNR的增益用于缩放由冲激构成的创新/>创新增益是用2到4比特非均匀量化的,这取决于脉冲的数量/>
平坦的脉冲波形的量化的第一估计则为:
其中Q()表示量化。
因为增益是通过使SNR最大化而找到的,所以的能量可以比原始目标/>的能量低得多。为了补偿能量减少,计算校正因子cg:/>
最终增益则为:
使用量化的平坦的脉冲波形来更新用于预测的存储器:
的编码结束时,将量化的平坦的脉冲波形保存在存储器中,以用于随后帧中的预测。
下面将参照图14讨论用于重构脉冲的方法。
图14示出了用于重构单个脉冲波形的实体220。下面讨论的用于重构单个脉冲波形的方法是对多个脉冲波形执行多次。图15的实体22'使用多个脉冲波形来重构包括多个脉冲的波形。从另一视角来看,实体220处理由多个编码脉冲和多个脉冲频谱包络组成的信号,并且对于每个编码脉冲和相关联的脉冲频谱包络输出单个重构的脉冲波形,使得在实体220的输出处是由多个重构的脉冲波形组成的信号。
实体220包括多个子实体,例如,用于构造频谱平坦的脉冲波形的实体220cpw,用于生成频谱平坦的脉冲波形的脉冲频谱图(相位和幅度频谱图)的实体224,以及用于对脉冲幅度频谱图进行频谱整形的实体226。该实体226使用幅度频谱图以及脉冲频谱包络。实体226的输出被馈送到转换器,用于将脉冲频谱图转换为由附图标记228标记的波形。该实体228接收相位频谱图以及频谱整形的脉冲幅度频谱图,以便重构脉冲波形。应当注意,实体220cpw(被配置用于构造频谱平坦的脉冲波形)在其输入处接收描述编码脉冲的信号。构造器220cpw包括一种包括更新存储器229的反馈回路。这使得能够考虑过去的脉冲来构造脉冲波形。这里,反馈先前构造的脉冲波形,使得实体220cpw可以使用过去的脉冲来构造下一个脉冲波形。下面将讨论该脉冲重构器220的功能。要注意的是,在解码器侧仅存在量化的平坦的脉冲波形(也称为解码的平坦的脉冲波形或编码的平坦的脉冲波形),并且由于在解码器侧不存在原始脉冲波形,使用平坦的脉冲波形来命名解码器侧的量化的平坦的脉冲波形,并且使用脉冲波形来命名量化的脉冲波形(也称为解码的脉冲波形或编码的脉冲波形或解码的脉冲波形)。
为了在解码器侧220重构脉冲,在对增益(和/>)、冲激/创新、预测源/>和偏移/>进行解码之后,构造量化的平坦的脉冲波形(参见实体220cpw)。用于预测的存储器229被更新(以与实体132m中的编码器相同的方式)。然后为每个脉冲波形获得STFT(参见实体224)。例如,如在脉冲提取中,使用相同的具有75%重叠的2毫秒长的平方正弦窗。使用解码和平滑的频谱包络重新整形STFT的幅度,并在脉冲起始频率/>以下将STFT的幅度调零。幅度与包络的简单相乘可用于整形STFT(参见实体226)。不修改相位。经由逆DFT、加窗和重叠相加从STFT获得脉冲的重构的波形(参见实体228)。可替换地,包络可以经由FIR或一些其它滤波器来整形,从而避免STFT。
图15示出了实体228之后的实体22',实体228接收脉冲的多个重构的波形以及脉冲的位置以便构造波形yP(参见图2a、图2c)。该实体22'例如用作图2a或图2c的波形构造器22内的最后一个实体。
重构的脉冲波形基于解码的位置连接,在图15中的实体22'中,在脉冲之间插入零。将连接的波形添加到解码的信号(参见图2a或图2c中的23或图6中的114m)。以同样的方式原始脉冲波形/>被连接(参见图6中的114),并从基于MDCT的编解码器的输入中减去(参见图6)。
重构的脉冲波形基于解码的位置连接,在脉冲(重构的脉冲波形)之间插入零。将连接的波形添加到解码的信号。以相同的方式,原始脉冲波形/>被连接并从基于MDCT的编解码器的输入中减去。
重构的脉冲波形不是原始脉冲的完美表示。因此,从输入中去除重构的脉冲波形将留下信号的一些瞬态部分。由于利用MDCT编解码器不能很好地呈现瞬态信号,所以将存在整个帧上的噪声扩展,并且将降低对脉冲进行单独编码的优点。为此,从输入中去除原始脉冲。
根据实施例,HF音调标志可定义如下:
在yMHF上计算当前窗口中的样本和具有(或/>)延迟的延迟版本之间的归一化相关性ρHF,其中yMHF是脉冲残余信号yM的高通滤波版本。例如,可以使用具有大约6kHz的交叉频率的高通滤波器。
对于在指定频率以上的每个MDCT频率仓,如在[18]的5.3.3.2.5中那样,确定频率仓是音调还是类似噪声。在当前帧中计算音调频率仓的总数nHFTonalCurr,并且当nHFTonal=0.5·nHFTonal+nHFTonalCurr另外计算平滑的音调频率的总数。
如果TNS未起作用并且存在基音轨迹并且在高频中存在音调,则HF音调标志φH被设置为1,其中如果ρHF>0或nHFTonal>1,则音调存在于高频中。
关于图16讨论iBPC方法。现在将解释获得最佳量化步长gQo的过程。该过程可以是块iBPC的组成部分。注意,图16的iBPC基于XMR输出在另一装置中,XMR和/>可用作输入(详细参见图3)。
图16示出了用于估计步长的方法的流程图。该过程起始,其中i=0,然后执行例如量化、自适应带调零、联合确定频带式参数和频谱以及确定频谱是否可编码的四个步骤。这些步骤由附图标记301至304标记。在频谱可编码的情况下,减小步长(参见步骤307),执行下一次迭代++i(参见附图标记308)。只要i不等于最大迭代次数就执行此操作(参见判决步骤309)。在实现最大迭代次数的情况下,输出步长。在没有达到最大迭代次数的情况下,执行下一次迭代。
在频谱不可编码的情况下,应用具有步骤311和312以及验证步骤(频谱现在可编码)313的过程。此后,在开始实施下一次迭代(参见步骤308)之前增大步长(参见340)。
频谱XMR,其频谱包络在感知上被平坦,在整个编码的带宽上使用单个量化步长gQ被标量量化,并且例如利用产生编码的spect的基于上下文的算术编码器被熵编码。编码的频谱带宽被划分成宽度增大的子带Bi。/>
如上文图16的解释中已有说明所述,迭代地找到最佳量化步长gQo,也称为全局增益。
在每次迭代中,在块“量化”中对频谱XMR进行量化以产生XQ1。在块“自适应带调零”中,在子带Bi中计算零量化的线的能量与原始能量的比率,并且如果能量比率高于自适应阈值则将XQ1中的整个子带设置为零。基于音调标志φH和标志/>来计算阈值/>其中标志/>指示子带是否在先前帧中被调零:
对于每个调零的子带,将标志设置为1。在处理当前帧结束时,将/>复制到可替换地,可以有多于一个的音调标志和从多个音调标志到每个子带的音调的映射,产生每个子带的音调值/>的这些值可以例如具有来自一组值{0.25、0.5、0.75}的值。可替换地,可使用其它决策来基于零量化的线的能量和原始能量以及基于内容XQ1和XMR来决定是否将XQ1中的整个子带i设定为零。
使用自适应带调零的频率范围可以被限制在某一频率fABZStart(例如7000Hz)以上,将自适应带调零向下扩展到某一频率fABZMin(例如700Hz),只要最低子带被调零。
完全为零的fEZ以上的XQ1的子带的个别的零填充水平(个别的zfl)被明确地编码,其中fEZ例如为3000Hz,并且另外地,被量化为零的fEZ以下的所有零子带和fEZ以上所有零子带的一个零填充水平(zflsmall)被编码。即使没有通过自适应带调零明确地设置为零,由于块“量化”中的量化,XQ1的子带可以完全为零。计算用于零填充水平(zfl由个别的zfl和zflsmall组成)和XQ1中的频谱线的熵编码所需的比特数。另外,找到可以用可用比特预算显式编码的频谱线的数量NQ。NQ是编码的spect的组成部分,并且在解码器中用于找出有多少比特用于对频谱线进行编码;可以使用用于找到用于对频谱线进行编码的比特数的其它方法,例如使用特殊的EOF字符。只要没有足够的比特来编码所有的非零线,NQ以上的XQ1中的线就被设置为零,并重新计算所需的比特。
为了计算对频谱线进行编码所需的比特,计算对从底部起始的线进行编码所需的比特。这种计算只需要一次,因为对频谱线进行编码所需的比特的重新计算通过存储每个n≤NQ的n条线进行编码所需的比特数而变得高效。
在每次迭代中,如果所需比特数超过可用比特,则全局增益减小(307),否则增大(314)。在每次迭代中,调整全局增益变化的速度。可以使用与来自EVS的速率失真环路中相同的修改来迭代地修改全局增益。在迭代过程结束时,最佳量化步长gQo等于例如使用来自EVS的标准产生频谱的最佳编码的gQ
代替实际编码,可以使用编码所需的最大比特数的估计。迭代过程的输出是最佳量化步长大小gQo;输出还可以包含编码的spect和编码的噪声填充水平(zfl),因为它们通常已经可用,以避免在再次获得它们时的重复处理。
下面将详细讨论零填充。
根据实施例,现在将从选择源频谱的方式的示例开始解释块“零填充”。
为创建所述零填充,自适应地找到下列参数:
·最佳长复制距离
·最小复制距离
·最小复制源起始
·复制距离偏移ΔC
如果源频谱是已经获得的XCT的较低部分,则最佳复制距离确定最佳距离。/>的值在最小值/>和最大值/>之间,最小值/>例如被设置为对应于5600Hz的索引,最大值/>例如被设置为对应于6225Hz的索引。其它值可以与约束/>一起使用。
谐波之间的距离是从平均基音滞后/>计算的,其中平均基音滞后/>是从比特流解码的或从比特流的参数(例如基音轨迹)得出的。可替代地,可以通过分析XDT或其衍生(例如,从使用XDT获得的时域信号)来获得/>谐波/>之间的距离不一定是整数。如果则/>被设置为零,其中零是表示没有有意义的基音滞后的信号方式。
的值是谐波距离/>大于最小最佳复制距离/>的最小倍数:
如果为零,则/>不使用。
起始TNS频谱线加上TNS阶数被表示为iT,它可以是例如对应于1000Hz的索引。
如果TNS在帧中未起作用,则将设置为/>如果TNS起作用,则将/>设置为iT,另外如果HF是音调(例如,如果φH是1),下界为/>
从解码的spect XDT估计幅度频谱ZC
计算估计的幅度频谱的归一化相关性:
相关性LC的长度被设置为可用频谱所允许的最大值,可选地被限制为某个值(例如5000Hz的等效长度)。
基本上,寻找使复制源和目的地/>之间的相关性最大化的n,其中0≤m<LC
中选择/>其中ρC具有第一峰并且高于ρC的平均值,即: 并且/>并且对于每一个/>不满足ρC[m-1]≤ρC[m]≤ρC[m+1]。在其它实施中,可以选择/>使得它是在从/>到/>的范围内的绝对最大值。可以为/>选择在从/>到/>的范围内的任何其它值,其中最佳长复制距离是预期的。
如果TNS起作用,可以选择
如果TNS未起作用,其中/>是归一化相关性并且/>是先前帧中的最佳距离。标志/>指示在先前帧中音调是否有变化。函数/>返回/> 或/>在/>返回哪个值的决定主要基于/>和/>这些值。如果标志/>为真并且/>或/>为有效,则/>被忽略。在极少数情况下使用/>和/>的值。
在一个示例中,可以用以下决策来定义
·如果大于/>至少/>以及/>大于/>至少/>则返回/>其中/>和/>是分别与/>和/>成比例的自适应阈值。另外,可以请求/>高于某个绝对阈值,例如0.5。
·否则,如果大于/>至少一个阈值,例如0.2,则返回/>
·否则,如果被设置并且/>则返回/>
·否则,如果被设置且/>的值有效,即如果存在有意义的基音滞后,则返回
·否则,如果是小的,例如低于0.1,并且/>的值是有效的,即,如果存在有意义的基音滞后,并且来自先前帧的基音滞后变化是小的,则返回/>
·否则返回
如果TNS起作用或者如果并且音调是低的,则将标志/>设置为真,例如如果φH为假或者如果/>是零,则音调是低的。/>是例如小于1的值,例如0.7。设置为/>的值用于随后帧。
还计算先前帧和当前帧之间的/>的百分比变化。
除非最佳复制距离等于/>并且/>(/>是预定义的阈值),否则将复制距离偏移ΔC设置为/>在这种情况下,将ΔC设置为与先前帧中的值相同的值,使其在连续帧中保持不变。/>是先前帧和当前帧之间的/>的变化(例如百分比变化)的度量。如果/>的百分比变化,例如/>可以被设置为0.1。如果TNS在帧中起作用,则不使用ΔC
例如,如果TNS起作用,则可以将最小复制起始设置为iT,可选地,如果HF是音调,则下界为/>或例如如果TNS在当前帧中未起作用,则可以将最小复制起始/>设置为
例如,如果TNS未起作用,则最小复制距离被设置为/>如果TNS起作用,则如果HF不是音调,例如将/>设置为/>或者如果HF是音调,例如将/>设置为/>
使用例如XN[-1]=∑n2n|XD[n]|作为初始条件,随机噪声频谱XN被构造为XN[n]=short(31821XN[n-1]+13849),其中函数short将结果截断为16比特。可以使用任何其他随机噪声发生器和初始条件。随机噪声频谱XN然后在XD中的非零值的位置处被设置为零,并且可选地,在被设置为0的位置之间的XN中的部分加窗,以便减少在XD中的非零值的位置附近的随机噪声。
对于起始于XCT中的的具有长度/>的每个子带,找到/>的源频谱。子带划分可以与用于编码zfl的子带划分相同,但也可以不同,更高或更低。
例如,如果TNS未起作用并且HF不是音调,则随机噪声频谱XN被用作所有子带的源频谱。在另一示例中,XN被用作其他源为空的子带的源频谱,或者用作起始于最小复制目的地:以下的一些子带的源频谱.
在另一示例中,如果TNS未起作用并且HF是音调,则预测的频谱XNP可用作起始于 以下的子带的源,并且其中EB在相邻子带中比EB高至少12dB,其中从过去解码的频谱或从过去解码的频谱获得的信号(例如从解码的TD信号)获得预测的频谱。
对于未包含在上述示例中的情况,可以找到距离dC,使得或XCT[sC+m]和XN[sC+dC+m]的混合可以被用作起始于/>的/>的源频谱,其中/>在一个示例中,如果TNS起作用,但是仅在较高频率(例如在4500Hz)处起始,并且HF不是音调的,则如果/>XCT[sC+m]和XN[sC+dC+m]的混合可以用作源频谱;在又一示例中,可以使用仅XCT[sC+m]或由零组成的频谱作为源。如果/>则dC可设定为/>如果TNS起作用,则可以找到正整数n,从而/>并且可以将dC设置为/>例如最小的这种整数n。如果TNS未起作用,则可以找到另一个正整数n,从而/> 并将dC设置为/>例如最小的这种整数n。
在另一示例中,可以将直到起始频率fZFStart的XS中的最低子带设置为0,这意味着在最低子带中XCT可以是XDT的副本。
现在给出基于块“零填充”中的EB对源频谱进行加权的示例。
在平滑EB的示例中,可以从可以从zfl获得,每个/>对应于EB中的子带i。/>然后被平滑化:/>以及/>
根据源频谱为每个子带Bi计算缩放因子
另外,对缩放进行限制因子计算为:/>
源频谱带被分成两半,每一半被缩放,第一半利用 被缩放和第二半利用/>被缩放。
缩放的源频谱带其中缩放的源频谱带是/>被添加到/>以获得
现在给出对零量化的线(作为iBPC的部分)的能量进行量化的示例。
通过将非零量化的线设置为零而从XMR获得XQZ。举例来说,以与XN中相同的方式,将XQ中的非零量化的线的位置处的值设定为零,并且非零量化的线之间的零部分在XMR中加窗,产生XQZ
零线的每频带i能量计算自XQZ
例如,使用步长1/8量化并限于6/8。仅针对被完全量化为零的fEZ以上的子带,单独的/>被编码为个别的zfl,其中fEZ为例如3000Hz。另外,一个能量水平/>被计算为来自fEZ以下的零子带和fEZ以上的零子带的所有/>的平均值,其中/>量化到零,零子带意味着整个子带被量化到零。低水平/>以步长1/16被量化,并被限制到3/16。非零子带中的各个零线的能量被估计并未被显示地编码。
长期预测(LTP)
现在将解释块LTP 164。
时域信号yC被用作LTP的输入,其中yC从XC获得作为IMDCT的输出。IMDCT包括逆MDCT、加窗和重叠相加。当前帧中的yC的左重叠部分和非重叠部分被保存在LTP缓冲器中。在LTP中LTP缓冲器用于随后帧以产生用于MDCT的整个窗口的预测的信号。这由图17a示出。
如果较短的重叠(例如半重叠)被用于当前窗口中的右重叠,则非重叠部分“重叠diff”也被保存在LTP缓冲器中。因此,在“重叠diff”位置处的样本(参见图17b)也将与在“重叠diff”之前的两条垂直线之间的位置处的样本一起被放入LTP缓冲器中。非重叠部分“重叠diff”不在当前帧中的解码器输出中,而只在随后帧中(参见图17b和图17c)。
如果较短的重叠被用于当前窗口中的左重叠,则直到当前窗口的起始的整个非重叠部分被用作LTP缓冲器的部分,用于产生预测的信号。
从LTP缓冲器产生用于MDCT的整个窗口的预测的信号。窗口长度的时间间隔被分成长度LsubF0的重叠子间隔,其中跳跃大小LupdateF0=LsubF0/2。可以使用其它跳跃大小和子间隔长度和跳跃大小之间的关系。重叠长度可以是LupdateF0-LsubF0或更小。选择LsubF0使得在子间隔内预期没有显著的基音变化。在一个示例中,LupdateF0是最接近但不大于/>的整数,并且LsubF0被设置为2LupdateF0。如图17d所示,在另一示例中,可另外请求帧长度或窗口长度可被LupdateF0除尽。
下面,将给出“计算装置(1030)被配置为根据与编码的音频信号的帧相关联的间隔内的子间隔的位置从编码的基音参数得出子间隔参数”的示例,以及“参数是从编码的基音参数和与编码的音频信号的帧相关联的间隔内的子间隔位置得出的”的示例。对于每个子间隔,从基音轨迹获得子间隔的中心isubCenter处的基音滞后。在第一步骤中,将子间隔基音滞后LsubF0设置为子间隔中心的位置处的基音滞后dcontour[isubCenter]。只要子间隔结束到窗口起始的距离(isubCenter+LsubF0/2)大于dsubF0,dsubF0增加从该位置dsubF0的基音轨迹到子间隔中心的左侧的基音滞后值,即dsubF0=dsubF0+dcontour[isubCenter-dsubF0]直到isubCenter+LsubF0/2<dsubF0。子间隔结束到窗口起始的距离(isubCenter+LsubF0/2)也可以称为子间隔结束。
在每个子间隔中,使用LTP缓冲器和具有传递函数HLTP(z)的滤波器来构造预测的信号,其中:
其中Tint是dsubF0的整数部分,即以及Tfr是dsubF0的分数部分,即Tfr=dsubF0-Tint,并且B(z,Tfr)是分数延迟滤波器。B(z,Tfr)可以具有低通特性(或者可以去加重高频)。然后,预测信号在子间隔的重叠区域中交叉衰落。
可替换地,预测的信号可使用如[19]中所述的具有级联滤波器的方法来构造,其中滤波器的零输入响应(ZIR)基于具有传递函数HLTP2(z)的滤波器且LTP缓冲器用作滤波器的初始输出,其中:
B(z,Tfr)示例:
在示例中,Tfr通常舍入到值列表中的最接近的值,并且对于列表中的每个值,滤波器B是预定义的。
预测的信号XP*以与用于产生XM的窗口相同的窗口被加窗,并经由MDCT变换以获得XP
下面,将给出用于根据从编码的基音参数得出的参数来修改预测频谱或预测频谱的衍生的装置的示例。远离XP中的谐波至少nFafeguard的MDCT系数的幅度被设置为零(或与小于1的正因子相乘),其中nFsafeguard例如是10。可替换地,除了矩形窗口之外的其它窗口可以用于减小谐波之间的幅度。考虑到XP中的谐波位于为的整数倍的仓位置,其中LM是XP长度并且/>是平均校正的基音滞后。谐波位置是/>这消除了谐波之间的噪声,尤其是当检测到半基音滞后时。
利用与XM相同的方法,例如经由SNSE,在感知上平坦化XP的频谱包络,以获得XPS
下面给出“基于编码的基音参数确定可预测谐波的数量”的示例。使用XPS,XMS确定可预测谐波的数目nLTP。nLTP被编码并传输到解码器。可以预测高达NLTP个谐波,例如NLTP=8。XPS和XMS被划分为长度/>的NLTP个带,每个带起始于/>n∈{1,…,nLTP}。选择nLTP使得对于所有n≤nLTP,XMS-XPS和XMS的能量的比率低于阈值τLTP,例如τLTP=0.7nLTP。如果没有这样的n,则nLTP=0并且LTP在当前帧中未起作用。利用标志来用信号通知LTP起作用还是未起作用。可以使用XP和XM来代替XPS和XMS。可以使用XPS和XMT来代替XPS和XMS。可替换地,可基于基音轨迹dcontour来确定可预测谐波的数目。
如果LTP起作用,则从XMT减去除第0个系数之外的XPS的前个系数,以产生XMR。第零个和/>以上的系数从XMT复制到XMR
在量化的过程中,XQ从XMR获得,XQ被编码为spect,并且通过解码XD从spect获得。
下面,将给出被配置为将预测频谱(XP)的至少部分或预测频谱的衍生(XPS)的部分与误差频谱(XD)组合的组合器(157)的示例。如果LTP起作用,则除第0个系数之外的XPS的前个系数被添加XD以产生XDT。第0个和/>以上的系数从XD复制到XDT。/>表示使用向下取整函数。
下面,将讨论谐波后置滤波的可选特征。
时域信号yC是从XC获得作为IMDCT的输出,其中IMDCT由逆MDCT、加窗和重叠相加组成。对yC应用遵循基音轨迹的谐波后置滤波器(HPF)以降低谐波之间的噪声并输出yH。作为yC的替代,可以使用yC和从解码的脉冲波形构造的时域信号yP的组合作为HPF的输入。
当前帧k的HPF输入是yC[n](0≤n<N)。过去的输出样本yH[n](-dHPFmax≤n<0,其中dHPFmax至少是最大基音滞后)也是可用的。Nahead个IMDCT先行(look-ahead)样本也是可用的,其可包括逆MDCT输出的右重叠区的时间混叠部分。示出了应用HPF的时间间隔等于当前帧的示例,但是可以使用不同的间隔。HPF当前输入/输出、HPF过去输出和IMDCT先行相对于MDCT/IMDCT窗口的位置由图18a示出,图18a还示出可按惯例添加以产生重叠相加的重叠部分。
如果在比特流中用信号通知HPF应当使用恒定参数,则在当前帧的开始处使用平滑,随后在帧的剩余部分上使用具有恒定参数的HPF。可替换地,可对yC执行基音分析以决定是否应使用恒定参数。使用平滑的区域的长度可以取决于基音参数。
当不用信号通知恒定参数时,HPF输入被分成长度Lk的重叠子间隔,其中跳跃大小Lk,update=Lk/2。也可以使用其他跳跃大小。重叠长度可以Lk,update-Lk或更小。选择Lk使得在子间隔内预期没有显著的基音变化。在一个示例中,Lk,update是最接近pitch_mid/2但不大于pitch_mid/2的整数,并且Lk被设置为2Lk,update。代替pitch_mid,可以使用一些其它值,例如pitch_mid和pitch_start的平均值,或者从对yC的基音分析中获得的值,或者例如在具有变化基音的信号的间隔中的预期最小基音滞后。可替换地,可以选择固定数目的子间隔。在另一示例中,可以另外请求帧长度可被Lk,update除尽(参见图18b)。
可以说,当前间隔k中的子间隔的数目是Kk,在先前间隔k-1中子间隔的数目是Kk-1,在随后间隔k+1中子间隔的数目是Kk+1。在图18b的示例中,Kk=6和Kk-1=4。
在其它示例中,当前(时间)间隔可能被分成非整数个子间隔和/或子间隔的长度在当前间隔内改变,如图18c和图18d示出。
对于当前间隔k(1≤l≤Kk)中的每个子间隔l,使用基音搜索算法找到子间隔基音滞后pk,l,该基音搜索算法可以与用于获得基音轨迹的基音搜索相同或与其不同。子间隔l的基音搜索可以使用从编码的基音滞后(pitch_mid、pitch_end)得出的值来降低搜索的复杂度和/或增加跨子间隔的值pk,l的稳定性,例如从编码的基音滞后得出的值可以是基音轨迹的值。在其它示例中,可使用在yC的完整间隔中通过全局基音分析找到的参数来代替编码的基音滞后,以降低搜索的复杂度和/或跨子间隔的值pk,l的稳定性。在另一示例中,当搜索子间隔基音滞后时,假设先前子间隔的谐波后置滤波的中间输出是可用的并在基音搜索中使用(包括先前间隔的子间隔)。
Nahead个(可能是时间混叠的)先行样本也可以用于寻找跨越(时间)间隔/帧边界的子间隔中的基音,或者例如如果先行不可用,则可以在解码器中引入延迟,以便在间隔中具有用于最后子间隔的先行。可替换地,从编码的基音滞后(pitch_mid、pitch_end)得出的值可被用于
对于谐波后置滤波,可以使用增益自适应谐波后置滤波器。在该示例中,HPF具有以下传递函数:
其中B(z,Tfr)是分数延迟滤波器。B(z,Tfr)可以与在LTP中使用的分数延迟滤波器相同或不同于它们,因为选择是独立的。在HPF中,B(z,Tfr)还用作低通(或去加重高频的倾斜滤波器)。
具有传递函数H(z)和bj(Tfr)作为B(z,Tfr)的系数的增益自适应谐波后置滤波器的差分方程的示例是:
代替具有分数延迟的低通滤波器,可以使用单位滤波器(identity filter),并给定B(z,Tfr)=1以及差分方程:
y[n]=x[n]-βh(αx[n]-gy[n-Tint])
参数g是最佳增益。它对信号的振幅变化(调制)模型化并且是信号自适应的。
参数h是谐度水平。它控制信号谐度的期望增加并且是信号自适应的。参数β也控制信号谐度的增加,并且是恒定的或取决于样本率和比特率。参数β也可以等于1。乘积βh的值应该在0和1之间,0不产生谐度的变化,以及1最大地增加谐度。在实践中,通常是βh<0.75。
谐波后置滤波器的前馈部分(即1-αβhB(z,0))充当高通(或去加重低频的倾斜滤波器)。参数α确定高通滤波的强度(或者换句话说,它控制去加重倾斜),并且具有0和1之间的值。参数α是恒定的或取决于样本率和比特率。在实施例中,0.5至1之间的值是优选的。
对于每个子间隔,找到最佳增益gk,l和谐度水平hk,l,或者在一些情况下,可以从其它参数得出最佳增益和谐度水平。
对于给定B(z,Tfr)的情况,将用于对信号进行移位/滤波的函数定义为:
/>
yL,l[n]=yC[n+(l-1)L]
利用这些定义,yL,l[n]表示对于0≤n<L的具有长度L的(子)间隔l中的信号yC表示利用B(z,0)的yC的滤波,y-p表示(可能是分数)p个样本的yH的移位。
将信号yC和在具有长度L和移位p的(子)间隔l处的yH的归一化相关性normcorr(yC,yH,l,L,p)定义为:
normcorr(yC,yH,l,L,p)的可替换定义可以是:
Tfr=p-Tint
在可替换定义中yL,l[n-Tint]表示在过去的子间隔中的yH,其中n<Tint
在以上定义中,使用了第四阶B(z,Tfr)。可以使用任何其它阶,对于j需要在范围上进行改变。在B(z,Tfr)=1的示例中,得到和/>如果只考虑整数移位它们可被使用。
以这种方式定义的归一化相关性允许计算分数移位p。
normcorrl和L的参数定义了归一化相关性的窗口。在上述定义中使用矩形窗口。可以替代地使用任何其他类型的窗口(例如,Hann、Cosine),该窗口可以将和/>与w[n]相乘,其中w[n]表示窗口。
为了得到子间隔上的归一化相关性,将设置l为间隔数和L为子间隔的长度。
的输出表示子帧l的增益自适应谐波后置滤波器H(z)的ZIR,其中β=h=g=1和/>和Tfr=p-Tint
最佳增益gk,l对子帧l中的幅度变化(调制)模型化。它可以例如被计算为预测的信号与低通输入的相关性除以预测的信号的能量:
在另一示例中,最佳增益gk,l可以被计算为低通输入的能量除以预测的信号的能量:
谐度水平hk,l控制信号谐度的期望增大,并且可以例如被计算为归一化相关性的平方:
hk,l=normcorr(yC,yH,l,Lk,pk,l)2
通常,子间隔的归一化相关性已经是从子间隔处的基音搜索中可获得的。
还可以根据LTP和/或根据解码的频谱特性来修改谐度水平hk,l。例如,可以设置:
hk,l=hmodLTPhmodTiltnormcorr(yC,yH,l,Lk,pk,l)2
其中hmodLTP是0和1之间的值,并且与由LTP预测的谐波数量成比例,并且hmodTilt是0和1之间的值,并且与XC的倾斜成反比。在一个示例中,如果nLTP为零,hmodLTP=0.5,否则hmodLTP=0.7+0.3nLTP/NLTP。XC的倾斜可以是前7个频谱系数的能量与后43个系数的能量的比率。
一旦已经计算了子间隔l的参数,就可以产生子间隔l的不与子间隔l+1重叠的部分的谐波后置滤波的中间输出。如上面所写的,该中间输出被用于找到后续子间隔的参数。
每个子间隔是重叠的,并且使用两个滤波器参数之间的平滑操作。可以使用如[3]所述的平滑。下面将讨论优选实施例。
实施例提供了用于解码和编码音频信号的装置,编码的音频信号至少包括编码的基音参数和定义误差频谱的参数,该装置包括:反频域变换(例如逆MDCT),用于从误差频谱的衍生生成混叠td音频信号块;用于使用至少混叠td音频信号块生成td音频信号的帧的装置,其中混叠td音频信号的至少某些部分与td音频信号不同(源自加窗和重叠相加的时域混叠消除(tdac));用于将来自td音频信号的帧的样本放入LTP缓冲器的装置;用于根据编码的基音参数将预测信号划分为子间隔的装置,其中至少在某些情况下子间隔的数量多于时间上不同的编码的基音参数;用于根据预测信号中子间隔的位置,从编码的基音参数得出子间隔参数的装置,其中至少在某些情况下,不同的子间隔参数多于时间上不同的编码的基音参数;用于根据子间隔参数,从LTP缓冲器生成预测信号的装置,包括跨越子间隔边界/在子间隔边界处的平滑处理;用于生成预测频谱的频域变换;用于将预测频谱的衍生的至少一部分与误差频谱组合以生成组合频谱(衍生是感知上频谱平坦化或修改)的装置;其中误差频谱的衍生从组合频谱得出(衍生包括零填充、感知上频谱整形和TNS)。
根据另一个实施例,提供了用于解码编码的音频信号的装置。该装置包括反频域变换,用于从误差频谱的衍生中生成混叠td音频信号块;用于使用至少两个混叠td音频信号块生成td音频信号的帧的装置,其中混叠td音频信号的至少一些部分与td音频信号不同(源自加窗和重叠相加的时域混叠消除(tdac));用于将来自td音频信号的帧的样本放入LTP缓冲器的装置;用于根据从编码的基音参数得出的参数,从LTP缓冲器生成预测信号的装置;用于从预测信号生成预测频谱的频域变换;用于根据从编码的基音参数得出的参数,修改预测频谱或其衍生,以生成修改后的预测频谱的装置(衍生例如是感知上频谱平坦化。修改例如是指谐波之间幅度的减小或对可预测谐波数量的限制);用于将修改后的预测频谱的衍生的至少一部分与误差频谱组合,以生成组合频谱的装置(例如,衍生是指感知上频谱平坦化);其中误差频谱的衍生是从组合频谱中得出的(衍生包括例如零填充、感知上频谱整形和TNS)。
另一种用于解码编码的音频信号的装置包括:反频域变换,用于从误差频谱的衍生中生成混叠td音频信号块;使用至少两个混叠td音频信号块生成td音频信号的帧的装置,其中混叠td音频信号的至少某些部分与td音频信号不同(来自加窗和重叠相加的时域混叠消除(tdac));用于将来自td音频信号的帧的样本放入LTP缓冲器的装置;用于根据LTP缓冲器的内容从编码的基音参数得出修改后的基音参数的装置(即扩展编码的基音参数的频率范围);用于根据修改后的基音参数从LTP缓冲器生成预测频谱的装置(修改后的基音参数可用于生成预测信号或修改预测频谱);用于将预测频谱的衍生的至少一部分与误差频谱组合以生成组合频谱的装置(衍生例如是感知上频谱平坦化);其中误差频谱的衍生从组合频谱中得出(衍生包括例如零填充、感知频谱整形和TNS)。
根据实施例,该装置还包括用于将与td音频信号无差异的混叠td音频信号块中的所有样本放入LTP缓冲器的装置,即使这些样本用于生成td音频信号的后续帧(当重叠短于最大重叠时使用非重叠IMDCT输出)。例如,可以调整LTP缓冲器使用的各个样本的部分(例如,从而增加用于LTP的样本的部分)。图17c示出了与图17a相比的用于LTP的增加的部分的示例。这意味着,根据实施例,一个或多个先前帧被LTP缓冲器缓冲;缓冲帧可用于预测当前帧或后续帧。例如,只使用一个缓冲帧或多个缓冲帧,或只使用一个或多个帧的一部分(一个或多个样本)。选择各个缓冲帧的哪部分是动态选择的。例如,选择缓冲部分以包含将在后续帧中输出的样本。一般来说,可以包括一个或多个帧的一个或多个样本。
另一个实施例提供了用于处理音频信号的音频处理器,该音频信号具有与之相关联的基音滞后信息,音频处理器包括:域转换器,用于基于帧将音频信号的第一域表示转换为音频信号的第二域表示;以及用于根据基音信息将音频信号划分为重叠的子间隔的装置,其中至少在某些情况下,帧中有至少两个子间隔;谐波后置滤波器,用于在子间隔的基础上对音频信号的第二域表示进行滤波(包括跨越子间隔边界/在子间隔边界处进行平滑),其中谐波后置滤波器基于包括分子和分母的传递函数,其中分子包括谐度值,以及其中分母包括谐度值、增益值和基音滞后值,其中,谐度值与滤波器的期望强度成比例,而与音频信号中的振幅变化无关,增益值取决于音频信号中的振幅变化,以及至少在某些情况下,谐波后置滤波器在不同的子间隔中是不同的。
根据实施例,谐度值、增益值和基音滞后值是使用谐波后置滤波器在过去子间隔的已有可用输出和音频信号的第二域表示得出的。背景是谐波后置滤波器可能从前先前子间隔到后续子间隔而发生变化,以及谐波后置滤波器使用已有可用输出作为其输入。
另一个实施例将LTP和HPF二者与频域解码器的组合。
虽然已经在装置的上下文中描述了一些方面,但是清楚的是,这些方面还表示对应方法的描述,其中块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤的上下文中描述的方面也表示对对应装置的对应块或项目或特征的描述。一些或所有方法步骤可以由(或使用)硬件装置来执行,例如微处理器、可编程计算机或电子电路。在一些实施例中,一些最重要的方法步骤中的一个或多个可以由这样的装置执行。
本发明的编码的音频信号可以存储在数字存储介质上,或者可以在传输介质上传输,传输介质为诸如无线传输介质或诸如因特网的有线传输介质。
根据某些实施要求,本发明的实施例可以用硬件或软件来实施。该实施可以使用数字存储介质来执行,例如软盘、DVD、蓝光、CD、ROM、PROM、EPROM、EEPROM或FLASH存储器,其上存储有电子可读控制信号,该电子可读控制信号与可编程计算机系统协作(或能够协作),从而执行相应的方法。因此,数字存储介质可以是计算机可读的。
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,电子可读控制信号能够与可编程计算机系统协作,从而执行本文所述的方法之一。
通常,本发明的实施例可被实施为具有程序代码的计算机程序产品,当计算机程序产品在计算机上运行时,程序代码可操作用于执行方法之一。程序代码例如可以存储在机器可读载体上。
其它实施例包括存储在机器可读载体上的用于执行本文所述方法之一的计算机程序。
换言之,本发明方法的实施例因此是具有程序代码的计算机程序,当计算机程序在计算机上运行时,程序代码用于执行本文描述的方法之一。
因此,本发明方法的另一实施例是数据载体(或数字存储介质,或计算机可读介质),其包括记录在其上的用于执行本文所述方法之一的计算机程序。数据载体、数字存储介质或记录介质通常是有形的和/或非过渡性的。
因此,本发明方法的另一实施例是表示用于执行本文所述方法之一的计算机程序的数据流或信号序列。数据流或信号序列可以例如被配置为经由数据通信连接(例如经由因特网)传输。
另一实施例包括处理装置,例如计算机或可编程逻辑器件,其被配置为或适于执行本文所述的方法之一。
另一实施例包括其上安装有用于执行本文所述方法之一的计算机程序的计算机。
根据本发明的另一实施例包括被配置为将用于执行本文描述的方法之一的计算机程序传送(例如,电子地或光学地)到接收机的装置或系统。接收机例如可以是计算机、移动设备、存储设备等。该装置或系统例如可以包括用于将计算机程序传送到接收机的文件服务器。
在一些实施例中,可编程逻辑器件(例如现场可编程门阵列)可用于执行本文描述的方法的一些或全部功能。在一些实施例中,现场可编程门阵列可与微处理器协作以执行本文所述的方法之一。通常,这些方法优选地由任何硬件装置执行。
上述实施例仅用于说明本发明的原理。应当理解,本文描述的布置和细节的修改和变化对于本领域的其他技术人员是显而易见的。因此,意图仅由待决的专利权利要求书的范围限制,而不是由通过本文实施例的描述和解释而呈现的具体细节限制。
参考文献
[1]G.Cohen,Y.Cohen,D.Hoffman,H.Krupnik,and A.Satt,“Digital audiosignal coding,”US 6,064,954,1998.
[2]K.Makino and J.Matsumoto,“Hybrid audio coding for speech and audiobelow medium bit rate,”in Consumer Electronics,2000.ICCE.2000Digest ofTechnical Papers.International Conference on,2000,pp.264-265.
[3]J.Ojanpera,“Method,apparatus and computer program to providepredictor adaptation for advanced audio coding(AAC)system,”2004.
[4]J.“Method for improving the coding efficiency of an audiosignal,”2007.
[5]J.“Method for improving the coding efficiency of an audiosignal,”2008.
[6]J.M./>and L.Yin,“Long term predictor for transformdomain perceptual audio coding,”in Audio Engineering Society Convention 107,1999./>
[7]S.A.Ramprashad,“A multimode transform predictive coder(MTPC)forspeech and audio,”in Speech Coding Proceedings,1999IEEE Workshop on,1999,pp.10-12.
[8]B.Edler,C.Helmrich,M.Neuendorf,and B.Schubert,“Audio Encoder,AudioDecoder,Method For Encoding An Audio Signal And Method For Decoding AnEncoded Audio Signal,”PCT/EP2016/054831,2016.
[9]L.Villemoes,J.Klejsa,and P.Hedelin,“Speech coding with transformdomain prediction,”in 2017IEEE Workshop on Applications of Signal Processingto Audio and Acoustics(WASPAA),2017,pp.324-328.
[10]R.H.Frazier,“An adaptive filtering approach toward speechenhancement.,”Citeseer,1975.
[11]D.Malah and R.Cox,“A generalized comb filtering technique forspeech enhancement,”in Acoustics,Speech,and Signal Processing,IEEEInternational Conference on ICASSP’82.,1982,vol.7,pp.160-163.
[12]J.Song,C.-H.Lee,H.-O.Oh,and H.-G.Kang,“Harmonic Enhancement inLow Bitrate Audio Coding Using an Efficient Long-Term Predictor,”in EURASIPJ.Adv.Signal Process.2010,2010.
[13]T.Morii,“Post Filter And Filtering Method,”PCT/JP2007/074044,2007.
[14]E.Ravelli,C.Helmrich,G.Markovic,M.Neusinger,S.Disch,M.Jander,andM.Dietz,“Apparatus and Method for Processing an Audio Signal Using a HarmonicPost-Filter,”PCT/EP2015/066998,2015.
[15]3rd Generation Partnership Project;Technical Specification GroupServices and System Aspects;Codec for Enhanced Voice Services(EVS);Detailedalgorithmic description,no.26.445.3GPP,2019.
[16]C.Helmrich,J.Lecomte,G.Markovic,M.Schnell,B.Edler,and S.Reuschl,“ApparatusAnd Method For Encoding Or Decoding An Audio Signal Using ATransient-Location DependentOverlap,”PCT/EP2014/053293,2014.
[17]C.Helmrich,J.Lecomte,G.Markovic,M.Schnell,B.Edler,and S.Reuschl,“ApparatusAnd Method For Encoding Or Decoding An Audio Signal Using ATransient-Location DependentOverlap,”PCT/EP2014/053293,2014.
[18]3rd Generation Partnership Project;Technical Specification GroupServices and SystemAspects;Codec for Enhanced Voice Services(EVS);Detailedalgorithmic description,no.26.445.3GPP,2019.
[19]G.Markovic,E.Ravelli,M.Dietz,and B.Grill,“Signal Filtering,”PCT/EP2018/080837,2018.
[20]N.Guo and B.Edler,“Encoder,Decoder,Encoding Method And DecodingMethod ForFrequency Domain Long-Term Prediction Of Tonal Signals For AudioCoding,”PCT/EP2019/082802,2019
[21]N.Guo and B.Edler,“Frequency Domain Long-Term Prediction for LowDelay GeneralAudio Coding”,IEEE Signal Processing Letters,2021
[22]T.Nanjundaswamy and K.Rose,“Cascaded Long Term Prediction forEnhancedCompression of Polyphonic Audio Signals,”IEEE/ACM Transactions OnAudio,Speech,AndLanguage Processing,2014
[23]E.Ravelli,M.Schnell,C.Benndorf,M.Lutzky,and M.Dietz,Apparatus AndMethodFor Encoding And Decoding An Audio Signal Using Downsampling OrInterpolation Of ScaleParameters,U.S.Patent PCT/EP2017/0789212017.
[24]E.Ravelli,M.Schnell,C.Benndorf,M.Lutzky,M.Dietz,and S.Korse,Apparatus AndMethod For Encoding And Decoding An Audio Signal UsingDownsampling Or Interpolation OfScale Parameters,U.S.Patent PCT/EP2018/0801372018.
[25]Low Complexity Communication Codec.Bluetooth,2020.
[26]Digital Enhanced Cordless Telecommunications(DECT);LowComplexityCommunication Codec plus(LC3plus),no.103 634.ETSI,2019.

Claims (28)

1.一种用于处理编码的音频信号的处理器(1000,164,101,201,201′),编码的音频信号至少包括编码的基音参数,处理器(1000)包括:
LTP缓冲器(1010),被配置为接收从编码的音频信号的帧得出的样本(yC);
间隔分割器(1020),被配置为根据编码的基音参数将与编码的音频信号的后续帧相关联的时间间隔划分为子间隔;
计算装置(1030),被配置为根据子间隔在与编码的音频信号的后续帧相关联的时间间隔内的位置,从编码的基音参数得出子间隔参数;
预测器(1040),被配置为根据子间隔参数从LTP缓冲器(1010)生成预测信号;以及
频域变换器(1050),被配置为基于预测信号生成预测频谱(XP)。
2.根据权利要求1所述的处理器(1000,164,101,201),其中,存在比时间上不同的编码的基音参数更多的子间隔;和/或
其中,存在比时间上不同的编码的基音参数更多的不同的子间隔参数;和/或
其中,帧中存在一个以上时间上不同的编码的基音参数。
3.根据权利要求1或2所述的处理器(101,201),其中,处理器(101,201)还包括反频域变换器(161);和/或
其中,处理器(101,201)还包括反频域变换器(161),反频域变换器(161)被配置为从误差频谱的衍生(XC)中生成混叠音频信号块,其中预测频谱(XP)是从编码的音频信号的帧获得的,和/或其中误差频谱(XD)是从在编码的音频信号的帧之后的编码的音频信号的后续帧获得的,以及误差频谱的衍生(XC)是从误差频谱(XD)得出的;和/或
其中,处理器(10l,201)还包括用于使用至少两个混叠时域音频信号块生成时域音频信号(yC)的帧的装置,其中混叠时域音频信号的至少部分分别不同于时域音频信号(yC)和接收的样本(yC)。
4.根据前述权利要求之一所述的处理器(101,201),还包括被配置为零填充以获得误差频谱的衍生(XC)的实体;和/或被配置为频谱整形(SNSD)以获得误差频谱的衍生(XC)的实体;和/或被配置为时间整形(TNSD)以获得误差频谱的衍生(XC)的实体。
5.根据前述权利要求之一所述的处理器(101,201),还包括组合器(157),被配置为将预测频谱的衍生(XPS)的至少部分与误差频谱(XD)组合以生成组合频谱(XDT);和/或
其中预测频谱的衍生(XPS)是通过对预测频谱(XP)进行感知上平坦化而从预测频谱(XP)得出的。
6.根据前述权利要求之一所述的处理器(101,201),还包括组合器(157),被配置为将预测频谱(XP)的至少部分与误差频谱(XD)组合以生成组合频谱(XDT);和/或
还包括组合器(157),被配置为将预测频谱(XP)的至少部分或预测频谱的衍生(XPS)的至少部分与误差频谱(XD)组合,其中所述部分根据编码的基音参数确定;和/或
还包括组合器(157),被配置为将预测频谱(XP)的至少部分或预测频谱的衍生(XPS)的至少部分与误差频谱(XD)组合,其中如果LTP缓冲器起作用,则将预测频谱(XP)或预测频谱的衍生(XPS)的除第0个系数之外的前个系数添加到误差频谱(XD)以产生组合频谱(XDT);和/或其中第0个和/>以上的系数从误差频谱(XD)复制到组合频谱(XDT);
其中nLTP是来自编码的音频信号的参数,和/或,其中nLTP是可预测谐波的数量;以及,
其中iF0是从编码的基音参数得出的。
7.根据前述权利要求之一所述的处理器(1000),其中,在每个子间隔内,使用LTP缓冲器(1010)和/或使用出自LTP缓冲器(1010)的解码的音频信号和滤波器构建预测信号,滤波器的参数从编码的基音参数和与编码的音频信号的后续帧相关联的时间间隔内的子间隔位置得出。
8.根据前述权利要求之一所述的处理器(1000),其中计算装置(1030)被配置为从编码的基音参数得出子间隔参数,其中子间隔参数至少包括如下的子间隔基音参数(dsubF0):
从基音轨迹(dcontour)获取与子间隔中心(isubCenter)相关联的子间隔基音滞后(dsubF0),其中基音轨迹由多个值组成,具有以下一个或多个子步骤:
-将子间隔基音滞后(dsubF0)设置为子间隔中心的位置处的基音轨迹值(dcontour[isubCenter])
-确定子间隔结束(isubCenter+LsubF0/2)
-将子间隔基音滞后(dsubF0)与子间隔结束(isubCenter+LsubF0/2)进行比较,得出比较结果
-根据比较结果,调整从子间隔基音滞后得出的位置(isubCenter-dsubF0)处的用于基音轨迹值的子间隔基音滞后(dsubF0)
和/或
处理器还包括计算装置,被配置为从编码的基音参数得出基音轨迹;其中基音轨迹是使用插值法从编码的基音参数获得的。
9.根据前述权利要求之一所述的处理器(1000),还包括用于跨越多个子间隔的至少两个子间隔的边界和/或在多个子间隔的至少两个子间隔的边界处平滑预测信号的装置,和/或
还包括用于跨越多个子间隔的至少两个子间隔的边界和/或在多个子间隔的至少两个子间隔的边界处平滑预测信号的装置,其中至少所述至少两个子间隔是重叠的。
10.根据前述权利要求之一所述的处理器(1000),还包括用于根据从编码的基音参数得出的参数修改预测频谱或预测频谱的衍生的装置,以生成修改后的预测频谱;和/或
还包括用于修改预测频谱(XP)或预测频谱的衍生(XPS)的装置,其中用于修改的装置被配置为通过将MDCT系数的幅度设置为零或乘以小于l的正因子来调整远离XP或XPS中的谐波至少nFsafeguard的MDCT系数的幅度;或还包括用于修改预测频谱或预测频谱的衍生的装置,其中用于修改的装置被配置为减小谐波之间的预测频谱的幅度或预测频谱的衍生的幅度。
11.根据前述权利要求之一所述的处理器(1000),还包括用于根据LTP缓冲器(1010)的内容从编码的基音参数得出修改后的基音参数的装置;和/或
其中,预测频谱是根据修改后的基音参数生成的。
12.根据前述权利要求之一所述的处理器(1000),还包括用于将来自混叠音频信号块的与音频信号无差别的所有样本(yC)放入LTP缓冲器(1010)的装置;或
还包括将来自混叠音频信号块的与时域音频信号(yC)无差别的样本(yC)放入LTP缓冲器(1010)的装置,其中样本(yC)用于生成音频信号的后续帧;或
还包括用于将来自混叠音频信号块的与当前帧无差别的样本(yC)放入LTP缓冲器(1010)的装置,其中样本(yC)用于生成时域音频信号(yC)的后续帧,其中通过用于放入样本的装置对当前帧的部分的选择或从混叠音频信号块中选择的样本(yC)的部分的选择进行调整。
13.一种用于处理音频信号(yC)的处理器(1100,214),处理器(1100,214)包括:
分割器(1110),被配置为将与音频信号(yC)的帧相关联的时间间隔分割成多个子间隔,每个子间隔具有各自的长度,多个子间隔的各自的长度取决于基音滞后值;
谐波后置滤波器(1120),被配置为对多个子间隔进行滤波,其中谐波后置滤波器(1120)基于包括分子和分母的传递函数,其中分子包括谐度值,以及其中分母包括基音滞后值和谐度值和/或增益值。
14.根据权利要求13所述的处理器(1000,1100,214),其中多个子间隔中的至少两个子间隔是重叠的。
15.根据权利要求13或14所述的处理器(1100,214),其中谐度值与谐波后置滤波器的期望强度成比例,和/或与音频信号(yC)的振幅变化无关;和/或
其中增益值取决于音频信号(yC)的振幅变化;和/或
其中多个子间隔的各自的长度取决于基音滞后值。
16.根据权利要求13至15之一所述的处理器(1100,214),其中谐波后置滤波器从子间隔到后续子间隔发生变化;和/或
其中后续子间隔中的谐度值和/或增益值和/或基音滞后值是使用子间隔中的谐波后置滤波器(1120)的输出得出的。
17.根据权利要求13至16之一所述的处理器(1100,214),其中,谐波后置滤波器(1120)在多个子间隔的至少两个不同的子间隔中是不同的,或者其中相关联的谐度值和/或基音滞后值和/或增益值在多个子间隔的至少两个不同的子间隔中是不同的;或者
其中谐波后置滤波器(1120)在多个子间隔的至少两个不同的子间隔中是不同的,或者其中相关联的谐度值和/或基音滞后值和/或增益值在多个子间隔的至少两个不同的子间隔中是不同的,多个子间隔的至少两个不同的子间隔属于同一帧。
18.根据权利要求13至17之一所述的处理器(1100,214),还包括用于跨越子间隔边界和/或在子间隔边界处平滑在多个子间隔中的谐波后置滤波器(1120)的输出的装置。
19.根据权利要求13至18之一所述的处理器(1100,214),其中帧内存在至少两个子间隔。
20.根据权利要求13至19之一所述的处理器(1100,214),其中各自的长度取决于平均基音;和/或
其中平均基音从编码的基音参数获得;和/或
其中编码的基音参数具有的时间分辨率高于编解码器成帧,和/或其中编码的基音参数具有的时间分辨率低于基音轨迹。
21.根据权利要求13至20之一所述的处理器(1100,214),还包括域转换器(161),被配置为基于帧将音频信号的第一域表示(XC)转换为音频信号的第二域表示(yC);或
还包括域转换器(161),被配置为基于帧将音频信号的频域表示(XC)转换为音频信号的时域表示(yC)。
22.一种处理单元,包括根据权利要求1至12之一所述的处理器(1000,164,101,201,201′)和根据权利要求13至21之一所述的处理器(1100,214)。
23.一种用于解码编码的音频信号的解码器,包括根据权利要求l至12之一所述的处理器和/或根据权利要求13至21之一所述的处理器。
24.根据权利要求23所述的解码器,还包括频域解码器或基于逆MDCT的解码器。
25.一种用于编码音频信号的编码器,包括根据权利要求1至12之一所述的处理器。
26.一种用于处理编码的音频信号的方法,编码的音频信号至少包括编码的基音参数,方法包括以下步骤:
使用LTP缓冲器(1010)接收从编码的音频信号的帧得出的样本(yC);
根据编码的基音参数,将与在编码的音频信号的帧之后的编码的音频信号的后续帧相关联的时间间隔划分为子间隔;
根据子间隔在与编码的音频信号的后续帧相关联的时间间隔内的位置,从编码的基音参数得出子间隔参数;
根据子间隔参数从LTP缓冲器(1010)生成预测信号;以及
基于预测信号生成预测频谱。
27.一种用于处理音频信号(yC)的方法,方法包括以下步骤:
将与音频信号的帧相关联的时间间隔分割成多个子间隔,每个子间隔具有各自的长度,多个子间隔中的至少两个子间隔的各自的长度取决于基音滞后值;
使用谐波后置滤波器(1120)对多个子间隔进行滤波,其中谐波后置滤波器(1120)基于包括分子和分母的传递函数,其中分子包括谐度值,以及其中分母包括基音滞后值和谐度谐波值和/或增益值。
28.一种计算机程序,用于在计算机上运行时执行根据权利要求26所述的方法和/或根据权利要求27所述的方法。
CN202280062479.4A 2021-07-14 2022-07-14 基于长期预测和/或谐波后置滤波生成预测频谱的处理器 Pending CN117940994A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP21185662.0 2021-07-14
EP21185662.0A EP4120256A1 (en) 2021-07-14 2021-07-14 Processor for generating a prediction spectrum based on long-term prediction and/or harmonic post-filtering
PCT/EP2022/069751 WO2023285600A1 (en) 2021-07-14 2022-07-14 Processor for generating a prediction spectrum based on long-term prediction and/or harmonic post-filtering

Publications (1)

Publication Number Publication Date
CN117940994A true CN117940994A (zh) 2024-04-26

Family

ID=76942805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280062479.4A Pending CN117940994A (zh) 2021-07-14 2022-07-14 基于长期预测和/或谐波后置滤波生成预测频谱的处理器

Country Status (5)

Country Link
EP (2) EP4120256A1 (zh)
KR (1) KR20240036029A (zh)
CN (1) CN117940994A (zh)
CA (1) CA3225841A1 (zh)
WO (1) WO2023285600A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116520022B (zh) * 2023-06-29 2023-09-15 武汉纺织大学 电力谐波动态检测方法、装置、电子设备及介质
CN116739048B (zh) * 2023-08-16 2023-10-20 合肥工业大学 基于多元transformer的雷电长时预测模型、方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064954A (en) 1997-04-03 2000-05-16 International Business Machines Corp. Digital audio signal coding
EP2980799A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for processing an audio signal using a harmonic post-filter

Also Published As

Publication number Publication date
EP4371109A1 (en) 2024-05-22
WO2023285600A1 (en) 2023-01-19
KR20240036029A (ko) 2024-03-19
EP4120256A1 (en) 2023-01-18
CA3225841A1 (en) 2023-01-19

Similar Documents

Publication Publication Date Title
RU2389085C2 (ru) Способы и устройства для введения низкочастотных предыскажений в ходе сжатия звука на основе acelp/tcx
JP6173288B2 (ja) マルチモードオーディオコーデックおよびそれに適応されるcelp符号化
EP3039676B1 (en) Adaptive bandwidth extension and apparatus for the same
RU2667382C2 (ru) Улучшение классификации между кодированием во временной области и кодированием в частотной области
JP4950210B2 (ja) オーディオ圧縮
US8825496B2 (en) Noise generation in audio codecs
JP5978218B2 (ja) 低ビットレート低遅延の一般オーディオ信号の符号化
RU2669079C2 (ru) Кодер, декодер и способы для обратно совместимого пространственного кодирования аудиообъектов с переменным разрешением
JP2018036668A (ja) スペクトルパターンを利用することによってシヌソイドおよびスイープを効率的に合成するための装置および方法
CN117940994A (zh) 基于长期预测和/或谐波后置滤波生成预测频谱的处理器
US20100250260A1 (en) Encoder
AU2014280256B2 (en) Apparatus and method for audio signal envelope encoding, processing and decoding by splitting the audio signal envelope employing distribution quantization and coding
US20240177720A1 (en) Processor for generating a prediction spectrum based on long-term prediction and/or harmonic post-filtering
EP4120253A1 (en) Integral band-wise parametric coder
EP4120257A1 (en) Coding and decocidng of pulse and residual parts of an audio signal
US20240177724A1 (en) Coding and decoding of pulse and residual parts of an audio signal
WO2014198726A1 (en) Apparatus and method for audio signal envelope encoding, processing and decoding by modelling a cumulative sum representation employing distribution quantization and coding
WO2011114192A1 (en) Method and apparatus for audio coding
Bhaskar et al. Low bit-rate voice compression based on frequency domain interpolative techniques

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination