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.

Download Report

Transcript 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.

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?