• 沒有找到結果。

The probability that a level i AND-node will pass the 0 to the level i OR-node . 25

4.2 Prediction Model

4.2.1 The probability that a level i AND-node will pass the 0 to the level i OR-node . 25

Firstly, we are going to calculate the probability qi that a level i AND-node will pass 0 to the level i OR-node. We define the amount of the edges that connect a level i AND-node and level i-1 OR-nodes that is dj. Fig. 4.4 is the example of the connection of an AND-node . We can obtain the qi when we know the amount of degrees that connect to each layer OR-node in level i, as show in (6):

Fig. 4.4 The way of connection of a AND-node in AND-OR tree

26

(6)

The amount of degrees that an level i AND-node connect to layer j OR-node in level i-1 is dj , j=0,…,N-1 . In the latter part of (6), it represents the situation that a level i AND-node will pass 1 to the level i OR-node. This situation will happen only when all of the level i-1 OR-nodes pass 1 to the level i AND-node. And (6) removes the situation and obtains the probability that a level i AND-node passes the 0 to the level i OR-node. By using the

predefined degree distribution (x) and d is the probability that the degree of a CB is d. In (7), we can obtain the average degree of each CB μ.

μ (7)

In (8), We also calculate the probability Ad that an edge connects to an degree d AND-node

In first summation, it decides the different degree d of the AND-node (d has removed the edge that connect to the level i OR-node) and then it multiplies the occurrence probability Ad+1. The second summation decides dj, and then it multiplies the occurrence probability that is calculated by Wallenus’s distribution. Therefore, we can obtain each probability by (1) in different degree distribution and obtain qi finally.

27

(10)

The q0 is the probability that the AND-OR tree leaf passes 0. Because the leafs have no children, so the situation that the leaf AND-node passes 1 to the OR-node only occurs when the degree of leaf AND-node is 1. Hence we obtain q0 as long as we reduce the probability 1.

 4.2.2 The probability that a level i OR-node will pass 0 to a level i+1 AND-node

In order to obtain the probability pi,j that a level i OR-node will pass 1 to a level i+1 AND-node, we have to calculate the probability pj that an edge connects to a certain layer j OR-node and as shown in Fig. 4.5. In layer j ,each OR-node set the weight ωj. Then, the probability that each MB is chosen as the neighbor of one CB is shown in (11), and the probability is equal to pj.

ω

ω ω (11)

Fig. 4.5 Pj

28

We calculate the probability λ d,j that a layer j OR-node has d degrees:

μ μ

(12)

In (12), the summation distributes the degree to each window, and it mean that the OR-node get mj degrees from j th window (Each MB is covered by N windows). And because the numbers of MBs in each layer are the same in each window, the probability pj is the same for all N windows. Hence, the probability that an MB get mx degrees from window x is

μ μ . The case of edge connection of one OR-node is shown in Fig.

4.6. In the end, we consider all the N windows that cover layer j MB as shown in Fig 4.7 and all the degree in layer j are from the N windows and we can obtain the .

Fig. 4.6 Example of connection way of OR-node

29

Fig. 4.7 The example of layer 3 MBs are covered by 4 windows when N=4

By using , we can obtain the probability Rd,j that an edge which connects to a layer j OR-node has degree d:

μ μ

μ (13) In (13), assume there are nj layer j MBs in one window. The denominator means that the sum of the edges that connect to a layer j OR-node from all the N windows, and the numerator means that the sum of the edges that belong to the lay j MBs with degree d. The probability for a level i OR-node to pass 1 to a level i+1 AND-node is:

μ (14)

With the results in (9)~(13),the probability pi,j in (14) can be obtained.

30

31

32

 4.3 Selecting Best Weight

In order to own the best video quality, in general, the PSNR can be used to estimate the difference between the original video and the processed video. But, if some frames are damage or lost, those damaged or lost frames have to be concealed by the closest frame. In this case, it is very difficult to estimate the PSNR because the closest frame can be anywhere and the distance of the closest frame will affect the relevance of content. If the distance is close, the content is similar and the PSNR is better. Oppositely, if the distance is far, the content is not similar and the PSNR is low. Therefore, we observe that the PSNR is higher when there are more frames is received. The different amount of frames example is shown in the Fig. 4.8. In this example, the video 3 has the best video quality because the average distance of the copy fame is shorter than video 1 and video 2. Even in the extreme case that all the frames are received, more frame case also has the shortest distance, so it has the best video quality.

Fig. 4.8 Displaying the different amount of frames video

By the above reason, we predict the amount of frames that can be displayed instead of the

33

PSNR. In our goal, we estimate which weight can produce the most displayed frames. Firstly, we observe the expected value in (20) and the dependence of SVC encoding structure of Fig.

4.9. The dependence of frames are shown in Fig. 4.10, and the edge connect with two frames that have the dependence relations.

Fig. 4.9 The encoding Structure of SVC streaming

Fig. 4.10 The Dependence of SVC frame

34

(20)

We can obtain the simplified equation (21) from (20). Assume P(Layer i) is the probability that all of the packets of a layer i frame are received successfully and it can be obtained from the pi,j in(14). For example, if a layer j frame needs u packets to transmit, and the

P(Layer i)= Pi,ju

.Assume the dep(Layer i) is the amount of dependent frames in the Layer i+1.

In section 5.2, we will verify if the model is feasible later.

(21)

At this time, we have the model to estimate the weight which can produce the best quality video and we will use this model on SVC streaming environment in next chapter.

35

C C ha h ap p t t e e r r 5 5: : T T he h e E E xp x p e e r r im i m e e n n t t R R e e s s u u l l t t s s

In this chapter, we will check if our proposed prediction model is accurate or not;

meanwhile, we will also find the suitable environment for the prediction model. Then, we will verify the feasibility of the prediction model in section 4.3 about the amount of displayed frames to select the best weight. After we verify the prediction model for selecting the best weight, we not only use our proposed method with SVC streaming but also compare with the other methods. Finally, we use the proposed method on variable bandwidth environment.

 5.1 Accuracy Analysis for SSW Rateless Codes Model

In this section, we will observe whether the simulation estimation results near the simulation results or not. In other words, we observe whether our prediction model can be used to estimate our proposed method.

The following is our experiment environment for 2 layers SSW:

 Total layers of sliding window: 2

36

The following is our experiment environment for 3 layers SSW:

 Total layers of sliding window: 3

We use the degree distribution of Raptor codes [4] in the following experiments:

(22)

To deal with first and last windows, the 2 layers SSW with 5 windows example is shown in Fig. 5.1. In this example, window 0 and window 6 are included in the encoding process and the sum of their MBs is equal to one window. The Fig. 5.2 is the 3 layers SSW with 8

windows example. In this example, window 0, 1, 9, and window 10 are included in the encoding process. After adding these extra windows, we have to reduce CBs that each window produces, so that the overhead keeps the same.

37

Fig. 5.1 The encoding way of experiment in each window for 2 layers SSW

Fig. 5.2 The encoding way of experiment in each window for 3 layers SSW

38

After setting the experiment environment, we observe the accuracy of the proposed method in different amount of windows (5, 11, 21, 41, and 101).The 2 layers experiment results are shown in Fig A.1-A.5 in appendix A and Fig. 5.3-5.4, and 3 layers SSW with 31 windows experiment results are shown in Fig A.7-A.9.

Where the prediction error is defined as

ω

Fig. 5.3 The deviation in different amount of windows with overhead: 0.04~0.2 k=2000 and the step size=0.02

39

Fig. 5.4 The average prediction error versus total windows graph with k=2000

From these results, we can observe that prediction model is inaccurate in some scope of weights when the overheads are less. Besides, the model is accurate after the overhead

exceeds a threshold and the threshold becomes lower when the amount of windows increases.

It is possible that the influence of the first and last window become smaller when the amount of windows becomes more.

Then, we observe that the influence of the window size on prediction. The experiment results are shown in Fig. A.3, A.6 and A.7 in appendix A and Fig. 5.5:

40

Fig. 5.5 The deviation in different window size

In Fig. 5.5 we can note that prediction model is inaccurate when the window size is small in some scope of weights. Besides, the threshold of overhead of prediction model is smaller when we use the bigger window size.

According to the above experiment results, we conclude the prediction model is accurate when the amounts of the windows are more or the windows size is bigger.

Moreover, assume the bandwidth is 1000 kbps, packet size 1500 Bytes and the window size is 2000 packets. The actual video length and the window they require in are shown in Table I. It shows that our proposed method is useful for music video, soap operator and movie.

41

Video Length Total Windows

Music Video 3mins - 6mins 15 - 31

Soap Operator 25mins - 60mins 127 - 307

Movie 90mins - 120mins 461 - 615

Table I Actual video length and the total required windows with window size = 2000 and bandwidth = 1000 kbps

 5.2 Confirm Relationship of PSNR and Total Displayed Frames

In this section, we will explain why our prediction model in section 4.3 estimates the displayed frames instead of PSNR. The following is the experiment environment:

 Packet loss rate: 0.01~0.1(step size=0.01)

 Packet size : 1500 Bytes

 Repeat times of each packet loss rate : 100

 5 layer of temporal scalability

The decoder certainly received SPS(Sequence Parameter Set) ,PPS(Picture Parameter Set) ,and Frame 0. The encoding structure of SVC streaming is shown the Fig. 5.6 and Table II is the details of SVC input file.

42

Fig. 5.6 The encoding structure of SVC streaming

SOCCER_3 Table II The details of the SVC streaming

In this experiment, we will use different packet loss rates to decide whether each frame is received or not. And a frame can be displayed only when all of the packets are received. We measure the PSNR and the amount of the displayed frames in each packet loss rate. In Fig. 5.7, we can observe that the PSNR is higher when the number of displayed frames increases.

Therefore, it is available to use the amount of frames to estimate which weight produce the best quality video. In Fig. 5.8, the estimation result is close to the simulation result, so we will

43

use this model in next section.

Fig. 5.7 the relationship between PSNR and displayed frames on different packet loss rate

Fig. 5.8 The graph of amount of displayed frames of estimation and simulation on different packet loss rate

44

 5.3 SSW on SVC Streaming Environment

In this section, we will use the proposed sliding window method on the SVC streaming;

meanwhile, we will compare the result with the other methods. The following is experiment environment:

We fill up 0 when the data length of encoded frame in SVC, so each frames in the same temporal layer use the same amount of packets.

 SVC layer 0 ,and 1 belong to Sliding Window layer 0

 SVC layer 2, 3, and 4 belong to Sliding Window layer 1

 Window size k=2033,4066 MBs= 19,38 GOPs

 w0: 0.0~1.0 (step size:0.05)

 The decoder certainly received SPS(Sequence Parameter Set) ,PPS(Picture Parameter Set) ,and Frame 0.

45

Table III is the details of SVC input file:

SOCCER_ Table III The details of SVC streaming

The following are the three competitors:

1. The UEP method [11]:

This method is the same as the description in section 3.1. It doesn’t use the overlapped window and it provides UEP according to the kM. We will use the prediction formula (2)(3) in section 3.1 with the prediction model described in section 4.3 to choose the kM that causes the biggest PSNR. The kM is searched from 1 to 3.24. The encoding process is shown in Fig 5.9.

Fig. 5.9 The encoding process of [11]

46

2. General LT codes:

The general LT codes encodes each section without overlapped window and UEP. And it uses the degree distribution (22). The encoding process is shown in Fig 5.10.

Fig. 5.10 The encoding process of general LT codes 3. General LT codes with each layer MBs encoded respectively

