1、 Copyright 2016 by THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 3 Barker Avenue, White Plains, NY 10601 (914) 761-1100 MOTION PICTURE AND TELEVISION ENGINEERS Approved August 24, 2016 SMPTE ST 2042-4:2016 SMPTE STANDARD Mapping a VC-2 Stream into the MXF Generic Container Page 1 of 21 page
2、s Table of Contents Page Foreword . 3 Intellectual Property 3 1 Scope 4 2 Conformance Notation 4 3 Normative References 4 4 Glossary of Acronyms, Terms and Data Types 5 4.1 VC-2 Terms and Notation . 5 5 Overview (Informative) 5 6 VC-2 Stream Syntax (Informative) 6 7 The Wrapped VC-2 Stream 6 7.1 Edi
3、t Units of the Wrapped VC-2 Stream . 6 7.2 Understanding the Wrapped VC-2 Stream (Informative) 6 7.3 Wrapping a VC-2 Stream Comprised of Multiple VC-2 Sequences (Informative) . 7 8 KLV Coding of the VC-2 Stream . 7 8.1 Picture Element Key . 7 8.2 Picture Element Length (Informative) 8 8.3 Picture El
4、ement Value (Informative) 8 9 VC-2 Essence Container Label 8 10 VC-2 Picture Essence Compression Label 8 11 Essence Descriptors for VC-2 9 11.1 VC-2 Sub-Descriptor 9 11.1.1 Understanding the VC-2 Sub-Descriptor (Informative) . 10 12 Index Tables (Informative) 11 13 Operating Mode A 11 13.1 Understan
5、ding Operating Mode A (Informative) 11 SMPTE ST 2042-4:2016 Page 2 of 21 pages Annex A Using the Wrapped VC-2 Stream (Informative) 12 A.1 Scenarios . 12 A.1.1 Unwrapping the entire wrapped VC-2 stream . 12 A.1.2 Unwrapping part of the wrapped VC-2 stream 12 A.1.3 Editing 12 A.2 Relevant VC-2 Sequenc
6、e Details 12 A.2.1 End of sequence Parse Info header 12 A.2.2 Parse Info header parse offsets 13 A.2.3 picture_number sequence 13 Annex B CDCI Picture Essence Descriptor Mapping (Normative) 14 Bibliography 21SMPTE ST 2042-4:2016 Page 3 of 21 pages Foreword SMPTE (the Society of Motion Picture and Te
7、levision 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 Practices, and Engineering
8、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 are drafted in accordanc
9、e with the rules given in its Standards Operations Manual. SMPTE ST 2042-4 was prepared by Technology Committee 31FS. Intellectual Property At the time of publication no notice had been received by SMPTE claiming patent rights essential to the implementation of this Engineering Document. However, at
10、tention 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 ST 2042-4:2016 Page 4 of 21 pages 1 Scope This document specifies the mapping of VC-2 coded pic
11、tures into MXF. Specifically, it defines how to map a VC-2 stream (or part of a stream) into a Picture Element of a MXF generic container. This standard specifies the Key, Length and Value fields of a VC-2 Picture Element. This standard also defines the Essence Container Label and Picture Essence Co
12、mpression Label, a VC-2 Sub-Descriptor and the mapping of information from the VC-2 stream to the CDCI Picture Essence Descriptor. 2 Conformance Notation Normative text is text that describes elements of the design that are indispensable or contains the conformance language keywords: “shall“, “shoul
13、d“, 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 default, normative
14、, except: 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. The keywords, “should“ and “sho
15、uld 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 or course of action is deprecat
16、ed but not prohibited. The keywords “may“ and “need not“ indicate courses of action permissible within the limits of the document. The 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 “re
17、served” and in addition indicates that the provision will never be defined in the future. A conformant implementation according to this document is one that includes all mandatory provisions (“shall“) and, if implemented, all recommended provisions (“should“) as described. A conformant implementatio
18、n need not implement optional provisions (“may“) and need not implement them as described. Unless otherwise specified, the order of precedence of the types of normative information in this document shall be as follows: Normative prose shall be the authoritative definition; Tables shall be next; then
19、 formal languages; then figures; and then any other language forms. 3 Normative References The following standards contain provisions that, through reference in this text, constitute provisions of this standard. At the time of publication, the editions indicated were valid. All standards are subject
20、 to revision, and parties to agreements based on this recommended practice are encouraged to investigate the possibility of applying the most recent edition of the standards indicated below. SMPTE ST 2042-4:2016 Page 5 of 21 pages SMPTE ST 377-1:2011, Material Exchange Format (MXF) File Format Speci
21、fication SMPTE ST 379-1:2009, Material Exchange Format (MXF) MXF Generic Container SMPTE ST 379-2:2010, Material Exchange Format (MXF) MXF Constrained Generic Container SMPTE ST 2042-1:2012, VC-2 Video Compression 4 Glossary of Acronyms, Terms and Data Types SMPTE ST 379-x: Throughout this standard,
22、 SMPTE ST 379-x refers to both SMPTE ST 379-1 and SMPTE ST 379-2. The general glossary of acronyms, terms and data types used in the MXF specification is given in SMPTE ST 377-1 and is supplemented in SMPTE ST 379-x. These glossaries are not repeated here to avoid any divergence of meaning. In this
23、document, terms are used as defined by SMPTE ST 377-1 in preference to any definition specific to SMPTE ST 379-1 or SMPTE ST 379-2. 4.1 VC-2 Terms and Notation Definitions and representations of terms, abbreviations and symbols relating to VC-2 are given in SMPTE ST 2042-1. Note: For example: video_
24、parametersframe_height refers to the frame_height property of the video_parameters map, after the Sequence Header has been parsed. VC-2 defines a process for populating the video_parameters map, which involves first initializing the properties to default values that are then overridden if a value fo
25、r a property appears in the Sequence Header. Therefore the VC-2 properties referenced in this standard will always have values defined. 5 Overview (Informative) A summary is given below of some of the features of this standard that could be relevant when, for example, testing or deploying an impleme
26、ntation. A recommended Operating Mode is defined which places constraints on the wrapped VC-2 stream in order to simplify handling of the content. The use of this Operating Mode is optional. Even in the recommended Operating Mode the structure of the wrapped VC-2 stream is only partially constrained
27、. For example: Sequence Headers can be repeated within an Edit Unit; Padding and Auxiliary data units can be included. This standard places no restrictions on the video pictures that can be encoded by the wrapped VC-2 stream. For example: no restrictions are placed on the video frame size, frame rat
28、e or color specification. This standard places no restrictions on the wavelet transform (coding) parameters used in the wrapped VC-2 stream. The values permitted are not restricted by this standard nor does this standard require that any of the wavelet transform parameters remain constant throughout
29、 the wrapped VC-2 stream. The VC-2 stream can be clip-wrapped or frame-wrapped. The size of the Edit Units can be constant throughout or variable. SMPTE ST 2042-4:2016 Page 6 of 21 pages 6 VC-2 Stream Syntax (Informative) SMPTE ST 2042-1 specifies the compressed stream syntax and reference decoder o
30、perations for a video compression system known as VC-2. A VC-2 stream can contain multiple, concatenated VC-2 sequences. The data contained in a VC-2 sequence corresponds to a single video sequence with constant video parameters (but not necessarily constant wavelet transform (coding) parameters). A
31、 VC-2 sequence can be extracted from a VC-2 stream and decoded as an independent entity. The VC-2 sequence structure is illustrated in Figure 1 and is identical to that illustrated in SMPTE ST 2042-1 Figure 10.2. The VC-2 sequence is composed of: Parse Info headers: components of the VC-2 stream tha
32、t provide information on how to parse the stream. They support navigating through the stream without having to decode every frame. Data Units: Sequence Header; Picture; Auxiliary; Padding. Figure 1 Illustration of the VC-2 Sequence Structure 7 The Wrapped VC-2 Stream 7.1 Edit Units of the Wrapped VC
33、-2 Stream When concatenated consecutively the Edit Units shall form a valid and complete VC-2 stream except that: The first Parse Info header in the wrapped VC-2 stream need not have a previous_parse_offset value of zero. An end of sequence Parse Info header need not be present at the end of the wra
34、pped VC-2 stream. Each Edit Unit shall be a portion, or the entirety, of a single valid VC-2 sequence and shall begin with a Parse Info header, followed by a Sequence Header. Within an Edit Unit there shall be all of the VC-2 Picture data units for a single video frame and no other VC-2 Picture data
35、 units. 7.2 Understanding the Wrapped VC-2 Stream (Informative) The wrapped VC-2 stream (which is the consecutive concatenation of all of the Edit Units) could contain data from more than one VC-2 sequence. In Operating Mode A (see Section 13) there is exactly one VC-2 sequence for each Edit Unit. I
36、n Operating Mode A the wrapped VC-2 stream will always be a valid and complete VC-2 stream. If video is VC-2 coded as frames there will be one VC-2 Picture data unit per Edit Unit. D at a U nit Pa rse In fo Pa rse In fo Pa rse In fo Se q ue nc e H ea de r SMPTE ST 2042-4:2016 Page 7 of 21 pages If v
37、ideo is VC-2 coded as fields there will be two VC-2 Picture data units per Edit Unit and the earlier of the two will have an even picture_number. This precludes the case of wrapping individual fields described by SMPTE ST 379-x. In general a VC-2 stream can contain both video coded as frames and vid
38、eo coded as fields. In each VC-2 sequence the method being used is signaled by picture_coding_mode in the Sequence Header. In Operating Mode A all of the Sequence Headers must be byte-for-byte identical throughout the entire wrapped VC-2 stream and so in Operating Mode A the video will either be cod
39、ed as frames throughout or as fields throughout. Even if Operating Mode A is not in use and the Sequence Headers are not identical throughout the wrapped VC-2 stream then the considerations in Section 7.3 mean that the video must be coded as frames throughout or as fields throughout (so that the wra
40、pped VC-2 stream can be accurately described by the Essence Descriptor / Sub-Descriptor). An Edit Unit could contain additional Sequence Header data units, as well as Auxiliary data units and Padding data units. SMPTE ST 2042-1 requires that all Sequence Headers in a VC-2 sequence are byte-for-byte
41、identical and so all of the Sequence Headers in an Edit Unit will be byte-for-byte identical. The sizes of the Edit Units can be constant or variable. 7.3 Wrapping a VC-2 Stream Comprised of Multiple VC-2 Sequences (Informative) If the wrapped VC-2 stream contains multiple VC-2 sequences then the Se
42、quence Headers could be non-identical throughout the wrapped VC-2 stream. Therefore, for example, video_parameters could not be fixed throughout the wrapped VC-2 stream. However, Section 11 requires the use of a single CDCI Picture Essence Descriptor and a single VC-2 Sub-Descriptor and these must d
43、escribe the entire wrapped VC-2 stream accurately. Therefore the amount of permitted variation in the Sequence Headers is limited. VC-2 properties mapped to mandatory elements of the Essence Descriptor / Sub-Descriptor will have to be fixed throughout the wrapped VC-2 stream. VC-2 properties mapped
44、to optional elements of the Essence Descriptor / Sub-Descriptor can potentially have more than one value across the wrapped VC-2 stream: if this is the case then these optional elements of the Essence Descriptor / Sub-Descriptor will have to be omitted. In Operating Mode A all Sequence Headers will
45、be identical throughout the wrapped VC-2 stream. 8 KLV Coding of the VC-2 Stream 8.1 Picture Element Key The value of the Picture Element Key shall be 06.0E.2B.34.01.02.01.01.0D.01.03.01.15.xx.yy.zz where the values of bytes 14 and 16 shall be as defined by SMPTE ST 379-x, and the value of byte 15 s
46、hall be as given in Table 1. Note 1: Byte 14 is a count of the Picture Elements in the Picture Item. Note 2: Byte 16 is the Essence Element Number (an identifier) of this Picture Element in the Picture Item. SMPTE ST 2042-4:2016 Page 8 of 21 pages Table 1 Byte 15 of the VC-2 Picture Element Key Byte
47、 15 value (hex) Meaning 10h MXF-GC Frame-wrapped VC-2 Picture Essence 11h MXF-GC Clip-wrapped VC-2 Picture Essence 8.2 Picture Element Length (Informative) It is MXF convention to use 4-byte BER long-form encoded (i.e. 83h.xx.yy.zz) lengths for frame-based wrapping and to use 8-byte BER long-form en
48、coded (i.e. 87h.aa.bb.cc.dd.ee.ff.gg) lengths for clip-based wrapping. SMPTE ST 377-1 allows the use of any length of BER long-form encoding up to and including 9 bytes. 8.3 Picture Element Value (Informative) SMPTE ST 379-x defines how the value field of each Picture Element KLV triplet is composed
49、 for both frame-wrapping and clip-wrapping: In frame-wrapping the value field of each Picture Element KLV triplet is a single Edit Unit. In clip-wrapping the value field of the Picture Element KLV triplet is a concatenation of all Edit Units: that is, it contains the entire wrapped VC-2 stream. 9 VC-2 Essence Container Label The VC-2 Essence Container Label shall be 06.0E.2B.34.04.01.01.0D.0D.01.03.01.02.15.xx.00 where byte 15 shall be as shown in Table 2. Table 2 Byte 15 of VC-2 Essence Con