On Network Coding Based Multirate Video Streaming

On Network Coding Based Multirate Video Streaming in Directed Networks
Xu Chenguang Xu Yinlong Zhan Cheng Wu Ruizhe Wang Qingshan
Department of Computer Science & Technology, University of Science & Technology
of China Anhui Province-MOST Key Co-Lab of High Performance Computing and Its
Applications, Hefei, 230026 P.R.China.
[email protected] [email protected] {zhanchen, rzwu, wangqs}@mail.ustc.edu.cn
coding (or cumulative layered coding) [3-6], in which
the source encodes the data stream into different layers
called base layer and enhancement layers. These layers
are arranged such that the most important layer is
placed at the beginning followed by the parts with
successively lower importance. Each receiver
subscribes to a subset of layers according to its
bandwidth. The decoding of the data can be partial,
and the more layer be decoded, the better of the quality
of multimedia streaming. One important property of
layered coding is that, the decoding of higher layer
data depends on that of all the lower layers. So
receiver can not make use of Layer k data unless it
receives all the data from Layer 1 to Layer k.
With network coding [1, 7], the intermediate nodes
between source and receivers encode the incoming
packets into some new ones to outgoing links, and the
original file is decoded at receivers. The work of
Ahlswede et al. [2] shows that, based on network
coding, the broadcast capacity can be achieved, in
which each receiver in the same multicast session can
be given a rate equal to the minimum of the maximum
flow from the source to all the receivers. Li et al. [1]
then proved that linear coding usually suffices in
achieving the broadcast capacity. A striking example
is illustrated in Fig. 1. All links in Fig. 1 are with the
same capacity 1. The max-flow rate from S to either
T1 or T2 is 2. If network coding is permitted, both T1
and T2 can get a rate of 2. As shown in Fig.1, two
distinct unit rate incoming flows, a and b, are encoded
at node W, using the + operation (XOR) defined in the
Galois Field GF (2). The encoded flow, with a rate of
1, is then sent to both T1 and T2. At last, both receivers
can recover the two original flows, a and b, from the
two flows they received. But T1 and T2 cannot get a
rate of 2 simultaneously, if merely store-and forward
routing is permitted.
This paper focuses on network coding based
layered multirate video streaming in directed networks,
Abstract
This paper focuses on network coding based multirate multimedia streaming in directed networks and
aims at maximizing the total layers received by all
receivers, which directly determine the quality of video
streaming. We consider the property of layered coding
in video streaming and propose the Layer Separated
Network Coding Scheme (LSNC) for layered video
streaming. Two algorithms OLSNC and SLSNC are
proposed for LSNC based video streaming, where
OLSNC achieves an optimal solution, while SLSNC is
a polynomial time approximation algorithm.
Simulation results show that LSNC is an efficient
network coding scheme for multirate multimedia
streaming, and the aggregated number of received
layers of both OLSNC and SLSNC is very close to the
theoretical upper bound in all configurations analyzed.
1. Introduction
In recent years, with the rapid growth in computer
processing power and network bandwidth, new
multimedia applications, such as video conferencing,
Internet TV, distance learning, media on demand, etc,
become popular. These applications involve real-time
video distribution and commonly several receivers.
Since unicast transmission of the same data to multiple
receivers is a waste of network resource, multicasting
multimedia streams over Internet is preferred for
bandwidth-efficient real-time multipoint applications.
Due to the heterogeneity of the Internet, receivers in
the same multicast session may have different
bandwidth. So unirate multicasting is not efficient for
it may overwhelm some receivers or starve other ones,
and multirate multicasting is a preferred mode for
distributing large volumes multimedia data. One
approach to achieve multirate multicasting is layered
1-4244-1338-6/07/$25.00/©2007 IEEE
332
graphs, and proposed a distributed algorithm.
Perhaps, N. Sundaram et al.’s work [10] is most
similar to this paper. They considered the
heterogeneity of receivers in multimedia streaming
and proposed an algorithm, Heterogeneous Receiver
Rate Estimate (HERE). HERE firstly partitions the set
of receivers into some subsets R1,…Rk, such that
receivers in the same subset have the same maxflows
from the source, and then allocates link bandwidth
based on the solution of an LP problem to maximize
the total rates of receivers. At last, HERE uses LIF
algorithm [8] to achieve the broadcast capacity of
multicast, in which each receiver in the multicast
session can be given a rate equal to the minimum of
the maximum flow from the source to all the receivers.
However, higher rate doesn’t necessarily mean
larger number of the aggregate layers of receivers.
Neither LIF nor HERE considers the different priority
of packets in different layers of multimedia streaming,
which may incur the ineffective bandwidth allocation
of a receiver being allocated bandwidth for higher
layer data without receiving some lower layer data.
For the network coding based multirate multicast, it
has been proved in [12] that if the finite field F is
sufficiently large, all the receivers can be allocated to
a rate equals to its maxflow from the source. But as
for the multimedia streaming, where different packets
have different priorities and decoding of higher layer
packets depends on the decoding of lower layer
packets, there are some cases, in which it is
impossible to make each receiver receive and decode
as many layers as what its maxflow from the source
permits. For example in Fig. 2, S is the source, T1, T2,
T3 are receivers, the capacity of each link is 1, so the
maxflows from S to T1, T2, T3 are 1, 1, 2 respectively.
If the media streaming originated at S is composed of
two layers, Layer 1 and Layer 2, both with a rate of 1,
due to the delay constraints of video streaming, T3
cannot receive packets of Layer 2 in the case of T1 and
T2 both receiving the packets from Layer 1, otherwise
T1 or T2 can not decode any layer of packets.
and aims at maximizing the total number of layers
received by all receivers, which directly determines
the quality of video streaming. Considering the
property of layered coding, we propose the Layer
Separated Network Coding (LSNC) scheme for
multirate multimedia streaming. An optimal algorithm
OLSNC, which is based on Integer Linear
Programming (ILP) and is not time efficient for large
scale network, will be given for LSNC. We also
propose a polynomial time approximation algorithm
LSNC. Simulation results show that LSNC is an
efficient network coding scheme for multirate
multimedia streaming, and the aggregated number of
received layers of both OLSNC and SLSNC is very
close to the theoretical upper bound in all
configurations analyzed.
a
S
b
b
a
W
b
a+b
a
a+b
T1
a+b
T2
Figure 1. An example of network coding
The rest of this paper is organized as follows. We
will review the related works in Section 2 and give
our network model and problem statement in Section
3. In Section 4, we will present the LSNC scheme,
and propose two algorithms for LSNC based multirate
video streaming. Simulation results will be presented
in Section 5. In Section 6, we will discuss the impact
of cyclic on LSNC based video streaming. At last,
Section 7 serves as conclusions.
2. Related Work
There are some studies on network coding based
multirate multicasting. R. Koetter and M. Medard [7]
derived algebraic conditions for the existence of
network coding scheme given different data needs of
the heterogeneous receivers. R.W. Yeung et al. [12]
proposed a code scheme such that all the nodes in the
same multicast session can get a rate equal to its own
maxflow from the source node in directed acyclic
networks. Li et al. [9] consider the network coding
based heterogeneous multicast problem in undirected
S
T2
T1
T3
Figure 2. An example of one receiver can not decode
as many layers as what its maxflow from the source
permits
333
each receiver, we assume that the layer of each
receiver is stable, and will not change during the video
streaming.
3. Network Model and Problem Statement
The network is modeled as a weighted directed
graph G(V, E, C), where V is the set of network nodes
and E is the set of weighted directed edges between
nodes. We denote C(u, v) as the weight on the directed
edge (u, v), which represents the available bandwidth
from u to v. v0∈V is the source node, which generates a
multimedia stream and R⊆V is the set of receivers.
The stream is encoded as a set of layers {Layer 1,
Layer 2,…Layer k}, and a receiver can decode packets
of layer m unless it can receive all the packets from
Layer 1 to Layer m. The rate for Layer l is rl for 1 ≤ l ≤
k. For convenience, we say receiver v is of Layer k
only when v can correctly decode the packets of Layer
k, which means that v needs to receive all the packets
from Layer 1 to Layer k. The objective is to maximize
the aggregate number of layers of all receivers, which
directly determines the quality of video streaming.
Based on the assumptions above, we will give the
network coding scheme for multirate video streaming
4. Video Streaming Based on Network
Coding
In this section, we will give two algorithms for
network coding based multimedia streaming. In
contrast to the network coding scheme used in [10],
which allows packets from different layers to be
encoded together, we adopt the Layer Separated
Network Coding (LSNC) scheme in multimedia
streaming, in which only packets from the same layer
are encoded together. The advantages of LSNC are
that: (1) As a special case of network coding, LSNC
has the advantage of network coding, and can enhance
the aggregate rates of receivers, which is beneficial for
the improvement of the quality of multimedia
streaming for receivers. (2) In LSNC, link bandwidth
in the networks is allocated for each layer. The
ineffective bandwidth allocation in which a receiver is
allocated bandwidth for higher layer data without
receiving some lower layer data can be reduced by
carefully allocating bandwidth for each layer. (3) Since
only packets in the same layer can be encoded together,
and the packets in the same layer have the same size,
to pad the shorter packets with zeros [11, 13] is
unnecessary.
Based on the LSNC scheme, we will propose two
algorithms, Optimal Layer Separated Network Coding
(OLSNC) and Sub-optimal Layer Separated Network
Coding (SLSNC), for video streaming. OLSNC
depending on the solution of an ILP problem can
theoretically achieve the optimal result of LSNC, in
which the aggregate number of layers of all receivers
is maximized. But OLSNC is not time efficient for
large scale networks due to the computing complexity
of the ILP problem. So we also design a polynomial
approximation algorithm SLSNC. The advantage of
SLSNC is that it is time efficient, while achieving a
good performance.
Basic Assumptions:
1. We assume that the number of packets generated
by the source node is stable for each time unit, which
means that the number of packets generated in unit
time for each layer is constant and packets of the same
layer are of the same size. Similar to the methods used
in [13], we divide the video streaming into several
time non-overlap generations, with each generation
occupying Δ consecutive time units. And network
coding can only be operated on packets belonging to
the same time generation. The parameter Δ is
configurable, and can be selected to satisfy some
delay constraints, which is out of the scope of this
paper.
2. For the same video layers, a higher bandwidth link
and a larger buffer usually lead to high video
reception data rate and lower loss, which will make
the multimedia streaming more stable. But in this
paper, we assume that the buffer is large enough and
the link state is stable, so that the process of
multimedia streaming is stable.
3. We assume that there are no cycles in the directed
networks, so that LIF algorithm can be used directly
to achieve a broadcast capacity of multicast for each
layer. As for the directed networks with cycles, the
delay incurred in transmission and processing
becomes part of the consideration of network coding
[12], which makes network coding more difficult. We
will discuss the case of directed cyclic networks later
in this paper.
4. We assume that the layer rate allocation is fixed
and will not change during the video streaming. For
A. Algorithm OLSNC
The network model is the same as described in
Section 3. Without loss of generality, we let V= {v0, v1,
v2,…vn}, and R= {v1, v2,…vm}, where V is the set of all
network nodes and R is the set of receivers. The video
streaming is composed of k layers {Layer 1, Layer
2,…Layer k}, and the rate for Layer l is rl. For
convenience, we let rk+1=∞. Denote Maxflow(vi) as the
334
maxflow from the source node v0 to vi∈R. OLSNC is
described as follows.
each link, which guarantee that the aggregate link
bandwidth allocated for each layer doesn’t exceed the
bandwidth of the link.
OLSNC
1) Compute Maxflow(vi) for each vi∈R. For each
vi∈R, if Maxflow(vi)<r1, R=R−{vi}.
2) Denote OL(vi) as the maximum available layers
for vi, thus OL(vi) is the nonnegative integer that
OL ( vi )
∑
satisfies
j =1
rj ≤ Maxflow( vi ) <
OL ( vi ) +1
∑
j =1
Theorem 1. OLSNC always achieves the optimal
solution of LSNC for multirate multimedia streaming,
in which the aggregate number of layers of all
receivers is maximized.
Proof: Firstly, we need to prove the correctness of
OLSNC, which can be seen from the following facts: 1)
OLSNC always has a feasible solution, for the layer of
each receiver is at least 0. 2) For each link, the
aggregate bandwidth allocated for each layer doesn’t
exceed the bandwidth of the link, which can be
guaranteed by the constraints (6) in the ILP problem. 3)
As for each Layer l with allocated bandwidth Yijl on
each link, the constraints (3), (4), (5) can guarantee
that for ∀ vi∈Rl, vi can get a rate of rl for the Layer l at
the end of step(5) in algorithm OLSNC.
Secondly, for any feasible solution for LSNC, we
consider the bandwidth allocated for each Layer l, and
let Yijl equal to the bandwidth allocated on (vi, vj) for
Layer l in the solution. The bandwidth allocated on
each link should guarantee that each receiver of with a
layer above l can get a rate of rl of the data on Layer l,
so constraints of (3), (4), (5) in the ILP problem can all
be satisfied, and we let the corresponding αil =1 in the
ILP problem. At last the aggregate bandwidth allocated
for all layers cannot exceed the capacity on each link.
It can be seen that, for any feasible solution of LSNC,
the constraints (1) ~ (6) of the ILP problem can all be
satisfied. As the ILP problem tries to maximize the
aggregate number of layers of all receivers, OLSNC
can always get an optimal solution of LSNC for
multirate video streaming.
rj , compute
OL(vi) for each vi∈R.
3) Solve the ILP problem below to determine Yijl
for (vi, vj) ∈E, 1≤ l ≤ k, which is the bandwidth
allocated for each Layer l on link (vi, vj), and also
determine the parameters αij for vi∈R and 1≤ j
≤OL(vi), which identify whether vi can receive
Layer j.
4) Gl(Vl, El) is the subgraph for Layer l, 1≤ l≤ k,
with Vl=V, El=E. For (vi, vj) ∈El, Cl(vi, vj)= Yijl, and
Rl={vi|vi∈R, αil =1} is the set of receivers that can
receive Layer l. Packets belonging to Layer l are
delivered in Gl.
5) For each Gl, 1≤ l ≤ k, ∀ vi∈Rl, we make each
node in Rl get a rate of rl, by LIF[8].
m OL ( vi )
∑∑α
Maximize
i =1
j =1
ij
Subject to
αi1 ≥ αi 2 , αi 2 ≥ αi 3 ,...,αiOL(v ) −1 ≥ αiOL(v ) for vi ∈ R
(1)
αij = 0 or 1 for vi ∈ R,1 ≤ j ≤ OL(vi )
(2)
i
∑
(l , t )
ij
x
{ j |( vi , v j )∈E}
−
∑
{ j |( v j , vi )∈E}
x
(l , t )
ji
i
=0
for i ≠ t , i ≠ 0, vt ∈ R, 1 ≤ l ≤ OL(vt )
(3)
∑
x
= αil * rl
for vi ∈ R, 1 ≤ l ≤ OL(vi )
(4)
∑
x0(lj, t ) = αtl ∗ rl
for vt ∈ R,1 ≤ l ≤ OL(vt )
(5)
{ j |( v j , vi )∈E}
{ j |( v0 , v j )∈E}
(l , i )
ji
An example of the execution of OLSNC is
illustrated in Fig.3. Consider the networks shown in
Figure3 (a) with the link capacities as shown. S is the
source node T1, T2 are the receivers, and the
multimedia stream is composed of three layers all with
rates of 1. Figure 3(b), (c), (d) are the three subgraphs
G1, G2, G3 gained before step (5) in OLSNC with the
bandwidth allocated on each link. In G1, the maxflow
for T1 and T2 are 1, so T1 and T2 can achieve a
multicast rate of 1 for Layer 1 by LIF. In the same way,
T1 and T2 can both receive Layer 2 in G2, while only T2
can receive Layer 3 in G3. And the aggregate number
of layers received is 5. Figure 3(e) shows the optimal
multicast tree, and the aggregate number of layers is 3.
Figure 3(f) shows the optimal multicast without
network coding, and the aggregate number of layers is
4, from which we can see the advantage of network
coding over store-and forward routing.
Yijl ≥ xij(l , t ) for (vi , v j ) ∈ E, vt ∈ R,1 ≤ l ≤ OL(vt )
∑Y
l
ij
≤ C (vi , v j )
(6)
l
The ILP problem for OLSNC
Constraints (1) and (2) in the ILP problem are the
constraints for layer allocation. For receiver vi, if vi can
receive and decode Layer j, αij =1, else αij=0.
Constraints (1) also avoid the ineffective transmission
of layers in which higher layer is allocated to a
receiver which missing some lower layers. Constraints
(3), (4), (5) are flow balance constraints for nonreceivers, receivers, and source node. Finally,
constraints (6) are the link bandwidth constraints for
335
S
1
2
2
1
1
1
T2
(a)
S
0
T1
0.5
0.5
T2
(b)
0.5
T1
{L1}
{L1, L2}
S
0
T1
{L1}
1
(d)
T2
T1
{L1, L2}
{L1, L2}
{L2}
{L1, L2}
(e)
{L1, L2}
{L1, L2}
{L1, L2}
0
1
T2
(c)
{L1}
0
0.5
0.5
0.5
{L1, L2}
1
0
0.5
0.5
S
1
0.5
0.5
0.5
0.5
S
0.5
0.5
0.5
2
T1
0.5
0.5
2
1
S
0.5
T2
T1
T2
(f)
Figure 3. An example of OLSNC and optimal multicast without network coding
B. Algorithm SLSNC
OLSNC is mainly based on the solution of the ILP
problem. If the number of receiving nodes is very large,
OLSNC is not time efficient (E.g. when the number of
receivers is 20 and the number of layers is 5, the worst
case execution time of OLSNC is over 10 hours.). So a
polynomial time algorithm is needed. We will propose
an approximation algorithm, SLSNC, for the LSNC
based multiate multimedia streaming, and the main
idea of SLSNC is that we allocate the bandwidth for
each layer from low to high with a greedy scheme, in
which after the allocation of bandwidth for each layer,
we try to maximize the aggregate maxflows of
receivers for the rest higher layers. The details of
SLSNC are shown as follows.
5)For (vi, vj) ∈E, C(vi, vj)= C(vi, vj)− Yijl, l=l+1;
}
M a xim ize
v t ∈T
∑
{ j |( vi , v j )∈ E }
x ij( l , t ) −
∑
{ j |( v j , vi )∈ E }
x (jil , t ) = 0
fo r ∀ v i ∈ T , v t ∈ T , t ≠ i , i ≠ 0
(1)
∑
x (jtl , t )
= rl
fo r ∀ v t ∈ T
(2)
∑
x 0( l j, t ) = rl
fo r ∀ v t ∈ T
(3)
{ j |( v j , vt )∈ E }
{ j |( v0 , v j )∈ E }
Y ijl ≥ x ij( l , t ) fo r ∀ v t ∈ T , ( v i , v j ) ∈ E
{ j |( vi , v j )∈ E }
1)T=R, l=1, rk+1=0;
While ((T≠Ф) && ( l ≤k))
{
2)For all vi∈T, if Maxflow(vi)<rl T=T−{ vi };
T*=T−{ vi | vi∈T, Maxflow(vi)< rl + rl+1 };
3)Solve the LP problem shown below to
determine the parameters Yijl which is the
bandwidth allocated for Layer l on link (vi, vj);
4)Based on algorithm LIF, use the bandwidth
allocated for Layer l on each link (vi, vj) to
achieve a multicast rate of rl for Layer l from
the source node v0 to all the nodes in T;
f tl + 1
S u b ject to
∑
SLSNC
∑*
x ij( l +1, t ) −
∑
{ j |( v j , vi )∈ E }
x (jil +1, t ) = 0
fo r ∀ v i ∈ T * , v t ∈ T * , t ≠ i , i ≠ 0
∑
x (jtl +1, t )
∑
x 0( l j+1, t ) = f tl +1
{ j |( v j , vt )∈ E }
{ j |( v0 , v j )∈ E }
= f tl + 1
(4)
fo r ∀ v t ∈ T * (5)
fo r ∀ vt ∈ T *
(6)
Z ijl + 1 ≥ x ij( l + 1, t ) fo r v t ∈ T * , ( v i , v j ) ∈ E
Y ijl + Z ijl + 1 ≤ C ( v i , v j )
fo r ( v i , v j ) ∈ E
The LP problem for SLSNC
336
(7 )
In SLSNC, we allocate the bandwidth for each layer
from Layer 1 to Layer k. As for each Layer l, we firstly
compute the maxflows of the nodes in the receivers set
T, and update T and T*, where T* is the set of receivers
for which Layer l+1 is permitted by the maxflows from
the source. The bandwidth allocation for Layer l is
based on the solution of the LP problem with the
objective of maximizing the aggregate maxflows of the
nodes in T*. In the LP problem, constraints (1), (2), (3),
are flow balance constraints, which guarantee that
when allocate bandwidth for Layer l, all the nodes in T
can get a rate of rl. Constraints (4), (5), (6) are used to
compute the maxflows for nodes in T*. Constraints (7)
are the link capacity constraints. Note that for each
layer the link capacity is updated after the bandwidth
allocation in SLSNC. Obviously, SLSNC is an
approximation algorithm for LSNC, but SLSNC is of
polynomial time, and is time efficient when the number
of receivers is large.
Scheme. In flat rate scheme, all layers have identical
rates. As for the simulation, we let the ri=1, 1 ≤ i ≤ 5,
and correspondingly the capacity of each link is
uniformly distributed between 0 and 3. 2) Exponential
scheme. In this scheme, rk=r1*2k-1. As for the
simulation, we let r1=1, r2=2, r3=4, r4=8, r5=16, and
correspondingly the capacity of each link is uniformly
distributed between 0 and 20.
Performance Metrics
We define Layer Received Ratio described below as
the criterion for performance analysis.
∑ AC(vi )
LRRk =
∑ OL(vi )
v ∈R,OL(v ) =k
vi ∈R,OL(vi ) =k
i
i
and
∑ AC(vi )
LRR =
∑ OL(vi )
v ∈R
vi ∈R
i
where OL(vi) is the maximum available layers of vi
permitted by the maxflow of vi from the source as
described in algorithm OLSNC, and AC(vi) is the
actual received layers of vi after the execution of the
algorithm(e.g. OLSNC, SLSNC). LRRk represents the
relative streaming quality of the receivers whose
maximum available layer permitted by the maxflow is
k, and LRR represents the overall relative streaming
quality of receivers.
5. Performance Evaluation
In this section will give the simulation results of
OLSNC and SLSNC. The simulation environment is
described as follows:
Network Topology
The directed acyclic network G (V, E) consists of
11 nodes with V= {v0, v1,…v10}, where v0 is the source
node and v1,v2,…v10 are all viewed as receivers. The
edge set E is alternative between E1 and E2, which are
described as below.
In the simulations, we consider two network
topologies as mentioned above, and for each topology
we consider two rate allocation schemes with the
corresponding capacity distribution on each link. For
each network topology and rate allocation scheme, the
simulations are run 1000 times, and we calculate the
weighted average of LRR1~LRR5 as well as LRR. We
compare the performance of OLSNC, SLSNC, and
ROME [14] in Fig.4 (a), (b), (c), (d) and Table 1.
From Fig.4 and Table 1 we can see the performance
of OLSNC and SLSNC and Rome. In all
configurations, for each Layer l the LRRl of OLSNC
and SLSNC is very close to 1 or even equals to 1,
which means that the results of both OLSNC and
SLSNC are very close to the theoretical upper bounds.
Considering what we have shown that there are some
cases, in which it is impossible to make each receiver
receive and decode as many layers as what its
maxflow from the source permits (in Section 2), the
performance of OLSNC and SLSNC is excellent,
which indicates that LSNC is an efficient network
coding scheme for multirate multimedia streaming and
SLSNC is an efficient approximation algorithm of
LSNC. What’s interesting in the simulation results is
that in topology 2 with flat rate scheme (as shown in
Fig.4 (c)), the LRR3 of OLSNC is lower than SLSNC.
E1 = {(vi , v j ) | i < j}, E2 = {(vi , v j ) | 0 < j − i ≤ 2}
Obviously either E=E1 denoted as topology 1 or
E=E2 denoted as topology 2, G is directed acyclic. If
E=E1, for receiver vj, vj has j incoming links, and the
network bandwidth for each receiver is abundant. If
E=E2, for receiver vj, vj has at most 2 incoming links,
and the network bandwidth for each receiver is
relatively insufficient. We will adopt the above two
network topologies to analyze the performance of
OLSNC and SLSNC. The distribution of the capacity
on each link is also alternative: (i) The capacity of each
link is uniformly distributed between 0 and 3. (ii) The
capacity of each link is uniformly distributed between
0 and 20. The choice of capacity distribution is based
on the layer rate allocation scheme below.
Layer Rate Allocation Scheme
The video streaming generated at the source is
composed of 5 layers, Layer 1 ~ 5. We will adopt two
layer rate allocation schemes in the simulation. 1) Flat
337
ROME
OLSNC
ROME
SLSNC
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
LRR1
LRR3
0
LRR5
(a) E=E1, flat rate
ROME
OLSNC
SLSNC
ROME
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
LRR1
LRR3
LRR3
SLSNC
LRR5
(b) E=E1, exponential
1
0
LRR1
OLSNC
0
LRR5
(c) E=E2, flat rate
LRR1
OLSNC
LRR3
SLSNC
LRR5
(d) E=E2, exponential
Figure 4. LRRk comparison between OLSNC, SLSNC and ROME
Table 1. Simulation results of LRR for OLSNC, SLSNC and ROME
E=E1
Flat Rate
ROME
OLSNC
SLSNC
0.9361
1.0000
1.0000
E=E1,
Exponential
0.9560
1.0000
1.0000
This is due to the fact that, to achieve the optimal
result of LSNC, OLSNC may sacrifice the streaming
quality of some receivers with low available layers.
While for SLSNC, the bandwidth is allocated from
low layer to high layer, and the low layers are more
likely to be transmitted. As for the total performance,
as shown in Table 1, the LRR of OLSNC is higher
than that of SLSNC.
We can also see from Fig.4 and Table 1 that the
advantages of SLSNC and OLSNC over ROME are
more manifest in topology 2 (E=E2) with flat rate
scheme. Because in topology 2 (E=E2) with flat rate
scheme the bandwidth for each receiver is relatively
insufficient so advantage of network coding based
bandwidth allocation is more significant. In contrast, in
topology 1(E=E1) with abundant bandwidth, receivers
are of high probability to receive all 5 layers without
network coding. For example the average maxflow of
nodes in topology 1(E=E1) with flat scheme is about 12,
but a rate of 5 is sufficient for receiving all 5 layers. So
338
E=E2,
Flat Rate
E=E2,
Exponential
0.7276
0.9987
0.9941
0.9573
0.9982
0.9923
there is little space for improvement by network coding.
Another phenomenon that can be seen from Fig.4 and
Table 1 is that the advantages of OLSNC and SLSNC
over ROME are more manifest in flat rate scheme. One
of the reasons is that in exponential scheme, the
bandwidth cost for receiving an extra layer (especially
the high layers) is much more than that of flat scheme.
So it is of low possibility for OLSNC and SLSNC to
gain one more layer than ROME from the advantage of
network coding over store-and-forward routing. In
addition, the performance of ROME is very good in
exponential rate scheme (LRR>95%). Even though the
results of OLSNC and SLSNC are very close to the
upper bounds, the improvement is little.
6. Discussions on Cyclic
We have assumed that there is no cyclic in the
directed networks and proposed two algorithms
(OLSNC and SLSNC) for LSNC based multirate video
streaming. In both OLSNC and LSNC, we use the LIF
[8] algorithm to achieve the broadcast capacity of
multicast for each layer. But as for the directed
networks with cyclic, the innovative packets caused by
cyclic make network coding more difficult [12]. One of
the solutions as mentioned in [2, 8] is to convert the
cyclic graph into an acyclic graph. So in OLSNC or
SLSNC, we may convert the cyclic graph into an
acyclic graph (with the method in [2]) before using LIF
to achieve the multicast rate for each layer. But this
converting is at the cost of decreasing multicast rate on
each layer [2]. Another solution is to use Random
Linear Coding (RLC). In RLC, the non-innovative
packets caused by cyclic don’t change the subspace
from which outgoing vectors are randomly generated,
so non-innovative information doesn’t effect the
transmission of innovative packets [13]. In OLSNC
and SLSNC, we may use RLC rather than LIF to
achieve the broadcast capacity for multicast on each
layer. The disadvantage of RLC is that it may incur the
transmission of non-innovative packets, which is a
waste of network bandwidth. Though when the finite
field from which all coding coefficients are chosen is
large, all receivers can decode the packets from source
with high probability [14], we need to reserve some
capacities in OLSNC and SLSNC for the
retransmission of packets in case of non-innovative
packets transmission if RLC is used.
would like to thank the anonymous reviewers for their
numerous constructive suggestions which improved
the quality and presentation of this paper.
9. References
[1] S-Y. R. Li, R. W. Yueng, and N. Cai, "Linear network
coding," IEEE Transactions on Information Theory, vol. 49,
no.2, pp. 371.381, Feb. 2003.
[2] R. Ahlswede, N. Cai, S-Y. R. Li, and R. W. Yueng,
"Network information flow," IEEE Transactions on
Information Theory, vol. 46, no. 4, pp. 1204.1216, July 2000.
[3] S. McCanne, V. Jacobson, and M. Vetterli, "Receiverdriven layered multicast," in Proceedings of ACM
SIGCOMM 96, Aug.1996.
[4] X. Li, S. Paul, and M. Ammar, "Layered video multicast
with retransmissions (lvmr): Evaluation of hierarchical rate
control," in Proceedings of IEEE INFOCOM 1998, Mar.
1998.
[5] K. Kar, S. Sarkar, and L. Tassiulas, "Optimization based
rate control for multirate multicast," in Proceedings of IEEE
INFOCOM 2001, Apr. 2001.
[6] S. Bajaj, L. Breslau, and S. Shenker, "Uniform versus
priority dropping for layered video," in Proceedings of ACM
SIGCOMM 98, Sept. 1998.
[7] R. Koetter and M. Medard, "An algebraic approach to
network coding," IEEE Transactions on Networking, vol. 11,
no. 5, pp. 782-795, Oct. 2003.
[8] P. Sanders, S. Egner, and L. Tolhuizen, "Polynomial
time algorithms for network information flow," in Proc. 15th
ACM Symp. Parallel. Algorithms and Architectures (SPAA),
San Diego, CA, Jun. 2003, pp. 286–294.
[9] Z. Li, B. Li, "Efficient and distributed computation of
maximum multicast rates," in IEEE INFOCOM 2005,
Volume. 3, page(s): 1618- 1628.
[10] N. Sundaram, P. Ramanathan, and S. Banerjee,
"Multirate media stream using network coding," in
Proceedings of 43rd Annual Allerton Conference on
Communication, Control, and Computing, September, 2005.
[11] S. Katti, H. Rahul, W. Hu, D. Katabi, M. Medard and J.
Crowcroft, "XORs in The Air: Practical Wireless Network
Coding," in ACM SIGCOMM 2006.
[12] R.W. Yeung, S.-YR Li, N. Cai, and Z. Zhang, "Theory
of Network Coding," Now Publishers Inc, 2005.
[13] P. A. Chou, Y. Wu, and K. Jain, "Practical network
coding," in Proc. 41st Annual Allerton Conference on
Communication, Control, and Computing, Monticello, IL,
Oct. 2003.
[14] J. Yang, "Deliver multimedia streams with flexible QoS
via a multicast DAG," in Proc. 23rd International
Conference on Distributed Computing System (ICDCS) 2003,
pp126-135.
[15] T. Ho, M. Medard, M. Effros, and D. Karger, "On
Randomized Network Coding," in Proc. 41st Allerton
Annual Conference on Communication, Control and
Computing, October 2003.
7. Conclusions
In this paper, we adopt the Layer Separated
Network Coding scheme for efficient multirate
multimedia streaming. Two algorithms say OLSNC
and SLSNC are proposed for LSNC based video
streaming, in which OLSNC achieve an optimal result,
and SLSNC gets a sub-optimal result of LSNC but of
polynomial time. Simulation results show that LSNC is
an efficient network coding scheme for multirate
multimedia streaming, and OLSNC and SLSNC both
have good performances. Though LSNC has been
proved to be efficient for video streaming, whether
LSNC can theoretically achieve the best result of
Linear Network Coding based multirate multimedia
streaming is still an open problem. Another challenge
problem is network coding based multirate video
streaming in undirected networks, and we will work on
it as our future work. We also want to design
distributed algorithms for LSNC which can handle the
dynamic environments.
8. Acknowledgements
This work is supported by the National Nature
Science Foundation of China (No. 60533020). We
339