Error correction encoding/decoding method and apparatus therefor

Abstract: The invention provides stronger error correction capability in an error correction encoding/decoding system of a digital mobile telephone or so forth. In a viterbi decoding system at a receiver side, a branch metric is calculated and stored without selecting a path with respect to a plurality of branches corresponding to a parameter having a correlation between frames. Also, utilizing a separately stored parameter value in a previous frame, a transition probability of the parameter value in the current frame is obtained, a metric value of a path is converted and added to an accumulated path metric value up to the previous branch, a comparison of the metric values at various states is performed to select the path having higher likelihood to perform decoding by maximum likelihood decoding.

Description: BACKGROUND OF THE INVENTION The present invention relates to an error correction encoding/decoding method and an apparatus therefor to be employed in a radio transmission system , such as a digital mobile telephones, portable telephone and so forth. In conventional digital mobile telephone systems or portable telephone systems, strong error correction encoding is employed in order to maintain a predetermined level of quality even under poor transmission conditions (high channel error ratio). One such strong error correction code is a convolutional code. As a decoding method for the convolutional code, there is known a viterbi decoding employing a trellis diagram. As disclosed in "Points of Error Correction Encoding Technology", Japan Industrial Technology Center Co., Ltd., published on March 20, 1986, pages 45 ∼ 48, or Japanese Unexamined Patent Publication (Kokai) No. 2-215232, viterbi decoding is a decoding method in which one of a plurality of known code streams having the closest code metric to the received code stream is selected as a maximum likelihood path, and decoded output data corresponding to the selected path is obtained. Fig. 1 is a schematic block diagram of an error correction encoding/decoding apparatus employing the conventional viterbi decoding method. A reception data is calculated metric in a branch metric calculation circuit 21 with respect to each branch (branch line from a certain state to the next state in the trellis diagram) corresponding to each information bit. Then, the branch metric derived by the branch metric calculation circuit 21 is added to a metric of an accumulated path (a sequence of the branches corresponding to the information signal stream) up to the immediately preceding branch stored in a path metric storage circuit 23 by an ACS (Add-Compare-Select) circuit 22. After that, the metrics in each state are compared, and then the maximum likelihood path is selected and stored in a path memory 24 as a path select signal. Also, the value of a path metric is updated and stored in the path metric storage circuit 23. Furthermore, the path metric value is decoded by maximum likelihood decoding by a maximum likelihood decoding circuit 25 and then output as a decoded data. Even with such conventional error correction decoding apparatus as set forth above, bit errors caused in the transmission line can be corrected at a certain precision level by utilizing a redundancy added in convolutional encoding. However, the conventional error correction encoding/decoding apparatus as set forth above is adapted to only use the redundancy added in the convolutional encoding without using the redundancy of the information source even in the case that the parameter having correlation between consecutive frames is included as a part of information bits to be transmitted so as to have a certain transition probability to define a value in a current frame relative to the value in the previous frame. Therefore, under poor transmission conditions, there is a high possibility that the correct error correction cannot be performed. Globecom 89, pages 1534-1538 is a published article by N.Seshadri and C.E.W.Sundberg in which two generalised Viterbi algorithms are disclosed for the decoding of convolution codes. The disclosed method of operation requires selection of the best candidates, and that error detection is performed for re-evaluation. It is desirable to avoid these latter two features. U.S. Patent 4,803,729 (Baker) relates to a speech recognition system in which the amount of computation required can be reduced to obtain a given level of speech recognition. In this system a transition probability is used for dividing the speech frame into the same class frame labels in the speech recognition, but no use is made of frame correlation as transition probability when calculating metrics corresponding to the parameter having correlation between frames in Viterbi coding. SUMMARY OF THE INVENTION It is an object of the present invention to provide an error correction encoding/decoding method and an apparatus therefor, which can perform stronger error correction. The method according to the invention comprises: at a transmitter including in a fixed part of each frame a correlation parameter indicative of a correlation between frames, convolutionally encoding the frames and transmitting the encoded frames, and at a receiver performing Viterbi decoding, said decoding including calculating a metric indicating a transitional probability for each branch of a trellis diagram using a first redundancy derived from convolutional encoding for received parameters not indicating a correlation between frames, and performing a calculation of the metric using the first redundancy derived from the convolutional encoding and a second redundancy derived from correlation between frames for received parameters indicating a correlation between frames. The apparatus according to the invention comprises: encoding means for placing in a fixed part of each frame a correlation parameter indicating a correlation between frames, convolutional encoding the frames, and transmitting the encoded frames as error correction code, and a Viterbi decoder which comprises calculation means which is arranged to calculate a metric indicative of a transitional probability for each branch of a trellis diagram using a first redundancy derived from the convolutional encoding for received parameters not indicating a correlation between frames, and to calculate the metric using the first redundancy derived from the convolutional encoding and a second redundancy derived from correlation between frames for received parameters indicating a correlation between frames. The invention be described now by way of example only with particular reference to the accompanying drawings. In the drawings: Fig. 1 is a block diagram of a viterbi decoding system in the conventional error correction encoding/ decoding apparatus; Fig. 2 is a block diagram of a viterbi decoding system in one embodiment of an error correction encoding/ decoding apparatus according to the present invention; Fig. 3 is an illustration showing an information data structure in the shown apparatus; Fig. 4 is a block diagram showing the major part of a encoding system in the shown apparatus; Fig. 5 is an illustration showing one example of a table to be employed in the shown embodiment; and Fig. 6 is a block diagram showing another embodiment of the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS Fig. 2 is a schematic block diagram of one embodiment of a viterbi decoding system according to the present invention. In Fig. 2, 2 denotes an ACS (Add-Compare-Select) circuit, 3 denotes a path metric storage circuit, and 4 denotes a path memory (path select signal storage circuit). 5 denotes a branch metric storage circuit, 6 denotes a metric conversion circuit, 7 denotes a parameter transition probability storage circuit and 8 is a previous frame parameter storage circuit. FIG.3 shows an information data structure which comprises n bits per one frame. In Fig. 3, 17 denotes an m bit (0 ≤ m ≤ n) parameter defining correlation between frames in the n bits information data, which is the parameter having certain transition probability defining the value in the current frame relative to the value in the previous frame. Having the transition probability means that the m bits of the previous frame and the m bits of the current frame are not independently generated information source having independent relationship to each other and thus variable of probability of transition to 2 m ways of values possibly take in the next frame relative to the value in the previous frame, and that, namely, the information source is the Markov information source. At the transmitter side, as shown in Fig. 4, voice data is encoded by a encoding circuit 13 by a CELP (Code Excited Linear Prediction) or so forth. Next, in a data rearrangement circuit 14, the parameter 17 is stored in a frame together with the encoded data as set forth above to form the information data. Then, the information data thus formed is encoded by convolutional encoding in a convolutional encoding circuit 15. Then, the encoded data is transmitted as a transmission data. Here, parameters 18 and 19 having no correlation between the frames other than the parameter 17 are assumed as a bits and b bits respectively (note, a + b + m = n). At a receiver side, the decoded data is obtained by the viterbi decoding circuit having the construction illustrated in Fig. 2. Next, operation of the above-mentioned embodiment will be discussed with reference to Figs. 2 and 3. At first, in the parameter transition probability storage circuit 7, the transition probability of the parameter value of the current frame relative to the parameter value in the previous frame is preliminarily set in the form of a table. In practice, assuming that the value in the previous frame is i, it represents the matrix of the probability p(j, i) to have the value j in the current frame. It should be noted that, in the case set forth above, 0 ≤ i, and j ≤ 2 m - 1. Fig. 5 shows an example for the case where m = 3 bits. On the other hand, the parameter value of the previous frame is constantly stored in the previous frame parameter storage means 8. It should be noted that since the system performs a decoding process with respect to each frame, the parameter value stored in the previous parameter storage circuit 8 is updated at every timing when the decoded data is obtained with respect to each frame. On the other hand, in the viterbi decoding, branch metrics are calculated for the branches corresponding to the information bits a and b of the parameters 18 and 19 by the branch metric calculation circuit 1 in a similar manner to the conventional system. Then, in the ACS (Add-Compare-Select) circuit 2, the calculated branch metric is added to an accumulated path metric value up to the previous branch, which is stored in the path metric storage circuit 3 for comparison of the metric values at various state to select the path having the higher likelihood. The selected path is stored in the path memory 4 as a path select signal. Also, the value of the path metric is updated and stored in the path metric storage circuit 3. On the other hand, in calculation of metric with respect to a sequence of plurality of branches (m branches) corresponding to the parameter 17, instead of selecting path for each branch as in the above-mentioned branches, without selecting the path for m branches, the branch metric value is, at first, calculated by the branch metric calculation circuit 1 and the calculated value is stored in the branch metric storage circuit 5. Then, utilizing the parameter value in the previous frame, which is stored in the previous frame parameter storage circuit 8, the transition probability of the parameter value of the current frame is obtained from the transition probability table stored in the parameter transition probability storage circuit 7. Thereafter, the metric values of 2 m paths of the length m gathered in various states are converted by the metric conversion circuit 6. Here, assuming that the data to be handled is the encoded data which has been encoded by an encoder having encoding ratio of R = 1/2, the metric before conversion is referred to as CR (Channel Redundancy) metric and the metric after conversion is referred to as SCR (Source & Channel Redundancy) metric, conversion is performed with the following conversion equation in the metric conversion circuit 6. SCR metric = CR metric × log 2 {1/p (j, i)}/m here, m is the number of bits of the parameter containing the transition probability of p(j, i). Subsequently, in the ACS circuit 2, the accumulated path metric value up to the previous branch, which is stored in the path metric storage circuit 3, is added to the metric value (SCR metric value) for the m branches after conversion. Comparison of the summed metric values is then performed in various state to select the path having the high likelihood and stored in the path memory 4 as the path select signal. Then, the decoding is performed by a maximum likelihood decoding circuit 9 to output the decoded data. As set forth above, by the foregoing embodiment, in case of transmitting the information data including the parameter 17 having correlation between the frames, the parameters 17 is encoded as a continuous data series upon the convolutional encoding. On the other hand, in the viterbi decoding system at the receiver side, there are provided the branch metric storage circuit 5, the previous frame parameter storage circuit 8 for storing the value of the parameter 17 having the correlation between the frames, in the previous frame, the parameter transition probability storage circuit 7 storing the transition probability of the parameters 17 and the metric conversion circuit 6 performing conversion of the metric. With respect to a plurality of branches corresponding to the parameter 17 having the correlation between the frames, the metric calculation is performed with combining the redundancy of the parameter transition probability of the information source in addition to the redundancy obtained through the convolutional encoding, and selection of the path is performed based thereon. Therefore, the stronger and highly reliable error code correction can be realized. In addition, another embodiment is illustrated in Fig. 6, in which the parameter transition probability storage circuit 7 does not fix the values in the table, and updates the values of the table at a predetermined condition, for instance, when a difference between the parameter transition probability stored in the table and the actual parameter transition probability is maintained greater than or equal to a predetermined value over a given number of frames. It should be noted that the following discussion will be given for the components add to the construction of Fig. 4. Referring to Fig. 6, a parameter transition probability calculation circuit 10 calculates an actual parameter transition probability on the basis of the parameter value stored in the previous frame parameter storage circuit 8 and the parameter values decoded in further previous cycles. Next, the transition probability comparing circuit 11 compares the transition probability stored in the table in the parameter transition probability storage circuit 7 with the actual parameter transition probability obtained by the parameter transition probability calculation circuit 10. Here, comparison is performed whether the difference of both probabilities exceeds a specific reference value. At this time, when the difference exceeds the specific reference value, a counter included in the system is counted up and otherwise the counter is reset. Process is performed for every frame. When the difference of both probabilities exceeds the specific reference value over a given number of frames, a new transition probability is calculated by a new transition provability calculating circuit 12 to update the transition probability table of the parameter transition probability storage circuit 7, based on the comparison in the transition probability comparing circuit 11. As set forth above, by the shown embodiment, by updating the original transition probability table in the decoding side based on the results of decoding during the actual data transmission, the erroneous correction probability can be reduced as a result of proper decoding even when the transition probability of the parameter having correlation, such as voice, is differentiated with respect to each individual.

Claims: An error correction encoding/decoding method for a transmission system in which information is transmitted in frames from a transmitter to a receiver, said method comprising: at a transmitter including in a fixed part of each frame a correlation parameter indicative of a correlation between frames, convolutionally encoding the frames and transmitting the encoded frames, and at a receiver performing Viterbi decoding, said decoding including calculating a metric indicating a transitional probability for each branch of a trellis diagram using a first redundancy derived from convolutional encoding for received parameters not indicating a correlation between frames, and performing a calculation of the metric using the first redundancy derived from the convolutional encoding and a second redundancy derived from correlation between frames for received parameters indicating a correlation between frames. An error correction encoding/decoding apparatus in which information is transmitted in frames, said apparatus comprising: encoding means (13, 14, 15) for placing in a fixed part of each frame a correlation parameter indicating a correlation between frames, convolutional encoding the frames, and transmitting the encoded frames as error correction code, and a Viterbi decoder which comprises calculation means (21, 22) which is arranged to calculate a metric indicative of a transitional probability for each branch of a trellis diagram using a first redundancy derived from the convolutional encoding for received parameters not indicating a correlation between frames, and to calculate the metric using the first redundancy derived from the convolutional encoding and a second redundancy derived from correlation between frames for received parameters indicating a correlation between frames. An apparatus according to claim 2, wherein said Viterbi decoder comprises a transition probability storage means (7) for storing transition probabilities of said correlation parameter with respect to the correlation parameter of the previous frame, previous frame parameter storage means (8) for storing the correlation parameter value of the previous frame, branch metric storage means (5) for storing a metric indicative of a transitional probability of each branch of said trellis diagram, path storage means (4) for storing a selected path of the trellis diagram, path metric storage means (3) for storing a path metric indicative of an accumulation of metrics of selected paths, and means for detecting whether a received bit belongs to said correlation parameter, and if said received parameter bit does not belong to said correlation parameter, then (i) calculating a branch metric for said received bit, (ii) adding the branch metric to the accumulation stored in said path metric storage means (3), (iii) selecting a path having a greater metric value, (iv) storing the selected path in said path storage means (4), (v) updating said path metric value in the path metric storage means (3), and if said received bit belongs to said correlation parameter, than (i) calculating the branch metric for said received bit, (ii) storing the branch metric into said branch metric storage means (5), (iii) repeating the operations of (i) and (ii) for said plurality of bits belonging to said correlation parameter, (iv) obtaining partial path metrics corresponding to said plurality of bits belonging to said correlation parameter from the branch metrics stored in said branch metric storage means (5), (v) obtaining a transition probability of the correlation parameter of a present frame from said transition probability storage means (7) using the correlation parameter of the previous frame, stored in said parameter storage means (8), (vi) converting the path metrics using the transition probability stored in said transition probability storage means (7), (vii) adding the converted metric to the accumulation stored in said path metric storage means (3), (viii) selecting a path having a greater metric value, (ix) storing the selected path in said path storage means (4), and (x) updating the path metric value of said path metric storage means (3). An apparatus according to claim 3, wherein said Viterbi decoder further comprises: transition probability calculation means (10) for calculating a transition probability of the correlation parameter from decoded frames; transition probability comparing means (11) for comparing the transition probability calculated by said transition probability calculation means (12) with a transition probability stored in said transition probability storage means (10); and new transition probability calculation means (12) for updating said transition probability stored in said transition probability storage means (11) using a predetermined standard and a result of said transition probability comparing means (11). An apparatus according to claim 4, wherein said new transition probability calculation means (12) updates the transition probability when a difference between the transition probability derived from the decoded frames and the transition probability stored in said transition probability storage means (11) is continually greater than or equal to a given value over a predetermined number of frames. An apparatus according to claim 3, wherein said transition probability storage means (11) stores said transitional probabilities of said correlation parameters with respect to the correlation parameter value of a previous frame in table form.

Inventors: KATO OSAMU, MIYA KAZUYUKI, KATO, OSAMU, MIYA, KAZUYUKI
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1992
Main classification: H03M13
IPC codes: H03M13, H04L1, H04L25