1. An image interpolation method for interpolating a pixel, comprising: detecting an edge position in an image and obtaining edge characteristics associated with the edge position; determining whether an interpolation point is located within an edge region based on the edge characteristics of an array of p×q pixels surrounding the interpolation point, wherein p and q are integers larger than 1; determining edge direction of an interpolation point located within the edge region; classifying the edge direction into one of m angle subclasses and one of n angle classes; wherein each angle class comprises one or more subclasses, m and n are integers, and n≤m; selecting a one-dimensional horizontal interpolation kernel for the interpolation point located within the edge region based on an angle class classified for the edge direction of the interpolation point located within the edge region; performing a horizontal interpolation on the interpolation point located within the edge region using the one-dimensional horizontal interpolation kernel selected for the interpolation point located within the edge region; and performing a vertical interpolation on the interpolation point located within the edge region using a one-dimensional vertical interpolation kernel; wherein a same one-dimensional vertical interpolation kernel is used for performing the vertical interpolation for interpolation points located within the edge region having edge directions respectively classified in at least two different classes of the n angle classes: a first one-dimensional horizontal interpolation kernel is selected for a first interpolation point located within the edge region having a first edge direction classified into a first angle class of the n angle classes; a second one-dimensional horizontal interpolation kernel is selected for a second interpolation point located within the edge region having a second edge direction classified into a second angle class of the n angle classes, the second angle class being different from the first angle class; performing the horizontal interpolation comprises performing the horizontal interpolation on the first interpolation point using the first one-dimensional horizontal interpolation kernel and performing the horizontal interpolation on the second interpolation point using the second one-dimensional horizontal interpolation kernel; and the first one-dimensional horizontal interpolation kernel and the second one-dimensional horizontal interpolation kernel are different interpolation kernels.