CN106875952A - 基于fpga嵌入式系统的多路音频软编码机制 - Google Patents
基于fpga嵌入式系统的多路音频软编码机制 Download PDFInfo
- Publication number
- CN106875952A CN106875952A CN201611207687.1A CN201611207687A CN106875952A CN 106875952 A CN106875952 A CN 106875952A CN 201611207687 A CN201611207687 A CN 201611207687A CN 106875952 A CN106875952 A CN 106875952A
- Authority
- CN
- China
- Prior art keywords
- pts
- pcm
- frame
- frames
- value
- 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
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
Abstract
本发明涉及广播电视与多媒体技术领域,特别是涉及一种基于FPGA嵌入式系统的多路音频软编码机制。该方案通过FPGA嵌入式系统提取每个输入通道的原始音频数据的有效PCM数据,采用DDR对所述PCM数据完成编码前PCM帧和编码后ES帧的交互,将与视频同步的PTS值写入与之对应的PES帧头部并输出。本发明的发明目的在于提供一种基于FPGA嵌入式系统的多路音频软编码机制,采用本发明提供的技术方案能够并行地接收与处理多路的原始数字音频数据,对各通道PCM音频帧产生与视频同步的PTS值,并将此对应关系保持到编码后的PES帧和PTS值,保证音视频同步。
Description
技术领域
本发明涉及广播电视与多媒体技术领域,特别是涉及一种基于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进行。
请参见图2,在片外DDR内设有PCM帧交互区,该PCM帧交互区根据通道数目n划分为n个区间,称之为通道区间。每个通道区间分为大小相等的两个子区间:乒区203和乓区204。乒区和乓区各存储一个PCM帧。
请参见图1,写DDR控制模块102用于将通道1到通道n的接收模块101内缓存的PCM音频数据通过系统总线写入DDR内PCM帧交互区.
PCM音频数据写入PCM帧交互区的操作过程具体如下:当通道i(1~n)的接收模块101完成一个系统总线burst长度PCM数据的缓存后,写DDR控制模块向系统总线发起一次写burst操作。先根据通道号i确定PCM帧交互区的通道区间,再确定该通道区间乒乓子区间,将总线burst数据写入乒乓子区间。若已写满其中一个乒乓子区间后,转向写入另一个乒乓子区间。
当PCM帧交互区存在任意通道的一个完整的PCM帧之后,嵌入式系统将此PCM帧转移到其他DDR区间进行音频编码,并释放该PCM帧所在的通道子区间。
根据MPEG协议,PTS是音频数据存储单元的显示时间。为了保证多路节目的音视频同步,需要正确的对每一路音频产生准确的与视频同步的PTS信息,即保证音频PTS与视频PTS具有相同的系统时基。请参见图2,PTS生成模块205,用于产生PTS值,并存入相应的PTS寄存器202。
请参见图3,PTS生成模块由4个子模块,PCR_analysis模块301,PTS_counter模块302,PTS_trans_ctrl模块303,与PCM_counter模块304组成。
由PCR_analysis模块301,PTS_counter模块302组合产生实时的与视频同步的PTS值;PTS_trans_ctrl模块303,与PCM_counter模块304组合将实时的PTS值写入各通道对应的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,具体的,包括:
步骤600:PCR_analysis模块301实时提取视频编码器传来的PCR信息,PCR值的PCR_base与PCR_ext值。
步骤601:PTS_counter模块302用于产生实时的PTS值,该PTS值在本地27Mhz时钟的有效沿计数。
PTS_counter模块302模块包含PTS_base与PTS_ext两个计数器,其中PTS_ext对本地27Mhz时钟计数,计数区间0到299.当PTS_ext计数满300个27Mhz时钟周期PTS_base值计数加1。
PTS_base与PTS_ext的计数初始值分别为为第一次从PCR_analysis模块301获取的PCR_base值与PCR_ext。
步骤602:当PCR_analysis模块301获取到新的视频PCR_base时,计算PCR_base与PTS_base差值DIF_PTS即DIF_PTS=PCR_base-PTS_base,将DIF_PTS与预设阀值进行比较。
计数器correct_cnt用于统计DIF_PTS超过预设阀值的次数。
步骤603:若DIF_PTS小于预设阀值,则PTS_counter模块302的PTS_base与PTS_ext不进行校正,将PTS_base作为实时的与视频同步的PTS值输出。并且计数器correct_cnt归零。
步骤604:若DIF_PTS大于预设阀值,判断correct_cnt是否达到预设最大值。
步骤605:若DIF_PTS大于预设阀值,且correct_cnt未达到预设最大值则将PTS_base计数器值置为PTS_base+DIF_PTS/2,并且correct_cnt计数加1。
步骤606:若correct_cnt达到预设最大值,则认为出现异常,调整PTS_base值将不起作用,则将本地PTS_base与PTS_ext计数器置为PCR_base与PCR_ext,并且correct_cnt归零。
通过上述步骤得到的PTS值则具备与视频显示实时同步的属性,此外,需要产生与各个通道PCM帧对应的PTS值,具体步骤如下:
每个通道对应存在一个PCM_counter计数器304。PCM_counter计数器304对图1所述接收模块101接收的PCM数据个数进行计数,计数最大值为PCM帧的长度值。当PCM_counter计数值等于1,代表此时刻为PCM帧第一个PCM数据出现的时刻。每当某通道i对应的PCM_counter=1,则产生请求信号输出给PTS_trans_ctrl模块303,PTS_trans_ctrl模块303接收到通道i的请求信号立即锁存此时的通道i对应的PTS_counter的PTS值,并写入到对应通道的PTS寄存器202。PTS_trans_ctrl模块303具有并行处理能力,即当多个通道的PCM_counter同时发出请求时,将锁存此时PTS_counter的PTS值,并行写入各对应通道的PTS寄存器202。
请参见图2,由于PCM帧交互区每个通道区间分为乒乓两个子区间,两个子区间各存放一个PCM帧。所以对应的PTS寄存器,也是每个通道分配两个寄存器与PCM帧对应。
图6所示是在编码过程中音频帧与PTS值对应关系示意图。具体地,保持音频帧(PCM帧,ES帧,PES帧)与PTS的关系,直到PTS值与PES帧对应。以下是产生PES帧以及其对应的PTS的步骤:
请参见图5,首先产生ES帧以及其对应的PTS,包括:
通道i的音频帧PCM_frame_1帧503经过嵌入式处理器进行音频编码之后,生成ES_frame_1帧504;PTS_1值505对应于PCM_frame_1帧503则同样的PTS_1值505对应于编码之后的ES_frame_1帧504。具体实现如下:
如图2所示DDR内PCM帧交互区201的PCM帧与PTS寄存器202的PTS值具有一一对应关系,即PTS值为PCM帧第一个PCM数据在编码系统时钟下的时间戳。嵌入式系统取出PCM帧交互区201中通道i的PCM帧进行编码后,放入如图4所示的ES帧交互区401。同时将与通道i的PCM帧对的PTS值放入如图4中与该PCM帧编码后ES帧对应的PTS寄存器402中。ES帧交互区和对应的PTS寄存器采用先进先出的读写方式。
通过上述实现方法,编码后PTS值与ES帧的对应关系与编码前PTS值与PCM帧的对应关系保持一致。
产生ES帧以及其对应的PTS后,其次产生PES帧以及其对应的PTS,其过程包括:
FPGA内部PES封装模块完成音频数据ES到PES的格式转换,并将PTS值插入PES帧头内。协议规定PES包可封装任意数量的ES包。请参见图5,第i通道PES帧所示,设一个PES帧封装N个ES帧,则将PES帧封装的第一个ES帧ES_frame_1帧503对应的PTS值PTS_1值505作为第i通道PES帧的PTS值,该PTS值为PES帧的第一个ES帧的显示时间,也是PES的显示时间,将该PTS值插入PES包头中。请参见图6,在PES帧内第2到第N个ES帧对应的PTS值从寄存器丢弃506。
如图6,FPGA内部TS封装模块按照协议要求将PES帧分解后插入TS帧的负载区域中。在输出端将TS匀速输出,因为数字音频采样率固定,所以原始音频输入是匀速输入,即PCM帧率恒定,设PCM帧率为rate_pcm,则按一个PCM帧编码输出一个ES帧,N个ES帧对应一个PES帧,一个PES帧封装成M个TS包计算出TS包率为rate_ts=rate_pcm*M/N。
本实施例提供的基于FPGA嵌入式系统的多路音频软编码机制采用嵌入式FPGA芯片作为实现平台,能灵活的设置音频编码路数与编码算法,同时保证音视频同步。FPGA器件具有丰富的逻辑资源,可实现多路音频编码,其路数远大于普通音频编码芯片的音频编码路数,节省了音频编码芯片的采购成本;进一步地,FPGA芯片可以完成编码后音视频流的处理,因此对于多媒体系统搭建具有极小的成本。FPGA器件具有比普通编码芯片更多的外设接口,提供充分的调试手段;基于FPGA高速处理能力,可以并行的接收多路原始音频数据,在各路音频帧的起始产生与视频同步的PTS值,在编码的过程中保持PTS与音频帧的对应关系,具有较好的音视频同步指标。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
Claims (12)
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计数归零并且PTS_base计数加1;PTS_base与PTS_ext的初始值为第一次提取的PCR_base与PCR_ext;
每当获取到视频PCR_base,计算PCR_base与本地PTS_base的差值DIF_PTS,即DIF_PTS=PCR_base-PTS_base;若DIF_PTS差值小于预设阈值,本地PTS_base与PTS_ext不进行校正,并将PTS_base值作为与视频实时同步的音频PTS值;若DIF_PTS大于预设阈值,校正本地PTS_base与PTS_ext值。
7.根据权利要求6所述的PTS值的产生方法,若DIF_PTS大于预设阈值,校正本地PTS_base与PTS_ext值,其特征在于:包括:
将PTS_base计数器值置为PTS_base+DIF_PTS/2,采用correct_cnt计数器对DIF_PTS超过预设阈值的次数进行计数;若correct_cnt达到预设最大值,将本地PTS_base与PTS_ext计数器置为PCR_base与PCR_ext。
8.根据权利要求7所述的PTS值的产生方法,其特征在于:
采用correct_cnt计数器对DIF_PTS超过预设阈值的次数进行计数前,校正次数计数器correct_cnt,包括:
当获取到视频PCR值时,计算得到的DIF_PTS小于预设范围或者correct_cnt计数到最大值,correct_cnt清零;若DIF_PTS大于预设范围,correct_cnt计数加1。
9.一种基于权利要求5的产生与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帧头。
10.根据权利要求9所述的产生与PES帧对应的PTS值的方法,其特征在于:
在通道i(1~n)PCM数据输入端,用计数器PCM_counter对输入PCM数据的个数进行计数,当计数满一个PCM帧长度,PCM_counter置0;当PCM_counter=1时,将权利要求5中与视频实时同步的所述PTS值锁存,此PTS值为被计数的PCM帧所对应的PTS值,PCM帧缓存在DDR内通道i(1~n)的数据区间,并与寄存的PTS值一一对应;
PCM帧经过编码后成为ES帧,PTS值与PCM帧的一一对应关系转化为PTS值与编码后的ES帧的一一对应关系;PES帧由ES帧组成,PTS值与ES帧的一一对应关系转换为PTS与PES的一一对应关系。
11.根据权利要求10所述的产生与PES帧对应的PTS值的方法,所述PCM帧经过编码后成为ES帧,PTS与PCM帧的一一对应关系转化为PTS与ES帧的一一对应关系,其特征在于:包括:
对第i(1~n)通道的PCM帧经过编码产生ES帧,并将ES帧缓存在DDR中,并将此ES帧的编码前PCM帧对应的PTS值转存至与此ES帧对应的寄存器中,此PTS信息与ES帧具有一一对应关系,PTS值表示ES第一个有效音频数据对应的显示时间戳。
12.根据权利要求10所述的产生与PES帧对应的PTS值的方法,PES帧由ES帧组成,PTS与ES帧的一一对应关系转换为PTS与PES的一一对应关系,其特征在于:包括:
将通道i(1~n)的PES帧封装的第一个ES帧对应的PTS作为通道i(1~n)的PES帧对应的PTS值,并将此PTS插入将通道i(1~n)的PES帧的帧头。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611207687.1A CN106875952B (zh) | 2016-12-23 | 2016-12-23 | 基于fpga嵌入式系统的多路音频软编码机制 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611207687.1A CN106875952B (zh) | 2016-12-23 | 2016-12-23 | 基于fpga嵌入式系统的多路音频软编码机制 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106875952A true CN106875952A (zh) | 2017-06-20 |
CN106875952B CN106875952B (zh) | 2021-02-26 |
Family
ID=59164776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611207687.1A Active CN106875952B (zh) | 2016-12-23 | 2016-12-23 | 基于fpga嵌入式系统的多路音频软编码机制 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106875952B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881927A (zh) * | 2017-11-30 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种视频数据合成方法和装置 |
CN110400570A (zh) * | 2019-06-24 | 2019-11-01 | 成都航天通信设备有限责任公司 | 一种多路数字音频混音实现方法 |
CN111159076A (zh) * | 2019-11-29 | 2020-05-15 | 北京空间机电研究所 | 一种星载can总线主备切换和应答控制方法 |
CN114285914A (zh) * | 2021-10-19 | 2022-04-05 | 南方电网数字电网研究院有限公司 | 基于电力安全的视频数据处理系统、方法和装置 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1098681A (ja) * | 1996-09-24 | 1998-04-14 | Ekushingu:Kk | デコード装置 |
CN1645930A (zh) * | 2005-01-12 | 2005-07-27 | 吉林大学 | 基于fpga实现4路音视频合路方法 |
CN1794812A (zh) * | 2005-12-05 | 2006-06-28 | 上海广电(集团)有限公司中央研究院 | 一种传输流复用的方法 |
CN101188770A (zh) * | 2007-12-17 | 2008-05-28 | 上海广电(集团)有限公司中央研究院 | 一种多进程控制的音视频同步输出方法 |
CN101695023A (zh) * | 2009-10-19 | 2010-04-14 | 南京莱斯信息技术股份有限公司 | 并联扩展式多路音频交换混合系统 |
CN101778204A (zh) * | 2010-02-06 | 2010-07-14 | 大连科迪视频技术有限公司 | 3g-sdi高清数字视音频延时系统 |
CN101794152A (zh) * | 2010-02-10 | 2010-08-04 | 哈尔滨工业大学 | 具有lvds串行接口的嵌入式控制器及其控制方法 |
CN101800587A (zh) * | 2009-12-30 | 2010-08-11 | 哈尔滨工业大学 | 一种具有两种工作模式的pcm码流模拟器及模拟器中fpga工作方法 |
CN102065231A (zh) * | 2010-11-26 | 2011-05-18 | 深圳中兴力维技术有限公司 | 多路数据融合装置及其实现方法、多路音频数据处理系统 |
CN102427543A (zh) * | 2011-10-12 | 2012-04-25 | 大连科迪视频技术有限公司 | 一种帧同步3d实时视频信息处理平台和处理方法 |
CN102447949A (zh) * | 2011-08-24 | 2012-05-09 | 上海文广科技(集团)有限公司 | 一种高效的精确到帧的ts流拼接方法 |
CN103581730A (zh) * | 2013-10-28 | 2014-02-12 | 南京熊猫电子股份有限公司 | 在数字机顶盒上实现音视频同步的方法 |
CN103686314A (zh) * | 2012-09-04 | 2014-03-26 | 深圳中兴力维技术有限公司 | 采用高清视频通道传输多路标清视频的解复用装置及方法 |
CN103747316A (zh) * | 2013-12-23 | 2014-04-23 | 乐视致新电子科技(天津)有限公司 | 一种音视频同步方法和电子设备 |
CN104092920A (zh) * | 2014-07-16 | 2014-10-08 | 浙江航天长峰科技发展有限公司 | 一种音视频同步方法 |
US20140369425A1 (en) * | 2012-03-29 | 2014-12-18 | Fujitsu Limited | Elementary stream multiplexing method, multiplexing system, encoding or decoding method and apparatus |
CN104735520A (zh) * | 2015-04-01 | 2015-06-24 | 百度在线网络技术(北京)有限公司 | 电视节目的播放控制方法、装置和电视机 |
CN105657512A (zh) * | 2016-01-29 | 2016-06-08 | 四川长虹电器股份有限公司 | 一种数字视频音画失步监测方法 |
CN105981397A (zh) * | 2014-02-10 | 2016-09-28 | 杜比国际公司 | 将编码音频嵌入到传输流中以供用于完美拼接 |
CN106024036A (zh) * | 2016-05-12 | 2016-10-12 | 苏州联视泰电子信息技术有限公司 | 一种基于fpga的多路音频数据格式转换方法 |
CN106937137A (zh) * | 2015-12-30 | 2017-07-07 | 惠州市伟乐科技股份有限公司 | 一种多通道数字音频编码音视频同步的方法 |
-
2016
- 2016-12-23 CN CN201611207687.1A patent/CN106875952B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1098681A (ja) * | 1996-09-24 | 1998-04-14 | Ekushingu:Kk | デコード装置 |
CN1645930A (zh) * | 2005-01-12 | 2005-07-27 | 吉林大学 | 基于fpga实现4路音视频合路方法 |
CN1794812A (zh) * | 2005-12-05 | 2006-06-28 | 上海广电(集团)有限公司中央研究院 | 一种传输流复用的方法 |
CN101188770A (zh) * | 2007-12-17 | 2008-05-28 | 上海广电(集团)有限公司中央研究院 | 一种多进程控制的音视频同步输出方法 |
CN101695023A (zh) * | 2009-10-19 | 2010-04-14 | 南京莱斯信息技术股份有限公司 | 并联扩展式多路音频交换混合系统 |
CN101800587A (zh) * | 2009-12-30 | 2010-08-11 | 哈尔滨工业大学 | 一种具有两种工作模式的pcm码流模拟器及模拟器中fpga工作方法 |
CN101778204A (zh) * | 2010-02-06 | 2010-07-14 | 大连科迪视频技术有限公司 | 3g-sdi高清数字视音频延时系统 |
CN101794152A (zh) * | 2010-02-10 | 2010-08-04 | 哈尔滨工业大学 | 具有lvds串行接口的嵌入式控制器及其控制方法 |
CN102065231A (zh) * | 2010-11-26 | 2011-05-18 | 深圳中兴力维技术有限公司 | 多路数据融合装置及其实现方法、多路音频数据处理系统 |
CN102447949A (zh) * | 2011-08-24 | 2012-05-09 | 上海文广科技(集团)有限公司 | 一种高效的精确到帧的ts流拼接方法 |
CN102427543A (zh) * | 2011-10-12 | 2012-04-25 | 大连科迪视频技术有限公司 | 一种帧同步3d实时视频信息处理平台和处理方法 |
US20140369425A1 (en) * | 2012-03-29 | 2014-12-18 | Fujitsu Limited | Elementary stream multiplexing method, multiplexing system, encoding or decoding method and apparatus |
CN103686314A (zh) * | 2012-09-04 | 2014-03-26 | 深圳中兴力维技术有限公司 | 采用高清视频通道传输多路标清视频的解复用装置及方法 |
CN103581730A (zh) * | 2013-10-28 | 2014-02-12 | 南京熊猫电子股份有限公司 | 在数字机顶盒上实现音视频同步的方法 |
CN103747316A (zh) * | 2013-12-23 | 2014-04-23 | 乐视致新电子科技(天津)有限公司 | 一种音视频同步方法和电子设备 |
CN105981397A (zh) * | 2014-02-10 | 2016-09-28 | 杜比国际公司 | 将编码音频嵌入到传输流中以供用于完美拼接 |
CN104092920A (zh) * | 2014-07-16 | 2014-10-08 | 浙江航天长峰科技发展有限公司 | 一种音视频同步方法 |
CN104735520A (zh) * | 2015-04-01 | 2015-06-24 | 百度在线网络技术(北京)有限公司 | 电视节目的播放控制方法、装置和电视机 |
CN106937137A (zh) * | 2015-12-30 | 2017-07-07 | 惠州市伟乐科技股份有限公司 | 一种多通道数字音频编码音视频同步的方法 |
CN105657512A (zh) * | 2016-01-29 | 2016-06-08 | 四川长虹电器股份有限公司 | 一种数字视频音画失步监测方法 |
CN106024036A (zh) * | 2016-05-12 | 2016-10-12 | 苏州联视泰电子信息技术有限公司 | 一种基于fpga的多路音频数据格式转换方法 |
Non-Patent Citations (1)
Title |
---|
MOHAMED EL-HELALY ET AL.: "SYNCHRONIZATION OF PROCESSED AUDIO-VIDEO SIGNALS USING TIME-STAMPS", 《2007 IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881927A (zh) * | 2017-11-30 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种视频数据合成方法和装置 |
CN110400570A (zh) * | 2019-06-24 | 2019-11-01 | 成都航天通信设备有限责任公司 | 一种多路数字音频混音实现方法 |
CN110400570B (zh) * | 2019-06-24 | 2021-08-31 | 成都航天通信设备有限责任公司 | 一种多路数字音频混音实现方法 |
CN111159076A (zh) * | 2019-11-29 | 2020-05-15 | 北京空间机电研究所 | 一种星载can总线主备切换和应答控制方法 |
CN114285914A (zh) * | 2021-10-19 | 2022-04-05 | 南方电网数字电网研究院有限公司 | 基于电力安全的视频数据处理系统、方法和装置 |
CN114285914B (zh) * | 2021-10-19 | 2023-10-20 | 南方电网数字电网研究院有限公司 | 基于电力安全的视频数据处理系统、方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106875952B (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106875952A (zh) | 基于fpga嵌入式系统的多路音频软编码机制 | |
CN106937137A (zh) | 一种多通道数字音频编码音视频同步的方法 | |
CN100370827C (zh) | 基于fpga实现4路音视频合路方法 | |
CN107509100A (zh) | 音视频同步方法、系统、计算机装置及计算机可读存储介质 | |
CN107566889A (zh) | 音频流流速误差处理方法、装置、计算机装置及计算机可读存储介质 | |
CN106385620A (zh) | 一种基于流媒体的数据平滑输出方法 | |
CN104703054B (zh) | 通信装置和通信方法 | |
CN107743253B (zh) | 用于无线网络中的视频传输速率适配方法 | |
CN100551053C (zh) | 记录输出装置和记录输出方法 | |
CN103475927A (zh) | 在线视频实时变速播放方法及系统 | |
CN106331853A (zh) | 多媒体解封装方法及装置 | |
CN109062537A (zh) | 一种音频延迟的降低方法、装置、介质及设备 | |
CN102647616A (zh) | 一种音视频复用的装置 | |
WO2011088610A1 (en) | Method and circuit for displayport video clock recovery | |
CN105208426B (zh) | 一种音视频同步变速的方法及系统 | |
CN103686312A (zh) | 一种dvr多路音视频记录方法 | |
CN206472189U (zh) | 一种基于fpga芯片模块的超高清vr固态延时器 | |
CN103686311B (zh) | 一种音视频播放方法和装置 | |
CN107770599A (zh) | 一种录制的音视频的播放方法、装置及存储介质 | |
CN104954725A (zh) | 一种基于sdi的传输双向辅助数据方法 | |
CN101916577B (zh) | 一种音视频播放同步的方法及装置 | |
CN106412689A (zh) | 音频响度调整方法及装置 | |
CN106407157A (zh) | 通用串行总线音频锁频的装置和方法 | |
CN103858437B (zh) | 用于改进电视设备的频道改变的方法 | |
CN106782598A (zh) | 电视画面和外设声音同步控制方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |