A computer-implemented method for processing a video frame, the method comprising the steps of: (a) pre-processing the video frame by performing in any order the steps of: (i) reducing the frame size horizontally by saving for every row of pixels y 0, y 1,..., y 2n+1 the first pixel y 0 and the low frequency Haar Wavelet Transforms x 0 = y 0 + y 1 2, x 1 = y 2 + y 3 2,..., x n = y 2 ⁢ n + y 2 ⁢ n + 1 2; and (ii) reducing the frame size vertically by saving for every column of pixels y 0, y 1,..., y 2n+1 the first pixel y 0 and the low frequency Haar Wavelet Transforms x 0 = y 0 + y 1 2, x 1 = y 2 + y 3 2,..., x n = y 2 ⁢ n + y 2 ⁢ n + 1 2; (b) compressing the pre-processed video frame by means of a codec; (c) storing or transmitting the compressed video frame; (d) decompressing the stored or transmitted video frame; and (e) post-processing the decompressed video frame characterized in that the post-processing is done by performing in any order the steps of (i) increasing the frame size vertically by computing for every column of pixels y 0, x 0,..., x n the first pixel y 0 = y 0, the second pixel y 1 =2x 0 -y 0, and subsequently for each of x 1,..., x n the next two pixels y 2 = 2 x 1 + y 1 3, y 3 =2x 1 - y 2,..., y 2 ⁢ n = 2 x n + y 2 ⁢ n − 1 3, y 2n+1 = 2xn - y 2n; and (ii) increasing the frame size horizontally by computing for every row of pixels y 0, x 0,..., x n the first pixel y 0 = y 0, the second pixel y 1 = 2x 0 - y 0, and subsequently for each of x 1,..., x n the next two pixels y 2 = 2 x 1 + y 1 3, y 3 = 2x 1 - y 2,..., y 2 ⁢ n = 2 x n + y 2 ⁢ n − 1 3, y 2n+1 = 2x n - y 2n. (a) pre-processing the video frame by performing in any order the steps of: (i) reducing the frame size horizontally by saving for every row of pixels y 0, y 1,..., y 2n+1 the first pixel y 0 and the low frequency Haar Wavelet Transforms x 0 = y 0 + y 1 2, x 1 = y 2 + y 3 2,..., x n = y 2 ⁢ n + y 2 ⁢ n + 1 2; and (ii) reducing the frame size vertically by saving for every column of pixels y 0, y 1,..., y 2n+1 the first pixel y 0 and the low frequency Haar Wavelet Transforms x 0 = y 0 + y 1 2, x 1 = y 2 + y 3 2,..., x n = y 2 ⁢ n + y 2 ⁢ n + 1 2; (i) reducing the frame size horizontally by saving for every row of pixels y 0, y 1,..., y 2n+1 the first pixel y 0 and the low frequency Haar Wavelet Transforms x 0 = y 0 + y 1 2, x 1 = y 2 + y 3 2,..., x n = y 2 ⁢ n + y 2 ⁢ n + 1 2; and (ii) reducing the frame size vertically by saving for every column of pixels y 0, y 1,..., y 2n+1 the first pixel y 0 and the low frequency Haar Wavelet Transforms x 0 = y 0 + y 1 2, x 1 = y 2 + y 3 2,..., x n = y 2 ⁢ n + y 2 ⁢ n + 1 2; (b) compressing the pre-processed video frame by means of a codec; (c) storing or transmitting the compressed video frame; (d) decompressing the stored or transmitted video frame; and (e) post-processing the decompressed video frame (i) increasing the frame size vertically by computing for every column of pixels y 0, x 0,..., x n the first pixel y 0 = y 0, the second pixel y 1 =2x 0 -y 0, and subsequently for each of x 1,..., x n the next two pixels y 2 = 2 x 1 + y 1 3, y 3 =2x 1 - y 2,..., y 2 ⁢ n = 2 x n + y 2 ⁢ n − 1 3, y 2n+1 = 2xn - y 2n; and (ii) increasing the frame size horizontally by computing for every row of pixels y 0, x 0,..., x n the first pixel y 0 = y 0, the second pixel y 1 = 2x 0 - y 0, and subsequently for each of x 1,..., x n the next two pixels y 2 = 2 x 1 + y 1 3, y 3 = 2x 1 - y 2,..., y 2 ⁢ n = 2 x n + y 2 ⁢ n − 1 3, y 2n+1 = 2x n - y 2n.