JPH0946238A - 誤り訂正方法及び装置 - Google Patents

誤り訂正方法及び装置

Info

Publication number
JPH0946238A
JPH0946238A JP8194694A JP19469496A JPH0946238A JP H0946238 A JPH0946238 A JP H0946238A JP 8194694 A JP8194694 A JP 8194694A JP 19469496 A JP19469496 A JP 19469496A JP H0946238 A JPH0946238 A JP H0946238A
Authority
JP
Japan
Prior art keywords
array
code
row
column
symbols
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.)
Granted
Application number
JP8194694A
Other languages
English (en)
Other versions
JP3737204B2 (ja
Inventor
Ron M Roth
ロン・エム・ロス
Gadiel Seroussi
ガディエル・セロウッシ
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH0946238A publication Critical patent/JPH0946238A/ja
Application granted granted Critical
Publication of JP3737204B2 publication Critical patent/JP3737204B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting

Abstract

(57)【要約】 【課題】誤り検出、訂正能力を従来と同等に保ちつつ冗
長度を減らす。 【解決手段】n12+r12の冗長記号(160、19
8)を有するn1×n2の記号からなる積符号配列(13
0)をなすように、データ送信装置において原始データ
記号を符号化し、これによって、配列のr2までの汚染
行を検出し、各列毎にr2までの消去箇所を訂正するこ
とができるようにした。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、冗長情報と共
に、データを符号化して送信または記憶することによっ
て、データの受信または検索時に誤りの検出及び訂正を
可能にすることに関するものであり、とりわけ、通信及
び記憶チャネルにおける誤り訂正に用いられる2次元符
号配列に関するものである。
【0002】
【従来の技術】誤り訂正符号は、一般に、チャネル・ノ
イズ、媒体の欠陥、または、他の妨害によって生じるデ
ータの汚染に対抗するため、通信チャネルと記憶チャネ
ルの両方において用いられる。図1には、誤り訂正を利
用する典型的な通信及び/または記憶システムが示され
ている。誤り訂正符号が利用される適用例のいくつかに
は、通信分野におけるデータ伝送、放送、及び、衛星通
信と、情報記憶分野におけるデジタル音声及び映像記
録、磁気テープ、半導体メモリ、及び、コンパクト・デ
ィスクがある。
【0003】「ブロック符号」として知られる誤り訂正
符号の場合、誤りに対する防護は、それぞれ、整数kの
「記号」を備えた固定サイズのブロック(「原始データ
・ブロック」と呼ばれる)にデータを分割することによ
って行われる。(記号は、アルファベットまたは1組の
値における要素である。デジタル情報の場合、記号は、
一般に、固定ビット長のマルチ・ビット値である。例え
ば、256の記号によるASCIIのアルファベットの
ように、デジタル情報に関して一般に用いられるアルフ
ァベットは、8ビット・バイトの記号から構成されるの
が普通である)。符号器は、各原始データ・ブロック毎
に整数rの冗長記号(「検査記号」または「チェック記
号」あるいは単に「チェック」と呼ばれる)を追加し
て、nの記号からなる「符号ブロック」を形成する(こ
こで、n=k+r)。この符号ブロックは、次に、通信
または記憶チャネルを介して送られる。(例えば、符号
ブロックは、磁気テープまたはコンパクト・ディスクの
ような記録媒体に記憶されるか、あるいは、電話線、コ
ンピュータ・ネット・ワーク、または、無線チャネルの
ような通信媒体によって伝送されるが、ここで、符号ブ
ロックの汚染が生じる可能性がある)。受信側におい
て、復号器は、汚染が所定のあらかじめ設計されたレベ
ルを超えなければ、冗長情報を利用して、汚染の可能性
のある符号ブロック部分からもとの原始データを検索す
る。
【0004】「積符号」は、ランダム誤りとバースト誤
りの両方に対する良好な防護が得られるので、これら両
タイプの誤りの可能性がある磁気記録等の用途において
誤り訂正符号の一般的な選択である。(ランダム誤り
は、通信または記憶チャネルを介して送られるデータの
分離した記号位置に独立して生じる誤りである。バース
ト誤りは、通信または記憶チャネルを介して送られるデ
ータの記号の連続した集合に影響を及ぼす。例えば、通
信チャネルにおける電気的外乱または記憶チャネルにお
ける媒体欠陥は、これらのチャネルを介して送られるい
くつかの隣接記号に誤りを生じる可能性がある。)図4
に示すような典型的な積符号符号器の場合、8ビット記
号で操作する2つのリード・ソロモン符号を利用して、
2次元配列が形成される。長さがn1の記号からなり、
1の冗長記号を備えた第1の符号C1が、配列の行に適
用される。長さがn2の記号からなり、r2の冗長記号を
備えた第2の符号C2が、その列に適用される。この結
果、n1×n2の記号からなる配列の大きさが生じる。こ
うした場合、配列の全冗長度は、n12の記号からなる
ブロック毎にn12+n21−r12の記号である。図
5に示すように、C1による誤り検出、及び、C2による
消去(erasures)の訂正に基づく復号化方法を利用すれ
ば、この方式によって、おそらく、パラメータr1を適
切に選択することによって、その確率を任意に低くする
ことが可能なわずかなバースト誤りパターン集合を除い
て、r2以下の行に影響を及ぼす全ての誤りバーストを
訂正することが可能になる。(この基本的手法には多く
の変更を加えることが可能であり、ランダム誤り訂正と
バースト誤り訂正の間でトレード・オフが行われる。フ
ァレルによる「配列誤り制御符号概観」(P. Farrell,
A Survey of Array Error Control Codes, 3 ETT 441-4
54(1992)には、積符号符号器及び復号器に関する従来
のさまざまな実施例が解説されている。)
【0005】リード・ソロモン符号は、そのために、有
限体上の代数計算に基づいて、効率のよい符号器及び復
号器が開発された周知のブロック符号である。リード・
ソロモン符号用の典型的な符号器及び復号器が、それぞ
れ、図2及び図3に示されている。q+1未満のnの記
号(即ちn個の記号)からなる任意の符号ブロック長に
ついて、リード・ソロモン符号が存在するが、ここで、
データのアルファベットには、qの記号が含まれてい
る。典型的な応用例の場合、記号はmの2進ビットから
構成されるが、ここで、mは整数であり、q=2m(例
えば、m=8、q=256)である。リード・ソロモン
符号は、下記の表1に示すように、誤り検出及び訂正操
作における理論的冗長コストが最小になるので、誤り訂
正符号にとりわけ有効である。
【0006】
【表1】
【0007】誤り検出操作において、復号器は、ブロッ
ク内に汚染記号があるか否かを判定するが、その位置は
確認しない。リード・ソロモン符号は、rまでの誤りの
任意のパターンを検出することができる(ここで、r
は、符号の冗長である)。積符号応用例の場合、リード
・ソロモン符号は、さらに、1−εの確率でバースト誤
りを検出することが可能であり、ここで、εは、1−q
rのようなrに関して指数関数的に減少する数である
(バースト誤りによって影響を受ける領域内の各ビット
が0.5の確率で汚染を生じるものと仮定して)。消去
訂正操作の場合、復号器は、符号ブロック内に場所を与
えられた、汚染された全ての記号の値を回復する。全誤
り訂正操作の場合、復号器は、符号ブロック内における
汚染された全ての記号の場所とその値の両方を回復す
る。リード・ソロモン符号は、r/2までの完全な誤
り、または、rまでの消去の任意のパターン、または、
2×(誤り)+(消去)<rの任意の組み合わせを訂正
することが可能であり、ここで、(誤り)は誤り数、
(消去)は消去数である。
【0008】さらに、決定論的(または最悪状態)復号
化方式と確率的復号化方式には明確な差が存在する。決
定論的復号化方式の場合、復号器は、あらかじめ設計さ
れた数までの誤りの全てのパターン(例えば、ある整数
Nの場合、2次元配列におけるNまでの汚染行の全ての
誤り)を訂正することが保証される。確率的復号化方式
の場合、復号器は、誤りパターンの分布に関するある仮
定の下に、任意に1に近づけることが可能な確率で、こ
うしたパターンを訂正する。これらの仮定は、実際に
は、チャネルを介した伝送の前にスクランブラを用いる
ことによって、十分に近似できる。誤り訂正要件を「必
ず」から「高い確率で」に緩和することによって、符号
化方式における冗長量を大幅に減少させることが可能で
ある。笠原等の「連接符号及び積符号を基礎にして構成
される2進符号の新しいクラス」(M. Kasahara, S. Hi
rasawa, Y. Sugiyama and T. Namekawa, New Classes o
f Binary Codes Constructed on the Basis of Concate
nated Codes and Product Codes, IEEE Transaction on
Information Theory, 462-467(1976))[以後は「笠
原」と称する]には、2進積符号の冗長度を低減し、同
時に、符号のハミング距離を最小限に保つ(従って、最
悪状態の訂正能力)方式についての記載がある。最悪状
態の訂正能力を保つ目的のため、笠原は、制限付き符号
冗長度低減を実現している。
【0009】典型的な先行技術の積符号の場合、配列の
行に適用される符号C1を用いて、それぞれの行につい
て、それぞれ、汚染の有無が検出される。配列の列に適
用される符号C2を用いて、符号C1の適用によって汚染
が生じていると識別された行の消去を訂正する消去訂正
が実施される。換言すれば、符号C1の検出操作を利用
して、符号C2の消去訂正操作に対しどの行に汚染が生
じたかについての情報を提供することにより、消去訂正
操作において、配列の各列毎に汚染が生じていると識別
された行に対応する場所を訂正することが可能になる。
こうした積符号を設計する場合、符号C1の冗長r1は、
一般に、C1によって汚染された行が検出されない、q
**(ーr1 )にほぼ等しい確率が、許容可能なほどに
低くなるように選択される。符号C2の冗長r2は、一般
に、r2を超える汚染行を有する確率が許容可能なほど
に低くなるように選択される。ここに、q**(ー
1 )はqの(ーr1 )乗をあらわす。
【0010】これら先行技術による積符号の欠点の1つ
は、符号C1は、積配列のn2までの全ての行に汚染が生
じたか否かの検出を行うことはできるが(符号C1は、
配列の各行毎に適用され、従って、各行毎に汚染の有無
を検出することができる)、符号C2は、各列毎にr2
での場所(こうした識別される汚染行に対応する)だけ
しか訂正することができない。符号C2はr2までの汚染
行だけしか訂正することができないので、符号C1から
導き出されるr2を超える汚染行の組み合わせに関する
情報は、符号C2による消去訂正操作には無用である。
符号C1のこれら余分な行(とにかく、全てを訂正する
ことはできない)を検出する能力は、冗長度を増すとい
う犠牲を払うことになる。結果として、これら典型的な
先行技術による積符号配列における冗長の大部分は、有
効な目的には役立たないということになる。
【0011】
【発明が解決しようとする課題】本発明の目的は、確率
的復号化に基づく典型的な先行技術の積符号配列におけ
る符号C1の利用されない誤り検出能力に関連した過剰
な冗長度を解消する装置及び方法を提供することにあ
る。
【0012】
【課題を解決するための手段】本発明の装置及び方法
は、配列の行及び列に適用される符号(本書では、それ
ぞれ、C1及びC2と称する)以外に、第3の中間符号
(本書では、C1.5と称する)を利用する2次元符号配
列に基づくものである。本発明の望ましい実施例に基づ
く2次元符号配列において結果生じる冗長は、典型的な
先行技術による積符号配列における冗長よりもr1(n2
−2r2)だけ少ないn12+r12に等しい。従っ
て、本発明によれば、典型的な先行技術による積符号に
基づく前述の通信及び記憶装置及び方法と同じ誤り訂正
能力で、冗長度の低減が可能になる(通信及び記憶チャ
ネルにおいて、原始データのスループットが増すことを
意味する)。
【0013】本発明の望ましい実施例のもう1つの特徴
によれば、行符号C1及び列符号C2、並びに、中間符号
1.5は、それぞれ、リード・ソロモン符号である。望
ましい実施例の装置は、従って、低減冗長度を実現する
本発明の2次元符号配列を符号化及び復号化する新規か
つ独自のやり方で構成された、従来のリード・ソロモン
符号器及び復号器を用いて構成することが可能である。
【0014】本発明は、確率的復号化に基づくものであ
るため、「笠原」に開示のような決定論的方式に比べる
と、符号冗長度が大幅に改善される。また、最悪の場合
の訂正能力を保つという「笠原」の別の目的は、異なる
復号化方法及び装置を指示している。
【0015】本発明のこれ以外の特徴及び利点について
は、添付の図面に関連して進められる望ましい実施例に
関する以下の詳細な説明から明らかになるであろう。
【0016】
【実施例】図1には、符号器22及び誤り訂正のための
復号器24から構成される通信及び/または情報記憶シ
ステム20が示されている。デジタル・データが、デー
タ発信側装置28(「データ送信装置」)によってシス
テム20の一方の端部から入力され、もう一方の端部か
らデータ消費側装置30(「データ受信装置」)に対し
て出力される。データは、データにランダム誤り及び/
またはバースト誤りを生じさせる可能性のある通信及び
/または記憶チャネル34によって、データ発信側装置
28とデータ消費側装置30の間で転送される。通信用
途の場合、チャネル34は、送信器、受信器、チュー
ナ、伝送媒体(ワイヤ、ケーブル、または、アンテ
ナ)、変調器、復調器等のような2つのサイト間におけ
るデジタル・データの伝送装置から構成することが可能
である。情報記憶用途の場合、チャネル34は、磁気テ
ープ・ドライブ、コンパクト・ディスク・ドライブ、及
び、コンピュータ・メモリ・チップを含む、磁気記録媒
体、光学記録媒体、半導体メモリ等を利用する記録装置
といった、デジタル・データの記憶装置から構成するこ
とが可能である。場合によっては、とりわけ、記憶用途
においては、同じ装置をデータ発信側装置28及びデー
タ消費側装置30の両方に利用することが可能なことも
ある。さらに、個々のワークステーションが、ローカル
・エリア・ネットワークを介してアクセスされる共用フ
ァイル・サーバにデジタル情報を記憶しているコンピュ
ータ・ネットワークの場合、チャネル34には、通信及
び情報記憶装置の両方を含むことが可能である。
【0017】チャネル34による転送中に、デジタル・
データは、ノイズ、干渉、媒体の欠陥、または、その他
の原因のために汚染を生じる可能性がある。データ消費
側装置30において受信されるデータに、汚染が生じな
いように、符号器22は、データがチャネル34に入る
前に、誤り訂正符号化を利用してデータに符号化を施
す。データがチャネル34を出ると、復号器24は、符
号器22によって用いられた1つまたは複数の誤り訂正
符号に基づく誤り訂正操作を用いて、汚染データを回復
する。
【0018】本発明によれば、システム20の符号器2
2及び復号器24は、図7に示す、後述のような、冗長
度が低減された2次元符号配列に基づくものが望まし
い。本発明の望ましい実施例の場合、図6、図8及び図
9に示された、さらに詳細に後述する冗長度低減積符号
符号器36及び復号器38、39が、それぞれ、符号器
22及び復号器24として用いられる。
【0019】図2には、r段帰還シフト・レジスタ符号
器40として、リード・ソロモン符号器の従来の実施例
が示されている。このr段帰還シフト・レジスタ符号器
40は、ブロック符号によって動作するが、この符号の
冗長は、r=n−kである。符号器40は、一度に1つ
の入力記号を受け入れる入力42と、それぞれ、記号を
記憶する、S0、S1、S2、...、Sr-1と表示された
複数のシフト・レジスタ段44から構成される。符号器
40は、さらに、g0、g1、g2、...、gr-1と表示
された複数の生成多項式係数乗算器46と、段40に1
対1に対応する加算器48から構成される。乗算器46
において用いられる生成多項式係数の量は、下記の式
(1)に示すリード・ソロモン符号に関する生成多項式
の係数から導き出される。 g(x)=Σi=0 rgixi------(1) (giは1に等しいと仮定される)。生成多項式が求め
られる方法は、当該技術において周知のところである
(例えば、ウィッカー等の「リード・ソロモン符号とそ
の応用」(S. Wicker and V. Bhargava, Reed-Solomon
Codes and Their Application, IEEE Press, New York,
Chapter 1,5,10 (1994)参照)。
【0020】帰還経路50は、入力42からの記号と段
r-1における記号の和である帰還記号を伝送する。帰
還記号と、乗算器46のそれぞれの生成多項式係数を掛
け合わせ、さらに、加算器48において先行段の記号と
の和を求めることによって、各段44に対する入力記号
が形成される。レジスタ40の段44は、同期して刻時
され、各クロック・サイクル毎に、入力記号がそれぞれ
の段にシフト・インされることになる。
【0021】符号化操作において、kのデータ記号から
なるブロックが、各クロックサイクル毎に1つずつ、入
力46から符号器40にシフト・インされる。kのデー
タ記号が符号器40にシフト・インされた後、結果とし
て得られる段44の内容は、整数rの検査記号から構成
される。rの検査記号とkのデータ記号を組み合わせる
ことによって、nの記号からなるリード・ソロモン符号
ブロックが形成される。
【0022】図3には、汚染の生じる可能性のあるリー
ド・ソロモン符号ブロック61に誤り訂正を施す先行技
術のリード・ソロモン復号器60が示されている。復号
器60は、シンドローム発生器62、キー方程式ソルバ
64、及び、誤り探索及び訂正回路要素66から構成さ
れる。シンドローム発生器62は、nの記号からなるリ
ード・ソロモン符号ブロックから誤り検出及び訂正操作
に用いられるrの記号からなるシンドローム68を形成
する。r段帰還シフト・レジスタ符号器40(図2)の
ようなリード・ソロモン符号器は、シンドローム発生器
62として利用することも可能である。シンドローム発
生器62として利用される場合、nの記号からなるリー
ド・ソロモン符号ブロック(ノイズのあるチャネル34
(図1)を介して送られたkのデータ記号とrの検査記
号から構成される)が、入力46(図2)から符号器4
0にシフト・インされる。符号ブロックのnの記号のシ
フト・インが全て済むと、段44(図2)に含まれるr
の記号によって、「シンドローム」が形成される。非ゼ
ロのシンドロームは、nの記号からなる符号ブロックに
おいて汚染を検出をしたということになる。全てがゼロ
のシンドロームは、1−εの確率で、符号ブロックに汚
染が生じなかったことを表している(ここで、εは、r
1に関して指数関数的に減少する数である)。一般に、
εは、q**(ーr1 )に比例する。確率は、従って、
一般に1−q**(ーr1 )に比例する。
【0023】また、シンドロームにさらに処理を加える
ことによって、消去及び完全な誤り訂正を実施すること
も可能である。例示の復号器60は、完全な誤り訂正を
実施する。キー方程式ソルバ64は、周知の方法でシン
ドローム68に処理を加えることにより、誤り位置探査
多項式70及び誤り評価多項式71を作成する。誤り位
置探査及び誤り評価多項式70〜71は、汚染入力符号
ブロック61と共に、誤り探索及び訂正回路要素66に
入力される。誤り探索及び訂正回路要素66は、再び、
従来の技法を利用し、誤り位置探査及び誤り評価多項式
70〜71を用いて、任意の汚染記号(図3にシェーデ
ィングによって示す)を回復し、訂正された符号ブロッ
ク74を出力する。次に、符号ブロック74からrの検
査記号を削除することによって、出力符号ブロック74
からもとのkのデータ記号を抽出することが可能であ
る。
【0024】図2に示すr段帰還シフト・レジスタ40
は、リード・ソロモン符号器に関する多くの既知の実施
例の1つである。リード・ソロモン符号器及び復号器の
他の実施例については、次(1)、(2)の参考書に解
説されている。 (1) ウィッカー等の「リード・ソロモン符号とその
応用」(S. Wicker and V. Bhargava, Reed-Solomon Co
des and Their Application, IEEE Press, New York, C
hapter 1,5,10 (1994))[以後は「ウィッカー等」と称
する]、(2) セローシの「シストリック・リード・
ソロモン符号器」(G. Seroussi,A Systolic Reed-Solo
mon Encoders, 37 IEEE Transaction on Information T
heory 1217-1220(1991))[以後は「セローシ」と称す
る].これらのさまざまな従来のリード・ソロモン符号
器及び復号器は、図4及び図5に示す従来の積符号符号
器及び復号器、及び、本発明の望ましい実施例に基づく
冗長度低減積符号符号器36及び復号器38〜39(図
6、図8及び図9)のような2次元符号配列を基礎にし
た符号器及び復号器の部品として利用することが可能で
ある。
【0025】図4及び図5には、典型的な先行技術によ
る積符号符号器80(図4)及び復号器82(図5)が
示されている。積符号符号器80及び復号器82は、積
符号と称する2次元符号配列に基づくものである。積符
号は、一般に、2つのリード・ソロモン符号、すなわ
ち、その行に適用される第1の符号C1及びその列に適
用される第2の符号C2を利用する。
【0026】図4を参照すると、積符号符号器80は、
1×k2の記号からなる原始データ・ブロックの行にC
1符号を適用し、次に、第1の符号C1の適用結果として
生じる符号の列にC2符号を適用することによって、積
符号配列を形成する。符号化すべき原始データ87は、
入力配列バッファ86の、それぞれ、k1の記号を備え
たk2の行に記憶される。行符号器90及び行シーケン
サ92から構成される行処理回路要素88は、入力配列
バッファ86における原始データ行C1符号を適用す
る。行符号器90は、冗長がr1になるように符号化す
るリード・ソロモン符号器40(図2)のようなリード
・ソロモン符号器である。行シーケンサ92は、入力配
列バッファ86から行符号器90に原始データを1行ず
つ入力する。行符号器90は、k1の原始データ記号8
7の各行毎に処理を加えて、上述のようにその行に関す
るr1の検査記号93を作成する。各行におけるk1の原
始データ記号87及びr1の検査記号93は、行処理回
路要素80によって中間配列バッファ94に記憶され
る、長さがn1の記号からなるC1符号を形成する。
【0027】列符号器100及び列シーケンサ102か
ら構成される列処理回路要素98は、中間配列バッファ
94におけるC1符号(原始データ87とC1検査記号9
3から構成される)の列にC2符号を適用する。列符号
器100は、冗長がr2になるように符号化するリード
・ソロモン符号器40(図2)のようなリード・ソロモ
ン符号器である。列シーケンサ102は、列符号器10
0にC1符号を1列ずつ入力する。列符号器100は、
2の記号から構成される各列に処理を加えて、r2の検
査記号103を形成し、該記号は、列と共に、出力配列
バッファ104に記憶される。全ての列の符号化が済ん
だ後の出力配列バッファ104の内容は、積符号配列と
いうことになる。
【0028】積符号符号器80の実施例によっては、入
力配列バッファ86、中間配列バッファ94、及び、出
力配列バッファ104のそれぞれに、単一配列バッファ
を用いるものもある。こうした場合、行及び列処理回路
要素88、98は、データが符号化されると、バッファ
間におけるデータ転送を行うのではなく、適切な位置に
おいてデータに操作を加える。さらに、積符号符号器8
0の代替実施例の場合、行及び列処理回路要素88、9
8の順序が逆になるが、それでも、同じ積符号配列を得
ることが可能である。
【0029】次に、図5を参照すると、積符号復号器8
2は、積符号符号器80によって形成される積符号配列
に対する誤り訂正を実施する。符号C1を利用して、積
符号配列の汚染行を検出し、符号C2を利用して、汚染
行の消去を訂正する。チャネル34(図1)から受信す
ると、汚染行109を有する可能性のある積符号配列
が、最初に入力配列バッファ110に記憶される。行処
理回路要素112は、積符号復号器82によって、入力
配列バッファ110における積符号配列の汚染行109
を検出するために用いられる。行処理回路要素112
は、行復号器114及び行シーケンサ116から構成さ
れる。行復号器114は、図3に示すものと同様のリー
ド・ソロモン復号器であり、C1符号に基づく誤り検出
に適している。行シーケンサ116は、入力配列バッフ
ァ110から行復号器114に積符号配列を1行ずつ入
力する。各行毎に、行復号器114は、r1の記号シン
ドロームを形成し、シンドロームが非ゼロであれば、そ
の行を汚染されたものとして識別する。行復号器114
は、どの行が汚染されたものとして検出されたかを識別
するリスト(「汚染行リスト」)117を形成する。行
処理回路要素112による処理が済むと、積符号配列
は、そのまま、中間配列バッファ118に記憶される。
【0030】積符号復号器82は、さらに、行処理回路
要素112によって検出された汚染行の消去を訂正する
ために用いる、列処理回路要素120から構成される。
列処理回路要素120は、列復号器122と、列シーケ
ンサ124から構成される。列復号器122は、図3に
示すものと同様のリード・ソロモン復号器であり、C2
符号に基づく消去訂正操作に適している。列シーケンサ
124は、中間配列バッファ118から列復号器122
に積符号配列を1列ずつ入力する。汚染行リスト117
は、行復号器114から列復号器122にも入力され
る。列復号器122は、汚染行リスト117を用いて、
リスト117において識別される汚染行109のそれぞ
れを消去することを宣言する。列復号器122は、積符
号配列の各列毎に、その列に関する長さがr2の記号か
らなるシンドロームを形成し、該シンドロームに処理を
加えて、その列における消去された行からの各記号に訂
正を施すことによって、前記列における消去を訂正す
る。列復号器122は、訂正した列を出力配列バッファ
126に記憶する。行及び列処理回路要素112、12
0による処理結果として、出力配列バッファ126に
は、汚染行109のそれぞれに訂正を施した、積符号配
列が納められていることになる。積配列復号器82は、
入力配列バッファ110、中間配列バッファ118、及
び、出力配列バッファ126のそれぞれに用いられる単
一配列によって実施することが可能であり、積符号配列
には、適切な位置において処理が加えられる。
【0031】従来の技術においては既述のように、先行
技術による積配列符号器80によって形成されるn1×
2の積符号配列は、n12+n21−r12の冗長記
号を有している。この冗長に関して、先行技術による積
配列復号器82は、積符号配列のn2の行のどれかに汚
染が生じたか否かを検出することが可能である。(行復
号器90は、各行毎に独立したシンドロームを形成し、
これによって、シンドロームが非ゼロの場合、その行は
汚染されたものと識別される。)しかし、積配列復号器
82は、汚染されたものとして識別されたr2までの汚
染行だけしか訂正することができない。(列復号器10
0による消去訂正は、積符号配列の各列毎にr2の記号
の訂正に制限されている。)汚染されたものとしてr2
を超える行を識別するための冗長コストが、浪費される
ことになる。
【0032】図6、図8及び図9には、本発明の望まし
い実施例に基づく冗長度を低減した積符号符号器36
(図6)及び復号器38、39(図8及び図9)が示さ
れている。符号器36及び復号器38、39は、図7に
示す2次元積符号配列130に基づき、追加中間符号C
1.5を利用して、典型的な先行技術による積符号配列コ
ーデック(すなわち、符号器/復号器)と比較して低減
された冗長度(すなわち、望ましい実施例の場合、(n
12+r12))を実現し、同時に、バースト誤り及び
ランダム誤り訂正には同等の能力を発揮する。
【0033】符号C1.5は、ブロック長がn2で、冗長は
2r2である。さらに、望ましい実施例の場合、符号C
1.5は、C2のサブ符号になるように設計される、すなわ
ち、C1.5の符号ブロックに、C2に関して計算されるr
2の冗長検査記号に加え、追加集合をなすr2の検査記号
が含まれる。従って、符号C2によって符号化された符
号ブロックは、既に、C1.5において有効な符号ブロッ
クであることが必要な冗長制約条件の半分を満たしてい
る。これは、C1.5とC2の間でオーバラップし、冗長度
低減に寄与し、さらに、C2に用いられる回路要素の一
部は、C1.5にも用いることが可能であるため、符号化
及び復号化回路要素の設計を単純化することも可能であ
る。図6、図8及び図9の符号器/復号器の場合、上記
関係がC1.5とC2の間に存在するものと仮定されてい
る。
【0034】次に、図6及び図7を参照すると、冗長度
低減積符号符号器36(図6)が、原始データ・ブロッ
ク132、134(図7)を符号化して、冗長度を低減
した符号配列130(図7)を形成する。符号器36
は、r2の冗長記号を備えたリード・ソロモン符号C2
積符号配列130の列に適用する列処理回路要素14
0、r1の冗長記号を備えたリード・ソロモン符号C1
積符号配列130の行に適用する行処理回路要素14
2、r1.5の冗長記号を備えた中間リード・ソロモン符
号C1.5を行処理回路要素142によって形成される行
検査記号に適用する列処理回路要素144、及び、XO
R加算器146から構成される。符号器36は、さら
に、入力配列バッファ150、中間配列バッファ15
1、出力配列バッファ152、及び、積符号配列130
及び検査記号が記憶される検査記号配列バッファ154
〜155から構成される。入力、中間、及び、出力配列
バッファ150〜152は、積符号配列130が適切な
位置において符号化される単一バッファ・メモリとして
物理的に実施することが可能である。
【0035】符号器36による積符号配列130の符号
化は、入力配列バッファ150が、最初に、符号化すべ
き原始データ記号を記憶することによって開始される。
望ましい実施例の場合、原始データは、原始データ・ブ
ロック132、134として入力配列バッファ50に記
憶される。原始データ・ブロック132は、積符号配列
130のk1×k2の記号部分を充填し、原始データ・ブ
ロック134は、全部で(k12+r1(n2−2
2))の原始データ記号についてr1×(n2−2r2
の記号部分を充填する。原始データ記号は、例えば、順
次、それぞれ、n1の記号からなるn2−2r2に、それ
ぞれ、k1の記号からなるr2の行を加えることを含め
て、さまざまな方法で、原始データ・ブロック132、
134に記憶することが可能である。
【0036】次に、列処理回路要素140は、C2列符
号を用いて原始データ・ブロック132の列を符号化す
ることによって、k1×r2の記号からなる大きさを備え
た、C2列符号検査記号配列160(図7)の配列を形
成する。C2符号を用いた符号化の場合、列処理回路要
素140は、列符号器162と列シーケンサ164から
構成される。列符号器162は、図2に示すようなr2
段を備えた帰還シフト・レジスタ符号器として、あるい
は、代替方式として、「ウィッカー等」及び「セロー
シ」に解説のシストリック配列または他のアーキテクチ
ャとして適合するように実施可能なリード・ソロモン符
号器である。列シーケンサ164は、原始データ・ブロ
ック132を1列ずつ列符号器162に入力する。列符
号器162は、データ・ブロック132のk1の列のそ
れぞれ(それぞれ、k2の記号からなる長さを有する)
に処理を加えて、C2列符号検査記号配列160を形成
する。列処理回路要素140は、C2列符号検査記号配
列160を出力して、中間配列バッファ151のk1×
2の記号部分を充填する。中間配列バッファ151の
残りのr1×2r2の記号部分168がクリアされる(す
なわち、ゼロが充填される)。(記号部分168をクリ
アする代わりに、すぐ後に説明するようにC1符号によ
って符号化する際に、行処理回路要素142が、積符号
配列130の最後の2r2の行の最初のk1の記号だけに
処理を施すことも可能である)。
【0037】行処理回路要素142は、中間配列バッフ
ァ151における原始データ・ブロック132、13
4、及び、C2列符号検査記号配列160の行を符号化
して、r1×n2の記号からなる大きさを備えたC1行符
号検査記号(部分170〜171から構成される)を形
成する。C1符号による符号化の場合、行処理回路要素
142は、行符号器172及び行シーケンサ174から
構成される。行符号器172は、図2に示すようなr1
段を備えた帰還シフト・レジスタ符号器として、あるい
は、代わりに、「ウィッカー等」及び「セローシ」に解
説のシストリック配列または他のアーキテクチャとして
適合するように実施可能なリード・ソロモン符号器であ
る。行シーケンサ174は、中間配列バッファ151か
らの記号を1行ずつ行符号器172に入力する。行符号
器172は、n2行(それぞれ、n1の記号から構成され
る)のそれぞれに処理を加えて、C1検査記号配列バッ
ファ154に記憶されるC1行符号検査記号を形成す
る。
【0038】C1検査記号配列バッファ154は、積符
号配列130の最初のn2−2r2行(すなわち、n1
行データ記号から成る全行のそれぞれ)に対応するC1
行符号検査記号配列の一部170(r1×n1−2r2
記号からなる大きさを有する)を列処理回路要素144
に入力する。積符号配列130の最後の2r2行に対応
するC1符号検査記号配列の残りの部分171(r1×2
2の記号からなる大きさを有する)が、バッファ15
4の最後の2r2行に保存される。
【0039】列処理回路要素144は、バッファ154
におけるC1行符号検査記号配列の一部170の列を符
号化して、r1×2r2の記号からなる大きさを有するC
1.5列符号検査記号の配列155を形成する。C1.5符号
で符号化する場合、列処理回路要素144は、列符号器
192と列シーケンサ194から構成される。列符号器
192は、図2に示すようなr1.5段を備えた帰還シフ
ト・レジスタ符号器として、あるいは、代わりに、「ウ
ィッカー等」及び「セローシ」に解説のシストリック配
列または他のアーキテクチャとして適合するように実施
可能なリード・ソロモン符号器である。列シーケンサ1
94は、バッファ154におけるC1検査記号配列部分
170からの記号を1列ずつ列符号器192に入力す
る。列符号器192は、r1列のそれぞれ(それぞれ、
2−2R2の記号から構成される)に処理を加えて、C
1.5列符号検査記号配列を形成する。列処理回路要素1
44は、C1.5列符号検査記号配列をC1.5検査記号配列
バッファ155に送り込む。
【0040】XOR加算器146は、ビット排他的OR
演算によって、バッファ155におけるC1.5列符号検
査記号配列と、バッファ154におけるC1行符号検査
記号配列の部分171との和を1記号ずつ求めて、r1
×2r2の記号からなる大きさを備えた、行符号検査記
号配列198を形成する。行符号検査記号配列198
は、原始データ・ブロック132、134、及び、C2
列符号検査記号配列160と共に、出力配列バッファ1
52に記憶される。出力配列バッファ152の結果得ら
れる内容によって、冗長度低減積符号配列130が形成
される(図7)。
【0041】積符号配列130の冗長部分は、全部でn
12+r12の記号からなるC2列符号検査記号配列1
60及び行符号検査記号配列198だけしか構成しな
い。これは、先行技術による積配列符号器80によって
形成される積符号配列(n12+n21−r12の記号か
らなる冗長を有している)の冗長部分よりr1(n2−2
2)の記号だけ少ない。従って、冗長度低減積符号符
号器36は、大きさの等しい積符号について、先行技術
による積符号符号器80(図5)に比べると冗長度の大
幅な節減を実現する。例えば、n1=128、r1=1
2、n2=98、及び、r2=8という典型的な積符号の
大きさについて、下記の表1には、上長と低減積符号符
号器36によって実現する冗長度の節減が示されてい
る。
【0042】
【表2】
【0043】次に、図8を参照すると、冗長度低減積符
号復号器38は、冗長度低減積符号符号器36(図6)
によって形成される積符号配列130(図7)を復号化
して、チャネル34(図1)を介した積符号配列130
の転送時に導入されるバースト誤りを訂正する。復号器
38はC1行符号及びC1.5中間符号を利用して、チャネ
ル34を介した転送時に誤りを生じた積符号配列130
のr2までの行(「汚染行」)205を突き止める。復
号器38は、次に、汚染行205の消去訂正のためにC
2列符号を利用する。従って、冗長度低減積符号復号器
38によれば、積符号配列130の冗長度を低減して、
先行技術による積配列復号器82(図5)と同等の誤り
訂正能力が得られる。
【0044】C1、C1.5、及び、C2積符号配列130
に処理を施すため、復号器38は、行処理回路要素21
0、中間処理回路要素212、及び、列処理回路要素2
14から構成される。復号器38は、さらに、入力配列
バッファ220、出力配列バッファ221、及び、シン
ドローム配列バッファ222から構成される。適切な位
置で積符号配列に処理を加えることによって、入力配列
バッファ及び出力配列バッファ220〜221の両方と
して、単一の物理的バッファを用いることが可能であ
る。チャネル34を介して転送した後、積符号配列13
0(図7参照)は、まず、入力配列バッファ220に記
憶される。
【0045】行処理回路要素210は、C1符号によっ
て入力配列バッファ220における積符号配列の行に処
理を加えて、シンドローム配列を形成する。シンドロー
ム配列を形成するため、行処理回路要素210は、行復
号器230及び行シーケンサ232から構成される。行
復号器230は、図2に示すようなr1段を備えた帰還
シフト・レジスタ符号器として、あるいは、代わりに、
「ウィッカー等」及び「セローシ」に解説のシストリッ
ク配列または他のアーキテクチャとして適合するように
実施可能な、シンドローム発生器として用いられる(図
3に関連して上述のように)リード・ソロモン符号器で
ある。列シーケンサ232は、入力配列バッファ220
からの記号を1行ずつ行復号器230に入力する。行復
号器230は、積配列のn2の行のそれぞれ(それぞ
れ、n1の記号から構成される)に処理を加えて、r1
記号を備えた対応するシンドロームを生じさせる。行処
理回路要素210は、入力配列バッファ220の行に対
応するシンドローム配列バッファ222の行にシンドロ
ームを送り込んで、シンドローム配列を形成する。
【0046】中間処理回路要素212は、C1.5符号に
基づいてシンドローム配列の列に処理を加え、積配列の
汚染行205を突き止める。中間処理回路要素212
は、シンドローム配列復号器240及び列シーケンサ2
42から構成される。シンドローム配列復号器240
は、図3の復号器60と同様に、シンドローム発生器及
びキー方程式ソルバによって実施可能なリード・ソロモ
ン復号器である。列シーケンサ242は、シンドローム
配列バッファ222からの記号を一度に1行ずつシンド
ローム配列復号器240に入力する。シンドローム配列
復号器240は、次に、シンドローム配列の各列毎にr
1.5の記号シンドロームを形成し、r1.5の記号シンドロ
ームに処理を加えて、誤り位置を判定する。誤りが突き
止められるシンドローム配列の行は、入力配列バッファ
220における積配列の汚染行205に対応する。
【0047】バースト誤りの場合、シンドローム配列の
各列は、シンドローム配列の同じ行に誤りを有している
可能性がある。従って、汚染行205の大部分は、シン
ドローム配列のたった1列に処理を加えるだけで突き止
められる。さらに、ほんの数列に処理を加えるだけで、
全ての汚染行205が突き止められる確率が高い。従っ
て、本発明の実施例の中には、中間処理回路要素212
による処理をシンドローム配列のr1列の一部(例えば
2〜3列)に限定して、汚染行205の一部の検出に失
敗するかもしれないという極めて可能性の低い犠牲を払
うことにより、復号化プロセスをスピード・アップする
ことが可能なものもある。代わりに、最初の数列だけを
利用して汚染行205を突き止め、残りの列を利用し
て、その位置を確認することも可能である。不具合が見
つかると、追加列の処理が十分に実施される。シンドロ
ーム配列列の処理結果として、シンドローム配列復号器
240は、汚染行リスト249を作成し、これが、列処
理回路要素214に対して出力される。
【0048】列処理回路要素214は、汚染行リスト2
49に基づいて、積配列における汚染行205の消去訂
正を実施する。列処理回路要素214は、列復号器25
0及び列シーケンサ252から構成される。列復号器2
50は、図3に示す復号器60と同様に、シンドローム
発生器、キー方程式ソルバ、及び、誤り探索及び訂正回
路要素によって実施可能なリード・ソロモン復号器であ
る。列シーケンサ252は、入力配列バッファ220か
ら列復号器250に積符号配列を1列ずつ入力する。汚
染行リスト249は、列復号器250にも入力される。
列復号器250は、汚染行リスト249を用いて、リス
ト249において識別される汚染行205のそれぞれを
消去することを宣言する。列復号器250は、積符号配
列の各列毎に、その列に関する長さがr2の記号からな
るシンドロームを形成し、該シンドロームに処理を加え
て、その列における消去された行からの各記号に訂正を
施すことによって、前記列における消去を訂正する。列
復号器250は、訂正した列を出力配列バッファ221
に記憶する。行、中間、及び列処理回路要素210、2
12、及び、214による処理結果として、出力配列バ
ッファ221には、汚染行205のそれぞれに(極めて
高い確率で)訂正を施した、積符号配列が納められてい
ることになる。
【0049】次に、図9を参照すると、冗長度低減積符
号復号器39の場合、復号器38に修正を加えて、積符
号配列130(図7)を復号化することによって、チャ
ネル34(図1)を介した積符号配列130の転送時に
導入されるバースト誤りとランダム誤りの両方が訂正さ
れるようになっている。復号器38と同様、復号器39
は、C1行符号とC1.5中間符号を利用して、積符号配列
130のr2までの汚染行205を突き止め、さらに、
C2列符号を利用して、汚染行205の消去訂正を行
う。復号器39は、さらに、C1.5中間符号及びC1行符
号を利用して、積符号配列130におけるランダム誤り
258を訂正する。従って、冗長度の低減された積符号
配列130を利用して、ランダム誤りとバースト誤りの
両方を防護することが可能になる。
【0050】行、中間、及び、列処理回路要素210、
212、214、及び、バッファ220〜222以外
に、冗長度低減積符号復号器39は、中間配列バッファ
260及び訂正シンドローム配列バッファ262から構
成される。本発明の実施例の中には、シンドローム配列
バッファ222及び訂正シンドローム配列バッファ26
2を単一の物理的バッファとして実施可能なものもある
し、入力配列バッファ220、出力配列バッファ22
1、及び、中間配列バッファ260の全てをもう1つの
単一の物理的バッファとして実施可能なものもある。
【0051】復号器39の場合、行処理回路要素210
は、C1行符号によって入力配列バッファ220におけ
る積符号配列130の行を符号化し、シンドローム配列
を形成する。行処理回路要素210は、シンドローム配
列をシンドローム配列バッファ222に対して出力す
る。中間処理回路要素212は、C1.5中間符号によっ
てシンドローム配列バッファ222におけるシンドロー
ム配列の列に処理を加えて、汚染行リスト249を生じ
させ、シンドローム配列における誤りを訂正する。中間
処理回路要素212は、汚染行リスト249を列処理回
路要素214に対して出力し、訂正シンドローム配列を
訂正シンドローム配列バッファ262に対して出力す
る。
【0052】行処理回路要素210は、訂正シンドロー
ム配列を利用して、入力配列バッファ220における積
符号配列の行のランダム誤り258を訂正する。行処理
回路要素の行復号器230は、図3の復号器60と同
様、キー方程式ソルバ及び誤り探索及び訂正回路要素に
よって実施される。行処理回路要素210は、行復号器
230のこれらのコンポーネントによって、ランダム誤
り258を突き止めて、訂正し、結果得られる積符号配
列を中間配列バッファ260に対して出力する。
【0053】列処理回路要素214は、次に、C2列符
号によって、中間配列バッファ260における積符号配
列の列に処理を加え、汚染行リスト249において識別
される汚染行の消去訂正を実施する。ランダム誤り20
5とバースト誤り258の両方を訂正された積符号配列
が、出力配列バッファ221に対して出力される。
【0054】望ましい実施例に関連して本発明の原理に
ついて解説し、例示してきたが、こうした原理を逸脱す
ることなく、望ましい実施例の構成及び細部について修
正を加えることができるのは明らかである。本発明の原
理を適用することが可能な多くの見込みのある実施例を
考慮することによって明らかになるように、詳細な実施
例は単なる例示でしかなく、本発明の範囲を制限するも
のと解釈してはならない。以下に本発明の実施態様のい
くつかを列記して本発明の理解の助けとする。
【0055】(実施態様1)データ送信装置(28)、
データ受信装置(30)、及び、データ送信装置からデ
ータ受信装置にデータを転送するチャネル(34)を備
えた誤り訂正システム(20)における冗長度を低減す
る方法において、n12+r12の冗長記号(160、
198)を有するn1×n2の記号からなる積符号配列
(130)をなすように、データ送信装置において原始
データ記号を符号化し(22)、これによって、配列の
2までの汚染行(205)を検出し、各列毎にr2まで
の消去箇所を訂正することができるようにするするステ
ップ(ここで、n1、n2、r1、及び、r2は正の整数で
あり、各記号は、整数qの記号を備えたアルファベット
から選択される)と、通信チャネルで宛先に積符号配列
を送信するステップと、原始データ記号を回復するた
め、宛先において積符号配列を復号化するステップとを
備えた、誤り訂正方法。
【0056】(実施態様2)前記復号化するステップ
が、積符号配列(130)及び冗長記号(160、19
8)に処理を施して、積符号配列の汚染行を識別し、こ
れによって、1−εの確率でr2までの汚染行を識別す
ることができるようにするステップ(ここで、εはr1
に対して指数関数的に減少する数である)と、積符号配
列及び冗長記号に処理を施して、汚染があると識別され
た積符号配列の行を訂正し、これによって、r2までの
行を訂正することができるようにするステップとを備え
たことを特徴とする、実施態様1に記載の誤り訂正方
法。
【0057】(実施態様3)前記符号化が、それぞれ、
1×k2(ここで、k1及びk2は整数である)の記号と
1 ×(k2ーr2 )の記号からなる大きさを備えた積
符号配列の第1の部分(132)及び第2の部分(13
4)に原始データ記号を充填するステップと、第1の符
号化に基づいて積符号配列の第1の部分の列に処理を加
えることによって、第1の部分の列に1対1に関連した
長さがr2の記号からなる第1の符号化検査記号を形成
するステップと、k1×r2の記号からなる大きさを備え
た積符号配列の第3の部分(160)に第1の符号化検
査記号を充填するステップと、第2の符号化に基づい
て、k1×2r2の記号からなる大きさを備え、積符号配
列の第3の部分と積符号配列の第1の部分の第1の小部
分から構成され、この第1の小部分がk1×r2の記号か
らなる大きさを備えている、積符号配列の第4の部分
(132、160)の行に処理を加えることによって、
積符号配列の第4の部分の処理済み行に1対1に関連し
た長さがr1の記号からなる第2の符号化検査記号を形
成し、この第2の符号化検査記号によって、r1×2r2
の記号からなる大きさを備えた第2の検査記号配列(1
71)が形成されるようにするステップと、第2の符号
化に基づいて、n1×(n2−2r2)の記号からなる大
きさを備え、積符号配列の第2の部分と積符号配列の第
1の部分の第2の小部分から構成され、この第2の小部
分がk1×(n2−2r2 )の記号からなる大きさを備え
ている、積符号配列の第5の部分(132、134)の
行に処理を加えることによって、積符号配列の第5の部
分の行に1対1に関連した長さがr1の記号からなる第
3の符号化検査記号を形成し、この第3の符号化検査記
号によって、r1×(n2−2r2 )記号からなる大きさ
を備えた第3の検査記号配列(170)が形成されるよ
うにするステップと、第3の符号化に基づいて、第3の
検査記号配列の列に処理を加えることによって、第3の
検査記号配列の列に1対1に関連した長さが2r2の第
4の符号化検査記号を形成し、この第4の符号化検査記
号によって、r1×2r2の記号からなる大きさを備えた
第4の検査記号配列(155)が形成されるようにする
ステップと、第4の検査記号配列と第2の検査記号配列
の和を求めるステップと、積符号配列の第6の部分(1
98)に第4の検査記号配列と第2の検査記号配列の部
分との和を充填するステップとを備えたことを特徴とす
る、実施態様1に記載の誤り訂正方法。
【0058】(実施態様4)復号化のステップが、第2
の符号化に基づいて積符号配列(130)の行に処理を
加えることによって、r1×n2の記号からなる大きさを
備えたシンドローム配列(222)が形成されるように
するステップと、第3の符号化に基づいてシンドローム
配列の少なくとも1つの列に処理を加えることによっ
て、積符号配列のr2までの汚染行(205)を消去す
るために識別するステップと、第1の符号化に基づいて
積符号配列の列に処理を加えることによって、消去のた
めに識別された行を訂正するステップとを備えたことを
特徴とする、実施態様3に記載の誤り訂正方法。
【0059】(実施態様5)符号化が、積符号配列(1
30)において、行1〜n2−2r2の列1〜n1(13
2)及び行n2−2r2+1〜n2−r2の列1〜k1(1
34)に原始データ記号を充填するステップと、積符号
配列の列1〜k1の行1〜k2における原始データ記号に
ついて、列と1対1に関連し、それぞれ、長さがr2
第1の列符号化検査記号を形成するステップと、積符号
配列において、行n2−r2+1〜n2(160)の列1
〜k1に第1の列符号化検査記号を充填するステップ
と、積符号配列の行n2−2r2+1〜n2の列1〜k1
おける原始データ記号及び第1の列符号化検査記号につ
いて、行に1対1に関連し、それぞれ、長さがrの部
分行符号化検査記号(171)を形成するステップと、
積符号配列の行n2−2r2+1〜n2に関連した部分行
符号化検査記号を保存するステップと、積符号配列の行
1〜n2−2r2の列1〜n1における原始データ記号に
ついて、行と1対1に関連し、それぞれ、長さがr1
完全な行符号化検査記号(170)を形成するステップ
と、完全な行符号化配列について、列と1対1に関連
し、それぞれ、長さが2r2の第2の列符号化検査記号
(155)を形成するステップと、保存された部分行符
号化検査記号と第2の列符号化検査記号の和を求めるス
テップと、積符号配列において、行n2−2r2+1〜n
2の列k1+1〜n1に部分行符号化検査記号と第2の列
符号化検査記号の和を充填するステップとを備えたこと
を特徴とする、実施態様1に記載の誤り訂正方法。
【0060】(実施態様6)復号化ステップが、積符号
配列(130)の行1〜n2の列1〜n1について、積符
号配列の行と1対1に関連し、それぞれ、長さがr1
行シンドロームを形成し、該行シンドロームによって、
1×n2の大きさの行シンドローム配列(222)が形
成されるようにするステップと、行シンドローム配列の
少なくとも1つの列について、行シンドローム配列の少
なくとも1つの列に1対1に関連し、それぞれ、長さが
2r2の少なくとも1つの第1の列シンドロームを形成
するステップと、少なくとも1つの第1の列シンドロー
ムを用いて、積符号配列の汚染行(205)を識別する
ステップと、積符号配列の列1〜n1の行1〜n2におけ
る原始データ記号及び検査記号について、積符号配列の
列に1対1に関連し、それぞれ、長さがr2の第2の列
シンドロームを形成するステップと、第2の列シンドロ
ームを利用して、積符号配列の汚染行の消去を訂正する
ステップとを備えたことを特徴とする、実施態様1に記
載の誤り訂正方法。
【0061】(実施態様7)冗長度を低減した積符号配
列(130)を利用する誤り訂正システム(20)にお
いて、行1〜(k1−r2)の列1〜n1(132)、及
び、(k1−r2+1)〜k2の列1〜k1(134)に原
始データ記号を記憶するためのn1の列とn2の行からな
る配列バッファ(150〜152)(ここで、n1
2、k1、k2、r1、及び、r2は、関係式n1=k1
1及びn2=k2+r2を満たす正の整数である)と、配
列バッファの列1〜k1の原始データ記号を列符号で符
号化することによって、列に1対1に関連し、配列バッ
ファのそれぞれの関連した列の行(k2+1)〜n2に記
憶される、長さがr2の記号からなる列検査記号(16
0)を形成する列符号器(162)と、配列バッファの
行1〜(k2−r2)の原始データを行符号で符号化する
ことによって、長さがr1の記号からなる第1の行検査
記号(170)を形成し、配列バッファの行(k2−r2
+1)〜n2の原始データ記号及び列検査記号を行符号
で符号化することによって、長さがr1の記号からなる
第2の行検査記号(171)を形成する行符号器(17
2)と、第1の行検査記号の列を中間符号で符号化する
ことによって、長さが2r2の記号からなる中間検査記
号(155)を形成する列符号器(192)と、第2の
行検査記号と中間検査記号の和を求めることによって、
1の記号×2r2記号からなる大きさの検査記号配列を
形成する加算器から構成され、検査記号配列が、配列バ
ッファの行(k2−r2+1)〜n2の列(k1+1)〜n
1(198)に記憶され、これによって、n12+r1
2の冗長記号を有する積符号配列が形成されることを特
徴とする、誤り訂正システム。
【0062】(実施態様8)積符号配列(130)の行
を行符号で復号化することによって、積符号配列の行と
1対1に関連した、長さがr1の記号からなるシンドロ
ームを形成する行復号器(230)と、各シンドローム
をその1つの行に記憶して、シンドローム配列をなすよ
うにシンドロームを記憶する、n2の行とr1の列を備え
たシンドローム配列バッファ(222)と、中間符号で
シンドローム配列の列を復号化することによって、積符
号配列の汚染行(205)を突き止めるシンドローム復
号器(240)と、積符号配列の列を列符号で復号化す
ることによって、積符号配列の汚染行の消去を訂正する
列復号器(250)から構成されることを特徴とする、
実施態様7に記載の誤り訂正システム。 (実施態様9)n12+r12の冗長記号を有する積符
号配列(130)を利用する誤り訂正システム(20)
において(ここで、n1、n2、r1、及び、r2は整数で
ある)、積符号配列の行を行符号で復号化することによ
って、積符号配列の行と1対1に関連する、長さがr1
の記号からなるシンドロームを形成する行復号器(23
0)と、各シンドロームをその1つの行に記憶して、シ
ンドローム配列をなすようにシンドロームを記憶する、
2の行とr1の列を備えたシンドローム配列バッファ
(222)と、中間符号でシンドローム配列の列を復号
化することによって、積符号配列の汚染行(205)を
突き止めるシンドローム復号器(240)と、積符号配
列の列を列符号で復号化することによって、積符号配列
の汚染行の消去を訂正する列復号器(250)から構成
される、誤り訂正システム。
【0063】(実施態様10)シンドローム復号器(2
40)が、さらに、シンドローム配列の列を中間符号で
復号化することによって、シンドローム配列の誤りを訂
正する働きをすることと、行復号器(230)が、さら
に、訂正されたシンドローム配列を利用して、積符号配
列の行を復号化することによって、積符号配列のランダ
ム誤りを訂正する働きをすることを特徴とする、実施態
様9に記載の誤り訂正システム。
【0064】
【発明の効果】以上詳述したように、誤り検出、訂正能
力を従来と同等に保ちつつ冗長度を減らすことができる
ので実用に供して益がある。
【図面の簡単な説明】
【図1】符号化及び復号化を利用して、誤り訂正を行う
通信及び/または記憶システムの略ブロック図である。
【図2】図1のシステムにおける誤り訂正符号化に利用
可能な、先行技術における典型的なリード・ソロモン符
号器のブロック図である。
【図3】図1のシステムにおける誤り訂正復号化に利用
可能な、先行技術における典型的なリード・ソロモン復
号器のブロック図である。
【図4】2次元積符号配列に基づいて、図1のシステム
における誤り訂正符号化に利用可能な、先行技術におけ
る典型的な符号器のブロック図である。
【図5】2次元積符号配列に基づいて、図1のシステム
における誤り訂正復号化に利用可能な、先行技術におけ
る典型的な復号器のブロック図である。
【図6】冗長度を低減した2次元符号配列に基づいて、
誤り訂正符号化を行う、本発明の望ましい実施例による
図1のシステムに利用可能な符号器のブロック図であ
る。
【図7】図6の符号器によって本発明に基づいて符号化
された、冗長度を低減した2次元符号配列を示すブロッ
ク図である。
【図8】冗長度を低減した2次元符号配列に基づいて、
バースト誤り訂正を行う、本発明の望ましい実施例によ
る図1のシステムに利用可能な復号器のブロック図であ
る。
【図9】冗長度を低減した2次元符号配列に基づいて、
バースト誤り及びランダム誤り訂正を行う、本発明の望
ましい実施例による図1のシステムに利用可能な復号器
のブロック図である。
【符号の説明】
20 通信及び/または情報記憶システム 22 符号器 24 復号器 28 データ発信側装置 30 データ消費側装置 34 通信及び/または記憶チャネル 36 符号器 38 復号器 39 復号器 140 列処理回路要素 142 行処理回路要素 144 列処理回路要素 146 XOR加算器 150 入力配列バッファ 152 出力配列バッファ 154 検査記号配列バッファ 155 検査記号配列バッファ 162 列符号器 164 列シーケンサ 172 行符号器 174 行シーケンサ 192 列符号器 194 列シーケンサ 210 行処理回路要素 212 中間処理回路要素 214 列処理回路要素 220 入力配列バッファ 221 出力配列バッファ 222 シンドローム配列バッファ 230 行復号器 232 行シーケンサ 240 シンドローム配列復号器 242 列シーケンサ 250 列復号器 252 列シーケンサ 260 中間配列バッファ 262 訂正シンドローム配列バッファ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データ送信装置、データ受信装置、及び、
    データ送信装置からデータ受信装置にデータを転送する
    チャネルを備えた誤り訂正システムにおける冗長度を低
    減する方法において、 n12+r12の冗長記号を有するn1×n2の記号から
    なる積符号配列をなすように、データ送信装置において
    原始データ記号を符号化し、これによって、配列のr2
    までの汚染行を検出し、各列毎にr2までの消去箇所を
    訂正することができるようにするするステップ(ここ
    で、n1、n2、r1、及び、r2は正の整数であり、各記
    号は、整数qの記号を備えたアルファベットから選択さ
    れる)と、 通信チャネルで宛先に積符号配列を送信するステップ
    と、 原始データ記号を回復するため、宛先において積符号配
    列を復号化するステップとを備えた、 誤り訂正方法。
JP19469496A 1995-07-27 1996-07-24 誤り訂正方法及び装置 Expired - Fee Related JP3737204B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US508,019 1995-07-27
US08/508,019 US5719884A (en) 1995-07-27 1995-07-27 Error correction method and apparatus based on two-dimensional code array with reduced redundancy

Publications (2)

Publication Number Publication Date
JPH0946238A true JPH0946238A (ja) 1997-02-14
JP3737204B2 JP3737204B2 (ja) 2006-01-18

Family

ID=24021053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19469496A Expired - Fee Related JP3737204B2 (ja) 1995-07-27 1996-07-24 誤り訂正方法及び装置

Country Status (3)

Country Link
US (1) US5719884A (ja)
EP (1) EP0756385A3 (ja)
JP (1) JP3737204B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007288576A (ja) * 2006-04-18 2007-11-01 Kyodo Printing Co Ltd 情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473099B1 (en) * 1996-06-03 2002-10-29 Webtv Networks, Inc. Automatically upgrading software over a satellite link
US6957260B1 (en) 1996-06-03 2005-10-18 Microsoft Corporation Method of improving access to services provided by a plurality of remote service providers
KR100229015B1 (ko) * 1996-08-06 1999-11-01 윤종용 디지탈 처리시스템의 에러정정장치 및 방법
US6308295B1 (en) 1996-10-08 2001-10-23 Arizona Board Of Regents Parallel spectral reed-solomon encoder and decoder
US5925144A (en) * 1997-03-13 1999-07-20 Western Digital Corporation Error correction code circuit that performs built-in self test
US5920578A (en) * 1997-04-23 1999-07-06 Cirrus Logic, Inc. Method and apparatus for efficiently processing a multi-dimensional code
FR2764453B1 (fr) * 1997-06-06 1999-07-16 Sagem Procede de transmission de donnees par voie radio
US6792538B1 (en) 1997-09-05 2004-09-14 Pioneer Electronic Corporation Information generating method and apparatus, information reproducing method and apparatus, and information record medium
EP0901122B1 (en) * 1997-09-05 2006-06-14 Pioneer Electronic Corporation Information generating method and apparatus, information reproducing method and apparatus, and information record medium
JP3488603B2 (ja) * 1997-09-16 2004-01-19 株式会社東芝 電子透かしを利用したコピープロテクトシステム
US6041431A (en) * 1997-09-19 2000-03-21 Adapter, Inc. Method and apparatus for performing error correction code operations
US6163870A (en) * 1997-11-06 2000-12-19 Compaq Computer Corporation Message encoding with irregular graphing
US6073250A (en) * 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
CN1256005A (zh) * 1998-01-21 2000-06-07 索尼株式会社 编码方法和存储装置
EP1146515A1 (en) * 1998-02-25 2001-10-17 Matsushita Electric Industrial Co., Ltd. High-speed error correcting apparatus with efficient data transfer
US6092233A (en) * 1998-03-20 2000-07-18 Adaptec, Inc. Pipelined Berlekamp-Massey error locator polynomial generating apparatus and method
US6363511B1 (en) * 1998-03-31 2002-03-26 Stmicroelectronics N.V. Device and method for decoding data streams from storage media
US6260169B1 (en) 1998-03-31 2001-07-10 Stmicroelectronics N.V. Device and method for real time correction of row data from DVD media
US6192499B1 (en) 1998-05-29 2001-02-20 Adaptec, Inc. Device and method for extending error correction beyond one sector time
US6163871A (en) * 1998-05-29 2000-12-19 Adaptec, Inc. RAM based error correction code encoder and syndrome generator with programmable interleaving degrees
US6115837A (en) * 1998-07-29 2000-09-05 Neomagic Corp. Dual-column syndrome generation for DVD error correction using an embedded DRAM
US6192497B1 (en) 1998-08-27 2001-02-20 Adaptec, Inc. Parallel Chien search circuit
CA2344046C (en) 1998-09-28 2008-02-05 Advanced Hardware Architectures, Inc. Turbo product code decoder
US20020062470A1 (en) 1998-11-16 2002-05-23 Honda Yang Apparatus and method for generating interleave erasure locations from thermal asperity erasure pointers
US6604218B1 (en) * 1999-01-12 2003-08-05 Matsushita Electric Industrial Co., Ltd. Data encoding apparatus and data decoding apparatus
US6662334B1 (en) 1999-02-25 2003-12-09 Adaptec, Inc. Method and device for performing error correction on ECC data sectors
US6606727B1 (en) * 1999-10-29 2003-08-12 Stmicroelectronics, Inc. System and method for providing error correction coding with selectively variable redundancy
US6625774B1 (en) * 1999-10-29 2003-09-23 Stmicroelectronics, Inc. Redundancy system and method for locating errors in interleaved code words
US6662335B1 (en) * 2000-01-25 2003-12-09 Mediatek Inc. Method and apparatus for accessing DVD data
US7356752B2 (en) * 2000-03-14 2008-04-08 Comtech Telecommunications Corp. Enhanced turbo product codes
WO2001076079A2 (en) * 2000-04-04 2001-10-11 Comtech Telecommunication Corp. Enhanced turbo product code decoder system
US6738942B1 (en) * 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
US6622277B1 (en) * 2000-06-05 2003-09-16 Tyco Telecommunications(Us)Inc. Concatenated forward error correction decoder
US7159164B1 (en) * 2000-06-05 2007-01-02 Qualcomm Incorporated Method and apparatus for recovery of particular bits of a frame
US6697985B1 (en) * 2000-10-04 2004-02-24 Actelis Networks Inc. Predictive forward error correction redundancy
US8656246B2 (en) * 2001-04-16 2014-02-18 Qualcomm Incorporated Method and an apparatus for use of codes in multicast transmission
WO2002091592A1 (en) * 2001-05-09 2002-11-14 Comtech Telecommunications Corp. Low density parity check codes and low density turbo product codes
EP1293978A1 (en) * 2001-09-10 2003-03-19 STMicroelectronics S.r.l. Coding/decoding process and device, for instance for disk drives
FR2838580B1 (fr) * 2002-04-12 2005-04-01 Canon Kk Procedes et dispositifs de faible cout pour le decodage de codes produits
DE10216999A1 (de) * 2002-04-16 2003-11-06 Thomson Brandt Gmbh ECC-Block-Enkodierer und -Dekodierer mit reduziertem RAM-Speicherbedarf
US7116840B2 (en) 2002-10-31 2006-10-03 Microsoft Corporation Decoding and error correction in 2-D arrays
US7133563B2 (en) * 2002-10-31 2006-11-07 Microsoft Corporation Passive embedded interaction code
US7290197B2 (en) * 2003-06-03 2007-10-30 Quantum Corporation Correcting data using redundancy blocks
US7168024B2 (en) * 2003-10-03 2007-01-23 Jennic Limited Data processing system and method
GB2407946A (en) 2003-11-05 2005-05-11 Nokia Corp Forward Error Correction decoder suitable for use with data comprising variable padding
US7583842B2 (en) * 2004-01-06 2009-09-01 Microsoft Corporation Enhanced approach of m-array decoding and error correction
US7263224B2 (en) * 2004-01-16 2007-08-28 Microsoft Corporation Strokes localization by m-array decoding and fast image matching
US7228490B2 (en) * 2004-02-19 2007-06-05 Quantum Corporation Error correction decoder using cells with partial syndrome generation
US7607076B2 (en) 2005-02-18 2009-10-20 Microsoft Corporation Embedded interaction code document
US7826074B1 (en) 2005-02-25 2010-11-02 Microsoft Corporation Fast embedded interaction code printing with custom postscript commands
US20060215913A1 (en) * 2005-03-24 2006-09-28 Microsoft Corporation Maze pattern analysis with image matching
US7421439B2 (en) * 2005-04-22 2008-09-02 Microsoft Corporation Global metadata embedding and decoding
US7599560B2 (en) 2005-04-22 2009-10-06 Microsoft Corporation Embedded interaction code recognition
US20060242562A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Embedded method for embedded interaction code array
US7400777B2 (en) * 2005-05-25 2008-07-15 Microsoft Corporation Preprocessing for information pattern analysis
US7729539B2 (en) * 2005-05-31 2010-06-01 Microsoft Corporation Fast error-correcting of embedded interaction codes
US7580576B2 (en) * 2005-06-02 2009-08-25 Microsoft Corporation Stroke localization and binding to electronic document
US7619607B2 (en) 2005-06-30 2009-11-17 Microsoft Corporation Embedding a pattern design onto a liquid crystal display
US7817816B2 (en) * 2005-08-17 2010-10-19 Microsoft Corporation Embedded interaction code enabled surface type identification
US7622182B2 (en) 2005-08-17 2009-11-24 Microsoft Corporation Embedded interaction code enabled display
KR100754185B1 (ko) * 2005-10-18 2007-09-03 삼성전자주식회사 방송 서비스의 수신능력을 표시하는 방법 및 장치
US20080010513A1 (en) * 2006-06-27 2008-01-10 International Business Machines Corporation Controlling computer storage systems
US8046660B2 (en) * 2006-08-07 2011-10-25 Marvell World Trade Ltd. System and method for correcting errors in non-volatile memory using product codes
GB2445005B (en) * 2006-12-19 2012-01-18 Martin Tomlinson Concatenated coding system
US8069392B1 (en) 2007-10-16 2011-11-29 Integrated Device Technology, Inc. Error correction code system and method
CN101404563B (zh) * 2008-11-20 2011-12-21 吕晓雯 一种差错控制方法和系统
US20100241923A1 (en) * 2009-03-17 2010-09-23 Broadcom Corporation Communication device employing LDPC (Low Density Parity Check) coding with Reed-Solomon (RS) and/or binary product coding
CN101505201B (zh) * 2009-03-18 2011-08-31 吕晓雯 一种差错控制方法
US9229804B2 (en) 2010-08-17 2016-01-05 Technion Research And Development Foundation Ltd. Mitigating inter-cell coupling effects in non volatile memory (NVM) cells
US8751910B2 (en) 2011-04-13 2014-06-10 Cortina Systems, Inc. Staircase forward error correction coding
US9412911B2 (en) 2013-07-09 2016-08-09 The Silanna Group Pty Ltd Optical tuning of light emitting semiconductor junctions
US9252815B2 (en) 2013-12-16 2016-02-02 International Business Machines Corporation Extension of product codes with applications to tape and parallel channels
US10615913B2 (en) 2017-09-13 2020-04-07 Ciena Corporation Forward error correction with compression coding
US10693500B2 (en) 2017-09-15 2020-06-23 Duke University Systems and methods for decoding forward error correction codes based on component codes
US11082062B2 (en) * 2019-09-17 2021-08-03 SK Hynix Inc. Hardware implementations of a quasi-cyclic syndrome decoder
CN112332869A (zh) * 2020-10-22 2021-02-05 杭州华澜微电子股份有限公司 改进的tpc迭代方法和装置
US11711099B1 (en) * 2022-03-23 2023-07-25 Samsung Electronics Co., Ltd. Low gate-count encoding algorithm and hardware of flexible rate GLDPC ECC

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0156440B1 (en) * 1984-03-24 1990-01-24 Koninklijke Philips Electronics N.V. An information transmission method with error correction for user words, an error correcting decoding method for such user words, an apparatus for information transmission for use with the method, a device for information decoding for use with the method and an apparatus for use with such device
CA1264091A (en) * 1986-01-10 1989-12-27 Yoichiro Sako Generator for error correcting code and decoder for the code
US5371750A (en) * 1990-03-02 1994-12-06 Mitsubishi Denki Kabushiki Kaisha Error-correction encoding and decoding system
KR100200801B1 (ko) * 1991-08-31 1999-06-15 윤종용 오류정정장치
US5432800A (en) * 1991-10-29 1995-07-11 Hitachi, Ltd. Methods and apparatuses for transmission and reception of information signals
US5392299A (en) * 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system
US5365530A (en) * 1992-05-12 1994-11-15 Mitsubishi Denki Kabushiki Kaisha Error-correction encoding and decoding system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007288576A (ja) * 2006-04-18 2007-11-01 Kyodo Printing Co Ltd 情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置

Also Published As

Publication number Publication date
EP0756385A3 (en) 1999-01-13
JP3737204B2 (ja) 2006-01-18
EP0756385A2 (en) 1997-01-29
US5719884A (en) 1998-02-17

Similar Documents

Publication Publication Date Title
JP3737204B2 (ja) 誤り訂正方法及び装置
US5465260A (en) Dual purpose cyclic redundancy check
US4785451A (en) Generator for an error correcting code, a decoder therefore, and a method for the same
US4151510A (en) Method and apparatus for an efficient error detection and correction system
US6658605B1 (en) Multiple coding method and apparatus, multiple decoding method and apparatus, and information transmission system
JP4152887B2 (ja) リニアブロックコードに関する消去箇所−及び−単一−エラー訂正デコーダ
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
KR930008683B1 (ko) 리드-솔로몬 에러 보정 코드 엔코더
AU629334B2 (en) Data stream frame synchronisation
US7188295B2 (en) Method and apparatus for embedding an additional layer of error correction into an error correcting code
JPS6273336A (ja) マルチバイト・エラ−訂正方法及びシステム
JPH07235880A (ja) デジタルデータ符号化方式
JPH0126209B2 (ja)
US6163871A (en) RAM based error correction code encoder and syndrome generator with programmable interleaving degrees
US7634711B2 (en) Information coding by algebraic geometric code offering two decoding options
US7346834B2 (en) Randomizer systems for producing multiple-symbol randomizing sequences
CA2274106C (en) Shortened fire code error-trapping decoding method and apparatus
EP0753942A2 (en) Word-wise processing for reed-solomon codes
US6606718B1 (en) Product code with interleaving to enhance error detection and correction
US6832042B1 (en) Encoding and decoding system in an optical disk storage device
US20050206540A1 (en) Demodulation apparatus and method using code table that decreases complexity
US7747925B2 (en) Apparatus and method for error correction code striping
US7461329B2 (en) Channel encoding adapted to error bursts
US20030188248A1 (en) Apparatus for iterative hard-decision forward error correction decoding
US6138263A (en) Error correcting method and apparatus for information data having error correcting product code block

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040811

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050331

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050627

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051026

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091104

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091104

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101104

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees