(57)【要約】【課題】コードグループ毎の復号を迅速に行う復号回路を提供する。【解決手段】５Ｂ／６Ｂ復号部５０はディスパリティ信号２２と６ビットサブブロックとが与えられ、復号データ９１とディスパリティ信号ＲＤ１とエラー候補信号Ｅ１とを出力する。３Ｂ／４Ｂ復号部６０にはディスパリティ信号ＲＤ１と４ビットサブブロックとが与えられ、復号データ９２とディスパリティ信号ＲＤ２とエラー候補信号Ｅ２とを出力する。ディスパリティ信号ＲＤ２はデータ保持回路２１によって１クロック遅延して５Ｂ／６Ｂ復号部５０へ与えられる。３Ｂ／４Ｂについての復号処理の少なくとも一部が、５Ｂ／６Ｂにおけるディスパリティ信号ＲＤ１の取得と並行して行われる。【選択図】　　　　図１
2004147041.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２のサブブロックから構成されたコードグループの不正を検出する検出回路であって、
前記第１のサブブロックについての第１のランニングディスパリティを求める第１の処理部と、
前記第１のランニングディスパリティに基づいて前記第２のサブブロックについての第２のランニングディスパリティを求める第２の処理部と
を備え、
前記第２のランニングディスパリティを求める動作の少なくとも一部が前記第１のランニングディスパリティを求める動作とが並行して行われることを特徴とする検出回路。
【請求項２】
１クロック分のデータを遅延する遅延素子を更に備え、
前記第１の処理部は、第１の前記コードグループの前記第１のサブブロックと、前記第１の前記コードグループに先行する第２の前記コードグループの前記第２のランニングディスパリティとに基づいて、前記第１の前記コードグループについての前記第１のランニングディスパリティを求め、
前記第２の処理部は、前記第１の前記コードグループの前記第１のランニングディスパリティと、前記第１の前記コードグループの前記第２のサブブロックとに基づいて、前記第１の前記コードグループの前記第２のサブブロックについての前記第２のランニングディスパリティを求め、
前記遅延素子は前記第２のランニングディスパリティを１クロック分遅延させて前記第１の処理部に与える、請求項１記載の検出回路。
【請求項３】
前記第２の処理部は
前記第１のランニングディスパリティが正の場合に前記第２のランニングディスパリティに相当する第１のランニングディスパリティ候補と、
前記第１のランニングディスパリティが負の場合に前記第２のランニングディスパリティに相当する第２のランニングディスパリティ候補と
を求め、
前記第１のランニングディスパリティ候補及び前記第２のランニングディスパリティ候補のいずれかを、前記第１のランニングディスパリティの正負に基づいて選択し、前記第２のランニングディスパリティとして出力する、請求項２記載の検出回路。
【請求項４】
前記第１の処理部は
前記第２のランニングディスパリティが正の場合に前記第１のランニングディスパリティに相当する第３のランニングディスパリティ候補と、
前記第２のランニングディスパリティが負の場合に前記第１のランニングディスパリティに相当する第４のランニングディスパリティ候補と
を求め、
前記第３のランニングディスパリティ候補及び前記第４のランニングディスパリティ候補のいずれかを、前記第２のランニングディスパリティの正負に基づいて選択し、前記第１のランニングディスパリティとして出力する、請求項３記載の検出回路。
【請求項５】
前記第１の処理部には、前記コードグループをビット毎に反転して得られるデータである反転コードグループと、前記コードグループとのいずれか一方が、前記第２のランニングディスパリティに基づいて選択されて入力として与えられ、
前記第１の処理部は
前記第２のランニングディスパリティが正負のいずれか一方である第１の符号を採る場合に前記第１のランニングディスパリティに相当するランニングディスパリティ候補を前記入力に基づいて求め、
前記第２のランニングディスパリティが前記第１の符号を採る場合には前記ランニングディスパリティ候補を前記第１のランニングディスパリティとし、
前記第２のランニングディスパリティが前記第１の符号と反対である第２の符号を採る場合には前記ランニングディスパリティ候補と反対の符号を前記第１のランニングディスパリティとする、請求項３記載の検出回路。
【請求項６】
前記第１の処理部は、前記第１のサブブロックが正常な動作では採り得ない値を採っている場合に活性化する第１のエラー候補信号を出力し、
前記第２の処理部は、前記第２のサブブロックが正常な動作では採り得ない値を採っている場合に活性化する第２のエラー候補信号を出力し、
前記第１のエラー候補信号及び前記第２のエラー候補信号の少なくともいずれか一方が活性化している場合に活性化するエラー信号が出力される、
請求項１乃至請求項５のいずれか一つに記載の検出回路。
【請求項７】
前記コードグループにおいてはデータコード及び特殊コードのいずれかが符号化されており、
前記コードグループにおいて前記特殊コードが符号化されていない場合に活性化する第３のエラー候補信号を出力する第３の処理部
を更に備え、
前記エラー信号及び前記第３のエラー候補信号のいずれもが活性化しているか否かを示す不正信号が出力される、請求項６記載の検出回路。
【請求項８】
前記第３の処理部は、
前記コードグループをビット毎に反転して得られるデータである反転コードグループを求め、
前記第２のランニングディスパリティに基づいて選択された、前記コードグループ及び前記反転コードグループのいずれか一方について、前記特殊コードが符号化されているか否かを判断する、請求項７記載の検出回路。
【請求項９】
第１及び第２のサブブロックから構成されたコードグループを復号する復号回路であって、
前記第１のサブブロックについての第１のランニングディスパリティ及び第１の復号データを求める第１の復号部と、
前記第１のランニングディスパリティに基づいて前記第２のサブブロックについての第２のランニングディスパリティ及び第２の復号データを求める第２の復号部と
を備え、
前記第２の復号データを求める動作の少なくとも一部が前記第１のランニングディスパリティを求める動作とが並行して行われることを特徴とする復号回路。
【請求項１０】
１クロック分のデータを遅延する遅延素子を更に備え、
前記第１の復号部は、第１の前記コードグループの前記第１のサブブロックと、前記第１の前記コードグループに先行する第２の前記コードグループの前記第２のランニングディスパリティとに基づいて、前記第１の前記コードグループについての前記第１のランニングディスパリティを求め、
前記第２の復号部は、前記第１の前記コードグループの前記第１のランニングディスパリティと、前記第１の前記コードグループの前記第２のサブブロックとに基づいて、前記第１の前記コードグループの前記第２のサブブロックについての前記第２のランニングディスパリティを求め、
前記遅延素子は前記第２のランニングディスパリティを１クロック分遅延させて前記第１の復号部に与える、請求項９記載の復号回路。
【請求項１１】
前記第２の復号部は
前記第１のランニングディスパリティが正の場合に前記第２の復号データに相当する第１の復号データ候補と、
前記第１のランニングディスパリティが負の場合に前記第２の復号データに相当する第２の復号データ候補と
を求め、
前記第１の復号データ候補及び前記第２の復号データ候補のいずれかを、前記第１のランニングディスパリティの正負に基づいて選択し、前記第２の復号データとして出力する、請求項１０記載の復号回路。
【請求項１２】
前記第１の復号部は
前記第２のランニングディスパリティが正の場合に前記第１の復号データに相当する第３の復号データ候補と、
前記第２のランニングディスパリティが負の場合に前記第１の復号データに相当する第４の復号データ候補と
を求め、
前記第３の復号データ候補及び前記第４の復号データ候補のいずれかを、前記第２のランニングディスパリティの正負に基づいて選択し、前記第１の復号データとして出力する、請求項１１記載の復号回路。
【請求項１３】
前記第２のランニングディスパリティが正負のいずれか一方である第１の符号を採る場合には前記コードグループが、前記第２のランニングディスパリティが前記第１の符号と反対である第２の符号を採る場合には前記コードグループをビット毎に反転して得られるデータである反転コードグループが、それぞれ前記第１の復号部に対して入力として与えられ、
前記第１の復号部は
前記第２のランニングディスパリティが前記第１の符号を採る場合に前記第１の復号データに相当する第１の復号データ候補を前記入力に基づいて求め、
前記第２のランニングディスパリティが前記第１の符号を採る場合には前記第１の復号データ候補を前記第１の復号データとし、
前記第２のランニングディスパリティが前記第２の符号を採り、かつ前記入力が所定の値を採る場合には、前記第１の復号データ候補をビット毎に反転して得られる第２の復号データ候補を前記第１の復号データとする、請求項１０記載の復号回路。
【請求項１４】
前記コードグループにおいてはデータコード及び特殊コードのいずれかが符号化されており、
前記コードグループと前記特殊コードとの対応に基づいて第３の復号データを出力する第３の復号部
を更に備え、
前記第１の復号部は
前記第１のサブブロックと前記データコードとの対応に基づいて前記第１の復号データを出力し、
前記第１のサブブロックが前記データコードとして採り得ない値を採っている場合に活性化する第１のエラー候補信号を出力し、
前記第２の復号部は
前記第２のサブブロックと前記データコードとの対応に基づいて前記第２の復号データを出力し、
前記第２のサブブロックが前記データコードとして採り得ない値を採っている場合に活性化する第２のエラー候補信号を出力し、
前記第１のエラー候補信号及び前記第２のエラー候補信号の少なくともいずれか一方が活性化している場合には前記第３の復号データが、それ以外の場合には前記第１の復号データ及び前記第２の復号データが、それぞれ出力される、請求項９乃至請求項１３のいずれか一つに記載の復号回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は高速有線ネットワーク通信で伝送される信号を復号する技術に関し、特にブロックコード化されたＤＣ平衡型のデータで伝送される信号を復号する技術に関する。例えば８Ｂ／１０Ｂ符号化技術における復号技術として採用することができる。
【０００２】
【従来の技術】
８Ｂ／１０Ｂ符号化技術について、ランニングディスパリティを確認する回路を簡略化する技術が特許文献１に、またいずれも８Ｂ／１０Ｂ符号化を実現する２つの符号器が並列に設けられる技術が特許文献２に、それぞれ紹介されている。
【０００３】
【特許文献１】
特開平５−２８４０３７号公報
【特許文献２】
特表２００１−５１１３２３号公報
【０００４】
【発明が解決しようとする課題】
８Ｂ／１０Ｂ符号化技術における復号は、コードグループを構成する６ビット及び４ビットの二つのサブブロックから、それぞれ５ビット及び３ビットのデータを復号する。そしていずれのサブブロックから復号を行う場合にも、その直前のサブブロックから求められるランニングディスパリティを必要とする。
【０００５】
本発明は上記の事情に鑑みてなされたもので、コードグループ毎の復号を迅速に行う技術を提供することを目的としている。
【０００６】
【課題を解決するための手段】
この発明にかかる検出回路は、第１及び第２のサブブロックから構成されたコードグループの不正を検出する。そして前記第１のサブブロックについての第１のランニングディスパリティを求める第１の処理部と、前記第１のランニングディスパリティに基づいて前記第２のサブブロックについての第２のランニングディスパリティを求める第２の処理部とを備える。前記第２のランニングディスパリティを求める動作の少なくとも一部が前記第１のランニングディスパリティを求める動作とが並行して行われる。
【０００７】
この発明にかかる復号回路は、第１及び第２のサブブロックから構成されたコードグループを復号する。そして前記第１のサブブロックについての第１のランニングディスパリティ及び第１の復号データを求める第１の復号部と、前記第１のランニングディスパリティに基づいて前記第２のサブブロックについての第２のランニングディスパリティ及び第２の復号データを求める第２の復号部とを備える。前記第２の復号データを求める動作の少なくとも一部が前記第１のランニングディスパリティを求める動作とが並行して行われる。
【０００８】
【発明の実施の形態】
以下で例示される８Ｂ／１０Ｂ符号化技術は、全てＩＥＥＥ８０２．３ｃｌａｕｓｅ３６による定義に則って説明される。もちろん、以下の説明は例示であって、本発明を当該定義に則る場合のみに限定はしない。
【０００９】
発明の基本的思想．
本発明の具体的な実施の形態を説明する前に本発明の基本的思想について説明する。当該基本的思想も本発明を構成しうる概念である。
【００１０】
図１は８Ｂ／１０Ｂ符号化技術における復号回路１００の構造を示すブロック図である。復号回路１００は１０ビットのコードグループＬを８ビットの復号データＱへと変換する。コードグループＬはそれぞれ“ａｂｃｄｅｉ”，“ｆｇｈｊ”として表記される６ビット及び４ビットのサブブロックで構成される。復号データＱはそれぞれ“ＥＤＣＢＡ”，“ＨＧＦ”として表される５ビット及び３ビットの復号データ９１，９２で構成される。
【００１１】
復号回路１００は５Ｂ／６Ｂ復号部５０、３Ｂ／４Ｂ復号部６０、データ保持回路２１を備えている。５Ｂ／６Ｂ復号部５０にはコードグループＬについてのランニングディスパリティの正負を表すディスパリティ信号２２とサブブロック“ａｂｃｄｅｉ”とが入力され、５Ｂ／６Ｂ復号部５０は５ビットの復号データ９１（“ＥＤＣＢＡ”）と、ディスパリティ信号ＲＤ１と、エラー候補信号Ｅ１を出力する。ディスパリティ信号ＲＤ１は、サブブロック“ａｂｃｄｅｉ”から求められる、６ビットサブブロックについてのランニングディスパリティの正負を表す。ディスパリティ信号ＲＤ１は６ビットサブブロックのランニングディスパリティの正負に対応してそれぞれ“１”，“０”を採る。エラー候補信号Ｅ１はサブブロック“ａｂｃｄｅｉ”が正常な動作で採り得る値を採っていた場合に“０”を、それ以外の値を採っていた場合には“１”を、それぞれ採る。換言すればエラー候補信号Ｅ１は６ビットサブブロックが正常な動作で採り得ない値を採っている場合に活性化する。
【００１２】
３Ｂ／４Ｂ復号部６０にはディスパリティ信号ＲＤ１とサブブロック“ｆｇｈｊ”とが入力される。３Ｂ／４Ｂ復号部６０は３ビットの復号データ９２（“ＨＧＦ”）と、ディスパリティ信号ＲＤ２と、エラー候補信号Ｅ２を出力する。ディスパリティ信号ＲＤ２は、サブブロック“ｆｇｈｊ”から求められる、４ビットサブブロックについてのランニングディスパリティの正負を表す。ディスパリティ信号ＲＤ２は４ビットサブブロックのランニングディスパリティの正負に対応してそれぞれ“１”，“０”を採る。エラー候補信号Ｅ２はサブブロック“ｆｇｈｊ”が正常な動作で採り得る値を採っていた場合に“０”を、それ以外の値を採っていた場合には“１”を、それぞれ採る。換言すればエラー候補信号Ｅ２は４ビットサブブロックが正常な動作で採り得ない値を採っている場合に活性化する。
【００１３】
ディスパリティ信号ＲＤ２はデータ保持回路２１に与えられる。データ保持回路２１は図示されないクロック信号に基づいてディスパリティ信号ＲＤ２を１クロック分遅延し、これをディスパリティ信号２２として出力する。よって１クロック毎に１つのコードグループＬを復号回路１００に与えることにより、１クロック毎に１つの復号データＱを得ることができる。
【００１４】
但し、エラー候補信号Ｅ１，Ｅ２の少なくともいずれかが値“１”を採る場合には、両者の論理和を採る論理ゲート４１によってエラー信号Ｅが“１”を採る。即ちエラー信号Ｅは得られた復号データＱが誤りであるか否かを、それぞれ値“１”，“０”によって示す。つまりエラー信号Ｅは６ビットサブブロック、４ビットサブブロックの少なくともいずれかにおいて、正常な動作で採り得る値を採っていた場合に活性化する。
【００１５】
このように１クロック毎に１つのコードグループＬを復号するためには、５Ｂ／６Ｂ復号部５０による復号処理と、３Ｂ／４Ｂ復号部６０による復号処理とを１クロック内で行う必要がある。かかる要求に応えるためには、これらの復号処理を数学的な解法によらずにルックアップテーブルを用いて行うことが考えられる。しかしそれでも３Ｂ／４Ｂ復号部６０による復号処理は、５Ｂ／６Ｂ復号部５０から得られるディスパリティ信号ＲＤ１を必要とする。
【００１６】
以下で説明する実施の形態では、３Ｂ／４Ｂについての復号処理の少なくとも一部を、５Ｂ／６Ｂにおけるディスパリティ信号ＲＤ１の取得と並行して行う技術が紹介される。
【００１７】
実施の形態１．
図２は本発明の実施の形態１にかかる復号回路１０１の構造を示すブロック図である。復号回路１０１も、上述のコードグループＬを復号して復号データＱを得る。
【００１８】
復号回路１０１は復号回路１００の３Ｂ／４Ｂ復号部６０を３Ｂ／４Ｂ復号部６０Ａに置換した構成を有している。３Ｂ／４Ｂ復号部６０Ａは３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２、セレクタ１１，１２，１３を備えている。
【００１９】
３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２のいずれにも４ビットのサブブロック“ｆｇｈｊ”が入力される。またセレクタ１１，１２のいずれにもディスパリティ信号ＲＤ１が与えられる。
【００２０】
ＩＥＥＥ８０２．３の２０００ＥｄｉｔｉｏｎのＴａｂｌｅ３６に規定されるように、３Ｂ／４Ｂ復号（“ｆｇｈｊ”から“ＨＧＦ”への変換）も５Ｂ／６Ｂ復号（“ａｂｃｄｅｉ”から“ＥＤＣＢＡ”への変換）と同様に、カレントランニングディスパリティの正負毎に変換テーブルが準備される。
【００２１】
表１は３Ｂ／４Ｂの対応関係を示し、形式的には符号化の表として示されているが、実質的には復号化の表として採用することができる。最左欄には３ビットの復号データ“ＨＧＦ”が、中央欄にはカレントランニングディスパリティ（ここでは６ビットサブブロックについてのランニングディスパリティ）が負の場合に復号データ“ＨＧＦ”に対応するサブコード“ｆｇｈｊ”が、最右欄にはカレントランニングディスパリティが正の場合に復号データ“ＨＧＦ”に対応するサブコード“ｆｇｈｊ”が、それぞれ行毎に整合して示されている。復号の為に用いるルックアップテーブルではサブコード“ｆｇｈｊ”毎に復号データが設定され、各々がカレントランニングディスパリティが正の場合と負の場合を含む２４個のエントリから構成される。
【００２２】
【表１】
2004147041.tif 000003
【００２３】
サブコード“ａｂｃｄｅｉ”の値自体に依存することなく、サブコード“ｆｇｈｊ”及びカレントランニングディスパリティの極性に対して復号データ“ＨＧＦ”が一つ決定する。例えばカレントランニングディスパリティの極性が負であり、サブコード“ｆｇｈｊ”が“１０１１”であれば、対応する復号データ“ＨＧＦ”は“０００”である。但し一つのサブコード“ｆｇｈｊ”に対応する復号データ“ＨＧＦ”が、カレントランニングディスパリティの極性に依存して二つ存在するのではない。
【００２４】
３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２はそれぞれ３Ｂ／４Ｂ復号についてのカレントランニングディスパリティ（これは６ビットサブコードのランニングディスパリティに相当する）の正負に対応したルックアップテーブルを有している。つまり３Ｂ／４Ｂ（＋）復号器６１は表１の最右欄と最左欄の内容を対応づけるルックアップテーブルを、３Ｂ／４Ｂ（−）復号器６２は表１の中央欄と最左欄の内容を対応づけるルックアップテーブルを、それぞれ備えている。３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２はこれらのルックアップテーブルとサブコード“ｆｇｈｊ”とに基づいて、それぞれ復号データ９２の候補である、復号データ候補９２Ｐ，９２Ｎを出力する。それぞれのルックアップテーブルにおいて、入力されたサブコード“ｆｇｈｊ”の値が存在しない場合には、それぞれエラー候補信号Ｅ２の更なる候補であるエラー候補候補信号Ｅ２Ｐ，Ｅ２Ｎを出力する。また３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２のいずれも、カレントランニングディスパリティとサブコード“ｆｇｈｊ”とに基づいて新たなランニングディスパリティを求める機能を有しており、それぞれ４ビットサブコードのランニングディスパリティの候補の正負を表す、ディスパリティ候補信号ＲＤ２Ｐ，ＲＤ２Ｎを出力する。３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２のこれらの動作は５Ｂ／６Ｂ復号部５０の動作と並行して行われる。
【００２５】
復号データ候補９２Ｐはセレクタ１１の一方入力端（図中“１”と付記する）に、復号データ候補９２Ｎはセレクタ１１の他方入力端（図中“０”と付記する）に、それぞれ入力する。またディスパリティ候補信号ＲＤ２Ｐはセレクタ１２の一方入力端（図中“１”と付記する）に、ディスパリティ候補信号ＲＤ２Ｎはセレクタ１２の他方入力端（図中“０”と付記する）に、それぞれ入力する。またエラー候補候補信号Ｅ２Ｐはセレクタ１３の一方入力端（図中“１”と付記する）に、エラー候補候補信号Ｅ２Ｎはセレクタ１３の他方入力端（図中“０”と付記する）に、それぞれ入力する。
【００２６】
６ビットサブコードのランニングディスパリティが正の場合には、ディスパリティ信号ＲＤ１は“１”である。そしてセレクタ１１は復号データ候補９２Ｐを復号データ９２として出力し、セレクタ１２はディスパリティ候補信号ＲＤ２Ｐをディスパリティ信号ＰＤ２として出力し、セレクタ１３はエラー候補候補信号Ｅ２Ｐをエラー候補信号Ｅ２として出力する。
【００２７】
６ビットサブコードのランニングディスパリティが負の場合には、ディスパリティ信号ＲＤ１は“０”である。そしてセレクタ１１は復号データ候補９２Ｎを復号データ９２として出力し、セレクタ１２はディスパリティ候補信号ＲＤ２Ｎをディスパリティ信号ＰＤ２として出力し、セレクタ１３はエラー候補候補信号Ｅ２Ｎをエラー候補信号Ｅ２として出力する。
【００２８】
以上のようにして、３Ｂ／４Ｂ復号部６０Ａは、ディスパリティ信号ＲＤ１の取得を待たずに、復号データ候補９２Ｐ，９２Ｎ及びディスパリティ候補信号ＲＤ２Ｐ，ＲＤ２Ｎ、並びにエラー候補候補信号Ｅ２Ｐ，Ｅ２Ｎを求める。そしてディスパリティ信号ＲＤ１が取得された後に、セレクタ１１によって復号データ候補９２Ｐ，９２Ｎから復号データ９２が選択される。またセレクタ１２によってディスパリティ候補信号ＲＤ２Ｐ，ＲＤ２Ｎからディスパリティ信号ＲＤ２が選択される。またセレクタ１３によってエラー候補候補信号Ｅ２Ｐ，Ｅ２Ｎからエラー候補信号Ｅ２が選択される。このように６ビットサブコードのランニングディスパリティを求める処理と並行して、４ビットサブコードのデコードの少なくとも一部、即ちいずれかが復号データとして選択される一対の復号データ候補を求める処理が行われるので、コードグループ毎の復号を迅速に行うことができる。
【００２９】
なお一般に５Ｂ／６Ｂの復号処理よりも変換の対象となるデータのビット数が少ない３Ｂ／４Ｂの復号処理の方が迅速に行える。特に３Ｂ／４Ｂ（＋）復号器６１が復号データ候補９２Ｐ及びディスパリティ候補信号ＲＤ２Ｐ並びにエラー候補候補信号Ｅ２Ｐを求める処理と、３Ｂ／４Ｂ（−）復号器６２が復号データ候補９２Ｎ及びディスパリティ候補信号ＲＤ２Ｎ並びにエラー候補候補信号Ｅ２Ｎを求める処理とを並列して行うことができる。またその際に３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２の各々が用いるルックアップテーブルは、それぞれ６ビットサブコードについてのランニングディスパリティが正の場合と負の場合に分担して備えられている。よってこれらのルックアップテーブルの大きさは、データＲＤ１と４ビットサブブロック“ｆｇｈｊ”とに基づく検索で採用されるべきルックアップテーブルの半分で済み、３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２の処理自体も迅速に行われる。従ってセレクタ１１，１２による選択動作が有効となるまでに復号データ候補９２Ｐ，９２Ｎやディスパリティ候補信号ＲＤ２Ｐ，ＲＤ２Ｎ、エラー候補候補信号Ｅ２Ｐ，Ｅ２Ｎをそれぞれセレクタ１１，１２，１３に入力することは容易である。
【００３０】
実施の形態２．
本実施の形態では、５Ｂ／６Ｂ復号部５０の動作を迅速にし、以て復号回路１０１の動作を迅速にする技術を紹介する。
【００３１】
図３は復号回路１０１の５Ｂ／６Ｂ復号部５０として採用することができる５Ｂ／６Ｂ復号部５０Ａの構造を示すブロック図である。５Ｂ／６Ｂ復号部５０Ａは５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２、セレクタ１４，１５，１６を備えている。
【００３２】
５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２のいずれにも６ビットのサブブロック“ａｂｃｄｅｉ”が入力される。またセレクタ１４，１５のいずれにもディスパリティ信号２２が与えられる。図１に示されるように、サブブロック“ａｂｃｄｅｉ”は復号回路１０１に入力するコードグループＬから、ディスパリティ信号２２はデータ保持回路２１から、それぞれ得られる。
【００３３】
ＩＥＥＥ８０２．３の２０００ＥｄｉｔｉｏｎのＴａｂｌｅ３６に規定されるように、５Ｂ／６Ｂ復号（“ａｂｃｄｅｉ”から“ＥＤＣＢＡ”への変換）は、カレントランニングディスパリティの正負毎に変換テーブルが準備される。
【００３４】
表２は５Ｂ／６Ｂの対応関係を示し、形式的には符号化の表として示されているが、実質的には復号化の表として採用することができる。最左欄には５ビットの復号データ“ＥＤＣＢＡ”が、中央欄にはカレントランニングディスパリティが負の場合に復号データ“ＥＤＣＢＡ”に対応するサブコード“ａｂｃｄｅｉ”が、最右欄にはカレントランニングディスパリティが正の場合に復号データ“ＥＤＣＢＡ”に対応するサブコード“ａｂｃｄｅｉ”が、それぞれ行毎に整合して示されている。復号の為に用いるルックアップテーブルではサブコード“ａｂｃｄｅｉ”毎に復号データが設定され、各々がカレントランニングディスパリティが正の場合と負の場合を含む２６個のエントリから構成される。
【００３５】
【表２】
2004147041.tif 000004
【００３６】
基本的にはサブコード“ｆｇｈｊ”の値自体に依存することなく、サブコード“ａｂｃｄｅｉ”及びランニングディスパリティの極性に対して復号データ“ＥＤＣＢＡ”が一つ決定する。例えばランニングディスパリティの極性が負であり、サブコード“ａｂｃｄｅｉ”が“１００１１１”であれば、対応する復号データ“ＥＤＣＢＡ”は“０００００”である。但し一つのサブコード“ａｂｃｄｅｉ”に対応する復号データ“ＥＤＣＢＡ”が、ランニングディスパリティの極性に依存して二つ存在するのではない。
【００３７】
５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２はそれぞれ５Ｂ／６Ｂ復号についてのカレントランニングディスパリティ（これはコードグループＬについてのランニングディスパリティに相当する）の正負に対応したルックアップテーブルを有している。つまり５Ｂ／６Ｂ（＋）復号器５１は表２の最右欄と最左欄の内容を対応づけるルックアップテーブルを、５Ｂ／６Ｂ（−）復号器５２は表２の中央欄と最左欄の内容を対応づけるルックアップテーブルを、それぞれ備えている。５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２はこれらのルックアップテーブルとサブコード“ａｂｃｄｅｉ”とに基づいて、それぞれ復号データ９１の候補である、復号データ候補９１Ｐ，９１Ｎを出力する。それぞれのルックアップテーブルにおいて、入力されたサブコード“ａｂｃｄｅｉ”の値が存在しない場合には、それぞれエラー候補信号Ｅ１の更なる候補であるエラー候補候補信号Ｅ１Ｐ，Ｅ１Ｎを出力する。また５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２のいずれも、カレントランニングディスパリティとサブコード“ａｂｃｄｅｉ”とに基づいて新たなランニングディスパリティを求める機能を有しており、それぞれディスパリティ信号ＲＤ１の候補である、ディスパリティ候補信号ＲＤ１Ｐ，ＲＤ１Ｎを出力する。５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２のこれらの動作は相互に並行して行われる。
【００３８】
復号データ候補９１Ｐはセレクタ１４の一方入力端（図中“１”と付記する）に、復号データ候補９１Ｎはセレクタ１４の他方入力端（図中“０”と付記する）に、それぞれ入力する。またディスパリティ候補信号ＲＤ１Ｐはセレクタ１５の一方入力端（図中“１”と付記する）に、ディスパリティ候補信号ＲＤ１Ｎはセレクタ１５の他方入力端（図中“０”と付記する）に、それぞれ入力する。
【００３９】
コードグループＬについてのランニングディスパリティが正の場合には、ディスパリティ信号ＲＤ１は“１”である。そしてセレクタ１４は復号データ候補９２Ｐを復号データ９２として出力し、セレクタ１５はディスパリティ候補信号ＲＤ２Ｐをディスパリティ信号ＰＤ２として出力し、セレクタ１６はエラー候補候補信号Ｅ１Ｐをエラー候補信号Ｅ１として出力する。
【００４０】
コードグループＬについてのランニングディスパリティが負の場合には、ディスパリティ信号ＲＤ１は“０”である。そしてセレクタ１４は復号データ候補９２Ｎを復号データ９２として出力し、セレクタ１５はディスパリティ候補信号ＲＤ２Ｎをディスパリティ信号ＰＤ２として出力し、セレクタ１６はエラー候補候補信号Ｅ１Ｎをエラー候補信号Ｅ１として出力する。
【００４１】
以上のようにして、３Ｂ／４Ｂ復号部６０における処理と同様に、５Ｂ／６Ｂ（＋）復号器５１が復号データ候補９１Ｐ及びディスパリティ候補信号ＲＤ１Ｐ並びにエラー候補候補信号Ｅ１Ｐを求める処理と、５Ｂ／６Ｂ（−）復号器５２が復号データ候補９１Ｎ及びディスパリティ候補信号ＲＤ１Ｎ並びにエラー候補候補信号Ｅ１Ｎを求める処理とを並列して行うことができる。またその際に５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２の各々が用いるルックアップテーブルは、それぞれコードグループＬについてのランニングディスパリティが正の場合と負の場合に分担して備えられている。よってこれらのルックアップテーブルの大きさは、データ２２と６ビットサブブロック“ａｂｃｄｅｉ”とに基づく検索で採用されるべきルックアップテーブルの半分で済み、５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２の処理自体も迅速に行われる。従って５Ｂ／６Ｂ復号部５０Ａの動作を迅速に行うことができ、以て復号回路１０１の動作を迅速にすることができる。
【００４２】
実施の形態３．
ＩＥＥＥ８０２．３の２０００ＥｄｉｔｉｏｎではＴａｂｌｅ３６−１ａにおいてデータコードとして分類されるデータ群についての“ＨＧＦ　ＥＤＣＢＡ”と“ａｂｃｄｅｉ　ｆｇｈｊ”との関係が規定されており、コードグループにはいずれも頭文字Ｄが付加された名称が割り当てられている。実施の形態１及び実施の形態２で示された表１及び表２は、データコードとして分類されるデータ群についての“ＨＧＦ　ＥＤＣＢＡ”と“ａｂｃｄｅｉ　ｆｇｈｊ”との関係を示している。
【００４３】
一方、ＩＥＥＥ８０２．３の２０００ＥｄｉｔｉｏｎではＴａｂｌｅ３６−２においては特殊コードとして分類されるデータ群についての“ＨＧＦ　ＥＤＣＢＡ”と“ａｂｃｄｅｉ　ｆｇｈｊ”との関係が規定されており、コードグループにはいずれも頭文字Ｋが付加された名称が割り当てられている。特殊コードはパケットの開始、終了等の制御データである。例えば特殊コードＫ３０．７はエラーの発生を示し、“ＨＧＦ　ＥＤＣＢＡ”は値“１１１　１１１１０”を採る。
【００４４】
コードグループ名Ｄｙ．ｘ，Ｋｙ，ｘにおいて、ｘ，ｙはそれぞれ３ビットの復号データ及び５ビットの復号データの１０進表示として表されている。
【００４５】
表３は特殊コードとして分類されるデータ群についての“ＥＤＣＢＡ”と“ａｂｃｄｅｉ”との関係を、表４は特殊コードとして分類されるデータ群についての“ＨＧＦ”と“ｆｇｈｊ”との関係を、それぞれ示す。
【００４６】
【表３】
2004147041.tif 000005
【００４７】
【表４】
2004147041.tif 000006
【００４８】
もちろん、実施の形態１及び実施の形態２において、それぞれ表４及び表３の内容を表１及び表２に含めておけば、特殊コードに関しても復号することができる。
【００４９】
しかしながら表３及び表４から見て取れるように、特殊コードに関しては、ある一つの復号データ“ＨＧＦ　ＥＤＣＢＡ”に対し、カレントランニングディスパリティの正負に応じて設定されるコードグループＬ“ａｂｃｄｅｉ　ｆｇｈｊ”は、相互にビット毎に反転した関係にあるという特徴がある。例えばエラーを表して値“１１１　１１１１０”を採る特殊コードＫ３０．７は、６ビットサブコードが表３からカレントランニングディスパリティの正負に応じてそれぞれ“１００００１”，“０１１１１０”に設定され、４ビットサブコードが表４からカレントランニングディスパリティの正負に応じてそれぞれ“１０００”，“０１１１”に設定される。即ち特殊コードＫ３０．７は、カレントランニングディスパリティの正負に応じてそれぞれコードグループ“１００００１　０１１１”，“０１１１１０　１０００”に設定される。これら２つのコードグループは相互にビット毎に反転した関係にある。
【００５０】
従って、特殊コードの復号に関しては、カレントランニングディスパリティの正負の一方についてのみ表３及び表４を示すルックアップテーブルを採用し、カレントランニングディスパリティに依存して、入力するコードグループをそのままあるいは反転して復号すればよい。これにより、特殊コードの復号を迅速に、かつその備えるべきルックアップテーブルのサイズを小さくすることができる。また５Ｂ／６Ｂ復号部５０、３Ｂ／４Ｂ復号部６０がデータコードのみに関してのルックアップテーブルを備えている場合でも、復号回路全体としては特殊コードを復号することができる。
【００５１】
図４は本発明の実施の形態３にかかる復号回路１０２の構造を示すブロック図である。復号回路１０２は復号回路１００の５Ｂ／６Ｂ復号部５０、３Ｂ／４Ｂ復号部６０として、それぞれ実施の形態２及び実施の形態１に示された５Ｂ／６Ｂ復号部５０Ａ、３Ｂ／４Ｂ復号部６０Ａを採用している。更に復号回路１０２は復号回路１００と比較して、特殊コード復号部７０、セレクタ１７、論理ゲート４２を追加して備えている。
【００５２】
但し、本実施の形態においては、５Ｂ／６Ｂ復号部５０Ａ、３Ｂ／４Ｂ復号部６０Ａにおいては特殊コードについてのルックアップテーブルを備える必要がなく、特殊コードについてのルックアップテーブルを備える場合がある５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２、３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２とは区別するためそれぞれに対応して参照符号５３，５４，６３，６４を採用している。また５Ｂ／６Ｂ復号部５０Ａから得られるエラー候補信号Ｅ１は６ビットサブブロックが正常な動作ではデータコードとしては採り得ない値を採っている場合に活性化することになり、３Ｂ／４Ｂ復号部６０Ａから得られるエラー候補信号Ｅ２は４ビットサブブロックが正常な動作ではデータコードとしては採り得ない値を採っている場合に活性化することになる。
【００５３】
セレクタ１７の一方入力端（図中“１”と付記する）には復号データＱが与えられる。本実施の形態にかかる復号回路１０２においては、５Ｂ／６Ｂ復号部５０Ａも３Ｂ／４Ｂ復号部６０Ａも、データコードのみに関してのルックアップテーブルが記憶されている。よって復号データＱもデータコードについての復号結果である。セレクタ１７の他方入力端（図中“０”と付記する）には特殊コード復号部７０から得られる特殊コードの復号データＣが与えられる。
【００５４】
エラー信号Ｅが“０”である場合にはコードグループＬがデータコードとして正常な値を採っている場合であり、復号回路１０２の復号結果ＲＸＤとして復号データＱを出力する。一方、エラー信号Ｅが“１”であるということは、復号データＱがデータコードとしては誤っていることを示している。この場合、コードグループＬは、コードグループＬが不正である場合やディスパリティ信号２２が不正である場合を除き、特殊コードであることになる。よって復号回路１０２の復号結果ＲＸＤとして復号データＣを出力する。
【００５５】
特殊コード復号部７０は特殊コード復号器７１と、セレクタ１８及びコードグループＬをビット毎に反転したデータＬＪ（以下「反転コードグループＬＪ」と標記する）を出力する１０ビットインバータ４３とを有している。特殊コード復号器７１は表３及び表４の内、カレントランニングディスパリティが正の場合のみルックアップテーブルとして記憶している。よってカレントランニングディスパリティが正の場合には特殊コード復号器７１が記憶するルックアップテーブルを用いて、コードグループＬから８ビットの復号データＣを得る。一方、カレントランニングディスパリティが負の場合には、特殊コードに関しての符号化・復号化についての上述の特徴から、特殊コード復号器７１が記憶するルックアップテーブルを用いて、インバータ４３から得られた反転コードグループＬＪから８ビットの復号データＣを得ることができる。
【００５６】
このようにカレントランニングディスパリティの正負に依存してそれぞれコードグループＬ及び反転コードグループＬＪのいずれか一方を特殊コード復号器７１に与える機能が、セレクタ１８によって果たされる。即ちセレクタ１８の一方入力端（図中“１”と付記する）にコードグループＬが与えられ、セレクタ１８の他方入力端（図中“０”と付記する）には反転コードグループＬＪが与えられる。カレントランニングディスパリティが正の場合には、ディスパリティ信号２２は“１”である。そしてセレクタ１８はコードグループＬを特殊コード復号器７１に与える。逆にカレントランニングディスパリティが負の場合には、ディスパリティ信号２２は“０”である。そしてセレクタ１８は反転コードグループＬＪを特殊コード復号器７１に与える。このようにして得られた復号データＣがセレクタ１７に与えられる。
【００５７】
なお、セレクタ１７から出力される復号結果ＲＸＤは、コードグループＬやディスパリティ信号２２に誤りがない場合に意味がある。換言すれば、コードグループＬがデータコードに対応しないばかりか特殊コードにも対応しない場合には、復号結果ＲＸＤの値には意味がない。よってコードグループＬが特殊コードに対応しない場合をも検出することが望ましい。かかる目的で特殊コード復号器７１は、表３、表４において存在しない１０ビットのデータが入力した場合、エラー候補信号Ｅ３を“１”として出力する。表３、表４において存在する１０ビットのデータが入力した場合、エラー候補信号Ｅ３を“０”として出力する。つまりエラー候補信号Ｅ３は、カレントランニングディスパリティに基づいて選択された、コードグループＬ及び反転コードグループＬＪのいずれか一方について、特殊コードが符号化されていない場合に活性化する。
【００５８】
論理ゲート４２はエラー信号Ｅとエラー候補信号Ｅ３との論理積を採って不正信号ＩＶとして出力する。よって不正信号ＩＶが値“１”を採ることは、復号結果ＲＸＤはデータコードとしても特殊コードとしても誤っており、コードグループＬが不正であることを示している。これに対してエラー信号Ｅが“１”を採る場合には「復号結果ＲＸＤがデータコードではない」ということを意味するが、「復号結果ＲＸＤが特殊コードである」か否かは不問である。復号結果ＲＸＤ及びエラー信号Ｅは、それぞれ例えばＸＧＭＩＩ（１０Ｇ　Ｍｅｄｉｕｍ　Ｉｎｄｅｐｅｎｄｅｎｔ　Ｉｎｔｅｒｆａｃｅ）形式のデータキャラクタ及びコントロールキャラクタとして用いることができる。
【００５９】
なお、コードグループＬやディスパリティ信号２２の不正を検出する機能のみが要求される場合もある。その場合には復号データＱ，Ｃを求める機能は不要であり、ルックアップテーブルには復号データを記憶する必要が無く、よってそのサイズを小さくできる。またセレクタ１１，１４，１７も不要である。
【００６０】
実施の形態４．
本実施の形態ではエラー候補信号Ｅ２をより厳密に設定する技術を示す。具体的には表１の最下行に示されたデータコードＤｙ．７の取り扱いをより厳密に行う。復号データ“ＨＧＦ”が値“１１１”を採る場合には、サブコード“ｆｇｈｊ”は４種類の値を採りうる。基本的にはサブコード“ｆｇｈｊ”は“１１１０”，“０００１”のいずれかを採る。しかしながら、データコードＤ１１．７，Ｄ１３．７，Ｄ１４．７，Ｄ１７．７，Ｄ１８．７，Ｄ２０．７については、いずれも対応する復号データ“ＨＧＦ”の値が“１１１”を採るものの、例外的にサブコード“ｆｇｈｊ”は“１１１０”，“０００１”以外の値を採る。データコードＤ１１．７，Ｄ１３．７，Ｄ１４．７はカレントランニングディスパリティ（ここでは６ビットサブコードのランニングディスパリティ）が正の場合において例外的であり、データコードＤ１７．７，Ｄ１８．７，Ｄ２０．７はカレントランニングディスパリティが負の場合において例外的である。これらの例外の場合を、表１では丸括弧で囲んで示している。即ち、データコードＤ１１．７，Ｄ１３．７，Ｄ１４．７はカレントランニングディスパリティが正の場合においてサブコード“ｆｇｈｊ”が“１０００”を採り、データコードＤ１７．７，Ｄ１８．７，Ｄ２０．７はカレントランニングディスパリティが負の場合においてサブコード“ｆｇｈｊ”が“０１１１”を採る。
【００６１】
これらの例外的な場合をも考慮するためには、カレントランニングディスパリティが正の場合においてサブコード“ａｂｃｄｅｉ”が値１１，１３，１４に対応して“１１０１００”，“１０１１００”，“０１１１００”を採るか否か、カレントランニングディスパリティが負の場合においてサブコード“ａｂｃｄｅｉ”が値１７，１８，２０に対応して“１０００１１”，“０１００１１”，“００１０１１”を採るか否かを判断する必要がある。かかる判断を行うべく、３Ｂ／４Ｂ復号部６０にはサブコード“ｆｇｈｊ”のみならずサブコード“ａｂｃｄｅｉ”をも入力することが望ましい。この場合、図１に示された復号回路１００は図５のように変形される。またこの場合には３Ｂ／４Ｂ復号部６０として採用される、図２に示された３Ｂ／４Ｂ復号器（＋）６１、３Ｂ／４Ｂ復号器（−）６２に対する入力も、サブコード“ｆｇｈｊ”ではなく、コードブロックＬとなる。
【００６２】
しかし、かかる判断の為に、常にサブコード“ａｂｃｄｅｉ”をサブコード“ｆｇｈｊ”と共にルックアップテーブルを用いて参照することは、ルックアップテーブルの肥大化を招いて好ましくない。そこでサブコード“ｆｇｈｊ”が上述の例外的な値を採る場合のみサブコード“ａｂｃｄｅｉ”を参照することが望ましい。
【００６３】
図６及び図７はそれぞれ３Ｂ／４Ｂ復号器（＋）６１、３Ｂ／４Ｂ復号器（−）６２の機能の一部をハードウェア記述言語の一種であるＶｅｒｉｌｏｇ（登録商標）−ＨＤＬを用いて示したプログラムリストである。これらのリストにおいて、レジスタ変数Ｅｒｒ４ｂｐ，Ｅｒｒ４ｂｎはそれぞれ図２のエラー候補候補信号Ｅ２Ｐ，Ｅ２Ｎに、レジスタ変数ＣＲＤ４ｂｐ，ＣＲＤ４ｂｎはそれぞれ図２のディスパリティ候補信号ＲＤ２Ｐ，ＲＤ２Ｎに相当し、関数ＬＵＴ＿４Ｐ［１：０］，ＬＵＴ＿４Ｎ［１：０］はそれぞれ｛Ｅｒｒ４ｂｐ，ＣＲＤ４ｂｐ｝，｛Ｅｒｒ４ｂｎ，ＣＲＤ４ｂｎ｝となる。また１０ビットの入力ピンＳＵＤＩはコードブロックＬに対応し、その下位４ビット［３：０］はサブコード“ｆｇｈｊ”に、上位６ビット［９：４］はサブコード“ａｂｃｄｅｉ”に、それぞれ対応する。これらのプログラムリストでは、データの復号を行う動作は省略されている。
【００６４】
それぞれのリストにおけるｃａｓｅ文の最初の７つの条件式はいずれも復号データ“ＨＧＦ”に正しく対応する場合のサブコード“ｆｇｈｊ”を示している。但しこれら７個の条件式からは復号データ“ＨＧＦ”が“１１１”を採る場合が除かれている。これらの条件式を満足する場合にはレジスタ変数Ｅｒｒ４ｂｐ，Ｅｒｒ４ｂｎはいずれも“０”に設定される。
【００６５】
図６のリストにおける第８番目及び第９番目の条件式はサブコード“ｆｇｈｊ”がそれぞれ“０００１”及び“１０００”を採る場合を示している。これらの条件式は、６ビットサブコード“ａｂｃｄｅｉ”のランニングディスパリティが正であり、かつ復号データ“ＨＧＦ”の値が“１１１”である場合に対応するサブコード“ｆｇｈｊ”を示している。図６のリストにおける第８番目の条件式の場合においてはデータコードＤ１１．７，Ｄ１３．７，Ｄ１４．７の場合のみがエラーとされている。即ちｉｆ文においてサブコード“ａｂｃｄｅｉ”に対応する入力ピンＳＵＤＩ［９：４］が“１１０１００”，“１０１１００”，“０１１１００”のいずれかである場合にはレジスタ変数Ｅｒｒ４ｂｐは“１”を採る。それ以外の場合にはレジスタ変数Ｅｒｒ４ｂｐは“０”を採る。
【００６６】
一方、第９番目の条件式はデータコードＤ１１．７，Ｄ１３．７，Ｄ１４．７の場合のみが正常とされている。コードグループＬが正常であれば、サブコード“ｆｇｈｊ”が値“１０００”を採るのは、コードグループＬがデータコードＤ１１．７，Ｄ１３．７，Ｄ１４．７である場合に限られるからである。よってこの条件式についてのｉｆ文においては、入力ピンＳＵＤＩ［９：４］が“１１０１００”，“１０１１００”，“０１１１００”のいずれかである場合にレジスタ変数Ｅｒｒ４ｂｐは“０”を採り、それ以外の場合にはレジスタ変数Ｅｒｒ４ｂｐは“１”を採る。
【００６７】
同様にして、図７のリストにおける第８番目及び第９番目の条件式は、“ｆｇｈｊ”がそれぞれ“１１１０”，“０１１１”を採る場合を示している。そして第８番目の条件式ではデータコードＤ１７．７，Ｄ１８．７，Ｄ２０．７の場合がエラーとされている。即ちｉｆ文においてサブコード“ａｂｃｄｅｉ”に対応する入力ピンＳＵＤＩ［９：４］が“１０００１１”，“０１００１１”，“００１０１１”のいずれかである場合にはレジスタ変数Ｅｒｒ４ｂｎは“１”を採る。それ以外の場合にはレジスタ変数Ｅｒｒ４ｂｎは“０”を採る。
【００６８】
一方、第９番目の条件式はデータコードＤ１７．７，Ｄ１８．７，Ｄ２０．７の場合のみが正常とされている。コードグループＬが正常であれば、サブコード“ｆｇｈｊ”が値“０１１１”を採るのは、コードグループＬがデータコードＤ１７．７，Ｄ１８．７，Ｄ２０．７である場合に限られるからである。よってこの条件式についてのｉｆ文においては、入力ピンＳＵＤＩ［９：４］が“１０００１１”，“０１００１１”，“００１０１１”のいずれかである場合にレジスタ変数Ｅｒｒ４ｂｐは“０”を採り、それ以外の場合にはレジスタ変数Ｅｒｒ４ｂｐは“１”を採る。
【００６９】
それぞれのリストにおける次の７つの条件式（即ちそれぞれのリストにおける第１０番目乃至第１６番目の条件式）はいずれも復号データ“ＨＧＦ”に正しく対応していない場合のサブコード“ｆｇｈｊ”を示している。これらの条件式を満足する場合にはレジスタ変数Ｅｒｒ４ｂｐ，Ｅｒｒ４ｂｎはいずれも“１”に設定される。
【００７０】
図８及び図９は、それぞれ３Ｂ／４Ｂ復号器（＋）６１、３Ｂ／４Ｂ復号器（−）６２の構造の一部（データを復号する部分を除いている）を例示するブロック図であり、それぞれ図６及び図７のリストに対応する。
【００７１】
図８及び図９に示された構成のいずれもが、６ビットコンパレータ６ａ，６ｂ，６ｃと、４ビットコンパレータ６ｅ，６ｆと、３入力のオアゲート６ｇと、２入力のアンドゲート６ｉ，６ｊと、２入力のセレクタ６ｋ、６ｍと、１４入力１出力のセレクタ６ｎとを備えている。
【００７２】
まず図８に示された３Ｂ／４Ｂ復号器（＋）６１について説明する。セレクタ６ｎはサブコード“ｆｇｈｊ”の値に依存して１４個の入力端の各々に与えられた２ビットデータから、選択的に一つの２ビットデータを出力する。これらの１４個の入力端は、図６に示されたリストの第１番目から第７番目までの条件式及び第１０番目から第１６番目までの条件式に対応しており、各入力端に入力される２ビットのデータは｛Ｅｒｒ４ｂｐ，ＣＲＤ４ｂｐ｝に対応している。そして変数Ｅｒｒ４ｂｐに相当する１ビットがセレクタ６ｋに入力する。セレクタ６ｋの一方入力端（図中“１”と付記する）には１ビットの値“１”が固定して与えられており、変数Ｅｒｒ４ｂｐに相当する１ビットはセレクタ６ｋの他方入力端（図中“０”と付記する）に与えられる。
【００７３】
４ビットコンパレータ６ｅの一方入力端には値“０００１”が、他方入力端にはサブコード“ｆｇｈｊ”の値が、それぞれ入力しており、両者が一致する場合にはコンパレータ６ｅは値“１”を出力する。コンパレータ６ｅの動作は図６に示されたリストの第８番目の条件式に対応している。４ビットコンパレータ６ｆの一方入力端には値“１０００”が、他方入力端にはサブコード“ｆｇｈｊ”が、それぞれ入力しており、両者が一致する場合にはコンパレータ６ｆは値“１”を出力する。コンパレータ６ｆの動作は図６に示されたリストの第９番目の条件式に対応している。
【００７４】
コンパレータ６ａ，６ｂ，６ｃのいずれの一方入力端にも、サブコード“ａｂｃｄｅｉ”が入力される。またコンパレータ６ａ，６ｂ，６ｃの他方入力端には、それぞれ６ビットの値“１１０１００”，“１０１１００”，“０１１１００”が入力される。コンパレータ６ａ，６ｂ，６ｃの各々は、一方入力端に与えられた６ビットと他方入力端に与えられた６ビットとが一致した場合に“１”を、一致しない場合に“０”を、それぞれ出力する。これらの出力の論理和がオアゲート６ｇから信号ＤＥＴとして出力されるので、信号ＤＥＴが“１”である場合とはサブコード“ｆｇｈｊ”が正常に値“１０００”を採る場合を示していることになる。つまり信号ＤＥＴは図６に示されたリストの第９番目の条件式におけるｉｆ文に対応する。
【００７５】
アンドゲート６ｉは、コンパレータ６ｅの出力と信号ＤＥＴとの論理積を採って出力する。よってアンドゲート６ｉの出力が“１”である場合は、正常ならばサブコード“ｆｇｈｊ”が値“１０００”を採るはずであるのに、サブコード“ｆｇｈｊ”が値“０００１”を採る場合であり、エラー候補候補信号Ｅ２Ｐを“１”にすべき場合である。アンドゲート６ｉの出力が“０”である場合は、サブコード“ｆｇｈｊ”に対応する“ＨＧＦ”が“１１１”以外の値を採る場合であるので、エラー候補候補信号Ｅ２Ｐの値をどのように決定すべきかについてはセレクタ６ｎの出力に委ねる。このような動作はセレクタ６ｋによって行われる。即ちアンドゲート６ｉの出力が“１”である場合は固定された入力値“１”を出力し、アンドゲート６ｉの出力が“０”である場合はセレクタ６ｎの出力のうち、変数Ｅｒｒ４ｂｐに相当する１ビットを出力する。
【００７６】
またアンドゲート６ｊはコンパレータ６ｆの出力と信号ＤＥＴとの論理積を採って出力する。よってアンドゲート６ｊが値“１”を採る場合にはサブコード“ｆｇｈｊ”が正常に値“１０００”を採るはずであってかつサブコード“ｆｇｈｊ”が値“１０００”を採っている場合であり、エラーは生じていないと判断される。よってこの場合にはセレクタ６ｍはエラー候補候補信号Ｅ２Ｐとして値“０”を出力する。このようなセレクタ６ｍの動作を得るために、セレクタ６ｍの一方入力端（図中“１”と付記する）には１ビットの値“０”が固定して与えられている。一方、アンドゲート６ｊの出力が値“０”を採る場合には、サブコード“ｆｇｈｊ”が値“１０００”を正常に採っている場合以外の場合であるので、セレクタ６ｍはエラー候補候補信号Ｅ２Ｐとしてセレクタ６ｋの出力を採用する。
【００７７】
図９に示された３Ｂ／４Ｂ（−）復号器６２も図８に示された３Ｂ／４Ｂ（＋）復号器６１とほぼ同様に接続されて動作し、エラー候補候補信号Ｅ２Ｎ及びディスパリティ候補信号ＲＤ２Ｎを出力する。但し３Ｂ／４Ｂ（−）復号器６２においては、コンパレータ６ａ，６ｂ，６ｃの一方入力端にはそれぞれ値“１０００１１”，“０１００１１”，“００１０１１”が与えられ、コンパレータ６ｅ，６ｆの一方入力端にそれぞれ値“１１１０”，“０１１１”が与えられ、セレクタ６ｎの入力端に対応する４ビットの値及びこれらの入力端に与えられる２ビットの値が異なっている点で３Ｂ／４Ｂ（＋）復号器６１と異なっている。
【００７８】
以上のように本実施の形態では、サブコード“ｆｇｈｊ”が例外的に採る値について不正か否かをサブコード“ａｂｃｄｅｉ”を考慮して判断するので、コードグループＬが不正か否かをより厳密に判断することができる。更に、かかる判断においてサブコード“ｆｇｈｊ”が上述の例外的な値を採る場合のみサブコード“ａｂｃｄｅｉ”を参照するので、ルックアップテーブルのサイズを顕著に大きくすることもない。
【００７９】
実施の形態５．
図１０は本発明の実施の形態５にかかる復号回路１０３の構造を示すブロック図である。復号回路１０３は復号回路１００の５Ｂ／６Ｂ復号部５０として５Ｂ／６Ｂ復号部５０Ｂを、３Ｂ／４Ｂ復号部６０として３Ｂ／４Ｂ復号部６０Ａを、それぞれ採用している。但し３Ｂ／４Ｂ復号部６０Ａには、コードグループＬが入力しており、ディスパリティ信号ＲＤ２とエラー候補信号Ｅ２との生成に関しては実施の形態４で述べたように“ＨＧＦ”が“１１１”を採る場合の例外的な扱いを行うことができる。
【００８０】
インバータ４３はコードグループＬをビット毎に反転して反転コードグループＬＪを出力する。セレクタ４４はコードグループＬ及び反転コードグループＬＪのいずれか一方を出力する。ディスパリティ信号２２の値が“１”の場合にはセレクタ４４はコードグループＬを出力し、ディスパリティ信号２２の値が“０”の場合にはセレクタ４４は反転コードグループＬＪを出力する。５Ｂ／６Ｂ復号部５０Ｂにはセレクタ４４の出力のうち、６ビットサブコード“ａｂｃｄｅｊ”もしくはこれがビット毎に反転したデータが入力する。
【００８１】
５Ｂ／６Ｂ復号部５０Ｂは５Ｂ／６Ｂ（＋）復号器５５、５ビットインバータ４５、１ビットインバータ４６、セレクタ１４、１５及び論理ゲート４８を有している。５Ｂ／６Ｂ（＋）復号器５５は５Ｂ／６Ｂ（＋）復号器５１と同様に、表２に示された５Ｂ／６Ｂの対応関係の内、カレントランニングディスパリティが正の場合に対応するルックアップテーブルを、望ましくは表３に示された５Ｂ／６Ｂの対応関係の内、カレントランニングディスパリティが正の場合に対応するルックアップテーブルを更に、記憶している。そして５Ｂ／６Ｂ（＋）復号器５１について実施の形態２で説明された以外に反転補正信号ＶＣを出力する機能を有している。反転補正信号ＶＣについては後述するが、これとディスパリティ信号２２の反転との論理積が論理ゲート４８から出力される。
【００８２】
５Ｂ／６Ｂ（＋）復号器５５は復号データ候補９１Ｐを出力する。インバータ４５は復号データ候補９１Ｐをビット毎に反転して復号データ候補９１ＰＪを出力する。復号データ候補９１ＰＪ，９１Ｐは、それぞれセレクタ１４の一方入力端及び他方入力端に入力する。セレクタ１４は、論理ゲート４８の出力が“１”を採る場合及び“０”を採る場合に対応して、それぞれ復号データ候補９１ＰＪ，９１Ｐを復号データ９１として出力する。
【００８３】
５Ｂ／６Ｂ（＋）復号器５５はディスパリティ候補信号ＲＤ１Ｐを出力する。インバータ４６はディスパリティ候補信号ＲＤ１Ｐを反転してディスパリティ候補信号ＲＤ１ＰＪを出力する。ディスパリティ候補信号ＲＤ１Ｐ，ＲＤＰ１Ｊは、それぞれセレクタ１５の一方入力端及び他方入力端に入力する。セレクタ１５は、ディスパリティ信号２２が“１”を採る場合及び“０”を採る場合に対応して、それぞれディスパリティ候補信号ＲＤ１Ｐ，ＲＤＰ１Ｊをディスパリティ信号ＲＤ１として出力する。
【００８４】
また５Ｂ／６Ｂ（＋）復号器５５は５Ｂ／６Ｂ（＋）復号器５１と同様にエラー候補候補信号Ｅ１Ｐを出力する。
【００８５】
３Ｂ／４Ｂ復号部６０Ａの構造は実施の形態１で説明された通りである。但し前述の通り、復号データ“ＨＧＦ”が“１１１”を採る場合の例外的な扱いを行うため、３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２は、それぞれ図８、図９に示された構造を含んでいる。
【００８６】
表５に、表２における規則性を示す。最左欄にはデータコードのコードグループ名を示している。記号（＋），（−）は、それぞれカレントランニングディスパリティが正、負の場合に対応していることを示す。また記号ｘは当該コードグループの４ビットのサブコード“ｆｇｈｊ”の値に依存せず、当該規則性が存在することを示している。中央欄にはコードグループに対応する５ビットの復号データを示している。そして最右欄には、最左欄に名称が記載されたコードグループに対応するデコード結果（即ち中央欄の５ビット）が、他のコードグループに対応するデコード結果のビット毎の反転として得られることを示している。
【００８７】
【表５】
2004147041.tif 000007
【００８８】
例えばカレントランニングディスパリティが負の場合において、６ビットのサブコード“ａｂｃｄｅｉ”が“１１０１００”として得られた場合を考える。この場合、表５の最上行の最左欄に記載されたコードグループＤ１１．ｘ（−）に相当する。この６ビットのサブコード“ａｂｃｄｅｉ”をビット毎に反転した値は“００１０１１”であり、これはカレントランニングディスパリティが正の場合におけるコードグループＤ２０．ｘ（＋）に相当し、同じ行の最右欄に記載されている。そしてサブコード“ａｂｃｄｅｉ”が表５の最左欄に名称が記載されたサブコードに相当する場合には、当該サブコードを反転して得られる６ビットデータ（以下「反転サブコード」と仮称する）も表５の最左欄に名称が記載されている。
【００８９】
コードグループＤ２０．ｘ（＋）をカレントランニングディスパリティが正の場合のルックアップテーブル、即ち５Ｂ／６Ｂ（＋）復号器５５が備えるルックアップテーブルに則ってデコードすれば復号データ“１０１００”が得られる。そしてこの結果をビット毎に反転することにより、カレントランニングディスパリティが負の場合において、６ビットのサブコード“ａｂｃｄｅｉ”が“１１０１００”として得られた場合の正常な復号データ“０１０１１”を得ることができる。
【００９０】
一方、表５の最左欄に名称が挙げられたコードグループ以外のコードグループでは下記の規則性がある。即ちカレントランニングディスパリティが正の場合には６ビットのサブコード“ａｂｃｄｅｉ”を用いて、またカレントランニングディスパリティが負の場合には反転サブコードを用いて、いずれも５Ｂ／６Ｂ（＋）復号器５５が備えるルックアップテーブルに則ってデコードすれば正常にデコードが行える。
【００９１】
以上のことから、５Ｂ／６Ｂ（＋）復号器５５には６ビットのサブコード及び反転サブコードを、それぞれカレントランニングディスパリティが正である場合と負である場合とに応じて与える。具体的には５Ｂ／６Ｂ（＋）復号器５５にはカレントランニングディスパリティが正の場合のルックアップテーブルが記憶されているので、セレクタ４４の出力が５Ｂ／６Ｂ（＋）復号器５５に与えられる。なお反転補正信号ＶＣは表５の最左欄に名称が記載されたコードグループに相当する６ビットサブコードが５Ｂ／６Ｂ（＋）復号器５５に与えられた場合に“１”を、それ以外の場合には“０”をとる。つまり反転補正信号ＶＣは５Ｂ／６Ｂ（＋）復号器５５に与えられたサブコードあるいは反転サブコードが表５に名称が掲載されたコードグループに対応した所定の値を採る場合に活性化する。
【００９２】
まずカレントランニングディスパリティが正の場合について説明する。この場合には５Ｂ／６Ｂ（＋）復号器５５にサブコード“ａｂｃｄｅｉ”が与えられる。そしてこのサブコードが表５の最左欄に名称が記載されたサブコードであるか否かに拘わらず、即ち反転補正信号ＶＣの値によらず、論理ゲート４８の出力は“０”となる。ディスパリティ信号２２が“１”だからである。よってカレントランニングディスパリティが正の場合にはサブコード“ａｂｃｄｅｉ”を正常にデコードし、かつディスパリティ信号ＲＤ１を正しく求めることができる。よって３Ｂ／４Ｂ復号部６０Ａが出力するディスパリティ信号ＲＤ２も正しく求めることができる。
【００９３】
次にカレントランニングディスパリティが負の場合について説明する。この場合には５Ｂ／６Ｂ（＋）復号器５５に反転サブコードが与えられる。更にサブコード“ａｂｃｄｅｉ”が表５の最左欄に名称が記載されたサブコードに相当すれば、５Ｂ／６Ｂ（＋）復号器５５に入力する反転サブコードは当該サブコードに対応して表５の最右欄に名称が記載されたサブコードと一致する。例えばサブコード“ａｂｃｄｅｉ”がセレクタ４４に与えられた場合には、５Ｂ／６Ｂ（＋）復号器５５には反転サブコード“００１０１１”が与えられる。よってこの反転サブコードを用いて５Ｂ／６Ｂ（＋）復号器５５が記憶するルックアップテーブルに則ってデコードし、更にそのデコード結果を反転すれば、上述のように正常なデコードが行われることになる。
【００９４】
カレントランニングディスパリティが負であってディスパリティ信号２２は“０”であるので、論理ゲート４８の出力は反転補正信号ＶＣと値が一致する。上述の通り、サブコード“ａｂｃｄｅｉ”が表５の最左欄に名称が記載されたサブコードに相当する場合には反転サブコードも表５の最左欄に名称が記載されているので、反転補正信号ＶＣは“１”を採り、よって論理ゲート４８の出力も“１”となる。これにより、５Ｂ／６Ｂ（＋）復号器５５が記憶するルックアップテーブルに則ってデコードされた結果をインバータ４５で反転した復号データ候補９１ＰＪが復号データ９１としてセレクタ１４から出力され、正常なデコードが行われる。
【００９５】
カレントランニングディスパリティが負であり、更にサブコード“ａｂｃｄｅｉ”が表５の最左欄に名称が記載されたサブコードに相当しない場合について説明する。この場合には反転補正信号ＶＣは“０”を採り、よって論理ゲート４８の出力も“０”となる。これにより、５Ｂ／６Ｂ（＋）復号器５５が記憶するルックアップテーブルに則ってデコードされた結果である復号データ候補９１Ｐが復号データ９１としてセレクタ１４から出力され、正常なデコードが行われる。
【００９６】
但し、カレントランニングディスパリティが負である場合には反転サブコードに基づいて６ビットサブコードのランニングディスパリティが計算されるので、ディスパリティ信号ＲＤ１の値は反転する必要がある。そこでセレクタ１５はカレントランニングディスパリティを示すディスパリティ信号２２が“０”であることに基づいて、ディスパリティ候補信号ＲＤ１ＰＪをディスパリティ信号ＲＤ１として出力する。
【００９７】
以上のようにして本実施の形態では、３Ｂ／４Ｂ（＋）復号器６１や５Ｂ／６Ｂ（＋）復号器５５が記憶するルックアップテーブルはカレントランニングディスパリティが正の場合に対応していれば足りるので、ルックアップテーブルのサイズを小さくすることができ、またその検索にかかる時間を短縮でき、コードグループ毎の復号を迅速に行うことができる。またサブコード“ｆｇｈｊ”からの復号や、ディスパリティ信号ＲＤ２、エラー候補信号Ｅ２の生成の一部をディスパリティ信号ＲＤ１の結果を待たずに行えるので、これらの動作をサブコード“ａｂｃｄｅｉ”からの復号、カレントランニングディスパリティの生成と並列して行うことができ、コードグループ毎の復号を迅速に行うことができる。
【００９８】
実施の形態６．
図１１は本発明の実施の形態６にかかる復号回路１０４の構造を示すブロック図である。復号回路１０４は復号回路１０３に対して復号回路１０２で示された特殊コード復号部７０、論理ゲート４２、セレクタ１７を追加することにより、復号回路１０２と同様にして、特殊コードについてのルックアップテーブルは特殊コード復号器７１に記憶させ、５Ｂ／６Ｂ（＋）復号器５５や３Ｂ／４Ｂ復号部６０Ａはデータコードについてのルックアップテーブルを記憶するのみで足りる。
【００９９】
但し、既に復号回路１０３においてインバータ４３及びセレクタ４４が備えられており、これらはそれぞれ復号回路１０２で示された特殊コード復号部７０が有するインバータ４３及びセレクタ１８の機能をも果たす。よって復号回路１０３に対して特殊コード復号部７０を追加して復号回路１０４を得るに際しては、特殊コード復号器７１を追加するのみで足りる。
【０１００】
本実施の形態では実施の形態５の効果を得ることができると共に、５Ｂ／６Ｂ復号部５０Ｂ、３Ｂ／４Ｂ復号部６０Ａがデータコードのみに関してのルックアップテーブルを備えている場合でも、復号回路１０４全体としては特殊コードを復号することができる。
【０１０１】
なお、コードグループＬやディスパリティ信号２２の不正を検出する機能のみが要求される場合もある。その場合には復号データＱ，Ｃを求める機能は不要であり、ルックアップテーブルには復号データを記憶する必要が無く、よってそのサイズを小さくできる。また５Ｂ／６Ｂ（＋）復号部５０Ｂにおいて論理ゲート４８、インバータ４５、セレクタ１４は不要であり、セレクタ１７も不要である。同様にして、３Ｂ／４Ｂ復号部６０Ａにおいてもセレクタ１１（図１０参照）は不要である。
【０１０２】
変形．
実施の形態５，６ではカレントランニングディスパリティが負の場合のルックアップテーブルを省略可能な場合を示した。カレントランニングディスパリティが正の場合のルックアップテーブルを省略可能な構成とする変形ももちろん本発明の範疇にある。例えば５Ｂ／６Ｂ復号器（＋）５５の代わりに、カレントランニングディスパリティが負の場合のルックアップテーブルを備える５Ｂ／６Ｂ復号器（−）を採用することもできる。
【０１０３】
また、実施の形態３や実施の形態６では特殊コード復号器７１にディスパリティ信号２２の値に応じてコードグループＬと反転コードグループＬＪとを選択的に与えることにより、特殊コード復号器７１がカレントランニングディスパリティの正負の一方についてのみ表３、表４を示すルックアップテーブルを有する場合を示した。
【０１０４】
しかし、カレントランニングディスパリティの正負の両方についてのルックアップテーブルを有して特殊コードの復号を行ってもよい。図１２はかかるルックアップテーブルを有する特殊コード復号器７２によって特殊コード復号部７０が構成されている場合を示している。この場合には図４に示されるようなインバータ４３、セレクタ１８は不要であり、従ってディスパリティ信号２２を受ける必要もない。このような特殊コード復号器７２を実施の形態３で示された復号回路１０２（図４）に適用することは容易である。
【０１０５】
図１３は実施の形態６で示された復号回路１０４（図１１）に特殊コード復号器７２を適用した場合を示す回路図である。実施の形態６で説明した状況とは異なり、インバータ４３，セレクタ４４は特殊コード復号部７０において機能することはない。
【０１０６】
【発明の効果】
この発明にかかる検出回路によれば、コードグループが不正か否かを迅速に検出することができる。
【０１０７】
この発明にかかる復号回路によれば、コードグループの復号を迅速に行うことができる。
【図面の簡単な説明】
【図１】発明の基本的思想の構造を示すブロック図である。
【図２】本発明の実施の形態１の構造を示すブロック図である。
【図３】本発明の実施の形態２の構造を示すブロック図である。
【図４】本発明の実施の形態３の構造を示すブロック図である。
【図５】本発明の実施の形態４の構造を示すブロック図である。
【図６】本発明の実施の形態４の機能の一部を示すプログラムリストである。
【図７】本発明の実施の形態４の機能の一部を示すプログラムリストである。
【図８】本発明の実施の形態４の構造の一部を示すブロック図である。
【図９】本発明の実施の形態４の構造の一部を示すブロック図である。
【図１０】本発明の実施の形態５の構造を示すブロック図である。
【図１１】本発明の実施の形態６の構造を示すブロック図である。
【図１２】本発明の変形の構造を示すブロック図である。
【図１３】本発明の変形の構造を示すブロック図である。
【符号の説明】
１１〜１８，４４，４９　セレクタ、２１　データ保持回路、２２，ＲＤ１，ＲＤ２　ディスパリティ信号、４１，４２　論理ゲート、４３，４５，４６　インバータ、５０，５０Ａ，５０Ｂ　５Ｂ／６Ｂ復号部、５１，５３，５５　５Ｂ／６Ｂ（＋）復号器、５２，５４　５Ｂ／６Ｂ（−）復号器、６０，６０Ａ　５Ｂ／６Ｂ復号部、６１，６３　３Ｂ／４Ｂ（＋）復号器、６２，６４　３Ｂ／４Ｂ（−）復号器、７０　特殊コード復号部、７１，７２　特殊コード復号器、９１，９２，Ｃ，Ｑ　復号データ、９１Ｐ，９１Ｎ，９２Ｐ，９２Ｎ　復号データ候補、１０１〜１０４　復号回路、Ｅ　エラー信号、Ｅ１，Ｅ２，Ｅ３　エラー候補信号、ＩＶ　不正信号、Ｌ　コードグループ、ＬＪ　反転コードグループ、ＲＸＤ　復号結果。
【図１】
2004147041.tif 000008
【図２】
2004147041.tif 000009
【図３】
2004147041.tif 000010
【図４】
2004147041.tif 000011
【図５】
2004147041.tif 000012
【図６】
2004147041.tif 000013
【図７】
2004147041.tif 000014
【図８】
2004147041.tif 000015
【図９】
2004147041.tif 000016
【図１０】
2004147041.tif 000017
【図１１】
2004147041.tif 000018
【図１２】
2004147041.tif 000019
【図１３】
2004147041.tif 000020