CN101212671A - 一种低延迟的实时复用传输流的方法 - Google Patents
一种低延迟的实时复用传输流的方法 Download PDFInfo
- 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
- video
- transport stream
- bag
- multiplexing
- data
- Prior art date
Links
- 210000002683 Foot Anatomy 0.000 claims abstract description 31
- 241000186152 Petrosaviaceae Species 0.000 claims abstract description 31
- 239000004695 Polyether sulfone Substances 0.000 claims abstract description 31
- 229920002496 poly(ether sulfone) Polymers 0.000 claims abstract description 31
- 229920003208 poly(ethylene sulfide) Polymers 0.000 claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 244000241601 filaree Species 0.000 claims abstract description 6
- 230000000875 corresponding Effects 0.000 claims abstract description 4
- 241000195971 Psilotaceae Species 0.000 claims abstract 4
- 238000000034 methods Methods 0.000 claims description 9
- 230000001360 synchronised Effects 0.000 claims description 6
- 280000605883 Image Group companies 0.000 claims description 3
- 150000001875 compounds Chemical class 0.000 claims description 2
- 239000010410 layers Substances 0.000 description 5
- 230000003139 buffering Effects 0.000 description 2
- 241000182185 Alfalfa virus S Species 0.000 description 1
- 238000010586 diagrams Methods 0.000 description 1
- 239000002699 waste materials Substances 0.000 description 1
Abstract
Description
一种低延迟的实时复用传输流的方法技术领域本发明属于信号处理中的音视频编解码技术领域,尤其涉及一种低延迟的实 时复用传输流的方法。背景技术数字音视频编解码标准发展很快,已经成熟应用的有MPEG-2;近年又出现 的一批具有代表性的音视频标准:国际标准如MPEG-4、 H.264/MPEG-4 AVC, 以及我国自主制定的标准AVS等。这些标准中都有一个系统部分,称系统层, 该系统层主要规定了如何将单路或多路基本音频和视频流以及其他数据组合成 适合于存储和传输的单路和多路复合流。传输流就是系统层定义的一种数据流, 它将具有一个或者多个不同时钟基准的一个或多个节目组成一个单一流,其速率可以是恒定的也可以是可变的。目前,已经有一些软件能够完成传输流的复用的功能,即可以将单路或多路 基本音频和视频流合成为一个符合系统层规定的传输流语法的码流。但是,由 于视频的ES (Elementary Stream,基本码流)具有多种类型,不同类型帧的码 率大小相差很大,如I帧码率远大于B和P帧码率,而P帧码率又要大于B帧 的码率。因此在将视频ES流复用成为传输流的过程中,如果按最大峰值(I帧 码率)分配带宽,则传输流中多数时间码率小于峰值,导致信道资源的浪费; 而如果以平均码率分配信道带宽,则在复用前需利用緩沖器吸收最大峰值超出 平均值的部分,当多路节目复用时緩冲器的容量必须很大,如图1所示,从而 增加传输延时。而且'峰值码率,即I帧的码率出现的时间-很短,平均码率分配 降低了緩沖器的使用效率。目前也有一些算法解决该问题,例如,帧平移法就 是一种对于含多路节目的传输流复用的简单有效的解决该问题的方法,但是, 帧平移法不能解决单路节目的传输流复用问题。
发明内容本发明所要解决的技术问M提供一种低延迟的实时复用传输流的方法, 该方法不仅可以很好地实现单路节目的传输流复用,而且可降低延时,减小緩 冲区的容量,码率控制精度高。为了解决上述技术问题,本发明采用如下技术手段: 一种低延迟的实时复用 传输流的方法,用于将单路或多路基本音频和视频流复合成为传输流,所述方 法通过以下步骤具体实现:步骤l、将音频基本数据打包成音频打包基本流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 = (nOutTsBufyacketnum*188*8)/( nTransB画OO) PCR = timestampll * 90.0 其中,nOutTsBufyacketnum表示已经输出的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包 的个数。本发明所述的低延时的实时复用传输流的方法,与现有技术相比具有以下 优点:(l)可降低传输延时,减小所需的緩冲区容量;(2)传输流的传输率能够 精确的恒定,在播放时,视音频也能够很好的同步。附图说明
本发明的 一种低延迟的实时复用传输流的方法的具体实现由以下的实施例 及附图给出。图1为现有技术中多路节目统计复用实现过程示意图; 图2为本发明具体实施例实现的流程示意图。具体实施方式以下将结合附图对本发明的一种低延迟的实时复用传输流的方法作进一步 的详细描述。本实施例需将输入的一路AVS格式的码率为1.5Mbps的视频基本流和一路 MPEG-l layer 2格式的码率为128kbps的音频基本流复用成一个传输速率 Trans—rate恒等于2Mbps的传输流(TS ),如图2所示,其具体过程如下:首先执行打包步骤,即:Sll、将视频数据打包成视频打包基本流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分组包的数据部分和首部组成, 数据部分是根据一帧^L频数据所对应的音频数据来分组的,首部包含用于解码 器同步重放的显示时间标签(PTS, Presentation Time Stamp ),在实时复用传输 流的过程中,所述的PTS是采集卡实时釆集得到的;步骤Sll所述的视频PES 由视频PES分组包的数据部分和首部组成,数据部分是每一个I帧、P帧或B 帧数据作为一个视频PES分组包的数据部分,首部包含用于解码器同步重放的 PTS,在实时复用传输流的过程中,所述的PTS是采集卡实时采集得到的。以上步骤S22所述的音频TS包是根据标准中规定的传输流的TS包的语法 格式,按照PES包的数据顺序写入的;步骤S21所述的视频TS包将PCR信息 包含在预留的含有i见频帧帧头的TS包中。以上步骤S30所述的PSI信息通过以下方法生成:(1)根据给定的TS中的根据给定的每路节目的视频TS包的PID、音频TS包的PID和含有PCR信息的 TS包的PID生成PMT表。在步骤S50中,在将视频TS包写入输出緩沖区时,根据该携带PCR信息的 包在整个传输流中的位置重新计算PCR,并写入预留位置。 进一步的,所述PCR的计算方法如下:timestampll = (nOutTsBufyacketnum*188*8)/(nTransBit/1000) PCR = timestampll * 90.0 其中,nOutTsB143acketnum表示已经输出的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中已经发送的^L频TS包的个数;TS—Naudio为该 GOP中已经发送的音频TS包的个数;TS—Npsi为该GOP中已经发送的PSI信 息TS包的个数,以上数据通过计算机软件循环运算实现。
实验证明,使用本发明的方法实时复用传输流的延迟明显低于现有的复用算法的延迟,最低可降低到40ms,需要的緩沖区的容量大量降低;同时该传输 流的传输率能够精确的恒定,并且在机顶盒和播放软件播放时,视音频也能够 很好的同步。
Claims (9)
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 CN101212671A (zh) | 2007-12-21 | 2007-12-21 | 一种低延迟的实时复用传输流的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101212671A (zh) |
Cited By (11)
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 | 华为技术有限公司 | 一种数据流控方法及装置 |
-
2007
- 2007-12-21 CN CNA2007101728088A patent/CN101212671A/zh not_active Application Discontinuation
Cited By (18)
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流复用算法 |
CN101969550A (zh) * | 2010-09-03 | 2011-02-09 | 深圳创维数字技术股份有限公司 | 一种ip视频流复用方法及其系统 |
CN101969550B (zh) * | 2010-09-03 | 2016-09-14 | 深圳创维数字技术有限公司 | 一种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 | 新奥特(北京)视频技术有限公司 | 一种传输流视音频同步的处理方法 |
CN103179436A (zh) * | 2013-03-14 | 2013-06-26 | 北京大学 | 一种多路节目传输流复用装置 |
CN103179436B (zh) * | 2013-03-14 | 2016-08-03 | 北京大学 | 一种多路节目传输流复用装置 |
CN104270684A (zh) * | 2014-09-24 | 2015-01-07 | 北京中科大洋科技发展股份有限公司 | 一种面向实时应用的视音频数据网络传输系统和方法 |
CN104270684B (zh) * | 2014-09-24 | 2018-05-11 | 北京中科大洋科技发展股份有限公司 | 一种面向实时应用的视音频数据网络传输系统和方法 |
CN105306987A (zh) * | 2015-10-23 | 2016-02-03 | 深圳国微技术有限公司 | 一种控制ts流接口输出码率的装置 |
CN105306987B (zh) * | 2015-10-23 | 2018-06-22 | 深圳国微技术有限公司 | 一种控制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 | 华为机器有限公司 | 一种数据流控方法、装置及设备 |
CN108234997A (zh) * | 2017-12-12 | 2018-06-29 | 北京百度网讯科技有限公司 | 直播视频的时延测量方法、设备、系统及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10848796B2 (en) | Transmitting method, receiving method, transmitting device, and receiving device | |
JP6040282B2 (ja) | 拡張されたビデオストリームを復号するための方法および装置 | |
US6744785B2 (en) | Network distributed remultiplexer for video program bearing transport streams | |
US6873629B2 (en) | Method and apparatus for converting data streams | |
US6643298B1 (en) | Method and apparatus for MPEG-2 program ID re-mapping for multiplexing several programs into a single transport stream | |
CN100596092C (zh) | 用于数据包的动态通道映射与最优化调度的设备与方法 | |
US7382796B2 (en) | System and method for seamless switching through buffering | |
US9392256B2 (en) | Method and apparatus for generating 3-dimensional image datastream including additional information for reproducing 3-dimensional image, and method and apparatus for receiving the 3-dimensional image datastream | |
US6785289B1 (en) | Method and apparatus for aligning sub-stream splice points in an information stream | |
US8750315B2 (en) | Efficiently storing transport streams | |
US10433024B2 (en) | Method and apparatus for configuring content in a broadcast system | |
US5835493A (en) | MPEG transport stream remultiplexer | |
EP2553896B1 (en) | A method for recovering content streamed into chunk | |
US6034731A (en) | MPEG frame processing method and apparatus | |
US20160165276A1 (en) | Transmitting method, receiving method, transmitting apparatus, and receiving apparatus | |
KR100966387B1 (ko) | 전자 디바이스, 수신기 및 mpeg 프로그램 스트림 생성방법 | |
US7269836B2 (en) | System and method for providing multiplexing and remultiplexing of MPEG-2 streams | |
TW519834B (en) | Method and apparatus for determining a transmission bit rate in a statistical multiplexer | |
CA2278376C (en) | Method and apparatus for adaptive synchronization of digital video and audio playback in a multimedia playback system | |
US7424209B2 (en) | System and method for real-time data archival | |
US8135020B1 (en) | Packet schedule timestamp for a compressed bitstream | |
CN105830450B (zh) | 发送方法、接收方法、发送装置以及接收装置 | |
JP4508422B2 (ja) | 情報分散システムの可変ビットレ−ト情報を処理する方法および装置 | |
US6937770B1 (en) | Adaptive bit rate control for rate reduction of MPEG coded video | |
JP3605826B2 (ja) | ビデオおよびオーディオ信号処理システムにおける補助情報のための合理的入力バッファの回路配列 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C06 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080702 |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) |