Network Traffic Adaptable Image Codec - A solution to make streaming faster

MamoonIsmail 20 views 13 slides May 15, 2024
Slide 1
Slide 1 of 13
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13

About This Presentation

During online video streaming, if network congestion occurs, the resolution is
downscaled, leading to deteriorated video experience.

This occurs even when slight network congestion occurs.

For example streaming videos on youtube provides option of streaming in
480p, 360p, 240p etc.

Downscaling re...


Slide Content

Network Traffic Adaptable Image Coded

Problem Statement During online video streaming, if network congestion occurs, the resolution is downscaled, leading to deteriorated video experience. This occurs even when slight network congestion occurs. For example streaming videos on youtube provides option of streaming in 480p, 360p, 240p etc. Downscaling resolution greatly reduces the bandwidth, leaving some bandwidth unused, leading to inefficiency. Downscaling also results in deteriorated video quality, while some bandwidth is still unused and could have been utilized.

Proposed Solution Keep resolution constant and vary coding parameters, e.g. macro-block size, quantization step-size etc. For example, assume a 1MBps channel bandwidth and a video streaming in 640*480 that needs 1.2 Mbps. Traditional solution: reduce resolution to 320*240, requiring a bitrate of 0.6 Mbps, leaving 0.4 Mbps unused , and deteriorated video quality. Proposed solution: Resolution remains same 640*480, adjust one parameter, required bandwidth now: 0.9. Wasted:0.1Mbps, a nd enhanced video quality.

Proposed Solution To summaries, change the coding parameters rather than the resolution in a specified order, until the transmission bandwidth is less than the available bandwidth. Available bandwidth: 1Mpbs B andwidth required: 1.2Mbps After adjusting Macroblock size, bandwidth required: 1.1 Mbps After adjusting the Macroblock size and transform: 1.05 Mbps After adjusting the Macroblock size, transform and quantizer step-size: 0.8 Mbps

How is network congestion Calculated Three “ping” packet sent to the underlying host (or router). The host responds by sending “pong messages”. Time taken for “pong” message to reach the sending host is measured. Average of these three times is calculated. This average time is proportional to the utilization (graph on next slide).

Calculating Network Congestion From utilization, the available bandwidth can be easily calculated: utilized bandwidth = [Link bandwidth] x [utilization] For Example, if Link Bandwidth= 1Mbps, utilization= 0.7, then utilized bandwidth= 1Mbps x 0.7 = 0.7 Mbps Free Bandwidth = Link Bandwidth – U tilized Bandwidth = 1Mbps – 0.7 Mbps = 0.3 Mbps

Adjustment Sequence Macroblock size Transform Quantization step-size Drop intra frames

Parameter 1: Macro-block size

Transform Two types of transforms: Integer Transforms and Discrete Cosine Transform Integer Transform: Less efficient than DCT, however less computationally intensive. DCT: More efficient, but computationally intensive. Switch from DCT to Integer transform depending upon network congestion. Less Network Congestion: Integer transform. Bitrate increased Quality increased (because no non-fractional parts). More Network Congestion: Use DCT. Bitrate decreased. Quality decreased

Quantization step-size The quantization step-size can be varied to achieve variable bit-rates. However, the coarser the quantization, the more deteriorated the image quality. Congested Network: Increase the quantization step-size up to a limit, with acceptable distortions in picture quality. Decreases bitrate. As studied in class, these distortions can be reduced by varying the parameters of a de-blocking filter.

Inter/Intra prediction Adjusting the Inter/Intra mode according to the bandwidth available, keeping in view the quality (this already is a feature of many available codecs, and wont be elaborate upon). To achieve lesser required bandwidth, drop frames not used for inter prediction (e.g. the I frames), reduces bitrate.

Implementation on Adaptable Video C odec Since different parameters of this codec change, the implementation must be software based. For each level of network congestion, an available bandwidth is calculated. The different parameters defined above (step-size, Macro-block size etc.) are varied, and resulting bandwidth required is calculated. If ( resultingBandwidthRequired <= available bandwidth) { Apply the change by changing the parameter calculated } Parameters to be defined: Unsigned int Blocksize ; Unsigned int Transform; Unsigned int Step-size; Unsigned int FrameDropping ;