WO2004012340A2 - Dispositif et procede de decodage robuste de codes arithmetiques - Google Patents
Dispositif et procede de decodage robuste de codes arithmetiques Download PDFInfo
- Publication number
- WO2004012340A2 WO2004012340A2 PCT/FR2003/002246 FR0302246W WO2004012340A2 WO 2004012340 A2 WO2004012340 A2 WO 2004012340A2 FR 0302246 W FR0302246 W FR 0302246W WO 2004012340 A2 WO2004012340 A2 WO 2004012340A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- probabilities
- state
- model
- binary elements
- bits
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/6312—Error control coding in combination with data compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the invention relates to the compression / decompression of digital data, in particular for multimedia signals (audio, image, video, speech), and the robust transmission of this data over noisy networks, such as wireless networks, mobile communications.
- the present invention proposes advances in this direction.
- the invention relates to a decoding method comprising the following steps: a. provide a source model suitable for defining probabilities for x-ary symbols, associated with transitions between source states in a source state diagram, a so-called “product” model, suitable for defining a correspondence between the x-ary symbols and first binary elements, as a function of states produced in a "product" state diagram, a product state being a function of a source state b. receive "channel" properties, capable of defining probabilities of receiving second binary elements, on transmission of first binary elements, c.
- the model produced is established from the source model and from a transfer model, suitable for establishing a correspondence between x-ary symbols and first binary elements, as a function of probabilities associated with x-ary symbols.
- the product and transfer models are of the arithmetic type and the transfer model is an encoding or decoding model.
- step c. includes the calculation, in stages, of the probabilities of decoding an x-ary symbol knowing bits of the stream of second binary elements.
- step c. includes, for each step from a given number of steps and according to a given selection criterion, the selection of certain probabilities from among the probabilities of decoding an x-ary symbol, knowing bits of the stream of second binary elements, calculated during a stage.
- the selection criterion of step c. includes a fixed number of probabilities to be kept among the largest of the probabilities.
- the selection criterion of step c. includes a minimum threshold compared to the probabilities of receiving second binary elements, on transmission of first binary elements, so as to memorize, at each step, only the probabilities of decoding an x-ary symbol, knowing bits of the stream of second binary elements, calculated from probabilities of receiving second binary elements, on transmission of first binary elements, greater than this minimum threshold.
- step c. includes the elaboration of a tree made up of states linked by transitions, each state corresponding to a step of calculating probabilities and each transition, starting from a state, corresponding to one of these calculated probabilities.
- the selection of certain probabilities among the probabilities of decoding an x-ary symbol, knowing bits of the stream of second binary elements, corresponds to the construction of states corresponding to a subset of transitions of the tree function of said certain probabilities.
- step d. includes the calculation of the product of probabilities corresponding to successive transitions in the tree and the selection of the largest product corresponding to the most probable successive transitions and the most probable x-ary symbol flow.
- step c. includes calculating, for a given number of successive x-ary symbols to be decoded, the probabilities of decoding a sequence of x-ary symbols knowing bits of the stream of second binary elements.
- step c. includes calculating, for a given number of successive bits of the stream of second binary elements, the probabilities of decoding a sequence of x-ary symbols, knowing bits of the stream of second binary elements.
- step c. includes cl. the successive construction of states linked by transitions of a state diagram produced from an original state to a final state, each state defining an expected number of decoded x-area symbols for a given number of bits of the flow of second bits from the original state.
- the construction of step c. includes c2. successive deletion of states from the produced state diagram, from the final state to the original state, for which the expected number of x-ary symbols for a given number of bits in the stream of second binary elements is different of a maximum known number of x-ary symbols.
- step c. includes cl. the calculation, after each constructed state, of the first successive probabilities of arriving in a given state knowing bits passed from the stream of second binary elements, c2. the calculation, for each state from the final state to the original state, of the second successive probabilities of arriving in this given state knowing the next bits of the stream of second binary elements.
- step c. includes c3. the calculation, for each state of the diagram from the original state to the final state, of the first successive probabilities of arriving in this given state knowing bits passed from the stream of second binary elements, and, for each state from l 'final state to the original state, second successive probabilities of arriving in a given state knowing the next bits of the stream of second binary elements.
- step c. includes calculating the probability of each state by performing the product of the first and second probabilities for each state and step d. includes the calculation of the products of probabilities of the different possible successive states then the selection of the maximum product.
- step d. includes establishing the flow of x-ary symbols corresponding to these successive states using the correspondence of the product model.
- the invention also relates to a decoder comprising a first input for receiving a coded stream of second binary elements.
- This decoder comprising a second input for receiving channel properties capable of defining probabilities of receiving second binary elements, on transmission of first binary elements, a first module defining - a source model suitable for defining probabilities for x-ary symbols associated with transitions between source states in a source state diagram,
- a processing module suitable for calculating probabilities of decoding x-ary symbols, knowing bits of the coded stream of second binary elements, respectively probabilities of arriving in produced states knowing bits of the stream of second binary elements, from the properties of the channel, the source model and the product model, and adapted to reconstruct the flow of x-ary symbols most likely from these calculated probabilities.
- FIG. 1 illustrates an assembly comprising an encoder and a decoder according to the invention
- FIG. 2 is a general view of the coding method which can be implemented in a coder according to the invention
- FIG. 3 is a diagram forming a general view of the decoding method which can be implemented in a decoder according to the invention
- FIGS. 4A and 4B illustrate three different representations of the same model called "source” establishing a correspondence between the symbols of the source and bit sequences
- - Figures 5A and 5B illustrate two different representations of the same correspondence between symbol sequences and bit sequences, based on the so-called "source” model of FIGS. 4A and 4B,
- table 1 illustrates a table representation of a so-called "coder" model
- table 2 illustrates a representation in the form of a table of a so-called “decoder” model
- FIG. 6A illustrates a representation in table form of a model called “source-coder product” according to the invention
- FIG. 6B illustrates a representation in the form of a trellis of the so-called “source-encoder product” model of FIG. 6A according to the invention
- FIGS. 7A and 7B illustrate two partial representations in the form of a trellis of the so-called “coder” model of table 1
- FIG. 8 illustrates a generalized representation of a model called “source-encoder product” according to the invention
- - Figure 9A illustrates a representation in table form of a model called “source-decoder product” according to the invention
- FIG. 9B illustrates a representation in the form of a trellis of the so-called "source-decoder product" model of FIG. 9A according to the invention
- FIG. 10 illustrates a generalized representation of a model called "source-decoder product" according to the invention
- FIG. 11 illustrates the decoding method in a first embodiment according to the invention
- FIG. 12 illustrates the decoding method in a second embodiment according to the invention
- FIG. 13 illustrates a representation in the form of a trellis produced from the decoding method of FIG. 11 or 12
- FIG. 14 illustrates the decoding method in a third embodiment according to the invention
- FIG. 15 illustrates the decoding method in a fourth embodiment according to the invention.
- a multimedia signal compression system uses statistical codes also called variable length codes. These make it possible to obtain bit rates approaching what specialists call “signal entropy”.
- the codes most used in existing systems are the Huffman codes which have been described in the following work: DA Huffman: "Amethod for the construction of minimum redundancy codes", Proc. IRE, 40 (1951), p.1098-1101. More recently, we have seen a renewed interest in arithmetic codes because of their increased performance in terms of compression. They make it possible to decouple the encoding process from the supposed model from the source. This makes it easy to use higher order statistical models. These arithmetic codes have been described in works such as
- Variable length codes could therefore be widely used despite their high sensitivity to transmission noise. This almost zero residual error rate assumption is no longer true in wireless and mobile networks, whose channel characteristics vary over time (non-stationary channels). This residual error rate seen by the decoder of the source signals is often far from negligible. Any error in the bit stream can cause a decoding of the decoder and therefore a propagation of the errors on the continuation of the decoded information.
- first generation standards H.261, H.263, MPEG-1, MPEG-2 have incorporated synchronization markers in the syntax of the binary train transmitted. These are long code words (16 or 22 bits consisting of a series of 15 or 21 bits with 'l' followed by a '0') which cannot be emulated by errors occurring on the other code words and which can therefore be recognized by the decoder with a probability close to '1'.
- RNLC reversible variable length codes
- this symmetry of the code makes it possible to confine the propagation of the errors on a segment in the middle of the packet instead of propagating it until the end of the packet delimited by a synchronization marker.
- the symmetry of the code generates a loss in compression efficiency compared to a Huffman code of the order of 10%.
- reversible variable length codes do not completely avoid the problem of propagation of errors: if an error occurs at the start and end of the packet, the whole packet may be in error.
- the invention described relates in particular to an encoder / decoder device for a family of codes widely used in compression systems such as arithmetic type codes comprising arithmetic codes and quasi-arithmetic codes.
- arithmetic type codes comprising arithmetic codes and quasi-arithmetic codes.
- the principles of arithmetic and quasi-arithmetic coding are developed below. They are developed in more detail in the work [2] and the following works [3] - 1. H. itten and RM Neal and JG Cleary. Arithmetic coding for data compression. Communications of the ACM, 30 (6): 520-540, June 1987, [4] PG Howard and JS Vitter, Image and Text Compression, pages 85-112. Kluwer Academy Publisher, 1992.
- sequence designates a flow or a series of elements.
- a sequence of bits, respectively of symbols will designate a stream or a series of bits, respectively of symbols.
- This alphabet has a stationary distribution which indicates for each symbol an associated statorial probability.
- This sequence of -aire symbols (also called source A) is converted into a sequence of x-ary symbols (with x ⁇ M).
- this sequence of M-ary symbols is converted into a sequence of binary symbols S ⁇ Si — Si, (also called source S)
- This conversion uses a source model described below comprising a correspondence between the M-ary source A and the binary source S.
- the length N of this binary train is a random variable, a function of S, the sequence of binary symbols, itself a function of A, the sequence of M-ary symbols.
- the train of first binary elements U is transmitted, by way of example only, on a channel without memory. This train of first binary elements U is received as a train of second binary elements Y due to errors introduced during transmission by the communication channel.
- the lower layers of the communication system make it possible to determine at least the current properties of the communication channel, for example the rate of errors introduced by the channel in the communicated bits, confidence measurements on received bits. These last measurements make it possible to estimate the probabilities of receiving a second binary element knowing a first binary element communicated on the channel. These probabilities are estimated as indicated in the appendix (equation 21 with the index i being an integer) from one of the current properties le of the channel: p, the probability of error on the channel.
- FIG. 1 illustrates an example of an encoder 1 and decoder 2 assembly.
- the encoder and the decoder respectively have an input Ec, Ed and an output Wc, Wd.
- a stream of x-ary symbols to be coded is received at the input of the coder in Ec.
- the encoder transmits at output Wc a stream of first binary elements, called the first bit stream Uc, generated by coding the stream of x-ary symbols, for example in compressed form.
- This first bit stream Uc. is sent, via a jcanal 11, to the input Ed of the decoder 2.
- the channel having been able to erroneous the first bit stream (for example reversing certain bits of the first stream) , transmits a stream of second bits, called the second bit stream Yd, to the input of the decoder 2.
- a processing module 6 receives. and processes this second bit stream as well as the properties le of the channel, communicated by the channel, to obtain at output Wd from the decoder, a stream of symbols Sd.
- a processing module 6 is suitable for working with the model module 12.
- This model module comprising -a source model 8 making it possible to define probabilities for x-ary symbols associated with transitions between source states in a source state diagram described below, - a so-called "product” model 7 making it possible to define a correspondence between the xary symbols and first binary elements, as a function of states in a "product" state diagram, a product state being a function of a source state and of a state of a transfer model.
- the product model 7 is established from the source model 8 and a transfer model 9 or 10.
- the produced model can be dynamically constructed from the source model and transfer models 9 or 10.
- the product model can be implemented in the model module without being built dynamically.
- the transfer model comprises a coding model 9 or a decoding model 10. This transfer model makes it possible to establish a correspondence between binary symbols and first binary elements, as a function of probabilities associated with binary symbols.
- these models can be pre-calculated and stored in a module external to the model module of the decoder. They can also be used remotely, for example by using a local network of Ethernet type or a more extensive network of Internet type.
- the processing module 6 is suitable for calculating probabilities of x-ary symbols, knowing the bits of the stream of second binary elements, from the properties le of the channel, the source model and the product model.
- the processing module 6 is suitable for reconstructing the most probable x-ary symbol flow from these calculated probabilities and for reconstructing the M-ary symbol flow from the source model if an M-ary symbol flow has been coded.
- FIG. 2 illustrates an example of a coding method which can use the insertion of synchronization markers. This method is implemented in an encoder receiving as input a source (M-ary), for example a data sequence.
- M-ary for example a data sequence.
- step 100 when the data sequence does not require M-ary markers, the method continues to step 104. If, on the contrary, M-ary markers must be inserted in the data sequence, the frequency , the size and value of these markers are provided by the coder to perform the insertion of these markers in step 102.
- step 104 it is checked whether the data sequence (including or not synchronization markers) requires an M-ary / binary conversion. If this is not the case, the data sequence is therefore binary and is subject to arithmetic coding (quasi-arithmetic in the example in the figure) in step 112. Otherwise, the M-ary / binary conversion of the sequence is carried out in step 106. In step 108, if binary markers are to be inserted, the frequency, the size and the value of these markers are supplied by the coder to effect the insertion of these markers step 110.
- step 112 the M-ary or binary data sequence is subjected to quasi-arithmetic coding, the complexity of which is controlled by the parameter T. If T is large, the quasi-arithmetic coding becomes identical to an arithmetic coding. This results in a maximum compression of the binary data sequence into a bit stream.
- FIG. 3 illustrates an example of a decoding method taking into account the synchronization markers inserted. This method is implemented in a decoder receiving as input the binary train and information concerning the M-ary or x-ary source (in particular binary), the frequency, the size and the value of the possible synchronization markers.
- step 120 different decoding modes can be selected: an instant decoding in step 124,
- step 122 a sequential decoding according to the invention, which is detailed in the rest of the description, in step 122,
- step 126 an optimal decoding, which is detailed in the rest of the description, according to the invention in step 126.
- step 1208 it is checked whether the data sequence obtained after decoding requires a binary / M-ary conversion.
- step 130 it is checked whether the data sequence includes binary markers. If so, these markers are removed in step 132 using information about their frequency and size. After step 130 or step 132, the data sequence is subjected to binary / Mayor conversion in step 134.
- step 128 or 134 it is checked whether the data sequence comprises M-ary markers in step 136. If this is not the case, the decoding of the data (or source) sequence is finished , otherwise, the markers are deleted in step 138 to obtain the data (or source) sequence.
- Figures 4 to 5 illustrate source models for M-ary / binary and binary / M-ary conversion of a data sequence (or source).
- FIG. 4A illustrates the binary representation of the 4 symbols of a 4-ary source, that is to say a source taking value in a 4-ary alphabet.
- this tree can be represented by a correspondence table.
- the black node is called the root of the tree
- the white nodes are the intermediate nodes
- the gray nodes are called leaves of the tree.
- the probabilities P of each symbol M-ary correspond to the stationary probabilities of the source.
- the transition probabilities (not shown) on the branches of this binary tree are calculated from the stationary probabilities.
- FIG. 4B represents the automaton making it possible to convert the sequence of independent M-ary symbols into a sequence of binary symbols.
- the probabilities of each x-ary symbol here, binary symbol
- a complete model of the source is obtained by connecting successive local models as indicated in FIG. 5A.
- a local model corresponds to a source model for a flow comprising a symbol as illustrated in FIG. 4A.
- the complete model of the source consists in identifying the leaves of the first binary tree with the root of the following tree, root represented by a black node in the figures 5 A and 5B.
- Figure 5A thus combines binary trees between them.
- FIG. 5B combines a first binary tree with corresponding automata taking the leaves of the binary tree as initial and final states. This automaton converts a sequence of dependent M-ary symbols into a sequence of binary symbols.
- the states C- define the possible nodes in which the automaton can be after the production of k binary symbols.
- This set of possible nodes is symbolized in the figure by a mixed line connecting the nodes of the same state k.
- the sequence C 0 , ..., C K is a Markov chain and the corresponding stream of binary symbols is a function of the transitions of this chain.
- the transitions called S k since they generate the emission of binary symbols S k represent the set of possible transitions between the set of states C k and the set of states C. of the source model.
- the flow of binary symbols can be modeled by a hidden Markov model. Knowing each statiormary probability associated with each binary symbol, each of these probabilities corresponding to one of the segments of the unit interval [0,1 [, the arithmetic coding allows, for a sequence of binary symbols, to determine the interval of this sequence .
- the latter represents a segment of the unit interval and its lower limit comes from the sum of the probabilities of the sequences of symbols corresponding to the lower subintervals.
- the width of this interval is given by the probability of the sequence of symbols corresponding to this interval.
- Called "current interval” the interval corresponding to a part of the sequence and therefore to the current state C k of this part of sequence, during the calculation of the interval or sub-segment associated with the sub sequence corresponding to the state.
- the principle of arithmetic coding can be modeled by a stochastic automaton whose states E are defined by three variables: low, up and n scl the number of rescales.
- the drawback of this coding is that there can be a very large number of states if the stationary distribution of the source is not known a priori or if the stream includes a large number of x-ary symbols.
- Quasi-arithmetic coding also called reduced precision arithmetic coding, makes it possible to reduce the number of possible states without significant loss in compression efficiency, as described in the work [4].
- the real interval [0,1 [ is replaced by the whole interval [0, T [.
- T makes it possible to control the compromise between the complexity and the compression efficiency: if T is large, then the subdivisions of the interval will precisely represent the distribution of the source. On the other hand, if T is small (close to 1), all the possible subdivisions of the interval can be pre-calculated, these subdivisions will only represent an approximation of the distribution of the source.
- a sequence S x ⁇ of binary symbols is converted into a bit stream U X N by a binary tree.
- This tree can be seen as an automaton or an encoder model which models the distribution of the binary train.
- the coding of a symbol determines the choice of an arc of the tree, with which the transmission of bits can be associated.
- Each node corresponds to a state E of the arithmetic coder. The successive transitions between these states follow the distribution of the source P (S k
- E be the state of the automaton at each "symbol instant" k .
- the state E As with arithmetic coding, the state E.
- the terms lowS k and upS k designate the limits of the interval resulting from the successive subdivisions of [0, T [corresponding to the coding of the sequence S x ⁇ .
- the quantity nscl k is reset to zero each time a bit is transmitted and incremented each time a rescaling without sending bit is performed. It therefore represents the number of rescales carried out since the last bit transmission. When a bit is sent, it is followed by nscl k bits of opposite value.
- T 4 for a binary source.
- the value of the variable nscl k is not included in the state model. Only the increments of this variable are indicated by the letter f in the table as in the work [4].
- the encoder has three possible states, corresponding to whole subdivisions of the interval [0.4 [taken by the current interval [lowS k , upS k [. We will refer to the book
- the binary input symbol is 0 or 1
- the number of states can be further reduced by identifying the binary symbols as "less likely” (LPS) and “more likely” (MPS) in column C3, rather than 0 and 1 in column C2. This amounts to considering the probability of each binary symbol rather than the value of the binary symbol, the MPS and LPS being able to correspond either to a bit 0 or to a bit 1. The number of possible combinations of binary source probabilities is reduced. This allows you to combine certain transitions and eliminate states from the controller.
- the sequence E 0 ... E K of successive states of the quasi-arithmetic coder forms a Markov chain and the outputs of the coder are functions of the transitions on this chain.
- decoding can be modeled by a stochastic automaton with number of states E n finite as presented on table 2.
- the state of an arithmetic decoder is defined by two intervals: [lowU n , upU n [and [lowS ⁇ upS j ⁇ [.
- This interval is updated by accumulating the probabilities of each decoded binary symbol, in the same way as for the coding for each coded symbol. It reproduces the operation of the encoder.
- An arithmetic encoder and decoder are not synchronized. Indeed, during coding, the reception of a symbol does not necessarily entail the transmission of a bit. Similarly, at decoding, the reading of a bit does not necessarily lead to the production of a symbol. Thus, if the reading of the first symbol of the sequence to be coded does not cause any transmission of bit, it may be that at decoding, the reading of the first bit is sufficient to decode the first symbol.
- the two intervals are scaled as in coding in order to avoid problems of numerical precision.
- E n be the state of this automaton at "bit time" n, that is to say at the time of processing of the received bit U n .
- This state is defined by the values of the intervals [lowU n , upU n [and [.
- a so-called “product” model is envisaged, which can be a model resulting from the product of the source and coder models or a model resulting from the product of the source and decoder models.
- the states of the model produced must gather the information contained in the states of each of the two models (source and coder or source and decoder).
- the size of the state space of the "product model” cannot be known a priori. It can be calculated from the binary source model and the T parameter.
- FIGS. 6 and 7 An example of a product model from the source and encoder models is presented according to FIGS. 6 and 7.
- the example of product model defined in the table of FIG. 6 A is derived from the product of the source model of FIG. 4C and from coder model from table 1.
- the size of the state space resulting from this product is given by the product of the sizes of the state spaces of the two models (source and coder).
- simplifications take place, which makes it possible to achieve a smaller number of states.
- the probabilities of the binary source, resulting from a conversion from an M-ary source, depend on the state C k of the model of this binary source.
- the transitions of the source product / coder model are thus a function of the distribution of the source.
- the column M1 in FIG. 6A contains only 4 states of the product model defined in column M2 by the state variables of the source model and of the corresponding coder.
- the source model having 3 states and that of the encoder having 2 states, the produced model will have a maximum of 6 states. In practice, simplifications take place as explained below with the aid of FIGS. 7A and 7B.
- Columns M3 and M4 indicate, for the input symbol (MPS or LPS), the bits transmitted and the next state of the model produced.
- the states of this produced model must gather the information of the states of the source and decoder models.
- a state K being the number of symbols decoded when n bits have been received.
- the number of symbols produced by each transition of the model produced is random. Therefore, the structure of dependencies between the sequence of second bits and the decoded symbols is random.
- a sequence of bits U X N is converted into a sequence of symbols S ⁇ , with K N the number of symbols decoded when N bits have been received.
- the automaton Given a state X graspand an input bit U n + 1 , the automaton produces the sequence of binary symbols S K- + 1 I ⁇ 1 + 1 , and specifies the following state X tract +1 .
- the probabilities of the transitions between (X ⁇ K ,,) and (X n + 1 , K n + 1 ) in the lattice depend on the binary source model. They are given by the formula in the appendix (17).
- the source / encoder model simplifications of states of this model are possible depending on the model of the decoder and the source model used. In the example of FIG. 9 A or 9B, the source model used is that of FIG. 4C and the decoder model, that of table 2.
- FIG. 11 A first embodiment of the robust decoding method is illustrated in FIG. 11.
- the decoder receives as input the bit stream to be decoded.
- the source model, the variable N representing the number of bits received to be decoded and the probability P (U ⁇ / Y of having sent a first bit (or first binary element) U n knowing the second bit (or second binary element) Y n observed are data which the decoder has for input, that is to say that, by way of example only, these data can be received as input with the bit stream to be decoded or can be read in a memory accessible by the decoder.
- the probability P (U n [Y can be obtained from the properties of the channel.
- the criterion of MAP corresponds to the optimal Bayesian estimation of a process X from the available observations Y as indicated by equation (3) appendix 1. Optimization is carried out for all "sequences" possible.
- this criterion is applied to the estimation of the hidden states of the processes (X, N), which can be considered as symbol clock processes, and of the processes (X, K), which can be considered as bit clock process, given the bit sequences observed.
- the estimate can be made either at bit clock or at symbol clock. For reasons of simplicity of implementation, the bit clock estimation is preferred.
- the best sequence (X, K) can be obtained from the local probabilities on the pairs (X ⁇ K thanks to equation (4).
- step 300 the trellis is firstly constructed using the source / decoder model of FIG. 9A for example and the corresponding probabilities are calculated for each transition of the trellis.
- a forward pass allows the successive construction of the states linked by transitions of the state diagram produced from an original state to a final state.
- Each state defines an expected number of decoded symbols for a given number of bits passed from the stream of second bits from the original state.
- equation (6) the recursive probability, the probability of transition between the states (x n . x , k ⁇ ) and (x n , k given by the product model (as indicated in equation 17 and representing the product of the transition probabilities P (S k
- step 302 the back pass makes it possible to obtain the term P (Y N ⁇ + 1
- This term is calculated as the sum of the product of three conditional probabilities (equation (7)): the recursive probability initialized for all possible "" last states "(X N , K N ), the probability of transition between states (X n + X , K ⁇ ) and (X till, KJ given by the product model and the probability of having issued the bit U n + X triggering the transition between states X n + X , K ⁇ ) and (X ⁇ , K knowing the second binary element Y n + X. As before, this last probability is obtained from the channel model.
- this backward pass makes it possible to calculate the probabilities P ⁇ X ⁇ ⁇ K ⁇ kJ, successive and for each instant n from N to 1, to observe bits of the stream of second binary elements Y x n knowing a given state (jyKJ.
- a termination constraint can be added during the back pass in step 302.
- the back pass comprises the successive deletion of the states of the state diagram produced, from the final state to the original state, for which the expected number of symbols for a given number of bits of the stream of second binary elements is different from a maximum known number of symbols.
- step 304 the probabilities obtained from the front and back passes are combined in the form of a product for each value of n varying from 1 to N to obtain the probabilities P (X n , K ⁇
- step 306 the product of equation (4) is carried out on the probabilities P (X n , KjY x n ) with n varying from 1 to N. This product is carried out for the different possible combinations of these probabilities.
- Y) is retained and the probabilities P ⁇ KjY) constituting this product make it possible to determine the most likely path in the trellis. From the trellis and the corresponding table of the source product / decoder model, it is possible to determine the symbols corresponding to this path and to reconstruct a sequence of symbols S x ⁇ .
- the trellis on which the estimation is performed can be pre-calculated and stored from the source product / decoder model and from the length N of the observed bit sequence.
- the trellis is constructed in step 400 in a forward pass and simplified by a backward pass in step 402. This trellis is stored in memory for be used at each bit stream arrival for which the source / decoder model and the K and N values are the same.
- This trellis comprises, at each state (X ⁇ K.), several paired values (X ⁇ J K.
- the pair (X X , K X ) can take the values (1, 1) or (2, 1) depending on whether the bit transmitted U x has the value 0 or 1.
- a forward pass and a reverse pass are performed on the bit stream in steps 404 and 406, for example in parallel .
- X a , K are calculated as shown in equations (6) and (7).
- the product of these probabilities is performed at l step 408 for each value of n and corresponds to each transition of the trellis, then the product of the probabilities for n varying from 1 to N is calculated in step 410 as indicated in (4) to obtain probabilities P ( X, K
- the most likely path (obtaining the greatest probability P (X, K
- the sequence of states (X ⁇ K Q ), ..., (X N , K N ) makes it possible, on reading table 8A, to determine the sequence of symbols corresponding to this path.
- This process requires the creation and manipulation of an estimation trellis, such as that of FIG. 13.
- the size of this trellis depends on the number of states of the source product / decoder model (4 states are possible for the model source product / decoder of FIG. 9A for example) and of the amplitude of the values that the variable K , can take at each instant bit n.
- the number of states of the source product / decoder model is itself dependent on the binary source model and on the precision parameter of the quasi-arithmetic coding T. To settle the compromise between the compression efficiency of the quasi-arithmetic coder and the complexity of the estimation process, it suffices to adjust the value of the parameter T.
- T value as small as 4 results in a reasonable excess flow. If however maximum compression is required, T must have a much larger value and the minimum value of T required depends on the distribution of the source. In most of these cases, the value of T is too large to be able to use the optimal estimation method described above. The number of states of the source product / decoder model may also be too large to be able to pre-calculate these states.
- This process is based on the same source, coder and decoder models as those seen previously.
- the number of states of the coder and decoder models being too large for them to be able to be pre-calculated, the corresponding estimation trellis cannot be built either.
- the estimation method proposed below is therefore based on the exploration of a subset of the estimation trellis, which is considered to be a tree.
- This process is called the sequential estimation process. It can be applied from source / encoder models and perform sequential calculations using "the symbol clock", that is to say a counter incremented according to the number of symbols to find.
- FIG. 14 illustrates the sequential estimation method known as a symbol clock, that is to say based on the source / coder model.
- the estimation of the sequence of states (X, N) for a bit stream is equivalent to the estimation of the sequence of transitions between these states, that is to say the estimation of the sequence S knowing the observations Y at the exit of the channel.
- step 500 the probability of decoding a sequence of symbols (from 1 to k) knowing bits of the stream of second binary elements P (S x k Y x Nk ) for each instant symbol k can be calculated in a forward pass unique thanks to the decomposition of equation (9) where N k is the total number of bits transmitted when one is in the state X k .
- N k is the total number of bits transmitted when one is in the state X k .
- Equation (12) the second term of this equation modeling the noise introduced by this channel is given to equation (12) as the product, for a given state X k of the source / coder model, of the probabilities of observing a second binary element Y n for a first transmitted binary element U n .
- equation (10) is used to calculate P (S x k / Y x Nk ) for each consecutive symbol instant k.
- step 502 authorizes the calculation of the probabilities P (S x ⁇ x N ) for a number of symbols k varying from 1 to ⁇ ..
- xl is an integer less than or equal to the number of symbols K.
- N k is the number of bits transmitted for k symbols coded during coding.
- W and w is given in (19) with N ⁇ and N ⁇ ,, depending respectively on the probability of the most and least likely sequence S x k .
- the pruning criterion is based on a threshold applied to the likelihood of the paths.
- the likelihood of a path is given by equation (8) (symbol clock).
- U) are linked to the channel model as shown in equation (12).
- P n ⁇ y j JU n ⁇ u-) represents the probability that a bit y n is observed knowing that a bit u. ⁇ has been transmitted or the probability of receiving a bit y n knowing that a bit u n has been transmitted, which is equivalent to the probability that the observed bit is erroneous.
- Let p be the mean bit error probability which is arbitrarily fixed as tolerable on the channel during the estimation.
- Pruning consists of removing all the paths for which the probability of average bit error at the output of the channel is greater than p.
- the pruning criterion comprises a threshold p compared to the probabilities P ⁇ IU ⁇ so that all the paths of the estimation trellis for which is verified be deleted. Only the probabilities of decoding a sequence of symbols (from 1 to k) knowing bits of the stream of second binary elements P (S x k / Y x N ) are calculated, calculated from the probabilities PO ⁇ l ⁇ ) greater than the minimum threshold p.
- the probability P (S x k / Y 1 Nk ) for the number of symbols Nk (with k> x) is calculated in step 506.
- the pruning performed at step 504 is repeated for this new symbol instant Nk.
- Steps 504 and 506 are performed for a value k incremented up to value K.
- the posterior marginal probabilities P (S X / Y X NK ) are known for all possible sequences s x .
- the most likely sequence s x ⁇ is chosen, that is to say the sequence for which the probability P (S X K / ⁇ 1 NK ) is the greatest among the possible sequences of the estimation lattice obtained.
- FIG. 15 illustrates the sequential estimation method known as a bit clock, that is to say based on the source / decoder model.
- F estimation of the sequence of states (X, K) to obtain a train of symbols is equivalent to estimation of the sequence of transitions between these states, that is to say the estimation of the sequence S knowing the observations Y at the exit of the channel.
- ⁇ denotes a normalization factor.
- step 600 the probability of decoding a sequence of K ,. symbols knowing the bits of the stream of second binary elements P (S x Kn / Y x n ) for each bit n (defined later) can be calculated in a single forward pass thanks to the decomposition of equation (13) where K- j is the total number of symbols decoded on reception of bit n in state X. , .
- the probability P (S x Kn ) of obtaining a sequence of symbol S 1 n is expressed recurrently according to equation (14) using equation (15).
- the probability P (Y x YU x n ) can be rewritten and makes it possible to obtain the probability P (S x Kn / Y x n ) as indicated in (16).
- C x is the starting state of the source model. Starting from this initialization, equation (16) is used to calculate P (S x Kn / Y x n ) for each consecutive bit n instant.
- step 602 authorizes the calculation of the probabilities P (S x Kn / ⁇ x ⁇ ) in step 600 for a number of bits n varying from 1 to x2, x2 being an integer designating a threshold number of bits. For bits starting from this value x2, pruning takes place in step 604 to maintain the complexity of the estimation trellis at a desired level.
- the pruning of step 604 may include different embodiments corresponding to the embodiments of step 504 of Figure 14.
- the embodiments can be combined or used separately.
- likelihoods significance computed probabilities
- the pruning criterion is based on a threshold applied to the likelihood of the paths.
- the likelihood of a path is given by equation (13) (bit clock).
- U) are linked to the channel model as shown in equation (16).
- the pruning consists in suppressing all the paths for which the probability of average binary error at the exit of the channel is higher than p.
- the pruning criterion comprises a threshold p compared to the probabilities PtYjU so that all the paths of the estimation trellis for which P ⁇ U ⁇ (lp) n is verified, are deleted.
- the probability P (S x Kn / Y x ⁇ ) for the number of bits n (with n> x2) is calculated in step 606.
- the pruning performed at step 604 is reiterated for this new instant bit K ,,.
- Steps 604 and 606 are performed for a value n incremented up to the value N.
- the most likely sequence S X N is chosen, that is to say the sequence for which the probability P (S X K / Y X N ) is the greatest among the possible sequences of the estimation trellis obtained.
- the posterior marginal probabilities P (S 1 K 7Y X N ) are known for all the sequences s x ⁇ remaining after pruning.
- the mentioned termination constraints can be seen as a way to force synchronization at the end of the symbol sequence. In fact, they force the decoder to obtain the correct correspondence between the number of decoded symbols and the number of bits observed. However, these constraints have no synchronization effect on the middle of the sequence.
- M-ary / binary conversion is not essential, but allows small values of T to be used.
- the decoding methods presented above for binary sources can also work for M-ary sources.
- the invention proposes a robust decoding method of arithmetic codes based on the use of codes of the arithmetic code type comprising the arithmetic codes with reduced precision, called qua-arithmetic codes.
- the precision of these quasi-arithmetic codes is an adjustable parameter depending on the desired effect. Very high precision makes it possible to achieve compression performance identical to arithmetic codes. Lower accuracy increases robustness, at the cost of a reasonable loss in compression.
- the invention makes it possible to greatly reduce the phenomenon of desynchronization of the decoder.
- the invention offers greater flexibility to adjust a compromise between compression efficiency / robustness / decoding complexity.
- the invention comprises a set of methods which can be chosen according to the complexity allowed by the terminal, according to the error rate observed on the channel.
- a sequential decoding method includes a synchronization mechanism coupled with a pruning technique which allows the complexity of the decoding process to be controlled.
- a trellis decoding process with parameterization of the complexity / robustness / compression compromise makes it possible to use the process in a coupled manner with a channel decoder (decoder of convolutional codes), difficult use with traditional sequential processes.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004523851A JP4169738B2 (ja) | 2002-07-22 | 2003-07-16 | 算術符号をロバスト復号化する装置および方法 |
US10/521,962 US7215265B2 (en) | 2002-07-22 | 2003-07-16 | Device and method for robust decoding of arithmetic codes |
EP03755610.7A EP1527521B1 (fr) | 2002-07-22 | 2003-07-16 | Dispositif et procede de decodage robuste de codes arithmetiques |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0209287A FR2842670B1 (fr) | 2002-07-22 | 2002-07-22 | Perfectionnement a la compression de donnees numeriques |
FR02/09287 | 2002-07-22 | ||
FR03/03288 | 2003-03-18 | ||
FR0303288A FR2842672B1 (fr) | 2002-07-22 | 2003-03-18 | Dispositif et procede de decodage robuste de codes arithmetiques |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2004012340A2 true WO2004012340A2 (fr) | 2004-02-05 |
WO2004012340A3 WO2004012340A3 (fr) | 2004-04-08 |
Family
ID=30001936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2003/002246 WO2004012340A2 (fr) | 2002-07-22 | 2003-07-16 | Dispositif et procede de decodage robuste de codes arithmetiques |
Country Status (5)
Country | Link |
---|---|
US (1) | US7215265B2 (fr) |
EP (1) | EP1527521B1 (fr) |
JP (1) | JP4169738B2 (fr) |
FR (1) | FR2842672B1 (fr) |
WO (1) | WO2004012340A2 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1775957A1 (fr) | 2005-10-14 | 2007-04-18 | Inria Institut National de Recherche en Informatique et en Automatique | Traitement amélioré d'images de résolutions multiples |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2398191B (en) * | 2004-03-10 | 2004-12-22 | David Asher Jaffa | Adaptive quantiser |
US8108833B2 (en) * | 2007-04-20 | 2012-01-31 | National Instruments Corporation | Automatically generating a graphical data flow program from a statechart |
EP2169535A1 (fr) * | 2008-09-22 | 2010-03-31 | Thomson Licensing | Procédé, appareil et support de programme informatique pour le recodage régulier d'un entier positif |
CN102045558B (zh) * | 2009-10-22 | 2012-09-19 | 鸿富锦精密工业(深圳)有限公司 | 熵解码方法 |
GB2495106B (en) | 2011-09-28 | 2020-09-09 | Metaswitch Networks Ltd | Searching and storing data in a database |
US8976474B1 (en) * | 2013-10-03 | 2015-03-10 | Seagate Technology Llc | Universal modulation coding for a data channel |
US11362681B2 (en) | 2020-08-21 | 2022-06-14 | Seagate Technology Llc | One-shot state transition probability encoder and decoder |
CN115996104A (zh) * | 2021-10-18 | 2023-04-21 | 华为技术有限公司 | 算术码的自学习联合信源信道迭代译码方法及相关设备 |
FR3139212A1 (fr) * | 2022-08-29 | 2024-03-01 | Commissariat à l'Energie Atomique et aux Energies Alternatives | Système et procédé de construction de structures adaptatives de partitionnement de données en flux |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3302210B2 (ja) * | 1995-02-10 | 2002-07-15 | 富士通株式会社 | データ符号化/復号化方法及び装置 |
JP3276860B2 (ja) * | 1996-09-02 | 2002-04-22 | 富士通株式会社 | データ圧縮/復元方法 |
-
2003
- 2003-03-18 FR FR0303288A patent/FR2842672B1/fr not_active Expired - Fee Related
- 2003-07-16 US US10/521,962 patent/US7215265B2/en not_active Expired - Lifetime
- 2003-07-16 JP JP2004523851A patent/JP4169738B2/ja not_active Expired - Fee Related
- 2003-07-16 EP EP03755610.7A patent/EP1527521B1/fr not_active Expired - Lifetime
- 2003-07-16 WO PCT/FR2003/002246 patent/WO2004012340A2/fr active Application Filing
Non-Patent Citations (6)
Title |
---|
DEMIR N ET AL: "Joint source/channel coding for variable length codes" DATA COMPRESSION CONFERENCE, PROCEEDINGS. DCC, IEEE COMPUTER SOCIETY PRESS, LOS ALAMITOS, CA, US, 30 mars 1998 (1998-03-30), pages 139-148, XP002143231 * |
FABRE E ET AL: "Joint source-channel turbo decoding of VLC-coded Markov sources" 2001 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING. PROCEEDINGS (CAT. NO.01CH37221), 2001 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING. PROCEEDINGS, SALT LAKE CITY, UT, USA, 7-11 MAY 2001, pages 2657-2660 vol.4, XP002267571 2001, Piscataway, NJ, USA, IEEE, USA ISBN: 0-7803-7041-4 * |
GUYADER A ET AL: "Joint source-channel turbo decoding of entropy-coded sources" IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, SEPT. 2001, IEEE, USA, vol. 19, no. 9, pages 1680-1696, XP002267570 ISSN: 0733-8716 * |
MURAD A H ET AL: "Joint source-channel decoding of variable-length encoded sources" INFORMATION THEORY WORKSHOP, XX, XX, 22 juin 1998 (1998-06-22), pages 94-95, XP002143123 * |
MURAD A H ET AL: "Robust transmission of variable-length encoded sources" WIRELESS COMMUNICATIONS AND NETWORKING CONFERENCE, 1999. WCNC. 1999 IEEE NEW ORLEANS, LA, USA 21-24 SEPT. 1999, PISCATAWAY, NJ, USA,IEEE, US, 21 septembre 1999 (1999-09-21), pages 968-972, XP010353592 ISBN: 0-7803-5668-3 * |
PARK M S ET AL: "DECODING ENTROPY-CODED SYMBOLS OVER NOISY CHANNELS BY MAP SEQUENCE ESTIMATION FOR ASYNCHRONOUS HMMS" PROCEEDINGS OF THE ANNUAL PRINCETON CONFERENCE ON INFORMATION SCIENCES AND SYSTEMS, XX, XX, 18 mars 1998 (1998-03-18), pages 477-482, XP000933543 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1775957A1 (fr) | 2005-10-14 | 2007-04-18 | Inria Institut National de Recherche en Informatique et en Automatique | Traitement amélioré d'images de résolutions multiples |
Also Published As
Publication number | Publication date |
---|---|
FR2842672A1 (fr) | 2004-01-23 |
WO2004012340A3 (fr) | 2004-04-08 |
US7215265B2 (en) | 2007-05-08 |
JP2005534241A (ja) | 2005-11-10 |
US20060106901A1 (en) | 2006-05-18 |
EP1527521B1 (fr) | 2018-03-21 |
EP1527521A2 (fr) | 2005-05-04 |
JP4169738B2 (ja) | 2008-10-22 |
FR2842672B1 (fr) | 2005-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0511139B1 (fr) | Procédé de décodage d'un code convolutif à maximum de vraisemblance et pondération des décisions, et décodeur correspondant | |
EP0827285B1 (fr) | Procédé de transmission de bits d'information avec codage correcteur d'erreurs, codeur et décodeur pour la mise en oeuvre de ce procédé | |
Guionnet et al. | Soft decoding and synchronization of arithmetic codes: Application to image transmission over noisy channels | |
FR2815199A1 (fr) | Procedes de turbocodage circulaire de grande distance minimale, et systemes pour leur mise en oeuvre | |
FR2785743A1 (fr) | Dispositif et procede d'adaptation des turbocodeurs et des decodeurs associes a des sequences de longueur variable | |
EP0827284A1 (fr) | Procédé de transmission de bits d'information avec codage correcteur d'erreurs, codeur et décodeur pour la mise en oeuvre de ce procédé | |
JP2010050634A (ja) | 符号化装置、復号装置及び符号化システム | |
EP1527521B1 (fr) | Dispositif et procede de decodage robuste de codes arithmetiques | |
EP1230736B1 (fr) | Procede de decodage de donnees codees a l'aide d'un code entropique, dispositif de decodage et systeme de transmission correspondants | |
JP2009218724A (ja) | 符号化装置、復号装置及び符号化システム | |
FR2790621A1 (fr) | Dispositif et procede d'entrelacement pour turbocodage et turbodecodage | |
WO2005101668A1 (fr) | Procede de decodage conjoint source-canal et decodeur conjoint source-canal associe | |
WO2007083066A1 (fr) | Procedes d'encodage et de decodage rapides et dispositifs associes | |
EP1905157A2 (fr) | Procede et systeme d'encodage d'une sequence de donnees | |
CA2823570C (fr) | Procede de correction de messages contenant des bits de bourrage | |
FR2807895A1 (fr) | Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre | |
US8320687B2 (en) | Universal lossy compression methods | |
EP1525663B1 (fr) | Compression de donnees numeriques robuste au bruit de transmission | |
FR2834146A1 (fr) | Turbo-decodeur compact a haute efficacite | |
EP0982866B1 (fr) | Procédé de codage convolutif et de transmission par paquets d'un flux série de données numériques, procédé et dispositif de décodage correspondants | |
WO2006108768A1 (fr) | Procédé et dispositif de décodage d'un code à longueur variable prenant en compte une information de probabilité a priori | |
FR2972878A1 (fr) | Procede d'encodage correcteur d'erreur, procede de decodage et dispositifs associes. | |
EP1471647A2 (fr) | Codage et décodage utilisant un code construit sur un treillis dont les sections sont basées sur des codes en bloc à bonne distance | |
FR2888062A1 (fr) | Codeur et turbo decodeur de code produit | |
FR2981526A1 (fr) | Procede et dispositif de decodage de donnees codees a l'aide d'un code correcteur d'erreurs, procede et dispositif de codage, et programme d'ordinateur correspondants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): JP US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2003755610 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004523851 Country of ref document: JP |
|
WWP | Wipo information: published in national office |
Ref document number: 2003755610 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2006106901 Country of ref document: US Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10521962 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 10521962 Country of ref document: US |