A video decoding method comprising computer executable steps executed by a processor of a video decoder to implement: obtaining a value of an inverse angle parameter ( InvAngle) from a look-up table which lists values of the inverse angle parameter ( InvAngle) in relation to values of an angle parameter (a ngle *) representing a prediction direction; identifying at least some pixels among vertical boundary pixels, by using a vertical pixel identifier which is expressed by a function using [ col × InvAngle], where col is a counter which is decremented by 1 from -1 to ( angle* × size / rangelimit), where size is a size of a target block and rangelimit defines a range of the angle parameter ( angle*); retrieving the at least some pixels, according to a prediction direction of intra prediction on a target block to be predicted, from a first memory area ( refV) in which an array of vertical boundary pixels is stored, wherein the vertical boundary pixels are located directly left of the target block; adding the retrieved pixels to an array of horizontal boundary pixels located directly above the target block, wherein the retrieved pixels are added directly to the left end of the array of horizontal boundary pixels to form a consecutive sequence of the horizontal boundary pixels; storing the added pixels in a second memory area ( refH) in which the array of horizontal boundary pixels is stored, to extend the array stored in the second memory area ( refH) thereof; and performing the intra prediction of the target block using only the horizontal boundary pixels including the added pixels, of the extended array stored in the second memory area ( refH) as reference pixels, wherein identifying the at least some pixels among the vertical boundary pixels comprises an arithmetic right shift in which ( col × InvAngle + 128) is right shifted by 8 binary digits. obtaining a value of an inverse angle parameter ( InvAngle) from a look-up table which lists values of the inverse angle parameter ( InvAngle) in relation to values of an angle parameter (a ngle *) representing a prediction direction; identifying at least some pixels among vertical boundary pixels, by using a vertical pixel identifier which is expressed by a function using [ col × InvAngle], where col is a counter which is decremented by 1 from -1 to ( angle* × size / rangelimit), where size is a size of a target block and rangelimit defines a range of the angle parameter ( angle*); retrieving the at least some pixels, according to a prediction direction of intra prediction on a target block to be predicted, from a first memory area ( refV) in which an array of vertical boundary pixels is stored, wherein the vertical boundary pixels are located directly left of the target block; adding the retrieved pixels to an array of horizontal boundary pixels located directly above the target block, wherein the retrieved pixels are added directly to the left end of the array of horizontal boundary pixels to form a consecutive sequence of the horizontal boundary pixels; storing the added pixels in a second memory area ( refH) in which the array of horizontal boundary pixels is stored, to extend the array stored in the second memory area ( refH) thereof; and performing the intra prediction of the target block using only the horizontal boundary pixels including the added pixels, of the extended array stored in the second memory area ( refH) as reference pixels, wherein identifying the at least some pixels among the vertical boundary pixels comprises an arithmetic right shift in which ( col × InvAngle + 128) is right shifted by 8 binary digits.