用于音频信号解码器的位错误检测器的制作方法

文档序号:14420815阅读:298来源:国知局
用于音频信号解码器的位错误检测器的制作方法

本申请涉及多通道或立体声音频信号解码器内的位错误检测器,并且具体地说但不仅限于涉及用于便携式装置中的增强型语音服务音频信号解码器。



背景技术:

语音或音乐之类的音频信号被编码,例如以便实现音频信号的有效传输或存储。

音频编码器和解码器(也被称为编解码器)用于表示基于音频的信号,例如音乐和环境声音(其在语音编码方面可以被称为背景噪声)。这些类型的编码器通常不利用用于编码过程的语音模型,而是使用用于表示所有类型的音频信号(包括语音)的过程。语音编码器和解码器(编解码器)能够被视为音频编解码器,它们针对语音信号被优化,并且能够以固定或可变位速率工作。

音频编码器和解码器通常被设计为低复杂性源编码器。换言之,能够执行音频信号的编码和解码,而不需要高度复杂的处理。

其中一个示例是变换编码。对于音乐信号音频编码,变换编码通常比代数码激励线性预测(acelp)技术表现更好,acelp技术更适合于并且针对语音信号。通过逐子带编码变换系数向量来执行变换编码。换言之,音频信号被分成其参数被确定的子带,并且参数表示经向量或点阵量化后的子向量。

此外,用于语音和音频编码的低复杂性算法构成非常相关的资产,例如用于基于移动终端的通信。由于低存储和低复杂性,在保持编码效率的同时,在数种状态的现有语音和音频编解码器中结构化码本(codebook)可以是优选的,这些编解码器例如包括在第三代合作计划(3gpp)内标准化的增强型语音服务(evs)编解码器。

在这些语音和音频编解码器内使用的码本可以例如基于点阵结构,如在a.vasilache、b.dumitrescu和i.tabus的参考文献“multiple-scaleleader-latticevqwithapplicationtolsfquantization(适用于lsf量化的多标度引导点阵vq)”(signalprocessing,2002年,第82卷,第563-586页,elsevier,其全部内容在此引入作为参考)中所述。

可将点阵码本定义为引导类(leaderclasses)的并集,每个引导类由引导向量来表征。引导向量是n维向量(其中n表示整数),其(例如正)分量被排序(例如递减)。与引导向量对应的引导类则包括该引导向量和通过该引导向量的所有带符号排列获得的所有向量(具有某些可能限制)。还可能的是,一个、某些或所有引导类分别与一个或多个标度关联,并且点阵码本则被形成为标度化和/或非标度化引导类的并集。



技术实现要素:

根据第一方面,提供一种方法,包括:接收点阵向量量化参数数据,所述参数数据表示至少一个音频信号;在所述数据内确定至少一个位错误;以及基于所述位错误的确定,控制所述数据的解码以便生成音频信号。

在所述数据内确定至少一个位错误可以包括:从所述点阵向量量化参数数据来确定形成索引的索引整数值;确定形成所述索引的所述索引整数值中的至少一者严格为负;以及生成所述数据包括至少一个位错误的指示符。

在所述数据内确定至少一个位错误可以包括:从所述数据确定组合索引值i;针对在表示所述至少一个音频信号的参数值的点阵向量量化中采用的除第一子向量之外的至少一个子向量,将所述组合索引值i除以引导类的并集的基数的至少一个组合,以便生成与量化后的参数值的子向量关联的至少两个子索引;确定最高有效子索引包括大于所述第一子向量的引导类的并集的基数n1的值;以及生成所述数据包括至少一个位错误的指示符。

在所述数据内确定至少一个位错误可以包括:确定所述数据表示舒适噪声生成音频帧;确定定义的参数分量值;确定所述定义的参数分量值大于定义的极限值,其中所述定义的参数分量值大于定义的极限值指示解码器的内部采样率;确定指示所述解码器的所述内部采样率的值的信令位;确定基于所述定义的参数分量值的所述解码器的所述内部采样率与基于所述信令位的所述解码器的所述内部采样率不匹配;以及生成所述数据包括至少一个位错误的指示符。

所述定义的参数分量值可以是最后或最高频率量化参数。

所述定义的参数分量值可以是最高阶量化参数。

基于所述位错误的确定,控制所述数据的解码以便生成音频信号可以包括将与所述数据关联的码向量设置为定义的值。

将与所述数据关联的码向量设置为定义的值可以包括将所述码向量设置为0。

所述参数可以是线谱频率。

根据第二方面,提供一种解码器,包括:输入端,其被配置为接收点阵向量量化参数数据,所述参数数据表示至少一个音频信号;位错误确定器,其被配置为在所述数据内确定至少一个位错误;以及参数解码器,其被配置为基于所述位错误的确定,控制所述数据的解码以便生成音频信号。

所述位错误确定器可以包括索引整数确定器,其被配置为:从所述点阵向量量化参数数据来确定形成索引的索引整数值;确定形成所述索引的所述索引整数值中的至少一者严格为负;以及生成所述数据包括至少一个位错误的指示符。

所述位错误确定器可以包括子向量索引比较器,其被配置为:从所述数据确定组合索引值i;针对在表示所述至少一个音频信号的参数值的点阵向量量化中采用的除第一子向量之外的至少一个子向量,将所述组合索引值i除以引导类的并集的基数的至少一个组合,以便生成与量化后的参数值的子向量关联的至少两个子索引;确定最高有效子索引包括大于所述第一子向量的引导类的并集的基数n1的值;以及生成所述数据包括至少一个位错误的指示符。

所述位错误确定器可以包括采样率位比较器,其被配置为:确定所述数据表示舒适噪声生成音频帧;确定定义的参数分量值;确定所述定义的参数分量值大于定义的极限值,其中所述定义的参数分量值大于定义的极限值指示解码器的内部采样率;确定指示所述解码器的所述内部采样率的值的信令位;确定基于所述定义的参数分量值的所述解码器的所述内部采样率与基于所述信令位的所述解码器的所述内部采样率不匹配;以及生成所述数据包括至少一个位错误的指示符。

所述定义的参数分量值可以是最后或最高频率量化参数。

所述定义的参数分量值可以是最高阶量化参数。

所述参数解码器可以被配置为基于所述位错误的确定,将与所述数据关联的码向量设置为定义的值。

所述定义的值可以是0。

所述参数可以是线谱频率。

根据第三方面,提供一种装置,包括:用于接收点阵向量量化参数数据的部件,所述参数数据表示至少一个音频信号;用于在所述数据内确定至少一个位错误的部件;以及用于基于所述位错误的确定,控制所述数据的解码以便生成音频信号的部件。

用于在所述数据内确定至少一个位错误的部件可以包括:用于从所述点阵向量量化参数数据来确定形成索引的索引整数值的部件;用于确定形成所述索引的所述索引整数值中的至少一者严格为负的部件;以及用于生成所述数据包括至少一个位错误的指示符的部件。

用于在所述数据内确定至少一个位错误的部件可以包括:用于从所述数据确定组合索引值i的部件;用于针对在表示所述至少一个音频信号的参数值的点阵向量量化中采用的除第一子向量之外的至少一个子向量,将所述组合索引值i除以引导类的并集的基数的至少一个组合,以便生成与量化后的参数值的子向量关联的至少两个子索引的部件;用于确定最高有效子索引包括大于所述第一子向量的引导类的并集的基数n1的值的部件;以及用于生成所述数据包括至少一个位错误的指示符的部件。

用于在所述数据内确定至少一个位错误的部件可以包括:用于确定所述数据表示舒适噪声生成音频帧的部件;用于确定定义的参数分量值的部件;用于确定所述定义的参数分量值大于定义的极限值的部件,其中所述定义的参数分量值大于定义的极限值指示解码器的内部采样率;用于确定指示所述解码器的所述内部采样率的值的信令位的部件;用于确定基于所述定义的参数分量值的所述解码器的所述内部采样率与基于所述信令位的所述解码器的所述内部采样率不匹配的部件;以及用于生成所述数据包括至少一个位错误的指示符的部件。

所述定义的参数分量值可以是最后或最高频率量化参数。

所述定义的参数分量值可以是最高阶量化参数。

用于基于所述位错误的确定,控制所述数据的解码以便生成音频信号的部件可以包括用于将与所述数据关联的码向量设置为定义的值的部件。

用于将与所述数据关联的码向量设置为定义的值的部件可以包括用于将所述码向量设置为0的部件。

所述参数可以是线谱频率。

一种计算机程序产品可以导致装置执行如在此所述的方法。

一种电子设备可以包括如在此所述的装置。

一种芯片组可以包括如在此所述的装置。

附图说明

为了更好地理解本发明,现在将通过示例的方式参考附图,这些附图是:

图1示意性地示出采用某些实施例的电子设备;

图2示意性地示出根据某些实施例的音频编解码器系统;

图3示意性地示出根据某些实施例的如图2中所示的编码器;

图4示意性地示出根据某些实施例的如图2中所示的解码器;

图5示意性地示出根据某些实施例的如图4中所示的位错误检测器;

图6是示出图5中所示的索引正整数确定器的操作的流程图;

图7是示出图5中所示的子向量索引值确定器的操作的流程图;以及

图8是示出图5中所示的采样率位比较器的操作的流程图。

具体实施方式

下面更详细地描述可能的立体声和多通道语音和音频编解码器,包括分层或可扩展的可变速率语音和音频编解码器。

evs编解码器主要针对帧丢失错误类型开发,这是分组交换(ps)网络的特征。在该上下文内,位错误(即,位流中的一个或多个位被翻转)是不可能的。在电路交换(cs)网络内,这种假设不再成立并且需要处理这些错误。

通常,码本中的码向量的数量或基数是2的幂,从而使得不可能确定位错误。因此,如在此讨论的某些实施例中的概念是利用以下信息:对于点阵码本,码本的基数不是2的幂,并且因此,当通过将索引的值与码本的基数相比较读取到无效索引时,能够检测位错误。

此外,如在此讨论的,实施例提出用于在evs编解码器中检测线谱频率(lsf)之类的编码特征中的位错误的多种方法。一种方法基于确定点阵码向量索引的子部分或子向量,因为索引不以其整数形式可用。另一种方法可以应用于舒适噪声生成方案中的lsf解码,并且依赖第一级码本的特定结构,从而覆盖多个内部采样率(例如12.8khz和16khz)。

如在此讨论的lsf参数可以使用多级方法被编码,多级方法的最后一级由多标度点阵向量量化器(mslvq)形成。在某些示例中,对于16维lsf向量的每个8维子向量,mslvq是一个多级量化器。此外,取决于信号类型,多级量化器的所有级可以使用给定量的位。尽管vq优化后的级利用分配给它们的所有位,但最后一个mslvq级未完全使用可用的位数量b,因为最后一级的码向量的数量ncv如此以使得2b-1<ncv<=2b。这种限制来自于以下事实:点阵引导类的基数或点阵引导类的并集并非恰好是2的幂。当接收大于所考虑的引导类并集的基数的索引时,能够利用这种差异以便发信号通知并且确定码向量索引中的位错误。

在某些实施例中,分配给最后一个mslvq级的位数量大于16,或者甚至大于32。因此,在某些实施例中,位流可以由16位的整数形成,因此作为16位整数序列接收索引。如果索引可以被确定为其实际值,则可以通过将索引与可用于16维残差向量的总码向量的数量相比较来评估索引的有效性。但是,这种方法需要计算可用于16维残差向量的总码向量的数量,即,其在编解码器中不被如此使用。计算这两个数量将增加计算复杂性和/或显著增大存储在rom中的查找表。

在这点上,首先参考图1,其示出示例性电子设备或装置10的示意框图,电子设备或装置10可以包含根据本申请的一个实施例的编解码器。

装置10可以例如是无线通信系统的移动终端或用户设备。在其它实施例中,装置10可以是音频-视频设备,例如摄像机、电视(tv)接收器、音频记录器或音频播放器(例如mp3记录器/播放器)、媒体记录器(也被称为mp4记录器/播放器)、或者适合于处理音频信号的任何计算机。

在某些实施例中,电子设备或装置10包括麦克风11,其经由模数转换器(adc)14链接到处理器21。处理器21进一步经由数模(dac)转换器32链接到扬声器33。处理器21进一步链接到收发器(rx/tx)13、用户接口(ui)15和存储器22。

在某些实施例中,处理器21能够被配置为执行各种程序代码。在某些实施例中,所实现的程序代码包括如在此描述的音频编码或解码或位错误检测代码。在某些实施例中,所实现的程序代码23能够例如存储在存储器22中,以便在需要时由处理器21取回。存储器22可以进一步提供区段24以便存储数据,例如已根据本申请被编码的数据。

在实施例中,编码和解码代码能够至少部分地以硬件和/或固件实现。

用户接口(ui)15使用户能够向电子设备10输入命令(例如经由小键盘),和/或从电子设备10获得信息(例如经由显示器)。在某些实施例中,触摸屏可以针对用户接口提供输入和输出功能两者。在某些实施例中,装置10包括收发器(rx/tx)13,其适合于例如经由无线通信网络实现与其它装置的通信。

收发器13能够通过任何合适的已知通信协议与其它设备通信,例如在某些实施例中,收发器13或收发器部件能够使用合适的通用移动电信系统(umts)协议、无线局域网(wlan)协议(例如ieee802.x)、合适的近程射频通信协议(例如蓝牙)、或者红外数据通信路径(irda)。

此外,应该理解,可以以多种方式补充和改变装置10的结构。

装置10的用户例如可以使用麦克风11输入语音或其它音频信号,这些信号将被传输到某些其它装置或者将被存储在存储器22的数据区段24中。在某些实施例中,用户可以为此经由用户接口15激活对应的应用。在某些实施例中,处理器21可以使用存储在存储器22中的编码代码,执行音频信号的格式化和编码。尽管在下面的示例中麦克风11被配置为生成用于输入的音频信号,但应该理解,能够从任何合适的输入(例如从存储器22,并且具体地说在存储器22的存储的数据24区段内)接收输入音频信号。在某些实施例中,能够经由收发器13接收输入音频信号或至少一个音频信号。例如,收发器13能够被配置为接收由装置10外部的麦克风(例如经由收发器13耦合到装置的蓝牙设备)生成的音频信号。

在某些实施例中,模数转换器(adc)14将输入的模拟音频信号转换成数字音频信号,并且将数字音频信号提供给处理器21。在某些实施例中,麦克风11可以包括集成麦克风和adc功能,并且将数字音频信号直接提供给处理器以便处理。

在这些实施例中,处理器21然后以与参考图2中所示的系统(并且具体地说,图3中所示的编码器,以及图4和5中所示的解码器和图6至8中所示的编码器细节)描述的相同方式来处理数字音频信号。

在某些实施例中,可以将所得到的位流提供给收发器13以便传输到另一个装置。备选地,在某些实施例中,可以将编码后的音频数据存储在存储器22的数据区段24中,例如以便由同一装置10随后传输或者随后提供。

在某些实施例中,装置10还能够经由收发器13从另一个装置接收具有相应编码数据的位流。在该示例中,处理器21可以执行存储在存储器22中的解码程序代码。在这些实施例中,处理器21对所接收的数据进行解码,并且将解码后的数据提供给数模转换器32。数模转换器32将数字解码后的数据转换成模拟音频数据,并且在某些实施例中能够经由扬声器33输出模拟音频。在某些实施例中,还能够通过用户经由用户接口15调用的应用来触发解码程序代码的执行。

在某些实施例中,还能够存储接收的已编码数据(而不是经由扬声器33立即在存储器22的数据区段24中提供),例如以便随后解码并提供或者解码并转发到另一个装置。

应该理解,图3中描述的示意性结构仅表示音频编解码器的操作的一部分,并且具体地说,仅表示如示意性地示出的在图1中所示装置中实现的音频编码器装置或方法的一部分。同样,图4和5中所示的示意性结构以及图6至8中所示的方法步骤仅表示音频编解码器的操作的一部分,并且具体地说,仅表示如示意性地示出的在图1中所示装置中实现的音频解码器装置或方法的一部分。

在图2中示出如由实施例采用的音频编解码器的总体操作。总体音频编码/解码系统包括编码器和解码器两者,如图2中示意性地示出。但是,应该理解,某些实施例能够实现编码器或解码器之一、或者编码器和解码器两者。图2示出系统102,其具有编码器104、存储或介质通道106和解码器108。应该理解,如上所述,某些实施例能够包括或实现以下之一:解码器108、或者编码器104和解码器108两者。

编码器104压缩输入音频信号110,从而产生位流112,在某些实施例中,能够通过介质通道106存储或传输位流112。在某些实施例中,编码器104能够包括对两个或更多音频信号进行编码的多通道编码器。

可以在解码器108内接收位流112。解码器108对位流112进行解压缩,并且产生输出音频信号114。解码器108能够包括变换解码器作为整体解码操作的一部分。解码器108还能够包括对两个或更多音频信号进行解码的多通道解码器。位流112的位速率和输出音频信号114相对于输入信号110的质量是定义编码系统102的性能的主要特性。

图3示意性地示出根据某些实施例的编码器104。

如在此描述的实施例的概念是确定编码并且向音频信号应用编码,以便产生有效的高质量和低位速率实际编码。在这方面,关于图3,示出根据某些实施例的示例编码器104。在下面的示例中,编码器被配置为生成表示音频信号的频域参数,并且使用合适的向量点阵量化对生成的频域参数进行编码,但应该理解,在某些实施例中,如在此描述的点阵量化中使用的参数能够是定义或表示音频信号或其它类型的信号(例如图像或视频)的任何合适的参数。同样,可以采用在此描述的点阵量化方法之外的点阵量化方法的变型来对音频信号进行编码。

在某些实施例中,编码器104包括帧分段器201或用于对音频信号进行分段的合适的部件。帧分段器201被配置为接收音频信号(例如,单声道、左右立体声或任何多通道音频表示)、输入音频信号、以及将音频信号数据分段或分割成适合于频率或其它域变换的段或帧。在某些实施例中,帧分段器201能够进一步被配置为根据任何合适的开窗函数,对音频信号数据的这些帧或段进行开窗。例如,在某些实施例中,帧分段器201能够被配置为生成20ms(毫秒)的帧,其与先前帧和后续帧各自重叠10ms。

在某些实施例中,可以将音频帧传递到参数确定器203。

在某些实施例中,编码器包括用于确定表示输入音频信号(多个)或输入音频信号帧的至少一个参数的参数确定器203或合适的部件。在下面的示例中,所述参数是线谱频率(lsf)参数,但应该理解,在某些实施例中,可以确定任何合适的参数。

例如,在某些实施例中,参数确定器包括用于变换的变换器203或合适的部件。在某些实施例中,变换器203被配置为生成这些音频信号的频域(或其它合适的域)参数表示。在某些实施例中,能够将这些频域参数表示传递到参数编码器205。

在某些实施例中,变换器203能够被配置为对音频信号数据执行任何合适的时域到频域变换。例如,时域到频域变换能够是离散傅里叶变换(dft)、快速傅里叶变换(fft)、改进的离散余弦变换(mdct)。在下面的示例中,使用快速傅里叶变换(fft)。

此外,所述变换器能够进一步被配置为生成每个输入通道音频信号数据的单独频带域参数表示(子带参数表示)。能够以任何合适的方式布置这些频带。例如,这些频带能够被线性地隔开,或者被感知或以心理声学方式被分配。所生成的参数能够是任何合适的参数。

在某些实施例中,将诸如lsf参数之类的表示传递到参数编码器205。

在某些实施例中,编码器104能够包括参数编码器205。参数编码器205能够被配置为接收音频信号输入的参数表示,例如所确定的lsf参数。此外,在某些实施例中,参数编码器205能够被配置为使用每个lsf参数值作为子向量并且组合每个子向量,以便创建向量以输入到向量量化器中。换言之,所述装置能够包括向量生成器,所述向量生成器被配置为生成定义至少一个音频信号的第一参数向量(或表示参数的第一向量的元组)。在下面的示例中,参数是线谱频率,但在其它实施例中,它可以是任何其它合适的频率导出参数。

在某些实施例中,向量量化器的输出是编码器,并且因此向量量化后的音频信号输出是音频信号的“编码”或参数编码表示。

在某些实施例中,参数编码器205包括向量生成器451。向量生成器451被配置为接收lsf参数并且从这些值生成n维向量。

在某些实施例中,能够将所生成的向量传递到点阵向量量化器453。

在某些实施例中,参数编码器205包括点阵向量量化器453。点阵向量量化器453接收从lsf参数生成的输入向量,并且生成最近邻或nn输出,所述最近邻或nn输出在定义的点阵内出现,并且因此能够在解码器处使用类似点阵进行解码。

在某些实施例中,可以由存储在有形存储介质存储器22上的计算机程序的相应程序代码23来定义点阵量化器。

在介绍关于本发明的概念和实施例之前,我们将首先讨论常规点阵向量量化。在某些点阵量化器中,执行一组潜在基础码向量的初始生成或确定,其中该组潜在基础码向量的每个所确定的潜在基础码向量与一组不同基础码向量的潜在基础码向量关联。

每组潜在基础码向量包括至少一个基础码向量。因为每组基础码向量与多个标度表示中的至少一个标度表示关联,所以可以基于一组潜在基础码向量的一个基础码向量和与该组潜在基础码向量关联的至少一个标度表示中的一个标度表示来确定码向量。换言之,可以基于以相应标度表示标度化的基础码向量来表示码向量。例如,标度表示可以表示标度值,其中可以基于基础码向量与相应标度值的相乘来确定码向量。此外,在某些实施例中,通过应用基础向量的(带符号)排列来获得码本。

例如,至少一组基础码向量被与至少两个标度表示相关联。

因此,作为一个示例,码本可以包括一组码向量,所述一组码向量包括:基于多组基础码向量的码向量;以及基于与多个基础码向量的一组相应基础码向量关联的相应至少一个标度值的码向量。对于每组基础码向量中的每个基础码向量以及对于与一组相应基础码向量关联的至少一个标度表示中的每个标度表示,该组码向量可以包括基于以相应标度表示标度化的相应基础码向量的码向量。

例如,所述多组基础码向量可以表示引导类,其中每个引导类包括不同引导向量和所述引导向量的排列。因此,所述引导向量和所述引导向量的排列可以表示一组相应基础码向量中的基础码向量。

多组基础码向量可以表示第二多组基础码向量的子集。例如,在假设每组基础码向量表示引导类的情况下,多个引导类可以表示第二多个引导类的子集。因此,多个引导类可以被视为相对于第二多个引导类的多个截断引导类。

例如,可以通过确定一组相应基础码向量的至少一个基础码向量中与要编码的输入向量最近的基础码向量来确定相应潜在基础码向量。可以使用任何种类的合适准则来发现相对于要编码的输入向量的最近基础码向量。

作为一个示例,可以基于相对于绝对值输入向量的最近基础码向量并且基于输入向量的值的符号信息来确定潜在基础码向量,其中该信息可以包括输入向量中的相应值的相应位置的符号,并且用于将符号分配给所确定的潜在基础码向量的值。此外,作为一个示例,可以确定与绝对值输入向量最近的基础码向量,其中绝对值输入向量包括与输入向量的值对应的绝对值,其中潜在基础码向量表示所确定的最近基础码向量,其中潜在基础码向量的值的符号与向量中同一位置处的输入向量的值的符号对应,其中如果该组基础码向量中的基础码向量的奇偶性是0,则这可以成立。作为另一个示例,如果该组基础码向量中的基础码向量的奇偶性是-1,则可以将潜在基础码向量的值的符号分配为分别与向量中同一位置处的输入向量的值的符号对应,并且如果没有奇数个负分量,则具有最低非空绝对值的潜在基础码向量中的值可以改变其符号。或者,作为另一个示例,如果该组基础码向量中的基础码向量的奇偶性是+1,则可以将潜在基础码向量的值的符号分配为分别与向量中同一位置处的输入向量的值的符号对应,并且如果没有偶数个负分量,则具有最低非空绝对值的潜在基础码向量中的值可以改变其符号。

然后,基于确定的一组潜在码向量,以常规方式确定用于对输入向量进行编码的码向量,其中所述确定的一组潜在码向量定义码向量子集,对于每个确定的潜在基础码向量以及与相应潜在基础码向量的一组基础码向量关联的每个标度表示,所述码向量子集包括基于以相应标度表示标度化的相应潜在基础码向量的码向量。

因此,已在码向量子集中执行搜索用于对输入向量进行编码的码向量,该码向量子集由确定的潜在码向量定义,并且由与相应确定的潜在码向量的一组基础码向量关联的相应至少一个标度表示定义。因为该码向量子集可以表示与码本关联的码向量子集,所以该码向量子集的码向量的数量可以小于所述一组码向量中的码向量的数量。

作为一个示例,多个标度表示中的每个标度表示可以与至少一组码向量关联,其中与相应标度表示关联的所述至少一组码向量中的每组码向量被与多组基础码向量中的一组基础码向量相关联,以使得与相应标度表示关联的所述至少一组码向量中的每组码向量包括通过使用相应标度表示对关联的相应一组基础向量的基础向量进行标度化而获得的码向量。

因此,能够基于使用标度表示对与该标度表示关联的每组基础码向量中的基础码向量进行标度化,确定与多个标度表示中的相应标度表示关联的至少一组基础码向量中的码向量。

例如,在所述多组基础码向量表示引导类的情况下,与相应标度表示关联的至少一组基础码向量可以被视为引导类的并集。应该理解,通常引导类的并集与标度无关。因此,码本可以包括引导类的至少一个并集,其中引导类的每个并集与至少一个标度表示中的一个标度表示关联,并且与多个基础码向量中的至少一组基础码向量关联。作为一个示例,至少一个标度表示可以表示多个标度表示,所述多个标度表示可以包括至少两个标度表示。

因此,例如bx(其中x∈{0,1,…x-1})表示多组基础码向量中的一组基础码向量,其中x表示多组基础码向量的组的数量。每组基础码向量与至少一个基础码向量bx,y关联或者包括至少一个基础码向量bx,y,其中bx表示一组相应基础码向量bx中的基础码向量的数量,即y∈{0,1,…bx-1}成立。例如,一组基础码向量中的基础码向量的数量bx可以针对多组不同基础码向量而不同,和/或它可以针对至少两组基础码向量而相同。

换言之,引导向量仅是一个向量。连同引导向量的所有带符号排列一起,然后该组形成引导向量的引导类(或者如在此所述,基础码向量)。当组合数个引导类时,形成引导类的并集。然后可以向这个/这些并集附加一个或多个标度。

因此,例如可基于基础码向量bx,y并且基于标度表示sz来确定码向量cx,z,y,其中索引z表示多个标度表示s0…ss-1的相应标度表示的索引,即z∈{0,1,…s-1}成立。

例如,在基础码向量bx,y=[bx,y,0,bx,y,1,…,bx,y,n-1]的值bx,y,t表示绝对值的情况下,其中t∈{0,1,…n-1}成立并且n表示相应基础码向量bx,y的长度,并且如果绝对值输入向量用于确定一组相应基础码向量的潜在码向量,则可以在执行基于基础码向量bx,y并且基于标度表示sz确定码向量cx,z,y之前,基于输入向量i的第(t+1)个位置处的相应值it的符号,分配所确定的最近基础码向量bx,y的第(t+1)个位置处的每个值bx,y,t的符号。

作为一个示例,如果i=[i0,i1,…,in-1]表示输入向量,则可以由[|i0|,|i1|,…,|in-1|]表示绝对值输入向量。例如,可以将所确定的最近基础码向量bx,y的第(t+1)个位置处的每个值bx,y,t的符号分别分配给输入向量的第(t+1)个位置处的相应值it的符号,其中如果一组基础码向量bx中的基础码向量bx,y的奇偶性是0,则这可以成立。作为另一个示例,如果一组基础码向量bx中的基础码向量bx,y的奇偶性是-1,则可以将潜在基础码向量的值bx,y,t的符号分配为分别与该向量中相同位置处的输入向量的值的符号对应,并且如果没有奇数个负分量,则具有最低非空绝对值的潜在基础码向量中的值bx,y,t可以改变其符号。或者,作为另一个示例,如果一组基础码向量bx中的基础码向量bx,y的奇偶性是+1,则可以将潜在基础码向量的值bx,y,t的符号分配为分别与该向量中相同位置处的输入向量的值的符号对应,并且如果没有偶数个负分量,则具有最低非空绝对值的潜在基础码向量中的值bx,y,t可以改变其符号。

