JPH04505545A - 非システム的コード用高速エンコーダ - Google Patents

非システム的コード用高速エンコーダ

Info

Publication number
JPH04505545A
JPH04505545A JP3505234A JP50523491A JPH04505545A JP H04505545 A JPH04505545 A JP H04505545A JP 3505234 A JP3505234 A JP 3505234A JP 50523491 A JP50523491 A JP 50523491A JP H04505545 A JPH04505545 A JP H04505545A
Authority
JP
Japan
Prior art keywords
encoder
adder
characters
message
codeword
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
JP3505234A
Other languages
English (en)
Inventor
ウェルドン エドワード ジェイ ジェイアール
Original Assignee
イーストマン コダック カンパニー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by イーストマン コダック カンパニー filed Critical イーストマン コダック カンパニー
Publication of JPH04505545A publication Critical patent/JPH04505545A/ja
Pending 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/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明は例えば業界標準のコンパクトオーディオディスク等に用いられるタイプ の外部巡回エラー訂正コードにより符号化されたインターリーブデータに好適な エラー訂正エンコーダに関する。この業界標準のコンパクトオーディオディスク においてはそのフォーマットがコードワードの中間にパリティキャラクタを有す るため通常パラレルエンコーダが必要とされる。
背景技術: 例えば業界標準のコンパクトオーディオディスクシステムなどのデータ記録シス テムにおいてはデータの中の短いランダムエラーだけでなく内部に発生する長い バーストエラーをも訂正できることが必要である。周知の方法によればまずデー タをインターリーブし、それを外部エラー訂正コードでコード化し、外部エラー 訂正コードでコード化されたデータをインターリーブし、さらにインターリーブ された外部エラー訂正コードを内部エラー訂正コードでコード化し、最後に内部 エラー訂正コード化されたデータをインターリーブする。この3個のインターリ ーブの工程においては必要により異なった構成のインターリーブを採用すること ができる。そのようなシステムの一例である業界標準のコンパクトオーディオデ ィスクシステムは、パリティキャラクタを含むチェック部において外部エラー訂 正コードを採用している。このチェック部はコードワードの中間に存在しメツセ ージキャラクタはコードワードのいずれかの側に存在する。採用されている外部 コードはGF (28) 上の(28,24)短縮化リード−ソロモンコードで ある。(訳注:GFはガロア体である。)このコードにおいて外部コードワード の中の最初の12個のキャラクタはメツセージキャラクタであり、中間の4個の キャラクタはパリティキャラクタであり、そして最後の12個のキャラクタはメ ツセージキャラクタである。コンパクトオーディオディスクの内部コードは内部 コードワードの中間にチェック部を持たず、コードワードの端部に持っている。
このシステムの長所は、記録システムにおける符号化工程が比較的時間を要する のに対し、バーストエラーとランダムエラーの双方がデータの検索あるいは再生 中にデコーダによって簡単にかつ迅速に訂正されることである。このことは米国 特許第4,413,340 (オカダ等、ソニー株式会社に譲渡)に記載されて いる。この特徴によってコンパクトオーディオディスクプレイヤーのコストが低 減される。上述したオカダ等の米国特許は、業界標準のコンパクトオーディオデ ィスクシステムにおける入力及び出力のそれぞれのエンコーダにおいて採用され るインターリーブの構成はもとより、内部及び外部エラー訂正エンコーダについ ても説明がなされている。
通常このようなシステムは、記録スピードが特別に速いことを要しない分野にお いての使用が念頭におかれている。そのような分野は、例えばデジタルステレオ サウンドをマスク光ディスクにレーザービームによって永久記録する業界標準の コンパクトオーディオディスクシステムが挙げられる。このようにしてマスクデ ィスクの上に生成された光学パターンは、容易にかつ迅速に大量のディスク上に その複製が生成され、その複製が公衆に出回ることになる。唯一の要求はコンパ クトオーディオディスクプレイヤーのデコーダがデータの再生速度に追いつかな ければならないということである。つまり、エンコーダがマスターディスク上に データを記録する工程に要する時間は大きな問題ではない。従って、上述したオ カダ等の米国特許に記述されているエンコーダシステムは特に高速というわけで はない。実際、エンコーダのスピードは業界標準のコンパクトオーディオディス クシステムに採用されている外部コードの特性によって制限されている。
上述したオカダ等の特許に記載されているコンパクトオーディオディスクシステ ムの記録システムは、並列インターリーバと並列エンコーダを採用している。
これらの並列インターリーバと並列エンコーダには、それぞれのインターリーバ によってインターリーブされるキャラクタ及びそれぞれのエンコーダによって符 号化されるキャラクタの全てが同時に人力されなければならない。このように第 1のインターリーバは、外部エンコーダが符号化を開始し外部コードワードを形 成することができる前に、入力されたデータブロックに含まれる全ての入力メツ セージキャラクタを完全にインターリーブしなければならない。そして第2のイ ンターリーバは、内部エンコーダがインターリーブされた外部コードワードを符 号化することができる前に、外部コードワードのインターリーブを完了しなけれ ばならない。従って、並列エンコーダと並列インターリーバを採用するシステム においては、避けることのできない固有の時間遅延が存在する。このような時間 遅延は、メツセージキャラクタを直列にインターリーブし、直列に符号化し、一 度に1つのキャラクタしか取り込まない直列システムにおいては現れないもので ある。このような直列システムは上述した並列エンコーダを使用することはでき ず、その代り直列エンコーダを使用しなければならない。残念ながら、コンパク トオーディオディスクシステムにおいて用いられている外部並列リード−ソロモ ンエンコーダは直列リード−ソロモンエンコーダとは交換不可能である。何故な ら、直列リード−ソロモンエンコーダは外部コードワードに対する正しいパリテ ィ−キャラクタはを出力しないからである。
詳細に言えば、外部コードは、外部コードワードのチェックキャラクタがワード の中央に位置すること(すなわち、「中間」シンボルのコードワード内の位置) を要求するので、従来のバイト直列エンコーダは外部コードに従って、直列にデ ータを符号化することができない。その理由は、パリティキャラクタの値はコー ドワード中の位置に部分的に依存し、また従来のバイト直列エンコーダはコード ワードの端部の位置に対してのみパリティキャラクタの値を計算することができ るからである。直列エンコーダによって生成されるチェックキャラクタに対応す る多項式の次数は、メツセージキャラクタを表現する多項式の次数より低く、そ のため直列エンコーダによって生成されるチェックキャラクタコードワードの端 部に位置するシンボルのみに対応する。例えば、Peterson、W、W。
、 andE、 J、 Weldon、 J r、 、 Error−Corr ect ingCodes、Ed、II、MIT Press (1972)に 記載されているように、全てのメツセージキャラクタは直列エンコーダによって シフトされ、シフトが行われる際に直列エンコーダはパリティキャラクタを作成 しメツセージキャラクタの最後に付加してコードワードを形成する。
中間シンボル位置を有するパリティキャラクタを算出する直列エンコーダの見掛 の不可能性を避ける1つの方法は、パリティキャラクタの右側に位置するシンボ ル内の全てのメソセージキャラクタを最も左側のシンボル位置に巡回的にシフト することである。すると、パリティキャラクタはシフトされたコードワードの端 部に位置することになる。しかしながら、上述したようにコードは短縮化巡回コ ードである。従って、結果として得られるシフトされたコードワードは、左から 右に述べると、まず最も左側のシンボル位置にあるメソセージキャラクタのグル ープと、中間シンボル位置の0値キヤラクタの長いストリングと、そして最も右 側のシンボル位置にあるパリティ−キャラクタが直後に続く残りのメツセージキ ャラクタと、で構成される。0値キヤラクタのストリングの長さはコードのサイ ズから短縮化コードワード中のメツセージ及びパリティキャラクタの数を引いた 数に等しい。シフトされたコードワードの中のパリティキャラクタはコードワー ドの端部に位置するので、従来のバイト直列シフトレジスタエンコーダはそれら を計算するのに用いることができる。残念ながら、このことは期待されるほどに は符号化工程を必然的に高速化することにはならない。というのは、新しいコー ドワードの中央の0値キヤラクタのストリングが直列エンコーダを通してシフト されるときに余分の時間が費されるからである。(代数コード理論に詳しくない 読者は、この場合の直列エンコーダは、その直列エンコーダ自身を通じて全ての 0値キヤラクタを実際にシフトすることによって正しい解を得なければならず、 無駄時間を避けるためにO値キャラクタ−のストリングをメツセージキャラクタ の次のグループに単にスキップしてわたすことはしてはならない点に留意された い。)業界標準のコンパクトオーディオディスクシステムにおいては、コードの サイズが255であり、24個のメツセージキャラクタと4個のパリティキャラ クタがあるので、シフトされたコードワードの中のOのストリングの長さは22 7となってしまうであろう。パリティキャラクタを計算するためには、24個の メツセージキャラクタと227個のO値キャラクタとが直列エンコーダを通じて シフトされなければならず、合計251のシフトが必要である。このような場合 に直列エンコーダによって成されなければならない余分な227のシフトは、到 底受は入れることのできない時間遅延をもたらすので、実現不可能であると言え る。
このように、中間シンボル位置にチェックキャラクタを有する短縮化巡回コード として外部エラー訂正コードを選ぶと、業界標準のコンパクトオーディオディス クシステム等には直列エンコーダを採用することはできない。従って、業界標準 のコンパクトオーディスディスクシステム等の並列インターリーブ及び並列符号 化システムに固有の上述した時間遅延は、避けることができないかのように見え る。そのため、中間シンボル位置にパリティキャラクタを有するコードを採用す るシステムにおいては、データを記録できるスピードを向上させる実際的な方法 はないと思われていた。
発明の開示 本発明の一実施例であるエラー訂正システムは外部コードと内部コードとを用い ている。このコード体系によれば、内部コードワードのメツセージ部は外部コー ドのインターリーブされたコードワードであり、外部コードのパリティキャラク タは中間シンボル位置に存在し、さらにバイト直列エンコーダとバイト直列イン ターリーバのみを用いている。
本実施例による巡回エラー訂正コードの直列エンコーダは、コードワードの中の メツセージキャラクタの数の2分の1の数に等しいシフトを行うことによって、 パリティキャラクタを中間シンボル位置に有するコードワードをもつコードに従 ってコードワードの符号化を行う。業界標準のコンパクトオーディオディスクシ ステムの場合では、本発明による直列エンコーダに要求されるシフトの数は僅か 12である。このことは、そのような場合における要求されるシフトの数が従来 の予想が上述したように251であったのとは劇的な対比をなしている。このよ うに、この種のタイプのシステムにおける符号化速度は従来の技術のいかなる予 想をも上回るものである。
本発明の直列エンコーダは連続した複数のステージを有する。それぞれのステー ジはガロア体加算器によって前段のステージで計算された結果を受け取るように 接続されている。最終ステージの出力は一番初めのステージの入力に再循環して いる。エンコーダのそれぞれ2個(「左」と「右」)の直列入力は、コードワー ドの中のパリティキャラクタのグループのそれぞれ右と左に位置する2つのメソ セージキャラクタのグループのそれぞれ1つから、一度に1個のメツセージキャ ラクタを受け取る。「左」入力で受け取られたそれぞれのメツセージキャラクタ は、コード生成多項式のそれぞれの係数と別個に乗算され、結果である3積は個 々に複数のエンコーダのステージの対応するステージの加算器に受け取られる。
エンコーダの「右」入力に受け取られるそれぞれのメツセージキャラクタは、特 別な「シフト」多項式のそれぞれの係数と別個に乗算され、結果である3積は個 々に、複数のエンコーダのステージの対応するステージの加算器に個別に受け取 られる。特別なシフト多項式h (x)は、代数的なシフト要素xnをコード生 成多項式で除数した余りである。換言すれば、h (x)は、前に述べた例によ れば、コードワードの中のパリティキャラクタの右側に位置するメソセージキャ ラクタを最も左側のシンボル位置にシフトすることが必要とされる。
これは次のように記述することができる:(0) h (x) = [xn/g  (x)]の余り。
業界標準のコンパクトオーディオディスクシステムの(28,24)リード−ソ ロモンコードの場合においては、nは243であり、GF (28)上のコード 生成多項式は、 (1,) g(x) −x’+α75x3+α249x2+α78x+a6゜と なる。従って、この典型的な例では、本発明の直列エンコーダにおいて採用され る特別なシフト多項式は、 (2) h (x) −a113x” +a120x2+a246x+a22と なる。左の入力において受け取られるメツセージキャラクタは、パリティキャラ クタの数と等しい距離だけシフトあるいは前もって乗算される。これは単純に、 左側のエンコーダ入力をエンコーダの最高次にあるいは最終ステージに接続する ことにより達成される。
メツセージキャラクタの2つのグループは、右手側と左手側のエンコーダ入力に 一度の1個のキャラクタが同時に送出される。全てのメツセージキャラクタが全 てのエンコーダのステージを通じてシフトされたならば、それぞれのステージは パリティキャラクタの1つをそれぞれ保持することになる。
図面の簡単な説明 本発明は添付図面を参照してその詳細を後述する。まず図面の説明を以下に示す : 図1aは、そのパリティチェックキャラクタがコードワードの中央に位置するコ ードワードの図である; 図1bは、従来の技術のバイト直列リード−ソロモンエンコーダの図であるニー 1cは、図1aに示されるコードワードであって、パリティチェックキャラクタ がコードワードの右端に位置し、図1bに示されるエンコーダによって符号化可 能なコードワードの図である; 図2は、本発明の実施例による直列リード−ソロモンエンコーダの簡易ブロック 図である; 図3は、本発明の実施例によるエラー訂正システムのブロック図である;図4は 、図3に示されるシステムに例えば採用される、図2に示されるエンコーダのブ ロック図である; 図5は、図3に示されるシステムの各々のインターリーバにおいて作用される典 型的なスクランブル素子の簡易ブロック図である。
本発明の実施例様式 GF (28)上の短縮化(28,24)リード−ソロモンコードは図IAに示 した形式のコードワードを持つ。これは業界標準のコンパクトディスクシステム に採用されているコードである。図IAのコードワードにおいて注目すべき点は 、4個のパリティチェックキャラクタ110がコードワードの右端ではなく、1 2個のメソセージキャラクタ100と120の間すなわちコードワードの中央に 位置していることである。各々のキャラクタは、GF(28)上の1つの要素を 表す2進数の8ビツトつまり1バイトである。このようなコードワードは多項式 を表すものと考えることができる。すなわち、xOからxllまでの係数が最初 の12個のメツセージキャラクタ100であり、X12からX15までの項の係 数が4個のパリティチェックキャラクタ110てあり、そしてX16からX17 までの項の係数が最後の12個のメツセージキャラクタ120である、とみなす ことができる。
本文において上述したように、コードワードのパリティチェックキャラクタ11 0は従来のバイト直列エンコーダでは計算することができず、代りにマトリクス 法を用いて計算されなければならない。マトリクス法では、オカダ等の米国特許 の記載によれば、全てのメツセージキャラクタが並列に一緒に処理されなければ ならない。直列エンコーダを用いてパリティチェックキャラクタを計算するため には、パリティチェックキャラクタはコードワードの右端すなわち最下位のシン ボル位置に存在しなければならない。つまりこの位置はxO,x”、x2.x3 等の係数に対応する位置である。このような直列エンコーダは、単純にメツセー ジキャラクタに対応する多項式をコード生成多項式で除算し、除算の余りがパリ ティチェックキャラクタになる。直列エンコーダの構造が図1bに示されている 。
図1bにおいて、直列エンコーダは、連続したステージを有し、それぞれのステ ージはレジスタ130とEX−ORゲートであるガロア体加算器135とからな る。それぞれのステージの入力は前段の出力に接続しており、最終ステージの出 力はそれぞれの乗算器140を通じて各加算器135にフィードバックしている 。各乗算器140は最終ステージからフィードバックされた値とコード生成多項 式の係数のそれぞれ1つとを乗算する。図1bのエンコーダは上記等式(1)ド 生成多項式に従って符号化する。図1bに示されている全ての素子は8ビツト幅 である。それぞれのメツセージキャラクタは加算器135eに一度に1個ずつ受 け取られる。それぞれのレジスタ130は、加算器135eに新しいメツセージ キャラクタが受け取られるのと同期して、そのレジスタ130の保持するデータ を左から右ヘシフトする。まとめると、エンコーダは、入力するメツセージキャ ラクタを係数とする多項式をコード生成多項式で除算し、その余り(商ではない )の係数をレジスタ130に保持する。商は単に無視される。図1bのエンコー ダを通じて全てのメツセージキャラクタがシフトされた後、レジスタ130に保 持されているそれぞれの係数は、コードワードの端部に付加されるパリティチェ ックキャラクタの1つ1つに対応している。
図18のコードワードは図1bのエンコーダによって符号化することができる形 式に変換可能である。この目的のために、パリティキャラクタ110の右側にあ るメソセージキャラクタ100は右手側の多項式R(x)とみなされ、一方パリ ティキャラクター10の左にあるメツセージキャラクタ−20は左手側の多項式 L (x)であるとみなされる。例えば、R3(訳注、R3はリード−ソロモン )(28,24)コードを用いれば、図1aのコードワードが、キャラクタ10 0゜110.120に対応する多項式と代数的要素x243との乗算により右側 にシフトされると、コードワードは図10に示される形式に変換される。図10 に示される形式によれば、右端にあったキャラクタ−00はコードワードの左端 に現れ、次のキャラクタ−20のグループとは0値キャラクタ−25の長いスト リングによって分離されている。図10のシフトされたコードワードは有効なコ ードワードである。何故なら、巡回コードを任意にシフトしたものはもう1つの 別なコードワードとなり得るからである。図1aのコードワードは以下に示すコ ードワード多項式に対応する。
(3) C(x) −x L (x) +x”’P (x) +R(x)ここで 、P (x)はパリティチェックキャラクタの多項式である。一方、図ICのシ フトされたコードワードは以下のコードワード多項式に対応する。
(4) C−(x) −x R(x) +x’ L (x) +P (x)まと めると、R(x)は、図1aにおいてはX からxllまでの12個の係数で構 成されていたが、図1cにおいてはX からX254までの12個の係数によっ て構成されている。勿論、コードワードの長さは28がら255へ増加している 。この結果、図1bのエンコーダはメツセージバイト120,125そして10 0が順にエンコーダを通じてシフトされてパリティチェックバイトを計算できる のだが、227個のシフトが余分にエンコーダに要求され、さらに符号化工程に おいて許容できない時間遅延をも伴う。比較をしてみると、もしパリティチェッ クキャラクタ−10が中央ではなく、図1aにおいてコードワードの右端に位置 していれば、図1bのエンコーダは僅か24個のシフトでパリティチェックキャ ラクタを計算できるであろう。本発明の目的は、余分な227個のシフトをする ことなしに、図10のコードワードを符号化することができるバイト直列エンコ ーダを提供することにある。
本発明による直列エンコーダは図2に示されている。図2のエンコーダの一方の 入力端200は多項式L (x)の係数を受け取り、他方の入力端210は多項 式R(x)の係数を受け取る。入力端200は図1bの直列エンコーダのように 4個の直列ステージに結合している。図2の直列エンコーダのそれぞれのステー ジは8ビツトのガロア体加算器230と8ビツトのレジスタ235とから構成さ れている。図1bと同様に、230aから230dまでのそれぞれの加算器は最 終段の加算器230eからのフィードバックを、それぞれの乗算器240を通し て受け取る。このそれぞれの乗算器240は、フィードバックされてくる値とコ ード生成多項式のそれぞれの係数のうち1つとを乗算する。
第2のエンコーダ入力端210に受け取られる右手側の多項式のそれぞれの係数 は、個々の乗算器245によって特別なシフト多項式h (x)の係数のうちそ れぞれ1つと乗算される。この特別なシフト多項式は、図1cのコードワードの 左端までR(x)をシフトする代数的シフト要素によってコードワード生成多項 式を除算した余りである。上に詳しく述べた例においては、代数的シフト要素は X243であった。等式(1)と(2)とを結び付けて上に述べたように、特別 なシフト多項式h (x)は等式(2)で与えられる。245aから245dま での乗算器は、R(x)のそれぞれのキャラクタ−をh (x)の係数α22、 α246、α 、そしてα113とをそれぞれ乗算する。これは図2に示した通 りである。
R(x)の12個の係数とL (x)の12個の係数とは、同時に入力端210 .200のそれぞれ一方に、一度に1キヤラクタずつ入力される。図2のエンコ ーダがR(x)とL (x)との全ての係数をエンコーダの中にシフトするため に12回のシフトを行った後、それぞれのシフトレジスタ235は図10のシフ トされたコードワードに付加されるべき4個のパリティチェックキャラクタのう ち1つをそれぞれ保持している。
R(x)とh (x)との乗算は、等式(4)のR(x)とX243との乗算に 置き代わることを示すことができる。等式(4)のL (x)とx4との乗算は 、単に、最高次のステージ(加算器230e)の内容を、図2のg (X)乗算 器240a−dによる乗算に先立って、L(x)(入力端200における)に加 算することによって達成される。一方、R(x)(入力端210における)は、 h (x)乗算器245a−dに直接結合し、そこから4個の最低次のステージ の加算器230a−dに結合している。
まとめると、図2のエンコーダは、R(x)とh (x)とを乗算し、L (x )とx4とを乗算し、それぞれの積の和をg(x)’(コード生成多項式)で除 算し、その余りを保持する線形フィードバックレジスタである。
R(x)とh (x)との乗算は、以下のように、正しいものであることが分る 。
上述したPetersonとWeldonの368頁に指摘されているように、 長さSであるOの長いストリングを有するコードワードを復号化する際に、復号 化に先立って、受は取られたコードワードとx/g(x)とを乗算することは計 算の簡略化に役立つ。同様のアプローチが図2のエンコーダに示されている。
もし右手側のメツセージキャラクタ多項式R(x)が、x243/g(x)の余 りすなわちす、(x)と乗算されるならば、エンコーダを通じて227個の0の 長いストリングをシフトすることは不要となり得る。h (x)と乗算すること はX243と乗算することと等価である。何故ならば、(5) (X243R( x)/g (x)lの余り −([(x”43/g (x))] /g (x) lの余りだからである。しかしながら、h (x)の定義から、等式(5)の右 辺の表現は、 (h(x)R(x)/g (x))の余りとすることができる。h (x) R (x)の積は、図2のエンコーダの乗算器245a−dの出力において得られ、 g (X)による除算は、それぞれの乗算器254の出力が、レジスタ235を 通じてシフトされることによって達成される。
従来、h (x)の係数を表現するのに必要な乗算器245の数は、g (x) の係数を表現するのに必要な乗算器240の数と同数である。このことは、本文 において述べられたコンパクトオーディオディスクシステムにおいて用いられる コード生成多項式の場合だけてなく、パリティチェックキャラクタを中間のシン ボル位置に有する任意の巡回コードに対しても同様のことが言える。上述した等 式(1)において、g (X)の係数は、先頭の係数(すなわちXの最高次のべ き乗)が「1」になるように、好適に正規化される。このように、左の入力20 0におけるL (x)はワイヤー(すなわち「1」との乗算に相当する)を通じ て最高次の加算器230eに結合している。これによって、g (X)の係数を 表現するのに必要な乗算器240の数は、g (x)の次数である4にまで減ら すことができる。h (x)の次数はg (x)より1つ常に少ない。そのため 、g (x)とh(X)との係数を表現する乗算器の数は、本発明の好適な実施 例においては同数となっている。図2の具体例においては、h (x)のx4の 係数は0である。0の係数は、図2においては、x4に対応する加算器230e とR(x)(入力210における)との間に接続が何らなされていないことによ り実現されている。
直列インターリーブと符号化システム 図2の直列エンコーダは、その中間シンボル位置にパリティチェックキャラクタ を有するコードワードを直列に符号化及び処理することができる。たとえば、業 界標準のコンパクトオーディオディスク記録システムのサブシステムのインター リーブと符号化は、上に述べたオカダ等の米国特許に開示されている並列方式か ら、図3に示されている直列バイト処理システムに変換することができる。図3 の直列システムは、オカダ等の米国特許に開示されている並列方式より、少なく とも9.8倍速いデータの記録速度をもたらす。
今参照した図3によれば、直列インターリーブ及び符号化のシステムは、オカダ 等の米国特許に開示されているデータの形式、業界標準のコンパクトオーディオ ディスクシステムに用いられるデータ形式に従って記録するデータを生成する。
このシステムは第1の直列インターリーバ300を有する。このインターリーバ 300は、オカダ等の第4,413.340号米固持許の図IAに示されている 並列インターリーバ1のクロスオーバーと時間遅延のパターンに従って入力する ユーザのデータをインターリーブする。しかしながら、オカダ等の米国特許の並 列インターリーバとは異なり、直列インターリーバ300はデータを一度に1バ イトずつ受け取りそして出力する。オカダ等の米国特許の図IAのインターリー バ1の左(入力)側の一番上に図示されている入力バイトから、その一番下に図 示されているバイトに至るまで、24個のユーザバイトのそれぞれは、図3の直 列インターリーバ300の入力300aに一度に1バイトずつ受け取られる。オ カダ等の米国特許の図IAのインターリーバ1の右(出力)側の一番上に図示さ れている出力バイトから、その一番下に図示されているバイトに至るまで、直列 インターリーバ300は24個のインターリーブされたバイトのブロックを一度 にその出力300bから送出する。図3の直列インターリーバの構造は以下に後 述される。
外部直列エンコーダ310は図2の直列エンコーダである。直列エンコーダ31 0は、図IAに示されているタイプのコードワードに対してパリティチェックキ ャラクタを生成する。直列エンコーダ310は、直列インターリーバ300から 24このインターリーブされたバイトの1ブロツクを一度に1バイトずつ受け取 り、これらのバイトを出力310aに沿って第2の直列インターリーバ320に 渡す。そのとき、4個のパリティチェックキャラクタもその出力310aから送 出される。オカダ等の米国特許によれば、この機能は、その図IAの符号器8に よって並列に実行される。図3のシステムの直列エンコーダ310の細部につい ては以下に後述される。
第2の直列インターリーバ320は、オカダ等の第4,413,340号米固持 許の図IBに示される並列インターリーバ9のクロスオーバーと時間遅延のパタ ーンに基づいた、外部直列エンコーダ310からの28バイトのコードワードを インターリーブする。しかしながら、オカダ等の米国特許の並列インターリーバ とは異なり、直列インターリーバ320は一度に1バイトずつデータを受け取り そして出力する。オカダ等の米国特許の図IBに示されるインターリーバ9の左 (入力)側の一番上に図示される入力バイトから、その一番下に図示されるバイ トに至るまで、28個のバイトからなるそれぞれのコードワードは、図3の直列 インターリーバ320の入力320aに一度に1バイトずつ受け取られる。オカ ダ等の米国特許の図IBに示されるインターリーバ9の右(出力)側の一番上に 図示されている出力バイトから、その一番下に図示されているバイトまで、直列 インターリーバ320は、その出力320bから28個のインターリーブされた バイトからなる1ブロツクを一度に送出する。図3の直列インターリーバ320 の構造は以下に後述される。
内部直列エンコーダ330は、その入力330aにおいて、第2の直列インター リーバ320からのインターリーブされた外部コードワードを受け取る。内部直 列エンコーダ330は、オカダ等の第4,413,340号米固持許の図IBに 示される符号器10によって並列に実行される機能を達成している。この機能は 、パリティチェックキャラクタがコードワードの端部に位置するシステム的コー ドに従って、それぞれの28バイトの入力ブロックを符号化することである。
そのようなシステム的コードにおいては中間シンボル位置にパリティキャラクタ がないため、従来の直列エンコーダでも十分にその機能を達成することができる 。
従って、図3の直列符号化システムにおいては、直列エンコーダ330は、従来 良く知られた形のリード−ソロモン直列エンコーダである。このエンコーダは例 えば、上述したW、W、PetersonとE、J、 We 1don、J r 、に記載されている。従来の直列エンコーダ330は、上述したオカダ等の米国 特許の図IBに示されている符号器10と関連して説明されているリード−ソロ モン符号を採用している。符号化される28バイトのそれぞれのブロックは直列 エンコーダ330の入力330aに一度に受け取られる。それらは、直列エンコ ーダ330によって一度に1バイトずつ計算される4個のパリティチェ・ツクキ ャラクタを後に付加されて、エンコーダの出力330bから送出される。
第3の直列インターリーバ340は、オカダ等の第4,413,340号米固持 許の図IBに示される並列インターリーバ11のクロスオーツくと時間遅延のノ 々ターンに従った、内部直列エンコーダ330からの32バイトのコードワード をインターリーブする。しかしながら、オカダ等の米国特許の並列インターリ− /くとは異なり、直列インターリーバ340は一度の1バイトずつデータを受け 取りそして出力する。オカダ等の米国特許の図IBのインターリ−7(]1の左 (入力)側の一番上に図示されている入力バイトから、その一番下に図示されて いるノくイトまで、32バイトのそれぞれのコードワードは図3の直列インター リ−ツク340の入力340aに一度に1バイトずつ受け取られる。オカダ等の 米国特許の図IBのインターリーバ]1の右(出力)側の一番上に図示されてい る出力!・イトから、その一番下に図示されているバイトまで、直列インターリ ノく340は、その出力340bから32個のインターリーブされたバイトの1 ブロツクを一度に1バイトずつ出力する。図3の直列インターリノく340の構 造は以下に後述される。
第3の直列インターリーバの出力340bは、8−14ビツトのチャネルエンコ ーダ350に接続している。このチャネルエンコーダ350は図3には示されて いない記録回路によって処理されるデータを生成する。
2人力外部直列エンコーダ310の好適な実施例が図4に示されている。これは 図2に示されているごく一般的な2人力のエンコーダを適用したものである。
図4に記しであるように、全てのデータラインは8ビツト幅であり、全ての制御 線とクロックラインは1ビツトの幅である。図2のそれぞれの加算器230は、 図4において8ビツトのEX−ORゲート430を用いている。図2のそれぞれ のレジスタ235は、図4においては8ビツトのフリップ−フロップレジスタ4 35を用いている。図2のそれぞれの乗算器240は、図4においては読出し専 用メモリ(ROM)440を用いている。このメモリは、周知の方法で、コード 生成多項式g (X)の対応する係数と8ビツトの入力とのガロア体上での積が 8ビツトの出力となるようにプログラムされている。図2のそれぞれの乗算器2 45は、図4においては読出し専用メモリ(ROM)445が用いられている。
このメモリの8ビツトのアドレス入力は乗算器に対する入力であり、その8と・ ノドのデータ出力は乗算器の出力である。それぞれのROM445は、周知の方 法で、特別なシフト多項式h (x)のそれぞれ対応する係数と8ビツトの入力 とのガロア体上での積が8ビツトのデータ出力となるようにプログラムされてい る。
第1の直列インターリーバの出力300bから出力されるバイトの交互にやって くる1は、左手側のメツセージ多項式L (x)の係数として取扱われ、残りの 1は右手側のメツセージ多項式R(x)の係数として取扱われる。この目的のた めに、第1のインターリーバの出力300b (すなわち図4のエンコーダにと っての入力)は、多項式R(x)とL (x)とに関連する入力バイトを制御す るそれぞれ2つの入力レジスタ450Rと45OLとに接続している。入力バイ トは、クロック信号CLK−L−INとCLK−R−INとにそれぞれ同期して 、入力レジスタ450Lと45ORとに交互に保持される。L (x)のそれぞ れのバイトが入力レジスタ450Lに受け取られると、それは最高次の加算器4 30eに接続している「左」のエンコーダ入力400に現れる。また、クロック 信号CLK−L−OUTと同期して、8ビツトの3ステートバツフア460を通 じてこのエンコーダの出力(第2のインターリーバの入力310に接続している )にも現れる。同様にして、R(x)のそれぞれのバイトが入力レジスタ450 Rに受け取られると、それは「右」エンコーダの入力410に現れ、またクロッ ク信号CLK−R−OUTと同期して、レジスタ450Rによってこのエンコー ダの出力にも現れる。左側のエンコーダ人力400はg (x)乗算器であるR OM440の入力に接続され、一方布側のエンコーダ人力はh (x)の乗算器 であるROM445の入力に接続されている。L (x)のバイトが左側の入力 400に送られ、R(x)のバイトが右側の入力410に送られるとすぐに、全 てのレジスタ435a−dにクロックが入り、このクロック信号CLK−3HI FTと同期して、エンコーダを通じ左から右へ1ステージバイトシフトする。上 の演算は12回繰り返される(図1aと関連して上述したリード−ソロモン(2 8,24)コードの場合)。すると、L (x)とR(x)との全てのバイトが 図4のエンコーダに入力する。そして、乗算器である全てのROM440と44 5の出力はクロック信号CLK−OUTによってディスエイプルされる。すなわ ち、このエンコーダの内部ではもはや乗算は行われず、レジスタ435a−dの 内容が、クロック信号CLK−9HIFTと同期して左から右にシフトされ、3 ステート出力バツフア470を通じてこのエンコーダの外部に出力される。この 3スヂートエンコーダ出力バツフアはこの目的のためにクロック信号CLK−O UTによってイネイブルされる。
図4のエンコーダの点線で囲まれた部分、すなわち加算器430と、レジスタ4 35と、3ステート出力バツフア460と470とは、慣用的に、プログラマブ ルロジソクアレイPAL 16R4A−4CNSTDを用いて構成される。
それぞれの直列インターリーバは、図5に示されているようなごく一般的な構造 を用いて構成されている。インターリーブは、ランダムアクセスメモリ(RAM )500の個別のメモリ位買に第1の順番に従って入力バイトを書き込み、それ から第2の順番に従ってそれらを読み出す。この第2の順番は、第1の順番に対 してスクランブルされた順番となるように予め定められている。このスクランブ ルは、それぞれのインターリーブの方策、例えば本文において上述したことや上 述したオカダ等の米国特許に記載されている方法によって定義される。そして、 RAM500のアドレス入力500aに接続されているROM510をプログラ ムすることによって具体的に定義される。ハイドが同期するクロック発生器52 0は、8ビツトのアップカウンタ530を駆動し、このカウンタの出力はROM 510のアドレス入力に接続している。バイトがインターリーバに受け取られる と、アップカウンタ530は単調に増加するカウントバイトの列をROM510 に送出する。アップカウンタ530はクロック発生器520と同期してカウント アツプをする。それぞれのカウントバイトはROM510に、単一のアドレスバ イトをRAM500に送出させる。この単一のアドレスバイトは、現在入力して いるデータバイトを書き込む単一のアドレスを指定する。ROM510によって 生成されるアドレスの進行は、それぞれの直列インターリーバ300,320と 340によって異なって定義されている。そしてそのアドレスの進行は、アップ カウンタ530によって生成されるカウントバイトの単一な進行(増加)に対し てスクランブルされた順番となっている。現在のブロックの全てのバイトがRA M500に書き込まれた後、RAMのアドレス入力の制御はアップカウンタ53 0に引き継がれ、メモリアドレスの単調に増加する順番で、バイトがRAM50 0から読み出される。この目的のために、RAMのアドレス入力は、ROM51 0とアップカウンタ530の出力に、それぞれ8ビツトのゲート540と550 を介して接続されている。ゲート540と550は、クロック信号CLK WR ITEとCLK READとによってそれぞれ制御されている。この2つのクロ ック信号は、RAM500のデータの書込みと読出しのそれぞれの場合において 、対応するゲートをイネイブルする。
図3の第1のインターリーバ300は、図5の構造の一変形で構成される。ここ においてROM510は、付録Aのテーブルの従ってプログラムされている。
ROM510によって生成されるそれぞれのアドレスバイトに対して、付録Aは アドレスバイトの送出を促すアップカウンタ530からの係数値を表に掲げてい る。図3の第2のインターリーバ320は、図5の構造のやはり一変形で構成さ れている。この場合、ROM510は付録Bの表に従ってプログラムされている 。
ROM510によって生成されるそれぞれのアドレスバイトに対して、付録Bは 、アドレスバイトの送出を促すアップカウンタ530からの係数値を表に記載し ている。第3のインターリーバ340も同様に図5の構造の一変形で構成されて いる。この場合、ROM510は付録Cのテーブルに従ってプログラムされてい る。
ROM510によって送出されるそれぞれのアドレスバイトに対して、付録Cは アドレスバイトの送出を促すアップカウンタからの係数値を表に載せている。
本発明は、コードワードの中央にパリティキャラクタのシンボル位置を有する非 システム的なR3(訳注、リード−ソロモン)(28,24)コードとの関連で 説明してきたが、パリティキャラクタをさまざまな中間シンボル位置に有する他 の非システム的なコードに対しても、簡単な修正を加えた実施例が適用可能であ る。
本発明は、その好適な実施例を明確に述べることによって発明の詳細な説明して きたが、この変形や修正は、本発明の真の思想と範囲とから分離されずになされ 得ることが理解されよう。
FIG、 5 要約帯 インターリーブされた巡回エラー訂正コードによって2進数データを符号化する ことは、例えばコンパクトオーディオディスク規格に採用されている。このコー ドは、パリティキャラクタがそのコードワードの中間に位置しており、直列エン コーダによって符号化することにより、そのようなデータを記録するスピードを 大幅に向上させることができる。本発明においては、メツセージキャラクタは2 つの多項式として取扱われる。それらは、左手側のサブコードワードすなわちパ リティキャラクタの左側に存在するメツセージキャラクタ−を表すメツセージブ ロックと、右手側のサブコードワードすなわちパリティキャラクタの右側に存在 するメツセージキャラクタを表すメツセージブロックの2つである。本発明によ るエンコーダは2つの並列入力を持つ。それらの入力は、右手側と左手側のサブ コードワードのメツセージキャラクタをそれぞれ同期して受け取る。また、それ らの入力はいわば直列的に一度に1キヤラクタずつ受け取る。このエンコーダは 直列レジスタである。この直列レジスタの各ステージは、先行するステージの内 容と、(a)左手側のサブコードワードの現在のキャラクタ−とコード生成多項 式のそれぞれの係数とを乗算した結果である積と、(b)左手側のサブコードワ ードの現在のキャラクタと代数的シフト要素をコード生成多項式で除算した剰余 のそれぞれの係数とを乗算した結果である積と、以上の和を受け取る。この代数 的シフト要素の次数は巡回エラー訂正コードからサブコードワードの長さを引い た数に等しい。
国際膿査磐失 1mm、、、、−I AAllllldal、−PCT/US 9110105 6

Claims (12)

    【特許請求の範囲】
  1. 1.コード生成多項式g(x)のコードワードの中の第1と第2のメッセージブ ロックの間の中間シンボル位置に存在するパリティキャラクタを生成する直列シ フトエンコーダであって、以下のものを含む:第1メッセージブロックの連続し たキャラクタとg(x)の対応する係数とを乗算した結果である第1の積を生成 する第1の手段;第2のメッセージブロックの連続したキャラクタと代数的シフ ト要素xnをg(x)で除算した余りであるh(x)の対応する係数との乗算の 結果である第2の積を生成する手段であって、前記代数的シフト要素xnの次数 nは、巡回エラー訂正コードの長さから前記右手側のメッセージブロックの長さ を引いた値である第2の手段; 加算器群を有し、前記加算器群の対応する1つ1つの中に、以下の(a)、(b )、(c)の和を求め、それぞれの加算器の中に生成された和を前記加算器群の 中の後続する加算器に直列にシフトして送出する第3の手段。 (a)前記加算器群の中の先行する加算器の内容。 (b)前記第1の積の対応する1つ。 (c)前記第2の積の対応するそれぞれの1つ。
  2. 2.請求項1記載のエンコーダであって、前記加算器の連続した1つ1つに累積 された積がg(x)とh(x)とそれらより1つ次数の高いxのべき乗との各係 数に対応しているエンコーダ。
  3. 3.前記第1と第2のメッセージブロックが、コードワード多項式の高次と低次 のそれぞれ係数である請求項2記載のエンコーダであって、さらに以下のものを 有する: 前記第1のメッセージブロックの前記連続したキャラクタと第2の代数的シフト 要素xnとを乗算する手段であって、mは前記コードワードの前記第1と第2の メッセージブロックの間に位置するパリティキャラクタの数に等しい乗算手段。
  4. 4.請求項3記載のエンコーダであって、前記第1のメッセージブロックと前記 第2のシフト要素とを乗算する手段が、前記第1のメッセージブロックの前記連 続したキャラクタを、前記加算器群のxの最高次数に対する加算器の内容に加算 する手段、を有するエンコーダ。
  5. 5.請求項4記載のエンコーダであって、前記量高次の加算器に対応するg(x )の量高次の係数が1であり、前記最高次の加算器に対応するh(x)の前記係 数がOであるエンコーダ。
  6. 6.請求項5記載のエンコーダであって、前記第1のメッセージブロックの連続 した前記キャラクタが、乗算されずに、前記最高次の加算手段に直接送出され、 前記第2のメッセージブロックの連続したキャラクタが前記最高次の加算手段に 接続されていないエンコーダ。
  7. 7.コード生成多項式g(x)のコードワードの中の第1と第2のメッセージブ ロックの間の中間シンボル位置に存在するパリティキャラクタを生成する方法で あって、以下の工程を含む: 第1メッセージブロックの連続したキャラクタとg(x)の対応する係数とを乗 算した結果である第1の積を生成する第1の工程;第2のメッセージブロックの 連続したキャラクタと代数的シフト要素xnをg(x)で除算した余りであるh (x)の対応する係数との乗算の結果である第2の積を生成する工程であって、 ここで、前記代数的シフト要素xnの次数nは、巡回エラー訂正コードの長さか ら前記右手側のメッセージブロックの長さを引いた値である第2の工程; 加算器群の対応する1つ1つの中に、以下の(a)、(b)、(c)の和を求め 、それぞれの加算器の中に生成された和を前記加算器群の中で後続する加算器に 直列にシフトして送出する第3の行程。 (a)前記加算器群の中の先行する加算器の内容。 (b)前記第1の積の対応する1つ。 (c)前記第2の積の対応するそれぞれの1つ。
  8. 8.請求項7記載の方法であって、 前記加算器の連続した1つ1つに累積された積がg(x)とh(x)とそれらよ り1つ次数の高いxのべき乗との各係数に対応している方法。
  9. 9.前記第1と第2のメッセージブロックが、コードワード多項式の高次と低次 のそれぞれ係数である請求項7記載の方法であって、さらに以下の工程を有する ;前記第1のメッセージブロックの前記連続したキャラクタと第2の代数的シフ ト要素xnとを乗算する工程であって、mは前記コードワードの前記第1と第2 のメッセージブロックの間に位置するパリティキャラクタの数に等しい乗算工程 。
  10. 10.請求項9記載の方法であって、前記第1のメッセージブロックと前記第2 のシフト要素とを乗算する行程が、前記第1のメッセージブロックの前記連続し たキャラクタを、前記加算器群のxの最高次数に対する加算器の内容に加算する 行程、を有する方法。
  11. 11.請求項10記載の方法であって、前記最高次の加算器に対応するg(x) の最高次の係数が1であり、前記最高次の加算器に対応するh(x)の前記係数 が0である方法。
  12. 12.請求項11記載の方法であって、前記第1の工程において、前記第1のメ ッセージブロックのキャラクタが、前記最高次の加算器に、乗算されずに、送出 され、前記第2の肯定において、前記第2のメッセージブロックのキャラクタが 、前記最高次の加算器と、分離される方法。
JP3505234A 1990-02-20 1991-02-19 非システム的コード用高速エンコーダ Pending JPH04505545A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/481,427 US5140596A (en) 1990-02-20 1990-02-20 High speed encoder for non-systematic codes
US481,427 1990-02-20

Publications (1)

Publication Number Publication Date
JPH04505545A true JPH04505545A (ja) 1992-09-24

Family

ID=23911901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3505234A Pending JPH04505545A (ja) 1990-02-20 1991-02-19 非システム的コード用高速エンコーダ

Country Status (4)

Country Link
US (1) US5140596A (ja)
EP (1) EP0469131A1 (ja)
JP (1) JPH04505545A (ja)
WO (1) WO1991013437A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9100218A (nl) * 1991-02-07 1992-09-01 Philips Nv Encodeer/decodeer-schakeling, alsmede digitaal video-systeem voorzien van de schakeling.
JP2605966B2 (ja) * 1993-02-12 1997-04-30 日本電気株式会社 誤り訂正回路
US5699368A (en) * 1994-03-25 1997-12-16 Mitsubishi Denki Kabushiki Kaisha Error-correcting encoder, error-correcting decoder, and data transmitting system with error-correcting codes
US5912905A (en) * 1994-03-25 1999-06-15 Mitsubishi Denki Kabushiki Kaisha Error-correcting encoder, error-correcting decoder and data transmitting system with error-correcting codes
US5778011A (en) * 1995-06-07 1998-07-07 International Business Machines Corporation Method and apparatus for writing and protecting against random and cluster errors in image blocks
US5757826A (en) * 1995-07-12 1998-05-26 Quantum Corporation Word-wise processing for reed-solomon codes
EP0806839B1 (en) * 1995-10-03 2002-01-30 Matsushita Electric Industrial Co., Ltd. Device and method for error correcting coding, and device and method for error correcting decoding
US6349138B1 (en) * 1996-06-14 2002-02-19 Lucent Technologies Inc. Method and apparatus for digital transmission incorporating scrambling and forward error correction while preventing bit error spreading associated with descrambling
US5889792A (en) * 1996-10-01 1999-03-30 Intel Corporation Method and apparatus for generating syndromes associated with a block of data that employs re-encoding the block of data
GB2321374A (en) * 1997-01-21 1998-07-22 Ico Services Ltd Spread spectrum satellite communication
US6173429B1 (en) * 1997-03-14 2001-01-09 Harris Corporation Apparatus for providing error correction data in a digital data transfer system
US6324668B1 (en) * 1998-06-30 2001-11-27 Motorola, Inc. Method, communication system, phone, and radio transmitter utilizing nonsystematically shortened code encoder and decoder
GB9814960D0 (en) * 1998-07-10 1998-09-09 Koninkl Philips Electronics Nv Coding device and communication system using the same
ATE202244T1 (de) * 1998-10-20 2001-06-15 Dig Microcode Gmbh Verfahren und anordnung zum erzeugen von fehlergesicherten datenblöcken durch erzeugen von paritätsworten und datenträger mit gemäss dem verfahren erzeugten datenblöcken
JP4031136B2 (ja) * 1999-01-14 2008-01-09 株式会社東芝 符号化・復号化装置及びディスク記憶装置
US6598201B1 (en) * 1999-03-15 2003-07-22 Texas Instruments Incorporated Error coding structure and method
KR20010081335A (ko) * 2000-02-12 2001-08-29 구자홍 차세대 고밀도 기록 매체를 위한 디지털 데이터의 오류정정 부호화 방법
US6694476B1 (en) 2000-06-02 2004-02-17 Vitesse Semiconductor Corporation Reed-solomon encoder and decoder
US6738942B1 (en) 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
US6978415B1 (en) * 2001-11-27 2005-12-20 Maxtor Corporation Variable redundancy cyclic code encoders
WO2003085838A1 (fr) * 2002-04-05 2003-10-16 Sony Corporation Dispositif et procede d'entrelacement, dispositif et procede de desentrelacement
US7509556B2 (en) 2003-11-20 2009-03-24 Seagate Technology Llc Method and apparatus for combining output of different type interleavers based on an input data sequence to obtain a combined output
US7188297B2 (en) * 2004-08-12 2007-03-06 Motorola, Inc. Method and apparatus for encoding and decoding data
TWI272778B (en) * 2004-08-19 2007-02-01 Mediatek Inc Method and apparatus for generating parity characters for a codeword of a cyclic code
WO2008007846A1 (en) * 2006-07-11 2008-01-17 Lg Electronics Inc. Channel equarlizing method and apparatus, and receiving system
US20080140740A1 (en) * 2006-12-08 2008-06-12 Agere Systems Inc. Systems and methods for processing data sets in parallel
US8286059B1 (en) 2007-01-08 2012-10-09 Marvell International Ltd. Word-serial cyclic code encoder
TWI374613B (en) 2008-02-29 2012-10-11 Ind Tech Res Inst Method and apparatus of pre-encoding and pre-decoding
US8479082B2 (en) * 2010-04-07 2013-07-02 Indian Institute Of Technology Delhi Packet error correction in networks
WO2013038464A1 (en) * 2011-09-16 2013-03-21 Hitachi, Ltd. Multi-stage encoding and decoding of bch codes for flash memories
US9065482B1 (en) * 2013-03-13 2015-06-23 Xilinx, Inc. Circuit for forward error correction encoding of data blocks

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53142105A (en) * 1977-05-18 1978-12-11 Sony Corp Code transmission system
JPS574629A (en) * 1980-05-21 1982-01-11 Sony Corp Data transmitting method capable of correction of error
NL8300249A (nl) * 1983-01-25 1984-08-16 Philips Nv Werkwijze met foutkorrektie voor het overdragen van woordsgewijs gerangschikte data en inrichtingen voor het uitvoeren van de werkwijze.
US4488302A (en) * 1983-02-11 1984-12-11 At&T Bell Laboratories Burst error correction using cyclic block codes
JPS6029073A (ja) * 1983-06-17 1985-02-14 Hitachi Ltd ディジタル信号構成方式
US4677622A (en) * 1983-06-22 1987-06-30 Hitachi, Ltd. Error correction method and system
EP0136587B1 (en) * 1983-09-06 1991-04-17 Kabushiki Kaisha Toshiba Error correction circuit
EP0188627B1 (en) * 1984-07-21 1990-10-10 Sony Corporation Apparatus for recording and/or reproducing optical cards
JPH07111815B2 (ja) * 1984-07-23 1995-11-29 株式会社日立製作所 デイジタル信号記録方式
US4777635A (en) * 1986-08-08 1988-10-11 Data Systems Technology Corp. Reed-Solomon code encoder and syndrome generator circuit
JPS63193723A (ja) * 1987-02-06 1988-08-11 Sony Corp リ−ドソロモン符号の復号方法
US4949342A (en) * 1987-04-14 1990-08-14 Matsushita Electric Industrial Co., Ltd. Code error detecting method
US4907233A (en) * 1988-05-18 1990-03-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration VLSI single-chip (255,223) Reed-Solomon encoder with interleaver
US5027357A (en) * 1988-10-14 1991-06-25 Advanced Micro Devices, Inc. ECC/CRC error detection and correction system

Also Published As

Publication number Publication date
US5140596A (en) 1992-08-18
WO1991013437A1 (en) 1991-09-05
EP0469131A1 (en) 1992-02-05

Similar Documents

Publication Publication Date Title
JPH04505545A (ja) 非システム的コード用高速エンコーダ
US4856003A (en) Error correction code encoder
US5383204A (en) Parallel encoding apparatus and method implementing cyclic redundancy check and Reed-Solomon codes
US6275965B1 (en) Method and apparatus for efficient error detection and correction in long byte strings using generalized, integrated, interleaved reed-solomon codewords
US5946328A (en) Method and means for efficient error detection and correction in long byte strings using integrated interleaved Reed-Solomon codewords
US4777635A (en) Reed-Solomon code encoder and syndrome generator circuit
US5537429A (en) Error-correcting method and decoder using the same
US4703485A (en) Method and apparatus for computing and implementing error detection check bytes
US6504493B1 (en) Method and apparatus for encoding/decoding data
JPS6273336A (ja) マルチバイト・エラ−訂正方法及びシステム
JPH01119120A (ja) エンコード装置及び方法
KR20060135451A (ko) 저밀도 패리티 검사 행렬 부호화 방법 및 장치
JP3645809B2 (ja) 光ディスク記憶装置の符号化/復号化システム
KR101211244B1 (ko) 모듈레이션 코딩 및 디코딩
JP3764453B2 (ja) エラー訂正のための符号化装置及び方法と復号化装置及び方法
US5268908A (en) Low data delay triple coverage code apparatus for on-the-fly error correction
JPS6356022A (ja) デイジタル記録再生装置
JP3283130B2 (ja) ディジタルデータ符号化及び復号化方法並びにこれらの方法を実施するための装置
KR100464228B1 (ko) 디지탈정보신호의송신및수신장치및그의송신방법
EP1695350B1 (en) Data storage system
US4298981A (en) Decoding shortened cyclic block codes
JP4126795B2 (ja) 疑似積符号復号装置及び方法
JP2000187948A (ja) 誤り訂正符号化/復号化方式及び誤り訂正符号化/復号化装置
KR100552674B1 (ko) 병렬 리드솔로몬 부호화 장치
JP4488466B2 (ja) データの符号化および復号のための装置および方法