Assignment 7
The assignment is due Sunday, July 18, 11.59 pm EDT. Submission Guidelines
- Programming problem: Building on the previous assignment, extend your
audio application to provide basic RTCP support and playout delay
compensation, as discussed in class. For RTCP, you should support the SDES
(CNAME only), SR and RR items. For this assignment, you can leave the RTCP
interval at a fixed value of 5 seconds. For the playout delay algorithm, you
may choose any of the algorithms discussed in class (see the class references
for additional papers). You should support delays of up to one second and PCMU
(mu-law) audio packets of any size. Otherwise, all the features from the
previous assignment remain, with the additional user interface keyboard of
playout and values of manual (algorithm from assignment
6) and adaptive (your adaptive algorithm).
The application can be written in C(++) or Java. You may choose either
Linux, Solaris or Windows (XP). The programming style guidelines
apply. You should omit the Columbia copyright, since assignments belong to the
author, not the university.
- Review question: Name two reasons why RTP packets contain an SSRC value,
rather than just using the source IP address for identification.
- Review question: Consider two scenarios. For a 64 kb/s and 256 kb/s
stream, respectively, sent by one transmitter to a multicast group, at what
population does the RTCP timing algorithm kick in, i.e., does the RTCP
interval vary with the user population? Assume that RTCP packets are 100 bytes
long.
- Review question: Other protocols typically use a fixed port, such as port
80 for HTTP or port 25 for email. Why did RTP chose a different approach?
- Write down, as pseudo-code, an algorithm that handles both playout delay
and inter-media synchronization. You should adjust the delay for each
talkspurt for audio and no more than 5 ms for each frame for video. You can
use any of the playout delay mechanisms discussed in class.
- Playout delay: For a system with a nominal interarrival time of 20 ms,
packets in a talkspurt arrive at the following instances: 0, 10, 42, 61, 89,
103, 125, 150, 161, 189, 203 ms. Assuming that 10% late loss is acceptable,
compute the optimal (non-causal) playout delay.
- What should a receiver do with the following packets (N+1, N+2, ...) when
a packet N arrives late, but the next packet has not been played out
yet? Justify your answer.
- Using the RTP specification for details, compute the jitter measure that a
receiver would report in RTCP RR packets for problem 6. Assume that the
timestamp clock rate is 8,000 Hz and each packet contains 20 ms worth of audio
data.
- RTP inter-media synchronization: A system has two media streams, a G.711
audio stream and a video stream. The receiver receives two RTCP sender reports
(SR). The first SR, for video, contains:
| NTP timestamp
| bf8c1623.7abc83a9
|
| RTP timestamp
| 18000 |
The audio SR contains the following
information:
| NTP timestamp
| bf8c1624.816fc9bc
|
| RTP timestamp
| 68880 |
What audio sample timestamp should be played for the video frame labeled
20,000?