首页> 中国专利> 实现介于两种长时预测模型之间最优编码的方法和装置

实现介于两种长时预测模型之间最优编码的方法和装置

摘要

本发明涉及一种根据来自通过使用根据第一格式编码获得的信息项的第二格式编码的方法。尤其是对于语音信号编码,所述第一和第二格式利用通过搜索包含备选参数的库对LTP长时预测参数的搜索。该方法包括以下步骤:a)定义(25b)第二编码格式使用的库(25)的分级;b)恢复(23)在确定在根据第一格式的编码过程中的LTP参数的之后得到的先验信息用于选择(26)所述库的分级;c)将选择的分级应用(27)到所述库中的备选者上以选择(29)有限量的第一备选者;以及d)为了实施第二编码,只在所述有限量的备选者中执行LTP搜索(30)。

著录项

  • 公开/公告号CN101124625A

    专利类型发明专利

  • 公开/公告日2008-02-13

    原文格式PDF

  • 申请/专利权人 法国电信公司;

    申请/专利号CN200680003179.X

  • 申请日2006-01-09

  • 分类号G10L19/08;

  • 代理机构北京律诚同业知识产权代理有限公司;

  • 代理人徐金国

  • 地址 法国巴黎

  • 入库时间 2023-12-17 19:45:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-03-01

    未缴年费专利权终止 IPC(主分类):G10L19/08 授权公告日:20120229 终止日期:20160109 申请日:20060109

    专利权的终止

  • 2012-02-29

    授权

    授权

  • 2008-04-09

    实质审查的生效

    实质审查的生效

  • 2008-02-13

    公开

    公开

说明书

本发明涉及数字音频信号的压缩编/解码,尤其涉及语音信号和/或多媒体 信号传输或者存储应用。本发明的目的在于基于至少一个第一长时预测(Long Term Prediction,LTP)模型的参数有效地确定第二长时预测模型的参数。

压缩编码器使用数字音频信号的特性,例如在短时预测滤波器中利用的数 字音频信号的局部平稳性(Local Stationarity),以及在LTP长时预测滤波器 中利用的数字音频信号的谐振结构(harmonic structure)。尤其是,语音信号 中的浊音(例如元音),由于声带的震动,具有长时相关性。长时相关性的模 型用LTP滤波器P(z)表示,使用如下类型的合成滤波器可以获取谐振结构:

HLT(z)=11-P(z)

最简单形式的长时预测滤波器是滤波器具有单一系数β(也称增益)和整 数延迟T,从而P(z)=βz-T。延迟T也称为“基音”周期,或者简单地称为基 音)。

目前,更为精细的模型针对:

-使用多个系数(称为“多抽头(multitap)”)建模:P(z)=Σi=-kkβiz-T-i;

-或者使用多个延迟建模:p(z)=Σi=-1kβiz-iT;

-或者使用分数延迟,该分数延迟利用内插滤波器P(z)=βΣi=02l-1piz-(T-1+i)使用过 抽样和欠抽样,其中,对于具有分辨率(resolution)为1/D的延迟(T+1/D), 系数Pi(i)由Pi(i)=hinter(iD-1),0≤1≤D-1给出,hinter是长度为2ID+1的内插滤波器。

滤波器的参数(延迟和增益)随着被编码的信号的变化而变化并且对于同 一个信号随着时间而修正。例如,在语音编码中,寻找基音周期的范围(span) 以覆盖人的声音的基本频率的范围(从低音到高音)。对于同一个说话的人而 言,该频率也会暂时发生变化。同样地,滤波器的系数也随时间发展而变化。

对于编码,P(z)的参数通过开环分析、或者闭环分析、或者二者结合进行 测定。开环分析是通过使要被建模的信号中的预测错误最小而执行的。闭环分 析(称为“综合分析”)是使要被建模的语音信号和合成信号之间通常加权后 的均方误差最小。通常,先用开环搜索测定基音的第一估计值,称为“开环基 音”。然后,在这个锚定值(anchoring value)周围有限的范围内进行基于综 合分析的搜索,以便得到基音的更精确的值。这些分析在抽样的区块(blocks of samples)上实现。开环分析的样本块长度和闭环分析的抽样的区块长度不需 要相等。通常,针对多个闭环分析执行单个开环分析。

对于任一个LTP模型(单抽头(monotap)或者多抽头),在计算复杂度方 面,测定LTP参数的开销非常大。通常包含跟在抽样的几个子区域(也称为 子帧)上的多个闭环之后的抽样的大的区块上的一个开环。尤其对于编码,对 于谐振滞后(harmonic lag)的开环搜索是开销非常大的操作。通常,需要计 算大量值的信号的(实际上是在延迟变化的范围上)自相关函数。在根据UIT-T G.723.1标准的编码器中,延迟的这个范围包含125个整数延迟(从18到142), 并且开环延迟每15ms进行估计(也就是针对120个抽样值的区块)。UIT-T G.729标准中的8k比特/秒编码器,每10ms执行一次开环分析(在每一个具 有80个抽样值的区块上),并且探测(explore)124个整数延迟的范围(从 20到143)。这个操作占该类型编码LTP分析的复杂度的近70%。

即使闭环针对开环中产生的延迟,它的计算和资源开销也非常大。它需要 生成自适应激励(adptive excitaion)以及它们的滤波。例如,在G.723.1编码 中,使用多抽头LTP模型,闭环分析通过探测多个候选基音值的增益矢量库, 联合测定每一个子帧的矢量增益(βi)和滞后λ(假设侯选基音的情况下)。 这个分析将近占用5.3k比特/秒G.723.1编码器一半的复杂度。

当多个编码必须由同一个处理单元执行时,例如负责并行管理众多通信的 网关,或者发布众多多媒体内容的服务器,LTP分析的复杂度特别重要。在网 络上运行的压缩格式的多样性会使复杂度的问题显得更为突出。需要面对 (envisage)多个或者级联(或者“代码转换”),或者并行(多格式编码或 者多模式编码)的编码。在传输链中,当编码器发送的压缩信号帧不能用该格 式继续传送时,典型的方式是采用代码转换。代码转换可将帧转换为与其余的 传输链兼容的另外一种格式。最基本的解决方案(并且目前最普通)是相邻地 连接一个解码器和一个编码器。第一种格式的压缩帧到达后解压缩。解压缩后 的信号重新压缩为能够被其余的传输链接受的第二种格式。一个解码器和一个 编码器的级联称为串联(tandem)。然而,这种解决方案,从复杂度(特别是 由于重新编码)来看,开销非常大,并且降低了质量,第二次编码基于解码后 的信号完成,解码后的信号是原始信号的衰减版本(degraded version)。另外, 帧在到达目的地之前,可能遇到多个串联的解码器和编码器,因此会进一步增 加计算的成本,并且进一步增加质量的损耗。再进一步讲,与各串联操作相关 的延迟累积,并且对通信的交互性有害。

对于多格式压缩系统而言,同一内容需要压缩成几种格式(尤其是为了适 应接入条件,网络,各种各样终端用户的终端,使用不同的格式广播同一内容 的内容服务器的情形下),随着需求的格式数量的增加,多编码操作变得极其 复杂,并且可能使系统的资源很快饱和。另一种并行多编码的情形是具有后验 决定(posteriori decision)的多模式压缩,根据后验决定,在每一个要被编码 的信号段,执行多种压缩模式,选择能够最优化给定准则或者得到最好吞吐量 /失真折衷的压缩方式。这里,每一种压缩模式的复杂度限制了它们的数量和/ 或导致严格受限数量的模式能够被选择先验(priori)。

目前,绝大多数的多编码操作没有充分考虑编码格式之间的相似性,然而 这可以减少复杂度和计算延迟,同时限制引入的退化。对于同一编码格式的参 数,编码器之间的区别在于模型,程序和/或计算的频率,或者是量化。

通常,现有的技术方案,努力通过使用第一格式选择的参数限制针对第二 LTP模型的参数所探测的值的数量,来减少针对第二格式的LTP搜索的复杂 度。

两个单抽头LTP模型之间的代码转换是最简单的情形。目前提出的绝大 程序关于延迟之间的代码转换,当两个模型是相同的(相同的延迟库和相同的 子帧长度)在实际信号级(一种说法为“局部”串联)执行LTP增益的代码 转换,将延迟的二进制字段从一个比特流简单地复制到另外一个比特流已经足 够了。当库因它们的分辨率(整数或者分数1/3,1/6等),和/或它们的值的 范围而不同时,使用可能的变换(transformation),代码转换到二进制或者参 数域。变换可能是量化,截断(truncation),加倍(doubling)或者分裂(spliting)。 当两种格式的子帧的长度不同,可能提供延迟的内插。例如,内插重叠输出子 帧的第一格式的延迟。当后者与先前子帧得到的延迟比较接近时,才可能会使 用内插的延迟,否则执行传统的搜索。另外一个不用内插的直接方法在于从第 一格式的这些延迟中选择一个延迟。该选择依据多个准则进行:上一子帧,和 第二格式的子帧具有最多的相同抽样值的子帧,或者使依据LTP增益的准则 最大化的子帧。测定的延迟为针对第二格式延迟搜索的锚定值。这个延迟可能 用作第二格式开环延迟,在该开环延迟周围进行传统的或者受限的闭环搜索, 或者作为它的第一估计值,或者作为延迟轨迹(delay trajectory)的锚定。

对于在单抽头LTP模型和多抽头LTP模型之间代码转换的情形,由于模 型的差异,目前仅有的实施只是在信号域。绝大部分现有的代码转换技术局限 在,通过选择第一格式的一个延迟,或者这些延迟的一个内插作为开环延迟, 从而减少第二格式开环的复杂度。然而,已经提出了一些技术,也减少闭环的 复杂度。

在文件WO-03058407中,单型模型(monotype model)的分数延迟λ′通 过基于多抽头模型的系数(βi)的矢量测定,如下式所示:

λ=λ-Σj=-22jβj2Σj=-22βj2

在参考文件[1]中,“An Efficient Transcoding Algorithm for G.723.1 and G.729A Speech Coders(一种G.723.1和G.729A语音编码器的有效代码转换算 法)”,Sung-Wan Yoon,Sung-Kyo Jung,Young-Cheol Park,and Dae-Hee Youn, Proc.Eurospeech 2001,pp.2499-2502,多抽头模型的增益矢量的闭环搜索限制 在多抽头增益库(dictionary of multitap gains)中由第一格式的单抽头模型的增 益测定的子集中。测定以及子集的构造按照下述方法实现:计算增益库中每一 个矢量的全局增益(global gain);在对应库中170个矢量的170个全局增益 的基础上,建立8个子集,这些子集中的单个子集按照第一单抽头模型的LTP 增益选择。

在依据“Transcoding algorithm for G723.1 and AMR Speech Coders:for Interoperability between VoIP and Mobile Networks”(G723.1和AMR语音编码 器的代码转换算法:针对VoIP和移动网络之间的互操作性),Sung-Wan Yoon and al.,Proc.Eurospeech 2003,pp.1101-1104的参考文件[2]的变量中,子集 的建立通过如下方法学习:NB-AMR编码器的单抽头增益的变量范围被分为8 个子部分,接着,对于每一个子部分,在NB-AMR串联上统计分析(statistical study)可测定G.723.1标准的编码器的库中的M个增益矢量。这些增益矢量 从统计的角度讲具有最大的可能性。对于包含85个矢量的库,M等于40;对 于包含170个矢量的库,M等于85。在搜索增益的最优矢量期间,对库的探 测仅限于与NB-AMR编码器增益所属的子部分有关的子集。

就发明人目前的了解,还没有两种多抽头之间LTP模型之间的代码转换 技术。如上所述,目前绝大部分的技术方案只与单抽头LTP模型有关。有些 技术建议了多抽头模型和单抽头模型之间的代码转换技术,但是仅限于减少搜 索第二格式开环延迟的复杂度。

在仅有的少数一些减少闭环复杂度的建议方案中,其中一些基于将单抽头 LTP滤波器(分数的或者其他的)近似为多抽头LTP滤波器。例如,近似多 抽头滤波器的情形:

Pmulti(z)=Σi=-kkβiz-T-i

通过非分数单抽头滤波器Pmono(z)=βz-(T-δ),估计增益β和延迟抖动δ,从而考虑 所有的整数延迟T,使Pmulti(z)Pmono(z).

利用单抽头LTP模型的多抽头LTP模型的近似在UIT-T G.723.1中已经 使用了,实际上是估计自适应预滤波器,并且还控制LTP滤波器的不稳定性。 在设计G.723.1标准的编码器中所进行的研究表明,在延迟的宽范围上,不是 总可能用相同的增益β和相同的延迟抖动δ很满意地通过单抽头滤波器近似 多抽头滤波器。对于同一增益矢量(βi),最优组合(β,δ)的估计值作为延 迟T的函数变化很大。G.723.1标准的编码器中,已经有可能克服这个困难, 因为稳定控制过程从估计的增益(它们可能很不相似)中挑选出最大的增益, 并且当在相关的延迟范围上,当估计的增益极其不相同,或者延迟中的抖动太 不相似或者太大时,对于多抽头模型的任一增益矢量禁用自适应预滤波器。如 果自适应预滤波模块和长时预测滤波器不稳定性控制模块能够克服估计的困 难,并且不降低性能,这些优点更加难以用LTP分析模块本身实现,LTP分 析模块扮演着关于质量的重要角色。因此,参照所考虑的增益矢量和/或延迟, 为库中170个条目(entry)中的每一个矢量计算的170个全局增益,参见上面 的现有技术[1],可能远远不是最优增益。同样地,参照增益矢量(βi)和/或延迟 λ,参考现有技术WO-03058407,分数延迟λ′的计算可能导致分数延迟的不良 测定。

无论是分析还是统计的方法,在大范围的延迟上,利用单抽头LTP滤波 器近似多抽头LTP滤波器(或者相反的近似)太不精确。为了解决这个问题, 为了考虑增益β和/或抖动δ根据延迟T的变化,有可能需要对每一个延迟T 保存一对(β,δ)。然而,这个解决方案因为需要为每一个增益矢量和范围 上的每一个延迟保存一对(β,δ),所以在存储方面开销太大。在G.723.1 编码器的多抽头LTP滤波器近似中,具有125个延迟范围,包括170个矢量 和85个矢量的两个库,将要存储31875(=125*(85+170))对。并且,该技 术方案不能解决用单抽头近似多抽头太不精确甚至错误的情形。需要指出的 是,相反地,几对(β,δ)也可能构成多抽头LTP滤波器的很好的近似。

本发明目的在于改善这种状况。

首先,本发明的目的在于,从单系数(单抽头)LTP模型切换到多系数(多 抽头)LTP模型,反之亦然,以及在两个多抽头模型之间切换。特别是,本发 明提出了一种其复杂度可调的方法,尤其是作为在目标复杂度和所需质量之间 的理想折衷的函数。用于实施根据本发明的方法的设备对于级联的多编码(代 码转换)或者并行的多编码(多编码或者多模式编码)是非常有用的。

因此,本发明的第一个目的在于提供一种在通过实施根据第一格式编码的 至少一个步骤获得的信息的基础上根据第二格式进行编码的方法。尤其是对于 语音信号编码,所述第一和第二格式通过试探包含备选参数的至少一个库实施 搜索LTP长时预测参数的步骤,为了更精细地搜索LTP参数,第一和第二编 码格式至少之一使用具有多系数的滤波(以上所述的“多抽头”)。

根据本发明的一般概念,该方法包括以下步骤:

a)定义第二编码格式使用的至少一个库的分级;

b)恢复在确定在根据第一格式的编码过程中的LTP参数的之后得到的先 验信息以选择所述库的至少一个分级;

c)将选择分级应用到所述库中的备选者上以选择有限量的第一备选者;和

d)为了实施第二编码,只在所述有限量的备选者中执行LTP搜索。

因此,本发明通过在库中分级的定义和在库的试探过程中使用这些分级而 与现有技术不同。

通过研究下文中的详细描述和所附的附图,本发明其他的特征和优点将变 得非常明显。

附图说明

图1a是本发明提供的一种使用了用于根据第二格式编码的设备的智能代 码转换系统的示意图;

图1b是本发明提供的一种使用了参照第二格式的编码设备的多编码系统 示意图;

图2是本发明提供的方法的主要步骤;

图3是本发明提供通过编码设备实施的器件的示意图;

图4a是CELP编码器(代表“码激励线性预测”)的示意图;

图4b是根据UIT-TG.729的编码的LTP分析的步骤;

图4c是根据UIT-T G.723.1(6.3k比特/秒)标准的编码器的LTP分析的 步骤;

图5a是根据UIT-T G.723.1标准(30ms)的编码器的帧和根据UIT-T G.729 (10ms)的编码器的帧之间的对应关系的示意图;

图5b是根据G.729编码器(5ms)的编码器的子帧和根据G.723.1编码器 (7.5ms)的子帧之间的对应关系的示意图;

图6是基于G.723.1基音值的G.729的开环基音搜索;

图7a和图7b分别是在G.729编码器的偶数(相应地奇数)子帧和来自根 据第一格式的编码器的G.723.1编码器的LTP参数序列之间的相互关联;

图8是G.723.1(右栏CD)的子帧与G.729(左栏CG)的子帧之间的关 联表;

图9a和图9b是库(初始,在图9a中为85个矢量,在图9b中为170个 矢量)中的试探的减小后的数量的直方图(沿纵坐标是出现的数量),以及根 据CELP准则保证质量降低少于1%;以及

图10是在具体实施例中当构造几个分级时的第二库的N个元素的选择的 示意图。

具体实施方式

因此本发明属于级联或者并行的多重编码,或者使用单抽头或者多抽头的 建模以表示信号的长时预测的任何其他系统。在两个模型中至少一个使用多抽 头模型的情况中,本发明可以基于第一模型参数的知识确定第二模型的参数。 为方便起见,仅仅描述从第一模型到第二模型转换的情况,但是应该理解,本 发明还应用在从m(m>=1)个第一模型到n(n>=2)个第二模型的转换的情 况中(其中m和n是自然数)。

参照图1a和图1b,进而考虑与两个编码系统COD1和COD2对应的信号 的两个LTP模型的情况。这涉及特别是通过智能代码转换以级联(图1a)从 第一编码系统COD1到第二编码系统COD2的转换,或者通过优化多重编码 (图1b)以并行从第一编码系统COD1到第二编码系统COD2的转换。第一 编码器对给定信号(比如原始信号S0)执行其编码操作。从而,可以得到第 一编码器选择的表示为LTP1的LTP参数。该编码器通过在编码处理中其自身 的技术确定这些参数。第二编码器COD2必须同样地执行其编码。在代码转换 的情况下,只有第一编码器COD1生成的进而包含参数LTP1的二进制编码的 二进制序列BS1对第二编码器COD2是可用的。本发明从而可以应用于智能 代码转换。在多并行编码的情况中,第一编码器COD1可用的原始信号S0(或 者衍生版本)对于第二编码器COD2也是可用的,并且本发明可以应用于智能 多编码。很明显,本发明还可以应用于多并行编码的具体情况中,即具有后验 决定的多模式编码。

本发明属于在两个模型中至少一个是多抽头模型的情况中,从另一LTP 模型的至少一个LTP1参数确定表示为LTP2的LTP模型的参数。代替在其定 义集(或者“库”)中搜索第二编码格式的参数,本发明现在参照图2,提供 下述步骤:

-在第二编码格式的库DIC2(图2中的标号25),初始确定序列ORD1, ORD2,.....(图2中的步骤25b),

-基于第一编码格式的至少一个参数LTP1,选择第二格式的库的至少一 个序列(DIC2)(步骤26)。

-在步骤27中,获得库元素的有序的序列ei2,ej2,ek2,......

-有利的是,试探(exploration)限于已经分级的库DIC2中的第一元素 ei2,ej2,(步骤29),优选地是在步骤28中根据所需的质量/复杂度折衷(目 标质量/允许的复杂度)选择元素号码。

这样,应该理解,通过实施本发明,可以限制在第二编码COD期间LTP 搜索所属的第二库DIC2的元件的数量,同时保证编码COD2的高质量。在图 2中,分别在第一编码器COD1和第二编码器COD2中执行的操作分为两个模 块20和24,库DIC2(标号25)为第二编码器COD2可用的。在该侧,在步 骤21中第一编码器COD1使用至少其自己的库DIC1(步骤22)确定参数LTP1。 这样,应该理解,第一编码器COD1典型地基于原信号S0确定其参数LTP1 的方法构成了先验信息(priori information)(步骤23),第二编码器使用该 信息对其库DIC2分级。最后,通过在本发明的范围内应用第二编码器的库的 分类获得的参数LTP2(步骤30)其本身将可以适于为根据又一第三编码格式 (没有示出)的库分类服务,等等,以及进而为级联代码转换或并行多编码服 务。

应该注意,所给图2仅仅是示例目的。例如,库DIC2的元素ei2,ej2,ek2,…, 的显示并不是后面将看到的实际显示。另外,在同一步骤中基本上结合执行在 作为质量/复杂度准则(步骤28)的函数的搜索中所要考虑的库DIC2的分类 (步骤25b)和其元素的限制。最后,图2中所示为第一编码器COD1向第二 编码器COD2发送先验信息(步骤23)。然而,作为变型,第二编码器COD2 可以从第一编码器简单地恢复第一编码器已经确定的LTP1参数的二进制编 码,并通过第一编码器COD1使用的编码类型和库的具体知识获得先验信息。

图3中所示为在本发明范围内用于根据第二格式编码的装置。该装置通过 根据第一格式实现编码使用编码信息(这里根据第一格式COD1从编码恢复的 参数LTP1)。本发明范围内的装置包括,示例中所示的:

-存储器MEM,用于存储对应表,该表作为由第一编码格式确定的LTP1 参数的函数定义了第二编码格式使用的库的分级(orders)。

-诸如界面31的器件,用于恢复给出在根据第一格式的编码过程中的LTP1 参数基础上的至少一个先验信息的信号。

-在接收到所述信号时活动的器件32,用于查阅所述对应表并且选择第二 格式的库的至少一个分级。

-计算器件,比如处理器35,用于:

*根据所选的分级(order)对第二格式的库33进行分级,从而由库33 中选择有限数量的最初的备选者;和

*根据第二格式,并且如果适当的话用其他模块34,通过仅仅在该有限 数量的备选者中执行LTP搜索,继续编码。

当然,处理器35管理该设备的所有或者一些模块。为此,其可以是计算 机程序产品驱动的。本发明进一步目的为该计算机程序产品,该产品存储在处 理器单元的存储器中,或者与所述处理单元的阅读器协作的可移动介质上,或 者该产品是可以从远程地址进行下载的,并且包含用于实现本发明方法的所有 或者一些步骤的指令。

应该具体理解,在本发明范围内,设备COD2可以直接恢复第一编码器 COD1的LTP1参数,从而推导出所述的先验信息,进而是其库DIC2的分级, 或者,作为变型,从第一编码器COD1直接接收关于其库的分级的先验信息。 在后面的情况中,第一编码器COD1已经在本发明中起了具体作用。

本发明的目的还在于一种系统,该系统包括第一编码器和本发明范围内的 设备。特别地,图3中的设备可以加入到编码系统中,该系统实现至少一个第 一和一个第二编码格式。然后该系统包括至少一个用于根据第一格式COD1 编码的设备,和用于在本发明范围内编码然后应用第二格式COD2的设备。因 此,本发明目的在于该系统。如图1a中所示,用于根据第一格式编码的设备 和用于根据第二格式编码的设备可以级联设置,用于代码转换。作为变型,如 图1b所示,用于根据第一格式编码的设备和用于根据第二格式编码的设备可 以并行设置,用于多重编码。

在本发明的实现中,假设第二编码器COD2可以从第一编码器COD1中 恢复(当后者已经确定参数LTP1时)使其能够对它的库DIC2分级的信息(见 图2)。从而,可以仅在这样分级的库DIC2的第一元素(ei2,ej2)进行LTP搜 索,从而保持对第二编码的高质量。

有利的是,利用对第二库DIC进行分级可以为要被试探的分级后的元素 的数量提供更大的弹性。然后,可能:

-自由调整质量/复杂度折衷;

-另外对于给定复杂度,优化质量;

-或者相反地,对于给定质量使复杂度最小化。

该调整可以在处理的开始时执行。还可以在要处理的每个区块中执行,作 为第一编码格式的参数和/或要被编码的信号的特征的函数(例如,作为清浊 音准则(voicing criterion)的函数)。对同一个区块,复杂度还作为LTP子帧 的函数而变化。本发明提供了更大的弹性,从而可以动态分布第二编码器的模 块之间可用的计算能力和/或资源,从而处理LTP子帧。

优选地,基于与第一LTP模型的参数相关联的库DIC1的初始划分,确定 与第二LTP模型参数关联的库DIC2的分级。很明显,分级的确定包括根据特 定准则对第二库DIC2的元素进行分级。通过库DIC2元素的目录给出等级 (ranking)(或者“分级”)。

可以了解一下第一库DIC1的划分的几种类型。第一示例是N个元素的 DIC1库的元素的示例性划分为大小为1的N个不相交的类。然后确定第二库 的N个等级。可以选择更精细的划分,尤其是通过量化或者数据分类的公知 技术(矢量或标量)。

有利的是,相似的分级可以一起构成组,该相当于修改第一库的初始划分, 以及随后的第二库的分级的数量。一旦他们已经一起形成组,还可以重新计算 分级。用于确定第一库划分为N类和计算第二库的N个分级的过程可以是迭 代的,而且在迭代的过程可以改变数字N。作为变型或者补充,限制用于存储 第二库的分级的存储器,针对这些分级的每一个分级,选择要被保持的元素的 最大数量,该数量可以根据第一库的分级和/或分类而不同。

在进一步变型中,第一库的分类不必是不相交的。典型地,同一元素可以 与第二库中多于一个分级相关联。然后,分级的选择和分级的组合可以考虑除 了第一库的当前LTP参数以外的因素(factor)。

开始,通过统计和/或分析研究确定适于第二库的分级的数量和分级,作 为根据第一模型的LTP参数的逐次序列的函数。从而该研究为与第一格式的 LTP参数相关联的库的划分的每一分类定义第二格式的参数库的等级。在离线 的集(off-line bank)通过关联同一分级的第一格式的LTP模型和第二格式的 LTP模型执行统计研究。两个LTP分析并行设置为优选的学习配置(learning configuration)。当然,可以使用其他配置,具体,级联两个编码的传统串联。 统计研究根据特定准则,为第一库的每一元素(或者其划分的每一类)保证第 二库元素的等级。优选地,该准则估计对获得的信号的质量的影响。特别地, 质量准则可以使用在编码中以选择第二LTP参数。当然,可以使用其他准则, 具体地,为第一库的分类调用第二库的元素。而且,还可以使用准则的组合。

还可以执行分析研究以判断确定第二库的分级,作为第一库的划分的函 数。优选地,该分析研究完成上述的统计研究。优选地限于满足分析近似的库 的部分。

下面介绍在根据第一编码格式的LTP参数基础上确定第二编码格式的 LTP参数。

在用于已知第一编码格式选择的LTP参数限制第二库的试探的算法设计 框架内,优先使用第一库的划分和与第一库的划分相关联的第二库的分级。

为了介绍清楚,首先介绍当两个编码格式具有相同持续时间的LTP子帧 时使用的算法的原理。每个第二编码格式的当前子帧对应一个第一编码格式的 子帧。对该第一子帧,第一编码格式选择了LTP参数序列(称为“第一序列 LTP1”)。由于与第一模型的LTP参数中的一个相关联的库的划分,通过选 择与第一序列LTP1的元素的分类相关联的分级选择第二库的试探的分级。然 后,根据这样确定的分级试探第二库。而且,作为质量/复杂度折衷的函数和/ 或可能为该分类保留的第二库元素最大数量的函数,限制被检测的元素的数 量。通常,假设在第二库的所有元素中,仅检测通过已经选择的分级确定的第 一元素。

当两个编码格式具有不同持续时间的LTP子帧时,可以将第二格式的当 前子帧对应于第一格式的多于一个子帧。该情况如作为示例的图5b中所示。 对于这些第一子帧,该第一编码格式选择LTP参数的多个序列。由于与第一 模型的LTP参数中的一个相关联的库的划分,通过选择与第一序列元素的分 类相关的分级预先选择第二库的试探的分级。可能出现如果为第一子帧选择的 参数属于和第一库的划分相同的类,那么最后选择单一分级。然而,这是特殊 情况。这将使我们回到对应相同持续时间的LTP子帧的前面方案。如果,方 便的话,预先选择多于一个分级,可能保存仅仅一个分极(比如最预先选择的 分级),或者其它对应第一格式子帧的分级,该子帧最多覆盖第二格式的当前 子帧。

基于第一库的划分的LTP参数的类型,可以采用其他准则。取代保留仅 仅一个分极,其他方案包括组合各种预先选择分级中至少一些。可以有几个组 合的过程。例如,如果保留了K个分级,那么首先检测K个分级中每个分级 的第一元素,同时消除任何冗余。获得K1个元素(K1≤K)。然后,添加由K 个分级的第二元素构成的集(set)中选择K2个元素,从而K2≤K且K2≤N-K1, 等等,并且直到获得N个元素,N等于第二库中将要检测的元素的最大数量。 在图10中已经示意性示出了假借K个分级ORD1,ORD2,......,ORDK的 第一元素选择出的N个元素ei,ej,...,ek,...。可以选择保存在集ENS中的 元素的数量N,例如作为最大允许复杂度的函数。在该等级中,还可能偏爱最 经常分等级在第一元素中的那些元素。

作为变型,还可以通过预先选择每个等级Ci(1≤i≤K)的Ni(≤N)个第一元素, 构成等级的K个子集。选择Ni,从而∑Ni≥N,并且可能公正地处理等级,或 者,相反地,偏爱特定等级。然后选择出现在K个子集中的所有元素和然后 出现在K-1个子集中的元素,等等,直到保持N个元素。如果没有获得N 个元素,通过,例如,连续取K个子集中的顺次的元素,完成元素的数量。

当然可以组合这些等级策略中的一些。很明显,在通用方式中,优先根据 这样确定的“动态”分级试探第二库。当划分的类不相交并且第一库的元素属 于多于一个类时,还可以应用用于从预定存储的分级中构造动态分级的过程。

下面是从第一LTP模型切换到第二LTP模型的三种情况,示出了本发明 在各种模型和各种类型LTP参数的应用。当然,虽然所给示例仅仅用于第一 和第二库,但是本发明可以容易地概括到多于一个第一和/或第二库。

从单抽头模型到多抽头模型切换的情况

格式COD1的单抽头模型的参数是可用的,并且寻找以最小的计算和/或 资源代价确定格式COD2的多抽头模型的参数。对于每个子帧,编码器COD1 确定单抽头LTP滤波器的参数对(λe,βe)。COD2子帧的编码需要确定多抽头 LTP滤波器的参数对(λs,(βi)s)(其中i为增益标号(gain index))。因此第一 模型的参数序列为(λe,βe)。第二模型的参数序列为(λs,(βi)s)。

通过一个已知现有技术过程可以确定延迟λs。例如,可能使用智能代码转 换过程,该过程直接通过选择由COD1在与COD2的当前子帧共享最大抽样 的子帧中确定的延迟作为延迟确定该延迟λs,(如果该延迟λe是分数,取其 整数部分或者最接近的整数)。下面具体参照图7a和7b详细介绍该情况。

然后对于COD2的每个子帧,在本发明范围内以低复杂度,在COD1子 帧的至少一个增益βe的基础上,确定增益矢量(βi)s。通过关联两个LTP模型的 研究,执行第一库的划分(这里标量增益βe的库)。然后确定与该划分关联 的第二库的分级。这些分级这里对应增益矢量(βi)s的全集(whole set)。在第一 格式COD1为其与COD2的当前子帧相对应的子帧选择的标量LTP增益βe的 基础上,预先选择与标量增益的分类相关联的第二库的分级。然后,保留这些 分级中的一个分级,或者另外,动态地构造一个分级。最后,测试通过该分级 确定的增益的第一N矢量,以选定最佳矢量(根据诸如通用CELP准则的准 则)。可以想到,由于分级的作用,数量N作为例如所需质量/复杂度折衷的 函数可以容易地调整。通常,N远远小于第二库的大小。

根据本发明的一个优点,在第一格式的单抽头LTP滤波器的至少一个增 益的基础上,从而确定第二编码格式的多抽头LTP滤波器的增益的最佳矢量, 同时相当地减少试探增益矢量的第二库的复杂度并且同时限制要被检测的增 益矢量的数量。对比这里所给参考文献【2】,对于每个单抽头增益,关联固 定大小的增益矢量的子集,本发明范围内的解决方案使作为目标质量和复杂度 约束的函数调整库的试探成为可能。应该理解,本发明比上述参考文献中的预 定的且固定的子集需要增益矢量库的各种分级的更多参与。

在下面作为实施例将要描述的从8-kbit/s UIT-T G.729编码器到6.3-kbit/s UIT-T G.723.1编码器的智能代码转换的情况中,这里的步骤将应用于关注在 G.729编码器的LTP增益的基础上,在G.723.1的两个增益矢量库之间闭环搜 索。

从多抽头模型到单抽头模型的切换的情况

该具体情况是前面情况的倒转。第一格式COD1的多抽头LTP模型的参 数为可用,并且寻求以最小代价确定第二格式COD2的单抽头LTP模型的参 数。当写入第二模型的参数序列(λe,(βi)e)时(其中i是增益标号),进而写入 第一模型的参数序列(λs,βs)。在第一编码器COD1选择的至少一个参数序 列的基础上,寻找以获得格式COD2的延迟λs和增益βs。从关联两个LTP模 型的研究中,执行第一库的划分,在该情况中,该第一库为增益矢量(βi)e的库。 然后在本发明的范围内,确定与第一库的划分相关的第二库的分级。这里,第 二库包括抖动(jitter)值(λe-λs)的全集。在第一格式COD1选择的增益矢量(βi)e 的基础上,对于对应COD2当前子帧的子帧,预先选择与这些增益矢量的分类 相关联的第二库的分级。这里,可以保留这些分级中的一个,或者另外,动态 地构造一个分级。最后,试探围绕一个或者多个锚定延迟λs′这样确定的“周边” 值。通过现有技术中公知的过程确定锚定延迟(s)。

本发明从而提供了一种原创的解决方案,该方案使得基于第一编码格式的 多抽头LTP模型的参数的知识,通过减少第二编码格式的单抽头LTP模型测 试的延迟值的数量,减少确定延迟λs的复杂度成为可能。大部分现有技术过程 仅仅使用延迟,不使用增益矢量。如在专利WO-03058407所述,这里使用两 种类型的参数。然而,与最后的参考文献相比,增益矢量指的是几个抖动值的 集,而不是在该参考文献中的单个值。根据本发明提供的优点其中之一,进而 解决了关于由单个单抽头滤波器近似多抽头LTP滤波器的问题。

在一个有益的变型中,为了限制存储,分级后的邻域值为增加大小的间隔。 该测量对于聚焦开环和/或闭环搜索尤其具有优点。后面将介绍一个实施例, 涉及在6.3kbit/s UIT-T G.723.1编码器的LTP参数的基础上对于8-kbit/s UIT-T

G.729编码器的LTP延迟的闭环搜索。

从多抽头模型到多抽头模型切换的情况

据发明人所知,在现有技术中从没有研究过该情况。

第一格式COD1的多抽头模型参数为可用,并且寻求以最小代价确定第二 格式COD2的多抽头模型的参数。因此,写入第一模型的参数序列(λe,(βi)e)。 也写入第二模型的参数序列(λs,(βi)s)。在第一格式COD1所选的至少一个参数 序列的基础上,寻求获得第二格式COD2的延迟λs和增益矢量(βi)s

