CN106937137B - 一种多通道数字音频编码音视频同步的方法 - Google Patents
一种多通道数字音频编码音视频同步的方法 Download PDFInfo
- Publication number
- CN106937137B CN106937137B CN201511031575.0A CN201511031575A CN106937137B CN 106937137 B CN106937137 B CN 106937137B CN 201511031575 A CN201511031575 A CN 201511031575A CN 106937137 B CN106937137 B CN 106937137B
- Authority
- CN
- China
- Prior art keywords
- pts
- value
- frame
- channel
- pcm
- 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.)
- Active
Links
Images
Classifications
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- 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
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明涉及广播电视与多媒体的数字音视频处理技术领域,特别涉及一种多通道数字音频编码音视频同步的方法。包括以下步骤:并行的接收各通道音频PCM数据,将各通道音频PCM数据实时写入DDR;产生与PCM帧对应的PTS值,令PTS值分别与PCM帧,ES帧,PES帧确定对应关系;将PTS值***PES帧的帧头。应用该技术方案可以保证多路音频编码的音视频同步,提高音频编码实时性,减小编码器成本。
Description
技术领域
本发明涉及广播电视与多媒体的数字音视频处理技术领域,特别涉及一种多通道数字音频编码音视频同步的方法。
背景技术
在广电领域,随着视频节目数量需求的增长以及工业技术的不断提升,视频编码器输出视频节目数量随之递增,相应的音频编码器音频通道数也会成比例增长。同时人们对音频质量的要求正在不断地提高,从单声道到立体声,又在向多声道发展,最广泛采用的多声道环绕声配置是ITU-R建议的5.1声道配置。目前通常采取多通道压缩编码技术来解决多路音频的编码。如何保证多路音频被编码器稳定的接收的同时保证音视频同步,成为音频编码关键技术之一.
编码器外部的AD芯片将模拟音频信号经过脉冲采样调制(PCM)转换成串行的数字音频信号,再送到编码器进行编码。通常地,PCM数据由I2S格式传输。I2S协议规定:由一个串行时钟sclk,与一个字时钟lrck指示一个PCM数据长度,同时也用于切换左右声道,以及用二进制补码表示的串行数据sdata组成。其中lrck为“1”表示正在传输的是右声道的数据,为“0”则表示正在传输的是左声道的数据。由于lrck的高低电平对应的sdata代表一个采样点的其中某一声道数据,所以lrck的频率等于采样频率。
音频PCM数据具有的特点包括有:1、PCM帧的长度较长。比如MPEG算法要求一个ES帧包含1152个音频采样点的编码数据,若按双声道和16比特位宽的音频格式计算,PCM帧的长度将达到1152*2*2字节。2、音频速率远低于普通视频速率。常用的音频采样率只有48khz,意味着缓存完一个完整的音频帧需要较长的时间与存储资源。如何有效的减少存储资源,提高数据传输效率,对音频编码器的成本和性能具有很大的影响。
根据MPEG-1协议,PTS是音频数据存储单元的显示时间,即音频存储单元第一个有效数据的节目显示时间。为了保证多路节目的音视频同步,需要正确的对每一路音频产生准确的与视频同步的PTS信息,将此PTS信息正确的***与其一一对应的PES帧头中。
发明内容
本发明实施例发明目的在于提供一种多通道数字音频编码音视频同步的方法,应用该技术方案可以保证多路音频编码的音视频同步,提高音频编码实时性,减小编码器成本。
为了实现上述发明目的,本发明的完整技术方案是:
一种多通道音频编码音视频同步的方法,包括以下步骤:
并行的接收各通道音频PCM数据,将各通道音频PCM数据实时写入DDR;
产生与PCM帧对应的PTS值,令PTS值分别与PCM帧,ES帧,PES帧确定对应关系;
将PTS值***PES帧的帧头。
优选的,并行的接收各通道音频PCM数据,将各通道音频PCM数据实时写入DDR,具体为:在各通道的输入端乒乓缓存短长度的音频PCM数据,将短长度的音频PCM数据以burst方式写入DDR。
优选的,产生与PCM帧对应的PTS值,令PTS值分别与PCM帧,ES帧,PES帧确定对应关系,具体为:当第i通道的PCM帧的第一个数据从输入端输入时,将实时产生的PTS值写入第i通道对应的PTS寄存器;写入第i通道对应的PTS寄存器的PTS值与第i通道的PCM帧具有对应关系;PTS值表示该PCM帧第一个数据的显示时间戳。
所述i的取值范围为1~n。
优选的,接收视频编码器中的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小于预设阈值,则本地PTS_base计数器和PTS_ext计数器的数值不进行校正,并将PTS_base值作为实时的与视频同步的PTS值;若DIF_PTS大于预设阈值,校正本地PTS_base计数器和PTS_ext计数器的数值。
优选的,其中若DIF_PTS大于预设阈值,校正本地PTS_base计数器和PTS_ext计数器的数值;具体为:若DIF_PTS大于预设阈值,将PTS_base计数器数值重置为DIF_PTS的二分之一与PTS_base计数器数值的和;采用correct_cnt计数器对DIF_PTS大于预设阈值的次数进行计数;若DIF_PTS大于预设阈值则correct_cnt计数加1;若correct_cnt达到预设最大值,则将PTS_base计数器和PTS_ext计数器分别重置为PCR_base值和PCR_ext值。
优选的,当DIF_PTS大于预设阈值或者correct_cnt小于预设最大值,则correct_cnt清零。
优选的,在第i通道的PCM帧的第一个数据从输入端输入时,将实时产生的PTS值写入第i通道对应的PTS寄存器;写入第i通道对应的PTS寄存器的PTS值与第i通道的PCM帧具有对应关系;具体为:在第i通道的PCM帧的数据输入端,用PCM_counter计数器对输入的PCM数据个数进行计数,当计数满一个PCM帧长度,产生PTS请求信号,锁存实时的与视频同步的PTS信息;所述PTS信息与下一个PCM帧对应,其PTS值表示下一个PCM帧的第一个数据的显示时间戳。
优选的,将PCM帧进行编码转化成ES帧,PTS值与PCM帧的对应关系转化为PTS值与ES帧的对应关系;ES帧组成PES帧,PTS值与ES帧的对应关系转换为PTS值与PES帧的对应关系。
优选的,将PCM帧进行编码转化成ES帧,PTS值与PCM帧的对应关系转化为PTS值与ES帧的对应关系;具体为:同时读出缓存在DDR内的第i通道的PCM帧以及PTS寄存器内的与该PCM帧对应的PTS值。将PTS值存入通道i的FIFO中;对第i通道的PCM帧经过编码产生ES帧,向第i通道的FIFO取出一次PTS值,此PTS值与ES帧具有对应关系,PTS值表示ES第一个有效音频数据对应的显示时间戳。
优选的,PTS值与ES帧的对应关系转换为PTS值与PES帧的对应关系;具体为:将与第i通道的PES帧封装的第一个ES帧对应的PTS值作为与通道i的PES帧对应的PTS值,并将此PTS值***通道i中的PES帧的帧头。
由上可见,应用本实施例技术方案,多路音频通道同时并行接收数据,实时的产生与视频同步的PTS信息,并行的将PTS信息植入PES帧头里。在音频数据编码的过程中,音频数据格式从PCM帧经过运算编码成ES帧,ES再组合成PES帧。本发明始终保持着PTS与各种音频帧的对应关系,直到PTS值正确的***PES帧的帧头,所以具有极好的音视频同步指标,音频编码的实时性较强。
针对音频帧长度较长,音频数据速率较小的特点。编码器外部DDR存储完整的音频帧,编码器片内的输入缓冲器只缓存一个极小的DDR读写brust长度的数据,而并非缓存完整的音频帧。这样各路音频几乎同时地在向DDR存入数据。在保证了多路音频输入的实时性,减小了音频信号通过编码器的延时。同时节省了片内的存储器资源。
可以动态调整输入音频帧的长度,以适应各种编码算法的要求,如mpeg算法要求一个ES帧包含1152个采样点的编码数据,而DRA算法要求1024个采样点作为原始帧输入。本发明只要重新分配DDR内PCM帧的存储空间大小即可完成各种编码算法的无缝切换。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的***结构框图;
图2为本发明实施例提供的与图1对应的内部装置结构图;
图3为本发明实施例提供的PTS_gen模的内部结构框图;
图4为本发明实施例提供的编码后音频帧封装的数据结构图;
图5为本发明实施例提供的本地PTS计数逼近的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
如图1所示,本实施例提供的编码器包括如多路音频PCM数据接收部分、PTS生成部分、编码输出部分。并且根据图1提供一种多通道音频编码音视频同步的方法,步骤包括:
并行的接收各通道音频PCM数据,将各通道音频PCM数据实时写入DDR;
产生与PCM帧对应的PTS值,令PTS值分别与PCM帧,ES帧,PES帧确定对应关系;
将PTS值***PES帧的帧头。
具体的,结合图2所示,图中partⅠ部分为多路音频PCM数据接收部分,其功能是实现多路音频PCM数据的并行接收。图中所示对于第1个通道到第n个通道在mux模块(4)之前具有相同的处理过程。这里以第一个通道channel_1进行详解。
串并转换模块(1)完成串行的PCM数据转成并行数据的功能。为了使本发明的目的、技术方案及优点更加清楚明白,本实例采用的是I2S接口的PCM数据,应当理解对于其他接口的数字音频,本发明仍然适用,请参考权利说明。
串并转换模块(1)采用移位寄存器实现。串行数据sdata根据sclk和lrclk的变化沿移入移位寄存器。具体如下:计数器counter_bit的值表示已经移入移位寄存器的位数。counter_bit在字时钟lrck变化沿清零,每当检测到sclk的上升沿将串行数据sdata移入移位寄存器,同时counter_bit计数加1。设输入PCM数据位宽为m比特,则当counter_bit计数到m,将移位寄存器数据并行输出。
乘法器(2)用于将PCM数据放大。通过乘数因子M调节提高音量幅度。采用32位有符号乘法运算。在乘法运算后,根据音频编码算法要求对PCM数据位宽进行调整。若音频编码算法要求的数据位宽小于32,则保留高位省略低位。
复用器(4)用于将从channel_1到channel_n并行输入的多通道PCM音频数据复用成一路数据通过DDR总线写入DDR。
buffer(3)作为复用器(4)的缓冲器,buffer(3)采用乒乓操作的方式,当buffer(3)的乒区或乓区存满一个burst长度的数据,将数据以burst的方式将乒区或乓区数据连续地写入DDR。
DDR(5)显示了PCM数据在DDR内部的存储结构。
DDR根据通道数目n划分为n个区间,称之为通道区间,用于存放各通道的PCM数据。每个通道区间采用乒乓操作的方式进行读写。因此每个通道区间分为大小相等的两个子区间乒区A和乓区B。乒区A和乓区B各存储一个PCM帧。PCM帧的长度由音频编码算法规定。设某编码算法要求ES帧包含的采样点数目为x,音频声道数目为y,PCM数据位宽为z字节,则一个PCM帧的长度为x*y*z字节,比如MPEG-1音频编码,一个ES对应1152个PCM采样点,设一个采样包含两个声道,PCM数据位宽2字节,这样一个PCM帧的长度为1152*2*2字节.
DDR读写时序如图2的(6)所示的pingpong操作:
写操作:当某通道i(channel_1~channel_n)的buffer(3)存满一个burst长度的数据后,将burst长度的数据连续写入DDR。若检测到该通道i上次burst写操作未将子区间写满,则当前burst数据的DDR起始地址为图2(5)DDR所示的通道所在子区间的与上次burst数据地址顺序相邻的地址。若检测到该通道i上次burst写操作已写满一个子区间(子区间A或B),则当前burst数据的DDR起始地址为乒乓操作的另一个子区间(子区间B或A)的起始地址。读操作:写满通道区间的一个子区间后,将子区间数据连续读出。
如图2所示,PartⅡ为PTS生成部分,由PTS_gen模块(7)与PTS寄存器(8)组成。其功能为产生与PCM帧对应的PTS值,也叫PTS时间戳,并存入相应的PTS寄存器。
如图3所示,PTS_gen模块由PCR_analysis模块(21)、PTS_counter模块(22)、PTS_trans_ctrl(23)、与PCM_counter(24)组成。由PCR_analysis模块(21),PTS_counter模块(22)组合产生实时的与视频同步的PTS信息;PTS_trans_ctrl模块(23),与PCM_counter模块(24)组合将实时的PTS信息写入各通道对应的PTS寄存器。
产生实时的与视频同步的PTS信息采用本地PTS计数逼近的方法,具体如图5所示,包括:
步骤100:PCR_analysis(21)对视频编码器传来的PCR信息进行解析,提取出PCR_base值与PCR_ext值。这里的PCR信息包含了PCR_base值和PCR_ext值。
步骤101:PTS_counter(22)模块用于产生实时的PTS值,后续模块PTS_trans_ctrl模块(23)锁存该PTS值作为与PCM帧对应的PTS时间戳。PTS_counter(22)模块包含PTS_base计数器与PTS_ext计数器,其中PTS_ext计数器对本地27Mhz时钟计数,计数区间0到299。当PTS_ext计数器的计数值满300个27Mhz时钟周期PTS_base计数器的数值加1。
PTS_base计数器和PTS_ext计数器的启动初始值分别为为第一次从PCR_analysis(21)s模块获取的PCR_base值与PCR_ext值。
步骤102:当PCR_analysis(21)获取到新的视频PCR_base值时,计算PCR_base值与PTS_base计数器的数值的差,差用DIF_PTS表示,即DIF_PTS=PCR_base-PTS_base,将DIF_PTS与预设阀值进行比较。
步骤103:若DIF_PTS小于预设阀值,则PTS_base计数器数值与PTS_ext计数器数值不进行校正,将PTS_base计数器数值作为实时的与视频同步的PTS信息。
步骤104:若DIF_PTS大于预设阀值,统计DIF_PTS超过预设阀值的次数的计数器加1。DIF_PTS采用了correct_cnt计数器计数DIF_PTS超过预设阀值的次数。correct_cnt计数器的逻辑行为如下:
当PCR_analysis(21)获取到新的视频PCR_base值时,计算出DIF_PTS小于预设阀值或者correct_cnt计数器数值已经计数到预设最大值,则correct_cnt计数器数值清零,若DIF_PTS大于预设阀值且correct_cnt小于预设最大值,则correct_cnt计数器数值加1。
步骤105:当PCR_analysis(21)获取到新的视频PCR_base值时,判断correct_cnt是否达到预设最大值。
步骤106:当PCR_analysis(21)获取到新的视频PCR_base值时,若DIF_PTS大于预设阀值,且correct_cnt计数器数值未达到预设最大值,将PTS_base计数器数值重置为DIF_PTS的二分之一与PTS_base计数器数值的和。
步骤107:若correct_cnt计数器数值达到预设最大值,则将本地PTS_base计数器与PTS_ext计数器数值分别置为PCR_base值与PCR_ext值。
如图3所示,每个输入通道对应的PCM_counter模块(24)用于在计数满PCM帧长度后产生请求脉冲,使得PTS_trans_ctrl模块(23)锁存PTS_counter(22)输出的实时PTS信息作为i(channel_1~channel_n)通道的PCM帧对应的PTS信息。根据PCM数据性质,PCM数据在数据通道一直为有效数据,因此,所述PTS信息与下一个PCM帧对应,。
PCM_counter模块(24)对各通道的输入PCM数据个数进行计数。由于PCM字同步信号与单个PCM数据同步,所以每当检测到PCM字同步信号则PCM_counter模块计数加一。应当注意本实例使用的PCM格式为I2S格式。字同步信号即为字时钟lrclk,其他形式的PCM字同步信号本实例仍然使用,应在本实例权利范围内。
当第i(channel_1~channel_n)通道的PCM_counter(24)计数满一个PCM帧长度后,计数器归零,并产生请求脉冲。
当PTS_trans_ctrl(23)检测到来自于第i通道(channel_1~channel_n)的PCM_counter(24)的请求脉冲,则将锁存的来自于PTS_counter(22)的PTS_base值并写入图2所示的PTS寄存器(8)属于第i通道的PTS寄存器内。
若PTS_trans_ctrl(23)同时检测到多个通道的PCM_counter(24)产生的请求脉冲则将锁存的来自于PTS_counter(22)的PTS_base值写入图2所示的PTS寄存器(8)内的相应的多个通道的PTS寄存器。
下面详述PTS_trans_ctrl(23)写入PTS寄存器(8)的位置。
如图2所示,PTS寄存器(8)每个通道分配两个寄存器,称之为寄存器A与寄存器B。寄存器A与寄存器B存储的PTS值对应DDR(7)子区间A和B内PCM帧。对应关系如图2中(9)所示。
第i通道(channel_1~channel_n)的寄存器A与寄存器B写入采取乒乓操作的方式。按照MPEG协议,PTS值为存储单元第一个数据的显示时间戳。在本方案里,PCM数据的存储单元就是PCM帧,所以PTS值为PCM帧一个数据的显示时间。因此设前一次写入第i通道(channel_1~channel_n)的寄存器A,则当图3的PTS_trans_ctrl(23)检测到第i通道(channel_1~channel_n)的PCM_counter(24)请求脉冲时,PTS_trans_ctrl(23)将PTS值写入第i通道(channel_1~channel_n)的寄存器B;反之,设前一次写入第i通道(channel_1~channel_n)的寄存器B,则当图3的PTS_trans_ctrl(23)检测到第i通道(channel_1~channel_n)的PCM_counter(24)请求脉冲时,PTS_trans_ctrl(23)将PTS值写入第i通道(channel_1~channel_n)的寄存器A,如此交替。
如图2,partⅢ为编码输出部分完成各种格式音频帧的封装,将PTS值***PES帧头中。
图中(9)所示PCM帧与PTS具有一一对应关系,即PTS值为PCM帧第一个PCM数据对应的节目显示时间戳。在后续处理中,一个PCM帧经过编码转换成一个ES帧,则相同的PTS值表示该ES帧起始的节目显示时间戳。所以需要在编码算法模块Encoder_ari(11)前后都要保持这样的对应关系。如图4,通道i的音频帧封装示意图,编码前,PTS_1(45)对应于PCM_frame_1(43);则在编码之后,同样的PTS_1值(45)对应于编码之后的ES_frame_1帧(44)。具体做法下:
将DDR内第通道i(channel_1~channel_n)PCM帧读出到i通道的encoder buffer(10)进行缓存。同时将与该PCM帧对应的PTS值从PTS寄存器取出到PES封装模块(13)。
PES封装模块(13)针对每个音频通道有指定存放PTS值的FIFO。编码算法模块Encoder_ari(11)读取encode_buffer里的PCM帧进行编码,编码后此PCM帧转换为ES帧。ES帧产生后经过ES buffer(12)输出到PES封装模块(13)。当PES封装模块接收到第i(channel_1~channel_n)通道的ES帧,则从第i通道FIFO取出一个PTS值作为与此ES帧对应的PTS值。将此PTS值与ES值捆绑起来做后续处理。这样地,编码后PTS值与ES帧的对应关系与编码前PTS值与PCM帧的对应关系保持一致。
编码算法模块Encoder_ari(11)可采用各种音频编码算法,不在权利的申述范围内。
如图4所示,为第i(channel_1~channel_n)通道编码音频帧的封装过程。PES封装模块完成音频数据ES帧到PES帧的格式转换,并将实时的与视频同步的PTS值***PES帧头内。PES包可根据需要封装任意数量的ES包。如图4所示,设一个PES帧封装N个ES帧,则将PES帧封装的第一个ES帧ES_frame_1(44)对应的PTS值PTS_1(45)作为PES帧的PTS值,该PTS值为PES帧的第一个ES起始的显示时间,也是PES的显示时间,将该PTS值***PES包头中。其余ES帧对应的PTS值从FIFO读出后丢弃如图4(46)discard所示。
如图2,TS封装模块(13)按照协议要求将PES帧分解后***TS帧的负载payload(如图4)区域中,并将各通道生成的TS复用成一路TS。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
Claims (6)
1.一种多通道音频编码音视频同步的方法,其特征在于,包括以下步骤:
并行的接收各通道音频PCM数据,将各通道音频PCM数据实时写入DDR;具体为,在各通道的输入端乒乓缓存短长度的音频PCM数据,将短长度的音频PCM数据以burst方式写入DDR;
产生与PCM帧对应的PTS值,令PTS值分别与PCM帧,ES帧,PES帧确定对应关系;具体为,当第i通道的PCM帧的第一个数据从输入端输入时,将实时产生的PTS值写入第i通道对应的PTS寄存器;写入第i通道对应的PTS寄存器的PTS值与第i通道的PCM帧具有对应关系;PTS值表示该PCM帧第一个数据的显示时间戳
将PTS值***PES帧的帧头;具体为,将PCM帧进行编码转化成ES帧,PTS值与PCM帧的对应关系转化为PTS值与ES帧的对应关系;ES帧组成PES帧,PTS值与ES帧的对应关系转换为PTS值与PES帧的对应关系;
其中,PTS值与ES帧的对应关系转换为PTS值与PES帧的对应关系;具体为:将与第i通道的PES帧封装的第一个ES帧对应的PTS值作为与通道i的PES帧对应的PTS值,并将此PTS值***通道i中的PES帧的帧头;
所述i的取值范围为1~n。
2.根据权利要求1所述的一种多通道音频编码音视频同步的方法,其特征为:
接收视频编码器中的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小于预设阈值,则本地PTS_base计数器和PTS_ext计数器的数值不进行校正,并将PTS_base值作为实时的与视频同步的PTS值;
若DIF_PTS大于预设阈值,校正本地PTS_base计数器和PTS_ext计数器的数值。
3.根据权利要求2所述的一种多通道音频编码音视频同步的方法,其特征为:其中若DIF_PTS大于预设阈值,校正本地PTS_base计数器和PTS_ext计数器的数值;具体为:
若DIF_PTS大于预设阈值,将PTS_base计数器数值重置为DIF_PTS的二分之一与PTS_base计数器数值的和;
采用correct_cnt计数器对DIF_PTS大于预设阈值的次数进行计数;
若DIF_PTS大于预设阈值则correct_cnt计数加1;
若correct_cnt达到预设最大值,则将PTS_base计数器和PTS_ext计数器分别重置为PCR_base值和PCR_ext值。
4.根据权利要求3所述的一种多通道音频编码音视频同步的方法,其特征为:
当DIF_PTS大于预设阈值或者correct_cnt小于预设最大值,则correct_cnt清零。
5.根据权利要求1所述的一种多通道音频编码音视频同步的方法,其特征为:在第i通道的PCM帧的第一个数据从输入端输入时,将实时产生的PTS值写入第i通道对应的PTS寄存器;写入第i通道对应的PTS寄存器的PTS值与第i通道的PCM帧具有对应关系;具体为:
在第i通道的PCM帧的数据输入端,用PCM_counter计数器对输入的PCM数据个数进行计数,当计数满一个PCM帧长度,产生PTS请求信号,锁存实时的与视频同步的PTS信息;
所述PTS信息与下一个PCM帧对应,其PTS值表示下一个PCM帧的第一个数据的显示时间戳。
6.根据权利要求1所述的一种多通道音频编码音视频同步的方法,其特征为:将PCM帧进行编码转化成ES帧,PTS值与PCM帧的对应关系转化为PTS值与ES帧的对应关系;具体为:
同时读出缓存在DDR内的第i通道的PCM帧以及PTS寄存器内的与该PCM帧对应的PTS值;
将PTS值存入通道i的FIFO中;
对第i通道的PCM帧经过编码产生ES帧,向第i通道的FIFO取出一次PTS值,此PTS值与ES帧具有对应关系,PTS值表示ES第一个有效音频数据对应的显示时间戳。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511031575.0A CN106937137B (zh) | 2015-12-30 | 2015-12-30 | 一种多通道数字音频编码音视频同步的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511031575.0A CN106937137B (zh) | 2015-12-30 | 2015-12-30 | 一种多通道数字音频编码音视频同步的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106937137A CN106937137A (zh) | 2017-07-07 |
CN106937137B true CN106937137B (zh) | 2020-07-14 |
Family
ID=59443918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511031575.0A Active CN106937137B (zh) | 2015-12-30 | 2015-12-30 | 一种多通道数字音频编码音视频同步的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106937137B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875952B (zh) * | 2016-12-23 | 2021-02-26 | 伟乐视讯科技股份有限公司 | 基于fpga嵌入式***的多路音频软编码机制 |
CN108322777A (zh) * | 2018-01-10 | 2018-07-24 | 成都驰通数码***有限公司 | 一种支持ac-3、aac、dra音频透传的***及处理方法 |
CN108965971B (zh) * | 2018-07-27 | 2021-05-14 | 北京数码视讯科技股份有限公司 | 多路音频同步控制方法、控制装置及电子设备 |
CN111522759B (zh) * | 2020-04-16 | 2021-10-01 | 山东智岩探测科技有限公司 | 多路同步串行数据总线转换为并行数据总线的装置及方法 |
CN112218115B (zh) * | 2020-09-25 | 2022-07-29 | 深圳市捷视飞通科技股份有限公司 | 流媒体音视频同步的控制方法、装置、计算机设备 |
CN114268830B (zh) * | 2021-12-06 | 2024-05-24 | 咪咕文化科技有限公司 | 云导播同步方法、装置、设备及存储介质 |
CN115658572B (zh) * | 2022-12-12 | 2023-04-14 | 北京象帝先计算技术有限公司 | 任务处理方法、装置、电子设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179738A (zh) * | 2006-11-08 | 2008-05-14 | 中兴通讯股份有限公司 | 一种传输流到***多媒体广播复用协议的转换方法 |
CN101605252A (zh) * | 2009-07-17 | 2009-12-16 | 深圳创维数字技术股份有限公司 | 将节目流转换成传输流的方法和*** |
CN102447949A (zh) * | 2011-08-24 | 2012-05-09 | 上海文广科技(集团)有限公司 | 一种高效的精确到帧的ts流拼接方法 |
CN103718563A (zh) * | 2011-08-12 | 2014-04-09 | 三星电子株式会社 | 接收装置及其接收方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5867590B2 (ja) * | 2012-03-29 | 2016-02-24 | 富士通株式会社 | エレメンタリストリームをエンコードし、多重し、またはデコードするための方法、装置、およびプログラム |
-
2015
- 2015-12-30 CN CN201511031575.0A patent/CN106937137B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179738A (zh) * | 2006-11-08 | 2008-05-14 | 中兴通讯股份有限公司 | 一种传输流到***多媒体广播复用协议的转换方法 |
CN101605252A (zh) * | 2009-07-17 | 2009-12-16 | 深圳创维数字技术股份有限公司 | 将节目流转换成传输流的方法和*** |
CN103718563A (zh) * | 2011-08-12 | 2014-04-09 | 三星电子株式会社 | 接收装置及其接收方法 |
CN102447949A (zh) * | 2011-08-24 | 2012-05-09 | 上海文广科技(集团)有限公司 | 一种高效的精确到帧的ts流拼接方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106937137A (zh) | 2017-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106937137B (zh) | 一种多通道数字音频编码音视频同步的方法 | |
US7359006B1 (en) | Audio module supporting audio signature | |
US7424209B2 (en) | System and method for real-time data archival | |
CN108141636B (zh) | 接收装置以及接收方法 | |
US20170279865A1 (en) | Transmission method, reception method, transmission apparatus, and reception apparatus | |
CN105009595A (zh) | 发送设备、发送方法、接收设备以及接收方法 | |
CN101605252B (zh) | 将节目流转换成传输流的方法和*** | |
CN101729908B (zh) | 一种传输流视音频同步复用方法 | |
CN101080019A (zh) | 转换数据流格式的方法和装置及记录数据流的方法和装置 | |
CN112954435B (zh) | 接收装置以及接收方法 | |
CN106875952B (zh) | 基于fpga嵌入式***的多路音频软编码机制 | |
CN1669310A (zh) | 用于实施特技模式的视频数据传输方法和设备 | |
KR20070008069A (ko) | 음성/영상신호의 동기화 장치 및 방법 | |
JP6957186B2 (ja) | 情報処理装置、情報処理方法、プログラム、および記録媒体製造方法 | |
JP2018182677A (ja) | 情報処理装置、情報処理方法、プログラム、および記録媒体製造方法 | |
CN100388776C (zh) | 数字视频储存装置及储存数字视频数据的方法 | |
US20110096775A1 (en) | System and method for multiplexing and streaming contents | |
KR100864009B1 (ko) | 오디오/비디오 동기화 방법 | |
JPH11205789A (ja) | Mpeg2トランスポートストリーム伝送レート変換装 置 | |
US20050135368A1 (en) | Stream data receiving apparatus | |
US20090323719A1 (en) | Methods and apparatus for transforming first transport stream of first format into second transport stream of second format by emulating arrival time stamp information | |
CN113747209A (zh) | 多路ts流节目的重组方法及装置 | |
CN108200481B (zh) | 一种rtp-ps流处理方法、装置、设备及存储介质 | |
CN100461747C (zh) | 一种多媒体码流的码率调整方法 | |
JP2001339688A (ja) | トランスポートストリーム再生装置 |
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 | ||
CP03 | Change of name, title or address |
Address after: 516025 No. 1, Shunchang Road, Huinan Industrial Park, Zhongkai high tech Zone, Huizhou City, Guangdong Province Patentee after: WELLAV TECHNOLOGIES Ltd. Address before: 516006 Huitai Industrial Zone 63, Zhongkai High-tech Zone, Huizhou City, Guangdong Province Patentee before: HUIZHOU WELLAV TECHNOLOGIES Co.,Ltd. |
|
CP03 | Change of name, title or address |