一种mpeg-2传输流解码音视频同步方法和系统的制作方法

文档序号:7721372阅读:150来源:国知局
专利名称:一种mpeg-2传输流解码音视频同步方法和系统的制作方法
技术领域
本发明涉及数字电视技术领域,尤其涉及一种MPEG-2传输流解码音视频同步方法和系统。
背景技术
MPEG-2作为一个关于运动图像压缩的国际标准,其中的传输流(TransportStream, TS)已经成为数字电视领域中普遍应用的系统层编码标准。传输流针对有一定误码信道的传输,可以将多路节目复合成一个流进行传输,它允许同一路节目包含多个音频和视频流,同时也可以加入一些附加信息。传输流具有固定的包长188字节。它的结构是极其复杂的,对用户来说,针对一个特定的流,首先要知道其由哪些PID(Packet ID)的包构成。MPEG-2定义了一些用来描述传输流所携带内容的信息表,称为节目特定信息(PSI)表, 包括4个与之相关的表。其中,节目关联表PAT和节目映射表PMT是确定当前传输流中各节目内容的最关键的两个表。我国目前采用的DVB标准是欧洲各国采用的数字电视标准,基带数据格式采用MPEG-2标准,即视频和音频编码以及码流的复用均符合MPEG-2标准。DVB标准对PSI进行扩展后统称为服务信息,即SI。这些信息以及传输流的规范性对于正确接收数字电视节目是至关重要的。现在国内所有的数字电视节目信号都是基于MPEG-2 TS方式传输和实现的。因此说MPEG-2 TS不只是一个标准,还是数字视频信号传输最为广泛的一组协议。现有的MPEG-2 TS音视频同步的工作原理如下
MPEG-2规定的系统时钟频率为27MHz,传输流中的节目时钟参考(Program ClockReference, PCR)> 显不时间标签(Presentation Time Stamp, PTS)和解码时间标签(Decoding Time Stamp,DTS)等均为对该共同系统时钟的采样值。解码端捕获PCR,恢复出本地的系统时序时钟(System Time Clock, STC),作为音视频同步控制的基准,并依据PTS(DTS)时间标签来安排解码和显示时间表,使音视频分别同步于STC,以实现音视频之间的同步。标准规定在原始音频和视频流中,PTS的间隔不能超过0. 7s,而出现在TS包头的PCR间隔不能超过0. Is。STC是视音频同步控制的基准,它是一串频率为27MHz的脉冲,触发计数器而形成一个二进制表示的时间基准,再通过对该时间基准SCT进行取样得到PCR、PTS和DTS等时间标签。在编码和解码端,系统时钟脉冲是由振荡器等硬件产生,在解码端STC通过在码流中定时传送的PCR利用锁相环(PLL)技术来与编码端STC保持一致。PCR是由对系统时钟脉冲触发的计数器状态抽样而来,是放在TS包头的自适应区中传送。PCR共占6Bytes,其中6bits预留,42bits有效位。42bits的PCR分为两部分33bits 的 PCR-Base 和 9bits 的 PCR-Ext。PCR-Base 是由 27MHz 脉冲经 300 分频后的 90kHz脉冲触发计数器,再对计数器状态进行取样得到的。PCR-Ext是由27MHz脉冲直接触发计数器,再对计数器状态进行取样得到的。当新节目的PCR到达解码器时,需要更新时间基点,STC就被置位。通常第一个从解复用器中解出的PCR被直接装入到STC计数器,其后PLL闭环操作。每当ー个新节目的PCR到达解码器时,此值被认为是锁相环的參考频率,用来与STC的当前值比较,产生的差值经过脉宽调制后被输入低通滤波器并经放大,输出控制信号,用来控制振荡器(VCO)的瞬时频率,VCO输出的频率是在27MHz左右振荡的信号,作为解码器的系统时钟。27MHz时钟经过波形整理后输入到计数器中,产生当前的STC值,其33bits的90kHz部分用于和PTS/DTS比较,产生解码和显示的同步信号。当接收端的PCR值(连续)和DTS值相等时,表示它们计算了同样的时钟,也即它们经过了相同的时间。本机PCR起到的是连续计数的功能,DTS则是在等待这个时间,一旦等到这个时间,就表明它的解码次序排好了,因为这个解码次序是在编码的时候规定的。DTS就视频来说,因为视频编码的时候用到了双向预测,一个图像単元被解出,并非马上就被显示,可能在存储器中留一段时间,作为其余图像单元的解码參考,在被參考完毕后,才被显示。针对视频的显示,Mpeg还提出了一个视频PTS。针对音频和视频的同步显示,又提出了一个音频PTS。由于声音没有用到双向预测,它的解码次序就是它的显示次序,故对它只提出PTS的概念。当接收端的PCR和音视频的PTS (DTS)的值相等时,表明现在的音视频已经同步,因为PCR、PTS和DTS的数值是同一时钟(27MHz)采样后赋值的。这样只要把同步 好的音视频输出即可。上述现有MPEG-2 TS音视频同步,存在以下的缺点
上述的音视频同步实现是基于一串由振荡器等硬件产生的系统时钟脉冲来同步TS中的音视频流的。首先要从TS流中分离出PCR,然后在音视频的ES中找到PTS (DTS)比较PCR和PTS (DTS)的值实现同步。但在软件解码实现TS流的接收中,由于软件无法模拟硬件的振荡器,无法精确确定PCR值,这样在软件解码中无法用PCR值和PTS (DTS)来比较实现音视频同步,那么在软件解码中只能通过比较音视频的PTS (DTS),但如果没有PCR,那么只能通过音视频的PTS (DTS)相比较来同歩。如果有音频或视频的数据损坏,但PTS (DTS)是同步的,当把数据交于解码器后,因为无法解码,数据会被丢失,随着时间的积累,就会出现要不音频丢失,要不视频丢失,通过解码模块后,音视频就会出现不同步的现象。

