Patent ID: 7720297

Claim:
An image coding apparatus, comprising: an entropy coding means for splitting a two-dimensional signal into a plurality of code blocks, for resolving the code blocks to bit planes, for splitting each of the bit planes into one or more pieces of coding passes, and for coding the coding pass based on control information for every coding pass to output code data; a code memory for storing thereinto the code data outputted from the entropy coding means; a rate control information extracting means for judging both a continuation and an end of the coding pass based on a calculation result of a distortion and a code amount, which are required in a rate control; and a code data extracting means for extracting the code data up to the coding end pass from the code memory based on the control information extracted from the rate control information extracting means, and for outputting the extracted code data as a code stream, wherein the rate control information extracting means includes: a distortion calculating means for calculating a distortion which is produced by coding each of the coding passes; a code amount calculating means for calculating a code amount of each of the coding passes; a slope calculating means for calculating a slope based on a relationship between a distortion and a code amount in each of the code blocks from both the distortion calculated from the distortion calculating means and the code amount calculated from the code amount calculating means; and a coding pass conducting means for outputting the control information to both the entropy coding means and the code data extracting means, while the control information controls each of the coding operation based on the slope, a total code amount of all components, and a total code amount of a specific component so that the total code amount of the all components is equal to or smaller than a target code amount, and the total code amount of the specific component is equal to or smaller than a predetermined maximum value, wherein: the coding pass conducting means codes such a coding pass that the slope exceeds a predetermined slope threshold value; if the total code amount of the all components does not reach the target code amount, the coding pass conducting means repeatedly controls a process operation by that the predetermined slope threshold value is decreased, and a coding pass which has not yet coded before the slope threshold value is decreased is furthermore coded until the total code amount of the all components reaches the target code amount; and if a total code amount of the specific component designated in a halfway of the coding operation exceeds the maximum value, the coding pass conducting means controls the coding operation so that the coding operation as to a code block belonging to the specific component is not subsequently carried out.