Signal Processing - March 2017 - 108

channels. The associated code constructions are also based on a
layering scheme, as in the MS constructions. The optimality of
these codes is established for the burst-erasure channel model.
References [32] and [33] study a similar setup, in which the
decoding delay is with respect to channel packets. For the burst
erasure model, diagonally interleaved block codes are shown to
be optimal when gaps between successive bursts are sufficiently small. For the independent and identically distributed (i.i.d.)
erasure model, a family of time-invariant intrasession codes is
proposed, with a performance that is close to an upper bound.
References [34] and [35] consider a model where the transmitter and receiver are connected through multiple parallel links. Each link is assumed to be a burst-erasure channel
that introduces a burst of maximum length B. The capacity is
characterized in some special cases, and joint coding across
the subchannels is required to attain the capacity. Reference
[36] considers the setup when the channel between the source
and destination is modeled using a linear transfer matrix and
is subjected to rank losses. Convolutional coding analogs of
rank error correcting codes are proposed that maximize a new
distance metric known as the maximum column sum rank. In
reference [37], the problem of having multiple erasure bursts
within each coding block is studied. It is shown that the recovery delay depends not only on the number of bursts within a
coding block but on whether the source symbols are encoded
causally or noncausally.
In other related works, [38]-[41] study a multicast extension of [24] and [25] involving two users and a common source
stream. The stronger receiver's channel introduces shorter
bursts, and in turn the decoding delay is required to be smaller.
The weaker receiver's channel introduces longer bursts, and
the decoding delay can be longer. Such codes can also be used
in applications where the decoding delay can vary based on
channel conditions. The construction of these codes involves
embedding the parity checks of two single-user MS codes in
a careful manner to simultaneously satisfy the constraints of
both receivers.
In the broader literature, unequal error protection for multimedia streaming has been widely studied (see, e.g., [42]-[44]
and the references therein). In [45], the authors proposed a new
scheme in streaming models with feedback, which combines
the benefits of network coding and ARQ by acknowledging
degrees of freedom instead of original packets. In [46]-[48],
real-time streaming over blockage channels with delayed
feedback is studied. A multiburst transmission protocol is proposed that achieves a nontrivial tradeoff between the delay and
throughput within this framework.

Simulation results
In this section, we study the performance of different FEC
codes over Gilbert-Elliott channels as well as real packet
traces. In our simulations, we fix the rate of the code to be
R = 1/2 . In practice, error correction may be invoked only on
a subset of packets. For example, a large fraction of packets in
an audio stream correspond to silence periods. These packets
clearly do not need error control. Second, error control may
108

be only adaptively invoked when the channel conditions
require it [11]. Such approaches can substantially reduce the
overhead from FEC packets. The maximum recovery delay
used in this section is T = 5 and T = 12, as suggested in the
"Impact on Applications" section. Furthermore, the packet
loss rates (PLRs) we consider are in the interval 10 -3 to 10 -6.
The former loss rate will result in a playback disruption every
few seconds; the latter loss rate will produce a playback disruption only once every half hour or so.

Gilbert-Elliott channel
A Gilbert-Elliott channel is a two-state Markov model. In the
good state each channel packet is lost with probability e,
whereas in the bad state each channel packet is lost with probability 1. The average loss rate of the Gilbert-Elliott channel
is given by
Pr (a, b, e) =

b
a
e+
,
a +b
b +a

(13)

where a and b denote the transition probabilities from the
good state to the bad state and vice versa. As long as the
channel stays in the bad state, the channel behaves as a bursterasure channel. The length of each burst is a geometric random variable of mean 1/b . When the channel is in the good
state, it behaves as an i.i.d. erasure channel with an erasure
probability of e. The gap between two successive bursts is
also a geometric random variable with a mean of 1/a . Finally,
e = 0 results in a Gilbert-Elliott channel [49], which results
in burst losses only.
In Figure 11, we fix a = 5 # 10 -4 and vary both b and e
of the Gilbert-Elliott channel to achieve different mean burst
lengths (on the y axis) and i.i.d. loss rates (on the x axis). Each
point corresponds to a single realization of 10 8 packets. We
use rate R = 1/2 shifted-repetition, shifted-RLC, and RLC
codes from the "Numerical Comparisons" section and set the
maximum delay to T = 5 packets.
The code with the minimum residual loss rate at a given
mean burst length 1/b and i.i.d. loss percentage 100e is marked
in Figure 11. It turns out that there are three main regions and
that each code dominates in one. As expected, MS codes outperform other codes when the mean burst lengths are high compared to i.i.d. loss rates between bursts. In the other extreme,
RLC codes are the best. Finally, ERLC codes, which can
recover bursts slightly longer than RLC codes can and more
i.i.d. losses than MS codes can dominate in a region between
the two extremes. This shows that an application can gainfully
switch between the three codes, depending on the expected
channel characteristics.
Figure 12 illustrates the results of another experiment over
Gilbert-Elliott channels with parameters given in the second
column of Table 2. We ran simulations over 31 realizations
of a Gilbert-Elliott channel, each of length 10 8 packets. We
set a = 5 # 10 -4 and b = 0.4 in all realizations and varied
-2
e ! [0, 3] # 10 across realizations. In Figure 12, the channel loss rate, Pr (a, b, e) , is plotted on the x axis, whereas the
residual loss probability of different streaming codes is plotted

IEEE Signal Processing Magazine

|

March 2017

|



Table of Contents for the Digital Edition of Signal Processing - March 2017

Signal Processing - March 2017 - Cover1
Signal Processing - March 2017 - Cover2
Signal Processing - March 2017 - 1
Signal Processing - March 2017 - 2
Signal Processing - March 2017 - 3
Signal Processing - March 2017 - 4
Signal Processing - March 2017 - 5
Signal Processing - March 2017 - 6
Signal Processing - March 2017 - 7
Signal Processing - March 2017 - 8
Signal Processing - March 2017 - 9
Signal Processing - March 2017 - 10
Signal Processing - March 2017 - 11
Signal Processing - March 2017 - 12
Signal Processing - March 2017 - 13
Signal Processing - March 2017 - 14
Signal Processing - March 2017 - 15
Signal Processing - March 2017 - 16
Signal Processing - March 2017 - 17
Signal Processing - March 2017 - 18
Signal Processing - March 2017 - 19
Signal Processing - March 2017 - 20
Signal Processing - March 2017 - 21
Signal Processing - March 2017 - 22
Signal Processing - March 2017 - 23
Signal Processing - March 2017 - 24
Signal Processing - March 2017 - 25
Signal Processing - March 2017 - 26
Signal Processing - March 2017 - 27
Signal Processing - March 2017 - 28
Signal Processing - March 2017 - 29
Signal Processing - March 2017 - 30
Signal Processing - March 2017 - 31
Signal Processing - March 2017 - 32
Signal Processing - March 2017 - 33
Signal Processing - March 2017 - 34
Signal Processing - March 2017 - 35
Signal Processing - March 2017 - 36
Signal Processing - March 2017 - 37
Signal Processing - March 2017 - 38
Signal Processing - March 2017 - 39
Signal Processing - March 2017 - 40
Signal Processing - March 2017 - 41
Signal Processing - March 2017 - 42
Signal Processing - March 2017 - 43
Signal Processing - March 2017 - 44
Signal Processing - March 2017 - 45
Signal Processing - March 2017 - 46
Signal Processing - March 2017 - 47
Signal Processing - March 2017 - 48
Signal Processing - March 2017 - 49
Signal Processing - March 2017 - 50
Signal Processing - March 2017 - 51
Signal Processing - March 2017 - 52
Signal Processing - March 2017 - 53
Signal Processing - March 2017 - 54
Signal Processing - March 2017 - 55
Signal Processing - March 2017 - 56
Signal Processing - March 2017 - 57
Signal Processing - March 2017 - 58
Signal Processing - March 2017 - 59
Signal Processing - March 2017 - 60
Signal Processing - March 2017 - 61
Signal Processing - March 2017 - 62
Signal Processing - March 2017 - 63
Signal Processing - March 2017 - 64
Signal Processing - March 2017 - 65
Signal Processing - March 2017 - 66
Signal Processing - March 2017 - 67
Signal Processing - March 2017 - 68
Signal Processing - March 2017 - 69
Signal Processing - March 2017 - 70
Signal Processing - March 2017 - 71
Signal Processing - March 2017 - 72
Signal Processing - March 2017 - 73
Signal Processing - March 2017 - 74
Signal Processing - March 2017 - 75
Signal Processing - March 2017 - 76
Signal Processing - March 2017 - 77
Signal Processing - March 2017 - 78
Signal Processing - March 2017 - 79
Signal Processing - March 2017 - 80
Signal Processing - March 2017 - 81
Signal Processing - March 2017 - 82
Signal Processing - March 2017 - 83
Signal Processing - March 2017 - 84
Signal Processing - March 2017 - 85
Signal Processing - March 2017 - 86
Signal Processing - March 2017 - 87
Signal Processing - March 2017 - 88
Signal Processing - March 2017 - 89
Signal Processing - March 2017 - 90
Signal Processing - March 2017 - 91
Signal Processing - March 2017 - 92
Signal Processing - March 2017 - 93
Signal Processing - March 2017 - 94
Signal Processing - March 2017 - 95
Signal Processing - March 2017 - 96
Signal Processing - March 2017 - 97
Signal Processing - March 2017 - 98
Signal Processing - March 2017 - 99
Signal Processing - March 2017 - 100
Signal Processing - March 2017 - 101
Signal Processing - March 2017 - 102
Signal Processing - March 2017 - 103
Signal Processing - March 2017 - 104
Signal Processing - March 2017 - 105
Signal Processing - March 2017 - 106
Signal Processing - March 2017 - 107
Signal Processing - March 2017 - 108
Signal Processing - March 2017 - 109
Signal Processing - March 2017 - 110
Signal Processing - March 2017 - 111
Signal Processing - March 2017 - 112
Signal Processing - March 2017 - 113
Signal Processing - March 2017 - 114
Signal Processing - March 2017 - 115
Signal Processing - March 2017 - 116
Signal Processing - March 2017 - 117
Signal Processing - March 2017 - 118
Signal Processing - March 2017 - 119
Signal Processing - March 2017 - 120
Signal Processing - March 2017 - 121
Signal Processing - March 2017 - 122
Signal Processing - March 2017 - 123
Signal Processing - March 2017 - 124
Signal Processing - March 2017 - Cover3
Signal Processing - March 2017 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201809
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201807
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201805
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201803
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201801
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1117
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0917
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0717
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0517
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0317
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0117
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1116
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0916
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0716
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0516
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0316
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0116
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1115
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0915
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0715
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0515
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0315
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0115
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1114
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0914
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0714
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0514
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0314
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0114
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1113
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0913
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0713
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0513
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0313
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0113
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1112
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0912
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0712
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0512
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0312
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0112
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1111
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0911
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0711
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0511
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0311
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0111
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1110
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0910
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0710
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0510
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0310
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0110
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1109
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0909
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0709
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0509
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0309
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0109
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1108
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0908
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0708
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0508
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0308
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0108
https://www.nxtbookmedia.com