Document 7624448

Download Report

Transcript Document 7624448

Implementation of
Video Layering in
Multicast Transmission
L. Suniga, I Tabios, J. Ibabao
Computer Networks Laboratory
University of the Philippines
Problem
100 Mbps
10 Mbps
100 Mbps
• How to deliver scalable multicast video over
networks with varying bandwidth constraints without
compromising quality?
APAN –Fukuoka 2003
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
APAN –Fukuoka 2003
University of the Philippines
Solution
100 Mbps
10 Mbps
100 Mbps
• Split video information over a number of layers and
have clients receive only the layers they need
APAN –Fukuoka 2003
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
Upsampling /
• Half-band filters
Downsampling
APAN –Fukuoka 2003
University of the Philippines
Discrete Wavelet Transform
High-pass filter
Yhigh[k ]   x[n]  g[2k  n]
n
Low-pass filter
Ylow[k ]   x[n]  h[2k  n]
n
APAN –Fukuoka 2003
University of the Philippines
Software Design
Server-side module
VB6,
OpenGL
Client-side module
Client Interface Module
Video Compression
Module
C/C++
Video Decompression
Module
Transport Module
C/C++
Rate Control Module
Multicast
Network
APAN –Fukuoka 2003
University of the Philippines
Server Compression Module
Raw AVI
DIB File
Format
Get each
frame
ONE FRAME
Coeff
Convert RGB
frame to 4:2:2
YCrCb Frame
Cr Coeff
Cb Coeff
HUFFMAN FILE
Code Table
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
DWT FILE
Build Huffman
tree & code table
Perform Huffman
compression
Cb base layer
Cb layer 1
Cb layer 2
Cb layer 3
Cb layer 4
For
each
coeff
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
Put result
to DWT file
5-level FDWT,
quantization
thresholding
Cb base layer
Cb layer 1
Cb layer 2
Cb layer 3
Cb layer 4
Daubechies-6
Raw video
file
Source
Encoder
(DWT)
Quantizer
(Per layer)
Huffman
Encoder
Transport
(Per layer)
APAN –Fukuoka 2003
University of the Philippines
Y
Server Transport
Join base multicast group
Any client?
HUFFMAN FILE
Code Table
Compressed Y base layer
Compressed Y layer 1
Compressed Y layer 2
Compressed Y layer 3
Compressed Y layer 4
None
At least one
Send code table
Send base layer
Compressed Cr base layer
Compressed Cr layer 1
Compressed Cr layer 2
Compressed Cr layer 3
Compressed Cr layer 4
L1
request?
Open layer 1 multicast address &
send layer 1 coefficients
Compressed Cb base layer
Compressed Cb layer 1
Compressed Cb layer 2
Compressed Cb layer 3
Compressed Cb layer 4
L2
request?
Open layer 2 multicast address &
send layer 2 coefficients
L3
request?
Open layer 3 multicast address &
send layer 3 coefficients
APAN –Fukuoka 2003
L4
request?
Open layer 4multicast address &
send layer
4coefficients
University
of the
Philippines
Client Side
Join base multicast group
& connect to server
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
Receive code table
Receive base layer
Compressed Cb base layer
Compressed Cb layer 1
Compressed Cb layer 2
Compressed Cb layer 3
Compressed Cb layer 4
None, probe succesful
APAN –Fukuoka 2003
Rebuild Huffman tree
YUV-toRGB
IDWT
Add new layer
Congestion
?
Yes, probe failed
Drop new layer
University of the Philippines
Testing
Client1
100 Mbps
Client2
APAN –Fukuoka 2003
University of the Philippines
Results
Layer 4
Layer 3
Layer 2
Layer 1
Base
1
2
3
4
5
6
7
8
9
10
Time (sec)
Client1 (10 Mbps)
Client2 (100 Mbps)
APAN –Fukuoka 2003
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
APAN –Fukuoka 2003
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?)
APAN –Fukuoka 2003
University of the Philippines
Thank you!
• Robe Polikar’s Wavelet Tutorial
http://engineering.rowan.edu/%7polikar/wavelets/Wtutorial.html
• www.upd.edu.ph/~cnl/
• [email protected]
• 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.
APAN –Fukuoka 2003
University of the Philippines