基于冗余的包传输错误恢复的系统和方法与流程

文档序号:11162010阅读:596来源:国知局
基于冗余的包传输错误恢复的系统和方法与制造工艺

本申请案主张2014年7月31日递交的标题为“基于冗余的包传输错误恢复的系统和方法(SYSTEM AND METHOD OF REDUNDANCY BASED PACKET TRANSMISSION ERROR RECOVERY)”的第62/031,675号美国临时专利申请案的优先权,所述申请案的内容以全文引用的方式并入本文中。

技术领域

本发明大体上涉及基于冗余的包传输错误恢复。



背景技术:

技术的进步已经产生了更小且更强大的计算装置。举例来说,当前存在各种便携式个人计算装置,包括无线计算装置,例如较小、轻重量且易于由用户携带的便携式无线电话、个人数字助理(PDA)和寻呼装置。更具体地说,便携式无线电话,例如蜂窝电话和因特网协议(IP)电话,可经由无线网络传送话音和数据包。另外,许多此类无线电话包括并入其中的其它类型的装置。举例来说,无线电话还可包括数字静态相机、数码摄像机、数字记录器和音频文件播放器。并且,此类无线电话可处理可执行指令,包括软件应用程序,例如可用以接入因特网的网络浏览器应用程序。因而,这些无线电话可以包括相当大的计算能力。

通过数字技术传输话音是普遍的,尤其在长距离和数字无线电电话应用中。可存在确定对可经由信道发送的最少量的信息同时维持经重构语音的感知质量的关注。如果通过取样和数字化来传输语音,那么可使用约六十四千位每秒(kbps)的数据速率来实现模拟电话的语音质量。通过在接收器处使用语音分析,接着译码、发射和重新合成,可实现数据速率的显著减小。

用于压缩语音的装置可用于许多电信领域中。示例性领域为无线通信。无线通信的领域具有许多应用,包括(例如)无绳电话、寻呼、无线本地回路、例如蜂窝式和个人通信服务(PCS)电话系统的无线电话、移动因特网协议(IP)电话和卫星通信系统。特定应用是用于移动订户的无线电话。

已开发用于无线通信系统的各种空中接口,包括(例如)频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA)及时分同步CDMA(TD-SCDMA)。在与其的连接中,已经建立各种国内和国际标准,包括例如高级移动电话服务(AMPS)、全球移动通信系统(GSM)和过渡标准95(IS-95)。示例性无线电话通信系统为码分多址(CDMA)系统。IS-95标准及其衍生标准、IS-95A、ANSI J-STD-008和IS-95B(本文中共同称作IS-95)由电信行业协会(TIA)和其它公认标准机构颁布以指定CDMA空中接口针对蜂窝式或PCS电话通信系统的使用。

IS-95标准随后演进成例如cdma2000和WCDMA的“3G”系统,所述“3G”系统提供更大容量和高速包数据服务。cdma2000的两个变体由TIA发布的文献IS-2000(cdma2000 1xRTT)和IS-856(cdma2000 1xEV-DO)呈现。cdma2000 1xRTT通信系统提供153kbps的峰值数据速率,而cdma2000 1xEV-DO通信系统定义范围介于38.4kbps到2.4Mbps的一组数据速率。WCDMA标准实施于第三代合作伙伴计划“3GPP”文献3G TS 25.211、3G TS 25.212、3G TS 25.213和3G TS 25.214中。国际移动电信高级(IMT-高级)规范陈述“4G”标准。对于高移动性通信(例如,来自火车和汽车),高级IMT规范设定100兆位/秒(Mbit/s)的峰值数据速率用于4G服务,且对于低移动性通信(例如,来自行人和静止用户),高级IMT规范设定1千兆位/秒(Gbit/s)的峰值数据速率用于4G服务。

使用通过提取关于人类语音生成模型的参数来压缩语音的技术的装置被称为语音译码器。语音译码器可包括编码器和解码器。编码器将传入语音信号划分成时间块或分析帧。可将每一时间区段(或“帧”)的持续时间选择为足够短,使得可预期信号的频谱包络保持相对固定。举例来说,一个帧长度为二十毫秒,其对应于八千赫兹(kHz)采样速率下的160个样本,不过可使用认为适用于特定应用的任何帧长度或采样速率。

编码器分析传入语音帧以提取某些相关参数,且随后将所述参数量化成二进制表示(例如,一组位或二进制数据包)。数据包通过通信信道(即,有线和/或无线网络连接)传输至接收器及解码器。解码器处理所述数据包、去量化经处理的数据包以产生参数,并使用经去量化参数来重新合成语音帧。

语音译码器的功能是通过去除语音中固有的自然冗余来将经数字化的语音信号压缩成低位速率信号。可通过用一组参数表示输入语音帧且采用量化来用一组位表示所述参数来实现数字压缩。如果输入语音帧具有若干位Ni,且语音译码器产生的数据包具有若干位No,那么语音译码器所实现的压缩因子是Cr=Ni/No。挑战是在实现目标压缩因子的同时保留经解码语音的高话音质量。语音译码器的性能取决于:(1)语音模型或上文所描述的分析及合成过程的组合执行得有多好,以及(2)在No位/帧的目标位速率下参数量化过程执行得有多好。因此,语音模型的目标是在每一帧具有较小一组参数的情况下,捕获语音信号的本质或目标语音质量。

语音译码器通常利用一组参数(包含向量)来描述语音信号。良好的一组参数为感知上准确的语音信号的重构理想地提供低系统带宽。音调、信号功率、谱包络(或共振峰)、振幅和相谱是语音译码参数的实例。

语音译码器可实施为时域译码器,其试图通过采用高时间分辨率处理以一次编码较小语音片段(例如,5毫秒(ms)的子帧)来捕获时域语音波形。对于每一子帧,借助于搜寻算法来找出来自码簿空间的高精确代表。替代地,语音译码器可实施为频域译码器,其试图用一组参数(分析)来捕获输入语音帧的短期语音谱,并采用对应的合成过程来从谱参数中再造语音波形。参数量化器通过根据已知量化技术用代码向量的所存储表示来表示参数而保留所述参数。

一种时域语音译码器是代码激发线性预测性(CELP)译码器。在CELP译码器中,通过线性预测(LP)分析(其找出短期共振峰滤波器的系数)来去除语音信号中的短期相关性或冗余。将短期预测滤波器应用于传入语音帧生成LP残差信号,用长期预测滤波器参数和后续随机码簿对所述LP残差信号进行进一步模型化和量化。因此,CELP译码将编码时域语音波形的任务划分成编码LP短期滤波器系数和编码LP残差的单独的任务。可以固定速率(即,针对每一帧使用相同位数No)或以可变速率(其中针对不同类型的帧内容使用不同的位速率)执行时域译码。可变速率译码器尝试使用将编解码器参数编码到足以获得目标质量的层级所需要的位的量。

例如CELP译码器等时域译码器可依靠每帧的高位数N0来保留时域语音波形的准确性。假如每帧的位数No相对较大(例如,8kbps或以上),那么此类译码器可传递极好的话音质量。在低位速率(例如,4kbps及以下)时,归因于有限的可供使用的位的数目,时域译码器可能无法保持高质量及稳健性能。在低位速率下,受限码簿空间削减在较高速率商业应用中所部署的时域译码器的波形匹配能力。因此,尽管随时间推移而改进,以低位速率操作的许多CELP译码系统仍遭受被表征为噪声的感知上显著的失真。

低位速率下的CELP译码器到替代方案是“噪声激发线性预测性”(NELP)译码器,其在与CELP译码器类似的原理下操作。NELP译码器使用经滤波伪随机噪声信号而非码簿来模型化语音。由于NELP针对经译码语音使用较简单的模型,因此NELP实现比CELP低的位速率。NELP可用于压缩或表示无声语音或静音。

在约2.4kbps的速率下操作的译码系统在本质上大体上是参数的。也就是说,此类译码系统通过以规则间隔传输描述语音信号的音调周期和谱包络(或共振峰)的参数来操作。LP声码器系统对于这些所谓的参数性译码器具说明性。

LP声码器以每音调周期单个脉冲来模型化有声语音信号。此基本技术可经扩增以包括传输关于谱包络的信息等等。尽管LP声码器一般来说提供合理的性能,但它们可能引入表征为蜂音的感知上显著的失真。

近年来,已出现了作为波形译码器和参数译码器两者的混合的译码器。这些所谓的混合译码器中的说明性混合译码器是原型波形内插(PWI)语音译码系统。PWI译码系统还可被称为原型音调周期(PPP)语音译码器。PWI译码系统提供用于译码有声语音的高效方法。PWI的基本概念是以固定间隔提取代表性音调循环(原型波形),传输其描述,以及通过原型波形之间的内插来重构语音信号。PWI方法可在LP残差信号或所述语音信号上操作。

例如无线电话等电子装置可经由网络发送和接收数据。举例来说,可经由电路交换网络(例如,公共交换电话网络(PSTN)、全球移动通信系统(GSM)网络等)或包交换网络(例如,因特网协议话音(VoIP)网络、长期演进话音(VoLTE)网络等)发送和接收音频数据。在包交换网络中,音频包可个体地从源装置路由到目的地装置。由于网络条件,音频包可能无序地到达。目的地装置可在去抖动缓冲器中存储接收到的包,并且如果接收到的包是无序的,那么可重新布置接收到的包。

目的地装置可基于接收到的包,重构数据。由源装置发送的特定包可能不会被目的地装置接收到,或可能被目的地装置错误地接收到。目的地装置可能不能够恢复与特定包相关联的数据的全部或一部分。目的地装置可基于不完整的包,重构数据。基于不完整的包重构的数据可能具有不利地影响用户体验的降级的质量。替代地,目的地装置可以请求源装置重新传输特定包并且在等待接收重新传输的包的同时可以延迟重构。与请求重新传输和基于重新传输的包重构数据相关联的延迟可以是用户可察觉的并且可以引起负面的用户体验。



技术实现要素:

