1、 Copyright 2009 by THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 3 Barker Avenue, White Plains, NY 10601 (914) 761-1100 Approved May 4, 2009 Table of Contents Page Forward . 2 Intellectual Property 2 1 Scope 3 2 Conformance Notation 3 3 Normative References 3 4 Glossary of Acronyms, Terms a
2、nd Data Types 4 5 Overview . 4 6 MXF Encoders Locating Data Access Units 4 6.1 Advanced Profile. 4 6.2 Simple Profile and Main Profile. 4 7 Data Access Units in the MXF Generic Container 5 7.1 Frame Wrapping . 5 7.2 Clip Wrapping 5 8 Key-Length-Value Coding. 5 8.1 Essence Element Key. 5 8.1.1 Essenc
3、e Element Count Byte 14 . 6 8.1.2 Essence Element Type Byte 15. 6 8.1.3 Essence Element Number Byte 16 6 8.2 Length . 6 8.3 Value . 6 8.3.1 Frame-wrapped. 6 8.3.2 Clip-wrapped. 6 9 SMPTE Universal Labels for VC-1 7 9.1 Essence Container UL 7 9.2 Picture Essence Coding UL 7 10 VC-1 Picture Essence De
4、scriptor . 8 10.1 VC1InitializationMetadata . 9 10.2 Key Value 9 10.3 Length Value. 10 11 Pre-Change. 10 12 Index Tables 10 12.1 Indexing BI-Pictures and Skipped-Pictures 10 Annex A Bibliography (Informative) 11 Page 1 of 11 pages SMPTE 2037-2009SMPTE STANDARD Mapping VC-1 into the MXF Generic Conta
5、iner SMPTE 2037-2009 Page 2 of 11 pages Foreword SMPTE (the Society 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
6、. SMPTEs Engineering Documents, including Standards, Recommended Practices 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 orga
7、nizations, including ISO, IEC and ITU. SMPTE Engineering Documents are drafted in accordance with the rules given in Part XIII of its Administrative Practices. SMPTE Standard 2037 was prepared by Technology Committee 31FS. Intellectual Property At the time of publication no notice had been received
8、by SMPTE claiming patent rights essential to the implementation of this Standard. However, attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. SMPTE shall not be held responsible for identifying any or all such patent rights. SMPTE 20
9、37-2009 Page 3 of 11 pages 1 Scope This standard defines how VC-1 bitstreams shall be mapped in the MXF Generic Container (SMPTE 379M). VC-1 defines three possible profiles for compliant bitstreams: Simple, Main and Advanced. All of these profiles are supported by this standard. VC-1 bitstreams comp
10、rise VC-1 encoded Pictures and both intra-coding and inter-coding mechanisms can be used. Both coding mechanisms are supported in this standard. This standard maps the VC-1 encoded Pictures as either frame-wrapped or clip-wrapped using the mechanisms defined in SMPTE 379M, and both progressive and i
11、nterlaced Picture representations are supported in this standard. This standard defines the KLV coding, the Essence Container Universal Label, the Essence Compression Universal Label and the Essence Descriptor to be used when wrapping VC-1 bitstreams in the MXF Generic Container. 2 Conformance Notat
12、ion Normative text is text that describes elements of the design that are indispensable or contains the conformance language keywords: “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 editorial
13、ly without affecting interoperability. Informative text does not contain any conformance keywords. All text in this document is, by default, normative, except: the Introduction, any section explicitly labeled as “Informative“ or individual paragraphs that start with “Note:” The keywords “shall“ and
14、“shall not“ indicate requirements strictly to be followed in order to conform to the document and from which no deviation is permitted. The keywords, “should“ and “should not“ indicate that, among several possibilities, one is recommended as particularly suitable, without mentioning or excluding oth
15、ers; or that a certain course of action is preferred but not necessarily required; or that (in the negative form) a certain possibility or course of action is deprecated but not prohibited. The keywords “may“ and “need not“ indicate courses of action permissible within the limits of the document. Th
16、e keyword “reserved” 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. A conformant implementation according to th
17、is 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. 3 Normative References The following stand
18、ards contain provisions which, through reference in this text, constitute provisions of 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
19、of applying the most recent edition of the standards indicated below. SMPTE 377-1-2009, Material Exchange Format (MXF) File Format Specification SMPTE 2037-2009 Page 4 of 11 pages SMPTE 379M-2004, Television Material Exchange Format (MXF) MXF Generic Container SMPTE 400M-2004, Television SMPTE Label
20、s Structure SMPTE 421M-2006, Television VC-1 Compressed Video Bitstream Format and Decoding Process Amendment 1-2007 to SMPTE 421M-2006 4 Glossary of Acronyms, Terms and Data Types The general glossary of acronyms, terms and data types used in the MXF specification is given in SMPTE 377-1 and is sup
21、plemented in SMPTE 379M. Definitions of terms, abbreviations and symbols relating to VC-1 are given in SMPTE 421M.These glossaries are not repeated here to avoid any divergence of meaning. 5 Overview VC-1 bitstreams may make use of both intra-coding and inter-coding mechanisms. For this reason, each
22、 picture can be coded as an I-picture, P-picture, skipped picture, BI-picture, or as a B-picture. Additionally, each Picture can be represented as a progressive picture or as a pair of encoded fields. Throughout this document, the sequence of bytes in the VC-1 bitstream used to represent an encoded
23、Picture, shall be called Data Access Unit, regardless of the specific encoding scheme. 6 MXF Encoders Locating Data Access Units This section defines how MXF encoders shall locate Data Access Units in the VC-1 bitstreams when wrapping VC-1 encoded Pictures in the MXF Essence Container. 6.1 Advanced
24、Profile In the case of the Advanced Profile, a Data Access Unit comprises 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). The end-of-sequence start code, if present, shall be inc
25、luded in the Data Access Unit of the picture immediately preceding this start code. The start of the next Data Access Unit shall be the byte of either a sequence start code, an entry point start code or a frame start code. Also, if the frame is not preceded by a sequence start code and a sequence he
26、ader or an entry point start code and an entry point header, the Data Access Unit shall begin with a frame start code. Otherwise, the Data Access Unit shall start with the first byte of the first of these structures (excluding any stuffing bytes) before the frame start code. A Data Access Unit shall
27、 also include any user data start code and user data bytes at the sequence, entry point, frame or field level. 6.2 Simple Profile and Main Profile In the case of Simple Profile or Main Profile, and in accordance with Section 7.1 in SMPTE 421M, the location of each coded Picture and its size shall be
28、 communicated by the transport layer. For this reason, the way MXF encoders obtain such information when wrapping VC-1 bitstreams in MXF is out of the scope of this standard. Nevertheless, once decoders use that information to wrap the Pictures in MXF, decoders can easily locate Pictures in the Esse
29、nceContainer as defined in the following section. SMPTE 2037-2009 Page 5 of 11 pages 7 Data Access Units in the MXF Generic Container This mapping shall use the MXF Generic Container in either the frame-based wrapping or clip-based wrapping mode defined in SMPTE 379M. Knowledge of the MXF Generic Co
30、ntainer terminology is assumed throughout this document. 7.1 Frame Wrapping For Frame wrapping, the sequence of Data Access Units of a VC-1 bitstream shall be placed in a sequence of Picture Elements, placed in a sequence of Content Packages. Each Content Package shall have only one Picture Element
31、of a given bitstream. The VC-1 Data Access Units may optionally be interleaved with other essence components in the frame-wrapped essence container. These other essence components shall be as defined by this or other MXF mapping standards. All essence element types shall be frame wrapped. In this ki
32、nd of wrapping, MXF decoder can easily identify each Data Access Unit, since each Data Access Unit shall be independently KLV wrapped as a Picture Element. 7.2 Clip Wrapping For Clip wrapping, the sequence of Data Access Units of a VC-1 bitstream shall be placed in a single Picture Element, in a Con
33、tent Package of a MXF Generic Container Content Package. The clip-wrapped VC-1 Picture Element may be the sole component in the MXF Generic Container Content Package. The clip-wrapped VC-1 Picture Element may also be used in the MXF Generic Container Content Package in sequence with other clip-wrapp
34、ed Picture Elements. In this kind of wrapping Data Access Units are not independently KLV wrapped. Therefore, if Index Tables indexing the full extent of the Essence Container are present, these may be used to locate Data Access Units. Otherwise: for Advanced Profile VC-1 bitstreams, the Data Access
35、 Unit location method in Section 6.1 above shall be used; for Simple and Main profiles, alternative mechanisms need to be defined enable decoders to locate individual Data Access Units in the MXF Generic Container; the Picture Essence Coding property of the Generic Picture Essence Descriptor shall i
36、dentify the mechanism to be used. MXF Encoders are strongly encouraged to make use of Index Tables in order to reduce decoder complexity. 8 Key-Length-Value Coding 8.1 Essence Element Key The values of the first 12 bytes of the essence element Key are defined in SMPTE 379M. The version (byte 8) shal
37、l be set to 0x01. The values of the last four bytes of the Picture Element Key are given in Table 1. SMPTE 2037-2009 Page 6 of 11 pages Table 1 Key Value for the VC-1 Picture Element Byte No. Description Value (hex) Meaning 112 Defined in SMPTE 379M See SMPTE 379M 13 Item Type Identifier 15h GC Pict
38、ure Item (as defined in SMPTE 379M) 14 Essence Element Count kkh Count of Picture Elements in the Picture item 15 Essence Element Type 0Ah 0Bh Frame-wrapped VC-1 Picture Element Clip-wrapped VC-1 Picture Element 16 Essence Element Number Nnh The Number (used as an Index) of this Picture Element in t
39、he Picture Item 8.1.1 Essence Element Count Byte 14 This is a count of the number of Picture Elements in the Picture Item of the Generic Container. 8.1.2 Essence Element Type Byte 15 The value of 0Ah identifies that each VC-1 codestream is frame-wrapped. The value of 0Bh identifies that the sequence
40、 of VC-1 codestreams are clip-wrapped. 8.1.3 Essence Element Number Byte 16 This is a number used as an index to identify this instance of the Element Type within the Picture Item. Each Element within an Item shall have a unique value between 00h and 7Fh, as defined by SMPTE 379M, which shall remain
41、 constant within the Generic Container. 8.2 Length The length field shall comply with SMPTE 379M Section 5.5.1. The length field should be 4 byte BER long-form encoded (i.e. 83h.xx.yy.zz) for frame-based wrapping and should be 8 byte BER long-form encoded (i.e. 87h.aa.bb.cc.dd.ee.ff.gg) for clip-bas
42、ed wrapping. Note: Although the use of 8-byte BER long-form encoding for clip-based wrapping will be sufficient for all foreseen applications, the use of 4-byte BER long-form encoded length fields limits the size to 16Mbytes. This may be insufficient for very high resolution pictures in which case l
43、onger length fields should be used. 8.3 Value 8.3.1 Frame-wrapped The value field shall comprise a single VC-1 Data Access Unit. 8.3.2 Clip-wrapped The value field shall comprise a sequence of one or more concatenated VC-1 Data Access Units. SMPTE 2037-2009 Page 7 of 11 pages 9 SMPTE Universal Label
44、s for VC-1 9.1 Essence Container UL The values for the Essence Container UL are given in Table 2. Table 2 Specification of the Essence Container Label Byte No. Description Value (hex) Meaning 1-12 Defined by Generic Container As defined in SMPTE 379M 13 Essence Container Kind 02h MXF Generic Contain
45、er 14 Mapping Kind 12h VC-1 Picture Element (as listed in the register defined by SMPTE 400M (RP 224) 15 Content Kind 01h 02h Frame-wrapped Picture Element Clip-wrapped Picture Element 16 Reserved 00h The Essence Container UL is used within a batch of ULs in Partition Packs and the Preface set and o
46、n its own in the Essence Descriptor. These UL values are listed in the register defined by SMPTE 400M (RP 224). 9.2 Picture Essence Coding UL Values for the Picture Essence coding UL are given in Table 3. Table 3 Specification of the Picture Essence Compression Label Byte No. Description Value (hex)
47、 Meaning 1-8 Registry Designator See SMPTE 400M Designator value is defined in SMPTE 400M 9 Parametric 04h Node used to define parametric data 10 Picture Essence 01h Identifies picture essence coding 11 Picture Coding Characteristics 02h Identifies picture coding characteristics 12 Compressed Pictur
48、e Coding 02h Identifies specialized compression 13 04h Identifies VC-1 picture coding 14 xxh Identifies VC-1 Profile and Level according to the table below 15 00h Unused 16 00h Unused The Picture Essence Coding UL is used in the Generic Picture Essence Descriptor. This UL is listed in the register d
49、efined by SMPTE 400M (RP 224). The correspondence between byte 13 and the VC-1 Profile and Level described in SMPTE 421M is shown in Table 4. SMPTE 2037-2009 Page 8 of 11 pages Table 4 Correspondence Between Byte 13 and VC-1 Profile Level Profile Level Abbreviation Value of Byte 13 Simple Low SPLL 01h Medium SPML 02h Main Low MPLL 03h Medium MPML 04h High MPHL 05h Advanced L0 APL0 06h L1 APL1 07h L2 APL2 08h L3 APL3 09h L4 APL4 0Ah 10 VC-1 Picture