【手続補正書】
【提出日】平成17年8月29日(2005.8.29)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
以下で説明する実施の形態では、３Ｂ／４Ｂ復号部６０についての復号処理の少なくとも一部を、５Ｂ／６Ｂ復号部５０におけるディスパリティ信号ＲＤ１の取得と並行して行う技術が紹介される。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
表１は３Ｂ／４Ｂの対応関係を示し、形式的には符号化の表として示されているが、実質的には復号化の表として採用することができる。最左欄には３ビットの復号データ“HGF”が、中央欄にはカレントランニングディスパリティ（ここでは６ビットサブブロックについてのランニングディスパリティ）が負の場合に復号データ“HGF”に対応するサブブロック“fghj”が、最右欄にはカレントランニングディスパリティが正の場合に復号データ“HGF”に対応するサブブロック“fghj”が、それぞれ行毎に整合して示されている。復号の為に用いるルックアップテーブルではサブブロック“fghj”毎に復号データが設定され、各々がカレントランニングディスパリティが正の場合と負の場合を含む２4個のエントリから構成される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
【表１】
2004147041.tif 000001
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
サブブロック“abcdei”の値自体に依存することなく、サブブロック“fghj”及びカレントランニングディスパリティの極性に対して復号データ“HGF”が一つ決定する。例えばカレントランニングディスパリティの極性が負であり、サブブロック“fghj”が“1011”であれば、対応する復号データ“HGF”は“000”である。但し一つのサブブロック“fghj”に対応する復号データ“HGF”が、カレントランニングディスパリティの極性に依存して二つ存在するのではない。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２はそれぞれ３Ｂ／４Ｂ復号についてのカレントランニングディスパリティ（これは６ビットサブブロックのランニングディスパリティに相当する）の正負に対応したルックアップテーブルを有している。つまり３Ｂ／４Ｂ（＋）復号器６１は表１の最右欄と最左欄の内容を対応づけるルックアップテーブルを、３Ｂ／４Ｂ（−）復号器６２は表１の中央欄と最左欄の内容を対応づけるルックアップテーブルを、それぞれ備えている。３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２はこれらのルックアップテーブルとサブブロック“fghj”とに基づいて、それぞれ復号データ９２の候補である、復号データ候補９２Ｐ，９２Ｎを出力する。それぞれのルックアップテーブルにおいて、入力されたサブブロック“fghj”の値が存在しない場合には、それぞれエラー候補信号Ｅ２の更なる候補であるエラー候補候補信号Ｅ２Ｐ，Ｅ２Ｎを出力する。また３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２のいずれも、カレントランニングディスパリティとサブブロック“fghj”とに基づいて新たなランニングディスパリティを求める機能を有しており、それぞれ４ビットサブブロックのランニングディスパリティの候補の正負を表す、ディスパリティ候補信号ＲＤ２Ｐ，ＲＤ２Ｎを出力する。３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２のこれらの動作は５Ｂ／６Ｂ復号部５０の動作と並行して行われる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
６ビットサブブロックのランニングディスパリティが正の場合には、ディスパリティ信号ＲＤ１は“１”である。そしてセレクタ１１は復号データ候補９２Ｐを復号データ９２として出力し、セレクタ１２はディスパリティ候補信号ＲＤ２Ｐをディスパリティ信号ＰＤ２として出力し、セレクタ１３はエラー候補候補信号Ｅ２Ｐをエラー候補信号Ｅ２として出力する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
６ビットサブブロックのランニングディスパリティが負の場合には、ディスパリティ信号ＲＤ１は“０”である。そしてセレクタ１１は復号データ候補９２Ｎを復号データ９２として出力し、セレクタ１２はディスパリティ候補信号ＲＤ２Ｎをディスパリティ信号ＰＤ２として出力し、セレクタ１３はエラー候補候補信号Ｅ２Ｎをエラー候補信号Ｅ２として出力する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
以上のようにして、３Ｂ／４Ｂ復号部６０Ａは、ディスパリティ信号ＲＤ１の取得を待たずに、復号データ候補９２Ｐ，９２Ｎ及びディスパリティ候補信号ＲＤ２Ｐ，ＲＤ２Ｎ、並びにエラー候補候補信号Ｅ２Ｐ，Ｅ２Ｎを求める。そしてディスパリティ信号ＲＤ１が取得された後に、セレクタ１１によって復号データ候補９２Ｐ，９２Ｎから復号データ９２が選択される。またセレクタ１２によってディスパリティ候補信号ＲＤ２Ｐ，ＲＤ２Ｎからディスパリティ信号ＲＤ２が選択される。またセレクタ１３によってエラー候補候補信号Ｅ２Ｐ，Ｅ２Ｎからエラー候補信号Ｅ２が選択される。このように６ビットサブブロックのランニングディスパリティを求める処理と並行して、４ビットサブブロックのデコードの少なくとも一部、即ちいずれかが復号データとして選択される一対の復号データ候補を求める処理が行われるので、コードグループ毎の復号を迅速に行うことができる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
なお一般に５Ｂ／６Ｂの復号処理よりも変換の対象となるデータのビット数が少ない３Ｂ／４Ｂの復号処理の方が迅速に行える。特に３Ｂ／４Ｂ（＋）復号器６１が復号データ候補９２Ｐ及びディスパリティ候補信号ＲＤ２Ｐ並びにエラー候補候補信号Ｅ２Ｐを求める処理と、３Ｂ／４Ｂ（−）復号器６２が復号データ候補９２Ｎ及びディスパリティ候補信号ＲＤ２Ｎ並びにエラー候補候補信号Ｅ２Ｎを求める処理とを並列して行うことができる。またその際に３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２の各々が用いるルックアップテーブルは、それぞれ６ビットサブブロックについてのランニングディスパリティが正の場合と負の場合に分担して備えられている。よってこれらのルックアップテーブルの大きさは、データＲＤ１と４ビットサブブロック“fghj”とに基づく検索で採用されるべきルックアップテーブルの半分で済み、３Ｂ／４Ｂ（＋）復号器６１、３Ｂ／４Ｂ（−）復号器６２の処理自体も迅速に行われる。従ってセレクタ１１，１２による選択動作が有効となるまでに復号データ候補９２Ｐ，９２Ｎやディスパリティ候補信号ＲＤ２Ｐ，ＲＤ２Ｎ、エラー候補候補信号Ｅ２Ｐ，Ｅ２Ｎをそれぞれセレクタ１１，１２，１３に入力することは容易である。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
表２は５Ｂ／６Ｂの対応関係を示し、形式的には符号化の表として示されているが、実質的には復号化の表として採用することができる。最左欄には５ビットの復号データ“EDCBA”が、中央欄にはカレントランニングディスパリティが負の場合に復号データ“EDCBA”に対応するサブブロック“abcdei”が、最右欄にはカレントランニングディスパリティが正の場合に復号データ“EDCBA”に対応するサブブロック“abcdei”が、それぞれ行毎に整合して示されている。復号の為に用いるルックアップテーブルではサブブロック“abcdei”毎に復号データが設定され、各々がカレントランニングディスパリティが正の場合と負の場合を含む２6個のエントリから構成される。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
基本的にはサブブロック“fghj”の値自体に依存することなく、サブブロック“abcdei”及びランニングディスパリティの極性に対して復号データ“EDCBA”が一つ決定する。例えばランニングディスパリティの極性が負であり、サブブロック“abcdei”が“100111”であれば、対応する復号データ“EDCBA”は“00000”である。但し一つのサブブロック“abcdei”に対応する復号データ“EDCBA”が、ランニングディスパリティの極性に依存して二つ存在するのではない。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２はそれぞれ５Ｂ／６Ｂ復号についてのカレントランニングディスパリティ（これはコードグループＬについてのランニングディスパリティに相当する）の正負に対応したルックアップテーブルを有している。つまり５Ｂ／６Ｂ（＋）復号器５１は表２の最右欄と最左欄の内容を対応づけるルックアップテーブルを、５Ｂ／６Ｂ（−）復号器５２は表２の中央欄と最左欄の内容を対応づけるルックアップテーブルを、それぞれ備えている。５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２はこれらのルックアップテーブルとサブブロック“abcdei”とに基づいて、それぞれ復号データ９１の候補である、復号データ候補９１Ｐ，９１Ｎを出力する。それぞれのルックアップテーブルにおいて、入力されたサブブロック“abcdei”の値が存在しない場合には、それぞれエラー候補信号Ｅ１の更なる候補であるエラー候補候補信号Ｅ１Ｐ，Ｅ１Ｎを出力する。また５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２のいずれも、カレントランニングディスパリティとサブブロック“abcdei”とに基づいて新たなランニングディスパリティを求める機能を有しており、それぞれディスパリティ信号ＲＤ１の候補である、ディスパリティ候補信号ＲＤ１Ｐ，ＲＤ１Ｎを出力する。５Ｂ／６Ｂ（＋）復号器５１、５Ｂ／６Ｂ（−）復号器５２のこれらの動作は相互に並行して行われる。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
しかしながら表３及び表４から見て取れるように、特殊コードに関しては、ある一つの復号データ“HGF EDCBA”に対し、カレントランニングディスパリティの正負に応じて設定されるコードグループＬ“abcdei fghj”は、相互にビット毎に反転した関係にあるという特徴がある。例えばエラーを表して値“111 11110”を採る特殊コードK30.7は、６ビットサブブロックが表３からカレントランニングディスパリティの正負に応じてそれぞれ“100001”,“011110”に設定され、４ビットサブブロックが表４からカレントランニングディスパリティの正負に応じてそれぞれ“1000”,“0111”に設定される。即ち特殊コードK30.7は、カレントランニングディスパリティの正負に応じてそれぞれコードグループ“100001 0111”，“011110 1000”に設定される。これら２つのコードグループは相互にビット毎に反転した関係にある。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
実施の形態４．
本実施の形態ではエラー候補信号Ｅ２をより厳密に設定する技術を示す。具体的には表１の最下行に示されたデータコードDy.7の取り扱いをより厳密に行う。復号データ“HGF”が値“111”を採る場合には、サブブロック“fghj”は４種類の値を採りうる。基本的にはサブブロック“fghj”は“1110”，“0001”のいずれかを採る。しかしながら、データコードD11.7,D13.7,D14.7,D17.7,D18.7,D20.7については、いずれも対応する復号データ“HGF”の値が“111”を採るものの、例外的にサブブロック“fghj”は“1110”，“0001”以外の値を採る。データコードD11.7,D13.7,D14.7はカレントランニングディスパリティ（ここでは６ビットサブブロックのランニングディスパリティ）が正の場合において例外的であり、データコードD17.7,D18.7,D20.7はカレントランニングディスパリティが負の場合において例外的である。これらの例外の場合を、表１では丸括弧で囲んで示している。即ち、データコードD11.7,D13.7,D14.7はカレントランニングディスパリティが正の場合においてサブブロック“fghj”が“1000”を採り、データコードD17.7,D18.7,D20.7はカレントランニングディスパリティが負の場合においてサブブロック“fghj”が“0111”を採る。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
これらの例外的な場合をも考慮するためには、カレントランニングディスパリティが正の場合においてサブブロック“abcdei”が値１１，１３，１４に対応して“110100”，“101100”，“011100”を採るか否か、カレントランニングディスパリティが負の場合においてサブブロック“abcdei”が値１７，１８，２０に対応して“100011”，“010011”，“001011”を採るか否かを判断する必要がある。かかる判断を行うべく、３Ｂ／４Ｂ復号部６０にはサブブロック“fghj”のみならずサブブロック“abcdei”をも入力することが望ましい。この場合、図１に示された復号回路１００は図５のように変形される。またこの場合には３Ｂ／４Ｂ復号部６０として採用される、図２に示された３Ｂ／４Ｂ復号器（＋）６１、３Ｂ／４Ｂ復号器（−）６２に対する入力も、サブブロック“fghj”ではなく、コードブロックＬとなる。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
しかし、かかる判断の為に、常にサブブロック“abcdei”をサブブロック“fghj”と共にルックアップテーブルを用いて参照することは、ルックアップテーブルの肥大化を招いて好ましくない。そこでサブブロック“fghj”が上述の例外的な値を採る場合のみサブブロック“abcdei”を参照することが望ましい。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
図６及び図７はそれぞれ３Ｂ／４Ｂ復号器（＋）６１、３Ｂ／４Ｂ復号器（−）６２の機能の一部をハードウェア記述言語の一種であるVerilog（登録商標）-HDLを用いて示したプログラムリストである。これらのリストにおいて、レジスタ変数Err4bp,Err4bnはそれぞれ図２のエラー候補候補信号Ｅ２Ｐ，Ｅ２Ｎに、レジスタ変数CRD4bp,CRD4bnはそれぞれ図２のディスパリティ候補信号ＲＤ２Ｐ，ＲＤ２Ｎに相当し、関数LUT_4P[1:0]，LUT_4N[1:0]はそれぞれ｛Err4bp,CRD4bp｝，｛Err4bn,CRD4bn｝となる。また１０ビットの入力ピンSUDIはコードブロックＬに対応し、その下位４ビット[3:0]はサブブロック“fghj”に、上位６ビット[9:4]はサブブロック“abcdei”に、それぞれ対応する。これらのプログラムリストでは、データの復号を行う動作は省略されている。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】変更
【補正の内容】
【００６４】
それぞれのリストにおけるcase文の最初の７つの条件式はいずれも復号データ“HGF”に正しく対応する場合のサブブロック“fghj”を示している。但しこれら７個の条件式からは復号データ“HGF”が“111”を採る場合が除かれている。これらの条件式を満足する場合にはレジスタ変数Err4bp,Err4bnはいずれも“０”に設定される。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
図６のリストにおける第８番目及び第９番目の条件式はサブブロック“fghj”がそれぞれ“0001”及び“1000”を採る場合を示している。これらの条件式は、６ビットサブブロック“abcdei”のランニングディスパリティが正であり、かつ復号データ“HGF”の値が“111”である場合に対応するサブブロック“fghj”を示している。図６のリストにおける第８番目の条件式の場合においてはデータコードD11.7,D13.7,D14.7の場合のみがエラーとされている。即ちif文においてサブブロック“abcdei”に対応する入力ピンSUDI[9:4]が“110100”，“101100”，“011100”のいずれかである場合にはレジスタ変数Err4bpは“１”を採る。それ以外の場合にはレジスタ変数Err4bpは“０”を採る。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
一方、第９番目の条件式はデータコードD11.7,D13.7,D14.7の場合のみが正常とされている。コードグループＬが正常であれば、サブブロック“fghj”が値“1000”を採るのは、コードグループＬがデータコードD11.7,D13.7,D14.7である場合に限られるからである。よってこの条件式についてのif文においては、入力ピンSUDI[9:4]が“110100”，“101100”，“011100”のいずれかである場合にレジスタ変数Err4bpは“０”を採り、それ以外の場合にはレジスタ変数Err4bpは“１”を採る。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
同様にして、図７のリストにおける第８番目及び第９番目の条件式は、“fghj”がそれぞれ“1110”，“0111”を採る場合を示している。そして第８番目の条件式ではデータコードD17.7,D18.7,D20.7の場合がエラーとされている。即ちif文においてサブブロック“abcdei”に対応する入力ピンSUDI[9:4]が“100011”，“010011”，“001011”のいずれかである場合にはレジスタ変数Err4bnは“１”を採る。それ以外の場合にはレジスタ変数Err4bnは“０”を採る。
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
一方、第９番目の条件式はデータコードD17.7,D18.7,D20.7の場合のみが正常とされている。コードグループＬが正常であれば、サブブロック“fghj”が値“0111”を採るのは、コードグループＬがデータコードD17.7,D18.7,D20.7である場合に限られるからである。よってこの条件式についてのif文においては、入力ピンSUDI[9:4]が“100011”，“010011”，“001011”のいずれかである場合にレジスタ変数Err4bpは“０”を採り、それ以外の場合にはレジスタ変数Err4bpは“１”を採る。
【手続補正２３】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
それぞれのリストにおける次の７つの条件式（即ちそれぞれのリストにおける第１０番目乃至第１６番目の条件式）はいずれも復号データ“HGF”に正しく対応していない場合のサブブロック“fghj”を示している。これらの条件式を満足する場合にはレジスタ変数Err4bp,Err4bnはいずれも“１”に設定される。
【手続補正２４】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
まず図８に示された３Ｂ／４Ｂ復号器（＋）６１について説明する。セレクタ６ｎはサブブロック“fghj”の値に依存して１４個の入力端の各々に与えられた２ビットデータから、選択的に一つの２ビットデータを出力する。これらの１４個の入力端は、図６に示されたリストの第１番目から第７番目までの条件式及び第１０番目から第１６番目までの条件式に対応しており、各入力端に入力される２ビットのデータは｛Err4bp,CRD4bp｝に対応している。そして変数Err4bpに相当する１ビットがセレクタ６ｋに入力する。セレクタ６ｋの一方入力端（図中“１”と付記する）には１ビットの値“１”が固定して与えられており、変数Err4bpに相当する１ビットはセレクタ６ｋの他方入力端（図中“０”と付記する）に与えられる。
【手続補正２５】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
４ビットコンパレータ６ｅの一方入力端には値“0001”が、他方入力端にはサブブロック“fghj”の値が、それぞれ入力しており、両者が一致する場合にはコンパレータ６ｅは値“１”を出力する。コンパレータ６ｅの動作は図６に示されたリストの第８番目の条件式に対応している。４ビットコンパレータ６ｆの一方入力端には値“1000”が、他方入力端にはサブブロック“fghj”が、それぞれ入力しており、両者が一致する場合にはコンパレータ６ｆは値“１”を出力する。コンパレータ６ｆの動作は図６に示されたリストの第９番目の条件式に対応している。
【手続補正２６】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
コンパレータ６ａ，６ｂ，６ｃのいずれの一方入力端にも、サブブロック“abcdei”が入力される。またコンパレータ６ａ，６ｂ，６ｃの他方入力端には、それぞれ６ビットの値“110100”，“101100”，“011100”が入力される。コンパレータ６ａ，６ｂ，６ｃの各々は、一方入力端に与えられた６ビットと他方入力端に与えられた６ビットとが一致した場合に“１”を、一致しない場合に“０”を、それぞれ出力する。これらの出力の論理和がオアゲート６ｇから信号ＤＥＴとして出力されるので、信号ＤＥＴが“１”である場合とはサブブロック“fghj”が正常に値“1000”を採る場合を示していることになる。つまり信号ＤＥＴは図６に示されたリストの第９番目の条件式におけるif文に対応する。
【手続補正２７】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
アンドゲート６ｉは、コンパレータ６ｅの出力と信号ＤＥＴとの論理積を採って出力する。よってアンドゲート６ｉの出力が“１”である場合は、正常ならばサブブロック“fghj”が値“1000”を採るはずであるのに、サブブロック“fghj”が値“0001”を採る場合であり、エラー候補候補信号Ｅ２Ｐを“１”にすべき場合である。アンドゲート６ｉの出力が“０”である場合は、サブブロック“fghj”に対応する“HGF”が“111”以外の値を採る場合であるので、エラー候補候補信号Ｅ２Ｐの値をどのように決定すべきかについてはセレクタ６ｎの出力に委ねる。このような動作はセレクタ６ｋによって行われる。即ちアンドゲート６ｉの出力が“１”である場合は固定された入力値“１”を出力し、アンドゲート６ｉの出力が“０”である場合はセレクタ６ｎの出力のうち、変数Err4bpに相当する１ビットを出力する。
【手続補正２８】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
またアンドゲート６ｊはコンパレータ６ｆの出力と信号ＤＥＴとの論理積を採って出力する。よってアンドゲート６ｊが値“１”を採る場合にはサブブロック“fghj”が正常に値“1000”を採るはずであってかつサブブロック“fghj”が値“1000”を採っている場合であり、エラーは生じていないと判断される。よってこの場合にはセレクタ６ｍはエラー候補候補信号Ｅ２Ｐとして値“０”を出力する。このようなセレクタ６ｍの動作を得るために、セレクタ６ｍの一方入力端（図中“１”と付記する）には１ビットの値“０”が固定して与えられている。一方、アンドゲート６ｊの出力が値“０”を採る場合には、サブブロック“fghj”が値“1000”を正常に採っている場合以外の場合であるので、セレクタ６ｍはエラー候補候補信号Ｅ２Ｐとしてセレクタ６ｋの出力を採用する。
【手続補正２９】
【補正対象書類名】明細書
【補正対象項目名】００７８
【補正方法】変更
【補正の内容】
【００７８】
以上のように本実施の形態では、サブブロック“fghj”が例外的に採る値について不正か否かをサブブロック“abcdei”を考慮して判断するので、コードグループＬが不正か否かをより厳密に判断することができる。更に、かかる判断においてサブブロック“fghj”が上述の例外的な値を採る場合のみサブブロック“abcdei”を参照するので、ルックアップテーブルのサイズを顕著に大きくすることもない。
【手続補正３０】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
インバータ４３はコードグループＬをビット毎に反転して反転コードグループＬＪを出力する。セレクタ４４はコードグループＬ及び反転コードグループＬＪのいずれか一方を出力する。ディスパリティ信号２２の値が“１”の場合にはセレクタ４４はコードグループＬを出力し、ディスパリティ信号２２の値が“０”の場合にはセレクタ４４は反転コードグループＬＪを出力する。５Ｂ／６Ｂ復号部５０Ｂにはセレクタ４４の出力のうち、６ビットサブブロック“abcdej”もしくはこれがビット毎に反転したデータが入力する。
【手続補正３１】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
表５に、表２における規則性を示す。最左欄にはデータコードのコードグループ名を示している。記号（＋），（−）は、それぞれカレントランニングディスパリティが正、負の場合に対応していることを示す。また記号ｘは当該コードグループの４ビットのサブブロック“fghj”の値に依存せず、当該規則性が存在することを示している。中央欄にはコードグループに対応する５ビットの復号データを示している。そして最右欄には、最左欄に名称が記載されたコードグループに対応するデコード結果（即ち中央欄の５ビット）が、他のコードグループに対応するデコード結果のビット毎の反転として得られることを示している。
【手続補正３２】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
例えばカレントランニングディスパリティが負の場合において、６ビットのサブブロック“abcdei”が“110100”として得られた場合を考える。この場合、表５の最上行の最左欄に記載されたコードグループD11.x(-)に相当する。この６ビットのサブブロック“abcdei”をビット毎に反転した値は“001011”であり、これはカレントランニングディスパリティが正の場合におけるコードグループD20.x(+)に相当し、同じ行の最右欄に記載されている。そしてサブブロック“abcdei”が表５の最左欄に名称が記載されたサブブロックに相当する場合には、当該サブブロックを反転して得られる６ビットデータ（以下「反転サブブロック」と仮称する）も表５の最左欄に名称が記載されている。
【手続補正３３】
【補正対象書類名】明細書
【補正対象項目名】００８９
【補正方法】変更
【補正の内容】
【００８９】
コードグループD20.x(+)をカレントランニングディスパリティが正の場合のルックアップテーブル、即ち５Ｂ／６Ｂ（＋）復号器５５が備えるルックアップテーブルに則ってデコードすれば復号データ“10100”が得られる。そしてこの結果をビット毎に反転することにより、カレントランニングディスパリティが負の場合において、６ビットのサブブロック“abcdei”が“110100”として得られた場合の正常な復号データ“01011”を得ることができる。
【手続補正３４】
【補正対象書類名】明細書
【補正対象項目名】００９０
【補正方法】変更
【補正の内容】
【００９０】
一方、表５の最左欄に名称が挙げられたコードグループ以外のコードグループでは下記の規則性がある。即ちカレントランニングディスパリティが正の場合には６ビットのサブブロック“abcdei”を用いて、またカレントランニングディスパリティが負の場合には反転サブブロックを用いて、いずれも５Ｂ／６Ｂ（＋）復号器５５が備えるルックアップテーブルに則ってデコードすれば正常にデコードが行える。
【手続補正３５】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
以上のことから、５Ｂ／６Ｂ（＋）復号器５５には６ビットのサブブロック及び反転サブブロックを、それぞれカレントランニングディスパリティが正である場合と負である場合とに応じて与える。具体的には５Ｂ／６Ｂ（＋）復号器５５にはカレントランニングディスパリティが正の場合のルックアップテーブルが記憶されているので、セレクタ４４の出力が５Ｂ／６Ｂ（＋）復号器５５に与えられる。なお反転補正信号ＶＣは表５の最左欄に名称が記載されたコードグループに相当する６ビットサブブロックが５Ｂ／６Ｂ（＋）復号器５５に与えられた場合に“１”を、それ以外の場合には“０”をとる。つまり反転補正信号ＶＣは５Ｂ／６Ｂ（＋）復号器５５に与えられたサブブロックあるいは反転サブブロックが表５に名称が掲載されたコードグループに対応した所定の値を採る場合に活性化する。
【手続補正３６】
【補正対象書類名】明細書
【補正対象項目名】００９２
【補正方法】変更
【補正の内容】
【００９２】
まずカレントランニングディスパリティが正の場合について説明する。この場合には５Ｂ／６Ｂ（＋）復号器５５にサブブロック“abcdei”が与えられる。そしてこのサブブロックが表５の最左欄に名称が記載されたサブブロックであるか否かに拘わらず、即ち反転補正信号ＶＣの値によらず、論理ゲート４８の出力は“０”となる。ディスパリティ信号２２が“１”だからである。よってカレントランニングディスパリティが正の場合にはサブブロック“abcdei”を正常にデコードし、かつディスパリティ信号ＲＤ１を正しく求めることができる。よって３Ｂ／４Ｂ復号部６０Ａが出力するディスパリティ信号ＲＤ２も正しく求めることができる。
【手続補正３７】
【補正対象書類名】明細書
【補正対象項目名】００９３
【補正方法】変更
【補正の内容】
【００９３】
次にカレントランニングディスパリティが負の場合について説明する。この場合には５Ｂ／６Ｂ（＋）復号器５５に反転サブブロックが与えられる。更にサブブロック“abcdei”が表５の最左欄に名称が記載されたサブブロックに相当すれば、５Ｂ／６Ｂ（＋）復号器５５に入力する反転サブブロックは当該サブブロックに対応して表５の最右欄に名称が記載されたサブブロックと一致する。例えばサブブロック“abcdei”がセレクタ４４に与えられた場合には、５Ｂ／６Ｂ（＋）復号器５５には反転サブブロック“001011”が与えられる。よってこの反転サブブロックを用いて５Ｂ／６Ｂ（＋）復号器５５が記憶するルックアップテーブルに則ってデコードし、更にそのデコード結果を反転すれば、上述のように正常なデコードが行われることになる。
【手続補正３８】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
カレントランニングディスパリティが負であってディスパリティ信号２２は“０”であるので、論理ゲート４８の出力は反転補正信号ＶＣと値が一致する。上述の通り、サブブロック“abcdei”が表５の最左欄に名称が記載されたサブブロックに相当する場合には反転サブブロックも表５の最左欄に名称が記載されているので、反転補正信号ＶＣは“１”を採り、よって論理ゲート４８の出力も“１”となる。これにより、５Ｂ／６Ｂ（＋）復号器５５が記憶するルックアップテーブルに則ってデコードされた結果をインバータ４５で反転した復号データ候補９１ＰＪが復号データ９１としてセレクタ１４から出力され、正常なデコードが行われる。
【手続補正３９】
【補正対象書類名】明細書
【補正対象項目名】００９５
【補正方法】変更
【補正の内容】
【００９５】
カレントランニングディスパリティが負であり、更にサブブロック“abcdei”が表５の最左欄に名称が記載されたサブブロックに相当しない場合について説明する。この場合には反転補正信号ＶＣは“０”を採り、よって論理ゲート４８の出力も“０”となる。これにより、５Ｂ／６Ｂ（＋）復号器５５が記憶するルックアップテーブルに則ってデコードされた結果である復号データ候補９１Ｐが復号データ９１としてセレクタ１４から出力され、正常なデコードが行われる。
【手続補正４０】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
但し、カレントランニングディスパリティが負である場合には反転サブブロックに基づいて６ビットサブブロックのランニングディスパリティが計算されるので、ディスパリティ信号ＲＤ１の値は反転する必要がある。そこでセレクタ１５はカレントランニングディスパリティを示すディスパリティ信号２２が“０”であることに基づいて、ディスパリティ候補信号ＲＤ１ＰＪをディスパリティ信号ＲＤ１として出力する。
【手続補正４１】
【補正対象書類名】明細書
【補正対象項目名】００９７
【補正方法】変更
【補正の内容】
【００９７】
以上のようにして本実施の形態では、３Ｂ／４Ｂ（＋）復号器６１や５Ｂ／６Ｂ（＋）復号器５５が記憶するルックアップテーブルはカレントランニングディスパリティが正の場合に対応していれば足りるので、ルックアップテーブルのサイズを小さくすることができ、またその検索にかかる時間を短縮でき、コードグループ毎の復号を迅速に行うことができる。またサブブロック“fghj”からの復号や、ディスパリティ信号ＲＤ２、エラー候補信号Ｅ２の生成の一部をディスパリティ信号ＲＤ１の結果を待たずに行えるので、これらの動作をサブブロック“abcdei”からの復号、カレントランニングディスパリティの生成と並列して行うことができ、コードグループ毎の復号を迅速に行うことができる。