WO2008104725A1 - Optimised algebraic encoding and decoding method, and related modules and computer software - Google Patents

Optimised algebraic encoding and decoding method, and related modules and computer software Download PDF

Info

Publication number
WO2008104725A1
WO2008104725A1 PCT/FR2008/050257 FR2008050257W WO2008104725A1 WO 2008104725 A1 WO2008104725 A1 WO 2008104725A1 FR 2008050257 W FR2008050257 W FR 2008050257W WO 2008104725 A1 WO2008104725 A1 WO 2008104725A1
Authority
WO
WIPO (PCT)
Prior art keywords
bit
bits
plane
dimension
quantization
Prior art date
Application number
PCT/FR2008/050257
Other languages
French (fr)
Inventor
Stéphane RAGOT
Marie Oger
Marc Antonini
Original Assignee
France Telecom
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Publication of WO2008104725A1 publication Critical patent/WO2008104725A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Definitions

  • the present invention relates to the field of signal encoding and decoding devices, intended in particular to take place in applications for transmission or storage of digitized and compressed signals.
  • signals include, for example, audio signals, including speech signals, images and video.
  • FIG. 1 shows a coding device 106 and a decoding device 107.
  • the coding device 106 is adapted to receive a signal S at its input, to code it and to output a bit stream ⁇ comprising the data resulting from the coding of the signal. signal S.
  • the decoding device 106 is adapted to receive the input bit stream ⁇ , to decode it and to output a restitution of the signal S.
  • the coding device 106 comprises an analysis block 100, a block of quantization 101 and a lossless compression block 102
  • the decoding device 107 comprises a lossless decompression block 103, an inverse quantization block 104 and a synthesis block 105.
  • the analysis performed by the analysis block is adapted to receive a signal S at its input, to code it and to output a bit stream ⁇ comprising the data resulting from the coding of the signal. signal S.
  • the decoding device 106 is adapted to receive the input bit stream ⁇ , to decode it and to output a
  • the analysis block 100 includes the calculation of the parameters of a model, for example a model of linear prediction, sinusoidal or prediction of motion, etc. and / or performs a transformation (Fourier, wavelet, etc ).
  • the analysis block 100 is optional. For example, in the case of PCM (PCM) coding, there is no analysis block.
  • the quantization block 101 performs a lossy compression operation, of the scalar or vector quantization type, of values associated with the signal that it receives as input. In the case of scalar quantization, these values are approximated by reconstruction levels (or representatives) defined in adjacent intervals; each of the intervals is represented by a unique reconstruction level which can be associated with a quantization index (integer).
  • the lossless compression block 102 aims to eliminate the statistical redundancy existing in a signal after quantization. For example, it implements methods of the Huffman coding type, Golomb-Rice coding or arithmetic coding.
  • the lossless compression block 102 is optional: in applications requiring a fixed bit rate, it complicates the implementation because it leads to a variable bit rate.
  • the elements supplied at the output of the lossless compression block are inserted in a binary sequence according to a determined format. The binary sequence thus formed is then inserted into the bit stream ⁇ . This bit stream ⁇ is then received at the input of the decoding device
  • the lossless decompression block 103 reconstructs the information at the output of the quantization block 101.
  • This information is then processed by the inverse quantization block 104, which reassigns a value instead of the quantized coefficient (for example, the inverse quantization assigns a point value in the range indicated by the quantized coefficient, for example that of the middle of the interval).
  • the synthesis block 105 synthesizes a signal using, for example, excitation generation followed by filtering, inverse transformation, etc. In the case of the MIC coding in particular, this synthesis is omitted.
  • the invention relates more particularly to coding and decoding techniques known as "bit plane".
  • Such techniques are for example used in MPEG-4 audio coding, in particular by the Bit Sliced Arithmetic Coding (BSAC) coder (see the documents “Multi-Layer Bit-Sliced Scalable Audio Coding", S.-H. Park, YB Kim, YS Seo, 103th AES Convention, Sept. 1997, Paper 4520 and "Fine grain scalability in MPEG-4 Audio ", S.-W. Kim, S.-H. Park, and Y.-B. Kim, 111th AES Convention, Sept. 2001, Paper 5401).
  • BSAC Bit Sliced Arithmetic Coding
  • bitmap coding techniques are also used in image coding or MPEG-4 FGS (Fine Grain Granularity) video coding.
  • bitmap coding is that it naturally leads to hierarchical coding of the signal, which allows the encoder to provide varied bit rates.
  • the binary data from the coding operation are divided into successive layers of variable size of decreasing importance.
  • Each layer corresponds to binary codes describing all or part of a bit plane of a given rank and the relevant sign bits.
  • the lower importance layers that is to say those associated with the lower bit planes, are eliminated, the bit rate is thus reduced while retaining the most important layers, that is, those associated with higher-order bit planes.
  • Such coding thus enables the decoding device to make successive approximations of the signal of increasing precision, which are reconstructed as and when receiving additional portions of the bitstream from the coding device and relating to layers. lower level than previously received layers.
  • the values Xi,..., X N are, for example, N spectral coefficients obtained by time-frequency transformation and formatting (division by scale factor, for example) of a sampled signal time frame.
  • the vector Y [V 1 , ..., y N ] is the vector such that each quantization coefficient y ⁇ is the result of the "quantization" operation on the parameter Xi, that is to say that y ⁇ is the rounding of Xi in S.
  • the rounding of Xi in 2 could also be done with a "dead zone” around 0 (which is commonly called dead zone in English); here we treat only the case without dead zone, without loss of generality.
  • a bit plane decomposition operation is then performed.
  • the vector P k is called the plane of bits of rank (or weight) k.
  • the higher bit plane P ⁇ -i is the most significant bit plane (MSB or Most Significant
  • K 3
  • P 0 [0,1,1,0,1,1,0,1]
  • the invention proposes a method of encoding a signal comprising the following steps, starting from N signal values with N> 1:
  • Point networks have many applications in telecommunications techniques: vector quantization, coded modulation and cryptography.
  • the simplest network of points is the network Z N , also called cartesian grid or cubic network. This is associated with uniform scalar quantization.
  • Other examples of networks are:
  • a network of points of dimension N, noted ⁇ , is called integer if its points have integer coordinates, in other words if ⁇ c Z *.
  • a method according to the invention thus advantageously takes advantage of the algebraic structure of the bit-point networks. At least one bit is eliminated in at least one bit plane without loss of useful information. The compression ratio obtained is therefore greater than conventional bitmap coding, and this by reducing the loss of information.
  • the quantization performance measured in terms of mean squared error, is related to a quantity called "generalized second order moment" of the network (see JH Conway and NJA Sloane, Sphere Packing, Lattices and Groups, Third Edition, Springer -Verlag, 1999).
  • G (A) For an entire network ⁇ , the generalized moment of order 2, denoted G (A), is a characteristic invariant ⁇ ; it represents the granular quantization error in ⁇ (that is, the quantization error obtained when the uniform source is coded without "overloading").
  • ⁇ g (A) 10 log 10 - ⁇ -.
  • the number of bits deleted is a function of the number of redundant bits of at least one determined block detector / corrector code of length N. This number of bits is chosen to be less than or equal to the number of redundant bits of at least one detector / corrector code block determined length N.
  • This arrangement makes it possible to eliminate redundant bits from the bit planes because of the algebraic structure of the bit network used for the quantization.
  • the compression ratio achieved is even higher without loss of additional information.
  • the set of M blocks of N indices is broken down into bit planes of length M * N. This decomposition in M blocks makes it possible to jointly code a number of values greater than N.
  • a respective number of bits is omitted to form a plurality of reduced bit planes, the number of bits deleted in each bit plan being less than or equal to the number of redundant bits of a determined detector code and / or block error corrector of length N associated with said bit plane.
  • a binary coding sequence of the signal is formed using coding elements defined according to at least reduced bit sets.
  • This arrangement makes it possible to eliminate the redundant bits for several bit planes, associated with respective error correcting codes, that is to say such that the bit planes are code code words that are detectors and / or correctors. errors. The number of bits deleted without loss of information is thus increased.
  • the invention proposes a coding module of a signal comprising: a quantizer adapted to determine, for each of N values defined as a function of the signal, an integer quantization index such as the vector of dimension N, having for coordinates, said determined quantization indices, ie element of a determined bit-point network, of dimension N different from 2 P Z N
  • binary decomposition means adapted to decompose said quantization indices in binary form to form bit planes of length N;
  • the invention proposes a computer program to be installed in a coding module of a signal, said program comprising instructions for implementing, during an execution of the program by means of processing said module. the following steps: in a quantization step, determining, for each of N values defined as a function of the signal, an integer quantization index such as the vector of dimension N, having as co-ordinates said determined quantization indices, ie element of a binary array of points of dimension N different 2 P Z N
  • the invention proposes a method for decoding a binary sequence comprising coding elements, with a view to restoring N definition values of a signal, according to which:
  • bit plane determining a set of bits relative to said bit plane
  • N quantization indices as a function of at least the respective N bits of the determined bit plane, such as the dimension vector N, having as coordinates said computed quantization indices, either element of a determined bit-point network of dimension N other than 2 P Z N
  • the invention proposes a module for decoding a binary sequence, comprising:
  • FIG. 3 shows processing blocks of a coding module in one embodiment of the invention
  • FIG. 4 represents processing blocks of a decoding module in one embodiment of the invention
  • FIG. 5 represents a binary sequence constituted by the coding device of FIG. 1 in one embodiment of the invention
  • Fig. 6 is a flowchart showing steps of a decoding method in an embodiment of the invention
  • FIG. 7 represents a binary sequence constituted by the coding device of FIG. 1 in one embodiment of the invention
  • FIG. 8 is a flow chart showing steps of a decoding method in one embodiment of the invention.
  • a binary network ⁇ o in N dimension including strictly a sub-network 2 P Z A ', with p strictly positive, is associated with one or more correction codes / block error detectors.
  • Each of these detector / error correction codes is of the form [N, k, d] where N is the length or dimension of the code equal to the network dimension ⁇ o , k is the number of independent symbols within the N symbols constituting a word of the code considered and d is the Hamming distance within the code.
  • the values k and d vary according to the codes.
  • j determined positive integer, such that each element of the binary network can be written in the form:
  • a plane P 0 of rank 0 which is a code word of a detector / error correction code [N, k 0 , do], and more generally if j> 0, gives rise to planes of rank 0 to J Po to Pj which are respective detector / error-correcting code code words [N, k 0 , d 0 ], ..., [N, kj, dj .
  • the code [N, N-1, 2] is a parity code whose codewords comprise N bits, of which N-1 bits are independent and a bit (called parity bit) is deduced from the value of the N-bits. 1 other bits. This parity bit is redundant.
  • RE N 4Z N + 2 [N, N-1, 2] + [N, 1, N]
  • the code [N, N-1, 2] is a parity code whose code words comprise N bits, of which N-1 are independent and one bit is redundant (that is to say that, as part of N-1 bits, the Nth bit can be determined without loss).
  • the code [N, 1, N] is a repetition code whose codewords comprise N bits, of which 1 is independent and N-1 are redundant.
  • the corrective codes / block error detectors considered are such that the number of redundant bits in the code is strictly greater than 0, because the bit network is different from a network of the form 2 P Z N.
  • An encoding method further comprises at the encoder a step of reducing the number of bits, comprising the deletion of one or more redundant bits at predefined positions in at least one bit plane corresponding to a word of code of a detector code / error corrector.
  • the number of bits deleted is a function of the number of independent symbols within the N symbols constituting a mode of the code. It is set equal to or less than the number of redundant (or dependent) symbols in a word of said detector / error corrector code.
  • planes Po to Pj of rank 0 to j are detector code words / error correctors, with j> 0, we will proceed to a reduction of the number of bits in the different planes P 0 to P j Such coding thus makes it possible to reduce the number of bits necessary to code the signal, without any loss of additional information.
  • these deleted bits are deduced, in a step bit plane extension, as a function of the bits received and the detector / error correction code to which belongs the bit plane considered.
  • This encoder 1 comprises in particular a quantization block 2 associated with a quantization space which is a bit network ⁇ o , a bit plane decomposition block 3, a lower bit plane reduction block (s) 4 , a lossy compression block 5 and a binary sequence constitution block 6.
  • the binary network ⁇ o of dimension N includes a sub-network 2 P Z N , with p strictly positive and the binary network ⁇ o is different from WZ N.
  • the values Xi,..., X N are for example N spectral coefficients obtained by time-frequency transformation and formatting (division by scale factor, for example) of a sampled signal time frame.
  • bitmap decomposition block 3 A bit plane decomposition operation is then performed by the bitmap decomposition block 3.
  • the last bit of the plane Po (corresponding to a N 0 ) is deleted.
  • a convention different is retained, and a bit in a different predefined position is deleted). This deletion is not accompanied by any loss of information since a number of bits equal to the number of redundant bits in the rank plane 0 has been removed.
  • the bit plane of reduced rank 0, denoted Po * containing N-1 bits, is then supplied to the block 5 of lossless compression, as well as the bit planes Pi to
  • This lossless compression block 5 converts the bit planes (including the reduced plane Po) into a binary sequence.
  • the partial vector of signs Sk contains the signs associated with the values a t such that ⁇ ⁇ is the first non-zero bit among a ⁇ k , a ⁇ Mi ..., a ⁇ K _ v .
  • the coding elements L (Po) determined by the lossless compression block 5 for the reduced plane Po * , are inserted, followed by the partial vector of signs So.
  • the partial vector of signs So contains the signs associated with the values a t such that a ⁇ fi is the first non-zero bit among a ⁇ fi , a ⁇ X ..., a ⁇ K ⁇ .
  • a bit stream ⁇ comprising the binary sequence Seq1 is transmitted to a decoder 10.
  • An encoding according to this first embodiment of the invention thus makes it possible to eliminate 1 bit among the N bits of the plane Po, without any loss of information, since only the redundant information has been suppressed.
  • a decoder 10 in one embodiment of the invention. It is assumed here that the bit stream ⁇ has been transmitted without binary error and without rate reduction or frame loss. The decoder therefore receives the same information ⁇ as the information ⁇ sent by the coder.
  • This decoder 10 includes in particular a lossless decompression block 11, a block 12 of lower bit plane (s) and a block 13 of inverse quantization.
  • the bit stream ⁇ comprising the binary sequence Seq1 is received by the decoder 10.
  • the decoder 10 is adapted to carry out the following iterative steps, with reference to FIG. 6 and with the aid of the blocks 11 and 12.
  • the decoder 10 first reads the number K of bit planes indicated at the beginning of the Seq1 sequence.
  • the value [0, ..., 0] is assigned to the vectors Y 'and S' of dimension N and the value K-1 is assigned to the variable k integer.
  • the decoder 10 extracts from the bit sequence Seq1 received the coding elements relative to the successive bit planes, from the bit plane higher than the lower bit plane, and supplies them to the lossless decompression block 11.
  • the lossless decompression block 11 decodes the received coding elements corresponding to the sent coding elements L (P ⁇ - i) relating to the bit plane P ⁇ -i. It is assumed here that there are no binary errors on the channel and furthermore the channel has sufficient capacity to transmit the entire coding bit sequence. Thus the lossless decompression block 11 determines the bit plane P ⁇ - i. In a step 1004, it updates the value of Y 'by multiplying by 2 the current value Y' and adding to it the vector corresponding to the bit plane
  • the sign data indicated in the partial vector of signs S ⁇ -i also extracted from the sequence Seq1 are exploited to update the vector of signs S '(step 1005), by adding the signs contained in the partial vector of signs.
  • S ⁇ -i- For example, if S ⁇ -i indicates an index i, with i between 1 and N, such that the sign of a-, is positive, then the i th coordinate of S 'is kept at 0. if S ⁇ -i indicates an index i, with i between 1 and N, such that the sign of a-, is negative, then the i th S coordinate is updated to one.
  • variable k is then decremented by 1 (step 1007), then the previous steps are repeated until k is different from 0 (test of step 1003).
  • the lossless decompression block 11 receives the coding elements L (P 0 ) and decompresses them. It thus determines the bit plane Po * .
  • the lower bit plane extension block (s) reconstitutes, in a step 1009, the Nth bit of Po from the received bit plane P 0 * comprising N-1 bits.
  • the plane Po corresponds to a code word of the parity code [N, N-1 , 2] (it is assumed here that the parity code is even parity).
  • the added bit would have been inserted at the position corresponding to the deletion.
  • step 1004 the value of Y 'is updated by multiplying by 2 the current value Y' and by adding to it the vector corresponding to the bit plane Po
  • the data of signs indicated in the partial vector of the signs So are exploited to update the sign vector S '(step 1005).
  • the sign vector S 'thus calculated is equal to the sign vector S considered during the coding.
  • this quantization vector Y is supplied to block 13 for an inverse quantization operation.
  • the quantization space ⁇ o chosen is the network RE N -
  • the steps implemented in such a case by the encoder 1 and the decoder 10 are described below.
  • RE N is carried out according to the principle of the fast algorithm for "Eg” described in the article “Fast quantizing and decoding and algorithms for lattice quantizers and codes", Conway, J., Sloane, N., IEEE Trans. on Information Theory, Vol. 28, Issue 2, Mar. 1982, pp. 227-232.
  • a bit plane decomposition operation is then performed by the bit plane decomposition block 3, as a function of the N quantization coefficients y 2 i, ..., y2N determined.
  • N l (corresponding to a N l ) is deleted.
  • a different convention is retained, and a bit in another position is deleted.
  • the bit plane of rank 1 thus reduced is noted l ⁇ li * . It contains N-1 bits.
  • the last N-1 bits of the FIo plane are deleted. In another embodiment, a different convention is retained, and bits in other positions are deleted.
  • bit planes of rank 0 and 1 reduced, Fl 0 * and Fl / are then provided to the block 5 of lossless compression, as well as the sign vector ⁇ and the bit planes Fl 2 to Fl ⁇ -i containing N bits. each.
  • the obtained coding elements are then provided with the sign vector ⁇ at block 6 of bit sequence constitution.
  • the coding elements L ( ⁇ -2 K i) determined by the block 5 of lossless compression to the plane ⁇ 2 K-i of rank K 2 -I, are inserted into the bit sequence Seq2, followed by the partial vector signs E ⁇ 2-1 .
  • the coding elements L ( ⁇ k ) determined by the lossless compression block 5 for the plane rik are inserted, followed by the partial vector of signs ⁇ k.
  • the coding elements L (FIi) determined for the reduced rank plane 1 are inserted in the sequence Seq2, followed by the partial vector of signs ⁇ i and finally the coding elements L (FI 0 ) determined for the rank plane 0 reduced are inserted, followed by the partial vector of signs ⁇ o.
  • a bit stream ⁇ 2 comprising the binary sequence Seq2 is transmitted to a decoder 10.
  • An encoding according to this first embodiment of the invention thus makes it possible to eliminate 1 bit among the N bits of the FIi plane and N-1 bits among the N bits of the FIo plane, without any loss of information, since only 1 redundant information has been removed.
  • the bit stream ⁇ 2 comprising the binary sequence Seq 2 is then received by the decoder 10.
  • the decoder 10 is adapted to implement the following iterative steps using the blocks 11 and 12. These steps are similar to those described above with reference to FIG. is for those who are in the rank 0 and 1 plans.
  • the decoder 10 reads first the number of bit planes K 2 indicated at the beginning of the Seq2 sequence.
  • the value [0,..., 0] is assigned to the vectors Y 2 and ⁇ of dimension N and the value K 2 - 1 is assigned to a variable k whole.
  • the decoder 10 extracts from the bit sequence Seq 2 received the coding elements relating to the successive bit planes, from the bit plane higher than the lower bit plane, and supplies them to the lossless decompression block 11.
  • the lossless decompression block 11 thus receives the coding elements L ( ⁇ K 2 -i) (it is considered here that there are no binary errors on the transmission channel and moreover that the channel has sufficient capacity to transmit all the coding binary sequence) and decompresses them. It thus determines the bit plane I ⁇ l ⁇ 2-i-
  • K 2 -I updates the value of Y 2 by multiplying by 2 the current value Y 2 (null vector) and by adding to it the vector corresponding to the plane of bits I ⁇ l ⁇ 2-i
  • the sign data indicated in the partial vector sign ⁇ ⁇ ⁇ also extracted from the Seq2 sequence are used to update the sign vector ⁇ .
  • the variable k is then decremented by 1 if it is different from 0
  • step 2007 then the previous steps 2002, 2004, 2005 and 2007 are reiterated as long as k is different from 1 (test of step 2003).
  • the lossless decompression block 11 receives the coding elements L (FI 1 ) and decompresses them. It thus determines the bit map reduced Fl 1 *.
  • Block 12 plane extension (s) of lower bits (s) reconstructs, in a step 2008, the Nth bit of Fl 1 from the bit plane Fl 1 * Reduced received comprising N-1 bits.
  • step 2004 the Y 2 value is updated by multiplying the value by 2 Y running and adding the vector corresponding to the bit plane Fl 1 Signs of data shown in partial vector of signs ⁇ i are exploited to update the sign vector ⁇ (step 2005).
  • the lossless decompression block 11 receives the L (FI 0 ) coding elements and decompresses them. It thus determines the reduced bit plane Fl 0 * .
  • the lower bit plan extension block (s) reconstitutes, in a step 2009, the last N-1 bits of F1 0 * from the reduced bit plane F1 0 * received comprising 1 bit.
  • the value of Y 2 is updated by multiplying by 2 the current value Y 2 and by adding to it the vector corresponding to the bit plane FIo
  • the data of signs indicated in the partial vector of signs ⁇ o are exploited to update the sign vector ⁇ (step 2005).
  • bit sequence Seq1 comprising lower level bit planes
  • This portion includes the least significant coding elements.
  • the decoding is then done in a conventional manner at the decoder, taking into account only the higher level bit planes actually received in the bit sequence and the received parts of the lower bit planes.
  • An encoding method according to the invention allows the implementation of a hierarchical coding of the signal.
  • all or some of the processing implemented by the decoder 10 are in one embodiment implemented following the execution of computer program instructions on calculating means of the decoder 10.
  • the quantization then takes place in the quantization space D.sub.0. bit in each plane of rank 0 calculated for each block. 14 bits are thus removed from the 280 bits corresponding to the 14 bit planes of rank 0.
  • These coding elements for the 14 reduced bit planes of row 0 comprise, for example successively, the coding elements defined according to the invention for the row plane 0 of the first reduced block according to the invention, and then the coding elements defined according to FIG. invention for the reduced rank plane 0 of the second block, etc., to the coding elements defined according to the invention for the reduced rank plane 0 of the fourteenth block.
  • the granular gains of the networks D n or RE n increase with the dimension n up to a maximum, then decrease.
  • the number M of selected blocks is actually a compromise allowing a number of bits deleted satisfactory while ensuring a sufficient granular gain.
  • M blocks each comprising N defined values as a function of the signal are considered.
  • N-dimensional bit planes are defined for each of the M blocks, then bit plane reductions are performed for each of the blocks.
  • the bit sequence can then comprise only once the number of bit planes considered common to the M blocks, then the coding elements for the M bit planes of maximum rank, etc. to the coding elements for the M bit planes. rank 0 reduced.
  • the binary representation of the bit planes can be reversibly modified before lossless coding, for example by complement representation at 2 or else by Gray coding.
  • the higher bit planes that are not detector / error correction code words are jointly encoded by a technique such as stack-run integer sequence coding which is described in the article "Stack-Run Image Coding", MJ Tsai, JD Villasenor and F. Chen, IEEE Trans. Syst. Circuits Video Technol., Vol. 6, pp. 519-521, Oct. 1996.
  • a maximum number of bits equal to the number of dependent bits in a word of the detector / corrector code considered, were deleted in the bit plane associated with the detector / corrector code without loss of information.
  • a number of bits less than the maximum number may be deleted.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention relates to an encoding method that comprises a decomposition into bit planes (P0, Pϰ-1), after a quantification of the bit planes in an N-dimension quantification space (Λo) having an additive structure, while respecting the condition according to which p is a strictly positive integer such that the space 2pZN is strictly included in that quantification space. The method further comprises suppressing from the 0-rank bit plane (P0) a number of predetermined bits based on an error correction code including the zero-rank bit plane.

Description

PROCEDE DE CODAGE ET DECODAGE ALGEBRIQUE OPTIMISE, MODULES ET PROGRAMMES D'ORDINATEUR ASSOCIES OPTIMIZED ALGEBRATE CODING AND DECODING METHOD, COMPUTER MODULES AND COMPUTER PROGRAMS
La présente invention concerne le domaine des dispositifs de codage et décodage de signaux, destinés notamment à prendre place dans des applications de transmission ou de stockage des signaux numérisés et compressés. Parmi ces signaux figurent par exemple des signaux audio, y compris des signaux de parole, des images et de la vidéo.The present invention relates to the field of signal encoding and decoding devices, intended in particular to take place in applications for transmission or storage of digitized and compressed signals. Such signals include, for example, audio signals, including speech signals, images and video.
Sur la figure 1 sont représentés un dispositif de codage 106 et un dispositif de décodage 107. Le dispositif de codage 106 est adapté pour recevoir en entrée un signal S, le coder et délivrer en sortie un flux binaire φ comprenant les données issues du codage du signal S. Le dispositif de décodage 106 est adapté pour recevoir en entrée le flux binaire φ, le décoder et fournir en sortie une restitution du signal S. De façon générale, le dispositif de codage 106 comprend un bloc d'analyse 100, un bloc de quantification 101 et un bloc de compression sans perte 102, et le dispositif de décodage 107 comprend un bloc de décompression sans perte 103, un bloc de quantification inverse 104 et un bloc de synthèse 105. Suivant le type de signal S, l'analyse effectuée par le bloc d'analyseFIG. 1 shows a coding device 106 and a decoding device 107. The coding device 106 is adapted to receive a signal S at its input, to code it and to output a bit stream φ comprising the data resulting from the coding of the signal. signal S. The decoding device 106 is adapted to receive the input bit stream φ, to decode it and to output a restitution of the signal S. In general, the coding device 106 comprises an analysis block 100, a block of quantization 101 and a lossless compression block 102, and the decoding device 107 comprises a lossless decompression block 103, an inverse quantization block 104 and a synthesis block 105. Depending on the type of signal S, the analysis performed by the analysis block
100 comprend le calcul des paramètres d'un modèle, par exemple un modèle de prédiction linéaire, sinusoïdal ou de prédiction de mouvement, etc. et/ou réalise une transformation (de Fourier, par ondelettes, etc ...). Le bloc d'analyse 100 est optionnel. Par exemple, dans le cas du codage MIC (PCM en anglais), il n'y a pas de bloc d'analyse.100 includes the calculation of the parameters of a model, for example a model of linear prediction, sinusoidal or prediction of motion, etc. and / or performs a transformation (Fourier, wavelet, etc ...). The analysis block 100 is optional. For example, in the case of PCM (PCM) coding, there is no analysis block.
Le bloc de quantification 101 effectue une opération de compression avec perte, de type quantification scalaire ou vectorielle, de valeurs associées au signal qu'il reçoit en entrée. Dans le cas de la quantification scalaire, ces valeurs sont approximées par des niveaux de reconstruction (ou représentants) définis dans des intervalles adjacents ; chacun des intervalles est représenté par un niveau de reconstruction unique qui peut être associé à un indice de quantification (entier). Le bloc de compression sans perte 102 vise à éliminer la redondance statistique existant dans un signal après quantification. Il met par exemple en œuvre des méthodes du type codage de Huffman, codage de Golomb-Rice ou encore codage arithmétique. Le bloc 102 de compression sans perte est optionnel : dans les applications requérant un débit fixe, il complique la mise en œuvre car il conduit à un débit variable. Les éléments fournis en sortie du bloc de compression sans perte sont insérés dans une séquence binaire selon un format déterminé. La séquence binaire ainsi constituée est ensuite insérée dans le flux binaire φ. Ce flux binaire φ est ensuite reçu en entrée du dispositif de décodageThe quantization block 101 performs a lossy compression operation, of the scalar or vector quantization type, of values associated with the signal that it receives as input. In the case of scalar quantization, these values are approximated by reconstruction levels (or representatives) defined in adjacent intervals; each of the intervals is represented by a unique reconstruction level which can be associated with a quantization index (integer). The lossless compression block 102 aims to eliminate the statistical redundancy existing in a signal after quantization. For example, it implements methods of the Huffman coding type, Golomb-Rice coding or arithmetic coding. The lossless compression block 102 is optional: in applications requiring a fixed bit rate, it complicates the implementation because it leads to a variable bit rate. The elements supplied at the output of the lossless compression block are inserted in a binary sequence according to a determined format. The binary sequence thus formed is then inserted into the bit stream φ. This bit stream φ is then received at the input of the decoding device
107, par exemple suite à une transmission sur une liaison de transmission disposée entre le dispositif de codage 106 et le dispositif de décodage 107. Si on considère qu'aucune erreur n'a été introduite lors de la transmission, le bloc de décompression sans perte 103, optionnel, reconstruit l'information en sortie du bloc de quantification 101. Cette information est ensuite traitée par le bloc de quantification inverse 104, qui réaffecte une valeur à la place du coefficient quantifié (par exemple, la quantification inverse affecte une valeur ponctuelle dans l'intervalle indiqué par le coefficient quantifié, par exemple celle du milieu de l'intervalle). Le bloc de synthèse 105 synthétise un signal à l'aide par exemple d'une génération d'excitation suivie par un filtrage, une transformation inverse, etc. Dans le cas du codage MIC notamment, cette synthèse est omise.107, for example following a transmission on a transmission link disposed between the coding device 106 and the decoding device 107. If we consider that no error has been introduced during the transmission, the lossless decompression block 103, optional, reconstructs the information at the output of the quantization block 101. This information is then processed by the inverse quantization block 104, which reassigns a value instead of the quantized coefficient (for example, the inverse quantization assigns a point value in the range indicated by the quantized coefficient, for example that of the middle of the interval). The synthesis block 105 synthesizes a signal using, for example, excitation generation followed by filtering, inverse transformation, etc. In the case of the MIC coding in particular, this synthesis is omitted.
Dans la suite du document, on s'intéresse plus particulièrement aux opérations réalisées au niveau de la quantification et de la compression sans perte (si elle existe) dans le dispositif de codage 106, et aux opérations correspondantes, réalisées au niveau de la décompression sans perte (si elle existe) et de la quantification inverse, dans le dispositif de décodage 107.In the remainder of the document, particular attention is given to the operations performed at the level of quantization and lossless compression (if it exists) in the coding device 106, and to the corresponding operations performed at the decompression level without loss (if it exists) and inverse quantization, in the decoding device 107.
L'invention concerne plus particulièrement les techniques de codage et décodage dites « par plans de bits ».The invention relates more particularly to coding and decoding techniques known as "bit plane".
De telles techniques sont par exemple utilisées en codage audio MPEG-4, notamment par le codeur « Bit Sliced Arithmetic Coding » (BSAC) (cf les documents « Multi-Layer Bit-Sliced Scalable Audio Coding », S. -H. Park, Y- B. Kim, Y.S. Seo, 103th AES convention, Sept. 1997, Paper 4520 et « Fine grain scalability in MPEG-4 Audio », S.-W. Kim, S.-H. Park, and Y.-B. Kim, 111th AES convention, Sept. 2001 , Paper 5401).Such techniques are for example used in MPEG-4 audio coding, in particular by the Bit Sliced Arithmetic Coding (BSAC) coder (see the documents "Multi-Layer Bit-Sliced Scalable Audio Coding", S.-H. Park, YB Kim, YS Seo, 103th AES Convention, Sept. 1997, Paper 4520 and "Fine grain scalability in MPEG-4 Audio ", S.-W. Kim, S.-H. Park, and Y.-B. Kim, 111th AES Convention, Sept. 2001, Paper 5401).
Les documents EP0884850, EP0918407, EP1431963, EP1463206 et EP1509904 décrivent également des opérations de codage audio avec quantification scalaire suivie d'un traitement par plans de bits.Documents EP0884850, EP0918407, EP1431963, EP1463206 and EP1509904 also describe audio coding operations with scalar quantization followed by bit plane processing.
Ces techniques de codage par plans de bits sont également utilisées en codage d'images ou codage vidéo MPEG-4 FGS (pour Fine Grain Granularity).These bitmap coding techniques are also used in image coding or MPEG-4 FGS (Fine Grain Granularity) video coding.
L'intérêt principal du codage par plans de bits est qu'il conduit naturellement à un codage hiérarchique du signal, qui permet au dispositif de codage de fournir des débits variés.The main advantage of bitmap coding is that it naturally leads to hierarchical coding of the signal, which allows the encoder to provide varied bit rates.
Les données binaires issues de l'opération de codage se répartissent en couches successives de taille variable d'importance décroissante. Chaque couche correspond à des codes binaires décrivant tout ou partie d'un plan de bit d'un rang donné et les bits de signes pertinents. Au cas où le débit alloué serait insuffisant pour transmettre toutes les couches, les couches d'importance inférieure, c'est-à-dire celles associées aux plans de bits de rang inférieur, sont supprimées, le débit est ainsi réduit tout en conservant les couches les plus importantes, c'est-à-dire celles associées aux plans de bits de rang supérieur.The binary data from the coding operation are divided into successive layers of variable size of decreasing importance. Each layer corresponds to binary codes describing all or part of a bit plane of a given rank and the relevant sign bits. In the event that the allocated bit rate is insufficient to transmit all the layers, the lower importance layers, that is to say those associated with the lower bit planes, are eliminated, the bit rate is thus reduced while retaining the most important layers, that is, those associated with higher-order bit planes.
Un tel codage permet ainsi au dispositif de décodage de réaliser des approximations successives du signal de plus en plus précises, qui sont reconstruites au fur et à mesure de la réception de portions supplémentaires du flux binaire en provenance du dispositif de codage et relatives à des couches de niveau inférieur aux couches précédemment reçues.Such coding thus enables the decoding device to make successive approximations of the signal of increasing precision, which are reconstructed as and when receiving additional portions of the bitstream from the coding device and relating to layers. lower level than previously received layers.
Un exemple d'opérations effectuées par un dispositif de codage par plans de bits va être décrit ci-dessous.An example of operations performed by a bitmap coding device will be described below.
Considérons un signal à coder représenté par X = [xi, ..., xN], avec N>1. Les valeurs Xi, ..., xN sont par exemple N coefficients spectraux obtenus par transformation temps-fréquence et mise en forme (division par facteur d'échelle par exemple) d'une trame temporelle de signal échantillonné. Une opération de quantification scalaire est d'abord réalisée sur le n- uplet X=[Xi, ..., XN]. L'espace de quantification choisi est par exemple ZN= { [zi, ..., zN] / ∑i e 2 , E étant l'ensemble des entiers relatifs}Let us consider a signal to be coded represented by X = [xi, ..., x N ], with N> 1. The values Xi,..., X N are, for example, N spectral coefficients obtained by time-frequency transformation and formatting (division by scale factor, for example) of a sampled signal time frame. A scalar quantization operation is first performed on the tuple X = [Xi, ..., X N ]. The quantization space chosen is for example Z N = {[zi, ..., z N ] / Σie 2, where E is the set of relative integers}
Ainsi le vecteur Y = [V1, ..., yN] est le vecteur tel que chaque coefficient de quantification y\ est le résultat de l'opération de "quantification" sur le paramètre Xi, c'est-à-dire que y\ est l'arrondi de Xi dans S . L'arrondi de Xi dans 2 pourrait être également effectué avec une "zone morte" autour de 0 (qui est communément appelée dead zone en anglais) ; on ne traite ici que le cas sans zone morte, sans perte de généralité. Une opération de décomposition par plans de bits est ensuite effectuée.Thus the vector Y = [V 1 , ..., y N ] is the vector such that each quantization coefficient y \ is the result of the "quantization" operation on the parameter Xi, that is to say that y \ is the rounding of Xi in S. The rounding of Xi in 2 could also be done with a "dead zone" around 0 (which is commonly called dead zone in English); here we treat only the case without dead zone, without loss of generality. A bit plane decomposition operation is then performed.
Tout d'abord, on distingue les signes et les valeurs absolues des coefficients de quantification, soit pour i= 1 à N, yt = (-l)s" χ «, avec Ci1 =
Figure imgf000006_0001
la
First, we distinguish the signs and the absolute values of the quantization coefficients, ie for i = 1 to N, y t = (-l) s "χ", with Ci 1 =
Figure imgf000006_0001
the
valeur a
Figure imgf000006_0002
Puis on décompose les valeurs absolues αt , avec i= 1 à N, sous forme binaire, soit : Ci1 = Ci1 KΛ 2 + • • • + αt 121 + αt 02° , où K est le nombre de plans de bits minimal nécessaire à la décomposition des valeurs absolues, soit : £ = maχ(αrrsup[ Iog2(maχî=1> >iV α,) ],l), où arrsup désigne l'arrondi à l'entier supérieur et avec Iog2(θ) = -∞ . On obtient par cette décomposition les K vecteurs (binaires)
value a
Figure imgf000006_0002
Then the absolute values α t are decomposed, with i = 1 to N, in binary form, ie: Ci 1 = Ci 1 KΛ 2 + • • • + α t 1 2 1 + α t 0 2 °, where K is the minimum number of bit planes needed to break down of the absolute values, namely: £ = maχ (αrrsup [iog 2 (maχ i = 1>> iV α,)], l), where denotes rounding arrsup in upper integer and with Iog 2 (θ) = -∞. We obtain by this decomposition the K vectors (binary)
Pk= [αu • • • αNJζ ] avec k=0, ... , K-1 , et le vecteur de signe (binaire) S = [S1 • • • sN ] .P k = [α u • • • α NJζ ] with k = 0, ..., K-1, and the sign vector (binary) S = [S 1 • • • s N ].
Ces vecteurs sont de taille N.These vectors are of size N.
Ces vecteurs Pk constituent les plans de bits déterminés pour le signalThese vectors Pk constitute the bit planes determined for the signal
X. Le vecteur Pk est appelé plan de bits de rang (ou poids) k. Le plan de bits supérieur Pκ-i est le plan des bits le plus significatif (MSB ou Most SignificantX. The vector P k is called the plane of bits of rank (or weight) k. The higher bit plane Pκ-i is the most significant bit plane (MSB or Most Significant
Bits en anglais), tandis que le plan de bits inférieur Po est le plan des bits le moins significatif (LSB ou Least Significant Bits en anglais).Bits in English), while the lower bit plane Po is the least significant bit plane (LSB or Least Significant Bits).
Le signe de zéro étant indéfini, la convention ci-dessus s, = 0 si yt = 0 peut être changée en ^ = I si y, = 0 . En général, les plans de bits obtenus Pk avec k=0,..., K-1 sont ensuite codés par sous-blocs, puis les éléments de codage obtenus sont insérés dans la séquence binaire en commençant par les éléments de codage obtenus pour le plan de bit supérieur Pκ-i, et en prenant ensuite les plans de bit successifs suivant un ordre de k décroissant. Si le débit alloué le permet, on poursuit l'insertion successive des éléments de codage pour chaque plan de bits jusqu'à ceux obtenus pour le plan de bits inférieur Po.Since the sign of zero is undefined, the above convention s, = 0 if y t = 0 can be changed to ^ = I if y, = 0. In general, the bit planes obtained Pk with k = 0, ..., K-1 are then coded by sub-blocks, then the coding elements obtained are inserted in the binary sequence starting with the coding elements obtained for the upper bit plane P κ- i , and then taking the successive bit planes in an order of k decreasing. If the allocated bit rate allows it, the successive insertion of the coding elements for each bit plane to those obtained for the lower bit plane Po is continued.
Les bits de signe S1 , i = l,---,n , ne sont insérés dans la séquence binaire que si la valeur absolue correspondante at est non nulle. Pour permettre un décodage des plans de bits, même lorsque seule une partie des plans de bits est reçue par le décodeur, le bit de signe S1 caractérisant le signe associée à la valeur a-, est inséré dans la séquence binaire dès qu'un des bits codés {αhk )k=Q κ ι vaut 1. Ainsi, lorsqu'on insère les éléments de codage relatifs au plan Pk dans la séquence binaire, on insère également des données définissant un vecteur Sk, de taille variable et qui contient les signes associées aux valeurs αι telles que αι k est le premier bit non nul parmi αι k , αι k+ι ..., αι K_γ .The sign bits S 1 , i = 1, ---, n, are inserted in the binary sequence only if the corresponding absolute value t is non-zero. To enable decoding of the bit planes, even when only a part of the bit planes is received by the decoder, the sign bit S 1 characterizing the sign associated with the value a-, is inserted into the bit sequence as soon as a coded bits {α hk ) k = Q κ 1 is equal to 1. Thus, when the coding elements relating to the plane Pk are inserted in the binary sequence, data defining a vector S k of variable size and which contains the signs associated with the values α ι such that α ι k is the first non-zero bit among α ι k , α ι k + ι ..., α ι K _ γ .
La figure 2 représente une décomposition en plans de bits pour N=8 et 7 = [-2,+7,+3,0,+l,-3,-6,+5] . Dans ce cas, K =3, P0= [0,1,1,0,1,1,0,1] ,Figure 2 shows a bit plane decomposition for N = 8 and 7 = [-2, + 7, + 3.0, + 1, -3, -6, + 5]. In this case, K = 3, P 0 = [0,1,1,0,1,1,0,1],
Pi = [1,1,1,0,0,1,1,0] , P2= [0,1,0,0,0,0,1,1] et S - [1,0,0,0,0,1,1,0] . II est souhaitable d'améliorer encore les performances de la quantification scalaire suivie par codage par plans de bits, notamment en augmentant le taux de compression, tout en minimisant la perte d'information. A cet effet, suivant un premier aspect, l'invention propose un procédé de codage d'un signal comprenant les étapes suivantes, à partir de N valeurs de signal avec N>1 :Pi = [1,1,1,0,0,1,1,0], P 2 = [0,1,0,0,0,0,1,1] and S - [1,0,0, 0,0,1,1,0]. It is desirable to further improve the performance of the scalar quantization followed by bit plane coding, in particular by increasing the compression ratio, while minimizing the loss of information. For this purpose, according to a first aspect, the invention proposes a method of encoding a signal comprising the following steps, starting from N signal values with N> 1:
- dans une étape préalable, définir un réseau de points binaire de dimension N différent de 2PZN| avec p entier positif ou nul ;in a preceding step, defining a network of bit points of dimension N different from 2 P Z N | with p integer positive or zero;
- dans une étape de quantification, déterminer, pour chacune desdites valeurs, un indice de quantification entier tel que le vecteur de dimension N, ayant pour coordonnées lesdits indices de quantification déterminés, soit élément dudit réseau de points ; - décomposer lesdits indices de quantification sous forme binaire pour former des plans de bits de longueur N ;in a quantization step, determining, for each of said values, an integer quantization index such as the vector of dimension N, having for coordinates said determined quantization indices, or element of said network of points; decomposing said quantization indices in binary form to form bit planes of length N;
- supprimer, dans au moins un desdits plans de bits, au moins un bit de position prédéfinie et former ainsi au moins un plan réduit ; - constituer une séquence binaire à partir d'au moins un plan réduit.in at least one of said bit planes, deleting at least one predefined position bit and thus forming at least one reduced plane; - Constitute a binary sequence from at least one reduced plane.
Un réseau de points est un ensemble discret de points dans l'espace RN= {ri,..., rN / n e R ensemble des réels}, qui possède une structure de groupe additif (la somme et la différence de deux vecteurs - ou points - quelconques du réseau est également un vecteur - ou point - du réseau), (cf. « Sphère Packing, Lattices and Groups », J. H. Conway and N.J.A. Sloane, Third Edition, Springer-Verlag, 1999).A network of points is a discrete set of points in the space R N = {ri, ..., r N / ne R set of reals}, which has an additive group structure (the sum and the difference of two vectors - or points - any of the network is also a vector - or point - of the network, (see "Packing Sphere, Lattices and Groups", JH Conway and Sloane NJA, Third Edition, Springer-Verlag, 1999).
Les réseaux de points trouvent de nombreuses applications dans les techniques de télécommunications : quantification vectorielle, modulation codée et cryptographie. Le réseau de points le plus simple est le réseau ZN, aussi appelé grille cartésienne ou réseau cubique. Celui-ci est associé à la quantification scalaire uniforme. D'autres exemples de réseaux sont :Point networks have many applications in telecommunications techniques: vector quantization, coded modulation and cryptography. The simplest network of points is the network Z N , also called cartesian grid or cubic network. This is associated with uniform scalar quantization. Other examples of networks are:
• Le réseau DN , en dimension N, défini par l'équation:• The network D N , in dimension N, defined by the equation:
NNOT
DN = { Y = (yi,-, yN) ≡ Z N ∑ y, est pair ι=l • Le réseau REN = 2DN , avec N pair, défini par l'équation:D N = {Y = ( yi , -, y N ) ≡ ZN Σ y, is even ι = l • The network RE N = 2D N , with N even, defined by the equation:
REN = 2DN u {2DN + (l,h - -,I)] , OÙ 2DN = {Y = (2yι,- - -,2yN )/(yι,- - -, yN ) e ZN }.RE N = 2D N u {2D N + (l, h - -, I)], where 2D N = {Y = (2y ι , - - -, 2y N ) / (y ι , - - -, y N ) e Z N }.
Des cas particuliers bien connus sont le réseau D4 appelé réseau de Schafli et le réseau RE^ appelé réseau de Gosset.Well-known particular cases are the network D 4 called Schafli network and the network RE ^ called the Gosset network.
Un réseau de points de dimension N, noté Λ , est dit entier si ses points ont des coordonnées entières, autrement dit si Λ c Z* . Une classe particulière de réseaux entiers est la classe des réseaux de points binaires. Ceux-ci admettent comme sous-réseau 2PZN , où 2PZN =A network of points of dimension N, noted Λ, is called integer if its points have integer coordinates, in other words if Λc Z *. A particular class of whole networks is the class of bit-point networks. These admit as sub-network 2 P Z N , where 2 P Z N =
Y ^ y1, ,Δ yN ) /Ky1, , yN> ^ ^ / . c'est-à-dire qu'il existe p entier supérieur ou égal à 0 tel que l'ensemble 2PZN c≡ A . Un procédé selon l'invention tire ainsi avantageusement parti de la structure algébrique des réseaux de points binaires. Au moins un bit est éliminé dans au moins un plan de bit, sans perte d'information utile. Le taux de compression obtenu est donc plus important qu'un codage par plans de bits classique, et ceci en réduisant la perte d'information.Y ^ y 1 ,, Δ y N ) / Ky 1 ,, y N > ^ ^ /. c 'es t ie there p integer greater than or equal to 0 such that the assembly 2 P Z N A C≡. A method according to the invention thus advantageously takes advantage of the algebraic structure of the bit-point networks. At least one bit is eliminated in at least one bit plane without loss of useful information. The compression ratio obtained is therefore greater than conventional bitmap coding, and this by reducing the loss of information.
Utiliser une quantification dans un réseau de points binaire permet de tirer parti des valeurs de gain granulaire offertes par ces réseaux, ce qui réduit la perte d'information. Le gain granulaire mesure I' "efficacité" de la discrétisation de l'espace correspondant à un réseau de points. La performance de quantification, mesurée en terme d'erreur quadratique moyenne, est liée à une quantité appelée "moment généralisé d'ordre 2" du réseau (cf. J. H. Conway and N.J.A. Sloane, Sphère Packing, Lattices and Groups, Third Edition, Springer-Verlag, 1999 ). Pour un réseau entier Λ , le moment généralisé d'ordre 2, noté G(A) , est un invariant caractérisant Λ ; il représente l'erreur granulaire de quantification dans Λ (c'est-à-dire l'erreur de quantification obtenue lorsque la source uniforme est codée sans "surcharge").Using quantization in a bit-point network makes it possible to take advantage of the granular gain values offered by these networks, which reduces the loss of information. The granular gain measures the "efficiency" of the discretization of the space corresponding to a network of points. The quantization performance, measured in terms of mean squared error, is related to a quantity called "generalized second order moment" of the network (see JH Conway and NJA Sloane, Sphere Packing, Lattices and Groups, Third Edition, Springer -Verlag, 1999). For an entire network Λ, the generalized moment of order 2, denoted G (A), is a characteristic invariant Λ; it represents the granular quantization error in Λ (that is, the quantization error obtained when the uniform source is coded without "overloading").
On définit alors le gain granulaire comme : γg (A) = 10 log10 -^- . Par exemple,We then define the granular gain as: γ g (A) = 10 log 10 - ^ -. For example,
G(A) γg (D4) = 0.42 dB et γg (RE,) = 0.62 dB.G (A) γ g (D 4 ) = 0.42 dB and γ g (RE) = 0.62 dB.
Dans un mode de réalisation, le nombre de bits supprimé est fonction du nombre de bits redondants d'au moins un code détecteur/correcteur en bloc déterminé de longueur N. Ce nombre de bits est choisi inférieur ou égal au nombre de bits redondants d'au moins un code détecteur/correcteur en bloc déterminé de longueur N.In one embodiment, the number of bits deleted is a function of the number of redundant bits of at least one determined block detector / corrector code of length N. This number of bits is chosen to be less than or equal to the number of redundant bits of at least one detector / corrector code block determined length N.
Cette disposition permet d'éliminer des bits redondants des plans de bits du fait de la structure algébrique du réseau binaire utilisé pour la quantification. Le taux de compression réalisé est encore plus élevé sans perte d'information supplémentaire.This arrangement makes it possible to eliminate redundant bits from the bit planes because of the algebraic structure of the bit network used for the quantization. The compression ratio achieved is even higher without loss of additional information.
Dans un mode de réalisation, à partir de M blocs de N valeurs, avec M strictement supérieur à 1 : - pour chaque bloc de valeurs, on trouve N indices de quantification ;In one embodiment, from M blocks of N values, with M strictly greater than 1: for each block of values, there are N quantization indices;
- on décompose l'ensemble des M blocs de N indices en plans de bits de longueur M * N. Cette décomposition en M blocs permet de coder conjointement un nombre de valeurs plus grand que N.the set of M blocks of N indices is broken down into bit planes of length M * N. This decomposition in M blocks makes it possible to jointly code a number of values greater than N.
Dans un mode de réalisation, on supprime, dans chaque plan de bits d'une pluralité desdits plans de bits, un nombre respectifs de bits, pour former une pluralité de plans de bits réduits, le nombre de bits supprimés dans chaque plan de bits étant inférieur ou égal au nombre de bits redondants d'un code détecteur et/ou correcteur d'erreurs en bloc déterminé de longueur N associé audit plan de bits. On constitue une séquence binaire de codage du signal à l'aide d'éléments de codage définis en fonction au moins des ensembles de bits réduits.In one embodiment, in each bit plane of a plurality of said bit planes, a respective number of bits is omitted to form a plurality of reduced bit planes, the number of bits deleted in each bit plan being less than or equal to the number of redundant bits of a determined detector code and / or block error corrector of length N associated with said bit plane. A binary coding sequence of the signal is formed using coding elements defined according to at least reduced bit sets.
Cette disposition permet de supprimer les bits redondants pour plusieurs plans de bits, associés à des codes correcteurs d'erreur respectifs, c'est-à-dire tels que les plans de bits sont des mots de code de codes détecteurs et/ou correcteurs d'erreurs. Le nombre de bits supprimés sans perte d'information est ainsi augmenté.This arrangement makes it possible to eliminate the redundant bits for several bit planes, associated with respective error correcting codes, that is to say such that the bit planes are code code words that are detectors and / or correctors. errors. The number of bits deleted without loss of information is thus increased.
Suivant un second aspect, l'invention propose un module de codage d'un signal comprenant : un quantificateur adapté pour déterminer, pour chacune de N valeurs définies en fonction du signal, un indice de quantification entier tel que le vecteur de dimension N, ayant pour coordonnées lesdits indices de quantification déterminés, soit élément d'un réseau de points binaire déterminé, de dimension N différent de 2PZN| avec p entier positif ou nul ;According to a second aspect, the invention proposes a coding module of a signal comprising: a quantizer adapted to determine, for each of N values defined as a function of the signal, an integer quantization index such as the vector of dimension N, having for coordinates, said determined quantization indices, ie element of a determined bit-point network, of dimension N different from 2 P Z N | with p integer positive or zero;
- des moyens de décomposition binaire adaptés pour décomposer lesdits indices de quantification sous forme binaire pour former des plans de bits de longueur N ;binary decomposition means adapted to decompose said quantization indices in binary form to form bit planes of length N;
- des moyens de suppression adaptés pour supprimer, dans au moins un desdits plans de bits, au moins un bit de position prédéfinie et former ainsi au moins un plan réduit ; - des moyens pour constituer une séquence binaire à partir d'au moins un plan réduit. Suivant un troisième aspect, l'invention propose un programme d'ordinateur à installer dans un module de codage d'un signal, ledit programme comprenant des instructions pour mettre en œuvre, lors d'une exécution du programme par des moyens de traitement dudit module les étapes suivantes : - dans une étape de quantification, déterminer, pour chacune de N valeurs définies en fonction du signal, un indice de quantification entier tel que le vecteur de dimension N, ayant pour coordonnées lesdits indices de quantification déterminés, soit élément d'un réseau de points binaire de dimension N différent de 2PZN| avec p entier positif ou nul dudit réseau de points ;suppression means adapted to eliminate, in at least one of said bit planes, at least one predefined position bit and thus form at least one reduced plane; means for constituting a binary sequence from at least one reduced plane. According to a third aspect, the invention proposes a computer program to be installed in a coding module of a signal, said program comprising instructions for implementing, during an execution of the program by means of processing said module. the following steps: in a quantization step, determining, for each of N values defined as a function of the signal, an integer quantization index such as the vector of dimension N, having as co-ordinates said determined quantization indices, ie element of a binary array of points of dimension N different 2 P Z N | with p positive or zero integer of said network of points;
- décomposer lesdits indices de quantification sous forme binaire pour former des plans de bits de longueur N ;decomposing said quantization indices in binary form to form bit planes of length N;
- supprimer, dans au moins un desdits plans de bits, au moins un bit de position prédéfinie et former ainsi au moins un plan réduit ; - constituer une séquence binaire à partir d'au moins un plan réduit.in at least one of said bit planes, deleting at least one predefined position bit and thus forming at least one reduced plane; - Constitute a binary sequence from at least one reduced plane.
Suivant un quatrième aspect, l'invention propose un procédé de décodage d'une séquence binaire comprenant des éléments de codage, en vue de restituer N valeurs de définition d'un signal, selon lequel :According to a fourth aspect, the invention proposes a method for decoding a binary sequence comprising coding elements, with a view to restoring N definition values of a signal, according to which:
- en fonction d'éléments de codage compris dans la séquence binaire et relatifs à au moins un plan de bits, déterminer un ensemble de bits relatifs audit plan de bits ;according to coding elements included in the binary sequence and relating to at least one bit plane, determining a set of bits relative to said bit plane;
- compléter ledit ensemble de bits avec un nombre de bits supplémentaires dont les valeurs respectives sont définies en fonction des bits dudit ensemble de bits et d'un code détecteur et/ou correcteur d'erreurs en blocs déterminé, de dimension N, associé audit plan de bits, pour déterminer le plan de bits donné de dimension N ;- Completing said set of bits with a number of additional bits whose respective values are defined as a function of the bits of said set of bits and a specific detector code and / or block error corrector, of dimension N, associated with said plane bits, to determine the given bit plane of dimension N;
- calculer N indices de quantification en fonction d'au moins les N bits respectifs du plan de bits déterminé, tels que le vecteur de dimension N, ayant pour coordonnées lesdits indices de quantification calculés, soit élément d'un réseau de points binaire déterminé de dimension N différent de 2PZN| avec p entier positif ou nul ;calculating N quantization indices as a function of at least the respective N bits of the determined bit plane, such as the dimension vector N, having as coordinates said computed quantization indices, either element of a determined bit-point network of dimension N other than 2 P Z N | with p integer positive or zero;
- déterminer N valeurs de définition du signal en fonction d'au moins les N indices de quantification. Suivant un cinquième aspect, l'invention propose un module de décodage d'une séquence binaire, comprenant :determining N signal definition values as a function of at least the N quantization indices. According to a fifth aspect, the invention proposes a module for decoding a binary sequence, comprising:
- des moyens pour, en fonction d'éléments de codage compris dans la séquence binaire et relatifs à au moins un plan de bits, déterminer un ensemble de bits relatifs audit plan de bits ; - des moyens pour compléter ledit ensemble de bits avec un nombre de bits supplémentaires dont les valeurs respectives sont définies en fonction des bits dudit ensemble de bits et d'un code détecteur et/ou correcteur d'erreurs en blocs déterminé, de dimension N, associé audit plan de bits, pour déterminer le plan de bits de dimension N ; - des moyens pour calculer N indices de quantification en fonction d'au moins les N bits respectifs du plan de bits déterminé, tels que le vecteur de dimension N, ayant pour coordonnées lesdits indices de quantification calculés, soit élément d'un réseau de points binaire déterminé de dimension N différent de 2PZN| avec p entier positif ou nul ;means for, as a function of coding elements included in the binary sequence and relating to at least one bit plane, determining a set of bits relating to said bit plane; means for completing said set of bits with a number of additional bits whose respective values are defined as a function of the bits of said set of bits and of a determined N-dimensional block error detector and / or detector code, associated with said bit plane, for determining the bit plane of dimension N; means for calculating N quantization indices as a function of at least the respective N bits of the determined bit plane, such as the dimension vector N, having as coordinates said computed quantization indices, being element of a network of points determined binary of dimension N different from 2 P Z N | with p integer positive or zero;
- des moyens pour déterminer N valeurs de définition du signal en fonction d'au moins les N indices de quantification.means for determining N signal definition values as a function of at least the N quantization indices.
D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels : la figure 3 représente des blocs de traitement d'un module de codage dans un mode de réalisation de l'invention ; la figure 4 représente des blocs de traitement d'un module de décodage dans un mode de réalisation de l'invention ; la figure 5 représente une séquence binaire constituée par le dispositif de codage de la figure 1 dans un mode de réalisation de l'invention ; la figure 6 est un organigramme représentant des étapes d'un procédé de décodage dans un mode de réalisation de l'invention ; la figure 7 représente une séquence binaire constituée par le dispositif de codage de la figure 1 dans un mode de réalisation de l'invention ; - la figure 8 est un organigramme représentant des étapes d'un procédé de décodage dans un mode de réalisation de l'invention.Other features and advantages of the invention will become apparent on reading the description which follows. This is purely illustrative and should be read with reference to the accompanying drawings, in which: FIG. 3 shows processing blocks of a coding module in one embodiment of the invention; FIG. 4 represents processing blocks of a decoding module in one embodiment of the invention; FIG. 5 represents a binary sequence constituted by the coding device of FIG. 1 in one embodiment of the invention; Fig. 6 is a flowchart showing steps of a decoding method in an embodiment of the invention; FIG. 7 represents a binary sequence constituted by the coding device of FIG. 1 in one embodiment of the invention; FIG. 8 is a flow chart showing steps of a decoding method in one embodiment of the invention.
L'invention tire avantageusement partie de certaines particularités propres aux réseaux binaires. Comme décrit dans « Coset codes ; I. Introduction and geometrical classification », Forney, G. D., IEEE Transactions on Information Theory, Volume 34, Issue 5, Part 1 , Sept. 1988 Page(s) :1123 - 1151 ), un réseau binaire Λo en dimension N incluant strictement un sous-réseau 2P ZA' , avec p strictement positif, est associé à un ou plusieurs codes correcteurs/détecteurs d'erreurs en bloc. Chacun de ces codes détecteur/correcteur d'erreur est de la forme [N, k, d] où N est la longueur ou dimension du code égale à la dimension du réseau Λo , k est le nombre de symboles indépendants au sein des N symboles constituant un mot du code considéré et d est la distance de Hamming au sein du code. Les valeurs k et d varient selon les codes. Pour un tel réseau binaire Λo , il existe j entier positif déterminé, tel que chaque élément du réseau binaire peut s'écrire sous la forme :The invention advantageously takes advantage of certain peculiarities specific to binary networks. As described in "Coset codes; I. Introduction and geometrical classification ", Forney, GD, IEEE Transactions on Information Theory, Volume 34, Issue 5, Part 1, Sept. 1988 Page (s): 1123 - 1151), a binary network Λ o in N dimension including strictly a sub-network 2 P Z A ', with p strictly positive, is associated with one or more correction codes / block error detectors. Each of these detector / error correction codes is of the form [N, k, d] where N is the length or dimension of the code equal to the network dimension Λ o , k is the number of independent symbols within the N symbols constituting a word of the code considered and d is the Hamming distance within the code. The values k and d vary according to the codes. For such a binary network Λ o , there exists j determined positive integer, such that each element of the binary network can be written in the form:
2j+pyj+p + 2j+p"1yj+p-i + ...2j+1yj+i +2Vj +2j"1yH + - --2yi+y0, où yj+p, yj+p-i, ...,yj+i sont éléments de ZN et y, yj.i,...,yi et y0 sont des mots de codes de codes correcteurs d'erreurs respectifs [N, kj, dj], [N, kj.i, dj-i],... [N, k0, do]. Un codage par plans de bit selon l'invention comprend une opération de quantification affectant un vecteur de quantification Y = [yi, ..., y ] élément du réseau Λo à un N-uplet de valeurs X=[Xi, ..., XN]- Une telle quantification suivie d'une décomposition en plans de bits donne lieu à un plan P0 de rang 0 qui est un mot de code d'un code détecteur/correcteur d'erreurs [N, k0, do], et plus généralement si j >0, donne lieu à des plans de rang 0 à j Po à Pj qui sont des mots de code de codes détecteurs/correcteurs d'erreurs respectifs [N, k0, d0], ..., [N, kj, dj. J 2 + p y p + j + 2 j + p "1 + pi + yj 2 ... j + 1 yj + i + j +2 2Vj" 1 y H + - --2yi + y 0, where y j + p , yj + p- i, ..., yj + i are elements of Z N and y, yj.i, ..., yi and y 0 are respective error-correcting code words [ N, kj, dj], [N, kj.i, dj-i], ... [N, k 0 , do]. A bit plane coding according to the invention comprises a quantization operation affecting a quantization vector Y = [yi, ..., y] element of the network Λ o to an N-tuplet of values X = [Xi, .. ., X N ] - Such quantification followed by a decomposition into bit planes gives rise to a plane P 0 of rank 0 which is a code word of a detector / error correction code [N, k 0 , do], and more generally if j> 0, gives rise to planes of rank 0 to J Po to Pj which are respective detector / error-correcting code code words [N, k 0 , d 0 ], ..., [N, kj, dj .
Par exemple, le réseau binaire DN peut s'écrire sous la forme : D/v = 2ZN +[N, N-1 ,2] = J2)/ + c/ y G Zw ;c ε [iV,JV -l,2]}. Le code [N, N-1 ,2] est un code de parité dont les mots de codes comprennent N bits, parmi lesquels N-1 bits sont indépendants et un bit (dit bit de parité) est déduit de la valeur des N-1 autres bits. Ce bit de parité est donc redondant.For example, the binary array D N can be written as: D / v = 2Z N + [N, N-1, 2] = J2) / + c / y GZ w ; c ε [iV, JV - l, 2]}. The code [N, N-1, 2] is a parity code whose codewords comprise N bits, of which N-1 bits are independent and a bit (called parity bit) is deduced from the value of the N-bits. 1 other bits. This parity bit is redundant.
Le réseau binaire REN peut s'écrire sous la forme : REN= 4ZN + 2[N, N-1 , 2] + [N, 1 , N]The RE N binary network can be written in the form: RE N = 4Z N + 2 [N, N-1, 2] + [N, 1, N]
= {φy + 2c + d I y e ZN ;c e [_V,_V - 1,2];J e [_V,l,_V]}- Le code [N, N-1 ,2] est un code de parité dont les mots de codes comprennent N bits, dont N-1 sont indépendants et un bit est redondant (c'est- à-dire qu'à partie de N-1 bits, on peut déterminer sans perte le Nième bit). Le code [N, 1 , N] est un code à répétition dont les mots de codes comprennent N bits, dont 1 est indépendant et N-1 sont redondants. Les codes correcteurs/détecteurs d'erreurs en bloc considérés sont tels que le nombre de bits redondants dans le code est strictement supérieur à 0, car le réseau binaire est différent d'un réseau de la forme 2PZN.= {φy + 2c + d I ye Z N ; ce [_V, _V - 1,2]; J e [_V, l, _V]} - The code [N, N-1, 2] is a parity code whose code words comprise N bits, of which N-1 are independent and one bit is redundant (that is to say that, as part of N-1 bits, the Nth bit can be determined without loss). The code [N, 1, N] is a repetition code whose codewords comprise N bits, of which 1 is independent and N-1 are redundant. The corrective codes / block error detectors considered are such that the number of redundant bits in the code is strictly greater than 0, because the bit network is different from a network of the form 2 P Z N.
Un procédé de codage selon l'invention comprend en outre au niveau du codeur une étape de réduction du nombre de bits, comprenant la suppression d'un ou plusieurs bits redondants à des positions prédéfinies dans au moins un plan de bits correspondant à un mot de code d'un code détecteur/correcteur d'erreurs. Le nombre de bits supprimés est fonction du nombre de symboles indépendants au sein des N symboles constituant un mode du code. Il est fixé égal ou inférieur au nombre de symboles redondants (ou dépendants) dans un mot dudit code détecteur/correcteur d'erreurs. Par exemple, dans le cas envisagé ci-dessus où des plans Po à Pj de rang 0 à j sont des mots de codes détecteurs/correcteurs d'erreurs, avec j >0, on procédera à une réduction du nombre de bits dans les différents plans P0 à Pj Un tel codage permet ainsi de réduire le nombre de bits nécessaire pour coder le signal, sans aucune perte d'information supplémentaire.An encoding method according to the invention further comprises at the encoder a step of reducing the number of bits, comprising the deletion of one or more redundant bits at predefined positions in at least one bit plane corresponding to a word of code of a detector code / error corrector. The number of bits deleted is a function of the number of independent symbols within the N symbols constituting a mode of the code. It is set equal to or less than the number of redundant (or dependent) symbols in a word of said detector / error corrector code. For example, in the case envisaged above where planes Po to Pj of rank 0 to j are detector code words / error correctors, with j> 0, we will proceed to a reduction of the number of bits in the different planes P 0 to P j Such coding thus makes it possible to reduce the number of bits necessary to code the signal, without any loss of additional information.
Au niveau du décodeur recevant des éléments de codage relatifs à au moins un plan de bits dans lequel un ou des bits ont été supprimés selon un procédé de codage dans un mode de réalisation de l'invention, ces bits supprimés sont déduits, dans une étape d'extension du plan de bits, en fonction des bits reçus et du code détecteur/correcteur d'erreur auquel appartient le plan de bits considéré.At the level of the decoder receiving coding elements relating to at least one bit plane in which one or more bits have been deleted according to an encoding method in one embodiment of the invention, these deleted bits are deduced, in a step bit plane extension, as a function of the bits received and the detector / error correction code to which belongs the bit plane considered.
Considérons en référence à la figure 3, un codeur 1 dans un mode de mise en œuvre de l'invention.Consider with reference to Figure 3, an encoder 1 in one embodiment of the invention.
Ce codeur 1 comprend notamment un bloc 2 de quantification associé à un espace de quantification qui est un réseau binaire Λo , un bloc 3 de décomposition en plan de bits, un bloc 4 de réduction de plan(s) de bits inférieur(s), un bloc 5 de compression sans perte et un bloc 6 de constitution de séquence binaire.This encoder 1 comprises in particular a quantization block 2 associated with a quantization space which is a bit network Λ o , a bit plane decomposition block 3, a lower bit plane reduction block (s) 4 , a lossy compression block 5 and a binary sequence constitution block 6.
Le réseau binaire Λo de dimension N inclut un sous-réseau 2P ZN , avec p strictement positif et le réseau binaire Λo est différent de W ZN .The binary network Λ o of dimension N includes a sub-network 2 P Z N , with p strictly positive and the binary network Λ o is different from WZ N.
Dans un premier mode de réalisation, choisissons comme réseau binaire Λo le réseau DN. Considérons un signal à coder représenté par X = [X1, ..., xN], avecIn a first embodiment, choose as the binary network Λ o the network D N. Consider a signal to be coded represented by X = [X 1 , ..., x N ], with
N>1. Les valeurs Xi, ..., XN sont par exemple N coefficients spectraux obtenus par transformation temps-fréquence et mise en forme (division par facteur d'échelle par exemple) d'une trame temporelle de signal échantillonnée.N> 1. The values Xi,..., X N are for example N spectral coefficients obtained by time-frequency transformation and formatting (division by scale factor, for example) of a sampled signal time frame.
Une opération de quantification est d'abord réalisée par le bloc 2 de quantification sur le n-uplet X=[Xi, ..., XN], afin de déterminer l'élément Y = [yi, ..., yN] de DN qui est le plus proche voisin de X dans DN.A quantization operation is first performed by the quantization block 2 on the tuple X = [Xi, ..., X N ], in order to determine the element Y = [yi, ..., y N ] of D N which is the nearest neighbor of X in D N.
Dans un mode de réalisation, la recherche du plus proche voisin dans DN est effectuée suivant l'algorithme rapide pour " Dn" (avec n=N) décrit dans l'article « Fast quantizing and decoding and algorithms for lattice quantizers and codes », Conway,J., Sloane, N., IEEE Trans. on Information Theory, Vol. 28, Issue 2, Mar 1982, pages 227 - 232. Cet élément Y est un vecteur de quantification de dimension N comprenant N coefficients de quantification yu i=1 à N.In one embodiment, the closest neighbor search in D N is performed according to the fast algorithm for "D n " (with n = N) described in the article "Fast quantizing and decoding and algorithms for lattice quantizers and codes Conway, J., Sloane, N., IEEE Trans. on Information Theory, Vol. 28, Issue 2, Mar. 1982, pages 227-232. This element Y is a vector of N-dimensional quantization comprising N quantization coefficients y u i = 1 to N.
Une opération de décomposition par plans de bits est ensuite effectuée par le bloc 3 de décomposition en plans de bits. De même que décrit précédemment, on distingue les signes et les valeurs absolues des coefficients de quantifications, soit pour i= 1 à N, y, = (-iy' x a,A bit plane decomposition operation is then performed by the bitmap decomposition block 3. As previously described, the signs and the absolute values of the coefficients of quantification are distinguished, ie for i = 1 to N, y, = (-iy 'x a,
[1 si y, < 0 avec a = y la valeur absolue de Vi et s = <[1 if y, <0 with a = y the absolute value of Vi and s = <
[0 si yt > 0[0 if y t > 0
Puis on décompose les valeurs absolues at , avec i= 1 à N, sous forme binaire, soit : at = aι KΛ 2 + ••• + aιX 21 + aιfi 2° , où K est le nombre de plans de bits minimal nécessaire à la décomposition des valeurs absolues, soit : K = maχ(arrmp[ Iog2(maχî=1 ; jJv α,) ],l), où arrsup désigne l'arrondi à l'entier supérieur et avec Iog2(θ) = -∞ .Then we break down the absolute values at t , with i = 1 to N, in binary form, that is: a t = a ι KΛ 2 + ••• + a ιX 2 1 + a ιfi 2 °, where K is the number of minimal bit planes necessary for the decomposition of the absolute values, ie: K = maχ (stop [Iog 2 (maχ = 1; jJv α,)], l), where arrsup is the rounding to the higher integer and with Iog 2 (θ) = -∞.
On obtient par cette décomposition les K plans de bits Pk= Va1 k •••aN k] avec k = 0,--, K -I , et le vecteur de signes S = [S1 • • • sv ] (on notera que dans des modes de réalisation, les plans de bits peuvent être obtenus en fonction de décompositions binaires alternatives, suite par exemple à des opérations réalisées sur les valeurs aι telles que définies ci-dessus ; par exemple, dans un mode de réalisation, on peut fixer Pk=[l-αl i ,-- l -αΛ, J , ou une représentation en complément à 2, ou encore un codage de Gray sur les plans de bits successifs).We obtain by this decomposition the K bit planes Pk = Va 1 k ••• a N k ] with k = 0, -, K -I, and the vector of signs S = [S 1 • • • sv] ( it will be noted that in embodiments, the bit planes can be obtained as a function of alternative binary decompositions, for example following operations performed on the values a ι as defined above, for example, in one embodiment , we can fix P k = [l-α li , - l -α Λ , J, or a complementary representation to 2, or a Gray coding on the successive bit planes).
Les K plans de bits Pk, avec k = 0,---,K -l et le vecteur de signes S sont ensuite fournis au bloc 4 de réduction de plan(s) de bits inférieur(s).The K bit planes P k , with k = 0, ---, K-1 and the sign vector S are then supplied to the lower bit plan (s) block 4.
Etant donné que Λo est le réseau DN et que par conséquent tout plan de bits P0 de rang 0 calculé lors de l'opération de quantification sur DN est un mot du code de parité [N, N-1 ,2], le bloc 4 supprime N-(N-I )=1 bit du plan P0 reçu.Since Λ o is the network D N and therefore any bit plan P 0 of rank 0 calculated during the quantization operation on D N is a word of the parity code [N, N-1, 2] , block 4 suppresses N- (NI) = 1 bit of the plane P 0 received.
Dans un mode de réalisation, le dernier bit du plan Po (correspondant à aN 0 ) est supprimé. Dans un autre mode de réalisation, une convention différente est retenue, et un bit dans une position autre prédéfinie est supprimé). Cette suppression ne s'accompagne d'aucune perte d'information puisque un nombre de bits égal au nombre de bits redondants dans le plan de rang 0 a été supprimé. Le plan de bits de rang 0 réduit, noté Po*, contenant N-1 bits, est alors fourni au bloc 5 de compression sans perte, ainsi que les plans de bits Pi àIn one embodiment, the last bit of the plane Po (corresponding to a N 0 ) is deleted. In another embodiment, a convention different is retained, and a bit in a different predefined position is deleted). This deletion is not accompanied by any loss of information since a number of bits equal to the number of redundant bits in the rank plane 0 has been removed. The bit plane of reduced rank 0, denoted Po * , containing N-1 bits, is then supplied to the block 5 of lossless compression, as well as the bit planes Pi to
Pκ-i contenant N bits chacun et le vecteur de signes S.Pκ-i containing N bits each and the sign vector S.
Ce bloc 5 de compression sans perte permet de convertir les plans de bits (y compris le plan réduit Po ) sous forme d'une séquence binaire. Dans le mode de réalisation considéré, il code un par un les plans de bits obtenus Po* et Pk avec k = l,---,K -l, par exemple à l'aide d'un codage arithmétique contextuel (cf. « Arithmetic Coding for Data Compression », P. G. Howard andThis lossless compression block 5 converts the bit planes (including the reduced plane Po) into a binary sequence. In the embodiment considered, it codes one by one the obtained bit planes Po * and P k with k = l, ---, K-1, for example using a contextual arithmetic coding (cf. Arithmetic Coding for Data Compression, PG Howard and
J.S. Vitter, Proc. IEEE, vol. 82, no. 6, June.1994) et il obtient les éléments de codage respectifs L(P0 *) et L(Pk) avec k = l,---,K -l . Les éléments de codage obtenus, L(P0 ) et L(Pk) avec k = l,---,K -l, sont ensuite fournis avec le vecteur de signes S au bloc 6 de constitution de séquence binaire.JS Vitter, Proc. IEEE, vol. 82, no. 6, June, 1994) and he obtains the respective coding elements L (P 0 * ) and L (P k ) with k = 1, ---, K -1. The obtained coding elements, L (P 0 ) and L (P k ) with k = 1, ---, K-1, are then supplied with the sign vector S to the block 6 of bit sequence construction.
Ce bloc 6 de constitution de séquence binaire constitue alors une séquence binaire Seq1 relative aux éléments de codage déterminés pour le signal X = [xi, ..., XN] considéré.This binary sequence constitution block 6 then constitutes a binary sequence Seq1 relating to the coding elements determined for the signal X = [xi, ..., XN] considered.
En référence à la figure 5, il insère en début de séquence binaire Seq1 à l'aide d'un nombre de bits fixe, par exemple égal à 4, le nombre K de plans de bits utilisé, qui est alors égal à 15 au maximum (si le nombre K=O, le codage est alors terminé). Puis les éléments de codage L(Pκ-i), déterminés par le bloc 5 de compression sans perte pour le plan Pκ-i, sont insérés dans la séquence binaire Seq1 , suivis du vecteur partiel de signes données Sκ-i (cette étape n'a lieu que si K est supérieur ou égal à 2).With reference to FIG. 5, at the beginning of the binary sequence Seq1, it inserts, using a fixed number of bits, for example equal to 4, the number K of bit planes used, which is then equal to at most 15. (if the number K = 0, the coding is then finished). Then the coding elements L (P κ- i), determined by the lossless compression block 5 for the plane P κ- i , are inserted into the binary sequence Seq1, followed by the partial vector of given signs Sκ-i (this step only takes place if K is greater than or equal to 2).
Le vecteur partiel de signes Sκ-i comprend les signes associés aux valeurs at telles que le bit aι K_ι est non nul, avec i=1 à N.The partial vector of signs Sκ-i comprises the signs associated with the values a t such that the bit a ι K _ ι is non-zero, with i = 1 to N.
Puis les éléments de codage L(Pκ-2), déterminés par le bloc 5 de compression sans perte pour le plan Pκ.2, sont insérés à la suite des éléments indiqués ci-dessus dans la séquence Seq1 , suivis du vecteur partiel de signesThen the L (Pκ-2) coding elements, determined by the lossless compression block 5 for the P κ plane. 2 , are inserted as a result of the elements indicated above in the Seq1 sequence, followed by the partial vector of signs
Sκ-2-Sκ-2-
Le vecteur partiel de signes Sκ-2 contient les signes associées aux valeurs at telles que aι K 2 est le premier bit non nul parmi aι K_2 et aι K_γ . Puis selon un ordre de k décroissant, de k=K-2 à 1 , les éléments de codage L(Pk), déterminés par le bloc 5 de compression sans perte pour le plan Pk, sont insérés, suivis du vecteur partiel de signes Sk.The partial vector of signs Sκ-2 contains the signs associated with the values a t such that a ι K 2 is the first non-zero bit among a ι K _ 2 and a ι K _ γ . Then according to an order of decreasing k, from k = K-2 to 1, the coding elements L (P k ), determined by the lossless compression block 5 for the plane Pk, are inserted, followed by the partial vector of signs. Sk.
Le vecteur partiel de signes Sk contient les signes associées aux valeurs at telles que αα est le premier bit non nul parmi aι k , aιMi ..., aι K_v . Enfin, les éléments de codage L(Po ), déterminés par le bloc 5 de compression sans perte pour le plan réduit Po*, sont insérés, suivis du vecteur partiel de signes So.The partial vector of signs Sk contains the signs associated with the values a t such that α α is the first non-zero bit among a ι k , a ιMi ..., a ι K _ v . Finally, the coding elements L (Po), determined by the lossless compression block 5 for the reduced plane Po * , are inserted, followed by the partial vector of signs So.
Le vecteur partiel de signes So contient les signes associées aux valeurs at telles que aιfi est le premier bit non nul parmi aιfi , aιX ..., aι KΛ . Dans un mode de réalisation, un flux binaire Φ comprenant la séquence binaire Seq1 est transmis à destination d'un décodeur 10.The partial vector of signs So contains the signs associated with the values a t such that a ιfi is the first non-zero bit among a ιfi , a ιX ..., a ι KΛ . In one embodiment, a bit stream Φ comprising the binary sequence Seq1 is transmitted to a decoder 10.
Un codage selon ce premier mode de réalisation de l'invention permet ainsi d'éliminer 1 bit parmi les N bits du plan Po, sans aucune perte d'information, puisque seule l'information redondante a été supprimée. Considérons à présent, en référence à la figure 4, un décodeur 10 dans un mode de mise en œuvre de l'invention. On suppose ici que le flux binaire Φ a été transmis sans erreur binaire et sans réduction de débit ou perte de trame. Le décodeur reçoit donc la même information Φ que l'information Φ envoyée par le codeur. Ce décodeur 10 comprend notamment un bloc 11 de décompression sans perte, un bloc 12 d'extension de plan(s) de bits inférieurs et un bloc 13 de quantification inverse.An encoding according to this first embodiment of the invention thus makes it possible to eliminate 1 bit among the N bits of the plane Po, without any loss of information, since only the redundant information has been suppressed. Let us now consider, with reference to FIG. 4, a decoder 10 in one embodiment of the invention. It is assumed here that the bit stream Φ has been transmitted without binary error and without rate reduction or frame loss. The decoder therefore receives the same information Φ as the information Φ sent by the coder. This decoder 10 includes in particular a lossless decompression block 11, a block 12 of lower bit plane (s) and a block 13 of inverse quantization.
Le flux binaire Φ comprenant la séquence binaire Seq1 est reçu par le décodeur 10. Le décodeur 10 est adapté pour mette en œuvre les étapes itératives suivantes, en référence à la figure 6 et à l'aide des blocs 11 et 12. Le décodeur 10 lit d'abord le nombre K de plans de bits indiqué au début de la séquence Seq1.The bit stream Φ comprising the binary sequence Seq1 is received by the decoder 10. The decoder 10 is adapted to carry out the following iterative steps, with reference to FIG. 6 and with the aid of the blocks 11 and 12. The decoder 10 first reads the number K of bit planes indicated at the beginning of the Seq1 sequence.
Dans une étape d'initialisation 1000, la valeur [0,...,0] est affectée aux vecteurs Y' et S' de dimension N et la valeur K-1 est affectée à la variable k entière.In an initialization step 1000, the value [0, ..., 0] is assigned to the vectors Y 'and S' of dimension N and the value K-1 is assigned to the variable k integer.
Le décodeur 10 extrait de la séquence binaire Seq1 reçue les éléments de codage relatifs aux plans de bits successifs, du plan de bits supérieur au plan de bits inférieurs, et les fournit au bloc 11 de décompression sans perte.The decoder 10 extracts from the bit sequence Seq1 received the coding elements relative to the successive bit planes, from the bit plane higher than the lower bit plane, and supplies them to the lossless decompression block 11.
Dans un premier temps, le bloc 11 de décompression sans perte décode les éléments de codage reçus correspondant aux éléments de codage envoyés L(Pκ-i) relatifs au plan de bits Pκ-i . On suppose ici qu'il n'y a pas d'erreurs binaires sur le canal et de plus que le canal a une capacité suffisante pour transmettre toute la séquence binaire de codage. Ainsi le bloc 11 de décompression sans perte détermine le plan de bits Pκ-i . Dans une étape 1004, il actualise la valeur de Y' en multipliant par 2 la valeur Y' courante et en lui ajoutant le vecteur correspondant au plan de bitsIn a first step, the lossless decompression block 11 decodes the received coding elements corresponding to the sent coding elements L (P κ- i) relating to the bit plane Pκ-i. It is assumed here that there are no binary errors on the channel and furthermore the channel has sufficient capacity to transmit the entire coding bit sequence. Thus the lossless decompression block 11 determines the bit plane P κ- i. In a step 1004, it updates the value of Y 'by multiplying by 2 the current value Y' and adding to it the vector corresponding to the bit plane
Pκ-iPκ-i
Les données de signes indiquées dans le vecteur partiel de signes Sκ-i lui aussi extrait de la séquence Seq1 sont exploitées pour mettre à jour le vecteur de signes S' (étape 1005), en y ajoutant les signes contenus dans le vecteur partiel de signes Sκ-i- Par exemple, si Sκ-i indique un indice i, avec i compris entre 1 et N, tel que le signe de a-, est positif, alors la ieme coordonnée de S' est maintenue à 0. si Sκ-i indique un indice i, avec i compris entre 1 et N, tel que le signe de a-, est négatif, alors la ieme coordonnée de S' est actualisée à 1.The sign data indicated in the partial vector of signs Sκ-i also extracted from the sequence Seq1 are exploited to update the vector of signs S '(step 1005), by adding the signs contained in the partial vector of signs. Sκ-i- For example, if Sκ-i indicates an index i, with i between 1 and N, such that the sign of a-, is positive, then the i th coordinate of S 'is kept at 0. if Sκ -i indicates an index i, with i between 1 and N, such that the sign of a-, is negative, then the i th S coordinate is updated to one.
La variable k est ensuite décrémentée de 1 (étape 1007), puis les étapes précédentes sont réitérées tant que k est différent de 0 (test de l'étape 1003).The variable k is then decremented by 1 (step 1007), then the previous steps are repeated until k is different from 0 (test of step 1003).
Lorsque k atteint la valeur 0, le bloc 11 de décompression sans perte reçoit les éléments de codage L(P0 ) et les décompresse. Il détermine ainsi le plan de bits Po*. Le bloc 12 d'extension de plan(s) de bits inférieur(s) reconstitue, dans une étape 1009, le Nième bit de Po à partir du plan de bit P0 * reçu comprenant N-1 bits.When k reaches the value 0, the lossless decompression block 11 receives the coding elements L (P 0 ) and decompresses them. It thus determines the bit plane Po * . The lower bit plane extension block (s) reconstitutes, in a step 1009, the Nth bit of Po from the received bit plane P 0 * comprising N-1 bits.
Dans le mode de réalisation considéré, le plan P0 est reconstitué en ajoutant un bit à la fin du plan de bits réduit P0 *, soit P0 = [Po*, b], où b représente la parité de Po*, c'est-à-dire est égale à la somme des N-1 bits de Po* modulo 2. Ceci résulte du fait que dans DN, le plan Po correspond à un mot de code du code à parité [N, N-1 , 2] (on suppose ici que le code à parité est à parité paire). Dans un autre mode de réalisation, dans lequel le bit supprimé aurait été situé à une position autre qu'à la fin du plan de bits Po, le bit ajouté aurait été inséré à la position correspondant à la suppression.In the embodiment considered, the plane P 0 is reconstituted by adding a bit at the end of the reduced bit plane P 0 * , ie P 0 = [Po * , b], where b represents the parity of Po * , c that is, is equal to the sum of the N-1 bits of Po * modulo 2. This results from the fact that in D N the plane Po corresponds to a code word of the parity code [N, N-1 , 2] (it is assumed here that the parity code is even parity). In another embodiment, in which the deleted bit would have been located at a position other than at the end of the bit plane Po, the added bit would have been inserted at the position corresponding to the deletion.
Puis dans une dernière itération de l'étape 1004, la valeur de Y' est actualisée en multipliant par 2 la valeur Y' courante et en lui ajoutant le vecteur correspondant au plan de bits Po Les données de signes indiquées dans le vecteur partiel des signes So sont exploitées pour mettre à jour le vecteur de signes S' (étape 1005).Then, in a last iteration of step 1004, the value of Y 'is updated by multiplying by 2 the current value Y' and by adding to it the vector corresponding to the bit plane Po The data of signs indicated in the partial vector of the signs So are exploited to update the sign vector S '(step 1005).
A ce stade, le vecteur de signes S' ainsi calculé est égal au vecteur de signe S considéré lors du codage. Le vecteur de quantification Y considéré lors du codage est ainsi retrouvé dans une étape 1010, en fonction des valeurs de signes indiquées par le vecteur S' et de la valeur du vecteur Y' finalement déterminées. Si Y = [yi, - --, YN]1 Y' = [y'i, ..., y'N] et S' = [Si, ..., sN], alors yt = (-l)s- x y\ .At this stage, the sign vector S 'thus calculated is equal to the sign vector S considered during the coding. The quantification vector Y considered during the coding is thus found in a step 1010, as a function of the values of signs indicated by the vector S 'and the value of the vector Y' finally determined. If Y = [yi, - -, YN] 1 Y '= [y'i, ..., y'N] and S' = [Si, ..., s N ], then y t = (- l) s - xy \.
Puis ce vecteur de quantification Y est fourni au bloc 13 pour une opération de quantification inverse.Then this quantization vector Y is supplied to block 13 for an inverse quantization operation.
Dans un deuxième mode de réalisation, l'espace de quantification Λo choisi est le réseau REN- Les étapes mises en œuvre dans un tel cas par le codeur 1 et le décodeur 10 sont décrites ci-dessous. Le signal à coder est représenté par X = [xi, ..., xN], avec N pair > 2, qui sont par exemple N coefficients spectraux obtenus par transformation temps-fréquence d'une trame temporelle de signal échantillonnée. Une opération de quantification dans l'espace REN est d'abord réalisée par le bloc 2 de quantification sur le n-uplet X=[Xi, ..., XN], afin de déterminer le vecteur de quantification Y2 = [y2i, ..., V2N], élément de REN et qui est le plus proche voisin de X. Dans un mode de réalisation, la recherche du plus proche voisin dansIn a second embodiment, the quantization space Λ o chosen is the network RE N - The steps implemented in such a case by the encoder 1 and the decoder 10 are described below. The signal to be encoded is represented by X = [xi, ..., x N ], with N even> 2, which are for example N spectral coefficients obtained by time-frequency transformation of a sampled signal time frame. A quantization operation in the space RE N is first performed by the quantization block 2 on the tuple X = [Xi, ..., X N ], in order to determine the quantization vector Y 2 = [ y 2 i, ..., V 2N ], element of RE N and which is the nearest neighbor of X. In one embodiment, the search for the nearest neighbor in
REN est effectuée suivant le principe de l'algorithme rapide pour "Eg" décrit dans l'article « Fast quantizing and decoding and algorithms for lattice quantizers and codes », Conway,J., Sloane, N., IEEE Trans. on Information Theory, Vol. 28, Issue 2, Mar 1982, pages 227 - 232. Une opération de décomposition par plans de bits est ensuite effectuée par le bloc 3 de décomposition en plans de bits, en fonction des N coefficients de quantification y2i, ..., y2N déterminés.RE N is carried out according to the principle of the fast algorithm for "Eg" described in the article "Fast quantizing and decoding and algorithms for lattice quantizers and codes", Conway, J., Sloane, N., IEEE Trans. on Information Theory, Vol. 28, Issue 2, Mar. 1982, pp. 227-232. A bit plane decomposition operation is then performed by the bit plane decomposition block 3, as a function of the N quantization coefficients y 2 i, ..., y2N determined.
De même que décrit précédemment, on distingue les signes et les valeurs absolues des coefficients de quantifications, soit pour i= 1 à N, y2, = (-ï)σ- x a,As previously described, the signs and the absolute values of the coefficients of quantification are distinguished, ie for i = 1 to N, y 2 , = (-i) σ -xa,
1 si y < 0 avec a, = y la valeur absolue de y2i et σt =1 if y <0 with a, = y the absolute value of y 2 i and σ t =
0 si y,, ≥ 00 if y ,, ≥ 0
Puis on décompose les valeurs absolues at , avec i= 1 à N, sous forme binaire, soit : at = auKï_ι2κ'1~ι + --- + aul2ι + aι 02° , où .ST2 est le nombre de plans de bits minimal nécessaire à la décomposition des valeurs absolues, soit : K2 = maχ(α/rsup[ Iog2(maχî=1 N at) ],l), où arrsup désigne l'arrondi à l'entier supérieur et avec Iog2(θ) = -∞ .Then we decompose the absolute values at t , with i = 1 to N, in binary form, that is: a t = a uKi _ ι 2 κ'1 ~ ι + --- + a ul 2 ι + a ι 0 2 ° , where ST 2 is the minimum number of bit planes necessary for the decomposition of absolute values, ie: K 2 = maχ (α / rsup [Iog 2 (maχ = 1 N a t )], l), where arrsup is the rounding up to the integer and with Iog 2 (θ) = -∞.
On obtient par cette décomposition les K2 plans de bits πk=[«u ---aN k ] avec k = 0,---, .ST2 - 1 , et le vecteur de signe ∑ = [σι ---σN] .We obtain by this decomposition the K 2 bit planes π k = [" u --- a N k ] with k = 0, ---, .ST 2 - 1, and the vector of sign Σ = [σ ι - --σ N ].
Les K2 plans de bits l~lk, avec k = 0,---,K2 -l et le vecteur de signes Σ sont ensuite fournis au bloc 4 de réduction de plan(s) de bits inférieur(s).K 2 bit planes l ~ l k , with k = 0, ---, K 2 -l and the sign vector Σ are then provided to the lower bit plan (s) block 4.
Etant donné que l'espace de quantification est le réseau REN, tout plan de bits FIo de rang 0 calculé lors de l'opération de quantification sur REN est un mot du code de répétition [N, 1 ,N] et tout plan de bits l~li de rang 1 calculé lors de l'opération de quantification sur REN est un mot du code de parité [N, N-1 ,2]. Par conséquent, quand l'espace de quantification est le réseau REN, le bloc 4 de réduction de plan(s) de bits inférieur(s) du codeur 1 est adapté pour supprimer N-(N-I )=1 bit du plan l~li de rang 1 reçu et pour supprimer N-1 bits du plan Fl0 de rang 0 reçu. Dans le mode de réalisation considéré, le dernier bit du plan l~liSince the quantization space is the network RE N , any bit plane FIo of rank 0 calculated during the quantization operation on RE N is a word of the repetition code [N, 1, N] and any plane of bits l ~ li of rank 1 calculated during the quantization operation on RE N is a word of the parity code [N, N-1, 2]. Therefore, when the quantization space is the RE N network , the lower bit plane reduction block (s) of the encoder 1 is adapted to suppress N- (NI) = 1 bit of the plane l ~ li of rank 1 received and to delete N-1 bits of the plane Fl 0 of rank 0 received. In the embodiment considered, the last bit of the plane l ~ li
(correspondant à aN l ) est supprimé. Dans un autre mode de réalisation, une convention différente est retenue, et un bit dans une position autre est supprimé. Le plan de bits de rang 1 ainsi réduit est noté l~li*. Il contient N-1 bits.(corresponding to a N l ) is deleted. In another embodiment, a different convention is retained, and a bit in another position is deleted. The bit plane of rank 1 thus reduced is noted l ~ li * . It contains N-1 bits.
Dans un mode de réalisation, les N-1 derniers bits du plan FIo sont supprimés. Dans un autre mode de réalisation, une convention différente est retenue, et des bits dans des positions autres sont supprimés.In one embodiment, the last N-1 bits of the FIo plane are deleted. In another embodiment, a different convention is retained, and bits in other positions are deleted.
Le plan de bits de rang 0 ainsi réduit, noté Fl0 *, contient donc 1 bitThe bit plane of rank 0 thus reduced, denoted Fl 0 * , thus contains 1 bit
( «i.o λ("I.o λ
Les plans de bits de rang 0 et 1 réduits, Fl0 * et Fl/, sont alors fournis au bloc 5 de compression sans perte, ainsi que le vecteur de signes Σ et les plans de bits Fl2 à Flκ-i contenant N bits chacun.The bit planes of rank 0 and 1 reduced, Fl 0 * and Fl /, are then provided to the block 5 of lossless compression, as well as the sign vector Σ and the bit planes Fl 2 to Flκ-i containing N bits. each.
De la même façon que vue précédemment en référence au premier mode de réalisation, le bloc 5 de compression sans perte code alors un par un les plans de bits réduits FIo* et Fh*, et les plans de bits FIk avec k = 2,- - - ,K2 - l et obtient les éléments de codage respectifs L(FI0 *), L(FlT) et L(Flk) avecfc = 2,- - - , J- 2 - I .In the same way as seen previously with reference to the first embodiment, the lossless compression block 5 then codes one by one the reduced bit planes FIo * and Fh * , and the bit planes FI k with k = 2, - - -, K 2 - 1 and obtain the respective coding elements L (FI 0 * ), L (FlT) and L (Fl k ) with fc = 2, - - -, J - 2 - I.
Les éléments de codage obtenus sont ensuite fournis avec le vecteur de signes Σ au bloc 6 de constitution de séquence binaire.The obtained coding elements are then provided with the sign vector Σ at block 6 of bit sequence constitution.
Ce bloc 6 de constitution de séquence binaire constitue alors une séquence binaire Seq2 relative aux éléments de codage déterminés pour le signal X = [xi , ..., XN] considéré. En référence à la figure 7, il indique en début de séquence binaire Seq2 à l'aide d'un nombre de bits fixe, le nombre K2 de plans de bits considéré.This binary sequence constitution block 6 then constitutes a binary sequence Seq2 relating to the coding elements determined for the signal X = [xi, ..., XN] considered. With reference to FIG. 7, it indicates at the beginning of the binary sequence Seq2 using a fixed number of bits the number K 2 of bit planes considered.
Le vecteur partiel de signes ∑k contient les signes associées aux valeurs at telles que aι k est le premier bit non nul parmi aι k , aι k+ι ..., aι :,RK, -l ' pour k = 0,---,K2 -l . Les éléments de codage L(πK2-i) déterminés par le bloc 5 de compression sans perte pour le plan πK2-i de rang K2-I , sont insérés dans la séquence binaire Seq2, suivis du vecteur partiel de signes E^2-1.The partial vector of signs Σ k contains the signs associated with the values a t such that a ι k is the first non-zero bit among a ι k , a ι k + ι ..., a ι:, R K, -l ' for k = 0, ---, K 2 -l. The coding elements L (π-2 K i) determined by the block 5 of lossless compression to the plane π 2 K-i of rank K 2 -I, are inserted into the bit sequence Seq2, followed by the partial vector signs E ^ 2-1 .
Puis les éléments de codage L(πK2-i) déterminés pour le plan πK2-i sont insérés à la suite des éléments indiqués ci-dessus dans la séquence Seq2, suivis du vecteur partiel de signes ∑Ki_2.Then the coding elements L (π K 2 -i) determined for the plane π K 2 -i are inserted following the elements indicated above in the sequence Seq2, followed by the partial vector of signs Σ Ki _ 2 .
Puis selon un ordre de k décroissant, de k=K2-2 à 2, les éléments de codage L(πk) déterminés par le bloc 5 de compression sans perte pour le plan rik Sont insérés, suivis du vecteur partiel de signes ∑k. Les éléments de codage L(FIi ) déterminés pour le plan de rang 1 réduit sont insérés dans la séquence Seq2, suivis du vecteur partiel de signes ∑i et enfin, les éléments de codage L(FI0 ) déterminés pour le plan de rang 0 réduit sont insérés, suivis du vecteur partiel de signes ∑o.Then according to an order of k decreasing from k = K 2 -2 to 2, the coding elements L (π k ) determined by the lossless compression block 5 for the plane rik are inserted, followed by the partial vector of signs Σ k. The coding elements L (FIi) determined for the reduced rank plane 1 are inserted in the sequence Seq2, followed by the partial vector of signs Σi and finally the coding elements L (FI 0 ) determined for the rank plane 0 reduced are inserted, followed by the partial vector of signs Σo.
Dans un mode de réalisation, un flux binaire Φ2 comprenant la séquence binaire Seq2 est transmis à destination d'un décodeur 10.In one embodiment, a bit stream Φ 2 comprising the binary sequence Seq2 is transmitted to a decoder 10.
Un codage selon ce premier mode de réalisation de l'invention permet ainsi d'éliminer 1 bit parmi les N bits du plan FIi et N-1 bits parmi les N bits du plan FIo, sans aucune perte d'information, puisque seule l'information redondante a été supprimée. Le flux binaire Φ2 comprenant la séquence binaire Seq2 est ensuite reçu par le décodeur 10.An encoding according to this first embodiment of the invention thus makes it possible to eliminate 1 bit among the N bits of the FIi plane and N-1 bits among the N bits of the FIo plane, without any loss of information, since only 1 redundant information has been removed. The bit stream Φ 2 comprising the binary sequence Seq 2 is then received by the decoder 10.
Dans ce deuxième mode de réalisation, le décodeur 10 est adapté pour mettre en œuvre les étapes itératives suivantes à l'aide des blocs 11 et 12. Ces étapes sont similaires à celles décrites ci-dessus en référence à la figure 6, si ce n'est pour celles qui relèvent des plans de rang 0 et 1.In this second embodiment, the decoder 10 is adapted to implement the following iterative steps using the blocks 11 and 12. These steps are similar to those described above with reference to FIG. is for those who are in the rank 0 and 1 plans.
Le décodeur 10 lit d'abord le nombre de plans de bits K2 indiquée au début de la séquence Seq2.The decoder 10 reads first the number of bit planes K 2 indicated at the beginning of the Seq2 sequence.
Puis en référence à la figure 8, dans une étape d'initialisation 2000, la valeur [0,...,0] est affectée aux vecteurs Y2 et Σ de dimension N et la valeur K2- 1 est affectée à une variable k entière. Le décodeur 10 extrait de la séquence binaire Seq2 reçue les éléments de codage relatifs aux plans de bits successifs, du plan de bits supérieur au plan de bits inférieurs, et les fournit au bloc 11 de décompression sans perte.Then with reference to FIG. 8, in an initialization step 2000, the value [0,..., 0] is assigned to the vectors Y 2 and Σ of dimension N and the value K 2 - 1 is assigned to a variable k whole. The decoder 10 extracts from the bit sequence Seq 2 received the coding elements relating to the successive bit planes, from the bit plane higher than the lower bit plane, and supplies them to the lossless decompression block 11.
Dans une étape 2002, le bloc 11 de décompression sans perte reçoit ainsi les éléments de codage L(πK2-i) (on considère ici qu'il n'y a pas d'erreurs binaires sur le canal de transmission et de plus que le canal a une capacité suffisante pour transmettre toute la séquence binaire de codage) et les décompresse. Il détermine ainsi le plan de bits I~lκ2-i-In a step 2002, the lossless decompression block 11 thus receives the coding elements L (π K 2 -i) (it is considered here that there are no binary errors on the transmission channel and moreover that the channel has sufficient capacity to transmit all the coding binary sequence) and decompresses them. It thus determines the bit plane I ~ lκ2-i-
Puis, dans une étape 2004, si K2-I est différent de 0 et de 1 , il actualise la valeur de Y2 en multipliant par 2 la valeur Y2 courante (vecteur nul) et en lui ajoutant le vecteur correspondant au plan de bits I~lκ2-i Dans une étape 2005, les données de signes indiquées dans le vecteur partiel de signe ∑κ ^ lui aussi extrait de la séquence Seq2 sont exploitées pour mettre à jour le vecteur de signes Σ. La variable k est ensuite décrémentée de 1 si elle est différente de 0Then, in a step 2004, if K 2 -I is different from 0 and 1, it updates the value of Y 2 by multiplying by 2 the current value Y 2 (null vector) and by adding to it the vector corresponding to the plane of bits I ~ lκ2-i In a step 2005, the sign data indicated in the partial vector sign Σ κ ^ also extracted from the Seq2 sequence are used to update the sign vector Σ. The variable k is then decremented by 1 if it is different from 0
(étape 2007), puis les étapes précédentes 2002, 2004, 2005 et 2007 sont réitérées tant que k est différent de 1 (test de l'étape 2003).(step 2007), then the previous steps 2002, 2004, 2005 and 2007 are reiterated as long as k is different from 1 (test of step 2003).
Lorsque k atteint la valeur 1 , dans une étape 2002, le bloc 11 de décompression sans perte reçoit les éléments de codage L(FI1 ) et les décompresse. Il détermine ainsi le plan de bits réduit Fl1 *.When k reaches the value 1, in a step 2002, the lossless decompression block 11 receives the coding elements L (FI 1 ) and decompresses them. It thus determines the bit map reduced Fl 1 *.
Le bloc 12 d'extension de plan(s) de bits inférieur(s) reconstitue, dans une étape 2008, le Nième bit de Fl1 à partir du plan de bit Fl1 * réduit reçu comprenant N-1 bits.Block 12 plane extension (s) of lower bits (s) reconstructs, in a step 2008, the Nth bit of Fl 1 from the bit plane Fl 1 * Reduced received comprising N-1 bits.
Dans le mode de réalisation considéré, le plan Fh est reconstitué en ajoutant un bit à la fin du plan de bits réduit Fh*, soit FIi = [Fh*, b'], où b' représente la parité de π/, c'est-à-dire est égale à la somme des N-1 bits de FIi* modulo 2. Ceci résulte du fait que dans REN, le plan FIi correspond à un mot de code du code à parité [N, N-1 , 2] (on suppose ici que le code à parité est à parité paire). Puis dans une nouvelle itération de l'étape 2004, la valeur de Y2 est actualisée en multipliant par 2 la valeur Y' courante et en lui ajoutant le vecteur correspondant au plan de bits Fl1 Les données de signes indiquées dans le vecteur partiel de signes ∑i sont exploitées pour mettre à jour le vecteur de signes Σ (étape 2005).In the present embodiment, the Fh plane is reconstituted by adding a bit at the end of the reduced bit-plane Fh * or FIi = [Fh *, b '], where b' is the parity π / c ' that is to say is equal to the sum of the N-1 bits of FIi * modulo 2. This results from the fact that in RE N the plane FIi corresponds to a code word of the parity code [N, N-1, 2] (it is assumed here that the parity code is even parity). Then a new iteration of step 2004, the Y 2 value is updated by multiplying the value by 2 Y running and adding the vector corresponding to the bit plane Fl 1 Signs of data shown in partial vector of signs Σi are exploited to update the sign vector Σ (step 2005).
Puis k est décrémenté de 1 et atteint ainsi la valeur 0. Dans une étape 2002, le bloc 11 de décompression sans perte reçoit les éléments de codage L(FI0 ) et les décompresse. Il détermine ainsi le plan de bits réduit Fl0 *.Then k is decremented by 1 and thus reaches the value 0. In a step 2002, the lossless decompression block 11 receives the L (FI 0 ) coding elements and decompresses them. It thus determines the reduced bit plane Fl 0 * .
Le bloc 12 d'extension de plan(s) de bits inférieur(s) reconstitue, dans une étape 2009, les N-1 derniers bits de Fl0 * à partir du plan de bit réduit Fl0 * reçu comprenant 1 bit.The lower bit plan extension block (s) reconstitutes, in a step 2009, the last N-1 bits of F1 0 * from the reduced bit plane F1 0 * received comprising 1 bit.
Dans le mode de réalisation considéré, le plan FIo est reconstitué en dupliquant N fois Fl0 *, soit Fl0= [Fl0 *, Fl0 *..., Fl0 ]. Ceci résulte du fait que dans REN, le plan FIo correspond à un mot de code du code à répétition [N, 1 , N].In the embodiment considered, the plane FIo is reconstituted by duplicating N times Fl 0 * , ie Fl 0 = [Fl 0 * , Fl 0 * ..., Fl 0 ]. This results from the fact that in RE N , the plane FIo corresponds to a code word of the repetition code [N, 1, N].
Puis dans une dernière itération de l'étape 2004, la valeur de Y2 est actualisée en multipliant par 2 la valeur Y2 courante et en lui ajoutant le vecteur correspondant au plan de bits FIo Les données de signes indiquées dans le vecteur partiel de signes ∑o sont exploitées pour mettre à jour le vecteur de signes Σ (étape 2005).Then in a last iteration of the step 2004, the value of Y 2 is updated by multiplying by 2 the current value Y 2 and by adding to it the vector corresponding to the bit plane FIo The data of signs indicated in the partial vector of signs Σo are exploited to update the sign vector Σ (step 2005).
Le vecteur de quantification Y2 est ainsi retrouvé dans une étape 2010, en fonction des valeurs de signes indiquées par le vecteur de signes Σ et de la valeur du vecteur Y2 finalement déterminées. Si Y2 = [ y,..., y2ιN ], F2 =[ J2 1,..., J2JV ] et Σ = [σi, ..., ON], alors yu = (-l)σ- χ y2>1 .The quantification vector Y 2 is thus found in a step 2010, as a function of the sign values indicated by the sign vector Σ and the value of the vector Y 2 finally determined. If Y 2 = [y , ..., y 2ιN ], F 2 = [J 2 1 , ..., J 2JV ] and Σ = [σi, ..., O N ], then y u = ( -l) σ - χ y 2> 1 .
Dans une étape 2011 , on vérifie la concordance de parité entre le plan de rang 1 FIi et le vecteur de signes Σ. Si K2>1 , Flo*=[1] et si la parité de Σ est impaire, alors le plan FIi de rang 1 est remplacé par [Fh*, b'], où b' est le complément du bit b' calculé précédemment. Les valeurs de Y2 et Y2 sont alors recalculées en conséquence. Cette disposition permet de respecter les contraintes algébriques du réseau REN.In a step 2011, we check the parity agreement between the rank plane 1 FIi and the sign vector Σ. If K 2 > 1, Flo * = [1] and if the parity of Σ is odd, then the plane FIi of rank 1 is replaced by [Fh * , b '], where b' is the complement of the bit b 'calculated previously. The values of Y 2 and Y 2 are then recalculated accordingly. This arrangement makes it possible to respect the algebraic constraints of the network RE N.
Il a été considéré ci-dessus dans les deux modes de réalisation décrits ci-dessus qu'aucune information n'était perdue lors de la phase de transmission. Néanmoins, en cas de perte d'information, un procédé de décodage selon l'invention peut néanmoins être mis en œuvre sur la base des informations reçues effectivement par le décodeur 10. Des techniques classiques pour gérer et/ou restituer l'information perdue peuvent en outre être mise en œuvre.It has been considered above in the two embodiments described above that no information was lost during the transmission phase. Nevertheless, in the event of loss of information, a decoding method according to the invention can nevertheless be implemented on the basis of the information actually received by the decoder 10. Techniques conventional ways to manage and / or restore lost information may further be implemented.
Au cas où une partie de la séquence binaire doit être tronquée avant transmission, par exemple en raison d'un débit insuffisant disponible sur la liaison de transmission, une portion de la séquence binaire Seq1 , comprenant des plans de bits de niveau inférieur, est supprimée du flux. Cette portion comprend les éléments de codage les moins significatifs. Le décodage est alors été fait de manière classique au niveau du décodeur, en ne prenant en compte que les plans de bits de niveau supérieur effectivement reçus dans la séquence binaire et les parties reçues des plans de bits inférieurs.In the case where a part of the bit sequence has to be truncated before transmission, for example due to an insufficient bit rate available on the transmission link, a portion of the bit sequence Seq1, comprising lower level bit planes, is deleted. of the flow. This portion includes the least significant coding elements. The decoding is then done in a conventional manner at the decoder, taking into account only the higher level bit planes actually received in the bit sequence and the received parts of the lower bit planes.
Un procédé de codage selon l'invention permet la mise en œuvre d'un codage hiérarchique du signal.An encoding method according to the invention allows the implementation of a hierarchical coding of the signal.
Tout ou partie des traitements mis en œuvre par le codeur 1 sont dans un mode de réalisation mis en œuvre suite à l'exécution d'instructions de programme d'ordinateur sur des moyens de calcul du codeur 1.All or some of the processes implemented by the encoder 1 are in one embodiment implemented following the execution of computer program instructions on the calculation means of the encoder 1.
De même, tout ou partie des traitements mis en œuvre par le décodeur 10 sont dans un mode de réalisation mis en œuvre suite à l'exécution d'instructions de programme d'ordinateur sur des moyens de calcul du décodeur 10. Dans le premier mode de mise en œuvre de l'invention décrit ci-dessus dans l'espace de quantification DN, on a supprimé un bit sur les N bits compris dans le plan de bits de rang 0. Par exemple si N=280 (correspondant par exemple au nombre d'échantillons dans une bande utile 50-7000Hz du spectre d'un signal audio échantillonné à 16kHz sur 20 ms), on supprime un bit sur N=280 bits compris dans le plan de bits de rang 0 après quantification dans l'espace D28o-Similarly, all or some of the processing implemented by the decoder 10 are in one embodiment implemented following the execution of computer program instructions on calculating means of the decoder 10. In the first mode implementation of the invention described above in the quantization space D N , a bit was deleted on the N bits included in the bit plane of rank 0. For example if N = 280 (corresponding for example to the number of samples in a useful band 50-7000Hz of the spectrum of an audio signal sampled at 16kHz over 20ms), one bit is removed on N = 280 bits included in the bit plane of rank 0 after quantization in the space D 28 o-
Dans un autre mode de réalisation, on répartit les N valeurs du signal Xi,..., XN en p blocs de n valeurs (N=p x n) et on met en œuvre un procédé selon l'invention sur chaque ensemble de valeurs de taille n. Par exemple, dans le cas N=280, on choisit le nombre de blocs p égal à 14 et la dimension n de chaque bloc égale à 20. La quantification a alors lieu dans l'espace de quantification D∑o- On supprime alors 1 bit dans chaque plan de rang 0 calculé pour chaque bloc. On supprime ainsi 14 bits sur les 280 bits correspondant aux 14 plans de bits de rang 0.In another embodiment, the N values of the signal Xi,..., X N are distributed in p blocks of n values (N = pxn) and a method according to the invention is implemented on each set of values of size n. For example, in the case N = 280, we choose the number of blocks p equal to 14 and the dimension n of each block equal to 20. The quantization then takes place in the quantization space D.sub.0. bit in each plane of rank 0 calculated for each block. 14 bits are thus removed from the 280 bits corresponding to the 14 bit planes of rank 0.
Dans un tel cas, la séquence binaire comprend successivement les éléments de codage pour chacun des p=14 plans de bits de rang maximum, suivis des éléments de codage pour les 14 plans de bits de chaque rang selon un ordre de rang décroissant et se termine par les éléments de codage pour les 14 plans de bits réduits de rang 0.In such a case, the bit sequence successively comprises the coding elements for each of the p = 14 bit planes of maximum rank, followed by the coding elements for the 14 bit planes of each rank in a descending order of order and terminates by the coding elements for the 14 reduced bit planes of rank 0.
Ces éléments de codage pour les 14 plans de bits réduit de rang 0 comprennent par exemple successivement les éléments de codage définis selon l'invention pour le plan de rang 0 du premier bloc réduit selon l'invention, puis les éléments de codage définis selon l'invention pour le plan de rang 0 réduit du second bloc etc, jusqu'aux éléments de codage définis selon l'invention pour le plan de rang 0 réduit du quatorzième bloc.These coding elements for the 14 reduced bit planes of row 0 comprise, for example successively, the coding elements defined according to the invention for the row plane 0 of the first reduced block according to the invention, and then the coding elements defined according to FIG. invention for the reduced rank plane 0 of the second block, etc., to the coding elements defined according to the invention for the reduced rank plane 0 of the fourteenth block.
Ainsi augmenter le nombre de sous-blocs en diminuant la dimension n de l'espace Dn considéré (n étant aussi la dimension de chaque plan de bits) permet d'augmenter le nombre de bits à supprimer sans perte d'information.Thus increasing the number of sub-blocks by decreasing the dimension n of the space D n considered (n being also the size of each bit plane) makes it possible to increase the number of bits to be deleted without loss of information.
Néanmoins, les gains granulaires des réseaux Dn ou REn augmentent avec la dimension n jusqu'à un maximum, puis décroîssent. Ainsi le nombre M de blocs choisis résulte en réalité d'un compromis permettant un nombre de bits supprimés satisfaisant tout en garantissant un gain granulaire suffisant.Nevertheless, the granular gains of the networks D n or RE n increase with the dimension n up to a maximum, then decrease. Thus the number M of selected blocks is actually a compromise allowing a number of bits deleted satisfactory while ensuring a sufficient granular gain.
Dans un autre mode de réalisation, on considère M blocs comprenant chacun N valeurs définies en fonction du signal. On définit des plans de bits de dimension N pour chacun des M blocs, puis on effectue pour chacun des blocs les réductions de plans de bits. La séquence binaire peut alors comprendre une seule fois le nombre de plans de bits considéré commun aux M blocs, puis les éléments de codage pour les M plans de bits de rang maximum, etc jusqu'aux éléments de codage pour les M plans de bits de rang 0 réduit.In another embodiment, M blocks each comprising N defined values as a function of the signal are considered. N-dimensional bit planes are defined for each of the M blocks, then bit plane reductions are performed for each of the blocks. The bit sequence can then comprise only once the number of bit planes considered common to the M blocks, then the coding elements for the M bit planes of maximum rank, etc. to the coding elements for the M bit planes. rank 0 reduced.
Dans un mode de réalisation, la représentation binaire des plans de bits peut être modifiée de façon réversible avant codage sans perte , par exemple par représentation en complément à 2 ou encore par codage de Gray.In one embodiment, the binary representation of the bit planes can be reversibly modified before lossless coding, for example by complement representation at 2 or else by Gray coding.
Dans un mode de réalisation, les plans de bits supérieurs qui ne sont pas des mots de code détecteur/correcteur d'erreur, sont codés conjointement par une technique telle que le codage stack-run de séquences d'entiers qui est décrit dans l'article « Stack-Run Image coding », M. J. Tsai, J. D. Villasenor et F. Chen, IEEE Trans. Circuits Syst. Video Technol., vol. 6, pp. 519-521 , Oct. 1996.In one embodiment, the higher bit planes that are not detector / error correction code words are jointly encoded by a technique such as stack-run integer sequence coding which is described in the article "Stack-Run Image Coding", MJ Tsai, JD Villasenor and F. Chen, IEEE Trans. Syst. Circuits Video Technol., Vol. 6, pp. 519-521, Oct. 1996.
Dans un mode de réalisation, seules les coordonnées binaires de rang 0 à jo, 3ij, i=1 à N et j=0 à jo, avec jo strictement inférieur à K, sont calculées pour déterminer les plans de bits associés à des codes détecteurs/correcteurs d'erreurs. Et pour chaque yh on calcule ensuite la différence entre la valeur absolue de
Figure imgf000028_0001
et le terme al ]o 2}° + ••• + aιX2ι + aι 02° . Cette différence est ensuite codée avant insertion dans une séquence binaire. Seuls les plans de bits de rangs inférieurs 0 à jo sont alors insérés dans la séquence binaire.
In one embodiment, only the binary coordinates of rank 0 to jo, 3ij, i = 1 to N and j = 0 to jo, with jo strictly less than K, are calculated to determine the bit planes associated with detector codes. / error correctors. And for each y h the difference between the absolute value of
Figure imgf000028_0001
and the term a 1] o 2 } ° + ••• + a ιX 2 ι + a ι 0 2 °. This difference is then encoded before insertion into a binary sequence. Only bit planes of lower ranks 0 to jo are then inserted in the bit sequence.
Dans les modes de réalisation décrit, un nombre maximum de bits, égal au nombre de bits dépendants dans un mot du code détecteur/correcteur considéré, étaient supprimés dans le plan de bits associé au code détecteur/correcteur sans perte d'information. Bien sûr, selon les modes de réalisation, un nombre de bits inférieur au nombre maximum peut être supprimé. In the embodiments described, a maximum number of bits, equal to the number of dependent bits in a word of the detector / corrector code considered, were deleted in the bit plane associated with the detector / corrector code without loss of information. Of course, depending on the embodiments, a number of bits less than the maximum number may be deleted.

Claims

REVENDICATIONS
1. Procédé de codage d'un signal, comprenant les étapes suivantes, à partir de N valeurs définies en fonction du signal, avec N>1 :A method of coding a signal, comprising the following steps, starting from N values defined according to the signal, with N> 1:
- dans une étape préalable, définir un réseau de points binaire (Λo) de dimension N différent de 2PZN| avec p entier positif ou nul ; - dans une étape de quantification, déterminer, pour chacune desdites valeurs, un indice de quantification entier tel que le vecteur de dimension N (Y), ayant pour coordonnées lesdits indices de quantification déterminés, soit élément dudit réseau de points ;in a preceding step, defining a bit-point network (Λo) of dimension N different from 2 P Z N | with p integer positive or zero; in a quantization step, determining, for each of said values, an integer quantization index such as the vector of dimension N (Y), having as its coordinates said determined quantization indices, or element of said network of points;
- décomposer lesdits indices de quantification sous forme binaire pour former des plans de bits (Po, ... , Pκ-i ) de longueur N ;decomposing said quantization indices in binary form to form bit planes (Po,..., Pκ-i) of length N;
- supprimer, dans au moins un (P0) desdits plans de bits, au moins un bit de position prédéfinie et former ainsi au moins un plan réduitin at least one (P 0 ) of said bit planes, removing at least one predefined position bit and thus forming at least one reduced plane;
(Po*) ;(Po * );
- constituer une séquence binaire (Seq1) à partir d'au moins un plan réduit (P0 *).- Constitute a binary sequence (Seq1) from at least one reduced plane (P 0 * ).
2. Procédé selon la revendication 1 , selon lequel le nombre de bits supprimés, pour former un plan réduit (Po ), est inférieur ou égal au nombre de bits redondants d'un code détecteur et/ou correcteur d'erreurs en bloc déterminé de longueur N.2. The method according to claim 1, wherein the number of bits deleted, to form a reduced plane (Po), is less than or equal to the number of redundant bits of a determined detector code and / or block error corrector. length N.
3. Procédé selon la revendication 1 ou 2, selon lequel, à partir de M blocs de N valeurs définis en fonction du signal, avec M strictement supérieur à 1 : pour chaque bloc de valeurs, on trouve N indices de quantification ; - on décompose l'ensemble des M blocs de N indices en plans de bits de longueur M * N ; - on élimine, dans au moins un desdits plans de bits, au moins un bit de position prédéfinie et former ainsi au moins un plan réduit ;3. Method according to claim 1 or 2, according to which, from M blocks of N values defined as a function of the signal, with M strictly greater than 1: for each block of values, there are N quantization indices; the set of M blocks of N indices is broken down into bit planes of length M * N; in at least one of said bit planes, at least one predefined position bit is eliminated and thus form at least one reduced plane;
- on constitue une séquence binaire à partir d'au moins un plan réduit.a binary sequence is formed from at least one reduced plane.
4. Procédé selon l'une quelconque des revendications 1 à 3, selon lequel :4. Process according to any one of claims 1 to 3, according to which:
- on supprime, dans chaque plan de bits d'une pluralité (Fl0, l~li) desdits plans de bits, un nombre respectifs de bits, pour former une pluralité de plans de bits réduits (Fl0 *, FV), le nombre de bits supprimés dans chaque plan de bits étant inférieur ou égal au nombre de bits redondants d'un code détecteur et/ou correcteur d'erreurs en bloc déterminé de longueur N associé audit plan de bits ;in each bit plane of a plurality (Fl 0 , l ~ li) of said bit planes, a respective number of bits is eliminated, to form a plurality of reduced bit planes (Fl 0 * , FV), the number of bits deleted in each bit plane being less than or equal to the number of redundant bits of a determined detector code and / or block error corrector of length N associated with said bit plane;
- on constitue une séquence binaire (Seq2) de codage du signal à l'aide d'éléments de codage définis en fonction au moins des ensembles de bits (Fl0 *, l~li*) réduits.a signal-encoding binary sequence (Seq 2) is formed using coding elements defined as a function of at least reduced bit sets (Fl 0 * , l ~ li * ).
5. Module (1 ) de codage d'un signal comprenant :5. Module (1) for encoding a signal comprising:
- un quantificateur (2) adapté pour déterminer, pour chacune de N valeurs définies en fonction du signal, un indice de quantification entier tel que le vecteur (Y) de dimension N, ayant pour coordonnées lesdits indices de quantification déterminés, soit élément d'un réseau de points binaire déterminé (Λo), de dimension N différent de 2PZN| avec p entier positif ou nul ;a quantizer (2) adapted to determine, for each of N values defined as a function of the signal, an integer quantization index such as the vector (Y) of dimension N, having for coordinates said determined quantization indices, or element of a determined bit network (Λo) of dimension N other than 2 P Z N | with p integer positive or zero;
- des moyens (3) de décomposition binaire adaptés pour décomposer lesdits indices de quantification sous forme binaire pour former des plans de bits (Po,... Pκ-i) de longueur N ;binary decomposition means (3) adapted to decompose said quantization indices into binary form to form bit planes (Po,... Pκ-i) of length N;
- des moyens (4) de suppression adaptés pour supprimer, dans au moins un (P0) desdits plans de bits, au moins un bit de position prédéfinie et former ainsi au moins un plan réduit (P0 ) ; - des moyens (6) pour constituer une séquence binaire à partir d'au moins un plan réduit (P0 ).suppressing means (4) adapted to eliminate, in at least one (P 0 ) of said bit planes, at least one predefined position bit and thus form at least one reduced plane (P 0 ); means (6) for constituting a binary sequence from at least one reduced plane (P 0 ).
6. Programme d'ordinateur à installer dans un module (1 ) de codage d'un signal, ledit programme comprenant des instructions pour mettre en œuvre, lors d'une exécution du programme par des moyens de traitement dudit module les étapes suivantes :Computer program to be installed in a module (1) for coding a signal, said program comprising instructions for implementing, during a program execution by means of processing said module the following steps:
- dans une étape de quantification, déterminer, pour chacune de N valeurs définies en fonction du signal, un indice de quantification entier tel que le vecteur (Y) de dimension N, ayant pour coordonnées lesdits indices de quantification déterminés, soit élément d'un réseau de points binaire (Λo)) de dimension N différent de 2PZN| avec p entier positif ou nul dudit réseau de points ;in a quantization step, determining, for each of N values defined as a function of the signal, an integer quantization index such as the vector (Y) of dimension N, having for coordinates said determined quantization indices, being an element of a bit network (Λo)) of dimension N other than 2 P Z N | with p positive or zero integer of said network of points;
- décomposer lesdits indices de quantification sous forme binaire pour former des plans de bits (Po, ... , Pκ-i ) de longueur N ;decomposing said quantization indices in binary form to form bit planes (Po,..., Pκ-i) of length N;
- supprimer, dans au moins un (P0) desdits plans de bits, au moins un bit de position prédéfinie et former ainsi au moins un plan réduitin at least one (P 0 ) of said bit planes, removing at least one predefined position bit and thus forming at least one reduced plane;
(Po*) ;(Po * );
- constituer une séquence binaire (Seq1) à partir d'au moins un plan réduit (P0 *).- Constitute a binary sequence (Seq1) from at least one reduced plane (P 0 * ).
7. Procédé de décodage d'une séquence binaire (Seq1 ) comprenant des éléments de codage, en vue de restituer N valeurs de définition d'un signal, selon lequel : - en fonction d'éléments de codage compris dans la séquence binaire et relatifs à au moins un plan de bits (Po), déterminer un ensemble (PO*) de bits relatifs audit plan de bits ;7. A method for decoding a binary sequence (Seq1) comprising coding elements, for the purpose of restoring N definition values of a signal, according to which: - as a function of coding elements included in the binary sequence and relative at least one bit plane (Po), determining a set (PO * ) of bits relative to said bit plane;
- compléter ledit ensemble de bits (Po ) avec un nombre de bits supplémentaires dont les valeurs respectives sont définies en fonction des bits dudit ensemble (Po ) de bits et d'un code détecteur et/ou correcteur d'erreurs en blocs déterminé, de dimension N, associé audit plan de bits, pour déterminer le plan de bits (Po) de longueur N ;- complete said set of bits (Po) with a number of additional bits whose respective values are defined as a function of the bits of said set (Po) of bits and a detector code and / or determined block error corrector, of dimension N, associated with said bit plane, for determining the bit plane (Po) of length N;
- calculer N indices de quantification en fonction d'au moins les N bits respectifs du plan de bits déterminé, tels que le vecteur de dimensioncalculating N quantization indices as a function of at least the respective N bits of the determined bit plane, such as the dimension vector
N, ayant pour coordonnées lesdits indices de quantification calculés, soit élément d'un réseau de points binaire (Λo) déterminé de dimension N différent de 2PZN| avec p entier positif ou nul ;N, having as coordinates said computed quantization indices, being element of a determined bit network (Λ o ) of dimension N different from 2 P Z N | with p integer positive or zero;
- déterminer N valeurs de définition du signal en fonction d'au moins les N indices de quantification.determining N signal definition values as a function of at least the N quantization indices.
8. Procédé de décodage selon la revendication 7, selon lequel :The decoding method according to claim 7, wherein:
- en fonction d'éléments de codage compris dans la séquence binaire (Seq2) et relatifs à des plans de bits (Fl0, l~li) déterminer une pluralité d'ensembles (Fl0 *, FV) de bits, chaque ensemble de bits correspondant à un plan de bits respectif (Fl0, Fh) de longueur N ;according to coding elements included in the binary sequence (Seq2) and relating to bit planes (Fl 0 , l ~ li), determining a plurality of sets (Fl 0 * , FV) of bits, each set of bits corresponding to a respective bit plane (Fl 0 , Fh) of length N;
- compléter chaque ensemble de bits de ladite pluralité d'ensemble de bits avec un nombre de bits supplémentaires dont les valeurs respectives sont définies en fonction des bits de l'ensemble de bits correspondant et d'un code détecteur et/ou correcteur d'erreurs en blocs déterminé, de dimension N, associé audit plan de bits, pour déterminer ladite pluralité de plans de bits (FI0, Fh) ;- complete each set of bits of said plurality of bit sets with a number of additional bits whose respective values are defined according to the bits of the corresponding set of bits and a detector code and / or error corrector in defined blocks, of dimension N, associated with said bit plane, for determining said plurality of bit planes (FI 0 , Fh);
- calculer N indices de quantification en fonction d'au moins les plans de bits déterminés, tels que le vecteur de dimension N, ayant pour coordonnées lesdits indices de quantification calculés, soit élément d'un réseau de points binaire déterminé de dimension N différent de 2PZN| avec p entier positif ou nul ;calculating N quantization indices as a function of at least the determined bit planes, such as the dimension vector N, having as coordinates said calculated quantization indices, or element of a determined bit-point network of dimension N different from 2 P Z N | with p integer positive or zero;
- déterminer N valeurs de définition du signal en fonction d'au moins les N indices de quantification. determining N signal definition values as a function of at least the N quantization indices.
9. Module de décodage (10) d'une séquence binaire (Seq1), ledit module comprenant :9. decoding module (10) of a binary sequence (Seq1), said module comprising:
- des moyens (11 ) pour, en fonction d'éléments de codage compris dans la séquence binaire et relatifs à au moins un plan de bits (FIo ), déterminer un ensemble de bits (FIo ) relatifs audit plan de bits ;means (11) for, as a function of coding elements included in the binary sequence and relating to at least one bit plane (FIo), determining a set of bits (FIo) relative to said bit plane;
- des moyens (12) pour compléter ledit ensemble de bits (FIo ) avec un nombre de bits supplémentaires dont les valeurs respectives sont définies en fonction des bits dudit ensemble de bits et d'un code détecteur et/ou correcteur d'erreurs en blocs déterminé, de dimension N, associé audit plan de bits, pour déterminer le plan de bits (Fl0) de dimension N ;means (12) for completing said set of bits (FIo) with a number of additional bits whose respective values are defined as a function of the bits of said set of bits and a detector code and / or block error corrector determined, of dimension N associated with said bit map, to determine the bit-plane (Fl 0) of dimension N;
- des moyens pour calculer N indices de quantification en fonction d'au moins les N bits respectifs du plan de bits déterminé, tels que le vecteur de dimension N, ayant pour coordonnées lesdits indices de quantification calculés, soit élément d'un réseau de points binaire déterminé de dimension N différent de 2PZN| avec p entier positif ou nul ;means for calculating N quantization indices as a function of at least the respective N bits of the determined bit plane, such as the dimension vector N, having as coordinates said computed quantization indices, being element of a network of points determined binary of dimension N different from 2 P Z N | with p integer positive or zero;
- des moyens (13) pour déterminer N valeurs de définition du signal en fonction d'au moins les N indices de quantification.means (13) for determining N signal definition values as a function of at least the N quantization indices.
10. Programme d'ordinateur à installer dans un module de décodage (10) d'une séquence binaire (Seq1 ), ledit programme comprenant des instructions pour mettre en œuvre les étapes suivantes lors d'une exécution du programme par des moyens de traitement dudit module : - en fonction d'éléments de codage compris dans la séquence binaire10. Computer program to be installed in a decoding module (10) of a binary sequence (Seq1), said program comprising instructions for implementing the following steps during a program execution by processing means of said program module: - according to coding elements included in the binary sequence
(Seq1 ) et relatifs à au moins un plan de bits (Po), déterminer un ensemble (Po ) de bits relatifs audit plan de bits ;(Seq1) and relating to at least one bit plane (Po), determining a set (Po) of bits relative to said bit plane;
- compléter ledit ensemble de bits avec un nombre de bits supplémentaires dont les valeurs respectives sont définies en fonction des bits dudit ensemble (Po ) de bits et d'un code détecteur et/ou correcteur d'erreurs en blocs déterminé, de dimension N, associé audit plan de bits, pour déterminer le plan de bits (Po) de dimension N ;- supplementing said set of bits with a number of additional bits whose respective values are defined as a function of the bits of said set (Po) of bits and a specific detector code and / or block error corrector, of dimension N, associated with said bit plane, for determining the N-dimensional bit plane (Po);
- calculer N indices de quantification en fonction d'au moins les N bits respectifs du plan de bits déterminé, tels que le vecteur de dimension N, ayant pour coordonnées lesdits indices de quantification calculés, soit élément d'un réseau de points binaire (Λo) déterminé de dimension N différent de 2PZN| avec p entier positif ou nul ;calculating N quantization indices as a function of at least the respective N bits of the determined bit plane, such as the dimension vector N, having for coordinates said calculated quantization indices, that is element of a bit-point network (Λ o ) determined of dimension N different from 2 P Z N | with p integer positive or zero;
- déterminer N valeurs de définition du signal en fonction d'au moins les N indices de quantification. determining N signal definition values as a function of at least the N quantization indices.
PCT/FR2008/050257 2007-02-21 2008-02-15 Optimised algebraic encoding and decoding method, and related modules and computer software WO2008104725A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0753414 2007-02-21
FR0753414 2007-02-21

Publications (1)

Publication Number Publication Date
WO2008104725A1 true WO2008104725A1 (en) 2008-09-04

Family

ID=38529408

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2008/050257 WO2008104725A1 (en) 2007-02-21 2008-02-15 Optimised algebraic encoding and decoding method, and related modules and computer software

Country Status (1)

Country Link
WO (1) WO2008104725A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011057758A (en) * 2009-09-07 2011-03-24 Jx Nippon Oil & Energy Corp Super fuel-saving engine oil composition
US8660187B2 (en) 2008-06-02 2014-02-25 Centre National De La Recherche Scientifique (Cnrs) Method for treating digital data
US8745110B2 (en) 2008-06-02 2014-06-03 Centre National De La Recherche Scientifique (Cnrs) Method for counting vectors in regular point networks

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CONWAY J H ET AL: "Fast Quantizing and Decoding Algorithms for lattice Quantizers and Codes", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 28, no. 2, March 1982 (1982-03-01), pages 227 - 232, XP002300007, ISSN: 0018-9448 *
FORNEY G D: "COSET CODES - PART I: INTRODUCTION AND GEOMETRICAL CLASSIFICATION", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 34, no. 5, 1 September 1988 (1988-09-01), pages 1123 - 1151, XP000008917, ISSN: 0018-9448 *
FORNEY G D: "COSET CODES - PART II: BINARY LATTICES AND RELATED CODES", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 34, no. 5, 1 September 1988 (1988-09-01), pages 1152 - 1187, XP000008919, ISSN: 0018-9448 *
HOWARD P G ET AL: "ARITHMETIC CODING FOR DATA COMPRESSION", PROCEEDINGS OF THE IEEE, IEEE. NEW YORK, US, vol. 82, no. 6, 1 June 1994 (1994-06-01), pages 857 - 865, XP000438336, ISSN: 0018-9219 *
ROAR HAGEN ET AL: "Robust Vector Quantization by a Linear Mapping of a Block Code", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 45, no. 1, January 1999 (1999-01-01), XP011027244, ISSN: 0018-9448 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8660187B2 (en) 2008-06-02 2014-02-25 Centre National De La Recherche Scientifique (Cnrs) Method for treating digital data
US8745110B2 (en) 2008-06-02 2014-06-03 Centre National De La Recherche Scientifique (Cnrs) Method for counting vectors in regular point networks
JP2011057758A (en) * 2009-09-07 2011-03-24 Jx Nippon Oil & Energy Corp Super fuel-saving engine oil composition

Similar Documents

Publication Publication Date Title
JP4801160B2 (en) Sequential improvement of lattice vector quantization
US8553994B2 (en) Compressive sampling for multimedia coding
EP1709743A1 (en) Dimensional vector and variable resolution quantisation
EP2183851A1 (en) Encoding/decoding by symbol planes with dynamic calculation of probability tables
US11575947B2 (en) Residual entropy compression for cloud-based video applications
JP2002135131A (en) Method and apparatus for performing variable-size vector entropy coding
EP2289171B1 (en) Method for processing numerical data
WO2011097963A1 (en) Encoding method, decoding method, encoder and decoder
WO2008104725A1 (en) Optimised algebraic encoding and decoding method, and related modules and computer software
EP2005756A2 (en) Restrained vector quantisation
EP2652735B1 (en) Improved encoding of an improvement stage in a hierarchical encoder
EP2289172B1 (en) Method for enumeration of vectors in a regular lattice of points
JP2020053820A (en) Quantization and encoder creation method, compressor creation method, compressor creation apparatus, and program
FR2842671A1 (en) ROBUST DIGITAL DATA WITH TRANSMISSION NOISE
WO2010001020A2 (en) Improved coding/decoding by bit planes
EP2084910A1 (en) Method and device for optimizing the compression of a video stream
Thanki et al. Classification in Data Compression
Jiang et al. Finite‐state entropy‐constrained vector quantiser for audio modified discrete cosine transform coefficients uniform quantisation
EP2198425A1 (en) Method, module and computer software with quantification based on gerzon vectors
Wernik et al. Lossless Audio Coding using Extended Activity Level Classification Model
WO2007091000A2 (en) Method for coding a source audio signal and corresponding computer program products, coding device, decoding method, signal and data medium
FR2842670A1 (en) Device and method for an improved compression of digital data, comprises input of two data flows and coding of symbols by use of table and by selecting redundant words
FR3099975A1 (en) PROCESS FOR PROVIDING CONTENT CONTAINING AT LEAST ONE IMAGE, FILE FORMAT
EP1037390A1 (en) Method for coding, decoding and transcoding an audio signal
Lambat et al. A MODIFIED ALGORITHM FOR CODEBOOK DESIGN USING VECTOR QUANTIZATION FOR IMAGE COMPRESSION

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08762105

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08762105

Country of ref document: EP

Kind code of ref document: A1