Lesson 11: Applications - Video Flashcards

1
Q

Compare the bit rate for video, photos, and audio.

A

Video is high: 100 kbps to over 3Mbps
Audio: 128 kpbs
Photos: 320 kbps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the characteristics of streaming stored video?

A
  • it starts playing immediately
  • interactive, as users expect to control the playback
  • has continuous playback
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the characteristics of streaming live audio and video?

A
  • many simultaneous users

- delay-sensitive

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the characteristics of conversational voice and video over IP?

A
  • delay-sensitive

- packet loss-tolerant

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How does the encoding of analog audio work (in simple terms)?

A

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 calledquantization.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the three major categories of VoIP encoding schemes?

A

narrowband, broadband and multimode

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the functions that signaling protocols are responsible for?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are three QoS VoIP metrics?

A
  • end-to-end delay
  • jitter
  • packet loss
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What kind of delays are included in “end-to-end delay”?

A
  • the time it takes to encode the audio (which we discussed earlier),
  • 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, which we’ll be discussing next),
  • and decoding delay, which is the time it takes to reconstruct the signal.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How does “delay jitter” occur?

A

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 100ms, and another by 300ms. We call this phenomenon “jitter,” “packet jitter,” or “delay jitter.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the mitigation techniques for delay jitter?

A

The main VoIP application mechanism for mitigating jitter is maintaining a buffer, called the “jitter buffer” or the “play-out buffer.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Compare the three major methods for dealing with packet loss in VoIP protocols.

A
  1. FEC(Forward Error Correction): works by transmitting redundant data alongside the main transmission, which allows the receiver to replace lost data with the redundant data
  2. Interleaving: Interleaving works by mixing chunks of audio together so that if one set of chunks is lost, the lost chunks aren’t consecutive. The idea is that many smaller audio gaps are preferable to one large audio gap.
  3. Error concealment: basically “guessing” what the lost audio packet might be.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How does FEC (Forward Error Correction) deal with the packet loss in VoIP? What are the tradeoffs of FEC?

A

works by transmitting redundant data alongside the main transmission, which allows the receiver to replace lost data with the redundant data

tradeoffs- higher bandwidth usage due to transmitting redundant data. Also, some of these FEC techniques require the receiving end to receive more chunks before playing out the audio, and that increases playout delay.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How does interleaving deal with the packet loss in VoIP/streaming stored audio? What are the tradeoffs of interleaving?

A

Interleaving works by mixing chunks of audio together so that if one set of chunks is lost, the lost chunks aren’t consecutive. The idea is that many smaller audio gaps are preferable to one large audio gap.

The tradeoff for interleaving is that 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How does the error concealment technique deal with the packet loss in VoIP?

A

basically “guessing” what the lost audio packet might be.

tradeoffs- replacement strategy is computationally cheap and interpolation is expensive but a better one.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What developments lead to the popularity of consuming media content over the Internet?

A
  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. This enables to stream high-quality video without using a lot of bandwidth.
  3. the development of Digital Rights Management culture has encouraged content providers to put their content on the Internet.
17
Q

Provide a high-level overview of adaptive video streaming.

A
  • content is created
  • compressed using an encoding algo
  • secured using a DRM
  • hosted over a server
18
Q

(Optional) What are two ways to achieve efficient video compression?

A

i) within an image – pixels that are nearby in a picture tend to be similar – known as spatial redundancy, and
ii) across images – in a continuous scene, consecutive pictures are similar – known as temporal redundancy.

19
Q

(Optional) What are the four steps of JPEG compression?

A
  1. Transform image into color components and luminance.
  2. Separate the matrices, compress and encode them. Apply discrete cosine transformation to transform into the frequency domain.
  3. Compress the matrices using pre-defined quantization table.
  4. Lossless encoding to store the coefficients.
20
Q

(Optional) Explain video compression and temporal redundancy using I-, B-, and P-frames.

A

Well, consecutive frames in a video are similar to each other. Thus, instead of encoding every image as a JPEG, we encode the first (known as I-frame) as a JPEG and then encode the difference between two frames. The in-between encoded frame is known as Predicted or P-frame. An additional way to improve encoding efficiency is to encode a frame as a function of the past and the future I (or P)-frames. Such a frame is known as a Bi-directional or B-frame.

21
Q

(Optional) Why is video compression unable to use P-frames all the time?

A
  1. when a scene changes, the frame becomes drastically different from the last frame and even if we are using the difference, it is almost like encoding a fresh image. This can lead to loss in image quality.
  2. In addition, it also increases the decoding time in case a user skips ahead in the video as it will need to download all frames in between the last I-frame and the current frame to decode the video.
22
Q

(Optional) What is the difference between constant bitrate encoding and variable bitrate encoding (CBR vs VBR)?

A

CBR: the output size of the video is fixed over time
VBR: the output size remains the same on an average, but varies here and there based on the underlying scene complexity

23
Q

Which protocol is preferred for video content delivery - UDP or TCP? Why?

A

TCP for video delivery as it provides reliability.

24
Q

What was the original vision of the application-level protocol for video content delivery and why was HTTP chosen eventually?

A

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 case, 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 minimal amount of work. All this required content providers to buy specialized hardware.

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.

25
Q

Summarize how progressive download works.

A

Instead downloading all the content all at once, the client paces it by sending requests for byte-ranges it needs. Once the content has been watched, it requests for more content. The client prefetches some of the video content just before it is played and stores it in a playout buffer. This has two states:

  • filling state- when the video buffer is empty and the client tries to fill it as soon as possible
  • steady state- after the buffer becomes full, the client waits for it to become lower than a threshold after which it sends request for more content.
26
Q

How to handle network and user device diversity?

A

Bitrate adaptation solves the problem of having different network conditions by providing different bitrates of the same video segments, suitable for different network conditions. The available bitrates are stored in a manifest file, which is transferred to the client at the beginning of the streaming connection.

27
Q

How does the bitrate adaptation work in DASH?

A
  • video is broken into segments and foreach segment:
  • a bitrate adaptation function at the video player takes various network conditions as inputs and produces a bitrate to be used
  • the bitrate produced by the function is in a set of available bitrates made available by the video server
28
Q

What are the goals of bitrate adaptation?

A

Improve the quality of experience by:

  1. low or zero buffering
  2. high video quality
  3. low video quality variations
  4. low startup latency
29
Q

What are the different signals that can serve as an input to a bitrate adaptation algorithm?

A
    1. Network throughput
    2. Video buffer
30
Q

Explain buffer-filling rate and buffer-depletion rate calculation.

A

Input rate: bandwidth/bitrate

Output rate: 1

31
Q

What steps does a simple rate-based adaptation algorithm perform?

A
  1. estimation: estimating future available bandwidth by considering throughput of the last few downloaded chunks.
  2. quantization: continuous throughput is mapped to discrete bitrate, selecting the maximum bitrate that is less than the estimate of the throughput including a factor, to remain conservative in the overall estimate
32
Q

Explain the problem of bandwidth over-estimation with rate-based adaptation.

A

Since the estimation relies on the throughput data of past chunks, when a drastic change takes place it is not reflected immediately in the estimation and thus overestimatation can take place when network throughput drops significantly.

33
Q

Explain the problem of bandwidth under-estimation with rate-based adaptation.

A

When a new client joins the network to share the bandwidth, the available bandwidth for the existing client can be underdestimated due the TCP congestion window resetting and taking some time to converge to the actual fair share for the existing client.