A method for compressing a digital image comprising a step of coding by successive layers an initial matrix into a compressed matrix and rendering it into a rendered matrix, each cell of the initial matrix containing a respective initial numeric value; each cell of the compressed matrix containing a respective compressed numeric value corresponding to the respective initial numeric value; each cell of the rendered matrix containing a respective rendered numeric value corresponding to the respective initial numeric value; characterised in that in order to encode, that is to say compress the initial matrix, are applied: - wavelet transformations applied to the entire matrix over a limited number of levels, so that there remains a residual level with dimensions larger than or equal to 2x2; then, - a differential coding of the matrix LL of the residual level using a quantisation factor q≥1, comprising, for a cell of the residual level having a respective initial value y m,n with m the number of the row within the matrix LL of the residual level, and n the number of the column within the matrix LL of the residual level, the calculation of the corresponding respective compressed value yQ m,n from a difference between said respective initial value y m,n of the cell and the respective rendered value yR 1,n-1, yR m-1,n of an adjacent cell of the residual level, said differential coding of the residual level being carried out by: ∘ keeping the first value: yQ 1,1 = yR 1,1 = y 1,1; ∘ iteratively calculating the compressed and rendered values of the first row, and of the columns other than the first one (n>1; m=1): ▪ yQ l, n = y l, n − yR l, n − 1 / q ▪ yR l, n = yR l, n − 1 + yQ l, n * q o iteratively calculating the compressed and rendered values of the first column, and of the rows other than the first one (n=1; m>1): ▪ yQ m, l = y m, l − yR m − 1, l / q ▪ yR m, l = yR m − 1, l + yQ m, l * q ∘ for each cell belonging to neither the first row nor the first column (m>1, n>1): - calculating the nearest horizontal difference among the rendered values: DH m, n = yR m − 1, n − yR m − 1, n − 1 - calculating the nearest vertical difference among the rendered values: DV m, n = yR m, n − 1 − yR m − 1, n − 1 ▪ calculating the compressed and rendered values of the cell from an adjacent rendered value selected according to a comparison between the nearest horizontal and vertical differences: ∘ If DV <= DH: yQ m, n = y m, n − yR m − 1, n / q yR m, n = yR m − 1, n + yQ m, n * q ∘ If DH < DV: yQ m, n = y m, n − yR m, n − 1 / q yR m, n = yR m, n − 1 + yQ m, n * q. - wavelet transformations applied to the entire matrix over a limited number of levels, so that there remains a residual level with dimensions larger than or equal to 2x2; then, - a differential coding of the matrix LL of the residual level using a quantisation factor q≥1, comprising, for a cell of the residual level having a respective initial value y m,n with m the number of the row within the matrix LL of the residual level, and n the number of the column within the matrix LL of the residual level, the calculation of the corresponding respective compressed value yQ m,n from a difference between said respective initial value y m,n of the cell and the respective rendered value yR 1,n-1, yR m-1,n of an adjacent cell of the residual level, said differential coding of the residual level being carried out by: ∘ keeping the first value: yQ 1,1 = yR 1,1 = y 1,1; ∘ iteratively calculating the compressed and rendered values of the first row, and of the columns other than the first one (n>1; m=1): ▪ yQ l, n = y l, n − yR l, n − 1 / q ▪ yR l, n = yR l, n − 1 + yQ l, n * q o iteratively calculating the compressed and rendered values of the first column, and of the rows other than the first one (n=1; m>1): ▪ yQ m, l = y m, l − yR m − 1, l / q ▪ yR m, l = yR m − 1, l + yQ m, l * q ∘ for each cell belonging to neither the first row nor the first column (m>1, n>1): ∘ keeping the first value: yQ 1,1 = yR 1,1 = y 1,1; ∘ iteratively calculating the compressed and rendered values of the first row, and of the columns other than the first one (n>1; m=1): ▪ yQ l, n = y l, n − yR l, n − 1 / q ▪ yR l, n = yR l, n − 1 + yQ l, n * q ▪ yQ l, n = y l, n − yR l, n − 1 / q ▪ yR l, n = yR l, n − 1 + yQ l, n * q o iteratively calculating the compressed and rendered values of the first column, and of the rows other than the first one (n=1; m>1): ▪ yQ m, l = y m, l − yR m − 1, l / q ▪ yR m, l = yR m − 1, l + yQ m, l * q ▪ yQ m, l = y m, l − yR m − 1, l / q ▪ yR m, l = yR m − 1, l + yQ m, l * q ∘ for each cell belonging to neither the first row nor the first column (m>1, n>1): - calculating the nearest horizontal difference among the rendered values: DH m, n = yR m − 1, n − yR m − 1, n − 1 - calculating the nearest vertical difference among the rendered values: DV m, n = yR m, n − 1 − yR m − 1, n − 1 ▪ calculating the compressed and rendered values of the cell from an adjacent rendered value selected according to a comparison between the nearest horizontal and vertical differences: ∘ If DV <= DH: yQ m, n = y m, n − yR m − 1, n / q yR m, n = yR m − 1, n + yQ m, n * q ∘ If DH < DV: yQ m, n = y m, n − yR m, n − 1 / q yR m, n = yR m, n − 1 + yQ m, n * q. ∘ If DV <= DH: yQ m, n = y m, n − yR m − 1, n / q yR m, n = yR m − 1, n + yQ m, n * q ∘ If DH < DV: yQ m, n = y m, n − yR m, n − 1 / q yR m, n = yR m, n − 1 + yQ m, n * q.