Next Article in Journal
Partitioned Stator Switched Flux Machine: Novel Winding Configurations
Previous Article in Journal
Source of Knowledge Dynamics—Transition from High School to University
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Extended Multi WLS Method for Lossless Image Coding

1
Faculty of Computer Science and Information Technology, West Pomeranian University of Technology, ul. Żołnierska 49, 71-210 Szczecin, Poland
2
Department of Informatics and Telecommunications, Poznań University of Technology, ul. Piotrowo 3, 60-965 Poznań, Poland
*
Author to whom correspondence should be addressed.
Entropy 2020, 22(9), 919; https://doi.org/10.3390/e22090919
Submission received: 8 July 2020 / Revised: 31 July 2020 / Accepted: 19 August 2020 / Published: 22 August 2020
(This article belongs to the Section Signal and Data Analysis)

Abstract

:
In this paper, the most efficient (from data compaction point of view) and current image lossless coding method is presented. Being computationally complex, the algorithm is still more time efficient than its main competitors. The presented cascaded method is based on the Weighted Least Square (WLS) technique, with many improvements introduced, e.g., its main stage is followed by a two-step NLMS predictor ended with Context-Dependent Constant Component Removing. The prediction error is coded by a highly efficient binary context arithmetic coder. The performance of the new algorithm is compared to that of other coders for a set of widely used benchmark images.

1. Introduction

Image compression methods can be divided into lossy and lossless. Important applications of lossless image and video compression techniques include archiving of 2D, 3D, and 4D (3D video sequences) medical images [1,2,3,4,5], as well as astronomical and satellite ones [6,7]. Lossless mode is often required at some stage of photographs, advertising materials, TV productions, and films graphic processing (post-production [8]), etc. In such cases, lossy versions of compression methods, such as JPEG, JPEG2000 (for static images) [9], MPEG2, and MPEG4 [10] (for video sequences), cannot be used. Although these standards have appropriate lossless modes, they are not particularly efficient.
Samples of multimedia signals are usually strongly correlated, which means that simple entropy coders do not compress them effectively. Correlation can be significantly reduced by signal prediction, but then another problem emerges: changes in signal statistical properties. In the 1990s, several solutions were proposed that used linear and non-linear prediction for lossless image compression. The first image coder that solved the above problems relatively well was the context coder CALIC [11]. At that time, it was considered too complex for practical purposes; nevertheless, the standardized JPEG-LS was a context coder too [12]. Then followed more efficient but also more complex techniques: TMWLego [13], Multi-WLS [14], MRP 0.5 [15]. The more recent best algorithms are Blend-20 [16], and then the improved versions of MRP 0.5: GPR-BP [17], and MRP-SSP [18]. Further analysis of currently existing solutions is presented in Section 1.2.
In this paper, the currently best image lossless coding algorithm is presented, extended multi weighted least squares (EM-WLS; Section 3.2), and its simplified version, locally adaptive ordinary least squares (LA-OLS; Section 3.1). The algorithms have in common the cascade structure proposed in Section 2; their first stages are either EM-WLS, or LA-OLS predictors. Section 6.4 shows that it is much better than any older method, including the newest GPR-BP, and MRP-SSP. EM-WLS is an extended version of the WLS technique, which is also a basis for the very good multi-WLS algorithm [14]. The first version of AVE-WLS was introduced [19]; the current version using the cascade prediction system has been significantly improved (Section 2). Several new formulas are added, i.e., additional NLMS stages (Section 3.3), enhanced cumulated prediction error cancellation stage (Section 4), and a new arithmetic coder (Section 5).

1.1. Basics of Prediction Coding

Optimization of data encoding consists of minimizing the average number of bits per single symbol generated by a source S (in the case of lossless, image compression symbols are pixel color values; in this paper, we work with 8-bit luminance).
Depending on the sources, we can divide them into those without memory (discrete memoryless source (DMS)) and sources with memory (conditional source model (CSM)) [20]. Considering this classification from the Markov model point of view, in the first case, the lower limit on the bit average is the unconditional entropy ( H ( S DMS ) , also named zero-order entropy). In the second case, we deal with the conditional entropy of the kth order, defined as H ( S | C ( k ) ) , where in the case of images context, C ( k ) may be defined, e.g., by k neighbor pixels (Figure 1).
In general, for the source entropy H ( S ) , the following relation holds: H ( S ) H ( S | C ( k ) ) H ( S DMS ) . Since image samples take on many values (at least 256), it is impractical to determine and apply a Markov model for them. It is usually assumed that removal of inter-dependencies between pixels is possible by using predictive techniques; prediction errors are coded. A linear predictor of order r is used to estimate the value of a sample:
x ^ ( 0 ) = i = 1 r w ( i ) · P ( i ) ,
where P ( i ) is pixel from the currently coded pixel x ( 0 ) = P ( 0 ) neighborhood (Figure 1), and w ( i ) is a predictor coefficient from vector w = [ w ( 1 ) , w ( 2 ) , , w ( r ) ] [21]. To simplify notation in this work, indices of the currently coded pixel are usually omitted, while indices i of pixels P ( i ) and prediction errors e ( i ) show their distances from the processed element P ( 0 ) or e ( 0 ) (Figure 1):
The closest pixels provide the most information about the coded one, so the neighboring pixels are ordered in accordance with their Euclidean distances from P ( 0 ) (Figure 1). The numbering of pixels with the same distance from P ( 0 ) is usually determined clockwise (this is discussed in more detail in Section 3.2.3). The prediction model can be a linear model of the kth order or a more complex nonlinear solution, but we reduce it to a predictor of one value x ^ ( 0 ) , which is then subtracted from the current P ( 0 ) , see Formula (2). In this way, we create a not explicitly defined first-order Markov model. As a result, a sequence of prediction errors can be expected to form a source for which the first-order entropy value is noticeably smaller than the zero-order value. The estimated pixel value (expected value rounded to the closest integer) is subtracted from the real pixel value:
e ( 0 ) = x ( 0 ) x ^ ( 0 ) 0.5 ,
and the difference (prediction error e ( 0 ) ) coded. In this way, we obtain a differential image, in which probability distribution of its samples is close to the Laplace distribution [21,22]. This allows efficient coding of prediction errors using one of the static or adaptive entropy methods, among which arithmetic coding is most effective (Section 5).
Notably, it is extremely difficult to determine image entropy H ( S ) because it is hard to define a Markov model that considers all interdependencies between pixels. Namely, the dependencies may extend quite far. An example is the research use of linear prediction of order r 2 = 106 in the second stage of the proposed-here cascade structure (Section 3.3). The number of Markov model states grows exponentially with its order. Here, if we assume that symbols are 8-bit pixel values, the number is at least 256 106 . Therefore, only the bit average, being the average number of bits necessary for coding a pixel, is used as the basic benchmark for testing lossless codecs (Section 6).

1.2. Adaptive Predictive Techniques

The effectiveness of image compression depends on the correct choice of one or more prediction models. Linear prediction is most often used (Formula (1)), where a vector w containing r predictor coefficients w ( i ) is usually determined by minimizing the mean square error (MMSE). This vector can be determined once for the whole image by a forward adaptation method or individually for each coded pixel using a backward adaptation technique. The advantage of backward adaptation is the possibility of using relatively high prediction orders (there is no need to provide prediction coefficients to the decoder), which allows for high compression efficiency. However, the disadvantage of this solution is the necessity of updating prediction coefficients in both the encoder and decoder for each pixel, which is a time-symmetric approach.
In methods with forward adaptation, it is reasonable to divide images into blocks (e.g., 8 × 8 or 16 × 16 pixels) and define an individual predictive model for each. One of the first solutions of this type was the method presented by Memon [23], where one of eight fixed models was assigned to each block of 8 × 8 pixels, producing the smallest absolute error. As such, the header information associated with a block required only three bits, forming the model number.
Subsequent methods used the mean square error for determining the best prediction coefficients. Unfortunately, this was associated with very large header information, as predictor coefficients required large numbers of bits. To reduce the size of the header, the blocks with similar characteristics were grouped into clusters, and all were associated with a common prediction model [24]. Through using vector quantization techniques (as well as fuzzy clustering [25]), optimized sets of, e.g., 16 prediction models were created, so that even for a large prediction order, the header size did not significantly increase the bit average. Matsuda et al. [15] used a technique of combining adjacent blocks belonging to the same category into groups (associated with the same predictor) to create larger blocks. Next, a map of the blocks with variable sizes was saved using an effective technique of encoding quadtrees.
In the above-mentioned above block techniques, it is easy to prove that it is possible to reach lower values of first-order entropy than for the MMSE method [15]. In the paper [26], it was proposed to replace MMSE criterion with minimum mean absolute error (MMAE), which improved the results for a block method. The poblem of discrepancy between MMSE and first-order entropy criterions was discussed in paper [27].
In the case of backward adaptation in local training windows, the MMSE criterion is closer to optimal one than for forward adaptation approaches. Analysis of this issue is presented in Section 6.1. This type of solution was used in the lossless image codec proposed in this work.

2. Cascade Prediction Model

Considering the features of adaptive methods described in Section 1.2, to achieve the highest possible compression efficiency in our work, we decided to use a backward adaptation approach, and developed a highly effective cascade prediction model whose final high-efficiency form is discussed in this section. A similar approach was used earlier in lossless audio compression solutions [28]. The cascade is calculated as follows: In the main stage image, pixels are processed:
y 1 ( 0 ) = i = 1 r 1 w M P ( i ) · P ( i ) ,
where coefficients of the predictor form vector w M P of order r 1 . They are computed using the WLS or OLS methods described in Section 3.1 and Section 3.2, respectively. In the following stages, prediction errors from previous stages are transformed:
y j ( 0 ) = i = 1 r j w j ( i ) · e j 1 ( i ) , for j > 1 ,
e 1 ( 0 ) = P ( 0 ) y 1 ( 0 ) ,
e j ( 0 ) = e j 1 ( 0 ) y j ( 0 ) , for j > 1 .
The final prediction error is obtained at the output of a cascade structure shown in Figure 2. It is given by:
e ( 0 ) = P ( 0 ) y 1 ( 0 ) + y 2 ( 0 ) + y 3 ( 0 ) + C mix + 0.5 ,
where y 1 ( 0 ) and y 2 / 3 ( 0 ) are signal estimates provided by the Main Predictor, the locally adaptive Ordinary Least-Squares (OLS) method (LA-OLS, Section 3.1) or the extended multi WLS method (EM-WLS, Section 3.2), and then by Normalized Least Mean Square predictors (NLMS+, Section 3.3) respectively. Finally, C mix is the cumulated prediction error correction defined in Section 4 (Context-Dependent Constant Component Removing (CDCCR)). The last two blocks (Golomb code and Context Adaptive Binary Arithmetic Coder (CABAC)) are used for effective compression of predictive errors. Details are provided in Section 5.
The proposed solution can be considered to be a model offering the highest efficiency. To reduce implementation complexity (Section 6.4), individual blocks can be easily modified (e.g., by reducing prediction orders in the first 3 blocks) or even deleted. For example, block Predictor 1 may contain one of two versions of the Main Predictor: EM-WLS or the faster LA-OLS. The blocks are described in the following sections, and the effects of blocks removal are discussed in more detail in Section 6.

3. Stages of Adaptive Predictive Cascade

In this section, we present the blocks in the first three stages of the cascade structure from Figure 2. In particular, two versions of the Main Predictor are defined: complex but more efficient EM-WLS and simplified LA-OLS.

3.1. Locally Adaptive OLS Method

In Section 1.2, we list examples of codecs using predictive methods with forward adaptation. Among them, the most effective are those that adapt the prediction model to local features of an image, e.g., for 8 × 8 or 16 × 16 pixel blocks. In the case of backward adaptation, similarly sized Q windows are used. The main difference is that the currently encoded pixel P ( 0 ) is not in that Q windows.
In the OLS method, prediction coefficients are calculated for each coded pixel, minimizing the prediction mean square error in a certain limited area Q. The vector of OLS predictor coefficients w M P (Main Predictor) is computed from the following formula [29]:
w M P = R 1 · P ,
where R is the experimental signal autocovariance matrix:
R ( j , i ) = y Q x Q Ψ ( y , x ) · P ( y , x ) ( i ) · P ( y , x ) ( j ) ,
and vector P is:
P ( j ) = y Q x Q Ψ ( y , x ) · P ( y , x ) ( 0 ) · P ( y , x ) ( j ) ,
where Ψ is a weighting function, which takes a constant value of 1 for classic OLS; pixels P are taken from a training window Q around the coded pixel located at position ( y , x ) (Figure 3). It consists of W image sub-rows of size 2 W + 1 preceding the estimated pixel and W pixels preceding it in the current row (Q is an area extending W pixels to the left and up from the coded pixel P ( 0 ) and to the right in rows preceding it). The best results were obtained for W = 10 , r = 18 (Section 6.2).
The default vector w M P = [ 0.620 , 0.625 , 0.125 , 0.125 , 0.125 , 0.125 ] is used in border areas when R is ill-conditioned. With the Q training window defined in this way and coding of successive pixels row by row using a fast sliding window procedure, the adaptation of the R matrix and vector P is performed relatively fast in comparison to the WLS method discussed in Section 3.2. It involves deleting data obtained from the extreme left column of the Q area and including the new extreme right column of the training window [30].
In the paper, the improved version of this scheme is analyzed. Firstly, a more robust version of Formula (8) is used [31,32]:
w M P = ( R + u bias · I ) 1 · P ,
where u bias = 800 (term u bias I guarantees non-singularity of (9)).
Secondly, predictor coefficients obtained from (11) are weighted by coefficients:
w ¯ ( j ) = w ( j ) · d ¯ j 4 i = 1 r d ¯ i 4 ,
where d ¯ j = 1 / ( Δ x j ) 2 + ( Δ y j ) 2 is the inverse Euclidean distance from the currently coded pixel. The new coefficients substitute w ( j ) in (3), which is a novel idea introduced in this algorithm.
Another improvement proposed in this work is the introduction of a weighting function promoting pixels, for which prediction errors at their positions in window Q are small:
Ψ ( y , x ) = 1 4 + | e ( y , x ) ( 0 ) | .
In this case, u bias = 100 . As such, the weighted sum y Q x Q Ψ ( y , x ) · e ( y , x ) 2 ( 0 ) of squared errors is minimized, similar to the WLS method described in Section 3.2.

3.2. Multi WLS Method

The use of a more complex weighting function compared to Formula (13)) requires a significant increase in implementation complexity at the stage of determining the R matrix and P vector. EM-WLS is based on the WLS concept, so this section begins with its description.

3.2.1. Weighted Least-Squares (WLS)

In general, the vector of WLS predictor coefficients w M P is computed from Formulas (9)–(11) [21]. The weighting function Ψ reflects similarity between neighborhoods of size m around the coded P ( 0 ) and some other P off ( 0 ) pixels [14,19] (Figure 4). The initial form of the function was relatively simple [14]:
Ψ = 1 1 + k = 1 m ( P ( k ) P off ( k ) ) 2 .

3.2.2. AVE-WLS Method

A previous paper on AVE-WLS [19] followed suggestions from [33,34], as did we, concerning the optimal form of LS predictors. The first one was a statement that for each coded pixel, an optimal predictor order exists [33]. It was not known a priori, so in [19], instead of searching for it, we propose computing the averaged value of the WLS predictor vectors w M P ( j ) for orders from j = r min to j = r max :
w AVE - MP = 1 r max r min + 1 · j = r min r max w M P ( j ) .
Implemented here, the predictor orders range from r min = 4 to r max = 24 . Additionally, W = 14 (Figure 3). If vectors w M P ( j ) should be extended to r max , it is achieved by zero-padding.
In this paper, a complex weighting function is proposed. Equation (16) is an enhanced version of the formula from [19]:
Ψ ( y , x ) = α · λ 2 + 0 . 8 ( Δ y 0 ) 2 + ( Δ x 0 ) 2 λ 1 + k = 1 m d ¯ k · ( P ( k ) P off ( k ) ) 2 γ ,
where λ 1 = 64 , λ 2 = 0.25 , d ¯ k = 1 / ( Δ y k ) 2 + ( Δ x k ) 2 is the inverse of Euclidean distance between pixels P ( k ) and P ( 0 ) , neighborhood size m = r max (Formula (15)), and γ = 1.18 . The expression appearing as a power of number 0.8 determines the Euclidean distance between pixels P ( 0 ) and P off ( 0 ) . The scaling factor α depends on two threshold values calculated by Algorithm 1:
Algorithm 1: Algorithm for calculating α weight (Formula (16))
Entropy 22 00919 i001
The second suggestion concerning LS predictors optimization [34] was a proposition to use not all, but only r max most similar (correlated) pixels taken from a range of r ext pixels, r ext > r max , in the basic prediction Formula (1). In this paper, we propose to set r max = 24 and r ext = 48 , but similarity is tested using only 10 pixels with indices from 15 to 48, and located in Q (Figure 4). The similarity measure here is the smallest cumulative absolute distance of pixels from the Q region:
ρ dist ( k ) = y Q x Q P ( y , x ) ( 0 ) P ( y , x ) ( k ) .
Apart from the chosen 10 pixels, the remaining ones are the closest to the coded one. The minimization rule (17) does not apply to the 14 nearest pixels; they are considered by default. In this way, vector Z = { z ( 1 ) , z ( 2 ) , . . . , z ( r max ) } is calculated from r max = 24 pixels P ( i ) from the neighborhood of size r ext = 48 . Formula (3) takes the form:
y 1 ( 0 ) = i = 1 r max w AVE - MP ( i ) · z ( i ) .
Finally, u bias is also optimized in this paper using ridge regression [35]. Firstly, the initial vector w AVE - MP is calculated for u bias = 0 , then the following term is computed:
u bias = c · y Q x Q Ψ ( y , x ) · e ( y , x ) 2 ( 0 ) i = 1 r max w AVE - MP ( i ) 2 ,
where e ( 0 ) is defined in (2), respectively; w AVE - MP ( i ) is the coefficients of the mentioned above initial vector w AVE - MP . Constant c can be evaluated as 4 · r max / W 2 0.5 .

3.2.3. Extended Multi WLS Method

