(57)【要約】本発明のさまざまな実施形態は、情報を処理するためのシステムおよび方法を実現する。例えば、デ−インタリーバを備える復号化システムが開示されている。デ−インタリーバは、一緒にインタリーブされた２つ以上の縮小コードワードを含むインタリーブ・コードワードを受信するように動作可能である。さらに、デ−インタリーバは、２つ以上の縮小コードワードの表現を形成するように動作可能である。システムは、さらに、２つ以上の縮小コードワードを復号化するように動作可能なデコーダも備える。前述の実施形態のいくつかの例において、デコーダは、２つ以上の縮小コードワードのうちの一方または両方のサイズに合わせて手直しされたＬＤＰＣデコーダである。
2010541375.tif 000002
【特許請求の範囲】
【請求項１】
一緒にインタリーブがなされる２つ以上の縮小コードワードを含むインタリーブ・コードワードを受信するように動作可能であり、前記２つ以上の縮小コードワードの表現を形成するように動作可能であるデ−インタリーバと、
前記２つ以上の縮小コードワードを復号化するように動作可能であるデコーダとを備える復号化システム。
【請求項２】
前記デコーダは、ＬＤＰＣデコーダである請求項１に記載の復号化システム。
【請求項３】
前記ＬＤＰＣデコーダの複雑さは、前記２つ以上の縮小コードワードのうちの１つのサイズに合わせて手直しされる請求項２に記載の復号化システム。
【請求項４】
前記ＬＤＰＣデコーダの複雑さによって、前記インタリーブ・コードワードの長さのコードワードを復号化することをできなくなる請求項３に記載の復号化システム。
【請求項５】
前記２つ以上の縮小コードワードは、それぞれの縮小コードワード行列に対応し、前記インタリーブ・コードワードは、インタリーブ・コードワード行列に対応し、それぞれの縮小コードワード行列の列重みは、前記インタリーブ・コードワード行列の対応する列の前記列重みと同じである請求項１に記載の復号化システム。
【請求項６】
前記インタリーブ・コードワード行列は、第１の数の列と第１の数の行を含み、前記それぞれのコードワード行列のうちの少なくとも１つは、第２の数の列と第２の数の行を含み、前記第２の列数は、前記第１の列数より小さく、前記第２の行数は、前記第１の行数より小さい請求項５に記載の復号化システム。
【請求項７】
前記インタリーブ・コードワード行列は、第１の数の列と第１の数の行を含み、前記それぞれのコードワード行列のうちの少なくとも１つは、第２の数の列と第２の数の行を含み、前記第２の列数は、前記第１の列数より小さく、前記第２の行数は、前記第１の行数より小さく、前記第２の列数は、前記第１の列数をある整数値で除算した値であり、前記第２の行数は、前記第１の行数を前記整数値で除算した値である請求項５に記載の復号化システム。
【請求項８】
前記インタリーブ・コードワード行列は、第１の数の列と第１の数の行を含み、前記２つ以上の縮小コードワード行列のうちの少なくとも１つは、第２の数の列と第２の数の行を含み、前記第２の列数は、前記第１の列数より小さく、前記第２の行数は、前記第１の行数より小さく、前記第２の列数は、前記第１の列数を２の累乗で除算した値であり、前記第２の行数は、前記第１の行数を前記２の累乗で除算した値である請求項５に記載の復号化システム。
【請求項９】
前記インタリーブ・コードワード行列は、列毎に一緒にインタリーブされた前記２つ以上の縮小コードワード行列を含む請求項１に記載の復号化システム。
【請求項１０】
前記列毎のインタリーブは、ランダム・インタリーブ、擬似ランダム・インタリーブ、非ランダム・インタリーブからなる群から選択される請求項９に記載の復号化システム。
【請求項１１】
前記２つ以上の縮小コードワード行列の総数は、２の累乗である請求項１に記載の復号化システム。
【請求項１２】
エンコーダおよびインタリーバを備え、前記エンコーダは、第１のパリティを第１のデータ・セットに加え、第２のパリティを第２のデータ・セットに加えるように動作可能であり、前記インタリーバは、前記インタリーブ・コードワードを形成するために前記第１のパリティを含む前記第１のデータ・セットと前記第２のパリティを含む前記第２のデータ・セットをインタリーブするように動作可能である請求項１に記載の復号化システム。
【請求項１３】
入力データ・セットを受信し、少なくとも１つの第１の縮小コードワードおよび第２の縮小コードワードを供給するように動作可能であるエンコーダであって、前記第１の縮小コードワードは、第１のパリティで拡張された前記入力データ・セットの第１の部分を表し、前記第２の縮小コードワードは、第２のパリティで拡張された前記入力データ・セットの第２の部分を表すエンコーダと、
少なくとも前記第１の縮小コードワードと前記第２の縮小コードワードをインタリーブしてインタリーブ・コードワードを形成するように動作可能であるインタリーバと、
前記インタリーブ・コードワードを、ノイズが持ち込まれた前記第１のインタリーブ・コードワードに対応する第２のインタリーブ・コードワードとして転送するデータ転送媒体と、
第２のインタリーブ・コードワードを受信するように動作可能であり、前記第１の縮小コードワードと前記第２の縮小コードワードの表現を形成するように動作可能であるデ−インタリーバと、
前記第１の縮小コードワードおよび前記第２の縮小コードワードと一致するサイズの入力を復号化するように動作可能であるデコーダとを備えるデータ転送システム。
【請求項１４】
前記第１の縮小コードワードは、第１の縮小コードワード行列に対応し、前記第２の縮小コードワードは、第２の縮小コードワード行列に対応し、前記インタリーブ・コードワードは、インタリーブ・コードワード行列に対応する請求項１３に記載のデータ転送システム。
【請求項１５】
前記第１の縮小コードワード行列および前記第２の縮小コードワード行列のそれぞれの列の列重みは、前記インタリーブ・コードワード行列の対応する列の列重みと同じである請求項１４に記載のデータ転送システム。
【請求項１６】
前記エンコーダは、ＬＤＰＣデコーダであり、前記デコーダは、ＬＤＰＣデコーダである請求項１３に記載のデータ転送システム。
【請求項１７】
前記ＬＤＰＣデコーダの複雑さは、前記第１の縮小コードワード行列または前記第２の縮小コードワード行列のうちの１つのサイズに合わせて手直しされる請求項１６に記載のデータ転送システム。
【請求項１８】
前記インタリーブ・コードワードを形成するためにインタリーブされた前記第１の縮小コードワードおよび前記第２の縮小コードワードを含む縮小コードワードの総数は、２の累乗である請求項１３に記載のデータ転送システム。
【請求項１９】
複雑度を低減したデータ処理のための方法であって、
２つ以上の縮小コードワードをインタリーブすることにより生成されたインタリーブ・コードワードを受信することであって、前記２つ以上のインタリーブ・コードワードのうちのそれぞれがデータとパリティの組み合わせを含む、受信することと、
前記インタリーブ・コードワードをデインタリーブして、前記２つ以上の縮小コードワードを生成することと、
前記２つ以上の縮小コードワードのそれぞれを復号化し、前記２つ以上の縮小コードワードのうちのそれぞれのコードワードの前記それぞれのデータが復元されることとを含む複雑度を低減したデータ処理のための方法。
【請求項２０】
さらに、
入力データ・セットを受信することと、
前記入力データ・セットの第１の部分を符号化して、前記２つ以上の縮小コードワードのうちの第１のコードワードを生成することと、
前記入力データ・セットの第２の部分を符号化して、前記２つ以上の縮小コードワードのうちの第２のコードワードを生成することと、
前記２つ以上の縮小コードワード行列をインタリーブして、前記インタリーブ・コードワードを生成することとを含む請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を処理するためのシステムおよび方法に関するものであり、より具体的には、データの符号化および／または復号化を行うためのシステムおよび方法に関するものである。
【背景技術】
【０００２】
多くのシステムが、情報を転送する前に情報を符号化するプロセスと、その後の、転送された情報を復元するために復号化を行うプロセスに依存している。一例として、磁気記憶媒体との間の情報のやり取りは、情報の格納の前に実行される符号化プロセスと磁気記憶媒体へのアクセスの後に実行される復号化プロセスを伴う。他の例として、さまざまな無線伝送システムに、情報が無線で伝送される前に適用される符号化プロセスとその後の、受信された情報に適用される復号化プロセスが含まれる。
【０００３】
図１は、符号化ステージ１１０、復号化ステージ１５０、および転送ステージ１７０を含む例示的なデータ転送システム１００のブロック図を示している。符号化ステージ１１０は、低密度パリティ検査（ＬＤＰＣ）エンコーダ１１５、インタリーブ装置１２５、および記録チャネル／送信機１３５を備える。デコーダ・ステージ１５０は、例えば、最大事後確率アルゴリズム検出器またはソフト出力ビタビ・アルゴリズムのいずれかとしてよい検出器１５５を備える。それに加えて、デコーダ・ステージ１５０は、デ−インタリーバ１６０およびインタリーバ１５７、ならびにＬＤＰＣデコーダ１６５を備える。動作中、ＬＤＰＣ符号化技術を使用してデータを符号化するように動作するＬＤＰＣエンコーダ１１５に対しデータ入力１０３が行われ、符号化された情報は、インタリーバ１２５を使用してインタリーブされる。符号化され、インタリーブされた情報は、データ転送媒体１７０を介して受信される情報を転送するように動作する記録チャネル／送信機１３５によって受信される。検出器１５５は、データ転送媒体１７０からの情報を受信して識別する。識別された情報は、デ−インタリーバ１６０によってデインタリーブされ、ＬＤＰＣデコーダ１６５を使用して復号化される。復号化のプロセスは、インタリーバ１５７を介して付加的な処理を行うために返されるＬＤＰＣデコーダ１６５からのデータで反復される。復号化プロセスが完了すると、復号化された情報がデータ出力１０５として供給される。
【０００４】
例えば、データ転送システム１００が、磁気記憶媒体との間で情報のやり取りを行うために使用される場合、エンコーダ１１５によって使用されるＬＤＰＣ符号の符号長は、高い誤り訂正能力が確実に発揮されるように、一般に磁気記憶媒体のセクタ・サイズに等しい。このように長い符号長である結果、デコーダ・ステージ１５０の実装が複雑なものとなる。このような複雑な実装をとると、効果的な誤り訂正能力が得られるが、多くの場合、商業的に実現可能なものといえない。
【０００５】
したがって、少なくとも前述の理由から、当業では情報を処理するための高度なシステムおよび方法が必要である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願第１１／７５６，７３６号
【非特許文献】
【０００７】
【非特許文献１】Ｚｈｏｎｇら、「Ｑｕａｓｉ−Ｃｙｃｌｉｃ  ＬＤＰＣ  Ｃｏｄｅｓ  ｆｏｒ  ｔｈｅ  Ｍａｇｎｅｔｉｃ  Ｒｅｃｏｒｄｉｎｇ  Ｃｈａｎｎｅｌ：Ｃｏｄｅ  Ｄｅｓｉｇｎ  ａｎｄ  ＶＬＳＩ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｍａｇｎｅｔｉｃｓ、Ｖｏｌ．４３、Ｎｏ．３、２００７年３月
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、情報を処理するためのシステムおよび方法に関するものであり、より具体的には、データの符号化および／または復号化を行うためのシステムおよび方法に関するものである。
【０００９】
本発明のさまざまな実施形態は、デ−インタリーバを備える復号化システムを実現する。デ−インタリーバは、一緒にインタリーブされた２つ以上の縮小コードワードを含むインタリーブ・コードワードを受信するように動作可能である。さらに、デ−インタリーバは、２つ以上の縮小コードワードの表現を形成するように動作可能である。いくつかの場合において、２つ以上の縮小コードワードは、ランダム、擬似ランダム、またはブロックのインタリーバによってインタリーブされる。システムは、さらに、２つ以上の縮小コードワードを復号化するように動作可能な縮小サイズ・パリティ検査行列に基づくデコーダも備える。前述の実施形態のいくつかの例において、デコーダは、２つ以上の縮小コードワード行列のうちの１つのサイズに合わせて手直しされたＬＤＰＣデコーダである。  
【００１０】
前述の実施形態のさまざまな例において、縮小コードワード行列のそれぞれは、それぞれがインタリーブ・コードワード行列のそれぞれの列に対応する多数の列を含む。そのような場合において、縮小コードワード行列内の列のうちのそれぞれの列の列重みは、インタリーブ・コードワード行列内の対応する列の列重みと同じである。本発明のさまざまな実施形態において、２つ以上のコードをワード行列の総数は２の累乗（例えば、２、４、８、１６．．．）である。本発明の他の例では、インタリーブされるコードワードの総数は、２の累乗以外の値である。
【００１１】
本発明の他の実施形態は、データ転送システムを実現するものである。このようなデータ転送システムは、入力データ・セットを受信し、符号化されたデータ・セットを供給するように動作可能なエンコーダを備える。符号化されたデータ・セットは、２つ以上の縮小コードワードとして表される。これらのシステムは、さらに、２つ以上の縮小コードワードをインタリーブするように動作可能なインタリーバを備える。例えば、２つのコードワードがインタリーブされ、単一のインタリーブ・コードワードを形成する場合、縮小コードワードは、対応する縮小パリティ行列を有するが、インタリーブ・コードワードはそれよりも大きい全パリティ行列を有する。
【００１２】
本発明のさらに他の実施形態は、複雑度を低減した処理のための方法を提供する。これらの方法は、２つ以上の縮小コードワードをインタリーブすることにより生成されるインタリーブ・コードワードを受信することを含む。インタリーブ・コードワードは、第１の数の列を含み、２つ以上の縮小コードワード行列のそれぞれは、第２の数の列を含む。第２の数の列は、第１の数の列よりも少なく、２つ以上の縮小コードワード行列のそれぞれの列の列重みは、インタリーブ・コードワード行列のそれぞれの対応する列の列重みと同じである。これらの方法は、さらに、インタリーブ・コードワード行列をデインタリーブして２つ以上の縮小コードワード行列を生成することと、２つ以上の縮小コードワード行列のそれぞれに対してＬＤＰＣ復号化を実行することとを含む。いくつかの場合において、上述の方法は、さらに、データ・セットを受信することと、データ・セットを符号化して２つ以上の縮小コードワード行列を生成することと、２つ以上の縮小コードワード行列をインタリーブしてインタリーブ・コードワード行列を作成することとを含む。
【００１３】
この発明の概要では、本発明のいくつかの実施形態の概要のみを述べる。本発明の多くの他の目的、特徴、利点、および他の実施形態は、以下の詳細な説明、付属の請求項、および付属の図面を参照することでより完全に理解されるであろう。
【図面の簡単な説明】
【００１４】
本発明のさまざまな実施形態は、本明細書の残りの部分において説明されている図を参照することによりさらによく理解できる。図中、類似の参照番号は複数の図面全体を通して類似のコンポーネントを指し示すために使用されている。いくつかの例において、英語の小文字からなるサブラベルは、複数の類似のコンポーネントのうちの１つを表す参照番号と関連付けられている。既存のサブラベルを指定せずに参照番号への参照がなされている場合、すべてのそのような複数の類似のコンポーネントを指し示すことが意図されている。
【図１】従来技術のデータ転送システムを示す図である。
【図２】本発明の１つまたは複数の実施形態による、所望のコードワードと縮小コードワードとの間の関係、および縮小コードワードを生成し、縮小コードワードをインタリーブするプロセスを示す流れ図である。
【図３ａ】本発明のさまざまな実施形態に関連して使用されうる所望のコードワード、２つの「半分」サイズの縮小コードワード、およびインタリーブ・コードワードの間の例示的な関係を示す図である。
【図３ｂ】本発明のさまざまな実施形態に関連して使用されうる所望のコードワード、２つの「半分」サイズの縮小コードワード、およびインタリーブ・コードワードの間の例示的な関係を示す図である。
【図３ｃ】本発明のさまざまな実施形態に関連して使用されうる所望のコードワード、２つの「半分」サイズの縮小コードワード、およびインタリーブ・コードワードの間の例示的な関係を示す図である。
【図３ｄ】本発明のさまざまな実施形態に関連して使用されうる所望のコードワード、２つの「半分」サイズの縮小コードワード、およびインタリーブ・コードワードの間の例示的な関係を示す図である。
【図４ａ】本発明のさまざまな実施形態に関連して使用されうる所望のコードワード、４つの「１／４」サイズの縮小コードワード、およびインタリーブ・コードワードの間の例示的な関係を示す図である。
【図４ｂ】本発明のさまざまな実施形態に関連して使用されうる所望のコードワード、４つの「１／４」サイズの縮小コードワード、およびインタリーブ・コードワードの間の例示的な関係を示す図である。
【図４ｃ】本発明のさまざまな実施形態に関連して使用されうる所望のコードワード、４つの「１／４」サイズの縮小コードワード、およびインタリーブ・コードワードの間の例示的な関係を示す図である。
【図４ｄ】本発明のさまざまな実施形態に関連して使用されうる所望のコードワード、４つの「１／４」サイズの縮小コードワード、およびインタリーブ・コードワードの間の例示的な関係を示す図である。
【図５】本発明のいくつかの実施形態により縮小コードワードおよびインタリーブ・コードワードを利用するデータ転送システムを示す図である。
【図６】縮小コードワードを使用してデータ処理を行うための本発明の１つまたは複数の実施形態によるプロセスを示す流れ図である。
【発明を実施するための形態】
【００１５】
本発明は、情報を処理するためのシステムおよび方法に関するものであり、より具体的には、データの符号化および／または復号化を行うためのシステムおよび方法に関するものである。
【００１６】
本発明のさまざまな実施形態は、デ−インタリーバを備えるデータ処理システムを実現する。本明細書で使用されているように、「デ−インタリーバ」という用語は、さらに定義することなく、対応するインタリーブを行うプロセスをアンドゥするように動作する回路、システム、アルゴリズム、またはプロセスを意味するために最も広い意味で使用される。本明細書で使用されているように、「インタリーバ」という用語は、元データ・セットのシャッフルされたバージョンとなるように１つのデータ・セットをシャッフルする、または１つのデータ・セットを他のデータ・セットと混ぜることを行わせる回路、システム、アルゴリズム、またはプロセスを意味するために最も広い意味で使用される。したがって、一例にすぎないが、インタリーバは、データのコードワードを受け取って、そのコードワードの個々の要素を他のコードワードとシャッフルしてインタリーブ・コードワードを形成することができる。当業者であれば、本明細書で述べた開示に基づき、本発明のさまざまな実施形態に関して使用されうるさまざまなインタリーバおよびデ−インタリーバのあることを理解するであろう。
【００１７】
デ−インタリーバは、一緒にインタリーブされた２つ以上の縮小コードワードを含むインタリーブ・コードワードを受信するように動作可能である。さらに、デ−インタリーバは、２つ以上の縮小コードワードの表現を形成するように動作可能である。本明細書で使用されているように、「インタリーブ・コードワード」という語句は、２つ以上のさらに小さいデータの集合を組み合わせることにより作成されたデータの任意の集合を意味するために最も広い意味で使用される。さらに、本明細書で使用されているように、「縮小コードワード」という語句は、全部または一部のいずれかを表すことが意図されているデータの他の集合よりも小さい元データと冗長データの両方を含むデータの任意の集合を意味するために最も広い意味で使用される。システムは、さらに、２つ以上の縮小コードワードを復号化するように動作可能なデコーダも備える。前述の実施形態のいくつかの例において、デコーダは、２つ以上の縮小コードワード行列のうちの１つのサイズに合わせて手直しされたＬＤＰＣデコーダである。このような場合、ＬＤＰＣデコーダの複雑さは、縮小コードワードのサイズのコードワードを復号化するように手直しされた場合に大幅に低減されうる。デコーダのこのような複雑さの低減は、少なくとも一部はインタリーブとデインタリーブの新規性のあるアプローチによりコードワード・サイズが縮小された結果としてＬＤＰＣの誤り訂正能力に対する実質的影響を被ることなく行うことができる。
【００１８】
本発明のいくつかの実施形態は、多くの利点のうちの１つとして、相当するＳＯＶＡ／ＩＳＰ、ＳＯＶＡ／ＴＰＣ、ＳＯＶＡＳＰ／ＳＰおよびＳＯＶＡＳＰ／ＴＰＣ、ＳＯＶＡｓｐ／ＬＤＰＣｓｐ、ＳＯＶＡ／ＭＡＰ／ＬＤＰＣおよびＭＡＰ／ＳＯＶＡ／ｔｕｒｂｏＣｏｄｅアーキテクチャと比較してよい性能を有する、またいくつかの場合においては、上述のアーキテクチャのうちの１つまたは複数よりも優れた性能を発揮しうる。さらに、このような性能は、本発明によるシステムが半導体デバイスの一部として実装される場合に、複雑さの少ない回路を使用し、および／またはより少ないダイ領域を使用して実現できる。
【００１９】
図２を参照すると、流れ図２００は、所望のコードワード・サイズに基づき縮小コードワードおよびインタリーブ・コードワードを生成するための本発明の１つまたは複数の実施形態による方法を示している。流れ図２００の後に、所望のコードワード・サイズが定義される（ブロック２１０）。このような所望のコードワードは、所望の結果を得る助けとなるが、比較的複雑なエンコーダおよび／またはデコーダ設計を利用することが必要になると思われるサイズおよび構造を有する場合がある。記憶媒体に格納され、記憶媒体から取り出されるデータを処理するためにコードワードが使用される特定の一例では、コードワードは、当業で知られているように記憶媒体２１２のセクタ・サイズと所望の符号レート２１４を考慮した方法で設計されうる。
【００２０】
所望のコードワードは、一定数（Ｍ個）の行と一定数（Ｎ個）の列を含む所望のコードワード行列に対応している。列の数は、コードワード長を定義し、行の数は、そのコードワードに使用されるパリティ検査式の数を表す。所望のコードワード行列のそれぞれの列は、多数の論理「１」と多数の論理「０」を含み、論理「１」の個数は、一般的に、列重み（Ｗｃ）と称される。同様に、所望のコードワード行列４０５のそれぞれの行は、多数の論理「１」と多数の論理「０」を含み、論理「１」の個数は、一般的に、行重み（Ｗｒ）と称される。
【００２１】
一例として、所望のコードワード行列のパリティ検査行列は、
【数１】
2010541375.tif 000003
と書くことができるが、ただし、それぞれの部分行列Ｈｉ，ｊは、ＧＦ（２）上のｐｘｐ巡回行列である。ゼロ行列は、重みがゼロの巡回行列の特殊な場合であることに留意されたい。本発明のいくつかの実施形態では、所望のコードワード行列によって組み込まれるパリティ検査行列は、ランダムに作成された高率正則ＱＣ−ＬＤＰＣ符号に対応し、すべての非ゼロ巡回行列は、異なる重みを持ちうる。さらに、パリティ検査行列は、次数４のサイクルがないように構成できる。いくつかの場合において、実装されたＬＤＰＣデコーダの複雑度を低減しうるような最小の列重みを持つパリティ検査行列を構成することが望ましいことがある。本発明の１つまたは複数の実施形態により使用されうる特定の符号実装の詳細は、Ｚｈｏｎｇら、「Ｑｕａｓｉ−Ｃｙｃｌｉｃ  ＬＤＰＣ  Ｃｏｄｅｓ  ｆｏｒ  ｔｈｅ  Ｍａｇｎｅｔｉｃ  Ｒｅｃｏｒｄｉｎｇ  Ｃｈａｎｎｅｌ：  Ｃｏｄｅ  Ｄｅｓｉｇｎ  ａｎｄ  ＶＬＳＩ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｍａｇｎｅｔｉｃｓ、Ｖｏｌ．４３、Ｎｏ．３、２００７年３月で説明されている。上述の参考文献は全体が、すべての目的に関して参照により本明細書に組み込まれる。さらに、さまざまな符号構成技術およびパラメータが当業でよく知られていること、および当業者であれば、本明細書に提示されている開示に基づき、本発明の異なる実施形態に関して使用されうる他の符号および／または符号構成技術ならびにパラメータを理解するであろうことに留意されたい。
【００２２】
所望のコードワードに基づき（ブロック２１０）、縮小コードワードのサイズが定義される（ブロック２２０）。縮小コードワードのサイズは、当業でよく知られているように、所望のコードワード・サイズ２２２およびさまざまなコードワード構成制約条件２２４に基づき決定されうる。いくつかの場合において、所望のコードワード・サイズは、所望のレベルのエンコーダおよびデコーダ複雑度および／またはサイズに基づき選択される。本発明のいくつかの実施形態において、縮小コードワードは、所望のコードワードの列の数（Ｎ）および行の数（Ｍ）を２の累乗で除算した縮小コードワード行列に対応する。式
Ｈ＝（Ｎ／２ｎ）×（Ｍ／２ｎ）
は、このような縮小コードワードの次元を記述するものであり、ただし式中、ｎはゼロより大きい整数である。他の場合には、このサイズは、２の累乗以外の整数値で除算した所望のコードワード行列のサイズである。
【００２３】
縮小コードワードのサイズが定義された後（ブロック２２０）、縮小コードワードは、決定されたサイズと所望のコードワード・サイズに基づき作成される（ブロック２３０）。これは、それぞれ所望のコードワード行列の行と列の部分集合を表す２ｎ個の縮小行列を定義することを含む。したがって、例えば、ｎが１に等しい場合、２つの行列のうちの第１の行列が所望のコードワード行列の０から（Ｎ／２）−１までの列の０から（Ｍ／２）−１までの行を表す２つの縮小行列が定義される。２つの縮小コードワード行列のうちの第２の行列は、所望のコードワード行列のＮ／２からＮまでの列のＭ／２からＭまでの行を表す。縮小コードワード行列のそれぞれの列の列重みは、所望のコードワード行列の対応する列の列重みと同じである。したがって、論理「１」が０から（Ｎ／２）−１までの列の０から（Ｍ／２）−１までの行上に分配されればとにかく、２つの縮小コードワード行列のうちの一方に組み込まれ、論理「１」がＮ／２からＮまでの列のＭ／２からＭまでの行上に分配されればとにかく、２つの縮小コードワード行列のうちの他方に組み込まれる。前述の縮小コードワード行列に対応する縮小コードワードでは、より単純なデコーダ設計が可能であるが、所望のコードワードを使用した処理と比べると、非常によい性能を維持する。
【００２４】
いくつかの場合において、上述の縮小コードワードは、インタリーブされて、インタリーブ・コードワードを作成することができる（ブロック２４０）。インタリーブ・コードワードは、上述の所望のコードワード行列にほぼ対応し、個別の縮小コードワードを処理するのと比べて優れた性能を持つ。流れ図２００に関して説明されているプロセスのうちの１つまたは複数は、プロセッサを実行させるソフトウェア命令を実行するマイクロプロセッサ・ベースのマシンを使用して自動的に実行されうる。このようなソフトウェア命令は、マイクロプロセッサ・ベースのマシンにアクセス可能なコンピュータ可読媒体上に保持することができる。このようなマイクロプロセッサ・ベースのマシンは、限定はしないが、パーソナル・コンピュータであってもよい。例えば、マイクロプロセッサ・ベースのデバイスによって実行可能なソフトウェア命令は、縮小コードワードを構成し（ブロック２３０）、その縮小コードワードをインタリーブする（ブロック２４０）ように設計されうる。当業者であれば、本明細書で述べた開示に基づき、流れ図２００のプロセスのうちの１つまたは複数の機能を実行するように開発されうるさまざまなソフトウェア・プログラムを理解するであろう。
【００２５】
図３を参照すると、ｎが１に等しい場合の縮小コードワードおよび所望のコードワード行列に対応するインタリーブ・コードワードの一例が示されている。図３ａを参照すると、データ４０１および冗長データ４０３を含む標準のＬＤＰＣコードワードは、所望のコードワード行列４０５として表されている。所望のコードワード行列４０５は、一定数（Ｍ個）の行４１０と一定数（Ｎ個）の列４１５からなる。列４１５の数は、ＬＤＰＣ符号長を定義し、行４１０の数は、ＬＤＰＣ符号で使用されるパリティ検査式の数を表す。所望のコードワード行列４０５のそれぞれの列は、多数の論理「１」と多数の論理「０」を含み、論理「１」の個数は、一般的に、列重み（Ｗｃ）と称される。同様に、所望のコードワード行列４０５のそれぞれの行は、多数の論理「１」と多数の論理「０」を含み、論理「１」の個数は、一般的に、行重み（Ｗｒ）と称される。
【００２６】
図３ｂを参照すると、２つの縮小コードワードは、上述の標準コードワードのサイズの１／２（つまり、ｎ＝１）となるように設計されている。第１の縮小コードワードは、データ４１１および冗長データ４１３を含み、第２の縮小コードワードは、データ４１７および冗長データ４１９を含む。第１の縮小コードワードは、縮小コードワード行列４２５によって表され、第２の縮小コードワードは、縮小コードワード行列４３０によって表される。この場合、縮小コードワード行列４２５、４３０のそれぞれは、所望のコードワード行列４０５に含まれるものの行の半分（Ｍ／２）と列の半分（Ｎ／２）を含む。縮小コードワード行列４２５は、所望のコードワード行列４０５の０から（Ｎ／２）−１までの列と０から（Ｍ／２）−１までの行から導出される。縮小コードワード行列４３０は、所望のコードワード行列４０５のＮ／２からＮまでの列とＭ／２からＭまでの行から導出される。
【００２７】
縮小コードワード行列４２５の０から（Ｎ／２）−１までの列のそれぞれの列重みは、所望のコードワード行列４０５の対応する列と同じである。したがって、論理「１」が０から（Ｎ／２）−１までの行および０から（Ｍ／２）−１までの列上に分配されればとにかく、縮小コードワード行列４２５に組み込まれる。同様に、縮小コードワード行列４３０のＮ／２からＮまでの列（列Ｎ／２は縮小コードワード行列４３０の第１の列に対応し、列Ｎは縮小コードワード行列４３０の最後の列に対応する）のそれぞれの列重みは、所望のコードワード行列４０５の対応する列と同じである。したがって、論理「１」がＮ／２からＮまでの行およびＭ／２からＭまでの列上に分配されればとにかく、縮小コードワード行列４３０に組み込まれる。この再分配が完了すると、所望のコードワード行列４０５内に元々含まれていた論理「１」はすべて、縮小コードワード行列４２５および縮小コードワード行列４３０のうちの一方または他方に組み込まれる。
【００２８】
図３ｃおよび図３ｄに示されているように、２つの縮小コードワード行列４２５、４２６は、インタリーブ・コードワード行列４５０を生成するために使用されうる。特に、図３ｃに示されているように、ゼロ領域４４０は、Ｍ／２からＭまでの列の０から（Ｎ／２）−１までの行を含む領域に対し想定される。他のゼロ領域４４５は、０から（Ｍ／２）−１までの列の（Ｎ／２）からＮまでの行を含むと想定される。ゼロ領域４４０、４４５を含めることにより、所望のコードワード行列４０５に含まれるのと同じ、列と行の数を示す全行列４８０が定義される。次いで、ゼロ領域４４０、４４５は、縮小行列４２５および縮小行列４３０とインタリーブされうる。このインタリーブ・プロセスは、列毎に実行されうる。列毎のインタリーブは、限定はしないが、縮小コードワード行列４２５およびゼロ領域４４５の対応する列と縮小コードワード行列４３０およびゼロ領域４４０の対応する列とを混ぜることを含みうる。同様に、列毎のインタリーブは、縮小コードワード行列４２５およびゼロ領域４４０の対応する行と縮小コードワード行列４３０およびゼロ領域４４５の対応する行とを混ぜることにより実行されうる。
【００２９】
本発明のいくつかの実施形態では、インタリーブはランダムに行われる。しかし、説明のため、標準のインタリーブについて説明する。１つおきの列が行列４８０の０から（Ｎ／２）−１の列から取られ、他の列は、行列４８０のＮ／２からＮまでの列から選択される。このインタリーブ・プロセスは、インタリーブ・コードワード行列４５０上に論理「１」をランダムに分配するように動作する。標準のインタリーブの例を使用すると、インタリーブ・コードワード行列４５０の第１の列は、行列４８０のゼロ列であり、インタリーブ・コードワード行列４５０の第２の列は、行列４８０のＮ／２列であり、インタリーブ・コードワード行列４５０の第３の列は、行列４８０の１列であり、インタリーブ・コードワード行列４５０の第４の列は、行列４８０の（Ｎ／２）＋１列である。このインタリーブ・プロセスは、行列４８０のすべての列が、インタリーブ・コードワード行列４５０に含まれてしまうまで実行される。ここでもまた、ランダムまたは擬似ランダムのインタリーブ・パターンは、よりロバストなコードワードを生成することができることに留意されたい。当業者であれば、本明細書で述べた開示に基づき、望ましいインタリーブ・コードワード行列４５０を構成するために行列４８０に適用可能な無数のインタリーブ・スキームおよびアプローチを理解するであろう。いかなる場合も、上述の２つの縮小コードワード行列は、一緒にインタリーブされて、インタリーブ・コードワード４２１を作成する。インタリーブ・コードワード４２１は、ランダムにまたは擬似ランダムに混ぜあわされたデータ４１１、４１７、および冗長データ４１７、４１９を含む。
【００３０】
図４を参照すると、ｎが２に等しい場合の縮小コードワードおよび所望のコードワード行列に対応するインタリーブ・コードワードの他の例が示されている。図４ａを参照すると、データ５０１および冗長データ５０３を含む標準のＬＤＰＣコードワードは、所望のコードワード行列５０５として表されている。所望のコードワード行列５０５は、一定数（Ｍ個）の行５１０と一定数（Ｎ個）の列５１５とからなる。列５１５の数は、ＬＤＰＣ符号長を定義し、行５１０の数は、ＬＤＰＣ符号で使用されるパリティ検査式の数を表す。所望のコードワード行列５０５のそれぞれの列は、多数の論理「１」と多数の論理「０」を含み、論理「１」の個数は、一般的に、列重み（Ｗｃ）と称される。同様に、所望のコードワード行列５０５のそれぞれの行は、多数の論理「１」と多数の論理「０」を含み、論理「１」の個数は、一般的に、行重み（Ｗｒ）と称される。
【００３１】
図４ｂを参照すると、４つの縮小コードワードは、それぞれ上述の標準コードワードのサイズの１／４（つまり、ｎ＝２）となるように設計されている。第１の縮小コードワードは、データ５０７および冗長データ５０９を含み、第２の縮小コードワードは、データ５１１および冗長データ５１３を含み、第３の縮小コードワードは、データ５１７および冗長データ５１９を含み、第４の縮小コードワードは、データ５２１および冗長データ５２３を含む。第１の縮小コードワードは、縮小コードワード行列５２０によって表され、第２の縮小コードワードは、縮小コードワード行列５２５によって表され、第３の縮小コードワードは、縮小コードワード行列５３０によって表され、第４のコードワードは、縮小コードワード行列５３５によって表される。この場合、縮小コードワード行列５２０、５２５、５３０、５３５のそれぞれは、所望のコードワード行列５０５に含まれるものの行の１／４（Ｍ／４）と列の１／４（Ｎ／４）を含む。縮小コードワード行列５２０は、所望のコードワード行列５０５の０から（Ｎ／４）−１までの列と０から（Ｍ／４）−１までの行から導出される。縮小コードワード行列５２５は、所望のコードワード行列５０５のＮ／４から（Ｎ／２）−１までの列とＮ／４から（Ｎ／２）−１までの行から導出される。縮小コードワード行列５３０は、所望のコードワード行列５０５のＮ／２から（３Ｎ／４）−１までの列とＭ／２から（３Ｍ／４）−１までの行から導出される。縮小コードワード行列５３５は、所望のコードワード行列５０５の３Ｎ／４からＮまでの列と３Ｍ／４からＭまでの行から導出される。
【００３２】
縮小コードワード行列５２０の０から（Ｎ／４）−１までの列のそれぞれの列重みは、所望のコードワード行列５０５の対応する列と同じである。したがって、論理「１」が０から（Ｎ／４）−１までの行および０から（Ｍ／４）−１までの列上に分配されればとにかく、縮小コードワード行列５２０に組み込まれる。縮小コードワード行列５２５のＮ／４から（Ｎ／２）−１までの列（列Ｎ／４は縮小コードワード行列５２５の第１の列に対応し、列（Ｎ／２）−１は縮小コードワード行列５２５の最後の列に対応する）のそれぞれの列重みは、所望のコードワード行列５０５の対応する列と同じである。縮小コードワード行列５３０のＮ／２から（３Ｎ／４）−１までの列（列Ｎ／２は縮小コードワード行列５３０の第１の列に対応し、列（３Ｎ／４）−１は縮小コードワード行列５３０の最後の列に対応する）のそれぞれの列重みは、所望のコードワード行列５０５の対応する列と同じである。縮小コードワード行列５３５の３Ｎ／４からＮまでの列（列３Ｎ／４は縮小コードワード行列５３５の第１の列に対応し、列Ｎは縮小コードワード行列５３５の最後の列に対応する）のそれぞれの列重みは、所望のコードワード行列５０５の対応する列と同じである。
【００３３】
図４ｃおよび図４ｄに示されているように、４つの縮小コードワード行列５２０、５２５、５３０、５３５は、フル・サイズのコードワード行列５５０を生成するために使用されうる。特に、図４ｃに示されているように、ゼロ領域５４０およびゼロ領域５４５は、コードワード行列５２０、５２５、５３０、５３５のうちの１つによってカバーされないすべての領域に対し想定される。ゼロ領域５４０、５４５を含めることにより、所望のコードワード行列５０５に含まれるのと同じ、列と行の数を示す全行列５８０が定義される。次いで、ゼロ領域５４０、５４５は、縮小行列５２０、５２５、５３０、５３５とインタリーブされうる。このインタリーブ・プロセスは、列毎に実行されうる。本発明のいくつかの実施形態では、インタリーブはランダムに行われる。このインタリーブ・プロセスは、行列５８０のすべての列が、インタリーブ・コードワード行列５５０に含まれてしまうまで実行される。当業者であれば、本明細書で述べた開示に基づき、望ましいインタリーブ・コードワード行列５５０を構成するために行列５８０に適用可能な無数のインタリーブ・スキームおよびアプローチを理解するであろう。さらに、当業者であれば、本明細書で述べた開示に基づき、本発明のさまざまな実施形態に従って使用できる他の縮小コードワード行列サイズのあることを理解するであろう。いかなる場合も、上述の４つの縮小コードワード行列は、一緒にインタリーブされて、インタリーブ・コードワード５６１を作成する。インタリーブ・コードワード５６１は、ランダムにまたは擬似ランダムに混ぜあわされたデータ５０７、５１１、５１７、５２１および冗長データ５０９、５１３、５１９、５２３を含む。
【００３４】
図５を参照すると、本発明の１つまたは複数の実施形態により縮小コードワードを利用するデータ転送システム６００が示されている。データ転送システム６００は、符号化部分６０２（破線で示されている）、復号化部分６０４（破線で示されている）、およびデータ転送媒体６４０を備える。符号化部分６０２は、データ入力を受け取り、そのデータ入力を符号化し、データ転送媒体６４０を介して符号化されたデータ入力を転送する。復号化部分６０４は、データ転送媒体６４０から符号化されたデータを受け取り、情報を復号化し、データ出力６９０を供給する。符号化部分６０２および復号化部分６０４のそれぞれは、縮小コードワードに対し作用するのであって、非縮小コードワード・サイズを処理するようには設計されていない（例えば、縮小コードワード行列４２５のサイズの行列を処理するように設計されているが、インタリーブ・コードワード行列４５０のサイズの行列を処理するようには設計されていない）。データ転送システム６００は、多数の異なるシステムとの関連で実装されうることに留意されたい。例えば、データ転送システム６００は、ハードディスク・ドライブ・システムまたはセルラー通信システムに実装されうる。データ転送システム６００が、ハードディスク・ドライブ・システムに実装される場合、記録チャネル／送信機６３０は、読み取りヘッドであり、データ転送チャネル６４０は、磁気記憶媒体を含むことができる。対照的に、データ転送システム６００が、セルラー通信システムに実装される場合、記録チャネル／送信機６３０は、携帯電話送信機であり、データ転送チャネル６４０は、実行される送信の媒体となる空気を含むことができる。当業者であれば、本明細書で述べた開示に基づき、データ転送システム６００を使用できるさまざまなシステムのあることを理解するであろう。
【００３５】
符号化部分６０２は、縮小コードワードＬＤＰＣエンコーダ／インタリーバ６２０および記録チャネル／送信機６３０を備える。縮小コードワードＬＤＰＣエンコーダ／インタリーバ６２０は、少なくとも２つの機能を実行する。第１の機能は、ＬＤＰＣエンコーダ６２２によって実行されるデータ入力のＬＤＰＣ符号化の機能である。ＬＤＰＣエンコーダ６２２は、データ入力６１０を、上の図３ｂおよび図４ｂに関して説明されているような縮小コードワードの集合に符号化されるように設計されている。したがって、縮小コードワードの集合が、「半分」のサイズの行列を２つ含む場合、ＬＤＰＣエンコーダ６２２は、「半分」のサイズの行列に作用するように設計されている。行列は小さければ小さいほど、ＬＤＰＣエンコーダ６２２の複雑度を下げるので、行列のサイズをこのように縮小することは望ましいことである。特に、符号化プロセスは、所定のパスで長いコードワードに対する演算を必要とする。そこで、行のサイズを縮小することにより、ＬＤＰＣエンコーダ６２２の複雑さは実質的に低減されうる。ＬＤＰＣエンコーダ６２２は、当業でよく知られているエンコーダ設計技術を使用して設計されうる。既存のＬＤＰＣエンコーダとは対照的に、ＬＤＰＣエンコーダ６２２は、単一のフル・サイズのコードワードではなく、一緒になって所望のコードワードを表す「半分」のサイズの２つのコードワード（例えば、縮小コードワード行列４２５および縮小コードワード行列４３０に対応する縮小コードワード）を形成するように設計されている。前記は、単に例示的なものにすぎず、縮小コードワードの他のサイズもエンコーダ６２２によって構成されうることに留意されたい。例えば、「１／４」サイズのコードワードまたは「１／５」サイズのコードワードも形成できる。このような場合、ＬＤＰＣエンコーダ６２２は、図４ｂに関して上で説明されているような「１／４」または「１／５」サイズの行列に作用するように設計される。ここでもまた、小さなコードワードを使用すると、エンコーダの複雑度を下げられるので、そのようなコードワードを使用するのが望ましい。このような場合、ＬＤＰＣエンコーダ６２２は、当業でよく知られているエンコーダ設計技術を使用して設計されうる。しかし、ＬＤＰＣエンコーダ６２２は、単一のフル・サイズのコードワードではなく、一緒になって所望のコードワードを表す「１／４」のサイズまたは「１／５」のサイズの４つのコードワード（例えば、縮小コードワード行列５２０、縮小コードワード行列５２５、縮小コードワード行列５３０、および縮小コードワード行列５３５）を形成するように設計されている。当業者であれば、本明細書で述べた開示に基づき、本発明の異なる実施形態に従って使用できるさまざまな他の縮小コードワード・サイズおよび対応するＬＤＰＣエンコーダ設計のあることを理解するであろう。
【００３６】
縮小コードワードＬＤＰＣエンコーダ／インタリーバ６２０の第２の機能は、縮小コードワード行列のインタリーブを行ってインタリーブ・コードワードを形成する機能である。このプロセスは、インタリーバ６２４を使用して実行され、このプロセスは、図３ｂの縮小コードワードから図３ｄのインタリーブ・コードワードへの変換によって例示される。同様に、このプロセスは、図４ｂの縮小コードワードから図４ｄのインタリーブ・コードワードへの変換によって例示される。このようなインタリーブは、例えば列毎にインタリーブを実行できるインタリーバを使用して実行されうる。いくつかの場合において、ＬＤＰＣエンコーダ６２２によって形成される縮小コードワード行列の列をランダムに混ぜるように動作するインタリーバを設計することが望ましい。
【００３７】
縮小コードワードＬＤＰＣエンコーダ／インタリーバ６２０によって形成されたインタリーブ・コードワードは、記録チャネル／送信機６３０に供給される。次いで、記録チャネル／送信機６３０が、データ転送媒体６４０を介して、符号化されたデータを宛先に送る。上述のように、データ転送媒体６４０は、限定はしないが、記憶媒体または無線転送媒体を含みうる。データ転送媒体を介して転送されるインタリーブ・コードワードは、復号化部分６０４によって受信されると称される同じインタリーブ・コードワードであることに留意されたい。当業者であれば、ノイズおよび他の誤りの発生源が、送信されたインタリーブ・コードワードと比較して受信されたインタリーブ・コードワードにさまざまな変化を引き起こすことが多いので、同じインタリーブ・コードワードが参照されているとしても、受信されたインタリーブ・コードワードが送信されたコードワードと異なることがあることを理解するであろう。したがって、インタリーブ・コードワードが、請求項において中に含むと称され、また同じインタリーブ・コードワードが、復号化されていると称されている場合、１つまたは複数の誤りが受信されたインタリーブ・コードワード中に入り込んでいるものとしてよいことは理解される。
【００３８】
データは、復号化部分６０４によってデータ転送媒体６４０から受信される。例えば、データ転送媒体６４０が、記憶媒体である場合、復号化部分６０４は、読み取りヘッド・アセンブリに関連付けられうる。他の例として、データ転送媒体６４０が、無線通信媒体である場合、復号化部分６０４は、受信機に関連付けられうる。復号化部分６０４は、当初転送されたデータを検出するように動作可能な検出器６５０を備える。検出器６５０は、データ転送媒体６４０からデータを受信し、その中の元データを検出することができる回路またはシステムとすることができる。したがって、検出器６５０は、限定はしないが、ソフト出力ビタビ（ＳＯＶＡ）検出器または当業で知られているような最大事後確率（ＭＡＰ）検出器であるものとしてよい。
【００３９】
検出器６５０は、完全コードワード・デ−インタリーバ６６０に出力を送る。完全コードワード・デ−インタリーバ６６０は、インタリーバ６２４によって転送データに当初適用されたものとは実質的に逆のプロセスを適用する。検出されたデータをデインタリーブすると、インタリーブ・コードワードから、ＬＤＰＣエンコーダ６２２によって当初符号化された縮小コードワードに戻す変換が引き起こされる。一例として、デインタリーブ・プロセスは、インタリーブ・コードワード４２１から図３ｃの縮小コードワードへの変換を引き起こす。他の例として、デインタリーブ・プロセスは、インタリーブ・コードワード行列５６１から図４ｃの縮小コードワードへの変換を引き起こす。当業者であれば、本明細書で述べた開示に基づき、本発明の異なる実施形態に関して使用されうる縮小コードワードのさまざまなサイズのあることを理解するであろう。さらに、当業者であれば、本明細書で述べた開示に基づき、本発明の異なる実施形態に従ってインタリーバ６２２およびデ−インタリーバ６６０によって適用されうるインタリーブおよびデインタリーブに対するさまざまなアプローチのあることを理解するであろう。
【００４０】
デインタリーブされたデータは、完全コードワード・デ−インタリーバ６６０から縮小コードワードＬＤＰＣデコーダ６８０に渡される。縮小コードワードＬＤＰＣデコーダ６８０は、完全コードワード・デ−インタリーバ６６０から受け取った縮小コードワードのそれぞれに対しＬＤＰＣ復号化を実行する。実行される復号化は、当業で知られている任意のＬＤＰＣとすることができる。一例として、「半分」のサイズの２つの縮小コードワード行列が利用される場合、縮小コードワードＬＤＰＣデコーダ６８０は、データ４１１および冗長データ４１３を含む縮小コードワードに復号化を実行し、その後、図３ｂのデータ４１７および冗長データ４１９を含む縮小コードワードに復号化を実行することができる。注目すべきは、縮小ＬＤＰＣデコーダ６８０の設計が、より大きなサイズのコードワードに対してではなく、縮小コードワード・サイズに対して機能するように設計されたときに大幅に縮小されうることである。他の例として、「１／４」のサイズの４つの縮小コードワード行列が利用される場合、縮小コードワードＬＤＰＣデコーダ６８０は、データ５０７および冗長データ５０９を含む縮小コードワードに復号化を実行し、次いで、データ５１１および冗長データ５１３を含む縮小コードワードに復号化を実行し、次いで、データ５１７および冗長データ５１９を含む縮小コードワードに復号化を実行し、次いで、図４ｂのデータ５２１および冗長データ５２３を含む縮小コードワードに復号化を実行することができる。ここでもまた、当業者であれば、本明細書で述べた開示に基づき、本発明の異なる実施形態に関して使用されうる縮小コードワードのさまざまなサイズのあることを理解するであろう。コードワードは小さければ小さいほど、ＬＤＰＣデコーダ６８０の複雑度を下げるので、行列のサイズをこのように縮小することは望ましいことである。特に、復号化プロセスは、所定のパスで行列の大きい行に対する演算を必要とする。そこで、コードワードのサイズを縮小することにより、使用されるＬＤＰＣデコーダの複雑さは実質的に低減されうる。
【００４１】
この復号化プロセスが、満足のいく結果（つまり、元データ入力６１０に収束する結果）をもたらさない場合、結果中の信頼度を高めるために、検出、インタリーブ、および復号化のプロセスが反復実行されうる。このような場合、縮小コードワードＬＤＰＣデコーダ６８０の出力は、縮小コードワードの再インタリーブを実行する縮小コードワード・インタリーバ６７０に送られる。インタリーバ６２４によって実行されるプロセスと同様に、縮小コードワード・インタリーバ６７０は、図３ｂの縮小コードワードから図３ｄのインタリーブ・コードワードへの変換によって例示される。同様に、このプロセスは、図４ｂの縮小コードワードから図４ｄのインタリーブ・コードワードへの変換によって例示される。
【００４２】
再インタリーブされたデータは、縮小コードワード・インタリーバ６７０から検出器６５０に送られる。次に、検出器６５０が、その検出プロセスを実行し、再び、完全コードワード・デ−インタリーバ６６０に出力を送る。復号化プロセスは、復号化された出力が、満足のいくところまで収束するか、または場合によっては、当業で知られているように収束が可能でないと判断されるまで、継続する。最終的に、データ入力６１０に対応するデータ出力６９０が、縮小コードワードＬＤＰＣデコーダ６８０によって供給される。
【００４３】
図６を参照すると、流れ図７００は、縮小コードワードを使用してデータ処理を行うための本発明の１つまたは複数の実施形態によるプロセスを示している。流れ図７００の後に、データ・ストリームの受信が行われる（ブロック７１０）。このデータ・ストリームは、例えば、転送されることが意図されている一連のバイナリ値であってもよい。転送は、例えば、データを記憶媒体に格納すること、またはデータを無線で受信デバイスに転送することを含むことができる。いくつかの場合において、受信されたデータは、データのランダムさを高め、それにより転送のロバスト性を高めるためにすでにインタリーブ（例えば、シャッフル）が行われていることがある。そのような場合、他のインタリーバが、データ入力６１０と縮小コードワードＬＤＰＣエンコーダ／インタリーバ６２０との間の適所に配置される。さらに、そのような場合、対応するデ−インタリーバを、縮小コードワードＬＤＰＣデコーダ６８０とデータ出力６９０との間に入れることができる。
【００４４】
受信データ・ストリームは、一組の縮小コードワードに従って符号化される（ブロック７１５）。符号化プロセスの結果は、図３ｂおよび図４ｂに例示されているような多数の縮小コードワードである。次いで、縮小コードワードは、インタリーブが行われ、図３ｄおよび図４ｄで例示されているようなインタリーブ・コードワードを形成する（ブロック７２０）。次いで、インタリーブされたデータは、プロセスが実行されるシステムに応じて転送または復号化に関して変換される（ブロック７２５）。これは、例えば、デジタル−アナログ変換を実行することと、変換されたデータを送信機または読み取りチャネルに送ることとを含みうる。次いで、変換されたデータが転送される（ブロック７３０）。ここでもまた、この転送は、限定はしないが、格納動作または無線転送動作を含みうる。当業者であれば、本明細書で述べた開示に基づき、流れ図７００のプロセスが適用されうるさまざまなシステム、およびこれらのシステムに従って転送するようにインタリーブされたデータを用意するのに適したプロセスのあることを理解するであろう。
【００４５】
転送された情報は、受信デバイスによって受信され（ブロック７３５）、すでに符号化され、インタリーブされたデータに対し検出が実行される（ブロック７４０）。特に、転送されたインタリーブ・コードワードを検出するために、検出プロセスが実行される。これは、限定はしないが、当業で知られているようにＳＯＶＡ検出器またはＭＡＰ検出器の適用を含みうる。次いで、検出されたデータは、ブロック７２０で実行されたインタリーブの実質的に逆であるプロセスを使用してデインタリーブされる（ブロック７４５）。デインタリーブ・プロセスの結果は、当初符号化された縮小コードワードである。次いで、ＬＤＰＣ復号化プロセス、縮小コードワードに対し実行され（ブロック７５０）、元データ・ストリームを復元する。このようなＬＤＰＣ復号化は、当業でよく知られているＬＤＰＣ復号化技術を使用して実行されうる。例示的なＬＤＰＣ復号化技術の説明は、２００７年６月１日に出願した「ＳＹＳＴＥＭＳ  ＡＮＤ  ＭＥＴＨＯＤＳ  ＦＯＲ  ＬＤＰＣ  ＤＥＣＯＤＩＮＧ  ＷＩＴＨ  ＰＯＳＴ  ＰＲＯＣＥＳＳＩＮＧ」という表題のＺｈｏｎｇによる米国特許出願第１１／７５６，７３６号においてさらに詳しくなされている。上述の参考文献は全体が、すべての目的に関して参照により本明細書に組み込まれる。ＬＤＰＣ復号化プロセスおよび利用されるＬＤＰＣデコーダは、従来技術で知られている場合があるが、ＬＤＰＣデコーダは、縮小コードワード行列の大きさのデータを復号化するように手直しされる。縮小コードワード行列は、従来の行列（例えば、図３ａの所望のコードワード行列）のサイズよりも実質的に小さいので、ＬＤＰＣデコーダの複雑さは、大幅に低減される。デコーダの複雑さがこうして低減されると、ＬＤＰＣの復号化は、必要なコストが低減され、より実用的なものとなる。
【００４６】
次いで、デコーダによってもたらされた結果が収束したかどうかが判定される（ブロック７５５）。当業で知られているように、収束は、典型的には、デコーダによってもたらされた結果が元データ入力を表す場合に生じる。結果がまだ収束していなかった場合（ブロック７５５）、タイムアウトまたは他の何らかのエラー表示が生じ、結果が得られていない可能性のあることを示唆しているかどうかが判定される（ブロック７６０）。これは、例えば、転送データにノイズが入り込みすぎており、データの復元が不可能になる場合に発生する。タイムアウトが発生していない場合（ブロック７６０）、デコーダからのデータは再インタリーブされ（ブロック７６５）、インタリーブされたデータが、検出器に戻され（ブロック７４０）、そこで復号化プロセスが反復実行される。それとは別に、デコーダの出力が収束したか（ブロック７５５）、またはタイムアウトが発生した（ブロック７６０）場合に、デコーダの結果が出力として送られる。
【００４７】
本発明の１つまたは複数の実施形態は、低いハードウェア・コストで非常に良好な信号対雑音比（ＳＮＲ）利得が得られる磁気記録チャネルに対し逐次信号検出および復号化を行う。このような実施形態ではＭＡＰ検出器を使用し、ＬＤＰＣデコーダと繰り返し連携動作させることで、ランダムおよびバーストの両方の誤りによって破損したリードバック信号を効果的に復元することができる。高い誤り訂正能力を確実なものとするために、ハードディスク・ドライブ（ＨＤＤ）のセクタ・サイズと等しくなるようにＬＤＰＣ符号の符号長を選択するとよい。この符号長は、縮小コードワード行列に基づきコードワード間インタリーブ・コードを設計することにより実質的に縮小されうる。使用される符号は、単純なハードウェア保存エンコーダおよびデコーダ・アーキテクチャを特徴とする擬似巡回ＬＤＰＣ符号であってもよい。システムは、縮小コードワード毎に、縮小コードワード行列を操作する。このような縮小コードワード行列を使用することにより、妥当な性能を維持しながら、ハードウェアの複雑さとサイズを低減する。システムは、ｍ−コードワードに基づいて動作するインタリーバ／デ−インタリーバのセットを備える。特に、インタリーバは、コードワードｃｗｋｍ＋１、ｃｗｋｍ＋２、．．．、ｃｗ（ｋ＋１）ｍ中の符号化されたデータをインタリーブするが、ただし、式中、ｋは、コードワードのブロックのインデックスである。このような１つのブロックは、ｍ個のコードワードからなる。したがって、これらのコードワードを格納するためにバッファが使用される。しかし、コードワード・サイズ（つまり、縮小コードワード行列のサイズ）は、対応するフル・サイズの行列の１／ｍであるため、エンコーダ側のバッファ・サイズは、コードワード・サイズの縮小が使用されなかった場合に必要になるサイズと同じである。
一緒にインタリーブされる縮小コードワードの数は、２の累乗であるか、または具体的な設計に応じて、任意の整数としてよいことに留意されたい。縮小コードワードは、複雑さの低い、および／または縮小領域を必要とするより小さなＬＤＰＣデコーダを暗示している。インタリーブ・コードワードのパリティ検査行列は、上記の図３および図４に例示されているような縮小コードワードに対応する小さな行列をインタリーブすることにより得られる。概して、同じタイプのＬＤＰＣ符号については、コードワード長が大きければ大きいほど、誤り訂正能力が高まり、また複雑度も上がる。したがって、本発明のいくつかの実施形態では、縮小サイズのコードワードを処理するように設計された複雑度の低いＬＤＰＣデコーダを使用してより大きなＬＤＰＣ符号の性能を発揮させる。
【００４８】
結論として、本発明は、情報処理するためのシステム、デバイス、方法、および配置を述べたものである。本発明の１つまたは複数の実施形態の詳細な説明が上で述べられているが、本発明の精神と異なることなく、さまざまな代替え形態、修正形態、および等価形態が当業者にとって明らかであろう。例えば、本発明の１つまたは複数の実施形態が、例えば、テープ記録システム、光ディスク・ドライブ、無線システム、およびデジタル加入者回線システムなどのさまざまなデータ記憶システムおよびデジタル通信システムに応用されうる。したがって、上記の説明は、付属の請求項で定められる、本発明の範囲を制限するものと解釈すべきではない。
【図１】
2010541375.tif 000004
【図２】
2010541375.tif 000005
【図３ａ】
2010541375.tif 000006
【図３ｂ】
2010541375.tif 000007
【図３ｃ】
2010541375.tif 000008
【図３ｄ】
2010541375.tif 000009
【図４ａ】
2010541375.tif 000010
【図４ｂ】
2010541375.tif 000011
【図４ｃ】
2010541375.tif 000012
【図４ｄ】
2010541375.tif 000013
【図５】
2010541375.tif 000014
【図６】
2010541375.tif 000015
【手続補正書】
【提出日】平成22年6月17日(2010.6.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
一緒にインタリーブがなされる２つ以上の縮小コードワードを含むインタリーブ・コードワードを受信するように動作可能であり、前記２つ以上の縮小コードワードの表現を形成するように動作可能であるデ−インタリーバと、
前記２つ以上の縮小コードワードを復号化するように動作可能であるデコーダとを備える復号化システム。
【請求項２】
前記デコーダは、ＬＤＰＣデコーダである請求項１に記載の復号化システム。
【請求項３】
前記ＬＤＰＣデコーダの複雑さは、前記２つ以上の縮小コードワードのうちの１つのサイズに合わせて手直しされる請求項２に記載の復号化システム。
【請求項４】
前記ＬＤＰＣデコーダの複雑さによって、前記インタリーブ・コードワードの長さのコードワードを復号化することをできなくなる請求項３に記載の復号化システム。
【請求項５】
前記２つ以上の縮小コードワードは、それぞれの縮小コードワード行列に対応し、前記インタリーブ・コードワードは、インタリーブ・コードワード行列に対応し、それぞれの縮小コードワード行列の列重みは、前記インタリーブ・コードワード行列の対応する列の前記列重みと同じである請求項１に記載の復号化システム。
【請求項６】
前記インタリーブ・コードワード行列は、第１の数の列と第１の数の行を含み、前記それぞれのコードワード行列のうちの少なくとも１つは、第２の数の列と第２の数の行を含み、前記第２の列数は、前記第１の列数より小さく、前記第２の行数は、前記第１の行数より小さい請求項５に記載の復号化システム。
【請求項７】
前記インタリーブ・コードワード行列は、第１の数の列と第１の数の行を含み、前記それぞれのコードワード行列のうちの少なくとも１つは、第２の数の列と第２の数の行を含み、前記第２の列数は、前記第１の列数より小さく、前記第２の行数は、前記第１の行数より小さく、前記第２の列数は、前記第１の列数をある整数値で除算した値であり、前記第２の行数は、前記第１の行数を前記整数値で除算した値である請求項５に記載の復号化システム。
【請求項８】
前記インタリーブ・コードワード行列は、第１の数の列と第１の数の行を含み、前記２つ以上の縮小コードワード行列のうちの少なくとも１つは、第２の数の列と第２の数の行を含み、前記第２の列数は、前記第１の列数より小さく、前記第２の行数は、前記第１の行数より小さく、前記第２の列数は、前記第１の列数を２の累乗で除算した値であり、前記第２の行数は、前記第１の行数を前記２の累乗で除算した値である請求項５に記載の復号化システム。
【請求項９】
前記インタリーブ・コードワード行列は、列毎に一緒にインタリーブされた前記２つ以上の縮小コードワード行列を含む請求項１に記載の復号化システム。
【請求項１０】
入力データ・セットを受信し、少なくとも１つの第１の縮小コードワードおよび第２の縮小コードワードを供給するように動作可能であるエンコーダであって、前記第１の縮小コードワードは、第１のパリティで拡張された前記入力データ・セットの第１の部分を表し、前記第２の縮小コードワードは、第２のパリティで拡張された前記入力データ・セットの第２の部分を表すエンコーダと、
少なくとも前記第１の縮小コードワードと前記第２の縮小コードワードをインタリーブしてインタリーブ・コードワードを形成するように動作可能であるインタリーバと、
前記インタリーブ・コードワードを、ノイズが持ち込まれた前記第１のインタリーブ・コードワードに対応する第２のインタリーブ・コードワードとして転送するデータ転送媒体と、
第２のインタリーブ・コードワードを受信するように動作可能であり、前記第１の縮小コードワードと前記第２の縮小コードワードの表現を形成するように動作可能であるデ−インタリーバと、
前記第１の縮小コードワードおよび前記第２の縮小コードワードと一致するサイズの入力を復号化するように動作可能であるデコーダとを備えるデータ転送システム。
【請求項１１】
前記第１の縮小コードワードは、第１の縮小コードワード行列に対応し、前記第２の縮小コードワードは、第２の縮小コードワード行列に対応し、前記インタリーブ・コードワードは、インタリーブ・コードワード行列に対応する請求項１０に記載のデータ転送システム。
【請求項１２】
前記第１の縮小コードワード行列および前記第２の縮小コードワード行列のそれぞれの列の列重みは、前記インタリーブ・コードワード行列の対応する列の列重みと同じである請求項１１に記載のデータ転送システム。
【請求項１３】
前記エンコーダは、ＬＤＰＣデコーダであり、前記デコーダは、ＬＤＰＣデコーダである請求項１０に記載のデータ転送システム。
【請求項１４】
前記インタリーブ・コードワードを形成するためにインタリーブされた前記第１の縮小コードワードおよび前記第２の縮小コードワードを含む縮小コードワードの総数は、２の累乗である請求項１０に記載のデータ転送システム。
【請求項１５】
複雑度を低減したデータ処理のための方法であって、
２つ以上の縮小コードワードをインタリーブすることにより生成されたインタリーブ・コードワードを受信することであって、前記２つ以上のインタリーブ・コードワードのうちのそれぞれがデータとパリティの組み合わせを含む、受信することと、
前記インタリーブ・コードワードをデインタリーブして、前記２つ以上の縮小コードワードを生成することと、
前記２つ以上の縮小コードワードのそれぞれを復号化し、前記２つ以上の縮小コードワードのうちのそれぞれのコードワードの前記それぞれのデータが復元されることとを含む複雑度を低減したデータ処理のための方法。
【国際調査報告】
2010541375.tif 000016
2010541375.tif 000017