Chapter 2: Previous Work
2.3 Channel Coding for Side Information Correction
The key concept in DVC is that the side information predicted at the decoder side can be regarded as a video frame corrupted during the transmission over a (hypothetical) noisy channel. In DVC, the communication channel between the encoder and the decoder is a virtual noisy channel and side information is the noisy version of the original frame transmitted from the encoder across the channel to the decoder. Since the encoder has knowledge of the original frames, it can generate systematic channel codes to correct any potential errors of the side information at the decoder side. In practice, only the W-Z bits of the channel codes have to be transmitted to the decoder. There are many factors of channel coding that affect the coding efficiency of the DVC framework. Two of the most significant factors are the model of the virtual noisy channel and the channel code used.
2.3.1 Virtual Channel Model
For channel decoding, fewer W-Z bits will be requested if we know more about the nosie characteristics of the channel. But in DVC the noise is strongly related to side information quality which is not stationary. In early days, only one single statistics model (usually Laplace distribution), is used to describe the noise distribution for the whole sequence or the whole frame. This is not practical, because actual noise distribution is far more complicated and cannot be modeled by a single Laplace distribution. Borchert et al. [21] propose that if each frame is partitioned into two types of regions, occluded regions and non-occluded regions, and two different statistics models are used to model the errors for different types of regions, the performance will be better than using one statistics model for the whole frame.
Since decoder does not have the original frames, it can not get the exact
parameters of the error distribution. The decoder need to estimate the parameters.
However, one may not need exact parameters since the decoding algorithm allows some tolerance on the exactness of the statistics model. The tolerance range of the parameters is different from frame to frame. A distribution which is not sensitive to errors in parameter estimates and achieves high compression ratio such that decoder only needs few W-Z bits from the encoder to correct SI prediction errors is desired.
Westerlaken et al. [22] have shown that when a single distribution is used to describe channel noise, two-sided Gamma and generalized Gaussian distribution have better decoding performance than Laplace and Gaussian distributions when LDPC codes are used. The compression ratio when using different error models is in Figure 3. They also discovered that for generalized Gaussian, there is a small range of shape parameter that makes LDPC performance less sensitive to the choice of the variance parameter. But they do not mention how to find this small range.
Figure 3. Compression ratio when different error models are used
2.3.2 Channel Code
In DVC, the virtual channel noise is not stationary, so rate-adaptive channel codes are needed in distributed video coding schemes. Channel codes near theoretical bound and rate-adaptive are suitable for DVC. Punctured turbo codes are well known for their burst error correcting capability and their performance is very close to Slepian-Wolf bound [23], so at the beginning, many DVC papers use turbo codes as their channel codes.
Low Density Parity Check (LDPC) codes are also channel codes near Slepian-Wolf bound. They have been used effectively in fixed-rate distributed source coding [25]. But in rate-adaptive cases, syndromes are punctured before they are sent, when compression ratio is high, the performance will be poor because in the decoding graph there are many single-connected or isolated nodes. The Stanford team presents two kinds of LDPC-based rate-adaptive codes: LDPC Accumulate codes (LDPCA) and Sum LDPC Accumulate codes (SLDPCA) [15]. The syndrome bits of LDPCA and SLDPCA codes contain more redundant information because of accumulation, so when a subset of syndrome bits are truncated, the performance will not be affected as much as the original LDPC codes. In Figure 4, circles are source bits and squares are parity bits after encoding. Left picture is the decoding graph of LDPCA code when all parity bits are not discarded. The center picture is the decoding graph of LDPCA code and the right picture is decoding graph of LDPC when half of parity bits are discarded.
All nodes in the LDPCA decoding graph are neither isolated nor single-connected, so when compression ratio is high, LDPCA codes still have good performance.
Figure 4. Decoding graph of LDPC codes and LDPCA codes
Figure 5. Rate required by turbo codes and SLDPCA codes
In 0, we can see that when conditional entropy H(X|Y) is larger than 0.5, the rate required for turbo codes increases faster and becomes bigger than LDPC codes, especially when H(X|Y) is larger than 0.8. Furthermore, LDPCA has one advantage over turbo codes, that is, syndrome bits can be used to test the correctness after decoding. When the error position can be detected after decoding, we can do something to enhance the regions where errors are serious. In [28], the authors decode the first 3 bit-planes and then perform full searches for side information which significantly reduces decoding errors. After adjusting the side information, the decoder keeps decoding remaining bit-planes, and the performance is better.