scispace - formally typeset
Open AccessJournal ArticleDOI

Video-aware opportunistic network coding over wireless networks

TLDR
This work proposes video-aware opportunistic network coding schemes that take into account both the decodability of network codes by several receivers and the importance and deadlines of video packets, and shows that these schemes significantly improve both video quality and throughput.
Abstract
In this paper, we study video streaming over wireless networks with network coding capabilities. We build upon recent work, which demonstrated that network coding can increase throughput over a broadcast medium, by mixing packets from different flows into a single packet, thus increasing the information content per transmission. Our key insight is that, when the transmitted flows are video streams, network codes should be selected so as to maximize not only the network throughput but also the video quality. We propose video-aware opportunistic network coding schemes that take into account both the decodability of network codes by several receivers and the importance and deadlines of video packets. Simulation results show that our schemes significantly improve both video quality and throughput. This work is a first step towards content-aware network coding.

read more

Content maybe subject to copyright    Report

IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 27, NO. 5, JUNE 2009 1
Video-Aware Opportunistic Network Coding over
Wireless Networks
Hulya Seferoglu, IEEE Student Member, Athina Markopoulou, IEEE Member
Abstract—In this paper, we study video streaming over wireless
networks with network coding capabilities. We build upon recent
work, which demonstrated that network coding can increase
throughput over a broadcast medium, by mixing packets from
different flows into a single packet, thus increasing the in-
formation content per transmission. Our key insight is that,
when the transmitted flows are video streams, network codes
should be selected so as to maximize not only the network
throughput but also the video quality. We propose video-aware
opportunistic network coding schemes that take into account both
the decodability of network codes by several receivers and the
importance and deadlines of video packets. Simulation results
show that our schemes significantly improve both video quality
and throughput. This work is a first step towards content-aware
network coding.
Index Terms—Network coding, video streaming, prioritized
transmission, wireless networks, cross-layer optimization.
I. INTRODUCTION
Providing high quality video over wireless networks is a
challenging problem, due to both the erratic and time-varying
nature of a wireless channel and the stringent delivery require-
ments of media traffic. Developments in video compression
and streaming, wireless networking, and cross-layer design,
are continuously advancing the state-of-the art in wireless
video [1], [2]. In this paper, we propose a novel technique
for video streaming in a wireless environment inspired by the
emerging paradigm of network coding [3]–[6].
Our work builds o n recent work in [7], [8] that used network
coding to improve throughput in a wireless mesh network.
In particular, [7], [8] proposed that wireless routers mix
packets from different flows, so as to increase the information
content of each -broadcast- transmission and therefore the
throughput for data applications. In this paper, we build on this
idea, and propose a network coding and scheduling scheme
for transmitting several video streams over a wireless mesh
network.
Our key insight is that the transmission of video streams
in a network coding-capable wireless network should be
optimized not only for network throughput but also, and more
importan tly, for video quality. The fact that v ideo packets have
unequal importance is well understood and extensively studied
in the video streaming community, e.g. for rate-distortion
optimized streaming [9]–[12]. The fact that mixing different
information flows can increase throughput in multicast net-
works is well understood in the network coding community
[3], [4], [13], [14]. Our work bridges the gap between the
Manuscript received 1 August 2008; revised 20 February 2009.
The authors are with
Digital Object Identifier 10.1109/JSAC.2009.0906xx.
two approaches, and proposes a new video-aware scheme for
network coding and packet scheduling that improves both
aspects, namely video quality and throughput. More generally,
this idea can be extended from video-aware to content-aware
network coding to take into account packet-, flow-, or class-
based prioritization of packets in the network code selection.
In this paper, we consider a wireless mesh network, in which
routers can mix different incoming flows/streams, using simple
network coding operations (XOR). The resulting network code
is broadcasted to the neighborhood of the router. Nodes in
the same neighborhood listen to each other’s transmission
and store overheard packets; these are used later to decode
received coded packets and also to construct new coded
packets. The core question in this architecture is how to
select the b est -according to an appropriate metric- network
code for transmission among all possible codes. In [7], [8], a
transmitting node chooses a network code that can be decoded
by several neighbors at the same time slot; this policy increases
the information per packet transmission thus the throughput.
However, when the transmitted flows are video streams, this is
not necessarily the best choice. Video quality can be improved
by intelligently selecting network codes that combine those
video packets that are decodable by several neighbors but also
contribute the most to video quality. In other words, when
video streams are transmitted, it is not only the quantity but
also the quality/content o f information transferred that should
be taken into account in the selection of network codes. In
this paper, we develop schemes for network code selection
and packet scheduling that take into account both (i) the
importance and deadlines of video packets and (ii) the network
state and the received/overheard packets in the neighborhood.
The paper is organized as follows. Section I I discusses
related work. Section III gives an overview of the system
model. Section IV presents the algorithms for network coding.
Section V presents simulation results that demonstrate the
benefits o f the proposed algorithms over baseline schemes,
in terms of video quality and application-level throughput.
Section VI concludes the paper.
II. R
ELATED WORK
This work combines ideas and techniques from two bodies
of work: video streaming and network coding.
Several network-adaptive techniques have been proposed to
support streaming media over unreliable and/or time-varying
networks [15]. Supporting video over wireless is particularly
challenging due to the limited, time-varying resources of the
wireless channel [1], [2]. There is a large body of work on
cross-layer design for video over wireless, such as [16]–[20],
0733-8716/09/$25.00
c
2009 IEEE

