1、G亘ICS 35.040 L 71 共和国国家标准中华人民GB/T 20090.1-2012 先进音视频编码部分:系统信息技术第1Information technology-Advanced coding of audio and video一Part 1 : System 2013-06-01实施2012-12-31发布发布中华人民共和国国家质量监督检验检度总局中国国家标准化管理委员会/ 岛-mh饰可句句陆,黝川G/T 20090.1-2012 目次前言.皿引言.凹1 范围2 规范性引用文件-3 术语和定义24 符号和缩略语75 位流语法的描述方式96 传输流位流要求107 节目流位流的要
2、求568 节目和节目元素描述子709 对多路复用流语义的约束创刊与GB/T17975的兼容性. . . . . . . . . . . . . 88 附录A(资料性附录)系统时间信息时钟恢复模型及应用指南四附录B(资料性附录)系统符合性.附录C(资料性附录)引入抖动的网络与AVS解码器的接口99附录D(资料性附录)语法的图形表示102附录E(资料性附录)通用信息106附录F(资料性附录)拼接传输流 107 附录G(资料性附录)数据传输应用110附录H(资料性附录)数字存储媒体命令与控制(DSM-CC 111 附录1(规范性附录)CRC解码器模型 121 附录J(资料性附录)系统解复用过程122
3、附录K(资料性附录)系统复用过程125附录L(资料性附录)节目特定信息129附录M(资料性附录)私有数据138回-GB/T 20090.1-2012 前言GB/T 20090(信息技术先进音视频编码分为以下9个部分:第1部分:系统;第2部分:视频;一一第3部分:音频;一一第4部分:符合性测试;一一第5部分:参考软件;一一第6部分:数字版权管理;一一第7部分:移动视频;一一第8部分:在IP网络上传输AVS;一一一第9部分:AVS文件格式。本部分为GB/T20090的第1部分。本部分按照GB/T1. 1-2009给出的规则起草。本部分由中华人民共和国工业和信息化部提出。本部分由全国信息技术标准化技
4、术委员会(SAC/TC28)归口。本部分起草单位:中国科学院计算技术研究所、清华大学、北京算通科技发展有限公司、中国电子技术标准化研究院、北京大学、华中科技大学、北京邮电大学、联合信源数字音视频技术(北京)有限公司、展讯通信(上海)有限公司。本部分主要起草人:陈熙霖、杨士强、高鹏飞、霍龙杜、高麟鹏、丁亚强、杨志杰、林福辉、牟伦田、王啸、朱光喜、林永兵、贺玉文、喻莉、王雷、冯博、张帧睿、杨昭辉、杨洁、汪恒晶、高文、黄铁军、卢汉清。E GB/T 20090.1-2012 51 0.1 综述GB/T 20090的本部分论述了如何将一路或多路音频、视频位流或其他基本数据流合成单路或多路复用流,用于存储
5、和传送。系统编码遵循本部分指定的语法和语义规则,并提供了使解码器缓冲区能在一定范围的补偿和接收条件下进行同步解码的信息。系统编码包含两种形式:传输流和节目流,分别针对不同的应用加以优化。本部分中定义的传输流和节目流提供了编码语法,该语法对于同步解码及展现音频、视频信息是充分且必要的,同时保证了解码器中数据缓冲区不发生上溢和下溢。该语法中应至少包含以下两种信息之一:a) 有关展现编码的音频和视频数据的相对时间戳,以及有关数据流本身传送的比特率信息;b) 有关解码和展现编码的音频和视频数据的时间戳,以及有关数据流本身传送的时间戳信息。传输流和节目流都是面向分组包的多路复用流。单一音频和视频基本流的
6、多路复用过程见图1。视频和音频数据可按包括GB/T20090. 2和GB/T 20090. 3等部分进行编码,之后,压缩数据被打包以形成PES分组包。在形成PES分组包的过程中,当独立使用传输流或节目流的PES分组包时可能会加入所甫的描述信息;而PES分组包需要进一步与系统层信息结合形成传输流或节目流时,不包含这一信息。本部分覆盖了图l中竖直虚线右边所示的处理过程。图1多路复用过程简图本部分定义的节目流是由具有共同时间基准的一个或多个PES分组包合并而成的单一流。有些应用中要求包含单个节目的基本流是未多路复用的分离流。对这些应用,基本流也可作为分离的节目流编码。每一基本流含一个节目流且具有共同
7、时间基准。在这种情况下,不同流中SCR宁段的编码值应一致。所有的基本流和单一节目流都可被同步解码。节目流被设计用于相对无差错环境中,且适用于诸如交互式多媒体等应用。WH iH分组包长度可变。传输流是由一个或多个节目组成的单一流,且这屿节日可包含-个或多个不riJfH (O Sign(x) = 0 x= =0 -1 x大于= 大于或等于/le飞V刊r吧elJ口在GB/T20O90. 2二2006的表B.4、表B.5中定义,bbv _ buffer _ size携带在GB/T 20090. 22006的7.2.2.1描述的序列头中。一对于GB/T17975. 2位流,目标解码器的缓冲模型见GB/T
8、17975.1 0 大小为BSmux= 5 ms X Rmax profile, leve口的MBSn的一部分被分配为缓冲区以允许复用操作,剩下的部分用作BSoh还可能供初始化复用操作使用。注:PES开销的缓冲区空间由7.2.4定义的PES-STD在PES流中直接作出限制。利用PES流来构造传输流是可能的。d) 主缓冲区一一音频青频主缓冲区大小BS)BSn定义如下:飞圃-一-一GB/T 20090.1-2012 BSn = BSmux十BSdec+ BSoh = 3 584字节解码缓冲区BSdec的访问单元大小和PES分组包开销缓冲区BSoh受下式限制:BSdec + BSoh = 2 848
9、字节3 584字节缓冲区的一部分(736字节)被分配作为缓冲区以允许多路复用操作。余下的2 848字节由访问单元缓冲区BSdec和BSoh及附加多路复用操作共享。一一系统用于系统数据的主缓冲区B,归大小为1536字节。视频对GB/T20090. 2视频基本流,数据由地漏方式从MBn传送到EBn。泄漏方式对于基准档次:Rbxn = Rmax profile, levelJ 式中:Rmax profile , levelJ 定义见GB/T20090. 2-2006的表B.4、表B.5。. ( 5 ) 如果MBn中有PES分组包有效负载数据且缓冲区EBn不满,PES分组包有效负载数据以速率Rbx从M
10、Bn传送到EBn。若EBn满,数据不从MBn中移出。当一个数据字节从MBn传送到EBn所有紧接在该字节之前且位于MBn中的PES分组包头字节被立即移出并丢弃。当MBn中无PES有效负载数据时,数据不从MBn中移出。所有进入MBn的数据从中出来。所有PES分组包有效负载字节在离开MBn的瞬时进入EBn0 访问单元移出对于每一基本流缓冲区EBn和主缓冲区队,在缓冲区中时间最长的访问单元An(j)的所有数据在时刻tdn(j)被立即移走。当显示单元有足够的缓冲并且访问单元An(j)的所有数据都已进入EBn或民,解码器开始解码,此时刻即为最早解码时间tdn(j )。对于音频信号,所有存储在访问单元之前的
11、或嵌入在访问单元数据中的PES分组包头和访问单元同时移出。访问单元移出后立即解码为展现单元。系统数据对于系统数据,只要缓冲区B,y,中至少有一个字节的数据,数据以速率R,y,从主缓冲区B叮当中移出。R,y, = max (80 000 bi t/ s , transport_ra te (i)十500)(6 ) 式中:transport_rate( i)一一编码在transport_rate宇段中的传输率,以位每秒(bit/s)为单位来度量;一一传输率宇段的最后一个字节的索引。注:在高传输率情况下,增加R,y,的目的在于允许增加节目特定信息的数据速率。低延迟在视频序列扩展中的low_delay
12、置汀时(见GB/T17975. 2、GB/T20090.2),缓冲区EBn可能下溢。此时,当在时刻tdn(j)检查T-STD基本流缓冲区EBn时,访问单元的整个数据可能不在EBn中。当这一情况出现时,缓冲区将在每隔两个图像场周期重复检查,直到数据进入缓冲区。此时整个访问单元应瞬时从缓冲区EBn移走,缓冲区EBn将不会发生上溢。当low_delay_mode标志置汀时,EBn的下溢允许无限制地连续出现,T-STD解码器将在tdn(j)从缓冲区EBn移出访问单元。注意解码器可能不按display_ time的指示重建正确的展现时间,直到缓冲区EBn的下溢终止且在位流中找到relative_disp
13、lay_time。特技模式当含有B图像访问单元起始分组的PES分组包头中的DSM一Trick_mode标志为汀且trick_mode_control字段为001(慢动作)或010(冻结帧)或100(慢倒),B图像访问单元不从视频数据缓冲区EBn中移出直到该图像的所有场的最后一次解码和展示。场和图像的重复展现在6.3.8中的慢15 GB/T 20090.1-2012 动作、慢倒和field_id_cntrl中定义。访问单元在规时间之内及时地从EBn移出,这取决于rep_cntrl的值。当包含图像起始码的第一个字节的PES分组包头中的DSM_trick_mode标志置汀时,trick_mode 状
14、态在PES分组包中图像起始码从缓冲区EBn中移走时为真,且保持到DSM_t rick_ mode标志为0的PES分组包头被T-STD接收。特技模式状态为真时,缓冲区EBn可能下溢,而来自一般流的所有其余限制均保留。6.2.5 解码在BlBn以及EBlEBn中缓冲的基本流被解码器DlDn瞬时解码,可在T-STD输出端展现之前在重排序缓冲区。IOn中被延迟。仅当一些视频访问单元不符合播放顺序时才使用重排序缓冲区,这些访问单元在显示前应重排序。特别地,若PnCk)是一帧或多帧B图像前的一帧I图像或P图像,在展现前它应在重排序缓冲区。n中被延迟。在当前国像被存储之前展现先前存储在On中的图像。Pn(k
15、)被延迟到下一I阁像或P图像的解码时刻。当它被存储在重排序缓冲区中时,后续的B图像被解码和显示。二展现单元PnCk)在tpnCk)时展现。应注意从视频基本流的开始就需使用足够的重排序延迟以满足整个流的需求。示例.开始仅包帘I和P图像jfl后来包台归因像J!Ttt E t汁始uJr,;j包括l在-rIlJ(延迟GB/T 17975.2或GB/T200O. 2详细解择视顿图像重排序巳6.2.6 展现解码系统的功能是从压缩敢把重建展现单元J:在正确的展现时间Il:iJ播放。尽管实际音频和视频播放设备在一定程度上有着不同的延迟及可能(t1rr.处理或输出方式造成的延迟,系统目标解码器将这些延迟均假定为
16、0。在图6的TSTD中一个视频展现单)G(一个图像)在展现时间tJ ( k)瞬时播放。在T-STD中,音频展现单元在它的展现时间1)1(k)开始输出.此时解码器瞬时播出第一个样本。展现单元中的后续样本以音频采样字顺序播出。6.2.7 缓冲区管理传输流的构造应满足本节的条件。本节使用STD中定义的记号。/ TBn和TB,y,不应发生三溢,每秒至少一次为空。Bn不应上溢或下溢,Bys不应上溢。除非视频序列扩展中的低延迟标志被置为,1 (见GB/T20090. 2-2006中的7.2.2.1或GB/T 17975.2一2000中的6.2.2.3)或trick,_mode状态为真,EB不应下溢。当传送
17、方式为泄漏方式时,MBn不应上溢,且每秒至少一次为空。EBn不应上溢。除非是静止图像视频数据,通过STD缓冲区的任意数据的延迟应不大于1s。明确地说,对所有j及访问单元An(j)中字节1,有tdnCj)一tCi)l。16 对静止图像视频数据,所有j和访问单元AnCj)中的所有字节1,延迟限制为tdnCj)-tCi)60s。上溢和下溢的定义假定Fn(t)是T-STD缓冲区Bn在某个瞬间的占用程度。在t=t(1)前的瞬时,FnCt)=O。若对所有的t和日,Fn (t)BSn 则不发生上溢。若对所有的t和n,圃-GB/T 20090.1一2012。Fn(t),则不发生下槛。6.3 传输流语法语义规范
18、以下语法描述了一个字节流。传输流分组包长度为188字节。传输流语法图形表示参见附录Do6.3.1 传输流传输流见表10表1传输流语法位数助记符AVS_transport_streamC) do 、transport_packet(戈/ / whileC nextbit钊)= = sync_byte) 6.3.2 传输流分组包传输流分组包见表20表2传输流分组包i台法位数助记符transport_packet( ) sync_byte 8 bslbf transport_error _indicatot bslbf payload_unit_star(二mdicatOf、/ bslbf tran
19、sport_priority j bslbf PEIT_indicator 、/13 uimsbf transport_scrambling_control 2 bslbf adaptation_field_control 2 bslbf continuity_counter 4 uimsbf ifC adaptation_field_control = = 10 11 adaptation_field_control = = 11) adaptation_fieldsC) ifCadaptation_field_control = = 01 11 adaptation_field_contr
20、ol = = 11) for(l = 0; i 0) discontinuity _indicator bslbf 19 、.GB/T 20090.1-2012 表5(续)语法位数助记符random_access_indicator bslbf elementary _stream_priority _indicator bslbf PCR_f1ag bslbf OPCR_f1ag bslbf splicing_pointer _f1ag bslbf avs_specific_transport_data_f1ag bslbf adaptation_field_extensio_flag bs
21、lbf 山PCR_flag= = 1) prog-aEZLClock-rtfemce base 33 uimsbf reser,ved / 6 bslbf 、prograOl_c1ock_reference_extension 9 uimsbf ifWPCR f1 ag =二1H original_program_c1ock_refer;ence_b能f33 uimsbf reserved 6 bslbf original_program_clock_reference extension 9、uimsbf if( splicing_point_flag工:=l) splice_coun创ow
22、n8 tcimsbf if( avs_sp时ific_tr . 一一GB/T 20090.1-2012 在PEID值为OxOOOO的传输流分组包中携带的节目关联表的更新版本中加以描述。这些段均用到值为OxOO的table_id。在PEID值为OxOOOO的传输流分组包中只允许table_id值为OxOO的段。要使节目关联表的新版本生效,所有带新version_number及currentnext_indicator置1的段(在last_section_number中指出)应离开T-STD中定义的B,归,见6.2。当用于结束表的那个段的最后一个字节离开B,y,后,新版本的节目关联表开始生效。一旦
23、传输流中一个或多个基本流被加扰,就应传送PEID值为Ox0001且包含一个完整的条件接收表CCAT)的传输流分组包。表中包含与加扰流相关联的CA_descriptor。传输的传输流分组包共同组成一个条件接收表的完整版本。current_next_indicator置1的表的最近传送版本总是作用于传输流中的当前数据。在加扰中使现有表元效或不完整的任何变动应在条件接收表的一个更新版本中加以描述。条件接收表的段都应使用值为Ox01的table_id。在PEID值为Ox0001的传输流分组包中只允许table_id值为Ox01的段。要使CAT的新版本生效,所有带新V巳rsion_number及curr
24、ent_next_indicator置1的段(在last_sectionnumber中指出)应离开T-STD中定义的Bsys见6.2。当用于结束表的那个段的最后一个字节离开B,y,后,CAT开始生效。每个传输流应包含一个或多个这样的传输流分组包,其PEID值在节目关联表中被标记为包含传输流节目映射段的传输流分组包。节目关联表中列出的每个节目在一个唯一的TS_program_map_section中描述。每个节目将在该传输流中完全定义。在合适的节目映射表段中有关联elementary_ PEID宇段的私有数据是该节目的组成部分。其他私有数据可能存在于传输流中但未在节目映射表CPMT)中列出。cu
25、rrentnext_indicator置1的TS_program_map_section的最近传送版本将总是作用于传输流的当前数据。传输流中携带的任何节目的定义的任何改动应在携带于传输流分组包中的节目映射表的相应段的更新版本中加以描述,这些传输流分组包的PEID值被标识为用于特定节目的program_map_PEID。传送给定TS_program_map_section的所有传输流分组包具有相同的PEID值。在节目连续存在期间,包括它的相关事件,该program_map_PEID不应改变。节目定义不应该跨过多于一个的TS_program_map_section。在具有一个新version_nu
26、mber且currentnext_indicator为1 的段的最后一个字节离开B,y,时,TS_program_map_section的新版本开始生效。table_id值为Ox02的段应包含节目映射表信息。这些段可能携带于有不同PEID值的传输流分组包中。网络信息表是可选的,其内容也是专用的。如果存在的话,它将携带于一些传输流分组包中。这些传输流分组包有相同PEID值,称为network_PEID0 network_PEID值由用户定义,且如果存在,将出现在节目关联表中的保留program_numberOxOOOO之下。若存在网络信息表,它将以一个或多个pnva te_section的形式出
27、现。本部分定义的PSI表的最大字节数为1024字节,private_section最大字节数为4096字节。传输流描述表CTSDT)是可选的。如果存在该表,则它将被封装在PEID值为Ox0002的传输流分组包中,该表将作用于整个传输流。传输流描述段的table_id将使用表27中规定的Ox03。其内容限制为表40中规定的描述子。当用于结束表的那个段的最后一个字节离开B,y,后,该传输流描述段开始生效。不论是本部分定义的还是专用的,对PSI数据中的起始码、同步字节或其他位模式的出现没有限制。关于如何使用PSI的说明信息参见附录L。6.5.1 指针pointer_field语法定义见表25047
28、、GB/T 20090.1-2012 表25节目特定信息指针语法位数助记符AU l e -E P且r E AE n -E O nr 8 uimsbf 6.5.2 指针语法中各字段的语义定义指针字段pointer _field 该字段为8位,其值表示紧跟其后的直到出现在传输流分组包的有效负载数据中的第一个段的首字节为止的字节数(因此值OxOO表示该段紧跟在!Joilller_ficlcl之后开始)。当至少有一个段开始于给定的传输流分组包中时,payload_unit_,;tart_indicatorr:v.青为1且传输流分组包的有效负载数据的首字节应包含该指针,见6.3.2。叮没有段开始f给定的
29、传输流分组也巾时,pay!(予ad_unitstart_indicator 应置为0且传输流分组包的有效负辑数据将不传送指针。6.5.3 节目关联表节目关联表给出了program_n l m nfr与携带节A:义的传输?在外m暂的PE!f)值的对应关系。program_number)主与一,个节目中fj元以的战的扫、LJ整个表包含干具有下列语法的丰个ll名个段之中。它可以被分,1;1以I i川多个段。见表2Go表26节目关联段i吾r位数Jl)j i己衍program_associaticJn_se(,tio口()table_id _ _ _ _ _=r 才8 uimsbf 一bslbf 下hs
30、lbf 2 bslbf 12 uimsbf 16 uimsbf 2 bslbf 5 uimsbf bslbf 8 uimsbf 8 uimsbf 16 uimsbf 3 bslbf 13 uimsbf section_syntax_indicatllr 0 reserved section_length transport_stream_id reserved version number current next indicator section number last section number for(i=O;i;缓冲民$在用流的第1个字节第j个存取单元第k个展现单元口) 1 ( t
31、 ,PnCk) tPnCk) 系统控制。国7节目流系统目标解码器框图7.2. 1 系统时钟频率P-STD中引用的时间信息携带于本部分定义的一些数据字段中。在6.3. 6及7.3.3中对这些字段作了定义。这些信息被编码为系统时钟的采样值。系统时钟频率的值以赫兹(Hz)为单位且应满足式(20):27 000 000 -810system_clock_frequency27 000 000 + 810 ( 20 ) 式中:system_clock_frequency一一-随时间的变化率小于或等于75X 10-3 Hz/s。57 , GB/T 20090.1一2012在本部分中使用记号system_c
32、lock_frequency表示满足以上要求的时钟频率。为了表达方便,出现SCR、PTS或DTS的方程所得到的时间值均为(300X 233/ system_clock_frequency)秒的整数倍。这是因为SCR时间信息被编码为33位的系统时钟频率的1/300及9位余数,而PTS与DTS被编码为33位且计数频率为系统时钟频率的1/300。7.2.2 节目流系统目标解码器的输入来自节目流的数据进入系统目标解码器。第i个字节在时刻t(i)进入,通过对输入的系统参考时钟(SCR)字段及编码在分组包头中的program_mux_rate宇段进行解码可从输入流中恢复该字节进入系统目标解码器的时间。式(
33、21)定义的SCR分两部分编码:一部分以系统时钟频率的1/300周期为单位,称为system_clock_reference_base,见式(22);另一部分以系统时钟周期为单位,称为system_clockreference_ext,见式(23)。在下文中,这些字段中的编码值被表示为SCRbase(i)及SCR_ext(i)。SCR字段中编码值表示时间t( i) ,其中l指的是包含system_clock_reference_ base宇段最后一位的字节。特别地:SCR(i) = SCR_base(i) X 300十SCR_ext(i)( 21 ) 式中:SCR_base(i) = (sys
34、tem_clock_frequencyX t(i)DIV 300)% 233 . ( 22 ) SCR_ext(i) =(system_clock_frequencyX t(i)DIV 1% 300 ( 23 ) 式(22)、式(23)中:system_clock_freque时y系统时钟频率;) I /t、牛L以秒为单位指出传输流中第i个字节进入系统目标解码器的时间。式(24)给出了输入到达时间t(i) ,对其余所有字节均从SCR(i)及数据到达速率构造。其中每一个节目流分组包的到达速率由该节目流分组包头中program_mux_rate宇段表示。t( i) = SCR( i) / syst
35、em_clock_frequency十(i- i)/(program_mux_rate X 50) ( 24 ) 式中:I 节目流分组包头中包含system_clock_reference_base宇段的最后一位的字节索引;节目流分组包中任何字节的索引,包括节目流分组包头;一一以系统时钟为单位的系统参考时钟基础和扩展宇段的编码值;SCR(i) program_ mux_rate-7. 3. 3中定义的宇段。在传输完个节目流分组包的最后字节之后,可能会有一个时间间隔。在这期间,没有字节被传送到P-STD的输入。7.2.3 缓冲来自基本流n的PES分组包数据,传送至流n的输入缓冲区队。字节1从ST
36、D到Bn的传输是瞬时的,从而字节l在时刻t(i)进入大小为BSn的流n的缓冲区。节目流的节目流分组包头、系统头、节目流映射、节目流目录或PES分组包头中的字节,诸如SCR、DTS、PTS和packet_l巳ngth等字段,不被送入任何缓冲区,但可能被用于控制系统。从BSj到BSn的输入缓冲区大小由在式(18)和式(19)的语法中的P-STD缓冲区大小参数给出。在解码时刻tdn(j) ,所有在缓冲区中时间最长的访问单元An(j)以及任何在时刻tdn(j)出现在缓冲区中的数据之前的填充字节,在时刻tdn(j)被立即移走。解码时刻tdn(j)由DTS或PTS于段指定。紧跟在访问单元j之后的元编码DT
37、S或PTS字段的访问单元的解码时间tdn(j十l),tdn(j十2),可从-一GB/T 20090.1-2012 基本流信息推导得出,见GB/T20090. 2、GB/T20090. 3、GB/T17975. 2、GB/T17975. 3以及GB/T1719 1. 2或GB/T1719 1. 30当访问单元从缓冲区中移出时被立即解码为展现单元。节目流的构造和t(i)的选择应使得大小为BS1到BSn的输入缓冲区在节目流系统目标解码器中不发生上溢和下溢。即对于所有的t和n:。三三Fn (t) BSn 以及在t=t(O)前的瞬间:Fn(t)=O F n (t)是PSTD缓冲区Bn的瞬间占用度。该条件
38、的一个例外是,当视频序列头中的low_delay标志被设定为0,见6.2.7,或trickmode的状态为真时,PSTD缓冲区Bn可能会下溢。对所有节目流,除非是静止图像视频数据,系统目标解码器输入缓冲区引起的延迟应不大于1s。输入缓冲区延迟是指一个字节从进入缓冲区到它被解码的时间差值。特别地,对于包含在访问单元中的所有数据,在没有静止图像视频数据的情况下,该延迟受以下约束:tdn(j) -t(i)1 s 而在有静止图像视频数据的情况下,该延迟受以下约束:tdn(j) - t(i) 60 s 对节目流,每个分组包的所有字节均应在其后续包之前进入PSTD。若视频序列扩展中的low_delay标志
39、置,1 (见GB/T20090. 2-2006的7.2.2.1),BBV缓冲区可能下溢。对于这种情况,当在tdn(j)所规定的时刻对基本流缓冲区民进行检查时,该访问单元的全部数据未必已经在Bn中。当此情况出现时,应在两个图像场周期间重新检查缓冲区,直到整个访问单元的数据完全进入民,此时整个访问单元将从Bn中立即移出。BBV缓冲区下溢允许无限制连续发生。PSTD解码器应在与上段所述及编码在该位流中的DTS或PTS值一致的最早时刻从Bn中移去访问单元数据。直到BBV缓冲区下溢终止,且在该位流中找到PTS或DTS字段,解码器才能够按DTS和PTS的规定重建正确的解码和显示时间。7.2.4 PES流构
40、造一个由连续的PES分组包组成的数据流是可能的。其中的每个PES分组包含有同一基本流的数据且具有相同的stream_id值,这种流称为PES流。一个PES流的PESSTD模型与节目流的模型一样,除了用基本流参考时钟(ESCR)取代SCR,用ES_rate取代program_mux_ra te。解复用器只把数据送到一个基本流缓冲区。PESSTD模型中缓冲区的大小BSn定义如下:a) 对于GB/T17975.2或GB/T20090. 2视频:BSn = bbvmax profile, levelJ十BSohBSoh = (1/750) s X Rmax profile, leve口,其中bbvmo
41、x profile, levelJ和Rmoxprofile, levelJ分别是GB/T 17975.2一2000的表813和表814中定义的每种档次或GB/T20090. 2-2006的表B.4和表B.5中定义的每种档次和等级的最大BBV大小和比特率。BSoh被分配用作PES分组包头的开销。b) 对于GB/T17191. 2视频:BSn = bbvmax + BSoh BSoh = (1/750) s X Rmax其中Rmax和bbvmax分别代表GB/T17191. 2中受限参数位流的最大比特率和最大bbv buffer size。59 、-GB/T 20090.1一2012c) 对于GB
42、/T1719 1. 3、GB/T17975.3或GB/T20090. 3音频:BSn =2848字节7.2.5 解码和展现节目流系统目标解码器的解码和展现分别与6.2. 5及6.2.6中定义的传输流系统目标解码器相同。7.3 节目流语法语义规定以下语法描述了一个字节流。节目流语法的图形表示参见附录D。7.3.1 节目流节目流见表320表32节目流语法位数助记符A VS_program_strer刊n()do pack() while( nextbits( ) = = pack_j川1叫出.)A VS_program_end_code 32 bslbf 7.3.2 节目流中各字段的语义定义AVS
43、节目终止码A VS_program_end_code 一个值为0000OO(O 00000000 0000 0001 1011 1001 (Ox000001四)的位串,用来终止节目流。7.3.3 节目流分组包节目流分组包见表33,节目流分组包头见表34。表33节目流分组包l吾法位数助记符pack( ) pack_header( ) while( nextbits() = = packet_start_code_prefix) PES_packet( ) 60 , .-GB/T 20090.1-2012 表34节目流分组包头五口法位数助记符pack_header( ) pack_start_co
44、de 32 bslbf 01 2 bslbf system_c1ock_reference_base 32. . 30 J 3 bslbf marker bit bslbf system_c1ock_reference_base29. . 15J 15 bslbf marker bit bslbf system_c1ock_reference_base14. . OJ 15 、bslbf marker bit bslbf system_clock_reference_extension 9 uimsbf marker_bit bslbf program_mux I, ate 22 limsbf
45、 marker bit bslbf marker_bit bsJbf reserved 5 bslhf pack_stuffing_length 3 uimsbf for( i= 0; i9. 9(,Hz和60Hz,对应的 SCFR值分别为1126125-125000、1080000、900900、900000、540000、45045和450t值。表A.1再复用策略策略delaYcomt 早delaYmin 晚delaYmex 适中delaY,g 在设计-个系统时,对于编码器和复用器应该采用何种策略可能需要专用的协定,因为这将影响到执行任何附加的再复用操作的能力。在本部分中并未对复用抖动所允
46、许的界限作出规定。然而,在好的系统中,抖动不应超过5%。在包括特殊考虑的再复用器的系统中可能需要确保传输流中信息的一致性。这对PSI和不连续点尤为重要。PSI表中的改变可能需要以某种方式被插入到传输流中,从而后续的再复用器不再移动它们直到该信息不再正确。示例:在有些情况下,变动所影响的数据的PMT段的新版本在5ms中不应该被传送。类似地,编码器和复用器应避免在不连续点前后5ms窗口内插入relative_display_time。A.6 网络抖动情形下的时钟恢复对于接收到的参考时钟时间戳存在明显抖动的应用,解码器的设计有多种选择。解码器如何实现从很大程度上取决于解码输出信号特征和输入信号及抖动特征的需求。不同应用中的解码器对恢复的系统时钟的精确性和稳定性的要求也不同,而且所要求的稳定性和精确性被认为会沿单个轴下降。该轴的一个端点可以被认为是那些直接利用重建后的时钟来合成用于1昆合视频中的色度副载波的应用。如上所述,该需求通常存在于具有精确时钟恢复类型的展示视频场合。这样,每个编码图像仅被展现一次,且输出是符合可适用需求的复用视频。在该情况下,色度副载波、像素时钟及帧速
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1