在特定方面中,一种装置包括接收器、缓冲器和分析仪。所述接收器经配置以接收多个包。所述多个包对应于包序列的至少一个子集。所述多个包包括错误校正数据。所述多个包中的第一包的错误校正数据包括所述多个包中的第二包的部分副本。所述缓冲器经配置以存储所述多个包。所述分析仪经配置以确定包序列的第一特定包是否从缓冲器中漏失,以确定第一特定包的部分副本是否作为第二特定包中的错误校正数据存储在缓冲器中,以至少部分地基于第一特定包是否从缓冲器中漏失以及第一特定包的部分副本是否存储在缓冲器中而确定值,并且以至少部分地基于所述值调整错误恢复参数。

在另一特定的方面中,方法包括在第一装置处接收多个包。所述多个包对应于包序列的至少一个子集。所述多个包包括错误校正数据。所述多个包的第一包的错误校正数据包括第二包的部分副本。所述方法还包括确定所述包序列中的特定包是否从缓冲器中漏失,且确定所述特定包的部分副本是否作为另一包中的错误校正数据存储在所述缓冲器中。所述方法进一步包括至少部分地基于所述特定包是否从缓冲器中漏失以及所述特定包的部分副本是否存储在缓冲器中而确定值且至少部分地基于所述值调整错误恢复参数。

在另一特定的方面中,计算机可读存储装置存储指令,在由处理器执行所述指令时使得所述处理器执行包括接收多个包的操作,所述多个包对应于包序列的至少一个子集。所述多个包包括错误校正数据。所述多个包的第一包的错误校正数据包括第二包的部分副本。所述操作还包括确定所述包序列中的特定包是否从缓冲器中漏失,且确定所述特定包的部分副本是否作为另一包中的错误校正数据存储在所述缓冲器中。所述操作进一步包括至少部分地基于所述特定包是否从缓冲器中漏失以及所述特定包的部分副本是否存储在缓冲器中而确定值且至少部分地基于所述值调整错误恢复参数。

本发明的其它方面、优点和特征将在审阅全部申请案之后变得显而易见,所述全部申请案包含以下章节:附图说明、具体实施方式和权利要求书。

附图说明

图1是可操作以执行基于冗余的包传输错误恢复的系统的特定说明性方面的方块图;

图2是基于冗余的包传输错误恢复的方法的特定的方面的图;

图3是基于冗余的包传输错误恢复的方法的另一特定方面的图;

图4是基于冗余的包传输错误恢复的方法的另一特定的方面的图,且可对应于图3的302;

图5是可操作以执行基于冗余的包传输错误恢复的系统的另一特定的方面的图;

图6是说明基于冗余的包传输错误恢复的特定方法的流程图;

图7是说明基于冗余的包传输错误恢复的另一特定方法的流程图;

图8是说明基于冗余的包传输错误恢复的另一特定方法的流程图;以及

图9是可操作以执行基于冗余的包传输错误恢复的装置的特定说明性方面的方块图。

具体实施方式

本文中描述的原理可以应用到例如头戴式耳机、手机、其它音频装置或经配置以执行基于冗余的包传输错误恢复的装置的组件。除非通过其上下文明确限制,否则在本文中使用术语“信号”来指示其一般含义中的任一者,包括如在导线、总线或其它传输媒体上表达的存储器位置的状态(或存储器位置的集合)。除非通过其上下文明确地限制,否则在本文中使用术语“产生”来指示其一般含义中的任一者,例如计算或以其它方式产生。除非通过其上下文明确地限制,否则在本文中使用术语“计算”来指示其一般含义中的任一者,例如计算、评估、估计和/或从多个值中选择。除非通过其上下文明确地限制,否则使用术语“获得”来指示其一般含义中的任一者,例如,计算、导出、接收(例如,从另一组件、块或装置),和/或检索(例如,从存储器寄存器或存储元件的阵列)。

除非通过其上下文明确地限制,否则使用术语“产生”来指示其一般含义中的任一者,例如计算、产生和/或提供。除非通过其上下文明确地限制,否则使用术语“提供”来指示其一般含义中的任一者,例如计算、产生和/或生成。除非通过其上下文明确地限制,否则使用术语“耦合”来指示直接或间接的电或物理连接。如果连接是间接的,那么所属领域的技术人员将充分理解,正“耦合”的结构之间可存在其它块或组件。

术语“配置”可参考如通过其特定上下文指示的方法、设备/装置和/或系统来使用。在本发明描述及权利要求书中使用术语“包括”时,并不排除其它元件或操作。使用术语“基于”(如在“A基于B”中)来指示其一般含义中的任一者,包括情况(i)“至少基于”(例如“A至少基于B”),以及(如果在特定上下文中合适)(ii)“等于”(例如“A等于B”)。在其中A基于B包括至少基于的情况(i)下,这可以包括其中A耦合到B的配置。类似地,使用术语“响应于”来指示其普通含义中的任一者,包括“至少响应于”。使用术语“至少一个”来指示其普通含义中的任一者,包括“一或多个”。使用术语“至少两个”来指示其普通含义中的任一者,包括“两个或大于两个”。

除非特定上下文另有指示,否则术语“设备”与“装置”也通用地且可互换地使用。除非另有指示,否则对具有特定特征的设备的操作的任何揭示内容还明确地意图揭示具有类似特征的方法(且反之亦然),且对根据特定配置的设备的操作的任何揭示内容还明确地意图揭示根据类似配置的方法(且反之亦然)。除非特定上下文另有指示,否则术语“方法”、“过程”、“程序”及“技术”通用地且可互换地使用。术语“元件”和“模块”可用于指示较大配置的一部分。术语“包”可以对应于一或多个帧。通过参考文献的一部分的任何并入也应理解为并入了在所述部分内参考的术语或变量的定义,其中此类定义出现在文献中的其它地方,以及并入了在所并入部分中参考的任何图。

如本文所使用,术语“通信装置”是指可用于经由无线通信网路进行话音和/或数据通信的电子装置。通信装置的实例包括蜂窝式电话、个人数字助理(PDA)、手持式装置、耳机、无线调制解调器、膝上型计算机、个人计算机等。

参考图1,揭示了可操作以执行基于冗余的错误恢复的系统的特定说明性方面,且该系统通常标示为100。系统100可以包括目的地装置102,该目的地装置经由网络190与一或多个其它装置(例如,源装置104)通信。源装置104可以包括麦克风146或可以耦合到麦克风146。目的地装置102可以包括扬声器142或可以耦合到扬声器142。目的地装置102可以包括分析仪122,所述分析仪122耦合到存储器176或与存储器176通信。目的地装置102可以包括接收器124、发射器192、缓冲器126、语音解码器156或其组合。存储器176可经配置以存储分析数据120。分析数据120可以包括检索到的部分副本计数106、丢失包的计数114、重新传输计数154、质量度量128、递增阈值136、递减阈值138、递增量140、递减量150、结果值118、错误恢复参数108或其组合。错误恢复参数108可以包括缓冲深度110、重新传输阈值112或这两者。

目的地装置102可以包括与在图1中所说明的相比更少或更多的组件。举例来说,目的地装置102可以包括一或多个处理器、一或多个存储器单元或这两者。目的地装置102网络连接的或分布式计算系统。举例来说,存储器176可以是网络连接的或分布式存储器。在特定的说明性方面中,目的地装置102可以包括通信装置、解码器、智能电话、蜂巢式电话、移动通信装置、膝上型计算机、计算机、平板计算机、个人数字助理(PDA)、机顶盒、视频播放器、娱乐单元、显示装置、电视、游戏控制台、音乐播放器、无线电、数字视频播放器、数字视频光盘(DVD)播放器、调谐器、相机、导航装置或其组合。此类装置可以包括用户接口(例如,触摸屏、话音辨识能力或其它用户接口能力)。

在操作期间,第一用户152可参与与第二用户194的话音呼叫。第一用户152可使用目的地装置102且第二用户194可使用源装置104来进行话音呼叫。在话音呼叫期间,第二用户194可向与源装置104相关联的麦克风146中说话。输入语音信号130可以对应于第二用户194说出的词语的一部分、一个词语或多个词语。举例来说,输入语音信号130可以包括第一数据164和第二数据166。源装置104可以经由麦克风146从第二用户194接收输入语音信号130。在特定方面,麦克风146可以捕获音频信号并且模/数转换器(ADC)可以将所捕获的音频信号从模拟波形转换成由数字音频样本组成的数字波形。数字音频样本可由数字信号处理器处理。增益调整器可通过增大或减小音频信号的振幅电平(例如,模拟波形或数字波形)来调整(例如,模拟波形或数字波形的)增益。增益调整器可在模拟或数字域中操作。举例来说,增益调整器可在数字域中操作,且可调整模/数转换器所产生的数字音频样本。在增益调整之后,回声消除器可减少可能已因扬声器的输出进入麦克风146而产生的回声。数字音频样本可由声码器(话音编码器-解码器)“压缩”。回声消除器的输出端可以耦合到声码器预处理块,例如,滤波器、噪声处理器、速率转换器等。声码器的编码器可以压缩数字音频样本并且形成包序列(例如,第一包132和第二包134)。包序列中的每一个可以包括数字音频样本的压缩位的表示。举例来说,第一包132与第二包134相比可以在包序列中较早。为了说明,第一包132可以包括对应于特定音频帧(例如,音频帧N)的第一数据164且第二包134可以包括对应于随后的音频帧(例如,音频帧N+2)的第二数据166。

在特定方面中,随后的包(例如,第二包134)还可以包括可用于重构前一音频帧(例如,音频帧N)的冗余数据(例如,第一包132的部分副本)。举例来说,第二包134可以包括对应于第一数据164的至少一部分的第一部分副本174。在特定方面中,冗余数据(例如,第一部分副本174)可以对应于“关键”语音帧。举例来说,关键语音帧的丢失可以造成在目的地装置102处产生的处理过的语音信号的音频质量的用户可察觉的降级。

