• 沒有找到結果。

適用於可調式視訊編碼的多點傳播技術上的無比率非均等抹除碼之編碼技術

N/A
N/A
Protected

Academic year: 2021

Share "適用於可調式視訊編碼的多點傳播技術上的無比率非均等抹除碼之編碼技術"

Copied!
65
0
0

加載中.... (立即查看全文)

全文

(1)

網路工程研究所

適用於可調式視訊編碼的多點傳播技術上的無比率非均

等抹除碼之編碼技術

Rateless Unequal Erasure Protection Coding Techniques Using on

H.264/SVC Video Multicasting

研 究 生: 沈子晉

指導教授: 邵家健 教授

共同指導教授:王忠炫 教授

中 華

華 民

民 國

國 九

九 十

十 九

九 年

年 七

七 月

(2)

ii

適用於可調式視訊編碼的多點傳播技術上的無比率非均等抹除碼之編碼技術

Rateless Unequal Erasure Protection Coding Techniques Using on H.264/SVC Video

Multicasting

研 究 生:沈子晉 Student:Tzu-Ching,Shen

指導教授:邵家健 Advisor:John Kar-Kin Zao

共同指導教授:王忠炫 Co-Advisor:C-H, Wang

國 立 交 通 大 學

網 路 工 程 研 究 所

碩 士 論 文

A Thesis

Submitted to Institute of Network Engineering College of Computer Science

National Chiao Tung University in partial Fulfillment of the Requirements

for the Degree of Master

in

Computer Science July 2010

Hsinchu, Taiwan, Republic of China

(3)

i

適用於可調式視訊編碼的多點傳播技術上的無比率非均

等抹除碼之編碼技術

學生:沈子晉

指導教授:邵家健 博士

共同指導教授:王忠炫 博士

國立交通大學網路工程研究所 碩士班

摘要

摘要

摘要

摘要

我們的目的在於建立一套用在可調式視訊編碼的多點傳播技術上的編碼機制,因為目前的 研究大多沒有提供具體的方法,說明如何實作出一套極短長度無比例特性之非均等抹除碼的編 碼系統,並且具有 (一)極佳的非均等保護能力以及良好的改錯能力 (二) 可調整不同層次保護 程度的能力 (三) 可調整不同保護能力所佔有的訊息量比例 (四) 可以實際應用在可調式視訊 編碼的多點傳輸上。 我們的編碼機制的組成包含了一個非均等前置的線性編碼器,一個交錯/多工器、和一個 非均等無比例後置編碼器,並且清楚地描述如何最佳化以及各部分的參數要如何調整搭配來達 成我們的目標。

(4)

ii

Rateless Unequal Erasure Protection Coding Techniques Using on

H.264/SVC Video Multicasting

Student: Tzu-Ching Shen

Advisor: Dr. John Kar-Kin Zao

Co-Advisor: Dr. C.-H. Wang

Institute of Network Engineering

National Chiao Tung University

ABSTRACT

In this thesis, we propose a rateless cascade channel coding system with Unequal Erasure Protection capability using on H.264/SVC transport for real time transport because so far most of researches does not provide a specific method about how to design a short-length rateless unequal erasure protection code which is (1) with good UEP capability and graceful degradation (2) each UEP layer size is adjustable (3) protection capability for each UEP layer is adjustable (4) the coding system is practical to use on a real H.264/SVC transport.

The coding scheme we provide in this thesis is composed by an UEP Precoder, Interleaver/Multiplexer, and an UEP rateless Postcoder, and we also describe how to design, adjust parameters to optimize performance of them.

(5)

iii

Content

摘要 ... i ABSTRACT ... ii Chapter 1. Introduction ...1 1.1 Research Objectives ...1 1.2 Research Approach ...1 1.3 Thesis Outlines ...2

Chapter 2. Technical Background ...3

2.1 Short-Length Rateless Erasure Correction Codes ...3

2.1.1 Digital Fountain Codes ...3

2.1.2 Short-Length LT Codes ...4

Chapter 3. Design Strategy ...7

3.1 Linear UEP Precoder ...7

3.2 Rateless UEP Postcoder ...8

3.3 Interleaver and Multiplexer ...9

Chapter 4. Optimization of Short-Length LT Codes Degree Distribution using Evolutionary Strategies ...12

4.1 LT Degree Distribution ...12

4.2 Optimization of Short Length LT Degree Distribution ...13

4.2.1 Algorithm Design ...14

4.2.2 Optimization Attributes and Parameter Adjustment ...14

4.2.3 Preliminary Results ...15

4.2.4 Observation ...20

Chapter 5. Design of Interleaver and Multiplexer ...21

5.1 Multiplexer Design ...21

5.1.1 Decoding Failure Probability of Linear UEP Block Precoder ...21

5.1.2 Error Bounds for Viterbi Decoding ...28

5.1.3 Realization ...29

5.2 Design of Interleaver ...31

5.2.1 Good Properties for Convolutional Decoding Process ...31

5.2.2 Objective Function for Interleaver Design ...34

5.2.3 Realization/Application ...36

Chapter 6. Realization of Rateless Cascaded UEP Codec ...44

6.1 Convolutional Precoder + Reed-Solomon Postcoder ...44

6.2 Convolutional Codes + Equal Erasure Protected LT Codes ...50

6.3 Convolutional Codes + Unequal Erasure Protected LT Codes ...53

(6)

iv

7.1 Accomplishment ...55 7.2 Future Work ...55

(7)

v

List of Figures

Figure. 1 : System Flow Chart ...1

Figure. 2 : Relations between source and output symbols of a Digital Fountain Code ...3

Figure. 3: BP Decoding Process ...4

Figure. 4 : Overall System Structure ...7

Figure. 5 : LT decoding result ...9

Figure. 6 : A simple example for Interleaver ...10

Figure. 7 : Histogram of LT decoding performance with different rateless overhead ...13

Figure. 8 : Average failure rate to different rateless overhead ...13

Figure. 9 : Decoding performance for No.1 degree distribution ...16

Figure. 10 : Decoding performance for No.2 degree distribution ...17

Figure. 11 : Decoding performance for No.3 degree distribution ...18

Figure. 12 : Decoding performance for No.4 degree distribution ...19

Figure. 13 : Comparison between four degree distributions ...20

Figure. 14 : Minimum Weight of Fundamental Path in Viterbi Decoding Process ...32

Figure. 15 : Error Distances in Postcoder Output Sequence...32

Figure. 16 : Sliding Window for Error Ratio Estimation ...33

Figure. 17 : Error Ratio before interleaving ...33

Figure. 18 : Error Ratio before interleaving ...34

Figure. 19 : Error Ratio boundary for different UEP layer ...36

Figure. 20 : Error distribution for Interleaver size 100Kbit ...38

Figure. 21 : Bit error rate for Interleaver size 100Kbit ...39

Figure. 22 : Error distribution for Interleaver size 50Kbit ...40

Figure. 23 : Bit error rate for Interleaver size 50Kbit ...41

Figure. 24 : Error distribution for Interleaver size 10Kbit ...42

Figure. 25 : Bit error rate for Interleaver size 10Kbit ...43

Figure. 26 : System flow chart for UEP Conv. PreCoder cascaded with Reed-Solomon Coder ...44

Figure. 27 : (10, 1)-Block interleaving to Reed-Solomon Coder ...44

Figure. 28 : Allocation for primary channel and secondary channel ...45

Figure. 29 : Comparison of Bit Error Rate among UEP Codes, football ...46

Figure. 30 : Comparison of Bit Error Rate among UEP Codes, foreman ...46

Figure. 31 : Latency-Distortion Tradeoffs of UEP Codes, football ...47

Figure. 32 : Latency-Distortion Tradeoffs of UEP Codes, foreman ...47

Figure. 33 : Comparison between Max. Latency UEP and RS Codes, football ...48

(8)

vi

Figure. 35 : Comparison between Min. Latency UEP and RS Codes, football ...49

Figure. 36 : Comparison between Min. Latency UEP and RS Codes, foreman ...49

Figure. 37 : System flow chart for UEP Conv. Precoder cascaded with LT rateless coder ...50

Figure. 38 : Block interleaver used in the Conv. UEP Precoder cascaded with LT rateless coder system ...50

Figure. 39 : Latency-Distortion Tradeoffs of LT Codes, football ...51

Figure. 40 : Latency-Distortion Tradeoffs of LT Codes, foreman ...51

Figure. 41 : Comparison between Max. Latency LT code and RS Codes, football ...52

Figure. 42 : Comparison between Max. Latency LT code and RS Codes, foreman ...52

Figure. 43 : Decoding flow chart for UEP Precoder + UEP LT Postcoder ...53

Figure. 44 : UEP Precoder + UEP LT Postcoder with interleaver size 100Kb ...53

Figure. 45 : UEP Precoder + UEP LT Postcoder with interleaver size 50Kb ...54

(9)

vii

List of Tables

Table. 1 Comparison between different objective function ...15

Table. 2 : Parameters in Viterbi decoding process ...35

Table. 3 : Parameters used in block interleaver design ...36

(10)

1

Chapter 1.

Introduction

1.1

Research Objectives

In this thesis, we propose a rateless cascade channel coding system with Unequal Erasure Protection capability using on H.264/SVC transport for real time transport. Scalable Extension of the H.264-AVC standard (commonly known as H.264-SVC or simply SVC) [1,2,3] supports spatial, temporal and fidelity

scalability by organizing a video bit stream into scalable layers that are related through adaptive inter-layer

predictions and hierarchical references. This multi-layer-structure of SVC bit streams enables different types of viewing devices to extract and decode different parts of the bit streams. In video streaming applications, H.264-SVC is often used to provide two useful services:

 Heterogeneous Multicast, in which coarse grain scalable (CGS) layers of an SVC bit stream are funneled to

viewing devices according to their display formats, processing power and network connectivity. This transport mechanism can incur dramatic saving of communication bandwidth when it is used to serve large clusters of viewing devices.

 Graceful Degradation, in which viewing devices are enabled to decode uncorrupted medium grain

scalable (MGS) layers of an SVC bit stream they receive through unreliable communication. This fault

tolerant mechanism can drastically improve video quality when it is deployed over wireless or peer-to- peer networks.

The Development of a short-length rateless unequal erasure protection (UEP) code that is designed to maximize graceful degradation effects of SVC multicasting over wireless LANs/MANs. Unlike existing researches, we provide a UEP rateless coding scheme which (1) with good UEP capability and graceful degradation (2) each UEP layer size is adjustable (3) protection capability for each UEP layer is adjustable (4) the coding system is practical to use on a real H.264/SVC transport.

1.2

Research Approach

(11)

2

To achieve our goals, we apply a system which is composed by an UEP Precoder, Interleaver/Multiplexer, and an UEP rateless Postcoder. We chose to employ unequal error/erasure protection and probabilistic rateless

coding techniques because of the following reasons those are related to needs of SVC multicasting,

 Channel and network codes with unequal erasure protection (UEP) capability are best suited for helping SVC bit streams to achieve rate-distortion optimized performance because the dependence relations existing among scalable layers cause the playback video quality to depend unevenly on successful recep-on of different layers ― generally, the base layer and other low-level layers are more essential for good quality playback than the upper layers.

 Rateless erasure correction codes (also known as Digital Fountain Codes [4,5]) are best suited for implementing tradeoffs between network throughput and transport latency for robust and good quality video streaming. This is because Digital Fountain Codes can produce variable amount of randomly coded symbols over time and allow the receivers to decode more source symbols simply by capturing more of the coded symbols.

In this thesis, challenges would be separate into two different parts, one is finding suitable codes for each part of our coders, and the second is optimization and match up each block in the coding system. Following chapters will elaborate on details about designs for each block.

1.3

Thesis Outlines

Chapter 2 summarizes some fundamental background which is needed to comprehend the thesis, including Digital Fountain Codes, and short length LT codes. Chapter 3 describes the role of our channel coding system of the whole H.264/SVC system. Chapter 4 provides a novel idea about optimizing LT codes, in Chapter 5, we gives a detailed analysis about how the erasure probability of output codeword sequences effects the UEP ability of input information sequence, and how to design an interleaver coupled with Precoder and Postcoder. Chapter 6 shows our experiment results about channel coding system design according to principles from previous chapters. And finally, and in the final chapter, we conclude and envision.

(12)

3

Chapter 2.

Technical Background

2.1

Short-Length Rateless Erasure Correction Codes

2.1.1

Digital Fountain Codes

Digital Fountain Codes are probabilistic erasure correction codes that allow an encoder to derived practically infinite amount of randomized output symbols from a fixed block of source symbols. They then permit the decoders to improving their successful decoding probability simply by capturing more output symbols. These codes are regarded as rateless codes because the ratios between the amount of source codes and output codes are not fixed rather they are determined by the decoding process. The encoding process of Digital Fountain Codes usually generates an output symbol by adding a random collection of source symbols over the finite field of the code. Both the number of source symbols (known as the degree distribution) and the selection of source symbols (expressed as the connectivity matrix) are determined by a pseudo-random process. On the other hand, the decoding process usually uses a belief propagation algorithm to recover the source symbols from the captured symbols. Success of decoding is not guaranteed; however, its probability can be enhanced simply by capturing more output symbols. Current, there are several implementations of Digital Fountain Codes including Luby Transform (LT) codes, Tornado codes and Raptor codes. [Figure. 2 : Relations between source and output symbols of a Digital Fountain Code] shows a systematic code that produces n output symbols from k source symbols by adding l redundant symbols to the source symbols.

(13)

4

2.1.2

Short-Length LT Codes

A Luby Transform (LT) code is completely defined by the number of source symbols K and its degree distributionP(d). The degree d of each output symbol is an arbitrary integer between 1 to K. Every block of source symbols has s symbols.

(A)

Rateless LT Codes

The LT encoding process of an output symbol Ci can bedivided into three steps:

1. Choose the degree d of an output symbol Ci according to the degree distribution.

2. Choose randomly and uniformly d distinct source symbols as the neighbors of output symbol Ci. Connections between output symbol Ci and its neighbors are also generated.

3. Perform addition on the values of all d source symbols as the value of output symbol Ci.

1 0 1 1 C1 C2 C3 C4 S3 S2 S1 Initial state 1 0 1 1 C2 C3 C4 S3 S2 S1 (1) S1=C1 (2) Remove C1 1 1 1 0 C2 C3 C4 S3 S2 S1 (1) C2=C2 xor S1 (2) C4=C4 xor S1 (3) Remove edges 1 0 1 S3 S2 S1 (1) S3=C2 End of decoding 1 0 1 1 C2 C3 S3 S2 S1 (1) C2=C2 xor S2 (2) C3=C3 xor S2 (3) Remove edges 1 0 1 1 C2 C3 S3 S2 S1 (1) S2=C4 (2) Remove C4 Iteration 1 Iteration 2 Iteration 3

Figure. 3: BP Decoding Process

An encoder operates step 1 through step 3 iteratively to generate each codeword. A simple LT encoding example of the output symbol C1 with d1=2 is depicted as [Figure. 3: BP Decoding Process]. After two source symbols S1 and S3 are chosen uniformly and randomly as neighbors of C1, the value of C1 is generated by performing addition on the values of S1 and S3. The generation of the first output symbol C1 is completed and C1 is sent to receivers.

(14)

5

(B)

Degree Distribution

The degree distribution is derived according to the released probability of an output symbol in BP decoding procedure. When K is fixed, the degree distributions of LT codes mainly influence not only the recovery probability of source symbols but also the complexities of encoding and decoding. Thus, a good degree distribution should have these properties:

1. High probability of recovering source symbols can be achieved with as few output symbols as possible.

2. Average connection number of source symbols should be as low as possible.

