FR2800941A1 - Digital code decoding technique uses decoding lattice based on binary tree structure for reduced error rate decoding - Google Patents

Digital code decoding technique uses decoding lattice based on binary tree structure for reduced error rate decoding Download PDF

Info

Publication number
FR2800941A1
FR2800941A1 FR9914321A FR9914321A FR2800941A1 FR 2800941 A1 FR2800941 A1 FR 2800941A1 FR 9914321 A FR9914321 A FR 9914321A FR 9914321 A FR9914321 A FR 9914321A FR 2800941 A1 FR2800941 A1 FR 2800941A1
Authority
FR
France
Prior art keywords
decoding
channel
source
information
words
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
FR9914321A
Other languages
French (fr)
Inventor
Pierre Siohan
H Jean Claude Carlac
Lionel Guivarch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
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 SA filed Critical France Telecom SA
Priority to FR9914321A priority Critical patent/FR2800941A1/en
Priority to FR0004787A priority patent/FR2800942A1/en
Priority to US10/111,833 priority patent/US6812873B1/en
Priority to EP00974640A priority patent/EP1230736B1/en
Priority to AT00974640T priority patent/ATE241873T1/en
Priority to PCT/FR2000/003061 priority patent/WO2001035535A1/en
Priority to DE60003071T priority patent/DE60003071T2/en
Priority to JP2001537168A priority patent/JP4836379B2/en
Publication of FR2800941A1 publication Critical patent/FR2800941A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • 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
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4138Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
    • H03M13/4146Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions soft-output Viterbi decoding according to Battail and Hagenauer in which the soft-output is determined using path metric differences along the maximum-likelihood path, i.e. "SOVA" decoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)

Abstract

The system is based upon the use of a Huffman binary tree and associated lattice to decode variable length coded digital words. The method provides decoding of received digital data corresponding to transmitted digital data, coded with an entropic code. Each word of an alphabet is associated with a distinct bit sequence whose length is a function of the word occurrence probability. The technique uses a decoding lattice in which each transition corresponds to a binary value 0 or 1 in the one of the bits of the sequence corresponding to one of the words. The entropic code is represented in the form of a binary tree comprising a racine node, a number of intermediate nodes, and a number of leaf nodes. A sequence of bits corresponding to one of the words is formed by considering the successive transitions of the tree from the racine node up to the leaf node associated with the word.

Description

<Desc/Clms Page number 1> <Desc / Clms Page number 1>

Procédé de décodage de données codées à l'aide d'un code entropique, dispositif de décodage et système de transmission correspondants.  A method of decoding data encoded by means of an entropy code, decoding device and corresponding transmission system.

Le domaine de l'invention est celui de la transmission, ou de la diffusion, de signaux de données numériques. Plus précisément, l'invention concerne le décodage de signaux numériques transmis, et en particulier le décodage de source.  The field of the invention is that of the transmission, or broadcasting, of digital data signals. More specifically, the invention relates to the decoding of transmitted digital signals, and in particular the source decoding.

Plus précisément encore, l'invention s'applique au décodage de données codées à l'aide d'un codage de source mettant en #uvre des codes entropiques de type codes à longueur variable (VLC, en anglais : Variable Length Code ). More precisely, the invention applies to the decoding of data coded using a source coding implementing variable-length code (VLC) entropic codes.

Les systèmes de communication numérique couramment utilisés aujourd'hui s'appuient sur des systèmes de codage mettant en #uvre d'une part un codage de source et d'autre part un codage de canal. Classiquement, ces deux codages sont optimisés séparément. Le codeur de source a pour but de réduire au maximum la redondance du signal source à transmettre. Ensuite, pour protéger cette information des perturbations inhérentes à toute transmission, le codeur de canal introduit de la redondance, de manière contrôlée.  The digital communication systems commonly used today rely on coding systems implementing on the one hand a source coding and on the other hand a channel coding. Classically, these two codings are optimized separately. The purpose of the source encoder is to minimize the redundancy of the source signal to be transmitted. Then, to protect this information from disturbances inherent to any transmission, the channel coder introduces redundancy, in a controlled manner.

Actuellement, les meilleurs résultats sont obtenus en codage de source (source audio, images et/ou vidéo) par des codeurs par transformée en cosinus discrète (DCT, en anglais : "Discrete Cosine Transform") ou ondelettes notamment, associés à des codes VLC. Le codage de canal met en #uvre avantageusement le concept des turbo-codes [1](les références bibliographiques sont rassemblées en annexe C, afin de faciliter la lecture de la présente description), et plus généralement des décodeurs itératifs à décisions douces. Ces techniques ont permis de franchir un pas décisif vers la limite théorique définie par Shannon [2].  Currently, the best results are obtained in source coding (audio source, images and / or video) by discrete cosine transform (DCT) coders, or wavelets in particular, associated with VLC codes. . Channel coding advantageously employs the concept of turbo-codes [1] (the bibliographic references are collated in Appendix C, in order to facilitate the reading of the present description), and more generally iterative decoders with soft decisions. These techniques made it possible to take a decisive step towards the theoretical limit defined by Shannon [2].

Toutefois, l'optimalité de la séparation du codage de source et du codage de canal n'est garantie que pour des codes de longueur tendant vers l'infini. De ce fait, des recherches sont également menées pour réaliser, avec des codes canal de longueur finie, des systèmes de codage et/ou de décodage conjoints source-canal.  However, the optimality of the separation of source coding and channel coding is only guaranteed for length codes tending to infinity. Therefore, research is also carried out to achieve, with finite-length channel codes, coding systems and / or decoding source-channel joint.

L'invention concerne ainsi le décodage de codes entropiques, et en particulier, mais non exclusivement, le décodage conjoint source-canal d'un  The invention thus relates to the decoding of entropy codes, and in particular, but not exclusively, the joint source-channel decoding of a

<Desc/Clms Page number 2><Desc / Clms Page number 2>

système mettant en #uvre un code entropique.  system implementing an entropy code.

Le décodage conjoint possède de nombreux champs d'application, par exemple la transmission d'images vidéo, en particulier selon la norme MPEG 4 (Moving Picture Expert Group).  The joint decoding has many fields of application, for example the transmission of video images, in particular according to the MPEG 4 (Moving Picture Expert Group) standard.

Les codes à longueur variable sont bien connus. A titre d'exemple, on présente rapidement, en annexe A, le code de Huffman. Le mode de réalisation particulier de l'invention décrit par la suite s'applique notamment, mais non exclusivement, à ce type de code entropique.  Variable length codes are well known. As an example, we quickly present, in Appendix A, the Huffman code. The particular embodiment of the invention described below applies particularly, but not exclusively, to this type of entropy code.

Les codes à longueur variable présentent un enjeu important pour la limitation de la bande occupée par le signal émis, mais leur utilisation rend la transmission moins robuste aux erreurs. De plus, il est difficile d'utiliser les probabilités a priori de la source au décodage, car on ne connaît pas le début et la fin de chaque mot, puisque la longueur de ceux-ci est, par définition, variable.  Variable length codes are an important issue for limiting the band occupied by the transmitted signal, but their use makes the transmission less robust to errors. Moreover, it is difficult to use the probabilities a priori of the source at decoding, because we do not know the beginning and the end of each word, since the length of these is, by definition, variable.

Diverses techniques ont été proposées pour effectuer un décodage conjoint source-canal lié à l'utilisation de ces codes à longueur variable. Notamment :
K. Sayood et N. Demir ont proposé dans [4] un décodage au niveau des mots de codes VLC. On retrouve les deux inconvénients majeurs de ce type de décodage, à savoir une complexité de treillis qui augmente rapidement avec le nombre de mots VLC différents et un décodage qui reste au niveau symbole (ou mot) ;
Ahshun H. Murad et Thomas E. Fuja [5] proposent une méthode de super- treillis où le treillis de décodage est celui obtenu par le produit du treillis du décodeur de canal, du treillis du décodeur de source et du treillis représentant la source. Cette solution est clairement limitée par la complexité du décodage ;
K. P. Subbalaskshmi et J. Vaisey [6] donnent une structure de treillis qui permet de connaître le début et la fin de chaque mot et donc d'utiliser l'information a priori que l'on a sur les mots VLC émis. Ce décodeur travaille au niveau des mots et ne renvoie pas d'information extrinsèque sur les bits décodés ;
Various techniques have been proposed for performing a source-channel joint decoding related to the use of these variable-length codes. Especially :
K. Sayood and N. Demir proposed in [4] a decoding at the level of the VLC codewords. We find the two major drawbacks of this type of decoding, namely a trellis complexity which increases rapidly with the number of different VLC words and a decoding which remains at the symbol (or word) level;
Ahshun H. Murad and Thomas E. Fuja [5] propose a trellis method in which the decoding trellis is that obtained by the product of the trellis of the channel decoder, the lattice of the source decoder and the lattice representing the source. This solution is clearly limited by the complexity of the decoding;
KP Subbalaskshmi and J. Vaisey [6] give a lattice structure which makes it possible to know the beginning and the end of each word and thus to use the information a priori that one has on the VLC words emitted. This decoder works at the word level and does not return extrinsic information on the decoded bits;

<Desc/Clms Page number 3> <Desc / Clms Page number 3>

Jiangtao Wen et John D. Villasenor [7] utilisent un bloc de décodage travaillant au niveau des mots et renvoyant une fiabilité quant à la séquence décodée. Ce décodeur utilise comme information a priori le nombre de mots VLC dans la séquence reçue. Jiangtao Wen and John D. Villasenor [7] use a decoding block working at the word level and returning a reliability as to the decoded sequence. This decoder uses as information a priori the number of VLC words in the received sequence.

L'invention a notamment pour objectif de pallier les différents inconvénients de ces techniques de l'état de l'art.  The invention particularly aims to overcome the various disadvantages of these techniques of the state of the art.

Plus précisément, un objectif de l'invention est de fournir une technique de décodage de données codées à l'aide d'un code entropique permettant d'obtenir une réduction du taux d'erreur symbole, notamment par rapport à des schémas de décodage séparé (tandem).  More specifically, an object of the invention is to provide a technique for decoding coded data using an entropy code making it possible to obtain a reduction in the symbol error rate, in particular with respect to separate decoding schemes. (tandem).

Sur les aspects de mise en #uvre, un objectif de l'invention est de fournir une telle technique de décodage présentant une complexité très réduite, par rapport aux techniques connues.  On the implementation aspects, an object of the invention is to provide such a decoding technique with a very reduced complexity, compared to known techniques.

En particulier, un objectif de l'invention est de fournir une telle technique de décodage présentant une complexité opératoire raisonnable, c'est-à-dire possible à mettre en #uvre en pratique à un coût raisonnable, en particulier lorsque le nombre de mots différents considérés par le code entropique est élevé.  In particular, an object of the invention is to provide such a decoding technique having a reasonable operational complexity, that is to say possible to implement in practice at a reasonable cost, especially when the number of words different considered by the entropy code is high.

L'invention a également pour objectif de fournir une telle technique délivrant des informations de confiance au niveau bit pouvant être exploitées par le décodage de canal.  The invention also aims to provide such a technique delivering bit level confidence information that can be exploited by channel decoding.

En d'autres termes, un objectif particulier de l'invention est de fournir des procédés de décodage conjoints source-canal bien adaptés aux codes entropiques, notamment les codes VLC.  In other words, a particular object of the invention is to provide source-channel decoding methods well adapted to entropy codes, including VLC codes.

Encore un autre objectif de l'invention est de fournir une telle technique de décodage, permettant d'améliorer les performances obtenues avec les codes de canal connus, et notamment les codeurs mettant en #uvre un turbo-code.  Yet another object of the invention is to provide such a decoding technique, making it possible to improve the performances obtained with the known channel codes, and in particular the coders implementing a turbo-code.

Ces objectifs, ainsi que d'autres qui apparaîtront plus clairement par la suite, sont atteints à l'aide d'un procédé de décodage de données numériques reçues correspondant à des données numériques émises codées à l'aide d'un code entropique associant à chacun des mots d'un alphabet une séquence de bits These objectives, as well as others which will appear more clearly later, are achieved by means of a method of decoding received digital data corresponding to transmitted digital data encoded using an entropy code associating with each of the words of an alphabet a sequence of bits

<Desc/Clms Page number 4><Desc / Clms Page number 4>

distincte, dont la longueur est fonction de la probabilité d'occurrence dudit mot.  distinct, the length of which depends on the probability of occurrence of that word.

Selon l'invention, ce procédé met en #uvre un treillis de décodage dont chaque transition correspond à une valeur binaire 0 ou 1 d'un des bits d'une séquence de bits correspondant à l'un desdits mots.  According to the invention, this method implements a decoding trellis of which each transition corresponds to a binary value 0 or 1 of one of the bits of a sequence of bits corresponding to one of said words.

En d'autres termes, l'invention repose sur une approche nouvelle du décodage des codes à longueurs variables, selon laquelle on considère les transitions au niveau des bits, et non classiquement au niveau des mots, ou symboles.  In other words, the invention is based on a novel approach to decoding codes of varying lengths, according to which transitions are considered at the level of bits, and not classically at the level of words or symbols.

Cette approche est nouvelle, et non évidente, l'homme du métier étant persuadé que le fait que les symboles sont de longueurs variables imposent de travailler au niveau des symboles, afin de connaître le début et la fin de ceux-ci.  This approach is new, and not obvious, the person skilled in the art being persuaded that the fact that the symbols are of varying lengths requires working at the level of the symbols, in order to know the beginning and the end of these.

Les inventeurs montre que cela n'est pas obligatoire. The inventors show that this is not mandatory.

De plus, le fait de travailler au niveau des bits permet d'obtenir une information exploitable par un décodeur canal, et donc d'effectuer un décodage conjoint, comme cela apparaîtra plus clairement par la suite.  In addition, the fact of working at the bit level makes it possible to obtain information that can be used by a channel decoder, and thus to perform a joint decoding, as will become clearer later.

Ledit code entropique peut être représenté sous la forme d'un arbre binaire comprenant un n#ud racine, une pluralité de n#uds intermédiaires et une pluralité de n#uds feuilles, une séquence de bits correspondant à un desdits mots étant formée en considérant les transitions successives dudit arbre depuis ledit n#ud racine jusqu'au n#ud feuille associé audit mot. Dans ce cas, de façon avantageuse, les états de chaque étage dudit treillis comprennent un unique état dit extrémal, correspondant audit n#ud racine et à l'ensemble desdits n#uds feuilles, et un état distinct, dit état intermédiaire pour chacun desdits n#uds intermédiaires.  The entropy code may be represented as a binary tree comprising a root node, a plurality of intermediate nodes and a plurality of leaf nodes, a bit sequence corresponding to one of said words being formed considering successive transitions of said tree from said root node to the leaf node associated with said word. In this case, advantageously, the states of each stage of said lattice comprise a single state called extremal, corresponding to said root node and all of said leaf nodes, and a distinct state, said intermediate state for each of said intermediate nodes.

On obtient ainsi un treillis simple, à nombre d'états réduit.  A simple lattice with a reduced number of states is thus obtained.

De façon préférentielle, on associe à chaque transition dudit treillis une information de vraisemblance. Ladite information de vraisemblance est alors avantageusement une métrique tenant compte d'une part d'une information représentative du canal de transmission et d'autre part d'une information a priori relative à la source.  Preferably, each transition of said trellis is associated with likelihood information. Said likelihood information is then advantageously a metric taking into account, on the one hand, information representative of the transmission channel and, on the other hand, information a priori relating to the source.

Ainsi, on peut calculer, pour chacune desdites transitions, la métrique  Thus, it is possible to calculate, for each of said transitions, the metric

<Desc/Clms Page number 5><Desc / Clms Page number 5>

suivante :

Figure img00050001

