(57)【要約】  送信機１は、入力されたデータの０と１の出現数がほぼ等しくなるようにデータを攪拌するスクランブラ部１４と、攪拌されたデータのシリアルビット列の最大連続個数を保障するビットデータを付与し、制御情報をある固定値のビットデータに変換するビット列変換部１５と、送信データを分割し、データブロックに変換する同期タイミング生成部１６と、データブロックに対して誤り訂正の検査データをデータブロックの一部に付与する検査ビット計算付与部１７とを備え、受信機３は、データブロックに付与された検査ビットを基に誤り検査／誤り訂正を行う誤りビット計算部２３、誤りビット訂正部２５と、データブロックのビット列から制御データの固定値ビットパターンを抽出して制御情報に変換し、データと制御情報とを選別するビット列変換部２６と、攪拌されたデータを攪拌前のデータに再変換するデスクランブラ部２７とを備える。
2008059588.tif 000002
【特許請求の範囲】
【請求項１】
伝送路で接続された送信機、および受信機により構成され、データと制御情報とからなる送信データをシリアルビット列データに変換して伝送するデータ伝送装置であって、
前記送信機は、
入力されたデータの０と１の出現数がほぼ等しくなるようにデータを攪拌することでＤＣバランスを保障するスクランブラ部と、
攪拌されたデータのシリアルビット列の最大連続個数を保障するビットデータを付与し、制御情報をある固定値のビットデータに変換するビット列変換部と、
送信データを任意の間隔に分割し、データブロックに変換する同期タイミング生成部と、
前記データブロックに対して誤り訂正の検査データを計算し、前記データブロックの一部に付与する検査ビット計算付与部とを備え、
前記受信機は、
前記データブロックを受信し、前記データブロックに付与された検査ビットを基に誤り検査、および誤り訂正を行う誤りビット計算／訂正部と、
前記データブロックのビット列から制御データの固定値ビットパターンを抽出して制御情報に変換し、データと制御情報とを選別するビット列変換部と、
データ攪拌されたデータを攪拌前のデータに再変換するデスクランブラ部とを備えたことを特徴とするデータ伝送装置。
【請求項２】
請求項１記載のデータ伝送装置において、
前記送信機に入力される送信データは、
８ビットのビットデータ列と、
前記８ビットデータが、データ、または制御情報のいずれであるかを示す制御ビットとからなり、
前記スクランブラ部は、
送信データがデータであれば、前記８ビットのビットデータ列を０と１の出現数が等しく、あるいはほぼ等しくなるようにデータを攪拌して結果を８ビットのビットパターンとし、
前記ビット列変換部は、
前記８ビットのビットパターンのうち、値が１であるビットの個数がもし０個〜３個であれば１の値を、５個〜８個であれば０の値を、４個であればシリアルビット列で直前のビットの反転値を示す１ビットデータを付与して９ビットのビットパターンに変換することで、ＤＣバランス、および保障連続ビットデータの最大連続個数を保障し、送信データが制御データであれば、８ビットのデータ列が示す値に対応した１０ビットの固定ビットパターンに変換することでＤＣバランスおよび連続ビットデータの最大連続個数を保障することを特徴とするデータ伝送装置。
【請求項３】
請求項１または２記載のデータ伝送装置において、
前記検査ビット計算付与部は、
データから変換された９ビットのビットパターン、および制御情報から変換された１０ビットの固定ビットパターンから１ビットを除く９ビットの固定ビットパターンにおいて、前記ビットパターンの連続する６つの組み合せを一つの符号ブロックとして扱い、前記ブロックを構成する５４ビットのビットパターンからなる情報語を基に６ビットの検査語を生成して、連続する６つのｉビットを付与した６０ビットの符号ブロックを出力し、
前記誤りビット計算部は、
前記符号ブロックを受信し、５４ビットの情報語と６ビットの検査語を基に誤り検出し、
前記誤りビット訂正部は、
前記誤りビット計算部が検出した誤りを訂正することを特徴とするデータ伝送装置。
【請求項４】
請求項１記載のデータ伝送装置において、
前記送信機に入力される送信データは、
８ビットのビットデータ列と、
前記８ビットデータが、データ、または制御情報のいずれであるかを示す制御ビットとからなり、
前記スクランブラ部は、
送信データが制御情報であれば、８ビットのデータ列が示す値に対応した１０ビットの固定ビットパターンに変換することでＤＣバランスおよび連続ビットデータの最大連続個数を保障し、送信データがデータであれば、上記８ビットのビットデータ列を０と１の出現数が等しく或いはほぼ等しくなるようにデータを攪拌して結果を８ビットのビットパターンとし、
前記ビット列変換部は、
攪拌した結果の８ビットの前記ビットパターンが、制御情報での変換時の１０ビットの固定ビットパターンのうちの８ビットと同値となる場合は、残りのｅビットの値を前記１０ビットの固定ビットパターンのｅビットの反転値とし、攪拌した結果の８ビットの前記ビットパターンが、制御情報での変換時の１０ビットの固定ビットパターンのうちの８ビットと同値でない場合は、８ビットの前記ビットパターンのうち、値が１であるビットの個数が０個〜３個であれば１の値を、５個〜８個であれば０の値を、４個であればシリアルビット列で直前のビットの反転値を示す１ビットデータを付与して９ビットのビットパターンに変換することでＤＣバランス、保障連続ビットデータの最大連続個数、および復号を保障することを特徴とするデータ伝送装置。
【請求項５】
伝送路で接続された送信機、および受信機により、送信データをシリアルビット列データに変換して伝送する伝送符号の生成方法であって、
前記送信機に入力される送信データが８ビットのビットデータ列と、前記８ビットデータが通常データか制御データかを示す制御ビットとで構成され、
送信データがデータの際には、８ビットのビットデータ列を０と１の出現数が等しくあるいはほぼ等しくなるようにデータを攪拌して結果を８ビットのビットパターンとし、且つ前記８ビットのビットパターンのうち、値が１であるビットの個数が０個〜３個であれば１の値を、５個〜８個であれば０の値を、４個であればシリアルビット列で直前のビット（ｄまたはｆビット）の反転値を示す１ビットデータを付与して９ビットのビットパターンに変換することで、ＤＣバランス、および保障連続ビットデータの最大連続個数を保障し、
送信データが制御データの際には、８ビットのデータ列が示す値に対応した１０ビットの固定ビットパターンに変換することでＤＣバランスおよび連続ビットデータの最大連続個数を保障することを特徴とする伝送符号の生成方法。
【請求項６】
請求項５記載の伝送符号の生成方法において、
送信データがデータの際に変換された９ビットのビットパターン、および制御情報から変換された１０ビットの固定ビットパターンから１ビットを除く９ビットの固定ビットパターンにおける連続する６つの組み合わせを一つの符号ブロックとして扱い、前記ブロックを構成する５４ビットのビットパターンからなる情報語を基に６ビットの検査語を生成して、連続する６つのｉビットを付与した６０ビットの符号ブロックとして前記送信機から出力し、
前記受信機が符号ブロックを受信した際には、５４ビットの情報語と６ビットの検査語を基に誤り検出、および誤り訂正を行うことを特徴とする伝送符号の生成方法。
【請求項７】
請求項５記載の伝送符号の生成方法において、
送信データが制御情報の際には、８ビットのデータ列が示す値に対応した１０ビットの固定ビットパターンに変換することでＤＣバランス、および連続ビットデータの最大連続個数を保障し、
送信データがデータの場合には、前記８ビットのビットデータ列を０と１の出現数が等しく、あるいはほぼ等しくなるようにデータを攪拌して結果を８ビットのビットパターンとし、
攪拌した結果の８ビットの前記ビットパターンが、制御情報での変換時の１０ビットの固定ビットパターンのうちの８ビットと同値となる場合は、残りのビットの値を上記１０ビットの固定ビットパターンのビットの反転値とし、
攪拌した結果の８ビットの前記ビットパターンが、制御情報での変換時の１０ビットの固定ビットパターンのうちの８ビットと同値でない場合は、８ビットの前記ビットパターンのうち、値が１であるビットの個数が０個〜３個であれば１の値を、５個〜８個であれば０の値を、４個であればシリアルビット列で直前のビットの反転値を示す１ビットデータ（ｅビット）を付与して９ビットのビットパターンに変換することでＤＣバランス、保障連続ビットデータの最大連続個数、および復号を保障することを特徴とする伝送符号の生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信路を通じてデータ伝送を送信機、および受信機に関し、更に詳しくは、データ伝送中に生じたビット誤りを訂正する誤り訂正器、および伝送路での特性を向上する符号化／復号化器に関する。
【背景技術】
【０００２】
たとえば、ネットワーク装置やパーソナルコンピュータなどにおける通信インタフェースや高速シリアルインタフェースを用いたデータ伝送技術として、８Ｂ１０Ｂ伝送符号を用いたものがある（特許文献１参照）。【０００３】
これは、０や１の出現数、および連続個数が不確定なシリアルデータが入力されたとき、そのデータを８ビット間隔に分割し、前記の０と１の出現数を比較的短いビット間隔（数十ビット）で等しくし、且つ連続個数を最大５個までに保障する技術である。【０００４】
このデータ伝送技術の場合、０と１の出現数を等しくすることでＤＣバランスを保障できる。また、ビットの連続数を有限個に保障する（有限ランレングス保障）ことで、伝送路上での信号品質の劣化を抑えることができる。
【特許文献１】米国特許第４，４８６，７３９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、上記のような８Ｂ１０Ｂ伝送符号によるデータ伝送技術では、次のような問題点があることが本発明者により見い出された。【０００６】
前述した特許文献１における８Ｂ１０Ｂ符号には誤り訂正機能が搭載されていない。今般の高速シリアル伝送では、外来ノイズからの影響が顕著となる。然るに、８Ｂ１０Ｂ符号を搭載した送信／受信機では、伝送路に対するノイズ混入などの要因によってビット誤りが生じた場合、受信側で８Ｂ１０Ｂ復号を行う際に、ランニングディスパリティエラーや復号エラー（受信したビット列に対応する元データが存在しない）といった結果から誤りが生じたことを検出できるのみである。【０００７】
上記の場合、誤りが含まれた受信データは廃棄するしかなく、再度同じデータを送るように、別個の手段によって送信側に要求する必要がある。或いは８Ｂ１０Ｂ符号で符号化を行った送信データに対して、さらに誤り訂正符号による符号化を行うことで、受信側で誤り訂正を行う必要がある。【０００８】
何れにしても、単純なビット誤りのために、より多くの通信帯域を必要とするため、伝送効率（元来送信するデータ量と、実際に伝送路に送信するデータ量の比率）が低下するという問題があった。【０００９】
本発明の目的は、高速化シリアルインタフェースを用いたデータ伝送において、伝送符号本来の機能であるＤＣバランスや有限ランレングスの保障だけでなく、伝送符号化方式の１つである８Ｂ１０Ｂ符号と伝送効率を同一としながらも、ビット誤り訂正機能を実現する技術を提供することにある。【００１０】
本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。【００１２】
本発明は、伝送路で接続された送信機、および受信機により構成され、データと制御情報とからなる送信データをシリアルビット列データに変換して伝送するデータ伝送装置であって、該送信機は、入力されたデータの０と１の出現数がほぼ等しくなるようにデータを攪拌することでＤＣバランスを保障するスクランブラ部と、攪拌されたデータのシリアルビット列の最大連続個数を保障するビットデータを付与し、制御情報をある固定値のビットデータに変換するビット列変換部と、送信データを一定の間隔に分割し、データブロックに変換する同期タイミング生成部と、データブロックに対して誤り訂正のための検査データを計算し、データブロックの一部に付与する検査ビット計算付与部とを備え、該受信機は、データブロックを受信し、データブロックに付与された検査ビットを基に誤り検査、および誤り訂正を行う誤りビット計算／訂正部と、データブロックのビット列から制御データの固定値ビットパターンを抽出して制御情報に変換し、データと制御情報とを選別するビット列変換部と、データ攪拌されたデータを攪拌前のデータに再変換するデスクランブラ部とを備えたものである。【００１３】
また、本発明は、送信機に入力される送信データが、８ビットのビットデータ列（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈビット）と、該８ビットデータが、データ、または制御情報のいずれであるかを示す制御ビット（Ｋビット）とからなり、スクランブラ部は、送信データがデータであれば、８ビットのビットデータ列（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈビット）を０と１の出現数が等しく、あるいはほぼ等しくなるようにデータを攪拌して結果を８ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）とし、ビット列変換部は、８ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）のうち、値が１であるビットの個数がもし０個〜３個であれば１の値を、５個〜８個であれば０の値を、４個であればシリアルビット列で直前のビット（ｄまたはｆビット）の反転値を示す１ビットデータ（ｅビット）を付与して９ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｊビット）に変換することで、ＤＣバランス、および保障連続ビットデータの最大連続個数を保障し、入力データが制御データであれば、８ビットのデータ列が示す値に対応した１０ビットの固定ビットパターン（ａ，ｂ，ｃ，ｄ，ｅ，ｉ，ｆ，ｇ，ｈ，ｊビット）に変換することでＤＣバランスおよび連続ビットデータの最大連続個数を保障するものである。【００１４】
さらに、本発明は、検査ビット計算付与部が、データから変換された９ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｊビット）、および制御情報から変換された１０ビットの固定ビットパターン（ａ，ｂ，ｃ，ｄ，ｅ，ｉ，ｆ，ｇ，ｈ，ｊビット）から１ビットを除く９ビットの固定ビットパターンにおいて、ビットパターンの連続する６つの組み合わせを一つの符号ブロック（ａ０〜ａ５、ｂ０〜ｂ５、ｃ０〜ｃ５、ｄ０〜ｄ５、ｅ０〜ｅ５、ｆ０〜ｆ５、ｇ０〜ｇ５、ｈ０〜ｈ５、ｉ０〜ｉ５、ｊ０〜ｊ５ビット）として扱い、ブロックを構成する５４ビットのビットパターンからなる情報語を基に６ビットの検査語を生成して、連続する６つのｉビット（ｉ０〜ｉ５ビット）を付与した６０ビットの符号ブロックを出力し、誤りビット計算部は、符号ブロックを受信し、５４ビットの情報語と６ビットの検査語を基に誤り検出し、誤りビット訂正部は、誤りビット計算部が検出した誤りを訂正するものである。【００１５】
また、本発明は、送信機に入力される送信データが、８ビットのビットデータ列（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈビット）と、該８ビットデータが、データ、または制御情報のいずれであるかを示す制御ビット（Ｋビット）とからなり、スクランブラ部は、送信データが制御情報であれば、８ビットのデータ列が示す値に対応した１０ビットの固定ビットパターン（ａ，ｂ，ｃ，ｄ，ｅ，ｉ，ｆ，ｇ，ｈ，ｊビット）に変換することでＤＣバランスおよび連続ビットデータの最大連続個数を保障し、送信データがデータであれば、上記８ビットのビットデータ列（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈビット）を０と１の出現数が等しく或いはほぼ等しくなるようにデータを攪拌して結果を８ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）とし、ビット列変換部は、攪拌した結果の８ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）が、制御情報での変換時の１０ビットの固定ビットパターンのうちの８ビット（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）と同値となる場合は、残りのビット（ｅビット）の値を１０ビットの固定ビットパターンのビット（ｅビット）の反転値とし、攪拌した結果の８ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）が、制御情報での変換時の１０ビットの固定ビットパターンのうちの８ビット（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）と同値でない場合は、８ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）のうち、値が１であるビットの個数が０個〜３個であれば１の値を、５個〜８個であれば０の値を、４個であればシリアルビット列で直前のビット（ｄまたはｆビット）の反転値を示す１ビットデータ（ｅビット）を付与して９ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｊビット）に変換することでＤＣバランス、保障連続ビットデータの最大連続個数、および復号を保障するものである。【００１６】
さらに、本発明は、伝送路で接続された送信機、および受信機により、送信データをシリアルビット列データに変換して伝送する伝送符号の生成方法であって、該送信機に入力される送信データが８ビットのビットデータ列（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈビット）と、該８ビットデータが通常データか制御データかを示す制御ビット（Ｋビット）とで構成され、入力データがデータの際には、８ビットのビットデータ列（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈビット）を０と１の出現数が等しくあるいはほぼ等しくなるようにデータを攪拌して結果を８ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）とし、且つ８ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）のうち、値が１であるビットの個数が０個〜３個であれば１の値を、５個〜８個であれば０の値を、４個であればシリアルビット列で直前のビット（ｄまたはｆビット）の反転値を示す１ビットデータ（ｅビット）を付与して９ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｊビット）に変換することで、ＤＣバランス、および保障連続ビットデータの最大連続個数を保障し、入力データが制御データの際には、８ビットのデータ列が示す値に対応した１０ビットの固定ビットパターン（ａ，ｂ，ｃ，ｄ，ｅ，ｉ，ｆ，ｇ，ｈ，ｊビット）に変換することでＤＣバランスおよび連続ビットデータの最大連続個数を保障するものである。【００１７】
また、本発明は、入力データがデータの際に変換された９ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｊビット）、および制御情報から変換された１０ビットの固定ビットパターン（ａ，ｂ，ｃ，ｄ，ｅ，ｉ，ｆ，ｇ，ｈ，ｊビット）から１ビットを除く９ビットの固定ビットパターンにおける連続する６つの組み合わせを一つの符号ブロック（ａ０〜ａ５、ｂ０〜ｂ５、ｃ０〜ｃ５、ｄ０〜ｄ５、ｅ０〜ｅ５、ｆ０〜ｆ５、ｇ０〜ｇ５、ｈ０〜ｈ５、ｉ０〜ｉ５、ｊ０〜ｊ５ビット）として扱い、ブロックを構成する５４ビットのビットパターンからなる情報語を基に６ビットの検査語を生成して、連続する６つのｉビット（ｉ０〜ｉ５ビット）を付与した６０ビットの符号ブロックとして送信機から出力し、受信機が符号ブロックを受信した際には、５４ビットの情報語と６ビットの検査語を基に誤り検出、および誤り訂正を行うものである。【００１８】
さらに、本発明は、入力データが制御情報の際には、８ビットのデータ列が示す値に対応した１０ビットの固定ビットパターン（ａ，ｂ，ｃ，ｄ，ｅ，ｉ，ｆ，ｇ，ｈ，ｊビット）に変換することでＤＣバランス、および連続ビットデータの最大連続個数を保障し、入力データがデータの場合には、８ビットのビットデータ列（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈビット）を０と１の出現数が等しく、あるいはほぼ等しくなるようにデータを攪拌して結果を８ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）とし、攪拌した結果の８ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）が、制御情報での変換時の１０ビットの固定ビットパターンのうちの８ビット（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）と同値となる場合は、残りのビット（ｅビットの値を上記１０ビットの固定ビットパターンのビットの反転値とし、攪拌した結果の８ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）が、制御情報での変換時の１０ビットの固定ビットパターンのうちの８ビット（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）と同値でない場合は、８ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｊビット）のうち、値が１であるビットの個数が０個〜３個であれば１の値を、５個〜８個であれば０の値を、４個であればシリアルビット列で直前のビット（ｄまたはｆビット）の反転値を示す１ビットデータ（ｅビット）を付与して９ビットのビットパターン（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｊビット）に変換することでＤＣバランス、保障連続ビットデータの最大連続個数、および復号を保障するものである。【００１９】
また、本願のその他の発明の概要を簡単に示す。【００２０】
８Ｂ１０Ｂ符号と同一のビット幅、動作クロック、伝送効率とするためには、符号化器（送信機）の入力を８ビットの情報ビットと１ビットの制御ビットとし、出力を１０ビットとし、復号化器（受信機）の入力を１０ビット、出力を８ビットの情報ビットと１ビットの制御ビットという構成にする必要がある。【００２１】
符号化器への入力は８ビットであるが、制御ビットが０の時は通常データを、１の時は制御データであることを示す。このとき、制御データは符号化時には１０ビットの固定パターンに変換する。【００２２】
望ましくは、１０ビットの固定パターンは０と１の出現数を同じ個数（０を５個、１を５個）とするか、４：６と６：４のパターンを交互に出力すべきである。これにより、制御データに関してはＤＣバランスと有限ランレングスを保障する。【００２３】
さらに、望ましくは、受信機側でシリアルビット列からパラレルビット列に変換する際に１０ビットずつの区切りを発見しやすいように、１０ビットの固定パターンには１０ビット未満の特定のパターン（例えば”１１０００００”など）を共通に含むように構成する。【００２４】
符号化器への入力が通常データであった場合、８ビットデータをデータ攪拌（即ちスクランブル）し、８ビットのスクランブルデータを作成する。その後、８ビットのスクランブルデータ毎に１ビットの付加データを付与する。【００２５】
付加データは、８ビットのスクランブルデータに０が多く含まれるときには１の値とし、反対に１が多く含まれるときには０の値とし、０と１が同数の場合は、付加データ直前のビットが示す値の反転値とすることで、ＤＣバランス特性を向上し、且つランレングス長が有限となる。【００２６】
一般的に、スクランブラデータはランレングスが保障できず、最悪の場合、０、または１が長期に連続する可能性があるが、それを８ビット間隔に前記の付加データを挿入することで、０が連続するときには１が、１が連続するときには０が必ず挿入されるからである。【００２７】
また、本発明では、送信機が出力したデータに対して、伝送中の様々な要因によって発生するビット誤りを受信後に誤り訂正できるように、出力するｋシンボル（ｋビット）の情報語に対してｎ−ｋシンボル（ｎ−ｋビット）の検査語を付与する。【００２８】
即ち、情報語と検査語で構成される誤り訂正符号語はｎシンボル（ｎビット）になる。検査語とは、誤り訂正符号の生成多項式から算出される冗長なビットデータであり、情報語（即ち送信したいデータ）と共に伝送し、且つ受信側で誤り検査計算をすることで、誤りが生じたビットを特定できる。【００２９】
本発明では、符号語を６０ビット（１０ビット×６サイクル分）とし、そのうち情報語を５４ビット、検査語を６ビットとする。なお、一般的には誤り訂正符号（ハミング符号等）は生成多項式から求められるため、その検査語は乱数に近い特性となる。【００３０】
従って、入力データが乱数的な値であると仮定すれば、検査語自体も乱数のように分布するため、ＤＣバランスを保障できるが、有限ランレングスは保障されない。【００３１】
以上により、符号化後の連続パターンは、連続する９ビットの乱数毎に１ビットの付加データが挿入されることで分断される形態であるため、同値の連続個数は、どの様な入力に対しても最長１０ビットで抑えることができ、有限ランレングスを保障できる。
【発明の効果】
【００３２】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。【００３３】
（１）８Ｂ１０Ｂ符号化回路と、ビット幅、動作クロック、伝送効率を同一としながらも、ビット誤り訂正を可能にすることができる。【００３４】
（２）また、ＤＣバランスや有限ランレングスの保障という伝送符号の性能をも満たす符号変換を可能にすることができる。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施の形態によるデータ伝送装置の構成例を示すブロック図である。
【図２】図１のデータ伝送装置に用いられる制御データのビット変換の対応例を示す変換表の説明図である。
【図３】図１のデータ伝送装置による８ビットデータから１０ビットデータへの変換例を示すフローチャートである。
【図４】図１のデータ伝送装置による符号ブロックのビット列フォーマットの説明図である。
【図５】図１のデータ伝送装置による１０ビット−８ビット変換の一例を示すフローチャートである。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。【００３７】
本実施の形態において、データ伝送装置は、図１に示すように、送信機１、伝送路２、および受信機３から構成されている、送信機１は、伝送路２を介して受信機３と接続されている。【００３８】
送信すべき送信データ１０は、送信機１に入力された後、所望のデータ変換を行われ、伝送路２に出力される。受信機３は受信したデータに対して所望のデータ変換を行った後、受信データ２８として出力する。この送信データ１０および受信データ２８は、伝送路において生じるビット誤りがビット誤り訂正能力の範囲内で生じていれば、全く同一の値となる。【００３９】
送信機１は、スクランブラ部１４、ビット列変換部１５、同期タイミング生成部１６、検査ビット計算・付与部１７、Ｐ／Ｓ変換部１８により構成されている。送信機１において、送信データ１０はスクランブラ部１４に入力され、スクランブラ部１４の出力はビット列変換部１５に接続される。【００４０】
ビット列変換部１５の出力、および同期タイミング生成部１６の出力は、検査ビット計算・付与部１７に接続され、検査ビット計算・付与部１７の出力は、Ｐ／Ｓ変換部１８に接続され、Ｐ／Ｓ変換部１８の出力は、伝送路２に接続される。【００４１】
また、受信機３において、伝送路２は、Ｓ／Ｐ変換部２０に接続されており、該Ｓ／Ｐ変換部２０の出力はバイト同期部２１に接続されている。バイト同期部２１、ならびにブロック同期部２４の出力は、誤りビット計算部（誤りビット計算／訂正部２３に接続されている。【００４２】
誤りビット計算部２３の出力は、ブロック同期部２４、および誤りビット訂正部（誤りビット計算／訂正部）２５にそれぞれ接続されている。誤りビット訂正部２５の出力は、ビット列変換部２６に接続されており、ビット列変換部２６の出力は、デスクランブラ部２７に接続されている。そして、デスクランブラ部２７は、受信データ２８を出力する。【００４３】
送信データ１０は、主にデータパケットなどを構成する有効データからなっている。ただし、送信データ１０がストリームデータ（絶え間なく入力されるデータ）である場合、有効データが途切れたときに入力される無効データも存在する。ここで、無効データとは「有効データが含まれない」の意であり、本送信機、および受信機やシステム全体の制御に用いる制御データ（制御情報）が含まれることがある。本発明による送信機１に入力される送信データ１０は、有効データ、および無効データ（即ち制御データ）を区別する制御ビットを含むものとして定義する。【００４４】
送信データ１０は、まずスクランブラ部１４に入力される。スクランブラ部１４では、制御ビットを参照して、有効データ（即ちデータ符号）に対してのみビットデータの攪拌（スクランブル）を実施する。入力データが制御符号であった場合は、そのままの値で出力する。【００４５】
スクランブルの方法は本発明では限定しないが、一例として生成多項式を用いた方式を示す。生成多項式（たとえば、Ｘ9 ＋Ｘ4 ＋１）によるスクランブラは、入力ビット列を理想的には０と１の出現確立が等しくなるように攪拌して出力する。【００４６】
一般的には、このスクランブラによって伝送路のＤＣバランスは確保される。しかし、スクランブラへの入力値によっては０または１が連続的に出力されることがあり、有限ランレングス（０と１の連続個数が有限値であること）は完全には保障されない。【００４７】
ビット列変換部１５では、入力データを８ビット単位に分割し、その８ビットデータ（ＨＧＦＥＤＣＢＡビットと表記）を１０ビットデータ（ａｂｃｄｅｉｆｇｈｊビットと表記）に変換する。【００４８】
前述のように、入力データは有効データ、および制御データからなる。ビット列変換部１５では、図３に示すシーケンスに従って、８ビットデータから１０ビットデータへの変換を行う。【００４９】
図３において、まず、ステートＳ１で前記入力データが有効データか制御データ（即ちＫキャラクタ）であるか判断する。入力データが制御データであった場合はステートＳ２に移行し、有効データであった場合はステートＳ４に移行する。【００５０】
ステートＳ２では、入力された８ビット値で一意に決定される固定パターンに変換する。前記固定パターンへの変換法則に制限はないが、変換後のパターンには同一のパターンがないものとする。【００５１】
図２は、制御データのビット変換の対応例を示す変換表４０の説明図である。ここで、図２の変換表４０は、特許文献１に示される制御データ（文献中では、Ｓｐｅｃｉａｌ  Ｃｈａｒａｃｔｅｒ）の変換表と同一である。【００５２】
変換表４０は、８ビットの入力データと１０ビットのデータとの対応を示している。たとえば、入力がＨＧＦＥＤＣＢＡ＝０００１１１００（２進数）だった場合、出力は、ａｂｃｄｅｉｆｇｈｊ＝００１１１１０１００（ＲＤ＝０のとき）または１１００００１０１１（ＲＤ＝１のとき）となる。ＲＤとは過去に送信した０と１の個数のうち、どちらが多いかを示しており、ＲＤ＝０ならば０が、ＲＤ＝１ならば１が多かったことを示す。【００５３】
ＤＣバランスを考慮すれば、今回出力すべきパターンは、過去に０を多く送信していれば１を多く含むパターンを、１を多く送信していれば０を多く含むパターンを送信すべきである。【００５４】
図２において、ステートＳ２の後、ステートＳ３では、変換した１０ビットの値、および過去のＲＤから、０および１の既送信個数を算出し、ＲＤの値を、０が多かった場合はＲＤ＝０へ、１が多かった場合はＲＤ＝１へと更新する。ステートＳ３の後は、終了する。【００５５】
ステートＳ１からステートＳ４に移行した場合、即ち前記ビット列変換部１５への入力データが有効データであった場合（入力データは前記スクランブラ部で処理されたスクランブル値）、ＨＧＦＥＤＣＢＡ＝ａｂｃｄｆｇｈｊのビット対応で出力する（但し、１０ビットのうちどのビットに対応付けるかに制限はない）。【００５６】
ｅビットは、前記スクランブラでは完全には保障できなかった有限長のランレングスを保障し、且つ短期的なＤＣバランスを調整する役割を持つ。ステートＳ５では、ａｂｃｄｆｇｈｊのビットパターン（スクランブル値ＨＧＦＥＤＣＢＡが入力された値）の値と変換表４０におけるＲＤ＝０のビットパターンとを比較し、同一のパターンが含まれる場合はステートＳ６に移行し、含まれない場合はステートＳ７に移行する。【００５７】
ステートＳ６では、ｅビットを０とすることで、変換後のビットパターン（ａｂｃｄｅｆｇｈｊ）が制御データと異なるパターンとなるようにする。ステートＳ７では、ａｂｃｄｆｇｈｊのビットパターン（スクランブル値ＨＧＦＥＤＣＢＡが入力された値）の値と変換表４０のＲＤ＝１のビットパターンとを比較し、同一のパターンが含まれる場合はステートＳ８に移行し、含まれない場合はステートＳ９に移行する。【００５８】
ステートＳ８では、ｅビットを１とすることで、変換後のビットパターン（ａｂｃｄｅｆｇｈｊ）が制御データと異なるパターンとなるようにする。ステートＳ９では、前記ａｂｃｄｆｇｈｊのビットパターンのうち１のビットの数を数え、１の数が０〜３個ならばｅ＝１とし、５〜８個ならばｅ＝０とする。【００５９】
もし、前記１の数が４個の場合、ｄビットが１ならばｅ＝０とし、ｄビットが０ならばｅ＝１とする。ステートＳ６、ステートＳ８、ステートＳ９での各々の処理が終了したら終了する。【００６０】
ステートＳ５〜Ｓ８での動作は、有効データのビット列変換において、その変換後のビットパターンが制御データのビットパターン（変換表４０で定義）とは異なる値にする意味がある。【００６１】
スクランブラが出力する８ビットの値（ａｂｃｄｆｇｈｊ）は乱数様のパターンになるため、変換表４０のａｂｃｄｆｇｈｊと同一のパターンが出現する可能性がある。そのパターンの場合もステートＳ９と同じ操作でｅビットを定義すると、変換後のビットパターン（ａｂｃｄｅｆｇｈｊ）が制御データと同一となることがあり、即ち受信機３のビット列変換部２６で完全な復号が不可能になる。【００６２】
そこで８ビットの値（ａｂｃｄｆｇｈｊ）が変換表４０で定義されたａｂｃｄｆｇｈｊと同一のパターンだった場合、追加するｅビットの値を、変換表に定義されたｅビットとは反転した値とすることで、パターンの同一化を防げる。【００６３】
図１の同期タイミング生成部１６では、６サイクルを周期とするタイミング信号を生成する。このタイミング信号は、検査ビット計算・付与部１７で用いる。検査ビット計算・付与部１７はタイミング信号とビット列変換部１５が出力する１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）を入力とし、該１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）の６サイクル分のデータを一纏めの符号ブロックとして扱う。【００６４】
図４は符号ブロックのビット列フォーマットを示す図である。【００６５】
ビット列４５は、０サイクル目のａ０〜ｊ０ビット、１サイクル目のａ１〜ｊ１ビット、２サイクル目のａ２〜ｊ２ビット、３サイクル目のａ３〜ｊ３ビット、４サイクル目のａ４〜ｊ４ビット、５サイクル目のａ５〜ｊ５ビットの全６０ビットで構成され、０サイクル目の１０ビットデータから５サイクル目まで順に出力される。【００６６】
検査ビット計算・付与部では、データ伝送時に生じるビット誤りを受信側で誤り訂正できるように、出力する１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）に対して、検査ビットを付与する。【００６７】
本実施の形態で用いる検査ビットは、単純なビット誤りを訂正可能なハミング符号が生成するものである。ここでは、符号化率を８Ｂ１０Ｂ符号化回路と同値とするに最適な（６３，５７）ハミング符号を用いる。ハミング符号は、符号長６３ビット、情報ビット長５７ビット、検査ビット長６ビットである。【００６８】
これにより情報ビット５７ビット中の１ビットのランダム誤りを訂正可能である。但し、本実施の形態では、検査可能な５７ビットの情報ビットのうち、５４ビット（９ビット×６サイクル分）のみを使用する。【００６９】
即ち、前記６０ビットの符号ブロックのうち、ｉ０〜ｉ５ビットの計６ビットを検査ビットとし、残りの５４ビット（各サイクルのａｂｃｄｅｆｇｈｊ）を情報ビットとみなす。検査ビット計算・付与部では、情報ビットに対して、ハミング符号の生成多項式（Ｘ7 ＋Ｘ＋１）から６ビットの検査ビットを計算し、ｉ０〜ｉ５ビット代入して出力する。【００７０】
Ｐ／Ｓ変換部１８は、１０ビット幅のパラレルビットデータを１ビットシリアルデータに変換する。このとき、１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）はａビットからａｂｃｄｅｉｆｇｈｊの順にシリアルデータとして伝送路２に出力される。シリアルデータは伝送路２によって受信機３に伝送される。【００７１】
受信機２のＳ／Ｐ変換部２０は、受信したシリアルデータを送信時と同じパラレルビット列に変換する。バイト同期部２１は、パラレルビット列の中から、１０ビット幅のパラレルビットデータに分割する目印となるビットパターンを検出する。目印のビットパターンに制約は無いが、たとえば、制御データの変換表４０中のＫ２８．５に含まれる”００１１１１１”というビットパターンである。【００７２】
バイト同期部２１では、前記パターンを発見するとその位置を１０ビットデータの同期点と判断し、それ以降のビット列は同期点を基に分割した１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）として出力する。【００７３】
誤りビット計算部２３では、バイト同期部２１から入力される１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）の６サイクル分を（即ち６０ビットのデータ）一つの符号ブロックとみなし、誤りビット計算部２３が情報ビットに付与した検査ビット（ｉ０〜ｉ５）を基に誤り検査を実施し、誤りビットの位置を確定する。【００７４】
誤り検査の計算方法は、ハミング符号の生成多項式（Ｘ7 ＋Ｘ＋１）に基づくが、一般的な方法であり、本実施の形態では説明を省略する。【００７５】
誤りビット計算部２３は、１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）を誤りビット訂正部２５へ、誤り検査結果（前記誤りビットの位置）をブロック同期部２４と誤りビット訂正部２５に出力する。【００７６】
ブロック同期部２４は、６サイクルの１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）の符号ブロックの同期点（即ち６０ビット間隔の符号ブロックの切れ目）を生成する。ブロック同期部２４は、誤りビット計算部２３が出力する１０ビット毎の誤り検査結果を基に、最も誤り発生率が低い点を符号ブロックの同期点とみなし、同期点のタイミングを誤りビット計算部２３に通知する。【００７７】
誤りビット計算部２３は、通知された同期点を符号ブロックの開始点とみなし、誤り検査計算を開始する。誤りビット訂正部２５は、誤りビット計算部２３から出力された１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）と誤り検査結果（誤りビットの位置）を受信し、検査結果で示される誤りビットを訂正する。【００７８】
ハミング符号での誤り訂正とは、検査結果で示される誤りビットを反転することである。誤りビット訂正部２５は、誤り訂正した１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）をビット列変換部２６に出力する。【００７９】
ビット列変換部２６は入力した１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）を、図５に示す１０ビット−８ビット変換のシーケンスに従って、８ビットデータ（ＨＧＦＥＤＣＢＡ）に変換する。【００８０】
この変換は、まず、ステートＳ１２で１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）が変換表４０のビット列Ｂに含まれるかを判断し、含まれる場合はステートＳ１３に移行し、含まれない場合はステートＳ１４に移行する。【００８１】
ステートＳ１３では、変換表４０に従い、ビット列Ｂの１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）のうちのｉビットを除く９ビットデータ（ａｂｃｄｅｆｇｈｊ）からビット列Ａの８ビットデータ（ＨＧＦＥＤＣＢＡ）へと変換する。【００８２】
また、ステートＳ１３で変換された８ビットデータ（ＨＧＦＥＤＣＢＡ）は、制御データと見なしてデスクランブラ部２７に出力する。ステートＳ１４では、１０ビットデータ（ａｂｃｄｅｉｆｇｈｊ）のうち、ａｂｃｄｆｇｈｊビットをそのまま８ビットデータ（ＨＧＦＥＤＣＢＡ）とし、且つ有効データとみなしてデスクランブラ部２７に出力する。【００８３】
デスクランブル部２７では、制御ビットを参照して、有効データ（即ちデータ符号）に対してのみスクランブルされたデータの再生（デスクランブル）を実施する。入力データが制御符号であった場合は、そのままの値で出力する。【００８４】
デスクランブルには、スクランブル時と同一の生成多項式（たとえば、Ｘ9 ＋Ｘ4 ＋１）を使用する。最終的に、デスクランブラ部２７（即ち受信機３）が出力する受信データ２８は、送信機１が本来送る送信データ１０と同値である。【００８５】
但し、同値であるかは伝送路２で生じたビット誤りが、使用した誤り訂正機能の訂正能力（本実施例では６０ビット中に１ビットの誤り）の範囲内に収まっているときに限る。【００８６】
それにより、本実施の形態によれば、８Ｂ１０Ｂ符号化回路と、ビット幅、動作クロック、ならびに伝送効率を同一としながらも、ビット誤り訂正を可能とし、且つＤＣバランスや有限ランレングスの保障という伝送符号本来の性能をも満たす符号変換を可能とすることができる。【００８７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００８８】
本発明は、通信インタフェース、および高速シリアルインタフェースを用いたデータ伝送回路に属し、ネットワーク装置（ルータやスイッチ、伝送装置、メディアコンバータ、リピータ、ゲートウェイ等）やパーソナルコンピュータ、サーバ、大型計算機、ディスクアレイシステム、ネットワーク・アタッチド・ストレージ（ＮＡＳ）などの通信インタフェース。ならびに装置内でのデータ伝送経路を持つ全ての装置に適している。
【図１】
2008059588.tif 000003
【図２】
2008059588.tif 000004
【図３】
2008059588.tif 000005
【図４】
2008059588.tif 000006
【図５】
2008059588.tif 000007
【国際調査報告】
2008059588.tif 000008
2008059588.tif 000009
2008059588.tif 000010
2008059588.tif 000011