RFC 2190 (rfc2190) - Page 4 of 12
RTP Payload Format for H
Alternative Format: Original Text Document
RFC 2190 RTP Payload Format for H.263 Video Streams September 1997 If the GOB header is present in a GOB, motion vectors are coded with reference to MBs in the current GOB only. If a GOB header is not present in the current GOB, three motion vectors must be available to decode one macroblock, where two of them might come from the previous GOB. To correctly decode a whole inter-coded GOB, all the motion vectors for MBs in the previous GOB must be available to compute the predictors or the predictors themselves must be present. The optional use of three motion vector predictors can be a major problem for a packetization scheme like the one defined for H.261 when packetizing at MB boundaries [5]. Consider the case that a packet starts with a MB but the GOB header is not present. If the previous packet is lost, then all the motion vectors needed to predict the motion vectors for the MBs in the current GOB are not available. In order to decode the received MBs correctly, all the motion vectors for the previous GOB or the motion vector predictors would have to be duplicated at the beginning of the packet. This kind of duplication would be very expensive and unacceptable in terms of bandwidth overhead. The encoding strategy of each H.263 CODEC (CODer and DECoder) implementation is beyond the scope of this document, even though it has significant effect on visual quality in the presence of packet loss. However, we strongly recommend use of the GOB header for every GOB at the beginning of a packet to address this problem. Similar problems exist because of cross-GOB data dependency related to motion vectors, but they can not be addressed by using the GOB header. For 16CIF and 4CIF pictures, a GOB contains more than one row of MBs. If a GOB can not fit in one RTP packet, and the first packet containing the GOB header is lost, then MBs in the second packet can not compute motion vectors correctly, because they are coded relative to data in the lost packet. Similarly, when OBMC (Overlapped Block Motion Compensation) [4] in Advanced Prediction mode is used, motion compensation for some MBs in one GOB could use motion vectors of MBs in previous GOB regardless of the presence of GOB header. When MBs that are used to decode received MBs are lost, those received MBs can not be decoded correctly. Each implementation of the method described in this document should take these limitations into account. Zhu Standards Track