作为一个非限制性示例,可以由cx,z,y=[bx,y,0·sz,bx,y,1·sz,…,bx,y,n-1·sz]确定码向量cx,z,y。

每个标度表示sz(其中z∈{0,1,…s-1}成立)与至少一组基础码向量关联。例如,作为一个非限制性示例,可以由一组基础码向量bx(其中x∈{0,1,…nz-1})表示该相应至少一组基础码向量,其中nz可以表示与相应标度表示sz关联的多组基础码向量的数量,其中0<nz<x成立。基于相应标度表示sz与关联的至少一组基础码向量bx(其中x∈{0,1,…nz-1})之间的这种联系,能够确定关联的至少一组码向量cx,z,y,其中x∈{0,1,…nz-1},y∈{0,1,…bx-1},并且z∈{0,1,…s-1}。

因此,作为一个示例,可以通过多个标度表示sz、多组基础码向量bx、以及每个标度表示与关联的至少一组基础码向量之间的联系,定义上述码本的码本结构。

因为至少一组基础码向量(例如至少该组基础码向量b0)与至少两个标度表示关联,所以能够使用同一组基础码向量构造与第一标度表示关联的至少一组码向量中的码向量,并且构造与至少一个其它标度表示关联的至少一组码向量中的码向量。

对于多组基础码向量中的每组基础码向量,可以以其它方式确定用于对输入向量进行编码的潜在基础码向量。

例如,从码向量子集确定用于对输入向量进行编码的码向量基于所确定的失真度量或距离、或者误差值。

在这些示例中,选择多个标度表示中的一个标度表示。

此外,选择与选定标度表示关联的一组基础码向量的所确定的潜在基础码向量。

然后,可以基于选定潜在基础码向量并且基于选定标度表示来确定码向量,其中可以如针对在此描述的方法所述来执行这种码向量确定。

在某些示例中,基于所确定的码向量和输入向量,确定失真度量。例如,所述失真度量可以基于所确定的码向量与输入向量之间的任何种类的合适距离。作为一个示例,可以使用汉明距离或欧几里得距离或任何其它距离。作为一个示例,确定码向量可以被省略,并且可以通过固有地考虑与选定标度表示关联的相应码向量以及与该选定标度表示关联的一组基础码向量来计算失真度量。

例如,如果cx,z,y=[cx,z,y,0,cx,z,1,…,cx,z,n-1]表示码向量并且i=[i0,i1,…,in-1]表示输入向量,则可以基于以下等式计算距离d

可以使用基于以下等式计算的距离d'替换根据上面等式的该距离d

或者,作为另一个示例,在基于加权函数确定失真度量的情况下,根据上面等式的距离d可以被修正如下:

其中wk表示加权函数的加权因子。

因此,可以通过以下方式,借助加权函数对根据上面等式的距离d'进行加权:

例如,可以存储失真度量d或d'或dw或dw',前提是它是最初确定的失真度量,或者可以将它与存储的失真度量相比较,其中如果新确定的失真度量优于存储的失真度量,则替换存储的失真度量。此外,可以存储与存储的失真度量关联的码向量,或者可以存储该码向量的标识符。

然后,例如操作可以检查是否存在与选定标度表示关联的任何其它多组基础码向量。如果存在,则选择与选定标度表示关联的该组其它基础码向量的确定的潜在基础码向量。如果不存在,则针对多个标度表示的其它标度表示进行检查。

如果存在多个标度表示的其它标度表示,则选择该其它标度表示,否则可以选择与最佳距离度量关联的码向量来对输入向量进行编码。

例如,在多组基础码向量可以表示引导类的情况下,其中每个引导类包括不同引导向量和所述引导向量的排列。因此,引导向量和所述引导向量的排列可以表示一组相应基础码向量中的基础码向量。作为一个示例,引导向量是n维向量(其中n表示整数),其(正)分量被排序(例如递减)。与引导向量对应的引导类则包括该引导向量和通过该引导向量的所有带符号排列获得的所有向量(具有某些可能的限制)。

可以通过与多个标度表示的相同标度表示关联的多组基础码向量和相应标度表示来定义引导类的并集。例如,引导类的并集可以与借助于使用标度表示对关联的基础码向量步骤的基础码向量进行标度化而获得的一组码向量关联。

这种引导类的并集可以被视为截断。因此,如果多个标度表示是n个标度表示,则可以定义n个引导类的并集,其中借助于相应标度表示和与该相应标度表示关联的多组基础码向量来定义每个引导类的并集。

因此,多个标度表示和多组基础码向量可以定义多个引导类的并集,从而定义码本,其中作为一个示例,每个引导类的并集可以被视为标度化后的引导类的并集。

在这些语音和音频编解码器内使用的码本可以例如基于点阵结构,如在a.vasilache、b.dumitrescu和i.tabus的参考文献“multiple-scaleleader-latticevqwithapplicationtolsfquantization(适用于lsf量化的多标度引导点阵vq)”(signalprocessing,2002年,第82卷,第563-586页,elsevier,其全部内容在此引入作为参考)中所述。例如,可以考虑d10+点阵用于量化,但还可以考虑任何其它非常适合的点阵量化。

例如,多组基础码向量是引导类,其中每个引导类包括不同引导向量和所述引导向量的排列,并且其中每个引导向量表示n维向量,所述n维向量包括以降序或升序排列的n个绝对值。

可以通过l=[l0,l1,…,ln-1]表示一组相应基础码向量bx的引导向量l,其中l0、l1、…、ln-1是绝对值。在降序的情况下,l0表示第一个最高值,l1表示第二个最高值,并且ln-1表示第n个最高值。在升序的情况下,l0表示第一个最低值,l1表示第二个最低值,并且ln-1表示第n个最低值。

可以将相应引导向量的值lk-1(其表示相应引导向量中的第k个位置处的值)分配给潜在基础码向量中这样的位置:该位置与输入向量中的第k个最高绝对值的位置对应(在降序引导向量的情况下),或者与第k个最低绝对值的位置对应(在升序引导向量的情况下)。例如,该位置可以被记为位置m。作为一个示例,可以由p=[p0,p1,…,pn-1]表示潜在基础码向量。

例如,作为一个非限制性示例,示例性输入向量可以是i=[-2.4,5.0,-1.3,0.2],其中对应的绝对值输入向量可以是ia=[2.4,5.0,1.3,0.2]。

在降序引导向量的情况下,将引导向量的位置k中的值(即值lk-1)分配给潜在基础码向量中这样的位置:该位置与输入向量中的第k个最高绝对值的位置对应。例如,从由计数器k=1表示的第一位置开始,输入向量中的第一个最高绝对值的位置是位置m=2,因为值5.0是绝对值输入向量中的第一个最高值并且位于位置m=2,即ia1。因此,将值l0分配给潜在基础码向量中的位置m=2,即p1=l0可以成立。

此外,根据与第k个最高绝对值关联的输入向量的值的符号,设置潜在基础码向量pm-1中的带符号值的符号(+或-)。因此,pm-1=lk-1·sign(im-1)可以成立。

因此,在示例性输入向量i=[-2.4,5.0,-1.3,0.2]这一非限制性示例中,p1=l0可以成立,因为值i1=5.0具有正号。

位置计数器k可以递增,并且可以检查在引导向量中是否存在另一个值,即k≤n是否成立。

如果是,则该方法继续,并且在非限制性示例中,相对于位置k=2,位置m=1处的值2.4表示输入向量中的第二个最高(第k个最高)绝对值。因此,p0=l1·sign(i0)=-l1可以成立以便为l1分配相应符号,因为输入向量中的值i0=-2.4具有负号。

以这种方式,对于此非限制性示例,该循环可以通过以下方式遍历引导向量的位置:

k=3→m=3→p2=l2·sign(i2)=-l2;以及

k=4→m=4→p3=l3·sign(i3)=+l3

因此,在降序的相应引导向量i的情况下,通过示例方法获得的相应潜在码向量可以导致p=[-l1,l0,-l2,l3]。

如果引导向量l被以升序方式排序,则可以执行上述方法,其中m表示绝对值输入向量中的第k个最低值的位置,其中pm-1=lk-1·sign(im-1)可以成立。

获得的潜在码向量p被与一组相应基础码向量bx关联,其中l表示该组相应基础码向量的引导向量。例如,关于如上所述基于基础码向量bx,y,t和标度表示sz确定码向量的示例过程,潜在码向量p表示一组基础码向量bx相对于输入向量的最近基础码向量bx,y,其中绝对值输入向量用于确定一组相应基础码向量的潜在码向量,并且其中所确定的最近基础码向量bx,y的第k个位置处的每个值bx,y,k-1的符号被分配有输入向量i的第k个位置处的相应值ik的符号,其中0<k≤n成立。

因此,表示潜在码向量p的该最近基础码向量bx,y能够用于确定基于最近基础码向量bx,y并且基于相应标度表示sz的码向量cx,z,y,如上所述。

为每个截断分配不同的标度表示(例如通过训练),例如:

floatscale[]={0.8,1.2,2.7};

因此,例如,码本的多个码向量的第一组码向量由通过第一标度表示0.8标度化的第一截断而定义,码本的多个码向量的第二组码向量由通过第二标度表示1.2标度化的第二截断而定义,并且码本的多个码向量的第三组码向量由通过第三标度表示2.7标度化的第三截断而定义,所述码本具有多标度点阵结构。

作为一个示例,在多标度点阵结构中的搜索可以被视为具有两个阶段:第一阶段可以针对每个引导类(即,针对每组基础码向量)计算潜在码向量,并且第二阶段可以仅针对潜在码向量计算失真。

例如,可以向输入向量i应用绝对值函数,以使得绝对输入向量ia包括向量i的绝对值,并且然后可以以降序(或者备选地,以升序)对绝对输入向量进行排序。

作为一个示例,索引表示可以包含指示降序(或升序)绝对值向量中的每个输入向量i的索引的表示。例如,所述索引表示可以是整数数组“indx”。

例如,如果输入向量是[-2.45.0-1.30.2],则绝对值向量是[2.45.01.30.2],并且“indx”数组是[1023]。因为引导向量可以是降序,所以在最近邻搜索算法期间,可以在与输入向量的最高绝对值分量对应的位置上分配引导向量的第一个值,依此类推。

在以下非限制性示例中,“idx_lead_max”是所有截断中的引导类的最大数量,其可以与x对应,在该示例中可以是9。因此,借助于9个引导类定义9组基础码向量,其中由&pl[n-1]定义第n个引导类。

具有最低值的失真度量被确定为表示最佳失真度量,其中与该失真度量码向量关联的码向量可以用于对输入向量进行编码。例如,可以通过一组潜在基础码向量的最佳标度表示和最佳潜在基础码向量来定义该码向量。

在某些实施例中,点阵向量量化器被配置为接收所述输入向量。

点阵向量量化器可以被进一步配置为将所述输入向量排序成绝对值降序(应该理解,在某些实施例中,可以通过对下面的操作进行合适的改变,以绝对值升序执行排序)。

因此,例如,如果输入向量是

i=[-2.45.0-1.30.2],

则绝对值向量是

absi=[2.45.01.30.2],

在此定义的排序后绝对值向量是

cv_pot1=[5.02.41.30.2],

并且排序排列“indx”=[1023]。

在某些实施例中,点阵向量量化器被配置为存储或生成用于生成码向量的引导类。

例如,引导类可以被定义如下(在q1值中,换言之乘以2)

在某些实施例中,点阵向量量化器453可以确定与输入向量关联的输出码向量。

如果要确定的距离是加权后的欧几里德距离,则在某些实施例中,根据排列向量转置权重,并且生成中间输入向量结果。应该理解,在某些实施例中,如果采用未加权的欧几里得距离,则权重是一致的,或者加权运算是可选的。

然后通过信号输出端207输出这些权重。

图4示意性地示出根据某些实施例的解码器108。

如在此描述的实施例的概念是确定解码并且向编码音频信号应用解码以便产生有效的高质量音频输出,并且此外判定是否已在传输和/或存储过程内发生位错误。在这方面,关于图4,示出根据某些实施例的示例解码器104。在下面的示例中,解码器被配置为接收表示音频信号的编码频域参数,并且对已被向量点阵量化的编码频域参数进行解码,但应该理解,在某些实施例中,所述参数能够是定义或表示音频信号或其它类型的信号(例如图像或视频)的任何合适的参数。

在某些实施例中,解码器108可以包括信号输入端301,其被配置为接收编码音频信号。因此在某些实施例中,信号输入端301能够是可如何接收编码位流112。作为所接收的位流112的一部分,可以存在量化lsf系数索引,所述量化lsf系数索引可以形成用于语音或音频解码器的编码参数集的一部分。

在实施例中,语音或音频解码器可以被布置为以每个输出音频帧的不同数量的样本以及以不同的输出采样频率进行工作。换言之,解码器108可以被布置为输出重构后的音频信号的帧,由此帧的样本数量和采样率可能从一个帧到下一个帧而有所不同。

此外,解码器108可以被布置为使用多种不同解码模式工作,其中所使用的解码模式可以依赖于音频帧采样频率。

更进一步,根据编码器所使用的编码模式,编码参数集的位速率可能不同。

信号输入端301可以将编码量化音频信号分量传递到lsf反量化器/解码器303。

在某些实施例中,语音或音频解码器可以是核心层解码器,其重构音频输出可以与来自较高层解码器的其它重构音频信号输出相组合。可以将编码后的较高层位与对应的编码核心层位一起发送到解码器。

参考图4,作为编码位流112的一部分接收的量化lsf索引可以被布置为被传递到lsf反量化器303的输入端。

换言之,可以提供用于接收一组编码音频参数的部件,其中该组包括表示至少两个量化线谱频率系数的索引,其中音频帧在解码时包括以采样频率进行数字采样的音频样本,其中采样频率是用于音频解码器的多个采样频率中的一个采样频率。

在实施例中,lsf反量化器303可以被配置为将所接收的量化lsf索引转换为量化lsf系数。

应该理解,在实施例中,lsf反量化器303可以针对每个音频帧产生多个量化lsf系数。所述多个量化lsf系数可以在编码器处被预定为lpc分析器的预测阶数(predictionorder)。例如,在lpc分析器确定预测量级为16的情况下,由lsf反量化器303产生的量化lsf系数的数量也将是16。

换言之,可以提供用于将索引转换为至少两个量化线谱频率系数的部件。

在某些实施例中,lsf反量化器303可以包括位错误检测器304。位错误检测器可以包括一系列位错误检测器模块,它们被配置为检测或判定所接收的信号是否包括任何位错误,并且基于确定位错误来管理输出。

关于图5,更详细地示出位错误检测器304的示意图。在图5所示的示例中,示出三个单独的位错误检测模块,但应该理解,在某些实施例中,可以存在一个或两个耦合到位错误管理器模块的以下检测模块。

在某些实施例中,位错误检测器304包括索引正整数确定器401。针对图6中的流程图进一步示出索引正整数确定器401的操作。

在某些实施例中,索引正整数确定器可以被配置为确定或取回索引整数值i。

在图6中通过步骤501示出确定索引整数值的操作。

在已确定或取回索引整数值i的情况下,索引正整数确定器401可以被配置为判定直到最后一级索引编号的所有索引整数值是否都为正。因此,例如在某些实施例中,索引正整数确定器可以被配置为判定形成索引的所有16个整数是否都为正。所有整数意味着直到最后一级索引i应具有的位数量。这意味着如果i使用的位少于32,则仅应该检查前两个16位整数。

在某些实施例中,可以通过确定索引(16位)整数是否严格为负来做出所述判定。

在图6中通过步骤503示出判定直到最后一级的所有索引整数值是否都为正(或不严格为负)的操作。

在某些实施例中,如果确定至少一个整数值为负,则用信号向位错误管理器407通知位错误。

在图6中通过步骤505示出用信号通知位错误的操作。

在某些实施例中,位错误检测器包括位错误管理器407。位错误管理器407可以例如耦合到索引正整数确定器,并且被配置为接收指示已检测到位错误的信号。在某些实施例中,位错误管理器407可以被配置为将解码后的点阵码向量设置为0。

在图6中通过步骤507示出将解码后的点阵码向量设置为0的操作。

在某些实施例中,如果确定所有整数值都为正,则可以执行进一步检查或测试。例如,如图6的步骤511中所示,位错误检测器可以被配置为执行索引i1值测试。

在某些实施例中,位错误检测器304包括子向量索引i1值确定器/比较器403。子向量索引i1值确定器/比较器403可以被配置为执行索引i1值测试,如图7中所示。

子向量索引i1值确定器/比较器403可以被配置为接收组合索引i值。

在图7中通过步骤601示出接收组合索引i值的操作。

16维点阵码向量的索引i可以例如在编码器处形成,方式为:

i=n2i1+i2。

其中i1和i2是形成要量化的16维残差向量的维度8的两个子向量的索引,并且n2是形成第二子向量的点阵码本的引导类的并集的基数。

子向量索引i1值确定器/比较器403可以被配置为将i除以n2,并且因此能够确定i1和i2值。这例如可以通过将64位i值除以32位n2值来获得。在这种示例中,64位i整数被表示为一系列16位整数。

在图7中通过步骤603示出将索引i值除以n2值的操作。

尽管如由上面等式定义的i2被确保小于n2,但任何事物都不会阻止解码后的i1值大于形成第一个8维子向量n1的码本的引导类的并集的基数。当确定i1大于所允许的数量时,它指示在原始索引中存在至少一个位错误。此外,因为原始索引i不是仅通过两个索引的串接而形成,所以这意味着相除之后获得的解码后的索引i2也受位错误的影响。

换言之,在所述数据内确定至少一个位错误可以包括:从所述数据确定组合索引值i;针对在表示至少一个音频信号的参数值的点阵向量量化中采用的第二子向量,将组合索引值i除以引导类的并集的基数n2,以便生成与量化后的参数值的子向量关联的至少两个子索引;以及确定最高有效子索引包括大于第一子向量的引导类的并集的基数n1的值。

在此处所示的示例中,具有两个子向量,并且因此具有两个基数n1和n2。可以在对两个以上子向量进行编码的实施例中执行该方法。

在这种实施例中,可以具有来自两个以上的索引(例如三个索引)的组合索引:

i=i1*(n2*n3)+(i2*n3+i3)

因此这与两索引示例类似,但与第一子向量索引关联的索引或基数之外的索引或基数的组合n2*n3替换n2,并且i2*n3+i3替换i2。因此,在该示例中,通过将组合索引除以第一子向量索引之外的索引或基数的组合,生成可以针对n1值测试的i1值。

一般而言,这可以进一步扩展以使得

i=i1*n2*…*nn+i2*n3*…*nn+…+i(n-1)*nn+in。

因此,在某些实施例中,子向量索引i1值确定器/比较器403可以被配置为将解码后的i1值与n1值相比较。

在图7中通过步骤605示出将解码后的i1值与n1值相比较以便判定i1值是否大于n1值的操作。

在某些实施例中,如果确定i1值大于n1值,则用信号向位错误管理器407通知位错误。

在图7中通过步骤607示出用信号通知位错误的操作。

在某些实施例中,位错误管理器407可以耦合到子向量索引i1值确定器/比较器403,并且被配置为接收指示已检测到位错误的信号。在某些实施例中,位错误管理器407可以被配置为将解码后的点阵码向量设置为0。

在图7中通过步骤609示出将解码后的点阵码向量设置为0的操作。

在某些实施例中,如果确定子向量索引i1值小于n1值,则可以执行进一步检查或测试。例如,如图7的步骤611中所示,位错误检测器可以被配置为执行采样率位测试。

在某些实施例中,位错误检测器304包括采样率位比较器405。采样率位比较器405可以被配置为执行采样率位测试,如图8中所示。

在某些实施例中,采样率位比较器405可以被配置为判定当前解码后的帧是否是舒适噪声生成帧。或者换言之,解码器当前是否处于舒适噪声生成模式。

在图8中通过步骤701示出判定解码后的帧是否是舒适噪声生成(cng)帧的操作。

当确定解码器在cng模式下操作时,可以在确定完整lsf解码向量之后执行进一步位错误检测操作。

在某些实施例中,通过部署分层编码机制对输入音频信号进行编码,并且其中核心层编解码器可以以与不同编码模式对应的不同采样率工作。可以通过首先检查最后或最高频率lsf的值并且然后将该值分配给特定频率范围来标识由核心层编解码器使用的特定采样率和编码模式。

换言之,可以通过最后或最高频率lsf的值来确定多模解码器的解码模式。

在某些实施例中,其中核心层编解码器可以被布置为以两种操作模式之一进行工作。第一操作模式可以处于12800hz的音频帧采样频率,并且第二操作模式可以处于16000hz的采样频率。因此,如果所接收的音频帧的最后或最高频率量化lsf被确定为在从3950hz到6350hz的频率范围内,则核心层解码器的操作模式可以是用于对在12800hz下采样的音频帧的参数进行解码的模式。但是,如果所接收的音频帧的最后或最高频率量化lsf被确定为在从6350hz到7950hz的频率范围内,则核心层解码器的操作模式可以是用于对在16000hz下采样的音频帧的参数进行解码的模式。

换言之,提供用于通过检查所接收的量化线谱频率系数的最后或最高频率量化线谱频率系数的值,确定音频帧的采样频率的部件。

例如,当用于cng模式下的lsf编码的第一级码本包括16个码向量时,前6个码向量可以被分配用于16khz的内部采样率,并且其余部分(10个码向量)可以被分配用于12.8khz的内部采样率。在这些实施例中,最后一个lsf分量的值可以是内部采样率为12.8khz或16khz的指示符,因为如果它大于特定值wb_limit_lsf,则表示16khz内部采样率。

在某些实施例中,所述指示符可以是任何适当确定的lsf值。

在图8中通过步骤703示出确定最后一个lsf分量值大于极限值并且因此确定lsf指示符值的操作。

此外,在某些实施例中,还接收表示内部采样率的位。

因此,在某些实施例中,采样率位比较器405可以执行以下检查

其中l_frame_fx是等于16khz的320个样本和12.8khz的256个样本的帧长度,lsf_q是量化解码后的lsf向量,m=16,l_frame16k=320,能够检测到位错误。

在图8中通过步骤705示出比较采样率lsf指示符值是否与内部采样率位相匹配的操作。

在某些实施例中,如果采样率lsf指示符值不与内部采样率位相匹配,则用信号向位错误管理器407通知位错误。

在图8中通过步骤707示出用信号通知位错误的操作。

在某些实施例中,位错误管理器407可以耦合到采样率位比较器405,并且被配置为接收指示已检测到位错误的信号。在某些实施例中,位错误管理器407可以被配置为将解码后的点阵码向量设置为0。

尽管在此描述的示例的特征在于将解码后的点阵码向量设置为0,但在某些实施例中,位错误管理器407可以被配置为当检测到位错误时,将解码后的点阵码向量设置为确定值或通用值。

在图8中通过步骤709示出将解码后的点阵码向量设置为0的操作。

应该理解,在实施例中,解码器的操作模式可以取决于音频帧的采样率。因此,信令线可以通过直接承载编码模式或者备选地承载采样率来传达解码模式。

因此应该理解,lsf反量化器303可以被配置为具有两个输出端。

第一输出端可以被布置为连接至lsf到lpc转换器305的输入端,并且可以包括一组量化lsf系数值。

来自lsf反量化器303的第二输出端可以包括信令线,该信令线可以用于将编码模式和/或采样率传达给解码器108中的后续解码组件。

在某些实施例中,量化lsf系数值可以由lsf到lpc转换器512接收,并且随后被转换为一组lp系数。

为了协助转换过程,lsf到lpc转换器512可以被布置为接收信令线作为另一个输入端。信令线可以指示编码音频帧的采样频率,并且因此确定lsf到lpc转换过程的阶数。

备选地,在其它实施例中,信令线可以承载编码模式,其可以用于确定lsf到lpc转换过程的阶数。

所述一组lp系数中的元素的数量将等于预测阶数。

应该理解,由lsf到lpc转换器305产生的lp系数将与输出音频帧相对应。

还应该理解,lsf到lpc转换器305的输出可以由解码器108中的其它解码组件使用。例如,lp系数可以被用作任何后续lp滤波器的滤波器系数。

此外,信令线还可以由其它解码组件使用,以便针对解码器108中的其它解码组件选择适当的解码模式。

解码器108的解码组件然后可以形成输出音频信号114。

尽管上面的示例描述了在装置10中的编解码器内操作的本申请的实施例,但应该理解,如下所述的本发明可以被实现为任何音频(或语音)编解码器的一部分,包括任何可变速率/自适应速率音频(或语音)编解码器。因此,例如,本申请的实施例可以在音频编解码器中实现,该音频编解码器可以在固定或有线通信路径上实现音频编码。

因此,用户设备可以包括音频编解码器,例如在上面的本申请的实施例中描述的那些音频编解码器。

应该理解,术语用户设备旨在包括任何合适类型的无线用户设备,例如移动电话、便携式数据处理设备或便携式web浏览器。

此外,公共陆地移动网络(plmn)的元件还可以包括如上所述的音频编解码器。

一般而言,本申请的各种实施例可以以硬件或专用电路、软件、逻辑或它们的任何组合来实现。例如,某些方面可以以硬件实现,而其它方面可以以可由控制器、微处理器或其它计算设备执行的固件或软件实现,然而本发明并不限于此。尽管本申请的各个方面可以作为框图、流程图或者使用某个其它图形表示而被示出和描述,但可以理解,作为非限制性示例,在此描述的这些方框、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备或它们的某种组合来实现。

本申请的实施例可以由计算机软件(例如在处理器实体中,其可由移动设备的数据处理器执行)、或硬件、或软件和硬件的组合来实现。此外,在这点上,应该注意,图中的逻辑流程的任何方框可以表示程序步骤、或互连逻辑电路、块和功能、或程序步骤以及逻辑电路、块和功能的组合。

存储器可以具有适合于本地技术环境的任何类型,并且可以使用任何合适的数据存储技术实现,例如基于半导体的存储设备、磁存储设备和系统、光存储设备和系统、固定存储器以及可移动存储器。数据处理器可以具有适合于本地技术环境的任何类型,并且作为非限制性示例,可以包括以下一者或多者:通用计算机、专用计算机、微处理器、数字信号处理器(dsp)、专用集成电路(asic)、门级电路以及基于多核处理器架构的处理器。

本申请的实施例可以在诸如集成电路模块之类的各种组件中实现。一般而言,集成电路的设计是高度自动化的过程。可以使用复杂并且强大的软件工具,将逻辑级别设计转换为可以在半导体衬底上蚀刻和形成的半导体电路设计。

程序(例如,由位于加利福尼亚州山景城的synopsys,inc.以及位于加利福尼亚州圣何塞的cadencedesign提供的程序)使用完善的设计规则以及预先存储的设计模块库,自动路由导体并且在半导体芯片上定位组件。在完成半导体电路设计之后,可以将标准化电子格式(例如,opus、gdsii等)的结果设计传输到半导体制造设施或“工厂”以便制造。

如在本申请中使用的,术语“电路”指以下全部:

(a)纯硬件电路实现(例如,仅采用模拟和/或数字电路的实现);以及

(b)电路和软件(和/或固件)的组合,例如:(i)处理器(多个)的组合,或者(ii)协同工作以便导致诸如移动电话或服务器之类的装置执行各种功能的处理器(多个)/软件(包括数字信号处理器(多个))、软件和存储器(多个)的多个部分;以及

(c)需要软件或固件以便操作的电路(即使软件或固件并不实际存在),例如微处理器(多个)或微处理器(多个)的一部分。

该“电路”定义适用于本申请(包括任何权利要求)中对该术语的所有使用。作为进一步示例,如在本申请中使用的,术语“电路”还包括仅处理器(或多个处理器)或处理器部分以及它的(或它们的)随附软件和/或固件的实现。术语“电路”还包括(例如并且如果适用于特定权利要求要素)移动电话的基带集成电路或应用处理器集成电路,或者服务器、蜂窝网络设备或其它网络设备中的类似集成电路。

通过示例性和非限制性示例提供上面的描述,即本发明的示例性实施例的全面并且信息性的描述。但是,当结合附图和所附权利要求阅读时,鉴于上面的描述,许多修改和变化对于相关技术领域的技术人员来说可以变得显而易见。但是,对本发明教导的所有这些和类似的修改仍落在所附权利要求中限定的本发明的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1