WO2013021588A1 - 復号装置及び復号方法 - Google Patents

復号装置及び復号方法 Download PDF

Info

Publication number
WO2013021588A1
WO2013021588A1 PCT/JP2012/004897 JP2012004897W WO2013021588A1 WO 2013021588 A1 WO2013021588 A1 WO 2013021588A1 JP 2012004897 W JP2012004897 W JP 2012004897W WO 2013021588 A1 WO2013021588 A1 WO 2013021588A1
Authority
WO
WIPO (PCT)
Prior art keywords
reliability
output value
processing
storage memory
reliability information
Prior art date
Application number
PCT/JP2012/004897
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 EP12821855.9A priority Critical patent/EP2744113A1/en
Priority to US13/824,152 priority patent/US9244760B2/en
Priority to JP2013527875A priority patent/JP5884031B2/ja
Publication of WO2013021588A1 publication Critical patent/WO2013021588A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/185Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using an low density parity check [LDPC] code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors

Definitions

  • the present invention relates to a decoding apparatus and a decoding method for decoding data using a plurality of signals for a portion where an error has occurred.
  • Patent Document 1 and Patent Document 2 Furthermore, as a technique for improving the signal quality, a method of reproducing the same area a plurality of times and calculating an addition average of the same waveform using a memory circuit (see, for example, Patent Document 1 and Patent Document 2) There is a majority decision method (see, for example, Patent Document 3 and Patent Document 4) in which a plurality of data are compared and the most frequent data is adopted.
  • LDPC low-density-parity-check
  • FIG. 17 is a view showing an example of sampling data in a normal state
  • FIG. 18 is a view showing an example of sampling data in the case where a synchronization deviation occurs.
  • a digital signal obtained by converting a reproduction signal read from an optical disk into a digital value by an A / D converter is stored in a memory, and averaging processing is performed using two reproduction waveforms. .
  • the reproduction signal is acquired at an appropriate sampling timing at the normal time without the occurrence of the synchronization deviation, the improvement effect of the S / N ratio of at most 3 dB can be obtained.
  • the signal processing system can not perform normal synchronization processing of the reproduction signal by the synchronization pattern or the like, and can not send a signal to the error corrector at an accurate timing.
  • the essential cause of the above problems in conventional multi-reproduction devices stems from the averaging of the reproduced signals prior to the synchronization process.
  • the error rate of the reproduced signal before error correction is high, and the above problems become more serious.
  • the present invention has been made to solve the above problems, and it is possible to provide a decoding device and a decoding method that can reduce the error rate of decoded data and can improve the S / N. It is the purpose.
  • a decoding apparatus receives data composed of a plurality of data blocks, and decodes the data based on reliability information of the data encoded by a parity check matrix in the data block.
  • a decoding device for generating the reliability information based on the input data, a reliability storage memory for storing the reliability information, and a row processing output value
  • a controller that inputs the reliability information of the same data block to the reliability storage memory multiple times, and the reliability generator calculates reliability information of the same data block as the previous one.
  • the reliability generator generates reliability information based on the input data.
  • the reliability storage memory stores reliability information.
  • the row processing computing unit computes the row processing output value by performing row processing using the column processing output value.
  • the column processing computing unit computes the column processing output value by performing column processing using the row processing output value and the reliability information.
  • the controller inputs the reliability information of the same data block into the reliability storage memory multiple times.
  • the reliability generator stores the previously generated reliability information stored in the reliability storage memory and the reliability generated this time
  • the reliability information is newly generated by performing arithmetic processing based on the probability calculation using the information and stored in the reliability storage memory.
  • the column processing computing unit computes a column processing output value using the newly generated reliability information stored in the reliability storage memory and the row processing output value.
  • the decoding is performed multiple times on the data having a high error rate before the error correction using the reliability information of the same data block, the error rate of the decoded data can be reduced. It is possible to improve the S / N.
  • FIG. 1 is a diagram showing a configuration of an optical disc apparatus according to Embodiment 1 of the present invention. It is a figure which shows the detailed structure of the error correction device based on Embodiment 1 of this invention. It is a figure for demonstrating the process which reproduces
  • Embodiment 4 of this invention It is a figure showing the detailed structure of the error correction device based on Embodiment 4 of this invention. It is a 1st flowchart for demonstrating the decoding process of the error correction device in Embodiment 4 of this invention. It is a 2nd flowchart for demonstrating the decoding process of the error correction device in Embodiment 4 of this invention. It is a figure which shows the structure of the information communication system which concerns on Embodiment 1-4 of this invention. It is a figure which shows an example of the sampling data at the time of normal. It is a figure which shows an example of sampling data at the time of out-of-synchronization generate
  • Embodiment 1 Hereinafter, the decoding device and the decoding method according to Embodiment 1 of the present invention will be described in detail with reference to the drawings.
  • FIG. 1 is a diagram showing the configuration of an optical disc apparatus according to a first embodiment of the present invention.
  • the optical disk apparatus shown in FIG. 1 includes an optical pickup 102, a preamplifier 103, an A / D converter 104, a PLL (Phase Locked Loop) circuit 105, a waveform equalizer 106, a Viterbi decoder 107, a synchronization signal detector 108, and a demodulator.
  • An error correction unit 110, a wobble detector 111, an address detector 112, a spindle motor 113, a motor driver 114, a servo controller 115, and a system controller 116 are provided.
  • the optical pickup 102 irradiates the optical disc 101 with light, detects the reflected light from the optical disc 101, and outputs a reproduction signal according to the detected reflected light.
  • the preamplifier 103 amplifies the reproduction signal from the optical pickup 102.
  • the A / D converter 104 samples the output from the preamplifier 103.
  • the PLL circuit 105 supplies a clock to the A / D converter 104.
  • the waveform equalizer 106 shapes the waveform of the sampling data from the A / D converter 104.
  • the Viterbi decoder 107 performs maximum likelihood decoding based on the output data from the waveform equalizer 106.
  • the synchronization signal detector 108 detects a synchronization signal from the decoding result of the Viterbi decoder 107.
  • the demodulator 109 demodulates the decoding result on the basis of the synchronization signal.
  • the error corrector 110 performs error correction processing on the demodulation result.
  • the wobble detector 111 detects a meandering component of the guide groove of the optical disc 101 and outputs a wobble signal.
  • the address detector 112 detects address information from the wobble signal output from the wobble detector 111.
  • the spindle motor 113 rotates the optical disc 101.
  • the motor driver 114 drives the spindle motor 113 and the optical pickup 102.
  • the servo controller 115 controls the motor driver 114.
  • the system controller 116 transmits / receives information to / from a host computer (not shown), and controls operations and various settings for each circuit in the optical disk apparatus.
  • a reproduction signal from an optical disk 101 which is a recording medium reproduced as a signal through an optical pickup 102 and a preamplifier 103, is input to an A / D converter 104 and converted into a digital signal.
  • the waveform equalizer 106 performs waveform shaping on the input digital signal so that the frequency characteristic of the reproduction system becomes a predetermined PR equalization method.
  • the digital signal whose waveform is shaped is decoded by the Viterbi decoder 107 into the most likely data.
  • the PLL circuit 105 generates a reproduction clock synchronized with the reproduction signal.
  • the circuits after the A / D converter 104 operate in accordance with the reproduction clock supplied from the PLL circuit 105.
  • the synchronization signal detector 108 detects a synchronization signal from the decoded data output from the Viterbi decoder 107, and outputs a detection timing of the synchronization signal to the demodulator 109.
  • the demodulator 109 demodulates the decoded data from the form of the recording pattern on the optical disc 101 to the form of the recording information, using the detection timing of the synchronization signal as a reference position.
  • the error corrector 110 performs an error correction process on the reproduced data synchronized and demodulated.
  • the data is composed of a plurality of data blocks.
  • the decoded data for which the error correction processing has been completed is transferred by the system controller 116 to the host computer through an interface (not shown).
  • the wobble detector 111 detects a meandering component of the guide groove of the optical disk 101 from the signal detected by the optical pickup 102.
  • the optical pickup 102 includes at least two light receiving elements divided along the guide groove of the optical disc 101.
  • the two light receiving elements respectively detect the reflected light from the optical disc 101.
  • the difference signal between the two light receiving elements is called a push-pull signal, which is a signal reflecting the wobble component.
  • On the optical disc 101 a track for recording data is formed in advance as a pregroove.
  • the side walls of the pre-group meander by a wobble signal obtained by modulating address information and the like. From wobble information obtained as reflected light information at the time of recording or reproduction, a wobble address that enables recording or reproduction of data at a predetermined position of the optical disc 101 can be read.
  • the address detector 112 detects a wobble address from the wobble signal detected by the wobble detector 111 and demodulates the address data.
  • the demodulated address data is supplied to the system controller 116.
  • the system controller 116 controls the spindle motor 113, the optical pickup 102, and an optical pickup driver (not shown) via the servo controller 115 and the motor driver 114 based on the supplied address data. Control. Thereby, the system controller 116 moves the optical pickup 102 to a target address.
  • optical disk apparatus reads the address data from the wobble signal, it may read the address information embedded in the digital signal (RF signal).
  • FIG. 2 is a diagram showing a detailed configuration of the error corrector 110 according to the first embodiment of the present invention.
  • the error corrector 110 receives data composed of a plurality of data blocks, and decodes the data based on reliability information of data encoded by a parity check matrix in the data block.
  • the error corrector 110 includes a reliability generator 201, a reliability storage memory 202, a row processing operation unit 203, a column processing operation unit 204, a first column processing output value storage memory 205, an estimated word generator 206, and an estimated word storage.
  • a memory 207, a decoding result determination unit 208, a second column processing output value storage memory 209, and a controller 211 are provided.
  • the reliability generator 201 generates the reliability ⁇ n of the reproduction data y i from the demodulator 109.
  • the reliability storage memory 202 stores the reliability ⁇ n generated by the reliability generator 201.
  • the row processing computing unit 203 performs row processing of the parity check matrix.
  • the row processing computing unit 203 computes a row processing output value by performing row processing using the column processing output value.
  • the column processing computing unit 204 performs column processing of the parity check matrix.
  • the column processing computing unit 204 computes column processing output values by performing column processing using the row processing output value and the reliability information.
  • the first column processing output value storage memory 205 stores the column processing output value ⁇ mn calculated by the column processing operation unit 204.
  • the estimated word generator 206 generates an estimated word x n based on the reliability ⁇ n stored in the reliability storage memory 202 and the line processing output value ⁇ mn calculated by the line processing calculator 203.
  • the estimated word storage memory 207 stores the estimated word x n generated by the estimated word generator 206.
  • the decoding result determination unit 208 determines the decoding result based on the estimated word x n , the estimated word reliability L n, the column processing output value ⁇ mn, and the like. In the present embodiment, the decoding result determination unit 208 determines the decoding result based on the estimated word x n stored in the estimated word storage memory 207.
  • the second column processing output value storage memory 209 stores the column processing output value ⁇ mn at the time of repetitive reproduction processing.
  • the controller 211 supervises various processing operations such as execution instructions and control for the entire system 210 configured of a plurality of memories and a plurality of arithmetic processing circuits.
  • the controller 211 inputs the reliability information of the same data block to the reliability storage memory 202 a plurality of times.
  • the controller 211 may be configured by the system controller 116 illustrated in FIG. 1 or may be configured by another processor other than the system controller 116.
  • each storage memory may be an external memory device different from the arithmetic processing circuit, or may be a storage device such as a register using circuit elements such as flip flops. .
  • the second column processing output value storage memory 209 stores the column processing output value calculated by the column processing computing unit 204 based on the reliability information input previously.
  • the row processing computing unit 203 performs row processing on the previous column processing output value stored in the second column processing output value storage memory 209 when decoding using the reliability information of the same data block as the previous one is performed. Use as the initial value of
  • the row processing computing unit 203 repeatedly computes the row processing output value using the column processing output value computed by the column processing computing unit 204.
  • the controller 211 monitors the number of times of calculation processing of the row processing output value by the row processing arithmetic unit 203. When the number of times of operation processing reaches a predetermined number, the controller 211 causes the reliability generator 201 to generate reliability information of the same data block as the previous time, and the generated reliability information is input to the reliability storage memory 202 Let
  • controller 211 performs the decoding process again on the data block for which the judgment result by the decoding result judgment unit 208 does not satisfy the predetermined condition, using the reliability information stored in the reliability storage memory 202. .
  • the decoding result determination unit 208 may include a parity check unit that checks that the estimated word generated based on the reliability information and the row processing output value is correctly decoded. In this case, the controller 211 performs the decoding process again on the data block whose inspection result by the parity checker does not satisfy the predetermined condition, using the reliability information stored in the reliability storage memory 202.
  • the decoding result determination unit 208 may determine the decoding result by comparing the operation result of any of the column processing output value, the row processing output value, and the estimated word reliability with a predetermined threshold.
  • the controller 211 uses the reliability information stored in the reliability storage memory 202 to decode the data block for which the determination result by the decoding result determiner 208 does not satisfy the predetermined condition again. Do.
  • the reliability generator 201 converts the reproduction data y i output from the demodulator 109 into a form of reliability that can be handled by error correction processing. For example, when the channel model is an AWGN (additive white Gaussian noise) channel, the reliability generator 201 generates the reproduced data y i and the noise ⁇ 2 of the channel as shown in the following equation (1).
  • the reliability ⁇ n is calculated from
  • the reliability ⁇ n may be a ratio of conditional probability of the channel or a log likelihood ratio as long as the reliability ⁇ n is an index indicating the likelihood of the reproduction data y i . Arithmetic processing can be simplified by using the log likelihood ratio.
  • the reproduction data yi may be soft decision information or hard decision information.
  • the reliability generator 201 stores the generated reliability ⁇ n in the reliability storage memory 202.
  • the reliability ⁇ n stored in the reliability storage memory 202 is output to the column processing calculator 204 and the estimated word generator 206 at the time of decoding processing.
  • Row processing operation unit 203 uses column processing output value ⁇ mn stored in first column processing output value storage memory 205 to perform operation processing on each element of the parity check matrix according to the following equation (2) Row processing is performed, and the result of the arithmetic processing is output as a row processing output value ⁇ mn .
  • a (m) represents a set of column indexes whose values are 1 in the m-th row of the parity check matrix H, and A (m) ⁇ n is obtained by removing n from the set A (m) Represents a set difference.
  • the optical disk device does not have the row processing output value storage memory for storing the row processing output value ⁇ mn , but the optical disk device may have the row processing output value storage memory.
  • the functions sign (x) and f (x) are defined by the following equation (3) and equation (4).
  • the column processing computing unit 204 uses the reliability ⁇ n stored in the reliability storing memory 202 and the row processing output value ⁇ mn output from the row processing computing unit 203 according to the following equation (5). Arithmetic processing (column processing) is performed, and the arithmetic processing result is output as a column processing output value ⁇ mn .
  • the column processing computing unit 204 stores the column processing output value ⁇ mn in the first column processing output value storage memory 205.
  • B (n) represents a set of row indexes whose value is 1 in the nth column of the parity check matrix H
  • B (n) ⁇ m is obtained by removing m from the set B (n) Represents a set difference.
  • the column processing output value ⁇ mn is m ′ ⁇ m.
  • the estimated word generator 206 uses the reliability ⁇ n stored in the reliability storage memory 202 and the row processing output value ⁇ mn output from the row processing computing unit 203 and is based on the following equation (6):
  • the estimated word reliability L n is calculated. (6) differs from the equation (5) in that the value of the row processing output value ⁇ mn itself from the element m to the element n of the parity check matrix is also added to the calculation of the estimated word reliability L n .
  • the absolute value of the estimated word confidence L n represents the reliability of the estimate indicates a higher reliability of the absolute higher value is larger estimation of the estimated word reliability L n.
  • the estimated word generator 206 determines the value of the estimated word x n to “0” when the value of the estimated word reliability L n is positive according to the following equation (7), and the value of the estimated word reliability L n Is negative, the value of the estimated word x n is determined to be “1”, and the determined estimated word x n is output.
  • the estimated word generator 206 stores the estimated word x n in the estimated word storage memory 207.
  • the decoding result determination unit 208 determines whether or not the estimated word x n stored in the estimated word storage memory 207 has been correctly decoded.
  • the controller 211 determines, based on the determination result of the decoding result determination unit 208 and the number of processing loops to be described later, whether to end the decoding process or to continuously perform the iterative decoding process.
  • the row process computing unit 203 performs the row process using the column process output value ⁇ mn stored in the first column process output value storage memory 205, and the row process output value ⁇ mn Update. Then, the column processing computing unit 204 updates the column processing output value ⁇ mn using the updated row processing output value ⁇ mn and the reliability ⁇ n .
  • the estimated word generator 206 uses the updated row processing output value alpha mn and reliability lambda n to update the estimated word reliability L n, generates an estimated word x n from the estimated word confidence L n Do. The detailed sequence will be described in detail later using a flowchart.
  • the decoding result decision unit 208 performs a parity check on the estimated word x n, if it meets the parity check condition, determines that there is no error in the estimated word x n.
  • the decoding result determination unit 208 may make the determination using the estimated word reliability L n . That is, the decoding result decision unit 208, the absolute value when the average value meets a predetermined condition, for example, the absolute value of the average value of a predetermined value of all estimated word reliability L n of all the estimated word confidence L n If so, the estimated word may be determined to be x n stochastically correct.
  • an error detection code capable of determining an error may be embedded in the data block in advance, and the determination may be made based on the detection result of the error detection code.
  • the decoding result determination unit 208 in the present embodiment can realize the present embodiment with any configuration as long as it can determine that the data block is an error, and the same effect can be obtained.
  • the decoding determination result and the decoded data are output to the outside of the error corrector 110. These various processing operations are performed based on the control of the controller 211.
  • decoding processing when reproduction data y i is input a plurality of times to error corrector 110 of this embodiment will be described according to the configuration of FIG.
  • the controller 211 determines that there is an error even if the decoding process of the processing loop number set in advance is performed, the controller 211 determines that there is an error. It is determined that the error correction is impossible in the decoding process for the input reproduction data, and the same data block as the previous one is reproduced again. Reproduction of the same data block as the previous one is performed based on the address information detected by the address detector 112.
  • the reliability generator 201 calculates the reliability ⁇ 2 n for the second reproduction data y 2 i according to the following equation (8). Generate The reliability generator 201 stores the generated reliability ⁇ 2 n in the reliability storage memory 202.
  • the row processing computing unit 203 obtains a row processing output value ⁇ mn .
  • the second decoding process is different from the first decoding process in that in the first decoding process, the row processing operation unit 203 calculates “0” as an initial value of the column processing output value ⁇ mn .
  • the row processing operation unit 203 calculates the final value of the column processing output value ⁇ mn of the first decoding processing as the initial value.
  • the second row processing output value ⁇ 2 mn is the row processing output of the first decoding processing as shown in the following equation (9) It becomes equal to the final value ⁇ 1 mn of the value.
  • the column processing output value ⁇ 2 mn of the second decoding process and the estimated word reliability L 2 n are the energy ( ⁇ 1 m′n ) of the first reproduction signal and the energy ( ⁇ 2 n ) of the second reproduction signal. Both are used. Therefore, it is possible to obtain higher reliability than the reliability obtained only with each reproduction signal.
  • FIG. 3 and 4 are diagrams for explaining the process of reproducing repetitive data in the first embodiment, and FIG. 3 is a diagram for explaining the process of reproducing repetitive data for each data block.
  • FIG. 4 is a diagram for explaining a process of reproducing data with a plurality of data blocks as one reproduction unit.
  • the error corrector 110 may include one first column processing output value storage memory 205.
  • the column processing operation unit 204 performs column processing on data blocks for which the decoding determination result is an error. It is necessary to extract and save only the output value ⁇ mn . Therefore, the column processing operation unit 204 uses a different memory space in the first column processing output value storage memory 205 or the second column processing output value storage memory 209.
  • the controller 211 controls the column processing output value ⁇ stored in a different memory space in the first column processing output value storage memory 205 or in the second column processing output value storage memory 209. Move mn to the first column processing output value storage memory 205. Thereby, the final value of the row processing output value ⁇ mn of the previous decoding processing loop can be used as the initial value of the row processing output value ⁇ mn of the next decoding processing loop.
  • the storage capacity of the first column process output value storage memory 205 has a certain upper limit in terms of system configuration. Therefore, higher speed reproduction can be realized by controlling the repetitive reproduction processing according to the usage condition of the first column processing output value storage memory 205. More specifically, when the storage capacity of the first row process output value storage memory 205 reaches the upper limit, it is more preferable to perform control to shift to the repetitive reproduction process. Since the time until shifting to the repetitive reproduction processing is a delay time for data reproduction, it is more desirable that control taking into consideration the delay time for data reproduction be performed.
  • the method of repeatedly reproducing data by using a plurality of data blocks as one reproduction unit has an advantage of reducing unnecessary seek time and rotational latency and preventing a significant decrease in transfer speed. Furthermore, the transfer speed can be further prevented from being lowered by adjusting the length of the data block in which the repetitive data is reproduced so as to minimize the rotational latency which is a main factor of the processing time. Control for reproducing the same data block a plurality of times is performed by an instruction from the controller 211.
  • 5 and 6 are flowcharts for explaining the decoding process of the error corrector according to the first embodiment of the present invention.
  • the controller 211 performs initial setting of the loop number of decoding processing, the number of times of repetitive reproduction processing, and the column processing output value ⁇ mn (step S1).
  • the loop number of the decoding process is the number of times the process of generating the row process output value ⁇ mn again by the row process operation unit 203 using the column process output value ⁇ mn generated by the column process operation unit 204 is repeated.
  • the controller 211 sets a predetermined maximum number in advance as the number of loops of the decoding process.
  • the number of times of repetitive reproduction processing is the number of times of repeatedly reproducing the same data block.
  • the controller 211 sets a predetermined maximum number of times in advance as the number of times of repeated reproduction processing. As described above, the controller 211 sets the column processing output value ⁇ mn to 0 at the time of the first reproduction processing.
  • the reliability generator 201 generates the reliability ⁇ n according to the received reproduction data sequence (step S2).
  • the reliability generator 201 stores the generated reliability ⁇ n in the reliability storage memory 202 (step S3).
  • the row processing computing unit 203 performs row processing to calculate the row processing output value ⁇ mn from the column processing output value ⁇ mn (step S4). As described above, the row processing output value ⁇ mn at the time of the first reproduction is set to 0.
  • the column processing computing unit 204 performs column processing to calculate a column processing output value ⁇ mn from the reliability ⁇ n and the row processing output value ⁇ mn (step S5).
  • the column processing computing unit 204 stores the computed column processing output value ⁇ mn in the first column processing output value storage memory 205 (step S6).
  • the estimated word generator 206 generates the estimated word reliability L n from the reliability ⁇ n and the line processing output value ⁇ mn , and the estimated word x n according to the positive / negative sign of the generated estimated word reliability L n Generate (step S7).
  • Deduced words generator 206 decision of the sign of the estimated word reliability L n, for example, when the estimated word reliability L n is expressed by 2's complement, the value of the sign bit of the most significant, positive or Negative can be determined.
  • the estimated word generator 206 stores the generated estimated word x n in the estimated word storage memory 207 (step S8).
  • the decoding result determination unit 208 determines the decoding result (step S9).
  • the decoding result determination unit 208 uses the transposition matrix of the n-bit estimated words (x 1 , x 2 ,..., X n ) and the parity check matrix H Then, H ⁇ (x 1 , x 2 ,..., X n ) T is calculated. As a result of this calculation, the decoding result judging unit 208 judges that the estimated word is correctly decoded if the generated syndrome is 0, and that the estimated word is decoded erroneously if the generated syndrome is not 0. judge. The decoding result determination unit 208 outputs the determination result to the controller 21.
  • the decoding result by using the estimated word reliability L n is determined, it deduced words when the estimated word reliability L n is greater than 0 is 0, the estimated words smaller reliability L n is 0 in the opposite In this case, it is possible to use a definition in which the estimated word is 1, and the estimated word reliability decreases as the estimated word reliability approaches 0. That is, if the average value of the absolute values of all the estimated word reliability L n is equal to or more than a predetermined threshold, the decoding result determination unit 208 determines that the estimated word is correctly decoded because the estimated word is probabilistically correct. On the other hand, when the average value of the absolute values of all the estimated word reliability L n is smaller than a predetermined threshold value, the decoding result determination unit 208 determines that decoding is erroneously performed.
  • the decoding result determination unit 208 may detect the number of errors using a code for error detection to determine the decoding result.
  • the controller 211 determines whether the estimated word is correctly decoded (step S10).
  • the controller 211 decodes the estimated word (x 1 , x 2 ,..., X n ) together with the determination result It is controlled to output from the estimated word storage memory 207 as (step S11).
  • step S12 determines whether the number of loops is the maximum number.
  • step S13 determines whether the number of times of repetitive reproduction is the maximum number. For example, the controller 211 counts the number of times the estimated word is generated, and when the number of generations reaches a predetermined maximum number, stops the loop processing for the code and determines whether the number of times of repetitive reproduction is the maximum number To judge.
  • controller 211 may count the number of row processing operations performed by the row processing computing unit 203, and determine whether the number of operations has reached a predetermined maximum number.
  • step S13 If it is determined that the number of times of repetitive reproduction is the maximum number (YES in step S13), the controller 211 controls to output the estimated word finally generated from the estimated word storage memory 207 as decoded data (step S11). This makes it possible to prevent an increase in unnecessary arithmetic processing time for a code that is noisy and poorly convergent.
  • step S12 If it is determined in step S12 that the number of loops is not the maximum number (NO in step S12), the controller 211 increments the number of loops by 1 (step S14). After that, the controller 211 returns to the process of step S2 and executes the processes of step S2 and subsequent steps again.
  • step S13 When it is determined in step S13 that the number of times of repetitive reproduction is not the maximum number (NO in step S13), the controller 211 determines the finally generated column processing output value ⁇ mn as a second column processing output value storage memory It is controlled to save in 209 (step S15). Then, the controller 211 returns to the process of step S1, instructs to reproduce again the same area (data block) as the previous time, generates the reliability corresponding to the same data block as the previous time, and trusts the generated reliability. The process of saving in the degree storage memory 202 is repeated. At this time, the system controller 116 reproduces the same data block as the previous one using the address information detected by the address detector 112. When the seek operation is performed based on the address information, the same data block as the previous one can be reliably reproduced by performing the seek operation on the area before the target address.
  • the column processing output value ⁇ mn stored in the second column processing output value storage memory 209 is a value representing the likelihood of the previous reproduction data.
  • FIG. 7 is a diagram showing the BER (code error rate) characteristic obtained by the error corrector according to the first embodiment of the present invention.
  • the vertical axis indicates the number of times of repetitive reproduction
  • the horizontal axis indicates the limit value of the BER of the input signal necessary for error-free reproduction after error correction.
  • a state in which the BER included in the signal after error correction is 1E-11 or less is defined as a state without error.
  • the correction limit value of the BER of the input signal that can be reproduced without error is 1.7E-2.
  • the reliability information of the data block is input multiple times with respect to the data block having a signal of poor quality that can not be error-corrected in a system in which the conventional repetitive reproduction processing is not performed.
  • the column processing output value ⁇ mn which is is used as an initial value at the next decoding.
  • the reproduction processing is performed multiple times using the reproduction signal in which the timing of the synchronization deviation is compensated in the demodulator 109, the reproduction processing is performed a plurality of times in a state where the synchronization deviation occurs, which is a conventional problem. There is no.
  • FIG. 8 is a diagram showing a detailed configuration of an error corrector according to Embodiment 2 of the present invention.
  • the configuration of the optical disk apparatus according to the second embodiment is the same as the configuration of the optical disk apparatus according to the first embodiment shown in FIG. Further, in FIG. 8, the same components as those of the error corrector according to the first embodiment shown in FIG. 2 will be assigned the same reference numerals and descriptions thereof will be omitted.
  • the difference between the error corrector of the second embodiment shown in FIG. 8 and the error corrector of the first embodiment shown in FIG. 2 is that the error corrector 110 replaces the second column processing output value storage memory 209. It is a point provided with the estimated word reliability storage memory 501.
  • the error corrector 110 shown in FIG. 8 includes a reliability generator 201, a reliability storage memory 202, a row processing operation unit 203, a column processing operation unit 204, a first column processing output value storage memory 205, and an estimated word generator 206.
  • the estimated word reliability storage memory 501 stores the estimated word reliability L n generated by the estimated word generator 206.
  • the estimated word generator 206 receives the previous estimated word reliability stored in the estimated word reliability storage memory 501 when decoding is performed using the reliability information of the same data block as the previous time. Based on the reliability information and the reliability of the estimated word generated based on the line processing output value, the estimated word reliability is updated using arithmetic processing based on probability calculation, and estimation is performed according to the updated estimated word reliability Generate a word.
  • the estimated word generator 206 when the estimated word reliability is stored in the estimated word reliability storage memory 501, the estimated word generator 206 generates an estimated word according to the updated estimated word reliability.
  • FIGS. 9 and 10 are flowcharts for explaining the decoding process of the error corrector according to the second embodiment of the present invention.
  • steps S21 to S33 of FIGS. 9 and 10 are the same as the processes of steps S1 to S12 and S14 of FIGS. 5 and 6, and thus the description thereof is omitted.
  • the controller 211 determines whether or not the estimated word reliability L n from the previous time is stored in the estimated word reliability storage memory 501 (step S34).
  • the estimated word generator 206 is finally generated.
  • the estimated word reliability L n is stored in the estimated word reliability storage memory 501 (step S35).
  • the controller 211 returns to the process of step S1 and reproduces the same data block as the previous one again.
  • the system controller 116 uses the address information detected by the address detector 112 to reproduce the same area (data block) as before.
  • the estimated word generator 206 finally generates in step S27.
  • estimation word and reliability L n that is, using the estimated word reliability L n that is stored in the estimated word reliability storage memory 501, and generates an estimated word reliability L n 'by the processing based on the probability calculation Then, a new estimated word x n 'is generated according to the positive / negative sign of the generated estimated word reliability L n ' (step S36).
  • the decoding result determination unit 208 determines the decoding result using the generated new estimated word x n '(step S37).
  • the controller 211 determines whether the estimated word is correctly decoded (step S38).
  • the controller 211 performs control to output the estimated word x n ′ as decoded data from the estimated word storage memory 207 together with the determination result. (Step S31).
  • step S38 determines whether the number of times of repetitive reproduction is the maximum number.
  • step S39 determines whether the number of times of repetitive reproduction is a predetermined maximum number.
  • the controller 211 outputs the estimated word x n 'as decoded data from the estimated word storage memory 207 together with the determination result. Control (step S31).
  • the estimated word generator 206 stores the estimated word reliability L n finally generated as the estimated word reliability storage memory It stores in 501 (step S35). Then, the controller 211 returns to the process of step S1 and reproduces the same data block as the previous one again.
  • the reliability information of the data block is input a plurality of times for the data block having a signal with poor quality that can not be error corrected in a system that does not perform the conventional repetitive reproduction processing, and the previously estimated word Based on the reliability and the estimated word reliability generated from the current reproduction data, the estimated word reliability is generated using arithmetic processing based on probability calculation, and the generated estimated word reliability is used to generate a new Estimated words are generated.
  • the regenerated energy can be used a plurality of times, and the reduction of the error rate which can not be achieved conventionally can be realized.
  • the configuration of the optical disk apparatus according to the third embodiment is the same as the configuration of the optical disk apparatus according to the first embodiment shown in FIG.
  • the configuration of the error corrector in the third embodiment is the same as the configuration of the error corrector in the second embodiment shown in FIG. Therefore, the error corrector according to the third embodiment will be described using the error corrector shown in FIG.
  • 11 and 12 are flowcharts for explaining the decoding process of the error corrector according to the third embodiment of the present invention.
  • the third embodiment of the present invention is different from the second embodiment in particular in that, when the same data block as the previous one is reproduced again, the number of looping steps is the step of generating a new estimated word x n '. This is a point to be performed during the decoding processing loop, not after reaching the predetermined maximum number of times.
  • Deduced words generator 206 performs arithmetic processing based on the probability calculated by using the estimated word reliability L n generated this time, and the estimated word reliability L n that is stored in the estimated word reliability storage memory 501 Thus, a new estimated word reliability L n 'is generated. Then, the estimated word generator 206 generates a new estimated word x n 'according to the positive / negative sign of the generated estimated word reliability L n '.
  • step S41 to step S47 in FIG. 11 is the same as the processing from step S1 to step S7 in FIG.
  • the controller 211 determines whether or not the estimated word reliability L n of the previous time is stored in the estimated word reliability storage memory 501 (step S48). .
  • the estimated word generator 206 generates the estimated word x generated. n is stored in the estimated word reliability storage memory 501 (step S50).
  • the estimated word generator 206 when it is determined that the estimated word reliability L n up to the previous time is stored in the estimated word reliability storage memory 501 (YES in step S48), the estimated word generator 206 finally generates in step S47. estimation word and reliability L n that is, using the estimated word reliability L n that is stored in the estimated word reliability storage memory 501, and generates an estimated word reliability L n 'by the processing based on the probability calculation Then, a new estimated word x n 'is generated according to the positive / negative sign of the generated estimated word reliability L n ' (step S49). Next, the estimated word generator 206 stores the generated estimated word x n ′ in the estimated word storage memory 207 (step S50).
  • step S51 to step S56 in FIG. 11 and FIG. 12 is the same as the processing from step S9 to step S14 in FIG. 5 and FIG.
  • step S55 If it is determined in step S55 that the number of times of repetitive reproduction is not the maximum number (NO in step S55), the estimated word generator 206 generates the estimated word reliability L n finally generated as the estimated word reliability storage memory 501. (Step S57). Then, the controller 211 returns to the process of step S1 and reproduces the same data block as the previous one again.
  • a new reliability is generated using the reliability generated from the plurality of reproduction signals, and the normal decoding processing loop is executed using the generated new reliability. Therefore, it is possible to further shorten the decoding processing time while obtaining the same effects as in the first and second embodiments of the present invention.
  • Embodiment 4 Next, a decoding apparatus and a decoding method according to Embodiment 4 of the present invention will be described in detail with reference to the drawings.
  • FIG. 13 is a diagram showing a detailed configuration of an error corrector according to a fourth embodiment of the present invention.
  • the configuration of the optical disk apparatus according to the fourth embodiment is the same as the configuration of the optical disk apparatus according to the first embodiment shown in FIG. Further, in FIG. 13, the same components as those of the error corrector according to the first embodiment shown in FIG.
  • the error corrector 110 shown in FIG. 13 includes a reliability generator 301, a reliability storage memory 202, a row processing operation unit 203, a column processing operation unit 204, a first column processing output value storage memory 205, and an estimated word generator 206. , An estimated word storage memory 207, a decoding result determination unit 208, a second column processing output value storage memory 209, and a controller 211.
  • the difference between the error corrector of the fourth embodiment shown in FIG. 13 and the error corrector of the first embodiment shown in FIG. 2 is that the reliability generator 301 stores reliability information in the reliability storage memory 202. Not only that, but using the previous reliability information stored in the reliability storage memory 202, new reliability information is generated.
  • the reliability generator 301 When decoding is performed using the reliability information of the same data block as the previous time, the reliability generator 301 generates the previously generated reliability information stored in the reliability storage memory 202 and the current generation.
  • the reliability information is generated by performing calculation processing based on the probability calculation using the reliability information and stored in the reliability storage memory 202.
  • the column processing computing unit 204 computes the column processing output value using the reliability information after the computation processing stored in the reliability storage memory 202 and the row processing output value.
  • FIG. 14 and FIG. 15 are flowcharts for explaining the decoding process of the error corrector in the fourth embodiment of the present invention.
  • steps S61, S62, and S65 to S77 in FIGS. 14 and 15 are the same as the processes in steps S1 to S15 in FIGS. 5 and 6, and thus the description thereof will be omitted.
  • the reliability generator 301 reads the previous reliability ⁇ n stored in the reliability storage memory 202 (step S63).
  • the reliability generator 301 performs an operation based on probability calculation using the generated reliability ⁇ n and the previous reliability ⁇ n read out from the reliability storage memory 202 according to the received reproduction data sequence. By performing the process, reliability information is generated (step S64).
  • step S63 and S64 the processing of step S63 and S64 is not is performed, the generated confidence lambda n is stored to the reliability storage memory 202.
  • step S65 are the same as the processes in the first embodiment, but the decoding process is performed using the reliability with which the arithmetic process based on the probability calculation is performed.
  • the integration processing may be performed based on the probability distribution.
  • the column process output value ⁇ mn that is the previous decoding result is used as the initial value at the next decoding, but the present invention is not limited to this. Even with the configuration in which the reliability is newly generated by arithmetic processing based on the probability calculation, the same effect as in the case of reproducing a plurality of times can be obtained.
  • the error corrector 110 includes the second column processing output value storage memory 209, but the present invention is not particularly limited to this.
  • the error corrector 110 in the fourth embodiment may not include the second column processing output value storage memory 209 but may include the estimated word reliability storage memory 501 in the second and third embodiments.
  • the reliability generator 301 uses the generated reliability ⁇ n and a column processing output value ⁇ mn stored in the second column processing output value storage memory 205 to generate a new value.
  • the reliability information may be generated.
  • the time during the reproduction operation is measured, and when the measured reproduction time reaches the preset maximum time, the decoding process loop and the repetitive reproduction process are ended. good.
  • the reliability information sequence may be stored in the reliability storage memory 202 for a predetermined amount of data and then the subsequent decoding process may be performed. .
  • the method of generating a new estimated word reliability L n ′ is not limited to the above method.
  • the reliability is binary information
  • the most frequent method is used. By adopting high results, the amount of memory required can be reduced.
  • the optical disk apparatus for reproducing information from the optical disk is shown.
  • the present invention is not limited to this, and a decoding apparatus may be used in the information communication system as shown in FIG.
  • FIG. 16 is a diagram showing a configuration of an information communication system according to Embodiments 1 to 4 of the present invention.
  • the information communication system of FIG. 16 includes a transmitter 901, a communication channel 902, and a receiver 903.
  • the communication information transmitted by the transmitting device 901 is transmitted to the receiving device 903 via the communication channel 902.
  • the communication information is an electrical signal or an optical signal.
  • the receiver 903 includes a preamplifier 103, an A / D converter 104, a PLL circuit 105, a waveform equalizer 106, a Viterbi decoder 107, a synchronization signal detector 108, a demodulator 109, an error corrector 110, a system controller 116, and reception. And a transmitter 905.
  • a preamplifier 103 an A / D converter 104
  • PLL circuit 105 a waveform equalizer 106
  • a Viterbi decoder 107 a Viterbi decoder 107
  • a synchronization signal detector 108 a demodulator 109
  • an error corrector 110 a system controller 116
  • the receiver 904 receives the communication information (data) transmitted by the transmission device 901, and outputs the communication information (data) to the preamplifier 103.
  • the transmitter 905 transmits a retransmission command to the transmitter 901 via the communication channel 902 when the controller 211 (not shown) determines that error correction is not possible for the communication information transmitted by the transmitter 901.
  • the transmitting apparatus 901 transmits again the communication information of the same data block as the previous one.
  • the receiving apparatus 903 performs the decoding process a plurality of times in combination with the previous communication information as described in the first to third embodiments.
  • a decoding apparatus receives data composed of a plurality of data blocks, and decodes the data based on reliability information of the data encoded by a parity check matrix in the data block.
  • a decryption device for generating the reliability information based on the input data, a reliability storage memory for storing the reliability information, and line processing output by performing line processing
  • a row processing calculator that calculates a value, a column processing calculator that calculates a column processing output value by performing column processing, and a control that inputs the reliability information of the same data block to the reliability storage memory multiple times
  • the row processing computing unit computes the row processing output value by performing row processing using the column processing output value computed by the column processing computing unit.
  • a column processing computing unit performs column processing by performing column processing using the row processing output value calculated by the row processing output value and the reliability information generated by the reliability generator.
  • the reliability generator stores previously generated reliability information stored in the reliability storage memory when decoding is performed using the reliability information of the same data block as the previous one.
  • the reliability information is newly generated by performing arithmetic processing based on probability calculation using the reliability information generated this time, and the reliability information is stored in the reliability storage memory, and the column processing arithmetic unit
  • the row processing output value is calculated using the newly generated reliability information stored in the degree storage memory and the row processing output value.
  • the reliability generator generates reliability information based on the input data.
  • the reliability storage memory stores reliability information.
  • the row processing computing unit computes a row processing output value by performing row processing.
  • the column processing computing unit computes column processing output values by performing column processing.
  • the controller inputs the reliability information of the same data block into the reliability storage memory multiple times.
  • the row processing computing unit computes the row processing output value by performing row processing using the column processing output value computed by the column processing computing unit.
  • the column processing computing unit computes the column processing output value by performing column processing using the row processing output value calculated by the row processing output value and the reliability information generated by the reliability generator.
  • the reliability generator When decoding is performed using the reliability information of the same data block as the previous one, the reliability generator stores the previously generated reliability information stored in the reliability storage memory and the reliability generated this time The reliability information is newly generated by performing arithmetic processing based on the probability calculation using the information and stored in the reliability storage memory.
  • the column processing computing unit computes a column processing output value using the newly generated reliability information stored in the reliability storage memory and the row processing output value.
  • decoding is performed multiple times on the data with a high error rate before error correction using the reliability information of the same data block, so the error rate of the decoded data can be reduced, and S / N can be improved.
  • the above-mentioned decoding apparatus further includes a column processing output value storage memory for storing a column processing output value calculated by the column processing calculator based on the reliability information inputted previously, and the row processing calculator Using the previous column processing output value stored in the column processing output value storage memory as the initial value of the row processing when decoding using the reliability information of the same data block as the previous time is performed Is preferred.
  • the column processing output value storage memory stores the column processing output value calculated by the column processing arithmetic unit based on the reliability information input previously.
  • the row processing arithmetic unit uses the previous column processing output value stored in the column processing output value storage memory as the initial value of row processing when decoding using the reliability information of the same data block as the previous time is performed. .
  • the column processing output value stored in the column processing output value storage memory is a value representing the likelihood of the previous reproduction data
  • the previous column processing output value stored in the column processing output value storage memory Repeated decoding is performed on data different from the previous data as an initial value of row processing, so that multiple reproduction energy can be used, and errors that could not be corrected in the previous reproduction can be corrected.
  • an estimated word generator for generating an estimated word based on the reliability information and the line processing output value, and an estimated word reliability storage memory for storing the reliability of the estimated word.
  • the estimated word generator further includes a degree of reliability of the previous estimated word stored in the estimated word reliability storage memory when decoding using the same degree of reliability information of the same data block as the previous time is performed;
  • the reliability of the estimated word is updated using operation processing based on probability calculation based on the reliability information input this time and the reliability of the estimated word generated based on the line processing output value, and the update
  • the estimated word is generated according to the degree of confidence of the estimated word.
  • the estimated word generator generates the estimated word based on the reliability information and the line processing output value.
  • the estimated word reliability storage memory stores the estimated word reliability.
  • the estimation word generator uses the reliability of the previous estimation word stored in the estimation word reliability storage memory, and the reliability input this time Based on the degree information and the degree of reliability of the estimated word generated based on the line processing output value, the degree of reliability of the estimated word is updated using operation processing based on probability calculation, and the degree of reliability of the updated estimated word is updated Generate an estimated word.
  • the error rate of the decoded data can be reduced because the reliability of the estimated word is updated using operation processing based on probability calculation and the estimated word is generated according to the reliability of the updated estimated word. , S / N can be improved.
  • the row processing operation unit repeatedly calculates the row processing output value using the column processing output value calculated by the column processing operation unit, and the controller is configured to execute the row processing operation. Monitoring the number of times of calculation processing of the row processing output value by the processing unit, and when the number of times of calculation processing reaches a predetermined number, causing the reliability storage memory to input the reliability information of the same data block as the previous time preferable.
  • the row processing operation unit repeatedly calculates the row processing output value using the column processing output value calculated by the column processing operation unit.
  • the controller monitors the number of times of operation processing of the line processing output value by the line processing operation unit, and when the number of operation processing reaches a predetermined number, inputs reliability information of the same data block as the previous time
  • the above-mentioned decoding device further includes a decoding result judgment unit which judges a decoding result, and the controller is configured to trust the data block for which the judgment result by the decoding result judgment unit does not satisfy a predetermined condition
  • the decryption processing is performed again using the reliability information stored in the degree storage memory.
  • the decoding process is performed again using the reliability information stored in the reliability storage memory for the data block for which the determination result by the decoding result determiner does not satisfy the predetermined condition. It can be determined whether to perform the decoding process again according to the decoding result.
  • an estimated word generator that generates an estimated word based on the reliability information and the line processing output value, and is generated based on the reliability information and the line processing output value.
  • a parity checker that verifies that the estimated word has been correctly decoded, wherein the controller is further configured to determine whether the data block whose check result by the parity checker does not satisfy a predetermined condition is the reliability.
  • the decryption processing is performed again using the reliability information stored in the storage memory.
  • the estimated word generator generates the estimated word based on the reliability information and the line processing output value.
  • the parity checker verifies that the estimated word generated based on the reliability information and the row processing output value is correctly decoded. Then, the controller performs the decoding process again on the data block for which the inspection result by the parity checker does not satisfy the predetermined condition, using the reliability information stored in the reliability storage memory.
  • an estimated word generator that generates an estimated word based on the reliability information and the row processing output value, and the reliability of the row processing output value, the row processing output value, or the estimated word.
  • a decoding result judging unit that judges the decoding result by comparing any of the calculation results of the degree with a predetermined threshold value, and the controller further determines that the judgment result by the decoding result judging unit is a predetermined condition. It is preferable that the data block that is not satisfied be decoded again using the reliability information stored in the reliability storage memory.
  • the estimated word generator generates the estimated word based on the reliability information and the line processing output value.
  • the decoding result determiner determines the decoding result by comparing the operation result of any of the column processing output value, the row processing output value, and the reliability of the estimated word with a predetermined threshold. Then, the controller performs the decoding process again on the data block for which the determination result by the decoding result determination unit does not satisfy the predetermined condition, using the reliability information stored in the reliability storage memory.
  • the decoding result can be determined by comparing the operation result of the column processing output value, the row processing output value, or the reliability of the inferred word with a predetermined threshold value, and the decoding result can be decoded again according to the decoding result It can be determined whether to perform the process.
  • the decoding apparatus further includes an estimated word generator that generates an estimated word based on the reliability information and the line processing output value, and the estimated word generator is configured to calculate the reliability of the estimated word Preferably, when stored in the estimated word reliability storage memory, the estimated word is generated in accordance with the reliability of the updated estimated word.
  • the estimated word is generated according to the reliability of the updated estimated word, so the error rate of the decoded data It is possible to reduce and to improve the S / N.
  • the decoding apparatus receives data composed of a plurality of data blocks, and inputs the data based on reliability information of the data encoded by a parity check matrix in the data blocks.
  • a decoding apparatus for decoding comprising: a reliability storage memory for storing the reliability information, a row processing computing unit for calculating a row processing output value by performing row processing, and the column processing output by performing column processing
  • a column processing arithmetic unit for calculating a value, a column processing output value storage memory for storing the column processing output value, and a controller for inputting the reliability information of the same data block to the reliability storage memory a plurality of times;
  • the row processing computing unit computes the row processing output value by performing row processing using the column processing output value computed by the column processing computing unit, and the column processing computation is performed.
  • the column processing output value is calculated by performing column processing using the row processing output value calculated by the row processing output value and the reliability information generated by the reliability generator.
  • the column processing output value storage memory stores a column processing output value calculated by the column processing calculator based on the reliability information inputted previously, and the row processing calculator stores the same data block as the previous data When decoding using reliability information is performed, the previous column processing output value stored in the column processing output value storage memory is used as the initial value of the row processing.
  • the reliability storage memory stores the reliability information.
  • the row processing computing unit computes a row processing output value by performing row processing.
  • the column processing computing unit computes column processing output values by performing column processing.
  • the column processing output value storage memory stores column processing output values.
  • the controller inputs the reliability information of the same data block into the reliability storage memory multiple times.
  • the row processing computing unit computes the row processing output value by performing row processing using the column processing output value computed by the column processing computing unit.
  • the column processing computing unit computes the column processing output value by performing column processing using the row processing output value calculated by the row processing output value and the reliability information generated by the reliability generator.
  • the column processing output value storage memory stores the column processing output value calculated by the column processing arithmetic unit based on the reliability information input previously.
  • the row processing arithmetic unit uses the previous column processing output value stored in the column processing output value storage memory as the initial value of row processing when decoding using the reliability information of the same data block as the previous time is performed. .
  • decoding is performed multiple times on the data with a high error rate before error correction using the reliability information of the same data block, so the error rate of the decoded data can be reduced, and S / N can be improved.
  • the column processing output value stored in the column processing output value storage memory is a value representing the likelihood of the previous reproduction data
  • the previous column processing output value stored in the column processing output value storage memory is Repeated decoding is performed on data different from the previous data as an initial value of row processing, so that multiple reproduction energy can be used, and errors that could not be corrected in the previous reproduction can be corrected.
  • the decoding apparatus receives data composed of a plurality of data blocks, and inputs the data based on reliability information of the data encoded by a parity check matrix in the data blocks.
  • a decoding apparatus for decoding comprising: a reliability storage memory for storing the reliability information, a row processing computing unit for calculating a row processing output value by performing row processing, and the column processing output by performing column processing
  • a column processing computing unit that calculates a value, an estimated word generator that generates an estimated word based on the reliability information and the row processing output value, and an estimated word reliability storage memory that stores the reliability of the estimated word
  • a controller for inputting the reliability information of the same data block to the reliability storage memory multiple times, and the row processing operation unit is configured to execute the column processing calculated by the column processing operation unit.
  • the row processing output value is calculated by performing row processing using a force value, and the column processing computing unit generates the row processing output value calculated by the row processing output value and the reliability generator.
  • the column processing output value is calculated by performing column processing using the calculated reliability information, and the estimated word generator decodes the same data block as the previous one using the reliability information.
  • the estimated word reliability is updated using operation processing based on probability calculation, and the estimated word is generated according to the updated estimated word reliability.
  • the reliability storage memory stores the reliability information.
  • the row processing computing unit computes a row processing output value by performing row processing.
  • the column processing computing unit computes column processing output values by performing column processing.
  • the estimated word generator generates an estimated word based on the reliability information and the line processing output value.
  • the estimated word reliability storage memory stores the estimated word reliability.
  • the controller inputs the reliability information of the same data block into the reliability storage memory multiple times.
  • the row processing computing unit computes the row processing output value by performing row processing using the column processing output value computed by the column processing computing unit.
  • the column processing computing unit computes the column processing output value by performing column processing using the row processing output value calculated by the row processing output value and the reliability information generated by the reliability generator.
  • the estimated word generator receives the previous estimated word reliability stored in the estimated word reliability storage memory when decoding is performed using the reliability information of the same data block as the previous time,
  • the estimated word reliability is updated using operation processing based on probability calculation based on the reliability information and the estimated word reliability generated based on the line processing output value, and the estimated word is updated according to the updated estimated word reliability Generate
  • the error rate of the decoded data can be reduced because the reliability of the estimated word is updated using operation processing based on probability calculation and the estimated word is generated according to the reliability of the updated estimated word. , S / N can be improved.
  • the decoding apparatus receives data composed of a plurality of data blocks, and inputs the data based on reliability information of the data encoded by a parity check matrix in the data blocks.
  • a decoding apparatus that decodes, based on the reliability information generated based on the input data, a column processing output value calculated by performing column processing, reliability information, and a row processing output value
  • the memory storing at least one of the reliability of the estimated word generated by using the at least one of the reliability information, the column processing output value, and the reliability of the estimated word.
  • a decoding processing unit that performs predetermined decoding processing multiple times on the reliability information of the data block.
  • the memory is based on the reliability information generated based on the input data, the column processing output value calculated by performing column processing, and the reliability information and the row processing output value. Store at least one of the confidence levels of the generated estimated word.
  • the decoding processing unit performs predetermined decoding processing multiple times on the reliability information of the same data block using at least one of the reliability information, the column processing output value, and the reliability of the estimated word.
  • the demodulator With respect to the data of which the synchronization deviation has been corrected by the demodulator, at least one of the reliability information, the column processing output value and the reliability of the estimated word is used for the reliability information of the same data block. Since the predetermined decoding process is performed a plurality of times, it is possible to suppress the synchronization deviation and to improve the S / N of the decoded data.
  • a decoding method for decoding comprising: a reliability generation step of generating the reliability information based on the input data; a reliability storage step of storing the reliability information in a reliability storage memory; and row processing A row processing operation step of computing a row processing output value by performing, a column processing operation step of computing the column processing output value by performing column processing, and the reliability storage of the reliability information of the same data block And a control step of inputting to the memory a plurality of times, wherein the row processing operation step is the column processing output calculated in the column processing operation step.
  • the row processing output value is calculated by performing row processing using the column processing operation step
  • the column processing operation step includes the row processing output value calculated in the row processing output step and the value generated in the reliability generation step
  • the column processing output value is calculated by performing column processing using reliability information, and in the reliability generation step, when decoding is performed using reliability information of the same data block as the previous one,
  • the reliability information is newly generated by performing arithmetic processing based on the probability calculation using the previously generated reliability information stored in the reliability storage memory and the reliability information generated this time.
  • the column processing operation step uses the row processing output value and the newly generated reliability information stored in the reliability storage memory. To calculate the physical output value.
  • the reliability information is generated based on the input data.
  • reliability storage step reliability information is stored in the reliability storage memory.
  • the row processing output value is calculated by performing the row processing.
  • column processing output values are calculated by performing column processing.
  • control step reliability information of the same data block is input to the reliability storage memory multiple times.
  • the row processing output value is calculated by performing the row processing using the column processing output value calculated in the column processing operation.
  • column processing output values are calculated by performing column processing using the row processing output value calculated in the row processing output step and the reliability information generated in the reliability generation step.
  • the reliability generation step when decoding is performed using the reliability information of the same data block as the previous time, the previously generated reliability information stored in the reliability storage memory and the reliability generated this time Reliability information is newly generated by performing arithmetic processing based on probability calculation using information and is stored in the reliability storage memory.
  • a column processing output value is calculated using the newly generated reliability information stored in the reliability storage memory and the row processing output value.
  • decoding is performed multiple times on the data with a high error rate before error correction using the reliability information of the same data block, so the error rate of the decoded data can be reduced, and S / N can be improved.
  • the decoding device and the decoding method according to the present invention are useful for a decoding device and a decoding method for decoding data using a plurality of reproduction signals, and are useful for increasing the density of recording media and improving the overall system feasibility. is there.
  • the present invention can be applied to a decoding apparatus and a decoding method using a large-capacity optical disc, to a digital communication apparatus and a digital communication method, and to an integrated circuit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

 制御器(211)は、同一のデータブロックの信頼度情報を信頼度格納メモリ(202)に複数回入力し、信頼度生成器(201)は、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、信頼度格納メモリ(202)に保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して信頼度格納メモリ(202)に保存し、列処理演算器(204)は、信頼度格納メモリ(202)に保存された新たに生成された信頼度情報と行処理出力値とを用いて列処理出力値を演算する。

Description

復号装置及び復号方法
 本発明は、誤りが発生した箇所について複数の信号を利用してデータを復号する復号装置及び復号方法に関するものである。
 近年、磁気ディスク装置又は光ディスク装置などの記憶装置の高密度化に伴い、記憶装置から読み出された信号から正確にデータを取得するための種々の技術が適用されている。従来の技術としては、誤り検出、訂正処理、及び再生エラーが検出された際に再生動作のリトライを行うリトライ処理などが、利用されている。例えば、光ディスク装置におけるリトライ処理では、フォーカスオフセット又は信号振幅などの各種リトライパラメータが変更されて誤り箇所が再度再生されることによって、再生データの信号品質を向上させている。
 更に、信号品質を向上させる技術としては、同一領域を複数回再生し、メモリ回路を用いて同一波形の加算平均を算出する手法(例えば、特許文献1及び特許文献2参照)、又は、読み出した複数のデータを比較して最も頻度が高いデータを採用する多数決手法(例えば、特許文献3及び特許文献4参照)がある。
 近年、衛星放送規格又は次世代通信規格などでは、強力な誤り訂正符号としてLDPC(Low-Density-Parity-Check)符号が採用されている。LDPC符号では、従来の代数的な誤り訂正符号とは異なり、復号処理に確率推論計算を利用することで、シャノン限界に近い性能を獲得している。この様な誤り訂正技術を用いることで、エラーレートが非常に悪い再生信号に対しても誤り訂正を行うことができる。そのため、記録密度の向上及び通信容量の向上などを目的とする多くの分野で、上記の誤り訂正技術の応用が始まっている。
 しかしながら、この誤り訂正技術を用いるような再生系では、再生信号の品質が悪い。そのため、複数の再生信号を毎回同一のタイミングでサンプリングすることは非常に困難である。特許文献1及び特許文献2に開示されている従来の構成では、複数の再生信号を平均化する必要があるため、正確に同一のタイミングで複数回再生する必要がある。しかしながら、再生信号の品質が悪い場合には、同一のタイミングで再生することは非常に難しく、極端なケースでは同期回路(PLL(Phase Locked Loop)回路)でのビットスリップなどが発生する。これによって、波形のサンプリングに同期ずれが発生し、再生性能が大きく劣化するという課題を有していた。
 このビットスリップが発生する場合について、図17及び図18を用いて簡単に説明する。図17は、正常時のサンプリングデータの一例を示す図であり、図18は、同期ずれが発生した場合のサンプリングデータの一例を示す図である。特許文献2に記載の光ディスク記録再生装置では、光ディスクから読み出した再生信号をA/D変換器でデジタル値に変換したデジタル信号がメモリに保存され、2つの再生波形を用いて平均処理が行われる。図17に示すように、同期ずれが発生せず正常時に適切なサンプリングタイミングで再生信号が取得されれば、最大で3dBのS/N比の改善効果を得ることができる。
 これに対して、同期ずれ(タイミングずれ)が発生すると、図18に示すように、1回目の再生波形と2回目の再生波形とを用いて正しく平均化できなくなり、複数回再生することによって、1回だけ再生した場合よりもエラーレートを悪化させてしまう。更には、同期ずれを起こして平均化された再生信号の波形は、本来の再生レベルとは全く異なった波形となる。そのため、信号処理系は、同期パターン等による再生信号の通常の同期処理を行うことができず、誤り訂正器に正確なタイミングで信号を送ることができなくなる。
 従来の複数回の再生が行われる装置において上記の課題が発生する本質的な原因は、再生された信号を同期処理の前に平均化することに由来する。LDPC符号を用いるようなシステムでは、誤り訂正の前の再生信号のエラーレートが高く、上記の課題は、ますます深刻なものとなる。
特開2000-242907号公報 特許第4006446号公報 特開2002-93068号公報 特開2003-141822号公報
 本発明は、上記の問題を解決するためになされたもので、復号されたデータのエラーレートを低減することができ、S/Nを向上させることができる復号装置及び復号方法を提供することを目的とするものである。
 本発明の一局面に係る復号装置は、複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、入力された前記データに基づいて前記信頼度情報を生成する信頼度生成器と、前記信頼度情報を保存する信頼度格納メモリと、列処理出力値を用いて、行処理を行うことにより行処理出力値を演算する行処理演算器と、前記行処理出力値と前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算する列処理演算器と、同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御器とを備え、前記信頼度生成器は、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、前記信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して前記信頼度格納メモリに保存し、前記列処理演算器は、前記信頼度格納メモリに保存された前記新たに生成された信頼度情報と前記行処理出力値とを用いて前記列処理出力値を演算する。
 この構成によれば、信頼度生成器は、入力されたデータに基づいて信頼度情報を生成する。信頼度格納メモリは、信頼度情報を保存する。行処理演算器は、列処理出力値を用いて、行処理を行うことにより行処理出力値を演算する。列処理演算器は、行処理出力値と信頼度情報とを用いて、列処理を行うことにより列処理出力値を演算する。制御器は、同一のデータブロックの信頼度情報を信頼度格納メモリに複数回入力する。信頼度生成器は、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して信頼度格納メモリに保存する。列処理演算器は、信頼度格納メモリに保存された新たに生成された信頼度情報と行処理出力値とを用いて列処理出力値を演算する。
 本発明によれば、誤り訂正前のエラーレートの高いデータに対して、同一のデータブロックの信頼度情報を用いて復号が複数回行われるので、復号されたデータのエラーレートを低減することができ、S/Nを向上させることができる。
 本発明の目的、特徴及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
本発明の実施の形態1に係る光ディスク装置の構成を示す図である。 本発明の実施の形態1に係る誤り訂正器の詳細な構成を示す図である。 データブロック毎に繰返しデータを再生する処理について説明するための図である。 複数のデータブロックを1つの再生単位としてデータを再生する処理について説明するための図である。 本発明の実施の形態1における誤り訂正器の復号処理について説明するための第1のフローチャートである。 本発明の実施の形態1における誤り訂正器の復号処理について説明するための第2のフローチャートである。 本発明の実施の形態1における誤り訂正器によって得られるBER(符号誤り率)特性を示す図である。 本発明の実施の形態2に係る誤り訂正器の詳細な構成を示す図である。 本発明の実施の形態2における誤り訂正器の復号処理について説明するための第1のフローチャートである。 本発明の実施の形態2における誤り訂正器の復号処理について説明するための第2のフローチャートである。 本発明の実施の形態3における誤り訂正器の復号処理について説明するための第1のフローチャートである。 本発明の実施の形態3における誤り訂正器の復号処理について説明するための第2のフローチャートである。 本発明の実施の形態4に係る誤り訂正器の詳細な構成を表す図である。 本発明の実施の形態4における誤り訂正器の復号処理について説明するための第1のフローチャートである。 本発明の実施の形態4における誤り訂正器の復号処理について説明するための第2のフローチャートである。 本発明の実施の形態1~4に係る情報通信システムの構成を示す図である。 正常時のサンプリングデータの一例を示す図である。 同期ずれが発生した場合のサンプリングデータの一例を示す図である。
 以下本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定するものではない。
 (実施の形態1)
 以下、本発明の実施の形態1に係る復号装置及び復号方法について図面を参照しながら詳細に説明する。
 図1は、本発明の実施の形態1に係る光ディスク装置の構成を示す図である。図1に示す光ディスク装置は、光ピックアップ102、プリアンプ103、A/D変換器104、PLL(Phase Locked Loop)回路105、波形等化器106、ビタビ復号器107、同期信号検出器108、復調器109、誤り訂正器110、ウォブル検出器111、アドレス検出器112、スピンドルモータ113、モータドライバ114、サーボコントローラ115及びシステムコントローラ116を備える。
 光ピックアップ102は、光ディスク101に光を照射するとともに、光ディスク101からの反射光を検出し、検出した反射光に応じた再生信号を出力する。プリアンプ103は、光ピックアップ102からの再生信号を増幅する。A/D変換器104は、プリアンプ103からの出力をサンプリングする。PLL回路105は、A/D変換器104にクロックを供給する。波形等化器106は、A/D変換器104からのサンプリングデータの波形整形を行う。ビタビ復号器107は、波形等化器106からの出力データを基に最尤復号を行う。同期信号検出器108は、ビタビ復号器107の復号結果から同期信号を検出する。復調器109は、同期信号を基準として復号結果を復調する。誤り訂正器110は、復調結果を誤り訂正処理する。
 ウォブル検出器111は、光ディスク101の案内溝の蛇行成分を検出し、ウォブル信号を出力する。アドレス検出器112は、ウォブル検出器111から出力されたウォブル信号からアドレス情報を検出する。スピンドルモータ113は、光ディスク101を回転させる。モータドライバ114は、スピンドルモータ113及び光ピックアップ102を駆動する。サーボコントローラ115は、モータドライバ114を制御する。システムコントローラ116は、図示しないホストコンピュータに対して情報を送受信するとともに、光ディスク装置内の各回路に対する動作の制御及び各種設定を行う。
 図1において、光ピックアップ102とプリアンプ103とを介して再生された記録媒体である光ディスク101からの再生信号は、A/D変換器104に入力し、デジタル信号に変換される。波形等化器106は、入力したデジタル信号に対し、再生系の周波数特性が所定のPR等化方式になるように波形整形を行う。波形が整形されたデジタル信号は、ビタビ復号器107によって、最も確からしいデータに復号される。
 PLL回路105は、再生信号に同期する再生クロックを生成する。A/D変換器104以降の回路は、PLL回路105から供給される再生クロックに従って動作する。同期信号検出器108は、ビタビ復号器107から出力された復号データから同期信号を検出し、同期信号の検出タイミングを復調器109へ出力する。復調器109は、同期信号の検出タイミングを基準位置として、光ディスク101上の記録パターンの形式から記録情報の形式へ復号データを復調する。誤り訂正器110は、同期処理され復調された再生データに対して誤り訂正処理を行う。
 データは、複数のデータブロックで構成される。誤り訂正処理が完了した復号データは、システムコントローラ116によって、図示しないインターフェイスを通じてホストコンピュータへ転送される。
 ウォブル検出器111は、光ピックアップ102で検出された信号から光ディスク101の案内溝の蛇行成分を検出する。具体的には、光ピックアップ102は、光ディスク101の案内溝に沿って分割された少なくとも2つの受光素子を備える。2つの受光素子は、光ディスク101からの反射光をそれぞれ検出する。2つの受光素子の差信号はプッシュプル信号と呼ばれ、これがウォブル成分を反映した信号となる。光ディスク101には、データを記録するためのトラックがプリグルーブとして予め形成されている。プリグループの側壁は、アドレス情報等を変調したウォブル信号により蛇行している。記録時又は再生時に反射光情報として得られるウォブル情報から、光ディスク101の所定の位置へのデータの記録又は再生を可能とするウォブルアドレスを読み取ることができる。
 アドレス検出器112は、ウォブル検出器111で検出されたウォブル信号からウォブルアドレスを検出し、アドレスデータを復調する。復調されたアドレスデータは、システムコントローラ116に供給される。目的のアドレスにシーク動作をする際には、システムコントローラ116は、供給されたアドレスデータに基づいて、サーボコントローラ115及びモータドライバ114を介してスピンドルモータ113、光ピックアップ102及び図示しない光ピックアップ駆動部を制御する。これにより、システムコントローラ116は、光ピックアップ102を目的のアドレスに移動させる。
 なお、上記の光ディスク装置は、ウォブル信号からアドレスデータを読み取っているが、デジタル信号(RF信号)に埋め込まれたアドレス情報を読み取っても良い。
 図2は、本発明の実施の形態1に係る誤り訂正器110の詳細な構成を示す図である。誤り訂正器110は、複数のデータブロックで構成されたデータが入力され、データブロック内でパリティ検査行列によって符号化されたデータの信頼度情報に基づいてデータを復号する。
 誤り訂正器110は、信頼度生成器201、信頼度格納メモリ202、行処理演算器203、列処理演算器204、第1の列処理出力値格納メモリ205、推定語生成器206、推定語格納メモリ207、復号結果判定器208、第2の列処理出力値格納メモリ209及び制御器211を備える。
 信頼度生成器201は、復調器109からの再生データyの信頼度λを生成する。信頼度格納メモリ202は、信頼度生成器201によって生成された信頼度λを保存する。行処理演算器203は、パリティ検査行列の行処理を行う。行処理演算器203は、列処理出力値を用いて、行処理を行うことにより行処理出力値を演算する。列処理演算器204は、パリティ検査行列の列処理を行う。列処理演算器204は、行処理出力値と信頼度情報とを用いて、列処理を行うことにより列処理出力値を演算する。第1の列処理出力値格納メモリ205は、列処理演算器204によって演算された列処理出力値βmnを保存する。
 推定語生成器206は、信頼度格納メモリ202に保存されている信頼度λと、行処理演算器203によって演算された行処理出力値αmnとに基づいて推定語xを生成する。推定語格納メモリ207は、推定語生成器206によって生成された推定語xを保存する。復号結果判定器208は、推定語x、推定語信頼度L又は列処理出力値βmnなどに基づいて復号結果を判定する。なお、本実施の形態では、復号結果判定器208は、推定語格納メモリ207に保存された推定語xに基づいて復号結果を判定する。
 第2の列処理出力値格納メモリ209は、繰返し再生処理時に、列処理出力値βmnを保存する。
 制御器211は、複数のメモリ及び複数の演算処理回路によって構成される全体システム210に対する実行の指示及び制御などの各種処理作業を統括する。制御器211は、同一のデータブロックの信頼度情報を信頼度格納メモリ202に複数回入力する。制御器211は、図1に示すシステムコントローラ116で構成されても良いし、システムコントローラ116以外の他のプロセッサで構成されても良い。なお、本実施の形態において、各格納メモリは、演算処理回路とは別の外部メモリ装置であっても良いし、フリップフロップなどの回路素子を用いたレジスタのような記憶装置であっても良い。
 第2の列処理出力値格納メモリ209は、前回入力された信頼度情報に基づいて列処理演算器204によって演算された列処理出力値を保存する。行処理演算器203は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、第2の列処理出力値格納メモリ209に保存された前回の列処理出力値を行処理の初期値として用いる。
 また、行処理演算器203は、列処理演算器204によって演算された列処理出力値を用いて行処理出力値を繰り返し演算する。制御器211は、行処理演算器203による行処理出力値の演算処理回数を監視する。演算処理回数が所定の回数に到達した場合、制御器211は、前回と同一のデータブロックの信頼度情報を信頼度生成器201に生成させ、生成した信頼度情報を信頼度格納メモリ202に入力させる。
 また、制御器211は、復号結果判定器208による判定結果が所定の条件を満たさなかったデータブロックに対して、信頼度格納メモリ202に保存されている信頼度情報を用いて再度復号処理を行う。
 また、復号結果判定器208は、信頼度情報と行処理出力値とに基づいて生成される推定語が正しく復号されていることを検査するパリティ検査器を含んでも良い。この場合、制御器211は、パリティ検査器による検査結果が所定の条件を満たさなかったデータブロックに対して、信頼度格納メモリ202に保存されている信頼度情報を用いて再度復号処理を行う。
 さらに、復号結果判定器208は、列処理出力値、行処理出力値又は推定語信頼度のいずれかの演算結果と所定の閾値とを比較することにより、復号結果を判定しても良い。この場合、制御器211は、復号結果判定器208による判定結果が所定の条件を満たさなかったデータブロックに対して、信頼度格納メモリ202に保存されている信頼度情報を用いて再度復号処理を行う。
 まず、本実施の形態の誤り訂正器110に、再生データyが1回入力されたときの復号処理について、図2の構成に従って説明する。
 信頼度生成器201は、復調器109から出力された再生データyを、誤り訂正処理で扱える信頼度の形式に変換する。例えば、通信路モデルをAWGN(加法的白色ガウス雑音)通信路とした場合、信頼度生成器201は、下記の式(1)に示すように、再生データyと通信路の雑音σとから信頼度λを算出する。
Figure JPOXMLDOC01-appb-I000001
 信頼度λは、再生データyの尤もらしさを表す指標であれば、通信路の条件付き確率の比を用いても良いし、対数尤度比を用いても良い。対数尤度比を用いることで、演算処理が簡略化できる。なお、再生データyは、軟判定情報でも良いし、硬判定情報でも良い。
 信頼度生成器201は、生成した信頼度λを信頼度格納メモリ202に保存する。信頼度格納メモリ202に保存された信頼度λは、復号処理時に、列処理演算器204と推定語生成器206とに出力される。
 行処理演算器203は、第1の列処理出力値格納メモリ205に保存されている列処理出力値βmnを用い、下記の式(2)に従ってパリティ検査行列の列の各要素について演算処理(行処理)を行い、演算処理結果を行処理出力値αmnとして出力する。
Figure JPOXMLDOC01-appb-I000002
 ここで、A(m)は、パリティ検査行列Hのm行目において値が1である列インデックスの集合を表し、A(m)\nは、集合A(m)からnを取り去って得られる集合差を表す。行処理出力値αmnについては、n’≠nである。なお、本実施の形態では、光ディスク装置は、行処理出力値αmnを保存するための行処理出力値格納メモリを備えていないが、光ディスク装置は、行処理出力値格納メモリを備えても良い。また、関数sign(x)及びf(x)は、下記の式(3)及び式(4)で定義される。
Figure JPOXMLDOC01-appb-I000003
Figure JPOXMLDOC01-appb-I000004
 列処理演算器204は、下記の式(5)に従って、信頼度格納メモリ202に保存されている信頼度λと、行処理演算器203から出力される行処理出力値αmnとを用いて演算処理(列処理)を行い、演算処理結果を列処理出力値βmnとして出力する。列処理演算器204は、列処理出力値βmnを第1の列処理出力値格納メモリ205に保存する。
Figure JPOXMLDOC01-appb-I000005
 ここで、B(n)は、パリティ検査行列Hのn列目において値が1である行インデックスの集合を表し、B(n)\mは、集合B(n)からmを取り去って得られる集合差を表す。列処理出力値βmnについては、m’≠mである。
 推定語生成器206は、信頼度格納メモリ202に保存されている信頼度λと、行処理演算器203から出力される行処理出力値αmnとを用い、下記の式(6)に基づいて推定語信頼度Lを算出する。式(6)が式(5)と異なる点は、推定語信頼度Lの演算には、パリティ検査行列の要素mから要素nへの行処理出力値αmn自身の値も加える点である。
Figure JPOXMLDOC01-appb-I000006
 推定語信頼度Lの絶対値は、推定の信頼性を表し、推定語信頼度Lの絶対値が大きいほど推定の信頼性が高いことを示す。推定語生成器206は、下記の式(7)に従い、推定語信頼度Lの値が正であれば推定語xの値を「0」に決定し、推定語信頼度Lの値が負であれば推定語xの値を「1」に決定し、決定した推定語xを出力する。推定語生成器206は、推定語xを推定語格納メモリ207に保存する。
Figure JPOXMLDOC01-appb-I000007
 復号結果判定器208は、推定語格納メモリ207に格納された推定語xが正しく復号されたか否かを判定する。制御器211は、復号結果判定器208の判定結果と、後述する処理ループ回数とに基づいて、復号処理を終了するか、引き続き繰返し復号処理を行うかを判断する。引き続き繰返し復号処理を行う場合は、行処理演算器203は、第1の列処理出力値格納メモリ205に保存した列処理出力値βmnを用いて行処理を行い、行処理出力値αmnを更新する。そして、列処理演算器204は、更新された行処理出力値αmnと信頼度λとを用いて列処理出力値βmnを更新する。また、推定語生成器206は、更新された行処理出力値αmnと信頼度λとを用いて推定語信頼度Lを更新し、推定語信頼度Lから推定語xを生成する。この詳しいシーケンスについては、フローチャートを用いて後ほど詳しく説明をする。
 具体的には、復号結果判定器208は、例えば、推定語xに対してパリティ検査を行い、パリティ検査条件を満たしている場合は、推定語xに誤りが無いと判定する。または、復号結果判定器208は、推定語信頼度Lを用いて判定しても良い。すなわち、復号結果判定器208は、全ての推定語信頼度Lの絶対値の平均値が所定の条件を満たす場合、例えば全ての推定語信頼度Lの絶対値の平均値が所定の値以上である場合、推定語はx確率的に正しいと判定しても良い。推定語信頼度Lの代わりに、行処理出力値αmn又は列処理出力値βmnを用いても判定可能である。これ以外にも、予めデータブロック内にエラーを判定できるエラー検出符号を埋め込み、エラー検出符号の検出結果に基づいて判定することもできる。本実施の形態における復号結果判定器208は、データブロックがエラーであることが判定可能であれば、どのような構成でも本実施の形態を実現でき、同様の効果を得ることができる。
 復号処理が終了すると、復号判定結果及び復号データが誤り訂正器110の外部に出力される。これらの各種処理作業は、制御器211の制御に基づいて実行される。
 次に、本実施の形態の誤り訂正器110に、再生データyが複数回入力されたときの復号処理(繰返し再生処理)について、図2の構成に従って説明する。
 前述の再生データyが1回入力されたときの復号処理において、予め設定した処理ループ回数の復号処理を行っても復号結果判定器208によりエラーがあると判定された場合、制御器211は、入力された再生データに対する復号処理では誤り訂正が不可能と判断し、前回と同一のデータブロックを再度再生する。前回と同一のデータブロックの再生は、アドレス検出器112で検出されたアドレス情報に基づいて行われる。
 信頼度生成器201は、前回と同一のデータブロックが再生されることにより得られた2回目の再生データy2iから、下記の式(8)に従って2回目の再生データy2iに対する信頼度λ2nを生成する。信頼度生成器201は、生成した信頼度λ2nを信頼度格納メモリ202に保存する。
Figure JPOXMLDOC01-appb-I000008
 次に、行処理演算器203は、行処理出力値αmnを求める。ここで、2回目の復号処理が1回目の復号処理と異なる点は、1回目の復号処理では、行処理演算器203は、“0”を列処理出力値βmnの初期値として演算するのに対して、2回目の復号処理では、行処理演算器203は、1回目の復号処理の列処理出力値βmnの最終値を初期値として演算する点である。
 1回目の復号処理の列処理出力値の最終値をβ1mnとすると、2回目の行処理出力値α2mnは、下記の式(9)に示すように、1回目の復号処理の行処理出力値の最終値α1mnと等しくなる。
Figure JPOXMLDOC01-appb-I000009
 これより、2回目の復号処理における列処理出力値β2mn及び推定語信頼度L2nは、下記の式(10)及び式(11)に従って求められる。
Figure JPOXMLDOC01-appb-I000010
Figure JPOXMLDOC01-appb-I000011
 ここで、2回目の復号処理の列処理出力値β2mn及び推定語信頼度L2nは、1回目の再生信号のエネルギー(α1m’n)と2回目の再生信号のエネルギー(λ2n)との両方を用いている。そのため、それぞれの再生信号だけで得られる信頼度に比べて、より高い信頼度を得ることが可能となる。
 図3及び図4は、本実施の形態1において繰返しデータを再生する処理について説明するための図であり、図3は、データブロック毎に繰返しデータを再生する処理について説明するための図であり、図4は、複数のデータブロックを1つの再生単位としてデータを再生する処理について説明するための図である。
 図3に示すようにデータブロック毎に繰返しデータが再生される場合は、列処理演算器204は、列処理出力値βmnを上書き更新することが可能である。そのため、誤り訂正器110は、1つの第1の列処理出力値格納メモリ205を備えれば良い。
 これに対して、図4に示すように、複数のデータブロックを1つの再生単位として繰返しデータが再生される場合は、列処理演算器204は、復号判定結果がエラーだったデータブロックの列処理出力値βmnだけを抽出して保存する必要がある。そのため、列処理演算器204は、第1の列処理出力値格納メモリ205内の異なるメモリ空間か、あるいは第2の列処理出力値格納メモリ209を使用する。
 繰返しデータが再生される際に、制御器211は、第1の列処理出力値格納メモリ205内の異なるメモリ空間又は第2の列処理出力値格納メモリ209に保存していた列処理出力値βmnを第1の列処理出力値格納メモリ205に移す。これにより、前回の復号処理ループの列処理出力値βmnの最終値を、次回の復号処理ループの列処理出力値βmnの初期値として使用することができる。
 なお、第1の列処理出力値格納メモリ205の記憶容量にはシステム構成上、一定の上限があるケースが殆どである。そのため、第1の列処理出力値格納メモリ205の使用状況に応じて繰返し再生処理を制御することによって、より高速な再生を実現できる。具体的には、第1の列処理出力値格納メモリ205の記憶容量が上限に達した際に、繰返し再生処理に移行する制御が行われることが、より好ましい。繰返し再生処理に移行するまでの時間は、データ再生の遅延時間となるのでデータ再生の遅延時間を考慮した制御が行われることが、より望ましい。
 このように、複数のデータブロックを1つの再生単位として繰返しデータを再生する方法は、無駄なシーク時間及び回転待ち時間を減らし、転送速度の大幅な低下を防ぐ利点がある。さらに、処理時間の主要因である回転待ち時間をできるだけ少なくするように、繰返しデータが再生されるデータブロックの長さを調整することで、さらに転送速度の低下を防ぐことができる。なお、同一のデータブロックを複数回再生する制御は、制御器211からの命令により行われる。
 次に、本発明の実施の形態1における誤り訂正器110の復号処理について説明する。図5及び図6は、本発明の実施の形態1における誤り訂正器の復号処理について説明するためのフローチャートである。
 まず、制御器211は、初期設定として、復号処理のループ回数、繰返し再生処理の回数及び列処理出力値βmnの初期設定を行う(ステップS1)。復号処理のループ回数は、列処理演算器204で生成された列処理出力値βmnを用いて再び行処理演算器203で行処理出力値αmnを生成する処理が繰返される回数である。制御器211は、復号処理のループ回数として、予め所定の最大回数を設定する。繰返し再生処理の回数は、同一のデータブロックを繰返し再生する回数である。制御器211は、繰返し再生処理の回数として、予め所定の最大回数を設定する。前述の通り、制御器211は、1回目の再生処理時において、列処理出力値βmnを0に設定する。
 次に、信頼度生成器201は、受信した再生データ系列に従って、信頼度λを生成する(ステップS2)。
 次に、信頼度生成器201は、生成した信頼度λを信頼度格納メモリ202に保存する(ステップS3)。
 次に、行処理演算器203は、行処理を行うことにより、列処理出力値βmnから行処理出力値αmnを演算する(ステップS4)。なお、前記の通り、初回再生時における列処理出力値βmnは0に設定される。
 次に、列処理演算器204は、列処理を行うことにより、信頼度λ及び行処理出力値αmnから列処理出力値βmnを演算する(ステップS5)。
 次に、列処理演算器204は、演算した列処理出力値βmnを第1の列処理出力値格納メモリ205に保存する(ステップS6)。
 次に、推定語生成器206は、信頼度λ及び行処理出力値αmnから推定語信頼度Lを生成し、生成した推定語信頼度Lの正負の符号に従って推定語xを生成する(ステップS7)。推定語生成器206は、推定語信頼度Lの符号の判定において、例えば推定語信頼度Lが2の補数で表現されている場合には、最上位の符号ビットの値により、正又は負を判定することができる。
 次に、推定語生成器206は、生成した推定語xを推定語格納メモリ207に保存する(ステップS8)。
 推定語xが全て生成されると、復号結果判定器208は、復号結果を判定する(ステップS9)。
 例えば、パリティ検査により復号結果が判定される場合、復号結果判定器208は、nビットの推定語(x、x、・・・、x)の転置行列とパリティ検査行列Hとを用いて、H・(x、x、・・・、xを計算する。復号結果判定器208は、この計算の結果、生成されるシンドロームが0であれば、推定語が正しく復号されたと判定し、生成されるシンドロームが0でなければ、推定語が誤って復号されたと判定する。復号結果判定器208は、判定結果を制御器21へ出力する。
 あるいは、推定語信頼度Lを用いて復号結果が判定される場合、推定語信頼度Lが0より大きい場合に推定語は0であり、逆に推定語信頼度Lが0より小さい場合に推定語は1であり、推定語信頼度が0に近いほどその推定語の確からしさが小さくなるという定義を利用してもよい。すなわち、復号結果判定器208は、全ての推定語信頼度Lの絶対値の平均値が所定の閾値以上であれば、推定語は確率的に正しいため、正しく復号されていると判定する。一方、復号結果判定器208は、全ての推定語信頼度Lの絶対値の平均値が所定の閾値より小さい場合、誤って復号されていると判定する。
 なお、復号結果判定器208は、誤り検出用の符号を用いて誤りの数を検出して、復号結果を判定しても良い。
 次に、制御器211は、復号結果判定器208による復号判定の結果、推定語が正しく復号されているか否かを判断する(ステップS10)。ここで、推定語が正しく復号されていると判断された場合(ステップS10でYES)、制御器211は、判定結果と共に推定語(x、x、・・・、x)を復号データとして推定語格納メモリ207から出力するよう制御する(ステップS11)。
 一方、推定語が正しく復号されていないと判断された場合(ステップS10でNO)、制御器211は、ループ回数が最大回数であるか否かを判断する(ステップS12)。ここで、ループ回数が最大回数であると判断された場合(ステップS12でYES)、制御器211は、繰返し再生回数が最大回数であるか否かを判断する(ステップS13)。例えば、制御器211は、推定語が生成された回数をカウントし、生成回数が所定の最大回数に到達した場合、その符号についてのループ処理を停止し、繰返し再生回数が最大回数であるか否かを判断する。
 また、制御器211は、行処理演算器203による行処理演算処理回数をカウントし、演算処理回数が所定の最大回数に到達したか否かを判断しても良い。
 繰返し再生回数が最大回数であると判断された場合(ステップS13でYES)、制御器211は、最終的に生成された推定語を復号データとして推定語格納メモリ207から出力するよう制御する(ステップS11)。これにより、雑音が多く収束性の悪い符号に対して、不必要な演算処理時間が増加するのを防ぐことができる。
 また、ステップS12においてループ回数が最大回数ではないと判断された場合(ステップS12でNO)、制御器211は、ループ回数を1だけインクリメントする(ステップS14)。その後、制御器211は、ステップS2の処理へ戻り、再びステップS2以降の処理を実行する。
 ステップS13において繰返し再生回数が最大回数ではないと判断された場合(ステップS13でNO)、制御器211は、最終的に生成された列処理出力値βmnを第2の列処理出力値格納メモリ209に保存するよう制御する(ステップS15)。そして、制御器211は、ステップS1の処理へ戻り、前回と同じ領域(データブロック)を再度再生するよう指示し、前回と同じデータブロックに対応する信頼度を生成し、生成した信頼度を信頼度格納メモリ202に保存する処理が繰り返される。このとき、システムコントローラ116は、アドレス検出器112で検出されたアドレス情報を用いて前回と同じデータブロックを再生する。なお、アドレス情報に基づいてシーク動作を行う際に、ターゲットのアドレスよりも手前の領域にシーク動作を行うことで、前回と同じデータブロックを確実に再生することができる。
 第2の列処理出力値格納メモリ209に保存した列処理出力値βmnは、前回の再生データに対する尤もらしさを表した値である。この値を初期値として、前回と異なる再生データに対して繰返し復号が行われることで、複数回の再生エネルギーを利用できるため、前回の再生時には訂正できなかった誤りを訂正することができる。
 図7は、本発明の実施の形態1における誤り訂正器によって得られるBER(符号誤り率)特性を示す図である。図7において、縦軸は、繰返し再生回数を示し、横軸は、誤り訂正後に誤り無く再生するために必要な入力信号のBERの限界値を示している。ここでは、誤り訂正後の信号に含まれるBERが1E-11以下の状態を誤りの無い状態と定義している。
 従来の繰返し再生を行わないシステムでは、誤り無く再生することが可能な入力信号のBERの訂正限界値は、1.7E-2であった。しかしながら、本実施の形態1の繰返し再生を行うことで、従来の訂正限界値以上に品質が悪い入力信号に対しても誤りの無い再生が可能となった。
 また、A/D変換後に波形を平均処理する従来の方法では、例えば入力信号のBERが1E-1の品質レベルであるとき、同期パターンの誤検出又は未検出により同期ずれが多数発生し、誤りの無い再生を行うことができなかった。しかしながら、本実施の形態1の方法では、1E-1以上に品質が悪い入力信号に対しても誤りの無い再生が可能となり、従来に比べて非常に高い信頼性を得ることができる。
 かかる構成によれば、従来の繰返し再生処理を行わないシステムでは誤り訂正できないような品質の悪い信号を有するデータブロックに対して、該データブロックの信頼度情報が複数回入力され、前回の復号結果である列処理出力値βmnが次回の復号時に初期値として用いられる。これにより、複数回の再生エネルギーを使用でき、従来できなかったエラーレートの低減を実現することができる。また、復調器109において同期ずれのタイミングが補償された再生信号を用いて複数回再生処理が行われるため、従来の課題であった同期ずれを起こした状態での複数回再生処理が行われることは無い。
 (実施の形態2)
 次に、本発明の実施の形態2に係る復号装置及び復号方法について図面を参照しながら詳細に説明する。
 図8は、本発明の実施の形態2に係る誤り訂正器の詳細な構成を示す図である。なお、実施の形態2に係る光ディスク装置の構成は、図1に示す実施の形態1に係る光ディスク装置の構成と同じであるので説明を省略する。また、図8において、図2に示す実施の形態1の誤り訂正器と同一の構成要素については、同一の符号を付し、説明を省略する。図8に示す実施の形態2の誤り訂正器と、図2に示す実施の形態1の誤り訂正器との違いは、誤り訂正器110が、第2の列処理出力値格納メモリ209の代わりに推定語信頼度格納メモリ501を備える点である。
 図8に示す誤り訂正器110は、信頼度生成器201、信頼度格納メモリ202、行処理演算器203、列処理演算器204、第1の列処理出力値格納メモリ205、推定語生成器206、推定語格納メモリ207、復号結果判定器208、制御器211及び推定語信頼度格納メモリ501を備える。
 推定語信頼度格納メモリ501は、推定語生成器206によって生成された推定語信頼度Lを保存する。
 推定語生成器206は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、推定語信頼度格納メモリ501に保存された前回の推定語信頼度と、今回入力された信頼度情報及び行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語信頼度を更新し、更新した推定語信頼度に従って推定語を生成する。
 また、推定語生成器206は、推定語信頼度が推定語信頼度格納メモリ501に保存されているときに、更新した推定語信頼度に従って推定語を生成する。
 図9及び図10は、本発明の実施の形態2における誤り訂正器の復号処理について説明するためのフローチャートである。
 図9及び図10のステップS21~S33の処理は、図5及び図6のステップS1~S12,S14の処理と同じであるため、説明を省略する。
 本実施の形態2では、入力された再生データに対して、繰返し復号処理を行っても推定語が正しく復号されず(ステップS30でNO)、さらにループ回数が所定の最大回数に到達した場合(ステップS32でYES)、制御器211は、推定語信頼度格納メモリ501に、前回までの推定語信頼度Lが保存されているか否かを判断する(ステップS34)。
 ここで、推定語信頼度格納メモリ501に前回までの推定語信頼度Lが保存されていないと判断された場合(ステップS34でNO)、推定語生成器206は、最終的に生成された推定語信頼度Lを推定語信頼度格納メモリ501に保存する(ステップS35)。そして、制御器211は、ステップS1の処理へ戻り、前回と同じデータブロックを再度再生する。このとき、システムコントローラ116は、アドレス検出器112で検出されたアドレス情報を用いて前回と同じ領域(データブロック)を再生する。
 一方、推定語信頼度格納メモリ501に前回までの推定語信頼度Lが保存されていると判断された場合(ステップS34でYES)、推定語生成器206は、ステップS27において最終的に生成された推定語信頼度Lと、推定語信頼度格納メモリ501に保存されている推定語信頼度Lとを用い、確率計算に基づいた演算処理によって推定語信頼度L’を生成し、生成した推定語信頼度L’の正負の符号に従って新たな推定語x’を生成する(ステップS36)。
 次に、復号結果判定器208は、生成された新たな推定語x’を使って復号結果を判定する(ステップS37)。
 次に、制御器211は、復号結果判定器208による復号判定の結果、推定語が正しく復号されているか否かを判断する(ステップS38)。ここで、推定語が正しく復号されていると判断された場合(ステップS38でYES)、制御器211は、判定結果と共に推定語x’を復号データとして推定語格納メモリ207から出力するよう制御する(ステップS31)。
 一方、推定語が正しく復号されていないと判断された場合(ステップS38でNO)、制御器211は、繰返し再生回数が最大回数であるか否かを判断する(ステップS39)。ここで、繰返し再生回数が所定の最大回数であると判断された場合(ステップS39でYES)、制御器211は、判定結果と共に推定語x’を復号データとして推定語格納メモリ207から出力するよう制御する(ステップS31)。
 一方、繰返し再生回数が所定の最大回数ではないと判断された場合(ステップS39でNO)、推定語生成器206は、最終的に生成された推定語信頼度Lを推定語信頼度格納メモリ501に保存する(ステップS35)。そして、制御器211は、ステップS1の処理へ戻り、前回と同じデータブロックを再度再生する。
 かかる構成によれば、従来の繰返し再生処理を行わないシステムでは誤り訂正できないような品質の悪い信号を有するデータブロックに対して、該データブロックの信頼度情報が複数回入力され、前回の推定語信頼度と、今回の再生データから生成された推定語信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語信頼度が生成され、生成された推定語信頼度を用いて新たな推定語が生成される。これにより、実施の形態1と同様に、複数回の再生エネルギーが使用でき、従来できなかったエラーレートの低減を実現することができる。
 (実施の形態3)
 次に、本発明の実施の形態3に係る復号装置及び復号方法について図面を参照しながら詳細に説明する。なお、実施の形態3に係る光ディスク装置の構成は、図1に示す実施の形態1に係る光ディスク装置の構成と同じであるので説明を省略する。
 実施の形態3における誤り訂正器の構成は、図8に示す実施の形態2における誤り訂正器の構成と同じである。そのため、本実施の形態3の誤り訂正器については、図8に示す誤り訂正器を用いて説明する。
 図11及び図12は、本発明の実施の形態3における誤り訂正器の復号処理について説明するためのフローチャートである。
 本発明の実施の形態3が、特に実施の形態2と異なる点は、前回と同じデータブロックを再度再生する処理を行う際に、新たな推定語x’を生成するステップを、ループ回数が所定の最大回数に到達した後に行うのではなく、復号処理ループ中に行う点である。推定語生成器206は、今回生成された推定語信頼度Lと、推定語信頼度格納メモリ501に保存されている推定語信頼度Lとを用いて確率計算に基づいた演算処理を行うことにより新たな推定語信頼度L’を生成する。そして、推定語生成器206は、生成した推定語信頼度L’の正負の符号に従って新たな推定語x’を生成する。
 図11のステップS41からステップS47までの処理は、図5のステップS1からステップS7までの処理と同じであるため、説明を省略する。
 ステップS47において推定語xが生成されると、制御器211は、推定語信頼度格納メモリ501に、前回までの推定語信頼度Lが保存されているか否かを判断する(ステップS48)。ここで、推定語信頼度格納メモリ501に前回までの推定語信頼度Lが保存されていないと判断された場合(ステップS48でNO)、推定語生成器206は、生成された推定語xを推定語信頼度格納メモリ501に保存する(ステップS50)。
 一方、推定語信頼度格納メモリ501に前回までの推定語信頼度Lが保存されていると判断された場合(ステップS48でYES)、推定語生成器206は、ステップS47において最終的に生成された推定語信頼度Lと、推定語信頼度格納メモリ501に保存されている推定語信頼度Lとを用い、確率計算に基づいた演算処理によって推定語信頼度L’を生成し、生成した推定語信頼度L’の正負の符号に従って新たな推定語x’を生成する(ステップS49)。次に、推定語生成器206は、生成した推定語x’を推定語格納メモリ207に保存する(ステップS50)。
 図11及び図12のステップS51からステップS56までの処理は、図5及び図6のステップS9からステップS14までの処理と同じであるため、説明を省略する。
 ステップS55において繰返し再生回数が最大回数ではないと判断された場合(ステップS55でNO)、推定語生成器206は、最終的に生成された推定語信頼度Lを推定語信頼度格納メモリ501に保存する(ステップS57)。そして、制御器211は、ステップS1の処理へ戻り、前回と同じデータブロックを再度再生する。
 かかる処理によれば、複数の再生信号から生成された信頼度を用いて新たな信頼度が生成され、生成された新たな信頼度を用いて通常の復号処理ループが実行される。そのため、本発明の実施の形態1及び実施の形態2と同様の効果を得ながら、更に復号処理時間を短縮することができる。
 (実施の形態4)
 次に、本発明の実施の形態4に係る復号装置及び復号方法について図面を参照しながら詳細に説明する。
 図13は、本発明の実施の形態4に係る誤り訂正器の詳細な構成を表す図である。なお、実施の形態4に係る光ディスク装置の構成は、図1に示す実施の形態1に係る光ディスク装置の構成と同じであるので説明を省略する。また、図13において、図2に示す実施の形態1の誤り訂正器と同の構成要素については、同一の符号を付し、説明を省略する。
 図13に示す誤り訂正器110は、信頼度生成器301、信頼度格納メモリ202、行処理演算器203、列処理演算器204、第1の列処理出力値格納メモリ205、推定語生成器206、推定語格納メモリ207、復号結果判定器208、第2の列処理出力値格納メモリ209及び制御器211を備える。
 図13に示す実施の形態4の誤り訂正器と、図2に示す実施の形態1の誤り訂正器との違いは、信頼度生成器301が、信頼度格納メモリ202に信頼度情報を格納するだけでなく、信頼度格納メモリ202に保存された前回までの信頼度情報を用いて新たな信頼度情報を生成する点である。
 信頼度生成器301は、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、信頼度格納メモリ202に保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を生成して信頼度格納メモリ202に保存する。
 列処理演算器204は、信頼度格納メモリ202に保存された演算処理後の信頼度情報と行処理出力値とを用いて列処理出力値を演算する。
 図14及び図15は、本発明の実施の形態4における誤り訂正器の復号処理について説明するためのフローチャートである。
 図14及び図15のステップS61,S62,S65~S77の処理は、図5及び図6のステップS1~S15の処理と同じ処理であるため、説明を省略する。
 ステップS62において信頼度λが生成されると、信頼度生成器301は、信頼度格納メモリ202に保存された前回までの信頼度λを読み出す(ステップS63)。
 次に、信頼度生成器301は、受信した再生データ系列に従って、生成した信頼度λと、信頼度格納メモリ202から読み出した前回までの信頼度λとを用いて確率計算に基づいた演算処理を行うことにより信頼度情報を生成する(ステップS64)。
 なお、信頼度格納メモリ202に前回までの信頼度λが保存されていない場合、ステップS63及びS64の処理は行われず、生成された信頼度λが信頼度格納メモリ202に保存される。
 ステップS65以降の処理は実施の形態1における処理と同じであるが、確率計算に基づいた演算処理が行われた信頼度を用いて復号処理が行われる。
 確率計算に基づいた演算処理としては、例えば、信頼度指標を振幅値で定義する場合は信頼度情報を平均処理すれば良いし、信頼度指標を通信路の条件付き確率の比で定義する場合は、確率分布に基づいて平均処理すれば良いし、信頼度指標を対数尤度比で定義する場合は、積算処理すれば良い。
 かかる処理によれば、複数の再生信号から生成された信頼度情報が確率計算に基づいた演算処理により生成されるので、複数回の再生エネルギーを使用でき、従来できなかったエラーレートの低減を実現することができる。
 なお、本実施の形態4において、実施の形態1と同様に、前回の復号結果である列処理出力値βmnを次回の復号時に初期値として用いているが、これに限定するものではなく、確率計算に基づいた演算処理によって信頼度を新たに生成する構成だけでも、複数回再生した場合と同等の効果を得ることができる。
 また、本実施の形態4では、誤り訂正器110は、第2の列処理出力値格納メモリ209を備えているが、本発明は特にこれに限定されない。本実施の形態4における誤り訂正器110は、第2の列処理出力値格納メモリ209を備えず、実施の形態2及び3における推定語信頼度格納メモリ501を備えても良い。
 また、本実施の形態4において、信頼度生成器301は、生成した信頼度λと、第2の列処理出力値格納メモリ205に保存された列処理出力値βmnとを用いて新たな信頼度情報を生成しても良い。
 なお、本実施の形態1~4において、再生動作中の時間を測定し、測定した再生時間が予め設定していた最大時間に達した場合に、復号処理ループ及び繰返し再生処理を終了しても良い。
 なお、本実施の形態1~4において、光ディスクの回転待ち時間を減らすため、信頼度格納メモリ202に信頼度情報系列を所定のデータ量だけ保存してから、以降の復号処理を行っても良い。
 なお、本実施の形態2,3において、新たな推定語信頼度L’の生成方法は、上記の方法に限定されるものではなく、例えば、信頼度が2値情報であれば最も頻度が高い結果を採用することにより、必要なメモリ量を少なくすることができる。
 なお、本実施の形態1~4において、光ディスクから情報を再生する光ディスク装置を示したが、これに限定するものではなく、図16のような情報通信システムに復号装置を用いても良い。
 図16は、本発明の実施の形態1~4に係る情報通信システムの構成を示す図である。図16の情報通信システムは、送信装置901、通信チャネル902及び受信装置903を備える。送信装置901が送信した通信情報が、通信チャネル902を介して受信装置903に送信される。通信情報とは、電気信号又は光信号などである。
 受信装置903は、プリアンプ103、A/D変換器104、PLL回路105、波形等化器106、ビタビ復号器107、同期信号検出器108、復調器109、誤り訂正器110、システムコントローラ116、受信器904及び送信器905を備える。なお、図16において、図1に示す実施の形態1の光ディスク装置と同一の構成要素については、同一の符号を付し、説明を省略する。
 受信器904は、送信装置901によって送信された通信情報(データ)を受信し、プリアンプ103へ出力する。
 送信装置901が送信した通信情報に対して、図示しない制御器211によって誤り訂正が不可能と判断された場合、送信器905は、通信チャネル902を介して送信装置901に再送命令を送信する。送信装置901は、再送命令を受信すると、前回と同じデータブロックの通信情報を再度送信する。受信装置903は、実施の形態1~3で前述したように前回の通信情報と合わせて複数回の復号処理を行う。以上の構成により、情報を送受信する情報通信システムにおいても、複数回の再生エネルギーが使用でき、従来できなかったエラーレートの低減を実現することができる。
 なお、上述した具体的実施形態には以下の構成を有する発明が主に含まれている。
 本発明の一局面に係る復号装置は、複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、入力された前記データに基づいて前記信頼度情報を生成する信頼度生成器と、前記信頼度情報を保存する信頼度格納メモリと、行処理を行うことにより行処理出力値を演算する行処理演算器と、列処理を行うことにより列処理出力値を演算する列処理演算器と、同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御器とを備え、前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて、行処理を行うことにより前記行処理出力値を演算し、前記列処理演算器は、前記行処理出力値によって演算された前記行処理出力値と前記信頼度生成器によって生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、前記信頼度生成器は、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、前記信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して前記信頼度格納メモリに保存し、前記列処理演算器は、前記信頼度格納メモリに保存された前記新たに生成された信頼度情報と前記行処理出力値とを用いて前記列処理出力値を演算する。
 この構成によれば、信頼度生成器は、入力されたデータに基づいて信頼度情報を生成する。信頼度格納メモリは、信頼度情報を保存する。行処理演算器は、行処理を行うことにより行処理出力値を演算する。列処理演算器は、列処理を行うことにより列処理出力値を演算する。制御器は、同一のデータブロックの信頼度情報を信頼度格納メモリに複数回入力する。また、行処理演算器は、列処理演算器によって演算された列処理出力値を用いて、行処理を行うことにより行処理出力値を演算する。列処理演算器は、行処理出力値によって演算された行処理出力値と信頼度生成器によって生成された信頼度情報とを用いて、列処理を行うことにより列処理出力値を演算する。信頼度生成器は、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して信頼度格納メモリに保存する。列処理演算器は、信頼度格納メモリに保存された新たに生成された信頼度情報と行処理出力値とを用いて列処理出力値を演算する。
 したがって、誤り訂正前のエラーレートの高いデータに対して、同一のデータブロックの信頼度情報を用いて復号が複数回行われるので、復号されたデータのエラーレートを低減することができ、S/Nを向上させることができる。
 また、上記の復号装置において、前回入力された前記信頼度情報に基づいて前記列処理演算器によって演算された列処理出力値を保存する列処理出力値格納メモリをさらに備え、前記行処理演算器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、前記列処理出力値格納メモリに保存された前回の前記列処理出力値を前記行処理の初期値として用いることが好ましい。
 この構成によれば、列処理出力値格納メモリは、前回入力された信頼度情報に基づいて列処理演算器によって演算された列処理出力値を保存する。行処理演算器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、列処理出力値格納メモリに保存された前回の列処理出力値を行処理の初期値として用いる。
 したがって、列処理出力値格納メモリに保存された列処理出力値は、前回の再生データに対する尤もらしさを表した値であるので、列処理出力値格納メモリに保存された前回の列処理出力値を行処理の初期値として、前回と異なるデータに対して繰返し復号が行われることで、複数回の再生エネルギーを利用することができ、前回の再生時には訂正できなかった誤りを訂正することができる。
 また、上記の復号装置において、前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、前記推定語の信頼度を保存する推定語信頼度格納メモリとをさらに備え、前記推定語生成器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、前記推定語信頼度格納メモリに保存された前回の推定語の信頼度と、今回入力された信頼度情報及び前記行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語の信頼度を更新し、前記更新した推定語の信頼度に従って推定語を生成することが好ましい。
 この構成によれば、推定語生成器は、信頼度情報と行処理出力値とに基づいて推定語を生成する。推定語信頼度格納メモリは、推定語の信頼度を保存する。推定語生成器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、推定語信頼度格納メモリに保存された前回の推定語の信頼度と、今回入力された信頼度情報及び行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語の信頼度を更新し、更新した推定語の信頼度に従って推定語を生成する。
 したがって、エラーレートの高いデータを有するデータブロックに対し、前回の推定語の信頼度と、今回入力された信頼度情報及び行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語の信頼度が更新され、更新された推定語の信頼度に従って推定語が生成されるので、復号されたデータのエラーレートを低減することができ、S/Nを向上させることができる。
 また、上記の復号装置において、前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて行処理出力値を繰り返し演算し、前記制御器は、前記行処理演算器による前記行処理出力値の演算処理回数を監視し、前記演算処理回数が所定の回数に到達した場合、前回と同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに入力させることが好ましい。
 この構成によれば、行処理演算器は、列処理演算器によって演算された列処理出力値を用いて行処理出力値を繰り返し演算する。制御器は、行処理演算器による行処理出力値の演算処理回数を監視し、演算処理回数が所定の回数に到達した場合、前回と同一のデータブロックの信頼度情報を信頼度格納メモリに入力させる。
 したがって、演算処理回数が所定の回数に到達した場合、前回と同一のデータブロックの信頼度情報が信頼度格納メモリに入力されるので、雑音が多く収束性の悪いデータに対して不要な演算処理時間が増加するのを防ぐことができる。
 また、上記の復号装置において、復号結果を判定する復号結果判定器をさらに備え、前記制御器は、前記復号結果判定器による判定結果が所定の条件を満たさなかったデータブロックに対して、前記信頼度格納メモリに保存されている前記信頼度情報を用いて再度復号処理を行うことが好ましい。
 この構成によれば、復号結果判定器による判定結果が所定の条件を満たさなかったデータブロックに対して、信頼度格納メモリに保存されている信頼度情報を用いて再度復号処理が行われるので、復号結果に応じて再度復号処理を行うか否かを判断することができる。
 また、上記の復号装置において、前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、前記信頼度情報と前記行処理出力値とに基づいて生成される前記推定語が正しく復号されていることを検査するパリティ検査器とをさらに備え、前記制御器は、前記パリティ検査器による検査結果が所定の条件を満たさなかったデータブロックに対して、前記信頼度格納メモリに保存されている前記信頼度情報を用いて再度復号処理を行うことが好ましい。
 この構成によれば、推定語生成器は、頼度情報と行処理出力値とに基づいて推定語を生成する。パリティ検査器は、信頼度情報と行処理出力値とに基づいて生成される推定語が正しく復号されていることを検査する。そして、制御器は、パリティ検査器による検査結果が所定の条件を満たさなかったデータブロックに対して、信頼度格納メモリに保存されている信頼度情報を用いて再度復号処理を行う。
 したがって、パリティ検査器により推定語が正しく復号されていることを検査することができ、検査結果に応じて再度復号処理を行うか否かを判断することができる。
 また、上記の復号装置において、前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、前記列処理出力値、前記行処理出力値又は前記推定語の信頼度のいずれかの演算結果と所定の閾値とを比較することにより、復号結果を判定する復号結果判定器とをさらに備え、前記制御器は、前記復号結果判定器による判定結果が所定の条件を満たさなかったデータブロックに対して、前記信頼度格納メモリに保存されている前記信頼度情報を用いて再度復号処理を行うことが好ましい。
 この構成によれば、推定語生成器は、頼度情報と行処理出力値とに基づいて推定語を生成する。復号結果判定器は、列処理出力値、行処理出力値又は推定語の信頼度のいずれかの演算結果と所定の閾値とを比較することにより、復号結果を判定する。そして、制御器は、復号結果判定器による判定結果が所定の条件を満たさなかったデータブロックに対して、信頼度格納メモリに保存されている信頼度情報を用いて再度復号処理を行う。
 したがって、列処理出力値、行処理出力値又は推定語の信頼度のいずれかの演算結果と所定の閾値とを比較することにより、復号結果を判定することができ、復号結果に応じて再度復号処理を行うか否かを判断することができる。
 また、上記の復号装置において、前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器をさらに備え、前記推定語生成器は、前記推定語の信頼度が前記推定語信頼度格納メモリに保存されているときに、前記更新した推定語の信頼度に従って推定語を生成することが好ましい。
 この構成によれば、推定語の信頼度が推定語信頼度格納メモリに保存されているときに、更新した推定語の信頼度に従って推定語が生成されるので、復号されたデータのエラーレートを低減することができ、S/Nを向上させることができる。
 本発明の他の局面に係る復号装置は、複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、前記信頼度情報を保存する信頼度格納メモリと、行処理を行うことにより行処理出力値を演算する行処理演算器と、列処理を行うことにより前記列処理出力値を演算する列処理演算器と、前記列処理出力値を保存する列処理出力値格納メモリと、同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御器とを備え、前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて、行処理を行うことにより前記行処理出力値を演算し、前記列処理演算器は、前記行処理出力値によって演算された前記行処理出力値と前記信頼度生成器によって生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、前記列処理出力値格納メモリは、前回入力された前記信頼度情報に基づいて前記列処理演算器によって演算された列処理出力値を保存し、前記行処理演算器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、前記列処理出力値格納メモリに保存された前回の前記列処理出力値を前記行処理の初期値として用いる。
 この構成によれば、信頼度格納メモリは、信頼度情報を保存する。行処理演算器は、行処理を行うことにより行処理出力値を演算する。列処理演算器は、列処理を行うことにより列処理出力値を演算する。列処理出力値格納メモリは、列処理出力値を保存する。制御器は、同一のデータブロックの信頼度情報を信頼度格納メモリに複数回入力する。また、行処理演算器は、列処理演算器によって演算された列処理出力値を用いて、行処理を行うことにより行処理出力値を演算する。列処理演算器は、行処理出力値によって演算された行処理出力値と信頼度生成器によって生成された信頼度情報とを用いて、列処理を行うことにより列処理出力値を演算する。そして、列処理出力値格納メモリは、前回入力された信頼度情報に基づいて列処理演算器によって演算された列処理出力値を保存する。行処理演算器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、列処理出力値格納メモリに保存された前回の列処理出力値を行処理の初期値として用いる。
 したがって、誤り訂正前のエラーレートの高いデータに対して、同一のデータブロックの信頼度情報を用いて復号が複数回行われるので、復号されたデータのエラーレートを低減することができ、S/Nを向上させることができる。また、列処理出力値格納メモリに保存された列処理出力値は、前回の再生データに対する尤もらしさを表した値であるので、列処理出力値格納メモリに保存された前回の列処理出力値を行処理の初期値として、前回と異なるデータに対して繰返し復号が行われることで、複数回の再生エネルギーを利用することができ、前回の再生時には訂正できなかった誤りを訂正することができる。
 本発明の他の局面に係る復号装置は、複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、前記信頼度情報を保存する信頼度格納メモリと、行処理を行うことにより行処理出力値を演算する行処理演算器と、列処理を行うことにより前記列処理出力値を演算する列処理演算器と、前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、前記推定語の信頼度を保存する推定語信頼度格納メモリと、同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御器とを備え、前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて、行処理を行うことにより前記行処理出力値を演算し、前記列処理演算器は、前記行処理出力値によって演算された前記行処理出力値と前記信頼度生成器によって生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、前記推定語生成器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、前記推定語信頼度格納メモリに保存された前回の推定語信頼度と、今回入力された信頼度情報及び前記行処理出力値に基づいて生成された推定語信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語信頼度を更新し、前記更新した推定語信頼度に従って推定語を生成する。
 この構成によれば、信頼度格納メモリは、信頼度情報を保存する。行処理演算器は、行処理を行うことにより行処理出力値を演算する。列処理演算器は、列処理を行うことにより列処理出力値を演算する。推定語生成器は、信頼度情報と行処理出力値とに基づいて推定語を生成する。推定語信頼度格納メモリは、推定語の信頼度を保存する。制御器は、同一のデータブロックの信頼度情報を信頼度格納メモリに複数回入力する。また、行処理演算器は、列処理演算器によって演算された列処理出力値を用いて、行処理を行うことにより行処理出力値を演算する。列処理演算器は、行処理出力値によって演算された行処理出力値と信頼度生成器によって生成された信頼度情報とを用いて、列処理を行うことにより列処理出力値を演算する。そして、推定語生成器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、推定語信頼度格納メモリに保存された前回の推定語信頼度と、今回入力された信頼度情報及び行処理出力値に基づいて生成された推定語信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語信頼度を更新し、更新した推定語信頼度に従って推定語を生成する。
 したがって、エラーレートの高いデータを有するデータブロックに対し、前回の推定語の信頼度と、今回入力された信頼度情報及び行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語の信頼度が更新され、更新された推定語の信頼度に従って推定語が生成されるので、復号されたデータのエラーレートを低減することができ、S/Nを向上させることができる。
 本発明の他の局面に係る復号装置は、複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、入力された前記データに基づいて生成された前記信頼度情報、列処理を行うことにより演算された列処理出力値、及び信頼度情報と行処理出力値とに基づいて生成された推定語の信頼度のうちの少なくとも1つを保存するメモリと、前記信頼度情報、前記列処理出力値及び前記推定語の信頼度のうちの少なくとも1つを用いて、同一のデータブロックの前記信頼度情報に対して所定の復号処理を複数回行う復号処理部とを備える。
 この構成によれば、メモリは、入力された前記データに基づいて生成された信頼度情報、列処理を行うことにより演算された列処理出力値、及び信頼度情報と行処理出力値とに基づいて生成された推定語の信頼度のうちの少なくとも1つを保存する。復号処理部は、信頼度情報、列処理出力値及び推定語の信頼度のうちの少なくとも1つを用いて、同一のデータブロックの信頼度情報に対して所定の復号処理を複数回行う。
 したがって、復調器によって同期ずれが補正されたデータに対して、信頼度情報、列処理出力値及び推定語の信頼度のうちの少なくとも1つを用いて、同一のデータブロックの信頼度情報に対して所定の復号処理が複数回行われるので、同期ずれを抑えることができると共に、復号データのS/Nを向上させることができる。
 本発明の他の局面に係る復号方法は、複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号方法であって、入力された前記データに基づいて前記信頼度情報を生成する信頼度生成ステップと、前記信頼度情報を信頼度格納メモリに保存する信頼度格納ステップと、行処理を行うことにより行処理出力値を演算する行処理演算ステップと、列処理を行うことにより前記列処理出力値を演算する列処理演算ステップと、同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御ステップとを含み、前記行処理演算ステップは、前記列処理演算ステップにおいて演算された前記列処理出力値を用いて、行処理を行うことにより行処理出力値を演算し、前記列処理演算ステップは、前記行処理出力ステップにおいて演算された前記行処理出力値と前記信頼度生成ステップにおいて生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、前記信頼度生成ステップは、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、前記信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して前記信頼度格納メモリに保存し、前記列処理演算ステップは、前記信頼度格納メモリに保存された前記新たに生成された信頼度情報と前記行処理出力値とを用いて前記列処理出力値を演算する。
 この構成によれば、信頼度生成ステップにおいて、入力されたデータに基づいて信頼度情報が生成される。信頼度格納ステップにおいて、信頼度情報が信頼度格納メモリに保存される。行処理演算ステップにおいて、行処理が行われることにより行処理出力値が演算される。列処理演算ステップにおいて、列処理が行われることにより列処理出力値が演算される。制御ステップにおいて、同一のデータブロックの信頼度情報が信頼度格納メモリに複数回入力される。また、行処理演算ステップにおいて、列処理演算で演算された列処理出力値を用いて、行処理を行うことにより行処理出力値が演算される。列処理演算ステップにおいて、行処理出力ステップで演算された行処理出力値と信頼度生成ステップで生成された信頼度情報とを用いて、列処理を行うことにより列処理出力値が演算される。信頼度生成ステップにおいて、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理が行われることにより信頼度情報が新たに生成されて信頼度格納メモリに保存される。列処理演算ステップにおいて、信頼度格納メモリに保存された新たに生成された信頼度情報と行処理出力値とを用いて列処理出力値が演算される。
 したがって、誤り訂正前のエラーレートの高いデータに対して、同一のデータブロックの信頼度情報を用いて復号が複数回行われるので、復号されたデータのエラーレートを低減することができ、S/Nを向上させることができる。
 なお、発明を実施するための形態の項においてなされた具体的な実施態様または実施例は、あくまでも、本発明の技術内容を明らかにするものであって、そのような具体例にのみ限定して狭義に解釈されるべきものではなく、本発明の精神と特許請求事項との範囲内で、種々変更して実施することができるものである。
 本発明に係る復号装置及び復号方法は、複数の再生信号を利用してデータを復号する復号装置及び復号方法に有用であり、記録媒体の高密度化、及びシステム全体のフィジビリティの向上に有用である。また、大容量の光ディスクを用いた復号装置及び復号方法にも応用でき、デジタル通信装置及びデジタル通信方法にも応用でき、集積回路にも応用できる。

Claims (12)

  1.  複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、
     入力された前記データに基づいて前記信頼度情報を生成する信頼度生成器と、
     前記信頼度情報を保存する信頼度格納メモリと、
     行処理を行うことにより行処理出力値を演算する行処理演算器と、
     列処理を行うことにより列処理出力値を演算する列処理演算器と、
     同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御器とを備え、
     前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて、行処理を行うことにより前記行処理出力値を演算し、
     前記列処理演算器は、前記行処理出力値によって演算された前記行処理出力値と前記信頼度生成器によって生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、
     前記信頼度生成器は、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、前記信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して前記信頼度格納メモリに保存し、
     前記列処理演算器は、前記信頼度格納メモリに保存された前記新たに生成された信頼度情報と前記行処理出力値とを用いて前記列処理出力値を演算することを特徴とする復号装置。
  2.  前回入力された前記信頼度情報に基づいて前記列処理演算器によって演算された列処理出力値を保存する列処理出力値格納メモリをさらに備え、
     前記行処理演算器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、前記列処理出力値格納メモリに保存された前回の前記列処理出力値を前記行処理の初期値として用いることを特徴とする請求項1記載の復号装置。
  3.  前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、
     前記推定語の信頼度を保存する推定語信頼度格納メモリとをさらに備え、
     前記推定語生成器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、前記推定語信頼度格納メモリに保存された前回の推定語の信頼度と、今回入力された信頼度情報及び前記行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語の信頼度を更新し、前記更新した推定語の信頼度に従って推定語を生成することを特徴とする請求項1記載の復号装置。
  4.  前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて行処理出力値を繰り返し演算し、
     前記制御器は、前記行処理演算器による前記行処理出力値の演算処理回数を監視し、前記演算処理回数が所定の回数に到達した場合、前回と同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに入力させることを特徴とする請求項1~3のいずれかに記載の復号装置。
  5.  復号結果を判定する復号結果判定器をさらに備え、
     前記制御器は、前記復号結果判定器による判定結果が所定の条件を満たさなかったデータブロックに対して、前記信頼度格納メモリに保存されている前記信頼度情報を用いて再度復号処理を行うことを特徴とする請求項1~4のいずれかに記載の復号装置。
  6.  前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、
     前記信頼度情報と前記行処理出力値とに基づいて生成される前記推定語が正しく復号されていることを検査するパリティ検査器とをさらに備え、
     前記制御器は、前記パリティ検査器による検査結果が所定の条件を満たさなかったデータブロックに対して、前記信頼度格納メモリに保存されている前記信頼度情報を用いて再度復号処理を行うことを特徴とする請求項1~5のいずれかに記載の復号装置。
  7.  前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、
     前記列処理出力値、前記行処理出力値又は前記推定語の信頼度のいずれかの演算結果と所定の閾値とを比較することにより、復号結果を判定する復号結果判定器とをさらに備え、
     前記制御器は、前記復号結果判定器による判定結果が所定の条件を満たさなかったデータブロックに対して、前記信頼度格納メモリに保存されている前記信頼度情報を用いて再度復号処理を行うことを特徴とする請求項1~6のいずれかに記載の復号装置。
  8.  前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器をさらに備え、
     前記推定語生成器は、前記推定語の信頼度が前記推定語信頼度格納メモリに保存されているときに、前記更新した推定語の信頼度に従って推定語を生成することを特徴とする請求項1~7のいずれかに記載の復号装置。
  9.  複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、
     前記信頼度情報を保存する信頼度格納メモリと、
     行処理を行うことにより行処理出力値を演算する行処理演算器と、
     列処理を行うことにより前記列処理出力値を演算する列処理演算器と、
     前記列処理出力値を保存する列処理出力値格納メモリと、
     同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御器とを備え、
     前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて、行処理を行うことにより前記行処理出力値を演算し、
     前記列処理演算器は、前記行処理出力値によって演算された前記行処理出力値と前記信頼度生成器によって生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、
     前記列処理出力値格納メモリは、前回入力された前記信頼度情報に基づいて前記列処理演算器によって演算された列処理出力値を保存し、
     前記行処理演算器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、前記列処理出力値格納メモリに保存された前回の前記列処理出力値を前記行処理の初期値として用いることを特徴とする復号装置。
  10.  複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、
     前記信頼度情報を保存する信頼度格納メモリと、
     行処理を行うことにより行処理出力値を演算する行処理演算器と、
     列処理を行うことにより前記列処理出力値を演算する列処理演算器と、
     前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、
     前記推定語の信頼度を保存する推定語信頼度格納メモリと、
     同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御器とを備え、
     前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて、行処理を行うことにより前記行処理出力値を演算し、
     前記列処理演算器は、前記行処理出力値によって演算された前記行処理出力値と前記信頼度生成器によって生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、
     前記推定語生成器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、前記推定語信頼度格納メモリに保存された前回の推定語信頼度と、今回入力された信頼度情報及び前記行処理出力値に基づいて生成された推定語信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語信頼度を更新し、前記更新した推定語信頼度に従って推定語を生成することを特徴とする復号装置。
  11.  複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、
     入力された前記データに基づいて生成された前記信頼度情報、列処理を行うことにより演算された列処理出力値、及び信頼度情報と行処理出力値とに基づいて生成された推定語の信頼度のうちの少なくとも1つを保存するメモリと、
     前記信頼度情報、前記列処理出力値及び前記推定語の信頼度のうちの少なくとも1つを用いて、同一のデータブロックの前記信頼度情報に対して所定の復号処理を複数回行う復号処理部とを備えることを特徴とする復号装置。
  12.  複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号方法であって、
     入力された前記データに基づいて前記信頼度情報を生成する信頼度生成ステップと、
     前記信頼度情報を信頼度格納メモリに保存する信頼度格納ステップと、
     行処理を行うことにより行処理出力値を演算する行処理演算ステップと、
     列処理を行うことにより前記列処理出力値を演算する列処理演算ステップと、
     同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御ステップとを含み、
     前記行処理演算ステップは、前記列処理演算ステップにおいて演算された前記列処理出力値を用いて、行処理を行うことにより行処理出力値を演算し、
     前記列処理演算ステップは、前記行処理出力ステップにおいて演算された前記行処理出力値と前記信頼度生成ステップにおいて生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、
     前記信頼度生成ステップは、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、前記信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して前記信頼度格納メモリに保存し、
     前記列処理演算ステップは、前記信頼度格納メモリに保存された前記新たに生成された信頼度情報と前記行処理出力値とを用いて前記列処理出力値を演算することを特徴とする復号方法。
PCT/JP2012/004897 2011-08-09 2012-08-01 復号装置及び復号方法 WO2013021588A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP12821855.9A EP2744113A1 (en) 2011-08-09 2012-08-01 Decoding device and decoding method
US13/824,152 US9244760B2 (en) 2011-08-09 2012-08-01 Decoding apparatus and decoding method
JP2013527875A JP5884031B2 (ja) 2011-08-09 2012-08-01 復号装置及び復号方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011173918 2011-08-09
JP2011-173918 2011-08-09

Publications (1)

Publication Number Publication Date
WO2013021588A1 true WO2013021588A1 (ja) 2013-02-14

Family

ID=47668126

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/004897 WO2013021588A1 (ja) 2011-08-09 2012-08-01 復号装置及び復号方法

Country Status (4)

Country Link
US (1) US9244760B2 (ja)
EP (1) EP2744113A1 (ja)
JP (1) JP5884031B2 (ja)
WO (1) WO2013021588A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014213071A1 (de) * 2014-07-04 2016-01-07 Robert Bosch Gmbh Verfahren und Vorrichtung zur Verarbeitung von Daten
US10277252B2 (en) * 2017-01-09 2019-04-30 At&T Intellectual Property I, L.P. Encoding data with polar codes for control channels

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH046446B2 (ja) 1988-03-14 1992-02-05 Eiwa Tetsuko Kk
JP2000242907A (ja) 1999-02-16 2000-09-08 Nec Corp 情報読出し方法及び情報再生装置
JP2002093068A (ja) 2000-09-20 2002-03-29 Fujitsu Ltd データリード方法及び記憶装置
JP2003141822A (ja) 2001-10-23 2003-05-16 Internatl Business Mach Corp <Ibm> データ記憶装置、読み出しデータの処理装置および読み出しデータの処理方法
JP2006520547A (ja) * 2003-12-02 2006-09-07 株式会社東芝 改良型通信装置及び方法
JP2007124341A (ja) * 2005-10-28 2007-05-17 Kddi Corp 復号装置および方法、ならびに復調復号装置および方法
JP2010219841A (ja) * 2009-03-17 2010-09-30 Oki Electric Ind Co Ltd 復号装置、符号化装置及び符号化システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0443721A (ja) * 1990-06-11 1992-02-13 Matsushita Electric Ind Co Ltd ディジタル信号復号装置
JP3889286B2 (ja) * 2002-01-31 2007-03-07 三菱電機株式会社 復号方法、復号装置及びディジタル伝送システム
WO2004053873A1 (ja) 2002-12-10 2004-06-24 Fujitsu Limited データ記録再生システム
US8103945B2 (en) * 2007-01-05 2012-01-24 Sony Corporation Decoding method and decoding apparatus as well as program
JP2012244305A (ja) * 2011-05-17 2012-12-10 Toshiba Corp メモリコントローラ、半導体メモリ装置、および復号方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH046446B2 (ja) 1988-03-14 1992-02-05 Eiwa Tetsuko Kk
JP2000242907A (ja) 1999-02-16 2000-09-08 Nec Corp 情報読出し方法及び情報再生装置
JP2002093068A (ja) 2000-09-20 2002-03-29 Fujitsu Ltd データリード方法及び記憶装置
JP2003141822A (ja) 2001-10-23 2003-05-16 Internatl Business Mach Corp <Ibm> データ記憶装置、読み出しデータの処理装置および読み出しデータの処理方法
JP2006520547A (ja) * 2003-12-02 2006-09-07 株式会社東芝 改良型通信装置及び方法
JP2007124341A (ja) * 2005-10-28 2007-05-17 Kddi Corp 復号装置および方法、ならびに復調復号装置および方法
JP2010219841A (ja) * 2009-03-17 2010-09-30 Oki Electric Ind Co Ltd 復号装置、符号化装置及び符号化システム

Also Published As

Publication number Publication date
EP2744113A1 (en) 2014-06-18
US9244760B2 (en) 2016-01-26
JPWO2013021588A1 (ja) 2015-03-05
US20130173993A1 (en) 2013-07-04
JP5884031B2 (ja) 2016-03-15

Similar Documents

Publication Publication Date Title
US20070061687A1 (en) Soft decoding method and apparatus, error correction method and apparatus, and soft output method and apparatus
US7603611B2 (en) Maximum likelihood decoding device, signal evaluating method, and reproducing apparatus
US7664208B2 (en) Evaluating device, reproducing device, and evaluating method
US20070104300A1 (en) Signal processing apparatus, signal processing method and storage system
US8472563B2 (en) Signal processing apparatus, signal processing method and storage system
US7869327B2 (en) Phase error detecting device, waveform shaping device and optical disc device
US7864890B2 (en) Signal processing apparatus, signal processing method and storage system
US8027233B2 (en) Optical disk device
US20050190477A1 (en) Apparatus for recording and regenerating data
US20070103806A1 (en) Signal processing apparatus, signal processing method and storage system
US20080263430A1 (en) Data readout device and data readout method
JP2002245722A (ja) 再生信号評価装置および方法、再生装置および方法、ならびに、記録装置および方法
US20080218890A1 (en) Baseline correction apparatus
WO2013021588A1 (ja) 復号装置及び復号方法
US20030101410A1 (en) Method and apparatus for detecting and correcting errors in a magnetic recording channel of a mass storage system
US10951234B2 (en) Non-linear LLR look-up tables
JP4048571B2 (ja) 情報再生装置および再生方法
US7130257B2 (en) Recording/reproducing apparatus having a substituting part substituting for burst errors and a method of substituting for burst errors
JP2008287763A (ja) ビタビ検出器、及び、情報再生装置
US20070177475A1 (en) Method and apparatus to reproduce data with an improved data error correction capability
US20060013344A1 (en) Method and system for maximum likelihood detection
JP4443518B2 (ja) 復号装置および復号方法
JP2008159229A (ja) 光ディスク記録再生装置、及び光ディスク記録再生方法
JP2004220730A (ja) ディジタル信号復号装置
JP2006302479A (ja) 光記録媒体記録再生方法、光記録媒体記録再生装置、光記録媒体再生方法及び光記録媒体再生装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013527875

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13824152

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12821855

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012821855

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE