The rest of the paper is organized as follows. Chapter 2 introduces the pro-posed LS-adaptive predictor with edge-look-ahead. The entropy coding of prediction error is addressed in chapter 3. Extensive experiments of the pro-posed method and comparisons to existing predictors and coders are given in chapter 4. Chapter 5 investigates the use of control technologies to en-hance prediction result of pixels around boundaries. A conclusion is given in Chapter 6.
Chapter 2
Least-squares Based Adaptive Predictor with Edge-look-ahead
In this chapter, details on the proposed least-squares (LS) based adaptive predictor will be addressed. First of all, we will give an overview on the proposed predictive coding system. Secondly, an illustrative example will be given to manifest the edge-directed property of LS adaptation. In order that the proposed system can foresee the existence of an edge, we will introduce in this chapter the proposed causal edge detector. After that, a detailed description on the LS adaptation process will be given. Finally, the so-called bias cancelation technique for prediction error refinement will be addressed.
Edge 1. Run Length Counter.
2. Unsuccessful Run Counter.
Run mode enable ?
A 1. Run Length Counter.
Run mode enable ?
Run Count
Figure 2.1: Proposed RALP coding system.
2.1 An Overview of the Proposed System
Many coding methods are more efficient with some images than others. In particular, run-length coding is very useful for coding areas of little changes.
Adaptive predictive coding achieves high coding efficiency for fast changing areas like edges. In this dissertation, we propose a switching coding scheme (as shown in Fig. 2.1) that will combine the advantages of both Run-length and Adaptive Linear Predictive coding (RALP). For pixels in slowly varying areas, run-length coding is used; otherwise least-squares (LS) based adaptive predictive coding is used. Instead of performing LS adaptation in a pixel-by-pixel manner, we adapt the predictor coefficients only when an edge is detected so that the computational complexity can be significantly reduced.
For this, we use a simple yet effective edge detector using only causal pixels.
This way, the proposed system can look ahead to determine if the coding pixel is around an edge and initiate the LS adaptation in advance to prevent
the occurrence of a large prediction error. With the proposed switching structure, very good prediction results can be obtained in both slowly varying areas and pixels around boundaries. Furthermore, only causal pixels are used for estimating the coding pixels in the proposed encoder; no additional side information needs to be transmitted.
The proposed RALP system, as shown in Fig. 2.1, has two operation modes, run mode and regular mode. The “mode selection” block (Fig. 2.1) determine if the current pixel is in an local area of little changes. If it is, the run mode is triggered and the current pixel is encoded using run-length encoding. If not, the regular mode is assumed and the pixel is encoded using predictive coding.
Run mode
It is known that the run-length coding is most efficient for the encoding of consecutive pixels with identical grey values. The case that consecutive pixels are identical can usually occur in an artificial image or in slowly varying areas of a natural image. Therefore, we use the run-length coding in the proposed RALP system for the encoding of pixels in an area of little changes. If the four pixels xn(1), . . . , xn(4) in Fig. 2.2 are identical, the run mode is switched on and the run-length is encoded using an arithmetic coder with an alphabet set of {0, 1, . . . , 20}. The “0”, called escape symbol in the proposed approach, is used to indicate an unsuccessful run and should be encoded if the grey value of the coding pixel xn and that of xn(1), . . . , xn(4) are distinct so that the decoder can also make a right decision and quit the run mode automatically.
This time, the regular mode is used for the encoding of the current pixel. It is noted that the run mode can also be broken by ends of lines, in which case the encoder returns to the regular mode, i.e., the regular mode is assumed for
the first pixel of every line. Moreover, the encoding of an escape symbol can cause penalty and degrade the coding efficiency. Therefore, we record the number of times of run mode triggered and the times of unsuccessful run. If the percentage of unsuccessful run is greater than a predefined threshold, the run mode is disabled and not to be used for the rest of the coding process. It is noted that all the pixels used for mode selection are causal and the decoder can reproduce the same decisions without any side information.
xn(1)
Figure 2.2: The ordering of pixels for prediction inputs.
Regular mode
In the regular mode, pixels are encoded using predictive coding. Predic-tive coding can be very efficient for the removal of statistical redundancy between neighboring pixels in slowly varying areas. However, there can have a large prediction error around boundaries. In this paper, we will use LS op-timization to update the predictor coefficients on the fly so that the predictor can adapt itself to the varying statistics [25]-[28]. It is known that the LS-based adaptive predictor is an efficient approach to improve the prediction result around boundaries for its edge-directed property [26]-[28]. However, a pixel-by-pixel adaptation of the predictor coefficients is computationally expensive and often not necessary [25]-[28]. Therefore, we will initiate
adap-tation only when the prediction is inadequate, which is around an edge. For this, an “edge detector” is used to look ahead and determine if the coding pixel is around an edge so that the predictor can adapt itself beforehand to prevent the occurrence of a large prediction error. In the regular mode, the prediction error is further refined using error compensation. That is, the predictor output xp is added by a correction term ep (as shown in Fig. 2.1) to get a compensated prediction xcpd = xp + ep. The amount of compensation ep is determined through an error modeling mechanism. The refined error signal ε = xn−xcpd can then be entropy encoded using conditional arithmetic coding to produce the coded bit stream.
In the proposed encoder, only causal pixels, i.e., pixels that have already been coded, are used for estimating the coding pixels; no additional side information needs to be transmitted. Moreover, the proposed RALP coder is symmetric, meaning that the decoder has the same predictor switch as the encoder, and performs prediction and error compensation just like the encoder. Therefore, the actual pixel value can be reconstructed in the de-coder with the received bit stream of refined errors. Details of the individual components of the system are introduced in subsequent sections.
s
Figure 2.3: Area that contains a vertical edge.