Title: Implementation of Video Layering in Multicast Transmission
1Implementation of Video Layering in Multicast
Transmission
- L. Suniga, I Tabios, J. Ibabao
- Computer Networks Laboratory
University of the Philippines
2Problem
100 Mbps
10 Mbps
10 Mbps
100 Mbps
- How to deliver scalable multicast video over
networks with varying bandwidth constraints
without compromising quality?
3Problem
- 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
4Solution
100 Mbps
10 Mbps
10 Mbps
100 Mbps
- Split video information over a number of layers
and have clients receive only the layers they need
5How 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
6Discrete Wavelet Transform
High-pass filter
Low-pass filter
7Software Design
Server-side module
Client-side module
VB6, OpenGL
Client Interface Module
Video Compression Module
Video Decompression Module
C/C
Transport Module
Rate Control Module
C/C
Multicast Network
8Server Compression Module
Get each frame
Raw AVI DIB File Format
Convert RGB frame to 422 YCrCb Frame
For each coeff
Build Huffman tree code table
Put result to DWT file
5-level FDWT, quantization thresholding
Perform Huffman compression
9Server 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?
10Client 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
11Testing
Client1
Client2
12Results
Layer 4
Layer 3
Layer 2
Layer 1
Base
Time (sec)
10
Client1 (10 Mbps)
Client2 (100 Mbps)
13Problems 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
14Recommendations
- 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?)
15Thank you!
- Robe Polikars Wavelet Tutorial
http//engineering.rowan.edu/7polikar/wavelets/Wt
utorial.html - www.upd.edu.ph/cnl/
- jhoanna_at_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.