The first property is to minimize transmission bandwidth while the second property is to minimize complexities of encoding and decoding. Based on these two properties, a mathematical degree distribution called Soliton distribution Soliton (d) is derived. Notice that the probability of degree one in a Soliton distribution is 1/K that only one output symbol with degree one is generated in average. All output symbols with degree one can probably be erased during transmission. This follows that BP decoding fails to start. As a result, the robust Soliton distribution is developed for practical usage and it is described as follows:

(2) (1) 0 ) log( , , 2 , 1 1 ) ( K ) K ( log S         > = − ⋅⋅ ⋅ = = ≡ S K d for S K d for S K S S S K d for d K S d c e δ τ δ

The extra parameters c and δ are an arbitrary parameter and a bound of decoding failure probability respectively. In comparison with Soliton distribution, the robust Soliton distribution has higher probability of degree one to ensure that BP decoding succeeds with high probability.

(C)

Belief Propagation (BP) Decoding

After a receiver collects sufficient output symbols, belief propagation (BP) decoding which operates iteratively is able to start, every iteration can be divided into two steps:

1. Find output symbols with degree one. Assign their value to their neighboring source symbols and these source symbols are decoded. Remove output symbols with degree one.

int ( ) ( ) ( ) Sol on robust P d d P d Z τ + = (3)

(15)

6

2. Perform addition on each remaining output symbols with their neighbors which are already decoded. Remove these neighbors and connections from each codeword.

A receiver repeats steps 1 and 2 iteratively until source symbols are all decoded or there are no output symbols with degree one. A simple LT decoding example is illustrated in 0. Initially, four output symbols [C1, C2, C3, and C4] = [1, 0, 1, 1] are received to recover source symbols S1~S3 as follows:

1. C1 value is assigned to S1; C1 is removed and S1 is decoded. Addition is performed on C2 and C4 with S1 respectively. S1 is removed from the neighbors of C2 and C4.

2. C4 value is assigned to S2; C4 is removed and S2 is decoded. Addition is performed on C2 and C3 with S2 respectively. S2 is removed from the neighbors of C2 and C3.

3. C2 value is assigned to S3. C2 and C3 are removed. S3 is decoded and the BP decoding is completed.

(D)

Drawbacks

BP decoding may stop at an arbitrary decoding iteration when there is no degree-one output symbol left. The information contained in the remaining output symbols is unable to be exploited by BP algorithm. In the cases that the received output symbols cannot be decoded by BP, the remaining output symbols will mean a waste of transmission bandwidth.

(16)

7

Chapter 3.

Design Strategy

H.264 SVC (CGS) Encoder MGS Vectorizer Quality Layer Extractor UEP Precoder (conc/conv) Interleaver Rateless LT Encoder Packetizer Interleaver Rateless LT Encoder De-Packetizer Rateless LT Decoder De-Interleaver UEP Postcoder Recovered NAL Units Assembler Decodable NAL Units Assembler Distortion Estimator L o ss y Ch an n el S im u lat o r Base Layer (CGS) Enhancement Layer(s) [Optional] Performance Database Rate/Distortion Measurements Raw video (n Layers) (n Layers) m Input Blocks (N symbols) (m>=1 )

Each symbol may contain V bits (V>=1) W codewords (k Layers) (k Layers) D ro p s p a cke ts a cc o rd in g t o P L R( P a cke t L o ss Ra te ) Lo ss Co rr e la tio n

Source Coding Channel Coding Channel

Figure. 4 : Overall System Structure

3.1

Linear UEP Precoder

In our system, the main objective for Precoder is providing unequal erasure protection ability, and there are two different classes of codes can be candidates, block codes and convolutional codes. This section we will describe differences between block codes and convolutional codes, and summarize which of them will be the better choice for our system design.

We will only operate our convolutional codes on the GF2 , its decoding complexity is lower than other GFp. Unlike convolutional codes, we observe that for linear block codes, information size for different protection layer is quite differently, it means if we chose linear block codes to be our Precoder design, we have to separate our SVC input streams into different protection layers with different size, and

(17)

8

higher protection ability with lower ratio of all information size. Contrary to the linear block codes, convolutional codes can provide different protection layers with the same size.

In addition, convolution code does not restrict its codeword length but only ratio of input to output sequence length, which means that it is more flexible to couple with codeword size of rateless code. On the other hand, block size of a linear block codes is fixed by given a n, k-concatenation linear block code. The constraint made the design of interleaver much harder.

Error correction ability to convolution codes is positive correlated to memory size. The more memories used in convolutional codes, usually the higher recover ability it has. At the mean time, the decoding complexity for convolutional codes grows exponentially. That is the reason why the average separation value of convolution code is lower than the linear block codes because the limitation of memory used, and the average code rate of the convolution code is higher than the linear block code.

For equally protection layer size to couple with source coding system design, we intend to use convolutional codes for our Precoder, and we choose convolutional codes for following experiments according to coding tables form [6], which provides good performance with UEP ability. [Table. 1 : Parameters for convolutional codes in our system design]

Table. 1 : Parameters for convolutional codes in our system design

3.2

Rateless UEP Postcoder

The performance of Rateless Coder is determined by two factors,

1. Rx Symbol Inflation Ratio with respect to Rateless Encoder Input. 2. Design of degree distribution in Rateless Code.

If we define Δ to be Rx Symbol Inflation Ratio with respect to Rateless Encoder Input, which is rateless overhead, and ξΔ be the failure probability of Rateless code as Rx Symbol Inflation Ratio with respect to Rateless Encoder Input. By now we know that S,… can be decoded iff

(18)

9

Hence, probability of successful decoding of S is

p = P  ξΔ =σ− 1

n  =  pξdξ

ౢ 

 

If ξΔ has negligible variance, then

p 1 iff σ − 1

n ≤ ξ Δ 0 otherwise



The curve of the failure rate has usually shape similar to the one in [Figure. 5 : LT decoding result], x-axis represents the value of Δ and y-axis represents the failure rate.

Figure. 5 : LT decoding result

In our experiments, we observed that standard deviation of decoding failure rate for waterfall region is quite large, which implies the worst case of decoding result may be very terrible, we call that bimodal feature for decoding results. In the [Figure. 5 : LT decoding result], three dotted horizontal lines are cordons for decoding ability with respect to each UEP layer in the Precoder. Once error probability above the line, errors may not be recovered in the specific UEP layer, hence our design criteria for rateless coder is trying to find some degree distributions with trifling bimodal feature or lower failure rate to minimize the area above cordons.

3.3

Interleaver and Multiplexer

In our system, the interleaver is a bridge between the Precoder and the Postcoder, the main objective of using interleaver is trying to maintain the UEP features after cascaded two coders, interleaver is a permutation table relocating erasure indices and avoiding burst erasure event. In the decoding process, the statistical properties of rate-less Postcoder is not ergodic because the erasure probability of each input vector

(19)

10

is highly correlated then causes burst error events which Precoder cannot afford. Fortunately, our ensemble process of Postcoder are uncorrelated, it implies that we can design an interleaver with properties which are suitable for our Precoder.

Also, to minimize our decoding time procrastination and coupled with parameters in the source coding process, the interleaver has to adjust its size to one GOP, the minimal decodable unit of Scalable Video Coding, which means

   =1⋅ 

 is the code rate of Precoder.

Example

The first approach of our interleaver performs permutation to relocate the index of input symbol sequence and avoiding burst erasure event, we apply a classic block interleaver: the input data is written along columns and read along rows. The design of our block interleaver is different from traditional one since our Postcoder has UEP ability, and we have to keep this feature after interleaving.

An intuitive design is separating interleaver into several regions corresponded to our UEP layer counts of Postcoder, each region performs indices relocation individually. In other words, the specific region contains all indices from the same UEP layer of Postcoder.

݉ܽݔሼܩܱܲܵ݅ݖ݁ሽ ܴ ⋅ ݇2

݇2

(20)

11

[Figure. 6 : A simple example for Interleaver] gives an example that rate-less Postcoder has two different protection ability parts, the more significant part has lower average erasure probability compare with the less significant part. To keep this feature after interleaving, we also separate the interleaver into two different regions, called more significant region and the less significant region with respect to the Postcoder.

(21)

12

Chapter 4.

Optimization of Short-Length LT Codes Degree Distribution

using Evolutionary Strategies

4.1

LT Degree Distribution

There are two major reasons we have to do optimization for the LT degree distribution, the first reason is from our observation of experiment results: The burst error event, which exist in short-length LT decoding results because its block length is not infinity. It is a special feature correlated to decoding-case distribution, although the average failure probability is very low, it does not guarantee each of failure probability is very low, the erasure probability is either close to zero or close to the one. When some case with large enough erasure probability, its behavior is similar to burst error. In this iteration, LT decoder equivalently introduces a burst error channel behavior that is harmful for our Postcoder design.

As we know, during the waterfall region, different decoding iteration with the same epsilon value has bimodal recover probability. In other words, standard deviation of erasure probability of the waterfall region are quite large, it forced us to find some better degree distribution to eliminate this phenomenon. The second reason is for a better performance, minimizing the failure rate. The two objectives are equivalent to fine a kind of degree distribution: the lower failure rate (failure probability) at the same epsilon value compared with the old one, with no bimodal decoding results. To optimize the failure rate we apply an evolutionary strategy called CMA-ES (Covariance Matrix Adaptation).

(22)

Figure. 7 : Histogram of LT decoding performance with different rateless overhead

Figure. 8 :

4.2

Optimization of Short Length

An important step in the development of Rateless UEP Channel Codes is to design short data length Rateless Erasure Corrections Codes that exhibit good tradeoff between received symbol counts and decoding failure

0.05 0.11 E p silo n 0.00 0.20 0.40 0.60 0.80 0 .0 5 0 .0 6 0 .0 7 13

Histogram of LT decoding performance with different rateless overhead

: Average failure rate to different rateless overhead

of Short Length LT Degree Distribution

An important step in the development of Rateless UEP Channel Codes is to design short data length Rateless Erasure Corrections Codes that exhibit good tradeoff between received symbol counts and decoding failure

0.11 0.17 0 200 400 600 800 1000 5 0 2 0 0 3 5 0 5 0 0 6 5 0 8 0 0 9 5 0

Unrecoverable symbol counts (with blcok length 1000)

0 .0 7 0 .0 8 0 .0 9 0 .1 0 0 .1 1 0 .1 2 0 .1 3 0 .1 4 0 .1 5 0 .1 6 0 .1 7 0 .1 8 0 .1 9 0 .2 0 Failure Rates

Rates (ALL) Rates (<25%)

Histogram of LT decoding performance with different rateless overhead

An important step in the development of Rateless UEP Channel Codes is to design short data length Rateless Erasure Corrections Codes that exhibit good tradeoff between received symbol counts and decoding failure

1000 S u cce ss fu l C o u n ts ( in 1 0 0 0 ca se s)

Unrecoverable symbol counts (with blcok length 1000)

(23)

14

rates. Since the beginning of 2009, the research team has been trying to design these codes by searching for the optimal degree distribution of short data length LT codes using an evolutionary strategy based on covariance matrix adaptation (CMA-ES).

4.2.1

Algorithm Design

In our initial experiments with the goal to find the optimal degree distribution, the initial LT parameters we set is about two things as following,

 Tag number for different kind of connection counts  Tag value for connected input symbol counts

We set the number of tags equal to 10, actually in the short length LT codes design, this number will be set around 10 to 30 because more tag counts does not give the better performance, another reason for our experiments are the variable counts: For CMA-ES, fewer parameters are easier to be controlled.

The tag values (e.g. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) represent the number of input symbols connected to one output symbol and were assigned to numbers (mainly primes) between 1 and 200 with dense distribution at the beginning. As the values of tags become higher the tag distribution is becoming more and more spars (according to empirical results this pattern seems to be the most suitable). In all our experiments were LT blocks consisting of 1000 symbols.

4.2.2

Optimization Attributes and Parameter Adjustment

We performed experiments with various optimization criteria and parameter values. Four experiments with the promising results are summarized in the table below.

No Optimization (minimization) attribute 

1 Failure rate (number of undecoded symbols within block) of LT blocks, which after

decoding had at least half of the symbols correct (500 out of 1000).

0.05

2 Failure rate (number of undecoded symbols within block) of all the LT blocks. 0.15 3 Cumulative failure rate after taking into consideration following weights:

Failure Rate <200 <200 <200 <200 >200 >200 >200 >200

0.05 0.1 0.15

(24)

15

 0.05 0.1 0.15 0.2 0.05 0.1 0.15 0.2

Weight 1 2 3 4 6 7 8 10

0.2

4 Cumulative failure rate after taking into consideration following weights: Failure Rate <200 <150 <100 <50 >200 >150 >100 >50  0.05 0.1 0.15 0.2 0.05 0.1 0.15 0.2 Weight 1 1 1 1 4 4 4 4 0.05 0.1 0.15 0.2 Table. 2 Comparison between different objective function

The first objective function is trying to minimize the failure rate averaged by trails which has more than half of the symbols correct because LT decoding process has the bimodal feature, and the second objective function is trying to minimize the overall failure probability from an intuitive thinking. The last two objective functions are applying the concept of weighting.

4.2.3

Preliminary Results

[Figure. 9 : Decoding performance for No.1 degree distribution] to [Figure. 12 : Decoding performance for No.4 degree distribution] show histograms of four cases mentioned in the previous section.

(25)

Figure. 9 : Decoding performance for No.1 degree distribution 1.0E-02 1.0E-01 1.0E+00 0 .0 5 0 .0 6 16

: Decoding performance for No.1 degree distribution 0 200 400 600 800 1000 0.05 0.20 0.35 0.50 0.65 0.80 0.95 O cc u ra n ce C o u n t (o v e r 1 0 0 0 T ri a ls ) Failure Rates 0 .0 7 0 .0 8 0 .0 9 0 .1 0 0 .1 1 0 .1 2 0 .1 3 0 .1 4 0 .1 5 0 .1 6 0 .1 7 0 .1 8 0 .1 9 0 .2 0

Rates (ALL) Rates (<25%)

0

.2

(26)

Figure. 10 : Decoding performance for No.2 degree distribution 1.0E-02 1.0E-01 1.0E+00 0 .0 5 0 .0 6 17

: Decoding performance for No.2 degree distribution 0 200 400 600 800 1000 0.05 0.20 0.35 0.50 0.65 0.80 0.95 O cc u ra n ce C o u n t (o v e r 1 0 0 0 T ri a ls ) Failure Rates 0 .0 6 0 .0 7 0 .0 8 0 .0 9 0 .1 0 0 .1 1 0 .1 2 0 .1 3 0 .1 4 0 .1 5 0 .1 6 0 .1 7 0 .1 8 0 .1 9 0 .2 0

Rates (ALL) Rates (<25%)

: Decoding performance for No.2 degree distribution

0

.2

(27)

Figure. 11 : Decoding performance for No. 1.0E-03 1.0E-02 1.0E-01 1.0E+00 0 .0 5 0 .0 6 0 .0 7 18

: Decoding performance for No.3 degree distribution 0 200 400 600 800 1000 0.05 0.20 0.35 0.50 0.65 0.80 0.95 O cc u ra n ce C o u n t (o v e r 1 0 0 0 T ri a ls ) Failure Rates 0 .0 7 0 .0 8 0 .0 9 0 .1 0 0 .1 1 0 .1 2 0 .1 3 0 .1 4 0 .1 5 0 .1 6 0 .1 7 0 .1 8 0 .1 9

Rates (ALL) Rates (<25%)

degree distribution 0 .1 9 0 .2 0

(28)

Figure. 12 : Decoding performance for No.4 degree distribution 1.0E-03 1.0E-02 1.0E-01 1.0E+00 0 .0 5 0 .0 6 0 .0 7 19

: Decoding performance for No.4 degree distribution 0 200 400 600 800 1000 0.05 0.20 0.35 0.50 0.65 0.80 0.95 O cc u ra n ce C o u n t (o v e r 1 0 0 0 T ri a ls ) Failure Rates 0 .0 7 0 .0 8 0 .0 9 0 .1 0 0 .1 1 0 .1 2 0 .1 3 0 .1 4 0 .1 5 0 .1 6 0 .1 7 0 .1 8 0 .1 9

Rates (ALL) Rates (<25%)

: Decoding performance for No.4 degree distribution

0 .1 9 0 .2 0

(29)

20

The degree distributions produced by the four experiments as well as that of the Soliton distribution are shown in [Figure. 13 : Comparison between four degree distributions].

Figure. 13 : Comparison between four degree distributions

4.2.4

Observation

From these results, we can see that the four obtained degree distributions have probability of the second tag higher than probability of the first tag. The second important observation is that almost all the tags with significant probability lie in the interval [1, 19].

We plan to focus on experiments with the degree distributions consisting of more than 10 tags. We also plan to calibrate the weights assignment and elaborate the children selection in the evolutionary part of our algorithm. Since we observed that distributions with the probability of the second tag higher than the probability of the first tag are generating good results, we might want to prefer the children with this feature to be selected as parents for the next generation.

0.00 0.10 0.20 0.30 0.40 0.50 0.60 1 2 3 4 5 7 9 19 59 179

(30)

21

Chapter 5.

Design of Interleaver and Multiplexer

5.1

Multiplexer Design

5.1.1

Decoding Failure Probability of Linear UEP Block Precoder

In this chapter we would like to describe how different erasure events caused by channel effect each input symbol’s decoding result. We first consider when and which condition causes input symbols recover failures, without taking probabilities of different erasure events into account. The second part of the chapter will give a precise upper bound of erasure probability for each input symbol, and we deduce a special case suitable for our system at the end of this chapter.

(A)

Deterministic Analysis

Consider an n, k linear block codes consisting of symbols over GFp . Let  be the input codeword and  be the output codeword that are generated from  with the use of G :

 = ⋅ G .

For 0 < ≤ 2− 1 , is an integer.

Also, let G̅ be the degenerated Generator Matrix derived from G after puncturing  columns, and ̅ is the collection of indices of punctured columns of G , the cardinality of ̅ is | ̅| =  .

Lemma 1 [Decoding Failure, Special Case]

The k Input symbol s cannot be recovered if k row of G̅ is zero (that is, all its entries are zero).

Proof: Let=s, s, … , s and  ="s, s, … , s′# be two input codewords that differ only at

their k symbol "i. e. s ≠ s′# . Also, assume and  be the two corresponded received output codeword generated by G̅=$ g g g g ⋮ g F g … … g( ) g( ) … ⋮ g( ) % G̅ is the degenerated Generator Matrix of G , which means

(31)

22

=⋅ G̅

 =⋅ G̅ and their corresponded transmitted codewords are

=⋅ G

=⋅ G

 and  are differ at those positions which related to k symbol of  and  because other positions

of  and  are the same.

If  = , it implies that after puncturing,  and  have been removed all of positions those related to s , which means those punctured columns ̅ covers all positions which value is equal to 1 of row k.

Therefore, as &covers all positions of row k equals to 1, we are not able to recognize whether our receiving

codeword is encoded from  or  since = . 

Proposition 1 [Decoding Failure, General Case]

The k input symbol s cannot be recovered if there exists a family of rows of G̅ except the k one, which is linearly dependent with k row of G̅ .

Proof: Let ',', … ,' are d rows of G̅ which are linear dependent, by definition that there exist a vector  = (,(, … ,(  , s'+('+ ⋯ +( '= 0 , we assume ' is the k row of G̅ without loss of generality. Then,

s+ s&  ⋅ ' +s+ s&  ⋅ ' + ⋯ +s!+ s&  ⋅ '!  = 0

where s& is the additive inverse of s"  , for 0 < < ),

s⋅'+ s⋅'+ ⋯ + s!⋅' + s& ⋅ ' + s& ⋅ ' + ⋯ + s& ⋅ '!  = 0

Therefore,

s& ⋅ ' + s& ⋅ ' + ⋯ + s& ⋅ '!  = 0

There exists an input vector s& , s & , … , s &  which is different from s* will generate the same output codeword ! by G̅ . In this case we are not able to recognize the original input value of these positions,

(32)

23

(B)

Probabilistic Analysis

Lemma 2

Let p be the probability that k input symbol s cannot be recovered, also let e be the erasure probability of i column of G , then

+# ≥ , e

∀,౪౞$%& '( %')  '( * + 

Proof: Let +̅,# be the probability that -,- row of G̅ is zero, it is clearly that +̅,# ≤ , e

∀,౪౞$%& '( %')  '( * + 

