CS 6250 Quiz 11 (All Quizzes) 2026/2027 Latest Update |
Verified Questions and Correct Answers | Complete Study
Guide – Georgia Institute of Technology
... Show More
2026/2027 | GRADED A+ | 100 out of 100
Question:
Compare the bit rate for video, photos, and audio.
Answer
Video - 2 Mbps
Facebook photo gallery browsing (1 photo/s) - 320 kbps
Music - 128 kbps
Question:
What are the characteristics of streaming stored video?
Answer - Streamed - video starts playing within a few seconds of receiving data, instead of waiting for the whole file - Interactive - user can pause, fast forward, skip ahead, move back - Continuous playout - should play out the same way it was recorded
Question:
What are the characteristics of streaming live audio and video?
Answer - Many simultaneous users - Delay sensitive
Question:
What are the characteristics of conversational voice and video over IP?
Answer - Delay sensitive - Loss tolerant - the occasional glitch is okay
Question:
How does the encoding of analog audio work (in simple terms)?
Answer
Generally speaking, audio is encoded by taking many (as in, thousands) of samples per second, and then rounding
each sample's value to a discrete number within a particular range. (This "rounding" to a discrete number is called
quantization.)
Question:
What are the three major categories of VoIP encoding schemes?
Answer
1. Narrowband
2. Broadband
3. Multimode
Question:
What are the functions that signaling protocols are responsible for?
Answer
1. User location - the caller locating where the callee is.
2. Session establishment - handling the callee accepting, rejecting, or redirecting a call.
3. Session negotiation - the endpoints synchronizing with each other on a set of properties for the session.
4. Call participation management - handling endpoints joining or leaving an existing session.
Question:
What are three QoS VoIP metrics?
Answer - end-to-end delay - jitter - packet loss
Question:
What kind of delays are included in "end-to-end delay"?
Answer - the time it takes to encode the audio - the time it takes to put it in packets, - all the normal sources of network delay that network traffic encounters such as queueing delays
- "playback delay," which comes from the receiver's playback buffer (which is a mitigation technique for delay jitter) - decoding delay, which is the time it takes to reconstruct the signal
Question:
How does "delay jitter" occur?
Answer
Between all the different buffer sizes and queueing delays and network congestion levels that a packet might
experience, different voice packets can end up with different amounts of delay. One voice packet may be delayed by
100 ms, and another by 300 ms. We call this phenomenon "jitter," "packet jitter," or "delay jitter."
Question:
What are the mitigation techniques for delay jitter?
Answer
The main VoIP application mechanism for mitigating jitter is maintaining a buffer, called the "jitter buffer" or the
"play-out buffer." This mechanism helps to smooth out and hide the variation in delay between different received
packets, by buffering them and playing them out for decoding at a steady rate. There's a tradeoff here, though. A
longer jitter buffer reduces the number of packets that are discarded because they were received too late, but that adds
to the end-to-end delay. A shorter jitter buffer will not add to the end-to-end delay as much, but that can lead to more
dropped packets, which reduces the speech quality.
Question:
Compare the three major methods for dealing with packet loss in VoIP protocols.
Answer - FEC (Forward Error Correction) - transmitting redundant data alongside the main transmission, which allows the
receiver to replace lost data with the redundant data - Interleaving - mixing chunks of audio together so that if one set of chunks is lost, the lost chunks aren't consecutive - Error concealment - "guessing" what the lost audio packet might be
Question:
How does FEC (Forward Error Correction) deal with packet loss in VoIP? What are the tradeoffs of FEC?
Answer
Lost data is replaced with the redundantly-transmitted data.
Tradeoffs: the more redundant data transmitted, the more bandwidth is consumed. Also, some of these FEC
techniques require the receiving end to receive more chunks before playing out the audio, and that increases playout
delay.
Question:
How does interleaving deal with the packet loss in VoIP/streaming stored audio? What are the tradeoffs of
interleaving?
Answer
Not having consecutive loss chunks, so as to minimize the impact of a packet loss.
Tradeoff: the receiving side has to wait longer to receive consecutive chunks of audio, and that increases latency.
Unfortunately, that means this technique is limited in usefulness for VoIP, although it can have good performance for
streaming stored audio.
Question:
How does the error concealment technique deal with packet loss in VoIP?
Answer
"Guessing" what the lost audio packet might be. This is possible because generally, with really small audio snippets
(like between 4 ms and 40 ms), there's some similarity between one audio snippet and the next audio snippet. Could
be repeating the previous packet or interpolating using the previous and next packets.
Question:
What developments lead to the popularity of consuming media content over the Internet?
Answer
1. The bandwidth for both the core network and last-mile access links have increased tremendously over the years.
2. Video compression technologies have become more efficient. This enables streaming high-quality video without
using a lot of bandwidth.
3. The development of Digital Rights Management culture has encterm-16ouraged content providers to put their
content on the Internet.
Question:
Provide a high-level overview of adaptive video streaming.
Answer
The video content is first created -- say in a professional studio like this lesson or using a smartphone by a user. The
raw recorded content is typically at a high quality. It is then compressed using an encoding algorithm. This encoded
content is then secured using DRM and hosted over a server. Typically content providers have their own data centers
such as Google or use third-party Content delivery networks to replicate the content over multiple geographically
distributed servers. This makes sure that the content can be delivered in a scalable manner. The end-users download
the video content over the Internet. The downloaded video is decoded and rendered on the user's screen.
Question:
Which protocol is preferred for video content delivery - UDP or TCP? Why?
Answer
TCP, as data loss would make it difficult to reliably decode video data. TCP also provides congestion control, which is
required for effective bandwidth sharing.
Question:
What was the original vision of the application-level protocol for video content delivery, and why was HTTP chosen
eventually?
Answer
The original vision was to have specialized video servers that remembered the state of the clients. These servers would
control the sending rate to the client. In the event that the client paused the video, it would send a signal to the server
and the server would stop sending video. Thus, all the intelligence would be stored at a centralized point and the
clients, which can be quite diverse, would have to do a minimal amount of work.
However, all this required content providers to buy specialized hardware.
Another option was to use the already existing HTTP protocol. In this case, the server is essentially stateless and the
intelligence to download the video will be stored at the client. A major advantage of this is that content providers could
use the already existing CDN infrastructure. Moreover, it also made bypassing middleboxes and firewalls easier as they
already understood HTTP.
Question:
Summarize how progressive download works.
Answer
The client sends byte-range requests for part of the video instead of requesting the entire video. Once the video content
has been watched, the client sends a request for more content. Ideally, this should be enough for streaming without
stalls.
To account for throughput variations, the client pre-fetches some video ahead and stores it in a playout buffer.
Question:
How to handle network and user device diversity?
Answer
Content providers encode their video at multiple bitrates chosen from a set of pre-defined bitrates. Specifically, the
video is chunked into segments which are usually of equal duration. Each of these segments is then encoded at
multiple bitrates and stored at the server. The client request while requesting for a segment also specifies its quality.
How does the bitrate adaptation work in DASH?
Answer
A video in DASH is divided into chunks and each chunk is encoded into multiple bitrates. Each time the video player
needs to download a video chunk, it calls the bitrate adaptation function, say f. The function f that takes in some input
and outputs the bitrate of the chunk to be downloaded.
What are the goals of bitrate adaptation?
Answer
1 .Low or zero re-buffering: users typically tend to close the video session if the video stalls a lot
2. High video quality: the better the video quality, better the user QoE. A higher video quality is usually characterized
by a high bitrate video chunk.
3. Low video quality variations: a lot of video quality variations are also known to reduce the user QoE.
4. Low startup latency: startup latency is the time it takes to start playing the video since the user first requested to
play the video.
What are the different signals that can serve as an input to a bitrate adaptation algorithm?
Answer - Network Throughput: The first signal that can facilitate the selection of bitrate is the network conditions, or more
specifically, the network throughput. - Video Buffer: The amount of video in the buffer can also inform the decision of the video bitrate for the next chunk.
Explain buffer-filling rate and buffer-depletion rate calculation.
Answer
The buffer-filling rate is essentially the network bandwidth divided by the chunk bitrate.
The buffer-depletion rate is simply 1 because 1 s of video content gets played in 1 s.
What steps does a simple rate-based adaptation algorithm perform?
Answer
1. Estimation: The first step involves estimating the future bandwidth. This is done by considering the throughput of
the last few downloaded chunks. Typically, a smoothing filter such as moving average, or the harmonic mean is used
over these throughputs to estimate the future bandwidth.
2. Quantization: In the second step, the continuous throughput is mapped to a discrete bitrate. Basically, we select the
maximum bitrate that is less than the estimate of the throughput, including a factor in this selection.
Explain the problem of bandwidth over-estimation with rate-based adaptation.
Answer
TL;DR Under the case when the bandwidth changes rapidly; the player takes some time to converge to the correct
estimate of the bandwidth. As observed in this specific, this can sometimes lead to an overestimation of the future
bandwidth.
Explain the problem of bandwidth under-estimation with rate-based adaptation.
Answer
This was terribly explained...
Continuous playout
Answer
It should play out the same way it was recorded without freezing up in the middle.
Differences between streamed audio and video
Audio is more delay sensitive and has many simultaneous users
What is the most delay sensitive?
Conversational video and voice over IP
Challenge of VoIP
It's broadcasted over the internet
3 major categories of encoding schemes
narrowband, broadband, and multimode
Signaling protocol is responsible for what 4 major functions
1. User location
2. Session establishment
3. Session negotiation
4. Call participation management
3 metrics for quality of service for VoIP
end-to-end delay
jitter
packet loss
End-to-end delay sources
The time it takes to encode the audio
The time it takes to put it in packets
Normal sources of network delay that network traffic encounters such as queueing delays
"playback delay"
decoding delay
Why is jitter problematic?
It interferes with reconstructing the analog voice stream. With large jitter, we end up with more delayed packets that
end up getting discarded, and that can lead to a gap in the audio. Too many dropped sequential packets can make the
audio unintelligible
How do you mitigate jitter?
Maintaining a buffer, called the "jitter buffer" or the "play-out buffer." This mechanism helps to smooth out and hide
the variation in delay between different received packets, by buffering them and playing them out for decoding at a
steady rate.
Tradeoff for jitter buffer
A longer jitter buffer reduces the number of packets that are discarded because they were received too late, but that
adds to the end-to-end delay. A shorter jitter buffer will not add to the end-to-end delay as much, but that can lead to
more dropped packets, which reduces the speech quality.
Packet loss for VoIP
It either never arrives OR if it arrives after its scheduled playout.
3 protocols for dealing with packet loss in VoIP
FEC (forward error correction)
Interleaving
Error concealment
Forward error correction
Transmitting redundant data alongside the main transmission, which allows the receiver to replace lost data with the
redundant data.
Interleaving
Doesn't transmit ANY redundant data, and so it doesn't add extra bandwidth requirements or bandwidth overhead. It
works by mixing chunks of audio together so that if one set of chunks is lost, the lost chunks aren't consecutive.
Tradeoff for interleaving
Increases latency
Error concealment
"Guessing" what the lost audio packet might be
What tech/trends have led to live and ondemand streaming?
1. The bandwidth for both the core network and last-mile access links have increased tremendously over the years.
2. The video compression technologies have become more efficient.
Two types of content streamed over the internet
Live and on demand
Adaptive video content streaming steps
1. The video content is first created
2. It is then compressed using an encoding algorithm.
3. This encoded content is then secured using DRM and hosted over a server.
4. Content delivery networks to replicate the content over multiple geographically distributed servers. This makes sure
that the content can be delivered in a scalable manner.
5. The end-users download the video content over the Internet.
6. The downloaded video is decoded and rendered on the user's screen.
What protocol is chosen for video delivery? Why?
TCP bc it provides reliability. An additional benefit of using TCP was that it already provides congestion control which
is required for effectively sharing bandwidth over the Internet.
What application-layer protocol should be used for video delivery? Why?
http because the server is essentially stateless and the intelligence to download the video will be stored at the client. A
major advantage of this is that content providers could use the already existing CDN infrastructure. Moreover, it also
made bypassing middleboxes and firewalls easier as they already understood HTTP.
What are the disadvantages to using HTTP get for video?
1. Users often leave the video mid-way. Thus, downloading the entire file can lead to a waste of network resources.
2.The video content that has been downloaded but not played so far would have to be stored. Thus, we will need a
video buffer at the client to store this content in memory
Playout buffer
Number of seconds of video that can be downloaded in advance or in terms of size in bytes.
2 streaming states
Filling state and steady state
Filling state
This happens when the video buffer is empty and the client tries to fill it as soon as possible.
Steady state
After the buffer has become full, the client waits for it to become lower than a threshold. After which, the client sends a
request for more content.
Bitrate adaption
Once the available bandwidth reduces due to a background download, you can reduce the video quality and stream the
video lower, avoiding any stalls.
DASH/Dynamic streaming over http
The client dynamically adjusts the video bitrate based on the network conditions and device type. Dynamic streaming
signifies the dynamic bitrate adaptation.
4 conditions for good quality of experience for bitrate adaption
Low or zero re-buffering
High video quality
Low video quality variations
Low startup latency
Network throughput
The first signal that can facilitate the selection of bitrate
2 types of input to bitrate algorithms
Network throughput and video buffer
Rate based adaption steps
Estimation and quantization
Quantization
Estimation
Considering the throughput of the last few downloaded chunks
Quantization
The continuous throughput is mapped to discrete bitrate. Basically, we select the maximum bitrate that is less than the
estimate of the throughput, including a factor in this selection.
Why do we add a factor during quantization?
We want to be a little conservative in our estimate of the future bandwidth to avoid any re-buffering
If the chunks are VBR-encoded, their bitrate can exceed the nominal bitrate
Finally, there are additional application and transport-layer overheads associated with downloading the chunk and we
want to take them into account
Bitrate for videos, photos, and audio
High for video, audio has lower bit rate, photos are somewhat in the middle
Streaming stored video characteristics
Can play within a few seconds of getting data, interactive, continuous playout out, on a CDN
Streaming live audio and video characteristics
Many simultaneous users, delay sensitive
Conversational voice and video over IP
Highly delay sensitive and loss tolerant
How is analog video encoded?
By taking many (as in, thousands) of samples per second, and then rounding each sample's value to a discrete number
within a particular range.
Tradeoffs of FEC
The more redundant data transmitted, the more bandwidth is consumed. Also, some of these FEC techniques require
the receiving end to receive more chunks before playing out the audio, and that increases playout delay.
Progressive download
Thus, instead of downloading the content all at once, the client tries to pace it. This can be done by sending byte-range
requests for part of the video instead of requesting the entire video. Once the video content has been watched, it sends
request for more content. Ideally, this should be enough for streaming without stalls.
How to handle network and user device diversity?
Bitrate adaption
Buffer filling
The network bandwidth divided by the chunk bitrate
Buffer depletion
The output rate is simply 1
Overestimation with bitrate adaption
Bandwidth changes rapidly, the player takes some time to converge to the right estimate of the bandwidth.
Underestimation with bitrate adaption
Note that this problem happens because of the ON-OFF behavior in DASH. Had it been two competing TCP-flows they
would have gotten their fair share. While we have seen this problem for DASH and a competing TCP flow, it can also
happen in competing DASH players leading to an unfair-allocation of network bandwidth.
Show Less