在特定方面中,源装置104和目的地装置102可以在恒定位速率(例如,每秒13.2千位(kbps))信道上操作。在这个方面中,对应于主要数据(例如,第二数据166)的主要帧位速率可以减小(例如,减小到9.6kbps)以接纳冗余数据(例如,第一部分副本174)。举例来说,恒定位速率的剩余的位速率(例如,3.6kbps)可以对应于冗余数据。在特定方面中,取决于输入语音信号130的特性主要帧位速率的减少可以在源装置104处执行以减小对总体语音质量的影响。

包序列(例如,包132和134)可以存储于可以与源装置104的处理器共享的存储器中。处理器可以是与数字信号处理器通信的控制处理器。

源装置104可以经由网络190将包序列(例如,第一包132、第二包134或这两者)传输到目的地装置102。举例来说,源装置104可以包括收发器。收发器可以调制某一形式的包序列(例如,其它信息可以附加到包132和134)。收发器可以在空中经由天线发送调制过的信息。

目的地装置102的分析仪122可以接收包序列的一或多个包(例如,第一包132、第二包134或这两者)。举例来说,目的地装置102的天线可以接收包括第一包132、第二包134或这两者的某一形式的传入包。第一包132、第二包134或这两者可以是在目的地装置102处通过声码器的解码器“未经压缩的”。未经压缩的波形可被称作经重构音频样本。经重构的音频样本可以通过声码器后处理块后处理并且回声消除器可以基于经重构的音频样本去除回声。为清楚起见,声码器的解码器和声码器后处理块可被称为声码器解码器模块。在一些配置中,可以通过分析仪122处理回声消除器的输出。替代地,在其它配置中,可以通过分析仪122处理声码器解码器模块的输出。

分析仪122可以存储通过目的地装置102在缓冲器126(例如,去抖动缓冲器)中接收的包(例如,第一包132、第二包134或这两者)。在特定方面中,包可以在目的地装置102处无序地接收。如果包是无序的,那么分析仪122可以重新排序缓冲器126中的一或多个包。通过源装置104发送的包序列中的一或多个包可能未被目的地装置102接收到或者可能被目的地装置102错误地接收。举例来说,包(例如,第一包132)可能由于丢包而未被接收器124接收到或者可能由于网络条件而被接收器124部分地接收到。

分析仪122可以确定包序列的特定包是否从缓冲器126中漏失。举例来说,缓冲器126中的每个包可以包括序号。分析仪122可以维持分析数据120中的计数(例如,下一个序号)。举例来说,下一个序号可具有开始值(例如,0)。分析仪122可以在处理对应于特定输入信号(例如,输入语音信号130)的每个包之后更新(例如,以1递增)下一个序号。在处理对应于特定输入信号(例如,输入语音信号130)的最后一个包之后分析仪122可以将下一个序号重置到开始值。

分析仪122可以确定缓冲器126包括具有下一个序号的下一个包(例如,第一包132)。分析仪122可以至少基于下一个包(例如,第一包132)产生处理过的语音信号。在特定方面中,分析仪122可以提供第一包132到语音解码器156并且语音解码器156可以产生处理过的语音信号。分析仪122(或语音解码器156)可以基于第一包132和第二包134产生处理过的语音信号。处理过的语音信号可以对应于第一包132的第一数据164和第二包134的第二数据166。分析仪122(或语音解码器156)可以经由扬声器142将处理过的语音信号输出到第一用户152。分析仪122可以更新(例如,递增或重置)下一个序号。

分析仪122可以确定通过源装置104发送的包序列的特定包(例如,第一包132)是否从缓冲器126中漏失。举例来说,分析仪122可以基于确定缓冲器126并不存储具有下一个序号的下一个包(例如,第一包132)来确定第一包132漏失。为了说明,分析仪122可以响应于确定对应于下一个序号的包(例如,第一包132)未在缓冲器126中被发现来确定第一包132漏失。分析仪122可以确定第一包132的部分副本是否作为存储在缓冲器126中的另一包(例如,第二包134)中的错误校正数据存储在缓冲器126中。举例来说,每个包的标头中的一或多个字段可以指示包是否包括错误校正数据并且可以指示对应的包。分析仪122可以检查存储在缓冲器126中的一或多个包(例如,第二包134)的特定字段。举例来说,缓冲器126可以存储第二包134。第二包134的标头中的特定字段可以指示第二包134包括对应于第一包132的错误校正数据。举例来说,特定字段可以指示第一包132的序号。分析仪122可以基于确定第二包134的特定字段指示第一包132的序号来确定第一包132的部分副本存储在缓冲器126中。分析仪122可以响应于确定第一包132从缓冲器126中漏失并且缓冲器126存储第一包132的部分副本来更新检索到的部分副本计数106。

分析仪122可以至少基于下一个包(例如,第二包134)产生处理过的语音信号116。举例来说,分析仪122可以基于第一部分副本174和第二数据166产生处理过的语音信号116。第一部分副本174可以包括第一包132的第一数据164的至少一部分。在特定方面中,第一数据164可以对应于第一语音帧的第一语音参数。第一部分副本174可以包括第一语音参数。在特定方面中,第二数据166可以对应于第二语音帧的第二语音参数并且第一部分副本174可以对应于第一语音参数与第二语音参数之间的差值。在这个方面中,分析仪122可以基于第二语音参数和第一部分副本174的总和产生第一语音参数。

分析仪122可以基于第一语音参数产生处理过的语音信号116。将了解使第一部分副本174作为第二包134中的错误校正数据可以允许基于特定语音帧的第一语音参数产生处理过的语音信号116,即使当从缓冲器126中漏失对应于特定语音帧的第一包132时也是如此。

在特定方面中,分析仪122可以提供第一部分副本174、第二包134或第一语音参数到语音解码器156并且语音解码器156可以产生处理过的语音信号116。分析仪122(或语音解码器156)可以经由扬声器142将处理过的语音信号116输出到第一用户152。分析仪122可以更新(例如,递增或重置)下一个序号。处理过的语音信号116可具有与仅基于第二数据166产生的处理过的语音信号相比更好的音频质量。举例来说,基于第一部分副本174和第二数据166产生的处理过的语音信号116可具有与基于第二数据166且未基于第一数据164(或第一部分副本174)产生的处理过的语音信号相比较少的用户可察觉的伪声。

在特定方面中,分析仪122可以确定第一包132和第二包134从缓冲器126中漏失。举例来说,分析仪122可以确定第一包132从缓冲器126中漏失并且缓冲器126并不作为另一包中的错误校正数据而存储第一包132的部分副本。为了说明,分析仪122可以确定第一包132的序号并未由对应于存储在缓冲器126中的输入语音信号130的任何包的特定字段指示。分析仪122可以基于确定第一包132和第二包134从缓冲器126中漏失来更新丢失包的计数114。在特定方面中,分析仪122可以更新(例如,以1递增)丢失包的计数114以反映第一包132从缓冲器126中漏失并且缓冲器126并不存储包括第一包132的部分副本的包(例如,第二包134)。分析仪122可以更新(例如,递增或重置)下一个序号。

如参考图2-3所描述,分析仪122可以基于丢失包的计数114、检索到的部分副本计数106或这两者而调整错误恢复参数108。举例来说,分析仪122可以基于丢失包的计数114、检索到的部分副本计数106或这两者确定结果值118。在特定方面中,结果值118可以是丢失包的计数114和检索到的部分副本计数106的加权和。在特定方面中,分析仪122可以基于丢失包的计数114(例如,具有1)的加权和加权过的值的总和确定结果值118。分析仪122可以通过用质量度量128乘以检索到的部分副本计数106来确定加权值。质量度量128可以是默认值、用户提供的值或这两者。质量度量128可以对应于分配到检索到的部分副本计数106的加权(例如,大于或等于0且小于或等于1)。

在特定方面中,质量度量128可以是检索到的部分副本的质量的量度。为了说明,当检索到的部分副本的质量的量度较高时,质量度量128可以对应于较低加权。分析仪122可以基于对应于检索到的部分副本(例如,第一部分副本174)的数据(例如,语音参数)与从对应于前一音频帧的前一包检索到的前一数据(例如,前一语音参数)之间的差值确定质量的量度。举例来说,分析仪122可以基于语音参数与满足特定阈值的前一语音参数之间的差值确定质量的量度。如果检索到的部分副本(例如,第一部分副本174)对应于足够不同的参数,那么当对应的主要包(例如,第一包132)并不存储在缓冲器126中时基于检索到的部分副本(例如,第一部分副本174)产生处理过的语音信号116可以明显地改进处理过的语音信号116的音频质量。当检索到的部分副本(例如,第一部分副本174)对应于与前一包相比足够不同的参数时分析仪122可以确定质量的较高量度。

在特定方面中,检索到的部分副本计数106可以分配到与丢失包的计数114相比较低的加权。分配较低加权到检索到的部分副本的计数可以使得部分冗余能够降低对错误恢复参数的调整的对应的漏失包的影响。将了解与不具有冗余相比具有部分冗余可以允许较小缓冲器的使用,较少重新传输请求或这两者。

分析仪122可以基于结果值118调整错误恢复参数108(例如,缓冲深度110、重新传输阈值112或这两者)。举例来说,分析仪122可以基于递增量140响应于确定结果值118满足递增阈值136来递增错误恢复参数108,如参考图2-3所描述。在特定方面中,结果值118可以在可以引起处理过的语音信号的音频质量的可察觉的降级的高丢包的条件期间满足递增阈值136。分析仪122可以递增缓冲深度110以增大丢包的部分副本在缓冲器中作为另一包的错误校正数据的概率。分析仪122可以递增重新传输阈值112以使得目的地装置102能够将更多的重新传输消息(例如,重新传输消息144)发送到源装置104以请求丢失包的重新传输。目的地装置102可以基于重新传输的包产生处理过的语音信号并且处理过的语音信号的音频质量可以得到改进。

