Source Coding Algorithm

    A hybrid of inter-picture prediction to utilize temporal redundancy and transform coding of the remaining signal to reduce spatial redundancy is adopted. The decoder has motion compensation capability, allowing optional incorporation of this technique in the coder. Half pixel precision is used for the motion compensation, as opposed to Recommendation H.261 where full pixel precision and a loopfilter are used. Varable length coding is used for the
symbols to be transmitted.

    In addition to the core H.263 coding algorithm, four negotiable coding options are included
that will be described in the subsequent subclauses. All these options can be used together or
separately.
Unrestricted Motion Vector mode
          In this optional mode motion vectors are allowed to point outside the picture. The edge
          pixels are used as prediction for the "not existing" pixels.With this mode a sigmificant gain
          is achieved if there is movement across the edges of the picture, especially for the smaller
          picture formats.
Syntax-based Arithmetic Coding mode
          In this optional mode arithmetic coding is used instead of variable length coding. The
          SNRand reconstructed pictures will be the same, but significantly fewer bits will be
          produced.
Advanced Prediction mode
         In this optional mode Overlapped Block Motion Compensation(OBMC) is used for
         the luminance part of P-pictures. Four 8x8 vectors instead of one 16x16 vector are
         used for some of the macroblocks in the picture. The encoder has to decide which
         type of vectors to use. Four vectors use more bits, but give better prediction.
PB-frames mode
         A PB-frame consists of two pictures being coded as one unit. The name PB comes
         from the name of picture types in Recommendation H.262 where there are P-pictures
         and B-pictures. One P-picture is predicted from the previous decoded P-picture and
         one B-picture is predicted from both the previous decoded P-picture and the
         P-picture currently being decoded. The name B-picture was chosen because parts
         of B-pictures may be bidirectionally without increasing the bit rate much.

    In addition, the encoder shall control its output bit stream to comply with the requirements of the hypothetical reference decoder. The number of bits created by coding any coding any single picture shall not exceed a maximum value specified by the parameter BPPmaxKb which is measured in units of 1024 bits. The minimum allowable value of the BPPmaxKb parameter depends on the largest source picture format that has been negotiated for use in the bit stream(see Figure  as followed).
 

    Another, error handling should be provided by external means (for example Recommendation H.223). If it is not provided by external means (for example in Recommendation H.221) the optional error correction code and framing as described in Annex H (please reference Recommendation H.263). In addition, a decoder can send a command to encode one or more GOBs(Group of Blocks) of its next picture in INTRA mode with coding parameters such as to avoid buffer overflow. A decoder can also send a command to transmit only non-empty GOB headers. The transmission method for
these signals is by external means(for example Recommendation H.245).