A method for decoding at least one digital image (I j ), based on a bit stream (TB) comprising encoded data representative of said image, said image (I j ) being divided into a plurality of blocks processed in a defined order, said method comprising the following steps, implemented for a block, called current transformed block (C'): - decoding (D1, D3) coefficients of the current block from encoded data read in the bit stream; - transforming (D7) the current block into a transformed decoded block, said current block comprising M row vectors and N column vectors, with M and N being non-zero integers, said step implementing a first sub-step intended to produce an intermediate block, applying to the row vectors of the current block, the second sub-step intended to produce a block of pixels applying to the column vectors of the intermediate block, resulting from the first sub-step; - reconstructing (D8) the image from the transformed decoded block; characterised in that : the first transformation sub-step is expressed as a matrix comprising on its diagonal a sub matrix M R of size KxK, with K<N, corresponding to a first sub-transform, and a sub-matrix Ms of size (N-K)x(N-K), corresponding to a second sub-transform, and comprises, for one said row vector, called input vector of the current block: - forming a first sub-vector of size K from adjacent elements of the input vector and a second sub-vector of size equal to N-K from adjacent elements of the input vector, not included in the first sub-vector, such that the sum of the sizes of the formed sub-vectors is equal to the size of the input vector; - transforming the first sub-vector into a first transformed sub-vector by applying the first sub-transform of size KxK and transforming the second sub-vector into a second transformed sub-vector by applying the second sub-transform of size (N-K)x(N-K); and - forming a transformed vector of the intermediate block for the first transformation sub-step by inserting the first transformed sub-vector and the second transformed sub-vector. - decoding (D1, D3) coefficients of the current block from encoded data read in the bit stream; - transforming (D7) the current block into a transformed decoded block, said current block comprising M row vectors and N column vectors, with M and N being non-zero integers, said step implementing a first sub-step intended to produce an intermediate block, applying to the row vectors of the current block, the second sub-step intended to produce a block of pixels applying to the column vectors of the intermediate block, resulting from the first sub-step; - reconstructing (D8) the image from the transformed decoded block; - forming a first sub-vector of size K from adjacent elements of the input vector and a second sub-vector of size equal to N-K from adjacent elements of the input vector, not included in the first sub-vector, such that the sum of the sizes of the formed sub-vectors is equal to the size of the input vector; - transforming the first sub-vector into a first transformed sub-vector by applying the first sub-transform of size KxK and transforming the second sub-vector into a second transformed sub-vector by applying the second sub-transform of size (N-K)x(N-K); and - forming a transformed vector of the intermediate block for the first transformation sub-step by inserting the first transformed sub-vector and the second transformed sub-vector. <EOS>