作为另一实例,分析仪122可以基于递减量150响应于确定结果值118满足递减阈值138来递减误恢复参数108,如参考图2-3所描述。在特定方面中,在低丢包的条件期间结果值118可以满足递减阈值138。分析仪122可以递减缓冲深度110以减小通过缓冲器126的存储器使用。分析仪122可以递减重新传输阈值112以减少通过目的地装置102发送的多个重新传输消息(例如,重新传输消息144)以请求丢失包的重新传输。较少的重新传输消息可以引起与发送重新传输消息和重新传输包相关联的减小的带宽使用。

在特定方面中,错误恢复参数108可具有最大值、最小值或这两者。在这个方面中,分析仪122可以调整错误恢复参数108处于由最小值和最大值界定的范围内。

递增阈值136、递减阈值138、递增量140和递减量150中的一或多个可针对每个错误恢复参数具有不同值或相同值。举例来说,对应于缓冲深度110的递增阈值136、递减阈值138、递增量140和递减量150中的一或多个可以是不同于对应于重新传输阈值112的递增阈值136、递减阈值138、递增量140和递减量150中的一或多个。

递增阈值136、递减阈值138、递增量140、递减量150或其组合可以是默认值。在特定方面中,分析仪122可以动态地确定递增量140、递减量150或这两者。举例来说,分析仪122可以基于结果值118与递增阈值136之间的差值确定递增量140。作为另一实例,分析仪122可以基于结果值118与递减阈值138之间的差值确定递减量150。

在特定方面中,分析仪122可以基于结果值118确定错误恢复参数108的调整数量并且可以基于调整数量将调整错误恢复参数108延迟到稍后的时间。举例来说,分析仪122可以基于包的第一数目(例如,10)迭代地确定调整数量并且可以在处理第一数目的包之后调整错误恢复参数108。作为另一实例,目的地装置102可接收来自源装置104的突发的包。举例来说,第二用户194可以在谈话之间暂停并且包的每个突发可以对应于暂停之间的第二用户194的语音。分析仪122可以在暂停期间基于调整数量调整错误恢复参数108,使得包的下一个突发可以基于调整过的错误恢复参数108得到处理并且因此错误恢复参数108的调整可能不被用户察觉。

在特定方面中,分析仪122可以请求基于重新传输计数154、重新传输阈值112或这两者的特定包(例如,第一包132)的重新传输。举例来说,分析仪122可以基于确定重新传输计数154满足重新传输阈值112且第一包132从缓冲器126中漏失而经由发射器192将重新传输消息144发送到源装置104。重新传输消息144可以请求第一包132的重新传输。

重新传输计数154可具有默认初始值。分析仪122可以基于发送重新传输消息144更新重新传输计数154(例如,递增)。在特定方面中,重新传输计数154可以与特定时间周期相关联。举例来说,重新传输计数154可以指示在特定时间周期(例如,前一个5分钟)期间由分析仪122发送的多个重新传输消息。

源装置104可以响应于接收重新传输消息144重新传输第一包132。在这个方面中,分析仪122可以接收重新传输的第一包132并且可以至少基于来自重新传输的第一包132的第一数据164产生处理过的语音信号。举例来说,分析仪122可以基于来自重新传输的第一包132的第一数据164和来自第二包134的第二数据166响应于确定缓冲器126存储第二包134产生处理过的语音信号。在特定方面中,可能存在与发送重新传输消息144和接收重新传输的第一包132相关联的往返延迟(例如,8毫秒(ms)到16ms)。举例来说,可能存在源装置104与目的地装置102之间的最大数目(例如,8)的混合自动重复请求(HARQ)实例。在第一HARQ实例期间源装置104可以发送第一包132。在第二HARQ实例期间目的地装置102可以发送重新传输的消息144。在第三HARQ实例期间源装置104可以发送重新传输的第一包132。往返延迟(例如,8ms到16ms)可以对应于第一HARQ实例与第三HARQ实例之间的时间差。

在特定实施方案中,传输时间线可以分割成子帧的单元。每个子帧可以涵盖预定时间期间,例如,1毫秒(ms)。源装置104可具有数据以发送到目的地装置102并且可以根据选定的传输格式处理第一包132以获得数据符号。传输格式可以对应于速率、包格式、调制编码方案(MCS)等。源装置104可以在子帧t中将第一包132的第一传输以及控制信息发送到目的地装置102。控制信息可以指示选定的传输格式、用于数据传输的无线电资源等。目的地装置102可以根据选定的传输格式接收和处理第一传输。如果目的地装置102无法成功地解码第一包132(例如,遇到错误或者在预期的时间第一包132未被接收),那么目的地装置102可以在子帧t+Δ中发送否定确认(NAK)。

NAK充当重新传输请求。相应地,在子帧t+M中,源装置104可以接收NAK并且发送第一包132的第二传输。目的地装置102可以再次尝试解码第一包132。如果出现错误,那么目的地装置102可以发送另一NAK(例如,在子帧t+M+Δ中)。在子帧t处的初始传输之后第一包132的每个传输可被称为HARQ传输并且可以包括用于第一包132的不同冗余信息(例如,数据符号的不同集合)。

系统100可以支持同步HARQ和/或异步HARQ。对于同步HARQ,包(例如,第一包132)的传输可以在已知为先验的子帧中通过发射器(例如,源装置104)和接收器(例如,目的地装置102)发送。对于异步HARQ,包的传输(例如,第一包132)可以被调度并且在一或多个子帧中发送。在特定实施方案中,系统100可以支持HARQ、自动重复请求(ARQ)、另一重新传输协议或其组合。

在特定方面中,可以基于确定重新传输计数154未能满足重新传输阈值112、特定包(例如,第一包132)存储在缓冲器126中、特定包(例如,第一包132)的部分副本(例如,第一部分副本174)存储在缓冲器126中或其组合来制止分析仪122请求特定包(例如,第一包132)的重新传输。将了解基于重新传输的第一包132产生处理过的语音信号116可以引起处理过的语音信号116具有更好的音频质量,而基于第一部分副本174产生处理过的语音信号116可以引起处理过的语音信号116产生而不存在与请求和接收重新传输的第一包132相关联的往返延迟(例如,8ms到16ms)。

在特定方面中,分析仪122可以基于缓冲深度110丢弃包。举例来说,分析仪122可以确定存储在缓冲器126中的包的数目(或总大小)满足缓冲深度110。响应于接收随后的包可以制止分析仪122在缓冲器126中存储随后的包或者可以从缓冲器126中去除一或多个其它包。举例来说,分析仪122可以去除已经在缓冲器126中达最长持续时间的包,可以去除并不包括对应于另一包的错误校正数据的包或这两者。

因此,系统100可以允许丢包的数据的部分恢复而不会重新传输丢包。举例来说,分析仪122可以响应于确定第一包132并不存储在缓冲器126中而从第二包134中恢复第一部分副本174。另一特定优点是基于检索到的部分副本的计数、丢失包的计数或这两者来动态地调整错误恢复参数。举例来说,分析仪122可以基于检索到的部分副本计数106、丢失包的计数114或这两者动态地调整错误恢复参数108。因此,错误恢复参数108可以响应于网络条件、接收到的包中的冗余的程度或这两者。

参考图2,揭示了基于冗余的包传输错误恢复的方法的特定说明性方面,且该方法通常标示为200。在特定方面中,可以通过图1的分析仪122执行方法200。图2说明基于丢失包的计数114、检索到的部分副本计数106或这两者的图1的缓冲深度110的调整。举例来说,缓冲深度110的调整可以是丢失包的计数114(p)的函数、检索到的部分副本计数106(q)的函数或丢失包的计数114(p)和检索到的部分副本计数106(q)的函数。

方法200包括在202处通过接收器接收在时间N处的编码的语音帧R(N)。举例来说,图1的接收器124可以接收对应于输入语音信号130的特定音频帧的特定包,如参考图1所描述。

方法200还包括在204处确定下一个语音帧R(N-D)是否是在去抖动缓冲器中可供使用的。举例来说,分析仪122可以确定下一个包是否存储在缓冲器126中,如参考图1所描述。下一个包可具有下一个序号。在特定方面中,分析仪122可以通过递增先前处理过的包的序号来确定下一个序号。在替代方面中,分析仪122可以基于最近接收到的包的序号(例如,N)与缓冲深度110(例如,D)之间的差值确定下一个序号。在这个方面中,缓冲深度110可以指示待存储在缓冲器126中的最大数目的包。分析仪122确定对应于下一个序号的下一个包(例如,第一包132)是否存储在缓冲器126中。

方法200进一步包括响应于在204处确定下一个语音帧R(N-D)是在去抖动缓冲器中可供使用的,在206处将下一个语音帧R(N-D)提供到语音解码器。举例来说,分析仪122可以响应于确定下一个包(例如,第一包132)存储在缓冲器126中将第一包132提供到语音解码器156,如参考图1所描述。

方法200还包括响应于在204处确定下一个语音帧R(N-D)是在去抖动缓冲器中不可供使用的,在208处确定下一个语音帧R(N-D)的部分副本是否在去抖动缓冲器中是可供使用的。举例来说,响应于确定第一包132并不存储在缓冲器126中,图1的分析仪122可以确定第一包132的部分副本是否存储在缓冲器126中,如参考图1所描述。为了说明,分析仪122可以确定具有第一部分副本174的第二包134是否存储在缓冲器126中。

方法200进一步包括响应于在208处确定下一个语音帧R(N-D)的部分副本是在去抖动缓冲器中可供使用的,在206处提供下一个语音帧R(N-D)的部分副本部分副本到语音解码器,并且在210处确定在M个前一帧期间检索到数目(q)的部分副本。举例来说,响应于确定第二包134包括于缓冲器126中并且第二包134包括第一包132的第一部分副本174,图1的分析仪122可以将第二包134提供到语音解码器156。在特定方面中,分析仪122可以将第一部分副本174提供到语音解码器156。分析仪122还可以更新检索到的部分副本计数106,如参考图1所描述。举例来说,检索到的部分副本计数106可以对应于特定数目的帧、特定时间周期或这两者。特定数目(M)的帧可以对应于默认值。在特定方面中,特定数目(M)的帧可以由分析仪122选择或由用户(例如,第一用户152)选择。在特定方面中,特定数目(M)的帧可以是自适应的。举例来说,分析仪122可以随时间推移更新特定数目(M)的帧。在特定方面中,分析仪122可以基于缓冲深度110已经在特定时间周期(例如,5分钟)期间调整的次数来更新特定数目(M)的帧。举例来说,分析仪122可以响应于确定缓冲深度110已经在特定时间周期期间调整的次数满足调整阈值来更新(例如,增大或减小)特定数目(M)的帧。

在特定方面中,检索到的部分副本计数106可以指示从特定数目(M)的最近处理过的包中检索到的多个部分副本。举例来说,从由分析仪122最近处理过的特定数目(例如,十个)包中,分析仪122可成功地接收第一数目(例如,7)的包,分析仪122可具有针对未通过分析仪122成功地接收的第二数目(例如,2)的包的检索到的部分副本,并且部分副本可能不可用于未由分析仪122成功地接收的剩余的数目(例如,1)的包。在这个实例中,检索到的部分副本计数106可以指示部分副本是从特定数目(例如,10)的最近处理过的包中针对第二数目(例如,2)的包检索到的。

在替代方面中,检索到的部分副本计数106可以指示在特定时间周期(例如,前一5分钟)期间检索到的多个部分副本。举例来说,分析仪122可以在特定时间周期(例如,前一5分钟)期间接收特定数目(例如,20)的包。从特定数目(例如,20)的包中,分析仪122已成功地接收第一数目(例如,12)的包,分析仪122可具有针对未被分析仪122成功地接收的第二数目(例如,6)的包的检索到的部分副本,并且部分副本不可用于未被分析仪122成功地接收的剩余的数目(例如,2)的包。在这个实例中,检索到的部分副本计数106可以指示部分副本是针对在特定时间周期(例如,前一5分钟)期间通过分析仪122接收到的第二数目(例如,6)的包检索到的。方法200可以前进到214。

方法200还包括响应于在208处确定下一个语音帧R(N-D)的部分副本是在去抖动缓冲器中不可供使用的,在212处在M个前一帧期间确定数目(p)的包丢失。举例来说,图1的分析仪122可以响应于确定第二包134并不存储在缓冲器126中而更新丢失包的计数114,如参考图1所描述。为了说明,分析仪122可以确定缓冲器126并不存储指示第一包132的部分副本(例如,第一部分副本174)包括于包中的所述包(例如,第二包134)。

方法200进一步包括在214处基于在M个前一帧期间的数目(p)的包丢失以及在M个前一帧期间检索到的数目(q)的部分副本来确定结果值(r)。举例来说,图1的分析仪122可以基于丢失包的计数114(p)、检索到的部分副本计数106(q)或这两者来确定结果值118(r),如参考图1所描述。在图2中说明的实例中,r=f(p,q)。结果值118(r)可以是丢失包的计数114(p)的函数、检索到的部分副本计数106(q)的函数或丢失包的计数114(p)和检索到的部分副本计数106(q)的函数。举例来说,结果值118可以是丢失包的计数114和检索到的部分副本计数106的加权和。

方法200还包括在216处确定结果值(r)是否大于递增阈值(T1)。举例来说,图1的分析仪122可以确定结果值118是否满足(例如,大于)递增阈值136,如参考图1所描述。

方法200进一步包括响应于在216处确定结果值(r)大于递增阈值(T1),在222处基于用于下一个话音突峰的去抖动缓冲器的递增量(Δn1)和深度(D)的总和确定深度值(D)。举例来说,图1的分析仪122可以响应于确定结果值118满足(例如,大于)递增阈值136而基于递增量140和缓冲深度110(例如,D)的总和确定调整数量(例如,D),如参考图1所描述。方法200可以前进到224。

方法200还包括响应于在216处确定结果值(r)小于或等于递增阈值(T1),在220处确定结果值(r)是否小于递减阈值(T2)。举例来说,图1的分析仪122可以响应于确定结果值118未能满足(例如,小于或等于)递增阈值136而确定结果值118是否满足(例如,小于)递减阈值138,如参考图1所描述。

方法200进一步包括响应于在220处确定结果值(r)小于递减阈值(T2),在222处基于用于下一个话音突峰的去抖动缓冲器的递减量(Δn2)和深度(D)之间的差值减小深度值(D)。举例来说,图1的分析仪122可以响应于确定结果值118满足(例如,小于)递减阈值138而基于递减量150与缓冲深度110(例如,D)之间的差值确定调整数量(例如,D),如参考图1所描述。

方法200还包括在224处将去抖动缓冲器的深度调整到深度值(D)。举例来说,图1的分析仪122可以基于调整数量(例如,D)调整缓冲深度110,如参考图1所描述。方法200可以前进到202。

方法200还包括响应于在220处确定结果值(r)大于或等于递减阈值(T2),在202处接收随后的包。举例来说,可以响应于确定结果值118未能满足递增阈值136和递减阈值138来制止图1的分析仪122调整缓冲深度110。

缓冲深度110(例如,D)可具有第一深度值(例如,D)。举例来说,D=D。分析仪122可以至少部分地基于第一深度值(例如,D)确定第二深度值(例如,D)。分析仪122可以基于第二深度值(例如,D)。调整缓冲深度110(例如,D)。举例来说,在缓冲深度110的调整之后D=D

方法200可以基于丢失包的计数、检索到的部分副本计数或这两者允许去抖动缓冲器的深度的动态调整。缓冲深度可以响应于网络条件。在高丢包、数据冗余的缺乏的条件或这两者期间,缓冲深度可以增大以减少在目的地装置处掉落的包、以增大在去抖动缓冲器中找到的丢失包的部分副本的概率,或这两者。替代地,在低丢包、较高程度的数据冗余的条件或这两者期间,缓冲深度可以减小以减少去抖动缓冲器的存储器使用。

参考图3,揭示了基于冗余的包传输错误恢复的方法的特定说明性方面,且该方法通常标示为300。在特定方面中,可以通过图1的分析仪122执行方法300。

图3说明基于丢失包的计数114、检索到的部分副本计数106或这两者的图1的重新传输阈值112的调整。方法300包括图2的方法200的202、204、206、208、210、212、214、216和220。

方法300还包括响应于在208处确定下一个语音帧R(N-D)的部分副本在去抖动缓冲器中不可用,在302处执行重新传输分析。举例来说,图1的分析仪122可以响应于确定缓冲器126既不存储第一包132也不存储指示第一包132的部分副本包括于其它包中的另一包而执行重新传输分析,如参考图4所描述。

方法300进一步包括响应于在216处确定结果值(r)大于递增阈值(T1),在304处基于递增量(Δn1)和重新传输阈值(RT)的总和确定重新传输值(RT)。举例来说,图1的分析仪122可以响应于确定结果值118满足(例如,大于)递增阈值136而基于递增量140和重新传输阈值112(例如,RT)的总和确定调整数量(例如,RT),如参考图1所描述。方法300可以前进到308。

方法300还包括响应于在220处确定结果值(r)小于递减阈值(T2),在306处基于递减量(Δn2)与重新传输阈值(RT)之间的差值确定重新传输值(RT)。举例来说,图1的分析仪122可以响应于确定结果值118满足(例如,小于)递减阈值138而基于递减量150与重新传输阈值112(例如,RT)之间的差值确定调整数量(例如,RT),如参考图1所描述。

方法300还包括在308处调整重新传输值到重新传输值(RT)。举例来说,图1的分析仪122可以基于调整数量(例如,RT)调整重新传输阈值112,如参考图1所描述。方法300可以前进到202。

重新传输阈值112(例如,RT)可具有第一重新传输阈值(例如,RT)。举例来说,RT=RT。分析仪122可以至少部分地基于第一重新传输值(例如,RT)确定第二重新传输阈值(例如,RT)。分析仪122可以基于第二重新传输阈值(例如,RT)调整重新传输阈值112(例如,RT)。举例来说,在重新传输阈值112的调整之后RT=RT。在特定方面中,图3的递增阈值(T1)可以与图2的递增阈值(T1)不同。在替代方面中,图3的递增阈值(T1)可以与图2的递增阈值(T1)相同。在特定方面中,图3的递减阈值(T2)可以与图2的递减阈值(T2)不同。在替代方面中,图3的递减阈值(T2)可以与图2的递减阈值(T2)相同。

方法300可以基于丢失包的计数、检索到的部分副本计数或这两者允许重新传输阈值的动态调整。重新传输阈值可以响应于网络条件。在高丢包、数据冗余的缺乏的条件或这两者期间,重新传输阈值可以增大以使得目的地装置能够发送更多的重新传输请求。替代地,在低丢包、较高程度数据冗余的条件或这两者期间,重新传输阈值可以减小以减少重新传输网络流量、以减少在产生处理过的语音信号中的延迟或这两者。

参考图4,揭示了基于冗余的包传输错误恢复的方法的特定说明性方面,且该方法通常标示为400。在特定方面中,可以通过图1的分析仪122执行方法400。在特定方面中,方法400可以对应于图3的302。

方法400包括在402处确定重新传输计数是否小于重新传输阈值(RT)。举例来说,图1的分析仪122可以确定重新传输计数154是否满足(例如,小于)重新传输阈值112,如参考图1所描述。

方法400还包括响应于在402处确定重新传输计数小于重新传输阈值(RT),在404处发送重新传输消息,并且在406处递增重新传输计数。举例来说,图1的分析仪122可以响应于确定重新传输计数154满足(例如,小于)重新传输阈值112发送重新传输消息144,并且可以更新(例如,递增)重新传输计数154,如参考图1所描述。

方法400进一步包括响应于在402处确定重新传输计数大于或等于重新传输阈值(RT),在408处制止发送重新传输消息。举例来说,响应于确定重新传输计数154未能满足(例如,大于或等于)重新传输阈值112,可以制止分析仪122发送重新传输消息(例如,重新传输消息144),如参考图1所描述。

方法400可以因此使得目的地装置能够基于动态调整的重新传输阈值而发送重新传输请求。通过目的地装置发送的多个重新传输请求以及通过源装置重新传输的多个包可以响应于网络条件。在高丢包、数据冗余的缺乏的条件或这两者期间,重新传输阈值可以增大以使得目的地装置能够发送更多的重新传输请求以增大多个重新传输的包以减少处理过的语音信号中的错误。替代地,在低丢包、较高程度的数据冗余的条件或这两者期间,重新传输阈值可以减小以减少重新传输的包的数目,引起重新传输网络流量的减少、与产生处理过的语音信号相关联的延迟的减少或这两者。

参考图5,揭示了可操作以执行基于冗余的错误恢复的系统的特定说明性方面,且该系统通常标示为500。系统500可以不同于图1的系统100之处在于错误恢复参数108可以包括缓冲延迟512,如本文所述。

包序列可以对应于输入语音信号130。包序列中的每一个包可以包括序号,如参考图1所描述。举例来说,第一包132可以包括第一序号(例如,第一产生时间戳)并且第二包134可以包括第二序号(例如,第二产生时间戳)。第一产生时间戳可以指示源装置104产生第一包132的第一时间并且第二产生时间戳可以指示源装置104产生第二包134的第二时间。第一部分副本174可以包括第一序号(例如,第一产生时间戳)。

通过目的地装置102接收到的每个包可以通过接收器124、分析仪122或通过目的地装置102的另一组件分配接收时间戳。举例来说,第二包134可以分配有第二接收时间戳。分析仪122可以基于第二接收时间戳确定第一接收时间戳并且可以将第一接收时间戳分配到第一部分副本174。第一接收时间戳可以与第二接收时间戳相同或不同。举例来说,第一接收时间戳可以指示与通过第二接收时间戳指示的第二接收时间相比更早的第一接收时间。在这个实例中,第一接收时间可以对应于第一包132以及时的方式被接收的估计的时间。为了说明,如果第一包132未被延迟或丢失,那么第一接收时间可以对应于第一包132的估计的接收时间。

分析仪122可以基于与包、缓冲延迟512、缓冲时间线504和最后播放的包506相关联的接收时间戳来处理包,如本文所述。缓冲延迟512可以对应于包待存储在缓冲器126中的阈值时间。举例来说,缓冲延迟512可以指示第一阈值时间(例如,5毫秒)。包可以在第一接收时间(例如,1:00:00.000PM)处接收。指示第一接收时间的接收时间戳可以与包相关联。第二时间(例如,1:00:00.005PM)可以对应于通过接收时间戳指示的第一接收时间和缓冲延迟512的总和。包可以在第二时间处得到处理或在第二时间之后得到处理。

缓冲时间线504可以指示待处理的下一个包。举例来说,缓冲时间线504可以指示从缓冲器126中最近处理的或最近进行擦除的特定包的序号。为了说明,分析仪122可以更新缓冲时间线504以响应于处理来自缓冲器126的包、处理来自缓冲器126的包的部分副本或进行对应于包的擦除指示包的第一序号。在这个实例中,分析仪122可以基于通过缓冲时间线504指示的序号(例如,第一序号)确定待处理的下一个包的下一个序号。

最后播放的包506可以指示最近从缓冲器126中处理的特定包。处理来自缓冲器126的特定包可以包括处理来自缓冲器126的特定包或处理来自缓冲器126的特定包的部分副本。分析仪122可以更新最后播放的包506以响应于处理来自缓冲器126的包或处理来自缓冲器126的包的部分副本指示包的第一序号。

分析仪122可以确定最后播放的包506指示前一包是从缓冲器126中通过分析仪122最近处理的。分析仪122可以确定特定包(例如,第一包132)在包序列中在前一包之后。分析仪122可以确定通过缓冲时间线504指示的待处理的下一个包是否与包序列中的第一包132相同或在所述第一包之后。在近似第一播放时间502处,分析仪122可以响应于确定如通过缓冲时间线504指示的待处理的下一个包在包序列中在第一包132之前而进行擦除。

分析仪122可以在进行擦除之后更新缓冲时间线504。举例来说,缓冲时间线504可以在进行擦除之前指示第一特定包是待处理的下一个包。在进行擦除之后,分析仪122可以更新缓冲时间线504以指示第二特定包是待处理的下一个包。第二特定包可以是在包序列中的第一特定包之后的下一个。

替代地,分析仪122可以响应于确定通过缓冲时间线504指示的待处理的下一个包与包序列中的第一包132相同或在第一包之后确定缓冲器126是否存储第一包132(或第一部分副本174)。分析仪122可以响应于确定缓冲器126存储第一部分副本174而确定第一部分副本174与指示第一接收时间的第一接收时间戳相关联。分析仪122可以在近似第一播放时间502处响应于确定第一时间大于或等于第一接收时间和缓冲延迟512的总和而处理来自缓冲器126的第一部分副本174。缓冲延迟512可以对应于包待存储在缓冲器126中的阈值时间。在特定实施方案中,分析仪122可以处理第一部分副本174而无论第一部分副本174是否已经存储在缓冲器126中达阈值时间。在此实施方案中,第一接收时间可以比第二接收时间更早。举例来说,如果第一包132已经以及时的方式被接收,那么第一接收时间可以对应于第一包132的预期的接收时间。如果第一包132已经以及时的方式被接收,那么分析仪122可以响应于确定第一包132已经存储在缓冲器126中达至少阈值时间在近似第一播放时间处处理第一部分副本174。缓冲延迟512可以包括默认值、可以是基于来自第一用户152的用户输入的或这两者。如本文所述,分析仪122可以调整缓冲延迟512。在处理来自缓冲器126的第一部分副本174之后,分析仪122可以更新最后播放的包508以指示第一包132并且可以更新缓冲时间线504以指示第二特定包(例如,第二包134)作为下一个待处理的包。第二特定包(例如,第二包134)可以是包序列中的第一包132之后的下一个。

在特定实施方案中,响应于确定从缓冲器126中漏失第一包132和第一部分副本174之后,分析仪122可以在第二特定包(例如,第二包134)上执行与在第一包132上执行的类似的分析。举例来说,分析仪122可以响应于确定通过缓冲时间线504指示的待处理的下一个包在包序列中在第二特定包之前进行擦除并且可以在进行擦除之后更新缓冲时间线504。替代地,在近似第一播放时间502处,分析仪122可以响应于确定通过缓冲时间线504指示的待处理的下一个包与第二特定包相同或在第二特定包之后、第二特定包或第二特定包的副本存储在缓冲器126中,并且第一播放时间502大于或等于缓冲延迟512和与第二特定包相关联的特定接收时间的总和而处理来自缓冲器126的第二特定包。

在电话呼叫期间,目的地装置102可以接收包序列(例如,第一包132、第二包134或这两者)。第一包132、第二包134或这两者可以包括语音数据。如本文所述,在电话呼叫期间在话音突峰的开始处或在话音突峰的结束处分析仪122可以确定或更新缓冲延迟512。话音突峰可以对应于安静间隔之间的语音的连续区段,在此期间可以听到背景噪声。举例来说,第一话音突峰可以对应于第一用户152的语音并且第二话音突峰可以对应于第二用户154的语音。第一话音突峰和第二话音突峰可以通过静音或背景噪声的周期分隔开。

分析仪122可以确定前一延迟损失率552。前一延迟损失率552可以对应于在第一更新时间处在缓冲延迟512的前一调整期间确定的延迟损失率。分析仪122可以维持延迟损失包的计数510。延迟损失包的计数510可以指示在对应的播放时间处处理来自缓冲器126的包的部分副本之后接收到的多个包。对应的播放时间可以在第一更新时间之后。举例来说,在第一更新时间之后,分析仪122可以在与第一包132相关联的第一播放时间处处理来自缓冲器126的第一部分副本174。分析仪122可以基于确定满足一或多个条件确定第一时间对应于第一播放时间。举例来说,如果在第一时间处第一时间可以对应于第一播放时间,那么最后播放的包506在第一包132之前并且第一包132在如由缓冲时间线504指示的待处理的下一个包之前或与所述下一个包相同。如果第一时间大于或等于与第一包132相关联的接收时间(例如,第一部分副本174的第一接收时间)与缓冲延迟512的总和,那么第一时间可以对应于第一播放时间。如果第一包132是在第一时间满足先前条件的包序列中的最早的包,那么第一时间可以对应于第一播放时间。响应于在处理第一部分副本174之后接收第一包132,分析仪122可以更新(例如,递增)延迟损失包的计数510。

分析仪122可以维持接收到的包计数514。举例来说,分析仪122可以在第一更新时间之后重置接收到的包计数514。分析仪122可以响应于接收包(例如,第二包134)更新(例如,以1递增)接收到的包计数514。分析仪122可以基于延迟损失包的计数510和接收到的包计数514确定第二延迟损失率554。举例来说,第二延迟损失率554可以对应于延迟损失包的计数510和接收到的包计数514的量度(例如,比率)。为了说明,第二延迟损失率554可以在特定时间间隔期间指示延迟损失包(例如,在处理包的部分副本之后接收的包)的平均数目。第二延迟损失率554可以指示在特定时间间隔期间的网络抖动。前一延迟损失率552与第二延迟损失率554之间的差值可以指示接收到的包的延迟的变化。前一延迟损失率552与第二延迟损失率554之间的差值可以指示延迟损失包的平均数目是否增大或减小。

分析仪122可以基于前一延迟损失率552和第二延迟损失率554确定延迟损失率556。举例来说,延迟损失率556可以对应于前一延迟损失率552和第二延迟损失率554的加权和。分析仪122可以将第一权重(例如,0.75)分配到前一延迟损失率552并且将第二权重(例如,0.25)分配到第二延迟损失率554。第一权重可以与第二权重相同或不同。在特定实施方案中,第一权重可以高于第二权重。基于前一延迟损失率552和第二延迟损失率554的加权和确定延迟损失率556可以减少基于暂时性网络条件的延迟损失率556的振荡。举例来说,包的捆绑可以造成大量包(例如,3个)在相同时间到达之后在随后间隔期间则没有包到达。第二延迟损失率554可以从第一时间波动到第二时间,因为在第一时间确定的第二延迟损失率554可以对应于接收到大量的包的间隔并且在第二时间确定的第二延迟损失率554可以对应于没有包到达的间隔。基于前一延迟损失率552和第二延迟损失率554的加权和确定延迟损失率556可以减少包捆绑对延迟损失率556的影响。

