CN101212671A - 一种低延迟的实时复用传输流的方法 - Google Patents

一种低延迟的实时复用传输流的方法 Download PDF

Info

Publication number
CN101212671A
CN101212671A CNA2007101728088A CN200710172808A CN101212671A CN 101212671 A CN101212671 A CN 101212671A CN A2007101728088 A CNA2007101728088 A CN A2007101728088A CN 200710172808 A CN200710172808 A CN 200710172808A CN 101212671 A CN101212671 A CN 101212671A
Authority
CN
China
Prior art keywords
transport stream
video
bag
multiplexing
data
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.)
Pending
Application number
CNA2007101728088A
Other languages
English (en)
Inventor
李萍
李国平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central Academy of SVA Group Co Ltd
Original Assignee
Central Academy of SVA Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Central Academy of SVA Group Co Ltd filed Critical Central Academy of SVA Group Co Ltd
Priority to CNA2007101728088A priority Critical patent/CN101212671A/zh
Publication of CN101212671A publication Critical patent/CN101212671A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提出了一种低延迟的实时复用传输流的方法,所述方法先将音视频基本数据打包成打包基本流PES;接着将PES打包成TS包;然后生成节目特定信息PSI数据;当完成一帧视频ES数据和相应的时间的音频ES数据的PES打包和TS打包后,将音频TS包和视频TS包均匀的放入传输流输出缓冲区中,同时更新节目时钟参考PCR信息;当完成一个图像组GOP的视频ES流的复用时,根据传输流的传输率和该GOP的数据量的大小,在输出缓冲区中填入空包,以输出恒定码率的传输流。所述方法可降低延迟,减小缓冲区的容量,传输率恒定。

Description

一种低延迟的实时复用传输流的方法
技术领域
本发明属于信号处理中的音视频编解码技术领域,尤其涉及一种低延迟的实时复用传输流的方法。
背景技术
数字音视频编解码标准发展很快,已经成熟应用的有MPEG-2;近年又出现的一批具有代表性的音视频标准:国际标准如MPEG-4、H.264/MPEG-4 AVC,以及我国自主制定的标准AVS等。这些标准中都有一个系统部分,称系统层,该系统层主要规定了如何将单路或多路基本音频和视频流以及其他数据组合成适合于存储和传输的单路和多路复合流。传输流就是系统层定义的一种数据流,它将具有一个或者多个不同时钟基准的一个或多个节目组成一个单一流,其速率可以是恒定的也可以是可变的。
目前,已经有一些软件能够完成传输流的复用的功能,即可以将单路或多路基本音频和视频流合成为一个符合系统层规定的传输流语法的码流。但是,由于视频的ES(Elementary Stream,基本码流)具有多种类型,不同类型帧的码率大小相差很大,如I帧码率远大于B和P帧码率,而P帧码率又要大于B帧的码率。因此在将视频ES流复用成为传输流的过程中,如果按最大峰值(I帧码率)分配带宽,则传输流中多数时间码率小于峰值,导致信道资源的浪费;而如果以平均码率分配信道带宽,则在复用前需利用缓冲器吸收最大峰值超出平均值的部分,当多路节目复用时缓冲器的容量必须很大,如图1所示,从而增加传输延时。而且峰值码率,即I帧的码率出现的时间很短,平均码率分配降低了缓冲器的使用效率。目前也有一些算法解决该问题,例如,帧平移法就是一种对于含多路节目的传输流复用的简单有效的解决该问题的方法,但是,帧平移法不能解决单路节目的传输流复用问题。
发明内容
本发明所要解决的技术问题是提供一种低延迟的实时复用传输流的方法,该方法不仅可以很好地实现单路节目的传输流复用,而且可降低延时,减小缓冲区的容量,码率控制精度高。
为了解决上述技术问题,本发明采用如下技术手段:一种低延迟的实时复用传输流的方法,用于将单路或多路基本音频和视频流复合成为传输流,所述方法通过以下步骤具体实现:
步骤1、将音频基本数据打包成音频打包基本流PES;将视频基本数据打包成视频打包基本流PES;
步骤2、将音频PES打包成音频传输流TS包;将视频PES打包成视频传输流TS包;
步骤3、生成节目特定信息PSI数据;
步骤4、判断是否完成一帧视频ES数据和相应的时间的音频ES数据的PES打包和TS打包,如果已完成,则跳到步骤5;如果尚未完成,则循环步骤1~步骤3;
步骤5、将音频TS包和视频TS包均匀的放入传输流输出缓冲区中;同时更新节目时钟参考PCR信息;
步骤6、判断当前图像组GOP的视频帧是否复用完毕,如果尚未复用完毕,则跳到步骤4,继续复用下一帧音频和视频数据;否则继续步骤7;
步骤7、当完成一个图像组GOP的视频ES流的复用时,根据传输流的传输率和该GOP的数据量的大小,在输出缓冲区中填入空包,以输出恒定码率的传输流;
步骤8、判断当前图像的所有图像组GOP是否复用完毕,如果尚未复用完毕,则跳到步骤6,否则结束。
以上步骤1所述的音频PES由音频PES分组包的数据部分和首部组成,数据部分是根据一帧视频数据所对应的音频数据来分组的,首部包含用于解码器同步重放的显示时间标签PTS,在实时复用传输流的过程中,所述的PTS是采集卡实时采集得到的;步骤1所述的视频PES由视频PES分组包的数据部分和首部组成,数据部分是每一个I帧、P帧或B帧数据作为一个视频PES分组包的数据部分,首部包含用于解码器同步重放的PTS,在实时复用传输流的过程中,所述的PTS是采集卡实时采集得到的。
以上步骤2所述的音频TS包是根据标准中规定的传输流的TS包的语法格式,按照PES包的数据顺序写入的;步骤2所述的视频TS包将PCR信息包含在预留的含有视频帧帧头的TS包中。
以上步骤3所述的PSI信息通过以下方法生成:(1)根据给定的TS中的节目号和节目映射表PMT表的节目标识PID生成节目关联表PAT表;(2)根据给定的每路节目的视频TS包的PID、音频TS包的PID和含有PCR信息的TS包的PID生成PMT表。
在步骤5中,在将视频TS包写入输出缓冲区时,根据该携带PCR信息的包在整个传输流中的位置重新计算PCR,并写入预留位置。
进一步的,所述PCR的计算方法如下:
Timestampll=(nOutTsBufpacketnum*188*8)/(nTransBit/1000)
PCR=timestampll*90.0
其中,nOutTsBufpacketnum表示已经输出的TS包的个数,nTransBit表示该传输流的传输率。
以上步骤7所述空包的填入数量Npadding计算如下:
Packet_salframe=(nTransBit/(188*1000*8/ps->pict_duration))*frame_of_GOP
Npadding=Packet_salframe-TS_Nvideo-TS_Naudio-TS_Npsi
其中,nTransBit表示该传输流的传输率;ps->pict_duration为传输流中节目的帧速率的倒数;frame_of_GOP为视频ES流的一个GOP中包含的帧的个数;
TS_Nvideo为该GOP中已经发送的视频TS包的个数;TS_Naudio为该GOP中已经发送的音频TS包的个数;TS_Npsi为该GOP中已经发送的PSI信息TS包的个数。
本发明所述的低延时的实时复用传输流的方法,与现有技术相比具有以下优点:(1)可降低传输延时,减小所需的缓冲区容量;(2)传输流的传输率能够精确的恒定,在播放时,视音频也能够很好的同步。
附图说明
本发明的一种低延迟的实时复用传输流的方法的具体实现由以下的实施例及附图给出。
图1为现有技术中多路节目统计复用实现过程示意图;
图2为本发明具体实施例实现的流程示意图。
具体实施方式
以下将结合附图对本发明的一种低延迟的实时复用传输流的方法作进一步的详细描述。
本实施例需将输入的一路AVS格式的码率为1.5Mbps的视频基本流和一路MPEG-1 layer 2格式的码率为128kbps的音频基本流复用成一个传输速率Trans_rate恒等于2Mbps的传输流(TS),如图2所示,其具体过程如下:
首先执行打包步骤,即:S11、将视频数据打包成视频打包基本流PES;S12、将音频数据打包成音频打包基本流PES;
接着,对上述的打包基本流PES进行复用并生成传输流包,具体为:S21、将视频PES打包成视频传输流TS包;S22、将音频PES打包成音频传输流TS包;
然后执行步骤S30、生成节目特定信息(PSI)数据;
步骤S40、判断是否完成一帧视频基本流(ES)数据和相应的时间的音频ES数据的PES打包和TS打包,如果已完成,则跳到步骤S50;如果尚未完成,则循环上述各步骤。
步骤S50、将音频TS包和视频TS包均匀地放入传输流输出缓冲区中;同时更新节目时钟参考(PCR,Program Clock Reference)信息;
步骤S60、判断当前图像组GOP的视频帧是否复用完毕,如果尚未复用完毕,则跳到步骤S40,继续复用下一帧音频和视频数据;否则继续步骤S70;
步骤S70、每当完成一个图像组GOP的视频ES流的复用时,根据传输流的传输率和该GOP的数据量的大小,在输出缓冲区中填入空包,以输出恒定码率的传输流;
步骤S80、判断当前图像的所有图像组GOP是否复用完毕,如果尚未复用完毕,则跳到步骤S60,否则结束。
以上步骤S12所述的音频PES由音频PES分组包的数据部分和首部组成,数据部分是根据一帧视频数据所对应的音频数据来分组的,首部包含用于解码器同步重放的显示时间标签(PTS,Presentation Time Stamp),在实时复用传输流的过程中,所述的PTS是采集卡实时采集得到的;步骤S11所述的视频PES由视频PES分组包的数据部分和首部组成,数据部分是每一个I帧、P帧或B帧数据作为一个视频PES分组包的数据部分,首部包含用于解码器同步重放的PTS,在实时复用传输流的过程中,所述的PTS是采集卡实时采集得到的。
以上步骤S22所述的音频TS包是根据标准中规定的传输流的TS包的语法格式,按照PES包的数据顺序写入的;步骤S21所述的视频TS包将PCR信息包含在预留的含有视频帧帧头的TS包中。
以上步骤S30所述的PSI信息通过以下方法生成:(1)根据给定的TS中的节目号和节目映射表(PMT表)的节目标识PID生成节目关联表(PAT表);(2)根据给定的每路节目的视频TS包的PID、音频TS包的PID和含有PCR信息的TS包的PID生成PMT表。
在步骤S50中,在将视频TS包写入输出缓冲区时,根据该携带PCR信息的包在整个传输流中的位置重新计算PCR,并写入预留位置。
进一步的,所述PCR的计算方法如下:
timestampll=(nOutTsBufpacketnum*188*8)/(nTransBit/1000)
PCR=timestampll*90.0
其中,nOutTsBufpacketnum表示已经输出的TS包的个数,nTransBit表示该传输流的传输率。
以上步骤S70所述空包的填入数量Npadding计算如下:
Packet_salframe=(nTransBit/(188*1000*8/ps->pict_duration))*frame_of_GOP
Npadding=Packet_salframe-TS_Nvideo-TS_Naudio-TS_Npsi
其中,nTransBit为本实施例的传输流的传输率;ps->pict_duration为传输流中节目的帧速率的倒数;frame_of_GOP为视频ES流的一个GOP中包含的帧的个数;TS_Nvideo为该GOP中已经发送的视频TS包的个数;TS_Naudio为该GOP中已经发送的音频TS包的个数;TS_Npsi为该GOP中已经发送的PSI信息TS包的个数,以上数据通过计算机软件循环运算实现。
实验证明,使用本发明的方法实时复用传输流的延迟明显低于现有的复用算法的延迟,最低可降低到40ms,需要的缓冲区的容量大量降低;同时该传输流的传输率能够精确的恒定,并且在机顶盒和播放软件播放时,视音频也能够很好的同步。

Claims (9)

1.一种低延迟的实时复用传输流的方法,用于将单路或多路基本音频和视频流复合成为传输流,其特征在于,所述方法通过以下步骤具体实现:
步骤1、将音频基本数据打包成音频打包基本流PES;将视频基本数据打包成视频打包基本流PES;
步骤2、将音频PES打包成音频传输流TS包;将视频PES打包成视频传输流TS包;
步骤3、生成节目特定信息PSI数据;
步骤4、判断是否完成一帧视频ES数据和相应的时间的音频ES数据的PES打包和TS打包,如果已完成,则跳到步骤5;如果尚未完成,则循环步骤1~步骤3;
步骤5、将音频TS包和视频TS包均匀的放入传输流输出缓冲区中;同时更新节目时钟参考PCR信息;
步骤6、判断当前图像组GOP的视频帧是否复用完毕,如果尚未复用完毕,则跳到步骤4,继续复用下一帧音频和视频数据;否则继续步骤7;
步骤7、当完成一个图像组GOP的视频ES流的复用时,根据传输流的传输率和该GOP的数据量的大小,在输出缓冲区中填入空包,以输出恒定码率的传输流;
步骤8、判断当前图像的所有图像组GOP是否复用完毕,如果尚未复用完毕,则跳到步骤6,否则结束。
2.如权利要求1所述的低延迟的实时复用传输流的方法,其特征在于,步骤1所述的音频PES由音频PES分组包的数据部分和首部组成,数据部分是根据一帧视频数据所对应的音频数据来分组的,首部包含用于解码器同步重放的显示时间标签PTS,在实时复用传输流的过程中,所述的PTS是采集卡实时采集得到的。
3.如权利要求1所述的低延迟的实时复用传输流的方法,其特征在于,步骤1所述的视频PES由视频PES分组包的数据部分和首部组成,数据部分是每一个I帧、P帧或B帧数据作为一个视频PES分组包的数据部分,首部包含用于解码器同步重放的PTS,在实时复用传输流的过程中,所述的PTS是采集卡实时采集得到的。
4.如权利要求1所述的低延迟的实时复用传输流的方法,其特征在于,步骤2所述的音频TS包是根据标准中规定的传输流的TS包的语法格式,按照PES包的数据顺序写入的。
5.如权利要求1所述的低延迟的实时复用传输流的方法,其特征在于,步骤2所述的视频TS包将PCR信息包含在预留的含有视频帧帧头的TS包中。
6.如权利要求1所述的低延迟的实时复用传输流的方法,其特征在于,步骤3所述的PSI信息通过以下方法生成:(1)根据给定的TS中的节目号和节目映射表PMT表的节目标识PID生成节目关联表PAT表;(2)根据给定的每路节目的视频TS包的PID、音频TS包的PID和含有PCR信息的TS包的PID生成PMT表。
7.如权利要求1所述的低延迟的实时复用传输流的方法,其特征在于,在步骤5中,在将视频TS包写入输出缓冲区时,根据该携带PCR信息的包在整个传输流中的位置重新计算PCR,并写入预留位置。
8.如权利要求7所述的低延迟的实时复用传输流的方法,其特征在于,所述PCR的计算方法如下:
Timestampll=(nOutTsBufpacketnum*188*8)/(nTransBit/1000)
PCR=timestampll*90.0
其中,nOutTsBufpacketnum表示已经输出的TS包的个数,nTransBit表示该传输流的传输率。
9.如权利要求1所述的低延迟的实时复用传输流的方法,其特征在于,步骤7所述空包的填入数量Npadding计算如下:
Packet_salframe=(nTransBit/(188*1000*8/ps->pict_duration))*frame_of_GOP
Npadding=Packet_salframe-TS_Nvideo-TS_Naudio-TS_Npsi
其中,nTransBit表示该传输流的传输率;ps->pict_duration为传输流中节目的帧速率的倒数;frame_of_GOP为视频ES流的一个GOP中包含的帧的个数;TS_Nvideo为该GOP中已经发送的视频TS包的个数;TS_Naudio为该GOP中已经发送的音频TS包的个数;TS_Npsi为该GOP中已经发送的PSI信息TS包的个数。
CNA2007101728088A 2007-12-21 2007-12-21 一种低延迟的实时复用传输流的方法 Pending CN101212671A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007101728088A CN101212671A (zh) 2007-12-21 2007-12-21 一种低延迟的实时复用传输流的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007101728088A CN101212671A (zh) 2007-12-21 2007-12-21 一种低延迟的实时复用传输流的方法

