METHOD OF CODING AND DECODING IMAGES, CODING AND DECODING DEVICE AND COMPUTER PROGRAMS CORRESPONDING THERETO

20220272371 · 2022-08-25

    Inventors

    Cpc classification

    International classification

    Abstract

    A method is provided for coding at least one image split up into partitions, a current partition to be coded containing data, at least one data item of which is allotted a sign. The coding method includes, for the current partition, the following steps: calculating the value of a function representative of the data of the current partition with the exclusion of the sign; comparing the calculated value with a predetermined value of the sign; as a function of the result of the comparison, modifying or not modifying at least one of the data items of the current partition, in the case of modification, coding the at least one modified data item.

    Claims

    1. (canceled)

    2. A method for encoding a sign-data-hiding enabled data signal representative of at least one image comprising a plurality of partitions, the method comprising: setting a partition of an image comprising a set of coefficients; identifying a first non-zero coefficient within the set of coefficients; identifying a last non-zero coefficient within the set of coefficients; determining a set of modifiable coefficients in the set of coefficients, wherein the set of modifiable coefficients include the first non-zero coefficient, the last non-zero coefficient and all the coefficients between the first non-zero coefficient and the last non-zero coefficient; determining a count of coefficients in the set of modifiable coefficients; comparing the count to a plurality of threshold values, including a first threshold value and a second threshold value that is greater than the first threshold value; in response to determining that the count is greater than the first threshold value but less than the second threshold value: calculating a sum of amplitude information of non-zero coefficients in the set of modifiable coefficients; calculating, using the sum of amplitude information, parity data; comparing, based on the parity data, signs of a particular plurality of non-zero coefficients to a particular sign configuration in a predetermined plurality of sign configurations; and when the signs of the particular plurality of non-zero coefficients matches the particular sign configuration, encoding the particular plurality of non-zero coefficients into a bitstream without corresponding sign bits.

    3. The method of claim 2, wherein the plurality of threshold values includes N threshold values, where N≥2.

    4. The method of claim 3, wherein the particular plurality of non-zero coefficients includes N coefficients.

    5. The method of claim 3, wherein the predetermined plurality of sign configurations includes 2.sup.N sign configurations.

    6. The method of claim 3, wherein the parity data corresponds to a remainder module 2.sup.N the sum of amplitude information.

    7. The method of claim 2, wherein the amplitude information of the non-zero coefficients are absolute values of the non-zero coefficients.

    8. The method of claim 2, further comprising: when the signs of the particular plurality of non-zero coefficients do not match the particular sign configuration, modifying at least one non-zero coefficient in the set of modifiable coefficients; and transmitting the modified set of coefficients.

    9. A method for decoding a sign-data-hiding enabled data signal representative of at least one image comprising a plurality of coded partitions, the method comprising: receiving a set of coefficients representing a partition of the image; identifying a first non-zero coefficient within the set of coefficients; identifying a last non-zero coefficient within the set of coefficients; determining a set of modifiable coefficients in the set of coefficients, wherein the set of modifiable coefficients include the first non-zero coefficient, the last non-zero coefficient and all the coefficients between the first non-zero coefficient and the last non-zero coefficient; determining a count of coefficients in the set of modifiable coefficients; comparing the count to a plurality of threshold values, including a first threshold value and a second threshold value that is greater than the first threshold value; in response to determining that the count is greater than the first threshold value but less than the second threshold value, determining that signs of a particular plurality of non-zero coefficients are hidden; in response to determining that signs of the particular plurality of non-zero coefficients are hidden: calculating a sum of amplitude information of non-zero coefficients in the set of modifiable coefficients; calculating, using the sum of amplitude information, parity data; selecting, based on the parity data, a particular sign configuration from a predetermined plurality of sign configurations; designating signs in the selected particular sign configuration as signs of a particular plurality of non-zero coefficients; and dequantizing the set of coefficients representing the partition of the image.

    10. The method of claim 9, wherein the plurality of threshold values includes N threshold values, where N≥2.

    11. The method of claim 10, wherein the particular plurality of non-zero coefficients includes N coefficients.

    12. The method of claim 10, wherein the predetermined plurality of sign configurations includes 2.sup.N sign configurations.

    13. The method of claim 10, wherein the parity data corresponds to a remainder module 2.sup.N the sum of amplitude information.

    14. The method of claim 9, wherein the amplitude information of the non-zero coefficients are absolute values of the non-zero coefficients.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0064] Other characteristics and advantages will become apparent on reading two preferred embodiments described with reference to the figures in which:

    [0065] FIG. 1 represents the general steps of the coding method according to the invention,

    [0066] FIG. 2 represents a coding device according to the invention which is able to perform the steps of the coding method of FIG. 1.

    [0067] FIG. 3 represents a particular embodiment of the coding method according to the invention.

    [0068] FIG. 4 represents a particular embodiment of a coding device according to the invention.

    [0069] FIG. 5 represents the general steps of the decoding method according to the invention.

    [0070] FIG. 6 represents a decoding device according to the invention which is able to perform the steps of the decoding method of FIG. 5.

    [0071] FIG. 7 represents a particular embodiment of the decoding method according to the invention.

    [0072] FIG. 8 represents a particular embodiment of a decoding device according to the invention.

    DETAILED DESCRIPTION OF THE CODING PART

    [0073] A general embodiment of the invention will now be described, in which the coding method according to the invention is used to code a sequence of images according to a binary stream close to that which is obtained by a coding according to the H.264/MPEG-4 AVC standard. In this embodiment, the coding method according to the invention is for example implemented in a software or hardware manner by modifications of a coder initially complying with the H.264/MPEG-4 AVC standard.

    [0074] The coding method according to the invention is represented in the form of an algorithm comprising steps S1 to S40, represented in FIG. 1.

    [0075] According to the embodiment of the invention, the coding method according to the invention is implemented in a coding device or coder CO of which an embodiment is represented in FIG. 2.

    [0076] In accordance with the invention, there is undertaken, prior to the coding proper, a splitting of an image IE of a sequence of images to be coded in a predetermined order, into a plurality Z of partitions B.sub.1, B.sub.2, . . . , Bi, . . . , B.sub.z, as represented in FIG. 2.

    [0077] It should be noted that, within the meaning of the invention, the term “partition” signifies coding unit. The latter terminology is in particular used in the HEVC/H.265 standard currently being formulated, for example in the document accessible at the following Internet address: http://phenix.int-evry.fr/jct/doc end user/current document.php?id=3286.

    [0078] In particular, such a coding unit groups together sets of pixels of rectangular or square shape, also called blocks, macroblocks, or else sets of pixels exhibiting other geometric shapes.

    [0079] In the example represented in FIG. 2, said partitions are blocks which have a square shape and all have the same size. As a function of the size of the image which is not necessarily a multiple of the size of the blocks, the last blocks on the left and the last blocks at the bottom might not be square. In an alternative embodiment, the blocks may be for example of rectangular size and/or not aligned one with another.

    [0080] Each block or macroblock may moreover itself be divided into sub-blocks which are themselves subdividable.

    [0081] Such a splitting is performed by a partitioning module PCO represented in FIG. 2 which uses for example a partitioning algorithm well known as such.

    [0082] Subsequent to said splitting step, there is undertaken the coding of each of the current partitions B.sub.i (i being an integer such that 1≤i≤Z) of said image IE.

    [0083] In the example represented in FIG. 2, such a coding is applied successively to each of the blocks B.sub.1 to B.sub.Z of the current image IE. The blocks are coded according to for example a traversal such as the “raster scan” traversal well known to the person skilled in the art.

    [0084] The coding according to the invention is implemented in a coding software module MC_CO of the coder CO, such as represented in FIG. 2.

    [0085] In the course of a step S1 represented in FIG. 1, the coding module MC_CO of FIG. 2 selects as current block B.sub.i the first block B.sub.1 to be coded of the current image IE. As represented in FIG. 2, this is the first left block of the image IE.

    [0086] In the course of a step S2 represented in FIG. 1, there is undertaken the extraction of data of the current block B.sub.1 in the form of a list D.sub.1=(a.sub.1, a.sub.2, . . . , a.sub.P). Such an extraction is performed by a software module EX_CO such as represented in FIG. 2. Such data are for example pixel data, the non-zero pixel data each being allotted either with a positive sign, or with a negative sign.

    [0087] Each of the data of the list D.sub.1 is associated with various items of digital information which are intended to undergo an entropy coding. Items of digital information such as these are described hereinbelow by way of example:

    [0088] for each data item situated before the last non-zero data item of the list D.sub.1, a digital item of information, such as a bit, is intended to be coded entropically to indicate whether the data item is or is not zero: if the data item is zero, it is for example the bit of value 0 which will be coded, while if the data item is non-zero, it is the bit of value 1 which will be coded;

    [0089] for each non-zero data item, a digital item of information, such as a bit, is intended to be coded entropically to indicate whether the absolute value of the data item is or is not equal to one: if it is equal to 1, it is for example the bit of value 1 which will be coded, while if it is not equal to 1, it is the bit of value 0 which will be coded;

    [0090] for each non-zero data item whose absolute value is not equal to one and which is situated before the last non-zero data item, an amplitude item of information is coded entropically,

    [0091] for each non-zero data item, the sign which is allotted to it is coded by a digital item of information, such as a bit for example set to ‘0’ (for the + sign) or to ‘1’ (for the − sign).

    [0092] The specific coding steps according to the invention will now be described with reference to FIG. 1.

    [0093] In accordance with the invention, it is decided to avoid entropically coding at least one sign of one of said data of the list D.sub.1.

    [0094] In accordance with the preferred embodiment, it is the sign of the first non-zero data item which is intended to be hidden. Such a sign is for example positive and allotted to the first non-zero data item, such as for example the data item a.sub.2.

    [0095] In the course of a step S3 represented in FIG. 1, the processing module MTR_CO calculates the value of a function f which is representative of the data of the list D.sub.1.

    [0096] In the preferred embodiment where a single sign is intended to be hidden in the signal to be transmitted to the decoder, the function f is the parity of the sum of the data of the list D.sub.1.

    [0097] In the course of a step S4 represented in FIG. 1, the processing module MTR_CO verifies whether the parity of the value of the sign to be hidden corresponds to the parity of the sum of the data of the list D.sub.1, by virtue of a convention defined previously at the coder CO.

    [0098] In the example proposed, said convention is such that a positive sign is associated with a bit of value equal to zero, while a negative sign is associated with a bit of value equal to one.

    [0099] If, in accordance with the convention adopted in the coder CO according to the invention, the sign is positive, thereby corresponding to a zero coding bit value, and if the sum of the data of the list D.sub.1 is even, there is undertaken a step S20 of entropy coding of the data of the aforementioned list D.sub.1, with the exception of the sign of the first non-zero data item a.sub.2. Such a step S20 is represented in FIG. 1.

    [0100] If, still in accordance with the convention adopted in the coder CO according to the invention, the sign is negative, thereby corresponding to a one coding bit value, and if the sum of the data of the list D.sub.1 is odd, there is also undertaken the step S20 of entropy coding of the data of the aforementioned list D.sub.1, with the exception of the sign of the first non-zero data item a.sub.2.

    [0101] If, in accordance with the convention adopted in the coder CO according to the invention, the sign is positive, thereby corresponding to a zero coding bit value, and if the sum of the data of the list D.sub.1 is odd, there is undertaken, in the course of a step S5 represented in FIG. 1, a modification of at least one modifiable data item of the list D.sub.1.

    [0102] If, still in accordance with the convention adopted in the coder CO according to the invention, the sign is negative, thereby corresponding to a one coding bit value, and if the sum of the data of the list D.sub.1 is even, there is also undertaken step S5 of modifying at least one modifiable data item of the list D.sub.1.

    [0103] According to the invention, a data item is modifiable if the modification of its value does not cause any desynchronization at the decoder, once this modified data item is processed by the decoder. Thus, the processing module MTR_CO is configured initially so as not to modify:

    [0104] the zero data item or data situated before the first non-zero data item, in such a way that the decoder does not allot the value of the hidden sign to this or these zero data,

    [0105] and for calculation complexity reasons, the zero data item or data situated after the last non-zero data item.

    [0106] Such a modification operation is performed by the processing module MTR_CO of FIG. 2.

    [0107] In the proposed exemplary embodiment, it is assumed that the total sum of the data of the list D.sub.1 is equal to 5, and is therefore odd. So that the decoder can reconstruct the positive sign allotted to the first non-zero data item a.sub.2, without the coder CO having to transmit this data item to the decoder, it is necessary that the parity of the sum become even. Consequently, the processing module MTR_CO tests, in the course of said step S5, various modifications of data of the list D.sub.1, all aimed at changing the parity of the sum of the data. In the preferred embodiment, there is undertaken the addition of +1 or −1 to each modifiable data item and the selection, according to a predetermined criterion, of a modification from among all those performed.

    [0108] A modified list Dm.sub.1=(a′.sub.1, a′.sub.2, . . . , a′.sub.P) is then obtained, on completion of step S5.

    [0109] It should be noted that, in the course of this step, certain modifications are prohibited. Thus, in the case where the first non-zero data item equals +1, it would not be possible to add −1 to it, since it would become zero, and it would then lose its characteristic of first non-zero data item of the list D.sub.1. The decoder would then subsequently allocate the decoded sign (by calculation of the parity of the sum of the data) to another data item, and there would then be a decoding error.

    [0110] There is thereafter undertaken step S20 of entropy coding of the data of the aforementioned list Dm.sub.1, with the exception of the positive sign of the first non-zero data item a.sub.2, which sign is hidden in the parity of the sum of the data.

    [0111] It should be noted that the set of amplitudes of the data of the list D.sub.1 or of the modified list Dm.sub.1 is coded before the set of signs, with the exclusion of the sign of the first non-zero data item which is not coded, as was explained hereinabove.

    [0112] In the course of a following step S30 represented in FIG. 1, the coding module MC_CO of FIG. 2 tests whether the coded current block is the last block of the image IE.

    [0113] If the current block is the last block of the image IE, in the course of a step S40 represented in FIG. 1, the coding method is terminated.

    [0114] If such is not the case, there is undertaken the selection of the following block B.sub.i which is then coded in accordance with the aforementioned raster scan order of traversal, by iteration of steps S1 to S20, for 1≤i≤Z.

    [0115] Once the entropy coding of all the blocks B.sub.1 to B.sub.Z has been carried out, there is undertaken the construction of a signal F representing, in binary form, said coded blocks.

    [0116] The construction of the binary signal F is implemented in a stream construction software module CF, such as represented in FIG. 2.

    [0117] The stream F is thereafter transmitted by a communication network (not represented), to a remote terminal. The latter comprises a decoder which will be described in greater detail in the subsequent description.

    [0118] Another embodiment of the invention will now be described, mainly with reference to FIG. 1.

    [0119] This other embodiment is distinguished from the previous one solely by the number of signs to be hidden which is N, N being an integer such that N≥2.

    [0120] For this purpose, the function f is the remainder modulo 2.sup.N of the sum of the data of the list D.sub.1. It is assumed that in the example proposed, N=2, the two signs to be hidden are the first two signs of the first two non-zero data of the list D.sub.1, for example a.sub.2 and a.sub.3.

    [0121] In the course of step S4 represented in FIG. 1, the processing module MTR_CO verifies whether the configuration of the N signs, i.e. 2.sup.N possible configurations, corresponds to the value of the remainder modulo 2.sup.N of the sum of the data of the list D.sub.1.

    [0122] In the example proposed where N=2, there exist 2.sup.2=4 different configurations of signs.

    [0123] These four configurations obey a convention at the coder CO, which is for example determined in the following manner:

    [0124] a remainder equal to zero corresponds to two consecutive positive signs: +, +;

    [0125] a remainder equal to one corresponds to a consecutive positive sign and negative sign: +, −;

    [0126] a remainder equal to two corresponds to a consecutive negative sign and positive sign: −, +;

    [0127] a remainder equal to three corresponds to two consecutive negative signs: −, −.

    [0128] If the configuration of the N signs corresponds to the value of the remainder modulo 2.sup.N of the sum of the data of the list D.sub.1, there is undertaken step S20 of entropy coding of the data of the aforementioned list D.sub.1, with the exception of the respective sign of the first two non-zero data a.sub.2 and a.sub.3, which signs are hidden in the parity of the sum modulo 2.sup.N of the data of the list D.sub.1.

    [0129] If such is not the case, there is undertaken step S5 of modifying at least one modifiable data item of the list D.sub.1. Such a modification is performed by the processing module MTR_CO of FIG. 2 in such a way that the remainder modulo 2.sup.N of the sum of the modifiable data of the list D.sub.1 attains the value of each of the two signs to be hidden.

    [0130] A modified list Dm.sub.1=(a′.sub.1, a′.sub.2, . . . , a′.sub.P) is then obtained.

    [0131] There is thereafter undertaken step S20 of entropy coding of the data of the aforementioned list Dm.sub.1, with the exception of the sign of the first non-zero data item a.sub.2 and of the sign of the second non-zero data item a.sub.3, which signs are hidden in the parity of the sum modulo 2.sup.N of the data.

    [0132] A particular embodiment of the invention will now be described, in which the coding method according to the invention is still used to code a sequence of images according to a binary stream close to that which is obtained by a coding according to the H.264/MPEG-4 AVC standard. In this embodiment, the coding method according to the invention is for example implemented in a software or hardware manner by modifications of a coder initially complying with the H.264/MPEG-4 AVC standard.

    [0133] The coding method according to the invention is represented in the form of an algorithm comprising steps C1 to C40, such as represented in FIG. 3.

    [0134] According to the embodiment of the invention, the coding method is implemented in a coding device or coder CO1 of which an embodiment is represented in FIG. 4.

    [0135] In accordance with the invention, and as described in the previous examples, there is undertaken, prior to the coding proper, a splitting of an image IE of a sequence of images to be coded in a predetermined order, into a plurality Z of partitions B′.sub.1, B′.sub.2, . . . , B′.sub.i, . . . , B′.sub.Z, as represented in FIG. 4.

    [0136] In the example represented in FIG. 4, said partitions are blocks which have a square shape and all have the same size. As a function of the size of the image which is not necessarily a multiple of the size of the blocks, the last blocks on the left and the last blocks at the bottom might not be square. In an alternative embodiment, the blocks may be for example of rectangular size and/or not aligned one with another.

    [0137] Each block or macroblock may moreover itself be divided into sub-blocks which are themselves subdividable.

    [0138] Such a splitting is performed by a partitioning software module PCO1 represented in FIG. 4 which is identical to the partitioning module PCO represented in FIG. 2.

    [0139] Subsequent to said splitting step, there is undertaken the coding of each of the current partitions B′.sub.i (i being an integer such that 1≤i≤Z) of said image IE.

    [0140] In the example represented in FIG. 4, such a coding is applied successively to each of the blocks B′.sub.1 to B′.sub.Z of the current image IE. The blocks are coded according to a traversal such as for example the “raster scan” traversal well known to the person skilled in the art.

    [0141] The coding according to the invention is implemented in a coding software module MC_CO1 of the coder CO1, such as represented in FIG. 4.

    [0142] In the course of a step C1 represented in FIG. 3, the coding module MC_CO1 of FIG. 4 selects as current block the first block B′.sub.1 to be coded of the current image IE. As represented in FIG. 4, this is the first left block of the image IE.

    [0143] In the course of a step C2 represented in FIG. 3, there is undertaken the predictive coding of the current block B′.sub.1 by known techniques of intra and/or inter prediction, in the course of which the block B′.sub.1 is predicted with respect to at least one previously coded and decoded block. Such a prediction is performed by a prediction software module PRED_CO1 such as represented in FIG. 4.

    [0144] It goes without saying that other modes of intra prediction, such as are proposed in the H.264 standard, are possible.

    [0145] The current block B′.sub.1 can also be subjected to a predictive coding in inter mode, in the course of which the current block is predicted with respect to a block arising from a previously coded and decoded image. Other types of prediction are of course conceivable. Among the possible predictions for a current block, the optimal prediction is chosen according to a rate distortion criterion well known to the person skilled in the art.

    [0146] Said aforementioned predictive coding step makes it possible to construct a predicted block B′.sub.p1 which is an approximation of the current block B′.sub.1. The information relating to this predictive coding is intended to be inscribed in a signal to be transmitted to the decoder. Such information comprises in particular the type of prediction (inter or intra) and, if appropriate, the mode of intra prediction, the type of partitioning of a block or macroblock if the latter has been subdivided, the reference image index and the displacement vector used in the mode of inter prediction. This information is compressed by the coder CO1.

    [0147] In the course of a following step C3 represented in FIG. 3, the prediction module PRED_CO1 compares the data relating to the current block B′.sub.1 with the data of the predicted block B′.sub.p1. More precisely, in the course of this step, there is undertaken conventionally the subtraction of the predicted block B′.sub.p1 from the current block B′.sub.1 to produce a residual block B′.sub.r1.

    [0148] In the course of a following step C4 represented in FIG. 3, there is undertaken the transformation of the residual block B′.sub.r1, according to a conventional direct transformation operation, such as for example a discrete cosine transformation DCT, to produce a transformed block B′.sub.t1. Such an operation is performed by a transform software module MT_CO1, such as represented in FIG. 4.

    [0149] In the course of a following step C5 represented in FIG. 3, there is undertaken the quantization of the transformed block B′.sub.t1, according to a conventional quantization operation, such as for example a scalar quantization. A block B′.sub.q1 of quantized coefficients is then obtained. Such a step is performed by means of a quantization software module MQ_CO1, such as represented in FIG. 4.

    [0150] In the course of a following step C6 represented in FIG. 3, there is undertaken a traversal, in a predefined order, of the quantized coefficients of the block B′.sub.q1. In the example represented this entails a conventional zig-zag traversal. Such a step is performed by a reading software module ML_CO1, such as represented in FIG. 4. On completion of step C6, a one-dimensional list E.sub.1=(ε1, ε2, . . . , εL) of coefficients is obtained, better known by the term “quantized residual”, where L is an integer greater than or equal to 1. Each of the coefficients of the list E.sub.1 is associated with various items of digital information which are intended to undergo an entropy coding. Such items of digital information are described hereinbelow by way of example.

    [0151] Let us assume that, in the example represented, L=16 and that the list E.sub.1 contains the following sixteen coefficients: E.sub.1=(0, +9, −7, 0, 0, +1, 0, −1, +2, 0, 0, +1, 0, 0, 0, 0).

    [0152] In this instance:

    [0153] for each coefficient situated before the last non-zero coefficient of the list E.sub.1, a digital item of information, such as a bit, is intended to be coded entropically to indicate whether the coefficient is or is not zero: if the coefficient is zero, it is for example the bit of value 0 which will be coded, while if the coefficient is non-zero, it is the bit of value 1 which will be coded;

    [0154] for each non-zero coefficient +9, −7, +1, −1, +2, −1, a digital item of information, such as a bit, is intended to be coded entropically to indicate whether the absolute value of the coefficient is or is not equal to one: if it is equal to 1, it is for example the bit of value 1 which will be coded, while if it is not equal to 1, it is the bit of value 0 which will be coded;

    [0155] for each non-zero coefficient whose absolute value is not equal to one and situated before the last non-zero coefficient, such as the coefficients of value +9, −7, +2, an amplitude item of information (absolute value of the coefficient from which the value two is deducted) is coded entropically,

    [0156] for each non-zero coefficient, the sign which is allotted to it is coded by a digital item of information, such as a bit for example set to ‘0’ (for the + sign) or to ‘1’ (for the − sign).

    [0157] The specific coding steps according to the invention will now be described with reference to FIG. 3.

    [0158] In accordance with the invention, it is decided to avoid entropically coding at least one of the aforementioned items of digital information, which is at least one sign of one of said coefficients of the list E.sub.1.

    [0159] For this purpose, in the course of a step C7 represented in FIG. 3, there is undertaken the choice of the number of signs to be hidden in the course of the subsequent entropy coding step. Such a step is performed by a processing software module MTR_CO1, such as represented in FIG. 4.

    [0160] In the preferred embodiment, the number of signs to be hidden is one or zero. Furthermore, in accordance with said preferred embodiment, it is the sign of the first non-zero coefficient which is intended to be hidden. In the example represented, this therefore entails hiding the sign of the coefficient ε2=+9.

    [0161] In an alternative embodiment, the number of signs to be hidden is either zero, or one, or two, or three, or more.

    [0162] In accordance with the preferred embodiment of step C7, there is undertaken, in the course of a first sub-step C71 represented in FIG. 3, the determination, on the basis of said list E.sub.1, of a sub-list SE.sub.1 containing coefficients able to be modified ε′1, ε′2, . . . , ε′M where M<L. Such coefficients will be called modifiable coefficients in the subsequent description.

    [0163] According to the invention, a coefficient is modifiable if the modification of its quantized value does not cause any desynchronization at the decoder, once this modified coefficient is processed by the decoder. Thus, the processing module MTR_CO1 is configured initially so as not to modify:

    [0164] the zero coefficient or coefficients situated before the first non-zero coefficient, in such a way that the decoder does not allot the value of the hidden sign to this or these zero coefficients,

    [0165] and for calculation complexity reasons, the zero coefficient or coefficients situated after the last non-zero coefficient.

    [0166] In the example represented, on completion of sub-step C71, the sub-list SE.sub.1 obtained is such that SE.sub.1=(9,−7,0,0,1,0,−1,2,0,0,1). Consequently, eleven modifiable coefficients are obtained.

    [0167] In the course of a following sub-step C72 represented in FIG. 3, the processing module MTR_CO1 undertakes the comparison of the number of modifiable coefficients with a predetermined threshold TSIG. In the preferred embodiment, TSIG equals 4.

    [0168] If the number of modifiable coefficients is less than the threshold TSIG, there is undertaken, in the course of a step C20 represented in FIG. 3, a conventional entropy coding of the coefficients of the list E.sub.1, such as that carried out for example in a CABAC coder, designated by the reference CE_CO1 in FIG. 4. For this purpose, the sign of each non-zero coefficient of the list E.sub.1 is coded entropically.

    [0169] If the number of modifiable coefficients is greater than the threshold TSIG, in the course of a step C8 represented in FIG. 3, the processing module MTR_CO1 calculates the value of a function f which is representative of the coefficients of the sub-list SE.sub.1.

    [0170] In the preferred embodiment where a single sign is intended to be hidden in the signal to be transmitted to the decoder, the function f is the parity of the sum of the coefficients of the sub-list SE.sub.1.

    [0171] In the course of a step C9 represented in FIG. 3, the processing module MTR_CO1 verifies whether the parity of the value of the sign to be hidden corresponds to the parity of the sum of the coefficients of the sub-list SE.sub.1, by virtue of a convention defined previously at the coder CO1.

    [0172] In the example proposed, said convention is such that a positive sign is associated with a bit of value equal to zero, while a negative sign is associated with a bit of value equal to one.

    [0173] If, in accordance with the convention adopted in the coder CO1 according to the invention, the sign is positive, thereby corresponding to a zero coding bit value, and if the sum of the coefficients of the sub-list SE.sub.1 is even, there is undertaken the step C20 of entropy coding of the coefficients of the aforementioned list E.sub.1, with the exception of the sign of the coefficient ε2.

    [0174] If, still in accordance with the convention adopted in the coder CO1 according to the invention, the sign is negative, thereby corresponding to a one coding bit value, and if the sum of the coefficients of the sub-list SE.sub.1 is odd, there is also undertaken the step C20 of entropy coding of the coefficients of the aforementioned list E.sub.1, with the exception of the sign of the coefficient ε2.

    [0175] If, in accordance with the convention adopted in the coder CO1 according to the invention, the sign is positive, thereby corresponding to a zero coding bit value, and if the sum of the coefficients of the sub-list SE.sub.1 is odd, there is undertaken, in the course of a step C10 represented in FIG. 3, a modification of at least one modifiable coefficient of the sub-list SE.sub.1.

    [0176] If, still in accordance with the convention adopted in the coder CO1 according to the invention, the sign is negative, thereby corresponding to a one coding bit value, and if the sum of the coefficients of the sub-list SE.sub.1 is even, there is also undertaken step C10 of modifying at least one modifiable coefficient of the sub-list SE.sub.1.

    [0177] Such a modification operation is performed by the processing module MTR_CO1 of FIG. 4.

    [0178] In the exemplary embodiment where SE.sub.1=(+9,−7,0,0,+1,0,−1,+2,0,0,+1), the total sum of the coefficient is equal to 5, and is therefore odd. So that the decoder can reconstruct the positive sign allotted to the first non-zero coefficient, ε2=+9, without the coder CO1 having to transmit this coefficient to the decoder, the parity of the sum must become even. Consequently, the processing module MTR_CO1 tests, in the course of said step C10, various modifications of coefficients of the sub-list SE.sub.1, all aimed at changing the parity of the sum of the coefficients. In the preferred embodiment, there is undertaken the addition of +1 or −1 to each modifiable coefficient and the selection of a modification from among all those performed.

    [0179] In the preferred embodiment, such a selection constitutes the optimal prediction according to a performance criterion which is for example the bitrate distortion criterion well known to the person skilled in the art. Such a criterion is expressed by equation (1) hereinbelow:


    J=D+λR   (1)

    where D represents the distortion between the original macroblock and the reconstructed macroblock, R represents the cost in bits of the coding of the coding information and λ represents a Lagrange multiplier, the value of which can be fixed prior to the coding.

    [0180] In the example proposed, the modification which gives rise to an optimal prediction according to the aforementioned bitrate-distortion criterion is the addition of the value 1 to the second coefficient −7 of the sub-list SE.sub.1.

    [0181] A modified sub-list SEm.sub.1=(+9,−6,0,0,+1,0,−1,+2,0,0,+1) is then obtained on completion of step C10.

    [0182] It should be noted that in the course of this step, certain modifications are prohibited. Thus, in the case where the first non-zero coefficient ε2 would have been equal to +1, it would not have been possible to add −1 to it, since it would have become zero, and it would then have lost its characteristic of first non-zero coefficient of the list E.sub.1. The decoder would then have subsequently allocated the decoded sign (by calculation of the parity of the sum of the coefficients) to another coefficient, and there would then have been a decoding error.

    [0183] In the course of a step C11 represented in FIG. 3, the processing module MTR_CO1 undertakes a corresponding modification of the list E.sub.1. The following modified list Em.sub.1=(0,+9,−6,0,0,+1,0,−1,+2,0,0,+1,0,0,0,0) is then obtained.

    [0184] There is thereafter undertaken the step C20 of entropy coding of the coefficients of the aforementioned list Em.sub.1, with the exception of the sign of the coefficient ε2, which is the + sign of the coefficient 9 in the example proposed, which sign is hidden in the parity of the sum of the coefficients.

    [0185] It should be noted that the set of amplitudes of the coefficients of the list E.sub.1 or of the modified list Em.sub.1 is coded before the set of signs, with the exclusion of the sign of the first non-zero coefficient ε2 which is not coded, as has been explained hereinabove.

    [0186] In the course of a following step C30 represented in FIG. 3, the coding module MC_CO1 of FIG. 4 tests whether the coded current block is the last block of the image IE.

    [0187] If the current block is the last block of the image IE, in the course of a step C40 represented in FIG. 3, the coding method is terminated.

    [0188] If such is not the case, there is undertaken the selection of the block following B′.sub.1 which is then coded in accordance with the aforementioned raster scan order of traversal, by iteration of steps C1 to C20, for 1≤i≤Z.

    [0189] Once the entropy coding of all the blocks B′.sub.1 to B′.sub.Z has been carried out, there is undertaken the construction of a signal F′ representing, in binary form, said coded blocks.

    [0190] The construction of the binary signal F′ is implemented in a stream construction software module CF1, such as represented in FIG. 4.

    [0191] The stream F′ is thereafter transmitted by a communication network (not represented), to a remote terminal. The latter comprises a decoder which will be described in greater detail in the subsequent description.

    [0192] Another embodiment of the invention will now be described, mainly with reference to FIG. 3.

    [0193] This other embodiment is distinguished from the previous one solely by the number of coefficients to be hidden which is either 0, or N, N being an integer such that N≥2.

    [0194] For this purpose, the aforementioned comparison sub-step C72 is replaced with sub-step C72a represented dashed in FIG. 3, in the course of which there is undertaken the comparison of the number of modifiable coefficients with several predetermined thresholds 0<TSIG_1<TSIG_2<TSIG_3 . . . , in such a way that if the number of modifiable coefficients lies between TSIG_N and TSIG_N+1, N signs are intended to be hidden.

    [0195] If the number of modifiable coefficients is less than the first threshold TSIG_1, there is undertaken, in the course of the aforementioned step C20, the conventional entropy coding of the coefficients of the list E.sub.1. For this purpose, the sign of each non-zero coefficient of the list E.sub.1 is coded entropically.

    [0196] If the number of modifiable coefficients lies between the threshold TSIG_N and TSIG_N+1, in the course of a step C8 represented in FIG. 3, the processing module MTR_CO1 calculates the value of a function f which is representative of the coefficients of the sub-list SE.sub.1.

    [0197] In this other embodiment, the decision at the coder being to hide N signs, the function f is the remainder modulo 2.sup.N of the sum of the coefficients of the sub-list SE.sub.1. It is assumed that in the example proposed, N=2, the two signs to be hidden are the first two signs of the first two non-zero coefficients respectively, namely ε2 and ε3.

    [0198] In the course of the following step C9 represented in FIG. 3, the processing module MTR_CO1 verifies whether the configuration of the N signs, i.e. 2.sup.N possible configurations, corresponds to the value of the remainder modulo 2.sup.N of the sum of the coefficients of the sub-list SE.sub.1.

    [0199] In the example proposed where N=2, there exist 2.sup.2=4 different configurations of signs.

    [0200] These four configurations obey a convention at the coder CO1, which is for example determined in the following manner:

    [0201] a remainder equal to zero corresponds to two consecutive positive signs: +, +;

    [0202] a remainder equal to one corresponds to a consecutive positive sign and negative sign: +, −;

    [0203] a remainder equal to two corresponds to a consecutive negative sign and positive sign: −, +;

    [0204] a remainder equal to three corresponds to two consecutive negative signs: −, −.

    [0205] If the configuration of the N signs corresponds to the value of the remainder modulo 2.sup.N of the sum of the coefficients of the sub-list SE.sub.1, there is undertaken the step C20 of entropy coding of the coefficients of the aforementioned list E.sub.1, with the exception of the sign of the coefficient ε2 and of the coefficient ε3, which signs are hidden in the parity of the sum modulo 2.sup.N of the coefficients.

    [0206] If such is not the case, there is undertaken step C10 of modifying at least one modifiable coefficient of the sub-list SE.sub.1. Such a modification is performed by the processing module MTR_CO1 of FIG. 4, in such a way that the remainder modulo 2.sup.N of the sum of the modifiable coefficients of the sub-list SE.sub.1 attains the value of each of the two signs to be hidden.

    [0207] In the course of the aforementioned step C11, the processing module MTR_CO1 undertakes a corresponding modification of the list E.sub.1. A modified list Em.sub.1 is then obtained.

    [0208] There is thereafter undertaken step C20 of entropy coding of the coefficients of the aforementioned list Em.sub.1, with the exception of the sign of the coefficient ε2 and of the sign of the coefficient ε3, which signs are hidden in the parity of the sum modulo 2.sup.N of the coefficients.

    Detailed Description of the Decoding Part

    [0209] A general embodiment of the decoding method according to the invention will now be described, in which the decoding method is implemented in a software or hardware manner by modifications of a decoder initially complying with the H.264/MPEG-4 AVC standard.

    [0210] The decoding method according to the invention is represented in the form of an algorithm comprising steps SD1 to SD7 represented in FIG. 5.

    [0211] According to the general embodiment of the invention, the decoding method according to the invention is implemented in a decoding device or decoder DO, such as represented in FIG. 6, which is suitable for receiving the stream F delivered by the coder CO of FIG. 2.

    [0212] In the course of a preliminary step, not represented in FIG. 5, there is undertaken the identification, in the data signal F received, of the partitions B.sub.1 to B.sub.Z which have been coded previously by the coder CO. In the preferred embodiment, said partitions are blocks which have a square shape and all have the same size. As a function of the size of the image which is not necessarily a multiple of the size of the blocks, the last blocks on the left and the last blocks at the bottom may not be square. In an alternative embodiment, the blocks may be for example of rectangular size and/or not aligned one with another.

    [0213] Each block or macroblock may moreover itself be divided into sub-blocks which are themselves subdividable.

    [0214] Such an identification is performed by a stream analysis software module EX_DO, such as represented in FIG. 6.

    [0215] In the course of a step SD1 represented in FIG. 5, the module EX_DO of FIG. 6 selects as current block B.sub.i the first block B.sub.1 to be decoded. Such a selection consists for example in placing a pointer for reading in the signal F at the start of the data of the first block B.sub.1.

    [0216] There is thereafter undertaken the decoding of each of the selected coded blocks.

    [0217] In the example represented in FIG. 5, such a decoding is applied successively to each of the coded blocks B.sub.1 to B.sub.Z. The blocks are decoded according to for example a “raster scan” traversal well known to the person skilled in the art.

    [0218] The decoding according to the invention is implemented in a decoding software module MD_DO of the decoder DO, such as represented in FIG. 6.

    [0219] In the course of a step SD2 represented in FIG. 5, there is firstly undertaken the entropy decoding of the first current block B.sub.1 which has been selected. Such an operation is performed by an entropy decoding module DE_DO represented in FIG. 6, for example of CABAC type. In the course of this step, the module DE_DO performs an entropy decoding of the items of digital information corresponding to the amplitude of each of the coded data of the list D.sub.1 or of the modified list Dm.sub.1. At this juncture, only the signs of the data of the list D.sub.1 or of the modified list Dm.sub.1 are not decoded.

    [0220] In the case where the processing module MTR_DO receives the list D.sub.1=(a.sub.1, a.sub.2, . . . , a.sub.P), there is undertaken, in the course of a step SD3 represented in FIG. 5, a conventional entropy decoding of all the signs of the data of the list D.sub.1. Such a decoding is performed by the CABAC decoder, designated by the reference DE_DO in FIG. 6. For this purpose, the sign of each non-zero data item of the list D.sub.1 is decoded entropically.

    [0221] In the case where the processing module MTR_DO receives the modified list Dm.sub.1=(a′.sub.1, a′.sub.2, . . . , a′.sub.P), there is undertaken, in the course of said step SD3, the conventional entropy decoding of all the signs of the data of the list Dm.sub.1, with the exception of the sign of the first non-zero data item a2.

    [0222] In the course of a step SD4 represented in FIG. 5, the processing module MTR_DO calculates the value of a function f which is representative of the data of the list Dm.sub.1, so as to determine whether the calculated value is even or odd.

    [0223] In the preferred embodiment where a single sign is hidden in the signal F, the function f is the parity of the sum of the data of the list Dm.sub.1.

    [0224] In accordance with the convention used at the coder CO, which is the same at the decoder DO, an even value of the sum of the data of the list Dm.sub.1 signifies that the sign of the first non-zero data item of the modified list Dm.sub.1 is positive, while an odd value of the sum of the data of the list Dm.sub.1 signifies that the sign of the first non-zero data item of the modified list Dm.sub.1 is negative.

    [0225] In the exemplary embodiment, the total sum of the data is even. Consequently, on completion of step SD4, the processing module MTR_DO deduces therefrom that the hidden sign of the first non-zero data item a2 is positive.

    [0226] In the course of a step SD5 represented in FIG. 5, there is undertaken the construction of the decoded block BD.sub.1. Such an operation is performed by a reconstruction software module MR_DO represented in FIG. 6.

    [0227] In the course of a step SD6 represented in FIG. 5, the decoding module MD_DO tests whether the decoded current block is the last block identified in the signal F.

    [0228] If the current block is the last block of the signal F, in the course of a step SD7 represented in FIG. 5, the decoding method is terminated.

    [0229] If such is not the case, there is undertaken the selection of the following block B.sub.i to be decoded, in accordance with the aforementioned raster scan order of traversal, by iteration of steps SD1 to SD5, for 1≤i≤Z.

    [0230] Another embodiment of the invention will now be described, mainly with reference to FIG. 5.

    [0231] This other embodiment is distinguished from the previous one solely by the number of hidden signs which is now equal to N, N being an integer such that N≥2.

    [0232] For this purpose, in the course of the aforementioned step SD3, there is undertaken the conventional entropy decoding of all the signs of the data of the list Dm.sub.1, with the exception of the N respective signs of the first few non-zero data of said modified list Dm.sub.1, said N signs being hidden.

    [0233] In this other embodiment, the processing module MTR_DO calculates, in the course of step SD4, the value of the function f which is the remainder modulo 2.sup.N of the sum of the data of the list Dm.sub.1. It is assumed that in the example proposed, N=2.

    [0234] The processing module MTR_DO then deduces therefrom the configuration of the two hidden signs which are allotted respectively to each of the first two non-zero data a2 and a3, according to the convention used on coding.

    [0235] Once these two signs have been reconstructed, there is undertaken the implementation of steps SD5 to SD7 described hereinabove.

    [0236] A particular embodiment of the decoding method according to the invention will now be described, in which the decoding method is implemented in a software or hardware manner by modifications of a decoder initially complying with the H.264/MPEG-4 AVC standard.

    [0237] The decoding method according to the invention is represented in the form of an algorithm comprising steps D1 to D12 represented in FIG. 7.

    [0238] According to the embodiment of the invention, the decoding method according to the invention is implemented in a decoding device or decoder DO1, such as represented in FIG. 8, which is able to process the signal F′ delivered by the coder CO1 of FIG. 4.

    [0239] In the course of a preliminary step, not represented in FIG. 7, there is undertaken the identification, in the data signal F′ received, of the partitions B′.sub.1 to B′.sub.Z which have been coded previously by the coder CO1. In the preferred embodiment, said partitions are blocks which have a square shape and all have the same size. As a function of the size of the image which is not necessarily a multiple of the size of the blocks, the last blocks on the left and the last blocks at the bottom may not be square. In an alternative embodiment, the blocks may be for example of rectangular size and/or not aligned one with another.

    [0240] Each block or macroblock may moreover itself be divided into sub-blocks which are themselves subdividable.

    [0241] Such an identification is performed by a stream analysis software module EX_DO1, such as represented in FIG. 8.

    [0242] In the course of a step D1 represented in FIG. 7, the module EX_DO1 of FIG. 8 selects as current block B′.sub.1 the first block B′.sub.1 to be decoded. Such a selection consists for example in placing a pointer for reading in the signal F′ at the start of the data of the first block B′.sub.1.

    [0243] There is thereafter undertaken the decoding of each of the selected coded blocks.

    [0244] In the example represented in FIG. 7, such a decoding is applied successively to each of the coded blocks B′.sub.1 to B′.sub.Z. The blocks are decoded according to for example a “raster scan” traversal well known to the person skilled in the art.

    [0245] The decoding according to the invention is implemented in a decoding software module MD_DO1 of the decoder DO1, such as represented in FIG. 8.

    [0246] In the course of a step D2 represented in FIG. 7, there is firstly undertaken the entropy decoding of the first current block B′.sub.1 which has been selected. Such an operation is performed by an entropy decoding module DE_DO1 represented in FIG. 8, for example of CABAC type. In the course of this step, the module DE_DO1 performs an entropy decoding of the digital information corresponding to the amplitude of each of the coded coefficients of the list E.sub.1 or of the modified list Em.sub.1. At this juncture, only the signs of the coefficients of the list E.sub.1 or of the modified list Em.sub.1 are not decoded.

    [0247] In the course of a step D3 represented in FIG. 7, there is undertaken the determination of the number of signs liable to have been hidden in the course of the previous step of entropy coding C20. Such a step D3 is performed by a processing software module MTR_DO1, such as represented in FIG. 8. Step D3 is similar to the aforementioned step C7 of determining the number of signs to be hidden.

    [0248] In the preferred embodiment, the number of hidden signs is one or zero. Furthermore, in accordance with said preferred embodiment, it is the sign of the first non-zero coefficient which is hidden. In the example represented, this therefore entails the positive sign of the coefficient ε2=+9.

    [0249] In an alternative embodiment, the number of hidden signs is either zero, or one, or two, or three, or more.

    [0250] In accordance with the preferred embodiment of step D3, there is undertaken, in the course of a first sub-step D31 represented in FIG. 7, the determination, on the basis of said list E.sub.1 or of the modified list Em1, of a sub-list containing coefficients ε′1, ε′2, . . . , ε′M where M<L liable to have been modified on coding.

    [0251] Such a determination is performed in the same manner as in the aforementioned coding step C7.

    [0252] Like the aforementioned processing module MTR_CO1, the processing module MTR_DO1 is configured initially so as not to modify:

    [0253] the zero coefficient or coefficients situated before the first non-zero coefficient,

    [0254] and for calculation complexity reasons, the zero coefficient or coefficients situated after the last non-zero coefficient.

    [0255] In the example represented, on completion of sub-step D31, this entails the sub-list SEm.sub.1 such that SEm.sub.1=(9, −6, 0, 0, 1, 0, −1, 2, 0, 0, 1). Consequently, eleven coefficients liable to have been modified are obtained.

    [0256] In the course of a following sub-step D32 represented in FIG. 7, the processing module MTR_DO1 undertakes the comparison of the number of coefficients liable to have been modified with a predetermined threshold TSIG. In the preferred embodiment, TSIG equals 4.

    [0257] If the number of coefficients liable to have been modified is less than the threshold TSIG, there is undertaken, in the course of a step D4 represented in FIG. 7, a conventional entropy decoding of all the signs of the coefficients of the list E.sub.1. Such a decoding is performed by the CABAC decoder, designated by the reference DE_DO1 in FIG. 8. For this purpose, the sign of each non-zero coefficient of the list E.sub.1 is decoded entropically.

    [0258] If the number of coefficients liable to have been modified is greater than the threshold TSIG, there is undertaken, in the course of said step D4, the conventional entropy decoding of all the signs of the coefficients of the list Em1, with the exception of the sign of the first non-zero coefficient ε2.

    [0259] In the course of a step D5 represented in FIG. 7, the processing module MTR_DO1 calculates the value of a function f which is representative of the coefficients of the sub-list SEm.sub.1 so as to determine whether the calculated value is even or odd.

    [0260] In the preferred embodiment where a single sign is hidden in the signal F′, the function f is the parity of the sum of the coefficients of the sub-list SEm.sub.1.

    [0261] In accordance with the convention used at the coder CO1, which is the same at the decoder DO1, an even value of the sum of the coefficients of the sub-list SEm.sub.1 signifies that the sign of the first non-zero coefficient of the modified list Em.sub.1 is positive, while an odd value of the sum of the coefficients of the sub-list SEm.sub.1 signifies that the sign of the first non-zero coefficient of the modified list Em.sub.1 is negative.

    [0262] In the exemplary embodiment where SEm.sub.1=(+9,−6,0,0,+1,0,−1,+2,0,0,+1), the total sum of the coefficients is equal to 6, and is therefore even. Consequently, on completion of step D5, the processing module MTR_DO1 deduces therefrom that the hidden sign of the first non-zero coefficient ε2 is positive.

    [0263] In the course of a step D6 represented in FIG. 7, and with the aid of all the items of digital information reconstructed in the course of steps D2, D4 and D5, there is undertaken the reconstruction of the quantized coefficients of the block B′q1 in a predefined order. In the example represented, this entails a zig-zag traversal inverse to the zig-zag traversal performed in the course of the aforementioned coding step C6. Such a step is performed by a reading software module ML_DO1, such as represented in FIG. 8. More precisely, the module ML_DO1 undertakes the writing of the coefficients of the list E.sub.1 (one-dimensional) to the block B′q1 (two-dimensional), using said inverse zig-zag order of traversal.

    [0264] In the course of a step D7 represented in FIG. 7, there is undertaken the dequantization of the quantized residual block B′q1 according to a conventional dequantization operation which is the operation inverse to the quantization performed on coding in the aforementioned step C5, so as to produce a decoded dequantized block BD′q.sub.1. Such a step is performed by means of a dequantization software module MDQ_DO1, such as represented in FIG. 8.

    [0265] In the course of a step D8 represented in FIG. 7, there is undertaken the inverse transformation of the dequantized block BD′q.sub.1 which is the operation inverse to the direct transformation performed on coding in the aforementioned step C4. A decoded residual block BD′r.sub.1 is then obtained. Such an operation is performed by an inverse transform software module MTI_D01, such as represented in FIG. 8.

    [0266] In the course of a step D9 represented in FIG. 7, there is undertaken the predictive decoding of the current block B′.sub.1. A predictive decoding such as this is performed conventionally by known techniques of intra and/or inter prediction, in the course of which the block B′.sub.1 is predicted with respect to at least one previously decoded block. Such an operation is performed by a predictive decoding module PRED_DO1 such as represented in FIG. 8.

    [0267] It goes without saying that other modes of intra prediction, such as are proposed in the H.264 standard, are possible.

    [0268] In the course of this step, the predictive decoding is performed with the aid of the syntax elements decoded in the previous step and comprising in particular the type of prediction (inter or intra) and, if appropriate, the mode of intra prediction, the type of partitioning of a block or macroblock if the latter has been subdivided, the reference image index and the displacement vector used in the mode of inter prediction.

    [0269] Said aforementioned predictive decoding step makes it possible to construct a predicted block B′p.sub.1.

    [0270] In the course of a step D10 represented in FIG. 7, there is undertaken the construction of the decoded block BD′.sub.1 by adding the decoded residual block BD′r.sub.1 to the predicted block B′p.sub.1. Such an operation is performed by a reconstruction software module MR_DO1 represented in FIG. 8.

    [0271] In the course of a step D11 represented in FIG. 7, the decoding module MD_DO1 tests whether the decoded current block is the last block identified in the signal F′.

    [0272] If the current block is the last block of the signal F′, in the course of a step D12 represented in FIG. 7, the decoding method is terminated.

    [0273] If such is not the case, there is undertaken the selection of the following block B′.sub.1 to be decoded in accordance with the aforementioned raster scan order of traversal, by iteration of steps D1 to D10, for 1≤i≤Z.

    [0274] Another embodiment of the invention will now be described, mainly with reference to FIG. 7.

    [0275] This other embodiment is distinguished from the previous one solely by the number of hidden coefficients which is either 0, or N, N being an integer such that N≥2.

    [0276] For this purpose, the aforementioned comparison sub-step D32 is replaced with sub-step D32 a represented dashed in FIG. 7, in the course of which there is undertaken the comparison of the number of coefficients liable to have been modified with several predetermined thresholds 0<TSI_1<TSIG_2<TSIG_3 . . . , in such a way that if the number of said coefficients lies between TSIG_N and TSIG_N+1, N signs have been hidden.

    [0277] If the number of said coefficients is less than the first threshold TSIG_1, there is undertaken, in the course of the aforementioned step D4, the conventional entropy decoding of all the signs of the coefficients of the list E.sub.1. For this purpose, the sign of each non-zero coefficient of the list E.sub.1 is decoded entropically.

    [0278] If the number of said coefficients lies between the threshold TSIG_N and TSIG_N+1, there is undertaken, in the course of the aforementioned step D4, the conventional entropy decoding of all the signs of the coefficients of the list E.sub.1, with the exception of the N respective signs of the first non-zero coefficients of said modified list Em.sub.1, said N signs being hidden.

    [0279] In this other embodiment, the processing module MTR_DO1 calculates, in the course of step D5, the value of the function f which is the remainder modulo 2.sup.N of the sum of the coefficients of the sub-list SEm.sub.1. It is assumed that in the example proposed, N=2.

    [0280] The processing module MTR_DO1 then deduces therefrom the configuration of the two hidden signs which are allotted respectively to each of the first two non-zero coefficients ε2 and ε3, according to the convention used on coding.

    [0281] Once these two signs have been reconstructed, steps D6 to D12 described hereinabove are carried out.

    [0282] It goes without saying that the embodiments which have been described hereinabove have been given purely by way of indication and are not at all limiting, and that numerous modifications can easily be made by the person skilled in the art without however departing from the scope of the invention.

    [0283] Thus for example, according to a simplified embodiment with respect to that represented in FIG. 4, the coder CO1 could be configured to hide at least N′ predetermined signs, with N′≥1, instead of either zero, or one or N predetermined signs. In this case, the comparison step C72 or C72a would be dispensed with. In a corresponding manner, according to a simplified embodiment with respect to that represented in FIG. 8, the decoder DO1 would be configured to reconstruct N′ predetermined signs instead of either zero, or one or N predetermined signs. In this case, the comparison step D32 or D32 a would be dispensed with. Furthermore, the decision criterion applied in the coding step C72 and in the decoding step D32 could be replaced with another type of criterion. For this purpose, instead of comparing with a threshold the number of modifiable coefficients or the number of coefficients liable to have been modified, the processing module MTR_CO1 or MTR_DO1 could apply a decision criterion which is respectively dependent on the sum of the amplitudes of the coefficients that are modifiable or liable to have been modified, or else the number of zeros present among the coefficients that are modifiable or liable to have been modified.