home *** CD-ROM | disk | FTP | other *** search
-
- CURRENT_MEETING_REPORT_
-
- Reported by Steve Casner/USC-ISI
-
- Minutes of the Audio/Video Transport Working Group (AVT)
-
-
- Overview
-
- At the previous AVT meeting in Toronto, version 2 of the Real-time
- Transport Protocol (RTP) was presented as documented in the July version
- (-05) of the specification. It was agreed to proceed with this version
- of RTP as soon as the missing example algorithms and the ``to be
- determined'' points in the specification were completed. In the
- interim, the authors have prepared a new draft (-06) filling in these
- items and introducing a few small changes to address items missed
- before. At this meeting, Steve Casner presented a report on the new
- draft and there were no objections to these changes. However, there was
- a surprising amount of debate about the jitter parameter in the
- Reception Report which had not changed except that the algorithm had
- been defined. As a result, a second session was scheduled to allow
- completing the planned presentations. During the second session, a
- compromise solution was devised: the jitter field remained unchanged,
- but packet loss will be reported as both cumulative and short term, as
- described below. With this issue settled, the draft editing will be
- completed and the draft will be submitted for Area Directorate review
- and IESG Last Call as a Proposed Standard.
-
- An interesting aspect of this meeting was that for the first time we
- heard reports on implementations of RTP version 2, as outlined below.
- There was also a presentation on the new draft Packet Format for
- Encapsulation of MPEG in RTP. The slides for the presentations are
- available from ftp://ftp.isi.edu/mbone/avt/sanjose-dec94/, as is the
- file transcript.94dec, a more complete report on the meeting including a
- rough transcript.
-
-
- Changes in RTP Since July Draft
-
- The two primary items left ``to be determined'' in the July RTP draft
- (-05) were the algorithm for calculating the RTCP reception report
- interval based on the observed session size and the algorithm for the
- ``jitter'' measure in the reception report. Algorithms for both of
- these have been included in the -06 draft. However, in the rush to meet
- the cutoff for Internet-Draft submissions before IETF, a couple of
- details were left uncorrected in the report interval calculation
- algorithm. Also, two jitter algorithms were under discussion; what is
- in -06 is the algorithm that Henning Schulzrinne has been using in
- Nevot. Instead, we have decided to use the algorithm that Steve McCanne
- and Van Jacobson have implemented in vic because it is simpler and a
- more straightforward first-order estimator. See the discussion in the
- next section.
-
- There were several additional small changes, either from agreements at
- the Toronto meeting, or to fix problems discovered in the interim:
-
-
- o As agreed in Toronto, the draft now specifies that the data and
- control ports are to be an even/odd pair.
-
- o The group decided not to partition the RTCP packet type space for
- profile- and payload-specific definitions because there is a
- problem with synchronization between the control and data streams.
- Instead, experiments with new packet types can use the APP type,
- and registration of successful types with IANA is encouraged.
-
- o It was unclear in -05 whether the numeric type values assigned to
- RTCP packets types began with 0 or 1. In a note preceding this
- meeting, it was proposed that the RTCP packets be assigned type
- values 201-205 to enhance the probability of successful header
- validation or invalidation when comparing RTP versus RTCP which
- might be sent on the wrong port, or for comparison against some
- random or incorrectly decrypted packet. No strong objections to
- renumbering were given. There was some discussion of what values
- should be chosen, with 224-228 being another suggestion, but that
- is closer to all-1s which should be avoided the same as 0. After
- more thought subsequent to the meeting, Casner suggests 200-204
- rather than 201-205 so that the SR/RR pair differ in only one bit
- to make the check simpler. Also, following a suggestion from
- Wieland Holfelder, we will reserve the two payload type values in
- the RTP data packet header that would correspond to the low 7 bits
- of the RTCP packet types SR and RR. Since any stack of RTCP packets
- is to begin with SR or RR, only these need to be reserved.
-
- o In the -05 draft, most length fields had been changed to be
- zero-based, but the SDES item length was missed and is now changed.
-
- o Three new SDES items were added: PHONE, TOOL, PRIV.
-
- o A one-octet length field was prefixed to optional BYE reason string
- since its length was not defined before.
-
-
- Note that the changes in RTCP type values, SDES item length, and BYE
- reason length introduce incompatibilities with previous drafts.
-
- The group also agreed on three additional points where the RTP
- specification will be made more specific:
-
-
- o It will be specified that SR rather than RR will be sent if data
- was transmitted during the last interval or the previous one. This
- provides some redundancy for loss of the last SR.
-
- o When no data has been heard from any source during a reporting
- interval, the receiver should still send an RR packet containing
- zero reception reports rather than omit the RR. This is so that the
- RTCP packet stack always begins with SR or RR.
-
- o In order to calculate the RTP timestamp to go in the SR packet, and
- in order to calculate jitter, it is necessary that the clock from
- which RTP timestamps are derived be monotonic and linear in time.
- Note that this refers to the clock, not the sequence of timestamps
- generated. In particular, it does not preclude the sending of
- timestamps out of order in the MPEG encoding.
-
-
- Discussion of the Jitter Algorithm
-
- The reception report in the RTCP SR/RR packet reports packet loss and
- jitter. The algorithm that will be specified in the RTP draft for
- calculating the jitter parameter is based on the difference in packet
- spacing at the receiver compared to the sender, or equivalently, the
- difference in relative transit times, for a pair of packets:
-
-
- D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si)
-
-
- Here S is the RTP timestamp from the packet, and R is the time of
- arrival in RTP timestamp units. Jitter is defined to be the mean
- deviation (smoothed absolute value) of this difference:
-
-
- J = J + 1/16 (|D(i-1,i)| - J)
-
-
- Two issues regarding the jitter parameter were debated in this meeting:
-
-
- 1. Whether this algorithm, and in particular the gain parameter of
- 1/16, was the correct choice, or whether the algorithm should be
- left to be profile specific. Some went even further to suggest
- that the jitter parameter should be relegated to a profile-
- specific section of the reception report or left out entirely since
- its usefulness has not been demonstrated yet.
-
- 2. Whether a short-term packet loss measure, useful for feedback
- control, should be reported instead of or in addition to the jitter
- measure. In large sessions, the requirement to keep state on all
- the receivers to take differences between reports could become a
- problem. Furthermore, the long interval between reports could mean
- that only one report is received from some receivers.
-
-
- On the first issue, Van Jacobson emphasized that the jitter measure is
- for network diagnostic purposes as well as for algorithms that adapt to
- the behavior of the network. Since this requirement is common across
- all applications, we want to allow profile-independent monitors to be
- able to interpret the jitter numbers, and therefore the jitter parameter
- cannot be in a profile-dependent section of the report. The usefulness
- of the jitter parameter has not been proven, but the same is true for
- all the other parameters in the reception report. On the other hand,
- experience with the MBone has shown a pressing need for mechanisms to
- monitor distribution, and getting reports from the participants seems
- like the only practical means. Observations of the local statistics in
- the vat program for packet loss and playout time variation, which is
- derived from the jitter calculation, have shown a strong correlation
- with the signal quality and establish a reasonable basis for inclusion
- of these statistics in the reception report. Packet loss tracks
- persistent congestion while jitter tracks transient congestion. If our
- best guess turns out to be wrong with more experience, we can use the
- report extension mechanism to test additional information, and once we
- have got a much better guess then we can field RTP version 3 with a
- revised report format.
-
- Furthermore, to allow profile-independent monitors to make valid
- interpretations of reports coming from different implementations, we
- must also specify the algorithm and its parameters as part of the main
- RTP protocol. This algorithm is the optimal first-order estimator and
- the parameter 1/16 is the optimal noise power reduction ratio for
- situations where there is no model of the system.
-
- To address the second issue, Ron Frederick suggested a compromise that
- was accepted by the group as a whole. The cumulative number of packets
- received will be replaced by the cumulative number of packets lost
- (calculated by the receiver as ``packets expected'' minus ``packets
- received''). Since this number is typically around two orders of
- magnitude less than the number of packets expected, a comparable range
- will be maintained if the packets lost field is reduced from 32 to 24
- bits. The top 8 bits will then be used to carry a relative measure of
- packet loss that provides short-term information from a single report
- packet. This will be expressed as an 8-bit fraction of packets lost
- during the last reporting interval.
-
- A companion change was made to allow correlation between the single
- reception reports from multiple recipients: the ``cumulative number of
- packets expected'' is replaced by ``extended last sequence number
- received.'' The difference between these two values is only that the
- initial sequence number received is subtracted from the latter to
- calculate the former. Not subtracting the initial sequence number means
- that the ratio of the two words above will no longer produce an accurate
- overall loss rate. However, an accurate calculation of the loss rate
- for nearly the full session is possible by taking the difference in
- these fields between the first and last reception reports from a
- particular receiver, and then calculating the ratio.
-
-
- Reports on RTP Version 2 Implementations
-
- Two presentations were given on implementations of RTP version 2 in
- video tools. Steve McCanne from LBL reported that the implementation of
- RTP in vic was mostly straightforward; vic is producing reception
- reports per the -06 specification, but not yet analyzing them. Sources
- for vic were released before the IETF meeting. Both nv and ``Robust
- H.261'' encodings are implemented, but Steve identified some problems
- with the current specification for H.261 fragmentation. He proposed to
- make macroblocks the unit of processing by putting enough state
- information into the header so each packet can be processed
- independently.
-
- Frank Kastenholz from FTP Software presented Loki, a new payload format
- for RTP to carry the video formats of ``Video for Windows'' targeted at
- the PC/Windows environment. Processing load is shifted to the
- transmitter where possible because there are fewer and they can run on
- more powerful machines whereas receivers may be slow machines like 286s.
- The protocol includes some additional application-specific RTCP control
- packets, including some that are sent via unicast to a source. This
- will not work through RTP translators since RTPv2 no longer has the
- ``reverse control'' mechanism, so this is an issue to study. The Loki
- specification will be available as an Internet-Draft, and the
- implementation will be available for anonymous FTP.
-
-
- New Internet-Drafts on Video Payload Formats
-
- Three new Internet-Drafts specifying how to encapsulate Cell-B, JPEG and
- MPEG video in RTP were posted before the IETF meeting. They are
-
-
- draft-ietf-avt-cellb-profile-02.txt
- draft-ietf-avt-jpeg-00.txt
- draft-hoffman-rtp-mpeg-encap-01.txt
-
-
- Gerard Fernando from Sun gave a presentation on the MPEG draft. Since
- Don Hoffman has made presentations on MPEG at previous AVT meetings,
- Gerard concentrated on the RTP aspects. Sun has implemented the MPEG
- Elementary Streams encapsulation, which is the second of two defined in
- the specification and the one targeted for use over the Internet. For
- this encapsulation, the header is now always 32 bits rather than a
- minimum 16 with and optional second 16, following the recommendation
- made at the July AVT meeting in Toronto.
-
- Gerard brought up one scenario of concern: there will be cases where
- MPEG signals are received from satellite transmissions in MPEG2
- Transport Systems (MTS) format, which does not provide slice/macroblock
- fragmentation information, and then retransmitted over the Internet.
- How can this be made more robust to packet loss? Van Jacobson suggested
- that it is not very expensive to parse the stream to find the macroblock
- boundaries. This would allow translation to the MPEG ES encapsulation
- format.
-
-
- Future Activities
-
- The RTP specification will be edited to produce a -07 draft
- incorporating the changes outlined above along with additional
- explanatory text for sections that readers have found unclear, for
- example, on how to use extension mechanisms. The draft will then be
- submitted for Area Directorate review and IESG Last Call as a Proposed
- Standard. Future working group tasks and meetings will be considered as
- needs arise.
-
-