在通用移动电信系统中实现多种语音编解码的方法

文档序号:2837154阅读:675来源:国知局
专利名称:在通用移动电信系统中实现多种语音编解码的方法
技术领域
本发明涉及一种语音编解码技术,更具体地涉及通用移动电信系统(UMTS)中统一实现多种语音编解码的方法。
为了达到上述目的,通常的做法就是在语音编解码器中分别实现所有7种语音编解码算法。然而,由于语音编解码算法非常复杂,这种实现方法的代价十分昂贵(自行开发或采购)。而且通常用于实现语音编解码的高速半导体器件(如DSP)的存储器空间十分有限,特别是UE,受成本、功耗、体积等因素限制,其存储空间更是紧张。为了实现7种语音编解码算法所需要的程序空间和数据空间都是相当可观并且难以承受的。
本发明的方法是通过如下的技术方案实现的,在通用移动电信系统中实现多种语音编解码的方法,该方法包括如下步骤编码时首先根据设置的命令判断当前的编码类型;根据编码类型选择速率模式;然后调用统一的AMR语音编码模块,执行编码操作;其中,如果经过静音检测确定是静音,则根据相应的编码类型调用各自的舒适噪音编码(SID)和断续传输(DTX)模块;如果是非静音,则根据确定的速率输出语音编码比特;解码是编码的逆过程,首先从接收到的帧中判断其坏帧指示(BFI)标志,检查是否有错帧,根据坏帧指示(BFI)标志判断是否需要作错帧补偿;如果判断是错帧,则进行错帧补偿和弱音处理;如果判断是正常的,则根据舒适噪音编码(SID)标志判断是否是静音,如果是静音,则根据相应的编解码类型调用各自的断续传输和舒适噪音解码模块;如果是非静音,则根据相应的编解码类型设置速率,进行AMR解码操作,最后统一输出13bit线性PCM数据。
所述的确定的速率和根据相应的编解码类型设置速率均为GSMEFR选择AMR_12.20,TDMA_EFR选择AMR_7.40,PDC_EFR选择AMR_6.70,而HR AMR、FR AMR、UMTS AMR和UMTS AMR 2则根据各自的速率控制命令确定速率。
本发明基于AMR语音编解码统一实现了UMTS系统窄带语音业务规定的所有7种语音编解码算法,显著降低了UMTS语音编解码器的实现成本,解决了存储空间的问题,明显提高了系统实现效率。


图1是本发明方法使用的编码流程示意图;图2是本发明方法使用的解码流程示意图;图3是传统实现方法的代码量统计表格图;图4是本发明实现方法的代码量统计表格图;图5是不同方法的存储空间比较表格图。
AMR算法是多速率的语音编解码算法,一共有8种模式(AMR_12.20,AMR_10.20,AMR_7.95,AMR_7.40,AMR_6.70,AMR_5.90,AMR_5.15,AMR_4.75),分别对应8种速率(12.20 kbit/s(GSM EFR),0.20 kbit/s,7.95 kbit/s,7.40 kbit/s(TDMA-EFR),6.70 kbit/s(PDC-EFR),5.90 kbit/s,5.15 kbit/s,4.75 kbit/s)。
另外,AMR还支持静音检测(VAD)和断续传输功能(DTX),在静音期间只定期传输舒适噪音(由SID帧承载),其他时间不传输任何数据。因此,除了上述8种速率模式之外,还有AMR_SID(1.80 kbit/s)和AMR_NODATA(0 kbit/s)两种模式。
GSM EFR、TDMA EFR和PDC EFR都是固定速率的语音编解码算法,其速率分别是12.20 kbit/s,7.40 kbit/s,6.70 kbit/s。由于AMR、GSMEFR、TDMA EFR和PDC EFR的算法原理都是采用“算术码本激励”(ACELP)的方法,而且在设计AMR解码算法时,考虑了兼容需求,因此AMR_12.20模式与GSM EFR是兼容的;AMR_7.40模式与TDMA EFR是兼容的;AMR_6.70模式与PDC EFR是兼容的。但是他们在静音检测和断续传输模式下的静音帧(SID帧)却是不兼容的AMR_SID帧的大小是35bit并且每160ms更新一次,而GSM EFR的静音帧是244bit并且每480ms更新一次,TDMAEFR的静音帧是38bit并且可以连续更新1。另外,不同语音编解码的DTX控制也是不同的,例如TDMA-EFR和PDC-EFR在原有系统中只支持上行的断续传输(DTX),不支持下行的DTX;而且AMR与其他编解码的DTX平滑机制也有所不同。由于断续传输模式可以有效增大无线信道容量、节省UE功率、节约传输资源,因此是UMTS设备缺省的配置项。在编解码协商时,除了指定的编解码速率,缺省设置了SID模式和NO DATA模式。因此上述SID帧的不兼容实际上导致了AMR与GSM EFR、TDMA EFR和PDC EFR无法统一实现。
本发明的方法,在AMR语音编解码的核心算法的基础上,集成GSMEFR、TDMA EFR和PDC EFR协议的断续传输(DTX)和舒适噪音产生功能,通过编解码类型和模式的控制,统一实现7种语音编解码,具体的编解码流程描述如下图1是本发明方法使用的编码流程示意图。如图1所示,13bit线性PCM数据流在步骤S101根据设置的命令判断当前的编码类型,在后续的步骤中,根据步骤S101选择的编码类型设定速率如果选择GSM-EFR编解码,则在步骤S102-1设定为AMR_12.20kbps的速率;如果选择TDMA-EFR,则在步骤S102-2设定为AMR_7.40kbps的速率;如果选择PDC-EFR,则在步骤S102-3设定为AMR_6.70的速率;如果选择HR AMR、FR AMR、UMTS AMR、UMTS AMR 2,则在步骤S102-4至步骤S102-7根据速率控制命令设置指定的速率。在步骤S103根据步骤S102设定的速率,执行AMR语音编码功能,接着在步骤S104判断在步骤S103的编码过程中,根据计算参数判断应该输出非静音帧还是静音帧,如果判断是非静音,则在步骤S105输出语音压缩码流;如果判断是静音,则在步骤S106判断当前编码类型如果判断是GSM-EFR,则在步骤S107-1执行GSM-EFR的算法计算静音帧的参数,并在步骤S108-1按照GSM-EFR的断续传输的方法输出静音数据;如果是TDMA-EFR,则在步骤S107-2执行TDMA-EFR的算法计算静音帧的参数,在步骤S108-2按照TDMA-EFR的断续传输的方法输出静音数据;如果是PDC-EFR,则在步骤S107-3执行PDC-EFR的算法计算静音帧的参数,在步骤108-3按照PDC-EFR的断续传输的方法输出静音数据;如果是HR AMR、FR AMR、UMTS AMR、UMTS AMR 2,则在步骤S107-4统一执行UMTS AMR 2的算法计算静音帧的参数,在步骤108-4按照UMTS AMR 2的断续传输的方法输出静音数据。
解码是编码的逆过程,只增加一个错帧补偿和弱音处理。图2是本发明方法使用的解码流程示意图。如图1所示,在步骤S201从接收到的帧中判断其坏帧指示(Bad Frame Indication-简称BFI)标志,检查是否是错帧;如果步骤S201判断是正常的,则程序进入步骤S203,如果步骤S201判断是错帧,在步骤S202则进行错帧补偿和弱音处理,在步骤S203从接收到的帧中判断其SID标志;如果在步骤S203判断是静音,则在步骤S204判断当前的编解码类型;根据步骤S204判断的编解码类型,调用不同的静音处理程序如果是GSM-EFR,则在步骤S205-1和步骤S206-1根据GSM-EFR的断续传输和SID参数输出静音数据;如果是TDMA-EFR,则在步骤S205-2和步骤S206-2根据TDMA-EFR的断续传输和参数输出静音数据;如果是PDC-EFR,则在步骤S205-3和步骤S206-3根据PDC-EFR的断续传输和SID参数输出静音数据;如果是HR AMR、FRAMR、UMTS AMR、UMTS AMR 2,则在步骤S205-4和步骤S206-4根据UMTSAMR 2的断续传输和SID参数输出静音数据;如果步骤S203判断为非静音,则在步骤S207判断当前的编解码类型;根据步骤S207判断的编解码类型设置速率如果是GSM-EFR,则在步骤S208-1设置成AMR_12.20的速率;如果是TDMA-EFR,则在步骤S208-2设置成AMR_7.40的速率;如果是PDC-EFR,则在步骤S208-3设置成AMR_6.70的速率;如果是HRAMR、FR AMR、UMTS AMR、UMTS AMR 2,则在步骤S208-4根据速率控制命令设置成指定的速率;在步骤S209根据S208设置的速率,在步骤S209执行AMR语音解码功能;在步骤S210输出13bit的线性PCM数据,至此,描述了编解码程序的整个过程。
本发明只需在AMR算法的基础上添加GSM EFR、TDMA EFR和PDC EFR的舒适噪音生成(SID)和断续传输(DTX)模块和速率指定和控制模块,增加的实现工作量很小,分别用AMR、GSM EFR、TDMA EFR、PDC EFR算法协议的ANSI C语言的算法描述程序作为工作量的标准,图3描述了传统实现方法所需要开发的代码量,图4描述了本发明实现方法所需要开发的代码量。对比上面两图的合计,本发明需要实现的代码量只及传统实现方法的48%,实现成本(开发时间和费用)大大降低。
在存储空间上,本发明的效果十分明显。图5参照在TMS320C54X DSP上的应用实例,给出了传统实现方法分别实现所有语音编解码所需要的存储器容量。由此可见,本发明实现的方法在程序空间比传统方法节省了2.8倍;表空间上节省了2.6倍,效果十分明显。按照传统实现方法,实现1路UMTS语音编解码处理需要92K×16bit的空间,超过大多数定点DSP的片内存储器容量;而本发明实现方法仅需35.4K×16bit的空间,可以在一般的定点DSP上实现。因此硬件实现成本也大大降低。
权利要求
1.在通用移动电信系统中实现多种语音编解码的方法,其特征在于所述的方法包括如下步骤编码时首先根据设置的命令判断当前的编码类型;根据编码类型选择速率模式;然后调用统一的AMR语音编码模块,执行编码操作;其中,如果经过静音检测确定是静音,则根据相应的编码类型调用各自的舒适噪音编码(SID)和断续传输(DTX)模块;如果是非静音,则根据确定的速率输出语音编码比特;解码是编码的逆过程,首先从接收到的帧中判断其坏帧指示(BFI)标志,检查是否有错帧,根据坏帧指示(BFI)标志判断是否需要作错帧补偿;如果判断是错帧,则进行错帧补偿和弱音处理;如果判断是正常的,则根据舒适噪音编码(SID)标志判断是否是静音,如果是静音,则根据相应的编解码类型调用各自的断续传输和舒适噪音解码模块;如果是非静音,则根据相应的编解码类型设置速率,进行AMR解码操作,最后统一输出13bit线性PCM数据。
2.根据权利要求1所述的方法,其特征在于所述的多种为七种,这七种语音编解码为GSM系统增强型全速率编解码(GSM EFR),TDMA系统增强型全速率编解码(TDMA EFR),PDC系统增强型全速率编解码(PDC EFR),半速率AMR语音编解码(HR AMR),全速率AMR语音编解码(FR AMR),UMTS系统AMR语音编解码(UMTS AMR),UMTS系统AMR语音编解码标准2(UMTS AMR 2)。
3.根据权利要求1所述的方法,其特征在于所述的确定的速率和根据相应的编解码类型设置速率均为GSM EFR选择AMR_12.20,TDMA_EFR选择AMR_7.40,PDC_EFR选择AMR_6.70,而HR AMR、FR AMR、UMTS AMR和UMTS AMR 2则根据各自的速率控制命令确定速率。
全文摘要
本发明公开了一种在通用移动电信系统中基于一种编解码算法实现多种语音编解码的方法,该方法包括编码时首先根据编码类型选择速率模式,调用统一的AMR语音编解码模块,如果检测为非静音,则按照确定的速率输出语音编码比特,如果检测为静音,则根据编码类型选择各自的舒适噪音产生和断续传输模块,输出静音编码比特;解码是编码的逆过程,只增加一个错帧补偿和弱音处理步骤,最后统一输出13bit线性PCM数据。在保证语音质量不变的前提下,基于一种语音编解码算法统一实现所有UMTS系统窄带语音业务定义的7种语音编解码,以显著改善UMTS系统语音编解码器的经济性、可实现性并解决占用存储空间大的问题。
文档编号G10L19/00GK1398126SQ0112300
公开日2003年2月19日 申请日期2001年7月18日 优先权日2001年7月18日
发明者周亮 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1