(57)【特許請求の範囲】
【請求項１】
所定の順序で配列されたｍビットのデータを、所定の順序で配列されたｎビットの符号と対応付けて符号化する符号化装置において、
符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定手段と、
前記第１の設定手段により設定された状態遷移ｓを用いて、基準値ｒを設定する第２の設定手段と、
前記データのうち、何番目のデータ語ｗを処理しているかを現すポインタｐを設定する第３の設定手段と、
前記第２の設定手段により設定された基準値ｒと、前記第３の設定手段により設定されたポインタｐとの大きさを比較する比較手段と、
前記比較手段によりポインタｐが基準値ｒ以上であると判断された場合、符号語ビットｙのシンボルを１または０の一方とし、ポインタｐの値を（ｐ−ｒ）に更新して出力し、ポインタｐが基準値ｒより小さいと判断された場合、符号語ビットｙのシンボルを１または０の他方とし、ポインタｐの値を更新せずに出力する出力手段と
を備えたことを特徴とする符号化装置。
【請求項２】
前記所定の順序は、値の小さい順の場合、前記符号語ｙのシンボルの一方を１とし、前記他方を０とし、大きい順の場合、前記符号語ｙのシンボルの一方を０とし、前記他方を１とする、
ことを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記ｎを１周期としてカウントするカウント手段
をさらに備え、
前記第２の設定手段は、前記カウント手段から出力されたカウンタ値ｉも用いて、前記基準値ｒを設定する
ことを特徴とする請求項１に記載の符号化装置。
【請求項４】
前記有限状態遷移図は、符号シーケンスが受けるADSとRDSの制限を現した遷移図である
ことを特徴とする請求項１に記載の符号化装置。
【請求項５】
ｎビットの符号が始点とする状態の集合に含まれる、それぞれの元を始点とし、符号が終点とする状態の集合に含まれる元を終点とする符号語候補の総数が、それぞれ始点について全てｍビットのデータ語の総数よりも多い場合、前記第３の設定手段で設定されるポインタｐは、符号語候補総数の最小値からデータ語の総数を減算した値以下の値をオフセット値として用いることにより設定される
ことを特徴とする請求項１に記載の符号化装置。
【請求項６】
所定の順序で配列されたｍビットのデータを、所定の順序で配列されたｎビットの符号と対応付けて符号化する符号化装置の符号化方法において、
符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定ステップと、
前記第１の設定ステップで設定された状態遷移ｓを用いて、基準値ｒを設定する第２の設定ステップと、
前記データのうち、何番目のデータ語ｗを処理しているかを現すポインタｐを設定する第３の設定ステップと、
前記第２の設定ステップで設定された基準値ｒと、前記第３の設定ステップで設定されたポインタｐとの大きさを比較する比較ステップと、
前記比較ステップでポインタｐが基準値ｒ以上であると判断された場合、符号語ビットｙのシンボルを１または０の一方とし、ポインタｐの値を（ｐ−ｒ）に更新して出力し、ポインタｐが基準値ｒより小さいと判断された場合、符号語ビットｙのシンボルを１または０の他方とし、ポインタｐの値を更新せずに出力する出力ステップと
を含むことを特徴とする符号化方法。
【請求項７】
所定の順序で配列されたｍビットのデータを、所定の順序で配列されたｎビットの符号と対応付けて符号化する符号化装置に、
符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定ステップと、
前記第１の設定ステップで設定された状態遷移ｓを用いて、基準値ｒを設定する第２の設定ステップと、
前記データのうち、何番目のデータ語ｗを処理しているかを現すポインタｐを設定する第３の設定ステップと、
前記第２の設定ステップで設定された基準値ｒと、前記第３の設定ステップで設定されたポインタｐとの大きさを比較する比較ステップと、
前記比較ステップでポインタｐが基準値ｒ以上であると判断された場合、符号語ビットｙのシンボルを１または０の一方とし、ポインタｐの値を（ｐ−ｒ）に更新して出力し、ポインタｐが基準値ｒより小さいと判断された場合、符号語ビットｙのシンボルを１または０の他方とし、ポインタｐの値を更新せずに出力する出力ステップと
を含む処理を実行させるコンピュータが読み取り可能なプログラムが記録された記録媒体。
【請求項８】
所定の順序で配列されたｎビットの符号を、所定の順序で配列されたｍビットのデータと対応付けて復号する復号装置において、
符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定手段と、
前記ｎを１周期としてカウントするカウント手段と、
前記第１の設定手段により設定された状態遷移ｓと、前記カウント手段から出力されたカウンタ値ｉを用いて、基準値ｒを設定する第２の設定手段と、
処理の対象となっている前記データの範囲の最小値を現すポインタｐを設定する第３の設定手段と、
符号語ビットｙのシンボルを判断する判断手段と、
前記判断手段により、符号語ビットｙのシンボルが０または１の一方であると判断された場合、前記ポインタｐの値を（ｐ＋ｒ）に更新して出力し、符号語ビットｙのシンボルが０または１の他方であると判断された場合、前記ポインタｐを更新せずに出力する出力手段と、
前記カウンタ手段から出力されたカウンタ値ｉが（ｎ−１）であるか否かを判断し、前記カウンタ値ｉが（ｎ−１）であると判断された場合、前記出力手段から出力されたポインタｐを前記データ語ｗとして決定する決定手段と
を備えることを特徴とする復号装置。
【請求項９】
前記所定の順序は、値の小さい順の場合、前記符号語ｙのシンボルの一方を０とし、前記他方を０とし、大きい順の場合、前記符号語ｙのシンボルの一方を１とし、前記他方を１とする
ことを特徴とする請求項８に記載の復号装置。
【請求項１０】
前記有限状態遷移図は、符号シーケンスが受けるADSとRDSの制限を現した遷移図である
ことを特徴とする請求項８に記載の復号装置。
【請求項１１】
ｎビットの符号が始点とする状態の集合に含まれる、それぞれの元を始点とし、符号が終点とする状態の集合に含まれる元を終点とする符号語候補の総数が、それぞれ始点について全てｍビットのデータ語の総数よりも多い場合、前記第３の設定手段で設定されるポインタｐは、符号語候補総数の最小値からデータ語の総数を減算した値以下の値をオフセット値として用いることにより設定される
ことを特徴とする請求項８に記載の復号装置。
【請求項１２】
所定の順序で配列されたｎビットの符号を、所定の順序で配列されたｍビットのデータと対応付けて復号する復号装置の復号方法において、
符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定ステップと、
前記ｎを１周期としてカウントするカウントステップと、
前記第１の設定ステップで設定された状態遷移ｓと、前記カウントステップから出力されたカウンタ値ｉを用いて、基準値ｒを設定する第２の設定ステップと、
処理の対象となっている前記データの範囲の最小値を現すポインタｐを設定する第３の設定ステップと、
符号語ビットｙのシンボルを判断する判断ステップと、
前記判断ステップで符号語ビットｙのシンボルが０または１の一方であると判断された場合、前記ポインタｐの値を（ｐ＋ｒ）に更新して出力し、符号語ビットｙのシンボルが０または１の他方であると判断された場合、前記ポインタｐを更新せずに出力する出力ステップと、
前記カウンタステップから出力されたカウンタ値ｉが（ｎ−１）であるか否かを判断し、前記カウンタ値ｉが（ｎ−１）であると判断された場合、前記出力ステップで出力されたポインタｐを前記データ語ｗとして決定する決定ステップと
を含むことを特徴とする復号方法。
【請求項１３】
所定の順序で配列されたｎビットの符号を、所定の順序で配列されたｍビットのデータと対応付けて復号する復号装置に、
符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定ステップと、
前記ｎを１周期としてカウントするカウントステップと、
前記第１の設定ステップで設定された状態遷移ｓと、前記カウントステップから出力されたカウンタ値ｉを用いて、基準値ｒを設定する第２の設定ステップと、
処理の対象となっている前記データの範囲の最小値を現すポインタｐを設定する第３の設定ステップと、
符号語ビットｙのシンボルを判断する判断ステップと、
前記判断ステップで符号語ビットｙのシンボルが０または１の一方であると判断された場合、前記ポインタｐの値を（ｐ＋ｒ）に更新して出力し、符号語ビットｙのシンボルが０または１の他方であると判断された場合、前記ポインタｐを更新せずに出力する出力ステップと、
前記カウンタステップから出力されたカウンタ値ｉが（ｎ−１）であるか否かを判断し、前記カウンタ値ｉが（ｎ−１）であると判断された場合、前記出力ステップで出力されたポインタｐを前記データ語ｗとして決定する決定ステップと
を含む処理を実行させるコンピュータが読み取り可能なプログラムが記録された記録媒体。
【発明の詳細な説明】
【０００１】
本発明は符号化装置および方法、復号装置および方法、並びに記録媒体に関し、特に、有限状態遷移図を用いて符号化および復号化を行うようにした符号化装置および方法、復号装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
従来の記録符号化方法では、ブロック符号がよく知られている。即ち、ｍビットのデータをｎビットの符号語にブロック変換する方法である。ここで、ブロック変換のブロックの大きさは、装置化のしやすさに大きく関係する。符号化率はｍ／ｎで表されるが、ここでは、ｍ／ｎ＝８／１０とｍ／ｎ＝１６／２０の２つの符号化率を考える。両者とも符号化率は同じであるが、ブロックの大きさが後者のほうが２倍大きい。
【０００３】
ｍ／ｎ＝８／１０の符号においては、２10個の符号語の中から、２8個の符号語を選ぶことになる。一方、ｍ／ｎ＝１６／２０の符号においては、２20個の符号語の中から、２16個の符号語を選ぶことになる。この場合、明らかに後者のほうが、符号語候補の数が多く、自由度が大きい。従って、符号に所定の制約を加える場合、後者の符号のほうが、より条件を厳しくすることができる。このことは、より性能の良い符号を作れる可能性があることを示している。
【０００４】
【発明が解決しようとする課題】
しかしながら、図１６（Ａ）に示した符号化器および図１６（Ｂ）に示した復号化器のように、その構成をROM（Random Access Memory）、PLA（Programmed Logic Array）、もしくはランダムロジック回路で組んだ場合、ブロックの大きい符号、例えばｍ／ｎ＝１６／２０である符号は、ブロックの小さい符号、例えばｍ／ｎ＝８／１０である符号に比べて、その回路の規模が指数関数的に大きくなるという欠点があった。即ち、ｍ／ｎ＝８／１０である符号が、２8個のデータと符号語との１対１の対応を示す表を符号化器および復号化器で実現するのに対して、ｍ／ｎ＝１６／２０である符号は、２16個のデータと符号語との１対１の対応を示す表を符号化器および復号化器で実現しなければならなかった。
【０００５】
PLAやランダムロジックで符号化器および復号化器を組む場合、データ語と符号語の対応付けの仕方が、装置規模の大小に大きく影響する。ブロックの小さい符号の場合、装置化に適した対応付けを行なうのは比較的容易であるが、ブロックが大きくなればなるほど、装置化に適した対応付けを見つけ出すのが困難となる。
【０００６】
また、論理合成プログラムでロジックの合成を行なう場合、ブロックが大きくなると、指数関数的に合成に必要な処理が増え、その処理能力を超えてしまい合成不可能となるときや、合成の為に必要な時間が莫大な時間となるときがあった。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、有限状態遷移図を用いて符号化および復号化を行うことにより、回路の規模を小型化し、処理速度を向上させるものである。
【０００８】
【課題を解決するための手段】
請求項１に記載の符号化装置は、符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定手段と、第１の設定手段により設定された状態遷移ｓを用いて、基準値ｒを設定する第２の設定手段と、データのうち、何番目のデータ語ｗを処理しているかを現すポインタｐを設定する第３の設定手段と、第２の設定手段により設定された基準値ｒと、第３の設定手段により設定されたポインタｐとの大きさを比較する比較手段と、比較手段によりポインタｐが基準値ｒ以上であると判断された場合、符号語ビットｙのシンボルを１または０の一方とし、ポインタｐの値を（ｐ−ｒ）に更新して出力し、ポインタｐが基準値ｒより小さいと判断された場合、符号語ビットｙのシンボルを１または０の他方とし、ポインタｐの値を更新せずに出力する出力手段とを備えたことを特徴とする。
【０００９】
請求項６に記載の符号化方法は、符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定ステップと、第１の設定ステップで設定された状態遷移ｓを用いて、基準値ｒを設定する第２の設定ステップと、データのうち、何番目のデータ語ｗを処理しているかを現すポインタｐを設定する第３の設定ステップと、第２の設定ステップで設定された基準値ｒと、第３の設定ステップで設定されたポインタｐとの大きさを比較する比較ステップと、比較ステップでポインタｐが基準値ｒ以上であると判断された場合、符号語ビットｙのシンボルを１または０の一方とし、ポインタｐの値を（ｐ−ｒ）に更新して出力し、ポインタｐが基準値ｒより小さいと判断された場合、符号語ビットｙのシンボルを１または０の他方とし、ポインタｐの値を更新せずに出力する出力ステップとを含むことを特徴とする。
【００１０】
請求項７に記載の記録媒体は、符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定ステップと、第１の設定ステップで設定された状態遷移ｓを用いて、基準値ｒを設定する第２の設定ステップと、データのうち、何番目のデータ語ｗを処理しているかを現すポインタｐを設定する第３の設定ステップと、第２の設定ステップで設定された基準値ｒと、第３の設定ステップで設定されたポインタｐとの大きさを比較する比較ステップと、比較ステップでポインタｐが基準値ｒ以上であると判断された場合、符号語ビットｙのシンボルを１または０の一方とし、ポインタｐの値を（ｐ−ｒ）に更新して出力し、ポインタｐが基準値ｒより小さいと判断された場合、符号語ビットｙのシンボルを１または０の他方とし、ポインタｐの値を更新せずに出力する出力ステップとを含む処理を実行させるコンピュータが読み取り可能なプログラムを記録していることを特徴とする。
【００１１】
請求項８に記載の復号装置は、符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定手段と、ｎを１周期としてカウントするカウント手段と、第１の設定手段により設定された状態遷移ｓと、カウント手段から出力されたカウンタ値ｉを用いて、基準値ｒを設定する第２の設定手段と、処理の対象となっているデータの範囲の最小値を現すポインタｐを設定する第３の設定手段と、符号語ビットｙのシンボルを判断する判断手段と、判断手段により、符号語ビットｙのシンボルが０または１の一方であると判断された場合、ポインタｐの値を（ｐ＋ｒ）に更新して出力し、符号語ビットｙのシンボルが０または１の他方であると判断された場合、ポインタｐを更新せずに出力する出力手段と、カウンタ手段から出力されたカウンタ値ｉが（ｎ−１）であるか否かを判断し、カウンタ値ｉが（ｎ−１）であると判断された場合、出力手段から出力されたポインタｐをデータ語ｗとして決定する決定手段とを備えることを特徴とする。
【００１２】
請求項１２に記載の復号方法は、符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定ステップと、ｎを１周期としてカウントするカウントステップと、第１の設定ステップで設定された状態遷移ｓと、カウントステップから出力されたカウンタ値ｉを用いて、基準値ｒを設定する第２の設定ステップと、処理の対象となっているデータの範囲の最小値を現すポインタｐを設定する第３の設定ステップと、符号語ビットｙのシンボルを判断する判断ステップと、判断ステップで符号語ビットｙのシンボルが０または１の一方であると判断された場合、ポインタｐの値を（ｐ＋ｒ）に更新して出力し、符号語ビットｙのシンボルが０または１の他方であると判断された場合、ポインタｐを更新せずに出力する出力ステップと、カウンタステップから出力されたカウンタ値ｉが（ｎ−１）であるか否かを判断し、カウンタ値ｉが（ｎ−１）であると判断された場合、出力ステップで出力されたポインタｐをデータ語ｗとして決定する決定ステップとを含むことを特徴とする。
【００１３】
請求項１３に記載の記録媒体は、符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定ステップと、ｎを１周期としてカウントするカウントステップと、第１の設定ステップで設定された状態遷移ｓと、カウントステップから出力されたカウンタ値ｉを用いて、基準値ｒを設定する第２の設定ステップと、処理の対象となっているデータの範囲の最小値を現すポインタｐを設定する第３の設定ステップと、符号語ビットｙのシンボルを判断する判断ステップと、判断ステップで符号語ビットｙのシンボルが０または１の一方であると判断された場合、ポインタｐの値を（ｐ＋ｒ）に更新して出力し、符号語ビットｙのシンボルが０または１の他方であると判断された場合、ポインタｐを更新せずに出力する出力ステップと、カウンタステップから出力されたカウンタ値ｉが（ｎ−１）であるか否かを判断し、カウンタ値ｉが（ｎ−１）であると判断された場合、出力ステップで出力されたポインタｐをデータ語ｗとして決定する決定ステップとを含む処理を実行させるコンピュータが読み取り可能なプログラムを記録していることを特徴とする。
【００１４】
請求項１に記載の符号化装置、請求項６に記載の符号化方法、請求項７に記載の記録媒体においては、符号に対応する有限状態遷移図上の状態遷移ｓが設定され、設定された状態遷移ｓを用いて、基準値ｒが設定され、データのうち、何番目のデータ語ｗを処理しているかを現すポインタｐが設定され、ポインタｐが基準値ｒ以上である場合、符号語ビットｙのシンボルが１または０の一方とされ、ポインタｐの値が（ｐ−ｒ）に更新されて出力され、ポインタｐが基準値ｒより小さい場合、符号語ビットｙのシンボルが１または０の他方とされ、ポインタｐの値が更新されずに出力される。
【００１５】
請求項８に記載の復号装置、請求項１２に記載の復号方法、および請求項１３に記載の記録媒体においては、符号に対応する有限状態遷移図上の状態遷移ｓが設定され、ｎを１周期としてカウントされ、設定された状態遷移ｓと、カウントされたカウンタ値ｉを用いて、基準値ｒが設定され、処理の対象となっているデータの範囲の最小値を現すポインタｐが設定され、符号語ビットｙのシンボルが０または１の一方である場合、ポインタｐの値が（ｐ＋ｒ）に更新されて出力され、符号語ビットｙのシンボルが０または１の他方である場合、ポインタｐが更新されずに出力され、カウンタ値ｉが（ｎ−１）であるか否かが判断され、カウンタ値ｉが（ｎ−１）であると判断された場合、ポインタｐがデータ語ｗとして決定される。
【００１６】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態（但し一例）を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。また、従来の場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００１７】
請求項１に記載の符号化装置は、符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定手段（例えば、図３の状態遷移記憶回路２６）と、第１の設定手段により設定された状態遷移ｓを用いて、基準値ｒを設定する第２の設定手段（例えば、図３の符号語数記憶回路２８）と、データのうち、何番目のデータ語ｗを処理しているかを現すポインタｐを設定する第３の設定手段（例えば、図３のセレクタ２９）と、第２の設定手段により設定された基準値ｒと、第３の設定手段により設定されたポインタｐとの大きさを比較する比較手段（例えば、図３の減算器２４）と、比較手段によりポインタｐが基準値ｒ以上であると判断された場合、符号語ビットｙのシンボルを１または０の一方とし、ポインタｐの値を（ｐ−ｒ）に更新して出力し、ポインタｐが基準値ｒより小さいと判断された場合、符号語ビットｙのシンボルを１または０の他方とし、ポインタｐの値を更新せずに出力する出力手段（例えば、図４のステップＳ６乃至Ｓ８）とを備えたことを特徴とする。
【００１８】
請求項８に記載の復号装置は、符号に対応する有限状態遷移図上の状態遷移ｓを設定する第１の設定手段（例えば、図７の状態遷移記憶回路４６）と、ｎを１周期としてカウントするカウント手段（例えば、図７のビットカウンタ５０）と、第１の設定手段により設定された状態遷移ｓと、カウント手段から出力されたカウンタ値ｉを用いて、基準値ｒを設定する第２の設定手段（例えば、図７の符号語数記憶回路４８）と、処理の対象となっているデータの範囲の最小値を現すポインタｐを設定する第３の設定手段（例えば、図７のセレクタ４９）と、符号語ビットｙのシンボルを判断する判断手段（例えば、図８のステップＳ２６）と、判断手段により、符号語ビットｙのシンボルが０または１の一方であると判断された場合、ポインタｐの値を（ｐ＋ｒ）に更新して出力し、符号語ビットｙのシンボルが０または１の他方であると判断された場合、ポインタｐを更新せずに出力する出力手段（例えば、図８のステップＳ２７）と、カウンタ手段から出力されたカウンタ値ｉが（ｎ−１）であるか否かを判断し、カウンタ値ｉが（ｎ−１）であると判断された場合、出力手段から出力されたポインタｐをデータ語ｗとして決定する決定手段（例えば、図８のステップＳ３１）とを備えることを特徴とする。
【００１９】
図１は、本発明を適用した記録再生装置における構成例を示すブロック図である。符号化器１は、例えば、光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、相変化ディスクなどで構成されるメディア３に記録すべき情報系列（バイナリデータ）としての、例えば、ビデオデータや、オーディオデータ、その他のデータが、ｍビット単位で入力される。符号化器１は、入力されたｍビットのデータ語を、符号長ｎビットの符号語に変換（符号化）し、記録アンプ２に出力する。記録アンプ２は、符号化器１からのシリアルデータとしての符号シーケンスを増幅し、メディア３に記録する。
【００２０】
再生アンプ４は、メディア３からの再生信号を増幅し、イコライザアンプ５に供給するようになされている。イコライザアンプ５は、再生アンプ４からの再生信号を波形等化し、標本化器６とPLL（Phase Locked Loop）回路７に供給する。標本化器６は、イコライザアンプ５からの再生信号を、PLL回路７からのクロックに従って標本化（サンプリング）し、その結果得られる標本値を、検出器８に出力する。検出器８は、標本化器６より供給される標本値から符号語シーケンスを検出し、その検出結果を復号化器１０に供給する。
【００２１】
復号化器１０は、符号長ｎビットの符号語を、元のｍビットデータ語に復号する。PLL回路７は、イコライザアンプ５からの再生信号に基づいてクロックを生成し、標本化器６、SYNC検出器９、および復号化器１０に出力する。標本化器６、SYNC検出器９、および復号化器１０は、PLL回路７からのクロックに従って、動作するようになされている。SYNC検出器９は、検出器８より供給される符号シーケンスからSYNCパターン（シンボル同期パターン）を検出し、その検出結果を復号化器１０に供給するようになされている。
【００２２】
ここで、符号化器１は、符号シーケンスが受ける制約を表わした有限状態遷移図（FDTS: Finite-State Transition Diagram）に基づいて構成されており、具体的には、図２に示したADS（Alternating Digital Sum）とRDS（Running Digital Sum）の制約を表わす有限状態遷移図を用いることとする。図２に示した有限状態遷移図上の状態を（ADS，RDS）で表わすこととする。
【００２３】
ここでは、符号語が始点および終点とする状態を（３，３）、（３，７）、（７，３）、（７，７）の４状態とし、ｍを１６、ｎを２０とする。また、１６ビットデータ語をｗ、２０ビット符号語をｙ＝ｙ0，．．．，ｙ19（ｙiは有限状態遷移図上の始点側から数えてｉ番目のビット）、符号語に対応する状態遷移をｓ＝ｓ0，．．．，ｓ20（ｓ0は始点の状態、ｓ20は終点の状態）とする。符号化の処理はｙ0から順番に１ビットづつ行なわれるが、ここで、ポインタｐ＝ｐ0，．．．，ｐ19と、基準値ｒ＝ｒ0，．．．，ｒ19を定義する。
【００２４】
まず、本実施の形態における符号化方法は、データ語を、その値の小さい順に並べ、ｙ0をMSB（Most Significant Bit）とし、始点の状態、それぞれ個々に、その状態を始点とする符号語を値の小さい順に並べたとき、順番の同じもの同士を対応付ける。この場合、符号化の処理は、データ語ｗと順番の同じ符号語探す操作をすることになる。
【００２５】
状態（３，３）から符号化が開始されるとすると、ｓ0＝（３，３）である。ここで、状態ｓ0を始点とする２０ビット符号語候補の総数は、１２４４１６個であり、１６ビットデータ語の総数である２16（＝６５５３６）個以上存在しているので、データ語と符号語の１対１の対応付けが可能であることを示し、即ち、１６ビットのデータ語は、全て符号化できることを示している。
【００２６】
ポインタｐ0＝ｗとすると、ｐ0はｗが小さい順に何番目のデータ語であるかを示すことになる。次に、状態ｓ0を始点とするｙ0が０である２０ビット符号語候補の総数は、４１４７２個である。ｙ0が１である２０ビット符号語候補の総数は、８２９４４（＝１２４４１６−４１４７２）個である。このことから、値の小さい順に４１４７２個目までの符号語のｙ0が０であり、それ以上の８２９４４個の符号語のｙ0が１であることになる。ここで、基準値ｒ0＝４１４７２とすると、データ語と符号語ともに値の小さい順に並べられ対応づけられていることから、ｐ0がｒ0より小さければｙ0は０であり、ｐ0がｒ0以上であればｙ0は１であることがわかる。即ち、ｐ0がｒ0より小さいか否かでまずｙ0を決定することができる。
【００２７】
さらに、ｐ0がｒ0より小さかったと仮定し、ｙ1を決定する方法を考える。現在対象となっているデータの範囲は小さい順にｒ0個目までであるが、ｐ1＝ｐ0とすると、ｐ1はｗがこの範囲内で小さい順に何番目のデータ語であるかを示すことになる。ｙ0が０であることより、状態はｓ0＝（３，３）からｓ1＝（２，２）へ遷移する。ｓ1を始点とするｙ1が０である１９ビット符号語候補の総数は、２０７３６個である。また、ｙ1が１である１９ビット符号語候補の総数は、ｒ0−２０７３６＝２０７３６個である。ｙ0を決定したときと同様に、ｙ1が０である１９ビット符号語候補の総数２０７３６を基準値ｒ1とすると、ｐ1がｒ1より小さければｙ1は０であり、ｐ1がｒ1以上であれば、ｙ1は０であるとわかる。ここで、符号長を１９ビットとしたのは、ｙ0がすでに決定済みであるからである。
【００２８】
今度は、ｐ0がｒ0以上であったと仮定し、ｙ1を決定する方法を考える。ところで、ここでは、データ語、符号語ともに値の小さい順にｒ0＋１個目以上のものが処理の対象である。従って、ｐ1＝ｐ0−ｒ0とすると、ｐ1はｗが処理対象の範囲内で小さい順に何番目のデータ語であるかを示すことになる。この場合、ｙ0  が１であることより、状態はｓ0＝（３，３）からｓ1＝（４，４）へ遷移する。ｓ1を始点とするｙ1が０である１９ビット符号語候補の総数は、４１４７２個である。また、ｙ1が１である１９ビット符号語候補の総数は、８２９４４−４１４７２＝４１４７２個である。ｙ1が０である１９ビット符号語候補の総数４１４７２を基準値ｒ1とすると、ｐ1がｒ1より必ず小さいことから、ｙ1は０であるとわかる。この例では、ｐ1はｒ1より小さい値しか取り得ないので、一意にｙ1は０と決定されたが、ｐ1がｒ1以上の値を取り得る場合、ｐ1がｒ1以上の値であったならば、ｙ1は１と決定される。
【００２９】
このようにして、ｙ0とｙ1が決定されたことになる。以下ｙ2乃至ｙ19も同様の方法で決定される。
【００３０】
図３は、上述した符号化方法により符号化を行う符号化器１の構成例を示したブロック図である。加算器２１に入力されたデータ語は、セレクタ２２を介してポインタレジスタ２３に出力される。ポインタレジスタ２３は、ポインタを減算器２４に出力する。
【００３１】
セレクタ２５は、入力された初期状態データ、または状態遷移記憶回路２６から出力されたデータの内、どちらか一方を選択し、状態レジスタ２７を介して符号語数記録回路２８に出力する。符号語数記憶回路２８から出力されたデータは、減算器２４に入力される。減算器２４は、ポインタレジスタ２３から出力されたデータと、符号語数記憶回路２８から出力されたデータを減算処理し、セレクタ２９、状態遷移記憶回路２６、および記録アンプ２（図１）に出力する。セレクタ２９から出力されたデータは、セレクタ２２に返される。
【００３２】
符号化開始データは、セレクタ２５の他に、セレクタ２２とビットカウンタ３０にも入力される。ビットカウンタ３０から出力されたデータは、セレクタ２２と符号語数記憶回路２８に入力される。
【００３３】
図４に符号化装置１の符号化処理のフローチャートを示す。ただし、ここでは、符号長をｎ、符号化の初期状態をｓ0、およびオフセット値をｗ0とする。ステップＳ１において、符号化の開始とともに、セレクタ２５を介して、予め決められた符号化の初期状態ｓ0が、現在の状態ｓを現す状態レジスタ２７にロードされる。
【００３４】
ステップＳ２において、データ語ｗが加算器２１に入力される。そして、ステップＳ３において、加算器２１は、データ語ｗにオフセットを持たせる場合、そのオフセット値ｗ0を入力し、それにともない、ポインタｐがｗ＋ｗ0に設定される。従って、オフセットが必要ない場合、加算器５１を備える必要は必ずしもなく、ステップＳ３では、ポインタｐをｗに設定することも可能である。
【００３５】
ビットカウンタ３０の出力ｉは、現在何番目の符号語ビットｙの処理を行なっているかを示しており、ステップＳ４において、符号化開始信号の入力とともに０に初期化される。ステップＳ１乃至Ｓ４において、上述したように初期状態が設定されたら、ステップＳ５に進み、入力されたデータ語ｗに対しての符号化が開始される。
【００３６】
ステップＳ５において、現在の状態ｓを始点とする符号語ビットｙが０である符号語の総数である基準値ｒが求められる。すなわち、符号語数記憶回路２８は、現在の状態ｓを始点とするｙが０である（ｎ−ｉ）ビット符号語候補の総数ｒを記憶しており、その記憶されているデータが用いられて、基準値ｒが求められる。基準値ｒはビットカウンタ３０の出力ｉと現在の状態ｓとの関数Ｒで表わされる。記憶される符号語数は、状態ｓを始点とするｙが１である（ｎ−ｉ）ビット符号語候補の総数としてもよい。
【００３７】
ステップＳ６において、ポインタｐと基準値ｒの大小比較が行われる。その結果、基準値ｒよりもポインタｐが小さければ、ステップＳ７に進み、符号語ビットｙに０が代入され、ポインタｐが基準値ｒ以上であれば、符号語ｙに１が代入され、さらにポインタｐに（ｐ−ｒ）が代入されポインタｐが更新されて、ステップＳ９に進む。
【００３８】
すなわち、ポインタレジスタ２３から出力されるポインタｐと、符号語数記憶回路２８から出力される基準値ｒが、減算器２４に入力され、（ｐ−ｒ）が計算される。減算器２４の出力が負であった場合、符号語ビットｙは０とされ（ステップＳ７）、正であった場合、符号語ビットｙは１とされる（ステップＳ８）。これは減算器２４のキャリーアウト（ＣＯ）を符号語ビットｙとすることで実現できる。仮に、オフセット値ｗ0が０である場合、減算器２４に必要なビット幅はｍビットであるが、オフセット値ｗ0が０より大きい場合は、オフセット値ｗ0の大きさに応じたビットがｍビットに追加される。
【００３９】
ステップＳ９において、得られた符号語ビットｙが出力される。ステップＳ１０において、現在の状態ｓは、符号語ビットｙによって決まる次の状態に更新される。ここで、ｓはｓとｙの関数Ｓと表現することができる。すなわち、減算器２４から出力される符号語ビットｙは、符号化器１から出力される一方で、セレクタ２９と状態遷移記憶回路２６に入力される。そして、セレクタ２９は、符号語ビットｙが０であればポインタｐをそのまま出力し、符号語ビットｙが１であればポインタｐの値として（ｐ−ｒ）を出力する。セレクタ２９からの出力は、ビットカウンタ３０のカウントアップと共にセレクタ２２を介して、ポインタレジスタ２３にロードされ、ポインタｐが更新される。
【００４０】
このようにして、１ビット目の処理が終了されると、ステップＳ１１に進み、ｉ＝ｎ−１であるか否かが判断される。ｉがｎ−１に達していないと判断された場合、ステップＳ１２に進み、ｉの値が１だけインクリメントされて、ステップＳ２の基準値ｒ処理に戻り、それ以降の処理が繰り返される。
【００４１】
一方、ステップＳ１１において、ｉ＝ｎ−１になっていると判断された場合、ステップＳ２の、符号語ｗの入力に戻り、それ以降の処理が続けられる。すなわち、状態遷移記憶回路２６は、符号語ビットｙに応じて、現在の状態ｓから遷移する次の状態を記憶している。状態遷移記憶回路２６の出力は、ビットカウンタ３０のカウントアップとともに、セレクタ２５を介して状態レジスタ２７にロードされ、現在の状態ｓが更新される。
【００４２】
ビットカウンタ３０は、０から（ｎ−１）までカウントアップした後、再び０に戻るようになっている。ビットカウンタ３０の出力が０になると同時に、新たなデータ語ｗがポインタレジスタ２３にロードされ、次の符号化が開始される。また、これと同時に、状態レジスタ２７には、状態遷移記憶回路２６から出力される一つ前の符号語が終点とする状態がロードされる。
【００４３】
一般的に符号語ビットを決定する場合、現在の状態ｓを始点とする、符号語ビットｙが０である（ｎ−ｉ）ビット符号語候補の総数を基準値ｒとして、ポインタｐが基準値ｒより小さければ、符号語ｙを０と決定し、ポインタｐが基準値ｒ以上であれば、符号語ｙを１と決定し、ポインタｐを（ｐ−ｒ）と更新する。続いて現在の状態ｓは、ｓとｙから一意に定まる状態で更新される。
【００４４】
上述した符号化処理では、２０ビット符号の最初のビットｙ0をMSBとし、１６ビットデータ語と２０ビット符号語を、ともに小さい順に並べた場合順番の同じもの同士を対応付けた。また、符号語ｙiを決定する際、状態ｓiを始点とする符号語ｙiが０ある（２０−ｉ）ビット符号語候補の総数を基準値ｒiとしたが、状態ｓiを始点とする符号語ｙiが１である（２０−ｉ）ビット符号語候補の数を基準値ｒiとすることもできる。この場合、１６ビットデータ語を小さい順に並べ、２０ビット符号語を大きい順に並べた場合、順番の同じもの同士を対応づけたことになる。
【００４５】
上述の例では、状態（３，３）を始点とする２０ビット符号語候補の総数が１６ビットデータ語の総数より多く存在した。従って、１６ビットデータ語と２０ビット符号語をともに小さい順に並べ、順番の同じもの同士を対応づけたとき（即ち、符号語ｙiが０である２０−ｉビット符号語候補の総数を基準値ｒiとしたとき）、数が多い分だけ値の大きい符号語ｙが余ることになる。また、データ語ｗを小さい順に並べ、符号語ｙを大きい順に並べて、順番の同じもの同士を対応づけたとき（即ち、符号語ｙiが１である２０−ｉビット符号語候補の総数を基準値ｒiとしたとき）、数が多い分だけ値の小さい符号語ｙが余ることになる。ここで余りの数は、（状態（３，３）を始点とする２０ビット符号語候補の総数−１６ビットデータ語の総数）である。
【００４６】
仮に、余った符号語をデータ語に割り当てたい場合、データ語ｗにオフセットｗ0を持たせればよい。即ち、加算器２１を設け、ステップＳ３の処理のごとく、ｗ＝ｗ＋ｗ0とすればよい。ここでｗ0は、上述した余り数以下の値である。
【００４７】
図５に、符号語が始点とする状態（ADS,RDS）を（３，３）、（３，７）、（７，３）、および（７，７）の４状態とし、ｍを１６、ｎを２０とした場合の符号語数記憶回路２８の記憶内容の一部を、同様に図６に状態遷移記憶回路２６の記憶内容を、それぞれ示す。図５は、ｉが８乃至１１の場合を表にしており、符号語数記憶回路２８が記憶しているデータの約１／５にあたる。従来の符号化器を考えた場合、最小で符号化器には２16個のデータ語と符号語の対応表を１つ記憶しなければならない。図５および図６から、本実施の形態における符号化器１が、従来の装置に比べて格段に回路規模を小さくできることがわかる。
【００４８】
例えばｍを３２、ｎを４０のように、符号化の単位を大きくした場合を考える。図６に示す状態遷移記憶回路２６の内容は、その出力が現在の状態ｓと符号語ビットが０であるか１であるかだけによって決まっているため、ｎが大きくなっても変化しない。図５に示す符号語数記憶回路２８の内容は、ｉの関数となっているため、ほぼｎに比例して増加するといえる。また、加算器やセレクタ等はｍが増加した分に比例して、そのビット幅が増える。一方、従来型の符号化器では、２m個のデータ語と符号語の対応表を記憶しなければならないことから、符号化の単位が大きくなるにつれて指数関数的にその規模が増大する。このことから、本実施の形態における符号化器１が、符号化の単位が大きくなればなるほど効果が大きくなることがわかる。このことは、これから説明する復号化器でもまったく同じことが言える。
【００４９】
このようにして符号化されたシリアルデータである符号シーケンスは、記録アンプ２を介して、メディア３に供給されて記録される。メディア３に記録されたデータが再生されると、それにより得られる再生信号は、再生アンプ４において増幅された後、イコライザアンプ５において等化され、標本化回路６とPLL回路７に供給される。PLL回路７は、入力された再生信号からクロックを生成し、生成したクロックを、標本化器６、検出器８、SYNC検出器９、および復号化器１０に供給する。
【００５０】
一方、標本化器６は、イコライザアンプ５からの、外乱の加わった再生信号を、PLL回路７より供給されるクロックに同期して標本化する。そして、その結果得られた標本値が、検出器８に供給され、これにより、元の符号シーケンスが検出される。検出器８で検出された符号シーケンスは、SYNC検出器９に供給され、SYNCパターンが検出される。そして、その結果得られる符号語に対する同期信号が、復号化器１０に供給され、その同期がとられる。検出器８で検出された符号シーケンスは、復号化器１０に供給され、これにより元のｍビットデータが復号される。
【００５１】
次に、復号化処理について説明する。ここでは、検出された符号語にはエラーがなかったとし、符号化器から出力された符号語ｙ＝ｙ0，．．．，ｙn-1が、そのまま復号化処理に使われるとする。復号化処理も符号化処理と同様に、ｙ0から順番に１ビットづつ行なわれる。
【００５２】
まず、ポインタｐ0を０で初期化する。復号化処理では、ポインタｐiは現在（即ち、ｉという時刻）に処理の対象となっているデータ語の範囲の最小値を示す。ｉが０である時刻は、データ語の範囲は未知であるので、ポインタｐ0を０とする。
【００５３】
状態ｓ0＝（３，３）を始点とするビットｙ0が０である符号語は、符号化時に、基準値ｒ0（基準値ｒ0は状態ｓ0を始点とするビットｙ0が０である２０ビット符号語の総数４１４７２）より小さい値であるデータ語ｗと対応付けがされた。ビットｙ0が１である符号語ｙは、基準値ｒ0以上であるデータ語ｗと対応付けがされた。従って、ビットｙ0が０である場合は、データ語ｗは０乃至（ｒ0−１）のいずれかであり、ビットｙ0が１である場合は、データ語ｗは基準値ｒ0以上であると決定することができる。これは、ポインタｐ0を０としたことから、ビットｙ0が０である場合、データ語ｗは、ｐ0乃至（ｐ0＋ｒ0−１）のいずれかであり、ビットｙ0が１である場合、データ語ｗは、（ｐ0＋ｒ0）以上であると書き直すことができる。
【００５４】
ビットｙ0が０であったと仮定し、ビットｙ1に対する復号化処理を考える。この場合、ビットｙ0が０であることより、状態はｓ0からｓ1＝（２，２）へ遷移する。また、復号されるべきデータ語ｗは、ｐ0乃至（ｐ0＋ｒ0−１）のいずれかであるので、ポインタｐ1はｐ1＝ｐ0とされる。状態ｓ1を始点とするビットｙ1が０である符号語は、符号化時に、最小値であるｐ1以上でｐ1＋ｒ1（基準値ｒ1は状態ｓ1を始点とするビットｙ1が０である１９ビット符号語の総数２０７３６）より小さい値であるデータ語ｗと対応づけがなされた。ビットｙ1が１である符号語は、（ｐ1＋ｒ1）以上であるデータ語ｗと対応付けられた。従って、ビットｙ1が０である場合、データ語ｗはｐ1乃至（ｐ1＋ｒ1−１）の内のいずれかであり、ビットｙ1が１である場合、データ語ｗは（ｐ1＋ｒ1）以上であると決定することができる。
【００５５】
次に、ビットｙ0が１であったと仮定して、ビットｙ1に対する復号化処理を考える。この場合、ビットｙ0が１であることより、状態はｓ0からｓ1＝（４，４）へ遷移する。また、復号されるべきデータ語ｗは（ｐ0＋ｒ0）以上であるので、ポインタｐ1はｐ1＝ｐ0＋ｒ0とされる。状態ｓ1を始点とするビットｙ1が０である符号語は、符号化時に、最小値ｐ1以上でｐ1＋ｒ1（基準値ｒ1は状態ｓ1を始点とするビットｙ1が０である１９ビット符号語の総数４１４７２）より小さい値であるデータ語ｗと対応付けられていた。ビットｙ1が１である符号語は、（ｐ1＋ｒ1）以上であるデータ語ｗと対応づけがなされた。従って、ビットｙ1が０である場合、データ語ｗはｐ1乃至（ｐ1＋ｒ1−１）の内のいずれかであり、ビットｙ1が１である場合、データ語ｗは（ｐ1＋ｒ1）以上であると決定することができる。
【００５６】
図７は、上述したような復号処理を行う復号化器１０の構成例を示したブロック図である。セレクタ４２は、オフセット値−ｗ0とセレクタ４９から出力されたデータのうち、どちらか一方を選択し、ポインタレジスタ４３に出力する。ポインタレジスタ４３は、ポインタｐを加算器４４に出力する。
【００５７】
セレクタ４５は、入力された初期状態データと状態遷移記憶回路４６から出力されたデータの内、どちらか一方を選択し、状態レジスタ４７を介して符号語数記録回路４８に出力する。符号語数記憶回路４８から出力されたデータは、加算器４４に入力される。加算器４４は、ポインタレジスタ４３から出力されたデータと、符号語数記憶回路４８から出力されたデータを減算処理し、セレクタ４９に出力される。セレクタ４９から出力されたデータは、セレクタ４２に返される一方で、復号化データとして、他の装置に供給される。
【００５８】
符号化開始データは、セレクタ４５の他に、セレクタ４２とビットカウンタ５０にも入力される。ビットカウンタ５０から出力されたデータは、セレクタ４２と符号語数記憶回路４８に入力される。
【００５９】
図８のフローチャートを参照して、復号化器１０が行う符号化処理について説明する。ただし、符号化処理と同じように、符号長をｎとし、復号化の初期状態をｓ0、オフセット値をｗ0とする。
【００６０】
復号化の開始とともに、ステップＳ２１において、現在の状態ｓに初期状態ｓ0が代入される。すなわち、復号化開始信号とともにセレクタ４５を介して、符号化の初期状態と同じ状態ｓ0が状態レジスタ４７にロードされる。ステップＳ２２において、ポインタｐに（−ｗ0）が代入され（ｗ0は符号化時に与えられたオフセット値と同じである）、ポインタｐがセットされる。すなわち、セレクタ４２を介して、ポインタｐの初期値として符号化時に与えられたオフセット値（−ｗ0）がポインタレジスタ４３にロードされる。
【００６１】
ステップＳ２３において、ｉに０が代入される。すなわち、ビットカウンタ５０の出力ｉは、現在何番目の符号語ビットｙに対する処理を行なっていることを示しており、復号化開始信号とともに０で初期化される。このようにして初期化が行われると、符号語の１ビット目を入力し処理に入る。まず、ステップＳ２４において、まず、現在の状態ｓを始点とする符号語ビットｙが入力される。ステップＳ２５において、符号語ｙが０である符号語の総数である基準値ｒが求められる（ｒは符号化時と同じものである）。
【００６２】
ステップＳ２６において、符号語ビットｙが０であるか否かを判断し、０でなければステップＳ２７に進み、ポインタｐに（ｐ＋ｒ）が代入され、ポインタｐが更新される。ステップＳ２６において、符号語ビットｙが０であると判断された場合、またはステップＳ２７における処理が終了された場合、ステップＳ２８において、現在の状態ｓは、符号語ｙによって決まる次の状態ｓに更新される。ここで、ｓはｓとｙiの関数Ｓと表現されるが、Ｓは符号化時と同じものである。
【００６３】
すなわち、状態遷移記憶回路４６は、状態遷移記憶回路２６（図３）とまったく同じものが用いられる。ポインタレジスタ４３から出力されるポインタｐと符号語数記憶回路４８から出力される基準値ｒは加算器４４に入力され、（ｐ＋ｒ）が計算される。入力された符号語ビットｙは、セレクタ４９と状態遷移記憶回路４６に入力される。セレクタ４９は、符号語ビットｙが０であればポインタｐを出力し、符号語ビットｙが１であればポインタｐとして（ｐ＋ｒ）を出力する。セレクタ４９からの出力は、ビットカウンタ５０のカウントアップとともにセレクタ４２を介して、ポインタレジスタ４３にロードされ、ポインタｐが更新される。
【００６４】
符号語数記憶回路４８は、符号語数記憶回路２８（図３）とまったく同じものが用いられる。状態遷移記憶回路４６の出力は、ビットカウンタ５０のカウントアップとともにセレクタ４５を介して状態レジスタ４７にロードされ、現在の状態ｓが更新される。
【００６５】
このようにして、１ビット目に対する処理が終了された場合、ステップＳ２９に進み、ｉが（ｎ−１）になっているか否かが判断される。ｉが（ｎ−１）に達していないと判断された場合、ステップＳ３０に進み、ｉを１だけインクリメントして、ステップＳ２４の符号語ビットｙの入力に戻り、それ以降の処理が繰り返される。
【００６６】
一方、ステップＳ２９において、ｉが（ｎ−１）になっていると判断された場合、ステップＳ３１に進み、データ語ｗにポインタｐが代入され、ステップＳ３２において、ｗが復号結果として出力される。そして、ステップＳ２２のポインタのセットの処理に戻り、それ以降の処理が繰り返される。
【００６７】
すなわち、ビットカウンタ５０は、０乃至（ｎ−１）までカウントアップしたあと、再び０に戻り、その出力が（ｎ−１）であるときのセレクタ４９の出力は、復号されたデータ語ｗを示しており、ここで１つの符号語の復号が終了する。次に、ビットカウンタ４９の出力が０になると同時に、オフセット（−ｗ0）がポインタレジスタ４３にロードされ、次の復号化が開始される。また、これと同時に、状態レジスタ４７には、状態遷移記憶回路４６から出力される一つ前の符号語が終点とする状態がロードされる。
【００６８】
一般的に符号語ビットｙに対する処理の場合、符号語ビットｙが１であれば、現在の状態ｓを始点とする、符号語ビットｙが０である（ｎ−ｉ）ビット符号語候補の総数を基準値ｒとして、ポインタｐを（ｐ＋ｒ）で更新する。続いて現在の状態ｓは、ｓとｙから一意に定まる状態で更新される。そして、ｎビット目の処理が終わった時点でのポインタｐが復号データ語ｗとなる。
【００６９】
このように、符号語が始点とする状態（ADS,RDS）を（３，３）、（３，７）、（７，３）および（７，７）の４状態とし、ｍを１６、ｎを２０とした場合、符号語数記憶回路４８の記憶内容と状態遷移記憶回路４６の記憶内容は、それぞれ図５と図６で示した表と同一のものである。従来の復号化器を考えた場合、最小で復号化器には２16個の符号語とデータ語の対応表を１つ記憶しなければならない。図５および図６から、本実施の形態における復号化器１０が符号化器１と同じく、従来の装置に比べて格段に回路規模を小さくできることがわかる。
【００７０】
図３と図７を比較してみると、図７で示した復号化器１０には、加算器２１に相当する装置がなく、減算器２４が加算器４４に置き換えられている。その他の構成は、全く同じである。従って、符号化と復号化が同時に行なわれない装置の場合、両者を合わせて符号化と復号化ともに行なえる回路とすることにより、回路規模を、さらに小さくすることが可能である。図９は、符号化復号化共用器の構成例のブロック図である。図３に示した符号化器１、図７に示した復号化器１０との相違点を示すが、ここでは、図３に示した符号化器１との相違点について記す。
【００７１】
加算器２１が加減算器６２に、減算器２４が加減算器６３に、それぞれ置き換えられ、セレクタ６１とセレクタ６４が追加された構成となされている。この構成例においては、符号化されるデータ語は、セレク６１を介して加減算器６２に入力され、さらにセレクタ２２に供給されるようになされている。また、復号される符号語ビットは、セレクタ６４を介してセレクタ２９に入力されるようになされている。セレクタ６１、加減算器６２、加減算器６３、およびセレクタ６４は、符号化復号化切り換え信号により、その動作が制御されている。
【００７２】
このように、本実施の形態における符号化器１、復号化器１０においては、図９に示したように、共用化した構成としても、単独装置とほとんど、その回路規模が変わらないことがわかる。
【００７３】
図１０は、他の符号化復号化共用回路の構成例を示すブロック図である。この構成例と図９に示した符号化復号化共用回路との差異を示すと、図１０の構成例では、図９の構成例にセレクタ７１と基準値レジスタ７２が追加された構成となされている。このため、初期基準値のデータがセレクタ７１に入力され、さらに、符号化開始データと符号語数記憶回路２８から出力されたデータも入力される。セレクタ７１から出力されたデータは基準値レジスタ７２を介して加減算器６３に入力される。
【００７４】
また、図９の構成例では、符号語数記憶回路２８から出力される基準値ｒがビットカウンタ３０の出力ｉと、現在の状態ｓとの関数で表されたのに対し、図１０の構成例では、符号語数記憶回路７３から出力される基準値ｒがｉとｓに加えて符号語ビットｙとの関数で表されている。
【００７５】
このような構成とすることで、処理速度を速くさせることが可能となる。すなわち、現在の時刻ｉ、現在の状態ｓ、および現在の符号語ビットｙを基に、次の時刻の基準値ｎｒが求められているので、処理速度が速くなる。
【００７６】
さらに、回路の最高動作速度を決定するパスで、クリティカルパス（Critical Pass）という考えがあるが、これは、レジスタの出力からレジスタの入力に至るパスのうち、伝搬遅延が一番大きいパスのことをさす。このクリティカルパスは、図１０に示した符号化復号化共用回路においては、いくつか考えられるが、例えば、基準値レジスタ７２から加減算器６３、セレクタ６４、符号語数記憶回路７３、およびセレクタ７１を介して、基準レジスタ７２に戻るというパスがある。
【００７７】
一方、図９に示した符号化復号化共用回路におけるクリティカルパスは、状態レジスタ２７から、符号語数記憶回路２８、加減算器６３、セレクタ６４、状態遷移記憶回路２６、およびセレクタ２５を介して、状態レジスタ２７に戻るパスである。従って、図１０に示した符号化復号化共用回路の方が、クリティカルパスが短く、その結果、最高動作速度が速くなることがわかる。
【００７８】
図１１は、符号語数記憶回路７３に記憶されているデータの一部を示す表である。また、図１２に、さらに他の符号化復号化共用装置の構成を示し、図１３は符号化復号化回路８１の構成を示し、図１４は、図１３に示した各モジュールの内部構成を示している。図１２に示した符号化復号化共用回路においては、データ長は１６ビット、符号長は２０ビットとし、図１２と図１３の符号化と復号化とのデータの流れの区別を明確化するために、符号化のデータの流れは実線で、復号化のデータの流れは破線で、それぞれ示してある。符号化されるデータは、符号化復号化回路８１に入力される。符号化復号化回路８１は、符号語変換回路８２と終点状態変換回路８３にデータを出力する。終点状態変換回路８３は、レジスタ８４にデータを出力する。レジスタ８４からの出力は、符号語変換回路８２と終点状態変換回路８３に入力される。符号語変換回路８２からの出力は、ＰＳ変換器８５に入力される。
【００７９】
復号されるデータは、符号語検査回路８６と符号語変換回路８２に入力される。符号語検査回路８６から出力されたデータは、符号語変換回路８２からに入力される。符号語変換回路８２から出力されたデータは、符号化復号化回路８１に入力され、復号処理が施されて、出力される。
【００８０】
次に、その動作についてまず、符号化処理について説明する。符号化復号化共用装置に入力された１６ビットデータは、符号化復号化回路８１によって、図２に示した有限状態遷移図上の状態（３，３）を始点とする符号語に変換される。同時に、変換された符号語の終点の状態と型が符号化復号化回路８１から出力される。符号化の処理の過程で、状態遷移をたどっていることから、これを利用して終点の状態と型を求める。図１３上のｔｙOutが符号語の型であり、ｔｙ3乃至ｔｙ17は、ｔｙOutを生成する過程の信号である。
【００８１】
図１３では、ｉが奇数である各モジュールから出力されるｔｙiは、図１４上の状態遷移記憶回路２６から出力される状態ｓi+1のRDSが７であれば真とした信号とｔｙi-2との論理和をとったものであり、ごく簡単に生成できる。符号語が終点とする状態ｅｓは、ｉ＝１９であるモジュールの状態遷移記憶回路２６の出力ｓi+1、そのものである。図１３と図１４の詳細は後述する。符号化復号化回路８１から出力された終点の状態は、終点状態変換回路８３とレジスタ８４によって、符号語変換回路８２から出力される符号語が始点とする状態に変換される。符号化復号化回路８１から出力された符号語は、符号化復号化回路８１から出力された符号語の型をもとに、レジスタ８４から出力された状態を始点とする符号語に変換される。符号語変換回路８２から出力された符号語は、ＰＳ変換器８５によってシリアルデータに変換され符号化復号化共用装置から出力される。
【００８２】
次に復号化処理の流れについて説明する。入力された２０ビット符号語は、符号語検査回路８６により、その始点の状態および型が調べられる。一方、入力された符号語は、符号語変換回路８２において、符号語検査回路８６から出力された始点の状態と型をもとに、状態（３，３）を始点とする符号語に変換される。変換された符号語は、符号化復号化回路８１に入力され１６ビットデータ語への復号が行われる。
【００８３】
図１２に示す符号化復号化共用装置では、有限状態遷移図上のある一つの状態（本実施の形態では状態（３，３））を始点とする符号語に対してだけ符号化および復号化が行われるため、前回の符号語が終点とした状態と今回の符号語が始点とする状態とを一致させる必要がない。したがって、符号化復号化回路８１は図１３に示す回路構成とすることができ、その各モジュールの回路構成は、図１４に示すようにすることができる。
【００８４】
図１４は、図１０に示す回路から初期化に必要なセレクタ２２，２５，６１，７１、状態レジスタ２７、加減算器６２、ポインタレジスタ２３、基準値レジスタ７２、およびビットカウンタ３０とを取り除いて構成した符号語１ビットの符号化復号化を行うモジュールである。ちなみに、セレクタ６１は、図１３に記されている。図１３に示す符号化復号化回路８１は、符号語１ビットを処理するレジスタをもたないモジュールをシリアルに２０個接続した構成となっている。図１０に示す回路構成では、ポインタｐ、基準値ｒおよび状態ｓが、レジスタを挟んでループを形成しており、ループ内のクリティカルパスが回路の最高動作速度を決定していた。従って、クリティカルパスがもっている伝播遅延量より短い周期で回路を動作させることはできなかった。
【００８５】
一方、図１３に示した回路構成ではループが存在せずパイプライン処理が可能なため、基本的に最高動作速度の限定から開放される。ここでパイプライン処理とは、入力から出力に至る組み合わせ回路の途中をレジスタで切断し、クリティカルパスそのものを短くする処理のことである。たとえば、図１３で各モジュールの伝播遅延が等しいと仮定し、入力から１０個目と１１個目のモジュールの境界にレジスタを挿入したとすると、クリティカルパスが２つに分割されて伝播遅延が半分になり、挿入前に比べて回路の最高動作速度が２倍になる。レジスタを挿入する個所を増やしていけば、されに最高動作速度が速くすることが可能である。
【００８６】
上述した符号化復号化回路８１が行う符号化または復号化は、図２で示した有限状態遷移図上の状態（３，３）を始点とする２０ビット符号語候補１２４４１６個、全てを実際の符号語として用いない。このことは、符号語候補を小さい順か大きい順にならべたとき、一部符号語として使えない符号語候補が歯抜け状態で存在することを意味している。
【００８７】
図３の符号化器１が行う符号化処理、図７の復号化器１０の行う復号化処理では、現在の時刻ｉと現在の状態ｓとから、一意に基準値ｒが求まるとしたが、上述のように実際に使える符号語が歯抜け状態である場合、現在の状態が同じでも過去の状態遷移が異なると基準値ｒが異なる場合が生じてくる。このことは、過去の状態遷移によって現在の状態１つが複数の状態に分割され、それぞれに対して異なった基準値ｒが発生することを意味している。従って、図２に対して状態分割を行った有限状態遷移図を記述し、それをもとに処理を行わなくてはならない。
【００８８】
ここで、本実施の形態における状態（３，３）を始点とする符号語に対する制約を列挙しておく。
１．符号シーケンスのADSおよびRDSの最大振幅はともに１０である。
【００８９】
２．図２上で符号語の終点は、状態（３，３）、状態（３，７）、状態（７，３）、状態（７，７）のいずれかである。
【００９０】
３．始点の時刻を０、終点の時刻を２０としたとき、図２上で符号語は、時刻７にADSが０である状態およびADSが２である状態いずれも通過してはならない。
【００９１】
４．図２上で符号語は、時刻３にRDSが０である状態を通過してはならない。符号語は、時刻７にRDSが１０である状態を通過してはならない。時刻６にRDSが０である符号語および時刻７にRDSが０である符号語は、いずれの時刻にもRDSが７である状態を通過してはならない。
【００９２】
５．図２上で、時刻６にADSが３でかつ時刻７にADSが４である符号語は、いずれの時刻にもRDSが７である状態を通過してはならない。
【００９３】
６．図２上で、時刻３にRDSが６である符号語は、いずれかの時刻にRDSが７である状態を通過しなければならない。
【００９４】
７．図２上で、時刻２にRDSが１でかつ時刻３にRDSが２でかつ時刻４にRDSが１である符号語は、いずれの時刻にもRDSが７である状態を通過してはならない。時刻４にRDSが１でかつ時刻６にRDSが２でかつ時刻６にRDSが１である符号語は、いずれの時刻にもRDSが７で状態を通過してはならない。時刻６にRDSが１でかつ時刻７にRDSが２でかつ時刻８にRDSが１である符号語は、いずれの時刻にもRDSが７である状態を通過してはならない。
【００９５】
８．図２上で符号語は、時刻１３にRDSが４でかつ時刻１４にRDSが５でかつ時刻１６にRDSが４でかつ時刻１６にRDSが６でかつ時刻１７にRDSが６でかつ時刻１８にRDSが６でかつ時刻１９にRDSが４でかつ時刻２０にRDSが３であってはならない。符号語は、時刻１３にRDSが６でかつ時刻１４にRDSが６でかつ時刻１５にRDSが６でかつ時刻１６にRDSが６でかつ時刻１７にRDSが４でかつ時刻１８にRDSが６でかつ時刻１９にRDSが６でかつ時刻２０にRDSが７であってはならない。
【００９６】
９．図２上で符号語は、時刻１３にRDSが２でかつ時刻１４にRDSが１でかつ時刻１６にRDSが２でかつ時刻１６にRDSが１でかつ時刻１７にRDSが０でかつ時刻１８にRDSが１でかつ時刻１９にRDSが２でかつ時刻２０にRDSが３であってはならない。符号語は、時刻１３にRDSが４でかつ時刻１４にRDSが５でかつ時刻１５にRDSが６でかつ時刻１６にRDSが６でかつ時刻１７にRDSが４でかつ時刻１８にRDSが５でかつ時刻１９にRDSが４でかつ時刻２０にRDSが３であってはならない。符号語は、時刻１３にRDSが６でかつ時刻１４にRDSが６でかつ時刻１６にRDSが４でかつ時刻１６にRDSが６でかつ時刻１７にRDSが６でかつ時刻１８にRDSが５でかつ時刻１９にRDSが６でかつ時刻２０にRDSが７であってはならない。
【００９７】
図１５に上述した制約１乃至９を加えた場合の図１３上でｉ＝１１であるモジュールおける図１４上の符号語数記憶回路２８と状態遷移記憶回路２６の記憶内容を示す。ここで、状態は（ADS，RDS，分割された状態番号）で表されている。
【００９８】
このように、有限状態遷移図を用いてデータ語を符号化することにより、符号化または復号化する装置の規模を小さくすることが可能となり、処理時間を短くすることが可能となる。
【００９９】
なお、本明細書中において、上記処理を実行するコンピュータプログラムをユーザに提供する提供媒体には、磁気ディスク、CD-ROMなどの情報記録媒体の他、インターネット、デジタル衛星などのネットワークによる伝送媒体も含まれる。
【０１００】
【発明の効果】
以上の如く、請求項１に記載の符号化装置、請求項６に記載の符号化方法、請求項７に記載の記録媒体によれば、符号に対応する有限状態遷移図上の状態遷移ｓを設定し、設定された状態遷移ｓを用いて、基準値ｒを設定し、データのうち、何番目のデータ語ｗを処理しているかを現すポインタｐを設定し、ポインタｐが基準値ｒ以上である場合、符号語ビットｙのシンボルを１または０の一方とし、ポインタｐの値を（ｐ−ｒ）に更新して出力し、ポインタｐが基準値ｒより小さい場合、符号語ビットｙのシンボルを１または０の他方とし、ポインタｐの値を更新せずに出力するようにしたので、符号化装置の構成を小型化し、かつ高速に処理することが可能となる。
【０１０１】
請求項８に記載の復号装置、請求項１２に記載の復号方法、および請求項１３に記載の記録媒体においては、符号に対応する有限状態遷移図上の状態遷移ｓを設定し、ｎを１周期としてカウントし、設定された状態遷移ｓと、カウントされたカウンタ値ｉを用いて、基準値ｒを設定し、処理の対象となっているデータの範囲の最小値を現すポインタｐを設定し、符号語ビットｙのシンボルが０または１の一方である場合、ポインタｐの値を（ｐ＋ｒ）に更新して出力し、符号語ビットｙのシンボルが０または１の他方である場合、ポインタｐを更新せずに出力し、カウンタ値ｉが（ｎ−１）であるか否かを判断し、カウンタ値ｉが（ｎ−１）であると判断された場合、ポインタｐをデータ語ｗとして決定するようにしたので、復号装置の構成を小型化し、かつ、高速に処理することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した記録再生装置の一実施の形態の構成を示すブロック図である。
【図２】有限状態遷移図である。
【図３】符号化器の構成を示すブロック図である。
【図４】符号化器の動作を説明するフローチャートである。
【図５】符号語数記憶回路に記憶されているデータを示す図である。
【図６】状態遷移記憶回路に記憶されているデータの一部を示す図である。
【図７】復号化器の構成を示すブロック図である。
【図８】復号化器の動作を説明するフローチャートである。
【図９】符号化復号化共有回路の構成を示すブロック図である。
【図１０】符号化復号化共有回路の他の構成を示すブロック図である。
【図１１】符号語数記憶回路に記憶されているデータの一部を示す図である。
【図１２】符号化復号化共有回路のさらに他の構成を示すブロック図である。
【図１３】符号化復号化回路８１の構成を示すブロック図である。
【図１４】符号化復号化回路８１の細部の構成を示すブロック図である。
【図１５】符号語数記憶回路と状態遷移記憶回路に記憶されているデータの一部を示す図である。
【図１６】従来の符号化器と復号化器の一例の構成を示すブロック図である。
【符号の説明】
１  符号化器，  ２  記録アンプ，  ３  メディア，  ４  再生アンプ，  ５イコライザアンプ，  ６  標本化器，  ７  PLL回路，  ８  検出器，  ９  SYNC検出器，  １０  復号化器，  ２１  加算器，  ２２  セレクタ，  ２３  ポインタレジスタ，  ２４  減算器，  ２５  セレクタ，  ２６  状態遷移記憶回路，  ２７  状態レジスタ，  ２８  符号語数記憶回路，  ２９  セレクタ，３０  ビットカウンタ，  ４２  セレクタ，  ４３  ポインタレジスタ，  ４４  加算器，  ４５  セレクタ，  ４６  状態遷移記憶回路，  ４７  状態レジスタ，  ４８  符号語数記憶回路，  ４９  セレクタ，  ５０  ビットカウンタ，６２，６３  加減算器，  ７２  基準値レジスタ，  ７３  符号語数記憶回路，８１  符号化復号化回路，  ８２  符号語変換回路，  ８３  終点状態変換回路，  ８４  レジスタ，  ８５  ＰＳ変換器，  ８６  符号語検査回路
【図１】
0003991348.tif 000002
【図２】
0003991348.tif 000003
【図３】
0003991348.tif 000004
【図４】
0003991348.tif 000005
【図５】
0003991348.tif 000006
【図６】
0003991348.tif 000007
【図７】
0003991348.tif 000008
【図８】
0003991348.tif 000009
【図９】
0003991348.tif 000010
【図１０】
0003991348.tif 000011
【図１１】
0003991348.tif 000012
【図１２】
0003991348.tif 000013
【図１３】
0003991348.tif 000014
【図１４】
0003991348.tif 000015
【図１５】
0003991348.tif 000016
【図１６】
0003991348.tif 000017