Another idea introduced in this work, apart from the proper selection of the neighborhood (Section 6.3), is replacement of the arithmetic mean of 22 prediction models for successive orders from r min = 3 to r max = 24 (Formula (15)) by a weighted mean whose weights are determined adaptively after coding of each pixel using an improved ALCM+ method. The approach of weighted combination of predictive models (for calculation of the Main Predictor) is called the extended multi WLS method (EM-WLS).
The original version of the Activity Level Classification Model (ALCM) technique [36] was developed in the 1990s for image coding purposes. In comparison to the classic LMS solution, it is characterized by a lower, though similar, computational complexity. Originally, the method operated on linear predictors of the fifth or sixth order. In each iteration, only two predictor coefficients were modified, and only by adding/subtracting a constant ( μ = 1 / 256 for 8-bit samples). Here, the number of coefficients is 22, and up to six properly selected coefficients are modified, hence the name ALCM+.
In the proposed solution, Formula (15) is extended to the following:
w ALCM - MP = j = r min r max β j · w MP ( j ) ,
where weights β i are initialized with 1 / ( r min r max + 1 ) , so the sum of weights is 1. Formula (18) takes the form:
y 1 ( 0 ) = i = 1 r max w ALCM - MP ( i ) · z ( i ) .
To determine the updated β j , it is necessary to calculate predictions x ^ M P ( j ) ( 0 ) given by WLS models for orders of predictors from r min = 3 to r max = 24 . A 22-element vector g = { x ^ M P ( j ) ( 0 ) } is created:
x ^ M P ( j ) ( 0 ) = i = 1 r j w M P ( j ) ( i ) · z ( i ) , for j = { 1 , 2 , . . . , 22 } , r j = { 3 , 4 , . . . , 24 } .
After coding the current pixel P ( 0 ) , six weights β j are adapted. For this purpose, the highest three and the lowest values three are taken from the vector g . Let us denote these elements as the smallest:
g ( q ( 1 ) ) g ( q ( 2 ) ) g ( q ( 3 ) ) ,
and the largest:
g ( p ( 3 ) ) g ( p ( 2 ) ) g ( p ( 1 ) ) .
If condition g ( q ( 1 ) ) < g ( p ( 1 ) ) is true, then the following adaptation coefficients are used (Algorithm 2):
Algorithm 2: Adaptation of weights β j .
Entropy 22 00919 i002
The modifying value μ ( k ) is determined as:
μ ( k ) = min { 2 12 ; μ ¯ ( k ) } ,
where:
μ ¯ ( k ) = | P ( 0 ) y 1 ( 0 ) | 2 6 · j = 1 3 α j · g ( p ( j ) ) g ( q ( j ) ) ,
and α j = { 1 ; 0.75 ; 0.5 } .

3.3. Normalized Least Mean Square (NLMS) Method

Similar to [28,37], in this paper, we use the cascaded NLMS method for tuning the results obtained from the Main Predictor. This approach allows introduction of high prediction orders while maintaining relatively low implementation complexity. Here we have two cascaded NMLS filters with orders r 3 < r 2 . The values of prediction coefficients are initially set to 0, i.e., w j ( n = 0 ) = [ 0 , . . . , 0 ] , where j is the prediction stage (for NLMS j = { 2 , 3 } ) of the cascade prediction model shown in Figure 2. The general coefficient update formula for the NLMS method is [21]:
w j ( n + 1 ) ( i ) = w j ( n ) ( i ) + μ j ( i ) · e ¯ j ( n ) ( 0 ) · e j 1 ( n ) ( i ) , for i = { 1 , 2 , . . . , r j } ,
where
e ¯ j ( n ) ( 0 ) = sgn ( e j ( n ) ( 0 ) ) · min { | e j ( n ) ( 0 ) | ; φ } ,
is the bounded prediction error. The experimentally found bound φ = 14 .
In the NLMS approach, the learning coefficient μ j ( i ) adapts to the signal. Here, we propose an enhanced formula for it [31]:
μ j ( i ) = d ¯ i 2 3 · σ ¯ 2 · 10 + k = 1 r j d ¯ k · e j ( n ) ( k ) 2 ,
where e j ( n ) ( k ) is the kth signal sample (Figure 1). Here, the prediction error from the preceding stage of the algorithm, σ ¯ 2 , is the weighted average value of all variances σ ¯ 2 :
σ ¯ 2 = 1 δ k = 1 m d ¯ k · ( P ( k ) p ¯ ) 2 ,
where m = 10 , p ¯ = 1 δ k = 1 m d ¯ k · P ( k ) and δ = k = 1 m d ¯ k .
The orders of NLMS predictors used in this paper are r 2 = 96 , and r 3 = 30 for LA-OLS, and r 2 = 106 and r 3 = 42 for EM-WLS.

4. Cancelling Cumulative Prediction Error

4.1. Context-Dependent Constant Component Removal

It was observed for the first time in [11] that predictors tend to produce a DC error component, which diminished their efficiency. Then, the algorithm for computing the correction value for cancelling this component was constructed. According to Formula (7), in our algorithm, the final pixel estimate and its rounded version are:
x ˙ ( 0 ) = y 1 ( 0 ) + y 2 ( 0 ) + y 3 ( 0 ) + C mix ,
x ^ ( 0 ) = x ˙ ( 0 ) + 0.5 ,
where the components come from the Main Predictor, NLMS1, NLMS2, and the cumulative error correction stages. The latter is computed by using an extended formula from our previous works [38]:
C mix = j = 1 12 α j · C j , j = 4 ( f 1 ) + k ,
where C j components are computed using context-based error bias correction methods mentioned in [38]: there are 4 context definitions for each technique, k = { 1 , 2 , 3 , 4 } ; hence, j = { 1 , 2 , 3 , 4 } for JPEG-LS, f = 1 ; j = { 5 , 6 , 7 , 8 } for CALIC, f = 2 ; j = { 9 , 10 , 11 , 12 } for the slightly modified median method, and f = 3 . For j 8 , C j is obtained from C j = S map ( j ) / N map ( j ) , where S map ( j ) are elements of S map = [ S JPEG - LS 1 ( i 1 ) , S JPEG - LS 2 ( i 2 ) , S JPEG - LS 3 ( i 3 ) , S JPEG - LS 4 ( i 4 ) , S CALIC 1 ( i 1 ) , S CALIC 2 ( i 2 ) , S CALIC 3 ( i 3 ) , S CALIC 4 ( i 4 ) ] being current sums of prediction errors e 3 ( 0 ) (outputs of NLMS2 stage), where i k is fixed and indicates the number of contexts chosen for coding of current pixel for the kth technique. N map = [ N JPEG - LS 1 ( 1 , i 1 ) , N JPEG - LS 2 ( 2 , i 2 ) , N JPEG - LS 3 ( 3 , i 3 ) , N JPEG - LS 4 ( 4 , i 4 ) , N CALIC 1 ( 1 , i 1 ) , N CALIC 2 ( 2 , i 2 ) , N CALIC 3 ( 3 , i 3 ) , N CALIC 4 ( 4 , i 4 ) ] consist of current numbers of appearances of context number i k . For j = { 9 , 10 , 11 , 12 } , C j is the median C Median ( i k ) obtained as the middle value of a vector V MED ( i k ) containing up to 128 values of sorted prediction errors e 3 ( 0 ) for every context number i k .
From a statistical point of view, careful averaging of uncertain measurements leads to improved measurement results. This is why the constant component is removed as in Formula (33) in this paper. At the same time, the approach reduces variations in histogram shapes, which may manifest in their strong asymmetry: for a given context i, there may be several maximum values S map ( j ) not positioned at its center (Laplace distribution is symmetric and has one maximum) [39].
As in [38], four indices pointing at four context systems are applied to each method, which are described in the next subsection. A novelty is Formula (33) being adaptive:
α j = β j i = 1 12 β i ,
where:
β j = ω ¯ j · N map ( j ) θ map ( j ) 3 ,
where θ map ( j ) is the actual cumulated final square prediction error for index j ( θ map = [ θ JPEG - LS ( i 1 ) , θ JPEG - LS ( i 2 ) , θ JPEG - LS ( i 3 ) , θ JPEG - LS ( i 4 ) , θ CALIC ( i 1 ) , θ CALIC ( i 2 ) , θ CALIC ( i 3 ) , θ CALIC ( i 4 ) , θ Median ( i 1 ) , θ Median ( i 2 ) , θ Median ( i 3 ) , θ Median ( i 4 ) ] ) , which is updated as follows:
θ map ( n + 1 ) ( j ) = θ map ( n ) ( j ) + ( P ( 0 ) x ˙ ( 0 ) ) 2 .
The experimentally found weights were: ω ¯ j = { 0.275 ; 0 ; 0.4 ; 0.15 ; 0.2 ; 0.3 ; 0.1 ; 0.35 ; 0.2 ; 0.2 ; 0.325 ; 0.2 } ; optimization of weights for a particular image is also possible. When a count N map ( j ) reaches 128, then it is halved, similar to S map ( j ) . In this case, the denominator of (35) is scaled: θ map ( n + 1 ) ( j ) = 0.5 · ( θ map ( n ) ( j ) + 1000 ) . In the case of median updating when halving the 128-element vector V MED ( i k ) (contains sorted prediction errors e 3 ( 0 ) for context number i k ), the greatest 32 and the smallest 32 are rejected.

4.2. Contexts for Correcting Prediction Error Bias

Three of four context definitions for the error bias correction methods are similar to those described in [38], but there are some improvements (Section 4.2.1Section 4.2.3). The fourth approach is completely new (Section 4.2.4).

4.2.1. Approach for k = 1

The context definitions in [11] use values of t samples surrounding the coded pixel P ( 0 ) , and their mean. For t = 8 , the samples are P ( 1 ) , P ( 2 ) , P ( 3 ) , P ( 4 ) , P ( 5 ) , P ( 6 ) , GradNorth = 2 P ( 2 ) P ( 6 ) , and GradWest = 2 P ( 1 ) P ( 5 ) . The numbering is the same as in Figure 1. We take an 8-bit word and set each bit to 1 if the corresponding sample value is greater than the mean of the t samples, and 0 in the opposite case. As such, 1 of the 256 context numbers is defined. Additionally, we can quantize the pixel standard deviation to q values; the number of contexts grows to q · 2 t . In this paper, t = 8 and q = 4 are used, which produces 1024 contexts i 1 . The arithmetic mean is replaced by the expectation value y ¯ 3 ( 0 ) = y 1 ( 0 ) + y 2 ( 0 ) + y 3 ( 0 ) . The variance (multiplied by 8) is:
σ ^ 2 ( 0 ) = ( y ¯ 3 ( 0 ) GradNorth ) 2 + ( y ¯ 3 ( 0 ) GradWest ) 2 + i = 1 6 ( y ¯ 3 ( 0 ) P ( i ) ) 2 .
Quantization levels were 3 experimentally found thresholds for σ ^ 2 ( 0 ) : 300, 2000, 8000. A similar idea was presented in [40].

4.2.2. Approach for k = 2

The context-defining approach proposed here is similar to that used in JPEG-LS [12]. There are 6 contexts obtained from value ranges of neighbor pixel differences d 1 , d 2 , and d 3 . Ranges are defined by difference signs and 2 thresholds, q 1 and q 2 , which give 6 3 = 216 contexts (a six-state quantizer with 5 thresholds { q 2 , q 1 , 0 , q 1 , q 2 } ). Differences d j are defined as follows: d 1 = y ¯ 3 ( 0 ) P ( 4 ) , d 2 = y ¯ 3 ( 0 ) P ( 1 ) , and d 3 = y ¯ 3 ( 0 ) P ( 2 ) . In addition, a three-bit number b 0 b 1 b 2 is introduced; the first bit b 0 is set if condition | P ( 1 ) P ( 5 ) | > q 3 is fulfilled as the b 1 sign of e ( 1 ) is used. Finally, b 2 = 1 if y ¯ 3 ( 0 ) is greater than the average of pixels coded up to that moment. The experimentally found thresholds q j were {5, 18, 20}. This produces a total of 6 3 · 2 3 = 1728 contexts i 2 .

4.2.3. Approach for k = 3

The third approach is based on a simplified vector quantization method [41]. Initial data analysis resulted in defining 16 vectors of centroids (each containing 3 pixels from the coded pixel neighborhood: V = { P ( 1 ) , P ( 2 ) , P ( 4 ) } ). Centroids are initialized as shown in Algorithm 3.
Algorithm 3: Centroids initialization.
1 count j 0 ; 15 ( j ) = 1
2 centroid j 0 ; 15 , i 0 ; 2 ( j , i ) = j · 2 4 .
The simplified adaptive method for updating centroids is based on Euclidean distances of the current vector V = { P ( 1 ) , P ( 2 ) , P ( 4 ) } from all 16 centroids. The 4-bit ( b 0 b 1 b 2 b 3 ) label l of the closest centroid is concatenated with the other 6 bits (defined below) into a 10-bit context number i 2 (i.e., they have 1024 contexts i 3 ). The lth centroid is adapted as follows:
centroid i 0 ; 2 ( l , i ) : = count ( l ) · centroid ( l , i ) + V ( i ) count ( l ) + 1 .
Then, the counter count ( l ) is increased by 1.
Next, two bits b 4 b 5 of context number i 3 are decisions if the neighboring pixel P ( 1 ) and P ( 2 ) values are close enough to te expected coded pixel value y ¯ 3 ( 0 ) : | y ¯ 3 ( 0 ) P ( j ) | 7 and j = { 1 , 2 } . Bits b 6 b 7 are obtained from the comparison of y ¯ 3 ( 0 ) with values of P ( 1 ) and P ( 2 ) . If P ( j ) < y ¯ 3 ( 0 ) , then the bit is zero, j = { 1 , 2 } .
Bit b 8 carries information if the current y ¯ 3 ( 0 ) is greater than average of pixels coded up to that moment. Finally, bit b 9 is defined on the basis of the following majority formula: if at least 5 pixels from the set { P ( 3 ) , P ( 4 ) , P ( 5 ) , P ( 6 ) , P ( 7 ) , P ( 8 ) , P ( 9 ) } are greater than y ¯ 3 ( 0 ) , then the bit is zero.

4.2.4. Approach for k = 4

This approach is completely new. We start with reorganizing values { P ( 1 ) , P ( 2 ) , y ¯ 3 ( 0 ) } in ascending order; a new set { p r 1 p r 2 p r 3 } is obtained. Then, (non-negative) differences are defined: d 1 = p r 2 p r 1 and d 2 = p r 3 p r 2 . The differences are quantized using two thresholds: 5 and 18. There are 6 possible orderings of the set, and 3 2 quantization levels for differences, which produeces 54 combinations. After adding a five-bit number 54 · 2 5 = 1728 , contexts i 4 are obtained. Bit zero of the number ( b 0 ) is set if p r 2 (median value) is greater than average of pixels coded up to that moment. The next bit ( b 1 ) is the error e ( 1 ) sign. Two following bits ( b 2 b 3 ) respond to two questions linked with pixel P ( 4 ) : is it lower than y ¯ 3 ( 0 ) and is substantially different than y ¯ 3 ( 0 ) , i.e., | y ¯ 3 ( 0 ) P ( 4 ) | q 3 . The experimentally found q 3 value was 20. Finally, the fifth bit ( b 4 ) is one if | P ( 1 ) P ( 5 ) | q 3 .

5. Context Adaptive Binary Arithmetic Coder (CABAC)

Among the practical applications of prediction errors entropy coders, the most effective are the adaptive arithmetic ones, although various variations of Huffman code are also used, including Rice and Golomb [21]. When measuring the characteristics of prediction errors, it is possible to determine the approximate type of distribution of the currently encoded value e ( 0 ) quite well. Based on this assumption, a contextual multi-value arithmetic encoder is usually constructed using not one but t probability distributions associated with context numbers from 0 to t 1 . Theoretically, as the number of contexts increases, an improvement in compression efficiency is expected. Initially, we do not know the probability distributions; their shapes emerge when collecting incoming data. Hence, for large t, the problem of context dilution arises, i.e., for too long time shapes of some, probability distributions are not formed. We need a quick determination of their approximate target form. Therefore, a compromise should be found between the number of contexts and the speed of probability distribution adaptation. Most often, 8 [11], 16, or even 20 contexts are used [42]. An analysis of the influence of the number of contexts on bit average was presented [43].
Another approach consists of assuming an initial knowledge of the approximate probability distributions for each context. In this case, an arithmetic encode should be built that can determine which histogram is updated by the coded pixel.
This is a complex problem as it requires finding the best possible mathematical description of distributions matching a given image or class of images. This approach was analyzed based on Laplace, Gaussian, Student’s t, and Generalized Gaussian Distribution (GGD) [22]. The conclusions were followed [44], where a GGD was used. A similar solution using Student’s t distribution was also used in the TMW method [45], where a principle of blending probability distributions was introduced. However, further research showed that an important issue is the influence of the implemented prediction models on the type of distributions, where parameters describe the actual distributions of prediction errors sufficiently well [46].
A less-often-used approach consists of omitting the prediction stage and coding adaptively pixels instead of prediction errors [47].
Among the most effective codecs, the most often used is an adaptive version of a multivalue arithmetic coder with a reduced number of coding symbols [48] obtained using a non-linear quantization stage. A reduced number of symbols results in an increase in adaptation speed (there are fewer contexts). Even faster probability distribution adaptations can be achieved when using the binary version of the arithmetic encoder. Therefore, our proposed solution to the entropy coder is a completely new context adaptive binary arithmetic coder (CABAC). The absolute error value | e ( 0 ) | is coded by an adaptive Golomb code, then compressed by two arithmetic coders. Additionally, if the error is non-zero, then the third coder for sign compression is activated. This two-stage approach significantly improves coder adaptability to the quickly changing properties of image prediction error.

5.1. Short-Term Estimation of Probability Distribution

The presented rules for determining the context number are an extension of ideas from previous works [14,15,42,43]. Firstly, values ω 1 and ω 2 are computed:
ω 1 = max { 2.3 · e ( 1 ) , 2 · e ( 2 ) , 1.6 · e ( 4 ) , 0.95 · e ( 3 ) + e ( 4 ) , 1.25 · e ( 5 ) + e ( 10 ) , 1.3 · e ( 3 ) , 1.375 · e ( 1 ) + e ( 2 ) , 0.4 · e ( 6 ) + e ( 7 ) , 0.4 · e ( 8 ) + e ( 9 ) } ,
ω 2 = 1 δ j = 1 m d ¯ j · | e ( j ) | ,
where δ = j = 1 m d ¯ j ad m = 28 . For d ¯ j , see the description of Formula (16). Next, the computed parameters are:
ω 3 = max 2.1 · ω 1 , 10.2 · ω 2 ,
ω 4 = max { P ( 1 ) P ( 3 ) , P ( 2 ) P ( 4 ) , 1.1 · P ( 1 ) P ( 2 ) , 0.7 · P ( 2 ) P ( 3 ) , 0.9 · P ( 1 ) P ( 4 ) , 0.9 · P ( 3 ) P ( 4 ) } ,
which are used for final calculation of ω:
ω = ω 3 + 0.48 · ω 4 .
ω is quantized using t 1 thresholds T h ( j ) , which for t = 16 , gives a 4-bit number b medium of short-term probability distribution T h = { 3 , 7 , 12 , 18 , 24 , 31 , 39 , 49 , 59 , 72 , 90 , 115 , 140 , 170 , 210 } .

5.2. Medium-Term Estimation of Probability Distribution

Golomb code is particularly well suited for coding data with a geometric distribution [49]. Parameter m G is chosen so that for p, the parameter of geometric probability distribution p m G 1 / 2 . The value of m G is searched for each coded | e ( 0 ) | among the 6 probability distributions of the form G ( i ) = ( 1 p ) p i . They are defined by m G values m = { 1 , 1 , 2 , 3 , 4 , 12 } . The current p parameter is calculated as p = ( K 1 ) / K , where K = ω 2 for m = 48 (40). Then, m G is evaluated [49,50]:
m G = log 10 ( 1 + p ) log 10 p .
According to a previous observation [51], m G l n ( 2 ) K . Then, the value of l n ( 2 ) K is quantized using thresholds { 0.01 , 1.5 , 3.6 , 11.0 , 16.0 } ; the obtained index b Golomb with values of { 0 , 1 , . . . , 5 } is used to select element of set m . The value b Golomb is a part of a context number, and is constant when coding bits of Golomb word representing current | e ( 0 ) | . Golomb word consists of unary coded group number u G = | e ( 0 ) | / m G , and for m G > 1 , the group element number v G = | e ( 0 ) | u G · m G (remainder of division by m G ) is coded using phased-in binary code, which is the variant of the Huffman code for sources with m G equally probable symbols [49]. Specifying the k = log 2 m G parameter means that in each group, the first l = 2 k m G elements v G are coded using k 1 bits, and the remaining m l elements are coded as number v G + l using k bits [21]. The value | e ( 0 ) | is transformed into two bitstreams representing u G and v G in the Golomb code block (Figure 2).

5.3. Context Number Calculation

Binary sequences u G and v G are coded by separate binary arithmetic coders. The context number for u G is computed as follows:
c t x u = 6 · ( 2 4 · b Golomb + b medium ) + b unary ,
where b unary is in the range { 0 , 1 , . . . , 5 } and denotes the number of currently coded u G bits (starting with the most significant one). If there are more than six bits, then b unary = 5 . Hence, there are 576 c t x u contexts. The number of contexts for v G is 192:
c t x v = 2 4 · ( 2 · b Golomb + b phased - in ) + 2 3 · b ω + 2 2 · b binary + b unary 2 ,
where b unary 2 = min { b unary , 3 } and b binary is the most significant bit of v G , b ω is a one-bit number obtained by quantizing ω using threshold 49, and b phased - in is 0 for the first coded bit of v G and 1 otherwise. If b phased - in = 0 , then b binary = 0 .

5.4. Long-Term Adaptation of Probability Distribution

Each context number is associated with counters of its zeros and ones: n ( 0 ) and n ( 1 ) . The counter values cannot grow infinitely; when the sum n ( 0 ) + n ( 1 ) reaches a value N max , both counts are halved. For u G , use N max = 2 10 , and the counters’ initial values are n ( 0 ) = n ( 1 ) = 1 . For v G , the values are N max = 2 11 , and initially, n ( 0 ) = n ( 1 ) = 16 .

5.5. Sign Coding

Separate error e ( 0 ) sign coding is rather uncommon in binary arithmetic coders; hence, it is a particular feature of the coder presented in this paper. There are 32 contexts for sign e ( 0 ) coding (5-bit context number). Bits of the context number are: signs of neighbor errors sgn ( e ( 1 ) ) and sgn ( e ( 2 ) ) (Figure 1). Then, bit b ω ; see the comment to (46). Finally, the last two bits are obtained from the four-state quantization of | e ( 0 ) | using thresholds { 1 , 3 , 16 } . Initial counts of zeros and ones are set to n ( 0 ) = n ( 1 ) = 2 . For the sign coder, N max = 2 10 .

6. Performance and Complexity Analysis of New Algorithms

6.1. Generalized Criterion for Minimizing the Bit Average of a Coder

In [26], they observed that minimization of the mean square error is not equivalent to minimization of the first-order entropy and the average bitrate of a coded image. This observation prompted us to search for the more accurate global static predictors from this point of view for each of 45 test images using the Minkowsky vector distance criterion [52]:
L M = ( n Q x ( n ) ( 0 ) x ^ ( n ) ( 0 ) M ) 1 M ,
where x ( n ) ( 0 ) and x ^ ( n ) ( 0 ) are reference and actual vector elements, e.g., actual samples and their estimates (1), respectively; Q is the data training area for predictive model learning. It appeared that best predictors were obtained for M values between 0.6 and 0.9 (compromise M = 0.75 ). For comparison, in [26], the MMAE criterion meant that M = 1 ; for M = 2 , the criterion was equivalent to MMSE. In [26], some improved results were obtained in comparison to MMSE; however, the improvements were not as evident for the final bitrate as for prediction error entropy. This was due to the extremely difficult task of joint optimization of modelling and entropy coding stages, at least for online methods. In the case of advanced offline techniques such as MRP [15], the optimization simply resulted in the iterative nature of such algorithms and in their high computational complexity (forward adaptation). Replacing MMSE by some version of the Minkovsky criterion led to an important increase in potentially enhanced method computational complexity, making it impractical.
The results of [52] were so striking that we decided to continue experiments with the Minkovsky criterion. It appeared that the optimum value M can be strongly variable. We started with OLS prediction, followed by an adaptive arithmetic coder, and the value jumped from approximately 0.75 [52] to 1.3, partly due to the locality of the OLS predictors. After adding some kind of cumulated predictor error removal (compare with Section 4), the value increased to 1.5. The 3ST-OLS technique [31] has an additional NLMS+ stage (compare with Section 3.3), and for it, the optimal M is 1.7. Finally, for the proposed EM-WLS version, the best M value is 1.9 (Figure 5), and the gain in output data entropy with respect to MMSE criterion is very small and unlikely to be exploited in practice (of course, in the paper, we present the algorithm based on MMSE).
In summary, structures of the most effective data compacting algorithms seem to be collections of ad-hoc concepts that work, testing for how close to 2 the optimum M value is to the Minkovsky criterion for predictor optimization seems to validate these concepts, or not. For example, our findings highlight a non-obvious fact: multi-stage multimedia lossless coders are often more accurate than one-stage coders, in accordance with what is known about linear predictors. The added stages could even deteriorate the result; when data are scarce, combined total linear predictor length may be prolonged beyond limits given by length criteria, such as Akaike, MDL, etc. However, as in the examples above, the addition of a stage to a coder may push the optimum M value towards 2, and this seems to be the effect that matters.
In line with the findings presented here, the cascaded EM-WLS algorithm is close to optimal for the Minkovsky criterion (Figure 6), providing the advantages of an online approach (backward adaptation) and excellent performance (see Section 3.2).

6.2. Performance Analysis of Algorithm with LA-OLS in Main Predictor Stage

Testing of this method started with checking if each of the novel aspects of the method improved overall technique performance. Table 1 compares the average bitrates per pixel for the LA-OLS method (last column) with algorithm versions with an omitted feature. In Test 1, Formula (8) was implemented instead of (11); in Test 2, predictor coefficients were not weighted (12); in Test 3, there were no NLMS stages; and in Test 4, there was no error bias cancelling stage. As can be seen, the results for the full method were superior. The situation was similar when using EM-WLS as the Main Predictor.
Figure 5 shows the bit average for a set of 45 test images as a function of the LA-OLS predictor order. Table 2 presents results for LA-OLS predictor orders from 6 to 20, size of optimal training window size W, and execution times of the versions, times are for coding of Lennagray image on i5 3.4 GHz PC. As can be seen, the best parameters are obtained for r = 18 , and W = 10 . For this case total execution time is 5.86 s, which is very close to that for GLICBAWLS method [32]. Additional time needed for the realisation of NLMS and bias correction stages is quite big when these stages are appended to described in [53] CoBALPultra algorithm, its execution time extends from 2.07 s to 2.62 s.

6.3. Effects of Neighborhood Selection in Linear Prediction

The most accurate result is obtained when the closest possible neighborhood of the coded pixel (in terms of Euclidean distance) is selected, consisting of r pixels P ( i ) in (1), where r is the predictor order. This was confirmed by experiments. Notably, there are groups of pixels equidistant to the coded pixel P ( 0 ) . For r 30 , these are pixels with numbers as shown in Figure 7a, where equidistant pixels are numbered clockwise: {1, 2}, {3, 4}, {5, 6}, {7, 8, 9, 10}, {11, 12}, {13, 14}, {15, 16, 17, 18}, {19, 20, 21, 22}, {23, 24}, {25, 26, 27, 28}, and {29, 30}. In the case of orders r belonging to the set {2, 4, 6, 10, 12, 14, 18, 22, 24, 28, 30}, pixel numbering is irrelevant, as long as we maintain the rule of the Euclidean distance minimization. Examples can be found in previous works for r = 6 [54], for r = 10 [30], for r = 12 [33,55,56,57], and for r = 18 [29].
A problem arises for other prediction orders, e.g., when r = 5 , we have to decide which pixel, P ( 5 ) or P ( 6 ) , completes the set of four nearest pixels: P ( 1 ) , P ( 2 ) , P ( 3 ) , and P ( 4 ) . For example, in [58], the fifth neighbor was pixel P ( 5 ) (Figure 7a). The finding seems to be justified by the fact that we minimized the number of image rows, to which the procedure of calculating the predicted value must have access. This is important for optimizing execution time or resource usage for hardware solutions.
In many cases, the speed of calculations has high priority. In such cases, low orders of prediction are implemented as a compromise, and even some simplifications are introduced to reduce the complexity of Equation (8) calculation to close to that for the model of order r = 5 while maintaining compression efficiency close to that offered by order r = 6 [54].
Some solutions in the literature prefer the Manhattan ( l 1 norm) over the Euclidean distance. For example, in [32], the neighborhood for distance l 1 3 ( r = 12 ) was used, and in [44,46] distances were l 1 4 ( r = 20 ) and l 1 5 ( r = 30 ), respectively.
In our opinion, the best approach to the numbering of neighborhood pixels is to minimize the Euclidean distance. In the case of equidistant pixels, counterclockwise numbering should be used (Figure 7b). Our experiments confirmed the advantage of this approach over clockwise numbering. This advantage is most noticeable when using linear predictors of orders 3, 5, and 7. This is particularly important when using multiple prediction models of different orders together, as in Section 3.2.3.
An intuitive explanation is that, assuming the same level of correlation of equidistant neighbors from pixel P ( 0 ) , the pixels on the right side of P ( 0 ) should be selected first. This is because the number of neighbors to the left of P ( 0 ) is predominant, for example, for r = 14 , there are seven of them; another three are located directly above the coded pixel, and on its right side, there are only four of them. The dominance of left-handed neighbors introduces some imbalance of information. Therefore, counterclockwise numbering, at least for some prediction orders, reduces this disproportion.
The authors of [26] used one step further in this direction by relaxing the Euclidean distance criterion for a model of order r = 14 . They decided to use only three rows, keeping the six neighbors to the left (two columns in each of three rows) equal to that of those to the right of the coded pixel P ( 0 ) (together with two pixels directly above it: four columns in each of two rows).

6.4. Performance Analysis of New Algorithms

Section 6.2 confirms the usefulness of all blocks in the proposed cascade model (see Figure 2) for total coder compression efficiency maximization. Additionally, the dependence is shown of coding time on parameters r and W when using LA-OLS as the Main Predictor. The highest efficiency was obtained for r = 18 and W = 10 . For these settings, the encoding time of the Lennagrey image ( 512 × 512 pixels) is 5.86 s.
When EM-WLS was used in the first predictive block, the coding time increased significantly up to 107.4 s (decoding time was similar due to the same process for calculating predictions of coded pixels in the decoder). The time is not dependent on image content; it is only linearly proportional to the number of pixels in the encoded image.
Table 3 presents the time contributions of the EM-WLS cascade model coding stages to the whole coding time. It shows that the total time contribution of the last three stages is less than 1% (two last entries of Table 3). The same holds for total processing time of both NLMS blocks. Among the most complex operations is the determination of predictive model, requiring the solution of 22 matrix equations, which is performed twice due to the use of ridge-regression (Formulas (11) and (19)). This is performed using Cholesky decomposition, which requires 13.21% of the coding time. However, the most complex calculation is that of filling the R matrix and P vector (see Formulas (9) and (10)). The high computational complexity of this step is due to each coded pixel, for as much as W · ( W + 1 ) · r · ( r + 5 ) , multiplications and additions should be performed despite symmetry of the R matrix. For r = 24 and W = 14 , this necessitates 146,160 multiplication and addition operations.
Table 4, Table 5, Table 6 and Table 7 compare LA-OLS and EM-WLS performance to those of provided in the literature for other efficient lossless image coding techniques. Two sets of test images were used for this purpose [59,60]. The execution times of CALIC and JPEG-LS, JPEG2000, and BMF) are below one second. The methods in Table 4 are faster than EM-WLS, but perform worse: Blend-20 is three times faster, LA-OLS codes the Lennagray image in 5.86 s (Pentium i5 3.4 GHz), in contrast to 52.5 s for Vanilic WLS-D. The coding time using CoBALPultra2, GLICBAWLS, 3ST-OLS, SWAP, and RALP is a few seconds.
Among methods with the most complex implementations, EM-WLS stands out with an execution time 107.4 s. This is still 3.9 times less than for MRP 0.5. GPR-BP, MRP-SSP, and TMWLego are even more computationally complex. As can be seen, being less complex, EM-WLS is, on average, closer to optimum than these algorithms. However, decoders for MRP 0.5 and, hence, GPR-BP and MRP-SSP, are relatively time efficient due to the use of prediction with forward adaptation, whereas the EM-WLS decoder complexity is similar to that of a coder. EM-WLS files are on average 11.98% shorter than those of JPEG-LS.

7. Conclusions

In this work, different approaches to lossless compression of images, such as forward and backward adaptation, were analyzed. The paper contains some remarks on neighborhood selection in pixel prediction (Section 6.3) and notes on relationships between Minkovsky distance, final prediction error first-order entropy, and eventual coder average data rate (Section 6.4). The proposed EM-WLS algorithm construction was influenced by these observations. When compared to the best algorithms, on average, the proposed EM-WLS lossless image coding technique is currently the most efficient in terms of data compaction. The algorithm is less computationally complex than its main competitors. It is based on the AVE-WLS approach, being an expanded version of WLS, and has a cascade form, where the EM-WLS predictor is followed by a two-stage NLMS section, and by a final Context-Dependent Constant Component Removing stage. The new sophisticated binary context arithmetic coder is much less computationally complex than the preceding data modelling stage; hence, it can be used in other image compression methods. In the proposed universal cascade architecture (Figure 2), the Main Predictor module can be converted to an LA-OLS coder with lower implementation complexity (while maintaining high compression efficiency) due to the simpler prediction value calculation technique, as shown in Section 3.1.

Author Contributions

Conceptualization, G.U. and R.S.; methodology, G.U.; software, G.U.; validation, G.U., R.S., and C.W.; formal analysis, G.U.; investigation, G.U. and R.S.; resources, G.U.; data curation, G.U.; writing—original draft preparation, G.U., R.S., and C.W.; writing—review and editing, G.U., R.S., and C.W.; visualization, G.U. and C.W.; supervision, G.U.; project administration, G.U.; funding acquisition, G.U. and R.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Kassim, A.A.; Yan, P.; Lee, W.S.; Sengupta, K. Motion compensated lossy-to-lossless compression of 4-D medical images using integer wavelet transforms. IEEE Trans. Inf. Technol. Biomed. 2005, 9, 132–138. [Google Scholar] [CrossRef] [PubMed]
  2. Sanchez, V.; Nasiopoulos, P.; Abugharbieh, R. Efficient 4D motion compensated lossless compression of dynamic volumetric medical image data. In Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing, Las Vegas, NV, USA, 31 March–4 April 2008; pp. 549–552. [Google Scholar] [CrossRef]
  3. Scharcanski, J. Lossless and Near-Lossless Compression for Mammographic Digital Images. In Proceedings of the International Conference on Image Processing, Atlanta, GA, USA, 8–11 October 2006; pp. 2253–2256. [Google Scholar] [CrossRef]
  4. Strom, J.; Cosman, P. Medical Image Compression with Lossless Regions of Interest. Signal Process. 1997, 59, 155–171. [Google Scholar] [CrossRef] [Green Version]
  5. Wang, Z.; Li, G.; Xie, X. A Near-Lossless Image Compression Algorithm Suitable for Hardware Design in Wireless Endoscopy System. EURASIP J. Adv. Signal Process. 2007, 48–61. [Google Scholar] [CrossRef] [Green Version]
  6. Chen, X.; Canagarajah, C.; Vitulli, R.; Nunez-Yanez, J. Lossless Compression for Space Imagery in a Dynamically Reconfigurable Architecture. In Proceedings of the International Workshop on Applied Reconfigurable Com-puting (ARC2008), London, UK, 26–28 March 2008; Volume 4943, pp. 332–337. [Google Scholar] [CrossRef]
  7. CCSDS (Ed.) Lossless Data Compression. Recommendation for Space Data System Standards; CCSDS: Washington, DC, USA, 2007. [Google Scholar]
  8. Andriani, S.; Calvagno, G.; Erseghe, T.; Mian, G.A.; Durigon, M.; Rinaldo, R.; Knee, M.; Walland, P.; Koppetz, M. Comparison of lossy to lossless compression techniques for digital cinema. In Proceedings of the International Conference on Image Processing (ICIP ’04), Singapore, 24–27 October 2004; Volume 1, pp. 513–516. [Google Scholar] [CrossRef]
  9. Marcellin, M.; Gormish, M.; Bilgin, A.; Boliek, M. An Overview of JPEG2000. In Proceedings of the Data Compression Conference, Snowbird, UT, USA, 28–30 March 2000; pp. 523–541. [Google Scholar]
  10. Richardson, I. H.264 and MPEG-4 Video Compression: Video Coding for Next-Generation Multimedia/Iain E. G. Richardson; John Wiley & Sons Ltd.: Hoboken, NJ, USA, 2004. [Google Scholar]
  11. Wu, X.; Memon, N. Context-based, adaptive, lossless image coding. IEEE Trans. Commun. 1997, 45, 437–444. [Google Scholar] [CrossRef]
  12. Weinberger, M.J.; Seroussi, G.; Sapiro, G. The LOCO-I lossless image compression algorithm: Principles and standardization into JPEG-LS. IEEE Trans. Image Process. 2000, 9, 1309–1324. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  13. Meyer, B.; Tischer, P. TMWLego—An Object Oriented Image Modelling Framework. In Proceedings of the Data Compression Conference, Snowbird, UT, USA, 27–29 March 2001; IEEE Computer Society: Washington, DC, USA, 2001; p. 504. [Google Scholar]
  14. Ye, H.; Deng, G.; Devlin, J.C. A Weighted Least Squares Method For Adaptive Prediction in Lossless Image Compression. In Proceedings of the Picture Coding Symposium, Saint-Malo, France, 23–25 April 2003; pp. 489–493. [Google Scholar]
  15. Matsuda, I.; Ozaki, N.; Umezu, Y.; Itoh, S. Lossless coding using variable block-size adaptive prediction optimized for each image. In Proceedings of the 13th European Signal Processing Conference, Antalya, Turkey, 4–8 September 2005; pp. 1–4. [Google Scholar]
  16. Ulacha, G.; Stasinski, R. Performance optimized predictor blending technique for lossless image coding. In Proceedings of the 36th International Conference on Acoustics, Speech and Signal Processing (ICASSP’11), Prague, Czech Republic, 22–27 May 2011; pp. 1541–1544. [Google Scholar] [CrossRef]
  17. Dai, W.; Xiong, H. Gaussian Process Regression Based Prediction for Lossless Image Coding. In Proceedings of the Data Compression Conference, Snowbird, UT, USA, 26–28 March 2014; pp. 93–102. [Google Scholar] [CrossRef]
  18. Dai, W.; Xiong, H.; Wang, J.; Zheng, Y.F. Large Discriminative Structured Set Prediction Modeling with Max-Margin Markov Network for Lossless Image Coding. IEEE Trans. Image Process. 2014, 23, 541–554. [Google Scholar] [CrossRef] [PubMed]
  19. Ulacha, G.; Stasinski, R. Enhanced Lossless Image Coding Methods Based on Adaptive Predictors. In Proceedings of the International Conference on Systems, Signals and Image Processing IWSSIP, Rio de Janeiro, Brazil, 17–19 June 2010; pp. 312–315. [Google Scholar]
  20. Przelaskowski, A. Hybrid Lossless Coder of Medical Images with Statistical Data Modelling. In Proceedings of the International Conference on Computer Analysis of Images and Patterns CAIP: Computer Analysis of Images and Patterns, Warsaw, Poland, 5–7 September 2001; Volume 2124, pp. 92–101. [Google Scholar] [CrossRef]
  21. Sayood, K. Introduction to Data Compression, 5th ed.; Morgan Kaufmann Publ./Elsevier Inc.: Cambridge, MA, USA, 2018. [Google Scholar] [CrossRef]
  22. Ye, H.; Deng, G.; Devlin, J.C. Parametric probability models for lossless coding of natural images. In Proceedings of the 11th European Signal Processing Conference EUSIPCO-02, Toulouse, France, 3–6 September 2002; pp. 514–517. [Google Scholar]
  23. Memon, N.; Sayood, K. An asymmetric lossless image compression technique. In Proceedings of the International Conference on Image Processing, Washington, DC, USA, 23–26 October 1995; Volume 3, pp. 97–100. [Google Scholar] [CrossRef]
  24. Golchin, F.; Paliwal, K.K. Classified adaptive prediction and entropy coding for lossless coding of images. In Proceedings of the International Conference on Image Processing, Santa Barbara, CA, USA, 26–29 October 1997; Volume 3, pp. 110–113. [Google Scholar] [CrossRef]
  25. Aiazzi, B.; Alparone, L.; Baronti, S. Near-lossless image compression by relaxation-labelled prediction. Signal Process. 2002, 82, 1619–1631. [Google Scholar] [CrossRef]
  26. Hashidume, Y.; Morikawa, Y. Lossless image coding based on minimum mean absolute error predictors. In Proceedings of the SICE Annual Conference, Takamatsu, Japan, 17–20 September 2007; pp. 2832–2836. [Google Scholar] [CrossRef]
  27. Wang, X.; Wu, X. On Design of Linear Minimum-Entropy Predictor. In Proceedings of the IEEE 9th Workshop on Multimedia Signal Processing, MMSP’07, Crete, Greece, 1–3 October 2007; pp. 199–202. [Google Scholar] [CrossRef]
  28. Huang, H.; Franti, P.; Huang, D.; Rahardja, S. Cascaded RLS–LMS Prediction in MPEG-4 Lossless Audio Coding. IEEE Trans. Audio Speech Lang. Process. 2008, 16, 554–562. [Google Scholar] [CrossRef]
  29. Ye, H.; Deng, G.; Devlin, J.C. Adaptive linear prediction for lossless coding of greyscale images. In Proceedings of the IEEE International Conference on Image Processing, Vancouver, BC, Canada, 10–13 September 2000; Volume 1, pp. 128–131. [Google Scholar] [CrossRef]
  30. Wu, X.; Barthel, E.U.; Zhang, W. Piecewise 2D autoregression for predictive image coding. In Proceedings of the International Conference on Image Processing. ICIP98 (Cat. No.98CB36269), Chicago, IL, USA, 7 October 1998; Volume 3, pp. 901–904. [Google Scholar] [CrossRef]
  31. Ulacha, G.; Stasinski, R. Three-Stage OLS Method for Improved Lossless Image Coding. In Proceedings of the International Conference on Systems, Signals and Image Processing (IWSSIP), Maribor, Slovenia, 20–22 June 2018; pp. 1–4. [Google Scholar] [CrossRef]
  32. Meyer, B.; Tischer, P. Glicbawls-Grey Level Image Compression by Adaptive Weighted Least Squares. In Proceedings of the Data Compression Conference, Snowbird, UT, USA, 27–29 March 2001; p. 503. [Google Scholar]
  33. Deng, G.; Ye, H.; Marusic, S.; Tay, D. A method for predictive order adaptation based on model averaging. In Proceedings of the International Conference on Image Processing, Barcelona, Spain, 14–17 September 2003; Volume 2, pp. 189–192. [Google Scholar] [CrossRef]
  34. Wu, X.; Zhai, G.; Yang, X.; Zhang, W. Adaptive Sequential Prediction of Multidimensional Signals with Applications to Lossless Image Coding. IEEE Trans. Image Process. 2011, 20, 36–42. [Google Scholar] [CrossRef]
  35. Hoerl, A.E.; Kennard, R.W. Ridge Regression: Biased Estimation for Nonorthogonal Problems. Technometrics 1970, 12, 55–67. [Google Scholar] [CrossRef]
  36. Sayood, K. Lossless Compression Handbook; Academic Press: San Diego, CA, USA, 2003. [Google Scholar]
  37. Schuller, G.; Yu, B.; Huang, D. Lossless coding of audio signals using cascaded prediction. In Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing, Proceedings (Cat. No.01CH37221), Salt Lake City, UT, USA, 7–11 May 2001; Volume 5, pp. 3273–3276. [Google Scholar] [CrossRef]
  38. Ulacha, G.; Stasinski, R. Effective context lossless image coding approach based on adaptive prediction. World Acad. Sci. 2009, 57, 63–68. [Google Scholar]
  39. Topal, C.; Gerek, O. Pdf sharpening for multichannel predictive coders. In Proceedings of the 14th European Signal Processing Conference (EUSIPCO-06), Florence, Italy, 4–8 September 2006; pp. 1–4. [Google Scholar]
  40. Golchin, F.; Paliwal, K.K. A lossless image coder with context classification, adaptive prediction and adaptive entropy coding. In Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing, Seattle, WA, USA, 15 May 1998; pp. 2545–2548. [Google Scholar]
  41. Kau, L.-J.; Lin, Y.-P. Lossless image coding using a switching predictor with run-length encodings. In Proceedings of the 2004 IEEE International Conference on Multimedia and Expo (ICME) (IEEE Cat. No.04TH8763), Taipei, Taiwan, 27–30 June 2004; pp. 1155–1158. [Google Scholar] [CrossRef]
  42. Deng, G.; Ye, H. Lossless image compression using adaptive predictor symbol mapping and context filtering. In Proceedings of the International Conference on Image Processing (Cat. 99CH36348), Kobe, Japan, 24–28 October 1999; Volume 4, pp. 63–67. [Google Scholar] [CrossRef]
  43. Aiazzi, B.; Alparone, L.; Baronti, S. Context modeling for near-lossless image coding. IEEE Signal Process. Lett. 2002, 9, 77–80. [Google Scholar] [CrossRef]
  44. Matsuda, I.; Shirai, N.; Itoh, S. Lossless Coding Using Predictors and Arithmetic Code Optimized for Each Image. In Proceedings of the International Workshop on Visual Content Processing and Representation, Madrid, Spain, 18–19 September 2003; Volume 2849, pp. 199–207. [Google Scholar] [CrossRef]
  45. Meyer, B.; Tischer, P. TMW—A new method for lossless image compression. In Proceedings of the International Picture Coding Symposium (PCS’97), Berlin, Germany, 10–12 September 1997; pp. 533–538. [Google Scholar]
  46. Ueno, H.; Morikawa, Y. A new distribution modeling for lossless image coding using MMAE predictors. In Proceedings of the 6th International Conference on Information Technology and Applications, Hanoi, Vietnam, 9–12 November 2009; pp. 249–254. [Google Scholar]
  47. Matsuda, I.; Ishikawa, T.; Kameda, Y.; Itoh, S. A Lossless Image Coding Method Based on Probability Model Optimization. In Proceedings of the 26th European Signal Processing Conference (EUSIPCO), Rome, Italy, 3–7 September 2018; pp. 156–160. [Google Scholar] [CrossRef]
  48. Deng, G. Transform domain LMS-based adaptive prediction for lossless image coding. Signal Process. Image Commun. 2002, 17, 219–229. [Google Scholar] [CrossRef]
  49. Salomon, D. Data Compression-The Complete Reference, 4th ed.; Springer: Berlin/Heidelberg, Germany, 2007. [Google Scholar]
  50. Bhaskaran, V.; Konstantinides, K. Image and Video Compression Standards: Algorithms and Architectures, 2nd ed.; Kluwer Academic Publishers: Palo Alto, CA, USA, 1997. [Google Scholar] [CrossRef]
  51. Sugiura, R.; Kamamoto, Y.; Harada, N.; Moriya, T. Optimal Golomb-Rice Code Extension for Lossless Coding of Low-Entropy Exponentially-Distributed Sources. IEEE Trans. Inf. Theory 2018, 64, 3153–3161. [Google Scholar] [CrossRef]
  52. Ulacha, G.; Stasinski, R. Paths to future image lossless coding. In Proceedings of the ELMAR-2012, Zadar, Croatia, 12–14 September 2012; pp. 63–66. [Google Scholar]
  53. Ulacha, G.; Stasinski, R. New context-based adaptive linear prediction algorithm for lossless image coding. In Proceedings of the 2014 International Conference on Signals and Electronic Systems (ICSES), Poznan, Poland, 11–13 September 2014; pp. 1–4. [Google Scholar] [CrossRef]
  54. Jakhetiya, V.; Jaiswal, S.; Tiwari, A. A novel predictor coefficient interpolation approach for lossless compression of images. In Proceedings of the 2011 IEEE International Instrumentation and Measurement Technology Conference, Binjiang, China, 10–12 May 2011; pp. 1–4. [Google Scholar] [CrossRef]
  55. Li, X.; Orchard, M.T. Edge-directed prediction for lossless compression of natural images. IEEE Trans. Image Process. 2001, 10, 813–817. [Google Scholar]
  56. Takamura, S.; Matsumura, M.; Yashima, Y. A study on an evolutionary pixel predictor and its properties. In Proceedings of the 16th IEEE International Conference on Image Processing (ICIP’09), Cairo, Egypt, 7–10 November 2009; pp. 1921–1924. [Google Scholar]
  57. Kau, L.-J.; Lin, Y.-P. Least squares-adapted edge-look-ahead prediction with run-length encodings for lossless compression of images. In Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing, Las Vegas, NV, USA, 31 March–4 April 2008; pp. 1185–1188. [Google Scholar] [CrossRef]
  58. Ye, H.; Deng, G.; Devlin, J.C. Least squares approach for lossless image coding. In Proceedings of the Fifth International Symposium on Signal Processing and Its Applications (IEEE Cat. No.99EX359) (ISSPA ’99), Brisbane, QLD, Australia, 22–25 August 1999; Volume 1, pp. 63–66. [Google Scholar]
  59. Test Image Database 1. 2020. Available online: http://wernik.zut.edu.pl/shared/Image1.zip (accessed on 20 August 2020).
  60. Test Image Database 2. 2020. Available online: http://wernik.zut.edu.pl/shared/Image2.zip (accessed on 20 August 2020).
  61. Weinlich, A.; Amon, P.; Hutter, A.; Kaup, A. Probability Distribution Estimation for Autoregressive Pixel-Predictive Image Coding. IEEE Trans. Image Process. 2016, 25, 1382–1395. [Google Scholar] [CrossRef] [PubMed]
  62. Ulacha, G.; Stasinski, R. AVE-WLS Method for Lossless Image Coding. In Proceedings of the 10th International Conference on Image and Graphics (ICIG 2019), Beijing, China, 23–25 August 2019; LNCS 11903. Springer International Publishing: Beijing, China, 2019; pp. 23–34. [Google Scholar] [CrossRef]
  63. Kau, L.; Lin, Y.; Lin, C. Lossless image coding using adaptive, switching algorithm with automatic fuzzy context modelling. IEE Proc. Vis. Image Signal Process. 2006, 153, 684–694. [Google Scholar] [CrossRef]
  64. Hsieh, F.Y.; Wang, C.M.; Lee, C.C.; Fan, K.C. A Lossless Image Coder Integrating Predictors and Block-Adaptive Prediction. J. Inf. Sci. Eng. 2008, 24, 1579–1591. [Google Scholar]
Sample Availability: Database of the images are available on the webpage http://wernik.zut.edu.pl/shared/, the files Image1.zip and Image2.zip.
Figure 1. Numbering of neighborhood pixels or errors of P ( 0 ) or e ( 0 ) .
Figure 1. Numbering of neighborhood pixels or errors of P ( 0 ) or e ( 0 ) .
Entropy 22 00919 g001
Figure 2. Cascade of predictors forming the data modelling part of the coder.
Figure 2. Cascade of predictors forming the data modelling part of the coder.
Entropy 22 00919 g002
Figure 3. Training window Q for window parameter W = 3 .
Figure 3. Training window Q for window parameter W = 3 .
Entropy 22 00919 g003
Figure 4. Neighborhoods of pixels P ( 0 ) , and P off ( 0 ) for m = 5 and W = 3 .
Figure 4. Neighborhoods of pixels P ( 0 ) , and P off ( 0 ) for m = 5 and W = 3 .
Entropy 22 00919 g004
Figure 5. Dependence of the bit average on the LA-OLS prediction order (average for a set of 45 test images).
Figure 5. Dependence of the bit average on the LA-OLS prediction order (average for a set of 45 test images).
Entropy 22 00919 g005
Figure 6. Relationship between the bit average and M, the parameter of the Minkovsky minimization criterion applied to the Main Predictor (20) in the EM-WLS method for a database of 45 test images.
Figure 6. Relationship between the bit average and M, the parameter of the Minkovsky minimization criterion applied to the Main Predictor (20) in the EM-WLS method for a database of 45 test images.
Entropy 22 00919 g006
Figure 7. Two methods of numbering the pixels in the neighborhood of the currently coded pixel P ( 0 ) .
Figure 7. Two methods of numbering the pixels in the neighborhood of the currently coded pixel P ( 0 ) .
Entropy 22 00919 g007
Table 1. Bitrate comparison of simplified and full LA-OLS versions.
Table 1. Bitrate comparison of simplified and full LA-OLS versions.
Test1234LA-OLS
Bitrate for 45 images3.914143.909873.962343.974583.90510
Table 2. Performance of LA-OLS for a set of OLS orders (average for a set of 45 test images).
Table 2. Performance of LA-OLS for a set of OLS orders (average for a set of 45 test images).
rWBitrate for 45 ImagesExecution Time (s)
663.910902.80
763.907852.94
863.906143.02
983.904043.30
1083.900763.48
1183.900173.65
1283.899143.87
1383.898324.08
14103.898604.63
15103.898344.90
16103.897785.20
17103.897415.52
18103.896615.86
19103.896956.21
20103.897106.58
Table 3. Time contributions of algorithm steps to the total coding time.
Table 3. Time contributions of algorithm steps to the total coding time.
Filling the R Matrix
and P Vector
Solving Matrix
Equations
Two
NLMS Blocks
CDCCRCABAC and
Golomb Code
85.20%13.21%0.62%0.85%0.12%
Table 4. Bitrate comparison of some state-of-the-art algorithms for the first image database [59].
Table 4. Bitrate comparison of some state-of-the-art algorithms for the first image database [59].
Images JPEG-LS
[12]
CALIC
[11]
OLS
[14]
GLICBAWLS
[32]
CoBALPultra2
[31,53]
Vanilc WLS-D
[61]
3ST-OLS
[31]
Balloon2.8892.782.6902.6402.6732.6262.580
Barb4.6904.313.9393.9163.8813.8153.832
Barb24.6844.464.3104.3184.2474.2314.219
Board3.6743.513.3883.3923.3393.3323.296
Boats3.9303.783.6383.6283.5913.5893.544
Girl3.9223.723.5763.5653.5233.5233.471
Gold4.4754.354.2734.2764.2324.2294.208
Hotel4.3784.184.1624.1774.0674.0744.047
Zelda3.8843.693.5493.5373.5683.5013.504
Bit average4.0583.8643.7253.7173.6653.6583.633
Table 5. Bitrate comparison of some state-of-the-art and proposed algorithms for the first image database [59].
Table 5. Bitrate comparison of some state-of-the-art and proposed algorithms for the first image database [59].
Images TMWLego
[13]
LA-OLS MRP 0.5
[15]
Multi-WLS
[14]
Blend-20
[16]
AVE-WLS
[62]
Extended
Multi-WLS
Balloon2.602.5762.5792.602.5662.5492.546
Barb3.843.8323.8153.753.7683.7123.705
Barb24.244.2144.2164.184.1754.1344.126
Board3.273.2883.2683.273.2723.2423.240
Boats3.533.5373.5363.533.5203.4953.494
Girl3.473.4673.4653.453.4493.4113.409
Gold4.224.1984.2074.204.1854.1704.169
Hotel4.014.0404.0264.014.0073.9793.977
Zelda3.503.4993.4953.513.4983.4853.483
Bit average3.6313.6283.6233.6113.6053.5753.572
Table 6. Bitrate comparison of some state-of-the-art algorithms for the second image database [60].
Table 6. Bitrate comparison of some state-of-the-art algorithms for the second image database [60].
ImagesJPEG2000
[47]
FLIF 0.3
[47]
WebP
Lossless 0.6
[47]
SWAP
[63]
RALP
[57]
TMW
[45]
GLICBAWLS
[32]
PMO
[47]
Airplane4.0133.7943.8943.583.713.6013.6683.632
Baboon6.1076.0785.8915.865.815.7385.6665.727
Balloon3.0312.8562.9252.492.552.6492.6402.673
Barb4.6004.5004.5474.124.124.0843.9163.997
Barb24.7894.6564.6684.554.514.3784.3184.287
Camera4.5354.2854.2744.394.244.0984.2083.960
Couple2563.9153.6773.7033.753.633.4463.5433.415
Gold4.6034.5184.4644.304.324.2664.2764.476
Lennagrey4.3034.2524.1453.953.953.9083.9013.944
Peppers4.6294.5954.4954.254.274.2514.2464.267
Bit average4.4534.3214.3014.1244.1114.0424.0384.038
Table 7. Bitrate comparison of some state-of-the-art and new algorithms for the second image database [60].
Table 7. Bitrate comparison of some state-of-the-art and new algorithms for the second image database [60].
Images BMF
[15]
Vanilc
WLS-D
[61]
xMRP
[64]
MRP 0.5
[15]
LA-OLS GPR-BP
[17]
MRP-SSP
[18]
Extended
Multi-WLS
Airplane3.6023.5753.5903.5913.5683.4513.5363.547
Baboon5.7145.6785.6625.6635.6435.6415.6355.622
Balloon2.6492.6262.6132.5792.5762.5442.5482.546
Barb3.9593.8153.8173.8153.8323.8213.7643.705
Barb24.2764.2314.2264.2164.2144.1844.1754.126
Camera4.0603.9953.9713.9494.0013.9643.9013.920
Couple2563.4483.4593.3893.3883.4143.3393.3233.345
Gold4.2384.2294.2164.2074.1984.1784.1734.169
Lennagrey3.9293.8563.8853.8893.8813.8803.8773.847
Peppers4.2414.1874.2084.1994.1534.1704.1634.101
Bit average4.0123.9653.9583.9503.9483.9173.9103.893

Share and Cite

MDPI and ACS Style

Ulacha, G.; Stasiński, R.; Wernik, C. Extended Multi WLS Method for Lossless Image Coding. Entropy 2020, 22, 919. https://doi.org/10.3390/e22090919

AMA Style

Ulacha G, Stasiński R, Wernik C. Extended Multi WLS Method for Lossless Image Coding. Entropy. 2020; 22(9):919. https://doi.org/10.3390/e22090919

Chicago/Turabian Style

Ulacha, Grzegorz, Ryszard Stasiński, and Cezary Wernik. 2020. "Extended Multi WLS Method for Lossless Image Coding" Entropy 22, no. 9: 919. https://doi.org/10.3390/e22090919

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop