CONTENTS

 1     Scope
 2     References
 3     Brief specification
        3.1     Video input and output
        3.2     Digital output and input
        3.3     Sampling frequency
        3.4     Source coding algorithm
                  3.4.1     Continuous Presence Multipoint and Video Multiplex mode
                  3.4.2     Unrestricted Motion Vector mode
                  3.4.3     Syntax-based Arithmetic Coding mode
                  3.4.4     Advanced Prediction mode
                  3.4.5     PB-frames mode
                  3.4.6     Forward Error Correction
                  3.4.7     Advanced INTRA Coding mode
                  3.4.8     Deblocking Filter mode
                  3.4.9     Slice Structured mode
                 3.4.10     Supplemental enhancement information
                 3.4.11     Improved PB-frames mode
                 3.4.12     Reference Picture Selection mode
                 3.4.13     Temporal, SNR and Spatial Scalability mode
                 3.4.14     Reference Picture Resampling mode
                 3.4.15     Reduced-Resolution Update mode
                 3.4.16     Independent Segment Decoding mode
                 3.4.17     Alternative INTER VLC mode
                 3.4.18     Modified Quantization mode
        3.5     Bit rate
        3.6     Buffering
        3.7     Symmetry of transmission
        3.8     Error handling
        3.9     Multipoint operation
 4     Source coder
        4.1     Source format
        4.2     Video source coding algorithm
                  4.2.1     GOBs, slices, macroblocks and blocks
                  4.2.2     Prediction
                  4.2.3     Motion compensation
                  4.2.4     Quantization
        4.3     Coding control
        4.4     Forced updating
        4.5     Byte alignment of start codes
 5     Syntax and semantics
        5.1     Picture layer
                  5.1.1     Picture Start Code (PSC) (22 bits)
                  5.1.2     Temporal Reference (TR) (8 bits)
                  5.1.3     Type Information (PTYPE) (Variable Length)
                  5.1.4     Plus PTYPE (PLUSPTYPE) (Variable Length)
                  5.1.5     Custom Picture Format (CPFMT) (23 bits)
                  5.1.6     Extended Pixel Aspect Ratio (EPAR) (16 bits)
                  5.1.7     Custom Picture Clock Frequency Code (CPCFC) (8 bits)
                  5.1.8     Extended Temporal Reference (ETR) (2 bits)
                  5.1.9     Unlimited Unrestricted Motion Vectors Indicator (UUI) (Variable length)
                 5.1.10     Slice Structured Submode bits (SSS) (2 bits)
                 5.1.11     Enhancement Layer Number (ELNUM) (4 bits)
                 5.1.12     Reference Layer Number (RLNUM) (4 bits)
                 5.1.13     Reference Picture Selection Mode Flags (RPSMF) (3 bits)
                 5.1.14     Temporal Reference for Prediction Indication (TRPI) (1 bit)
                 5.1.15     Temporal Reference for Prediction (TRP) (10 bits)
                 5.1.16     Back-Channel message Indication (BCI) (Variable length)
                 5.1.17     Back-Channel Message (BCM) (Variable length)
                 5.1.18     Reference Picture Resampling Parameters (RPRP) (Variable length)
                 5.1.19     Quantizer Information (PQUANT) (5 bits)
                 5.1.20     Continuous Presence Multipoint and Video Multiplex (CPM) (1 bit)
                 5.1.21     Picture Sub-Bitstream Indicator (PSBI) (2 bits)
                 5.1.22     Temporal Reference for B-pictures in PB-frames (TRB) (3/5 bits)
                 5.1.23     Quantization information for B-pictures in PB-frames (DBQUANT) (2 bits)
                 5.1.24     Extra Insertion Information (PEI) (1 bit)
                 5.1.25     Supplemental Enhancement Information (PSUPP) (0/8/16 ... bits)
                 5.1.26     Stuffing (ESTUF) (Variable length)
                 5.1.27     End Of Sequence (EOS) (22 bits)
                 5.1.28     Stuffing (PSTUF) (Variable length)
        5.2     Group of Blocks Layer
                  5.2.1     Stuffing (GSTUF) (Variable length)
                  5.2.2     Group of Block Start Code (GBSC) (17 bits)
                  5.2.3     Group Number (GN) (5 bits)
                  5.2.4     GOB Sub-Bitstream Indicator (GSBI) (2 bits)
                  5.2.5     GOB Frame ID (GFID) (2 bits)
                  5.2.6     Quantizer Information (GQUANT) (5 bits)
        5.3     Macroblock layer
                  5.3.1     Coded macroblock indication (COD) (1 bit)
                  5.3.2     Macroblock type & Coded Block Pattern for Chrominance (MCBPC) (Variable length)
                  5.3.3     Macroblock mode for B-blocks (MODB) (Variable length)
                  5.3.4     Coded Block Pattern for B-blocks (CBPB) (6 bits)
                  5.3.5     Coded Block Pattern for luminance (CBPY) (Variable length)
                  5.3.6     Quantizer Information (DQUANT) (2 bits/Variable Length)
                  5.3.7     Motion Vector Data (MVD) (Variable length)
                  5.3.8     Motion Vector Data (MVD2-4) (Variable length)
                  5.3.9     Motion Vector Data for B-macroblock (MVDB) (Variable length)
        5.4     Block layer
                  5.4.1     DC coefficient for INTRA blocks (INTRADC) (8 bits)
                  5.4.2     Transform Coefficient (TCOEF) (Variable length)
 6     Decoding process
        6.1     Motion compensation
                  6.1.1     Differential motion vectors
                  6.1.2     Interpolation for subpixel prediction
        6.2     Coefficients decoding
                  6.2.1     Inverse quantization
                  6.2.2     Clipping of reconstruction levels
                  6.2.3     Zigzag positioning
                  6.2.4     Inverse transform
        6.3     Reconstruction of blocks
                  6.3.1     Summation
                  6.3.2     Clipping
