(57)【特許請求の範囲】
【請求項１】
複数のシンボルにより表わされた入力信号を符号化する方法であって、
該入力信号を、複数のシンボルから成る少なくとも２つの第１の部分集合と、１つもしくは複数のシンボルから成る単一の第２の部分集合とに分割するステップと、
該シンボルの第１の部分集合のそれぞれについて、ブロックデジタル和がゼロでない符号語を選択するステップと、
該シンボルの第２の部分集合から制御パラメータを決定するステップと、
選択されたそれぞれの該符号語、および該制御パラメータに基づいて、チャンネル系列を規定するチャンネル符号語を生成するステップであって、規定された該チャンネル系列のブロックデジタル和がゼロとなるようにするステップと、を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、
該チャンネル符号語を生成するステップが、該制御パラメータに基づいて特定の符号語中の全シンボルを反転するサブステップを含む方法。
【請求項３】
複数のシンボルにより表わされた入力信号を符号化する方法であって、
該入力信号を、複数のシンボルから成る少なくとも２つの第１の部分集合と、１つもしくは複数のシンボルから成る単一の第２の部分集合とに分割するステップと、
該シンボルの第１の部分集合について、それぞれに対応するコードブックから同一の数のシンボルから成る第１の符号語をそれぞれ選択するステップであって、該第１の符号語の各々がそれぞれ異なるブロックデジタル和を有し、該第１の符号語についてのすべてのブロックデジタル和の総和がゼロであるようなステップと、
該シンボルの第２の部分集合から制御パラメータを決定するステップと、
該制御パラメータに基づいて、該第１の符号語の順番を並べ替えることにより、チャンネル系列を生成するステップと、を含むことを特徴とする方法。
【請求項４】
請求項３に記載の方法において、
複数個の該第１の符号語が、ブロックデジタル和Ｘを有する符号語と、ブロックデジタル和−Ｘを有する符号語の少なくとも１つの対から成るものである方法。
【請求項５】
複数のシンボルにより表わされた入力信号を符号化する方法であって、
該入力信号を、複数のシンボルから成る少なくとも２つの第１の部分集合と、１つもしくは複数のシンボルから成る単一の第２の部分集合とに分割するステップと、
該シンボルの第１の部分集合に基づいて、コードブックからブロックデジタル和がゼロでない符号語をそれぞれ選択するステップと、
該シンボルの第２の部分集合に基づいて、制御コードブックから制御符号語を選択するステップであって、該制御符号語が、該符号語の数に等しい数の制御シンボルから成るステップと、
選択された該制御符号語のそれぞれの制御シンボルに従って、特定の符号語中の全シンボルを反転させて、チャンネル系列を規定するチャンネル符号語を生成するステップであって、該チャンネル系列のブロックデジタル和がゼロとなっているようなステップと、を含むことを特徴とする方法。
【請求項６】
複数のシンボルにより表わされた入力信号を符号化する装置であって、
該入力信号を、複数のシンボルから成る少なくとも２つの第１の部分集合と、１つもしくは複数のシンボルから成る単一の第２の部分集合とに分割する手段と、
該シンボルの第１の部分集合のそれぞれについて、ブロックデジタル和がゼロでない符号語を選択する手段と、
該シンボルの第２の部分集合から制御パラメータを決定する手段と、
選択されたそれぞれの該符号語、および該制御パラメータに基づいて、チャンネル系列を規定するチャンネル符号語を生成する手段であって、規定された該チャンネル系列のブロックデジタル和がゼロとなるようにする手段と、を含むことを特徴とする装置。
【請求項７】
請求項６に記載の装置において、
該チャンネル符号語を生成する手段が、該制御パラメータに基づいて特定の符号語中の全シンボルを反転するよう動作する装置。
【請求項８】
複数のシンボルにより表わされた入力信号を符号化する装置であって、
該入力信号を、複数のシンボルから成る少なくとも２つの第１の部分集合と、１つもしくは複数のシンボルから成る単一の第２の部分集合とに分割する手段と、
該シンボルの第１の部分集合について、それぞれに対応するコードブックから同一の数のシンボルから成る第１の符号語をそれぞれ選択する手段であって、該第１の符号語の各々がそれぞれ異なるブロックデジタル和を有し、該第１の符号語についてのすべてのブロックデジタル和の総和がゼロであるような手段と、
該シンボルの第２の部分集合から制御パラメータを決定する手段と、
該制御パラメータに基づいて、該第１の符号語の順番を並べ替えることにより、チャンネル系列を生成する手段と、を含むことを特徴とする装置。
【請求項９】
請求項８に記載の装置において、
複数個の該第１の符号語が、ブロックデジタル和Ｘを有する符号語と、ブロックデジタル和−Ｘを有する符号語の少なくとも１つの対から成るものである装置。
【請求項１０】
複数のシンボルにより表わされた入力信号を符号化する装置であって、
該入力信号を、複数のシンボルから成る少なくとも２つの第１の部分集合と、１つもしくは複数のシンボルから成る単一の第２の部分集合とに分割する手段と、
該シンボルの第１の部分集合に基づいて、コードブックからブロックデジタル和がゼロでない符号語をそれぞれ選択する手段と、
該シンボルの第２の部分集合に基づいて、制御コードブックから制御符号語を選択する手段であって、該制御符号語が、該符号語の数に等しい数の制御シンボルから成る手段と、
選択された該制御符号語のそれぞれの制御シンボルに従って、特定の符号語中の全シンボルを反転させて、チャンネル系列を規定するチャンネル符号語を生成する手段であって、該チャンネル系列のブロックデジタル和がゼロとなっているような手段と、を含むことを特徴とする装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタルシステムのための符号化の分野に関する。
【０００２】
【従来の技術】
情報（例えば、音声、データ、ビデオ、テキスト、あるいはそれらを符号化したものを表す信号）は一般に、通信チャネルを通じて送信される前あるいは媒体上に記録される前に処理されなければならない。まず、情報は、既にディジタル形式であるのでなければ、例えば、アナログ−ディジタル変換器によってディジタル化され、それにより、情報は２進数の集合すなわちビット｛０，１｝からの要素からなる記号（当該技術分野では、一般に“シンボル”と呼ばれる）として表現される。次に、ディジタル化された情報は、少数の記号（シンボル）で情報を表現するために圧縮されることがある。情報を表現する記号（シンボル）数の減少は、圧縮された情報が誤り訂正符号を用いて処理される場合には部分的に相殺されることもある。誤り訂正符号は信号に（例えば、ディジタル表現された圧縮された情報に）追加の記号（シンボル）を導入して、符号化された信号（符号化信号）を形成する。特に、誤り訂正符号は、信号における記号（シンボル）の群（情報語という）に作用する。各情報語は、所定の誤り訂正符号化規則に従って、より大きい記号（シンボル）群からなる符号語を生成するために使用される。（例えば、Ｓｈｕ  Ｌｉｎ  ａｎｄ  Ｄａｎｉｅｌ  Ｊ．  Ｃｏｓｔｅｌｌｏ，  Ｊｒ．，  ”Ｅｒｒｏｒ  Ｃｏｎｔｒｏｌ  Ｃｏｄｉｎｇ”，  Ｐｒｅｎｔｉｃｅ  Ｈａｌｌ，  Ｅｎｇｌｅｗｏｏｄ  Ｃｌｉｆｆｓ，  ＮＪ，  Ｕ．Ｓ．Ａ．，  １９８３を参照。）符号語からなる符号化された信号は、通信チャネルを通じて送信されるか、あるいは、媒体上に記録される。いずれの場合でも、符号化された信号は、無線チャネル上の環境ノイズ（落雷によって引き起こされる）のような伝送中あるいは記録プロセス中に導入されるノイズによって破損される。誤り訂正符号によって導入される追加の記号（シンボル）は、破損した符号化信号を受信するシステムが圧縮された情報を復元する能力を改善する。
【０００３】
重要なことであるが、もう一つのあるいは別の種類の符号化（変調符号化という）が、チャネルを通じての送信あるいは媒体上への記録の前に（誤り訂正符号を用いて生成された符号化信号のような）情報を処理するために使用されることが多い。特に、変調符号化は、（誤り訂正符号によって生成される符号語からなる記号群のような）入力記号群を変換し、入力記号群中の記号の数より多数の記号からなるチャネル符号語（変調符号語）を生成する。誤り訂正符号の場合と同様、変調符号化はシステムのノイズ耐性を改善する。おそらくさらに重要なことであるが、変調符号は、以下で説明するような記録通信システムにおいて、時間パラメータ（例えば、制御発信器や計数回路のパラメータ）を調整すること、および、利得パラメータ（例えば増幅回路のパラメータ）を調整するために使用可能である。
【０００４】
変調符号化は、例えば、入力記号群内の入力記号の可能な各組合せに対して、その入力記号群と対応するチャネル符号語との間の一対一写像を確定することによって実現される。略言すれば、入力記号の各組合せはチャネル符号語を一意的に指定し、逆もまた成り立つ。このような写像は、入力記号のグループをとり、それを（読み出し専用メモリあるいはランダムアクセスメモリのような）記憶装置のアドレスとして使用することによって確定することができる。ここで、アドレスの内容はチャネル符号語を構成する記号となる。この記憶装置をコードブックという。個々の入力記号群は、例えば逆コードブックを使用することによってチャネル符号語から取得すなわち復号することが可能である。逆コードブックにおいては、チャネル符号語が記憶装置内の位置のアドレスであり、アドレスの内容はチャネル符号語に対応する記号群である。
【０００５】
磁気媒体上に情報を記録するシステムにおいて、７個の２進数の列「１０１０００１」からなるチャネル符号語をその磁気媒体上で表現する場合を考える。この２進数列は、電流の流れを二つの相反する向きのうちの一方に変調すなわち制御するために使用することができる。その電流は、電流の向きに依存して二つの相反する向きのうちの一方を向く磁界を生成する。特に、ある向きからその逆向きへの電流の（その結果、磁界の）遷移は２進数列中の「１」に対応する。従って、電流および対応する磁界がそれぞれの「初期」の向きに確定していると仮定すると、この７個の２進数の列中の最初の「１」は、電流および対応する磁界を逆向きに遷移すなわちスイッチするように定める。７個の２進数の列中の最初の「０」の間は、電流および対応する磁界はその向き（最初とは逆の向き）にとどまる。３番目の２進数「１」は、電流および磁界を初期の向きに反転させ、７個の２進数の列中の次の３個の数字に対してはその向きでとどまる。すなわち、「０」は磁界の向きの変化を引き起こさない。２進数列中の７番目の数字は「１」であり、これは電流および対応する磁界を逆向きに遷移させる。
【０００６】
磁気媒体上にこの７個の２進数の列を表現するためには、磁気媒体は、２進数列の個々の数字にそれぞれ対応する部分に分割される。この磁気媒体の各部分は、チャネル符号語中の対応するビットに従って生成された磁界にさらされ、その結果、二つの向きのうちの一方の磁界によって磁化される。媒体上に記録される情報はチャネル列と呼ばれ、チャネル符号語によって定義される。チャネル列はチャネル記号からなるが、上記の情報中の記号およびチャネル符号語とは異なり、磁気媒体のチャネル列中のチャネル記号はバイポーラ（ｂｉｐｏｌａｒ）記号の集合｛−１，１｝から選択される。この記号の集合は、磁気媒体の各部分が二つの（ｂｉ−）相反する（極性の（ｐｏｌａｒ））向きのうちの一方に等しい強度（単位強度）で磁化されるという、チャネル列の物理的特徴をより良く反映している。
【０００７】
チャネル列を定義したチャネル符号語は、（１）媒体の部分の磁化の変化、および、（２）システム内のノイズ、によって引き起こされる電圧信号の変化を検出することによって読み出される。この電圧信号がパルスであるごとに「１」が検出され、ノイズだけであるごとに「０」が検出される。パルスの位置は、システムのタイミングパラメータに関する情報を運び、パルスの高さはシステムの利得パラメータに関する情報を運ぶ。しかし、重要なことであるが、「０」の長い列が読み出される場合、電圧出力は（ノイズ以外には）なく、従って、タイミングあるいは利得の情報もなく、それにより、タイミングおよび利得のパラメータの損失あるいはドリフトを引き起こす。
【０００８】
従って、正確なタイミングおよび利得の情報を確保するためには、チャネル符号語中の２進０の長い列の記録あるいは伝送を回避する変調符号化方式が使用される。
【０００９】
【発明が解決しようとする課題】
正確なタイミングおよび利得の情報を確保すること以外に、変調符号化は、「ＤＣフリー」なチャネル列からなる信号を生成するためにも使用される。具体的には、多くの場合、チャネル列は周波数０（ＤＣ）におけるスペクトルが０であること（これは、チャネルを通じて送信される（あるいは媒体上に記録される）列中のすべての記号のランニングディジタル和（すなわち、算術和）が有界であることを意味する）が好ましい。このような列をＤＣフリー（ＤＣのない列）であるといい、このような列は、さらにノイズ耐性が高いため好ましい。ＤＣフリーな列を保証する一つの方法は、チャネルを通じて伝送されるチャネル列中の記号のブロックディジタルすなわち算術和が０になるようなシステムを設計することである。しかし、効率的あるいは高レートの変調符号、すなわち、記録すべき情報に余分な数の記号を加えずに０の長い列が生じないようにすることができる符号もまた、ＤＣフリーなチャネル列を定義するが、一般に実装するのが複雑な回路を必要とし、送信あるいは記録のシステム内の他の要素に比べて高い電力消費および集積回路上の大きい面積を必要とする。同様に、このような高レート変調符号を復号するシステムもまた比較的複雑となる。従って、ＤＣフリーな高レート符号を用いて情報を符号化および復号する方法および装置の改善が必要とされている。
【００１０】
【課題を解決するための手段】
本発明によれば、与えられた数の記号からなりＤＣフリーであるチャネル符号語は、より少数の記号からなるＤＣフリーでない符号語に基づいて生成されることにより、このようなチャネル符号語を生成するための実装の複雑さを軽減することが可能となる。本発明によるチャネル符号語を生成する方法および装置は、複数の入力記号集合の各入力記号集合ごとにそれぞれの符号語を選択し、選択したそれぞれの符号語およびもう一つの入力記号集合（追加入力記号集合）に基づいてチャネル符号語を生成する。このチャネル符号語は、ブロックディジタル和が０のチャネル列を定義する。一実施例では、チャネル符号語は二つの符号語からなり、これらの二つの符号語は、それぞれのブロックディジタル和が逆符号となるチャネル列を定義し、チャネル符号語内の二つの符号語の順序は追加入力記号集合によって決定される。もう一つの実施例では、チャネル符号語は二つの符号語からなり、これらの二つの符号語は、それぞれの入力記号集合によって選択され、それぞれのブロックディジタル和が等しいチャネル列を定義し、追加入力記号集合に基づいて、二つの符号語のうちの一方の記号（従ってブロックディジタル和）の符号が逆にされる。
【００１１】
【発明の実施の形態】
図１は、本発明の方法が実行されるシステムのブロック図である。特に、図１のシステムは、ディジタルオーディオテープやディスクドライブのような磁気媒体を用いて情報の記録および読み出しを行うために使用される。
【００１２】
まず、情報は、レンペル・ジフ（Ｌｅｍｐｅｌ−Ｚｉｖ）圧縮器１１０を用いて圧縮され、媒体上に記録しなければならない情報の量を縮小することにより、（例えば、与えられた量の記録媒体上に記録可能な情報量を増やすことによって、あるいは、与えられた量の情報を保持するために必要な媒体の量を少なくすることによって）時間と費用を節約する。次に、圧縮された情報（圧縮情報）は符号器１２０に入力される。符号器１２０は圧縮情報をリード・ソロモン（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ）符号を用いて符号化する。リード・ソロモン符号化の目的は、圧縮情報中に追加の情報を導入して、読み出しプロセスで導入される誤りを減少させることである。レンペル・ジフ符号化およびリード・ソロモン符号化についての詳細は、それぞれ、Ｔｉｍｏｔｈｙ  Ｃ．  Ｂｅｌｌ  ｅｔ  ａｌ．，  ”Ｔｅｘｔ  Ｃｏｍｐｒｅｓｓｉｏｎ”，  Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ，  Ｅｎｇｌｅｗｏｏｄ  Ｃｌｉｆｆｓ，  ＮＪ，  Ｕ．Ｓ．Ａ．，  １９９０およびＳｈｕ  Ｌｉｎ  ａｎｄ  Ｄａｎｉｅｌ  Ｊ．  Ｃｏｓｔｅｌｌｏ，  Ｊｒ．，  ”Ｅｒｒｏｒ  Ｃｏｎｔｒｏｌ  Ｃｏｄｉｎｇ”，  Ｐｒｅｎｔｉｃｅ  Ｈａｌｌ，  Ｅｎｇｌｅｗｏｏｄ  Ｃｌｉｆｆｓ，  ＮＪ，  Ｕ．Ｓ．Ａ．，  １９８３に記載されている。
【００１３】
符号器１２０の出力は記号の列であり、各記号は一つ以上のビットの集合によって表現される。これらの記号は変調符号器１３０に入力される。変調符号器１３０は、チャネルを通じて送信される（あるいは媒体１４０上に記録される）チャネル列を定義する、Ｎ個の記号からなる符号語（以下「Ｎ記号符号語」という）を生成する。
【００１４】
チャネル列は等化器１５０で受信される。等化器１５０は、チャネル１４０で導入される歪み（例えば周波数および位相の歪み）を補償する。変調復号器１６０およびリード・ソロモン復号器１７０はそれぞれ、変調符号器１３０およびリード・ソロモン符号器１２０の符号化プロセスの逆を行う。その後、情報は、レンペル・ジフ圧縮解除器１８０において、リード・ソロモン復号器１７０の出力を圧縮解除することによって復元される。
【００１５】
上記のように、多くの場合、チャネル列は周波数０（ＤＣ）におけるスペクトルが０であることが好ましい。記号ｘｉからなるチャネル列ｘのパワー密度関数は、そのランニングディジタル和（ＲＤＳ）が有界であるときに限り周波数０において０になることがわかっている。ランニングディジタル和（ＲＤＳ）は次式で定義される。
【数１】
0003590209.tif 000002
ＤＣフリーな変調符号（この符号としては有限状態符号あるいはブロック符号がある）によって任意の記号の列をＲＤＳが有界なチャネル列へと符号化する方法は既知である。しかし、このような符号化技術は複雑であり、実装には大規模な回路が必要である。（例えば、Ｒ．  Ｋａｒａｂｅｄ  ａｎｄ  Ｐ．  Ｈ．  Ｓｉｅｇｅｌ，  ”Ｍａｔｃｈｅｄ  ｓｐｅｃｔｒａ−ｎｕｌｌ  ｃｏｄｅｓ  ｆｏｒ  ｐａｒｔｉａｌ  ｒｅｓｐｏｎｓｅ  ｃｈａｎｎｅｌｓ”，  ＩＥＥＥ  Ｔｒａｎｓ．  Ｉｎｆ．  Ｔｈｅｏｒｙ，  Ｖｏｌ．  ２８，  Ｎｏ．  ２，  ｐｐ．  ４３５−４３９，  Ｍａｒｃｈ  １９９１、および、Ｋ．  Ｊ．  Ｋｎｕｄｓｏｎ，  Ｊ．  Ｋ．  Ｗｏｌｆ  ａｎｄ  Ｌ．  Ｂ．  Ｍｉｌｓｔｅｉｎ，  ”Ａ  ｃｏｎｃａｔｅｎａｔｅｄ  ｄｅｃｏｄｉｎｇ  ｓｃｈｅｍｅ  ｆｏｒ  （１−Ｄ）  ｐａｒｔｉａｌ  ｒｅｓｐｏｎｓｅ  ｗｉｔｈ  ｍａｔｃｈｅｄ  ｓｐｅｃｔｒａｌ−ｎｕｌｌ  ｃｏｄｉｎｇ”，  Ｐｒｏｃ．  １９９３  ＩＥＥＥ  Ｇｌｏｂａｌ  Ｔｅｌｅｃｏｍｍ．  Ｃｏｎｆ．  （ＧＬＯＢＥＣＯＭ  ’９３），  Ｈｏｕｓｔｏｎ，  ＴＸ，  Ｕ．Ｓ．Ａ．，  ｐｐ．  １９６０−１９６４，  Ｎｏｖｅｍｂｅｒ  １９９３を参照。）
【００１６】
有限状態符号とは、符号化出力が、現在の入力および符号器の現在の状態の両方に依存し、現在の状態が以前の入力の関数であるような符号である。これに対して、ブロック符号では、Ｍ個の記号からなるブロック（情報語という）をとり、そのブロックをＮ個のチャネル記号からなるブロック（符号語という）に写像する。ブロック符号の使用のほうが有利となるいくつかの要因がある。そのような要因の一つは、ブロック符号は記憶なしで符号化されるため、誤り伝搬が制限されることである。すなわち、あるブロックを符号化するために使用された記号を用いて他のブロックを符号化するものではないため、符号化中の誤りは一般に個々のブロックに制限される。もう一つの要因は、実装が容易であることである。情報語から符号語への一対一写像を構成する最も簡単な方法は、２Ｍ個の符号語からなるコードブックを形成し、Ｍ個の記号からなる入力語を用いてコードブック内のＮ記号符号語を指定することである。比Ｍ／Ｎは変調符号のレートＲを定義する。注意すべき点であるが、受信した符号語を復号する場合、Ｍ個の記号からなる情報語（以下「Ｍ記号情報語」という）は、例えば、逆写像をとることによって、あるいは、逆コードブック内の組合せ論理回路によって復元することができる。
【００１７】
任意の符号語の列が有界なＲＤＳを有することを保証する一つの方法は、各符号語ｗ＝ｗ１，ｗ２，．．．，ｗＮの次式で定義されるブロックディジタル和（ＢＤＳ）が０に等しいことを要求することである。
【数２】
0003590209.tif 000003
バイポーラ記号の列を定義する符号語（例えば、バイポーラ記号＋１および−１からなる符号語）のＢＤＳが０に等しいことが可能となるのは、符号語長Ｎが偶数であり、かつ、記号の半数が−１であり半数が＋１である場合に限られる。このような符号語の数は次式に等しい。
【数３】
0003590209.tif 000004
しかし、注意すべき点であるが、ＢＤＳが０となる列を定義する高々２Ｍ個の符号語がレートＭ／Ｎの符号のコードブックを形成するために使用可能である。ここでＭは次式で与えられる。
【数４】
0003590209.tif 000005
また、関数ｆｌｏｏｒ（ｘ）は、ｘ以下の最大の整数を返す。
【００１８】
上記の説明は具体例を用いることによりさらに明らかになる。列のブロック長Ｎを４とする。以下の表１に示すように１６個の可能な記号の列があり、それらの列のうちの６個がＤＣフリーであって、星印で示されている。しかし、注意すべき点であるが、コードブック内の符号語の数は２の累乗であるため、この例におけるコードブックのサイズは４となり、表１におけるＤＣフリーな符号語のうちの２個は使用されず、それにより、符号レートが低くなる。以下の表２には、さまざまなＮの値に対するコードブックサイズおよび最大符号レートを列挙している。ただし、ＮはＤＣフリーな列の長さである。注意すべき点であるが、いくつかの場合には、上記の数４の条件により、多数の余分なＤＣフリー列が使用されない。例えば、Ｎ＝８の場合、ＤＣフリー列の数は７０であり、符号レートは０．７５であり、コードブックサイズは６４であり、６個のＤＣフリー列が使用されない。しかし、Ｎ＝１０の場合、２５２個の可能なＤＣフリー列がある。コードブックのサイズは１２８であり、１２４個の列が捨てられることにより、符号レートは０．７０に低下する。
【表１】
0003590209.tif 000006
【表２】
0003590209.tif 000007
【００１９】
いくつかの応用では（例えば、磁気記録への応用では）、チャネル列の大部分が情報を表現し、小部分が符号化を表現するように、変調符号のレートは３／４より高いことが好ましい。上記の表２によれば、３／４より大きいレートのためには、一般に、大きいブロック長の符号および大きいコードブックが要求される。例えば、レート１１／１４の符号ではブロック長は１４でコードブックサイズは２０４８符号語が要求され、レート１３／１６の符号ではブロック長は１６でコードブックサイズは８１９２符号語が要求される。サイズの大きいコードブックでは一般に小さいコードブックよりも、コードブックに記憶されている符号語にアクセスする時間が長くなり、集積回路に占める空間が広くなるため、符号器を実装する際には好ましくない。与えられた符号のレートを維持しながらコードブックのサイズを縮小するいくつかの方式が提案されているが、それらの技術はさらに複雑さを増すことになり、コードブックのサイズを大幅に縮小するものではない。
【００２０】
本発明によれば、与えられた符号レートに対するコードブックサイズを縮小する符号化方式が提供される。本発明の発明者の認識によれば、ＤＣフリーな変調符号を生成するために使用される従来のブロック符号化技術では、任意の符号語の列が有界なＲＤＳを有することを保証するために、コードブック内の各符号語が、ＢＤＳが０に等しい列を定義することが要求されていた。しかし、本発明の方法では、情報語が変調符号器に入力されると、任意のすなわち制限されないＢＤＳを有する列を定義する符号語が選択される。その後、選択された符号語を用いて、ＤＣフリーな列を定義する出力符号語を生成する。
【００２１】
図２に、ＤＣフリー列を生成する本発明の方法の第１実施例を示す。この実施例では、ｍ記号情報語の群がｑ個と、ｐ個の記号群一つが変調符号器１３０に入力される。ｍ個の入力記号からなる群はそれぞれ、コードブック２１０からｎ記号符号語を選択するために使用される。コードブック２１０は２ｍ個の符号語からなり、各符号語によって定義される列内の記号のＢＤＳはｘである。コードブック２１０は、読み出し専用メモリあるいはランダムアクセスメモリのような記憶装置で実装される。入力記号の集合によって選択される符号語｛ｍ１，ｍ２，．．．，ｍｑ｝はそれぞれ｛ｎ１，ｎ２，．．．，ｎｑ｝である。ｐ個の入力記号からなる群は制御コードブック２３０に入力される。制御コードブック２３０は、長さｑのバイポーラ記号の列を定義する２ｐ個の符号語を含む。その各列のＢＤＳは０である。ｐ個の記号からなる群は制御コードブック２３０から一つの符号語（制御符号語あるいは制御語という）を選択する。この制御符号語は、符号語の集合｛ｎ１，ｎ２，．．．，ｎｑ｝とともに反転器２２０に入力される。ｑ個の符号語はそれぞれ、制御符号語中のｑ個の記号のうちの一つに対応する。反転器２２０は、符号語のうちの半数の符号語中の記号を、制御語中の対応する記号に従って反転する。こうして、反転語は、符号語のうちの半数はＢＤＳがｘである列を定義し、半数はＢＤＳが−ｘである列を定義し、出力符号語（反転器２２０によって処理された後の符号語の集合｛ｎ１，ｎ２，．．．，ｎｑ｝）はＢＤＳが０の列を定義することになる。
【００２２】
上記の実施例を、本発明を用いる具体的な状況で例示するために、表２のレート１１／１４の符号を考える。これは、従来の技術では、サイズが２０４８符号語のコードブックを必要とする。図２に示した本発明の方法では、ＢＤＳが＋１の列を定義する７記号符号語からなる単一のコードブック（すなわち、図２のコードブック２１０）が使用される（例えば、列中の４個の記号が＋１であり、３個の記号が−１である）。このようなＢＤＳ＝１の列を定義する符号語は次式の通り３５個あり、それらの符号語のうちの３２＝２５個がコードブック２１０から選択される。
【数５】
0003590209.tif 000008
注意すべき点であるが、このコードブック内の符号語の各記号の符号が反転されると、その結果得られる反転された符号語はＢＤＳが−１の列を定義する。従って、レート１１／１４のＤＣフリー符号は、以下のようにして、図２の方法を用いて生成することができる。１１個の入力記号は、それぞれｍ＝５個の記号からなるｑ＝２個の群と、ｐ＝１個の記号からなるもう一つの群に分割される。ｍ＝５個の記号からなる第１および第２の群はそれぞれコードブック２１０内の７記号符号語を選択する。ｐ＝１個の記号は、二つの選択された符号語のうちのいずれの記号を反転器２２０で反転するかを指定する。これにより、ＢＤＳ＝＋１の７記号列（７個の記号からなる列）とＢＤＳ＝−１の７記号列からなるＤＣフリーな出力符号語が生成される。形式的にいえば以下のようになる。ｐ＝１個の入力記号は、制御コードブック２３０内の二つの符号語、すなわち、列（−１，１）を定義する符号語または列（１，−１）を定義する符号語のうちの一つを制御語として選択するために使用される。ここで、（−１，１）は、第１の７記号符号語の記号が反転されることを示し、（１，−１）は、第２の７記号符号語の記号が反転されることを示す。
【００２３】
図２の実施例はさまざまな状況で使用可能である。例えば、コードブック２１０内の符号語によって定義される列のＢＤＳは＋１である必要はない。ＢＤＳは、コードブック２１０で２ｍ個のエントリが利用可能である限り、任意の値とすることが可能である。
【００２４】
本発明のもう一つの実施例を図３に示す。それぞれｍ個の記号からなるｑ個の群と、ｐ個の記号からなる一つの群が変調符号器１３０に入力される。ｍ個の入力記号からなる群はそれぞれ、コードブック３１０−ｊ（ｊ＝１，２，．．．，ｑ）から符号語を一つずつ選択するために使用される。コードブック３１０−ｊは２ｍ個の符号語からなり、コードブック３１０−ｊ内のすべての符号語は同じＢＤＳ（ＢＤＳｊとする）の列を定義する。さらに、次式が成り立つようにする。
【数６】
0003590209.tif 000009
ｐ個の入力記号からなる群は制御コードブック３３０に入力される。制御コードブック３３０は２ｐ個の長さｑの符号語を含む。制御コードブックは、ＢＤＳが０の列を定義する符号語からなる。ｐ個の記号からなる群は、制御コードブック３３０から一つの制御符号語を選択する。この制御符号語は、選択された符号語｛ｎ１，ｎ２，．．．，ｎｑ｝とともに順序器３２０に入力される。順序器３２０は、ｐ個の記号によって規定される規則に従って符号語を並べ替える。すなわち、順序器３２０の出力は例えば｛ｎｑ，ｎ２，．．．，ｎ１｝である。こうして、各コードブックから一つずつ符号語が選択されるとともに数６が成り立つので、図３のシステムによって生成される出力符号語はＢＤＳ＝０の列を定義する。
【００２５】
この第２実施例を具体例で説明するために、再び、表２のレート１１／１４の符号を考える。第２実施例では、２個のコードブック３１０−１および３１０−２が使用される。コードブック３１０−１はＢＤＳが＋１の列を定義する３２個の７記号符号語を含む。コードブック３１０−２はＢＤＳが−１の列を定義する３２個の７記号符号語を含む。レート１１／１４のＤＣフリー符号は、以下のようにして、図３の方法および装置を用いて生成することができる。１１個の入力記号は、それぞれ５個の記号からなる２個の群と、１個の記号からなるもう一つの群に分割される。５個の記号からなる各群は、それぞれのコードブックから一つの符号語を選択する。残りの１個の記号は、選択された二つの符号語のうちのいずれを順序器３２０によって最初に出力するかを指定する。これにより、ＢＤＳ＝＋１の７記号列およびＢＤＳ＝−１の７記号列からなるチャネル列を定義するＤＣフリーな出力符号語が生成される。
【００２６】
図３の実施例は拡張可能であり、上記の具体例に限定されない。例えば、コードブック３１０−ｊ内の符号語によって定義される列のＢＤＳは＋１および−１である必要はない。必要であるのは数６が成り立つことだけである。従って、例えば、ＢＤＳ１＝３、ＢＤＳ２＝１、ＢＤＳ３＝−１およびＢＤＳ４＝−３の列を定義する４個のコードブックの集合が使用可能である。
【００２７】
図４に、ＤＣフリー列を生成する本発明の方法の第３実施例を示す。それぞれｍ個の記号からなるｑ個の群と、ｐ個の記号からなる一つの群が変調符号器１３０に入力される。ｍ個の入力記号からなる群はそれぞれ、コードブック４２０−ｊから符号語を一つずつ選択するために使用される。与えられたｍ個の記号の集合に対して選択される個々のコードブックはｐ個の記号の集合によって決定される。特に、ｐ個の記号の集合は、制御コードブック４３０から１個の制御符号語を選択するために使用される。この制御符号語はコードブックセレクタ４０５に入力される。コードブックセレクタ４０５は、ｍ個の記号からなる各集合を適当なコードブック４２０−ｊに転送し、そのコードブックから一つずつ符号語が選択される。図３の実施例と同様に、ｊ番目のコードブックはＢＤＳｊの列を定義する符号語からなり、数６が成り立つ場合、変調符号器１３０によって生成される出力符号語はＤＣフリーな列を定義する。
【００２８】
上記のレート１１／１４の符号の場合、それぞれ５個の入力記号からなる２個の群と、もう一つの入力記号が、変調符号器１３０に入力される。それぞれＢＤＳが＋１および−１の列を定義する３２個の７記号符号語からなる２個のコードブック４１０−１および４１０−２が使用される。単一の（ｐ）記号が、５個の入力記号からなるいずれの群がコードブック４１０−１を使用するかを決定するために使用される。５個の入力記号からなる他方の群は、コードブック４１０−２から一つの符号語を選択する。結果として得られる出力符号語（コードブック４１０−１からの一つの符号語およびコードブック４１０−２からの一つの符号語に基づく）は、ＢＤＳが０のチャネル列を定義する。
【００２９】
本発明の方法のもう一つの実施例を図５に示す。それぞれｍ個の記号からなるｑ個の群と、ｐ個の記号からなる一つの群が変調符号器１３０に入力される。ｐ個の記号の群は、コードブックを選択すること、および、いずれの符号語を反転するかを決定することの両方のために使用される。ｍ個の記号からなる群はそれぞれ、コードブック５２０−ｊから一つの符号語を選択するために使用される。与えられたｍ個の記号の集合に対して選択される個々のコードブックはｐ個の記号の集合によって決定される。特に、ｐ個の記号の集合は、制御コードブック５３０から１個の制御符号語を選択するために使用される。この制御符号語はコードブックセレクタ５１０に入力される。コードブックセレクタ５１０は、ｍ個の記号からなる各集合を適当なコードブック５２０−ｊに転送し、そのコードブックから一つずつ符号語が選択される。この転送は、制御符号語に基づく。制御符号語は、ｐ個の入力記号を制御コードブック５３０に入力することによって選択される。制御符号語はＢＤＳ＝０の列を定義する。この列内の各記号がバイポーラ記号（例えばａ＋１またはａ−１）であり、各記号が一つの符号語に対応し、ａ−１に対応する符号語は反転され、ａ＋１に対応する符号語は不変のままとすると仮定する。例えば、図５において、符号語ｎｑは反転器５１５に入力されて反転され、出力はｎｑ´で表されている。
【００３０】
図５の実施例は、図４の実施例の半数のコードブックを使用するが、反転器５１５を必要とする。例えば、コードブック５２０−１がＢＤＳ＝３の列を定義する符号語からなり、コードブック５２０−２がＢＤＳ＝１の列を定義する符号語からなる場合、ＤＣフリー列は、ＢＤＳ＝１のコードブックから３個の符号語の群を選択し、ＢＤＳ＝３のコードブックから１個の符号語からなるもう一つの群を選択し、これらの群のうちの一つの群中の記号を反転することによって生成される。図４の構成を用いる対応するシステムとは異なり、図５のシステムでは、ＢＤＳ＝−３およびＢＤＳ＝−１の列を定義する符号語からなるコードブックは不要である。
【００３１】
図６に、図２のシステムとともに使用可能な変調復号器１６０を示す。読み出された、あるいは、受信されたチャネル列は符号語（ここでは入力符号語という）を生成する。入力符号語は、それぞれ長さｎの記号からなるｑ個の符号語に分解される。ここで、各符号語は、読み出された、あるいは、受信された列の一部を定義する。プライム（´）で、負のＢＤＳを有する部分列を定義する符号語を示す。このような部分列は、例えば、正のＢＤＳを有する列を反転することによって得られる。例として、図６で受信される符号語は｛ｎ１，ｎ２´，．．．，ｎｑ｝であると仮定する。ｊ番目の符号語によって定義されるｊ番目の列のＢＤＳはＢＤＳ検査６０２−ｊで判定される。図２のコードブック２１０内の符号語によって定義される列のＢＤＳはｘであると仮定すると、図６でＢＤＳ＝−ｘの列を定義する符号語の記号はＢＤＳ検査６０２−ｊで反転され、受信されたすべての符号語がｘというＢＤＳを有する列を定義するようにされる。次に、ＢＤＳ＝ｘの列を定義する各符号語は逆コードブック６２０に入力される。逆コードブック６２０は、図２のコードブック２１０の情報に基づいて、各符号語ごとに、符号語に対応するｍ個の入力記号からなる情報語を出力する。また、ＢＤＳ検査６０２−ｊは、定義された列ｊのＢＤＳが＋ｘであったかそれとも−ｘであったかに応じて検査記号を生成する。この検査記号は、制御コードブック２３０の情報に基づいて図２の制御符号語を生成するために使用されるｐ個の入力記号の集合を決定するために、逆制御コードブック６３０に入力される。
【００３２】
図７に、図３のシステムとともに使用される復号システムを示す。読み出された、あるいは、受信されたチャネル列は入力符号語を生成する。入力符号語は、それぞれ長さｎの記号からなるｑ個の符号語に分解される。ここで、各符号語は、読み出された、あるいは、受信された列の一部を定義する。符号語によって定義される各列のＢＤＳはＢＤＳ検査７０２−ｊで判定される。符号語と、対応する定義された列のＢＤＳ値はルータ７０５に入力される。定義された列のＢＤＳ値に応じて、ルータ７０５は対応する符号語を一つの逆コードブック７１０−ｊに送る。逆コードブック７１０−ｊは、図６の逆コードブック６２０と同様に動作する。すなわち、情報語から符号語を生成するために使用されたコードブック３１０−ｊの情報に基づいて、ｍ個の記号からなる入力情報語が決定される。ｐ個の記号からなるもう一つの集合が、ｊ番目の受信符号語のＢＤＳ値を表す検査記号を各ＢＤＳ検査７０２−ｊから受信することによって復号される。これらの値は制御符号語中の記号に対応し、逆制御コードブック７３０に入力される。逆制御コードブック７３０は、制御コードブック３３０の情報に基づいて、符号化プロセス中に符号語を並べ替えた制御語を生成するために使用される。
【００３３】
図８に、図４のシステムとともに使用される復号システムを示す。読み出された、あるいは、受信されたチャネル列は入力符号語を生成する。入力符号語は、それぞれ長さｎの記号からなるｑ個の符号語に分解される。ここで、各符号語は、読み出された、あるいは、受信された列の一部を定義する。各符号語によって定義される列のＢＤＳはＢＤＳ検査８０２−ｊで判定される。符号語と、対応する定義された列のＢＤＳ値はルータ８０５に入力され、符号語は、対応する列のＢＤＳ値に基づいて逆コードブック８１０−ｊに送られる。逆コードブック８１０−ｊは、コードブック４２０−ｊの情報に基づいてｍ個の記号からなる情報語を生成する。ｐ個の記号からなるもう一つの集合が、ｊ番目の受信符号語によって定義されるＢＤＳ値をＢＤＳ検査８０２−ｊから受信することによって決定される。これらの値は制御符号語中の記号に対応し、逆制御コードブック８３０に入力される。逆制御コードブック８３０は、制御コードブック４３０の情報に基づいて、ｐ個の記号を生成することができる。
【００３４】
図９に、図５のシステムとともに使用される復号システムを示す。読み出された、あるいは、受信されたチャネル列は入力符号語を生成する。入力符号語は、それぞれ長さｎの記号からなるｑ個の符号語に分解される。ここで、各符号語は、読み出された、あるいは、受信された列の一部を定義する。。プライム記号（´）は、記号が反転された列を示す。各符号語のＢＤＳはＢＤＳ検査９０２−ｊで判定される。符号化プロセスで反転された列を定義する符号語（例えば負のＢＤＳ値からわかる）はＢＤＳ検査９０２−ｊで反転される。さらにｐ個の情報記号が、ｊ番目の受信符号語のＢＤＳ値をＢＤＳ検査９０２−ｊから受信することによって決定される。これらの値は制御符号語中の記号に対応し、逆制御コードブック９３０に入力される。逆制御コードブック９３０は、制御コードブック５３０の情報に基づいて、ｐ個の記号を生成することができる。その後、符号語およびＢＤＳ値はルータ９０５に入力される。ルータ９０５はｎ個の記号からなる符号語を逆コードブック９１０−ｉに転送する。この転送はＢＤＳ値に基づく。逆コードブック９１０−ｉは上記の逆コードブックと同様に動作し、それぞれｍ個の情報記号からなるｑ個の集合を生成する。
【００３５】
上記では、変調符号化の方法および装置について説明した。本発明の装置および方法は、特定のハードウェアまたはソフトウェアに言及せずに説明した。その代わりに、本発明の方法および装置の説明は、個々の応用に利用可能なあるいは好ましいハードウェアやソフトウェアを当業者が容易に適応させることができるように説明した。本発明の上記の説明は磁気記録（書き込み）チャネルの変調符号化についてしたが、当業者には認識されるように、本発明の上記の技術は他の具体的状況にも応用可能である。例えば、本発明は、磁気記録（書き込み）チャネルに制限されない。同様に、本発明は、図面に示した特定の構成に制限されない。例えば、ｑ個の符号語がｑ個のＢＤＳ検査を通る並列処理を、ｑ個の符号語が単一のＢＤＳ検査を通る直列処理で置き換えることも可能である。さらに、本発明は、光通信で有用な、０でないＢＤＳ値を有する列を定義する出力符号語を生成するものを含むように拡張することも可能である。
【００３６】
【発明の効果】
以上述べたごとく、本発明によれば、与えられた数の記号からなりＤＣフリーであるチャネル符号語は、より少数の記号からなるＤＣフリーでない符号語に基づいて生成されることにより、このようなチャネル符号語を生成するための実装の複雑さを軽減することが可能となる。
【図面の簡単な説明】
【図１】本発明の方法が実行されるシステムのブロック図である。
【図２】ＤＣフリー列を生成するシステムの第１実施例のブロック図である。
【図３】ＤＣフリー列を生成するシステムの第２実施例のブロック図である。
【図４】ＤＣフリー列を生成するシステムの第３実施例のブロック図である。
【図５】ＤＣフリー列を生成するシステムの第４実施例のブロック図である。
【図６】図２のシステムとともに使用される復号システムのブロック図である。
【図７】図３のシステムとともに使用される復号システムのブロック図である。
【図８】図４のシステムとともに使用される復号システムのブロック図である。
【図９】図５のシステムとともに使用される復号システムのブロック図である。
【符号の説明】
１１０  レンペル・ジフ圧縮器
１２０  リード・ソロモン符号器
１３０  変調符号器
１４０  チャネル／媒体
１５０  等化器
１６０  変調復号器
１７０  リード・ソロモン復号器
１８０  レンペル・ジフ圧縮解除器
２１０  コードブック
２２０  反転器
２３０  制御コードブック
３１０  コードブック
３２０  順序器
３３０  制御コードブック
４０５  コードブックセレクタ
４２０  コードブック
５１０  コードブックセレクタ
５１５  反転器
５２０  コードブック
５３０  制御コードブック
６０２  ＢＤＳ検査
６２０  逆コードブック
６３０  逆制御コードブック
７０２  ＢＤＳ検査
７０５  ルータ
７１０  逆コードブック
７３０  逆制御コードブック
８０２  ＢＤＳ検査
８０５  ルータ
８１０  逆コードブック
８３０  逆制御コードブック
９０２  ＢＤＳ検査
９０５  ルータ
９１０  逆コードブック
９３０  逆制御コードブック
【図１】
0003590209.tif 000010
【図２】
0003590209.tif 000011
【図３】
0003590209.tif 000012
【図４】
0003590209.tif 000013
【図５】
0003590209.tif 000014
【図６】
0003590209.tif 000015
【図７】
0003590209.tif 000016
【図８】
0003590209.tif 000017
【図９】
0003590209.tif 000018