A method for encoding a two dimensional signal representing an image, the method comprising: transforming said two dimensional signal using directional prediction based on spatial correlations of edges in the image and at least a first one dimensional lifting-based wavelet transform and a second one dimensional lifting-based wavelet transform 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, said image blocks being formed by partitioning a macroblock in the image into three sets of progressively smaller blocks, wherein a first block is a large block of pixels, a second block is smaller than the first block of pixels and a third block is a sub-set of the second block of pixels, and wherein in the first block all pixels have the same directional angle, and wherein all pixels in the third block share the same angles, wherein said transforming said two dimensional signal comprises: performing said first one dimensional lifting-based wavelet transform in the vertical direction, wherein the first one dimensional lifting-based wavelet transform has a directional angle estimated by finding (1004-1008, 1102-1108) the best directional angle and mode for each macroblock in the image in the vertical direction; and performing said second one dimensional lifting-based wavelet transform in the horizontal direction, wherein the second one dimensional lifting-based wavelet transform has a directional angle estimated by finding (1012-1016, 1102-1108) the best directional angle and mode for each macroblock in the image in the horizontal direction, wherein finding the best directional angle and mode comprises, using a criterion based on an R-D algorithm, finding the best directional angles for the various modes and finding the best mode based on the best directional angles; and entropy encoding the output coefficients, directional angles and modes thereby generating an encoded version of the two dimensional signal. transforming said two dimensional signal using directional prediction based on spatial correlations of edges in the image and at least a first one dimensional lifting-based wavelet transform and a second one dimensional lifting-based wavelet transform 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, said image blocks being formed by partitioning a macroblock in the image into three sets of progressively smaller blocks, wherein a first block is a large block of pixels, a second block is smaller than the first block of pixels and a third block is a sub-set of the second block of pixels, and wherein in the first block all pixels have the same directional angle, and wherein all pixels in the third block share the same angles, wherein said transforming said two dimensional signal comprises: performing said first one dimensional lifting-based wavelet transform in the vertical direction, wherein the first one dimensional lifting-based wavelet transform has a directional angle estimated by finding (1004-1008, 1102-1108) the best directional angle and mode for each macroblock in the image in the vertical direction; and performing said second one dimensional lifting-based wavelet transform in the horizontal direction, wherein the second one dimensional lifting-based wavelet transform has a directional angle estimated by finding (1012-1016, 1102-1108) the best directional angle and mode for each macroblock in the image in the horizontal direction, wherein finding the best directional angle and mode comprises, using a criterion based on an R-D algorithm, finding the best directional angles for the various modes and finding the best mode based on the best directional angles; and performing said first one dimensional lifting-based wavelet transform in the vertical direction, wherein the first one dimensional lifting-based wavelet transform has a directional angle estimated by finding (1004-1008, 1102-1108) the best directional angle and mode for each macroblock in the image in the vertical direction; and performing said second one dimensional lifting-based wavelet transform in the horizontal direction, wherein the second one dimensional lifting-based wavelet transform has a directional angle estimated by finding (1012-1016, 1102-1108) the best directional angle and mode for each macroblock in the image in the horizontal direction, wherein finding the best directional angle and mode comprises, using a criterion based on an R-D algorithm, finding the best directional angles for the various modes and finding the best mode based on the best directional angles; and entropy encoding the output coefficients, directional angles and modes thereby generating an encoded version of the two dimensional signal.