The image coding apparatus 10 has a screen rearranging buffer 21, an operator 22, an orthogonal transformation section 23, a quantization section 24, an entropy coding section 25, an accumulation buffer 26, and a rate controller 27. In addition, the image coding apparatus 10 has a dequantization section 31, an inverse orthogonal transformation section 32, an operator 33, a deblocking filter 34, an adaptive offset filter 35, an adaptive loop filter 36, a frame memory 37, and a selector 38. Moreover, the image coding apparatus 10 has an intra-predicting section 41, a motion predicting and compensating section 42, a prediction selector 43, and a transformation skip controller 44.
The screen rearranging buffer 21 rearranges stored frame images in a display order into frame images in an order for cording, i.e., a coding order, depending on a GOP (Group Of Picture) structure. The screen rearranging buffer 21 outputs image data of the frame images in the coding order (original image data) to the operator 22. Furthermore, the screen rearranging buffer 21 outputs the original image data to the adaptive offset filter 35, the intra-predicting section 41, and the motion predicting and compensating section 42.
The operator 22 subtracts prediction image data supplied from the intra-predicting section 41 or the motion predicting and compensating section 42 through the prediction selector 43 from the original image data supplied from the screen rearranging buffer 21 per pixel, and outputs residual data representing prediction residuals to the orthogonal transformation section 23.