An image coding method comprising: dividing (S201) a picture into tiles; coding (S202) the tiles to generate pieces of coded data each of which corresponds to a different one of the tiles; and generating (S203) a bitstream including the pieces of coded data; wherein the coding of the tiles includes: generating a first code string by coding a first tile which is one of the tiles, (i) by referring to coding information of a coded one of the tiles which neighbors the first tile when a boundary between the first tile and the coded tile is a first boundary, and (ii) without referring to the coding information of the coded tile when the boundary between the first tile and the coded tile is a second boundary; and adding (S213) a bit string after the first code string to make a bit length of first coded data which is one of the pieces of coded data, a multiple of a predetermined N bits, N being an integer greater than or equal to 2; wherein in the generating (S203) of a bitstream, the bitstream including tile boundary independence information is generated; characterized in that the tile boundary independence information is signaled individually for every pair of adjacent tiles and indicates whether a boundary between the tiles is the first boundary or the second boundary for every pair of tiles. dividing (S201) a picture into tiles; coding (S202) the tiles to generate pieces of coded data each of which corresponds to a different one of the tiles; and generating (S203) a bitstream including the pieces of coded data; wherein the coding of the tiles includes: generating a first code string by coding a first tile which is one of the tiles, (i) by referring to coding information of a coded one of the tiles which neighbors the first tile when a boundary between the first tile and the coded tile is a first boundary, and (ii) without referring to the coding information of the coded tile when the boundary between the first tile and the coded tile is a second boundary; and adding (S213) a bit string after the first code string to make a bit length of first coded data which is one of the pieces of coded data, a multiple of a predetermined N bits, N being an integer greater than or equal to 2; wherein in the generating (S203) of a bitstream, the bitstream including tile boundary independence information is generated; characterized in that the tile boundary independence information is signaled individually for every pair of adjacent tiles and indicates whether a boundary between the tiles is the first boundary or the second boundary for every pair of tiles. generating a first code string by coding a first tile which is one of the tiles, (i) by referring to coding information of a coded one of the tiles which neighbors the first tile when a boundary between the first tile and the coded tile is a first boundary, and (ii) without referring to the coding information of the coded tile when the boundary between the first tile and the coded tile is a second boundary; and adding (S213) a bit string after the first code string to make a bit length of first coded data which is one of the pieces of coded data, a multiple of a predetermined N bits, N being an integer greater than or equal to 2; wherein in the generating (S203) of a bitstream, the bitstream including tile boundary independence information is generated; characterized in that the tile boundary independence information is signaled individually for every pair of adjacent tiles and indicates whether a boundary between the tiles is the first boundary or the second boundary for every pair of tiles. <EOS>