Video Streaming

advertisement

Streaming Video

Gabriel Nell

UC Berkeley

Outline

 Scalable MPEG-4 video

– Layered coding method

– Integrated transport-decoder buffer model

 RAP streaming congestion control

 Quality adaptation over RAP

 Prefetching VBR prerecorded video

Streaming Video Design

Considerations

 Stream must adapt to widely varying

Internet link speeds and client processing power

 Server should be low complexity

 Client-driven flow control and lost packet recovery

Layered Video

 Prediction-based base layer

– DCT motion-compensated

– Carries minimally-acceptable quality video

 Fine-granular enhancement layer

– Can be decoded progressively

– Fully utilizes available bandwidth

Enhancement Layer Details

 Highly efficient wavelet-based compression

 Organize wavelet coefficients into spatial orientation trees

– Decaying spectrum hypothesis: energies of wavelet coefficients decay as they move from the root

– Allows pruning to select most important coefficients

Enhancement Layer Details

 Wavelet coefficient organization (cont’d)

– “Significant” coefficients are identified, most significant bit transmitted

– Second MSB for each significant coefficient transmitted, then third, etc.

– After complete information about significant coefficients transmitted, change threshold and repeat

Enhancement Layer

Performance

 Simulation shows PSNR improvement proportional to amount of enhancement layer received

PSNR at Different Rates

Integrated Transport-Decoder

 Receiver buffer model

– Transport delay parameters

Packet loss, jitter, etc.

– Video encoder buffer constraints

 Min and max buffer bounds

Integrated Transport-Decoder

 Buffer divided into temporal segments

 Buffer size optimized to accommodate

Start-up delay

Retransmission delay

 Flow control regulated to match bottleneck link

 Retransmitted packets have higher priority than enhancement layer packets

ITD Performance

 Tested 15kbps video over 33.6kbps modem locally and across the country

 Performance measured by number of retransmission requests, failures, successes

 Performance was good, proportional to start-up delay (3-7 seconds)

RAP Congestion Control

 RAP: Rate Adaptation Protocol

 Motivation: make realtime streaming applications behave properly; “TCPfriendly”

RAP Protocol

 Source sends data packets with sequence numbers

 Receiver acknowledges packets

 Congestion detection

– Indicated by lost packets

– Variable such as RTT calculated similar to the way TCP calculates them

RAP Protocol

 Sender rate-control decision function

– If no congestion detected, periodically increase transmission rate

– If congestion detected, immediately decrease transmission rate

 Additional Features

– Clustered loss detection

– Fine-grain rate adaptation

RAP Performance

 Simulation shows TCP-friendliness

 Performance is a little different from TCP

– TCP more sensitive to number of outstanding packets

– RAP more aggressive due to clustered loss detection and fine-grain rate adaptation

Quality Adaptation for

Congestion Control

 Motivation: single video server streaming on demand to heterogeneous clients

 Quality Adaptation: adjust the quality of the stream during playback to maximize quality given bandwidth

 Use hierarchical (layered) approach

Layered Quality Adaptation

 Coarse-grain mechanism for adding and removing layers

 Adding a layer

– When available bandwidth is greater than existing consumption plus the new layer

– When the receiver has sufficient buffer space available

 Layers dropped immediately on congestion

Layered Quality Adaptation

 Inter-layer buffer allocation

– Keep track of buffered data, send less to clients with data already buffered

– Provide more buffering for lower layers for increased protection

– Use smoothing

If there is bandwidth for 2.9 layers, send 3 layers 90% of the time

 Performance

– Depending on smoothing parameters, buffer allocation efficiency ranged from 96% to 99.99% in simulation

Prefetching VBR Prerecorded

Video

 Prerecorded video

– Size (in bits) for every frame is known in advance

– Frames can be prefetched into memory

– Nature of VBR means there will be periods of link underutilization

 Collaborative protocol manages buffers of all clients

JSQ Prefetch

 JSQ: join shortest queue

– Measure buffer length in terms of number of frames rather than bits

– Balance number of frames across all prefetch buffers

– At each time interval, the server iteratively adds a frame to the buffer with the smallest number of frames

– Allows near-100% link utilization, quick recovery from pauses and time jumps

Decentralized Prefetching

 Multiple video servers

 Window-based flow control

 Dynamic send window: increase send window to clients with depleted buffers

Performance

 Allows near-100% link utilization, with low probability of buffer starvation

Questions?

Download