Adaptive encoding and decoding of bi-level images
First Claim
1. A process for encoding bi-level images, said process comprising:
- for each pixel location in raster order in the bi-level image,a predicting step for predicting a binary value for the pixel at a pixel location under consideration based on its context, wherein a context of a pixel refers to predicted values of a prescribed pattern of pixels preceding the pixel in raster order, said predicting step comprising,an assigning step for assigning a prescribed initial probability value to each of a set of potential context indexes, wherein a context index is a binary word comprising previously predicted binary values of a prescribed pattern of pixels of the bi-level image preceding in raster order a pixel whose value is currently being predicted, and wherein the initial probability value indicates the probability that the pixel whose value is currently being predicted has a first binary value associated with a first of the two colors of the bi-level image based on the predicted values of the prescribed pattern of pixels preceding the pixel being predicted, andfor each pixel location in raster order in the bi-level image,a computing step for computing the context index associated with the prescribed pattern of pixels preceding the pixel location under consideration, wherein pixel locations in the pattern that fall outside the bi-level image are considered to have the first binary value,an identifying step for identifying the probability value assigned to the computed context index,whenever the identified probability value indicates that the pixel location under consideration is more likely than not to have the first binary value, a second assigning step for assigning as the predicted pixel value for that location the first binary value, andwhenever the identified probability value indicates that the pixel location under consideration is not more likely than not to have the first binary value, a third assigning step for assigning as the predicted pixel value for that location the second binary value associated with a second of the two colors of the bi-level image, anda determining step for determining whether the predicted pixel value matches the actual pixel value for the pixel location under consideration; and
a compressing step for compressing the data concerning at which pixel locations the predicted pixel values match and do not match the actual values using a context-dependent, backward adaptive, Run-Length-Rice encoding technique.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and process for encoding and later decoding of bi-level images that does not use arithmetic coding, but whose performance is close to that of state-of-the-art coders such as JBIG, JBIG-2, and JB2. In general, the present bi-level coder (BLC) uses two context-based adaptive modules: 1) an adaptive predictor controlled by low-resolution probability estimates that is used to map the original pixels explicitly into prediction error pixels, and 2) a backward-adaptive Run-Length-Rice (RLR) coder that encodes the prediction error pixels. That'"'"'s contrary to the usual approach where the context-dependent probability estimate controls both pixel prediction and adaptive entropy coding. Due to its simplicity, in many applications BLC may be a better choice other current coders.
67 Citations
20 Claims
-
1. A process for encoding bi-level images, said process comprising:
-
for each pixel location in raster order in the bi-level image, a predicting step for predicting a binary value for the pixel at a pixel location under consideration based on its context, wherein a context of a pixel refers to predicted values of a prescribed pattern of pixels preceding the pixel in raster order, said predicting step comprising, an assigning step for assigning a prescribed initial probability value to each of a set of potential context indexes, wherein a context index is a binary word comprising previously predicted binary values of a prescribed pattern of pixels of the bi-level image preceding in raster order a pixel whose value is currently being predicted, and wherein the initial probability value indicates the probability that the pixel whose value is currently being predicted has a first binary value associated with a first of the two colors of the bi-level image based on the predicted values of the prescribed pattern of pixels preceding the pixel being predicted, and for each pixel location in raster order in the bi-level image, a computing step for computing the context index associated with the prescribed pattern of pixels preceding the pixel location under consideration, wherein pixel locations in the pattern that fall outside the bi-level image are considered to have the first binary value, an identifying step for identifying the probability value assigned to the computed context index, whenever the identified probability value indicates that the pixel location under consideration is more likely than not to have the first binary value, a second assigning step for assigning as the predicted pixel value for that location the first binary value, and whenever the identified probability value indicates that the pixel location under consideration is not more likely than not to have the first binary value, a third assigning step for assigning as the predicted pixel value for that location the second binary value associated with a second of the two colors of the bi-level image, and a determining step for determining whether the predicted pixel value matches the actual pixel value for the pixel location under consideration; and a compressing step for compressing the data concerning at which pixel locations the predicted pixel values match and do not match the actual values using a context-dependent, backward adaptive, Run-Length-Rice encoding technique. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A process for encoding bi-level images, comprising:
-
for each pixel location in raster order in the bi-level image, a predicting step for predicting a binary value for the pixel at a pixel location under consideration based on its context, wherein a context of a pixel refers to predicted values of a prescribed pattern of pixels preceding the pixel in raster order, and a determining step for determining whether the predicted pixel value matches the actual pixel value for the pixel location under consideration; and a compressing step for compressing the data concerning at which pixel locations the predicted pixel values match and do not match the actual values using a context-dependent, backward adaptive, Run-Length-Rice encoding technique, wherein said compressing step comprises, an assigning step for assigning a prescribed initial k value to each context index, wherein a k value is used to compute a number representing a string of consecutive, raster ordered, prediction error values having the first binary value, an identifying step for identifying the k value assigned to the context index computed for the first pixel location in the bi-level image and subsequently for each pixel location that follows in raster order a pixel that triggered a codeword to be established, and for each pixel location in the bi-level image beginning with the first and proceeding in raster order, a second determining step for determining if the prediction error value assigned to the pixel location under consideration has the first or second binary value, whenever the prediction error value assigned to the pixel location under consideration has the first value, steps for taking no action unless the number of preceding pixels locations for which no action has been taken equals the last-identified k value and if it does equal this k value establishing a first type of codeword by representing the number of preceding pixel locations for which no action has been taken with a single first value, and whenever the prediction error value assigned to the pixel location under consideration has the second value, an establishing step for establishing a second type of codeword by representing the prediction error having the second value and the number of preceding pixel locations for which no action has been taken with a second value and a binary word indicating the number of preceding pixel locations for which no action has been taken. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A process for decoding a bi-level image encoded by a process that reduces the image data to a series of codewords from which can be derived prediction error values indicating whether the pixel values of each pixel location in the bi-level image had a first binary value or a second binary value, said codewords coming in two types a first of which is a first value representing a number of pixel locations that have a first binary prediction error value and the second of which comprises a second value followed by a binary word that indicates the number of pixel locations preceding a location having a second binary prediction error value that exhibit the first binary prediction error value, said process comprising:
-
a receiving step for receiving the series of codewords; for each pixel location in raster order in a restoration image of the encoded bi-level image; a predicting step for predicting a binary value for the pixel at the pixel location under consideration based on its context, wherein a context of a pixel refers to predicted values of a prescribed pattern of pixels preceding the pixel in raster order, and a deriving step for deriving a prediction error value for the pixel location under consideration from a received codeword; a comparing step for comparing in raster order the prediction error assigned to a pixel location of the restoration image and the predicted pixel value for that location using an exclusive OR process such that whenever the prediction error value is the first binary value the corresponding predicted pixel value is not changed, and whenever the prediction error value is the second binary value the corresponding predicted pixel value is flipped to its opposite binary value; and a designating step for designating the result of each prediction error and predicted pixel value comparison as a restored pixel value for the associated pixel location in the restoration image. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification