HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种轻载荷双Bit自适应增量语音编码译码方法及装置与流程

2021-01-28 14:01:53|312|起点商标网
一种轻载荷双Bit自适应增量语音编码译码方法及装置与流程
本发明涉及语音编码
技术领域:
,尤其涉及一种轻载荷双bit自适应增量语音编码译码方法及装置。
背景技术:
:无论在数字通信系统,还是在数字语音录放系统中,都离不开将模拟信号转化为数字信号这一关键环节,模拟信号数字化方法种类繁多,目前采用最多的是基于信号波形的模数转换方法,即波形编码、常用的波形编码方法有脉冲编码调制(pcm)、增量调制(dm)、差值脉冲编码调制(dpcm),以及它们的改进方法自适应增量调制(adm)以及自适应差值脉冲编码调制(adpcm)等。随着微电子技术和通信技术的发展,功能强、集成度高的各种类型的编译码器不断涌现,如pcm编译码和滤波器mc14557、增量调制解调电路mc3417/mc3418、adpcm编译码器mc145532等;另一方面,基于各种硬件资源,利用软件实现语音信号编码的应用也越来越多,如利用mcu单片机和dsp微处理器实现对语音信号编译码,并在此基础上产生了众多高效和更好性能的算法,如adpcm、lpc(线性预测编码)、mp1(mpeg-1audiolayer1)、mp3(mpeg-1audiolayer3)、和celp(码激励线性预测编码)等。然而,对于实时性要求较高的应用中,对于以mcu为核心的低成本的终端产品而言,上述算法的复杂度普遍偏高,编、译码延时也过大,普遍延时都在毫秒级以上,在硬件资源不足的情况下,以上算法的适用性将受到很大限制。其中,adm编码算法具有最低的复杂度和最短的编译码时延,但由于算法过于简单,极易出现斜率过载和颗粒噪声过大等问题,在采样速率较低时音质会变得较差。技术实现要素:本发明为解决上述问题,提出了一种基于单片机进行语音编译码的一种轻载荷,运算复杂度底的双bit自适应增量语音编码译码方法和装置,解决常规自适应增量编码调制(adm)算法斜率过载和颗粒噪声大等缺点,提高再生语音信号的自然度、清晰度和可懂度。为达到上述目的,本发明采用如下技术方案:一种轻载荷双bit自适应增量语音编码译码方法,包括语音编码和语音译码,其特征在于,所述语音编码包括如下步骤:(1)通过微处理器的adc通道对原始语音信号进行定时采样,每4个采样数据执行一次编码,得到1字节的编码数据;(2)每一个采样数据编码为2bit数据,前一比特为增量符号控制位,后一比特为增量台阶控制位,增量符号控制位依据当前采样数据的真实值x(n)和预测值p(n)进行确定,增量台阶控制位依据当前采样数据的真实值和预测值的差值△x=|x(n)-p(n)|与当前增量台阶△进行确定;增量符号控制位为1表示增量为正,为0表示增量为负,增量台阶控制位为1表示增量台阶增大为原来的2倍,为0表示增量台阶缩小为原来的1/2倍;如果采样信号x(n)大于或等于预测信号p(n),写入符号位为1,反之采样信号x(n)小于预测信号p(n),写入符号位为0;预测误差△x=|x(n)-p(n)|,如果△x大于或等于当前量阶△,写入增量位为1,反之如果△x小于当前量阶△,写入增量位为0;所述语音译码包括如下步骤:(3)每经过4个采样定时周期提取1字节编码数据,首先对得到的2进制编码数据进行拆解,按每2bit为一个单元进行译码,根据第一个bit来控制增量的正负符号,根据第二个bit来控制增量台阶的大小变化;y(n)为一个字节长度的已编码数据;dsteps为增量编码算法的量阶,即dsteps=△;dvalue为下一时刻的预测值;dout(n)为当前时刻的译码输出值;首先对得到的2进制编码数据进行拆解,按每2bit为一个单元进行译码:若接收bit为“11”,则dsteps(n)=dsteps(n-1)*2,输出数据为dvalue(n)=dvalue(n-1)+dsteps(n);若接收bit为“10”,则dsteps(n)=dsteps(n-1)/2,输出数据为dvalue(n)=dvalue(n-1)+dsteps(n);若接收bit为“01”,则dsteps(n)=dsteps(n-1)*2,输出数据为dvalue(n)=dvalue(n-1)-dsteps(n);若接收bit为“00”,则dsteps(n)=dsteps(n-1)/2,输出数据为dvalue(n)=dvalue(n-1)-dsteps(n)。其中,dsteps(n)和dvalue(n)分别为当前定时周期的增量台阶和译码输出数据值,dsteps(n-1)和dvalue(n-1)为前一个定时周期的增量台阶和译码输出数据值。(4)执行一次解码步骤得到4个语音数据,然后在每个定时周期通过微处理器dac通道输出一个语音信号;一种轻载荷双bit自适应增量语音编码译码装置,包括如权利要求1所述的语音编码和语音译码;其特征在于,还包括语音传感器(1)、lna放大器(2)、带通滤波器bpf(3)、微处理器(6)、rf收发器(7)、天线(8)和扬声器(9);首先由语音传感器(1)检测原始语音信号,经由lna放大器(2)及带通滤波器bpf(3)送给微处理器(6),在微处理器内进行a/d定时采集数据,得到数字信号;然后,进行所述的语音编码处理,每4个数据经过所述语音编码处理后,得到语音编码信号,送给rf收发器(7)经天线(8)发送出去;同时rf收发器(7)通过时分方式接收天线(8)信号,传给微处理器(6),微处理器每经4个定时周期提取一个语音编码信号,然后经所述语音译码处理还原出语音信号;最后经d/a转换器输出,送给低通滤波器lpf(5)和语音功率放大器(4),驱动扬声器(9)发出声音。采用本发明的产生的有益效果为:1、本发明运行稳定,复杂度低,在相同的传输比特率情况下,能够提高再生语音信号的自然度、清晰度和可懂度,具有一定工程应用价值。2、本发明的编、译码算法在常规自适应增量编码调制算法(adm)的基础上,对其编码结构和运行方式进行了全新设计,解决了adm算法存在的斜率过载和颗粒噪声大等缺点。3、相对于现有的绝大多数的语音编、译码算法,本发明的编、译码算法复杂度低,系统资源占用极小,具有超低的处理时延,适合不同性能的单片机及微处理器完成对语音的编、译码处理,在合理配置采样速率的情况下,可以得到清晰度高、还原度好的传输语音。附图说明图1是本发明语音编码原理示意图图2是本发明语音译码原理示意图;图3是本发明语音编码译码装置结构示意图图4是本发明语音编码流程示意图图5是本发明语音译码流程示意图图中,1—语音麦克风,2—低噪声放大器(lna),3—带通滤波器(bpf),4—语音功率放大器,5—低通滤波器(lpf),6—微处理器,7—射频(rf)收发器,8—射频天线,9—扬声器。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。参考图1,本发明涉及一种用于语音编码调制的实现方式,将模拟语音信号转变为数字信号以便在信道中传输。语音编码的目的是在保持一定的算法复杂程度和通信时延的前提下,占用尽可能少的通信容量,传送尽可能高质量的语音。语音编码技术又可分为波形编码、参量编码和混合编码三大类。本发明属于波形编码的一种。本发明提供了一种用于语音编码调制的方法,完成对数字语音信号的编码、译码。本发明使用双比特位来表示一位原始采样数据,使用增量符号和自适应增量台阶相结合的方式,完成对语音信号的编码、译码。数据采集及编码:本发明通过单片机(或其它处理器)的adc通道对原始语音信号进行定时采样,每4个采样数据执行一次编码算法,得到1字节的编码数据,编码过程参考图1。编码过程采用双bit的增量符号和自适应增量台阶相结合的编码方式,即每一个采样数据编码为2bit数据,前一比特为增量符号控制位,后一比特为增量台阶控制位,增量符号控制位依据当前采样数据的真实值x(n)和预测值p(n)进行确定,增量台阶控制位依据当前采样数据的真实值和预测值的差值△x=|x(n)-p(n)|与当前增量台阶△进行确定。编码算法流程参考图4。数据译码及输出:每经过4个采样定时周期提取1字节编码数据,执行一次译码算法得到4个语音数据,然后在每个定时周期通过单片机dac通道输出一个语音信号,译码过程参考图2。译码过程为编码过程的逆过程。首先对得到的2进制编码数据进行拆解,按每2bit为一个单元进行译码,译码流程为:根据第一个bit来控制增量的正负符号,根据第二个bit来控制增量台阶的大小变化,算法流程图参考图5。本发明的编、译码算法复杂度低,系统资源占用小,具有极低的处理时延,适合低性能的单片机及微处理器完成对语音的编码、译码处理,通过合理配置采样速率,能够得到清晰度高、还原度好的传输语音。本发明编码△值(增量台阶)自适应表和编码数据bit位说明分别参见表1和表2,其中△为增量编码算法的当前量阶。表1△值自适应表第1位第0位新的增量值11+2△10+1/2△01-1/2△00-2△数字量data1、data2、data3、data4为语音的a/d采样数据,先后顺序为从左到右,且每4个采样数据构成一个编码周期;编码周期形成一个字节的编码数据,每个字节分为4组,分别是bit7和bit6、bit5和bit4、bit3和bit2、bit1和bit0、每一组分别表示每个采样点数据编码后得到的编码值;本发明编码bit位说明:符号4和增量4为一组(2bit),符号3和增量3为一组(2bit),依次类推,分别表示每个采样点数据编码后得到的编码值,每4组形成1个字节;表2bit位说明参考图2,采样周期等同于a/d的采样速率;参考图3,本发明通过增加语音传感器、rf收发器、语音功放和扬声器等部件,实现语音信号的编解码和射频收发功能。实现过程为:首先由语音传感器(1)检测原始语音信号,经由lna放大器(2)及带通滤波器bpf(3)送给微处理器(6),在微处理器内进行a/d定时采集数据,得到数字信号,然后,进行上述语音编码处理,每4个数据经过语音编码处理后,得到编码信号,送给rf收发器(7)经天线(8)发送出去;同时rf收发器(7)通过时分方式接收天线(8)信号,传给微处理器(6),微处理器每经4个定时周期提取一个上述语音编码信号,然后经上述语音译码还原出语音信号;再经d/a转换器输出,送给低通滤波器lpf(5)和语音功率放大器(4),驱动扬声器(9)发出声音。参考图4,x(n)为当前点的a/d采样数据,p(n)为当前点的预测数据,△x=|x(n)-p(n)为|预测误差,△为增量编码算法的当前量阶;其基本编码过程是:如果采样信号x(n)大于或等于预测信号p(n),写入符号位为1,反之采样信号x(n)小于预测信号p(n),写入符号位为0;预测误差△x=|x(n)-p(n)|,如果△x大于或等于当前量阶△,写入增量位为1,反之如果△x小于当前量阶△,写入增量位为0。参考图5,y(n)为一个字节长度的已编码数据;dsteps为增量编码算法的量阶,即dsteps=△;dvalue为下一时刻的预测值;dout(n)为当前时刻的译码输出值。轻载荷双bit自适应增量语音编码译码方法及装置的译码过程的流程图参考图5。首先对得到的2进制编码数据进行拆解,按每2bit为一个单元进行译码,译码流程为:若接收bit为“11”,则dsteps(n)=dsteps(n-1)*2,输出数据为dvalue(n)=dvalue(n-1)+dsteps(n);若接收bit为“10”,则dsteps(n)=dsteps(n-1)/2,输出数据为dvalue(n)=dvalue(n-1)+dsteps(n);若接收bit为“01”,则dsteps(n)=dsteps(n-1)*2,输出数据为dvalue(n)=dvalue(n-1)-dsteps(n);若接收bit为“00”,则dsteps(n)=dsteps(n-1)/2,输出数据为dvalue(n)=dvalue(n-1)-dsteps(n)。其中,dsteps(n)和dvalue(n)分别为当前定时周期的增量台阶和译码输出数据值,dsteps(n-1)和dvalue(n-1)为前一个定时周期的增量台阶和译码输出数据值。轻载荷双bit自适应增量语音编码译码方法及装置△值(量阶)自适应表参考表1。它根据语音信号的幅值变化信息相应地改变△幅值,即在幅值变化不大的区域内,取小的量阶△值;在幅值变化大的区域内适当地调制量阶△的值,使得当语音信号的幅度变化较大时,量阶△值相应增大。本发明公开了一种轻载荷双bit自适应增量编、译码算法,使用双比特位来表示一位原始语音采样数据,采用增量符号和自适应增量台阶相结合的调制方式,完成对语音信号的编、译码。本发明对语音的编码压缩率可达l/2,其中l为语音采样数据位宽,即当原始数据位宽为16bit、12bit及8bit时,压缩比分别为1/8、1/6和1/4。此外本发明体量小,载荷轻,数据计算复杂度低,对处理器平台的运算速度要求较低,能够很好的适应高、低速率处理器。本发明可以解决单bit自适应增量调制(adm)算法斜率过载和颗粒噪声过大等缺点,能够提高再生语音信号的自然度、清晰度和可懂度。本发明提出了一种基于单片机进行语音编译码的一种轻载荷,运算复杂度底的双bit自适应增量语音编码译码方法和装置,解决常规自适应增量编码调制(adm)算法斜率过载和颗粒噪声大等缺点,而且理论分析和试验表明,该算法运行稳定,复杂度低,在相同的传输比特率情况下,能够提高再生语音信号的自然度、清晰度和可懂度,具有一定工程应用价值。以上内容是结合具体实施例对本发明所作的进一步详细说明,不能认定本发明的具体实施只限于此。对于本发明所属
技术领域:
的普通技术人员来说,在不脱离本发明构思的前提下做出若干等同替代或明显变型,且性能或用途相同,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。当前第1页1 2 3 

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips