1. A method of processing video data, comprising: upscaling an input low resolution image to a high resolution image using a processor; detecting monotonicity of pixel values in a direction normal to an edge in a low resolution neighborhood in the input low resolution image by: calculating horizontal, vertical, diagonal and anti-diagonal gradients for the low resolution neighborhood; grouping the horizontal and vertical gradients into a first gradient group, and grouping the diagonal anti-diagonal gradients into a second gradient; detecting a first normal direction for the first gradient group; and detecting a second normal direction for the second gradient group; and correcting pixels in a high resolution neighborhood of the high resolution image corresponding to the low resolution neighborhood to preserve at least some of the monotonicity.