An image decoding method comprising a decoding step of decoding coded data obtained by dividing a coding target image into macroblocks of a predetermined size, dividing each said macroblock into blocks of a predetermined shape and size specified based on a macroblock type, performing a motion compensated prediction in each unit of said block to output a motion vector, generating a predicted image from a reference image on the basis of the motion vector, calculating a difference between the predicted image and the coding target image to output a predictive residual image, performing transform coding of the predictive residual image in each unit of a predetermined transform block to output transform coefficients, quantizing the transform coefficients on the basis of a quantization parameter to output quantized transform coefficients, and performing compression coding of coding-related information containing the motion vector, the quantized transform coefficients, the macroblock type, and the quantization parameter to yield coded data,
- wherein the decoding step is to prepare one or more types of decoding procedures, select a decoding procedure which is one of said one or more types of decoding procedures and which corresponds to a coding procedure used in the coding of the coding-related information as a decoding target, based on a predetermined decoding procedure selection criterion, using the coding-related information previously decoded and stored in a decoded symbol memory, and decode the coding-related information on the basis of the selected decoding procedure to output decoded data,
- wherein the decoding step includes, for each of the predetermined transform blocks in a said macroblock, decoding coded block pattern information containing a nonzero coefficient existence flag indicating whether there exists a nonzero, said quantized transform coefficient, and
- wherein, on the occasion of decoding the coded block pattern information in a coding target macroblock, the decoding step includes providing a decoding procedure corresponding to a coding procedure provided so as to decrease a code length as a spatial correlation of the coded block pattern information becomes higher between the coding target macroblock and a neighboring macroblock thereto.