ï,[(Xk,Xt),dk,dk-l] = Pr(xk / ak = i)Pr(y[ / ak = l,dk,dk-L)Prak = i,dkldk-11, dont les informations et paramètres sont décrits par la suite. next :
Figure img00050001

ï, [(Xk, Xt), dk, dk-l] = Pr (xk / ak = i) Pr (y [/ ak = 1, dk, dk-L) Prak = i, dkldk-11, whose information and parameters are described later.

Ledit code entropique peut notamment appartenir au groupe comprenant : # les codes de Huffman ; # les codes à longueur variable réversibles.  Said entropic code may notably belong to the group comprising: # Huffman codes; # reversible variable length codes.

L'invention concerne également un procédé de décodage conjoint sourcecanal d'un signal numérique reçu, basé sur cette approche, le codage source mettant en #uvre un code entropique associant à chacun des mots d'un alphabet une séquence de bits distincte, dont la longueur est fonction de la probabilité d'occurrence dudit mot.  The invention also relates to a sourcechannel joint decoding method of a received digital signal, based on this approach, the source coding implementing an entropy code associating with each of the words of an alphabet a distinct bit sequence, whose length is a function of the probability of occurrence of said word.

Selon l'invention, ce procédé de décodage conjoint met donc en #uvre un décodage source utilisant au moins un treillis de décodage dont chaque transition correspond à une valeur binaire 0 ou 1 d'un des bits de la séquence de bits correspondant à l'un desdits mots, ledit décodage source délivrant une information extrinsèque au décodage canal.  According to the invention, this joint decoding method thus implements a source decoding using at least one decoding trellis of which each transition corresponds to a binary value 0 or 1 of one of the bits of the bit sequence corresponding to the decoding trellis. one of said words, said source decoding delivering extrinsic information to the channel decoding.

Le décodage canal peut avantageusement mettre en #uvre un décodage de type turbo-code, pouvant reposer sur une mise en #uvre de type parallèle ou sur une approche de type série .  The channel decoding can advantageously implement a turbo-code type decoding, which may be based on a parallel-type implementation or on a series-type approach.

De façon avantageuse, le procédé de décodage conjoint de l'invention repose sur une mise en #uvre itérative.  Advantageously, the joint decoding method of the invention is based on an iterative implementation.

Dans ce cas, chacune des itérations peut comprendre séquentiellement une étape de décodage canal et une étape de décodage source, ladite étape de décodage canal délivrant une information de canal prise en compte dans ladite étape de décodage source, cette dernière délivrant une information a priori prise en compte dans ladite étape de décodage canal.  In this case, each of the iterations may comprise sequentially a channel decoding step and a source decoding step, said channel decoding step delivering channel information taken into account in said source decoding step, the latter delivering information a priori taken in said channel decoding step.

Notamment, le procédé peut comprendre : # une première étape de décodage canal ; # une première étape de décodage source, alimentée par ladite première étape de décodage canal ;  In particular, the method may comprise: # a first channel decoding step; a first source decoding step, powered by said first channel decoding step;

<Desc/Clms Page number 6><Desc / Clms Page number 6>

# une seconde étape de décodage canal, alimentée par ladite première étape de décodage canal et ladite première étape de décodage source, via un entrelaceur identique à l'entrelaceur mis en #uvre au codage, et alimentant ladite première étape de décodage canal, via un désentrelaceur symétrique audit entrelaceur ; # une seconde étape de décodage source alimentée par ladite seconde étape de décodage canal via ledit désentrelaceur, et alimentant ladite première étape de décodage canal.  a second channel decoding step, powered by said first channel decoding step and said first source decoding step, via an interleaver identical to the interleaver implemented at the coding, and feeding said first channel decoding step, via a symmetrical deinterlacer to said interleaver; a second source decoding step powered by said second channel decoding step via said de-interleaver, and feeding said first channel decoding step.

Selon un autre aspect de l'invention, celle-ci concerne encore un procédé de décodage conjoint source-canal d'un signal numérique reçu, le codage source mettant en #uvre un code entropique associant à chacun des mots d'un alphabet une séquence de bits distincte, dont la longueur est fonction de la probabilité d'occurrence dudit mot, ledit procédé mettant en #uvre un treillis de décodage canal, similaire au treillis de codage canal, dans lequel on associe à chaque état de chaque étage une information désignant la position du bit considéré dans l'arbre représentant ledit code entropique.  According to another aspect of the invention, this further concerns a source-channel joint decoding method of a received digital signal, the source coding implementing an entropy code associating with each word of an alphabet a sequence of distinct bits, whose length is a function of the probability of occurrence of said word, said method implementing a channel decoding trellis, similar to the channel coding trellis, in which each state of each stage is associated with information designating the position of the considered bit in the tree representing said entropy code.

Dans ce cas, le procédé de décodage conjoint comprend avantageusement, pour chacun desdits états, les étapes suivantes : # ajout, aux deux branches arrivant dans ledit état, de la métrique du canal et de la métrique de la source ; # comparaison des deux nouvelles métriques obtenues, et sélection de la métrique la plus faible ; # si ladite information désignant la position indique la fin d'un mot, considérer que le n#ud est une feuille de l'arbre, sinon, passer au n#ud suivant dans l'arbre.  In this case, the joint decoding method advantageously comprises, for each of said states, the following steps: # adding, to the two branches arriving in said state, the metric of the channel and the metric of the source; # comparison of the two new metrics obtained, and selection of the weakest metric; # if the said information designating the position indicates the end of a word, consider that the node is a leaf of the tree, if not, go to the next node in the tree.

Préférentiellement, ce procédé met en #uvre une procédure itérative, qui peut par exemple comprendre les étapes suivantes : # premier décodage canal, mettant en #uvre un treillis de décodage canal dont chaque état dispose d'une information désignant la position du bit considéré dans l'arbre représentant ledit code entropique ;  Preferably, this method implements an iterative procedure, which may for example comprise the following steps: # first channel decoding, implementing a channel decoding trellis of which each state has information indicating the position of the bit considered in the tree representing said entropy code;

<Desc/Clms Page number 7><Desc / Clms Page number 7>

# deuxième décodage canal, alimenté par ledit premier décodage canal, via un entrelaceur identique à celui mis en #uvre au codage, et alimentant ledit premier décodage canal, via un désentrelaceur symétrique dudit entrelaceur ; # décodage source, alimenté par ledit deuxième décodage canal, via ledit désentrelaceur.  second channel decoding, powered by said first channel decoding, via an interleaver identical to that implemented in coding, and feeding said first channel decoding, via a symmetrical deinterleaver of said interleaver; source decoding, powered by said second channel decoding, via said de-interleaver.

Bien entendu, l'invention concerne également tous les dispositifs de décodage de données numériques mettant en #uvre l'un des procédés de décodage décrits ci-dessus, ainsi que les systèmes de transmission d'un signal numérique, mettant en #uvre, à l'émission, un codage source entropique et un codage canal, et à la réception, un décodage tel que décrit plus haut.  Of course, the invention also relates to all digital data decoding devices implementing one of the decoding methods described above, as well as the digital signal transmission systems, implementing, transmission, entropy source coding and channel coding, and upon reception, decoding as described above.

D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante de modes de réalisation préférentiels de l'invention, donnés à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : - la figure 1 présente un exemple d'un code de Huffman, sous la forme d'un arbre binaire ; la figure 2 illustre un treillis symbole dit réduit, correspondant à l'arbre de la figure 1 ; - la figure 3 présente un treillis binaire dit réduit selon l'invention, correspondant à l'arbre de la figure 1 ; - la figure 4 est un schéma illustrant une structure de décodage conjoint de type turbo-code, mettant en #uvre un module "SISO~huff" selon l'invention ; la figure 5 illustre le déroulement de l'algorithme de décodage conjoint source-canal selon un second mode de mise en #uvre ; - la figure 6 présente un schéma itératif de décodage conjoint mettant en #uvre l'algorithme illustré en figure 5 ; - la figure 7 présente une combinaison des procédés des figures 4 et
6;
Other characteristics and advantages of the invention will appear on reading the following description of preferred embodiments of the invention, given by way of a simple illustrative and nonlimiting example, and the appended drawings, among which: FIG. 1 shows an example of a Huffman code, in the form of a binary tree; FIG. 2 illustrates a so-called reduced symbol lattice, corresponding to the tree of FIG. 1; FIG. 3 shows a so-called reduced bit lattice according to the invention, corresponding to the tree of FIG. 1; FIG. 4 is a diagram illustrating a joint decoding structure of the turbo-code type, implementing a "SISO ~ huff" module according to the invention; FIG. 5 illustrates the progress of the source-channel joint decoding algorithm according to a second embodiment; FIG. 6 shows a joint decoding iterative scheme implementing the algorithm illustrated in FIG. 5; FIG. 7 shows a combination of the methods of FIGS. 4 and
6;

<Desc/Clms Page number 8><Desc / Clms Page number 8>

la figure 8, commentée en annexe A, illustre la construction d'un codage de Huffman.  Figure 8, commented in Appendix A, illustrates the construction of a Huffman coding.

Modes de réalisation préférentiels
1-Introduction
L'invention a donc notamment pour objectif de présenter une technique de décodage réduisant le taux d'erreurs symboles, en utilisant les informations a priori sur la source, probabilités sur les mots du code VLC ou probabilités de transition entre les mots. On a constaté que cette réduction est plus élevée si les décodeurs utilisent les informations a priori sur la source au niveau bit, car l'extraction d'informations du décodage de canal ne peut se faire qu'à ce niveau bit.
Preferential embodiments
1-Introduction
The invention therefore particularly aims to present a decoding technique reducing the symbol error rate, using the prior information on the source, probabilities on the words of the VLC code or transition probabilities between the words. It has been found that this reduction is higher if the decoders use the prior information on the source at the bit level, since the extraction of information from the channel decoding can only be done at this bit level.

Jusqu'à présent, la plupart des méthodes proposées pour le décodage des codes VLC travaillent au niveau des mots (ou symboles, ces deux termes étant utilisés indifféremment par la suite) et ne peuvent donc pas fournir d'informations extrinsèques au niveau bit. De plus, ces méthodes deviennent pour la plupart trop complexes, et donc non réalisables en pratique, lorsque le nombre de mots différents à transmettre augmente. La seule tentative faite au niveau bit est présentée dans [5]. Très clairement, cette solution présente une complexité opératoire très élevée, et rapidement rédhibitoire.  Until now, most of the methods proposed for decoding VLC codes work at the level of words (or symbols, these two terms being used interchangeably later) and can not therefore provide extrinsic information at the bit level. In addition, these methods become for the most part too complex, and therefore not practical in practice, when the number of different words to be transmitted increases. The only attempt made at the bit level is presented in [5]. Very clearly, this solution has a very high operational complexity, and quickly crippling.

La technique de l'invention permet en revanche de déterminer non seulement la séquence de mots optimale, mais également la fiabilité associée à chacun des bits de chaque mot. Pour ce faire, l'invention utilise une information a priori sur la source, c'est-à-dire la probabilité a priori des mots du code VLC, ou celle de transition de Markov entre les mots du code.  The technique of the invention, on the other hand, makes it possible to determine not only the optimal sequence of words, but also the reliability associated with each of the bits of each word. To do this, the invention uses information a priori on the source, that is to say the prior probability of the VLC code words, or the Markov transition between the words of the code.

Cette technique peut avantageusement être utilisée dans un schéma itératif de type turbo-code, et améliore les performances de la transmission.  This technique can advantageously be used in an iterative scheme of turbo-code type, and improves the performance of the transmission.

2- Notation
On utilise notamment par la suite les notations suivantes : # une décision douce correspond à une décision réelle non binaire. Un seuillage sur celle-ci donnera une décision dure. Une décision douce
2- Rating
The following notations are used later: # a soft decision corresponds to a real non-binary decision. Thresholding on this one will give a hard decision. A sweet decision

<Desc/Clms Page number 9><Desc / Clms Page number 9>

est aussi appelée décision soft ; # le rapport EB/N0 correspond au rapport entre l'énergie reçue par bit utile divisée par la densité spectrale monolatérale du bruit ; # la bande DC (Direct Component) d'une image est la composante continue de l'image après transformation par ondelette ou par DCT ; # une séquence de bit reçus est notée par X ou Y. Cette séquence se compose de mots notés xi, ces mots étant composés de bits notés xij; # on utilise la notation p(a) = Pr{x' = a # un code RVLC (en anglais : Réversible VLC ) [8] est un code à longueur variable dont les mots se décodent dans les deux sens ; # un algorithme SISO ( Soft-In Soft-Out ) a pour entrées des valeurs soft et délivre des sorties soft .  is also called soft decision; # the ratio EB / N0 corresponds to the ratio between the energy received per useful bit divided by the monolateral spectral density of the noise; # the DC (Direct Component) band of an image is the DC component of the image after wavelet or DCT transformation; a received bit sequence is denoted by X or Y. This sequence consists of words denoted xi, these words being composed of bits denoted xij; # we use the notation p (a) = Pr {x '= a # a RVLC code (in English: Reversible VLC) [8] is a variable length code whose words are decoded in both directions; # a Soft-In Soft-Out (SISO) algorithm inputs soft values and delivers soft outputs.

3- Décodage "soft " source de codes à longueur variable
On montre, en annexe B, comment il est possible d'extraire de l'information des suites de mots de longueur variable émise par un codeur de Huffman (voir annexe A), en modélisant la source, soit par un processus aléatoire générant des symboles indépendants, soit par un processus aléatoire markovien.
3- Soft decoding source of variable length codes
It is shown in Appendix B how it is possible to extract information from the sequences of variable length words issued by a Huffman coder (see Appendix A), by modeling the source, or by a random process generating symbols. independent, either by a Markov random process.

La figure 1 présente l'exemple d'un code de Huffman, sous la forme d'un arbre binaire. Il est composé de cinq mots a, b, c, d, e de probabilités p(a), p(b), p(c), p(d), et p(e), et de longueurs respectivement 3, 3, 2, 2 et 2.  Figure 1 shows the example of a Huffman code, in the form of a binary tree. It consists of five words a, b, c, d, e of probabilities p (a), p (b), p (c), p (d), and p (e), and of lengths respectively 3, 3 , 2, 2 and 2.

La table de codage correspondante est donnée ci-dessous :

Figure img00090001
The corresponding coding table is given below:
Figure img00090001

<tb>
<tb> a <SEP> 111
<tb> b <SEP> 110
<tb> c <SEP> 10
<tb> d <SEP> 01
<tb> e <SEP> 00 <SEP>
<tb>
Table 1 : des codes VLC de l'arbre de la figure 1. En se plaçant, selon l'approche de l'invention, au niveau bit, on observe
<Tb>
<tb> a <SEP> 111
<tb> b <SEP> 110
<tb> c <SEP> 10
<tb> d <SEP> 01
<tb> e <SEP> 00 <SEP>
<Tb>
Table 1: VLC codes of the tree of FIG. 1. By placing itself, according to the approach of the invention, at the bit level, one observes

<Desc/Clms Page number 10><Desc / Clms Page number 10>

que quatre états sont nécessaires pour décrire sous forme de treillis, l'arbre de la figure 1. Ces états sont dO pour le début et la fin des symboles, dl , d2 et d3 pour les positions intermédiaires. Par contre, au niveau symbole, on remarque qu'un seul état dO peut suffire, ainsi que l'illustre la figure 2. Le treillis symbole réduit ainsi défini est donc alors un treillis à un seul état dO, duquel partent et arrivent autant de branches qu'il existe de mots VLC. Dans l'exemple de la figure 1, à chaque étage (t-2, t-1, t), ce treillis présente cinq branches correspondant aux mots a, b, c, d et e.  that four states are necessary to describe in the form of trellises, the tree of FIG. 1. These states are dO for the beginning and the end of the symbols, d1, d2 and d3 for the intermediate positions. On the other hand, at the symbol level, we notice that a single state dO can suffice, as illustrated in FIG. 2. The reduced symbol lattice thus defined is then a lattice with a single state dO, from which depart and arrive as many branches that there are VLC words. In the example of FIG. 1, at each stage (t-2, t-1, t), this lattice has five branches corresponding to the words a, b, c, d and e.

Le treillis symbole réduit utilise les probabilités a priori sur les mots de la source, en travaillant au niveau des mots. Ce treillis peut également être utilisé comme treillis annexe lors du décodage utilisant les probabilités de Markov.  The reduced symbol lattice uses the probabilities a priori on the words of the source, working at the word level. This lattice can also be used as an auxiliary lattice during decoding using Markov probabilities.

4- Décodage selon l'invention. au niveau des bits
On a vu que, selon les techniques connues, les procédés de décodage d'une source VLC utilisent les probabilités a priori des mots VLC au niveau des mots, ce qui empêche de renvoyer la fiabilité sur chaque bit de la séquence décodée. On montre par la suite comment les probabilités a priori sur les mots peuvent être décomposées en un produit de probabilité a priori sur les bits, puis on décrit les procédés de décodage s'appuyant sur cette approche.
4- Decoding according to the invention. at the bit level
It has been seen that, according to known techniques, the VLC source decoding methods use the prior probabilities of word-level VLC words, which prevents the reliability from being returned to each bit of the decoded sequence. It is shown later how the prior probabilities on words can be decomposed into a probability product a priori on the bits, then the decoding methods based on this approach are described.

4.1 Utilisation des probabilités a priori des mots de codes VLC au niveau des bits
Cette partie explique la décomposition des probabilités des mots en un produit de probabilités binaires.
4.1 Using Prior Probabilities of Bit-VLC Code Words
This part explains the decomposition of the probabilities of words into a product of binary probabilities.

Prenons l'exemple du mot a : On a d'après l'arbre de la figure 1 :

Figure img00100001

p(a) = Prix, = a} = Pr{x = I,x, = 1, x\ = Il (8) Cette probabilité se décompose suivant l'équation : p(a) = Pro = 1} Prx; =1 / xô = 1} Prx = 1 x =1, x; = Il (9)
La probabilité p(a) est donc le produit de trois probabilités associées à chacun des bits du mot a. Take the example of the word a: We have from the tree of Figure 1:
Figure img00100001

p (a) = Price, = a} = Pr {x = I, x, = 1, x \ = Il (8) This probability decomposes according to the equation: p (a) = Pro = 1} Prx; = 1 / x0 = 1} Prx = 1 x = 1, x; = He (9)
The probability p (a) is therefore the product of three probabilities associated with each of the bits of the word a.

Avec un treillis qui indique la position du bit dans le mot que l'on décode, ces probabilités binaires permettent de faire du décodage soft binaire.  With a lattice that indicates the position of the bit in the word that is decoded, these binary probabilities allow soft binary decoding.

<Desc/Clms Page number 11> <Desc / Clms Page number 11>

Par exemple, si on sait que l'on est dans la deuxième position du mot a alors la probabilité à utiliser sur la branche est Pr(x1i = 1/x0i = 1).  For example, if we know that we are in the second position of the word then the probability to use on the branch is Pr (x1i = 1 / x0i = 1).

Calculons, pour le mot a et pour k - 0,1,2 les probabilités

Figure img00110001

Pvlx'k +1I(x = +1, j < k)} pour le mot a. Let's calculate, for the word a and for k - 0,1,2 the probabilities
Figure img00110001

Pvlx'k + 1I (x = +1, j <k)} for the word a.

L'arbre de la figure 1 donne immédiatement la solution. On en déduit, aux différents sommets de l'arbre, les égalités :
Pr{x0i 1} Pr{sommeti,0= SI} p(a) + p(b) + p(c) (10)

Figure img00110002