, | ̅| ≥ i

The equality hold when | ̅| = i with each related entry to G is 1.

According to Lemma 1, it is only a special case of decoding failure so that the real unrecoverable probability +# = +̅,# + C C ≥ 0. Therefore, +# ≥ +̅,# which implies +# ≥ , e ∀,౪౞$%& '( %')  '( * +  

Definition Given an n, k linear block code / , consider two codewords 0 and 0. belong to / , Hamming

distance)/0, 0′ is the number of distinct components in 0 and 0., and

)/0, 0′ = 1/0 − 0′

1/0 − 0′ is called Hamming weight of vector 0 − 0..

Definition Consider an n, k linear block code / , minimum weight of code / is 101/ = min2∈3 1/0

And minimum distance of code / is,

(33)

24 = 345 2,2ᇲ3150 − 0. = 345 6∈3,67156 =101/

Definition Consider an n, k linear block codes / , its Weight Enumerator is defined by

AZ = 7 80⋅90

 0

, 0 ≤ i ≤ n

Where 80 is the number of codewords of weight  .

Definition Consider an encoding : of an n, k linear block codes / , the separation vector of : with respect to a weight function ; , is denoted by

8:0 ≜101<:3 − :3.: 0≠0.=, 1 ≤ ≤ -

Where 3 and 3. range over ># It implies

8:0=101<:3: 0 ≠ 0=

Definition Consider an n, k linear block codes, its k-weight enumerator is defined by

A# Z = 7 80# ⋅90

 0

Where 8# 0 is the number of codeword with weight  , being encoded from all input symbols except the k position is zero, for 0 ≤ i ≤ n , that is

8# 0 =?@1/":3# = @: #≠ 0A

Definition Consider an n, k linear block codes / , /# is a subset of / that /# :3: # ≠ 0

And we also define that

(34)

25

Proposition 2 [Symbol failure rate as transmitting over an EEP channel]

Let :# be the failure probability of B;< position of input vector over an EEP Binary Erasure Channel, then

:# ≤C 1 2D 1= ⋅8# EF + 1 −+G

Proof: By our definition, :# is the probability that an erasure event occurs after decoding (decoding failure) by transmitting codeword of Precoder 0>, for all 0> corresponded to input vector ? those k position is not equal to zero, which can be written as

:# = 7 PrH I |0> ሺౡషభሻ   ⋅ Pr0> It is clear that :# = 7 PrJK ≠ 0>|0> ሺౡషభሻ   ⋅ Pr0> = 7 E7 Pr?JK = 0@|0>A 7 G ሺౡషభሻ   ⋅ Pr0> J is the received symbol corresponded to 0> , JK is the decoding result of J , and

Pr?JK = 0@|0>A = PrLM?)/"0>,0@# ≤ )/"0>,0@#A A7B |0>N ≤ Pr?)/"0>,0@# ≤ )/"0>,0@#|0>A = Pr? ≥ 1/"0>−0@#A,

 is the number of erasure positions of vector 0>−0@ with value ‘1’, and

