復号化装置、プログラム及び情報伝送システム

申请号 JP2014265490 申请日 2014-12-26 公开(公告)号 JP6417937B2 公开(公告)日 2018-11-07
申请人 富士ゼロックス株式会社; 发明人 浜田 勉; 粟田 恵徳; 宇賀神 淳;
摘要
权利要求

第1の符号の出現頻度と第2の符号の出現頻度との比率が予め定められた比率となるようにビット数変換符号化されたデータであり、かつ前記データの誤り位置を算出するための冗長データ、及び前記データのパリティ検査データを含む誤り訂正符号が付与されたデータを受信する受信手段と、 前記受信手段によって受信された前記データに付与された誤り訂正符号に含まれる前記冗長データから算出される誤り位置に対応したシンドロームの値が予め定められた第1の値であり、かつ、前記データに対する復号化でエラーが発生した場合、又は前記シンドロームの値が前記第1の値でなく、かつ、前記パリティ検査データの値が予め定められた第2の値であり、かつ、前記データに対する復号化でエラーが発生した場合に、前記データに奇数個のビットの誤りがあることを検出する検出手段と、 を備えた復号化装置。前記検出手段は、前記シンドロームの値が前記第1の値でなく、かつ、前記パリティ検査データの値が前記第2の値でない場合に、前記データに偶数個のビットの誤りがあることを検出する 請求項1に記載の復号化装置。前記検出手段は、前記シンドロームの値が前記第1の値でなく、かつ、前記パリティ検査データの値が予め定められた第2の値であり、かつ、前記シンドロームを用いた誤り訂正を行った前記データに対する復号化でエラーが発生した場合に、前記データに3ビット以上の奇数個のビットの誤りがあることを検出する 請求項1又は請求項2に記載の復号化装置。第1の符号の出現頻度と第2の符号の出現頻度との比率が予め定められた比率となるように保たれるようにデータをビット数変換符号化し、前記データの誤り位置を算出するための冗長データ、及び前記データのパリティ検査データを含む誤り訂正符号を生成し、前記生成された前記誤り訂正符号を前記符号化されたデータに付加する変換手段、及び 前記変換手段によって得られた前記データを送信する送信手段を備えた符号化装置と、 請求項1〜請求項3の何れか1項に記載の復号化装置と、 を備えた情報伝送システム。コンピュータを、請求項1〜請求項3の何れか1項に記載の復号化装置を構成する各手段として機能させるためのプログラム。

说明书全文

本発明は、復号化装置、プログラム及び情報伝送システムに関する。

特許文献1には、情報ブロック伝送方式において、送信側ノードは、第一の誤り訂正符号符号化部により誤り訂正符号化された情報ブロックをさらにマトリクスの行ごとに誤り訂正符号化する第二の誤り訂正符号符号化手段を含み、受信側ノードは、この第二の誤り訂正符号符号化手段により行ごとに誤り訂正符号化された情報ブロックを行ごとに復号化し第一の誤り訂正符号復号化部に与える第二の誤り訂正符号復号化手段を含むことを特徴とする情報ブロック伝送方式が開示されている。

特許文献2には、第1の符号及び第2の符号により構成され、当該第1の符号の数と当該第2の符号の数との差が0であるNビットのパターンをデータに付加する第1のパターン付加部と、パターンが付加されたデータを、DCバランスが保たれるように符号化する符号化部と、伝送中に生じるデータの誤りを検出する符号を、DCバランスが保たれたNビットの符号に変換し、当該Nビットの符号をパターンに代えてデータに付加する誤り検出符号付加部と、符号が付加されたデータをシリアル通信で送信する送信部とを備える送信装置と、送信部から送信されたデータを受信する受信部と、受信されたデータに付加された符号を用いてデータの誤り検出を行う誤り検出部と、誤り検出後、データに付加された符号に代えてパターンを付加する第2のパターン付加部と、パターンが付加されたデータを復号する復号部と、復号されたデータからパターンを削除するパターン削除部とを備える受信装置とを備えることを特徴とするシリアル通信システムが開示されている。

特許文献3には、ビット単位の複数の送信データにより構成されたフレームを順次形成するフレーム形成部と、フレーム形成部により順次形成された複数のフレームを時系列的に並列に配置したとき、複数のフレームに含まれる複数の送信データのうち所定の位置に配置された複数の送信データを算出元データとして誤り訂正符号を算出し、その算出した誤り訂正符号をビット単位の複数の分割データに分割して複数のフレームに付加する誤り訂正符号付加部と、複数のフレームに誤り訂正符号が付加された誤り訂正符号付きフレームを伝送路を介して順次送信する送信部と、伝送路を介して誤り訂正符号付きフレームを順次受信する受信部と、受信部により順次受信された複数の誤り訂正符号付きフレームにそれぞれ含まれる複数の分割データから誤り訂正符号を取得し、その取得した誤り訂正符号に基づいて、算出元データに対して誤り検出及び訂正を行う誤り検出訂正部とを備えたデータ伝送装置が開示されている。

特許文献4には、受信信号をパリティ検査して1ビットの誤りの有無を検査するパリティ検査ステップと、パリティ検査ビットを除いた受信信号を生成多項式で割って1ビットもしくは2ビットの誤りの有無を検査する巡回ハミング符号検査ステップと、巡回ハミング符号検査ステップで誤りが検出されなかった場合には誤りが発生しなかったと判断し、パリティ検査ステップでも巡回ハミング符号検査ステップでも誤りが検出された場合には1ビットの誤りが発生したと判断し、巡回ハミング符号検査ステップにおいてのみ誤りが検出された場合には2ビットの誤りもしくは伝送異常が発生したと判断する判断ステップと、からなる受信信号の誤り検出方法が開示されている。

特開平05-284148号公報

特開2013-239940号公報

特開2009-141453号公報

特開2001-102938号公報

本発明の目的は、誤り訂正符号を用いて誤り検出を行う場合と比較して、奇数個のビットの誤りが精度よく検出される復号化装置、プログラム及び情報伝送システムを提供することにある。

請求項1に係る発明は、第1の符号の出現頻度と第2の符号の出現頻度との比率が予め定められた比率となるようにビット数変換符号化されたデータであり、かつ前記データの誤り位置を算出するための冗長データ、及び前記データのパリティ検査データを含む誤り訂正符号が付与されたデータを受信する受信手段と、前記受信手段によって受信された前記データに付与された誤り訂正符号に含まれる前記冗長データから算出される誤り位置に対応したシンドロームの値が予め定められた第1の値であり、かつ、前記データに対する復号化でエラーが発生した場合、又は前記シンドロームの値が前記第1の値でなく、かつ、前記パリティ検査データの値が予め定められた第2の値であり、かつ、前記データに対する復号化でエラーが発生した場合に、前記データに奇数個のビットの誤りがあることを検出する検出手段と、を備えた復号化装置である。

請求項2に係る発明は、前記検出手段は、前記シンドロームの値が前記第1の値でなく、かつ、前記パリティ検査データの値が前記第2の値でない場合に、前記データに偶数個のビットの誤りがあることを検出する、請求項1に記載の復号化装置である。

請求項3に係る発明は、前記検出手段は、前記シンドロームの値が前記第1の値でなく、かつ、前記パリティ検査データの値が予め定められた第2の値であり、かつ、前記シンドロームを用いた誤り訂正を行った前記データに対する復号化でエラーが発生した場合に、前記データに3ビット以上の奇数個のビットの誤りがあることを検出する、請求項1又は請求項2に記載の復号化装置である。

請求項4に係る発明は、第1の符号の出現頻度と第2の符号の出現頻度との比率が予め定められた比率となるように保たれるようにデータをビット数変換符号化し、前記データの誤り位置を算出するための冗長データ、及び前記データのパリティ検査データを含む誤り訂正符号を生成し、前記生成された前記誤り訂正符号を前記符号化されたデータに付加する変換手段、及び前記変換手段によって得られた前記データを送信する送信手段を備えた符号化装置と、請求項1〜請求項3の何れか1項に記載の復号化装置と、を備えた情報伝送システムである。

請求項5に係る発明は、コンピュータを、請求項1〜請求項3の何れか1項に記載の復号化装置を構成する各手段として機能させるためのプログラムである。

請求項1、請求項4、請求項5に係る発明によれば、誤り訂正符号を用いて誤り検出を行う場合と比較して、奇数個のビットの誤りが精度よく検出される。

請求項2、請求項3に係る発明によれば、更に、偶数個のビットの誤りが検出される。

請求項4に係る発明によれば、誤り訂正符号を用いて誤り検出を行う場合と比較して、3ビット以上の奇数個のビットの誤りが精度よく検出される。

本発明の第1の実施の形態に係る情報伝送システムの構成の一例を示す概略図である。

第1の実施の形態に係る符号化装置の構成の一例を示すブロック図である。

(A)から(E)は符号化装置の動作を説明するための図である。

(A)は誤り訂正符号の一例を示す図であり、(B)は送信されるデータの一例を示す図である。

第1の実施の形態に係る復号化装置の構成の一例を示すブロック図である。

(A)から(E)は復号化装置の動作を説明するための図である。

復号化エラーの検出の動作を説明するための図である。

(A)は1ビット誤りの訂正の動作を説明するための図であり、(B)は2ビット誤り検出の動作を説明するための図である。

(A)及び(B)は3ビット誤り検出の動作を説明するための図である。

第1の実施の形態に係る符号化装置によって実行される符号化処理ルーチンの内容を表す図である。

第1の実施の形態に係る復号化装置によって実行される復号化処理ルーチンの内容を表す図である。

第2の実施の形態に係る復号化装置の構成の一例を示すブロック図である。

以下、図面を参照して本発明の実施の形態について説明する。なお、以下では、2つの装置間でシリアル伝送にて情報の送受信を行う情報伝送システムに本発明を適用した場合について説明する。

<情報伝送システム> まず、本発明の実施の形態に係る情報伝送システムの概略構成について説明する。図1は本発明の実施の形態に係る情報伝送システムの構成の一例を示す概略図である。図1に示すように、情報伝送システム10は、情報を送信する符号化装置12と情報を受信する復号化装置14とを備えている。

