(57)【要約】【課題】任意のビット数のデータを符号化してＤＣバランスを取る。【解決手段】ワード分割部３００は、６ビット構成の送信データのビットＡ〜Ｆを、ビットＡ〜Ｃ（ビット束１）とＤ〜Ｆ（ビット束２）とに分ける。符号付加部３０２は、ビット束１に含まれる論理値１の数が０または１である場合には、論理値１の付加ビットＸをビット束１に付加し、これ以外の場合には論理値０の付加ビットＸを付加する。符号付加部３０４は、ビット束２に含まれる論理値１の数が０または１である場合には、論理値１の付加ビットＹをビット束２に付加し、これ以外の場合には論理値０の付加ビットＹをビット束２に付加する。して、ワード組立部３０６に対して出力する。【選択図】　　　　　図５
2004080300.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの符号化を行う符号化装置であって、
前記データワードを、それぞれ１つ以上の前記データビットを含む複数のワード部分に分割する第１のワード分割手段と、
前記複数のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記複数のワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１つ以上の第１の付加ビットを付加する第１のビット付加手段と
を有する符号化装置。
【請求項２】
所定の第１の値をとる前記データワードそれぞれを、所定の第２の値をとる前記データワードそれぞれに変換するデータワード変換手段
をさらに有し、
前記所定の第１の値以外のデータワードに対して符号化を行う
請求項１に記載の符号化装置。
【請求項３】
前記第１のワード分割手段は、前記データワードを、２つのワード部分に分割し、
前記第１のビット付加手段は、前記２つのワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記２つのワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１ビットの前記第１の付加ビットを付加する
請求項１または２に記載の符号化装置。
【請求項４】
それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの符号化を行う符号化装置であって、
前記データワードを、１つ以上の前記データビットを含む１つ以上の第１のワード部分と、前記１つ以上のワード部分それぞれに対応し、それぞれ１つ以上の前記データビットを含む１つ以上の第２のワード部分とに分割する第２のワード分割手段と、
前記第１のワード部分およびこれに対応する第２のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分それぞれに含まれるデータビットの論理値を反転またはそのままとするデータビット反転手段と、
前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを論理値で示す第２の付加ビットを付加する第２のビット付加手段と
を有する符号化装置。
【請求項５】
前記第２のワード分割手段は、前記データワードを奇数のビットを含む前記第１のワード部分と、前記第１のワード数と異なる奇数のビット数の第２のワード部分に分割する
請求項４に記載の符号化装置。
【請求項６】
前記第２のワード分割手段は、前記データワードを、それぞれ１つの第１のワード部分および第２のワード部分に分割し、
前記データビット反転手段は、前記第１のワード部分および第２のワード部分において、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分に含まれる全てのデータビットの論理値を反転またはそのままとし、
前記第２のビット付加手段は、前記第１のワード部分および第２のワード部分に対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを第１の論理値または第２の論理値により示す第２の付加ビットを付加する
請求項４または５に記載の符号化装置。
【請求項７】
前記第２の付加ビットが付された前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第１の論理値のビットの数と前記第２の論理値のビットの数とが近づくように、前記第１の論理値または前記第２の論理値をとる第３の付加ビットを付加する第３のビット付加手段
をさらに有する請求項４〜６のいずれかに記載の符号化装置。
【請求項８】
それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの内、所定の第１の値をとる前記データワードそれぞれを、所定の第２の値をとる前記データワードそれぞれに変換し、前記所定の第１の値以外のデータワードを、それぞれ１つ以上の前記データビットを含む複数のワード部分に分割し、前記複数のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記複数のワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１つ以上の第１の付加ビットを付加することにより符号化された符号化データを復号する復号装置であって、
前記第２の値をとるデータワードそれぞれを、前記第１の値をとるデータワードそれぞれに逆変換するデータワード逆変換手段と、
前記第２の値をとるデータワード以外のデータワードに付加された前記第１の付加ビットを除去するビット除去手段と
を有する復号装置。
【請求項９】
それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードを、１つ以上の前記データビットを含む１つ以上の第１のワード部分と、前記１つ以上のワード部分それぞれに対応し、それぞれ１つ以上の前記データビットを含む１つ以上の第２のワード部分とに分割し、前記第１のワード部分およびこれに対応する第２のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分それぞれに含まれるデータビットの論理値を反転またはそのままとし、前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを第１の論理値または第２の論理値により示す第２の付加ビットを付加することにより符号化された符号データを復号する復号装置であって、
前記付加された第２の付加ビットの論理値に応じて、前記第２のワード部分それぞれのデータビットの論理値を反転またはそのままとするデータビット復元手段と、
前記付加された第２の付加ビットを除去するビット除去手段と
を有する復号装置。
【請求項１０】
それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの符号化を行う符号化方法であって、
前記データワードを、それぞれ１つ以上の前記データビットを含む複数のワード部分に分割し、
前記複数のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記複数のワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１つ以上の第１の付加ビットを付加する
符号化方法。
【請求項１１】
それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの符号化を行う符号化方法であって、
前記データワードを、１つ以上の前記データビットを含む１つ以上の第１のワード部分と、前記１つ以上のワード部分それぞれに対応し、それぞれ１つ以上の前記データビットを含む１つ以上の第２のワード部分とに分割し、
前記第１のワード部分およびこれに対応する第２のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分それぞれに含まれるデータビットの論理値を反転またはそのままとし、
前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを論理値で示す第２の付加ビットを付加する
符号化方法。
【請求項１２】
それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの内、所定の第１の値をとる前記データワードそれぞれを、所定の第２の値をとる前記データワードそれぞれに変換し、前記所定の第１の値以外のデータワードを、それぞれ１つ以上の前記データビットを含む複数のワード部分に分割し、前記複数のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記複数のワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１つ以上の第１の付加ビットを付加することにより符号化された符号化データを復号する復号方法であって、
前記第２の値をとるデータワードそれぞれを、前記第１の値をとるデータワードそれぞれに逆変換し、
前記第２の値をとるデータワード以外のデータワードに付加された前記第１の付加ビットを除去する
復号方法。
【請求項１３】
それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードを、１つ以上の前記データビットを含む１つ以上の第１のワード部分と、前記１つ以上のワード部分それぞれに対応し、それぞれ１つ以上の前記データビットを含む１つ以上の第２のワード部分とに分割し、前記第１のワード部分およびこれに対応する第２のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分それぞれに含まれるデータビットの論理値を反転またはそのままとし、前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを第１の論理値または第２の論理値により示す第２の付加ビットを付加することにより符号化された符号データを復号する復号方法であって、
前記付加された第２の付加ビットの論理値に応じて、前記第２のワード部分それぞれのデータビットの論理値を反転またはそのままとし、
前記付加された第２の付加ビットを除去する
復号方法。
【請求項１４】
それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの符号化を行うプログラムであって、
前記データワードを、それぞれ１つ以上の前記データビットを含む複数のワード部分に分割するステップと、
前記複数のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記複数のワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１つ以上の第１の付加ビットを付加するステップと
をコンピュータに実行させるプログラム。
【請求項１５】
それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの符号化を行うプログラムであって、
前記データワードを、１つ以上の前記データビットを含む１つ以上の第１のワード部分と、前記１つ以上のワード部分それぞれに対応し、それぞれ１つ以上の前記データビットを含む１つ以上の第２のワード部分とに分割するステップと、前記第１のワード部分およびこれに対応する第２のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分それぞれに含まれるデータビットの論理値を反転またはそのままとするステップと、
前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを論理値で示す第２の付加ビットを付加するステップと
をコンピュータに実行させるプログラム。
【請求項１６】
それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの内、所定の第１の値をとる前記データワードそれぞれを、所定の第２の値をとる前記データワードそれぞれに変換し、前記所定の第１の値以外のデータワードを、それぞれ１つ以上の前記データビットを含む複数のワード部分に分割し、前記複数のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記複数のワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１つ以上の第１の付加ビットを付加することにより符号化された符号化データを復号するプログラムであって、前記第２の値をとるデータワードそれぞれを、前記第１の値をとるデータワードそれぞれに逆変換するステップと、
前記第２の値をとるデータワード以外のデータワードに付加された前記第１の付加ビットを除去するステップと
をコンピュータに実行させるプログラム。
【請求項１７】
それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードを、１つ以上の前記データビットを含む１つ以上の第１のワード部分と、前記１つ以上のワード部分それぞれに対応し、それぞれ１つ以上の前記データビットを含む１つ以上の第２のワード部分とに分割し、前記第１のワード部分およびこれに対応する第２のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分それぞれに含まれるデータビットの論理値を反転またはそのままとし、前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを第１の論理値または第２の論理値により示す第２の付加ビットを付加することにより符号化された符号データを復号するプログラムであって、
前記付加された第２の付加ビットの論理値に応じて、前記第２のワード部分それぞれのデータビットの論理値を反転またはそのままとするステップと、
前記付加された第２の付加ビットを除去するステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、伝送信号のＤＣバランスを調整するための符号化処理を行う符号化装置およびその方法に関する。
【０００２】
【従来の技術】
伝送路を介して伝送されてきた信号から論理値１，０を識別するためには、例えば、受信信号強度の平均値より信号強度が強い部分を論理値１と識別し、弱い部分を論理値０と識別する方法が採られることがある。
この方法は、例えば、論理値１に対して信号強度Ｈを割り当て、論理値０に対して信号強度Ｌ（＝０）を割り当てて、送信側から受信側に対して、論理値識別のための基準信号を送ることなしに、信号のみを伝送するために用いられる。
【０００３】
しかしながら、この方法を採る場合には、信号が示す論理値が、１，０のいずれかに偏ると、受信信号強度の平均値もＨ，Ｌ（＝０）のいずれかに偏ってしまい、この平均値を用いて論理値を識別すると、データ誤りが発生する可能性がある。
従って、この方法を採る場合には、信号が示す論理値の比（デューティ比）は、５０％に近いことが求められる。
このような要望に応えるために、”Ａ　ＤＣ−Ｂａｌａｎｃｅｄ　Ｐａｒｔｉｔｉｏｎｅｄ−Ｂｌｏｃｋ，　８Ｂ／１０ＢＴｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｄｅ　（ＩＢＭ　Ｊｏｕｒｎａｌ　ｏｆ　Ｒｅｓｅａｒｃｈ　ａｎｄ　Ｄｅｖｅｌｏｐｍｅｎｔ，　Ｖｏｌ　２７，　１９８３，　ｐｐ．４４０−ｐｐ．４４５）”（文献１）は、信号のデューティ比を所定の範囲、例えば４０％〜６０％に保ち、ＤＣバランスをとる方法を開示する。
【０００４】
しかしながら、文献１は、８ビットのデータに２ビットの符号を付して１０ビットのデータに変換してＤＣバランスを取る方法（８Ｂ／１０Ｂ変換）を開示するだけなので、例えば、６ビットのデータを８ビットに符号化してＤＣバランスを取りたいといったように、ビット数が異なる用途には応用できない。
つまり、文献１は、任意のビット数のデータのＤＣバランスを取る方法を開示していない。
【０００５】
【発明が解決しようとする課題】
本発明は、上述した従来技術の問題点に鑑みてなされたものであり、任意のビット数のデータを符号化してＤＣバランスを取ることができる符号化装置およびその方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
［第１の符号化装置］
上記目的を達成するために、本発明にかかる第１の符号化装置は、それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの符号化を行う符号化装置であって、前記データワードを、それぞれ１つ以上の前記データビットを含む複数のワード部分に分割する第１のワード分割手段と、前記複数のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記複数のワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１つ以上の第１の付加ビットを付加する第１のビット付加手段とを有する。
【０００７】
好適には、所定の第１の値をとる前記データワードそれぞれを、所定の第２の値をとる前記データワードそれぞれに変換するデータワード変換手段をさらに有し、前記所定の第１の値以外のデータワードに対して符号化を行う。
【０００８】
好適には、前記第１のワード分割手段は、前記データワードを、２つのワード部分に分割し、前記第１のビット付加手段は、前記２つのワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記２つのワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１ビットの前記第１の付加ビットを付加する。
【０００９】
［第２の符号化装置］
また、本発明にかかる第２の符号化装置は、それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの符号化を行う符号化装置であって、前記データワードを、１つ以上の前記データビットを含む１つ以上の第１のワード部分と、前記１つ以上のワード部分それぞれに対応し、それぞれ１つ以上の前記データビットを含む１つ以上の第２のワード部分とに分割する第２のワード分割手段と、前記第１のワード部分およびこれに対応する第２のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分それぞれに含まれるデータビットの論理値を反転またはそのままとするデータビット反転手段と、前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを論理値で示す第２の付加ビットを付加する第２のビット付加手段とを有する。
【００１０】
好適には、前記第２のワード分割手段は、前記データワードを奇数のビットを含む前記第１のワード部分と、前記第１のワード数と異なる奇数のビット数の第２のワード部分に分割する。
【００１１】
好適には、前記第２のワード分割手段は、前記データワードを、それぞれ１つの第１のワード部分および第２のワード部分に分割し、前記データビット反転手段は、前記第１のワード部分および第２のワード部分において、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分に含まれる全てのデータビットの論理値を反転またはそのままとし、前記第２のビット付加手段は、前記第１のワード部分および第２のワード部分に対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを第１の論理値または第２の論理値により示す第２の付加ビットを付加する。
【００１２】
好適には、前記第２の付加ビットが付された前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第１の論理値のビットの数と前記第２の論理値のビットの数とが近づくように、前記第１の論理値または前記第２の論理値をとる第３の付加ビットを付加する第３のビット付加手段をさらに有する。
【００１３】
［第１の復号装置］
また、本発明にかかる第１の復号装置は、例えば、本発明にかかる第１の符号化装置により符号化されたデータを復号する装置である。
本発明にかかる第１の復号装置は、それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの内、所定の第１の値をとる前記データワードそれぞれを、所定の第２の値をとる前記データワードそれぞれに変換し、前記所定の第１の値以外のデータワードを、それぞれ１つ以上の前記データビットを含む複数のワード部分に分割し、前記複数のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記複数のワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１つ以上の第１の付加ビットを付加することにより符号化された符号化データを復号する復号装置であって、前記第２の値をとるデータワードそれぞれを、前記第１の値をとるデータワードそれぞれに逆変換するデータワード逆変換手段と、前記第２の値をとるデータワード以外のデータワードに付加された前記第１の付加ビットを除去するビット除去手段とを有する。
【００１４】
［第２の復号装置］
また、本発明にかかる第２の復号装置は、例えば、本発明にかかる第２の符号化装置により符号化されたデータを復号する装置である。
本発明にかかる第１の復号装置は、それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードを、１つ以上の前記データビットを含む１つ以上の第１のワード部分と、前記１つ以上のワード部分それぞれに対応し、それぞれ１つ以上の前記データビットを含む１つ以上の第２のワード部分とに分割し、前記第１のワード部分およびこれに対応する第２のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分それぞれに含まれるデータビットの論理値を反転またはそのままとし、前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを第１の論理値または第２の論理値により示す第２の付加ビットを付加することにより符号化された符号データを復号する復号装置であって、前記付加された第２の付加ビットの論理値に応じて、前記第２のワード部分それぞれのデータビットの論理値を反転またはそのままとするデータビット復元手段と、前記付加された第２の付加ビットを除去するビット除去手段とを有する。
【００１５】
［第１の符号化方法］
また、本発明にかかる第１の符号化方法は、それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの符号化を行う符号化方法であって、前記データワードを、それぞれ１つ以上の前記データビットを含む複数のワード部分に分割し、前記複数のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記複数のワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１つ以上の第１の付加ビットを付加する。
【００１６】
［第２の符号化方法］
また、本発明にかかる第２の符号化方法は、それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの符号化を行う符号化方法であって、前記データワードを、１つ以上の前記データビットを含む１つ以上の第１のワード部分と、前記１つ以上のワード部分それぞれに対応し、それぞれ１つ以上の前記データビットを含む１つ以上の第２のワード部分とに分割し、前記第１のワード部分およびこれに対応する第２のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分それぞれに含まれるデータビットの論理値を反転またはそのままとし、前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを論理値で示す第２の付加ビットを付加する。
【００１７】
［第１の復号方法］
また、本発明にかかる第１の復号方法は、それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの内、所定の第１の値をとる前記データワードそれぞれを、所定の第２の値をとる前記データワードそれぞれに変換し、前記所定の第１の値以外のデータワードを、それぞれ１つ以上の前記データビットを含む複数のワード部分に分割し、前記複数のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記複数のワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１つ以上の第１の付加ビットを付加することにより符号化された符号化データを復号する復号方法であって、前記第２の値をとるデータワードそれぞれを、前記第１の値をとるデータワードそれぞれに逆変換し、前記第２の値をとるデータワード以外のデータワードに付加された前記第１の付加ビットを除去する。
【００１８】
［第２の復号方法］
また、本発明にかかる第２の復号方法は、それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードを、１つ以上の前記データビットを含む１つ以上の第１のワード部分と、前記１つ以上のワード部分それぞれに対応し、それぞれ１つ以上の前記データビットを含む１つ以上の第２のワード部分とに分割し、前記第１のワード部分およびこれに対応する第２のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分それぞれに含まれるデータビットの論理値を反転またはそのままとし、前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを第１の論理値または第２の論理値により示す第２の付加ビットを付加することにより符号化された符号データを復号する復号方法であって、前記付加された第２の付加ビットの論理値に応じて、前記第２のワード部分それぞれのデータビットの論理値を反転またはそのままとし、前記付加された第２の付加ビットを除去する。
【００１９】
［第１のプログラム］
また、本発明にかかる第１のプログラムは、それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの符号化を行うプログラムであって、前記データワードを、それぞれ１つ以上の前記データビットを含む複数のワード部分に分割するステップと、前記複数のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記複数のワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１つ以上の第１の付加ビットを付加するステップとをコンピュータに実行させる。
【００２０】
［第２のプログラム］
また、本発明にかかる第２のプログラムは、それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの符号化を行うプログラムであって、前記データワードを、１つ以上の前記データビットを含む１つ以上の第１のワード部分と、前記１つ以上のワード部分それぞれに対応し、それぞれ１つ以上の前記データビットを含む１つ以上の第２のワード部分とに分割するステップと、前記第１のワード部分およびこれに対応する第２のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分それぞれに含まれるデータビットの論理値を反転またはそのままとするステップと、前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを論理値で示す第２の付加ビットを付加するステップとをコンピュータに実行させる。
【００２１】
［第３のプログラム］
また、本発明にかかる第３のプログラムは、それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードの内、所定の第１の値をとる前記データワードそれぞれを、所定の第２の値をとる前記データワードそれぞれに変換し、前記所定の第１の値以外のデータワードを、それぞれ１つ以上の前記データビットを含む複数のワード部分に分割し、前記複数のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記複数のワード部分それぞれに対して、前記第１の論理値または前記第２の論理値をとる１つ以上の第１の付加ビットを付加することにより符号化された符号化データを復号するプログラムであって、前記第２の値をとるデータワードそれぞれを、前記第１の値をとるデータワードそれぞれに逆変換するステップと、前記第２の値をとるデータワード以外のデータワードに付加された前記第１の付加ビットを除去するステップとをコンピュータに実行させる。
【００２２】
［第４のプログラム］
また、本発明にかかる第４のプログラムは、それぞれ第１の論理値または第２の論理値をとる複数のデータビットを含むデータワードを、１つ以上の前記データビットを含む１つ以上の第１のワード部分と、前記１つ以上のワード部分それぞれに対応し、それぞれ１つ以上の前記データビットを含む１つ以上の第２のワード部分とに分割し、前記第１のワード部分およびこれに対応する第２のワード部分それぞれにおいて、前記第１の論理値の数と前記第２の論理値の数とが近づくように、前記第２のワード部分それぞれに含まれるデータビットの論理値を反転またはそのままとし、前記第１のワード部分およびこれに対応する第２のワード部分それぞれに対して、前記第２のワード部分のデータビットの論理値が反転されたか否かを第１の論理値または第２の論理値により示す第２の付加ビットを付加することにより符号化された符号データを復号するプログラムであって、前記付加された第２の付加ビットの論理値に応じて、前記第２のワード部分それぞれのデータビットの論理値を反転またはそのままとするステップと、前記付加された第２の付加ビットを除去するステップとをコンピュータに実行させる。
【００２３】
【発明の実施の形態】
［第１実施形態］
以下、本発明の第１の実施形態を説明する。
【００２４】
［光通信システム１］
図１は、本発明にかかる符号化方法および復号方法が適応される光通信システム１の構成を示す図である。
図２は、図１に示した光通信システム１においてデータが伝送されるタイミングを示す図であって、（Ａ）はフレーム信号発生回路１２が通信ノード２に対して供給するフレーム信号を示し、（Ｂ），（Ｃ）はそれぞれ、通信ノード２がフレーム信号から再生する８ビット構成の伝送データ用のクロック信号と１０ビット構成の伝送データ用のクロック信号とを示し、（Ｄ），（Ｅ）はそれぞれ、通信ノード２の間で伝送される８ビット構成の伝送データと１０ビット構成の伝送データとを示す。
【００２５】
なお、以下、通信ノード２−１〜２−ｍなど、複数ある構成部分のいずれかを特定せずに示す場合には、単に通信ノード２などと略記する。
また、実際には光伝送路１０は、少なくとも、信号伝送用の光伝送路とフレーム信号（図２（Ａ））伝送用の光伝送路とを含んでいるが、図１においては、図示の簡略化のために、光伝送路１０があたかも１つの伝送路であるかのように図示されている。
【００２６】
図１に示すように、光通信システム１は、光シートバスなどの光伝送路１０を介して相互に信号を伝送するｍ（ｍ≧２）個の通信ノード２−１〜２−ｍおよびフレーム信号発生回路１２から構成される。
光通信システム１において、フレーム信号発生回路１２は、８ビット（１０ビット）パラレル形式の符号化データを、図２（Ｄ）（図２（Ｅ））に示すように、１ビットシリアル形式の伝送データに多重化し、伝送するために用いられるフレーム信号（図（Ａ））を生成し、光伝送路１０を介して通信ノード２に対して供給する。
【００２７】
［通信ノード２］
図３は、図１に示した通信ノード２の構成を示す図である。
図３に示すように、通信ノード２は、ＣＰＵ回路およびメモリ回路などであって、データを記憶・処理するデータ処理部２０、タイミング生成部２２、送信部２４および受信部２６から構成されている。
タイミング生成部２２は、光電変換回路（ＯＥ変換回路）２２０およびクロック・フレーム再生回路２２２から構成される。
【００２８】
送信部２４は、符号化部３、パラレル／シリアル変換回路（Ｓ／Ｐ回路）２４２、送信回路（ＴＸ）２４４および電光変換回路（ＥＯ変換回路）２４６から構成される。
受信部２６は、ＯＥ変換回路２２０、受信回路（ＲＸ）２８、シリアル／パラレル変換回路（Ｓ／Ｐ回路）２６４および復号回路４から構成される。
【００２９】
通信ノード２は、これらの構成部分により、データ処理部２０が生成した１ワードがｎビット構成のパラレル形式の送信データに対して、ＤＣバランスを取るためにｋビットの付加ビットを付加することにより符号化を行い、８ビットパラレル形式の符号化データとする。
さらに、通信ノード２は、この符号化データをシリアル形式の伝送データ（図２（Ｄ））に変換し、光伝送路１０（図１）を介して他の通信ノード２に対して伝送する。
【００３０】
また、通信ノード２は、これらの構成部分により、他の通信ノード２から光伝送路１０を介して伝送されてきたシリアル形式の伝送データ（図２（Ｄ））を、８ビットパラレル形式の符号化データに変換する。
さらに、通信ノード２は、この符号化データを復号して、６ビットパラレル形式の受信データ（＝送信データ）とし、さらに、データ処理部２０により、この受信データの記憶・処理を行う。
なお、この実施形態においては、説明の具体化・明確化のために、ｎ＝６およびｋ＝２の場合を具体例とする。
【００３１】
［タイミング生成部２２］
タイミング生成部２２は、フレーム信号発生回路１２から伝送されてきたフレーム信号（図２（Ａ））から、８ビット構成の伝送データ用のクロック信号（図２（Ｂ））を生成する。
つまり、タイミング生成部２２において、ＯＥ変換回路２２０は、光伝送路１０を介して伝送されてきた光学的なフレーム信号（図２（Ａ））を電気的なフレーム信号に変換し、クロック・フレーム再生回路２２２に対して出力する。
また、クロック・フレーム再生回路２２２は、ＰＬＬ回路などを含み、ＯＥ変換回路２２０から入力されたフレーム信号を８倍の周波数に逓倍し、クロック信号（図２（Ｂ））を生成し、フレーム信号とともに、送信部２４の符号化部３およびＰ／Ｓ回路２４２および受信部２６の復号回路４およびＳ／Ｐ回路２６４に対して出力する。
【００３２】
［送信部２４］
以下、送信部２４の構成および動作を説明する。
【００３３】
［符号化部３のハードウェア構成］
図４は、図３に示した符号化部３および復号回路４のハードウェア構成を例示する図である。
図４に示すように、符号化部３および復号回路４は、ＣＰＵ１４０、メモリ１４２、ＨＤＤ・ＣＤ装置などの記録装置１４４などから構成される。
つまり、送信部２４において、符号化部３は、ソフトウェア処理により、送信データに対して６Ｂ／８Ｂ符号化を行って、８ビットパラレル形式の符号化データとするために必要な構成部分を含んでいる。
なお、以下に述べる符号化は、ハードウェア的に実現されるか、ソフトウェア的に実現されるかは問われないが、説明の具体化・明確化のために、符号化がソフトウェア的に行われる場合を具体例とする。
【００３４】
［第１の符号化プログラム３０の構成］
図５は、図３および図４に示した符号化部３により実行され、本発明にかかる第１の符号化方法を実現する第１の符号化プログラム３０の構成を示す図である。
図６は、図５に示した第１の符号化プログラム３０の処理を示す図表である。図５に示すように、符号化プログラム３０は、ワード分割部３００、第１の符号付加部３０２、第２の符号付加部３０４、ワード組立部３０６および特定値ワード変換回路３０８から構成される。
符号化プログラム３０は、例えば、記録媒体１４６（図４）を介して符号化部３に供給され、メモリ１４２にロードされて実行される。
【００３５】
ワード分割部３００は、図６の左端の表に示すように、データ処理部２０（図３）から入力される１ワード６ビット構成のパラレル形式の送信データに含まれるビットＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆを、図６の左から２番目の表に示すように、上位３ビットＡ〜Ｃ（ビット束１）と下位３ビットＤ〜Ｆ（ビット束２）の２つの部分（ワード部分）に分割し、ビット束１を符号付加部３０２に対して出力し、ビット束２を符号付加部３０４に対して出力する。
【００３６】
図６の左から２番目の表に示すように、符号付加部３０２は、ワード分割部３００から入力されるビット束１に含まれるビットＡ〜Ｃの内、論理値１を示すビットの数が０または１である場合には、論理値１の付加ビットＸをビット束１に付加し、論理値１を示すビットの数が２または３である場合には、論理値０の付加ビットＸをビット束１に付加して、ワード組立部３０６に対して出力する。
【００３７】
同様に、図６の左から２番目の表に示すように、符号付加部３０４は、ワード分割部３００から入力されるビット束２に含まれるビットＤ〜Ｆの内、論理値１を示すビットの数が０または１である場合には、論理値１の付加ビットＹをビット束２に付加し、論理値１を示すビットの数が２または３である場合には、論理値０の付加ビットＹをビット束２に付加して、ワード組立部３０６に対して出力する。
【００３８】
ワード組立部３０６は、図６の右から２番目に示すように、付加ビットＸが付加されたビット束１と、付加ビットＹが付加されたビット束２とを組み立て、１ワード８ビット構成のパラレル形式の符号化データを生成し、特定値ワード変換回路３０８に対して出力する。
【００３９】
特定値ワード変換回路３０８は、送信データの値が「００００００」または「１１１１１１」（第１の値）である場合には、これらの値を採る送信データを、所定の値（第２の値）の符号化データに変換し、Ｐ／Ｓ回路２４２に対して出力する。
つまり、特定値ワード変換回路３０８は、例えば、「００００００」という値（第１の値）を採る送信データを、「００００１１１１」という値（第２の値）の符号化データに変換し、「１１１１１１」という値（第１の値）を採る送信データを、「１１１１００００」という値（第２の値）の符号化データに変換して、Ｐ／Ｓ回路２４２（図３）に対して出力する。
また、特定値ワード変換回路３０８は、送信データの値が「００００００」および「１１１１１１」以外の値を採る場合には、ワード組立部３０６から入力される符号化データを、Ｐ／Ｓ回路２４２に対して出力する。
【００４０】
符号化プログラム３０の処理を、図７を参照してさらに説明する。
図７は、図６に示した符号化プログラム３０の処理（Ｓ１０）を示すフローチャートである。
図７に示すように、ステップ１００（Ｓ１００）において、データ処理部２０（図３，図４）は、符号化部３（符号化プログラム３０；図５）に対して、１ワード６ビット構成のパラレル形式の送信データを入力する。
【００４１】
送信データの値が「００００００」の場合は、ステップ１０２（Ｓ１０２）において、特定値ワード変換回路３０８が、送信データを「００００１１１１」という値の符号化データに変換する。
また、送信データの値が「１１１１１１」の場合は、ステップ１０４（Ｓ１０４）において、特定値ワード変換回路３０８が、送信データを「１１１１００００」という値の符号化データに変換する。
【００４２】
送信データの値が「００００００」または「１１１１１１」の場合以外は、符号化プログラム３０は、Ｓ１２の処理に進む。
ステップ１２０（Ｓ１０２）において、ワード分割部３００は、送信データの６つのビットそれぞれにＡ〜Ｆという名前を付ける。
【００４３】
ステップ１２２（Ｓ１２２）ワード分割部３００は、ビットＡ〜ＣとビットＤ〜Ｆを、それぞれビット束１とビット束２とに分割する。
【００４４】
ステップ１３０（Ｓ１３０）において、符号付加部３０２は、ビットＡ〜Ｃに対してビット束１という名前を付ける。
【００４５】
ステップ１３２（Ｓ１３２）において、符号付加部３０２は、ビット束１に含まれる論理値１の個数を計数する。
符号化プログラム３０は、ビット束１に含まれる論理値１の個数が０または１である場合にはＳ１３４の処理に進み、これ以外の場合にはＳ１３６の処理に進む。
【００４６】
ステップ１３４（Ｓ１３４）において、符号付加部３０２は、ビット束１に論理値１の付加ビットを付加し、ビット束１「Ａ，Ｂ，Ｃ」を、「Ａ，Ｂ，Ｃ，１」と変換する。
【００４７】
ステップ１３６（Ｓ１３６）において、符号付加部３０２は、ビット束１に論理値０の付加ビットを付加し、ビット束１「Ａ，Ｂ，Ｃ」を、「Ａ，Ｂ，Ｃ，０」と変換する。
【００４８】
ステップ１４０（Ｓ１４０）において、符号付加部３０４は、ビットＤ〜Ｆに対してビット束２という名前を付ける。
【００４９】
ステップ１４２（Ｓ１４２）において、符号付加部３０４は、ビット束２に含まれる論理値１の個数を計数する。
符号化プログラム３０は、ビット束２に含まれる論理値１の個数が０または１である場合にはＳ１４４の処理に進み、これ以外の場合にはＳ１４６の処理に進む。
【００５０】
ステップ１４４（Ｓ１４４）において、符号付加部３０４は、ビット束２に論理値１の付加ビットを付加し、ビット束２「Ｄ，Ｅ，Ｆ」を、「Ｄ，Ｅ，Ｆ，１」と変換する。
【００５１】
ステップ１４６（Ｓ１３６）において、符号付加部３０４は、ビット束１に論理値０の付加ビットを付加し、ビット束２「Ｄ，Ｅ，Ｆ」を、「Ｄ，Ｅ，Ｆ，０」と変換する。
【００５２】
ワード組立部３０６は、Ｓ１３０〜Ｓ１４６の処理により得られたビット束１，２を組み立てて符号化データを生成する。
さらに、特定値ワード変換回路３０８は、送信データの値に応じて、特定値ワード変換回路３０８が生成した符号化データまたは符号付加部３０２，３０４が生成した符号化データをＰ／Ｓ回路２４２に対して出力する。
以上説明した処理により、図６の右端の表の一番上と一番下のＤＣバランスの値は０．５となり、符号化プログラム３０の処理により生成される符号化データのＤＣバランスは、０．３７５〜０．６２５の範囲内に保たれる。
【００５３】
Ｐ／Ｓ回路２４２（図３）は、符号化部３（図３，図４（符号化プログラム３０；図５〜図７））から入力された１ワード８ビット構成のパラレル形式の符号化データをシリアル形式に変換し、図２（Ｄ）に示した伝送データを生成し、送信回路２４４に対して出力する。
【００５４】
送信回路２４４（図３）は、Ｐ／Ｓ回路２４２から入力されたシリアル形式の伝送データを、電気的な伝送信号（電流信号Ｉ）に変換し、ＥＯ変換回路２４６に対して出力する。
ＥＯ変換回路２４６は、送信回路２４４から入力された電気的な伝送信号を、光学的な伝送信号に変換し、光伝送路１０を介して他の通信ノード２に対して伝送する。
【００５５】
［受信部２６］
以下、受信部２６（図３）の構成および動作を説明する。
【００５６】
ＯＥ変換回路２２０は、光伝送路１０を介して他の通信ノード２から伝送されてきた光学的な伝送信号を電気的な伝送信号（電流信号Ｉ）に変換し、受信回路２８に対して出力する。
【００５７】
図８は、図３に示した受信回路２８の構成を示す図である。
図８に示すように、受信回路２８は、電流／電圧変換回路（Ｉ／Ｖ回路）２８０、閾値生成回路２８２および比較・識別回路２８４から構成される。
受信回路２８において、Ｉ／Ｖ回路２８０は、受信部２６のＯＥ変換回路２２０と容量結合され、ＯＥ変換回路２２０から電流信号Ｉとして入力される伝送信号を、電圧信号Ｖに変換し、閾値生成回路２８２および比較・識別回路２８４に対して出力する。
【００５８】
閾値生成回路２８２（図８）は、Ｉ／Ｖ回路２８０から入力される電圧信号Ｖの平均値をとり、閾値ＴＨとして比較・識別回路２８４に対して出力する。
比較・識別回路２８４は、Ｉ／Ｖ回路２８０から入力される電圧信号Ｖの電圧と閾値ＴＨの電圧とを比較し、例えば、電圧信号Ｖの電圧が閾値ＴＨの電圧よりも高い区間を論理値１と識別し、電圧信号Ｖの電圧が閾値ＴＨの電圧よりも低い区間を論理値０と識別し、シリアル形式の符号化データ（図２（Ｄ））として、Ｓ／Ｐ回路２６４に対して出力する。
【００５９】
Ｓ／Ｐ回路２６４（図３）は、受信回路２８（図３，図８）から入力されるシリアル形式の符号化データを、１ワード８ビット構成のパラレル形式の符号化データに変換し、復号回路４に対して出力する。
【００６０】
［復号回路４］
復号回路４は、例えば、図４に示したハードウェア構成を採る。
つまり、受信部２６において、復号回路４は、ソフトウェア処理により、符号化部３（図３，図４（符号化プログラム３０；図５〜図７））により６Ｂ／８Ｂ符号化がなされた符号化データを復号し、元の送信データと同じ値の１ワード６ビット構成のパラレル形式の受信データとするために必要な構成部分を含んでいる。
【００６１】
［第１の復号プログラム４０］
図９は、図３および図４に示した復号回路４により実行され、本発明にかかる復号を実現する第１の復号プログラム４０の構成を示す図である。
図９に示すように、復号プログラム４０は、符号削除部４００および符号変換部４０２から構成される。
復号プログラム４０において、符号削除部４００は、図６，図７に示したように符号化データに付加された付加ビットＸ，Ｙを削除し、受信データとして符号変換部４０２に対して出力する。
【００６２】
符号変換部４０２は、符号化ビットが「００００１１１１」という値をとる場合に、このビットを「００００００」という受信ビットに変換し、また、符号化ビットが「１１１１００００」という値をとる場合に、このビットを「１１１１１１」という受信データに変換する。
符号変換部４０２は、符号化ビットが「００００１１１１」または「１１１１００００」という値をとる場合には、符号変換部４０２が変換の結果として得た「００００００」または「１１１１１１」という値の受信データをデータ処理部２０に対して出力し、これ以外の場合には、符号削除部４００が作成した受信データをデータ処理部２０に対して出力する。
【００６３】
復号プログラム４０の動作を、図１０を参照してさらに説明する。
図１０は、図９に示した復号プログラム４０の処理（Ｓ１８）を示すフローチャートである。
図１０に示すように、ステップ１８０（Ｓ１８０）において、Ｓ／Ｐ回路２６４は、８ビットパラレル形式の符号化データを復号回路４（図３，図４（復号プログラム４０；図９））に対して入力する。
【００６４】
ステップ１８２（Ｓ１８２）において、符号変換部４０２は、Ｓ／Ｐ回路２６４から入力された符号化データの値をチェックする。
符号化データの値が「００００１１１１」である場合には、復号プログラム４０はＳ１６４の処理に進み、符号化データの値が「１１１１００００」である場合には、復号プログラム４０はＳ１６６の処理に進み、符号化データの値がこれら以外である場合には、復号プログラム４０はＳ１６８の処理に進む。
【００６５】
ステップ１６４（Ｓ１６４）において、符号変換部４０２は、符号化データを「００００００」という値の受信データに変換する。
【００６６】
ステップ１６６（Ｓ１６６）において、符号変換部４０２は、符号化データを「１１１１１１」という値の受信データに変換する。
【００６７】
ステップ１６８（Ｓ１６８）において、符号削除部４００は、入力された符号化データの４番目と８番目に付加された付加ビットＸ，Ｙ（図６）を削除し、受信データとして符号変換部４０２に対して出力する。
【００６８】
ステップ１７０（Ｓ１７０）において、符号変換部４０２は、上述したように、符号化ビットの値に応じて、符号変換部４０２が作成した受信データ、または、符号削除部４００が作成した受信データをデータ処理部２０に対して出力する。
【００６９】
［全体動作］
以下、光通信システム１の全体的な動作を説明する。
光通信システム１において、フレーム信号発生回路１２は、光伝送路１０を介して、通信ノード２−１〜２−ｍそれぞれに対してフレーム信号（図２（Ａ））を供給する。
通信ノード２−１〜２−ｍそれぞれにおいて、タイミング生成部２２（図３）は、光伝送路１０からフレーム信号を受信してクロック信号（図２（Ｂ））を生成し、送信部２４の符号化部３およびＰ／Ｓ回路２４２、および、受信部２６の復号回路４およびＳ／Ｐ回路２６４に対して出力する。
【００７０】
例えば、通信ノード２−１（図１）において、データ処理部２０（図３）は、通信ノード２−２に対して伝送すべき送信データを生成し、送信部２４の符号化部３（図３，図４（符号化プログラム３０；図５〜図７））に対して出力する。符号化部３（符号化プログラム３０）は、図６および図７に示したように送信データを符号化し、Ｐ／Ｓ回路２４２に対して出力する。
【００７１】
Ｐ／Ｓ回路２４２（図３）は、符号化部３（図３，図４（符号化プログラム３０；図５〜図７））から入力された符号化データをシリアル形式の伝送データ（図２（Ｄ））に変換し、送信回路２４４に対して出力する。
送信回路２４４およびＥＯ変換回路２４６（図３）は、Ｐ／Ｓ回路２４２から入力される伝送データを、光学的な伝送信号に変換し、通信ノード２−２（図１）などに対して伝送する。
【００７２】
通信ノード２−２（図１）において、受信部２６のＯＥ変換回路２２０（図３）は、通信ノード２−１から光伝送路１０を介して伝送されてきた伝送信号を電気的な伝送信号（電流信号Ｉ；図８）に変換し、ＯＥ変換回路２２０と容量結合された受信回路２８に対して出力する。
受信回路２８において、Ｉ／Ｖ回路２８０（図８）は、電流信号Ｉを電圧信号Ｖに変換して閾値生成回路２８２および比較・識別回路２８４に対して出力する。
【００７３】
閾値生成回路２８２（図８）は、Ｉ／Ｖ回路２８０から入力される電圧信号Ｖの平均値をとり、閾値ＴＨとして比較・識別回路２８４に対して出力する。
比較・識別回路２８４は、Ｉ／Ｖ回路２８０から入力される電圧信号Ｖと、閾値信号ＴＨとを比較し、電圧信号Ｖが示す論理値を識別し、シリアル形式の符号化データ（図２（Ｄ））としてＳ／Ｐ回路２６４（図３）に対して出力する。
Ｓ／Ｐ回路２６４は、受信回路２８から入力されたシリアル形式の符号化データをパラレル形式に変換し、復号回路４（図３，図４（復号プログラム４０（図９，図１０））に対して出力する。
【００７４】
復号回路４（図３，図４（復号プログラム４０（図９，図１０））は、図１０に示したように、Ｓ／Ｐ回路２６４から入力される符号化データを復号し、受信データとしてデータ処理部２０に対して出力する。
データ処理部２０は、復号回路４（復号プログラム４０）から入力された受信データの記憶・処理を行う。
【００７５】
［変形例］
なお、以上説明した実施形態においては、通信ノード２の間でデータを伝送する伝送路として、光伝送路１０が用いられる場合を具体例としたが、光伝送路１０の代わりにメタリック伝送路を用いてもよい。
つまり、本発明にかかる符号化・復号は、光伝送路のＤＣバランスを採るだけではなく、メタリック伝送路のＤＣバランスを取るためにも用いられ得る。
また、符号化部３、復号回路４およびデータ処理部２０は、それぞれ別々のハードウェアにより構成されても、同じハードウェアにより構成されてもよい。
【００７６】
また、符号化部３は、ｎビット送信データをアドレス入力とし、ｎ＋ｋビット符号化データをデータ出力とし、送信データを符号化データに変更するためのデータを記憶したＲＯＭなどにより置換可能であるが、入出力関係が、符号化部３により実現される符号化と同じ符号化方法は、回路方式にかかわらず、本発明にかかる符号化方法と等価である（以下の実施形態においても同様）。
また、復号回路４は、符号化部３と同様に、変換用のＲＯＭなどにより置換可能であるが、入出力関係が、復号回路４により実現される符号化と同じ復号方法は、回路方式にかかわらず、本発明にかかる復号方法と等価である（以下の実施形態においても同様）。
【００７７】
また、以上、１ワード６ビットのデータを２つに分割して符号化し、復号する方法を説明したが、第１の実施形態として述べた符号化方法および復号方法は、例えば、８ビットのデータを１０ビットに符号化し、復号する処理に応用可能である（以下の実施形態においても同様）。
また、第１の実施形態として述べた符号化方法および復号方法は、例えば、１２ビットのデータを４ビットずつの３つの部分に分割し、それぞれにビットをふかして１５ビットに変換するなどの用途に応用可能である（以下の実施形態においても同様）。
また、実施形態において述べたビットの論理値および処理の手順などは例示であって、同様な目的を達成するために、適宜、変更することができる（以下の実施形態においても同様）。
【００７８】
［第２実施形態］
以下、本発明の第２の実施形態を説明する。
第２の実施形態として示す第２の符号化方法は、送信データを２つの部分に分け、一方の部分および他の部分に含まれる論理値１の個数に応じて、他の部分ビットの論理値を反転し、または、反転しないままとし、さらに、ＤＣバランスを０．５に近づけるための付加ビットを付加することにより、符号化を行うように構成されている。
【００７９】
［第２の符号化プログラム３２］
図１１は、図１に示した通信ノード２の符号化部３（図３，図４）において、第１の符号化プログラム３０（図５〜図７）の代わりに用いられ、本発明にかかる第２の符号化方法を実現する第２の符号化プログラム３２の構成を示す図である。
図１２〜図１５は、図１１に示した第２の符号化プログラム３２の処理を示す第１〜第４の図表である。
【００８０】
図１１に示すように、符号化プログラム３２は、ワード分割部３２０、ビット計数部３２２、反転部３２４、フラグ付加部３２６、ワード組立部３２８および符号付加部３３０から構成される。
符号化プログラム３２は、符号化プログラム３０と同様に、記録媒体１４６（図４）などを介して符号化部３に供給され、実行される。
これらの構成部分により、符号化プログラム３２は、１ワード８ビット構成のパラレル形式の送信データ（図３）を符号化する。
なお、第２の符号化プログラム３２、および、後述する第２の復号プログラム４２（図１７，図１８）は、第１の符号化プログラム３０および第１の復号プログラム４０とは異なり、８Ｂ／１０Ｂ変換を行うので、第２の符号化プログラム３２の動作に合わせて、通信ノード２の各構成部分（図１，図３など）の動作も、適宜、変更される必要がある。
【００８１】
符号化プログラム３２において、ワード分割部３２０は、図１２〜図１５の左端の表に示された送信データを、送信データに含まれる８つのビットＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈ，Ｉ，Ｇ，Ｈの内の上位３ビットＡ，Ｂ，Ｃと、下位５ビットＤ，Ｅ，Ｆ，Ｇ，Ｈ，Ｉ，Ｇ，Ｈとに分割する。
ワード分割部３２０は、送信データの上位３ビットＡ，Ｂ，Ｃをビット束１としてビット計数部３２２およびワード組立部３２８に対して出力し、送信データの下位５ビットＤ，Ｅ，Ｆ，Ｇ，Ｈ，Ｉ，Ｇ，Ｈをビット束２として反転部３２４に対して出力する。
本発明にかかる第２の符号化方法においては、後述するようにビット束２の論理値に対する処理が行われた後に、さらに、ＤＣバランスを０．５に近づけるためのビットが付加される。
従って、ワード分割部３２０が生成するビット束１，２のビット数は、同数であるよりも同数でない方が、より容易に、ＤＣバランスを０．５に近づけることができる。
また、ビット束１，２には、奇数のビットが含まれることが望ましい。
【００８２】
ビット計数部３２２は、ワード分割部３２０から入力されたビット束１の論理値１のビットの数を計数し、計数結果を反転部３２４に通知する。
【００８３】
反転部３２４は、図１２〜図１５の左から２番目の表に示されるように、ビット束１の論理値１の個数、および、ビット束２の論理値１の個数に応じて、ビット束２の論理値を反転させ、または、反転させずにフラグ付加部３２６に対して出力する。
また、反転部３２４は、ビット束２を反転したか否かをフラグ付加部３２６に対して通知する。
【００８４】
つまり、反転部３２４は、ビット束１の論理値１の個数が０または１である場合であって、ビット束２の論理値１の個数が０〜２のいずれかである場合には、ビット束２に含まれる全部のビットの論理値を反転させたビット束２’をフラグ付加部３２６に対して出力し、ビット束２の論理値１の個数が３〜５のいずれかである場合には、ビット束２に含まれる全部のビットの論理値を反転させないまで、フラグ付加部３２６に対して出力する。
また、反転部３２４は、ビット束１の論理値１の個数が２または３である場合であって、ビット束２の論理値１の個数が３〜５のいずれかである場合には、ビット束２に含まれる全部のビットの論理値を反転させたビット束２’をフラグ付加部３２６に対して出力し、ビット束２の論理値１の個数が０〜２のいずれかである場合には、ビット束２に含まれる全部のビットの論理値を反転させないままで、フラグ付加部３２６に対して出力する。
【００８５】
フラグ付加部３２６は、図１２〜図１５の右から２番目の表に示すように、反転部３２４から反転されたビット束２’が入力された場合には、ビット束２’に、反転されていることを示す論理値１のフラグ（第２の付加ビット；ｃｏｄｅ１）を付加してワード組立部３２８に対して出力する。
また、フラグ付加部３２６は、図１２〜図１５の右から２番目の表に示すように、反転部３２４から非反転のビット束２が入力された場合には、ビット束２に、反転されていないことを示す論理値０のフラグを付加してワード組立部３２８に対して出力する。
【００８６】
ワード組立部３２８は、図１２〜図１５の右から２番目の表に示すように、ワード分割部３２０から入力されたビット束１と、反転部３２４から入力される非反転のビット束２または反転されたビット束２’とを組み立て、ワード組立部３２８に対して出力する。
【００８７】
符号付加部３３０は、図１２〜図１５の右から２番目の表に示すように、ワード組立部３２８から入力されるビットＡ〜Ｈと、これに付加されたフラグ（ｃｏｄｅ１）のビットの内、論理値１をとるビットの個数を計数する。
符号付加部３３０は、係数の結果として得られたビットＡ〜Ｈ，ｃｏｄｅ１の９ビットの論理値１の個数に応じて、ＤＣバランスを改善するための付加ビット（第３の付加ビット；ｃｏｄｅ２）の論理値を調整して付加する。
【００８８】
つまり、符号付加部３３０は、係数の結果として得られたビットＡ〜Ｈおよびｃｏｄｅ１の論理値１の個数が０〜４のいずれかである場合には、論理値１の付加ビット（ｃｏｄｅ２）を付加する。
また、符号付加部３３０は、係数の結果として得られたビットＡ〜Ｈおよびｃｏｄｅ１の論理値１の個数が５〜９のいずれかである場合には、論理値０の付加ビット（ｃｏｄｅ２）を付加する。
符号付加部３３０は、以上のように、ビット束１、および、反転されたビット束２’または非反転のビット束２に、２つの付加ビット（ｃｏｄｅ１，ｃｏｄｅ２）が付加されて生成された符号化データ（図１２〜図１５の右端の表を参照）を、通信ノード２のＰ／Ｓ回路２４２（図１，図３）に対して出力する。
【００８９】
図１６を参照して、符号化プログラム３２の処理をさらに説明する。
図１６は、図１５に示した符号化プログラム３２の処理（Ｓ２０）を示すフローチャートである。
図１６に示すように、ステップ２００（Ｓ２００）において、データ処理部２０が、送信部２４の符号化部３（図３，図４（符号化プログラム３２のワード分割部３２０；図１１））に対して１ワード８ビット構成のパラレル形式の送信データを入力する。
【００９０】
ステップ２０２（Ｓ２０２）において、ワード分割部３２０は、入力された送信データに含まれる８つのビットそれぞれに、Ａ〜Ｈという名前をつける。
【００９１】
ステップ２０４（Ｓ２０４）において、ワード分割部３２０は、送信データのビットＡ〜Ｈを分割し、ビットＡ〜Ｃをビット束１とし、ビットＤ〜Ｈをビット束２とする。
【００９２】
ステップ２０６（Ｓ２０６）において、反転部３２４は、ビット束２に含まれる全てのビットの論理値を反転し、ビット束２’を作成する。
【００９３】
ステップ２０８（Ｓ２０８）において、ビット計数部３２２は、ビット束１に含まれる論理値１の個数を計数し、反転部３２４に対して通知し、反転部３２４は、通知されたビット束１の論理値１の個数を判定する。
符号化プログラム３２は、ビット束１の論理値１の個数が０または１である場合にはＳ２１０の処理に進み、これ以外の場合はＳ２３０の処理に進む。
【００９４】
ステップ２１０（Ｓ２１０）において、反転部３２４は、ビット束２の論理値１の個数を判定する。
符号化プログラム３２は、ビット束２の論理値１の個数が０〜２のいずれかである場合にはＳ２１２の処理に進み、これ以外の場合にはＳ２２０の処理に進む。
【００９５】
ステップ２１２（Ｓ２１２）およびステップ２１４（Ｓ２１４）において、ワード組立部３２８は、ビット束１と論理値が反転されたビット束２’とを組み立て、ビット束２が反転されていることを示す論理値１のフラグ（ｃｏｄｅ１；図１２〜図１５）を付加する。
【００９６】
ステップ２２０（Ｓ２２０）およびステップ２２２（Ｓ２２２）において、ワード組立部３２８は、ビット束１と、論理値が非反転のビット束２とを組み立て、ビット束２が非反転であることを示す論理値０のフラグ（ｃｏｄｅ１；図１２〜図１５）を付加する。
【００９７】
ステップ２３０（Ｓ２３０）において、反転部３２４は、ビット束２の論理値１の個数を判定する。
符号化プログラム３２は、ビット束２の論理値１の個数が０〜２のいずれかである場合にはＳ２３２の処理に進み、これ以外の場合にはＳ２４０の処理に進む。
【００９８】
ステップ２３２（Ｓ２３２）およびステップ２３４（Ｓ２３４）において、ワード組立部３２８は、ビット束１と論理値が非反転のビット束２とを組み立て、ビット束２が非反転であることを示す論理値０のフラグ（ｃｏｄｅ１；図１２〜図１５）を付加する。
【００９９】
ステップ２４０（Ｓ２４０）およびステップ２４２（Ｓ２４２）において、ワード組立部３２８は、ビット束１と、論理値が反転されたビット束２’とを組み立て、ビット束２が反転されていることを示す論理値１のフラグ（ｃｏｄｅ１；図１２〜図１５）を付加する。
【０１００】
ステップ２５０（Ｓ２５０）において、符号付加部３３０は、以上の処理により生成されたビット列３（ビット束１と、反転されたビット束２’または非反転のビット束２と、これらに付加されたフラグ（ｃｏｄｅ１；図１２〜図１５））の論理値１の個数を再び計数する。
【０１０１】
ステップ２５２（Ｓ２５２）において、符号化プログラム３２は、Ｓ２５０の処理において計数されたビット列３の論理値１の個数が０〜４のいずれかである場合にはＳ２５４の処理に進み、これ以外の場合にはＳ２５６の処理に進む。
【０１０２】
ステップ２５４（Ｓ２５４）において、符号付加部３３０は、ビット列３に論理値１の付加ビット（ｃｏｄｅ２；図１２〜図１５）を付加し、符号化データを生成する。
【０１０３】
ステップ２５６（Ｓ２５６）において、符号付加部３３０は、ビット列３に論理値０の付加ビット（ｃｏｄｅ２；図１２〜図１５）を付加し、符号化データを生成する。
【０１０４】
ステップ２５８（Ｓ２５８）において、符号化プログラム３２は、以上のように生成された符号化データを、Ｐ／Ｓ回路２４２（図３）に対して出力する。
以上の処理により、符号化プログラム３２は、図１２〜図１５の右端の表に示すように、ＤＣバランスを０．７〜０．３（ほとんどの場合０．６〜０．４）の範囲に保つことができる。
【０１０５】
［第２の復号プログラム４２］
図１７は、図１に示した通信ノード２の復号回路４（図３，図４）において、第１の復号プログラム４０（図９，図１０）の代わりに用いられ、本発明にかかる第２の復号方法を実現する第２の復号プログラム４２の構成を示す図である。図１７に示すように、復号プログラム４２は、フラグチェック部４２０、フラグ・符号除去部４２２、ワード分割部４２４、ビット反転部４２６およびワード組立部４２８から構成される。
復号プログラム４２は、復号プログラム４０と同様に、記録媒体１４６などを介して復号回路４に供給され、実行される。
復号プログラム４２は、これらの構成部分により、符号化プログラム３２（図１１〜図１６）により符号化された符号化データを復号する。
【０１０６】
フラグチェック部４２０は、Ｓ／Ｐ回路２６４から入力される符号化データ（図１２〜図１５）に付加されたフラグ（ｃｏｄｅ２；図１２〜図１５）の値をチェックし、チェック結果をビット反転部４２６に対して通知する。
【０１０７】
フラグ・符号除去部４２２は、符号化データからフラグおよび付加ビット（ｃｏｄｅ１，２；図１２〜図１５）を取り除き、ワード分割部４２４に対して出力する。
【０１０８】
ワード分割部４２４は、ワード分割部４２４から入力される符号化データをビット束１と、反転されたビット束２’または非反転のビット束２に分割し、ビット束１をワード組立部４２８に対して出力し、ビット束２またはビット束２’をワード組立部４２８に対して出力する。
【０１０９】
ワード組立部４２８は、フラグチェック部４２０から入力されるチェック結果が、ビット束２が反転されていることを示す場合、つまり、ワード分割部４２４から反転されたビット束２’が入力された場合には、ビット束２’に含まれる全てのビットの論理値を反転してビット束２に戻す。
また、ワード組立部４２８は、フラグチェック部４２０から入力されるチェック結果が、ビット束２が非反転であることを示す場合、つまり、ワード分割部４２４から非反転のビット束２が入力された場合には、ビット束２を反転せずにそのままとする。
さらに、ワード組立部４２８は、以上のように得られたビット束２と、ビット束１とを組み立て、受信データとしてデータ処理部２０（図３）に対して出力する。
【０１１０】
図１８を参照して、復号プログラム４２の処理をさらに説明する。
図１８は、復号プログラム４２の処理（Ｓ２８）を示すフローチャートである。
図１８に示すように、ステップ２８０（Ｓ２８０）において、Ｓ／Ｐ回路２６４（図３）は、復号回路４（図３，図４（復号プログラム４２；図１７））に対して、１ワード１０ビット構成のパラレル形式の符号化ビット（図１２〜図１５）を入力する。
【０１１１】
ステップ２８４（Ｓ２８４）において、フラグ・符号除去部４２２は、符号化データからフラグおよび付加ビット（ｃｏｄｅ１，２；図１２〜図１５）を除去する。
【０１１２】
ステップ２８６（Ｓ２８６）において、フラグチェック部４２０、ワード分割部４２４、ビット反転部４２６およびワード組立部４２８は、図１７を参照して説明したように符号化データを復号し、１ワード８ビット構成のパラレル形式の受信データとし、データ処理部２０（図３）に対して出力する。
【０１１３】
［全体動作］
以下、第１の符号化プログラム３０（図５など）および第１の復号プログラム４０（図９など）の代わりに、第２の符号化プログラム３２（図１１〜図１６）および第２の復号プログラム４２（図１７，図１８）を用いた場合の光通信システム１の全体的な動作を説明する。
光通信システム１において、フレーム信号発生回路１２は、光伝送路１０を介して、通信ノード２−１〜２−ｍそれぞれに対してフレーム信号（図２（Ａ））を供給する。
通信ノード２−１〜２−ｍそれぞれにおいて、タイミング生成部２２（図３）は、光伝送路１０からフレーム信号を受信してクロック信号（図２（Ｃ））を生成し、送信部２４の符号化部３およびＰ／Ｓ回路２４２、および、受信部２６の復号回路４およびＳ／Ｐ回路２６４に対して出力する。
【０１１４】
例えば、通信ノード２−１（図１）において、データ処理部２０（図３）は、通信ノード２−２に対して伝送すべき送信データを生成し、送信部２４の符号化部３（図３，図４（符号化プログラム３２；図１１〜図１６））に対して出力する。
符号化部３（符号化プログラム３２）は、図１１〜図１７に示したように送信データを符号化し、Ｐ／Ｓ回路２４２に対して出力する。
【０１１５】
Ｐ／Ｓ回路２４２（図３）は、符号化部３（図３，図４（符号化プログラム３２；図１１〜図１６））から入力された符号化データをシリアル形式の伝送データ（図２（Ｅ））に変換し、送信回路２４４に対して出力する。
送信回路２４４およびＥＯ変換回路２４６（図３）は、Ｐ／Ｓ回路２４２から入力される伝送データを、光学的な伝送信号に変換し、通信ノード２−２（図１）などに対して伝送する。
【０１１６】
通信ノード２−２（図１）において、受信部２６のＯＥ変換回路２２０（図３）は、通信ノード２−１から光伝送路１０を介して伝送されてきた伝送信号を電気的な伝送信号（電流信号Ｉ；図８）に変換し、ＯＥ変換回路２２０と容量結合された受信回路２８に対して出力する。
受信回路２８において、Ｉ／Ｖ回路２８０（図８）は、電流信号Ｉを電圧信号Ｖに変換して閾値生成回路２８２および比較・識別回路２８４に対して出力する。
【０１１７】
閾値生成回路２８２（図８）は、Ｉ／Ｖ回路２８０から入力される電圧信号Ｖの平均値をとり、閾値ＴＨとして比較・識別回路２８４に対して出力する。
比較・識別回路２８４は、Ｉ／Ｖ回路２８０から入力される電圧信号Ｖと、閾値信号ＴＨとを比較し、電圧信号Ｖが示す論理値を識別し、シリアル形式の符号化データ（図２（Ｅ））としてＳ／Ｐ回路２６４（図３）に対して出力する。
Ｓ／Ｐ回路２６４は、受信回路２８から入力されたシリアル形式の符号化データをパラレル形式に変換し、復号回路４（図３，図４（復号プログラム４２（図１７，図１８））に対して出力する。
【０１１８】
復号回路４（図３，図４（復号プログラム４２（図１７，図１８））は、図１８に示したように、Ｓ／Ｐ回路２６４から入力される符号化データを復号し、受信データとしてデータ処理部２０に対して出力する。
データ処理部２０は、復号回路４（復号プログラム４２）から入力された受信データの記憶・処理を行う。
【０１１９】
［変形例］
なお、符号化プログラム３２（図１１）および復号プログラム４２（図１７）の動作を適切に変更することにより、以下に示すように、８Ｂ／１０Ｂ符号化およびその復号、例えば、６Ｂ／８Ｂ符号化およびその復号を行うことができる。図１９は、６Ｂ／８Ｂの符号化を行う際の符号化プログラム３２（図１１）の処理（Ｓ３０）を示すフローチャートである。
図２０は、図１９に示した第２の符号化プログラム３２による６Ｂ／８Ｂの符号化処理を示す図表である。
【０１２０】
図１９に示すように、ステップ３００（Ｓ３００）において、データ処理部２０が、送信部２４の符号化部３（図３，図４（符号化プログラム３２のワード分割部３２０；図１１））に対して、図２０の左端の表に示す１ワード６ビット構成のパラレル形式の送信データを入力する。
【０１２１】
ステップ３０２（Ｓ３０２）において、ワード分割部３２０は、入力された送信データに含まれる６つのビットそれぞれに、Ａ〜Ｆという名前をつける。
【０１２２】
ステップ３０４（Ｓ３０４）において、ワード分割部３２０は、図２０の左から２つ目の表に示すように、送信データのビットＡ〜Ｆを分割し、ビットＡ〜Ｃをビット束１とし、ビットＤ〜Ｆをビット束２とする。
【０１２３】
ステップ３０６（Ｓ３０６）において、反転部３２４は、ビット束２に含まれる全てのビットの論理値を反転し、ビット束２’を作成する。
【０１２４】
ステップ３０８（Ｓ３０８）において、ビット計数部３２２は、ビット束１に含まれる論理値１の個数を計数し、反転部３２４に対して通知し、反転部３２４は、通知されたビット束１の論理値１の個数を判定する。
符号化プログラム３２は、ビット束１の論理値１の個数が０または１である場合にはＳ３１０の処理に進み、これ以外の場合はＳ３３０の処理に進む。
【０１２５】
ステップ３１０（Ｓ３１０）において、反転部３２４は、ビット束２の論理値１の個数を判定する。
符号化プログラム３２は、ビット束２の論理値１の個数が０または１である場合にはＳ３１２の処理に進み、これ以外の場合にはＳ３２０の処理に進む。
【０１２６】
ステップ３１２（Ｓ３１２）およびステップ３１４（Ｓ３１４）において、ワード組立部３２８は、ビット束１と論理値が反転されたビット束２’とを組み立て、図２０の右から２つ目の表に示すように、ビット束２が反転されていることを示す論理値１のフラグ（ｃｏｄｅ１）を付加する。
【０１２７】
ステップ３２０（Ｓ３２０）およびステップ３２２（Ｓ３２２）において、ワード組立部３２８は、ビット束１と、論理値が非反転のビット束２とを組み立て、図２０の右から２つ目の表に示すように、ビット束２が非反転であることを示す論理値０のフラグ（ｃｏｄｅ１）を付加する。
【０１２８】
ステップ３３０（Ｓ３３０）において、反転部３２４は、ビット束２の論理値１の個数を判定する。
符号化プログラム３２は、ビット束２の論理値１の個数が０または１である場合にはＳ３３２の処理に進み、これ以外の場合にはＳ３４０の処理に進む。
【０１２９】
ステップ３３２（Ｓ３３２）およびステップ３３４（Ｓ３３４）において、ワード組立部３２８は、ビット束１と論理値が非反転のビット束２とを組み立て、図２０の右から２つ目の表に示すように、ビット束２が非反転であることを示す論理値０のフラグ（ｃｏｄｅ１）を付加する。
【０１３０】
ステップ３４０（Ｓ３４０）およびステップ３４２（Ｓ３４２）において、ワード組立部３２８は、ビット束１と、論理値が反転されたビット束２’とを組み立て、図２０の右から２つ目の表に示すように、ビット束２が反転されていることを示す論理値１のフラグ（ｃｏｄｅ１）を付加する。
【０１３１】
ステップ３５０（Ｓ３５０）において、符号付加部３３０は、以上の処理により生成されたビット列３（ビット束１と、反転されたビット束２’または非反転のビット束２と、これらに付加されたフラグ（ｃｏｄｅ１；図２０））の論理値１の個数を再び計数する。
【０１３２】
ステップ３５２（Ｓ３５２）において、符号化プログラム３２は、Ｓ３５０の処理において計数されたビット列３の論理値１の個数が０または１である場合にはＳ３５４の処理に進み、これ以外の場合にはＳ３５６の処理に進む。
【０１３３】
ステップ３５４（Ｓ３５４）において、符号付加部３３０は、図２０の右から２番目の表に示すように、ビット列３に論理値１の付加ビット（ｃｏｄｅ２）を付加し、符号化データを生成する。
【０１３４】
ステップ３５６（Ｓ３５６）において、符号付加部３３０は、図２０の右から２番目の表に示すように、ビット列３に論理値０の付加ビット（ｃｏｄｅ２）を付加し、符号化データを生成する。
【０１３５】
ステップ３５８（Ｓ３５８）において、符号化プログラム３２は、以上のように生成された符号化データを、Ｐ／Ｓ回路２４２（図３）に対して出力する。
以上の処理により、符号化プログラム３２は、図２０の右端の表に示すように、ＤＣバランスを０．６２５〜０．３７５の範囲に保つことができる。
【０１３６】
図２１は、図１９および図２０に示したように符号化された符号化データを復号するための復号プログラム４２（図１７）の処理（Ｓ３８）を示すフローチャートである。
図２１に示すように、ステップ３６０（Ｓ３６０）において、Ｓ／Ｐ回路２６４（図３）は、復号回路４（図３，図４（復号プログラム４２；図１７））に対して、１ワード８ビット構成のパラレル形式の符号化ビット（図２０）を入力する。
【０１３７】
ステップ３６４（Ｓ３６４）において、フラグ・符号除去部４２２は、符号化データからフラグおよび付加ビット（ｃｏｄｅ１，２；図２０）を除去する。
【０１３８】
ステップ３６６（Ｓ３６６）において、フラグチェック部４２０、ワード分割部４２４、ビット反転部４２６およびワード組立部４２８は、図１７を参照して説明したように符号化データを復号し、１ワード６ビット構成のパラレル形式の受信データとし、データ処理部２０（図３）に対して出力する。
【０１３９】
【発明の効果】
以上説明したように、本発明にかかる符号化装置およびその方法によれば、任意のビット数のデータを符号化してＤＣバランスを取ることができる。
【図面の簡単な説明】
【図１】本発明にかかる符号化方法および復号方法が適応される光通信システムの構成を示す図である。
【図２】図１に示した光通信システムにおいてデータが伝送されるタイミングを示す図であって、（Ａ）はフレーム信号発生回路１２が通信ノード２に対して供給するフレーム信号を示し、（Ｂ），（Ｃ）はそれぞれ、通信ノード２がフレーム信号から再生する８ビット構成の伝送データ用のクロック信号と１０ビット構成の伝送データ用のクロック信号とを示し、（Ｄ），（Ｅ）はそれぞれ、通信ノード２の間で伝送される８ビット構成の伝送データと１０ビット構成の伝送データとを示す。
【図３】図１に示した通信ノードの構成を示す図である。
【図４】図３に示した符号化部および復号回路のハードウェア構成を例示する図である。
【図５】図３および図４に示した符号化部により実行され、本発明にかかる第１の符号化方法を実現する第１の符号化プログラムの構成を示す図である。
【図６】図５に示した第１の符号化プログラムの処理を示す図表である。
【図７】図６に示した符号化プログラムの処理（Ｓ１０）を示すフローチャートである。
【図８】図３に示した受信回路の構成を示す図である。
【図９】図３および図４に示した復号回路により実行され、本発明にかかる復号を実現する第１の復号プログラムの構成を示す図である。
【図１０】図９に示した復号プログラムの処理（Ｓ１８）を示すフローチャートである。
【図１１】図１に示した通信ノードの符号化部（図３，図４）において、第１の符号化プログラム（図５〜図７）の代わりに用いられ、本発明にかかる第２の符号化方法を実現する第２の符号化プログラムの構成を示す図である。
【図１２】図１１に示した第２の符号化プログラムの処理を示す第１の図表である。
【図１３】図１１に示した第２の符号化プログラムの処理を示す第２の図表である。
【図１４】図１１に示した第２の符号化プログラムの処理を示す第３の図表である。
【図１５】図１１に示した第２の符号化プログラムの処理を示す第４の図表である。
【図１６】図１５に示した符号化プログラムの処理（Ｓ２０）を示すフローチャートである。
【図１７】図１に示した通信ノードの復号回路（図３，図４）において、第１の復号プログラム（図９，図１０）の代わりに用いられ、本発明にかかる第２の復号方法を実現する第２の復号プログラムの構成を示す図である。
【図１８】図１８は、復号プログラム４２の処理（Ｓ２８）を示すフローチャートである。
【図１９】６Ｂ／８Ｂの符号化を行う際の符号化プログラム（図１１）の処理（Ｓ３０）を示すフローチャートである。
【図２０】図１９に示した第２の符号化プログラムによる６Ｂ／８Ｂの符号化処理を示す図表である。
【図２１】図１９および図２０に示したように符号化された符号化データを復号するための復号プログラム（図１７）の処理（Ｓ３８）を示すフローチャートである。
【符号の説明】
１・・・光通信システム、
１０・・・光伝送路、
１２・・・フレーム信号発生回路、
２・・・通信ノード、
２０・・・データ処理部、
２２・・・タイミング生成部、
２２０・・・ＯＥ変換回路、
２２２・・・クロック・フレーム再生回路、
２４・・・送信部、
３・・・符号化部、
１４０・・・ＣＰＵ、
１４２・・・メモリ、
１４４・・・記録装置、
１４６・・・記録媒体、
３０，３２・・・符号化プログラム、
３００，３２０・・・ワード分割部、
３０２，３０４・・・符号付加部、
３０６，３２８・・・ワード組立部、
３２２・・・ビット計数部、
３２４・・・反転部、
３２６・・・フラグ付加部、
２４２・・・Ｐ／Ｓ回路、
２４６・・・ＥＯ変換回路、
２６・・・受信部、
２８・・・受信回路、
２８０・・・Ｉ／Ｖ回路、
２８２・・・閾値生成回路、
２８４・・・比較・識別回路、
４・・・復号回路、
４０，４２・・・復号プログラム、
４００・・・符号削除部、
４０２・・・符号変換部、
４２０・・・フラグチェック部、
４２２・・・フラグ・符号除去部、
４２４・・・ワード分割部、
４２６・・・ビット反転部、
４２８・・・ワード組立部、
【図１】
2004080300.tif 000003
【図２】
2004080300.tif 000004
【図３】
2004080300.tif 000005
【図４】
2004080300.tif 000006
【図５】
2004080300.tif 000007
【図６】
2004080300.tif 000008
【図７】
2004080300.tif 000009
【図８】
2004080300.tif 000010
【図９】
2004080300.tif 000011
【図１０】
2004080300.tif 000012
【図１１】
2004080300.tif 000013
【図１２】
2004080300.tif 000014
【図１３】
2004080300.tif 000015
【図１４】
2004080300.tif 000016
【図１５】
2004080300.tif 000017
【図１６】
2004080300.tif 000018
【図１７】
2004080300.tif 000019
【図１８】
2004080300.tif 000020
【図１９】
2004080300.tif 000021
【図２０】
2004080300.tif 000022
【図２１】
2004080300.tif 000023