1. A system for encoding a two dimensional (2D) signal, comprising: a general purpose computing device; a computer program comprising program modules executable by the general purpose computing device, wherein the computing device is directed by the program modules of the computer program to, input a two dimensional (2D) signal, transform said 2D signal using directional prediction based on spatial correlations of edges in an image and at least one lifting wavelet to obtain output coefficients representing the two dimensional signal directional angles based on the edges in the image, and modes representing sizes of image blocks, and entropy encoding the output coefficients, directional angles and modes thereby generating an encoded version of the input signal.