基于FPGA嵌入式系统的多路音频软编码机制技术方案

技术编号:15692545 阅读:97 留言:0更新日期:2017-06-24 06:39
本发明专利技术涉及广播电视与多媒体技术领域,特别是涉及一种基于FPGA嵌入式系统的多路音频软编码机制。该方案通过FPGA嵌入式系统提取每个输入通道的原始音频数据的有效PCM数据,采用DDR对所述PCM数据完成编码前PCM帧和编码后ES帧的交互,将与视频同步的PTS值写入与之对应的PES帧头部并输出。本发明专利技术的发明专利技术目的在于提供一种基于FPGA嵌入式系统的多路音频软编码机制,采用本发明专利技术提供的技术方案能够并行地接收与处理多路的原始数字音频数据,对各通道PCM音频帧产生与视频同步的PTS值,并将此对应关系保持到编码后的PES帧和PTS值,保证音视频同步。

Multi channel audio soft coding mechanism based on FPGA embedded system

The invention relates to the field of broadcast and television and multimedia technology, in particular to a multi-channel audio soft coding mechanism based on FPGA embedded system. The extraction of effective PCM data the original audio data for each input channel through the FPGA embedded system, using DDR to complete the PCM data before encoding PCM frame and ES frame encoding after interaction, will be synchronized with video PTS value into the corresponding PES frame head and output. The object of the invention is to provide a multi-channel audio FPGA embedded system software encoding mechanism based on the technical proposal of the invention can parallel multi-channel receiving and processing of the original digital audio data and video synchronization PTS values for each channel PCM audio frame, and the corresponding relationship to maintain after encoding PES frame and PTS, to ensure the synchronization of audio and video.

【技术实现步骤摘要】
基于FPGA嵌入式系统的多路音频软编码机制
本专利技术涉及广播电视与多媒体
,特别是涉及一种基于FPGA嵌入式系统的多路音频软编码机制。
技术介绍
在广电与多媒体领域,人们对音频质量的要求正在不断地提高,从单声道到立体声,又在向多声道发展,最广泛采用的多声道环绕声配置是ITU-R建议的5.1声道配置。而且同一视频可以存在多个配音,比如多种语言。随着工业技术的不断提升,多媒体系统支持的视频节目数也在不断增加,与视频对应的音频的数目也会成比例增长。增加音频编码芯片的数量无疑会增加编码系统的采购成本,各种音频编码芯片对编码格式以及控制方式都有特殊的要求,这加大了设计的复杂程度延长了设计周期。
技术实现思路
本专利技术的专利技术目的在于提供一种基于FPGA嵌入式系统的多路音频软编码机制,采用本专利技术提供的技术方案能够并行地接收与处理多路的原始数字音频数据,对各通道PCM音频帧产生与视频同步的PTS值,并将此对应关系保持到编码后的PES帧和PTS值,保证音视频同步。为了达到上述专利技术目的,本专利技术一方面提供一种多路音频软编码方法,包括以下步骤:将每个输入通道的原始音频数据由串行格式转为并行格式,并提取所述原始音频数据的有效PCM数据,利用乘法器对所述PCM数据进行音量放大操作,根据音频编码算法调整所述PCM数据的PCM数据位宽,将所述PCM数据编码成ES帧,采用DDR对所述PCM数据完成编码前PCM帧和编码后ES帧的交互,多个ES帧组成一个PES帧,将与视频同步的PTS值写入与之对应的PES帧头部,将PES帧分解为多个个TS包并匀速输出。本专利技术另一方面还提供一种多路音频软编码装置,包括PCM数据提取模块、PCM音频放大模块、PCM数据缓冲器和DDR写控制模块;所述PCM数据提取模块将原始数字音频输入格式由串行转换为并行格式,并提取出所述原始数字音频的有效PCM数据作为音频编码的原始输入数据;所述PCM音频放大模块,内含有符号乘法器,用于放大所述PCM数据,并根据音频编码算法要求控制所述PCM数据的位宽;所述PCM数据缓冲器,内含有PCM数据缓存区,用于缓存所述PCM数据,缓存大小为系统总线写burst长度,当缓存满burst长度的PCM数据后,由所述DDR写控制模块控制将PCM数据缓存区的PCM数据发送到系统总线;所述DDR写控制模块,用于将传入系统总线的PCM数据通过DDR控制器写入FPGA片外的DDR内;DDR内分配有PCM帧交互区,用于将PCM数据以PCM帧的形式存放。本专利技术还提供一种利用FPGA嵌入式系统进行编码和输出编码数据的方法,包括以下步骤:嵌入式CPU读取权利要求3中所述PCM帧交互区的PCM帧进行音频编码成ES帧;CPU将音频编码后的ES帧写入DDR分配的编码ES帧交互区,并通知FPGA内部的发送模块读取所述ES帧;发送模块通过系统总线读出ES帧,并将N个ES帧组成一个PES帧,将与视频同步的PTS值写入与之对应的PES帧头部,将PES帧分解为M个TS包,并将TS包匀速输出。本专利技术还提供一种与视频显示实时同步的PTS值的产生方法,采用本地PTS计数逼近的方法产生与视频实时同步的PTS值,包括以下步骤:实时提取视频PCR;本地计数器PTS_counter在本地时钟下进行计数,计数初始值为首次提取的视频PCR值;每当视频PCR更新,比较PTS_counter值与视频PCR值之间的差值;设置一个差值门限,PTS_counter与视频PCR差值大于差值门限,则调整PTS_counter值;PTS_counter与视频PCR差值连续超过差值门限值预设次数之后,则将PTS_counter值置为视频PCR值。将PTS_counter值作为与视频同步的PTS值。本专利技术还提供一种产生与PES帧对应的PTS值的方法,在编码系统时钟下,第i(1~n)通道的PCM帧的第一个有效数据出现的时刻,锁存计数器PTS_counter值作为与此PCM帧对应、且与视频实时同步的PTS值;PCM帧编码产生ES帧,ES帧对应的PTS值与此ES帧编码输入的PCM帧的PTS值相同;多个ES帧组成一个PES帧,将PES帧内的第一个ES帧对应的PTS值作为PES帧的PTS值并写入PES帧头。由上可见,应用本专利技术实施例的技术方案,有如下有益效果:(1)FPGA器件具有丰富的逻辑资源,可实现多路音频编码,其路数远大于普通音频编码芯片的音频编码路数,节省了音频编码芯片的采购成本。进一步地,FPGA芯片可以完成编码后音视频流的处理,因此对于多媒体系统搭建具有极小的成本。FPGA器件具有比普通编码芯片更多的外设接口,提供充分的调试手段;(2)基于FPGA嵌入式芯片的现场可编程特点,可以灵活的设置音频编码通道数,音频编码算法,减少设计复杂度,缩短设计周期;(3)基于FPGA高速处理能力,可以并行的接收多路原始音频数据,在各路音频帧的起始产生与视频同步的PTS值,在编码的过程中保持PTS与音频帧的对应关系,具有较好的音视频同步指标。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对本专利技术实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本专利技术的一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为依照本专利技术的基于FPGA嵌入式系统进行多路音频软编码的实现方法的系统框图;图2为依照本专利技术的原始音频PCM帧与对应的PTS值分别在DDR和寄存器存放的存放结构示意框图;图3为依照本专利技术的PTS产生模块结构图。图4为依照本专利技术的第i通道的编码后ES帧与对应的PTS值分别在DDR和寄存器存放结构示意框图;图5为依照本专利技术的在编码过程中音频帧与PTS值对应关系示意图;图6为依照本专利技术的PTS产生模块采用的一种本地PTS计数逼近的实施例流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在对多路音频解码过程中,增加音频编码芯片的数量无疑会增加编码系统的采购成本,各种音频编码芯片对编码格式以及控制方式都有特殊的要求,这加大了设计的复杂程度,延长了设计周期。为了解决上述技术问题,本实施例公开了一种基于FPGA嵌入式系统的多路音频软编码机制,本实施例提供的技术方案采用嵌入式FPGA芯片作为实现平台,能灵活的设置音频编码路数与编码算法,同时保证音视频同步。具体实现方法如下:先采用图1中所示的原始音频接收模块101对原始音频数据进行初处理,其实现步骤如下:1、将原始音频数据由串行格式转为并行格式,并提取有效PCM数据。2、有符号乘法模块放大音频幅度值,放大因子可设。3、根据算法需要调整原始PCM数据位宽。由于PCM数据是以二进制补码的形式存在,增加位宽采取在低位补零的方式,减小位宽采取截取低位的方式。4、将处理后的PCM数据放入FPGA片内存储器缓存,缓存采用乒乓的读写方式,乒乓缓存深度为系统总线burst长度。由上述原始音频接收模块101处理得到的PCM数据,传递给嵌入式处理器系统进行音频编码,PCM数据交互则在FPGA片外DDR进行。本文档来自技高网...
基于FPGA嵌入式系统的多路音频软编码机制

【技术保护点】
一种多路音频软编码方法,其特征在于:包括以下步骤:将每个输入通道的原始音频数据由串行格式转为并行格式,并提取所述原始音频数据的有效PCM数据,利用乘法器对所述PCM数据进行音量放大操作,根据音频编码算法调整所述PCM数据的PCM数据位宽,将所述PCM数据编码成ES帧,采用DDR对所述PCM数据完成编码前PCM帧和编码后ES帧的交互,多个ES帧组成一个PES帧,将与视频同步的PTS值写入与之对应的PES帧头部,将PES帧分解为多个个TS包并匀速输出。

【技术特征摘要】
1.一种多路音频软编码方法,其特征在于:包括以下步骤:将每个输入通道的原始音频数据由串行格式转为并行格式,并提取所述原始音频数据的有效PCM数据,利用乘法器对所述PCM数据进行音量放大操作,根据音频编码算法调整所述PCM数据的PCM数据位宽,将所述PCM数据编码成ES帧,采用DDR对所述PCM数据完成编码前PCM帧和编码后ES帧的交互,多个ES帧组成一个PES帧,将与视频同步的PTS值写入与之对应的PES帧头部,将PES帧分解为多个个TS包并匀速输出。2.根据权利要求1所述的多路音频软编码方法,采用DDR对所述PCM数据完成编码前PCM帧和编码后ES帧的交互,其特征在于:包括:将各通道输入的所述PCM数据,通过系统总线和DDR控制器缓存在DDR内的PCM帧缓存区内;嵌入式处理器通过系统总线读取所述PCM帧缓存区的PCM帧进行编码;嵌入式处理器将所述PCM帧编码生成的ES帧通过系统总线和DDR控制器缓存在DDR内的ES帧缓存区内,FPGA发送模块读取所述ES帧缓存区的数据输出。3.一种多路音频软编码装置,其特征在于:包括PCM数据提取模块、PCM音频放大模块、PCM数据缓冲器和DDR写控制模块;所述PCM数据提取模块将原始数字音频输入格式由串行转换为并行格式,并提取出所述原始数字音频的有效PCM数据作为音频编码的原始输入数据;所述PCM音频放大模块,内含有符号乘法器,用于放大所述PCM数据,并根据音频编码算法要求控制所述PCM数据的位宽;所述PCM数据缓冲器,内含有PCM数据缓存区,用于缓存所述PCM数据,缓存大小为系统总线写burst长度,当缓存满burst长度的PCM数据后,由所述DDR写控制模块控制将PCM数据缓存区的PCM数据发送到系统总线;所述DDR写控制模块,用于将传入系统总线的PCM数据通过DDR控制器写入FPGA片外的DDR内;DDR内分配有PCM帧交互区,用于将PCM数据以PCM帧的形式存放。4.一种利用FPGA嵌入式系统进行编码和输出编码数据的方法,其特征在于:包括以下步骤:嵌入式CPU读取权利要求3中所述PCM帧交互区的PCM帧进行音频编码成ES帧;CPU将音频编码后的ES帧写入DDR分配的编码ES帧交互区,并通知FPGA内部的发送模块读取所述ES帧;发送模块通过系统总线读出ES帧,并将N个ES帧组成一个PES帧,将与视频同步的PTS值写入与之对应的PES帧头部,将PES帧分解为M个TS包,并将TS包匀速输出。5.一种与视频显示实时同步的PTS值的产生方法,其特征在于:采用本地PTS计数逼近的方法产生与视频实时同步的PTS值,包括以下步骤:实时提取视频PCR;本地计数器PTS_counter在本地时钟下进行计数,计数初始值为首次提取的视频PCR值;每当视频PCR更新,比较PTS_counter值与视频PCR值之间的差值;设置一个差值门限,PTS_counter与视频PCR差值大于差值门限,则调整PTS_counter值;PTS_counter与视频PCR差值连续超过差值门限值预设次数之后,则将PTS_counter值置为视频PCR值。将PTS_counter值作为与视频同步的PTS值。6.根据权利要求5所述的PTS值的产生方法,其特征在于:包括:接收视频编码器的PCR包,提取出所述PCR包的PCR值,PCR值包含PCR_base与PCR_ext两部分;本地PTS计数器对27Mhz时钟进行计数,本地PTS计数器分为PTS_base与PTS_ext两个计数器;PTS_ext计数器计数范围0到299,当PTS_ext计数300个27Mhz时钟周期后,PTS_ext计数归零并且...

【专利技术属性】
技术研发人员:李科邹伟华
申请(专利权)人:伟乐视讯科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1