一种传输流中时间标签的修正方法及装置的制造方法

文档序号:9582174阅读:391来源:国知局
一种传输流中时间标签的修正方法及装置的制造方法
【技术领域】
[0001]本发明涉及广播电视技术领域,尤其涉及一种传输流中时间标签的修正方法及装置。
【背景技术】
[0002]传输流(TransportStream, TS)是根据 ITU-T Rec.Η.222.0/IS0/IEC 13818-2 和IS0/IEC 13818-3协议而定义的一种数据流,其目的是为了在有可能发生严重错误的环境下进行一个或多个节目的编码数据的传输和存储。
[0003]MPEG-2系统中的传输流的生成过程大致为:编码器将模拟视频信号和模拟音频信号转换成传输流。复用器接收多路传输流,并将多路传输流复合成一路传输流,或者从多个传输流中选取一些生成新的传输流。经过复用器构造的传输流通过传输网络传送到远端的解码器,解码器将传输流中的数字信号进行解码,还原成视频信号、音频信号,通过终端播出。
[0004]由于传输流中既包括音频信号又包括视频信号,要使解码器能够按照时间顺序播放音视频,并确保音频信号和视频信号的对应关系,必须在码流中包含准确的时钟信息,即节目参考时钟(PCR,Program Clock Reference),因此在输入到复用器的传输流中的一些数据包中已经包括了 PCR,但在实际传输中,如果出现时钟的突然变化、再复用时对PCR的修改、传输码率的变化或传输网络抖动等情况,会导致存在PCR抖动和PCR间隔错误等问题,如果不对PCR进行修正或者校正精度不能满足要求,则会导致解码器所恢复的图像容易掉彩色,还会出现周期性的黑屏现象,同时图像会伴有马赛克,严重时还会出现死机等现象,因此现有技术通常会对输入码流中的PCR进行校正,然后在解码时,利用校正后的PCR和编码器同步的27MHz系统时钟,恢复27MHz系统时钟,之后,再利用PES (PacketisedElementary Streams,带有包头的基本码流)流中的DTS (Decoding Time Stamp,解码时间标签)和PTS(Presentat1n Time Stamp,显示时间标签)进行音频与视频间的同步,然后解码还原成视频信号、音频信号,通过终端播出。
[0005]申请人在对上述过程的研究中发现,由于现有技术在对输入码流中的PCR进行校正后,仍使用原输入码流中的DTS和PTS进行音频与视频间的同步,又因为每个PCR与DTS、PTS之间都存在相应的对应关系,因此在对PCR进行校正后,如果未对DTS和PTS进行校正,仍使用原输入码流中的DTS和PTS进行音频与视频间的同步的话,仍会导致解码器无法准确解码输出音视频。
[0006]因此,亟需提供一种基于校正后PCR修正时间标签的方法,来解决现有技术中因校正后PCR与时间标签的对应关系不一致,而导致的解码器无法准确解码输出音视频的问题。

【发明内容】

[0007]本发明实施例提供了一种传输流中时间标签的修正方法及装置,用以解决现有技术中因校正后PCR与时间标签的对应关系不一致,而导致的解码器无法准确解码输出音视频的问题。
[0008]本发明实施例提供了一种传输流中时间标签的修正方法,包括:
[0009]获取当前传输流并缓存;
[0010]提取所述当前传输流中的DTS值和/或PTS值,并利用调整后的PCR值修正提取到的所述DTS值和/或PTS值,得到修正后的DTS值和/或PTS值;
[0011]将已缓存的所述当前传输流中的DTS值和/或PTS值替换为所述修正后的DTS值和/或PTS值,得到新的传输流,以由解码器根据所述新的传输流进行解码输出。
[0012]进一步地,所述提取所述当前传输流中的DTS值和/或PTS值,包括:
[0013]根据所述当前传输流中的各DTS值和/或PTS值的相应标志位提取所述DTS值和/或PTS值。
[0014]进一步地,所述修正后的DTS值是根据下式得到的:
[0015]VDts_0utCurr = PcrH_Curr+第一时间值;
[0016]其中,VDts_0utCurr为修正后的初始视频DTS值,PcrH_Curr为所述调整后的PCR值;或者,
[0017]ADts_0utCurr = PcrH_Curr+第二时间值;
[0018]其中,ADts_0utCurr为修正后的初始音频DTS值,PcrH_Curr为所述调整后的PCR值;
[0019]所述修正后的PTS是根据下式得到的:
[0020]VPts_0utCurr = PcrH_Curr+第一时间值;
[0021 ] 其中,VPts_0utCurr为修正后的初始视频PTS值,PcrH_Curr为所述调整后的PCR值;或者,
[0022]APts_0utCurr = PcrH_Curr+第二时间值;
[0023]其中,APts_0utCurr为修正后的初始音频PTS值,PcrH_Curr为所述调整后的PCR值。
[0024]进一步地,所述修正后的DTS是根据下式得到的:
[0025]VDts_0utCurr = ADt s_0utCurr+VADt s_D i ff ;
[0026]其中,VDts_0utCurr为修正后的初始视频DTS值,ADts_0utCurr为修正后的初始音频DTS值,VADts_Diff为从所述当前传输流中提取到的视频DTS值与音频DTS值的差值;
[0027]所述修正后的PTS是根据下式得到的:
[0028]VPts_0utCurr = APt s_0utCurr+VAPt s_D i ff ;
[0029]其中,VPts_0utCurr为修正后的初始视频PTS值,APts_0utCurr为修正后的初始音频PTS值,VAPts_Diff为从所述当前传输流中提取到的视频PTS值与音频PTS值的差值。
[0030]进一步地,所述提取所述当前传输流中的DTS值和/或PTS值之后,所述方法还包括:
[0031 ] 根据预设规则修正提取到的所述DTS值和/或PTS值,得到修正后的DTS值和/或PTS值。
[0032]进一步地,所述预设规则为根据下式修正提取到的所述DTS值:
[0033]Dts_0utCurr = Dts_InCurr-Dts_InPrev+Dts_OutPrev ;
[0034]其中,Dts_0utCurr为本次修正后的DTS值,Dts_InCurr为从所述当前传输流中提取到的DTS值,Dts_InPrev为从上次传输流中提取到的DTS值,Dts_0utPrev为上次修正后的DTS值;
[0035]所述预设规则为根据下式修正提取到的所述PTS值:
[0036]Pts_0utCurr = Dts_OutCurr+PDts_Diff ;
[0037]其中,Pts_0utCurr为本次修正后的PTS值,Dts_0utCurr为本次修正后的DTS值,PDts_Diff为从所述当前传输流中提取到的PTS值与DTS值的差值。
[0038]进一步地,本发明实施例还提供了一种传输流中时间标签的修正装置,包括:
[0039]获取单元,用于获取当前传输流并缓存;
[0040]处理单元,用于提取所述当前传输流中的DTS值和/或PTS值,并利用调整后的PCR值修正提取到的所述DTS值和/或PTS值,得到修正后的DTS值和/或PTS值;
[0041]替换单元,用于将已缓存的所述当前传输流中的DTS值和/或PTS值替换为所述修正后的DTS值和/或PTS值,得到新的传输流,以由解码器根据所述新的传输流进行解码输出。
[0042]进一步地,所述处理单元,具体用于根据所述当前传输流中的各DTS值和/或PTS值的相应标志位提取所述DTS值和/或PTS值。
[0043]进一步地,所述修正后的DTS值是根据下式得到的:
[0044]VDts_0utCurr = PcrH_Curr+第一时间值;
[0045]其中,VDts_0utCurr为修正后的初始视频DTS值,PcrH_Curr为所述调整后的PCR值;或者,
[0046]ADts_0utCurr = PcrH_Curr+第二时间值;
[0047]其中,ADts_0utCurr为修正后的初始音频DTS值,PcrH_Curr为所述调整后的PCR值;
[0048]所述修正后的PTS是根据下式得到的:
[0049]VPts_0utCurr = PcrH_Curr+第一时间值;
[0050]其中,VPts_0utCurr为修正后的初始视频PTS值,PcrH_Curr为所述调整后的PCR值;或者,
[0051]APts_0utCurr = PcrH_Curr+第二时间值;
[0052]其中,APts_0utCurr为修正后的初始音频PTS值,PcrH_Curr为所述调整后的PCR值。
[0053]进一步地,所述修正后的DTS是根据下式得到的:
[0054]VDts_0utCurr = AD t s_0u t Curr+VAD t s_D i ff ;
[0055]其中,VDts_0utCurr为修正后的初始视频DTS值,ADts_0utCurr为修正后的初始音频DTS值,VADts_Diff为从所述当前传输流中提取到的视频DTS值与音频DTS值的差值;
[0056]所述修正后的PTS是根据下式得到的:
[0057]VPts_0utCurr = APt s_0utCurr+VAPt s_D i ff ;
[0058]其中,VPts_0utCurr为修正后的初始视频PTS值,APts_0utCurr为修正后的初始音频PTS值,VAPts_Diff为从所述当前传输流中提取到的视频PTS值与音频PTS值的差值。
[0
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1