150 likes | 325 Views
Implementation of Video Layering in Multicast Transmission. L. Suniga, I Tabios, J. Ibabao Computer Networks Laboratory University of the Philippines. Problem. How to deliver scalable multicast video over networks with varying bandwidth constraints without compromising quality?.
E N D
Implementation of Video Layering in Multicast Transmission L. Suniga, I Tabios, J. Ibabao Computer Networks Laboratory University of the Philippines
Problem • How to deliver scalable multicast video over networks with varying bandwidth constraints without compromising quality? 100 Mbps 10 Mbps 10 Mbps 100 Mbps University of the Philippines
Problem • Congestion on the slow links • Limit data to fit slowest link everybody suffers • Encode and send different files depending on connection speed • processor intensive • user must know link speed University of the Philippines
Solution • Split video information over a number of layers and have clients receive only the layers they need 100 Mbps 10 Mbps 10 Mbps 100 Mbps University of the Philippines
How do you layer video? • Use wavelet coding scheme • Multi-resolution analysis: time scale representation of a signal using digital filtering techniques • Discrete Wavelet Transform (DWT) • Decompose the signal to its course approximation and its detailed approximation • Half-band filters Upsampling / Downsampling University of the Philippines
Discrete Wavelet Transform High-pass filter Low-pass filter University of the Philippines
Software Design Server-side module Client-side module VB6, OpenGL Client Interface Module Video Compression Module Video Decompression Module C/C++ Transport Module C/C++ Rate Control Module Multicast Network University of the Philippines
ONE FRAME Y Coeff Cr Coeff Cb Coeff HUFFMAN FILE Code Table Y base layer Y layer 1 Y layer 2 Y layer 3 Y layer 4 DWT FILE Y base layer Y layer 1 Y layer 2 Y layer 3 Y layer 4 Cr base layer Cr layer 1 Cr layer 2 Cr layer 3 Cr layer 4 Cr base layer Cr layer 1 Cr layer 2 Cr layer 3 Cr layer 4 Cb base layer Cb layer 1 Cb layer 2 Cb layer 3 Cb layer 4 Cb base layer Cb layer 1 Cb layer 2 Cb layer 3 Cb layer 4 Daubechies-6 Source Encoder (DWT) Huffman Encoder Raw video file Quantizer Transport (Per layer) (Per layer) Server Compression Module Get each frame Raw AVI DIB File Format Convert RGB frame to 4:2:2 YCrCb Frame For each coeff Build Huffman tree & code table Put result to DWT file 5-level FDWT, quantization thresholding Perform Huffman compression University of the Philippines
HUFFMAN FILE Code Table Compressed Y base layer Compressed Y layer 1 Compressed Y layer 2 Compressed Y layer 3 Compressed Y layer 4 Compressed Cr base layer Compressed Cr layer 1 Compressed Cr layer 2 Compressed Cr layer 3 Compressed Cr layer 4 Compressed Cb base layer Compressed Cb layer 1 Compressed Cb layer 2 Compressed Cb layer 3 Compressed Cb layer 4 Server Transport Join base multicast group Any client? None At least one Send code table Send base layer L1 request? Open layer 1 multicast address & send layer 1 coefficients L2 request? Open layer 2 multicast address & send layer 2 coefficients L3 request? Open layer 3 multicast address & send layer 3 coefficients Open layer 4multicast address & send layer 4coefficients L4 request? University of the Philippines
HUFFMAN FILE Code Table Compressed Y base layer Compressed Y layer 1 Compressed Y layer 2 Compressed Y layer 3 Compressed Y layer 4 Compressed Cr base layer Compressed Cr layer 1 Compressed Cr layer 2 Compressed Cr layer 3 Compressed Cr layer 4 Compressed Cb base layer Compressed Cb layer 1 Compressed Cb layer 2 Compressed Cb layer 3 Compressed Cb layer 4 Client Side Join base multicast group & connect to server Rebuild Huffman tree Receive code table IDWT YUV-to-RGB Receive base layer Add new layer Yes, probe failed Congestion? Drop new layer None, probe succesful University of the Philippines
10 Mbps 100 Mbps Testing Client1 Client2 University of the Philippines
1 2 3 4 5 6 7 8 9 Results Layer 4 Layer 3 Layer 2 Layer 1 Base Time (sec) 10 Client1 (10 Mbps) Client2 (100 Mbps) University of the Philippines
Problems Encountered • Asymmetrical system • Off-line compression, real-time decompression • Slow display graphics card &processor specific • “Live” testing with more clients • Not that easy to implement multi-threading University of the Philippines
Recommendations • Develop a faster codec to enable smoother playback • Perform inter-frame techniques to achieve better compression • Experiment on the optimum “probe window” length (dynamic or fixed?) University of the Philippines
Thank you! • Robe Polikar’s Wavelet Tutorialhttp://engineering.rowan.edu/%7polikar/wavelets/Wtutorial.html • www.upd.edu.ph/~cnl/ • jhoanna@eee.upd.edu.ph • Based on the paper “Highly-Scalable Wavelet-Base Video Codec for Low Bit Rate Environment” Tham, Ranganath, Kassim. IEEE Journal on Selected Areas in Communications, January 1998. University of the Philippines