通过现有技术公知的过程,在至少一个延迟λe的基础上确定延迟λs。假设, 本发明的应用使得在第一格式COD1的子帧的至少一个增益矢量(βi)e的基础 上,对于第二格式COD2的每个子帧,以低复杂度确定增益矢量(βi)s成为可能。 通过关联两个多抽头LTP模型的研究,在本发明范围内执行第一库的划分, 在该情况中第一库为增益矢量(βi)e的库。然后确定与该划分相关联的第二库的 分级。在第一格式COD1选择的增益矢量(βi)e的基础上,对于对应第二格式 COD2当前子帧的子帧,预先选择与这些增益矢量的分类关联的第二库的分 级。从而,保留这些分级中的一个,或者另外,动态地并且渐进地构造一个分 级。最后,测试通过该分级确定的第一增益矢量以选择最佳的。

下面介绍,描述UIT-T G.723.1编码中比特率6.3kbit/s和5.3kbit/s之间后 者情况的示例性实施例。

示例性实施例

下面所示为三个示例性实施例,旨在说明在两个情况中的第一个情况下的 两个不同编码格式UIT-T G.729和UIT-T G.723.1之间的代码转换,和在后一 种情况中在多速率编码器(UIT-T G.723.1)中比特率的变化。首先给出这两个 UIT-T编码器和他们LTP建模的描述。

8kbit/s的UIT-T G.729编码器和UIT-T G.723.1编码器(6.3kbit/s和5.3 kbit/s)

这两个编码器属于CELP编码器族,该编码器基于综合分析。

基于综合分析的编码器

在这些编码器中,分析模型用于提取参数,该参数用于对要被编码的信号 进行建模。这些信号以电话频率(Fe=8kHz)或者更高的频率抽样,例如对于宽 带编码(从50Hz到7kHz的带宽)以16kHz进行抽样。根据应用和所需质量, 压缩系数从1到16,从而这些编码器在电话带中工作在2到16kbit/s比特率, 在宽带中工作在6到32kbit/s比特率。图4a中所示为CELP类型的数字编码和 解码设备,该编码器基于目前最广范地用于编码语音信号的综合分析。语音信 号S0被抽样并转换为一串抽样区块(L′),叫做帧。通常,每帧分作抽样的 更小区块(L),叫做子帧。通过用两个时变滤波器对从增益放大后的内容(也 叫做固定激励库)中提取的波形进行滤波分析每个区块。该抽取库是L抽样波 形的有限集。第一滤波器是长时预测滤波器。“LTP”(长时预测)分析可以 估计该长时预测器的参数,该长时预测器使用浊音的周期性。该预测器等同于 存储各种延迟的过去激励的库。该库通常叫做“自适应激励库”。第二滤波器 是短时预测滤波器。“LPC”(线性预测编码)分析过程使获得这些短时预测 参数成为可能,该参数为声道的传递函数的表示并且是信号的频谱的特征。

这样,参照表示CELP编码器基本图的图4a,语音信号S0进行LPC分析 41(没有详细示出),并且LTP分析与固定激励46和自适应激励45的内容 的构造一起馈送至合成滤波器44。然而,在这样构造的环中,包括感知加权 模块42和误差最小化模块43。

因此用于确定新息序列的方法是综合分析。在编码器,通过两个LTP和 LPC滤波器对大量新息序列进行滤波,而且所选波形是根据通常称为CELP 准则的感知加权准则生成最接近原始信号的合成信号。

8kbit/s的G.729的LTP模型(单抽头)

UIT-T G.729编码器工作在限于分段频带3.4kHz的语音信号,以8kHz抽 样并且分为10毫秒的帧(例如,每帧80抽样)。每帧分为40抽样(5毫秒) 的两个子帧(下面编号为0和1)。UIT-T G.729编码器的LTP模型是基于具 有分数分辨率的单抽头模型。在每帧中,LTP分析为每个子帧确定延迟λi和增 益βi。图4b所示为其中主要步骤。在每帧中,在值【20∶143】的范围中执行 对开环延迟的搜索,表示为λOL(步骤401)。然后,在开环延迟λOL周围 [λOL-3,λOL+3]的范围中以闭环搜索第一子帧的延迟(步骤402)。进而,通 过使用基于综合的分析,用在范围中的1/3分数分辨率并且在范围 [85;143]的整数分辨率下,确定偶子帧的延迟λ0

然后,用1/3分数分辨率通过在范围[int(λ0-52/3);int(λ0+42/3)]内关于λ0的 综合分析确定第二子帧的延迟λ1,int(λ0)是可能的分数延迟λ0的整数部分(步 骤404)。对于每个子帧,一旦确定了闭环延迟就计算增益β(步骤403和405)。 在针对固定激励的搜索之后,通过以7比特的矢量量化和固定激励的增益一起 量化增益β。从而,G.729的单抽头LTP增益的有限集(或者库)大小为128。

G.723.1的LTP模型(多抽头)

UIT-T G.723.1的编码器工作在限于分段频带3.4kHz的语音信号,以8kHz 抽样并且分为30毫秒的帧(例如,每帧240抽样)。每帧包括4个7.5毫秒 的子帧(60抽样),4个子帧两个一组分组为15毫秒的超级子帧(120抽样) 的两组。UIT-T G.723.1的编码器使用5个分级的多抽头模型。对于6.3-kbit/s 模式,通过预先存储有85条或者170条的两个库对长时预测器的系数进行矢 量量化,而对于5.3-kbit/s模式使用仅仅170条的库对长时预测器的系数进行 矢量量化。在6.3-kbit/s模式中,库中被试探的选项取决于偶子帧的延迟值。

图4c所示为G.723.1编码器的LTP分析的主要步骤。在每帧中,执行两 个开环LTP分析(每个超级子帧一次)以在范围【18;142】内估计120抽样 的各块的延迟λ′OL(i=0或者1)(步骤410)。然后,对于每个超级子帧, 执行两个闭环LTP分析(每个超级子帧一个)。在范围【λ′OL-1;λ′OL+1】内 以闭环搜索偶数子帧(子帧0和2)的相应延迟λ′OL。与该搜索一起,还通过 综合分析试探增益矢量库(步骤411)。对于奇数子帧(子帧1和3),执行 类似搜索(同时搜索增益矢量和以闭环搜索延迟),并且在闭环中对于延迟 λ2i+1-1的搜索限于前一子帧的闭环延迟的附近【λ2i+1-1;λ2i+2】(步骤412)。

第一示例性实施例:在8-kbit/s的G.729的单抽头LTP参数的基础上确定 6.3-kbit/s的G.723.1的多抽头LTP参数

如图5a中所示,通过采用通常的公共时间起点,G.723.1编码帧对应三个 G.729编码帧。从而,很明显,G.729的子帧并不与G.723.1的子帧一致,但 是正相反,后者(7.5ms)重叠前者(5ms)。图5b所示为G.723.1编码帧和 三个G.729编码帧以及他们各自的子帧。G.723.1帧的子帧从0到3编号。G.729 的三个帧一起构成一组,并且他们的子帧从0到5编号。

多抽头滤波器的延迟的确定

该延迟的确定是直接的。这样,对G.723.1的偶数子帧,也就是子帧0和 2,采用与G.729的子帧1和4的延迟的整数部分相同的延迟。对于奇数子帧, 在上述延迟(偶数子帧)附近执行闭环。该闭环等于G.723.1的闭环,但也是 根据所需复杂度受到限制的,或者甚至被消除从而在两子帧,偶数和奇数中保 持相同的延迟值。

多抽头滤波器的系数的确定

这里,仅仅考虑一个第一库,即G.729的128单抽头LTP增益集,反之, 考虑两个可能的第二库(G.723.1增益矢量的两个库,根据子帧的延迟进行选 择)。

一旦确定延迟,仍然要在G.723.1编码器选择的5个系数的矢量库中确定 5个增益的矢量。本发明的应用使得将其试探限制于在G.729编码器的子帧的 单抽头LTP增益基础上确定的有限量的增益矢量成为可能。

通过在同一编码器中关联G.723.1编码器的多抽头模型和G.729编码器的 单抽头模型预先执行统计研究。该研究使对于每一个G.7291的128个单抽头 LTP增益,根据他们对恢复的信号的质量的影响,对G.723.1的两个库的多抽 头LTP增益的170个矢量和85个矢量进行分等成为可能。这里,CELP准则 用于该目的。对于G.723.1两个库中的每个,进而已经获得与128个单抽头LTP 增益集的基本划分相关联的128个分级(或者等级)。

G.723.1的每个子帧覆盖(至少部分地覆盖)G.729的两个子帧。首先, 提取对应G.729子帧的这两个子帧的两个单抽头增益(表示为g1和g2)。这 两个增益中的每个都关联多抽头系数的矢量库中的矢量等级C(gi)。通过 G.723.1的偶数子帧的延迟值选择该库。

设N是G.723.1编码器当前子帧的多抽头增益矢量的允许的最大数量。如 果G.729的两个增益相等,因此这里仅有一个等级,并且保留通过该增益矢量 库的等级对元素的分级。否则,从两个不同的分级构造N个元素的分级。例 如,通过预先选择他们的第一元素N1和N2(分别地)构造等级C(g1)和C (g2)的两个子集。N1和N2小于或者等于N。两个等级(N1=N2)可以被等 同处理,或者可以偏爱其中一个。例如,可以偏爱与最大单抽头增益(典型地, 如果g1>g2,那么0≤N1≤N2≤N)相关联的等级。还可能偏爱其G.729子帧与所 考虑的G.723.1子帧重叠最大的等级。然后,首先选择属于两个子集的所有元 素。通过在两个子集中交替地取出在其余元素中分等最好的元素,将形成库的 集补充到N。这里,还可能通过补充以偏爱两个子集中的一个。当然可能组合 这些策略中的一些。例如,选择N1=N2但是在选择公共元素之后,在可能补 充其他等级的其余元素之前继续两个等级中的一个等级的其余元素。该策略还 可以根据所考虑的G.723.1的子帧变化。

最后,对增益矢量库的试探限于通过这样构造的“动态”分级确定的N 个矢量。该聚集的试探使选择最佳增益矢量成为可能。优选地,选择准则为通 常由G.723.1使用的CELP准则,该准则用于试探具有5个LTP系数的矢量库。 这里提出的解决方案允许大大减少G.723.1的LTP分析的复杂度,然而并不降 低质量。作为性能的示例,对于两个库,图9a和9b表示试探的大小的直方图, 该图保证相对于完全试探CELP准则中的损失严格少于1%。应该注意,试探 的大小(沿着横坐标)是远远小于库的总的大小。这样,对于具有85个矢量 的库,平均大小是39,对于170个矢量的库,平均大小是49。以使用的内容 为基础,统计研究表明,甚至对于远远小于库的大小的平均试探大小(48代 替85,49代替170),可以根据CELP准则(实际上在CELP准则中没有损 失)优化受限的试探。聚集后的搜索导致与彻底搜索等效的性能,同时几乎试 探不多于大小为85的库的一半和大小170的库的三分之一。这些数字清楚说 明通过实现本发明得到的复杂度降低。

另外,对于两个库,128个分级的全部存储表示总共要存储128×(170 +85)=32640个索引值。实际上,没有必要保留所有这些值,因为如上所述, 仅仅有限的数量是必要的。这样,对于CELP准则中的零损失,试验显示足够 存储大约13582个索引。通过选择CELP准则中的更弱的约束,该数量可以再 次减少(降到11251,对于1%的损失)。通过采用单抽头增益集的除了基本 划分之外的划分可以再次大大降低。

第二示例性实施例:在6.3-kbit/s的G.723.1的多抽头LTP参数的基础上确定 8-kbit/s的G.729的单抽头LTP参数

与上述实施例正相反,G.723.1帧的多抽头LTP模型参数为可用,并且寻 求获得三个帧的G.729的单抽头LTP参数,也就是6个子帧(见图5b)。

开环延迟的确定

取消开环搜索。为此,三个G.729帧的每个帧首先采用G.723.1编码器子 帧中的一个子帧的延迟作为开环延迟。图6中所示为G.729的帧和G.723.1的 子帧之间的对应。

然而,应该注意,G.723.1编码器选择的延迟可以在G.729编码器允许的 值的范围之外。特别地,G.729编码器允许的最小值是19,而G.723.1编码器 是18。对于避免该问题,可以有几种解决方案。典型地,例如,可以将从G.723.1 编码器得到的延迟翻倍,或者更简单地将其加1。

闭环延迟的确定

一旦对于G.729编码器的三个帧固定了开环延迟,那么可以对每个子帧执 行闭环搜索。可以想到值的范围为:

