An image decoding device comprising at least one processor and memory, the processor, working together with the memory, being configured to: receive a bit stream of image data, the image data including an image block in a current slice of an image; decode, from the bit stream, a first control information indicating whether or not a filtering process is performed on the image block, wherein the filtering process is a loop filter that occurs after a deblocking filter; decode, from the bit stream, a second control information indicating whether or not the filtering process is performed across a slice boundary between the current slice and a neighboring slice; derive a position of the image block, the position of the image block being obtained from block size information for the image block; determine, based on the position of the image block, that the image block includes a target pixel adjacent to the slice boundary; when the first control information indicates the filtering process is not performed on the image block, the filtering process is not applied on any pixel of the image block; and when the first control information indicates the filtering process is performed on the image block, if the second control information indicates that the filtering process is not performed across the slice boundary, perform the filtering process on the target pixel by assuming dummy values for one or more pixels of the neighboring slice, and if the second control information indicates that the filtering process is performed across the slice boundary, perform the filtering process on the target pixel by using values of one or more pixels of the neighboring slice. receive a bit stream of image data, the image data including an image block in a current slice of an image; decode, from the bit stream, a first control information indicating whether or not a filtering process is performed on the image block, wherein the filtering process is a loop filter that occurs after a deblocking filter; decode, from the bit stream, a second control information indicating whether or not the filtering process is performed across a slice boundary between the current slice and a neighboring slice; derive a position of the image block, the position of the image block being obtained from block size information for the image block; determine, based on the position of the image block, that the image block includes a target pixel adjacent to the slice boundary; when the first control information indicates the filtering process is not performed on the image block, the filtering process is not applied on any pixel of the image block; and when the first control information indicates the filtering process is performed on the image block, if the second control information indicates that the filtering process is not performed across the slice boundary, perform the filtering process on the target pixel by assuming dummy values for one or more pixels of the neighboring slice, and if the second control information indicates that the filtering process is performed across the slice boundary, perform the filtering process on the target pixel by using values of one or more pixels of the neighboring slice. if the second control information indicates that the filtering process is not performed across the slice boundary, perform the filtering process on the target pixel by assuming dummy values for one or more pixels of the neighboring slice, and if the second control information indicates that the filtering process is performed across the slice boundary, perform the filtering process on the target pixel by using values of one or more pixels of the neighboring slice. <EOS>