A pixel value change processing section corrects the value of a current pixel
in
an input image so that the size of a code produced by a coding processing section
is reduced, and outputs a changed pixel value. When predictive coding is employed,
the pixel value change processing section outputs the same pixel value as that
which is predicted by a predictor. When arithmetic coding is employed, the pixel
value change processing section outputs a pixel value at which a dominant symbol
is obtained in the arithmetic coding. The coding processing section produces a
code from the changed pixel value 310. The pixel value change processing
section produces an error value between the current pixel value and the changed
pixel value. An error distribution processing section produces an error distribution
value from the error value and adds the error distribution value to the pixel value
of the input image.