The competitor 3 is the same as the competitor 2 without overlapped window and UEP. But its layer 0 MBs and layer 1 MBs are encoded respectively, so the neighbor of CBs either layer 0 MBs or layer 1 MBs. And it also uses the degree distribution (22). The encoding process is shown in Fig 5.11.

Fig. 5.11 The encoding process of general LT codes with each layer MBs encode respectively

47

The experiment results are shown in the Fig. 5.12 - Fig. 5.15. The decoding performance of SSW is better than the other methods, especially in low overhead environment. It is

because the overlapped window connected the relation between each CB in different window.

When CBs have the relationship, all the received CBs before can help the decoding process in later window. Furthermore, the estimation is inaccurate in the low overhead because the overhead does not exceed the threshold. The method that layer 0 MBs and layer 1MBs encoded respectively use the less Mbs to encode each layer MBs, so it has the worse

performance than the the method that encode each layer MBs together. The experiment results show that our estimation is more accurate than the method [11].

Fig. 5.12 Overhead versus displayed frames graph with window size=2033 and total

windows = 11

48

Fig. 5.13 Overhead versus PSNR graph with window size=2033 and total windows = 11

Fig. 5.14 Overhead versus displayed frames graph with window size=4066 and total

windows = 5

49

Fig. 5.15 Overhead versus PSNR graph with window size=4066 and total windows = 5

 5.4 SSW on SVC Streaming with Variable Bandwidth Environment

In this section, we will use our proposed method on SVC streaming with bandwidth environment. We will verify the accuracy of the prediction model. The following is the experiment environment:

 SVC layer 0 and 1 belong to Sliding Window layer 0

 SVC layer 2, 3,and 4 belong to Sliding Window layer 1

 Window size k=2033 MBs= 19 GOPs

 w0: 0.0~1.0 (step size:0.05)

 Total windows = 11

 α = 0.3084

 Packet size : 1500 Bytes

 Repeat times of each point: 100

50

The input SVC video is the same as Table III in section5.3. And we also use the competitor 1 in section 5.3 to compare with our proposed method.

The original bandwidth is shown in Fig. 5.16 and we will use the smallest maximum available bandwidth in each time interval of window. The blue line in Fig. 5.16 is the

bandwidth that we use in the experiment. Because our method has the overlapped window so each window only uses half of bandwidth.

Fig. 5.16 The original bandwidth and the available bandwidth in the experiment

The experiment results are shown in Fig.5.17 and Fig. 5.18. The results show that our prediction model is useful when the bandwidth is variable and the competitor is not well because the overhead is not enough.

51

Fig. 5.17 The amount of Displayed Frames versus time interval graph

Fig. 5.18 The average PSNR versus time interval graph

52

 5.5 Performance of the Proposed Model with Robust Soliton Distribution

In this section, we will observe the performance of SSW with the robust soliton distribution.

 c:0.01 & δ :0.05 (for robust soliton distribution)

Same as the section 5.1, we also use the two extra windows to deal with the first and the last windows. After setting the experiment environment, we observe the accuracy of the proposed prediction model. The experiment results are shown in Fig 5.19 and Fig 5.20. In Fig 5.19 and Fig 5.20, because the figure can’t be shown when the decoding failure probability is 0, so we set the decoding failure probability as 1E-10 when it is 0.

53

Fig. 5.19 Estimation results and simulations results of SSW with robust soliton distribution, k=2000, total windows=31, α=0.3 and ε=0.04

Fig. 5.20 Estimation results and simulations results SSW with robust soliton distribution, k=2000, total windows=31, α=0.3, ε=0.08

54

Ch C ha a pt p te e r r 6 6 : : C Co on n c c l l u u s s io i on n

