首页 / 专利库 / 软件 / 软件套件 / 软件组件 / 软件代码 / 一种基于G726编码的多路音频实时编码软硬件方案

一种基于G726编码的多路音频实时编码软硬件方案

阅读:561发布:2024-02-10

专利汇可以提供一种基于G726编码的多路音频实时编码软硬件方案专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种基于G726编码的多路音频实时编码软 硬件 方案。该方案主要包括:多路音频接收机 制模 块 ,包含一个多路模拟 信号 转换一路 数字信号 硬件(其中每路信号经过转换后可得到一条分时复用信号),信号缓冲硬件(可将分时复用的信号存入其硬件FIFO,当数据多过设定值时,硬件会发出数据满信号);数据搬移模块,由DMA 控制器 来构成,由 软件 设置源地址和目的地址,并向系统发出DMA传输开始命令,将先前存在FIFO中的数据传输到 指定 地址中;数据整合模块,该模块用于将每次传输到内存的数据拼接为各路连续数据,由软件完成;多路音频编码模块为一块 编码器 硬件,编码内存中各路数据的每一 帧 并存入指定的地址。,下面是一种基于G726编码的多路音频实时编码软硬件方案专利的具体信息内容。

1.一种基于G726编码的多路音频实时编码软硬件方案,其特征在于:该方法具体包括以下步骤:
(1)多路音频接收机制模将多路音频模拟信号转换为数字信号,按照路数顺序排列每个通道一个采样点的数据,下一个采样点再按照上次的顺序排列,每一个采样点用16bit二进制表示。
(2)软件发出命令控制硬件FIFO开始接收上述信号并存储,利用寄存器实时显示所接收数据的数量。
(3)软件配置源数据地址为上述硬件FIFO,目的地址为指定内存地址,软件控制DMA控制器启动,并在中断处理程序中启动下一次,这样不断启动DMA传输,将连续的音频信号存到内存中。
(4)软件程序对上述内存中的混合音频数据进行整合,将固定顺序的数据整合为其一路的音频数据,存至另外的多块内存。
(5)将各路待编码的数据地址,各路编码后数据要存到的地址,各路编码的方式(G726编码有4种速率的编码),按照链表的方式链接起来。
(6)多路编码硬件读链表的第一个节点,获得第一路音频的待编码地址,编码后地址,编码方式,对该路数据进行G726编码和存储。多路编码硬件读链表的第二个节点,后面的操作与第一节点一致,一直编码到最后一个节点。此时,各路的一音频数据编码完毕,编码硬件发出编码完成中断。
(7)软件再次配置链表,进行第二帧的编码,如此反复。
(8)为了进行实时编码,采用的编码硬件的工作频率设置在能够在一帧音频数据时间内将多路音频数据编码完毕,为了支持更多路数的编码,可以在硬件工作允许频率范围内增大工作频率,保证实时编码。
2.根据权利要求1所述的一种基于G726编码的多路音频实时编码软硬件方案,其特征在于:所述步骤(1)中:将多路音频模拟信号转换为数字信号,按照路数顺序排列每个通道一个采样点的数据。
3.根据权利要求1所述的一种基于G726编码的多路音频实时编码软硬件方案,其特征在于:所述步骤(3)中:软件控制DMA控制器启动,并在中断处理程序中启动下一次,这样不断启动DMA传输,将连续的音频信号存到内存中。
4.根据权利要求1所述的一种基于G726编码的多路音频实时编码软硬件方案,其特征在于:所述步骤(4)中:软件程序对上述内存中的混合音频数据进行整合,将固定顺序的数据整合为其一路的音频数据,存至另外的多块内存。
5.根据权利要求1所述的一种基于G726编码的多路音频实时编码软硬件方案,其特征在于:所述步骤(5)中:将各路待编码的数据地址,各路编码后数据要存到的地址,各路编码的方式(G726编码有4种速率的编码),按照链表的方式链接起来。
6.根据权利要求1所述的一种基于G726编码的多路音频实时编码软硬件方案,其特征在于:所述步骤(6)中:多路编码硬件读链表的第一个节点,获得第一路音频的待编码地址,编码后地址,编码方式,对该路数据进行G726编码和存储。多路编码硬件读链表的第二个节点,后面的操作与第一节点一致,一直编码到最后一个节点。编码硬件发出编码完成中断。
7.根据权利要求1所述的一种基于G726编码的多路音频实时编码软硬件方案,其特征在于:所述步骤(8)中:为了支持更多路数的编码,可以在硬件工作允许频率范围内增大工作频率,保证实时编码。
8.本发明涉及所有采用或部分采用权利要求1-7所述技术的代码、软件和设备等。

说明书全文

一种基于G726编码的多路音频实时编码软硬件方案

技术领域

[0001] 本发明涉及一种基于G726编码的多路音频实时编码软硬件方案,该软硬件设计方案可以使得G726编码器能够进行可改变路数的多路音频编码,属于通信领域和嵌入式系统领域。技术背景
[0002] G.726语音编码是国际电信联盟(International Telecommunications Union;ITU)在1990年12月提出的一种自适应量化ADPCM编码。该编码有四种编码速率可选:
16/24/32/40kbps,可将音频PCM信号编码为上述码率的码流。具有编码质量好,算法复杂度适中的优点。G726编码是目前监控行业通用的几种编码中最重要的一种。
[0003] G726编码是对音频信号进行量化编码,一般的编码器并不能处理多路音频,但在实际应用中,经常需要对多路的音频信号同时编码。
[0004] 目前的G726及类似编码的多路实时音频编码方案中,主要的技术有两种,第一种是整体通过专用集成电路来实现,二是使用软件编码器来实现。这两种方案中,前者是在数据处理性能方面具有较好的表现,而后者是在使用成本以及由编码方式变更时带来的灵活性上体现优势。
[0005] 本发明提供了一种将以上两者的优势相结合的实现方案,即在多路音频信号的接收机制上采用软件控制的硬件模来实现可变路数的接收这样一种灵活的接收方式,在编码器上则采用复用一块专用集成电路编码器来实现多路信号的编码,当编码需要变更时,可以直接将旧的编码器替换成新的。这样可以达到编码路数,编码方式的灵活性以及生产、使用方便、成本低,而又达到实时编码所需要的性能。本发明的意义在于,在多路编码的应用要求下,可以节省作为核心部件的音频编码器的数量和系统开销,且方案易变通,具有普适性。

发明内容

[0006] 为了实现G.726多路编码,本发明提供了一种基于G726编码的多路音频实时编码软硬件方案。该方案主要包括:多路音频接收机制模块,包含一个多路模拟信号转换一路数字信号硬件(其中每路信号经过转换后可以得到一条分时复用的信号,周期性的依次呈现各路信号),信号缓冲硬件(其可将分时复用的的信号存入其硬件FIFO,当数据多过设定值时,硬件会发出数据满信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出);数据搬移模块,这是由一个DMA控制器来构成的,由软件设置源地址和目的地址,并向Linux系统发出DMA传输开始命令,将先前存在FIFO中的音频数据传输到指定地址的内存中;数据整合模块,这个模块是用来将每一次传输到内存的分时复用数据拼接为各路连续数据的,由软件来完成;多路音频编码模块,该模块是一块编码器硬件,对内存中各路数据的每一进行编码并存入软件指定的地址。具体步骤如下:
[0007] 步骤一:多路音频接收机制模块将多路音频模拟信号转换为数字信号,按照路数顺序排列每个通道一个采样点的数据,下一个采样点再按照上次的顺序排列,每一个采样点用16bit二进制表示。
[0008] 步骤二:软件发出命令控制硬件FIFO开始接收上述信号并存储,利用寄存器实时显示所接收数据的数量。
[0009] 步骤三:软件配置源数据地址为上述硬件FIFO,目的地址为指定内存地址,软件控制DMA控制器启动,并在中断处理程序中启动下一次,这样不断启动DMA传输,将连续的音频信号存到内存中。
[0010] 步骤四:软件程序对上述内存中的混合音频数据进行整合,将固定顺序的数据整合为其一路的音频数据,存至另外的多块内存。
[0011] 步骤五:将各路待编码的数据地址,各路编码后数据要存到的地址,各路编码的方式(G726编码有4种速率的编码),按照链表的方式链接起来。
[0012] 步骤六:多路编码硬件读链表的第一个节点,获得第一路音频的待编码地址,编码后地址,编码方式,对该路数据进行G726编码和存储。多路编码硬件读链表的第二个节点,后面的操作与第一节点一致,一直编码到最后一个节点。此时,各路的一帧音频数据编码完毕,编码硬件发出编码完成中断。
[0013] 步骤七:软件再次配置链表,进行第二帧的编码,如此反复。
[0014] 步骤八:为了进行实时编码,采用的编码硬件的工作频率设置在能够在一帧音频数据时间内将多路音频数据编码完毕,为了支持更多路数的编码,可以在硬件工作允许频率范围内增大工作频率,保证实时编码。
[0015] 其中,所述的步骤一中:将多路音频模拟信号转换为数字信号,按照路数顺序排列每个通道一个采样点的数据。
[0016] 其中,所述的步骤三中:软件控制DMA控制器启动,并在中断处理程序中启动下一次,这样不断启动DMA传输,将连续的音频信号存到内存中。
[0017] 其中,所述的步骤四中:软件程序对上述内存中的混合音频数据进行整合,将固定顺序的数据整合为其一路的音频数据,存至另外的多块内存。
[0018] 其中,所述的步骤五中:将各路待编码的数据地址,各路编码后数据要存到的地址,各路编码的方式(G726编码有4种速率的编码),按照链表的方式链接起来。
[0019] 其中,所述的步骤六中:多路编码硬件读链表的第一个节点,获得第一路音频的待编码地址,编码后地址,编码方式,对该路数据进行G726编码和存储。多路编码硬件读链表的第二个节点,后面的操作与第一节点一致,一直编码到最后一个节点。编码硬件发出编码完成中断。
[0020] 其中,所述的步骤八中:为了支持更多路数的编码,可以在硬件工作允许频率范围内增大工作频率,保证实时编码。
[0021] 本发明的原理:在开源的G726编码算法的基础上设计出实际完成编码工作的硬件,并将其置于Linux嵌入式系统环境下,利用其软件,对多路音频系统进行控制和操作。使得接收到的多路音频信号分时排列,并缓存到硬件FIFO中,再控制DMA传输该数据,利用软件模块对数据进行整合,将参数写入链表,编码器硬件读取链表并对各路分帧进行编码并输出到指定的内存。其中频率扩展是路数扩展的关键技术。
[0022] 本发明与现有技术相比优点在于:
[0023] 1.G726实现多路实时编码,且路数可配置可扩展。
[0024] 2.软件与硬件分配合理,便于系统的扩展和修改
[0025] 3.编码效率高
[0026] 各路可采用不同的编码方式,只要在编码器硬件中添加新的编码器,便可支持更多种编码方式的多路编码。附图说明
[0027] 图1是本发明提出的多路音频实时编码软硬件方案整体流程图
[0028] 图2是本发明提出的多路音频实时编码音频接收机制流程图
[0029] 图3是本发明提出的多路音频实时编码音频整合模块图
[0030] 图4是本发明提出的多路音频实时编码音频编码模块流程图

