(57)【要約】【課題】転送すべきデータに誤り検出及び誤り訂正が可能な符号を付加した場合に比較して、データ長を短縮することが可能な受信装置、データ転送装置、及びプログラムを提供する。【解決手段】受信装置３は、複数のビットからなる転送データと転送データの誤り検出のための誤り検出符号とを含むデータがＤＣバランス変換された変換データを受信する受信部３１と、受信部３１が受信したデータをＤＣバランス逆変換するＤＣバランス逆変換手段３２１ａと、ＤＣバランス逆変換手段３２１ａによる逆変換が不可能であった場合、受信部３１が受信したデータの一部のビットを反転して得られた反転データが逆変換可能であり、かつ誤り検出符号に基づき誤りが検出されなかったとき、その反転データの逆変換によって受信データの誤りを訂正する誤り訂正手段３２１ｃとを有する。【選択図】図５
2012124642.tif 000002
【特許請求の範囲】
【請求項１】
複数のビットからなる転送データと前記転送データの誤り検出のための誤り検出符号とを含むデータが予め定められた手順に基づいて変換された変換データを受信する受信部と、
前記受信部が受信した変換データを予め定められた手順に基づいて逆変換する逆変換手段と、
前記逆変換手段による逆変換が不可能であった場合に、前記受信した変換データの一部のビットを反転して得られた反転データが逆変換可能であり、かつ前記誤り検出符号に基づいて誤りが検出されなかったとき、当該反転データの逆変換によって誤りを訂正する誤り訂正手段とを備えた受信装置。
【請求項２】
前記逆変換手段は、前記受信部が受信した変換データを複数のビットからなるデータ単位で逆変換し、
前記誤り訂正手段は、前記逆変換が不可能であったデータ単位の複数のビットのうち一部のビットを反転した反転データを生成し、前記反転データが逆変換可能であり、かつ前記誤り検出符号に基づいて誤りが検出されなかったとき、当該反転データの逆変換によって誤りを訂正する請求項１に記載の受信装置。
【請求項３】
前記誤り訂正手段は、前記逆変換が不可能であったデータ単位の複数のビットのうち各１ビットを反転した反転データを生成し、前記１ビットを反転した反転データが逆変換可能であり、かつ前記誤り検出符号に基づく誤りが検出されるかを判定する第１の判定処理を行い、前記第１の判定処理で逆変換可能であり、かつ誤りが検出されない反転データが得られなかった場合に、前記逆変換が不可能であったデータ単位の複数のビットを反転した反転データを生成し、前記複数のビットを反転した反転データが逆変換可能であり、かつ前記誤り検出符号に基づく誤りが検出されるかを判定する第２の判定処理を行う請求項２に記載の受信装置。
【請求項４】
請求項１乃至３の何れか１項に記載の受信装置と、
複数ビットからなる転送データと前記転送データの誤り検出のための誤り検出符号とを含むデータを生成し、前記生成したデータを予め定められた手順に基づいて変換した変換データを送信する送信装置とを備えたデータ転送装置。
【請求項５】
予め定められた手順に基づいて変換された複数のビットからなる転送データ及び前記転送データの誤り検出のための誤り検出符号を含む受信データを取得するステップと、
前記受信データを予め定められた手順に基づいて逆変換するステップと、
前記逆変換が不可能であったとき、前記受信データの一部のビットを反転するステップと、
前記一部のビットを反転したデータが逆変換可能で、かつ前記誤り検出符号に基づく誤り検出で誤りが検出されなかった場合に、前記一部のビットを反転したデータの逆変換によって誤りを訂正するステップとを有する処理を受信装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信装置、データ転送装置、及びプログラムに関する。
【背景技術】
【０００２】
従来、通信線を介して送信される送信データに対して、ビット信号の「０」と「１」の数を均等化してＤＣバランスを改善する８Ｂ／１０Ｂ変換を行うデータ転送装置が知られている（例えば、特許文献１参照）。
【０００３】
特許文献１に記載のデータ転送装置は、データを送信する送信部と、伝送路を介して送信部が送信したデータを受信する受信部とを備えている。送信部は、予め定められた長さのフレームを形成し、このフレームにＤＣバランス変換を施し、さらに誤り検出及び誤り訂正が可能な誤り訂正符号を付加して受信部側に送信する。一方、受信部は、受信したデータに対してＤＣバランス逆変換を施すとともに誤り検出処理を行い、誤りが検出された場合には誤り訂正処理を行うように構成されている。
【０００４】
なお、このような１ビット誤り訂正および２ビット誤り検出が可能な誤り訂正符号は、誤りの検出のみが可能な誤り検出符号に比較して、符号化効率が悪くなることが知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２９４７５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、転送すべきデータに誤り検出及び誤り訂正が可能な符号を付加した場合に比較して、符号化効率を良くすることが可能な受信装置、データ転送装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
［１］複数のビットからなる転送データと前記転送データの誤り検出のための誤り検出符号とを含むデータが予め定められた手順に基づいて変換された変換データを受信する受信部と、前記受信部が受信した変換データを予め定められた手順に基づいて逆変換する逆変換手段と、前記逆変換手段による逆変換が不可能であった場合に、前記受信した変換データの一部のビットを反転して得られた反転データが逆変換可能であり、かつ前記誤り検出符号に基づいて誤りが検出されなかったとき、当該反転データの逆変換によって誤りを訂正する誤り訂正手段とを備えた受信装置。
【０００８】
［２］前記逆変換手段は、前記受信部が受信した変換データを複数のビットからなるデータ単位で逆変換し、前記誤り訂正手段は、前記逆変換が不可能であったデータ単位の複数のビットのうち一部のビットを反転した反転データを生成し、前記反転データが逆変換可能であり、かつ前記誤り検出符号に基づいて誤りが検出されなかったとき、当該反転データの逆変換によって誤りを訂正する前記［１］に記載の受信装置。
【０００９】
［３］前記誤り訂正手段は、前記逆変換が不可能であったデータ単位の複数のビットのうち各１ビットを反転した反転データを生成し、前記１ビットを反転した反転データが逆変換可能であり、かつ前記誤り検出符号に基づく誤りが検出されるかを判定する第１の判定処理を行い、前記第１の判定処理で逆変換可能であり、かつ誤りが検出されない反転データが得られなかった場合に、前記逆変換が不可能であったデータ単位の複数のビットを反転した反転データを生成し、前記複数のビットを反転した反転データが逆変換可能であり、かつ前記誤り検出符号に基づく誤りが検出されるかを判定する第２の判定処理を行う前記［２］に記載の受信装置。
【００１０】
［４］前記［１］から［３］の何れか１つに記載の受信装置と、複数ビットからなる転送データと前記転送データの誤り検出のための誤り検出符号とを含むデータを生成し、前記生成したデータを予め定められた手順に基づいて変換した変換データを送信する送信装置とを備えたデータ転送装置。
【００１１】
［５］予め定められた手順に基づいて変換された複数のビットからなる転送データ及び前記転送データの誤り検出のための誤り検出符号を含む受信データを取得するステップと、前記受信データを予め定められた手順に基づいて逆変換するステップと、前記逆変換が不可能であったとき、前記受信データの一部のビットを反転するステップと、前記一部のビットを反転したデータが逆変換可能で、かつ前記誤り検出符号に基づく誤り検出で誤りが検出されなかった場合に、前記一部のビットを反転したデータの逆変換によって誤りを訂正するステップとを有する処理を受信装置に実行させるプログラム。
【発明の効果】
【００１２】
請求項１，４，５に記載の発明によれば、転送すべきデータに誤り検出及び誤り訂正が可能な符号を付加した場合に比較して、符号化効率を良くすることが可能となる。
【００１３】
請求項２に記載の発明によれば、誤りが発生した箇所を絞り込んで誤りの訂正を行うことが可能となる。
【００１４】
請求項３に記載の発明によれば、誤りが複数ビットである場合にも誤りの訂正を行うことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施の形態に係るデータ転送装置の構成例を示すブロック図である。
【図２】ＤＣバランス変換前後のデータの一例を示す図である。
【図３】デコード部の構成例を示すブロック図である。
【図４】ＤＣバランス逆変換手段、誤り検出手段、及び誤り訂正手段が実行する処理の一例を示すフローチャートである。
【図５】誤り訂正手段が実行する誤り訂正処理の一例を示すフローチャートである。
【図６】誤り訂正手段による誤り訂正の具体例を示す図である。
【図７】本実施の第２の実施の形態に係る誤り訂正手段が実行する誤り訂正処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
［第１の実施の形態］
本発明の第１の実施の形態について、図１〜図６を参照して説明する。
【００１７】
（データ転送装置の構成）
図１は、本発明の第１の実施の形態に係るデータ転送装置の構成例を示すブロック図である。このデータ転送装置１は、送信装置２と、受信装置３と、送信装置２と受信装置３とを接続する通信線４とを有して構成されている。この通信線４としては、例えば互いに極性が反転した差動信号を伝送する一対の信号線からなる差動信号線を用いることができる。
【００１８】
（送信装置の構成）
送信装置２は、メモリインタフェース２１と、メモリインタフェース２１に接続されたメモリ２２と、誤り検出符号付加部２３と、ＤＣバランス変換部２４と、送信部２５とを有している。
【００１９】
メモリインタフェース２１は、外部の装置からの転送データを受け付け、ＲＡＭ（Random Access Memory）等の記憶装置からなるメモリ２２に一旦記憶する。また、メモリインタフェース２１は、メモリ２２に記憶された転送データを読み出して後段の誤り検出符号付加部２３に出力する。
【００２０】
誤り検出符号付加部２３は、メモリインタフェース２１から出力された転送データに基づいて、この転送データの誤り検出のための誤り検出符号を生成する。また、誤り検出符号付加部２３は、生成した誤り検出符号と、ヘッダ及びフッタとを転送データに転送データに付加し、後段のＤＣバランス変換部２４に出力する。
【００２１】
誤り検出符号付加部２３が生成及び付加する誤り検出符号は、例えばノイズ等の要因によるデータ転送時における誤りを検出することができるが、誤りの訂正は行うことができない符号である。この誤り検出符号としては、例えばＣＲＣ（Cyclic Redundancy Check：巡回冗長検査）符号を用いることができる。
【００２２】
ＤＣバランス変換部２４は、誤り検出符号付加部２３から出力された転送データ及び誤り検出符号を対象データとし、通信線４を介する送信時において「０」又は「１」の信号が長く連続しないよう、ＤＣバランスを改善するためのＤＣバランス変換を行う。
【００２３】
本実施の形態では、このＤＣバランス変換として８Ｂ／１０Ｂ変換を適用した場合について説明する。８Ｂ／１０Ｂ変換は、予め登録された変換テーブルを参照して８ビットのバイトデータを１０ビットのデータ単位のデータに変換するものである。８Ｂ／１０Ｂ変換により、例えば「00000000」の８ビットデータは「1001110100」の１０ビットデータに、「11111111」の８ビットデータは「1010110001」の１０ビットデータに変換される。なお、この８Ｂ／１０Ｂ変換により、２０％のオーバーヘッドが生じるが、シリアル伝送されるビット列に受信側における同期のためのクロック信号を埋め込むことができ、データとクロックとを同じ信号線で同時に送信することが可能となる。
【００２４】
ＤＣバランス変換部２４は、変換テーブルを参照して対象データを８ビット毎に１０ビットデータに変換した変換データを生成し、後段の送信部２５に出力する。
【００２５】
送信部２５は、ＤＣバランス変換部２４から出力された変換データをパラレル／シリアル変換し、差動トランシーバ等の送信回路によって通信線４を介して受信装置３に送信する。
【００２６】
図２（ａ）は、ＤＣバランス変換部２４によるＤＣバランス変換前のデータの一例を示し、図２（ｂ）はＤＣバランス変換されたパケット（変換データ）の一例を示す。
【００２７】
図２（ａ）に示すように、ＤＣバランス変換前のパケット１０は、転送データ１２に誤り検出符号としてのＣＲＣコード１３が付加され、この転送データ１２及びＣＲＣコード１３の前後に、ヘッダ１１及びフッタ１４が付加されている。この図に示す例では、転送データ１２が２５６バイト（２０４８ビット）、ＣＲＣコード１３が２バイト（１６ビット）、ヘッダ１１及びフッタ１４がそれぞれ２バイト（１６ビット）である。
【００２８】
また、ＤＣバランス変換後のパケット１０Ａは、転送データ１２Ａが２５６０ビット、ＣＲＣコード１３Ａが２０ビット、ヘッダ１１Ａ及びフッタ１４Ａがそれぞれ２０ビットである。このパケット１０Ａは、ＤＣバランス変換された変換データの一例である。
【００２９】
（受信装置の構成）
受信装置３は、通信線４に接続された受信部３１と、受信部３１によって受信したデータをデコードするデコード部３２と、メモリインタフェース３３と、メモリインタフェース３３に接続されたメモリ３４とを有している。
【００３０】
受信部３１は、通信線４を介して送信装置２から送信されたシリアルデータを受信し、シリアル／パラレル変換を行って後段のデコード部３２に出力する。
【００３１】
デコード部３２は、受信部３１から出力された受信データをデコードし、転送データを抽出してメモリインタフェース３３に出力する。デコード部３２の詳細については後述する。
【００３２】
メモリインタフェース３３は、デコード部３２から出力された転送データをＲＡＭ等の記憶装置からなるメモリ３４に記憶する。また、メモリインタフェース３３は、外部からの読み出し信号に応じて、メモリ３４に記憶した転送データを出力する。
【００３３】
（デコード部の構成）
図３は、デコード部３２の構成例を示すブロック図である。デコード部３２は、ＣＰＵ（Central Processing Unit：中央演算処理装置）等により構成される制御部３２１と、ＲＯＭ（Read Only Memory）やＲＡＭ等により構成される記憶部３２２とを有している。
【００３４】
制御部３２１は、記憶部３２２に記憶されたプログラム３２２ａに基づいて動作することにより、ＤＣバランス逆変換手段３２１ａ、誤り検出手段３２１ｂ、及び誤り訂正手段３２１ｃとして機能する。
【００３５】
記憶部３２２は、制御部を動作させるためのプログラム３２２ａ、及びＤＣバランス変換テーブル３２２ｂ等を記憶する。
【００３６】
ＤＣバランス逆変換手段３２１ａは、記憶部３２２に予め記憶されたＤＣバランス変換テーブル３２２ｂを参照し、受信部３１で受信した受信データに対してＤＣバランス逆変換を行う。ＤＣバランス変換テーブル３２２ｂには、送信装置２のＤＣバランス変換部２４が参照する変換テーブルに対応する内容が予め設定されている。
【００３７】
誤り検出手段３２１ｂは、ＤＣバランス逆変換手段３２１ａでＤＣバランス逆変換されたデータから転送データ及び誤り検出符号を抽出し、この転送データに誤りがないかを誤り検出符号を用いて検査する。
【００３８】
誤り訂正手段３２１ｃは、ＤＣバランス逆変換手段３２１ａにおけるＤＣバランス逆変換が不可能であったとき、受信部３１で受信した受信データ一部のビットを反転した反転データを生成し、この反転データがＤＣバランス逆変換可能であり、かつ誤り検出符号に基づく誤り検出で誤りが検出されなかった場合に、その反転データをＤＣバランス逆変換した訂正データをメモリインタフェース３３に出力する。
【００３９】
（デコード部の動作）
図４は、デコード部３２の制御部３２１が、ＤＣバランス逆変換手段３２１ａ、誤り検出手段３２１ｂ、及び誤り訂正手段３２１ｃとして実行する処理の一例を示すフローチャートである。
【００４０】
ＤＣバランス逆変換手段３２１ａは、受信部３１からパラレルデータに変換された受信データを１０ビットずつのデータ単位で取得し（ステップＳ１）、ＤＣバランス変換テーブル３２２ｂを参照して取得した１０ビットのデータ単位のデータを８ビットのデータに逆変換する（ステップＳ２）。
【００４１】
この際、受信データに誤りがなければ、取得した１０ビットのデータに対応する８ビットのデータを得ることができるが、例えばノイズ等の要因によって受信データに誤りが発生すると、ＤＣバランス変換テーブル３２２ｂに参照可能な１０ビットデータが存在せず、逆変換エラーが発生する場合がある（ステップＳ３：Ｙｅｓ）。
【００４２】
この場合、ＤＣバランス逆変換手段３２１ａは、逆変換エラーとなった１０ビットのデータ単位のデータ、及びそのデータの受信データにおける位置（エラー発生箇所）を記憶部３２２に記憶し（ステップＳ４）、そのデータ単位のデータを予め定められた８ビットのデータ（例えば「00000000」）に変換したものとし（ステップＳ５）、エラーカウンタをインクリメントする（ステップＳ６）。なお、このエラーカウンタは予め０に初期化されているものとする。
【００４３】
次にＤＣバランス逆変換手段３２１ａは、受信部３１が受信した１パケット分のデータの全てについてステップＳ２の逆変換処理を行ったかを判定し（ステップＳ７）、受信データの全てについて逆変換処理を行っていない場合（ステップＳ７：Ｎｏ）には、ステップＳ１以降の処理を再度実行する。
【００４４】
一方、受信データの全てについてＤＣバランス逆変換処理が行われた場合（ステップＳ７：Ｙｅｓ）、誤り検出手段３２１ｂは、ＤＣバランス逆変換が行われた転送データに対して誤り検出符号に基づく誤り検出処理を実行する（ステップＳ８）。この誤り検出処理で誤りが検出されなかった場合には（ステップＳ９：Ｙｅｓ）、その転送データをメモリインタフェース３３に出力する（ステップＳ１０）。
【００４５】
また、ステップＳ８の誤り検出処理で誤りが検出された場合には（ステップＳ９：Ｎｏ）、エラーカウンタが１であるか否かを判定し、エラーカウンタが１でない場合には（ステップＳ１１：Ｎｏ）、送信装置２にパケットの再送要求を行う（ステップＳ１２）。
【００４６】
一方、エラーカウンタが１である場合（ステップＳ１１：Ｙｅｓ）には、誤り訂正手段３２１ｃが後述する誤り訂正処理（ステップＳ１３）を実行する。なお、ＤＣバランス逆変換手段３２１ａによる逆変換不能なデータがあった場合には、前述のように予め定められた値に変換したものとして処理されるので、ステップＳ８の誤り検出処理で誤りが検出されることとなる。
【００４７】
図５は、誤り訂正手段３２１ｃが実行する誤り訂正処理の一例を示すフローチャートである。
【００４８】
誤り訂正手段３２１ｃは、ＤＣバランス逆変換手段３２１ａがステップＳ４で記憶部３２２に記憶したエラー発生箇所の１０ビットのデータ（以下、このデータを「エラーデータ」という）を取得し（ステップＳ２１）、変数ｎを１に初期化する（ステップＳ２２）。
【００４９】
次に、誤り訂正手段３２１ｃは、ステップＳ２１で取得したエラーデータの最下位ビットからｎ番目のビットである第ｎビットの「０」又は「１」を反転する（ステップＳ２３）。
【００５０】
次に、誤り訂正手段３２１ｃは、ＤＣバランス変換テーブル３２２ｂを参照し、ステップＳ２３で第ｎビットのビットを反転した１０ビットのデータに対応する８ビットのデータが存在するか、即ちこの１０ビットのデータがＤＣバランス逆変換可能かを判定する（ステップＳ２４）。
【００５１】
次に、誤り訂正手段３２１ｃは、ＤＣバランス逆変換が可能である場合（ステップＳ２４：Ｙｅｓ）、第ｎビットを反転した１０ビットのデータに対応する８ビットのデータを、ＤＣバランス逆変換手段３２１ａがステップＳ２の処理で逆変換したデータのエラー発生箇所に代入し、誤り検出符号に基づく誤り検出処理で誤りが検出されるか否かを判定する（ステップＳ２５）。誤りが検出されなかった場合（ステップＳ２５：Ｙｅｓ）には、そのデータを送信装置２から受信した転送データとしてメモリインタフェース３３に出力する（ステップＳ２６）。
【００５２】
一方、ステップＳ２４でＤＣバランス逆変換が不可能であった場合（ステップＳ２４：Ｎｏ）、又は誤り検出処理で誤りが検出された場合（ステップＳ２５：Ｎｏ）には、誤り訂正手段３２１ｃは、変数ｎが１０であるか（エラーデータの全てのビットに対してステップＳ２３〜Ｓ２５の判定処理を行ったか）を判定する（ステップＳ２７）。
【００５３】
この判定の結果、変数ｎが１０でない場合には（ステップＳ２８：Ｎｏ）、変数ｎに１を加算し（ステップＳ２８）、ステップＳ２３以降の処理を再度実行する。一方、変数ｎが１０である場合には（ステップＳ２７：Ｙｅｓ）、送信装置２にパケットの再送要求を行う（ステップＳ２９）。
【００５４】
図６は、誤り訂正手段３２１ｃによる誤り訂正の具体例を示す図であり、（ａ）は送信装置２が送信した送信データ及び受信装置３で受信した受信データのうちの１０ビットを、（ｂ）はＤＣバランス逆変換（以下、単に「逆変換」という）でエラーが発生した１０ビットデータの各１ビットを反転したデータ及びそれに対応する８ビットデータを示す。
【００５５】
図６（ａ）に示すように、送信データは「0010111011」であるのに対し、受信データは「0010110011」であり、第４ビットに誤りが発生している。この場合には、誤り検出符号に基づく誤り検出処理で誤りが検出され、誤り訂正手段３２１ｃによる誤り訂正処理が実行される。
【００５６】
誤り訂正手段３２１ｃは、上記ステップＳ２３〜Ｓ２８の処理により、図６（ｂ）に示すように、受信したデータのうちの１ビットを反転した反転データを順次生成し、これらの反転データが逆変換可能、かつ誤り検出符号に基づく誤り検出で誤りが検出されないかを判定する。
【００５７】
図６（ｂ）では、受信装置３が受信した１ビットの誤りを含むエラーデータの第ｎビット（ｎ＝１〜１０）を反転した反転データを左側に示し、この反転データについてＤＣバランス変換テーブル３２２ｂを参照して得られる８ビットのデータを右側に示している。また、図６（ｂ）では、ＤＣバランス変換テーブル３２２ｂに、その反転データに対応する８ビットデータが存在しない場合（逆変換不可能な場合）を「―――」で示している。
【００５８】
図６（ｂ）に示す例では、第１ビット（最下位ビット）、第２ビットを反転した場合には逆変換不可能であるので、上記ステップＳ２４の判定結果がＮｏとなる。第３ビットを反転した場合には、対応する８ビットデータ（１０進数表記で「２４４」）が存在するので、ステップＳ２４の判定結果はＹｅｓとなるが、ステップＳ２５の誤り検出では誤りが検出される。
【００５９】
第４ビットを反転した場合には、対応する８ビットデータ（１０進数表記で「２０」）が得られ、このデータは送信データと一致するので、ステップＳ２５の誤り検出でも誤りが検出されない。従って、この第４ビットを反転したデータを誤り訂正済みのデータとして採用し、この８ビットデータ含むデータを送信装置２から転送された転送データとしてメモリインタフェース３３に出力する。
【００６０】
メモリインタフェース３３は、この転送データをメモリ３４に記憶する。また、メモリインタフェース３３は、外部からの読み出し信号に応じて、メモリ３４に記憶した転送データを出力する。
【００６１】
［第２の実施の形態］
次に、本発明の第２の実施の形態について、図７を参照して説明する。本実施の形態では、誤り訂正手段３２１ｃの処理内容が第１の実施の形態とは異なり、その他の処理内容及びデータ転送装置１の構成は第１の実施の形態と共通である。
【００６２】
より詳細には、第１の実施の形態では、エラーデータの各１ビットを反転した反転データで逆変換可能かつ誤りが検出されないものが得られなかった場合に、送信装置２にデータの再送信を要求した。しかし、本実施の形態では、各１ビットを反転した反転データで逆変換可能かつ誤りが検出されないものが得られなかった場合には、エラーデータの複数のビットを反転した反転データを生成し、これら複数のビットを反転した反転データが逆変換可能で、かつ誤り検出符号に基づく誤り検出で誤りが検出されないかを判定し、逆変換可能かつ誤りのない反転データがあれば、その反転データを誤り訂正後のデータとして出力する。
【００６３】
図７は、本実施の形態に係る誤り訂正手段３２１ｃが実行する誤り訂正処理の一例を示すフローチャートである。このフローチャートにおけるステップＳ２１〜Ｓ２８の処理は、第１の実施の形態について図４を参照して説明したものと同じ処理であるので、説明を省略する。
【００６４】
本実施の形態に係る誤り訂正手段３２１ｃは、ステップＳ２１〜２８に示す第１の判定処理に続き、ステップＳ３０〜３８の第２の判定処理を実行する。
【００６５】
誤り訂正手段３２１ｃは、ステップＳ２７でｎ＝１０であった場合（ステップＳ２７：Ｙｅｓ）、変数ｍに２を、変数ｎに１を代入し（ステップＳ３０）、エラーデータの第ｍビットと第ｎビットを反転する（ステップＳ３１）。
【００６６】
次に、誤り訂正手段３２１ｃは、ステップＳ３１で生成した反転データが逆変換可能であり（ステップＳ３２）、かつ誤り検出符号による誤り検出処理で誤りが検出されないか（ステップＳ３３）を判定する。この判定の結果、逆変換可能かつ誤りが検出されなければ（ステップＳ３２：Ｙｅｓ＆ステップＳ３３：Ｙｅｓ）、そのデータを送信装置２から受信した転送データとしてメモリインタフェース３３に出力する（ステップＳ２６）。
【００６７】
一方、逆変換不能の場合（ステップＳ３２：Ｎｏ）、又は誤り検出処理で誤りが検出された場合（ステップＳ３３：Ｎｏ）、誤り訂正手段３２１ｃは、変数ｍ＝１０かつ変数ｎ＝９であるか、即ちエラーデータの１０ビットのうち、全ての２ビットの組み合わせ（４５通り）についてステップＳ３２及びＳ３３の判定を行ったかを判定する（ステップＳ３４）。この判定の結果、各２ビットを反転した反転データについても逆変換可能かつ誤りが検出されないデータが得られなかった場合（ステップＳ３４：Ｙｅｓ）には、送信装置２にパケットの再送要求を行う（ステップＳ３５）。
【００６８】
一方、変数ｍ＝１０かつ変数ｎ＝９でなかった場合（ステップＳ３４：Ｎｏ）、誤り訂正手段３２１ｃは、変数ｎに１を加算し（ステップＳ３６）、この加算の結果、変数ｎが変数ｍと等しくなった場合（ステップＳ３７：Ｙｅｓ）には、変数ｍに１を加算すると共に変数ｎに１を代入する（ステップＳ３８）。このように変数ｍ，ｎを変更した後、ステップＳ３１以降の処理を繰り返し実行する。
【００６９】
［他の実施の形態］
なお、本発明は、上記各実施の形態に限定されず、その要旨を変更しない範囲内で種々な変形が可能である。
【００７０】
例えば、上記第１及び第２の実施の形態では、反転データの逆変換が可能であった場合に、その都度、誤り検出処理で誤りがあるかを判定したが、エラーデータの各１ビット又は２ビットを反転した反転データのうち、逆変換が可能なものの８ビットデータを記憶しておき、各反転データの逆変換を終えた後、記憶された各８ビットデータについて誤り検出処理で誤りが検出されるかを判定してもよい。
【００７１】
また、上記第２の実施の形態では、各２ビットを反転した反転データで逆変換可能かつ誤りのないデータが得られなかった場合に再送要求を行うこととしたが、これに限らず、さらに３ビットを反転した反転データについて逆変換可能かつ誤り検出処理で誤りが検出されないかを判定してもよい。
【００７２】
また、上記第１及び第２の実施の形態では、受信データのうち逆変換できない１０ビットデータが1つの場合（ステップＳ１１でエラーカウントが１の場合）に誤り訂正処理を行うこととしたが、これに限らず、エラーカウントが複数の場合に、複数のエラーデータのそれぞれに対して１ビット又は複数ビットを反転してＤＣバランス逆変換を行い、誤り検出処理で誤りが検出されないデータを抽出してもよい。
【００７３】
また、上記第１及び第２の実施の形態では、送信装置２で８Ｂ／１０Ｂ変換を行い、受信装置３で８Ｂ／１０Ｂ逆変換を行う場合について説明したが、これに限らず、例えば送信装置２で予め定められた手順に基づく暗号化する変換処理を行い、受信装置３では、送信装置２における暗号化手順に対応して予め定められた復号化手順によって逆変換を行うようにしてもよい。
【００７４】
また、上記第１及び第２の実施の形態では、ＤＣバランス逆変換手段、誤り検出手段、及び誤り訂正手段の処理をプログラムによって実現したが、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）等のハードウェアを用いて実現してもよい。
【００７５】
また、上記プログラム３２２ａをＣＤ−ＲＯＭ等のコンピュータ読取り可能な記録媒体に記録して提供してもよい。
【符号の説明】
【００７６】
１…データ転送装置、２…送信装置、３…受信装置、４…通信線、１０，１０Ａ…パケット、１１，１１Ａ…ヘッダ、１２，１２Ａ…転送データ、１３，１３Ａ…ＣＲＣコード、１４，１４Ａ…フッタ、２１…メモリインタフェース、２２…メモリ、２３…誤り検出符号付加部、２４…ＤＣバランス変換部、２５…送信部、３１…受信部、３２…デコード部、３３…メモリインタフェース、３４…メモリ、３２１…制御部、３２１ａ…ＤＣバランス逆変換手段、３２１ｂ…検出手段、３２１ｃ…訂正手段、３２２…記憶部、３２２ａ…プログラム、３２２ｂ…ＤＣバランス変換テーブル
【図１】
2012124642.tif 000003
【図２】
2012124642.tif 000004
【図３】
2012124642.tif 000005
【図４】
2012124642.tif 000006
【図５】
2012124642.tif 000007
【図６】
2012124642.tif 000008
【図７】
2012124642.tif 000009