Sliding-Window Digital Fountain Codes
for Streaming of Multimedia Contents
Matta C.O. Bogino,
Pasquale Cataldi,
Marco Grangetto,
Enrico Magli,
Gabriella Olmo.
IEEE International Symposium on Circuits and Systems (ISCAS), 2007.
Outline
• Introduction
• Proposed Method
• Performance Analysis
• Conclusions
• Future Works
Introduction
• Luby Transform (LT) Codes:– Encoding process
• For the ith encoding symbol (packet), select degree di by Soliton distribution
• Choose di source data
• Perform XOR on chosen data
– Decoding process• Decode degree-one encoded symbols
• Remove degree-one edges iteratively…
x1 x2 x3 x4 x5 x6
y1 y2 y3 y4 y5
x1
x3
x2
x2
x5
x3
x5
x6
Degree 1 2 3 … k
probability Ω1 Ω2 Ω3 … Ωk
x4
Introduction
• Digital Fountain (DF):– Decoder can recover original data from enough
number of received encoded packets.• Any subset of the encoded packets.
– Receive n = (1 + ) · k encoded packets can recover k original data.
• ε: code overhead.
– Digital Fountain Codes are potentially (asymptotically) optimal.
• for k → ∞, such that ε→ 0
Introduction
I I IP Pplayed!
queuedqueuedqueued queued
I I IP PP P P PP P P PP PP P P
Pqueued
discarded!discarded!
• Many applications require short data block length:– k↓, such that ε↑, overhead↑– k ↑, such that ε↓, overhead↓
• Video streaming:
Introduction
• Sliding Fountain (SF):– Use a windowing approach to partition the information
data (original source data).– Encoder chooses source data among those in a
sliding window.• Sliding window moves following the chronological order of
the video stream.
– Provides a rough temporal ordering of the received packets.
• Avoiding expired information to be processed.
Proposed Method
• Sliding Windows:
Proposed Method
• Sliding Windows:
A GB DC E H JI KF L
data streaming (chronological order)
A G MB DC E H JI K N PO QF L R
A D GB DC E E GF H H JI KF I L
A GB DC E H JI KF L
Proposed Method
• Sliding Windows:
– Number of windows that consider a particular symbol: w / s
window movementwindow lengthoverlap region
A G MB DC E H JI K N PO QF L R
w = 6s = 2
Proposed Method
overlap regionwindow movement
A B C D E F G H I J K L
A B C D E F D E F G H I G H I J K L
A B C D E F C D E F G H E F G H I J G H I J K L
s = 3
s = 2
w = 6
• Sliding Windows:– The overlap strategy permits to virtually extend the window
length.
• s↓, such that (w – s)↑, virtual block length↑, ε (overhead)↓.
Proposed Method
• Total overhead:– The total overhead of the SF code is equal to traditional DF.
– Conventional DF encoder:
– SF encoder: • Each source data is processed in w/s windows.
• The number of source data as virtually enlarged:
• The number of encoded packets can be generated, on average, for every virtual source data:
(1 )n
k
'w
k ks
(1 )(1 )
'
n k swk wks
Proposed Method
• Why more efficient?– The number of encoded symbols can be generated from
each window of SF:
– The number of encoded packets that generates in every window of SF code is smaller than traditional DF code in order to recover the whole information.
(1 )wn s (1 )
f
n n ww
N k
<
(1 )wn s
Number of encoded packets generates per window (SF code)
Number of encoded packets generates per window (DF code)
• Total number of windows in DF code: Nf = k / w
Proposed Method
• Why more efficient?– The number of encoded packets that generates in every
window of SF system is smaller than traditional DF code in order to recover the whole information.
8 8
8
88
DF Code:
SF Code:
12 12
8 88
Proposed Method
• SF decoder:– A conventional DF decoder, does not require to know
windowing is being used.
• Two decoding cases:– All the symbols of the window have been solved.
• Usually there are not enough encoded symbols to recover all the window source data.
– There are still unsolved equations.• Decoder requires a suitable amount of memory to store all
the unsolved equations.• Would be solved using the new incoming symbols.
– window overlap.
Performance Analysis
• Using LT Codes to analyze on varying:– Window speed.– Total overhead of the code.
• LT Codes:– Robust Soliton distribution:
• Constant: δ& c were set empirically.
• Performed on an personal computer.– Intel Pentium 4 processor 1.7 GHz– 512 MB of Ram– Linux OS
Performance Analysis
Performance Analysis
Undecoded Symbols as a function of the Received Overhead
Performance Analysis
Simulation Failure Probability as a function of the Received Overhead
Performance Analysis
Encoding Times as a function of the Received Overhead
Performance Analysis
Decoding Times as a function of the Received Overhead
Performance Analysis
Peak of Memory Usage as a function of the Received Overhead
Conclusions
• Presented an innovative Sliding Fountains (SF) transmission scheme.
• The window sliding through the data stream and leaving some overlap between successive steps.– Permits to virtually enlarge block length to obtain high
er code efficiency.
• Keeping the overhead constant, SF approach allows to achieve an undecoded symbol rate lower of 105 than traditional ones.
Conclusions
• Time complexity:– SF encoding process is less complex.
– An increasing of decoding complexity with low values
of ε, where traditional systems cannot work properly.
• SF system needs a lower amount of memory with respect of a traditional one.
Future Works
• The system parameters can be tuned in order to transmit multimedia contents over critical channels.
• SF scheme can be further modified so that an Unequal Error Protection (UEP) can be performed.