专利名称:减少对于码本矢量搜索的存储要求的制作方法
背景领域本发明通常涉及通信系统,更具体地说,涉及通信系统内的语音处理。
背景无线通信领域的应用广泛,包括(例如)无绳电话、寻呼、无线本地环路、个人数字助理(PDAs)、因特网电话技术和卫星通信系统。一项特别重要的应用是为移动订户提供的蜂窝(cellular)移动电话系统。如这里所使用的,术语“蜂窝(cellular)”系统包含蜂窝和个人通信服务(PCS)各频率。已为这类移动电话系统开发了各种通过空中的接口,包括(例如)频分多址(FDMA)、时分多址(TDMA)和码分多址(CDMA)系统。已建立与其有关的各种国内和国际标准,包括(例如)“高级移动电话服务”(AMPS)、“全球移动系统”(GSM)和“临时标准95”(IS-95)。特别是,“电信工业协会”(TIA)和其他众所周知的标准团体公布了IS-95及其衍生物——IS-95A、IS-95B、ANSI J-STD-008(在这里经常共同被称作“IS-95”),以及为提议的用于数据的高数据速率系统等。
根据IS-95标准的使用来加以配置的移动电话系统采用CDMA信号处理技术,以便提供非常有效率和稳健的移动电话服务。第5,103,459号和第4,901,307号美国专利中描述了实质上根据IS-95标准的使用来加以配置的示范移动电话系统,这些美国专利被转让于本发明的受让人,并通过引用被包括于此。利用CDMA技术的示范系统是由TIA发行的“cdma2000 ITU-R无线电传输技术(RTT)候选提案”(这里被称作“cdma2000”)。IS-2000的草案版本中提供了cdma2000的标准,并且,TIA已批准该标准。Cdma2000提议在许多方面与IS-95系统相兼容。如号码为3G TS 25.211、3G TS 25.212、3G TS 25.213和3G TS 25.214的文档《第3代合作计划“3GPP”》中所具体表现的另一种CDMA标准是W-CDMA标准。
随着数字通信系统的发展,不断需要有效率地使用频率。用于提高系统效率的一种方法是发送压缩的信号。在常规的陆上通讯线电话系统中,使用64千比特/秒(kbps)的采样率来再建数字传输过程中的模拟声音信号的质量。但是,通过使用开发语音信号的冗余的压缩技术,可以减少在空中传送的信息量,同时仍然保持高质量。
通常,由编码器来执行从模拟声音信号到数字信号的转换,而由解码器来执行将该数字信号转换回到声音信号。在示范CDMA系统中,包括编码部分和解码部分的声码器位于远程站和基站内。标题为《可变速率声码器》的第5,414,796号美国专利中描述了一种示范声码器,该美国专利被受让于本发明的受让人,并被包括于此,用作参考。在声码器中,编码部分提取涉及人类语音发生模型的参数。解码部分使用在传输通路上所接收的参数来重新合成该语音。该模型不断变化,以便精确地建模时变语音信号。这样,该语音被分成时间块或分析帧,在此期间对这些参数进行计算。然后,为每个新的帧更新这些参数。如这里所使用的,单词“解码器”指的是可以被用来转换已通过传输介质被接收的数字信号的任何设备或设备的任何部分。单词“编码器”指的是可以被用来将声信号转换成数字信号的任何设备或设备的任何部分。因此,可以利用CDMA系统的声码器或(作为选择)非CDMA系统的编码器和解码器来执行这里所描述的各个实施例。
在各种语音编码器种类中,“代码激励线性预测编码”(CELP)编码器、“随机编码”编码器或“矢量激励语音编码”编码器属于一个种类。标题为《增强的可变速率编码器》(EVRC)的“临时标准127”(IS-127)中描述了这种特定一种类的编码算法的一个例子。待批的提议草案《宽频带扩频通信系统的可选模式声码器服务选项》(号码为3GPP2 C.P9001的文档)中描述了这种特殊种类的编码器的另一个例子。该声码器的功能是通过除去语音中所固有的所有自然冗余,将该数字化语音信号压缩成低比特率信号。在CELP编码器中,利用短期共振峰(或LPC)滤波器来除去冗余。一旦除去这些冗余,最后得到的残留信号可以被建模成白高斯噪声(white Gaussian noise)或白周期信号(whiteperiodic signal),也必须对该信号进行编码。因此,通过使用语音分析,随后经过在接收器处的适当的编码、传输和再合成,可以大大减小数据速率。
通过首先确定线性预测编码(LPC)滤波器的系数,来确定给定的语音帧的编码参数。适当地选择系数将会除去该帧中的语音信号的短期冗余。通过确定该语音信号的音调滞后L和音调增益gp,可以除去该信号中的长期周期冗余。可能的音调滞后值和音调增益值的组合作为矢量被存储在自适应的码本中。然后,从被存储在激励波形码本中的许多波形中选择激励信号。如果这个合适的激励信号由给定的音调滞后和音调增益来激励,然后被输入LPC滤波器,则可以产生很接近原始语音的信号。这样,通过传送LPC滤波器系数、自适应的码本矢量的标识以及固定的码本激励矢量的标识,可以执行压缩语音传输。
有效的激励码本结构被称作“代数码本”。代数码本的实际结构在该技术领域中众所周知,并且在J.P.Adoul等人的论文《基于代数编码的快速CELP编码》(1987年4月6-9日的ICASSP学报)中有所描述。标题为《基于代数编码的有效语音编码的动态码本》的第5,444,816号美国专利中进一步揭示了代数编码的使用,该美国专利的揭示说明被包括用作参考。
由于执行有关最佳激励矢量的码本搜索的高强度的计算要求和存储要求,因此,经常需要减少在进行码本搜索的过程中所涉及的存储要求。
概述介绍了用于在编码器中执行快速码矢搜索的新颖的方法和装置。在一个方面中,介绍了一种方法,用于减少在码本中搜索矢量所需要的存储要求。
在另一个方面中,介绍了用于从脉冲矢量码本中选择最佳脉冲矢量的一种装置,其中,线性预测编码器使用该最佳脉冲矢量来为残留波形编码。该装置包括脉冲响应发生器,用于生成脉冲响应矢量;交叉相关元件,它被配置成确定交叉相关矢量,该交叉相关矢量将该脉冲响应矢量和来自滤波器的多个目标信号采样联系起来,其中,使用该交叉相关矢量来确定多个脉冲位置,以便若将这多个脉冲位置插入该交叉相关矢量,则可提供预定数量的高交叉相关值;脉冲码本发生器,它被配置成从该交叉相关元件接收表示这多个脉冲位置的指示信号并且响应于该指示信号来输出多个脉冲矢量,其中,这多个脉冲矢量是该脉冲矢量码本的一个子集;以及能量计算元件,用于根据该脉冲矢量码本的这个子集来确定自相关子矩阵,其中,使用该自相关子矩阵和交叉相关矢量来从码本中选择最佳脉冲矢量。
在另一个方面中,介绍了一种用于减少码本搜索的存储器要求的装置。该装置包括脉冲响应发生器,用于生成脉冲响应信号;交叉相关元件,它被配置成确定交叉相关矢量,该交叉相关矢量将该脉冲响应信号和目标信号联系起来;选择元件,它被配置成接收该交叉相关矢量、使用该交叉相关矢量来识别最佳的一组脉冲位置并且生成携带最佳的这组脉冲位置的标识的指示信号;脉冲码本发生器,它被配置成从该选择元件接收该指示信号并生成多个脉冲矢量,其中,根据由指示信号携带的最佳的这组脉冲位置来生成这多个脉冲矢量;以及能量计算元件,用于根据这多个脉冲矢量来确定自相关子矩阵,其中,使用该自相关子矩阵来替代自相关矩阵,从而降低了码本搜索的存储器要求。
在另一个方面中,介绍了一种用于从码本中选择最佳脉冲矢量的方法。该方法包括确定目标信号与脉冲响应之间的交叉相关矢量,其中,该交叉相关矢量中的每个部件对应于分析帧中的一个位置;确定与该交叉相关矢量的P个最大分量相对应的多个P个位置;从该码本中选择多个脉冲矢量,以形成子码本(subcodebook),其中,这多个脉冲矢量中的每个脉冲矢量对应于这多个P个位置中的至少一个位置;根据这多个P个脉冲矢量来确定自相关矩阵;以及,从这多个P个脉冲矢量中选择最佳脉冲矢量。
在另一个方面中,介绍了用于降低码本搜索的计算复杂性的方法。该方法包括使用部分的一组自相关值来确定能量值矩阵;存储该能量值矩阵;使用该能量值矩阵和来自多个交叉相关值的一个交叉相关值,以便为多个矢量中的每个矢量确定一标准值,其中,每个交叉相关值描述目标信号与该码本中的各自的矢量之间的关系;以及,如果矢量具有最高标准比率值,则将该矢量选为是最佳的。
附图简述
图1是示范通信系统的框图。
图2是用于执行码本搜索的常规装置的框图。
图3是从脉冲码本中预先选择脉冲矢量的一个子集的方法步骤的流程图。
图4是用于通过预先选择并搜索子码本来执行码本搜索的装置的框图。
图5是用于在使用音调增强的脉冲响应的编码器中执行码本搜索的装置的框图。
图6是用于通过预先选择并搜索子码本而在使用音调增强的脉冲响应的编码器中执行码本搜索的装置的框图。
图7是用于通过使用查找表来执行快速码本搜索的方法步骤的流程图。
详细描述如图1所示,无线通信网络10通常包括多个远程站(也被称作“移动站”或“订户单元”或“用户设备”)12a-12d、多个基站(也被称作“基站收发器(BTSs)”或“节点B”)14a-14c、基站控制器(BSC)(也被称作“无线电网络控制器”或“分组控制功能16”)、移动交换中心(MSC)或交换机18、分组数据服务节点(PDSN)或网络互连功能(IWF)20、公共交换电话网络(PSTN)22(通常是电话公司)和“互联网协议”(IP)网络24(通常是因特网)。为简单起见,示出四个远程站12a-12d、三个基站14a-14c、一个BSC 16、一个MSC 18和一个PDSN 20。精通该技术领域的人将会理解可以有任何数量的远程站12、基站14、BSC 16、MSC 18和PDSN 20。
在一个实施例中,无线通信网络10是分组数据服务网络。远程站12a-12d可能是许多不同类型的无线通信设备(例如,便携式电话、与运行基于IP的Web浏览器应用程序的便携式计算机连接的移动电话、具有与免提汽车成套工具相关联的移动电话、运行基于IP的Web浏览器应用程序的个人数据助理(PDA)、被并入便携式计算机的无线通信模块或例如可能在无线本地环路或仪表读取系统中找得到的固定位置通信模块)中的任何无线通信设备。在最一般的实施例中,远程站可能是任何类型的通信单元。
可以将远程站12a-12d配置成执行例如EIA/TIA/IS-707标准中所描述的一个或多个无线分组数据协议。在特殊的实施例中,远程站12a-12d生成为IP网络24指定的IP分组,并使用点到点协议(PPP)将这些IP分组封装成帧。
在一个实施例中,根据几个已知协议(包括(例如)E1、T1、“异步传输模式”(ATM)、IP、“帧中继”、HDSL、ADSL或xDSL)中的任何协议,并且经由为声音和/或数据分组的传输而配置的有线线路,IP网络24被耦合到PDSN 20,PDSN 20被耦合到MSC 18,MSC 18被耦合到BSC 16和PSTN 22,BSC 16被耦合到基站14a-14c。在另一实施例中,BSC 16被直接耦合到PDSN 20,而MSC 18没有被耦合到PDSN 20。在另一个实施例中,远程站12a-12d通过RF接口与基站14a-14c进行通信;在将要作为TIA/EIA/IS-2000-2-A而公布的《第3代合作计划2“3GPP2”》和《cdma2000扩频系统的物理层标准》(号码为C.P0002-A、TIA PN-4694的3GPP2文档)(草案,编辑版本30)(1999年11月19日)中,对此RF接口有所定义,该文档被完全包括于此,用作参考。在另一个实施例中,远程站12a-12d通过RF接口与基站14a-14c进行通信;在《第3代合作计划“3GPP”》(号码为3G TS 25.211、3G TS 25.212、3G TS 25.213和3G TS 25.214的文档)中,对此RF接口有所定义。
在无线通信网络10的典型操作期间,基站14a-14c从从事处理电话呼叫、Web浏览或其他数据通信的各个远程站12a-12d接收各组反向链接信号,并对这些反向链接信号进行解调。在给定的基站14a-14c内处理由那个基站14a-14c接收的每个反向链接信号。通过调制各组前向链接信号并将其传送到远程站12a-12d,每个基站14a-14c可以与多个远程站12a-12d进行通信。例如,如图1所示,基站14a同时跟第一远程站12a和第二远程站12b进行通信,基站14c同时跟第三远程站12c和第四远程站12d进行通信。将最后得到的分组发送到BSC 16,BSC 16将提供呼叫资源分配和移动性管理功能(包括关于特定远程站12a-12d的从一个基站14a-14c提供给另一个基站14a-14c呼叫的软切换(soft handoffs)的指挥)。例如,远程站12c正在同时跟两个基站14a和14c进行通信。最后,当远程站12c离开基站14c之一足够远时,该呼叫用将被切换到另一个基站14b。
如果传输是常规的电话呼叫,则BSC 16将所接收的数据路由到MSC 18,MSC 18为与PSTN 22的接口提供附加的路由服务。如果传输是基于分组的传输(例如,为IP网络24指定的数据调用),则MSC 18将把这些数据分组路由到PDSN 20,PDSN 20将把这些分组发送到IP网络24。作为选择,BSC 16将把这些分组直接路由到PDSN 20,PDSN 20将这些分组发送到IP网络24。
如上所述,语音信号可以被分割成各个帧,然后通过使用LPC滤波器系数、自适应的码本矢量和固定码本矢量来加以建模。为了创建该语音信号的最佳模型,实际语音与再造语音之间的差异必须最小。用于确定该差异是否最小的一项技术是确定实际语音与再造语音之间的相关值,然后选择具有最大相关属性的一组分量。
减少不使用音调增强的编码器的存储要求图2是用于从码本中选择最佳激励矢量的常规编码器中的一种装置的框图。这种编码器被设计成将通过利用滤波器的脉冲响应卷积输入信号来搜索波形码本的过程中所涉及的计算复杂性减到最小,由于需要搜索多个波形,以便确定哪个波形会导致与目标信号的最接近的匹配,因此,进一步提高了所述复杂性。卷积的存储要求是M×M,其中的M是分析帧的尺寸。
一个帧的语音采样s(n)由感知的权重滤波器230来进行过滤,以产生目标信号x(n)。前述的第5,414,796号美国专利中描述了感知的权重滤波器的设计和实施。脉冲响应发生器210生成脉冲响应h(n)。通过使用脉冲响应h(n)和目标信号x(n),并根据以下的关系,在计算元件290处生成交叉相关矢量d(n)d(i)=Σj=0M-1x(i)h(i-j),]]>对j=0到M-1计算元件250也使用脉冲响应h(n)来生成自相关矩阵φ(i,j)=Σn=jM-1h(n-i)h(n-j),]]>对i≥j将自相关矩阵φ的各个表项发送到计算元件240。脉冲码本发生器200生成多个脉冲矢量{ck,k=1,…,CBsize},这些脉冲矢量也被输入计算元件240。CBsize是将要从其中选择最佳码本矢量的码本的尺寸。Np是代表脉冲矢量中的脉冲数量的值。可以响应于多个脉冲位置信号{pik,i=0,….,Np-1}(图中未示出)来生成激励波形码本(作为替代,在这里被称作“脉冲波形码本”或“脉冲码本”),其中,pik是脉冲矢量ck中的第i个单位脉冲的位置。关于每个脉冲pik,将对应的符号sik分配给该脉冲。以下的方程式提供了最后得到的码矢ckck(j)=Σi=0Np-1skiδ(j-pki),0≤j≤M-1]]>根据以下公式,计算元件240利用自相关矩阵φ来过滤这些脉冲矢量Eyy=Σi=0Np-1φ(pki,pkj)+2.Σi=0Np-1Σj=i+1Np-1ck(pki)ck(pkj)φ(pki,pkj)]]>根据以下方程式,计算元件290也使用脉冲矢量{ck,k=1,…,CBsize}来确定d(n)与ck(n)之间的交叉相关Exy2=(Σi=0Np-1ck(pki)d(pki))2]]>一旦知道Eyy和Exy的值,计算元件260就使用以下的关系来确定值TkTk=(Exy)2Eyy]]>与Tk的最大值相对应的脉冲矢量被选为最佳矢量,以对残留波形编码。
可以使用这里所描述的各个实施例来减少以上方案的存储要求。这里所描述的实施例确实可以使任何码本搜索在计算上更有效率。在一个实施例中,通过一个步骤来减少选择最佳码本矢量所要求的计算数量,该步骤是从完整的码本中预先选择一个子集的脉冲矢量,然后只对预先选择的这个子集执行搜索。在一个实施例中,由交叉相关矢量d(n)来确定该预先选择。如果进行预先选择,那么,对应地使用较小的自相关矩阵φ来确定能量值Eyy。对于掌握该技术领域的普通技能的人而言,使用较小的、不完整的自相关矩阵φ可能似乎是不合需要的,因为可能不使用利用递归的、在计算上有效的方法。递归通常依靠过去值来计算将来值。故意省略递归中的某些值将会导致不合需要的结果。
但是,这里的实施例要求使用较小的自相关矩阵,以便以在计算中以牺牲使用递归的能力为代价,来减少码本搜索的存储要求。当预先选择的子集的尺寸很小时,在存储器减少方面的收获要远远超过提高计算复杂性的代价。
图3是一个实施例的流程图,在该实施例中,从该脉冲码本中预先选择脉冲矢量的一个子集。在步骤300中,为0≤n≤M-1而确定交叉相关矢量d(n),其中,M是该矢量的维数,它对应于分析帧的长度。在步骤302中,根据矢量d(n)(0≤n≤M-1)的P个最高值来选择长度为M的目标信号中的P(使P<M)个位置。出于说明的目的,用P’来表示这些预先选择的脉冲位置集合。为了进一步方便用符号表示,让p’ik成为脉冲矢量ck中的第i个单位脉冲,以便使p’ik属于集合P’。另外,让p’(i)(0≤i≤P-1)代表集合P’中的每个元件。例如,在尺寸M=80的帧中,可以预先选择该帧中的P=20个位置(p’(i),0≤i≤19),以便d(p’(i))在d(n)(0≤n≤79)的最高的20个值以内。
在步骤304中,根据多个码矢量是否只包含p’(i)(0≤i≤P-1)处的脉冲,来从该码本中选择这些码矢量。在步骤306中,根据以下公式来确定尺寸为P×P的子矩阵φ’φ′(i,j)=Σn=MAX(p′(i).p′(j))M-1h(n-p′(i)h(n-p′(j))),0≤i,j≤P-1]]>在步骤308中,使用自相关子矩阵来为该子码本中的这些脉冲矢量确定能量项Eyy。不需要为该码本中的未被选择的脉冲矢量执行能量确定。在步骤310中,为该子码本的每个脉冲矢量确定标准值Tk。在步骤312中,与Tk的最大值相对应的该子码本的脉冲矢量被选为用于为语音信号编码的最佳脉冲矢量。可以交换这里所描述的各个方法步骤,而不会影响这里所描述的实施例的范围。
通过使用以上所描述的实施例,将码本矢量搜索所要求的存储空间从(M×M)减小到(P×P)。例如,如果分析帧长80个采样,那么,当根据20个脉冲位置来选择子码本时,分析帧的80×80=6400个位置的要求被减少到只有20×20=400。P的选择是一种实施细节,它可以根据其中执行这些实施例的编码器的存储器限制而变化。因此,P的可能的值的范围可以从1到M不等。
图4是一种装置,它被配置成通过预先选择并搜索子码本来执行码本搜索。由感知的权重滤波器430来过滤一个帧的语音采样s(n),以产生目标信号x(n)。脉冲响应发生器410生成脉冲响应h(n)。通过使用脉冲响应h(n)和目标信号x(n),并根据以下的关系,在计算元件415处生成交叉相关矢量d(n)d(i)=Σj=1Mx(i)h(i-j),]]>对j=0到M-1通过使用由脉冲码本发生器400生成的脉冲矢量,选择元件425确定脉冲位置p’(i)(0≤i≤P-1),关于这些脉冲位置,d(p’(i))具有d(n)的P个最大值。根据以下公式,计算元件435使用脉冲位置p’(i)来确定交叉相关值(Exy’)2(Exy′)2=(Σi=0P-1ck(pk′i).d(pk′i))2]]>应该注意,脉冲数量仍然是Np,但这些脉冲位置只从集合P’中取值。
在一个实施例中,将交叉相关元件490配置成执行计算元件415、435和选择元件425的各项功能。在另一个实施例中,可以对该装置进行配置,以便由与执行计算元件415、435的功能的部件分开的部件来执行选择元件425的功能。可以在该装置内具有许多部件配置,而不会影响这里所描述的实施例的范围。
计算元件450进一步使用脉冲位置p’(i)来确定维数P×P的自相关子矩阵φ’,并且,脉冲码本发生器400进一步使用脉冲位置p’(i)来为该子码本确定搜索参数。
根据以下公式,计算元件450使用脉冲位置p’(i)’和脉冲响应h(n)来生成自相关子矩阵φ’φ′(p′(i),p′(j))=Σn=MAX(p′(i),p′(j))M-1h(n-p′(i))h(n-p′(j)),0≤i,j≤P-1]]>将自相关子矩阵φ’的各个表项发送到计算元件440。
响应于来自选择元件425的多个脉冲位置信号{p’ik,i=0,….,Np-1},由脉冲码本发生器400生成脉冲子码本,其中,p’ik是脉冲矢量ck中的第i个单位脉冲的位置,以便p’ik是集合P’的一个元素。Np是代表脉冲矢量中的脉冲数量的值。脉冲码本发生器400生成多个脉冲矢量{ck,k=1,…,CB1size}其中,作为预先选择的结果,CB1size小于CBsize。
根据以下公式,计算元件440利用自相关子矩阵φ’来过滤这些脉冲矢量Eyy=Σi=0Np-1φ′(pk′k,pk′j)+2.Σi=0Np-1Σj=i+1Np-1ck(pk′i)ck(pk′j)φ′(pk′i,pk′j)]]>计算元件490也使用脉冲矢量{ck,k=1,…,CB1size}来确定如上所述的d(n)与ck(n)之间的交叉相关。
一旦知道Eyy和Exy的值,计算元件460就使用以下的关系来确定值TkTk=(Exy)2Eyy]]>与Tk的最大值相对应的脉冲矢量被选为最佳矢量,以便为残留波形编码。在一个实施例中,在对最佳码本矢量的搜索期间,没有对该帧中的所有位置来索引这些脉冲位置。相反,只通过预先选择的位置来索引这些脉冲位置。
在另一个实施例中,可以将单一处理器和存储器配置成执行图4中的各个单独部件的所有功能。
减少使用音调增强的编码器的存储要求在新一代的编码器(例如,“增强性可变速率多媒体数字信号编解码器”(EVRC)和“可选模式声码器”(SMV)))中,通过将经增益调整的前向和后向音调锐化过程加入语音信号的分析帧,来增强这些码本脉冲的音调周期性贡献。音调锐化的一个例子是根据以下的关系来从h(n)中形成合成脉冲响应 h~(n)=gpp-1h(n-(P-1)L)+...+gp3h(n-3L)+gp2h(n-2L)+gph(n-L)]]>+h(n)]]>+gph(n+L)+gp2h(n+2L)+gp3h(n+3L)+...+gpp-1h(n+(P-1)L)]]>其中,P是该子帧(subframe)中所包含的长度为L的音调滞后期(全部或局部)的数量,L是音调滞后,gp是音调增益。
图5是用于搜索激励码本的一种装置的框图,其中,该滤波器的脉冲响应已被音调增强。由感知的权重滤波器530来过滤一个帧的语音采样s(n),以产生目标信号x(n)。脉冲响应发生器510生成脉冲响应h(n)。脉冲响应h(n)被输入音调锐化器元件570,并产生合成脉冲响应 将合成脉冲响应 和目标信号x(n)输入计算元件590,以便根据以下的关系来确定交叉相关矢量d(n)d(i)=Σj=0M-1x(i)h~(i-j),]]>对j=0到M-1计算元件550也使用合成脉冲响应 来生成自相关矩阵φ(i,j)=Σn=jM-1h~(n-i)h~(n-j),]]>对i≥j将自相关矩阵φ的各个项目发送到计算元件540。脉冲码本发生器500生成多个脉冲矢量{ck,k=1,…,CBsize},这些脉冲矢量也被输入计算元件540。CBsize是将要从其中选择最佳码本矢量的码本的尺寸。Np是代表脉冲矢量中的脉冲数量的值。根据以下公式,计算元件540利用该自相关矩阵来过滤这些脉冲矢量Eyy=Σi=0Np-1φ(pki,pki)+2.Σi=0Np-1Σj=i=1Np-1ck(pki)ck(pkj)φ(pki,pkj)]]>计算元件590也使用脉冲矢量{ck,k=1,…,CBsize}来根据以下公式确定d(n)与ck(n)之间的交叉相关Exy2=(Σi=0Np-1ck(pki).d(pki))2]]>一旦知道Eyy和Exy的值,计算元件560就使用以下的关系来确定值TkTk=(Exy)2Eyy]]>与Tk的最大值相对应的脉冲矢量被选为最佳矢量,以便为残留波形编码。
图6是将执行编码器的快速码本搜索的一种装置的框图,该编码器在脉冲响应中加入音调增强。由感知的权重滤波器630来过滤一个帧的语音采样s(n),以产生目标信号x(n)。脉冲响应发生器610生成脉冲响应h(n)。脉冲响应h(n)被输入音调锐化器元件670,并产生合成脉冲响应 将合成脉冲响应 和目标信号x(n)输入计算元件615,以便根据以下的关系来确定交叉相关矢量d(n)d(i)=Σj=0M-1x(i)h~(i-j),]]>对j=0到M-1
通过使用由脉冲码本发生器600生成的脉冲矢量,选择元件625确定脉冲位置p’(i)(0≤i≤P-1),关于这些脉冲位置,d(p’(i))具有d(n)的P个最大值。根据以下公式,计算元件635使用脉冲位置p’(i)来确定交叉相关值(Exy’)2(Exy′)2=(Σi=0P-1ck(pk′i).d(pk′i))2]]>在一个实施例中,将交叉相关元件690配置成执行计算元件615、635和选择元件625的各项功能。在另一个实施例中,可以对该装置进行配置,以便由与执行计算元件615、635的功能的部件分开的部件来执行选择元件625的功能。可以在该装置内具有许多部件配置,而不会影响这里所描述的各个实施例的范围。
计算元件650进一步使用脉冲位置p’(i)来确定维数P×P的自相关子矩阵φ’,并且,脉冲码本发生器600进一步使用脉冲位置p’(i)来为该子码本确定搜索参数。根据以下公式,计算元件650使用脉冲位置p’(i)和合成脉冲响应 来生成自相关子矩阵φ’φ′(p′(i),p′(j))=Σn=MAX(p′(i),p′(j))M-1h(n-p′(i))h(n-p′(j)),0≤i,j≤P-1]]>将自相关子矩阵φ’的各个表项发送到计算元件640。
响应于来自选择元件425的多个脉冲位置信号{p’ik,i=0,….,Np-1},由脉冲码本发生器600生成脉冲子码本,其中,p’ik是脉冲矢量ck中的第i个单位脉冲的位置,使得p’ik是集合P’的一个元件。Np是代表脉冲矢量中的脉冲数量的值。脉冲码本发生器600生成多个脉冲矢量{ck,k=1,…,CB1size}。
根据以下公式,计算元件640利用自相关子矩阵φ’来过滤这些脉冲矢量Eyy=Σi=0Np-1φ′(pk′i,pk′i)+2.Σi=0Np-1Σj=i+1Np-1ck(pk′i)ck(pk′j)φ′(pk′i,pk′j)]]>计算元件635也使用脉冲矢量{ck,k=1,…,CB1size}来确定如上所述的d(n)与ck(n)之间的交叉相关Exy。
一旦知道Eyy和Exy的值,计算元件660就使用以下的关系来确定值TkTk=(Exy)2Eyy]]>与Tk的最大值相对应的脉冲矢量被选为最佳矢量,以对残留波形编码。Eyy的以上计算的优点是将前向和后向音调锐化加入码本搜索,而不需要进行存储器的密集计算。因此,这些实施例将关于M×M存储空间的现存要求转换成只关于P×P存储空间的要求。
降低2脉冲码本搜索的复杂性在另一个实施例中,通过预先计算Eyy矩阵而不是自相关矩阵φ,来降低2脉冲(Np=2)搜索的复杂性。与以上为图6而描述的各个实施例相比来描述这个实施例,但应该注意,可以单独实行这个实施例,而不需有不适当的实验。仅仅出于说明的目的,使用图6的说明中的符号表示法。
图7是流程图,展示了使用存储查找表格(而不是密集计算)来确定最佳码矢。在步骤700中,使用LPC滤波器的脉冲响应h(n)和目标信号x(n)来确定交叉相关矢量d(n)。在步骤702中,根据以下公式来确定能量矢量EyyEyy(p′(i),p′(j))=φ′(p′(i),i)+φ′(p′(j),p′(j))+2c(p′(i))c(p′(i))φ′(p′(i),p′(j)),其中,0≤i,j≤P-1,并且,根据以下公式来计算φ’(i,j)值φ′(p′(i),p′(j))=Σn=MAX(p′(i),p′(j))M-1h(n-p′(i))h(n-p′(j)),0≤i,j≤P-1]]>因此,不是计算整个矩阵φ’,而是计算矩阵φ’的特殊表项,并使用这些特殊表项来生成矩阵Eyy。在步骤704中,使用存储值Eyy(i,j)的查找表来执行对最佳码矢量的搜索。通过使用具有被存储的Eyy值的查找表,可以降低该搜索的复杂性,因为该系统不再需要相加矩阵φ的许多值来确定正在该码本中被加以搜索的每个脉冲矢量的Eyy值。
精通该技术领域的人将会理解可以使用任何各种不同的技术和技能来表示信息和信号。例如,在整个上文中可能被参考的数据、指令、命令、信息、信号、位、符号和码片可以由电压、电流、电磁波、磁场或磁性粒子、光场或光粒子、或其任何组合来表示。
精通该技术领域的人将会进一步理解联合这里所描述的各个实施例而描述的各种说明性逻辑块、模块、电路和运算步骤可以作为电子硬件、计算机软件或两者的组合来加以执行。为了清楚地展示硬件和软件的这种互换性,以上通常已在其功能性方面描述了部件、方框、模块、电路和步骤。这种功能性是作为硬件还是作为软件来加以执行则取决于被强加于总系统上的特定的应用程序和设计限制。技术娴熟的技工可以用不同的方法来为每个特定的应用程序执行所描述的功能性,但这类实施决定不应该被解释成会导致脱离本发明的范围。
可以利用通用处理器、数字信号处理器(DSP)、特定用途集成电路(ASIC)、域可编程门阵列(FPGA)或其他可编程逻辑设备、离散门电路或晶体管逻辑、离散硬件部件或被设计成用于执行这里所描述的各项功能的其任何组合来实施或执行联合这里所描述的各个实施例而描述的各种说明性逻辑块、模块和电路。通用处理器可能是微处理器,但作为替换,该处理器也可能是任何常规处理器、控制器、微控制器或状态机。处理器也可以作为计算设备的组合(例如,DSP和微处理器的组合、多个微处理器、结合DSP核心的一个或多个微处理器或其他任何这类配置)来加以执行。
联合这里所描述的各个实施例而描述的方法或运算的各个步骤可以在硬件中、在处理器所执行的软件模块中或在两者的组合中直接得到具体表现。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或该技术领域中已知的其他任何形式的存储介质中。示范存储介质被耦合到该处理器,以便该处理器可以从该存储介质读取信息并将信息写入该存储介质。作为另外的选择,该存储介质可以是该处理器不可分割的一部分。该处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。作为选择,该处理器和存储介质可以作为离散部件驻留在用户终端中。
通过提供有关所揭示的实施例的前面的描述,可使精通该技术领域的任何人能够制作或使用本发明。精通该技术领域的人将会容易明白对这些实施例所进行的各种修改;并且,在不脱离本发明的精神或范围的前提下,可以将这里所定义的普通原理应用于其他实施例。这样,本发明并不意在局限于这里所示的实施例,而是要符合跟这里所揭示的原理和新颖的特点相一致的最广泛的范围。
权利要求
1.一种用于从脉冲矢量码本中选择最佳脉冲矢量的装置,其中,线性预测编码器使用该最佳脉冲矢量来对残留波形编码,该装置的特征在于包括脉冲响应发生器,用于生成脉冲响应矢量;交叉相关元件,它被配置成确定将该脉冲响应矢量与来自滤波器的多个目标信号采样联系起来的交叉相关矢量,其中,使用该交叉相关矢量来确定多个脉冲位置,使得若将这多个脉冲位置插入该交叉相关矢量,则可提供预定数量的高交叉相关值;脉冲码本发生器,它被配置成从该交叉相关元件接收表示这多个脉冲位置的指示信号并且响应于该指示信号来输出多个脉冲矢量,其中,这多个脉冲矢量是该脉冲矢量码本的一个子集;以及,能量计算元件,用于根据该脉冲矢量码本的这个子集来确定自相关子矩阵(sub-matrix),其中,使用该自相关子矩阵和交叉相关矢量来从该码本中选择该最佳脉冲矢量。
2.权利要求1的装置,其中,该交叉相关元件包括至少一个计算元件,用于确定该交叉相关矢量;以及,选择元件,用于确定这多个脉冲位置,并用于生成该指示信号。
3.一种用于减少码本搜索的存储器要求的装置,包括脉冲响应发生器,用于生成脉冲响应信号;交叉相关元件,它被配置成确定将该脉冲响应信号和目标信号联系起来的交叉相关矢量;选择元件,它被配置成接收该交叉相关矢量、使用该交叉相关矢量来识别一最佳的脉冲位置集并且生成携带这最佳的脉冲位置集的标识的指示信号;脉冲码本发生器,它被配置成从该选择元件接收该指示信号并生成多个脉冲矢量,其中,根据指示信号所携带的最佳脉冲位置集的标识来生成这多个脉冲矢量;以及,能量计算元件,用于根据这多个脉冲矢量来确定自相关子矩阵,其中,使用该自相关子矩阵来替代自相关矩阵,从而降低了该码本搜索的存储器要求。
4.一种用于从多个脉冲矢量中选择最佳适配的脉冲矢量的装置,用于对残留波形编码,该装置包括存储元件;以及,处理元件,它被耦合到该存储元件并被配置成执行该存储元件中所存储的一指令集,该指令集用于根据预定的交叉相关矢量来确定一最佳的脉冲位置集;确定与该最佳的脉冲位置集相对应的多个脉冲矢量,其中,这多个脉冲矢量小于该码本;只根据这多个脉冲矢量来计算自相关子矩阵;使用该自相关子矩阵来确定多个能量值,其中,每个能量值对应于这多个脉冲矢量中的一个脉冲矢量;以及,从具有最高标准值的这多个脉冲矢量中选择作为该脉冲矢量的最佳适配的脉冲矢量,其中,根据这多个能量值和该交叉相关矢量来确定该最高标准值。
5.一种用于从码本中选择最佳脉冲矢量的方法,包括确定目标信号与脉冲响应之间的交叉相关矢量,其中,该交叉相关矢量中的每个分量对应于分析帧中的一个位置;确定与该交叉相关矢量的P个最大分量相对应的多个P个位置;从该码本中选择多个脉冲矢量,以形成子码本(subcodebook),其中,这多个脉冲矢量中的每个脉冲矢量对应于这多个P个位置中的至少一个位置;根据这多个P个脉冲矢量来确定自相关矩阵;以及,从这多个P个脉冲矢量中选择该最佳脉冲矢量。
6.一种用于从码本中选择最佳脉冲矢量的装置,包括用于确定目标信号与脉冲响应之间的交叉相关矢量的工具,其中,该交叉相关矢量中的每个分量对应于分析帧中的一个位置;用于确定与该交叉相关矢量的P个最大分量相对应的多个P个位置的装置;用于从码本中生成多个脉冲矢量以便形成子码本的装置,其中,这多个脉冲矢量中的每个脉冲矢量对应于这多个P个位置中的至少一个位置;用于根据这多个脉冲矢量来确定自相关矩阵的装置;以及,用于从这多个脉冲矢量中选择该最佳脉冲矢量的装置。
7.一种用于减少码本搜索的计算复杂性的方法,包括使用部分的一组自相关值来确定能量值矩阵;存储该能量值矩阵;使用该能量值矩阵和来自多个交叉相关值的一个交叉相关值来为多个矢量中的每个矢量确定标准值,其中,每个交叉相关值描述目标信号与该码本中的各个矢量之间的关系;以及,如果矢量具有最高标准比率值,则将该矢量选为是最佳的。
全文摘要
这里介绍了用于从码本中迅速选择最佳激励波形的方法和装置。为了减少选择该最佳码本矢量所要求的计算数量,可根据最佳脉冲位置来选择一个码矢量的子集(425),其中,这个码矢子集形成一子码本。不是搜索整个码本,而是只搜索该子码本的各个表项(400)。
文档编号G10L19/00GK1539139SQ02815360
公开日2004年10月20日 申请日期2002年6月5日 优先权日2001年6月6日
发明者A·坎德哈代, A·P·得加克, S·曼优那特, A 坎德哈代, 得加克, 拍翘 申请人:高通股份有限公司
减少对于码本矢量搜索的存储要求的制作方法
相关推荐
专利名称:一种处理盒的制作方法技术领域:本实用新型涉及一种处理盒。背景技术:现有技术的一种处理盒,该处理盒可拆卸地安装于一种电子成像装置中。所述电子成像装置包括激光打印机、复印机、印刷机等电子成像设备,是一种利用电子照相原理,至少经过充电、
一种编码模式切换方法和装置、解码模式切换方法和装置制造方法【专利摘要】本发明实施例提供一种编码模式切换方法,第i帧和第i+1帧分别为MDCT和ACELP编码模式时,采用预定义窗型对第i帧进行MDCT编码获得MDCT编码信息;对第i帧或者第i
专利名称:语音识别设备和方法技术领域:本发明涉及一种语音识别设备,用于识别对应于语音信息的文本信息。本发明还涉及一种语音识别方法,用于识别对应于语音信息的文本信息。本发明还涉及一种计算机程序产品,所述计算机程序产品被设置为识别对应于语音信息
转屏控制方法、装置及电子设备的制作方法【专利摘要】本发明涉及一种转屏控制方法、装置及电子设备,该方法用于具有重力感应屏幕控制功能的电子设备,该方法包括:语音识别步骤,监测并识别语音命令,所述语音命令包括用于锁定屏幕和解锁屏幕的命令;语音响应
专利名称:一种电感式自适应电子喇叭的制作方法技术领域:本实用新型涉及一种电子喇叭,具体提供一种电感式自适应电子喇叭。 背景技术:目前汽车电喇叭按控制方式分两大类,一是频率外输入方式,由各种电子电路输 出某种固定频率和占空比来控制,其产品均为
专利名称:遮阳帽太阳镜的制作方法技术领域:本实用新型是一种太阳镜,特别是一能卡接在帽沿上的遮阳帽太阳镜。背景技术:太阳镜和遮阳帽是夏天经常要用到的日用品,在实际使用中,经常是在在戴遮阳帽的同时,还要再戴上太阳镜,如此的使用方式使人感到有如下