Annex A – Inverse transform accuracy specification
Annex B – Hypothetical Reference Decoder
Annex C – Considerations for multipoint
        C.1     Freeze picture request
        C.2     Fast update request
        C.3     Freeze picture release
        C.4     Continuous Presence Multipoint and Video Multiplexing (CPM)
                  C.4.1     End Of Sub-Bitstream code (EOSBS) (23 bits)
                  C.4.2     Ending Sub-Bitstream Indicator (ESBI) (2 bits)
Annex D – Unrestricted Motion Vector mode
        D.1     Motion vectors over picture boundaries
                  D.1.1     Restrictions for motion vector values
        D.2     Extension of the motion vector range
Annex E – Syntax-based Arithmetic Coding mode
        E.1     Introduction
        E.2     Specification of SAC encoder
        E.3     Specification of SAC decoder
        E.4     Syntax
        E.5     PSC_FIFO
        E.6     Header layer symbols
        E.7     Macroblock and Block layer symbols
        E.8     SAC models
Annex F – Advanced Prediction mode
        F.1     Introduction
        F.2     Four motion vectors per macroblock
        F.3     Overlapped motion compensation for luminance
Annex G – PB-frames mode
        G.1     Introduction
        G.2     PB-frames and INTRA blocks
        G.3     Block layer
        G.4     Calculation of vectors for the B-picture in a PB-frame
        G.5     Prediction of a B-block in a PB-frame
Annex H – Forward error correction for coded video signal
        H.1     Introduction
        H.2     Error correction framing
        H.3     Error correcting code
        H.4     Relock time for error corrector framing
Annex I – Advanced INTRA Coding mode
        I.1     Introduction
        I.2     Syntax
        I.3     Decoding process
Annex J – Deblocking Filter mode
        J.1     Introduction
        J.2     Relation to UMV and AP modes (Annexes D and F)
        J.3     Definition of the deblocking edge filter
Annex K – Slice Structured mode
        K.1     Introduction
        K.2     Structure of slice layer
                  K.2.1     Stuffing (SSTUF) (Variable length)
                  K.2.2     Slice Start Code (SSC) (17 bits)
                  K.2.3     Slice Emulation Prevention Bit 1 (SEPB1) (1 bit)
                  K.2.4     Slice Sub-Bitstream Indicator (SSBI) (4 bits)
                  K.2.5     Macroblock Address (MBA) (5/6/7/9/11/12/13/14 bits)
                  K.2.6     Slice Emulation Prevention Bit 2 (SEPB2) (1 bit)
                  K.2.7     Quantizer Information (SQUANT) (5 bits)
                  K.2.8     Slice Width Indication in Macroblocks (SWI) (3/4/5/6/7 bits)
                  K.2.9     Slice Emulation Prevention Bit 3 (SEPB3) (1 bit)
Annex L – Supplemental Enhancement Information Specification
        L.1     Introduction
        L.2     PSUPP format
        L.3     Do Nothing
        L.4     Full-Picture Freeze Request
        L.5     Partial-Picture Freeze Request
        L.6     Resizing Partial-Picture Freeze Request
        L.7     Partial-Picture Freeze-Release Request
        L.8     Full-Picture Snapshot Tag
        L.9     Partial-Picture Snapshot Tag
       L.10     Video Time Segment Start Tag
       L.11     Video Time Segment End Tag
       L.12     Progressive Refinement Segment Start Tag
       L.13     Progressive Refinement Segment End Tag
       L.14     Chroma Keying Information
       L.15     Extended Function Type
Annex M – Improved PB-frames mode
        M.1     Introduction
        M.2     BPB-macroblock prediction modes
                  M.2.1     Bidirectional prediction
                  M.2.2     Forward prediction
                  M.2.3     Backward prediction
        M.3     Calculation of vectors for bidirectional prediction of a the B-macroblock
        M.4     MODB table
Annex N – Reference Picture Selection mode
        N.1     Introduction
        N.2     Video source coding algorithm
        N.3     Channel for back-channel messages
                  N.3.1     Separate logical channel mode
                  N.3.2     Videomux mode
        N.4     Syntax
                  N.4.1     Forward channel
                  N.4.2     Back-Channel Message (BCM) syntax
        N.5     Decoder process
Annex O – Temporal, SNR, and Spatial Scalability mode
        O.1     Overview
                  O.1.1     Temporal scalability
                  O.1.2     SNR scalability
                  O.1.3     Spatial scalability
                  O.1.4     Multilayer scalability
        O.2     Transmission order of pictures
        O.3     Picture layer syntax
        O.4     Macroblock layer syntax
                  O.4.1     Coded macroblock indication (COD) (1 bit)
                  O.4.2     MBTYPE/MCBPC (VLC)
                  O.4.3     Coded Block Pattern for Chrominance (CBPC) (Variable length)
                  O.4.4     Coded Block Pattern for Luminance (CBPY) (Variable length)
                  O.4.5     Quantizer Information (DQUANT) (2 bits/Variable length)
                  O.4.6     Motion vector data (MVDFW, MVDBW) (Variable length)
        O.5     Motion vector decoding
                  O.5.1     Differential motion vectors
                  O.5.2     Motion vectors in direct mode
        O.6     Interpolation filters
Annex P – Reference picture resampling
        P.1     Introduction
        P.2     Syntax
                  P.2.1     Warping Displacement Accuracy (WDA) (2 bits)
                  P.2.2     Warping parameters (Variable length)
                  P.2.3     Fill Mode (FILL_MODE) (2 bits)
                  P.2.4     Fill Color Specification (Y_FILL, CB_EPB, CB_FILL, CR_EPB, CR_FILL) (26 bits)
        P.3     Resampling algorithm
        P.4     Example of implementation
                  P.4.1     Displacements of virtual points
                  P.4.2     Resampling algorithm
        P.5     Factor-of-4 resampling
                  P.5.1     Factor-of-4 upsampling
                  P.5.2     Factor-of-4 downsampling
Annex Q – Reduced-Resolution Update mode
        Q.1     Introduction
        Q.2     Decoding procedure
                  Q.2.1     Reference preparation
                  Q.2.2     Macroblock layer decoding
                  Q.2.3     Picture store
                  Q.2.4     Display
        Q.3     Extension of referenced picture
        Q.4     Reconstruction of motion vectors
        Q.5     Enlarged overlapped motion compensation for luminance
        Q.6     Upsampling of the reduced-resolution reconstructed prediction error
                  Q.6.1     Upsampling procedure for the pixels inside a 16 × 16 reconstructed prediction error block
                  Q.6.2     Upsampling procdedure for the pixels at the boundary of 16 × 16 reconstructed prediction error block
        Q.7     Block boundary filter
                  Q.7.1     Definition of the default block boundary filter
                  Q.7.2     Definition of the block boundary filter when Deblocking Filter mode is used
Annex R – Independent Segment Decoding mode
        R.1     Introduction
        R.2     Mode operation
        R.3     Constraints on usage
                  R.3.1     Constraint on segment shapes
                  R.3.2     Constraint on changes of segment shapes
Annex S – Alternative INTER VLC mode
        S.1     Introduction
        S.2     Alternative INTER VLC for coefficients
                  S.2.1     Encoder action
                  S.2.2     Decoder action
        S.3     Alternative INTER VLC for CBPY
Annex T – Modified Quantization mode
        T.1     Introduction
        T.2     Modified DQUANT Update
                  T.2.1     Small-step QUANT alteration
                  T.2.2     Arbitrary QUANT selection
        T.3     Altered quantization step size for chrominance coefficients
        T.4     Modified coefficient range
        T.5     Usage restrictions
Appendix I – Error tracking
        I.1     Introduction
        I.2     Error tracking
Appendix II – Recommended Optional Enhancement
       II.1     Introduction
       II.2     Levels of preferred mode support
                 II.2.1     Level 1 preferred modes
                 II.2.2     Level 2 preferred modes
                 II.2.3     Level 3 preferred modes
       II.3     Picture formats and picture clock frequencies