λ0∈[λOL-3;λOL+3]和λ1[int(λ0-523;int(λ0+423]

对于G.729编码器的基本闭环搜索包括首先连续地测试范围中所有整数 值(对于λ0为7,对于λ1为10)。一旦选定了最佳整数值,测试各种分数 (-2/3,-1/3,1/3,2/3)以根据所选准则确定最佳的分数,在这种情况下,为最大 化CELP准则那个分数。对于偶数子帧,应该注意,仅仅当整数部分λ0小于 85时搜索分数部分。

这里,第一库(上述给定的本发明的定义)是G.723.1编码器的两个LTP 增益矢量库中的一个,第二库是锚定延迟附近的相邻整数值(或者抖动)的两 个集中的一个。然后应该理解,一个方面,本发明可以容易地应用到多于一个 第一库,另一方面可以应用于多于一个第二库。

为减少锚定值λ′附近的整数值(λOL或者int(λ0))的闭环搜索复杂度,提出, 在本发明范围内,限制通过闭环测试的整数延迟值的数量。根据由G.723.1作 出的LTP增益矢量的选择,仅仅测试减小后的数量值。在该受限的集中确定 整数延迟。然后,以常用方式搜索分数部分。

通过在同一编码器内关联G.723.1的多抽头模型和G.729的单抽头模型预 先执行统计研究。该研究使对于G.723.1的两个多抽头LTP库的每个增益矢量, 根据他们对恢复的信号的质量的影响,为G.729(偶数和奇数子帧)周围的两 个闭环搜索建立邻域值重要性分级成为可能。该分类使其可能根据质量和复杂 度约束选择值的数量,并且对于G.729六个子帧的每一个,限制根据G.723.1 的子帧作出的增益βi的选择的闭环的程度。通过使用图8中的子帧之间的对 应,每个G.729子帧和G.723.1子帧的一个或者两个相关联。根据增益矢量βi的5个系数的矢量,以降低重要性的次序对邻域值λ′进行分等。然后确定测试 的值的数量,作为所需复杂度的函数或者所需质量/复杂度比的函数。

图7a(分别在图7b中)所示为从G.723.1编码器得到的G.729的偶数子 帧(分别为奇数)和参数序列(λj,(βi)j)之间的关联。

应该注意,对于一些子帧,锚定值λ′可能与为相关联的G.723.1子帧确定 的参数序列(λj,(βi)j)的延迟λj不同。这点将随后解释,其中考虑子帧的奇 偶性(奇数或者偶数)。在第一变型中,可以简单地忽略任何不同。优点是, 在另一个变型中,分级后的邻近的集可以修正,作为差(λj-λ′)的函数,该 集的大小也是可以修正的。优选地,根据增益(βi)j从该分级后的邻域的每个元 素中减去差(λj-λ′),并且考虑给出该集的交集以定义邻域(neighborhood) (这里,如随后所示,对于偶数子帧间隔为[-3;3],对于奇数子帧间隔为[-5; 4])。

还可能以使用受限的邻域为条件,作为在两个延迟之间的偏差为函数。从 而向子帧,或者两个延迟之间的偏差,或者组合后的两个准则使用该策略。 偶数子帧

必须在开环延迟λOL的周围范围[λOL-3;λOL+3]内执行本搜索。根据由 G.723.1编码器所选的增益矢量,确定7个抖动值序列(-3,-2,-1,0,1, 2,3)的分级。对于G.729编码器的子帧0(分别地2),仅仅有一个G.723.1 的关联子帧,以及一个增益矢量和一个分级。另一方面,G.723.1编码器的两 个子帧与G.729编码器的子帧4关联,如图7a所示。从而通过增益矢量(βi)2和 (βi)3预先选择邻近的集的两个分级。如上所示,可以采用单个分级或者组合两 个分级。如果采用仅仅与矢量(βi)3关联的分级,或者如果λ2=λ3是固定的(其 中λ3是锚定值),则不执行具体的处理。否则,对应(βi)2的7个邻域的分级的 集可以修正,作为λ23的函数。然后,根据(βi)3的分级的集可以用于完成。 测试根据获得的分级的第一N个元素,大小N定义为复杂度的函数或者目标 质量/复杂度折衷的函数。

奇数子帧

必须在前一(偶数)子帧的整数部分λ′2p附近的范围【λ′2p-52/3;λ′2p+42/3】 内执行搜索。对于这些奇数子帧,就象对偶数子帧4那样,相关联的G.723.1 子帧的参数序列(λj,(βi)j)的延迟λj可能不同于该锚定值λ′2p。根据由G.723.1 编码器所选的增益矢量(βi)j,10个抖动值的集的分级被预先选择,并且作为 差(λj-λ′2p)的函数修正。设N(N≤10)为被测值的最大允许数量。

为了确定有限的搜索范围,对于每个奇数子帧优选地执行下述步骤。

子帧1

整个搜索范围是[λ′0-52/3;λ′0+42/3。预先选择对应增益矢量(βi)0和(βi)1的 两个分级。然后,分级后的邻域作为差λ1-λ′0和λ10的函数修正。限制这两 个偏离,因为:

-一方面,G.729的闭环延迟λ0′在附近(在开环延迟的间隔[-3;3](这里, 等于对应G.723.1的闭环延迟)),

-另一方面,在G.723.1编码器,因为差λ10在间隔[-1,2]内,所以偶 数子帧的闭环延迟和随后的奇数子帧的闭环延迟之间的偏离是有限的。

根据修正后的邻域的第一N1和N2元素,构造大小为N的单一分级后的 邻域。首先选择对两个子集公共的值,然后如果需要的话,通过交替地将其余 值中的最佳值放到在两个子集中,完成该集。然后在构造的子集中执行闭环搜 索。

子帧3

整个搜索范围是[λ′2-52/3;λ′2+42/3]。选择对应增益矢量(βi)2的分级。然后, 分级后的邻域作为差(λ2-λ′2)函数修正。与前一情况正相反,λ2和λ2′之间的偏 离在分级的邻域中是相当大的,通过减去该差修正的偏离可以为零。在该情况 中,优选地为,在整个范围[λ′1-52/3;λ′1+42/3]内执行搜索。使用分级的邻域也是 以|λ2-λ′2|上的阈值为条件的。例如,只有如果|λ2-λ′2|<3时,限制邻域,否则, 试探整个范围[-5,4]。该变型的选择还取决于所允许的复杂度。

子帧5

整个搜索范围是[λ′4-52/3;λ′4+42/3]。选择对应增益矢量(βi)3的分级。然后, 分级后的邻域作为差(λ3-λ′4)的函数修正。如在子帧1的情况中,该偏离是有 限的。具体地,G.729的闭环延迟λ2′在开环延迟的邻域中,[-3,3](这里,等于 G.723.1的闭环延迟λ3)。试探修正后的分级集的第一N个值。

这里的解决方案允许大大降低G.729编码的LTP分析的复杂度。相对于 试探整个邻域,本发明使得如果G.723.1编码器的增益矢量在具有170条(分 别85条)的库中,仅仅测试60%(分别40%)的邻域值成为可能。

第三示例性实施例:在6.3-kbit/s的G.723.1编码器的多抽头LTP参数的基础 上确定5.3-kbit/s的G.723.1编码器的多抽头LTP参数

两个模型相同,仅仅选择的多抽头LTP增益矢量库不同。

多抽头滤波器延迟的确定

以与上述确定单抽头延迟相似的方式,在多抽头LTP参数的基础上,可 能使用偶数子帧的延迟作为超级子帧的开环延迟,然后作为6.3-kbit/s模式选 择的滤波器的5个系数的矢量的函数,限制5.3-kbit/s模式闭环延迟的变化范 围。优选地,除了简单复制延迟之外,不需要其他处理。这样,5.3-kbit/s的每 个子帧采用6.3-kbit/s模式为相同子帧选择的延迟作为延迟。

多抽头滤波器的系数的确定

需要根据本发明中定义的术语,这里有具有5.3-kbit/s模式的5个系数的 170个矢量的单个第二库,但是需要考虑两个“第一库”。这两个第一库是 G.723.1的6.3-kbit/s模式使用的增益矢量的两个库。

在该示例性实施例中,寻求在两个库(具有170或者85个矢量)中的一 个库中通过6.3-kbit/s模式选择的增益矢量的基础上为5.3-kbit/s模式具有170 条库中确定一个增益矢量。

两种情况中的一种可能微不足道,因为如果6.3-kbit/s模式为当前子帧使 用相同的库(具有170个矢量的库),将诱使为5.3-kbit/s模式选择和6.3-kbit/s 模式相同的矢量。然而,该方法产生信号的显著衰减。特别地,虽然LTP模 型对于两个模式是相同的(相同的5个增益矢量和延迟的库),应该注意,编 码处理的其它部分是不同的。从而LTP滤波不应用到相同的信号,这样对于 5.3-kbit/s模式需要拓宽滤波器系数矢量的选择。

为此,在两个库中执行研究以关联每个矢量,具有170个矢量的库的矢量 等级。

这样,为给5.3-kbit/s模式选择增益矢量,优选地,在6.3-kbit/s模式进行 的增益矢量选择的基础上,在大的库中(170个矢量)试探仅仅限于与6.3-kbit/s 模式选择的增益矢量相关联的等级的第一N个矢量。大小N取决于复杂度或 者质量,或者所需的质量复杂度折衷。这样,如上所示,从该子集中选择最大 化准则的增益矢量,该准则优选地为CELP准则。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号