An image decoding method of decoding, on a per-block basis, a coded image included in a bitstream, the image decoding method comprising: a first performing of arithmetic decoding on a current block to be decoded; a second performing of arithmetic decoding on an end-of-slice flag indicating whether or not the current block is at the end of the slice; a first determining of determining whether or not the current block is at an end of a slice according to the arithmetically decoded end-of-slice flag; a third performing of performing arithmetic decoding termination as first termination when the arithmetically decoded end-of-slice indicates a predetermined value of 1, said arithmetic decoding termination comprising resetting an internal probability state of arithmetic decoding; a second determining of determining whether or not the current block is at an end of a sub-stream when it is determined that the current block is not at the end of the slice, the sub-stream being a tile which is a structural unit of the image that is different from the slice, the tile being one of a plurality of blocks obtained by dividing the image vertically and/or horizontally; a fourth performing of arithmetic decoding on a sub-last bit corresponding to a current sub-stream, said sub-last bit being positioned after the current block and indicating the end of the sub-stream, to restore a value of 1 when it is determined that the current block is at the end of the sub-stream; a fifth performing of performing arithmetic decoding termination, as second termination, which is triggered by restoring the value of 1; and searching a beginning of a next sub-stream, wherein the second termination is same processing as the first termination, and wherein the first performing, the second performing, the first determining, the second determining, the fourth performing, and the fifth performing are repeatedly performed until the third performing is performed. a first performing of arithmetic decoding on a current block to be decoded; a second performing of arithmetic decoding on an end-of-slice flag indicating whether or not the current block is at the end of the slice; a first determining of determining whether or not the current block is at an end of a slice according to the arithmetically decoded end-of-slice flag; a third performing of performing arithmetic decoding termination as first termination when the arithmetically decoded end-of-slice indicates a predetermined value of 1, said arithmetic decoding termination comprising resetting an internal probability state of arithmetic decoding; a second determining of determining whether or not the current block is at an end of a sub-stream when it is determined that the current block is not at the end of the slice, the sub-stream being a tile which is a structural unit of the image that is different from the slice, the tile being one of a plurality of blocks obtained by dividing the image vertically and/or horizontally; a fourth performing of arithmetic decoding on a sub-last bit corresponding to a current sub-stream, said sub-last bit being positioned after the current block and indicating the end of the sub-stream, to restore a value of 1 when it is determined that the current block is at the end of the sub-stream; a fifth performing of performing arithmetic decoding termination, as second termination, which is triggered by restoring the value of 1; and searching a beginning of a next sub-stream, wherein the second termination is same processing as the first termination, and wherein the first performing, the second performing, the first determining, the second determining, the fourth performing, and the fifth performing are repeatedly performed until the third performing is performed.