WO2013179974A1 - 受信装置および受信方法 - Google Patents

受信装置および受信方法 Download PDF

Info

Publication number
WO2013179974A1
WO2013179974A1 PCT/JP2013/064224 JP2013064224W WO2013179974A1 WO 2013179974 A1 WO2013179974 A1 WO 2013179974A1 JP 2013064224 W JP2013064224 W JP 2013064224W WO 2013179974 A1 WO2013179974 A1 WO 2013179974A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
decoding
delay
error correction
likelihood
Prior art date
Application number
PCT/JP2013/064224
Other languages
English (en)
French (fr)
Inventor
横川 峰志
雄二 篠原
康治 難波田
亮志 池谷
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US14/402,334 priority Critical patent/US20150092894A1/en
Priority to EP13797258.4A priority patent/EP2858250A4/en
Publication of WO2013179974A1 publication Critical patent/WO2013179974A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2933Coding, 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/2936Coding, 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3776Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/203Details of error rate determination, e.g. BER, FER or WER
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint

Definitions

  • the present technology relates to a receiving device and a receiving method, and more particularly, to a receiving device and a receiving method capable of reducing a memory for error correction processing.
  • 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.
  • FIG. 1 is a block diagram showing an example of the configuration of the error correction apparatus according to the invention described in Non-Patent Document 1.
  • the error correction apparatus 10 in FIG. 1 includes a control unit 11, a likelihood conversion unit 12, a Viterbi decoding unit 13, a byte deinterleaver 14, an RS decoding unit 15, a byte interleaver 16, and a convolutional coding unit 17. .
  • the error correction apparatus 10 realizes iterative decoding in which the Viterbi decoding unit 13 and the RS decoding unit 15 exchange information.
  • the likelihood of the multi-level demodulated and demapped process is input to the control unit 11 of the error correction apparatus 10 in bit units from a demodulator (not shown).
  • the control unit 11 has a built-in memory, and temporarily stores the input likelihood in order to read the same likelihood multiple times. Then, the control unit 11 reads the likelihood from the built-in memory at a necessary timing and supplies the likelihood to the likelihood conversion unit 12.
  • the convolutional code of the ISDB-T standard has a coding rate of 1/2, and 2 code bits correspond to 1 information bit. Therefore, the control unit 11 supplies the likelihood conversion unit 12 with a 2-bit likelihood corresponding to one information bit. In the following, 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 12 converts the likelihood # 1 supplied from the control unit 11 based on the encoded bit # 1 supplied from the convolutional encoding unit 17 and the reliability information of the encoded bit # 1. To do. Similarly, the likelihood conversion unit 12 is based on the encoded bit # 2 supplied from the convolutional encoding unit 17 and the reliability information of the encoded bit # 2, and the likelihood # supplied from the control unit 11 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 12 sets the likelihood that is most likely to be the value of the most encoded bit as a 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 11 is set as the likelihood after conversion.
  • the likelihood conversion unit 12 supplies the converted likelihood to the Viterbi decoding unit 13.
  • the Viterbi decoding unit 13 performs Viterbi decoding on the likelihood supplied from the likelihood conversion unit 12 and supplies a bit-by-bit decoding result to the byte deinterleaver 14.
  • the byte deinterleaver 14 converts the bitwise decoding result supplied from the Viterbi decoding unit 13 into a bytewise decoding result.
  • the byte deinterleaver 14 functions as a delay unit, and performs deinterleaving by delaying a part of the decoding result in byte units obtained as a result of the conversion.
  • the byte deinterleaver 14 is configured to correspond to this byte interleaver.
  • the RS decoding unit 15 performs RS decoding on the byte-by-byte decoding result deinterleaved by the byte deinterleaver 14.
  • the RS decoding unit 15 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 16.
  • the byte interleaver 16 associates the decoding success flag supplied from the RS decoding unit 15 with the decoded data and performs interleaving in units of bytes.
  • the byte interleaver 16 supplies the interleaved decoded data in bytes and the decoding success flag to the convolutional encoding unit 17.
  • the convolutional encoding unit 17 supplies a predetermined value as an encoded bit and L-level reliability information to the likelihood conversion unit 12.
  • the convolutional encoding unit 17 generates encoded bits based on the decoded data in units of bytes supplied from the byte interleaver 16 when the likelihood is read from the control unit 11 on and after the second time.
  • the convolutional encoding unit 17 generates trust information based on the decoding success flag. Then, the convolutional encoding unit 17 supplies the encoded bits and the reliability information to the likelihood conversion unit 12.
  • the likelihood of the bit that has been successfully RS-decoded is the likelihood that seems to be the most encoded bit, and therefore corresponds to that bit.
  • the difference in branch metrics between branches on the trellis becomes large. Therefore, the survival path can be selected more accurately, and the correct decoding probability of Viterbi decoding is improved.
  • 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 15, 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 capacity of the memory in the control unit 11 for feeding back all the decoding success flags and decoded data output from the byte interleaver 16 is the likelihood per code bit. Considering the number of bits and the number of packets corresponding to the delay in the byte interleaver 16, even if the number of iterations is one, it cannot be ignored. Further, when the number of iterative decoding is N times (N is an integer equal to or greater than 2), a capacity N times that of the case where the number of iterative decoding is 1 is required. Further, the error correction apparatus 10 needs to provide a memory for the byte interleaver 16.
  • the present technology has been made in view of such a situation, and makes it possible to reduce memory for error correction processing.
  • a receiving device includes a receiving unit that receives encoded data encoded by one or more codes, and a first decoding unit that decodes the encoded data received by the receiving unit And a first delay unit that delays a part of the decoding result obtained by the first decoding unit, and the first delay unit among the decoding results after the delay by the first delay unit. It is a receiving apparatus provided with the reliability improvement part which controls decoding of the said encoded data so that the reliability of the said decoding result improves using the decoding result which is not delayed.
  • the reception method according to the first aspect of the present technology corresponds to the reception device according to the first aspect of the present technology.
  • encoded data encoded by one or more codes is received, the received encoded data is decoded, a part of a decoding result is delayed, and the delayed data is The decoding of the encoded data is controlled so that the reliability of the decoding result is improved using the decoding result that is not delayed among the decoding results.
  • the memory for error correction processing can be reduced.
  • FIG. 3 is a block diagram illustrating a first configuration example of an error correction unit in FIG. 2. 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. It is a flowchart explaining the error correction process of the error correction part of FIG. It is a flowchart explaining the detail of the 1st error correction process of FIG. It is a flowchart explaining the detail of the likelihood conversion process of FIG. It is a flowchart explaining the detail of the error bit number accumulation process of FIG.
  • FIG. 3 is a block diagram illustrating a second configuration example of the error correction unit in FIG. 2. 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. 2. It is a flowchart explaining the error correction process of the error correction part of FIG. It is a block diagram which shows the structural example of the hardware of a computer.
  • FIG. 2 is a block diagram illustrating a configuration example of an embodiment of a receiving device to which the present technology is applied.
  • the receiving device 20 is, for example, a receiver compliant with the ISDB-T standard, and includes an antenna 21, a tuner 22, a demodulator 23, an error corrector 24, a decoder 25, and an output unit 26.
  • the receiving device 20 receives and decodes an RF signal of terrestrial digital broadcasting compliant with the ISDB-T standard.
  • the antenna 21 functions as a receiving unit.
  • the antenna 21 receives an RF signal transmitted via a propagation path from a transmission device such as a broadcast station (not shown), and supplies it to the tuner 22.
  • the tuner 22 converts the frequency of the RF signal received by the antenna 21.
  • the IF signal obtained by performing frequency conversion on the RF signal is supplied to the demodulator 23.
  • the demodulator 23 performs A / D conversion on the IF signal supplied from the tuner 22, performs multilevel demodulation, and performs demapping, thereby generating likelihood.
  • the demodulator 23 supplies the likelihood to the error correction unit 24 as encoded data encoded by the outer code and the inner code.
  • the error correction unit 24 performs error correction processing on the likelihood supplied from the demodulation unit 23 and supplies data obtained as a result to the decoder 25.
  • the error correction unit 24 outputs the number of bit errors for each predetermined period to the outside.
  • the decoder 25 decodes the data supplied from the error correction unit 24 by, for example, the MPEG (Moving Picture Experts Group phase) method, and supplies the image and audio data obtained as a result to the output unit 26.
  • MPEG Motion Picture Experts Group phase
  • the output unit 26 includes a display device, a speaker, and the like.
  • the display device displays an image corresponding to the image data supplied from the decoder 25, and the speaker outputs sound corresponding to the audio data.
  • FIG. 3 is a block diagram showing a first configuration example of the error correction unit 24 of FIG.
  • the error correction unit 24 in FIG. 3 converts the likelihood using only the decoding result that has passed through the zero delay branch in the byte deinterleaver 14.
  • the control unit 31 of the error correction unit 24 has a built-in memory, and temporarily stores the likelihood as encoded data supplied from the demodulation unit 23 of FIG. Then, when the likelihood of a predetermined unit (for example, packet unit) is stored in the built-in memory, the control unit 31 reads the likelihood of the unit for the first time and supplies it to the likelihood conversion unit 12. At this time, the control unit 31 supplies a predetermined value as an encoded bit and L-level reliability information to the likelihood conversion unit 12.
  • a predetermined unit for example, packet unit
  • the control unit 31 performs the second reading of the likelihood of a predetermined unit and supplies it to the likelihood conversion unit 12. At this time, if the reliability information and encoded bits supplied from the convolutional encoding unit 33 correspond to the decoding result that has passed through the zero delay branch in the byte deinterleaver 14, the control unit 31 determines that reliability information. And the encoded bits are supplied to the likelihood converting unit 12.
  • the control unit 31 And the L-level reliability information are supplied to the likelihood conversion unit 12.
  • the coded bits and the reliability information corresponding to the decoding result that has passed through the zero delay branch are supplied to the likelihood conversion unit 12 as they are.
  • the likelihood conversion unit 12 converts the likelihood into the likelihood that seems to be the most encoded bit when the level of the reliability information is H level using the encoded bit and the reliability information, and the reliability of the decoding result Improve the degree.
  • the likelihood conversion unit 12 corresponds to the decoding result based on the decoding result that has passed through the zero delay branch, that is, the encoded bit and the reliability information corresponding to the decoding result that is not delayed by the byte deinterleaver 14. Convert likelihood. Then, the likelihood conversion unit 12 supplies the converted likelihood to the Viterbi decoding unit 13, and controls the Viterbi decoding unit 13 to decode the converted likelihood, thereby improving the reliability of the decoding result. Thus, the Viterbi decoding unit 13 is controlled.
  • the L-level reliability information is supplied to the likelihood conversion unit 12 as the reliability information corresponding to the decoding result that has passed through other than the zero delay branch.
  • the likelihood conversion unit 12 uses the likelihood input from the control unit 31 as it is, without regard to the likelihood corresponding to the decoding result that has passed through other than the zero delay branch.
  • the degree is supplied to the Viterbi decoding unit 13. That is, the likelihood conversion unit 12 does not use the encoded bit and the reliability information corresponding to the decoding result that has passed through other than the zero delay branch for the control of the Viterbi decoding unit 13.
  • the synchronization byte processing unit 32 functions as a replacement unit, and replaces the value of the synchronization byte in the decoded data in units of bytes output from the RS decoding unit 15 with a predetermined value.
  • the value of the synchronization byte of the packet is a known value 0x47
  • the position of the synchronization byte of the packet after RS encoding is the end of the packet. Therefore, the synchronization byte processing unit 32 uses the byte at the end position of the decoded data as a synchronization byte, and replaces the value of the synchronization byte with a known value 0x47.
  • the synchronization byte processing unit 32 replaces the level of the decoding success flag of the synchronization byte in the decoding success flag output from the RS decoding unit 15 with the H level. Then, the synchronous byte processing unit 32 supplies the decoded data in units of bytes after replacement and the decoding success flag to the convolutional encoding unit 33.
  • the convolutional encoding unit 33 performs convolutional encoding by generating encoded bits based on the decoded data in units of bytes supplied from the synchronous byte processing unit 32, similarly to the convolutional encoding unit 17 of FIG. .
  • the convolutional encoding unit 33 generates the trust information based on the decoding success flag, similarly to the convolutional encoding unit 17. Then, the convolutional encoding unit 33 supplies the encoded bits and the reliability information to the control unit 31.
  • the bit error counter 34 functions as a calculation unit.
  • the bit error counter 34 is output from the RS decoding unit 15, the decoding success flag corresponding to the likelihood of the first reading performed by the control unit 31, the corrected number of bits, and error bits input from the outside
  • the number of error bits is accumulated based on the fixed error bit number that is a fixed value of the number and the measurement period of the bit error number.
  • the bit error counter 34 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. On the other hand, when the level of the decoding success flag is L level, the bit error counter 34 accumulates the fixed error bit number within the measurement period of the bit error number. The bit error counter 34 outputs the accumulated number of bits to the outside as the number of bit errors for each measurement period of the number of bit errors.
  • FIG. 4 is a block diagram illustrating a configuration example of the likelihood conversion unit 12 of FIG.
  • the selector 51 of the likelihood converting unit 12 selects the most likely likelihood or the most unlikely likelihood input from the outside based on the coded bit # 1 supplied from the control unit 31 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 31 based on the reliability information # 1 supplied from the control unit 31. Specifically, the selector 52 selects the likelihood supplied from the selector 51 when the level of the trust information # 1 is H level, and the control unit 31 when the level of the trust information # 1 is the L level. Select the likelihood supplied from. The selector 52 supplies the selected likelihood to the Viterbi decoding unit 13 in FIG. 3 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 control unit 31 as in 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 31, based on the reliability information # 2 supplied from the control unit 31.
  • the selector 54 supplies the selected likelihood to the Viterbi decoding unit 13 as the likelihood after conversion.
  • FIG. 5 is a block diagram illustrating a configuration example of the convolutional encoding unit 33 in FIG. 3.
  • 5 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 decoded data in byte units supplied from the synchronous byte processing unit 32 in FIG. 3 into bit units, and converts the decoded data in bit units into a delay unit 92, an EXOR unit 98, And supplied to 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. 3 to the control unit 31.
  • 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. Is supplied to the control unit 31 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 sum of the decoding success flag supplied from the synchronous byte processing unit 32, 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 calculation result is supplied to the control unit 31 as reliability information # 1.
  • the AND unit 118 calculates the logical sum of the decoding success flags supplied from the synchronous byte processing unit 32 and the decoding success flags supplied from the delay unit 112, the delay unit 113, the delay unit 115, and the delay unit 116, The calculation result is supplied to the control unit 31 as reliability information # 2.
  • FIG. 6 is a flowchart for explaining error correction processing of the error correction unit 24 of FIG. This error correction process is started each time, for example, the likelihood for one packet is input from the demodulator 23 of FIG.
  • the error correction unit 24 in FIG. 3 performs a first error correction process which is a first error correction process with a likelihood of one packet. Details of the first error correction processing will be described with reference to FIG.
  • step S12 the error correction unit 24 performs a second error correction process that is a second error correction process with a likelihood of one packet. Details of the second error correction processing will be described with reference to FIG. After the second error correction process, the error correction process ends.
  • FIG. 7 is a flowchart for explaining the details of the first error correction processing in step S11 of FIG.
  • control unit 31 of the error correction unit 24 reads the likelihood for one packet stored in the built-in memory and supplies the likelihood to the likelihood conversion unit 12.
  • control unit 31 sets the level of the reliability information to the L level and supplies it to the likelihood conversion unit 12.
  • step S33 the control unit 31 sets the encoded bit to a predetermined value and supplies it to the likelihood conversion unit 12.
  • step S ⁇ b> 34 the likelihood conversion unit 12 performs a likelihood conversion process for converting the likelihood based on the reliability information and the encoded bits supplied from the control unit 31. Details of the likelihood conversion processing will be described with reference to FIG.
  • step S35 the Viterbi decoding unit 13 performs Viterbi decoding on the likelihood supplied from the likelihood converting unit 12, and supplies the bit-by-bit decoding result to the byte deinterleaver 14.
  • step S36 the byte deinterleaver 14 converts the bitwise decoding result supplied from the Viterbi decoding unit 13 into a bytewise decoding result, and performs deinterleaving.
  • the byte deinterleaver 14 supplies the decoding result in units of bytes after deinterleaving to the RS decoding unit 15.
  • step S ⁇ b> 37 the RS decoding unit 15 RS-decodes the decoding result in bytes after deinterleaving supplied from the byte deinterleaver 14, outputs decoded data obtained as a result, and supplies the decoded data to the synchronous byte processing unit 32. To do. Further, the RS decoding unit 15 supplies a decoding success flag obtained as a result of RS decoding to the synchronous byte processing unit 32 and the bit error counter 34, and supplies a corrected number of bits obtained as a result of RS decoding to the bit error counter 34. .
  • step S38 the synchronization byte processing unit 32 replaces the synchronization byte of the decoded data in units of bytes supplied from the RS decoding unit 15 with a known value 0x47 and supplies it to the convolutional coding unit 33.
  • step S ⁇ b> 39 the synchronization byte processing unit 32 replaces the level of the decoding success flag of the synchronization byte among the decoding success flags supplied from the RS decoding unit 15 with the H level, and supplies it to the convolutional coding unit 33.
  • step S40 the convolutional encoding unit 33 performs convolutional encoding by generating encoded bits based on the decoded data in byte units supplied from the synchronous byte processing unit 32, and based on the decoding success flag. Generate trust information. Then, the convolutional encoding unit 33 supplies the encoded bits and the reliability information to the control unit 31.
  • step S41 the bit error counter 34 determines the number of error bits based on the decoding success flag and the corrected number of bits from the RS decoder 15, and the measurement period of the fixed error bit number and the bit error number input from the outside.
  • the error bit number accumulating process is performed. Details of the error bit number accumulation processing will be described with reference to FIG. After the process of step S41, the process returns to step S11 of FIG. 6 and proceeds to step S12.
  • FIG. 8 is a flowchart for explaining the details of the likelihood conversion process in step S34 of FIG. In FIG. 8, the likelihood conversion process for the likelihood # 1 is described, but the likelihood conversion process for the likelihood # 2 is performed in the same manner.
  • the selector 51 (FIG. 4) of the likelihood converting unit 12 determines whether or not the encoded bit # 1 supplied from the control unit 31 is 1. If it is determined in step S61 that the encoded bit # 1 is 1, the selector 51 selects the most likely likelihood input from the outside in step S62 and outputs the likelihood to the selector 52. Then, the process proceeds to step S64.
  • step S61 determines whether the encoded bit # 1 is not 1, that is, if the encoded bit # 1 is 0, in step S63, the selector 51 estimates the likelihood that is most likely to be input from the outside. Is output to the selector 52. Then, the process proceeds to step S64.
  • step S64 the selector 52 determines whether or not the level of the reliability information # 1 supplied from the control unit 31 is H level.
  • step S65 the selector 52 selects the likelihood supplied from the selector 51, and the converted likelihood # 1 is shown in FIG. To the Viterbi decoding unit 13. And a process returns to step S34 of FIG. 7, and progresses to step S35.
  • step S64 determines whether the level of the trust information # 1 is H level, that is, if the level of the trust information # 1 is L level.
  • step S66 the selector 52 selects the likelihood supplied from the control unit 31, and outputs the likelihood to the Viterbi decoding unit 13 as the converted likelihood # 1. And a process returns to step S34 of FIG. 7, and progresses to step S35.
  • FIG. 9 is a flowchart for explaining the details of the error bit number accumulation process in step S41 of FIG.
  • the bit error counter 34 determines whether or not the count value of the built-in timer is the count value N corresponding to the measurement period of the number of bit errors. If it is determined in step S81 that the count value is not the count value N, the process proceeds to step S85.
  • step S82 the bit error counter 34 outputs the stored accumulated bit number to the outside as the bit error number.
  • step S83 the bit error counter 34 sets the number of bits held to 0.
  • step S84 the bit error counter 34 sets the count value of the built-in timer to 0, and the process proceeds to step S85.
  • step S85 the bit error counter 34 determines whether the level of the decoding success flag supplied from the RS decoding unit 15 is H level. If it is determined in step S85 that the level of the decoding success flag is H level, the process proceeds to step S86.
  • step S86 the bit error counter 34 accumulates the number of bits by adding the corrected number of bits supplied from the RS decoding unit 15 to the held number of bits. Then, the process returns to step S41 in FIG. 7 and proceeds to step S12 in FIG.
  • step S87 the bit error counter 34 adds the fixed error bit number to the held bit number, Accumulate numbers. Then, the process returns to step S41 in FIG. 7 and proceeds to step S12 in FIG.
  • FIG. 10 is a flowchart for explaining the details of the second error correction processing in step S12 of FIG.
  • control unit 31 rereads the likelihood of one packet stored in the built-in memory and supplies the likelihood to the likelihood conversion unit 12.
  • or S104 is performed for every reliability information and an encoding bit.
  • step S102 the control unit 31 determines whether the reliability information and the encoded bits supplied from the convolutional encoding unit 33 correspond to the decoding result that has passed through the zero delay branch in the byte deinterleaver 14. To do.
  • step S102 If it is determined in step S102 that the trust information and the encoded bit do not correspond to the decoding result that has passed through the zero delay branch in the byte deinterleaver 14, the process proceeds to step S103.
  • step S103 the control unit 31 sets the level of the trust information to the L level and supplies it to the likelihood conversion unit 12.
  • step S104 the control unit 31 sets the encoded bit to a predetermined value and supplies it to the likelihood converting unit 12, and the process proceeds to step S105.
  • step S102 when it is determined in step S102 that the trust information and the encoded bit correspond to the decoding result that has passed through the zero delay branch in the byte deinterleaver 14, the control unit 31 determines that the trust information and the encoded bit are encoded. The bits are supplied to the likelihood conversion unit 12. Then, the process proceeds to step S105.
  • step S108 the RS decoding unit 15 RS-decodes the deinterleaved byte unit decoding result supplied from the byte deinterleaver 14, and outputs the decoded data obtained as a result.
  • the error correction unit 24 in FIG. 3 converts the likelihood based on the decoding result that has passed through the zero delay branch, and controls the decoding likelihood to be decoded, thereby controlling the reliability of the decoding result. Improve the degree. Therefore, the error correction unit 24 does not need to have the byte interleaver 16 unlike the error correction device 10 of FIG. 1, and can reduce the memory for error correction processing.
  • the error correction unit 24 of FIG. 3 does not need to have the byte interleaver 16, the memory capacity of the control unit 31 can be significantly reduced compared to the control unit 11.
  • the control unit 11 needs to hold the likelihood of the delay by the byte interleaver 16.
  • the error correction unit 24 of FIG. 3 does not have the byte interleaver 16
  • no delay occurs due to the byte interleaver 16
  • the control unit 31 does not need to maintain the likelihood of the delay. Therefore, the memory capacity of the control unit 31 may be several packets, and the memory capacity of the control unit 31 can be significantly reduced compared to the control unit 11.
  • bit error counter 34 accumulates the number of bit errors based on the decoding success flag obtained by the first decoding and the corrected number of bits. Therefore, it is possible to prevent the BER (Bit Error Rate) corresponding to the number of bit errors from satisfying the conditions specified in the standard.
  • Nording there is a test specification that should be satisfied by a receiving device called Nording.
  • a Nording test spec v2.2.1 Task3 18 a CNR obtained by subtracting 1 dB from a CNR (Carrier to Noise Ratio) where the BER after Viterbi decoding is 2 ⁇ 10 ⁇ 4, and the BER after Viterbi decoding is 2 There is a condition of ⁇ 10 ⁇ 3 or less.
  • the bit error counter 34 prevents the BER from satisfying the condition by accumulating the bit error number based on the decoding success flag obtained by the first decoding and the corrected bit number.
  • the synchronization byte processing unit 32 replaces the value of the synchronization byte of the decoded data in bytes output from the RS decoding unit 15 with a known value, and replaces the level of the successful decoding flag of the synchronization byte with the H level. Therefore, the convolutional encoding unit 33 can generate more reliable reliability information and encoded bits based on the decoded data after replacement and the decoding success flag. As a result, the correct decoding probability at the time of Viterbi decoding can be improved.
  • FIG. 11 is a block diagram showing a second configuration example of the error correction unit 24 of FIG.
  • the error correction unit 24 in FIG. 3 performs a termination process in Viterbi decoding based on the decoding result that has passed through the zero delay branch in the byte deinterleaver 14.
  • control unit 131 has a built-in memory and temporarily stores the likelihood supplied from the demodulation unit 23 in FIG. Then, similarly to the control unit 31, the control unit 131 reads the likelihood for the first time and supplies it to the Viterbi decoding unit 132. At this time, the control unit 131 supplies the predetermined value as the state and the reliability information of the L-level state to the Viterbi decoding unit 132.
  • the control unit 131 reads the likelihood of a predetermined unit for the second time and supplies the read to the Viterbi decoding unit 132. At this time, if the state reliability information and the state supplied from the state generation unit 133 correspond to the decoding result that has passed through the zero delay branch in the byte deinterleaver 14, the control unit 131 trusts the state. Information and state are supplied to the Viterbi decoding unit 132.
  • the control unit 131 sets a predetermined value as the state.
  • the L level state reliability information is supplied to the Viterbi decoding unit 132.
  • the Viterbi decoding unit 132 performs Viterbi decoding on the likelihood supplied from the control unit 131 based on the state supplied from the control unit 131 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 132 performs such Viterbi decoding based on the state and state reliability information supplied from the control unit 131. Specifically, when the level of state reliability information is H level, the Viterbi decoding unit 132 pastes the state metric of the state supplied from the control unit 131 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 132 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 131 as the start state of the traceback, thereby performing the bit-by-bit decoding Get results.
  • the Viterbi decoding unit 132 sets the Traceback start state as the state supplied from the control unit 131, and thus a circuit for comparing state metrics is provided. 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 132 performs normal Viterbi decoding on the likelihood, and obtains a decoding result in bit units.
  • the Viterbi decoding unit 132 supplies the bit-by-bit decoding result to the byte deinterleaver 14.
  • the state generation unit 133 generates state and state reliability information based on the decoded data in bytes and the decoding success flag supplied from the synchronous byte processing unit 32. Then, the state generation unit 133 supplies the state and state reliability information to the control unit 131.
  • the Viterbi decoding unit 132 is directly supplied with the state corresponding to the decoding result that has passed through the zero delay branch and the state reliability information. That is, the state generation unit 133 supplies the decoded data in units of bytes corresponding to the decoding result that passed through the zero delay branch and the decoding success flag and the state reliability information as it is to the Viterbi decoding unit 132 as it is. The Thereby, when the level of the reliability information of the state is H level, the Viterbi decoding unit 132 performs termination processing of the state and improves the reliability of the decoding result.
  • the state generation unit 133 determines state and state reliability information based on the decoded data corresponding to the decoding result that has passed through the zero delay branch and the decoding success flag, and supplies the state and state reliability information to the control unit 131 to It can be said that the Viterbi decoding unit 132 is controlled so that the reliability of the decoding result is improved by causing the Viterbi decoding unit 132 to perform the termination process of the state whose level is the H level.
  • L-level reliability information is supplied to the Viterbi decoding unit 132 as the reliability information corresponding to the decoding result that has passed through other than the zero delay branch.
  • the Viterbi decoding unit 132 does not perform termination processing. Accordingly, it can be said that the state generation unit 133 does not use the state and state reliability information corresponding to the decoding result that has passed through other than the zero delay branch for the control of the Viterbi decoding unit 132.
  • FIG. 12 is a block diagram illustrating a configuration example of the state generation unit 133 in FIG.
  • the state generation unit 133 in FIG. 12 includes an encoding unit 151 and a trust information generation unit 152.
  • the encoding unit 151 of the state generation unit 133 includes a byte bit conversion unit 171 and delay units 172 to 176.
  • the byte bit conversion unit 171 converts the decoded data in units of bytes supplied from the synchronous byte processing unit 32 of FIG. 11 into decoded data in units of bits, and supplies the decoded data to the control unit 131 as a 1-bit state. 172.
  • 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 131 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 to the control unit 131 as a 1-bit state when the decoded data in bit units 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 131 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 sum of the decoding success flags supplied from the synchronous byte processing unit 32 and the delay units 181 to 185, and supplies the logical sum obtained as a result to the control unit 131 as state reliability information.
  • FIG. 13 is a flowchart for explaining the details of the first error correction processing of the error correction unit 24 of FIG.
  • the control unit 131 of the error correction unit 24 reads the likelihood for one packet stored in the built-in memory, and supplies the likelihood to the Viterbi decoding unit 132.
  • the control unit 131 sets the state reliability information level to the L level, and supplies the information to the Viterbi decoding unit 132.
  • step S123 the control unit 131 sets the state to a predetermined value and supplies it to the Viterbi decoding unit 132.
  • step S ⁇ b> 124 the Viterbi decoding unit 132 performs Viterbi decoding processing for Viterbi decoding the likelihood based on the state and state reliability information supplied from the control unit 131. Details of the Viterbi decoding process will be described with reference to FIG.
  • steps S125 to S128 Since the processing of steps S125 to S128 is the same as the processing of steps S36 to S39 in FIG.
  • step S129 the state generation unit 133 generates state and state reliability information based on the decoded data in bytes and the decoding success flag supplied from the synchronous byte processing unit 32. Then, the state generation unit 133 supplies the state and state reliability information to the control unit 131.
  • step S130 the bit error counter 34 performs the error bit number accumulation process of FIG. 9 and ends the first error correction process.
  • FIG. 14 is a flowchart for explaining the details of the Viterbi decoding process in step S124 of FIG.
  • step S151 in FIG. 14 the Viterbi decoding unit 132 determines whether or not the level of state reliability information supplied from the control unit 131 is H level. When it is determined in step S151 that the level of the trust information is the H level, in step S152, the Viterbi decoding unit 132 performs state termination processing supplied from the control unit 131.
  • step S153 the Viterbi decoding unit 132 calculates a branch metric for each state at the current time and one state before one time based on the likelihood supplied from the control unit 131.
  • step S154 the Viterbi decoding unit 132 determines a surviving path based on the calculated branch metric and the state metric after termination processing.
  • step S155 the Viterbi decoding unit 132 performs Traceback using the state input from the control unit 131 as the start state of Traceback.
  • the Viterbi decoding unit 132 supplies the bit unit decoding result obtained as a result to the byte deinterleaver 14.
  • step S155 the process returns to step S124 of FIG. 13 and proceeds to step S125.
  • step S151 determines whether the level of trust information is H level, that is, if the level of trust information is L level. If it is determined in step S151 that the level of trust information is not H level, that is, if the level of trust information is L level, the process proceeds to step S156.
  • step S156 the Viterbi decoding unit 132 calculates a branch metric based on the likelihood for each state at the current time and one state before one time, and calculates the state metric at the current time from the branch metric and the state metric one hour before. Calculate
  • step S157 the Viterbi decoding unit 132 determines the path 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 is minimum as the surviving path.
  • step S158 the Viterbi decoding unit 132 performs Traceback using a predetermined state as a start state.
  • the Viterbi decoding unit 132 supplies the bit unit decoding result obtained as a result to the byte deinterleaver 14.
  • step S158 the process returns to step S124 of FIG. 13 and proceeds to step S125.
  • FIG. 15 is a flowchart for explaining the details of the second error correction processing of the error correction unit 24 of FIG.
  • control unit 131 reads again the likelihood for one packet stored in the built-in memory, and supplies the likelihood to the Viterbi decoding unit 132. Note that the processing in subsequent steps S172 to S174 is performed for each state reliability information and each state.
  • step S172 the control unit 131 determines whether or not the state reliability information and the state supplied from the state generation unit 133 correspond to a decoding result that has passed through the zero delay branch in the byte deinterleaver 14. .
  • step S172 If it is determined in step S172 that the state reliability information and the state do not correspond to the decoding result that has passed through the zero delay branch in the byte deinterleaver 14, the process proceeds to step S173.
  • step S173 the control unit 131 sets the level of the state reliability information to the L level and supplies it to the Viterbi decoding unit 132.
  • step S174 the control unit 131 sets the state to a predetermined value and supplies the state to the Viterbi decoding unit 132, and the process proceeds to step S175.
  • step S172 determines that the state reliability information and the state correspond to the decoding result that has passed through the zero delay branch in the byte deinterleaver 14. Then, the process proceeds to step S175.
  • steps S175 to S177 is the same as the processing of steps S124 to S126 of FIG. After the process of step S177, the second error correction process ends.
  • the error correction unit 24 in FIG. 11 determines a state in which the level of the trust information is H level based on the decoding result that has passed through the zero delay branch, and the termination process of the state is performed in the Viterbi decoding unit 132. Let it be done. Thereby, the reliability of a decoding result can be improved compared with the error correction part 24 of FIG. Further, similarly to the error correction unit 24 of FIG. 3, it is not necessary to have the byte interleaver 16, and the memory capacity of the control unit 131 can be greatly reduced.
  • FIG. 16 is a block diagram showing a third configuration example of the error correction unit 24 of FIG.
  • the error correction unit 24 in FIG. 16 performs termination processing in Viterbi decoding based on all decoding results.
  • the delay unit 201, the Viterbi decoding unit 202, the byte deinterleaver 203, and the RS decoding unit 204 of the error correction unit 24 perform a second error correction process.
  • the delay unit 201 delays the likelihood supplied from the demodulation unit 23 of FIG. 2 in a predetermined unit (for example, packet unit). Specifically, when the state and the state reliability information are supplied from the state generation unit 133 to the Viterbi decoding unit 202, the delay unit 201 outputs the likelihood corresponding to the state and the reliability information to the Viterbi decoding unit 202. Like, delay the likelihood.
  • the delay unit 201 supplies the likelihood of a predetermined unit after the delay to the Viterbi decoding unit 202.
  • the Viterbi decoding unit 202 is supplied from the delay unit 201 in the same manner as the Viterbi decoding unit 132 of FIG. 11 based on the state and state reliability information obtained as a result of the first error correction processing supplied from the state generation unit 133. Viterbi decoding the likelihood.
  • the Viterbi decoding unit 202 supplies the bit-by-bit decoding result obtained as a result to the byte deinterleaver 203.
  • the byte deinterleaver 203 is configured in the same manner as the byte deinterleaver 14. Similarly to the byte deinterleaver 14, the byte deinterleaver 203 converts the bitwise decoding result supplied from the Viterbi decoding unit 202 into a bytewise decoding result, and converts it into a bytewise decoding result obtained as a result of the conversion. Deinterleaving is performed. The byte deinterleaver 203 supplies the decoding result in units of bytes after deinterleaving to the RS decoding unit 204.
  • the RS decoding unit 204 performs RS decoding on the decoding result in units of bytes supplied from the byte deinterleaver 203, similarly to the RS decoding unit 15.
  • the RS decoding unit 15 supplies the decoded data obtained as a result to the decoder 25 of FIG.
  • the likelihood supplied from the demodulator 23 in FIG. 2 is input to the Viterbi decoder 13, and the Viterbi decoder 13, the byte deinterleaver 14, the RS decoder 15, the synchronous byte processor 32, the byte interleaver 205,
  • the state generator 133 performs the first error correction process.
  • the decoded data in byte units is transmitted through the Viterbi decoder 13, the byte deinterleaver 14, the RS decoder 15, and the synchronous byte processor 32.
  • the decoding success flag is output to the byte interleaver 205.
  • the byte interleaver 205 is configured in the same manner as the byte interleaver 16, associates the decoding success flag supplied from the synchronous byte processing unit 32 with the decoded data, and interleaves the decoding success flag and the decoded data in units of bytes.
  • the byte interleaver 16 supplies the decoded data in bytes after interleaving and the decoding success flag to the state generation unit 133.
  • the decoded data in units of bytes and the decoding success flag supplied to the state generation unit 133 are used to generate state and state reliability information, and the generated state and state reliability information are supplied to the Viterbi decoding unit 202.
  • the decoded data in units of bytes and the decoding success flag in the first error correction process output from the RS decoding unit 15 are supplied to the bit error counter 34 and used for calculation of the number of bit errors. The calculated number of bit errors is output.
  • FIG. 17 is a flowchart for explaining the details of the first error correction processing of the error correction unit 24 of FIG.
  • step S191 in FIG. 17 the delay unit 201 delays the packet by holding the likelihood of one packet supplied from the demodulator 23 in FIG.
  • step S 192 the Viterbi decoding unit 13 performs Viterbi decoding on the likelihood supplied from the demodulation unit 23, and supplies a bit-by-bit decoding result to the byte deinterleaver 14.
  • the processing in steps S193 through S196 is the same as the processing in steps S125 through S128 in FIG.
  • step S197 the byte interleaver 205 associates the decoding success flag supplied from the synchronous byte processing unit 32 with the decoded data, and interleaves the decoded data and the decoding success flag in units of bytes.
  • the byte interleaver 16 supplies the decoded data in bytes after interleaving and the decoding success flag to the state generation unit 133.
  • FIG. 18 is a flowchart for explaining the details of the second error correction processing of the error correction unit 24 of FIG.
  • the delay unit 201 reads the stored likelihood for one packet as the likelihood after delay, and supplies the read likelihood to the Viterbi decoding unit 202.
  • steps S222 to S224 is the same as the processing of steps S175 to S177 in FIG.
  • the error correction unit 24 in FIG. 16 interleaves the decoded data and the decoding success flag, the state to be subjected to the termination process is determined based on the decoding result that has passed through a branch other than the zero delay branch. be able to. As a result, the number of termination processes increases, and as a result, the reliability of the decryption result is further improved.
  • FIG. 19 is a block diagram showing a fourth configuration example of the error correction unit 24 of FIG.
  • the error correction unit 24 in FIG. 19 performs a termination process in the Viterbi decoding based on the decoding result that has passed through the zero delay branch in the byte deinterleaver 14, and further performs the Viterbi decoding based on all the decoding results obtained as a result. The termination process is performed. That is, the error correction unit 24 in FIG. 19 is a combination of the error correction unit 24 in FIG. 11 and the error correction unit 24 in FIG.
  • control unit 131 the control unit 131, Viterbi decoding unit 132, byte deinterleaver 14, RS decoding unit 15, synchronization byte processing unit 32, state generation unit 133, and bit error counter 34 of the error correction unit 24 are as shown in FIG.
  • error correction processing is performed on the likelihood supplied from the demodulation unit 23 of FIG.
  • the decoded data and the decoding success flag output from the RS decoding unit 15 are supplied again to the synchronous byte processing unit 32, replaced, and then supplied to the byte interleaver 205.
  • the byte interleaver 205 is configured in the same manner as the byte interleaver 16 in FIG. 1, and associates the decoding success flag supplied to the byte interleaver 205 with the decoded data and interleaves in units of bytes.
  • the interleaved decoded data is supplied to the selector 223, and the decoding success flag is supplied to the control unit 222 and the selector 224.
  • the delay unit 201, the control unit 222, the Viterbi decoding unit 202, the byte deinterleaver 203, the RS decoding unit 204, the selector 223, the selector 224, the synchronization byte processing unit 225, and the state generation unit 226 are performed in the previous stage.
  • control unit 222 outputs the likelihood supplied from the delay unit 201 to the Viterbi decoding unit 202.
  • the control unit 222 supplies a selector 223 and 224 with a select signal indicating that an input from the byte interleaver 205 is selected according to the decoding success flag supplied from the byte interleaver 205. Further, the control unit 222 holds a decoding success flag supplied from the byte interleaver 205.
  • control unit 222 has a built-in memory, and temporarily stores the likelihood supplied from the delay unit 201. Then, when the decoding success flag is input from the RS decoding unit 204, the control unit 222 reads the stored likelihood corresponding to the state supplied from the state generation unit 226 to the Viterbi decoding unit 202, and again Viterbi. While outputting to the decoding part 202, a decoding success flag is read.
  • the control unit 222 supplies the selectors 223 and 224 with a select signal indicating that an input from the byte interleaver 205 or the RS decoding unit 204 is selected based on the read decoding success flag.
  • the selector 223 supplies the decoded byte supplied from the byte interleaver 205 or the decoded data supplied from the RS decoding unit 204 to the synchronous byte processing unit 225 based on the select signal supplied from the control unit 222.
  • the selector 224 Based on the select signal supplied from the control unit 222, the selector 224 supplies the decoding success flag supplied from the byte interleaver 205 or the decoding success flag supplied from the RS decoding unit 204 to the synchronous byte processing unit 225. To do.
  • the synchronization byte processing unit 225 replaces the value of the synchronization byte of the decoded data in bytes supplied from the selector 223 with a known value. Similarly to the synchronous byte processing unit 32, the synchronous byte processing unit 225 replaces the level of the successful decoding flag of the synchronous byte among the successful decoding flags supplied from the selector 224 with the H level. The synchronous byte processing unit 225 supplies the decoded data in units of bytes after replacement and the decoding success flag to the state generation unit 226.
  • the state generation unit 226 Similar to the state generation unit 133, the state generation unit 226 generates state and state reliability information based on the decoded data in bytes and the decoding success flag supplied from the synchronous byte processing unit 225. Then, the state generation unit 226 supplies the state and state reliability information to the Viterbi decoding unit 202.
  • the error correction unit 24 in FIG. 19 includes the first control unit 131, the Viterbi decoding unit 132, the byte deinterleaver 14, the RS decoding unit 15, the synchronous byte processing unit 32, and the state generation unit 133.
  • the second error correction processing unit including the error correction processing unit, the control unit 222, the Viterbi decoding unit 202, the byte deinterleaver 203, the RS decoding unit 204, the synchronization byte processing unit 225, and the state generation unit 226 It is configured by being connected in series via a Lever 205 or the like.
  • the state generation unit 226 of the second error correction processing unit in the subsequent stage obtains the decoded data obtained as a result of the second decoding by the first error correction processing unit in the previous stage and interleaved by the byte interleaver 205 and the decoding success.
  • the Viterbi decoding unit 202 is controlled using the flag so that the reliability of the first decoding result is improved.
  • FIG. 20 is a flowchart for explaining error correction processing of the error correction unit 24 of FIG. This error correction process is started each time, for example, the likelihood for one packet is input from the demodulator 23 of FIG.
  • step S241 the error correction unit 24 performs the second error correction process of FIG.
  • step S242 the synchronization byte processing unit 32 acquires, from the RS decoding unit 15, byte-unit decoded data obtained as a result of RS decoding by the RS decoding unit 15 in the second error correction processing, and the value of the synchronization byte is known. Replace with a value. Then, the synchronous byte processing unit 32 supplies the decoded data after the replacement to the byte interleaver 205.
  • step S243 the synchronization byte processing unit 32 acquires the decoding success flag obtained as a result of the RS decoding by the RS decoding unit 15 in the second error correction process from the RS decoding unit 15, and sets the level of the synchronization byte decoding success flag. Replace with H level. Then, the synchronous byte processing unit 32 supplies the decoded success flag after replacement to the byte interleaver 205.
  • step S244 the byte interleaver 205 associates the decoding success flag supplied from the synchronous byte processing unit 32 with the decoded data, and interleaves the decoded data and the decoding success flag in units of bytes.
  • the byte interleaver 205 supplies the decoded data in byte units after interleaving to the selector 223, and supplies a decoding success flag to the control unit 222 and the selector 224.
  • the control unit 222 holds the decoding success flag from the byte interleaver 205.
  • step S245 the control unit 222 generates a select signal indicating selection of an input from the byte interleaver 205, and supplies the select signal to the selectors 223 and 224.
  • step S246 the error correction unit 24 performs a third error correction process that is a third error correction process with a likelihood of one packet. Details of the third error correction processing will be described with reference to FIG.
  • step S247 the control unit 222 reads the decoding success flag from the stored byte interleaver 205, and determines whether or not the level of the decoding success flag is H level.
  • step S248 When it is determined in step S247 that the level of the decoding success flag from the byte interleaver 205 is H level, in step S248, the control unit 222 transmits a select signal indicating that the input from the byte interleaver 205 is selected. Generate. Then, control unit 222 supplies the select signal to selectors 223 and 224, and the process proceeds to step S250.
  • step S247 if it is determined in step S247 that the level of the decoding success flag from the byte interleaver 205 is not H level, that is, if the level of the decoding success flag is L level, the process proceeds to step S249.
  • step S249 the control unit 222 generates a select signal indicating selection of an input from the RS decoding unit 204. Then, control unit 222 supplies the select signal to selectors 223 and 224, and the process proceeds to step S250.
  • step S250 the error correction unit 24 performs a fourth error correction process that is a fourth error correction process with a likelihood of one packet.
  • the control unit 222 does not output the likelihood supplied from the delay unit 201 to the Viterbi decoding unit 202, but reads the likelihood held in the built-in memory and reads the Viterbi decoding unit 202. Is the same as the third error correction processing in step S246 except that the data is output to. Therefore, detailed description is omitted.
  • the error correction process ends.
  • FIG. 21 is a flowchart for explaining the details of the third error correction processing in step S246 of FIG.
  • the synchronization byte processing unit 225 replaces the value of the synchronization byte of the decoded data in byte units supplied from the selector 223 with a known value, and supplies the value to the state generation unit 226.
  • the synchronization byte processing unit 225 replaces the level of the decoding success flag of the synchronization byte among the decoding success flags supplied from the selector 224 with the H level, and supplies it to the state generation unit 226.
  • step S262 the state generation unit 226 generates state and state reliability information based on the decoded data in units of bytes and the decoding success flag supplied from the synchronous byte processing unit 225. Then, the state generation unit 226 supplies the state and state reliability information to the Viterbi decoding unit 202.
  • step S ⁇ b> 263 the control unit 222 acquires the likelihood of one packet read by the first reading from the control unit 131 and delayed by the delay unit 201, and outputs the likelihood to the Viterbi decoding unit 202.
  • the processing in steps S264 through S266 is the same as the processing in steps S222 through S224 in FIG.
  • the error correction unit 24 in FIG. 19 performs termination processing in Viterbi decoding based on the decoding result that has passed through the zero delay branch in the byte deinterleaver 14, and based on all the decoding results obtained as a result. Further, a termination process in Viterbi decoding is performed. Therefore, the reliability of the decoding result can be further improved as compared with the error correction unit 24 of FIG. Further, the circuit scale of the error correction unit 24 of FIG. 19 is not so increased as compared with the error correction unit 24 of FIG. Therefore, the error correction unit 24 in FIG. 19 can improve the reliability of the decoding result without increasing the circuit scale much compared to the error correction unit 24 in FIG.
  • the error correction unit 24 in FIG. 19 performs the first termination process based only on the decoding result that has passed through the zero delay branch, only one byte interleaver 205 needs to be provided.
  • FIG. 22 is a block diagram showing a fifth configuration example of the error correction unit 24 of FIG.
  • the configuration of the error correction unit 24 in FIG. 22 mainly includes a control unit 241, a Viterbi decoding unit instead of the control unit 131, the Viterbi decoding unit 132, the byte deinterleaver 14, the RS decoding unit 15, and the synchronous byte processing unit 32.
  • 19 is different from the configuration of FIG. 19 in that 242, a byte deinterleaver 243, an RS decoding unit 244, and a synchronization byte processing unit 245 are provided, and a layer separation unit 246 and a layer synthesis unit 247 are newly provided.
  • the control unit 241 of the error correction unit 24 has a built-in memory, and the likelihood supplied from the demodulation unit 23 in FIG. The hierarchical information to represent is temporarily stored. Then, when the likelihood of a predetermined unit (for example, packet unit) is stored in the built-in memory, the control unit 241 reads the likelihood for the first time and supplies the read likelihood to the Viterbi decoding unit 242. To do.
  • a predetermined unit for example, packet unit
  • the control unit 241 supplies the Viterbi decoding unit 242 with the predetermined value as the state and the reliability information of the L level state.
  • the control unit 241 reads the hierarchy information, and based on the hierarchy information and the segment information indicating the number of segments of each hierarchy input from the outside, the likelihood of a predetermined hierarchy of the read likelihoods. The degree is supplied to the delay unit 201.
  • the control unit 241 reads the likelihood and the hierarchy information of a predetermined unit for the second time and supplies the read Viterbi decoding unit 242. At this time, similarly to the control unit 131, the control unit 241 corresponds to the decoding result in which the state reliability information and the state supplied from the state generation unit 133 pass through the zero delay branch in the byte deinterleaver 14. If there is, the state reliability information and the state are supplied to the Viterbi decoding unit 242.
  • the control unit 241 is the same as the control unit 131.
  • the predetermined value as the state and the reliability information of the L level state are supplied to the Viterbi decoding unit 242.
  • the Viterbi decoding unit 242, the byte deinterleaver 243, the RS decoding unit 244, and the synchronization byte processing unit 245 each receive the hierarchical information and output the hierarchical information to the subsequent stage, except that the Viterbi decoding unit 132, This is the same as the byte deinterleaver 14, the RS decoding unit 15, and the synchronous byte processing unit 32.
  • the layer separation unit 246, based on the segment information from the outside and the layer information from the synchronization byte processing unit 245, among the decoded data in units of bytes and the decoding success flag supplied from the synchronization byte processing unit 245, The decoded data of the hierarchy and the decoding success flag are supplied to the byte interleaver 205.
  • the hierarchy separation unit 246 supplies decoded data of a hierarchy other than the predetermined hierarchy to the hierarchy synthesis unit 247.
  • the layer synthesizing unit 247 sends the byte-unit decoded data supplied from the layer separation unit 246 and the byte-unit decoded data supplied from the RS decoding unit 204 to the error correction unit 24 based on segment information from the outside. Output in the input hierarchy order.
  • the hierarchical separation unit 246 assigns numbers to the decoded data in the order supplied from the synchronization byte processing unit 245, and the hierarchical synthesis unit 247
  • FIG. 23 is a flowchart for explaining error correction processing of the error correction unit 24 of FIG. This error correction processing is performed, for example, every time the likelihood for one packet is input from the demodulator 23 in FIG. 2 and the hierarchy information is input from the outside, and the likelihood for one packet is stored in the control unit 241. Be started.
  • step S280 of FIG. 23 the control unit 241 reads the stored likelihood and layer information for one packet and, based on the likelihood and layer information, and segment information input from the outside, one packet The likelihood of a predetermined hierarchy of minutes is output to the delay unit 201.
  • the control unit 241 when the layers of all segments are the A layer, that is, when the number of segments of the A layer represented by the segment information is the total number of segments and the number of segments of the B layer and the C layer is 0, the control unit 241 The likelihood of the A layer for the packet is supplied to the delay unit 201.
  • the control unit 241 when the number of segments in the A layer is 1 and the number of segments in the B layer is 12, the control unit 241 supplies only the likelihood of the B layer for one packet to the delay unit 201.
  • the control unit 241 supplies nothing to the delay unit 201.
  • step S281 the delay unit 201 delays the packet by holding the likelihood of a predetermined layer for one packet supplied from the control unit 241.
  • the delay unit 201 supplies the likelihood after the delay to the control unit 222.
  • step S282 the error correction unit 24 performs the first error correction process of FIG.
  • step S283 a second error correction process is performed.
  • This second error correction processing is the same as that shown in FIG. 15 except that hierarchical information is supplied to the synchronous byte processing unit 245 via the Viterbi decoding unit 242, the byte deinterleaver 243, and the RS decoding unit 244. This is the same as the correction process.
  • step S284 the synchronization byte processing unit 245 acquires the decoded data in byte units obtained as a result of the RS decoding by the RS decoding unit 244 in the second error correction processing from the RS decoding unit 244, and the value of the synchronization byte is known. Replace with a value. Then, the synchronization byte processing unit 245 supplies the decoded data after replacement to the layer separation unit 246.
  • step S285 the synchronization byte processing unit 245 acquires the decoding success flag obtained as a result of RS decoding by the RS decoding unit 244 in the second error correction processing from the RS decoding unit 244, and sets the level of the synchronization byte decoding success flag. Replace with H level. Then, the synchronization byte processing unit 245 supplies the decoded success flag after replacement to the layer separation unit 246. In addition, the synchronization byte processing unit 245 supplies the hierarchy information supplied from the RS decoding unit 244 to the hierarchy separation unit 246.
  • step S286 the layer separation unit 246, based on the segment information from the outside and the layer information from the synchronization byte processing unit 245, decodes the decoded data in bytes of the predetermined layer supplied from the synchronization byte processing unit 245 and the decoding data.
  • a success flag is supplied to the byte interleaver 205.
  • the layer separating unit 246 supplies the byte interleaver 205 with the decoded data in byte units of the A layer and the decoding success flag.
  • the layer separation unit 246 supplies the byte B decoded data and the decoding success flag to the byte interleaver 205.
  • the hierarchy separation unit 246 supplies nothing to the byte interleaver 205.
  • step S287 the hierarchy separation unit 246 supplies the hierarchy synthesis unit 247 with decoded data in units of bytes other than a predetermined hierarchy.
  • the hierarchy separation unit 246 supplies nothing to the hierarchy synthesis unit 247.
  • the layer separating unit 246 supplies the decoded data in byte units of the A layer to the layer combining unit 247.
  • the hierarchy separation unit 246 supplies the decoded data of all the hierarchies to the hierarchy synthesis unit 247.
  • steps S288 to S294 Since the processing of steps S288 to S294 is the same as the processing of steps S244 to S250 in FIG. 20, description thereof will be omitted.
  • step S ⁇ b> 295 the layer synthesis unit 247 determines, based on the segment information from the outside, the decoded data in bytes of the predetermined layer supplied from the RS decoding unit 204 and the predetermined layer other than the predetermined layer supplied from the layer separation unit 246.
  • the decoded data in units of bytes of the layer of the above is output in the order of the layers input to the error correction unit 24. Then, the error correction process ends.
  • the error correction unit 24 in FIG. 22 performs the termination process twice only for a signal of a predetermined hierarchy. Accordingly, the byte interleaver 205 holds only the decoded data and decoding success flag of a predetermined hierarchy, and the control unit 222 holds only the likelihood of the predetermined hierarchy. Can be reduced.
  • 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. 24 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.
  • the number of error correction processing units is not limited to two.
  • a receiving unit that receives encoded data encoded by one or more codes; A first decoding unit for decoding the encoded data received by the receiving unit; A first delay unit for delaying a part of the decoding result obtained by the first decoding unit; Of the decoding results after the delay by the first delay unit, using the decoding results not delayed by the first delay unit, the encoded data is improved so that the reliability of the decoding result is improved. And a reliability improving unit that controls decoding of the receiver. (2) The receiving apparatus according to (1), wherein the first decoding unit re-decodes the encoded data under the control of the reliability improvement unit.
  • the first decoding unit; The first delay unit; A plurality of error correction processing units including the reliability improvement unit are connected in series, The reliability improvement unit uses the decoding result re-decoded by the first decoding unit of the error correction processing unit in the previous stage so that the reliability of the decoding result is improved so that the reliability of the decoding result is improved.
  • the receiving device wherein: (4) Between the error correction processing unit, the first delay of the error correction processing unit of the previous stage is compared with the decoding result obtained as a result of decoding again by the first decoding unit of the error correction processing unit of the previous stage.
  • An interleaving unit that performs interleaving corresponding to deinterleaving as a delay by the unit,
  • the reliability improvement unit controls the first decoding of the encoded data so that the reliability of the decoding result is improved using the decoding result interleaved by the preceding interleaving unit.
  • the receiving device described.
  • the interleaving unit performs the interleaving on a decoding result corresponding to encoded data of a predetermined layer among decoding results obtained as a result of decoding again by the first decoding unit at the preceding stage.
  • 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 first delay unit;
  • the reliability improvement unit uses a decoding result not delayed by the first delay unit among the decoding results replaced by the replacement unit, so that the reliability of the decoding result is improved.
  • the receiving device according to any one of (1) to (5), which controls decoding of the encoded data.
  • the one or more codes are an outer code and an inner code,
  • the receiving apparatus according to any one of (1) to (6), wherein the first decoding unit performs decoding corresponding to the outer code and the inner code.
  • the outer code is an RS (Reed Solomon) code
  • the inner code is a convolutional code
  • the first delay unit performs deinterleaving by delaying a part of the decoding result
  • the reliability improvement unit improves the reliability of the decoding result by using a decoding result that has passed through a zero delay branch in the deinterleaving among the decoding results after the deinterleaving by the first delay unit.
  • the receiving device wherein decoding of the encoded data is controlled.
  • the outer code is a BCH (Bose Chaudhuri Hocquenghem) code
  • the receiving apparatus according to (7), wherein the inner code is an LDPC (Low Density Parity Check) code.
  • the reliability improvement unit converts the likelihood as the encoded data to a likelihood that seems to be 0 or 1 based on the decoding result that is not delayed by the first delay unit, and converts the likelihood after conversion to The receiving device according to any one of (1) to (8), wherein the decoding is controlled to perform decoding.
  • 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 first delay unit, and the Viterbi decoding so that the reliability of the state is the highest.
  • the receiving device according to any one of (1) to (8).
  • the receiving device according to any one of (1) to (11), further including: a calculating unit that calculates the number of bit errors of the encoded data based on a decoding result of initial decoding by the first decoding unit.
  • the receiving device A receiving step of receiving encoded data encoded by one or more codes; A first decoding step of decoding the encoded data received by the processing of the receiving step; A first delay step for delaying a part of the decoding result obtained by the processing of the first decoding step; Among the decoding results after the delay by the processing of the first delay step, using the decoding result that is not delayed by the processing of the first delay step, so that the reliability of the decoding result is improved, And a reliability improving step for controlling decoding of the encoded data.

Abstract

 本技術は、誤り訂正処理用のメモリを削減することができるようにする受信装置および受信方法に関する。 ビタビ復号部は、尤度をビタビ復号する。バイトデインターリーバは、ビタビ復号の復号結果の一部を遅延させる。尤度変換部は、バイトデインターリーバによる遅延後の復号結果のうちの、遅延されていない復号結果を用いて、復号結果の信頼度が向上するように、尤度の復号を制御する。本技術は、例えば、ISDB-T規格等に準拠した地上デジタル放送を受信する受信装置に適用することができる。

Description

受信装置および受信方法
 本技術は、受信装置および受信方法に関し、特に、誤り訂正処理用のメモリを削減することができるようにした受信装置および受信方法に関する。
 第1世代の地上デジタル放送規格としては、誤り訂正符号の外符号として、RS(Reed Solomon)符号を採用し、内符号として畳み込み符号を採用しているISDB-T(Integrated Services Digital Broadcasting-Terrestrial),DVB-T(Digital Video Broadcasting-Terrestrial),ATSC(Advanced Television Systems Committee),ISDB-S(Integrated Services Digital Broadcasting-Satellite),DVB-S(Digital Video Broadcasting-Satellite)などがある。
 また、第2世代の地上デジタル放送規格としては、誤り訂正符号の外符号として、BCH(Bose Chaudhuri Hocquenghem)を採用し、内符号としてLDPC(Low Density Parity Check)を採用しているDVB-T2(Digital Video Broadcasting-Terrestrial 2),DVB-C2(Digital Video Broadcasting-Cable 2),DVB-S2(Digital Video Broadcasting-Satellite 2)などがあり、実運用が始まりつつある。
 従来、第1世代の地上デジタル放送規格に準拠した受信装置の誤り訂正部は、ビタビ復号部、畳み込みデインターリーバ、およびRS復号部をパイプライン的に接続することで実現されている。
 しかしながら、近年、地上デジタル放送を移動体でも安定して受信可能にすることが求められており、ダイバーシティ受信技術や誤り訂正技術等による受信性能の向上が検討されている。
 例えば、ISDB-T規格において、受信性能の向上のために、複数の受信アンテナによるスペースダイバーシティ技術と誤り訂正部に繰り返し復号の概念を導入することが考案されている(例えば、非特許文献1参照)。
 図1は、非特許文献1に記載されている発明の誤り訂正装置の構成の一例を示すブロック図である。
 図1の誤り訂正装置10は、制御部11、尤度変換部12、ビタビ復号部13、バイトデインターリーバ14、RS復号部15、バイトインターリーバ16、および畳み込み符号化部17により構成される。誤り訂正装置10は、ビタビ復号部13とRS復号部15が情報をやりとりする繰り返し復号を実現している。
 具体的には、誤り訂正装置10の制御部11には、図示せぬ復調装置から、多値復調され、デマップ処理された尤度がビット単位で入力される。制御部11は、メモリを内蔵しており、複数回、同一の尤度を読み出すために、入力された尤度を一旦格納する。そして、制御部11は、必要なタイミングで、内蔵するメモリから尤度を読み出し、尤度変換部12に供給する。
 ここで、ISDB-T規格の畳み込み符号は符号化率が1/2であり、2ビットの符号ビットが1ビットの情報ビットに対応する。従って、制御部11は、1ビットの情報ビットに対応する2ビット分の尤度を、尤度変換部12に供給する。なお、以下では、2ビット分の尤度を特に区別する必要がある場合、それぞれ、尤度#1、尤度#2という。
 尤度変換部12は、畳み込み符号化部17から供給される符号化ビット#1と、その符号化ビット#1の信頼情報とに基づいて、制御部11から供給される尤度#1を変換する。同様に、尤度変換部12は、畳み込み符号化部17から供給される符号化ビット#2と、その符号化ビット#2の信頼情報とに基づいて、制御部11から供給される尤度#2を変換する。
 なお、以下では、尤度#1に対応する符号化ビット#1と尤度#2に対応する符号化ビット#2を特に区別する必要がない場合、それらをまとめて符号化ビットという。同様に、信頼情報#1と信頼情報#2をまとめて信頼情報という。
 尤度変換部12は、より詳細には、信頼情報のレベルが信頼できることを表すHレベルである場合、予め設定された最も符号化ビットの値らしい尤度を変換後の尤度とする。一方、信頼情報のレベルが信頼できないことを表すLレベルである場合、制御部11から供給される尤度を変換後の尤度とする。尤度変換部12は、変換後の尤度をビタビ復号部13に供給する。
 ビタビ復号部13は、尤度変換部12から供給される尤度をビタビ復号し、ビット単位の復号結果をバイトデインターリーバ14に供給する。
 バイトデインターリーバ14は、ビタビ復号部13から供給されるビット単位の復号結果をバイト単位の復号結果に変換する。そして、バイトデインターリーバ14は、遅延部として機能し、変換の結果得られるバイト単位の復号結果の一部を遅延させることにより、デインターリーブを行う。ここで、ISDB-T規格におけるバイトインターリーバのブランチ数は12であり、i番目(i=1,・・・,12)のブランチは、深さ(i-1)×17のメモリにより構成される。バイトデインターリーバ14は、このバイトインターリーバと対応するように構成される。
 RS復号部15は、バイトデインターリーバ14によりデインターリーブされたバイト単位の復号結果をRS復号する。RS復号部15は、その結果得られる復号データと復号が成功したかどうかを表す復号成功フラグを外部に出力するとともに、バイトインターリーバ16に供給する。
 バイトインターリーバ16は、ISDB-T規格におけるバイトインターリーバであり、上述したように、ブランチ数が12であり、i番目(i=1,・・・,12)のブランチが、深さ(i-1)×17のメモリで構成されるバイトインターリーバである。バイトインターリーバ16は、RS復号部15から供給される復号成功フラグを復号データと関連づけ、バイト単位でインターリーブする。バイトインターリーバ16は、インターリーブ後のバイト単位の復号データと復号成功フラグを畳み込み符号化部17に供給する。
 畳み込み符号化部17は、制御部11から1回目の尤度の読み出しが行われる場合、符号化ビットとしての所定値とLレベルの信頼情報を尤度変換部12に供給する。一方、畳み込み符号化部17は、制御部11から2回目以降の尤度の読み出しが行われる場合、バイトインターリーバ16から供給されるバイト単位の復号データに基づいて、符号化ビットを生成することにより畳み込み符号化を行う。また、畳み込み符号化部17は、復号成功フラグに基づいて信頼情報を生成する。そして、畳み込み符号化部17は、符号化ビットと信頼情報を尤度変換部12に供給する。
 以上のように、誤り訂正装置10では、ビタビ復号される各ビットの尤度のうち、RS復号が成功したビットの尤度が、最も符号化ビットらしい尤度になるため、そのビットに対応するトレリス上のブランチのブランチメトリックの差が大きくなる。従って、生き残りパスがより正確に選択可能となり、ビタビ復号の正復号確率が向上する。また、正復号確率が向上したビタビ復号の復号結果は、デインターリーブされ、RS復号部15に入力されるRS符号語の一部となるため、RS復号の正復号確率も向上する。その結果、受信性能が向上する。
 そして、このような効果は、ビタビ復号とRS復号が繰り返されることによりさらに高まる。
Y.Narikiyo and M.Takada,"Improvement of HDTV Mobile Reception Performance for ISDB-T Using Iterative Decoding 8-branch Space Diversity Technology,"in IEEE International Symposium on Broadband Multimedia Systems and Broadcasting(BMSB 2011),Nurnberg,Germany,June 2011.
 しかしながら、図1の誤り訂正装置10において、バイトインターリーバ16から出力される復号成功フラグと復号データを全てフィードバックさせるための制御部11内のメモリの容量は、符号ビット1ビット当たりの尤度のビット数とバイトインターリーバ16における遅延に対応するパケット数を考慮すると、繰り返し復号の回数が1回である場合でも無視できない。さらに、繰り返し復号の回数がN回(Nは2以上の整数)である場合には、繰り返し復号の回数が1回である場合のN倍の容量が必要となる。また、誤り訂正装置10は、バイトインターリーバ16用のメモリも設ける必要がある。
 本技術は、このような状況に鑑みてなされたものであり、誤り訂正処理用のメモリを削減することができるようにするものである。
 本技術の第1の側面の受信装置は、1以上の符号によって符号化された符号化データを受信する受信部と、前記受信部により受信された前記符号化データを復号する第1の復号部と、前記第1の復号部により得られる復号結果の一部を遅延させる第1の遅延部と、前記第1の遅延部による遅延後の前記復号結果のうちの、前記第1の遅延部により遅延されていない復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの復号を制御する信頼度向上部とを備える受信装置である。
 本技術の第1の側面の受信方法は、本技術の第1の側面の受信装置に対応する。
 本技術の第1の側面においては、1以上の符号によって符号化された符号化データが受信され、受信された前記符号化データが復号され、復号結果の一部が遅延され、遅延後の前記復号結果のうちの、遅延されていない復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの復号が制御される。
 本技術によれば、誤り訂正処理用のメモリを削減することができる。
従来の誤り訂正装置の構成の一例を示すブロック図である。 本技術を適用した受信装置の一実施の形態の構成例を示すブロック図である。 図2の誤り訂正部の第1の構成例を示すブロック図である。 図3の尤度変換部の構成例を示すブロック図である。 図3の畳み込み符号化部の構成例を示すブロック図である。 図3の誤り訂正部の誤り訂正処理を説明するフローチャートである。 図6の第1誤り訂正処理の詳細を説明するフローチャートである。 図7の尤度変換処理の詳細を説明するフローチャートである。 図7のエラービット数累算処理の詳細を説明するフローチャートである。 図6の第2誤り訂正処理の詳細を説明するフローチャートである。 図2の誤り訂正部の第2の構成例を示すブロック図である。 図11のステート生成部の構成例を示すブロック図である。 図11の誤り訂正部の第1誤り訂正処理の詳細を説明するフローチャートである。 図13のビタビ復号処理の詳細を説明するフローチャートである。 図11の誤り訂正部の第2誤り訂正処理の詳細を説明するフローチャートである。 図2の誤り訂正部の第3の構成例を示すブロック図である。 図16の誤り訂正部の第1誤り訂正処理の詳細を説明するフローチャートである。 図16の誤り訂正部の第2誤り訂正処理の詳細を説明するフローチャートである。 図2の誤り訂正部の第4の構成例を示すブロック図である。 図19の誤り訂正部の誤り訂正処理を説明するフローチャートである。 図20の第3誤り訂正処理の詳細を説明するフローチャートである。 図2の誤り訂正部の第5の構成例を示すブロック図である。 図22の誤り訂正部の誤り訂正処理を説明するフローチャートである。 コンピュータのハードウエアの構成例を示すブロック図である。
 <一実施の形態>
 [受信装置の一実施の形態の構成例]
 図2は、本技術を適用した受信装置の一実施の形態の構成例を示すブロック図である。
 図2の受信装置20は、例えば、ISDB-T規格に準拠した受信装置であり、アンテナ21、チューナ22、復調部23、誤り訂正部24、デコーダ25、および出力部26により構成される。受信装置20は、ISDB-T規格に準拠した地上デジタル放送のRF信号を受信し、復号する。
 具体的には、アンテナ21は、受信部として機能する。アンテナ21は、図示せぬ放送局などの送信装置から、伝搬路を介して伝送されてくるRF信号を受信し、チューナ22に供給する。
 チューナ22は、アンテナ21により受信されたRF信号を周波数変換する。RF信号に対して周波数変換を施すことで得られたIF信号は、復調部23に供給される。
 復調部23は、チューナ22から供給されるIF信号に対してA/D変換を施した後、多値復調し、デマップ処理することにより、尤度を生成する。復調部23は、その尤度を外符号と内符号によって符号化された符号化データとして誤り訂正部24に供給する。
 誤り訂正部24は、復調部23から供給される尤度に対して誤り訂正処理を施し、その結果得られるデータを、デコーダ25に供給する。また、誤り訂正部24は、所定の期間ごとのビットエラー数を外部に出力する。
 デコーダ25は、誤り訂正部24から供給されるデータを、例えばMPEG(Moving Picture Experts Group phase)方式でデコードし、その結果得られる画像や音声のデータを、出力部26に供給する。
 出力部26は、表示装置やスピーカなどで構成される。表示装置は、デコーダ25から供給される画像データに対応して画像を表示し、スピーカは、音声データに対応して音声を出力する。
 [誤り訂正部の第1の構成例]
 図3は、図2の誤り訂正部24の第1の構成例を示すブロック図である。
 図3に示す構成のうち、図1の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
 図3の誤り訂正部24の構成は、主に、制御部11、畳み込み符号化部17の代わりに、制御部31、畳み込み符号化部33が設けられている点、および、同期バイト処理部32とビットエラーカウンタ34が設けられている点、およびバイトインターリーバ16が設けられない点が図1の構成と異なる。図3の誤り訂正部24は、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果だけを用いて尤度を変換する。
 具体的には、誤り訂正部24の制御部31は、メモリを内蔵しており、図2の復調部23から供給される符号化データとしての尤度を一旦格納する。そして、制御部31は、内蔵するメモリに所定の単位(例えば、パケット単位)の尤度を格納すると、その単位の尤度の1回目の読み出しを行い、尤度変換部12に供給する。このとき、制御部31は、符号化ビットとしての所定値と、Lレベルの信頼情報を尤度変換部12に供給する。
 また、制御部31は、畳み込み符号化部33から信頼情報と符号化ビットが出力されると、所定の単位の尤度の2回目の読み出しを行い、尤度変換部12に供給する。このとき、制御部31は、畳み込み符号化部33から供給される信頼情報と符号化ビットが、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に対応するものである場合、その信頼情報と符号化ビットを尤度変換部12に供給する。
 一方、畳み込み符号化部33から供給される信頼情報と符号化ビットが、バイトデインターリーバ14においてゼロ遅延ブランチ以外を通った復号結果に対応するものである場合、制御部31は、符号化ビットとしての所定値と、Lレベルの信頼情報を尤度変換部12に供給する。
 以上のように、尤度変換部12には、ゼロ遅延ブランチを通った復号結果に対応する符号化ビットと信頼情報がそのまま供給される。これにより、尤度変換部12は、その符号化ビットと信頼情報を用いて、信頼情報のレベルがHレベルである場合、尤度を最も符号化ビットらしい尤度に変換し、復号結果の信頼度を向上させる。
 即ち、尤度変換部12は、ゼロ遅延ブランチを通った復号結果、つまりバイトデインターリーバ14により遅延されていない復号結果に対応する符号化ビットと信頼情報に基づいて、その復号結果に対応する尤度を変換する。そして、尤度変換部12は、変換後の尤度をビタビ復号部13に供給し、変換後の尤度を復号するようにビタビ復号部13を制御することにより、復号結果の信頼度が向上するようにビタビ復号部13を制御する。
 また、尤度変換部12には、ゼロ遅延ブランチ以外を通った復号結果に対応する信頼情報として、Lレベルの信頼情報が供給される。これにより、尤度変換部12は、ゼロ遅延ブランチ以外を通った復号結果に対応する尤度については、その復号結果によらず、制御部31から入力される尤度を、そのまま変換後の尤度としてビタビ復号部13に供給する。即ち、尤度変換部12は、ビタビ復号部13の制御に、ゼロ遅延ブランチ以外を通った復号結果に対応する符号化ビットと信頼情報を用いない。
 同期バイト処理部32は、置換部として機能し、RS復号部15から出力されるバイト単位の復号データのうちの同期バイトの値を所定値に置換する。具体的には、ISDB-T規格ではパケットの同期バイトの値は、既知の値0x47であり、RS符号化後のパケットの同期バイトの位置はパケットの終端である。従って、同期バイト処理部32は、復号データの終端位置のバイトを同期バイトとし、その同期バイトの値を既知の値0x47に置換する。
 また、同期バイト処理部32は、RS復号部15から出力される復号成功フラグのうちの同期バイトの復号成功フラグのレベルをHレベルに置換する。そして、同期バイト処理部32は、置換後のバイト単位の復号データと復号成功フラグを畳み込み符号化部33に供給する。
 畳み込み符号化部33は、同期バイト処理部32から供給されるバイト単位の復号データに基づいて、図1の畳み込み符号化部17と同様に、符号化ビットを生成することにより畳み込み符号化を行う。また、畳み込み符号化部33は、畳み込み符号化部17と同様に、復号成功フラグに基づいて信頼情報を生成する。そして、畳み込み符号化部33は、符号化ビットと信頼情報を制御部31に供給する。
 ビットエラーカウンタ34は、計算部として機能する。ビットエラーカウンタ34は、RS復号部15から出力される、制御部31により1回目の読み出しが行われた尤度に対応する復号成功フラグおよび訂正したビット数、並びに、外部から入力されるエラービット数の固定値である固定エラービット数およびビットエラー数の測定期間に基づいて、エラービット数を累算する。
 具体的には、ビットエラーカウンタ34は、復号成功フラグのレベルがHレベルである場合、訂正したビット数をビットエラー数の測定期間内で累算する。一方、復号成功フラグのレベルがLレベルである場合、ビットエラーカウンタ34は、固定エラービット数をビットエラー数の測定期間内で累算する。ビットエラーカウンタ34は、ビットエラー数の測定期間ごとに、累算されたビット数をビットエラー数として外部に出力する。
 [尤度変換部の構成例]
 図4は、図3の尤度変換部12の構成例を示すブロック図である。
 図4の尤度変換部12は、セレクタ51乃至54により構成される。
 尤度変換部12のセレクタ51は、図3の制御部31から供給される符号化ビット#1に基づいて、外部から入力される最も1らしい尤度または最も0らしい尤度を選択する。具体的には、セレクタ51は、符号化ビット#1が1である場合、最も1らしい尤度を選択し、符号化ビット#1が0である場合、最も0らしい尤度を選択する。セレクタ51は、選択された尤度をセレクタ52に供給する。
 セレクタ52は、制御部31から供給される信頼情報#1に基づいて、セレクタ51から供給される尤度または制御部31から供給される尤度を選択する。具体的には、セレクタ52は、信頼情報#1のレベルがHレベルである場合、セレクタ51から供給される尤度を選択し、信頼情報#1のレベルがLレベルである場合、制御部31から供給される尤度を選択する。セレクタ52は、選択された尤度を変換後の尤度として図3のビタビ復号部13に供給する。
 セレクタ53は、制御部31から供給される符号化ビット#2に基づいて、セレクタ51と同様に、外部から入力される最も1らしい尤度または最も0らしい尤度を選択する。セレクタ53は、選択された尤度をセレクタ54に供給する。
 セレクタ54は、制御部31から供給される信頼情報#2に基づいて、セレクタ52と同様に、セレクタ53から供給される尤度または制御部31から供給される尤度を選択する。セレクタ54は、選択された尤度を変換後の尤度としてビタビ復号部13に供給する。
 [畳み込み符号化部の構成例]
 図5は、図3の畳み込み符号化部33の構成例を示すブロック図である。
 図5の畳み込み符号化部33は、符号化部71と信頼情報生成部72により構成される。
 符号化部71は、バイトビット変換部91、遅延部92乃至97、EXOR部98、およびEXOR部99により構成される。
 符号化部71のバイトビット変換部91は、図3の同期バイト処理部32から供給されるバイト単位の復号データをビット単位に変換し、ビット単位の復号データを遅延部92、EXOR部98、およびEXOR部99に供給する。
 遅延部92は、バイトビット変換部91からビット単位の復号データが入力されると、保持している復号データを遅延部93とEXOR部98に供給し、入力された復号データを保持する。遅延部93は、遅延部92からビット単位の復号データが入力されると、保持している復号データを遅延部94、EXOR部98、およびEXOR部99に供給し、入力された復号データを保持する。
 遅延部94は、遅延部93からビット単位の復号データが入力されると、保持している復号データを遅延部95、EXOR部98、およびEXOR部99に供給し、入力された復号データを保持する。遅延部95は、遅延部94からビット単位の復号データが入力されると、保持している復号データを遅延部96に供給し、入力された復号データを保持する。
 遅延部96は、遅延部95からビット単位の復号データが入力されると、保持している復号データを遅延部97とEXOR部99に供給し、入力された復号データを保持する。遅延部97は、遅延部96からビット単位の復号データが入力されると、保持している復号データをEXOR部98とEXOR部99に供給し、入力された復号データを保持する。
 EXOR部98は、バイトビット変換部91、遅延部92乃至94、および遅延部97から供給されるビット単位の復号データの排他的論理和を演算し、その演算結果を符号化ビット#1として図3の制御部31に供給する。
 EXOR部99は、バイトビット変換部91、遅延部93、遅延部94、遅延部96、および遅延部97から供給されるビット単位の復号データの排他的論理和を演算し、その演算結果を符号化ビット#2として制御部31に供給する。
 信頼情報生成部72は、遅延部111乃至116、AND部117、およびAND部118により構成される。
 遅延部111は、同期バイト処理部32から復号成功フラグが入力されると、保持している復号成功フラグを遅延部112とAND部117に供給し、入力された復号成功フラグを保持する。遅延部112は、遅延部111から復号成功フラグが入力されると、保持している復号成功フラグを遅延部113、AND部117、およびAND部118に供給し、入力された復号成功フラグを保持する。
 遅延部113は、遅延部112から復号成功フラグが入力されると、保持している復号成功フラグを遅延部114、AND部117、およびAND部118に供給し、入力された復号成功フラグを保持する。遅延部114は、遅延部113から復号成功フラグが入力されると、保持している復号成功フラグを遅延部115に供給し、入力された復号成功フラグを保持する。
 遅延部115は、遅延部114から復号成功フラグが入力されると、保持している復号成功フラグを遅延部116とAND部118に供給し、入力された復号成功フラグを保持する。遅延部116は、遅延部115から復号成功フラグが入力されると、保持している復号成功フラグをAND部117とAND部118に供給し、入力された復号成功フラグを保持する。
 AND部117は、同期バイト処理部32から供給される復号成功フラグ、遅延部111乃至113から供給される復号成功フラグ、および遅延部116から供給される復号成功フラグの論理和を演算し、その演算結果を信頼情報#1として制御部31に供給する。
 AND部118は、同期バイト処理部32から供給される復号成功フラグ、並びに、遅延部112、遅延部113、遅延部115、および遅延部116から供給される復号成功フラグの論理和を演算し、その演算結果を信頼情報#2として制御部31に供給する。
 [図3の誤り訂正部の処理の説明]
 図6は、図3の誤り訂正部24の誤り訂正処理を説明するフローチャートである。この誤り訂正処理は、例えば、図2の復調部23から1パケット分の尤度が入力され、制御部31に格納されるごとに開始される。
 図6のステップS11において、図3の誤り訂正部24は、1パケット分の尤度の1回目の誤り訂正処理である第1誤り訂正処理を行う。この第1誤り訂正処理の詳細は、後述する図7を参照して説明する。
 ステップS12において、誤り訂正部24は、1パケット分の尤度の2回目の誤り訂正処理である第2誤り訂正処理を行う。この第2誤り訂正処理の詳細は、後述する図10を参照して説明する。第2誤り訂正処理後、誤り訂正処理は終了する。
 図7は、図6のステップS11の第1誤り訂正処理の詳細を説明するフローチャートである。
 図7のステップS31において、誤り訂正部24の制御部31は、内蔵するメモリに格納されている1パケット分の尤度を読み出し、尤度変換部12に供給する。ステップS32において、制御部31は、信頼情報のレベルをLレベルに設定し、尤度変換部12に供給する。
 ステップS33において、制御部31は、符号化ビットを所定値に設定し、尤度変換部12に供給する。ステップS34において、尤度変換部12は、制御部31から供給される信頼情報と符号化ビットに基づいて尤度を変換する尤度変換処理を行う。この尤度変換処理の詳細は、後述する図8を参照して説明する。
 ステップS35において、ビタビ復号部13は、尤度変換部12から供給される尤度をビタビ復号し、ビット単位の復号結果をバイトデインターリーバ14に供給する。ステップS36において、バイトデインターリーバ14は、ビタビ復号部13から供給されるビット単位の復号結果をバイト単位の復号結果に変換し、デインターリーブを行う。バイトデインターリーバ14は、デインターリーブ後のバイト単位の復号結果をRS復号部15に供給する。
 ステップS37において、RS復号部15は、バイトデインターリーバ14から供給されるデインターリーブ後のバイト単位の復号結果をRS復号し、その結果得られる復号データを出力するとともに同期バイト処理部32に供給する。また、RS復号部15は、RS復号の結果得られる復号成功フラグを同期バイト処理部32とビットエラーカウンタ34に供給し、RS復号の結果得られる訂正したビット数をビットエラーカウンタ34に供給する。
 ステップS38において、同期バイト処理部32は、RS復号部15から供給されるバイト単位の復号データの同期バイトを既知の値0x47に置換し、畳み込み符号化部33に供給する。ステップS39において、同期バイト処理部32は、RS復号部15から供給される復号成功フラグのうちの同期バイトの復号成功フラグのレベルをHレベルに置換し、畳み込み符号化部33に供給する。
 ステップS40において、畳み込み符号化部33は、同期バイト処理部32から供給されるバイト単位の復号データに基づいて、符号化ビットを生成することにより畳み込み符号化を行うとともに、復号成功フラグに基づいて信頼情報を生成する。そして、畳み込み符号化部33は、符号化ビットと信頼情報を制御部31に供給する。
 ステップS41において、ビットエラーカウンタ34は、RS復号部15からの復号成功フラグおよび訂正したビット数、並びに、外部から入力される固定エラービット数およびビットエラー数の測定期間に基づいて、エラービット数を累算するエラービット数累算処理を行う。このエラービット数累算処理の詳細は、後述する図9を参照して説明する。ステップS41の処理後、処理は、図6のステップS11に戻り、ステップS12に進む。
 図8は、図7のステップS34の尤度変換処理の詳細を説明するフローチャートである。図8では、尤度#1についての尤度変換処理を説明するが、尤度#2についての尤度変換処理も同様に行われる。
 図8のステップS61において、尤度変換部12のセレクタ51(図4)は、制御部31から供給される符号化ビット#1が1であるかどうかを判定する。ステップS61で符号化ビット#1が1であると判定された場合、ステップS62において、セレクタ51は、外部から入力される最も1らしい尤度を選択し、セレクタ52に出力する。そして、処理はステップS64に進む。
 一方、ステップS61で符号化ビット#1が1ではないと判定された場合、即ち符号化ビット#1が0である場合、ステップS63において、セレクタ51は、外部から入力される最も0らしい尤度を選択し、セレクタ52に出力する。そして、処理はステップS64に進む。
 ステップS64において、セレクタ52は、制御部31から供給される信頼情報#1のレベルがHレベルであるかどうかを判定する。ステップS64で信頼情報#1のレベルがHレベルであると判定された場合、ステップS65において、セレクタ52は、セレクタ51から供給される尤度を選択し、変換後の尤度#1として図3のビタビ復号部13に出力する。そして、処理は、図7のステップS34に戻り、ステップS35に進む。
 一方、ステップS64で信頼情報#1のレベルがHレベルではないと判定された場合、即ち信頼情報#1のレベルがLレベルである場合、処理はステップS66に進む。ステップS66において、セレクタ52は、制御部31から供給される尤度を選択し、変換後の尤度#1としてビタビ復号部13に出力する。そして、処理は、図7のステップS34に戻り、ステップS35に進む。
 図9は、図7のステップS41のエラービット数累算処理の詳細を説明するフローチャートである。
 図9のステップS81において、ビットエラーカウンタ34は、内蔵するタイマのカウント値が、ビットエラー数の測定期間に対応するカウント値Nであるかどうかを判定する。ステップS81でカウント値がカウント値Nではないと判定された場合、処理はステップS85に進む。
 一方、ステップS81でカウント値がカウント値Nであると判定された場合、ステップS82において、ビットエラーカウンタ34は、保持している、累算されたビット数をビットエラー数として外部に出力する。
 ステップS83において、ビットエラーカウンタ34は、保持しているビット数を0にする。ステップS84において、ビットエラーカウンタ34は、内蔵するタイマのカウント値を0にし、処理をステップS85に進める。
 ステップS85において、ビットエラーカウンタ34は、RS復号部15から供給される復号成功フラグのレベルが、Hレベルであるかどうかを判定する。ステップS85で復号成功フラグのレベルがHレベルであると判定された場合、処理はステップS86に進む。
 ステップS86において、ビットエラーカウンタ34は、保持しているビット数にRS復号部15から供給される訂正したビット数を加算することにより、ビット数を累算する。そして、処理は図7のステップS41に戻り、図6のステップS12に進む。
 一方、ステップS85で復号成功フラグのレベルが、Lレベルであると判定された場合、ステップS87において、ビットエラーカウンタ34は、保持しているビット数に固定エラービット数を加算することにより、ビット数を累算する。そして、処理は図7のステップS41に戻り、図6のステップS12に進む。
 図10は、図6のステップS12の第2誤り訂正処理の詳細を説明するフローチャートである。
 図10のステップS101において、制御部31は、内蔵するメモリに格納されている1パケット分の尤度を再度読み出し、尤度変換部12に供給する。なお、以降のステップS102乃至S104の処理は、信頼情報と符号化ビットごとに行われる。
 ステップS102において、制御部31は、畳み込み符号化部33から供給される信頼情報と符号化ビットが、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に対応するものであるかどうかを判定する。
 ステップS102で信頼情報と符号化ビットが、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に対応するものではないと判定された場合、処理はステップS103に進む。
 ステップS103において、制御部31は、信頼情報のレベルをLレベルに設定し、尤度変換部12に供給する。ステップS104において、制御部31は、符号化ビットを所定値に設定して尤度変換部12に供給し、処理をステップS105に進める。
 一方、ステップS102で信頼情報と符号化ビットが、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に対応するものであると判定された場合、制御部31は、その信頼情報と符号化ビットを尤度変換部12に供給する。そして、処理はステップS105に進む。
 ステップS105乃至S107の処理は、図7のステップS34乃至S36の処理と同様であるので、説明は省略する。
 ステップS108において、RS復号部15は、バイトデインターリーバ14から供給されるデインターリーブ後のバイト単位の復号結果をRS復号し、その結果得られる復号データを出力する。
 以上のように、図3の誤り訂正部24は、ゼロ遅延ブランチを通った復号結果に基づいて尤度を変換し、変換後の尤度を復号するように制御することにより、復号結果の信頼度を向上させる。従って、誤り訂正部24は、図1の誤り訂正装置10のように、バイトインターリーバ16を有する必要がなく、誤り訂正処理用のメモリを削減することができる。
 また、図3の誤り訂正部24は、バイトインターリーバ16を有する必要がないため、制御部31のメモリの容量も、制御部11に比べて大幅に削減することができる。
 即ち、図1の誤り訂正装置10では、バイトインターリーバ16により復号成功フラグおよび復号データが遅延されるので、尤度変換部12に入力される信頼情報および符号化ビットと、制御部11から出力される尤度が対応するためには、制御部11は、バイトインターリーバ16による遅延分の尤度を保持する必要がある。
 しかしながら、図3の誤り訂正部24は、バイトインターリーバ16を有しないため、バイトインターリーバ16による遅延が発生せず、制御部31は、その遅延分の尤度を保持する必要がない。よって、制御部31のメモリの容量は、数パケット分で済み、制御部31のメモリの容量を制御部11に比べて大幅に削減することができる。
 また、ビットエラーカウンタ34は、1回目の復号により得られる復号成功フラグおよび訂正したビット数に基づいてビットエラー数を累算する。従って、ビットエラー数に対応するBER(Bit Error Rate)が、規格で規定されている条件を満たさなくなることを防止することができる。
 即ち、例えば、DVB-T規格では、Nordingと呼ばれる受信装置が満たすべきテストスペックがある。具体的には、Nording test spec v2.2.1 Task3:18として、ビタビ復号後のBERが2×10-4となるCNR(Carrier to Noise Ratio)から1dB減算したCNRで、ビタビ復号後のBERが2×10-3以下となることという条件がある。しかしながら、最後の復号により得られる復号成功フラグおよび訂正したビット数に基づいてビットエラー数を累算すると、そのビットエラー数に対応するBERのカーブが急峻になり、その条件を満たさなくなることがある。従って、ビットエラーカウンタ34は、1回目の復号により得られる復号成功フラグおよび訂正したビット数に基づいてビットエラー数を累算することにより、BERが条件を満たさなくなることを防止する。
 さらに、同期バイト処理部32は、RS復号部15から出力されるバイト単位の復号データの同期バイトの値を既知の値に置換し、同期バイトの復号成功フラグのレベルをHレベルに置換する。従って、畳み込み符号化部33は、置換後の復号データと復号成功フラグに基づいて、より信頼性の高い信頼情報と符号化ビットを生成することができる。その結果、ビタビ復号時の正復号確率を向上させることができる。
 [誤り訂正部の第2の構成例]
 図11は、図2の誤り訂正部24の第2の構成例を示すブロック図である。
 図11に示す構成のうち、図3の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
 図11の誤り訂正部24の構成は、主に、制御部31、ビタビ復号部13、畳み込み符号化部33の代わりに、制御部131、ビタビ復号部132、ステート生成部133が設けられている点、および、尤度変換部12が設けられない点が図3の構成と異なる。図3の誤り訂正部24は、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に基づいてビタビ復号における終結処理を行う。
 具体的には、制御部131は、図3の制御部31と同様に、メモリを内蔵しており、図2の復調部23から供給される尤度を一旦格納する。そして、制御部131は、制御部31と同様に尤度の1回目の読み出しを行い、ビタビ復号部132に供給する。このとき、制御部131は、ステートとしての所定値と、Lレベルのステートの信頼情報をビタビ復号部132に供給する。
 また、制御部131は、ステート生成部133からステートの信頼情報とステートが出力されると、所定の単位の尤度の2回目の読み出しを行い、ビタビ復号部132に供給する。このとき、制御部131は、ステート生成部133から供給されるステートの信頼情報とステートが、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に対応するものである場合、そのステートの信頼情報とステートをビタビ復号部132に供給する。
 一方、ステート生成部133から供給されるステートの信頼情報とステートが、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に対応するものではない場合、制御部131は、ステートとしての所定値と、Lレベルのステートの信頼情報をビタビ復号部132に供給する。
 ビタビ復号部132は、制御部131から供給されるステートとステートの信頼情報に基づいて、制御部131から供給される尤度をビタビ復号する。
 ここで、ビタビ復号について説明する。ビタビ復号では、まず最初に、現時刻のステートと1時刻前のステートごとに、尤度から計算されるトレリス上のブランチのブランチメトリックと、1時刻前のステートのステートメトリックとから、現時刻のステートのステートメトリックが計算される。そして、1時刻前のステートのステートメトリックとブランチメトリックの和が最小となるときの1時刻前のステートと現時刻のステート間のパス(ブランチ)が生き残りパスとされる。そして、ある時刻から生き残りパスをたどる、Tracebackと呼ばれる処理が行われることで、パス(ブランチ)に割り当てられているビット列(符号ビットまたは情報ビット)が復号結果とされる。ビタビ復号では、例えば、即座に復号処理が開始されるのではなく、一定期間トレーニングすることで最適なパス(最尤パス)に合流させてから復号処理が開始される。
 ビタビ復号部132は、上述したように、このようなビタビ復号を、制御部131から供給されるステートとステートの信頼情報に基づいて行う。具体的には、ビタビ復号部132は、ステートの信頼情報のレベルがHレベルである場合、ビタビ復号において、制御部131から供給されるステートのステートメトリックを最小値に貼り付け、他のステートのステートメトリックを最大値に貼り付ける終結処理を行う。そして、ビタビ復号部132は、尤度と終結処理後のステートメトリックに基づいて生き残りパスを決定し、制御部131から供給されるステートをTracebackの開始ステートとしてTracebackを行うことにより、ビット単位の復号結果を得る。
 このように、ビタビ復号部132は、ステートの信頼情報のレベルがHレベルである場合、Tracebackの開始ステートを、制御部131から供給されるステートとするので、ステートメトリックの比較を行う回路を設けることなく、最小ステートメトリックを有するステートからTracebackを開始することができる。最小ステートメトリックを有するステートからTracebackが開始されることにより、Tracebackの開始時点からステートが最適なパス上に存在する可能性が高くなる。
 一方、ステートの信頼情報のレベルがLレベルである場合、ビタビ復号部132は、尤度に対して通常のビタビ復号を行い、ビット単位の復号結果を得る。ビタビ復号部132は、ビット単位の復号結果をバイトデインターリーバ14に供給する。
 ステート生成部133は、同期バイト処理部32から供給されるバイト単位の復号データと復号成功フラグに基づいて、ステートとステートの信頼情報を生成する。そして、ステート生成部133は、ステートとステートの信頼情報を制御部131に供給する。
 ここで、上述したように、ビタビ復号部132には、ゼロ遅延ブランチを通った復号結果に対応するステートとステートの信頼情報がそのまま供給される。即ち、ステート生成部133により、ゼロ遅延ブランチを通った復号結果に対応するバイト単位の復号データと復号成功フラグに基づいて決定されたステートとステートの信頼情報は、そのままビタビ復号部132に供給される。これにより、ビタビ復号部132は、ステートの信頼情報のレベルがHレベルである場合、そのステートの終結処理を行い、復号結果の信頼度を向上させる。
 従って、ステート生成部133は、ゼロ遅延ブランチを通った復号結果に対応する復号データと復号成功フラグに基づいて、ステートとステートの信頼情報を決定し、制御部131に供給して、信頼情報のレベルがHレベルであるステートの終結処理をビタビ復号部132に行わせることにより、復号結果の信頼度が向上するようにビタビ復号部132を制御するといえる。
 一方、上述したように、ビタビ復号部132には、ゼロ遅延ブランチ以外を通った復号結果に対応する信頼情報として、Lレベルの信頼情報が供給される。これにより、ビタビ復号部132は、終結処理を行わない。従って、ステート生成部133は、ビタビ復号部132の制御に、ゼロ遅延ブランチ以外を通った復号結果に対応するステートとステートの信頼情報を用いないといえる。
 [ステート生成部の構成例]
 図12は、図11のステート生成部133の構成例を示すブロック図である。
 図12のステート生成部133は、符号化部151と信頼情報生成部152により構成される。
 ステート生成部133の符号化部151は、バイトビット変換部171および遅延部172乃至176により構成される。
 バイトビット変換部171は、図11の同期バイト処理部32から供給されるバイト単位の復号データをビット単位の復号データに変換し、1ビット分のステートとして制御部131に供給するとともに、遅延部172に供給する。
 遅延部172乃至遅延部176は、順に直列接続されている。遅延部172は、バイトビット変換部171からビット単位の復号データが入力されると、保持している復号データを1ビット分のステートとして制御部131に供給するとともに、遅延部173に供給する。そして、遅延部172は、入力されたビット単位の復号データを保持する。
 遅延部173乃至176は、遅延部172と同様に、前段の遅延部からビット単位の復号データが入力されると、保持している復号データを1ビット分のステートとして制御部131に供給するとともに、後段の遅延部に供給する。そして、遅延部173乃至176は、遅延部172と同様に、入力されたビット単位の復号データを保持する。
 以上により、符号化部151は、6ビットの復号データをステートとして制御部131に供給する。
 信頼情報生成部152は、遅延部181乃至185とAND部186により構成される。
 遅延部181乃至185は、順に直列接続されている。遅延部181は、図11の同期バイト処理部32から復号成功フラグが入力されると、保持している復号成功フラグをAND部186と遅延部182に供給する。そして、遅延部181は、入力された復号成功フラグを保持する。
 遅延部182乃至185は、遅延部181と同様に、前段の遅延部から復号成功フラグが入力されると、保持している復号成功フラグをAND部186と後段の遅延部に供給する。そして、遅延部182乃至185は、遅延部181と同様に、入力された復号成功フラグを保持する。
 AND部186は、同期バイト処理部32および遅延部181乃至185から供給される復号成功フラグの論理和を演算し、その結果得られる論理和をステートの信頼情報として制御部131に供給する。
 [図11の誤り訂正部の処理の説明]
 図11の誤り訂正部24の誤り訂正処理では、図6の誤り訂正処理と同様に、第1誤り訂正処理、第2誤り訂正処理が順に行われる。
 図13は、図11の誤り訂正部24の第1誤り訂正処理の詳細を説明するフローチャートである。
 図13のステップS121において、誤り訂正部24の制御部131は、内蔵するメモリに格納されている1パケット分の尤度を読み出し、ビタビ復号部132に供給する。ステップS122において、制御部131は、ステートの信頼情報のレベルをLレベルに設定し、ビタビ復号部132に供給する。
 ステップS123において、制御部131は、ステートを所定値に設定し、ビタビ復号部132に供給する。ステップS124において、ビタビ復号部132は、制御部131から供給されるステートとステートの信頼情報に基づいて尤度をビタビ復号するビタビ復号処理を行う。このビタビ復号処理の詳細は、後述する図14を参照して説明する。
 ステップS125乃至S128の処理は、図7のステップS36乃至S39の処理と同様であるので、説明は省略する。
 ステップS129において、ステート生成部133は、同期バイト処理部32から供給されるバイト単位の復号データと復号成功フラグに基づいて、ステートとステートの信頼情報を生成する。そして、ステート生成部133は、ステートとステートの信頼情報を制御部131に供給する。
 ステップS130において、ビットエラーカウンタ34は、図9のエラービット数累算処理を行い、第1誤り訂正処理を終了する。
 図14は、図13のステップS124のビタビ復号処理の詳細を説明するフローチャートである。
 図14のステップS151において、ビタビ復号部132は、制御部131から供給されるステートの信頼情報のレベルがHレベルであるかどうかを判定する。ステップS151で信頼情報のレベルがHレベルであると判定された場合、ステップS152において、ビタビ復号部132は、制御部131から供給されるステートの終結処理を行う。
 ステップS153において、ビタビ復号部132は、制御部131から供給される尤度に基づいて、現時刻のステートと1時刻前のステートごとに、ブランチメトリックを計算する。ステップS154において、ビタビ復号部132は、計算されたブランチメトリックと終結処理後のステートメトリックに基づいて生き残りパスを決定する。
 ステップS155において、ビタビ復号部132は、制御部131から入力されるステートをTracebackの開始ステートとしてTracebackを行う。ビタビ復号部132は、その結果得られるビット単位の復号結果をバイトデインターリーバ14に供給する。ステップS155の処理後、処理は図13のステップS124に戻り、ステップS125に進む。
 一方、ステップS151で信頼情報のレベルがHレベルではないと判定された場合、即ち信頼情報のレベルがLレベルである場合、処理はステップS156に進む。ステップS156において、ビタビ復号部132は、現時刻のステートと1時刻前のステートごとに、尤度に基づいてブランチメトリックを計算し、ブランチメトリックと1時刻前のステートメトリックとから現時刻のステートメトリックを計算する。
 ステップS157において、ビタビ復号部132は、1時刻前のステートのステートメトリックとブランチメトリックの和が最小となるときの1時刻前のステートと現時刻のステート間のパスを生き残りパスとして決定する。
 ステップS158において、ビタビ復号部132は、所定のステートを開始ステートとしてTracebackを行う。ビタビ復号部132は、その結果得られるビット単位の復号結果をバイトデインターリーバ14に供給する。ステップS158の処理後、処理は図13のステップS124に戻り、ステップS125に進む。
 図15は、図11の誤り訂正部24の第2誤り訂正処理の詳細を説明するフローチャートである。
 図15のステップS171において、制御部131は、内蔵するメモリに格納されている1パケット分の尤度を再度読み出し、ビタビ復号部132に供給する。なお、以降のステップS172乃至S174の処理は、ステートの信頼情報とステートごとに行われる。
 ステップS172において、制御部131は、ステート生成部133から供給されるステートの信頼情報とステートが、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に対応するものであるかどうかを判定する。
 ステップS172でステートの信頼情報とステートが、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に対応するものではないと判定された場合、処理はステップS173に進む。
 ステップS173において、制御部131は、ステートの信頼情報のレベルをLレベルに設定し、ビタビ復号部132に供給する。ステップS174において、制御部131は、ステートを所定値に設定してビタビ復号部132に供給し、処理をステップS175に進める。
 一方、ステップS172でステートの信頼情報とステートが、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に対応するものであると判定された場合、制御部131は、そのステートの信頼情報とステートをビタビ復号部132に供給する。そして、処理はステップS175に進む。
 ステップS175乃至S177の処理は、図13のステップS124乃至S126の処理と同様であるので、説明は省略する。ステップS177の処理後、第2誤り訂正処理は終了する。
 以上のように、図11の誤り訂正部24は、ゼロ遅延ブランチを通った復号結果に基づいて信頼情報のレベルがHレベルであるステートを決定し、そのステートの終結処理をビタビ復号部132に行わせる。これにより、図3の誤り訂正部24に比べて復号結果の信頼度を向上させることができる。また、図3の誤り訂正部24と同様に、バイトインターリーバ16を有する必要がなく、制御部131のメモリの容量も大幅に削減することができる。
 [誤り訂正部の第3の構成例]
 図16は、図2の誤り訂正部24の第3の構成例を示すブロック図である。
 図16に示す構成のうち、図3や図11の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。図16の誤り訂正部24は、全ての復号結果に基づいてビタビ復号における終結処理を行う。
 具体的には、誤り訂正部24の遅延部201、ビタビ復号部202、バイトデインターリーバ203、およびRS復号部204は、第2誤り訂正処理を行う。
 より詳細には、遅延部201は、図2の復調部23から供給される尤度を所定の単位(例えば、パケット単位)で保持することにより、遅延させる。具体的には、遅延部201は、ステート生成部133からビタビ復号部202にステートとステートの信頼情報が供給されたとき、そのステートと信頼情報に対応する尤度をビタビ復号部202に出力するように、尤度を遅延させる。遅延部201は、遅延後の所定の単位の尤度をビタビ復号部202に供給する。
 ビタビ復号部202は、ステート生成部133から供給される第1誤り訂正処理の結果得られるステートおよびステートの信頼情報に基づいて、図11のビタビ復号部132と同様に、遅延部201から供給される尤度をビタビ復号する。ビタビ復号部202は、その結果得られるビット単位の復号結果をバイトデインターリーバ203に供給する。
 バイトデインターリーバ203は、バイトデインターリーバ14と同様に構成される。バイトデインターリーバ203は、バイトデインターリーバ14と同様に、ビタビ復号部202から供給されるビット単位の復号結果をバイト単位の復号結果に変換し、変換の結果得られるバイト単位の復号結果に対してデインターリーブを行う。バイトデインターリーバ203は、デインターリーブ後のバイト単位の復号結果をRS復号部204に供給する。
 RS復号部204は、RS復号部15と同様に、バイトデインターリーバ203から供給されるバイト単位の復号結果をRS復号する。RS復号部15は、その結果得られる復号データを図2のデコーダ25に供給する。
 ビタビ復号部13には、図2の復調部23から供給される尤度が入力され、ビタビ復号部13、バイトデインターリーバ14、RS復号部15、同期バイト処理部32、バイトインターリーバ205、およびステート生成部133により第1誤り訂正処理が行われる。
 具体的には、図2の復調部23から尤度が入力されると、ビタビ復号部13、バイトデインターリーバ14、RS復号部15、同期バイト処理部32を介して、バイト単位の復号データと復号成功フラグがバイトインターリーバ205に出力される。
 バイトインターリーバ205は、バイトインターリーバ16と同様に構成され、同期バイト処理部32から供給される復号成功フラグを復号データと関連づけ、復号成功フラグと復号データをバイト単位でインターリーブする。バイトインターリーバ16は、インターリーブ後のバイト単位の復号データと復号成功フラグをステート生成部133に供給する。ステート生成部133に供給されるバイト単位の復号データと復号成功フラグは、ステートとステートの信頼情報の生成に用いられ、生成されたステートとステートの信頼情報はビタビ復号部202に供給される。
 また、RS復号部15から出力される第1誤り訂正処理におけるバイト単位の復号データと復号成功フラグは、ビットエラーカウンタ34に供給され、ビットエラー数の計算に用いられる。計算されたビットエラー数は出力される。
 [図16の誤り訂正部の処理の説明]
 図16の誤り訂正部24の誤り訂正処理では、図6の誤り訂正処理と同様に、第1誤り訂正処理、第2誤り訂正処理が順に行われる。
 図17は、図16の誤り訂正部24の第1誤り訂正処理の詳細を説明するフローチャートである。
 図17のステップS191において、遅延部201は、図2の復調部23から供給される1パケット分の尤度を保持することにより、遅延させる。ステップS192において、ビタビ復号部13は、復調部23から供給される尤度をビタビ復号し、ビット単位の復号結果をバイトデインターリーバ14に供給する。ステップS193乃至S196の処理は、図13のステップS125乃至S128の処理と同様であるので、説明は省略する。
 ステップS197において、バイトインターリーバ205は、同期バイト処理部32から供給される復号成功フラグを復号データと関連づけ、復号データと復号成功フラグをバイト単位でインターリーブする。バイトインターリーバ16は、インターリーブ後のバイト単位の復号データと復号成功フラグをステート生成部133に供給する。
 ステップS198およびS199の処理は、図13のステップS129とS130の処理と同様であるので、説明は省略する。
 図18は、図16の誤り訂正部24の第2誤り訂正処理の詳細を説明するフローチャートである。
 図18のステップS221において、遅延部201は、保持している1パケット分の尤度を遅延後の尤度として読み出し、ビタビ復号部202に供給する。
 ステップS222乃至S224の処理は、図15のステップS175乃至S177の処理と同様であるので、説明は省略する。
 以上のように、図16の誤り訂正部24は、復号データと復号成功フラグをインターリーブするので、ゼロ遅延ブランチ以外のブランチを通った復号結果にも基づいて、終結処理対象とするステートを決定することができる。これにより、終結処理の回数が増加し、その結果、復号結果の信頼度がより向上する。
 [誤り訂正部の第4の構成例]
 図19は、図2の誤り訂正部24の第4の構成例を示すブロック図である。
 図19に示す構成のうち、図3、図11、および図16の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。図19の誤り訂正部24は、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に基づいてビタビ復号における終結処理を行い、その結果得られる全ての復号結果に基づいて、さらに、ビタビ復号における終結処理を行う。即ち、図19の誤り訂正部24は、図11の誤り訂正部24と図16の誤り訂正部24を組み合わせたものである。
 具体的には、誤り訂正部24の制御部131、ビタビ復号部132、バイトデインターリーバ14、RS復号部15、同期バイト処理部32、ステート生成部133、およびビットエラーカウンタ34は、図11の誤り訂正部24と同様に、図2の復調部23から供給される尤度に対して誤り訂正処理を行う。
 誤り訂正処理の結果RS復号部15から出力される復号データと復号成功フラグは、同期バイト処理部32に再度供給され、置換された後、バイトインターリーバ205に供給される。
 バイトインターリーバ205は、図1のバイトインターリーバ16と同様に構成され、バイトインターリーバ205に供給された復号成功フラグを、復号データと関連づけ、バイト単位でインターリーブする。インターリーブ後の復号データはセレクタ223に供給され、復号成功フラグは制御部222とセレクタ224に供給される。
 遅延部201、制御部222、ビタビ復号部202、バイトデインターリーバ203、RS復号部204、セレクタ223、セレクタ224、同期バイト処理部225、およびステート生成部226は、前段で行われた図11の誤り訂正部24と同様の誤り訂正処理の結果得られる復号データと復号成功フラグに基づいて最初の復号を制御する点を除いて、図16の誤り訂正部24の誤り訂正処理と同様の誤り訂正処理を行う。
 具体的には、制御部222は、遅延部201から供給される尤度をビタビ復号部202に出力する。また、制御部222は、バイトインターリーバ205から供給される復号成功フラグに応じて、バイトインターリーバ205からの入力を選択することを表すセレクト信号をセレクタ223と224に供給する。さらに、制御部222は、バイトインターリーバ205から供給される復号成功フラグを保持する。
 また、制御部222は、メモリを内蔵しており、遅延部201から供給される尤度を一旦格納する。そして、制御部222は、RS復号部204から復号成功フラグが入力されたとき、ステート生成部226からビタビ復号部202に供給されるステートに対応する、格納されている尤度を読み出し、再度ビタビ復号部202に出力するとともに、復号成功フラグを読み出す。
 制御部222は、読み出された復号成功フラグに基づいて、バイトインターリーバ205またはRS復号部204からの入力を選択することを表すセレクト信号をセレクタ223と224に供給する。
 セレクタ223は、制御部222から供給されるセレクト信号に基づいて、バイトインターリーバ205から供給される復号データ、または、RS復号部204から供給される復号データを同期バイト処理部225に供給する。
 セレクタ224は、制御部222から供給されるセレクト信号に基づいて、バイトインターリーバ205から供給される復号成功フラグ、または、RS復号部204から供給される復号成功フラグを同期バイト処理部225に供給する。
 同期バイト処理部225は、同期バイト処理部32と同様に、セレクタ223から供給されるバイト単位の復号データの同期バイトの値を既知の値に置換する。また、同期バイト処理部225は、同期バイト処理部32と同様に、セレクタ224から供給される復号成功フラグのうちの同期バイトの復号成功フラグのレベルをHレベルに置換する。同期バイト処理部225は、置換後のバイト単位の復号データと復号成功フラグをステート生成部226に供給する。
 ステート生成部226は、ステート生成部133と同様に、同期バイト処理部225から供給されるバイト単位の復号データと復号成功フラグに基づいて、ステートとステートの信頼情報を生成する。そして、ステート生成部226は、ステートとステートの信頼情報をビタビ復号部202に供給する。
 以上のように、図19の誤り訂正部24は、制御部131、ビタビ復号部132、バイトデインターリーバ14、RS復号部15、同期バイト処理部32、およびステート生成部133からなる第1の誤り訂正処理部と、制御部222、ビタビ復号部202、バイトデインターリーバ203、RS復号部204、同期バイト処理部225、およびステート生成部226からなる第2の誤り訂正処理部が、バイトインターリーバ205等を介して直列に接続されることにより、構成される。
 そして、後段の第2の誤り訂正処理部のステート生成部226は、前段の第1の誤り訂正処理部により2回目の復号の結果得られ、バイトインターリーバ205によりインターリーブされた復号データと復号成功フラグを用いて、最初の復号結果の信頼度が向上するように、ビタビ復号部202を制御する。
 [図19の誤り訂正部の処理の説明]
 図20は、図19の誤り訂正部24の誤り訂正処理を説明するフローチャートである。この誤り訂正処理は、例えば、図2の復調部23から1パケット分の尤度が入力され、制御部131に格納されるごとに開始される。
 図20のステップS240において、図19の誤り訂正部24は、図13の第1誤り訂正処理を行う。ステップS241において、誤り訂正部24は、図15の第2誤り訂正処理を行う。
 ステップS242において、同期バイト処理部32は、第2誤り訂正処理においてRS復号部15によるRS復号の結果得られるバイト単位の復号データを、RS復号部15から取得し、同期バイトの値を既知の値に置換する。そして、同期バイト処理部32は、置換後の復号データをバイトインターリーバ205に供給する。
 ステップS243において、同期バイト処理部32は、第2誤り訂正処理においてRS復号部15によるRS復号の結果得られる復号成功フラグを、RS復号部15から取得し、同期バイトの復号成功フラグのレベルをHレベルに置換する。そして、同期バイト処理部32は、置換後の復号成功フラグをバイトインターリーバ205に供給する。
 ステップS244において、バイトインターリーバ205は、同期バイト処理部32から供給される復号成功フラグを復号データと関連づけ、復号データと復号成功フラグをバイト単位でインターリーブする。
 バイトインターリーバ205は、インターリーブ後のバイト単位の復号データをセレクタ223に供給し、復号成功フラグを制御部222とセレクタ224に供給する。制御部222は、バイトインターリーバ205からの復号成功フラグを保持する。
 ステップS245において、制御部222は、バイトインターリーバ205からの入力を選択することを表すセレクト信号を生成し、セレクタ223と224に供給する。ステップS246において、誤り訂正部24は、1パケット分の尤度の3回目の誤り訂正処理である第3誤り訂正処理を行う。この第3誤り訂正処理の詳細は、後述する図21を参照して説明する。
 ステップS247において、制御部222は、保持しているバイトインターリーバ205からの復号成功フラグを読み出し、その復号成功フラグのレベルがHレベルであるかどうかを判定する。
 ステップS247でバイトインターリーバ205からの復号成功フラグのレベルがHレベルであると判定された場合、ステップS248において、制御部222は、バイトインターリーバ205からの入力を選択することを表すセレクト信号を生成する。そして、制御部222は、そのセレクト信号をセレクタ223と224に供給し、処理をステップS250に進める。
 一方、ステップS247でバイトインターリーバ205からの復号成功フラグのレベルがHレベルではないと判定された場合、即ち、復号成功フラグのレベルがLレベルである場合、処理はステップS249に進む。
 ステップS249において、制御部222は、RS復号部204からの入力を選択することを表すセレクト信号を生成する。そして、制御部222は、そのセレクト信号をセレクタ223と224に供給し、処理をステップS250に進める。
 ステップS250において、誤り訂正部24は、1パケット分の尤度の4回目の誤り訂正処理である第4誤り訂正処理を行う。この第4誤り訂正処理は、制御部222が遅延部201から供給される尤度をビタビ復号部202に出力するのではなく、内蔵するメモリに保持している尤度を読み出してビタビ復号部202に出力することを除いてステップS246の第3誤り訂正処理と同様である。従って、詳細な説明は省略する。ステップS250の処理後、誤り訂正処理は終了する。
 図21は、図20のステップS246の第3誤り訂正処理の詳細を説明するフローチャートである。
 図21のステップS260において、同期バイト処理部225は、セレクタ223から供給されるバイト単位の復号データの同期バイトの値を既知の値に置換し、ステート生成部226に供給する。ステップS261において、同期バイト処理部225は、セレクタ224から供給される復号成功フラグのうちの同期バイトの復号成功フラグのレベルをHレベルに置換し、ステート生成部226に供給する。
 ステップS262において、ステート生成部226は、同期バイト処理部225から供給されるバイト単位の復号データと復号成功フラグに基づいて、ステートとステートの信頼情報を生成する。そして、ステート生成部226は、ステートとステートの信頼情報をビタビ復号部202に供給する。
 ステップS263において、制御部222は、制御部131からの1回目の読み出しにより読み出され、遅延部201で遅延された1パケット分の尤度を取得し、ビタビ復号部202に出力する。ステップS264乃至S266の処理は、図18のステップS222乃至S224の処理と同様であるので、説明は省略する。
 以上のように、図19の誤り訂正部24は、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に基づいてビタビ復号における終結処理を行い、その結果得られる全ての復号結果に基づいて、さらに、ビタビ復号における終結処理を行う。従って、図16の誤り訂正部24に比べて、より復号結果の信頼度を向上させることができる。また、図19の誤り訂正部24は、図16の誤り訂正部24に対して回路規模があまり増加していない。よって、図19の誤り訂正部24は、図16の誤り訂正部24に比べて回路規模をあまり増加させずに、復号結果の信頼度を向上させることができる。
 また、図19の誤り訂正部24では、ゼロ遅延ブランチを通った復号結果だけに基づいて最初の終結処理を行うため、バイトインターリーバ205は、1つだけ備えればよい。
 [誤り訂正部の第5の構成例]
 図22は、図2の誤り訂正部24の第5の構成例を示すブロック図である。
 図22に示す構成のうち、図19の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
 図22の誤り訂正部24の構成は、主に、制御部131、ビタビ復号部132、バイトデインターリーバ14、RS復号部15、同期バイト処理部32の代わりに、制御部241、ビタビ復号部242、バイトデインターリーバ243、RS復号部244、同期バイト処理部245が設けられ、階層分離部246と階層合成部247が新たに設けられる点が図19の構成と異なる。
 図22の誤り訂正部24は、尤度に対応する変調方式の階層に応じて、第3および第4誤り訂正処理を行う。ISDB-T規格では、変調方式の階層は、A乃至C階層の3階層である。
 誤り訂正部24の制御部241は、制御部131と同様に、メモリを内蔵しており、図2の復調部23から供給される尤度と、外部から入力される変調方式の階層の種類を表す階層情報を一旦格納する。そして、制御部241は、内蔵するメモリに所定の単位(例えば、パケット単位)の尤度を格納すると、尤度の1回目の読み出しを行い、読み出された尤度をビタビ復号部242に供給する。
 このとき、制御部241は、制御部131と同様に、ステートとしての所定値と、Lレベルのステートの信頼情報をビタビ復号部242に供給する。また、制御部241は、階層情報を読み出し、その階層情報と、外部から入力される各階層のセグメント数を表すセグメント情報とに基づいて、読み出された尤度のうちの所定の階層の尤度を遅延部201に供給する。
 また、制御部241は、ステート生成部133からステートの信頼情報とステートが出力されると、所定の単位の尤度と階層情報の2回目の読み出しを行い、ビタビ復号部242に供給する。このとき、制御部241は、制御部131と同様に、ステート生成部133から供給されるステートの信頼情報とステートが、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に対応するものである場合、そのステートの信頼情報とステートをビタビ復号部242に供給する。
 一方、ステート生成部133から供給されるステートの信頼情報とステートが、バイトデインターリーバ14においてゼロ遅延ブランチを通った復号結果に対応するものではない場合、制御部241は、制御部131と同様に、ステートとしての所定値と、Lレベルのステートの信頼情報をビタビ復号部242に供給する。
 ビタビ復号部242、バイトデインターリーバ243、RS復号部244、および同期バイト処理部245は、それぞれ、階層情報が入力され、その階層情報を後段に出力する点を除いて、ビタビ復号部132、バイトデインターリーバ14、RS復号部15、同期バイト処理部32と同一である。
 階層分離部246は、外部からのセグメント情報と同期バイト処理部245からの階層情報とに基づいて、同期バイト処理部245から供給されるバイト単位の復号データと復号成功フラグのうちの、所定の階層の復号データと復号成功フラグをバイトインターリーバ205に供給する。また、階層分離部246は、所定の階層以外の階層の復号データを階層合成部247に供給する。
 階層合成部247は、外部からのセグメント情報に基づいて、階層分離部246から供給されるバイト単位の復号データと、RS復号部204から供給されるバイト単位の復号データを、誤り訂正部24に入力された階層順に出力する。誤り訂正部24に入力された階層順に復号データを出力する方法としては、例えば、階層分離部246が、同期バイト処理部245から供給される順に、復号データに番号を付与し、階層合成部247が、その番号の順に復号データを出力する方法がある。
 [図22の誤り訂正部の処理の説明]
 図23は、図22の誤り訂正部24の誤り訂正処理を説明するフローチャートである。この誤り訂正処理は、例えば、図2の復調部23から1パケット分の尤度が入力されるとともに外部から階層情報が入力され、制御部241に1パケット分の尤度が格納されるごとに開始される。
 図23のステップS280において、制御部241は、格納されている1パケット分の尤度と階層情報を読み出し、その尤度および階層情報、並びに、外部から入力されるセグメント情報に基づいて、1パケット分の所定の階層の尤度を遅延部201に出力する。
 例えば、全セグメントの階層がA階層である場合、即ちセグメント情報が表すA階層のセグメント数が全セグメント数であり、B階層およびC階層のセグメント数が0である場合、制御部241は、1パケット分のA階層の尤度を遅延部201に供給する。一方、A階層のセグメント数が1であり、B階層のセグメント数が12セグメントである場合、制御部241は、1パケット分のB階層の尤度のみを遅延部201に供給する。また、各セグメントの階層が上述した場合以外である場合、制御部241は、遅延部201に何も供給しない。
 ステップS281において、遅延部201は、制御部241から供給される1パケット分の所定の階層の尤度を保持することにより、遅延させる。遅延部201は、遅延後の尤度を制御部222に供給する。
 ステップS282において、誤り訂正部24は、図13の第1誤り訂正処理を行う。ステップS283において、第2誤り訂正処理を行う。この第2誤り訂正処理は、階層情報がビタビ復号部242、バイトデインターリーバ243、およびRS復号部244を介して同期バイト処理部245に供給される点を除いて、図15の第2誤り訂正処理と同様である。
 ステップS284において、同期バイト処理部245は、第2誤り訂正処理においてRS復号部244によるRS復号の結果得られるバイト単位の復号データを、RS復号部244から取得し、同期バイトの値を既知の値に置換する。そして、同期バイト処理部245は、置換後の復号データを階層分離部246に供給する。
 ステップS285において、同期バイト処理部245は、第2誤り訂正処理においてRS復号部244によるRS復号の結果得られる復号成功フラグを、RS復号部244から取得し、同期バイトの復号成功フラグのレベルをHレベルに置換する。そして、同期バイト処理部245は、置換後の復号成功フラグを階層分離部246に供給する。また、同期バイト処理部245は、RS復号部244から供給される階層情報を階層分離部246に供給する。
 ステップS286において、階層分離部246は、外部からのセグメント情報と同期バイト処理部245からの階層情報とに基づいて、同期バイト処理部245から供給される所定の階層のバイト単位の復号データおよび復号成功フラグをバイトインターリーバ205に供給する。
 例えば、全セグメントの階層がA階層である場合、階層分離部246は、A階層のバイト単位の復号データと復号成功フラグをバイトインターリーバ205に供給する。一方、A階層のセグメント数が1であり、B階層のセグメント数が12セグメントである場合、階層分離部246は、B階層のバイト単位の復号データと復号成功フラグをバイトインターリーバ205に供給する。また、各セグメントの階層が上述した場合以外である場合、階層分離部246は、バイトインターリーバ205に何も供給しない。
 ステップS287において、階層分離部246は、所定の階層以外の階層のバイト単位の復号データを階層合成部247に供給する。
 例えば、全セグメントの階層がA階層である場合、階層分離部246は、何も階層合成部247に供給しない。一方、A階層のセグメント数が1であり、B階層のセグメント数が12セグメントである場合、階層分離部246は、A階層のバイト単位の復号データを階層合成部247に供給する。また、各セグメントの階層が上述した場合以外である場合、階層分離部246は、全ての階層の復号データを階層合成部247に供給する。
 ステップS288乃至S294の処理は、図20のステップS244乃至S250の処理と同様であるので、説明は省略する。
 ステップS295において、階層合成部247は、外部からのセグメント情報に基づいて、RS復号部204から供給される所定の階層のバイト単位の復号データと、階層分離部246から供給される所定の階層以外の階層のバイト単位の復号データを、誤り訂正部24に入力された階層順に出力する。そして、誤り訂正処理は終了する。
 以上のように、図22の誤り訂正部24は、所定の階層の信号についてのみ、2回の終結処理を行う。従って、バイトインターリーバ205には、所定の階層の復号データおよび復号成功フラグのみが保持され、制御部222には、所定の階層の尤度のみが保持されるので、誤り訂正処理用のメモリを削減することができる。
 [本技術を適用したコンピュータの説明]
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図24は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)301,ROM(Read Only Memory)302,RAM(Random Access Memory)303は、バス304により相互に接続されている。
 バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、及びドライブ310が接続されている。
 入力部306は、キーボード、マウス、マイクロフォンなどよりなる。出力部307は、ディスプレイ、スピーカなどよりなる。記憶部308は、ハードディスクや不揮発性のメモリなどよりなる。通信部309は、ネットワークインタフェースなどよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア311を駆動する。
 以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを、入出力インタフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU301)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア311に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブルメディア311をドライブ310に装着することにより、入出力インタフェース305を介して、記憶部308にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部309で受信し、記憶部308にインストールすることができる。その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、ISDB-T規格以外の規格に準拠した受信装置にも適用することができる。例えば、外符号としてRS符号を採用し、内符号として畳み込み符号を採用したISDB-T規格以外のDVB-T規格、ATSC規格、ISDB-S規格、DVB-S規格などに準拠した受信装置に適用することができる。
 但し、例えば、DVB-T規格では、同期バイトの値は、8パケットに1回だけ0xB8であり、それ以外では0x47である。また、バイトインターリーバやバイトデインターリーバにおいて11パケット分の遅延が発生する。従って、その遅延を考慮して、復号データの同期バイトが0x47または0xb8に置換される。
 また、外符号としてRS符号を採用し、内符号としてLDPC符号を採用した規格に準拠した受信装置にも適用することができる。この場合、上述した実施の形態において、ビタビ復号の代わりにLDPC復号が行われる。さらに、外符号としてBCH符号を採用し、内符号としてLDPC符号を採用したDVB-T2規格、DVB-C2規格、DVB-S2規格などに準拠した受信装置にも適用することができる。この場合、上述した実施の形態において、ビタビ復号の代わりにLDPC復号が行われ、RS復号の代わりにBCH復号が行われる。
 さらに、誤り訂正処理部の数は、2個に限定されない。
 また、図19の誤り訂正部24は、図11の誤り訂正部24と図16の誤り訂正部24を組み合わせたものであるが、図11の誤り訂正部24の代わりに図3の誤り訂正部24が組み合わされてもよい。
 なお、本技術は、以下のような構成もとることができる。
 (1)
 1以上の符号によって符号化された符号化データを受信する受信部と、
 前記受信部により受信された前記符号化データを復号する第1の復号部と、
 前記第1の復号部により得られる復号結果の一部を遅延させる第1の遅延部と、
 前記第1の遅延部による遅延後の前記復号結果のうちの、前記第1の遅延部により遅延されていない復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの復号を制御する信頼度向上部と
 を備える受信装置。
 (2)
 前記第1の復号部は、前記信頼度向上部の制御にしたがって、前記符号化データを再度復号する
 前記(1)に記載の受信装置。
 (3)
 前記第1の復号部と、
 前記第1の遅延部と、
 前記信頼度向上部と
 からなる誤り訂正処理部は、複数個直列に接続され、
 前記信頼度向上部は、前段の前記誤り訂正処理部の前記第1の復号部により再度復号された復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの最初の復号を制御する
 前記(2)に記載の受信装置。
 (4)
 前記誤り訂正処理部の間に、前段の前記誤り訂正処理部の前記第1の復号部により再度復号された結果得られる復号結果に対して、前記前段の誤り訂正処理部の前記第1の遅延部による遅延としてのデインターリーブに対応するインターリーブを行うインターリーブ部
 をさらに備え、
 前記信頼度向上部は、前段の前記インターリーブ部によりインターリーブされた復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの最初の復号を制御する
 前記(3)に記載の受信装置。
 (5)
 各誤り訂正処理部の前記第1の復号部により再度復号された結果得られる復号結果を合成する合成部
 をさらに備え、
 前記インターリーブ部は、前記前段の第1の復号部により再度復号された結果得られる復号結果のうちの、所定の階層の符号化データに対応する復号結果に対して、前記インターリーブを行う
 前記(4)に記載の受信装置。
 (6)
 前記第1の遅延部による遅延後の復号結果としての復号データのうちの、前記符号化データの既知の値の位置に対応する位置の値を前記既知の値に置換する置換部
 をさらに備え、
 前記信頼度向上部は、前記置換部により置換された前記復号結果のうちの、前記第1の遅延部により遅延されていない復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの復号を制御する
 前記(1)乃至(5)のいずれかに記載の受信装置。
 (7)
 前記1以上の符号は、外符号と内符号であり、
 前記第1の復号部は、前記外符号と前記内符号に対応する復号を行う
 前記(1)乃至(6)のいずれかに記載の受信装置。
 (8)
 前記外符号は、RS(Reed Solomon)符号であり、
 前記内符号は、畳み込み符号であり、
 前記第1の遅延部は、前記復号結果の一部を遅延させることにより、デインターリーブを行い、
 前記信頼度向上部は、前記第1の遅延部による前記デインターリーブ後の前記復号結果のうちの、前記デインターリーブにおいてゼロ遅延ブランチを通った復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの復号を制御する
 前記(7)に記載の受信装置。
 (9)
 前記外符号は、BCH(Bose Chaudhuri Hocquenghem)符号であり、
 前記内符号は、LDPC(Low Density Parity Check)符号である
 前記(7)に記載の受信装置。
 (10)
 前記信頼度向上部は、前記第1の遅延部により遅延されていない復号結果に基づいて前記符号化データとしての尤度を最も0または1らしい尤度に変換し、変換後の前記尤度を復号するように、前記復号を制御する
 前記(1)乃至(8)のいずれかに記載の受信装置。
 (11)
 前記復号はビタビ復号であり、
 前記信頼度向上部は、前記第1の遅延部により遅延されていない復号結果に基づいて前記ビタビ復号におけるトレリス上のステートを決定し、そのステートの信頼度が最も高くなるように、前記ビタビ復号を制御する
 前記(1)乃至(8)のいずれかに記載の受信装置。
 (12)
 前記第1の復号部による最初の復号の復号結果に基づいて、前記符号化データのビットエラー数を計算する計算部
 をさらに備える
 前記(1)乃至(11)のいずれかに記載の受信装置。
 (13)
 受信装置が、
 1以上の符号によって符号化された符号化データを受信する受信ステップと、
 前記受信ステップの処理により受信された前記符号化データを復号する第1の復号ステップと、
 前記第1の復号ステップの処理により得られる復号結果の一部を遅延させる第1の遅延ステップと、
 前記第1の遅延ステップの処理による遅延後の前記復号結果のうちの、前記第1の遅延ステップの処理により遅延されていない復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの復号を制御する信頼度向上ステップと
 を含む受信方法。
 12 尤度変換部, 13 ビタビ復号部, 14 バイトデインターリーバ, 15 RS復号部, 20 受信装置, 21 アンテナ, 32 同期バイト処理部, 34 ビットエラーカウンタ, 132 ビタビ復号部, 133 ステート生成部, 202 ビタビ復号部, 204 RS復号部, 205 バイトインターリーバ, 247 階層合成部

Claims (13)

  1.  1以上の符号によって符号化された符号化データを受信する受信部と、
     前記受信部により受信された前記符号化データを復号する第1の復号部と、
     前記第1の復号部により得られる復号結果の一部を遅延させる第1の遅延部と、
     前記第1の遅延部による遅延後の前記復号結果のうちの、前記第1の遅延部により遅延されていない復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの復号を制御する信頼度向上部と
     を備える受信装置。
  2.  前記第1の復号部は、前記信頼度向上部の制御にしたがって、前記符号化データを再度復号する
     請求項1に記載の受信装置。
  3.  前記第1の復号部と、
     前記第1の遅延部と、
     前記信頼度向上部と
     からなる誤り訂正処理部は、複数個直列に接続され、
     前記信頼度向上部は、前段の前記誤り訂正処理部の前記第1の復号部により再度復号された復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの最初の復号を制御する
     請求項2に記載の受信装置。
  4.  前記誤り訂正処理部の間に、前段の前記誤り訂正処理部の前記第1の復号部により再度復号された結果得られる復号結果に対して、前記前段の誤り訂正処理部の前記第1の遅延部による遅延としてのデインターリーブに対応するインターリーブを行うインターリーブ部
     をさらに備え、
     前記信頼度向上部は、前段の前記インターリーブ部によりインターリーブされた復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの最初の復号を制御する
     請求項3に記載の受信装置。
  5.  各誤り訂正処理部の前記第1の復号部により再度復号された結果得られる復号結果を合成する合成部
     をさらに備え、
     前記インターリーブ部は、前記前段の第1の復号部により再度復号された結果得られる復号結果のうちの、所定の階層の符号化データに対応する復号結果に対して、前記インターリーブを行う
     請求項4に記載の受信装置。
  6.  前記第1の遅延部による遅延後の復号結果としての復号データのうちの、前記符号化データの既知の値の位置に対応する位置の値を前記既知の値に置換する置換部
     をさらに備え、
     前記信頼度向上部は、前記置換部により置換された前記復号結果のうちの、前記第1の遅延部により遅延されていない復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの復号を制御する
     請求項1に記載の受信装置。
  7.  前記1以上の符号は、外符号と内符号であり、
     前記第1の復号部は、前記外符号と前記内符号に対応する復号を行う
     請求項1に記載の受信装置。
  8.  前記外符号は、RS(Reed Solomon)符号であり、
     前記内符号は、畳み込み符号であり、
     前記第1の遅延部は、前記復号結果の一部を遅延させることにより、デインターリーブを行い、
     前記信頼度向上部は、前記第1の遅延部による前記デインターリーブ後の前記復号結果のうちの、前記デインターリーブにおいてゼロ遅延ブランチを通った復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの復号を制御する
     請求項7に記載の受信装置。
  9.  前記外符号は、BCH(Bose Chaudhuri Hocquenghem)符号であり、
     前記内符号は、LDPC(Low Density Parity Check)符号である
     請求項7に記載の受信装置。
  10.  前記信頼度向上部は、前記第1の遅延部により遅延されていない復号結果に基づいて前記符号化データとしての尤度を最も0または1らしい尤度に変換し、変換後の前記尤度を復号するように、前記復号を制御する
     請求項1に記載の受信装置。
  11.  前記復号はビタビ復号であり、
     前記信頼度向上部は、前記第1の遅延部により遅延されていない復号結果に基づいて前記ビタビ復号におけるトレリス上のステートを決定し、そのステートの信頼度が最も高くなるように、前記ビタビ復号を制御する
     請求項1に記載の受信装置。
  12.  前記第1の復号部による最初の復号の復号結果に基づいて、前記符号化データのビットエラー数を計算する計算部
     をさらに備える
     請求項1に記載の受信装置。
  13.  受信装置が、
     1以上の符号によって符号化された符号化データを受信する受信ステップと、
     前記受信ステップの処理により受信された前記符号化データを復号する第1の復号ステップと、
     前記第1の復号ステップの処理により得られる復号結果の一部を遅延させる第1の遅延ステップと、
     前記第1の遅延ステップの処理による遅延後の前記復号結果のうちの、前記第1の遅延ステップの処理により遅延されていない復号結果を用いて、前記復号結果の信頼度が向上するように、前記符号化データの復号を制御する信頼度向上ステップと
     を含む受信方法。
PCT/JP2013/064224 2012-05-31 2013-05-22 受信装置および受信方法 WO2013179974A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/402,334 US20150092894A1 (en) 2012-05-31 2013-05-22 Receiving device and receiving method
EP13797258.4A EP2858250A4 (en) 2012-05-31 2013-05-22 RECEIVING DEVICE AND RECEIVING METHOD

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012124391A JP5835108B2 (ja) 2012-05-31 2012-05-31 受信装置および受信方法
JP2012-124391 2012-05-31

Publications (1)

Publication Number Publication Date
WO2013179974A1 true WO2013179974A1 (ja) 2013-12-05

Family

ID=49673175

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/064224 WO2013179974A1 (ja) 2012-05-31 2013-05-22 受信装置および受信方法

Country Status (4)

Country Link
US (1) US20150092894A1 (ja)
EP (1) EP2858250A4 (ja)
JP (1) JP5835108B2 (ja)
WO (1) WO2013179974A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016002572A1 (ja) * 2014-07-03 2016-01-07 ソニー株式会社 受信装置および受信方法、並びにプログラム
WO2016063729A1 (ja) * 2014-10-21 2016-04-28 ソニー株式会社 受信装置、および、受信装置の受信方法、並びにプログラム
WO2016063728A1 (ja) * 2014-10-21 2016-04-28 ソニー株式会社 受信装置、および、受信装置の受信方法、並びにプログラム
JP6799421B2 (ja) * 2016-08-29 2020-12-16 日本放送協会 送信装置及び受信装置
US10277252B2 (en) * 2017-01-09 2019-04-30 At&T Intellectual Property I, L.P. Encoding data with polar codes for control channels
JP2021034825A (ja) * 2019-08-21 2021-03-01 株式会社東芝 磁気ディスク装置
CN115102665A (zh) * 2020-03-10 2022-09-23 华为技术有限公司 一种信息处理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070229344A1 (en) * 2006-03-29 2007-10-04 Stmicroelectronics S.A. Receive circuit
JP4266387B2 (ja) * 2008-10-23 2009-05-20 日本放送協会 地上デジタル放送用送信装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6810502B2 (en) * 2000-01-28 2004-10-26 Conexant Systems, Inc. Iteractive decoder employing multiple external code error checks to lower the error floor
GB2400002A (en) * 2003-03-27 2004-09-29 Tandberg Television Asa Decoding a concatenated convolutional and block encoded signal by marking known correct bits
KR20090083758A (ko) * 2008-01-30 2009-08-04 삼성전자주식회사 연접 부호 복호화 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070229344A1 (en) * 2006-03-29 2007-10-04 Stmicroelectronics S.A. Receive circuit
JP4266387B2 (ja) * 2008-10-23 2009-05-20 日本放送協会 地上デジタル放送用送信装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ETSI EN 300 744 V1.5.1, November 2004 (2004-11-01), pages 11 - 21, XP014026912 *
MAKOTO SASAKI: "Development Trends of Digital Terrestrial Broadcasting", THE JOURNAL OF THE INSTITUTE OF IMAGE INFORMATION AND TELEVISION ENGINEERS, vol. 52, no. 11, 1998, pages 1562 - 1572, XP002946286 *
TOMOHISA WADA ET AL.: "Performance improvement by an iterative decoding of Max-Log-MAP-Erasure RS code", IEICE TECHNICAL REPORT, vol. 108, no. 305, 12 November 2008 (2008-11-12), pages 113 - 118, XP008175328 *

