用于防止语音帧内的信息流失的系统与方法

文档序号:7911646阅读:207来源:国知局
专利名称:用于防止语音帧内的信息流失的系统与方法
技术领域
本发明的系统及方法涉及通信及无线相关技术。明确地说,本发明的系统及方法涉及用于防止语音帧内的信息流失的系统及方法。
背景技术
数字话音通信已在电路交换式网络上执行。电路交换式网络是其中物理路径是在呼叫的持续时间期间建立于两个终端之间的网络。在电路交换式应用中,发射终端在所述物理路径上将含有话音信息的包的序列发送到接收终端。所述接收终端使用所述包中所含的所述话音信息来合成语音。数字话音通信已开始在包交换式网络上执行。包交换网络为其中包是基于目的地地址而经由所述网络来路由的网络。关于包交换式通信,路由器个别地为每一包确定路径, 从而沿着任何可用路径向下发送包以到达其目的地。因此,所述包并不在相同时间或以相同次序到达接收终端。去抖动缓冲器可用于所述接收终端中以按次序放回所述包,且以连续循序方式将所述包播放出来。在一些情况下,包在从发射终端到接收终端的运输途中流失。流失的包可使经合成的语音的质量降级。因而,可通过提供用于防止语音帧内的信息流失的系统及方法来实现益处。

发明内容


图1为说明传输媒体上的发射终端及接收终端的实例的框图;图2为说明发射终端的另一配置的框图;图3为说明前向错误校正(FEC)模块的一种配置的框图;图4为说明关键帧识别模块的一种配置的框图;图5为说明FEC模式选择算法的一个实例的框图
图6为说明信道状态反馈模块的一种配置的;图7为说明动态速率控制模块的一个实例的框图;图8为说明接收终端的一种配置的框图;图9为说明用于因特网协议话音(VoIP)的前向错误校正(FEC)的方法的一个实例的流程图;图10说明对应于图9中所展示的方法的装置加功能块;图11说明可用于无线通信装置中的各种组件;及图12为根据所揭示系统及方法的一个实例的基站的框图。
具体实施例方式
6
话音应用可在包交换式网络中实施。举例来说,话音应用可在因特网协议话音 (VoIP)网络中实施。具有话音信息的包可在所述网络上从第一装置发射到第二装置。然而,所述包中的一些可能在所述包的发射期间流失。举例来说,多个包的流失(有时称为突发性包流失)可能是接收装置处的所感知语音质量降级的原因。在一种配置中,包可包括一个或一个以上帧。为了减轻VoIP网络中的包流失所造成的所感知语音质量的降级,存在两种类型的解决方案。第一种解决方案可为基于接收器的包流失隐匿(PLC)方法。PLC方法可为用以遮蔽包流失在VoIP通信中的影响的技术。举例来说,可实施PLC方法以创建代替在发射期间流失的包的替代包。PLC方法可尝试创建与曾流失的包尽可能类似的包。基于接收器的PLC可不需要任何额外资源或来自发送器的帮助来产生所述替代包。然而,当重要语音帧流失时,PLC方法不能有效地遮蔽包流失的影响。第二种解决方案可为基于发送器的包流失恢复(packet loss resilient)方案。 此方案的实例可为前向错误校正(FEC)方法。所述FEC方法可包括随每一包发送某一额外数据。所述额外数据可用以复原数据在发射期间的流失所造成的错误。举例来说,FEC方案可发射冗余语音帧。换句话说,通过发送器发射语音帧的一个以上复本(通常为两个)。 这两个帧可被称为主复本及冗余复本。尽管基于发送器的包流失恢复方案可改进经解码语音的感知质量,但这些方案也可使在语音的发射期间所使用的带宽增加。传统的FEC方案还可使端对端延迟增加,这是实时交谈无法容忍的。举例来说,常规的基于发送器的方案在两个不同时间周期将同一语音帧发送两次。这至少可使数据速率加倍。一些常规方案可将低位率编解码器用于冗余复本,以降低数据速率。然而,低位率编解码器的使用可使编码器处的复杂性增加。另外,一些常规方案可将同一低位率编解码器用于帧的主复本及帧的冗余复本两者。虽然这可降低编码器处的复杂性且降低数据速率,但基线语音质量(即,无帧流失时的语音质量)被极大地降低。此外,常规的基于发送器的方案在假定至少一个帧间隔的额外延迟的情况下操作。本发明的系统及方法提供一种源及信道控制的FEC方案以获得语音质量、延迟及数据速率之间的最佳折衷。在一种配置中,此FEC方案中未引入额外延迟。可实现语音质量在中等数据速率增加下的高质量改进。下文所描述的FEC方案还可在任何目标数据速率下操作。在一个实例中,可基于发射信道的条件以及外部控制来自适应地调整所述FEC方案及目标数据速率。所提出的FEC方案还可与旧式通信装置(例如,旧式手持机)兼容。揭示一种用于防止语音信号内的信息流失的方法。所述方法可包括选择待编码的第一语音帧。所述方法还可包括基于第二语音帧及一个或一个以上邻近语音帧内的信息来确定所述第二语音帧是否为关键语音帧。所述方法还可包括在所述第二语音帧为关键语音帧的情况下创建所述第二语音帧的经编码版本的至少一部分。所述方法还可包括发射所述第一语音帧及所述第二语音帧的所述经编码版本的至少一部分。揭示一种用于防止语音信号内的信息流失的无线装置。所述无线装置可包括关键帧识别模块,其经配置以使用第二语音帧及一个或一个以上邻近语音帧内的信息来确定所述第二语音帧是否为关键语音帧。所述无线装置还可包括前向错误校正(FEC)模块,其经配置以在所述第二语音帧为关键语音帧的情况下根据选定前向错误校正模式来创建所述第二语音帧的经编码版本的至少一部分。所述无线装置还可包括发射器,其经配置以发射第一语音帧及所述第二语音帧的所述经编码版本的至少一部分。揭示一种用于防止语音信号内的信息流失的设备。所述设备可包括用于选择待编码的第一语音帧的装置。所述设备还可包括用于基于第二语音帧及一个或一个以上邻近语音帧内的信息来确定所述第二语音帧是否为关键语音帧的装置。所述设备还可包括用于在所述第二语音帧为关键语音帧的情况下根据选定前向错误校正模式来创建所述第二语音帧的经编码版本的至少一部分的装置。所述设备可进一步包括用于发射所述第一语音帧及所述第二语音帧的所述经编码版本的至少一部分的装置。揭示一种用于防止语音信号内的信息流失的计算机程序产品。所述计算机程序产品可包括上面具有指令的计算机可读媒体。所述指令可包括用于选择待编码的第一语音帧的代码。所述指令还可包括用于基于第二语音帧及一个或一个以上邻近语音帧内的信息来确定所述第二语音帧是否为关键语音帧的代码。所述指令可进一步包括用于在所述第二语音帧为关键语音帧的情况下根据选定前向错误校正模式来创建所述第二语音帧的经编码版本的至少一部分的代码。所述指令还可包括用于发射所述第一语音帧及所述第二语音帧的所述经编码版本的至少一部分的代码。图1为说明传输媒体114上的发射终端102及接收终端104的实例的框图100。 发射终端102及接收终端104可为能够支持话音通信的任何装置,包括电话、计算机、音频广播及接收设备、视频会议设备等。在一种配置中,发射终端102及接收终端104可利用例如码分多址(CDMA)能力的无线多址技术来实施。CDMA是基于扩频通信的调制及多址方案。发射终端102可包括话音编码器106,且接收终端104可包括话音解码器108。话音编码器106可用以通过基于人类语音产生模型提取参数来压缩来自第一用户接口 110的语音。发射器112可用以跨越传输媒体114发射包括这些参数的包。传输媒体114可为基于包的网络(例如,因特网或企业内部网络)或任何其它传输媒体。位于传输媒体114的另一端处的接收器116可用以接收所述包。话音解码器108可使用所述包中的所述参数来合成语音。所合成的语音可提供到接收终端104上的第二用户接口 118。尽管未图示,但可在发射器112及接收器116两者中执行各种信号处理功能,例如包括循环冗余检验(CRC) 功能的卷积编码、交错、数字调制、扩频处理等。通信的每一方均可进行发射以及接收。每一终端可包括话音编码器及解码器。所述话音编码器及解码器可为单独装置或可集成到称为“声码器”的单个装置中。在以下详细描述中,将描述终端102、104,其具有在传输媒体114的一端的话音编码器106和在另一端的话音解码器108。在发射终端102的至少一种配置中,语音可以帧形式从第一用户接口 110输入到话音编码器106,且每一帧被进一步分割成若干个子帧。可在正执行某一块处理的地方使用这些任意帧边界。然而,如果实施的是连续处理而不是块处理,那么可不将语音样本分割成若干个帧(及子帧)。在所描述实例中,跨越传输媒体114发射的每一包可视特定应用及总设计约束而包括一个或一个以上帧。话音编码器106可为可变速率或固定速率编码器。可变速率编码器可视语音内容而在帧间于多个编码器模式之间动态地切换。话音解码器108也可在帧间于对应的解码器模式之间动态地切换。可为每一帧选择特定模式以实现在维持接收终端104处的可接受信号再现时可获得的最低位率。
在一种配置中,接收器终端104还可将信道状态信息120反馈到发射终端102。在一个实例中,接收终端104收集来自发射终端102的与用以发射包的信道的质量有关的信息。接收终端104可使用所收集到的信息来估计所述信道的质量。此估计可接着作为信道状态信息120反馈到发射终端102。发射终端102可使用信道状态信息120来调适与基于发送器的包流失恢复方案(即,FEC方案)相关联的一个或一个以上功能。关于基于接收到的信道状态信息120而调适FEC方案的细节将在下文中较全面地描述。话音编码器106及解码器108可使用线性预测译码(LPC)。在LPC编码的情况下, 语音可由语音源(声带)模型化,所述语音源的特征在于其强度及音高。来自声带的语音穿过声道(喉咙及嘴),声道的特征在于其共振,其被称为“共振峰(formant)”。所述LPC 话音编码器可通过估计共振峰、从语音去除共振峰的影响及估计残余语音的强度及音高来分析语音。接收端处的LPC话音解码器可通过逆转所述过程来合成语音。明确地说,所述 LPC话音解码器可使用残余语音来创建语音源、使用共振峰来创建滤波器(其表示声道), 且使所述语音源穿过所述滤波器以合成所述语音。图2为说明LPC话音编码器206的实例的框图。LPC话音编码器206可包括LPC 模块202,其估计来自当前或第N个语音帧216中的语音的共振峰。基本解决方法可为差等式,其将帧中的每一语音样本表达为先前语音样本的线性组合(语音样本的短期关系)。 所述差等式的系数表征共振峰。可将所述LPC系数222应用于逆向滤波器214,所述逆向滤波器可从语音去除共振峰的影响。残余语音可与LPC系数一起经由传输媒体而发射,使得可在接收端处重构语音。在LPC话音编码器206的至少一种配置中,通过变换模块204将 LPC系数变换成线谱对(LSP)。可变换所述系数以实现较好的发射及数学操纵效率。其它压缩技术可用以通过消除冗余材料而使表示语音所需的信息动态地减少。这可通过利用存在通过人的声带的周期性振动产生的特定基本频率的事实来实现。这些基本频率常常被称为“音高”。音高可由“自适应码簿参数”量化,所述自适应码簿参数包括(1) 以语音样本的数目为单位的“延迟”,其最大化语音片段的自相关函数,及(2) “自适应码簿增益”218。自适应码簿增益可在子帧基础上测量(218)语音的长期周期性的强壮程度。可在将残余语音发射到接收终端之前从残余语音减去(210)这些长期周期性。来自减法器210的残余语音可以任何数目种方式进一步编码。举例来说,可使用码簿212,其为将参数指派给最典型的语音残余信号的表。在操作中,将来自减法器210的残余语音与码簿212中的所有条目进行比较。选择针对具有最密切匹配的条目的参数。固定码簿参数包括“固定码簿索引”及“固定码簿增益”。固定码簿系数含有帧的新信息(能量)。所述新信息基本上为帧之间的差异的经编码表示。所述固定码簿增益表示接收终端 104中的话音解码器108在将所述新信息(固定码簿系数)应用于语音的当前子帧时应使用的增益。音高估计器208还可用以产生称作“差量延迟”或“D延迟”的额外自适应码簿参数。D延迟为当前帧与先前帧之间的测得延迟的差。然而,D延迟具有有限范围,且可在所述两个帧之间的延迟的差溢出的情况下设定为零。此参数不可供接收终端104中的话音解码器108用以合成语音。实情为,将所述参数用于计算流失或毁坏的帧的语音样本的音高。在一种配置中,编码器206还可包括FEC模块220。FEC模块220可接收第K个语音帧215,其中K小于或等于N。如果出现在第K个语音帧215之前的一个或一个以上经编码帧217及/或出现在第K个语音帧215之后的一个或一个以上经编码帧217在FEC模块 220分析第K个语音帧215时存在,那么FEC模块220还可接收这些经编码帧217。FEC模块220可分析第K个语音帧215。FEC模块220可确定第K个语音帧215是否为关键帧。基于包括于由FEC模块220接收的第K个语音帧215及在第K个语音帧215 之前及/或之后出现的一个或一个以上经编码帧217中的信息,可将经分析的第K个语音帧215视为关键帧。如果确定第K个语音帧215为关键帧,那么FEC模块220还可确定用以实施将“保护”第K个语音帧215的过程。用以保护关键帧的过程可包括创建所述关键帧的冗余复本。所述关键帧的所述冗余复本可包括所述关键帧的所述参数中的一些或全部。FEC模块220可在第K个语音帧215 为关键帧且可能在发射到接收终端104期间流失的情况下确定保护第K个语音帧215。关于FEC模块220的更多细节将在下文加以描述。图3为说明FEC模块320的一种配置的框图。FEC模块320可包括一个或一个以上额外模块,其用以分析语音帧、确定所述语音帧是否为关键帧,且通过创建所述语音帧的冗余复本来保护所述语音帧。所述待复制的帧在本文中可称为主帧。可通过复制所述主帧的所述参数中的一些或全部而产生所述冗余复本,或可通过使用不同于用以编码所述主帧的译码方法的译码方法来编码所述主帧而产生所述冗余复本。通常,此译码方法具有低于所述主帧的速率。在一个实例中,FEC模块320包括关键帧识别(ID)模块302 (关于图4而论述)、 部分帧保护模块304 (关于图5而论述)、全帧保护模块306 (关于图5而论述)、FEC模式选择算法308 (关于图5而论述)、信道状态反馈模块310 (关于图6而论述)及动态速率控制模块312 (关于图7而论述)。关键帧ID模块302可确定语音帧是否为关键帧。在一种配置中,此模块302可用以在包流失条件下识别最重要的帧。图4为说明关键帧识别模块402的一种配置的框图。模块402可通过分析帧的性质430以及邻近帧性质432来确定帧是否为关键帧。关键帧可为在流失时可造成显著质量降级的帧。举例来说,如果一些重要参数从先前帧到当前帧极大地变化(大于某一预定阈值),那么当前帧可为关键帧,因为当前帧可能不易从先前帧预测。另外,关键帧ID模块 402可基于所述帧及邻近帧的语音模式434来确定语音帧是否为关键帧。所述关键帧确定还可基于所述帧及邻近帧的译码类型435。举例来说,语音模式434可指示每个帧的特性。 语音帧译码类型可指示用以编码当前帧的编码过程。语音帧译码类型的实例可包含码激励的线性预测(CELP)、噪声激励的线性预测(NELP)、原型音高周期(PPP)等。语音模式的实例可包括有声、无声、静寂、暂时、有声起始等。举例来说,关键CELP帧可比关键NELP帧更为关键,而话音起始帧可比稳定有声帧更为关键。在一种配置中,关键帧识别模块402可能不需要任何额外编码延迟来确定语音帧是否为关键帧。关键帧识别模块不仅可确定帧是否为关键帧,而且可确定帧的关键性等级。此确定可基于语音帧及其邻近帧的参数、特性、译码类型及模式。不同的关键帧可具有不同的关键性等级。举例来说,对于两个关键帧A及B,如果紧跟在A之后的帧可从A高度地预测,且紧跟在B之后的帧并不十分依赖于B,那么A可比B更为关键,因为流失A可导致一个以上帧的质量降级。返回图3,FEC模块320还可包括FEC模式选择算法308。选择算法308可选择将在确定帧为关键帧时实施的保护模式。所述保护模式可指示关键帧的将被复制到所述关键帧的冗余复本中的参数的数量。保护模式的实例可包括完全保护模式及一个或一个以上部分保护模式。举例来说,部分保护模式可保护仅一个参数集合或多个参数集合。在一个实例中,所述完全保护模式可由全帧保护模块306实施。所述完全保护模式可指示复制关键帧中的每个参数,且将其包括于所述帧的冗余复本中。在一种配置中,部分保护模式可由部分帧保护模块304实施。所述部分保护模式可指示仅复制关键帧的所述参数的一部分,且将其包括于所述关键帧的冗余复本中。所述部分保护模式还可指示所述帧正通过低速率编码方法进行编码。如图5中所说明,FEC模式选择算法508可选择部分帧保护模块504或全帧保护模块506来实施选定保护模式。完全保护模式及部分保护模式可有效地利用可用带宽,且提供与旧式通信装置的向后兼容性。在一种配置中,当选择了完全保护模式时,可停用部分保护模式。FEC模式选择算法508可基于发射信道的物理性质来选择实施哪一保护模式, 所述发射信道用以将包从发射终端102发射到接收终端104。选择使用哪一模式还可基于帧的特性。如果仅参数的子集在先前帧与当前帧之间极大地改变,那么仅参数的此子集需要受到保护。在此情况下,如果帧流失发生,那么可从先前帧预测未受保护的其它参数。另夕卜,FEC模式选择算法508可基于发射终端102所支持的保护模式来选择保护模式。返回图3,FEC模块320还可包括信道状态反馈模块310。如图6中所展示,信道状态反馈模块610可接收信道状态信息620。如先前所描述,可在接收终端104处收集并估计信道状态信息620。可将信道状态信息620发射回到发射终端102。在一种配置中,信道状态反馈模块620分析接收到的信道状态信息620。信息620可指示用于发射终端102与接收终端104之间的发射的信道的质量。反馈模块610可分析所述信道的质量且将结果提供到FEC模式选择算法308。基于所述信道的质量(由信道状态反馈模块610提供),选择算法308可自适应地改变选定保护模式。换句话说,当所述信道的质量恶化时,FEC模式选择算法308可选择部分保护模式,以便降低将关键帧的冗余复本发送到接收终端104所需的数据速率。随着信道的质量增加,FEC模式选择算法308可调适并选择完全保护模式。在完全保护模式的情况下,复制关键帧的每一参数且将其包括于所述帧的冗余复本中。信道质量的增加可指示可实现较高的数据速率。在一种配置中,信道状态反馈模块610还可包括偏移计算器622。在一个实例中, 偏移计算器622确定FEC偏移的值。偏移可为帧的主复本的发射时间与所述帧的冗余复本的发射时间之间的间隔。换句话说,偏移计算器622可确定何时将关键帧的冗余复本发射到接收终端104。通常,包交换式网络中的包流失是突发性的,且突发长度在不同网络条件下可为不同的。因此,使用动态调整的偏移可得到较佳的错误保护性能。可使用由所述接收器发送的信道状态信息来估计最佳偏移。返回图3,FEC模块320可进一步包括动态速率控制模块312。速率控制模块312 可决定用于每一帧的最终保护模式以便满足目标数据速率。如图7中所说明,动态速率控制模块712可基于从信道状态反馈模块710接收到的信道状态信息120及指定目标数据速率734来决定最终保护模式。为了确定最终保护模式,速率控制模块712可实施两个步骤以接近预定目标速率。在第一步骤中,可确定两个邻近操作点。操作点可为数据速率。可选择这两个邻近操作点,使得目标数据速率734的值介于所述两个操作点的值之间。在一种配置中,操作点可为基于语音帧错误恢复性质的预定义保护决策。如果第一操作点具有高于第二操作点的数据速率,那么与第一操作点相关联的保护决策的性能在包流失条件下可优于与第二操作点相关联的保护决策。在第二步骤中,在由第一步骤中的两个邻近操作点界定的保护决策的范围内,动态速率控制模块712可自适应地调整所述保护决策以满足目标数据速率734。在一种配置中,可提供两种动态控制算法,例如,随机速率控制算法730及确定性速率控制算法732。随机速率控制算法730可使用随机算法来决定每一帧的保护决策。可配置所述随机算法,使得平均数据速率接近目标数据速率734。或者,所述确定性速率控制算法可通过确定性方式来决定每一帧的保护决策。可为每个帧计算平均速率。如果平均速率大于目标速率,那么可将较低数据速率保护或无保护用于当前帧;否则,可将较高数据速率保护用于当前帧。当前帧的保护决策还可由第一步骤中的所述两个邻近操作点所界定的保护决策的范围来限制。 目标数据速率734可基于容量需求在外部指定。或者,目标数据速率734可基于信道状态信息120的反馈在内部指定。图8为接收终端804的框图。在此配置中,VoIP客户端830包括去抖动缓冲器 802。接收终端804还可包括话音解码器808。解码器808可包括语音产生器832。话音解码器808可实施为声码器的部分、独立实体,或分布于接收终端804内的一个或一个以上实体上。话音解码器808可实施为硬件、固件、软件或其任何组合。举例来说,话音解码器 808可用微处理器、数字信号处理器(DSP)、可编程逻辑、专用硬件或任何其它基于硬件及/ 或软件的处理实体来实施。将就话音解码器808的功能性在下文对话音解码器808进行描述。话音解码器的实施方式可取决于特定应用及强加于整个系统的设计约束。去抖动缓冲器802可为消除由包到达时间的变化所造成的抖动的硬件装置或软件进程,包到达时间的变化是归因于网络拥塞、时序漂移及路由改变。去抖动缓冲器802可接收话音包中的语音帧842。另外,去抖动缓冲器802可延迟新到达的包,使得先前到达的包可以正确次序被连续地提供到语音产生器832,从而形成几乎没有音频失真的顺畅连接。 去抖动缓冲器802可为固定或自适应的。固定去抖动缓冲器可将固定延迟引入到所述包。 另一方面,自适应去抖动缓冲器可适应网络延迟的改变。去抖动缓冲器802可将语音帧提供到解码器808。如果所述去抖动缓冲器未接收到帧的主复本,那么在未使用FEC的情况下可造成帧流失。当使用FEC且当前待播放帧的主复本流失时,去抖动缓冲器可检查所述缓冲器中是否存在所述帧的冗余复本。如果存在当前帧的冗余复本,那么可解码所述冗余复本以产生语音样本。所述冗余复本可为全帧或部分帧。另外,去抖动缓冲器802可经修改而以不同方式处理主帧(即,原始关键帧)及冗余帧(即,原始关键帧中的一些或全部的复本)。缓冲器802可以不同方式处理这两个帧, 使得与实施FEC模块220的功能相关联的平均延迟不大于不实施FEC模块220的功能时的平均延迟。可将帧的冗余复本从去抖动缓冲器802传递到部分帧解码模块850,所述冗余复本包括主复本的参数中的一些(即,部分)。如先前所提到,可通过发射终端102执行各种信号处理功能,例如包括循环冗余校验(CRC)功能的卷积编码、交错、数字调制及扩频处理。可将从去抖动缓冲器802释放的语音帧842提供到语音产生器832,以产生合成语音844。语音产生器832可包括若干功能以便产生合成语音844。可使用此项技术中已知的将语音解码为合成语音的任何方法。在所展示的实施例中,所述语音产生器可使用CELP 解码方法,其中逆向码簿(inverse codebook)812可使用固定码簿参数838。举例来说,逆向码簿812可用以将固定码簿系数转换成残余语音,且将固定码簿增益应用于所述残余语音。可将音高信息添加(818)回到所述残余语音中。所述音高信息可由音高解码器814从 “延迟”计算。音高解码器814可为产生语音样本的先前帧的信息的存储器。自适应码簿参数836(例如自适应码簿增益)可在被添加(818)到所述残余语音之前由音高解码器814 应用于每一子帧中的存储器信息。所述残余语音可使用线谱对834(例如,来自逆变换822 的LPC系数)经过滤波器820,以将共振峰添加到语音。可接着将原始合成语音从滤波器 820提供到后滤波器824。后滤波器824可为音频带中的数字滤波器,其可平滑语音且减少带外分量。或者且非限制地,语音产生器832可使用NELP或PPP全帧解码方法。图9为说明用于VoIP的前向错误校正(FEC)的方法900的一个实例的流程图。方法900可由发射终端102实施。在于发射终端102与接收终端104之间建立VoIP呼叫期间,可选择(902)适当的FEC模式(例如,完全保护模式或部分保护模式)。可基于物理发射信道及对发射终端102及接收终端104的支持来选择模式。还可确定目标数据速率。在一个实例中,根据容量需求确定(904)目标数据速率。还可确定FEC偏移值。在一个实例中,所述FEC偏移值是预定的。在另一实例中,可基于信道条件自适应地调整所述FEC偏移值。可选择(906)待编码的语音帧,帧N。接着可分析(906)第K个语音帧(K彡N), 且可进行关于所述第K个语音帧是否为关键帧的确定(908)。选择哪一帧来分析(906)可取决于FEC偏移。举例来说,如果FEC偏移为2,那么可分析第N-2个帧。在一种配置中, 在VoIP呼叫期间,对于每个经编码帧,发射终端102内的编码器106可决定第K个语音帧是否应受到保护(即,第K个语音帧是否为关键帧)。编码器106还可基于目标数据速率、 确定908的结果及选定FEC模式来确定将如何保护第K个语音帧。在一种配置中,可基于从接收终端104反馈的信道状态信息120在运行时期间调整目标数据速率及FEC偏移值。如果第K个语音帧并非关键帧,那么仅将经编码的语音帧N发射(914)到所述接收终端。如果确定(908)第K个语音帧为关键帧,那么可创建(910)第K个语音帧的冗余复本。第K个语音帧的冗余复本的创建可基于选定FEC模式。举例来说,所述冗余复本可视选定FEC模式是完全保护模式抑或部分保护模式而用包括于关键的第K个语音帧中的所述参数中的一些或全部来创建。或者,可使用另一译码方法来创建冗余复本,所述另一译码方法可具有比用于主复本的译码方法低的速率。在一种配置中,可将主复本(即,当前语音帧N)及关键的第K个语音帧的冗余复本包化为实时协议(RTP)包,且发射(912、914)到接收终端104。在另一配置中,虽然同时产生帧的主复本及第K个语音帧的冗余复本,但可将所述复本个别地组装成两个不同的 RTP包,且发射到接收终端。使用哪种格式的决策可基于两个终端的能力。如果每一终端支持两种格式,那么使用引起较低数据速率的格式。在接收器侧处,语音帧可存储在自适应去抖动缓冲器802中。如先前所提到,可设计去抖动缓冲器802,使得语音帧的平均延迟不大于未利用FEC技术的平均延迟。可以适当次序将所述帧从去抖动缓冲器802发送到解码器 108。如果语音帧为具有主复本的参数中的一些参数的冗余复本,那么使用部分帧解码模块 850。上文所描述的源及信道控制的FEC方案可减少仅引起数据速率的中等增加时的包流失的数目及流失的突发性。关键帧识别及部分帧保护模式可确保语音感知质量与数据速率之间的良好折衷。对所述去抖动缓冲器的修改可不引入额外的端对端延迟。动态速率控制模块312可允许上文所描述的FEC方案以任何指定数据速率进行,使得操作者可基于容量需求来决定数据速率。最后,通过FEC模式选择算法308进行的FEC模式选择可基于物理信道性质及手持机(例如,发射终端102及接收终端104)的能力来决定是否使用部分帧保护模式。上文所描述的FEC方案可不浪费可用带宽,且可与旧式通信装置向后兼容。如果具有FEC功能性的终端与旧式终端(其仅能解码全帧)通信,那么可停用部分帧保护,使得旧式手持机可受益于FEC冗余。如果将部分帧发送到旧式终端,那么所述旧式终端可能由于不能理解所述部分帧的格式而忽略所述部分帧,从而潜在地造成可用带宽的浪费。上文所描述的图9的方法可由对应于图10中所说明的装置加功能块的各种硬件及/或软件组件及/或模块来执行。换句话说,图9中所说明的块902到914对应于图10 中所说明的装置加功能块1002到1014。图11说明可用于无线装置1102中的各种组件。无线装置1102为可经配置以实施本文中所描述的各种方法的装置的实例。无线装置1102可为远程台、接入终端、手机、个人数字助理(PDA)、蜂窝式电话等。无线装置1102可包括处理器1104,所述处理器控制无线装置1102的操作。处理器1104还可称为中央处理单元(CPU)。可包括只读存储器(ROM)及随机存取存储器(RAM) 两者的存储器1106将指令及数据提供到处理器1104。存储器1106的一部分还可包括非易失性随机存取存储器(NVRAM)。处理器1104通常基于存储在存储器1106内的程序指令来执行逻辑及算术运算。存储器1106中的所述指令可执行以实施本文中所描述的方法。无线装置1102还可包括外壳1108,所述外壳可包括发射器1110及接收器1112以允许数据在无线装置1102与远程位置之间的发射及接收。发射器1110与接收器1112可组合成收发器1114。天线1116可附接到外壳1108且电耦合到收发器1114。无线装置1102 还可包括(未图示)多个发射器、多个接收器、多个收发器及/或多个天线。无线装置1102还可包括信号检测器1118,所述信号检测器可用以检测并量化由收发器1114接收的信号的电平。信号检测器1118可将此些信号检测为总能量、每伪噪声 (PN)码片的导频能量、功率谱密度及其它信号。无线装置1102还可包括数字信号处理器 (DSP) 1120以用于处理信号。无线装置1102的各种组件可通过总线系统1122耦合在一起,除数据总线外,总线系统1122还可包括电力总线、控制信号总线及状态信号总线。然而,为清楚起见,在图11 中将各种总线说明为总线系统1122。图12为根据所揭示系统及方法的一个实例的基站1208的框图。基站1208的不同实施方案的实例包括(但不限于)演进型节点B (eNB)、基站控制器、基站收发器、接入路由器等。基站1208包括收发器1220,收发器1220包括发射器1210及接收器1212。收发器1220可耦合到天线1218。基站1208进一步包括数字信号处理器(DSP) 1214、通用处理器1202、存储器1204及通信接口 1206。基站1208的各种组件可包括于外壳1222内。处理器1202可控制基站1208的操作。处理器1202还可称为CPU。可包括只读存储器(ROM)及随机存取存储器(RAM)两者的存储器1204将指令及数据提供到处理器1202。 存储器1204的一部分还可包括非易失性随机存取存储器(NVRAM)。存储器1204可包括能够存储电子信息的任何电子组件,且可体现为R0M、RAM、磁盘存储媒体、光学存储媒体、快闪存储器、处理器1202所包括的板上存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸盘、CD-ROM等。存储器1204可存储程序指令及其它类型的数据。所述程序指令可由处理器1202执行以实施本文中所揭示的所述方法中的一些或全部。根据所揭示的系统及方法,天线1218可接收已从附近通信装置1102发射的反向链路信号。天线1218将这些接收到的信号提供到对所述信号进行滤波及放大的收发器 1220。将所述信号从收发器1220提供到DSP 1214且提供到通用处理器1202以进行解调、 解码、进一步滤波等。基站1208的各种组件是通过总线系统1226耦合在一起,除数据总线外,总线系统 1226还可包括电力总线、控制信号总线及状态信号总线。然而,为清楚起见,在图12中将各种总线说明为总线系统1226。在本文中使用时,术语“确定”涵盖各种各样的动作,且因此,“确定”可包括推算、 计算、处理、导出、调查、查找(例如,在表中、数据库中或另一数据结构中查找)、查明等。并且,“确定”可包括接收(例如,接收信息)、存取(例如,存取存储器中的数据)等。并且, “确定,,可包括解析、选择、选取、建立等。除非另有明确规定,否则短语“基于”不表示“仅基于”。换句话说,短语“基于”描述“仅基于”及“至少基于”两者。结合本发明而描述的各种说明性逻辑块、模块及电路可通过以下各项来实施或执行经设计以执行本文中所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、 离散硬件组件,或其任何组合。通用处理器可为微处理器,但在替代方案中,处理器可为任何市售的处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如, DSP与微处理器的组合、多个微处理器的组合、结合DSP核心的一个或一个以上微处理器, 或任何其它此类配置。结合本发明而描述的方法或算法的步骤可直接体现于硬件中、由处理器执行的软件模块中或硬件与软件模块的组合中。软件模块可驻留于此项技术中已知的任何形式的存储媒体中。可使用的存储媒体的一些实例包括RAM存储器、快闪存储器、ROM存储器、EPROM 存储器、EEPROM存储器、寄存器、硬盘、可装卸盘、⑶-ROM等。软件模块可包含单个指令或许多指令,且可分布于若干个不同码段上、分布于不同程序之中及跨越多个存储媒体而分布。 存储媒体可耦合到处理器,使得处理器可从存储媒体读取信息及将信息写入到存储媒体。 在替代方案中,存储媒体可与处理器成一体式。本文中所揭示的方法包含用于实现所描述方法的一个或一个以上步骤或动作。所述方法的步骤及/或动作可彼此互换,而不脱离所附权利要求书的范围。换句话说,除非指定步骤或动作的特定次序,否则可修改特定步骤及/或动作的次序及/或使用而不脱离所附权利要求书的范围。所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一个或一个以上指令而存储在计算机可读媒体上。计算机可读媒体可为可由计算机存取的任何可用媒体。作为实例而非限制,计算机可读媒体可包含RAM、ROM、EEPROM、 CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以运载或存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。在本文中使用时,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及BlU-ray_ 光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。软件或指令还可经由传输媒体来传输。举例来说,如果使用同轴电缆、光纤缆线、 双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输软件,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包括于传输媒体的定义中。另外,应了解,用于执行本文中所描述的方法及技术(例如,由图9到图10所说明的方法及技术)的模块及/或其它适当装置可在适用时由移动装置及/或基站下载及/ 或以其它方式获得。举例来说,此装置可耦合到服务器,以促进用于执行本文中所描述的方法的装置的传送。或者,本文中所描述的各种方法可经由存储装置(例如,随机存取存储器 (RAM)、只读存储器(ROM)、例如压缩光盘(CD)或软性磁盘等物理存储媒体等)提供,使得移动装置及/或基站可在将存储装置耦合或提供到所述装置后即刻获得各种方法。此外,可利用用于将本文中所描述的方法及技术提供到装置的任何其它合适技术。将理解,所附权利要求书不限于上文所说明的精确配置及组件。可在不脱离所附权利要求书的范围的情况下,对本文中所描述的系统、方法及设备的布置、操作及细节做出各种修改、改变及变化。
权利要求
1.一种用于防止语音信号内的信息流失的方法,其包含选择待编码的第一语音帧;基于第二语音帧及一个或一个以上邻近语音帧内的信息来确定所述第二语音帧是否为关键语音帧;在所述第二语音帧为关键语音帧的情况下创建所述第二语音帧的经编码版本的至少一部分;及发射所述第一语音帧及所述第二语音帧的所述经编码版本的所述至少一部分。
2.根据权利要求1所述的方法,其进一步包含确定目标数据速率;及根据所述所确定的目标数据速率来选择前向错误校正FEC模式。
3.根据权利要求1所述的方法,其中所述第二语音帧的所述经编码版本的所述至少一部分等同于所述第二语音帧。
4.根据权利要求2所述的方法,其中所述前向错误校正FEC模式包含完全保护模式。
5.根据权利要求2所述的方法,其中所述前向错误校正FEC模式包含多个部分保护模式中的一者。
6.根据权利要求1所述的方法,其中所述第二语音帧的所述经编码版本的所述至少一部分包括所述第二语音帧内的所述信息的子集。
7.根据权利要求6所述的方法,其中使用位率低于用以编码所述第二语音帧的位率的编码类型来建构所述第二语音帧的所述经编码版本的所述至少一部分。
8.根据权利要求1所述的方法,其进一步包含确定偏移值,所述偏移值指示何时发射所述第二语音帧的所述经编码版本的所述至少一部分。
9.根据权利要求1所述的方法,其中确定所述第二语音帧是否为关键帧进一步包含分析所述第二语音帧及一个或一个以上邻近语音帧的性质。
10.根据权利要求1所述的方法,其中确定所述第二语音帧是否为关键语音帧进一步基于用以编码所述第二语音帧的语音模式。
11.根据权利要求10所述的方法,其中所述语音帧的所述语音模式为有声、无声、暂时、稳定有声或有声起始。
12.根据权利要求1所述的方法,其中确定所述第二语音帧是否为关键语音帧进一步基于用以编码所述第二语音帧的语音译码类型。
13.根据权利要求12所述的方法,其中所述语音译码类型包含码激励的线性预测 CELP、噪声激励的线性预测NELP或原型音高周期PPP。
14.根据权利要求5所述的方法,其进一步包含在选择完全保护模式的情况下停用所述部分保护模式。
15.根据权利要求2所述的方法,其进一步包含基于用以发射所述第一语音帧及所述第二语音帧的所述经编码版本的所述至少一部分的信道的信道状态信息来调整所述目标数据速率。
16.根据权利要求1所述的方法,其中存在在所述第二语音帧的发射时间与所述第二语音帧的所述经编码版本的所述至少一部分的发射时间之间测量到的偏移。
17.根据权利要求16所述的方法,其中使用用以发射语音帧的信道的信道状态信息来估计所述偏移,且其中可动态地调整所述偏移。
18.根据权利要求2所述的方法,其中所述确定目标数据速率是基于容量需求。
19.根据权利要求2所述的方法,其中所述确定目标数据速率是基于信道状态信息的反馈。
20.根据权利要求2所述的方法,其中所述选择前向错误校正FEC模式包含确定所述第二语音帧的关键性等级;确定高于所述目标数据速率的第一操作数据速率;确定低于所述目标数据速率的第二操作数据速率;及选择FEC模式以满足所述目标数据速率。
21.根据权利要求2所述的方法,其中随机地选择所述前向错误校正FEC模式,使得实施所述模式的语音帧的数据速率的平均值接近所述目标数据速率。
22.根据权利要求2所述的方法,其中选择所述前向错误校正FEC模式,使得实施所述模式的所述语音帧的所述数据速率接近所述目标数据速率。
23.根据权利要求1所述的方法,其中确定所述第二语音帧是否关键包含计算所述第二语音帧与一个或一个以上邻近语音帧之间的差,其中如果所述差大于预定阈值,那么所述第二语音帧是关键的。
24.根据权利要求10所述的方法,其中确定所述第二语音帧是否关键是基于所述第二帧的所述语音模式。
25.根据权利要求1所述的方法,其中基于所述关键第二语音帧及邻近语音帧的参数、 特性、译码类型及模式来确定关键语音帧的关键性。
26.根.据权利要求1所述的方法,其进一步包含将所述第一语音帧及所述第二语音帧的所述经编码版本的所述至少一部分组装成一个或一个以上实时协议RTP包。
27.根据权利要求26所述的方法,其中所述一个或一个以上RTP包的格式是基于发射终端及接收终端的能力。
28.根据权利要求5所述的方法,其中所述对部分保护模式的选择是基于带宽可用性、 所述目标数据速率以及所述第一语音帧、所述第二语音帧及邻近语音帧的特性。
29.一种用于防止语音信号内的信息流失的无线装置,其包含关键帧识别模块,其经配置以使用第二语音帧及一个或一个以上邻近语音帧内的信息来确定所述第二语音帧是否为关键语音帧;前向错误校正FEC模块,其经配置以在所述第二语音帧为关键语音帧的情况下根据选定前向错误校正模式来创建所述第二语音帧的经编码版本的至少一部分;及发射器,其经配置以发射第一语音帧及所述第二语音帧的所述经编码版本的所述至少一部分。
30.根据权利要求29所述的无线装置,其进一步包含目标数据速率;及速率控制模块,其经配置以根据所述目标数据速率来选择所述前向错误校正模式。
31.根据权利要求30所述的无线装置,其中所述前向错误校正FEC模块经配置以根据所述选定前向错误校正模式来创建所述第二语音帧的所述经编码版本的所述至少一部分。
32.根据权利要求30所述的无线装置,其中所述前向错误校正FEC模式包含完全保护模式。
33.根据权利要求29所述的无线装置,其中所述第二语音帧的所述经编码版本的所述至少一部分等同于所述第二语音帧。
34.根据权利要求30所述的无线装置,其中所述前向错误校正FEC模式包含多个部分保护模式中的一者。
35.根据权利要求29所述的无线装置,其中所述第二语音帧的所述经编码版本的所述至少一部分包括所述第二语音帧内的所述信息的子集。
36.根据权利要求29所述的无线装置,其中所述第二语音帧的所述经编码版本的所述至少一部分是使用位率低于用于编码所述第二语音帧的位率的编码类型来建构。
37.根据权利要求29所述的无线装置,其中所述无线装置为手持机。
38.根据权利要求29所述的无线装置,其中所述无线装置为基站。
39.根据权利要求29所述的无线装置,其中存在在所述第二语音帧的发射时间与所述第二语音帧的所述经编码版本的所述至少一部分的发射时间之间测量到的偏移。
40.根据权利要求39所述的无线装置,其中所述偏移是使用用以发射语音帧的信道的信道状态信息来估计,且其中所述偏移可动态地调整。
41.根据权利要求30所述的无线装置,其中所述目标数据速率是基于容量需求来确定。
42.根据权利要求30所述的无线装置,其中所述目标数据速率是基于信道状态信息的反馈来确定。
43.根据权利要求30所述的无线装置,其中所述速率控制模块经进一步配置以确定所述第二语音帧的关键性等级;确定高于所述目标数据速率的第一操作数据速率;确定低于所述目标数据速率的第二操作数据速率;且选择前向错误校正FEC模式以满足所述目标数据速率。
44.根据权利要求30所述的无线装置,其中所述前向错误校正FEC模式是随机地选择, 以使得实施所述模式的语音帧的数据速率的平均值接近所述目标数据速率。
45.根据权利要求30所述的无线装置,其中所述前向错误校正FEC模式经选择以使得实施所述模式的所述语音帧的数据速率接近所述目标数据速率。
46.根据权利要求29所述的无线装置,其中确定所述第二语音帧是否关键包含计算所述第二语音帧与一个或一个以上邻近语音帧之间的差,其中如果所述差大于预定阈值,那么所述第二语音帧是关键的。
47.根据权利要求29所述的无线装置,其中确定所述第二语音帧是否关键是基于所述第二语音帧的语音模式。
48.根据权利要求47所述的无线装置,其中所述语音帧的所述语音模式为有声、无声、 暂时、稳定有声或有声起始。
49.根据权利要求29所述的无线装置,其中关键的第二语音帧的关键性是基于所述关键的第二语音帧及邻近语音帧的参数、特性、译码类型及模式来确定。
50.根据权利要求29所述的无线装置,其中所述第一语音帧及所述第二语音帧的所述经编码版本的所述至少一部分被组装成一个或一个以上实时协议RTP包。
51.根据权利要求50所述的无线装置,其中所述一个或一个以上RTP包的格式是基于发射终端及接收终端的能力。
52.根据权利要求34所述的无线装置,其中所述对部分保护模式的选择是基于带宽可用性、所述目标数据速率及所述第一语音帧、所述第二语音帧及邻近语音帧的特性。
53.根据权利要求29所述的无线装置,其进一步包含去抖动缓冲器,所述去抖动缓冲器经修改而以不同方式处理语音帧及所述语音帧的一些或全部的复本。
54.一种用于防止语音信号内的信息流失的设备,其包含用于选择待编码的第一语音帧的装置;用于基于第二语音帧及一个或一个以上邻近语音帧内的信息来确定所述第二语音帧是否为关键语音帧的装置;用于在所述第二语音帧为关键语音帧的情况下根据选定前向错误校正FEC模式来创建所述第二语音帧的经编码版本的至少一部分的装置;及用于发射所述第一语音帧及所述第二语音帧的所述经编码版本的所述至少一部分的装置ο
55.一种用于防止语音信号内的信息流失的计算机程序产品,所述计算机程序产品包含上面具有指令的计算机可读媒体,所述指令包含用于选择待编码的第一语音帧的代码;用于基于第二语音帧及一个或一个以上邻近语音帧内的信息来确定所述第二语音帧是否为关键语音帧的代码;用于在所述第二语音帧为关键语音帧的情况下根据选定前向错误校正FEC模式来创建所述第二语音帧的经编码版本的至少一部分的代码;及用于发射所述第一语音帧及所述第二语音帧的所述经编码版本的所述至少一部分的代码。
全文摘要
本发明描述一种用于防止语音帧内的信息流失的方法。选择待编码的第一语音帧。基于第二语音帧及一个或一个以上邻近语音帧内的信息进行关于所述第二语音帧是否为关键语音帧的确定。在所述第二语音帧为关键语音帧的情况下根据选定前向错误校正FEC模式来创建所述第二语音帧的经编码版本的至少一部分。发射所述第一语音帧及所述第二语音帧的所述经编码版本的所述至少一部分。
文档编号H04L1/00GK102461040SQ201080024701
公开日2012年5月16日 申请日期2010年6月3日 优先权日2009年6月4日
发明者丹尼尔·J·辛德尔, 方正, 阿南塔帕德玛纳班·阿拉桑尼帕莱·坎迪哈代 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1