In this paper, we proposed a new sliding window method, Synchronized Sliding Window (SSW) Rateless Coding for layered data or scalable video data, which can provide the UEP on SVC streaming environment. In SSW, we change the way of sliding in sliding window to simplify the component of each window and the analysis process. To realize the UEP, we set weights for each layer MBs. According to the weights, the CBs choose their neighbors in the way that the MBs can be protected at different levels. Then, we analyze our proposed method by AND-OR tree analysis and we successfully proposed a prediction model. When we have this model, we can estimate the decoding failure probability of the MBs of each layer and decide the weights for any environment or requirement. By using the prediction model shown above, we proposed the other prediction model that estimates the amount of displayed frames, and we do the experiments that show the prediction model is feasible. Finally, we use the model to provide the best video quality in SVC streaming.

The experiment results show that our prediction model is excellent in terms of estimation accuracy. On SVC streaming environment, the experiment results show that our proposed method use the least overhead and provide the best quality in the meanwhile. In the variable bandwidth environment, our prediction approach also works well when compared with other methods in the literature.

55

R R e e f f e e r r e e n n c c e e s s

[[11]] H. Schwarz, D. Marpe, and T. Wiegand, “Overview of the Scalable Video Coding Extension of the H.264/AVC Standard,” IEEE Transactions on Circuits and Systems for Video

Technology, 17, no. 9, pp. 1103-1120, September 2007.

[[22]] I. S. Reed and G. Solomon, “Polynomial Codes Over Certain Finite Fields,” Journal of the Society for Industrial and Applied Mathematics, 8, no. 2, pp. 300-304 ,June 1960.

[[33]] M. Luby, “LT Codes,” The 43rd Annual IEEE Symposium on Foundations of Computer Science, 2002. Proceedings, pp. 271- 280, 2002.

[[44]] A. Shokrollahi, “Raptor Codes,” IEEE Transactions on Information Theory, vol.52, pp.

2551-2567, June 2006.

[[55]] M. Mitzenmacher, “Digital Fountains: A Survey and Look Forward,” IEEE Information Theory Workshop, 2004, pp. 271- 276 , 2004.

[[66]] R. Gallager, “Low-Density Parity-Check Codes,” IRE Transactions on Information Theory 8, no. 1, pp. 21-28 , January 1962.

[[77]] J. S Plank and M.G. Thomason “On the Practical Use of LDPC Erasure Codes for Distributed Storage Applications,” 2003.

[[88]] M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi and D. A. Spielman, “Efficient Erasure Correcting Codes,” IEEE Transactions on Information Theory, vol. 47, pp. 569–584, February 2001.

[

[99]] P. Maymounkov, “Online Codes,” NYU Technical Report TR2003-883, 2002.

[[1100]] D. Sejdinovic, D. Vukobratovic, A. Doufexi, V. Senk and R. Piechocki, “Expanding Window Fountain Codes For Unequal Error Protection,” IEEE Transactions on Communications, 57, no. 9 , pp. 2510-2516, September 2009. doi:10.1109/TCOMM.2009.09.070616.

56

[[1111]] N. Rahnavard, B. N. Vellambi and F. Fekri, “Rateless Codes With Unequal Error Protection Property,” IEEE Transactions on Information Theory, 53, no. 4, pp.1521-1532, April 2007.

doi:10.1109/TIT.2007.892814.

[

[1122]] S. Ahmad, R. Hamzaoui and M. M. Al-Akaidi, “Unequal Error Protection Using Fountain Codes With Applications to Video Communication,” IEEE Transactions on Multimedia, 13, no. 1, pp. 92-101, February 2011. doi:10.1109/TMM.2010.2093511.

[[1133]] M. C. Bogino, P. Cataldi, M. Grangetto, E. Magli and G. Olmo, “Sliding-Window Digital Fountain Codes for Streaming of Multimedia Contents,” IEEE International Symposium on Circuits and Systems, 2007. ISCAS 2007, pp. 3467-3470. May 2007.

doi:10.1109/ISCAS.2007.378373.

[[1144]] P. Cataldi, M. Grangetto, T. Tillo, E. Magli and G. Olmo, “Sliding-Window Raptor Codes for

[[1144]] P. Cataldi, M. Grangetto, T. Tillo, E. Magli and G. Olmo, “Sliding-Window Raptor Codes for

相關文件