CN1722833A - 产生传输流的多路复用方法和设备 - Google Patents

产生传输流的多路复用方法和设备 Download PDF

Info

Publication number
CN1722833A
CN1722833A CNA200510084308XA CN200510084308A CN1722833A CN 1722833 A CN1722833 A CN 1722833A CN A200510084308X A CNA200510084308X A CN A200510084308XA CN 200510084308 A CN200510084308 A CN 200510084308A CN 1722833 A CN1722833 A CN 1722833A
Authority
CN
China
Prior art keywords
transport stream
interval
bag
audio
stream
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.)
Granted
Application number
CNA200510084308XA
Other languages
English (en)
Other versions
CN100461861C (zh
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1722833A publication Critical patent/CN1722833A/zh
Application granted granted Critical
Publication of CN100461861C publication Critical patent/CN100461861C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2362Generation or processing of Service Information [SI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)

Abstract

提供了一种产生传输流的多路复用的方法和设备。根据该多路复用的方法,对每一个访问单元执行多路复用,对空传输流包的插入间隔、对视频传输流包的插入间隔、对音频传输流包的插入间隔被计算,通过插入适合插入间隔的视频传输流包、音频传输流包、以及空传输流包,产生传输流。

Description

产生传输流的多路复用方法和设备
本申请要求于2004年7月12日在韩国知识产权局提交的第10-2004-0054095号韩国专利申请的优先权,该申请公开于此以资参考。
                         技术领域
与本发明一致的设备和方法涉及以产生传输流的多路复用,更具体地讲,涉及一种保持恒定传输比特率的简单有效的多路复用方法和设备。
                         背景技术
根据例如运动图像专家组(MPEG)数据压缩标准产生的视频和/或音频数据为传输或存储被分为预定大小的数据,彼此同步、并被多路复用。MPEG系统使用被时分多路复用技术采用的基于分组的多路复用技术。具体地讲,MPEG-2系统使用两种形式多路复用流,即,节目流和传输流,以使其被应用于各种应用领域。节目流能形成一个节目,传输流能形成多个节目。因为传输流能形成具有一个比特流的多个节目,所以它通常被用来做TV广播。
倾向于根据MPEG-2系统标准产生传输流的传统的多路复用技术是复杂的,这是因为在处理期间,它们需要检测输入缓冲器和输出缓冲器的状态,并且使用传统的多路复用技术难以保持预定的传输比特率。
                         发明内容
本发明提供了一种保持恒定传输比特率的简单有效的方法和设备。
根据本发明的一方面,提供了一种多路复用的方法,通过该方法,通过多路复用多个视频传输流包、多个音频传输流包、以及多个空传输流包来产生预定大小的传输流,该多路复用方法包括:(a)计算对应于一个访问单元的传输流的大小S1;(b)计算将被传输流包括的视频传输流包的总的大小S2和将被传输流包括的音频传输流包的总的大小S3;(c)通过从S1中减去总的大小S2和总的大小S3来计算将被传输流包括的空传输流包的总的大小S4;(d)从总的大小S1中用总的大小S2和总的大小S3计算对空传输流包的插入间隔I1、对视频传输流包的插入间隔I2、对音频传输流包的插入间隔I3;和(e)通过插入分别适合插入间隔I1、插入间隔I2、插入间隔I3的视频传输流包、音频传输流包、空传输流包来产生传输流。
根据本发明的另一方面,提供了一种多路复用设备,该设备通过多路复用多个视频传输流包、多个音频传输流包、多个空传输流包产生预定大小的传输流。该多路复用设备包括调度单元和多路复用单元。调度单元计算对应于一个访问单元的传输流的大小S1;计算将被传输流包括的多个视频传输流包总的大小S2和多个音频传输流包的大小S3;通过从S1中减去总的大小S2和总的大小S3计算将被传输流包括的多个空传输流包的总的大小S4;从总的大小S1中用总的大小S2和总的大小S3计算对空传输流包的插入间隔I1、对视频传输流包的插入间隔I2、以及对音频传输流包的插入间隔I3。多路复用单元通过插入分别适合插入间隔I1、插入间隔I2、以及插入间隔I3的多个视频传输流包、多个音频传输流包、多个空传输流包来产生传输流。
                         附图说明
通过结合附图对示例性实施例的详细描述,本发明的上述和/或其他方面和优点将会变得更加清楚,其中:
图1是表示根据本发明示例性实施例的多路复用方法的流程图;
图2是根据本发明示例性实施例的多路复用设备的方框图;
图3显示根据本发明示例性实施例产生的传输流;
图4显示根据本发明另一个示例性实施例产生的传输流;和
图5是包括根据本发明示例性实施例的多路复用设备的数据编码系统的方框图。
                         具体实施方式
在根据本发明的多路复用方法中,多路复用对每一个访问单元被执行。在视频情况下,访问单元代表一个画面,在音频情况下,代表一个帧。当访问单元是视频画面时,关于将被多路复用的视频画面的全部传输流的大小、视频传输流的大小、音频传输流的大小、空传输流的大小使用视频画面大小、视频比特率和多路复用比特率被计算。另外,对视频传输流、音频传输流和空传输流的插入间隔使用视频传输流大小、音频传输流大小、空传输流大小对全部传输流大小的比来计算。
视频传输流、音频传输流、空传输流中的每一个的包被调度单元选择以适用相应的计算的插入间隔,并且被选择的包易于多路复用。另外,为多路复用的产物的全部传输流的大小与关于将被多路复用的视频画面的计算的全部传输流的大小之间的差被计算,计算出的差用于对将被处理的当前访问单元进行调度以进行补偿。因此,恒定的传输比特率在多路复用过程中可被保持。
另外,在本发明中,四个字节的传输包额外头被插入到188字节的传输包的前面,因此产生了对于MPEG-2传输流的192字节的源包。是否附加4个字节的传输包四位额外头可被用户确定。
根据本发明的多路复用设备对每个访问单元多路复用通过音频/视频编码器存储在外存储器的特定不同区域中的音频基本流和视频基本流。为对每个访问单元(例如视频画面)执行多路复用,通过分别插入适合相应的插入间隔的节目特定信息(PIS)、空包、音频包、视频包,全部传输流被产生,并且被记录在外存储器的传输流区域中。
图1是表示根据本发明示例性实施例的多路复用方法的流程图。
在操作(全局改变)10中确定在其初始态的多路复用单元是否被激活,在操作11中确定是否使用缺省PID(包标识符)值。换句话说,PID设定条件被确定。
根据操作11确定的结果,在操作12中缺省的PID值被设置,或者在操作13中PID值被CPU设置。缺省的PID值和被CPU设置的PID值根据用户选择在装置的内部定义或从装置的外部给定。
在操作14中,PSI包和空包在系统的初始态被产生,然后被存储在外存储器的PSI/空区域。空包被插入以适合根据多路复用比特率、视频比特率、音频比特率来确定的填充间隔,因此产生传输流(TS)包。
在这个示例性实施例中,PSI包每0.1秒每三个画面被插入一次以适合填充间隔。填充间隔意指对空包的插入间隔。因为PSI包也被认作空包并被调度,所以它被插入以适合填充间隔。
在操作15中,初始多路复用信息被取回以预先计算它的固定值,存储计算的结果然后在随后的处理中使用该存储的值。
以下,计算固定值的等式和使用固定值的对象将被描述。到达时间标记偏移值根据给定的多路复用比特率预先被计算。为产生对DBAV MPEG-2传输流的192字节的源包,4个字节的TP额外头被插入到188字节的传输包的前面。是否插入4个字节的TP额外头可由用户选择。到达时间标记是其被包括在4个字节TP额外头中的30比特的到达时间信息。
等式1用来计算到达时间标记偏移值。
arrival_time_stamp_offset=(TS_SIZE*27M_CLOCK*8)/Muxing_Bit_Rate
                                     .................................(1),
其中TS_SIZE为188字节,27M_CLOCK为27MHz。
计算出的到达时间标记偏移值被预先定义为prefix_pcr_time。因此,当节目时钟参考(PCR)被使用等式2计算时,计算量减少。
PCR=ts_count*prefix_pcr_time
                                     .................................(2),
其中ts_count代表累积的TS包的数量。
在音频情况下,AUDIO_FRAME_SIZE和AUDIO_BIT_RATE保持初始设置的固定值。因此,使用AUDIO_FRAME_SIZE和AUDIO_BIT_RATE预先计算为像调度的后续处理所需要的rate_ts_audio、Audio_interval、audio_frame_rate。相应的等式如下:
audio_PES_size=AUDIO_FRAME_SIZE+PES_header_size
                                     .................................(3),
其中,在音频情况下,PES_header_size被如下计算:
PES_header_size(14bytes)=packet_code_prefix(3)+stream_id(1)+PES_packet_length(2)+
PES scrambling control,PES priority,data alignment indicator,copyright,original or copy(1)+
7flags(1)+PES header length(1)+PTS(5)
                                     .................................(4),
rate_ts_audio(bit/sec)=
(no_TS_audio*TS_SIZE*AUDIO_BIT_RATE)/AUDIO_FRAME_SIZE
                                     .................................(5),
其中,等式5的no_TS_audio如下:
no_TS_audio=audio_PES_size/MAX_PAYLOAD
                                     .................................(6)
等式6的MAX_PAYLOAD在本示例性实施例中是184字节,no_TS_audio代表每个音频帧的音频TS包的数量。
在操作17中检查是否从外部对每个访问单元进行PSI_UPDATE,在操作18中,对每个检查项更新PSI包。
在操作19中将被多路复用的访问单元(例如视频画面)等待。一旦访问单元准备好被处理并然后被处理,在操作20中将被包括在打包基本流头中的解码时间标记(DTS)和表达时间标记(PTS)被计算。
在操作21中,对每个访问单元的多路复用的调度使用视频画面大小、视频比特率和多路复用比特率被执行。
操作21将被详细描述。这里,访问单元是画面,并且对当前访问单元将被多路复用的全部传输流的大小,即total_ts_size被如下计算:
total_ts_size=(video_picture_size/video_bit_rate)*MUXING_BIT_RATE
                                     .................................(7)
在固定值,即视频PES头和自适应字段大小被加到视频画面大小之后,相加的结果被作为从188字节的TS包减去4字节的TS头的产物的184字节的有效载荷大小划分,并且全部视频传输流(TS)包的数量被计算。全部视频传输流大小通过把计算出的数量与TS包大小的188字节相乘而获得。
video_TS_size=video_πcture_size+PES_header_size
                                     .................................(8),
其中,PES_header_size如下被计算:
PES_header_size(19bytes)=packet_start_code_prefix(3)+stream_id(1)+PES_packet_length(2)+
PES scrambling control,PES priority,data alignment indicator,copyright,original or copy(1)+
7flags(1)+PES header data length(1)+PTS(5)+DTS(5)
                                     .................................(9)
全部视频TS包的数量如下被计算:
no_TS_video=(video_PES_size+ADAPTATION_FIELD_LENGTH+1)/MAX_PAYLOAD
                                     ..............................(10),
其中,MAX_PAYLOAD是184字节,no_TS_video代表对一个画面的视频TS包的数量,ADAPTATION_FIELD_LENGTH被如下计算:
ADAPTA_TION_FIELD_LENGTH(7byte)=discontinuity indicator,
random access indicator,elementary stream priority indicator,5flags(1)+
PCR(6)
                                     ..............................(11)
将被包括在当前产生的传输流中的多个视频TS包的全部大小,即size_TS_video,使用全部视频TS包的数量,即通过等式10计算的no_TS_video被如下计算:
size_TS_video=no_TS_video*TS_SIZE
                                     ..............................(12)
在本示例性实施例中,TS_SIZE是188字节。
另外,使用上述计算结果,将被包括在当前产生的传输流中的多个音频TS包的全部大小,即size_TS_audio,被如下计算:
size_TS_audio=(rate_TS_audio/MUXING_BIT_RATE)*total_TS_size
                                     ..............................(13),
其中,rate_TS_audio在操作15中已经被计算。MUXING_BIT_RATE是传输流的比特率,其以单位比特/秒来表示,rate_TS_audio是包括在传输流中的音频数据的比特率。
PSI包每三个视频画面被插入一次。换句话说,PSI包每0.1秒就被插入。因此,size_TS_psi根据PSI包是否被插入来确定,如下所示:
if(vframe_cnt%3==0)
               size_TS_psi=TS_size_3;
else
               size_TS_psi=0,
其中,TS_size_3是把188字节与3相乘的产物。当size_TS_psi不为0时,PAT、PMT和SIT被插入以适合具有最高优先级的填充间隔。
多个空传输流包(TS)的全部大小,即size_TS_stuff使用计算出的total_TS_size、size_TS_video、和size_TS_audio如下被计算:
size_TS_stufl=total_TS_size-size_TS_video-size_TS_audio
                                     ...........................(14)
接下来,对空TS包的插入间隔I1、对视频TS包的插入间隔I2、对音频传送流(TS)包的插入间隔I3使用计算出的size_TS_stuff、total_TS_size、size_TS_video和size_TS_audio如下被计算:
I1=(total_TS_size*TS_size)/size_TS_stuff
                                     ...........................(15)
I2=(total_TS_size*TS_size)/size_TS_video
                                     ...........................(16)
I3=(MUXING_BIT_RATE*TS_size)/rate_TS_audio
                                     ...........................(17)
基于计算出的插入间隔I1、I2和I3,多个视频TS包、多个音频TS包和多个空TS包被多路复用,因此在操作22中产生对当前画面的传输流。
图3和图4显示了根据本发明产生的示例性传输流。图3显示当size_TS_video大于size_TS_stuff时产生的传输流。图4显示当size_TS_video小于size_TS_stuff时产生的传输流。在图3和图4中,X轴代表时间,Y轴代表在各种包的多路复用中的优先级。在图3中,当size_TS_video大于size_TS_stuff时,优先级以PSI包例如PAT、PMT和SIT,音频包,空包,然后为视频包的次序给定。在图4中,当size_TS_video小于size_TS_stuff时,优先级以PSI包例如PAT、PMT、和SIT,音频包,视频包,然后为空包的次序给定。
尽管没有作为独立操作在图中显示,但是存在对每个访问单元(例如,视频画面)补偿当多路复用时发生的错误的操作。参照先前产生的传输流的传输比特率和多路复用的传输流包的数量,通过调整对当前传输流的产生所需要的空TS包的插入间隔I1、对视频TS包的插入间隔I2、对音频TS包的插入间隔I3的至少一个,错误补偿被执行以保持预定的传输比特率。
在两种情况下,错误补偿被执行。
I.情况1(当size_TS_video>size_TS_stuff时)
情况1是当size_TS_video大于size_TS_stuff时的情况。因此,预定的传输比特率通过调整填充间隔被保持。
当result_total_cnt>cal_total_cnt时,补偿的size_TS_stuff如下确定:
size_TS_stuff=size_TS_stuff-TS_SIZE*(result_total_cnt-cal_total_cnt)
                                     ..............................(18)
但是,当result_total_cnt<cal_total_cnt时,补偿的size_TS_stuff如下确定:
size_TS_stuff=size_TS_stuff+TS_SIZE*(cal_total_cnt-result_total_cnt)
                                     ..............................(19),
其中,result_total_cnt代表当先前画面被多路复用时被充分地多路复用的TS包的总的数量,cal_total_cnt代表在对先前画面进行多路复用之前在调度期间通过计算获得的TS包的总的数量。
在情况1中,由于通过多路复用先前画面产生的TS包的总的数量大于通过计算而估计的TS包的总的数量,所以填充间隔通过减少size_TS_stuff而被增加,因而减少对将被多路复用的画面产生的TS包的总的数量。
II.情况2(当size_TS_video<size_TS_stuff时)
情况2是当size_TS_stuff大于size_TS_video时的情况。因此,通过调整video_interval预定的比特率被保持。
在情况2中,因为作为多路复用先前画面的结果的通过计算被估计的TS包的总的数量大于产生的TS包的总的数量,所以填充间隔通过在size_TS_stuff上增加其间的差额,而被减少,因而增加产生的TS包的总的数量。因此,在保持预定的传输比特率的同时,调度能被执行。
当result_total_cnt>cal_total_cnt时,补偿的size_TS_video被确定如下:
size_TS_video=size_TS_video+TS_SIZE*(result_total_cnt-cal_total_cnt)
                                     ....................................(20)
但是,当result_total_cnt<cal_total_cnt时,补偿的size_TS_video被确定如下:
size_TS_video=size_TS_video-TS_SIZE*(cal_total_cnt-result_total_cnt)
                                     ....................................(21)
如上所述,通过对先前画面被计算的TS包的总的数量与充分产生的TS包的总的数量之间的差来补偿size_TS_stuff和size_TS_video,从而调整填充间隔和视频间隔。因此,关于先前画面发生的调度错误在当前画面的处理期间被补偿。
因为本发明对每个访问单元(例如,视频画面)执行多路复用,所以如果视频间隔被增加,则因而大量的TS_stuff被插入以完成当前画面的处理,导致TS包的总的数量上的增加。另一方面,如果视频间隔被减少,则当前画面的处理被完成得较早,少量的TS_stuff被插入,导致TS包的总的数量上的减少。
图2是根据本发明实施例的多路复用设备的方框图。图5是包括根据本发明实施例的多路复用设备的编码系统的方框图。参照图2,该多路复用设备包括:视频缓冲器31、音频缓冲器32、PSI缓冲器33、空缓冲器34、调度单元35、多路复用单元(mux)36、和监视单元37。
视频缓冲器31存储由图5所示的视频编码器53产生的视频基本流。音频缓冲器32存储由图5所示的音频编码器54产生的音频基本流。PSI缓冲器33存储如图1所示的操作14中产生的PSI包,空缓冲器34存储如图1所示的操作14中产生的空包。
调度单元35计算对应于一个访问单元的传输流的大小S1、将被传输流包括的多个视频TS包的总的大小S2、多个音频TS包的总的大小S3、以及通过从S1减去S2和S3而将被包括在传输流中的多个空TS包的总的大小S4,使用S 1、S2、S3和S4来计算对空TS包的插入间隔、对视频TS包的插入间隔、以及对音频TS包的插入间隔。调度单元35控制多路复用单元36以插入适合对空TS包的插入间隔、对视频TS包的插入间隔、以及对音频TS包的插入间隔的多个视频TS包、多个音频TS包、多个空TS包并产生传输流。
为补偿当对每个访问单元(例如视频画面)进行多路复用时发生的错误,监视单元37识别与先前画面相对应的传输流中所包括的TS包的数量,给调度单元35提供该识别的数量。调度单元35将从监视单元37提供的包括在与先前画面相对应的传输流中的TS包的数量与在对先前多路复用执行之前计算的TS包的数量相比较,并补偿当对每个访问单元(例如,视频画面)进行多路复用时发生的错误。
调度单元35根据是否PSI包被插入和根据例如填充间隔、视频间隔、以及音频间隔的条件来确定将被插入的TS包的类型,并把确定的类型通知多路复用单元36。
另外,因为存储在PSI缓冲器33中的PSI包被识别为空包,然后被调度,所以它在调度单元35的控制下,通过多路复用单元36被插入到传输流中以适合填充间隔。
在对新的视频画面首先产生的视频TS包情况下,TS头(自适应字段)和PES头以字节为单位被记录在传输流缓冲器74中,其大小足够大以产生188字节的TS包的TS头和PES头从视频缓冲器72经过DMA52被记录在传输流缓冲器74中。其后,直到新的视频画面被接收到,否则只有四个字节的TS头以字节为单位被记录在传输流缓冲器74中,以及184字节的视频基本流从视频缓冲器72经过DMA52被记录在传输流缓冲器74中。
在音频数据的情况下,每次当新的音频帧被处理的时候音频传输流被计算。在对新音频帧首先被产生的音频TS包的情况下,TS头和PES头以字节为单位被记录在传输流缓冲器74的传输流区域中,并且其大小足够大以产生188字节的传输流包的TS头和PES头从音频缓冲器73经过DMA被记录在传输流缓冲器74中。其后,直到新的音频帧被处理,否则只有TS头以字节为单位被记录在传输流缓冲器74中,184字节的音频基本流从音频缓冲器73经过DMA52被记录在传输流缓冲器74中。
以下,图5所示的包括根据本发明示例性实施例的多路复用设备的编码系统的操作将被描述。图2所示的视频缓冲器31和音频缓冲器32分别对应于图5所示的视频缓冲器72和音频缓冲器73。另外,图2所示的PSI缓冲器33和空缓冲器34对应于图5中的PSI/空缓冲器75。图2所示的调度单元35、多路复用单元36、和监视单元37对应于传输流多路复用器(TSM)60。TSM60包括总线从接口61、总线总接口62、数据存储器63、微处理器64、程序存储器65、和寄存器66。
TSM60与总线55连接并被中央处理单元(CPU)51控制。操作将被以图5所示的数字的顺序被描述。
(1)系统操作开始,程序被装入TSM60的程序存储器65中。视频解码器53和音频解码器54操作,视频基本流被存储在视频缓冲器72中,音频基本流被存储在音频缓冲器73中。多路复用需要的视频/音频参数被记录在数据存储器63和寄存器66中。
(2)一旦画面准备好信号从视频解码器53中产生,则产生传输流的多路复用如图1的流程图中所示的那样被执行。
(3)首先,将被用作固定值的PSI/空包被记录在PSI/空包缓冲器75中。
(4)TP额外头,TS头、和PES头被记录在传输流缓冲器74中。
(5)DMA52被通知将被传输的有效荷载大小和基本流缓冲器(视频、音频、和PSI/空)的源地址和传输流的目标地址。
(6)相应的基本流通过DMA52被记录在传输流缓冲器74中。
(7)当传输流缓冲器74满或在TSM60的操作期间其他错误发生时,中断信号从TSM60被传输到CPU51中。
(8)如上所述,根据本发明,对每个访问单元执行多路复用,当前访问单元被多路复用时,使用先前访问单元多路复用的结果来进行补偿,因此有效地并容易地保持了恒定的传输比特率。
本发明也能作为在计算机可读记录介质上的计算机可读代码被实现。计算机可读记录介质是任何能存储能被计算机系统其后读出的数据的存储装置。计算机可读记录介质的实例包括:只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光数据存储装置和载波。计算机可读记录介质还能分布在连接计算机系统的网络上从而计算机可读代码以分布的方式被存储和执行。
尽管参照其示例性实施例本发明已经被详细地表示和描述,但本领域技术人员应该理解,在不脱离由权利要求定义的本发明的精神和范围的情况下,可在形式和细节上的进行各种改变。

Claims (13)

1、一种多路复用方法,通过该方法,通过多路复用多个视频传输流包、多个音频传输流包、以及多个空传输流包来产生预定大小的传输流,该多路复用方法包括:
(a)计算对应于一个访问单元的传输流的大小S1;
(b)计算将被传输流包括的视频传输流包的总的大小S2和将被传输流包括的音频传输流包的总的大小S3;
(c)通过从S1中减去总的大小S2和总的大小S3来计算将被传输流包括的空传输流包的总的大小S4;
(d)使用大小S1、S2、S3和S4来计算对空传输流包的插入间隔I1、对视频传输流包的插入间隔I2、以及对音频传输流包的插入间隔I3;和
(e)通过插入分别适合插入间隔I1、插入间隔I2、插入间隔I3的视频传输流包、音频传输流包、空传输流包来产生传输流。
2、如权利要求1所述的多路复用方法,其中,对空传输流包的插入间隔I1被如下计算:
I1=(S1/S4)×(一个传输流包的大小)。
3、如权利要求1所述的多路复用方法,其中,对视频传流输包的插入间隔I2被如下计算:
I2=(S1/S2)×(一个传输流包的大小)。
4、如权利要求1所述的多路复用方法,其中,对音频传输流包的插入间隔I3被如下计算:
I3=(MUXING_BIT_RATE/rate_TS_audio)×(一个传输流包的大小),其中,MUXING_BIT_RATE代表传输流的比特率并且以单位比特/秒表示,rate_TS_audio代表被传输流包括的音频数据的比特率并且以单位比特/秒表示。
5、如权利要求1所述的多路复用方法,还包括:(f)通过参照在(a)到(e)中产生的先前传输流的传输比特率调整传输插入间隔I1、插入间隔I2和插入间隔I3中的至少一个来保持预定的传输比特率。
6、如权利要求1所述的多路复用方法,其中,访问单元在视频数据情况下是画面,在音频数据情况下是帧。
7、一种多路复用设备,该设备通过多路复用多个视频传输流包、多个音频传输流包、多个空传输流包产生预定大小的传输流,该多路复用设备包括:
调度单元,用于计算对应于一个访问单元的传输流的大小S1;计算将被传输流包括的视频传输流包的总的大小S2和将被传输流包括的音频传输流包的总的大小S3;通过从S1中减去总的大小S2和总的大小S3计算将被传输流包括的空传输流包的总的大小S4;以及使用大小S1、S2、S3和S4计算对空传输流包的插入间隔I1、对视频传输流包的插入间隔I2、以及对音频传输流包的插入间隔I3;和
多路复用单元,用于通过插入分别适合插入间隔I1、插入间隔I2、插入间隔I3的视频传输流包、音频传输流包、空传输流包来产生传输流。
8、如权利要求7所述的多路复用设备,其中,对空传输流包的插入间隔I1被如下计算:
I1=(S1/S4)×(一个传输流包的大小)。
9、如权利要求7所述的多路复用设备,其中,对视频传输流包的插入间隔I2被如下计算:
I2=(S1/S2)×(一个传输流包的大小)。
10、如权利要求7所述的多路复用设备,其中,对音频传输流包的插入间隔I3被如下计算:
I3=(MUXING_BIT_RATE/rate_TS_audio)×(一个传输流包的大小),其中,MUXING_BIT_RATE代表传输流的比特率以单位比特/秒表示,rate_TS_audio代表被传输流包括的音频数据的比特率以单位比特/秒表示。
11、如权利要求7所述的多路复用设备,其中,参照先前传输流的传输比特率通过调整对当前传输流的产生需要的插入间隔I1、插入间隔I2和插入间隔I3中的至少一个,调度单元保持预定的传输比特率。
12、如权利要求7所述的多路复用设备,其中,访问单元在视频数据情况下是画面,在音频数据情况下是帧。
13、一种计算机可读介质,其上已记录了用于执行多路复用方法的程序,通过该方法,通过多路复用多个视频传输流包、多个音频传输流包、以及多个空传输流包来产生预定大小的传输流,该多路复用方法包括:
(a)计算对应于一个访问单元的传输流的大小S1;
(b)计算将被传输流包括的视频传输流包的总的大小S2和将被传输流包括的音频传输流包的总的大小S3;
(c)通过从S1中减去总的大小S2和总的大小S3计算将被传输流包括的空传输流包的总的大小S4;
(d)使用大小S1、S2、S3和S4计算对空传输流包的插入间隔I1、对视频传输流包的插入间隔I2、以及对音频传输流包的插入间隔I3;和
(e)通过插入分别适合插入间隔I1、插入间隔I2、插入间隔I3的视频传输流包、音频传输流包、以及空传输流包来产生传输流。
CNB200510084308XA 2004-07-12 2005-07-12 产生传输流的多路复用方法和设备 Expired - Fee Related CN100461861C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040054095A KR100608061B1 (ko) 2004-07-12 2004-07-12 전송 스트림 생성을 위한 다중화 방법 및 그 장치
KR1020040054095 2004-07-12

Publications (2)

Publication Number Publication Date
CN1722833A true CN1722833A (zh) 2006-01-18
CN100461861C CN100461861C (zh) 2009-02-11

Family

ID=36010290

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200510084308XA Expired - Fee Related CN100461861C (zh) 2004-07-12 2005-07-12 产生传输流的多路复用方法和设备

Country Status (4)

Country Link
US (1) US20060007958A1 (zh)
KR (1) KR100608061B1 (zh)
CN (1) CN100461861C (zh)
NL (1) NL1029366C2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103501458A (zh) * 2013-10-17 2014-01-08 上海龙晶科技有限公司 用于解复用系统的片外动态存储器接口及数据传输方法
CN105959730A (zh) * 2016-05-27 2016-09-21 成都索贝数码科技股份有限公司 一种生成ts流的打包顺序控制方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8102878B2 (en) * 2005-09-29 2012-01-24 Qualcomm Incorporated Video packet shaping for video telephony
US8406309B2 (en) * 2005-10-21 2013-03-26 Qualcomm Incorporated Video rate adaptation to reverse link conditions
US8842555B2 (en) * 2005-10-21 2014-09-23 Qualcomm Incorporated Methods and systems for adaptive encoding of real-time information in packet-switched wireless communication systems
US8514711B2 (en) * 2005-10-21 2013-08-20 Qualcomm Incorporated Reverse link lower layer assisted video error control
US8548048B2 (en) * 2005-10-27 2013-10-01 Qualcomm Incorporated Video source rate control for video telephony
KR20120034084A (ko) * 2007-01-10 2012-04-09 콸콤 인코포레이티드 멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조
US8797850B2 (en) * 2008-01-10 2014-08-05 Qualcomm Incorporated System and method to adapt to network congestion
TWI419519B (zh) * 2009-12-22 2013-12-11 Ind Tech Res Inst 適用於多媒體串流的網路封包傳送系統與方法
KR20140070896A (ko) * 2012-11-29 2014-06-11 삼성전자주식회사 비디오 스트리밍 방법 및 그 전자 장치
US20140325023A1 (en) * 2013-04-24 2014-10-30 Cisco Technology, Inc. Size prediction in streaming enviroments
US9232177B2 (en) * 2013-07-12 2016-01-05 Intel Corporation Video chat data processing
US9819604B2 (en) * 2013-07-31 2017-11-14 Nvidia Corporation Real time network adaptive low latency transport stream muxing of audio/video streams for miracast
US9923945B2 (en) 2013-10-10 2018-03-20 Cisco Technology, Inc. Virtual assets for on-demand content generation
CN107613320B (zh) * 2017-09-20 2019-09-06 高斯贝尔数码科技股份有限公司 一种传输流复用的插包控制方法及系统
KR102001067B1 (ko) * 2017-12-28 2019-07-23 주식회사 디에스브로드캐스트 방송 신호 송신을 위한 다중화 방법 및 그 장치
WO2019132119A1 (ko) 2017-12-28 2019-07-04 주식회사 디에스브로드캐스트 방송 신호 송신을 위한 다중화 방법 및 그 장치

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1079738A (ja) * 1996-09-03 1998-03-24 Fujitsu Ltd データ転送レート制御方法及びこれを用いたデータ転送レート制御装置
US6157674A (en) * 1996-03-21 2000-12-05 Sony Corporation Audio and video data transmitting apparatus, system, and method thereof
US5864557A (en) * 1996-09-25 1999-01-26 Thomson Multimedia S.A. Method and apparatus for opportunistically transferring data in a packet stream encoder
JP2933133B2 (ja) * 1997-01-28 1999-08-09 日本電気株式会社 ディジタル映像信号多重方式および分離方式
US6233253B1 (en) * 1997-05-23 2001-05-15 Thomson Licensing S.A. System for digital data format conversion and bit stream generation
KR100555164B1 (ko) * 1997-07-25 2006-03-03 소니 가부시끼 가이샤 편집 장치, 편집 방법, 재부호화 장치, 재부호화 방법, 스플라이싱 장치 및 스플라이싱 방법
KR100252108B1 (ko) * 1997-12-20 2000-04-15 윤종용 Mpeg 압축부호화 및 복호화기를 채용한 디지털 기록 재생장치 및 그 방법
JP3338774B2 (ja) 1997-12-22 2002-10-28 エヌイーシーソフト株式会社 Mpegエンコード装置,mpegのps多重化方法及びps多重化プログラムを記録した記録媒体
US6219358B1 (en) * 1998-09-11 2001-04-17 Scientific-Atlanta, Inc. Adaptive rate control for insertion of data into arbitrary bit rate data streams
US6614843B1 (en) * 1999-04-15 2003-09-02 Diva Systems Corporation Stream indexing for delivery of interactive program guide
US6993081B1 (en) * 1999-11-23 2006-01-31 International Business Machines Corporation Seamless splicing/spot-insertion for MPEG-2 digital video/audio stream
JP2001285861A (ja) * 2000-03-29 2001-10-12 Mitsubishi Electric Corp 画像信号符号化装置
US20030200548A1 (en) * 2001-12-27 2003-10-23 Paul Baran Method and apparatus for viewer control of digital TV program start time
KR100448220B1 (ko) * 2002-10-07 2004-09-10 한국전자통신연구원 디지털 방송 송신 시스템에서의 널 패킷 삽입 방법 및 그장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103501458A (zh) * 2013-10-17 2014-01-08 上海龙晶科技有限公司 用于解复用系统的片外动态存储器接口及数据传输方法
CN103501458B (zh) * 2013-10-17 2017-04-12 上海龙晶科技有限公司 实现解复用系统的片外动态存储器的数据存储和传输方法
CN105959730A (zh) * 2016-05-27 2016-09-21 成都索贝数码科技股份有限公司 一种生成ts流的打包顺序控制方法
CN105959730B (zh) * 2016-05-27 2019-01-29 成都索贝数码科技股份有限公司 一种生成ts流的打包顺序控制方法

Also Published As

Publication number Publication date
NL1029366A1 (nl) 2006-01-16
KR100608061B1 (ko) 2006-08-02
KR20060005207A (ko) 2006-01-17
US20060007958A1 (en) 2006-01-12
CN100461861C (zh) 2009-02-11
NL1029366C2 (nl) 2006-06-07

Similar Documents

Publication Publication Date Title
CN1722833A (zh) 产生传输流的多路复用方法和设备
CN1146159C (zh) 数据多路复用器和数据多路复用方法
CN1212737C (zh) 用于活动图像专家组(mpeg)传输流的程序时钟基准数据的再生
CN1293763C (zh) 图像重放装置
CN1125543C (zh) 数字信号的多路复用方法和设备以及数字信号的记录介质
CN1162006C (zh) 数据传输与接收方法
CN1112050C (zh) 同步再生装置
CN1201596C (zh) 把数据流进行变换输出正确数据流的流变换装置
CN1233165C (zh) Mpeg编码装置和mpeg解码装置以及编码程序
CN1901656A (zh) 视频和音频重放设备及方法、输出时刻改变设备及方法
CN1291052A (zh) 传送流编码器及对传送流编码的方法
CN1794812A (zh) 一种传输流复用的方法
CN1349715A (zh) 用于转换数据流的方法和设备
CN1868213A (zh) 内容接收设备、视频/音频输出定时控制方法及内容提供系统
CN1736107A (zh) 视频发送系统、视频发送装置、视频接收装置和视频发送方法
CN1173556C (zh) 数据处理装置和数据处理方法
CN1917636A (zh) 运动图像分发系统和运动图像分发服务器
CN1949880A (zh) 数字广播接收机中的同步装置和同步方法
CN1168272C (zh) 复合数据接收装置
JP2010212996A (ja) 情報処理装置および多重化処理方法
CN1214592C (zh) 多通道数据直接内存访问系统和方法
CN101067952A (zh) 用于提供可浏览的幻灯片显示的解码数据的方法
CN1698335A (zh) 具有集成的记录权利控制的内容分发系统
CN1723704A (zh) 数据处理装置
CN1863322A (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
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090211