符号化装置12と復号化装置14とは、伝送路16で接続されている。伝送路16は、符号化装置12から復号化装置14へ情報をシリアル伝送するための伝送路である。

(符号化装置) 次に、符号化装置12の構成について説明する。図2は符号化装置の構成の一例を示すブロック図である。図2に示すように、符号化装置12は、データ受付部120、ヘッダスタートオブパケット(Header/SOP)生成部122、変換部123、及び送信部130を備えている。符号化装置12は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、ゲートアレイなどの回路(IC:Integrated Circuit)により実装される。また、符号化装置12が備える上記各機能部は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等を備えたコンピュータにより実現し、CPUが、ROMに記憶されているプログラムを実行することにより、各機能部における各機能が実行されるように構成してもよい。

データ受付部120は、パラレル形式のデータを受け付ける。本実施の形態では、16ビット×nブロックのパラレル形式のデータを用いる場合を例に説明する。図3(A)に、16ビット×nブロックのパラレル形式のデータの一例を示す。データ受付部120は、16ビット×nブロックのパラレル形式のデータを受け付ける。

ヘッダスタートオブパケット(Header/SOP)生成部122は、データ受付部120によって受け付けたパラレル形式のデータを取得して、取得したパラレル形式のデータからヘッダとスタートオブパケットとを生成して出する。また、ヘッダスタートオブパケット(Header/SOP)生成部122は、スタートオブパケットの種別を表すデータ(1ビット)を出力する。

変換部123は、データ受付部120によって受け付けたパラレル形式のデータと、ヘッダスタートオブパケット(Header/SOP)生成部122によって生成されたヘッダ及びスタートオブパケットとを取得する。そして、変換部123は、DC(Direct Current)バランスが保たれるように当該データを符号化し、当該データのシンドロームを算出するための冗長データ、当該データのパリティ検査データ、及びDCバランスを保つためのダミーデータを含む誤り訂正符号を生成し、生成された誤り訂正符号を符号化された当該データに付加する。変換部123は、8B10B変換部124、誤り訂正符号生成部126、及びパラレルシリアル(P/S)変換部128を備えている。

8B10B変換部124は、データ受付部120によって受け付けたパラレル形式のデータと、ヘッダスタートオブパケット(Header/SOP)生成部122によって生成されたヘッダ及びスタートオブパケットを取得し、取得したパラレル形式のデータにヘッダ及びスタートオブパケットを付加する。また、8B10B変換部124は、ヘッダスタートオブパケット(Header/SOP)生成部122によって出力されたスタートオブパケットの種別を表すデータ(1ビット)を取得し、スタートオブパケットの種別に応じた8B10B符号化方式の変換テーブルを用いる。なお、スタートオブパケットには、例えばK28.1コードとD28.6コードとが用いられる。

また、8B10B変換部124は、図3(C)に示すように、ヘッダ及びスタートオブパケットが付加されたパラレル形式のデータを、予め定められた符号化方式に従って符号化し、ビット数を変換する。本実施の形態では、8B10B符号化方式によってビット数を変換する場合を例に説明する。具体的は、8B10B変換部124は、8B10B符号化方式に従って、8ビットの情報を10ビットの情報へ変換する。8B10B符号化方式では、予め定められた変換テーブルを用いて、8ビットの情報を10ビットの情報へ変換する。また、8B10B符号化方式では、変換後のデータ上で1または0の均等なバランスとなるように変換するパターンが選択される。本実施の形態では、16ビット×nブロックのデータを対象とするため、16ビットのデータは、図3(C)に示すように、20ビットのデータに変換される。

8B10B符号化方式では、DC(Direct Current)バランスが保たれるように、8ビットの情報が10ビットの情報へ変換される。DCバランスとは、1と0の数の比率をいう。また、DCバランスを保つとは、1の出現頻度と0の出現頻度との比率が、予め定められた比率となるようにすることをいい、例えば均一化することをいう。本実施の形態では、第1の符号として「0」を用い、第2の符号として「1」を用いる。例えば、データを伝送方向に沿ってみたときに、1と0とが決められた数以上連続しないようにビットを配列することにより、DCバランスの保たれたデータが生成される。

ランニングディスパリティとは、8B10B符号化方式で符号化されたデータにおいて、直前の符号のランニングディスパリティがプラスであれば次はマイナスの符号を、逆にランニングディスパリティがマイナスなら次はプラスの符号を送出する。これも1または0を連続させない仕組みの一環である。ただし、1の数と0の数が同じであれば、ランニングディスパリティの極性は継続される。

また、8B10B符号化方式では、8ビットの入力データに対応する10ビットの符号は、ランニングディスパリティが「マイナス」と「プラス」の2つの状態のそれぞれに対して個別に規定される。

現在のランニングディスパリティ状態がマイナスに対する符号は、「1」の個数が「0」の個数と等しい(中立のディスパリティを持つ)か、または「1」の個数が「0」の個数より多い(正のディスパリティを持つ)符号である。一方、現在のランニングディスパリティ状態がプラスに対する符号は、中立のディスパリティを持つか、または「1」の個数が「0」の個数より少ない(負のディスパリティを持つ)符号である。

そして、例えば、現在のランニングディスパリティ状態がマイナスにおいて正のディスパリティを有する符号を出力した場合は、次のランニングディスパリティの状態をプラスにすることにより、少なくとも次の出力ビット列では正のディスパリティが生じないようにする。中立のディスパリティを有する符号を出力した場合、次のランニングディスパリティの状態をマイナスに維持する。

また、現在のランニングディスパリティ状態がプラスにおいて負のディスパリティを有する符号を出力した場合は、次のランニングディスパリティの状態をマイナスにすることにより、少なくとも次の出力ビット列では負のディスパリティが生じないようにする。中立のディスパリティを有する符号を出力した場合、次のランニングディスパリティの状態をプラスに維持する。

このように、8B10B符号化方式では、直前のRD値に応じて、出力ビットをマイナスに対応するものとするかプラスに対応するものとするかを選択する符号化規則を用いることで、出力ビット列の「0」と「1」の数が等しく、又はほぼ等しくなるように制御する。

誤り訂正符号生成部126は、8B10B変換部124によって変換されたパラレル形式のデータから、誤り訂正符号(ECC:Error Correcting Code)を生成する。本実施の形態で用いる誤り訂正符号には、データの誤り位置に対応したシンドロームを算出するための冗長ビット、パリティ検査符号、及びDCバランスをニュートラルに保つためのダミービットが含まれている。本実施の形態では、拡張ハミング符号によって得られるパリティ検査符号を用いる。拡張ハミング符号によって得られるパリティ検査符号を用いることにより、1ビットの誤りが訂正され、偶数ビットの誤りが検出される。

図4(A)に、誤り訂正符号の一例を示す。本実施の形態では、図4(A)に示すように、シンドローム(S0〜S9)を算出するための冗長ビットを10ビットとパリティ検査ビットP0とを合わせた11ビットに、DCバランスを保つためのダミービットを付加した計20ビットの誤り訂正符号を生成する。

パラレルシリアル(P/S:Parallel to Serial)変換部128は、図3(D)に示すように、8B10B変換部124によって変換された20ビットのパラレル形式のデータに、誤り訂正符号生成部126によって生成された20ビットの誤り訂正符号を付加する。そして、パラレルシリアル(P/S)変換部128は、誤り訂正符号が付加されたパラレル形式のデータをシリアルのビット列に変換する。本実施の形態では、20×nビットのデータにヘッダの20ビット及び誤り訂正符号を20ビット付加し、20×(n+2)ビットのデータをパラレル-シリアル変換して、後述する送信部130によってパケットとして送信する。

送信部130は、パラレルシリアル(P/S)変換部128によって変換されたシリアル形式のデータを伝送路16へ出力する。送信部130によって出力されるデータの一例を図3(D)に示す。また、送信部130は、図4(B)に示すように、パケットを送信しない場合には、IDLE信号を送信する。IDLE信号は、パケットの前後の空き区間に挿入される。IDLE信号には、例えばK28.5コードとD0.0コードが用いられる。

(復号化装置) 次に、復号化装置14の構成について説明する。図5は復号化装置の構成の一例を示すブロック図である。図5に示すように、復号化装置14は、受信部140、シリアルパラレル(S/P)変換部142、バッファ144、SOP検出部146、検出部147、DCバランス補償データ付加部152、8B10B逆変換部154、8B10Bエラーカウント部158、判定部160、エラー出力部162、及びデータ出力部164を備えている。復号化装置14は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、ゲートアレイなどの回路(IC:Integrated Circuit)により実装される。また、復号化装置14が備える上記各機能部は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等を備えたコンピュータにより実現し、CPUが、ROMに記憶されているプログラムを実行することにより、各機能部における各機能が実行されるように構成してもよい。

受信部140は、符号化装置12によって伝送路16を介して送信されたシリアル形式のデータを受信する。受信部140が受信するシリアル形式のデータは、DCバランスが保たれるように符号化されたデータであり、かつ誤り訂正符号が付与されているデータである。誤り訂正符号には、データの誤り位置を算出するための冗長ビット、データのパリティ検査ビット、及びDCバランスを保つためのダミーデータが含まれている。図6(A)に、受信部140が受け付けるシリアル形式のデータの一例を示す。

シリアルパラレル(S/P)変換部142は、受信部140によって受け付けたシリアル形式のデータをパラレル形式のデータに変換する。また、シリアルパラレル(S/P)変換部142は、変換したパラレル形式のデータをバッファ144に格納する。

バッファ144には、シリアルパラレル(S/P:Serial to Parallel)変換部142によって変換されたパラレル形式のデータが格納される。

SOP検出部146は、シリアルパラレル(S/P)変換部142によって変換されたパラレル形式のデータから、スタートオブパケット(SOP)を検出し、パラレル形式のデータからスタートオブパケット(SOP)を除いたデータを出力する。

検出部147は、SOP検出部146によって出力されたパラレル形式のデータに付与された誤り訂正符号に含まれる冗長ビットから、誤り位置に対応したシンドロームを算出する。

そして、検出部147は、シンドロームの値が0でなく、かつ、パリティ検査ビットの値が0である場合に、当該データに偶数個のビットの誤りがあることを検出する。本実施の形態では、予め定められた第1の値として「0」を用い、予め定められた第2の値として「1」を用いる。

また、検出部147は、シンドロームの値が0でなく、かつ、パリティ検査ビットの値が1であり、かつ、後述する誤り訂正部150によってシンドロームの値に応じたビット誤り訂正を行った当該データに対する復号化でエラーが発生した場合に、当該データに3ビット以上の奇数個のビットの誤りがあることを検出する。

検出部147は、誤り訂正符号演算部148、誤り訂正部150、及び逆変換誤り検出部156を備えている。

誤り訂正符号演算部148は、図6(B)に示すようなSOP検出部146によって出力されたパラレル形式のデータに含まれる誤り訂正符号を用いて、パラレル形式のデータのビットの誤りを検出する。具体的には、誤り訂正符号演算部148は、パラレルデータに含まれる誤り訂正符号の冗長ビットから誤り位置に対応したシンドロームを算出する。そして、誤り訂正符号演算部148は、算出したシンドロームと誤り訂正符号に含まれるパリティ検査ビットとの組み合わせに基づいて、1ビットの誤り又は偶数個のビットの誤りを検出する。

より具体的には、誤り訂正符号演算部148は、算出したシンドロームが0でなく、かつ誤り訂正符号に含まれるパリティ検査ビットが0である場合に、パラレルデータの偶数個のビットの誤りを検出し、検出結果をエラー出力部162へ出力する。また、誤り訂正符号演算部148は、算出したシンドロームが0でなく、かつ誤り訂正符号に含まれるパリティ検査ビットが1である場合に、パラレルデータの奇数個のビットの誤りを検出し、検出結果を誤り訂正部150と逆変換誤り検出部156へ出力する。

誤り訂正符号演算部148によって算出されるシンドロームの値が0の場合も、3ビットの誤りが存在する場合があるため、本実施の形態では、後述する8B10B逆変換部154によって発生する復号化エラーをチェックして3ビットの誤りを検出する。

誤り位置に対応するシンドロームは、以下の式に示すように、誤りパターンeを用いて表される。

ここで、i,j,k,mはビットの誤りの位置を表す。上記式に示すように、3ビットの誤りが発生したときのシンドロームは上式でi,j,kがお互いに異なる場合は、i,j,kと異なる位置mとなり、後述する誤り訂正部150によって誤った誤り訂正がされる。

また、例えば誤りパターンei=010000(16ビット目が誤りビット)、ej=100000(32ビット目が誤りビット)、ek=110000(48ビット目が誤りビット)の場合、上記式に従ってシンドロームを算出するとシンドロームSm=000000となり、ビットの誤りが有るにも関わらず、ビットの誤りが無しと判定されるため、本実施の形態では、後述する8B10B逆変換部154によって発生する復号化エラーをチェックして3ビットの誤りを検出する。

誤り訂正部150は、誤り訂正符号演算部148によって出力された検出結果に基づいて、パリティ検査ビットが1の場合、すなわち、奇数個のビットの誤りである場合に、バッファ144に格納されたデータに対し、1ビットの誤り訂正を行う。具体的には、誤り訂正部150は、誤り訂正符号演算部148によって算出されたシンドロームから、誤りビットの位置を取得し、当該位置に対応するビットの誤りを訂正する。

DCバランス補償データ付加部152は、図6(C)に示すように、バッファ144に格納されたパラレル形式のデータに含まれる誤り訂正符号の代わりに、DCバランスが保たれたダミービットを付加する。ダミービットはDCバランスを補償するためのものであり、例えば本実施の形態では、マーク率0.5の20ビットのデータを付加する。

8B10B逆変換部154は、バッファ144に格納されたパラレル形式のデータを、8B10Bの符号化方式に従って予め定められた変換テーブルを用いて復号して出力する。これにより、図6(D)に示すように、20ビットのデータが元の16ビットのデータに変換される。また、8B10B逆変換部154は、復号した16ビットのデータを、データ出力部164へ出力する。8B10B逆変換部154によって出力されるデータの一例を図6(E)に示す。

また、8B10B逆変換部154は、復号化エラーが発生した場合に、復号化エラーが発生したことを示す情報を、逆変換誤り検出部156へ出力する。8B10B逆変換部154は、予め定められた変換テーブルとランニングディスパリティとを用いて、誤り訂正符号演算部148によって算出シンドロームの値が0でなく、かつ、パリティ検査ビットの値が1であり、かつ、誤り訂正部150による誤り訂正を行った当該データに対する復号化でエラーが発生した場合に、当該データに3ビット以上の奇数個のビットの誤りがあることを検出する。

復号化エラーには、8B10B逆変換部154によって復号される復号対象のデータが予め定められた変換テーブルに存在しない符号外エラーと、8B10B逆変換部154によって復号される復号対象のデータのランニングディスパリティが均等でないことを表すランニングディスパリティエラーとを含む。

ビットの誤りが1ビットであれば、誤り訂正部150によって誤りビットが正しく訂正されるため、8B10B逆変換部154の復号処理による復号化エラーは発生しない。一方、ビットの誤りが3ビット以上の奇数ビットの場合は、誤り訂正部150によって訂正されるビットが間違ってしまうため、8B10B逆変換部154で復号化エラー(ランニングディスパリティエラーを含む)が発生する。

図7に、8B10B逆変換部154の復号処理によって生じる復号化エラーを説明するための説明図を示す。図7(A)は、符号化装置12の8B10B変換部124によって現在までに出力されたデータのランニングディスパリティ(RD)と、次に出力されるデータのビットパターンと、当該ビットパターンのマーク率を表す。また、図7(B)は、符号化装置12によって送信されたデータのビットパターンと、当該ビットパターンにビット誤りが発生してと、復号化装置14の8B10B逆変換部154による復号化処理によって発生する復号化エラーを表す。なお、図7(B)に示す、カッコ内の値は例えばデータが10ビットである場合の「1」の数を表す。また、「◎」は符号外エラーを表し、「○」はランニングディスパリティエラーを表し、「△」は後続するデータで発生するランニングディスパリティエラーを表す。

図7(A)に示すように、例えばランニングディスパリティの状態が「プラス」である場合、8B10B符号化方式によって出力されるビット列は、ビットパターンA又はCに対応するデータが出力される。一方、ランニングディスパリティの状態が「マイナス」である場合、8B10B符号化方式によって出力されるビット列は、ビットパターンB又はDに対応するデータが出力される。なお、図7(A)のビットパターンEは、マーク率が30%以下又は70%以上であるデータであり、8B10B符号化方式の変換テーブルに存在しないことを表す。

そして、図7(A)に示す各々のビットパターンが符号化装置12から復号化装置14へ送信されるときに、図7(B)に示すように、1ビットの誤りが発生したと仮定する。例えば、符号化装置12によってビットパターンA(5)が送信され、ビットパターンA(5)に1ビットの誤りが発生して、復号化装置14はビットパターンD(6)を受信する。そして、復号化装置14の8B10B逆変換部154は、ビットパターンD(6)のマーク率と現在のランニングディスパリティとから、ランニングディスパリティエラーが発生したと判断する。現在のランニングディスパリティはプラスであるにも関わらず、マーク率が60%(プラス)のデータを受信した場合、ランニングディスパリティエラーが発生したと判断される。

また、例えば、符号化装置12によってビットパターンA(5)が送信され、ビットパターンA(5)に1ビットの誤りが発生して、復号化装置14はビットパターンC(4)を受信する。この場合、復号化装置14の8B10B逆変換部154は、符号化装置12によって送信される後続データを受信した際に、ランニングディスパリティエラーが発生したと判断する。

また、例えば、符号化装置12によってビットパターンC(4)が送信され、ビットパターンC(4)に1ビットの誤りが発生して、復号化装置14はビットパターンE(3)を受信する。この場合、復号化装置14の逆変換誤り検出部156は、上記図7(A)のビットパターンE(3)は変換テーブルに存在しないため、符号外エラーを検出する。

ここで、ビットの誤りの種別について説明する。図8、及び図9にビットの誤りの一例を示す。

図8(A)に示すように、データ内のi番目のブロックに1ビットの誤りが発生した場合、誤り訂正符号演算部148によって算出されたシンドロームの値が0でなく、かつパリティ検査ビットが1となるため、シンドロームの値に応じて誤り位置が検出され、誤り訂正部150によって1ビットの誤りが訂正される。

また、図8(B)に示すように、データ内の1番目のブロックに1ビットの誤りが発生し、i番目のブロックに1ビットの誤りが発生して、合計2ビットの誤りが発生した場合、誤り訂正符号演算部148によって算出されたシンドロームの値が0でなく、かつパリティ検査ビットが0となるため、2ビットの誤りが検出される。

図9(A)に示すように、データ内の0番目のブロックに1ビットの誤りが発生し、1番目のブロックに1ビットの誤りが発生し、i番目のブロックに1ビットの誤りが発生して、合計3ビットの誤りが発生した場合であって、かつ誤り訂正符号演算部148によって算出されたシンドロームの値が0でなく、パリティ検査ビットが1となる場合、誤り訂正部150によってシンドロームの値に応じた誤り訂正がされる。しかし、3ビットの誤りの場合、誤り訂正符号演算部148によって算出されたシンドロームの値に応じて誤り訂正を行うと、実際のビットの誤り位置とは異なる位置に対応するビットが誤って訂正される。そして、8B10B逆変換部154によって復号処理が実行されると、上記図9(A)に示すように10ビット毎に1つのビット誤りがある場合には、ランニングディスパリティエラーが検出される。

また、図9(B)に示すように、データ内の1番目のブロックに1ビットの誤りが発生し、i番目のブロックに1ビットの誤りが発生し、j番目のブロックに1ビットの誤りが発生して、合計3ビットの誤りが発生した場合であって、かつ誤り訂正符号演算部148によって算出されたシンドロームの値が0であり、パリティ検査ビットが0となる場合、10ビット毎に1つのビット誤りがあれば、8B10B逆変換部154の復号処理によってランニングディスパリティエラーが検出される。

また、4ビット以上の偶数個のビットの誤りが発生した場合であって、かつ誤り訂正符号演算部148によって算出されたシンドロームの値が0以外であり、かつパリティ検査ビットが0となる場合、偶数個のビットの誤りが検出される。