Prjxj = 11 x lr Prsommet,,l 53/ sommet [0 SI} p(a) + p(b) (11) p(a) + p(b) + p(c)
Figure img00110003

Prjxj = 1 / x = 1, x; = If pr{ sommet,,2 S7/ sommet"l S3} p(a) (12) p(a) + p(b) Ce calcul peut se généraliser facilement au cas d'un code de Huffman réel.
Figure img00110004
The tree of Figure 1 gives the solution immediately. We deduce, at the different vertices of the tree, the equalities:
Pr {x0i 1} Pr {vertex, 0 = SI} p (a) + p (b) + p (c) (10)
Figure img00110002

Prjxj = 11 x lr Prsommet ,, l 53 / vertex [0 SI] p (a) + p (b) (11) p (a) + p (b) + p (c)
Figure img00110003

Prjxj = 1 / x = 1, x; = If pr {top ,, 2 S7 / vertex "l S3} p (a) (12) p (a) + p (b) This calculation can easily be generalized to the case of a real Huffman code.
Figure img00110004

Soit C=(w') l'ensemble des mots de code Huffman, Sk = In ENI'v'p < k,w"p x} l'ensemble des index des mots dont les k premiers bits sont égaux aux k premiers bits du mot xi et Sks = {n #S#wkn = S} les index de Sk des mots dont le k'ème bit est égal à s (s # {0, 1}), on a :

Figure img00110005
Let C = (w ') be the set of Huffman code words, Sk = In ENI'v'p <k, w "px} the set of indexes of words whose first k bits are equal to the first k bits of word xi and Sks = {n # S # wkn = S} the indexes of Sk of words whose k'th bit is equal to s (s # {0, 1}), we have:
Figure img00110005

Ce principe de calcul est illustré ici dans le cas d'une source de mots indépendants. Pour une source de Markov, le principe est le même sauf que chaque distribution des probabilités calculée dépend du mot précédent trouvé. This calculation principle is illustrated here in the case of a source of independent words. For a Markov source, the principle is the same except that each calculated probability distribution depends on the previous word found.

Ainsi, le calcul est à faire pour tous les mots précédents possibles. Thus, the calculation is to be done for all the previous possible words.

Une fois cette décomposition faite pour tous les mots du code VLC, il faut trouver le treillis binaire réduit qui permette d'utiliser les probabilités binaires. La décomposition de p(a), p(b),... en un produit de probabilités binaires a imposé une certaine relation entre les probabilités binaires et les probabilités de mots. Ces  Once this decomposition is done for all the words of the VLC code, it is necessary to find the reduced binary lattice which makes it possible to use the binary probabilities. The decomposition of p (a), p (b), ... into a product of binary probabilities has imposed a certain relation between the binary probabilities and the word probabilities. These

<Desc/Clms Page number 12><Desc / Clms Page number 12>

relations sont conservées uniquement, s'il y a une bijection entre les branches de l'arbre et celles du treillis. Il faut donc le treillis le moins complexe possible qui donne la position des bits dans chaque mot et qui évite les branches parallèles identiques (même état de départ, même état d'arrivée et même étiquette).  relations are preserved only if there is a bijection between the branches of the tree and those of the lattice. It is therefore necessary the least complex mesh which gives the position of the bits in each word and which avoids identical parallel branches (same starting state, same state of arrival and same label).

4. 2 Le treillis binaire réduit (appelé SISO-huff ) Premièrement, nous allons décrire l'algorithme de construction du treillis binaire réduit. Puis nous donnerons l'algorithme de décodage sur ce treillis et notamment l'utilisation des probabilités binaires a priori. 4. 2 The reduced binary lattice (called SISO-huff) First, we will describe the construction algorithm of the reduced binary lattice. Then we will give the algorithm of decoding on this lattice and in particular the use of the binary probabilities a priori.

4.2.1 Algorithme de construction du treillis binaire réduit
Initialisation du treillis Premier état du treillis, état 0 : de l'arbre i = boucle de construction
Pour chaque mot de la table VLC,
Pour chaque bit de ce mot, construction des états
Si l'état de départ de la branche de l'arbre étiquetée par ce bit n'est pas associé à un état du treillis, ajouter un état au treillis, état i i++
Si l'état d'arrivée de la branche n'est pas associé à un état du treillis,
Si il correspond à un n#ud non terminal de l'arbre,
Ajouter un état au treillis, état j (j==i) i++
Sinon associer cet état à l'état j (j = 0) étiquetage des branches
Créer, si non existante, une branche entre l'état i et l'état y étiquetée par le bit traité
4.2.1 Algorithm for construction of reduced binary lattice
Initialization of the lattice First state of the lattice, state 0: of the tree i = construction loop
For each word in the VLC table,
For each bit of this word, build states
If the starting state of the tree branch tagged by this bit is not associated with a state of the trellis, add a state to the trellis, state i i ++
If the state of arrival of the branch is not associated with a state of the trellis,
If it corresponds to a non-terminal node of the tree,
Add a state to the trellis, state j (j == i) i ++
Otherwise associate this state with the state j (j = 0) labeling of branches
Create, if not existing, a branch between the state i and the state y labeled by the processed bit

<Desc/Clms Page number 13> <Desc / Clms Page number 13>

Dans le cas de notre exemple, on obtient ainsi le treillis de la figure 3. In the case of our example, the lattice of FIG. 3 is thus obtained.

Ce treillis donne la position du bit dans le mot. Si on est dans l'état i, on sait, à partir de l'arbre, que l'on est dans la position} du mot traité car il existe une correspondance bijective entre les états i du treillis et les positions} dans l'arbre.  This lattice gives the position of the bit in the word. If we are in the state i, we know, from the tree, that we are in the position} of the treated word because there exists a bijective correspondence between the states i of the lattice and the positions} in the tree.

4.2.2 Algorithme de décodage à partir du treillis binaire réduit
L'algorithme de décodage utilisé sur ce treillis pour les simulations données par la suite est un algorithme de type BCJR (Bahl Cocke Jelinek Raviv) [13] modifié par Benedetto dans [14] pour traiter les branches parallèles.
4.2.2 Algorithm for decoding from the reduced binary lattice
The decoding algorithm used on this lattice for the simulations given later is a BCJR algorithm (Bahl Cocke Jelinek Raviv) [13] modified by Benedetto in [14] to treat the parallel branches.

La métrique calculée sur chaque branche tient compte de la connaissance que l'on a sur le canal et des probabilités a priori binaire calculée précédemment.  The metric calculated on each branch takes into account the knowledge that one has on the channel and probabilities a priori binary calculated previously.

Plus précisément, la formule de calcul sur une branche [ 15] est :

Figure img00130001
More precisely, the calculation formula on a branch [15] is:
Figure img00130001

A l'instant discret k, le couple (xk,xkp) est le couple de vraisemblances des bits reçus, dk-1 et dk sont respectivement les états de départ et d'arrivée de la branche, ak est le bit d'information associé à la branche. At the discrete moment k, the pair (xk, xkp) is the pair of likelihoods of the received bits, dk-1 and dk are respectively the states of departure and arrival of the branch, ak is the bit of associated information to the branch.

Les deux premiers termes de droite de l'équation (13) font référence à la connaissance que l'on a sur le canal. Le troisième, Pr{ak = i,dkdk-1}, correspond à la probabilité binaire a priori.  The first two terms on the right of equation (13) refer to the knowledge we have about the channel. The third, Pr {ak = i, dkdk-1}, corresponds to the binary probability a priori.

Ce treillis est utilisable dans un décodage soft binaire de type BCJR ou de type SOVA (en anglais : "Soft Output Viterbi Algorithm"). Lors de l'utilisation des probabilités a priori de Markov, si on utilise l'algorithme BCJR, le décodage soft nécessite un traitement parallèle qui indique pour chaque étage le mot précédent le plus probable. Ce traitement est celui réalisé par le treillis symbole réduit. Cette augmentation de complexité implique une préférence pour l'algorithme SOVA ou pour l'algorithme SUBMAP [11].  This lattice can be used in a binary soft decoding of type BCJR or type SOVA (in English: "Soft Output Viterbi Algorithm"). When using the Markov a priori probabilities, using the BCJR algorithm, soft decoding requires parallel processing which indicates for each stage the most likely previous word. This treatment is that carried out by the reduced symbol lattice. This increase in complexity implies a preference for the SOVA algorithm or for the SUBMAP algorithm [11].

4. 3 Généralisations
La méthode présentée se généralise sans difficulté aux cas où la table de Huffman contient plus de bits. Cependant la complexité du treillis binaire réduit augmente avec le nombre de mots de la table de Huffman.
4. 3 Generalizations
The method presented is generalized without difficulty in cases where the Huffman table contains more bits. However, the complexity of the reduced binary lattice increases with the number of words in the Huffman table.

<Desc/Clms Page number 14> <Desc / Clms Page number 14>

L'application de la méthode de l'invention aux codes RVLC [8] peut bien sûr être envisagée. Le treillis du bloc SISO~huff peut être utilisé en décodant dans l'autre sens mais cela implique une augmentation de la complexité. Une alternative serait d'utiliser les probabilités a priori dans un sens pour la phase forward et dans l'autre pour la phase backward .  The application of the method of the invention to the codes RVLC [8] can of course be considered. The lattice of the SISO ~ huff block can be used by decoding in the other direction but this implies an increase in complexity. An alternative would be to use the probabilities a priori in one direction for the forward phase and in the other for the backward phase.

D'autre part, il est intéressant de chercher parmi les codes de Huffman équivalents [17], celui qui est le mieux adapté pour le décodage soft du bloc SISO~huff .  On the other hand, it is interesting to search among the equivalent Huffman codes [17], which one is best adapted for the soft decoding of the SISO ~ huff block.

5- Décodage conjoint source-canal 5. Schéma de principe d'utilisation du bloc " SISO huff" "
Le treillis binaire réduit ou "SISO~huff" permet un décodage de type SISO et peut donc s'insérer dans un schéma de décodage itératif comme celui de la figure 4.
5- Source-channel joint decoding 5. Block diagram of use of the "SISO huff" block
The reduced binary trellis or "SISO ~ huff" allows decoding of the SISO type and can therefore be inserted in an iterative decoding scheme like that of FIG. 4.

Chaque bloc de décodage 41 à 44 de la figure 4 extrait de l'information extrinsèque sur les bits à décoder et envoie cette information au bloc suivant. Les informations qui circulent entre les différents blocs sont, comme dans la référence [15] des probabilités extrinsèques.  Each decoding block 41 to 44 of FIG. 4 extracts extrinsic information on the bits to be decoded and sends this information to the next block. The information circulating between the different blocks is, as in reference [15] extrinsic probabilities.

Des deux décodeurs de canal DECIet DEC2,41 et 43, on extrait deux informations extrinsèques différentes suivant qu'elles sont utilisées par le bloc "SISO~huff'' 42 ou 44 ou par l'autre décodeur de canal 41 ou 43. L'information extrinsèque 451, 452 utilisée par le décodeur de canal suivant est celle classiquement utilisée dans les turbo-codes. Celle utilisée par le bloc "SISOJhuff" 42,44, représentée en gras, 461, 462 correspond à cette première information à laquelle on a enlevé l'information issue du précédent bloc "SISO~huff", 44,42, ceci dans le but de respecter la règle selon laquelle tout bloc du décodage itératif ne doit pas utiliser une information qu'il a déjà produite.  Of the two DEC1 decoder DEC2,41 and channel 43, two different extrinsic information are extracted according to whether they are used by the "SISO ~ huff" block 42 or 44 or by the other channel decoder 41 or 43. 451, 452 extrinsic information used by the next channel decoder is that conventionally used in turbo-codes.The one used by the block "SISOJhuff" 42,44, shown in bold, 461, 462 corresponds to this first information which has been removed the information from the previous block "SISO ~ huff", 44,42, this in order to comply with the rule that any block of iterative decoding should not use information he has already produced.

La structure globale du décodeur itératif n'est pas discutée plus en détail.  The overall structure of the iterative decoder is not discussed further.

Elle est en effet connue en soi [1]. Les modules E 471et 472 sont des entrelaceurs (identiques à ceux mis en #uvre au codage) et le module E* 48 un désentrelaceur, symétrique à l'entrelaceur. It is indeed known in itself [1]. The modules E 471 and 472 are interleavers (identical to those implemented at the coding) and the E * 48 module a deinterleaver, symmetrical to the interleaver.

<Desc/Clms Page number 15> <Desc / Clms Page number 15>

Les informations prises en compte sont les suivantes : # Xk: Information de vraisemblance reçue sur les bits d'information émis ; # Y1k : Information de vraisemblance sur les bits de parité issus du codeur 1 ; # Y2k : Information de vraisemblance sur les bits de parité issus du codeur 2 ; # Proba : probabilité a priori ; # Sortie~hard : bit d'information décodé.  The information taken into account is as follows: # Xk: Likelihood information received on the information bits transmitted; # Y1k: Likelihood information on the parity bits from encoder 1; # Y2k: Likelihood information on the parity bits from encoder 2; # Proba: a priori probability; # Output ~ hard: decoded information bit.

Ce schéma est un exemple de décodage conjoint itératif où l'information a priori et l'information du canal sont utilisées tour à tour sur leur treillis associé. Il est aussi envisageable d'utiliser conjointement ces deux informations sur le treillis du décodeur canal comme le montre le deuxième procédé proposé.  This diagram is an example of iterative joint decoding where the prior information and the information of the channel are used in turn on their associated lattice. It is also conceivable to use both of these information on the lattice of the channel decoder as shown in the second proposed method.

5.2 Second algorithme de décodage conjoint source-canal
Le décodage conjoint proposé à la figure 4 réalise itérativement et séquentiellement les deux fonctions de décodage. On présente ci-après une technique où un bloc unique de décodage réalise simultanément les deux opérations. Cette technique s'applique aussi au décodage d'une source markovienne.
5.2 Second Source-Channel Decoding Algorithm
The joint decoding proposed in FIG. 4 iteratively and sequentially realizes the two decoding functions. The following is a technique where a single decoding block performs both operations simultaneously. This technique also applies to the decoding of a Markov source.

Le concept développé est applicable à toute chaîne de transmission composée d'un treillis de décodeur de canal (convolutif ou en bloc) et d'une source représentable par un arbre.  The concept developed is applicable to any transmission chain composed of a channel decoder trellis (convolutional or in block) and a source that can be represented by a tree.

5.2.1 Algorithme de construction du treillis
Le treillis utilisé est celui du codeur de canal et ne nécessite aucune nouvelle construction.
5.2.1 Algorithm for lattice construction
The trellis used is that of the channel coder and does not require any new construction.

5.2.2 Algorithme de décodage
L'algorithme de décodage est de type Viterbi. Il décode la séquence de mots la plus probable. Le calcul de métrique fait intervenir non seulement l'information du canal (cas usuel) mais aussi les probabilités a priori binaires.
5.2.2 Decoding algorithm
The decoding algorithm is of Viterbi type. It decodes the most likely sequence of words. The metric calculation involves not only the channel information (usual case) but also the binary prior probabilities.

Cette méthode s'apparente à celle présentée par Hagenauer [15] mais appliquée ici This method is similar to the one presented by Hagenauer [15] but applied here

<Desc/Clms Page number 16><Desc / Clms Page number 16>

aux codes à longueur variable.  variable length codes.

Pour ceci, l'algorithme doit savoir à quelle branche de l'arbre de Huffman correspond la branche actuellement traitée sur le décodeur de canal. Cette information lui suffit pour donner la probabilité a priori binaire adéquate (calculée comme dans le paragraphe 4.1et stockée au préalable dans un tableau).  For this, the algorithm must know which branch of the Huffman tree corresponds to the branch currently processed on the channel decoder. This information is sufficient to give the appropriate prior binary probability (calculated as in section 4.1 and previously stored in a table).

Cette information est facilement accessible en tenant à jour pour chaque étage et pour chaque état du treillis du décodeur de canal la position du bit dans l'arbre.  This information is easily accessible by keeping up to date for each stage and for each state of the trellis of the channel decoder the position of the bit in the tree.

Pour chaque étage du décodeur de canal,
Pour chaque état, corps de l'ACS (Add Compare Select) ajouter aux deux branches arrivant dans l'état la métrique du canal et celle de la source comparer les deux nouvelles métriques obtenues, choisir celle de métrique la plus faible remise à jour si on atteint la fin d'un mot, n#ud = racine de l'arbre sinon n#ud = noeud suivant dans l'arbre }
Reprenons l'exemple de l'arbre de la figure 1. L'algorithme se déroule comme présenté sur la figure 5. A l'étage considéré, il y a deux séquences concurrentes arrivant au deuxième état du treillis. Chacune correspond à un enchaînement de mots VLC différents. La première, en trait plein, correspond à l'émission de e, d,..., la seconde, en trait pointillé à b, e,.......La probabilité de branche a priori pour chacune d'elle, P [S2][0] et P [S0][1], dépend du noeud Si noté sur la séquence et du bit 0 ou lqui étiquette la branche. Une fois le calcul de la probabilité de la branche effectué, par la relation (6), on peut faire l'ACS classique.
For each stage of the channel decoder,
For each state, body of the ACS (Add Compare Select) add to the two branches arriving in the state the metric of the channel and that of the source compare the two new metrics obtained, choose the one of metric the weakest update if we reach the end of a word, n # ud = root of the tree otherwise n # ud = next node in the tree}
Let us take the example of the tree of FIG. 1. The algorithm proceeds as shown in FIG. 5. At the stage considered, there are two concurrent sequences arriving at the second state of the lattice. Each corresponds to a sequence of different VLC words. The first, in full line, corresponds to the emission of e, d, ..., the second, dotted line to b, e, ....... The probability of branch a priori for each of them , P [S2] [0] and P [S0] [1], depends on the node Si noted on the sequence and bit 0 or l which labels the branch. Once the calculation of the probability of the branch carried out, by the relation (6), one can make the classic ACS.

<Desc/Clms Page number 17> <Desc / Clms Page number 17>

Cette solution est très intéressante car, contrairement à la solution du bloc "SISO~huff", elle n'est pas limitée en complexité par la taille de la table de Huffman et n'augmente que de très peu la complexité actuelle des décodeurs de canal.  This solution is very interesting because, unlike the solution of the "SISO ~ huff" block, it is not limited in complexity by the size of the Huffman table and increases only very little the current complexity of the channel decoders. .

6- Application du second algorithme à un schéma itératif de décodage conjoint
6.1 Utilisation de cette méthode dans un schéma itératif
Un schéma pour l'utilisation dans un décodage itératif est représenté sur la figure 6.
6- Application of the second algorithm to an iterative scheme of joint decoding
6.1 Using this method in an iterative scheme
A scheme for use in iterative decoding is shown in FIG.

Le premier décodeur 61 utilise sur le même treillis l'information du canal et l'information a priori. Par contre, le deuxième décodeur 62 ne peut pas utiliser l'information a priori car l'entrelaceur 63, noté E, casse les relations entre les mots de code VLC. Ce dernier utilise alors les probabilités p(0) et p(1) qui sont dans la plupart des cas différentes.  The first decoder 61 uses on the same trellis the information of the channel and the information a priori. On the other hand, the second decoder 62 can not use the information a priori because the interleaver 63, denoted E, breaks the relations between the VLC codewords. The latter then uses the probabilities p (0) and p (1) which are in most cases different.

6.2 Cumul des deux approches de décodage conjoint
Il est possible d'utiliser les deux procédés proposés ci-dessus dans un schéma itératif, tel que celui donné à titre d'exemple en figure 7. Sur cette figure, les notations sont identiques à celles utilisées précédemment.
6.2 Cumulation of the two approaches to joint decoding
It is possible to use the two methods proposed above in an iterative scheme, such as that given by way of example in FIG. 7. In this figure, the notations are identical to those used previously.

L'élaboration d'un entrelaceur conservant les relations entre les mots permet de trouver un compromis entre entrelacement binaire optimal et conservation de la structure a priori sur les mots.  The elaboration of an interleaver preserving the relations between the words makes it possible to find a compromise between optimal binary interleaving and conservation of the structure a priori on the words.

7- Performances
On a montré la possibilité de réaliser un décodage à décision douce des codes de Huffman. Par rapport à des travaux déjà publiés, la méthode de l'invention permet de travailler au niveau bit. Il est ainsi possible d'introduire un bloc de décodage source à entrées et sorties pondérées, dit "SISO~huff", dans un schéma de décodage canal de type turbo-codes. Une autre possibilité est d'utiliser l'information a priori sur la source directement au niveau du décodeur de canal.
7- Performances
The possibility of soft-decision decoding of Huffman codes has been shown. Compared with previously published work, the method of the invention makes it possible to work at the bit level. It is thus possible to introduce a source decoding block with weighted inputs and outputs, called "SISO ~ huff", in a turbo-code channel decoding scheme. Another possibility is to use the information a priori on the source directly at the level of the channel decoder.

Cette deuxième méthode est nettement moins complexe et donne des résultats équivalents à ceux obtenus avec "SISO~huff". This second method is much less complex and gives results equivalent to those obtained with "SISO ~ huff".

<Desc/Clms Page number 18> <Desc / Clms Page number 18>

Les gains apportés par ce type de schéma dépend d'une part de la modélisation utilisée pour la source avec la connaissance a priori des probabilités des symboles de Huffman ou de leurs probabilités de transition, et d'autre part, du rapport Eb/N0 sur le canal.  The gains made by this type of scheme depends on the one hand on the modeling used for the source with the prior knowledge of the probabilities of the Huffman symbols or their transition probabilities, and on the other hand, on the ratio Eb / N0 on the canal.

Dans les comparaisons que nous avons effectuées, nous évaluons nos gains par rapport au schéma tandem correspondant. Dans la gamme des taux d'erreur binaire autour de 10-2à 10-3, les deux nouvelles techniques permettent des gains entre 0,5 et 1 dB dès leur première itération, ceci avec des codeurs NSC (en anglais : Non Systematic Coder ).  In the comparisons we have made, we evaluate our gains against the corresponding tandem scheme. In the range of bit error rates around 10-2 to 10-3, the two new techniques allow gains between 0.5 and 1 dB from their first iteration, this with NSC coders (in English: Non Systematic Coder) .

Par ailleurs leur utilisation dans un schéma itératif de type Turbo-Codes améliore les performances de 0,5 à 1,5 dB. De plus l'utilisation conjointe des 2 méthodes permet d'espérer un gain cumulé encore plus important.  Moreover, their use in an iterative scheme of the Turbo-Codes type improves the performance of 0.5 to 1.5 dB. Moreover, the joint use of the two methods makes it possible to expect an even greater cumulative gain.

Dans les fourchettes de gains annoncés, les valeurs les plus fortes sont obtenues à faible rapport signal à bruit, ce qui permet d'accroître notablement la plage de fonctionnement en transmission. A noter également que dans un schéma de type Turbo-Code, cela peut permettre de décaler d'autant, et donc de 0,5 à 1,5 dB, le point de déclenchement de l'effet Turbo-Codes.  In the announced earnings ranges, the highest values are obtained at low signal-to-noise ratio, which significantly increases the operating range in transmission. It should also be noted that in a Turbo-Code type scheme, this can shift the trigger point of the Turbo-Codes effect by 0.5 to 1.5 dB.

Le premier procédé nécessite le déroulement d'un algorithme de décodage sur le treillis "SISO~huff"alors que le deuxième nécessite simplement une remise à jour d'une table lors du décodage sur le treillis du décodeur de canal. De plus, contrairement au premier procédé, le deuxième a une complexité de calcul qui n'augmente pas avec le nombre de mots dans la table VLC.  The first method requires the running of a decoding algorithm on the lattice "SISO ~ huff" while the second simply requires updating a table during decoding on the trellis of the channel decoder. Moreover, unlike the first method, the second one has computational complexity that does not increase with the number of words in the VLC table.

L'utilisation des codes à longueur variable de type Huffman étant très largement répandue, ces techniques de décodage peuvent convenir dans de nombreux contextes. Les applications sont multiples. On retrouve par exemple des tables de Huffman dans la norme MPGE4 pour le codage des coefficients de la bande DC et de la bande AC pour les images codées en intra mais aussi pour le codage des vecteurs de mouvement.  As the use of Huffman variable length codes is very widespread, these decoding techniques may be suitable in many contexts. The applications are multiple. For example, Huffman tables are found in the MPGE4 standard for coding the coefficients of the DC band and the AC band for the intra-coded images, but also for the coding of the motion vectors.

L'invention peut également être utilisée dans une chaîne de transmission plus complète en prenant en compte un système de codage d'images à la norme,  The invention can also be used in a more complete transmission chain by taking into account a standard image coding system,

<Desc/Clms Page number 19><Desc / Clms Page number 19>

ou proche de la norme, et un modèle de canal représentatif du canal radio-mobile comme BRAN ( Broadcast Radio Network ).  or close to the standard, and a representative channel model of the mobile radio channel as BRAN (Broadcast Radio Network).

<Desc/Clms Page number 20> <Desc / Clms Page number 20>

ANNEXE A
VLC Huffman
Le code de Huffman ([17]) est un code entropique qui compresse une source en codant les données peu probables sur une longueur binaire supérieure à la moyenne et ceux très probables sur une longueur binaire courte. Le code de Huffman est très utilisé car il n'existe pas d'autres codes entier (dont les symboles sont codés sur un nombre entier de bits) qui donne un plus faible nombre moyen de bits par symbole. Une de ses caractéristiques essentielles est qu'une séquence binaire ne peut jamais être à la fois représentative d'un élément codé et constituer le début du code d'un autre élément. Cette caractéristique du codage de Huffman permet une codification à l'aide d'une structure d'arbre binaire.
ANNEX A
VLC Huffman
The Huffman code ([17]) is an entropy code that compresses a source by encoding the unlikely data over a bit length above the average and those highly likely over a short bit length. The Huffman code is widely used because there are no other integer codes (whose symbols are encoded on an integer number of bits) which gives a lower average number of bits per symbol. One of its essential characteristics is that a binary sequence can never be both representative of a coded element and constitute the beginning of the code of another element. This characteristic of Huffman coding allows for coding using a binary tree structure.

Il existe plusieurs façon de présenter la construction du code de Huffman. Celle qui semble la plus simple est basée sur une structure d'arbre.  There are several ways to present the construction of the Huffman code. The one that seems the simplest is based on a tree structure.

Soient les N mots ai de probabilités respectives p(ai). L'arbre est construit à partir de ses N sommets terminaux.  Let the N words ai of respective probabilities p (ai). The tree is built from its N terminal vertices.

Chaque sommet terminal i est affecté de la probabilité p(ai) et permettra d'avoir la décomposition binaire du mot a,.  Each terminal vertex i is assigned the probability p (ai) and will have the binary decomposition of the word a ,.

L'algorithme de construction de l'arbre consiste à chaque étape à sommer les deux probabilités les plus faibles de l'étape précédente pour les réunir en un sommet affecté de la probabilité somme.  The algorithm for constructing the tree consists in each step of summing the two lowest probabilities of the previous step to bring them together into an affected peak of the sum probability.

A la dernière étape, on obtient un sommet de probabilité 1.  In the last step, we obtain a vertex of probability 1.

Il reste à étiqueter les branches de l'arbre obtenu en indexant par un 1 les branches de droite de chaque sommet et par 0 les branches de gauche. La décomposition binaire du mot ai est alors obtenue en descendant l'arbre en partant du sommet de probabilité 1 jusqu'au sommet i.  It remains to label the branches of the tree obtained by indexing by 1 the right branches of each vertex and 0 the left branches. The binary decomposition of the word ai is then obtained by descending the tree from the top of probability 1 to the vertex i.

L'exemple expliqué prend le cas de 4 mots comme le montre la figure @,

Figure img00200001
The example explained takes the case of 4 words as shown in the figure @,
Figure img00200001

<tb>
<tb> mot <SEP> proba <SEP> codage
<tb> a0 <SEP> p <SEP> (a0) <SEP> 111
<tb> a1 <SEP> p(a1) <SEP> 110
<tb> a2 <SEP> p <SEP> (a2) <SEP> 10
<tb> a3 <SEP> p <SEP> (a3) <SEP> 0
<tb>
<Tb>
<tb> word <SEP> proba <SEP> encoding
<tb> a0 <SEP> p <SEP> (a0) <SEP> 111
<tb> a1 <SEP> p (a1) <SEP> 110
<tb> a2 <SEP> p <SEP> (a2) <SEP> 10
<tb> a3 <SEP> p <SEP> (a3) <SEP> 0
<Tb>

<Desc/Clms Page number 21> <Desc / Clms Page number 21>

Décodage source de symboles indépendants ou markoviens
Deux structures optimales sont utilisées pour le décodage d'une séquence codée. Chacune se base sur un critère différent, le critère de la séquence la plus vraisemblable ou le

Figure img00210001

critère du symbole le plus vraisemblable couramment appelé MAP 4 ax. M:n ., \0.;t..-.-r;
Algorithme de Viterbi
La recherche de la séquence la plus vraisemblable se fait avec l'algorithme de Viterbi [9] qui cherche la séquence X émise la plus probable connaissant la séquence Y reçue : max P(X/Y) (1) X
Comme la fonction logarithme est strictement croissante, il est équivalent de maximiser log P (X/Y) maxlog P(X/Y) (2)
En appliquant la loi de Bayes :
P(X/Y)P(Y) = P(Y/X)P(X) (3) le critère devient : max[log P(Y/X) + log P(X)] (4)
L'information a posteriori sur X se décompose en deux termes. Le premier log P(Y/X) concerne l'information fournie par le canal, le second log P(X) concerne l'information a priori sur la séquence émise. Decoding source of independent or Markov symbols
Two optimal structures are used for decoding an encoded sequence. Each is based on a different criterion, the criterion of the most likely sequence or the
Figure img00210001

criterion of the most likely symbol commonly called MAP 4 ax. M: n., \ 0.; t ..-.- r;
Algorithm of Viterbi
The search for the most likely sequence is done with the Viterbi algorithm [9], which looks for the most likely X sequence sent knowing the received Y sequence: max P (X / Y) (1) X
Since the logarithmic function is strictly increasing, it is equivalent to maximizing log P (X / Y) maxlog P (X / Y) (2)
By applying Bayes' law:
P (X / Y) P (Y) = P (Y / X) P (X) (3) the criterion becomes: max [log P (Y / X) + log P (X)] (4)
The posterior information on X breaks down into two terms. The first log P (Y / X) relates to the information provided by the channel, the second log P (X) relates to the information a priori on the transmitted sequence.

Si les échantillons de bruit du canal sont indépendants alors la loi du bruit P(Y/X) s'exprime comme le produit des lois de probabilités des bruits perturbant chacun des mots xi et yi et des bits transmis x, et yji:

Figure img00210002

En ce qui concerne la probabilité a priori P(X), les deux hypothèses envisagées sont: - les mots émis par la source sont indépendants :
Figure img00210003
If the noise samples of the channel are independent then the noise law P (Y / X) is expressed as the product of the probability laws of the noises disturbing each of the words xi and yi and the transmitted bits x, and yji:
Figure img00210002

With regard to the prior probability P (X), the two hypotheses considered are: - the words emitted by the source are independent:
Figure img00210003

<Desc/Clms Page number 22><Desc / Clms Page number 22>

- les mots émis suivent un processus de Markov d'ordre 1 comme par exemple dans le cas d'un codeur d'image en sous-bandes pour ce qui concerne la composante continue. On a alors

Figure img00220001

Classiquement, le décodage suivant l'algorithme de Viterbi comprend une phase d'ACS (Add Compare Sélect) : à chaque étage et à chaque état, on additionne la métrique de la branche associée à chacune des deux séquences concurrentes, on compare les deux métriques obtenues et on sélectionne la séquence de métrique la plus faible. the words transmitted follow a first order Markov process, for example in the case of a subband image coder with regard to the DC component. We then
Figure img00220001

Classically, the decoding according to the Viterbi algorithm comprises a phase of ACS (Add Compare Select): at each stage and at each state, the metric of the branch associated with each of the two competing sequences is added, the two metrics are compared obtained and the lowest metric sequence is selected.

Algorithme du MAP
Le décodage selon le MAP [10] se fait suivant la règle ci-dessous :

Figure img00220002

Le calcul de la probabilité p(xji = +1/Y) est complexe. Cette complexité peut-être réduite au prix d'une perte en performances. L'algorithme moins complexe est appelé algorithme SUBMAP [11]. MAP algorithm
Decoding according to MAP [10] is done according to the rule below:
Figure img00220002

The calculation of the probability p (xji = + 1 / Y) is complex. This complexity can be reduced at the cost of a loss in performance. The less complex algorithm is called the SUBMAP algorithm [11].

Pondération des décisions du décodeur Cette pondération est une information de fiabilité sur l'estimation réalisée par le décodeur. Cette information "soft", parfois appelée information extrinsèque, est utilisable par un décodeur externe, un décodeur de source ou tout autre dispositif intervenant dans la réception de l'information [12]. Weighting of the decoder decisions This weighting is information of reliability on the estimate made by the decoder. This "soft" information, sometimes called extrinsic information, can be used by an external decoder, a source decoder or any other device involved in the reception of the information [12].

Plusieurs algorithmes fournissent des décisions pondérées sur les valeurs décodées :

Figure img00220003

. G-...tr ..,c v.C;', 4"lre;...) - l'algorithme SOYA [13] se base sur une légère modification de l'algorithme de
Viterbi; Coke Jeunch Raviv) - l'algorithme BCJR@[14] est établi sur le critère du MAP. Several algorithms provide weighted decisions on decoded values:
Figure img00220003

. G -... tr .., c vC; ', 4 "lre; ...) - the SOYA algorithm [13] is based on a slight modification of the algorithm of
Viterbi; Coke Jeunch Raviv) - the algorithm BCJR @ [14] is established on the criterion of MAP.

Une source codée VLC ou issue d'un codeur de canal peut être représentée par un treillis duquel on peut extraire de l'information extrinsèque. L'invention propose une nouvelle méthode de construction d'un tel treillis à partir du code VLC de la source.  A VLC coded source or from a channel coder may be represented by a trellis from which extrinsic information can be extracted. The invention proposes a new method for constructing such a trellis from the VLC code of the source.

<Desc/Clms Page number 23> <Desc / Clms Page number 23>

Références [1] C. Berrou, A. Glavieux, and P. Thitimajshima. "Near Shannon limit error-correcting coding and decoding: Turbo-Codes". Proceedings of ICC, pages 1064-1070, May
1993.
References [1] C. Berrou, A. Glavieux, and P. Thitimajshima. "Shannon limited error-correcting coding and decoding: Turbo-Codes". Proceedings of ICC, pages 1064-1070, May
1993.

[2] C. E. Shannon. "A Machemaltical Theory of Communication", volume 27. Bell System
Tech. J., 1948.
[2] CE Shannon "A Machemaltical Theory of Communication", Volume 27. Bell System
Tech. J., 1948.

[3] S. B. Zahir Azami. "Codage conjoint Source/Canal, protection hiérarchique". PhD thesis, ENST Paris, May 1999.  [3] S. B. Zahir Azami. "Source / Channel joint coding, hierarchical protection". PhD thesis, ENST Paris, May 1999.

[4] N. Demir and K. Sayood. "Joint source/channel coding for variable length codes". In
Data Compression Conference (DCC), pages 139-148, Snowbird, Utah, March 1998.
[4] N. Demir and K. Sayood. "Joint source / channel coding for variable length codes". in
Data Compression Conference (DCC), pp. 139-148, Snowbird, Utah, March 1998.

[5] A. H. Murad and T. E. Fuja. "Joint source-channel decoding of variable length encoded sources". In Information Theory Workshop (ITW), pages 94-95, Killarney,
Ireland, June 1998.
[5] AH Murad and TE Fuja. "Source-channel joint decoding of variable length encoded sources". In Information Theory Workshop (ITW), pp. 94-95, Killarney,
Ireland, June 1998.

[6] K. P. Subbalakshmi and J. Vaisey. "Joint source-channel decoding of entropy coded markov sources over binary symmetric channels". In Proc. International Conference on Communications (ICC), pages 94-95, Vancouver, June 1999.  [6] K. P. Subbalakshmi and J. Vaisey. "Joint source-channel decoding of entropy coded markov sources over binary symmetric channels". In Proc. International Conference on Communications (ICC), 94-95, Vancouver, June 1999.

[7] J. Wien and J. D. Villasenor. "Utilizing soft information in decoding of variable length codes". In Data Compression Conference (DCC), Snowbird, Utah, March
1999.
[7] J. Wien and JD Villasenor. "Utilizing soft information in decoding of variable length codes". In Data Compression Conference (DCC), Snowbird, Utah, March
1999.

[8] Y. Takishima, M. Wada, and H. Murakami. "Réversible variable length codes". IEEE
Transactions on Communications, 43 :158-162, 1995.
[8] Y. Takishima, M. Wada, and H. Murakami. "Reversible variable length codes". IEEE
Transactions on Communications, 43: 158-162, 1995.

[9] A. Viterbi. "Error bounds for convolutional codes and an asymptotically optimal decoding algorithm". IEEE Transactions on Information theory, 13 :260-269, 1967.  [9] A. Viterbi. "Error bounds for convolutional codes and an asymptotically optimal decoding algorithm". IEEE Transactions on Information Theory, 13: 260-269, 1967.

[10] W. Koch and A. Baier. "Optimum and sub-optimum detection of coded data dis- turbed by time-varying intersymbol interférence". Proceedings GLOBECOM, pages 1679-1684, December 1990. [10] W. Koch and A. Baier. "Optimum and suboptimal detection of coded data distorted by time-varying intersymbol interference". GLOBECOM Proceedings, pp. 1679-1684, December 1990.

[11] P. Robertson, E. Villebrun, and P. Hoeher. "A comparaison of optimal and sub- optimal map decoding algorithms operating in the log-domain". In Proc. Internatio- nal Conférence on Communications (ICC), pages 1009-1013, Seattle, Washington,
June 1995.
[11] P. Robertson, E. Villebrun, and P. Hoeher. "A comparison of optimal and sub-optimal map decoding algorithms operating in the log-domain". In Proc. International Conference on Communications (ICC), pages 1009-1013, Seattle, Washington,
June 1995.

12] J. Hagenauer. "Soft-in/Soft-out: the benefit of using soft values in all stages of digital receiver". Institute for communications technology, 1990.  12] J. Hagenauer. "Soft-in / soft-out: the benefit of using soft values in all stages of digital receiver". Institute for communications technology, 1990.

<Desc/Clms Page number 24> <Desc / Clms Page number 24>

[13] J. Hagenauer and P. Hoeher. "A Viterbi algorithm with soft-decision outputs and its applications". Proceedings GLOBECOM, pages 1680-1686, November 1989.  [13] J. Hagenauer and P. Hoeher. "A Viterbi algorithm with soft-decision outputs and its applications". GLOBECOM Proceedings, pages 1680-1686, November 1989.

[14] L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv. "Optimal decoding of linear codes for minimizing symbol error rate". IEEE Transactions on Information theory, pages
284-287, March 1974.
[14] LR Bahl, J. Cocke, F. Jelinek, and J. Raviv. "Optimal decoding of linear codes for minimizing symbol error rate". IEEE Transactions on Information theory, pages
284-287, March 1974.

[15] S. Benedetto and G. Montorsi. "Generalized concatenated codes with interleavers". [15] S. Benedetto and G. Montorsi. "Generalized concatenated codes with interleavers".

In International Symposium on Turbocodes, pages 32-39, Brest, September 1997.  In International Symposium on Turbocodes, pp. 32-39, Brest, September 1997.

[16] J. Hagenauer. "Source-controlled channel decoding". IEEE Transactions on Com- munications, 43:2449-2457, September 1995. [16] J. Hagenauer. "Source-controlled channel decoding". IEEE Transactions on Communications, 43: 2449-2457, September 1995.

[17] A. E. Escott and S. Perkins. "Binary Huffman équivalent codes with a short synchro- nizing codeword". IEEE Transactions on Information theory, 44 :346-351, January
1998.
[17] AE Escott and S. Perkins. "Binary Huffman equivalent codes with a short synchro-nizing codeword". IEEE Transactions on Information Theory, 44: 346-351, January
1998.

[18] D. A. Huffman. "Method for the reconstruction of minimum redundancy codes". [18] D. A. Huffman. "Method for the reconstruction of minimum redundancy codes".

Key Papers in The development of Information Theory, pages 47-50,1952.  Key Papers in The Development of Information Theory, pp. 47-50, 1952.

[19] K. Sayood and J. C. Borkenhagen. "Utilization of corrélation in low rate dpcm systems for channel error protection". In Proc. International Conférence on Communications (ICC), pages 1888-1892, June 1986.[19] K. Sayood and J. C. Borkenhagen. "Utilization of correlation in low rate dpcm systems for channel error protection". In Proc. International Conference on Communications (ICC), pp 1888-1892, June 1986.

Claims (19)

REVENDICATIONS 1. Procédé de décodage de données numériques reçues correspondant à des données numériques émises codées à l'aide d'un code entropique associant à chacun des mots (50 à 58) d'un alphabet une séquence de bits distincte, dont la longueur est fonction de la probabilité d'occurrence dudit mot (50 à 58), caractérisé en ce qu'il met en #uvre un treillis de décodage dont chaque transition correspond à une valeur binaire 0 ou 1 d'un des bits d'une séquence de bits correspondant à l'un desdits mots.  1. A method of decoding received digital data corresponding to transmitted digital data encoded with the aid of an entropy code associating with each word (50 to 58) of an alphabet a distinct bit sequence, the length of which is function of the probability of occurrence of said word (50 to 58), characterized in that it implements a decoding trellis of which each transition corresponds to a binary value 0 or 1 of one of the bits of a sequence of bits corresponding to one of said words. 2. Procédé de décodage selon la revendication 1, ledit code entropique étant représenté sous la forme d'un arbre binaire comprenant un n#ud racine (50), une pluralité de n#uds intermédiaires (51 à 53) et une pluralité de n#uds feuilles (54 à 58), une séquence de bits correspondant à un desdits mots étant formée en considérant les transitions successives dudit arbre depuis ledit n#ud racine jusqu'au n#ud feuille associé audit mot, caractérisé en ce que les états de chaque étage dudit treillis comprennent un unique état dit extrémal (dO), correspondant audit n#ud racine et à l'ensemble desdits n#uds feuilles, et un état distinct, dit état intermédiaire (dl à d3) pour chacun desdits n#uds intermédiaires. The decoding method according to claim 1, said entropy code being represented as a binary tree comprising a root node (50), a plurality of intermediate nodes (51 to 53) and a plurality of nodes. sheets (54 to 58), a sequence of bits corresponding to one of said words being formed by considering the successive transitions of said tree from said root node to the leaf node associated with said word, characterized in that the states each stage of said lattice comprises a single state called extremal (dO), corresponding to said root node and all of said leaf nodes, and a distinct state, said intermediate state (dl to d3) for each of said n # intermediary uds. 3. Procédé de décodage selon l'une quelconque des revendications 1 et 2, caractérisé en ce que l'on associe à chaque transition dudit treillis une information de vraisemblance. 3. decoding method according to any one of claims 1 and 2, characterized in that is associated with each transition of said trellis information likelihood. 4. Procédé de décodage selon la revendication 3. caractérisé en ce que ladite information de vraisemblance est une métrique tenant compte d'une part d'une information représentative du canal de transmission et d'autre part d'une probabilité binaire a priori. 4. decoding method according to claim 3. characterized in that said likelihood information is a metric taking into account on the one hand information representative of the transmission channel and on the other hand a binary probability a priori. 5. Procédé de décodage selon la revendication 4, caractérisé en ce que l'on calcule, pour chacune desdites transitions, la métrique suivante : 5. Decoding method according to claim 4, characterized in that for each of said transitions, the following metric is calculated:
Figure img00250001
Figure img00250001
6. Procédé de décodage selon l'une quelconque des revendications 1 à 5,  6. Decoding method according to any one of claims 1 to 5, <Desc/Clms Page number 26><Desc / Clms Page number 26> caractérisé en ce que ledit code entropique appartient au groupe comprenant : # les codes de Huffman ; # les codes à longueur variable réversibles.  characterized in that said entropy code belongs to the group comprising: # Huffman codes; # reversible variable length codes. 7. Procédé de décodage conjoint source-canal d'un signal numérique reçu, le codage source mettant en #uvre un code entropique associant à chacun des mots (50 à 58) d'un alphabet une séquence de bits distincte, dont la longueur est fonction de la probabilité d'occurrence dudit mot, caractérisé en ce qu'il met en #uvre un décodage source (42,44) utilisant au moins un treillis de décodage dont chaque transition correspond à une valeur binaire 0 ou 1 d'un des bits de la séquence de bits correspondant à l'un desdits mots (50 à 58), ledit décodage source délivrant une information extrinsèque au décodage canal (41, 43). A source-channel joint decoding method of a received digital signal, the source encoding implementing an entropy code associating with each of the words (50 to 58) of an alphabet a distinct bit sequence, the length of which is function of the probability of occurrence of said word, characterized in that it implements a source decoding (42,44) using at least one decoding trellis of which each transition corresponds to a binary value 0 or 1 of one of the bits of the bit sequence corresponding to one of said words (50 to 58), said source decoding delivering extrinsic information to the channel decoding (41, 43). 8. Procédé de décodage conjoint selon la revendication 7, caractérisé en ce que le décodage canal (42,44)met en #uvre un décodage de type turbo-code. 8. Joint decoding method according to claim 7, characterized in that the channel decoding (42,44) implements a turbo-code type decoding. 9. Procédé de décodage conjoint selon la revendication 8, caractérisé en ce que ledit décodage de type turbo-code repose sur une mise en #uvre de type parallèle. 9. Joint decoding method according to claim 8, characterized in that said turbo-code type decoding is based on a parallel-type implementation. 10. Procédé de décodage conjoint selon la revendication 8, caractérisé en ce que ledit décodage de type turbo-code repose sur une mise en #uvre de type série. 10. Joint decoding method according to claim 8, characterized in that said turbo-code type decoding is based on a serial type of implementation. 11. Procédé de décodage conjoint selon l'une quelconque des revendications 7 à 10, caractérisé en ce qu'il repose sur une mise en #uvre itérative. 11. Joint decoding method according to any one of claims 7 to 10, characterized in that it is based on an iterative implementation. 12. Procédé de décodage conjoint selon la revendication 11, caractérisé en ce que chacune des itérations comprend séquentiellement une étape de décodage canal (41, 43) et une étape de décodage source (42,44), ladite étape de décodage canal délivrant une information de canal prise en compte dans ladite étape de décodage source, cette dernière délivrant une information a priori prise en compte dans ladite étape de décodage canal. The method of joint decoding according to claim 11, characterized in that each of the iterations comprises sequentially a channel decoding step (41, 43) and a source decoding step (42, 44), said channel decoding step delivering information channel taken into account in said source decoding step, the latter delivering a priori information taken into account in said channel decoding step. 13. Procédé de décodage conjoint selon la revendication 12, caractérisé en ce qu'il comprend : # une première étape de décodage canal (41) ; 13. Joint decoding method according to claim 12, characterized in that it comprises: a first channel decoding step (41); <Desc/Clms Page number 27><Desc / Clms Page number 27> # une première étape de décodage source (42), alimentée par ladite première étape de décodage canal ; # une seconde étape de décodage canal '43), alimentée par ladite première étape de décodage canal et ladite première étape de décodage source, via un entrelaceur (47) identique à l'entrelaceur mis en #uvre au codage, et alimentant ladite première étape de décodage canal, via un désentrelaceur (48) symétrique audit entrelaceur ; # une seconde étape de décodage source (44) alimentée par ladite seconde étape de décodage canal via ledit désentrelaceur (48), et alimentant ladite première étape de décodage canal (41).  a first source decoding step (42), powered by said first channel decoding step; a second channel decoding step '43), fed by said first channel decoding step and said first source decoding step, via an interleaver (47) identical to the interleaver implemented at the coding, and feeding said first step channel decoding means, via a deinterleaver (48) symmetrical to said interleaver; a second source decoding step (44) fed by said second channel decoding step via said de-interleaver (48), and feeding said first channel decoding step (41). 14. Procédé de décodage conjoint source-canal d'un signal numérique reçu, le codage source mettant en #uvre un code entropique associant à chacun des mots d'un alphabet une séquence de bits distincte, dont la longueur est fonction de la probabilité d'occurrence dudit mot, caractérisé en ce qu'il met en #uvre un treillis de décodage canal, similaire au treillis de codage canal, dans lequel on associe à chaque état de chaque étage une information désignant la position du bit considéré dans l'arbre représentant ledit code entropique. 14. A source-channel joint decoding method of a received digital signal, the source encoding implementing an entropy code associating with each of the words of an alphabet a distinct bit sequence, whose length is a function of the probability of occurrence of said word, characterized in that it implements a channel decoding trellis, similar to the channel coding trellis, in which is associated with each state of each stage information indicating the position of the bit considered in the tree representing said entropy code. 15. Procédé de décodage conjoint selon la revendication 14, caractérisé en ce qu'il comprend, pour chacun desdits états, les étapes suivantes : # ajout, aux deux branches arrivant dans ledit état, de la métrique du canal et de la métrique de la source ; # comparaison des deux nouvelles métriques obtenues, et sélection de la métrique la plus faible ; # si ladite information désignant la position indique la fin d'un mot, considérer que le n#ud est une feuille de l'arbre, sinon, passer au n#ud suivant dans l'arbre. 15. A method of joint decoding according to claim 14, characterized in that it comprises, for each of said states, the following steps: adding, to the two branches arriving in said state, the metric of the channel and the metric of the source; # comparison of the two new metrics obtained, and selection of the weakest metric; # if the said information designating the position indicates the end of a word, consider that the node is a leaf of the tree, if not, go to the next node in the tree. 16. Procédé de décodage conjoint selon l'une quelconque des revendications 14 et 15, caractérisé en ce qu'il met en #uvre une procédure itérative. 16. Joint decoding method according to any one of claims 14 and 15, characterized in that it implements an iterative procedure. <Desc/Clms Page number 28><Desc / Clms Page number 28> 17. Procédé de décodage conjoint selon la revendication 16, caractérisé en ce qu'il comprend les étapes suivantes : # premier décodage canal, mettant en #uvre un treillis de décodage canal dont chaque état dispose d'une information désignant la position du bit considéré dans l'arbre représentant ledit code entropique ; # deuxième décodage canal, alimenté par ledit premier décodage canal, via un entrelaceur identique à celui mis en #uvre au codage, et alimentant ledit premier décodage canal, via un désentrelaceur symétrique dudit entrelaceur ; # décodage source, alimenté par ledit deuxième décodage canal, via ledit désentrelaceur.  17. Joint decoding method according to claim 16, characterized in that it comprises the following steps: # first channel decoding, implementing a channel decoding trellis of which each state has information indicating the position of the bit considered. in the tree representing said entropy code; second channel decoding, powered by said first channel decoding, via an interleaver identical to that implemented in coding, and feeding said first channel decoding, via a symmetrical deinterleaver of said interleaver; source decoding, powered by said second channel decoding, via said de-interleaver. 18. Dispositif de décodage de données numériques mettant en #uvre le procédé de décodage selon l'une quelconque des revendications 1 à 17. 18. A digital data decoding device implementing the decoding method according to any one of claims 1 to 17. 19. Système de transmission d'un signal numérique, caractérisé en ce qu'il met en #uvre, à l'émission, un codage source entropique et un codage canal, et à la réception, un décodage selon le procédé de l'une quelconque des revendications 1 à 17.19. System for transmitting a digital signal, characterized in that it implements, on transmission, an entropy source coding and a channel coding, and on reception, a decoding according to the method of the one any of claims 1 to 17.
FR9914321A 1999-11-09 1999-11-09 Digital code decoding technique uses decoding lattice based on binary tree structure for reduced error rate decoding Pending FR2800941A1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
FR9914321A FR2800941A1 (en) 1999-11-09 1999-11-09 Digital code decoding technique uses decoding lattice based on binary tree structure for reduced error rate decoding
FR0004787A FR2800942A1 (en) 1999-11-09 2000-04-13 METHOD FOR DECODING ENCODED DATA USING AN ENTROPY CODE, DECODING DEVICE AND CORRESPONDING TRANSMISSION SYSTEM
US10/111,833 US6812873B1 (en) 1999-11-09 2000-11-02 Method for decoding data coded with an entropic code, corresponding decoding device and transmission system
EP00974640A EP1230736B1 (en) 1999-11-09 2000-11-02 Method for decoding data coded with an entropic code, corresponding decoding device and transmission system
AT00974640T ATE241873T1 (en) 1999-11-09 2000-11-02 METHOD FOR DECODING DATA ENCODED WITH AN ENTROPY CODE, CORRESPONDING DECODING DEVICE AND TRANSMISSION SYSTEM
PCT/FR2000/003061 WO2001035535A1 (en) 1999-11-09 2000-11-02 Method for decoding data coded with an entropic code, corresponding decoding device and transmission system
DE60003071T DE60003071T2 (en) 1999-11-09 2000-11-02 METHOD FOR DECODING DATA ENCODED WITH AN ENTROPY CODE, CORRESPONDING DECODING DEVICE AND TRANSMISSION SYSTEM
JP2001537168A JP4836379B2 (en) 1999-11-09 2000-11-02 Method for decoding encoded data having entropy code, and corresponding decoding device and transmission system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9914321A FR2800941A1 (en) 1999-11-09 1999-11-09 Digital code decoding technique uses decoding lattice based on binary tree structure for reduced error rate decoding

Publications (1)

Publication Number Publication Date
FR2800941A1 true FR2800941A1 (en) 2001-05-11

Family

ID=9552122

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9914321A Pending FR2800941A1 (en) 1999-11-09 1999-11-09 Digital code decoding technique uses decoding lattice based on binary tree structure for reduced error rate decoding

Country Status (1)

Country Link
FR (1) FR2800941A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100477532C (en) * 2001-10-19 2009-04-08 诺基亚公司 Huffman coding method and equipment

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DEMIR N ET AL: "Joint source/channel coding for variable length codes", PROCEEDINGS OF CONFERENCE ON DATA COMPRESSION (DCC'98), 30 March 1998 (1998-03-30) - 1 April 1998 (1998-04-01), Snowbird, UT, USA, pages 139 - 148, XP002143231 *
MURAD A H ET AL: "Joint source-channel decoding of variable-length encoded sources", INFORMATION THEORY WORKSHOP ITW98, 22 June 1998 (1998-06-22) - 26 June 1998 (1998-06-26), Killarney, ireland, pages 94 - 95, XP002143123 *
PARK M S ET AL: "Improved joint source-channel decoding for variable-length encoded data using soft decisions and MMSE estimation", PROCEEDINGS OF CONFERENCE ON DATA COMPRESSION (DCC'99), 29 March 1999 (1999-03-29) - 31 March 1999 (1999-03-31), Snowbird, UT, USA, pages 544, XP002143145 *
SUBBALAKSHMI K P ET AL: "Joint source-channel decoding of entropy coded Markov sources over binary symmetric channels", INTERNATIONAL CONFERENCE ON COMMUNICATIONS, vol. 1, 6 June 1999 (1999-06-06) - 10 June 1999 (1999-06-10), Vancouver, BC, Canada, pages 446 - 450, XP002143232 *
WEN J ET AL: "Utilizing soft information in decoding of variable length codes", PROCEEDINGS OF CONFERENCE ON DATA COMPRESSION (DCC'99), 29 March 1999 (1999-03-29) - 31 March 1999 (1999-03-31), Snowbird, UT, USA, pages 131 - 139, XP002143233 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100477532C (en) * 2001-10-19 2009-04-08 诺基亚公司 Huffman coding method and equipment

Similar Documents

Publication Publication Date Title
EP1230736B1 (en) Method for decoding data coded with an entropic code, corresponding decoding device and transmission system
Kliewer et al. Iterative joint source-channel decoding of variable-length codes using residual source redundancy
Guivarch et al. Joint source-channel soft decoding of Huffman codes with turbo-codes
FR2808632A1 (en) TURBO-DECODING METHOD WITH RE-ENCODING OF ERRONEOUS INFORMATION AND FEEDBACK
WO2002007453A2 (en) Improved sliding window turbo decoder for convolutional codes
GB2365290A (en) Soft output decoder for convolutional codes using a sliding window technique which involves a learning period, stored forward recursion and backward recursion
WO2002031964A1 (en) Improved decoding of turbo codes using data scaling
Thobaben et al. Robust decoding of variable-length encoded Markov sources using a three-dimensional trellis
EP1728330A1 (en) Joint source-channel decoding method and associated joint source-channel decoder
JP3741616B2 (en) Soft decision output decoder for convolutional codes
FR2807895A1 (en) Methods and devices for coding and decoding and systems implementing them, for use in protected wireless communications
GB2365291A (en) Soft output decoder for convolutional codes using a sliding window technique which involves a learning period, stored backward recursion and forward recursion
FR2828359A1 (en) TRANSMITTER, RECEIVER, METHODS, PROGRAM AND SIGNAL SUITABLE FOR MODULATIONS WITH A LARGE NUMBER OF STATES
Kliewer et al. Combining FEC and optimal soft-input source decoding for the reliable transmission of correlated variable-length encoded signals
FR2802735A1 (en) Coding/decoding digital word mechanism having padding providing polynomial division with interspersion sequence/second padding operation and recursive coding operation output
FR2806177A1 (en) DIGITAL CORRECTIVE ERROR-TYPE CODING TRANSMITTING METHOD
FR2800941A1 (en) Digital code decoding technique uses decoding lattice based on binary tree structure for reduced error rate decoding
FR2850810A1 (en) METHOD FOR CONTROLLING THE NUMBER OF ITERATIONS OF AN ITERATIVE DECODING PROCESS AND DEVICE FOR IMPLEMENTING THE METHOD
Lin et al. Joint source-channel coding using combined TCQ/CPM: iterative decoding
EP1094612A1 (en) SOVA Turbo decoder with decreased normalisation complexity
Shoup Hardware implementation of a high-throughput 64-PPM serial concatenated turbo decoder
Chang et al. Performance improvement of turbo codes by error range search method in Rayleigh fading channel
Gonzalez Towards higher speed decoding of convolutional turbocodes
KR100369422B1 (en) Soft output decoder for convolutional codes
Stirling-Gallacher Performance of sub-optimal normalisation schemes for a turbo decoder using the soft output Viterbi algorithm