An apparatus comprising: a block processor configured for: selecting a surface coding mode from a set of intra coding modes comprising at least said surface coding mode and a second intra coding mode for encoding a block of pixels of an image; wherein the block processor is configured for: selecting, as a control point, the pixel at the lower-right corner of the block; and selecting at the border of the block and a neighbouring block, a first reference point at the same column of the above neighbouring encoded block than the control point, and a second reference point at the same row of the left neighbouring encoded block than the control point; characterised in that the apparatus further comprises a surface encoder configured for: setting a pixel value for the control point; determining values of pixels of said block which are on the same column as the control point by interpolation using the pixel values of the control point and of the first reference point; determining values of pixels of said block which are on the same row as the control point by interpolation using the pixel values of the control point and of the second reference point; determining the values of the remaining pixels of the block by bi-directional interpolation of each of the remaining pixels of the block, wherein bi-directional interpolation of a current pixel of the remaining pixels of the block is performed, using (i) the determined value of the pixel on the same row as said control point and in the same column as the current pixel,(ii) a reference point in the same column as the current pixel and on the bottom-row of the above neighboring encoded block, and using (iii) the determined value of the pixel on the same column as said control point and in the same row as the current pixel and (iv) a reference point on the same row as the current pixel in the right-most column of the left neighboring encoded block. a block processor configured for: selecting a surface coding mode from a set of intra coding modes comprising at least said surface coding mode and a second intra coding mode for encoding a block of pixels of an image; selecting a surface coding mode from a set of intra coding modes comprising at least said surface coding mode and a second intra coding mode for encoding a block of pixels of an image; wherein the block processor is configured for: selecting, as a control point, the pixel at the lower-right corner of the block; and selecting at the border of the block and a neighbouring block, a first reference point at the same column of the above neighbouring encoded block than the control point, and a second reference point at the same row of the left neighbouring encoded block than the control point; selecting, as a control point, the pixel at the lower-right corner of the block; and selecting at the border of the block and a neighbouring block, a first reference point at the same column of the above neighbouring encoded block than the control point, and a second reference point at the same row of the left neighbouring encoded block than the control point; setting a pixel value for the control point; determining values of pixels of said block which are on the same column as the control point by interpolation using the pixel values of the control point and of the first reference point; determining values of pixels of said block which are on the same row as the control point by interpolation using the pixel values of the control point and of the second reference point; determining the values of the remaining pixels of the block by bi-directional interpolation of each of the remaining pixels of the block, wherein bi-directional interpolation of a current pixel of the remaining pixels of the block is performed, using (i) the determined value of the pixel on the same row as said control point and in the same column as the current pixel,(ii) a reference point in the same column as the current pixel and on the bottom-row of the above neighboring encoded block, and using (iii) the determined value of the pixel on the same column as said control point and in the same row as the current pixel and (iv) a reference point on the same row as the current pixel in the right-most column of the left neighboring encoded block.