また、4ビット以上の偶数個のビットの誤りが発生した場合であって、かつ誤り訂正符号演算部148によって算出されたシンドロームの値が0以外であり、かつパリティ検査ビットが0となる場合、10ビット毎に1つのビットの誤りがあれば、8B10B逆変換部154の復号処理によってランニングディスパリティエラーが検出される。

また、5ビット以上の奇数個のビットの誤りが発生した場合であって、かつ誤り訂正符号演算部148によって算出されたシンドロームの値が0以外であり、かつパリティ検査ビットが1となる場合、誤り訂正部150によって誤った訂正が実施され、10ビット毎に1つのビットの誤りがあれば、8B10B逆変換部154の復号処理によってランニングディスパリティエラーとなる。

また、5ビット以上の奇数個のビットの誤りが発生した場合であって、かつ誤り訂正符号演算部148によって算出されたシンドロームの値が0であり、かつパリティ検査ビットが1となる場合、10ビット毎に1つのビットの誤りがあれば、8B10B逆変換部154の復号処理によってランニングディスパリティエラーが検出される。

逆変換誤り検出部156は、8B10B逆変換部154によって復号化エラーが出力された場合には、パケットの範囲内で3ビット以上の誤りが発生したことを検出する。また、逆変換誤り検出部156は、3ビット以上の誤りが発生したことを示す情報を、8B10Bエラーカウント部158及び判定部160へ出力する。

8B10Bエラーカウント部158は、逆変換誤り検出部156によって検出された復号化エラーの回数をカウントする。そして、8B10Bエラーカウント部158は、復号化エラーの回数を出力する。情報伝送システム10は、復号化エラーの回数が予め定められた閾値以上である場合に、データの送受信を停止する。

判定部160は、SOP検出部146によってスタートオブパケットが検出された場合に、逆変換誤り検出部156によって検出された検出結果をエラー出力部162へ出力する。

エラー出力部162は、判定部160によって出力された3ビット以上の奇数個のビットの誤りの検出結果と、誤り訂正符号演算部148によって出力された偶数個のビットの誤りの検出結果とを結果として出力する。

データ出力部164は、エラー出力部162によって出力された検出結果に基づいて、ビットの誤りが無い場合に、8B10B逆変換部154によって出力された16ビットのデータを出力する。

<情報伝送システムの動作> 次に、情報伝送システム10の動作について説明する。上記の通り、情報伝送システム10の動作は、符号化装置12側と復号化装置14側とで実行される。

<符号化装置側の処理> まず、符号化装置12側で実行される処理について説明する。 図10は符号化装置12によって実行される符号化処理ルーチンの手順の一例を示すフローチャートである。符号化装置12は、符号化対象のパラレル形式のデータが入力されると、図10に示す符号化処理ルーチンを実行する。

ステップS100において、データ受付部120によってパラレル形式のデータを受け付ける。

ステップS102において、ヘッダスタートオブパケット(Header/SOP)生成部122によって、上記ステップS100で受け付けたパラレル形式のデータから、ヘッダ及びスタートオブパケットを生成する。

ステップS104において、8B10B変換部124によって、上記ステップS100で受け付けたパラレル形式のデータに、上記ステップS102で生成されたヘッダ及びスタートオブパケットを付加する。そして、8B10B変換部124によって、ヘッダ及びスタートオブパケットが付加されたパラレル形式のデータを、8B10B符号化方式に従ってビット数変換する。

ステップS106において、誤り訂正符号生成部126によって、上記ステップS104でビット数変換されたパラレル形式のデータから、誤り訂正符号を生成する。

ステップS108において、上記ステップS104でビット数変換されたパラレル形式のデータに、上記ステップS106で生成された誤り訂正符号を付加して、パケットを生成する。

ステップS110において、パラレルシリアル(P/S)変換部128によって、上記ステップS108で生成されたパケットをシリアル形式のデータに変換する。

ステップS112において、送信部130によって、上記ステップS110で変換されたシリアル形式のデータを伝送路16へ出力して、符号化処理ルーチンを終了する。

<復号化装置側の処理> 次に、復号化装置14側で実行される処理について説明する。 図11は復号化装置14によって実行される復号化処理ルーチンの手順の一例を示すフローチャートである。復号化装置14は、復号化対象のデータを受信すると、図11に示す復号化処理ルーチンを実行する。

ステップS200において、受信部140によって、符号化装置12によって伝送路16を介して送信されたシリアル形式のデータを受信する。

ステップS201において、シリアルパラレル(S/P)変換部142によって、上記ステップS200で受け付けたシリアル形式のデータをパラレル形式のデータに変換する。

ステップS202において、シリアルパラレル(S/P)変換部142によって、上記ステップS201で変換されたパラレル形式のデータを、バッファ144に格納する。

ステップS204において、SOP検出部146によって、上記ステップS201で変換されたパラレル形式のデータから、スタートオブパケット(SOP)を検出し、パラレル形式のデータからスタートオブパケット(SOP)を除いたパラレル形式のデータを出力する。

ステップS206において、誤り訂正符号演算部148によって、上記ステップS201で変換されたパラレルデータに含まれる誤り訂正符号の冗長ビットからシンドロームを算出する。

ステップS208において、誤り訂正符号演算部148によって、上記ステップS206で算出されたシンドロームが0であるか否かを判定する。シンドロームが0である場合には、ステップS216へ移行する。一方。シンドロームが0でない場合には、ステップS210へ進む。

ステップS210において、誤り訂正符号演算部148によって、上記ステップS201で変換されたパラレルデータに含まれる誤り訂正符号のパリティ検査ビットが0であるか否かを判定する。パリティ検査ビットが0である場合には、ステップS214へ進む。一方、パリティ検査ビットが0でない場合には、ステップS212へ進む。

ステップS212において、誤り訂正部150によって、上記ステップS202でバッファ144に格納されたデータに対し、1ビットの誤り訂正を行う。

ステップS214において、誤り訂正符号演算部148によって、偶数個のビットの誤りを検出する。

ステップS216において、DCバランス補償データ付加部152によって、バッファ144に格納されたパラレル形式のデータに含まれる誤り訂正符号の代わりに、DCバランスが保たれたダミービットを付加する。

ステップS218において、8B10B逆変換部154によって、バッファ144に格納されたパラレル形式のデータを、8B10Bの符号化方式に従って復号して出力する。

ステップS220において、8B10B逆変換部154によって、予め定められた変換テーブルとランニングディスパリティの値とを用いて、上記ステップS218での復号化によって復号化エラーが発生したか否かを判定する。復号化エラーが発生した場合には、ステップS222へ進む。一方、復号化エラーが発生しなかった場合には、ステップS224へ進む。

ステップS222において、逆変換誤り検出部156によって、データに3ビット以上の奇数個のビットの誤りがあることを検出する。

ステップS223において、8B10Bエラーカウント部158は、復号化エラーの回数を1だけインクリメントする。

ステップS224において、バッファ144に格納されたパラレル形式のデータを出力して、復号化処理ルーチンを終了する。

ステップS226において、上記ステップS214で検出された偶数個のビットの誤り又は上記ステップS222で検出された3ビット以上の奇数個のビットの誤りを結果として出力して、復号化処理ルーチンを終了する。

<第2の実施の形態> 第1の実施の形態では、復号化装置14が誤り訂正部150を備え、誤り訂正部150は、データに奇数個のビットの誤りがある場合に、バッファ144に格納されたデータに対し、1ビットの誤り訂正を行う場合を例に説明した。これに対し、第2の実施の形態では、データに奇数個のビットの誤りがある場合であっても、1ビットの誤り訂正を行わない場合を例に説明する。なお、前述した第1の実施の形態の復号化装置14と同様の構成については、第1の実施の形態と同一の符号を付与してその説明を省略する。

図12は第2の実施の形態に係る復号化装置214の構成の一例を示すブロック図である。図12に示すように、復号化装置14は、受信部140、シリアルパラレル(S/P)変換部142、バッファ144、SOP検出部146、検出部247、DCバランス補償データ付加部152、8B10B逆変換部154、8B10Bエラーカウント部158、判定部160、エラー出力部162、及びデータ出力部164を備えている。

検出部247は、シンドロームの値が0でなく、かつ、パリティ検査データの値が1であり、かつ、8B10B逆変換部154によるデータに対する復号化でエラーが発生した場合に、当該データに奇数個のビットの誤りがあることを検出する。

第2の実施の形態では、データに対して1ビットの誤り訂正を行わないため、当該データに1ビット以上の奇数個のビットの誤りがあることが検出される。

なお、上記の実施の形態で説明した情報伝送システムの構成は一例であり、本発明の主旨を逸脱しない範囲内においてその構成を変更してもよいことは言うまでもない。例えば、符号化装置と復号化装置とを有する情報伝送システムとして説明したが、符号化手段と復号化手段とを兼ね備える装置とし、装置間でシリアル伝送を行う情報伝送システムとしてもよい。また、ビット数変換も8B10Bのみでなく、”1“と”0“の個数の差が+2/0/−2となるような変換が出来て、ランニングディスパリティがプラスの場合は”1“と”0“の個数の差が−2の符号を、ランニングディスパリティがマイナスの場合は”1“と”0“の個数の差が+2の符号を送出し、ランニングディスパリティの極性を変化させ、”1“と”0“の個数の差が0の符号を送出した場合は、ランニングディスパリティを変化させないような制御をすることで、10B12Bのようなビット数変換も可能である。

本発明を通信手段により提供することはもちろん、CDROM等の記録媒体に格納して提供することも可能である。

10 情報伝送システム 12 符号化装置 14,214 復号化装置 16 伝送路 120 データ受付部 122 ヘッダスタートオブパケット(Header/SOP)生成部 123 変換部 124 8B10B変換部 126 誤り訂正符号生成部 128 パラレルシリアル(P/S)変換部 130 送信部 140 受信部 142 シリアルパラレル(S/P)変換部 144 バッファ 146 SOP検出部 147,247 検出部 148 誤り訂正符号演算部 150 誤り訂正部 152 DCバランス補償データ付加部 154 8B10B逆変換部 156 逆変換誤り検出部 158 8B10Bエラーカウント部 160 判定部 162 エラー出力部 164 データ出力部

QQ群二维码
意见反馈