首页> 中国专利> 用于对线性预测系数进行量化的方法和装置及用于反量化的方法和装置

用于对线性预测系数进行量化的方法和装置及用于反量化的方法和装置

摘要

量化装置包括:用于执行不具有帧间预测的量化的第一量化模块;以及用于执行具有帧间预测的量化的第二量化模块,以及第一量化模块包括:用于对输入信号进行量化的第一量化部;以及用于对第一量化误差信号进行量化的第三量化部,以及第二量化模块包括:用于对预测误差进行量化的第二量化部和用于对第二量化误差信号进行量化的第四量化部,以及第一量化部和第二量化部包括网格结构的矢量量化器。

著录项

  • 公开/公告号CN106463134A

    专利类型发明专利

  • 公开/公告日2017-02-22

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;

    申请/专利号CN201580028157.8

  • 发明设计人 成昊相;

    申请日2015-03-30

  • 分类号G10L19/032;

  • 代理机构北京英赛嘉华知识产权代理有限责任公司;

  • 代理人王达佐

  • 地址 韩国京畿道

  • 入库时间 2023-06-19 01:44:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-13

    授权

    授权

  • 2017-03-22

    实质审查的生效 IPC(主分类):G10L19/032 申请日:20150330

    实质审查的生效

  • 2017-02-22

    公开

    公开

说明书

技术领域

一个或多个示例性实施方式涉及线性预测系数的量化和反量化,更具体地,涉及用于以低复杂度对线性预测系数进行高效量化的方法和装置,以及用于反量化的方法和装置。

背景技术

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

因此,通过将LPC系数转换为具有以下特性的另一系数来对LPC系数进行量化:该另一系数易于确保滤波器的稳定性,有益于插值,并具有好的量化特性。首选的是,通过将LPC系数转换为线谱频率(LSF)系数或导抗谱频率(ISF)系数来对LPC系数进行量化。具体地,对LSF系数进行量化的方案可使用频域和时域中的LSF系数的高帧间相关性,从而增加量化增益。

LSF系数展现短时声音的频率特性,并且在输入声音的频率特性快速变化的帧的情况下,相应帧的LSF系数也快速变化。然而,包括利用LSF系数的高帧间相关性的帧间预测器的量化器无法针对快速变化的帧执行适当的预测,因此量化性能降低。因此,需选择与输入声音的每一帧的信号特性一致的优化量化器。

发明内容

技术问题

一个或多个示例性实施方式包括用于以低复杂度对线性预测编码(LPC)系数进行高效量化的方法和装置,以及用于反量化的方法和装置。

技术方案

根据一个或多个示例性实施方式,量化装置包括用于执行不具有帧间预测的量化的第一量化模块和用于执行具有帧间预测的量化的第二量化模块,其中第一量化模块包括用于对输入信号进行量化的第一量化部和用于对第一量化误差信号进行量化的第三量化部,第二量化模块包括用于对预测误差进行量化的第二量化部和用于对第二量化误差信号进行量化的第四量化部,以及第一量化部和第二量化部包括网格结构的矢量量化器。

根据一个或多个示例性实施方式,量化方法包括:以开环方式选择用于执行不具有帧间预测的量化的第一量化模块和用于执行具有帧间预测的量化的第二量化模块中的一个;以及通过利用所选择的量化模块对输入信号进行量化,其中第一量化模块包括用于对输入信号进行量化的第一量化部和用于对第一量化误差信号进行量化的第三量化部,第二量化模块包括用于对预测误差进行量化的第二量化部和用于对第二量化误差信号进行量化的第四量化部,以及第三量化部和第四量化部共享码本。

根据一个或多个示例性实施方式,反量化装置包括用于执行不具有帧间预测的反量化的第一反量化模块和用于执行具有帧间预测的反量化的第二反量化模块,其中第一反量化模块包括用于对输入信号进行反量化的第一反量化部和与第一反量化部并行布置的第三反量化部,第二反量化模块包括用于对输入信号进行反量化的第二反量化部和与第二反量化部并行布置的第四反量化部,以及第一反量化部和第二反量化部包括网格结构的反矢量量化器。

