CN104715755A - 一种应用于中低速平台的音频编解码方法、装置和设备 - Google Patents
一种应用于中低速平台的音频编解码方法、装置和设备 Download PDFInfo
- Publication number
- CN104715755A CN104715755A CN201310695067.7A CN201310695067A CN104715755A CN 104715755 A CN104715755 A CN 104715755A CN 201310695067 A CN201310695067 A CN 201310695067A CN 104715755 A CN104715755 A CN 104715755A
- Authority
- CN
- China
- Prior art keywords
- data
- buffer
- decoding
- voice data
- encoding
- 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
本发明适用于音频编解码领域,提供了一种应用于中低速平台的音频编解码方法、装置和设备,该方法包括:接收输入的音频数据;根据预先设定的多个数据缓冲区,缓存所述接收的音频数据;读取所述数据缓冲区接收的音频数据,进行编解码处理。由于包括多个数据缓冲区可存储音频数据,使得在中低速配置的设备中的音频编解码模块可以使用较低速率完成对输入的音频数据的编解码要求,在没有专业的音频编解码芯片进行编解码,也能完成实时编解码,从而满足系统对多种音频应用的要求,同时能够节省系统成本。
Description
技术领域
本发明属于音频编解码领域,尤其涉及一种应用于中低速平台的音频编解码方法、装置和设备。
背景技术
随着智能设备的功能丰富和普及,智能设备与外围设备间的通信接口也越来越多,其中音频输入输出接口的通用性最强,基于音频接口的应用和系统也越来越多。如现在越来越流行的可实现语音对讲的应用软件等。
对音频数据的实时处理,会对设备处理速度的要求相对较高。为了保证系统的稳定性,一般需要选择性能和速率较高的现场可编程门阵列FPGA(Field-Programmable Gate Array)或者专业的音频IC来处理音频数据,实现音频数据的实时处理,使用这些性能较高的芯片,其开发成本就会相应提高,如果在中低速配置的终端设备中,却很难能做到音频数据的实时编解码。
发明内容
本发明实施例的目的在于提供一种应用于中低速平台的音频编解码方法,以解决现有技术中的中低速配置的终端设备中,没有专业的音频编解码芯片进行编解码,而不能完成实时编解码的问题,从而满足系统对多种音频应用的要求,节省系统成本。
本发明实施例是这样实现的,一种应用于中低速平台的音频编解码方法,所述方法包括:
接收输入的音频数据;
根据预先设定的多个数据缓冲区,缓存所述接收的音频数据;
读取所述数据缓冲区接收的音频数据,进行编解码处理。
进一步的,所述根据预先设定的多个数据缓冲区,缓存所述接收的音频数据步骤之前,所述方法还包括:
通过直接存储器访问DMA模式下的控制器设定数据缓冲区的基址、数据缓冲区的大小以及缓冲区数据存储状态标识。
具体的,所述缓冲区数据状态标识包括正在写入、正在读取、数据为满、数据为空。
进一步的,所述根据预先设定的多个数据缓冲区,缓存所述接收的音频数据步骤包括:
获取接收输入的音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率;
根据所述获取写入音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率,选择与其相对应个数的数据缓冲区缓存所述接收的音频数据。
具体的,所述根据所述获取写入音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率,选择与其相对应个数的数据缓冲区缓存所述接收的音频数据步骤为:
根据所述获取写入音频数据的速率与所述音频编解码模块对所述缓冲区数据的编解码的速率的比值对应的整数,选择所述比值确定的数据缓冲区。
另一方面,本发明提供了一种应用于中低速平台的音频编解码装置,所装置包括:
接收单元,用于接收输入的音频数据;
缓存单元,用于根据预先设定的多个数据缓冲区,缓存所述接收的音频数据;
读取单元,用于读取所述数据缓冲区接收的音频数据,进行编解码处理。
进一步的,所述装置还包括:
设定单元,用于通过直接存储器访问DMA模式下的控制器设定数据缓冲区的基址、数据缓冲区的大小以及缓冲区数据存储状态标识。
具体的,所述缓存单元包括:
获取子单元,用于获取接收输入的音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率;
选择子单元,用于根据所述获取写入音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率,选择与其相对应个数的数据缓冲区缓存所述接收的音频数据。
进一步的,所述选择子单元具体用于根据所述获取写入音频数据的速率与所述音频编解码模块对所述缓冲区数据的编解码的速率的比值对应的整数,选择所述比值确定的数据缓冲区。
第三方面,本发明提供了一种终端设备,所述设备包括音频输入装置、控制器、存储器和音频编解码模块,其中,所述
音频输入装置用于接收输入的音频数据;
所述存储器中包括预先设定的多个数据缓冲区,用于接收所述音频输入装置接收的音频数据;
所述控制器为直接存储器访问DMA控制器,用于控制所述音频输入装置直接将所述音频数据存储于存储器的多个数据缓冲区;
所述音频编解码模块用于接收控制器的编解码指令,对所述存储器的多个数据缓冲区的数据进行编解码。
在本发明实施例中,通过将接收的音频输入设备输入的音频数据存储在多个数据缓冲区,由音频编解码模块对所述多个数据缓冲区的音频数据进行编解码,由于包括多个数据缓冲区可存储音频数据,使得在中低速配置的设备中的音频编解码模块可以使用较低速率完成对输入的音频数据的编解码要求,在没有专业的音频编解码芯片进行编解码,也能完成实时编解码,从而满足系统对多种音频应用的要求,同时能够节省系统成本。
附图说明
图1是本发明第一实施例提供的音频实时编解码方法的实现流程图;
图2是本发明第二实施例提供的音频实时编解码方法的实现流程图;
图3是本发明第三实施例提供的音频实时编解码方法的实现流程图;
图4是本发明第四实施例提供的音频实时编解码装置的结构示意图;
图5为本发明第五实施例提供的终端设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例主要应用于中低速配置的移动终端设备中,由于移动终端设备,特别是智能手机的技术的发展,出现了大量的利用音频接口作为音频输入或者其它非音频数据的指令进行传输的应用程序,如现有的对讲机功能的通信应用程序等。为解决现有应用程序对音频接口数据编解码的时序压力,本发明公开了一种应用于中低速平台的音频编解码方法,所述方法包括:接收输入的音频数据;根据预先设定的多个数据缓冲区,缓存所述接收的音频数据;读取所述数据缓冲区接收的音频数据,进行编解码处理。
通过将接收的音频输入设备输入的音频数据存储在多个数据缓冲区,由音频编解码模块对所述多个数据缓冲区的音频数据进行编解码,由于包括多个数据缓冲区可存储音频数据,使得在中低速配置的设备中的音频编解码模块可以使用较低速率完成对输入的音频数据的编解码要求,在没有专业的音频编解码芯片进行编解码,也能完成实时编解码,从而满足系统对多种音频应用的要求,同时能够节省系统成本。
实施例一:
图1示出了本发明第一实施例提供的音频实时编解码方法的实现流程,详述如下:
在步骤S101中,接收输入的音频数据。
所述输入的音频数据,可以为麦克风或者其它音频采集装置所接收的音频数据,所述麦克风一般为内置于移动终端的内部,也可以通过音频接口连接的外置麦克风,另外,输入的音频数据还可以通过音频输入接口输入的其它音频存储设备传输的音频数据。
所述音频数据的格式,当用于音频数据解码时,与音频解码模块所兼容的音频解码格式匹配,可以为常用的MP3(MPEG Audio Player3)、WAV等。根据输入的音频数据的格式,选择对应的解码算法得到解码后的音频数据。
当所述输入的音频数据为模拟音频数据时,接收到所述音频数据还包括模拟数据到数字音频信号的A/D采样的转换,所述采样的时间间隔可以根据对音质品质要求的高低进行定义,采样间隔越短,得到的音频数据的失真相对也就越低,更能还原原始的音频数据信号。
在步骤S102中,根据预先设定的多个数据缓冲区,缓存所述接收的音频数据。
所述数据缓冲区,属于移动终端中的存储器,用于缓存所接收到的待编解码的音频数据,所述存储器包括但不限于软盘、CD-ROM、DVD、磁盘、存储器芯片、ROM、RAM、ASIC、配置的处理器、任何光介质、任何磁带或任何其他磁介质、或处理器可从中读取指令的任何其他磁介质。
所述数据缓冲区,可以包括多个,即可以包括两个或者两个以上,多个数据缓冲区可以更为优化的实现对音频数据的缓存,方便对所述音频数据的解码操作。如下示例:
在终端设备的存储区划分出两个数据缓冲区,接收的音频数据后,首先将接收的音频数据写入第一数据缓冲区,在写入的音频数据到达一定的量时,可通过相应的标识符指示可对写入的音频数据进行编解码操作,在写入到第一数据冲区所能存储的数据的量时,通过转向标识继续对第二数据缓冲区写入数据,则编解码模块仍然可以不间断的对第一数据缓冲区进行数据编解码,相对于写入速度较快,但编解码速率较慢(由移动终端的硬件所决定,如CPU处理速度等)的移动终端,仍然可以完成对输入的音频数据进行实时的、不间断的编解码操作,在对一数据缓冲区完成编解码后,跳转到第二数据缓冲区进行数据编解码。
在步骤S103中,读取所述数据缓冲区接收的音频数据,进行编解码处理。
所述音频编解码模块,可以为固定有专门的解码算法的解码芯片,也可以通过软件实现的应用程序,无论是解码芯片还是解码的应用程序,在解码速率低于写入数据的速率时,在数据缓冲区造成极大的时充压力。
本发明通过多个数据缓冲区,可以由各个数据缓冲区对输入的数据进行分流,从而使得在没有专业的音频编解码芯片进行编解码,也能完成实时编解码,减少系统的成本。
实施例二:
图2示出了本发明第二实施例提供的音频实时编解码方法的实现流程,详述如下:
在步骤S201中,接收输入的音频数据。
在步骤S202中,通过直接存储器访问DMA模式下的控制器设定数据缓冲区的基址、数据缓冲区的大小以及缓冲区数据存储状态标识。
具体的,所述直接存储器访问DMA模式,当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。
在实现DMA传输时,是由DMA控制器直接掌管总线,在DMA传输前,CPU把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。一个完整的DMA传输过程包括DMA请求、DMA响应、DMA传输、DMA结束4个步骤。
所述通过直接存储器访问DMA模式下的控制器设定数据缓冲区的基址、数据缓冲区的大小,可以根据接收的音频数据的大小相应的调整,所述音频数据的大小要大于数据缓冲区的大小。
另外,通过控制器设置缓冲区数据存储状态标识,所述缓冲区数据状态标识包括正在写入、正在读取、数据为满、数据为空。
当所述数据缓冲区的状态标识为“数据为满”时,可由编解码模块对数据缓冲区的数据进行编解码操作,当所述数据缓冲区的状态标识为“数据为空”时,可由接收音频输入数据对数据缓冲区的写入操作。
在步骤S203中,根据预先设定的多个数据缓冲区,缓存所述接收的音频数据。
在步骤S204中,读取所述数据缓冲区接收的音频数据,进行编解码处理。
本实施例通过在DMA模式下控制实现DMA的数据存储,并设定相应的缓冲区大小,使得存储写入效率更高的同时,保证在中低速配置的移动终端实时编解码。
实施例三:
图3示出了本发明第三实施例提供的音频实时编解码方法的实现流程,详述如下:
在步骤S301中,接收输入的音频数据。
在步骤S302中,获取接收输入的音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率。
在步骤S303中,根据所述获取写入音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率,选择与其相对应个数的数据缓冲区缓存所述接收的音频数据。
具体的,所述根据所述获取写入音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率,选择与其相对应个数的数据缓冲区缓存所述接收的音频数据步骤为:
根据所述获取写入音频数据的速率与所述音频编解码模块对所述缓冲区数据的编解码的速率的比值对应的整数,选择所述比值确定的数据缓冲区。
这样做的目的在于,当数据写入时,编解码模块对数据进行编解码操作,当所选定的多个缓冲区中的一个写满时,在将数据写入其它数据缓冲区时,编解码模块都可以对某一数据缓冲区进行编解码操作,能够有效的缓解编解码的时序压力,从而提高系统的稳定性。
在步骤S304中,读取所述数据缓冲区接收的音频数据,进行编解码处理。
本实施例通过选择与编解码速度和写入速率相匹配的数据缓冲区,由多个数据缓冲区适应中低速配置的终端的解码要求,从而提高系统运行的稳定性和可靠性。
实施例四:
图4示出了本发明第四实施例提供的音频实时编解码装置的结构示意图,详述如下:
本发明实施例所述音频实时编解码装置包括:
接收单元401,用于接收输入的音频数据;
缓存单元402,用于根据预先设定的多个数据缓冲区,缓存所述接收的音频数据;
读取单元403,用于读取所述数据缓冲区接收的音频数据,进行编解码处理。
进一步的,所述装置还包括:
设定单元,用于通过直接存储器访问DMA模式下的控制器设定数据缓冲区的基址、数据缓冲区的大小以及缓冲区数据存储状态标识。
具体的,所述缓存单元包括:
获取子单元,用于获取接收输入的音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率;
选择子单元,用于根据所述获取写入音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率,选择与其相对应个数的数据缓冲区缓存所述接收的音频数据。
进一步的,所述选择子单元具体用于根据所述获取写入音频数据的速率与所述音频编解码模块对所述缓冲区数据的编解码的速率的比值对应的整数,选择所述比值确定的数据缓冲区。
本发明实施例所述应用于中低速平台的音频编解码装置与实施例一至三所述应用于中低速平台的音频编解码方法相对应,在此不重复赘述。
实施例五:
图5示出了本发明第五实施例提供的终端设备的结构示意图,详述如下:
包括音频输入装置501,控制器502、存储器503和音频编解码模块504,其中,所述:
音频输入装置501用于接收输入的音频数据;
所述存储器503中包括预先设定的多个数据缓冲区,用于接收所述音频输入装置接收的音频数据;
所述控制器502为直接存储器访问DMA控制器,用于控制所述音频输入装置直接将所述音频数据存储于存储器的多个数据缓冲区5031;
所述音频编解码模块504用于接收控制器的编解码指令,对所述存储器503的多个数据缓冲区5031的数据进行编解码。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用于中低速平台的音频编解码方法,其特征在于,所述方法包括:
接收输入的音频数据;
根据预先设定的多个数据缓冲区,缓存所述接收的音频数据;
读取所述数据缓冲区接收的音频数据,进行编解码处理。
2.根据权利要求1所述的方法,其特征在于,所述根据预先设定的多个数据缓冲区,缓存所述接收的音频数据步骤之前,所述方法还包括:
通过直接存储器访问DMA模式下的控制器设定数据缓冲区的基址、数据缓冲区的大小以及缓冲区数据存储状态标识。
3.根据权利要求2所述方法,其特征在于,所述缓冲区数据状态标识包括正在写入、正在读取、数据为满、数据为空。
4.根据权利要求1所述方法,其特征在于,所述根据预先设定的多个数据缓冲区,缓存所述接收的音频数据步骤包括:
获取接收输入的音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率;
根据所述获取写入音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率,选择与其相对应个数的数据缓冲区缓存所述接收的音频数据。
5.根据权利要求4所述方法,其特征在于,所述根据所述获取写入音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率,选择与其相对应个数的数据缓冲区缓存所述接收的音频数据步骤为:
根据所述获取写入音频数据的速率与所述音频编解码模块对所述缓冲区数据的编解码的速率的比值对应的整数,选择所述比值确定的数据缓冲区。
6.一种应用于中低速平台的音频编解码装置,其特征在于,所述装置包括:
接收单元,用于接收输入的音频数据;
缓存单元,用于根据预先设定的多个数据缓冲区,缓存所述接收的音频数据;
读取单元,用于读取所述数据缓冲区接收的音频数据,进行编解码处理。
7.根据权利要求6所述装置,其特征在于,所述装置还包括:
设定单元,用于通过直接存储器访问DMA模式下的控制器设定数据缓冲区的基址、数据缓冲区的大小以及缓冲区数据存储状态标识。
8.根据权利要求6所述装置,其特征在于,所述缓存单元包括:
获取子单元,用于获取接收输入的音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率;
选择子单元,用于根据所述获取写入音频数据的速率、音频编解码模块对所述缓冲区数据的编解码的速率,选择与其相对应个数的数据缓冲区缓存所述接收的音频数据。
9.根据权利要求8所述装置,其特征在于,所述选择子单元具体用于根据所述获取写入音频数据的速率与所述音频编解码模块对所述缓冲区数据的编解码的速率的比值对应的整数,选择所述比值确定的数据缓冲区。
10.一种终端设备,其特征在于,所述设备包括音频输入装置、控制器、存储器和音频编解码模块,其中,所述
音频输入装置用于接收输入的音频数据;
所述存储器中包括预先设定的多个数据缓冲区,用于接收所述音频输入装置接收的音频数据;
所述控制器为直接存储器访问DMA控制器,用于控制所述音频输入装置直接将所述音频数据存储于存储器的多个数据缓冲区;
所述音频编解码模块用于接收控制器的编解码指令,对所述存储器的多个数据缓冲区的数据进行编解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695067.7A CN104715755B (zh) | 2013-12-17 | 2013-12-17 | 一种应用于中低速平台的音频编解码方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695067.7A CN104715755B (zh) | 2013-12-17 | 2013-12-17 | 一种应用于中低速平台的音频编解码方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104715755A true CN104715755A (zh) | 2015-06-17 |
CN104715755B CN104715755B (zh) | 2020-06-23 |
Family
ID=53415017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310695067.7A Active CN104715755B (zh) | 2013-12-17 | 2013-12-17 | 一种应用于中低速平台的音频编解码方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104715755B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595393A (zh) * | 2003-12-22 | 2005-03-16 | 上海广电信息产业股份有限公司 | 实时音频编码器接口预处理软硬件系统及方法和用途 |
CN101059958A (zh) * | 2007-03-15 | 2007-10-24 | 上海交通大学 | 利用缓存来加快量化数据取得的编码和解码方法 |
CN101741391A (zh) * | 2008-11-19 | 2010-06-16 | 中国科学院微电子研究所 | 在定点dsp进行mp3音频解码时优化内存空间的方法 |
-
2013
- 2013-12-17 CN CN201310695067.7A patent/CN104715755B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595393A (zh) * | 2003-12-22 | 2005-03-16 | 上海广电信息产业股份有限公司 | 实时音频编码器接口预处理软硬件系统及方法和用途 |
CN101059958A (zh) * | 2007-03-15 | 2007-10-24 | 上海交通大学 | 利用缓存来加快量化数据取得的编码和解码方法 |
CN101741391A (zh) * | 2008-11-19 | 2010-06-16 | 中国科学院微电子研究所 | 在定点dsp进行mp3音频解码时优化内存空间的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104715755B (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020063146A1 (en) | Data transmission method and system, and bluetooth headphone | |
US8930590B2 (en) | Audio device and method of operating the same | |
WO2018152679A1 (zh) | 音频文件的传输、接收方法及装置、设备及其系统 | |
CN104007977A (zh) | 电子装置及音频播放方法 | |
CN103905834A (zh) | 音频数据编码格式转换的方法及装置 | |
CN104835520A (zh) | 一种在移动设备上录音的方法及装置 | |
CN111078930A (zh) | 音频文件数据处理方法及装置 | |
CN111048093A (zh) | 会议音箱及会议记录方法、设备、系统和计算机存储介质 | |
CN103327021A (zh) | 一种多设备互动方法及相关设备、系统 | |
CN101697470B (zh) | 一种控制线性马达振动的方法 | |
CN105578585A (zh) | 一种确定链路延时的方法、装置和通信设备 | |
CN103915097A (zh) | 一种语音信号处理方法、装置和系统 | |
CN105869647B (zh) | 一种智能手机原生dsd音频解码方法、系统及智能手机 | |
CN101645967B (zh) | 一种以自定义格式处理多媒体数据的移动终端及实现方法 | |
WO2022135105A1 (zh) | 功能机视频配乐方法、装置、终端设备及存储介质 | |
CN104113933A (zh) | 一种信息传输方法、装置和移动终端 | |
CN104715755A (zh) | 一种应用于中低速平台的音频编解码方法、装置和设备 | |
CN102413216A (zh) | 实现Android智能移动终端语音通话的方法及系统 | |
CN103531224B (zh) | 应用于嵌入式系统平台的简易语音播放方法 | |
CN201590040U (zh) | 电脑远距离无线智能控制装置 | |
CN104735809A (zh) | 一种终端与外接设备通信的方法以及这种终端 | |
CN104078042A (zh) | 一种电子设备及一种信息处理的方法 | |
CN101651814A (zh) | 基于arm和dsp架构的嵌入式视频服务器 | |
CN100458683C (zh) | 一种音频输出方法及系统 | |
CN104183243A (zh) | 音频编解码系统 |
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 |