Pr? ≥ 1/"0>−0@#A =1 2⋅ 7 O − 1/"0>−0@#  − 1/"0>−0@#P ⋅ + C1 − +1 C 1 CDಹE2࢏ 2࢐F =1 2⋅+DಹE2࢏ 2࢐F⋅ 7 O − 1/"0>−0@#  − 1/"0>−0@#P ⋅ + C DಹE2࢏ 2࢐F1 − +1 C 1 CDಹE2࢏ 2࢐F ≤1 2⋅+ DಹE2࢏ 2࢐F 7 O − 1/"0>−0@#  − 1/"0>−0@#P ⋅ + G1 DಹE2࢏ 2࢐FH  ⋅1 − + G1 DಹE2࢏ 2࢐FH  1 CDಹE2࢏ 2࢐F

(35)

26 =1 2⋅+ G1=DಹE2࢏ 2࢐FH  ⋅1 − + G1 DಹE2࢏ 2࢐FH  ⋅ 7 O − 1/"0>−0@#  − 1/"0>−0@#P 1 CDಹE2࢏ 2࢐F ≤+ G1=DಹE2࢏ 2࢐FH  ⋅1 − + G1 DಹE2࢏ 2࢐FH  ="+1 − +# 1 C + 1 −+D DಹE2࢏ 2࢐F 

+ is the erasure probability of Binary Erasure Channel, thus Pr?JK = 0@|0>A ≤ Pr? ≥ 1/"0>−0@#A ="+1 − +# 1 C + 1 −+D DಹE2࢏ 2࢐F  ="+1 − +# 1 EF + 1 −+G ಹE2࢏,2࢐F Thus, :# ≤ 7 Q7"+1 − +# 1 EF + 1 −+G ಹE2࢏,2F 7 R ሺౡషభሻ   ⋅ Pr0> ="+1 − +# 1  7 Q 7 8# EF + 1 −+G ! ಹE2࢏,2࢐F7 R ⋅ Pr0> ሺౡషభሻ   ="+1 − +# 1  7 Q8# EF + 1 −+GR⋅ Pr0> ሺౡషభሻ   ="+1 − +# 1 8# EF + 1 −+G⋅E 7 Pr0> ሺౡషభሻ   G ="+1 − +# 1  2 ⋅8# EF + 1 −+G ≤C1 2D 1= ⋅8# EF + 1 −+G

(36)

27

Proposition 3 [Symbol failure rate as transmitting over an UEP channel]

Let :# be the failure probability of B;< position of input vector over an UEP Binary Erasure Channel, then

:# ≤ 1 2⋅ 7 E , I Jೞ G 6∈3ೖ

Where 0 is the erasure probability of output symbol at i position.

Proof: It is similar to Proposition 2, let :# is the probability that an erasure event occurs after decoding (decoding failure) by transmitting codeword of Precoder 0>, for all 0> corresponded to input vector ? those k position are not equal to zero, which can be written as

:# = 7 E7 Pr?JK = 0@|0>A B70 G EౡషభF  0 ⋅ Pr0> JK is decoded result as receiving output codeword vector J .

Pr?JK = 0@|0>A = Pr?PrJ|0> < Pr?J|0@AA ≤ PrSPrr|0> ⋅ Prr|0> ⋅ … ⋅ Prr|0>1 < Pr Sr|"0@#T ⋅ Pr Sr|"0@#T … Pr Sr|"0@#KTT = PrU , Pr?r+|cB+A E2࢐F72࢏ ೞ − , Prr+|c0+ E2࢐F72࢏ ೞ > 0V =1 2⋅ , Prr+ is erasured E2࢐F72࢏ ೞ

The difference between Proposition 2 and Proposition 3 is each position of output codeword has the same erasure probability in the Proposition 2, on the other side, the erasure probability of each output codeword could have different erasure probability in the Proposition 3 (i.e. e be the erasure probability of i position of output codeword), and

1 2⋅ , Prr+ is erasured E2࢐F72࢏ ೞ =1 2⋅ , I 2࢏ ೞ E2࢐F Therefore,

(37)

28 :# ≤ 7 E7 E 1 2⋅ , Prr+ is erasured E2࢐F72࢏ ೞ G B70 G EౡషభF  0 ⋅ Pr0> ≤ 7 E7 E1 2⋅ , I 2࢏ ೞ E2࢐F G B70 G EౡషభF  0 ⋅ Pr0> =1 2⋅ 7 E 7 , I Jೞ Dಹ6 7, 6∈3ೖ G EౡషభF  0 ⋅ Pr0> =1 2⋅ 7 E , I Jೞ G 6∈3ೖ

W# is the collection of codewords that encoded by input vectors those k position are not equal to zero. 

5.1.2

Error Bounds for Viterbi Decoding

The correct path of trellis diagram in Viterbi decoding process is eliminated for the first time in favor of an incorrect path at time unit t, we say that is the First event error represents as P(E, t.

Let’s consider the first event error probability over a symmetric binary erasure channel. If we define the set E=?E,,,A , E,,,A , … , E,,,A A is a collection of  error events off the correct path at time unit − 0 occurs at time unit . According to the union bound,

P(E, t = Pr L X E

L,൫೟,೗೔൯∈L౪

N ≤ 7 PrE

L,൫೟,೗೔൯∈L౪

Where Pr?H0,,,A A is the probability that decoder prefers error event  to the correct path at time unit t. Pr?E,,,A A = Pr?0K,,A =0>,,,A |0(,,A)A

0>,,,A೔ is the incorrect codeword vector with length 0 which is off the correct path at time unit − 0 , and 0K,,A is the decoded result corresponded to the receiving output sequence J,,A , then

Pr?E,,,A A = Pr?Pr?J,,A |0(,,A)A < Pr?J,,A |0>,,,A AA

≤1

2⋅ , Prr+ is erasured

M೔ೞ7Mೞ

(38)

29 P(E, t ≤ 7 E1 2⋅ , Prr+ is erasured M೔ೞ7Mೞ G L,൫೟,೗೔൯ ∈L =1 2⋅ 7 E , I M೔ೞ Mೞ7 G L,൫೟,೗೔൯ ∈L =1 2⋅ 7 E , I M೔ೞ,೗೔ G Dಹ2࢏ 7

Because this bound is independent of t,

P(E ≤1 2⋅ 7 E , I M೔ೞ G 2࢏∈3ೖ =1 2⋅ 7 E, I Jೞ G 6∈3ೖ

5.1.3

Realization

The objective of using multiplexer in our coding scheme is trying to let the UEP layers of system be adjustable. By the requirements from the MGS encoder in the source coding part, MGS coder would ask for some expected protection layer counts and bit error rate with respect to each layer. Unfortunately, by given finite choices of Precoder and Postcoder, the possible combinations of them may not able to provide an optimal coding scheme for the source coding part, therefore we need a channel coding scheme which its UEP layers are adjustable, including bit error rate and layer counts. The next paragraph will describe how to adjust bit error rate and create more UEP layers by multiplexer.

If Precoder can provide enough layers which is equal to overall required UEP layer counts, that means we just need to adjust the protection ability of each layer to match MGS coder’s requirement. According to the formula proved in Section5.1.2, we know that

:# ≤ 1 2⋅ 7 E , I Jೞ G 6∈3ೖ

(39)

30

If we consider an LT codes with two protection layers with respect to erasure probability eN and e'), which eN> e') , I∈YeN, e')Z. And the bit error rate for layer k of UEP Precoder is ℒ. Then, in order to match up the requirement for SVC coder, multiplexer would proceed as following ways,

Step.1 Spread out the inequality for all k Step.2 Find the dominated term for each layer.

[If we would like to adjust down ℒ, the dominate term might be some common terms of 0 , which i position lots of 6 ∈ /# is ‘1’]

[If we would like to adjust up ℒ, the dominate term might be the term with lower exp] Step.3 assign eN or e') to the dominate term with respect to the ℒ be higher or lower

Step.4 Find the dominate term for each layer again. [Because after some I are determined after step.3, that would change I to be a constant]

Step.5 Repeat from Step.2 until all I are assigned a specific value.

After multiplexing, we need to use our formula to check whether for all k, :# is match our requirement.

Example

Consider a4,3 linear block codes with generator matrix

G =[

1 0 0 0

0 1 0 1

0 0 1 1

\

And the Rateless Postcoder has two UEP layer, with respect to the bit error rate 10  and 10 K, if these two layers both has the same proportion of information, then the goal of Case.1 is trying to make the UEP behavior more obviously, and the Case.2 is trying to minimize the average bit error rate of three layers.

e e eK eO Case.1 10  10  10 K 10 K Case.2 10 K 10 K 10  10  C1 (1 0 0) (1 0 0 0) ]+]]P]Q+]]]Q+]]]P (1 0 1) (1 0 1 1) Case. 1 ∶ 10 + 10 R+ 10 S+ 10 S (1 1 0) (1 1 0 1) Case. 2 ∶10 K+ 10 S+ 10 R+ 10 R

