1、 Copyright 2008 by THE SOCIETY OF Approved MOTION PICTURE AND TELEVISION ENGINEERS July 10, 2008 3 Barker Avenue, White Plains, NY 10601 (914) 761-1100 _ RP 228-2008 Revision of RP 228-2007 SMPTE RECOMMENDED PRACTICE VC-1 Decoder and Bitstream Conformance _ Intellectual property notice Copyright 200
2、3-2007 THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 3 Barker Avenue, White Plains, NY 10601 White Plains, NY 10601 +1 914 761 1100 Fax +1 914 761-3115 E-mail engsmpte.org Web http:/www.smpte.org The users attention is called to the possibility that compliance with this document may require
3、 use of inventions covered by patent rights. By publication of this document, no position is taken with respect to the validity of these claims or of any patent rights in connection therewith. The patent holders have, however, filed statements of willingness to grant a license under these rights on
4、fair, reasonable and nondiscriminatory terms and conditions to applicants desiring to obtain such a license. Contact information may be obtained from the SMPTE. No representation or warranty is made or implied that these are the only licenses that may be required to avoid infringement in the use of
5、this document. RP 228-2008 Page 2 of 29 pages Table of Contents Page Foreword . 3 Introduction 4 1 Scope . 5 2 Normative References 5 3 Conformance Notation 5 4 Description of Materials 6 4.1 Reference Decoder Software. 6 4.2 Test bitstreams 6 4.3 Sample Encoder Software (Informative) . 6 5 Conforma
6、nce Testing Procedure 7 5.1 Decoder testing procedure 7 5.1.1 Order conformance testing. 7 5.1.2 Time conformance testing 7 5.1.3 Recommendations (informative) 7 5.2 Bitstream testing procedure 7 Annex A Test Bitstream Summary (Normative) 9 A.1 Simple Profile Low Level and Simple Profile Medium Leve
7、l Coding Tools 9 A.2 Main Profile Low Level Coding Tools.10 A.3 Main Profile Medium Level Coding Tools 11 A.4 Main Profile High Level Coding Tools12 A.5 Advanced Profile Level 0 Coding Tools .13 A.6 Advanced Profile Level 1 Coding Tools (Part 1) 14 A.7 Advanced Profile Level 1 Coding Tools (Part 2)
8、15 A.8 Advanced Profile Level 1 Coding Tools (Part 3) 16 A.9 Advanced Profile Level 2 Coding Tools .17 A.10 Advanced Profile Level 3 Coding Tools18 A.11 Advanced Profile Level 4 Coding Tools .19 A.12 Metadata (Part 1).20 A.13 Metadata (Part 2) 21 Annex B Decoder Output Metadata (Informative) 22 Anne
9、x C Test Materials Inventory (Informative) .23 Revision Notes.29 RP 228-2008 Page 3 of 29 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,
10、SMPTE has 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
11、 cooperates 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. This SMPTE Recommended Practice was prepared by Technology Committee C24. RP 228-200
12、8 Page 4 of 29 pages Introduction This section is entirely informative and does not form an integral part of this Recommended Practice. This conformance document was initiated by C24 in response to the need to test conformance to the VC-1 bitstream syntax and the need for reference decoder software
13、and test bitstreams to ensure proper interpretation of the SMPTE 421M standard. RP 228-2008 Page 5 of 29 pages VC-1 Decoder and Bitstream Conformance 1 Scope This document specifies the materials, procedures and criteria for verifying conformance of SMPTE VC-1 video decoders and bitstreams. 2 Normat
14、ive References The following standards contain provisions which, through reference in this text, constitute provisions of this recommended practice. At the time of publication, the editions indicated were valid. All standards are subject to revision, and parties to agreements based on this recommend
15、ed practice are encouraged to investigate the possibility of applying the most recent edition of the standards indicated below. SMPTE Standard 421M-2006 and Amendment 1-2007, VC-1 Compressed Video Bitstream Format and Decoding Process SMPTE VC-1 Reference Decoder Software Material SMPTE VC-1 Test Bi
16、tstream Material 3 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 can be
17、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 start wi
18、th “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 suitable,
19、 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 permissible w
20、ithin 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. RP 228-
21、2008 Page 6 of 29 pages 4 Description of materials 4.1 Reference Decoder Software The reference decoder shall be used for testing bitstream conformance and shall implement the complete decoding process specified in SMPTE 421M. The reference decoder in the form of an ANSI C utility together with asso
22、ciated documentation (instructions for installing, building and running the software) are available from SMPTE (http:/store.smpte.org/VC-1-Test-Material-p/vc-1.htm). The output format for the reference decoder is a header-less binary file of YCbCr4:2:0, with the separate planes written in 8-bit samp
23、le order (Y, then Cb, then Cr). For interlaced decoded frames, the output comprises full-height frames with interleaved fields. Because the decoding process is mathematically lossless, the output data from the reference decoder shall be the reference output for any given input bitstream as described
24、 in Section 5.1.1 below. 4.2 Test bitstreams The set of bitstreams to be used for testing decoder conformance is specified in Annex A and is available from SMPTE (http:/store.smpte.org/VC-1-Test-Material-p/vc-1.htm). All of the bitstreams shall conform to SMPTE 421M as defined in Section 5.2 below.
25、The encoding parameters shown in Tables A.1 A.11 and metadata shown in Tables A.12 A.13 are defined in SMPTE 421M. The set of test bitstreams is not intended to represent all possible combinations of encoding parameters and tools specified in SMPTE 421M. Rather, the set of bitstreams was developed a
26、ccording to the following guidelines: Encoding parameters and tools normative to the decoding process are tested. Parameters and tools specific to the display process are not tested, as the display process is outside the scope of the SMPTE 421M standard. Carriage of metadata is tested. Interpretatio
27、n of metadata is not tested, as post-processing and the display process are outside the scope of the SMPTE 421M standard (see SMPTE 421M Figure 5). Parameters and tools are tested in isolation to allow for error diagnosis. Combinations of parameters and tools that represent edge conditions for the d
28、ecoder are tested. Parameters and tools that have been thoroughly tested at lower levels of a particular profile are not tested as conformance is already guaranteed by testing at the lower level of the profile. The Comments column in each table contains notes explaining the general purpose of indivi
29、dual bitstreams. Simple and Main Profile bitstreams are provided in Bitstream Metedata Serialization format, details of which can be found in Annex L of SMPTE 421M. Advanced Profile bitstreams are provided as elementary bitstreams as defined in SMPTE 421M. 4.3 Sample Encoder Software (Informative) A
30、 sample encoder in the form of an ANSI C utility together with associated documentation (instructions for installing, building and running the software) is available from SMPTE (http:/store.smpte.org/VC-1-Test-Material-p/vc-1.htm). The sample encoder is included with the test materials described abo
31、ve for informational purposes only and is not used for any of the normative conformance tests described in this document. RP 228-2008 Page 7 of 29 pages 5 Conformance Testing Procedure The following sub-sections specify the normative tests for verifying conformance of a VC-1 video bitstream or decod
32、er to SMPTE 421M. These tests make use of the bitstream test suite (specified in Annex A of this document) and of the reference software decoder available from SMPTE (http:/store.smpte.org/VC-1-Test-Material-p/vc-1.htm). 5.1 Decoder Testing Procedure Decoder Testing is a process intended to verify t
33、hat a candidate decoder implementation is conformant to the decoding process as specified in SMPTE 421M. Although a failure of any of the following tests is sufficient to identify the candidate decoder as non-conformant, successful completion of all tests represents a high confidence of conformance
34、but not absolute certainty. 5.1.1 Order conformance testing When processing the set of test bitstreams specified in Annex A, a decoder that outputs reconstructed samples and associated display metadata identical to those output by the reference software decoder will be considered order conformant (a
35、s specified in Section 5.4 of SMPTE 421M). Order conformance testing is performed statically on the candidate implementation (i.e., with no time restriction on the completion of decoding the test material). Testing is performed by binary comparison of the data output by the candidate decoder at the
36、conformance point to the data output by the reference decoder. Any binary mismatch is considered a failure. Note: Order conformance testing is intended to verify the algorithmic correctness of a candidate decoder. Such testing is normally performed during the design or development process of an impl
37、ementation, and as such access to the data required for such testing may not be available in a fully-productized decoder implementation (e.g. a finished product with ancillary support functionality). Note: Because VC-1 is specified as a bit-exact decoding process, full binary matching of the outputs
38、 of the candidate decoder and the reference decoder provides both the highest possible confidence in the comparison and useful troubleshooting information in the event of a failure. Other techniques, such as generating some type of mathematical summary of the decoded output for comparison, have gene
39、rally been found to be less reliable or excessively computationally intensive. 5.1.2 Time conformance testing When processing the set of test bitstreams specified in Annex A, a decoder that conforms to the specification of Section C.6 of SMPTE 421M will be considered time-conformant. Note: Most mode
40、rn digital video systems implement timing and synchronization at the transport level. Elementary bitstreams, as processed by the decoding process specified in SMPTE 421M, have no intrinsic timing information. Although it may be a natural response to infer a time deadline for the decoding process bas
41、ed on common usage, because such constraints are actually placed on the system by the transport layer, they are outside the scope of the conformance testing process described in this document. 5.1.3 Recommendations (Informative) Following the loss or corruption of part of a bitstream, it is recommen
42、ded that a conformant decoder resume the decoding process as soon as possible, for example at the following start code or slice header. In the event that all coded data for a macroblock or video packet is not received, it is further recommended that a conformant decoder perform concealment. 5.2 Bits
43、tream Testing Procedure A bitstream shall be conformant if and only if all three of the conditions below are satisfied: The bitstream conforms to the syntax and semantics specified in SMPTE 421M and RP 228-2008 Page 8 of 29 pages The reference software decoder completes the decoding process for the
44、bitstream without reporting any warnings and / or errors and The reference software decoder successfully and completely produces the following items for the bitstream: a. 4:2:0 YCbCr output for all pictures in the bitstream and b. Display metadata output. RP 228-2008 Page 9 of 29 pages Annex A (Norm
45、ative) Test Bitstream Summary A.1 Simple Profile Low Level and Simple Profile Medium Level Coding Tools Bitstream NameProfileLevelVideoTypeBitrate (kbps)Source WidthSourceHeightFrame RateTransformSwitchingOverlap TransformQuantizerSpecifierRange ReductionRange Mapping(see notebelow)Loop FilterB-Fram
46、esMacroblockQuantizationIntensity CompensationLong MotionVectorsMulti-ResolutionPicture vs.DisplayStartCodes (see notebelow)End ofSequenceCodeSlice CodingUserDataByteStuffingFieldStartCodeField OrderCommentsSSL0013SPLL Prog 20 128 96 101 1 0 -Check bitrate/framerate/resolution combinations with defa
47、ult settingsSSL0014 SPLL Prog30 160 120101 1 0 -SSL0015 SPLL Prog60176 14 151 1 0 -SSL0016SPLL Prog 30 128 96 100 0 0 -Check transform switching and overlap transformSSL0017 SPLL Prog30 160 120100 1 0 -SSL0018 SPLL Prog30176 1412.51 0 0 -SSL0019 SPLL Prog30 160 120100 0 3 -Check quantizer specifierS
48、SL0020 SPLL Prog20 160 120100 0 2 -SSL0021 SPLL Prog60176 1412.51 1 3 -Check multiple modesSSL0022 SPLL Prog3010 10 101 1 0 -SSM0010SPML Prog 120 320 240151 1 0 -Check bitrate/framerate/resolution combinations with default settingsSSM0011 SPML Prog 80176 144101 1 0 -SSM0012 SPML Prog 250 352 2812.51 1 0 -SSM0013SPML Prog 120 320 240151 0