TECHNICAL FIELD

[0001]
The present invention relates to an image encoding apparatus, an image decoding apparatus, an image encoding method, an image decoding method, and a medium, which may be utilized for the transmission and storage of images.
BACKGROUND ART

[0002]
When compositing images, there are cases where information called an alpha value indicating the overlay area and the degree of transparency of an object is appended in addition to the luminance of the object. The alpha value is determined for each pixel, an alpha value of 1 indicating complete opacity or occlusion and an alpha value of 0 complete transparency or nonocclusion. Alpha values become necessary when overlaying an image of an object onto a background image. Hereinafter, an image represented only by such alpha values is called an alpha plane.

[0003]
In the case of a cloud, frosted glass, etc., an alpha value intermediate between [0, 1] may be used to represent the image, but there are cases where two values {0, 1} are sufficient.

[0004]
For the encoding of a conventional binary alpha plane, binary image coding techniques such as MR and MMR, defined in CCITT's international standards traditionally used for facsimile systems, etc., or coding techniques standardized by JBIG can be used. These coding schemes are referred to generically as binary still image coding. In binary still image coding, efficient coding can be achieved by predicting a low order pixel from a high order pixel in the scanning direction and by entropyencoding the difference between them.

[0005]
In a binary moving image, such as two successive alpha planes of a moving image, correlation between successive frames can be utilized. That is, efficient coding can be achieved by predicting a pixel to be encoded, from a previously obtained binary image having high correlation, and by encoding the difference between them, rather than predicting a loworder pixel from a highorder pixel in the scanning direction and encoding the difference between them.

[0006]
However, binary still image coding in the prior art has exploited only the correlation between the highorder and loworder pixels in the scanning direction even when a binary image having high correlation with the binary image to be encoded or decoded is obtained at the encoder or decoder, and hence the prior art has had the problem that a large number of code bits are required.

[0007]
For the encoding of a conventional alpha plane, waveform coding is used, as is done in the JPEG coding scheme.

[0008]
However, many alpha planes have the property that most portions are uniform and intermediate values are distributed along the boundary.

[0009]
Since such alpha planes contain high frequency components along the boundary, the waveform coding as employed in the prior art has had the problem that efficient coding is difficult to achieve.
DISCLOSURE OF THE INVENTION

[0010]
In view of the abovedescribed problems of the prior art, it is an object of the present invention to provide an image encoding apparatus, an image decoding apparatus, an image encoding method, an image decoding method, and a medium having recorded thereon a program which causes a computer to carry out their processing operations, wherein a pixel to be encoded is predicted from a previously obtained binary image having high correlation, and the difference between them is encoded, thereby achieving more efficient encoding and decoding than can be achieved with the binary image encoding and decoding techniques used in the prior art.

[0011]
In view of the abovedescribed problems, it is also an object of the present invention to provide an image encoding apparatus and its corresponding decoding apparatus, an image encoding method and its corresponding decoding method, and media storing their execution programs, wherein the distribution of intermediate values is analyzed, and a smoothing function approximating the distribution and a binary base image having only two values, a maximum value and a minimum value, are encoded respectively, thereby achieving more efficient coding than the prior art.

[0012]
The present invention of claim 1 is an image encoding apparatus comprising: blocking means 1 for taking as an input a target binary image to be encoded, and for obtaining a target block by dividing said target binary image into blocks each containing a plurality of pixels; blocking means 2 for obtaining a reference block by dividing a previously obtained reference binary image into blocks each containing a plurality of pixels;

[0013]
exclusive OR block constructing means for constructing an exclusive OR block by sequentially scanning said target block and said reference block and by exclusiveORing pixel values between said two blocks; and exclusive OR encoding means for generating a coded sequence representative of the results of said exclusiveORing, and for outputting the same as encoded data.

[0014]
The present invention of claim 2 is an image decoding apparatus comprising: blocking means 2 for obtaining a reference block by dividing a previously obtained reference binary image into blocks each containing a plurality of pixels; exclusive OR decoding means for recovering said exclusive OR block by decoding the encoded data encoded by the image encoding apparatus of claim 1; and target block constructing means for constructing a target block by combining said exclusive OR block with said reference block.

[0015]
The present invention of claim 9 is an image encoding apparatus comprising: blocking means 1 for taking as an input a target binary image to be encoded, and for obtaining a target block by dividing said target binary image into blocks each containing a plurality of pixels; blocking means 2 for obtaining a reference block by dividing a previously obtained reference binary image into blocks each containing a plurality of pixels;

[0016]
statistical model selecting means for selecting a statistical model from among a plurality of statistical models, based on the states of pixels surrounding a reference pixel in said reference block, said reference pixel corresponding to a target pixel in said target block; and entropy encoding means for entropyencoding said target pixel based on said selected statistical model, and for outputting the same as encoded data.

[0017]
The present invention of claim 12 is an image decoding apparatus comprising: blocking means 2 for obtaining a reference block by dividing a previously obtained reference binary image into blocks each containing a plurality of pixels; statistical model selecting means for selecting a statistical model from among a plurality of statistical models, based on the states of pixels surrounding a reference pixel in said reference block, said reference pixel corresponding to a target pixel in said target block; and entropy decoding means for recovering said target block by entropydecoding, based on said selected statistical model, the encoded data output from the image encoding apparatus of claim 9.

[0018]
The present invention of claim 14 is an image encoding apparatus according to claim 9, further comprising: motion estimating means for searching through said reference binary image for a block that most resembles said target block, and for obtaining motion information from the result of said searching, and wherein: said blocking means 2 is a motion compensated blocking means 2 which obtains a reference block by applying motion compensation to said reference binary image using said motion information, and said motion information also is output from said image encoding apparatus.

[0019]
The present invention of claim 15 is an image decoding apparatus according to claim 12, wherein said blocking means 2 is a motion compensated blocking means 2 which obtains a reference block by applying motion compensation to said previously obtained reference binary image using the motion information output from the image encoding apparatus of claim 14.

[0020]
The present invention of claim 16 is an image encoding apparatus according to claim 9, further comprising: reference block adoption determining means for comparing said target block with said reference block, and for determining, based on the result of said comparison, whether said reference block is to be adopted or not, and thereby switching the remainder of processing between various means; and target pixel encoding means for generating a coded sequence representative of pixel values in said target block, and for outputting the same as encoded data, and wherein: when said reference block adoption determining means determines that said reference block is to be adopted, said entropy encoding means and said statistical model selecting means are operated so that said encoded data from said entropy encoding means is output, while on the other hand, when it is determined that said reference block is not to be adopted, said target pixel encoding means is operated so that said encoded data from said target pixel encoding means is output, and the result of the determination as to whether said reference block is to be adopted or not is output as a reference block adoption determining signal.

[0021]
The present invention of claim 18 is an image decoding apparatus according to claim 12, further comprising: reference block adoption control means for determining, based on the reference block adoption determining signal output from the image encoding apparatus of claim 16 or 17, whether said reference block is to be adopted or not, and thereby switching the remainder of processing between various means; and target pixel decoding means for recovering said target block by decoding said encoded data output from said image encoding apparatus, and wherein: when said reference block adoption control means determines that said reference block is to be adopted, said entropy decoding means and said statistical model selecting means are operated so that said target block from said entropy decoding means is output, while on the other hand, when it is determined that said reference block is not to be adopted, said target pixel decoding means is operated so that said target block from said target pixel decoding means is output.

[0022]
The present invention of claim 20 is an image encoding apparatus comprising: blocking means 1 for taking as an input a target binary image to be encoded, and for obtaining a target block by dividing said target binary image into blocks each containing a plurality of pixels; blocking means 2 for obtaining a reference block by dividing a previously obtained reference binary image into blocks each containing a plurality of pixels; statistical model generating means for generating a statistical model for a target pixel from said reference block; and entropy encoding means for entropyencoding said target pixel based on said generated statistical model, and for outputting the same as encoded data.

[0023]
The present invention of claim 21 is an image decoding apparatus comprising: blocking means 2 for obtaining a reference block by dividing a previously obtained reference binary image into blocks each containing a plurality of pixels; statistical model generating means for generating a statistical model for a target pixel from said reference block; and entropy decoding means for recovering said target block by entropydecoding, based on said generated statistical model, the encoded data output from the image encoding apparatus of claim 20.

[0024]
The present invention of claim 26 is an image encoding method comprising the steps of: taking as an input a target binary image to be encoded, and obtaining a target block by dividing said target binary image into blocks each containing a plurality of pixels; obtaining a reference block by dividing a previously obtained reference binary image into blocks each containing a plurality of pixels; constructing an exclusive OR block by sequentially scanning said target block and said reference block and by exclusiveORing pixel values between said two blocks; and generating a coded sequence representative of the results of said exclusiveORing, and outputting the same as encoded data.

[0025]
The present invention of claim 27 is an image decoding method comprising the steps of: obtaining a reference block by dividing a previously obtained reference binary image into blocks each containing a plurality of pixels; taking the encoded data encoded by the image encoding method of claim 26 as an input, and recovering said exclusive OR block by decoding said encoded data; and constructing a target block by combining said exclusive OR block with said reference block.

[0026]
The present invention of claim 28 is an image encoding method comprising: blocking step 1 for taking as an input a target binary image to be encoded, and for obtaining a target block by dividing said target binary image into blocks each containing a plurality of pixels; blocking step 2 for obtaining a reference block by dividing a previously obtained reference binary image into blocks each containing a plurality of pixels; statistical model selecting step for selecting a statistical model from among a plurality of statistical models, based on the states of pixels surrounding a reference pixel in said reference block, said reference pixel corresponding to a target pixel in said target block; and entropy encoding step for entropyencoding said target pixel based on said selected statistical model, and for outputting the same as encoded data.

[0027]
The present invention of claim 29 is an image decoding method comprising: blocking step 2 for obtaining a reference block by dividing a previously obtained reference binary image into blocks each containing a plurality of pixels; statistical model selecting step for selecting a statistical model from among a plurality of statistical models, based on the states of pixels surrounding a reference pixel in said reference block, said reference pixel corresponding to a target pixel in said target block; and entropy decoding step for recovering said target block by entropydecoding, based on said selected statistical model, the encoded data output in accordance with the image encoding method of claim 28.

[0028]
The present invention of claim 30 is an image encoding method according to claim 28, further comprising: motion estimating step for searching through said reference binary image for a block that most resembles said target block, and for obtaining motion information from the result of said searching, and wherein: said blocking step 2 is a motion compensated blocking step 2 which obtains a reference block by applying motion compensation to said reference binary image using said motion information, and said motion information also is output from said image encoding method.

[0029]
The present invention of claim 31 is an image decoding method according to claim 29, wherein said blocking step 2 is a motion compensated blocking step 2 which obtains a reference block by applying motion compensation to said previously obtained reference binary image using the motion information output in accordance with the image encoding method of claim 30.

[0030]
The present invention of claim 32 is an image encoding method according to claim 28, further comprising: reference block adoption determining step for comparing said target block with said reference block, and for determining, based on the result of said comparison, whether said reference block is to be adopted or not, and thereby switching the execution of subsequent steps; and target pixel encoding step for generating a coded sequence representative of pixel values in said target block, and for outputting the same as encoded data, and wherein: when it is determined in said reference block adoption determining step that said reference block is to be adopted, said entropy encoding step and said statistical model selecting step are executed so that said encoded data from said entropy encoding step is output, while on the other hand, when it is determined that said reference block is not to be adopted, said target pixel encoding step is executed so that said encoded data from said target pixel encoding step is output, and the result of the determination as to whether said reference block is to be adopted or not is output as a reference block adoption determining signal.

[0031]
The present invention of claim 34 is an image decoding method according to claim 29, further comprising: reference block adoption control step for determining, based on the reference block adoption determining signal output in accordance with the image encoding method of claim 32 or 33, whether said reference block is to be adopted or not, and thereby switching the execution of subsequent steps; and target pixel decoding step for recovering said target block by decoding said encoded data output in accordance with said image encoding method, and wherein: when it is determined in said reference block adoption control step that said reference block is to be adopted, said entropy decoding step and said statistical model selecting step are executed so that said target block from said entropy decoding step is output, while on the other hand, when it is determined that said reference block is not to be adopted, said target pixel decoding step is executed so that said target block from said target pixel decoding step is output.

[0032]
The present invention of claim 36 is an image encoding method comprising the steps of: taking as an input a target binary image to be encoded, and obtaining a target block by dividing said target binary image into blocks each containing a plurality of pixels; obtaining a reference block by dividing a previously obtained reference binary image into blocks each containing a plurality of pixels; generating a statistical model for a target pixel from said reference block; and entropyencoding said target pixel based on said generated statistical model, and outputting the same as encoded data.

[0033]
The present invention of claim 37 is an image decoding method comprising: obtaining a reference block by dividing a previously obtained reference binary image into blocks each containing a plurality of pixels; generating a statistical model for a target pixel from said reference block; and recovering said target block by entropydecoding, based on said generated statistical model, the encoded data output in accordance with the image encoding method of claim 36.

[0034]
The present invention of claim 40 is an image encoding apparatus comprising: multivalue to binary converting means for taking a target multivalue image to be encoded and a smoothing function as inputs, and for generating a binary image from said multivalue image on the basis of said smoothing function; binary image encoding means for encoding said binary image, and for outputting the same as binary image encoded data; and smoothing function encoding means for encoding said smoothing function, and for outputting the same as smoothing function encoded data, and wherein: said smoothing function is a function so adjusted that the original multivalue image could, in effect, be reproduced if said smoothing function were applied to said binary image.

[0035]
The present invention of claim 42 is an image encoding apparatus comprising: smoothing function estimating means for estimating a smoothing function from a target multivalue image to be encoded; multivalue to binary converting means for converting said multivalue image to a binary image based on a multivalue to binary conversion criterion determined to match said estimated smoothing function; binary image encoding means for encoding said binary image, and for outputting the same as binary image encoded data; and smoothing function encoding means for encoding said estimated smoothing function, and for outputting the same as smoothing function encoded data.

[0036]
The present invention of claim 43 is an image encoding apparatus comprising: multivalue to binary converting means for generating a binary image from a target multivalue image to be encoded; binary image encoding means for encoding said binary image, and for outputting the same as binary image encoded data; smoothing function generating means for generating a smoothing function from said binary image and said target multivalue image; and smoothing function encoding means for encoding said smoothing function, and for outputting the same as smoothing function encoded data.

[0037]
The present invention of claim 44 is an image encoding apparatus according to claim 43, wherein said smoothing function is expressed using one or more tables consisting of binarization patterns of neighboring pixels and substitution values corresponding to said patterns.

[0038]
The present invention of claim 45 is an image encoding apparatus according to claim 43, further comprising:

[0039]
binary to multivalue converting means for generating a multivalue image by smoothing said binary image using said smoothing function; and residual component encoding means for encoding a residual component existing between the multivalue image generated by said binary to multivalue converting means and said target multivalue image input for conversion by said multivalue to binary converting means.

[0040]
The present invention of claim 46 is an image encoding apparatus comprising: multivalue to binary converting means for converting a multivalue image, which is a target image to be encoded, to a binary image based on a multivalue to binary conversion criterion determined to match said multivalue image; smoothing function estimating means for estimating a smoothing function such that the original multivalue image could, in effect, be reproduced if said smoothing function were applied to said binary image; binary image encoding means for encoding said binary image, and for outputting the same as binary image encoded data; and smoothing function encoding means for encoding said estimated smoothing function, and for outputting the same as smoothing function encoded data.

[0041]
The present invention of claim 48 is an image decoding apparatus comprising: means for receiving as inputs thereto the various encoded data encoded by the image encoding apparatus of claim 40, 42, 43, or 46; binary image decoding means for recovering said binary image by decoding said binary image encoded data out of said encoded data; smoothing function decoding means for recovering said smoothing function by decoding said smoothing function encoded data out of said encoded data; and binary to multivalue converting means for recovering said multivalue image by smoothing said decoded binary image using said decoded smoothing function.

[0042]
The present invention of claim 49 is an image decoding apparatus comprising: means for receiving as inputs thereto the various encoded data encoded by the image encoding apparatus of claim 47; binary image decoding means for recovering said binary image by decoding said binary image encoded data out of said encoded data; smoothing function decoding means for recovering said smoothing function by decoding said smoothing function encoded data out of said encoded data; dynamic range decoding means for recovering said dynamic range by decoding said dynamic range encoded data out of said encoded data; and binary to multivalue converting means for recovering said multivalue image by smoothing said decoded binary image using said decoded smoothing function and by converting pixel values using said decoded dynamic range.

[0043]
The present invention of claim 50 is an image decoding apparatus comprising: means for receiving as inputs thereto the various encoded data encoded by the image encoding apparatus of claim 44; binary image decoding means for recovering said binary image by decoding said binary image encoded data out of said encoded data; smoothing function decoding means for recovering said smoothing function by decoding said smoothing function encoded data out of said encoded data; and binary to multivalue converting means for recovering said multivalue image by smoothing said decoded binary image using said decoded smoothing function, and wherein: said decoded smoothing function is expressed using one or more tables consisting of binarization patterns of neighboring pixels and substitution values corresponding to said patterns.

[0044]
The present invention of claim 52 is an image decoding apparatus comprising: means for receiving as inputs thereto the various encoded data encoded by the image encoding apparatus of claim 45; binary image decoding means for recovering said binary image by decoding said binary image encoded data out of said encoded data; smoothing function decoding means for recovering said smoothing function by decoding said smoothing function encoded data out of said encoded data; binary to multivalue converting means for recovering said multivalue image by smoothing said decoded binary image using said decoded smoothing function; and residual component decoding means for decoding said residual component, and wherein: an output image is obtained by adding said decoded residual component to the output from said binary to multivalue converting means.
BRIEF DESCRIPTION OF THE DRAWINGS

[0045]
[0045]FIG. 1 is a block diagram of an image encoding apparatus according to an A1st embodiment of the present invention.

[0046]
[0046]FIG. 2 is a block diagram of an image decoding apparatus according to an A2nd embodiment of the present invention.

[0047]
[0047]FIG. 3 is a block diagram of an image encoding apparatus according to an A3rd embodiment of the present invention.

[0048]
[0048]FIG. 4 is a block diagram of an image decoding apparatus according to an A4th embodiment of the present invention.

[0049]
[0049]FIG. 5 is a block diagram of an image encoding apparatus according to an A5th embodiment of the present invention.

[0050]
[0050]FIG. 6 is a block diagram of an image decoding apparatus according to an A6th embodiment of the present invention.

[0051]
[0051]FIG. 7 is a block diagram of an image encoding apparatus according to an A7th embodiment of the present invention.

[0052]
[0052]FIG. 8 is a block diagram of an image decoding apparatus according to an A8th embodiment of the present invention.

[0053]
[0053]FIG. 9 is a block diagram of an image encoding apparatus according to an A9th embodiment of the present invention.

[0054]
[0054]FIG. 10 is a block diagram of an image decoding apparatus according to an A10th embodiment of the present invention.

[0055]
[0055]FIG. 11 is a block diagram of an image encoding apparatus according to an A11th embodiment of the present invention.

[0056]
[0056]FIG. 12 is a block diagram of an image decoding apparatus according to an A12th embodiment of the present invention.

[0057]
[0057]FIG. 13 is a block diagram of an image encoding apparatus according to an A13th embodiment of the present invention.

[0058]
[0058]FIG. 14 is a block diagram of an image decoding apparatus according to an A14th embodiment of the present invention.

[0059]
[0059]FIG. 15 is a block diagram of an image encoding apparatus according to an A15th embodiment of the present invention.

[0060]
[0060]FIG. 16 is a block diagram of an image decoding apparatus according to an A16th embodiment of the present invention.

[0061]
[0061]FIG. 17 is a block diagram of an image encoding apparatus according to an A17th embodiment of the present invention.

[0062]
[0062]FIG. 18 is a block diagram of an image decoding apparatus according to an A18th embodiment of the present invention.

[0063]
[0063]FIG. 19 is a diagram showing a reference image and target image in a mask moving image.

[0064]
[0064]FIG. 20 is a diagram for explaining how an exclusive OR block is constructed.

[0065]
[0065]FIG. 21 is a diagram for explaining the principle of arithmetic coding.

[0066]
[0066]FIG. 22 is a block diagram for arithmetic coding.

[0067]
[0067]FIG. 23 is a diagram showing a portion of a statistical model table.

[0068]
[0068]FIG. 24 is a diagram showing a portion of the statistical model table.

[0069]
[0069]FIG. 25 is a diagram showing a portion of the statistical model table.

[0070]
[0070]FIG. 26 is a diagram showing a portion of the statistical model table.

[0071]
[0071]FIG. 27 is a diagram for explaining extrapolated reference blocks.

[0072]
[0072]FIG. 28 is a diagram for explaining indices in the statistical model table.

[0073]
[0073]FIG. 29 is a diagram for explaining a frequency to generation probability conversion graph.

[0074]
[0074]FIG. 30 is a block diagram of an image encoding apparatus according to another embodiment of the present invention.

[0075]
[0075]FIG. 31 is a block diagram of an image decoding apparatus according to the same embodiment.

[0076]
[0076]FIG. 32 is a block diagram of an image encoding apparatus according to still another embodiment of the present invention.

[0077]
[0077]FIG. 33 is a block diagram of an image decoding apparatus according to the same embodiment.

[0078]
[0078]FIG. 34 is a block diagram of an image encoding apparatus according to yet another embodiment of the present invention.

[0079]
[0079]FIG. 35 is a block diagram of an image decoding apparatus according to the same embodiment.

[0080]
[0080]FIG. 36 is a block diagram of an image encoding apparatus according to a B1st embodiment of the present invention.

[0081]
[0081]FIG. 37 is a diagram showing a multivalue image used in the same embodiment.

[0082]
[0082]FIG. 38 is a distribution diagram of pixels values along line AB in FIG. 37.

[0083]
[0083]FIG. 39 is a block diagram of a smoothing function estimating means according to the B1st embodiment.

[0084]
[0084]FIG. 40 is a diagram for explaining nonmaximum value suppression used in the embodiment.

[0085]
[0085]FIG. 41 is a diagram showing the correspondence between normalized average gradient and smoothing filter according to the B1st embodiment.

[0086]
[0086]FIG. 42 is a diagram for explaining the smoothing filter according to the B1st embodiment.

[0087]
[0087]FIG. 43 is a diagram for explaining smoothing filter step responses according to the B1st embodiment.

[0088]
[0088]FIG. 44 is a diagram for explaining thresholding used in the embodiment.

[0089]
[0089]FIG. 45 is a block diagram of an image decoding apparatus according to a B2nd embodiment.

[0090]
[0090]FIG. 46 is a diagram for explaining pixel value conversion used in the embodiment.

[0091]
[0091]FIG. 47 is a block diagram of an image encoding apparatus according to a B3rd embodiment.

[0092]
[0092]FIG. 48 is a block diagram of a smoothing function estimating means according to the B3rd embodiment.

[0093]
[0093]FIG. 49 is a diagram showing the correspondence between normalized average gradient and smoothing filter according to the B3rd embodiment.

[0094]
[0094]FIG. 50 is a diagram for explaining the smoothing filter according to the B1st embodiment.

[0095]
[0095]FIG. 51 is a diagram for explaining smoothing filter step responses according to the B1st embodiment.

[0096]
[0096]FIG. 52 is a diagram for explaining a morphological filter in the embodiment.

[0097]
[0097]FIG. 53 is a block diagram of an image decoding apparatus according to a B4th embodiment.

[0098]
[0098]FIG. 54 is a block diagram of an image encoding apparatus according to a B5th embodiment.

[0099]
[0099]FIG. 55 is a block diagram of a smoothing function estimating means according to the B5th embodiment.

[0100]
[0100]FIG. 56 is a diagram for explaining a smoothing filter according to the B5th embodiment.

[0101]
[0101]FIG. 57 is a block diagram of an image decoding apparatus according to a B6th embodiment.

[0102]
[0102]FIG. 58 is a block diagram of an image encoding apparatus according to a B7th embodiment.

[0103]
[0103]FIG. 59 is a block diagram of an image decoding apparatus according to a B8th embodiment.

[0104]
[0104]FIG. 60 is a diagram for explaining a smoothing pattern in the B7th, B8th, B9th, and B10th embodiments.

[0105]
[0105]FIG. 61 is a diagram for explaining multistage smoothing in the B7th, B8th, B9th, and B10th embodiments.

[0106]
[0106]FIG. 62 is a block diagram of an image encoding apparatus according to the B9th embodiment.

[0107]
[0107]FIG. 63 is a block diagram of an image decoding apparatus according to the B10th embodiment.

[0108]
[0108]FIG. 64 is a block diagram of an image decoding apparatus according to a B11th embodiment.

[0109]
[0109]FIG. 65 is a block diagram of an image encoding apparatus in a modified example of the B1st embodiment.

[0110]
[0110]FIG. 66 is a block diagram of an image encoding apparatus according to another embodiment of the present invention.

[0111]
[0111]FIG. 67 is a block diagram of an image encoding apparatus in a modified example of the embodiment shown in FIG. 66.

[0112]
[0112]FIG. 68 is a block diagram of an image encoding apparatus in a modified example of the B11th embodiment.

[0113]
[0113]FIG. 69 is a block diagram of an image decoding apparatus according to another embodiment of the present invention.
DESCRIPTION OF NUMERALS

[0114]
[0114]101. BLOCKING MEANS 1

[0115]
[0115]102. BLOCKING MEANS 2

[0116]
[0116]103. EXCLUSIVE OR BLOCK CONSTRUCTING MEANS

[0117]
[0117]104. EXCLUSIVE OR ENCODING MEANS

[0118]
[0118]201. EXCLUSIVE OR DECODING MEANS

[0119]
[0119]202. BLOCKING MEANS 2

[0120]
[0120]203. TARGET BLOCK CONSTRUCTING MEANS

[0121]
[0121]301. BLOCKING MEANS 1

[0122]
[0122]302. MOTION COMPENSATED BLOCKING MEANS 2

[0123]
[0123]303. EXCLUSIVE OR BLOCK CONSTRUCTING MEANS

[0124]
[0124]304. EXCLUSIVE OR ENCODING MEANS

[0125]
[0125]305. MOTION ESTIMATING MEANS

[0126]
[0126]401. EXCLUSIVE OR DECODING MEANS

[0127]
[0127]402. MOTION COMPENSATED BLOCKING MEANS 2

[0128]
[0128]403. TARGET BLOCK CONSTRUCTING MEANS

[0129]
[0129]501. BLOCKING MEANS 1

[0130]
[0130]502. BLOCKING MEANS 2

[0131]
[0131]503. EXCLUSIVE OR BLOCK CONSTRUCTING MEANS

[0132]
[0132]504. EXCLUSIVE OR ENCODING MEANS

[0133]
[0133]505. REFERENCE BLOCK ADOPTION DETERMINING MEANS

[0134]
[0134]506. TARGET PIXEL ENCODING MEANS

[0135]
[0135]601. EXCLUSIVE OR DECODING MEANS

[0136]
[0136]602. BLOCKING MEANS 2

[0137]
[0137]603. TARGET BLOCK CONSTRUCTING MEANS

[0138]
[0138]604. REFERENCE BLOCK ADOPTION CONTROL MEANS

[0139]
[0139]605. TARGET PIXEL DECODING MEANS

[0140]
[0140]701. BLOCKING MEANS 1

[0141]
[0141]702. BLOCKING MEANS 2

[0142]
[0142]703. STATISTICAL MODEL ESTIMATING MEANS

[0143]
[0143]704. STATISTICAL MODEL

[0144]
[0144]705. ENTROPY ENCODING MEANS

[0145]
[0145]801. ENTROPY DECODING MEANS

[0146]
[0146]802. BLOCKING MEANS 2

[0147]
[0147]803. STATISTICAL MODEL ESTIMATING MEANS

[0148]
[0148]804. STATISTICAL MODEL

[0149]
[0149]901. BLOCKING MEANS 1

[0150]
[0150]902. MOTION COMPENSATED BLOCKING MEANS

[0151]
[0151]903. STATISTICAL MODEL ESTIMATING MEANS

[0152]
[0152]904. STATISTICAL MODEL

[0153]
[0153]905. ENTROPY ENCODING MEANS

[0154]
[0154]906. MOTION ESTIMATING MEANS

[0155]
[0155]1001. ENTROPY DECODING MEANS

[0156]
[0156]1002. MOTION COMPENSATED BLOCKING MEANS 2

[0157]
[0157]1003. STATISTICAL MODEL SELECTING MEANS

[0158]
[0158]1004. STATISTICAL MODEL TABLE

[0159]
[0159]1101. BLOCKING MEANS 1

[0160]
[0160]1102. BLOCKING MEANS 2

[0161]
[0161]1103. STATISTICAL MODEL SELECTING MEANS

[0162]
[0162]1104. STATISTICAL MODEL TABLE

[0163]
[0163]1105. ENTROPY ENCODING MEANS

[0164]
[0164]1106. REFERENCE BLOCK ADOPTION DETERMINING MEANS

[0165]
[0165]1107. TARGET PIXEL ENCODING MEANS

[0166]
[0166]1201. ENTROPY DECODING MEANS

[0167]
[0167]1202. BLOCKING MEANS 2

[0168]
[0168]1203. STATISTICAL MODEL SELECTING MEANS

[0169]
[0169]1204. STATISTICAL MODEL TABLE

[0170]
[0170]1205. REFERENCE BLOCK ADOPTION CONTROL MEANS

[0171]
[0171]1206. TARGET PIXEL DECODING MEANS

[0172]
[0172]1301. BLOCKING MEANS 1

[0173]
[0173]1302. BLOCKING MEANS 2

[0174]
[0174]1303. STATISTICAL MODEL ESTIMATING MEANS

[0175]
[0175]1304. STATISTICAL MODEL

[0176]
[0176]1305. ENTROPY ENCODING MEANS

[0177]
[0177]1401. ENTROPY DECODING MEANS

[0178]
[0178]1402. BLOCKING MEANS 2

[0179]
[0179]1403. STATISTICAL MODEL ESTIMATING MEANS

[0180]
[0180]1404. STATISTICAL MODEL

[0181]
[0181]1501. BLOCKING MEANS 1

[0182]
[0182]1502. MOTION COMPENSATED BLOCKING MEANS 2

[0183]
[0183]1503. ENTROPY ENCODING MEANS

[0184]
[0184]1504. STATISTICAL MODEL ESTIMATING MEANS

[0185]
[0185]1505. STATISTICAL MODEL

[0186]
[0186]1506. MOTION ESTIMATING MEANS

[0187]
[0187]1601. ENTROPY DECODING MEANS

[0188]
[0188]1602. MOTION COMPENSATED BLOCKING MEANS 2

[0189]
[0189]1603. STATISTICAL MODEL ESTIMATING MEANS

[0190]
[0190]1604. STATISTICAL MODEL

[0191]
[0191]1701. BLOCKING MEANS 1

[0192]
[0192]1702. BLOCKING MEANS 2

[0193]
[0193]1703. STATISTICAL MODEL ESTIMATING MEANS

[0194]
[0194]1704. STATISTICAL MODEL

[0195]
[0195]1705. ENTROPY ESTIMATING MEANS

[0196]
[0196]1706. REFERENCE BLOCK ADOPTION DETERMINING MEANS

[0197]
[0197]1707. TARGET PIXEL ENCODING MEANS

[0198]
[0198]1801. ENTROPY DECODING MEANS

[0199]
[0199]1802. BLOCKING MEANS 2

[0200]
[0200]1803. STATISTICAL MODEL ESTIMATING MEANS

[0201]
[0201]1804. STATISTICAL MODEL

[0202]
[0202]1805. REFERENCE BLOCK ADOPTION CONTROL MEANS

[0203]
[0203]1806. TARGET PIXEL DECODING MEANS

[0204]
[0204]1901. MASK MOVING IMAGE

[0205]
[0205]1902. REFERENCE IMAGE

[0206]
[0206]1903. TARGET IMAGE

[0207]
[0207]1904. REFERENCE BLOCK IMAGE

[0208]
[0208]1905. TARGET BLOCK IMAGE

[0209]
[0209]2001. REFERENCE BLOCK

[0210]
[0210]2002. TARGET BLOCK

[0211]
[0211]2003. EXCLUSIVE OR BLOCK

[0212]
[0212]2101. NUMBER LINE

[0213]
[0213]2102. RANGE

[0214]
[0214]2103. BINARY POINT

[0215]
[0215]2104. GENERATION PROBABILITY MODEL

[0216]
[0216]2105. SYMBOL STRING

[0217]
[0217]2201. START

[0218]
[0218]2202. INITIALIZE RANGE

[0219]
[0219]2203. INPUT SYMBOL

