An image decoding device comprising: an intra prediction unit for, when a coding mode for a coding block is an intra coding mode, carrying out an intra-frame prediction process on each of processing blocks to generate a prediction value for each of pixels of a prediction image, each of the processing blocks being the coding block or a sub-block obtained by dividing the coding block, wherein, when an intra prediction parameter indicates a horizontal prediction process and a size of the processing block is less than a predetermined size, the intra prediction unit adds, at each row within a predetermined number of a row or rows from an upper end of the processing block, a value to a luminance value of a pixel adjacent to left of the processing block and sets a result of the addition as a predicted value of the prediction image, the value being proportional to an amount of change in a horizontal direction of luminance values of pixels adjacent to top of the processing block and being obtained by scaling the amount of change, and the intra prediction unit sets, at remaining rows of the processing block, a luminance value of a pixel adjacent to left of the processing block as a predicted value of the prediction image, wherein the intra prediction unit calculates a predicted value of each pixel in the processing block according to S ′ x y = { S − 1, y + S x, − 1 − S − 1, − 1 / u y < C S − 1, y y ≥ C wherein S'(x, y) is the predicted value at the coordinates (x, y), S(x, y) is the luminance value of the already-encoded pixel at the coordinates (x, y), 1/u is a scaling value used for horizontal prediction and C is an integer larger than 0, wherein C is set to be greater than or equal to 1 only when the size of the processing block is less than a predetermined size, and when an intra prediction parameter indicates a horizontal prediction process and the size of the processing block is greater than or equal to the predetermined size, C is set to 0 and the intra prediction unit sets the luminance value of the pixel adjacent to left of the processing block as a predicted value of the prediction image. an intra prediction unit for, when a coding mode for a coding block is an intra coding mode, carrying out an intra-frame prediction process on each of processing blocks to generate a prediction value for each of pixels of a prediction image, each of the processing blocks being the coding block or a sub-block obtained by dividing the coding block, wherein, when an intra prediction parameter indicates a horizontal prediction process and a size of the processing block is less than a predetermined size, the intra prediction unit adds, at each row within a predetermined number of a row or rows from an upper end of the processing block, a value to a luminance value of a pixel adjacent to left of the processing block and sets a result of the addition as a predicted value of the prediction image, the value being proportional to an amount of change in a horizontal direction of luminance values of pixels adjacent to top of the processing block and being obtained by scaling the amount of change, and the intra prediction unit sets, at remaining rows of the processing block, a luminance value of a pixel adjacent to left of the processing block as a predicted value of the prediction image, wherein the intra prediction unit calculates a predicted value of each pixel in the processing block according to S ′ x y = { S − 1, y + S x, − 1 − S − 1, − 1 / u y < C S − 1, y y ≥ C wherein S'(x, y) is the predicted value at the coordinates (x, y), S(x, y) is the luminance value of the already-encoded pixel at the coordinates (x, y), 1/u is a scaling value used for horizontal prediction and C is an integer larger than 0, wherein C is set to be greater than or equal to 1 only when the size of the processing block is less than a predetermined size, and when an intra prediction parameter indicates a horizontal prediction process and the size of the processing block is greater than or equal to the predetermined size, C is set to 0 and the intra prediction unit sets the luminance value of the pixel adjacent to left of the processing block as a predicted value of the prediction image.