根据一个或多个示例性实施方式,反量化方法包括:选择用于执行不具有帧间预测的反量化的第一反量化模块和用于执行具有帧间预测的反量化的第二反量化模块中的一个;以及通过利用所选择的反量化模块对输入信号进行反量化,其中,第一反量化模块包括用于对输入信号进行反量化的第一反量化部和与第一反量化部并行布置的第三反量化部,第二反量化模块包括用于对输入信号进行反量化的第二反量化部和与第二反量化部并行布置的第四反量化部,以及第三反量化部分和第四反量化部分共享码本。

有益效果

根据示例性实施方式,当语音信号或音频信号是根据语音或音频的信号特性通过将语音或音频信号分类成多个编码模式以及根据应用于每一编码模式的压缩比分配多种比特数而被量化时,通过设计在低比特率具有良好性能的量化器,语音信号或音频信号可被更高效地量化。

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

附图说明

这些和/或其它方面从以下结合附图的示例性实施方式的描述中,将变得显而易见且更容易理解,附图中:

图1是根据示例性实施方式的声音编码装置的框图。

图2是根据另一示例性实施方式的声音编码装置的框图。

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

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

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

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

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

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

图9A至图9D是示出了图6中示出的第一量化模块的多种实施例的框图。

图10A至图10F是示出了图6中示出的第二量化模块的多种实施例的框图。

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

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

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

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

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

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

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

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

图19是根据示例性实施方式的反量化装置的框图。

图20是根据示例性实施方式的反量化装置的详细框图。

图21是根据另一示例性实施方式的反量化装置的详细框图。

具体实施方式

本发明构思可允许多种类型的改变或修改及形式上的多种改变,并且将在附图中示出具体实施方式,并在说明书中详细描述具体实施方式。然而,应理解的是,具体实施方式并不将本发明构思限制成具体公开的形式,而是包括在本发明构思的精神和技术范围内的每一修改、等同或替代。在对本发明构思的描述中,当确定相关公知特征的具体描述可能使本发明构思的要领模糊时,省略对该公知特征的详细描述。

虽然诸如“第一”和“第二”的术语可用于描述多种元件,但元件不受该术语的限制。术语可用于使某一元件与另一元件区分开。

本申请中使用的术语仅用于描述具体实施方式,而不意图对本发明构思进行任何限制。虽然本说明书中使用的术语是本领域中当前广泛使用的那些通用术语,但这些术语可根据本领域普通技术人员的意图、本领域的现有技术或新技术而变化。同时,申请人可选择专用术语,在这种情况下,将在详细描述中描述该专用术语的详细含义。因此,说明书中使用的术语不应当理解为简单名称,而应当基于术语的含义和全文描述来理解。

除非在上下文中单数的表达和复数的表达彼此明显不同,否则单数的表达包括复数的表达。在本申请中,应理解的是,诸如“包括(include)”和“具有(have)”的术语用于表示实施的特征、数量、步骤、操作、元件、部分或其组合的存在而不预先排除一个或多个其它特征、数目、步骤、操作、元件、部分或其组合的存在或附加的可能。

在下文中,将参照附图对本发明构思的实施方式进行详细描述,以及图中相同的附图标记指代相同的元件,因此将省略它们的重复描述。

通常,网格编码量化器(TCQ)通过将一个元素分配至每一TCQ级来对输入矢量进行量化,而网格编码矢量量化器(TCVQ)通过将整个输入矢量划分成子矢量并随后将每一子矢量分配至TCQ级来使用生成子矢量的结构。当利用一个元素形成量化器时,TCQ被形成,以及当通过结合多个元素利用子矢量形成量化器时,TCVQ被形成。因此,当二维(2D)子矢量被使用时,TCQ级的总数与将输入矢量的尺寸除以2获得的尺寸相同。通常,语音/音频编解码器以帧为单位对输入信号进行编码,针对每一帧提取线谱频率(LSF)系数。LSF系数具有矢量形式,以及LSF系数的维度是10或16。在这种情况下,当考虑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可具有300Hz至3400Hz或50Hz至4000Hz的带宽,WB可具有50Hz至7000Hz或50Hz至8000Hz的带宽,SWB可具有50Hz至14000Hz或50Hz至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分析,以及其它分析可以是为提高声音质量的针对中间子帧(mid-subframe)的LP。在本文中,当前帧的帧端表示在构成当前帧的子帧之中的最后一个子帧,以及先前帧的帧端表示在构成先前帧的子帧之中的最后一个子帧。中间子帧表示在先前帧的最后一个子帧(先前帧的帧端)与当前帧的最后一个子帧(当前帧的帧端)之间存在的子帧之中的一个或多个子帧。例如,一个帧可由四个子帧组成。当输入信号是NB时,LPC系数使用的维度为10,以及当输入信号是WB时,LPC系数使用的维度为16至20,但实施方式不限于此。

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

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

信号分析和VAD单元250可通过分析输入信号的多种特性(包括频率特性)来确定输入信号是否是有效语音信号。

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

存储更新单元270可存储编码的当前帧和在编码期间使用的参数以对随后的帧进行编码。

参数编码单元280可对待使用的参数进行编码以用于解码端的解码,以及可包括比特流中经编码的参数。优选地,可对与编码模式对应的参数进行编码。由参数编码单元280生成的比特流可用于存储或传输的目的。

以下的表1示出了针对四种编码模式的量化方案和结构的示例。执行不具有帧间预测的量化的方案可称为安全网方案,而执行具有帧间预测的量化的方案可称为预测性方案。此外,VQ代表矢量量化器,以及BC-TCQ代表块约束网格编码量化器(block-constrainedtrellis coded quantizer)。

表1