具体实施方式

[0031] 下面结合附图,对本发明的技术方案做进一步的说明。
[0032] 本发明提供了一种基于G726编码,但不限于本编码模式的多路音频实时编码软硬件方案。该方案设计方法主要包括:多路音频接收机制模块,包含一个多路模拟信号转换一路数字信号硬件(其中每路信号经过转换后可以得到一条分时复用的信号,周期性的依次呈现各路信号),信号缓冲硬件(其可将分时复用的的信号存入其硬件FIFO,当数据多过设定值时,硬件会发出数据满信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出);数据搬移模块,这是由一个DMA控制器来构成的,由软件设置源地址和目的地址,并向Linux系统发出DMA传输开始命令,将先前存在FIFO中的音频数据传输到指定地址的内存中;数据整合模块,这个模块是用来将每一次传输到内存的分时复用数据拼接为各路连续数据的,由软件来完成;多路音频编码模块,该模块是一块编码器硬件,对内存中各路数据的每一帧进行编码并存入软件指定的地址。
[0033] 参见附图2,多路音频接受机制模块将多路的音频信号自多路AD转换器量化、整合为一路分时复用的码流。最多可复用的数据量安排为16路X16bit,如果需要支持更多路,则只要增加对应数量的多路AD转换器即可。此条复用码流经过I2S总线来传输,缓存到FIFO硬件中。这部分数据是要被取走的,然而如果没有来得及取走,FIFO的数据量就会离FIFO线越来越高,超出水线时,硬件会置位FIFO满标志,不再存入新的复用码流。本系统中使用DMA控制器来取出码流,在时序上可以保证取数据的速度大于数据产生的速度,因而只要系统正常工作,可以保证数据不会丢失。经过这些操作之后,多路音频数据就按照分时复用码流的形式存到内存中去了。
[0034] 附图3是音频整合模块,在内存中进行。通过多路复用的对应关系,这里由软件来将内存中的数据去复用,分别存到指定的各路内存区域中。因为接收的数据是按照采样点来进行多路复用的,g726音频编码虽然也是按每采样点来进行编码,但是编码需要逐帧输出编码后数据,且帧长度可变,因而复用和去复用两重操作是必要的。
[0035] 附图4是音频编码模块。指定一小块内存,作为链表存储空间,每帧的多路编码都会根据当前链表提供的数据地址和编码参数进行编码。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