230 likes | 415 Views
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.
E N D
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
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; “TCP-friendly”
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