1、 Copyright 2011 by THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 3 Barker Avenue., White Plains, NY 10601 (914) 761-1100 Approved March 7, 2011 Table of Contents Page Foreword . 7 Introduction 7 Patent Notice . 7 1 Scope 8 2 Conformance Notation 8 3 Normative References 8 4 Overview (Inform
2、ative) 9 5 Notation . 10 5.1 Arithmetic Operators 10 5.2 Logical Operators . 10 5.3 Relational Operators 10 5.4 Bitwise Operators . 11 5.5 Assignment 11 5.6 Mnemonics . 11 5.7 Bitstream Parsing Operation 11 5.8 Function Definitions for Conditional Branches in Bitstream Tables . 11 5.9 Definition of
3、Terminology . 14 5.10 Number System . 19 6 Picture Sampling and Overall Bitstream Structure . 20 6.1 Picture Sampling 20 6.2 Hierarchical Elements of Bitstream 21 6.3 Bitstream Construction Constraints . 21 7 Sequence Bitstream Syntax and Semantics . 21 7.1 Sequence-level Syntax and Semantics . 21 8
4、 Progressive Bitstream Syntax and Semantics 34 8.1 Picture-level Syntax and Semantics 34 8.2 Slice-level Syntax and Semantics 42 8.3 Macroblock-level Syntax and Semantics . 44 8.4 Block-level Syntax and Semantics . 59 9 Progressive Bitstream Decoding Process . 77 9.1 Progressive I Frame Picture Deco
5、ding 77 9.2 Progressive Inter Frame Picture Decoding 90 Page 1 of 192 pages SMPTE ST 2058-1:2011 SMPTE STANDARD VC-4 Layered Video Extension Bitstream Format and Decoding Process SMPTE ST 2058-1:2011 Page 2 of 192 pages 9.3 Decoding Process for Adaptive Variable Length Code (VLC) . 99 9.4 Reference
6、Frame List Management 114 10 Interlaced Bitstream Syntax and Semantics . 117 10.1 Picture-level Syntax and Semantics 117 10.2 Slice-level Syntax and Semantics . 124 10.3 Macroblock-level Syntax and Semantics . 126 10.4 Block-level Syntax and Semantics 130 11 Interlaced Bitstream Decoding Process 130
7、 11.1 Interlaced I Frame/Field Picture Decoding 130 11.2 Interlaced Inter Frame/Field Picture Decoding 132 11.3 Adaptive VLC Coding 138 11.4 Reference Frame List Management 138 12 High Fidelity Picture Reconstruction Process 139 12.1 Format Up-Conversion 139 12.2 Residual Mapping/Scaling to Up-conve
8、rted Bit Depth 165 Annex A Hypothetical Reference Decoder (Normative) . 166 Annex B Start Codes and Emulation Prevention (Normative) 168 B.1 Extraction of Raw Bitstream Segment from Encapsulated Bitstream Segment 168 B.2 Start-code Suffixes for Bitstream Segment Types 169 Annex C User Data (Normativ
9、e) . 170 Annex D Profiles and Levels (Normative) 171 D.1 Profiles . 171 D.2 Levels 173 Annex E Encoding Process for Adaptive Variable Length Code (Informative) . 179 Annex F Bitstream Construction Constraints (Normative). 189 Annex G Bibliography (Informative) . 192 SMPTE ST 2058-1:2011 Page 3 of 19
10、2 pages Table of Figures Figure 1 Encoding process block diagram 9Figure 2 Vertical and horizontal locations of 4:2:2 luma and color difference samples in a frame 20Figure 3 Vertical and horizontal sampling locations of 4:2:2 samples in top and bottom fields 20Figure 4 Pseudo-code for picture-level
11、quantization parameters 77Figure 5 Pseudo-code for slice-level quantization parameters 78Figure 6 Pseudo-code of DQP decoding . 78Figure 7 Intra prediction mode (in case of luma) . 79Figure 8 Pseudo-code for intra prediction process 80 Figure 9 Pseudo-code for predicting quantization parameter of th
12、e current MB . 81Figure 10 Pseudo-code for selecting MB-level quantization parameter 82Figure 11 Layers of AC coefficient levels . 83Figure 12 Pseudo-code of coefficient decoding . 84Figure 13 Pseudo-code of coefficient decoding in escape mode 84Figure 14 Pseudo-code for scanning . 85Figure 15 Defau
13、lt scanning array for progressive pictures 85Figure 16 Default scanning pattern for progressive pictures . 85Figure 17 Pseudo-code to determine the quantization parameters for the corresponding block 86Figure 18 Pseudo-code for inverse quantization . 87Figure 19 Pseudo-code for residual block recons
14、truction in the intra picture 89Figure 20 Pseudo-code for residual block reconstruction using quality refinement in the intra picture 89Figure 21 Candidate motion vectors for 1-MV macroblocks 91Figure 22 Candidate motion vectors for 4-MV macroblocks 92Figure 23 Pseudo-code for motion vector predicto
15、r derivation 93Figure 24 Pseudo-code of MVD decoding . 94Figure 25 Interpolation of Luma fourth-sample positions . 96Figure 26 Pseudo-code for residual block reconstruction in the inter picture 98Figure 27 Pseudo-code for residual block reconstruction using quality refinement in the inter picture 98
16、Figure 28 Pseudo-code for adaptive VLC decoding with 3 alphabets . 100 Figure 29 Pseudo-code for adaptive VLC decoding with 5 alphabets . 103Figure 30 Pseudo-code for adaptive VLC decoding with 7 alphabets . 105Figure 31 Pseudo-code for adaptive VLC decoding with 15 alphabets . 107Figure 32 Pseudo-c
17、ode for adaptive VLC decoding with 19 alphabets . 109Figure 33 Pseudo-code for model reset at new slice . 109Figure 34 Pseudo-code for model update per 16 nonzero macroblocks . 110Figure 35 Pseudo-code for decoding CST or CSP syntaxes . 114Figure 36 Referencing operation in three-layer coding 115Fig
18、ure 37 Referencing operation when the forward and backward predictions are available . 116Figure 38 Default scanning array for interlaced pictures . 131Figure 39 Default scanning pattern for interlaced pictures 131Figure 40 Reference fields when the current field is the top field 133Figure 41 Refere
19、nce fields when the current field is the bottom field 133Figure 42 Pseudo-code for calculating dist 135Figure 43 MV scaling when main reference field in the past frame and current field have same polarities . 136Figure 44 MV scaling when main reference field in the past frame and current field have
20、different polarities 137Figure 45 MV scaling when main reference field in the future frame and current field have same polarities 137Figure 46 MV scaling when main reference field in the future frame and current field have different polarities 138Figure 47 Decoding process block diagram . 139Figure
21、48 Diagram for format up-conversion process . 140Figure 49 Four direction for smoothing 143Figure 50 Pixel shift corresponding to interpolated pixel position for progressive . 144Figure 51 Pixel shift corresponding to interpolated pixel position for interlace 145Figure 52 Pixel position for deinterl
22、acing filtering 147SMPTE ST 2058-1:2011 Page 4 of 192 pages Figure 53 Pixel position for horizontal color difference up-conversion . 148Figure 54 Stereoscopic decoding process block diagram 157Figure 55 Pseudo-code of DMVD decoding . 157Figure 56 Candidate disparity/motion vectors for 1-DMV macroblo
23、cks . 158Figure 57 Candidate disparity/motion vectors for 4-DMV macroblocks . 159Figure 58 Pseudo-code for disparity/motion vector predictor derivation 160Figure 59 Bicubic filter cases 162Figure 60 Pixel shifts 163Figure A.1 Conceptual components of an HRD . 166Figure A.2 Buffer fullness of coded f
24、rame buffer at the enhancement layer 167Figure E.1 Pseudo-code for adaptive VLC encoding with 3 alphabets 180Figure E.2 Pseudo-code for adaptive VLC encoding with 5 alphabets 181Figure E.3 Pseudo-code for adaptive VLC encoding with 7 alphabets 183Figure E.4 Pseudo-code for adaptive VLC encoding with
25、 15 alphabets 184Figure E.5 Pseudo-code for adaptive VLC encoding with 19 alphabets 186Figure E.6 Pseudo-code for encoding CST or CSP syntaxes 188Figure F.1 Sequence header location in a multi-layer bistream . 189Figure F.2 Transmission using MPEG-2 Transport Stream . 190Figure F.3 An example of sli
26、ce arrangements 191SMPTE ST 2058-1:2011 Page 5 of 192 pages Table of Tables Table 1 Sequence layer bitstream . 21Table 2 Meaning of PROFILE 24Table 3 Meaning of LEVEL 25Table 4 Meaning of FRAMERATENR 25Table 5 Meaning of FRAMERATEDR 26Table 6 Meaning of COLORDIFF_FORMAT . 26Table 7 Meaning of LOWER_
27、FRAMERATENR . 27Table 8 Meaning of LOWER_FRAMERATEDR . 27Table 9 Meaning of BIT_UPCONVERSION 28Table 10 Meaning of COLOR_DIFFERENCE_UPCONVERSION 30Table 11 Progressive picture layer bitstream . 34Table 12 Meaning of MV_MODE . 38Table 13 Meaning of SCAN_ORDER_TYPE . 39Table 14 Meaning of COLOR_DIFFER
28、ENCE_UPCONV_IDX_U/COLOR_DIFFERENCE_UPCONV_IDX_V in progressive picture 40Table 15 Progressive slice layer bitstream 43Table 16 Progressive macroblock layer bitstream . 45Table 17 Meaning of SKIP_RUN . 47Table 18 Meaning of MB_SIG_MODE . 47Table 19 Meaning of MB_SIG_4 48Table 20 Meaning of B_PRED_MOD
29、E 48Table 21 Meaning of IPRED_MODE . 49Table 22 Meaning of INTRA_SIG 49Table 23 Meaning of YUV_CSP 51Table 24 Meaning of Y_CSP . 51Table 25 Meaning of Y0Y1_CSP . 52Table 26 Meaning of Y2Y3_CSP . 53Table 27 Meaning of UV_CSP . 54Table 28 Meaning of U0U1_CSP . 55Table 29 Meaning of V0V1_CSP . 56Table
30、30 Meaning of U_CSP . 56Table 31 Meaning of U2U3_CSP . 57Table 32 Meaning of V_CSP . 58Table 33 Meaning of V2V3_CSP . 59Table 34 Block layer bitstream . 59Table 35 The largest coefficient significant type (LCST) for 8x8 coefficients 61Table 36 Level coding of coefficients . 62Table 37 Symbol coding
31、for two symbols in the coefficient position of layer 1 62Table 38 Symbol coding for two symbols in the coefficient position of layer 2 62Table 39 Meaning of DC_AC_CST 63Table 40 Meaning of AC_CST . 64Table 41 Meaning of ACp1_CST . 65Table 42 Meaning of ACp2_CST . 66Table 43 Meaning of ACp3_CST . 67T
32、able 44 Meaning of L1i_CST . 69Table 45 Meaning of L21_CST 70Table 46 Meaning of L22_CST 71Table 47 Meaning of L23_CST 72Table 48 Meaning of L2AC16_CSTi 73Table 49 Meaning of L2AC12_CSTi 73Table 50 Meaning of L2AC8_CSTi 74Table 51 Meaning of L1AC4_CSTi 75SMPTE ST 2058-1:2011 Page 6 of 192 pages Tabl
33、e 52 Meaning of L1AC3_CSTi . 76Table 53 Meaning of L1AC2_CSTi . 76Table 54 VLC codeword with 3 alphabets 99Table 55 VLC codeword with 5 alphabets 101 Table 56 VLC codeword with 7 alphabets 103Table 57 VLC codeword with 15 alphabets 105Table 58 VLC codeword with 19 alphabets 107Table 59 Probability m
34、odel for VLC-coded syntaxes with three alphabets 110Table 60 Probability model for VLC-coded syntaxes with five alphabets . 111Table 61 Probability model for VLC-coded syntaxes with 7 alphabets 112Table 62 Probability model for VLC-coded syntaxes with 15 alphabets 112Table 63 Probability model for V
35、LC-coded syntaxes with 19 alphabets 112Table 64 Interlaced picture layer bitstream 117Table 65 Meaning of COLOR_DIFFERENCE_UPCONV_IDX_U/COLOR_DIFFERENCE_UPCONV_IDX_V in an interlaced picture 123Table 66 Interlaced field/frame slice layer bitstream 125Table 67 Interlaced macroblock layer bitstream .
36、126Table 68 Offsets for MV Scaling . 134Table 69 Default filter coefficients for luma samples 150Table 70 Alternative 6-tap filter coefficients for luma samples . 150Table 71 Default bilinear filter coefficients for color difference samples 151Table 72 Alternative 4-tap filter coefficients for color
37、 difference samples 152Table B.1 Decoder Removal of Emulation Prevention Data 168Table B.2 Start Code Suffixes for Various Bitstream Segment Types . 169Table D.1 List of profiles and levels 171Table D.2 Codec options in the Main, High, High 4:2:2, High 4:4:4, High Intra 4:4:4 and Stereo profile 172T
38、able D.3 Limitations of profiles and levels 173SMPTE ST 2058-1:2011 Page 7 of 192 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 ha
39、s members in over 80 countries on six continents. 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 cooper
40、ates closely with other standards-developing organizations, including ISO, IEC and ITU. SMPTE Engineering Documents are drafted in accordance with the rules given in Part XIII of its Administrative Practices. SMPTE ST 2058-1 was prepared by Technology Committee on Essence, 10E. Introduction This sec
41、tion is entirely informative and does not form an integral part of this Engineering Document. The purpose of this document is to enable layered video applications for the video formats in the existing SMPTE specifications through independently decodable video layers carrying residual information. Th
42、e layered video extension framework primarily targets applications in the high video quality range, including the fidelity ranges of up to 16-bit per sample as well as 4:2:2 or 4:4:4 color difference fidelity. The residual layer syntax and decoding process as well as the process of reconstructing th
43、e high quality and high fidelity video pictures are included. The elementary stream definition is not dependent on any transport mapping, and is independent of the base layer coding technology. Patent Notice SMPTE draws attention to the fact that it is claimed that compliance with this Standard may
44、involve the use of one or more patents or other intellectual property rights (collectively, “IPR“). The Society takes no position concerning the evidence, validity, or scope of this IPR. Each holder of claimed IPR has assured the Society that it is willing to License all IPR it owns, and any third p
45、arty IPR it has the right to sublicense, that is essential to the implementation of this Standard to those (Members and non-Members alike) desiring to implement this Standard under reasonable terms and conditions, demonstrably free of discrimination. Each holder of claimed IPR has filed a statement
46、to such effect with SMPTE. Information may be obtained from the Director, Standards 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 no
47、t“ 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 “reserved” and in addition indicates that the provision w
48、ill never be defined in the future. 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 Re