2 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 27, NO. 5, JUNE 2009
exploiting the fact that packets in a video stream have different
importance and therefore should be treated differently by net-
work mechanisms. Packet scheduling is an important control
at the medium access control layer. The problem of rate-
distortion optimized packet scheduling has been studied in the
RaDiO family of techniques [9]–[12]: in every transmission
opportunity, media units are selected for transmission so as
to maximize the expected qua lity of received video subject to
a constraint in the transmission rate, and taking into account
transmission errors, delays and decoding dependencies.
Independently, the network coding paradigm has emerged
from the pioneering work in [13], [14], which showed that, in
multicast networks where intermediate nodes do simple linear
operations on incoming packets, one can achieve the min-
cut throughput of the network to each receiver. The linearly
combined packets can be utilized at th e receivers to recover
the original packets by solving a set of linear equations over a
finite field. This breakthrough idea inspired significant effort
in several directions [3]–[ 6], including practical application of
network coding, studying topologies beyond multicast, such
as unicast [21]–[23] and broadcast scenarios. The broadcast
nature of the wireless medium offers an opportunity for
exploiting the throughput benefits of network coding [24],
[25]. The recent work in [7], [8] applied these ideas from the
network coding community in the context of wireless mesh
networks. [7] implemented a pseudo-broadcast mechanism
for 802.11 together with opportunistic listening and a coding
layer between IP and MAC that is used to detect coding
opportunities and pack packets from different flows into a
single transmission, thus increasing network throughput.
Our paper introduces a novel technique for video streaming
over wireless that combines the above two approaches. On one
hand, we build on [7], [8] to exploit the broadcast nature of the
wireless medium and use network coding to pack several pack-
ets from different streams into a single code for transmission,
thus increasing throughput. On the other hand, we construct
and select network codes taking into account the importance
of video p ackets (in terms of video distortion and playout
deadlines) within the same stream, as well as their contribution
to the throughput and video quality. This combined approach
allows us to improve video quality, e .g. compared to [8], while
maintaining the same level of throughput.
An earlier workshop version of this work appeared in [26],
where we first introduced the idea of media-aware network
coding algorithms (NCV and NCVD). This journal version has
a significantly extended evaluation part u sing a new module we
implemented in the GloMoSim environment [28], considering
a wide range of traffic scenarios and topologies, compar-
ing against a range of baseline algorithms, and discussing
complexity issues. In addition, this paper generalizes and
formalizes the original idea by introducing NC-RaDiO, an
extension of the RaDiO framework to take into account the
network coding opportunities, and by showing how our video-
aware network coding algo rithms fit within this framework and
that they achieve near optimal performance.
Looking forward, this idea can be generalized from video-
aware to content-aware network coding. In the video-specific
application, the importance o f the packets reflects the video
distortio n as determined b y content, encoding and playout
Fig. 1. A wireless mesh network. I is an intermediate node, A, B, C are
recei ving (and/or sending) nodes.
deadlines. More generally, the importance/priority of packets
can be determined by price, policy or other considerations
and can express differentiation at various levels of granularity :
across packets of the same flow, across different flows/users,
or across different classes of u sers.
III. S
YSTEM OVERVIEW
We consider video streaming over wireless mesh networks
where intermediate nodes (wireless mesh routers) are able to
forward packets to other intermediate nodes and/or clients,
as shown in Fig. 1. In this paper, we propose algorithms
that can be used at the intermediate node to maximize video
quality and throughput. We assu me that intermediate nodes
can perform simple network coding operations (bit-wise XOR)
and combine packets from several incoming streams into a
single outgoing packet. This p acket is broadcasted to the
entire neighborhood, thus reaching several nodes at the same
time. We assume that nodes can overhear all transmissions
in their neighborhood, whether they are intended for them or
not; they can decode a network-coded packet using overheard
packets. The idea of combining network coding with broadcast
to increase the information content per transmission, is well
understood in the network coding community. This idea has
been recently applied in 802.11-based multi-hop wireless
networks and throughput benefits have b een demonstrated for
data applications [7], [8].
Our key observation is that, when the transmitted flows
are video streams, this is not necessarily the b est choice and
video quality must also be considered. The importance and
deadlines of video packets m ust be taken into account to select
those codes that contribute the most to the quality of video
streams. In this paper, we develop schemes for network coding
across different flows, and packet selection within each flow,
to improve both video quality and throughput.
1) Code Selection at an Intermediate Node: Let us consider
an intermediate node that receives N packets from different
video streams and forwards them to N nodes in its neighbor-
hood. The intermediate node maintains a transmission (Tx)
queue with incoming video packets. At a given time slot a
packet is selected from the Tx queue for transmission. The
selected packet is called the primary packet and its destination
node is called the target node. The primary packet can be
thought as the main packet we try to transmit during a time
slot. Depending on the n etwork coding scheme, the primary

SEFEROGLU and MARKOPOULOU: VIDEO-AWARE OPPORTUNISTIC NETWORK CODING OVER WIRELESS NETWORKS 3
TABLE I
T
ERMINOLOGY
Term Definition
Primary Packet The packet selected from the Tx queue before
network coding. It must be included in all net-
work codes. It can be thought as the main packet
wetrytotransmitinagiventime-slot.
Side Packet Packet in the Tx queue, other than the primary,
included in the network code.
Network Code One primary and all side packets XOR-ed to-
gether into a single packet.
Activ e Packet Packet in the Tx queue that can be considered as
primary. (Not transmitted within the last RTT.)
Inactive packet Packet in the Tx queue that cannot be consid-
ered as primary. (It has already been transmitted
within the last RTT, and the acknowledgement is
still pending.)
Target Node The intended recipient of the primary packet.
Tx Queue The output queue of the transmitting node.
Rx Buffer The receive queue of the receiving node. It stores
received packets, destined to this node.
Virtual Buffer Also maintained at a receiving node. It stores
overheard packets, destined to other nodes.
packet may be the first packet from the head of the queue,
or any packet in Tx queue that is marked as active (i.e., not
transmitted within the last round-trip time, as discussed later).
In addition to the primary packet, all packets in the queue
are considered as candidate side packets, i.e., candidates for a
transmission in the same time slot together with the primary
packet; they are useful to nodes other than the target node.
The primary and the side packets are all XOR-ed together into
a single packet, called the network code. The core question
then is: which network code (i.e. XOR of the primary and side
packets) to select and transmit so as to maximize the total
video quality and throughput. The algorithms addressing this
question are the main part of this paper, and will be discussed
separately in the next section (IV). In the rest of this section,
we describe the remaining components and functions of the
system. The terminology is summarized in Table I.
2) Receiving, Overhearing and ACKing a Packet (at Re-
ceiving Nodes): Once the network code is chosen, it is
broadcast to all nodes in the neighborhood. Depending on the
channel conditions, some nodes successfully receive it. When
the target node receives it, it decodes it (which is guaranteed
by the construction of the network code in the next section),
stores the primary packet in its receive (Rx) buffer, and sends
an acknowledgement (ACK) back to the intermediate node.
Nodes, other than the target node, overhear the transmitted
packet and try to decode it; if they overhear a new packet
destined to them, they store it in their Rx buffer and send an
ACK back to the intermediate node; if they obtain a packet
destined for another node, they store it in their virtual buffer.
An overheard packet stays in the virtual buffer until an ACK
from the target is overhear d or until its deadline expires. We
also assume that the asynchronous ACK mechanism, proposed
in [7], is used to combat ACK implosion.
3) Active/Inactive Packets (at an Intermediate Node): The
intermediate node waits for a mean round-trip time (RTT)
from the time it transmits the n etwork code until it receives
an ACK. During that period, all packets that were part of
the code stay in the Tx queue but are marked as inactive.
Inactive packets are not considered for primary transmission
(in order to avoid unnecessary duplicate transmissions) but
are still considered as candidates for side packets (to increase
coding opportunities). When the transmitter receives an ACK,
it removes the corresponding packet from the Tx queue. If an
RTT expires without receiving an ACK, the packet is marked
as active again and the process is repeated. A packet stays
in th e Tx queue until either it is successfully transmitted or
its d eadline expires; when either of these occur, the packet is
removed from the transmission buffer.
1
4) Requirements: Our system relies on the following ca-
pabilities. First, broadcast is needed to harvest the benefits of
network coding. Although wireless is inherently a b roadcast
medium, this may be hidden by some communication proto-
cols. We make use of the broadcast capability, implemented as
pseudo-broadcast on top of 802.11 unicast in [7], [8]. Second,
nodes need to learn the contents of the virtual buffers of all
their neighbors, in order to select a code that is decodable
in their neighborhood. This can be achieved by explicitly
exchanging and/or implicitly learning this information a s in
[7], [8]. Third, nodes must be capable of coding/decoding in
real time, which is a realistic assumption for simple (bit-wise
XOR) operations. Network coding is implemented as a thin
layer between IP and MAC, exactly as in the original COPE
[8]. Nodes are considered fixed (not mobile) and routing is
considered given, i.e., decided by a routing module orthogonal
to the network coding algo rithms considered in this paper.
5) Importance of Packets: Nodes make network coding
decisions taking into account the importance of video packets.
The distortion value (Δ) of every packet can be determined
by the source and communicated to the intermediate nodes
in order to enable them to take decisions about transmission
of video units in a rate-distortion optimized manner [9].
This information can be marked on a special field of the
packet header. This field can be at the application level (e.g.
RTP extended headers)or part of the network coding header;
alternatively, the typically unused TOS/DiffServ byte in the
IP header can be overridd en. In additio n to the individual
importance of p ackets (Δ) within a flow, our formulation also
considers the importance of flows (γ). In general, the overall
importance of a packet can be a function of the flow priority
and the packet distortion value; in this paper, we use a simple
product γ · Δ.
6) Handling Video vs. Data Packets: The main focus of
this paper is on network coding for video, and most of the
discussion is presented in terms of queues that contain only
video packets. This could be implemented in practice on top
of 802.11e, using the d ifferentiation mechanisms to separate
real-time traffic (in our case video) from data traffic. Our
network coding algorithms could then be applied only on the
video queue. Independently, our framewo rk could also handle
a mixture of video and data packets in the same queue by
assigning them d ifferent flow priorities.
1
Note that although a transmitted packet remains inactive for an RTT, it
does not block the head of the queue: the next active packets in the queue
are coded and transmitted during this period. Also note that, although the Tx
queue is basically a FIFO, considering any active packet as primary may lead
to reordering in packet deliv ery. Although this may be a concern for TCP,
as it was the case in [7], it is clearly better for video that requires timely
deli very and can reorder packets at the playout buffer.

4 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 27, NO. 5, JUNE 2009
IV. CODING ALGORITHMS
The main que stions in this system have to do with the
construction and selection of network codes. The code con-
struction problem is concerned with finding candidate codes
that guarantee decodability by the target node. The code
selection problem is concerned with selecting the best among
the candidate codes so as to optimize video quality. The first
proposed algorithm, “NCV”, achieves the same throughput
gains as in [7] but also intelligently chooses the network codes
that maxim ize video quality. The second algorithm, “NCVD”,
uses NCV as a building block but considers more coding
options thus further improving video quality and throughput.
The third algorithm, “NC-RaDiO”, generalizes these ideas: it
extends the rate-distortion optimized (RaDiO) packet schedul-
ing framework [9], so as to find the optimal network coding
and transmission policy at every transmission opportunity.
A. NCV Algorithm: Network Coding for Video
Assume that there are several video streams coming to an
intermediate node. Depending on the content of the virtual
buffers at the clients, there may be several combinations
of these streams, i.e. several network coding opportunities.
The main idea behind the Network Coding for Video (NCV)
algorithm is to select the b est network code to improve video
quality. Th e following example demonstrates this idea.
Example 1: Consider the example shown in Fig. 1 and let
us focus on a single-hop shown in more detail in Fig. 2.
Node I receives three independent video streams, e.g. from
the Internet through the gateway, destined to its neighbors
A, B, C. I maintains a FIFO Tx queue that stores packets
{A
1
,A
2
, ...} destined to node A, {B
1
,B
2
, ...} destined to
node B,and{C
1
,C
2
, ...} destined to node C.Fig.2also
shows the contents of the virtual buffers at each client: node
A has overheard packets {B
1
,C
1
} and nodes B and C have
both overheard packet A
1
, from previous transmissions. A
1
is
the first active packet from head of the queue and is selected
as the primary packet. Any packet (active or inactive) in the
output queue, other than A
1
, can be chosen as a side packet,
on the condition that the constructed network code should
be decoded at node A,i.e.A
1
can be retrieved. To satisfy
this condition, side packets that will be used in the network
code should already be available at node A;inotherwords,
the decodability of a network code depends on the overheard
packets at node A. Network codes c
1
= A
1
, c
2
= A
1
B
1
,
c
3
= A
1
C
1
,andc
4
= A
1
B
1
C
1
can all be decoded
by A and thus are eligible network codes.
The Code Construction Problem. More generally, consider
that there are N nodes N = {n
1
,n
2
, ..., n
N
} in the wireless
network. Consider an intermediate node n N, which trans-
mits to its neighbor nodes. Let φ
n
be the number of packets
in the Tx queue of node n, and the packets themselves be
Φ
n
= {p
1
,p
2
, ..., p
φ
n
}. Choose the first active packet, p
i
, from
the head of the Tx FIFO queue as the primary packet; p
i
has a
target node t(p
i
) N. Node n will construct and broadcast a
network code, which consists of the primary packet p
i
XOR-ed
together with some side packets, so that the target node t(p
i
)
can decode and obtain p
i
. For this to be guaranteed, all side
packets must be among the p ackets that are already overheard
Algorithm 1 The NCV Algorithm
1: Initialization: I
i
max
=0, c
i
max
=
2: Choose the first head-of-queue active packet as primary p
i
.
3: Let t(p
i
) be the target node of packet p
i
.Let{ν
1
, ..., ν
Ψ
t
(p
i
)
} be the
overheard packets at t(p
i
).
4: for k =1...2
ψ
t
(p
i
)
do
5: c
i
k
= {p
i
}
S
S
t(p
i
)
k
6: Calculate I
i
k
with Eq. (5)
7: if I
i
k
>I
i
max
then
8: I
i
max
= I
i
k
, c
i
max
= c
i
k
9: end if
10: end for
11: Choose c
i
max
as the network code. XOR all packets and transmit
at the target t(p
i
). Assume that ψ
t(p
i
)
packets are overheard
at node t(p
i
) and denoted by Ψ
t(p
i
)
= {ν
1
2
, ..., ν
Ψ
t
(p
i
)
}.
Therefore, the candidate network codes at node n are:
c
i
k
= {p
i
}
S
t(p
i
)
k
,k =1, 2, ..., 2
ψ
t(p
i
)
(1)
where S
t(p
i
)
k
is the k
th
subset of Ψ
t(p
i
)
. Note that, since linear
operations are limited to bit-wise XOR, a network cod e p
1
p
2
... p
k
is completely specified by the set of packets
{p
1
,p
2
, ..., p
k
} that are XOR-ed together. The next step is to
select the b est among all candidate codes.
Example 1 Continued. Node A can get packet A
1
from all
four possible network codes. Codes c
2
and c
3
improve the
video quality at node sets {A, B} and {A, C}, respectively.
It is clear that c
2
and c
3
are better codes than c
1
and c
4
both
for throughput (they are useful to two instead of one node)
and video quality. Comparing c
2
to c
3
, we observe that they
are equivalent in terms of throughput but they may contribute
differently to video qua lity dependin g on the content of video
packets A
1
,B
1
,C
1
. Deciding which candidate code to select
between c
2
= A
1
B
1
and c
3
= A
1
C
1
should depend on
the importance and urgency o f the original video packets B
1
and C
1
. NCV exploits this observation.
The Code Selection Problem. After constructing all candi-
date codes at a node n, we need to choose the best code
according to an appropriate metric, which we define here so as
to capture the contribution of each candidate code to the video
quality imp rovement. Recall that p
i
is the primary packet
targeted to node t(p
i
),and{ c
i
k
}
k=2
ψ
t(p
i
)
k=1
are all the candidate
codes. Let I
i
k
(n
η
) be the improvement in video quality at node
n
η
for η =1, 2, ..., N ,whenc
i
k
is received and decoded:
I
i
k
(n
η
)=
L
k
l=1
(1 P (l))Δ(l)γ(l)g
k
l
(n
η
)d
k
l
(n
η
) (2)
where each factor in this formula is defined as follows:
L
k
is the number of original packets included in network
code c
i
k
. Notice that at most one out of these L
k
packets
can be useful to a particular node n
η
, but different packets
are useful to different nodes.
d
k
l
(n
η
) and g
k
l
(n
η
) are indicator functions that express
whether code k is useful for node n
η
.Wedene
d
k
l
(n
η
)=1if c
i
k
is decodable at node n
η
, or 0 otherwise.
We dene g
k
l
(n
η
)=1if packet l is targeted to node n
η
,
or 0 otherwise.
Δ(l) is the improvement in video qu ality (SNR) if packet
l is received correctly and on time at client n
η
.To

