(57)【要約】【課題】  各ビットの変化のパターンが他のビットまたはビット全体に好ましくない影響を与えないようにパラレルデータを符号化する符号化回路を有する送信装置、および通信システムを提供する。【解決手段】    エンコーダ１５ａは、Ｎビットのパラレルデータの入力に応じて、各ビットの変化のパターンが他のビットの変化のパターンとの間で所定の条件（値が変化するビットの数を少なくする、値が連続して変化するビットの少なくする、および／またはクロクトーク数を少なくする）を満足するようなＭ（Ｍ＞Ｎ）ビットのパラレルコードを出力し、出力回路１４ａは、パラレルコードを外部へ出力する。【選択図】        図２
2005045610.tif 000002
【特許請求の範囲】
【請求項１】
Ｎビットのパラレルデータの入力に応じて、Ｍ（Ｍ＞Ｎ）ビットのパラレルコードを出力する符号化回路と、
前記パラレルコードを外部へ出力する出力回路とを備え、
前記符号化回路は、前回出力したパラレルコードに対して、各ビットの変化のパターンが他のビットの変化のパターンとの間で所定の条件を満足するようなパラレルコードを出力する、送信装置。
【請求項２】
前記符号化回路は、
前記入力されたパラレルデータに対応する複数のパラレルコードを生成するパラレルコード生成回路と、
各パラレルコードにつき、前記パラレルコードを構成する各ビットの変化のパターンが前記パラレルコードを構成する他のビットまたはビット全体に与える影響を評価して、前記パラレルコードの適性を示す判定値を出力する適性判定回路と、
前記判定値に基づいて、前記複数のパラレルコードのうちの１つを選択して出力する出力制御回路を備えた請求項１記載の送信装置。
【請求項３】
前記パラレルコード生成回路は、前記入力されたパラレルデータに１ビット以上の識別ビットを付加した第１のパラレルコードと、前記第１のパラレルコードの全ビットを反転させた第２のパラレルコードとを生成する、請求項２記載の送信装置。
【請求項４】
前記パラレルコード生成回路は、前記入力されたパラレルデータに２ビット以上の識別ビットを付加した第１のパラレルコードと、前記第１のパラレルコードの奇数ビットを反転させた第２のパラレルコードと、前記第１のパラレルコードの偶数ビットを反転させた第３のパラレルコードと、前記第１のパラレルコードの全ビットを反転させた第４のパラレルコードとを生成する、請求項２記載の送信装置。
【請求項５】
前記適性判定回路は、その値が変化するビットの数を前記判定値として算出する、請求項２記載の送信装置。
【請求項６】
前記適性判定回路は、その値が連続して変化するビットの数を前記判定値として算出する、請求項２記載の送信装置。
【請求項７】
前記適性判定回路は、それの両隣のビットが同一方向に変化し、かつその値が両隣のビットの変化後の値と異なるようなビットの数を前記判定値として算出する、請求項２記載の送信装置。
【請求項８】
前記適性判定回路は、その値が変化するビットの数を第１のビット数として算出し、その値が連続して変化するビットの数を第２のビット数として算出し、それの両隣のビットが同一方向に変化し、かつその値が両隣のビットの変化後の値と異なるようなビットの数を第３のビット数として算出し、前記第１のビット数と、前記第２のビット数に第１の係数を乗じた数と、前記第３のビット数に第２の係数を乗じた数との総和を前記判定値として算出する、請求項２記載の送信装置。
【請求項９】
前記符号化回路は、
前記入力されるパラレルデータに対応する第１のパラレルコードにつき、当該第１のパラレルコードを構成する各ビットの変化のパターンが、前記第１のパラレルコードを構成する他のビットまたはビット全体に与える影響を評価して、前記第１のパラレルコードの奇数ビットの適性を示す奇数ビットの判定値を出力し、前記第１のパラレルコードの偶数ビットの適性を示す偶数ビットの判定値を出力する適正判定回路と、
前記奇数ビットの判定値に基づいて、前記第１のパラレルコードの奇数ビットを反転または非反転するとともに、前記偶数ビットの判定値に基づいて、前記第１のパラレルコードの偶数ビットを反転または非反転し、その結果生成されるパラレルコードを出力する出力制御回路とを備える請求項１記載の送信装置。
【請求項１０】
前記適性判定回路は、その値が変化する奇数ビットの数を前記奇数ビットの判定値として算出し、その値が変化する偶数ビットの数を前記偶数ビットの判定値として算出する、請求項９記載の送信装置。
【請求項１１】
前記適性判定回路は、その値が前回変化し、かつ今回も変化する奇数ビットの数から、その値が前回変化し、かつ今回は変化しない奇数ビットの数を差し引いた数を前記奇数ビットの判定値として算出し、その値が前回変化し、かつ今回も変化する偶数ビットの数から、その値が前回変化し、かつ今回は変化しない偶数ビットの数を差し引いた数を前記偶数ビットの判定値として算出する、請求項９記載の送信装置。
【請求項１２】
前記適性判定回路は、それの両隣の奇数ビットが同一方向に変化し、かつその値が両隣の奇数ビットの変化後の値と異なるような偶数ビットの数から、それの両隣の奇数ビットが同一で変化せず、かつその値が両隣の奇数ビットの値と等しいような偶数ビットの数を差し引いた数を前記奇数ビットの判定値として算出し、それの両隣の偶数ビットが同一方向に変化し、かつその値が両隣の偶数ビットの変化後の値と異なるような奇数ビットの数から、それの両隣の偶数ビットが同一で変化せず、かつその値が両隣の偶数ビットの値と等しいような奇数ビットの数を差し引いた数を前記偶数ビットの判定値として算出する、請求項９記載の送信装置。
【請求項１３】
前記適性判定回路は、その値が変化する奇数ビットの数を第１の奇数ビット数として算出し、その値が前回変化し、かつ今回も変化する奇数ビットの数から、その値が前回変化し、かつ今回は変化しない奇数ビットの数を差し引いた数を第２の奇数ビット数として算出し、それの両隣の奇数ビットが同一方向に変化し、かつその値が両隣の奇数ビットの変化後の値と異なるような偶数ビットの数から、それの両隣の奇数ビットが同一で変化せず、かつその値が両隣の奇数ビットの値と等しいような偶数ビットの数を差し引いた数を第３の奇数ビット数として算出し、前記第１の奇数ビット数と、前記第２の奇数ビット数に第１の係数を乗じた数と、前記第３の奇数ビット数に第２の係数を乗じた数との総和を前記奇数ビットの判定値として算出し、
その値が変化する偶数ビットの数を第１の偶数ビット数として算出し、その値が前回変化し、かつ今回も変化する偶数ビットの数から、その値が前回変化し、かつ今回は変化しない偶数ビットの数を差し引いた数を第２の偶数ビット数として算出し、それの両隣の偶数ビットが同一方向に変化し、かつその値が両隣の偶数ビットの変化後の値と異なるような奇数ビットの数から、それの両隣の偶数ビットが同一で変化せず、かつその値が両隣の偶数ビットの値と等しいような奇数ビットの数を差し引いた数を第３の偶数ビット数として算出し、前記第１の偶数ビット数と、前記第２の偶数ビット数に第１の係数を乗じた数と、前記第３の偶数ビット数に第２の係数を乗じた数との総和を前記偶数ビットの判定値として算出する、請求項９記載の送信装置。
【請求項１４】
前記符号化回路は、Ｎビットのパラレルデータの各々について、値が１のビットの数と、値が０のビットの数との差が１以内であるＭビットのパラレルコードのいずれかを対応させて記憶し、
前記パラレルデータの入力に応じて、前記入力されたパラレルデータに対応して記憶されているパラレルコードを出力する、請求項１記載の送信装置。
【請求項１５】
前記符号化回路は、Ｎビットのパラレルデータの各々について、その両隣のビットの値が同一で、かつその値が両隣のビットの値と異なるようなビットを含まないようなＭビットのパラレルコードのいずれかを対応させて記憶し、
前記パラレルデータの入力に応じて、前記入力されたパラレルデータに対応して記憶されているパラレルコードを出力する、請求項１記載の送信装置。
【請求項１６】
送信装置と、当該送信装置と伝送路を介して接続された受信装置からなる通信システムであって、
送信装置は、
Ｎビットのパラレルデータの入力に応じて、Ｍ（Ｍ＞Ｎ）ビットのパラレルコードを出力する符号化回路と、
前記パラレルコードを伝送路を通じて受信装置に送信する出力回路とを備え、
前記符号化回路は、前回出力したパラレルコードに対して、各ビットの変化のパターンが他のビットの変化のパターンとの間で所定の条件を満足するようなパラレルコードを出力し、
受信装置は、
前記送信装置から伝送路を通じてパラレルコードを受信する入力回路と、
前記受信したパラレルコードに対応する前記パラレルデータを出力する復号化回路とを含む通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置、および通信システムに関し、特に、パラレルデータの伝送に好適な送信装置、および通信システムに関する。
【背景技術】
【０００２】
従来から、シリアルデータの伝送では、ＤＣ成分を除去することが重要となっている。たとえば、特許文献１で開示されている方法は、冗長ビットを用いること無しに、（１、ｋ）ＲＬＬ規則で、ｋ＝７あるいは８の制限化におけるＤＣ成分の抑圧を４ビットを６ビットに変換可能な符号化テーブルを用いて行なう。連続する２進数のデータ系列を４ビット単位の入力データ後に変換した後に、（１、７）ＲＬＬ規則または（１、８）ＲＬＬ規則を満足する６ビット単位の出力符号後列に変換し、さらに補助情報を付加して伝送する。
【０００３】
これによって、シリアルデータの伝送において、同一の値が連続することによって発生するＤＣ成分を除去することができる。
【特許文献１】特開２００２−２１６４３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このように、シルアルデータの伝送においては、１つのビットの変化を制御するだけでよかった。
【０００５】
しかしながら、パラレルデータの伝送においては、多ビットが同時に伝送されるので、各ビットの変化のみを制御しているだけでは不都合が生じる場合がある。なぜなら、パラレルデータを構成する各ビットの変化のパターンが、パラレルデータを構成する他のビットまたはビット全体に好ましくない影響を与える場合があるからである。
【０００６】
まず、パラレルデータを構成する複数ビットのうち、多数のビットが同時に変化すると、パラレルデータを伝送するための入出力回路や終端回路などにおいて、消費電力が大きくなる。
【０００７】
また、パラレルデータを構成する複数ビットのうち、特定のビットにビット値の変化が集中すると、変化があるたびに処理が必要となるので、パラレルデータを伝送するための入出力回路や終端回路の処理速度が遅くなる。
【０００８】
さらに、ビットパターンが「０１０」または「０００」から「１０１」に変化したり、「１０１」または「１１１」から「０１０」に変化したとき、つまり、その両隣のビットが同時に同方向に変化し、その値が両隣のビットの変化後の値と異なるようなビットが発生したときには、パラレルデータを伝送するための入出力回路、終端回路および信号線でクロストークノイズが発生することがある。
【０００９】
そこで、本発明は、各ビットの変化のパターンが他のビットまたはビット全体に好ましくない影響を与えないようにパラレルデータを符号化する符号化回路を有する送信装置、および通信システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、この発明に係わる送信装置、および通信システムは、Ｎビットのパラレルデータの入力に応じて、Ｍ（Ｍ＞Ｎ）ビットのパラレルコードを出力する符号化回路と、パラレルコードを外部または伝送路を通じて受信装置へ出力する出力回路とを備える。符号化回路は、前回出力したパラレルコードに対して、各ビットの変化のパターンが他のビットの変化のパターンとの間で所定の条件を満足するようなパラレルコードを出力する。
【発明の効果】
【００１１】
この発明に係わる送信装置、通信システム、半導体記憶装置、およびマルチチップパッケージによれば、符号化回路は、前回出力したパラレルコードに対して、各ビットの変化のパターンが他のビットの変化のパターンとの間で所定の条件を満足するようなパラレルコードを出力するので、各ビットの変化のパターンが他のビットまたはビット全体に好ましくない影響、たとえば、消費電力の増大、処理速度の遅延、またはクロストークノイズの発生などを与えないようにパラレルデータを符号化することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について図面を用いて説明する。
【００１３】
［第１の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋１）ビットの２つのパラレルコードを生成して、選択基準αによって、これら２つのパラレルコードのうちの１つを選択して出力する送信装置を有する通信システムに関する。
【００１４】
（通信システム）
図１は、第１の実施形態に係わる通信システムの構成を示す。同図に示すように、この通信システム１０００は、送信装置１００と受信装置２００とを備える。
【００１５】
（送信装置の構成）
図２は、第１の実施形態における送信装置の構成を示す。同図を参照して、この送信装置１００ａは、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋１）ビットのパラレルコードを送信する送信装置であって、エンコーダ１５ａと、出力回路１４ａとを備える。エンコーダ１５ａは、サブエンコーダ１１ａと、セレクタ１２ａと、データラッチ回路１３ａとを備える。
【００１６】
サブエンコーダ１１ａは、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋１）ビットのパラレルコードであるコードＡおよびコードＢを生成する。図３は、Ｎ＝４のときの元情報とコードＡおよびコードＢの対応関係を示す。同図に示すように、コードＡは、元情報の最上位側に「０」を１ビット追加したものである。コードＢは、コードＡの全ビットの「０」と「１」を反転したものである。
【００１７】
図４は、サブエンコーダ１１ａを実現する具体的な回路構成を示す。同図に示すように、サブエンコーダ１１ａは、いやゆるワイヤードロジックであり、元情報の各ビット（下位からｓ１，ｓ２，ｓ３，ｓ４）の値と、元情報の各ビットの値をインバータＩＶ１１〜ＩＶ１４によって反転した値を適宜組合せてコードＡの各ビット（下位からａ１，ａ２，ａ３，ａ４，ａ５）の値およびコードＢの各ビット（下位からｂ１，ｂ２，ｂ３，ｂ４，ｂ５）の値を生成する。
【００１８】
再び図２を参照して、セレクタ１２ａは、サブエンコーダ１１ａからコードＡまたはコードＢを受けて、いずれかを選択して出力する。セレクタ１２ａは、次のコードの選択基準として、選択基準α「その値が変化するビットの数が最小となるコードを選択する。」を用いる。つまり、セレクタ１２ａは、その値が変化するビットの数を判定値とし、判定値が最小のコードを選択する。
【００１９】
図５は、セレクタ１２ａが選択基準αによって順次選択するコード列の例を示す。同図において、左側にサブエンコーダ１１ａに入力される元情報を示し、右側にその元情報に対してサブエンコーダ１１ａが出力するコードＡおよびコードＢを示す。太枠で示されたコードがセレクタ１２ａが選択したコードを示す。
【００２０】
サブエンコーダ１１ａは、元情報「００１０」に対してコードＡ「０００１０」を出力し、コードＢ「１１１０１」を出力する。セレクタ１２ａは、最初は、デフォルト選択として、コードＡを選択する。
【００２１】
次に、サブエンコーダ１１ａは、元情報「１１０１」に対してコードＡ「０１１０１」を出力し、コードＢ「１００１０」を出力する。
【００２２】
セレクタ１２ａは、コードＡを選択したときに最下位から第１，２，３，４ビットの値が変化するので、その値が変化するビットの数が「４」であることを算出し、判定値Ａを「４」とする。また、セレクタ１２ａは、コードＢを選択したときには最下位から第５ビットの値が変化するので、その値が変化するビットの数が「１」であることを算出し、判定値Ｂを「１」とする。以上より、セレクタ１２ａは、判定値が最小のコードＢを選択する。
【００２３】
次に、サブエンコーダ１１ａは、元情報「１１１１」に対してコードＡ「０１１１１」を出力し、コードＢ「１００００」を出力する。
【００２４】
セレクタ１２ａは、コードＡを選択したときに最下位から第１，３，４，５ビットの値が変化するので、その値が変化するビットの数が「４」であることを算出し、判定値Ａを「４」とする。また、セレクタ１２ａは、コードＢを選択したときには最下位から第２ビットの値が変化するので、その値が変化するビットの数が「１」であることを算出し、判定値Ｂを「１」とする。以上より、セレクタ１２ａは、判定値が最小のコードＢを選択する。
【００２５】
次に、サブエンコーダ１１ａは、元情報「０１０１」に対してコードＡ「００１０１」を出力し、コードＢ「１１０１０」を出力する。
【００２６】
セレクタ１２ａは、コードＡを選択したときに最下位から第１，３，５ビットの値が変化するので、その値が変化するビットの数が「３」であることを算出し、判定値Ａを「３」とする。また、セレクタ１２ａは、コードＢを選択したときに最下位から第２，４ビットの値が変化するので、その値が変化するビットの数が「２」であることを算出し、判定値Ｂを「２」とする。以上より、セレクタ１２ａは、判定値が最小のコードＢを選択する。
【００２７】
次に、サブエンコーダ１１ａは、元情報「１０１１」に対してコードＡ「０１０１１」を出力し、コードＢ「１０１００」を出力する。
【００２８】
セレクタ１２ａは、コードＡを選択したときに最下位から第１，５ビットの値が変化するので、その値が変化するビットの数が「２」であることを算出し、判定値Ａを「２」とする。また、セレクタ１２ａは、コードＢを選択したときに最下位から第２，３，４ビットの値が変化するので、その値が変化するビットの数が「３」であることを算出し、判定値Ｂを「３」とする。以上より、セレクタ１２ａは、判定値が最小のコードＡを選択する。
【００２９】
図６は、セレクタ１２ａを実現する具体的な回路構成を示す。同図を参照して、セレクタ１２ａは、コードＡに対応する適性判定回路３１ａと、コードＢに対応する適性判定回路３１ｂと、比較回路３２ａと、スイッチ回路３３ａとで構成される。
【００３０】
適性判定回路３１ａ，３１ｂは、それぞれコードＡの判定値Ａ，コードＢの判定値Ｂを比較回路３２ａへ出力する
図７は、適性判定回路３１ａを実現する具体的な回路構成を示す。図７を参照して、この適性判定回路３１ａの排他的論理和回路Ｅ−ＯＲ１〜Ｅ−ＯＲ５のそれぞれには、サブエンコーダ１１ａからコードＡの対応するビットが入力され、データラッチ回路１３ａから前コードの対応するビットが入力される。
【００３１】
排他的論理和回路Ｅ−ＯＲ１〜Ｅ−ＯＲ５のそれぞれは、コードＡの対応するビットの値と、前コードの対応するビットの値が異なるとき、すなわち値が変化したときに、「１」を出力する。
【００３２】
ビット加算器３４ａは、排他的論理和回路Ｅ−ＯＲ１〜Ｅ−ＯＲ５の出力を加算して、加算結果を判定値Ａとして比較回路３２ａへ出力する。この判定値Ａは、コードＡを選択したときに前コードからその値が変化したビットの数を表す。
【００３３】
適性判定回路３１ｂは、適性判定回路３１ａと同様にして、コードＢを選択したときの前コードからその値が変化したビットの数を表す判定値Ｂを比較回路３２ａへ出力する。適性判定回路３１ｂの具体的な回路構成は、適性判定回路３１ａの具体的な回路構成と同様なので、説明は繰返さない。
【００３４】
再び図６を参照して、比較回路３２ａは、適性判定回路３１ａ，３１ｂから判定値Ａ，判定値Ｂを受けて、判定値Ａと判定値Ｂの大きさを比較して、比較結果に応じて、スイッチ回路３３ａへ出力する信号のレベルを定める。
【００３５】
図８は、比較回路３２ａにおける判定値Ａ，判定値Ｂの大小関係と出力信号との対応関係を示す。同図に示すように、判定値Ａ≦判定値Ｂのとき、出力は「０」となり、判定値Ａ＞判定値Ｂのとき、出力が「１」となる。
【００３６】
再び図６を参照して、スイッチ回路３３ａは、比較回路３２ａから受けた信号が「０」のときにコードＡを出力し、「１」のときにコードＢを出力する。
【００３７】
以上のように、セレクタ１２ａによって、コードＡを選択したときに前コードからその値が変化したビットの数と、コードＢを選択したときに前コードからその値が変化したビットの数とが比較され、変化したビットの数が少ない方のコードが選択されることになる。
【００３８】
再び、図２を参照して、データラッチ回路１３ａは、前コードを保持する。図９は、データラッチ回路１３ａを実現する具体的な回路構成を示す。同図に示すように、データラッチ回路１３ａは、複数の２段のクロック同期式Ｄフリップフロップで構成され、セレクタ１２ａが出力した出力コードをクロックのＬ（ロウレベル）エッジとＨ（ハイレベル）エッジでラッチし、前コードとして出力する。
【００３９】
再び、図２を参照して、出力回路１４ａは、セレクタ１２ａが出力したコードＡまたはコードＢの出力コードを伝送路に出力する。
【００４０】
（受信装置の構成）
図１０は、第１の実施形態に係わる受信装置の構成を示す。同図を参照して、この受信装置２００ａは、入力回路２１ａと、デコーダ２２ａとを備える。入力回路２１ａは、伝送路からコードＡまたはコードＢの入力コードを入力し、入力コードをデコーダ２２ａに出力する。
【００４１】
図１１は、デコーダ２２ａを実現する具体的な回路構成を示す。同図に示すように、デコーダ２２ａは、排他的論理和回路Ｅ−ＯＲ２０〜Ｅ−ＯＲ２３で構成される。入力コードがコードＡの場合には、第５ビットが「０」であって、第１〜第４ビットが元情報のビットの値と同一である。入力コードがコードＢの場合には、第５ビットが「１」であって、第１〜第４ビットが元情報のビットの値を反転したものである。したがって、入力コードの最上位ビットを排他的論理和回路Ｅ−ＯＲ２０〜Ｅ−ＯＲ２３に入力することによって、その他のビットの反転または非反転を制御している。
【００４２】
以上のように、本実施の形態に係わる通信システムによれば、元情報がＮビットのときに、（Ｎ＋１）ビットの複数のパラレルコードのうち、同時にその値が変化するビットの数を最小にするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、消費電力の低減化が実現できる。
【００４３】
［第２の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋２）ビットの４つのパラレルコードを生成して、選択基準αによって、これら４つのパラレルコードのうちの１つを選択して出力する送信装置を有する通信システムに関する。
【００４４】
（送信装置の構成）
図１２は、第２の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置１００ｂは、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋２）ビットのパラレルコードを送信する送信装置であって、サブエンコーダ１１ｂと、セレクタ１２ｂと、データラッチ回路１３ｂと、出力回路１４ｂとを備える。
【００４５】
サブエンコーダ１１ｂは、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋２）ビットのパラレルコードであるコードＣ〜コードＦを生成する。
【００４６】
図１３は、Ｎ＝４のときの元情報とコードＣ〜コードＦの対応関係を示す。同図に示すように、コードＣは、元情報の上位側に「０」を２ビット追加したものである。コードＤ〜Ｆは、それぞれ、コードＣの奇数ビット、偶数ビット、全ビットの「０」と「１」を反転したものである。
【００４７】
図１４は、サブエンコーダ１１ｂを実現する具体的な回路構成を示す。同図に示すように、サブエンコーダ１１ｂは、いやゆるワイヤードロジックであり、元情報の各ビット（下位からｓ１，ｓ２，ｓ３，ｓ４）の値と、元情報の各ビットの値をインバータＩＶ１５〜ＩＶ１８によって反転した値を適宜組合せてコードＣの各ビット（下位からｃ１，ｃ２，ｃ３，ｃ４，ｃ５，ｃ６）の値、コードＤの各ビット（下位からｄ１，ｄ２，ｄ３，ｄ４，ｄ５，ｄ６）の値、コードＥの各ビット（下位からｅ１，ｅ２，ｅ３，ｅ４，ｅ５，ｅ６）の値、およびコードＦの各ビット（下位からｆ１，ｆ２，ｆ３，ｆ４，ｆ５，ｆ６）の値を生成する。
【００４８】
再び図１２を参照して、セレクタ１２ｂは、サブエンコーダ１１ｂからコードＣ、コードＤ、コードＥまたはコードＦを受けて、いずれかを選択して出力する。セレクタ１２ｂは、次のコード選択の条件として、第１の実施形態と同じ選択基準α、すなわち「その値が変化するビットの数が最小となるコードを選択する」を用いる。
【００４９】
図１５は、セレクタ１２ｂが選択基準αによって順次選択するコード列の例を示す。同図において、左側にサブエンコーダ１１ｂに入力される元情報を示し、右側にその元情報に対してサブエンコーダ１１ｂが出力するコードＣ、コードＤ、コードＥおよびコードＦを示す。太枠で示されたコードがセレクタ１２ｂが選択したコードを示す。
【００５０】
サブエンコーダ１１ｂは、元情報「００１０」に対してコードＣ「００００１０」を出力し、コードＤ「０１０１１１」を出力し、コードＥ「１０１０００」を出力し、コードＦ「１１１１０１」を出力する。セレクタ１２ｂは、最初は、デフォルト選択として、コードＣを選択する。
【００５１】
次に、サブエンコーダ１１ｂは、元情報「１１０１」に対してコードＣ「００１１０１」を出力し、コードＤ「０１１０００」を出力し、コードＥ「１００１１１」を出力し、コードＦ「１１００１０」を出力する。
【００５２】
セレクタ１２ｂは、コードＣを選択したときに最下位から第１，２，３，４ビットの値が変化するので、その値が変化するビットの数が「４」であることを算出し、判定値Ｃを「４」とする。また、セレクタ１２ｂは、コードＤを選択したときに最下位から第２，４，５ビットの値が変化するので、その値が変化するビットの数が「３」であることを算出し、判定値Ｄを「３」とする。また、セレクタ１２ｂは、コードＥを選択したときに最下位から第１，３，６ビットの値が変化するので、その値が変化するビットの数が「３」であることを算出し、判定値Ｅを「３」とする。また、セレクタ１２ｂは、コードＦを選択したときに最下位から第５，６ビットの値が変化するので、その値が変化するビットの数が「２」であることを算出し、判定値Ｆを「２」とする。以上より、セレクタ１２ｂは、判定値が最小のコードＦを選択する。
【００５３】
次に、サブエンコーダ１１ｂは、元情報「１１１１」に対してコードＣ「００１１１１」を出力し、コードＤ「０１１０１０」を出力し、コードＥ「１００１０１」を出力し、コードＦ「１１００００」を出力する。
【００５４】
セレクタ１２ｂは、コードＣを選択したときに最下位から第１，３，４，５，６ビットの値が変化するので、その値が変化するビットの数が「５」であることを算出し、判定値Ｃを「５」とする。また、セレクタ１２ｂは、コードＤを選択したときに最下位から第４，６ビットの値が変化するので、その値が変化するビットの数が「２」であることを算出し、判定値Ｄを「２」とする。また、セレクタ１２ｂは、コードＥを選択したときに最下位から第１，２，３，５ビットの値が変化するので、その値が変化するビットの数が「４」であることを算出し、判定値Ｅを「４」とする。また、セレクタ１２ｂは、コードＦを選択したときに最下位から第２ビットの値が変化するので、その値が変化するビットの数が「１」であることを算出し、判定値Ｆを「１」とする。以上より、セレクタ１２ｂは、判定値が最小のコードＦを選択する。
【００５５】
次に、サブエンコーダ１１ｂは、元情報「０１０１」に対してコードＣ「０００１０１」を出力し、コードＤ「０１００００」を出力し、コードＥ「１０１１１１」を出力し、コードＦ「１１１０１０」を出力する。
【００５６】
セレクタ１２ｂは、コードＣを選択したときに最下位から第１，３，５，６ビットの値が変化するので、その値が変化するビットの数が「４」であることを算出し、判定値Ｃを「４」とする。また、セレクタ１２ｂは、コードＤを選択したときに最下位から第６ビットの値が変化するので、その値が変化するビットの数が「１」であることを算出し、判定値Ｄを「１」とする。また、セレクタ１２ｂは、コードＥを選択したときに最下位から第１，２，３，４，５ビットの値が変化するので、その値が変化するビットの数が「５」であることを算出し、判定値Ｅを「５」とする。また、セレクタ１２ｂは、コードＦを選択したときに最下位から第２，４ビットの値が変化するので、その値が変化するビットの数が「２」であることを算出し、判定値Ｆを「２」とする。以上より、セレクタ１２ｂは、判定値が最小のコードＤを選択する。
【００５７】
次に、サブエンコーダ１１ｂは、元情報「１０１１」に対してコードＣ「００１０１１」を出力し、コードＤ「０１１１１０」を出力し、コードＥ「１００００１」を出力し、コードＦ「１１０１００」を出力する。
【００５８】
セレクタ１２ｂは、コードＣを選択したときに最下位から第１，２，４，５ビットの値が変化するので、その値が変化するビットの数が「４」であることを算出し、判定値Ｃを「４」とする。また、セレクタ１２ｂは、コードＤを選択したときに最下位から第２，３，４ビットの値が変化するので、その値が変化するビットの数が「３」であることを算出し、判定値Ｄを「３」とする。また、セレクタ１２ｂは、コードＥを選択したときに最下位から第１，５，６ビットの値が変化するので、その値が変化するビットの数が「３」であることを算出し、判定値Ｅを「３」とする。また、セレクタ１２ｂは、コードＦを選択したときに最下位から第３，６ビットの値が変化するので、その値が変化するビットの数が「２」であることを算出し、判定値Ｆを「２」とする。以上より、セレクタ１２ｂは、判定値が最小のコードＦを選択する。
【００５９】
図１６は、セレクタ１２ｂを実現する具体的な回路構成を示す。同図を参照して、セレクタ１２ｂは、コードＣに対応する適性判定回路３１ｃと、コードＤに対応する適性判定回路３１ｄと、コードＥに対応する適性判定回路３１ｅと、コードＦに対応する適性判定回路３１ｆと、比較回路３２ｂと、スイッチ回路３３ｂとで構成される。
【００６０】
適性判定回路３１ｃ，３１ｄ，３１ｅ，３１ｆは、それぞれコードＣの判定値Ｃ，コードＤの判定値Ｄ，コードＥの判定値Ｅ，コードＤの判定値Ｆを比較回路３２ｂへ出力する
図１７は、適性判定回路３１ｃを実現する具体的な回路構成を示す。図１７を参照して、この適性判定回路３１ｃの排他的論理和回路Ｅ−ＯＲ６〜Ｅ−ＯＲ１１のそれぞれには、サブエンコーダ１１ｂからコードＣの対応するビットが入力され、データラッチ回路１３ｂから前コードの対応するビットが入力される。
【００６１】
排他的論理和回路Ｅ−ＯＲ６〜Ｅ−ＯＲ１１のそれぞれは、コードＣの対応するビットの値と、前コードの対応するビットの値が異なるとき、すなわち値が変化したときに、「１」を出力する。
【００６２】
ビット加算器３４ｂは、排他的論理和回路Ｅ−ＯＲ６〜Ｅ−ＯＲ１１の出力を加算して、加算結果を判定値Ｃとして比較回路３２ｂへ出力する。この判定値Ｃは、コードＣを選択したときに前コードからその値が変化したビットの数を表す。
【００６３】
適性判定回路３１ｄ，３１ｅ，３１ｆは、それぞれ適性判定回路３１ｃと同様にして、コードＤを選択したときの前コードからその値が変化したビットの数を表す判定値Ｄ，コードＥを選択したときに前コードからその値が変化したビットの数を表す判定値Ｅ，コードＦを選択したときに前コードからその値が変化したビットの数を表す判定値Ｆを比較回路３２ｂへ出力する。
【００６４】
適性判定回路３１ｄ，３１ｅ，３１ｆの具体的な回路構成は、適性判定回路３１ｃの具体的な回路構成と同様なので、説明は繰返さない。
【００６５】
再び図１６を参照して、比較回路３２ｂは、適性判定回路３１ｃ，３１ｄ，３１ｅ，３１ｆから判定値Ｃ，判定値Ｄ，判定値Ｅ，判定値Ｆを受けて、これらのの大きさを比較して、比較結果に応じて、スイッチ回路３３ｂへ出力する信号のレベルを定める。
【００６６】
図１８は、比較回路３２ｂにおける判定値Ｃ，判定値Ｄ，判定値Ｅ，判定値Ｆの大小関係と出力信号との対応関係を示す。同図に示すように、判定値Ｃが最小のとき、出力は「００」となり、判定値Ｄが最小のとき、出力は「０１」となる。また、判定値Ｅが最小のとき、出力は「１０」となり、判定値Ｆが最小のとき、出力は「１１」となる。
【００６７】
再び図１６を参照して、スイッチ回路３３ｂは、比較回路３２ｂから受けた信号が「００」のときコードＣを出力し、「０１」のときコードＤを出力する。また、スイッチ回路３３ｂは、比較回路３２ｂから受けた信号が「１０」のときコードＥを出力し、「１１」のときコードＦを出力する。
【００６８】
以上のように、セレクタ１２ｂによって、コードＣを選択したときに前コードからその値が変化したビットの数と、コードＤを選択したときに前コードからその値が変化したビットの数と、コードＥを選択したときに前コードからその値が変化したビット数と、コードＦを選択したときに前コードからその値が変化したビットの数とが比較され、その値が変化したビットの数が最小のコードが選択されることになる。
【００６９】
再び、図１２を参照して、データラッチ回路１３ｂは、前コードを保持する。図１９は、データラッチ回路１３ｂを実現する具体的な回路構成を示す。同図に示すように、データラッチ回路１３ｂは、複数の２段のクロック同期式Ｄフリップフロップで構成され、セレクタ１２ｂが出力した出力コードをクロックのＬ（ロウレベル）エッジとＨ（ハイレベル）エッジでラッチし、前コードとして出力する。
【００７０】
再び、図１２を参照して、出力回路１４ｂは、セレクタ１２ｂから出力されるコードＣ、コードＤ、コードＥまたはコードＦの出力コードを伝送路に出力する。
【００７１】
（受信装置の構成）
図２０は、第２の実施形態に係わる受信装置の構成を示す。同図を参照して、この受信装置２００ｂは、入力回路２１ｂと、デコーダ２２ｂとを備える。入力回路２１ｂは、伝送路からコードＣ、コードＤ、コードＥ、またはコードＦの入力コードを入力し、入力コードをデコーダ２２ｂに出力する。
【００７２】
図２１は、デコーダ２２ｂを実現する具体的な回路構成を示す。同図に示すように、デコーダ２２ｂは、排他的論理和回路Ｅ−ＯＲ２４〜Ｅ−ＯＲ２７で構成される。ここで、入力コードがコードＣの場合には、第５ビット，第６ビットが「０」，「０」であって、第１〜第４ビットが元情報のビットの値と同一である。入力コードがコードＤの場合には、第５ビット，第６ビットが「１」，「０」であって、第１ビット、第３ビットが元情報のビットの値を反転したものであり、第２ビット、第４ビットが元情報のビットの値と同一である。入力コードがコードＥの場合には、第５ビット，第６ビットが「０」，「１」であり、第１ビット、第３ビットが元情報のビットの値と同一であり、第２ビット、第４ビットが元情報のビットの値を反転したものである。入力コードがコードＦの場合には、第５ビット，第６ビットが「１」，「１」であり、第１〜第４ビットが元情報のビットの値を反転したものである。したがって、入力コードの第５ビットを排他的論理和回路Ｅ−ＯＲ２４，Ｅ−ＯＲ２６に入力し、入力コードの第６ビットを排他的論理和回路Ｅ−ＯＲ２５，Ｅ−ＯＲ２７に入力することによって、その他のビットの反転または非反転を制御している。
【００７３】
以上のように、本実施の形態に係わる通信システムによれば、元情報がＮビットのときに、（Ｎ＋２）ビットの複数のパラレルコードのうち、同時にその値が変化するビットの数を最小にするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、消費電力の低減化を実現することができる。
【００７４】
［第３の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋１）ビットの２つのパラレルコードを生成して、選択基準αとβとを併せた選択基準（α＋β）によって、これら２つのパラレルコードのうちの１つを選択して出力する送信装置を有する通信システムに関する。
【００７５】
（送信装置の構成）
図２２は、第３の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置１００ｃは、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋１）ビットのパラレルコードを送信する送信装置であって、エンコーダ１５ｃと、出力回路１４ａとを備える。エンコーダ１５ｃは、サブエンコーダ１１ａと、セレクタ１２ｃと、データラッチ回路１３ｃとを備える。この送信装置１００ｃが、第１の実施形態に係わる送信装置１００ａと相違するのは、セレクタ１２ｃとデータラッチ回路１３ｃである。以下では、この相違する点について説明する。
【００７６】
セレクタ１２ｃは、サブエンコーダ１１ａからコードＡまたはコードＢを受けて、いずれかを選択して出力する。セレクタ１２ｃは、次のコード選択の条件として、選択基準αと選択基準β「連続してその値が変化するビットの数が最小となるコードを選択する」とを併せた選択基準（α＋β）を用いる。すなわち、セレクタ１２ｃは、その値が変化するビットの数と、連続してその値が変化するビットの数に重み係数Ｋ（特に限定されないが、以下の説明では「２」とする）を乗じた数との和を判定値とし、判定値が最小のコードを選択する。
【００７７】
図２３は、セレクタ１２ｃが選択基準（α＋β）によって順次選択するコード列の例を示す。同図において、左側に元情報を、中央にコードＡおよびコードＢを、右側に前回変化情報を示す。ここで、前回変化情報とは、前回の各ビットの変化の有無を示す情報であり、変化があったビットは、その値が「１」となる。
太枠で示されたコードが選択されたことを示す。
【００７８】
サブエンコーダ１１ａは、元情報「００１０」に対してコードＡ「０００１０」を出力し、コードＢ「１１１０１」を出力する。セレクタ１２ｃは、最初は、デフォルト選択として、コードＡを選択する。また、前回変化情報として、最初は、デフォルト値「０００００」が設定されている。
【００７９】
次に、サブエンコーダ１１ａは、元情報「１１０１」に対してコードＡ「０１１０１」を出力し、コードＢ「１００１０」を出力する。
【００８０】
セレクタ１２ｃは、第１の実施形態と同様に、コードＡを選択したときに、その値が変化するビットの数が「４」であることを算出する。また、セレクタ１２ｃは、前回変化情報が「０００００」より、コードＡを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｃは、判定値Ａを「４」（＝４＋２×０）とする。
【００８１】
セレクタ１２ｃは、第１の実施形態と同様に、コードＢを選択したときに、その値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｃは、前回変化情報が「０００００」より、コードＢを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｃは、判定値Ｂを「１」（＝１＋２×０）とする。
【００８２】
以上より、セレクタ１２ｃは、判定値が小さいコードＢを選択する。また、セレクタ１２ｃは、コードＢを選択したので、前回変化情報を「１００００」に更新する。
【００８３】
次に、サブエンコーダ１１ａは、元情報「１１１１」に対してコードＡ「０１１１１」を出力し、コードＢ「１００００」を出力する。
【００８４】
セレクタ１２ｃは、第１の実施形態と同様に、コードＡを選択したときに、その値が変化するビットの数が「４」であることを算出する。また、セレクタ１２ｃは、前回変化情報が「１００００」なので、コードＡを選択したときに、第５ビットの値が連続して変化するので、連続してその値が変化するビットの数が「１」であることを算出する。以上の結果、セレクタ１２ｃは、判定値Ａを「６」（＝４＋２×１）とする。
【００８５】
セレクタ１２ｃは、第１の実施形態と同様に、コードＢを選択したときに、その値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｃは、前回変化情報が「１００００」なので、コードＢを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｃは、判定値Ｂを「１」（＝１＋２×０）とする。
【００８６】
以上より、セレクタ１２ｃは、判定値が小さいコードＢを選択する。また、セレクタ１２ｃは、コードＢを選択したので、前回変化情報を「０００１０」に更新する。
【００８７】
次に、サブエンコーダ１１ａは、元情報「０１０１」に対してコードＡ「００１０１」を出力し、コードＢ「１１０１０」を出力する。
【００８８】
セレクタ１２ｃは、第１の実施形態と同様に、コードＡを選択したときに、その値が変化するビットの数が「３」であることを算出する。また、セレクタ１２ｃは、前回変化情報が「０００１０」なので、コードＡを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｃは、判定値Ａを「３」（＝３＋２×０）とする。
【００８９】
セレクタ１２ｃは、第１の実施形態と同様に、コードＢを選択したときに、その値が変化するビットの数が「２」であることを算出する。また、セレクタ１２ｃは、前回変化情報が「０００１０」なので、コードＢを選択したときに、第２ビットの値が連続して変化し、連続してその値が変化するビットの数が「１」であることを算出する。以上の結果、セレクタ１２ｃは、判定値Ｂを「４」（＝２＋２×１）とする。
【００９０】
以上より、セレクタ１２ｃは、判定値が小さいコードＡを選択する。また、セレクタ１２ｃは、コードＡを選択したので、前回変化情報を「１０１０１」に更新する。
【００９１】
次に、サブエンコーダ１１ａは、元情報「１０１１」に対してコードＡ「０１０１１」を出力し、コードＢ「１０１００」を出力する。
【００９２】
セレクタ１２ｃは、コードＡを選択したときに最下位から第２，３，４ビットの値が変化するので、その値が変化するビットの数が「３」であることを算出する。また、セレクタ１２ｃは、前回変化情報が「１０１０１」なので、コードＡを選択したときに、第３ビットの値が連続して変化し、連続してその値が変化するビットの数が「１」であることを算出する。以上の結果、セレクタ１２ｃは、判定値Ａを「５」（＝３＋２×１）とする。
【００９３】
セレクタ１２ｃは、コードＢを選択したときに最下位から第１，５ビットの値が変化するので、その値が変化するビットの数が「２」であることを算出する。また、セレクタ１２ｃは、前回変化情報が「１０１０１」なので、コードＢを選択したときに、第１，５ビットの値が連続して変化し、連続してその値が変化するビットの数が「２」であることを算出する。以上の結果、セレクタ１２ｃは、判定値Ｂを「６」（＝２＋２×２）とする。
【００９４】
以上より、セレクタ１２ｃは、判定値が小さいコードＡを選択する。また、セレクタ１２ｃは、コードＡを選択したので、前回変化情報を「０１１１０」に更新する。
【００９５】
図２４は、セレクタ１２ｃを実現する具体的な回路構成を示す。同図を参照して、このセレクタ１２ｃは、図６に示す第１の実施形態におけるセレクタ１２ａにおける適性判定回路３１ａ，３１ｂに代えて、適性判定回路３１ｇ，３１ｈを備える。
【００９６】
図２５は、適性判定回路３１ｇを実現する具体的な回路構成を示す。同図を参照して、この適性判定回路３１ｇには、図に示す第１の実施形態における適性判定回路３１ａに、論理積回路ＡＮＤ１〜ＡＮＤ５と、ビット加算器３５ａと、乗算器３６ａと、加算器３７ａとが追加されている。
【００９７】
論理積回路ＡＮＤ１〜ＡＮＤ５の各々は、データラッチ回路１３ｃから送られる前回変化情報の対応するビットが「１」であり、かつ、対応する排他的論理和回路Ｅ−ＯＲ１〜Ｅ−ＯＲ５が出力する信号の値が「１」であるとき、すなわち、対応するビットの値が連続して変化したときに、「１」を出力する。
【００９８】
ビット加算器３５ａは、論理積回路ＡＮＤ１〜ＡＮＤ５からの出力を加算する。
【００９９】
乗算器３６ａは、ビット加算器３５ａの出力と、重み係数Ｋ（＝「２」）とを乗算する。
【０１００】
加算器３７ａは、ビット加算器３４ａの出力と、乗算器３６ａの出力とを加算して、加算結果を判定値Ａとして出力する。したがって、判定値Ａは、コードＡを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Ｋを乗じた数との和を示す。
【０１０１】
適性判定回路３１ｈは、適性判定回路３１ｇと同様にして、コードＢを選択したときの前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Ｋを乗じた数との和を示す判定値Ｂを比較回路３２ａへ出力する。適性判定回路３１ｈの具体的な回路構成は、適性判定回路３１ｇの具体的な回路構成と同様なので、説明は繰返さない。
【０１０２】
図２６は、データラッチ回路１３ｃを実現する具体的な回路構成を示す。同図を参照して、この適性判定回路には、図９に示す第１の実施形態におけるデータラッチ回路１３ａに、複数の排他的論理和回路Ｅ−ＯＲ２１〜Ｅ−ＯＥ２５と、複数の２段のクロック同期式ＤフリップフロップＦＦ２３〜ＦＦ３２とが追加されている。
【０１０３】
排他的論理和回路Ｅ−ＯＲ２１〜Ｅ−ＯＲ２５の各々は、セレクタ１２ｃが１つ前のクロックで出力した出力コードの対応するビットと、セレクタ１２ｃが現在のクロックで出力した出力コードの対応するビットとを受けて、これらのビットの値が等しいときに「０」を出力し、異なるときに「１」を出力する。
【０１０４】
２段のクロック同期式ＤフリップフロップＦＦ２３〜ＦＦ３２の各々は、対応する排他的論理和回路から出力される値をクロックのＬ（ロウレベル）エッジとＨ（ハイレベル）エッジでラッチし、前回変化情報の各ビットとして出力する。
【０１０５】
（受信装置の構成）
本実施の形態に係わる受信装置は、第１の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
【０１０６】
以上のように、本実施の形態に係わる通信システムによれば、元情報がＮビットのときに、（Ｎ＋１）ビットの複数のパラレルコードのうち、同時に変化するビットの数を小さくするとともに、連続して変化するビットの数を小さくするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、消費電力の低減化と処理速度の高速化とを同時に実現することができる。
【０１０７】
［第４の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋２）ビットの４つのパラレルコードを生成して、選択基準αとβとを併せた選択基準（α＋β）によって、これら４つのパラレルコードのうちの１つを選択して出力する送信装置を有する通信システムに関する。
【０１０８】
（送信装置の構成）
図２７は、第４の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置１００ｄは、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋２）ビットのパラレルコードを送信する送信装置であって、サブエンコーダ１１ｂと、セレクタ１２ｄと、データラッチ回路１３ｄと、出力回路１４ｂとを備える。この送信装置が第２の実施形態と相違するのは、セレクタ１２ｄとデータラッチ回路１３ｄである。以下では、この相違する点について説明する。
【０１０９】
セレクタ１２ｄは、サブエンコーダ１１ｂからコードＣ、コードＤ、コードＥまたはコードＦを受けて、いずれかを選択して出力する。セレクタ１２ｄは、次のコード選択の条件として、選択基準αと選択基準β「連続してその値が変化するビットの数が最小となるコードを選択する」とを併せた選択基準（α＋β）を用いる。
【０１１０】
図２８は、セレクタ１２ｄが選択基準（α＋β）によって順次選択するコード列の例を示す。同図において、左側に元情報を、中央にコードＣ、コードＤ、コードＥおよびコードＦを示し、右側に前回変化情報を示す。
【０１１１】
サブエンコーダ１１ｂは、元情報「００１０」に対してコードＣ「００００１０」を出力し、コードＤ「０１０１１１」を出力し、コードＥ「１０１０００」を出力し、コードＦ「１１１１０１」を出力する。セレクタ１２ｄは、最初は、デフォルト選択として、コードＣを選択する。また、前回変化情報として、最初はデフォルト値「００００００」が設定されている。
【０１１２】
次に、サブエンコーダ１１ｂは、元情報「１１０１」に対してコードＣ「００１１０１」を出力し、コードＤ「０１１０００」を出力し、コードＥ「１００１１１」を出力し、コードＦ「１１００１０」を出力する。
【０１１３】
セレクタ１２ｄは、第２の実施形態と同様に、コードＣを選択したときに、その値が変化するビットの数が「４」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「００００００」より、コードＣを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｃを「４」（＝４＋２×０）とする。
【０１１４】
セレクタ１２ｄは、第２の実施形態と同様に、コードＤを選択したときに、その値が変化するビットの数が「３」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「００００００」より、コードＤを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｄを「３」（＝３＋２×０）とする。
【０１１５】
セレクタ１２ｄは、第２の実施形態と同様に、コードＥを選択したときに、その値が変化するビットの数が「３」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「００００００」より、コードＥを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｅを「３」（＝３＋２×０）とする。
【０１１６】
セレクタ１２ｄは、第２の実施形態と同様に、コードＦを選択したときに、その値が変化するビットの数が「２」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「００００００」より、コードＦを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｆを「２」（＝２＋２×０）とする。
【０１１７】
以上より、セレクタ１２ｄは、判定値が最小のコードＦを選択する。また、セレクタ１２ｄは、コードＦを選択したので、前回変化情報を「１１００００」に更新する。
【０１１８】
次に、サブエンコーダ１１ｂは、元情報「１１１１」に対してコードＣ「００１１１１」を出力し、コードＤ「０１１０１０」を出力し、コードＥ「１００１０１」を出力し、コードＦ「１１００００」を出力する。
【０１１９】
セレクタ１２ｄは、第２の実施形態と同様に、コードＣを選択したときに、その値が変化するビットの数が「５」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「１１００００」より、コードＣを選択したときに、第５，６ビットの値が連続して変化するので、連続してその値が変化するビットの数が「２」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｃを「９」（＝５＋２×２）とする。
【０１２０】
セレクタ１２ｄは、第２の実施形態と同様に、コードＤを選択したときに、その値が変化するビットの数が「２」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「１１００００」より、コードＤを選択したときに、第６ビットの値が連続して変化するので、連続してその値が変化するビットの数が「１」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｄを「４」（＝２＋２×１）とする。
【０１２１】
セレクタ１２ｄは、第２の実施形態と同様に、コードＥを選択したときに、その値が変化するビットの数が「４」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「１１００００」より、コードＥを選択したときに、第５ビットの値が連続して変化するので、連続してその値が変化するビットの数が「１」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｅを「６」（＝４＋２×１）とする。
【０１２２】
セレクタ１２ｄは、第２の実施形態と同様に、コードＦを選択したときに、その値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「１１００００」より、コードＦを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｆを「１」（＝１＋２×０）とする。
【０１２３】
以上より、セレクタ１２ｄは、判定値が最小のコードＦを選択する。また、セレクタ１２ｄは、コードＦを選択したので、前回変化情報を「００００１０」に更新する。
【０１２４】
次に、サブエンコーダ１１ｂは、元情報「０１０１」に対してコードＣ「０００１０１」を出力し、コードＤ「０１００００」を出力し、コードＥ「１０１１１１」を出力し、コードＦ「１１１０１０」を出力する。
【０１２５】
セレクタ１２ｄは、第２の実施形態と同様に、コードＣを選択したときに、その値が変化するビットの数が「４」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「００００１０」より、コードＣを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｃを「４」（＝４＋２×０）とする。
【０１２６】
セレクタ１２ｄは、第２の実施形態と同様に、コードＤを選択したときに、その値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「００００１０」より、コードＤを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｄを「１」（＝１＋２×０）とする。
【０１２７】
セレクタ１２ｄは、第２の実施形態と同様に、コードＥを選択したときに、その値が変化するビットの数が「５」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「００００１０」より、コードＥを選択したときに、第２ビットの値が連続して変化するので、連続してその値が変化するビットの数が「１」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｅを「７」（＝５＋２×１）とする。
【０１２８】
セレクタ１２ｄは、第２の実施形態と同様に、コードＦを選択したときに、その値が変化するビットの数が「２」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「００００１０」より、コードＦを選択したときに、第２ビットの値が連続して変化するので、連続してその値が変化するビットの数が「１」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｆを「４」（＝２＋２×１）とする。
【０１２９】
以上より、セレクタ１２ｄは、判定値が最小のコードＤを選択する。また、セレクタ１２ｄは、コードＤを選択したので、前回変化情報を「１０００００」に更新する。
【０１３０】
次に、サブエンコーダ１１ｂは、元情報「１０１１」に対してコードＣ「００１０１１」を出力し、コードＤ「０１１１１０」を出力し、コードＥ「１００００１」を出力し、コードＦ「１１０１００」を出力する。
【０１３１】
セレクタ１２ｄは、第２の実施形態と同様に、コードＣを選択したときに、その値が変化するビットの数が「４」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「１０００００」より、コードＣを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｃを「４」（＝４＋２×０）とする。
【０１３２】
セレクタ１２ｄは、第２の実施形態と同様に、コードＤを選択したときに、その値が変化するビットの数が「３」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「１０００００」より、コードＤを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｄを「３」（＝３＋２×０）とする。
【０１３３】
セレクタ１２ｄは、第２の実施形態と同様に、コードＥを選択したときに、その値が変化するビットの数が「３」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「１０００００」より、コードＥを選択したときに第６ビットの値が連続して変化するので、連続してその値が変化するビットの数が「１」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｅを「５」（＝３＋２×１）とする。
【０１３４】
セレクタ１２ｄは、第２の実施形態と同様に、コードＦを選択したときに、その値が変化するビットの数が「２」であることを算出する。また、セレクタ１２ｄは、前回変化情報が「１０００００」より、コードＦを選択したときに、第６ビットの値が連続して変化するので、連続してその値が変化するビットの数が「１」であることを算出する。以上の結果、セレクタ１２ｄは、判定値Ｆを「４」（＝２＋２×１）とする。
【０１３５】
以上より、セレクタ１２ｄは、判定値が最小のコードＤを選択する。また、セレクタ１２ｄは、コードＤを選択したので、前回変化情報を「００１１１０」に更新する。
【０１３６】
図２９は、セレクタ１２ｄを実現する具体的な回路構成を示す。同図を参照して、このセレクタ１２ｄでは、図１６に示す第２の実施形態におけるセレクタ１２ｂにおける適性判定回路３１ｃ〜３１ｆに代えて、適性判定回路３１ｉ〜３１ｌが用いられている。
【０１３７】
図３０は、適性判定回路３１ｉを実現する具体的な回路構成を示す。同図を参照して、この適性判定回路３１ｉには、図１７に示す第２の実施形態における適性判定回路３１ｂに、論理積回路ＡＮＤ６〜ＡＮＤ１１と、ビット加算器３５ｂと、乗算器３６ｂと、加算器３７ｂとが追加されている。
【０１３８】
論理積回路ＡＮＤ６〜ＡＮＤ１１の各々は、データラッチ回路１３ｄから送られる前回変化情報の対応するビットが「１」であり、かつ、対応する排他的論理和回路Ｅ−ＯＲ６〜Ｅ−ＯＲ１１が出力する信号が「１」であるとき、すなわち、対応するビットの値が連続して変化したときに、「１」を出力する。
【０１３９】
ビット加算器３５ｂは、論理積回路ＡＮＤ６〜ＡＮＤ１１からの出力を加算する。
【０１４０】
乗算器３６ｂは、ビット加算器３５ｂの出力と、重み係数Ｋ（＝「２」）とを乗算する。
【０１４１】
加算器３７ｂは、ビット加算器３４ｂの出力と、乗算器３６ｂの出力とを加算して、加算結果を判定値Ｃとして出力する。したがって、判定値Ｃは、コードＣを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Ｋを乗じた数との和を示す。
【０１４２】
適性判定回路３１ｊ，３１ｋ，３１ｌは、それぞれ適性判定回路３１ｉと同様にして、コードＤを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Ｋを乗じた数との和を示す判定値Ｄ，コードＥを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Ｋを乗じた数との和を示す判定値Ｅ，コードＦを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Ｋを乗じた数との和を示す判定値Ｆを比較回路３２ｂへ出力する。適性判定回路３１ｊ，３１ｋ，３１ｌの具体的な回路構成は、適性判定回路３１ｉの具体的な回路構成と同様なので、説明は繰返さない。
【０１４３】
図３１は、データラッチ回路１３ｄを実現する具体的な回路構成を示す。同図を参照して、このデータラッチ回路１３ｄには、図１９に示す第２の実施形態におけるデータラッチ回路１３ｂに、複数の排他的論理和回路Ｅ−ＯＲ２６〜Ｅ−ＯＥ３１と、複数の２段のクロック同期式ＤフリップフロップＦＦ３３〜ＦＦ４４とが追加されている。
【０１４４】
排他的論理和回路Ｅ−ＯＲ２６〜Ｅ−ＯＲ３１の各々は、セレクタ１２ｄが１つ前のクロック時に出力した出力コードの対応するビットと、セレクタ１２ｄが現在のクロックにより出力した出力コードの対応するビットとを受けて、これらのビットの値が等しいときに、「０」を出力し、異なるときに、「１」を出力する。
【０１４５】
２段のクロック同期式ＤフリップフロップＦＦ３３〜ＦＦ４４の各々は、対応する排他的論理和回路から出力される値をクロックのＬ（ロウレベル）エッジとＨ（ハイレベル）エッジでラッチし、前回変化情報の各ビットとして出力する。
【０１４６】
（受信装置の構成）
本実施の形態に係わる受信装置は、第２の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
【０１４７】
以上のように、本実施の形態に係わる通信システムによれば、（Ｎ＋２）ビットの複数のパラレルコードのうち、同時にその値が変化するビットの数を小さくするとともに、連続してその値が変化するビットの数を小さくするようなパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、消費電力の低減化と処理速度の高速化を同時に実現することができる。
【０１４８】
[第５の実施形態]
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋１）ビットの２つのパラレルコードを生成して、選択基準αとβとγとを併せた選択基準（α＋β＋γ）によって、これら２つのパラレルコードのうちの１つを選択して出力する送信装置を有する通信システムに関する。
【０１４９】
（送信装置の構成）
図３２は、第５の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置１００ｅは、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋１）ビットのパラレルコードを送信する送信装置であって、エンコーダ１５ｅと、出力回路１４ａとを備える。エンコーダ１５ｅは、サブエンコーダ１１ａと、セレクタ１２ｅと、データラッチ回路１３ｃとを備える。
【０１５０】
本実施の形態の送信装置が、第３の実施形態の送信装置と相違するのは、セレクタ１２ｅのみである。以下では、この相違する点について説明する。
【０１５１】
セレクタ１２ｅは、サブエンコーダ１１ａからコードＡまたはコードＢを受けて、いずれかを選択して出力する。セレクタ１２ｅは、次のコード選択の条件として、選択基準αと選択基準βと選択基準γ「クロストーク数が最小となるコードを選択する。」とを併せた選択基準（α＋β＋γ）を用いる。ここで、クロストーク数とは、その両隣のビットが同時に同方向に変化し、かつその値が両隣のビットの変化後の値と異なるビットの数をいう。すなわち、セレクタ１２ｅは、その値が変化するビットの数と、連続してその値が変化するビットの数に重み係数Ｋ（＝「２」）を乗じた数と、クロストーク数に重み係数Ｌ（特に限定されないが、以下の説明では「３」とする）を乗じた数との和を判定値とし、判定値が最小のコードを選択する。
【０１５２】
図３３は、セレクタ１２ｅが選択基準（α＋β＋γ）によって順次選択するコード列の例を示す。同図において、左側に元情報を、右側にコードＡおよびコードＢを示す。太枠で示されたコードが選択されたことを示す。
【０１５３】
サブエンコーダ１１ａは、元情報「００１０」に対してコードＡ「０００１０」を出力し、コードＢ「１１１０１」を出力する。セレクタ１２ｅは、最初は、デフォルト選択として、コードＡを選択する。
【０１５４】
次に、サブエンコーダ１１ａは、元情報「１１０１」に対してコードＡ「０１１０１」を出力し、コードＢ「１００１０」を出力する。
【０１５５】
セレクタ１２ｅは、第３の実施形態と同様に、コードＡを選択したときに、その値が変化するビットの数が「４」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｅは、コードＡを選択したときに、最下位から第２ビットの両隣のビットが同時に同方向に変化し、かつ第２ビットの値と両隣のビットの変化後の値が異なるので、クロストーク数を「１」であると算出する。以上の結果、セレクタ１２ｅは、判定値Ａを「７」（＝４＋２×０＋３×１）をとする。
【０１５６】
セレクタ１２ｅは、第３の実施形態と同様に、コードＢを選択したときに、その値が変化するビットの数が「１」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｅは、コードＢを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｅは、判定値Ｂを「１」（＝１＋２×０＋３×０）をとする。
【０１５７】
以上より、セレクタ１２ｅは、判定値が最小のコードＢを選択する。
【０１５８】
次に、サブエンコーダ１１ａは、元情報「１１１１」に対してコードＡ「０１１１１」を出力し、コードＢ「１００００」を出力する。
【０１５９】
セレクタ１２ｅは、第３の実施形態と同様に、コードＡを選択したときに、その値が変化するビットの数が「４」であることを算出し、連続してその値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｅは、コードＡを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｅは、判定値Ａを「６」（＝４＋２×１）とする。
【０１６０】
セレクタ１２ｅは、第３の実施形態と同様に、コードＢを選択したときに、その値が変化するビットの数が「１」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｅは、コードＢを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ５２ａは、判定値Ｂを「１」（＝１＋２×０＋３×０）とする。
【０１６１】
以上より、セレクタ１２ｅは、判定値が最小のコードＢを選択する。
【０１６２】
次に、サブエンコーダ１１ａは、元情報「０１０１」に対してコードＡ「００１０１」を出力し、コードＢ「１１０１０」を出力する。
【０１６３】
セレクタ１２ｅは、第３の実施形態と同様に、コードＡを選択したときに、その値が変化するビットの数が「３」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｅは、コードＡを選択したときに、最下位から第２ビットの両隣のビットが同時に同方向に変化し、かつ第２ビットのビットの値と両隣のビットの変化後の値が異なるので、クロストーク数を「１」であると算出する。以上の結果、セレクタ１２ｅは、判定値Ａを「６」（＝３＋２×０＋３×１）とする。
【０１６４】
セレクタ１２ｅは、第３の実施形態と同様に、コードＢを選択したときに、その値が変化するビットの数が「２」であることを算出し、連続してその値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｅは、コードＢを選択したときに、最下位から第３ビットの両隣のビットが同時に同方向に変化し、かつ第３ビットのビットの値と両隣のビットの変化後の値とが異なるので、クロストーク数を「１」であると算出する。以上の結果、セレクタ１２ｅは、判定値Ａを「７」（＝２＋２×１＋３×１）とする。
【０１６５】
以上より、セレクタ１２ｅは、判定値が最小のコードＡを選択する。
【０１６６】
次に、サブエンコーダ１１ａは、元情報「１０１１」に対してコードＡ「０１０１１」を出力し、コードＢ「１０１００」を出力する。
【０１６７】
セレクタ１２ｅは、コードＡを選択したときに、その値が変化するビットの数が「３」であることを算出し、連続してその値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｅは、コードＡを選択したときに、最下位から第３ビットの両隣のビットが同時に同方向に変化し、かつ第３ビットのビットの値と両隣のビットの変化後の値とが異なるので、クロストーク数を「１」であると算出する。以上の結果、セレクタ１２ｅは、判定値Ａを「８」（＝３＋２×１＋３×１）とする。
【０１６８】
セレクタ１２ｅは、コードＢを選択したときに、その値が変化するビットの数が「２」であることを算出し、連続してその値が変化するビットの数が「２」であることを算出する。また、セレクタ１２ｅは、コードＢを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｅは、判定値Ｂを「６」（＝２＋２×２）とする。
【０１６９】
以上より、セレクタ１２ｅは、判定値が最小のコードＢを選択する。
【０１７０】
図３４は、セレクタ１２ｅを実現する具体的な回路構成を示す。同図を参照して、このセレクタ１２ｅでは、図２４に示す第３の実施形態におけるセレクタ１２ｃにおける適性判定回路３１ｇ，３１ｈに代えて、適性判定回路３１ｍ，３１ｎが用いられている。
【０１７１】
図３５は、適性判定回路３１ｍを実現する具体的な回路構成を示す。同図を参照して、この適性判定回路３１ｍには、第３の実施形態における適性判定回路３１ｇに、ビット値判別回路ｂｃ１〜ｂｃ３と、論理積回路ＡＮＤ１２〜ＡＮＤ１４と、ビット加算器３８ａと、乗算器３９ａとが追加され、加算器３７ａに代えて加算器３７ｃが用いられている。
【０１７２】
ビット値判別回路ｂｃ１は、コードＡの第１ビットと第３ビットの値が同一であって、かつ第１ビットと第２ビットの値が相違するときのみ「１」を出力する。
【０１７３】
論理積回路ＡＮＤ１２は、排他的論理和回路Ｅ−ＯＲ１の出力が「１」（つまり、第１ビットの値が変化した）であり、排他的論理和回路Ｅ−ＯＲ３の出力が「１」（つまり、第３ビットの値が変化した）であり、かつビット値判別回路ｂｃ１の出力が「１」である（つまり、第１ビットと第３ビットの値が同一であって、かつ第１ビットと第２ビットの値が相違する）ときのみ「１」を出力する。
【０１７４】
ビット値判別回路ｂｃ２は、コードＡの第２ビットと第４ビットの値が同一であって、かつ第２ビットと第３ビットの値が相違するときのみ「１」を出力する。
【０１７５】
論理積回路ＡＮＤ１３は、排他的論理和回路Ｅ−ＯＲ２の出力が「１」（つまり、第２ビットの値が変化した）であり、排他的論理和回路Ｅ−ＯＲ４の出力が「１」（つまり、第４ビットの値が変化した）であり、かつビット値判別回路ｂｃ２の出力が「１」である（つまり、第２ビットと第４ビットの値が同一であって、かつ第２ビットと第３ビットの値が相違する）ときのみ「１」を出力する。
【０１７６】
ビット値判別回路ｂｃ３は、コードＡの第３ビットと第５ビットの値が同一であって、かつ第３ビットと第４ビットの値が相違するときのみ「１」を出力する。
【０１７７】
論理積回路ＡＮＤ１４は、排他的論理和回路Ｅ−ＯＲ３の出力が「１」（つまり、第３ビットでビット変化があった）であり、排他的論理和回路Ｅ−ＯＲ５の出力が「１」（つまり、第５ビットでビット変化があった）であり、かつビット値判別回路ｂｃ３の出力が「１」である（つまり、第３ビットと第５ビットの値が同一であって、かつ第３ビットと第４ビットの値が相違する）ときのみ「１」を出力する。
【０１７８】
ビット加算器３８ａは、論理積回路ＡＮＤ１２〜ＡＮＤ１４の出力を加算する。
【０１７９】
乗算器３９ａは、ビット加算器３８ａの出力と、重み係数Ｌ（＝「３」）とを乗算する。
【０１８０】
加算器３７ｃは、ビット加算器３４ａの出力と、乗算器３６ａの出力と、乗算器３９ａの出力とを加算して、加算結果を判定値Ａとして出力する。したがって、判定値Ａは、コードＡを選択したときの前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Ｋを乗じた数と、両隣のビットが同時に同方向に変化し、かつ両隣のビットの変化後の値と異なる値をもつビットの数（つまり、クロストーク数）に重み係数Ｌを乗じた数との和を示す。
【０１８１】
適性判定回路３１ｎは、適性判定回路３１ｍと同様にして、コードＢを選択したときの前コードからのビット変化の数と、連続して、その値が変化するビットの数に重み係数Ｋを乗じた数と、両隣のビットが同時に同方向に変化し、かつ両隣のビットの変化後の値と異なる値をもつビットの数に重み係数Ｌを乗じた数との和を示す判定値Ｂを比較回路３２ａへ出力する。適性判定回路３１ｎの具体的な回路構成は、適性判定回路３１ｍの具体的な回路構成と同様なので、説明は繰返さない。
【０１８２】
（受信装置の構成）
本実施の形態に係わる受信装置は、第１の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
【０１８３】
以上のように、本実施の形態に係わる通信システムによれば、元情報がＮビットのときに、（Ｎ＋１）ビットの複数のパラレルコードのうち、同時にその値が変化するビット数を少なくし、連続してその値が変化するビット数を少なくし、およびクロストーク数を少なくするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路における消費電力の低減化、高速化、および入出力回路と伝送路におけるクロストークノイズの発生の低減化を同時に実現することができる。
【０１８４】
［第６の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋２）ビットの４つのパラレルコードを生成して、選択基準αとβとγとを併せた選択基準（α＋β＋γ）によって、これら４つのパラレルコードのうちの１つを選択して出力する送信装置を有する通信システムに関する。
【０１８５】
（送信装置の構成）
図３６は、第６の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置１００ｆは、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋２）ビットのパラレルコードを送信する送信装置であって、サブエンコーダ１１ｂと、セレクタ１２ｆと、データラッチ回路１３ｄと、出力回路１４ｂとを備える。この送信装置が第４の実施形態と相違するのは、セレクタ１２ｆである。以下では、この相違する点について説明する。
【０１８６】
セレクタ１２ｆは、サブエンコーダ１１ｂからコードＣ、コードＤ、コードＥまたはコードＦを受けて、いずれかを選択して出力する。セレクタ１２ｆは、次のコード選択の条件として、選択基準αと選択基準βと選択基準γ「クロストーク数が最小となるコードを選択する。」とを併せた選択基準（α＋β＋γ）を用いる。
【０１８７】
図３７は、セレクタ１２ｆが選択基準（α＋β＋γ）によって順次選択するコード列の例を示す。同図において、左側に元情報を、右側にコードＣ、コードＤ、コードＥおよびコードＦを示す。太枠で示されたコードが選択されたことを示す。
【０１８８】
サブエンコーダ１１ｂは、元情報「００１０」に対してコードＣ「００００１０」を出力し、コードＤ「０１０１１１」を出力し、コードＥ「１０１０００」を出力し、コードＦ「１１１１０１」を出力する。セレクタ１２ｆは、最初は、デフォルト選択として、コードＣを選択する。
【０１８９】
次に、サブエンコーダ１１ｂは、元情報「１１０１」に対してコードＣ「００１１０１」を出力し、コードＤ「０１１０００」を出力し、コードＥ「１００１１１」を出力し、コードＦ「１１００１０」を出力する。
【０１９０】
セレクタ１２ｆは、第４の実施形態と同様に、コードＣを選択したときに、その値が変化するビットの数が「４」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｆは、コードＣを選択したときに、最下位から第２ビットの両隣のビットが同時に同方向に変化し、かつ第２ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「１」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｃを「７」（＝４＋２×０＋３×１）とする。
【０１９１】
セレクタ１２ｆは、第４の実施形態と同様に、コードＤを選択したときに、その値が変化するビットの数が「３」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｆは、コードＤを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｄを「３」（＝３＋２×０＋３×０）とする。
【０１９２】
セレクタ１２ｆは、第４の実施形態と同様に、コードＥを選択したときに、その値が変化するビットの数が「３」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｆは、コードＥを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｅを「３」（＝３＋２×０＋３×０）とする。
【０１９３】
セレクタ１２ｆは、第４の実施形態と同様に、コードＦを選択したときに、その値が変化するビットの数が「２」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｆは、コードＦを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｆを「２」（＝２＋２×０＋３×０）とする。
【０１９４】
以上より、セレクタ１２ｆは、判定値が最小のコードＦを選択する。
【０１９５】
次に、サブエンコーダ１１ｂは、元情報「１１１１」に対してコードＣ「００１１１１」を出力し、コードＤ「０１１０１０」を出力し、コードＥ「１００１０１」を出力し、コードＦ「１１００００」を出力する。
【０１９６】
セレクタ１２ｆは、第４の実施形態と同様に、コードＣを選択したときに、その値が変化するビットの数が「５」であることを算出し、連続してその値が変化するビットの数が「２」であることを算出する。また、セレクタ１２ｆは、コードＣを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｃを「９」（＝５＋２×２＋３×０）とする。
【０１９７】
セレクタ１２ｆは、第４の実施形態と同様に、コードＤを選択したときに、その値が変化するビットの数が「２」であることを算出し、連続してその値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｆは、コードＤを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｄを「４」（＝２＋２×１＋３×０）とする。
【０１９８】
セレクタ１２ｆは、第４の実施形態と同様に、コードＥを選択したときに、その値が変化するビットの数が「４」であることを算出し、連続してその値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｆは、コードＥを選択したときに、最下位から第２ビットの両隣のビットが同時に同方向に変化し、かつ第２ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「１」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｅを「９」（＝４＋２×１＋３×１）とする。
【０１９９】
セレクタ１２ｆは、第４の実施形態と同様に、コードＦを選択したときに、その値が変化するビットの数が「１」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｆは、コードＦを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｆを「１」（＝１＋２×０＋３×０）とする。
【０２００】
以上より、セレクタ１２ｆは、判定値が最小のコードＦを選択する。
【０２０１】
次に、サブエンコーダ１１ｂは、元情報「０１０１」に対してコードＣ「０００１０１」を出力し、コードＤ「０１００００」を出力し、コードＥ「１０１１１１」を出力し、コードＦ「１１１０１０」を出力する。
【０２０２】
セレクタ１２ｆは、第４の実施形態と同様に、コードＣを選択したときに、その値が変化するビットの数が「４」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｆは、コードＣを選択したときに、最下位から第２ビットの両隣のビットが同時に同方向に変化し、かつ第２ビットのビット値と両隣のビット値が異なるので、クロストーク数を「１」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｃを「７」（＝４＋２×０＋３×１）とする。
【０２０３】
セレクタ１２ｆは、第４の実施形態と同様に、コードＤを選択したときに、その値が変化するビットの数が「１」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｆは、コードＤを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｄを「１」（＝１＋２×０＋３×０）とする。
【０２０４】
セレクタ１２ｆは、第４の実施形態と同様に、コードＥを選択したときに、その値が変化するビットの数が「５」であることを算出し、連続してその値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｆは、コードＥを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｅを「７」（＝５＋２×１＋３×０）とする。
【０２０５】
セレクタ１２ｆは、第４の実施形態と同様に、コードＦを選択したときに、その値が変化するビットの数が「２」であることを算出し、連続してその値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｆは、コードＦを選択したときに、最下位から第３ビットの両隣のビットが同時に同方向に変化し、かつ第３ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「１」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｆを「７」（＝２＋２×１＋３×１）とする。
【０２０６】
以上より、セレクタ１２ｆは、判定値が最小のコードＤを選択する。
【０２０７】
次に、サブエンコーダ１１ｂは、元情報「１０１１」に対してコードＣ「００１０１１」を出力し、コードＤ「０１１１１０」を出力し、コードＥ「１００００１」を出力し、コードＦ「１１０１００」を出力する。
【０２０８】
セレクタ１２ｆは、第４の実施形態と同様に、コードＣを選択したときに、その値が変化するビットの数が「４」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｆは、コードＣを選択したときに、最下位から第３ビットの両隣のビットが同時に同方向に変化し、かつ第３ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「１」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｃを「７」（＝４＋２×０＋３×１）とする。
【０２０９】
セレクタ１２ｆは、第４の実施形態と同様に、コードＤを選択したときに、その値が変化するビットの数が「３」であることを算出し、連続してその値が変化するビットの数が「０」であることを算出する。また、セレクタ１２ｆは、コードＤを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｄを「３」（＝３＋２×０＋３×０）とする。
【０２１０】
セレクタ１２ｆは、第４の実施形態と同様に、コードＥを選択したときに、その値が変化するビットの数が「３」であることを算出し、連続してその値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｆは、コードＥを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｅを「５」（＝３＋２×１＋３×０）とする。
【０２１１】
セレクタ１２ｆは、第４の実施形態と同様に、コードＦを選択したときに、その値が変化するビットの数が「２」であることを算出し、連続してその値が変化するビットの数が「１」であることを算出する。また、セレクタ１２ｆは、コードＦを選択したときに、クロストーク数を「０」であると算出する。以上の結果、セレクタ１２ｆは、判定値Ｆを「４」（＝２＋２×１＋３×０）とする。
【０２１２】
以上より、セレクタ１２ｆは、判定値が最小のコードＤを選択する。
【０２１３】
図３８は、セレクタ１２ｆを実現する具体的な回路構成を示す。同図を参照して、このセレクタ１２ｆでは、図２９に示す第４の実施形態におけるセレクタ１２ｄにおける適性判定回路３１ｉ〜３１ｌに代えて、適性判定回路３１ｏ〜３１ｒが用いられている。
【０２１４】
図３９は、適性判定回路３１ｏを実現する具体的な回路構成を示す。同図を参照して、この適性判定回路３１ｏには、図３０に示す第４の実施形態における適性判定回路３１ｉに、ビット値判別回路ｂｃ４〜ｂｃ７と、論理積回路ＡＮＤ１５〜ＡＮＤ１８と、ビット加算器３８ｂと、乗算器３９ｂとが追加され、加算器３７ｂに代えて加算器３７ｄが用いられている。
【０２１５】
ビット値判別回路ｂｃ４は、コードＣの第１ビットと第３ビットの値が同一であって、かつ第１ビットと第２ビットの値が相違するときのみ「１」を出力する。
【０２１６】
論理積回路ＡＮＤ１５は、排他的論理和回路Ｅ−ＯＲ６の出力が「１」（つまり、第１ビットの値が変化した）であり、排他的論理和回路Ｅ−ＯＲ８の出力が「１」（つまり、第３ビットの値が変化した）であり、かつビット値判別回路ｂｃ４の出力が「１」である（つまり、第１ビットと第３ビットの値が同一であって、かつ第１ビットと第２ビットの値が相違する）ときのみ「１」を出力する。
【０２１７】
ビット値判別回路ｂｃ５は、コードＣの第２ビットと第４ビットの値が同一であって、かつ第２ビットと第３ビットの値が相違するときのみ「１」を出力する。
【０２１８】
論理積回路ＡＮＤ１６は、排他的論理和回路Ｅ−ＯＲ７の出力が「１」（つまり、第２ビットの値が変化した）であり、排他的論理和回路Ｅ−ＯＲ９の出力が「１」（つまり、第４ビットの値が変化した）であり、かつビット値判別回路ｂｃ５の出力が「１」である（つまり、第２ビットと第４ビットの値が同一であって、かつ第２ビットと第３ビットの値が相違する）ときのみ「１」を出力する。
【０２１９】
ビット値判別回路ｂｃ６は、コードＣの第３ビットと第５ビットの値が同一であって、かつ第３ビットと第４ビットの値が相違するときのみ「１」を出力する。
【０２２０】
論理積回路ＡＮＤ１７は、排他的論理和回路Ｅ−ＯＲ８の出力が「１」（つまり、第３ビットの値が変化した）であり、排他的論理和回路Ｅ−ＯＲ１０の出力が「１」（つまり、第５ビットの値が変化した）であり、かつビット値判別回路ｂｃ６の出力が「１」である（つまり、第３ビットと第５ビットの値が同一であって、かつ第３ビットと第４ビットの値が相違する）ときのみ「１」を出力する。
【０２２１】
ビット値判別回路ｂｃ７は、コードＣの第４ビットと第６ビットの値が同一であって、かつ第４ビットと第５ビットの値が相違するときのみ「１」を出力する。
【０２２２】
論理積回路ＡＮＤ１８は、排他的論理和回路Ｅ−ＯＲ９の出力が「１」（つまり、第４ビットの値が変化した）であり、排他的論理和回路Ｅ−ＯＲ１１の出力が「１」（つまり、第６ビットの値が変化した）であり、かつビット値判別回路ｂｃ７の出力が「１」である（つまり、第４ビットと第６ビットの値が同一であって、かつ第４ビットと第５ビットの値が相違する）ときのみ「１」を出力する。
【０２２３】
ビット加算器３８ｂは、論理積回路ＡＮＤ１５〜ＡＮＤ１８の出力を加算する。
【０２２４】
乗算器３９ｂは、ビット加算器３８ｂの出力と、重み係数Ｌ（＝「３」）とを乗算する。
【０２２５】
加算器３７ｄは、ビット加算器３４ｂの出力と、乗算器３６ｂの出力と、乗算器３９ｂの出力とを加算して、加算結果を判定値Ｃとして出力する。したがって、判定値Ｃは、コードＣを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Ｋを乗じた数と、両隣のビットが同時に同方向に変化し、かつ両隣のビットの変化後の値と異なる値をもつビットの数（つまり、クロストーク数）に重み係数Ｌを乗じた数との和を示す。
【０２２６】
適性判定回路３１ｐ，３１ｑ，３１ｒは、それぞれ適性判定回路３１ｏと同様にして、コードＤを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Ｋを乗じた数と、両隣のビットが同時に同方向に変化し、かつ両隣のビットの変化後の値と異なる値をもつビットの数（つまり、クロストクーク数）に重み係数Ｌを乗じた数との和を示す判定値Ｄ，コードＥを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Ｋを乗じた数と、両隣のビットが同時に同方向に変化し、かつ両隣のビットの変化後の値と異なる値をもつビットの数（つまり、クロストーク数）に重み係数Ｌを乗じた数との和を示す判定値Ｅ，コードＦを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Ｋを乗じた数と、両隣のビットが同時に同方向に変化し、かつ両隣のビットの変化後の値と異なる値をもつビットの数（つまり、クロストーク数）に重み係数Ｌを乗じた数との和を示す判定値Ｆを比較回路３２ｂへ出力する。適性判定回路３１ｐ，３１ｑ，３１ｒの具体的な回路構成は、適性判定回路３１ｏの具体的な回路構成と同様なので、説明は繰返さない。
【０２２７】
（受信装置の構成）
本実施の形態に係わる受信装置は、第２の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
【０２２８】
以上のように、本実施の形態に係わる通信システムによれば、元情報がＮビットのときに、（Ｎ＋２）ビットの複数のパラレルコードのうち、同時にその値が変化するビットの数を少なくし、連続してその値が変化するビットの数を少なくし、およびクロストーク数を少なくするようなパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路における消費電力の低減化、高速化、および入出力回路と伝送路におけるクロストークノイズの発生の低減化を同時に実現することができる。
【０２２９】
［第７の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋１）ビットの２つのパラレルコードを生成して、選択基準βのみによって、これら２つのパラレルコードのうちの１つを選択して出力する送信装置を有する通信システムに関する。
【０２３０】
（送信装置の構成）
第７の実施形態に係わる送信装置は、図２２に示す第３の実施形態におけるセレクタ１２ｃの代りに、セレクタ１２ｇを備え、データラッチ回路１３ｃの代りに、データラッチ回路１３ｅを備える。以下、これらについて説明する。
【０２３１】
セレクタ１２ｇは、サブエンコーダ１１ａからコードＡまたはコードＢを受けて、いずれかを選択して出力する。セレクタ１２ｇは、次のコード選択の条件として、選択基準βのみを用いる。
【０２３２】
図４０は、セレクタ１２ｇが選択基準βによって順次選択するコード列の例を示す。同図において、左側に元情報を、中央にコードＡおよびコードＢを示し、右側に前回変化情報を示す。太枠で示されたコードが選択されたことを示す。
【０２３３】
サブエンコーダ１１ａは、元情報「００１０」に対してコードＡ「０００１０」を出力し、コードＢ「１１１０１」を出力する。セレクタ１２ｇは、最初は、デフォルト選択として、コードＡを選択する。また、前回変化情報として、最初はデフォルト値「０００００」が設定されている。
【０２３４】
次に、サブエンコーダ１１ａは、元情報「１１０１」に対してコードＡ「０１１０１」を出力し、コードＢ「１００１０」を出力する。セレクタ１２ｇは、再度デフォルト選択として、コードＡを選択する。セレクタ１２ｇは、コードＡを選択したので、前回変化情報を「０１１１１」に更新する。
【０２３５】
次に、サブエンコーダ１１ａは、元情報「１１１１」に対してコードＡ「０１１１１」を出力し、コードＢ「１００００」を出力する。
【０２３６】
セレクタ１２ｇは、前回変化情報が「０１１１１」なので、コードＡを選択したときに、第２ビットの値が連続して変化するので、連続してその値が変化するビットの数が「１」であることを算出する。以上の結果、セレクタ１２ｇは、判定値Ａを「１」とする。
【０２３７】
セレクタ１２ｇは、前回変化情報が「０１１１１」なので、コードＢを選択したときに、第１，３，４ビットの値が連続して変化するので、連続してその値が変化するビットの数が「３」であることを算出する。以上の結果、セレクタ１２ｇは、判定値Ｂを「３」とする。
【０２３８】
以上より、セレクタ１２ｇは、判定値が小さいコードＡを選択する。また、セレクタ１２ｇは、コードＡを選択したので、前回変化情報を「０００１０」に更新する。
【０２３９】
次に、サブエンコーダ１１ａは、元情報「０１０１」に対してコードＡ「００１０１」を出力し、コードＢ「１１０１０」を出力する。
【０２４０】
セレクタ１２ｇは、前回変化情報が「０００１０」なので、コードＡを選択したときに、第２ビットの値が連続して変化するので、連続してその値が変化するビットの数が「１」であることを算出する。以上の結果、セレクタ１２ｇは、判定値Ａを「１」とする。
【０２４１】
セレクタ１２ｇは、前回変化情報が「０００１０」なので、コードＢを選択したときに、連続してその値が変化するビットの数が「０」であることを算出する。以上の結果、セレクタ１２ｇは、判定値Ｂを「０」とする。
【０２４２】
以上より、セレクタ１２ｇは、判定値が小さいコードＢを選択する。また、セレクタ１２ｇは、コードＢを選択したので、前回変化情報を「１０１０１」に更新する。
【０２４３】
次に、サブエンコーダ１１ａは、元情報「１０１１」に対してコードＡ「０１０１１」を出力し、コードＢ「１０１００」を出力する。
【０２４４】
セレクタ１２ｇは、前回変化情報が「１０１０１」なので、コードＡを選択したときに、第１，５ビットの値が連続して変化し、連続してその値が変化するビットの数が「２」であることを算出する。以上の結果、セレクタ１２ｇは、判定値Ａを「２」とする。
【０２４５】
セレクタ１２ｇは、前回変化情報が「１０１０１」なので、コードＢを選択したときに、第３ビットの値が連続して変化し、連続してその値が変化するビットの数が「１」であることを算出する。以上の結果、セレクタ１２ｇは、判定値Ｂを「１」とする。
【０２４６】
以上より、セレクタ１２ｇは、判定値が小さいコードＢを選択する。また、セレクタ１２ｇは、コードＢを選択したので、前回変化情報を「０１１１０」に更新する。
【０２４７】
セレクタ１２ｇは、第３の実施形態におけるセレクタ１２ｃと適性判定回路のみが相違する。たとえば、セレクタ１２ｇのコードＡに対応する適性判定回路は、図２５に示す適性判定回路３１ｇからビット加算器３４ａと、乗算器３６ａと、加算器３７ａとを取り除き、ビット加算器３５ａの出力を外部へ出力するように変更したものである。
【０２４８】
データラッチ回路１３ｅは、前回変化情報のみを出力する。データラッチ回路１３ｅは、図２６に示す第３の実施形態におけるデータラッチ回路１３ｃにおいて、前回変化情報のみを出力するように変更したものである。
【０２４９】
（受信装置の構成）
本実施の形態に係わる受信装置は、第１の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
【０２５０】
以上のように、本実施の形態に係わる通信システムによれば、元情報がＮビットのときに、（Ｎ＋１）ビットの複数のパラレルコードのうち、連続して変化するビットの数を最小にするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、処理速度を高速化することができる。
【０２５１】
［第８の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋２）ビットの４つのパラレルコードを生成して、選択基準βのみによって、これら４つのパラレルコードのうちの１つを選択して出力する送信装置を有する通信システムに関する。
【０２５２】
（送信装置の構成）
第８の実施形態に係わる送信装置は、図２７に示す第４の実施形態におけるセレクタ１２ｄの代りに、セレクタ１２ｈを備え、データラッチ回路１３ｄの代りに、データラッチ回路１３ｆを備える。以下、これらについて説明する。
【０２５３】
セレクタ１２ｈは、サブエンコーダ１１ｂからコードＣ、コードＤ、コードＥまたはコードＦを受けて、いずれかを選択して出力する。セレクタ１２ｈは、次のコード選択の条件として、選択基準βのみを用いる。
【０２５４】
図４１は、セレクタ１２ｈが選択基準βによって順次選択するコード列の例を示す。同図において、左側に元情報を、中央にコードＣ、コードＤ、コードＥおよびコードＦを示し、右側に前回変化情報を示す。太枠で示されたコードが選択されたことを示す。
【０２５５】
サブエンコーダ１１ｂは、元情報「００１０」に対してコードＣ「００００１０」を出力し、コードＤ「０１０１１１」を出力し、コードＥ「１０１０００」を出力し、コードＦ「１１１１０１」を出力する。セレクタ１２ｈは、最初は、デフォルト選択として、コードＣを選択する。また、前回変化情報として、最初は、デフォルト値「００００００」が設定されている。
【０２５６】
次に、サブエンコーダ１１ｂは、元情報「１１０１」に対してコードＣ「００１１０１」を出力し、コードＤ「０１１０００」を出力し、コードＥ「１００１１１」を出力し、コードＦ「１１００１０」を出力する。セレクタ１２ｈは、再度デフォルト選択として、コードＣを選択する。また、セレクタ１２ｈは、コードＣを選択したので、前回変化情報を「００１１１１」に更新する。
【０２５７】
次に、サブエンコーダ１１ｂは、元情報「１１１１」に対してコードＣ「００１１１１」を出力し、コードＤ「０１１０１０」を出力し、コードＥ「１００１０１」を出力し、コードＦ「１１００００」を出力する。
【０２５８】
セレクタ１２ｈは、前回変化情報が「００１１１１」より、コードＣを選択したときに、第２ビットの値が連続して変化するので、連続してその値が変化するビットの数が「１」であることを算出し、判定値Ｃを「１」をとする。
【０２５９】
セレクタ１２ｈは、前回変化情報が「００１１１１」より、コードＤを選択したときに、第１，２，３ビットの値が連続して変化するので、連続してその値が変化するビットの数が「３」であることを算出する。以上の結果、セレクタ１２ｈは、判定値Ｄを「３」をする。
【０２６０】
セレクタ１２ｈは、前回変化情報が「００１１１１」より、コードＥを選択したときに、第４ビットの値が連続して変化するので、連続してその値が変化するビットの数が「１」であることを算出し、判定値Ｅを「１」をとする。
【０２６１】
セレクタ１２ｈは、前回変化情報が「００１１１１」より、コードＦを選択したときに、第１，３，４ビットの値が連続して変化するので、連続してその値が変化するビットの数が「３」であることを算出し、判定値Ｆを「３」とする。
【０２６２】
以上より、セレクタ１２ｈは、判定値が最小の１つであるコードＣを選択する。また、セレクタ１２ｈは、コードＣを選択したので、前回変化情報を「００００１０」に更新する。
【０２６３】
次に、サブエンコーダ１１ｂは、元情報「０１０１」に対してコードＣ「０００１０１」を出力し、コードＤ「０１００００」を出力し、コードＥ「１０１１１１」を出力し、コードＦ「１１１０１０」を出力する。
【０２６４】
セレクタ１２ｈは、前回変化情報が「００００１０」より、コードＣを選択したときに、第２ビットの値が連続して変化し、連続してその値が変化するビットの数が「１」であることを算出し、判定値Ｃ「１」をとする。
【０２６５】
セレクタ１２ｈは、前回変化情報が「００００１０」より、コードＤを選択したときに、第２ビットの値が連続して変化し、連続してその値が変化するビットの数が「１」であることを算出し、判定値Ｄを「１」とする。
【０２６６】
セレクタ１２ｈは、前回変化情報が「００００１０」より、コードＥを選択したときに、連続してその値が変化するビットの数が「０」であることを算出し、判定値Ｅを「０」とする。
【０２６７】
セレクタ１２ｈは、前回変化情報が「００００１０」より、コードＦを選択したときに、連続してその値が変化するビットの数が「０」であることを算出し、判定値Ｆを「０」をとする。
【０２６８】
以上より、セレクタ１２ｈは、判定値が最小の１つであるコードＥを選択する。セレクタ１２ｈは、コードＥを選択したので、前回変化情報を「１０００００」に更新する。
【０２６９】
次に、サブエンコーダ１１ｂは、元情報「１０１１」に対してコードＣ「００１０１１」を出力し、コードＤ「０１１１１０」を出力し、コードＥ「１００００１」を出力し、コードＦ「１１０１００」を出力する。
【０２７０】
セレクタ１２ｈは、前回変化情報が「１０００００」より、コードＣを選択したときに、第６ビットの値が連続して変化し、連続してその値が変化するビットの数が「１」であることを算出し、判定値Ｃを「１」とする。
【０２７１】
セレクタ１２ｈは、前回変化情報が「１０００００」より、コードＤを選択したときに、第６ビットの値が連続して変化し、連続してその値が変化するビットの数が「１」であることを算出し、判定値Ｄを「１」とする。
【０２７２】
セレクタ１２ｈは、前回変化情報が「１０００００」より、コードＥを選択したときに、連続してその値が変化するビットの数が「０」であることを算出し、判定値Ｅを「０」をとする。
【０２７３】
セレクタ１２ｈは、前回変化情報が「１０００００」より、コードＦを選択したときに、連続してその値が変化するビットの数が「０」であることを算出し、判定値Ｆを「０」とする。
【０２７４】
以上より、セレクタ１２ｈは、判定値が最小の１つであるコードＥを選択する。また、セレクタ１２ｈは、コードＥを選択したので、前回変化情報を「００１１１０」に更新する。
【０２７５】
セレクタ１２ｈは、第４の実施形態におけるセレクタ１２ｄと適性判定回路のみが相違する。たとえば、セレクタ１２ｈのコードＣに対応する適性判定回路は、図３０に示す適性判定回路３１ｉからビット加算器３４ｂと、乗算器３６ｂと、加算器３７ｂとを取り除き、ビット加算器３５ｂの出力を外部へ出力するように変更したものである。
【０２７６】
データラッチ回路１３ｆは、前回変化情報のみを出力する。データラッチ回路１３ｆは、図３１に示す第４の実施形態におけるデータラッチ回路１３ｄにおいて、前回変化情報のみを出力するように変更したものである。
【０２７７】
（受信装置の構成）
本実施の形態に係わる受信装置は、第２の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
【０２７８】
以上のように、本実施の形態に係わる通信システムによれば、元情報がＮビットのときに、（Ｎ＋２）ビットの複数のパラレルコードのうち、連続して変化するビットの数を最小にするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、処理速度を高速化することができる。
【０２７９】
［第９の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋１）ビットの２つのパラレルコードを生成して、選択基準γのみによって、これら２つのパラレルコードのうちの１つを選択して出力する送信装置を有する通信システムに関する。
【０２８０】
（送信装置の構成）
第９の実施形態に係わる送信装置は、図３２に示す第５の実施形態におけるセレクタ１２ｅの代りに、セレクタ１２ｉを備え、データラッチ回路１３ｃを備えない。以下、これらについて説明する。
【０２８１】
セレクタ１２ｉは、サブエンコーダ１１ａからコードＡまたはコードＢを受けて、いずれかを選択して出力する。セレクタ１２ｉは、次のコード選択の条件として、選択基準γのみを用いる。
【０２８２】
図４２は、セレクタ１２ｉが選択基準γによって順次選択するコード列の例を示す。同図において、左側に元情報を、右側にコードＡおよびコードＢを示す。太枠で示されたコードが選択されたことを示す。
【０２８３】
サブエンコーダ１１ａは、元情報「００１０」に対してコードＡ「０００１０」を出力し、コードＢ「１１１０１」を出力する。セレクタ１２ｉは、最初は、デフォルト選択として、コードＡを選択する。
【０２８４】
次に、サブエンコーダ１１ａは、元情報「１１０１」に対してコードＡ「０１１０１」を出力し、コードＢ「１００１０」を出力する。
【０２８５】
セレクタ１２ｉは、コードＡを選択したときに、最下位から第２ビットの両隣のビットが同時に同方向に変化し、かつ第２ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「１」であると算出し、判定値Ａを「１」とする。
【０２８６】
セレクタ１２ｉは、コードＢを選択したときに、クロストーク数を「０」であると算出し、判定値Ｂを「０」とする。
【０２８７】
以上より、セレクタ１２ｉは、判定値が最小のコードＢを選択する。
【０２８８】
次に、サブエンコーダ１１ａは、元情報「１１１１」に対してコードＡ「０１１１１」を出力し、コードＢ「１００００」を出力する。
【０２８９】
セレクタ１２ｉは、コードＡを選択したときに、クロストーク数を「０」であると算出し、判定値Ａを「０」とする。
【０２９０】
セレクタ１２ｉは、コードＢを選択したときに、クロストーク数を「０」であると算出し、判定値Ｂを「０」とする。
【０２９１】
以上より、セレクタ１２ｉは、判定値が最小の１つであるコードＢを選択する。
【０２９２】
次に、サブエンコーダ１１ａは、元情報「０１０１」に対してコードＡ「００１０１」を出力し、コードＢ「１１０１０」を出力する。
【０２９３】
セレクタ１２ｉは、コードＡを選択したときに、最下位から第２ビットの両隣のビットが同時に同方向に変化し、かつ第２ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「１」であると算出し、判定値Ａを「１」とする。
【０２９４】
セレクタ１２ｉは、コードＢを選択したときに、最下位から第３ビットの両隣のビットが同時に同方向に変化し、かつ第３ビットのビット値と、両隣のビット値が異なるので、クロストーク数を「１」と算出し、判定値Ｂを「１」とする。
【０２９５】
以上より、セレクタ１２ｉは、判定値が最小の１つであるコードＢを選択する。
【０２９６】
次に、サブエンコーダ１１ａは、元情報「１０１１」に対してコードＡ「０１０１１」を出力し、コードＢ「１０１００」を出力する。
【０２９７】
セレクタ１２ｉは、コードＡを選択したときに、クロストーク数を「０」であると算出し、判定値Ａを「０」とする。
【０２９８】
セレクタ１２ｉは、コードＢを選択したときに、最下位から第３ビットの両隣のビットが同時に同方向に変化し、かつ第３ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「１」であると算出し、判定値Ｂを「１」とする。
【０２９９】
以上より、セレクタ１２ｉは、判定値が最小であるコードＡを選択する。
【０３００】
セレクタ１２ｉは、第５の実施形態におけるセレクタ１２ｅと適性判定回路のみが相違する。たとえば、セレクタ１２ｉのコードＡに対応する適性判定回路は、図３５に示す適性判定回路３１ｍから論理積回路ＡＮＤ１〜ＡＮＤ５と、ビット加算器３４ａ，３５ａと、乗算器３６ａ，３９ａと、加算器３７ｃとを取り除き、ビット加算器３８ａの出力を外部へ出力するように変更したものである。
【０３０１】
（受信装置の構成）
本実施の形態に係わる受信装置は、第１の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
【０３０２】
以上のように、本実施の形態に係わる通信システムによれば、元情報がＮビットのときに、（Ｎ＋１）ビットの複数のパラレルコードのうち、クロストーク数を最小にするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路および信号線において、クロストークノイズの発生を低減化することができる。
【０３０３】
［第１０の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋２）ビットの４つのパラレルコードを生成して、選択基準γのみによって、これら４つのパラレルコードのうちの１つを選択して出力する送信装置を有する通信システムに関する。
【０３０４】
（送信装置の構成）
第１０の実施形態に係わる送信装置は、図３６に示す第６の実施形態におけるセレクタ１２ｆの代りに、セレクタ１２ｊを備え、データラッチ回路１３ｄを備えない。以下、これらについて説明する。
【０３０５】
セレクタ１２ｊは、サブエンコーダ１１ｂからコードＣ、コードＤ、コードＥまたはコードＦを受けて、いずれかを選択して出力する。セレクタ１２ｊは、次のコード選択の条件として、選択基準γのみを用いる。
【０３０６】
図４３は、セレクタ１２ｊが選択基準γによって順次選択するコード列の例を示す。同図において、左側に元情報を、右側にコードＣ、コードＤ、コードＥおよびコードＦを示す。太枠で示されたコードが選択されたことを示す。
【０３０７】
サブエンコーダ１１ｂは、元情報「００１０」に対してコードＣ「００００１０」を出力し、コードＤ「０１０１１１」を出力し、コードＥ「１０１０００」を出力し、コードＦ「１１１１０１」を出力する。セレクタ１２ｊは、最初は、デフォルト選択として、コードＣを選択する。
【０３０８】
次に、サブエンコーダ１１ｂは、元情報「１１０１」に対してコードＣ「００１１０１」を出力し、コードＤ「０１１０００」を出力し、コードＥ「１００１１１」を出力し、コードＦ「１１００１０」を出力する。
【０３０９】
セレクタ１２ｊは、コードＣを選択したときに、最下位から第２ビットの両隣のビットが同時に同方向に変化し、かつ第２ビットの値と両隣のビットの変化後の値とが異なるので、クロストーク数を「１」であると算出し、判定値Ｃを「１」とする。
【０３１０】
セレクタ１２ｊは、コードＤを選択したときに、クロストーク数を「０」であると算出し、判定値Ｄを「０」とする。
【０３１１】
セレクタ１２ｊは、コードＥを選択したときに、クロストーク数を「０」であると算出し、判定値Ｅを「０」とする。
【０３１２】
セレクタ１２ｊは、コードＦを選択したときに、クロストーク数を「０」であると算出し、判定値Ｆを「０」とする。
【０３１３】
以上より、セレクタ１２ｊは、判定値が最小の１つであるコードＤを選択する。
【０３１４】
次に、サブエンコーダ１１ｂは、元情報「１１１１」に対してコードＣ「００１１１１」を出力し、コードＤ「０１１０１０」を出力し、コードＥ「１００１０１」を出力し、コードＦ「１１００００」を出力する。
【０３１５】
セレクタ１２ｊは、コードＣを選択したときに、クロストーク数を「０」であると算出し、判定値Ｃを「０」とする。
【０３１６】
セレクタ１２ｊは、コードＤを選択したときに、クロストーク数を「０」であると算出し、判定値Ｄを「０」とする。
【０３１７】
セレクタ１２ｊは、コードＥを選択したときに、最下位から第２ビットの両隣のビットが同時に同方向に変化し、かつ第２ビットの値と両隣のビットの変化後の値とが異なるので、クロストーク数を「１」であると算出し、判定値Ｅを「１」とする。
【０３１８】
セレクタ１２ｊは、コードＦを選択したときに、クロストーク数を「０」であると算出し、判定値Ｆを「０」とする。
【０３１９】
以上より、セレクタ１２ｊは、判定値が最小の１つであるコードＤを選択する。
【０３２０】
次に、サブエンコーダ１１ｂは、元情報「０１０１」に対してコードＣ「０００１０１」を出力し、コードＤ「０１００００」を出力し、コードＥ「１０１１１１」を出力し、コードＦ「１１１０１０」を出力する。
【０３２１】
セレクタ１２ｊは、コードＣを選択したときに、最下位から第２ビットの両隣のビットが同時に同方向に変化し、かつ第２ビットの値と両隣のビットの変化後の値とが異なるので、クロストーク数を「１」であると算出し、判定値Ｃを「１」とする。
【０３２２】
セレクタ１２ｊは、コードＤを選択したときに、クロストーク数を「０」であると算出し、判定値Ｄを「０」とする。
【０３２３】
セレクタ１２ｊは、コードＥを選択したときに、クロストーク数を「０」であると算出し、判定値Ｅを「０」とする。
【０３２４】
セレクタ１２ｊは、コードＦを選択したときに、クロストーク数を「０」であると算出し、判定値Ｆを「０」とする。
【０３２５】
以上より、セレクタ１２ｊは、判定値が最小の１つであるコードＤを選択する。
【０３２６】
次に、サブエンコーダ１１ｂは、元情報「１０１１」に対してコードＣ「００１０１１」を出力し、コードＤ「０１１１１０」を出力し、コードＥ「１００００１」を出力し、コードＦ「１１０１００」を出力する。
【０３２７】
セレクタ１２ｊは、コードＣを選択したときに、最下位から第３ビットの両隣のビットが同時に同方向に変化し、かつ第３ビットのビット値と両隣のビット値が異なるので、クロストーク数を「１」であると算出し、判定値Ｃを「１」とする。また、セレクタ１２ｊは、コードＤを選択したときに、クロストーク数を「０」であると算出し、判定値Ｄを「０」とする。また、セレクタ１２ｊは、コードＥを選択したときに、クロストーク数を「０」であると算出し、判定値Ｅを「０」とする。また、セレクタ１２ｊは、コードＦを選択したときに、クロストーク数を「０」であると算出し、判定値Ｆを「０」とする。以上より、セレクタ１２ｊは、判定値が最小の１つであるコードＤを選択する。
【０３２８】
セレクタ１２ｊは、第６の実施形態におけるセレクタ１２ｆと適性判定回路のみが相違する。たとえば、セレクタ１２ｊのコードＣに対応する適性判定回路は、図３９に示す適性判定回路３１ｏから論理積回路ＡＮＤ６〜ＡＮＤ１１と、ビット加算器３４ｂ，３５ｂと、乗算器３６ｂ，３９ｂと、加算器３７ｄとを取り除き、ビット加算器３８ｂの出力を外部へ出力するように変更したものである。
【０３２９】
（受信装置の構成）
本実施の形態に係わる受信装置は、第２の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
【０３３０】
以上のように、本実施の形態に係わる通信システムによれば、元情報がＮビットのときに、（Ｎ＋２）ビットの複数のパラレルコードのうち、クロストーク数を最小にするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路および信号線において、クロストークノイズの発生を低減化することができる。
【０３３１】
［第１１の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋２）ビットの１つのパラレルコードを生成して、このパラレルコードの適性を適性基準α’によって判定し、判定結果に応じて、このパラレルコードをそのまま、または所定の変形を加えたパラレルコードを出力する通信システムに関する。
【０３３２】
第１〜第１０の実施形態では、エンコーダが複数のコードを生成し、セレクタが選択基準によって、生成された各コードの適性を判定し、判定結果に応じて、１つのコードを選択した。
【０３３３】
しかしながら、複数のコードを生成し、生成された各コードの適性を判定するとなると、回路の規模が大きくなる。
【０３３４】
そこで、本実施の形態では、エンコーダが１つのパラレルコードを生成するとともに、そのパラレルコードの適性を判定し、判定結果に応じて、そのパラレルコードまたは所定の変形を加えたパラレルコードを出力するようにすることで、回路の規模を小さくする。
【０３３５】
（送信装置の構成）
図４４は、第１１の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置１００ｇは、Ｎビットの元情報（パラレルデータ）に対して、（Ｎ＋２）ビットのパラレルコードを送信する送信装置であって、エンコーダ１５ｇと、データラッチ回路１３ｂと、出力回路１４ｂとを備える。
【０３３６】
エンコーダ１５ｇは、１つの所定のコード（コードＣ）の奇数ビットおよび偶数ビットごとに、適性基準α’「その値が変化するビットの数が設定値未満である。」によって、そのコードの適性を判定する。すなわち、エンコーダ１５ｇは、その値が変化する奇数ビットの数を奇数ビットの判定値とし、奇数ビットの判定値が設定値未満のときに奇数ビットの適性を良と判定し、奇数ビットの判定値が設定値以上のときに奇数ビットの適性を不良と判定する。また、エンコーダ１５ｇは、その値が変化する所定のコードの偶数ビットの数を偶数ビットの判定値とし、偶数ビットの判定値が設定値未満のときに偶数ビットの適性を良と判定し、偶数ビットの判定値が設定値以上のときに偶数ビットの適性を不良と判定する。エンコーダ１５ｇは、奇数ビットの適性を不良と判定したときには、所定のコードの奇数ビットの値を反転し、偶数ビットの適性を不良と判定したときには、所定のコードの偶数ビットの値を反転する。
【０３３７】
図４５は、エンコーダ１５ｇが順次出力するコード列の例を示す。同図において、左側に元情報を、右側にコードＣ、コードＤ、コードＥおよびコードＦを示す。太枠で示されたコードが選択されたことを示す。
【０３３８】
まず、エンコーダ１５ｇは、最初は、デフォルト出力として元情報「００１０」に対して、コードＣ「００００１０」を出力する。
【０３３９】
次に、エンコーダ１５ｇは、元情報「１１０１」に対して、コードＣ「００１１０１」を選択したときに、最下位から第１，２，３，４ビットの値が変化するので、その値が変化する奇数ビットの数が「２」であり、その値が変化する偶数ビットの数が「２」であることを算出し、奇数ビットの判定値を「２」とし、偶数ビットの判定値を「２」とする。エンコーダ１５ｇは、奇数ビットの判定値「２」が設定値「２」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「２」が設定値「２」以上であるので、偶数ビットの適性を不良と判定する。以上より、エンコーダ１５ｇは、コードＣ「００１１０１」の全ビットを反転させたコードＦ「１１００１０」を出力する。
【０３４０】
次に、エンコーダ１５ｇは、元情報「１１１１」に対して、コードＣ「００１１１１」を選択したときに、最下位から第１，３，４，５，６ビットの値が変化するので、その値が変化する奇数ビットの数が「３」であり、その値が変化する偶数ビットの数が「２」であることを算出し、奇数ビットの判定値を「３」とし、偶数ビットの判定値を「２」とする。エンコーダ１５ｇは、奇数ビットの判定値「３」が設定値「２」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「２」が設定値「２」以上であるので、偶数ビットの適性を不良と判定する。以上より、エンコーダ１５ｇは、コードＣ「００１１１１」の全ビットを反転させたコードＦ「１１００００」を出力する。
【０３４１】
次に、エンコーダ１５ｇは、元情報「０１０１」に対して、コードＣ「０００１０１」を選択したときに、最下位から第１，３，５，６ビットの値が変化するので、その値が変化する奇数ビットの数が「３」であり、その値が変化する偶数ビットの数が「１」であることを算出し、奇数ビットの判定値を「３」とし、偶数ビットの判定値を「１」とする。エンコーダ１５ｇは、奇数ビットの判定値「３」が設定値「２」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「１」が設定値「２」未満であるので、偶数ビットの適性を良と判定する。以上より、エンコーダ６１は、コードＣ「００１１１１」の奇数ビットのみを反転させたコードＤ「０１００００」を出力する。
【０３４２】
次に、エンコーダ１５ｇは、元情報「１０１１」に対して、コードＣ「００１０１１」を選択したときに、最下位から第１，２，４，５ビットの値が変化するので、その値が変化する奇数ビットの数が「２」であり、その値が変化する偶数ビットの数が「２」であることを算出し、奇数ビットの判定値を「２」とし、偶数ビットの判定値を「２」とする。エンコーダ１５ｇは、奇数ビットの判定値「２」が設定値「２」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「２」が設定値「２」以上であるので、偶数ビットの適性を不良と判定する。以上より、エンコーダ１５ｇは、コードＣ「００１０１１」の全ビットを反転させたコードＦ「１１０１００」を出力する。
【０３４３】
図４６は、エンコーダ１５ｇを実現する具体的な回路構成を示す。同図を参照して、エンコーダ１５ｇは、複数の排他的論理和回路Ｅ−ＯＲ１２〜Ｅ−ＯＲ１９と、ビット加算器３４ｃ，３４ｄと、比較器４２ａ，４２ｂとを備える。
【０３４４】
排他的論理和回路Ｅ−ＯＲ１２は、元情報の第１ビット（＝コードＣの第１ビット）と前コードの第１ビットとが相違するときのみ、「１」を出力する。
【０３４５】
排他的論理和回路Ｅ−ＯＲ１３は、元情報の第３ビット（＝コードＣの第３ビット）と前コードの第３ビットとが相違するときのみ、「１」を出力する。
【０３４６】
ビット加算器３４ｃは、排他的論理和回路Ｅ−ＯＲ１２の出力と、排他的論理和回路Ｅ−ＯＲ１３の出力と、前コードの第５ビットの値とを加算する。ここで、コードＣの第５ビットは「０」なので、ビット加算器３４ｃに入力される前コードの第５ビットは、前コードの第５ビットと、コードＣの第５ビットが相違するときのみ、「１」となる。したがって、ビット加算器３４ｃは、コードＣを選択したときに変化する奇数ビット数をコードＣの奇数ビットの適性を示す判定値として出力する。
【０３４７】
比較器４２ａは、ビット加算器３４ｃの出力である奇数ビットの判定値が設定値「２」以上のときのみ、「１」を出力する。比較器４２ａの出力は、排他的論理和回路Ｅ−ＯＲ１６，Ｅ−ＯＲ１８に送られるとともに、出力コードの第５ビットとなる。
【０３４８】
排他的論理和回路Ｅ−ＯＲ１６，Ｅ−ＯＲ１８は、比較器４２ａの出力が「０」のとき、元情報の第１，第３ビットの値をそのまま出力コードの第１，第３ビットの値とし、比較器４２ａの出力が「１」のとき、元情報の第１，第３ビットの値を反転して出力コードの第１，第３ビットの値とする。
【０３４９】
排他的論理和回路Ｅ−ＯＲ１４は、元情報の第２ビット（＝コードＣの第２ビット）と前コードの第２ビットとが相違するときのみ、「１」を出力する。
【０３５０】
排他的論理和回路Ｅ−ＯＲ１５は、元情報の第４ビット（コードＣの第４ビット）と前コードの第４ビットとが相違するときのみ、「１」を出力する。
【０３５１】
ビット加算器３４ｄは、排他的論理和回路Ｅ−ＯＲ１４の出力と、排他的論理和回路Ｅ−ＯＲ１５の出力と、前コードの第６ビットの値とを加算する。ここで、コードＣの第６ビットは「０」なので、ビット加算器３４ｄに入力される前コードの第６ビットは、前コードの第６ビットと、コードＣの第６ビットが相違するときのみ、「１」となる。したがって、ビット加算器３４ｄは、コードＣを選択したときに変化する偶数ビット数をコードＣの偶数ビットの適性を示す判定値として出力する。
【０３５２】
比較器４２ｂは、ビット加算器３４ｄの出力である偶数ビットの判定値が設定値「２」以上のときのみ、「１」を出力する。比較器４２ｂの出力は、排他的論理和回路Ｅ−ＯＲ１７，Ｅ−ＯＲ１９に送られるとともに、出力コードの第６ビットとなる。
【０３５３】
排他的論理和回路Ｅ−ＯＲ１７，Ｅ−ＯＲ１９は、比較器４２ｂの出力が「０」のとき、元情報の第２，第４ビットの値をそのまま出力コードの第２，第４ビットの値とし、比較器４２ｂの出力が「１」のとき、元情報の第２，第４ビットの値を反転して出力コードの第２，第４ビットの値とする。
【０３５４】
以上のようにして、コードＣの奇数ビットの判定値が設定値未満であり、かつ偶数ビットの判定値が設定値未満であるときには、コードＣの奇数ビットと偶数ビットの適性が良と判定され、コードＣがそのまま出力される。コードＣの奇数ビットの判定値が設定値以上であり、かつ偶数ビットの判定値が設定値未満であるときには、コードＣの奇数ビットのみ、その適性が不良と判定され、コードＣの奇数ビットを反転させたコードＤが出力される。コードＣの奇数ビットの判定値が設定値未満であり、かつ偶数ビットの判定値が設定値以上であるときには、コードＣの偶数ビットのみ、そのの適性が不良と判定され、コードＣの偶数ビットを反転させたコードＥが出力される。コードＣの奇数ビットの判定値が設定値以上であり、かつ偶数ビットの判定値が設定値以上であるときには、コードＣの奇数ビットと偶数ビットの適性が不良と判定され、コードＣの全ビットを反転させたコードＦが出力される。
【０３５５】
（受信装置の構成）
本実施の形態に係わる受信装置は、第２の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
【０３５６】
以上のように、本実施の形態に係わる通信システムによれば、元情報がＮビットのときに、（Ｎ＋２）ビットの複数のパラレルコードのうち、同時に変化するビット数を少なくするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、消費電力を低減化することができる。
【０３５７】
［第１２の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋２）ビットの１つのパラレルコードを生成して、このパラレルコードの適性を適性基準α’とβ’とを併せた適性選択基準（α’＋β’）によって判定し、判定結果に応じて、このパラレルコードをそのまま、または所定の変形を加えたパラレルコードを出力する通信システムに関する。
【０３５８】
（送信装置の構成）
図４７は、第１２の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置１００ｈは、Ｎビットの元情報に対して、（Ｎ＋２）ビットのパラレルコードを送信する送信装置であって、エンコーダ１５ｈと、データラッチ回路１３ｄと、出力回路１４ｂとを備える。
【０３５９】
エンコーダ１５ｈは、１つの所定のコード（コードＣ）の奇数ビットおよび偶数ビットごとに、適性基準α’と適性基準β’「連続変化指数が設定値未満である。」とを併せた適性基準（α’＋β’）によって、そのコードの適性を判定する。
【０３６０】
ここで、奇数ビットの連続変化指数とは、その値が前回変化し、かつ今回も変化する奇数ビットの数から、その値が前回変化し、かつ今回は変化しない奇数ビットの数を差し引いた数をいう。また、偶数ビットの連続変化指数とは、その値が前回変化し、かつ今回も変化する偶数ビットの数から、その値が前回変化し、かつ今回は変化しない偶数ビットの数を差し引いた数をいう。このように、前回変化し、かつ今回は変化しないビット数を差し引いたのは、コードＣを選択したときに、前回変化し、かつ今回は変化しないビットは、他のコードを選択したときに、前回変化し、かつ今回も変化する可能性があるので、コードＣの適性が、相対的に良となるようにするためである。
【０３６１】
エンコーダ１５ｈは、その値が変化する奇数ビットの数と、奇数ビットの連続変化指数に重み係数Ｋ（＝「２」）を乗じた数との和を奇数ビットの判定値とする。また、エンコーダ１５ｈは、その値が変化する偶数ビットの数と、偶数ビットの連続変化指数に重み係数Ｋ（＝「２」）を乗じた数との和を偶数ビットの判定値とする。そして、エンコーダ１５ｈは、第１１の実施形態と同様に、奇数ビットの判定値および偶数ビットの判定値に応じて、所定のコードの奇数ビットおよび偶数ビットを反転する。
【０３６２】
図４８は、エンコーダ１５ｈが順次出力するコード列の例を示す。同図において、左側に元情報を、中央にコードＣ、コードＤ、コードＥおよびコードＦを示し、右側に前回変化情報を示す。太枠で示されたコードが選択されたことを示す。
【０３６３】
まず、エンコーダ１５ｈは、最初は、デフォルト出力として元情報「００１０」に対して、コードＣ「００００１０」を出力する。また、前回変化情報として、最初はデフォルト値「００００００」が設定されている。
【０３６４】
次に、エンコーダ１５ｈは、元情報「１１０１」に対して、コードＣ「００１１０１」を選択したときに、最下位から第１，２，３，４ビットの値が変化するので、その値が変化する奇数ビットの数が「２」であり、その値が変化する偶数ビットの数が「２」であることを算出する。また、エンコーダ１５ｈは、前回変化情報が「００００００」より、コードＣを選択したときに、奇数ビットの連続変化指数が「０」で、偶数ビットの連続変化指数が「０」であることを算出する。以上の結果、エンコーダ１５ｈは、奇数ビットの判定値を「２」（＝２＋２×０）とし、偶数ビットの判定値を「２」（＝２＋２×０）とする。
【０３６５】
以上より、エンコーダ１５ｈは、奇数ビットの判定値「２」が設定値「２」以上であるので、奇数ビットの適性を不良と判定し、また、偶数ビットの判定値「２」が設定値「２」以上であるので、偶数ビットの適性を不良と判定する。以上より、エンコーダ１５ｈは、コードＣ「００１１０１」の全ビットを反転させたコードＦ「１１００１０」を出力する。また、エンコーダ１５ｈは、コードＦ「１１００１０」を出力したので、前回変化情報を「１１００００」に更新する。
【０３６６】
次に、エンコーダ１５ｈは、元情報「１１１１」に対して、コードＣ「００１１１１」を選択したときに、最下位から第１，３，４，５，６ビットの値が変化するので、その値が変化する奇数ビットの数が「３」であり、その値が変化する偶数ビットの数が「２」であることを算出する。また、エンコーダ１５ｈは、前回変化情報が「１１００００」より、コードＣを選択したときに、第５，６ビットの値に連続して変化があるか否かを判定し、奇数ビットの連続変化指数が「１」で、偶数ビットの連続変化指数が「１」であることを算出する。以上の結果、エンコーダ１５ｈは、奇数ビットの判定値を「５」（３＋２×１）とし、偶数ビットの判定値を「４」（２＋２×１）とする。
【０３６７】
以上より、エンコーダ１５ｈは、奇数ビットの判定値「５」が設定値「２」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「４」が設定値「２」以上であるので、偶数ビットの適性を不良と判定する。以上より、エンコーダ１５ｈは、コードＣ「００１１１１」の全ビットを反転させたコードＦ「１１００００」を出力する。また、エンコーダ１５ｈは、コードＦ「１１００００」を出力したので、前回変化情報を「００００１０」に更新する。
【０３６８】
次に、エンコーダ１５ｈは、元情報「０１０１」に対して、コードＣ「０００１０１」を選択したときに、最下位から第１，３，５，６ビットの値が変化するので、その値が変化する奇数ビットの数が「３」であり、その値が変化する偶数ビットの数が「１」であることを算出する。また、エンコーダ１５ｈは、前回変化情報が「００００１０」より、コードＣを選択したときに、第２ビットの値に連続して変化があるか否かを判定し、奇数ビットの連続変化指数が「０」（対象となるビットなし）で、偶数ビットの連続変化指数が「−１」（対象となる１ビットに変化なし）であることを算出する。以上の結果、エンコーダ１５ｈは、奇数ビットの判定値を「３」（３＋２×０）とし、偶数ビットの判定値を「−１」（１＋２×（−１））とする。
【０３６９】
以上より、エンコーダ１５ｈは、奇数ビットの判定値「３」が設定値「２」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「−１」が設定値「２」未満であるので、偶数ビットの適性を良と判定する。以上より、エンコーダ１５ｈは、コードＣ「０００１０１」の奇数ビットのみを反転させたコードＤ「０１００００」を出力する。また、エンコーダ１５ｈは、コードＤ「０１００００」を出力したので、前回変化情報を「１０００００」に更新する。
【０３７０】
次に、エンコーダ１５ｈは、元情報「１０１１」に対して、コードＣ「００１０１１」を選択したときに、最下位から第１，２，４，５ビットの値が変化するので、その値が変化する奇数ビットの数が「２」であり、その値が変化する偶数ビットの数が「２」であることを算出する。また、エンコーダ１５ｈは、前回変化情報が「１０００００」より、コードＣを選択したときに、第６ビットの値に連続して変化があるか否かを判定し、奇数ビットの連続変化指数が「０」（対象となるビットなし）で、偶数ビットの連続変化指数が「−１」（対象となる１ビットに変化なし）であることを算出する。以上の結果、エンコーダ１５ｈは、奇数ビットの判定値を「２」（２＋２×０）とし、偶数ビットの判定値を「０」（２＋２×（−１））とする。
【０３７１】
以上より、エンコーダ１５ｈは、奇数ビットの判定値「２」が設定値「２」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「０」が設定値「２」未満であるので、偶数ビットの適性を良と判定する。以上より、エンコーダ１５ｈは、コードＣ「００１０１１」の奇数ビットのみを反転させたコードＤ「０１１１１０」を出力する。また、エンコーダ１５ｈは、コードＤ「０１１１１０」を出力したので、前回変化情報を「００１１１０」に更新する。
【０３７２】
図４９は、エンコーダ１５ｈを実現する具体的な回路構成を示す。同図を参照して、エンコーダ１５ｈは、図４６に示すエンコーダ１５ｇに、論理積回路ＡＮＤ１９〜ＡＮＤ３０、およびインバータＩＶ１９〜ＩＶ２４が追加され、図４６に示すエンコーダ１５ｇにおけるビット加算器３４ｃ，３４ｄに代えて重み付きビット加算器４１ａ，４１ｂを備える。
【０３７３】
論理積回路ＡＮＤ１９，２０，２１は、各々、排他的論理和Ｅ−ＯＲ１２，１３の出力もしくは前コードの第５ビットが「１」で、かつ前回変化情報の第１，３，５ビットが「１」のときのみ、すなわち、コードＣを選択すると第１，３，５ビットの値が連続して変化するときのみ、「１」を出力する。
【０３７４】
一方、論理積回路ＡＮＤ２５，２６，２７は、各々、排他的論理和Ｅ−ＯＲ１２，１３の出力もしくは前コードの第５ビットが「０」で、かつ前回変化情報の第１，３，５ビットが「１」のときのみ、すなわち、コードＣの奇数ビットを反転したコードを選択すると第１，３，５ビットの値が連続して変化するときのみ、「１」を出力する。
【０３７５】
重み付きビット加算器４１ａは、排他的論理和回路Ｅ−ＯＲ１２の出力と、排他的論理和回路Ｅ−ＯＲ１３の出力と、前コードの第５ビットの値とを加算して、加算値Ｘを算出し、論理積回路ＡＮＤ１９，２０，２１の出力を加算した値から、論理積回路ＡＮＤ２５，２６，２７の出力を加算した値を差し引いて加算値（Ｙ１−Ｙ２）を算出し、Ｘ＋（重み係数Ｋ）×（Ｙ１−Ｙ２）を算出する。したがって、重み付きビット加算器４１ａは、コードＣを選択したときに変化する奇数ビット数と、奇数ビットの連続変化指数に重み係数Ｋを乗じた数との和を奇数ビットの判定値として出力する。重み係数Ｋは、特に限定されないが、前述の説明においては「２」とした。
【０３７６】
比較器４２ａは、重み付きビット加算器４１ａの出力である奇数ビットの判定値が設定値「２」以上のときのみ、「１」を出力する。比較器４２ａの出力は、排他的論理和回路Ｅ−ＯＲ１６，Ｅ−ＯＲ１８に送られるとともに、出力コードの第５ビットとなる。
【０３７７】
論理積回路ＡＮＤ２２，２３，２４は、各々、排他的論理和Ｅ−ＯＲ１４，１５の出力もしくは前コードの第６ビットが「１」で、かつ前回変化情報の第２，４，６ビットが「１」のときのみ、すなわち、コードＣを選択すると第２，４，６ビットの値が連続して変化するときのみ、「１」を出力する。
【０３７８】
論理積回路ＡＮＤ２８，２９，３０は、各々、排他的論理和Ｅ−ＯＲ１４，１５の出力もしくは前コードの第６ビットが「０」で、かつ前回変化情報の第２，４，６ビットが「１」のときのみ、すなわち、コードＣの偶数ビットを反転したコードを選択すると第２，４，６ビットの値が連続して変化するときのみ、「１」を出力する。
【０３７９】
重み付きビット加算器４１ｂは、排他的論理和回路Ｅ−ＯＲ１４の出力と、排他的論理和回路Ｅ−ＯＲ１５の出力と、前コードの第６ビットの値とを加算して、加算値Ｘを算出し、論理積回路ＡＮＤ２２，２３，２４の出力を加算した値から、論理積回路ＡＮＤ２８，２９，３０の出力を加算した値を差し引いて、加算値（Ｙ１−Ｙ２）を算出し、Ｘ＋（重み係数Ｋ）×（Ｙ１−Ｙ２）を算出する。したがって、重み付きビット加算器４１ｂは、コードＣを選択したときに変化する偶数ビット数と、偶数ビットの連続変化指数に重み係数Ｋを乗じた数との和を偶数ビットの判定値として出力する。重み係数Ｋは、特に限定されないが、本説明においては、「２」とした。
【０３８０】
比較器４２ｂは、重み付きビット加算器４１ｂの出力である偶数ビットの判定値が設定値「２」以上のときのみ、「１」を出力する。比較器４２ｂの出力は、排他的論理和回路Ｅ−ＯＲ１７，Ｅ−ＯＲ１９に送られるとともに、出力コードの第６ビットとなる。
【０３８１】
（受信装置の構成）
本実施の形態に係わる受信装置は、第２の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
【０３８２】
以上のように、本実施の形態に係わる通信システムによれば、元情報がＮビットのときに、（Ｎ＋２）ビットの複数のパラレルコードのうち、同時にその値が変化するビットの数を少なくするとともに、連続してその値が変化するビットの数を少なくするようなパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、消費電力の低減化および処理速度の高速化を同時に実現することができる。
【０３８３】
［第１３の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して（Ｎ＋２）ビットの１つのパラレルコードを生成して、このパラレルコードの適性を適性基準α’とβ’とγ’とを併せた適性基準（α’＋β’＋γ’）によって判定し、判定結果に応じて、このパラレルコードをそのまま、または所定の変形を加えたパラレルコードを出力する通信システムに関する。
【０３８４】
（送信装置の構成）
図５０は、第１３の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置１００ｉは、Ｎビットの元情報に対して、（Ｎ＋２）ビットのパラレルコードを送信する送信装置であって、エンコーダ１５ｉと、データラッチ回路１３ｄと、出力回路１４ｂとを備える。
【０３８５】
エンコーダ１５ｉは、１つの所定のコード（コードＣ）の奇数ビットおよび偶数ビットごとに、適性基準α’とβ’とγ’「クロストーク数が設定値未満である。」とによって、その適性を判定する。
【０３８６】
ここで、奇数ビットのクロストーク数とは、それの両隣の奇数ビットが同一方向に変化し、かつその値が両隣の奇数ビットの変化後の値と異なるような偶数ビットの数から、それの両隣の奇数ビットが同一で変化せず、かつその値が両隣の奇数ビットの値と等しいような偶数ビットの数を差し引いた数をいう。また、偶数ビットのクロストーク数とは、それの両隣の偶数ビットが同一方向に変化し、かつその値が両隣の偶数ビットの変化後の値と異なるような奇数ビットの数から、それの両隣の偶数ビットが同一で変化せず、かつその値が両隣の偶数ビットの値と等しいような奇数ビットの数を差し引いた数をいう。
このように、それの両隣の奇数（または偶数）ビットが同一で変化せず、かつその値が両隣の奇数（または偶数）ビットの値と等しいような偶数（または奇数）ビットの数を差し引いたのは、コードＣを選択したときに、偶数（または奇数）ビットの両隣の奇数（または偶数）ビットが同一で変化せず、かつその偶数（または奇数）ビットの値が両隣の奇数（または偶数）ビットの値と等しいときには、他のコードを選択したときに、偶数（または奇数）ビットの両隣の奇数（または偶数）ビットが同一方向に変化し、かつその偶数（または奇数）ビットの値が両隣の奇数（または偶数）ビットの変化後の値と異なるようになる可能性があるので、コードＣの適性が、相対的に良となるようにするためである。
【０３８７】
エンコーダ１５ｉは、その値が変化する奇数ビットの数と、奇数ビットの連続変化指数に重み係数Ｋ（＝「２」）を乗じた数と、奇数ビットのクロストーク数に重み係数Ｌ（＝「３」）を乗じた数との和を奇数ビットの判定値とする。また、エンコーダ１５ｉは、その値が変化する偶数ビットの数と、偶数ビットの連続変化指数に重み係数Ｋ（＝「２」）を乗じた数と、偶数ビットのクロストーク数に重み係数Ｌ（＝「３」）を乗じた数との和を偶数ビットの判定値とする。そして、エンコーダ１５ｉは、第１１の実施形態と同様に、奇数ビットの判定値および偶数ビットの判定値に応じて、所定のコード（コードＣ）の奇数ビットおよび偶数ビットを反転する。
【０３８８】
図５１は、エンコーダ１５ｉが順次出力するコード列の例を示す。同図において、左側に元情報を、中央にコードＣ、コードＤ、コードＥおよびコードＦを示し、右側に前回変化情報を示す。太枠で示されたコードが選択されたことを示す。
【０３８９】
まず、エンコーダ１５ｉは、最初は、デフォルト出力として元情報「００１０」に対して、コードＣ「００００１０」を出力する。
【０３９０】
次に、エンコーダ１５ｉは、元情報「１１０１」に対して、コードＣ「００１１０１」を選択したときに、その値が変化する奇数ビットの数が「２」であり、その値が変化する偶数ビットの数が「２」であることを算出し、奇数ビットの連続変化指数が「０」であり、偶数ビットの連続変化指数が「０」であることを算出する。また、エンコーダ１５ｉは、コードＣ「００１１０１」を選択したときに、最下位から第１ビットと第３ビットが同時に同方向に変化し、かつこれらのビットのビット値と間に挟まれた第２ビットのビット値とが異なるので、奇数ビットのクロストーク数を「１」であると算出し、偶数ビットのクロストーク数を「０」と算出する。
【０３９１】
以上の結果、エンコーダ１５ｉは、奇数ビットの判定値を「５」（＝２＋３×１）とし、偶数ビットの判定値を「２」（＝２＋３×０）とする。
【０３９２】
以上より、エンコーダ１５ｉは、奇数ビットの判定値「５」が設定値「２」以上であり、かつ偶数ビットの判定値「２」が設定値「２」以上であるので、コードＣ「００１１０１」の全ビットを反転させたコードＦ「１１００１０」を出力する。
【０３９３】
次に、エンコーダ１５ｉは、元情報「１１１１」に対して、コードＣ「００１１１１」を選択したときに、その値が変化する奇数ビットの数が「３」であり、その値が変化する偶数ビットの数が「２」であることを算出する。また、エンコーダ１５ｉは、前回変化情報が「１１００００」であることより、第５，６ビットが連続して変化するか否かを判定し、奇数ビットの連続変化指数が「１」であり、偶数ビットの連続変化指数が「１」であることを算出する。また、エンコーダ１５ｉは、コードＣ「００１１１１」を選択したときに、奇数ビットのクロストーク数を「０」と算出し、偶数ビットのクロストーク数を「０」であると算出する。
【０３９４】
以上の結果、エンコーダ１５ｉは、奇数ビットの判定値を「５」（３＋２×１＋３×０）とし、偶数ビットの判定値を「４」（２＋２×１＋３×０）とする。
【０３９５】
以上より、エンコーダ１５ｉは、奇数ビットの判定値「５」が設定値「２」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「４」が設定値「２」以上であるので、偶数ビットの適性を不良と判定し、その結果コードＣ「００１１１１」の全ビットを反転させたコードＦ「１１００００」を出力する。
【０３９６】
次に、エンコーダ１５ｉは、元情報「０１０１」に対して、コードＣ「０００１０１」を選択したときに、その値が変化する奇数ビットの数が「３」であり、その値が変化する偶数ビットの数が「１」であることを算出する。また、エンコーダ１５ｉは、前回変化情報が「００００１０」であることより、第２ビットが連続して変化するか否かを判定し、奇数ビットの連続変化指数が「０」（対象となるビットなし）であり、偶数ビットの連続変化指数が「−１」（対象となる１ビットに変化なし）であることを算出する。また、エンコーダ１５ｉは、コードＣ「０００１０１」を選択したときに、最下位から第１ビットと第３ビットが同時に同方向に変化し、かつこれらのビットの値と間に挟まれた第２ビットの値が異なるので、奇数ビットのクロストーク数を「１」と算出し、偶数ビットのクロストーク数を「０」であると算出する。
【０３９７】
以上の結果、エンコーダ１５ｉは、奇数ビットの判定値を「６」（３＋２×０＋３×１）とし、偶数ビットの判定値を「−１」（１＋２×（−１））とする。
【０３９８】
以上より、エンコーダ１５ｉは、奇数ビットの判定値「６」が設定値「２」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「−１」が設定値「２」未満であるので、偶数ビットの適性を良と判定し、その結果コードＣ「０００１０１」の奇数ビットを反転させたコードＤ［０１００００」を出力する。
【０３９９】
次に、エンコーダ１５ｉは、元情報「１０１１」に対して、コードＣ「００１０１１」を選択したときに、その値が変化する奇数ビットの数が「２」であり、その値が変化する偶数ビットの数が「２」であることを算出する。また、エンコーダ１５ｉは、前回変化情報が「１０００００」であることより、第６ビットが連続して変化するか否かを判定し、奇数ビットの連続変化指数が「０」（対象となるビットなし）で、偶数ビットの連続変化指数が「−１」（対象となる１ビットに変化なし）であることを算出する。また、エンコーダ１５ｉは、コードＣ「００１０１１」を選択したときに、最下位から第２ビットと第４ビットが同時に同方向に変化し、かつこれらのビットの変化後のビット値と間に挟まれた第３ビットのビット値が異なるので、偶数ビットのクロストーク数を「１」と算出し、奇数ビットのクロストーク数を「０」であると算出する。以上の結果、エンコーダ１５ｉは、奇数ビットの判定値を「２」（２＋２×０＋３×０）とし、偶数ビットの判定値を「３」（２＋２×（−１）＋３×１）とする。
【０４００】
以上より、エンコーダ１５ｉは、奇数ビットの判定値「２」が設定値「２」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「３」が設定値「２」以上であるので、偶数ビットの適性を不良と判定し、その結果コードＣ「００１０１１」の全ビットを反転させたコードＦ「１１０１００」を出力する。また、エンコーダ１５ｉは、コードＦ「１１０１００」を出力したので、前回変化情報を「１００１００」に更新する。
【０４０１】
図５２は、エンコーダ１５ｉを実現する具体的な回路構成を示す。同図を参照して、エンコーダ１５ｉは、図４９に示すエンコーダ１５ｈに、ビット値判別回路ｂｃ４〜ｂｃ７および論理積回路ＡＮＤ３１〜ＡＮＤ３８が追加され、図４９に示すエンコーダ１５ｈにおける重み付きビット加算器４１ａ，４１ｂに代えて重み付きビット加算器４１ｃ，４１ｄを備える。
【０４０２】
ビット値判別回路ｂｃ４は、元情報の第１ビットと第３ビットの値が同一であって、かつ第１ビットと第２ビットの値が相違するときのみ「１」を出力する。
【０４０３】
論理積回路ＡＮＤ３１は、排他的論理和回路Ｅ−ＯＲ１２の出力が「１」（つまり、第１ビットの値が変化した）であり、排他的論理和回路Ｅ−ＯＲ１３の出力が「１」（つまり、第３ビットの値が変化した）であり、かつビット値判別回路ｂｃ４の出力が「１」である（つまり、第１ビットと第３ビットの値が同一であって、かつ第１ビットと第２ビットの値が相違する）ときのみ「１」を出力する。
【０４０４】
一方、論理積回路ＡＮＤ３３は、排他的論理和回路Ｅ−ＯＲ１２の出力が「０」（つまり、第１ビットの値に変化なし）であり、排他的論理和回路Ｅ−ＯＲ１３の出力が「０」（つまり、第３ビットの値に変化なし）であり、かつビット値判別回路ｂｃ４の出力が「１」である（つまり、第１ビットと第３ビットの値が同一であって、かつ第１ビットと第２ビットの値が相違する）ときのみ「１」を出力する。
【０４０５】
ビット値判別回路ｂｃ６は、元情報の第３ビットと０固定入力の値が同一（つまり、元情報の第３ビットが０）であって、かつ第３ビットと第４ビットの値が相違するときのみ「１」を出力する。
【０４０６】
論理積回路ＡＮＤ３２は、排他的論理和回路Ｅ−ＯＲ１３の出力が「１」（つまり、第３ビットの値が変化した）であり、前コードの第５ビットが「１」（つまり、第５ビットの値が変化した）であり、かつビット値判別回路ｂｃ６の出力が「１」である（つまり、第３ビットと０固定入力の値が同一（つまり、元情報の第３ビットが０）であって、かつ第３ビットと第４ビットの値が相違する）ときのみ「１」を出力する。
【０４０７】
一方、論理積回路ＡＮＤ３４は、排他的論理和回路Ｅ−ＯＲ１３の出力が「０」（つまり、第３ビットの値に変化なし）であり、前コードの第５ビットが「０」（つまり、第５ビットの値に変化なし）であり、かつビット値判別回路ｂｃ６の出力が「１」である（つまり、第３ビットと０固定入力の値が同一であって、かつ第３ビットと第４ビットの値が相違する）ときのみ「１」を出力する。
【０４０８】
重み付きビット加算器４１ｃは、排他的論理和回路Ｅ−ＯＲ１２の出力と、排他的論理和回路Ｅ−ＯＲ１３の出力と、前コードの第５ビットの値とを加算して、加算値Ｘを算出し、論理積回路ＡＮＤ１９，２０，２１の出力を加算した値から、論理積回路ＡＮＤ２５，２６，２７の出力を加算した値を差し引いて、加算値（Ｙ１−Ｙ２）を算出し、論理積回路ＡＮＤ３１，３２の出力を加算した値から、論理積回路３３，３４の出力を加算した値を差し引いて、加算値（Ｚ１−Ｚ２）を算出し、Ｘ＋（重み係数Ｋ）×（Ｙ１−Ｙ２）＋（重み係数Ｌ）×（Ｚ１−Ｚ２）を算出する。したがって、重み付きビット加算器４１ｃは、コードＣを選択したときに変化する奇数ビット数と、奇数ビットの連続変化指数に重み係数Ｋを乗じた数と、奇数ビットのクロストーク数に重み係数Ｌを乗じた数との和を奇数ビットの判定値として出力する。特に制限されないが、重み係数Ｋは「２」とし、重み係数Ｌは「３」とする。
【０４０９】
比較器４２ａは、重み付きビット加算器４１ｃの出力である奇数ビットの判定値が設定値「２」以上のときのみ、「１」を出力する。比較器４２ａの出力は、排他的論理和回路Ｅ−ＯＲ１６，Ｅ−ＯＲ１８に送られるとともに、出力コードの第５ビットとなる。
【０４１０】
ビット値判別回路ｂｃ５は、元情報の第２ビットと第４ビットの値が同一であって、かつ第２ビットと第３ビットの値が相違するときのみ「１」を出力する。
【０４１１】
論理積回路ＡＮＤ３７は、排他的論理和回路Ｅ−ＯＲ１４の出力が「１」（つまり、第２ビットの値が変化した）であり、排他的論理和回路Ｅ−ＯＲ１５の出力が「１」（つまり、第４ビットの値が変化した）であり、かつビット値判別回路ｂｃ５の出力が「１」である（つまり、第２ビットと第４ビットの値が同一であって、かつ第２ビットと第３ビットの値が相違する）ときのみ「１」を出力する。
【０４１２】
一方、論理積回路ＡＮＤ３５は、排他的論理和回路Ｅ−ＯＲ１４の出力が「０」（つまり、第２ビットの値に変化なし）であり、排他的論理和回路Ｅ−ＯＲ１５の出力が「０」（つまり、第４ビットの値に変化なし）であり、かつビット値判別回路ｂｃ５の出力が「１」である（つまり、第２ビットと第４ビットの値が同一であって、かつ第２ビットと第３ビットの値が相違する）ときのみ「１」を出力する。
【０４１３】
ビット値判別回路ｂｃ７は、元情報の第４ビットと上側の０固定入力の値が同一であって、かつ第４ビットと中央の０固定入力の値が相違するときのみ「１」を出力する。（元情報が６ビット、８ビット等、より多ビットである場合の回路構成を理解しやすくするため、このような構成としたが、２つの入力が共に０固定であるため、実際にはビット値判別回路ｂｃ７の出力が「１」となることはない。）
論理積回路ＡＮＤ３８は、排他的論理和回路Ｅ−ＯＲ１５の出力が「１」（つまり、第４ビットの値が変化した）であり、前コードの第６ビットが「１」（つまり、第６ビットの値が変化した）であり、かつビット値判別回路ｂｃ７の出力が「１」であるときのみ「１」を出力する。（ビット値判別回路ｂｃ７の出力が前述のとおり「０」固定であるため、実際には論理積回路ＡＮＤ３８の出力が「１」となることはない。）
一方、論理積回路ＡＮＤ３６は、排他的論理和回路Ｅ−ＯＲ１５の出力が「０」（つまり、第４ビットの値に変化なし）であり、前コードの第６ビットが「０」（つまり、第６ビットの値に変化なし）であり、かつビット値判別回路ｂｃ７の出力が「１」であるときのみ「１」を出力する。（論理積回路ＡＮＤ３８と同様、実際には論理積回路３６の出力が「１」となることはない。）
重み付きビット加算器４１ｄは、排他的論理和回路Ｅ−ＯＲ１４の出力と、排他的論理和回路Ｅ−ＯＲ１５の出力と、前コードの第６ビットの値とを加算して、加算値Ｘを算出し、論理積回路ＡＮＤ２２，２３，２４の出力を加算した値から、論理積回路ＡＮＤ２８，２９，３０の出力を加算した値を差し引いて、加算値（Ｙ１−Ｙ２）を算出し、論理積回路ＡＮＤ３７，３８の出力を加算した値から、論理積回路３５，３６の出力を加算した値を差し引いて、加算値（Ｚ１−Ｚ２）を算出し、Ｘ＋（重み係数Ｋ）×（Ｙ１−Ｙ２）＋（重み係数Ｌ）×（Ｚ１−Ｚ２）を算出する。したがって、重み付きビット加算器４１ｄは、コードＣを選択したときに変化する偶数ビット数と、偶数ビットの連続変化指数に重み係数Ｋを乗じた数と、偶数ビットのクロストーク数に重み係数Ｌを乗じた数との和を偶数ビットの判定値として出力する。特に限定されないが、重み係数Ｋは「２」し、重み係数Ｌは「３」とする。
【０４１４】
比較器４２ｂは、重み付きビット加算器４１ｄの出力である偶数ビットの判定値が設定値「２」以上のときのみ、「１」を出力する。比較器４２ｂの出力は、排他的論理和回路Ｅ−ＯＲ１７，Ｅ−ＯＲ１９に送られるとともに、出力コードの第６ビットとなる。
【０４１５】
（受信装置の構成）
本実施の形態に係わる受信装置は、第２の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
【０４１６】
以上のように、本実施の形態に係わる通信システムによれば、元情報がＮビットのときに、（Ｎ＋２）ビットの複数のパラレルコードのうち、同時にその値が変化するビットの数を少なくし、連続してその値が変化するビットの数を少なくし、およびクロストーク数を少なくするようなパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において消費電力の低減化、処理速度の高速化、および入出力回路および伝送路でクロストークノイズの発生を低減化することができる。
【０４１７】
［第１４の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して、条件Ｓを満たす（Ｎ＋２）ビットのパラレルコードを出力する送信装置を有する通信システムに関する。
【０４１８】
（送信装置の構成）
図５３は、第１４の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置１００ｊは、エンコーダ１５ｊと、出力回路１４ｂを備える。
【０４１９】
エンコーダ１５ｊは、Ｎビットの元情報（パラレルデータ）に対して、条件Ｓを満たす（Ｎ＋２）ビットのパラレルコードであるコードＧを出力する。
【０４２０】
図５４は、Ｎ＝４のときに（Ｎ＋２）ビットで表わされるすべてのコードを示す。同図に示すように、（Ｎ＋２）ビットで表わされるコードは、２(N+2)通りある。コードＧは、図５４に示されるコードのうち、「値が「０」であるビットの数と、値が「１」であるビットの数が同一である」という条件Ｓを満足するコードである。
【０４２１】
図５５は、Ｎ＝４のときの元情報とコードＧとの対応関係を示す。同図に示すように、コードＧは、値が「０」のビット数と、値が「１」のビット数が等しい２０個のコードから任意に選択した１６個のコードである。元情報とコードＧは、１対１に対応する。
【０４２２】
図５６は、エンコーダ１５ｊが順次出力するコード列の例を示す。同図において、左側に元情報を、右側にコードＧを示す。
【０４２３】
まず、エンコーダ１５ｊは、元情報「００１０」に対して、コードＧ「００１１１０」を出力する。
【０４２４】
次に、エンコーダ１５ｊは、元情報「１１０１」に対して、コードＧ「１１０００１」を出力する。これによって、出力されるコードのビットのうち、「０」から「１」に変化したビット数は「３」であり、「１」から「０」に変化したビット数も「３」である。
【０４２５】
次に、エンコーダ１５ｊは、元情報「１１１１」に対して、コードＧ「１１０１００」を出力する。これによって、出力されるコードのビットのうち、「０」から「１」に変化したビット数は「１」であり、「１」から「０」に変化したビット数も「１」である。
【０４２６】
次に、エンコーダ１５ｊは、元情報「０１０１」に対して、コードＧ「０１１０１０」を出力する。これによって、出力されるコードのビットのうち、「０」から「１」に変化したビット数は「２」であり、「１」から「０」に変化したビット数も「２」である。
【０４２７】
次に、エンコーダ１５ｊは、元情報「１０１１」に対して、コードＧ「１０１００１」を出力する。これによって、出力されるコードのビットのうち、「０」から「１」に変化したビット数は「２」であり、「１」から「０」に変化したビット数も「２」である。
【０４２８】
以上のように、コードＧは値が「０」であるビット数と、値が「１」であるビット数が等しいので、出力されるコードのビットの値が「０」から「１」に、その値が変化するビットの数と、ビットの値が「１」から「０」に、その値が変化するビットの数が等しくなる。
【０４２９】
図５７は、エンコーダ１５ｊを実現する具体的な回路構成の一例を示す。同図に示すように、エンコーダ１５ｊは、ＰＬＤ（Programable Logic Device）で構成することが可能である。同図におけるＡＮＤ  Ｐｌａｎｅに記載した○印は、各々４入力ＡＮＤ回路に入力される信号を選択していることを示し、ＯＲ  Ｐｌａｎｅに記載した○印は、各々、８入力ＯＲ回路に入力される信号を選択していることを示している。
【０４３０】
図５８は、第１４の実施形態に係わる受信装置の構成を示す。同図を参照して、この受信装置２００ｃは、入力回路２１ｂと、デコーダ２２ｃとを備える。
【０４３１】
入力回路２１ｂは、伝送路から（Ｎ＋２）ビットの入力コードを受信する。
【０４３２】
デコーダ２２ｃは、（Ｎ＋２）ビットの入力コードに対して、Ｎビットの元情報を出力する。図５９は、Ｎ＝４のときに、デコーダ２２ｃを実現する具体的な回路構成の一例を示す。同図に示すように、デコーダ２２ｃは、メモリ回路で構成することが可能である。
【０４３３】
Ｎ＝４のとき、デコーダ２２ｃに用いられるメモリ回路は、３２０ビット（＝５ビット×２６）の容量を有する。
【０４３４】
メモリ回路は、６ビットのコードＧをアドレスとして、そのアドレスで示される位置に５ビットの情報を記憶する。この５ビットの情報は、そのコードＧに対応する４ビットの元情報と１ビットのエラー識別ビットとで構成される。このエラー識別ビットの値は「０」であり、誤りがないことを示す。
【０４３５】
また、メモリ回路は、６ビットのコードのうち、コードＧ以外のコードをアドレスとして、そのアドレスに対応する位置に５ビットの情報を記憶する。この５ビットの情報は、４ビットの固定値と１ビットのエラー識別ビットで構成される。ここで、４ビットの固定値は、任意の値である。また、このエラー識別ビットの値は「１」であり、誤りがあることを示す。
【０４３６】
このようにして、メモリ回路は、（Ｎ＋２）ビットの入力コードがアドレスとして入力され、エラー識別ビットが「０」の場合、そのアドレスで示される位置からＮビットの元情報が出力される。
【０４３７】
以上のように、本実施の形態における通信システムによれば、「０」から「１」に変化するビット数と、「１」から「０」に変化するビット数とが等しくなり、同時にＨ（ハイレベル）に変化するビット数を半減できるので、パラレルコードを伝送する入出力回路において消費電力を低減することができる。
【０４３８】
［第１５の実施形態］
本実施の形態は、Ｎビットの元情報（パラレルデータ）に対して、条件Ｔを満たす（Ｎ＋２）ビットのパラレルコードを出力する送信装置を有する通信システムに関する。
【０４３９】
第１４の実施形態では、エンコーダ１５ｊは、元情報に対してコードＧを出力した。第１５の実施形態に係わる送信装置は、第１４の実施形態におけるエンコーダ１５ｊの代りに、元情報に対してコードＨを出力するエンコーダ１５ｋを備える。
【０４４０】
このエンコーダ１５ｋを実現する具体的な構成、および受信装置については、第１４の実施形態と共通するので、説明は繰返さない。
【０４４１】
エンコーダ１５ｋは、Ｎビットの元情報（パラレルデータ）に対して、（Ｎ＋２）ビットのパラレルコードであるコードＨを出力する。コードＨは、（Ｎ＋２）ビットで表わされている２(N+2)通りのコードのうち、「「０１０」および「１０１」のビットパターンを含まない。」という条件Ｔを満たすコードである。
【０４４２】
図６０は、Ｎ＝４のときの元情報とコードＨとの対応関係を示す。同図に示すように、コードＨは、「０１０」および「１０１」のビットパターンを含まないコードであって、さらに付加的な条件「値が「０」のビット数および値が「１」のビット数がともに「２」〜「４」である」を満たすコードである。この付加的な条件は、その値が変化するビットの数を少なくするための条件であって、本実施の形態では必ずしも必要な条件ではない。元情報とコードＨは、１対１に対応する。
【０４４３】
図６１は、エンコーダ１５ｋが順次出力するコード列の例を示す。同図において、左側に元情報を、右側にコードＨを示す。
【０４４４】
まず、エンコーダ１５ｋは、元情報「００１０」に対して、コードＨ「０００１１１」を出力する。
【０４４５】
次に、エンコーダ１５ｋは、元情報「１１０１」に対して、コードＨ「１１１０００」を出力する。
【０４４６】
次に、エンコーダ１５ｋは、元情報「１１１１」に対して、コードＨ「１１１１００」を出力する
次に、エンコーダ１５ｋは、元情報「０１０１」に対して、コードＨ「００１１１１」を出力する。
【０４４７】
次に、エンコーダ１５ｋは、元情報「１０１１」に対して、コードＨ「１１０００１」を出力する。
【０４４８】
上記のいずれにおいても、出力されるコードのビットのうち、両隣のビットが同時に同方向に変化し、ビット値が両隣のビットのビット値と相違するビットは存在しない。
【０４４９】
以上のように、本実施の形態に係わる通信システムでは、「０１０」および「１０１」のビットパターンを含むパラレルコードが出力されない、すなわち、その両隣のビットが同時に同方向に変化し、その値が両隣のビットのビット値と相違するようなビットを含むパラレルコードが出力されないので、クロストークノイズの発生を防止することができる。
【０４５０】
［第１６の実施形態］
本実施の形態は、第１〜第１５の実施形態におけるエンコーダおよびデコーダを用いた半導体記憶装置に関する。
【０４５１】
図６２は、第１６の実施形態に係わる半導体記憶装置の構成を示す。同図を参照して、この半導体記憶装置９００は、エンコーダ９０４と、書込み回路９０２と、メモリ素子９０１と、読出し回路９０３と、デコーダ９０５とを備える。
【０４５２】
エンコーダ９０４は、Ｎビットの元情報（パラレルデータ）をＭ（Ｍ＞Ｎ）ビットのパラレルコードに符号化する。このエンコーダ９０４として、第１〜第１５の実施形態で説明したいずれかのエンコーダが用いられる。第１〜第１５のいずれかのエンコーダを用いることによって、半導体記憶装置内の信号の伝送を高速化、半導体記憶装置の消費電力を低減化、および／または半導体記憶装置内でクロストークノイズの発生を防止することができる。
【０４５３】
書込み回路９０２は、Ｍビットのパラレルコードをメモリ素子９０１に書込む。
【０４５４】
メモリ素子９０１は、たとえば、ＤＲＡＭまたはＳＲＡＭであって、Ｍビットのパラレルコードを記憶する。
【０４５５】
読出し回路９０３は、メモリ素子９０１からＭビットのパラレルコードを読出す。
【０４５６】
デコーダ９０５は、Ｍビットの符号化された情報をＮビットの元情報に復号化する。このデコーダ９０５として、第１〜第１５の実施形態で説明したいずれかのデコーダが用いられる。
【０４５７】
以上のように、本実施の形態における半導体記憶装置では、第１〜第６、および第１１〜第１４のいずれかの実施形態におけるエンコーダを用いれば、書込み回路および読出し回路において消費電力の低減化を実現することができる。
【０４５８】
また、第３〜第８、および第１２〜第１３のいずれかの実施形態におけるエンコーダを用いれば、書込み回路および読出し回路の処理速度を高速化することができる。
【０４５９】
また、第５、第６、第９、第１０、第１３、および第１５のいずれかの実施形態におけるエンコーダを用いれば、書込み回路、読出し回路、およびメモリ素子のデータを伝送する信号線でクロストークノイスの発生を防止することができる。
【０４６０】
［第１７の実施形態］
本実施の形態は、第１〜第１５の実施形態におけるエンコーダおよびデコーダを用いたマルチチップパッケージに関する。
【０４６１】
マルチッチップパッケージとは、１つのパッケージに複数のチップを実装したもので、これによって、短い距離の信号線でチップ間の信号をやり取りすることができ、高集積化、高速化、および低消費電力化が実現できる。
【０４６２】
図６３は、第１７の実施形態に係わるマルチチップパッケージの構成を示す。同図を参照して、このマルチチップパッケージ９１０は、チップＡと、チップＢと、チップＡとチップＢを接続するパッケージ内信号線とを備える。
【０４６３】
チップＡは、エンコーダ９１４と、出力回路９１１とを含む。
【０４６４】
チップＢは、デコーダ９１５と、入力回路９１２とを含む。
【０４６５】
エンコーダ９１４は、Ｎビットの元情報（パラレルデータ）をＭ（Ｍ＞Ｎ）ビットのパラレルコードに符号化する。このエンコーダ９１４として、第１〜第１５の実施形態で説明したいずれかのエンコーダが用いられる。第１〜第１５のいずれかのエンコーダを用いることによって、チップ間の信号のやり取りを高速化、チップの消費電力を低減化、および／またはパッケージ内でクロストークノイズの発生を防止することができる。
【０４６６】
出力回路９１１は、Ｍビットのパラレルコードをパッケージ内信号線を通じてチップＡに送る。
【０４６７】
入力回路９１２は、チップＡからパッケージ内信号線を通じて送られるＭビットの符号化情報を取込む。
【０４６８】
デコーダ９１５は、ＭビットのパラレルコードをＮビットの元情報に復号化する。このデコーダ９１５として、第１〜第１５の実施形態で説明したいずれかのデコーダが用いられる。
【０４６９】
以上のように、本実施の形態におけるマルチチップパッケージでは、第１〜第６、および第１１〜第１４のいずれかの実施形態におけるエンコーダを用いれば、入力回路および出力回路において消費電力の低減化を実現することができる。
【０４７０】
また、第３〜第８、および第１２〜第１３のいずれかの実施形態におけるエンコーダを用いれば、入力回路および出力回路の処理速度を高速化することができる。
【０４７１】
また、第５、第６、第９、第１０、第１３、および第１５のいずれかの実施形態におけるエンコーダを用いれば、入力回路、出力回路、およびチップ間を接続する信号線でクロストークノイスの発生を防止することができる。
【０４７２】
（変形例）
本発明は、上記実施の形態に限定されるものではなく、以下の変形例も当然ながら包含する。
【０４７３】
（１）  選択基準、および適性基準について
本発明の第１〜第１０の実施形態で、選択基準α、（α＋β）、（α＋β＋γ）、β、およびγを用いて、複数のコードから１つのコードを選択する例について説明したが、これに限定するものではない。選択基準αとγを併せた選択基準（α＋γ）、または選択基準βとγを併せた選択基準（β＋γ）を用いて、複数のコードから１つのコードを選択するものとしてもよい。
【０４７４】
また、本発明の第１１〜第１２の実施形態では、適性基準α’、（α’＋β’）、（α’＋β’＋γ’）によって、１つのコードの適性を判定したが、これに限定するものではない。適性基準β’、γ’、（β’＋γ’）、または（α’＋γ’）によって、１つのコードの適性を判定するものとしてもよい。
【０４７５】
（２）  パラレルコードについて
本発明の実施の形態では、コードＡは、元情報の最上位ビット側に１ビットの「０」を追加し、コードＣは、、元情報の最上位ビット側に２ビットの「００」を追加したが、これに限定するものではない。コードＡは、元情報に１ビットの「１」を追加し、コードＣは、元情報に２ビットの「１１」、「０１」、または「１０」を追加するものであってもよい。また、パリティのように、元情報の「１」の数に従って、追加するビットの値を変化させてもよい。また、追加されるビット位置も、最上位側でなく、任意の位置であってよい。さらに、Ｎビットの元情報に対して、３ビットを追加し（Ｎ＋３）ビットのコードを出力するものとしもよい。そして、このように３ビットを追加した場合には、８種類のコードを取り得るようにしてもよい。また、Ｋを任意の正の整数とし、Ｋビットを追加し（Ｎ＋Ｋ）ビットのコードを出力するものとしもよい。
【０４７６】
ただし、これらの複数のコードに重複がないことが必要である。また、選択基準αを用いるときには、１つの元情報に対する複数のコードが相互に類似していないこと、つまり、ハミング距離ができるだけ遠いことが望ましい。その意味で、コードＡとコードＢは、ハミング距離が最も離れている組合せであり、最適な唯一の組合せである。コードＣ〜Ｆも、ハミング距離が最も離れた組合せの一つであり、最適な組合せの一つである。
【０４７７】
一方、選択基準αを用いないとき、すなわち、選択基準β単独、選択基準γ単独、あるいは選択基準βとγを併せた選択基準（β＋γ）を用いるときには、コードＡ〜Ｆは、最適なコードであるとは限らず、その他のコードを用いるものとしてもよい。
【０４７８】
（３）  エンコーダ、デコーダ、セレクタ、およびデータラッチ回路の具体的な構成について
本発明の実施の形態では、エンコーダ、デコーダ、セレクタ、およびデータラッチ回路の具体的な構成を、元情報が４ビットで、コードが５ビットまたは６ビットの場合について説明したが、元情報およびコードがこれ以外のビット数でも、説明した構成を拡張するだけで容易に実現することができる。また、これらの具体的な構成は、一例であって、これらに限定されるものではない。
【０４７９】
（４）  重み係数Ｋ、および重み係数Ｌについて
本発明の実施の形態では、重み係数Ｋとして「２」、重み係数Ｌとして「３」を用いたが、これらは一例であって、これらに限定されるものではない。重み係数Ｋおよび重み係数Ｌとして適切な値に設定することで、消費電力の低減、高速、またはクロストークノイズの低減のいずれかを、またはこれらを同時に実現することができる。
【０４８０】
（５）  第１４の実施形態のエンコーダおよびデコーダ
本発明の第１４の実施形態では、エンコーダを実現する具体的な構成として、ＰＬＤを用い、デコーダを実現する具体的な構成としてメモリ回路を用いたが、これに限定するものではない。
【０４８１】
たとえば、エンコーダをメモリ回路で実現してもよい。この場合、メモリ回路は、メモリ容量がＭビット×２Nであり、Ｎビットの元情報をアドレスとした位置にＭビットのコードＧを格納する。
【０４８２】
また、デコーダをＰＬＤで実現してもよい。この場合、ＰＬＤは、ＡＮＤ  Ｐｌａｎｅは、Ｍ入力のＡＮＤ回路で構成され、ＯＲ  Ｐｌａｎｅは、２(N-1)入力のＯＲ回路で構成される。また、不適切な入力に対して、エラー識別ビットを出力するために、（２M−２N）入力のＯＲ回路を含めるものとしてもよい。
【０４８３】
（６）  第１４の実施形態においてパラレルコードのビット数が奇数のとき
第１４の実施形態においては、エンコーダが出力するパラレルコードのビットの数が偶数の場合について説明した。この場合には、エンコーダは、「値が「０」のビット数と、値が「１」のビット数とが同一であるという」という条件Ｓを満たすパラレルコードを出力した。
【０４８４】
エンコーダが出力するパラレルコードのビット数が奇数のときには、エンコーダは、以下のような条件Ｓ′を満たすパラレルコードを出力するものとすればよい。すなわち、エンコーダは、「値が「０」のビット数と、値が「１」のビット数との差が「１」以内である」という条件Ｓ′を満たすパラレルコードを出力するものとすればよい。これにより、パラレルコードのビット数が奇数のときでも、同時に「Ｈ」レベルに変化するビット数を少なくすることができ、パラレルコードを伝送する入出力回路において消費電力を低減することができる。
【０４８５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０４８６】
【図１】第１〜第１５の実施形態に係わる通信システムの構成を示す図である。
【図２】第１の実施形態に係わる送信装置の構成を示す図である。
【図３】Ｎ＝４のときの元情報とコードＡおよびコードＢの対応関係を示す図である。
【図４】サブエンコーダ１１ａを実現する具体的な回路構成を示す図である。
【図５】セレクタ１２ａが選択基準αによって順次選択するコード列の例を示す図である。
【図６】セレクタ１２ａを実現する具体的な回路構成を示す図である。
【図７】適性判定回路３１ａを実現する具体的な回路構成を示す図である。
【図８】判定値Ａ，判定値Ｂと比較回路３２ａの出力信号との対応関係を示す図である。
【図９】データラッチ回路１３ａを実現する具体的な回路構成を示す図である。
【図１０】第１の実施形態に係わる受信装置の構成を示す図である。
【図１１】デコーダ２２ａを実現する具体的な回路構成を示す図である。
【図１２】第２の実施形態に係わる送信装置の構成を示す図である。
【図１３】Ｎ＝４のときの元情報とコードＣ〜コードＦの対応関係を示す図である。
【図１４】サブエンコーダ１１ｂを実現する具体的な回路構成を示す図である。
【図１５】セレクタ１２ｂが選択基準αによって順次選択するコード列の例を示す図である。
【図１６】セレクタ１２ｂを実現する具体的な回路構成を示す図である。
【図１７】適性判定回路３１ｃを実現する具体的な回路構成を示す図である。
【図１８】判定値Ｃ，判定値Ｄ，判定値Ｅ，判定値Ｆと比較回路３２ｂの出力信号との対応関係を示す図である。
【図１９】データラッチ回路１３ｂを実現する具体的な回路構成を示す図である。
【図２０】第２の実施形態に係わる受信装置の構成を示す図である。
【図２１】デコーダ２２ｂを実現する具体的な回路構成を示す図である。
【図２２】第３の実施形態に係わる送信装置の構成を示す図である
【図２３】セレクタ１２ｃが選択基準（α＋β）によって順次選択するコード列の例を示す図である。
【図２４】セレクタ１２ｃを実現する具体的な回路構成を示す図である。
【図２５】適性判定回路３１ｇを実現する具体的な回路構成を示す図である。
【図２６】データラッチ回路１３ｃを実現する具体的な回路構成を示す図である。
【図２７】第４の実施形態に係わる送信装置の構成を示す図である。
【図２８】セレクタ１２ｄが選択基準（α＋β）によって順次選択するコード列の例を示す図である。
【図２９】セレクタ１２ｄを実現する具体的な回路構成を示す図である。
【図３０】適性判定回路３１ｉを実現する具体的な回路構成を示す図である。
【図３１】データラッチ回路１３ｄを実現する具体的な回路構成を示す図である。
【図３２】第５の実施形態に係わる送信装置の構成を示す図である。
【図３３】セレクタ１２ｅが選択基準（α＋β＋γ）によって順次選択するコード列の例を示す図である。
【図３４】セレクタ１２ｅを実現する具体的な回路構成を示す図である。
【図３５】適性判定回路３１ｍを実現する具体的な回路構成を示すう図である。
【図３６】第６の実施形態に係わる送信装置の構成を示す図である。
【図３７】セレクタ１２ｆが選択基準（α＋β＋γ）によって順次選択するコード列の例を示す図である。
【図３８】セレクタ１２ｆを実現する具体的な回路構成を示す図である。
【図３９】適性判定回路３１ｏを実現する具体的な回路構成を示す図である。
【図４０】第７の実施形態において、セレクタ１２ｇが選択基準βによって順次選択するコード列の例を示す図である。
【図４１】第８の実施形態において、セレクタ１２ｈが選択基準βによって順次選択するコード列の例を示す図である。
【図４２】第９の実施形態において、セレクタ１２ｉが選択基準γによって順次選択するコード列の例を示す図である。
【図４３】第１０の実施形態において、セレクタ１２ｊが選択基準γによって順次選択するコード列の例を示す図である。
【図４４】第１１の実施形態に係わる送信装置の構成を示す図である。
【図４５】エンコーダ１５ｇが順次出力するコード列の例を示す図である。
【図４６】エンコーダ１５ｇを実現する具体的な回路構成を示す図である。
【図４７】第１２の実施形態に係わる送信装置の構成を示す図である。
【図４８】エンコーダ１５ｈが順次出力するコード列の例を示す図である。
【図４９】エンコーダ１５ｈを実現する具体的な回路構成を示す図である。
【図５０】第１３の実施形態に係わる送信装置の構成を示す図である。
【図５１】エンコーダ１５ｉが順次出力するコード列の例を示す図である。
【図５２】エンコーダ１５ｉを実現する具体的な回路構成を示す図である。
【図５３】第１４の実施形態に係わる送信装置の構成を示す図である。
【図５４】Ｎ＝４のときに（Ｎ＋２）ビットで表わされるすべてのコードを示す図である。
【図５５】Ｎ＝４のときの元情報とコードＧとの対応関係を示す図である。
【図５６】エンコーダ１５ｊが順次出力するコード列の例を示す図である。
【図５７】エンコーダ１５ｊを実現する具体的な回路構成を示す図である。
【図５８】第１４の実施形態に係わる受信装置の構成を示す図である。
【図５９】デコーダ２２ｃを実現する具体的な回路構成を示す図である。
【図６０】第１５の実施形態において、Ｎ＝４のときの元情報とコードＨとの対応関係を示す図である。
【図６１】エンコーダ１５ｋが順次出力するコード列の例を示す図である。
【図６２】第１６の実施形態に係わる半導体記憶装置の構成を示す図である。
【図６３】第１７の実施形態に係わるマルチチップパッケージの構成を示す図である。
【符号の説明】
【０４８７】
１１ａ，１１ｂ  サブエンコーダ、１５ａ，１５ｂ，１５ｃ，１５ｄ，１５ｅ，１５ｆ，１５ｇ，１５ｈ，１５ｉ，１５ｊ，９０４，９１４  エンコーダ、１２ａ，１２ｂ，１２ｃ，１２ｄ，１２ｅ，１２ｆ  セレクタ、１３ａ，１３ｂ，１３ｃ，１３ｄ  データラッチ回路、１４ａ，１４ｂ，９１１  出力回路、２１ａ，２１ｂ，９１２  入力回路、２２ａ，２２ｂ，２２ｃ，９０５，９１５  デコーダ、３１ａ〜３１ｆ，３１ｇ〜３１ｌ，３１ｍ〜３１ｒ  適性判定回路、３２ａ，３２ｂ  比較回路、４２ａ，４２ｂ  比較器、ｂｃ１〜ｂｃ７  ビット値判別回路、３４ａ，３４ｂ，３５ａ，３５ｂ，３８ａ，３８ｂ，３４ｃ，３４ｄ  ビット加算器、４１ａ，４１ｂ，４１ｃ，４１ｄ  重み付きビット加算器、３６ａ，３６ｂ，３９ａ，３９ｂ  乗算器、３７ａ，３７ｂ，３７ｃ，３７ｄ  加算器、Ｅ−ＯＲ１〜Ｅ−ＯＲ２７  排他的論理和回路、ＦＦ１〜ＦＦ４４  クロック同期式Ｄフリップフロップ、３３ａ，３３ｂ  スイッチ回路、ＩＶ１１〜ＩＶ２８  インバータ、ＡＮＤ１〜ＡＮＤ３８  論理積回路、１００，１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇ，１００ｈ，１００ｉ，１００ｊ  送信装置、２００，２００ａ，２００ｂ，２００ｃ  受信装置、９００  半導体記憶装置、９０１  メモリ素子、９０２  書込み回路、９０３  読出し回路、９１０  マルチチップパッケージ、１０００  通信システム。
【図１】
2005045610.tif 000003
【図２】
2005045610.tif 000004
【図３】
2005045610.tif 000005
【図４】
2005045610.tif 000006
【図５】
2005045610.tif 000007
【図６】
2005045610.tif 000008
【図７】
2005045610.tif 000009
【図８】
2005045610.tif 000010
【図９】
2005045610.tif 000011
【図１０】
2005045610.tif 000012
【図１１】
2005045610.tif 000013
【図１２】
2005045610.tif 000014
【図１３】
2005045610.tif 000015
【図１４】
2005045610.tif 000016
【図１５】
2005045610.tif 000017
【図１６】
2005045610.tif 000018
【図１７】
2005045610.tif 000019
【図１８】
2005045610.tif 000020
【図１９】
2005045610.tif 000021
【図２０】
2005045610.tif 000022
【図２１】
2005045610.tif 000023
【図２２】
2005045610.tif 000024
【図２３】
2005045610.tif 000025
【図２４】
2005045610.tif 000026
【図２５】
2005045610.tif 000027
【図２６】
2005045610.tif 000028
【図２７】
2005045610.tif 000029
【図２８】
2005045610.tif 000030
【図２９】
2005045610.tif 000031
【図３０】
2005045610.tif 000032
【図３１】
2005045610.tif 000033
【図３２】
2005045610.tif 000034
【図３３】
2005045610.tif 000035
【図３４】
2005045610.tif 000036
【図３５】
2005045610.tif 000037
【図３６】
2005045610.tif 000038
【図３７】
2005045610.tif 000039
【図３８】
2005045610.tif 000040
【図３９】
2005045610.tif 000041
【図４０】
2005045610.tif 000042
【図４１】
2005045610.tif 000043
【図４２】
2005045610.tif 000044
【図４３】
2005045610.tif 000045
【図４４】
2005045610.tif 000046
【図４５】
2005045610.tif 000047
【図４６】
2005045610.tif 000048
【図４７】
2005045610.tif 000049
【図４８】
2005045610.tif 000050
【図４９】
2005045610.tif 000051
【図５０】
2005045610.tif 000052
【図５１】
2005045610.tif 000053
【図５２】
2005045610.tif 000054
【図５３】
2005045610.tif 000055
【図５４】
2005045610.tif 000056
【図５５】
2005045610.tif 000057
【図５６】
2005045610.tif 000058
【図５７】
2005045610.tif 000059
【図５８】
2005045610.tif 000060
【図５９】
2005045610.tif 000061
【図６０】
2005045610.tif 000062
【図６１】
2005045610.tif 000063
【図６２】
2005045610.tif 000064
【図６３】
2005045610.tif 000065