JP2007336529A - Encoder, decoding device, and error correction apparatus - Google Patents

Encoder, decoding device, and error correction apparatus Download PDF

Info

Publication number
JP2007336529A
JP2007336529A JP2007130727A JP2007130727A JP2007336529A JP 2007336529 A JP2007336529 A JP 2007336529A JP 2007130727 A JP2007130727 A JP 2007130727A JP 2007130727 A JP2007130727 A JP 2007130727A JP 2007336529 A JP2007336529 A JP 2007336529A
Authority
JP
Japan
Prior art keywords
data
decoding
unit
encoding
ldpc
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2007130727A
Other languages
Japanese (ja)
Inventor
J A Sapience Gael
ジャック アラン サピエンス ガエル
Takaharu Futaba
隆治 二葉
Takashi Wakasaki
隆 若崎
Akira Nakagawa
亮 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LSI Systems KK
Original Assignee
LSI Systems KK
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 LSI Systems KK filed Critical LSI Systems KK
Priority to JP2007130727A priority Critical patent/JP2007336529A/en
Publication of JP2007336529A publication Critical patent/JP2007336529A/en
Pending legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a decoding device for greatly improving the encode correction capability. <P>SOLUTION: The encoding device of this invention is to decode an encoded coded data, and is provided with an LDPC decoding portion 31 that performs LDPC decoding to input encoded data, and an RS decoding portion 32 that performs a Reed Solomon decoding to the data decoded by the LDPC decoding portion 31. Therefore, the LDPC decoding can be performed in an inner part of pages including a data block and the Reed Solomon decoding can be performed among the pages. Consequently, a combination of the two decoding methods make it possible to improve an encode correction capability of the decoding device. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は符号化装置、復号化装置および誤り訂正装置に関し、特に、LDPC(Low Density Parity Check)符号を用いた符号化装置、復号化装置および誤り訂正装置に関する。   The present invention relates to an encoding device, a decoding device, and an error correction device, and more particularly, to an encoding device, a decoding device, and an error correction device using an LDPC (Low Density Parity Check) code.

デジタルデータの通信や記録を行う際には、外部のノイズ等によりデジタルデータに誤りが発生している。従来から、このような誤りを検出・訂正するための技術として、誤り訂正符号を用いる技術が知られている。誤り訂正符号では、符号化の際にデータに対して冗長データを付加し、復号化の際にはこの冗長データを基にデータの誤りを訂正する。通信や記録されるのは、冗長データが付加されたデータである。   When digital data is communicated or recorded, an error has occurred in the digital data due to external noise or the like. Conventionally, a technique using an error correction code is known as a technique for detecting and correcting such an error. In the error correction code, redundant data is added to data at the time of encoding, and data error is corrected based on this redundant data at the time of decoding. Communication or recording is data to which redundant data is added.

この誤り訂正符号としては、リードソロモン符号やLDPC符号がある。誤りを含むデータに対して、訂正符号を用いた誤り訂正処理を施すことで、データに含まれる誤りの値が一定以下であれば、その誤りを訂正することができる。   Examples of the error correction code include a Reed-Solomon code and an LDPC code. By performing error correction processing using a correction code on data including an error, the error can be corrected if the error value included in the data is not more than a certain value.

リードソロモン符号は、複数個の連続したビット単位(シンボル)の誤りを訂正する符号であり、数ある訂正符号化の中でも高度な訂正能力を具備すると考えられている。具体的には、リードソロモン符号の訂正処理は、シンドロームを生成して消失位置を検出するステップと、誤り位置および誤り値の算出・訂正と訂正結果をチェックするステップと、訂正結果の出力ステップとを主要に具備している(例えば下記特許文献1を参照)。   The Reed-Solomon code is a code that corrects errors in a plurality of consecutive bit units (symbols), and is considered to have a high correction capability among many correction encodings. Specifically, the Reed-Solomon code correction process includes a step of generating a syndrome to detect an erasure position, a step of calculating and correcting an error position and an error value, checking a correction result, and a step of outputting the correction result. (See, for example, Patent Document 1 below).

LDPC符号とは、疎な検査行列によって定義されるブロック符号であり、反復号処理によって復号されるものである。LDPC符号の利点を列挙すると、例えば、検査行列が低密度であり、優れた最尤復号性能を持ち、ランダム性を有し、復号に適した構造を持ち、シャノン限界に近い復号性能を備えることである。更に、LDPC符号は、様々な符号長、符号化率の符号を容易に構成できる柔軟性を持っており、エラーフロア現象が殆ど生じない利点もある(例えば下記特許文献2を参照)。
特開平5−315974号公報 特開2006−13714号公報
The LDPC code is a block code defined by a sparse check matrix, and is decoded by an iterative sign process. Enumerating the advantages of LDPC codes, for example, the parity check matrix has low density, excellent maximum likelihood decoding performance, randomness, a structure suitable for decoding, and decoding performance close to the Shannon limit It is. Furthermore, the LDPC code has the flexibility of easily configuring codes of various code lengths and coding rates, and has an advantage that almost no error floor phenomenon occurs (see, for example, Patent Document 2 below).
JP-A-5-315974 JP 2006-13714 A

しかしながら、最近の記録媒体に記録されるデータの情報量は極めて増加しており、例えば1テラバイト以上のデータが書き込み可能な情報記録ディスクが出現しつつある。このような状況を鑑みると、上記したリードソロモン符号を用いても、符号化能力が必ずしも充分とは言えない問題があった。   However, the amount of information of data recorded on recent recording media is extremely increasing. For example, information recording disks on which data of 1 terabyte or more can be written are appearing. In view of such a situation, there is a problem that even if the above-described Reed-Solomon code is used, the encoding capability is not necessarily sufficient.

更に、LDPC符号を用いると符号訂正能力を格段に向上させることができるが、符号訂正能力が高いLDPC符号を実現するためには、大規模な電気回路が必要とされる問題があった。   Further, when an LDPC code is used, the code correction capability can be remarkably improved. However, in order to realize an LDPC code having a high code correction capability, there is a problem that a large-scale electric circuit is required.

この問題の対処方法として、例えば、リードソロモン符号を2重に組み合わせて符号化処理を行う手法も存在し、この方法によると符号訂正能力を向上させることができる。しかしながら、この組み合わせによる方法によっても符号訂正能力が不十分である問題があった。更にまた、他の誤り訂正方法を2重以上に組み合わせることによっても、符号訂正能力の向上は図れるが、この方法によると回路規模が巨大なものになってしまい、誤り訂正にかかるコストが高くなってしまう問題も予測される。   As a method for coping with this problem, for example, there is a method of performing encoding processing by combining Reed-Solomon codes in a double manner. According to this method, code correction capability can be improved. However, even with this combination method, there is a problem that the code correction capability is insufficient. Furthermore, the code correction capability can be improved by combining other error correction methods in a double or more manner, but this method increases the circuit scale and increases the cost for error correction. It is predicted that there will be problems.

本発明は上述した問題点を鑑みて成されたものである。本発明の主な目的は、符号化訂正能力が飛躍的に向上された符号化装置、復号化装置および誤り訂正装置を提供することにある。   The present invention has been made in view of the above-described problems. A main object of the present invention is to provide an encoding device, a decoding device, and an error correction device in which the encoding correction capability is remarkably improved.

本発明の符号化装置は、入力された入力データを符号化する符号化装置であり、前記入力データに対してRS符号化を行って第1符号化データを生成するRS符号部と、前記第1符号化データに対してLDPC符号化を行って第2符号化データを生成するLDPC符号部と、を具備することを特徴とする。   An encoding apparatus according to the present invention is an encoding apparatus that encodes input data that is input, and performs RS encoding on the input data to generate first encoded data; and An LDPC encoding unit that performs LDPC encoding on one encoded data to generate second encoded data.

本発明の復号化装置は、符号化データを復号化して復号化データを生成する復号化装置であり、前記符号化データに対してLDPC復号化を行って第1復号化データを生成するLPDC復号部と、前記第1復号化データに対してRS復号化を行って第2復号化データを生成するRS復号部と、を備えることを特徴とする。   The decoding device of the present invention is a decoding device that decodes encoded data to generate decoded data, and performs LPPC decoding on the encoded data to generate first decoded data. And an RS decoding unit that performs RS decoding on the first decoded data to generate second decoded data.

本発明の誤り訂正装置は、入力されたデータを符号化して符号化データを生成する符号化装置と、前記符号化データを復号化して復号化データを生成する復号化装置と、を具備し、前記符号化装置は、前記入力データに対してRS符号化を行って第1符号化データを生成するRS符号部と、前記第1符号化データに対してLDPC符号化を行って第2符号化データを生成するLDPC符号部と、を備え、前記復号化装置は、前記第2復号化データに対してLDPC復号化を行って第1復号化データを生成するLDPC復号部と、前記第1復号化データに対してRS復号化を行って第2復号化データを生成するRS復号部と、を備えることを特徴とする。   An error correction apparatus of the present invention comprises: an encoding apparatus that encodes input data to generate encoded data; and a decoding apparatus that decodes the encoded data to generate decoded data. The encoding apparatus performs RS encoding on the input data to generate first encoded data, and performs LDPC encoding on the first encoded data to perform second encoding. An LDPC encoding unit that generates data, and the decoding device performs LDPC decoding on the second decoded data to generate first decoded data; and the first decoding An RS decoding unit that performs RS decoding on the encoded data to generate second decoded data.

本発明の符号化装置は、多数のシンボルから構成される入力データを符号化する符号化装置であり、前記入力データに含まれる前記シンボルのビット数を多くするデータ変換部と、前記入力データに対してLDPC符号化を行って符号化データを生成するLDPC符号化部と、を具備することを特徴とする。   The encoding device of the present invention is an encoding device that encodes input data composed of a large number of symbols, and includes a data conversion unit that increases the number of bits of the symbols included in the input data, and the input data And an LDPC encoding unit that generates encoded data by performing LDPC encoding.

本発明の復号化装置は、符号化データを復号化して復号化データを生成する復号化装置であり、前記符号化データに対してLDPC復号化を行って前記復号化データを生成するLDPC復号部と、前記復号化データに含まれるシンボルのビット数を少なくするデータ変換部と、を具備することを特徴とする。   The decoding device of the present invention is a decoding device that decodes encoded data to generate decoded data, and performs LDPC decoding on the encoded data to generate the decoded data. And a data converter that reduces the number of bits of symbols included in the decoded data.

本発明の誤り訂正装置は、入力された入力データを符号化して符号化データを生成する符号化装置と、前記符号化データを復号化して復号化データを生成する復号化装置、と具備し、前記符号化装置は、前記入力データに含まれるシンボルのビット数を多くする符号側データ変換部と、前記入力データに対してLDPC符号化を行って符号化データを生成するLDPC符号部と、を備え、前記復号化装置は、前記符号化データに対してLDPC復号化を行って復号化データを生成するLDPC復号部と、前記復号化データに含まれるシンボルのビット数を少なくする復号側データ変換部と、を備えることを特徴とする。   The error correction apparatus of the present invention comprises: an encoding apparatus that encodes input data to generate encoded data; and a decoding apparatus that decodes the encoded data to generate decoded data. The encoding device includes: a code side data conversion unit that increases the number of bits of a symbol included in the input data; and an LDPC encoding unit that performs LDPC encoding on the input data to generate encoded data. The decoding apparatus includes: an LDPC decoding unit that performs LDPC decoding on the encoded data to generate decoded data; and decoding-side data conversion that reduces the number of bits of symbols included in the decoded data. And a section.

本発明の復号化装置は、アルファ係数とベータ係数とを用いるSum−procuctアルゴリズムを含む復号化を演算部により行う復号化装置に於いて、前記アルファ係数を算出する演算部と、前記ベータ係数を算出する演算部とを、少なくとも一部共用することを特徴とする。   The decoding device of the present invention is a decoding device that performs decoding including a Sum-product algorithm using an alpha coefficient and a beta coefficient by an arithmetic unit, wherein the arithmetic unit that calculates the alpha coefficient, the beta coefficient The calculation unit to be calculated is at least partially shared.

本発明の誤り訂正装置は、入力された入力データをLDPC符号により符号化して符号化データを生成する符号化装置と、前記符号化データを復号化して復号化データを生成する復号化装置と、を具備し、前記復号化装置は、アルファ係数とベータ係数とを用いるSum−Productアルゴリズムを含む復号化を演算部により行い、前記アルファ係数を算出する演算部と、前記ベータ係数を算出する演算部とを、少なくとも一部共有することを特徴とする。   An error correction apparatus according to the present invention includes: an encoding apparatus that encodes input data using an LDPC code to generate encoded data; a decoding apparatus that decodes the encoded data to generate decoded data; And the decoding apparatus performs decoding including a Sum-Product algorithm using an alpha coefficient and a beta coefficient by an arithmetic unit, calculates an alpha coefficient, and an arithmetic unit that calculates the beta coefficient Are at least partially shared.

本発明の復号化装置では、LDPC復号部とリードソロモン復号部の2つの復号部を具備しているので、復号化性能を極めて高くすることができる。具体的には、データブロック内部のページ全体が破損するページ抜け(Page Fall)が発生しても、ページ間の符号化を行うリードソロモン復号部により、破損したページを正しく復号することができる。更に、LDPC符号部を用いることにより、復号に失敗した情報を特定した後に、正しくデータを復号することができる。   Since the decoding apparatus of the present invention includes two decoding units, an LDPC decoding unit and a Reed-Solomon decoding unit, the decoding performance can be made extremely high. Specifically, even if a page fall that causes damage to the entire page in the data block occurs, the damaged page can be correctly decoded by the Reed-Solomon decoding unit that performs inter-page encoding. Furthermore, by using the LDPC code part, it is possible to correctly decode data after identifying information that has failed to be decoded.

また、本発明の復号化装置では、LDPC復号化に失敗したシンボルを無効シンボルとした後に、このシンボルの位置を示すイレージャー信号を生成して、これらを用いてリードソロモン符号の復号化を行っている。従って、後段の処理であるリードソロモン符号の誤り訂正能力を向上させることができる。   Also, in the decoding apparatus of the present invention, after making a symbol that has failed LDPC decoding an invalid symbol, an erasure signal indicating the position of this symbol is generated, and a Reed-Solomon code is decoded using these erasure signals. Yes. Accordingly, it is possible to improve the error correction capability of the Reed-Solomon code, which is a subsequent process.

更にまた、本発明の符号化装置に依れば、LDPC符号化を行う前に、符号化の対象となるデータに含まれるシンボルのサイズを大きくしている。従って、LDPC符号化の誤り訂正性能を向上させることができる。   Furthermore, according to the encoding apparatus of the present invention, the size of symbols included in the data to be encoded is increased before performing LDPC encoding. Therefore, the error correction performance of LDPC encoding can be improved.

更にまた、本発明の復号化装置に依れば、共通の計算セル(演算部)で、Sum−productに使用されるアルファ係数とベータ係数とを演算している。従って、Sum−productアルゴリズムを構成するのに必要とされる回路の規模を縮小することができる。   Furthermore, according to the decoding apparatus of the present invention, the alpha coefficient and the beta coefficient used for the sum-product are computed in a common computation cell (arithmetic unit). Therefore, it is possible to reduce the scale of the circuit required to construct the Sum-product algorithm.

<第1の実施の形態:誤り訂正装置の概要>
本形態では、本発明の一実施形態に係る符号化装置および復号化装置を具備する誤り訂正装置の構成および符号訂正方法を説明する。なお、以下の説明では、符号化装置または復号化装置の内部にてデータを構成する単位要素をシンボルと称し、これらの装置の外部にて伝送、書き込み、保存または読み出しされる情報を構成する単位要素をデータと称する場合もある。
<First Embodiment: Overview of Error Correction Device>
In this embodiment, a configuration of an error correction apparatus including a coding apparatus and a decoding apparatus according to an embodiment of the present invention and a code correction method will be described. In the following description, a unit element constituting data inside the encoding device or the decoding device is referred to as a symbol, and a unit constituting information transmitted, written, stored or read outside these devices. An element may be referred to as data.

図1を参照して、先ず、本形態の誤り訂正装置10の概略的構成を説明する。図1(A)は誤り訂正装置10の概略的構成を示すブロック図であり、図1(B)〜図1(E)はError Correcting Codeブロック(ECCブロック)の構成を示す平面図である。   With reference to FIG. 1, first, a schematic configuration of the error correction apparatus 10 of the present embodiment will be described. FIG. 1A is a block diagram illustrating a schematic configuration of the error correction apparatus 10, and FIGS. 1B to 1E are plan views illustrating a configuration of an error correcting code block (ECC block).

図1(A)を参照して、本形態の誤り訂正装置10は、入力された入力データを符号化する符号化装置20と、伝送経路40を経由して入力された符号化データを復号する復号化装置30とを具備している。   Referring to FIG. 1A, error correction apparatus 10 of this embodiment decodes encoded data input via transmission path 40 and encoding apparatus 20 that encodes the input data that has been input. And a decryption device 30.

ここで、伝送経路40とは、有線または無線を経由した経路が考えられ、例えばデジタル放送や移動体通信がある。また、伝送経路40の代替として記録媒体が用いられても良い。例えば、符号化装置20により生成された符号化データを記録媒体(磁気ディスクや光学ディスク)に記録して、記録媒体から読み出した符号化データを復号化装置30により復号しても良い。ここで、記録媒体としては、例えばDVD(Digital Versatile Disc)やCD(Compact Disc)等のように脱着式のディスクで良いし、HDD(Hard Disk Drive)等のように固定式のディスクでも良い。更に、上記記憶媒体として、フラッシュメモリ等の半導体記憶装置も採用できる。また、HDV(High−Definition Digital Video)で使用されるフォログラムディスクが記憶媒体として採用されても良い。更にまた、記憶媒体としては、ブルーレイディスク(Blu−ray Disc:BD)やHD DVD(High−Definition Digital Versatile Disc)を採用することもできる。   Here, the transmission path 40 may be a wired or wireless path, such as digital broadcasting or mobile communication. A recording medium may be used as an alternative to the transmission path 40. For example, the encoded data generated by the encoding device 20 may be recorded on a recording medium (magnetic disk or optical disk), and the encoded data read from the recording medium may be decoded by the decoding device 30. Here, the recording medium may be a removable disk such as a DVD (Digital Versatile Disc) or a CD (Compact Disc), or a fixed disk such as an HDD (Hard Disk Drive). Further, a semiconductor storage device such as a flash memory can be employed as the storage medium. Further, a follower disc used in HDV (High-Definition Digital Video) may be employed as a storage medium. Furthermore, as a storage medium, a Blu-ray Disc (BD) or HD DVD (High-Definition Digital Versatile Disc) can be adopted.

さらに、符号化装置20のみが個別に使用者に利用されても良いし、復号化装置30のみが個別に使用者に利用されても良い。また、本形態の誤り訂正装置10、符号化装置20または復号化装置30は、ハードウェアとして構成されても良いし、ソフトウェアとしてプログラムにより実現されても良い。更には、これらは一部がハードウェアにより構成され、残りの部分がソフトウェアにより実現されても良い。   Furthermore, only the encoding device 20 may be individually used by the user, or only the decoding device 30 may be individually used by the user. Moreover, the error correction apparatus 10, the encoding apparatus 20, or the decoding apparatus 30 of this embodiment may be configured as hardware, or may be realized by software as a program. Furthermore, a part of these may be implemented by hardware, and the remaining part may be implemented by software.

符号化装置20は、RS符号化部21と、データ変換部23と、LDPC符号化部22と、データ変換部24とを主要に具備している。   The encoding device 20 mainly includes an RS encoding unit 21, a data conversion unit 23, an LDPC encoding unit 22, and a data conversion unit 24.

RS(Reed Solomon)符号化部21では、入力されるデジタルデータである入力データ42に対してリードソロモン(RS)符号化が施され、結果として第1符号化データ43が生成される。具体的には、図1(B)を参照して、入力データ42を構成する一単位要素であるECCブロックは、不図示の複数のページから成り、異なるページに含まれるシンボルに対して、RS符号化が施され、ページ間冗長データが生成される。図では、ページ間冗長データをPOが付された領域で示している。そして、符号化を行う方向は図中で矢印にて示されている。ここで生成される第1符号化データ43は、実質的な意味を持ち複数のページから成る情報と、この情報から生成されたページ間冗長データ(PO)から成る。この第1符号化データ43は、データ変換部23に転送される。なお、ECCブロックの詳細は、図2等を参照して後述する。   An RS (Reed Solomon) encoding unit 21 performs Reed-Solomon (RS) encoding on input data 42 that is input digital data, and as a result, first encoded data 43 is generated. Specifically, referring to FIG. 1B, an ECC block, which is one unit element constituting input data 42, is composed of a plurality of pages (not shown). Encoding is performed to generate redundant data between pages. In the figure, the inter-page redundant data is indicated by an area to which PO is added. The encoding direction is indicated by an arrow in the figure. The first encoded data 43 generated here includes information having a substantial meaning and consisting of a plurality of pages, and inter-page redundant data (PO) generated from this information. The first encoded data 43 is transferred to the data conversion unit 23. Details of the ECC block will be described later with reference to FIG.

データ変換部23では、所定の規則に従って、ECCブロックに含まれる各シンボルのビット数を増大させる。ここでは、シンボルの情報量が8ビット(bit)から16ビットに変換されている。シンボルをこのように変換することは本発明の特徴の一つであり、このことによりLDPC符号化の誤り訂正率を向上させることができる。ここで、シンボルは必ずしも16ビットに変換される必要は無く、例えば9ビット〜15ビット程度でも良く、変換前よりも大きいビット数であればよい。しかしながら、後述するパターンマッチングの工程を考慮すると、シンボルは16ビットに変換されることが望ましい。ここで、シンボルとは、ECCブロックに含まれるページを構成する単位要素であり、後述するパターンマッチング等はシンボル毎に行われる。各シンボルのビット数が増大された第1符号化データ43は、LDPC符号化部22に転送される。   The data conversion unit 23 increases the number of bits of each symbol included in the ECC block according to a predetermined rule. Here, the information amount of the symbol is converted from 8 bits (bits) to 16 bits. Converting symbols in this way is one of the features of the present invention, which can improve the error correction rate of LDPC coding. Here, the symbol does not necessarily need to be converted to 16 bits, and may be, for example, about 9 to 15 bits, as long as the number of bits is larger than before conversion. However, in consideration of the pattern matching process described later, it is desirable that the symbol is converted to 16 bits. Here, the symbol is a unit element constituting a page included in the ECC block, and pattern matching described later is performed for each symbol. The first encoded data 43 in which the number of bits of each symbol is increased is transferred to the LDPC encoding unit 22.

LDPC符号化部22は、RS符号化が施された第1符号化データ43に対してLDPC符号化を施す部位である。上記したRS符号化部21がページ間の符号化を行ったのに対して、LDPC符号化部22はページ内の符号化を行う。具体的には、図1(C)を参照して、ECCブロックに含まれる全てのページに対して、LDPC符号化が施される。図では、LDPC符号化を行う方向が矢印にて示されている。LDPC符号化によって生成されたページ内冗長データは実質的な情報に付加される。図では、付加されるページ内冗長データをPIが付された領域で示している。ここで、生成される第2符号化データは、実質的な意味を有し複数のページから成る情報と、ページ間冗長データ(P0)と、ページ内冗長データ(PI)から成る。生成された第2符号化データ44は、データ変換部24に転送される。   The LDPC encoding unit 22 is a part that performs LDPC encoding on the first encoded data 43 subjected to RS encoding. Whereas the RS encoding unit 21 performs encoding between pages, the LDPC encoding unit 22 performs encoding within a page. Specifically, referring to FIG. 1C, LDPC encoding is performed on all pages included in the ECC block. In the figure, the direction in which LDPC encoding is performed is indicated by arrows. In-page redundant data generated by LDPC encoding is added to substantial information. In the figure, the in-page redundant data to be added is indicated by an area to which PI is added. Here, the generated second encoded data has substantial meaning and includes information including a plurality of pages, inter-page redundant data (P0), and intra-page redundant data (PI). The generated second encoded data 44 is transferred to the data converter 24.

データ変換部24では、ECCブロックを構成する各シンボルの情報量を変換して、情報量を少なくする。例えば、上述したデータ変換部23にてシンボルが8ビットから16ビットに変換された場合は、この部位にて16ビットから8ビットに戻す。更に、戻すための変換を行う際には、データ変換部23で適用された規則とは逆の規則を用いることもできる。データを元に戻す変換を行わずに符号化装置20から復号化データを出力することも可能であるが、そうすると伝送するべき情報量が増大してしまう等の問題が発生する。従って、シンボルの情報量を元に戻してから出力することが好適である。シンボルの情報量が元に変換された第2符号化データ44は、符号化装置20から出力される。また、この部位の主たる役割は情報量の削減であるので、一般的な情報圧縮技術(即ち、上記した情報変換方法とは異なる方法)により符号化データを圧縮して、各シンボルのビット数を減少させても良い。   The data conversion unit 24 converts the information amount of each symbol constituting the ECC block to reduce the information amount. For example, when the symbol is converted from 8 bits to 16 bits by the data converter 23 described above, the symbol is changed back from 16 bits to 8 bits at this portion. Furthermore, when performing conversion for returning, a rule opposite to the rule applied by the data conversion unit 23 can also be used. Although it is possible to output decoded data from the encoding device 20 without performing conversion to restore the original data, this causes a problem such as an increase in the amount of information to be transmitted. Accordingly, it is preferable to output the information amount of the symbol after returning it to the original state. The second encoded data 44 converted based on the symbol information amount is output from the encoding device 20. Since the main role of this part is to reduce the amount of information, the encoded data is compressed by a general information compression technique (that is, a method different from the information conversion method described above), and the number of bits of each symbol is reduced. It may be decreased.

第2符号化装置20から出力された第2符号化データ44は、伝送経路40を経由して復号化装置30に伝送され、後述する復号化装置30に入力される。ここで、第2符号化データ44を転送する際には、外部のノイズ等に起因して誤りが発生する。即ち、復号化装置30に入力される第2符号化データ44は、符号化装置20から出力されたものとは異なっている。復号化装置30では、この誤りを訂正して正しい情報を得る。   The second encoded data 44 output from the second encoding device 20 is transmitted to the decoding device 30 via the transmission path 40 and input to the decoding device 30 described later. Here, when transferring the second encoded data 44, an error occurs due to external noise or the like. That is, the second encoded data 44 input to the decoding device 30 is different from that output from the encoding device 20. The decoding device 30 corrects this error to obtain correct information.

復号化装置30は、データ変換部33と、LDPC復号化部31と、データ変換部34と、RS復号化部32とを主要に具備している。   The decoding device 30 mainly includes a data conversion unit 33, an LDPC decoding unit 31, a data conversion unit 34, and an RS decoding unit 32.

データ変換部33では、復号化装置に入力された復号化データ(符号化装置20により生成された第2符号化データ44)に含まれるシンボルの情報量を変換する。ここでは、シンボルの情報量を8ビットから16ビットに変換している。ここでの変換は、符号化装置20のデータ変換部24に於ける変換と等価(即ち、真逆の変換規則あるいは、可逆変換)である必要がある。   The data conversion unit 33 converts the information amount of symbols included in the decoded data (second encoded data 44 generated by the encoding device 20) input to the decoding device. Here, the symbol information amount is converted from 8 bits to 16 bits. This conversion needs to be equivalent to the conversion in the data conversion unit 24 of the encoding device 20 (that is, a reverse conversion rule or a reversible conversion).

LDPC復号化部31では、16ビットのシンボルから構成される第2符号化データ44に対してLDPC復号化を行い、第1復号化データを生成する。具体的には、図1(D)を参照して、ECCブロックを構成する各ページに対してページ内の復号化を行う。同図では、復号化を行う方向を矢印にて示している。ここでは、各ページ内に含まれるページ内冗長データを用いて、そのページを復号している。また、ページ間冗長データ(PO)に対しても、LDPC復号化が行われる。生成された第1復号化データ45は、データ変換部34に伝送される。   The LDPC decoding unit 31 performs LDPC decoding on the second encoded data 44 composed of 16-bit symbols to generate first decoded data. Specifically, referring to FIG. 1D, intra-page decoding is performed on each page constituting the ECC block. In the figure, the direction of decoding is indicated by an arrow. Here, the page is decoded using the in-page redundant data included in each page. Also, LDPC decoding is performed on inter-page redundant data (PO). The generated first decoded data 45 is transmitted to the data conversion unit 34.

データ変換部34では、ECCブロックを構成する各シンボルのデータを、16ビットから8ビットに変換する。この変換は、詳細を後述するパターンマッチングにより行い、マッチングしたシンボルには、対応する8ビットのシンボルが割り当てられる。一方、マッチングしないシンボルには、エラーであることを示す8ビットのシンボルが割り当てられ、更に、このシンボルの位置を指し示す別のデータ(Erasure Flag:イレージャー・フラッグ)が生成される。このイレージャー・フラッグ(イレージャー信号)は、データ変換された第1復号化データ45と共に、RS復号化部32に伝送される。   The data converter 34 converts the data of each symbol constituting the ECC block from 16 bits to 8 bits. This conversion is performed by pattern matching to be described later in detail, and a corresponding 8-bit symbol is assigned to the matched symbol. On the other hand, an 8-bit symbol indicating an error is assigned to a non-matching symbol, and another data (Erasure Flag) indicating the position of this symbol is generated. This erasure flag (erasure signal) is transmitted to the RS decoding unit 32 together with the first decoded data 45 subjected to data conversion.

RS復号化部32では、データ変換された第1復号化データ45に対して、リードソロモン復号化(RS復号化)を行い、復号化された第2復号化データ46を生成する。ここで生成される第2復号化データ46は、入力データ42と等価である。図1(E)を参照すると、RS復号化はページ間のシンボルに対して行われ、RS復号の方向は矢印にて示されている。   The RS decoding unit 32 performs Reed-Solomon decoding (RS decoding) on the first decoded data 45 subjected to data conversion to generate decoded second decoded data 46. The second decoded data 46 generated here is equivalent to the input data 42. Referring to FIG. 1E, RS decoding is performed on symbols between pages, and the direction of RS decoding is indicated by an arrow.

上述したように、本発明では、ページ内の誤り訂正にLDPC符号を用いて、ページ間の誤り訂正にリードソロモン符号(RS符号)を用いている。この組み合わせにより、訂正能力を極めて高くすることができる。LDPC符号とRS符号とを組み合わせた本実施の形態の誤り訂正方法は、RS符号を2重に組み合わせた誤り訂正方法よりも訂正能力が高くなると共に、回路規模を小さく留められる。   As described above, in the present invention, an LDPC code is used for error correction within a page, and a Reed-Solomon code (RS code) is used for error correction between pages. This combination can make the correction capability extremely high. The error correction method according to the present embodiment that combines the LDPC code and the RS code has a higher correction capability than the error correction method that combines the RS code double, and the circuit scale can be kept small.

図2を参照して、次に、本発明で用いられるECCブロックの一例を説明する。図2はECCブロックの概要を示す図である。   Next, an example of the ECC block used in the present invention will be described with reference to FIG. FIG. 2 is a diagram showing an outline of the ECC block.

図2を参照して、ECCブロック11は、実質的な意味を有するデータ(使用者が使用するデータであり、例えば画像データや文書データ)である情報領域13と、ページ12内の誤り訂正を行うために用いられるページ内冗長データ14と、ページ12の間の誤り訂正を行うために用いられるページ間冗長データ15とから成る。1つのECCブロック11は、トータルで208個(row)のページ12から成る。また、1つのページ12は、実質的な意味を有する情報である1072バイトと、その情報の冗長データである560バイトから成る。更に、最後の20個(row)のページでは、1072バイトのページ間冗長データ15に、560バイトのページ内冗長データが付加されている。本発明では、ページ内冗長データ14はLDPC符号であり、ページ間冗長データ15はRS符号である。   Referring to FIG. 2, the ECC block 11 performs error correction in the information area 13 which is data having substantial meaning (data used by the user, such as image data and document data) and the page 12. It consists of intra-page redundant data 14 used for performing and inter-page redundant data 15 used for performing error correction between pages 12. One ECC block 11 is composed of 208 pages 12 in total. One page 12 is composed of 1072 bytes, which is information having substantial meaning, and 560 bytes, which is redundant data of the information. Further, in the last 20 pages, 560 bytes of in-page redundant data is added to 1072 bytes of inter-page redundant data 15. In the present invention, the intra-page redundant data 14 is an LDPC code, and the inter-page redundant data 15 is an RS code.

ここで、ページ12の先頭の数バイト(例えば4バイト)がページ数を示す場合があり、この場合は各ページの先頭の数バイトについては、RS符号化は行われずにページ間冗長データ15が生成されなくても良いし、この部分も含めた全体に対してページ間冗長データ15が生成されても良い。一方、ページ数がページ12の先頭に挿入されない場合は、ページ12全体に渡ってRS符号化が行われて、ページ間冗長データ15が生成される。   Here, the first few bytes (for example, 4 bytes) of the page 12 may indicate the number of pages. In this case, the inter-page redundant data 15 is not subjected to RS encoding for the first few bytes of each page. The inter-page redundant data 15 may be generated for the whole including this part. On the other hand, when the number of pages is not inserted at the head of the page 12, RS encoding is performed over the entire page 12, and the inter-page redundant data 15 is generated.

図3および図4を参照して、図1に示した符号化装置20に於けるデータの詳細を説明する。図3および図4の各図は、符号化装置20の内部に於けるデータの変遷を示す概念図である。   Details of data in the encoding device 20 shown in FIG. 1 will be described with reference to FIGS. Each of FIGS. 3 and 4 is a conceptual diagram showing transition of data in the encoding device 20.

図3(A)を参照して、上述したように、符号化装置20(図1参照)にて生成されるECCブロック11は複数のページから成り、情報領域13と、ページ内冗長データ14と、ページ間冗長データ15とから成る。符号化装置20では、ユーザーデータである情報領域13に、ページ内冗長データ14とページ間冗長データ15とを付加する。従って、符号化装置20に入力されるデータ(符号化処理が行われる前のデータ)は、情報領域13のみから成る。ここで、ページ間冗長データ15は、LDPC符号化に先行して生成して付与されている。ページ間冗長データ15はリードソロモン符号化により生成される。   Referring to FIG. 3A, as described above, the ECC block 11 generated by the encoding device 20 (see FIG. 1) is composed of a plurality of pages, and includes an information area 13, in-page redundant data 14, and And inter-page redundant data 15. The encoding device 20 adds the intra-page redundant data 14 and the inter-page redundant data 15 to the information area 13 that is user data. Therefore, data input to the encoding device 20 (data before the encoding process is performed) includes only the information area 13. Here, the inter-page redundant data 15 is generated and assigned prior to the LDPC encoding. The inter-page redundant data 15 is generated by Reed-Solomon encoding.

図3(B)を参照して、情報領域13の内部の1つのページ12は、1072バイトの情報量を有する。本発明では、先ず、1つのページ12を8個のデータブロックに分割している。ここで、1つのブロックの情報量は134バイト(1072ビット)である(図3(C)および図3(D)参照)。   Referring to FIG. 3B, one page 12 in the information area 13 has an information amount of 1072 bytes. In the present invention, first, one page 12 is divided into eight data blocks. Here, the information amount of one block is 134 bytes (1072 bits) (see FIG. 3C and FIG. 3D).

図3(E)を参照して、次に、各データブロックに含まれる8ビットのシンボルを16ビットに変換する。ここでは、予め用意されたテーブル(表)を用いて、シンボルのビット数を変換する。この変換は、ただ単にシンボルの前後に0000等のデータを付加するのではなく、LDPC符号の誤り訂正能力が向上されるように、ハミング距離が考慮される。この変換により、1つのデータブロックの情報量は、134バイト(1072ビット)から、268バイト(2144ビット)に変換される。   Referring to FIG. 3E, next, 8-bit symbols included in each data block are converted to 16 bits. Here, the number of bits of the symbol is converted using a table prepared in advance. This conversion does not simply add data such as 0000 before and after the symbol, but considers the Hamming distance so that the error correction capability of the LDPC code is improved. By this conversion, the information amount of one data block is converted from 134 bytes (1072 bits) to 268 bytes (2144 bits).

図4(A)を参照して、次に、各々のデータブロックに対してLDPC符号化を施し、ページ内冗長データ14(Redundancy Block)を生成する。本発明では、1つの処理単位であるシンボルを8ビットから16ビットに変換した後に、LDPC符号化を行っているので、より高度な誤り訂正を行うことができる。   Referring to FIG. 4A, next, each data block is subjected to LDPC encoding to generate in-page redundant data 14 (Redundancy Block). In the present invention, since a symbol which is one processing unit is converted from 8 bits to 16 bits and then LDPC encoding is performed, more advanced error correction can be performed.

LDPC符号化が終了した後は、データブロックに含まれるシンボルを16ビットから8ビットに再び変換する。この変換も上述したテーブルを逆に用いて(即ち、所定の規則に従って)行われる。この変換を終えた後のページを図4(B)に示す。ここでは、134バイトのデータブロックに、70バイトのページ内冗長データ(Redundanncy)が付与されている。   After the LDPC encoding is completed, the symbols included in the data block are converted again from 16 bits to 8 bits. This conversion is also performed by using the above table in reverse (that is, according to a predetermined rule). The page after this conversion is completed is shown in FIG. Here, 70-byte redundant data (Redundancy) is added to a 134-byte data block.

図4(C)を参照して、ここでは、各々が134バイトである8個のデータブロックM1〜M8のそれぞれに対して、70バイトのページ内冗長データR1〜R8が生成される。従って、ここでは、1つのページの情報量は、これらのデータを積算して1632バイトとなる。   Referring to FIG. 4C, here, in-page redundant data R1 to R8 of 70 bytes is generated for each of eight data blocks M1 to M8 each having 134 bytes. Therefore, here, the information amount of one page is 1632 bytes by integrating these data.

上記した行程により、図3(A)に示すページ内冗長データ14が生成され、ECCブロック11が完成する。ECCブロック11は、伝送路等を介して復号化装置に伝送される。または、CD等の記録媒体にECCブロック11は書き込まれる。   Through the above process, the in-page redundant data 14 shown in FIG. 3A is generated, and the ECC block 11 is completed. The ECC block 11 is transmitted to the decoding device via a transmission path or the like. Alternatively, the ECC block 11 is written on a recording medium such as a CD.

図5および図6を参照して次に、復号化装置を用いて、符号化された情報を復号化する際のデータの変遷を説明する。   Next, with reference to FIG. 5 and FIG. 6, the transition of data when decoding the encoded information using the decoding apparatus will be described.

図5(A)を参照して、復号化装置に入力される情報は冗長データが付加されたものであり、具体的には、情報領域13と、ページ内冗長データ14と、ページ間冗長データ15とから成る。このECCブロック11は、伝送路等を経て復号装置に入力されるので、エラーが発生し、符号化装置により生成されたものとは異なる場合がある。そこで、復号化装置では、ページ内冗長データ14とページ間冗長データ15を用いて、このエラーを訂正する。   Referring to FIG. 5A, the information input to the decoding device is obtained by adding redundant data. Specifically, information area 13, in-page redundant data 14, and inter-page redundant data are included. 15 and. Since the ECC block 11 is input to the decoding device via a transmission path or the like, an error occurs and the ECC block 11 may be different from that generated by the encoding device. Therefore, the decoding apparatus corrects this error using the intra-page redundant data 14 and the inter-page redundant data 15.

図5(B)および図5(C)を参照して、ページ内冗長データ14を含む1ページの情報量は、1632バイトであり、各々が204バイトである8個のデータブロックに1つのページは分割することができる。   Referring to FIGS. 5B and 5C, the information amount of one page including the in-page redundant data 14 is 1632 bytes, and one page per 8 data blocks each having 204 bytes. Can be divided.

図5(D)を参照して、1つのデータブロックは、134バイトの情報領域と、70バイトのページ間冗長データから成る。このページ間冗長データは、LDPC符号化により生成されたものである。   Referring to FIG. 5D, one data block is composed of an information area of 134 bytes and redundant data between pages of 70 bytes. This inter-page redundant data is generated by LDPC encoding.

図5(E)および図5(F)を参照して、1つのページに含まれるデータ(実質的に意味を有している情報)は134個のシンボルから成り、各々のシンボルは8ビットの情報量を具備している。   With reference to FIGS. 5E and 5F, the data (substantially meaningful information) included in one page is composed of 134 symbols, each symbol having 8 bits. It has an amount of information.

ここで、図5(B)に示すページ12の構成は、図4(C)に示すとおりであり、最初の1072バイト(134バイト×8個)がユーザーデータであり、その後の560バイト(70バイト×8個)が冗長データである。そしてユーザーデータと冗長データとは、各々が集合して配置されている。図5(C)および図5(D)を参照して、ページ内のデータは並べ替えられ、各ユーザーデータにその冗長データが隣接する。即ち、ユーザーデータ(134バイト)とそれに隣接した冗長データ(70バイト)から成るセットが、8個集合して1つのページが構成される。   Here, the configuration of the page 12 shown in FIG. 5B is as shown in FIG. 4C. The first 1072 bytes (134 bytes × 8) are user data, and the subsequent 560 bytes (70). (Byte × 8) is redundant data. The user data and the redundant data are arranged together. Referring to FIGS. 5C and 5D, the data in the page is rearranged, and the redundant data is adjacent to each user data. That is, eight sets of user data (134 bytes) and redundant data (70 bytes) adjacent thereto are assembled to form one page.

本発明では、各々のシンボルを8ビットから16ビットに変換している。この変換は、上述した復号化と同様に、変換のためのテーブルを用いて行われる。従って、各々のデータブロックに含まれる情報量は、1072ビットから2144ビットとなる。   In the present invention, each symbol is converted from 8 bits to 16 bits. This conversion is performed using a conversion table in the same manner as the decoding described above. Therefore, the amount of information included in each data block is 1072 bits to 2144 bits.

図6(A)および図6(B)を参照して、560ビットのページ間冗長データを用いて、2144ビットの情報に対してLDPC復号化を行い、2144ビットの復号化データを得る。ここで、LDPC符号が行われても、元の情報に完全に復号されるのではなく、復号化に失敗しているシンボルも存在すると考えられる。そこで、本発明では、後に詳述するパターンマッチングを行って、伝送経路にてデータの欠損が発生したか否かを判断している。更にこの作業は、シンボルのビット数の変換も兼ねている。   6A and 6B, 2144-bit information is subjected to LDPC decoding using 560-bit inter-page redundant data to obtain 2144-bit decoded data. Here, even if the LDPC code is performed, it is considered that there is a symbol that is not completely decoded into the original information but has failed to be decoded. Therefore, in the present invention, pattern matching, which will be described in detail later, is performed to determine whether or not data loss has occurred in the transmission path. Furthermore, this operation also serves as conversion of the number of symbols.

図6(C)に変換された後の8ビットの復号化データを示す。この図を参照して、上記パターンマッチングの結果、正しくマッチングしたものは、テーブル中にて対応する8ビットのシンボルに変換される。一方、正しくマッチングしないシンボルは、正しくマッチングしなかったものに割り当てられるべき8ビットのシンボルが割り当てられる。ここでは、マッチングしなかったシンボルに、「0」を指し示す8ビットのシンボルが割り当てられる。更に、図6(D)を参照して、イレージャー信号(Erasure Pattern)が生成される。このイレージャー信号は、上記したマッチングの結果、マッチングしなかった(即ち、伝送経路にてデータが破損した)シンボルの位置を指し示す信号である。   FIG. 6C shows 8-bit decoded data after conversion. Referring to this figure, as a result of the pattern matching, those that are correctly matched are converted into corresponding 8-bit symbols in the table. On the other hand, symbols that do not match correctly are assigned 8-bit symbols that should be assigned to those that did not match correctly. Here, an 8-bit symbol indicating “0” is assigned to a symbol that has not been matched. Further, referring to FIG. 6D, an erasure signal (Erasure Pattern) is generated. This erasure signal is a signal indicating the position of a symbol that has not been matched as a result of the above matching (that is, data has been corrupted in the transmission path).

上記した復号化データとイレージャー信号を用いて、RS復号化が行われて、完全な復号化が行われた情報が得られる。イレージャー信号を利用することにより、誤りが生じたシンボルの位置を容易に知ることができるので、RS復号化により誤り訂正の性能を向上させることができる。   RS decoding is performed using the decoded data and the erasure signal described above, and information that has been completely decoded is obtained. By using the erasure signal, it is possible to easily know the position of the symbol in which an error has occurred, and therefore it is possible to improve error correction performance by RS decoding.

<第2の実施の形態:符号化方法>
本形態では、リードソロモン符号化およびLDPC符号化を組み合わせた符号化方法を詳述する。
<Second Embodiment: Encoding Method>
In this embodiment, an encoding method combining Reed-Solomon encoding and LDPC encoding will be described in detail.

図7のフローチャートを参照して、本形態の復号化方法は、入力された入力データに対してリードソロモン符号化を行って第1符号化データを生成する第1ステップS1と、第1符号化データのビット数を変換する第2ステップS2と、第1符号化データに対してLDPC変換を行って第2符号化データを生成する第3ステップS3と、第2符号化データのビット数を変換する第4ステップS4とを主要に具備する。   Referring to the flowchart of FIG. 7, the decoding method of the present embodiment performs a first step S1 for performing Reed-Solomon encoding on input input data to generate first encoded data, and first encoding Second step S2 for converting the number of bits of data, third step S3 for performing LDPC conversion on the first encoded data to generate second encoded data, and converting the number of bits of the second encoded data And a fourth step S4.

第1ステップ:RS符号化を行うステップ
図8を参照して、入力されたデータに対してリードソロモン符号化を行うステップを説明する。図8(A)は本ステップで生成されるECCブロック11を示す図であり、図8(B)はECCブロックの一部を示す図である。
First Step: Step of Performing RS Encoding With reference to FIG. 8, a step of performing Reed-Solomon encoding on input data will be described. FIG. 8A shows the ECC block 11 generated in this step, and FIG. 8B shows a part of the ECC block.

図8(A)を参照して、実質的な意味を有するユーザーデータである情報領域13は、188個(row)のページ12から成り、1つのページ12は、1072個のシンボル(1つのシンボルは8ビット)から成る。本ステップでは、異なるページに含まれるシンボルに対してリードソロモン符号化を行い、ページ間冗長データを生成する。従って、本工程で生成されるECCブロックは、ユーザーデータである情報領域13と、情報領域に含まれるページ間の冗長であるページ間冗長データ15から成る。   Referring to FIG. 8A, an information area 13 which is user data having substantial meaning is composed of 188 (row) pages 12, and one page 12 includes 1072 symbols (one symbol). Consists of 8 bits). In this step, Reed-Solomon encoding is performed on symbols included in different pages to generate inter-page redundant data. Therefore, the ECC block generated in this process includes the information area 13 which is user data and the inter-page redundant data 15 which is redundancy between pages included in the information area.

図8(B)を参照して、各ページに含まれるシンボルを最上段から、B[0、j]、B[1、j]、B[2、j]、・・・・B[187、j]とした場合、多項式(Remainder Polynomial)Rjは以下の式(1)により計算される。更にここでは、188列の実質的な情報に、47列分のゼロ成分を加えて演算を行い、合計で235列としている。この様にゼロの列を加算するのは、リードソロモンコアに、処理されるデータのフォーマットを一致させるためである。この様な処理はパディングと称される。   Referring to FIG. 8B, symbols included in each page are B [0, j], B [1, j], B [2, j],... B [187, j], a polynomial (Reminder Polynomial) Rj is calculated by the following equation (1). Further, here, the calculation is performed by adding the zero component for 47 columns to the substantial information of 188 columns, and the total is 235 columns. The reason why zero columns are added in this way is to match the format of data to be processed to the Reed-Solomon core. Such processing is called padding.

また、上記式(1)は下記式(2)により表現することもできる。 Further, the above formula (1) can also be expressed by the following formula (2).

更に、上記式(2)中のαは、下記式(3)に示す原始多項式の原始根である。 Furthermore, α in the above equation (2) is a primitive root of the primitive polynomial shown in the following equation (3).

上記計算を、ページ12間の各々のシンボルに対して行い、ページ間冗長データ15が生成され、第1符号化データが生成される。 The above calculation is performed for each symbol between pages 12, and inter-page redundant data 15 is generated to generate first encoded data.

第2ステップ:第1符号化データのビット数を変換するステップ
本ステップでは、ステップ1にて生成された第1符号化データに含まれるシンボルのビット数を変換する。第1ステップにて生成されるデータでは、1つのシンボルのビット数は8ビットである。本工程では、データの含まれるシンボルのビット数を8ビットから16ビットに変換する。
Second step: Converting the number of bits of the first encoded data In this step, the number of bits of the symbol included in the first encoded data generated in step 1 is converted. In the data generated in the first step, the number of bits of one symbol is 8 bits. In this step, the number of bits of symbols included in the data is converted from 8 bits to 16 bits.

本ステップでは、シンボルのビット数を8ビットから16ビットに変換するが、この変換はただ単に変換前のシンボルの前または後に「00000000」等の情報を付与するのではなく、LDPC符号化の効率が高くなるような変換が行われる。即ち、シンボル内部で情報が分散された疎な状態になるように、シンボルの情報量が16ビットに変換される。このように疎なシンボルを生成することで、LDPC符号の符号訂正能力を向上させることができる。また、ここで、ビット数を16ビットに変換しても、シンボルが取り得る値のバリエーションは256通りであり8ビットの場合と変わらない。従って、シンボルを増加させることによる計算量の増加は抑制されている。   In this step, the number of bits of the symbol is converted from 8 bits to 16 bits, but this conversion does not simply add information such as “00000000” before or after the symbol before conversion, but the efficiency of LDPC encoding. The conversion is performed so that becomes high. That is, the information amount of the symbol is converted to 16 bits so that the information is dispersed in the sparse state. By generating such sparse symbols, it is possible to improve the code correction capability of the LDPC code. Here, even if the number of bits is converted to 16 bits, there are 256 variations of values that the symbol can take, which is not different from the case of 8 bits. Therefore, an increase in calculation amount due to an increase in symbols is suppressed.

図9に、本工程で使用されるマッピングテーブルを示す。ここでは、左側の列に16ビットのシンボルが示され、右側の列にそれに対応する8ビットシンボルが示されている。このテーブルを使用して、ECCブロックに含まれる全てのシンボルは8ビットから16ビットに変換される。例えば、16ビットのシンボルに於ける最下段のシンボル255は、それに対応する8ビットシンボル255(1111_1111)に変換する(割り当てられる)。   FIG. 9 shows a mapping table used in this step. Here, a 16-bit symbol is shown in the left column, and a corresponding 8-bit symbol is shown in the right column. Using this table, all symbols contained in the ECC block are converted from 8 bits to 16 bits. For example, the lowermost symbol 255 in the 16-bit symbol is converted (assigned) to the corresponding 8-bit symbol 255 (1111 — 1111).

次に、図10および図11を参照して、上記したテーブル(マッピングテーブル)の生成方法を説明する。図10(A)は確率分布を示すグラフであり、図10(B)はそのグラフを数値化した表であり、図10(C)は8ビットシンボルのハミング距離を示す表であり、図10(D)はマッピングテーブルである。   Next, a method for generating the table (mapping table) will be described with reference to FIGS. 10A is a graph showing the probability distribution, FIG. 10B is a table in which the graph is digitized, FIG. 10C is a table showing the Hamming distance of the 8-bit symbol, and FIG. (D) is a mapping table.

先ず、LDPCアルゴリズムはRaw Data Format(16ビット)を使用することで実現される。この変換テーブルの主たる目的は、8ビットデータを適切な(即ち、変換前よりも疎な状態な)16ビットデータのシンボルに割り当てることにある。   First, the LDPC algorithm is realized by using Raw Data Format (16 bits). The main purpose of this conversion table is to assign 8-bit data to appropriate (ie, sparser than before conversion) 16-bit data symbols.

以下に、上記マッピングテーブルを構築する方法を説明する。最初に、顧客から提供されたデータを利用して、伝送路のノイズを解析する。図10(A)は、このノイズの性質を可視化したものである。紙面上にて手前側の横軸は伝送路にインプットされるデータを示し、奥行き側に伸びる軸は伝送路から出力されるデータを示し、縦方向の軸はインプット情報とアウトプット情報にエラーが生じる確率であるエラー確率を示している。この解析は、16ビットシンボル(合計で256個)を使用したエラー確率マトリックスを構築することを可能とする。   A method for constructing the mapping table will be described below. First, transmission line noise is analyzed using data provided by a customer. FIG. 10A visualizes the nature of this noise. The horizontal axis on the front side of the paper shows the data input to the transmission line, the axis extending to the depth side shows the data output from the transmission line, and the vertical axis shows errors in the input information and output information. The error probability that is the probability of occurrence is shown. This analysis makes it possible to build an error probability matrix using 16-bit symbols (256 in total).

図10(C)を参照して、8ビットバイナリデータのハミング距離が構築される。バイナリAdataとバイナリBdataとのハミング距離は、AdataとBdataとのバイナリ値を比較することにより、簡単に計算できる。例えば、以下の2つの値が有ると仮定した場合、
第1の値:1000_0000
第2の値:0001_1011
第1の値と第2の値とのハミング距離Hdは5である。
Referring to FIG. 10C, a Hamming distance of 8-bit binary data is constructed. The Hamming distance between binary Data and binary Bdata can be easily calculated by comparing the binary values of Data and Bdata. For example, assuming that there are two values:
First value: 1000_0000
Second value: 0001_1011
The Hamming distance Hd between the first value and the second value is 5.

図10(C)には、8ビットデータの、全ての組合せのハミング距離が示されている。そして、上記した2つのマトリックスは、8ビットデータを16ビットシンボル(4×4)に割り当てるマッピングテーブルによりリンクされる。   FIG. 10C shows the Hamming distances of all combinations of 8-bit data. The two matrices described above are linked by a mapping table that assigns 8-bit data to 16-bit symbols (4 × 4).

上記した各表(テーブル)を基に、図10(D)に示すマッピングテーブルが生成される。このテーブルは、8ビットシンボルを16ビットシンボルに変換されるときに使用されると共に、逆に、16ビットシンボルを8ビットシンボルに変換(逆変換)する際にも同じように適用される。   Based on each table described above, the mapping table shown in FIG. 10D is generated. This table is used when an 8-bit symbol is converted into a 16-bit symbol, and conversely, the table is similarly applied when converting a 16-bit symbol into an 8-bit symbol (inverse conversion).

更に、上記マッピングテーブルは、次のような理念に基づいて、生成される。即ち、「インプットされた16ビットシンボルが、出力されるシンボルよりも高い確率を有している場合は、対応するハミング距離Hd(A、B)が可能な限り低くなる。」という基本的考えの基にマッピングテーブルは生成される。   Further, the mapping table is generated based on the following philosophy. That is, the basic idea is “if the input 16-bit symbol has a higher probability than the output symbol, the corresponding Hamming distance Hd (A, B) is as low as possible”. Based on this, a mapping table is generated.

図11を参照して、次に、効率的にマッピングテーブルを構築する為のアルゴリズムを説明する。図11(A)はマッチングテーブルの生成方法を示すフローチャートであり、図11(B)は最適化を行う前のマッピングテーブルであり、図11(C)は最適化を行った後のマッピングテーブルである。このアルゴリズムの主たる目的は、下記式(5)に示される式に示されるハミング比を可能な限り小さくすることにある。   Next, an algorithm for efficiently constructing a mapping table will be described with reference to FIG. FIG. 11A is a flowchart showing a matching table generation method, FIG. 11B is a mapping table before optimization, and FIG. 11C is a mapping table after optimization. is there. The main purpose of this algorithm is to make the Hamming ratio shown in the following equation (5) as small as possible.

図11(A)に示された各フローチャートの各ステップの具体的処理は以下の通りである。 Specific processing of each step in each flowchart shown in FIG. 11A is as follows.

先ず、ステップS1では、8ビットを16ビットに変換するテーブルを初期化する。8ビットデータと16ビットデータとは、両方とも昇順にソートされる。そして、上記式(5)に示された式によりハミング平均値を計算する。この式により算出された値を以後、H参照値と称する。   First, in step S1, a table for converting 8 bits into 16 bits is initialized. Both 8-bit data and 16-bit data are sorted in ascending order. Then, the Hamming average value is calculated by the equation shown in the above equation (5). Hereinafter, the value calculated by this equation is referred to as an H reference value.

ステップS2では、マッピングテーブルを2つの列になるように置換する。この置換の一例を図11(B)および図11(C)に示す。置換が終了すると、16ビットシンボルの0は8ビットデータの1に対応し、16ビットシンボルの1は、8ビットデータの0に対応する(図11(C)参照)。   In step S2, the mapping table is replaced with two columns. An example of this substitution is shown in FIGS. 11B and 11C. When the replacement is completed, 16-bit symbol 0 corresponds to 8-bit data 1 and 16-bit symbol 1 corresponds to 8-bit data 0 (see FIG. 11C).

ステップS3では、次に、アップデートされた(置換された)マッピングテーブルを使用して、ハミング平均値を上記式(5)に示された式を使用して計算する。この値をHup値と称する。   In step S3, the Hamming average is then calculated using the formula shown in equation (5) above using the updated (replaced) mapping table. This value is referred to as a Hup value.

ステップS4では、続いて、Hup値とH参照値(Href値と以下にて称する場合もある)とを比較する。   In step S4, subsequently, the Hup value and the H reference value (which may be referred to as “Href value” below) are compared.

上記ステップS4にて、Hup値がHref値よりも低い場合、(換言すると、この状態のマッピングテーブルが参照のマッピングテーブルよりも適している場合)は、ステップS5に移行して、次のような処置をする。即ち、ステップS2における置換が記憶されると共に、参照ハミング平均値比がHup値としてセットされる(Href値をHup値に割り当てる)。   When the Hup value is lower than the Href value in step S4 (in other words, when the mapping table in this state is more suitable than the reference mapping table), the process proceeds to step S5, and the following Take action. That is, the replacement in step S2 is stored, and the reference Hamming average value ratio is set as the Hup value (assigns the Href value to the Hup value).

