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