Patent ID: 8594198

Claim:
A method, comprising: selecting an image block to be intra-predicted; extracting neighboring pixel values of the image block; determining a prediction mode of the image block; performing a first adding operation on the neighboring pixel values when the prediction mode is one of Diagonal_Down_Left, Diagonal_Down_Right, Vertical_Right, Horizontal_Down, Vertical_Left, or Horizontal_Up; performing a first shifting operation on a result of the first adding operation; performing a second adding operation on the result of the first adding operation; performing a second shifting operation on a result of the second adding operation; receiving, at a selection unit, the results of the first shifting operation and the second shifting operation; and selecting for output, by the selection unit, a corresponding value from the results of the first shifting operation and the second shifting operation according to the prediction mode and a size of the image block; wherein the second adding operation is performed according to the following equations: Predictor = P[n− 1]+2* P[n]+P[n+ 1]+2(if n= 1, . . . , Max−1) Predictor =3* P[ 0 ]+P[ 1]+2(if n= 0) Predictor = P [Max−1]+3* P [Max]+2(if n =Max); wherein Predictor is a predicted value for a pixel, P[n] is a value of a neighboring pixel, n=0, . . . , Max, denoting each neighboring pixel from a bottom left corner to an upper right corner of the image block; wherein if a value of neighboring pixel P[ 8 ] is not available, then: Predictor[ 7 ]=(P[ 6 ]+3*P[ 7 ]+2) >>2; and Predictor[ 9 ]=(P[ 10 ]+3*P[ 9 ]+2) >>2.