BC-TCVQ代表块约束网格编码矢量量化器。TCVQ通过概括TCQ允许矢量码本和分支标记(branch label)。TCVQ的主要特征是将扩展集(expanded set)的VQ符号划分为子集,以及用这些子集标记网格分支。TCVQ基于1/2速率卷积码,1/2速率卷积码具有N=2ν个网格态以及具有进入和离开每一网格态的两个分支。当给定M个源矢量(source>(R+R’)L个矢量码字。此处,由于码本具有名义速率R>R’L倍的码字,因此R’可以是码本扩展因子(expansionfactor)。以下对编码操作进行简单地描述。首先,对于每一输入矢量,搜索与每一子集中最近邻的码字对应的失真,以及利用Viterbi算法通过设置用作搜索失真的、标记为子集S的分支的分支度量(branch>k个初始网格态,以及对于每一允许的初始网格态,BC-TCVQ结构可具有2ν-k个终止态。单个Viterbi编码起始于允许的初始网格态,以及结束于矢量级m-k。需要k个比特来指定初始态,以及需要m-k个比特来选定通向矢量级m-k的路径。对于每一网格态,依赖于初始网格态的唯一终止路径通过矢量级m在矢量级m-k处被预指定。无论k的值为多少,都需要m个比特来指定初始网格态和穿过网格的路径。

对于内部采样频率为16KHz的VC模式,BC-TCVQ可使用16态和具有2D矢量的8级TCVQ。具有两个元素的LSF子矢量可被分配给每一级。以下的表2示出了用于16态BC-TCVQ的初始态和终止态。此处,k和v分别表示2和4,以及对于初始态和终止态,使用4个比特。

初始态终止态00,1,2,344,5,6,788,9,10,111212,13,14,15

表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中用于使Ewerr(p)最小化的索引。

[方程1]

方程1中,w(i)表示加权函数,r(i)表示量化器的输入,以及c(i)表示量化器的输出并被用于获得用于使两个值之间的加权失真最小化的索引。

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

[方程2]

根据实施方式,加权函数可被用于失真测量d(x,y)。可通过将US7,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),但只有三种模式(VC、GC以及TC)可在高比特率(例如,9.6Kbit/s以上)使用。基于用于编码的比特率、输入信号的带宽和编码模式来选择量化方案(例如,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来生成频谱幅度。在这种情况下,频谱幅度的带宽可与0Hz至6400Hz的范围对应。当内部采样频率是16KHz时,频谱幅度的数目可拓展至160。在这种情况下,省略针对6400Hz至8000Hz的范围的频谱幅度,以及该省略的频谱幅度可由输入频谱生成。具体地,可利用与4800Hz至6400Hz的带宽对应的最后32个频谱幅度替代针对6400Hz至8000Hz的范围而省略的频谱幅度。例如,可使用最后32个频谱尺寸的平均值。

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

第一加权函数生成单元450可基于ISF系数或LSF系数的频谱分析信息获得幅度加权函数和频率加权函数,以及可通过结合幅度加权函数和频率加权函数来生成第一加权函数。可基于FFT获得第一加权函数,以及当频谱幅度大时大的权重可被分配。例如,可通过对频谱分析信息(即,频谱幅度)进行归一化以满足ISF波段或LSF波段并随后通过利用与每一ISF系数或LSF系数对应的频率的幅度,来确定第一加权函数。

第二加权函数生成单元470可基于相邻的ISF系数或LSF系数的间隔或位置信息来确定第二加权函数。根据实施方式,可从与每一ISF系数或LSF系数相邻的2个ISF系数或LSF系数生成与频谱灵敏度相关的第二加权函数。通常,ISF系数或LSF系数位于Z域的单位圆上,以及ISF系数或LSF系数的特征在于:当相邻的ISF系数或LSF系数之间的间隔比周围的间隔更窄时,频谱峰出现。因此,基于相邻LSF系数的位置,第二加权函数可被用于估计LSF系数的频谱灵敏度。即,通过测量相邻LSF系数的位置的邻近程度,可预测LSF系数的密度,以及由于信号频谱可在存在致密LSF系数的频率的附近具有峰值,因而可分配大的权重。此处,为提高对频谱灵敏度进行估计的准确度,可在第二加权函数被确定时额外地使用用于LSF系数的多种参数。

如上所述,ISF系数或LSF系数之间的间隔和加权函数可具有反向相关关系。可利用间隔与加权函数之间的这种关系实现多种实施方式。例如,间隔可用负值表示,或间隔可表示为分母。再例如,为了进一步加强获得的权重,加权函数的每一元素可乘以常数或表示为元素的平方。再例如,通过对初次获得的加权函数执行附加的计算(例如,平方或立方)而再次获得的加权函数可被进一步反映。

通过利用ISF系数或LSF系数之间的间隔导出加权函数的示例如下。

根据实施方式,第二加权函数Ws(n)可通过以下方程4获得。

[方程4]

其它

其中,di=lsfi+1-lsfi-1

在方程4中,lsfi-1和lsfi+1表示与当前LSF系数相邻的LSF系数。

根据另一实施方式,第二加权函数Ws(n)可通过以下方程5获得。

[方程5]

在方程5中,lsfn表示当前LSF系数,lsfn-1和lsfn+1表示相邻的LSF系数,以及M是LP模型的维度并且M可以是16。例如,由于LSF系数跨越0和π,因此可基于lsf0=0和lsfM=π计算第一权重和最后一个权重。

组合单元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系数的频谱分析信息生成幅度加权函数W1(n)。根据实施方式,可基于归一化的LSF系数的频谱幅度确定幅度加权函数。

具体地,可利用与归一化的LSF系数的频率对应的频谱区(bin)以及利用位于相应频谱区的左和右(例如,一个在相应频谱区之前,一个在相应频谱区之后)的两个相邻频谱区来确定幅度加权函数。可基于以下方程6,通过在三个频谱区的幅度之中提取最大值来确定与频谱包络相关的每一幅度加权函数W1(n)。

[方程6]

在方程6中,Min表示wf(n)的最小值,以及wf(n)可由10log(Emax(n))(此处,n=0,...,M-1)限定。此处,M表示16,以及Emax(n)表示针对每一LSF系数的在三个频谱区的幅度之中的最大值。

频率加权函数生成单元550可基于归一化的LSF系数的频率信息生成频率加权函数W2(n)。根据实施方式,可利用共振峰分布和输入信号的感知特性来确定频率加权函数。频率加权函数生成单元550可根据Bark尺度提取输入信号的感知特性。此外,频率加权函数生成单元550可基于共振峰分布的第一共振峰来确定用于每一频率的加权函数。在超低频和高频处,频率加权函数可表现出相对低的权重,以及在低频处,频率加权函数可在某一频率周期(例如,与第一共振峰对应的周期)中表现出相同大小的权重。频率加权函数生成单元550可根据输入带宽和编码模式来确定频率加权函数。

组合单元570可通过结合幅度加权函数W1(n)和频率加权函数W2(n)来确定基于FFT的加权函数Wf(n)。组合单元570可通过将幅度加权函数和频率加权函数相乘或相加来确定最终加权函数。例如,可基于以下方程7计算用于帧端LSF量化的基于FFT的加权函数Wf(n)。

[方程7]

Wf(n)=W1(n)·W2(n),n=0,...,M-1

图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时,M通常是16,以及ρ(i)表示AR方法的预测系数。如上所述,使用了与紧接着的先前帧有关的信息的情况是常见的,以及可利用如以上描述获得的预测误差来确定量化方案。

如果预测误差大于预定阈值,则这可表明当前帧倾向于非平稳。在这种情况下,可使用安全网方案。否则,使用预测性方案,在这种情况下,其可被限制以使得预测性方案不被连续地选择。

根据实施方式,为了对由于先前帧上出现帧误差而导致与先前帧相关的信息不存在的情况作准备,可利用先前帧的先前帧获得第二预测误差,以及可利用第二预测误差确定量化方案。在这种情况下,与以上描述的第一情况相比,第二预测误差可用以下方程12表示。

[方程12]

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

图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至图9D是示出了图6中示出的第一量化模块的多种实施例的框图。根据实施方式,假定16维度的LSF矢量被用作为第一量化模块的输入。

图9A中示出的第一量化模块900可包括第一量化器911和第二量化器913,其中:第一量化器911通过利用TCQ对整个输入矢量的轮廓进行量化;第二量化器913用于对量化误差信号进行额外的量化。可利用使用网格结构的量化器(诸如TCQ、TCVQ、BC-TCQ或BC-TCVQ)来实施第一量化器911。可利用矢量量化器或标量量化器来实施第二量化器913,但第二量化器913不限于此。为在使存储大小最小化的同时改善性能,可使用分裂矢量量化器(SVQ),或为改善性能,可使用多级矢量量化器(MSVQ)。当利用SVQ或MSVQ实施第二量化器913时,如果存在备用的复杂度,则可存储两个或更多候选,并随后可使用执行优化码本索引搜索的软决策技术。

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

首先,可通过从未经量化的LSF系数去除先前限定的平均值来获得信号z(n)。第一量化器911可对信号z(n)的整个矢量进行量化或反量化。此处使用的量化器可例如是BC-TCQ或BC-TCVQ。为了获得量化误差信号,可利用信号z(n)与反量化的信号之间的差值来获得信号r(n)。信号r(n)可提供为第二量化器913的输入。可利用SVQ、MSVQ等实施第二量化器913。由第二量化器913量化的信号在被反量化并随后被加到经第一量化器911反量化的结果之后成为量化的值z(n),以及可通过将平均值加到量化的值z(n)来获得量化的LSF值。

图9B中示出的第一量化模块900除包括第一量化器931和第二量化器933之外,还可包括帧内预测器932。第一量化器931和第二量化器933可与图9A的第一量化器911和第二量化器913对应。由于针对每一帧对LSF系数进行编码,因此可利用帧中维度为10或16的LSF系数执行预测。根据图9B,可通过第一量化器931和帧内预测器932对信号z(n)进行量化。已通过TCQ量化的先前级的值t(n)被使用为待用于帧内预测的历史信号。可通过码本训练操作预先限定待用于帧内预测的预测系数。对于TCQ,通常使用一维,以及根据情况,可使用更高的阶次或维度。由于TCVQ处理矢量,因此预测系数可具有与矢量的维度的大小对应的2D矩阵格式。此处,维度可以是2或更大的自然数。例如,当VQ的维度是2时,需通过利用2×2尺寸的矩阵预先获得预测系数。根据实施方式,TCVQ使用2D,以及帧内预测器932具有2×2的尺寸。

TCQ的帧内预测操作如下。第一量化器931(即,第一TCQ)的输入信号tj(n)可由以下方程13获得。

[方程13]

然而,利用2D的TCVQ的帧内操作如下。第一量化器931(即,第一TCQ)的输入信号tj(n)可由以下方程14获得。

[方程14]

此处,M表示LSF系数的维度,以及对于NB而言M是10,对于WB而言M是16,ρj表示1D预测系数,以及Aj表示2×2预测系数。

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

图9C示出了除图9A的结构之外的、用于码本共享的第一量化模块900。第一量化模块900可包括第一量化器951和第二量化器953。当语音/音频编码器支持多速率编码时,需要将相同LSF输入矢量量化成多种比特的技术。在这种情况下,为了使待使用的量化器的码本存储最小化的同时表现出高效性能,可实施以使得一种结构能够分配有两种类型的比特数。在图9C中,fH(n)表示高速率输出,以及fL(n)表示低速率输出。在图9C中,当只有BC-TCQ/BC-TCVQ被使用时,可仅用用于BC-TCQ/BC-TCVQ的比特数执行用于低速率的量化。如果除以上描述的量化之外,还需要更精确的量化,则可利用附加的第二量化器953对第一量化器951的误差信号进行量化。

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

图10A至图10F是示出了图6中示出的第二量化模块的多种实施例的框图。

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

图10B中示出的第二量化模块10000除包括图10A的结构之外,还包括帧内预测器1032。图10B中示出的第二量化模块10000除包括第一量化器1031、第二量化器1033和帧间预测器1034之外,还可包括帧内预测器1032。

图10C示出了除图10B的结构之外的、用于码本共享的第二量化模块1000。即,除图10B的结构之外,还示出了在低速率与高速率之间共享BC-TCQ/BC-TCVQ的码本的结构。在图10B中,上电路图表示与不使用第二量化器(未示出)的低速率相关的输出,以及下电路图表示与使用第二量化器1063的高速率相关的输出。

图10D示出了从图10C的结构省略帧内预测器而实施的第二量化模块1000的示例。

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

图11A示出了基本BC-TCVQ,以及可包括加权函数计算单元1111和BC-TCVQ部分1112。当BC-TCVQ获得了优化索引时,使加权失真最小化的索引被获得。图11B示出了帧内预测器1123被添加至图11A的结构。对于图11B中使用的帧内预测,可使用AR方法或MA方法。根据实施方式,AR方法被使用,以及待使用的预测系数可被预先限定。

图11C示出了为了额外的性能改善,将帧间预测器1134添加至图11B的结构。图11C示出了预测性方案中使用的量化器的示例。对于图11C中使用的帧间预测,可使用AR方法或MA方法。根据实施方式,AR方法被使用,以及待使用的预测系数可被预先限定。量化操作如以下所述。首先,可借助于利用帧间预测的BC-TCVQ对利用帧间预测而预测的预测误差值进行量化。量化索引值被传输至解码器。解码操作如以下所述。通过将帧内预测值加到BC-TCVQ的量化的结果而获得量化的值r(n)。通过将帧间预测器1134的预测值加到量化的值r(n)并随后将平均值加到相加结果来获得最终量化的LSF值。

图11D示出了从图11C省略了帧内预测器的结构。图11E示出了当添加了第二量化器1153时如何应用权重的结构。通过加权函数计算单元1151获得的加权函数被用于第一量化器1152和第二量化器1153二者,以及利用加权失真获得优化索引。可利用BC-TCQ、BC-TCVQ、TCQ或TCVQ实施第一量化器1152。可利用SQ、VQ、SVQ或MSVQ实施第二量化器1153。图11F示出了从图11E省略了帧间预测器的结构。

可通过结合参照图11A至图11F描述的多种结构的量化器形式来实施切换结构的量化器。

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

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

第一量化模块1230在安全网方案被选择时执行不具有帧间预测的量化,以及第一量化模块1230可包括第一量化器1231和第一帧内预测器1232。具体地,可通过第一量化器1231和第一帧内预测器1232将LSF矢量量化至30比特。

第二量化模块1250在预测性方案被选择时执行具有帧间预测的量化,以及第二量化模块1250可包括第二量化器1251、第二帧内预测器1252以及帧间预测器1253。具体地,可通过第二量化器1251和第二帧内预测器1252将与预测矢量和去除平均值的LSF矢量之间的差异对应的预测误差量化至30比特。

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

当安全网方案被选择单元1210选择时,去除平均值的LSF系数z(n)的整个输入矢量可通过第一帧内预测器1232和使用30比特的第一量化器1231被量化。然而,当预测性方案被选择单元1210选择时,利用帧间预测器1253从去除平均值的LSF系数z(n)获得的预测误差信号可通过第二帧内预测器1252和使用30比特的第二量化器1251被量化。第一量化器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量化装置和图13的41比特LSF量化装置1300可使用用于BC-TCVQ的相同的码本。相应地,虽然该码本不能被称为最佳码本,但可显著地节省存储大小。

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

第一量化模块1330可在安全网方案被选择时执行不具有帧间预测的量化,以及第一量化模块1330可包括第一量化器1331、第一帧内预测器1332和第三量化器1333。

第二量化模块1350可在预测性方案被选择时执行具有帧间预测的量化,以及第二量化模块1350可包括第二量化器1351、第二帧内预测器1352、第四量化器1353和帧间预测器1354。

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

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

然而,当预测性方案被选择单元1310选择时,通过从去除平均值的LSF系数z(n)减去帧间预测器1354的p(n)而获得的预测误差信号可通过第二帧内预测器1352和使用30比特的第二量化器1351被量化或反量化。第一量化器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可通过利用使用加权函数、预测模式pred_mode以及先前帧中的解码的值z(n)而经帧间预测的值p(n)和值z(n)来确定优化量化方案。根据选择的或确定的结果,可利用安全网方案和预测性方案中的一个来执行量化。可用一比特对选择的或确定的量化方案进行编码。

当安全网方案被选择单元1410选择时,去除平均值的LSF系数z(n)可被第一量化器1431量化。如参照图9C和图9D描述的,第一量化器1431可为了高性能而使用帧内预测,或者第一量化器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可利用BC-TCVQ或BC-TCQ通过第一帧内预测器1712对整个输入矢量进行量化。第三量化器1713可通过利用VQ对量化误差信号进行量化。

在第二量化模块1730中,第二量化器1731可利用BC-TCVQ或BC-TCQ通过第二帧内预测器1732对预测误差信号进行量化。第四量化器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时,这表示安全网方案被一直使用的模式,以及当预测模式不为0时,这表示安全网方案和预测性方案被切换和使用。安全网方案被一直使用的模式的示例可以是TC模式或UC模式。此外,WDist[0]表示安全网方案的加权失真,以及WDist[1]表示预测性方案的加权失真。此外,abs_threshold表示预设阈值。当预测模式不为0时,可通过向安全网方案的加权失真给予更高优先级来根据帧误差选择优化量化方案。即,基本上,如果WDist[0]的值低于预限定阈值,则安全网方案可被选择而不考虑WDist[1]的值。即使在其它情况下,也不简单地选择较小的加权失真,对于相同的加权失真,由于安全网方案相对于帧误差更具有鲁棒性,因此可选择安全网方案。因此,只有当WDist[0]大于PREFERSFNET*WDist[1]时,预测性方案才可被选择。此处,可用的PREFERSFNET=1.15,但不限于此。由此,当量化方案被选择时,表示选择的量化方案的比特信息和通过利用选择的量化方案执行量化而获得的量化索引可被传输。

图19是根据示例性实施方式的反量化装置的框图。

图19中示出的反量化装置可包括选择单元1910、第一反量化模块1930以及第二反量化模块1950。

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

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

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

第一反量化模块1930和第二反量化模块1950可根据与解码装置对应的编码装置基于以上描述的多种实施方式中的每一个的第一量化模块和第二量化模块的逆处理而实施。

无论量化器结构是开环方案还是闭环方案,均可应用图19的反量化装置。

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

图20是根据可与31比特的编码速率对应的示例性实施方式的反量化装置的框图。图20中示出的反量化装置2000可包括选择单元2010、第一反量化模块2030以及第二反量化模块2050。第一反量化模块2030可包括第一反量化器2031和第一帧内预测器2032,以及第二反量化模块2050可包括第二反量化器2051、第二帧内预测器2052和帧间预测器2053。图20的反量化装置可与图12的量化装置对应。

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

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

然而,当量化方案信息指示预测性方案时,第二反量化模块2050的第二反量化器2051可通过利用BC-TCVQ来执行反量化。反量化操作起始于LSF矢量之中的最小矢量,以及帧内预测器2052通过利用解码矢量为下一个矢量元素生成预测值。利用先前帧中解码的LSF系数,帧间预测器2053通过帧之间的预测来生成预测值。通过将由帧间预测器2053获得的帧间预测值加到通过第二反量化器2051和帧内预测器2052获得的量化的LSF系数,并随后将平均值(即,预定DC值)加到该相加结果,生成最终解码的LSF系数。

图21是根据可与41比特的编码速率对应的另一实施方式的反量化装置的详细框图。图21中示出的反量化装置2100可包括选择单元2110、第一反量化模块2130以及第二反量化模块2150。第一反量化模块2130可包括第一反量化器2131、第一帧内预测器2132和第三反量化器2133,以及第二反量化模块2150可包括第二反量化器2151、第二帧内预测器2152、第四反量化器2153和帧间预测器2154。图21的反量化装置可与图13的量化装置对应。

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

当量化方案信息指示安全网方案时,第一反量化模块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系数。利用先前帧中解码的LSF系数,帧间预测器2154可通过帧之间的预测生成预测值。通过将由帧间预测器2153获得的帧间预测值加到相加结果并随后将平均值(即,预定DC值)加到相加结果,生成最终解码的LSF系数。

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

虽然未示出,但图19至图21的反量化装置可用作与图2对应的解码装置的部件。

与采用LPC系数量化/反量化的BC-TCVQ相关的内容在“Block ConstrainedTrellis Coded Vector Quantization of LSF Parameters for Wideband SpeechCodecs(用于宽带语音编解码器的LSF参数的块约束网格编码矢量量化)”(Jungeun Park和Sangwon Kang,ETRI杂志,卷号30,期号5,2008年10月)中被详细描述。此外,与TCVQ相关的内容在“Trellis Coded Vector Quantization(网格编码矢量量化)”(Thomas R.Fischer等,IEEE Transactions on Information Theory(IEEE信息理论),卷号37,期号6,1991年11月)中被详细描述。

根据实施方式的方法可通过计算机可执行程序而编辑以及可在通过利用计算机可读记录介质执行程序的通用数字计算机中实施。此外,本发明的实施方式中可使用的数据结构、程序命令或数据文件可通过多种方式被记录在计算机可读记录介质中。计算机可读记录介质可包括用于存储可由计算机系统读取的数据的所有类型的存储装置。计算机可读记录介质的示例包括磁介质(诸如硬盘、软盘或磁带)、光学介质(诸如只读光盘存储器(CD-ROM)或数字多功能光盘(DVD))、磁光介质(诸如光磁盘)以及专门配置成存储和执行程序命令的硬件装置(诸如ROM、RAM或闪存)。此外,计算机可读记录介质可以是用于传输指定程序命令、数据结构等的信号的传输介质。程序命令的示例包括可被计算机利用注释器执行的高级语言代码,以及由编译器产生的机器语言代码。

虽然已参照有限的实施方式和附图对本发明的实施方式进行了描述,但本发明的实施方式不限于以上所述的实施方式,以及本领域的普通技术人员可从本公开多样地实现这些实施方式的改进和修改。因此,本发明的范围不由以上描述限定,而由权利要求限定,以及对本发明的所有一致的或等同的修改将隶属于本发明的技术构思的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号