Optimal Bandwidth Assignment For Multiple-Description-Coded Video
Optimal Bandwidth Assignment For Multiple-Description-Coded Video
Optimal Bandwidth Assignment For Multiple-Description-Coded Video
Multiple-Description-Coded Video
by
Pengye Xia
A Thesis Submitted to
The Hong Kong University of Science and Technology
in Partial Fulllment of the Requirements for
the Degree of Master of Philosophy
in Computer Science and Engineering
August 2010, Hong Kong
Copyright by Pengye Xia 2010
Authorization
I hereby declare that I am the sole author of the thesis.
I authorize the Hong Kong University of Science and Technology to lend
this thesis to other institutions or individuals for the purpose of scholarly research.
I further authorize the Hong Kong University of Science and Technology
to reproduce the thesis by photocopying or by other means, in total or in part,
at the request of other institutions or individuals for the purpose of scholarly
research.
Pengye Xia
ii
Optimal Bandwidth Assignment for
Multiple-Description-Coded Video
by
Pengye Xia
This is to certify that I have examined the above MPhil thesis
and have found that it is complete and satisfactory in all respects,
and that any and all revisions required by
the thesis examination committee have been made.
Dr. Shueng-Han Gary Chan, Thesis Supervisor
Prof. Mounir Hamdi, Head of Department
Department of Computer Science and Engineering
24 August, 2010
iii
Acknowledgments
First and foremost I oer my sincerest gratitude to my supervisor, Profes-
sor Shueng-Han Gary Chan. Thank him for patiently guiding, encouraging and
inspiring me with his knowledge and wisdom in the scientic research throughout
all these years. It has been a great honor to work with him.
I also would like to thank Professor Lin Gu and Professor Qian Zhang for
kindly participating in my thesis examination committee and providing insightful
comments.
As always, I am heartily grateful to my parents and my wife. Thank them
for encouraging and supporting me all the time.
Lastly, I oer my regards and blessings to all of those who supported me
in any respect during the completion of this thesis.
iv
TABLE OF CONTENTS
Title Page i
Authorization Page ii
Signature Page iii
Acknowledgments iv
List of Figures vi
List of Tables vii
Abstract viii
Chapter 1 Introduction 1
Chapter 2 Related Work 5
2.1 Multiple Description Coding 5
2.2 Simulated Annealing 6
Chapter 3 Problem Formulation 8
Chapter 4 Algorithms for Optimal Assignment of Description Bandwidths 12
4.1 A Threshold and the Exact Solution 12
4.2 SAMBA 14
Chapter 5 Illustrative Simulation Results 17
5.1 Simulation Environment and Parameters 17
5.2 Illustrative Results 19
Chapter 6 Conclusion 26
Bibliography 27
Appendix 30
v
LIST OF FIGURES
1.1 Video streaming using MDC to heterogeneous users. 2
3.1 The optimization model for MDC bandwidth assignment. 9
5.1 Example bandwidth requirement distribution c N
T
(10, 5). 18
5.2 Overall satisfaction (S) versus heterogeneity factor h given dier-
ent schemes. 19
5.3 Overall satisfaction (S) versus mean value () given dierent schemes. 20
5.4 Overall satisfaction (S) versus description number (m) given dif-
ferent schemes. 21
5.5 Overall satisfaction (S) versus description number (m) given . 22
5.6 Overall satisfaction (S) versus description number (m) given k. 23
5.7 Individual satisfaction (S) versus receiving bandwidth with c
N
T
(0, 10). 23
5.8 Individual satisfaction (S) versus receiving bandwidth with c
N
T
(50, 10). 24
5.9 Individual satisfaction (S) versus receiving bandwidth with c
N
T
(100, 10). 24
vi
LIST OF TABLES
3.1 Major symbols used in the paper and their explanations. 11
vii
Optimal Bandwidth Assignment for
Multiple-Description-Coded Video
by
Pengye Xia
Computer Science and Engineering
The Hong Kong University of Science and Technology
Abstract
In video streaming over multicast network, user bandwidth requirement
is often heterogeneous possibly with orders of magnitude dierence (say, from
hundreds of kb/s for mobile devices to tens of Mb/s for high denition TV).
Multiple description coding (MDC) can be used to address this bandwidth het-
erogeneity issue. In MDC, the video source is encoded into multiple independent
descriptions. A receiver, depending on its available bandwidth, joins dierent
descriptions to meet their bandwidth requirements.
An important but challenging problem for MDC video multicast is how to
assign bandwidth to each description in order to maximize overall user satisfac-
tion. In this paper, we investigate this issue by formulating it as an optimization
problem, with the objective to maximize user bandwidth experience by taking
into account the encoding ineciency due to MDC.
We prove that the optimization problem is in general NP-hard. However,
if the description number is larger than or equal to a certain threshold (for a band-
width heterogeneity of a factor of 100, such threshold is 7 descriptions), there is an
viii
exact and simple solution to achieve maximum user satisfaction, i.e. meeting all
the receiving bandwidth requirements. For the case when the description number
is smaller, we present an ecient heuristic called SAMBA (Simulated Annealing
for MDC Bandwidth Assignment) to assign bandwidth to each description given
the distribution of user bandwidth requirement.
We evaluate our algorithm using simulations. SAMBA achieves virtu-
ally the same optimal performance based on exhaustive search. By comparing
with other assignment algorithms, SAMBA signicantly improves user satisfac-
tion. We also show that, if the coding eciency decreases with the number of
descriptions, there is an optimal description number to achieve maximal user
satisfaction.
ix
1
Introduction
With the penetration of broadband Internet access and advances in video com-
pression techniques, there has been increasing interest in both stored and live
video services. Websites like YouTube and MSN Video have oered numerous
on-demand video clips. Online live TV streaming with the use of IP multicast
or peer-to-peer (P2P) technology have also been widely deployed (e.g., AT&T
IPTV, PPLive, GridMedia, Sopcast and TVants) [1] [2].
To stream video to a large group of users, meeting heterogeneous band-
width requirements presents a challenging problem. Such bandwidth requirement
may dier by orders of magnitude, from hundreds of kbits/s for mobile devices to
tens of Mbits/s for high-denition TV. In order to serve all the users, obviously
it is not ecient nor feasible for the server to transcode the stream to each of
the user bandwidths. A simple approach is to encode the video into a number
of streams of dierent bitrates, which users join to best match their bandwidth
requirements. Given the wide range of bandwidth requirements and limited num-
ber of video streams, this approach is clearly not satisfactory, resulting in many
receivers getting a stream substantially lower than their bandwidth requirements.
A much better approach is to use multiple description coding (MDC),
which encodes the video into multiple independent descriptions of dierent
1
Access Network
MDC video server and
description bandwidth
assignment
d
1
d
2
d
m
descriptions
i=1
K
ij
d
i
. (3.2)
We consider that bandwidth is normalized to some unit (say, 50 kb/s), and hence
c
j
and d
i
are integral. The heterogeneity factor h is dened as the dierence
between maximum and minimum user bandwidth requirement, i.e.,
h = max
j
c
j
min
j
c
j
+ 1. (3.3)
Dene r
j
the bandwidth matching factor given by the ratio of v
j
and c
j
, i.e.,
r
j
=
v
j
c
j
. (3.4)
Dene
m
(0, 1] as the coding eciency factor given m descriptions,
which decreases with m. We model user individual satisfaction as a monotonically
increasing function f in terms of r
j
m
. The individual satisfaction of user j, is
9
hence given by
S
ind
(
d, c
j
) = f (
m
r
j
) . (3.5)
Let n be the number of users in the network. The overall network satis-
faction is hence given by
S(
d) =
n
j=1
w
j
S
ind
(
d, c
j
)
n
j=1
w
j
. (3.6)
Our objective is then to nd optimal bandwidth assignment
d
so as to maximize
Equation (3.6) subject to Equations (3.1), (3.2), (3.4) and (3.5), i.e.,
S
= S(
) = max
d
S(
d). (3.7)
The problem is NP-hard (shown in the Appendix, by nding a polynomial
reduction from the subset sum problem).
10
Table 3.1: Major symbols used in the paper and their explanations.
Symbol Explanation
d
i
i
th
description bandwidth
m description number
n number of users
h heterogeneity factor
c
j
bandwidth requirement for user j
v
j
total joined video bandwidth
r
j
bandwidth matching factor, dened as
the ratio of v
j
and c
j
w
j
weight for user j, which represents the
user importance
m
coding eciency factor given mdescrip-
tions
base factor used to model coding e-
ciency factor
d
1
d
2
_
_
_ < r (we use l
1
-norm in the simulation).
At each iteration, SAMBA randomly picks a neighbor of the current state as the
target state, and decides whether or not to make the transition according to a
transition probability p.
We further dene a temperature T, which gradually decreases as the al-
gorithm iterates. The higher T is, the larger is the neighborhood radius r.
We then dene transition probability as follows. Denote the current state
by
d and target state by
d
t
. The energy dierence between the two states is given
by the dierence of their satisfaction value, i.e., S(
d) S(
d
t
). If S(
d) S(
d
t
) < 0,
14
the transition probability p is dened as 1. Otherwise, p is a decreasing function
of (S(
d) S(
d
t
))/T with initial value close to 1. Therefore, given T, the lower
the satisfaction of the target state is, the smaller is the transition probability.
Further, with large T, any target state has transition probability near 1.
At the early iterations when the temperature is high, SAMBA picks the
target state from a large neighborhood. Because the transition probability to
any picked state is high, the algorithm randomly moves among the states. As
the algorithm iterates, the temperature gets lower. SAMBA picks the target
state from a smaller neighborhood and the transition probability to a state of
lower satisfaction decreases. In other words, the algorithm gradually settles to a
neighborhood with locally-optimal satisfaction. By running SAMBA with dier-
ent initial states, we have great chance to nd the global optimum. The whole
algorithm can hence be summarized in the following steps:
Step 0: For the rst iteration, set the initial temperature value and the
initial state
d
0
. Find out initial satisfaction S
0
. Then set the highest satis-
faction S
max
= S
0
and its associated state
d
max
=
d
0
.
Step 1: Decrease the temperature value.
Step 2: Find a target state
d
t
in the neighborhood and evaluate its satis-
faction S. If S > S
max
, assign
d
t
and S to
d
max
and S
max
, respectively.
Step 3: Make the transition decision according to the transition probability.
Step 4: Repeat Steps 2 to 3 for a number C times.
Step 5: Set current state to
d
max
and repeat Steps 1 to 4 for a number K
iterations. Return S
max
and
d
max
.
The computational complexity of our algorithm is as follows. According
to Step 4 and Step 5, Steps 1 to 3 are repeated for KC times. The rst and the
third steps take constant computations while Step 2 has to calculate the overall
15
satisfaction for the target state. According to Equation (3.6), S is a weighted
sum of individual satisfactions S
ind
. Given
d and c
j
, evaluating each S
ind
becomes
an integer Knapsack problem and takes at most O(2
m
) time. Therefore, given n
users, Step 2 takes O(n2
m
) time. Thus the whole algorithm runs in O(KCn2
m
)
time.
In contrast, the exhaustive search has to evaluate S for all the states in
order to decide the optimal overall satisfaction. Each state (
d in sorted order) is
a combination of m integers in [1, max
j
c
j
]. The number of such combinations is
lower bounded by (max
j
c
j
)
m
/m!. Given Equation (3.3), we can further bound
the number of states by
(max
j
c
j
)
m
m!
h
m
m!
=
m
i=1
h
i
. (4.2)
SAMBA evaluates S for KC times, which is in general much smaller than
m
i=1
(h/i)
(e.g., K 100, C 10, h 100 and m = 4). This is why SAMBA is much more
ecient than exhaustive search.
So far, we are given the description number m. There is in fact an optimal
m to achieve maximum user satisfaction among all ms. This is expected as
m
is
a decreasing function in m (due to decreasing coding eciency) while r
j
is an in-
creasing function in m (due to better bandwidth requirement matching). Because
all the bandwidth requirements are fully matched if m is larger than the threshold
as given in Equation (3.5), the optimal m to achieve maximum user satisfaction
is bounded by the threshold. To search for the optimal description number, we
can run SAMBA for increasing m up to the threshold in the simulation.
16
5
Illustrative Simulation Results
In this section, we present illustrative simulation results to show the eciency of
our algorithm. In Section 5.1, we describe simulation environment. In Section 5.2,
we compare SAMBA with other bandwidth assignment schemes and examine the
inuence of some important factors.
5.1 Simulation Environment and Parameters
In our simulation, we have compared SAMBA with exhaustive search, which
always achieves the optimum. Besides, we have also compared SAMBA with
other simple bandwidth assignment schemes, which include uniform assignment
(in which all the descriptions have the same bandwidth), linear assignment (in
which the description bandwidths is linearly increased), and random assignment
(which randomly assigns bandwidth for each description).
We consider a simple user individual satisfaction function given by f (
m
r
j
) =
(
m
r
j
)
k
, where k R
+
. The function is reasonable as it is strictly increasing in
[0, 1] and the minimum and maximum are 0 and 1, respectively. For concreteness,
we consider coding eciency as
m
=
m1
, where < 1 (the value of depends
17
5 10 15 20 25 30 35 40 45 50
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
c
P
r
o
b
a
b
i
l
i
t
y
Figure 5.1: Example bandwidth requirement distribution c N
T
(10, 5).
on the underlying MDC techniques used).
We consider that the number of users of bandwidth requirement c is pro-
portional to some distribution given by N(c). We use a simple truncated normal
curve as the bandwidth requirement distribution, i.e., c N
T
(,
2
). Figure 5.1
show a truncated normal c N
T
(10, 5).
Each user has its importance, with weight w(c) as a function of band-
width requirement. According to Equation (3.6), simulation on w(c) with uniform
bandwidth requirement distribution is equivalent to simulation on N(c) with con-
stant weight. Therefore, we only focus on the inuence of N(c) and expect the
similar result for w(c).
Unless otherwise stated, we use baseline parameters k = 2, = 1, m = 3
and c
j
uniformly distributes in [1, 100]. The parameters in SAMBA are set as
follows. We have K = 100 and C = 10. The temperature T exponentially decays
18
10 20 30 40 50 60 70 80 90 100
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
h
S
SAMBA or Exhaustive Search
Uniform Rate
Random Rate
Linear Rate
Figure 5.2: Overall satisfaction (S) versus heterogeneity factor h given dierent
schemes.
with the number of iteration, i.e.,
T = e
i/K
e
1
, (5.1)
where i is the current number of iterations. The transition probability from state
d to a target state
d
t
is given by
p(
d,
d
t
) =
_
_
_
1, if S(
d
t
) > S(
d);
e
S(
d
t
)S(
d)
T
, otherwise.
(5.2)
5.2 Illustrative Results
Figure 5.2 plots the overall satisfaction S versus heterogeneity factor h given
dierent bandwidth assignment schemes. The satisfaction S is decreasing with h.
This is because it becomes more dicult to match the bandwidth requirements
if heterogeneity factor gets higher. In the graph, for each h, overall satisfaction
19
5 10 15 20 25 30 35 40 45 50
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
S
SAMBA or Exhaustive Search
Uniform Rate
Linear Rate
Random Rate
Figure 5.3: Overall satisfaction (S) versus mean value () given dierent schemes.
given by SAMBA overlaps with that given by exhaustive search, and is much
better than those given by the other schemes. SAMBA performs virtually the
same as exhaustive search.
Figure 5.3 plots the overall satisfaction S versus the mean value given
dierent bandwidth assignment schemes. If a scheme is robust to the variation
of bandwidth requirement distribution, its overall satisfaction should not change
much with dierent . From the graph, S given by SAMBA overlaps with that
given by exhaustive search and is not aected by the changes of . However,
S given by the other schemes is lower when is small. The comparison shows
SAMBA performs as well as exhaustive search and is robust when the bandwidth
requirement distribution changes.
Figure 5.4 plots the overall satisfaction S versus number of descriptions
m given dierent bandwidth assignment schemes. The overall satisfaction S
increases with m. This is because more descriptions can provide more options
of bitrates to meet dierent user bandwidth requirements. For each m, SAMBA
20
1 2 3 4 5 6 7 8 9 10
0
0.2
0.4
0.6
0.8
1
m
S
SAMBA or Exhaustive Search
Uniform Rate
Random Rate
Linear Rate
Figure 5.4: Overall satisfaction (S) versus description number (m) given dierent
schemes.
performs as well as exhaustive search
1
and much better than the other schemes.
The satisfaction of SAMBA nally settles to a value, because all the bandwidth
requirements are fully matched after m reaches the threshold.
We next examine the inuence of coding eciency. Figure 5.5 plots the
overall satisfaction S versus number of descriptions m given dierent . Given
decreasing coding eciency ( less than 1), the overall satisfaction rst increases
with m and then decreases with m. The reason is as follows. When m is small,
satisfaction is low because the bandwidth requirements are badly matched (i.e.,
r
j
is small). When m is large, satisfaction is also low because the coding eciency
is low (i.e.,
m
is small). Therefore, we expect the optimal m when the eect
of decreasing coding eciency and the eect of better bandwidth requirement
matching balances with each other. From the gure, we observe that the optimal
m becomes smaller when coding eciency decreases faster (i.e., is smaller). In
1
Due to high computational complexity, it becomes infeasible to nd overall satisfaction
using exhaustive search when m is large. Therefore, we only plot S given by exhaustive search
for m 3, which overlaps with S given by SAMBA.
21
1 2 3 4 5 6 7 8 9 10
0
0.2
0.4
0.6
0.8
1
m
S
beta= 1
beta= 0.95
beta= 0.9
beta= 0.85
beta= 0.8
Figure 5.5: Overall satisfaction (S) versus description number (m) given .
the MDC implementation, m should be chosen according to .
We then examine the inuence of k (the coecient to model satisfaction
function f). Figure 5.6 plots the overall satisfaction S versus description number
m given dierent k. S rst increases with m then decreases with m. This is due
to decreasing coding eciency (with = 0.85). And the optimal m is depending
on the choice of k. The reason is as follows. Function f has dierent convexity
with dierent k. When f is convex (k = 2), the satisfaction increases more
rapidly when the bandwidth matching factor r
j
approaches 1. In this case, users
emphasize more on high quality service. In the other case, when f is concave
(k = 0.5), the satisfaction increases more rapidly when r
j
is small, which implies
users emphasize more on the availability of the content. As a result, optimal m
may change given dierent k. For each m, satisfaction is lower if k = 2, because
x
2
x
0.5
for any x [0, 1].
We nally examine the inuence of bandwidth requirement distribution.
Figure 5.7, 5.8 and 5.9 plot the individual satisfaction S
ind
values for each band-
22
1 2 3 4 5 6 7 8 9 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
m
S
k= 0.5
k= 2
Figure 5.6: Overall satisfaction (S) versus description number (m) given k.
10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
c
S
i
n
d
Figure 5.7: Individual satisfaction (S) versus receiving bandwidth with c
N
T
(0, 10).
23
10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
c
S
i
n
d
Figure 5.8: Individual satisfaction (S) versus receiving bandwidth with c
N
T
(50, 10).
0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
c
S
i
n
d
Figure 5.9: Individual satisfaction (S) versus receiving bandwidth with c
N
T
(100, 10).
24
width requirement c given dierent distributions c N
T
(0, 10), c N
T
(50, 10)
and c N
T
(100, 10) respectively. From the gures, users with bandwidth require-
ments around have higher individual satisfaction. The reason is as follows. The
number of users N(c) is larger, if c is closer to . According to the Equation (3.6),
if N(c) is larger, S
ind
(
i
x
i
, t, m),
where the rst m+2 elements are user bandwidth requirements and the last one
is the description number. We further set (m) = 1 and let all users have the
same weight. Till this point, we have transformed the input of L
c
to that of L,
which obviously takes polynomial time.
The output of L is (d
1
, d
2
, . . . , d
m
, S), where d
i
is description bandwidth
and S is the optimal overall satisfaction. According to Equation (3.6), maximum
of S is 1 when all the bandwidth requirements are fully matched i.e., S 1. If t
is a subset sum in L
c
, t can be expressed as a linear combination of x
i
with zero
or one coecients. Then if we let descriptions have bandwidths (x
1
, x
2
, . . . , x
m
),
all the bandwidth requirements in L are fully matched. We thus have S = 1. In
other word, (x
1
, x
2
, . . . , x
m
, 1) must be one of the solutions of L. If we show it is
also the only solution, we can prove the equivalence between the outputs of L
c
30
and L, i.e., t is subset sum in L
c
L has output (x
1
, x
2
, . . . , x
m
, 1).
Now let d = (d
1
, d
2
, . . . , d
m
)
T
be the optimal descriptions bandwidth as-
signment for L. There exists a (m + 2) by m matrix A with each element a
ij
be
zero or one, such that
Ad =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
x
1
x
2
.
.
.
x
m
x
i
t
_
_
_
_
_
_
_
_
_
_
_
_
_
_
. (6.1)
By adding the rst m rows together, we have the following equation:
_
m
i=1
a
i1
,
m
i=1
a
i2
, . . . ,
m
i=1
a
im
_
_
_
_
_
_
_
_
_
d
1
d
2
.
.
.
d
m
_
_
_
_
_
_
_
_
=
m
i=1
x
i
. (6.2)
We claim that none of the
a
ij
equals zero. Because if it is true, we must
have a column of zero in A and a d
j
without any user joining it. In this case, we
can simply remove the column and the description. Then we have,
m
i=1
a
ij
1, (6.3)
for all j. And using the (m + 1)
th
row of matrix A, we have
m
i=1
x
i
(6.4)
31
=
_
a
(m+1)1
, a
(m+1)2
, . . . , a
(m+1)m
_
_
_
_
_
_
_
_
_
d
1
d
2
.
.
.
d
m
_
_
_
_
_
_
_
_
(6.5)
(1, 1, . . . , 1)
_
_
_
_
_
_
_
_
d
1
d
2
.
.
.
d
m
_
_
_
_
_
_
_
_
(6.6)
_
m
i=1
a
i1
,
m
i=1
a
i2
, . . . ,
m
i=1
a
im
_
_
_
_
_
_
_
_
_
d
1
d
2
.
.
.
d
m
_
_
_
_
_
_
_
_
(6.7)
=
m
i=1
x
i
, (6.8)
which implies, after some manipulations,
a
(m+1)j
= 1, (6.9)
and
m
i=1
a
ij
= 1, j. (6.10)
Since
m
i=1
a
ij
is the sum of rst m rows for column j, if it equals one,
theres exactly one entry a
ij
in this column with value one. Because there are
m such columns (or less than m if zero columns are removed), there are at most
m entries of value one in the top m rows of matrix A. Now if there is one row
containing two entries with value one, there must be at least one row with all zero
entries. It is equivalent to say that one of x
i
is zero, which is contradicting to our
assumption. Therefore, each row must contain exactly one entry with value one
(If the number of columns is less than m, there must be one row with all zero
entries leading to the same contradiction). By looking at the top m by m matrix,
32
we can conclude that
(d
1
, d
2
, . . . , d
m
) = (x
i
1
, x
i
2
, . . . , x
i
m
) , (6.11)
where the right hand side is a permutation of x
i
. In other word, the set x
i
is the
only solution which fully matches all the bandwidth requirements. Therefore, we
have proved the equivalence between output of L and L
c
. The transformation
between the outputs is obviously in polynomial time.
Therefore we conclude that there exists polynomial reduction from L
c
to
L and our problem L is NP-hard.
33