Chapter 4. Design of a Rateless UEP Code for SVC/MGS Multicasting
4.1. Choice of a UEP Pre-code
Based on the rate-distortion analysis of SVC bit-streams from [10], we know that (1) several protection layers (two to four layers) provided by the rateless UEP code are sufficient;
(2) the data size of the layer with the highest protection ability should be at least as large as the data sizes of the other layers; (3) The data block size of the rateless UEP code should be capable of accommodating significant fluctuations of the GOP size.
One of the codes that is able to fulfill above requirements is the UEP convolutional code [11]. Hence, we adopted its version that can provide three-layered erasure protection and 1:1:1 data size ratio among layers. Furthermore, in order to reduce the total inflation rate of
16
the rateless UEP code, we decided to raise the code rate of its convolutional pre-code by employing the puncturing method. The detailed puncturing specification is reported in Table 2.
Since the convolutional codes are prone to malfunction when the channel suffers from the burst errors, we used interleaver that reduces the occurrence of burst errors by relocating the positions of error bits.
Table 2 UEP Convolutional Pre-code and Puncturing Specification
Figure 8 Decoding performance of convolutional UEP pre-code Logarithm of Channel Bit Erasure Rate
-3.0 -2.5 -2.0 -1.5 -1.0
Logarithm of Decoding Bit Failure Rate
-7 -6 -5 -4 -3 -2
Layer1 Layer2 Layer3
17
4.2. Design of a Rateless Post-code
The SLLT post-code should provide the decoding failure rates sufficient for the convolutional pre-code to deliver the UEP capability necessary for the graceful degradation of SVC bit-streams. In order to provide these failure rates, we imposed the following two decoding performance objectives on the SLLT post-code:
(1) To decode the base layer at the minimum decoding overhead;
(2) To decode all three layers within the moderate range of the decoding overhead.
The SVC bit-streams can perform graceful degradation by receiving more and more MGS NAL units, whose decoding chances depend on the decoding of the base layer. To make the rate-distortion performance able to improve directly upon the channel code recovers a MGS NAL unit, the base layer should be decoded as early as possible. The reason for defining the second objective is that we want to ensure that users will obtain the full playback quality once they receive a moderate amount of reception overhead.
Owing to the UEP effect provided by chosen pre-code and the multi-layer structure of the SVC/MGS bit-streams, it is not straight-forward to determine the target points representing the above objectives from the decoding performance of the pre-code. Hence, we set up a set of experiments to find out how the symbol erasure channels with different symbol failure rates and occurrence probabilities affect the video playback performance of each SVC/MGS layer. In these experiments, we set the code block length to 2000 symbols, since the block length of SLLT post-code that we decided to employ in the composite rateless UEP code is 6000 symbols and the data size ratio among the layers is 1:1:1 (see the pre-code specification).
In the experiments related to the SVC/MGS enhancement layers, we assumed that the lower layers are successfully recovered in order that the results would show the quality improvement made by recovering the NAL units of a specific layer. Also, since the transfer of
18
I-frames is similar to the bulk data transport, it is desirable to exclude the event of unrecovered I-frames. By assuming that the I-frames are always recovered on the decoder side, the obtained results clearly show the effect of different combinations of symbol failures rates and tail probabilities on the PSNR improvement.
In order to make the scenario of our experiments consider the tail probability, we defined the symbol failure rate histograms as shown in Figure 9. For every combination of the failure rate 𝑅 and the tail probability 𝑇, the value of 𝑇 represents the probability that the entire block of data will be erased. In addition, we assume that the probabilities of all the decoding failure rates 𝑟̂ ≤ 𝑅 will be uniformly distributed.
Figure 9 Estimated symbol failure rate distribution
The results obtained from the 105 simulation runs are shown in Table 3, Table 4 and Table 5. The values represent the ratios of PSNR differences calculated by the following formula:
esult of specific (𝑅 𝑇) setting − only I f ame decoded full decode specific laye − only I f ame decoded
For the decoding of the base layer, we chose the point (green bold rectangle in Table 3) having the steepest improvement, w.r.t. the both, tail probability and symbol failure rate. On the other hand, since the complete recovery requires decoding of most of the frames, we had to choose the point with relatively high value when considering the successful complete decoding. In order to avoid “overdesigning”, we chose the point (green bold rectangle in
19
Table 4 and Table 5) with the lowest tail probability among all the points having the value above 0.9. Hence, we set the value of coordinate 𝑇 of both target points to 0.0316.
Table 3 Median (top) and Mean (bottom) Aspect of PSNR Improvement in Base Layer (Foreman)
Table 4 Median (top) and Mean (bottom) Aspect of PSNR Improvement in Enhancement Layer1 (Foreman)
20
Table 5 Median (top) and Mean (bottom) Aspect of PSNR Improvement in Enhancement Layer2 (Foreman)
Consequently, we had to adapt the 𝑟 values of chosen key points (found under random symbol erasure channel) to our concatenated coding scheme. Since the points located on the performance curves of the pre-code [Figure 10] are calculated as the average of bit failure rates, we converted the 𝑟 values of chosen points into the average symbol failure rates by the formula based on the definition of symbol failure rate histograms in our experiments:
𝑟̅ = 𝑝𝑛 ⋅ ∑ 𝑛
In order to make a conservative estimate, we required at least 𝐹 failed symbols in the group of pictures (GOP) block to represent the decoding failure of the entire GOP. In the encoding format of the test video clips, we set the GOP size to 8.
After substitution, we obtained the average symbol failure rates for decoding of the base layer and for the complete decoding. Consequently, we consulted the performance profile of the pre-code to find the respective channel erasure rates. Since in our case, the channel erasure rates correspond to the failure rates of the SLLT post-code, we found that
21
post-code failure rates 𝑟̅ 𝑏𝑎𝑠𝑒= 0.03 and 𝑟̅ 𝑒𝑛ℎ𝑎𝑛𝑐𝑒= 0.01 are sufficient for the decoding of the base layer and all three SVC/MGS layers, respectively.
Figure 10 Average failure rates sufficient for decoding of the base layer and all three SVC/MGS layers
In the next step, we had to define the values of reception overhead, in which the SLLT post-code should deliver the failure rates and tail probabilities necessary for the decoding of the base layer and complete decoding, respectively. As target reception overhead for the base layer, we adopted the starting point of the transition region of the SLLT code decoding performance, since it defines the region of the reception overhead that exhibits steepest performance improvement. When the code block length is approx. 6000 symbols, we observed that the starting point of the SLLT code transition region is approximately at 4% of the reception overhead. Since, according to our best knowledge, the maximum desirable inflation rate of the composite code should not exceed 20% and the rate of chosen UEP pre-code is 9/10, we set the target decoding overhead for the complete decoding to be 8%, w.r.t. the number of received symbols of the SLLT post-code.
22
After defining all the boundary values, we could finally specify the target points of our SLLT code customization method in order to achieve the UEP behavior in the admissible region of decoding overhead.
Considering the decoding of the base layer, we know that unlike the random erasure channel, the decoding performance of SLLT codes exhibits severe bimodal feature at the beginning of the transition region. Because of this, it is not appropriate to set the average failure rate as the optimization criterion, in this case. Therefore, we defined the target point 𝐺1 using 𝜀 𝑟 and 𝑇 and set its coordinatesas shown in the Table 6.
In our experiments, we aimed at minimizing the distance to this target point along the coordinate directions 𝜀 and , since we wanted to ensure that our rateless UEP code recovers as many frames as possible at 4% overhead and at the same time decode the base layer at the lowest possible overhead, in case that the search algorithm cannot find a solution reaching this point.
Considering the complete decoding, we employed the average failure rate as the optimization objective, since the bimodal feature of the SLLT code decoding performance is no more significant, at the error floor region. The coordinates of the target point 𝐺2 are also shown in the Table 6.
Table 6 Target Points Specification for SLLT Post-Code employed in the rateless UEP code
Target point 𝜀̂ 𝑟̂ 𝑇̂
𝐺1 0.04 0.03 0.0316
Target point 𝜀̂ 𝑟̅̂
𝐺2 0.08 0.01
23