An image processing device comprising: a decoding section configured to decode an encoded stream to generate an image; a first determination section configured to perform horizontal filtering determination processes in parallel across a plurality of vertical block boundaries among a plurality of blocks of 8x8 pixels within the image generated by the decoding section, each horizontal filtering determination process determining, without depending on the horizontal filtering determination processes for other vertical block boundaries, whether to apply a deblocking filter to pixels neighboring a vertical block boundary; a horizontal filtering section configured to perform horizontal filtering by applying a horizontal filter in parallel to neighbouring pixels across all vertical boundaries for which the horizontal filtering determination processes determined that the deblocking filter is be applied, to generate a filtered image; a second determination section configured to perform vertical filtering determination processes in parallel across a plurality of horizontal block boundaries among a plurality of blocks of 8x8 pixels within the image generated by the decoding section, each vertical filtering determination process determining, without depending on the vertical filtering determination processes for other horizontal block boundaries, whether to apply a deblocking filter to pixels neighboring a horizontal block boundary; and a vertical filtering section configured to perform vertical filtering by applying a vertical filter in parallel to neighbouring pixels across all horizontal boundaries in the filtered image for which the vertical filtering determination processes determined that the deblocking filter is to be applied. a decoding section configured to decode an encoded stream to generate an image; a first determination section configured to perform horizontal filtering determination processes in parallel across a plurality of vertical block boundaries among a plurality of blocks of 8x8 pixels within the image generated by the decoding section, each horizontal filtering determination process determining, without depending on the horizontal filtering determination processes for other vertical block boundaries, whether to apply a deblocking filter to pixels neighboring a vertical block boundary; a horizontal filtering section configured to perform horizontal filtering by applying a horizontal filter in parallel to neighbouring pixels across all vertical boundaries for which the horizontal filtering determination processes determined that the deblocking filter is be applied, to generate a filtered image; a second determination section configured to perform vertical filtering determination processes in parallel across a plurality of horizontal block boundaries among a plurality of blocks of 8x8 pixels within the image generated by the decoding section, each vertical filtering determination process determining, without depending on the vertical filtering determination processes for other horizontal block boundaries, whether to apply a deblocking filter to pixels neighboring a horizontal block boundary; and a vertical filtering section configured to perform vertical filtering by applying a vertical filter in parallel to neighbouring pixels across all horizontal boundaries in the filtered image for which the vertical filtering determination processes determined that the deblocking filter is to be applied. <EOS>