SEFEROGLU and MARKOPOULOU: VIDEO-AWARE OPPORTUNISTIC NETWORK CODING OVER WIRELESS NETWORKS 5
Fig. 2. Example of Network Coding for Video (NCV), for a one-hop downlink scenario with three different streams.
compute Δ(l), we decode the entire video sequence
with this packet missing and we compute the resulting
distortion.
2
We assume that th is computation is performed
at the source offline and that the distortion value is
marked on each packet.
3
γ(l) is the importance/priority of the flow that packet l
belongs to. All packets in the same flow have the same
(flow) importance, but different flows may have different
importance. If some flows are more important, then
higher importance should be assigned to them; otherwise
they should all be assigned γ =1. If the average quality
differs among encoded video sequences and we still want
to treat flows equally, the flow importance can be a
normalization factor (the inverse of the average PSNR
per sequence); this is what we do in the simulations.
P (l) is the probability that packet l is lost due to either
channel errors or late arrival for playout:
P (l)=P {FTT
>t
d
(l) t
c
} (3)
where t
d
(l) is the deadline of p acket l, t
c
is the current
time and τ = t
d
(l) t
c
is the remaining time u ntil the
playout deadline; FTT
is the forward trip time in the
presence of delay and loss. The complementary cumula-
tive distribution function of FTT
can be calculated as
follows:
P {FTT
} = ε
F
+(1 ε
F
)
τ
p
F
(t)dt (4)
The first part in Eq.(4) describes the probability that a
packet is lost in the forward channel, due to noise, fading,
and interference in the wireless. The second part in Eq.(4)
describes the probability that a packet, which is not lost,
2
This is an approximation as the actual distortion that may also depend on
the delivery status of prior and subsequent NALs. The distortion model can be
extended to capture these loss correlations [29]–[31]. Furthermore, we assume
that distortions caused by loss of multiple pack ets are additive, which is
reasonable for sparse losses. These approximations reduce the computational
complexity by separating the total distortion function into a set of indi vidual
packet distortion functions and optimizing for each one of them.
3
For real-time traffic, one can still estimate the distortion by performing
online analysis with a delay of a few frames. Most distortion occurs in the first
few frames after a loss and breaks after the next I frame; the error depends
on the video content of subsequent frames and on the coding decisions.
Another approach is to assign distortion values based solely on the GOP
structure, ignoring the video content and coding decisions, or to use a model
for dependencies [31].
arrives late, i.e., after its playout deadline; p
F
(t) is the
distribution of the forward-trip time.
After defining the contribution of code c
i
k
to the video
quality at a single node n
η
, I
i
k
(n
η
), we define the total video
quality improvement of code c
i
k
as the sum of the video quality
improvements at all clients η =1, ...N, due to code c
i
k
:
I
i
k
=
N
η=1
I
i
k
(n
η
) (5)
The NCV algorithm is summarized in Alg. (1). At each
time slot, the NCV algorithm chooses the primary packet
p
i
and constructs all candidate network codes {c
i
k
}
k=2
ψ
t(p
i
)
k=1
.
Among all candidate network codes, NCV chooses the code
that maximizes the total vid eo quality improvement:
max
k
I
i
k
(6)
Depending on the contents of the virtual buffers, it is possible
that no side packets can be used together with a given primary
packet p
i
. In that case, the network code is simply {p
i
}∪∅=
{p
i
}.
B. NCVD Algorithm: looking into the queue in Depth
As described in the previous section, NCV selects the
primary packet from the head of the queue but ignoring
packets marked as inactive, and then optimally chooses the
side packets. However, the fact that NCV does not optimize
the primary packet has two implications: (i) the primary packet
itself is important f or vid eo quality and (ii) the candidate side
codes are limited to those that are decodable for this single
primary p acket. The second algorithm improves over NCV by
also optimizing the selection of the primary packet. NVCD
looks into the entire Tx queue “in depth” and considers all,
not just the head-of-line, packet as candidates for the primary
packet, thus increasing the options for candidate codes. A
different set of candidate codes can be constructed for each
primary packet. We explain NCVD through the following
example.
Example 2: Let us look at Fig. 3. The topology is the same
as in Fig. 2, but the contents of the Tx queue and of the
virtual buffers are different. Assume that all p ackets are active
packets, i.e., they can all b e considered as primary. One option
is to select the head-of-line packet A
1
as the primary packet.

Citations
More filters
Patent

Method for Network Coding Packets in Content-Centric Networking Based Networks

TL;DR: In this paper, a network node, comprising a data store comprising multiple content chunks, a receiver configured to receive a request from a requesting network node for at least one chunk of the content object, a transmitter configured to transmit data, and a processor coupled to the receiver, the transmitter, and the data store, is configured to encode the content using the multiple contents.
Journal ArticleDOI

Completion delay minimization for instantly decodable network codes

TL;DR: Simulation results show that the proposed algorithms significantly reduce the IDNC completion delay compared to the random and maximum-rate algorithms, and almost achieve the global optimal completion delay performance over all network codes in broadcast scenarios.
Journal ArticleDOI

Network Coding Meets Multimedia: A Review

TL;DR: This paper reviews the recent work in NC for multimedia applications and focuses on the techniques that fill the gap between NC theory and practical applications, and outlines the benefits of NC and presents the open challenges in this area.
Journal ArticleDOI

Resource-Allocation Frameworks for Network-Coded Layered Multimedia Multicast Services

TL;DR: This paper considers point-to-multipoint layered service delivery across a generic cellular system and improves it by applying different random linear network coding approaches and establishes that the choice of both the network coding technique and the resource-allocation method play a critical role on the network footprint, as well as the quality of each received video layer.
References
More filters
Journal ArticleDOI

Network information flow

TL;DR: This work reveals that it is in general not optimal to regard the information to be multicast as a "fluid" which can simply be routed or replicated, and by employing coding at the nodes, which the work refers to as network coding, bandwidth can in general be saved.
Book

Approximation Algorithms

TL;DR: Covering the basic techniques used in the latest research work, the author consolidates progress made so far, including some very recent and promising results, and conveys the beauty and excitement of work in the field.
Journal ArticleDOI

Linear network coding

TL;DR: This work forms this multicast problem and proves that linear coding suffices to achieve the optimum, which is the max-flow from the source to each receiving node.
Journal ArticleDOI

XORs in the air: practical wireless network coding

TL;DR: The results show that using COPE at the forwarding layer, without modifying routing and higher layers, increases network throughput, and the gains vary from a few percent to several folds depending on the traffic pattern, congestion level, and transport protocol.
Related Papers (5)
Frequently Asked Questions (17)
Q1. What have the authors contributed in "Video-aware opportunistic network coding over wireless networks" ?

In this paper, the authors study video streaming over wireless networks with network coding capabilities. The authors build upon recent work, which demonstrated that network coding can increase throughput over a broadcast medium, by mixing packets from different flows into a single packet, thus increasing the information content per transmission. The authors propose video-aware opportunistic network coding schemes that take into account both the decodability of network codes by several receivers and the importance and deadlines of video packets. This work is a first step towards content-aware network coding. 

