RFC 2190 (rfc2190) - Page 3 of 12
RTP Payload Format for H
Alternative Format: Original Text Document
RFC 2190 RTP Payload Format for H.263 Video Streams September 1997 Syntax-based Arithmetic Coding (SAC): When the SAC option is used, the resultant run-value pair after quantization of Discrete Cosine Transform (DCT) coefficients will be coded differently from Huffman codes, but the macroblock hierarchy will be preserved. Since context variables are only synchronized after fixed length codes in the bitstream, any fragmentation starting at variable length codes will result in difficulty in decoding in the presence of packet loss without carrying the values of all the context variables in each H.263 payload header. The Unrestricted motion vectors feature allows large range of motion vectors to improve performance of motion compensation for inter-coded pictures. This option also affects packetization because it uses larger range of motion vectors than normal. To enable proper decoding of packets received, without dependency on previous packets, the use of these optional features is signaled in the H.263 payload header, as described in Section 5. 3.2 GOB Numbering In H.263, each picture is divided into groups of blocks (GOB). GOBs are numbered according to a vertical scan of a picture, starting with the top GOB and ending with the bottom GOB. In contrast, a GOB in H.261 is composed of three rows of 16x16 MB for QCIF, and three half-rows of MBs for CIF. A GOB is divided into macroblocks in H.263 and the definition of the macroblocks are the same as in H.261. Each GOB in H.263 can have a fixed GOB header, but the use of the header is optional. If the GOB header is present, it may or may not start on a byte boundary. Byte alignment can be achieved by proper bit stuffing by the encoder, but it is not required by the H.263 bitstream specification [4]. In summary, a GOB in H.263 is defined and coded with finer granularity but with the same source format, resulting in more flexibility for packetization than with H.261. 3.3 Motion Vector Encoding Differential coding is used to code motion vectors as variable length codes. Unlike in H.261, where each motion vector is predicted from the previous MB in the GOB, H.263 employs a more flexible prediction scheme, where one or three candidate predictors could be used depending on the presence of GOB headers. Zhu Standards Track



