(57)【特許請求の範囲】
【請求項１】
第１の符号の出現頻度と第２の符号の出現頻度との比率が予め定められた比率となるようにビット数変換符号化されたデータであり、かつ前記データの誤り位置を算出するための冗長データ、及び前記データのパリティ検査データを含む誤り訂正符号が付与されたデータを受信する受信手段と、
前記受信手段によって受信された前記データに付与された誤り訂正符号に含まれる前記冗長データから算出される誤り位置に対応したシンドロームの値が予め定められた第１の値であり、かつ、前記データに対する復号化でエラーが発生した場合、又は前記シンドロームの値が前記第１の値でなく、かつ、前記パリティ検査データの値が予め定められた第２の値であり、かつ、前記データに対する復号化でエラーが発生した場合に、前記データに奇数個のビットの誤りがあることを検出する検出手段と、
を備えた復号化装置。
【請求項２】
前記検出手段は、前記シンドロームの値が前記第１の値でなく、かつ、前記パリティ検査データの値が前記第２の値でない場合に、前記データに偶数個のビットの誤りがあることを検出する
請求項１に記載の復号化装置。
【請求項３】
前記検出手段は、前記シンドロームの値が前記第１の値でなく、かつ、前記パリティ検査データの値が予め定められた第２の値であり、かつ、前記シンドロームを用いた誤り訂正を行った前記データに対する復号化でエラーが発生した場合に、前記データに３ビット以上の奇数個のビットの誤りがあることを検出する
請求項１又は請求項２に記載の復号化装置。
【請求項４】
第１の符号の出現頻度と第２の符号の出現頻度との比率が予め定められた比率となるように保たれるようにデータをビット数変換符号化し、前記データの誤り位置を算出するための冗長データ、及び前記データのパリティ検査データを含む誤り訂正符号を生成し、前記生成された前記誤り訂正符号を前記符号化されたデータに付加する変換手段、及び
前記変換手段によって得られた前記データを送信する送信手段を備えた符号化装置と、
請求項１〜請求項３の何れか１項に記載の復号化装置と、
を備えた情報伝送システム。
【請求項５】
コンピュータを、請求項１〜請求項３の何れか１項に記載の復号化装置を構成する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復号化装置、プログラム及び情報伝送システムに関する。
【背景技術】
【０００２】
特許文献１には、情報ブロック伝送方式において、送信側ノードは、第一の誤り訂正符号符号化部により誤り訂正符号化された情報ブロックをさらにマトリクスの行ごとに誤り訂正符号化する第二の誤り訂正符号符号化手段を含み、受信側ノードは、この第二の誤り訂正符号符号化手段により行ごとに誤り訂正符号化された情報ブロックを行ごとに復号化し第一の誤り訂正符号復号化部に与える第二の誤り訂正符号復号化手段を含むことを特徴とする情報ブロック伝送方式が開示されている。
【０００３】
特許文献２には、第１の符号及び第２の符号により構成され、当該第１の符号の数と当該第２の符号の数との差が０であるＮビットのパターンをデータに付加する第１のパターン付加部と、パターンが付加されたデータを、ＤＣバランスが保たれるように符号化する符号化部と、伝送中に生じるデータの誤りを検出する符号を、ＤＣバランスが保たれたＮビットの符号に変換し、当該Ｎビットの符号をパターンに代えてデータに付加する誤り検出符号付加部と、符号が付加されたデータをシリアル通信で送信する送信部とを備える送信装置と、送信部から送信されたデータを受信する受信部と、受信されたデータに付加された符号を用いてデータの誤り検出を行う誤り検出部と、誤り検出後、データに付加された符号に代えてパターンを付加する第２のパターン付加部と、パターンが付加されたデータを復号する復号部と、復号されたデータからパターンを削除するパターン削除部とを備える受信装置とを備えることを特徴とするシリアル通信システムが開示されている。
【０００４】
特許文献３には、ビット単位の複数の送信データにより構成されたフレームを順次形成するフレーム形成部と、フレーム形成部により順次形成された複数のフレームを時系列的に並列に配置したとき、複数のフレームに含まれる複数の送信データのうち所定の位置に配置された複数の送信データを算出元データとして誤り訂正符号を算出し、その算出した誤り訂正符号をビット単位の複数の分割データに分割して複数のフレームに付加する誤り訂正符号付加部と、複数のフレームに誤り訂正符号が付加された誤り訂正符号付きフレームを伝送路を介して順次送信する送信部と、伝送路を介して誤り訂正符号付きフレームを順次受信する受信部と、受信部により順次受信された複数の誤り訂正符号付きフレームにそれぞれ含まれる複数の分割データから誤り訂正符号を取得し、その取得した誤り訂正符号に基づいて、算出元データに対して誤り検出及び訂正を行う誤り検出訂正部とを備えたデータ伝送装置が開示されている。
【０００５】
特許文献４には、受信信号をパリティ検査して１ビットの誤りの有無を検査するパリティ検査ステップと、パリティ検査ビットを除いた受信信号を生成多項式で割って１ビットもしくは２ビットの誤りの有無を検査する巡回ハミング符号検査ステップと、巡回ハミング符号検査ステップで誤りが検出されなかった場合には誤りが発生しなかったと判断し、パリティ検査ステップでも巡回ハミング符号検査ステップでも誤りが検出された場合には１ビットの誤りが発生したと判断し、巡回ハミング符号検査ステップにおいてのみ誤りが検出された場合には２ビットの誤りもしくは伝送異常が発生したと判断する判断ステップと、からなる受信信号の誤り検出方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０５-２８４１４８号公報
【特許文献２】特開２０１３-２３９９４０号公報
【特許文献３】特開２００９-１４１４５３号公報
【特許文献４】特開２００１-１０２９３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、誤り訂正符号を用いて誤り検出を行う場合と比較して、奇数個のビットの誤りが精度よく検出される復号化装置、プログラム及び情報伝送システムを提供することにある。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、第１の符号の出現頻度と第２の符号の出現頻度との比率が予め定められた比率となるようにビット数変換符号化されたデータであり、かつ前記データの誤り位置を算出するための冗長データ、及び前記データのパリティ検査データを含む誤り訂正符号が付与されたデータを受信する受信手段と、前記受信手段によって受信された前記データに付与された誤り訂正符号に含まれる前記冗長データから算出される誤り位置に対応したシンドロームの値が予め定められた第１の値であり、かつ、前記データに対する復号化でエラーが発生した場合、又は前記シンドロームの値が前記第１の値でなく、かつ、前記パリティ検査データの値が予め定められた第２の値であり、かつ、前記データに対する復号化でエラーが発生した場合に、前記データに奇数個のビットの誤りがあることを検出する検出手段と、を備えた復号化装置である。
【０００９】
請求項２に係る発明は、前記検出手段は、前記シンドロームの値が前記第１の値でなく、かつ、前記パリティ検査データの値が前記第２の値でない場合に、前記データに偶数個のビットの誤りがあることを検出する、請求項１に記載の復号化装置である。
【００１０】
請求項３に係る発明は、前記検出手段は、前記シンドロームの値が前記第１の値でなく、かつ、前記パリティ検査データの値が予め定められた第２の値であり、かつ、前記シンドロームを用いた誤り訂正を行った前記データに対する復号化でエラーが発生した場合に、前記データに３ビット以上の奇数個のビットの誤りがあることを検出する、請求項１又は請求項２に記載の復号化装置である。
【００１１】
請求項４に係る発明は、第１の符号の出現頻度と第２の符号の出現頻度との比率が予め定められた比率となるように保たれるようにデータをビット数変換符号化し、前記データの誤り位置を算出するための冗長データ、及び前記データのパリティ検査データを含む誤り訂正符号を生成し、前記生成された前記誤り訂正符号を前記符号化されたデータに付加する変換手段、及び前記変換手段によって得られた前記データを送信する送信手段を備えた符号化装置と、請求項１〜請求項３の何れか１項に記載の復号化装置と、を備えた情報伝送システムである。
【００１２】
請求項５に係る発明は、コンピュータを、請求項１〜請求項３の何れか１項に記載の復号化装置を構成する各手段として機能させるためのプログラムである。
【発明の効果】
【００１３】
請求項１、請求項４、請求項５に係る発明によれば、誤り訂正符号を用いて誤り検出を行う場合と比較して、奇数個のビットの誤りが精度よく検出される。
【００１４】
請求項２、請求項３に係る発明によれば、更に、偶数個のビットの誤りが検出される。
【００１５】
請求項４に係る発明によれば、誤り訂正符号を用いて誤り検出を行う場合と比較して、３ビット以上の奇数個のビットの誤りが精度よく検出される。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施の形態に係る情報伝送システムの構成の一例を示す概略図である。
【図２】第１の実施の形態に係る符号化装置の構成の一例を示すブロック図である。
【図３】（Ａ）から（Ｅ）は符号化装置の動作を説明するための図である。
【図４】（Ａ）は誤り訂正符号の一例を示す図であり、（Ｂ）は送信されるデータの一例を示す図である。
【図５】第１の実施の形態に係る復号化装置の構成の一例を示すブロック図である。
【図６】（Ａ）から（Ｅ）は復号化装置の動作を説明するための図である。
【図７】復号化エラーの検出の動作を説明するための図である。
【図８】（Ａ）は１ビット誤りの訂正の動作を説明するための図であり、（Ｂ）は２ビット誤り検出の動作を説明するための図である。
【図９】（Ａ）及び（Ｂ）は３ビット誤り検出の動作を説明するための図である。
【図１０】第１の実施の形態に係る符号化装置によって実行される符号化処理ルーチンの内容を表す図である。
【図１１】第１の実施の形態に係る復号化装置によって実行される復号化処理ルーチンの内容を表す図である。
【図１２】第２の実施の形態に係る復号化装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施の形態について説明する。なお、以下では、２つの装置間でシリアル伝送にて情報の送受信を行う情報伝送システムに本発明を適用した場合について説明する。
【００１８】
＜情報伝送システム＞
まず、本発明の実施の形態に係る情報伝送システムの概略構成について説明する。図１は本発明の実施の形態に係る情報伝送システムの構成の一例を示す概略図である。図１に示すように、情報伝送システム１０は、情報を送信する符号化装置１２と情報を受信する復号化装置１４とを備えている。
【００１９】
符号化装置１２と復号化装置１４とは、伝送路１６で接続されている。伝送路１６は、符号化装置１２から復号化装置１４へ情報をシリアル伝送するための伝送路である。
【００２０】
（符号化装置）
次に、符号化装置１２の構成について説明する。図２は符号化装置の構成の一例を示すブロック図である。図２に示すように、符号化装置１２は、データ受付部１２０、ヘッダスタートオブパケット（Ｈｅａｄｅｒ／ＳＯＰ）生成部１２２、変換部１２３、及び送信部１３０を備えている。符号化装置１２は、ＦＰＧＡ（Field Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）、ゲートアレイなどの回路（ＩＣ：Integrated Circuit）により実装される。また、符号化装置１２が備える上記各機能部は、ＣＰＵ（Central  Processing  Unit）、ＲＡＭ（Random  Access  Memory）、及びＲＯＭ（Read  Only  Memory）等を備えたコンピュータにより実現し、ＣＰＵが、ＲＯＭに記憶されているプログラムを実行することにより、各機能部における各機能が実行されるように構成してもよい。
【００２１】
データ受付部１２０は、パラレル形式のデータを受け付ける。本実施の形態では、１６ビット×ｎブロックのパラレル形式のデータを用いる場合を例に説明する。図３（Ａ）に、１６ビット×ｎブロックのパラレル形式のデータの一例を示す。データ受付部１２０は、１６ビット×ｎブロックのパラレル形式のデータを受け付ける。
【００２２】
ヘッダスタートオブパケット（Ｈｅａｄｅｒ／ＳＯＰ）生成部１２２は、データ受付部１２０によって受け付けたパラレル形式のデータを取得して、取得したパラレル形式のデータからヘッダとスタートオブパケットとを生成して出力する。また、ヘッダスタートオブパケット（Ｈｅａｄｅｒ／ＳＯＰ）生成部１２２は、スタートオブパケットの種別を表すデータ（１ビット）を出力する。
【００２３】
変換部１２３は、データ受付部１２０によって受け付けたパラレル形式のデータと、ヘッダスタートオブパケット（Ｈｅａｄｅｒ／ＳＯＰ）生成部１２２によって生成されたヘッダ及びスタートオブパケットとを取得する。そして、変換部１２３は、ＤＣ（Direct Current）バランスが保たれるように当該データを符号化し、当該データのシンドロームを算出するための冗長データ、当該データのパリティ検査データ、及びＤＣバランスを保つためのダミーデータを含む誤り訂正符号を生成し、生成された誤り訂正符号を符号化された当該データに付加する。変換部１２３は、８Ｂ１０Ｂ変換部１２４、誤り訂正符号生成部１２６、及びパラレルシリアル（Ｐ／Ｓ）変換部１２８を備えている。
【００２４】
８Ｂ１０Ｂ変換部１２４は、データ受付部１２０によって受け付けたパラレル形式のデータと、ヘッダスタートオブパケット（Ｈｅａｄｅｒ／ＳＯＰ）生成部１２２によって生成されたヘッダ及びスタートオブパケットを取得し、取得したパラレル形式のデータにヘッダ及びスタートオブパケットを付加する。また、８Ｂ１０Ｂ変換部１２４は、ヘッダスタートオブパケット（Ｈｅａｄｅｒ／ＳＯＰ）生成部１２２によって出力されたスタートオブパケットの種別を表すデータ（１ビット）を取得し、スタートオブパケットの種別に応じた８Ｂ１０Ｂ符号化方式の変換テーブルを用いる。なお、スタートオブパケットには、例えばＫ２８．１コードとＤ２８．６コードとが用いられる。
【００２５】
また、８Ｂ１０Ｂ変換部１２４は、図３（Ｃ）に示すように、ヘッダ及びスタートオブパケットが付加されたパラレル形式のデータを、予め定められた符号化方式に従って符号化し、ビット数を変換する。本実施の形態では、８Ｂ１０Ｂ符号化方式によってビット数を変換する場合を例に説明する。具体的は、８Ｂ１０Ｂ変換部１２４は、８Ｂ１０Ｂ符号化方式に従って、８ビットの情報を１０ビットの情報へ変換する。８Ｂ１０Ｂ符号化方式では、予め定められた変換テーブルを用いて、８ビットの情報を１０ビットの情報へ変換する。また、８Ｂ１０Ｂ符号化方式では、変換後のデータ上で１または０の均等なバランスとなるように変換するパターンが選択される。本実施の形態では、１６ビット×ｎブロックのデータを対象とするため、１６ビットのデータは、図３（Ｃ）に示すように、２０ビットのデータに変換される。
【００２６】
８Ｂ１０Ｂ符号化方式では、ＤＣ（Direct Current）バランスが保たれるように、８ビットの情報が１０ビットの情報へ変換される。ＤＣバランスとは、１と０の数の比率をいう。また、ＤＣバランスを保つとは、１の出現頻度と０の出現頻度との比率が、予め定められた比率となるようにすることをいい、例えば均一化することをいう。本実施の形態では、第１の符号として「０」を用い、第２の符号として「１」を用いる。例えば、データを伝送方向に沿ってみたときに、１と０とが決められた数以上連続しないようにビットを配列することにより、ＤＣバランスの保たれたデータが生成される。
【００２７】
ランニングディスパリティとは、８Ｂ１０Ｂ符号化方式で符号化されたデータにおいて、直前の符号のランニングディスパリティがプラスであれば次はマイナスの符号を、逆にランニングディスパリティがマイナスなら次はプラスの符号を送出する。これも１または０を連続させない仕組みの一環である。ただし、１の数と０の数が同じであれば、ランニングディスパリティの極性は継続される。
【００２８】
また、８Ｂ１０Ｂ符号化方式では、８ビットの入力データに対応する１０ビットの符号は、ランニングディスパリティが「マイナス」と「プラス」の２つの状態のそれぞれに対して個別に規定される。
【００２９】
現在のランニングディスパリティ状態がマイナスに対する符号は、「１」の個数が「０」の個数と等しい（中立のディスパリティを持つ）か、または「１」の個数が「０」の個数より多い（正のディスパリティを持つ）符号である。一方、現在のランニングディスパリティ状態がプラスに対する符号は、中立のディスパリティを持つか、または「１」の個数が「０」の個数より少ない（負のディスパリティを持つ）符号である。
【００３０】
そして、例えば、現在のランニングディスパリティ状態がマイナスにおいて正のディスパリティを有する符号を出力した場合は、次のランニングディスパリティの状態をプラスにすることにより、少なくとも次の出力ビット列では正のディスパリティが生じないようにする。中立のディスパリティを有する符号を出力した場合、次のランニングディスパリティの状態をマイナスに維持する。
【００３１】
また、現在のランニングディスパリティ状態がプラスにおいて負のディスパリティを有する符号を出力した場合は、次のランニングディスパリティの状態をマイナスにすることにより、少なくとも次の出力ビット列では負のディスパリティが生じないようにする。中立のディスパリティを有する符号を出力した場合、次のランニングディスパリティの状態をプラスに維持する。
【００３２】
このように、８Ｂ１０Ｂ符号化方式では、直前のＲＤ値に応じて、出力ビットをマイナスに対応するものとするかプラスに対応するものとするかを選択する符号化規則を用いることで、出力ビット列の「０」と「１」の数が等しく、又はほぼ等しくなるように制御する。
【００３３】
誤り訂正符号生成部１２６は、８Ｂ１０Ｂ変換部１２４によって変換されたパラレル形式のデータから、誤り訂正符号（ＥＣＣ：Error Correcting Code）を生成する。本実施の形態で用いる誤り訂正符号には、データの誤り位置に対応したシンドロームを算出するための冗長ビット、パリティ検査符号、及びＤＣバランスをニュートラルに保つためのダミービットが含まれている。本実施の形態では、拡張ハミング符号によって得られるパリティ検査符号を用いる。拡張ハミング符号によって得られるパリティ検査符号を用いることにより、１ビットの誤りが訂正され、偶数ビットの誤りが検出される。
【００３４】
図４（Ａ）に、誤り訂正符号の一例を示す。本実施の形態では、図４（Ａ）に示すように、シンドローム（Ｓ０〜Ｓ９）を算出するための冗長ビットを１０ビットとパリティ検査ビットＰ０とを合わせた１１ビットに、ＤＣバランスを保つためのダミービットを付加した計２０ビットの誤り訂正符号を生成する。
【００３５】
パラレルシリアル（Ｐ／Ｓ：Parallel to Serial）変換部１２８は、図３（Ｄ）に示すように、８Ｂ１０Ｂ変換部１２４によって変換された２０ビットのパラレル形式のデータに、誤り訂正符号生成部１２６によって生成された２０ビットの誤り訂正符号を付加する。そして、パラレルシリアル（Ｐ／Ｓ）変換部１２８は、誤り訂正符号が付加されたパラレル形式のデータをシリアルのビット列に変換する。本実施の形態では、２０×ｎビットのデータにヘッダの２０ビット及び誤り訂正符号を２０ビット付加し、２０×（ｎ＋２）ビットのデータをパラレル-シリアル変換して、後述する送信部１３０によってパケットとして送信する。
【００３６】
送信部１３０は、パラレルシリアル（Ｐ／Ｓ）変換部１２８によって変換されたシリアル形式のデータを伝送路１６へ出力する。送信部１３０によって出力されるデータの一例を図３（Ｄ）に示す。また、送信部１３０は、図４（Ｂ）に示すように、パケットを送信しない場合には、ＩＤＬＥ信号を送信する。ＩＤＬＥ信号は、パケットの前後の空き区間に挿入される。ＩＤＬＥ信号には、例えばＫ２８．５コードとＤ０．０コードが用いられる。
【００３７】
（復号化装置）
次に、復号化装置１４の構成について説明する。図５は復号化装置の構成の一例を示すブロック図である。図５に示すように、復号化装置１４は、受信部１４０、シリアルパラレル（Ｓ／Ｐ）変換部１４２、バッファ１４４、ＳＯＰ検出部１４６、検出部１４７、ＤＣバランス補償データ付加部１５２、８Ｂ１０Ｂ逆変換部１５４、８Ｂ１０Ｂエラーカウント部１５８、判定部１６０、エラー出力部１６２、及びデータ出力部１６４を備えている。復号化装置１４は、ＦＰＧＡ（Field Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）、ゲートアレイなどの回路（ＩＣ：Integrated Circuit）により実装される。また、復号化装置１４が備える上記各機能部は、ＣＰＵ（Central  Processing  Unit）、ＲＡＭ（Random  Access  Memory）、及びＲＯＭ（Read  Only  Memory）等を備えたコンピュータにより実現し、ＣＰＵが、ＲＯＭに記憶されているプログラムを実行することにより、各機能部における各機能が実行されるように構成してもよい。
【００３８】
受信部１４０は、符号化装置１２によって伝送路１６を介して送信されたシリアル形式のデータを受信する。受信部１４０が受信するシリアル形式のデータは、ＤＣバランスが保たれるように符号化されたデータであり、かつ誤り訂正符号が付与されているデータである。誤り訂正符号には、データの誤り位置を算出するための冗長ビット、データのパリティ検査ビット、及びＤＣバランスを保つためのダミーデータが含まれている。図６（Ａ）に、受信部１４０が受け付けるシリアル形式のデータの一例を示す。
【００３９】
シリアルパラレル（Ｓ／Ｐ）変換部１４２は、受信部１４０によって受け付けたシリアル形式のデータをパラレル形式のデータに変換する。また、シリアルパラレル（Ｓ／Ｐ）変換部１４２は、変換したパラレル形式のデータをバッファ１４４に格納する。
【００４０】
バッファ１４４には、シリアルパラレル（Ｓ／Ｐ：Serial to Parallel）変換部１４２によって変換されたパラレル形式のデータが格納される。
【００４１】
ＳＯＰ検出部１４６は、シリアルパラレル（Ｓ／Ｐ）変換部１４２によって変換されたパラレル形式のデータから、スタートオブパケット（ＳＯＰ）を検出し、パラレル形式のデータからスタートオブパケット（ＳＯＰ）を除いたデータを出力する。
【００４２】
検出部１４７は、ＳＯＰ検出部１４６によって出力されたパラレル形式のデータに付与された誤り訂正符号に含まれる冗長ビットから、誤り位置に対応したシンドロームを算出する。
【００４３】
そして、検出部１４７は、シンドロームの値が０でなく、かつ、パリティ検査ビットの値が０である場合に、当該データに偶数個のビットの誤りがあることを検出する。本実施の形態では、予め定められた第１の値として「０」を用い、予め定められた第２の値として「１」を用いる。
【００４４】
また、検出部１４７は、シンドロームの値が０でなく、かつ、パリティ検査ビットの値が１であり、かつ、後述する誤り訂正部１５０によってシンドロームの値に応じたビット誤り訂正を行った当該データに対する復号化でエラーが発生した場合に、当該データに３ビット以上の奇数個のビットの誤りがあることを検出する。
【００４５】
検出部１４７は、誤り訂正符号演算部１４８、誤り訂正部１５０、及び逆変換誤り検出部１５６を備えている。
【００４６】
誤り訂正符号演算部１４８は、図６（Ｂ）に示すようなＳＯＰ検出部１４６によって出力されたパラレル形式のデータに含まれる誤り訂正符号を用いて、パラレル形式のデータのビットの誤りを検出する。具体的には、誤り訂正符号演算部１４８は、パラレルデータに含まれる誤り訂正符号の冗長ビットから誤り位置に対応したシンドロームを算出する。そして、誤り訂正符号演算部１４８は、算出したシンドロームと誤り訂正符号に含まれるパリティ検査ビットとの組み合わせに基づいて、１ビットの誤り又は偶数個のビットの誤りを検出する。
【００４７】
より具体的には、誤り訂正符号演算部１４８は、算出したシンドロームが０でなく、かつ誤り訂正符号に含まれるパリティ検査ビットが０である場合に、パラレルデータの偶数個のビットの誤りを検出し、検出結果をエラー出力部１６２へ出力する。また、誤り訂正符号演算部１４８は、算出したシンドロームが０でなく、かつ誤り訂正符号に含まれるパリティ検査ビットが１である場合に、パラレルデータの奇数個のビットの誤りを検出し、検出結果を誤り訂正部１５０と逆変換誤り検出部１５６へ出力する。
【００４８】
誤り訂正符号演算部１４８によって算出されるシンドロームの値が０の場合も、３ビットの誤りが存在する場合があるため、本実施の形態では、後述する８Ｂ１０Ｂ逆変換部１５４によって発生する復号化エラーをチェックして３ビットの誤りを検出する。
【００４９】
誤り位置に対応するシンドロームは、以下の式に示すように、誤りパターンｅを用いて表される。
【００５０】
【数１】
0006417937.tif 000002
【００５１】
ここで、ｉ，ｊ，ｋ，ｍはビットの誤りの位置を表す。上記式に示すように、３ビットの誤りが発生したときのシンドロームは上式でｉ，ｊ，ｋがお互いに異なる場合は、ｉ，ｊ，ｋと異なる位置ｍとなり、後述する誤り訂正部１５０によって誤った誤り訂正がされる。
【００５２】
また、例えば誤りパターンｅｉ＝０１００００（１６ビット目が誤りビット）、ｅｊ＝１０００００（３２ビット目が誤りビット）、ｅｋ＝１１００００（４８ビット目が誤りビット）の場合、上記式に従ってシンドロームを算出するとシンドロームＳｍ＝００００００となり、ビットの誤りが有るにも関わらず、ビットの誤りが無しと判定されるため、本実施の形態では、後述する８Ｂ１０Ｂ逆変換部１５４によって発生する復号化エラーをチェックして３ビットの誤りを検出する。
【００５３】
誤り訂正部１５０は、誤り訂正符号演算部１４８によって出力された検出結果に基づいて、パリティ検査ビットが１の場合、すなわち、奇数個のビットの誤りである場合に、バッファ１４４に格納されたデータに対し、１ビットの誤り訂正を行う。具体的には、誤り訂正部１５０は、誤り訂正符号演算部１４８によって算出されたシンドロームから、誤りビットの位置を取得し、当該位置に対応するビットの誤りを訂正する。
【００５４】
ＤＣバランス補償データ付加部１５２は、図６（Ｃ）に示すように、バッファ１４４に格納されたパラレル形式のデータに含まれる誤り訂正符号の代わりに、ＤＣバランスが保たれたダミービットを付加する。ダミービットはＤＣバランスを補償するためのものであり、例えば本実施の形態では、マーク率０．５の２０ビットのデータを付加する。
【００５５】
８Ｂ１０Ｂ逆変換部１５４は、バッファ１４４に格納されたパラレル形式のデータを、８Ｂ１０Ｂの符号化方式に従って予め定められた変換テーブルを用いて復号して出力する。これにより、図６（Ｄ）に示すように、２０ビットのデータが元の１６ビットのデータに変換される。また、８Ｂ１０Ｂ逆変換部１５４は、復号した１６ビットのデータを、データ出力部１６４へ出力する。８Ｂ１０Ｂ逆変換部１５４によって出力されるデータの一例を図６（Ｅ）に示す。
【００５６】
また、８Ｂ１０Ｂ逆変換部１５４は、復号化エラーが発生した場合に、復号化エラーが発生したことを示す情報を、逆変換誤り検出部１５６へ出力する。８Ｂ１０Ｂ逆変換部１５４は、予め定められた変換テーブルとランニングディスパリティとを用いて、誤り訂正符号演算部１４８によって算出シンドロームの値が０でなく、かつ、パリティ検査ビットの値が１であり、かつ、誤り訂正部１５０による誤り訂正を行った当該データに対する復号化でエラーが発生した場合に、当該データに３ビット以上の奇数個のビットの誤りがあることを検出する。
【００５７】
復号化エラーには、８Ｂ１０Ｂ逆変換部１５４によって復号される復号対象のデータが予め定められた変換テーブルに存在しない符号外エラーと、８Ｂ１０Ｂ逆変換部１５４によって復号される復号対象のデータのランニングディスパリティが均等でないことを表すランニングディスパリティエラーとを含む。
【００５８】
ビットの誤りが１ビットであれば、誤り訂正部１５０によって誤りビットが正しく訂正されるため、８Ｂ１０Ｂ逆変換部１５４の復号処理による復号化エラーは発生しない。一方、ビットの誤りが３ビット以上の奇数ビットの場合は、誤り訂正部１５０によって訂正されるビットが間違ってしまうため、８Ｂ１０Ｂ逆変換部１５４で復号化エラー（ランニングディスパリティエラーを含む）が発生する。
【００５９】
図７に、８Ｂ１０Ｂ逆変換部１５４の復号処理によって生じる復号化エラーを説明するための説明図を示す。図７（Ａ）は、符号化装置１２の８Ｂ１０Ｂ変換部１２４によって現在までに出力されたデータのランニングディスパリティ（ＲＤ）と、次に出力されるデータのビットパターンと、当該ビットパターンのマーク率を表す。また、図７（Ｂ）は、符号化装置１２によって送信されたデータのビットパターンと、当該ビットパターンにビット誤りが発生してと、復号化装置１４の８Ｂ１０Ｂ逆変換部１５４による復号化処理によって発生する復号化エラーを表す。なお、図７（Ｂ）に示す、カッコ内の値は例えばデータが１０ビットである場合の「１」の数を表す。また、「◎」は符号外エラーを表し、「○」はランニングディスパリティエラーを表し、「△」は後続するデータで発生するランニングディスパリティエラーを表す。
【００６０】
図７（Ａ）に示すように、例えばランニングディスパリティの状態が「プラス」である場合、８Ｂ１０Ｂ符号化方式によって出力されるビット列は、ビットパターンＡ又はＣに対応するデータが出力される。一方、ランニングディスパリティの状態が「マイナス」である場合、８Ｂ１０Ｂ符号化方式によって出力されるビット列は、ビットパターンＢ又はＤに対応するデータが出力される。なお、図７（Ａ）のビットパターンＥは、マーク率が３０％以下又は７０％以上であるデータであり、８Ｂ１０Ｂ符号化方式の変換テーブルに存在しないことを表す。
【００６１】
そして、図７（Ａ）に示す各々のビットパターンが符号化装置１２から復号化装置１４へ送信されるときに、図７（Ｂ）に示すように、１ビットの誤りが発生したと仮定する。例えば、符号化装置１２によってビットパターンＡ（５）が送信され、ビットパターンＡ（５）に１ビットの誤りが発生して、復号化装置１４はビットパターンＤ（６）を受信する。そして、復号化装置１４の８Ｂ１０Ｂ逆変換部１５４は、ビットパターンＤ（６）のマーク率と現在のランニングディスパリティとから、ランニングディスパリティエラーが発生したと判断する。現在のランニングディスパリティはプラスであるにも関わらず、マーク率が６０％（プラス）のデータを受信した場合、ランニングディスパリティエラーが発生したと判断される。
【００６２】
また、例えば、符号化装置１２によってビットパターンＡ（５）が送信され、ビットパターンＡ（５）に１ビットの誤りが発生して、復号化装置１４はビットパターンＣ（４）を受信する。この場合、復号化装置１４の８Ｂ１０Ｂ逆変換部１５４は、符号化装置１２によって送信される後続データを受信した際に、ランニングディスパリティエラーが発生したと判断する。
【００６３】
また、例えば、符号化装置１２によってビットパターンＣ（４）が送信され、ビットパターンＣ（４）に１ビットの誤りが発生して、復号化装置１４はビットパターンＥ（３）を受信する。この場合、復号化装置１４の逆変換誤り検出部１５６は、上記図７（Ａ）のビットパターンＥ（３）は変換テーブルに存在しないため、符号外エラーを検出する。
【００６４】
ここで、ビットの誤りの種別について説明する。図８、及び図９にビットの誤りの一例を示す。
【００６５】
図８（Ａ）に示すように、データ内のｉ番目のブロックに１ビットの誤りが発生した場合、誤り訂正符号演算部１４８によって算出されたシンドロームの値が０でなく、かつパリティ検査ビットが１となるため、シンドロームの値に応じて誤り位置が検出され、誤り訂正部１５０によって１ビットの誤りが訂正される。
【００６６】
また、図８（Ｂ）に示すように、データ内の１番目のブロックに１ビットの誤りが発生し、ｉ番目のブロックに１ビットの誤りが発生して、合計２ビットの誤りが発生した場合、誤り訂正符号演算部１４８によって算出されたシンドロームの値が０でなく、かつパリティ検査ビットが０となるため、２ビットの誤りが検出される。
【００６７】
図９（Ａ）に示すように、データ内の０番目のブロックに１ビットの誤りが発生し、１番目のブロックに１ビットの誤りが発生し、ｉ番目のブロックに１ビットの誤りが発生して、合計３ビットの誤りが発生した場合であって、かつ誤り訂正符号演算部１４８によって算出されたシンドロームの値が０でなく、パリティ検査ビットが１となる場合、誤り訂正部１５０によってシンドロームの値に応じた誤り訂正がされる。しかし、３ビットの誤りの場合、誤り訂正符号演算部１４８によって算出されたシンドロームの値に応じて誤り訂正を行うと、実際のビットの誤り位置とは異なる位置に対応するビットが誤って訂正される。そして、８Ｂ１０Ｂ逆変換部１５４によって復号処理が実行されると、上記図９（Ａ）に示すように１０ビット毎に１つのビット誤りがある場合には、ランニングディスパリティエラーが検出される。
【００６８】
また、図９（Ｂ）に示すように、データ内の１番目のブロックに１ビットの誤りが発生し、ｉ番目のブロックに１ビットの誤りが発生し、ｊ番目のブロックに１ビットの誤りが発生して、合計３ビットの誤りが発生した場合であって、かつ誤り訂正符号演算部１４８によって算出されたシンドロームの値が０であり、パリティ検査ビットが０となる場合、１０ビット毎に１つのビット誤りがあれば、８Ｂ１０Ｂ逆変換部１５４の復号処理によってランニングディスパリティエラーが検出される。
【００６９】
また、４ビット以上の偶数個のビットの誤りが発生した場合であって、かつ誤り訂正符号演算部１４８によって算出されたシンドロームの値が０以外であり、かつパリティ検査ビットが０となる場合、偶数個のビットの誤りが検出される。
【００７０】
また、４ビット以上の偶数個のビットの誤りが発生した場合であって、かつ誤り訂正符号演算部１４８によって算出されたシンドロームの値が０以外であり、かつパリティ検査ビットが０となる場合、１０ビット毎に１つのビットの誤りがあれば、８Ｂ１０Ｂ逆変換部１５４の復号処理によってランニングディスパリティエラーが検出される。
【００７１】
また、５ビット以上の奇数個のビットの誤りが発生した場合であって、かつ誤り訂正符号演算部１４８によって算出されたシンドロームの値が０以外であり、かつパリティ検査ビットが１となる場合、誤り訂正部１５０によって誤った訂正が実施され、１０ビット毎に１つのビットの誤りがあれば、８Ｂ１０Ｂ逆変換部１５４の復号処理によってランニングディスパリティエラーとなる。
【００７２】
また、５ビット以上の奇数個のビットの誤りが発生した場合であって、かつ誤り訂正符号演算部１４８によって算出されたシンドロームの値が０であり、かつパリティ検査ビットが１となる場合、１０ビット毎に１つのビットの誤りがあれば、８Ｂ１０Ｂ逆変換部１５４の復号処理によってランニングディスパリティエラーが検出される。
【００７３】
逆変換誤り検出部１５６は、８Ｂ１０Ｂ逆変換部１５４によって復号化エラーが出力された場合には、パケットの範囲内で３ビット以上の誤りが発生したことを検出する。また、逆変換誤り検出部１５６は、３ビット以上の誤りが発生したことを示す情報を、８Ｂ１０Ｂエラーカウント部１５８及び判定部１６０へ出力する。
【００７４】
８Ｂ１０Ｂエラーカウント部１５８は、逆変換誤り検出部１５６によって検出された復号化エラーの回数をカウントする。そして、８Ｂ１０Ｂエラーカウント部１５８は、復号化エラーの回数を出力する。情報伝送システム１０は、復号化エラーの回数が予め定められた閾値以上である場合に、データの送受信を停止する。
【００７５】
判定部１６０は、ＳＯＰ検出部１４６によってスタートオブパケットが検出された場合に、逆変換誤り検出部１５６によって検出された検出結果をエラー出力部１６２へ出力する。
【００７６】
エラー出力部１６２は、判定部１６０によって出力された３ビット以上の奇数個のビットの誤りの検出結果と、誤り訂正符号演算部１４８によって出力された偶数個のビットの誤りの検出結果とを結果として出力する。
【００７７】
データ出力部１６４は、エラー出力部１６２によって出力された検出結果に基づいて、ビットの誤りが無い場合に、８Ｂ１０Ｂ逆変換部１５４によって出力された１６ビットのデータを出力する。
【００７８】
＜情報伝送システムの動作＞
次に、情報伝送システム１０の動作について説明する。上記の通り、情報伝送システム１０の動作は、符号化装置１２側と復号化装置１４側とで実行される。
【００７９】
＜符号化装置側の処理＞
まず、符号化装置１２側で実行される処理について説明する。
図１０は符号化装置１２によって実行される符号化処理ルーチンの手順の一例を示すフローチャートである。符号化装置１２は、符号化対象のパラレル形式のデータが入力されると、図１０に示す符号化処理ルーチンを実行する。
【００８０】
ステップＳ１００において、データ受付部１２０によってパラレル形式のデータを受け付ける。
【００８１】
ステップＳ１０２において、ヘッダスタートオブパケット（Ｈｅａｄｅｒ／ＳＯＰ）生成部１２２によって、上記ステップＳ１００で受け付けたパラレル形式のデータから、ヘッダ及びスタートオブパケットを生成する。
【００８２】
ステップＳ１０４において、８Ｂ１０Ｂ変換部１２４によって、上記ステップＳ１００で受け付けたパラレル形式のデータに、上記ステップＳ１０２で生成されたヘッダ及びスタートオブパケットを付加する。そして、８Ｂ１０Ｂ変換部１２４によって、ヘッダ及びスタートオブパケットが付加されたパラレル形式のデータを、８Ｂ１０Ｂ符号化方式に従ってビット数変換する。
【００８３】
ステップＳ１０６において、誤り訂正符号生成部１２６によって、上記ステップＳ１０４でビット数変換されたパラレル形式のデータから、誤り訂正符号を生成する。
【００８４】
ステップＳ１０８において、上記ステップＳ１０４でビット数変換されたパラレル形式のデータに、上記ステップＳ１０６で生成された誤り訂正符号を付加して、パケットを生成する。
【００８５】
ステップＳ１１０において、パラレルシリアル（Ｐ／Ｓ）変換部１２８によって、上記ステップＳ１０８で生成されたパケットをシリアル形式のデータに変換する。
【００８６】
ステップＳ１１２において、送信部１３０によって、上記ステップＳ１１０で変換されたシリアル形式のデータを伝送路１６へ出力して、符号化処理ルーチンを終了する。
【００８７】
＜復号化装置側の処理＞
次に、復号化装置１４側で実行される処理について説明する。
図１１は復号化装置１４によって実行される復号化処理ルーチンの手順の一例を示すフローチャートである。復号化装置１４は、復号化対象のデータを受信すると、図１１に示す復号化処理ルーチンを実行する。
【００８８】
ステップＳ２００において、受信部１４０によって、符号化装置１２によって伝送路１６を介して送信されたシリアル形式のデータを受信する。
【００８９】
ステップＳ２０１において、シリアルパラレル（Ｓ／Ｐ）変換部１４２によって、上記ステップＳ２００で受け付けたシリアル形式のデータをパラレル形式のデータに変換する。
【００９０】
ステップＳ２０２において、シリアルパラレル（Ｓ／Ｐ）変換部１４２によって、上記ステップＳ２０１で変換されたパラレル形式のデータを、バッファ１４４に格納する。
【００９１】
ステップＳ２０４において、ＳＯＰ検出部１４６によって、上記ステップＳ２０１で変換されたパラレル形式のデータから、スタートオブパケット（ＳＯＰ）を検出し、パラレル形式のデータからスタートオブパケット（ＳＯＰ）を除いたパラレル形式のデータを出力する。
【００９２】
ステップＳ２０６において、誤り訂正符号演算部１４８によって、上記ステップＳ２０１で変換されたパラレルデータに含まれる誤り訂正符号の冗長ビットからシンドロームを算出する。
【００９３】
ステップＳ２０８において、誤り訂正符号演算部１４８によって、上記ステップＳ２０６で算出されたシンドロームが０であるか否かを判定する。シンドロームが０である場合には、ステップＳ２１６へ移行する。一方。シンドロームが０でない場合には、ステップＳ２１０へ進む。
【００９４】
ステップＳ２１０において、誤り訂正符号演算部１４８によって、上記ステップＳ２０１で変換されたパラレルデータに含まれる誤り訂正符号のパリティ検査ビットが０であるか否かを判定する。パリティ検査ビットが０である場合には、ステップＳ２１４へ進む。一方、パリティ検査ビットが０でない場合には、ステップＳ２１２へ進む。
【００９５】
ステップＳ２１２において、誤り訂正部１５０によって、上記ステップＳ２０２でバッファ１４４に格納されたデータに対し、１ビットの誤り訂正を行う。
【００９６】
ステップＳ２１４において、誤り訂正符号演算部１４８によって、偶数個のビットの誤りを検出する。
【００９７】
ステップＳ２１６において、ＤＣバランス補償データ付加部１５２によって、バッファ１４４に格納されたパラレル形式のデータに含まれる誤り訂正符号の代わりに、ＤＣバランスが保たれたダミービットを付加する。
【００９８】
ステップＳ２１８において、８Ｂ１０Ｂ逆変換部１５４によって、バッファ１４４に格納されたパラレル形式のデータを、８Ｂ１０Ｂの符号化方式に従って復号して出力する。
【００９９】
ステップＳ２２０において、８Ｂ１０Ｂ逆変換部１５４によって、予め定められた変換テーブルとランニングディスパリティの値とを用いて、上記ステップＳ２１８での復号化によって復号化エラーが発生したか否かを判定する。復号化エラーが発生した場合には、ステップＳ２２２へ進む。一方、復号化エラーが発生しなかった場合には、ステップＳ２２４へ進む。
【０１００】
ステップＳ２２２において、逆変換誤り検出部１５６によって、データに３ビット以上の奇数個のビットの誤りがあることを検出する。
【０１０１】
ステップＳ２２３において、８Ｂ１０Ｂエラーカウント部１５８は、復号化エラーの回数を１だけインクリメントする。
【０１０２】
ステップＳ２２４において、バッファ１４４に格納されたパラレル形式のデータを出力して、復号化処理ルーチンを終了する。
【０１０３】
ステップＳ２２６において、上記ステップＳ２１４で検出された偶数個のビットの誤り又は上記ステップＳ２２２で検出された３ビット以上の奇数個のビットの誤りを結果として出力して、復号化処理ルーチンを終了する。
【０１０４】
＜第２の実施の形態＞
第１の実施の形態では、復号化装置１４が誤り訂正部１５０を備え、誤り訂正部１５０は、データに奇数個のビットの誤りがある場合に、バッファ１４４に格納されたデータに対し、１ビットの誤り訂正を行う場合を例に説明した。これに対し、第２の実施の形態では、データに奇数個のビットの誤りがある場合であっても、１ビットの誤り訂正を行わない場合を例に説明する。なお、前述した第１の実施の形態の復号化装置１４と同様の構成については、第１の実施の形態と同一の符号を付与してその説明を省略する。
【０１０５】
図１２は第２の実施の形態に係る復号化装置２１４の構成の一例を示すブロック図である。図１２に示すように、復号化装置１４は、受信部１４０、シリアルパラレル（Ｓ／Ｐ）変換部１４２、バッファ１４４、ＳＯＰ検出部１４６、検出部２４７、ＤＣバランス補償データ付加部１５２、８Ｂ１０Ｂ逆変換部１５４、８Ｂ１０Ｂエラーカウント部１５８、判定部１６０、エラー出力部１６２、及びデータ出力部１６４を備えている。
【０１０６】
検出部２４７は、シンドロームの値が０でなく、かつ、パリティ検査データの値が１であり、かつ、８Ｂ１０Ｂ逆変換部１５４によるデータに対する復号化でエラーが発生した場合に、当該データに奇数個のビットの誤りがあることを検出する。
【０１０７】
第２の実施の形態では、データに対して１ビットの誤り訂正を行わないため、当該データに１ビット以上の奇数個のビットの誤りがあることが検出される。
【０１０８】
なお、上記の実施の形態で説明した情報伝送システムの構成は一例であり、本発明の主旨を逸脱しない範囲内においてその構成を変更してもよいことは言うまでもない。例えば、符号化装置と復号化装置とを有する情報伝送システムとして説明したが、符号化手段と復号化手段とを兼ね備える装置とし、装置間でシリアル伝送を行う情報伝送システムとしてもよい。また、ビット数変換も８Ｂ１０Ｂのみでなく、”１“と”０“の個数の差が＋２／０／−２となるような変換が出来て、ランニングディスパリティがプラスの場合は”１“と”０“の個数の差が−２の符号を、ランニングディスパリティがマイナスの場合は”１“と”０“の個数の差が＋２の符号を送出し、ランニングディスパリティの極性を変化させ、”１“と”０“の個数の差が０の符号を送出した場合は、ランニングディスパリティを変化させないような制御をすることで、１０Ｂ１２Ｂのようなビット数変換も可能である。
【０１０９】
本発明を通信手段により提供することはもちろん、ＣＤＲＯＭ等の記録媒体に格納して提供することも可能である。
【符号の説明】
【０１１０】
１０   情報伝送システム
１２   符号化装置
１４，２１４  復号化装置
１６   伝送路
１２０ データ受付部
１２２ ヘッダスタートオブパケット（Ｈｅａｄｅｒ／ＳＯＰ）生成部
１２３ 変換部
１２４ ８Ｂ１０Ｂ変換部
１２６ 誤り訂正符号生成部
１２８ パラレルシリアル（Ｐ／Ｓ）変換部
１３０ 送信部
１４０ 受信部
１４２ シリアルパラレル（Ｓ／Ｐ）変換部
１４４ バッファ
１４６ ＳＯＰ検出部
１４７，２４７  検出部
１４８ 誤り訂正符号演算部
１５０ 誤り訂正部
１５２ ＤＣバランス補償データ付加部
１５４ ８Ｂ１０Ｂ逆変換部
１５６ 逆変換誤り検出部
１５８ ８Ｂ１０Ｂエラーカウント部
１６０ 判定部
１６２ エラー出力部
１６４ データ出力部
【図１】
0006417937.tif 000003
【図２】
0006417937.tif 000004
【図３】
0006417937.tif 000005
【図４】
0006417937.tif 000006
【図５】
0006417937.tif 000007
【図６】
0006417937.tif 000008
【図７】
0006417937.tif 000009
【図８】
0006417937.tif 000010
【図９】
0006417937.tif 000011
【図１０】
0006417937.tif 000012
【図１１】
0006417937.tif 000013
【図１２】
0006417937.tif 000014