WO2016002572A1 - 受信装置および受信方法、並びにプログラム - Google Patents
受信装置および受信方法、並びにプログラム Download PDFInfo
- Publication number
- WO2016002572A1 WO2016002572A1 PCT/JP2015/067977 JP2015067977W WO2016002572A1 WO 2016002572 A1 WO2016002572 A1 WO 2016002572A1 JP 2015067977 W JP2015067977 W JP 2015067977W WO 2016002572 A1 WO2016002572 A1 WO 2016002572A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- decoding
- unit
- data
- error correction
- delay
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2933—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using a block and a convolutional code
- H03M13/2936—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using a block and a convolutional code comprising an outer Reed-Solomon code and an inner convolutional code
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2948—Iterative decoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
- H04L1/0051—Stopping criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0065—Serial concatenated codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0058—Allocation criteria
- H04L5/006—Quality of the received signal, e.g. BER, SNR, water filling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0203—Power saving arrangements in the radio access network or backbone network of wireless communication networks
-
- 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/27—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 using interleaving techniques
-
- 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
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Definitions
- the present disclosure relates to a receiving device, a receiving method, and a program, and more particularly, to a receiving device, a receiving method, and a program that can achieve lower power consumption.
- ISDB-T Integrated Services Digital Broadcasting-Terrestrial
- RS Random Solomon
- convolutional code inner code.
- DVB-T Digital Video Broadcasting-Terrestrial
- ATSC Advanced Television Television Systems Committee
- ISDB-S Integrated Services Digital Broadcasting-Satellite
- DVB-S Digital Video Broadcasting-Satellite
- DVB-T2 Bose Chaudhuri Hocquenghem
- LDPC Low Density Parity Check
- Digital Video Broadcasting-Terrestrial 2 DVB-C2 (Digital Video Broadcasting-Cable 2)
- DVB-S2 Digital Video Broadcasting-Satellite 2)
- an error correction unit of a receiving device compliant with the first generation terrestrial digital broadcasting standard is realized by connecting a Viterbi decoding unit, a convolutional deinterleaver, and an RS decoding unit in a pipeline manner.
- a Viterbi decoding unit a convolutional deinterleaver
- an RS decoding unit a pipeline manner.
- the likelihood of the bit that has been successfully RS-decoded among the likelihood of each bit that is Viterbi-decoded is the likelihood that seems to be the most encoded bit, and therefore corresponds to that bit.
- the decoding result of Viterbi decoding with improved correct decoding probability is deinterleaved and becomes a part of the RS codeword input to the RS decoding unit, the correct decoding probability of RS decoding is also improved. As a result, reception performance is improved. Such an effect is further enhanced by repeating Viterbi decoding and RS decoding.
- the applicant of the present application uses the likelihood decoding unit so that the reliability of the decoding result is improved by using the non-delayed decoding result among the decoding results after the delay by the byte deinterleaver.
- a receiving apparatus that can reduce memory for error correction processing by controlling decoding has been proposed (see, for example, Patent Document 1).
- the Viterbi decoding unit and the RS decoding unit continue to operate even in a situation where the correct decoding probability of the Viterbi decoding unit is not improved.
- the power consumption sometimes increased.
- the present disclosure has been made in view of such a situation, and is intended to further reduce power consumption.
- a receiving device is a receiving device that receives data encoded with n (n> 1 integer) codes, and the data is data before the first encoding, or Of the data after encoding with n codes, a data (integer of a ⁇ 1) is encoded so that encoding with the next code is performed after interleave processing is performed,
- the receiving apparatus includes n decoding units, a delay units, a reliability improvement unit, and a decoding stop determination unit, and the n decoding units decode n codes, and a
- the delay units perform inverse transformation of the interleaving process on the data output from the decoding unit for the code for encoding each of the a pieces of data subjected to the interleaving process, and the reliability
- the improvement unit is configured to decode each decoding unit.
- the decoding of the encoded data is controlled using a part or all of the result or using part or all of the data output from each of the delay units so that the reliability of the decoding result is improved.
- the decoding stop determination unit uses the part or all of the decoding result of each of the decoding units, or uses part or all of the data output from each of the delay units. By controlling the decoding, it is determined whether to stop the decoding again for the encoded data to be processed.
- a reception method or program is a control method of a reception device that receives data encoded with n (n> 1) integers, or n (n> 1) integers.
- a program that causes a computer that controls a receiving device that receives data encoded with a code to execute the data, wherein the data includes data before encoding first or data after encoding with n codes ,
- a (integer of a ⁇ 1) data is encoded so that encoding by the next code is performed after interleave processing is performed, each of the n codes is decoded, and the interleave processing is performed.
- the interleave processing is inversely transformed with respect to the data outputted for the code for encoding each of the a data performed, and part or all of the decoding results of each of the n codes Or the decoding of the encoded data is controlled so that the reliability of the decoding result is improved by using a part or all of the data subjected to the inverse transformation of the interleave processing, respectively,
- the decoding of the encoded data is controlled using a part or all of each decoding result of each of the codes or using a part or all of the data subjected to the inverse transformation of the interleave processing, respectively.
- the step of determining whether or not to stop the decoding again on the encoded data to be processed is included.
- the data includes data before the first encoding or data after encoding with n (n> 1) integers (a ⁇ 1). These data are encoded so as to be subjected to an interleaving process. Then, each of the n codes is decoded, and the interleave processing is inversely converted with respect to the data output from the decoding unit for the code that performs the encoding of each of the a data subjected to the interleave processing. Thereafter, the reliability of the decoding result is improved by using a part or all of the decoding results of each of the n codes, or by using part or all of the data subjected to the inverse transformation of the interleave processing.
- decoding of the encoded data is controlled. Then, the decoding of the encoded data is controlled by using a part or all of the decoding results of each of the n codes, or by using part or all of the data subjected to the inverse transformation of the interleave process. By doing so, it is determined whether or not to stop decoding again on the encoded data to be processed.
- FIG. 2 is a block diagram illustrating a first configuration example of an error correction unit in FIG. 1. It is a block diagram which shows the structural example of the likelihood conversion part of FIG. It is a block diagram which shows the structural example of the convolution encoding part of FIG. 3 is a flowchart for explaining error correction processing of an error correction unit in FIG. 2. It is a block diagram which shows the 1st modification in the 1st structural example of the error correction part of FIG. It is a block diagram which shows the structural example of the state production
- FIG. 10 is a block diagram illustrating a fifth configuration example of the error correction unit in FIG. 1. It is a block diagram which shows the modification in the 5th structural example of the error correction part of FIG. It is a block diagram which shows the structural example of the hardware of a computer.
- FIG. 1 is a block diagram illustrating a configuration example of an embodiment of a reception device to which the present technology is applied.
- the receiving device 11 receives and decodes a digital terrestrial broadcast RF signal compliant with the ISDB-T standard.
- the antenna 12 functions as a receiving unit.
- the antenna 12 receives an RF signal transmitted via a propagation path from a transmission device such as a broadcasting station (not shown) and supplies the RF signal to the tuner 13.
- the tuner 13 converts the frequency of the RF signal received by the antenna 12.
- the IF signal obtained by performing frequency conversion on the RF signal is supplied to the demodulator 14.
- the demodulator 14 performs A / D conversion on the IF signal supplied from the tuner 13, performs multilevel demodulation, and performs demapping, thereby generating likelihood.
- the demodulation unit 14 supplies the likelihood to the error correction unit 15 as encoded data encoded by the outer code and the inner code.
- the error correction unit 15 performs error correction processing on the likelihood supplied from the demodulation unit 14 and supplies data obtained as a result to the decoder 16.
- the error correction unit 15 outputs the number of bit errors for each predetermined period to the outside.
- the decoder 16 decodes the data supplied from the error correction unit 15 by, for example, MPEG (Moving Picture Experts Group) phase, and supplies image and audio data obtained as a result to the output unit 17.
- MPEG Motion Picture Experts Group
- the output unit 17 includes a display device, a speaker, and the like.
- the display device displays an image corresponding to the image data supplied from the decoder 16, and the speaker outputs audio corresponding to the audio data.
- FIG. 2 is a block diagram showing a first configuration example of the error correction unit 15 of FIG.
- the error correction unit 15 includes a control unit 21, a likelihood conversion unit 22, a Viterbi decoding unit 23, a byte deinterleaver 24, an RS decoding unit 25, a byte interleaver 26, a convolutional coding unit 27, A decoding stop determination unit 28 and a bit error counter 29 are provided.
- the error correction unit 15 realizes iterative decoding in which the Viterbi decoding unit 23 and the RS decoding unit 25 exchange information.
- the control unit 21 has a built-in memory and temporarily stores the input likelihood in order to read out the same likelihood a plurality of times. Then, the control unit 21 reads the likelihood from the built-in memory and supplies it to the likelihood conversion unit 22 at a necessary timing.
- the error correction unit 15 repeats decoding for each decoding unit with a certain number Nlr of likelihoods as one decoding unit, and the control unit 21 calculates the likelihood from the memory for each decoding unit. Read and supply to the likelihood conversion unit 22.
- this one decoding unit is the number of likelihoods for information bits of 11 packets, and decoding is repeated by a predetermined specified number of times for the Nlr likelihoods. .
- the convolutional code of the ISDB-T standard has a coding rate of 1/2, and a 2-bit code bit corresponds to a 1-bit information bit. Therefore, the control unit 21 supplies the likelihood conversion unit 22 with a 2-bit likelihood corresponding to one information bit.
- likelihood # 1 and likelihood # 2 when it is necessary to particularly distinguish the likelihood for 2 bits, they are referred to as likelihood # 1 and likelihood # 2, respectively.
- the likelihood conversion unit 22 converts the likelihood # 1 supplied from the control unit 21 based on the encoded bit # 1 supplied from the convolutional encoding unit 27 and the reliability information of the encoded bit # 1. To do. Similarly, the likelihood conversion unit 22 is based on the encoded bit # 2 supplied from the convolutional encoding unit 27 and the reliability information of the encoded bit # 2, and the likelihood # supplied from the control unit 21. Convert 2
- the coded bit # 1 corresponding to the likelihood # 1 and the coded bit # 2 corresponding to the likelihood # 2 are collectively referred to as a coded bit.
- the trust information # 1 and the trust information # 2 are collectively referred to as trust information.
- the likelihood conversion unit 22 sets the likelihood that seems to be the most encoded bit value as the likelihood after conversion.
- the level of the trust information is the L level indicating that the information is not reliable
- the likelihood supplied from the control unit 21 is set as the likelihood after conversion.
- the likelihood conversion unit 22 supplies the converted likelihood to the Viterbi decoding unit 23.
- the Viterbi decoding unit 23 performs Viterbi decoding on the likelihood supplied from the likelihood converting unit 22, and supplies a bit-by-bit decoding result to the byte deinterleaver 24.
- the byte deinterleaver 24 converts the bit unit decoding result supplied from the Viterbi decoding unit 23 into a byte unit decoding result.
- the byte deinterleaver 24 functions as a delay unit, and performs deinterleaving by delaying a part of the decoding result in units of bytes obtained as a result of conversion.
- the byte deinterleaver 24 is configured to correspond to this byte interleaver.
- the RS decoding unit 25 performs RS decoding on the byte-by-byte decoding result deinterleaved by the byte deinterleaver 24.
- the RS decoding unit 25 outputs the decoded data obtained as a result and a decoding success flag indicating whether decoding is successful or not to the outside, and supplies it to the byte interleaver 26. Further, the RS decoding unit 25 supplies the decoding success flag to the decoding stop determination unit 28.
- the byte interleaver 26 associates the decoding success flag supplied from the RS decoding unit 25 with the decoded data, and interleaves in byte units.
- the byte interleaver 26 supplies the interleaved decoded data in bytes and the decoding success flag to the convolutional coding unit 27.
- the convolutional encoding unit 27 supplies a predetermined value as an encoded bit and L-level reliability information to the likelihood conversion unit 22.
- the convolutional encoding unit 27 generates encoded bits based on the decoded data in units of bytes supplied from the byte interleaver 26 when the likelihood is read from the control unit 21 for the second and subsequent times.
- the convolutional encoding unit 27 generates trust information based on the decoding success flag. Then, the convolutional encoding unit 27 supplies the encoded bits and the reliability information to the likelihood converting unit 22.
- the decoding stop determination unit 28 generates a decoding stop flag indicating whether or not to stop decoding based on the decoding success flag supplied from the RS decoding unit 25, and supplies the decoding stop flag to the control unit 21 and the byte interleaver 26. .
- the decoding stop determination unit 28 performs decoding when all the data stored in the byte interleaver memory has succeeded in RS decoding or when all the data has failed in RS decoding.
- a decoding stop flag indicating that the operation is stopped is generated. That is, when all the data stored in the byte interleaver memory has succeeded or failed in RS decoding, the decoding is repeated thereafter for the likelihood of the decoding unit to be processed. It is assumed that the correct decoding probability after Viterbi decoding does not change. Therefore, if the correct decoding probability after Viterbi decoding does not change even if decoding is repeated, it is considered unnecessary to continue to operate the Viterbi decoding unit 23 and the memory, and the RS decoding unit 25. By stopping, power consumption can be suppressed.
- the decoding stop determination unit 28 continues the decoding success flag supplied from the RS decoding unit 25 by the number of packets (the number of RS codewords) corresponding to the capacity of the memory for the byte interleaver, and indicates the decoding success. Whether it is a level or an L level indicating a decoding failure is detected. Thereby, the decoding stop determination unit 28 confirms that all data stored in the byte interleaver memory has been successfully RS-decoded, or that all of the data has failed RS decoding. Can be recognized. That is, the decoding stop flag can be said to be a detection result obtained by detecting whether the decoding success flag is at the H level or the L level continuously by the number of packets corresponding to the capacity of the memory for byte interleaver.
- the decoding stop determination unit 28 generates a decoding stop flag and supplies it to the control unit 21 and the byte interleaver 26.
- the control unit 21 receives the decoding stop flag supplied from the decoding stop determination unit 28, and when the decoding stop flag is at the H level, even if the number of times of decoding has not reached the predetermined number of times, The decoding for the likelihood in the decoding unit is stopped. However, the error correction unit 15 stops decoding after outputting the likelihood in the current decoding unit. Then, the error correction unit 15 stops decoding the likelihood of the decoding unit currently being processed, and then starts decoding with the next decoding unit as the processing target. On the other hand, when the decoding stop flag supplied from the decoding stop determination unit 28 is at the L level, the control unit 21 repeats decoding for the same likelihood when the number of times of decoding has not reached the predetermined specified number of times. When the number of times reaches a predetermined specified number of times, the decoding of likelihood is started with the next decoding unit as a processing target.
- the byte interleaver 26 receives the decoding stop flag supplied from the decoding stop determination unit 28, and stops the access (write / read) to the interleaver memory when the decoding stop flag is at the H level. On the other hand, when the decoding stop flag supplied from the decoding stop determination unit 28 is at the L level, the byte interleaver 26 performs interleaving in units of bytes as described above.
- Bit error counter 29 functions as a calculation unit.
- the bit error counter 29 is a decoding result output from the RS decoding unit 25, that is, a decoding success flag corresponding to the likelihood of the first reading performed by the control unit 21, the number of corrected bits, and an external input.
- the error bit number is accumulated based on the fixed error bit number which is a fixed value of the error bit number to be measured and the measurement period of the bit error number.
- the bit error counter 29 accumulates the number of error bits only for the data obtained by RS decoding the data read first in the control unit 21. Specifically, the bit error counter 29 accumulates the corrected number of bits within the measurement period of the number of bit errors when the level of the decoding success flag is H level (successful decoding). On the other hand, when the level of the decoding success flag is L level (decoding has failed), the bit error counter 29 accumulates the fixed error bit number within the measurement period of the bit error number. The bit error counter 29 outputs the accumulated number of bits as the number of bit errors to the outside for each measurement period of the number of bit errors.
- the bit error counter 29 reads the same data a plurality of times from the control unit 21, so that it is not the number of correction bits when the data read for the first time is RS-decoded, but the number of correction bits for the second or more n-th time May be accumulated. In other words, the bit error counter 29 can accumulate the number of error bits using any one of the decoding results decoded a plurality of times. Further, a selection signal may be input so that the bit error counter 29 can select from outside the number of correction bits at the time of RS decoding.
- the error correction unit 15 when all the data stored in the byte interleaver memory has succeeded in the RS decoding, or when all the data has failed in the RS decoding.
- the decoding for the decoding unit currently being processed is stopped. Thereby, it is possible to avoid the degradation of the decoding performance, and to stop the operation of the Viterbi decoding unit 23 with high power consumption, the memory access by the byte interleaver 26, and the operation of the RS decoding unit 25. Therefore, the error correction unit 15 can reduce power consumption as compared with a configuration in which decoding is not stopped in such a case.
- the conventional error correction unit performs Viterbi decoding and RS decoding for the same data a predetermined number of times even in a noisy reception environment where RS decoding fails continuously. At this time, since RS decoding fails continuously, the correct decoding probability of subsequent Viterbi decoding does not improve, and as a result, Viterbi decoding and RS decoding are performed even though performance does not improve. Power will be consumed by the amount.
- the conventional error correction unit performs Viterbi decoding and RS decoding a predetermined number of times for the same data even in a reception environment where there is almost no noise such that RS decoding succeeds continuously. At this time, since RS decoding has succeeded continuously, even if the Viterbi decoding is successful, Viterbi decoding and RS decoding are performed, so that much power is consumed.
- the error correction unit 15 when RS decoding has succeeded or failed continuously, subsequent Viterbi decoding and RS decoding are stopped, so that power consumption is reduced accordingly. can do. At this time, even if the subsequent Viterbi decoding and RS decoding are not stopped, the correct decoding probability of the Viterbi decoding is not improved, so that the performance is degraded by stopping them in the error correction unit 15. Absent.
- FIG. 3 is a block diagram illustrating a configuration example of the likelihood conversion unit 22 of FIG.
- the selector 51 of the likelihood converting unit 22 selects the most likely likelihood or the most likely likelihood input from the outside based on the coded bit # 1 supplied from the convolutional coding unit 27 of FIG. . Specifically, the selector 51 selects the most likely likelihood when the encoded bit # 1 is 1, and selects the most likely likelihood when the encoded bit # 1 is 0. The selector 51 supplies the selected likelihood to the selector 52.
- the selector 52 selects the likelihood supplied from the selector 51 or the likelihood supplied from the control unit 21 based on the reliability information # 1 supplied from the convolutional coding unit 27. Specifically, the selector 52 selects the likelihood supplied from the selector 51 when the level of the trust information # 1 is H level, and when the level of the trust information # 1 is the L level, the control unit 21 Select the likelihood supplied from. The selector 52 supplies the selected likelihood to the Viterbi decoding unit 23 of FIG. 2 as the likelihood after conversion.
- the selector 53 selects the most likely likelihood or the most likely likelihood input from the outside based on the encoded bit # 2 supplied from the convolutional encoding unit 27, similarly to the selector 51.
- the selector 53 supplies the selected likelihood to the selector 54.
- the selector 54 selects the likelihood supplied from the selector 53 or the likelihood supplied from the control unit 21 based on the reliability information # 2 supplied from the convolutional coding unit 27, similarly to the selector 52.
- the selector 54 supplies the selected likelihood to the Viterbi decoding unit 23 as the likelihood after conversion.
- FIG. 4 is a block diagram illustrating a configuration example of the convolutional encoding unit 27 of FIG.
- 4 is composed of an encoding unit 71 and a reliability information generation unit 72.
- the encoding unit 71 includes a byte bit conversion unit 91, delay units 92 to 97, an EXOR unit 98, and an EXOR unit 99.
- the byte bit conversion unit 91 of the encoding unit 71 converts the interleaved byte unit decoded data supplied from the byte interleaver 26 of FIG. 2 into bit units, and converts the bit unit decoded data into a delay unit 92 and an EXOR unit. 98 and the EXOR unit 99.
- the delay unit 92 supplies the stored decoded data to the delay unit 93 and the EXOR unit 98, and holds the input decoded data.
- the delay unit 93 supplies the stored decoded data to the delay unit 94, the EXOR unit 98, and the EXOR unit 99, and holds the input decoded data. To do.
- the delay unit 94 supplies the stored decoded data to the delay unit 95, the EXOR unit 98, and the EXOR unit 99, and holds the input decoded data. To do.
- the delay unit 95 supplies the held decoded data to the delay unit 96 and holds the input decoded data.
- the delay unit 96 supplies the stored decoded data to the delay unit 97 and the EXOR unit 99, and holds the input decoded data.
- the delay unit 97 supplies the held decoded data to the EXOR unit 98 and the EXOR unit 99, and holds the input decoded data.
- the EXOR unit 98 calculates an exclusive OR of the decoded data in bit units supplied from the byte bit conversion unit 91, the delay units 92 to 94, and the delay unit 97, and the calculation result is shown as encoded bit # 1. 2 likelihood conversion unit 22.
- the EXOR unit 99 calculates the exclusive OR of the decoded data in bit units supplied from the byte bit conversion unit 91, the delay unit 93, the delay unit 94, the delay unit 96, and the delay unit 97, and encodes the calculation result. To the likelihood conversion unit 22 as the quantization bit # 2.
- the trust information generation unit 72 includes delay units 111 to 116, an AND unit 117, and an AND unit 118.
- the delay unit 111 supplies the held decoding success flag to the delay unit 112 and the AND unit 117, and holds the input decoding success flag.
- the delay unit 112 supplies the held decoding success flag to the delay unit 113, the AND unit 117, and the AND unit 118, and holds the input decoding success flag. To do.
- the delay unit 113 supplies the held decoding success flag to the delay unit 114, the AND unit 117, and the AND unit 118, and holds the input decoding success flag. To do.
- the delay unit 114 supplies the held decoding success flag to the delay unit 115, and holds the input decoding success flag.
- the delay unit 115 supplies the held decoding success flag to the delay unit 116 and the AND unit 118, and holds the input decoding success flag.
- the delay unit 116 supplies the held decoding success flag to the AND unit 117 and the AND unit 118, and holds the input decoding success flag.
- the AND unit 117 calculates the logical product of the decoding success flag supplied from the byte interleaver 26, the decoding success flag supplied from the delay units 111 to 113, and the decoding success flag supplied from the delay unit 116, and the operation The result is supplied to the likelihood conversion unit 22 as reliability information # 1.
- the AND unit 118 calculates the logical product of the decoding success flag supplied from the byte interleaver 26 and the decoding success flag supplied from the delay unit 112, the delay unit 113, the delay unit 115, and the delay unit 116, and The calculation result is supplied to the likelihood conversion unit 22 as reliability information # 2.
- FIG. 5 is a flowchart for explaining error correction processing of the error correction unit 15 of FIG. This error correction process is started each time, for example, the likelihood of one packet is input from the demodulator 14 of FIG.
- step S ⁇ b> 11 the control unit 21 reads the likelihood of one decoding unit to be processed from the likelihoods stored in the built-in memory, and supplies the likelihood to the likelihood conversion unit 22.
- step S12 the likelihood conversion unit 22 converts the likelihood supplied from the control unit 21 and the reliability information and encoded bits supplied from the convolutional coding unit 27 as described above with reference to FIG. A likelihood conversion process for converting the likelihood is performed based on this.
- step S ⁇ b> 13 the Viterbi decoding unit 23 performs Viterbi decoding on the likelihood supplied from the likelihood converting unit 22, and supplies a bit-by-bit decoding result to the byte deinterleaver 24.
- step S ⁇ b> 14 the byte deinterleaver 24 converts the bitwise decoding result supplied from the Viterbi decoding unit 23 into a bytewise decoding result and supplies the deinterleaved bytewise decoding result to the RS decoding unit 25. To do.
- step S ⁇ b> 15 the RS decoding unit 25 RS-decodes the deinterleaved byte unit decoding result supplied from the byte deinterleaver 24, outputs the decoded data obtained as a result, and supplies the decoded data to the byte interleaver 26. . Also, the RS decoding unit 25 supplies the decoding success flag obtained as a result of the RS decoding to the byte interleaver 26, the decoding stop determination unit 28, and the bit error counter 29, and sets the corrected number of bits obtained as a result of the RS decoding as a bit. The error counter 29 is supplied.
- step S16 the byte interleaver 26 associates the decoding success flag supplied from the RS decoding unit 25 with the decoded data, and interleaves the decoded data and the decoding success flag in units of bytes.
- the byte interleaver 26 supplies the interleaved decoded data in bytes and the decoding success flag to the convolutional coding unit 27.
- step S ⁇ b> 17 when the first likelihood reading is performed from the control unit 21, the convolutional encoding unit 27 supplies the likelihood conversion unit 22 with a predetermined value as encoded bits and L-level reliability information.
- the convolutional encoding unit 27 generates encoded bits based on the decoded data in units of bytes supplied from the byte interleaver 26 when the likelihood is read from the control unit 21 for the second and subsequent times.
- the convolutional encoding unit 27 generates trust information based on the decoding success flag. Then, the convolutional encoding unit 27 supplies the encoded bits and the reliability information to the likelihood converting unit 22.
- the decoding stop determination unit 28 determines whether or not to stop decoding for the likelihood of one decoding unit that is the processing target, based on the decoding success flag supplied from the RS decoding unit 25. For example, as described above, the decoding stop determination unit 28, when all the data stored in the byte interleaver memory has succeeded in RS decoding, or when all the data has failed in RS decoding. If so, it is determined to stop decoding.
- step S18 when the decoding stop determination unit 28 determines not to stop decoding with respect to the likelihood of one decoding unit to be processed, the process proceeds to step S19.
- step S19 the decoding stop determination unit 28 sets the level of the decoding stop flag supplied to the control unit 21 and the byte interleaver 26 to an L level indicating that decoding is not stopped.
- step S20 the control unit 21 determines whether or not the number of decoding times for decoding the likelihood has reached a specified number for the likelihood of one decoding unit to be processed.
- step S20 when the control unit 21 determines that the number of decoding times has not reached the specified number, the process returns to step S11. And the control part 21 reads the likelihood of the same 1 decoding unit as a process target, and the process similar to the process mentioned above is repeated hereafter.
- step S18 the decoding stop determination unit 28 determines in step S18 to stop decoding for the likelihood of one decoding unit that is the processing target.
- the process proceeds to step S21.
- step S21 the decoding stop determination unit 28 sets the level of the decoding stop flag supplied to the control unit 21 and the byte interleaver 26 to an H level indicating that decoding is to be stopped.
- step S20 If it is determined in step S20 that the number of decoding times has reached the specified number, or after the processing in step S21, the process proceeds to step S22. In other words, in this case, the decoding of the likelihood of one decoding unit currently being processed is terminated.
- step S22 the control unit 21 sets the next one decoding unit as a processing target, and the process returns to step S11. Therefore, in this case, the control unit 21 reads the likelihood of one decoding unit newly set as a processing target, and thereafter, the same processing as the processing described above is repeated.
- the error correction unit 15 stops decoding for the decoding unit to be processed when all data stored in the byte interleaver memory has succeeded or failed in RS decoding. Can do. Therefore, the error correction unit 15 can reduce the power consumption by avoiding the deterioration of the decoding performance.
- FIG. 6 is a block diagram showing a first modification of the first configuration example (FIG. 2) of the error correction unit 15 of FIG.
- the same blocks as those in the error correction unit 15 shown in FIG. 2 are assigned the same reference numerals, and detailed descriptions thereof are omitted.
- the error correction unit 15-1 includes a control unit 21, a Viterbi decoding unit 23, a byte deinterleaver 24, an RS decoding unit 25, a byte interleaver 26, a decoding stop determination unit 28, and a bit error counter 29.
- the configuration is the same as that of the error correction unit 15 of FIG.
- the error correction unit 15-1 is different from the error correction unit 15 in FIG. 2 in that it includes a state generation unit 30 instead of the likelihood conversion unit 22 and the convolutional coding unit 27 in FIG. .
- the control unit 21 has a built-in memory and temporarily stores the likelihood supplied from the demodulation unit 14 in FIG. Then, the control unit 21 performs the first reading of the likelihood in the same manner as the control unit 21 in FIG. 2 and supplies the read likelihood to the Viterbi decoding unit 23. At this time, the control unit 21 supplies the predetermined value as the state and the reliability information of the L-level state to the Viterbi decoding unit 23. Further, when the state reliability information and the state are output from the state generation unit 30, the control unit 21 performs the second reading of the likelihood of a predetermined unit and supplies the read to the Viterbi decoding unit 23.
- the Viterbi decoding unit 23 performs Viterbi decoding on the likelihood supplied from the control unit 21 based on the state supplied from the control unit 21 and the state reliability information.
- Viterbi decoding will be described.
- the branch metric of the branch on the trellis calculated from the likelihood and the state metric of the state one time before are calculated from the state metric of the current time.
- a state metric for the state is calculated.
- a path (branch) between the state at the previous time and the state at the current time when the sum of the state metric and the branch metric of the state at the previous time becomes the minimum is taken as the survival path.
- a bit string (code bit or information bit) assigned to the path (branch) is set as a decoding result.
- the decoding process is not started immediately, but the decoding process is started after joining the optimal path (maximum likelihood path) by training for a certain period of time.
- the Viterbi decoding unit 23 performs such Viterbi decoding based on the state and state reliability information supplied from the control unit 21. Specifically, when the level of state reliability information is H level, the Viterbi decoding unit 23 pastes the state metric of the state supplied from the control unit 21 to the minimum value in Viterbi decoding, and stores the state information of other states. Performs termination processing to paste the state metric to the maximum value. Then, the Viterbi decoding unit 23 determines the surviving path based on the likelihood and the state metric after the termination process, and performs the traceback using the state supplied from the control unit 21 as the start state of the traceback, thereby performing the decoding in bit units. Get results.
- the Viterbi decoding unit 23 provides a circuit for comparing state metrics because the Traceback start state is set to the state supplied from the control unit 21 when the level of the reliability information of the state is the H level. Instead, Traceback can be started from the state with the minimum state metric. By starting Traceback from the state having the minimum state metric, there is a high possibility that the state exists on the optimum path from the start of Traceback.
- the Viterbi decoding unit 23 performs normal Viterbi decoding on the likelihood to obtain a decoding result in bit units.
- the Viterbi decoding unit 23 supplies the bit unit decoding result to the byte deinterleaver 24.
- the state generation unit 30 generates state and state reliability information based on the decoded data in units of bytes supplied from the byte interleaver 26 and the decoding success flag. Then, the state generation unit 30 supplies the state and state reliability information to the control unit 21.
- the state generation unit 30 generates state and state reliability information based on the decoded data in bytes and the decoding success flag supplied from the byte interleaver 26, and performs control. To the unit 21.
- the error correction unit 15-1 can improve the decoding error performance, and can reduce power consumption in the same manner as the error correction unit 15 in FIG. That is, when all the data stored in the byte interleaver memory has succeeded or failed in the RS decoding, the decoding performance is degraded by stopping the decoding for the current decoding unit. The power consumption can be suppressed while avoiding the above.
- FIG. 7 is a block diagram illustrating a configuration example of the state generation unit 30 in FIG.
- the 7 includes an encoding unit 151 and a trust information generation unit 152.
- the encoding unit 151 of the state generation unit 30 includes a byte bit conversion unit 171 and delay units 172 to 176.
- the byte bit conversion unit 171 converts the decoded data in byte units supplied from the byte interleaver 26 in FIG. 6 into decoded data in bit units, supplies the decoded data to the control unit 21 as a one-bit state, and delay unit 172. To supply.
- the delay unit 172 to the delay unit 176 are connected in series in order.
- the delay unit 172 supplies the held decoded data to the control unit 21 as a 1-bit state and also supplies it to the delay unit 173.
- the delay unit 172 holds the input decoded data in bit units.
- the delay units 173 to 176 supply the decoded data held therein to the control unit 21 as a 1-bit state when the decoded data in units of bits is input from the preceding delay unit. To the delay unit in the subsequent stage. Similarly to the delay unit 172, the delay units 173 to 176 hold the input decoded data in bit units.
- the encoding unit 151 supplies 6-bit decoded data to the control unit 21 as a state.
- the trust information generation unit 152 includes delay units 181 to 185 and an AND unit 186.
- the delay units 181 to 185 are connected in series in order.
- the delay unit 181 supplies the held decoding success flag to the AND unit 186 and the delay unit 182. Then, the delay unit 181 holds the input decoding success flag.
- the delay units 182 to 185 when a decoding success flag is input from the preceding delay unit, supplies the held decoding success flag to the AND unit 186 and the subsequent delay unit. Similarly to the delay unit 181, the delay units 182 to 185 hold the input decoding success flag.
- the AND unit 186 calculates the logical product of the decoding success flags supplied from the byte interleaver 26 and the delay units 181 to 185, and supplies the logical product obtained as a result to the control unit 21 as state reliability information.
- FIG. 8 is a block diagram showing a second modification of the first configuration example (FIG. 2) of the error correction unit 15 of FIG.
- the blocks constituting the error correction unit 15-2 shown in FIG. 8 are assigned the same reference numerals, and detailed descriptions thereof are omitted.
- the error correction unit 15-2 includes a control unit 21, likelihood conversion unit 22, Viterbi decoding unit 23, byte deinterleaver 24, RS decoding unit 25, byte interleaver 26, convolutional coding unit 27, and decoding stop determination.
- the configuration is the same as that of the error correction unit 15 of FIG. 2 in that the unit 28 and the bit error counter 29 are provided.
- the error correction unit 15-1 is different from the error correction unit 15 of FIG.
- the synchronization byte processing unit 31 functions as a replacement unit, and the synchronization byte processing unit 31 is supplied with the decoded data and the decoding success flag from the RS decoding unit 25. Then, the synchronization byte processing unit 31 replaces the value of the synchronization byte in the byte-unit decoded data output from the RS decoding unit 25 with a predetermined value.
- the value of the synchronization byte of the packet is the known value 0x47 or 0xb8, once in 8 packets is 0xb8, and otherwise it is 0x47.
- the decoding success flag is H (decoding success) and 0xb8 is input to the synchronization byte of the packet, it is said that the b8 synchronization state has been entered.
- the b8 synchronization state it is necessary to obtain the head of the packet input to the Viterbi decoding unit 23 from the synchronous byte of the packet after the byte deinterleaver.
- the byte interleaver 26 and the byte deinterleaver 24 reduce the packet by 11 packets.
- the synchronization byte processing unit 31 can replace the synchronization byte with 0x47 or 0xb8.
- the synchronization byte of the packet is fixed to 0x47, but 0x47 comes to the end of the packet at the input time of the Viterbi decoding unit 23 (after considering RS encoding on the transmission side). Therefore, the synchronous byte processing unit 31 replaces the last byte of the packet with 0x47 regardless of the decoding success flag, and outputs the data after performing such synchronous byte processing.
- the synchronization byte processing unit 31 when receiving the DVB-T standard signal, the synchronization byte processing unit 31 outputs H as a decoding success flag for output when in the b8 synchronization state, and when not in the b8 synchronization state, The part outputs an input decoding success flag. Further, when receiving the ISDB-T standard signal, the synchronous byte processing unit 31 outputs H to the output decoding success flag regardless of the input decoding success flag.
- the synchronous byte processing unit 31 supplies the byte interleaver 26 with the decoded data in units of bytes after replacement and the decoding success flag.
- the error correction unit 15-2 configured as described above includes the synchronous byte processing unit 31, thereby improving the performance by the synchronous byte processing and reducing the power consumption similarly to the error correction unit 15 of FIG. be able to. That is, when all the data stored in the byte interleaver memory has succeeded or failed in the RS decoding, the decoding performance is degraded by stopping the decoding for the current decoding unit. The power consumption can be suppressed while avoiding the above.
- the synchronous byte processing unit 31 included in the error correction unit 15-2 may employ, for example, a configuration included in the error correction unit 15 in FIG. 2 or a configuration included in the error correction unit 15-1 in FIG. .
- the state generation unit 30 included in the error correction unit 15-1 in FIG. 6 is adopted, for example, a configuration included in the error correction unit 15 in FIG. 2 or a configuration included in the error correction unit 15-2 in FIG. Also good.
- FIG. 9 is a block diagram showing a second configuration example of the error correction unit 15 of FIG.
- the blocks constituting the error correction unit 15A shown in FIG. 9 the blocks common to the error correction unit 15 shown in FIG. 2 are denoted by the same reference numerals, and detailed description thereof is omitted.
- the error correction unit 15A includes a control unit 21, a likelihood conversion unit 22, a Viterbi decoding unit 23, a byte deinterleaver 24, an RS decoding unit 25, a convolutional coding unit 27, a decoding stop determination unit 28, and a bit error counter. 29, the configuration is the same as that of the error correction unit 15 of FIG. However, the error correction unit 15A is different from the error correction unit 15 of FIG. 2 in that the byte interleaver 26 of FIG. 2 is not provided.
- the control unit 21 has a built-in memory, and stores the input likelihood. Then, the control unit 21 reads the same likelihood from the memory once or twice. Whether or not the control unit 21 performs the second reading of the same likelihood from the memory is stopped based on information obtained from the decoding results of Viterbi decoding and RS decoding based on the likelihood read in the first time. It is determined according to the decoding stop flag generated in the determination unit 28. That is, when the level of the decoding stop flag is L level, the control unit 21 performs the second reading with the same likelihood, and when the level of the decoding stop flag is H level, the control unit 21 performs the second time with the same likelihood. Is not read. Then, the control unit 21 supplies the encoded bit and its reliability information to the likelihood conversion unit 22 together with the likelihood read from the memory.
- the read start timing is the reliability generated by the convolutional coding unit 27 using the decoded data from the RS decoding unit 25 and the decoding success flag. This is when information and coded bits are input to the control unit 21. At this time, when the input encoded bit and its reliability information are generated using the decoded data passing through the zero delay branch of the byte deinterleaver 24 and the decoding success flag, the control unit 21 inputs The encoded bits and their reliability information are output. On the other hand, if the input encoded bit and its reliability information are not generated using the decoded data passing through the zero delay branch of the byte deinterleaver 24 and the decoding success flag, the control unit 21 encodes the encoded bit.
- the reliability information of the encoded bit is, for example, L level indicating that it is not reliable.
- Byte deinterleaver 24 always performs deinterleaving for the first decoding. On the other hand, for the second decoding, the byte deinterleaver 24 updates only when the RS decoding is successful in the first decoding, and when the RS decoding fails in the first decoding, Do not update.
- the RS decoding unit 25 performs RS decoding only on the input data in the first decoding.
- the RS decoding unit 25 outputs the decoded data as the output of the error correction unit 15A only when the decoding result of the first decoding is successful, and convolutionally codes the data that has passed through the zero delay branch of the byte deinterleaver 24. To the conversion unit 27.
- the decoding stop determination unit 28 generates a decoding stop flag indicating whether or not to stop decoding based on the decoding success flag supplied from the RS decoding unit 25 and supplies the decoding stop flag to the control unit 21. For example, when the decoding success flag is at the H level indicating successful decoding, the decoding stop determination unit 28 outputs an L level decoding stop flag indicating that decoding is not stopped. On the other hand, when the decoding success flag is at the L level indicating decoding failure, the decoding stop determination unit 28 outputs an H level decoding stop flag indicating that decoding is to be stopped.
- the error correction unit 15A configured in this manner can suppress power consumption while maintaining the performance improvement obtained by suppressing the memory capacity and repeatedly decoding.
- FIG. 10 is a block diagram showing a first modification of the second configuration example (FIG. 9) of the error correction unit 15 of FIG.
- the blocks common to the error correction unit 15A shown in FIG. 9 are denoted by the same reference numerals, and detailed description thereof is omitted.
- the error correction unit 15A-1 includes a control unit 21, a Viterbi decoding unit 23, a byte deinterleaver 24, an RS decoding unit 25, a decoding stop determination unit 28, and a bit error counter 29.
- the configuration is the same as that of the correction unit 15A.
- the error correction unit 15A-1 is different from the error correction unit 15A in FIG. 9 in that it includes a state generation unit 30 instead of the likelihood conversion unit 22 and the convolutional coding unit 27 in FIG. .
- the error correction unit 15A-1 supplies the decoded data and the decoding success flag output from the RS decoding unit 25 to the state generation unit 30. Then, similarly to the state generation unit 30 of the error correction unit 15-1 illustrated in FIG. 6, the state generation unit 30 determines the state based on the decoded data in bytes and the decoding success flag supplied from the RS decoding unit 25. And generate state trust information. Then, the state generation unit 30 supplies the state and state reliability information to the control unit 21.
- the control unit 21 has a built-in memory, and stores the input likelihood. Then, the control unit 21 reads the same likelihood from the memory once or twice. Whether or not the control unit 21 performs the second reading of the same likelihood from the memory is stopped based on information obtained from the decoding results of Viterbi decoding and RS decoding based on the likelihood read in the first time. It is determined according to the decoding stop flag generated in the determination unit 28. That is, when the level of the decoding stop flag is L level, the control unit 21 performs the second reading with the same likelihood, and when the level of the decoding stop flag is H level, the control unit 21 performs the second time with the same likelihood. Is not read. Then, the control unit 21 supplies the encoded bit and its reliability information to the likelihood conversion unit 22 together with the likelihood read from the memory.
- the read start timing is the reliability information generated by the state generator 30 using the decoded data from the RS decoder 25 and the decoding success flag.
- the control unit 21 generates the state supplied from the state generation unit 30 and its reliability information using the decoded data passing through the zero delay branch of the byte deinterleaver 24 and the decoding success flag. If so, it outputs the input state and its trust information.
- the control unit 21 when the state supplied from the state generation unit 30 and the reliability information thereof are not generated using the decoded data passing through the zero delay branch of the byte deinterleaver 24 and the decoding success flag,
- the state may be arbitrary, and the trust information of the state is, for example, L level indicating that the state is not reliable.
- the error correction unit 15A-1 configured as described above does not include the likelihood conversion unit 22 and the convolutional coding unit 27 included in the error correction unit 15A of FIG. 9, but includes a state generation unit 30. Compared with the error correction unit 15A of FIG. 9, the decoding error performance can be improved. Further, the error correction unit 15A-1 can reduce the power consumption, similarly to the error correction unit 15A of FIG.
- FIG. 11 is a block diagram showing a second modification of the second configuration example (FIG. 9) of the error correction unit 15 of FIG.
- the blocks constituting the error correction unit 15A-2 shown in FIG. 11 are denoted by the same reference numerals, and detailed description thereof is omitted.
- the error correction unit 15A-2 includes a control unit 21, a likelihood conversion unit 22, a Viterbi decoding unit 23, a byte deinterleaver 24, an RS decoding unit 25, a convolutional coding unit 27, a decoding stop determination unit 28, and a bit
- the configuration is the same as that of the error correction unit 15A of FIG.
- the error correction unit 15A-2 is different from the error correction unit 15A of FIG. 9 in that the synchronization byte processing unit 31 is provided.
- the decoded data and the decoding success flag output from the RS decoding unit 25 are supplied to the synchronous byte processing unit 31, and the decoded data and decoding are supplied from the synchronous byte processing unit 31 to the convolutional encoding unit 27. A success flag is supplied.
- the synchronization byte processing unit 31 functions as a replacement unit as described above with reference to FIG. 8. For example, the synchronization byte processing unit 31 calculates the value of the synchronization byte in the decoded data in units of bytes output from the RS decoding unit 25. Replace with a predetermined value.
- the error correction unit 15A-2 can be improved in performance as compared with the error correction unit 15A of FIG. 9 by including the synchronization byte processing unit 31, and the error correction unit 15A of FIG. As with the case, power consumption can be reduced.
- the synchronous byte processing unit 31 included in the error correction unit 15A-2 may be configured to include, for example, the error correction unit 15A-1 in FIG. Further, the state generation unit 30 included in the error correction unit 15A-1 in FIG. 10 is adopted, for example, by the configuration included in the error correction unit 15A in FIG. 9 or the configuration included in the error correction unit 15A-2 in FIG. Also good.
- FIG. 12 is a block diagram showing a third configuration example of the error correction unit 15 of FIG.
- the blocks constituting the error correction unit 15B shown in FIG. 12 are denoted by the same reference numerals, and detailed description thereof is omitted.
- the error correction unit 15B includes a likelihood conversion unit 22, a byte interleaver 26, a convolutional coding unit 27, a decoding stop determination unit 28, and a bit error counter 29.
- the configuration is the same as that of the correction unit 15.
- the error correction unit 15B is different from the error correction unit 15 of FIG. 2 in that it includes two Viterbi decoding units 23, byte deinterleavers 24, and RS decoding units 25.
- the error correction unit 15B is different from the error correction unit 15 of FIG. 2 in that it includes a delay unit 32 and a selector 33.
- the likelihood subjected to multilevel demodulation and demapping processing is input in bit units from the demodulation unit 14 of FIG.
- the Viterbi decoding unit 23-1 performs Viterbi decoding on the supplied likelihood and supplies a bit-by-bit decoding result to the byte deinterleaver 24-1.
- the byte deinterleaver 24-1 converts the bit unit decoding result supplied from the Viterbi decoding unit 23-1 into a byte unit decoding result.
- the RS decoding unit 25-1 performs RS decoding on the decoding result in units of bytes deinterleaved by the byte deinterleaver 24-1.
- the RS decoding unit 25 supplies the decoded data obtained as a result and a decoding success flag indicating whether decoding is successful to the byte interleaver 26 and the decoding stop determination unit 28.
- the byte interleaver 26 is supplied with a decoding success flag along with the decoded data decoded by the RS decoding unit 25-1.
- the byte interleaver 26 associates the decoding success flag supplied from the RS decoding unit 25 with the decoded data, interleaves in units of bytes, and supplies the decoded data in units of bytes and the decoding success flag after interleaving to the convolutional encoding unit 27. .
- a decoding stop flag is supplied from the decoding stop determination unit 28 to the byte interleaver 26.
- the byte interleaver 26 generates an output mask flag indicating whether or not the likelihood is output from the delay unit 32 to the likelihood conversion unit 22 based on the decoding stop flag supplied from the decoding stop determination unit 28, and the delay To the unit 32. For example, when the level of the decoding stop flag is H level, the byte interleaver 26 supplies the delay unit 32 with an H level output mask flag indicating that the likelihood is not output. On the other hand, the byte interleaver 26 supplies the delay unit 32 with an L-level output mask flag indicating that the likelihood is output when the level of the decoding stop flag is L level.
- the convolutional encoding unit 27 performs convolutional encoding by generating encoded bits based on the decoded data in units of bytes supplied from the byte interleaver 26. In addition, the convolutional encoding unit 27 generates trust information based on the decoding success flag. Then, the convolutional encoding unit 27 supplies the encoded bits and the reliability information to the likelihood converting unit 22.
- the delay unit 32 supplies the likelihood supplied from the demodulator 14 of FIG. 1 to the likelihood converter 22 based on the output mask flag supplied from the byte interleaver 26. For example, when the level of the output mask flag is L level, the delay unit 32 indicates the likelihood corresponding to the encoded bit and the reliability information generated by the convolutional encoding unit 27, and the encoded bit and the reliability information are convolutional codes. The data is supplied to the likelihood conversion unit 22 in synchronization with the timing supplied from the conversion unit 27 to the likelihood conversion unit 22. On the other hand, when the level of the output mask flag is H level, the delay unit 32 does not output the likelihood to the likelihood conversion unit 22. Therefore, in this case, the operations in the likelihood conversion unit 22 and the Viterbi decoding unit 23-2 are stopped.
- the likelihood conversion unit 22 performs likelihood conversion based on the likelihood supplied from the delay unit 32 and the encoded bits and the reliability information supplied from the convolutional encoding unit 27, and the converted likelihood is Viterbi. This is supplied to the decryption unit 23-2.
- the Viterbi decoding unit 23-2 performs Viterbi decoding on the likelihood supplied from the likelihood converting unit 22, and supplies the bit-by-bit decoding result to the byte deinterleaver 24-2 via the selector 33.
- the selector 33 selects one of the outputs of the Viterbi decoding unit 23-2 and the byte interleaver 26 based on the decoding stop flag supplied from the decoding stop determination unit 28, and the byte deinterleaver 24. -2. For example, the selector 33 selects the output of the Viterbi decoding unit 23-2 when the level of the decoding stop flag is L level, and selects the output of the byte interleaver 26 when the level of the decoding stop flag is H level. To do.
- the byte deinterleaver 24-2 converts the decoding result in bit units supplied via the selector 33 into a decoding result in byte units.
- the byte deinterleaver 24-2 functions as a delay unit, and performs deinterleaving by delaying a part of the decoding result in units of bytes obtained as a result of conversion.
- the RS decoding unit 25-2 performs RS decoding on the decoding result in units of bytes deinterleaved by the byte deinterleaver 24-2.
- the RS decoding unit 25 outputs the decoded data obtained as a result and a decoding success flag indicating whether decoding is successful or not.
- Bit error counter 29 functions as a calculation unit.
- the bit error counter 29 measures the decoding success flag and the corrected bit number output from the RS decoding unit 25-1, and the fixed error bit number and the bit error number which are fixed values of the error bit number input from the outside. Accumulate the number of error bits based on the period.
- the bit error counter 29 accumulates the number of correction bits when the decoding success flag from the RS decoding unit 25-1 is H level indicating successful decoding.
- the bit error counter 29 accumulates the number of fixed error bits regardless of the number of correction bits when the decoding success flag from the RS decoding unit 25-1 is at the L level indicating decoding failure.
- the bit error counter 29 outputs the accumulated number of bit errors at the timing when the bit error measurement period starts.
- bit error counter 29 may accumulate the number of correction bits based on the output from the RS decoding unit 25-2 instead of the output from the RS decoding unit 25-1.
- the bit error counter 29 can select the output of the RS decoding unit 25-1 or the RS decoding unit 25-2 to accumulate the number of correction bits, for example, so that the selection signal can be selected from the outside.
- a configuration for inputting to the error counter 29 may be adopted.
- the error correction unit 15B configured as described above has, for example, the same decoding performance with almost the same power consumption as compared with the error correction unit 15 of FIG. And the memory capacity can be reduced to about half.
- FIG. 13 is a block diagram showing a first modification of the third configuration example (FIG. 12) of the error correction unit 15 of FIG.
- the blocks constituting the error correction unit 15B-1 shown in FIG. 13 are denoted by the same reference numerals, and detailed description thereof is omitted.
- the error correction unit 15B-1 includes a delay unit 32, Viterbi decoding units 23-1 and 23-2, byte deinterleavers 24-1 and 24-2, RS decoding units 25-1 and 25-2, byte interpolators.
- the configuration is the same as that of the error correction unit 15B of FIG. 12 in that it includes a leaver 26, a decoding stop determination unit 28, a selector 33, and a bit error counter 29.
- the error correction unit 15B-1 is different from the error correction unit 15B in FIG. 12 in that it includes a state generation unit 30 instead of the likelihood conversion unit 22 and the convolutional coding unit 27 in FIG. .
- the decoded data and the decoding success flag output from the byte interleaver 26 are supplied to the state generation unit 30. Then, similarly to the state generation unit 30 of the error correction unit 15-1 illustrated in FIG. 6, the state generation unit 30 is based on the decoded data in bytes and the decoding success flag supplied from the byte interleaver 26. Generate state and state trust information. Then, the state generation unit 30 supplies the state and state reliability information to the Viterbi decoding unit 23-2.
- the error correction unit 15B-1 includes the state generation unit 30 so that the decoding error performance can be improved as compared with the error correction unit 15B of FIG. 12, and the error correction of FIG. As with the unit 15B, power consumption can be reduced.
- FIG. 14 is a block diagram showing a second modification of the third configuration example (FIG. 12) of the error correction unit 15 of FIG.
- the blocks constituting the error correction unit 15B-2 shown in FIG. 14 are assigned the same reference numerals, and detailed descriptions thereof are omitted.
- the error correction unit 15B-2 includes a delay unit 32, likelihood conversion unit 22, Viterbi decoding units 23-1 and 23-2, byte deinterleavers 24-1 and 24-2, RS decoding unit 25-1 and 25-2, the byte interleaver 26, the convolutional encoding unit 27, the decoding stop determination unit 28, the selector 33, and the bit error counter 29, and the same configuration as the error correction unit 15B of FIG.
- the error correction unit 15B-2 is configured differently from the error correction unit 15B of FIG. 12 in that the synchronization byte processing unit 31 is provided.
- the decoded data output from the RS decoding unit 25-1 and the decoding success flag are supplied to the synchronous byte processing unit 31, and the decoded data and the byte interleaver 26 from the synchronous byte processing unit 31 A decryption success flag is supplied.
- the synchronization byte processing unit 31 functions as a replacement unit.
- the synchronization byte processing unit 31 includes the synchronization byte of the decoded data in units of bytes output from the RS decoding unit 25-1. Replace the value with a predetermined value.
- the error correction unit 15B-2 includes the synchronization byte processing unit 31 and can improve performance as compared with the error correction unit 15B of FIG. 12, and the error correction unit 15B of FIG. As with the case, power consumption can be reduced.
- the synchronization byte processing unit 31 included in the error correction unit 15B-2 may be configured to include, for example, the error correction unit 15B-1 in FIG. Further, the state generation unit 30 included in the error correction unit 15B-1 in FIG. 13 is adopted, for example, by the configuration included in the error correction unit 15B in FIG. 12 or the configuration included in the error correction unit 15B-2 in FIG. Also good.
- FIG. 15 is a block diagram illustrating a fourth configuration example of the error correction unit 15 in FIG. 1.
- the same reference numerals are given to blocks common to the error correction unit 15B shown in FIG. 12, and a detailed description thereof is omitted.
- the error correction unit 15C includes a delay unit 32, Viterbi decoding units 23-1 and 23-2, byte deinterleavers 24-1 and 24-2, and RS decoding units 25-1 and 25-2. 12 is the same as the error correction unit 15B of FIG. 12 in that it includes a byte interleaver 26, a selector 33, and a bit error counter 29. However, the error correction unit 15C is configured differently from the error correction unit 15B of FIG. 12 in that the control unit 21, the likelihood conversion unit 22, and the convolutional coding unit 27 are provided. Further, the error correction unit 15C is configured differently from the error correction unit 15B of FIG. 12 in that it includes three decoding stop determination units 28 and two selectors 34.
- Likelihood conversion units 22-1 and 22-2, Viterbi decoding units 23-1 and 23-2, convolutional encoding units 27-1 and 27-2, and decoding stop determination unit 28 included in the error correction unit 15C -3 operates in the same manner as the likelihood conversion unit 22, Viterbi decoding unit 23, convolutional encoding unit 27, and decoding stop determination unit 28 described with reference to FIG.
- control unit 21-1 the byte deinterleavers 24-1 and 24-2, the RS decoding units 25-1 and 25-2, and the decoding stop determination units 28-1 and 28-2, which are included in the error correction unit 15C,
- the byte interleaver 26, the delay unit 32, the selector 33, and the bit error counter 29 included in the error correction unit 15C are the byte interleaver 26, the delay unit 32, the selector 33, and the bit error described with reference to FIG. Each of the counters 29 operates in the same manner.
- the selector 34-1 selects either the byte data output from the byte interleaver 26 or the byte data output from the RS decoding unit 25-2 according to the select signal supplied from the control unit 21-2. And supplied to the convolutional coding unit 27-2.
- the selector 34-2 selects either one of the decoding success flag output from the byte interleaver 26 and the decoding success flag output from the RS decoding unit 25-2 from the selection unit 21-2. Is selected according to the above and supplied to the convolutional coding unit 27-2.
- the control unit 21-2 is supplied with a likelihood from the delay unit 32, a decoding success flag from the byte interleaver 26, a decoding success flag from the RS decoding unit 25-2, and a decoding stop flag from the decoding stop determination unit 28-2. .
- the control unit 21-2 has a built-in memory, stores the input likelihood, and holds a decoding success flag associated with the likelihood. Then, the control unit 21-2 reads the same likelihood from the memory once or twice. Whether or not the control unit 21-2 performs the second reading of the same likelihood from the memory is based on information obtained from the decoding results of Viterbi decoding and RS decoding based on the likelihood read in the first time. This is determined according to the decoding stop flag generated in the decoding stop determination unit 28-2. That is, when the level of the decoding stop flag is L level, the control unit 21-2 performs the second reading of the same likelihood, and when the level of the decoding stop flag is H level, The second reading is not performed.
- the control unit 21-2 selects a selector 34-1 and 34-2 to select an output from the byte interleaver 26. Is output.
- the control unit 21-2 outputs the likelihood input from the delay unit 32 to the likelihood conversion unit 22-2.
- the control unit 21-2 uses the data selected by the selectors 34-1 and 34-2 according to the select signal to convert the coded bits and the reliability information generated by the convolutional coding unit 27-2 into likelihood transforms. The likelihood is output in accordance with the timing supplied to the unit 22-2.
- the control unit 21-2 reads the likelihood from the memory at the timing when the decoding success flag is input from the RS decoding unit 25-2, and accompanies the likelihood. The decryption success flag thus read is also read. Then, when the read success flag is at the H level indicating successful decoding, the control unit 21-2 selects the selectors 34-1 and 34-2 to select the output from the byte interleaver 26. Output a signal.
- the control unit 21-2 displays the information bit after Viterbi decoding corresponding to the likelihood to be output as the zero delay branch of the byte deinterleaver 24-2.
- a select signal indicating that the output from the RS decoding unit 25-2 is selected is output to the selectors 34-1 and 34-2.
- the control unit 21-2 supplies the encoded bits and the reliability information generated by the convolutional encoding unit 27-2 to the likelihood converting unit 22-2.
- the second likelihood is output in accordance with the timing.
- the error correction unit 15C configured in this way is a combination of the error correction unit 15A (second configuration example) in FIG. 9 and the error correction unit 15B (third configuration example) in FIG. . Accordingly, the error correction unit 15C can improve performance over the error correction unit 15B of FIG. 12 without substantially increasing the circuit scale and power consumption compared to the error correction unit 15B of FIG.
- the error correction unit 15C includes the synchronization byte processing unit 31 may be employed, similarly to the error correction unit 15-2 in FIG. Similarly to the error correction unit 15-1 in FIG. 6, the error correction unit 15C replaces the likelihood conversion units 22-1 and 22-2 and the convolutional coding units 27-1 and 27-2 with the state generation.
- a configuration including the unit 30 may be adopted.
- the error correction unit 15C may include the synchronization byte processing unit 31 and the state generation unit 30 by combining these configurations.
- a DVB-T ⁇ standard energy despreader is further provided in the subsequent stage of the RS decoding unit 25-2, so that a DVB-T standard-compliant signal can be decoded.
- the bit error counter 29 may accumulate the number of correction bits based on the first output of the RS decoding unit 25-1 or the second output of the RS decoding unit 25-1. Alternatively, the bit error counter 29 may accumulate the number of correction bits based on the first output of the RS decoding unit 25-2 or the second output of the RS decoding unit 25-2. Further, the bit error counter 29 uses which output of the first or second output of the RS decoding unit 25-1 or the first or second output of the RS decoding unit 25-2 to use the number of correction bits. For example, a configuration may be adopted in which a selection signal is input to the bit error counter 29 so that it can be selected from the outside.
- FIG. 16 is a block diagram illustrating a fifth configuration example of the error correction unit 15 in FIG. 1.
- the blocks common to the error correction unit 15C shown in FIG. 15 are denoted by the same reference numerals, and detailed description thereof is omitted.
- the error correction unit 15D includes a delay unit 32, control units 21-1 and 21-2, likelihood conversion units 22-1 and 22-2, Viterbi decoding units 23-1 and 23-2, RS decoding units 25-1 and 25-2, convolutional coding units 27-1 and 27-2, decoding stop determination units 28-1 to 28-3, selector 33, selectors 34-1 and 34-2, and bit error
- the configuration is the same as that of the error correction unit 15C of FIG.
- the error correction unit 15D replaces the byte deinterleavers 24-1 and 24-2 and the byte interleaver 26 with the byte deinterleavers 36-1 and 36-2 for each hierarchy and the byte interleave for each hierarchy.
- the configuration is different from the error correction unit 15C of FIG.
- the error correction unit 15D includes the hierarchical energy despreading units 37-1 and 37-2, the hierarchical energy diffusion units 38-1 and 38-2, and the hierarchical synthesis unit 40. The configuration is different from that of the correction unit 15C.
- the error correction unit 15D has a configuration in which the error correction unit 15C shown in FIG. 15 corresponds to the ISDB-T standard, and hierarchical information and segment information are added as input information.
- the hierarchy information is transmitted and received between the blocks while being synchronized with the data.
- the hierarchical energy diffusion units 38-1 and 38-2, the layer synthesis unit 40, and the bit error counter 29 will be described. Since the byte deinterleaver 36-2 by hierarchy operates in the same manner as the byte deinterleaver 36-1 by hierarchy, only the byte deinterleaver 36-1 by hierarchy will be described. Similarly, the hierarchical energy despreading unit 37-2 operates in the same manner as the hierarchical energy despreading unit 37-1, so only the hierarchical energy despreading unit 37-1 will be described. Similarly, since the hierarchical energy diffusion unit 38-2 operates in the same manner as the hierarchical energy diffusion unit 38-1, only the hierarchical energy diffusion unit 38-1 will be described.
- the byte deinterleaver 36-1 for each layer performs reverse conversion on the data of each layer. That is, the byte deinterleaver 36-1 for each layer converts the decoding result in bit units supplied from the Viterbi decoding unit 23-1 into a decoding result in byte units. Thereafter, the byte-specific deinterleaver 36-1 for each layer performs deinterleaving of the layer specified by the input layer information on the decoding result in units of bytes obtained as a result of the conversion, and outputs the result.
- the ISDB-T standard has three layers (A, B, and C), and energy diffusion is performed on the transmission side for each layer.
- the hierarchical energy despreading unit 37-1 performs inverse transformation on the data of each hierarchy. That is, the hierarchical energy despreading unit 37-1 receives byte data and hierarchical information from the hierarchical byte deinterleaver 36-1, and performs the energy despreading of the hierarchy specified by the input hierarchical information. Output to the data.
- the hierarchical energy spread unit 38-1 receives the byte data and the hierarchy information from the RS decoding unit 25-1, performs the energy diffusion of the hierarchy specified by the input hierarchy information on the input data, and outputs it. To do.
- the decoded data and segment information from the RS decoding unit 25-2 are input to the layer synthesis unit 40.
- the output from the error correction unit 15D needs to be output in the order of the input hierarchy of the error correction unit 15D.
- the modulation scheme and coding rate can be set for each layer, the bit rate for each layer is set. Can be different. Therefore, the hierarchical synthesis unit 40 includes an output adjustment buffer for matching the output order to the input order, and outputs the output order so as to match the input order.
- the bit error counter 29 receives the RS decoding success flag and the correction bit number output from the RS decoding unit 25-1, the bit error measurement period and the fixed error bit number from the outside, and accumulates the error bit number.
- the bit error counter 29 accumulates the number of error bits only for the data obtained by RS decoding the data read first in the control unit 21. Specifically, the bit error counter 29 accumulates the corrected number of bits within the measurement period of the number of bit errors when the level of the decoding success flag is H level (successful decoding). On the other hand, when the level of the decoding success flag is L level (decoding has failed), the bit error counter 29 accumulates the fixed error bit number within the measurement period of the bit error number. The bit error counter 29 outputs the accumulated number of bits as the number of bit errors to the outside for each measurement period of the number of bit errors.
- bit error counter 29 may accumulate the number of correction bits based on the output from the RS decoding unit 25-2 instead of the output from the RS decoding unit 25-1.
- the bit error counter 29 can select the output of the RS decoding unit 25-1 or the RS decoding unit 25-2 to accumulate the number of correction bits, for example, so that the selection signal can be selected from the outside.
- a configuration for inputting to the error counter 29 may be adopted.
- a configuration may be employed in which bit information for each layer is counted by inputting layer information to the bit error counter 29.
- the error correction unit 15D configured as described above obtains decoding performance equivalent to that of the error correction unit 15C of FIG. 15 in all layers while suppressing power consumption when receiving a signal conforming to the ISDB-T standard. Can do.
- FIG. 17 is a block diagram showing a modification of the fifth configuration example (FIG. 16) of the error correction unit 15 of FIG.
- the blocks constituting the error correction unit 15D-1 shown in FIG. 17 are denoted by the same reference numerals, and detailed description thereof is omitted.
- the error correction unit 15D-1 includes a delay unit 32, control units 21-1 and 21-2, likelihood conversion units 22-1 and 22-2, Viterbi decoding units 23-1 and 23-2, and RS decoding unit. 25-1 and 25-2, convolutional encoding units 27-1 and 27-2, decoding stop determination units 28-1 to 28-3, selector 33, selectors 34-1 and 34-2, byte deinterleaver by layer 36, the hierarchical energy despreading unit 37, the hierarchical energy spreading unit 38, the hierarchical synthesis unit 40, and the bit error counter 29 are common to the error correction unit 15 ⁇ / b> D of FIG. 16.
- the error correction unit 15D-1 includes a layer separation unit 41, and includes a byte interleaver 26 instead of the layer-by-layer byte interleaver 39 in FIG. 16, and replaces the layer-by-layer byte deinterleaver 36-2. And a byte deinterleaver 24, an energy despreading unit 42 instead of the hierarchical energy despreading unit 37-2, and an energy diffusion unit 43 instead of the hierarchical energy spreading unit 38-2.
- the configuration is different from that of the 16 error correction units 15D.
- the error correction unit 15D of FIG. 16 is configured such that the hierarchical synthesis unit 40 includes an output adjustment buffer, and the buffer capacity thereof is large.
- the buffer capacity can be suppressed by limiting the hierarchy in which the operation after the byte interleaver 39 by hierarchy of the error correction unit 15D of FIG.
- the operation is the same as that of the error correction unit 15C of FIG.
- the second combination when one segment of the A layer and 12 segments of the B layer are used, the A layer is output from the RS decoding unit 25-1, and the B layer is output from the RS decoding unit 25-2.
- the data are output in the order as input.
- the third combination when the combination is other than the first and second combinations, it is output from the RS decoding unit 25-1 in all layers.
- the error correction unit 15D-1 is configured assuming such a combination of operations.
- the blocks that operate differently from the error correction unit 15D in FIG. 16 are the control unit 21-1, the byte deinterleaver 24, the byte interleaver 26, the energy despreading unit 42, the energy spreading unit. A unit 43, a layer synthesis unit 40, and a layer separation unit 41.
- the byte deinterleaver 24 and the byte interleaver 26 perform the same operation as that of the error correction unit 15 of FIG. 2, and the energy despreading unit 42 and the energy diffusion unit 43 are classified according to the hierarchy of the error correction unit 15D of FIG. Since it is for one layer of the energy despreading unit 37-2 and the layer-specific energy diffusion unit 38-2, description thereof is omitted.
- control unit 21-1 the hierarchy separation unit 41, and the hierarchy synthesis unit 40 will be described.
- the control unit 21-1 basically performs the same operation as the control unit 21 of the error correction unit 15A in FIG. However, the difference from the control unit 21 of the error correction unit 15A in FIG. 9 is that, firstly, the hierarchical information and segment information are increased in the input information, and secondly, the delay information is sent to the delay unit 32 by the segment information. It is to switch the hierarchy to be output.
- the output to the likelihood conversion unit 22-1 outputs data of all layers.
- the control unit 21-1 When the segment information is only one layer (A, B, or C), the control unit 21-1 outputs the data of that layer to the delay unit 32. In addition, when the segment information includes one segment of the A layer and 12 segments of the B layer, the control unit 21-1 outputs only the data of the B layer to the delay unit 32. In addition, the control unit 21-1 does not output to the delay unit 32 when the segment information is other than that (when it is not only one layer, not one segment of the A layer and 12 segments of the B layer).
- the hierarchy separation unit 41 receives the decoded data, the decoding success flag, the hierarchy information, and the segment information from the RS decoding unit 25-1. Then, the hierarchy separation unit 41 performs output as described below according to the segment information.
- the layer separation unit 41 when the segment information is only one layer, the layer separation unit 41 outputs the data of that layer to the byte interleaver 26 and does not output it to the layer synthesis unit 40. Further, when the segment information is one segment of the A layer and 12 segments of the B layer, the layer separating unit 41 outputs the data of the A layer to the layer synthesizing unit 40 and only the data of the B layer is byte interleaver. 26. Also, the layer separation unit 41 does not output to the byte interleaver 26 when the segment information is not only one layer but not one segment of the A layer and 12 segments of the B layer.
- the layer synthesis unit 40 receives the decoded data and the decoding success flag from the RS decoding unit 25-2, the output data from the layer separation unit 41, and the segment information. And the hierarchy synthetic
- the layer synthesizing unit 40 outputs the decoded data and the decoding success flag from the RS decoding unit 25-2 when the segment information is only one layer.
- the layer synthesizing unit 40 supplies the data of the A layer from the layer separation unit 41, and the 12 segments of the B layer includes the RS decoding unit. Supplied from 25-2. At this time, the layer synthesizing unit 40 outputs the data of the A layer while being delayed by a memory or the like so as to be in the hierarchical order input to the error correction unit 15D-1.
- a serial number is assigned to the decoded data from the RS decoding unit 25-1 for one packet in the layer separation unit 41 regardless of the layer, and from the byte interleaver 26 to the RS decoding unit 25-2, By synchronizing the output data and the serial number, the hierarchical composition unit 40 outputs the data in the order of the serial numbers, so that the output can be performed in the hierarchical order input to the error correction unit 15D-1.
- the hierarchy synthesis unit 40 outputs data from the hierarchy separation unit 41 when the segment information is not only one hierarchy, but one segment of the A hierarchy and 12 segments of the B hierarchy.
- the error correction unit 15D-1 configured as described above suppresses the output adjustment buffer of the error correction unit 15D in FIG. 16 and, when the segment information has only one layer, the error correction unit 15D in FIG. Equivalent performance can be achieved.
- the error correction unit 15D-1 realizes performance improvement even when there are one segment of the A layer and 12 segments of the B layer, that is, when the segment configuration is actually used. Can do.
- the error correction unit 15D in FIG. 16 and the error correction unit 15D-1 in FIG. 17 include the synchronization byte processing unit 31 may be employed, similarly to the error correction unit 15-2 in FIG. Further, the error correction unit 15D in FIG. 16 and the error correction unit 15D-1 in FIG. 17 are similar to the error correction unit 15-1 in FIG. 6 in the likelihood conversion units 22-1 and 22-2 and the convolutional coding unit. Instead of 27-1 and 27-2, a configuration including a state generation unit 30 may be employed. Further, by combining these configurations, the error correction unit 15D of FIG. 16 and the error correction unit 15D-1 of FIG. 17 may include the synchronization byte processing unit 31 and the state generation unit 30.
- the error correction unit 15 when all data stored in the byte interleaver 26 (convolutional interleaver) has succeeded or failed in RS decoding. This is detected by the decoding stop determination unit 28. In that case, the error correction unit 15 stops Viterbi decoding by the Viterbi decoding unit 23 for the same data thereafter, and stops accessing the byte interleaver memory by the byte interleaver 26. RS decoding by the RS decoding unit 25 is stopped. Thereby, in the error correction part 15, it can avoid that decoding performance deteriorates and can suppress power consumption.
- the error correction unit 15 can employ a configuration in which only the data that has passed through the zero delay branch of the byte interleaver 26 among the outputs from the RS decoding unit 25 is input to the convolutional coding unit 27.
- the error correction unit 15 when the first RS decoding is successful, only the data that has passed through the zero delay branch is input to the convolutional coding unit 27.
- the error correction unit 15 can perform only the second Viterbi decoding and update the data by the byte interleaver 26 so that the second RS decoding is not performed.
- the error correction unit 15 can avoid that performance degrades and can reduce the power consumption of one RS decoding.
- the error correction unit 15 can avoid a deterioration in performance and avoid a delay of one RS decoding.
- the error correction unit 15 when the first RS decoding fails, the error correction unit 15 does not execute the second Viterbi decoding, and the byte interleaver 26 does not update the data, and the second RS decoding. Decryption can be prevented from being performed. Thereby, the error correction unit 15 can avoid power degradation and reduce the power consumption of one Viterbi decoding, data update by the byte interleaver 26, and one RS decoding. . Furthermore, the error correction unit 15 can avoid a deterioration in performance and avoid a delay of one RS decoding.
- the series of processes described above can be executed by hardware or can be executed by software.
- a program constituting the software is installed in the computer.
- the computer includes, for example, a general-purpose personal computer capable of executing various functions by installing various programs by installing a computer incorporated in dedicated hardware.
- FIG. 18 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
- a CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- An input / output interface 305 is further connected to the bus 304.
- An input unit 306, an output unit 307, a storage unit 308, a communication unit 309, and a drive 310 are connected to the input / output interface 305.
- the input unit 306 includes a keyboard, a mouse, a microphone, and the like.
- the output unit 307 includes a display, a speaker, and the like.
- the storage unit 308 includes a hard disk, a nonvolatile memory, and the like.
- the communication unit 309 includes a network interface and the like.
- the drive 310 drives a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
- the CPU 301 loads the program stored in the storage unit 308 to the RAM 303 via the input / output interface 305 and the bus 304 and executes the program, for example. Is performed.
- the program executed by the computer (CPU 301) can be provided by being recorded on the removable medium 311 as a package medium or the like, for example.
- the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
- the program can be installed in the storage unit 308 via the input / output interface 305 by attaching the removable medium 311 to the drive 310. Further, the program can be received by the communication unit 309 via a wired or wireless transmission medium and installed in the storage unit 308. In addition, the program can be installed in advance in the ROM 302 or the storage unit 308.
- the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
- the present technology can also be applied to a receiving device compliant with a standard other than the ISDB-T standard.
- a standard other than the ISDB-T standard For example, it applies to receivers that comply with DVB-T standard, ATSC standard, ISDB-S standard, DVB-S standard other than ISDB-T standard that adopts RS code as outer code and convolutional code as inner code can do.
- the value of the synchronization byte is 0xB8 only once in 8 packets, and 0x47 otherwise.
- a delay of 11 packets occurs in the byte interleaver and byte deinterleaver. Therefore, considering the delay, the synchronization byte of the decoded data is replaced with 0x47 or 0xb8.
- the present invention can be applied to a receiver that complies with a standard that employs an RS code as an outer code and an LDPC code as an inner code.
- LDPC decoding is performed instead of Viterbi decoding.
- the present invention can also be applied to receivers that comply with the DVB-T2 standard, the DVB-C2 standard, the DVB-S2 standard, etc. that employ a BCH code as an outer code and an LDPC code as an inner code.
- LDPC decoding is performed instead of Viterbi decoding
- BCH decoding is performed instead of RS decoding.
- this technique can also take the following structures.
- a receiving device that receives data encoded with n (n> 1 integer) codes, Among the data before the first encoding or the data after encoding with n codes, the data is a data (integer where a ⁇ 1) is subjected to the interleaving process and then the next code.
- the receiver is configured to include n decoding units, a delay units, a reliability improvement unit, and a decoding stop determination unit,
- the n decoding units decode each of the n codes
- the a delay units perform inverse transformation of the interleaving process on the data output from the decoding unit for the code for encoding each of the a data subjected to the interleaving process
- the reliability improvement unit improves the reliability of the decoding result by using a part or all of the decoding result of each of the decoding units, or by using a part or all of the data output from each of the delay units.
- the decoding stop determination unit uses a part or all of the decoding result of each of the decoding units, or uses a part or all of data output from each of the delay units, and performs decoding by the reliability improvement unit.
- a receiving apparatus that determines whether or not to stop the decoding again on the encoded data to be processed by controlling.
- the reliability improvement unit controls the first decoding of the encoded data using the data processed by the inverse transform delay unit and the encoding unit in the previous stage so that the reliability of the decoding result is improved.
- the receiving device according to (1). (3) A plurality of error correction processing units including n decoding units, a delay units, and reliability improvement units are connected in series, and the decoding stops between the error correction processing units. There is a judgment part, The reliability improvement unit controls the first decoding of the encoded data using the decoding result decoded by the decoding unit of the error correction processing unit in the previous stage so that the reliability of the decoding result is improved. The decoding stop determination unit stops a part or all of the subsequent error correction processing unit or a part of the subsequent error correction processing unit based on the decoding result of the previous error correction processing unit.
- the receiving apparatus according to (1) or (2).
- the outer code is an RS (Reed-Solomon) code
- the inner code is a convolutional code
- the a 1
- the data after RS encoding is convolutionally interleaved
- encoding by the convolutional code is performed.
- Target data As the delay unit, has a convolutional deinterleaver
- the inverse transform delay unit has a convolutional interleaver
- the decoding stop determination unit controls to stop decoding of data to be decoded when all the data in the convolutional interleaver has been successfully decoded by the RS decoder or all have failed.
- the receiving device according to (2).
- the outer code is an RS (Reed-Solomon) code
- the inner code is a convolutional code
- the data subjected to convolutional interleaving by performing convolutional interleaving on the data after RS encoding is processed.
- the delay unit has a convolutional deinterleaver
- the reliability improvement unit uses the data corresponding to the data that has passed through the zero delay branch of the convolutional deinterleaver output among the decoding results from the RS decoder so that the reliability of the decoding results is improved.
- the decoding stop determination unit operates only the convolutional code decoder and the convolutional deinterleaver again, while the RS decoder
- the receiving apparatus according to any one of (1) to (5), wherein control is performed to stop decoding of decoding target data when RS decoding of the data corresponding to the input RS codeword fails.
- the outer code is an RS (Reed-Solomon) code
- the inner code is a convolutional code
- the a 1
- the data after RS encoding is convolutionally interleaved
- encoding by the convolutional code is performed.
- Target data As the delay unit, has a convolutional deinterleaver
- the inverse transform delay unit has a convolutional interleaver
- the decoding stop determination unit when all the decoding in the RS decoder is successful for all the data in the convolutional interleaver, or when all the decoding fails,
- the receiving device according to (4), wherein control is performed to stop all decoding.
- a replacement unit that replaces the value of the position corresponding to the position of the known value of the encoded data in the decoded data as the decoding result after the delay by the delay unit;
- the reliability improvement unit uses the decoding result that is not delayed by the delay unit among the decoding results replaced by the replacement unit, so that the reliability of the decoding result is improved.
- the receiving apparatus according to any one of (1) to (7), wherein the decoding of data is controlled.
- the reliability improving unit converts the likelihood as the encoded data into a likelihood that seems to be the most 0 or 1 based on a decoding result that is not delayed by the delay unit, and decodes the likelihood after the conversion
- the receiving apparatus according to any one of (1) to (8), wherein the decoding is controlled.
- the decoding is Viterbi decoding;
- the reliability improving unit determines a state on the trellis in the Viterbi decoding based on a decoding result that is not delayed by the delay unit, and controls the Viterbi decoding so that the reliability of the state becomes the highest.
- the receiving device according to any one of (1) to (9) above.
- the decoding unit according to any one of (1) to (10), further including a calculation unit that calculates the number of bit errors using one of the decoding results decoded a plurality of times while decoding the same data a plurality of times. Receiver.
- a control method of a receiving apparatus for receiving data encoded with n (n> 1 integer) codes Among the data before the first encoding or the data after encoding with n codes, the data is a data (integer where a ⁇ 1) is subjected to the interleaving process and then the next code. Encoded to be encoded, decode each of the n codes, Inverse conversion of the interleaving process is performed on the data output for the code for encoding each of the a data subjected to the interleaving process, The reliability of the decoding result is improved by using some or all of the decoding results of each of the n codes, or by using some or all of the data obtained by performing the inverse transform of the interleave processing.
- Controlling the decoding of the encoded data Control decoding of the encoded data by using a part or all of the decoding results of each of the n codes, or by using a part or all of the data subjected to inverse transformation of the interleave processing, respectively.
- a receiving method including a step of determining whether or not to stop decoding again on the encoded data to be processed.
- Encoded to be encoded decode each of the n codes
- Inverse conversion of the interleaving process is performed on the data output for the code for encoding each of the a data subjected to the interleaving process,
- the reliability of the decoding result is improved by using some or all of the decoding results of each of the n codes, or by using some or all of the data obtained by performing the inverse transform of the interleave processing.
- Controlling the decoding of the encoded data Control decoding of the encoded data by using a part or all of the decoding results of each of the n codes, or by using a part or all of the data subjected to inverse transformation of the interleave processing, respectively.
- the program which makes a computer perform the process including the step which determines whether the decoding again with respect to the said encoding data made into a process target is stopped.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
[受信装置の一実施の形態の構成例]
図1は、本技術を適用した受信装置の一実施の形態の構成例を示すブロック図である。
図2は、図1の誤り訂正部15の第1の構成例を示すブロック図である。
図3は、図2の尤度変換部22の構成例を示すブロック図である。
図4は、図2の畳み込み符号化部27の構成例を示すブロック図である。
図5は、図2の誤り訂正部15の誤り訂正処理を説明するフローチャートである。この誤り訂正処理は、例えば、図1の復調部14から1パケット分の尤度が入力され、制御部21に格納されるごとに開始される。
次に、図6は、図1の誤り訂正部15の第1の構成例(図2)における第1の変形例を示すブロック図である。なお、図6に示す誤り訂正部15-1を構成するブロックのうち、図2に示した誤り訂正部15と共通するブロックについては、同一の符号を付し、その詳細な説明は省略する。
図7は、図6のステート生成部30の構成例を示すブロック図である。
次に、図8は、図1の誤り訂正部15の第1の構成例(図2)における第2の変形例を示すブロック図である。なお、図8に示す誤り訂正部15-2を構成するブロックのうち、図2に示した誤り訂正部15と共通するブロックについては、同一の符号を付し、その詳細な説明は省略する。
図9は、図1の誤り訂正部15の第2の構成例を示すブロック図である。なお、図9に示す誤り訂正部15Aを構成するブロックのうち、図2に示した誤り訂正部15と共通するブロックについては、同一の符号を付し、その詳細な説明は省略する。
次に、図10は、図1の誤り訂正部15の第2の構成例(図9)における第1の変形例を示すブロック図である。なお、図10に示す誤り訂正部15A-1を構成するブロックのうち、図9に示した誤り訂正部15Aと共通するブロックについては、同一の符号を付し、その詳細な説明は省略する。
次に、図11は、図1の誤り訂正部15の第2の構成例(図9)における第2の変形例を示すブロック図である。なお、図11に示す誤り訂正部15A-2を構成するブロックのうち、図9に示した誤り訂正部15Aと共通するブロックについては、同一の符号を付し、その詳細な説明は省略する。
図12は、図1の誤り訂正部15の第3の構成例を示すブロック図である。なお、図12に示す誤り訂正部15Bを構成するブロックのうち、図2に示した誤り訂正部15と共通するブロックについては、同一の符号を付し、その詳細な説明は省略する。
次に、図13は、図1の誤り訂正部15の第3の構成例(図12)における第1の変形例を示すブロック図である。なお、図13に示す誤り訂正部15B-1を構成するブロックのうち、図12に示した誤り訂正部15Bと共通するブロックについては、同一の符号を付し、その詳細な説明は省略する。
次に、図14は、図1の誤り訂正部15の第3の構成例(図12)における第2の変形例を示すブロック図である。なお、図14に示す誤り訂正部15B-2を構成するブロックのうち、図12に示した誤り訂正部15Bと共通するブロックについては、同一の符号を付し、その詳細な説明は省略する。
図15は、図1の誤り訂正部15の第4の構成例を示すブロック図である。なお、図15に示す誤り訂正部15Cを構成するブロックのうち、図12に示した誤り訂正部15Bと共通するブロックについては、同一の符号を付し、その詳細な説明は省略する。
図16は、図1の誤り訂正部15の第5の構成例を示すブロック図である。なお、図16に示す誤り訂正部15Dを構成するブロックのうち、図15に示した誤り訂正部15Cと共通するブロックについては、同一の符号を付し、その詳細な説明は省略する。
次に、図17は、図1の誤り訂正部15の第5の構成例(図16)における変形例を示すブロック図である。なお、図17に示す誤り訂正部15D-1を構成するブロックのうち、図16に示した誤り訂正部15Dと共通するブロックについては、同一の符号を付し、その詳細な説明は省略する。
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
(1)
n個(n>1の整数)の符号で符号化されたデータを受信する受信装置であって、
前記データは、最初の符号化前のデータ、あるいは、n個の符号による符号化後のデータのうち、a個(a≧1の整数)のデータはインターリーブ処理が施されてから次の符号による符号化が行われるように符号化されており、
前記受信装置は、n個の復号部、a個の遅延部、信頼度向上部、および復号停止判定部を備えて構成され、
n個の前記復号部は、n個の各符号を復号し、
a個の前記遅延部は、前記インターリーブ処理が行なわれたa個の各データの符号化を行なう符号に対する前記復号部から出力されたデータに対して、前記インターリーブ処理の逆変換を行ない、
前記信頼度向上部は、前記復号部それぞれの復号結果の一部または全てを用いて、あるいは、前記遅延部それぞれから出力されるデータの一部または全てを用いて、復号結果の信頼度が向上するように、前記符号化データの復号を制御し、
前記復号停止判定部は、前記復号部それぞれの復号結果の一部または全てを用いて、あるいは、前記遅延部それぞれから出力されるデータの一部または全てを用いて、前記信頼度向上部による復号を制御することにより、処理対象とされる前記符号化データに対する再度の復号を停止するか否かを判定する
受信装置。
(2)
前記復号部それぞれの復号結果に対して、関連する前記遅延部での処理に対する逆変換を行なう逆変換遅延部と、
関連する符号化を行なう符号化部と
をさらに備え、
前記信頼度向上部は、前段の前記逆変換遅延部および前記符号化部で処理されたデータを用いて、前記復号結果の信頼度が向上するように、前記符号化データの最初の復号を制御する
上記(1)に記載の受信装置。
(3)
n個の前記復号部と、a個の前記遅延部と、前記信頼度向上部とからなる誤り訂正処理部は、複数個直列に接続され、前記誤り訂正処理部の間には、前記復号停止判定部があり、
前記信頼度向上部は、前段の前記誤り訂正処理部の復号部で復号された前記復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの最初の復号を制御し、前記復号停止判定部は前段の前記誤り訂正処理部での復号結果から後段の前記誤り訂正処理部の一部または全て、あるいは、後段の前記誤り訂正処理部内の一部を停止させるように制御する
上記(1)または(2)に記載の受信装置。
(4)
前記誤り訂正処理部の間に、前段の前記誤り訂正処理部の前記復号部それぞれにより復号して得られた前記復号結果に対して、関連する前記遅延部での処理に対する逆変換を行なう逆変換遅延部と、
関連する符号化を行なう符号化部と
をさらに備え、
前記信頼度向上部は、前段の前記逆変換遅延部および前記符号化部で処理されたデータを用いて、前記復号結果の信頼度が向上するように、符号化データの最初の復号を制御する
上記(3)に記載の受信装置。
(5)
前記nを2とし、外符号はRS(Reed-Solomon)符号とし、内符号は畳み込み符号とし、前記aを1とし、RS符号化後のデータを畳み込みインターリーブして畳み込み符号による符号化が行なわれたデータを処理対象として、
前記遅延部として、畳み込みデインターリーバを持ち、
前記逆変換遅延部として、畳み込みインターリーバを持ち、
前記復号停止判定部は、畳み込みインターリーバ内のすべてのデータに対して、RS復号器での復号がすべて成功したとき、あるいは、すべて失敗したとき、復号対象のデータの復号を停止させるように制御する
上記(2)に記載の受信装置。
(6)
前記nを2とし、外符号はRS(Reed-Solomon)符号とし、内符号は畳み込み符号とし、RS符号化後のデータを畳み込みインターリーブして畳み込み符号による符号化が行なわれたデータを処理対象として、
前記遅延部として、畳み込みデインターリーバを持ち、
前記信頼度向上部は、RS復号器からの復号結果のうち、畳み込みデインターリーバ出力のゼロ遅延ブランチを通ったデータに相当するデータを用いて、復号結果の信頼度が向上するように、符号化データの最初の復号を制御し、
前記復号停止判定部は、RS復号器に入力されたRS符号語分のデータのRS復号が成功したとき、再度畳み込み符号の復号器および畳み込みデインターリーバのみを動作させ、一方、RS復号器に入力されたRS符号語分のデータのRS復号が失敗したとき、復号対象のデータの復号を停止させるように制御する
上記(1)から(5)までのいずれかに記載の受信装置。
(7)
前記nを2とし、外符号はRS(Reed-Solomon)符号とし、内符号は畳み込み符号とし、前記aを1とし、RS符号化後のデータを畳み込みインターリーブして畳み込み符号による符号化が行なわれたデータを処理対象として、
前記遅延部として、畳み込みデインターリーバを持ち、
前記逆変換遅延部として、畳み込みインターリーバを持ち、
前記復号停止判定部は、畳み込みインターリーバ内のすべてのデータに対して、RS復号器での復号がすべて成功しているとき、あるいは、すべて失敗しているとき、復号対象のデータの一部あるいはすべての復号を停止させるように制御する
上記(4)に記載の受信装置。
(8)
前記遅延部による遅延後の復号結果としての復号データのうちの、前記符号化データの既知の値の位置に対応する位置の値を前記既知の値に置換する置換部
をさらに備え、
前記信頼度向上部は、前記置換部により置換された前記復号結果のうちの、前記遅延部により遅延されていない復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの復号を制御する
上記(1)から(7)までのいずれかに記載の受信装置。
(9)
前記信頼度向上部は、前記遅延部により遅延されていない復号結果に基づいて前記符号化データとしての尤度を最も0または1らしい尤度に変換し、変換後の前記尤度を復号するように、前記復号を制御する
上記(1)から(8)までのいずれかに記載の受信装置。
(10)
前記復号はビタビ復号であり、
前記信頼度向上部は、前記遅延部により遅延されていない復号結果に基づいて前記ビタビ復号におけるトレリス上のステートを決定し、そのステートの信頼度が最も高くなるように、前記ビタビ復号を制御する
上記(1)から(9)までのいずれかに記載の受信装置。
(11)
同一のデータを複数回復号する中で、複数回復号されたいずれかの復号結果を用いて、ビットエラー数を計算する計算部
をさらに備える上記(1)から(10)までのいずれかに記載の受信装置。
(12)
n個(n>1の整数)の符号で符号化されたデータを受信する受信装置の制御方法であって、
前記データは、最初の符号化前のデータ、あるいは、n個の符号による符号化後のデータのうち、a個(a≧1の整数)のデータはインターリーブ処理が施されてから次の符号による符号化が行われるように符号化されており、
n個の各符号を復号し、
前記インターリーブ処理が行なわれたa個の各データの符号化を行なう符号に対して出力されたデータに対して、前記インターリーブ処理の逆変換を行ない、
n個の各符号によるそれぞれの復号結果の一部または全てを用いて、あるいは、前記インターリーブ処理の逆変換がそれぞれ行われたデータの一部または全てを用いて、復号結果の信頼度が向上するように、前記符号化データの復号を制御し、
n個の各符号によるそれぞれの復号結果の一部または全てを用いて、あるいは、前記インターリーブ処理の逆変換がそれぞれ行われたデータの一部または全てを用いて、前記符号化データの復号を制御することにより、処理対象とされる前記符号化データに対する再度の復号を停止するか否かを判定する
ステップを含む受信方法。
(13)
n個(n>1の整数)の符号で符号化されたデータを受信する受信装置を制御するコンピュータに実行させるプログラムであって、
前記データは、最初の符号化前のデータ、あるいは、n個の符号による符号化後のデータのうち、a個(a≧1の整数)のデータはインターリーブ処理が施されてから次の符号による符号化が行われるように符号化されており、
n個の各符号を復号し、
前記インターリーブ処理が行なわれたa個の各データの符号化を行なう符号に対して出力されたデータに対して、前記インターリーブ処理の逆変換を行ない、
n個の各符号によるそれぞれの復号結果の一部または全てを用いて、あるいは、前記インターリーブ処理の逆変換がそれぞれ行われたデータの一部または全てを用いて、復号結果の信頼度が向上するように、前記符号化データの復号を制御し、
n個の各符号によるそれぞれの復号結果の一部または全てを用いて、あるいは、前記インターリーブ処理の逆変換がそれぞれ行われたデータの一部または全てを用いて、前記符号化データの復号を制御することにより、処理対象とされる前記符号化データに対する再度の復号を停止するか否かを判定する
ステップを含む処理をコンピュータに実行させるプログラム。
Claims (13)
- n個(n>1の整数)の符号で符号化されたデータを受信する受信装置であって、
前記データは、最初の符号化前のデータ、あるいは、n個の符号による符号化後のデータのうち、a個(a≧1の整数)のデータはインターリーブ処理が施されてから次の符号による符号化が行われるように符号化されており、
前記受信装置は、n個の復号部、a個の遅延部、信頼度向上部、および復号停止判定部を備えて構成され、
n個の前記復号部は、n個の各符号を復号し、
a個の前記遅延部は、前記インターリーブ処理が行なわれたa個の各データの符号化を行なう符号に対する前記復号部から出力されたデータに対して、前記インターリーブ処理の逆変換を行ない、
前記信頼度向上部は、前記復号部それぞれの復号結果の一部または全てを用いて、あるいは、前記遅延部それぞれから出力されるデータの一部または全てを用いて、復号結果の信頼度が向上するように、前記符号化データの復号を制御し、
前記復号停止判定部は、前記復号部それぞれの復号結果の一部または全てを用いて、あるいは、前記遅延部それぞれから出力されるデータの一部または全てを用いて、前記信頼度向上部による復号を制御することにより、処理対象とされる前記符号化データに対する再度の復号を停止するか否かを判定する
受信装置。 - 前記復号部それぞれの復号結果に対して、関連する前記遅延部での処理に対する逆変換を行なう逆変換遅延部と、
関連する符号化を行なう符号化部と
をさらに備え、
前記信頼度向上部は、前段の前記逆変換遅延部および前記符号化部で処理されたデータを用いて、前記復号結果の信頼度が向上するように、前記符号化データの最初の復号を制御する
請求項1に記載の受信装置。 - n個の前記復号部と、a個の前記遅延部と、前記信頼度向上部とからなる誤り訂正処理部は、複数個直列に接続され、前記誤り訂正処理部の間には、前記復号停止判定部があり、
前記信頼度向上部は、前段の前記誤り訂正処理部の復号部で復号された前記復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの最初の復号を制御し、前記復号停止判定部は前段の前記誤り訂正処理部での復号結果から後段の前記誤り訂正処理部の一部または全て、あるいは、後段の前記誤り訂正処理部内の一部を停止させるように制御する
請求項1に記載の受信装置。 - 前記誤り訂正処理部の間に、前段の前記誤り訂正処理部の前記復号部それぞれにより復号して得られた前記復号結果に対して、関連する前記遅延部での処理に対する逆変換を行なう逆変換遅延部と、
関連する符号化を行なう符号化部と
をさらに備え、
前記信頼度向上部は、前段の前記逆変換遅延部および前記符号化部で処理されたデータを用いて、前記復号結果の信頼度が向上するように、符号化データの最初の復号を制御する
請求項3に記載の受信装置。 - 前記nを2とし、外符号はRS(Reed-Solomon)符号とし、内符号は畳み込み符号とし、前記aを1とし、RS符号化後のデータを畳み込みインターリーブして畳み込み符号による符号化が行なわれたデータを処理対象として、
前記遅延部として、畳み込みデインターリーバを持ち、
前記逆変換遅延部として、畳み込みインターリーバを持ち、
前記復号停止判定部は、畳み込みインターリーバ内のすべてのデータに対して、RS復号器での復号がすべて成功したとき、あるいは、すべて失敗したとき、復号対象のデータの復号を停止させるように制御する
請求項2に記載の受信装置。 - 前記nを2とし、外符号はRS(Reed-Solomon)符号とし、内符号は畳み込み符号とし、RS符号化後のデータを畳み込みインターリーブして畳み込み符号による符号化が行なわれたデータを処理対象として、
前記遅延部として、畳み込みデインターリーバを持ち、
前記信頼度向上部は、RS復号器からの復号結果のうち、畳み込みデインターリーバ出力のゼロ遅延ブランチを通ったデータに相当するデータを用いて、復号結果の信頼度が向上するように、符号化データの最初の復号を制御し、
前記復号停止判定部は、RS復号器に入力されたRS符号語分のデータのRS復号が成功したとき、再度畳み込み符号の復号器および畳み込みデインターリーバのみを動作させ、一方、RS復号器に入力されたRS符号語分のデータのRS復号が失敗したとき、復号対象のデータの復号を停止させるように制御する
請求項1に記載の受信装置。 - 前記nを2とし、外符号はRS(Reed-Solomon)符号とし、内符号は畳み込み符号とし、前記aを1とし、RS符号化後のデータを畳み込みインターリーブして畳み込み符号による符号化が行なわれたデータを処理対象として、
前記遅延部として、畳み込みデインターリーバを持ち、
前記逆変換遅延部として、畳み込みインターリーバを持ち、
前記復号停止判定部は、畳み込みインターリーバ内のすべてのデータに対して、RS復号器での復号がすべて成功しているとき、あるいは、すべて失敗しているとき、復号対象のデータの一部あるいはすべての復号を停止させるように制御する
請求項4に記載の受信装置。 - 前記遅延部による遅延後の復号結果としての復号データのうちの、前記符号化データの既知の値の位置に対応する位置の値を前記既知の値に置換する置換部
をさらに備え、
前記信頼度向上部は、前記置換部により置換された前記復号結果のうちの、前記遅延部により遅延されていない復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの復号を制御する
請求項1に記載の受信装置。 - 前記信頼度向上部は、前記遅延部により遅延されていない復号結果に基づいて前記符号化データとしての尤度を最も0または1らしい尤度に変換し、変換後の前記尤度を復号するように、前記復号を制御する
請求項1に記載の受信装置。 - 前記復号はビタビ復号であり、
前記信頼度向上部は、前記遅延部により遅延されていない復号結果に基づいて前記ビタビ復号におけるトレリス上のステートを決定し、そのステートの信頼度が最も高くなるように、前記ビタビ復号を制御する
請求項1に記載の受信装置。 - 同一のデータを複数回復号する中で、複数回復号されたいずれかの復号結果を用いて、ビットエラー数を計算する計算部
をさらに備える請求項1に記載の受信装置。 - n個(n>1の整数)の符号で符号化されたデータを受信する受信装置の制御方法であって、
前記データは、最初の符号化前のデータ、あるいは、n個の符号による符号化後のデータのうち、a個(a≧1の整数)のデータはインターリーブ処理が施されてから次の符号による符号化が行われるように符号化されており、
n個の各符号を復号し、
前記インターリーブ処理が行なわれたa個の各データの符号化を行なう符号に対して出力されたデータに対して、前記インターリーブ処理の逆変換を行ない、
n個の各符号によるそれぞれの復号結果の一部または全てを用いて、あるいは、前記インターリーブ処理の逆変換がそれぞれ行われたデータの一部または全てを用いて、復号結果の信頼度が向上するように、前記符号化データの復号を制御し、
n個の各符号によるそれぞれの復号結果の一部または全てを用いて、あるいは、前記インターリーブ処理の逆変換がそれぞれ行われたデータの一部または全てを用いて、前記符号化データの復号を制御することにより、処理対象とされる前記符号化データに対する再度の復号を停止するか否かを判定する
ステップを含む受信方法。 - n個(n>1の整数)の符号で符号化されたデータを受信する受信装置を制御するコンピュータに実行させるプログラムであって、
前記データは、最初の符号化前のデータ、あるいは、n個の符号による符号化後のデータのうち、a個(a≧1の整数)のデータはインターリーブ処理が施されてから次の符号による符号化が行われるように符号化されており、
n個の各符号を復号し、
前記インターリーブ処理が行なわれたa個の各データの符号化を行なう符号に対して出力されたデータに対して、前記インターリーブ処理の逆変換を行ない、
n個の各符号によるそれぞれの復号結果の一部または全てを用いて、あるいは、前記インターリーブ処理の逆変換がそれぞれ行われたデータの一部または全てを用いて、復号結果の信頼度が向上するように、前記符号化データの復号を制御し、
n個の各符号によるそれぞれの復号結果の一部または全てを用いて、あるいは、前記インターリーブ処理の逆変換がそれぞれ行われたデータの一部または全てを用いて、前記符号化データの復号を制御することにより、処理対象とされる前記符号化データに対する再度の復号を停止するか否かを判定する
ステップを含む処理をコンピュータに実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016531281A JPWO2016002572A1 (ja) | 2014-07-03 | 2015-06-23 | 受信装置および受信方法、並びにプログラム |
US15/318,839 US9906327B2 (en) | 2014-07-03 | 2015-06-23 | Receiving device, receiving method, and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014137434 | 2014-07-03 | ||
JP2014-137434 | 2014-07-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016002572A1 true WO2016002572A1 (ja) | 2016-01-07 |
Family
ID=55019116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/067977 WO2016002572A1 (ja) | 2014-07-03 | 2015-06-23 | 受信装置および受信方法、並びにプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9906327B2 (ja) |
JP (1) | JPWO2016002572A1 (ja) |
WO (1) | WO2016002572A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI634556B (zh) * | 2017-10-12 | 2018-09-01 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
CN109697134B (zh) * | 2017-10-20 | 2022-10-21 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
KR102467072B1 (ko) * | 2017-10-26 | 2022-11-11 | 삼성전자주식회사 | 반복 연산 과정을 이용하여 디코딩을 수행하는 디코더 및 이를 이용한 스토리지 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000052832A1 (fr) * | 1999-03-01 | 2000-09-08 | Fujitsu Limited | Dispositif de turbo-decodage |
JP2002353821A (ja) * | 2001-05-24 | 2002-12-06 | Mitsubishi Electric Corp | 誤り訂正復号方法および復号装置 |
JP2013207382A (ja) * | 2012-03-27 | 2013-10-07 | Nec Corp | インタリーブ制御装置、インタリーブ処理装置及びインタリーブ処理方法 |
JP2013251691A (ja) * | 2012-05-31 | 2013-12-12 | Sony Corp | 受信装置および受信方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5852630A (en) * | 1997-07-17 | 1998-12-22 | Globespan Semiconductor, Inc. | Method and apparatus for a RADSL transceiver warm start activation procedure with precoding |
US20030091129A1 (en) * | 2001-07-12 | 2003-05-15 | Mingming Zhang | Look-up table index value generation in a turbo decoder |
US7093180B2 (en) * | 2002-06-28 | 2006-08-15 | Interdigital Technology Corporation | Fast H-ARQ acknowledgement generation method using a stopping rule for turbo decoding |
JP4982186B2 (ja) * | 2004-12-21 | 2012-07-25 | パナソニック株式会社 | Ofdm受信装置 |
JP4229948B2 (ja) * | 2006-01-17 | 2009-02-25 | Necエレクトロニクス株式会社 | 復号装置、復号方法、及び受信装置 |
CA2660073A1 (en) * | 2008-03-25 | 2009-09-25 | Kenneth Gracie | Event cleanup processing for improving the performance of sequence based decoders |
US9331717B2 (en) * | 2009-02-27 | 2016-05-03 | Blackberry Limited | Forward error correction decoding avoidance based on predicted code block reliability |
US9240808B2 (en) * | 2010-09-10 | 2016-01-19 | Trellis Phase Communications, Lp | Methods, apparatus, and systems for coding with constrained interleaving |
-
2015
- 2015-06-23 JP JP2016531281A patent/JPWO2016002572A1/ja active Pending
- 2015-06-23 US US15/318,839 patent/US9906327B2/en active Active
- 2015-06-23 WO PCT/JP2015/067977 patent/WO2016002572A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000052832A1 (fr) * | 1999-03-01 | 2000-09-08 | Fujitsu Limited | Dispositif de turbo-decodage |
JP2002353821A (ja) * | 2001-05-24 | 2002-12-06 | Mitsubishi Electric Corp | 誤り訂正復号方法および復号装置 |
JP2013207382A (ja) * | 2012-03-27 | 2013-10-07 | Nec Corp | インタリーブ制御装置、インタリーブ処理装置及びインタリーブ処理方法 |
JP2013251691A (ja) * | 2012-05-31 | 2013-12-12 | Sony Corp | 受信装置および受信方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2016002572A1 (ja) | 2017-04-27 |
US20170141877A1 (en) | 2017-05-18 |
US9906327B2 (en) | 2018-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2685241C (en) | Apparatus and method for encoding and decoding signals | |
JP5835108B2 (ja) | 受信装置および受信方法 | |
JP5534528B2 (ja) | 信号を復号する装置および方法 | |
JP5232865B2 (ja) | デジタルテレビジョンシステムのプリアンブル | |
JP5440836B2 (ja) | 受信装置及び方法、プログラム、並びに受信システム | |
WO2016002572A1 (ja) | 受信装置および受信方法、並びにプログラム | |
US8325823B2 (en) | Encoder of E-8VSB forward error correction for digital television system of ATSC | |
WO2016063728A1 (ja) | 受信装置、および、受信装置の受信方法、並びにプログラム | |
US8995582B2 (en) | Priori training in a mobile DTV system | |
WO2016063729A1 (ja) | 受信装置、および、受信装置の受信方法、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15814326 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2016531281 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15318839 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15814326 Country of ref document: EP Kind code of ref document: A1 |