掌桥专利:专业的专利平台
掌桥专利
首页

对线性预测系数量化的方法和装置及解量化的方法和装置

文献发布时间:2023-06-19 11:17:41


对线性预测系数量化的方法和装置及解量化的方法和装置

分案申请声明

本申请是申请日为2015年5月7日、发明名称为“对线性预测系数量化的方法和装置及解量化的方法和装置”的第201580037280.6号专利申请的分案申请。

技术领域

一个或多个示例性实施方案涉及线性预测系数的量化和反量化,更具体地,涉及用于以低复杂度有效地量化线性预测系数的方法和设备,以及用于反量化的方法和设备。

背景技术

在用于编码声音(诸如语音或音频)的系统中,线性预测编码(LPC)系数用来表示声音的短期频率特性。LPC系数以一种形式获得,该形式是以帧为单位划分输入声音并且使每个帧的预测误差的能量最小化。然而,LPC系数具有大的动态范围,并且所使用的LPC滤波器的特性对LPC系数的量化误差非常敏感,因此不能保证滤波器的稳定性。

因此,通过将LPC系数转换成容易确认滤波器的稳定性的另一系数来对LPC系数进行量化,插值是有利的,并且量化特性是良好的。最优选的是通过将LPC系数转换成线谱频率(LSF)或导谱频率(ISF)来量化LPC系数。具体地讲,量化LSF系数的方案可在频域和时域中使用LSF系数的高帧间相关性,从而增加量化增益。

LSF系数表现出短期声音的频率特性,并且在其中输入声音的频率特性急剧变化的帧的情况下,对应的帧的LSF系数也急剧变化。然而,包括使用LSF系数的高帧间相关性的帧间预测器的量化器无法对急剧变化的帧执行适当的预测,并且因此量化性能降低。因此,需要选择与输入声音的每个帧的信号特性相对应的优化的量化器。

发明内容

技术问题

一个或多个示例性实施方案包括用于以低复杂度有效地量化线性预测编码(LPC)系数的方法和设备以及用于反量化的方法和设备。

技术方案

根据一个或多个示例性实施方案,一种量化设备包括:格栅结构化矢量量化器,所述格栅结构化矢量量化器被配置来量化第一预测矢量与N维子矢量之间的第一误差矢量,其中N是大于或等于2的自然数;以及帧内预测器,所述帧内预测器被配置来从量化的N维子矢量生成所述第一误差矢量,其中所述帧内预测器被配置来使用具有N×N矩阵的预测系数并且通过使用前一级的量化N维子矢量来执行帧内预测。

所述设备还可包括被配置来量化所述N维子矢量的量化误差的矢量量化器。

所述设备还可包括帧间预测器,当格栅结构化矢量量化器被配置来量化第二误差矢量(其对应于预测误差矢量与第二矢量之间的差)时,所述帧间预测器被配置来从先前帧的量化N维子矢量生成当前帧的预测矢量,所述预测误差矢量是从当前帧的N维子矢量和预测矢量所获得。

所述设备还可包括帧间预测器,当格栅结构化矢量量化器被配置来量化第二误差矢量(其对应于预测误差矢量与第二矢量之间的差值)时,所述帧间预测器被配置来从先前帧的经量化N维子矢量和被配置来量化预测误差矢量的量化误差的矢量量化器产生当前帧的预测矢量,所述预测误差矢量是从当前帧的N维子矢量和预测矢量所获得。

根据一个或多个示例性实施方案,一种量化设备包括:第一量化模块,所述第一量化模块用于在没有帧间预测的情况下执行量化;以及第二量化模块,所述第二量化模块用于利用帧间预测来执行量化,其中,所述第一量化模块包括:第一格栅结构化矢量量化器,所述第一格栅结构化矢量量化器被配置来量化第一预测矢量与N维子矢量之间的第一误差矢量,其中N是大于或等于2的自然数;以及第一帧内预测器,所述第一帧内预测器被配置来从量化的N维子矢量生成所述第一误差矢量,其中所述第一帧内预测器被配置来使用具有N×N矩阵的预测系数并且通过使用前一级的量化N维子矢量来执行帧内预测。

所述设备还可包括误差矢量量化器,所述误差矢量量化器被配置来通过对量化误差矢量量化来生成量化的量化误差矢量,所述量化误差矢量对应于当前级的量化N维线性矢量与输入N维线性矢量之间的差值。

帧内预测器可被配置来当矢量量化器被配置来量化当前级的N维线性矢量与当前帧的预测矢量之间的预测误差矢量时,从量化的预测误差矢量生成预测矢量。

所述设备还可包括误差矢量量化器,所述误差矢量量化器被配置来当矢量量化器被配置来量化当前级的N维线性矢量与当前帧的预测矢量之间的预测误差矢量时,量化预测误差矢量的量化误差。

根据一个或多个示例性实施方案,一种反量化设备包括:格栅结构化矢量反量化器,所述格栅结构化矢量反量化器被配置来对N维子矢量的第一量化指标进行反量化,其中N是大于或等于2的自然数;以及帧内预测器,所述帧内预测器被配置来从量化的N维子矢量生成预测矢量,其中所述量化的N维子矢量对应于通过将来自格栅结构化矢量反量化器的量化误差矢量与预测矢量相加而获得的结果,所述帧内预测器被配置来使用具有N×N矩阵的预测系数并且通过使用前一级的量化N维子矢量来执行帧内预测。

反量化设备还可包括矢量反量化器,所述矢量反量化器被配置来量化N维子矢量的量化误差的第二量化指标。

反量化设备还可包括帧间预测器,所述帧间预测器被配置来当格栅结构化矢量反量化器被配置来反量化N维子矢量与当前帧的预测矢量之间的量化误差矢量的第三量化指标时,从先前帧的量化的N维子矢量生成当前帧的预测矢量。

反量化设备还可包括:帧间预测器,所述帧间预测器被配置来从先前帧的量化的N维子矢量生成当前帧的预测矢量;以及矢量反量化器,所述矢量反量化器被配置来当格栅结构化矢量反量化器被配置来反量化N维子矢量与当前帧的预测矢量之间的量化误差矢量的第三量化指标时,量化预测误差矢量的量化误差的第四量化指标。

有益效果

根据示例性实施方案,当通过根据语音或音频的信号特性将语音或音频信号分类成多种编码模式来量化语音或音频信号,并且根据应用于每种编码模式的压缩比率来分配不同数量的比特,通过设计在低比特率下具有良好性能的量化器可更有效地量化语音或音频信号。

此外,当设计用于提供各种比特率的量化装置时,可通过共享一些量化器的码本来最小化存储器的使用量。

附图说明

通过结合附图对示例性实施方案的以下描述,这些和/或其他方面将变得清楚和更容易理解,在附图中:

图1是根据示例性实施方案的声音编码设备的框图。

图2是根据另一示例性实施方案的声音编码设备的框图。

图3是根据示例性实施方案的线性预测编码(LPC)量化单元的框图。

图4是根据示例性实施方案的图3的加权函数确定单元的详细框图。

图5是根据示例性实施方案的图4的第一加权函数生成单元的详细框图。

图6是根据示例性实施方案的LPC系数量化单元的框图。

图7是根据示例性实施方案的图6的选择单元的框图。

图8是根据示例性实施方案的描述图6的选择单元的操作的流程图。

图9A至图9E是示出图6所示的第一量化模块的各种实现的实例的框图。

图10A至图10D是示出图6所示的第二量化模块的各种实现的实例的框图。

图11A至图11F是示出其中权重被应用于块约束格栅编码矢量量化器(BC-TCVQ)的量化器的各种实现的实例的框图。

图12是根据示例性实施方案的在低速率下的具有开环方案的切换结构的量化设备的框图。

图13是根据示例性实施方案的在高速率下的具有开环方案的切换结构的量化设备的框图。

图14是根据另一示例性实施方案的在低速率下的具有开环方案的切换结构的量化设备的框图。

图15是根据另一示例性实施方案的在高速率下的具有开环方案的切换结构的量化设备的框图。

图16是是根据示例性实施方案的LPC系数量化单元的框图。

图17是根据示例性实施方案的具有闭环方案的切换结构的量化设备的框图。

图18是根据另一示例性实施方案的具有闭环方案的切换结构的量化设备的框图。

图19是根据示例性实施方案的反量化设备的框图。

图20是根据示例性实施方案的反量化设备的详细框图。

图21是根据另一示例性实施方案的反量化设备的详细框图。

具体实施方式

本发明构思可允许各种改变或修改以及各种形式的改变,并且具体实施方案将在附图中示出并在说明书中详细描述。然而,应当理解,具体实施方案不将本发明构思限制为具体公开形式,而是包括在本发明构思的精神和技术范围内的每个修改、等同或替换的实施方案。在本发明构思的描述中,当确定相关公知的特征的具体描述可能模糊了本发明构思的本质时,则省略其详细描述。

尽管诸如‘第一’和‘第二’的术语可用于描述各种元件,但是元件不能受这些术语的限制。这些术语可用于将某个元件与另一个元件进行分类。

本申请中使用的术语仅用于描述具体实施方案,并且不具有限制本发明构思的任何意图。本说明书中使用的术语是本领域目前广泛使用的那些一般术语,但是这些术语可根据本领域普通技术人员的意图、先例或本领域的新技术而变化。此外,可由申请人选择指定术语,并且在这种情况下,将在详细描述中描述其详细含义。因此,说明书中使用的术语应当被理解为不是简单的名称,而是基于术语的含义和整体描述。

单数形式的表达包括复数形式的表达,除非它们在上下文中彼此明显不同。在本申请中,应当理解,诸如‘包括’和‘具有’的术语用于指示所实现的特征、数量、步骤、操作、元件、部分或其组合的存在,而不预先排除存在或添加一个或多个其他特征、数量、步骤、操作、元件、部分或其组合的可能性。

在下文中,将参照附图详细描述本发明构思的实施方案,并且附图中的相同参考数字指示相同元件,并且因此将省略其重复描述。

通常,格栅编码量化器(TCQ)通过向每个TCQ级分配一个元素来量化输入矢量,而格栅编码矢量量化器(TCVQ)使用通过将整个输入矢量划分成子矢量来生成子矢量并随后将每个子矢量分配给TCQ级的结构。当使用一个元件形成量化器时,形成TCQ,并且当通过组合多个元件使用子矢量来形成量化器时,形成TCVQ。因此,当使用二维(2D)子矢量时,TCQ级的总数与通过将输入矢量的大小除以2而获得的大小相同。通常,语音/音频编解码器以帧为单位对输入信号进行编码,并且针对每个帧提取线性频谱(LSF)系数。LSF系数具有矢量形式,并且将10或16的维度用于LSF系数。在这种情况下,当考虑2D TCVQ时,子矢量的数量是5或8。

图1是是根据示例性实施方案的声音编码设备的框图。

图1所示的声音编码设备100可包括编码模式选择单元110、线性预测编码(LPC)系数量化单元130和CELP编码单元150。每个部件可通过集成到至少一个模块中而实现为至少一个处理器(未示出)。在一个实施方案中,由于声音可指示音频或语音,或者音频和语音的混合信号,所以在下文中为了方便描述将声音称为语音。

参照图1,编码模式选择单元110可选择与多种速率相对应的多种编码模式中的一种。编码模式选择单元110可通过使用先前帧的信号特征、话音活动检测(VAD)信息或编码模式来确定当前帧的编码模式。

LPC系数量化单元130可通过使用与所选择的编码模式相对应的量化器来量化LPC系数,并且确定表示量化的LPC系数的量化指标。LPC系数量化单元130可通过将LPC系数转换成适于量化的另一系数来执行量化。

激励信号编码单元150可根据所选择的编码模式来执行激励信号编码。对于激励信号编码,可使用码激励线性预测(CELP)或代数CELP(ACELP)算法。用于通过CELP方案对LPC系数进行编码的代表性参数是自适应码本索引、自适应码本增益、固定码本索引、固定码本增益等。可基于与输入信号的特征相对应的编码模式来执行激励信号编码。例如,可使用四种编码模式,即无声编码(UC)模式、有声编码(VC)模式、通用编码(GC)模式和过渡编码(TC)模式。当语音信号是清音或具有与清音类似的特征的噪声时,可选择UC模式。当语音信号是浊音时,可选择VC模式。在对其中语音信号的特征急剧变化的过渡时段的信号进行编码时,可使用TC模式。GC模式可用于编码其他信号。UC模式、VC模式、TC模式和GC模式遵循ITU-T G.718中起草的定义和分类标准,但不限于此。激励信号编码单元150可包括开环音调搜索单元(未示出)、固定码本搜索单元(未示出)或增益量化单元(未示出),但是根据编码模式可将部件添加到激励信号编码单元150或者从激励信号编码单元150省略。例如,在VC模式中,包括上述所有部件,并且在UC模式中,不使用开环音调搜索单元。当分配给量化的比特的数量较大时,即在高比特率的情况下,可在GC模式和VC模式中简化激励信号编码单元150。也就是说,通过在GC模式中包括UC模式和TC模式,GC模式可用于UC模式和TC模式。在高比特率的情况下,还可包括非活性编码(IC)模式和音频编码(AC)模式。当分配给量化的比特的数量较小时,即在低比特率的情况下,激励信号编码单元150可将编码模式分类成GC模式、UC模式,VC模式和TC模式。在低比特率的情况下,还可包括IC模式和AC模式。为了静音可选择IC模式,并且当语音信号的特征接近音频时可选择AC模式。

编码模式可根据语音信号的带宽来进一步细分。语音信号的带宽可分类成例如窄带(NB)、宽带(WB)、超宽带(SWB)和全带(FB)。NB可具有300-3400Hz或50-4000Hz的带宽,WB可具有50-7000Hz或50-8000Hz的带宽,SWB可具有50-14000Hz或50-16000Hz的带宽,并且FB可具有高达20000Hz的带宽。本文中,与带宽有关的数值为了方便起见而进行设置,并且不限于此。此外,带宽的分类也可被设置成更简单或更复杂。

当确定编码模式的类型和数量时,需要使用与确定的编码模式相对应的语音信号来再次训练码本。

激励信号编码单元150可根据编码模式另外使用变换编码算法。激励信号可在帧或子帧单元中进行编码。

图2是根据另一示例性实施方案的声音编码设备的框图。

图2所示的声音编码设备200可包括预处理单元210、LP分析单元220、加权信号计算单元230、开环音调搜索单元240、信号分析和话音活动检测(VAD)单元250、编码单元260、存储器更新单元270和参数编码单元280。每个部件可通过集成到至少一个模块中而实现为至少一个处理器(未示出)。在所述实施方案中,由于声音可指示音频或语音,或者音频和语音的混合信号,所以在下文中为了方便描述将声音称为话音。

参照图2,预处理单元210可对输入语音信号进行预处理。通过预处理的处理,可从语音信号中去除不期望的频率分量,或者可调节语音信号的频率特征,以便有利于编码。详细地,预处理单元210可执行高通滤波、预加重、采样转换等。

LP分析单元220可通过对预处理的语音信号执行LP分析来提取LPC系数。通常,每一帧执行一个LP分析,但是每一帧可执行两个或更多个LP分析,以用于附加的声音质量增强。在这种情况下,一个分析是用于帧尾的LP,其是现有的LP分析,并且其他分析可以是用于中间子帧的LP以增强声音质量。本文中,当前帧的帧尾指示构成当前帧的子帧中的最后一个子帧,并且先前帧的帧尾指示构成先前帧的子帧中的最后一个子帧。中间子帧指示存在于作为先前帧的帧尾的最后一个子帧与作为当前帧的帧尾的最后一个子帧之间的子帧中的一个或多个子帧。例如,一个帧可由四个子帧组成。当输入信号是NB时,将维度10用于LPC系数,并且当输入信号是WB时,将维度16-20用于LPC系数,但是实施方案不限于此。

加权信号计算单元230可接收预处理的语音信号和提取的LPC系数,并且基于感知加权滤波器来计算感知加权滤波信号。感知加权滤波器可在掩蔽范围内减少预处理的语音信号的量化噪声,以便使用人类听觉结构的掩蔽效应。

开环音调搜索单元240可通过使用感知加权滤波信号来搜索开环音调。

信号分析和VAD单元250可通过分析包括输入信号的频率特征的各种特征来确定输入信号是否是活性语音信号。

编码单元260可通过使用先前帧的信号特征、VAD信息或编码模式来确定当前帧的编码模式,通过使用与所选择的编码模式相对应的量化器来量化LPC系数,并且根据所选择的编码模式来对激励信号进行编码。编码单元260可包括图1所示的部件。

存储器更新单元270可存储编码的当前帧和在编码期间用于后续帧的编码的参数。

参数编码单元280可对将要用于在解码端处进行解码的参数进行编码,并且将编码的参数包括在比特流中。优选地,可对与编码模式相对应的参数进行编码。由参数编码单元280产生的比特流可用于存储或传输的目的。

下文表1示出用于四种编码模式的量化方案和结构的实例。在不进行帧间预测的情况下执行量化的方案可称为安全网方案,并且在进行帧间预测的情况下执行量化的方案可称为预测方案。此外,VQ代表矢量量化器,并且BC-TCQ代表块约束格栅编码量化器。

[表1]

BC-TCVQ代表块约束格栅编码矢量量化器。TCVQ通过泛化TCQ来允许矢量码本和分支标签。TCVQ的主要特征是将扩展集的VQ符号划分成子集并用这些子集来标记格栅分支。TCVQ基于速率1/2卷积码,其具有N=2

用于在16KHz的内部采样频率下的VC模式的BC-TCVQ可使用具有N维(例如2D矢量)的16状态和8级TCVQ。具有两个元素的LSF子矢量可分配给每个级。下文表2示出16状态BC-TCVQ的初始状态和终止状态。在本文,k和v分别表示2和4,并且使用用于初始状态和终止状态的四个比特。

[表2]

编码模式可根据应用的比特率而变化。如上所述,为了使用两种编码模式以高比特率来量化LPC系数,可在GC模式中使用每一帧的40或41个比特,并且可在TC模式中使用每一帧的46个比特。

图3是根据示例性实施方案的LPC系数量化单元的框图。

图3所示的LPC系数量化单元300可包括第一系数转换单元310、加权函数确定单元330、ISF/LSF量化单元350和第二系数转换单元379。每个部件可通过集成到至少一个模块中而实现为至少一个处理器(未示出)。未量化的LPC系数和编码模式信息可提供为对LPC系数量化单元300的输入。

参照图3,第一系数转换单元310可将通过对语音信号的当前帧或先前帧的帧尾进行LP分析而提取的LPC系数转换成不同形式的系数。例如,第一系数转换单元310可将当前帧或先前帧的帧尾的LPC系数转换为LSF系数和ISF系数中的任何一种形式。在这种情况下,ISF系数或LSF系数指示其中LPC系数可更容易量化的形式的实例。

加权函数确定单元330可通过使用从LPC系数转换的ISF系数或LSF系数来确定ISF/LSF量化单元350的加权函数。确定的加权函数可用于选择量化路径或量化方案或者搜索利用其在量化中最小化加权误差的码本索引的操作中。例如,加权函数确定单元330可通过将幅值加权函数、频率加权函数和基于ISF/LSF系数的位置的加权函数进行组合来确定最终的加权函数。

此外,加权函数确定单元330可通过考虑频率带宽、编码模式和频谱分析信息中的至少一个来确定加权函数。例如,加权函数确定单元330可针对每种编码模式而得出最佳加权函数。可替代地,加权函数确定单元330可根据语音信号的频率带宽得出最佳加权函数。可替代地,加权函数确定单元330可根据语音信号的频率分析信息得出最佳加权函数。在这种情况下,频率分析信息可包括频谱倾斜信息。下文详细描述加权函数确定单元330。

ISF/LSF量化单元350可根据输入编码模式来获得最佳量化指标。具体地,ISF/LSF量化单元350可对从当前帧的帧尾的LPC系数转换的ISF系数或LSF系数进行量化。当输入信号是对应于非平稳信号的UC模式或TC模式时,ISF/LSF量化单元350可通过仅使用没有帧间预测的安全网方案来量化输入信号,并且当输入信号是对应于平稳信号的VC模式或GC模式时,ISF/LSF量化单元350可通过切换预测方案和安全网方案来确定考虑到帧误差的最佳量化方案。

ISF/LSF量化单元350可通过使用由加权函数确定单元330确定的加权函数来量化ISF系数或LSF系数。ISF/LSF量化单元350可通过使用由加权函数确定单元330确定的加权函数来量化ISF系数或LSF系数,以选择多个量化路径中的一个。作为量化的结果而获得的指标可用于通过反量化操作获得量化ISF(QISF)系数或量化LSF(QLSF)系数。

第二系数转换单元370可将QISF系数或QLSF系数转换成量化LPC(QLPC)系数。

在下文中,描述LPC系数的矢量量化与加权函数之间的关系。

矢量量化指示通过使用基于矢量中的所有条目具有相同重要性的考虑的平方误差距离测度来选择具有最小误差的码本索引的操作。然而,对于LPC系数,由于所有系数具有不同的重要性,因此当重要系数的误差减小时,可提高最终合成信号的感知质量。因此,当量化LSF系数时,解码设备可通过将表示每个LPC系数的重要性的加权函数应用至平方误差距离测度来选择最佳码本索引,从而提高合成信号的性能。

根据一个实施方案,可使用ISF和LSF的频率信息和实际的频谱幅值来确定关于什么由每个ISF或LSF实际影响到频谱包络的幅值加权函数。根据一个实施方案,可通过将其中考虑频域的感知特征和共振峰分布的频率加权函数与幅值加权函数进行组合来获得额外的量化效率。在这种情况下,由于使用频域中的实际幅值,所以可良好地反映整个频率的包络信息,并且可准确地得出每个ISF或LSF系数的权重。根据一个实施方案,可通过将基于LSF系数或ISF系数的位置信息的加权函数与幅值加权函数和频率加权函数进行组合来获得额外的量化效率。

根据一个实施方案,当对从LPC系数转换的ISF或LSF进行矢量量化时,如果每个系数的重要性不同,那么可确定指示哪个条目在矢量中相对更重要的加权函数。此外,通过确定能够通过分析将要编码的帧的频谱来向较高能量部分分配较高权重的加权函数,可提高编码的精度。频谱中的高能量指示时域中的高相关性。

在表1中,可将用于应用于所有模式的VQ的最佳量化指标确定为用于最小化等式1的E

[等式1]

在等式1中,w(i)表示加权函数,r(i)表示量化器的输入,并且c(i)表示量化器的输出,并且用于获得使两个值之间的加权失真最小化的指标。

接下来,由BC-TCQ使用的失真测量基本上遵循US 7,630,890中公开的方法。在这种情况下,失真测量d(x,y)可由等式2表示。

[等式2]

根据一个实施方案,可将加权函数应用至失真测量d(x,y)。可通过将用于US 7,630,890中的BC-TCQ的失真测量扩展到用于矢量的测量并且随后将加权函数应用至扩展的测量来获得加权失真。也就是说,可通过在BC-TCVQ的所有阶段处获得如下文的等式3中所表示的加权失真来确定最佳指标。

[等式3]

ISF/LSF量化单元350可例如通过切换点阵矢量量化器(LVQ)和BC-TCVQ来根据输入编码模式执行量化。如果编码模式是GC模式,那么可使用LVQ,并且如果编码模式是VC模式,那么可使用BC-TCVQ。当LVQ和BC-TCVQ混合时选择量化器的操作描述如下。首先,可选择用于编码的比特率。在选择用于编码的比特率之后,可确定对应于每个比特率的LPC量化器的比特。此后,可确定输入信号的带宽。量化方案可根据输入信号是否是NB或WB而变化。此外,当输入信号是WB时,需要另外确定将要实际编码的带宽的上限是否是6.4KHz或8KHz。也就是说,由于量化方案可根据内部采样频率是否是12.8KHz或16KHz而变化,所以必须检查带宽。接下来,可根据所确定的带宽来确定可用编码模式的限制内的最优编码模式。例如,可使用四种编码模式(UC、VC、GC和TC),但是以高比特率(例如,9.6Kbit/s或更高)可使用仅三种模式(VC、GC和TC)。基于用于编码的比特率、输入信号的带宽和编码模式来选择量化方案,例如LVQ和BC-TCVQ中的一个,并且输出基于所选择的量化方案量化的指标。

根据一个实施方案,确定比特率是否对应于在24.4Kbps与65Kbps之间,并且如果比特率不对应于在24.4Kbps与65Kbps之间,那么可选择LVQ。否则,如果比特率对应于在24.4Kbps与65Kbps之间,那么确定输入信号的带宽是否是NB,并且如果输入信号的带宽是NB,那么可选择LVQ。否则,如果输入信号的带宽不是NB,那么确定编码模式是否是VC模式,并且如果编码模式是VC模式,那么可使用BC-TCVQ,并且如果编码模式不是VC模式,那么可使用LVQ。

根据另一个实施方案,确定比特率是否对应于在13.2Kbps与32Kbps之间,并且如果比特率不对应于在13.2Kbps与32Kbps之间,那么可选择LVQ。否则,如果比特率对应于在13.2Kbps与32Kbps之间,那么确定输入信号的带宽是否是WB,并且如果输入信号的带宽不是WB,那么可选择LVQ。否则,如果输入信号的带宽是WB,那么确定编码模式是否是VC模式,并且如果编码模式是VC模式,那么可使用BC-TCVQ,并且如果编码模式不是VC模式,那么可使用LVQ。

根据一个实施方案,编码设备可通过将使用与从LPC系数转换的ISF系数或LSF系数的频率对应的频谱幅值的幅值加权函数、其中考虑输入信号的感知特征和共振峰分布的频率加权函数、基于LSF系数或ISF系数的位置的加权函数进行组合来确定最佳加权函数。

图4是根据示例性实施方案的图3的加权函数确定单元的框图。

图4所示的加权函数确定单元400可包括频谱分析单元410、LP分析单元430、第一加权函数生成单元450、第二加权函数生成单元470和组合单元490。每个部件可被集成并实现为至少一个处理器。

参照图4,频谱分析单元410可通过时间到频率映射操作来分析输入信号的频域特征。在本文,输入信号可以是预处理信号,并且可使用快速傅里叶变换(FFT)来执行时间到频率映射操作,但是实施方案不限于此。频谱分析单元410可提供频谱分析信息,例如作为FFT的结果而获得的频谱幅值。在本文,频谱幅值可具有线性标度。详细地,频谱分析单元410可通过执行128点FFT来产生频谱幅值。在这种情况下,频谱幅值的带宽可对应于0-6400Hz的范围。当内部采样频率为16KHz时,频谱幅值的数量可扩展到160。在这种情况下,省略6400-8000Hz的范围的频谱幅值,并且可通过输入频谱产生省略的频谱幅值。详细地,可使用对应于4800-6400Hz的带宽的最后32个频谱幅值来替换6400-8000Hz的范围的省略的频谱幅值。例如,可使用最后32个频谱大小的平均值。

LP分析单元430可通过对输入信号进行LP分析来生成LPC系数。LP分析单元430可从LPC系数生成ISF或LSF系数。

第一加权函数生成单元450可基于ISF或LSF系数的频谱分析信息来获得幅值加权函数和频率加权函数,并且通过将幅值加权函数与频率加权函数组合来生成第一加权函数。可基于FFT获得第一加权函数,并且当频谱幅值较大时可分配较大权重。例如,可通过对频谱分析信息(即频谱幅值)进行归一化以便满足ISF或LSF带并且随后使用与每个ISF或LSF系数相对应的频率的幅值来确定第一加权函数。

第二加权函数生成单元470可基于相邻的ISF或LSF系数的间隔或位置信息来确定第二加权函数。根据一个实施方案,可从与每个ISF或LSF系数相邻的两个ISF或LSF系数生成与频谱灵敏度相关的第二加权函数。通常,ISF或LSF系数位于Z域的单位圆上,并且其特征在于,当相邻的ISF或LSF系数之间的间隔比周围的间隔更窄时,出现频谱峰值。因此,第二加权函数可用于基于相邻LSF系数的位置来近似LSF系数的频谱灵敏度。也就是说,通过测量相邻LSF系数定位得如何接近,可预测LSF系数的密度,并且由于信号频谱可在密集LSF系数存在的频率处附近具有峰值,因此可分配较大权重。在本文,为了在近似频谱灵敏度时提高精度,当确定第二加权函数时,可附加地使用LSF系数的各种参数。

如上所述,ISF或LSF系数与加权函数之间的间隔可具有反比例关系。可使用间隔与加权函数之间的这种关系来执行各种实施方案。例如,间隔可由负值表示或者表示为分母。作为另一实例,为了进一步强调所获得的权重,加权函数的每个元素可乘以常数或者表示为元素的平方。作为另一实例,可进一步反映通过执行主要获得的加权函数的附加计算(例如,平方或立方)而其次获得的加权函数。

通过使用ISF或LSF系数之间的间隔而得出加权函数的实例如下。

根据一个实施方案,可通过下文的等式4获得第二加权函数W

[等式4]

其中d

在等式4中,lsf

根据另一实施方案,第二加权函数W

[等式5]

在等式5中,lsf

组合单元490可通过将第一加权函数与第二加权函数组合来确定将要用于量化LSF系数的最终加权函数。在这种情况下,作为组合方案,可使用各种方案:诸如将第一加权函数与第二加权函数相乘的方案、将每个加权函数乘以适当比率并且随后将相乘结果相加的方案、以及将每个权重与使用查找表等预定的值相乘并且随后将相乘结果相加的方案。

图5是根据示例性实施方案的图4的第一加权函数生成单元的详细框图。

图5所示的第一加权函数生成单元500可包括归一化单元510、大小加权函数生成单元530、频率加权函数生成单元550和组合单元570。在本文,为了便于描述,LSF系数用作第一加权函数生成单元500的输入信号的实例。

参照图5,归一化单元510可在0到K-1的范围内对LSF系数进行归一化。LSF系数通常可具有0到π的范围。对于12.8KHz的内部采样频率,K可以是128,并且对于16.4KHz的内部采样频率,K可以是160。

幅值加权函数生成单元530可基于归一化的LSF系数的频谱分析信息来生成幅值加权函数W

详细地,可使用与归一化的LSF系数的频率相对应的频谱仓(spectral bin)和位于对应的频谱仓的左边和右边(例如一个在前或在后)的两个相邻频谱仓来确定幅值加权函数。与频谱包络相关的每个幅值加权函数W

[等式6]

在等式6中,Min(最小值)表示w

频率加权函数生成单元550可基于归一化的LSF系数的频率信息来生成频率加权函数W

组合单元570可通过将幅值加权函数W

[等式7]

W

图6是根据示例性实施方案的LPC系数量化单元的框图。

图6所示的LPC系数量化单元600可包括选择单元610、第一量化模块630和第二量化模块650。

参照图6,选择单元610可基于预定标准来选择没有帧间预测的量化和具有帧间预测的量化中的一种。在本文,作为预定标准,可使用未量化的LSF的预测误差。预测误差可基于帧间预测值来获得。

当选择没有帧间预测的量化时,第一量化模块630可对通过选择单元610提供的输入信号进行量化。

当选择具有帧间预测的量化时,第二量化模块650可对通过选择单元610提供的输入信号进行量化。

第一量化模块630可在没有帧间预测的情况下执行量化,并且可称为安全网方案。第二量化模块650可利用帧间预测执行量化,并且可称为预测方案。

因此,可对应于从用于高效交互式语音服务的低比特率到用于提供有差别质量的服务的高比特率的各种比特率来选择最佳量化器。

图7是根据示例性实施方案的图6的选择单元的框图。

图7所示的选择单元700可包括预测误差计算单元710和量化方案选择单元730。在本文,预测误差计算单元710可包括在图6的第二量化模块650中。

参照图7,预测误差计算单元710可通过(作为输入)接收帧间预测值p(n)、加权函数w(n)和已去除DC值的LSF系数z(n)来基于各种方法计算预测误差。首先,可使用如在第二量化模块650的预测方案中使用的相同的帧间预测器。在本文,可使用自回归(AR)方法和移动平均(MA)方法中的任何一种。作为用于帧间预测的先前帧的信号z(n),可使用量化值或未量化值。此外,当获得预测误差时,可应用或可不应用加权函数。因此,可获得总共八个组合,并且八个组合中的四个组合如下。

首先,使用先前帧的量化信号z(n)的加权AR预测误差可由下文的等式8表示。

[等式8]

第二,使用先前帧的量化信号z(n)的AR预测误差可由下文的等式9表示。

[等式9]

第三,使用先前帧的信号z(n)的加权AR预测误差可以由下文的等式10表示。

[等式10]

第四,使用先前帧的信号z(n)的AR预测误差可由下文的等式11表示。

[等式11]

在本文,M表示LSF的维数,并且当输入语音信号的带宽是WB时,16共用于M,并且ρ(i)表示AR方法的预测系数。如上所述,使用关于前一帧的信息的情况是常见的,并且可使用如上所述获得的预测误差来确定量化方案。

如果预测误差大于预定阈值,那么这可暗示当前帧趋于非平稳。在这种情况下,可使用安全网方案。否则,使用预测方案,并且在这种情况下,可约束所述预测方案以使得不连续选择所述预测方案。

