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数据的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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。