(40)

31 (1 1 1) (1 1 1 0) C2 (0 1 0) (0 1 0 1) ]]Q+]]P+]]]Q+]]]P (0 1 1) (0 1 1 0) Case. 1 ∶ 10 O+ 10 O+ 10 S+ 10 S (1 1 0) (1 1 0 1) Case. 2 ∶10 O+ 10 O+ 10 R+ 10 R (1 1 1) (1 1 1 0) C3 (0 0 1) (0 0 1 1) ]P]Q+]]P+]]P]Q+]]]P (0 1 1) (0 1 1 0) Case. 1 ∶ 10 T+10 O+ 10 R+ 10 O (1 0 1) (1 0 1 1) Case. 2 ∶10 + 10 O+ 10 S+ 10 R (1 1 0) (1 1 1 0)

5.2

Design of Interleaver

5.2.1

Good Properties for Convolutional Decoding Process

This section will describe how the erasure channel behavior effect the performance of Convolutional decoder, that is Viterbi decoding process, once we knew which kind of erasure events will damage the performance of Viterbi decoding, we can design a suitable interleaver avoiding these bad erasure events which Viterbi decoding cannot afford.

In Viterbi decoding process, we say a fundamental path is a path start from all-zero path and end the all-zero state without intermediate return. The error event in the Viterbi decoding is that the correct path is eliminated in favor of the incorrect path. It is equivalent to the event that transmitting an all-zero sequence and the survivor path is a fundamental path which is not the all-zero one, the error event will occur when all coded bit on this fundamental path are erased.

Consider an n, k Convolutional codes, if we define the fundamental path with the minimum Hamming weight of coded bit as event E , also the length of E is branch = n ⋅ bit and the Hamming weight of coded bit of E is H8.

Example

Given an 5,3 Convolutional codes and E in [Figure. 14 : Minimum Weight of Fundamental Path in Viterbi Decoding Process], in other words there is no fundamental path which Hamming weight of coded bit is larger than E ,

(41)

32

Figure. 14 : Minimum Weight of Fundamental Path in Viterbi Decoding Process

with length of E:  = 5branch = 25(bit) and the weight of E: ; = 4. 

Unfortunately the erased positions after LT decoding is too concentrate. [Figure. 15 : Error Distances in Postcoder Output Sequence] gives a simple example shows the error distance behavior before and after doing block interleaving, with 100 LT code blocks and rateless overhead 0.11, the interleaver block size is 0.1M bit. It is clear that the system with interleaver has smaller average distance of errors, and cases for continuous errors and cases with small error distance are decreased after interleaving.

Figure. 15 : Error Distances in Postcoder Output Sequence

The thing that our interleaver need to do is trying to avoid more than ; erased positions gather within a section of path with length  but spread over the whole output codeword sequence, because when there exist a section of length  with more than ; erased positions, the error event may occur.

0 200 400 600 800 1000 1200 1400 1600 1 11 21 31 41 51 C a s e C o u n t s Distance Distance between Errors

(42)

33

To approach the goal, we have to know how erasure positions distribute over the output codeword sequence, we apply the Sliding Window, sliding from the first position of output codeword sequentially.

Figure. 16 : Sliding Window for Error Ratio Estimation

We called Error Ratio is the density of erasure counts in the sliding window that

Error Ratio ≔#error in sliding windows sliding window size

And the sliding window index is the index of first symbol in the sliding window. As [Figure. 17 : Error Ratio before interleaving] and [Figure. 18 : Error Ratio before interleaving] , it is clear that how errors distributed over the output codeword sequence before and after interleaving.

Figure. 17 : Error Ratio before interleaving

Before Interleaving

Window index start for LT output sequence (with window size 50 bits)

0 1e+4 2e+4 3e+4 4e+4 5e+4 6e+4 7e+4 8e+4 9e+4 1e+5

E rr o r R a ti o 0.0 0.2 0.4 0.6 0.8 1.0 After interleaving

Window index start for Interleaver (with window size 50 bits)

0 1e+4 2e+4 3e+4 4e+4 5e+4 6e+4 7e+4 8e+4 9e+4 1e+5

E rr o r R a ti o 0.0 0.2 0.4 0.6 0.8 1.0

(43)

34

Figure. 18 : Error Ratio before interleaving

Another reason we have to eliminate effects of error burst event is to keep our UEP ability work after performing LT decoding, because

Overall Decoding Failure Probability

= PrLTburst ⋅ PrConvolutionalDecoderFailure|LTburst

+ PrLTnonburst ⋅ PrConvolutionalDecoderFailure|LTnonburst

To a specific rateless overhead, PrLTburst and PrLTnonburst is the same to different UEP streaming, at high rateless overhead, PrLTnonburst is close to 1 and PrLTburst is close to zero, so the overall decoding failure probability is approximately equal to PrConvolutionalDecoderFailure. But in the low rateless overhead, PrLTburst may not smaller than PrLTnonburst, to the stronger protection layer, the term PrConvolutionalDecoderFailure|LTnonburst is quite smaller than the weaker one, it implies the stronger protection ability in a layer, the PrConvolutionalDecoderFailure|LTburst dominates the overall decoding failure probability, it eliminate the UEP ability.

5.2.2

Objective Function for Interleaver Design

In the previous section, we knew that the dominate term of overall decoding failure probability at low rateless overhead is PrConvolutionalDecoderFailure|LTburst because at low rateless overhead we cannot neglect PrLTburst .

Decoding results ^ _ ` _

aLT codes with burst error event Burst error event does not be resolved Burst error event is resolvd by interleaver



LT codes without burst error event



If we add an Interleaver, the overall decoding failure probability can be rewrite as Overall Decoding Failure Probability

= PrLTburst ⋅

PrBurstUnresolved|LTburst ⋅ PrConvolutionalDecoderFailure|LTburst, BurstUnresolved + PrBurstResolved|LTburst

⋅ PrConvolutionalDecoderFailure|LTburst, BurstResolved + PrLTnonburst ⋅ PrConvolutionalDecoderFailure|LTnonburst

(44)

35

Overall Decoding Failure Probability

= PrLTburst, BurstUnresolved ⋅ PrConvolutionalDecoderFailure|LTburst, BurstUnresolved + PrLTnonburst ∪ LTburst, BurstResolved ⋅ PrConvolutionalDecoderFailure|LTnonburst

∪LTburst, BurstResolved

This guide us to the goal of interleaver design: To decrease the PrLTburst, BurstUnresolved , the following section will describe how to estimate the probability.

We define the error burst is the event that may cause error event in the Viterbi decoding process by following parameters:

k/n Be the input to output ratio of Convolutional codes.

E, Be the fundamental path with minimum Hamming weight of UEP layer  in Convolutional coder. ;0 Be the Hamming weights of E, .

 Be the length of E, , in branches.

(45)

36

Figure. 19 : Error Ratio boundary for different UEP layer

[Figure. 19 : Error Ratio boundary for different UEP layer] shows the Error Ratio value beyond the value w0/(n ⋅0) may cause the error event, we called the section error burst. On the other side, the area with density value beneath the line is a region without error burst. Thus, we think our objective is trying to minimize the probability that Error Ratio over the cordon.

5.2.3

Realization/Application

In the section, we will describe how we realize our interleaver by guidelines and design principles mentioned in the previous article.

(A)

Block Interleaver

One of realizations is block interleaver, and the block interleaver is able to use following parameters to adjust for better performance:

B Be the average length of LT error burst, the size in bits. L Be the block size of interleaver, in bits.

Table. 4 : Parameters used in block interleaver design

If our information is written column by column and read row by row, in order to break up our error burst and stretch out the distance between errors, we have to let column size of block interleaver to be B and row size of interleaver to be bL/Bc . The design is simple but actually these parameters are independent with convolutional Precoder, thus we provide another interleaver design, it is more complex and more customize to Convolutional Precoder and LT Postcoder design.

(B)

S-random Interleaver

Another realization is modified by a classic S-random Interleaver, adjusting it by some parameters of the Convolutional coder and LT Postcoder. The S-random interleaver is able to use following parameters to adjust for better performance:

k/n Be the input to output ratio of Convolutional codes. B Be the maximum length of LT error burst, the size in bits. L Be the block size of interleaver, in bits.

E, Be the fundamental path with minimum Hamming weight of layer  in Convolutional coder. ;0 Be the Hamming weights of E, .

(46)

37

 Be the length of E, , in branches.

Table. 5 : Parameters used in S-random interleaver design

When realizing our interleaver, we need to fine the minimum Hamming weight of the fundamental path in Convolutional codes, which is E, , we also need to know its weight ;0 of the , length 0 , and LT block length. The steps of deciding an index value in the interleaver are

Step.1 Randomly choose an integer smaller than the interleaver size. Step.2 Compare with the previous dU

)౟e indices, if it is euqal to any of d

U

)౟e previous selection within a distance of ±dA೔⋅e , repeat Step.1.

Each randomly selected index will compare with the dU

)౟e previous selected indices. If the current selection is equal to any of d)U

౟e previous selection within a distance of ±0⋅ n/2 , then the current selection will be rejected.

It is clear that there are more parameters about Convolutional Precoder and LT Postcoder that we can adjust in S-random interleaver than traditional block interleaver, and by experiment results, the UEP performance of S-random interleaver is truly better than block interleaver.

[Figure. 20 : Error distribution for Interleaver size 100Kbit] to [Figure. 25 : Bit error rate for Interleaver size 10Kbit] compare between traditional block interleaver and our modified s-random interleaver with different interleaver size. As you can see, there is not obvious difference between block interleaver and s-random interleaver when interleaver size is equal to 100kbit, but as we decrease the size of interleaver, the performance of s-random interleaver will be more outstanding. Because our interleaver sizes in all experiments are equal to or larger than 100kbits, thus we can directly use the block interleaver to reduce the complexity.

(47)

38

Figure. 20 : Error distribution for Interleaver size 100Kbit

The following results are real bit error rate of system, with respect to block interleaver, s-random interleaver and without interleaver, x-axis represents rateless overhead and y-axis represents bit error rate.

S-random Interleaver

Window index start for Interleaver (with window size 50 bits)

0 1e+4 2e+4 3e+4 4e+4 5e+4 6e+4 7e+4 8e+4 9e+4 1e+5

E rr o r R a ti o 0.0 0.2 0.4 0.6 0.8 1.0 Block Interleaver

Window index start for Interleaver (with window size 50 bits)

0 1e+4 2e+4 3e+4 4e+4 5e+4 6e+4 7e+4 8e+4 9e+4 1e+5

E rr o r R a ti o 0.0 0.2 0.4 0.6 0.8 1.0 Before Interleaving

Window index start for LT output sequence (with window size 50 bits)

0 1e+4 2e+4 3e+4 4e+4 5e+4 6e+4 7e+4 8e+4 9e+4 1e+5

E rr o r R a ti o 0.0 0.2 0.4 0.6 0.8 1.0

(48)

39 Without Interleaver

S-random Interleaver, 100k

Block Interleaver, 100k

Figure. 21 : Bit error rate for Interleaver size 100Kbit 1.E-04 1.E-03 1.E-02 1.E-01 1.E+00 1 .0 1 1 .0 2 1 .0 3 1 .0 4 1 .0 5 1 .0 6 1 .0 7 1 .0 8 1 .0 9 1 .1 1.1 1 1 .1 2 1 .1 3 1 .1 4

Layer1 Layer2 Layer3

1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03 1.E-02 1.E-01 1.E+00 1 .0 1 1 .0 2 1 .0 3 1 .0 4 1 .0 5 1 .0 6 1 .0 7 1 .0 8 1 .0 9 1 .1 1.1 1

Layer1 Layer2 Layer3

1.E-09 1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03 1.E-02 1.E-01 1.E+00 1 .0 1 1 .0 2 1 .0 3 1 .0 4 1 .0 5 1 .0 6 1 .0 7 1 .0 8 1 .0 9 1 .1

(49)

40

Figure. 22 : Error distribution for Interleaver size 50Kbit

The following results are real bit error rate of system, with respect to block interleaver, s-random interleaver and without interleaver, x-axis represents rateless overhead and y-axis represents bit error rate.

S-random Interleaver

Window index start for Interleaver (with window size 50 bits)

0 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000 E rr o r R a ti o 0.0 0.2 0.4 0.6 0.8 1.0 Block Interleaver

Window index start for Interleaver (with window size 50 bits)

0 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000 E rr o r R a ti o 0.0 0.2 0.4 0.6 0.8 1.0 Before Interleaving

Index start for LT output sequence window (with window size 50 bits)

0 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000 E rr o r R a ti o 0.0 0.2 0.4 0.6 0.8 1.0

(50)

41

Without Interleaver

S-random Interleaver, 50k

Block Interleaver, 50k

Figure. 23 : Bit error rate for Interleaver size 50Kbit 1.E-04 1.E-03 1.E-02 1.E-01 1.E+00 1 .0 1 1 .0 2 1 .0 3 1 .0 4 1 .0 5 1 .0 6 1 .0 7 1 .0 8 1 .0 9 1 .1 1.1 1 1 .1 2 1 .1 3 1 .1 4

Layer1 Layer2 Layer3

1.E-09 1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03 1.E-02 1.E-01 1.E+00 1 .0 1 1 .0 2 1 .0 3 1 .0 4 1 .0 5 1 .0 6 1 .0 7 1 .0 8 1 .0 9 1 .1 1.1 1 1 .1 2 1 .1 3

Layer1 Layer2 Layer3

1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03 1.E-02 1.E-01 1.E+00 1 .0 1 1 .0 2 1 .0 3 1 .0 4 1 .0 5 1 .0 6 1 .0 7 1 .0 8 1 .0 9 1 .1 1.1 1 1 .1 2 1 .1 3 1 .1 4

參考文獻

相關文件

SG is simple and effective, but sometimes not robust (e.g., selecting the learning rate may be difficult) Is it possible to consider other methods.. In this work, we investigate

Ongoing Projects in Image/Video Analytics with Deep Convolutional Neural Networks. § Goal – Devise effective and efficient learning methods for scalable visual analytic

• Softmax Layer: Classifier Convolutional.. Layer

Convolutional Layer with Receptive Fields:.. Max-pooling

• We need to make each barrier coincide with a layer of the binomial tree for better convergence.. • The idea is to choose a Δt such

頁碼編排步驟 (4) 點選 格式 後,出現以下畫面:. 接著選擇頁碼要呈現

隨著影像壓縮技術之進步、半導體科技之快速發展、無線通訊技術與數位傳送輸技術

Finally we use our approach to analyze gene regulation pathway of pig reproduction and embryonic development, and the results are consistent with the KEGG pathways accounting for