CN105094978A - 语音处理装置及方法 - Google Patents
语音处理装置及方法 Download PDFInfo
- Publication number
- CN105094978A CN105094978A CN201410205793.0A CN201410205793A CN105094978A CN 105094978 A CN105094978 A CN 105094978A CN 201410205793 A CN201410205793 A CN 201410205793A CN 105094978 A CN105094978 A CN 105094978A
- Authority
- CN
- China
- Prior art keywords
- pcm
- value
- alaw
- ulaw
- corresponding relation
- 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.)
- Granted
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种语音处理装置及方法。所述装置包括依次通过总线相连的模数转换芯片、微处理器和驱动模块,所述微处理器包括PCM数据处理模块、与所述PCM数据处理模块分别相连的ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块、以及与所述ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块分别相连的传输接口,所述ALAW与PCM转换随机存储模块用于存储ALAW的值与PCM的值之间的对应关系,所述ULAW与PCM转换随机存储模块用于存储ULAW的值与PCM的值之间的对应关系,所述传输接口接收的数据和PCM数据处理模块接收的数据通过调用ALAW与PCM转换随机存储模块或者调用ULAW与PCM转换随机存储模块进行转换。降低了CPU的占有率,降低了CPU负担,提高了语音处理装置的并发处理能力。
Description
技术领域
本发明涉及音频处理技术,特别是涉及一种语音处理装置及方法。
背景技术
传统的语音处理装置中影响CPU(CentralProcessingUnit,中央处理器)占有率的重要方面之一是语音编解码,将ALAW/ULAW(G.711标准下的两个压缩算法)和线形PCM(PulseCodeModulation,脉冲编码调制)相互转换,占用了大量的CPU,导致相同硬件的条件下,通话并发数受限制,反之如果语音编解码的CPU占有率下降,则并发数将增加。
如图1所示,传统的语音处理装置包括通过总线依次相连的FXS(ForeignExchangeStation,外部交换站)和FXO(ForeignExchangeOffice,外部交换局)芯片、FPGA(FieldProgrammableGateArray,可编程逻辑门阵列)、PCI(PeripheralComponentInterconnect,外部部件连接总线)/PCIE(PeripheralComponentInterconnectExpress)桥和PCIE驱动,在PCIE驱动中包括语音编解码单元,该语音处理装置将通过语音传输网络传输的语音传输到PCIE驱动处,由CPU计算实现ALAW/ULAW与PCM编码的相互转换,一路通道每秒处理64KB的数据的相互转换,一般并发数至少几十路,并发数越大CPU的计算量也就越大,如此,在相同的硬件条件下,因语音编解码占用大量的CPU,增加了CPU的负担。
发明内容
基于此,有必要针对传统的语音处理装置因语音编解码占用大量CPU,增大了CPU负担的问题,提供一种能降低CPU占用率,减轻CPU负担的语音处理装置。
此外,还有必要提供一种能降低CPU占用率,减轻CPU负担的语音处理方法。
一种语音处理装置,包括依次通过总线相连的模数转换芯片、微处理器和驱动模块,所述微处理器包括PCM数据处理模块、与所述PCM数据处理模块分别相连的ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块、以及与所述ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块分别相连的传输接口,所述ALAW与PCM转换随机存储模块用于存储ALAW的值与PCM的值之间的对应关系,所述ULAW与PCM转换随机存储模块用于存储ULAW的值与PCM的值之间的对应关系,所述传输接口接收的数据和PCM数据处理模块接收的数据通过调用ALAW与PCM转换随机存储模块或者调用ULAW与PCM转换随机存储模块进行转换。
在其中一个实施例中,所述ALAW与PCM转换随机存储模块包括ALAW与PCM转换随机存储子模块和PCM与ALAW转换随机存储子模块,所述ALAW与PCM转换随机存储子模块用于存储ALAW的值转换为PCM的值的对应关系;所述PCM与ALAW转换随机存储子模块用于存储PCM的值转换为ALAW的值的对应关系;所述ULAW与PCM转换随机存储模块包括ULAW与PCM转换随机存储子模块和PCM与ULAW转换随机存储子模块,所述ULAW与PCM转换随机存储子模块用于存储ULAW的值转换为PCM的值的对应关系;所述PCM与ULAW转换随机存储子模块用于存储PCM的值转换为ULAW的值的对应关系。
在其中一个实施例中,所述存储的ALAW的值转换为PCM的值的对应关系包括:将PCM的值存储在ROM中,所述ROM的地址与ALAW的值存在固定关系,建立ALAW的值与所述ROM的地址的对应关系;
所述存储的PCM的值转换为ALAW的值的对应关系包括:将ALAW的值存储在ROM中,所述ROM的地址与PCM的值存在固定关系,建立PCM与所述ROM的地址的对应关系;
所述存储的ULAW的值转换为PCM的值的对应关系包括:将PCM的值存储在ROM中,所述ROM的地址与ULAW的值存在固定关系,建立ULAW的值与所述ROM的地址的对应关系;
所述存储的PCM的值转换为ULAW的值的对应关系包括:将ULAW的值存储在ROM中,所述ROM的地址与PCM的值存在固定关系,建立PCM的值与所述ROM的地址的对应关系。
在其中一个实施例中,所述微处理器还包括转换控制模块,所述转换控制模块与所述ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块分别相连;所述驱动模块还用于存储控制变量,并在驱动初始化时为所述控制变量赋值;所述转换控制模块用于根据所述控制变量的值控制调用ALAW与PCM转换随机存储模块或者ULAW与PCM转换随机存储模块。
在其中一个实施例中,所述微处理器为FPGA,所述ALAW的值与PCM的值之间的对应关系和ULAW的值与PCM的值之间的对应关系以coe文件形式存储。
一种语音处理方法,包括以下步骤:
提供依次通过总线相连的模数转换芯片、微处理器和PCIE驱动模块,所述微处理器包括PCM数据处理模块、与所述PCM数据处理模块分别相连的ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块、以及与所述ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块分别相连的传输接口;
将传输接口接收的数据和PCM数据处理模块接收的数据通过调用ALAW与PCM转换随机存储模块中预先存储的ALAW的值与PCM的值之间的对应关系或者调用ULAW与PCM转换随机存储模块中预先存储的ULAW的值与PCM的值之间的对应关系进行转换。
在其中一个实施例中,所述方法还包括:
预先建立ALAW的值与PCM的值之间的对应关系;
预先建立ULAW的值与PCM的值之间的对应关系;
所述预先建立ALAW的值与PCM的值之间的对应关系包括:
建立ALAW的值转换为PCM的值的对应关系;
建立PCM的值转换为ALAW的值的对应关系;
所述预先建立ULAW的值与PCM的值之间的对应关系包括:
ULAW的值转换为PCM的值的对应关系;
PCM的值转换为ULAW的值的对应关系。
在其中一个实施例中,所述建立ALAW的值转换为PCM的值的对应关系,包括:
将PCM的值存储在ROM中,所述ROM的地址与ALAW的值存在固定关系,建立ALAW的值与所述ROM的地址的对应关系;
所述建立PCM的值转换为ALAW的值的对应关系,包括:
将ALAW的值存储在ROM中,所述ROM的地址与PCM的值存在固定关系,建立PCM的值与所述ROM的地址的对应关系;
所述建立ULAW的值转换为PCM的值的对应关系,包括:
将PCM的值存储在ROM中,所述ROM的地址与ULAW的值存在固定关系,建立ULAW的值与所述ROM的地址的对应关系;
所述建立PCM的值转换为ULAW的值的对应关系,包括:
将ULAW的值存储在ROM中,所述ROM的地址与PCM的值存在固定关系,建立PCM的值与所述ROM的地址的对应关系。
在其中一个实施例中,所述方法还包括:
获取驱动模块中存储的控制变量初始化时所赋的值,根据所述控制变量的值控制调用ALAW与PCM转换随机存储模块或者ULAW与PCM转换随机存储模块。
在其中一个实施例中,所述微处理器为FPGA所述ALAW的值与PCM的值之间的对应关系和ULAW的值与PCM的值之间的对应关系以coe文件形式存储。
上述语音处理装置及方法,通过在微处理器中设置ALAW与PCM转换随机存储模块、ULAW与PCM转换随机存储模块,并在ALAW与PCM转换随机存储模块存储ALAW的值与PCM的值之间的对应关系,ULAW与PCM转换随机存储模块中存储ULAW的值与PCM的值之间的对应关系,获取到需要转换的数据后,通过查找对应关系的方式即可得到转换后的数据,其利用微处理器进行语音编解码,降低了CPU的占有率,降低了CPU负担,提高了语音处理装置的并发处理能力,且不需增加额外的器件,降低了成本。
附图说明
图1为传统的语音处理装置的结构框图;
图2为本发明的一个实施例中语音处理装置的结构框图;
图3为本发明的另一个实施例中语音处理装置的结构框图;
图4为一个实施例中语音处理方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图2为本发明的一个实施例中语音处理装置的结构框图。该语音处理装置,包括依次通过总线相连的模数转换芯片210、微处理器220和驱动模块230。
模数转换芯片210包括模拟通道和PCM通道。该模数转换芯片210可为FXS/FXO芯片,FXS和FXO是模拟电话线使用的端口的名称,FXS是用来驱动电话机的接口,该接口提供连接电话机的插口、驱动电源和传送拨号音。FXS接口生成和传送拨号音电压到FXO接口。模数转换芯片210用于将通过语音传输网络传输的模拟信号转换为PCM数字信号,以及将微处理器220处理传输的PCM数字信号转换为模拟信号,再通过语音传输网络传输。
微处理器220包括PCM数据处理模块222、ALAW与PCM转换随机存储模块224、ULAW与PCM转换随机存储模块226和传输接口228。该微处理器220可为FPGA或DSP(DigitalSignalProcessor,数字信号处理器)。
其中,PCM数据处理模块222分别与ALAW与PCM转换随机存储模块224和ULAW与PCM转换随机存储模块226相连,传输接口228分别与ALAW与PCM转换随机存储模块224和ULAW与PCM转换随机存储模块226相连。
ALAW与PCM转换随机存储模块224用于存储ALAW的值与PCM的值之间的对应关系。
ULAW与PCM转换随机存储模块226用于存储ULAW的值与PCM的值之间的对应关系。
传输接口228接收的数据和PCM数据处理模块222接收的数据通过调用ALAW与PCM转换随机存储模块224或者调用ULAW与PCM转换随机存储模块226进行转换。
具体的,传输接口228接收的数据和PCM数据处理模块222接收的数据调用ALAW与PCM转换随机存储模块224中的ALAW的值与PCM的值之间的对应关系,或者调用ULAW与PCM转换随机存储模块226中的ULAW的值与PCM的值之间的对应关系进行转换。因语音信号转换通常为将ALAW和PCM之间进行转换,或者将ULAW和PCM之间进行转换。在使用语音处理装置时,可提前对ALAW或ULAW进行调试,例如所处应用场合属于ALAW,则选择使用ALAW与PCM转换随机存储模块224,同理,所处应用场合属于ULAW,则选择使用ULAW与PCM转换随机存储模块226。
驱动模块230用于将转换后的数据传输给应用层或者接收应用层发送的数据。该驱动模块230可为PCIE驱动模块。微处理器220和驱动模块230通过PCI/PCIE桥及数据总线建立数据传输通道。
上述语音处理装置,通过在微处理器中设置ALAW与PCM转换随机存储模块、ULAW与PCM转换随机存储模块,并在ALAW与PCM转换随机存储模块存储ALAW的值与PCM的值之间的对应关系,ULAW与PCM转换随机存储模块中存储ULAW的值与PCM的值之间的对应关系,获取到需要转换的数据后,通过查找对应关系的方式即可得到转换后的数据,其利用微处理器进行语音编解码,降低了CPU的占有率,降低了CPU负担,提高了语音处理装置的并发处理能力,且不需增加额外的器件,降低了成本。
图3为另一个实施例中语音处理装置的结构框图。图3为语音处理装置较优的实施例。如图3所示,微处理器为FPGA。微处理器220除了包括PCM数据处理模块222、ALAW与PCM转换随机存储模块224、ULAW与PCM转换随机存储模块226和传输接口228,还包括转换控制模块229。
ALAW与PCM转换随机存储模块224包括ALAW与PCM转换随机存储子模块224a和PCM与ALAW转换随机存储子模块224b。ALAW与PCM转换随机存储子模块224a用于存储ALAW的值转换为PCM的值的对应关系;PCM与ALAW转换随机存储子模块224b用于存储PCM的值转换为ALAW的值的对应关系。
ULAW与PCM转换随机存储模块226包括ULAW与PCM转换随机存储子模块226a和PCM与ULAW转换随机存储子模块226b。ULAW与PCM转换随机存储子模块226a用于存储ULAW的值转换为PCM的值的对应关系;PCM与ULAW转换随机存储子模块226b用于存储PCM的值转换为ULAW的值的对应关系。
可以理解的是,存储的ALAW的值转换为PCM的值的对应关系包括:将PCM的值存储在ROM(ReadOnlyMemory,只读存储器)中,ROM的地址与ALAW的值存在固定关系,建立ALAW的值与该ROM的地址的对应关系。
具体的,通过shortintalaw2linear(unit8_talaw)函数实现ALAW到线形PCM的转换,输入为ALAW的值,输出为线形PCM的值;将输出的线形PCM的值保存在一个数组中,且保存到的数组的位置和输入的ALAW的值存在固定关系,建立ALAW与该数组的对应关系,如此获取到ALAW输入的值,从该数组中查找到转换后的线形PCM的值。将PCM的值存储在ROM(ReadOnlyMemory,只读存储器)中,ROM的地址与ALAW的值存在固定关系,建立ALAW的值与该ROM的地址的对应关系。
存储的PCM的值转换为ALAW的值的对应关系包括:将ALAW的值存储在ROM中,该ROM的地址与PCM的值存在固定关系,建立PCM的值与该ROM的地址的对应关系。
具体的,通过unsignedcharlineartoalaw(shortpcm)函数实现线形PCM到ALAW的转换,输入为线形PCM的值,输出为ALAW的值;将输出的线形ALAW的值保存在一个数组中,且保存到的数组的位置和输入的PCM的值存在固定关系,建立PCM与该数组的对应关系,如此获取到PCM输入的值,从该数组中查找到转换后的ALAW的值。将ALAW的值存储在ROM中,该ROM的地址与PCM的值存在固定关系,建立PCM的值与该ROM的地址的对应关系。
存储的ULAW的值转换为PCM的值的对应关系包括:将PCM的值存储在ROM中,该ROM的地址与ULAW的值存在固定关系,建立ULAW的值与该ROM的地址的对应关系。
具体的,通过shortintulaw2linear(unit8_tulaw)函数实现ULAW到线形PCM的转换,输入为ULAW的值,输出为线形PCM的值;将输出的线形PCM的值保存在一个数组中,且保存到的数组的位置和输入的ULAW的值存在固定关系,建立ULAW与该数组的对应关系,如此获取到ULAW输入的值,从该数组中查找到转换后的线形PCM的值。将PCM的值存储在ROM中,该ROM的地址与ULAW的值存在固定关系,建立ULAW的值与该ROM的地址的对应关系。
存储的PCM的值转换为ULAW的值的对应关系包括:将ULAW的值存储在ROM中,ROM的地址与PCM的值存在固定关系,建立PCM的值与该ROM的地址的对应关系。
具体的,通过unsignedcharlineartoulaw(shortpcm)函数实现线形PCM到ULAW的转换,输入为线形PCM的值,输出为ULAW的值;将输出的线形ULAW的值保存在一个数组中,且保存到的数组的位置和输入的PCM的值存在固定关系,建立PCM与该数组的对应关系,如此获取到PCM输入的值,从该数组中查找到转换后的ULAW的值。将ULAW的值存储在ROM中,ROM的地址与PCM的值存在固定关系,建立PCM的值与该ROM的地址的对应关系。
通过上述四个函数实现方式将四种对应关系所获得的数据保存到四个文件中,并分别命名为ALAW_PCM.data,PCM_ALAW.data,ULAW_PCM.data,PCM_ULAW.data。四个函数为标准的算法,例如g711算法。PCM_ALAW和PCM_ULAW的对应关系是可以优化的,可以去掉一些冗余数据,减少数据文件的数据量。
为了适应FPGA调用,创建四个xilinxFPGAcoe文件,coe文件是指只读存储器初始化文件,不同的厂商,rom初始化文件格式不同。将四个数据文件按照xilinxcoe文件的规则,改为coe文件,分别命名为ALAW_PCM.coe,PCM_ALAW.coe,ULAW_PCM.coe,PCM_ULAW.coe。一个标准的coe文件如下:
MEMORY_INITIALIZATION_RADIX=2;数据存储的格式,2表示采用二进制形式存储,也可采用八进制、十进制、十六进制、三十二进制等。
MEMORY_INITIALIZATION_VECTOR=01110100,00100000,11110101,00100010,00000001,00010100,00000000,00000000,00000000,00000000;表示存储的数据内容。
在FPGA中产生四个随机存储子模块(ram),分别命名为ram_ALAW_PCM(即ALAW与PCM转换随机存储子模块224a),ram_PCM_ALAW(即PCM与ALAW转换随机存储子模块224b),ram_ULAW_PCM(即ULAW与PCM转换随机存储子模块226a),ram_PCM_ULAW(即PCM与ULAW转换随机存储子模块226b),然后把ALAW_PCM.coe载入ram_ALAW_PCM中,把PCM_ALAW.coe载入ram_PCM_ALAW中,把ULAW_PCM.coe载入ram_ULAW_PCM中,把PCM_ULAW.coe载入ram_PCM_ULAW中。此外,可把四个随机存储子模块的地址值和输入值建立固定关系,通过地址值查找到转换后的值,作为该地址值的输出。
可以理解的是,微处理器为FPGA时,该ALAW的值与PCM的值之间的对应关系和ULAW的值与PCM的值之间的对应关系以coe文件形式存储。
转换控制模块229分别与ALAW与PCM转换随机存储模块224和ULAW与PCM转换随机存储模块226相连。
在驱动模块230还用于存储控制变量u_alaw_flags,并在驱动初始化时为该控制变量赋值。转换控制模块229用于根据该控制变量的值控制调用ALAW与PCM转换随机存储模块224或者ULAW与PCM转换随机存储模块226。当控制变量的值为0时,为ULAW和PCM之间的转换,否则为ALAW和PCM之间的转换。具体的,控制变量u_alaw_flags是FPGA的寄存器FPGAUALAW_REG的读写值变量,寄存器FPGAUALAW_REG获取u_alaw_flags的值为0时,使能ram_ULAW_PCM,ram_PCM_ULAW,否则使能ram_ALAW_PCM,ram_PCM_ALAW。
上述语音处理装置,通过在微处理器中设置四个随机存储子模块,并在四个随机存储子模块中存储相应的数据关系,获取到需要转换的数据后,通过查找对应关系的方式即可得到转换后的数据,其利用微处理器进行语音编解码,降低了CPU的占有率,降低了CPU负担,提高了语音处理装置的并发处理能力,因细化存储数据关系,查找更方便,效率高,且不需增加额外的器件,降低了成本。
图4为一个实施例中语音处理方法的流程图。如图4所示,该语音处理方法采用上述语音处理装置实现,包括以下步骤:
步骤402,提供依次通过总线相连的模数转换芯片、微处理器和驱动模块,该微处理器包括PCM数据处理模块、与该PCM数据处理模块分别相连的ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块、以及与该ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块分别相连的该传输接口。
具体的,驱动模块用于将转换后的数据传输给应用层或者接收应用层发送的数据。该驱动模块可为PCIE驱动模块。微处理器和驱动模块通过PCI/PCIE桥及数据总线建立数据传输通道。
步骤404,将传输接口接收的数据和PCM数据处理模块接收的数据通过调用ALAW与PCM转换随机存储模块中预先存储的ALAW的值与PCM的值之间的对应关系或者调用ULAW与PCM转换随机存储模块中预先存储的ULAW的值与PCM的值之间的对应关系进行转换。
上述语音处理方法,通过在微处理器中设置ALAW与PCM转换随机存储模块、ULAW与PCM转换随机存储模块,并在ALAW与PCM转换随机存储模块存储ALAW的值与PCM的值之间的对应关系,ULAW与PCM转换随机存储模块中存储ULAW的值与PCM的值之间的对应关系,获取到需要转换的数据后,通过查找对应关系的方式即可得到转换后的数据,其利用微处理器进行语音编解码,降低了CPU的占有率,降低了CPU负担,提高了语音处理装置的并发处理能力,且不需增加额外的器件,降低了成本。
可以理解的是,在一个实施例中,上述语音处理方法,还包括:预先建立ALAW的值与PCM的值之间的对应关系;预先建立ULAW的值与PCM的值之间的对应关系。
该预先建立ALAW的值与PCM的值之间的对应关系包括:
建立ALAW的值转换为PCM的值的对应关系;
建立PCM的值转换为ALAW的值的对应关系。
其中,该建立ALAW的值转换为PCM的值的对应关系,包括:将PCM的值存储在ROM中,该ROM的地址与ALAW的值存在固定关系;建立ALAW的值与该ROM的地址的对应关系。
具体的,通过shortintalaw2linear(unit8_talaw)函数实现ALAW到线形PCM的转换,输入为ALAW的值,输出为线形PCM的值;将输出的线形PCM的值保存在一个数组中,且保存到的数组的位置和输入的ALAW的值存在固定关系,建立ALAW与该数组的对应关系,如此获取到ALAW输入的值,从该数组中查找到转换后的线形PCM的值。将PCM的值存储在ROM中,该ROM的地址与ALAW的值存在固定关系;建立ALAW的值与该ROM的地址的对应关系。
该建立PCM的值转换为ALAW的值的对应关系,包括:将ALAW的值存储在ROM中,该ROM的地址与PCM的值存在固定关系,建立PCM的值与该ROM的地址的对应关系。
具体的,通过unsignedcharlineartoalaw(shortpcm)函数实现线形PCM到ALAW的转换,输入为线形PCM的值,输出为ALAW的值;将输出的线形ALAW的值保存在一个数组中,且保存到的数组的位置和输入的PCM的值存在固定关系,建立PCM与该数组的对应关系,如此获取到PCM输入的值,从该数组中查找到转换后的ALAW的值。将ALAW的值存储在ROM中,该ROM的地址与PCM的值存在固定关系,建立PCM的值与该ROM的地址的对应关系。
该预先建立ULAW的值与PCM的值之间的对应关系包括:建立ULAW的值转换为PCM的值的对应关系;建立PCM的值转换为ULAW的值的对应关系。
该建立ULAW的值转换为PCM的值的对应关系,包括:将PCM的值存储在ROM中,该ROM的地址与ULAW的值存在固定关系,建立ULAW的值与该ROM的地址的对应关系。
具体的,通过shortintulaw2linear(unit8_tulaw)函数实现ULAW到线形PCM的转换,输入为ULAW的值,输出为线形PCM的值;将输出的线形PCM的值保存在一个数组中,且保存到的数组的位置和输入的ULAW的值存在固定关系,建立ULAW与该数组的对应关系,如此获取到ULAW输入的值,从该数组中查找到转换后的线形PCM的值。将PCM的值存储在ROM中,该ROM的地址与ULAW的值存在固定关系,建立ULAW的值与该ROM的地址的对应关系。
该建立PCM的值转换为ULAW的值的对应关系,包括:将ULAW的值存储在数组中,该ROM的地址与PCM的值存在固定关系,建立PCM的值与该ROM的地址的对应关系。
具体的,通过unsignedcharlineartoulaw(shortpcm)函数实现线形PCM到ULAW的转换,输入为线形PCM的值,输出为ULAW的值;将输出的线形ULAW的值保存在一个数组中,且保存到的数组的位置和输入的PCM的值存在固定关系,建立PCM与该数组的对应关系,如此获取到PCM输入的值,从该数组中查找到转换后的ULAW的值。将ULAW的值存储在数组中,该ROM的地址与PCM的值存在固定关系,建立PCM的值与该ROM的地址的对应关系。
通过上述四个函数实现方式将四种对应关系所获得的数据保存到四个文件中,并分别命名为ALAW_PCM.data,PCM_ALAW.data,ULAW_PCM.data,PCM_ULAW.data。
为了适应FPGA调用,创建四个xilinxFPGAcoe文件,coe文件是指只读存储器初始化文件,不同的厂商,rom初始化文件格式不同。将四个数据文件按照xilinxcoe文件的规则,改为coe文件,分别命名为ALAW_PCM.coe,PCM_ALAW.coe,ULAW_PCM.coe,PCM_ULAW.coe。
该微处理器可为FPGA或者DSP,该微处理器为FPGA时,该ALAW的值与PCM的值之间的对应关系和ULAW的值与PCM的值之间的对应关系以coe文件形式存储。
在一个实施例中,上述语音处理方法,还包括:获取驱动模块中存储的控制变量初始化时所赋的值,根据该控制变量的值控制调用ALAW与PCM转换随机存储模块或者ULAW与PCM转换随机存储模块。具体的,控制变量u_alaw_flags是FPGA的寄存器FPGAUALAW_REG的读写值变量,寄存器FPGAUALAW_REG获取u_alaw_flags的值为0时,使能ram_ULAW_PCM,ram_PCM_ULAW,否则使能ram_ALAW_PCM,ram_PCM_ALAW。
综上所述,上述语音处理方法中,建立ALAW的值转换为PCM的值的对应关系;建立PCM的值转换为ALAW的值的对应关系,建立ULAW的值转换为PCM的值的对应关系;建立PCM的值转换为ULAW的值的对应关系,在获取到需要转换的数据后,通过查找对应关系的方式即可得到转换后的数据,其利用微处理器进行语音编解码,降低了CPU的占有率,降低了CPU负担,提高了语音处理装置的并发处理能力,因细化存储对应关系,查找更方便,效率高,且不需增加额外的器件,降低了成本。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种语音处理装置,包括依次通过总线相连的模数转换芯片、微处理器和驱动模块,其特征在于,所述微处理器包括PCM数据处理模块、与所述PCM数据处理模块分别相连的ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块、以及与所述ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块分别相连的传输接口,所述ALAW与PCM转换随机存储模块用于存储ALAW的值与PCM的值之间的对应关系,所述ULAW与PCM转换随机存储模块用于存储ULAW的值与PCM的值之间的对应关系,所述传输接口接收的数据和PCM数据处理模块接收的数据通过调用ALAW与PCM转换随机存储模块或者调用ULAW与PCM转换随机存储模块进行转换。
2.根据权利要求1所述的语音处理装置,其特征在于,所述ALAW与PCM转换随机存储模块包括ALAW与PCM转换随机存储子模块和PCM与ALAW转换随机存储子模块,所述ALAW与PCM转换随机存储子模块用于存储ALAW的值转换为PCM的值的对应关系;所述PCM与ALAW转换随机存储子模块用于存储PCM的值转换为ALAW的值的对应关系;所述ULAW与PCM转换随机存储模块包括ULAW与PCM转换随机存储子模块和PCM与ULAW转换随机存储子模块,所述ULAW与PCM转换随机存储子模块用于存储ULAW的值转换为PCM的值的对应关系;所述PCM与ULAW转换随机存储子模块用于存储PCM的值转换为ULAW的值的对应关系。
3.根据权利要求2所述的语音处理装置,其特征在于,所述存储的ALAW的值转换为PCM的值的对应关系包括:将PCM的值存储在ROM中,所述ROM的地址与ALAW的值存在固定关系,建立ALAW的值与所述ROM的地址的对应关系;
所述存储的PCM的值转换为ALAW的值的对应关系包括:将ALAW的值存储在ROM中,所述ROM的地址与PCM的值存在固定关系,建立PCM的值与所述ROM的地址的对应关系;
所述存储的ULAW的值转换为PCM的值的对应关系包括:将PCM的值存储在ROM中,所述ROM的地址与ULAW的值存在固定关系,建立ULAW的值与所述ROM的地址的对应关系;
所述存储的PCM的值转换为ULAW的值的对应关系包括:将ULAW的值存储在ROM中,所述ROM的地址与PCM的值存在固定关系,建立PCM的值与所述ROM的地址的对应关系。
4.根据权利要求1所述的语音处理装置,其特征在于,所述微处理器还包括转换控制模块,所述转换控制模块与所述ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块分别相连;所述驱动模块还用于存储控制变量,并在驱动初始化时为所述控制变量赋值;所述转换控制模块用于根据所述控制变量的值控制调用ALAW与PCM转换随机存储模块或者ULAW与PCM转换随机存储模块。
5.根据权利要求1所述的语音处理装置,其特征在于,所述微处理器为FPGA,所述ALAW的值与PCM的值之间的对应关系和ULAW的值与PCM的值之间的对应关系以coe文件形式存储。
6.一种语音处理方法,包括以下步骤:
提供依次通过总线相连的模数转换芯片、微处理器和PCIE驱动模块,所述微处理器包括PCM数据处理模块、与所述PCM数据处理模块分别相连的ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块、以及与所述ALAW与PCM转换随机存储模块和ULAW与PCM转换随机存储模块分别相连的传输接口;
将传输接口接收的数据和PCM数据处理模块接收的数据通过调用ALAW与PCM转换随机存储模块中预先存储的ALAW的值与PCM的值之间的对应关系或者调用ULAW与PCM转换随机存储模块中预先存储的ULAW的值与PCM的值之间的对应关系进行转换。
7.根据权利要求6所述的语音处理方法,其特征在于,所述方法还包括:
预先建立ALAW的值与PCM的值之间的对应关系;
预先建立ULAW的值与PCM的值之间的对应关系;
所述预先建立ALAW的值与PCM的值之间的对应关系包括:
建立ALAW的值转换为PCM的值的对应关系;
建立PCM的值转换为ALAW的值的对应关系;
所述预先建立ULAW的值与PCM的值之间的对应关系包括:
ULAW的值转换为PCM的值的对应关系;
PCM的值转换为ULAW的值的对应关系。
8.根据权利要求7所述的语音处理方法,其特征在于,所述建立ALAW的值转换为PCM的值的对应关系,包括:
将PCM的值存储在ROM中,所述ROM的地址与ALAW的值存在固定关系,建立ALAW的值与所述ROM的地址的对应关系;
所述建立PCM的值转换为ALAW的值的对应关系,包括:
将ALAW的值存储在ROM中,所述ROM的地址与PCM的值存在固定关系,建立PCM的值与所述ROM的地址的对应关系;
所述建立ULAW的值转换为PCM的值的对应关系,包括:
将PCM的值存储在ROM中,所述ROM的地址与ULAW的值存在固定关系,建立ULAW的值与所述ROM的地址的对应关系;
所述建立PCM的值转换为ULAW的值的对应关系,包括:
将ULAW的值存储在ROM中,所述ROM的地址与PCM的值存在固定关系,建立PCM的值与所述ROM的地址的对应关系。
9.根据权利要求6所述的语音处理方法,其特征在于,所述方法还包括:
获取驱动模块中存储的控制变量初始化时所赋的值,根据所述控制变量的值控制调用ALAW与PCM转换随机存储模块或者ULAW与PCM转换随机存储模块。
10.根据权利要求6所述的语音处理方法,其特征在于,所述微处理器为FPGA,所述ALAW的值与PCM的值之间的对应关系和ULAW的值与PCM的值之间的对应关系以coe文件形式存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410205793.0A CN105094978B (zh) | 2014-05-15 | 2014-05-15 | 语音处理装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410205793.0A CN105094978B (zh) | 2014-05-15 | 2014-05-15 | 语音处理装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105094978A true CN105094978A (zh) | 2015-11-25 |
CN105094978B CN105094978B (zh) | 2020-02-28 |
Family
ID=54575486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410205793.0A Active CN105094978B (zh) | 2014-05-15 | 2014-05-15 | 语音处理装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105094978B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017143641A1 (zh) * | 2016-02-25 | 2017-08-31 | 邦彦技术股份有限公司 | 一种基于fpga实现pcm音频播放装置及***及方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553309A (zh) * | 2003-05-29 | 2004-12-08 | 华为技术有限公司 | 一种放音的方法及装置 |
CN1777947A (zh) * | 2003-04-24 | 2006-05-24 | 索尼株式会社 | 信息处理设备和方法 |
CN101500159A (zh) * | 2008-01-31 | 2009-08-05 | 华为技术有限公司 | 一种图像熵编码、熵解码的方法及装置 |
CN102280048A (zh) * | 2011-08-13 | 2011-12-14 | 德州学院 | 英语单词辅助记忆装置及其使用方法 |
CN202334610U (zh) * | 2011-10-14 | 2012-07-11 | 苏州鼎尚信息技术有限公司 | 一种语音终端设备 |
CN103051817A (zh) * | 2011-10-14 | 2013-04-17 | 苏州鼎尚信息技术有限公司 | 用spi接口实现pcm信息交互的方法及语音终端设备 |
CN202996288U (zh) * | 2012-12-24 | 2013-06-12 | 中国电子科技集团公司第五十研究所 | 数字语音双向处理装置 |
CN103402036A (zh) * | 2013-07-24 | 2013-11-20 | 广东翼卡车联网服务有限公司 | 一种基于安卓***导航仪的dtmf解码方法和*** |
CN103533129A (zh) * | 2013-10-23 | 2014-01-22 | 上海斐讯数据通信技术有限公司 | 实时的语音翻译通信方法、***及所适用的通讯设备 |
-
2014
- 2014-05-15 CN CN201410205793.0A patent/CN105094978B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777947A (zh) * | 2003-04-24 | 2006-05-24 | 索尼株式会社 | 信息处理设备和方法 |
CN1553309A (zh) * | 2003-05-29 | 2004-12-08 | 华为技术有限公司 | 一种放音的方法及装置 |
CN101500159A (zh) * | 2008-01-31 | 2009-08-05 | 华为技术有限公司 | 一种图像熵编码、熵解码的方法及装置 |
CN102280048A (zh) * | 2011-08-13 | 2011-12-14 | 德州学院 | 英语单词辅助记忆装置及其使用方法 |
CN202334610U (zh) * | 2011-10-14 | 2012-07-11 | 苏州鼎尚信息技术有限公司 | 一种语音终端设备 |
CN103051817A (zh) * | 2011-10-14 | 2013-04-17 | 苏州鼎尚信息技术有限公司 | 用spi接口实现pcm信息交互的方法及语音终端设备 |
CN202996288U (zh) * | 2012-12-24 | 2013-06-12 | 中国电子科技集团公司第五十研究所 | 数字语音双向处理装置 |
CN103402036A (zh) * | 2013-07-24 | 2013-11-20 | 广东翼卡车联网服务有限公司 | 一种基于安卓***导航仪的dtmf解码方法和*** |
CN103533129A (zh) * | 2013-10-23 | 2014-01-22 | 上海斐讯数据通信技术有限公司 | 实时的语音翻译通信方法、***及所适用的通讯设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017143641A1 (zh) * | 2016-02-25 | 2017-08-31 | 邦彦技术股份有限公司 | 一种基于fpga实现pcm音频播放装置及***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105094978B (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018094141A1 (en) | Point cloud data compression using a space-filling curve | |
EP2752760B1 (en) | Method of compressing data and devices for performing the same | |
WO2020025006A1 (zh) | 数据压缩、解压方法及相关装置、电子设备、*** | |
CN102970043B (zh) | 一种基于gzip的压缩硬件***及其加速方法 | |
CN102890666A (zh) | 一种共用接口的装置及其方法、移动通讯终端 | |
CN106664098B (zh) | 用于将二进制映射到三进制及其反转的装置和方法 | |
CN103795421B (zh) | 一种数据压缩及解压缩的方法 | |
US11741977B2 (en) | Vector quantizer | |
CN104410424A (zh) | 嵌入式设备内存数据的快速无损压缩方法 | |
CN103647866A (zh) | 一种电话号码压缩存储及解压缩方法及存储*** | |
CN110363291B (zh) | 神经网络的运算方法、装置、计算机设备和存储介质 | |
CN105094978A (zh) | 语音处理装置及方法 | |
CN102843142B (zh) | 可编程逻辑器件配置数据流压缩、解压缩处理方法及*** | |
CN105446666A (zh) | 一种基于移动终端的全数字序列存储方法及*** | |
CN104077272B (zh) | 一种字典压缩的方法和装置 | |
CN111464189A (zh) | 一种斐波那契进制译码装置、方法 | |
WO2021097624A1 (zh) | 一种文件处理方法、文件处理装置及终端设备 | |
US11409646B2 (en) | Method for releasing memory | |
CN108932315A (zh) | 一种数据解压的方法以及相关装置 | |
CN100542047C (zh) | 一种指数Golomb编码的编码方法和装置 | |
CN104184697B (zh) | 一种音频指纹的提取方法及*** | |
CN113495669A (zh) | 一种解压装置、加速器、和用于解压装置的方法 | |
CN104144037B (zh) | 编解码***与方法 | |
CN105630529A (zh) | Fpga配置文件的加载方法和解码器 | |
US20180041612A1 (en) | System and method for out-of-stream order compression of multi-media tiles in a system on a chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211130 Address after: 510800 Shenzhen, Futian District, Guangdong Futian street Gangxia community Shennan Road No. 1003 Dongfang Xintiandi Plaza 5 floor 502F Patentee after: Guangdong Industrial edge intelligent Innovation Center Co.,Ltd. Address before: 518057 Guangdong city of Shenzhen province Nanshan District high in the four EVOC Technology Building No. 31 Patentee before: EVOC INTELLIGENT TECHNOLOGY Co.,Ltd. |