1、 Copyright 2016 by THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 3 Barker Avenue, White Plains, NY 10601 (914) 761-1100 Approved May 18, 2016 Table of Contents Page Foreword 4 Intellectual Property . 4 Introduction. 4 1 Scope 6 2 Conformance Notation 6 3 Normative References 6 4 Overview (I
2、nformative) . 7 5 Notation . 8 5.1 Values . 8 5.2 Arithmetic Operators . 8 5.3 Logical Operators 9 5.4 Relational Operators . 9 5.5 Bitwise Operators 9 5.6 Assignment . 9 5.7 Precedence Order of Operators 9 5.8 Pseudocode Operations 10 5.9 Definition of Terminology 11 5.9.1 AC coefficient 11 5.9.2 a
3、lpha . 11 5.9.3 amplitude 11 5.9.4 bitstream . 11 5.9.5 bitrate 11 5.9.6 block . 11 5.9.7 byte-aligned 11 5.9.8 byte . 11 5.9.9 CBR 11 5.9.10 coding unit 11 5.9.11 component 11 5.9.12 compressed payload 11 5.9.13 compression . 11 5.9.14 compression ID . 11 5.9.15 DC coefficient . 12 5.9.16 decoder .
4、 12 5.9.17 decoding process 12 5.9.18 dequantization 12 5.9.19 display process . 12 5.9.20 encoder . 12 5.9.21 encoding (process) . 12 Page 1 of 108 pages SMPTE ST 2019-1:2016 Revision of SMPTE ST 2019-1:2014 SMPTE STANDARD VC-3 Picture Compression and Data Stream Format SMPTE ST 2019-1:2016 Page 2
5、of 108 pages 5.9.22 flag 12 5.9.23 Frame . 12 5.9.24 field . 12 5.9.25 frame rate . 12 5.9.26 HD raster 12 5.9.27 header . 12 5.9.28 macroblock . 13 5.9.29 macroblock scan line 13 5.9.30 parameter . 13 5.9.31 picture . 13 5.9.32 progressive . 13 5.9.33 quantize, quantization . 13 5.9.34 raster . 13
6、5.9.35 resolution independent (RI) raster 13 5.9.36 run . 13 5.9.37 variable length coding (VLC) 13 5.9.38 VBR 13 5.9.39 Video Codec 3 (VC-3) 13 5.9.40 zigzag scanning order 13 5.10 Acronym Definitions . 14 5.10.1 DCT . 14 5.10.2 IDCT 14 5.10.3 LSB 14 5.10.4 MB . 14 5.10.5 MSB . 14 5.10.6 VLC 14 5.1
7、0.7 VLD 14 6 Video Sampling Structure 14 6.1 HD Raster Constraints . 14 6.2 RI Raster Constraints . 15 6.3 Frame Structure . 15 7 Compressed Frame Format . 27 7.1 Compressed Frame Size . 28 7.2 Header Definition . 30 7.2.1 Header Prefix. 30 7.2.2 Coding Control A . 31 7.2.3 Image Geometry . 32 7.2.4
8、 Compression ID 34 7.2.5 Coding Control B 35 7.2.6 Time Code Control . 36 7.2.7 Time Code Data Area . 36 7.2.8 User Data Control . 37 7.2.9 User Data Payload . 38 7.2.10 Macroblock Scan Indices Control 38 7.2.11 Macroblock Scan Indices Payload. 38 7.3 Compressed Payload . 39 7.3.1 Compressed Data .
9、39 7.3.1.1 DCT-Compressed Macroblock Data . 40 7.3.1.2 RLE-Compressed Alpha Macroblock Data . 42 7.3.1.3 Macroblock Scan-Line Padding 44 7.3.2 Compressed Payload Padding . 44 7.4 EOF Signature . 45 7.4.1 Verification of Data Integrity (Informative) 45 7.5 Illustrative Example (Informative) 46 SMPTE
10、ST 2019-1:2016 Page 3 of 108 pages 8 Decoding 47 8.1 Macroblock Decoding . 47 8.1.1 Video 47 8.1.2 Alpha 50 8.2 DCT block decoding . 50 8.2.1 Entropy Decoding . 50 8.2.2 Macroblock Header and Quantization Scale Factor 51 8.2.3 VLC Codeword Tables . 51 8.2.4 DC Coefficient Decoding 51 8.2.5 AC Coeffi
11、cient Entropy Decoding . 53 8.2.5.1 AC Coefficient Codeword Tables 53 8.2.5.2 AC Coefficient Decoding Pseudo Code 53 8.2.5.3 AC Coefficient Decoding Pseudo Code Process (Informative) 53 8.2.6 Inverse Zig-zag . 55 8.2.7 Inverse Quantization 55 8.2.8 Discrete Cosine Transform 56 8.2.8.1 8x8 Inverse DC
12、T . 56 8.2.8.2 8x8 Forward DCT (informative). 56 8.2.8.3 Video Sample Level Adjustment . 57 8.3 RLE Block Decoding 57 8.4 Best Practices (Informative) . 58 Annex A AC Coefficient Entropy Codeword Format (Normative) . 59 Annex B User Data Control and Payload Field Usage (Informative) 62 Annex C Compr
13、ession IDs (Normative) 63 Annex D Quantization Weighting Tables (Normative) 65 Annex E VLC Tables (Normative) . 76 Annex F System Overview (Informative) 101 Annex G Compressed Bitrates (Informative) 103 Annex H VC-3 Profiles and Levels (Informative) 106 Annex I Bibliography (Informative) 107 Annex J
14、 Revision History 108 SMPTE ST 2019-1:2016 Page 4 of 108 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 coun
15、tries 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 cooperates closely with other st
16、andards-developing organizations, including ISO, IEC and ITU. SMPTE Engineering Documents are drafted in accordance with the rules given in its Standards Operations Manual. SMPTE ST 2019-1 was prepared by Technology Committee 10E. Intellectual Property SMPTE draws attention to the fact that it is cl
17、aimed that compliance with this Standard may 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 willin
18、g to License all IPR it owns, and any third party 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
19、 holder of claimed IPR has filed a statement 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 no
20、t 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 “reserved” a
21、nd 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 implementation need no
22、t implement optional provisions (“may“) and need not implement them as described. 3 Normative References Note: All references in this document to other SMPTE documents use the current numbering style (e.g. SMPTE ST 274:2008) although, during a transitional phase, the document as published (printed o
23、r PDF) may bear an older designation (such as SMPTE 274M-2008). Documents with the same root number (e.g. 274) and publication year (e.g. 2008) are functionally identical. The following standards contain provisions which, through reference in this text, constitute provisions of this standard. At the
24、 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 ST 2019-1:2016 Page 7 of 108 page
25、s SMPTE ST 12-1:2014, Time and Control Code SMPTE ST 274:2008, Television 1920 x 1080 Image Sample Structure, Digital Representation and Digital Timing Reference Sequences for Multiple Picture Rates SMPTE ST 296:2012, 1280 x 720 Progressive Image 4:2:2 and 4:4:4 Sample Structure Analog and Digital R
26、epresentation and Analog Interface SMPTE ST 2036-1:2014, Ultra High Definition Television Image Parameter Values for Program Production Recommendation ITU-R BT.709-5 (04/02), Parameter Values for the HDTV Standards for Production and International Programme Exchange. Recommendation ITU-R BT.2020-1 (
27、06/2014), Parameter Values for Ultra-High Definition Television Systems for Production and International Program Exchange 4 Overview (Informative) This section provides a brief overview of the VC-3 decoding process. Annex F System Overview is an informative annex where one can find a description of
28、the system and encoding process for VC-3. The decoding process is depicted in Figure 1. The VC-3 bitstream contains a header region followed by entropy codes, which encode the quantized Discrete Cosine Transform (DCT) coefficients for video and optional DCT-encoded or RLE-encoded alpha blocks. As sh
29、own in the figure, the header region of the VC-3 compressed bitstream is parsed to determine information about the compressed bitstream. For Video data, entropy decoding is then performed, followed by inverse quantization. The inverse quantized coefficients are then transformed to the spatial domain
30、 via the Inverse Discrete Transform (IDCT), producing an initial output picture. For DCT-based Alpha the decoding process follows the Video path. For lossless Alpha data, the bitstream is decoded using a predictive, differential run-length encoding scheme, followed by zigzag reordering stage. The VC
31、-3 bitstream is intra-frame encoded, meaning that each compressed frame is independent of all other frames in the encoded bitstream. The remainder of this standard describes the video sampling structure (Section 6), the compressed frame format (Section 7), and the decoding process (Section 8). In ad
32、dition there are annexes that provide details regarding the entropy codeword format (Annex A), a suggested usage of the User Data Payload area (Annex B), the Compression ID definition tables (Annex C), the quantization tables (Annex D), the Variable Length Codeword (VLC) tables (Annex E), and compre
33、ssed frame bitrates (Annex G). SMPTE ST 2019-1:2016 Page 8 of 108 pages Figure 1 Overview of the decompression process (dashed elements are optional) 5 Notation The following notation is used in this document. 5.1 Values d Decimal value d xb Binary value x 0xH Hexadecimal value H 5.2 Arithmetic Oper
34、ators Addition Subtraction (as a binary operator) or negation (as a unary operator) Increment * or Multiplication Division | Absolute value: ,0 when x x x 0, 0 when xx ,0 when x x x () Sign: sgn( ) 1, 0 when xx sgn( ) 1, 0 when xx Header Parsing VLC Codeword Tables Quantization Weighting Tables Inpu
35、t VC-3 Compressed bitstream Output Picture Inverse Discrete Cosine Transform Entropy Decoding Inverse Quantization Alpha RLE- Decoding Loss-less Alpha Alpha Alpha Zig-Zag SMPTE ST 2019-1:2016 Page 9 of 108 pages Floor: Returns the largest integral value x Round to multiple: Returns the multiple of i
36、 closest to x 5.3 Logical Operators TRUE/FALSE convention: This document uses the convention that a variable or expression evaluating to a nonzero value is equivalent to a condition that is TRUE and a variable or expression evaluating to a zero value is equivalent to a condition that is FALSE. condi
37、tion; subsequent statement) (primary statement) specifies evaluation of initial statement followed by evaluation of condition, and if condition is true, specifies repeated execution of primary statement followed by subsequent statement until condition is no longer true if (condition) (statement) els
38、e (alternate statement) statement is executed if condition is true, alternate statement is executed otherwise. switch (discriminator) case (value1),(value2), (value3), (value4): (statement1); break; case (value5),(value6), (value7), (value8): (statement2); break; (statement1) is executed if (discrim
39、inator) matches any of the (values) following the case label. SMPTE ST 2019-1:2016 Page 11 of 108 pages 5.9 Definition of Terminology For the purposes of this standard, the following definitions apply: 5.9.1 AC coefficient Any DCT coefficient for which the frequency in one or both dimensions is non-
40、zero. 5.9.2 alpha The opacity of a pixel. A logical value of 0.0 denotes complete transparency, while a logic value of 1.0 denotes complete opacity. 5.9.3 amplitude The absolute value of a DCT coefficient. 5.9.4 bitstream An ordered series of bits that forms the coded representation of the data. 5.9
41、.5 bitrate The (bit) data rate at which the decoder consumes the bits of the input bitstream. 5.9.6 block An 8 x 8 matrix of samples, or 64 equivalent transform coefficients. 5.9.7 byte-aligned A bit in a coded bitstream is byte-aligned if its position is a multiple of 8 bits from the first bit in t
42、he stream. 5.9.8 byte A sequence of 8 bits. 5.9.9 CBR Constant bitrate encoding. The output data per time segment is constant. 5.9.10 coding unit A self-contained VC-3 data segment. A coding unit is comprised of a Header, a Compressed Payload, and an End of Frame signature data section. Progressive
43、frames require a single coding unit, while interlaced frames require two coding units, one for each field. 5.9.11 component A matrix, block or single sample from one of the three matrices (one luma matrix and two color difference matrices or an RGB triplet) that make up a picture. 5.9.12 compressed
44、payload The section of data which contains the compressed data of a coding unit. 5.9.13 compression Reduction in the number of bits used to represent an item of data. 5.9.14 compression ID A unique identifier associated with a sample bit depth and encoding parameters such as variable length codeword
45、 tables and quantization weights. For HD bitstreams the Compression ID also implies the raster size and compressed frame size. This implication does not apply to RI-based bitstreams. SMPTE ST 2019-1:2016 Page 12 of 108 pages 5.9.15 DC coefficient The DCT coefficient for which the frequency is zero i
46、n both dimensions. 5.9.16 decoder An embodiment of a decoding process. 5.9.17 decoding process The process defined whereby a compressed bitstream is converted to a picture. The decoding process does not include the display rendering process, which can convert these samples to images of another color
47、space, can apply format specific black and white levels, color primaries, matrix coefficients sample aspect ratios, etc., and can display the images with frequency and timing different from the sampled rate. 5.9.18 dequantization The process of rescaling the quantized transform coefficients after th
48、eir representation in the bitstream has been decoded and before they are presented to the inverse transform. 5.9.19 display process The (non-normative) process by which reconstructed frames are displayed. 5.9.20 encoder An embodiment of an encoding process. 5.9.21 encoding (process) A process which
49、reads a stream of input pictures and produces a valid coded bitstream. 5.9.22 flag A variable which can take one of only two values is called a flag. 5.9.23 Frame A frame contains lines of spatial information of a video signal. For progressive video, these lines contain samples starting from one time instant and continuing through successive lines to the bottom of the frame. For interlaced video, a frame consists of two fields. 5.9.24 field
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1