Nikolaos Thomos and Pascal Frossard
Signal Processing Laboratory (LTS4)
Ecole Polytechnique F´ed´erale de Lausanne (EPFL), Lausanne,
Switzerland
JOURNAL OF COMMUNICATIONS, VOL. 4, NO. 9, OCTOBER 2009
1
Outline
Introduction
Network coding
Network coding in streaming application
Conclusion
2
Introduction
This paper
describes the potentials of network coding in emerging
delivery architectures such as overlay or peer-to-peer
networks.
practical network coding
algorithms and outlines the challenges posed by
multimedia streaming applications
overviews the principles of
provides a survey of the recent work on the application of
network coding to media streaming applications
3
Network Coding
Network coding has recently emerged as an alternative to
traditional routing algorithms in communication systems.
Pioneering work: [2] R. Ahlswede, N. Cai, S.-Y. R. Li,
and R.W. Yeung, “Network information flow,” IEEE Trans.
on Information Theory, vol. 46, no. 4, July 2000.
Improves the performance in data broadcasting
Most suitable setting: all to all communications
4
The Butterfly Network
S1
b1
b1
b1
b2
C1
S2
b2
b2
b2
b1
S1
b1
b1
b1+b2
b1+b2
C2
(a) Traditional routing algorithm
b2
C1
S2
b2
b1+b2
C2
The average throughput = 3/2
(b) Network coding
The average throughput = 2
Need transmission schedule.
No transmission schedule.
5
Wireless relay networks
1. Only 3 transmissions, and
2. reduce the energy consumption
of the antenna.
6
Error-prone tandem network
𝜀𝑆1𝑅1
𝜀𝑅1𝐶1
𝜀𝑖𝑗 :loss rate over the link ij.
𝜀𝑆2𝑅1
S1 to C1
S1 to C1
R1 can encode and
decode packet
Communication
(1-𝜀𝑆1𝑅1 ) ∙ (1-𝜀𝑅1𝐶1 ) min{(1-𝜀𝑆1𝑅1 ) , (1-𝜀𝑅1𝐶1 )}
rate
Add S2 to network.
min{max{(1-𝜀𝑆1𝑅1 ) ,
(1-𝜀𝑆2𝑅1 )} , (1-𝜀𝑅1𝐶1 )}
7
Linear Network Coding
Linear network coding [21] is probably the most
successful network coding algorithm due to its relatively
low complexity and ability to achieve network capacity
in multicast problems.
[21] S.-Y. R. Li, R. W. Yeung, and N. Cai, “Linear Network Coding,” IEEE Trans.
Information Theory, vol. 49, no. 2, pp. 371–381, Feb. 2003.
8
Linear Network Coding
When we refer to linear network coding [21], we intend that:
The output flow at a given node is obtained as a linear
combination of its input flows. The coefficients of the combination are,
by definition, selected from a finite field
Coding can be implemented at low computational cost
Moreover, the information traversing a non source node has the
following property:
The content of any information flowing out of a set of non source
nodes can be derived from the accumulated information that has
flown into the set of nodes
[21] S.-Y. R. Li, R. W. Yeung, and N. Cai, “Linear Network Coding,” IEEE Trans.
Information Theory, vol. 49, no. 2, pp. 371–381, Feb. 2003.
9
Theoretical model for Linear NC
A directed, acyclic graph G(V,E) have unit-capacity edges.
Parallel edges are allowed.
A message is represented as 𝜔 symbols in a finite field F,
and encoding/decoding is by means of linear operations
in the finite field.
10
Local Description of Linear NC
Define the local encoding kernel of a 𝜔-dimensional
network code at node t as a matrix of size 𝐼𝑛(𝑡) × 𝑂𝑢𝑡(𝑡).
𝐾𝑡 = [𝑘𝑑,𝑒 ]𝑑∈𝐼𝑛 𝑡 , 𝑒∈𝑂𝑢𝑡(𝑡)
• 𝐼𝑛(𝑡): the set of incoming links of node t.
• 𝑂𝑢𝑡(𝑡): the set of outgoing links of node t.
The local input-output relation at a node T is given by
𝑦𝑒 = 𝑑∈𝐼𝑛(𝑇) 𝑘𝑑,𝑒 ∙ 𝑦𝑑
𝑦𝑒 is the symbol sent on the channel e.
i.e., an output symbol from T is a linear combination of the
input symbols at T.
11
Global Description of a Linear NC
The code maps the information vector x to each
symbol 𝑦𝑒 sent on the channel e.
𝑦𝑒 = 𝑥 ∙ 𝑓𝑒
𝑓𝑒 is called global encoding kernel.
The global description of linear NC
𝑓𝑒 = 𝑑∈𝐼𝑛(𝑇) 𝑘𝑑,𝑒 ∙ 𝑓𝑑
The global description of a linear network code
incorporates the local description.
𝑦𝑒 = 𝑥 ∙ 𝑓𝑒 = 𝑥 ∙
𝑘𝑑,𝑒 ∙ 𝑓𝑑
= 𝑑∈𝐼𝑛 𝑇 𝑘𝑑,𝑒 (𝑥 ∙ 𝑓𝑑 )
= 𝑑∈𝐼𝑛 𝑇 𝑘𝑑,𝑒 𝑦𝑑
as in the local description.
𝑑∈𝐼𝑛 𝑇
12
Example of Linear NC
13
Desirable Properties of a Linear NC
𝑉𝑡 = < 𝑓𝑑 : 𝑑 ∈ 𝐼𝑛 𝑡
𝑉𝑇 =
[10]
>
𝑡∈𝑇 𝑉𝑡 ,
we have
dim(𝑉𝑇 ) ≤ min{𝜔, 𝑚𝑎𝑥𝑓𝑙𝑜𝑤(𝑇)}.
An ω-dimensional F F-valued linear network code qualifies
as a
Linear multicast dim 𝑉𝑡 = 𝜔 for every non source node t with
𝑚𝑎𝑥𝑓𝑙𝑜𝑤(𝑡) ≥ 𝜔.
Linear broadcast dim 𝑉𝑡 = min{𝜔, 𝑚𝑎𝑥𝑓𝑙𝑜𝑤(𝑡)} for every non
source node t.
Linear dispersion dim 𝑉𝑇 = min{𝜔, 𝑚𝑎𝑥𝑓𝑙𝑜𝑤(𝑇)} for any set T
of non source nodes.
[10] R. W. Yeung, Information Theory and Network Coding, ser. Information Technology:
14
Transmission, Processing and Storage. Springer-Verlag, 2008.
Linear Network Coding
The construction of a linear code has to consider both
the value of 𝜔 and the network topology, along with
the size of the base field F.
How to construct good linear network codes?
The global encoding kernels to be as independent as
possible.
Select proper coefficients such that all local encoding
kernels are full rank.
Several works have addressed the problem of the
construction of good linear network codes.[23]-[29]
15
Practical Network Coding
[18]
The problem of theoretical linear NC
Defining the coding coefficient uses computationally
complex algorithm.
Servers have a full knowledge of network topology.
Linear NC is therefore not practical in large scale
dynamic network.
Randomized Network Coding
The coefficient are randomly chosen in a sufficiently
large Galois Field.
It permits to relax the requirements about the full
knowledge of the network topology.
[18] P. A. Chou, Y. Wu, and K. Jain, “Practical Network Coding,” in Proc. of the 41st
16
Allerton Conf. on Communication Control and Computing, Monticell, IL, USA, Oct. 2003.
Practical Network Coding
[18]
The author in [18] introduce the concept of generation.
In order to cope with the buffer delay problem.
A generation is a group of packets with similar decoding
deadlines, which can be combined together by the
network coding operations.
Trade-off
generation size(delay) v .s coding efficiency
17
Network coding in streaming
application
The design of the system has to take the following
specificities into consideration.
• Strict delay constraints
• High bandwidth requirement
• Tolerance packet loss
• Unequal importance of the data
18
Peer-to-Peer Streaming
The evaluation[36] shows that the network coding
scheme is resilient to network dynamics.
[36] M. Wang and B. Li, “Lava: A Reality
Check of Network
Coding in Peer-to-Peer Live Streaming,”
in Proc. of IEEE
INFOCOM, Anchorage, Alaska, May 2007.
19
Peer-to-Peer Streaming
The organization of the peers in the overlay network has a large
influence on the performance of the streaming system.
[39] K. Jain, L. Lovsz, and P. A. Chou, “Building Scalable and Robust Peer-toPeer Overlay Networks for Broadcasting Using Network Coding,” Journal on
Distributed Computing, vol. 19, no. 4, pp. 301–311, Dec. 2006.
[40] J. Zhao, F. Yang, Q. Zhang, Z. Zhang, and F. Zhang, “LION: Layered
Overlay Multicast With Network Coding,” IEEE Trans. Multimedia, vol. 8, no.
5, pp. 1021–1032, Oct. 2006.
[41] Y. Liu, Y. Peng, W. Dou, and B. Guo, “Network Coding for Peer-to-Peer
Live Media Streaming,” in Proc of the 5th Int. Conf. Grid and Cooperative
Computing, Monticello, IL, USA, Oct. 2006, pp. 149–155.
[42] M. Shao, X. Wu, and N. Sarshar, “Rainbow Network Flow with Network
Coding,” in Proc. of the 4th Workshop on Network Coding, Theory and
Applications, NetCod, Hong Kong, China, Jan 2008, pp. 1–6.
20
Resiliency to Packet Losses
The media streaming system has to be robust to packet
erasures and maintain low delay for improved
performance.
Network-embedded FEC(NEF)[43],[44]
[43] S. Karande, M. Wu, and H. Radha,
“Network Embedded FEC (NEF) for Video
Multicast in Presence of Packet Loss
Correlation,” in Proc. of IEEE Int. Conf. on
Image Processing, vol. 1, Genoa, Italy, Sep.
2005, pp. 173–176.
[44] M. Wu, S. Karande, and H. Radha,
“Network Embedded FEC for Optimum
Throughput of Multicast Packet Video,”
EURASIP Journal on Applied Signal
Processing, vol. 20, no. 8, pp. 728–742, Sep.
2005.
21
Prioritized Network Coding
Network coding based on Prioritized Encoding
Transmission(PET)[34] can adapt to this property by
handling the packets according to their priority.
[34] A. Albanese, J. Bloemer, J. Edmonds, M. Luby, and M. Sudan, “Priority Encoding Transmission,” IEEE Trans.
Information Theory, vol. 42, pp. 1737–1744, Nov. 1996.
22
Adaptively and Opportunistic
Coding
When packet transmission can be overheard by
multiple nodes, receivers could build up a buffer of
packets that can be used to decode the successive
packets.
The senders can thus use some knowledge about the
receiver status to optimize network coding operations
and reduce the overall transmission costs.
The COPE architecture has been presented in [58] for
communication over wireless mesh networks.
[58] S. Katti, H. Rahui, W. Hu, D. Katabi, M. M´edard, and J. Crowcroft, “XORs in the air: practical
wireless network coding,” in Proc of. ACM SIGCOMM, vol. 36, no. 4, New York, NY, USA, May 2006,
pp. 243–254.
23
Adaptively and Opportunistic
Coding
[58]
[58] S. Katti, H. Rahui, W. Hu, D. Katabi, M. M´edard, and J. Crowcroft, “XORs in the air: practical
wireless network coding,” in Proc of. ACM SIGCOMM, vol. 36, no. 4, New York, NY, USA, May 2006,
pp. 243–254.
24
Conclusion
Network coding is an interesting paradigm that requests the
network nodes to perform basic processing operations on
packets in order to improve the throughput or the robustness
of communication systems with network diversity.
There are still a few open issues to solve before network
coding algorithms could be widely deployed in streaming
applications.
Decoding complexity is pretty high in the most of the literature.
Distributed algorithms require to transmit coding information in
the packet header, leading to overhead.
The choice of the right trade-off between delay, coding
efficiency and complexity.
25
© Copyright 2026 Paperzz