• 沒有找到結果。

2.1. LT Codes

Luby transform codes (LT codes) [1] are the first implementation of fountain codes.

Using these codes, the number of encoded symbols that can be generated from the source symbols is potentially limitless. This makes every receiver with different channel loss rate served simultaneously by a sender able to get sufficient packets to recover the message.

They are also called near-optimal erasure codes since the decoder can recover all k source symbols from any k(1 + ) encoded symbols with nearly the minimal overhead .

One of the important application areas for SLLT codes is multi-point multimedia streaming [2]. This is because the receivers with different bandwidth and transport latency can experience better playback quality simply by capturing more encoded symbols and the video providers do not have to take into account the channel conditions of individual receivers.

2.1.1. Encoding

An encoded symbol is produced by the following process:

1. Determine the degree 𝑑 of the encoded symbol according to the given degree distribution.

2. Choose uniformly at random 𝑑 distinct input symbols.

3. The encoded symbol is produced by performing bitwise exclusive-or on the all 𝑑 input symbols.

This process is repeated until enough encoded symbols are generated and sent.

4

2.1.2. Decoding

We can translate the relationship between encoded symbols 𝑐𝑖 and source symbols 𝑠𝑖 into the bipartite graph as shown in Figure 1. First, all encoded symbols with only one edge directly recover their unique source symbol 𝑠𝑖. The decoded source symbol 𝑠𝑖 then propagates the information to all the connected encoded symbols so that these encoded symbols can cut the edges to 𝑠𝑖 and update their values by performing bitwise exclusive-or with 𝑠𝑖. The decoding process iterates until there are encoded symbols with only one edge.

Figure 1 Decoding process of LT codes

2.1.3. Degree Distribution

The degree distribution of an SLLT code is a discrete probability function which defines the way how the degrees of encoded symbols are chosen. We know that encoded symbols with low degrees are necessary at the beginning of the decoding process. On the contrary, encoded symbols with high degrees are useful to recover the source symbols near the end of

5

the decoding process; however, they increase the average number of XOR operations used in the encoding and decoding process. Hence, the degree distribution affects not only the decoding performance of LT codes but also the coding complexity.

2.2. Customization of SLLT Codes using Evolutionary Strategies

Since the degree of an encoded symbol is determined according to the adopted degree distribution and the selection of the source symbols during the encoding process is uniformly random, the decoding performance of SLLT codes is solely determined by the number of source symbols and the degree distribution of encoded symbols. Besides, we assume that the number of source symbols is application-dependent, and hence, always defined by user, the decision variables of an SLLT code customization problem consist only of degrees and probabilities of the adopted degree distribution.

Based on the fact that the customization of SLLT codes is a non-convex, non-separable, continuous optimization problem with large number of decision variables, noisy fitness function evaluation and multiple local optima, we had to employ a search method able to cope with these characteristics in order to find SLLT codes with customized decoding performance. In our experiments, we chose to adopt the Covariance Matrix Adaptation Evolution Strategy (CMA-ES) [3] because it is a state-of-the-art randomized search method that has been proven to be successful on problems with all the above listed characteristics.

2.2.1. Statistical measurements of SLLT code perbformance

Hyytiä et al. [4 ] aimed to minimize one of the two conventional performance measurements: (1) average decoding failure rate when certain decoding overhead is received, and (2) average decoding overhead at certain constant failure rate (usually zero failure rate).

6

But these performance measurements are not sufficient, since different applications require the performance of the SLLT codes to be customized in different fashion and the bi-modal feature of the SLLT code decoding performance statistics.

To face this challenge, Diao [5] devised a novel performance model based on three performance measurements:

1. Decoding overhead {𝜀 | 𝜀 ≥ 0}: Ratio between the number of extra encoded symbols received and the number of source symbols

2. Decoding failure rate { 𝑟| 0 ≤ 𝑟 ≤ 1}: Fraction of the unrecovered source symbols 3. Tail probability of specific failure rate at specific decoding overhead {𝑇 =

[𝑃𝑟(𝑟(𝜀̂) > 𝑟̂)]}: Probability that the decoding failure rate is higher than the fixed threshold value 𝑟̂ when the code is decoded with an overhead 𝜀̂.

Among performance measurements, everyone can be considered the customization objective.

2.2.2. Goal Programming

Based on the statistical performance measurements 𝜀 , 𝑟 and 𝑇 defined in the Section 2.2.1, an user can customize the decoding performance of an SLLT code by coercing it to meet one or more performance criteria specified in terms of these measurements. In case of multiple criteria, the SLLT code customization can be viewed as a multi-objective optimization problem, since different decoding performance criteria are usually in a conflict.

The result of a multi-objective optimization problem is a set of Pareto-optimal solutions, in which all the members must be considered equally good if no additional preference information is available. In order to design an SLLT code customization method able to properly exploit the trade-off between different objectives among the members of the Pareto set, we employed a multi-objective optimization technique called goal programming [6] minimizing the weighted distance between the actual and target performance of given

7

SLLT code. In order to be able to employ the goal programming, we translated the s target points of the SLLT customization problem defined in the (𝜀 𝑟 𝑇)-space into one goal point defined in the s-dimensional objective space [Figure 2].

In goal programming, target point is expressed in a form of a set of goals 𝐺𝑖, i.e. a goal point. The distance from the goal point is measured in the objective space based on a weighted 𝓅-norm.

minx∈X F(x) ≜ {∑[wi⋅ |Fi(x) − Gi|]𝓅

i=1

}

1 𝓅

Where Fi(x) represents an achieved value on the i-th objective function, wi is its positive weight, ℒ denotes the number of goals.

The main drawback of goal programming variants employing the finite norms (𝓅 < ∞) is the inability to reach the solutions located in the non-convex parts of the Pareto surface.

Since in our case, the convexity of the Pareto surface for an arbitrary choice of decoding performance requirements cannot be guaranteed, we chose to employ the Tchebycheff goal programming [7] (𝓹 = ∞) to quantify the distance from the goal point.

Figure 2 Example of mapping two target points from the (𝛆 𝐫 𝐓)-space into a goal point in the objective space

8

Chapter 3. Design of Short-Length Raptor

相關文件