The problem of ratedistortion optimized packet scheduling has been studied in the RaDiO family of techniques [9]–[12]: in every transmission opportunity, media units are selected for transmission so as to maximize the expected quality of received video subject to a constraint in the transmission rate, and taking into account transmission errors, delays and decoding dependencies. 

All the network coding schemes (NC-RaDiO, NCVD, NCV, NCTD and NCT) are better than non-network coding schemes (MM and noNC) because they transmit more packets. 

Late packets do not contribute to application-level throughput, because those packets are discarded at the client even if they are received successfully. 

NC-RaDiO and NCVD achieve the highest application and MAC level throughput, because they create more network coding opportunities. 

packets may still be lost due to errors on the wireless channel, and can also experience a random MAC propagation delay, 2ms on average. 

Note that the maximization maxpj∈cu{B(j)ρ(πn(j))} term comes from network coding: before getting XOR-ed together, packets may need to be padded up to the length of the longest packet. 

For N = 6, the network coding algorithms are still better than noNC and MM; the authors also note that NC-RaDiO, NCVD, NCV, and NCTD are better than NCT because NC-RaDiO, NCVD and NCTD transmit more packets due to primary packet optimization, and NCV transmits more important packets. 

When N increases further, the PSNR performance becomes more interesting: noNC is the clearly the worst; NCT and NCTD are similar to each other and better than noNC; NCV is better than NCT and NCTD, because it optimizes side packet selection, hence transmits more important packets. 

The complementary cumulative distribution function of FTT ′ can be calculated as follows:P{FTT ′ > τ} = εF + (1 − εF ) ∫ ∞ τ pF (t)dt (4)The first part in Eq.(4) describes the probability that a packet is lost in the forward channel, due to noise, fading, and interference in the wireless. 

This is intuitive, because NCV optimizes side packets for video quality improvement but not primary packets; since primary packets are the main packets that are transmitted to all receivers, optimized packet scheduling is performed only in a few of the transmitted packets. 

As expected, all network coding schemes (NC-RaDiO, NCVD, NCV, NCTD, NCT) achieve higher MAC-level throughput than noNC and MM, because they convey more information content per transmission. 

The second algorithm, “NCVD”, uses NCV as a building block but considers more coding options thus further improving video quality and throughput. 

As metric for the video quality of an encoded sequence, the authors use the average PSNR, i.e., the peak-signal-to-noise ratio based on the luminance (Y) component of video sequences, measured in dB, and averaged over the entire duration of the video sequence. 

This could be implemented in practice on top of 802.11e, using the differentiation mechanisms to separate real-time traffic (in their case video) from data traffic. 

As compared to the downlink scenario and the throughput values shown in Fig. 7, the throughput difference between network coding and no network coding algorithms is less in the cross topology compared to other topologies; the reason is that there are more independent flows and thus less network coded packets. 

The main reason is that NC-RaDiO, NCVD, and NCV do not select codes consisting of packets whose deadlines are within one transmission time, while NCT and NCTD transmit all packets.