Also Published As

Publication number Publication date
JP5835108B2 (ja) 2015-12-24
US20150092894A1 (en) 2015-04-02
EP2858250A4 (en) 2016-01-27
EP2858250A1 (en) 2015-04-08
JP2013251691A (ja) 2013-12-12

Similar Documents

Publication Publication Date Title
JP5835108B2 (ja) 受信装置および受信方法
JP6396977B2 (ja) 連結コーディング・システムの先進繰り返しデコーディングおよびチャネル評価のためのシステムおよび方法
JP4284125B2 (ja) パリティビットを再循環させる連続コードデコーダ及びその方法
CA2685241C (en) Apparatus and method for encoding and decoding signals
US8929432B2 (en) Combination A/53 and A/153 receiver using a HIHO viterbi decoder
JP5534528B2 (ja) 信号を復号する装置および方法
US10439758B2 (en) Receiving apparatus and decoding method thereof
US9118352B2 (en) Remedying low densities of ONEs in transmission and reception of digital television signals
JP2010226474A (ja) 受信装置及び方法、プログラム、並びに受信システム
JP2010232803A (ja) 受信装置及び方法、プログラム、並びに受信システム
US8108749B2 (en) Diversity combining iterative decoder
US9906327B2 (en) Receiving device, receiving method, and program
Xu Soft decoding algorithm for RS-CC concatenated codes in WIMAX system
JP4729726B2 (ja) 誤り訂正装置、受信装置、誤り訂正方法および誤り訂正プログラム
US9210429B2 (en) Encoder of E-8VSB forward error correction for digital television system of ATSC
WO2019176147A1 (ja) 無線通信システム
Majumder et al. Iterative Decoding of LDPC-RS-Coded Multiple Description Image
JP4062261B2 (ja) 誤り訂正装置、受信装置、画像表示装置および誤り訂正方法
WO2008023571A1 (fr) Appareil de correction d'erreur, circuit intégré et procédé de correction d'erreur
WO2011046530A1 (en) Selectable latency maximum a posteriori (map) decoder
JP2010278641A (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: 13797258

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14402334

Country of ref document: US

Ref document number: 2013797258

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE