An image decoding apparatus which decodes a coded stream generated by coding, on a block-by-block basis, a picture including blocks to be processed in a predetermined processing order, said image decoding apparatus comprising: a predecoding unit configured to perform variable length decoding according to context-based adaptive binary arithmetic coding, CABAC, to generate block decoding information, on each row which contains blocks and which is included in the coded stream, the blocks being consecutive in processing order, the block decoding information being necessary for decoding an other row; and block decoding units configured to perform decoding in parallel on rows included in the coded stream and different from each other, by performing, by each of said decoding units, decoding including variable length decoding according to CABAC, on one of the rows on a block-by-block basis, wherein, when the decoding is performed on the row, each of said block decoding units is configured to perform the decoding on a corresponding one of the rows by using the block decoding information generated in the variable length decoding performed on an other row on which an other block decoding unit performs the decoding, and the block decoding information necessary for decoding the other row is information indicating an inside status of the variable length decoding according to CABAC of the predecoding unit and either one of a quantization parameter of a block located at an end in the row and a difference between the quantization parameter of the block located at the end in the row and a predetermined value, wherein said predecoding unit is further configured to insert, at a beginning of each of the rows in the coded stream, a bit pattern by which the beginning can be identified uniquely, and each of said block decoding units is configured to search for the bit pattern inserted into the coded stream to find a row on which the decoding is to be performed by said block decoding unit, and to decode the row, wherein said predecoding unit is further configured to insert the generated block decoding information into the coded stream, and each of said block decoding units is configured to obtain the coded stream into which the block decoding information is inserted, and to perform the decoding on the row by using the block decoding information inserted into the coded stream. a predecoding unit configured to perform variable length decoding according to context-based adaptive binary arithmetic coding, CABAC, to generate block decoding information, on each row which contains blocks and which is included in the coded stream, the blocks being consecutive in processing order, the block decoding information being necessary for decoding an other row; and block decoding units configured to perform decoding in parallel on rows included in the coded stream and different from each other, by performing, by each of said decoding units, decoding including variable length decoding according to CABAC, on one of the rows on a block-by-block basis, wherein, when the decoding is performed on the row, each of said block decoding units is configured to perform the decoding on a corresponding one of the rows by using the block decoding information generated in the variable length decoding performed on an other row on which an other block decoding unit performs the decoding, and the block decoding information necessary for decoding the other row is information indicating an inside status of the variable length decoding according to CABAC of the predecoding unit and either one of a quantization parameter of a block located at an end in the row and a difference between the quantization parameter of the block located at the end in the row and a predetermined value, wherein said predecoding unit is further configured to insert, at a beginning of each of the rows in the coded stream, a bit pattern by which the beginning can be identified uniquely, and each of said block decoding units is configured to search for the bit pattern inserted into the coded stream to find a row on which the decoding is to be performed by said block decoding unit, and to decode the row, wherein said predecoding unit is further configured to insert the generated block decoding information into the coded stream, and each of said block decoding units is configured to obtain the coded stream into which the block decoding information is inserted, and to perform the decoding on the row by using the block decoding information inserted into the coded stream.