One document matched: draft-perkins-rtp-redundancy-01.txt
Differences from draft-perkins-rtp-redundancy-00.txt
INTERNET-DRAFT 19 July 1996
Expire in six months
Mark Handley
Vicky Hardman
Isidor Kouvelas
Colin Perkins
UniversityCollege London
Jean-Chrysostome Bolot
Andres Vega-Garcia
Sacha Fosse-Parisis
INRIA Sophia Antipolis
Payload Format Issues for Redundant Encodings in RTP
draft-perkins-rtp-redundancy-01.txt
Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its
areas, and its working groups. Note that other groups may also
distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of
six months and may be updated, replaced, or obsoleted by
other documents at any time. It is inappropriate to use
Internet-Drafts as reference material or to cite them other
than as ``work in progress.'' To learn the current status
of any Internet-Draft, please check the ``1id-abstracts.txt''
listing contained in the Internet-Drafts Shadow Directories
on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au
(Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu
(US West Coast).
Distribution of this document is unlimited.
Comments are solicited and should be addressed to the authors
and/or the AVT working group's mailing list at rem-conf@es.net.
Abstract
This document describes a payload type for use with
the real-time transport protocol (RTP), version 2, for
encoding redundant data. The primary motivation for
the scheme described herein is the development of
audio conferencing tools for use with lossy packet
networks such as the Internet Mbone, although this
scheme is not limited to such applications.
Handley et al Page 1
INTERNET-DRAFT 19 July 1996
1 Introduction
If multimedia conferencing is to become widely used by the
Internet Mbone community, users must perceive the quality to be
sufficiently good for most applications. We have identified
a number of problems which impair the quality of conferences,
the most significant of which is packet loss over the Mbone.
Packet loss is a persistent problem, particularly given the
increasing popularity, and therefore increasing load, of the
Internet. The disruption of speech intelligibility even at
low loss rates which is currently experienced may convince a
whole generation of users that multimedia conferencing over the
Internet is not viable. The addition of redundancy to the
data stream is offered as a solution [1]. If a packet is
lost then the missing information may be reconstructed at the
receiver from the redundant data that arrives in the following
packet(s).
This draft proposes an RTP payload format for the transmission
of data encoded in a redundant fashion. Although the
primary use of this packet format to date has been in audio
applications, the packet format specified is quite general, and
is not limited to these applications.
2 Packetisation problem
The main requirements for a redundant encoding scheme under RTP
are as follows:
o Packets have to carry a primary encoding and one or more
redundant encodings.
o As a multitude of encodings may be used for redundant
information, each block of redundant encoding has to have
an encoding type identifier.
o As the use of variable size encodings is desirable,
each encoded block in the packet has to have a length
indicator.
o The RTP header provides a timestamp field that corresponds
to the time of creation of the encoded data. When
redundant encodings are used this timestamp field can refer
to the time of creation of the primary encoding data.
Redundant blocks of data will correspond to different time
intervals than the primary data. Each block of redundant
encoding has to have its own timestamp. To reduce the
number of bytes needed to carry the timestamp, it can
Handley et al Page 2
INTERNET-DRAFT 19 July 1996
be computed as the difference of the timestamp for the
redundant encoding to timestamp for the primary.
There are two essential means by which redundant audio may be
added to the standard RTP specification: a header extension
may hold the redundancy, or one, or more, additional payload
types may be defined. These are now discussed in turn.
3 Use of RTP Header Extension
The RTP specification [2] states that applications should be
prepared to ignore a header extension. Including all the
redundancy information for a packet in a header extension
would make it easy for applications that do not implement
redundancy to discard it and just process the primary encoding
data. There are, however, a number of disadvantages with this
scheme:
o There is a large overhead from the number of bytes needed
for the extension header (4) and the possible padding that
is needed at the end of the extension to round up to
a four byte boundary (up to 3 bytes). Even for longer
duration packets especially when high compression encodings
are used the overhead is considerable.
o Use of the header extension limits applications to a single
redundant encoding, unless further structure is introduced
into the extension. This would result in further overhead.
For these reasons, the use of RTP header extension to hold
redundant audio encodings is disregarded.
4 Use Of Additional RTP Payload Types
Currently the RTP profile for audio and video conferences [3]
lists a set of payload types and provides for a dynamic range
of 32 encodings that may be defined through a conference
control protocol. This leads to two possible schemes for
assigning additional RTP payload types for redundant audio
applications:
1.A dynamic encoding scheme may be defined, for each
combination of primary/redundant payload types, using the
RTP dynamic payload type range.
Handley et al Page 3
INTERNET-DRAFT 19 July 1996
2.A fixed payload type may be defined to represent a packet
with redundancy. This may then be assigned to either a
static RTP payload type, or the payload type for this may
be assigned dynamically.
4.1 Dynamic Encoding Schemes
It is possible to define a set of payload types that signify
a particular combination of primary and secondary encodings for
each of the 32 dynamic payload types provided. This would
be a slightly restrictive yet feasible solution for packets
with a single block of redundancy as the number of possible
combinations is not too large. However the need for multiple
blocks of redundancy greatly increases the number of encoding
combinations and makes this solution not viable.
A modified version of the above solution could be to decide
prior to the beginning of a conference on a set a 32
encoding combinations that will be used for the duration of the
conference. All tools in the conference can be initialized
with this working set of encoding combinations. Communication
of the working set can be made through the use of an external
mechanism such as SDR. Setup is complicated as great care needs
to be taken in starting tools with identical parameters. This
scheme is more efficient as only one byte is used to identify
combinations of encodings.
4.2 Payload type to mean packet-with-redundancy
A more flexible solution would be to have only one payload
type to signify a packet with redundancy and have each of
the encoding blocks in the packet contain it's own payload
type field: such a packet acts as a container, encapsulating
multiple packets into one.
Such a scheme is flexible, since any number of redundant
encodings may be enclosed within a single packet. There is,
however, a small overhead since each encapsulated packet must
be preceded by a header indicating the type of data enclosed.
This is the preferred solution, since it is both flexible,
extensible, and has a relatively low overhead. The remainder
of this document describes this solution.
Handley et al Page 4
INTERNET-DRAFT 19 July 1996
5 RTP payload type for redundant data
The assignment of an RTP payload type for this new packet
format is outside the scope of this document, and will not
be specified here. An RTP packet containing redundant data
shall have a standard RTP header, with payload type indicating
redundancy. The other fields of the RTP header relate to the
primary data block of the redundant data.
Following the RTP header are a number of additional headers,
specified in the figure below, which specify the contents of
each of the encodings carried by the packet. Following these
additional headers are a number of data blocks, which contain
the standard RTP payload data for these encodings. It is noted
that all the headers are aligned to a 32 bit boundary, but that
the payload data will typically not be aligned.
0 1 2 3
0 1 23 4 5 6 7 8 90 1 2 3 4 5 67 8 9 0 1 23 4 5 6 7 8 90 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F| block PT | timestamp offset | block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The bits in the header are specified as follows:
F: 1 bitFirst bit in header indicates whether another encoding
block follows. If 1 further redundant data blocks follow,
if 0 this is the last data block.
block PT: 7 bitsPayload type for this block.
timestamp offset: 14 bitsUnsigned offset of timestamp of this
block relative to timestamp given in RTP header. The
use of an unsigned offset implies that redundant data must
be sent after the primary data, and is hence a time
to be subtracted from the current timestamp to determine
the timestamp of the data for which this block is the
redundancy.
block length: 10 bitsLength in bytes of the next redundant
data block excluding header.
It is noted that this limits the use of redundant data
slightly: it is not possible to send redundancy before the
primary encoding. This may possibly affect schemes, such as
GSM audio, where a low bandwidth coding suitable for redundancy
is produced early in the encoding process, and hence could
feasibly be transmitted early. The addition of a sign bit
would unacceptably reduce the range of the timestamp offset,
Handley et al Page 5
INTERNET-DRAFT 19 July 1996
and increasing the size of the field above 14 bits limits the
block length field. It seems that limiting redundancy to be
transmitted after the primary will cause fewer problems than
limiting the size of the other fields.
It is noted that the block length and timestamp offset are 10
bits, and 14 bits respectively; rather than the more obvious 8
and 16 bits. Whilst such an encoding complicates parsing the
header information slightly, and adds some additional processing
overhead, there are a number of problems involved with the more
obvious choice: An 8 bit block length field is sufficient for
most, but not all, possible encodings: for example 80ms PCM
and DVI audio packets comprise more than 256 bytes, and cannot
be encoded with a single byte length field. It is possible
to impose additional structure on the block length field (for
example the high bit set could imply the lower 7 bits code a
length in words, rather than bytes), however such schemes are
complex. The use of a 10 bit block length field retains
simplicity and provides an enlarged range, at the expense of a
reduced range of timestamp values. A 14 bit timestamp value
does, however, allow for 4.5 complete packets delay with 48KHz
audio, more at lower sampling rates, and it is felt that this
is sufficient.
The primary encoding block should be placed last in the packet.
It is therefore required to omit the timestamp and block-length
fields from the header of this block, since they may be
determined from the RTP header and overall packet length. The
header for the primary (final) block comprises only a zero
marker bit, and the block payload type information, a total of
8 bits. This is illustrated in below:
0 1 23 4 5 6 7
+-+-+-+-+-+-+-+-+
|0| Block PT |
+-+-+-+-+-+-+-+-+
6 Limitations
The RTP marker bit is not preserved. That is, a redundant copy
of the RTP marker is not sent, hence if the primary (containing
this marker) is lost, the marker is lost. It is not thought
that this will cause undue problems: even if the marker bit
was transmitted with the redundant information, there would be
the possibility of its loss, so applications would still have
to be written with this in mind.
Handley et al Page 6
INTERNET-DRAFT 19 July 1996
7 Example Packet
A redundant audio data packet containing DVI4 (8KHz) primary,
and a single block of redundancy encoded using 8KHz LPC is
illustrated:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X| CC |M| PT | sequence number of primary |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| timestamp of primary encoding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| synchronization source (SSRC) identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1| block PT=7 | timestamp offset | block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| block PT=5 | |
+-+-+-+-+-+-+-+-+ +
| |
+ LPC encoded redundant data +
| |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| |
+ +
| DVI4 encoded primary data |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
8 Author's Addresses
Mark Handley/Vicky Hardman/Isidor Kouvelas/Colin Perkins
Department of Computer Science
University College London
London WC1E 6BT
United Kingdom
Email: M.Handley|V.Hardman|I.Kouvelas|C.Perkins@cs.ucl.ac.uk
Jean-Chrysostome Bolot/Andres Vega-Garcia/Sacha Fosse-Parisis
INRIA Sophia Antipolis
2004 Route des Lucioles, BP 93
06902 Sophia Antipolis
France
Email: bolot@sophia.inria.fr
Handley et al Page 7
INTERNET-DRAFT 19 July 1996
9 References
[1] Hardman, V. J. and Sasse, M. A. and Handley, M.
and Watson, A., Reliable Audio for Use over the Internet,
Proceecings INET'95, Honalulu, Oahu, Hawaii, September 1995.
http://www.isoc.org/in95prc/
[2] H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson,
RTP: A Transport Protocol for Real-Time Applications, RFC 1889,
January 1996
[3] H. Schulzrinne, RTP Profile for Audio and Video Conferences
with Minimal Control, RFC 1890, January 1996
Handley et al Page 8
| PAFTECH AB 2003-2026 | 2026-04-23 20:10:08 |