1、_ Copyright 2010 by THE SOCIETY OF Approved MOTION PICTURE AND TELEVISION ENGINEERS August 12, 2010 3 Barker Avenue, White Plains, NY 10601 (914) 761-1100 _ SMPTE RP 227:2010 Revision of RP 227-2007 SMPTE RECOMMENDED PRACTICE VC-1 Bitstream Transport Encodings _ Intellectual property notice Copyrigh
2、t 2010 THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 3 Barker Ave. White Plains, NY 10601 +1 914 761 1100 Fax +1 914 761-3115 E-mail engsmpte.org Web http:/www.smpte.org The users attention is called to the possibility that compliance with this document may require use of inventions covered
3、 by patent rights. By publication of this document, no position is taken with respect to the validity of these claims or of any patent rights in connection therewith. The patent holders have, however, filed statements of willingness to grant a license under these rights on fair, reasonable and nondi
4、scriminatory terms and conditions to applicants desiring to obtain such a license. Contact information may be obtained from the SMPTE. No representation or warranty is made or implied that these are the only licenses that may be required to avoid infringement in the use of this document. SMPTE RP 22
5、7:2010 Page 2 of 31 pages Table of Contents Page Foreword 4 Introduction 5 1 Scope 6 2 Normative References 6 3 Conformance Notation 6 3.1 Conforming Implementations 7 4 Background and Overview . 7 4.1 Background . 7 4.2 Overview . 7 4.3 Abbreviations 7 4.4 Definitions . 8 4.4.1 Data Access Unit Def
6、inition 8 5 MPEG-2 Transport Stream Encoding . 9 5.1 SIGNALING OF VC-1 ELEMENTARY STREAMS . 9 5.1.1 Stream Type . 9 5.1.2 Registration Descriptor . 9 5.1.3 Profile and Level Subdescriptor 10 5.1.4 Alignment Subdescriptor 12 5.1.5 Buffer Size Subdescriptor . 13 5.1.6 Other ISO/IEC 13818-1 Elementary
7、Stream Descriptors . 13 5.1.7 PMT Descriptors for Programs or Services 14 5.1.8 Still Picture Subdescriptor 14 5.2 ENCAPSULATION OF VC-1 ELEMENTARY STREAMS 15 5.2.1 PES packet length 15 5.2.2 Stream ID 15 5.2.3 Data Alignment Indicator 15 5.2.4 Time Stamps (PTS and DTS) . 16 5.2.5 Extension Flags 16
8、 5.2.6 Stream ID Extension . 16 5.2.7 Discontinuity Indicator 16 5.2.8 Random Access Indicator . 18 5.2.9 Elementary Stream Priority Indicator 18 5.2.10 Splice Countdown . 18 5.2.11 Seamless Splice Flag . 18 5.2.12 Splice Type . 19 5.3 PES PACKET PAYLOAD FORMAT HEADER . 19 5.3.1 VC-1 Simple and Main
9、 Profile 19 5.3.2 VC-1 Advanced Profile . 20 5.4 T-STD BUFFER MODEL FOR VC-1 STREAMS . 20 5.4.1 Transport System Target Decoder . 20 5.4.2 Mode of Operation 21 5.4.3 Operation of Buffer TBn 21 5.4.4 Operation of Buffer MBn: 22 5.4.5 Operations of Buffer EBn 23 5.4.6 Decoding and Presentation 23 5.4.
10、7 Decoding of first Access Unit following an Entry Point start code 24 5.4.8 Rates and Buffer Sizes . 24 6 MPEG-2 Program Stream Encoding 24 6.1 SIGNALING OF VC-1 ELEMENTARY STREAMS . 24 6.2 ENCAPSULATION OF VC-1 ELEMENTARY STREAMS 24 6.3 PES PACKET PAYLOAD FORMAT HEADER . 24 6.4 P-STD BUFFER MODEL
11、FOR VC-1 STREAMS . 24 6.4.1 Program Stream Target Decoder . 24 6.4.2 Mode of Operation 26 SMPTE RP 227:2010 Page 3 of 31 pages 6.4.3 Operation of Buffer Bn 26 6.4.4 Decoding and Presentation . 26 6.4.5 Decoding of first Access Unit following an Entry Point start code 26 6.4.6 Buffer sizes . 26 Annex
12、 A Graphics of Syntax for this SMPTE Recommended Practice (Informative) . 27 A.1 Introduction . 27 A.2 PES packet . 27 A.3 TS Program Map Section 28 A.4 Program Stream Map 29 Annex B Bibliography (Informative) . 30 Revision Notes . 31 SMPTE RP 227:2010 Page 4 of 31 pages Foreword SMPTE (the Society
13、of Motion Picture and Television Engineers) is an internationally-recognized standards developing organization. Headquartered and incorporated in the United States of America, SMPTE has members in over 80 countries on six continents. SMPTEs Engineering Documents, including Standards, Recommended Pra
14、ctices and Engineering Guidelines, are prepared by SMPTEs Technology Committees. Participation in these Committees is open to all with a bona fide interest in their work. SMPTE cooperates closely with other standards-developing organizations, including ISO, IEC and ITU. SMPTE Engineering Documents a
15、re drafted in accordance with the rules given in Part XIII of its Administrative practices. SMPTE Recommended Practice RP 227 was prepared by Technology Committee C24. SMPTE RP 227:2010 Page 5 of 31 pages Introduction The purpose of this recommended practice is to define a minimum set of rules for t
16、he carriage of a VC-1 elementary stream in MPEG-2 Systems protocols. In particular, this design is intended to provide a generic method for carrying a VC-1 video elementary stream over specific MPEG-2 transport streams, such as the ones defined by ATSC, DVB and SCTE. It is also intended to provide a
17、 generic means of carrying a VC-1 video elementary stream in an MPEG-2 Program Stream as used by the DVD Forum or the Blu-Ray consortium. One of the particular aspects of this Recommended Practice is to make sure that any private fields and private values needed in the mapping is properly scoped by
18、an identifier to avoid any collisions or ambiguity in any of these delivery networks or media. SMPTE RP 227:2010 Page 6 of 31 pages VC-1 Bitstream Transport Encodings 1 Scope This document describes the protocols for carrying video elementary streams conforming to the SMPTE VC-1 Simple, Main and Adv
19、anced Profile over MPEG-2 Transport Streams and MPEG-2 Program Streams. This document does not describe the video bit stream syntax. It describes the encapsulation and signaling of the video bit stream using the respective transport protocols. The document builds on the synchronization layer specifi
20、ed by MPEG-2 Systems, which is the fundamental mechanism for ensuring Audio/Video/Data synchronization. However, this document does not cover the policies that must be adopted at a transmission system head-end to implement a given quality level of Audio/Video/Data synchronization. Any field of the M
21、PEG-2 Transport Stream packet header or MPEG-2 PES packet header that is not mentioned in this document shall keep its default meaning as defined in ISO/IEC 13818-1:2000. 2 Normative References The following standards contain provisions which, through reference in this text, constitute provisions of
22、 this standard. At the time of publication, the editions indicated were valid. All standards are subject to revision, and parties to agreements based on this standard are encouraged to investigate the possibility of applying the most recent edition of the standards indicated below. SMPTE Standard 42
23、1M1ISO/IEC 13818-1:2000 Information Technology Generic Coding of Moving Pictures and Associated Audio Information: Systems (2nd Edition). : VC-1 Compressed Video Bitstream Format and Decoding Process ISO/IEC 13818-1:2000/Cor.2:2001(E) Information Technology Generic Coding of Moving Pictures and Asso
24、ciated Audio Information: Systems Corrigendum 2, “Buffer Model Extension”. ISO/IEC 13818-1:2000/AMD2, “Support of IPMP on MPEG-2 Systems”, 2003. 3 Conformance Notation Normative text is text that describes elements of the design that are indispensable or contains the conformance language keywords: “
25、shall“, “should“, or “may“. Informative text is text that is potentially helpful to the user, but not indispensable, and can be removed, changed, or added editorially without affecting interoperability. Informative text does not contain any conformance keywords. All text in this document is, by defa
26、ult, normative, except: the Introduction, any section explicitly labeled as “Informative“ or individual paragraphs that start with “Note:” The keywords “shall“ and “shall not“ indicate requirements strictly to be followed in order to conform to the document and from which no deviation is permitted.
27、The keywords, “should“ and “should not“ indicate that, among several possibilities, one is recommended as particularly suitable, without mentioning or excluding others; or that a certain course of action is preferred but not necessarily required; or that (in the negative form) a certain possibility
28、or course of action is deprecated but not prohibited. 1421M and VC-1 are used interchangeably in this document to refer to SMPTE 421M. SMPTE RP 227:2010 Page 7 of 31 pages The keywords “may“ and “need not“ indicate courses of action permissible within the limits of the document. The keyword “reserve
29、d” indicates a provision that is not defined at this time, shall not be used, and may be defined in the future. The keyword “forbidden” indicates “reserved” and in addition indicates that the provision will never be defined in the future. 3.1 Conforming Implementations A conformant implementation ac
30、cording to this document is one that includes all mandatory provisions (“shall“) and, if implemented, all recommended provisions (“should“) as described. A conformant implementation need not implement optional provisions (“may“) and need not implement them as described. 4 Background and Overview 4.1
31、 Background This document defines the encapsulation and signaling of VC-1 elementary streams in MPEG-2 Transport and Program Streams. In particular, this document is not concerned with the carriage of audio elementary streams or data elementary streams that may be multiplexed with the VC-1 elementar
32、y stream in the same MPEG-2 Program Stream or the same MPEG-2 Transport Stream. The synchronization of audio access units in an audio elementary stream with VC-1 video access units in a video elementary stream should be achieved by means of the synchronization layer specified by ISO 13818-1. Likewis
33、e, the synchronization of data access units in a synchronized or synchronous data elementary stream should be achieved by means of ISO 13818-1. The synchronization layer in MPEG-2 Systems is based on the reconstruction of a System Time Clock in the receiver and referencing instants on this timeline
34、by means of Decoding Time Stamp and Presentation Time Stamps. This document relies on ISO 13818-1 as a baseline layer and defines a series of allowed extensions that enable the encapsulation and signaling of VC-1 elementary streams. This results in implementations compatible with ISO 13818-1. 4.2 Ov
35、erview This document is organized in two main sections, the first one covering the carriage of VC-1 elementary streams in MPEG-2 Transport Streams and the second covering the carriage of VC-1 elementary streams in MPEG-2 Program Streams, Each section starts with a sub-section dealing with the signal
36、ing aspects. For example, in a Transport Stream, Programs are signaled using a collection of tables transmitted cyclically and known as PSI (Program Specific Information). Specifically, a Program Map Table (PMT) provides the Program details and specifics necessary for finding and decoding the compon
37、ent Elementary Streams. Also, as MPEG-2 Systems requires PES encapsulation of video data in order to generate packetized video elementary streams, the next sub-section deals with the packetization specifics for Simple, Main and Advanced Profiles. The last sub-section specifies the Hypothetical Buffe
38、r Model definition and defines the operations of this Buffer Model. This document adopts a particular method for aggregating VC-1 elementary stream data (SMPTE 421M) and VC-1 metadata (see Annex I and J in SMPTE 421M) to interface with the underlying MPEG-2 Systems packetization and synchronization
39、layer. The mapping of VC-1 elementary streams to MPEG-2 Systems uses this interface but it is not necessarily representative of the interfacing methodology that should be adopted for other transport protocols. 4.3 Abbreviations This section provides a list of acronyms used in this document. This lis
40、t is a supplement to the set of acronyms defined in section 2.1 of ISO 13818-1 and in section 4 of SMPTE 421M. SMPTE RP 227:2010 Page 8 of 31 pages A/V Audio and Video CRC Cyclic Redundancy Check DTS Decoding Time Stamp DTV Digital Television ES Elementary Stream ESCR Elementary Stream Clock Referen
41、ce PAT Program Association Table PMT Program Map Table PCR Program Clock Reference PES Packetized Elementary Stream PID Packet Identifier PSI Program Specific Information PTS Presentation Time Stamp PU Presentation Unit SCR System Clock Reference SDO Standards Development Organization STD S System T
42、arget Decoder TS Transport Stream 4.4 Definitions 4.4.1 Data Access Unit Definition The following definition for an access unit shall be applicable for both MPEG-2 Transport Streams and MPEG-2 Program Streams. An access unit is defined to be a coded representation of a single picture in a VC-1 eleme
43、ntary stream. In the case of the Advanced Profile, an access unit shall include all the coded data for a picture and any flushing bits that follows it, up to but not including the start code of the next access unit (or any stuffing bytes before it). Coded picture data represents a video frame regard
44、less whether the frame has been encoded as progressive or interlaced progressive mode, interlaced frame interlaced mode or interlaced field interlaced mode. The start of the next access unit shall be the byte of a sequence start code, an entry point start code or a frame start code. Also, if the fra
45、me is not preceded by a sequence start code and a sequence header or an entry point start code and an entry point header, the access unit shall begin with a frame start code. Otherwise, the access unit shall start with the first byte of the first of these structures (excluding any stuffing bytes) be
46、fore the frame start code. An access unit shall also include any user data start code and user data bytes at the sequence, entry point, frame or field level. The rules defining the scope of the user data constructs are described in Annex F of SMPTE 421M. In the case of Simple Profile or Main Profile
47、, an access unit shall include all the coded data for a video frame, including the VC-1_SPMP_PESpacket_PayloadFormatHeader() bytes that precedes it as well as SMPTE RP 227:2010 Page 9 of 31 pages any flushing bits present to ensure byte alignment that follows it, up to but not including the start co
48、de of the next access unit (or any stuffing bytes before it). The start of the next access unit shall be the first byte in the next VC-1_SPMP_PESpacket_PayloadFormatHeader() which is either a sequence start code or a frame start code. 5 MPEG-2 Transport Stream Encoding For the description of coded bit streams this document follows the conventional approach used by ISO 13818-1. Data fields are represented using a different font format (e.g. data_element). The bit stream syntax is clearly defined in separate tables that use a C-like pseudo-code notation t