CN104517612B - 基于amr-nb语音信号的可变码率编码器和解码器及其编码和解码方法 - Google Patents

基于amr-nb语音信号的可变码率编码器和解码器及其编码和解码方法 Download PDF

Info

Publication number
CN104517612B
CN104517612B CN201310461595.6A CN201310461595A CN104517612B CN 104517612 B CN104517612 B CN 104517612B CN 201310461595 A CN201310461595 A CN 201310461595A CN 104517612 B CN104517612 B CN 104517612B
Authority
CN
China
Prior art keywords
speech frame
coding
frame
bit rate
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310461595.6A
Other languages
English (en)
Other versions
CN104517612A (zh
Inventor
须泽中
郝飞
卢家义
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI AILIAO INFORMATION TECHNOLOGY Co Ltd
Original Assignee
SHANGHAI AILIAO INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI AILIAO INFORMATION TECHNOLOGY Co Ltd filed Critical SHANGHAI AILIAO INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310461595.6A priority Critical patent/CN104517612B/zh
Publication of CN104517612A publication Critical patent/CN104517612A/zh
Application granted granted Critical
Publication of CN104517612B publication Critical patent/CN104517612B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于AMR‑NB语音信号的可变码率编码器,包括:预处理单元,将语音信号数值化形成语音帧;语音帧质量判定单元,判定当前语音帧的质量等级给予语音帧各自的编码模式和目标比特率;编码模式选择单元,根据质量等级选择语音帧编码模式;比特率确定单元,根据编码模式来确定语音帧的目标比特率;码激励线性预测编码单元,根据语音帧目标比特率对语音帧执行编码形成编码后的语音帧。本发明还公开了一种与所述编码器对应使用的可变码率解码器,以及一种可变码率编码方法和一种可变码率解码方法。本发明相较于AMR的码率更低,能根据语音帧内容实现可变码率,能通过设置信道的语音质量,根据语音帧内容的重要性判定来选择所需要的编码速率模式。

Description

基于AMR-NB语音信号的可变码率编码器和解码器及其编码和 解码方法
技术领域
本发明涉及通信领域,特别是涉及一种在移动互联网通信语音技术中基于AMR-NB语音信号的可变码率编码器;本发明还涉及一种与所述编码器对应使用的基于AMR-NB语音信号的可变码率解码器,以及一种基于AMR-NB语音信号的可变码率编码方法和一种基于AMR-NB语音信号的可变码率解码方法。
背景技术
在诸如移动互联网上语音的各种应用领域中,对在主观质量和比特率之间具有好的、平衡的、高效的数字窄带语音编码技术的需求正在增加。主观质量级别通常由为输入流的已编码的语音部分所指定的比特率来规定。较高的比特率通常指示关于原始语音的较大量信息被编码和保留,并且因此在语音回放期间将呈现原始输入语音的更准确的再现。相反,较低的比特率指示关于原始输入语音的较少信息被编码和保留,并且因此在语音回放期间将呈现原始语音的不太准确的再现。
自适应多速率(Adaptive Multi Rate,AMR)是由3GPP(3rd GenerationPartnership Project)制定的第三代移动通讯系统中的语音编解码技术。窄带自适应多速率(AMR-NB)编解码器支持八种速率:12.2kbit/s,10.2kbit/s,7.95kbit/s,7.40kbit/s,6.7kbit/s,5.9kbit/s,5.15kbit/s,4.75kbit/s,此外它还包括低速率1.8kbit/s背景噪声模式。实际的语音编码速率取决于信道的条件,AMR-NB语音编码可根据无线信道和传输状况自适应地选择一种最佳信道模式和编码模式来进行编码传输。当信道质量差时,采用低的编码速率,这样信道编码中的冗余比特就会增加,从而对信息更好的保护;当信道质量好时,可以采用高的编码速率来提高语音的质量。但是,当带宽固定和信道环境平衡的信道中,编码速率将是固定不变的,每帧语音内容却有重要和不重要之分,如果用一样的码率来编码全部的语音帧,将会增加多余的比特在信道中传输,即使减少这些冗余比特,也不会对主观声音质量造成影响。
码激励线性预测(CELP)编码是能够在主观质量和比特率之间获得好的折中的已知技术。该编码技术是无线和有线应用中几个语音编码标准的基础。CELP语音编码算法用线性预测提取声道参数,用一个包含许多典型的激励矢量的码本作为激励参数,每次编码时都在这个码本中搜索一个最佳的激励矢量,这个激励矢量的编码值就是这个序列的码本中的序号。激励信号特征的参数被传送到解码器,其中重建的激励信号被用作线性预测(LP)滤波器的输入。
根据3GPP TS26.090,自适应多速率(AMR)编解码方式中采用的码书激励线性预测编码器将一个语音信号帧分成若干个子帧,进行线性预测和量化,自适应码书搜索和量化以及固定码书搜索和量化。AMR-NB(自适应多速率窄带)语音编码支持最低的编码速率模式4.75kbps来进行语音编解码,在实际移动通讯互联网的应用中,带宽频率资源变得愈加宝贵,更低码率的编解码器将更显的重要。
根据3GPP TS26.101,AMR帧分为三部分:帧类型、语音和噪声数据构成的AMR核心帧、比特填充。进一步,AMR核心帧根据数据重要性又分成三种类型:类型A、类型B和类型C。类型A数据的正确性是保证语音质量的关键,类型B和类型C相较于类型A就显得不那么重要,如果判定的语音帧内容不重要的时候,适当的降低类型B和类型C的比特对主观质量不会有影响。
标准的AMR语音编解码方法虽然已经投入使用,但它只能通过信道的环境的变换来选择编码的比特率,无法实现根据语音帧本身的内容来选择编码比特率,在不变的信道中,用统一码率的编码方式将增加冗余比特,且编码速率模式4.75kbit/s已经满足不了实际的应用中。
发明内容
本发明要解决的技术问题是提供一种相较于AMR的码率更低,且能根据语音帧内容实现可变码率基于AMR-NB语音信号的可变码率编码器,其能通过设置信道的语音质量,根据语音帧内容的重要性判定来选择所需要的编码速率模式。
本发明要解决的另以技术问题是提供一种固定码率比4.75kbit/s更低去除了语音帧相对不重要的冗余比特,能实现在低码率环境中的应用的基于AMR-NB语音信号的可变码率编码器,其相比较现有技术增加四种语音帧类型分别代表四种速率:3.25kbit/s,3.50kbit/s,4.00kbit/s和4.50kbit/s。
本发明还提供了一种与所述基于AMR-NB语音信号的可变码率编码器对应使用的基于AMR-NB语音信号的可变码率解码器。
本发明还提供了一种基于AMR-NB语音信号的可变码率编码方法和一种基于AMR-NB语音信号的可变码率解码方法。
为解决上述技术问题,本发明的基于AMR-NB语音信号的可变码率编码器,包括:
预处理单元,将语音信号数值化形成语音帧,对语音帧进行滤波和增益控制,将语音帧发送至语音帧质量判定单元;通常使用每抽样16比特来抽样和量化,每帧语音信号有低频信号和高频信号,且采样后的增益各不相同,预处理单元主要是语音信号通过一个截止频率为80Hz的2阶高通滤波器,然后降低信号增益的过程。
语音帧质量判定单元,根据预处理单元发送的语音帧内容来判定当前语音帧的质量等级,按语音帧的质量级别排序,质量等级越高,选择的模式将更接近高比特的模式,依次给予语音帧各自的编码模式和目标比特率,其设置有可变码率的判定规则来判定当前帧的质量等级,将计算所得的质量等级值发送至模式选择单元;
其中,所述判定规则如下:
Ⅰ)判定当前语音帧能量为高即计算的能量值大于10.309dB,代表当前语音帧的质量等级趋向于12,需要给予更多的比特即编码比特率趋向于5.15kbit/s;
Ⅱ)判定当前语音帧为浊音,代表当前语音帧的质量等级趋向于12,需要给予更多的比特即编码比特率趋向于5.15kbit/s;
Ⅲ)判定当前语音帧能量为低即计算的能量值小于10.309dB,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅳ)判定当前语音帧为固定的摩擦音,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅴ)在时域中,判定当前语音帧能量与上一语音帧能量的差方小于20%以下,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅵ)判定当前语音帧为低音调,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅶ)判定当前语音帧为连续噪声,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
本发明中将当前语音帧的质量等级从0到12排序,如果质量等级为0表示当前语音帧为不重要帧,如果质量等级为12表示当前语音帧为重要帧;
编码模式选择单元,预设有编码模式,能根据语音帧质量等级选择语音帧的编码模式,当前语音帧质量等级越大,从将预设编码模式中选择更接近高比特的编码模式;
比特率确定单元,根据模式选择单元选择的编码模式来确定语音帧的目标比特率;
在基于语音帧内容的可变码率编码器中,编码后的语音帧框架结构如图2所示,其中重新定义封装帧头如图3所示;每个模式确定各自的帧类型,每个帧类型代表最终编码的比特率如图5所示。
码激励线性预测编码单元,根据确定的语音帧目标比特率对语音帧执行码激励线性预测变换编码,形成编码后的语音帧;
对一输入语音帧进行线性预测,并根据所得到的线性预测参数确定线性预测合成滤波器,按当前帧的语音模式编码速率对输入语音帧自适应码书搜索、固定码书搜索,同时对码书的索引值经行量化,此外还包括线谱对LSP,整数和分数基音延迟,固定码书增益和固定码书预测增益g′c的量化,最终封装成一个编码后的语音帧。
其中,模式选择单元增加了四种低码率的编码模式:MR325、MR350、MR400和MR450,分别代表四种速率:3.25kbit/s,3.50kbit/s,4.00kbit/s和4.50kbit/s,通过减少编码参数的冗余比特来压缩编码率。
在现有的AMR帧类型中,本发明重构语音帧类型,添加四种语音帧类型0000,0001,0010,0011分别代表3.25kbit/s,3.50kbit/s,4.00kbit/s和4.50kbit/s,全部帧的类型如图1所示,枚举出了全部可用的语音帧类型;由于语音帧有质量等级之分,根据质量等级,即当前语音帧质量等级越高,选择的模式将更接近高比特的模式。本发明设置七种模式作为可变码率的选择模式,七种模式各自对应帧类型如图4所示;
所述的四种编码模式的量化方式为:预测线谱对量化,基音延迟整数和小数部分的量化,代数码本量化以及代数码本和固定码本的增益量化。
其中,所述比特率确定单元通过设置语音帧的质量阀值来确定最终实际的平均编码率。该步骤中语音帧的质量阀值是通过测试20个语音文件来统计获得,给出了如图13的统计数组值,数组中每一行代表每种帧类型的质量阀值统计值;数组中的12列表示语音帧质量阀值可以从0.0到12.0设置,每个值代表最终实际的平均编码率。
本发明基于AMR-NB语音信号的可变码率解码器,包括:
帧类型解码单元,当编码后的语音帧到达解码器,对每帧的前3比特进行解码来确定该编码后的语音帧的类型,根据编码后的语音帧的类型索引值,从解码模式选择单元中选择预设的解码模式进行解码,解码出每一帧的类型;
解码模式选择单元,预设有解码模式,每个编码后的语音帧类型对应一个解码模式,确定解码的实际模式,选择对该类型的编码后的语音帧的解码模式;
码激励线性预测解码单元,根据解码模式选择单元得到的解码模式对编码后的语音帧执行码激励线性预测变换解码。
根据得到的解码模式,解码线谱对LSP获得预测系数LP,解码整数和分数基音延迟来获得每帧的基音,根据自适应码书和固定码书索引值来搜索码书,解码固定码书增益,并根据所得到的自适应码书参数和固定码书参数生成激励信号,最后在用该线性预测合成滤波器对该激励信号滤波生成合成数字语音帧。
其中,解码模式选择单元增加了四种低码率的解码模式:AMR_325、AMR_350、AMR_400和AMR_450,分别代表四种速率:3.25kbit/s,3.50kbit/s,4.00kbit/s和4.50kbit/s。
本发明基于AMR-NB语音信号的可变码率编码方法,包括:
1)将语音信号数值化形成语音帧,对语音帧进行滤波和增益控制;通常使用每抽样16比特来抽样和量化,每帧语音信号有低频信号和高频信号,且采样后的增益各不相同,预处理单元主要是语音信号可通过一个截止频率为80Hz的2阶高通滤波器,然后降低信号增益的过程。
2)根据语音帧内容来判定当前语音帧的质量等级,按语音帧的重要级别排序,质量等级越高,选择的模式将更接近高比特的模式,依次给予语音帧各自的编码模式和目标比特率,设置有可变码率的判定规则来判定当前帧的质量等级,选择最适当的编码率;
其中,所述判定规则如下:
Ⅰ)判定当前语音帧能量为高即计算的能量值大于10.309dB,代表当前语音帧的质量等级趋向于12,需要给予更多的比特即编码比特率趋向于5.15kbit/s;
Ⅱ)判定当前语音帧为浊音,代表当前语音帧的质量等级趋向于12,需要给予更多的比特即编码比特率趋向于5.15kbit/s;
Ⅲ)判定当前语音帧能量为低即计算的能量值小于10.309dB,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅳ)判定当前语音帧为固定的摩擦音,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅴ)在时域中,判定当前语音帧能量与上一语音帧能量的差方小于20%以下,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅵ)判定当前语音帧为低音调,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅶ)判定当前语音帧为连续噪声,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
本发明中将当前语音帧的质量等级从0到12排序,如果质量等级为0表示当前语音帧为不重要帧,如果质量等级为12表示当前语音帧为重要帧;
3)根据预设的编码模式,根据语音帧质量等级选择语音帧的编码模式,当前语音帧质量等级越大,从预设编码模式中选择更接近高比特的编码模式;
4)根据选择的编码模式来确定语音帧的目标比特率;在基于语音帧内容的可变码率编码器中,编码后的语音帧框架结构如图2所示,其中重新定义封装帧头如图3所示;每个模式确定各自的帧类型,每个帧类型代表最终编码的比特率如图5所示。
5)根据确定的语音帧目标比特率对语音帧执行码激励线性预测变换编码,形成编码后的语音帧。对一输入语音帧进行线性预测,并根据所得到的线性预测参数确定线性预测合成滤波器,按当前帧的语音模式编码速率对输入语音帧自适应码书搜索、固定码书搜索,同时对码书的索引值经行量化,此外还包括线谱对LSP,整数和分数基音延迟,固定码书增益和固定码书预测增益g′c的量化,最终封装成一个编码后的语音帧。
其中,步骤3)预设的编码模式增加了四种低码率的编码模式:MR325、MR350、MR400和MR450,通过减少编码参数的冗余比特来压缩编码率。
其中,所述的四种低码率的编码模式的量化方式为:预测线谱对量化,基音延迟整数和小数部分的量化,代数码本量化以及代数码本和固定码本的增益量化。
本发明基于AMR-NB语音信号的可变码率解码方法,包括:
1)对每编码后的语音帧的前3比特进行解码来确定该编码后的语音帧的类型,根据编码后的语音帧的类型索引值,从解码模式选择单元中选择预设的解码模式进行解码,解码出每一帧的类型;
2)根据预设的解码模式,每个编码后的语音帧类型对应一个解码模式,确定解码的实际模式,选择对该类型的编码后的语音帧的解码模式;
3)根据选择的解码模式对编码后的语音帧执行码激励线性预测变换解码。
根据得到的解码模式,解码线谱对LSP获得预测系数LP,解码整数和分数基音延迟来获得每帧的基音,根据自适应码书和固定码书索引值来搜索码书,解码固定码书增益,并根据所得到的自适应码书参数和固定码书参数生成激励信号,最后在用该线性预测合成滤波器对该激励信号滤波生成合成数字语音帧。
本发明采用了基于语音内容的可变码率的方法,根据当前语音帧判定的语音质量等级可以确定最佳的比特模式,除去了不重要帧中一些冗余的比特,实现了比特率的压缩;本发明能改进的AMR在信道条件不变的情况下,能进行码率模式的选择编码,能在解码端解码出相对应的语音帧。本发明提供了四种低码率编解码器/编解码方法,能应用于更低的固定码率环境中,能在编码的比特率更低的情况下保证主观质量,使其应用于低码率的移动互联网环境中。
本发明提供的四种新的编解码模式,包括:3.25kbit/s,3.50kbit/s,4.00kbit/s和4.50kbit/s。这四种新的编码都是减少AMR核心帧的类型B中的比特数;其中减少比特的方法是重新训练线谱对(Linear Spectrum Pair,LSP)矢量码本和增益码本,缩小激励矢量码本的尺寸。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是本发明重构语音帧类型示意图,枚举了所有可用的帧类型;
图2是本发明可变码率编码后语音帧的框架结构示意图;
图3是本发明可变码率编解码器重定义的封装帧头示意图;
图4是本发明可变码率编码器的模式,帧类型对应的结构示意图;
图5是本发明可变码率编码器的模式,帧类型和比特率对应的结构示意图;
图6是本发明语音编码器和解码器的语音通信系统的方框图;
图7是本发明语音帧参数重要级别排序示意图;
图8是本发明可变码率编码器的工作流程图;
图9是本发明可变码率解码器的工作流程图;
图10是本发明语音帧质量等级判定流程图;
图11是本发明模式判定和比特率确定的流程图;
图12是本发明可变码率编解码和固定码率编解码的语音主观质量比较图;
图13是本发明语音帧质量阀值统计数组图;
具体实施方式
本发明是基于AMR-NB通过对语音帧内容的重要性判断,确定最终的比特编码模式,在解码端通过语音帧类型指示AMR-NB解码器作出不同的处理。
为了充分公开本发明的内容,在说明本发明的具体实施例之前,首先说明标准AMR-NB语音编解码方法的原理:
AMR-NB语音编解码方法的基本原理是:编码器的输入为8kHz采样,16比特量化的线性PCM编码,编码操作以20ms的语音为一帧,即160个采样点。编码器提取代数码本激励线性预测(ACELP)的参数。这些参数包括线性预测滤波器(LP)的参数、自适应码本、固定码本的索引和增益。这些参数编码之后被传输。在解码器端,这些参数从接收到的比特流中提取,然后构造合成滤波器和激励信号,重构语音还要经过后置滤波器并进行比例放大。
AMR-NB核心帧中用4比特来表示帧类型,一共16种状态,即8种AMR-NB语音编码模式和4种舒适背景噪声模式和空帧。当信道条件好时,采用编码速率较高的模式来提高语音质量;而当信道条件差时,采用编码速率较低的模式来保证语音的质量。然而,在信道条件平衡时,编码速率将是固定不变。
下面结合附图对本发明于实际应用中实施例一进行详细的描述;
如图6所示,互联网语音通信系统描述了根据本发明的实施例一的语音编码和解码的使用方法。整个语音通信系统包括解码端的麦克风601,模数转换器602,语音编码器603和固定信道604,以及在解码端的语音解码器605,数模转换器606,和扬声器607;
麦克风601产生模拟语音信号,该模拟语音信号被传输到模数(A/D)转换器602,将它转换成数字形式,语音编码器603将数字化的语音信号编码,以产生一组被编码成二进制形式的参数并被发送到固定信道604传送到解码端。
在解码端一侧,语音解码器605将从信道中获得比特流转换回一组编码参数从而产生合成语音信号。在语音解码器605中被重建的合成语音信号在数模(D/A)转换器606中被转换成模拟形式,并且在扬声器单元607中回放。
在移动互联网中,麦克风601和A/D转换器602在实施例中表示了手机的麦克风和采样功能;扬声器607和D/A转换器606在实施例中表示了手机的播放功能;固定信道表示移动互联网传输媒介。
编码器603和解码器605被配置来实现一种对语音帧内容可变码率的低码率编码的方法。
为了达到更低编码率,本发明将增加AMR-NB低码率模式,将以前的8种语音模式扩充为12种语音模式,新添加的语音模式比特率为:3.25kbit/s,3.50kbit/s,4.00kbit/s和4.50kbit/s。且4种新的语音模式都是基于AMR-NB4.75kbit/s改进后都得到。
首先我们了解下AMR-NB4.75kbit/s的各个参数的比特分配如表1所示。根据四个参数在语音合成时的重要性排序如图7所示。根据参数重要性的高低依次来减少各个参数上的比特数。
表1AMR-NB4.75kbit/s的各个参数的比特分配
表2AMR-NB四种新模式的各个参数的比特分配
基于参数重要性排序,表2给出了四种新的编码模式的比特分配表。
下面结合四种新模式各个参数的比特分配表,分别实现各个参数的量化。
LSP集的量化和比特分配:
本发明将采样得到的话音帧或经过预处理的话音信号帧组成一个序列,用一个窗函数乘该序列中的声音样本,以提供一个加窗的声音数据帧;由该加窗的声音数据帧计算一组自相关系数;用莱文逊—杜宾(Levinson-Durbin)算法由自相关系数组计算一组线性预测系数;将该线性预测系数组转换到另一个频谱域上的系数组;例如,10阶的一组线频谱对(LSP)的值。然后将10阶的线谱对转换为线谱频率(Line Spectral Frequency,LSF)。线谱频率(LSF)的范围被控制在0~π之间,更加容易量化。将LSF减去平均值得到的值作为输入矢量,该矢量减去预测的LSF矢量获得的残差分成3个矢量经行分裂量化。
r(n)=z(n)-p(n) 公式(1)
公式1中r(n)为预测的残差矢量,z(n)为减去均值后的LSF矢量,p(n)为预测矢量。
公式(2)
公式2中给出了p(n)预测矢量的计算方法,其中αj为预测系数,为每帧量化后的残差矢量。r(n)被分裂成3个子矢量,且3个子矢量维数分别为3,3和4.表3给出了4种模式LSF残差的分裂矢量量化的比特分配表。
Mode Subvector1 Subvector2 Subvector3
3.25kbit/s 5 4 3
3.50kbit/s 6 5 4
4.00kbit/s 7 6 5
4.50kbit/s 7 7 6
表3四种模式LSF残差的分裂矢量量化的比特分配
然后通过闭环的聚包矢量训练算法,得出全部的码本。当获得当前帧的残差时,通过最小均方差来搜索码本进而查询得到索引值。
增益gain的量化:
自适应多速率窄带(AMR-NB)语音编码包括了固定码书增益量化的过程。固定码书增益量化是指:基于以前子帧的量化能量预测误差(quantified prediction error)得到的预测增益(或固定码书预测增益),以及固定码书增益和所述的预测增益(或固定码书预测增益)之间的修正因子的量化。子帧的量化能量预测误差(quantified predictionerror)就是修正因子的对数按固定比例放大后的值。将自适应的码本增益与固定码书增益和预测增益之间的修正因子联合成为一个矢量,且每两个子帧产生一个实际搜索的矢量。通过公式3最小权重误差和来搜索码本进而查询得到索引值。
公式(3)
x为目标矢量,y为滤波器自适应码本矢量,z为滤波器固定码本矢量.gp为自适应的码本增益,gc为固定码本增益。
四种模式增益gain矢量量化的比特分配如表2所示。
基音延迟(Pitch delay)的量化:
经过AMR-NB的开环和闭环基音搜索,获得基音的整数部分和小数部分。基音的量化是根据算数代码进行量化,由于基音对语音主观质量的影响比较大,本发明只对该部分量化进行了很小的改动,对比AMR-NB的4.75kb/s的基音延迟,表4给出了四种模式基音延迟量化的变动值。
Mode 1st子帧 2nd子帧 3rd子帧 4th子帧
3.25kbit/s 减少1比特 不变 不变 不变
3.50kbit/s 减少1比特 不变 不变 不变
4.00kbit/s 不变 不变 不变 不变
4.50kbit/s 不变 不变 不变 不变
表4四种模式基音延迟量化的变动表
如表4所示,从第2,3,4子帧的小数部分都延续了4.75kbit/s的量化过程,只有3.25kbit/s和3.50kbit/s对基音整数进行了量化点稀疏。基音的最大值为143,且最小值为20,在模式MR325和MR350中采用了7比特128个索引值来量化基音的整数部分。
代数码本(Algebraic code)量化,
代数码本量化给予了每个子帧9个比特来量化,其中1比特被用于子集的位置信息的编码,且两脉冲的位置信息用3个比特表示(总共6比特),每个脉冲信号的能量用1比特来量化(总共2比特)。本发明中子集的位置信息比特和每个脉冲的能量比特都不变,只是减少每个脉冲信号的位置信息比特,对比AMR-NB的4.75kb/s的代数码本比特分配,表5给出了四种模式代数码本量化的变动值。
Mode 1st子帧 2nd子帧 3rd子帧 4th子帧
3.25kbit/s 减少2比特 减少2比特 减少2比特 减少2比特
3.50kbit/s 减少2比特 减少2比特 减少2比特 减少2比特
4.00kbit/s 减少1比特 减少1比特 减少1比特 减少1比特
4.50kbit/s 不变 不变 不变 不变
表5四种模式代数码本量化的变动表
模式比特率4.00kbit/s针对一个脉冲信号的位置信息的步径进行了扩大,使其编码的索引值减小一半,3.25kbit/s和3.50kbit/s针对两个脉冲信号的位置信息的步径进行了扩大,使其编码的索引值减小一半。
固定码率解码器:
本发明的解码器端延续了AMR-NB的解码流程,当接收到编码后的语音帧时,先获得当前帧的帧类型,每个帧类型对应一个解码模式,解码器根据固定的解码模式来对每个参数的索引进行解码,最终利用解码的参数进行码激励线性预测解码合成语音信号。解码流程图如图9所示。
以上的方法是通过AMR-NB的4.75kbit/s码率模式进行改进,运用该模型后,在降低比特率时就不会过快降低语音质量。然而,运行低于比特率4.00kbit/s的固定码率编码,主观质量有所衰减,部分语音帧显示模糊状态。
下面结合附图对本发明于实际应用中实施例二进行详细的描述
在实际应用实施例一中,提出了四种更低码率的编码器,但是在比特率下降的同时,主观质量也会下降。在实施例一的基础上,实施例二基于低码率固定编码的不足,运用基于语音帧内容的可变码率编码,在减少比特率的同时保持语音主观质量。
图8是根据本发明的可变码率编码器的框图。参考图8,可变码率编码器包括预处理单元801,语音帧质量判定单元802,编码模式选择单元803,比特率确定单元804和码激励线性预测编码单元805.
预处理单元801可从输入语音信号去除非期望的频率分量,并可执行用于调节频率特性的预滤波,以对语音信号进行编码。本发明的预处理单元主要使输入的语音信号归一化,采用了截止频率为80Hz高通滤波器和语音信号按比例缩小的衰减器。公式4表示一个2阶高通滤波器,屏蔽了一些低频的信号成份。
公式(4)
语音帧质量判定单元802根据预处理后的语音帧内容来判定当前语音帧的质量等级。图10给出了整个判定流程;
在操作1001,将预处理后的语音信号输入语音帧质量判定单元802进行语音质量等级的判定。
在操作1003,根据预处理后的语音信号计算每帧的能量,能量的计算方法为160个采样点的平方和值ener,然后将该平方和值ener作对数log(ener)计算获得当前帧的对数域能量log_energy。语音帧能量判定单元1011将基于当前帧能量的高低来判定当前帧质量,如下流程所示,
该流程表示,当帧的能量值小于log(30000)即10.309dB时,质量等级值qual将被减小,当前帧的重要性将减弱,可以给予更少的比特来量化参数;反之,当帧的能量大于log(30000)即10.309dB时,质量等级值将不被减小,可以给予多的比特来量化参数;
在操作1002,利用1003计算得到的语音帧能量计算噪声等级;噪声等级计算如公式5所示
noise_level=noise_accumnoise_accum_count 公式(5)
其中noise_accum和noise_accum_count初始设置为0.05*Pow(6000,0.3)和0.05,根据当前帧的能量ener来累计更新其值,如下流程,
当噪声等级计算完成,噪声判定单元1012将根据当前的噪声等级来判定当前帧是否为连续噪声即pow_ener<1.5*noise_level,如果判定为连续噪声,噪声计数值consec_noise加1,否则噪声计数值consec_noise为0;当consec_noise大于0时,质量等级值qual如公式6所示,
qual-=1.0*(log(3.0+consec_noise)-log(3)) 公式(6)
表示将减小当前帧的质量等级值,代表当前语音帧重要性比较小,可以给予较少的比特来量化参数。
在操作1004,利用当前帧能量和前一帧能量来计算能量的稳定性系数,能量的稳定性系数如公式7所示,
non_st=(log_energy-last_log_energy)2 公式(7)
在能量谱稳定性判定单元1010中,如果能量的稳定性系数non_st小于20%,代表当前帧稳定性较好,两帧之间的相关性强,质量等级值qual根据公式6计算,可以给予较少的比特来量化参数。
在操作1005,根据AMR的开环基音的计算方法获得开环基音pitch_coef,直接将当前帧的基音输入语音低音调判定单元1007,低音调判定单元1007中质量等级值qual如公式8所示,
qual=qual+2.2*((pitch_coef-0.4)+(soft_pitch-0.4)) 公式(8)
其中soft_pitch如下公式所示,且初始值为0。
soft_pitch=0.6*soft_pitch+0.4*pitch_coef
如果计算的基音值小即低音调,语音帧质量等级值qual将变小,可以给予较少的比特来量化参数。
在操作1006,基于当前帧的语音开环基音pitch_coef来计算当前帧的浊音系数。浊音系数如公式9所示,
voicing=3*(pitch_coef-.4)*|pitch_coef-.4| 公式(9)
浊音系数直接作为清浊音判定单元1009和1008的输入,通过与设定好的预阀值比较,来判定当前帧是否为清浊音。如果判定当前帧为浊音voicing>0.4,语音质量等级值增大,可以给予更多的比特来量化参数;如果判定为摩擦音voicing<0.4,语音质量等级值qual减小,可以给予较少的比特来量化参数,其中质量等级值计算如公式6。
经过语音帧质量判定单元802将获得当前帧的质量等级值,质量等级值趋向于12,代表当前帧重要性强,编码的比特率趋向于5.15kbit/s;反之,质量等级值趋向于0,代表当前帧重要性弱,编码的比特率趋向于3.25kbit/s。
编码模式选择单元803和比特率确定单元804,首先根据当前帧判定的质量值来选择编码模式,然后根据所选择的编码模式来确定当前帧的编码比特率。本发明设置七种模式作为可变码率的选择模式,七种模式各自对应帧类型如图4所示;在比特率确定单元804中可以通过设置声音质量阀值来调节可变码率的主观质量。本发明给出了质量等级0-12(包括小数)来设置可变码率的实际编码平均码率;表6给出了15个语音文件测试得到8种可变码率的实际编码平均码率。
质量等级值 实际编码平均码率
0.8 3.1448
1.3 3.2550
1.8 3.5139
2.4 3.8982
2.8 4.0707
3.7 4.4891
6.0 4.8210
8.0 4.9511
表6质量等级值与实际编码的平均码率对照表
当设置的质量等级值越小,选择的模式更加集中在低码率模式,例如MRDTX,MR325,实际编码的平均码率越小;反之,设置的质量等级值越大,选择的模式更加集中在高码率模式,例如MR515,MR475,实际编码的平均码率越大。图11显示了整个模式判定和比特率确定的流程图。
码激励线性预测编码单元805,一旦当前帧的比特率确定后,本发明将根据实施例一中的编码部分来编码当前帧。
在本发明的实施例二中,对当前语音帧基于语音内容的可变码率的判定,提出了变码率的实施方法。比较固定码率主观语音质量,经过大量人员的听力测试,如图12所示,在主观质量相同的情况下,实际的编码率低于固定的码率值。
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

Claims (6)

1.一种基于AMR-NB语音信号的可变码率编码器,其特征是,包括:
预处理单元,将语音信号数值化形成语音帧,对语音帧进行滤波和增益控制,将语音帧发送至语音帧质量判定单元;
语音帧质量判定单元,根据预处理单元发送的语音帧内容来判定当前语音帧的质量等级,按语音帧的质量级别排序,质量等级越高,选择的模式将更接近高比特的模式,依次给予语音帧各自的编码模式和目标比特率,其设置有可变码率的判定规则来判定当前帧的质量等级,将计算所得的质量等级值发送至编码模式选择单元;
其中,所述判定规则如下:
Ⅰ)判定当前语音帧能量为高即计算的能量值大于10.309dB,代表当前语音帧的质量等级趋向于12,需要给予更多的比特即编码比特率趋向于5.15kbit/s;
Ⅱ)判定当前语音帧为浊音,代表当前语音帧的质量等级趋向于12,需要给予更多的比特即编码比特率趋向于5.15kbit/s;
Ⅲ)判定当前语音帧能量为低即计算的能量值小于10.309dB,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅳ)判定当前语音帧为固定的摩擦音,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅴ)在时域中,判定当前语音帧能量与上一语音帧能量的差方小于20%以下,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅵ)判定当前语音帧为低音调,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅶ)判定当前语音帧为连续噪声,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
将当前语音帧的质量等级从0到12排序,如果质量等级为0表示当前语音帧为不重要帧,如果质量等级为12表示当前语音帧为重要帧;
编码模式选择单元,预设有编码模式,能根据语音帧质量等级选择语音帧的编码模式,当前语音帧质量等级越大,从预设编码模式中选择更接近高比特的编码模式;
比特率确定单元,根据模式选择单元选择的编码模式来确定语音帧的目标比特率;
码激励线性预测编码单元,根据确定的语音帧目标比特率对语音帧执行码激励线性预测变换编码,形成编码后的语音帧。
2.如权利要求1所述基于AMR-NB语音信号的可变码率编码器,其特征是:模式选择单元增加了四种低码率的编码模式:MR325、MR350、MR400和MR450,通过减少编码参数的冗余比特来压缩编码率;且所述比特率确定单元通过设置语音帧的质量阈值来确定最终实际的平均编码率;
其中,MR325编码比特率为3.25kbit/s,MR350编码比特率为3.50kbit/s,MR400编码比特率为4.00kbit/s,MR450编码比特率为4.50kbit/s。
3.如权利要求2所述基于AMR-NB语音信号的可变码率编码器,其特征是:所述的四种低码率的编码模式的量化方式为:预测线谱对量化,基音延迟整数和小数部分的量化,代数码本量化以及代数码本和固定码本的增益量化。
4.一种基于AMR-NB语音信号的可变码率编码方法,其特征是,包括:
1)将语音信号数值化形成语音帧,对语音帧进行滤波和增益控制;
2)根据语音帧内容来判定当前语音帧的质量等级,按语音帧的重要级别排序,质量等级越高,选择的模式将更接近高比特的模式,依次给予语音帧各自的编码模式和目标比特率,设置有可变码率的判定规则来判定当前帧的质量等级,选择最适当的编码率;
其中,所述判定规则如下:
Ⅰ)判定当前语音帧能量为高即计算的能量值大于10.309dB,代表当前语音帧的质量等级趋向于12,需要给予更多的比特即编码比特率趋向于5.15kbit/s;
Ⅱ)判定当前语音帧为浊音,代表当前语音帧的质量等级趋向于12,需要给予更多的比特即编码比特率趋向于5.15kbit/s;
Ⅲ)判定当前语音帧能量为低即计算的能量值小于10.309dB,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅳ)判定当前语音帧为固定的摩擦音,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅴ)在时域中,判定当前语音帧能量与上一语音帧能量的差方小于20%以下,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅵ)判定当前语音帧为低音调,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
Ⅶ)判定当前语音帧为连续噪声,代表当前语音帧的质量等级趋向于0,需要给予较少的比特即编码比特率趋向于3.25kbit/s;
将当前语音帧的质量等级从0到12排序,如果质量等级为0表示当前语音帧为不重要帧,如果质量等级为12表示当前语音帧为重要帧;
3)根据预设的编码模式,根据语音帧质量等级选择语音帧的编码模式,当前语音帧质量等级越大,从预设编码模式中选择更接近高比特的编码模式;
4)根据选择的编码模式来确定语音帧的目标比特率;
5)根据确定的语音帧目标比特率对语音帧执行码激励线性预测变换编码,形成编码后的语音帧。
5.如权利要求4所述基于AMR-NB语音信号的可变码率编码方法,其特征是:步骤3)预设的编码模式增加了四种低码率的编码模式:MR325、MR350、MR400和MR450,通过减少编码参数的冗余比特来压缩编码率;
其中,MR325编码比特率为3.25kbit/s,MR350编码比特率为3.50kbit/s,MR400编码比特率为4.00kbit/s,MR450编码比特率为4.50kbit/s。
6.如权利要求5所述基于AMR-NB语音信号的可变码率编码方法,其特征是:所述的四种低码率的编码模式的量化方式为:预测线谱对量化,基音延迟整数和小数部分的量化,代数码本量化以及代数码本和固定码本的增益量化。
CN201310461595.6A 2013-09-30 2013-09-30 基于amr-nb语音信号的可变码率编码器和解码器及其编码和解码方法 Expired - Fee Related CN104517612B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310461595.6A CN104517612B (zh) 2013-09-30 2013-09-30 基于amr-nb语音信号的可变码率编码器和解码器及其编码和解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310461595.6A CN104517612B (zh) 2013-09-30 2013-09-30 基于amr-nb语音信号的可变码率编码器和解码器及其编码和解码方法

Publications (2)

Publication Number Publication Date
CN104517612A CN104517612A (zh) 2015-04-15
CN104517612B true CN104517612B (zh) 2018-10-12

Family

ID=52792815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310461595.6A Expired - Fee Related CN104517612B (zh) 2013-09-30 2013-09-30 基于amr-nb语音信号的可变码率编码器和解码器及其编码和解码方法

Country Status (1)

Country Link
CN (1) CN104517612B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106792489A (zh) * 2017-02-16 2017-05-31 上海斐讯数据通信技术有限公司 一种基于蓝牙的语音传输方法、系统及物联网终端
CN109996071B (zh) * 2019-03-27 2020-03-27 上海交通大学 基于深度学习的可变码率图像编码、解码系统及方法
CN112767953B (zh) * 2020-06-24 2024-01-23 腾讯科技(深圳)有限公司 语音编码方法、装置、计算机设备和存储介质
CN114495951A (zh) * 2020-11-11 2022-05-13 华为技术有限公司 音频编解码方法和装置
CN112767956B (zh) * 2021-04-09 2021-07-16 腾讯科技(深圳)有限公司 音频编码方法、装置、计算机设备及介质
CN116052700B (zh) * 2022-07-29 2023-09-29 荣耀终端有限公司 声音编解码方法以及相关装置、系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999038155A1 (en) * 1998-01-21 1999-07-29 Nokia Mobile Phones Limited A decoding method and system comprising an adaptive postfilter
CN1331826A (zh) * 1998-12-21 2002-01-16 高通股份有限公司 可变速率语音编码
CN1451155A (zh) * 1999-09-22 2003-10-22 科恩格森特系统股份有限公司 多模式语音编码器
CN1703736A (zh) * 2002-10-11 2005-11-30 诺基亚有限公司 用于源控制可变比特率宽带语音编码的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999038155A1 (en) * 1998-01-21 1999-07-29 Nokia Mobile Phones Limited A decoding method and system comprising an adaptive postfilter
CN1331826A (zh) * 1998-12-21 2002-01-16 高通股份有限公司 可变速率语音编码
CN101178899A (zh) * 1998-12-21 2008-05-14 高通股份有限公司 可变速率语音编码
CN1451155A (zh) * 1999-09-22 2003-10-22 科恩格森特系统股份有限公司 多模式语音编码器
CN1703736A (zh) * 2002-10-11 2005-11-30 诺基亚有限公司 用于源控制可变比特率宽带语音编码的方法和装置

