1、 Copyright 2015 by THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 3 Barker Avenue, White Plains, NY 10601 (914) 761-1100 Approved January 2, 2015 99 Table of Contents Page Foreword . 3 Intellectual Property 3 Introduction 3 1 Scope 4 2 Conformance Notation 4 3 Normative References 4 4 Terms
2、and Definitions . 5 5 Notation . 5 6 Overview (Informative) 5 7 Image Structure 6 7.1 Sample Arrays . 6 7.2 Pattern Elements . 6 7.3 Color Difference Component Subsampling (Informative) . 6 7.4 Image Dimensions 7 7.5 Alpha Channel . 7 8 Bitstream Structure . 7 8.1 Component Array Count . 7 8.2 Compo
3、nent Array Dimensions 7 8.2.1 Luma Channel Dimensions . 7 8.2.2 Color Difference Component Dimensions 7 8.2.3 Alpha Channel Dimensions 7 8.3 Component Vector 8 8.4 Inverse Component Transform and Inverse Component Permutation (Informative) 8 9 Image Formats 9 9.1 Image Format Parameter 9 9.2 Channel
4、 Number Assignments (Informative) 9 10 Bitstream Syntax . 9 10.1 Bitstream Header . 9 10.2 Bitstream Restrictions 9 Page 1 of 18 pages SMPTE ST 2073-4:2015 SMPTE STANDARD VC-5 Video Essence Part 4: Subsampled Color Difference Components Subsampling SMPTE ST 2073-4:2015 Page 2 of 18 pages Annex A Cod
5、ec State Parameters (Normative) 10 A.1 Bitstream Extensions . 10 A.2 Parameter Descriptions . 10 A.2.1 AlphaSampling 10 A.3 Tag-Value Pairs . 10 Annex B Bitstream Structure (Informative) . 11 B.1 Components Per Sample 11 Annex C Common Image Formats (Informative) 12 Annex D Decoding Process (Informa
6、tive) 16 D.1 Alpha Channel Sampling 16 D.2 Canonical Component Order 16 D.3 Inverse Component Permutation 16 D.4 Image Repacking Process 16 Annex E Encoding Process (Informative) . 17 E.1 Image Unpacking Process 17 E.2 Forward Component Permutation 17 Annex F Bibliography (Informative) 18 Figures Fi
7、gure C.1 Sample array with 4:2:2 color difference component sub-sampling. 12 Figure C.2 Sample array with 4:2:0 color difference component sub-sampling. 13 Figure C.3 Sample array with 4:1:1 color difference component sub-sampling. 14 Figure C.4 Sample array with 4:1:0 color difference component sub
8、-sampling. 15 Tables Table 1 Color difference component subsampling specified by PatternWidth and PatternHeight. 6 Table A.1 Codec state parameters defined by this standard. 10 SMPTE ST 2073-4:2015 Page 3 of 18 pages Foreword SMPTE (the Society of Motion Picture and Television Engineers) is an inter
9、nationally-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 Guidelines, are prepared by SMP
10、TEs 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 accordance with the rules given in its S
11、tandards Operations Manual. SMPTE ST 2073-4 was prepared by Technology Committee 10E. 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, attention is drawn to the possibil
12、ity 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. Introduction This section is entirely informative and does not form an integral part of this Engineering Document. The VC-5 Elementar
13、y Bitstream defined in SMPTE ST 2073-1 encodes arrays of components as independent channels and does not specify the type of components that are represented in the bitstream. The VC-5 Image Formats defined in SMPTE ST 2073-3 describe image formats with the same number of components per sample. This
14、standard extends the image formats to include YC1C2(A) images with subsampled color difference components. The repetitive structure of subsampled color difference components is modeled using pattern elements, which were introduced in SMPTE ST 2073-3 for the purpose of describing the arrangement of c
15、olor components in CFA images. The default color space for YC1C2(A) images is defined in SMPTE ST 2073-3. SMPTE ST 2073-4:2015 Page 4 of 18 pages 1 Scope This standard extends the YC1C2(A) image format defined in SMPTE ST 2073-3 to include subsampled color difference components (including 4:2:2, 4:2
16、:0, 4:1:1, and 4:1:0). An alpha channel is optional and can have the same resolution as the Y channel or the same resolution as the C1 and C2 channels. This standard adds the AlphaSampling parameter to specify whether the alpha component is subsampled. Operations that resample color difference compo
17、nents are out of scope. 2 Conformance Notation 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
18、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, except: the Introduction, any section explicitly labeled as “Informative“ or individual paragraphs that s
19、tart 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 “should not“ indicate that, among several possibilities, one is recommended as particularly su
20、itable, 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 deprecated but not prohibited. The keywords “may“ and “need not“ indicate courses of action permis
21、sible 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 “reserved” and in addition indicates that the provision will never be defined in the future.
22、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 implementation need not implement optional provisions (“may“) and need not implement them as described.
23、 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; followed by formal languages; then figures; and then any other language forms. 3 Normative Ref
24、erences 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 to revision, and parties to agreements based on this standard are encouraged to in
25、vestigate the possibility of applying the most recent edition of the standards indicated below. SMPTE ST 2073-1:2014, VC-5 Video Essence Part 1: Elementary Bitstream SMPTE ST 2073-3:2015, VC-5 Video Essence Part 3: Image Formats SMPTE ST 2073-4:2015 Page 5 of 18 pages 4 Terms and Definitions For the
26、 purposes of this standard, the following definitions shall apply: 4.1 canonical component order Ordering of components in a pattern element with all luma components in scan line order, followed by all C1 components in scan line order, followed by all C2 components in scan line order. 4.2 color diff
27、erence component image (CDCI) Sample array that contains both luma and color difference components. 4.3 color difference sample Sample that contains a single color difference component. 4.4 luma component Y color component. 4.5 luma sample Sample that contains a single luma component. 4.6 luma sampl
28、e row Sample array row that contains one or more luma samples. 5 Notation This document uses the notation defined in SMPTE ST 2073-1, VC-5 Elementary Bitstream and SMPTE ST 2073-3, Image Formats. No new notation is defined in this standard. 6 Overview (Informative) Section 7 describes how the Patter
29、nWidth and PatternHeight parameters (defined in SMPTE ST 2073-3) are used to describe color difference component subsampling. Section 8 specifies how a subsampled color difference component image is represented in a VC-5 bitstream. Section 9 describes the YC1C2(A) image format which was defined in S
30、MPTE ST 2073-3. Section 10 specifies constraints on the bitstream syntax. Annex A defines the new AlphaSubsampling tag-value pair for alpha component subsampling. Annex B describes how parameters that determine the image structure, such as ComponentsPerSample and ChannelCount, are affected by the ch
31、anges introduced in this standard. Annex C describes how common image formats with subsampled color difference components can be represented using the techniques described in Section 7. Annex D and Annex E describe the steps to decode or encode, respectively, VC-5 bitstreams that represent images wi
32、th subsampled color difference components. SMPTE ST 2073-4:2015 Page 6 of 18 pages 7 Image Structure 7.1 Sample Arrays An image with subsampled color difference components shall be modeled as a sample array. Note: The model is not intended to describe how an image is stored in memory (SMPTE ST 2073-
33、3, Section 7). 7.2 Pattern Elements The values for the PatternWidth and PatternHeight parameters shall be as defined in one of the last four rows of Table 1. Note: The first row in Table 1 with PatternWidth and PatternHeight both equal to 1 corresponds to the YC1C2(A) image format defined in SMPTE S
34、T 2073-3. Note: The PatternWidth and PatternHeight codec state parameters defined in SMPTE ST 2073-3 are used in this standard to specify the width and height, respectively, of the rectangular grid of Y components values that correspond to each C1 and C2 pair in the subsampled image. Table 1 Color d
35、ifference component sampling specified by PatternWidth and PatternHeight PatternWidth PatternHeight Color Difference Component Sampling 1 1 4:4:4 2 1 4:2:2 2 2 4:2:0 4 1 4:1:1 4 4 4:1:0 Every sample in the pattern element shall contain one Y component. A pattern element shall contain one C1 color co
36、mponent and one C2 color component and both color components shall be in the sample in the first row and first column of the pattern element. Note: The restriction, specified in SMPTE ST 2073-3, that each sample in a pattern element has the same number of components is removed for this standard. The
37、 default co-siting shall be such that both C1 and C2 components are coincident with the Y component in the first row and first column of the pattern element. Co-siting is described in Digital Video and HD (Figure 12.1). 7.3 Color Difference Component Subsampling (Informative) The scheme for color di
38、fference component subsampling is implicitly defined by the width and height of the pattern elements. Since only one C1 and only one C2 color difference component can be present in a pattern element, the spacing between color difference components is equivalent to the pattern element dimensions. If
39、the PatternWidth is 2 and the PatternHeight is 1, then there is one pair of color difference components in every two consecutive columns of the sample array. This is known as 4:2:2 subsampling. SMPTE ST 2073-4:2015 Page 7 of 18 pages If the PatternWidth is 2 and the PatternHeight is 2, then there is
40、 one pair of color difference components for every two consecutive rows and columns in the sample array. This is known as 4:2:0 subsampling. 7.4 Image Dimensions All luma sample rows in the sample array shall contain the same number of luma samples. The value of the ImageWidth parameter shall be the
41、 number of luma samples in each luma sample row of the sample array. The value of the ImageHeight parameter shall be the number of luma sample rows in the sample array. 7.5 Alpha Channel If the value of the AlphaSampling parameter is 1, then exactly one alpha component value shall be included in eac
42、h sample that contains a luma component. If the value of the AlphaSampling parameter is 2, then exactly one alpha component value shall be included in each sample that contains a color difference component and in no other sample in the pattern element. Note: The presence of an alpha channel is signa
43、led by ChannelCount equal to 4. 8 Bitstream Structure 8.1 Component Array Count The number of channels in the bitstream shall be 3 or 4. 8.2 Component Array Dimensions 8.2.1 Luma Channel Dimensions The value of ChannelWidth for the luma component array shall equal the value of ImageWidth. The value
44、of ChannelHeight for the luma component array shall equal the value of ImageHeight. 8.2.2 Color Difference Component Dimensions The value of ChannelWidth for the color difference component arrays shall equal the value of ImageWidth divided by the value of PatternWidth. The value of ChannelHeight for
45、 the color difference component arrays shall equal the value of ImageHeight divided by the value of PatternHeight. 8.2.3 Alpha Channel Dimensions If AlphaSampling is 1, then the ChannelWidth and ChannelHeight shall equal the corresponding values for the luma component array (Section 8.2.1). If Alpha
46、Sampling is 2, then the ChannelWidth and ChannelHeight shall equal the corresponding values for the color difference component arrays (Section 8.2.2). SMPTE ST 2073-4:2015 Page 8 of 18 pages 8.3 Component Vector A component vector shall comprise the Y values in a pattern element in raster-scan order
47、, the C1 component value, the C2 component value in that order, and if ChannelCount is 4, the alpha component values in raster-scan order. The Y component values in a component vector shall map one-to-one to the Y component values in a pattern element as follows: = + where: is the index of the row o
48、f samples in the pattern element with 0 , j is the index of the column of samples in the pattern element with 0 , is the index of the Y component value in the component vector with 0 , h is the value of PatternHeight, w is the value of PatternWidth, and n is the product of PatternHeight and PatternW
49、idth. The C1 component value shall be at index in the component vector and the C2 component value shall be at index + 1 in the component vector. If ChannelCount is 4 and AlphaSampling is 1, then the alpha component values in a component vector shall map one-to-one to the alpha component values in a pattern element as follows: = + + n + 2 where: is the index of the row of samples in the pattern element with 0 , j i