分析仪122可以响应于确定延迟损失率556未能满足(例如,小于)目标延迟损失率528(例如,0.01)通过递减量516(例如,20毫秒)来减小缓冲延迟512。举例来说,目标延迟损失率528可以对应于相对于接收到的包的第一百分比(例如,1%)的延迟损失包。分析仪122可以响应于确定延迟损失率556满足(例如,大于)目标延迟损失率528、延迟损失率556大于或等于前一延迟损失率552或这两者而以递增量518(例如,20毫秒)增大缓冲延迟512。递减量516、递增量518、目标延迟损失率528或其组合可以包括默认值、可以是基于来自第一用户152的用户输入或这两者。递减量516可以与递增量518相同或不同。

分析仪122可以将缓冲延迟512设置成缓冲延迟512和延迟下限538(例如,20毫秒)的最大值。举例来说,响应于确定缓冲延迟512低于延迟下限538,分析仪122可以将缓冲延迟512设置成延迟下限538。分析仪122可以将缓冲延迟512设置成缓冲延迟512和延迟上限536(例如,80毫秒)的最小值。举例来说,响应于确定缓冲延迟512超过延迟上限536,分析仪122可以将缓冲延迟512设置成延迟上限536。延迟下限538、延迟上限536或这两者可以是默认值、可以是基于来自第一用户152的用户输入,或这两者。

因此,系统500可以提供具有使得延迟的包可能在对应的播放时间之前接收的长缓冲延迟与减小与包序列相关联的端到端延迟的短缓冲延迟之间的平衡。

参考图6,示出了基于冗余的包传输错误恢复的方法的特定说明性方面的流程图,且该方法通常标示为600。在特定方面中,可以通过图1的分析仪122执行方法600。

方法600包括在602处确定是否从缓冲器中漏失包序列的特定包。举例来说,图1的分析仪122可以确定是否从缓冲器126中漏失包序列的特定包(例如,第一包132),如参考图1所描述。

方法600还包括响应于在602处确定并未从缓冲器中漏失特定包而在604处发送特定包到语音解码器。举例来说,响应于确定第一包132并未从缓冲器126中漏失,图1的分析仪122可以发送第一包132到语音解码器156,如参考图1所描述。

方法600进一步包括响应于在602处确定从缓冲器中漏失特定包,在606处确定所述特定包的部分副本是否作为另一包中的错误校正数据存储在所述缓冲器中。举例来说,图1的分析仪122可以响应于确定从缓冲器126中漏失第一包132来确定第一包132的部分副本(例如,第一部分副本174)是否作为另一包(例如,第二包134)中的错误校正数据存储在所述缓冲器中,如参考图1所描述。

方法600还包括响应于在606处确定部分副本存储在缓冲器中而在608处更新检索到的部分副本的计数。方法600可以前进到610。举例来说,响应于确定包括第一部分副本174的第二包134存储在缓冲器126中,图1的分析仪122可以更新检索到的部分副本计数106的计数,如参考图1所描述。

方法600进一步包括响应于在606处确定部分副本并不存储在缓冲器中而在612处更新丢失包的计数。举例来说,图1的分析仪122可以响应于确定包括第一部分副本174的第二包134并不存储在缓冲器126中而更新丢失包的计数114,如参考图1所描述。

方法600还包括在610处基于检索到的部分副本的计数、丢失包的计数或这两者来调整错误恢复参数。举例来说,图1的分析仪122可以基于检索到的部分副本计数106、丢失包的计数114或这两者调整错误恢复参数108。

方法600进一步包括在614处确定重新传输计数是否小于重新传输阈值。举例来说,图1的分析仪122可以确定重新传输计数154是否满足(例如,小于)重新传输阈值112,如参考图1和4所描述。

方法600还包括响应于在614处确定重新传输计数小于重新传输阈值,在616处发送重新传输消息到源装置,并且在618处更新重新传输计数。举例来说,图1的分析仪122可以响应于确定重新传输计数154满足(例如,小于)重新传输阈值112而将重新传输消息144发送到源装置104并且更新重新传输计数154,如参考图1所描述。重新传输请求可以请求特定包的重新传输。

方法600进一步包括响应于在614处确定重新传输计数大于或等于重新传输阈值而在620处制止将重新传输消息发送到源装置。举例来说,响应于确定重新传输计数154未能满足(例如,大于或等于)重新传输阈值112可以制止图1的分析仪122将重新传输消息144发送到源装置104,如参考图1所描述。

方法600可以因此基于丢失包的计数、检索到的部分副本计数或这两者允许错误恢复参数的动态调整。

图6的方法600可由现场可编程门阵列(FPGA)装置、专用集成电路(ASIC)、处理单元(例如,中央处理单元(CPU))、数字信号处理器(DSP)、控制器、另一硬件装置、固件装置或其任何组合实施。作为实例,图6的方法600可由执行指令的处理器执行,如相对于图9所描述。

参考图7,示出了基于冗余的包传输错误恢复的方法的特定说明性方面的流程图,且该方法通常标示为700。在特定方面中,可以通过图1的分析仪122执行方法700。在特定方面中,方法700可以对应于图6的610。

方法700包括在702处通过用质量度量乘以检索到的部分副本的计数产生加权值。举例来说,图1的分析仪122可以通过用质量度量128乘以检索到的部分副本计数106而产生加权值,如参考图1所描述。

方法700还包括在704处通过对丢失包的计数和加权值进行求和来产生结果值。举例来说,图1的分析仪122可以通过对丢失包的计数114和加权值进行求和而产生结果值118,如参考图1所描述。

方法700进一步包括在706处确定结果值是否大于递增阈值。举例来说,图1的分析仪122可以确定结果值118是否满足(例如,大于)递增阈值136。

方法700还包括响应于在706处确定结果值大于递增阈值而在708处基于结果值与递增阈值之间的差值确定递增量。举例来说,图1的分析仪122可以响应于确定结果值118满足(例如,大于)递增阈值136而基于结果值118与递增阈值136之间的差值确定递增量140。

方法700进一步包括在710处基于递增量调整错误恢复参数。举例来说,图1的分析仪122可以基于递增量140调整错误恢复参数108,如参考图1所描述。

方法700还包括响应于在706处确定结果值小于或等于递增阈值而在712处确定结果值是否小于递减阈值。举例来说,图1的分析仪122可以响应于确定结果值118未能满足(例如,小于或等于)递增阈值136而确定结果值118是否满足(例如,小于)递减阈值138,如参考图1所描述。

方法700进一步包括响应于在712处确定结果值大于或等于递增阈值而在714处制止调整错误恢复参数。举例来说,图1的分析仪122可以响应于确定结果值118未能满足(例如,大于或等于)递减阈值138而制止调整错误恢复参数108,如参考图1所描述。

方法700还包括响应于在712处确定结果值小于递减阈值而在716处基于结果值与递减阈值之间的差值确定递减量。举例来说,图1的分析仪122可以响应于确定结果值118满足(例如,小于)递减阈值138而基于结果值118与递减阈值138之间的差值确定递减量150。

方法700进一步包括在718处基于递减量调整错误恢复参数。举例来说,图1的分析仪122可以基于递减量150调整错误恢复参数108,如参考图1所描述。

方法700可以因此基于丢失包的计数、检索到的部分副本计数或这两者允许错误恢复参数的动态调整。

图7的方法700可由现场可编程门阵列(FPGA)装置、专用集成电路(ASIC)、处理单元(例如,中央处理单元(CPU))、数字信号处理器(DSP)、控制器、另一硬件装置、固件装置或其任何组合实施。作为实例,图7的方法700可由执行指令的处理器执行,如相对于图9所描述。

参考图8,示出了基于冗余的包传输错误恢复的方法的特定说明性方面的流程图,且该方法通常标示为800。在特定方面中,可以通过图1和5的分析仪122执行方法800。

方法800包括在802处确定对应于在第一更新时间处对错误恢复参数的前一调整的第一延迟损失率。举例来说,如参考图5所描述,分析仪122可以确定前一延迟损失率552。前一延迟损失率552可以对应于在第一更新时间处错误恢复参数108的前一调整(例如,缓冲延迟512)。

方法800还包括在804处确定对应于多个包的特定包的第二延迟损失率。举例来说,如参考图5所描述,分析仪122可以确定第二延迟损失率554。第二延迟损失率554可以对应于与输入语音信号130相关联的多个包的特定包。特定包可具有在第一更新时间之后的播放时间。

方法800进一步包括在806处基于第一延迟损失率和第二延迟损失率的加权和确定延迟损失率。举例来说,分析仪122可以基于前一延迟损失率552和第二延迟损失率554的加权和确定延迟损失率556,如参考图5所描述。

方法800还包括在810处确定延迟损失率是否低于目标延迟损失率。举例来说,分析仪122可以确定延迟损失率556是否低于目标延迟损失率528,如参考图5所描述。

方法800进一步包括响应于在810处确定延迟损失率低于目标延迟损失率而在812处以递减量递减缓冲延迟。举例来说,分析仪122可以响应于确定延迟损失率556低于目标延迟损失率528而以递减量516减小缓冲延迟512,如参考图5所描述。方法800可以前进到818。

方法800还包括响应于在810处确定延迟损失率大于或等于目标延迟损失率在814处确定延迟损失率是否大于目标延迟损失率且延迟损失率是否大于第一延迟损失率。举例来说,分析仪122可以响应于确定延迟损失率556大于或等于目标延迟损失率528而确定延迟损失率556是否大于目标延迟损失率528且延迟损失率556是否大于前一延迟损失率552,如参考图5所描述。方法800可以响应于在814处确定延迟损失率等于目标延迟损失率或延迟损失率小于或等于第一延迟损失率而前进到818。

方法800进一步包括响应于在814处确定延迟损失率大于目标延迟损失率且延迟损失率大于第一延迟损失率,在816处以递增量递增缓冲延迟。举例来说,分析仪122可以响应于确定延迟损失率556大于目标延迟损失率528且延迟损失率556大于前一延迟损失率552而以递增量518增大缓冲延迟512,如参考图5所描述。在特定实施方案中,分析仪122可以响应于确定延迟损失率556大于目标延迟损失率528而以递增量518增大缓冲延迟512。

方法800还包括在818处将缓冲延迟设置成延迟下限和缓冲延迟的最大值。举例来说,分析仪122可以将缓冲延迟512设置成延迟下限538和缓冲延迟512的最大值,如参考图5所描述。

方法800进一步包括在820处将缓冲延迟设置成延迟上限和缓冲延迟的最小值。举例来说,分析仪122可以将缓冲延迟512设置成延迟上限536和缓冲延迟512的最小值,如参考图5所描述。

方法800可以因此基于延迟损失率和目标延迟损失率允许错误恢复参数(例如,缓冲延迟)的动态调整。延迟损失率可以对应于相对于多个接收到的包的多个延迟损失包。延迟损失包可以包括在对应的播放时间处在包的部分副本的处理之后接收到的包。基于延迟损失率和目标延迟损失率的缓冲延迟的动态调整可以在具有使得延迟包可能在对应的播放时间之前接收到的长缓冲延迟与减小与包序列相关联的端到端的短缓冲延迟之间提供平衡。

图8的方法800可由现场可编程门阵列(FPGA)装置、专用集成电路(ASIC)、处理单元(例如,中央处理单元(CPU))、数字信号处理器(DSP)、控制器、另一硬件装置、固件装置或其任何组合实施。作为实例,图8的方法800可由执行指令的处理器执行,如相对于图9所描述。

参考图9,描绘了装置(例如,无线通信装置)的特定说明性方面的方块图,且该装置通常标示为900。在各种方面中,装置900可具有与图9中说明的组件相比更多或更少的组件。在说明性方面中,装置900可以对应于图1的目的地装置102、源装置104或这两者。在说明性方面中,装置900可以执行参考图1-8描述的一或多个操作。

在特定方面中,装置900包括处理器906(例如,中央处理单元(CPU))。装置900可以包括一或多个额外处理器910(例如,一或多个数字信号处理器(DSP))。处理器910可以包括语音和音乐编解码器(CODEC)908以及回声消除器912。语音和音乐编解码器908可以包括声码器编码器936、声码器解码器938,或这两者。

装置900可以包括存储器176和编解码器934。存储器176可以包括分析数据120。装置900可以包括及经由收发器950耦合到天线942的无线控制器940。在特定方面中,收发器950可以包括图1的接收器124、发射器192或这两者。

装置900可以包括耦合到显示器控制器926的显示器928。图1的扬声器142、麦克风946或这两者可以耦合到编解码器934。编解码器934可以包括数/模转换器902和模/数转换器904。在说明性方面中,麦克风946可对应于图1的麦克风146。在特定方面中,编解码器934可从麦克风946接收模拟信号,使用模/数转换器904将模拟信号转换为数字信号,并将数字信号提供到语音和音乐编解码器908。语音和音乐编解码器908可以处理数字信号。在特定方面中,语音和音乐编解码器908可以将数字信号提供到编解码器934。编解码器934可以使用数/模转换器902来将数字信号转换为模拟信号,且可以将模拟信号提供到扬声器142。

装置900可以包括分析仪122、缓冲器126、语音解码器156或其组合。在特定方面中,分析仪122、语音解码器156或这两者可以包括于处理器906、处理器910、编解码器934、语音和音乐编解码器908或其组合中。在特定方面中,分析仪122、语音解码器156或这两者可以包括于声码器编码器936、声码器解码器938或这两者中。在特定实施方案中,语音解码器156可以在功能上与声码器解码器938相同。语音解码器156可以对应于处理器910外部的专用硬件电路(例如,DSP)。

分析仪122、缓冲器126、语音解码器156或其组合可用于实施本文中描述的基于冗余的错误恢复技术的硬件方面。或者或另外,可实施软件方面(或组合的软件/硬件方面)。举例来说,存储器176可以包括可通过处理器910或装置900的其它处理单元(例如,处理器906、编解码器934或这两者)执行的指令956。指令956可以对应于分析仪122、语音解码器156或这两者。

在特定方面中,装置900可以包括于系统级封装或芯片上系统装置922中。在特定方面中,分析仪122、缓冲器126、语音解码器156、存储器176、处理器906、处理器910、显示器控制器926、编解码器934和无线控制器940包括于系统级封装或芯片上系统装置922中。在特定方面中,输入装置930和电源944耦合到芯片上系统装置922。此外,在特定方面中,如图9中所说明,显示器928、输入装置930、扬声器142、麦克风946、天线942和电源944位于芯片上系统装置922的外部。在特定方面中,显示器928、输入装置930、扬声器142、麦克风946、天线942和电源944中的每一个可以耦合到芯片上系统装置922的组件,例如,接口或控制器。

装置900可以包括移动通信装置、智能电话、蜂窝式电话、膝上型计算机、计算机、平板计算机、个人数字助理、显示装置、电视机、游戏控制台、音乐播放器、无线电、数字视频播放器、数字视频光盘(DVD)播放器、调谐器、相机、导航装置或其任何组合。

在说明性方面中,处理器910可为可操作的以执行参考图1到8所描述的方法或操作的全部或一部分。举例来说,麦克风946可以捕获对应于用户语音信号的音频信号。ADC 904可将所捕获的音频信号从模拟波形转换为由数字音频样本组成的数字波形。处理器910可以处理数字音频样本。增益调整器可调整数字音频样本。回声消除器912可减少可能已因扬声器142的输出进入麦克风946而产生的任何回声。

声码器编码器936可压缩对应于经处理语音信号的数字音频样本,且可形成包序列(例如,数字音频样本的经压缩位的表示)。包序列可以存储于存储器176中。序列的一或多个包可以包括对应于序列的其它包的部分副本。收发器950可以调制序列的某一形式的每个包(例如,其它信息可以附加到包)并且可以经由天线942传输经调制的数据。

作为另一个实例,天线942可以接收对应于经由网络由另一装置发送的包序列的传入包。接收到的包可以对应于用户语音信号。分析仪122可以在缓冲器126中存储传入包(例如,去抖动缓冲器)。分析仪122可以确定待处理的下一个包是否存储在缓冲器126中。

响应于确定下一个包存储在缓冲器126中,分析仪122可以将下一个包提供到声码器解码器938。举例来说,声码器解码器938可以解压缩下一个包。响应于确定下一个包并不存储在缓冲器126中,分析仪122可以确定下一个包的部分副本是否存储在缓冲器126中作为另一包中的错误校正数据。响应于确定部分副本在另一包中存储在缓冲器126中,分析仪122可以将部分副本或另一包提供到声码器解码器938并且可以更新图1的检索到的部分副本计数106。声码器解码器938可以解压缩部分副本。

未经压缩的波形可被称作经重构音频样本。回声消除器912可将回声从经重构音频样本中去除。语音解码器156可以基于经重构音频样本产生处理过的语音信号。增益调整器可放大或抑制经处理语音信号。DAC 902可将经处理语音信号从数字波形转换为模拟波形且可将经转换信号提供到扬声器142。

响应于确定下一个包或下一个包的部分副本都不存储在缓冲器126中,分析仪122可以更新图1的丢失包的计数114。分析仪122可以基于检索到的部分副本计数106、丢失包的计数114或这两者调整错误恢复参数。

与所描述的方面结合,设备可以包括用于接收多个包的装置。所述多个包可以对应于包序列的至少一个子集。所述多个包可以包括错误校正数据。所述多个包的第一包的错误校正数据可以包括第二包的部分副本。举例来说,用于接收所述多个包的所述装置可以包括图1的接收器124、收发器950或这两者。

所述设备还可以包括用于错误恢复的装置。所述用于错误恢复的装置可经配置以确定是否从缓冲器中漏失包序列的特定包,以确定特定包的部分副本是否作为另一包中的错误校正数据存储在缓冲器中,以至少部分地基于特定包是否从缓冲器中漏失以及特定包的部分副本是否存储在缓冲器中而确定值,并且以至少部分地基于所述值调整错误恢复参数。举例来说,用于错误恢复的装置可以包括分析仪122、处理器906、处理器910、编解码器934或其组合。

所属领域的技术人员将进一步了解结合本文所揭示的方面描述的各种说明性逻辑块、配置、模块、电路和算法步骤可实施为电子硬件、由处理器执行的计算机软件或两者的组合。上文已大体在其功能性方面描述各种说明性组件、块、配置、模块、电路和步骤。此功能性是实施为硬件还是处理器可执行指令取决于特定应用和强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,此类实施决策不应被解释为会导致脱离本发明的范围。

结合本文中所揭示的方面描述的方法或算法的步骤可以直接用硬件、用由处理器执行的软件模块、或用这两者的组合实施。软件模块可驻留在随机存取存储器(RAM)、快闪存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移除式磁盘、压缩光盘只读存储器(CD-ROM)或此项技术中已知的任何其它形式的非暂时性储存媒体中。示例性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息并将信息写入到存储媒体。在替代方案中,存储媒体可集成到处理器。处理器及存储媒体可以驻留在专用集成电路(ASIC)中。ASIC可驻存在计算装置或用户终端中。在替代方案中,处理器及存储媒体可以作为离散组件驻留在计算装置或用户终端中。

提供对所揭示方面的先前描述以使得所属领域的技术人员能够制造或使用所揭示的方面。所属领域的技术人员将容易明白对这些方面的各种修改,且在不脱离本发明的范围的情况下,本文中所界定的原理可应用于其它方面。因此,本发明并非意图限于本文示出的方面,而应被赋予与如通过所附权利要求书界定的原理及新颖特征一致的可能的最广范围。

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