发明内容
本发明的目的在于提出ー种MPEG-2传输流解码音视频同步方法和系统,能够节约硬件成本,特别是在采集大量的音视频流的应用中,经济效益显著。为达此目的,本发明采用以下技术方案
ー种MPEG-2传输流解码音视频同步方法,包括以下步骤
A、通过传输流分离器从MPEG-2传输流中分离出音频和视频;
B、统计并存储音频在预定时间内的音频帧数,统计并存储视频在预定时间内的视频帧
数;
C、对预定时间内已经分离出来的音频进行解码,统计并存储预定时间内解码后得到的音频帧数,对预定时间内已经分离出来的视频进行解码,统计并存储预定时间内解码后得到的视频帧数;
D、将解码前预定时间内的音频帧数和视频帧数分别与解码后预定时间内的音频帧数和视频帧数进行比较,如果解码后预定时间内的视频帧数多于解码前预定时间内的视频帧数,则将多余的视频帧丢弃,如果解码后预定时间内的视频帧数少于解码前预定时间内的视频帧数,则将不足的视频帧补足,如果解码后预定时间内音频帧数多于解码前预定时间内的音频帧数,则计算多出的音频帧的时间超过视频帧时间的个数,并增加所述个数的视频帧,剩余的超过不到一个视频帧时间的音频帧时间与下一个预定时间的比较结果合并计算,如果解码后预定时间内音频帧数少于解码前预定时间内的音频帧数,则计算少于的音频帧的时间超过视频帧时间的个数,并丢弃所述个数的视频帧,剩余的少于不到一个视频帧时间的音频帧时间与下一个预定时间的比较结果合并计算,实现音视频同步。还包括以下步骤
E、音视频显示单元把已经解码并同步后的音视频展现出来。步骤D中,补足或者增加视频帧的,采用不足数量的或者增加数量的最后一帧视频,实现音视频同步。还包括以下步骤
将分离出音频和视频分别存放到音频缓存器和视频缓存器中。预定时间是120秒。一种MPEG-2传输流解码音视频同步系统,包括传输流分离器、解码前音视频同步记录单元、音频缓存器、视频缓存器、音频解码器、视频解码器和解码后音视频同步记录单元,传输流分离器与解码前音视频同步记录单元连接,解码前音视频同步记录单元分别与音频缓存器和视频缓存器连接,音频缓存器与音频解码器连接,视频缓存器与视频解码器连接,音频解码器和视频解码器分别与解码后音视频同步记录单元连接,其中,
传输流分离器用于从MPEG-2传输流中分离出音频和视频,发送给解码前音视频同步记录单元;
解码前音视频同步记录单元用于统计并存储音频在预定时间内的音频帧数,统计并存储视频在预定时间内的视频帧数;
音频缓存器用于存储分离出来的音频,并发送给音频解码器;
视频缓存器用于存储分离出来的视频,并发送给视频解码器;
音频解码器用于对分离出来的音频进行解码;
视频解码器用于对分离出来的视频进行解码;
解码后音视频同步记录单元用于统计并存储预定时间内解码后得到的音频帧数,统计并存储预定时间内解码后得到的视频帧数,并将解码前预定时间内的音频帧数和视频帧数分别与解码后预定时间内的音频帧数和视频帧数进行比较,丢弃或者补足视频帧,实现音视频同步。还包括MPEG-2传输流接收器,MPEG-2传输流接收器用于接收卫星或有线电视信号,转成传输流,发送给传输流分离器。还包括音视频显示单元,音视频显示单元用于从解码后音视频同步记录单元处获取同步后的音视频,进行展现。采用了本发明的技术方案,可以不用硬件即可实现MPEG-2 TS流的音视频同步,这样使用户大大节约了硬件成本,特别是在采集大量的音视频流的应用中,经济效益显著。另外由于使用软件解码MPEG-2 TS流,软件修改灵活,适用于对音视频解码后要求变动频繁的方面,这样不受限于硬件解码的固定方式,可以随用户的需求不断变动。


图I是本发明具体实施方式
中MPEG-2传输流解码音视频同步系统的结构示意图。图2是本发明具体实施方式
中MPEG-2传输流解码音视频同步流程图。
具体实施例方式下面结合附图并通过具体实施方式
来进ー步说明本发明的技术方案。本发明技术方案的主要思想是针对现有软件解码音视频同步存在的缺点,如果能在可配置的一段时间内根据原始音视频流中的PTS (DTS)统计接收到的音视频数据,然后交给解码器解码,解码后再统计这段音视频数据是否和解码前的数据区配,如果不区配,就増加或減少解码后的音视频数据来达到音视频数据的同歩。图I是本发明具体实施方式
中MPEG-2传输流解码音视频同步系统的结构示意图。 如图I所示,该MPEG-2传输流解码音视频同步系统包括MPEG-2传输流接收器101、传输流分离器102、解码前音视频同步记录単元103、音频缓存器104、视频缓存器105、音频解码器106、视频解码器107、解码后音视频同步记录单元108和音视频显示单元109。MPEG-2传输流接收器与传输流分离器连接,传输流分离器与解码前音视频同步记录单元连接,解码前音视频同步记录单元分别与音频缓存器和视频缓存器连接,音频缓存器与音频解码器连接,视频缓存器与视频解码器连接,音频解码器和视频解码器分别与解码后音视频同步记录单元连接,解码后音视频同步记录単元与音视频显示单元连接。MPEG-2传输流接收器接收卫星或有线电视信号,转成传输流,发送给传输流分离器;传输流分离器从MPEG-2传输流中分离出音频和视频,发送给解码前音视频同步记录单元;解码前音视频同步记录単元统计并存储音频在预定时间内的音频帧数,统计并存储视频在预定时间内的视频帧数;音频缓存器存储分离出来的音频,并发送给音频解码器;视频缓存器存储分离出来的视频,并发送给视频解码器;音频解码器对分离出来的音频进行解码;视频解码器对分离出来的视频进行解码;解码后音视频同步记录単元统计并存储预定时间内解码后得到的音频帧数,统计并存储预定时间内解码后得到的视频帧数,并将解码前预定时间内的音频帧数和视频帧数分别与解码后预定时间内的音频帧数和视频帧数进行比较,丢弃或者补足视频帧,实现音视频同步;音视频显示単元从解码后音视频同步记录单元处获取同步后的音视频,进行展现。图2是本发明具体实施方式
中MPEG-2传输流解码音视频同步流程图。如图2所示,该MPEG-2传输流解码音视频同步流程包括以下步骤
步骤201、MPEG-2传输流接收器接收卫星或有线电视信号,转成传输流,发送给传输流分离器,传输流分离器从MPEG-2传输流中分离出音频和视频,将分离出音频和视频分别存放到音频缓存器和视频缓存器中。步骤202、同时根据音频和视频的PTS (DTS),统计并存储音频在120秒内的音频帧数,统计并存储视频在120秒内的视频帧数。步骤203、对120秒内已经分离出来的音频进行解码,统计并存储120秒内解码后得到的音频帧数,对120秒内已经分离出来的视频进行解码,统计并存储120秒内解码后得到的视频帧数。
步骤204、将解码前120秒内的音频帧数和视频帧数分别与解码后120秒内的音频帧数和视频帧数进行比较,如果解码后120秒内的视频帧数多于解码前120秒内的视频帧数,则将多余的视频帧丢弃,如果解码后120秒内的视频帧数少于解码前120秒内的视频帧数,则采用不足数量的最后一帧视频将不足的视频帧补足,实现音视频同步。如果解码后120秒内音频帧数多于解码前120秒内的音频帧数,则计算多出的音频帧的时间超过视频帧时间的个数,例如超过了 5. 3个视频帧时间,则增加5个最后一帧视频帧,剩余的相当于O. 3个视频帧时间的音频帧时间与下一个120秒的比较结果合并计算。如果解码后120秒内音频帧数少于解码前120秒内的音频帧数,则计算少于的音频帧的时间超过视频帧时间的个数,例如超过了 3. 2个视频帧时间,则丢弃3个的视频帧,剩余的相当于O. 2个视频帧时间的音频帧时间与下一个120秒的比较结果合并计算,实现音视频同步。如果多于的或者少于的音频帧的时间小于I个视频帧时间,则视为当前的120秒 是音视频同步的。步骤205、音视频显示单元把已经解码并同步后的音视频展现出来。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种MPEG-2传输流解码音视频同步方法,其特征在于,包括以下步骤 A、通过传输流分离器从MPEG-2传输流中分离出音频和视频; B、统计并存储音频在预定时间内的音频帧数,统计并存储视频在预定时间内的视频帧数; C、对预定时间内已经分离出来的音频进行解码,统计并存储预定时间内解码后得到的音频帧数,对预定时间内已经分离出来的视频进行解码,统计并存储预定时间内解码后得到的视频帧数; D、将解码前预定时间内的音频帧数和视频帧数分别与解码后预定时间内的音频帧数和视频帧数进行比较,如果解码后预定时间内的视频帧数多于解码前预定时间内的视频帧数,则将多余的视频帧丢弃,如果解码后预定时间内的视频帧数少于解码前预定时间内的视频帧数,则将不足的视频帧补足,如果解码后预定时间内音频帧数多于解码前预定时间内的音频帧数,则计算多出的音频帧的时间超过视频帧时间的个数,并增加所述个数的视频帧,剩余的超过不到一个视频帧时间的音频帧时间与下一个预定时间的比较结果合并计算,如果解码后预定时间内音频帧数少于解码前预定时间内的音频帧数,则计算少于的音频帧的时间超过视频帧时间的个数,并丢弃所述个数的视频帧,剩余的少于不到一个视频帧时间的音频帧时间与下一个预定时间的比较结果合并计算,实现音视频同步。
2.根据权利要求I所述的一种MPEG-2传输流解码音视频同步方法,其特征在于,还包括以下步骤 E、音视频显示单元把已经解码并同步后的音视频展现出来。
3.根据权利要求I所述的一种MPEG-2传输流解码音视频同步方法,其特征在于,步骤D中,补足或者增加视频帧的,采用不足数量的或者增加数量的最后一帧视频,实现音视频同步。
4.根据权利要求I所述的一种MPEG-2传输流解码音视频同步方法,其特征在于,还包括以下步骤 将分离出音频和视频分别存放到音频缓存器和视频缓存器中。
5.根据权利要求I所述的一种MPEG-2传输流解码音视频同步方法,其特征在于,预定时间是120秒。
6.一种MPEG-2传输流解码音视频同步系统,其特征在于,包括传输流分离器、解码前音视频同步记录单元、音频缓存器、视频缓存器、音频解码器、视频解码器和解码后音视频同步记录单元,传输流分离器与解码前音视频同步记录单元连接,解码前音视频同步记录单元分别与音频缓存器和视频缓存器连接,音频缓存器与音频解码器连接,视频缓存器与视频解码器连接,音频解码器和视频解码器分别与解码后音视频同步记录单元连接,其中, 传输流分离器用于从MPEG-2传输流中分离出音频和视频,发送给解码前音视频同步记录单元; 解码前音视频同步记录单元用于统计并存储音频在预定时间内的音频帧数,统计并存储视频在预定时间内的视频帧数; 音频缓存器用于存储分离出来的音频,并发送给音频解码器; 视频缓存器用于存储分离出来的视频,并发送给视频解码器; 音频解码器用于对分离出来的音频进行解码;视频解码器用于对分离出来的视频进行解码; 解码后音视频同步记录单元用于统计并存储预定时间内解码后得到的音频帧数,统计并存储预定时间内解码后得到的视频帧数,并将解码前预定时间内的音频帧数和视频帧数分别与解码后预定时间内的音频帧数和视频帧数进行比较,丢弃或者补足视频帧,实现音视频同步。
7.根据权利要求6所述的一种MPEG-2传输流解码音视频同步系统,其特征在于,还包括MPEG-2传输流接收器,MPEG-2传输流接收器用于接收卫星或有线电视信号,转成传输流,发送给传输流分离器。
8.根据权利要求6所述的一种MPEG-2传输流解码音视频同步系统,其特征在于,还包括音视频显示单元,音视频显示单元用于从解码后音视频同步记录单元处获取同步后的音视频,进行展现。
全文摘要
本发明公开了一种MPEG-2传输流解码音视频同步方法和系统,通过传输流分离器从MPEG-2传输流中分离出音频和视频,统计并存储音频在预定时间内的音频帧数以及视频在预定时间内的视频帧数,对预定时间内已经分离出来的音频和视频进行解码,统计并存储预定时间内解码后得到的音频帧数和视频帧数,将解码前预定时间内的音频帧数和视频帧数分别与解码后预定时间内的音频帧数和视频帧数进行比较,丢弃或者补足视频帧,实现音视频同步。采用了本发明的技术方案,能够节约硬件成本,特别是在采集大量的音视频流的应用中,经济效益显著。
文档编号H04N7/26GK102685507SQ20111019434
公开日2012年9月19日 申请日期2011年7月12日 优先权日2011年7月12日
发明者于江, 吴鹏 申请人:天脉聚源(北京)传媒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1