home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / avt / avt-minutes-94dec.txt < prev    next >
Text File  |  1995-02-28  |  14KB  |  276 lines

  1.  
  2. CURRENT_MEETING_REPORT_
  3.  
  4. Reported by Steve Casner/USC-ISI
  5.  
  6. Minutes of the Audio/Video Transport Working Group (AVT)
  7.  
  8.  
  9. Overview
  10.  
  11. At the previous AVT meeting in Toronto, version 2 of the Real-time
  12. Transport Protocol (RTP) was presented as documented in the July version
  13. (-05) of the specification.  It was agreed to proceed with this version
  14. of RTP as soon as the missing example algorithms and the ``to be
  15. determined'' points in the specification were completed.  In the
  16. interim, the authors have prepared a new draft (-06) filling in these
  17. items and introducing a few small changes to address items missed
  18. before.  At this meeting, Steve Casner presented a report on the new
  19. draft and there were no objections to these changes.  However, there was
  20. a surprising amount of debate about the jitter parameter in the
  21. Reception Report which had not changed except that the algorithm had
  22. been defined.  As a result, a second session was scheduled to allow
  23. completing the planned presentations.  During the second session, a
  24. compromise solution was devised:  the jitter field remained unchanged,
  25. but packet loss will be reported as both cumulative and short term, as
  26. described below.  With this issue settled, the draft editing will be
  27. completed and the draft will be submitted for Area Directorate review
  28. and IESG Last Call as a Proposed Standard.
  29.  
  30. An interesting aspect of this meeting was that for the first time we
  31. heard reports on implementations of RTP version 2, as outlined below.
  32. There was also a presentation on the new draft Packet Format for
  33. Encapsulation of MPEG in RTP. The slides for the presentations are
  34. available from ftp://ftp.isi.edu/mbone/avt/sanjose-dec94/, as is the
  35. file transcript.94dec, a more complete report on the meeting including a
  36. rough transcript.
  37.  
  38.  
  39. Changes in RTP Since July Draft
  40.  
  41. The two primary items left ``to be determined'' in the July RTP draft
  42. (-05) were the algorithm for calculating the RTCP reception report
  43. interval based on the observed session size and the algorithm for the
  44. ``jitter'' measure in the reception report.  Algorithms for both of
  45. these have been included in the -06 draft.  However, in the rush to meet
  46. the cutoff for Internet-Draft submissions before IETF, a couple of
  47. details were left uncorrected in the report interval calculation
  48. algorithm.  Also, two jitter algorithms were under discussion; what is
  49. in -06 is the algorithm that Henning Schulzrinne has been using in
  50. Nevot.  Instead, we have decided to use the algorithm that Steve McCanne
  51. and Van Jacobson have implemented in vic because it is simpler and a
  52. more straightforward first-order estimator.  See the discussion in the
  53. next section.
  54.  
  55. There were several additional small changes, either from agreements at
  56. the Toronto meeting, or to fix problems discovered in the interim:
  57.  
  58.  
  59.    o As agreed in Toronto, the draft now specifies that the data and
  60.      control ports are to be an even/odd pair.
  61.  
  62.    o The group decided not to partition the RTCP packet type space for
  63.      profile- and payload-specific definitions because there is a
  64.      problem with synchronization between the control and data streams.
  65.      Instead, experiments with new packet types can use the APP type,
  66.      and registration of successful types with IANA is encouraged.
  67.  
  68.    o It was unclear in -05 whether the numeric type values assigned to
  69.      RTCP packets types began with 0 or 1.  In a note preceding this
  70.      meeting, it was proposed that the RTCP packets be assigned type
  71.      values 201-205 to enhance the probability of successful header
  72.      validation or invalidation when comparing RTP versus RTCP which
  73.      might be sent on the wrong port, or for comparison against some
  74.      random or incorrectly decrypted packet.  No strong objections to
  75.      renumbering were given.  There was some discussion of what values
  76.      should be chosen, with 224-228 being another suggestion, but that
  77.      is closer to all-1s which should be avoided the same as 0.  After
  78.      more thought subsequent to the meeting, Casner suggests 200-204
  79.      rather than 201-205 so that the SR/RR pair differ in only one bit
  80.      to make the check simpler.  Also, following a suggestion from
  81.      Wieland Holfelder, we will reserve the two payload type values in
  82.      the RTP data packet header that would correspond to the low 7 bits
  83.      of the RTCP packet types SR and RR. Since any stack of RTCP packets
  84.      is to begin with SR or RR, only these need to be reserved.
  85.  
  86.    o In the -05 draft, most length fields had been changed to be
  87.      zero-based, but the SDES item length was missed and is now changed.
  88.  
  89.    o Three new SDES items were added:  PHONE, TOOL, PRIV.
  90.  
  91.    o A one-octet length field was prefixed to optional BYE reason string
  92.      since its length was not defined before.
  93.  
  94.  
  95. Note that the changes in RTCP type values, SDES item length, and BYE
  96. reason length introduce incompatibilities with previous drafts.
  97.  
  98. The group also agreed on three additional points where the RTP
  99. specification will be made more specific:
  100.  
  101.  
  102.    o It will be specified that SR rather than RR will be sent if data
  103.      was transmitted during the last interval or the previous one.  This
  104.      provides some redundancy for loss of the last SR.
  105.  
  106.    o When no data has been heard from any source during a reporting
  107.      interval, the receiver should still send an RR packet containing
  108.      zero reception reports rather than omit the RR. This is so that the
  109.      RTCP packet stack always begins with SR or RR.
  110.  
  111.    o In order to calculate the RTP timestamp to go in the SR packet, and
  112.      in order to calculate jitter, it is necessary that the clock from
  113.      which RTP timestamps are derived be monotonic and linear in time.
  114.      Note that this refers to the clock, not the sequence of timestamps
  115.      generated.  In particular, it does not preclude the sending of
  116.      timestamps out of order in the MPEG encoding.
  117.  
  118.  
  119. Discussion of the Jitter Algorithm
  120.  
  121. The reception report in the RTCP SR/RR packet reports packet loss and
  122. jitter.  The algorithm that will be specified in the RTP draft for
  123. calculating the jitter parameter is based on the difference in packet
  124. spacing at the receiver compared to the sender, or equivalently, the
  125. difference in relative transit times, for a pair of packets:
  126.  
  127.  
  128.     D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si)
  129.  
  130.  
  131. Here S is the RTP timestamp from the packet, and R is the time of
  132. arrival in RTP timestamp units.  Jitter is defined to be the mean
  133. deviation (smoothed absolute value) of this difference:
  134.  
  135.  
  136.     J = J + 1/16 (|D(i-1,i)| - J)
  137.  
  138.  
  139. Two issues regarding the jitter parameter were debated in this meeting:
  140.  
  141.  
  142.   1. Whether this algorithm, and in particular the gain parameter of
  143.      1/16, was the correct choice, or whether the algorithm should be
  144.      left to be profile specific.  Some went even further to suggest
  145.      that the jitter parameter should be relegated to a profile-
  146.      specific section of the reception report or left out entirely since
  147.      its usefulness has not been demonstrated yet.
  148.  
  149.   2. Whether a short-term packet loss measure, useful for feedback
  150.      control, should be reported instead of or in addition to the jitter
  151.      measure.  In large sessions, the requirement to keep state on all
  152.      the receivers to take differences between reports could become a
  153.      problem.  Furthermore, the long interval between reports could mean
  154.      that only one report is received from some receivers.
  155.  
  156.  
  157. On the first issue, Van Jacobson emphasized that the jitter measure is
  158. for network diagnostic purposes as well as for algorithms that adapt to
  159. the behavior of the network.  Since this requirement is common across
  160. all applications, we want to allow profile-independent monitors to be
  161. able to interpret the jitter numbers, and therefore the jitter parameter
  162. cannot be in a profile-dependent section of the report.  The usefulness
  163. of the jitter parameter has not been proven, but the same is true for
  164. all the other parameters in the reception report.  On the other hand,
  165. experience with the MBone has shown a pressing need for mechanisms to
  166. monitor distribution, and getting reports from the participants seems
  167. like the only practical means.  Observations of the local statistics in
  168. the vat program for packet loss and playout time variation, which is
  169. derived from the jitter calculation, have shown a strong correlation
  170. with the signal quality and establish a reasonable basis for inclusion
  171. of these statistics in the reception report.  Packet loss tracks
  172. persistent congestion while jitter tracks transient congestion.  If our
  173. best guess turns out to be wrong with more experience, we can use the
  174. report extension mechanism to test additional information, and once we
  175. have got a much better guess then we can field RTP version 3 with a
  176. revised report format.
  177.  
  178. Furthermore, to allow profile-independent monitors to make valid
  179. interpretations of reports coming from different implementations, we
  180. must also specify the algorithm and its parameters as part of the main
  181. RTP protocol.  This algorithm is the optimal first-order estimator and
  182. the parameter 1/16 is the optimal noise power reduction ratio for
  183. situations where there is no model of the system.
  184.  
  185. To address the second issue, Ron Frederick suggested a compromise that
  186. was accepted by the group as a whole.  The cumulative number of packets
  187. received will be replaced by the cumulative number of packets lost
  188. (calculated by the receiver as ``packets expected'' minus ``packets
  189. received'').  Since this number is typically around two orders of
  190. magnitude less than the number of packets expected, a comparable range
  191. will be maintained if the packets lost field is reduced from 32 to 24
  192. bits.  The top 8 bits will then be used to carry a relative measure of
  193. packet loss that provides short-term information from a single report
  194. packet.  This will be expressed as an 8-bit fraction of packets lost
  195. during the last reporting interval.
  196.  
  197. A companion change was made to allow correlation between the single
  198. reception reports from multiple recipients:  the ``cumulative number of
  199. packets expected'' is replaced by ``extended last sequence number
  200. received.''  The difference between these two values is only that the
  201. initial sequence number received is subtracted from the latter to
  202. calculate the former.  Not subtracting the initial sequence number means
  203. that the ratio of the two words above will no longer produce an accurate
  204. overall loss rate.  However, an accurate calculation of the loss rate
  205. for nearly the full session is possible by taking the difference in
  206. these fields between the first and last reception reports from a
  207. particular receiver, and then calculating the ratio.
  208.  
  209.  
  210. Reports on RTP Version 2 Implementations
  211.  
  212. Two presentations were given on implementations of RTP version 2 in
  213. video tools.  Steve McCanne from LBL reported that the implementation of
  214. RTP in vic was mostly straightforward; vic is producing reception
  215. reports per the -06 specification, but not yet analyzing them.  Sources
  216. for vic were released before the IETF meeting.  Both nv and ``Robust
  217. H.261'' encodings are implemented, but Steve identified some problems
  218. with the current specification for H.261 fragmentation.  He proposed to
  219. make macroblocks the unit of processing by putting enough state
  220. information into the header so each packet can be processed
  221. independently.
  222.  
  223. Frank Kastenholz from FTP Software presented Loki, a new payload format
  224. for RTP to carry the video formats of ``Video for Windows'' targeted at
  225. the PC/Windows environment.  Processing load is shifted to the
  226. transmitter where possible because there are fewer and they can run on
  227. more powerful machines whereas receivers may be slow machines like 286s.
  228. The protocol includes some additional application-specific RTCP control
  229. packets, including some that are sent via unicast to a source.  This
  230. will not work through RTP translators since RTPv2 no longer has the
  231. ``reverse control'' mechanism, so this is an issue to study.  The Loki
  232. specification will be available as an Internet-Draft, and the
  233. implementation will be available for anonymous FTP.
  234.  
  235.  
  236. New Internet-Drafts on Video Payload Formats
  237.  
  238. Three new Internet-Drafts specifying how to encapsulate Cell-B, JPEG and
  239. MPEG video in RTP were posted before the IETF meeting.  They are
  240.  
  241.  
  242.      draft-ietf-avt-cellb-profile-02.txt
  243.      draft-ietf-avt-jpeg-00.txt
  244.      draft-hoffman-rtp-mpeg-encap-01.txt
  245.  
  246.  
  247. Gerard Fernando from Sun gave a presentation on the MPEG draft.  Since
  248. Don Hoffman has made presentations on MPEG at previous AVT meetings,
  249. Gerard concentrated on the RTP aspects.  Sun has implemented the MPEG
  250. Elementary Streams encapsulation, which is the second of two defined in
  251. the specification and the one targeted for use over the Internet.  For
  252. this encapsulation, the header is now always 32 bits rather than a
  253. minimum 16 with and optional second 16, following the recommendation
  254. made at the July AVT meeting in Toronto.
  255.  
  256. Gerard brought up one scenario of concern:  there will be cases where
  257. MPEG signals are received from satellite transmissions in MPEG2
  258. Transport Systems (MTS) format, which does not provide slice/macroblock
  259. fragmentation information, and then retransmitted over the Internet.
  260. How can this be made more robust to packet loss?  Van Jacobson suggested
  261. that it is not very expensive to parse the stream to find the macroblock
  262. boundaries.  This would allow translation to the MPEG ES encapsulation
  263. format.
  264.  
  265.  
  266. Future Activities
  267.  
  268. The RTP specification will be edited to produce a -07 draft
  269. incorporating the changes outlined above along with additional
  270. explanatory text for sections that readers have found unclear, for
  271. example, on how to use extension mechanisms.  The draft will then be
  272. submitted for Area Directorate review and IESG Last Call as a Proposed
  273. Standard.  Future working group tasks and meetings will be considered as
  274. needs arise.
  275.  
  276.