Publications (1)

Publication Number Publication Date
CN101212671A true CN101212671A (zh) 2008-07-02

Family

ID=39612274

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007101728088A Pending CN101212671A (zh) 2007-12-21 2007-12-21 一种低延迟的实时复用传输流的方法

Country Status (1)

Country Link
CN (1) CN101212671A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945265A (zh) * 2010-08-19 2011-01-12 北京市博汇科技有限公司 一种基于带宽占用率的多节目恒码率ts流复用算法
CN101969550A (zh) * 2010-09-03 2011-02-09 深圳创维数字技术股份有限公司 一种ip视频流复用方法及其系统
CN102130819A (zh) * 2010-01-13 2011-07-20 中国移动通信集团公司 流业务调度方法和装置
CN102447949A (zh) * 2011-08-24 2012-05-09 上海文广科技(集团)有限公司 一种高效的精确到帧的ts流拼接方法
CN102710512A (zh) * 2012-05-23 2012-10-03 成都三零凯天通信实业有限公司 一种跨平台的流发生器及控制方法
CN102780930A (zh) * 2012-05-31 2012-11-14 新奥特(北京)视频技术有限公司 一种传输流视音频同步的处理方法
CN103179436A (zh) * 2013-03-14 2013-06-26 北京大学 一种多路节目传输流复用装置
CN104270684A (zh) * 2014-09-24 2015-01-07 北京中科大洋科技发展股份有限公司 一种面向实时应用的视音频数据网络传输系统和方法
CN105306987A (zh) * 2015-10-23 2016-02-03 深圳国微技术有限公司 一种控制ts流接口输出码率的装置
CN108234997A (zh) * 2017-12-12 2018-06-29 北京百度网讯科技有限公司 直播视频的时延测量方法、设备、系统及计算机可读介质
WO2018176934A1 (zh) * 2017-03-29 2018-10-04 华为技术有限公司 一种数据流控方法及装置
CN111193956A (zh) * 2018-11-15 2020-05-22 深圳市茁壮网络股份有限公司 一种视频数据处理方法及视频播放设备
CN112653922A (zh) * 2019-10-09 2021-04-13 腾讯科技(深圳)有限公司 一种音视频文件处理方法、装置、终端以及存储介质

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102130819A (zh) * 2010-01-13 2011-07-20 中国移动通信集团公司 流业务调度方法和装置
CN101945265A (zh) * 2010-08-19 2011-01-12 北京市博汇科技有限公司 一种基于带宽占用率的多节目恒码率ts流复用算法
CN101969550B (zh) * 2010-09-03 2016-09-14 深圳创维数字技术有限公司 一种ip视频流复用方法及其系统
CN101969550A (zh) * 2010-09-03 2011-02-09 深圳创维数字技术股份有限公司 一种ip视频流复用方法及其系统
CN102447949A (zh) * 2011-08-24 2012-05-09 上海文广科技(集团)有限公司 一种高效的精确到帧的ts流拼接方法
CN102710512A (zh) * 2012-05-23 2012-10-03 成都三零凯天通信实业有限公司 一种跨平台的流发生器及控制方法
CN102780930A (zh) * 2012-05-31 2012-11-14 新奥特(北京)视频技术有限公司 一种传输流视音频同步的处理方法
CN102780930B (zh) * 2012-05-31 2018-05-04 新奥特(北京)视频技术有限公司 一种传输流视音频同步的处理方法
CN103179436B (zh) * 2013-03-14 2016-08-03 北京大学 一种多路节目传输流复用装置
CN103179436A (zh) * 2013-03-14 2013-06-26 北京大学 一种多路节目传输流复用装置
CN104270684B (zh) * 2014-09-24 2018-05-11 北京中科大洋科技发展股份有限公司 一种面向实时应用的视音频数据网络传输系统和方法
CN104270684A (zh) * 2014-09-24 2015-01-07 北京中科大洋科技发展股份有限公司 一种面向实时应用的视音频数据网络传输系统和方法
CN105306987B (zh) * 2015-10-23 2018-06-22 深圳国微技术有限公司 一种控制ts流接口输出码率的装置
CN105306987A (zh) * 2015-10-23 2016-02-03 深圳国微技术有限公司 一种控制ts流接口输出码率的装置
WO2018176934A1 (zh) * 2017-03-29 2018-10-04 华为技术有限公司 一种数据流控方法及装置
CN108668144A (zh) * 2017-03-29 2018-10-16 华为机器有限公司 一种数据流控方法及装置
CN108668144B (zh) * 2017-03-29 2020-06-26 华为机器有限公司 一种数据流控方法、装置及设备
US11082739B2 (en) 2017-03-29 2021-08-03 Huawei Technologies Co., Ltd. Data flow control method and apparatus
CN108234997A (zh) * 2017-12-12 2018-06-29 北京百度网讯科技有限公司 直播视频的时延测量方法、设备、系统及计算机可读介质
CN111193956A (zh) * 2018-11-15 2020-05-22 深圳市茁壮网络股份有限公司 一种视频数据处理方法及视频播放设备
CN112653922A (zh) * 2019-10-09 2021-04-13 腾讯科技(深圳)有限公司 一种音视频文件处理方法、装置、终端以及存储介质
CN112653922B (zh) * 2019-10-09 2022-05-06 腾讯科技(深圳)有限公司 一种音视频文件处理方法、装置、终端以及存储介质

Similar Documents

Publication Publication Date Title
CN101212671A (zh) 一种低延迟的实时复用传输流的方法
US10827208B2 (en) Transmitting method, receiving method, transmitting device and receiving device
CN107431845B (zh) 发送方法、接收方法、发送装置以及接收装置
CN101068367B (zh) 用于改变编解码器的方法和装置
AU682045B2 (en) Rational input buffer arrangements for auxiliary information in video and audio signal processing systems
CN108141636B (zh) 接收装置以及接收方法
KR100929073B1 (ko) 휴대 방송 시스템에서 다중 스트림 수신 장치 및 방법
CN101984672B (zh) 多线程的音视频同步控制方法及装置
CA2361047C (en) Method and apparatus for assuring sufficient bandwidth of a statistical multiplexer
US20070253509A1 (en) Data transfer device
CN100391261C (zh) 一种传输流复用的方法
JP2000188759A (ja) 情報ストリ―ムの高フレ―ム精度シ―ムレス・スプライシング
CN1666498A (zh) 从加密的mpeg传输流中构造mpeg节目流的方法
CN102447949A (zh) 一种高效的精确到帧的ts流拼接方法
CN101179736B (zh) 一种传输流节目转换成中国移动多媒体广播节目的方法
CN103237255A (zh) 一种多线程的音视频同步控制方法及系统
CN112954435B (zh) 接收装置以及接收方法
US11722714B2 (en) Transmitting method, receiving method, transmitting device and receiving device
US10506265B2 (en) Transmitting method, receiving method, transmitting device and receiving device
CN100499821C (zh) 一种统计复用传输流的方法
KR19990068138A (ko) 디지털 신호 다중화 방법 및 장치, 디지털 신호 송신방법 및 장치, 디지털 신호 기록방법 및 장치, 및 기록매체
CN101198053B (zh) 一种编码器中的视频数据自适应分割装置
CN102104795A (zh) 基于mpeg-2的多路ps流转复用为一路ts流的方法
CN101179738B (zh) 一种传输流到中国移动多媒体广播复用协议的转换方法
CN102572521B (zh) 一种自动分配传输流视频基本码流码率的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080702