根据一个实施方案,为了准备应对其中由于在先前帧上发生帧误差而不存在关于先前帧的信息的情况,可使用先前帧的先前帧来获得第二预测误差,并且可使用第二预测误差来确定量化方案。在这种情况下,与上述第一种情况相比,第二预测误差可由下文的等式12表示。

[等式12]

量化方案选择单元730可通过使用由预测误差计算单元710获得的预测误差来确定当前帧的量化方案。在这种情况下,可进一步考虑由编码模式确定单元(图1的110)获得的编码模式。根据一个实施方案,在VC模式或GC模式中,量化方案选择单元730可操作。

图8是根据一个实施方案的用于描述图6的选择单元的操作的流程图。当预测模式具有0值时,这指示一直使用安全网方案,并且当预测模式具有了0之外的值时,这指示通过将安全网方案与预测方案进行切换来确定量化方案。一直使用安全网方案的编码模式的实例可以是UC模式和TC模式。此外,其中安全网方案和预测方案被切换和使用的编码模式的实例可以是VC模式和GC模式。

参照图8,在操作810中,确定当前帧的预测模式是否为0。作为操作810中的确定的结果,如果预测模式为0,例如如果当前帧具有如在UC模式或TC模式中的高变化性,那么由于帧之间的预测是困难的,所以在操作850中可总是选择安全网方案(即第一量化模块630)。

否则,作为操作810中的确定的结果,如果预测模式不为0,那么安全网方案和预测方案中的一个可确定为考虑预测误差的量化方案。为此,在操作830中,确定预测误差是否大于预定阈值。在本文,可通过实验或模拟预先确定所述阈值。例如,对于维度为16的WB,阈值可确定为例如3,784,536.3。然而,可约束预测方案以使得不连续地选择所述预测方案。

作为操作830中的确定的结果,如果预测误差大于或等于阈值,那么可在操作850中选择安全网方案。否则,作为操作830中的确定的结果,如果预测误差小于阈值,那么可在操作870中选择预测方案。

图9A至图9E是示出图6所示的第一量化模块的各种实现的实例的框图。根据一个实施方案,假设16维LSF矢量被用作第一量化模块的输入。

图9A所示的第一量化模块900可以包括:用于通过使用TCQ来量化整个输入矢量的轮廓的第一量化器911以及用于附加地量化量化误差信号的第二量化器913。第一量化器911可使用诸如TCQ、TCVQ、BC-TCQ或BC-TCVQ的格栅结构量化器来实现。第二量化器913可使用矢量量化器或标量量化器来实现,但不限于此。为了在最小化存储器大小的同时提高性能,可使用分裂矢量量化器(SVQ),或者为了提高性能,可使用多级矢量量化器(MSVQ)。当使用SVQ或MSVQ实现第二量化器913时,如果存在备用复杂性,那么可存储两个或更多个候选,并且随后可使用执行最优码本索引搜索的软决策技术。

第一量化器911和第二量化器913的操作如下。

首先,可通过从未量化的LSF系数中去除预先定义的平均值来获得信号z(n)。第一量化器911可对信号z(n)的整个矢量进行量化或反量化。本文使用的量化器可以是例如TCQ、TCVQ、BC-TCQ或BC-TCVQ。为了获得量化误差信号,可使用信号z(n)与反量化的信号之间的差值来获得信号r(n)。信号r(n)可提供为第二量化器913的输入。第二量化器913可使用SVQ、MSVQ等来实现。由第二量化器913量化的信号在被反量化之后变为量化值z(n),并且随后被添加至由第一量化器911进行反量化的结果,并且量化的LSF值可通过将所述平均值添加至量化值z(n)来获得。

图9B中示出的第一量化模块900还可包括除了第一量化器931和第二量化器933之外的帧内预测器932。第一量化器931和第二量化器933可对应于图9A的第一量化器911和第二量化器913。由于针对每个帧来对LSF系数进行编码,所以一帧中可使用10维或16维LSF系数来执行预测。根据图9B,可通过第一量化器931和帧内预测器932来对信号z(n)进行量化。作为将要用于帧内预测的过去信号,使用已通过TCQ量化的前一级的值t(n)。可通过码本训练操作来预先定义将要用于帧内预测的预测系数。对于TCQ,通常使用一个维度,并且根据情况,可使用更高的度数或维度。由于TCVQ处理矢量,所以预测系数可具有对应于矢量的维度N的大小的N维或N×N矩阵形式。在本文,N可以是大于或等于2的自然数。例如,当VQ的维度是2时,需要通过使用2维或2×2大小的矩阵来预先获得预测系数。根据一个实施方案,TCVQ使用2D,并且帧内预测器932具有2×2的大小。

TCQ的帧内预测操作如下。第一量化器931的输入信号t

[等式13]

在本文,M表示LSF系数的维度,并且ρ

第一量化器931可对预测误差矢量t(n)进行量化。根据一个实施方案,第一量化器931可使用TCQ(详细地,BC-TCQ、BC-TCVQ、TCQ或TCVQ)来实现。与第一量化器931一起使用的帧内预测器932可在输入矢量的元素单元或子矢量单元中重复量化操作和预测操作。第二量化器933的操作与图9A的第二量化器913的操作相同。

当基于N维TCVQ或N维BC-TCVQ来实现第一量化器931时,第一量化器931可对N维子矢量与预测矢量之间的误差矢量进行量化。在本文,N可以是大于或等于2的自然数。帧内预测器932可从量化的N维子矢量生成预测矢量。帧内预测器932可使用具有N×N矩阵的预测系数,并且可通过使用前一级的量化的N维子矢量来执行帧内预测。第二量化器933可对N维子矢量的量化误差进行量化。

更详细地,帧内预测器932可通过前一级的量化N维线性矢量和当前级的预测矩阵来生成当前级的预测矢量。第一量化器931可通过对误差矢量进行量化来生成量化的误差矢量,所述误差矢量对应于当前级的预测矢量与当前级的N维线性矢量之间的差值。可基于前一级的误差矢量和前一级的预测矢量来生成前一级的线性矢量。第二量化器933可通过对量化误差矢量进行量化来生成量化的量化误差矢量,所述量化误差矢量对应于当前级的量化的N维线性矢量与输入N维线性矢量之间的差值。

图9C示出除了图9A的结构之外的用于码本共享的第一量化模块900。第一量化模块900可包括第一量化器951和第二量化器953。当语音/音频编码器支持多速率编码时,需要将相同LSF输入矢量量化成各种比特的技术。在这种情况下,为了在使将要使用的量化器的码本存储器最小化的同时表现出有效的性能,可实现使得能够具有一种结构的两种类型的比特数分配。在图9C中,f

除了图9C的结构之外,图9D还包括帧内预测器972。除了第一量化器971和第二量化器973之外,第一量化模块900还可包括帧内预测器972。第一量化器971和第二量化器973可对应于图9C的第一量化器951和第二量化器953。

图9E示出当第一量化器911、931、951或971由图9A至图9D中的2维TCVQ实现时,输入矢量的配置。一般来说,当输入矢量为16时,2维TCVQ的输入矢量990可以是8。

在下文中,当第一量化器931由图9B中的2维TCVQ实现时,将详细描述帧内预测过程。

首先,可获得输入信号t

[等式14]

t

其中

在本文,M表示LSF系数的维度,

A

[等式15]

其中

也就是说,第一量化器931可对预测剩余矢量t

[等式16]

下文的表3示出用于BC-TCVQ(例如,在安全网方案中使用的第一量化器931)的帧内预测系数的实例。

[表3]

在下文中,当第一量化器1031由图10B中的2维TCVQ实现时,将详细描述帧内预测过程。

在这种情况下,第一量化器1031和帧内预测器1032可对r

[等式17]

对于p=1,...,P

在等式17中,P

帧内预测器1032可使用具有与安全网方案不同的预测系数的相同帧内预测过程。

也就是说,第一量化器1031可对预测剩余矢量t

[等式18]

下文的表4示出用于BC-TCVQ(例如,在预测方案中使用的第一量化器1031)的帧内预测系数的实例。

[表4]

即使在第一量化器931由2维TCVQ实现的情况下,也可类似地应用每个实施方案的上述帧内预测过程,并且不论第二量化器933是否存在都可应用上述帧内预测过程。根据实施方案,帧内预测过程可使用AR方法,但不限于此。

可在没有第二量化器913或933的情况下实现图9A和图9B中所示的第一量化模块900。在这种情况下,用于一维或N维子矢量的量化误差的量化指标可不包括在比特流中。

图10A至图10D是示出图6所示的第二量化模块的各种实现的实例的框图。

除了图9B的结构之外,图10A所示的第二量化模块10000还包括帧间预测器1014。除了第一量化器1011和第二量化器1013之外,图10A所示的第二量化模块10000还可包括帧间预测器1014。帧间预测器1014是通过使用相对于先前帧而量化的LSF系数来预测当前帧的技术。帧间预测操作使用通过使用先前帧的量化值从当前帧执行减法并且随后在量化之后执行贡献部分的添加的方法。在这种情况下,针对每个元素获得预测系数。

除了图10A的结构之外,图10B所示的第二量化模块10000还包括帧内预测器1032。除了第一量化器1031、第二量化器1033和帧间预测器1034之外,图10B所示的第二量化模块10000还可包括帧内预测器1032。当基于N维TCVQ或N维BC-TCVQ实现第一量化器1031时,第一量化器1031可量化对应于(N维子矢量与当前帧的预测矢量之间的)预测误差矢量与预测矢量之间的差值的误差矢量。在本文,N可以是大于或等于2的自然数。帧内预测器1032可从量化的预测误差矢量生成预测矢量。帧间预测器1034可使用来自先前帧的量化N维子矢量的当前帧的预测矢量。第二量化器1033可对预测误差矢量的量化误差进行量化。

更详细地,第一量化器1031可量化对应于当前级的预测误差矢量与预测矢量之间的差值的误差矢量。预测误差矢量可对应于当前帧的预测矢量与当前级的N维线性矢量之间的差值。帧内预测器1032可从先前级的量化预测误差矢量和当前级的预测矩阵生成当前级的预测矢量。第二量化器1033可通过量化对应于当前级的量化预测误差矢量与预测误差矢量之间的差值的量化误差矢量来生成量化的量化误差矢量,所述预测误差矢量对应于当前帧的预测矢量与当前级的N维线性矢量之间的差值。

图10C示出除了图10B的结构之外的用于码本共享的第二量化模块1000。也就是说,除了图10B的结构之外,还示出在低速率与高速率之间共享BC-TCQ/BC-TCVQ的码本的结构。在图10B中,上部电路图指示与未使用第二量化器(未示出)的低速率相关的输出,并且下部电路图指示与使用第二量化器1063的高速率相关的输出。

图10D示出通过从图10C的结构省略帧内预测器来实现第二量化模块1000的实例。

即使在量化器由2维TCVQ实现的情况下,也可类似地应用每个实施方案的上述帧内预测过程,并且不论第二量化器933是否存在都可应用上述帧内预测过程。根据实施方案,帧内预测过程可使用AR方法,但不限于此。

可在没有第二量化器1013或1033的情况下实现图10A和图10B中所示的第一量化模块1000。在这种情况下,用于一维或N维子矢量的量化误差的量化指标可不包括在比特流中。

图11A至图11F是示出其中权重被应用于BC-TCVQ的量化器1100的各种实现的实例的框图。

图11A示出基本BC-TCVQ,并且可包括加权函数计算单元1111和BC-TCVQ部分1112。当BC-TCVQ获得最佳指标时,获得通过其最小化加权失真的指标。图11B示出向图11A添加帧内预测器1123的结构。对于在图11B中使用的帧内预测,可使用AR方法或MA方法。根据一个实施方案,使用AR方法,并且可预先定义将要使用的预测系数。

图11C示出向图11B添加帧间预测器1134以用于额外的性能改进的结构。图11C示出在预测方案中使用的量化器的实例。对于在图11C中使用的帧间预测,可使用AR方法或MA方法。根据一个实施方案,使用AR方法,并且可预先定义将要使用的预测系数。量化操作描述如下。首先,可使用帧间预测借助于BC-TCVQ来量化使用帧间预测进行预测的预测误差值。将量化指标值发送至解码器。解码操作描述如下。通过将帧内预测值添加至BC-TCVQ的量化结果来获得量化值r(n)。通过将帧间预测器1134的预测值添加至量化值r(n)并且随后将平均值添加至相加结果来获得最终量化的LSF值。

图11D示出从图11C省略帧内预测器的结构。图11E示出当添加第二量化器1153时如何应用权重的结构。由加权函数计算单元1151获得的加权函数被用于第一量化器1152和第二量化器1153两者,并且使用加权失真来获得最佳指标。第一量化器1152可使用BC-TCQ、BC-TCVQ、TCQ或TCVQ来实现。第二量化器1153可使用SQ、VQ、SVQ或MSVQ来实现。图11F示出从图11E省略帧间预测器的结构。

切换结构的量化器可通过将已参考图11A至图11F描述的各种结构的量化器形式进行组合来实现。

图12是根据示例性实施方案的在低速率下的具有开环方案的切换结构的量化装置的框图。图12所示的量化装置1200可包括选择单元1210、第一量化模块1230和第二量化模块1250。

选择单元1210可基于预测误差来选择安全网方案和预测方案中的一个来作为量化方案。

当选择安全网方案时,第一量化模块1230在没有帧间预测的情况下执行量化,并且可包括第一量化器1231和第一帧内预测器1232。详细地,LSF矢量可由第一量化器1231和第一帧内预测器1232量化成30比特。

当选择预测方案时,第二量化模块1250利用帧间预测执行量化,并且可包括第二量化器1251、第二帧内预测器1252和帧间预测器1253。详细地,对应于已从其去除平均值的LSF矢量与预测矢量之间的差值的预测误差可通过第二量化器1251和第二帧内预测器1252量化成30比特。

图12所示的量化设备示出在VC模式中使用31个比特的LSF系数量化的实例。图12的量化装置中的第一量化器1231和第二量化器和1251可与图13的量化装置中的第一量化器1331和第二量化器1351共享码本。图12所示的量化设备的操作描述如下。可通过从输入LSF值f(n)中去除平均值来获得信号z(n)。选择单元1210可通过使用在先前帧中使用解码值z(n)进行帧间预测的值p(n)和z(n)、加权函数以及预测模式pred_mode来选择或确定最佳量化方案。根据所选择或确定的结果,可使用安全网方案和预测方案中的一种来执行量化。所选择或确定的量化方案可通过一个比特来编码。

当由选择单元1210选择安全网方案时,已从其去除平均值的LSF系数z(n)的整个输入矢量可通过第一帧内预测器1232并且使用使用30比特的第一量化器1231来进行量化。然而,当由选择单元1210选择预测方案时,可通过第二帧内预测器1252并且使用使用30比特的第二量化器1251来对使用帧间预测器1253从已从其去除平均值的LSF系数z(n)中获得的预测误差信号进行量化。第一量化器1231和第二量化器1251可以是例如具有TCQ或TCVQ的形式的量化器。详细地,可使用BC-TCQ、BC-TCVQ等。在这种情况下,量化器使用总共31比特。量化结果被用作低速率的量化器的输出,并且量化器的主要输出是量化的LSF矢量和量化指标。

图13是根据示例性实施方案的在高速率下的具有开环方案的切换结构的量化设备的框图。图13所示的量化装置1300可包括选择单元1310、第一量化模块1330和第二量化模块1350。当与图12相比时,存在的差别在于,第三量化器1333被添加到第一量化模块1330,并且第四量化器1353被添加到第二量化模块1350。在图12和图13中,第一量化器1231和1331以及第二量化器1251和1351可分别使用相同的码本。也就是说,图12的31比特LSF量化设备1200和图13的41比特LSF量化设备1300可针对BC-TCVQ使用相同的码本。因此,尽管无法将码本称为最佳码本,但是可显著地节省存储器大小。

选择单元1310可基于预测误差来选择安全网方案和预测方案中的一个来作为量化方案。

当选择安全网方案时,第一量化模块1330可在没有帧间预测的情况下执行量化,并且可包括第一量化器1331、第一帧内预测器1332和第三量化器1333。

当选择预测方案时,第二量化模块1350可利用帧间预测执行量化,并且可包括第二量化器1351、第二帧内预测器1352、第四量化器1353和帧间预测器1354。

图13所示的量化设备示出在VC模式中使用41比特的LSF系数量化的实例。图13的量化装置1300中的第一量化器1331和第二量化器1351可分别与图12的量化装置1200中的第一量化器1231和第二量化器1251共享码本。量化设备1300的操作描述如下。可通过从输入LSF值f(n)中去除平均值来获得信号z(n)。选择单元1310可通过使用在先前帧中使用解码值z(n)进行帧间预测的值p(n)和z(n)、加权函数以及预测模式pred_mode来选择或确定最佳量化方案。根据所选择或确定的结果,可使用安全网方案和预测方案中的一种来执行量化。所选择或确定的量化方案可通过一个比特来编码。

当由选择单元1310选择安全网方案时,已从其去除平均值的LSF系数z(n)的整个输入矢量可通过第一帧内预测器1332和使用30比特的第一量化器1331来进行量化和反量化。指示原始信号与反量化结果之间的差值的第二误差矢量可提供为第三量化器1333的输入。第三量化器1333可通过使用10比特来量化第二误差矢量。第三量化器1333可以是例如SQ、VQ、SVQ或MSVQ。在量化和反量化之后,可为后续帧存储最终量化的矢量。

然而,当由选择单元1310选择预测方案时,通过从已从其去除平均值的LSF系数z(n)中减去帧间预测器1354的p(n)而获得的预测误差信号可通过使用30比特的第二量化器1351和第二帧内预测器1352来进行量化或反量化。第一量化器1331和第二量化器1351可以是例如具有TCQ或TCVQ的形式的量化器。详细地,可使用BC-TCQ、BC-TCVQ等。指示原始信号与反量化结果之间的差值的第二误差矢量可提供为第四量化器1353的输入。第四量化器1353可通过使用10比特来量化第二误差矢量。在本文,第二误差矢量可被划分为两个8×8维度子矢量,并且随后由第四量化器1353进行量化。由于低频带在感知方面比高频带更重要,所以可通过向第一VQ和第二VQ分配不同数量的比特来对第二误差矢量进行编码。第四量化器1353可以是例如SQ、VQ、SVQ或MSVQ。在量化和反量化之后,可为后续帧存储最终量化的矢量。

在这种情况下,量化器使用总共41比特。量化结果被用作高速率的量化器的输出,并且量化器的主要输出是量化的LSF矢量和量化指标。

因此,当使用图12和图13时,图12的第一量化器1231和图13的第一量化器1331可共享量化码本,并且图12的第二量化器1251和图13的第二量化器1351可共享量化码本,从而显著地节省整个码本存储器。为了另外节省码本存储器,第三量化器1333和第四量化器1353还可共享量化码本。在这种情况下,由于第三量化器1333的输入分布与第四量化器1353的输入分布不同,因此缩放因子可用来补偿输入分布之间的差异。可通过考虑第三量化器1333的输入和第四量化器1353的输入分布来计算缩放因子。根据一个实施方案,第三量化器1333的输入信号可除以缩放因子,并且由除法结果获得的信号可通过第三量化器1333进行量化。由第三量化器1333量化的信号可通过将第三量化器1333的输出乘以缩放因子来获得。如上所述,如果第三量化器1333或第四量化器1353的输入被适当地缩放并随后进行量化,那么可共享码本,同时最多维持性能。

图14是根据另一示例性实施方案的在低速率下的具有开环方案的切换结构的量化设备的框图。在图14的量化装置1400中,图9C和图9D的低速率部分可应用于由第一量化模块1430和第二量化模块1450使用的第一量化器1431和第二量化器1451。量化装置1400的操作描述如下。加权函数计算1400可通过使用输入LSF值来获得加权函数w(n)。所获得的加权函数w(n)可由第一量化器1431和第二量化器1451使用。可通过从LSF值f(n)中去除平均值来获得信号z(n)。选择单元1410可通过使用在先前帧中使用解码值z(n)进行帧间预测的值p(n)和z(n)、加权函数以及预测模式pred_mode来确定最佳量化方案。根据所选择或确定的结果,可使用安全网方案和预测方案中的一种来执行量化。所选择或确定的量化方案可通过一个比特来编码。

当由选择单元1410选择安全网方案时,可由第一量化器1431对已从其去除平均值的LSF系数z(n)进行量化。如参考图9C和图9D所描述的,第一量化器1431可使用用于高性能的帧内预测,或者可不使用用于低复杂度的帧内预测。当使用帧内预测器时,可将整个输入矢量提供给第一量化器1431,以用于通过使用通过帧内预测的TCQ或TCVQ来量化整个输入矢量。

当由选择单元1410选择预测方案时,可将已从其去除平均值的LSF系数z(n)提供给第二量化器1451,以用于通过使用通过帧内预测的TCQ或TCVQ来量化使用帧间预测获得的预测误差信号。第一量化器1431和第二量化器1451可以是例如具有TCQ或TCVQ的形式的量化器。详细地,可使用BC-TCQ、BC-TCVQ等。量化结果被用作低速率的量化器的输出。

图15是根据另一实施方案的在高速率下的具有开环方案的切换结构的量化设备的框图。图15所示的量化设备1500可包括选择单元1510、第一量化模块1530和第二量化模块1550。当与图14相比时,存在的差别在于,第三量化器1532被添加到第一量化模块1530,并且第四量化器1552被添加到第二量化模块1550。在图14和15中,第一量化器1431和1531以及第二量化器1451和1551可分别使用相同的码本。因此,尽管无法将码本称为最佳码本,但是可显著地节省存储器大小。量化装置1500的操作描述如下。当由选择单元1510选择安全网方案时,第一量化器1531执行第一量化和反量化,并且指示原始信号与反量化结果之间的差值的第二误差矢量可被提供为第三量化器1532的输入。第三量化器1532可对第二误差矢量进行量化。第三量化器1532可以是例如SQ、VQ、SVQ或MSVQ。在量化和反量化之后,可为后续帧存储最终量化的矢量。

然而,当由选择单元1510选择预测方案时,第二量化器1551执行量化和反量化,并且指示原始信号与反量化结果之间的差值的第二误差矢量可被提供为第四量化器1552的输入。第四量化器1552可对第二误差矢量进行量化。第四量化器1552可以是例如SQ、VQ、SVQ或MSVQ。在量化和反量化之后,可为后续帧存储最终量化的矢量。

图16是根据另一示例性实施方案的LPC系数量化单元的框图。

图16所示的LPC系数量化单元1600可包括选择单元1610、第一量化模块1630、第二量化模块1650和加权函数计算单元1670。当与图6所示的LPC系数量化单元600相比时,存在的差别在于,还包括加权函数计算单元1670。在图11A至图11F中示出详细的实现实例。

图17是根据一个实施方案的具有闭环方案的切换结构的量化设备的框图。图17所示的量化设备1700可包括第一量化模块1710、第二量化模块1730和选择单元1750。第一量化模块1710可包括第一量化器1711、第一帧内预测器1712和第三量化器1713,并且第二量化模块1730可包括第二量化器1731、第二帧内预测器1732、第四量化器1733和帧间预测器1734。

参照图17,在第一量化模块1710中,第一量化器1711可通过使用通过第一帧内预测器1712的BC-TCVQ或BC-TCQ来量化整个输入矢量。第三量化器1713可通过使用VQ来对量化误差信号进行量化。

在第二量化模块1730中,第二量化器1731可通过使用通过第二帧内预测器1732的BC-TCVQ或BC-TCQ来量化预测误差信号。第四量化器1733可通过使用VQ来对量化误差信号进行量化。

选择单元1750可选择第一量化模块1710的输出和第二量化模块1730的输出中的一个。

在图17中,安全网方案与图9B的相同,并且预测方案与图10B的相同。在本文,对于帧间预测,可使用AR方法和MA方法中的一种。根据一个实施方案,示出使用一阶AR方法的实例。预测系数被预先定义,并且作为用于预测的过去矢量,选择为先前帧中的两个方案之间的最佳矢量的矢量。

图18是根据另一示例性实施方案的具有闭环方案的切换结构的量化设备的框图。当与图17相比时,省略帧内预测器。图18所示的量化装置1800可包括第一量化模块1810、第二量化模块1830和选择单元1850。第一量化模块1810可包括第一量化器1811和第三量化器1812,并且第二量化模块1830可包括第二量化器1831、第四量化器1832和帧间预测器1833。

参照图18,选择单元1850可通过使用加权失真作为输入来选择或确定最佳量化方案,所述加权失真使用第一量化模块1810的输出和第二量化模块1830的输出而获得。确定最优量化方案的操作描述如下。