[0220]
[0220]2204. LIMIT RANGE

[0221]
[0221]2205. END SYMBOL?

[0222]
[0222]2206. OUTPUT BINARY POINT

[0223]
[0223]2207. END

[0224]
[0224]2301. STATISTICAL MODEL TABLE

[0225]
[0225]2401. REFERENCE BLOCK

[0226]
[0226]2402. EXTRAPOLATED REFERENCE BLOCK

[0227]
[0227]2403. EXTRAPOLATED REFERENCE BLOCK

[0228]
[0228]2501. REFERENCE BLOCK

[0229]
[0229]2502. TARGET BLOCK

[0230]
[0230]2503. REFERENCE MASK

[0231]
[0231]2503. TARGET MASK

[0232]
[0232]2601. CONVERSION GRAPH

[0233]
[0233]10101. DYNAMIC RANGE ESTIMATING MEANS

[0234]
[0234]10102. SMOOTHING FUNCTION ESTIMATING MEANS

[0235]
[0235]10103. MULTIVALUE TO BINARY CONVERTING MEANS

[0236]
[0236]10104. BINARY IMAGE ENCODING MEANS

[0237]
[0237]10105. DYNAMIC RANGE ENCODING MEANS

[0238]
[0238]10106. SMOOTHING FUNCTION ENCODING MEANS

[0239]
[0239]10201. MULTIVALUE IMAGE

[0240]
[0240]10301. XDIRECTION FILTERING

[0241]
[0241]10302. YDIRECTION FILTERING

[0242]
[0242]10303. GRADIENT DETECTION

[0243]
[0243]10304. GRADIENT DIRECTION DETECTION

[0244]
[0244]10305. NONMAXIMUM VALUE SUPPRESSION

[0245]
[0245]10306. AVERAGE GRADIENT DETECTION

[0246]
[0246]10307. SMOOTHING FUNCTION SELECTION

[0247]
[0247]10601. FILTER 1

[0248]
[0248]10602. FILTER 2

[0249]
[0249]10603. FILTER 3

[0250]
[0250]10604. FILTER 4

[0251]
[0251]10901. BINARY IMAGE DECODING MEANS

[0252]
[0252]10902. SMOOTHING FUNCTION DECODING MEANS

[0253]
[0253]10903. DYNAMIC RANGE DECODING MEANS

[0254]
[0254]10904. BINARY TO MULTIVALUE CONVERTING MEANS

[0255]
[0255]10905. BINARY MASK APPLYING MEANS

[0256]
[0256]11101. DYNAMIC RANGE ESTIMATING MEANS

[0257]
[0257]11102. SMOOTHING FUNCTION ESTIMATING MEANS

[0258]
[0258]11103. MULTIVALUE TO BINARY CONVERTING MEANS

[0259]
[0259]11104. BINARY IMAGE ENCODING MEANS

[0260]
[0260]11105. DYNAMIC RANGE ENCODING MEANS

[0261]
[0261]11106. SMOOTHING FUNCTION ENCODING MEANS

[0262]
[0262]11201. XDIRECTION FILTERING

[0263]
[0263]11202. YDIRECTION FILTERING

[0264]
[0264]11203. GRADIENT DETECTION

[0265]
[0265]11204. GRADIENT DIRECTION DETECTION

[0266]
[0266]11205. NONMAXIMUM VALUE SUPPRESSION

[0267]
[0267]11206. AVERAGE GRADIENT DETECTION

[0268]
[0268]11207. SMOOTHING FUNCTION CONSTRUCTION

[0269]
[0269]11401. SMOOTHING FILTER STEP 2

[0270]
[0270]11402. SMOOTHING FILTER STEP 3

[0271]
[0271]11403. SMOOTHING FILTER STEP 4

[0272]
[0272]11404. SMOOTHING FILTER COEFFICIENT TABLE

[0273]
[0273]11601. MORPHOLOGICAL FILTER 1

[0274]
[0274]11602. MORPHOLOGICAL FILTER 2

[0275]
[0275]11603. MORPHOLOGICAL FILTER 3

[0276]
[0276]11701. BINARY IMAGE DECODING MEANS

[0277]
[0277]11702. SMOOTHING FUNCTION DECODING MEANS

[0278]
[0278]11703. DYNAMIC RANGE DECODING MEANS

[0279]
[0279]11704. BINARY TO MULTIVALUE CONVERTING MEANS

[0280]
[0280]11801. DYNAMIC RANGE ESTIMATING MEANS

[0281]
[0281]11802. SMOOTHING FUNCTION ESTIMATING MEANS

[0282]
[0282]11803. MULTIVALUE TO BINARY CONVERTING MEANS

[0283]
[0283]11804. BINARY IMAGE ENCODING MEANS

[0284]
[0284]11805. DYNAMIC RANGE ENCODING MEANS

[0285]
[0285]11806. SMOOTHING FUNCTION COEFFICIENT ENCODING MEANS

[0286]
[0286]11901. XDIRECTION FILTERING

[0287]
[0287]11902. YDIRECTION FILTERING

[0288]
[0288]11903. GRADIENT DETECTION

[0289]
[0289]11904. GRADIENT DIRECTION DETECTION

[0290]
[0290]11905. NONMAXIMUM VALUE SUPPRESSION

[0291]
[0291]11906. AVERAGE GRADIENT DETECTION

[0292]
[0292]11907. SMOOTHING FUNCTION GENERATION

[0293]
[0293]12101. BINARY IMAGE DECODING MEANS

[0294]
[0294]12102. SMOOTHING FUNCTION COEFFICIENT DECODING MEANS

[0295]
[0295]12103. DYNAMIC RANGE DECODING MEANS

[0296]
[0296]12104. BINARY TO MULTIVALUE CONVERTING MEANS

[0297]
[0297]12201. MULTIVALUE TO BINARY CONVERTING MEANS

[0298]
[0298]12202. BINARY IMAGE ENCODING MEANS

[0299]
[0299]12203. SMOOTHING FUNCTION ESTIMATING MEANS

[0300]
[0300]12204. SMOOTHING FUNCTION ENCODING MEANS

[0301]
[0301]12301. BINARY IMAGE DECODING MEANS

[0302]
[0302]12302. SMOOTHING FUNCTION DECODING MEANS

[0303]
[0303]12303. BINARY TO MULTIVALUE CONVERTING MEANS

[0304]
[0304]12601. MULTIVALUE TO BINARY CONVERTING MEANS

[0305]
[0305]12602. BINARY IMAGE ENCODING MEANS

[0306]
[0306]12603. SMOOTHING FUNCTION ESTIMATING MEANS

[0307]
[0307]12604. SMOOTHING FUNCTION ENCODING MEANS

[0308]
[0308]12605. BINARY TO MULTIVALUE CONVERTING MEANS

[0309]
[0309]12606. DIFFERENCE CALCULATOR

[0310]
[0310]12607. RESIDUAL ENCODING MEANS

[0311]
[0311]12701. BINARY IMAGE DECODING MEANS

[0312]
[0312]12702. SMOOTHING FUNCTION DECODING MEANS

[0313]
[0313]12703. BINARY TO MULTIVALUE CONVERTING MEANS

[0314]
[0314]12704. RESIDUAL DECODING MEANS

[0315]
[0315]12705. ADDER
BEST MODE FOR CARRYING OUT THE INVENTION

[0316]
Embodiments according to the present invention will be described below with reference to the accompanying drawings.

[0317]
(Embodiment A1)

[0318]
[0318]FIG. 1 is a block diagram showing the configuration of an image encoding apparatus according to an embodiment of the present invention.

[0319]
In FIG. 1, blocking means 1 (101) is a means which takes as an input a target image to be encoded, and which divides the input image into blocks each consisting of a plurality of pixels. Blocking means 2 (102) is a means which divides a previously obtained reference image into blocks each consisting of a plurality of pixels. Exclusive OR block constructing means (103) is a means which constructs an exclusive OR block by scanning a target block taken from the image divided by the blocking means 1 (101) and a reference block taken from the image divided by the blocking means 2 (102), and by exclusiveORing pixel values between them. Exclusive OR encoding means (104) is a means which encodes the exclusive OR block and outputs the encoded data.

[0320]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below, together with the operation of an image encoding method according to one embodiment of the present invention.

[0321]
Here, the (t+1)th frame (1903) of a person's moving mask image (1901), shown in FIG. 19, is taken as a target binary image, and the tth frame (1902) as a reference binary image. In the diagrams hereinafter described, value 1 is represented by black and value 0 by white. The target binary image (1903) is divided by the blocking means 1 (101) into target blocks of 8×8 pixels, as shown in a target block image (1905). Image blocking in the blocking means 1 (101), however, is not limited to blocks of 8×8 pixels or 16×16 pixels. The reference binary image (1902) is likewise divided into reference blocks, as shown in a reference block image (1904).

[0322]
The reference binary image (1902) is divided by the blocking means 2 (102) into reference blocks of 8×8 pixels, as shown in the reference block image (204). Image blocking in the blocking means 2 (102), however, is not limited to blocks of 8×8 pixels or 16×16 pixels.

[0323]
The target block (2002) shown in FIG. 20 is one block taken from the target block image (1905). The reference block (2001) shown is one block, taken from the reference block image (1904), that matches the target block (2002). The exclusive OR block constructing means (103) scans the target block (2002) and the reference block (2001) from top left to bottom right, exclusiveORs the pixels values between them, and thereby constructs the exclusive OR block (2003). The exclusive OR block (2003), consisting of 0s and 1s, is encoded by the exclusive OR encoding means (104) using a technique generally known as arithmetic coding. Arithmetic coding will be briefly described below (refer to Hiroshi Yasuda, “International Standards for Multimedia Encoding,” Chapter 3 Arithmetic Coding, published by Maruzen).

[0324]
[0324]FIG. 21 is a diagram for explaining the principle of arithmetic coding. In arithmetic coding, using a symbol string (2105) and a symbol generation probability model (2104), a number line (2101) from 0 to 1 is successively limited with each input of a symbol from the symbol string (2105), and the shortest binary point (2103) that does not go outside the obtained range (2102) whatever follows next is output as the encoded data.

[0325]
[0325]FIG. 22 shows a flowchart for arithmetic coding. In 2201, arithmetic coding is started. In 2202, the range is initialized to an interval bounded by 0 and 1. In 2203, a symbol is input. In 2204, a generation probability model is assigned to the current range, and the probability range of the input symbol is set as the new range. In 2205, if the symbol is an end symbol, then in 2206 the range is expressed by a binary point which is output, and the arithmetic coding is terminated in 2207. If, in 2205, the symbol is not an end symbol, then the next symbol is input in 2203. If the number of symbols is predetermined, the end symbol can be omitted.

[0326]
Decoding is performed by determining the symbol string from the binary point. It is known that arithmetic coding has the property that the better the symbol matches the generation probability model of the symbol, and the more biased the symbol generation probability is, the fewer the code bits to encode the symbol string. It is also known that even if the generation probability model is changed during the encoding, decoding can be done if the way the model is changed is known.

[0327]
Using the abovedescried arithmetic coding and a generation probability model with [0, 0.9) as symbol 0 and [0.9, 1.0) as symbol 1, the exclusive OR encoding means (104) generates a coded sequence for the exclusive OR block consisting of a symbol string of 0s and 1s, and outputs the same as encoded data.

[0328]
As described above, in the present embodiment, efficient encoding with fewer code bits can be achieved by utilizing the property that in the case of a mask moving image or the like, the generation probabilities of symbol 0 and symbol 1 from the exclusive ORing of the target block and reference block are at a ratio of about 9:1, and by combining the exclusive ORing with the arithmetic coding.

[0329]
(Embodiment A2)

[0330]
[0330]FIG. 2 is a block diagram showing the configuration of an image decoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described with reference to same figure.

[0331]
In the figure, exclusive OR decoding means (201) is a means which takes the encoded data as an input and decodes it to recover the exclusive OR block. Blocking means 2 (202) is a means which divides a previously obtained reference image into reference blocks each consisting of a plurality of pixels. Target block constructing means (203) is a means which recovers the target block from the exclusive OR block supplied from the exclusive OR decoding means (201) and a reference block supplied from the blocking means (202).

[0332]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below, together with the operation of an image decoding method according to one embodiment of the present invention.

[0333]
The exclusive OR decoding means (201) is a decoder for arithmetic coding that has a generation probability model with [0, 0.9) as symbol 0 and [0.9, 1.0) as symbol 1, as does the exclusive OR encoding means (104). The exclusive OR block is constructed by generating a symbol string from the binary point as the encoded data and the generation probability model, and by arranging the symbols in the scanning direction.

[0334]
In operation, the blocking means 2 (202) is equivalent to the blocking means 2 (102). The target block constructing means (203) constructs the target block by scanning the exclusive OR block and the reference block, and by inverting pixel values in the reference block for pixels whose values in the exclusive OR block are 1.

[0335]
As described above, in the present embodiment, efficient decoding with fewer code bits can be achieved by utilizing the property that in the case of a mask moving image or the like, the generation probabilities of symbol 0 and symbol 1 from the exclusive ORing of the target block and reference block is at a ratio of about 9:1, and by combining the exclusive ORing with the arithmetic coding.

[0336]
(Embodiment A3)

[0337]
[0337]FIG. 3 is a block diagram showing the configuration of an image encoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0338]
In the figure, blocking means 1 (301) is a mean which takes as an input a target image to be encoded, and which divides the input image into blocks each consisting of a plurality of pixels. Motion estimating means (305) is a means which searches through a reference image for a block that resembles the target block, and which generates a motion vector for the block. Motion compensated blocking means 2 (302) is a means which takes the reference image and motion information as inputs and which, based on the motion information, divides the input reference image into blocks each consisting of a plurality of pixels. Exclusive OR block constructing means (303) is a means which constructs an exclusive OR block by scanning a target block taken from the image divided by the blocking means 1 (301) and a reference block taken from the image divided by the motion compensated blocking means 2 (302), and by exclusiveORing pixel values between them. Exclusive OR encoding means (304) is a means which encodes the exclusive OR block and outputs the encoded data.

[0339]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below, together with the operation of an image encoding method according to one embodiment of the present invention.

[0340]
In operation, the blocking means 1 (
301) is equivalent to the blocking means 1 (
101). When the motion vector to be estimated is denoted by v, the number of pixels in the target block by m, the location of each pixel in the image by u_i (i is 1 to m), the pixel value at location x in the target image by A(x), and the pixel value at location x in the reference image by B(x), the motion estimating means (
305) detects from within a predetermined range the v that minimizes the similarity S(v) (equation A1), and outputs the v as the motion vector.
$\begin{array}{cc}\left(\mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e\mathrm{A1}\right)\ue89e\text{}\ue89eS\ue8a0\left(v\right)=\sum _{i=1}^{m}\ue89e\text{\hspace{1em}}\ue89e\uf603A\ue8a0\left(\mathrm{u\_i}+v\right)B\ue8a0\left(\mathrm{u\_i}\right)\uf604& \left(1\right)\end{array}$

[0341]
The motion compensated blocking means (302) moves the block, taken from the reference image, by the motion vector and generates the reference block which is output. In operation, the exclusive OR block constructing means (303) is equivalent to the exclusive OR block constructing means (103). The exclusive OR encoding means (304) is equivalent to the exclusive OR encoding means (104).

[0342]
As described above, according to the present embodiment, efficient encoding with fewer code bits can be achieved by using the motion estimating means and motion compensated blocking means and applying motion compensation to a block for which the generation probabilities of symbol 0 and symbol 1 in the exclusive OR block differs widely from the ratio of 9:1, in such a manner that the ratio of the generation probabilities is brought closer to 9:1.

[0343]
(Embodiment A4)

[0344]
[0344]FIG. 4 is a block diagram showing the configuration of an image decoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described with reference to same figure.

[0345]
In the figure, exclusive OR decoding means (401) is a means which takes the encoded data as an input and decodes it to recover the exclusive OR block. Motion compensated blocking means 2 (402) is a means which takes a reference image and the motion information as inputs and which, based on the motion information, divides the input reference image into blocks each consisting of a plurality of pixels. Target block constructing means (403) is a means which recovers the target block from the exclusive OR block supplied from the exclusive OR decoding means (401) and a reference block supplied from the motion compensated blocking means (402).

[0346]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below, together with the operation of an image decoding method according to one embodiment of the present invention.

[0347]
In operation, the exclusive OR decoding means (401) is equivalent to the exclusive OR decoding means (201). The motion compensated blocking means 2 (402) is equivalent to the motion compensated blocking means 2 (302). The target block constructing means (403) is equivalent to the target block constructing means (203).

[0348]
As described above, according to the present embodiment, efficient decoding with fewer code bits can be achieved by using the motion estimating means and motion compensated blocking means and applying motion compensation to a block for which the generation probabilities of symbol 0 and symbol 1 in the exclusive OR block differs widely from the ratio of 9:1, in such a manner that the ratio of the generation probabilities is brought closer to 9:1.

[0349]
(Embodiment A5)

[0350]
[0350]FIG. 5 is a block diagram showing the configuration of an image encoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0351]
In the figure, blocking means 1 (501) is a means which takes as an input a target image to be encoded, and which divides the input image into blocks each consisting of a plurality of pixels. Blocking means 2 (502) is a means which takes a reference image as an input and divides the input reference image into blocks each consisting of a plurality of pixels. Exclusive OR block constructing means (503) is a means which constructs an exclusive OR block by scanning a target block taken from the image divided by the blocking means 1 (501) and a reference block taken from the image divided by the blocking means 2 (502), and by exclusiveORing pixel values between them. Exclusive OR encoding means (504) is a means which encodes the exclusive OR block and outputs the encoded data. Reference block adoption determining means (505) is a means which compares the target block with the reference block, and which outputs a reference block adoption determining signal for switching the subsequent processing. Target pixel encoding means (506) is a means which encodes the target block and outputs the encoded data.

[0352]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below, together with the operation of an image encoding method according to one embodiment of the present invention.

[0353]
In operation, the blocking means 1 (501) is equivalent to the blocking means 1 (101). The blocking means 2 (502) is equivalent to the blocking means 2 (102). The reference block adoption determining means (505) outputs the reference block adoption determining signal for switching the processing, based on the sum of the absolute differences (SAD) between the target block and the reference block, in such a manner that encoding is performed using the target pixel encoding means (506) if the sum of the absolute differences is larger than or equal to a threshold value, and using the exclusive OR block constructing means (503) and exclusive OR encoding means (504) if the sum of the absolute differences is less than the threshold value. Here, 5 is used as the threshold value. In operation, the exclusive OR block constructing means (503) is equivalent to the exclusive OR block constructing means (103). The exclusive OR encoding means (504) is equivalent to the exclusive OR encoding means (104). The target pixel encoding means (506) is substantially equivalent to the exclusive OR encoding means (504), and is an arithmetic encoder that takes the target block as an input and has a generation probability model with [0, 0.5) as symbol 0 and [0.5, 1.0) as symbol 1.

[0354]
As described above, according to the present embodiment, blocks for which the generation probabilities of symbol 0 and symbol 1 differs widely from the ratio of 9:1 are regarded as blocks that yield large sums of absolute differences, and the reference block adoption determining means changes the coding scheme to reduce the number of blocks inefficient in coding, thereby achieving efficient encoding with fewer code bits.

[0355]
(Embodiment A6)

[0356]
[0356]FIG. 6 is a block diagram showing the configuration of an image decoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0357]
In the figure, exclusive OR decoding means (601) is a means which takes the encoded data as an input and decodes it to recover the exclusive OR block. Blocking means 2 (602) is a means which takes a reference image as an input, and which divides the input reference image into reference blocks each consisting of a plurality of pixels. Target block constructing means (603) is a means which takes as inputs the exclusive OR block recovered by the exclusive OR decoding means (601) and a reference block supplied from the blocking means (602), and which thereby recovers the target block. Reference block adoption control means (604) is a means which switches the subsequent processing in accordance with the reference block adoption determining signal. Target pixel decoding means (605) is a means which decodes the encoded data and recovers the target block.

[0358]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below, together with the operation of an image decoding method according to one embodiment of the present invention.

[0359]
In operation, the exclusive OR decoding means (601) is equivalent to the exclusive OR decoding means (201). The blocking means 2 (602) is equivalent to the blocking means 2 (102).

[0360]
The target block constructing means (603) is equivalent to the target block constructing means (203). The reference block adoption control means (604), based on the reference block adoption determining signal, switches the subsequent processing between the target block constructing means (603) and blocking means 2 (602) when using the reference block and the target pixel decoding means (605) when not using the reference block.

[0361]
The target pixel decoding means (605) is a decoder for arithmetic encoding that has a generation probability model with [0, 0.5) as symbol 0 and [0.5, 1.0) as symbol 1, as does the target pixel encoding means (506). The target block is constructed by generating a symbol string from the binary point as the encoded data and the generation probability model, and by arranging the symbols in the scanning direction.

[0362]
As described above, according to the present embodiment, blocks for which the generation probabilities of symbol 0 and symbol 1 differs widely from the ratio of 9:1 are regarded as blocks that yield large sums of absolute differences, and the reference block adoption determining means changes the coding scheme to reduce the number of blocks inefficient in coding, thereby achieving efficient decoding with fewer code bits.

[0363]
(Embodiment A7)

[0364]
[0364]FIG. 7 is a block diagram showing the configuration of an image encoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0365]
In the figure, blocking means 1 (701) is a means which takes as an input an image to be encoded, and which divides the input image into blocks each consisting of a plurality of pixels.

[0366]
Blocking means 2 (702) is a means which takes a reference image as an input and divides the input reference image into blocks each consisting of a plurality of pixels. Statistical model selecting means (703) is a means which takes as inputs the location of the target pixel to be encoded, a reference block, and a statistical model table hereinafter described, and which selects a statistical model from the statistical model table (704) in accordance with the states of the pixels surrounding the corresponding location of the target pixel in the reference block, and supplies the selected model to an entropy encoding means (705). That is, the statistical model selecting means 703 is a means that selects a statistical model from among a plurality of statistical models, based on the states of the pixels surrounding a reference pixel in the reference block that corresponds to the target pixel in the target block. The entropy encoding means (705) is a means that supplies the location of the target pixel to be encoded to the statistical model selecting means (703), and that entropyencodes the target block based on the statistical model supplied from the statistical model selecting means (703), and outputs the same as encoded data.

[0367]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below, together with the operation of an image encoding method according to one embodiment of the present invention.

[0368]
In operation, the blocking means 1 (701) is equivalent to the blocking means 1 (101). The blocking means 2 (702) is equivalent to the blocking means 2 (102).

[0369]
The statistical model selecting means (703) selects a statistical model from among a plurality of statistical models, and supplies the selected model to the entropy encoding means (705). The statistical model table (2301) is a table in which an index is assigned to each surrounding pixel state and a statistical model is assigned to each index, as shown in FIGS. 23 to 26. Correspondence between the state and index will be described with reference to FIGS. 27 and 28.

[0370]
Since the states of the pixels surrounding the corresponding pixel are considered, first the reference block (2401) is extrapolated to create an extrapolated reference block.

[0371]
In one method of creation, if the values of the surrounding pixels are obtained from the reference image, these pixels are added to create the extrapolated reference block (2402). In the present embodiment, this method is referred to as the extrapolation method 1.

[0372]
If the values of the surrounding pixels are not obtained from the reference image, the pixels in the outer periphery of the reference block are simply extended outside to create the extrapolated reference block (2403). This method is referred to as the extrapolation method 2. In like manner, an extrapolated target block is created from the target block.

[0373]
The states of the pixels surrounding the corresponding location of the target pixel in the reference block are obtained by applying a reference mask (2503) to the reference block (2501) and a target mask (2504) to the target block (2502), as shown in FIG. 28. When the pixel values at the respective locations in the reference mask (2503) and target mask (2504) are denoted by A, B, C, D, E, F, G, H, I, J, K, L, and M, as shown in FIG. 28, index i is expressed by equation A2 below.

[0374]
In FIG. 28, the target pixel to be encoded next is designated by reference numeral 2502 a, and the reference pixel corresponding to the target pixel (2502 a) is designated by reference numeral 2501 a. In order to also consider the states of the already encoded pixels in the neighborhood of the target pixel (2502 a) in the target block, the statistical model selecting means (703) of the present embodiment obtains the states of the pixels in the neighborhood of the target pixel (2502 a) in the same manner as described above by using the extrapolated target block. This achieves more appropriate selection of the statistical model than when using the surrounding pixel states only in the reference block. It is, of course, possible to use the configuration where the surrounding pixel states only in the reference block are used.

[0375]
(Equation A2)

i=B+2D+4E+8F+16H+32K+64M (2)

[0376]
At this time, the statistical model corresponding to the index i in the statistical model table (2301) is selected.

[0377]
In this way, the statistical model selecting means (703) selects a statistical model from the statistical model table and supplies the selected model to the entropy encoding means (705).

[0378]
The entropy encoding means (705) uses an arithmetic encoder, as in the exclusive OR encoding means (104), but the arithmetic encoder here uses as the generation probability model the statistical model (704) selected by the statistical model selecting means (703), and encodes the target pixel using the selected statistical model.

[0379]
As described above, according to the present embodiment, the statistical model is changed by the statistical model selecting means in accordance with the states of the pixels surrounding the corresponding location of the target pixel in the reference block; this increases the efficiency of entropy encoding and achieves efficient encoding with fewer code bits.

[0380]
(Embodiment A8)

[0381]
[0381]FIG. 8 is a block diagram showing the configuration of an image decoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0382]
In the figure, blocking means 2 (802) is a means which takes a reference image as an input and divides the input reference image into blocks each consisting of a plurality of pixels. Statistical model selecting means (803) is a means which takes as inputs the location of the target pixel to be encoded, a reference block, and the statistical model table, and which selects a statistical model from the statistical model table (704) in accordance with the states of the pixels surrounding the corresponding location of the target pixel in the reference block, and supplies the selected model to an entropy encoding means (705). The entropy decoding means (801) is a means that takes the encoded data as an input, and which , based on the statistical model (804), decodes the encoded data and recovers the target block.

[0383]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below, together with the operation of an image decoding method according to one embodiment of the present invention.

[0384]
In operation, the blocking means 2 (802) is equivalent to the blocking means 2 (102). The statistical model selecting means (803) is equivalent to the statistical model selecting means (703).

[0385]
The entropy decoding means (801) uses an arithmetic decoder, as in the exclusive OR decoding means (201), but the arithmetic encoder here uses the statistical model (804) selected by the statistical model selecting means (803). The statistical model table (804) is equivalent to the statistical model table (704).

[0386]
As described above, according to the present embodiment, the statistical model is changed by the statistical model selecting means in accordance with the states of the pixels surrounding the corresponding location of the target pixel in the reference block; this increases the efficiency of entropy coding and achieves efficient decoding with fewer code bits.

[0387]
(Embodiment A9)

[0388]
[0388]FIG. 9 is a block diagram showing the configuration of an image encoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0389]
In the figure, blocking means 1 (901) is a means which takes as an input a target image to be encoded and divides the input image into blocks each consisting of a plurality of pixels.

[0390]
Motion estimating means (906) is a means which searches through a reference image for a block that resembles the target block, and which generates a motion vector for the block. Motion compensated blocking means 2 (902) is a means which takes the reference image and motion information as inputs and which, based on the motion information, divides the input reference image into blocks each consisting of a plurality of pixels. Statistical model selecting means (903) is a means which takes as inputs the location of the target pixel to be encoded, a reference block, and a statistical model table, and which selects a statistical model from the statistical model table (904) in accordance with the states of the pixels surrounding the corresponding location of the target pixel in the reference block, and supplies the selected model to an entropy encoding means (905). The entropy encoding means (905) is a means that entropyencodes the target block based on the statistical model supplied from the statistical model selecting means (903), and outputs the same as encoded data.

[0391]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below, together with the operation of an image encoding method according to one embodiment of the present invention.

[0392]
In operation, the blocking means 1 (901) is equivalent to the blocking means 1 (101).

[0393]
The motion estimating means (906) is equivalent to the motion estimating means (305). The motion compensated blocking means 2 (902) is equivalent to the motion compensated blocking means 2 (302).

[0394]
The statistical model selecting means (903) is equivalent to the statistical model selecting means (703). The statistical model table (904) is equivalent to the statistical model table (704). The entropy encoding means (905) is equivalent to the entropy encoding means (705).

[0395]
As described above, according to the present embodiment, using the motion estimating means and motion compensated blocking means, the statistical model accuracy is increased, achieving efficient encoding with fewer code bits.

[0396]
(Embodiment A10)

[0397]
[0397]FIG. 10 is a block diagram showing the configuration of an image decoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0398]
In the figure, motion compensated blocking means 2 (1002) is a means which takes a reference image and the motion information as inputs and which, based on the motion information, divides the input reference image into blocks each consisting of a plurality of pixels. Statistical model selecting means (1003) is a means which takes as inputs the location of the target pixel to be encoded, a reference block, and a statistical model table, and which selects a statistical model from a statistical model table (1004) in accordance with the states of the pixels surrounding the corresponding location of the target pixel in the reference block, and supplies the selected model to an entropy encoding means (1005). The entropy decoding means (1001) is a means that takes the encoded data as an input and that, based on the statistical model, decodes the encoded data and recovers the target block.

[0399]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below, together with the operation of an image decoding method according to one embodiment of the present invention.

[0400]
In operation, the motion compensated blocking means 2 (1002) is equivalent to the motion compensated blocking means 2 (402). The statistical model selecting means (1003) is equivalent to the statistical model selecting means (803). The entropy decoding means (1001) is equivalent to the entropy decoding means (801). The statistical model table (1004) is equivalent to the statistical model table (704).

[0401]
As described above, according to the present embodiment, using the motion compensated blocking means 2, the statistical model accuracy is increased, achieving efficient decoding with fewer code bits.

[0402]
(Embodiment A11)

[0403]
[0403]FIG. 11 is a block diagram showing the configuration of an image encoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0404]
In the figure, blocking means 1 (1101) is a means which takes as an input a target image to be encoded and divides the input image into blocks each consisting of a plurality of pixels.

[0405]
Blocking means 2 (1102) is a means which takes a reference image as an input and divides the input reference image into blocks each consisting of a plurality of pixels. Statistical model selecting means (1103) is a means which takes as inputs the location of the target pixel to be encoded, a reference block, and a statistical model table, and which selects a statistical model from a statistical model table (1104) in accordance with the states of the pixels surrounding the corresponding location of the target pixel in the reference block, and supplies the selected model to an entropy encoding means (1105). Reference block adoption determining means (1105) is a means which compares the target block with the reference block, and which outputs a reference block adoption determining signal for switching the subsequent processing. The entropy encoding means (1105) is a means which entropyencodes the target block based on the statistical model, and outputs the same as encoded data. Target pixel encoding means (1106) is a means which encodes the target block and outputs the same as encoded data.

[0406]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below, together with the operation of an image encoding method according to one embodiment of the present invention.

[0407]
In operation, the blocking means 1 (1101) is equivalent to the blocking means 1 (101). The blocking means 2 (1102) is equivalent to the blocking means 2 (102). The statistical model selecting means (1103) is equivalent to the statistical model selecting means (703). The statistical model table (1104) is equivalent to the statistical model table (704). The entropy encoding means (1105) is equivalent to the entropy encoding means (705). The reference block adoption determining means (1106) is equivalent to the reference block adoption determining means (505). The target pixel decoding means (1107) is equivalent to the target pixel decoding means (605).

[0408]
As described above, according to the present embodiment, the reference block adoption control means changes the coding scheme for a block that does not match the statistical model, thereby reducing the number of blocks inefficient in encoding and thus achieving efficient decoding with fewer code bits.

[0409]
(Embodiment A12)

[0410]
[0410]FIG. 12 is a block diagram showing the configuration of an image decoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0411]
In the figure, blocking means 2 (1202) is a means which takes a reference image as an input and divides the input reference image into blocks each consisting of a plurality of pixels. Statistical model selecting means (1203) is a means which takes as inputs the location of the target pixel to be encoded, a reference block, and a statistical model table, and which selects a statistical model from a statistical model table (1204) in accordance with the states of the pixels surrounding the corresponding location of the target pixel in the reference block, and supplies the selected model to an entropy encoding means (1205). The entropy decoding means (1201) is a means which takes the encoded data as an input and which, based on the statistical model, decodes the encoded data and recovers the target block. Reference block adoption determining means (1205) is a means which compares the target block with the reference block and switches the subsequent processing. Target pixel decoding means (605) is a means which decodes the encoded data and recovers the target block.

[0412]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below, together with the operation of an image decoding method according to one embodiment of the present invention.

[0413]
In operation, the entropy decoding means (1201) is equivalent to the entropy decoding means (801). The blocking means 2 (1202) is equivalent to the blocking means 2 (102). The statistical model selecting means (1203) is equivalent to the statistical model selecting means (703). The statistical model table (1204) is equivalent to the statistical model table (704). The reference block adoption control means (1205) is equivalent to the reference block adoption control means (604). The target pixel decoding means (1206) is equivalent to the target pixel decoding means (605).

[0414]
As described above, according to the present embodiment, the reference block adoption control means changes the coding scheme for a block that does not match the statistical model, thereby reducing the number of blocks inefficient in coding and thus achieving efficient decoding with fewer code bits.

[0415]
(Embodiment A13)

[0416]
[0416]FIG. 13 is a block diagram showing the configuration of an image encoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0417]
In the figure, blocking means 1 (1301) is a means which takes as an input an image to be encoded and divides the input image into blocks each consisting of a plurality of pixels. Blocking means 2 (1302) is a means which takes a reference image as an input and divides the input reference image into blocks each consisting of a plurality of pixels. Statistical model estimating means (1303) is a means which estimates a statistical model for a target block from a reference block, and stores the estimated model in a statistical model (1304). Entropy encoding means (1305) is a means which encodes pixels in the target block based on the statistical model (1304), and outputs the encoded data.

[0418]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below, together with the operation of an image encoding method according to one embodiment of the present invention.

[0419]
In operation, the blocking means 1 (1301) is equivalent to the blocking means 1 (101). The blocking means 2 (1302) is equivalent to the blocking means 2 (102). The statistical model estimating means (1303) estimates a statistical model from the reference block. FIG. 29 is a diagram for explaining how the statistical model is estimated by the statistical model estimating means (1303).

[0420]
Statistical model estimation begins by obtaining the frequency Z of the symbol 0. The frequency Z is obtained by counting the number of occurrences of the symbol 0 in the reference block and by dividing the number by the total number of pixels, 64. The frequency Z is converted to the generation probability of the symbol 0 by using a conversion graph (2601). In the conversion graph, r=0.1.

[0421]
Using the generation probability z obtained from the conversion graph, a statistical model is estimated in which any number in [0, z) is taken as the symbol 0 and any number in [z, 1.0) as the symbol 1. The estimated statistical model is stored in the statistical model (1304).

[0422]
The entropy encoding means (1305), like the entropy encoding means (102), encodes the target block by using an arithmetic encoder and the estimated statistical model (1304).

[0423]
As described above, according to the present embodiment, a statistical model for the symbols in the target block is estimated from the reference block by the statistical model estimating means, thereby increasing the efficiency of entropy encoding and achieving efficient encoding with fewer code bits.

[0424]
In the present embodiment, a statistical model is generated for each target block, but the configuration is not limited to the illustrated arrangement; for example, a statistical model may be generated for each target pixel.

[0425]
(Embodiment A14)

[0426]
[0426]FIG. 14 is a block diagram showing the configuration of an image decoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0427]
In the figure, blocking means 2 (1402) is a means which takes a reference image as an input and divides the input reference image into blocks each consisting of a plurality of pixels. Statistical model estimating means (1403) is a means which estimates a statistical model for a target block from a reference block, and stores the estimated model in a statistical model (1404). Entropy decoding means (1401) is a means which takes the encoded data as an input, and which decodes the encoded data based on the statistical model (1404) and recovers the target block.

[0428]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below, together with the operation of an image decoding method according to one embodiment of the present invention.

[0429]
In operation, the blocking means 2 (1402) is equivalent to the blocking means 2 (102). The statistical model estimating means (1403) is equivalent to the statistical model estimating means (1303). The entropy decoding means (1401), like the exclusive OR decoding means (201), decodes the encoded data and recovers the target block by using an arithmetic decoder and the statistical model estimated by the statistical model estimating means (1403).

[0430]
As described above, according to the present embodiment, a statistical model for the symbols in the target block is estimated from the reference block by the statistical model estimating means, thereby increasing the efficiency of entropy coding and achieving efficient decoding with fewer code bits.

[0431]
(Embodiment A15)

[0432]
[0432]FIG. 15 is a block diagram showing the configuration of an image encoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0433]
In the figure, blocking means 1 (1501) is a means which takes as an input an image to be encoded and divides the input image into blocks each consisting of a plurality of pixels. Motion estimating means (1506) is a means which searches through a reference image for a block that resembles a target block, and which generates a motion vector for the block.

[0434]
Motion compensated blocking means 2 (1502) is a means which takes the reference image and motion information as inputs and which, based on the motion information, divides the input reference image into blocks each consisting of a plurality of pixels.

[0435]
Statistical model estimating means (1503) is a means which estimates a statistical model for a target block from a reference block, and stores the estimated model in a statistical model (1504).

[0436]
Entropy encoding means (1505) is a means which encodes pixels in the target block based on the statistical model (1504), and outputs the encoded data.

[0437]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below, together with the operation of an image encoding method according to one embodiment of the present invention.

[0438]
In operation, the blocking means 1 (1501) is equivalent to the blocking means 1 (101). The motion compensated blocking means 2 (1502) is equivalent to the motion compensated blocking means 2 (302). The statistical model estimating means (1504) is equivalent to the statistical model estimating means (1303). The entropy encoding means (1503) is equivalent to the entropy encoding means (1305). The motion estimating means (1506) is equivalent to the motion estimating means (305).

[0439]
As described above, according to the present embodiment, using the motion estimating means and motion compensated blocking means, the accuracy of statistical model estimation is increased, thereby achieving efficient encoding with fewer code bits.

[0440]
(Embodiment A16)

[0441]
[0441]FIG. 16 is a block diagram showing the configuration of an image decoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0442]
In the figure, motion compensated blocking means 2 (1602) is a means which takes a reference image and the motion information as inputs and which, based on the motion information, divides the input reference image into blocks each consisting of a plurality of pixels. Statistical model estimating means (1603) is a means which estimates a statistical model for a target block from a reference block, and stores the estimated model in a statistical model (1604). Entropy decoding means (1601) is a means which takes the encoded data as an input, and which decodes the encoded data based on the statistical model (1604) and recovers the target block.

[0443]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below, together with the operation of an image decoding method according to one embodiment of the present invention.

[0444]
In operation, the motion compensated blocking means 2 (1602) is equivalent to the motion compensated blocking means 2 (402). The statistical model estimating means (1603) is equivalent to the statistical model estimating means (1303). The entropy decoding means (1601) is equivalent to the entropy decoding means (1401).

[0445]
As described above, according to the present embodiment, using the motion compensated blocking means 2, the accuracy of statistical model estimation is increased, thereby achieving efficient decoding with fewer code bits.

[0446]
(Embodiment A17)

[0447]
[0447]FIG. 17 is a block diagram showing the configuration of an image encoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0448]
In the figure, blocking means 1 (1701) is a means which takes as an input an image to be encoded and divides the input image into blocks each consisting of a plurality of pixels. Blocking means 2 (1702) is a means which takes a reference image as an input and divides the input reference image into blocks each consisting of a plurality of pixels. Statistical model estimating means (1703) is a means which estimates a statistical model for a target block from a reference block, and stores the estimated model in a statistical model (1704). Entropy decoding means (1701) is a means which takes the encoded data as an input, and which decodes the encoded data based on the statistical model (1704) and recovers the target block. Reference block adoption determining means (1706) is a means which compares the target block with the reference block and outputs a reference block adoption determining signal for switching the subsequent processing.

[0449]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below, together with the operation of an image encoding method according to one embodiment of the present invention.

[0450]
In operation, the blocking means 1 (1501) is equivalent to the blocking means 1 (101). The blocking means 2 (1702) is equivalent to the blocking means 2 (102). The statistical model estimating means (1703) is equivalent to the statistical model estimating means (1303). The entropy encoding means (1705) is equivalent to the entropy encoding means (1305). The reference block adoption determining means (1706) is equivalent to the reference block adoption determining means (505). The target pixel decoding means (1707) is equivalent to the target pixel decoding means (605).

[0451]
As described above, according to the present embodiment, the reference block adoption control means changes the coding scheme for a block that does not match the statistical model, thereby reducing the number of blocks inefficient in coding and thus achieving efficient decoding with fewer code bits.

[0452]
(Embodiment A18)

[0453]
[0453]FIG. 18 is a block diagram showing the configuration of an image decoding apparatus according to an embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0454]
In the figure, blocking means 2 (1802) is a means which takes a reference image as an input and divides the input reference image into blocks each consisting of a plurality of pixels. Statistical model estimating means (1803) is a means which estimates a statistical model for a target block from a reference block, and stores the estimated model in a statistical model (1804). Entropy decoding means (1801) is a means which takes the encoded data as an input, and which decodes the encoded data based on the statistical model (1804) and recovers the target block. Reference block adoption control means (1805) is a means which switches the subsequent processing in accordance with the reference block adoption determining signal. Target pixel encoding means (1806) is a means which encodes the target block and outputs the encoded data.

[0455]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below, together with the operation of an image decoding method according to one embodiment of the present invention.

[0456]
In operation, the blocking means 2 (1802) is equivalent to the blocking means 2 (102). The statistical model estimating means (1803) is equivalent to the statistical model estimating means (1303). The entropy decoding means (1801) is equivalent to the entropy decoding means (1401). The reference block adoption control means (1805) is equivalent to the reference block adoption control means (604). The target pixel decoding means (1806) is equivalent to the target pixel decoding means (605).

[0457]
As described above, according to the present embodiment, the reference block adoption control means changes the coding scheme for a block that does not match the statistical model, thereby reducing the number of blocks inefficient in coding and thus achieving efficient decoding with fewer code bits.

[0458]
In any one of the abovedescribed embodiments, a magnetic recording medium or an optical recording medium may be created that holds a program for having a computer implement the functions of all or part of the means so far described so that the program can be run on the computer to carry out the abovedescribed operations. In that case also, the same effects as described in connection with the respective embodiments can be obtained.

[0459]
As described above, using the image encoding apparatus, image decoding apparatus, image encoding method, and image decoding method of the present invention, more efficient encoding and decoding can be achieved than when using the prior known binary image encoding and decoding techniques, for the reasons given below.

[0460]
(1) In a binary moving image sequence, a target image is predicted from a reference image, and the residual is expressed by exclusive ORS.

[0461]
(2) Appropriate statistical model is always used by changing the statistical model in accordance with the states of surrounding pixels in another frame having correlation.

[0462]
(3) Appropriate statistical model is used by creating a statistical model from a reference image.

[0463]
(4) The number of blocks that do not match the statistical model is reduced by using motion compensation or by changing the coding scheme using a threshold value and a sum of absolute differences.

[0464]
The reference block adoption determining means of the present invention has been described in the fifth embodiment as being applied to the configuration shown in FIG. 5, but the applicable configuration is not limited to the previously described one; for example, the configuration shown in FIG. 30 is also applicable. That is, in the case of the image encoding apparatus shown in FIG. 30, the reference block adoption determining means 3505 outputs a reference block adoption determining signal for switching the subsequent processing, by comparing the number of code bits of the target block with that of the reference block. This point constitutes a major difference from the configuration of FIG. 5. More specifically, the reference block adoption determining means 3505 compares the number of code bits used in the target pixel encoding means 506 with the number of code bits used in the exclusive OR encoding means 504, and performs switching in such a manner that if the number of code bits from the target image encoding means 506 is smaller, the encoded data from that means is output, and if the number of code bits from the exclusive OR encoding means 504 is smaller, the encoded data from that means is output. Further, when the number of code bits from the target image encoding means 506 is smaller, the reference block adoption determining signal is output. In this way, according to this embodiment, the reference block adoption determining means 3505 switches the output of the encoded data by reference to the number of code bits, thereby reducing the number of blocks inefficient in coding and thus achieving efficient coding with fewer number of code bits. In FIG. 30, elements fundamentally the same as those in FIG. 5 are designated by the same reference numerals.

[0465]
The reference block adoption control means of the present invention has been described in the sixth embodiment as being applied to the configuration shown in FIG. 6, but the applicable configuration is not limited to the previously described one; for example, the configuration shown in FIG. 31 is also applicable. That is, the configuration of the image decoding apparatus shown in FIG. 31 includes: target pixel decoding means 605 for recovering the target block by decoding the encoded data output from the image encoding apparatus shown in FIG. 5 or 30; and reference block adoption control means 3604 for selecting, based on the reference block adoption determining signal output from the image encoding apparatus, the output from the target block constructing means 603 or the output from the target pixel decoding means 605 for output as the target block. This configuration achieves more efficient decoding compared with the prior art. In FIG. 31, elements fundamentally the same as those in FIG. 6 are designated by the same reference numerals.

[0466]
The statistical model selecting means of the present invention has been described in the seventh embodiment as being applied to the configuration in which the result of the statistical model selection is not transmitted to the decoding apparatus, but the applicable configuration is not limited to the previously described one; for example, as shown in FIG. 32, the statistical model selecting means 3703 may be configured to output the result of the statistical model selection as a selection result signal to the decoding apparatus. In FIG. 32, elements fundamentally the same as those in FIG. 7 are designated by the same reference numerals.

[0467]
The image decoding apparatus of the present invention has been described in the eighth embodiment as having a configuration corresponding to the configuration of the image encoding apparatus of the type that does not transmit the result of the statistical model selection to the decoding apparatus, but the configuration is not limited to the previously described one; for example, the configuration shown in FIG. 33 is also applicable. That is, the image decoding apparatus shown in FIG. 33 comprises: statistical model selecting means 3803 for receiving the selection result signal output from the image encoding apparatus shown in FIG. 32, and for selecting from among a plurality of statistical models a statistical model corresponding to the selection result signal; and entropy decoding means 801 for recovering the target block by entropydecoding the encoded data output from the image encoding apparatus by using the selected statistical model. This configuration achieves more efficient decoding compared with the prior art. In this embodiment, blocking means 2 (802) such as shown in FIG. 8 can be eliminated. In FIG. 33, elements fundamentally the same as those in FIG. 8 are designated by the same reference numerals.

[0468]
The reference block adoption determining means of the present invention has been described in the 11th embodiment as being applied to the configuration shown in FIG. 11, but the applicable configuration is not limited to the previously described one; for example, the configuration shown in FIG. 34 is also applicable. That is, in the case of the image encoding apparatus shown in FIG. 34, the reference block adoption determining means 3106 outputs a reference block adoption determining signal for switching the subsequent processing, by comparing the number of code bits of the target block with that of the reference block. This point constitutes a major difference from the configuration of FIG. 11. More specifically, the reference block adoption determining means 3106 compares the number of code bits used in the target image encoding means 1107 with the number of code bits used in the entropy encoding means 1105, and performs switching in such a manner that if the number of code bits from the target image encoding means 1107 is smaller, the encoded data from that means is output, and if the number of code bits from the entropy encoding means 1105 is smaller, the encoded data from that means is output. Further, when the number of code bits from the target image encoding means 1107 is smaller, the reference block adoption determining signal is output. In this way, according to this embodiment, the reference block adoption determining means 31106 switches the output of the encoded data by reference to the number of code bits, thereby reducing the number of blocks inefficient in coding and thus achieving efficient encoding with fewer number of code bits. In FIG. 34, elements fundamentally the same as those in FIG. 11 are designated by the same reference numerals.

[0469]
The reference block adoption control means of the present invention has been described in the 12th embodiment as being applied to the configuration shown in FIG. 12, but the applicable configuration is not limited to the previously described one; for example, the configuration shown in FIG. 35 is also applicable. That is, the configuration of the image decoding apparatus shown in FIG. 35 includes: target pixel decoding means 1206 for recovering the target block by decoding the encoded data output from the image encoding apparatus shown in FIG. 11 or 34; and reference block adoption control means 3205 for selecting, based on the reference block adoption determining signal output from the image encoding apparatus, the output from the entropy decoding means 1201 or the output from the target pixel decoding means 1206 for output as the target block. This configuration achieves more efficient decoding compared with the prior art. In FIG. 35, elements fundamentally the same as those in FIG. 12 are designated by the same reference numerals.

[0470]
Each of the above embodiments has been described for the case in which the (t+1)th frame of a moving image sequence is used as the target binary image and the tth frame as the reference binary image, but the embodiments are not restricted to the illustrated case; for example, the same subject may be photographed by a stereocamera pair, and an image captured by one camera and an image captured by the other camera at the same time may be used as the target binary image and reference binary image, respectively. In this case also, the same effects as described in connection with the respective embodiments can be obtained.

[0471]
As is apparent from the above description, the present invention offers the advantage of being able to achieve more efficient encoding and decoding than when using the prior art binary image coding techniques.

[0472]
Further embodiments of the present invention will be described below with reference to drawings.

[0473]
(Embodiment B1)

[0474]
[0474]FIG. 36 is a block diagram showing the configuration of an image encoding apparatus according to a B1st embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0475]
In the figure, dynamic range estimating means (10101) is a means which takes a target multivalue image as an input, extracts the pixel value of the largest area and the pixel value of the second largest area in the multivalue image, and outputs the pixel values as a dynamic range.

[0476]
Smoothing function estimating means (10102) is a means which takes the multivalue image and dynamic range as inputs, and which estimates a smoothing function by analyzing luminance gradients in the multivalue image.

[0477]
Multivalue to binary converting means (10103) is a means which performs luminance conversion using the dynamic range, and which generates a binary image from the multivalue image by using a threshold value as a multivalue to binary conversion criterion which is predetermined so that the original multivalue image could be well approximated if smoothing were done at the corresponding decoder side using the same smoothing function as mentioned above. Thresholding using this threshold value will be described in detail in the operational description hereinafter given. The smoothing function estimated by the smoothing function estimating means 102 based on the multivalue image is a function so adjusted that the original multivalue image could, in effect or in approximation fashion, be reproduced if the smoothing function were applied to the corresponding binary image at the corresponding decoder side.

[0478]
Dynamic range encoding means (10105) is a means which encodes the dynamic range and outputs the encoded data.

[0479]
Binary image encoding means (10104) is a means which encodes the binary image and outputs the encoded data.

[0480]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below with reference to FIGS. 36 to 44, together with the operation of an image encoding method according to one embodiment of the present invention.

[0481]
[0481]FIG. 37 is a diagram showing the target multivalue image. FIG. 38 is a distribution diagram of pixel values along line AB in FIG. 37. As shown in FIG. 37, the pixel value of black is 255 and the pixel value of white is 0.

[0482]
The dynamic range estimating means (10101) extracts the pixel value of the largest area and the pixel value of the second largest area in the multivalue image; in many multivalue images, these pixel values coincide with the largest pixel value and the smallest pixel value, respectively, so that in the present embodiment, the largest pixel value Dmax and the smallest pixel value Dmin are extracted by scanning the target multivalue image.

[0483]
The smoothing function estimating means (10102) is shown in FIG. 39.

[0484]
As shown in the figure, in xdirection filtering (10301), an xdirection filter (10401) is applied and scanned over the image to detect the gradient along the xdirection in the image.

[0485]
In ydirection filtering (10302), a ydirection filter (10402) is applied and scanned over the image to detect the gradient along the ydirection in the image.

[0486]
In gradient detection (10303), gradient d (i, j) is detected by calculating the following equation B1 using the xdirection gradient dx (i, j) obtained by the xdirection filtering (10301) and the ydirection gradient dy (i, j) obtained by the ydirection filtering (10302), where (i, j) are the coordinates on the image.

[0487]
(Equation B1)

d(i,j)={square root}{square root over (d×(i,j)^{2} +dy(i,j)^{2})} (1)

[0488]
In gradient direction detection (
10304), gradient direction θ (i, j) is detected by calculating the following equation B
2 using the xdirection gradient dx (i, j) obtained by the xdirection filtering (
10301) and the ydirection gradient dy (i, j) obtained by the ydirection filtering (
10302), where (i, j) are the coordinates on the image.
$\left(\mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e\mathrm{B2}\right)\ue89e\begin{array}{cc}\theta ={\mathrm{tan}}^{1}\ue89e\frac{\uf74cy}{\uf74cx}& \left(2\right)\end{array}$

[0489]
In nonmaximum value suppression (10305), using a window that changes with θ, as shown in FIG. 40, an image is created in such a manner that if the value of the gradient at reference point within the window is a maximum value, the image portion at the coordinates of the reference point is assigned a value of 1; otherwise, the image portion at the coordinates of the reference point is assigned a value of 0.

[0490]
In average gradient detection (
10306), average gradient d′ave is obtained by calculating the average of the gradients detected in the gradient detection (
10303) for the pixels of value 1 in the binary image obtained by the nonmaximum value suppression (
10305). Further, using the maximum pixel value Dmax and minimum pixel value Dmin detected by the dynamic range estimating means (
10101), normalized average gradient is recalculated from equation B3 below to obtain dave.
$\left(\mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e\mathrm{B3}\right)$ $\begin{array}{cc}{d}_{\mathrm{ave}}=\frac{255}{D\ue89e\text{\hspace{1em}}\ue89e\mathrm{max}D\ue89e\text{\hspace{1em}}\ue89e\mathrm{min}}\ue89e{d}_{\mathrm{ave}}^{\prime}& \left(3\right)\end{array}$

[0491]
Smoothing function selecting means (10307) selects a smoothing filter in accordance with the average gradient dave, as shown in FIG. 41. The detail of the smoothing filter 1 in FIG. 41 is shown in FIG. 42. In FIG. 42, the encircled position shows the location of the pixel to be subjected to smoothing. While scanning the image, the result of the convolution with the filter 1 (10601), the result of the convolution with the filter 2 (10602), the result of the convolution with the filter 3 (10603), and the result of the convolution with the filter 4 (10604) are respectively calculated, and the smallest value of the four filters is taken as the result of the smoothing filter 1. In FIG. 42, a, b, c, d, e, f, g, and h are each 0.5. The smoothing filter 2 is a filter that applies the smoothing filter 1 after applying the smoothing filter 1.

[0492]
The smoothing filter 3 is a filter that applies the smoothing filter 1 after applying the smoothing filter 2. When dave is greater than 191, smoothing by the smoothing filter will not be applied, since the gradient of the image is considered to represent a step edge. On the other hand, when dave is smaller than 10, smoothing by the smoothing filter will not be applied, since it is considered that there is no image gradient.

[0493]
The multivalue to binary converting means (10103) converts the multivalue image to a binary image having only two pixel values, 255 and 0, by considering the characteristic of the smoothing function estimated by the smoothing function estimating means (10102). The responses to onedimensional steps of the smoothing filter 1, smoothing filter 2, and smoothing filter 3 are as shown in FIG. 43; accordingly, the multivalue to binary conversion corresponding to the smoothing filter 1, smoothing filter 2, and smoothing filter 3 is the thresholding such as shown in FIG. 44. Therefore, the multivalue to binary converting means (10103) applies the thresholding shown in FIG. 44 to the multivalue image.

[0494]
The binary image encoding means (10104) encodes the binary image by using the binary image encoding scheme MMR, defined in CCITT's international standard traditionally used for facsimile systems, etc., and outputs the encoded data. The smoothing function encoding means (10106) encodes the smoothing function estimated by the smoothing function estimating means (10102), and outputs the encoded data. In the present embodiment, since the smoothing function is selected from among the three smoothing functions, the identification number of the selected smoothing function is encoded which is output as the encoded data.

[0495]
The dynamic range encoding means (10105) individually encodes the Dmax and Dmin obtained by the dynamic range estimating means (10101), and outputs the encoded data.

[0496]
As described above, in the present embodiment, by utilizing the property of a multivalue image that almost all pixels in the image have a uniform minimum value or maximum value with intermediate values distributed along the boundary, the state of the distribution of the intermediate values is analyzed, the smoothing function that provides a good approximation of the intermediate value distribution is estimated, and a binary base image corresponding to the estimated smoothing function is estimated. By individually encoding the estimated maximum pixel value and minimum pixel value, the estimated smoothing function, and the estimated binary base image and outputting the results as encoded data, efficient encoding can be achieved.

[0497]
(Embodiment B2)

[0498]
[0498]FIG. 45 is a block diagram showing the configuration of an image decoding apparatus according to a B2nd embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0499]
In the figure, binary image decoding means (10901) is a means for recovering the binary image by decoding the binary image encoded data.

[0500]
Smoothing function decoding means (10902) is a means for recovering the smoothing function by decoding the smoothing function encoded data.

[0501]
Dynamic range decoding means (10903) is a means for recovering the dynamic range by decoding the dynamic range encoded data.

[0502]
Binary to multivalue converting means (10904) is a means for recovering the multivalue image by smoothing the binary image using the smoothing function recovered by the smoothing function decoding means (10902), and by performing luminance conversion using the dynamic range recovered by the dynamic range decoding means (10903).

[0503]
Binary mask applying means (10905) is a means for obtaining a new multivalue image by applying masking to the multivalue image with the binary image recovered by the binary image decoding means (10901).

[0504]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below.

[0505]
The binary image decoding means (10901) recovers the binary image having only two pixel values, 0 and 255, by decoding the binary image encoded data which was encoded using the binary image encoding scheme MMR defined in CCITT's international standard traditionally used for facsimile systems, etc.

[0506]
The smoothing function decoding means (10902) recovers the smoothing function by decoding the smoothing function encoded data.

[0507]
The dynamic range decoding means (10903) recovers the maximum pixel value Dmax and minimum pixel value Dmin by decoding the dynamic range encoded data.

[0508]
The binary to multivalue converting means (10904) actually applies the smoothing filter recovered by the smoothing function decoding means (10902). (For the method of applying the smoothing filter, refer to the description of the smoothing function selecting means (10307) and FIG. 42.) Further, using the maximum pixel value Dmax and minimum pixel value Dmin recovered by the dynamic range decoding means (10903), a linear conversion is performed as shown in FIG. 46, to recover the multivalue image. In the binary mask applying means (10905), using the binary image recovered by the binary image decoding means (10901), the values of the pixels in the multivalue image that correspond to the pixels of value 0 in the binary image are forcefully changed to Dmin so that the pixels in the encoded multivalue image that have a minimum pixel value do not take any other value than the minimum pixel value. The binary mask applying means (10905) is effective particularly when there is a need to restrict the position of Dmin to maintain matching with texture data, but can be omitted if there is no such need.

[0509]
As described above, in the present embodiment, by utilizing the property of a multivalue image that almost all pixels in the image have a uniform minimum value or maximum value with intermediate values distributed along the boundary, the state of the distribution of the intermediate values is analyzed, the smoothing function that provides a good approximation of the intermediate value distribution is estimated, and a binary base image corresponding to the estimated smoothing function is estimated. By individually encoding and outputting the estimated maximum pixel value and minimum pixel value, the estimated smoothing function, and the estimated binary base image, and by decoding the encoded data thus output, efficient decoding with fewer code bits can be achieved.

[0510]
(Embodiment B3)

[0511]
[0511]FIG. 47 is a block diagram showing the configuration of an image encoding apparatus according to a B3rd embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0512]
In the figure, dynamic range estimating means (11101) is a means which takes a target multivalue image as an input, and which extracts the pixel value of the largest area and the pixel value of the second largest area in the multivalue image.

[0513]
Smoothing function estimating means (11102) is a means which takes the multivalue image and dynamic range as inputs, and which estimates a smoothing function by analyzing luminance gradients in the multivalue image.

[0514]
Multivalue to binary converting means (11103) is a means which generates a binary image by using the dynamic range, smoothing function, and multivalue image so that the multivalue image can be well approximated when luminance conversion is performed using the dynamic range and smoothing is done using the smoothing function.

[0515]
Dynamic range encoding means (11104) is a means which encodes the dynamic range and outputs the encoded data.

[0516]
Smoothing function encoding means (11105) is a means which encodes the smoothing function and outputs the encoded data.

[0517]
Binary image encoding means (11106) is a means which encodes the binary image and outputs the encoded data.

[0518]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below.

[0519]
The dynamic range estimating means (11101) extracts the pixel value of the largest area and the pixel value of the second largest area in the multivalue image; in many multivalue images, these pixel values coincide with the largest pixel value and the smallest pixel value, respectively, so that in the present embodiment, the largest pixel value Dmax and the smallest pixel value Dmin are extracted by scanning the target multivalue image.

[0520]
The smoothing function estimating means (11102) is shown in FIG. 48.

[0521]
In xdirection filtering (11201), an xdirection filter (10401) is applied and scanned over the image to detect the gradient along the xdirection in the image. In ydirection filtering (11202), a ydirection filter (10402) is applied and scanned over the image to detect the gradient along the ydirection in the image.

[0522]
In gradient detection (11203), gradient d (i, j) is detected by calculating equation B1 using the xdirection gradient dx (i, j) obtained by the xdirection filtering (11201) and the ydirection gradient dy (i, j) obtained by the ydirection filtering (11202), where (i, j) are the coordinates on the image.

[0523]
In gradient direction detection (11204), gradient direction θ (i, j) is detected by calculating equation B2 using the xdirection gradient dx (i, j) obtained by the xdirection filtering (11201) and the ydirection gradient dy (i, j) obtained by the ydirection filtering (11202), where (i, j) are the coordinates on the image.

[0524]
In nonmaximum value suppression (11205), using a window that changes with θ, as shown in FIG. 40, an image is created in such a manner that if the value of the gradient at reference point within the window is a maximum value, the image portion at the coordinates of the reference point is assigned a value of 1; otherwise, the image portion at the coordinates of the reference point is assigned a value of 0.

[0525]
In average gradient detection (11206), average gradient d′ave is obtained by calculating the average of the gradients detected in the gradient detection (11203) for the pixels of value 1 in the binary image obtained by the nonmaximum value suppression (11205). Further, using the maximum pixel value Dmax and minimum pixel value Dmin detected by the dynamic range estimating means (11101), normalized average gradient is recalculated from equation B2 to obtain dave.

[0526]
In smoothing function construction (11207), a smoothing filter is constructed in accordance with the normalized average gradient dave, as shown in FIG. 49. The number of steps of the constructed smoothing filter is varied according to the gradient, as shown in FIG. 49. The detail of the smoothing filter of FIG. 49 is shown in FIG. 50. In the figure, the smoothing filter step 2, smoothing filter step 3, and smoothing filter step 4 are designated by 11401, 11402, and 11403, respectively. Smoothing filter coefficient table 11404 is also shown in the figure. When dave is greater than 191, smoothing by the smoothing filter will not be applied, since the gradient of the image is considered to represent a step edge. On the other hand, when dave is smaller than 10, smoothing by the smoothing filter will not be applied, since it is considered that there is no image gradient.

[0527]
The multivalue to binary converting means (11103) converts the multivalue image to a binary image having only two pixel values, 255 and 0, by considering the characteristic of the smoothing function estimated by the smoothing function estimating means (11102). The responses to onedimensional steps of the smoothing filter step 2, smoothing filter step 3, and smoothing filter step 4 are as shown in FIG. 51; accordingly, the multivalue to binary conversion corresponding to the smoothing filter step 2 (11401), smoothing filter step 3 (11402), and smoothing filter step 4 (11403) involves the thresholding shown in FIG. 44 followed by morphological processing with a morphological filter such as shown in FIG. 52. That is, the processing is such that when the smoothing filter step 2 is constructed, the reference point is replaced by the smallest value within the filter window by using the morphological filter 1 (11601); when the smoothing filter step 3 (11603) is constructed, the reference point is replaced by the smallest value within the filter window by using the morphological filter 2 (11602); and when the smoothing filter step 4 is constructed, the reference point is replaced by the smallest value within the filter window by using the morphological filter 3.

[0528]
Therefore, the multivalue to binary converting means (11103) applies the morphological processing to the multivalue image by using the smoothing filter constructed as shown in FIG. 52, after performing the thresholding shown in FIG. 44.

[0529]
The binary image encoding means (11104) encodes the binary image by using the binary image encoding scheme MMR defined in CCITT's international standard traditionally used for facsimile systems, etc., and outputs the encoded data.

[0530]
The smoothing function encoding means (11105) encodes the smoothing function estimated by the smoothing function estimating means (11102), and outputs the encoded data.

[0531]
The dynamic range encoding means (11106) encodes the Dmax and Dmin obtained by the dynamic range estimating means (11101), and outputs the encoded data.

[0532]
As described above, in the present embodiment, by utilizing the property of a multivalue image that almost all pixels in the image have a uniform minimum value or maximum value with intermediate values distributed along the boundary, the state of the distribution of the intermediate values is analyzed, the smoothing function that provides a good approximation of the intermediate value distribution is estimated, and a binary base image corresponding to the estimated smoothing function is estimated. By individually encoding the estimated maximum pixel value and minimum pixel value, the estimated smoothing function, and the estimated binary base image and outputting the results as encoded data, efficient encoding can be achieved.

[0533]
(Embodiment B4)

[0534]
[0534]FIG. 53 is a block diagram showing the configuration of an image decoding apparatus according to a B4th embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0535]
In the figure, binary image decoding means (11701) is a means for recovering the binary image by decoding the binary image encoded data.

[0536]
Smoothing function decoding means (11702) is a means for recovering the smoothing function by decoding the smoothing function encoded data.

[0537]
Dynamic range decoding means (11703) is a means for recovering the dynamic range by decoding the dynamic range encoded data.

[0538]
Binary to multivalue converting means (11704) is a means for recovering the multivalue image by smoothing the binary image using the smoothing function recovered by the smoothing function decoding means (11702), and by performing luminance conversion using the dynamic range recovered by the dynamic range decoding means (11703).

[0539]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below.

[0540]
The binary image decoding means (11701) recovers the binary image having only two pixel values, 0 and 255, by decoding the binary image encoded data which was encoded using the binary image encoding scheme MMR defined in CCITT's international standard traditionally used for facsimile systems, etc.

[0541]
The smoothing function decoding means (11702) recovers the smoothing function by decoding the smoothing function encoded data.

[0542]
The dynamic range decoding means (11703) recovers the maximum pixel value Dmax and minimum pixel value Dmin by decoding the dynamic range encoded data. The binary to multivalue converting means (11704) actually applies the smoothing filter recovered by the smoothing function decoding means (11702). (For the method of applying the smoothing filter, refer to the description of the smoothing function constructing means (11207) and FIG. 50.) Further, using the maximum pixel value Dmax and minimum pixel value Dmin recovered by the dynamic range decoding means (10903), a linear conversion is performed as shown in FIG. 46, to recover the multivalue image.

[0543]
As described above, in the present embodiment, by utilizing the property of a multivalue image that almost all pixels in the image have a uniform maximum value or minimum value with intermediate values distributed along the boundary, the state of the distribution of the intermediate values is analyzed, the smoothing function that provides a good approximation of the intermediate value distribution is estimated, and a binary base image corresponding to the estimated smoothing function is estimated. By individually encoding and outputting the estimated maximum pixel value and minimum pixel value, the estimated smoothing function, and the estimated binary base image, and by decoding the encoded data thus output, efficient decoding with fewer code bits can be achieved.

[0544]
(Embodiment B5)

[0545]
[0545]FIG. 54 is a block diagram showing the configuration of an image encoding apparatus according to a B5th embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0546]
In the figure, dynamic range estimating means (11801) is a means which takes a target multivalue image as an input, and which extracts the pixel value of the largest area and the pixel value of the second largest area in the multivalue image.

[0547]
Smoothing function estimating means (11802) is a means which takes the multivalue image and dynamic range as inputs, and which estimates a smoothing function by analyzing luminance gradients in the multivalue image. Multivalue to binary converting means (11803) is a means which generates a binary image by using the dynamic range, smoothing function, and multivalue image so that the multivalue image can be well approximated when luminance conversion is performed using the dynamic range and smoothing is done using the smoothing function.

[0548]
Dynamic range encoding means (11804) is a means which encodes the dynamic range and outputs the encoded data.

[0549]
Smoothing function coefficient encoding means (11805) is a means which encodes the smoothing function and outputs the encoded data. Binary image encoding means (11806) is a means which encodes the binary image and outputs the encoded data.

[0550]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below.

[0551]
The dynamic range estimating means (11801) extracts the pixel value of the largest area and the pixel value of the second largest area in the multivalue image; in many multivalue images, these pixel values coincide with the largest pixel value and the smallest pixel value, respectively, so that in the present embodiment, the largest pixel value Dmax and the smallest pixel value Dmin are extracted by scanning the target multivalue image.

[0552]
The smoothing function estimating means (11802) is shown in FIG. 55. In xdirection filtering (11901), an xdirection filter (10401) is applied and scanned over the image to detect the gradient along the xdirection in the image.

[0553]
In ydirection filtering (11902), a ydirection filter (10402) is applied and scanned over the image to detect the gradient along the ydirection in the image. In gradient detection (11903), gradient d (i, j) is detected by calculating equation B1 using the xdirection gradient dx (i, j) obtained by the xdirection filtering (11901) and the ydirection gradient dy (i, j) obtained by the ydirection filtering (11902), where (i, j) are the coordinates on the image.

[0554]
In gradient direction detection (11904), gradient direction θ (i, j) is detected by calculating equation B2 using the xdirection gradient dx (i, j) obtained by the xdirection filtering (11901) and the ydirection gradient dy (i, j) obtained by the ydirection filtering (11902), where (i, j) are the coordinates on the image. In nonmaximum value suppression (11905), using a window that changes with θ, as shown in FIG. 40, an image is created in such a manner that if the value of the gradient at reference point within the window is a maximum value, the image portion at the coordinates of the reference point is assigned a value of 1; otherwise, the image portion at the coordinates of the reference point is assigned a value of 0.

[0555]
In directionbydirection average gradient detection (11906), average gradient is obtained for each of two directions, i.e., the horizontal and vertical directions, based on the gradient direction detected in the gradient detection (11904), by calculating the average of the gradients detected in the gradient detection (11903) for the pixels of value 1 in the binary image obtained by the nonmaximum value suppression (11905). Further, using the maximum pixel value Dmax and minimum pixel value Dmin detected by the dynamic range estimating means (11901), normalized average gradient is recalculated from equation B2 to obtain the average gradient, dave_{—}1, in the vertical direction and the average gradient, dave_{—}2, in the horizontal direction.

[0556]
In smoothing function generation (11907), a smoothing filter is generated by estimating smoothing filter coefficients based on the average gradients dave_{—}1 and dave_{—}2. In the present embodiment, the coefficients of the smoothing filter of step number 3 shown in FIG. 56 are estimated. Here, constraints are applied by equation B4, but depending on the image, each coefficient may be weighted.

[0557]
(Equation B4)

a=1 (4)

b=f, c=h (5)
$\begin{array}{cc}g=i=e=d=\frac{h+f}{2}& \left(6\right)\end{array}$
j=a+b+c+d+e+f+g+h+i (
7)

[0558]
Using dave
_{—}1, c is estimated by equation B5. However, when dave
_{—}1 is greater than 200, the gradient of the image is considered to represent a step edge, so that c is set to 0. On the other hand, when dave
_{—}1 is smaller than 50, it is considered that there is no image gradient, so that c is set to 0.
$\left(\mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e\mathrm{B5}\right)$ $\begin{array}{cc}c=\frac{255{d}_{\mathrm{ave1}}}{2\ue89e{d}_{\mathrm{ave1}}}& \left(8\right)\end{array}$

[0559]
Using dave
_{—}1, b is estimated by equation B6. However, when dave
_{—}2 is greater than 200, the gradient of the image is considered to represent a step edge, so that b is set to 0. On the other hand, when dave
_{—}2 is smaller than 50, it is considered that there is no image gradient, so that b is set to 0.
$\left(\mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e\mathrm{B6}\right)$ $\begin{array}{cc}b=\frac{255{d}_{\mathrm{ave2}}}{2\ue89e{d}_{\mathrm{ave2}}}& \left(9\right)\end{array}$

[0560]
Filter coefficients and scales are estimated using equations B4, B5, and B6, as described above. The multivalue to binary converting means (
11903) converts the multivalue image to a binary image having only two pixel values, 255 and 0, by considering the characteristic of the smoothing function estimated by the smoothing function estimating means (
11902). In this embodiment, the threshold value is estimated based on the filter coefficients, and the binary image is obtained by thresholding the multivalue image using the estimated threshold value. The threshold value γ is estimated by equation B7.
$\left(\mathrm{Equation}\ue89e\text{\hspace{1em}}\ue89e\mathrm{B7}\right)$ $\begin{array}{cc}\gamma =255\ue89e\left(\frac{a+2\ue89eb}{4\ue89ej}+\frac{a+2\ue89eh}{4\ue89ej}\right)& \left(10\right)\end{array}$

[0561]
The binary image encoding means (11904) encodes the binary image by using the binary image encoding scheme MMR defined in CCITT's international standard traditionally used for facsimile systems, etc., and outputs the encoded data.

[0562]
The smoothing function coefficient encoding means (11905) encodes each coefficient and scale of the smoothing function estimated by the smoothing function estimating means (11902), and outputs the encoded data. The dynamic range encoding means (11906) individually encodes the Dmax and Dmin obtained by the dynamic range estimating means (11901), and outputs the encoded data.

[0563]
As described above, in the present embodiment, by utilizing the property of a multivalue image that almost all pixels in the image have a uniform maximum value or minimum value with intermediate values distributed along the boundary, the state of the distribution of the intermediate values is analyzed, the smoothing function that provides a good approximation of the intermediate value distribution is estimated, and a binary base image corresponding to the estimated smoothing function is estimated. By individually encoding the estimated maximum pixel value and minimum pixel value, the estimated smoothing function, and the estimated binary base image and outputting the results as encoded data, efficient encoding can be achieved.

[0564]
(Embodiment B6)

[0565]
[0565]FIG. 57 is a block diagram showing the configuration of an image decoding apparatus according to a B6th embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0566]
In the figure, binary image decoding means (12101) is a means for recovering the binary image by decoding the binary image encoded data.

[0567]
Smoothing function coefficient decoding means (12102) is a means for recovering the smoothing function by decoding the smoothing function encoded data.

[0568]
Dynamic range decoding means (12103) is a means for recovering the dynamic range by decoding the dynamic range encoded data.

[0569]
Binary to multivalue converting means (12104) is a means for recovering the multivalue image by smoothing the binary image using the smoothing function recovered by the smoothing function decoding means (12102), and by performing luminance conversion using the dynamic range recovered by the dynamic range decoding means (12103).

[0570]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below.

[0571]
The binary image decoding means (12101) recovers the binary image having only two pixel values, 0 and 255, by decoding the binary image encoded data which was encoded using the binary image encoding scheme MMR defined in CCITT's international standard traditionally used for facsimile systems, etc.

[0572]
The smoothing function coefficient decoding means (12102) recovers the smoothing filter coefficients and scales and thus the smoothing function by decoding the smoothing function encoded data. The dynamic range decoding means (12103) recovers the maximum pixel value Dmax and minimum pixel value Dmin by decoding the dynamic range encoded data.

[0573]
The binary to multivalue converting means (12104) applies convolution with the smoothing filter recovered by the smoothing function coefficient decoding means (12102). Further, using the maximum pixel value Dmax and minimum pixel value Dmin recovered by the dynamic range decoding means (12103), a linear conversion is performed as shown in FIG. 46, to recover the multivalue image.

[0574]
As described above, in the present embodiment, by utilizing the property of a multivalue image that almost all pixels in the image have a uniform maximum value or minimum value with intermediate values distributed along the boundary, the state of the distribution of the intermediate values is analyzed, the smoothing function that provides a good approximation of the intermediate value distribution is estimated, and a binary base image corresponding to the estimated smoothing function is estimated. By individually encoding and outputting the estimated maximum pixel value and minimum pixel value, the estimated smoothing function, and the estimated binary base image, and by decoding the encoded data thus output, efficient decoding with fewer code bits can be achieved.

[0575]
(Embodiment B7)

[0576]
[0576]FIG. 58 is a block diagram showing the configuration of an image encoding apparatus according to a B7th embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0577]
In the figure, multivalue to binary converting means (12201) is a means which takes a target image (with a range of values from 0 to 255, each being an integer) as an input, and which binarizes the input target image by assigning a value of 0 to pixels of value 0 and a value of 255 to pixels of other values.

[0578]
Binary image encoding means (12202) is a means which encodes the binary image having values of {0, 255} and outputs the encoded data. Smoothing function estimating means (12203) is means for determining a smoothing function. Smoothing function encoding means (12204) is a means for encoding the thus determined function. Here, the smoothing function estimating means (12203) corresponds to the smoothing function generating means of the present invention.

[0579]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below.

[0580]
The binary image binarized by the multivalue to binary converting means (12201) is encoded by the binary image encoding means (12202). For the encoding, the binary image encoding scheme MMR defined in CCITT's international standard is used, with value 0 as white and 255 as black.

[0581]
On the other hand, the binarized image is compared by the smoothing function estimating means (12203) with the input multivalue image to determine the smoothing function. This will be explained below with reference to FIGS. 60 and 61.

[0582]
As noted in the description of the background art, many alpha planes have the property that most portions are uniform and intermediate values are distributed along the boundary. To reproduce the intermediate values distributed along the boundary, consider the smoothing operation wherein substitution is made for the center pixel value x, depending on whether the values of the vertically (b3, b0) and horizontally (b2, b1) neighboring pixels are 255 or not.

[0583]
Since the target multivalue image is binarized by assigning 0 to pixels of value 0 and 255 to pixels of other values, the substitution is performed only when the value of the target pixel is 255. Therefore, the binarization pattern of the four neighbors of a pixel taking the value of 255 is expressed by four bits (16 patterns).

[0584]
The smoothing function estimating means (
12203) scan the image and obtains the value to substitute by finding the average value for each of the 16 patterns of the four neighboring pixels of a pixel taking the value of 255. An example is shown in Table 1.
TABLE 1 


b3  b2  b1  b0  x 


≠255  ≠255  ≠255  ≠255  32 
≠255  ≠255  ≠255  =255  64 
≠255  ≠255  =255  ≠255  64 
≠255  ≠255  =255  =255  128 
≠255  =255  ≠255  ≠255  64 
≠255  =255  ≠255  =255  128 
≠255  =255  =255  ≠255  128 
≠255  =255  =255  =255  192 
=255  ≠255  ≠255  ≠255  64 
=255  ≠255  ≠255  =255  128 
=255  ≠255  =255  ≠255  128 
=255  ≠255  =255  =255  192 
=255  =255  ≠255  ≠255  128 
=255  =255  ≠255  =255  192 
=255  =255  =255  ≠255  192 
=255  =255  =255  =255  255 


[0585]
Accordingly, in the case of a pixel at the boundary where the value changes from 0 to 255, as shown in the first stage of smoothing in FIG. 61, for example, 128 is substituted for the pixel value. If there are two or more pixels with intermediate values at or near the contour, the operation for finding the average value for each of the 16 patterns of the four neighboring pixels is repeated in a recursive manner for the pixels having the value of 255. Table 2 shows the results of this second operation. In this way, a boundary having an intermediate value corresponding to the second stage of smoothing in FIG. 61 can be expressed.
TABLE 2 


b3  b2  b1  b0  x 

≠255  ≠255  ≠255  ≠255  128 
≠255  ≠255  ≠255  =255  128 
≠255  ≠255  =255  ≠255  128 
≠255  ≠255  =255  =255  192 
≠255  =255  ≠255  ≠255  128 
≠255  =255  ≠255  =255  192 
≠255  =255  =255  ≠255  192 
≠255  =255  =255  =255  192 
=255  ≠255  ≠255  ≠255  128 
=255  ≠255  ≠255  =255  192 
=255  ≠255  =255  ≠255  192 
=255  ≠255  =255  =255  192 
=255  =255  ≠255  ≠255  192 
=255  =255  ≠255  =255  192 
=255  =255  =255  ≠255  192 
=255  =255  =255  =255  255 


[0586]
The output of the smoothing function estimating means (12203) is obtained as the number of stages of smoothing (in the illustrated example, 2 stages, the maximum possible number being 8 stages) and pixel value tables for the patterns of (b3, b2, b1, b0) corresponding to the number of stages. Here, the number of stages refers to the number of repetitions of the smoothing operation which is repeated in a recursive manner. The smoothing function encoding means (12204) encodes the number of stages of smoothing as three bits and the pixel value tables for the patterns of (b3, b2, b1, b0) as 8 bits×15 (the number of patterns excluding the pattern in which all pixel values are 255)×number of stages.

[0587]
(Embodiment B8)

[0588]
[0588]FIG. 59 is a block diagram showing the configuration of an image decoding apparatus according to a B8th embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure. Outputs from the image encoding apparatus of the seventh embodiment are supplied as inputs to the decoding apparatus of the present embodiment. Binary image decoding means (12301) is a means which takes the output of the binary image encoding means (12202) as an input and recovers the binary image of {0, 255} from the binary image encoded data. Smoothing function decoding means (12302) is a decoding means for decoding the output of the smoothing function encoding means (12204). Binary to multivalue converting means (12303) is a means which takes the smoothing function and binary image as inputs and reconstructs the multivalue image.

[0589]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below.

[0590]
The binary image decoding means (12301) uses the MMR decoding scheme. The smoothing function decoding means decodes the number of stages of smoothing and the substitution pixel value tables for the patterns corresponding to the number of stages. The decoded tables are assumed to be the two tables, Table 1 and Table 2, used in the example of the image encoding apparatus. The binary to multivalue converting means (12303) performs conversion on each pixel of value 255 to converts its value in two stages using Tables 1 and 2 by reference to its four neighboring pixels, as shown in FIG. 61.

[0591]
As described above, in the seventh and eighth embodiments, by utilizing the property of a multivalue image that almost all pixels in the image have uniform binary values with intermediate values distributed along the boundary, the state of the distribution of the intermediate values is analyzed, and the smoothing function that provides a good approximation of the intermediate value distribution is estimated. Since this smoothing function is expressed by multiple stages, even if the intermediate value has a width greater than or equal to two pixels, any smoothing pattern can be expressed for up to eight pixels. Any smoothing pattern here means the rising/falling characteristic at the boundary.

[0592]
(Embodiment B9)

[0593]
[0593]FIG. 62 is a block diagram showing the configuration of an image decoding apparatus according to a B9th embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure. In the figure, multivalue to binary converting means (12601) is a means which takes a target image (with a range of values from 0 to 255, each being an integer) as an input, and which binarizes the input target image by assigning a value of 0 to pixels of value 0 and a value of 255 to pixels of other values. Binary image encoding means (12602) is a means which encodes the binary image having values of {0, 255} and outputs the encoded data. Smoothing function estimating means (12603) is means for determining a smoothing function.

[0594]
Smoothing function encoding means (12604) is a means for encoding the thus determined function. Binary to multivalue converting means (12605) is a means which takes the smoothing function and binary image as inputs and reconstructs the multivalue image. Difference calculator (12606) is a means which obtains the difference between the output of the binary to multivalue converting means (12605) and the target multivalue image. Residual encoding means (12607) is a means for encoding the difference.

[0595]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below.

[0596]
The blocks with numerals 2601 to 2605 are identical in configuration and operation to the blocks of the same names previously described with reference to FIGS. 58 and 59. In the present embodiment, the image encoding apparatus shown in the seventh embodiment is used as a predictor. That is, the output of the binary to multivalue converting means (12605) is taken as a predicted image, and the difference of the predicted image is obtained by the difference calculator (12606), the difference then being encoded by the residual encoding means (12607).

[0597]
For the encoding of the difference, the interframe coding mode (discrete cosine transform coding) defined in CCITT's international standard for moving picture coding H.261 is used.

[0598]
(Embodiment B10)

[0599]
[0599]FIG. 63 is a block diagram showing the configuration of an image decoding apparatus according to a 10th embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure. Outputs from the image encoding apparatus of the ninth embodiment are supplied as inputs to the decoding apparatus of the present embodiment.

[0600]
In the figure, binary image decoding means (12701) is a means which takes the output of the binary image encoding means (12602) as an input and recovers the binary image of {0, 255} from the binary image encoded data. Smoothing function decoding means (12702) is a decoding means for decoding the output of the smoothing function encoding means (12604). Binary to multivalue converting means (12703) is a means which takes the smoothing function and binary image as inputs and reconstructs the multivalue image. Residual decoding means (12704) is a means which takes the output of the residual encoding means (12607) as an input and obtains the residual. Adder (12705) adds the outputs of the binary to multivalue converting means (12703) and residual decoding means (12704).

[0601]
The operation of the thus configured image decoding apparatus of the present embodiment will be described below.

[0602]
The blocks with numerals 2701 to 2703 are identical in configuration and operation to the blocks of the same names previously described with reference to FIGS. 58 and 59. The residual decoding means (12704) uses the interframe decoding mode as defined in the moving image coding H.261 to correspond with the output of the residual encoding means (12607). The difference signal representing the difference between the target multivalue image in FIG. 41 and the image obtained by smoothing the binary image is thus reconstructed, and the difference signal is added in the adder (12705) to reconstruct the multivalue image. In the 9th and 10th embodiments, the image encoding method shown in the seventh and eighth embodiment is used for prediction, and the prediction residual component is separately encoded, transmitted and stored, thereby achieving more accurate reproduction of the target multivalue image. In particular, by predicting an abrupt change in value at the boundary, highfrequency components can be removed from the residual signal, and the efficiency of discrete cosine transform coding can thus be improved.

[0603]
(Embodiment B11)

[0604]
[0604]FIG. 64 is a block diagram showing the configuration of an image encoding apparatus according to an 11th embodiment of the present invention. The configuration of this embodiment will be described below with reference to same figure.

[0605]
In the figure, dynamic range estimating means (20101) is a means which takes a target multivalue image as an input, extracts the pixel value of the largest area and the pixel value of the second largest area in the multivalue image, and outputs them as a dynamic range.

[0606]
Multivalue to binary converting means (20103) is a means which performs luminance conversion using the dynamic range, and applies thresholding using a predetermined threshold value to generate a binary image.

[0607]
Smoothing function estimating means (20102) is a means which, by considering the thresholding performed in the multivalue to binary converting means (20103), analyzes luminance gradients in the multivalue image and estimates a smoothing function.

[0608]
Dynamic range encoding means (20105) is a means which encodes the dynamic range and outputs the encoded data.

[0609]
Smoothing function encoding means (20106) is a means which encodes the smoothing function and outputs the encoded data.

[0610]
Binary image encoding means (20104) is a means which encodes the binary image and outputs the encoded data.

[0611]
The operation of the thus configured image encoding apparatus of the present embodiment will be described below with reference to FIGS. 40, 49, etc., together with the operation of an image encoding method according to one embodiment of the present invention.

[0612]
The dynamic range estimating means (20101) extracts the pixel value of the largest area and the pixel value of the second largest area in the multivalue image; in many multivalue images, these pixel values coincide with the largest pixel value and the smallest pixel value, respectively, so that in the present embodiment, the largest pixel value Dmax and the smallest pixel value Dmin are extracted by scanning the target multivalue image.

[0613]
The multivalue to binary converting means (20103) performs linear conversion, as shown in FIG. 40, and applies thresholding to each pixel value using a threshold value of 128 so that the maximum value Dmax is set to 255 and the minimum value Dmin is set to 0.

[0614]
The smoothing function estimating means (20120) estimates the smoothing function by considering the thresholding performed by the multivalue to binary converting means (20103) and the average of the gradients of the pixel values in the image. In the present embodiment, an average filter with a reference point at its center is employed since the thresholding is done using a threshold value of 128 in the multivalue to binary converting means (20103).

[0615]
The size of the average filter is determined by the average of the gradients of the pixel values in the image.

[0616]
The average, dave, of the gradients of the pixel values in the image is calculated in the following manner.

[0617]
In xdirection filtering (10301), the xdirection filter (10401) is applied and scanned over the image to detect the gradient along the xdirection in the image.

[0618]
In ydirection filtering (10302), the ydirection filter (10402) is applied and scanned over the image to detect the gradient along the ydirection in the image.

[0619]
In gradient detection (10303), gradient d (i, j) is detected by calculating the equation B1 given in the first embodiment using the xdirection gradient dx (i, j) obtained by the xdirection filtering (10301) and the ydirection gradient dy (i, j) obtained by the ydirection filtering (10302), where (i, j) are the coordinates on the image.

[0620]
In gradient direction detection (10304), gradient direction θ (i, j) is detected by calculating the equation B2 given in the first embodiment using the xdirection gradient dx (i, j) obtained by the xdirection filtering (10301) and the ydirection gradient dy (i, j) obtained by the ydirection filtering (10302), where (i, j) are the coordinates on the image.

[0621]
In nonmaximum value suppression (10305), using a window that changes with θ, as shown in FIG. 40, an image is created in such a manner that if the value of the gradient at the reference point within the window is a maximum value, the image portion at the coordinates of the reference point is assigned a value of 1; otherwise, the image portion at the coordinates of the reference point is assigned a value of 0.

[0622]
In average gradient detection (10306), average gradient d′ave is obtained by calculating the average of the gradients detected in the gradient detection (10303) for the pixels of value 1 in the binary image obtained by the nonmaximum value suppression (10305). Further, using the maximum pixel value Dmax and minimum pixel value Dmin detected by the dynamic range estimating means (20101), normalized average gradient is recalculated from the equation B3 given in the first embodiment to obtain dave.

[0623]
The size of the average filter is determined based on the normalized average gradient dave and by referring to FIG. 49.

[0624]
The binary image encoding means (20104) encodes the binary image by using the binary image encoding scheme MMR defined in CCITT's international standard traditionally used for facsimile systems, etc., and outputs the encoded data.

[0625]
The smoothing function encoding means (20106) encodes the smoothing function estimated by the smoothing function estimating means (11102), and outputs the encoded data. In the case of the present embodiment, the size of the average filter is encoded for output as the encoded data.

[0626]
The dynamic range encoding means (20105) individually encodes the Dmax and Dmin obtained by the dynamic range estimating means (20101), and outputs the encoded data.

[0627]
As described above, in the present embodiment, by utilizing the property of a multivalue image that almost all pixels in the image have a uniform minimum value or maximum value with intermediate values distributed along the boundary, the multivalue image is converted into a binary image, the state of the distribution of the intermediate values is analyzed, and a smoothing function that provides a good approximation of the intermediate value distribution is estimated. By individually encoding the estimated maximum pixel value and minimum pixel value, the estimated smoothing function, and the estimated binary image and outputting the results as encoded data, efficient encoding can be achieved.

[0628]
In any one of the abovedescribed embodiments, a magnetic recording medium or an optical recording medium may be created that holds a program for having a computer implement the functions of all or part of the means so far described so that the program can be run on the computer to carry out the abovedescribed operations.

[0629]
The image encoding apparatus of the present invention has been described in the above embodiments as including the dynamic range estimating means and its encoding means, but this is not an essential condition; for example, since, in many cases, Dmax is 255 and Dmin is 0, both of the above means may be omitted. In that case, the image encoding apparatus comprises, as shown in FIG. 65, smoothing function estimating means (10102) for estimating a smoothing function from a target multivalue image which is the image to be encoded; multivalue to binary converting means (10103) for converting the multivalue image to a binary image in accordance with a multivalue to binary conversion criterion determined to match the estimated smoothing function; binary image encoding means (10104) for encoding the binary image and outputting the same as binary image encoded data; and smoothing function encoding means (10106) for encoding the estimated smoothing function and outputting the same as smoothing function encoded data. According to this configuration, the smoothing function is estimated from the target multivalue image to be encoded; the multivalue image is converted to the binary image in accordance with the multivalue to binary conversion criterion determined to match the estimated smoothing function; the binary image is encoded and output as the binary image encoded data; and the estimated smoothing function is encoded and output as the smoothing function encoded data. In this case also, approximately the same effects as those achieved in the first described configuration can be obtained.

[0630]
Furthermore, the image encoding apparatus of the present invention has been described in the above embodiments as including the smoothing function estimating means, but this is not an essential condition; for example; a configuration that does not include the smoothing function estimating means is also possible. In that case, the image encoding apparatus comprises, as shown in FIG. 66, multivalue to binary converting means for taking a target multivalue image to be encoded and a smoothing function as inputs, and for generating a binary image from the multivalue image on the basis of the smoothing function; binary image encoding means for encoding the binary image and outputting the same as binary image encoded data; and smoothing function encoding means for encoding the smoothing function and outputting the same as smoothing function encoded data. The smoothing function is a predetermined function so adjusted that the original multivalue image could, in effect or in approximation fashion, be reproduced if the smoothing function were applied to the binary image. According to this configuration, the target multivalue image to be encoded and the smoothing function are input; the binary image is generated from the multivalue image on the basis of the smoothing function; the binary image is encoded and output as the binary image encoded data; and the smoothing function is encoded and output as the smoothing function encoded data. In this case also, approximately the same effects as those achieved in the first described configuration can be obtained.

[0631]
The image encoding apparatus of the present invention has been described in the embodiment illustrated in FIG. 66 as not including the dynamic range estimating means, etc. but this is not an essential condition; for example, a configuration including the dynamic range estimating means, etc. is also possible. In that case, the image encoding apparatus comprises, in addition to the elements shown in FIG. 66, the dynamic range estimating means for obtaining the dynamic range from the target multivalue image and the dynamic range encoding means for encoding the dynamic range and outputting the same as dynamic range encoded data, as shown in FIG. 67. In this configuration, the multivalue to binary converting means generates the binary image by also considering the dynamic range. In operation, this configuration involves, in addition to the operation described in connection with the configuration of FIG. 66, obtaining the dynamic range from the target multivalue image, encoding the dynamic range, and outputting the same as the dynamic range encoded data.

[0632]
Furthermore, the image encoding apparatus of the present invention has been described in the embodiment illustrated in FIG. 64 as including the dynamic range estimating means, etc. but this is not an essential condition; for example, a configuration that does not include the dynamic range estimating means, etc. is also possible. In that case, the image encoding apparatus comprises, as shown in FIG. 68, multivalue to binary converting means (20103) for converting a target multivalue image, the image to be encoded, to a binary image in accordance with a multivalue to binary conversion criterion determined to match the multivalue image; smoothing function estimating means (20102) for estimating a smoothing function such that the original multivalue image could, in effect or in approximation fashion, be reproduced if the same smoothing function is applied to the binary image; binary image encoding means (20104) for encoding the binary image and outputting the same as binary image encoded data; and smoothing function encoding means (20106) for encoding the estimated smoothing function and outputting the same as smoothing function encoded data. According to this configuration, the multivalue image is converted to the binary image in accordance with the multivalue to binary conversion criterion determined to match the target multivalue image to be encoded; the smoothing function that could, in effect or in approximation fashion, reproduce the original multivalue image if applied to the binary image is estimated; the binary image is encoded and output as the binary image encoded data; and the estimated smoothing function is encoded and output as the smoothing function encoded data. In this case also, approximately the same effects as those achieved in the first described configuration can be obtained.

[0633]
The image decoding apparatus of the present invention has been described in the above embodiments as including the dynamic range decoding means, but this is not an essential condition; for example, a configuration that does not include the dynamic range decoding means is also possible. In that case, the image decoding apparatus has the configuration that accepts the various kinds of encoded data output from the image encoding apparatus shown in FIG. 58, 65, 66, or 68, and comprises, as shown in FIG. 69, binary image decoding means for recovering the binary image by decoding the binary image encoded data out of the encoded data; smoothing function decoding means for recovering the smoothing function by decoding the smoothing function encoded data out of the encoded data; and binary to multivalue converting means for recovering the multivalue image by smoothing the decoded binary image using the decoded smoothing function. According to this configuration, the various kinds of encoded data output from any one of the image encoding apparatuses are input; of the encoded data, the binary image encoded data is decoded to recover the binary image; of the encoded data, the smoothing function encoded data is decoded to recover the smoothing function; and the multivalue image is recovered by smoothing the decoded binary image using the decoded smoothing function. In this case also, approximately the same effects as those achieved in the first described configuration can be obtained.

[0634]
As described above, using the image encoding apparatus, image decoding apparatus, image encoding method, and image decoding method of the present invention, more efficient encoding and decoding can be achieved than when using the prior art multivalue image coding techniques, for the reasons given below.

[0635]
1. In a multivalue image, the distribution of intermediate values along the boundary between the maximum value region occupying a major portion of the image and the minimum value region also occupying a major portion is analyzed, and the smoothing function that provides a good approximation of the distribution is determined.

[0636]
2. Based on the smoothing function determined in 1, a binary image is generated that has only two values, the maximum value and the minimum value.

[0637]
3. The multivalue image is expressed by the smoothing function determined in 1 and the binary image generated in 2 and encoded accordingly.

[0638]
4. At the decoder, the encoded smoothing function and binary image are decoded to reconstruct the multivalue image.

[0639]
As is apparent from the above description, the present invention has the advantage of being able to achieve more efficient encoding and decoding than can be achieved with the prior art.

[0640]
Industrial Applicability

[0641]
As described above, according to the present invention, by predicting a pixel to be encoded, for example, from a previously obtained binary image having high correlation, and by encoding its difference, more efficient encoding and decoding can be achieved than when using prior art binary image encoding and decoding techniques. Furthermore, according to the present invention, the distribution of intermediate values, for example, is analyzed, and a smoothing function that approximates the distribution and a binary base image that has only two values, the maximum value and the minimum value, are respectively encoded and then decoded, thereby achieving more efficient encoding and decoding than can be achieved with the prior art.