在子带译码解码器中隐藏遗失包的制作方法

文档序号:2832703阅读:283来源:国知局
专利名称:在子带译码解码器中隐藏遗失包的制作方法
技术领域
本发明大体上涉及电子装置。更具体地说,本发明涉及在子带译码(SBC)解码器中隐藏遗失包。
背景技术
在过去几十年中,电子装置的使用已变得普遍。明确地说,电子技术的进步已降低了日益复杂且有用的电子装置的成本。成本降低及消费者需求已使电子装置的使用激增,使得电子装置在现代社会中几乎无处不在。由于电子装置的使用已扩展,因此对电子装置的新的且改进的特征的需求也已扩展。更具体地说,人们常常追求更快、更高效地执行功能或具有较高质量的电子装置。许多电子装置结合例如音乐或话音数据等音频或声音信息而使用。此音频或声音信息可使电子装置能够再现声音。一些电子装置与其它电子装置通信。举例来说,一种电子装置为例如蜂窝式电话等无线通信装置。一些无线通信装置或其它电子装置可接收音频或声音信息。举例来说,无线通信装置可从另一电子装置接收话音信息。举例来说,当电子装置正接收音频或声音信息时,一些音频或声音信息可能遗失。举例来说,无线通信装置在电话呼叫期间可能遗失话音信息或数据的一个或一个以上包。遗失的音频或声音信息可引起降级的用户体验。如从此论述可见,用于处置遗失的音频或声音信息的改进的系统及方法可为有益的。

发明内容
本发明揭示一种用于在子带译码(SBC)解码器中重构遗失包的电子装置。所述电子装置包括处理器及存储在存储器中的指令。所述电子装置检测遗失包,且获得合成滤波器组的零输入响应。所述电子装置还获得粗略音高估计,且基于所述零输入响应及所述粗略首闻估计获得精细首闻估计。所述电子装置进一步基于所述精细首闻估计而选择最后首高周期,且将来自所述最后音高周期的样本用于所述遗失包。可通过计算子带样本的自相关来获得所述粗略音高估计。所述子带样本可能尚未经合成。所述电子装置还可将来自所述最后音高周期的所述样本中的至少一些与所述零输、入响应重叠相加。通过计算所述零输入响应与先前解码的样本的相关来获得所述精细音高估计。所述电子装置可进一步检测额外遗失包,且可将来自所述最后音高周期的样本用于所述额外遗失包。所述电子装置还可使来自所述最后音高周期的样本衰落。所述电子装置还可将来自所述最后音高周期的样本用于多个额外遗失包。所述电子装置还可检测经正确解码的包或帧,可将来自所述最后音高周期的样本用于某一范围的不合需要样本,且可将来自所述最后音高周期的样本与过渡样本重叠相力口。将来自所述最后音高周期的所述样本用于所述遗失包可包括将所述样本复制到所述遗失包中。所述SBC解码器可用以解码宽带语音信号。所述电子装置可为无线通信装置。所述无线通信装置可为蓝牙装置。与通过所述SBC解码器解码可用包相比,无额外延迟可用于重构所述遗失包。本发明还揭示一种用于在子带译码(SBC)解码器中重构遗失包的方法。所述方法包括检测遗失包;以及在电子装置上获得合成滤波器组的零输入响应。所述方法还包括获得粗略首闻估计;以及基于所述零输入响应及所述粗略首闻估计获得精细首闻估计。所述方法进一步包括基于所述精细首闻估计选择最后首闻周期;以及将来自所述最后首闻周期的样本用于所述遗失包。本发明还揭示一种用于在子带译码(SBC)解码器中重构遗失包的计算机程序产品。所述计算机程序产品包括上面具有指令的非暂时有形计算机可读媒体。所述指令包括用于致使电子装置检测遗失包且获得合成滤波器组的零输入响应的代码。所述指令还包括用于致使所述电子装置获得粗略音高估计且基于所述零输入响应及所述粗略音高估计获得精细音高估计的代码。所述指令进一步包括用于致使所述电子装置基于所述精细音高估计选择最后音高周期且将来自所述最后音高周期的样本用于所述遗失包的代码。本发明还揭示一种用于在子带译码(SBC)解码器中重构遗失包的设备。所述设备包括用于检测遗失包的装置;以及用于获得合成滤波器组的零输入响应的装置。所述设备还包括用于获得粗略音高估计的装置;以及用于基于所述零输入响应及所述粗略音高估计获得精细首闻估计的装置。所述设备进一步包括用于基于所述精细首闻估计选择最后音高周期的装置;以及用于将来自所述最后音高周期的样本用于所述遗失包的装置。


图I为说明电子装置的一种配置的框图,其中可实施用于包遗失隐藏(PLC)或遗失包重构的系统及方法;图2为说明无线通信装置的一种配置的框图,其中可实施用于包遗失隐藏(PLC)或遗失包重构的系统及方法;图3为说明无线通信装置的另一配置的框图,其中可实施用于包遗失隐藏(PLC)或遗失包重构的系统及方法;图4为说明用于在子带译码(SBC)解码器中隐藏或重构遗失包的方法的一种配置的流程图;图5为说明用于在子带译码(SBC)解码器中隐藏或重构遗失包的若干模块的一种配置的框图;图6为说明用于在子带译码(SBC)解码器中隐藏或重构遗失包的方法的更特定配置的流程图;图7A说明遗失或遗漏包检测。电子装置102可接收及/或解码经SBC编码的音频(例如,话音或语音);图7B说明零输入响应的产生;图7C说明粗略音高估计或周期的确定;图7D说明精细首闻估计或最后首闻周期的确定;
图7E说明将最后音高周期用于遗失包且将零输入响应与来自最后音高周期的样本重叠相加;图7F说明隐藏或经重构的包或帧;图8为说明用于在子带译码(SBC)解码器中隐藏或重构遗失包的若干模块的一种配置的框图;图9为说明用于在子带译码(SBC)解码器中隐藏或重构遗失包的方法的另一配置的流程图;图IOA为说明额外遗失包的检测的图;图IOB为说明使用来自最后音高周期的样本来隐藏或重构额外遗失包或帧的图;图IOC为说明使隐藏的包或帧中的样本衰落的图;图11为说明可用于在子带译码(SBC)解码器中隐藏或重构遗失包的若干模块的一种配置的框图;图12为说明用于在子带译码(SBC)解码器中隐藏或重构遗失包的方法的一种配置的流程图;图13A为说明经正确解码的包或帧的零状态响应的图;图13B为说明将来自最后音高周期的样本用于经正确解码的包或帧的零状态响应的图;图14为说明帧重叠的实例的图;图15为说明可用于在子带译码(SBC)解码器中隐藏或重构遗失包的若干模块的一种配置的框图;图16说明可用于电子装置中的各种组件;图17说明可包括于无线通信装置中的某些组件;及图18说明可包括于基站中的某些组件。
具体实施例方式如本文中所使用,术语“基站”大体上指示能够提供对通信网路的接入权的通信装置。通信网路的实例包括(但不限于)电话网络(例如,例如公用交换电话网络(PSTN)的“陆线(land-line)”网络,或蜂窝式电话网络)、因特网、局域网(LAN)、广域网(WAN)、城域网(MAN)等。基站的实例包括(例如)蜂窝式电话基站或节点、接入点、无线网关及/或无线路由器。基站可根据某些行业标准来操作,所述行业标准例如为美国电气与电子工程师学会(IEEE) 802. Ila,802. Ilb,802. Hg,802. Iln,802. Ilac (例如,无线保真或称“Wi_Fi”)标准。基站可遵守的标准的其它实例包括IEEE 802. 16(例如,微波接入全球互通或称“WiMAX”)、第三代合作伙伴计划(3GPP)、3GPP长期演进(LTE)及其它标准(例如,在可将基站称为节点B、演进型节点B(eNB)等的情况下)。尽管可依据一个或一个以上标准来描述本文中所揭示的系统及方法中的一些,但这不应限制本发明的范围,因为所述系统及方法可适用于许多系统及/或标准。如本文中所使用,术语“无线通信装置”大体上指示可以无线方式与基站或其它电子装置通信的电子装置(例如,接入终端、客户端装置、客户站(client station)等)。无线通信装置可替代地称为移动装置、移动台、订户台、用户设备(UE)、远程台、接入终端、移动终端、终端、用户终端、订户单元等。无线通信装置的实例包括膝上型或桌上型计算机、蜂窝式电话、智能电话、无线调制解调器、电子读取器、平板装置、游戏系统等。无线通信装置可根据如上文结合基站所描述的一个或一个以上行业标准来操作。因此,通用术语“无线通信装置”可包括根据行业标准而以不同命名法(例如,接入终端、用户设备(UE)、远程终端等)描述的无线通信装置。在过去数年中,在消费型电子行业中已存在对使得能够经由蓝牙(BT)进行宽带(WB)语音通信的技术的强烈需求。作为对所述需求的响应,BT标准机构已选择子带译码(SBC)作为用于BT的WB语音或话音应用的强制性编解码器。SBC为基于帧的编解码器,其中将输入信号分段为帧,且将帧中的时间样本由分析滤波器转换为经十中抽一取样的子带样本。将每一频带中的子带样本自适应地量化,且接着将量化器指数连同量化器步长一起发射到SBC解码器。在SBC解码器中,通过逆量化器来重构子带样本,且通过合成滤波器将其转换回到时域信号。与用于经由BT的窄带(NB)语音的连续可变斜率差量调制(CVSD)编解码器不同,已知SBC解码器对发射位错误敏感,这是因为其倾向于针对因位错误而损毁的包产生令人烦扰的被损害音频。为避免此种降级,可舍弃被损毁的包,且使用包遗失隐藏(PLC)或遗失包重构用良好估计来代替。许多PLC技术可并入到SBC解码器中,例如无声插入、包重复、基于音高分析的波形代替及基于线性预测(LP)的PLC等。其中,经部署以用于G. 711 NB语音编解码器的PLC已由BT标准机构推荐为具成本效益的解决方案,这是因为其能够以适度延迟及计算复杂性产生良好的音频质量。当在若干电子装置(例如,蓝牙发射器与接收器)之间发射话音或语音信号(例如,宽带话音或语音信息)时,可能遗失一个或一个以上包。包的遗失可能引起不想要的信号失真及人为噪声。当话音或语音信号的包遗失时,可使用包遗失隐藏(PLC)或遗失包重构来基于所接收数据而重构遗失包,直到成功地接收到另一包为止,因此减少不想要的信号失真及人为噪声。然而,传统PLC方案可能需要大量的处理及存储器资源。此外,当将PLC方案应用于宽带语音信号(与窄带相反)时,可能需要额外处理及存储器资源。当不使用PLC时,可能由SBC解码器接收到由SBC编码器编码的宽带语音位流。位流剖析器可剖析并格式化所述位流以供输入到逆量化器中。逆量化器重构子带样本以供输入到合成滤波器组中。合成滤波器组将重构的子带样本转换为时域样本(例如,经脉码调制(PCM)的样本)。所述时域样本可包含由SBC解码器解码的宽带语音。举例来说,如果不正确地接收到包或在无PLC的情况下包遗失,那么可能如上文所描述出现经解码宽带话音、中的不想要的失真。下文给出一种传统PLC方案的回顾以用于理解。G. 711为传统PLC电信标准化部门(ITU-T)标准。用于G. 711解码器的PLC实质上通过在正确接收到的先前样本中搜索与最后可用样本最类似的片段而估计遗失的语音帧。解码器接着将此片段插入于先前帧与接下来的(正确接收的)帧之间。当正确接收到10毫秒(msec)帧的包时,将经解码的帧存储在长度大于最大音高长度的两倍的历史缓冲器中。当包遗失时,在音高分析块中确定最后音高周期。首先,从历史缓冲器(将最大音高长度设定为120)中的最近样本获取长度等于最大音高长度的块X。还以最小时滞在历史缓冲器中获取相同长度的另一块y0。计算这两个块(X与y0)的正规化相关,并将其存储在本地变量R(O)中。接下来,通过以递增一个样本的时滞获取历史缓冲器中的样本来获得第二块yl。使用所述两个块X与yl来计算正规化相关R(I)。重复这 些操作,直到时滞增加到最大音高长度为止。将最后音高周期确定为使所述正规化相关最大化的时滞。总而言之,G. 711 PLC首先计算最近块与历史缓冲器中的样本块之间的相关。其次,G. 711 PLC确定使相关最大化的最后音高周期。再次,G. 711 PLC将所述最后音高周期复制到遗失帧中。第四,G. 711 PLC执行尾部重叠相加(OLA),以实现所接收样本与隐藏样本之间的平滑过渡。第五,G. 711 PLC执行头部0LA,以实现隐藏样本与下一帧之间的顺畅过渡。可见,音高分析可能需要大量的算术运算,这可能超出IOmsec帧的G. 711解码的计算复杂性。为了减少计算负担,PLC标准使用以粗略估计及其改进的方式执行音高分析的算法。最后音高周期的粗略估计是通过计算以一半比率十中抽一取样的样本的相关而获得。从所述粗略估计,比较三个改进候选项(所述粗略估计及其两个相邻者),所述比较是通过对于每一候选项计算最后两个音高周期中的块之间的正规化相关及选择使所述相关最大化的候选项来进行。—旦在首闻分析中确定最后首闻周期,就可将历史缓冲器中的最后首闻周期复制到遗失帧中。除了最后音高周期中的样本之外,还复制紧接于最后音高周期之前的3. 75msec样本块,并将其与历史缓冲器中的最近区段重叠相加(OLA),以便避免帧边界中的波形不连续性。从此尾部OLA过程可见,先前帧(其已经输出到输出缓冲器)中的最后3. 75msec样本在隐藏当前帧的过程中被修改。因此,当将经解码或隐藏的帧输出到输出缓冲器时,可将帧中的样本延迟3. 75msec,以虑及对3. 75msec块的潜在修改。因此,先前帧中的最后3. 75msec先于隐藏巾贞中的前6. 25msec样本,且级联的IOmsec巾贞最终被汲取到输出缓冲器。当在遗失包后接收到良好包时,将经解码帧插入于紧接先前隐藏的帧之后。然而,在帧边界中可能存在波形不连续性。为确保顺畅过渡,从先前音高周期重复3. 75msec的样本块,且将其与经解码帧中的前3. 75msec块重叠相加。在对经解码帧的此修改之后,将延迟了 3. 75msec的IOmsec块输出到输出缓冲器。子带译码(SBC)解码器通常从所接收的子带样本重构时域信号。单个SBC包的遗失意味着帧中若干子带样本的遗失。因此,可能需要为估计遗失的子带样本的SBC解码器设计PLC方案。然而,此任务可能是困难的,因为在此情况下,历史缓冲器中的信号为经高度十中抽一取样的子带样本。实情为,可归因于G. 711 PLC的优点而将G. 711 PLC并入到SBC解码器中。然而,在此方法中,将PLC并入到SBC解码器中可能并不如将PLC并入G. 711
解码器中般直接。具体地说,当单个SBC包遗失时,可认为遗失了遗失包中的子带样本。因此,可跳过对所述包或帧的解码,且可隐藏所述包或帧。在这些过程期间,可能并不更新合成滤波器存储器。这对于重构下一帧可能导致严重失真,即使下一包是被正确接收也是如此。换句话说,遗失单个包可能引起两个帧上的波形失真。因此,大于一个SBC帧大小的语音样本可能因PLC而被隐藏,因为输出音频中的更多损害可能是无法避免的。除了隐藏音频的质量问题之外,并入有G. 711 PLC固有地需要3. 75毫秒(msec)的延迟,所述延迟在对延迟敏感的蓝牙(BT)应用中是不合需要的。此外,PLC所需的计算也成为问题,因为与用于窄带(NB)语音的G. 711 PLC的复杂性相比,算法复杂性可能显著增加。具体地说,由于用于相关计算中的样本块的长度对于宽带(WB)语音PLC来说可能加倍,因 此算术运算的数目将增加4倍。因此,用于执行PLC的计算将远远超过对单个帧的SBC解码所需的计算。此计算负担可能不容易卸去,即使可使用高效技术经由粗略估计及其改进来寻找最佳音高延滞也是如此。为了解决G. 711 PLC的性能限制,本文中所揭示的系统及方法可允许将G. 711 PLC高效地并入SBC解码结构内。本文中所揭示的系统及方法可采用SBC解码器处的所有可用信息来隐藏失真的样本及执行音高分析。类似于G. 711 PLC,正确接收的包可经解码并存储在历史缓冲器中。除了时域样本之外,数个经解码的第一子带样本也可存储在子带缓冲器(例如,具有较小大小)中。当SBC包遗失时,可将遗失帧中的遗失的子带样本估计为零。在将子带样本设定为零的情况下,一个或一个以上合成滤波器可输出零输入响应。由于合成滤波器状态在合成零输入响应期间可能被复位为零,因此在正确接收到包时的下一帧重构可为零状态响应。在一个实例中,后续帧中的零状态响应可遵循遗失帧中的零输入响应。举例来说,当第一包遗失时,解码器将输出零输入响应。可接着正确地接收到第二帧。在所述两个帧上均可能观察到波形失真,即使在仅遗失一个包时也是如此。因此,尽管遗失单个包可能引起两个帧上的波形失真,但遗失帧中的零输入响应的前几毫秒(msec)及下一帧中的后几毫秒可接近于原始信号而重构。因此,可经由G. 71IPLC来估计在两个部分之间的样本。可经由与相邻样本的尾部OLA及头部OLA来插入所估计的样本。通过采用SBC解码器中的合成滤波器的零输入响应及零状态响应,可避免G. 711 PLC固有地需要的3. 75msec延迟。充分利用所有可用信息的方法也可应用于音高分析中。为了隐藏遗失帧及接下来的帧中的失真样本,可通过使用如部署于G. 711 PLC中的粗略估计及其改进来类似地搜索前一帧。然而,可通过计算所存储的子带样本的正规化相关(例如,自相关)而以不同方式获得粗略估计。由于相关是针对(例如)8倍经十中抽一取样的子带样本而计算,因此可实现计算数目及存储器使用率方面的显著减少。举例来说,当针对WB语音将最大可允许音高延滞界定为240个样本时,可针对具有240个样本的两个块执行相关计算,且历史缓冲器可存储至少2X240个样本。然而,根据本文中所揭示的系统及方法使用子带样本,最大可允许音高延滞还可8倍十中抽一取样为30个样本。可针对具有30个样本的两个块计算相关,且因此可能仅需要将2X30个样本存储在子带缓冲器中。可接着使用历史缓冲器中的时域样本来改进所述粗略估计。在G. 711 PLC中,对于每一改进候选项,通过计算最后两个音高周期中的块之间的正规化相关来执行改进。为此,可能需要将两倍于最大音高延滞的时域样本存储在历史缓冲器中。为卸去对存储器使用率的此负担,本文中所揭示的系统及方法使用高效方案来进行音高改进,其允许历史缓冲器大小减小一半(例如,减小到最大音高延滞)。举例来说,本文中所揭示的系统及方法可使用遗失帧的零输入响应中的前几毫秒样本(例如,经脉码调制(PCM)的样本),且使用其作为相关计算中的第一自变量。对于每一音高改进候选项,第二自变量可为历史缓冲器中延滞一个音高的样本。使用这两个短块,可高效地计算相关。可使用所述相关来选择使相关最大化的音高延滞作为音高分析的最终输出。可从以下观察结果来论证此方法可接近于原始信号重构遗失帧中的零输入响应的前几毫秒,且相隔一音高延滞的两个短块之间的相关可产生准确的改进结果。可通过仅将前几个子带样本(设定为零)馈入到合成滤波器而计算零输入响应的 前几毫秒来作出对复杂性降低的另一贡献。通过应用本文中所揭示的系统及方法来实现最小计算及存储器使用率,可显著降低音高分析所需的计算数目及存储器使用率。因此,可维持PLC的算法复杂性类似于正常SBC解码的复杂性。可重复识别为最后音高周期的样本,且可将重复的音高周期或最后音高周期的样本复制到遗失帧中。为实现所接收帧与隐藏帧之间的平滑过渡,可在零输入响应的前几毫秒与历史缓冲器中延滞一个音高的样本之间执行0LA。可将隐藏或重构的块(例如,包或帧)输出到解码器输出缓冲器,而无在G. 711 PLC中发生的额外延迟。可以渐强的信号衰减来重复最后音高周期,直到在解码器处接收到下一良好包为止。当再次向解码器馈入良好包时,可将经解码的子带样本应用于一个或一个以上合成滤波器。然而,在此情况下,解码器可能归因于滤波器状态被复位为零而输出零状态响应。因此,可以从(例如)如一巾贞开始继续的最后首闻周期代替如5msec内的零状态响应。可使最后首闻周期再次继续另几晕秒以进行与零状态响应中的对应部分的头部0LA。以此方式,可实现从隐藏帧到经解码帧的顺畅过渡。可将经填充的帧引导到解码器输出缓冲器,而无经解码帧与隐藏帧之间的OLA原本需要的额外延迟。本文中所揭示的用于SBC解码器的PLC的系统及方法可使用SBC合成滤波器的零输入响应及零状态响应来实现隐藏帧与经解码帧之间的顺畅过渡。本文中所揭示的系统及方法还可允许以减少或最少的计算及存储器使用率来高效地实现音高分析。一般来说,本文中所揭示的系统及方法并不限于供G. 711 PLC使用,而是可应用于将任何PLC并入到SBC解码器中的任务。举例来说,在音频质量的优先级比其它设计约束的优先级高的一些应用中,可使用基于线性预测(LP)的PLC,其经由LP分析及音高分析来估计遗失帧。在PLC并入中使用SBC合成滤波器的零输入响应及零状态响应来实现隐藏帧与经解码帧之间的顺畅过渡,可将隐藏帧顺畅地插入到其相邻帧中。此外,可通过使用根据本文中所揭示的系统及方法的具有减少的计算及存储器使用率的音高分析的高效实现来高效地执行基于LP的PLC中的音高分析。此包遗失隐藏方案(PLC)方案的一些有益方面尤其包括利用子带样本缓冲器中的自相关的子带样本来计算粗略估计及使用零输入响应样本。此方法可降低PLC方案的计算复杂性以及存储器使用率。此外,因为其它方法中出现的延迟未出现在根据本文中所揭示的系统及方法的PLC中,因此此方法可为有益的。因此,用于包遗失隐藏(PLC)或遗失包重构的改进的系统及方法可允许遗失包的高效重构。这些改进的系统及方法可应用于经子带译码的宽带(及/或窄带)语音信号。本文中所揭示的系统及方法可降低计算复杂性及存储器使用率。现在参看图描述各种配置,在图中,相同参考数字可指示功能上类似的元件。在本文中于图中大体描述及说明的所述系统及方法可以各种各样不同配置来布置及设计。因此,如图中表示的对若干配置的以下更详细描述无意限制如所主张的范围,而是仅表示所述系统及方法。
图I为说明电子装置102的一种配置的框图,其中可实施用于包遗失隐藏(PLC)或遗失包重构的系统及方法。电子装置102的实例包括无线通信装置,例如蜂窝式电话、智能电话、膝上型计算机、个人数字助理(PDA)、电子读取器、游戏系统、无线调制解调器等。电子装置102的其它实例包括桌上型计算机、电话、记录装置等。电子装置102可包括子带译码(SBC)解码器104、一个或一个以上扬声器114及/或存储器116。根据本文中所揭示的系统及方法,SBC解码器104可包括包遗失检测器106、逆量化器108、合成滤波器组110及/或PLC/遗失包重构模块112。包遗失检测器106可确定何时已不再正确接收及/或解码音频、话音或语音信息。在一种配置中,电子装置102可从另一电子装置(例如,使用有线或无线链路)接收话音或语音信息。在另一配置中,电子装置102可从存储器116(例如,RAM、硬盘驱动器等)检索话音或语音信息。包遗失检测器106可使用错误检测译码(例如,CRC (循环冗余检查))来确定包(例如,话音或语音信息的包)已遗失。包遗失检测器106可以其它方式确定包已遗失。举例来说,如果预期话音或语音信息在特定时间周期内并未到达或如果电子装置102不能恰当地解码所接收的话音或语音信息,那么包遗失检测器106可确定包已遗失。逆量化器108可重构话音或语音信号的子带样本。合成滤波器组110可包含一个或一个以上合成滤波器,且可将重构的子带样本转换为时域(音频)样本。包遗失隐藏(PLC)或遗失包重构模块112可隐藏或重构遗失包。更具体地说,PLC或遗失包重构模块112可使用合成滤波器组110的零输入响应及粗略音高估计(例如,使用子带样本获得)来获得精细音高估计。精细音高估计可用来选择最后音高周期。可将来自最后音高周期的样本复制或插入到遗失包的帧中。因此,可“隐藏”或重构遗失包。在一种配置中,可使用一个或一个以上扬声器114以听觉方式输出“经重构”的包或样本(例如,遗失包原本将占用的帧中的样本)。在另一配置中,可将“经重构”的包或样本保存到存储器116。在又一配置中,可将“经重构”的包或样本发射到另一电子装置。举例来说,当包遗失时,PLC/遗失包重构模块112可用来自最后音高周期的样本代替或填充遗失包或帧。最后音高周期可包含来自前一帧或包的一系列样本。可将来自最后音高周期的样本复制、插入及/或合并到遗失或遗漏的包或帧中。这可相应地继续来自前一帧的音高。因此,放置于遗失或遗漏包或帧中的样本可听起来(当输出为听觉信号时)类似于前一帧,因此避免不想要的失真。应注意,如本文中所使用,术语“重构”、“隐藏”及其它变体可指示用并非来自遗失包的其它样本来代替遗失包(或放置于遗失包原本已占用的帧中)。因此,重构遗失包可试图使包遗失对于电子装置102的用户来说不太明显。
图2为说明无线通信装置202的一种配置的框图,其中可实施用于包遗失隐藏(PLC)或遗失包重构的系统及方法。无线通信装置A 202可包括一个或一个以上天线218、一个或一个以上扬声器214、存储器216及/或SBC解码器204,SBC解码器204可包括PLC或遗失包重构模块212。无线通信装置B 222可包括SBC编码器224及/或一个或一个以上天线220。无线通信装置A202与无线通信装置B 222可使用其相应天线218、220与彼此通信。无线通信装置B 222可使用SBC编码器224来编码音频(例如,话音或语音)信号。举例来说,无线通信装置B 222可包括用于捕获音频信号(例如,用户的话音或语音)的麦克风(未图示)。无线通信装置B 222可使用SBC编码器224来编码音频信号。经SBC编码的信号可使用所述一个或一个以上天线220发射到无线通信装置A 202。无线通信装置A 202可使用一个或一个以上天线218接收所述经SBC编码的信号。无线通信装置A 202可接着使用所述SBC解码器204解码所述经SBC编码的信号。如果所述经SBC编码的信号的任何包遗失或遗漏,那么无线通信装置A 202可使用PLC/遗失包重构模块212来 隐藏遗失包或将其它样本(例如,“经重构”的包)放置于遗失包的位置中。经SBC解码的音频信号可使用所述一个或一个以上扬声器214以听觉方式输出、可存储在存储器216中,及/或可发射到另一电子装置或无线通信装置。在一种配置中,例如,无线通信装置B 222为蓝牙头戴式耳机,且无线通信装置A202为蜂窝式电话。用户可使用无线通信装置B 222 (例如,蓝牙头戴式耳机)来捕获其话音或语音以进行电话呼叫。用户的话音或语音是由麦克风捕获,且使用SBC编码器224来编码。举例来说,所捕获/经编码的语音可为宽带语音或窄带语音。使用天线220来发射经SBC编码的音频(例如,话音、语音)信号,所述信号接着由无线通信装置A 202(例如,蜂窝式电话)使用天线218接收。无线通信装置A 202使用SBC解码器204来解码所述经SBC编码的信号。如果包遗失或遗漏,那么无线通信装置A 202使用PLC/遗失包重构模块212来将来自前一帧的样本放置到遗失或遗漏包的帧中。所得的经SBC解码的信号为音频信号(例如,具有一个或一个以上“隐藏”包的宽带或窄带音频信号)。在此实例中,无线通信装置A 202(例如,蜂窝式电话)可格式化所述音频信号(例如,添加错误检测/校正译码、调制等),并将其发射到另一电子装置(例如,蜂窝式电话、陆线电话等)。或者或另外,音频信号可存储在存储器216中及/或使用一个或一个以上扬声器214以听觉方式输出。图3为说明无线通信装置302的另一配置的框图,其中可实施用于包遗失隐藏(PLC)或遗失包重构的系统及方法。无线通信装置302可包括一个或一个以上天线318、一个或一个以上扬声器314、存储器316及/或SBC解码器304,SBC解码器304可包括PLC/遗失包重构模块312。基站328可使用一个或一个以上天线326与无线通信装置302通信。如上文所论述,无线通信装置302的一个实例为蜂窝式电话。举例来说,假定无线通信装置302(例如,蜂窝式电话)已从蓝牙头戴式耳机(例如,图2中的无线通信装置B222)接收到经SBC编码的音频信号。进一步假定所述经SBC编码的音频信号的一个或一个以上包已遗失(例如,未正确接收或解码)。无线通信装置302使用SBC解码器304来解码所述所接收的经SBC编码的音频信号。无线通信装置302还使用PLC/遗失包重构模块312来隐藏或替换所述遗失包。所得信号为经解码的音频信号或样本,其使一个或一个以上遗失包被来自另一帧或包的样本代替。经解码的音频信号可接着经格式化以供发射(例如,已添加错误校正/检测译码、已调制等)。此经格式化的音频信号可接着使用一个或一个以上天线318发射,且由基站328使用一个或一个以上天线326接收。基站328可接着将所述音频信号中继到另一电子装置。举例来说,基站328可使用公用交换电话网络(PSTN)或因特网(例如,经由因特网话音协议(VoIP))将所述音频信号发送到电话、计算装置(例如,桌上型/膝上型计算机)或蜂窝式电话。所述音频信号可接着由所述电子装置(例如,电话、计算装置、蜂窝式电话等)输出。或者或另外,无线通信装置302可将经解码的音频信号存储在存储器316中,及/或使用一个或一个以上扬声器314输出所述经解码的音频信号。图4为说明用于在子带译码(SBC)解码器中隐藏或重构遗失包的方法400的一种 配置的流程图。举例来说,图4说明包遗失隐藏(PLC)或遗失包重构模块112可在三种PLC情况之间切换的方式。大体上,PLC情况I可指示已正确解码经SBC编码的音频的包或帧,后面接着遗失或不正确地解码的包的情况。PLC情况II可指示遗失或不正确地解码的包后面接着额外遗失或不正确地解码的包的情况。PLC情况III可指示遗失或不正确地解码的包后面接着正确解码的包的情况。电子装置102 (例如,具有SBC解码器104及PLC/遗失包重构模块112)可开始解码(402)经SBC编码的音频信号(例如,所接收的宽带语音位流)。电子装置102可确定(404)包是否已遗失(例如,未接收到、不正确地解码等)。如果电子装置102确定(404)包未遗失,那么电子装置102可继续解码经SBC编码的音频信号(例如,所接收的宽带语音位流),直到检测到或确定(404)遗失包为止。如果电子装置102确定(404)包已遗失,那么电子装置102可执行(406)PLC情况I。在执行(406)PLC情况I的过程中,电子装置102可确定最后音高周期。所述最后音高周期可为来自经正确解码的包的数个样本。电子装置102可将来自所述最后音高周期的一个或一个以上样本放置或复制到所述遗失包或帧中。下文给出执行(406)PLC情况I的更多细节。电子装置102可确定(408)(例如,一旦执行(406) PLC情况I)是否存在额外遗失包。如果电子装置102确定(408)不存在额外遗失包,那么电子装置102可执行(414)PLC情况III。在执行(414)PLC情况III的过程中,电子装置102可将来自所述最后音高周期的一个或一个以上样本放置或复制到经正确解码的包或帧或经解码的包或帧的一部分中。可完成此操作以(例如)过渡到来自经正确解码的包的良好或合意样本中。下文给出关于执行(414)PLC情况III的更多细节。电子装置102 (例如,SBC解码器104)可返回到确定(404)经SBC编码的音频信号(例如,位流)中是否存在遗失包。此操作可在(例如)执行(414)PLC情况III之后进行。如果电子装置102确定(408)存在额外遗失包(例如,在执行(406) PLC情况I之后),那么电子装置102 (例如,SBC解码器104)可执行(410) PLC情况II。在执行(410)PLC情况II的过程中,电子装置102可将来自(最初确定的)最后音高周期的若干样本放置或复制到额外遗失包或帧中。可视需要重复进行此操作以填充遗失包或帧。电子装置102还可使放置或复制到所述额外遗失包或帧中的样本衰落(例如,渐进地减小音量或振幅)。电子装置102可确定(412)是否存在额外遗失包。如果存在额外遗失包,那么电子装置102可通过将来自最后音高周期的若干样本放置或复制到所述额外遗失包或帧中及/或通过继续使所述样本衰落来再次执行(410)PLC情况II。如果电子装置102确定(412)不存在额外遗失包(例如,已接收到可行包),那么电子装置102可执行(414)PLC情况III,且返回到确定(404)是否存在遗失包(例如,在执行(414)PLC情况III之后)。图5为说明用于在子带译码(SBC)解码器中隐藏或重构遗失包的若干模块的一种配置的框图。由SBC编码器编码的语音位流(例如,宽带语音位流)530可输入到位流剖析器532中。位流剖析器532可剖析所述位流,且可向后继解码器提供关于位错误检测及数据重构的信息。经剖析的位流可输入到包遗失检测器506中。包遗失检测器506可确定何时已不再正确接收及/或解码音频、话音或语音信息。包遗失检测器506可使用错误检测译码(例如,CRC(循环冗余检查))来确定包(例如,话音或语音信息的包)已遗失。包遗失检测器506可以其它方式确定包已遗失。举例来说,如果预期话音或语音信息在特定时间周期内并未到达,或如果电子装置102不能恰当地解码所接收话音或语音信息,那么包遗失检测器506可确定包已遗失。包遗失检测器506可用以确定SBC解码器104可操作的方式。举例来说,如果包遗失检测器506未检测到任何遗失包,那么SBC解码器104可通过直接使用逆量化器508 (在图5中为方便起见简写为“IQ”)及合成滤波器组510(在图5中为方便起见简写为“SFB”)来操作,以产生由SBC解码器104解码的语音544 (例如,语音样本)。逆量化器508可重构话音或语音信号的子带样本。经重构的子带样本可输入到或存储在子带样本缓冲器534中。合成滤波器组510可将经重构的子带样本转换为由SBC解码器104解码的语音544的时域样本。这些语音样本544还可存储在历史缓冲器536中。举例来说,历史缓冲器536可包括经脉码调制(PCM)的语音样本。如果包遗失检测器506在正确解码的包之后检测到遗失包,那么电子装置102可切换到及/或执行PLC情况I 538。就是说,在已正确解码至少一包,后面接着一遗失或遗漏包的情况下,可执行PLC情况I 538。PLC情况I 538可表示为(0,x),其中O表示正确解码的包或巾贞,且X表示遗漏或遗失包。当包遗失检测器506在遗漏或遗失包之后检测到额外遗漏或遗失包(例如,(x,x))时,可执行PLC情况II 540。当包遗失检测器506在遗漏或遗失包之后检测到正确解码的包(例如,(X,O))时,可执行PLC情况III 542。当根据PLC情况I 538、PLC情况II 540或PLC情况III 542操作时,电子装置102可使用某一包隐藏或重构来产生由SBC解码器104解码的语音544 (例如,宽带语音)样本。下文给出关于PLC情况I 538、PLC情况II 540及PLC情况III 542的更多细节。
图6为说明用于在子带译码(SBC)解码器中隐藏或重构遗失包的方法600的更特定配置的流程图。更具体地说,图6说明关于(例如)执行(406)PLC情况I的更多细节。电子装置102可获得(602)合成滤波器组的零输入响应。举例来说,当电子装置102(例如,包遗失检测器106)在正确解码的包之后检测到遗漏或遗失包时,电子装置102可将若干个零(例如,零的样本)输入到合成滤波器组110中。合成滤波器组110可输出零输入响应,所述零输入响应可反映来自前一帧的一些残余数据。所述零输入响应(例如,零输入响应的数个有用样本)可占用遗失包或帧的一部分。电子装置102可通过计算对应于前一帧的子带样本(例如,由前一帧占用的时间范围)的自相关来获得(604)粗略音高估计。举例来说,电子装置102可计算来自子带样本缓冲器534的某一范围的子带样本的自相关。在一种配置中(且如图5中所说明),所使用的子带样本可能已由逆量化器508输出。在此配置中,合成之前(例如,在由合成滤波器组510合成之前)的所述子带样本可直接用以计算自相关。电子装置102可通过计算零输入响应与来自前一帧的输出样本之间的相关来获得(606)至少一个精细音高估计。所述至少一个精细音高估计可基于所述至少一个粗略音高估计。举例来说,电子装置102 (例如,SBC解码器104)可计算零输入响应样本与来自历史缓冲器536的在围绕粗略音高估计(或围绕历史缓冲器536中对应于粗略音高估计的样本)的范围内的语首样本的相关。最大相关可指不或对应于精细首闻估计。举例来说,可将历史缓冲器536中对应于最大相关的样本选择为精细音高估计。电子装置102可基于精细首闻估计而选择(608)最后首闻周期。举例来说,可将最后音高周期选择¢08)为从精细音高估计到帧的结尾的样本(例如,在历史缓冲器536中)。电子装置102可使用(610)来自最后音高周期的若干输出样本用于遗失包。举例来说,电子装置102可将来自最后音高周期的若干样本(例如,在历史缓冲器536中)复制或放置到遗失包或帧中。可使用重复的最后音高周期来填充遗失包或帧。举例来说,历史缓 冲器536中来自最后音高周期的样本可重复地复制或放置在遗失包或帧中,直到所述遗失包或帧已满为止。电子装置102可将零输入响应样本(例如,数个零输入响应样本或有用零输入响应样本)与遗失包或帧中的最后音高周期样本重叠相加(612)。举例来说,可将占用遗失包或帧(例如,遗失包或帧的开头)的数个零输入响应样本与数个最后音高周期样本重叠相加(612)。图7A到7F为说明关于在子带译码解码器中隐藏或重构遗失包的更多细节的图。更具体地说,图7A到7F说明可根据(例如)PLC情况I执行的操作。图7A说明遗失包或遗漏包检测。电子装置102可接收及/或解码经SBC编码的音频(例如,话音或语音)。举例来说,SBC解码器104可解码经SBC编码的语音以产生经解码的语音样本。这些经解码的语音样本可为(例如)PCM样本。经解码的语音样本可存储在历史缓冲器746a中。电子装置102可检测(750)遗失包748a。举例来说,如果未正确接收及/或解码包,那么可检测到遗失包748a。图7B说明零输入响应752b的产生。当检测到(750)遗失包748b时,电子装置102可将数个零插入到合成滤波器组110中,以便获得数个零输入响应样本752b。将若干个零插入到合成滤波器组Iio中可产生零输入响应样本752b,所述零输入响应样本残余地反映可能存储在历史缓冲器746b中的较早解码的音频(例如,话音或语音)样本。根据本文中所揭示的系统及方法,历史缓冲器746可具有最大可允许音高延滞的长度(其可短于传统历史缓冲器长度(例如,为传统历史缓冲器长度的一半))。最大可允许音高延滞的长度可对应于最大语音及/或话音波长。图7C说明粗略音高估计或周期756c的确定。明确地说,图7C说明历史缓冲器746c、数个零输入响应样本752c、遗失包748c、子带缓冲器754c及粗略音高估计756c。子带缓冲器754c可存储数个子带样本。所述子带样本可为尚未合成(例如,通过合成滤波器组110)的子带样本。电子装置102可计算子带缓冲器中的样本的自相关,以获得粗略音高估计h 756c。粗略首闻估计td 756c可为对应于计算出的自相关范围内的最大自相关值的时间瞬间或样本。计算出的自相关的所述范围可对应于最大可允许音高延滞。如图7C中所说明,粗略音高估计h 756c可对应于历史缓冲器746c中的特定时间或样本号。图7D说明精细音高估计及/或最后音高周期的确定。图7D特定地说明历史缓冲器746d到746e、数个零输入响应样本752d到752e、遗失包748d到748e、粗略音高估计756d及指示最后音高周期t/ 758a的精细音高估计。可通过电子装置102在围绕粗略音高估计756d的±m个样本的范围内计算零输入响应样本752d与历史缓冲器746d中的样本之间的相关。所述样本范围可介于(例如)粗略音高估计样本与相邻候选项之间(例如,表示为‘-Η!及h+m)。举例来说,m可为每个子带样本的历史缓冲器样本的数目。此范围内的最大相关指示历史缓冲器746e中的最后音高周期V 758a。举例来说,最后音高周期758a可包括从精细音高估计到包或帧的结尾的样本。图7E说明将最后音高周期758b到758c用于遗失包748f到748g,及将零输入响应752e与来自最后音高周期760a到760b的若干样本“尾部”重叠相加。明确地说,图7E说明历史缓冲器746f到746g、由精细音高估计指示的最后音高周期758b到758c、最后音高周期的数个样本或复本760a到760b、零输入响应752e、遗失包748f到748g及与最后音高周期的数个样本或复本重叠相加的零输入响应样本762a。电子装置102可使用来自最后首闻周期758b的若干样本,所述样本可为最后首闻周期760a的复本。最后首闻周期样本760a可代替遗失包748f或可在遗失包748f的位置中使用。举例来说,可将最后音高周期 样本760a重叠相加到零输入响应样本752e。这可导致数个重叠相加样本762a及最后音高周期样本760b的未重叠相加的剩余部分。图7F说明隐藏或重构的包或帧766。明确地说,图7F说明历史缓冲器746h、最后音高周期758d、数个重叠相加的零输入响应及最后音高周期样本762b、最后音高周期样本的未重叠相加的剩余部分760c、重复的最后音高周期764f及隐藏或重构的包(或(例如)中贞)766。如果遗失包748的一部分未被填充,那么电子装置102可插入重复的最后音高周期764f,直到遗失包748被完全填充为止。这些操作可导致隐藏的包766 (或(例如)帧)。应注意,尽管本文中有时将精细音高估计或最后音高周期说明为均匀地配合在遗失包中,但这可能不是在所有配置或例子中均必定为此情形。举例来说,最后音高周期可重叠于遗失包(或(例如)帧)之间(或重叠于遗失包(或(例如)帧)与正确接收的包(或(例如)帧)之间)。此外,在一种配置中,精细音高估计或最后音高周期可使用渐弱/渐强方法来减小邻近及/或重叠音高周期之间的不连续性。图8为说明用于在子带译码(SBC)解码器中隐藏或重构遗失包的若干模块的一种配置的框图。更具体地说,图8说明可在正确接收及/解码的包后面接着遗失或遗漏包(例如,PLC情况I)时使用的模块的一种配置。明确地说,图8说明合成滤波器组(在图8中为方便起见说明为“SFB”)模块810、粗略估计模块868、第一重复周期模块870、子带缓冲器更新模块872、改进模块874、第二重复音高周期模块878、重叠相加模块880及历史缓冲器更新模块882。图8中所说明的模块可实施为硬件、软件或两者的组合。在正确解码的包后面接着检测到的遗失或遗漏包的情况(例如,PLC情况I)下,电子装置102可将零输入886提供给合成滤波器组模块810。举例来说,零输入886可包含数个零样本。合成滤波器组810可使用零输入886来产生零输入响应样本888。所述零输入响应样本888可包含占用遗失包或帧中的一些或全部的数个零输入响应样本888。在一种配置中,输入到合成滤波器组810中的零的数目可少于一包或帧中的样本的数目。举例来说,可将24个零插入到合成滤波器组810中。举例来说,零输入886可包含矩阵X (k, m),其中X(k,m)=0,I彡k彡8及I彡m彡3。合成滤波器组810因此可输出24个零输入响应样本888。电子装置102可使用数个子带样本890来执行粗略估计868。举例来说,子带样本890可为尚未通过合成滤波器组810、存储在子带缓冲器中的子带(例如,经十中抽一取样的子带)样本。或者或另外,子带样本可为来自子带缓冲器的数个“第一”子带样本。就是说,所述子带样本可为来自第一子带缓冲器的样本。粗略估计模块868可使用子带样本890来确定粗略音高估计。举例来说,粗略估计模块868可计算来自子带缓冲器的数个子带样本890上的自相关。最大自相关值可指不粗略首闻估计。粗略首闻估计可指不最大自相关的时间瞬间或样本。以此方式获得粗略音高估计可减少(例如)确定最后音高周期所需的计算的数目。改进模块874可使用零输入响应样本888、来自粗略估计模块868的粗略估计及数个历史缓冲器样本876来确定精细音高估计及/或最后音高周期(例如,在历史缓冲器中)。举例来说,改进模块874可计算零输入响应样本888与在围绕粗略音高估计(例如,针对数个“候选项”)的范围内的历史缓冲器样本876的(正规化)相关。这可被认为是 “改进”,且可提供历史缓冲器中的精细音高估计。精细音高估计可对应于在所计算范围内的零输入响应样本888与历史缓冲器样本876的最大相关。可基于精细音高估计来选择最后音高周期。所述最后音高周期可包含来自历史缓冲器的数个样本。举例来说,最后音高周期可包括从精细音高估计到历史缓冲器中的帧或包的结尾的历史缓冲器样本876中的每一者。因此,可基于精细首闻估计来选择最后首闻周期。第二重复音高周期模块878可在遗失包或帧中重复最后音高周期。举例来说,第二重复音高周期模块878可将来自历史缓冲器中的最后音高周期的若干样本复制或放置到遗失包或帧中。举例来说,第二重复音高周期模块878可重复历史缓冲器中的若干样本,以用于遗失样本隐藏以及用于历史缓冲器更新。可视需要重复最后音高周期以填充遗失包或帧。重叠相加模块880可将数个最后音高周期样本与遗失包或帧中的零输入响应样本重叠相加。这可产生隐藏包或帧884。可接着通过历史缓冲器更新模块882来更新历史缓冲器。第一重复音高周期模块870可重复子带缓冲器中对应于前一帧的子带样本。因此,可通过S缓冲器更新模块872来更新子带缓冲器。举例来说,第一重复音高周期模块870可仅针对第一子带重复子带缓冲器中的子带样本。图9为说明用于在子带译码(SBC)解码器中隐藏或重构遗失包的方法900的另一配置的流程图。更具体地说,图9说明在遗失包之后检测到额外遗失包的情况(例如,PLC情况II)。电子装置102可检测(902)额外遗失包。举例来说,包遗失检测器106可在前一遗失包之后检测到后续遗失包。电子装置102可使用(904)来自最后音高周期的输出样本用于所述额外遗失包。举例来说,电子装置102可将来自最后音高周期(例如,针对第一遗失包所确定)的输出样本复制或放置到所述额外遗失包或帧中。可视需要使用重复的最后音高周期或来自最后音高周期的样本来填充遗失包或帧。电子装置102可使来自用于所述额外遗失包的最后音高周期的输出样本衰落(906)。举例来说,电子装置102可减小来自已用于遗失包或帧的最后音高周期的样本的音量或振幅。图IOA到IOC为说明额外遗失包的遗失包隐藏或重构的图。图IOA到IOC说明(例如)PLC情况II。图IOA为说明额外遗失包的检测的图。举例来说,包遗失检测器106可检测(1050)额外遗失包1098。举例来说,电子装置102可能已针对前一遗失包产生隐藏或重构的包或帧1092a。在隐藏或重构的包或帧1092a之后,电子装置102可检测(1050)额外遗失包1098。图IOB为说明使用来自最后音高周期的若干样本来隐藏或重构额外遗失包或帧1098的图。举例来说,电子装置102可能先前已确定历史缓冲器中的最后音高周期1058 (其可能已用以产生隐藏包或帧1092b)。电子装置102可使用(1094)来自最后音高周期1058的若干样本用于额外遗失包。举例来说,电子装置102可将来自最后音高周期1058的样本复制或放置到额外遗失包1098中。可视需要将重复的最后音高周期1058或来自最后音高周期1058的重复样本复制或放置到额外遗失包或帧1098中,以填充额外遗失包或帧1098。图IOC为说明使隐藏包或帧1092d中的样本衰落(1096)的图。电子装置可使隐藏包或帧1092d的样本衰落(1096)。如本文中所使用,术语“衰落”可指示渐进地减小一系列样本的音量或振幅。举例来说,在一种配置中,电子装置102可使前一隐藏包或帧1092c之后的后续隐藏包或帧1092d中的样本衰落(1096)。在其它配置中,衰落(1096)可开始于 第一隐藏包或帧1092c中,或开始于稍后隐藏包或帧1092(例如,第三隐藏包或帧等)中。图11为说明可用于在子带译码(SBC)解码器中隐藏或重构遗失包的若干模块的一种配置的框图。举例来说,图11说明可在额外遗失包跟随前一遗失包的情况(例如,PLC情况II)下使用的模块。图11中所说明的模块可实施于硬件、软件或两者的组合中。明确地说,图11说明重复音高周期模块1103、子带缓冲器更新模块(在图11中为方便起见说明为“S缓冲器更新”)1105、衰落模块1107及历史缓冲器更新模块1109。重复音高周期模块1103可使用针对第一遗失包确定的最后音高周期或音高分析1101。举例来说,重复音高周期模块1103可将来自最后音高周期的样本重复(例如,复制或放置)到额外遗失包或帧中。可视需要将重复的音高周期或来自最后音高周期的样本复制或放置在额外遗失包或帧中,以填充所述额外遗失包或帧。可通过S缓冲器更新模块1105来更新子带缓冲器。举例来说,可重复子带缓冲器中对应于先前包或帧样本的子带样本。可如上所述针对第一子带进行此操作。可使用渐弱模块1107来渐进地减小额外遗失包或帧中的最后音高周期样本的音量或振幅。这可产生隐藏或重构的包或帧1184。可通过历史缓冲器更新模块1109来更新历史缓冲器(例如,具有重复的最后音高周期样本)。在一种配置中,渐弱可继续进行到其它额外遗失包或帧,直到(例如)音量或振幅达到O为止。可使用渐弱来避免在所得音频信号中造成奇怪的人为噪声。举例来说,随着包/帧隐藏的周期变长,用以隐藏遗漏包或帧的经合成信号可能从真实信号发散。因此,可使用渐弱或衰减来避免造成奇怪声响的人为噪声(例如,因为即使在隔离情况下听起来自然的经合成信号在被拖得过长的情况下也会听起来奇怪)。在一种配置中,第一隐藏包或帧可不使用渐弱或衰减。然而,经合成信号的线性衰减可开始于第二隐藏包或帧的起点处(例如,以每帧20%的衰减率进行)。在此实例配置中,经合成信号在若干隐藏包或帧之后可衰减到零。图12为说明用于在子带译码(SBC)解码器中隐藏或重构遗失包的方法1200的一种配置的流程图。更具体地说,图12说明正确接收及/或解码的包跟随遗失包或帧的情况(例如,PLC情况III)。举例来说,图12中所说明的方法1200可用于跟随隐藏或重构的包或帧的经正确解码的包或帧。
电子装置102可检测(1202)经正确解码的包或帧。举例来说,电子装置102可在包遗失检测器106不指示遗失包的情况下接收及/或解码包或帧。电子装置102可使用(1204)来自最后音高周期的样本用于不合需要的样本范围。举例来说,因为可能先前已将若干个零输入到合成滤波器组110中,所以合成滤波器组110在输入可行或“良好”数据时可展现零状态响应。这可能在经正确解码的包或帧的开始处导致数个或某一范围的不合需要样本。因此,电子装置102可将来自最后音高周期的样本使用(例如,复制或放置)到所述不合需要样本范围中。举例来说,来自最后音高周期的数个样本(例如,先前针对第一遗失包所确定)可代替经正确解码的包或帧中的不合需要样本范围中的样本。电子装置102可将最后音高周期或来自最后音高周期的样本与数个过渡样本重叠相加(1206)。举例来说,过渡样本可为介于不合需要样本与合意经解码样本之间的数个样本。图13A到13B为说明经正确解码的包或帧跟随遗失包或帧的情况的图。举例来说,图13A到13B说明PLC情况III。图13A为说明经正确解码的包或帧的零状态响应1311a的图。举例来说,电子装 置102可能已针对一个或一个以上遗失包或巾贞产生一个或一个以上隐藏或重构的包或中贞1392a。如上所述,电子装置102可将零输入到合成滤波器组110中,以便产生对遗失包或帧的零输入响应。因此,当解码可行或良好包或帧时,合成滤波器组110可能展现经正确解码的包或帧的零状态响应1311a。因此,经正确解码的包或帧可能包括数个不合需要样本1313a、数个过渡样本1315a及数个合意或良好样本1317a。所述零状态响应的开始可能经构造而具有减少(例如,一半)的信息。因此,所述响应的波形可能看起来失真,且可能不能用于解码器或隐藏输出。这些样本可为不合需要样本1313a。随着合成滤波器组110获得更多子带样本,滤波器存储器朝正确或合意输出而逐渐更新。就是说,随着合成滤波器组110越来越接近于输出正确或合意样本1317a,合成滤波器组110输出过渡样本1315a。合成滤波器组110最终输出正确输出或合意样本1317a。因此可在经验上取决于合成滤波器存储器的长度且通过观察波形重构而观察及/或确定三个区。图13B为说明使用来自最后音高周期1358的样本用于经正确解码的包或帧的零状态响应1311b的图。电子装置102可使用(1321)最后音高周期1358的样本用于经正确解码的包或帧的零状态响应1311b。举例来说,电子装置102可能先前已针对第一遗失包确定最后音高周期1358以产生隐藏包或帧1392b。在一种配置中,可使用(1321)来自最后音高周期1358的数个样本来代替数个不合需要样本1313a (或放置于数个不合需要样本1313a的位置中)。所述不合需要样本1313a可能处于(例如)经正确解码的包或帧的零状态响应1311b的开始。电子装置102还可将数个最后音高周期1358的样本与过渡样本1315a重叠相加(1323),以产生经重叠相加样本1319。这些经重叠相加样本1319可处于过渡范围中。合意或良好样本1317b可填充经正确解码的包或帧1311b的剩余部分。图14为说明帧重叠1425的实例的图。图14中所说明的帧重叠1425的实例是在图13的背景下给出。然而,帧重叠1425还可能在图10的背景下发生。举例来说,重复的音高周期可能与包或帧边界重叠(1425)。当此情形发生时,来自先前(例如,隐藏或重构的)包或帧1492中的重复音高周期1427的剩余样本可包括于随后包或帧(例如,零状态响应包/帧1411或额外遗失包/帧1098)的开始处。在图14中所示的实例中,来自隐藏包或帧1492的重复音高周期1427中的一些剩余样本可插入于经正确解码的包或帧的零状态响应1411的“不合需要样本”1413部分内。在这些剩余样本之后,可接着插入额外的重复音高周期样本,并如上文结合图13所述将其与过渡样本1415重叠相加。在此实例中,合意或良好样本1417可填充经正确解码的包或帧的零状态响应1411的剩余部分。图15为说明可用于在子带译码(SBC)解码器中隐藏或重构遗失包的若干模块的一种配置的框图。举例来说,图15说明继遗失包或帧后接收或解码可行或良好包的情况(例如,PLC情况III)。遗失包或帧可能已由电子装置102隐藏或重构。明确地说,图15说明逆量化器1508(在图15中为方便起见说明为“IQ”)、子带缓冲器更新模块1531(在图15中为方便起见说明为“S缓冲器更新”)、合成滤波器组1510(在图15中为方便起见说明为“SFB”)、重叠相加模块1535、重复音高周期模块1539及历史缓冲器更新模块1541。逆量化器1508可使用经剖析的位流1529来产生子带样本。子带样本可由子带缓冲器更新模块1531用以更新子带缓冲器。子带样本还可输入到合成滤波器组1510中。在一种配置中,120个子带样本可以矩阵形式X (k,m)(其中I彡k彡8且I彡m彡15)输入到合成滤波器组1510中。如上所述,当检测到第一遗失包时,可将若干个零输入到合成滤波 器组1510中。因此,当将可行或“良好”子带样本输入到合成滤波器组1510中时,合成滤波器组1510可产生零状态响应1533。如上所述,零状态响应1533的数个初始样本可能为不合需要样本,后面接着数个过渡样本,后面接着数个合意或良好样本。重复音高周期模块1539可使用先前音高分析或来自针对第一遗失包所确定的最后音高周期1501的样本用于零状态响应1533的包或帧。举例来说,电子装置102可用来自最后音高周期1501的样本来代替不合需要样本。电子装置102还可使用重叠相加模块1535来将数个最后音高周期样本1501与数个过渡样本重叠相加。这可产生隐藏包或帧1537。在此情况下,隐藏包或帧1537可能并非遗失包或帧,而可能为可行包或帧的隐藏零状态响应。举例来说,零状态响应1533中的不合需要样本及/或过渡样本可经隐藏或重构。所得隐藏包或帧1537可由历史缓冲器更新模块1541用以更新历史缓冲器。图16说明可用于电子装置1602中的各种组件。所说明的组件可位于同一物理结构内或位于单独外壳或结构内。关于图I所论述的电子装置102可与电子装置1602以类似方式加以配置。电子装置1602包括处理器1649。处理器1649可为通用单芯片或多芯片微处理器(例如,ARM)、专用微处理器(例如,数字信号处理器(DSP))、微控制器、可编程门阵列等。处理器1649可称为中央处理单元(CPU)。虽然仅单个处理器1649展示于图16的电子装置1602中,但在替代配置中,可使用处理器的组合(例如,ARM与DSP)。电子装置1602还包括与处理器1649电子通信的存储器1643。就是说,处理器1649可从存储器1643读取信息及/或将信息写入到存储器1643。存储器1643可为能够存储电子信息的任何电子组件。存储器1643可为随机存取存储器(RAM)、只读存储器(ROM)、磁盘存储媒体、光学存储媒体、RAM中的快闪存储器装置、与处理器一起包括在内的机载存储器、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除PROM (EEPROM)、寄存器等,包括其组合。 数据1647a及指令1645a可存储在存储器1643中。指令1645a可包括一个或一个以上程序、例程、子例程、函数、过程、代码等。指令1645a可包括单个计算机可读语句或许多计算机可读语句。指令1645a可由处理器1649执行以实施上文描述的方法400、600、900、1200。执行指令1645a可涉及使用存储在存储器1643中的数据1647a。图16展示正加载到处理器1649中的一些指令1645b及数据1647b。电子装置1602还可包括用于与其它电子装置通信的一个或一个以上通信接口1651。通信接口 1651可基于有线通信技术、无线通信技术,或两者。不同类型的通信接口1651的实例包括串行端口、并行端口、通用串行总线(USB)、以太网适配器、IEEE 1394总线接口、小型计算机系统接口(SCSI)总线接口、红外线(IR)通信端口、蓝牙无线通信适配器
坐寸ο电子装置1602还可包括一个或一个以上输入装置1653及一个或一个以上输出装置1655。不同种类的输入装置1653的实例包括键盘、鼠标、麦克风、远程控制装置、按钮、操纵杆、轨迹球、触摸板、光笔等。不同种类的输出装置1655的实例包括扬声器、打印机等。通常可包括于电子装置1602中的一种特定类型的输出装置为显示装置1657。结合本文中所揭示的配置使用的显示装置1657可利用任何合适的图像投影技术,例如阴极射线管(CRT)、液晶显示器(IXD)、发光二极管(LED)、气体等离子体、电致发光等。显示控制器1659 还可经提供以用于将存储在存储器1643中的数据转换为在显示装置1657上展示的文字、图形及/或移动图像(适当时)。电子装置1602的各组件可通过一个或一个以上总线耦合在一起,所述一个或一个以上总线可包括电力总线、控制信号总线、状态信号总线、数据总线等。为简单起见,将各种总线在图16中说明为总线系统1661。应注意,图16说明电子装置1602的仅一个可能配置。可利用各种其它架构及组件。图17说明可包括于无线通信装置1702中的某些组件。先前所描述的无线通信装置202、222、302可与图17中所展示的无线通信装置1702以类似方式加以配置。无线通信装置1702包括处理器1749。处理器1749可为通用单芯片或多芯片微处理器(例如,ARM)、专用微处理器(例如,数字信号处理器(DSP))、微控制器、可编程门阵列等。处理器1749可称为中央处理单元(CPU)。虽然仅单个处理器1749展示于图17的无线通信装置1702中,但在替代配置中,可使用处理器的组合(例如,ARM与DSP)。无线通信装置1702还包括与处理器1749电子通信的存储器1743( S卩,处理器1749可从存储器1743读取信息及/或将信息写入到存储器1743)。存储器1743可为能够存储电子信息的任何电子组件。存储器1743可为随机存取存储器(RAM)、只读存储器(ROM)、磁盘存储媒体、光学存储媒体、RAM中的快闪存储器装置、与处理器一起包括在内的机载存储器、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除PROM (EEPROM)、寄存器等,包括其组合。数据1747a及指令1745a可存储在存储器1743中。指令1745a可包括一个或一个以上程序、例程、子例程、函数、过程等。指令1745a可包括单个计算机可读语句或许多计算机可读语句。指令1745a可由处理器1749执行以实施上文描述的方法400、600、900、1200。执行指令1745a可涉及使用存储在存储器1743中的数据1747a。图17展示加载到处理器1749中的一些指令1745b及数据1747b。无线通信装置1702还可包括发射器1767及接收器1769,以允许在无线通信装置1702与远程位置(例如,基站或其它无线通信装置)之间发射及接收信号。发射器1767及接收器1769可统称为收发器1765。天线1763可电耦合到收发器1765。无线通信装置1702还可包括(未图示)多个发射器、多个接收器、多个收发器及/或多个天线。
无线通信装置1702的各组件可通过一个或一个以上总线耦合在一起,所述一个或一个以上总线可包括电力总线、控制信号总线、状态信号总线、数据总线等。为简单起见,将各种总线在图17中说明为总线系统1761。图18说明可包括于基站1828内的某些组件。先前论述的基站328可与图18中展示的基站1828以类似方式加以配置。基站1828包括处理器1885。处理器1885可为通用单芯片或多芯片微处理器(例如,ARM)、专用微处理器(例如,数字信号处理器(DSP))、微控制器、可编程门阵列等。处理器1885可称为中央处理单元(CPU)。虽然仅单个处理器1885展示于图18的基站1828中,但在替代配置中,可使用处理器的组合(例如,ARM与DSP)。基站1828还包括与处理器1885电子通信的存储器1871( S卩,处理器1885可从存储器1871读取信息及/或将信息写入到存储器1871)。存储器1871可为能够存储电子信息的任何电子组件。存储器1871可为随机存取存储器(RAM)、只读存储器(ROM)、磁盘存储媒体、光学存储媒体、RAM中的快闪存储器装置、与处理器一起包括在内的机载存储器、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除PROM(EEPROM)、寄存器 等,包括其组合。数据1873a及指令1875a可存储在存储器1871中。指令1875a可包括一个或一个以上程序、例程、副例程、函数、过程等。指令1875a可包括单个计算机可读语句或许多计算机可读语句。指令1875a可由处理器1885执行。执行指令1875a可涉及使用存储在存储器1871中的数据1873a。图18展示加载到处理器1885中的一些指令1875b及数据1873b。基站1828还可包括发射器1881及接收器1883,以允许在基站1828与远程位置(例如,无线通信装置)之间发射及接收信号。发射器1881及接收器1883可统称为收发器1879。天线1877可电耦合到收发器1879。基站1828还可包括(未图示)多个发射器、多个接收器、多个收发器及/或多个天线。基站1828的各组件可通过一个或一个以上总线耦合在一起,所述一个或一个以上总线可包括电力总线、控制信号总线、状态信号总线、数据总线等。为简单起见,将各种总线在图18中说明为总线系统1887。在上文描述中,有时结合各种术语使用参考数字。在结合参考数字使用术语的情况下,这可意味着指代在所述图中的一者或一者以上中展示的特定元件。在无参考数字而使用术语的情况下,这可意味着大体上指代不限于任一特定图的术语。术语“确定”涵盖多种动作,且因此,“确定”可包括推算、计算、处理、导出、调查、查找(例如,在表、数据库或另一数据结构中查找)、查明及其类似动作。并且,“确定”可包括接收(例如,接收信息)、存取(例如,存取存储器中的数据)等。并且,“确定”可包括解析、选择、挑选、确立等。除非另有明确指定,否则词组“基于”不表示“仅基于”。换句话说,词组“基于”描述“仅基于”与“至少基于”两者。本文中所描述的功能可存储为处理器可读媒体或计算机可读媒体上的一个或一个以上指令。术语“计算机可读媒体”指代可由计算机或处理器存取的任何可用媒体。作为实例而非限制,此媒体可包含RAM、ROM、EEPR0M、快闪存储器、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。如本文中所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及Blu-ray 光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。应注意,计算机可读媒体可为有形且非暂时的。术语“计算机程序产品”指代与可由计算装置或处理器执行、处理或计算的代码或指令(例如,“程序”)组合的计算装置或处理器。如本文中所使用,术语“代码”可指代可由计算装置或处理器执行的软件、指令、代码或数据。还可在传输媒体上传输软件或指令。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或无线技术(例如,红外线、无线电及微波)从网站、服务器或其它远程源传输软件,那么将同轴电缆、光纤缆线、双绞线、DSL或无线技术(例如,红外线、无线电及微波)包括于传输媒体的定义中。本文中所揭示的方法包含用于实现所描述方法的一个或一个以上步骤或动作。方法步骤及/或动作可在不脱离所附权利要求书的范围的情况下彼此互换。换句话说,除非 正加以描述的方法的适当操作需要特定的步骤或动作次序,否则,在不脱离所附权利要求书的范围的情况下,可修改特定步骤及/或动作的次序及/或使用。将理解,所附权利要求书不限于以上所说明的精确配置及组件。在不脱离所附权利要求书的范围的情况下,可在本文中所描述的系统、方法及设备的布置、操作及细节方面作出各种修改、改变及变化。
权利要求
1.一种用于在子带译码SBC解码器中重构遗失包的电子装置,其包含 处理器; 与所述处理器电子通信的存储器; 存储在所述存储器中的指令,所述指令可执行以 检测遗失包; 获得合成滤波器组的零输入响应; 获得粗略首闻估计; 基于所述零输入响应及所述粗略首闻估计获得精细首闻估计; 基于所述精细首闻估计选择最后首闻周期;且 将来自所述最后音高周期的样本用于所述遗失包。
2.根据权利要求I所述的电子装置,其中所述粗略音高估计是通过计算子带样本的自相关而获得。
3.根据权利要求2所述的电子装置,其中所述子带样本尚未经合成。
4.根据权利要求I所述的电子装置,其中所述指令进一步可执行以将来自所述最后音高周期的所述样本中的至少一些样本与所述零输入响应重叠相加。
5.根据权利要求I所述的电子装置,其中所述精细音高估计是通过计算所述零输入响应与先前解码的样本的相关而获得。
6.根据权利要求I所述的电子装置,其中所述指令可进一步执行以 检测额外遗失包;且 将来自所述最后音高周期的样本用于所述额外遗失包。
7.根据权利要求6所述的电子装置,其中所述指令可进一步执行以使来自所述最后音高周期的所述样本衰落。
8.根据权利要求6所述的电子装置,其中所述指令可进一步执行以将来自所述最后音高周期的样本用于多个额外遗失包。
9.根据权利要求I所述的电子装置,其中所述指令可进一步执行以 检测经正确解码的包或帧; 将来自所述最后音高周期的样本用于某一范围的不合需要样本;且 将来自所述最后音高周期的样本与过渡样本重叠相加。
10.根据权利要求I所述的电子装置,其中将来自所述最后音高周期的所述样本用于所述遗失包包含将所述样本复制到所述遗失包中。
11.根据权利要求I所述的电子装置,其中所述SBC解码器用以解码宽带语音信号。
12.根据权利要求I所述的电子装置,其中所述电子装置为无线通信装置。
13.根据权利要求12所述的电子装置,其中所述无线通信装置为蓝牙装置。
14.根据权利要求I所述的电子装置,其中与通过所述SBC解码器解码可行包相比,无额外延迟用于重构所述遗失包。
15.一种用于在子带译码SBC解码器中重构遗失包的方法,其包含 检测遗失包; 在电子装置上获得合成滤波器组的零输入响应; 获得粗略首闻估计;在所述电子装置上基于所述零输入响应及所述粗略音高估计获得精细音高估计; 基于所述精细首闻估计选择最后首闻周期;及 将来自所述最后音高周期的样本用于所述遗失包。
16.根据权利要求15所述的方法,其中通过计算子带样本的自相关而获得所述粗略音闻估计。
17.根据权利要求16所述的方法,其中所述子带样本尚未经合成。
18.根据权利要求15所述的方法,其进一步包含将来自所述最后音高周期的所述样本中的至少一些样本与所述零输入响应重叠相加。
19.根据权利要求15所述的方法,其中通过计算所述零输入响应与先前解码的样本的相关而获得所述精细首闻估计。
20.根据权利要求15所述的方法,其进一步包含 检测额外遗失包 '及 将来自所述最后音高周期的样本用于所述额外遗失包。
21.根据权利要求20所述的方法,其进一步包含使来自所述最后音高周期的所述样本衰落。
22.根据权利要求20所述的方法,其进一步包含将来自所述最后音高周期的样本用于多个额外遗失包。
23.根据权利要求15所述的方法,其进一步包含 检测经正确解码的包或帧; 将来自所述最后音高周期的样本用于某一范围的不合需要样本;及 将来自所述最后音高周期的样本与过渡样本重叠相加。
24.根据权利要求15所述的方法,其中将来自所述最后音高周期的所述样本用于所述遗失包包含将所述样本复制到所述遗失包中。
25.根据权利要求15所述的方法,其中使用所述SBC解码器来解码宽带语音信号。
26.根据权利要求15所述的方法,其中所述电子装置为无线通信装置。
27.根据权利要求26所述的方法,其中所述无线通信装置为蓝牙装置。
28.根据权利要求15所述的方法,其中与通过所述SBC解码器解码可行包相比,无额外延迟用于重构所述遗失包。
29.一种用于在子带译码SBC解码器中重构遗失包的计算机程序产品,所述计算机程序产品包含上面具有指令的非暂时有形计算机可读媒体,所述指令包含 用于致使电子装置检测遗失包的代码; 用于致使所述电子装置获得合成滤波器组的零输入响应的代码; 用于致使所述电子装置获得粗略音高估计的代码; 用于致使所述电子装置基于所述零输入响应及所述粗略音高估计获得精细音高估计的代码; 用于致使所述电子装置基于所述精细音高估计选择最后音高周期的代码;及 用于致使所述电子装置将来自所述最后音高周期的样本用于所述遗失包的代码。
30.根据权利要求29所述的计算机程序产品,其中所述粗略音高估计是通过计算子带样本的自相关而获得。
31.根据权利要求29所述的计算机程序产品,所述指令进一步包含 用于致使所述电子装置检测额外遗失包的代码;及 用于致使所述电子装置将来自所述最后音高周期的样本用于所述额外遗失包的代码。
32.根据权利要求29所述的计算机程序产品,所述指令进一步包含 用于致使所述电子装置检测经正确解码的包或帧的代码; 用于致使所述电子装置将来自所述最后音高周期的样本用于某一范围的不合需要样本的代码 '及 用于致使所述电子装置将来自所述最后音高周期的样本与过渡样本重叠相加的代码。
33.一种用于在子带译码SBC解码器中重构遗失包的设备,其包含 用于检测遗失包的装置; 用于获得合成滤波器组的零输入响应的装置; 用于获得粗略音高估计的装置; 用于基于所述零输入响应及所述粗略音高估计获得精细音高估计的装置; 用于基于所述精细音高估计选择最后音高周期的装置;及 用于将来自所述最后音高周期的样本用于所述遗失包的装置。
34.根据权利要求33所述的设备,其中所述粗略音高估计是通过计算子带样本的自相关而获得。
35.根据权利要求33所述的设备,其进一步包含 用于检测额外遗失包的装置;及 用于将来自所述最后音高周期的样本用于所述额外遗失包的装置。
36.根据权利要求33所述的设备,其进一步包含 用于检测经正确解码的包或帧的装置; 用于将来自所述最后音高周期的样本用于某一范围的不合需要样本的装置;及 用于将来自所述最后音高周期的样本与过渡样本重叠相加的装置。
全文摘要
本发明描述一种用于在子带译码SBC解码器中重构遗失包的电子装置。所述电子装置包括处理器及存储在存储器中的指令。所述电子装置检测遗失包、获得合成滤波器组的零输入响应,且获得粗略音高估计。所述电子装置还基于所述零输入响应及所述粗略音高估计获得精细音高估计。所述电子装置基于所述精细音高估计选择最后音高周期,且将来自所述最后音高周期的样本用于所述遗失包。
文档编号G10L19/00GK102754150SQ201180008998
公开日2012年10月24日 申请日期2011年2月10日 优先权日2010年2月11日
发明者刘尚忆, 朴勋真, 杰洛米·P·托曼, 阿米特·夏尔马 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1