一方、上記ステップS4にて、Hup値がHref値よりも大きい場合、(換言すると、この状態のマッピングテーブルが参照のマッピングテーブルよりも適切でない場合)は、ステップS6に移行して、次のような処置をする。即ち、ステップS3での置換は記憶されずに、参照のマッピングテーブルを復帰させる(即ち、そのままの状態にしておく)。   On the other hand, if the Hup value is larger than the Href value in step S4 (in other words, if the mapping table in this state is not appropriate than the reference mapping table), the process proceeds to step S6, and Take appropriate measures. That is, the replacement in step S3 is not stored and the reference mapping table is restored (that is, left as it is).

上記プロセスは、マッピングテーブルの全ての2列置換に対して行われる。このことによって、本実施の形態の目的に沿った最適なマッピングテーブルが生成される。   The above process is performed for all 2-column permutations of the mapping table. As a result, an optimal mapping table that meets the object of the present embodiment is generated.

第3ステップ:第1符号化データに対してLDPC変換を行うステップ
本ステップでは、上記工程により個々のシンボルが8ビットから16ビットに変換された第1符号化データに対してLDPC符号化を行い、ページ内の冗長データを生成して、第2符号化データを生成する。
Third step: Step of performing LDPC conversion on the first encoded data In this step, LDPC encoding is performed on the first encoded data in which individual symbols are converted from 8 bits to 16 bits by the above process. The redundant data in the page is generated, and the second encoded data is generated.

図12(A)に本ステップで用いるパリティ検査行列60を示し、図12(B)に本ステップにて生成される第2符号化データを構成するECCブロック11を示す。   FIG. 12A shows the parity check matrix 60 used in this step, and FIG. 12B shows the ECC block 11 constituting the second encoded data generated in this step.

図12(A)に示すパリティ検査行列60は、例えば、560行・2704列の構成となっている。本形態では、符号化単位となる1ページ分の情報は2144ビットであり、560個のパリティビットを生成するために更に560ビットが付け加えられ、パリティ検査行列60の列数は2704列となる。また、検査行列の右端部には正方形の領域が必要となるので、パリティ検査行列60の行数は560行と成っている。なお、この正方形領域では、対角線の沿った成分は全てが1となっており、対角線より右側は0となっている。更に、この対角線より左側の領域は1が疎に配置されている。   The parity check matrix 60 shown in FIG. 12A has a configuration of, for example, 560 rows and 2704 columns. In this embodiment, the information for one page as a coding unit is 2144 bits, and 560 bits are further added to generate 560 parity bits, and the number of columns of the parity check matrix 60 is 2704. Also, since a square area is required at the right end of the parity check matrix, the number of rows of the parity check matrix 60 is 560. In this square region, all the components along the diagonal are 1, and 0 on the right side of the diagonal. Furthermore, 1 is sparsely arranged in the region on the left side of the diagonal line.

次に、上記したパリティ検査行列60を各々のページを構成する各ビットと演算して、パリティビットを算出する。このことを換言すれば、各ページについて560元の連立方程式を解くことで、各ページに付加されるページ内冗長データが生成される。   Next, the parity check matrix 60 is calculated with each bit constituting each page to calculate a parity bit. In other words, the intra-page redundant data added to each page is generated by solving simultaneous equations of 560 yuan for each page.

このようなパリティ検査行列を用いたページ間冗長データの生成は、ECCブロックを構成する各ページについて行われる。また、RS符号化により生成されたページ間冗長データ15に関しても、LDPC符号化によるページ内冗長データ14が生成される。   Generation of inter-page redundant data using such a parity check matrix is performed for each page constituting the ECC block. In addition, the intra-page redundant data 14 by LDPC encoding is also generated for the inter-page redundant data 15 generated by RS encoding.

上記ステップにより、図12(B)に示す構成のECCブロック11が生成される。ECCブロック11の構成の詳細は、第1の実施の形態にて上記した。ここでは、ページ12毎にページ内冗長データ14が生成され、1つのページに560バイトのページ内冗長データ14が付加される。   Through the above steps, the ECC block 11 having the configuration shown in FIG. 12B is generated. Details of the configuration of the ECC block 11 have been described above in the first embodiment. Here, in-page redundant data 14 is generated for each page 12, and 560-byte in-page redundant data 14 is added to one page.

本発明の特徴の一つは、ハミング距離が考慮されてビット数が変換された情報に対して、LDPC符号変換を行う点にある。このことにより、冗長データおよび計算量の増大を抑制しつつ、LDPC符号化の誤り訂正能力を向上させることができる。一般的に、誤り訂正のための符号化技術では、符号化の為の冗長データを長くするほど、誤り訂正能力を高めることができる。しかしながら、冗長データを長くすると、伝送又は記録されるべきトータルな情報量が増大してしまい、誤り訂正の為の計算量(計算時間)も長くなってしまう等の問題もある。そこで本形態では、シンボルの情報量を8ビットから16ビットに変換した後に、このシンボルに対してLDPC符号化を行っている。このことにより、シンボルが疎な状態になるので、LDPC符号化の誤り訂正能力が向上される。更に、8ビットのシンボルに適用されるテーブルを用いることができるので、シンボルの情報量が増加することに依る符号化の計算量の増大が抑制される。   One of the features of the present invention is that LDPC code conversion is performed on information in which the number of bits is converted in consideration of the Hamming distance. As a result, the error correction capability of LDPC encoding can be improved while suppressing an increase in redundant data and calculation amount. In general, in an encoding technique for error correction, the longer the redundant data for encoding, the higher the error correction capability. However, when the redundant data is lengthened, there is a problem that the total amount of information to be transmitted or recorded increases, and the amount of calculation (calculation time) for error correction becomes long. Therefore, in this embodiment, after the symbol information amount is converted from 8 bits to 16 bits, LDPC encoding is performed on the symbols. As a result, symbols become sparse, so that the error correction capability of LDPC encoding is improved. Furthermore, since a table applied to 8-bit symbols can be used, an increase in the amount of coding calculation due to an increase in the amount of symbol information is suppressed.

第4ステップ:第2符号化データのビット数を変換するステップ
図13(A)を参照して、本ステップでは、LDPC符号化が行われた第2符号化データの構成するシンボルを、16ビットから8ビットに変換して、全体の情報量を削減する。具体的には、ECCブロック11の中の情報領域13とページ間冗長データ15に含まれるシンボルの情報量が、16ビットから8ビットに変換される。本ステップの情報量の変換が行われた結果、1ページに含まれる情報領域13の情報量は、2144ビットから1072ビットに変換される。また、この変換は、ページ間冗長データ15に対しても行われる。ここでは、各ページに含まれるシンボルの情報量を16ビットから8ビットに変換しているが、8ビットに以外の情報量(例えば9ビット〜15ビット)にシンボルが変換されても良い。しかしながら、電気信号が伝送される一般的な伝送路では、8ビットまたは16ビットの情報が通過することを前提として設計されている場合が多いので、このステップで生成されるシンボルの情報量は8ビットが好適である。
Fourth Step: Step of Converting Number of Bits of Second Encoded Data Referring to FIG. 13A, in this step, symbols constituting the second encoded data subjected to LDPC encoding are 16 bits. To 8 bits to reduce the total amount of information. Specifically, the information amount of symbols included in the information area 13 and the inter-page redundant data 15 in the ECC block 11 is converted from 16 bits to 8 bits. As a result of the conversion of the information amount in this step, the information amount of the information area 13 included in one page is converted from 2144 bits to 1072 bits. This conversion is also performed on the inter-page redundant data 15. Here, the information amount of the symbols included in each page is converted from 16 bits to 8 bits, but the symbols may be converted to information amounts other than 8 bits (for example, 9 bits to 15 bits). However, since a general transmission path through which an electrical signal is transmitted is often designed on the assumption that 8-bit or 16-bit information passes, the information amount of the symbol generated in this step is 8 Bits are preferred.

本ステップで、シンボルの情報量を削減することにより、伝送または記録されるべき情報の全体的な量が小さくなる。従って、本形態の符号化装置により生成された符号化データを伝送する場合は、本ステップにてトータルな情報量が削減された結果、伝送路に与える負荷が軽減される。また、生成された符号化データが記憶媒体に記録される場合は、記憶媒体に記録可能な実質的な情報量を増大させることができる。   In this step, reducing the amount of symbol information reduces the overall amount of information to be transmitted or recorded. Therefore, when transmitting the encoded data generated by the encoding apparatus of the present embodiment, the total information amount is reduced in this step, so that the load applied to the transmission path is reduced. When the generated encoded data is recorded on a storage medium, the substantial amount of information that can be recorded on the storage medium can be increased.

本ステップの情報量の変換は、上述した第2ステップの情報量の変換とは性質が異なる。上記第2ステップでは、LDPC符号化の誤り訂正能力を向上させるために、シンボルの情報量を8ビットから16ビットにして疎な状態にした。本ステップでは、情報量の削減が目的であるので、ビット数を変換する表を用意して、この表に従ってシンボルの8ビットを16ビットに変換すればよい。図11(B)にこの変換に用いられる表の一例を示す。   The information amount conversion in this step is different in nature from the information amount conversion in the second step described above. In the second step, in order to improve the error correction capability of LDPC encoding, the information amount of symbols is changed from 8 bits to 16 bits to make a sparse state. Since the purpose is to reduce the amount of information in this step, a table for converting the number of bits may be prepared, and the 8 bits of the symbol may be converted to 16 bits according to this table. FIG. 11B shows an example of a table used for this conversion.

<第3の実施の形態:復号化方法>
本形態では、上記第2の実施の形態にて説明した方法により生成された符号化データを復号化して基のデータを得る方法を説明する。
<Third Embodiment: Decoding Method>
In the present embodiment, a method for obtaining base data by decoding encoded data generated by the method described in the second embodiment will be described.

本形態の復号化方法は、図14に示すフローチャートを参照して、入力された入力データ(符号化データ)を構成するシンボルの情報量を変換する第1ステップS11と、変換されたデータに対してLDPC変換を行って第1復号化データを生成する第2ステップS12と、第1復号化データに含まれるシンボルの情報量を変換する第3ステップS13と、第1復号化データに対してRS復号化を行って第2復号化データを生成する第4ステップS14とを具備している。   In the decoding method of this embodiment, referring to the flowchart shown in FIG. 14, the first step S11 for converting the amount of information of symbols constituting the input data (encoded data) that has been input, and the converted data The second step S12 for generating the first decoded data by performing LDPC conversion, the third step S13 for converting the information amount of the symbol included in the first decoded data, and the RS for the first decoded data And 4th step S14 which performs decoding and produces | generates 2nd decoding data.

第1ステップ:入力されたデータのビット数を変換するステップ
本ステップでは、入力された入力データ49を構成するシンボルのデータ量を変換する。ここで、入力データとは、上述した第2の実施の形態で説明した方法により符号化されたデータである。
1st step: The step which converts the bit number of the input data In this step, the data amount of the symbol which comprises the input data 49 input is converted. Here, the input data is data encoded by the method described in the second embodiment.

本ステップのデータ変換は、上述した第2の実施の形態に於ける第4ステップで行われたデータ変換の逆である。従って、上述した第4ステップのデータ変換がシンボルのデータ量を8ビットから16ビットに変換するものであった場合は、本ステップではシンボルのデータ量を16ビットから8ビットに変換する。また、変換に用いるテーブルも、上述した第4ステップと同じものを用いる。図15に、本ステップのデータ変換に用いるテーブルの一例を示す。   The data conversion in this step is the reverse of the data conversion performed in the fourth step in the above-described second embodiment. Therefore, if the data conversion in the fourth step described above converts the symbol data amount from 8 bits to 16 bits, this step converts the symbol data amount from 16 bits to 8 bits. The table used for conversion is the same as that in the fourth step described above. FIG. 15 shows an example of a table used for data conversion in this step.

第2ステップ:LDPC復号化を行うステップ
本ステップでは、上述ステップによりシンボルのビット数が変換された符号化データに対して、LDPC復号化を行い、第1復号化データ45を生成する。具体的には、Sum−Productアルゴリズムに基づく繰り返し復号を行い、推定結果である復号化データを得る。
Second Step: Step of Performing LDPC Decoding In this step, the first decoded data 45 is generated by performing LDPC decoding on the encoded data in which the number of bits of the symbol is converted in the above step. Specifically, iterative decoding based on the Sum-Product algorithm is performed to obtain decoded data as an estimation result.

本ステップでは対数尤度比(log likelihood ratio)に基づくSum−Product復号法を行うので、Sum−Productアルゴリズムに入力される入力情報は、入力データ49自身ではない。   In this step, since the Sum-Product decoding method based on the log likelihood ratio is performed, the input information input to the Sum-Product algorithm is not the input data 49 itself.

ここで、図16(A)に示すようなデータの伝送路(Channel)を想定し、伝送路に入力されるデータをXnとし、伝送路を経由して受信されるデータをYnとする。このように仮定した場合、本ステップでは、以下に示す式(4)により算出されるλがSum−Productアルゴリズムに入力される。 Here, assuming a data transmission path (Channel) as shown in FIG. 16A, the data input to the transmission path is Xn, and the data received via the transmission path is Yn. Assuming this, in this step, λ n calculated by the following equation (4) is input to the Sum-Product algorithm.

上記λnの値は伝送路の統計学的性質による。即ち、伝送路の種類や状況によってエラーの発生する状況は様々であり、このことがλnの値に影響するので、その値を求めることは容易ではない。そこで、本発明では、伝送路に発生するエラーの統計学的性質を予め解析し、この解析の結果に基づいて対数尤度比を求めている。 The value of λn depends on the statistical properties of the transmission line. That is, there are various situations in which an error occurs depending on the type and situation of the transmission line, and this affects the value of λn, so that it is not easy to obtain the value. Therefore, in the present invention, the statistical properties of errors occurring in the transmission path are analyzed in advance, and the log likelihood ratio is obtained based on the result of this analysis.

図16(B)に上記解析に基づく結果の一例を示す。この表では、00〜11の入力に対応して、00〜11が出力される確率を示している。例えば、00が入力されたときに、00が出力される確率は0.8(80%)であり、00が入力されたときに11が出力される確率は0.0(0%)である。   FIG. 16B shows an example of a result based on the above analysis. In this table, the probability that 00 to 11 is output corresponding to the input of 00 to 11 is shown. For example, when 00 is input, the probability that 00 is output is 0.8 (80%), and when 00 is input, the probability that 11 is output is 0.0 (0%). .

