(57)【要約】【課題】本発明は、ショート・ブロック・エンコーダを用いたデータ・ストリームに変調制約を適用するための技術を提供する。【解決手段】ショート・ブロック・エンコーダ101は、データ・ストリーム内のビットのサブセットをエンコードする。その後、データ・ストリーム内の偶数及び奇数のインターリーブは２つのデータ経路に分けられる。第１の変調エンコーダ103は、第１の変調制約に従って偶数インターリーブをエンコードする。第２の変調エンコーダ104は、第２の変調制約に従って奇数インターリーブをエンコードするが、それは一般に偶数インターリーブ用の変調制約と一致する。【選択図】図１
2006209953.tif 000002
【特許請求の範囲】
【請求項１】
データ・ブロック内のビットの第１のサブセットに制約を適用し、出力ビットを生成するショート・ブロック・エンコーダと、
偶数及び奇数のビットを、データ・ブロック内のビットの第２のサブセット及び前記ショート・ブロック・エンコーダの出力ビットから分離するデマルチプレクサと、
前記偶数ビットをエンコードして、制約された偶数ビットを生成する第1の変調エンコーダと、
前記奇数ビットをエンコードして、制約された奇数ビットを生成する第２の変調エンコーダと、
を有することを特徴とするディスク・ドライブ・システム。
【請求項２】
前記ディスク・ドライブ・システムはさらに、制約された偶数ビット及び制約された奇数ビットを１つのデータ・ストリームにインターリーブするマルチプレクサを有することを特徴とする請求項１記載のディスク・ドライブ・システム。
【請求項３】
前記第１の変調エンコーダ及び前記第２の変調エンコーダがフィボナッチ・エンコーダであることを特徴とする請求項１記載のディスク・ドライブ・システム。
【請求項４】
前記第１の変調エンコーダが、Ｎ個の偶数ビットをＮ個の制約された偶数ビットにマッピングし、前記第２の変調エンコーダが、Ｎ個の奇数ビットをＮ個の制約された奇数ビットにマッピングすることを特徴とする請求項３記載のディスク・ドライブ・システム。
【請求項５】
前記ショート・ブロック・エンコーダが、PビットをP+1出力ビットにマッピングすることを特徴とする請求項１記載のディスク・ドライブ・システム。
【請求項６】
前記ショート・ブロック・エンコーダが、前記データ・ブロックの３ビットのベクトルを４ビットの出力ベクトルにマッピングすることを特徴とする請求項５記載のディスク・ドライブ・システム。
【請求項７】
前記ショート・ブロック・エンコーダが、前記データ・ブロックの９ビットのベクトルを10ビットの出力ベクトルにマッピングすることを特徴とする請求項５記載のディスク・ドライブ・システム。
【請求項８】
前記ショート・ブロック・エンコーダが、前記データ・ブロックの13ビットのベクトルを14ビットの出力ベクトルにマッピングすることを特徴とする請求項５記載のディスク・ドライブ・システム。
【請求項９】
前記第１の変調エンコーダが、偶数のグローバル制約を、前記制約された偶数ビットに適用し、前記第２の変調エンコーダが、奇数のグローバル制約を、前記制約された奇数ビットに適用し、前記マルチプレクサが、前記偶数のグローバル制約または前記奇数のグローバル制約の最大値の２倍に等しいグローバル制約を有する、インターリーブされたデータを生成することを特徴とする請求項２記載のディスク・ドライブ・システム。
【請求項１０】
前記インターリーブされたデータが、前記偶数のグローバル制約または前記奇数のグローバル制約と等しいかまたはより大きい、インターリーブされた制約を有することを特徴とする請求項９記載のディスク・ドライブ・システム。
【請求項１１】
入力データの各ブロックの第１の部分を出力シーケンスにマッピングするショート・ブロック・エンコーダと、
偶数及び奇数のインターリーブを、入力データの各ブロックの第２の部分及び前記ショート・ブロック・エンコーダの出力シーケンスから分離する手段と、
第１の変調制約を前記偶数インターリーブに適用し、制約された偶数インターリーブを生成する手段と、
第２の変調制約を前記奇数インターリーブに適用し、制約された奇数インターリーブを生成する手段と
を有することを特徴とするディスク・ドライブ・コントローラ・チップセット。
【請求項１２】
前記ショート・ブロック・エンコーダが、入力データの各ブロック内のPビットのベクトルをP+1ビットの出力ベクトルにマッピングすることを特徴とする請求項１１記載のディスク・ドライブ・コントローラ・チップセット。
【請求項１３】
前記ショート・ブロック・エンコーダが、入力データの各ブロック内の３ビットのベクトルを４ビットの出力ベクトルにマッピングすることを特徴とする請求項１１記載のディスク・ドライブ・コントローラ・チップセット。
【請求項１４】
前記ショート・ブロック・エンコーダが、入力データの各ブロック内の９ビットのベクトルを10ビットの出力ベクトルにマッピングすることを特徴とする請求項１１記載のディスク・ドライブ・コントローラ・チップセット。
【請求項１５】
前記ショート・ブロック・エンコーダが、入力データの各ブロック内の13ビットのベクトルを14ビットの出力ベクトルにマッピングすることを特徴とする請求項１１記載のディスク・ドライブ・コントローラ・チップセット。
【請求項１６】
前記第１の変調制約を適用する手段が、Ｎ個の偶数ビットをＮ個の制約された偶数ビットにマッピングする手段を有し、前記第２の変調制約を適用する手段が、Ｎ個の奇数ビットをＮ個の制約された奇数ビットにマッピングする手段を有することを特徴とする請求項１１記載のディスク・ドライブ・コントローラ・チップセット。
【請求項１７】
前記ディスク・ドライブ・コントローラ・チップセットはさらに、
前記制約された偶数インターリーブ及び制約された奇数インターリーブを１つのデータ・ストリームにインターリーブするパラレル対シリアル・コンバータを有することを特徴とする請求項１１記載のディスク・ドライブ・コントローラ・チップセット。
【請求項１８】
変調制約を各データ・ブロックの第１の部分に適用し、制約された出力を生成するステップと、
前記制約された出力の偶数及び奇数のインターリーブと、各データ・ブロックの第２の部分を分離するステップと、
前記偶数インターリーブに変調制約を課し、制約された偶数インターリーブを生成するステップと、
前記奇数インターリーブに変調制約を課し、制約された奇数インターリーブを生成するステップと、
前記制約された偶数インターリーブと前記制約された奇数インターリーブをインターリーブするステップと
を含むことを特徴とするデータをコンピュータが読み込める媒体に記録する前に、データのブロックに変調エンコーディングを行う方法。
方法。
【請求項１９】
前記変調制約を各データ・ブロックの第１の部分に適用するステップはさらに、各データ・ブロック内の３ビットを、前記制約された出力内の４ビットに、ショート・ブロック・エンコーダを用いてマッピングするステップを含むことを特徴とする請求項１８記載の方法。
【請求項２０】
前記変調制約を各データ・ブロックの第１の部分に適用するステップはさらに、各データ・ブロック内の９ビットを、前記制約された出力内の10ビットに、ショート・ブロック・エンコーダを用いてマッピングするステップを含むことを特徴とする請求項１８記載の方法。
【請求項２１】
前記変調制約を各データ・ブロックの第１の部分に適用するステップはさらに、各データ・ブロック内の13ビットを、前記制約された出力内の14ビットに、ショート・ブロック・エンコーダを用いてマッピングするステップを含むことを特徴とする請求項１８記載の方法。
【請求項２２】
前記偶数インターリーブに変調制約を課すステップは、Ｎ個の偶数ビットをＮ個の制約された偶数ビットにマッピングするステップを含み、前記奇数インターリーブに変調制約を課すステップは、Ｎ個の奇数ビットをＮ個の制約された奇数ビットにマッピングするステップを含むことを特徴とする請求項１８記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ショート・ブロック・エンコーダを用いたデータに変調制約を課す技術に関するものであり、より具体的には、偶数及び奇数のインターリーブに変調制約を課す前に、ショート・ブロック・エンコーダを用いて、各データ・ブロック内のビットのサブセットに変調制約を課す技術に関するものである。
【背景技術】
【０００２】
ディスク・ドライブは、磁気ハード・ディスクのようなデータ記憶ディスクにデータ・ビットを書き込むことができる。ディスク・ドライブは、データ・ディスクに記憶されたデータ・ビットを読み込むこともできる。データ・ビットの一部のシーケンスはディスク上に書き込むことが困難であり、データのリードバック中にエラーを起こすことが多い。
【０００３】
バイナリ・シーケンスは、公知の技術によってプリコーダ及び逆プリコーダを用いて、ルーチンとしてある表示から別の表示へ変換される。本発明の説明において、すべてのバイナリ・シーケンスは、1/1+1DでコンボルブするプリコーダによってNRZI表示に、または1/(1+D2)でコンボルブするプリコーダによってNRZ表示に変換することができるPR4シーケンスとして表される。
【０００４】
連続する０の長いシーケンス（例えば、連続する40個の０）は、エラーが起きやすいデータ・ビット・パターンの例である。また、０が交互に出現する長いシーケンス（例えば、0a0b0c0d0…，a、b、c、dは0または1）もエラーが起きやすいデータ・ビット・パターンの例である。
【０００５】
従って、ユーザの入力データからエラーが起きやすいビット・シーケンスを排除することが望ましい。エラーが起きやすいビット・シーケンスを排除することによって、ディスク・ドライブ・システムにおける検出器の動作とタイミングループの信頼性が確保される。エラーが起きやすいビット・シーケンスを排除する１つの方法は、エラーが起きやすいビット・パターンを、ルックアップ表のメモリに記憶されているエラーが起きにくいビット・シーケンスに置き換えることである。しかし、ルックアップ表は、大量のメモリを必要とするため、非常に長いビット・シーケンスとの置き換えには望ましくない。
【０００６】
多くのディスク・ドライブは変調エンコーダを備えている。変調エンコーダは、エラーが起きやすいビット・シーケンスを除去するために変調コードを用いる。フィボナッチ・コードは、変調エンコーダによって用いられる変調コードの１例である。フィボナッチ・コードは、記録されたデータに変調コードの制約を課して、エラーが起きやすいビット・シーケンスを除去するための１つの効果的な方法である。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
フィボナッチ・エンコーダは、入力された数値をフィボナッチ・ベースの対応する数値表示にマッピングする。フィボナッチ・エンコーダは、Ｋビットの入力ベクトルをＮビットの出力ベクトルにマッピングする。フィボナッチ・エンコーダは、ＮｘＫのバイナリ・マトリックスとして記憶されるＮベクトルのベースを用いる。上記記憶されたベースに関して入力ベクトルにユークリッドの互除法を連続的に適用することによって、長さＮのエンコードされたベクトルが得られる。
【０００８】
フィボナッチ・コードは、当然のことながら、１つの数字が連続して長く続かないように構成される。これは文献ではｊ制約として表され、変数ｊはある数字の最長許容回数を数える。フィボナッチ・コードの軽微な変更は、上記エンコードされたシーケンスを反転させることによって行われる。この反転されたフィボナッチ・コードによって、連続する０の数字が長く続かないようにされる。この制約は、文献では制約ｋまたは制約Ｇなどとして表され、変数ｋ（またはＧ）は、０の最長許容回数を数える。
【０００９】
最大遷移ラン（MTR）コードは、1/(1+D)プレコーダと共に用いられる１つの特定のタイプの変調コードである。MTRコードに関しては、制約ｊは連続する１の最大数、制約ｋは連続する０の最大数、制約ｔは同じビットの連続するペア（例えば。Aabbccddee…）の最大数を意味する。
【００１０】
上に述べられたような0a0b0c0d0という形のエラーが起きやすいシーケンスは、変数Ｉが偶数または奇数のサブシーケンスにおける連続する０の最長回数を数える、制約Ｉによって除去される。従って、変調エンコーダにフィボナッチ・コードの構造を延長させ、制約Ｇ及びＩの組み合わせを含んでいることが望ましい。
【００１１】
本発明は、ショート・ブロック・エンコーダを用いたデータ・ストリームに変調制約を適用するための技術を提供する。
【課題を解決するための手段】
【００１２】
ショート・ブロック・エンコーダは、各データ・ブロック内のビットのサブセットに変調制約を適用する。その後、データ・ブロック内の偶数及び奇数のインターリーブは２つのデータ経路に分けられる。第１の変調エンコーダは、偶数ビット用の変調制約に従って偶数ビットをエンコードする。第２の変調エンコーダは、奇数ビット用の変調制約に従って奇数ビットをエンコードするが、それは一般に偶数ビット用の変調制約と一致する。その後、上記制約を課された偶数及び奇数のインターリーブはインターリーブされ、１つのシリアル・データ・ストリームを形成する。
【００１３】
本発明による１つの実施の形態によれば、本発明によるショート・ブロック・エンコーダは、偶数ビット及び奇数ビットの変調エンコーダがＭビットの入力ベクトルのＭビットの出力ベクトルへのマッピングを可能にすることによって、もたらされるインターリーブされたコードの速度を向上させる。上記コード全体は、(2M-1)ビットのベクトルを2Mビットのベクトルに変換する。
【００１４】
本発明のその他の目的、特徴及び利点は、以下の詳しい説明及び添付の図表を検討すれば明らかになるであろう。以下の詳しい説明及び添付の図表において、同様の参照番号は、図表全体を通して同様の特徴を表す。
【発明の効果】
【００１５】
本発明によるショート・ブロック・エンコーダによれば、偶数ビット及び奇数ビットの変調エンコーダがＭビットの入力ベクトルのＭビットの出力ベクトルへのマッピングを可能にすることによって、もたらされるインターリーブされたコードの速度を向上させることができる。
【発明を実施するための最良の形態】
【００１６】
図１は、本発明による変調エンコード・スキームの１つの一般化された実施の形態を示す。図１の実施の形態では、変調制約を各データ・ブロックのサブセットに課すショート・ブロック・エンコーダが用いられる。デマルチプレクサは、ショート・ブロック・エンコーダによって生成されるビットなど上記データ・ブロック内の偶数及び奇数のインターリーブを分ける。その後、２つの変調エンコーダは、偶数及び奇数のインターリーブに制約を別々に課す。
【００１７】
図１の実施の形態では、Ｎビットの入力数をＮビットの出力数にマッピングする２つのフィボナッチ・エンコーダが用いられる。図１の変調エンコード・スキームでは、データが変調エンコードされる前に、ショート・ブロック・エンコーダ101をデータに加えることによって、インターリーブされたデータにＮビット対Ｎビットのマッピングを行うことができる。上記ショート・ブロック・エンコーダは、データのうち可能な数値の数を減らすデータに制約を課す。Ｎビットの出力数が、２Ｎ個の可能な値より少なくなるように制約されたとしても、この技術によって、変調エンコーダは、Ｎビット対Ｎビット・ベースで、数が減らされたＮビットの入力数のセットをＮビットの出力数にマッピングすることが可能になる。
【００１８】
図１の実施の形態で、2N - Xビットの一部Ｐは、ショート・ブロック・エンコーダ101へ送り込まれる。ショート・ブロック・エンコーダ101は、データ・ブロックの上記第１のＰビットを、１セットのP+Ｘショート・ブロック・ビットに置き換える。ショート・ブロック・エンコーダ101は、例えば、ユーザ・データ内のＰビットの各可能なセットを１セットのP+Xショート・ブロック・ビットにマッピングするルックアップ表であってもよい。上記P+Ｘショート・ブロック・ビットは、上記ルックアップ表から選択され、Ｐビットの代わりに置き換えられる。ショート・ブロック・エンコーダ101は、入力データの各ブロックの可能な数値の数を減らすために、ＰビットをP+Ｘビットに単純にマッピングし、特定のセットの制約を実行する。
【００１９】
デマルチプレクサ102は、エンコーダ101のP+Ｘ個の出力ビット及び残り2N-Ｘ+Ｐビットのデータ・ブロックを受け取る。デマルチプレクサ102は、得られた２N個のデータ・ビットをその偶数及び奇数のインターリーブに分割する。
【００２０】
フィボナッチ・エンコーダ103は、上記Ｎ個の偶数インターリーブを、フィボナッチ・ベースを用いたグローバル偶数ビット制約Geに従って制約されるＮ個の出力ビットに変換する。フィボナッチ・エンコーダ104は、Ｎ個の奇数インターリーブを、フィボナッチ・ベースを用いたグローバル奇数ビット制約Goに従って制約されるＮ個の出力ビットに変換する。フィボナッチ・エンコーダ103と104のいずれもが、数が少なくなったＮビットの入力数をＮビットの出力数に変換し、従って、Ｎビット対Ｎビットのマッピングが行われる。本発明の別の実施の形態によれば、エンコーダ103及び104は、フィボナッチ・エンコーダ以外の別のタイプの変調エンコーダでもよい。
【００２１】
マルチプレクサ105は、上記制約を課された偶数及び奇数ビットをインターリーブし、インターリーブされたデータ出力ベクトルを生成する。図１のシステムへの2N-Xデータ・ビット入力の各ブロックについて、２Nビットがマルチプレクサ105の出力で生成される。付加的なＸビットは、ショート・ブロック・エンコーダ101によって追加される。
【００２２】
マルチプレクサ105の出力ベクトルは、グローバル制約Ｇ及びインターリーブされる制約Ｉを有する。出力データのグローバル制約は、Ge≠Goの場合にはG = 1 + 2 x min（Ge, Go）によって、Ge = Goの場合にはG = 2 x Geによって決定される。出力データのインターリーブされた制約は、I = max（Ge、Go）によって決定される。
【００２３】
図２は、3/4ショート・ブロック・エンコーダを有する変調エンコード・スキームの１つの具体例を示す。ショート・ブロック・エンコーダ201は、入力データのうち最初の３ビット（x1, x2, x3）を、ルックアップ表から選択される4ビット（y０, y１, y２, y３）にマッピングする。ショート・ブロック・エンコーダ201は、３対４マッピングを行い、制約（y0,  y2）≠（１, １）及び（y1,  y3）≠（１, １）を実行する。表１は、この例に従ってショート・ブロック・エンコーダ201によって行われるマッピングを示す。
【００２４】
【表１】
2006209953.tif 000003
従って、ショート・ブロック・エンコーダ201は３ビットの入力ベクトル（x1, x2, x3）を受け取り、199ビットのデータ・ブロックのそれぞれについて４ビットの出力ベクトル（y0, y1, y2, y3）を生成する。デマルチプレクサ202は、ショート・ブロック・エンコーダ201の上記４ビットの出力ベクトル（y0, y1, y2, y3）及び残り196ビットのベクトル（y4, y5, …, y198, y199）を受け取る。デマルチプレクサ202は上記偶数及び奇数のインターリーブを分けて、100個の偶数ビットy0, y2, y4…, y198のストリーム及び100個の奇数ビットy1, y3, y5…, y199のストリームを生成する。
【００２５】
フィボナッチ・エンコーダ203は上記100ビットの偶数インターリーブを100ビットのフィボナッチ・コードにマッピングし、フィボナッチ・エンコーダ204は上記100ビットの奇数インターリーブを100ビットのフィボナッチ・コードにマッピングする。マルチプレクサ205は上記２つのフィボナッチ・コードをインターリーブし、200ビットの組み合わせられたデータ・ストリームを生成する。
【００２６】
ショート・ブロック・エンコーダ201は、フィボナッチ・エンコーダ203及び204へ入力として送られることが可能な数値の数を25％減らす。ユーザ・データの最初の２つの偶数ビットが11にならないようにすることによって、ビットy0及びy2に対する４つの可能な数値のうち３つのみが許容される（00，01及び10）。100ビットの偶数インターリーブに対する可能な整数の数は25％減るが、その理由は、11で始まる可能な100ビットの整数のうち4分の１が許容されないためである。結果として、フィボナッチ・エンコーダ203は、100ビットの偶数インターリーブに対する２100個の可能な数値のうち最大75％をマッピングするだけでよい。フィボナッチ・エンコーダ203は、２100個の可能な値のうちわずか25％がグローバル偶数ビット制約Geによって禁止される限り、すなわち、対応するフィボナッチ・コードが少なくとも３ｘ２98個のコード・シーケンスを有する限り、100ビット対100ビット（Ｎビット対Ｎビット）のマッピングを行うことができる。
【００２７】
同じ原則が奇数のインターリーブについても適用される。データ・ブロックの最初の２つの奇数ビット（y1及びy3）が11にならないようにすることによって、ビットy1及びy3に対する４つの可能な数値のうち３つのみが許容される（00，01及び10）。100ビットの奇数インターリーブに対する可能な整数の数は25％減るが、その理由は、11で始まる可能な100ビットの整数のうち4分の１は許容されないためである。結果として、フィボナッチ・エンコーダ204は、100ビットの奇数インターリーブに対する２100個の可能な値のうち最大75％をマッピングするだけでよい。フィボナッチ・エンコーダ204は、２100個の可能な値のうちわずか25％がグローバル奇数ビット制約Goによって禁止される限り、すなわち、対応するフィボナッチ・コードが少なくとも３ｘ２98個のコード・シーケンスを有する限り、100ビット対100ビット（Ｎビット対Ｎビット）のマッピングを行うことができる。
【００２８】
３対４ビットのショート・ブロック・マッピングによって、フィボナッチ・エンコーダ203及び204は、以下の理由により、数が少なくなった100ビットの入力数を100ビットのフィボナッチ出力数にマッピングすることができる（100ビット対100ビットのマッピング）。１つのフィボナッチ・エンコーダは、フィボナッチ・エンコード技術を用いて1対1で、199ビットのデータ・ブロックを、200ビットの制約されたデータ・ブロックに(Ｎ−１)Ｎの速さでマッピングすることができる。199/200フィボナッチ・エンコーダのサイズを半減して記憶スペースの必要を減らすためには、入力数が99.5ビットであって、出力数が100ビットであることが求められる。
【００２９】
理論上、99.5ビットのブロックは、２99.5個、すなわち、v２ｘ２99個あるいは約（1.41421）ｘ２99個の可能な数値を有することになる。これは、99.5ビットのブロックが約Ｘ＝（1.41421）ｘ２99個の可能な値を有することを意味する。100ビットのブロックは、Y＝２ｘ２99個の可能な値を有する。速度99.5/100の変調エンコーダは、すべての可能な出力値を別個の出力コード・シーケンスにマッピングするために、少なくともＸ個のコード・シーケンスを有する必要がある。
【００３０】
従って、２100個の制約を課されていない100ビットの可能なシーケンスのうち、約Ｘ＝（1.41421）ｘ２99個のコード・シーケンスのみが必要とされ、それは100ビットの可能なシーケンス総数のうち約70.7％にあたる。100ビットのブロックの値のうち残り29.3％は変調制約Ｇによって禁止することが可能である。
【００３１】
ショート・ブロック・エンコーダ201は、ユーザ・データ・ビットのブロックがそれらの可能な値の3/4のみを持つように制限するので、フィボナッチ・エンコーダ203及び204は、０から３ｘ２98−１の範囲の100ビットの入力数である２100個の可能な値のうち最大で75％をマッピングしさえすればよい。ショート・ブロック・エンコーダ201は、より速度が速い別のショート・ブロック・エンコーダと交換することが可能であり、それによって100ビットの入力数の範囲が減る。ショート・ブロック・エンコーダの速度が199/200である限定的な場合には、必要なコード・シーケンスの数は、X/Yが少なくともv2/2である限り（約70.7％）、約Ｘに減らすことが可能である。
【００３２】
図１と図２の変調エンコード・スキームでは、ユーザ・ビットのサブセットを制約されたビットのセットと交換することによって、インターリーブされた変調エンコーダの複雑性と必要な記憶容量が実質的に減少する。本発明によるショート・ブロック・エンコーダは、ユーザ・ビットのいずれの望ましい数でも制約されたビットと交換することができる。ショート・ブロック・エンコーダ201は、本発明の単なる例として説明されるものであり、本発明の範囲を３対４ビット・マッピングに限定する意図はない。当業者であれば、本発明には多くの異なるタイプのショート・ブロック・エンコーダが含まれることを理解するであろう。
【００３３】
次に、本発明の別の実施の形態について説明する。速度(2K-1)/2Kのショート・ブロック制約コーディングは、入力ビット・シーケンスx1, x2, …, x2K-1を出力ビット・シーケンスy0, y1, …, y2K-1に変換し、そこで、出力シーケンスの偶数及び奇数インターリーブの両方が、以下のとおりに定義される同一の制約を満たす。z12K-1＋z22K-1＋…＋zK-12＋zKは、[2(2K-1)/2]、すなわち、2(2K-1)の平方根よりも大きいかまたは等しい最小の整数のバイナリ表示であるとする。
【００３４】
上記ショート・ブロック・エンコーダによって適用される制約は、それぞれ偶数及び奇数のインターリーブ、y0, y2, …, y2K-2及びy1, y3, …, y2K-1が、最も重要なビットが左端に位置している辞書式順序に関して、Ｋビットのシーケンスz1, z2, …, zKよりも小さいという必要条件によって与えられる。例えば、9/10ショート・ブロック・エンコーダでは、各インターリーブにおいて、ビット・ストリームは、10111よりも小さい５ビット・シーケンスで必ず始まる。例えば、数列11000は許されないが、10110は有効な５ビット・ストリングである。両方のインターリーブが同一の制約を満たすので、結果としてもたらされる変調コードは、偶数及び奇数のインターリーブに関して均衡している。
【００３５】
速度9/10の制約コードを有するショート・ブロック・エンコーダの1つの実施の形態が図３に示される。図３の実施の形態には、ショート・ブロック・エンコーダ301、デマルチプレクサ302、フィボナッチ・エンコーダ303、304及びパラレル対シリアル・コンバータ（またはマルチプレクサ）305が含まれている。ショート・ブロック・エンコーダ301は、受け取られた各データ・ブロックの最初の９ビットに制約を課す。ショート・ブロック・エンコーダ301は、各データ・ブロックの上記最初の９ビットを10出力ビットにマッピングし、速度9/10のコードを提供する。
【００３６】
デマルチプレクサ302は、偶数及び奇数のインターリーブを、元のデータ・ブロックの残り190ビットのベクトル（y10, y11, …, y199）及びエンコーダ301の10ビット出力ベクトルから切り離す。フィボナッチ・エンコーダ303は、偶数のインターリーブに変調制約を課して、制約された偶数のインターリーブを生成する。そして、上に述べたように、フィボナッチ・エンコーダ304は、奇数のインターリーブに変調制約を課して、制約された奇数のインターリーブを生成する。パラレル対シリアル・コンバータ305は、上記制約された偶数及び奇数のビットを１つのシリアル・データ・ストリームに組み合わせる。
【００３７】
速度9/10のショート・ブロック・エンコーダ301の10ビット出力シーケンスy0, y1, …, y9への制約は、以下によって与えられる。
(y0, y2) ≠ (1, 1)
(y１, y３) ≠ (1, 1)
(y0, y2, y4, y6, y8) ≠ (1, 0, 1, 1, 1)
(y1, y3, y5, y7, y9) ≠ (1, 0, 1, 1, 1)
これらの制約によって、最大の偶数／奇数出力シーケンスは、10110を越えない５ビットのプレフィックスを必ず有するようになる。ブール方程式において、これらの制約は以下によって特徴づけられる。
y0 y2 ＝ 0
y1 y3 ＝ 0
y0〜y2 y4 y6 y8 ＝ 0
y1〜y3 y5 y7 y9 ＝ 0
記号〜は否定を表し、乗法はANDを表し、加法はORを表す。これら３つの演算のうち、否定の優先度が最も高く、ORの優先度が最も低い。速度9/10のエンコーダ301は、ゲーティッド・パーティション技術を用いると、効果的に実行される。４つのパーティションm1-m4は以下のブール変数によって指定され、ここでx1-x9はエンコーダ301への９ビットの入力を表す。
m1 ＝〜x1
m2 ＝ x1 x2〜(x4 x6 x8)
m3 ＝ x1 x2〜(x5 x7 x9)
m4 ＝〜(m1 + m2 + m3)
エンコーダ301の入力／出力マップは以下によって指定される。
y0 ＝ m2 + m4
y1 ＝ m3 + m4
y2 ＝ m1 x2 + m3 x3
y3 ＝ m1 x3 + m2 x3
y4 ＝〜m4 x4  + m4 x3
y5 ＝〜m4 x5 + m4 (x2 x5 +〜x2 x4)
y6 ＝〜m4 x6 + m4 (x2 x7 +〜x2 x6〜x8)
y7 ＝〜m4 x7 + m4 (x2 x9 +〜x2 x6 x8)
y8 ＝〜m4 x8 + m4〜x2 x8
y9 ＝〜m4 x9 + m4〜x2〜x8
本発明は、ショート・ブロック・エンコーダによってエンコードされたデータ・ブロック・ベクトルを、元のデータ・パターンに戻す変換を行うショート・ブロック・デコーダも含んでいる。エンコーダ301に対応するショート・ブロック・デコーダは、上に述べられたショート・ブロック・マッピングを反転することによって、10ビットのベクトルのセットを９ビットのベクトルに変換する。そのようなショート・ブロック・デコーダの１つの実施の形態では、５つの補助変数q1- q5を用いて、以下のブール演算式によって逆マッピングを計算する。
q1 ＝〜(y0 + y1)
q2 ＝ y0〜y1
q3 ＝〜y0 y1
q4 ＝ y0 y1
q5 ＝ y8 + y9
x1 ＝ q2 + q3 + q4
x2 ＝ q1 y2 + q2 + q4〜q5
x3 ＝ (q1 + q2) y3 + q3 y2 + q4 y4
x4 ＝〜q4 y4 + q4 (〜q5 + y5)
x5 ＝〜q4 y5 + q4 (q5 + y5)
x6 ＝〜q4 y6 + q4 (〜q5 + y6 + y7)
x7 ＝〜q4 y7 + q4 (q5 + y6)
x8 ＝〜q4 y8 + q4 (〜q5 + y8)
x9 ＝〜q4 y9 + q4 (q5 + y7)
速度9/10のショート・ブロック・エンコーダ301は47個の２入力ゲートを有し、対応するショート・ブロック・デコーダは42個の２入力ゲートを有する。このゲート・カウントは、89個の２入力ゲートのエンコーダ／デコーダのペアに対して全体的な複雑性をもたらす。
【００３８】
速度13/14の制約されたコードを有するショート・ブロック・エンコーダの1つの実施の形態は、図４に示される。図４の実施の形態には、ショート・ブロック・エンコーダ401、デマルチプレクサ402、フィボナッチ・エンコーダ403、404及びパラレル対シリアル・コンバータ（またはマルチプレクサ）405が含まれている。ショート・ブロック・エンコーダ401は、受け取られた各データ・ブロックの最初の13ビットに制約を課す。ショート・ブロック・エンコーダ401は、各データ・ブロックの13ビットのベクトルを14ビットの出力ベクトルにマッピングし、速度13/14のコードを提供する。
【００３９】
デマルチプレクサ402は、偶数及び奇数のインターリーブを、元のデータ・ブロックの残り186ビットのベクトル（y13, y14, …, y199）及びエンコーダ401の14ビットの出力ベクトルから切り離す。フィボナッチ・エンコーダ403は、偶数のインターリーブに変調制約を課して、制約された偶数のインターリーブを生成する。フィボナッチ・エンコーダ404は、奇数のインターリーブに変調制約を課して、制約された奇数のインターリーブを生成する。パラレル対シリアル・コンバータ405は、上記制約された偶数及び奇数のビットを１つのシリアル・データ・ストリームに組み合わせる。
【００４０】
速度9/10のショート・ブロック・エンコーダ401の14ビットの出力シーケンスy0, y1, …, y13に課される制約は、以下によって与えられる。
(y0, y2) ≠ (1, 1)
(y1, y3) ≠ (1, 1)
(y0, y2, y4, y6, y8) ≠ (1, 0, 1, 1, 1)
(y1, y3, y5, y7, y9) ≠ (1, 0, 1, 1, 1)
(y0, y2, y4, y6, y8, y10, y12) ≠ (1, 0, 1, 1, 0, 1, 1)
(y1, y3, y5, y7, y9, y11, y13) ≠ (1, 0, 1, 1, 0, 1, 1)
これらの制約によって、最大の偶数／奇数のインターリーブされた出力シーケンスは、1011010を越えない７ビットのプレフィックスを必ず有するようにされる。対応するブール方程式は、以下によって与えられる。
y0 y2 ＝ 0
y1 y3 ＝ 0
y0〜y2 y4 y6 y8 ＝ 0
y1〜y3 y5 y7 y9 ＝ 0
y0〜y2 y4 y6〜y8 y10 y12＝ 0
y1〜y3 y5 y7〜y9 y11 y13 ＝ 0
速度13/14のエンコーダ401のブール論理を実行する１つの例では、以下の論理関数によって示される補助変数r1からr12を用いて、入力ビット・シーケンスx1, x2, x3,…, x13を出力シーケンスy0, y1, y2…, y13にマッピングする。
r1 = x4 x6
r2 = x3 r1
r3 = x8 r1
r4 =〜x8 r1
r5 = x5 x7
r6 = x3 r5
r7 = x9 r5
r8 =〜x9 r5
r9 = x1 x2
r10 = x1〜x2
r11 = x10 x12 r4
r12 = x11 x13 r8
上記エンコーダのブール論理を実行する例では、以下を満たす７つのパーティション、m1、m2、m3、m5、m6、m7、m8も用いられる。
m1 ＝〜x1
m2＝ r9〜r3〜r11
m3 ＝ r10〜r7〜r12
m4 ＝〜(m1 + m2 + m3)
m5 ＝ r9 r3
m6 ＝ r9 r11
m7 ＝ r10 r7
m8 ＝ r10 r12
13/14ショート・ブロック・エンコーダ401によってブール論理を実行する入力／出力マップは以下によって指定される。
y0 ＝ m2 + m4
y1 ＝ m3 + m4
y2 ＝ m1 x2 + m3 x3
y3 ＝ m1 x3 + m2 x3
y4 ＝〜m4 x4 + m5〜r5 x3 + m6 + m7〜r1 x3 + m8〜r1 x3
y5 ＝〜m4 x5 + m5〜r5 x5 + m6〜r5 x3 + m7〜r1 x4 + m8
y6 ＝〜m4 x6 + m5〜r5〜x3 + m6 + m7〜r1〜x3 + m8〜r1〜x3
y7 ＝〜m4 x7 + m5 (〜r5 x7 + r6) + m6〜r5〜x3 + m7(〜r1 x6 + r2) + m8
y8 ＝〜m4 x8 + m7 + m8 x8
y9 ＝〜m4 x9 + m5 x9 + m6 x9 + m7 x8
y10 ＝〜m4 x10 + m5 x10 + m6〜r5 x5 + m7 x10 + m8 x10
y11 ＝〜m4 x11 + m5 x11 + m6 x11 + m7 x11 + m8〜r1 x4
y12 ＝〜m4 x12 + m5 x12 +m6 (〜r5 x7 + r6) + m7 x12 + m8 x12
y13 ＝〜m4 x13 + m5 x13 + m6 x13 + m7 x13 + m8 (〜r1 x6 + r2)
エンコーダ401に対応するショート・ブロック・デコーダは、上に述べられたショート・ブロック・マッピングを反転することによって、14ビットのベクトルを13ビットのベクトルに変換する。速度13/14のショート・ブロック・エンコーダ用の上記デコーダによってブール論理を実行するには、以下に与えられる補助変数s1からs6を用いる。
s1 = y4 y6
s2 = y8 s1
s3 = y5 y7
s4 = y9 s3
s5 = y4 + y6
s6 = y5 + y7
上記デコーダによってブール論理を実行するには、以下を満たす７つのパーティション、q1, q2, q3, q5, q6, q7, q8が用いられる。
q1 ＝〜(y0 + y1)
q2 ＝ y0〜y1〜s2〜(s1〜 y8 y10 y12)
q3 ＝〜y0 y1〜s4〜(s3〜y9 y11 y13)
q4 ＝ y0 y1
q5 ＝ q4〜s1〜s3〜y8
q6 ＝ q4 s1〜s3
q7 ＝ q4〜s1〜s3 y8
q8 ＝ q4〜s1 s3
上記デコーダ用の入力／出力マップは以下のマッピングによって指定される。
x1 ＝ q2 + q3 + q4
x2 ＝ q1 y2 + q2 + (q5 + q6)
x3 ＝ (q1 + q2) y3 + q3 y2 + q5 (y4 +〜s5 y7) + q6 (y5 +〜s6 y12) +
q7 (y4 +〜s5 y7) + q8 (y4 +〜s5 y13) 
x4 ＝〜q4 y4 + q5 + q6 + q7（y５ +〜s5）+ q8 (y11 +〜s5)
x5 ＝〜q4 y5 + q5 (y5 + 〜s5) + q6 (y10 +〜s6) + q7 + q8
x6 ＝〜q4 y6 + q5 + q6 + q7 (s5 y7 +〜s5) + q8 (s5 y13 +〜s5) 
x7 ＝〜q4 y7 + q5 (s5 y7 +〜s5) + q6 (s6 y12 +〜s6) + q7 + q8
x8 ＝〜q4 y8 + q5 + q7 y9 + q8 y8
x9 ＝〜q4 y9 + q5 y9 + q6 y9 + q7
x10 ＝〜q4 y10 + q5 y10 + q6 + q7 y10 + q8 y10
x11 ＝〜q4 y11 + q5 y11 + q6 y11 + q7 y11 + q8
x12 ＝〜q4 y12 + q5 y12 + q6 + q7 y12 + q8 y12
x13 ＝〜q4 y13 + q5 y13 + q6 y13 + q7 y13 + q8
速度13/14のエンコーダ401は93個の２入力ゲートを有し、対応するデコーダは102個の２入力ゲートを有する。このゲート・カウントは、195個の２入力ゲートのエンコーダ／デコーダのペアに対して全体的な複雑性をもたらす。
【００４１】
本発明は、その特定の実施の形態を参照してここに述べられてきたが、修正の許容範囲、種々の変更及び代用が本発明では意図されている。いくつかの例で、本発明の特徴は、その他の特徴を対応して利用せずに、そして、述べられたような本発明の範囲から逸脱せずに、用いることができる。従って、数多くの修正は、本発明の本質的な範囲及び精神から逸脱せずに行われ、開示された特定の構成または方法に適用することができる。本発明が、開示された特定の実施の形態に限定されず、特許請求の範囲内のすべての実施の形態及び同等物を含むことが意図されている。
【図面の簡単な説明】
【００４２】
【図１】本発明の１つの実施の形態による、ショート・ブロック・エンコーダを含み、偶数及び奇数のインターリーブに変調制約を別個に課す変調エンコード・スキームを示す図である。
【図２】本発明の１つの実施の形態による、3/4ショート・ブロック・エンコーダを用いる変調エンコード・スキームの１例を示す図である。
【図３】本発明の１つの実施の形態による、9/10ショート・ブロック・エンコーダを用いる変調エンコード・スキームの１例を示す図である。
【図４】本発明の１つの実施の形態による、13/14ショート・ブロック・エンコーダを用いる変調エンコード・スキームの１例を示す図である。
【符号の説明】
【００４３】
101…ショート・ブロック・エンコーダ、
102…デマルチプレクサ、
103…フィボナッチ・エンコーダ、
104…フィボナッチ・エンコーダ、
105…マルチプレクサ、
201…ショート・ブロック・エンコーダ、
202…デマルチプレクサ、
203…フィボナッチ・エンコーダ、
204…フィボナッチ・エンコーダ、
205…マルチプレクサ、
301…ショート・ブロック・エンコーダ、
302…デマルチプレクサ、
303…フィボナッチ・エンコーダ、
304…フィボナッチ・エンコーダ、
305…パラレル対シリアル・コンバータ（またはマルチプレクサ）、
401…ショート・ブロック・エンコーダ、
402…マルチプレクサ、
403…フィボナッチ・エンコーダ、
404…フィボナッチ・エンコーダ、
405…パラレル対シリアル・コンバータ（またはマルチプレクサ）。
【図１】
2006209953.tif 000004
【図２】
2006209953.tif 000005
【図３】
2006209953.tif 000006
【図４】
2006209953.tif 000007