明 細 書 コー ド変換及び復号装置及び方法と記録媒体 技 術 分 野
この発明は、 デジタルデータを記録、 再生、 伝送するのに 用いられ、 例えば光ディ スクへの情報の記録再生に有効なコ 一ド変換及び復号装置及び方法とこれらにより扱われる記録 媒体に関する。 技 林了
デジタルデータの記録 · 伝送では、 信号の帯域を高域側で 削減するために、 あるいは信号の帯域が高域側で削减されて も問題が生じないように、 種々の帯域削減手法が用いられて いる。 これらの中でも、 この発明に関係する帯域削減の手法 の 1つと してベースバン ド変調の手法が良く 知られている。 ベースバン ド変調は、 ソースデータを mビッ 卜ずつに区切 り、 これを mく πなる n ビッ 卜の変換コー ドに変換するもの である。 ただし、 ソースデータ mビッ トの記録 · 伝送時間幅 と、 変換コー ド n ビッ 卜の記録 ·伝送時間幅は同一である。 したがって、 ビッ ト レー トは変換コー ドのほうがソースデー 夕より も高く なる。 つま り変換コー ド列のビッ ト レー トは、 ソースデータの n / m倍となる。
この変換コー ドは 1つの変換コー ドにおいても、 また連続 する変換コー ド列のいずれにおいても、 ビッ ト 1 と ビッ ト 1
との間のビッ ト 0の数があらかじめ定めた d個以上となるよ うに工夫がなされている。 2値の記録 ·伝送信号は、 この変 換コー ド列のビッ ト 1の位置で極性を反転されるので、 この 2値の記録 ·伝送信号の同一極性維持最短時間は、 変換コー ド列の 1 ビッ ト間隔の ( d + 1 ) 倍となる。
—例として、 コ ンパク トディ スクで用いられる E F M変調 は、 m = 8、 n = 1 7、 d = 2であり、 ソースデータの 8 ビ ッ トが変換コー ド 1 7 ビッ トに変換されるので、 変換コー ド 列のビッ ト レー トはソースデータの ( 1 7ノ 8 ) 倍となる。 そして記録 ·伝送信号の同一極性維持最短間隔は、 ソースデ 一夕の同一極性維持最短間隔の (8 Z 1 7 ) X 3倍となるの で、 記録 ·伝送信号の電力密度は、 ソースデータより も低域 に集中して帯域削減が得られるこ とになる。
上記したコンパク トディ スクで用いられる E F M変調の場 合、 8ビッ トのソースデータは次のようにして 1 7 ビッ トの 変換コー ドに変換される。
まず 8 ビッ トのソースデータ 2 ° = 2 5 6種類は、 それぞ れに対応してあらかじめ定められた 2 5 6種類の 1 4 ビッ ト コー ドに変換される。 この 1 4 ビッ トコー ドは、 いずれもビ ッ ト 1 とビッ ト 1 との間のビッ ト 0の数が 2個以上あるよう な 1 4 ビッ トコー ド 2 7 7種類の中から 2 1種類を除いて選 ばれた 2 5 6種類である。
1 7 ビッ ト変換コー ドは、 この 1 4 ビッ ト コー ドに 3 ビッ トを付加したものであり、 付加する 3 ビッ トは他の種々の要 求から好都合のものが選ばれる。 1 7 ビッ トの変換コー ドは、
2 5 6種類より多く なる。 しかし、 1 4 ビッ トコー ド部分は 2 5 6種類であり、 それぞれは 1対 1でソースデータと対応 している。 また 1 4 ビッ トコー ドに含まざるを得ない 1 4 ビ ッ 卜の端部が 1のコー ドが連続する場合でも、 隣のコー ドと の間には都合のよい 3 ビッ トを付加できるので、 1 7 ビッ ト の変換コー ド列中においてビッ ト 1に挟まれる ビッ ト 0の個 数が 1以下となる事態は余裕をもって回避できる。
E F M変調において付加する 3 ビッ 卜を 2 ビッ トに変える と、 8 ビッ 卜のソースデータを 1 6 ビッ トの変換コー ドに変 換する方式となり、 同一極性維持最短間隔がソースデータの 同一極性維持最短間隔の (8 Z 1 6 ) X 3倍であるような、 電力密度がより低域に集中した記録 · 伝送信号が得られる。 この方式においても 1 6 ビッ トの変換コ一 ド列中においてビ ッ ト 1に挟まれるビッ ト 0の個数が 1以下となる事態は付加 2 ビッ トにより回避可能である。
しかしさ らに電力密度を低域に集中させた記録 · 伝送信号、 例えば 8 ビッ 卜のソースデータを 1 5 ビッ トの変換コー ドに 変換する方式により、 同一極性維持最短間隔がソースデータ の同一極性維持最短間隔の ( 8 Z 1 5 ) X 3倍であるような 方式を実現するには前記と同様な手法は使えない。 なぜなら 1 4 ビッ トの端部が 1のコー ドが連続する場合に、 付加 1 ビ ッ トの揷入だけでは 1 5 ビッ 卜の変換コ一ド列中においてビ ッ ト 1 に挟まれるビッ ト 0の個数が 1以下となる事態は避け られないからである。
発明の開示
そこでこの発明は、 mビッ 卜のソースデータを n ビッ 卜の 変換コー ドに変換するときに、 従来の如く一旦、 nより小さ な q ビッ トの中間のコー ドに変換してそれに ( n - q ) ビッ トを付加するという手法を用いないで、 直接 n ( > m ) ビッ 卜の変換コー ドに容易に変換できるようにしたコー ド変换及 びその逆変換である復号を行う装置及び方法と記録媒体を提 供することを目的とする。
上記の目的を達成するためにこの発明は、
m > l、 η > 1、 mく nなる整数に対して、 mビッ トで構 成される 2 m種類の全てのソースデータを、 これらに対応し て予め定められた、 n ビッ トでそれぞれが異なる 2 m個の第 1の変換コー ドに変換するための第 1 の変換手段) と、
kを 2以上の整数と して、 前記 2 m種類の全てのソースデ 一夕からそれぞれ異なる 1種類以上を選択して第 1 グループ から第 kグループまでに属するソースデータを、 それぞれ複 数種類あらかじめ定め、 前記第 1 グループに属するソースデ 一夕から第 kグループに属するソースデータを前記第 1 の変 換コー ドとは全てが異なるようにあらかじめ定められた n ビ ッ ト構成の第 2の変換コー ドに変換するするための第 2の変 換手段と、
前記第 2の変換手段による前記第 1 グループに属するソー スデータの変換に続いて変換される前記第 2グループから第 kグループに属するソースデータは、 前記第 1の変換コー ド と同一内容の変換コー ドも含むようにあらかじめ定められた
n ビッ ト構成の第 3から第 ( k + 1 ) の変換コー ドに変換す るための第 3から第 ( k + 1 ) の変換手段とを備えたことに より、
これらの変換手段から連続して出力される変換コー ドのビ ッ ト列中のビッ ト 1に挟まれるビッ ト 0の個数があらかじめ 定められた最小個数と最大個数の範囲を逸脱しないという制 約条件を満足させるようにしたことを特徴とする。
またこの発明は、 上記のよ う に変換された変換コー ドを上 記変換手段に対する逆変換手段を用いるこ とによ り直接的に 逆変換して復号するものである。
上記の手段により、 階層的にコー ド変換が実行され、 連続 して出力される変換コー ドのビッ ト列中のビッ ト 1 に挟まれ るビッ ト 0の個数があらかじめ定められた最小個数と最大個 数の範囲を逸脱しないという制約条件を満足させるようにな る。 図面の簡単な説明
図 1 Aはこの発明に係るコー ド変換装置の概略を示す図。 図 1 Bはこの発明に係る復号装置の概略を示す図。
図 2はコー ド変換処理の手順を示すフローチヤ一ト。
図 3は同じく コー ド変換処理の手順を示すフローチャー ト。 図 4は復号処理の手順を示すフローチヤ一ト。
図 5はコー ド変換処理時に、 バイ トの接続部において特定の 関係になる入力バイ ト値の組み合わせを列記した説明図。 図 6は同じく コー ド変換処理時に、 バイ 卜の接続部において
特定の関係になる入力バイ ト値の組み合わせを列記した説明 図。
図 7 A、 図 7 B、 図 7 Cはテーブル Aの内容を示す説明図。 図 8 A、 図 8 Bはテーブル Bの内容を示す説明図。
図 9 A、 図 9 Bはテーブル Cの内容を示す説明図。
図 1 0はテーブル Dの内容を示す説明図。
図 1 1 A、 図 1 1 Bはテーブル Eの内容を示す説明図。
図 1 2はテーブル Fの内容を示す説明図。
発明を実施するための最良の形態 以下、 この発明の実施例を図面を参照して説明する。
図 1 Aにはコー ド変換装置のプロッ クを示し、 図 1 Bには 復号装置のブロッ クを示している。 また図 2、 図 3には 8 ビ ッ トを 1 5 ビッ トのコ一ドに変換する変換装置の動作をフロ 一チャー トで示している。 さらに図 4には 1 5 ビッ トのコ一 ドをもとの 8ビッ トのコー ドに復号する復号装置の動作をフ ローチャー トで示している。 さ らにまた、 図 5、 図 6には、 コー ド変換を行うときに前後のコー ドの槃ぎ目において、 ビ ッ ト 1に挟まれるビッ ト 0の個数があらかじめ定められた最 小個数と最大個数の範囲を逸脱しないという制約条件を満足 させるために用意された変換条件を判定するテーブルを示し ている。
まず、 この発明で重要となる変換テーブルの内容について 説明する。 この実施例は、 8 ビッ トのデジタルコー ドを特定 の規則に従って 1 5 ビッ トのコー ドに変換する 8 Z 1 5変調
に適用した実施例であり、 変調コー ド列においては、 ビッ ト
1とビッ ト 1の間にビッ ト 0が少なく とも 2個以上存在する ような変調コー ド列を実現するものであり、 NR Z I後のデ ータにおける同一極性維持最短間隔 Train は [ (8/ 1 5) 3] T = 1. 6 T (Tは変調前のデータの周期) 、 検出窓 幅 TW は、 (8Z 1 5) T =約 0. 53 Τとなり、 光デイ ス クの記録密度の向上が見込まれる。
8ビッ 卜のソースデータを 1 5ビッ 卜の変調コー ドに変換 するためのテーブルと しては A〜Fの 6種類が用意されてい る。 以下それぞれのテ一ブルについて説明する。
(テーブル A )
テーブル Aは、 1 5ビッ トコ一ドカ《 「 00 J の 1 89 種類から以下の 14種類を除いた 1 7 5種類 (右端 2ビッ ト が 00となる) 。 テーブル Aは、 1 0進で表現した場合 0〜 1 74である 8ビッ ト ソースデータを変換する。
00000 00000 00000
1 0000 00000 00000
0 1 000 00000 00000
00 1 00 00000 00000
00000 1 0000 00000
00000 00 1 00 00000
00000 000 1 0 00000
00000 000 1 0 0 1 000
00000 000 1 0 00 1 00
00000 0000 1 00000
00000 0000 1 00 1 00
00000 00000 1 0000
00000 00000 0 1 000
00000 00000 00 1 00
テーブル Aの全コー ドは、 図 7 A、 図 B 図 7 Cに示され ている。
テーブル Aの出力コー ドにおいて、 0が最も多く連続する 数、 つまり 自 コー ド内最大ラ ン レ ングスは 「 1 0000 0 0000 00 1 00」 に見られるように 1 1である。
また右端ラ ンレングスは最小 2、 最大 1 1、 左端ラ ンレ ン グスは最小 0、 最大 7である。
また先頭が 1のコー ドは 59種類である。
(テーブル B)
テーブル Bは、 1 5ビッ トコ一 ド力、' 「…… 00 1 0」 とな る 88種類から、 以下の 7種類を除いた 8 1種類 (右端 2ビ ッ 卜力《 1 0となるコー ド) 。 テーブル Bは、 1 0進で表現し た場合 1 75〜 255である 8ビッ トソースデータを変換す る o
00000 000 0 0 0 00 1 0
1 0000 000 0 0 0 00 1 0
00000 00 1 0 0 0 00 1 0
00000 00 1 0 0 1 00 1 0
00000 000 1 0 0 00 1 0
00000 000 0 1 0 00 1 0
00000 000 0 0 1 00 1 0
テーブル Bの全コー ドは、 図 8 A、 図 8 Bに示されている。 テーブル Bの出カコー ドは、 自コー ド内最大ラ ン レングス は 「 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0」 に見られるよう に 1 1である。
また右端ラ ン レングスは 1、 左端ラ ンレングスは最小 0、 大 6 ある。
また先頭が 1のコー ドは 2 7種類である。
(テーブル(:、 D )
テー ブル (: 、 D については、 まず 1 5 ビ ッ ト コ ー ドが 「 ······ 0 0 1」 となる 1 2 9種類から以下の 1 4種類を除 いた 1 1 5種類が用意される。
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 1 0 0 0 0 1
0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
0 0 0 0 0 0 0 1 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
0 0 0 0 0 0 0 0 1 0 0 1 0 0 1
0 0 0 0 0 0 0 1 0 0 0 1 0 0 1
0 0 0 0 0 1 0 0 1 0 0 1 0 0 1
0 0 1 0 0 1 0 0 0 0 0 1 0 0 1
0 1 0 0 1 0 0 0 0 0 0 1 0 0 1
1 0 0 1 0 0 0 0 0 0 0 1 0 0 1
0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1
この 1 1 5種類の 1 5ビッ トコ一ドは、 自コー ド内最大ラ ン レングスは 「0 1 000 00000 0000 1」 に見ら れるように 1 2である。
また右端ラ ンレングスは 0、 左端ラ ンレングスは最小 0、 大 6 cめる。
この中のコー ドを用いてテーブル C、 Dが次のように設定 されている。
(テーブル C)
テーブル Cは、 上記 1 1 5種類の中で右端が 「…… 000 1 J となる 8 1種類で、 かつテーブル Bと左端ラ ンレングス が一致するコ一 ドで構成される。
テーブル Cは、 1 7 5〜 2 5 5の 8ビッ ト ソースデータ を変換する もので、 その変換出力は右端 4 ビッ トがすべて 000 1 となる。 このテーブル Cの全コー ドは、 図 9 A、 図 9 Bに示されている。
(テーブル D )
テーブル Dは、 上記 1 1 5種類の中で右端が 「…… 00 1 00 1」 の 34種類で、 かつテーブル Aと左端ラ ン レングス が一致するコー ドで構成される。
テーブル Dは、 テーブル Aで変換した場合に右端 6ビッ ト が全て 「 0」 となる 0〜 33の 8ビッ ト ソースデー夕を変換 するもので、 その変換出力は右端 4 ビッ 卜がすべて 00 1 0 0 1 となる。 このテーブル Dの全コー ドは、 図 1 0に示され ている。
(テーブル E)
テーブル Eは、 1 5ビッ トコー ドの中で先頭が 00、 末尾 が 00となるコー ド 「00…… 00」 の 88種類の中から以 下の 2種類を除いた 86種類のコ一ドで構成される。
00000 00000 00000
00 1 00 00000 00000
テーブル Eの全コー ドは、 図 1 1 A、 図 1 1 Bに示されて いる o
テーブル Eの出力コー ドは、 自コー ド内最大ラ ン レ ングス は 「00 1 00 00000 00 1 00J に見られるよう に 9である。
また右端ランレングスは最小 2、 最大 1 1、 左端ラ ンレン グスは最小 2、 最大 1 2である。
(テーブル F )
テーブル Fは、 テーブル Eの出力コー ド 86種類のうち 「00…… 0000」 となる 39種類のコー ドを 「00…… 00 1 0」 に変えたコー ドで構成されている。
テーブル Fの出カコー ドは、 自コー ド內最大ラ ン レングスは 「00000 00000 1 00 1 0」 に見られるように 1 0である。
また右端ラ ンレングスは 1、 左端ラ ン レングスは最小 2、 最大 1 0である。 テーブル Fのコー ドは図 1 2に示されてい る。
以上述べたテーブル A〜テーブル Fの 1 5ビッ トコ一 ドの 種類とその内容の特徴部をまとめると下記の如く なる。
2
テーブル Αは、
1 7 5種類で、 (コー ド末尾 0 0 ) テーブル Bは、
8 1種類で、 (コー ド末尾 0 0 1 0 ) テーブル Cは、
8 1種類で、 (コー ド末尾 0 0 0 1 ) テーブル Dは、
3 4種類で、 (コ一ド末尾 0 0 1 0 0 1 ) テーブル Eは、
8 6種類で、 (コー ド先頭 0 0 ·· 末尾 ·'· 0 0 ) テーブル Fは、
3 9種類で、 (コー ド先頭 0 0 ·· 末尾 … 0 0 1 0 ) であり、 コー ドの種類と しては合計 4 9 6である。
また上記テーブルの中の 1 5 ビッ ト コ一ドの相互の関係を ま とめて述べると以下のようになる。
*テーブル A、 B、 Cの全てのコー ドは互いに重複しない。 *テーブル(:、 Dの全てのコー ドは他のテーブル中に存在し ない。
*テーブル Cの左端ラ ンレングスは、 テーブル Bの左端ラ ン レングスと一致する。
*テーブル Dの左端ラ ンレングスは、 テーブル Aの左端ラ ン レングスと一致する。
*テーブル Eのコー ド 8 6種類のうち 7 6種類はテーブル A の中に存在する。
*テーブル Fのコー ド 3 9種類のうち 3 4種類はテーブル B
の中に存在する。
*テーブル Fの左端ランレングスはテーブル Eの左端ランレ ングスと一致する。
上記したテーブルの説明では、 ソースデータに対応する変 換コー ドの内容のみを示したが、 つぎに、 ソースデータを各 テーブルにどのように割り当てたか、 その設計方法について 説明する。
( 1 ) ソースデータ 0〜 1 74 ( 1 7 5種類)
テーブル Aに割り付ける。
テーブル Aで右端ランレンダスが 6以上になる 34種類の ソースデータ (0〜 33) は、 テーブル Dにも割り付けられ る o
テーブル Aで先頭ビッ トが 1になる 59種類のソースデー タは、 テーブル Eの 86種類中の 59種類にも割り付ける。
(2) ソースデータ 1 75〜 255 (8 1種類)
テーブル Bとテーブル Cの両方に割り付ける。
テーブル Bでは先頭ビッ トが 1になる 27種類のソースデ 一夕にいては、 テーブル Eの 86種類中の 27種類にも割り 付ける。
( 3) テーブル Eの一部代替コー ド
テーブル Eで右端ランレングスが 4以上の 39種類のソー スデータは、 テーブル Fにも割り付ける。
(変調ァルゴリズム : 基本)
次に、 上記の設計条件に基づいてテーブルが作成された場 合、 入力したソースデータの変換 (テーブル使用) は以下の
ようなアルゴリズムとなる。
( 1 ) ソースデータ 0〜: L 74に対して
次のソースデータによって、 現ソースデータの変換テープ ルが決まる場合を含め、 完全な 1バイ ト変換が行われる。
( l a) 即ち、 テーブル Dに割り付けられている 34種類 を除く 14 1種類のソースデータが人力したときは、 次のソ ースデータにかかわらずテーブル Aにより変換する。
( 1 b ) テーブル Dにも割り付けられている 34種類のソ —スデータが入力したときは、 これをテーブル Aで変換した 1 5ビッ トコ一 ドと、 続く 2バイ ト目をテーブル Aまたは B で変換した 1 5ビッ ト コー ドと、 の接続部分においてラ ンレ ングス 1 3以上となる場合は、 テーブル Aに代えてテーブル Dで変換するようにし、 そうでなければ、 テーブル Aにより 変換するようにしている。
即ち、 言い方をかえれば、 基本的には 0〜 1 74のソース データは、 テーブル Aで変換するが、 次に続く ソースデータ がテーブル A或いはテーブル Bで変換された場合の接続部分 に 「 0」 が 1 3以上続く ようになるようなソースデータが人 力したときは、 テーブル Dで変換するようにしている。 この ような事態は、 図 5に示す現ソースデータが C 1群に属し、 次のソースデータが C 2群に属する場合に生じる。
( 2 ) ソースデータ 1 7 5〜 255に対して
(2 a ) 次のソースデータがテーブル A又はテーブル Bで 変換されると先頭ビッ トが 0になるような 1 70種類のいず れかである場合には、 現ソースデータは、 テーブル Bにより
完全な 1バイ ト変換が行われる完結する。
( 2 b ) 次に、 2バイ ト目のソースデータがテーブル A又 はテーブル Bで変換すると先頭ビッ 卜が 1 になる 8 6種類の いずれかである場合には、 以下の手順により完全な 2バイ ト 完結変換を行う。
まず最初のソースデータ 1 7 7〜 2 5 5は、 テーブル Bで はなく、 テーブル Cで変換を行い確定する。
次に 8 6種類のいずれかである 2バイ ト目のソースデータ はテーブル Eまたは Fが用いられ、 次のように変換する。 テーブル Eで変換すると 1 5 ビッ ト コ一 ドの右端ラ ン レ ン ダスが 6以上となるような 1 7種類のソースデータについて は、 以下のような処理が実行される。 即ち、 上記 2バイ ト目 のソースデータをテーブル Eで変換した 1 5 ビッ トコ一 ドと 続く 3バイ ト目のソースデータをテーブル Aまたはテーブル Bで変換した 1 5 ビッ トコー ドとの接続部分においてラ ンレ ンダスが 1 3以上となる場合 (図 6において現ソースデータ が C 3群に属し、 次のソースデータが C 2群に属する場合) には、 テーブル Eに変えてテーブル Fで変換し、 そうでなけ ればテーブル Eで変換して 2バイ ト目を完結する。
以上、 1 7 7〜 2 5 5のソースデータについてま とめると 以下のようになる。 1番目のソースデータは、 基本的には、 テーブル Bで変換する力《、 次に続く 2番目のソースデータが テーブル A或いはテーブル Bで変換された場合に、 左端ビッ 卜に 「 1」 がく る 8 6種類のソースデータのときは、 1番目 のソースデータはテーブル Cで変換する。
そしてこのときは次の 2番目のソースデータはテーブル E 或いはテーブル Fで変換するようにしている。 即ち、 テープ ル Cを用いた変換が行われると次は必ずテーブル E又は Fを 用いた変換が行われることになる。
テーブル Eで変換するのか、 テーブル Fで変換するのかは、 更に続く 3番目のソースデータの内容により決定される。 基 本的にはテーブル Eで変換が行われる力 <、 3番目のソースデ 一夕がテーブル A或いはテーブル Bで変換された場合の 1 5 ビッ トコー ドと、 テーブル Eで変換された 2番目のソースデ 一夕の 1 5 ビッ トコー ドとの接続部分に 「 0」 力《 1 3以上続 く ときは、 2番目のソースデータはテーブル Fで変換する。
(変爨アルゴリ ズム : ォプシ ョ ン) ソースデータ 0〜 1 7 4に対しては以下のような処理が行 われてもよい。
さきの変調アルゴリズムにおいては、 テーブル Dに割り付 けられている 3 4種類の中に含まれる現ソースデータをテー ブル Aで変換した 1 5 ビッ トコ一 ドと、 次のソースデータを テーブル Aまたはテーブル Bで変換した 1 5 ビッ トコー ドと の接続部分において、 ラ ン レ ングスが 1 3以上となる場合は、 現ソースデータをテーブル Dにより変換し、 そうでなければ テーブル Aで変換している。
さらにこのこの場合、 接続部分において、 ランレングス力く 2以上 1 2以下となる場合には、 テーブル Aまたはテーブル Dで変換したコー ドのうち変調信号の直流成分が少なく なる 方を選択するようにしてもよい。
またソースデータ 1 7 5 〜 2 5 5に対しては以下のような 処理が行われてもよい。
さきの変調アルゴリズムにおいては、 2番目のソースデー 夕をテーブル Eとテーブル Fのいずれのテーブルで変換する かを決めるときに、 3番目のソースデータの内容により決定 している。 即ち基本的には 2番目のソースデータはテーブル Eで変換が行われる力 <、 3番目のソースデータがテーブル A 或いはテーブル Bで変換された場合の 1 5 ビッ トコ一 ドと、 2番目のソースデータをテ一ブル Eで変換した 1 5 ビッ ト コ 一 ドとの接続部分に 「 0」 が 1 3以上続く ときは、 2番目の ソースデータはテーブル Fで変換する。
さ らにこの場合、 接続部分において、 ラ ンレングスが 2以 上 1 2以下となる場合には、 テーブル Eまたはテーブル Fで 変換したコー ドのうち変調信号の直流成分が少なく なる方を 選択するようにしてもよい。
(復調アルゴ リ ズム)
次に、 上述のようにテーブル A〜 Fを用いてコー ド変調さ れた 1 5 ビッ トコ一 ドを元のソースデータに復号する場合の アルゴリ ズムについて説明する。
復号は、 単純な 1バイ ト又は 2バイ 卜の完結変換と して扱 われる。
入力 1 5 ビッ トコー ドは、 テーブル A、 B、 C、 Dのいず れかで復号される。 テーブル A、 B、 C , Dの 1 5 ビッ ト コ 一 ドは、 互いに重複しないコー ドとなっているために一義的 に正しく復号される。
現入力 1 5 ビッ トコー ドがテーブル Cを用いて復号された 場合は、 次の入力 1 5 ビッ トコー ドはテーブル E或いはテー ブル Fで復号されることになる。
上記したように、 8 ビッ ト ソースから 1 5 ビッ ト コー ドへ の変調、 1 5 ビッ ト コ一 ドから 8 ビッ ト ソースデータへの一 挙の復元が可能である。 即ち、 mビッ トのソースデータを n ビッ トの変換コー ドに変換するときに、 従来の如く一旦、 n より小さな Q ビッ トの中間のコー ドに変換してそれに ( n - q ) ビッ トを付加するというような複雑な手法を用いること なく、 直接 n ( > m ) ビッ トの変換コー ドに容易に変換でき、 またその逆変換も直接可能となる。
上述したアルゴリズムが、 ソースデータ 1バイ ト完結変換 または 2バイ ト完結変換の 8ノ 1 5— P L L ( 2, 1 2 ) 変 復調である。
変調はソースデータを最大 3バイ ト幅で監視する必要があ るものの、 変調結果は 2バイ ト幅で完結することになる。 ま た復調は単純であり、 1変調コー ドごとに変換テーブルを参 照して 1バイ 卜に復調すると同時に次の変調コー ドの復調に 用いる変換テーブルの判定を行う ことを繰り返すだけである。 参照する 8ビッ ト 1 5 ビッ ト間変換テーブルは、 6種類、 総 数 4 9 6 (内訳は基本 2種類、 2 5 6、 代替 4種類、 2 4 0 ) 次に、 この発明による変換、 復号動作を具体的なソースデ 一夕を用いて説明してみる。
図 1 Aは変調ブロッ クを示し、 これに対応するフローチヤ
一トは図 2、 図 3に示している。 また図 1 Bは復号ブロッ ク を示し、 これに対応するフローチヤ一トは図 4に示している c 図 1 A、 図 2、 図 3を参照して説明する。
入力端 I Nには 8ビッ トコー ドが供給され、 8ビッ ト レジ スタ R 0に供給される。 今、 8ビッ ト毎の原データバイ ト 値が 2 0 0→ 1 78— 1 0 0と順に人力する ものとする。 まず最初の 1バイ トをレ ジスタ R 0に格納する (ステッ プ S 1 1 ) 。 すると制御ュニッ ト U 1がレジスタ R 0内の値を 判定する。 この例では R 0の値 (= 200) であり 1 75以 上であるから (ステップ S 1 2) 、 制御ュニッ ト U 1は、 図 3のステップ S 2 1に移行し、 次のバイ トをレジスタ R 1に 格納する。 そして制御ユニッ ト U 1がレジスタ R 1内の値を 判定する。 レジスタ R 1内の値はこの場合、 1 78でありテ 一ブル Eに存在する。
従って、 制御ュニッ ト U 1は、 レジスタ R 0内の値 200 をテーブル Cを用いて 1 5ビッ トコ一ドに変換し、 「 1 00 1 0000 1 00000 1 J を出力する (ステップ S 24) 。
次にレジスタ R 1内の内容をレジスタ R 0に移動する (ス テツプ S 25 ) 。 レジスタ R 0内の値は 1 78となる。 次に レジスタ R 1に、 次の 1バイ トである値 1 00を格納する。
R 0の値 1 78は、 C 3群 (図 6 ) にあるが、 対応する C 2 群の中に R 1の値 1 00は存在しない (ステップ S 27) 0 したがってこの場合は、 値 1 78をテーブル Eで 1 5ビッ トコー ドに変換 (ステップ S 28) し、 「00 1 00 1 00 0 0 0 0 0 0 0」 を出力する。 次に、 R 1の内容を R 0に
移動する。 これにより R 0の値は 1 0 0となる (ステップ S 30 ) 。 以降、 制御ュニ ッ ト U 1はこの値を判定し、 図 2 のステップ S 1 2、 S 1 3以降の処理が行われるようになる, 以上の手順により 8ビッ ト毎の原データバイ ト値の入力 200— 1 78カ
1 00 1 0000 1 0000 0 1 00 1 00 1 000000 000と変換されたことになる。
なお、 図 2においてステップ S 1 3〜 S 1 5…のルーチン は、 次のような変換処理を意味する。 即ち、 0〜 1 74のソ ースデータが、 変換される場合、 次に続く ソースデータがテ 一ブル A或いはテーブル Bで変換された場合の接続部分に 「 0 J 力《 1 3以上続く よ うになるよ うなソースデータが入 力したとき ( 0〜 33のソースデータで起こり得る) は、 テ 一ブル Dで変換し、 これ以外はテーブル Aで変換するように している。 そしてステップ S 1 6において上記の判定が必要 である力 これは図 5に示すようなテーブルが制御ュニッ ト U 1の判定部に用意されるこ とにより実現している。
次に、 上記した 1 5ビッ トコ一 ドの 2バイ ト分を復号する 場合の動作を説明する。 図 1 Bに基本ブロッ クを示し、 図 4 に処理手順を示している。 今、 復号される変換コー ドが、 上 に例示したコー ドである ものとする。 こ の入力コー ド列、 1 00 1 0000 1 00000 1 00 1 00 1 000000 000は、 入力端を介して先頭の 1 5ビッ 卜がレジスタ R 2 に格納される。 レジスタ R 2のコー ドは、 テーブル A〜Dの 全てを合成した逆テーブルで復号する (ステップ S 3 1、
S 3 2 ) 。 すると復号出力と して原データバイ トの値 2 0 0 が得られる。 制御ュニッ ト U 2は、 最初の入力コー ド 1 5 ビ ッ トがテーブル Cの逆テーブルで復号されたかどうかを判定 する (ステップ S 3 3 ) 。 今の場合は、 最初の入力コー ド 1 5 ビッ トは、 テーブル Cの逆テーブルで復号されたので、 引き続き次の入力コー ド 1 5 ビッ トをレジスタ R 2に格納し、 これをテーブル Eとテーブル Fを合成した逆テーブルで復号 することになる (ステップ S 3 4、 S 3 5 ) 。 これにより復 号出力と して原データバイ トの値 1 7 8が得られる。
ところで上記の例で変換コー ドテーブルを注意深く調べる と、 テーブル Eの逆テーブルで 1 7 8に復号される第 2のコ ー ドは、 テーブル Aでは 7に復号されることがわかる。 この ように異なる原データでも異なるテーブル中では同一のコー ドに変換され得るようにして、 種々の制約条件のためのコー ドの数が実際の必要数に対して不足していても確実な変換 Z 復号が行えるようにしている点はこの発明の特徴でもある。 上記の説明では、 テーブル A〜 Fは、 変換コー ドを格納し たメモリ と して説明しているが、 このテーブル A〜 F と同じ ようなデータ発生機能を持つ論理回路や演算回路で構成して もよいことは勿論である。
以上説明したようにこの発明によれば、 mビッ 卜のソース データを n ビッ トの変換コー ドに変換するときに、 直接 n ( > m ) ビッ 卜の変換コー ドに容易に変換でき、 またその逆 変換を行う ことができる。
産業上の利用可能性
以上説明したこの発明は、 デジタルデー夕の記録伝送に用 いて好適し、 記録再生システム、 伝送受信システム、 光学式 ディ スクのためのデータ処理システムに用いて有効な効果を 得ることができる。