Also Published As

Publication number Publication date
CN104517612A (zh) 2015-04-15

Similar Documents

Publication Publication Date Title
KR100264863B1 (ko) 디지털 음성 압축 알고리즘에 입각한 음성 부호화 방법
CN1820306B (zh) 可变比特率宽带语音编码中增益量化的方法和装置
CN104517612B (zh) 基于amr-nb语音信号的可变码率编码器和解码器及其编码和解码方法
CN1112671C (zh) 综合分析语音编码器中噪声隐蔽电平适应性修改方法
TWI672691B (zh) 解碼方法
US20080162121A1 (en) Method, medium, and apparatus to classify for audio signal, and method, medium and apparatus to encode and/or decode for audio signal using the same
US20050053130A1 (en) Method and apparatus for voice transcoding between variable rate coders
SG194580A1 (en) Apparatus for quantizing linear predictive coding coefficients, sound encoding apparatus, apparatus for de-quantizing linear predictive coding coefficients, sound decoding apparatus, and electronic device therefor
KR20080083719A (ko) 오디오 신호를 부호화하기 위한 부호화 모델들의 선택
CN106463134B (zh) 用于对线性预测系数进行量化的方法和装置及用于反量化的方法和装置
CN106663441A (zh) 改进时域编码与频域编码之间的分类
CN105359211A (zh) 语音处理的清音/浊音判决
US8265929B2 (en) Embedded code-excited linear prediction speech coding and decoding apparatus and method
Wang et al. A novel hierarchical decomposition vector quantization method for high-order LPC parameters
KR100651712B1 (ko) 광대역 음성 부호화기 및 그 방법과 광대역 음성 복호화기및 그 방법
KR100480341B1 (ko) 광대역 저전송률 음성 신호의 부호화기
WO2004090864A2 (en) Method and apparatus for the encoding and decoding of speech
Özaydın et al. Matrix quantization and mixed excitation based linear predictive speech coding at very low bit rates
JPH05265496A (ja) 複数のコードブックを有する音声符号化方法
US20030055633A1 (en) Method and device for coding speech in analysis-by-synthesis speech coders
JPH07225599A (ja) 音声の符号化方法
Zhang et al. A CELP variable rate speech codec with low average rate
Ojala Toll quality variable-rate speech codec
Ozaydin et al. A 1200 bps speech coder with LSF matrix quantization
KR100745721B1 (ko) 임베디드 코드여기 선형예측 음성 부호화/복호화 장치 및그 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181012

Termination date: 20200930

CF01 Termination of patent right due to non-payment of annual fee