1 / 23

Streaming Video

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.

olesia
Download Presentation

Streaming Video

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Streaming Video Gabriel Nell UC Berkeley

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

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

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

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

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

  7. Enhancement Layer Performance • Simulation shows PSNR improvement proportional to amount of enhancement layer received

  8. PSNR at Different Rates

  9. Integrated Transport-Decoder • Receiver buffer model • Transport delay parameters • Packet loss, jitter, etc. • Video encoder buffer constraints • Min and max buffer bounds

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

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

  12. RAP Congestion Control • RAP: Rate Adaptation Protocol • Motivation: make realtime streaming applications behave properly; “TCP-friendly”

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

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

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

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

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

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

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

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

  21. Decentralized Prefetching • Multiple video servers • Window-based flow control • Dynamic send window: increase send window to clients with depleted buffers

  22. Performance • Allows near-100% link utilization, with low probability of buffer starvation

  23. Questions?

More Related