在本文,当预测模式(predmode)为0时,这指示始终使用安全网方案的模式,并且当预测模式(predmode)不为0时,这指示切换和使用安全网方案和预测方案。始终使用安全网方案的模式的实例可以是TC模式或UC模式。此外,WDist[0]表示安全网方案的加权失真,WDist[1]表示预测方案的加权失真。此外,abs_threshold表示预设阈值。当预测模式不为0时,可通过考虑帧误差将更高的优先级赋予安全网方案的加权失真来选择最佳量化方案。也就是说,基本上,如果WDist[0]的值小于预定义的阈值,那么可选择安全网方案,而不管WDist[1]的值如何。即使在其他情况下,对于相同的加权失真,也可选择安全网方案,而不是简单地选择较少加权的失真,这是因为安全网方案对帧误差更稳定。因此,仅当WDist[0]大于PREFERSFNET*WDist[1]时,可选择预测方案。在本文,可用的PREFERSFNET=1.15,但不限于此。通过这样做,当选择量化方案时,可发送指示所选择的量化方案的比特信息和通过使用所选择的量化方案执行量化而获得的量化指标。

图19是根据示例性实施方案的反量化设备的框图。

图19所示的反量化设备1900可包括选择单元1910、第一反量化模块1930和第二反量化模块1950。

参照图19,选择单元1910可基于包含在比特流中的量化方案信息来将编码的LPC参数(例如,预测残差)提供给第一反量化模块1930和第二反量化模块1950中的一个。例如,量化方案信息可由一个比特表示。

第一反量化模块1930可在不进行帧间预测的情况下对编码的LPC参数进行反量化。

第二反量化模块1950可利用帧间预测对编码的LPC参数进行反量化。

第一反量化模块1930和第二反量化模块1950可基于根据对应于解码设备的编码设备的上述各种实施方案中的每一个的第一量化模块和第二量化模块的逆处理来实现。

可应用图19的反量化设备,而不管量化器结构是否是开环方案或闭环方案。

以16KHz的内部采样频率的VC模式可具有例如每帧31比特或每帧40或41比特的两种解码速率。VC模式可由16状态8级BC TCVQ来解码。

图20是根据示例性实施方案的反量化设备的框图,其可对应于31比特的编码速率。图20所示的反量化设备2000可包括选择单元2010、第一反量化模块2030和第二反量化模块2050。第一反量化模块2030可包括第一反量化器2031和第一帧内预测器2032,并且第二反量化模块2050可包括第二反量化器2051、第二帧内预测器2052和帧间预测器2053。图20的反量化设备可对应于图12的量化设备。

参照图20,选择单元2010可基于包含在比特流中的量化方案信息来将编码的LPC参数提供给第一反量化模块2030和第二反量化模块2050中的一个。

当量化方案信息指示安全网方案时,第一反量化模块2030的第一反量化器2031可通过使用TCQ、TCVQ、BC-TCQ或BC-TCVQ来执行反量化。可通过第一反量化器2031和第一帧内预测器2032获得量化的LSF系数。通过将作为预定的DC值的平均值添加至量化的LSF系数来生成最终解码的LSF系数。

然而,当量化方案信息指示预测方案时,第二反量化模块2050的第二反量化器2051可通过使用TCQ、TCVQ、BC-TCQ或BC-TCVQ来执行反量化。反量化操作从LSF矢量中的最低矢量开始,并且帧内预测器2052通过使用解码矢量来生成下一级的矢量元素的预测值。帧间预测器2053通过使用在先前帧中解码的LSF系数而通过帧之间的预测来生成预测值。最终解码的LSF系数是通过将由帧间预测器2053获得的帧间预测值添加至通过第二反量化器2051和帧内预测器2052获得的量化LSF系数并且随后将是预定DC值的平均值添加至相加结果来生成的。

图20中的解码过程将描述如下。

当使用安全网方案时,可通过下文的等式19来执行

[等式19]

在本文,预测残差t

当使用预测方案时,可通过下文的等式20来获得预测矢量p

[等式20]

在本文,ρ(i)表示在特定的内部采样频率(例如,16kHz下的VC模式)下针对特定编码模式而选择的AR预测系数,并且M表示LPC的维度。也可推断

可通过下文的等式21来执行

[等式21]

用于预测方案的量化的LSF矢量

[等式22]

用于安全网方案的量化的LSF矢量

[等式23]

在本文,m(i)表示特定编码模式(例如,VC模式)中的平均矢量。也可推断

图21是根据另一实施方案的反量化设备的详细框图,其可对应于41比特的编码速率。图21所示的反量化设备2100可包括选择单元2110、第一反量化模块2130和第二反量化模块2150。第一反量化模块2130可包括第一反量化器2131、第一帧内预测器2132和第三反量化器2133,并且第二反量化模块2150可包括第二反量化器2151、第二帧内预测器2152、第四反量化器2153和帧间预测器2154。图21的反量化设备可对应于图13的量化设备。

参照图21,选择单元2110可基于包含在比特流中的量化方案信息来将编码的LPC参数提供给第一反量化模块2130和第二反量化模块2150中的一个。

当量化方案信息指示安全网方案时,第一反量化模块2130的第一反量化器2131可通过使用BC-TCVQ来执行反量化。第三反量化器2133可通过使用SVQ来执行反量化。可通过第一反量化器2131和第一帧内预测器2132获得量化的LSF系数。通过将由第三反量化器2133获得的量化的LSF系数添加至量化的LSF系数并且随后将作为预定DC值的平均值添加至相加结果来产生最终解码的LSF系数。

然而,当量化方案信息指示预测方案时,第二反量化模块2150的第二反量化器2151可通过使用BC-TCVQ来执行反量化。反量化操作从LSF矢量中的最低矢量开始,并且第二帧内预测器2152通过使用解码矢量来生成下一级的矢量元素的预测值。第四反量化器2153可通过使用SVQ来执行反量化。从第四反量化器2153提供的量化LSF系数可添加至通过第二反量化器2151和第二帧内预测器2152获得的量化LSF系数。帧间预测器2154可通过使用在先前帧中解码的LSF系数而通过帧之间的预测来生成预测值。通过将由帧间预测器2153获得的帧间预测值添加至相加结果并且随后将作为预定DC值的平均值添加至相加结果来生成最终解码的LSF系数。

在本文,第三反量化器2133和第四反量化器2153可共享码本。

图21中的解码过程将描述如下。

第一反量化器2131和第二反量化器2151的方案选择和解码过程与图20的方案选择和解码过程相同。

用于预测方案的量化LSF矢量

[等式24]

在本文,

用于安全网方案的量化LSF矢量

[等式25]

在本文,

尽管未示出,但是图19至图21的反量化设备可用作对应于图2的解码设备的部件。

在每个等式中,k可表示帧,并且i或j可表示级。

与和LPC系数量化/反量化相关联使用的BC-TCVQ相关的内容在“用于宽带语音编解码器的LSF参数的块约束格栅编码矢量量化(Block Constrained Trellis CodedVector Quantization of LSF Parameters for Wideband Speech Codecs)”(JungeunPark和Sangwon Kang,ETRI期刊,2008年10月,第5期,第30卷)中进行了详细描述。此外,在“格栅编码矢量量化(Trellis Coded Vector Quantization)”(Thomas R.Fischer等人,IEEE Transactions on Information Theory(信息理论学报),1991年11月,第6期,第37卷)中详细描述了与TCVQ相关的内容。

根据各实施方案的方法可由计算机可执行程序编辑并且在通用数字计算机中实现,以用于通过使用计算机可读记录介质来执行程序。此外,可通过各种手段将可用于本发明的各实施方案中的数据结构、程序命令或数据文件记录在计算机可读记录介质中。计算机可读记录介质可包括用于存储可由计算机系统读取的数据的所有类型的存储装置。计算机可读记录介质的实例包括诸如硬盘、软盘或磁带的磁介质,诸如压缩盘只读存储器(CD-ROM)或数字通用盘(DVD)的光学介质,诸如软光磁盘的磁光介质,以及被特别配置来存储和执行程序命令的硬件设备,诸如ROM、RAM或闪存。此外,计算机可读记录介质可以是用于发送用于指定程序命令、数据结构等的信号的传输介质。程序命令的实例包括可由使用解释器的计算机执行的高级语言代码以及由编译器制作的机器语言代码。

尽管已参考有限的实施方案和附图描述了本发明的各实施方案,但是本发明的实施方案不限于上述实施方案,并且可由本领域普通技术人员从本公开内容多方面地执行它们的更新和修改。因此,本发明的范围不由上述说明所限定,而是由权利要求来限定,并且它们的所有一致或等同修改将属于本发明的技术思想的范围。

相关技术
  • 对线性预测系数量化的方法和装置及解量化的方法和装置
  • 对线性预测系数量化的方法和装置及解量化的方法和装置
技术分类

06120112878967