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

技术编号:3666579 阅读:292 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种在通用移动电信系统中基于一种编解码算法实现多种语音编解码的方法,该方法包括编码时首先根据编码类型选择速率模式,调用统一的AMR语音编解码模块,如果检测为非静音,则按照确定的速率输出语音编码比特,如果检测为静音,则根据编码类型选择各自的舒适噪音产生和断续传输模块,输出静音编码比特;解码是编码的逆过程,只增加一个错帧补偿和弱音处理步骤,最后统一输出13bit线性PCM数据。在保证语音质量不变的前提下,基于一种语音编解码算法统一实现所有UMTS系统窄带语音业务定义的7种语音编解码,以显著改善UMTS系统语音编解码器的经济性、可实现性并解决占用存储空间大的问题。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种语音编解码技术,更具体地涉及通用移动电信系统(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判断当前的编解码类型;根本文档来自技高网...

【技术保护点】
在通用移动电信系统中实现多种语音编解码的方法,其特征在于:所述的方法包括如下步骤: 编码时首先根据设置的命令判断当前的编码类型; 根据编码类型选择速率模式; 然后调用统一的AMR语音编码模块,执行编码操作; 其中,如果经过静音检测确定是静音,则根据相应的编码类型调用各自的舒适噪音编码(SID)和断续传输(DTX)模块; 如果是非静音,则根据确定的速率输出语音编码比特; 解码是编码的逆过程,首先从接收到的帧中判断其坏帧指示(BFI)标志,检查是否有错帧,根据坏帧指示(BFI)标志判断是否需要作错帧补偿; 如果判断是错帧,则进行错帧补偿和弱音处理; 如果判断是正常的,则根据舒适噪音编码(SID)标志判断是否是静音,如果是静音,则根据相应的编解码类型调用各自的断续传输和舒适噪音解码模块; 如果是非静音,则根据相应的编解码类型设置速率,进行AMR解码操作,最后统一输出13bit线性PCM数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:周亮
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1