RFC 2035 (rfc2035) - Page 3 of 16


RTP Payload Format for JPEG-compressed Video



Alternative Format: Original Text Document



RFC 2035           RTP Payload Format for JPEG Video        October 1996


   baseline JPEG, many hardware implementation fall short of the
   baseline specification (e.g., most hardware cannot decode non-
   interleaved scans).

   In practice, most of the table-specification data rarely changes from
   frame to frame within a single video stream.  Therefore, RTP/JPEG
   data is represented in abbreviated format, with all of the tables
   omitted from the bit stream.  Each image begins immediately with the
   (single) entropy-coded scan.  The information that would otherwise be
   in both the frame and scan headers is represented entirely within a
   64-bit RTP/JPEG header (defined below) that lies between the RTP
   header and the JPEG scan and is present in every packet.

   While parameters like Huffman tables and color space are likely to
   remain fixed for the lifetime of the video stream, other parameters
   should be allowed to vary, notably the quantization tables and image
   size (e.g., to implement rate-adaptive transmission or allow a user
   to adjust the "quality level" or resolution manually).  Thus explicit
   fields in the RTP/JPEG header are allocated to represent this
   information.  Since only a small set of quantization tables are
   typically used, we encode the entire set of quantization tables in a
   small integer field.  The image width and height are encoded
   explicitly.

   Because JPEG frames are typically larger than the underlying
   network's maximum packet size, frames must often be fragmented into
   several packets.  One approach is to allow the network layer below
   RTP (e.g., IP) to perform the fragmentation.  However, this precludes
   rate-controlling the resulting packet stream or partial delivery in
   the presence of loss.  For example, IP will not deliver a fragmented
   datagram to the application if one or more fragments is lost, or IP
   might fragment an 8000 byte frame into a burst of 8 back-to-back
   packets.  Instead, RTP/JPEG defines a simple fragmentation and
   reassembly scheme at the RTP level.

3.  RTP/JPEG Packet Format

   The RTP timestamp is in units of 90000Hz.  The same timestamp must
   appear across all fragments of a single frame.  The RTP marker bit is
   set in the last packet of a frame.











Berc, et. al.               Standards Track