上記解析結果に基づく対数尤度比の算出方法は次の通りである。先ず、それぞれの出力値に関して、入力値が0である確率(P0)と、入力値が1である確率(P1)を算出する。次に、P1/P0を算出した後に、log(P1/P0)を算出してλを求める。ここで、P1がP0よりも大きかったらλの値は正となり、P1がP0よりも小さかったらλの値は負となる。   The log likelihood ratio calculation method based on the analysis result is as follows. First, for each output value, a probability (P0) that the input value is 0 and a probability (P1) that the input value is 1 are calculated. Next, after calculating P1 / P0, log (P1 / P0) is calculated to obtain λ. Here, if P1 is larger than P0, the value of λ becomes positive, and if P1 is smaller than P0, the value of λ becomes negative.

更に図16(B)を参照して、上記算出方法の一例を説明すると、例えば出力値が10であった場合、入力値が1である確率P1は、P1=0.6+0.1=0.7と算出される。また、入力値が0である確率P0は、P0=0.2+0.1=0.3と算出される。従って、λ=log(0.7/0.3)=0.36となる。   Further, an example of the above calculation method will be described with reference to FIG. 16B. For example, when the output value is 10, the probability P1 that the input value is 1 is P1 = 0.6 + 0.1 = 0. 7 is calculated. The probability P0 that the input value is 0 is calculated as P0 = 0.2 + 0.1 = 0.3. Therefore, λ = log (0.7 / 0.3) = 0.36.

またLDPC復号処理では、図17に示すようなGallager Function を用いて計算をしている。ここで、RTL(Register Transfer Level)等で復号化装置を構成した場合は、対数の計算にかかるコストは大きくなり、計算時間も長くなる。そこで本形態では、この対数の計算を予め行い、計算結果に基づくルックアップテーブルを生成し、このルックアップテーブルを参照することにより対数を計算している。ルックアップテーブルを用いることにより、復号化に必要とされる計算量を低減させ、計算速度を高速にすると共に回路規模を削減することができる。   In the LDPC decoding process, calculation is performed using a Gallager function as shown in FIG. Here, when the decoding device is configured by RTL (Register Transfer Level) or the like, the cost for calculating the logarithm increases and the calculation time also increases. Therefore, in this embodiment, the logarithm is calculated in advance, a lookup table based on the calculation result is generated, and the logarithm is calculated by referring to the lookup table. By using a lookup table, the amount of calculation required for decoding can be reduced, the calculation speed can be increased, and the circuit scale can be reduced.

上記方法によりLDPC復号化が行われる。係る復号化の他の部分の詳細は、例えば、「低密度パリティ検査符号とその復号法:和田山正著:トリケップス」に記載されている。   LDPC decoding is performed by the above method. Details of the other parts of the decoding are described in, for example, “Low-density parity check code and decoding method: Tadashi Wadayama: Trikes”.

第3ステップ:第1復号化データを変換するステップ
本ステップでは、図18を参照して、先ステップにて復号された第1復号化データを変換する。図18(A)は、本ステップに手処理される第1復号化データの一部を示す図であり、図18(B)はデータ変換のためのパターンマッチングを示す図であり、図18(C)は本ステップの手順を示すフローチャートである。
Third Step: Step of Converting First Decoded Data In this step, the first decoded data decoded in the previous step is converted with reference to FIG. FIG. 18A is a diagram illustrating a part of the first decoded data manually processed in this step, and FIG. 18B is a diagram illustrating pattern matching for data conversion. C) is a flowchart showing the procedure of this step.

本ステップでは、先ステップにて復号化処理されたデータに含まれるシンボルのビット数を変化させる。具体的には、シンボルのビット数を16ビットから8ビットに変換させる。この処理は、次ステップであるRS復号化のために必要とされる処理である。更に、本ステップでは、先ステップであるLDPCアルゴリズムにてエラーが発生したエラーを検出している。即ち、ここでは、パターンマッチングを行うことにより、これらの2つの処理を行っている。   In this step, the number of bits of the symbol included in the data decoded in the previous step is changed. Specifically, the number of bits of the symbol is converted from 16 bits to 8 bits. This process is a process required for RS decoding which is the next step. Further, in this step, an error in which an error has occurred is detected by the LDPC algorithm which is the previous step. That is, here, these two processes are performed by performing pattern matching.

図18(A)を参照して、LDPC復号化が施されたデータは、1ページが2144ビットの情報量を有し、このページに含まれる1シンボルのビット数は16ビットである。16ビットの1シンボルは、4×4のマスクシンボルと等価である。このマスクシンボルは、先実施の形態にて、LDPC符号化の前に行われるデータ変換の際に用いられたものと同様なものである。   Referring to FIG. 18A, in the data subjected to LDPC decoding, one page has an information amount of 2144 bits, and the number of bits of one symbol included in this page is 16 bits. One symbol of 16 bits is equivalent to a 4 × 4 mask symbol. This mask symbol is the same as that used in the data conversion performed before LDPC encoding in the previous embodiment.

図18(B)を参照して、本ステップでは、LDPC復号化により得られた第1復号化データに含まれるシンボルと、マスクシンボルとを逐次比較している。即ち、両シンボルのパターンが一致するか否かを確認しており、この作業はパターンマッチングと称されている。このパターンマッチングは、第1復号化データに含まれる全てのシンボルに対して行われる。このマスクシンボルは、8ビットのデータに対応して設けられているので、全部で256個存在する。   Referring to FIG. 18B, in this step, symbols included in the first decoded data obtained by LDPC decoding and mask symbols are sequentially compared. That is, it is confirmed whether or not the patterns of both symbols match, and this operation is called pattern matching. This pattern matching is performed on all symbols included in the first decoded data. Since the mask symbols are provided corresponding to 8-bit data, there are 256 in total.

図18(C)を参照して、上記パターンマッチングの詳細を説明する。本ステップのパターンマッチングでは、先ず、LDPC復号化された第1復号化データに含まれる16ビットのシンボルを、256個存在するマスクシンボルと順次比較する(S1)。この図に示すパターンマッチングは、第1復号化データを構成する全てのシンボルに対して順次行われる。   Details of the pattern matching will be described with reference to FIG. In pattern matching in this step, first, 16-bit symbols included in the first decoded data subjected to LDPC decoding are sequentially compared with 256 existing mask symbols (S1). The pattern matching shown in this figure is sequentially performed on all symbols constituting the first decoded data.

次に、シンボルが多数存在するマスクシンボルの中の一つとマッチするか否かが判断される(S2)。即ち、S2では、LDPC復号化により生成された第1復号化データに含まれるシンボルと同一のものが、256個存在するマスクシンボルセットの中に存在するか否かが調べられる。   Next, it is determined whether or not there is a match with one of many mask symbols (S2). That is, in S2, it is checked whether or not the same symbols included in the first decoded data generated by the LDPC decoding are present in 256 mask symbol sets.

そして、一致するマスクシンボルが存在したら(S2のYES)、一致したマスクシンボルに対応する8ビットデータが、そのシンボルに割り当てられる(S3)。このステップを踏むことにより、先工程のLDPC復号化にてエラーが発生していないことが確認されると共に、第1復号化データを構成するシンボルのビット数が、16ビットから8ビットに変換される。   If a matching mask symbol exists (YES in S2), 8-bit data corresponding to the matching mask symbol is assigned to the symbol (S3). By taking this step, it is confirmed that no error has occurred in the LDPC decoding of the previous process, and the number of bits of the symbols constituting the first decoded data is converted from 16 bits to 8 bits. The

一方、一致するマスクシンボルが存在しなければ(S2のNO)、その旨を示す8ビットデータが割り当てられる(S4)。例えば、「00000000」が処理対象の16ビットのシンボルに割り当てられる。LDPC復号化が正常に行われたら(即ち、誤り訂正が正しく行われたら)、256個存在するマスクシンボルのいずれか一つとマッチするはずである。従って、処理対象のシンボルとマッチングする(一致する)マスクシンボルが存在しないと云うことは、LDPC復号化が失敗していることを意味している。このことから、ステップS4では、復号化に失敗したシンボルの存在および位置を指し示す信号であるイレージャー信号を発生させて、次ステップにてこの信号を利用する。   On the other hand, if there is no matching mask symbol (NO in S2), 8-bit data indicating that is assigned (S4). For example, “00000000” is assigned to a 16-bit symbol to be processed. If LDPC decoding is performed normally (ie, if error correction is performed correctly), it should match any one of 256 existing mask symbols. Therefore, the fact that there is no mask symbol that matches (matches) the symbol to be processed means that LDPC decoding has failed. Therefore, in step S4, an erasure signal that is a signal indicating the presence and position of a symbol that has failed to be decoded is generated, and this signal is used in the next step.

以上述べたように、本ステップは、LDPC復号化が施されたデータに対してパターンマッチングを行うことにより、第1復号化データを構成する16ビットのシンボルが8ビットに変換される。更に、復号化に失敗したシンボルにはその旨を示す8ビットのシンボルが割り当てられ、更に、このシンボルの存在とその位置を示すイレージャー信号が生成される。そして、これらのデータおよび信号は、次ステップにて活用される。   As described above, in this step, the 16-bit symbols constituting the first decoded data are converted to 8 bits by performing pattern matching on the data subjected to LDPC decoding. Further, an 8-bit symbol indicating that is assigned to the symbol that has failed to be decoded, and an erasure signal indicating the presence and position of this symbol is generated. These data and signals are utilized in the next step.

本ステップのマッチングにより、シンボルのビット数が変換されると共に、復号化の妥当さの是非も判断される。従って、1つの処理によりデータ数変換と復号化の検証が行われるので、処理の複雑化を回避しつつ高度な誤り訂正を行うことができる。   By matching in this step, the number of bits of the symbol is converted, and whether or not the decoding is appropriate is determined. Therefore, the number of data conversion and the decoding are verified by one process, so that advanced error correction can be performed while avoiding the complicated process.

第4ステップ:第1復号化データをRS復号化するステップ
図19を参照して、RS復号化を行うステップを、RS復号化部32の構成と共に説明する。このステップの原理と使用される数式は、第1の実施の形態にて説明したので、重複する部分は割愛する。なお、本実施の形態のRS復号方法およりRS復号装置は、通常使用されるものと基本的には同様である。
Fourth Step: Step of RS Decoding First Decoded Data With reference to FIG. 19, the step of performing RS decoding will be described together with the configuration of the RS decoding unit 32. Since the principle of this step and the mathematical formula used have been described in the first embodiment, overlapping portions are omitted. Note that the RS decoding method and RS decoding apparatus of the present embodiment are basically the same as those normally used.

本ステップにて用いられるRS復号装置32は、シンドローム演算部50と、多項式演算部51と、シンドローム演算部52と、Eucide演算部53と、Chien演算部54と、エラー訂正部55とを主要に具備している。   The RS decoding device 32 used in this step mainly includes a syndrome calculation unit 50, a polynomial calculation unit 51, a syndrome calculation unit 52, an Eucide calculation unit 53, a Chien calculation unit 54, and an error correction unit 55. It has.

先ステップにて生成された第1復号化データ45は、シンドローム演算部50に入力され、シンドローム演算部50にてシンドロームが算出される。ここで、シンドロームとは、第1復号化データ45に、パリティ検査行列を乗じたものである。更に、多項式演算部51では、入力されたイレージャー信号47を基に、消失位置を演算する。シンドローム演算部50および多項式演算部51の算出結果は、シンドローム演算部52に伝達される。   The first decoded data 45 generated in the previous step is input to the syndrome calculation unit 50, and the syndrome calculation unit 50 calculates the syndrome. Here, the syndrome is obtained by multiplying the first decoded data 45 by a parity check matrix. Further, the polynomial calculation unit 51 calculates the erasure position based on the input erasure signal 47. The calculation results of the syndrome calculation unit 50 and the polynomial calculation unit 51 are transmitted to the syndrome calculation unit 52.

そして、これらの出力結果を利用して、シンドローム演算部52にて演算を行うことにより、誤りが発生したシンボルの位置とが算出される。   Then, by using these output results, the syndrome calculation unit 52 performs calculation to calculate the position of the symbol where the error has occurred.

更に、Euclide演算部53およびChien演算部54では、シンドローム演算部52の出力結果を利用して、誤り値が演算されると共に演算値がチェックされる。   Further, the Euclidean calculation unit 53 and the Chien calculation unit 54 use the output result of the syndrome calculation unit 52 to calculate an error value and check the calculation value.

最後に、エラー訂正部55では、前段で算出した値を、誤りが発生している箇所の第1復号化45に加える。このことにより、誤りが訂正された第2復号化データ46が生成されて、RS復号化部32から外部に出力される。   Finally, the error correction unit 55 adds the value calculated in the previous stage to the first decoding 45 where the error has occurred. As a result, the second decoded data 46 with the error corrected is generated and output from the RS decoding unit 32 to the outside.

<第4の実施の形態:Sum−productアルゴリズムの詳細>
本実施の形態では、LDPC復号化装置の一部であるSum−productアルゴリズムの詳細を説明する。通常のSum−productアルゴリズムと本実施の形態との大きな相違点は、本実施の形態では、Sum−productアルゴリズムで使用されるα係数の演算処理と、β計数の演算処理とを合成して行っている点にある。ここで、α係数およびβ係数は、復元されたデータの確かさを示す係数である。
<Fourth Embodiment: Details of Sum-product Algorithm>
In the present embodiment, details of the Sum-product algorithm which is a part of the LDPC decoding apparatus will be described. The main difference between the normal Sum-product algorithm and this embodiment is that the present embodiment combines the arithmetic processing of the α coefficient used in the Sum-product algorithm and the arithmetic processing of β counting. There is in point. Here, the α coefficient and the β coefficient are coefficients indicating the certainty of the restored data.

Sum−productアルゴリズムを図20乃至図23を参照しつつ説明する。ここで、図20はSum−productアルゴリズムの為の回路を示すブロック図であり、図21はCMPフォーマットおよびABSフォーマットの詳細を示す表であり、図22(A)および図22(B)はSUM GALLAGERの算出プロセスを示す図であり、図22(C)はαmn係数の算出方法を示す図であり、図23はβ係数の算出方法を示す図である。 The Sum-product algorithm will be described with reference to FIGS. Here, FIG. 20 is a block diagram showing a circuit for the Sum-product algorithm, FIG. 21 is a table showing details of the CMP format and the ABS format, and FIGS. 22A and 22B are SUM. It is a figure which shows the calculation process of GALLAGER, FIG.22 (C) is a figure which shows the calculation method of (alpha) mn coefficient, FIG. 23 is a figure which shows the calculation method of (beta) coefficient.

図20を参照して、Sum−productアルゴリズムを実現する回路図は、以下の各ブロックから構成されている。
(1)COV.FMT−1
(2)GALLAGER FUNCTION
(3)CALC.SIGN
(4)SUM GALLAGER
(5)ALPHA CALCULATION
(6)CONV.FMT−2
(7)CALC.BETA
(8)LAMDA GENERATOR
(9)OUTPUT ESTIMATION
上記各ブロックの機能を以下にて詳述する。
Referring to FIG. 20, the circuit diagram for realizing the Sum-product algorithm is composed of the following blocks.
(1) COV. FMT-1
(2) GALLAGER FUNCTION
(3) CALC. SIGN
(4) SUM GALLAGER
(5) ALPHA CALCULATION
(6) CONV. FMT-2
(7) CALC. BETA
(8) LAMDA GENERATOR
(9) OUTPUT ESTIMATION
The function of each block will be described in detail below.

(1)COV.FMT−1
このブロックは、データのフォーマットの変換装置である。入力されるデータ(Two’S Complement Format(以降CMPと称する)は、Sign−And−Magnitude Format(以降、ABSと略称する)に変換される。
(1) COV. FMT-1
This block is a data format conversion device. Input data (Two'S Complement Format (hereinafter referred to as CMP) is converted into Sign-And-Magnitude Format (hereinafter referred to as ABS).

ここで、Sign−And−Magnitude Formatとは、次の通りである。先ず、MSB(Most Significant Bit(最上位のビット))は記号であり、この記号が0の場合は正であり、この記号が負の場合は負である。そして、残りのビット群は大きさを示している。   Here, the Sign-And-Magnitude Format is as follows. First, MSB (Most Significant Bit) is a symbol, which is positive when this symbol is 0 and negative when this symbol is negative. The remaining bit groups indicate sizes.

一例として、CMPフォーマットからABSフォーマットに変換された5ビットデータのテーブルを、図21に示す。   As an example, FIG. 21 shows a table of 5-bit data converted from the CMP format to the ABS format.

このブロックは、Sum−Product Algorithmに適用され、パリティチェックマトリックスの各ラインに於いて、(λn’+βmn’)の値をABSフォーマットへの変換に使用される。   This block is applied to the Sum-Product Algorithm, and is used to convert the value of (λn ′ + βmn ′) to the ABS format in each line of the parity check matrix.

(2)GALLAGER FUNCTION
このブロックでは、当該ブロックに入力された情報に対応するGallager Functionの値を算出する。Gallager Functionの詳細は、下記式(6)に示されている。
(2) GALLAGER FUNCTION
In this block, the value of Gallager Function corresponding to the information input to the block is calculated. Details of the Gallager Function are shown in the following formula (6).

このブロックは、LDPCデコーダの一部として実施され、Sum−Productアルゴリズムに含まれる以下の2つのステップを逐次実行している。 This block is implemented as a part of the LDPC decoder and sequentially executes the following two steps included in the Sum-Product algorithm.

第1に、アルファ計数の算出プロセスの間、パリティチェックマトリックスHの各ラインに於いて、f(|λn’+βmn’|)の値を算出する。   First, during the alpha count calculation process, the value of f (| λn ′ + βmn ′ |) is calculated for each line of the parity check matrix H.

第2に、パリティチェックマトリックスHに含まれるアルファ係数の絶対値を算出する。   Second, the absolute value of the alpha coefficient included in the parity check matrix H is calculated.

(3)CALC.SIGN
このブロックに入力される情報は、パリティチェックマトリックスHを構成する各ラインに含まれる(λn’+βmn’)の値のサイン(符号)である。そして、このブロックの主たる機能は、下記式(7)を計算することにある。
(3) CALC. SIGN
The information input to this block is a sign of the value (λn ′ + βmn ′) included in each line constituting the parity check matrix H. The main function of this block is to calculate the following equation (7).

(4)SUM GALLAGER
このブロックの構成は、基本的には下記する「(7)CALC.BETA」と類似している。
(4) SUM GALLAGER
The configuration of this block is basically similar to “(7) CALC.BETA” described below.

パリティチェックマトリックスHに含まれる各々のラインに関して、下記式(8)を実行する。   For each line included in the parity check matrix H, the following equation (8) is executed.

例えば、パリティチェックマトリックスのある列の重みが3の場合、Sum gallagerの計算プロセスは図22(A)および図22(B)に示すようになる。 For example, when the weight of a column in the parity check matrix is 3, the sum galler calculation process is as shown in FIGS. 22 (A) and 22 (B).

(5)ALPHA CALCULATION
このブロックでは、(3)CALC.SIGNブロックにより算出されたアルファ係数のサインと、それらの絶対値が、第2のGallager Function Blockから算出される。
(5) ALPHA CALCULATION
In this block, (3) CALC. The signs of the alpha coefficients calculated by the SIGN block and their absolute values are calculated from the second Gallager Function Block.

このブロックの主たる目的は、アルファ係数の各々のサインと絶対値とを集めることにある。5ビット幅のデータの場合の処理方法の一例を、図22(C)に示す。   The main purpose of this block is to collect the sine and absolute value of each alpha coefficient. An example of a processing method in the case of 5-bit width data is shown in FIG.

図22(C)を参照すると、ALPHA CALCULATIONブロックにより、1ビットのサイン(アルファ係数がプラスかマイナスかを示している)と、4ビットの絶対値(アルファ係数の大きさを示している)とが結合されて、アルファ係数が生成されている。   Referring to FIG. 22C, the ALPHA CALCULATION block indicates a 1-bit sine (indicating whether the alpha coefficient is positive or negative) and a 4-bit absolute value (indicating the magnitude of the alpha coefficient). Are combined to produce an alpha coefficient.

(6)CONV.FMT−2
このブロックは、基本的にはデータフォーマットを変換する部位である。sign−and−magnitudeフォーマットの入力情報は、two’s complement format(CMP)に変換される。
(6) CONV. FMT-2
This block is basically a part for converting the data format. The input information in the sign-and-magnitude format is converted into two's complement format (CMP).

このブロックは、Sum−Product algorithmに於いて、パリティチェックマトリックスHの各columnに関して、アルファ係数をCMPフォーマットに変換する。   This block converts the alpha coefficient into the CMP format for each column of the parity check matrix H in the Sum-Product algorithm.

(7)CALC.BETA
このブロックでは、パリティチェックマトリックスHの各columnに関して、β係数を算出すると共に、Sum−product algorithmの推定出力値を生成する。
(7) CALC. BETA
In this block, for each column of the parity check matrix H, a β coefficient is calculated and an estimated output value of Sum-product algorithm is generated.

パリティチェックマトリックスの各columnに関して、基本的にこのブロックでは、λ係数とアルファ係数とを加算している。そして、それぞれの(λ+βmn)係数は、これらの値から計算される。 With respect to each column of the parity check matrix, basically, in this block, a λ coefficient and an alpha coefficient are added. Each (λ k + β mn ) coefficient is then calculated from these values.

例えば、図23には、column重みが4(4つのアルファ係数のみ)の場合のベータ係数の算出プロセスが示されている。   For example, FIG. 23 shows a process for calculating a beta coefficient when the column weight is 4 (only four alpha coefficients).

(8)LAMDA GENERATOR
このブロックの機能は、Sum−product algorithmの入力値から、λ=〔λ・・・・・・λ〕の値を算出する部位である。この値は、Log−Likehood Ratio(LLR)の名称で知られている。
(8) LAMDA GENERATOR
The function of this block is a part that calculates the value of λ = [λ 1 ... Λ N ] from the input value of Sum-product algorithm. This value is known by the name of Log-Likehood Ratio (LLR).

(9)OUTPUT ESTIMATION
先ず、C=(C、・・・・、C)とSum−Product Algorithmの出力推定値を定義する。この出力推定値は、下記式(9)により実現される。
(9) OUTPUT ESTIMATION
First, C = (C 1 ,..., C N ) and Sum-Product Algorithm output estimation values are defined. This estimated output value is realized by the following equation (9).

最後に、出力推定値の吟味が行われる。パリティチェックマトリックスHを置換した出力であるC=(C、・・・・、C)のマトリックス乗算を含む。 Finally, the output estimate is examined. This includes matrix multiplication of C = (C 1 ,..., C N ), which is an output obtained by replacing the parity check matrix H.

この結果がゼロマトリックスであれば、上記推定は正しいことになる。一方、一つでもゼロでないデータがマトリックスに含まれれば、推定出力値は正しくないことを示している。   If this result is a zero matrix, the above estimation is correct. On the other hand, if even one non-zero data is included in the matrix, it indicates that the estimated output value is not correct.

上記した各部位の中でも、アルファ係数の算出に寄与する部位は、(1)、(2)、(3)、(4)および(5)であり、ベータ係数の算出に寄与する部位は(6)および(7)である。   Among the parts described above, the parts that contribute to the calculation of the alpha coefficient are (1), (2), (3), (4), and (5), and the part that contributes to the calculation of the beta coefficient is (6 ) And (7).

本実施の形態では、演算部(例えば、LSIの上面に組み込まれた電気回路からなる)により、上記したSum−Productアルゴリズムを実行している。上記したアルファ係数を演算する演算部と、ベータ係数を演算する演算部とは一部が共用されている。   In the present embodiment, the above-described Sum-Product algorithm is executed by a calculation unit (for example, an electric circuit incorporated on the upper surface of an LSI). A part of the arithmetic unit that calculates the alpha coefficient and the arithmetic part that calculates the beta coefficient are shared.

具体的には、上記演算部は、入力された入力データに対して加算処理を行う加算部と、加算部から入力されたデータに対して減算処理を行う減算部と、CMPフォーマットとABSフォーマットとの変換を行う変換部と、Gallager Functiuonを演算する変数演算部とを含む。そして、これらの中でも演算部と変数演算部が、ベータ係数算出およびアルファ係数算出に共用される。   Specifically, the calculation unit includes an addition unit that performs addition processing on input input data, a subtraction unit that performs subtraction processing on data input from the addition unit, and a CMP format and an ABS format. And a variable calculation unit for calculating Gallager Function. Among these, the calculation unit and the variable calculation unit are shared by the beta coefficient calculation and the alpha coefficient calculation.

即ち、ベータ係数を算出する際には、加算部、減算部、変換部、変数算出部の順番でデータ処理が行われる。一方、アルファ係数を算出する際には、加算部、減算部、変数算出部、変換部の順番でデータ処理が行われる。   That is, when calculating the beta coefficient, data processing is performed in the order of the addition unit, the subtraction unit, the conversion unit, and the variable calculation unit. On the other hand, when calculating an alpha coefficient, data processing is performed in the order of an addition unit, a subtraction unit, a variable calculation unit, and a conversion unit.

上記のように、ベータ係数算出およびアルファ係数算出に使用される演算部を共用することにより、個別に演算部を構成した場合と比較して、Sum−Productアルゴリズムに必要とされる回路の規模を小さくすることができる。従って、復号化装置や誤り訂正装置の大きさ(即ち、これらの装置が構成されたLSIの大きさ)を小さくすることができる。   As described above, by sharing the arithmetic unit used for calculating the beta coefficient and the alpha coefficient, the circuit scale required for the Sum-Product algorithm can be reduced compared to the case where the arithmetic unit is configured individually. Can be small. Therefore, the size of the decoding device and the error correction device (that is, the size of the LSI in which these devices are configured) can be reduced.

本発明の符号化装置および復号化装置を説明するための図であり、(A)はブロック図であり、(B)−(E)はECCブロックの概要を示す図である。It is a figure for demonstrating the encoding apparatus and decoding apparatus of this invention, (A) is a block diagram, (B)-(E) is a figure which shows the outline | summary of an ECC block. 本発明に用いられるECCブロックの構成を示す図である。It is a figure which shows the structure of the ECC block used for this invention. (A)−(E)は本発明の符号化の際のデータの構成を示す図である。(A)-(E) is a figure which shows the structure of the data in the case of the encoding of this invention. (A)−(C)は本発明の符号化の際のデータの構成を示す図である。(A)-(C) is a figure which shows the structure of the data in the case of the encoding of this invention. (A)−(F)は本発明の復号化の際のデータの構成を示す図である。(A)-(F) is a figure which shows the structure of the data in the case of the decoding of this invention. (A)−(D)は本発明の復号化の際のデータの構成を示す図である。(A)-(D) is a figure which shows the structure of the data in the case of the decoding of this invention. 本発明の符号化方法を示すフローチャートである。It is a flowchart which shows the encoding method of this invention. (A)および(B)は、本発明のRS符号化が施された後のECCブロックの構成を示す図である。(A) And (B) is a figure which shows the structure of the ECC block after RS encoding of this invention was performed. 本発明のマッピングテーブルを示す表(テーブル)である。It is a table | surface (table) which shows the mapping table of this invention. 本発明の上記マッピングテーブルの生成方法を示す図であり、(A)は確率分布を示す3次元のグラフであり、(B)はエラーが発生する確率を示す表であり、(C)はハミング距離を示す表であり、(D)はマッピングテーブルである。It is a figure which shows the production | generation method of the said mapping table of this invention, (A) is a three-dimensional graph which shows probability distribution, (B) is a table | surface which shows the probability that an error will generate | occur | produce, (C) is Hamming. It is a table | surface which shows distance, (D) is a mapping table. 本発明の上記マッピングテーブルの生成方法を示す図であり、(A)はフローチャートであり、(B)は置換前のマッピングテーブルであり、(C)は置換後のマッピングテーブルである。It is a figure which shows the production | generation method of the said mapping table of this invention, (A) is a flowchart, (B) is a mapping table before substitution, (C) is a mapping table after substitution. 本発明のLDPC符号化を示す図であり、(A)はパリティ検査行列を示す図であり、(B)はECCブロックの構成を示す図である。It is a figure which shows the LDPC encoding of this invention, (A) is a figure which shows a parity check matrix, (B) is a figure which shows the structure of an ECC block. (A)はECCブロックの構成を示す図であり、(B)はマッピングテーブルを示す表である。(A) is a figure which shows the structure of an ECC block, (B) is a table | surface which shows a mapping table. 本発明の復号化方法を示すフローチャートである。It is a flowchart which shows the decoding method of this invention. 本発明のマッピングテーブルを示す表である。It is a table | surface which shows the mapping table of this invention. 本発明のLDPC復号化方法を示す図であり、(A)は概念図であり、(B)は解析結果を示す表である。It is a figure which shows the LDPC decoding method of this invention, (A) is a conceptual diagram, (B) is a table | surface which shows an analysis result. LDPC復号処理に用いられるGallager Functionを示すグラフである。It is a graph which shows Gallager Function used for a LDPC decoding process. (A)および(B)はパターンマッチングを示す図であり、(C)はこのプロセスを示すフローチャートである。(A) and (B) are diagrams showing pattern matching, and (C) is a flowchart showing this process. RS復号化を示すブロック図である。It is a block diagram which shows RS decoding. Sum−productに用いられる回路を示すブロック図である。It is a block diagram which shows the circuit used for Sum-product. CMP formatとABS formatとの関連を示す表である。It is a table | surface which shows the relationship between CMP format and ABS format. Sum−productの詳細を示す図であり、(A)はパリティチェックマトリックスを示す図であり、(B)および(C)はフローチャートである。It is a figure which shows the detail of Sum-product, (A) is a figure which shows a parity check matrix, (B) and (C) are flowcharts. Sum−productの詳細を示す図であり、(A)はパリティチェックマトリックスを示す図であり、(B)および(C)はフローチャートである。It is a figure which shows the detail of Sum-product, (A) is a figure which shows a parity check matrix, (B) and (C) are flowcharts.

符号の説明Explanation of symbols

10 誤り訂正装置
11 ECCブロック
12 ページ
13 情報領域
14 ページ内冗長データ
15 ページ間冗長データ
20 符号化装置
21 RS符号化部
22 LDPC符号化部
23 データ変換部
24 データ変換部
30 復号化装置
31 LDPC復号化部
32 RS復号化部
33 データ変換部
34 データ変換部
40 伝送経路
42 入力データ
43 第1符号化データ
44 第2符号化データ
45 第1復号化データ
46 第2復号化データ
47 イレージャー信号
48 出力データ
49 入力データ
50 シンドローム演算部
51 多項式演算部
52 シンドローム演算部
53 Euclide演算部
54 Chein演算部
55 エラー訂正部
60 パリティ検査行列
DESCRIPTION OF SYMBOLS 10 Error correction apparatus 11 ECC block 12 Pages 13 Information area 14 Intra-page redundant data 15 Inter-page redundant data 20 Encoding apparatus 21 RS encoding section 22 LDPC encoding section 23 Data conversion section 24 Data conversion section 30 Decoding apparatus 31 LDPC Decoding unit 32 RS decoding unit 33 Data conversion unit 34 Data conversion unit 40 Transmission path 42 Input data 43 First encoded data 44 Second encoded data 45 First decoded data 46 Second decoded data 47 Eraser signal 48 Output data 49 Input data 50 Syndrome operation unit 51 Polynomial operation unit 52 Syndrome operation unit 53 Euclidean operation unit 54 Chain operation unit 55 Error correction unit 60 Parity check matrix

Claims (17)

入力された入力データを符号化する符号化装置であり、
前記入力データに対してRS符号化を行って第1符号化データを生成するRS符号部と、
前記第1符号化データに対してLDPC符号化を行って第2符号化データを生成するLDPC符号部と、を具備することを特徴とする符号化装置。
An encoding device that encodes input data;
An RS encoding unit that performs RS encoding on the input data to generate first encoded data;
And an LDPC encoding unit configured to perform LDPC encoding on the first encoded data to generate second encoded data.
前記入力データは複数のページからなり、
前記RS符号部では、ページ間冗長データを生成し、
前記LDPC符号部では、ページ内冗長データを生成することを特徴とする請求項1記載の符号化装置。
The input data consists of a plurality of pages,
In the RS code part, inter-page redundant data is generated,
The encoding apparatus according to claim 1, wherein the LDPC encoding unit generates redundant data within a page.
前記RS符号部と、前記LDPC符号部との間に、前記第1符号化データを構成するシンボルのビット数を多くするデータ変換部を有することを特徴とする請求項1記載の符号化装置。   The encoding apparatus according to claim 1, further comprising a data conversion unit that increases the number of bits of symbols constituting the first encoded data between the RS code unit and the LDPC code unit. 符号化データを復号化して復号化データを生成する復号化装置であり、
前記符号化データに対してLDPC復号化を行って第1復号化データを生成するLDPC復号部と、
前記第1復号化データに対してRS復号化を行って第2復号化データを生成するRS復号部と、を備えることを特徴とする復号化装置。
A decoding device that decodes encoded data to generate decoded data;
An LDPC decoding unit that performs LDPC decoding on the encoded data to generate first decoded data;
An RS decoding unit that performs RS decoding on the first decoded data to generate second decoded data.
前記LDPC復号部は、誤り訂正が不可であった前記第1復号化データが属するシンボルを無効シンボルとし、前記無効シンボルの位置を示すイレージャー信号を発生させ、
前記RS復号部では、前記イレージャー信号を用いて前記第1復号化データを復号して前記第2復号化データを生成することを特徴とする請求項4記載の復号化装置。
The LDPC decoding unit sets an invalid symbol as a symbol to which the first decoded data to which error correction is impossible belongs, and generates an erasure signal indicating a position of the invalid symbol;
5. The decoding apparatus according to claim 4, wherein the RS decoding unit generates the second decoded data by decoding the first decoded data using the erasure signal.
入力されたデータを符号化して符号化データを生成する符号化装置と、前記符号化データを復号化して復号化データを生成する復号化装置と、を具備し、
前記符号化装置は、前記入力データに対してRS符号化を行って第1符号化データを生成するRS符号部と、前記第1符号化データに対してLDPC符号化を行って第2符号化データを生成するLDPC符号部と、を備え、
前記復号化装置は、前記第2復号化データに対してLDPC復号化を行って第1復号化データを生成するLDPC復号部と、前記第1復号化データに対してRS復号化を行って第2復号化データを生成するRS復号部と、を備えることを特徴とする誤り訂正装置。
An encoding device that encodes input data to generate encoded data; and a decoding device that decodes the encoded data to generate decoded data.
The encoding apparatus performs RS encoding on the input data to generate first encoded data, and performs LDPC encoding on the first encoded data to perform second encoding. An LDPC encoding unit for generating data,
The decoding apparatus performs LDPC decoding on the second decoded data to generate first decoded data, and performs RS decoding on the first decoded data to perform first decoding. An error correction apparatus comprising: an RS decoding unit that generates two decoded data.
多数のシンボルから構成される入力データを符号化する符号化装置であり、
前記入力データに含まれる前記シンボルのビット数を多くするデータ変換部と、
前記入力データに対してLDPC符号化を行って符号化データを生成するLDPC符号化部と、を具備することを特徴とする符号化装置。
An encoding device that encodes input data composed of a large number of symbols,
A data converter that increases the number of bits of the symbol included in the input data;
An encoding apparatus comprising: an LDPC encoding unit that performs LDPC encoding on the input data to generate encoded data.
前記データ変換部では、前記入力データに含まれるシンボルのビット数を8ビットから16ビットに変換することを特徴とする請求項7記載の符号化装置。   8. The encoding apparatus according to claim 7, wherein the data conversion unit converts the number of bits of symbols included in the input data from 8 bits to 16 bits. 前記入力データは、RS符号化が施されたデータであることを特徴とする請求項7記載の符号化装置。   8. The encoding apparatus according to claim 7, wherein the input data is data subjected to RS encoding. 前記LDPC符号部の後段に、前記符号化データに含まれるシンボルのビット数を少なくする他のデータ変換部を更に具備することを特徴とする請求項7記載の符号化装置。   8. The encoding apparatus according to claim 7, further comprising another data conversion unit that reduces the number of bits of symbols included in the encoded data, following the LDPC encoding unit. 前記他のデータ変換部が前記シンボルを変換する規則は、前記変換部が前記シンボルを変換する規則と逆であることを特徴とする請求項10記載の符号化装置。   11. The encoding apparatus according to claim 10, wherein a rule for converting the symbol by the other data conversion unit is opposite to a rule for converting the symbol by the conversion unit. 符号化データを復号化して復号化データを生成する復号化装置であり、
前記符号化データに対してLDPC復号化を行って前記復号化データを生成するLDPC復号部と、
前記復号化データに含まれるシンボルのビット数を少なくするデータ変換部と、を具備することを特徴とする復号化装置。
A decoding device that decodes encoded data to generate decoded data;
An LDPC decoding unit that performs LDPC decoding on the encoded data to generate the decoded data;
And a data conversion unit that reduces the number of bits of symbols included in the decoded data.
入力された入力データを符号化して符号化データを生成する符号化装置と、前記符号化データを復号化して復号化データを生成する復号化装置、と具備し、
前記符号化装置は、前記入力データに含まれるシンボルのビット数を多くする符号側データ変換部と、前記入力データに対してLDPC符号化を行って符号化データを生成するLDPC符号部と、を備え、
前記復号化装置は、前記符号化データに対してLDPC復号化を行って復号化データを生成するLDPC復号部と、前記復号化データに含まれるシンボルのビット数を少なくする復号側データ変換部と、を備えることを特徴とする誤り訂正装置。
An encoding device that encodes input data to generate encoded data, and a decoding device that decodes the encoded data to generate decoded data.
The encoding device includes: a code side data conversion unit that increases the number of bits of a symbol included in the input data; and an LDPC encoding unit that performs LDPC encoding on the input data to generate encoded data. Prepared,
The decoding apparatus includes: an LDPC decoding unit that performs LDPC decoding on the encoded data to generate decoded data; a decoding side data conversion unit that reduces the number of bits of symbols included in the decoded data; An error correction apparatus comprising:
アルファ係数とベータ係数とを用いるSum−procuctアルゴリズムを含む復号化を演算部により行う復号化装置に於いて、
前記アルファ係数を算出する演算部と、前記ベータ係数を算出する演算部とを、少なくとも一部共用することを特徴とする復号化装置。
In a decoding device that performs decoding including a Sum-product algorithm using an alpha coefficient and a beta coefficient by an arithmetic unit,
A decoding apparatus characterized in that at least a part of an arithmetic unit for calculating the alpha coefficient and an arithmetic unit for calculating the beta coefficient are shared.
前記アルファ係数及び前記ベータ係数は、記憶部に一時的に記憶されることなく演算されることを特徴とする請求項14の復号化装置。   15. The decoding apparatus according to claim 14, wherein the alpha coefficient and the beta coefficient are calculated without being temporarily stored in a storage unit. 前記演算部は、入力されたデータに対して加算処理を行う加算部と、前記加算部から入力されたデータに対して減算処理を行う減算部と、前記減算部にて処理されたデータのフォーマットを変換する変換部と、Gallager Functionを算出する変数算出部とを含み、
前記変換部および前記変数算出部は、前記アルファ係数の算出および、前記ベータ係数算出部の算出の両方に用いられることを特徴とする請求項14記載の復号化装置。
The calculation unit includes an addition unit that performs addition processing on input data, a subtraction unit that performs subtraction processing on data input from the addition unit, and a format of data processed by the subtraction unit And a variable calculation unit for calculating Gallager Function,
15. The decoding apparatus according to claim 14, wherein the conversion unit and the variable calculation unit are used for both the calculation of the alpha coefficient and the calculation of the beta coefficient calculation unit.
入力された入力データをLDPC符号により符号化して符号化データを生成する符号化装置と、前記符号化データを復号化して復号化データを生成する復号化装置と、を具備し、
前記復号化装置は、アルファ係数とベータ係数とを用いるSum−Productアルゴリズムを含む復号化を演算部により行い、
前記アルファ係数を算出する演算部と、前記ベータ係数を算出する演算部とを、少なくとも一部共有することを特徴とする誤り訂正装置。
An encoding device that encodes input data using an LDPC code to generate encoded data; and a decoding device that decodes the encoded data to generate decoded data.
The decoding apparatus performs decoding including a Sum-Product algorithm using an alpha coefficient and a beta coefficient by an arithmetic unit,
An error correction apparatus characterized in that at least a part of an arithmetic unit that calculates the alpha coefficient and an arithmetic unit that calculates the beta coefficient are shared.
JP2007130727A 2006-05-16 2007-05-16 Encoder, decoding device, and error correction apparatus Pending JP2007336529A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007130727A JP2007336529A (en) 2006-05-16 2007-05-16 Encoder, decoding device, and error correction apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006137089 2006-05-16
JP2007130727A JP2007336529A (en) 2006-05-16 2007-05-16 Encoder, decoding device, and error correction apparatus

Publications (1)

Publication Number Publication Date
JP2007336529A true JP2007336529A (en) 2007-12-27

Family

ID=38935505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007130727A Pending JP2007336529A (en) 2006-05-16 2007-05-16 Encoder, decoding device, and error correction apparatus

Country Status (1)

Country Link
JP (1) JP2007336529A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11196005A (en) * 1997-12-26 1999-07-21 Seiko Epson Corp Error correction circuit and electronic equipment
JP2005302079A (en) * 2004-04-06 2005-10-27 Samsung Electronics Co Ltd Hologram medium recording/reproducing device and hologram medium reproducing device
JP2006139815A (en) * 2004-11-10 2006-06-01 Victor Co Of Japan Ltd Recording device, play back device and recording medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11196005A (en) * 1997-12-26 1999-07-21 Seiko Epson Corp Error correction circuit and electronic equipment
JP2005302079A (en) * 2004-04-06 2005-10-27 Samsung Electronics Co Ltd Hologram medium recording/reproducing device and hologram medium reproducing device
JP2006139815A (en) * 2004-11-10 2006-06-01 Victor Co Of Japan Ltd Recording device, play back device and recording medium

Similar Documents

Publication Publication Date Title
US20200177208A1 (en) Device, system and method of implementing product error correction codes for fast encoding and decoding
JP4975301B2 (en) Concatenated iterative and algebraic coding
JP4833173B2 (en) Decoder, encoding / decoding device, and recording / reproducing device
JP5723967B2 (en) Method, encoder apparatus, and solid-state storage device for recording input data to s-level storage of a solid-state storage device
JP2008544686A (en) Method and apparatus for low density parity check coding
JP3810766B2 (en) Method and apparatus for generating additional information for error correction
CN1465140A (en) Coding and decoding of partially a priori known information
JPS6273336A (en) Correcting method and system for multibyte error
JP2007087529A (en) Signal decoding device, signal decoding method and storage system
JP2013524609A5 (en)
JPH10256921A (en) Method and device for modulating and demodulating digital data
US20100299575A1 (en) Method and system for detection and correction of phased-burst errors, erasures, symbol errors, and bit errors in a received symbol string
JP6046403B2 (en) Encoding method and decoding method of error correction code
JP4790790B2 (en) Error detection and correction circuit and semiconductor memory
US9960788B2 (en) Memory controller, semiconductor memory device, and control method for semiconductor memory device
JP2002509331A5 (en)
JP5031100B2 (en) Bit stream modulation coding and decoding method, apparatus and system (modulation coding and decoding)
US9015548B2 (en) Error detection correction method and semiconductor memory apparatus
KR102007163B1 (en) Encoder, decoder and semiconductor device including the same
JP3810765B2 (en) Demodulator and method using code table with reduced complexity
US7245236B2 (en) Data processing method and circuit for data recording and reproducing and data recording and reproducing apparatus
JP2009182421A (en) Decoding method and decoding device
JP2007336529A (en) Encoder, decoding device, and error correction apparatus
JP4294407B2 (en) Signal processing method and signal processing circuit
CN102981924B (en) Method and device suitable for data storage of dynamic coding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110418

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110810