(57)【特許請求の範囲】
【請求項１】
データ・ワードをデータ・サブワードに分割するステップと、
前記データ・サブワードを符号化済みデータ・ワードの対応する符号化済みデータ・サブワードに符号化するステップとを含む方法であって、
前記データ・サブワードの第１のサブワードは、この第１のサブワードの中で搬送される重みについての情報とこの第１のサブワード以外のデータ・サブワードの中で搬送される重みについての情報とを使用して符号化され、前記データ・サブワードは符号化済みデータ・ワードより少ないデータ要素を有する方法。
【請求項２】
符号化済みデータ・ワードの符号化済みデータ・サブワードを復号済みデータ・ワードの対応するデータ・サブワードに復号するステップを含む方法であって、
前記符号化済みデータ・サブワードの第１のサブワードは、この第１のサブワードの中で搬送される重みについての情報とこの第１のサブワード以外の前記符号化済みデータ・サブワードの中で搬送される重みについての情報とを使用して復号され、前記符号化済みデータ・サブワードは前記復号済みデータ・ワードより多いデータ要素を有する方法。
【請求項３】
データ・ワードのデータ要素が少なくとも第１の論理状態と第２の論理状態を占めるそのようなデータ・ワードを符号化するためのエンコーダ・モジュールであって、
少なくとも２つのサブワード・パスであって、前記少なくとも２つのサブワード・パスの各パスは前記データ・ワードのデータ要素セットを含むデータ・サブワードを受け取り、前記少なくとも２つのサブワード・パス上の前記データ・サブワードは前記データ・ワードを構成する、サブワード・パスと、
前記少なくとも２つのサブワード・パスに結合されたエンコーダであって、前記少なくとも２つのサブワード・パスの各パス上の前記データ・サブワードを、このデータ・サブワードとこのデータ・サブワードの中で搬送されない前記データ・ワード中の重みについての情報とを使用して符号化済みデータ・ワードの対応する符号化済みデータ・サブワードに符号化するエンコーダとを備え、
前記符号化済みデータ・サブワードが符号化済みデータ・ワードを形成し、前記データ・ワードの情報内容がこの符号化済みデータ・サブワードとこの符号化済みデータ・サブワードの重みとの間で分散される、エンコーダ・モジュール。
【請求項４】
データ・ワードのデータ要素が少なくとも第１の論理状態と第２の論理状態を占めるそのようなデータ・ワードを符号化する方法であって、
前記データ・ワードのデータ・サブワードを受け取るステップであって、このデータ・サブワードのそれぞれは前記データ・ワードのデータ要素セットを含み、このデータ・サブワードは前記データ・ワードを構成する、ステップと、
前記データ・サブワードを符号化済みデータ・ワードの対応する符号化済みデータ・サブワードに符号化するステップとを含み、
前記データ・サブワードの第１のサブワードは、この第１のサブワードとこの第１のサブワード以外の前記データ・サブワードの中で搬送される重みについての情報とを使用して符号化される、前記符号化する方法。
【請求項５】
符号化済みデータ・ワードの符号化済みデータ要素が少なくとも第１の論理状態と第２の論理状態を占めるそのような符号化済みデータ・ワードを復号するためのデコーダ・モジュールであって、
少なくとも２つのサブワード・パスであって、この少なくとも２つのサブワード・パスの各パスは、前記符号化済みデータ・ワードのデータ要素セットを含む符号化済みデータ・サブワードを受け取り、この少なくとも２つのサブワード・パス上の前記符号化済みデータ・サブワードは前記符号化済みデータ・ワードを構成する、サブワード・パスと、
前記少なくとも２つのサブワード・パスに結合されたデコーダであって、前記少なくとも２つのサブワード・パスの各パス上の前記符号化済みデータ・サブワードを、この符号化済みデータ・サブワードとこの符号化済みサブワードの中で搬送されない前記符号化済みデータ・ワード中の情報とを使用してデータ・ワードの対応するデータ・サブワードに復号するデコーダとを備え、
前記少なくとも２つのサブワード・パスの各パス上の前記符号化済みデータ・サブワードは、前記対応するデータ・サブワードより少ないデータ要素を有する、デコーダ・モジュール。
【請求項６】
符号化済みデータ・ワードの符号化済みデータ要素が少なくとも第１の論理状態と第２の論理状態を占めるそのような符号化済みデータ・ワードを復号する方法であって、
前記符号化済みデータ・ワードの符号化済みデータ・サブワードを受け取るステップであって、この符号化済みデータ・サブワードのそれぞれは前記符号化済みデータ・ワードのデータ要素セットを含み、前記符号化済みデータ・サブワードは前記符号化済みデータ・ワードを構成する、ステップと、
前記符号化済みデータ・サブワードをデータ・ワードの対応するデータ・サブワードに復号するステップとを含み、
前記符号化済みデータ・サブワードの第１のサブワードは、この第１のサブワードとこの第１のサブワード以外の前記符号化済みデータ・サブワードの中で搬送される情報とを使用して復号される、前記復号する方法。
【請求項７】
データ・ワードのデータ・サブワードを符号化済みデータ・ワードの対応する符号化済みデータ・サブワードに符号化するエンコーダであって、前記データ・サブワードの第１のサブワードを、この第１のサブワードとこの第１のサブワード以外の前記データ・サブワードの中で搬送される重みについての情報とを使用して、前記符号化済みデータ・ワードの第２のデータ・サブワードに符号化するエンコーダと、
前記エンコーダに結合された複数の並列データ・ラインであって、前記符号化済みデータ・ワードを受け取り、この符号化済みデータ・ワードの伝送を容易にする複数の並列データ・ラインと、
前記複数の並列データ・ラインに結合されたデコーダであって、このデコーダから伝送された前記符号化済みデータ・ワードの前記符号化済みデータ・サブワードを受け取り、前記符号化済みデータ・サブワードを前記データ・サブワードに復号するデコーダとを備える、データ処理システム。
【請求項８】
データ処理システム中でデータ・ワードを伝送する方法であって、
前記データ・ワードのデータ・サブワードを符号化済みデータ・ワードの対応する符号化済みデータ・サブワードに符号化するステップであって、前記データ・サブワードの第１のサブワードを、この第１のサブワードとこの第１のサブワード以外の前記データ・サブワードの中で搬送される重みについての情報とを使用して、前記符号化済みデータ・ワードの第２のデータ・サブワードに符号化するステップと、
並列データ・ライン・バスを介して前記符号化済みデータ・サブワードを送信するステップと、
前記符号化済みデータ・サブワードをデータ・サブワードに復号するステップとを含む方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報伝送システムの分野に関する。より詳細には、本発明は、データ・ワードを並列データ・ライン・バス上で一定重みで符号化および復号することに関する。
【０００２】
【従来の技術】
情報伝送システムではしばしば、情報を代替形に変形させることが望ましい。一例では、望ましい形は、各データ・ワードが各論理状態のデータ要素を一定数含む、一定重みの符号を達成するようにデータを符号化するものである。データ・ワードは、０と１の２つの論理状態を占める二進数ワードとすることができる。この変形によれば、高い方の電源電位Ｖddと低い方の電源電位Ｖssを、信号線を駆動する回路へ定電流を維持し、および／または終端回路Ｖterm中で定電流を維持することが可能である。別の例では、データ・ワードからの情報をサブワードとサブワードの重みとに分散させるのが望ましい場合があり、サブワードの重みは、各論理状態のデータ要素の個数として定義される。二進数システムでは、重みはデータ・ワード中の１または０の個数である。別の例では、並列データ・ライン・バスを駆動するのに必要な電力が最小限に抑えられるように、重みを最小限にするのが望ましい場合がある。
【０００３】
従来の０と１の２つの論理状態よりも多くの論理状態があるＮ進数データの伝送では、前述の定電流条件を達成するために二進数データに課されるのと同じ一定重み基準は課されない。Ｎ進数の重みベクトルの組合せには、所望の定電流状態をもたらす多くの組合せがある。
【０００４】
並列ライン・バス上で二進数情報を伝送するためには、重み範囲が０から情報ワード中のビット数までであるデータ・ワードを伝送することが必要である。したがって、８ビットのデータ・ワードは０から８までの範囲の重みを有する。重みが不定のデータを伝送することは、高速バス・インタフェース中で使用されるような相互接続回路に対して問題を呈する。
【０００５】
ライン・ドライバを備えたシングルエンデッド並列インタフェース中では、重みが不定のデータの伝送は、ＶddおよびＶss接続においてデータ依存の電流を生み出す。このデータ依存の電流はタイミング・ロスをもたらす。電圧源とライン・ドライバの高い方の電位のバイアス・ノードおよび低い方の電位のバイアス・ノードの間には、それぞれＶddおよびＶss相互接続パス・インダクタンス（Ｌ）が存在する。このインダクタンス・パス中の変化する電流（ｄｉ／ｄｔ）は、ｖ＝Ｌｄｉ／ｄｔに従って電圧変動を生み出す。これらの電圧変化は、データ・ワードの値に応じた出力信号の整合性を損なう。具体的には、これらは、信号線のハイからローおよびローからハイへの移行（エッジ）を遅延させ、エッジ位置の不安定を生じる。これらの効果は両方とも、達成可能なシステム速度を損なう。Ｌｄｉ／ｄｔが大きいほど、タイミング・ロスの程度は大きくなる。すべてのラインが一度に変化した場合、またはラインがより多く存在する場合、ｄｉ／ｄｔは増大する。
【０００６】
制御可能な設計パラメータによるパス・インダクタンス（Ｌ）は、すでに実質的な最小限度にある。差分アーキテクチャではＶddおよびＶssの変動によるタイミング・ロスがなくなるが、これは伝送される情報のビットごとに２本のラインを費やすことによって得られる。差分性能をシングルエンデッド・アーキテクチャから得ることが望ましい。したがって、一定重みの並列符号化を採用した。
【０００７】
一定重みの並列符号化は、バス・ライン・カウントのわずかな増加を犠牲にして一定のＶddおよびＶss電流を達成することができる。シングルエンデッド・アーキテクチャ全体のラインが少し増加するだけで、差分システムの多くの利点を達成することが可能である。一定重みの並列符号化とは、データ・ワードを、入力データ・ワードの値に関係なく各論理状態のデータ要素を一定数で有する符号化済みデータ・ワードに符号化した結果であると定義することにする。さらに、平衡のとれた符号化とは、各論理状態のデータ要素の個数が同じである一定重みの並列符号化であると定義する。したがって、平衡のとれた２２ビットの符号化済みデータ・ワードは、０の値のデータ要素を１１個と、１の値のデータ要素を１１個有することになる。ほぼ平衡のとれた並列符号化済みデータ・ワードは、平衡のとれていない場合よりも平衡のとれている場合に近いことになる。
【０００８】
データ・ワード長が増加するにつれて、符号化プロセスの複雑さのせいで、対応する符号化時間が著しく長くなる。データ伝送システム中で性能を損なわずに一定重みの並列符号化を採用するためには、効率的な低レイテンシー符号化方法が必要である。効率的な低レイテンシー符号化／復号方法の設計は、過去４０年にわたる研究領域であった。この問題を解決する試みが従来技術に存在する。
【０００９】
Ｔａｌｌｉｎｉ，Ｇ．他の「Ｄｅｓｉｇｎ  ｏｆ  Ｂａｌａｎｃｅｄ  ａｎｄＣｏｎｓｔａｎｔ  Ｗｅｉｇｈｔ  Ｃｏｄｅｓ  ｆｏｒ  ＶＬＳＩ  Ｓｙｓｔｅｍｓ」、ＩＥＥＥ、ｖｏｌ．４７、ｎｏ．５、Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒｓ  Ｍａｙ（１９９８）には、入力ワードをサブワードに区分化せずに入力ワード全体に適用する符号化技法が記述されている。ワード全体にわたって符号化するための計算時間は、サブワードを符号化するための計算時間よりもずっと長く、このような分割なしの手法は、符号化関数の複雑さが高くなる。これらの技法は複雑なままであり、集積回路チップ上で低レイテンシーで実施されるようには容易に変えられない。Ｂｕｒｌｅｓｏｎ，Ｗ．他の「Ｂｕｓ−Ｉｎｖｅｒｔ  Ｃｏｄｉｎｇ  ｆｏｒ  Ｌｏｗ−Ｐｏｗｅｒ  Ｉ／Ｏ」、ＩＥＥＥ、ｖｏｌ．３、ｎｏ．１、Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｖｅｒｙ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎｓ（ＶＬＳＩ）Ｓｙｓｔｅｍｓ  Ｍａｒｃｈ（１９９５）には、重みの変動を最小限に抑えるために入力ワードをサブワードに分割してからサブワードの符号化に移る、符号化の反転方法が記述されている。Ｔａｂｏｒ，Ｊ．の「Ｎｏｉｓｅ  Ｒｅｄｕｃｔｉｏｎ  Ｕｓｉｎｇ  Ｌｏｗ  Ｗｅｉｇｈｔ  Ａｎｄ  Ｃｏｎｓｔａｎｔ  Ｗｅｉｇｈｔ  Ｃｏｄｉｎｇ  Ｔｅｃｈｎｉｑｕｅｓ」、ＭＳ  Ｔｈｅｓｉｓ、Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  Ｌａｂ、ＭＩＴ、Ｍａｙ（１９９０）にもまた、入力ワードをサブワードに分割することが記述されているが、これは一定重みの符号化を達成しない。
【００１０】
【発明が解決しようとする課題】
従来技術の技法では、この問題の限られた単純化しか実現されない。従来技術の技法では、サブワード間またはサブワード・パス間で情報を共用することが可能ではない。したがって、情報をサブワード間またはサブワード・パス間で共用して、情報を符号化済みサブワードならびに符号化済みサブワードの重みに簡単に分散させることにより、最小限の数のラインおよび符号化／復号論理の追加で実施することのできる効率的かつ低レイテンシーの符号化／復号方法を提供することが望ましい。
【００１１】
【課題を解決するための手段】
本発明は、情報を符号化済みデータ・サブワードと符号化済みデータ・サブワードの重みとに分散および集中させる方法を含む。本発明の一実施態様は、データ伝送システム中で低レイテンシーで実施できる一定重みのデータ符号化のための効率的な装置および方法を対象とする。以下、本発明の様々な実施態様について述べる。
【００１２】
ある方法は、データ・ワードをサブワード・パス上へのデータ・サブワードに分割すること、サブワード・パス間の通信を可能にすること、およびデータ・サブワードを符号化済みデータ・サブワードに符号化することを含み、データ・ワードの情報内容が符号化済みデータ・サブワードと符号化済みデータ・サブワードの重みとの間で分散される。
【００１３】
別の方法は、サブワード・パス間の通信を可能にすること、および符号化済みデータ・サブワードをデータ・サブワードに復号することを含み、データ・サブワードがデータ・ワードを形成し、それによりデータ・ワードの情報内容がデータ・ワードに再び集中する。
【００１４】
本発明の好ましい実施態様は、少なくとも第１の論理状態および第２の論理状態をそのデータ要素が占めるデータ・ワードを符号化する方法を含む。この方法は、サブワード・パス上へのデータ・サブワードを受け取ることを含み、データ・サブワードはデータ・ワードのデータ要素セットを含む。さらに、データ・サブワードを符号化済みデータ・サブワードに符号化することを含み、符号化済みデータ・サブワードは符号化済みデータ・ワードを形成し、データ・ワードの情報内容が符号化済みデータ・サブワードと符号化済みデータ・サブワードの重みとの間で分散される。
【００１５】
本発明の別の実施態様は、少なくとも第１の論理状態および第２の論理状態をそのデータ要素が占めるデータ・ワードを符号化するためのエンコーダ・モジュールを含む。このエンコーダ・モジュールは、データ・ワードのデータ要素のセットを含むデータ・サブワードをそれぞれが受け取る少なくとも２つのサブワード・パスと、少なくとも２つのサブワード・パスに結合されたエンコーダとを備え、このエンコーダはデータ・サブワードを符号化済みデータ・サブワードに符号化し、符号化済みデータ・サブワードは符号化済みデータ・ワードを形成し、データ・ワードの情報内容が符号化済みデータ・サブワードと符号化済みデータ・サブワードの重みとの間で分散される。
【００１６】
別の実施態様では、本発明は、少なくとも第１の論理状態および第２の論理状態を占める符号化済みデータ要素を有する符号化済みデータ・ワードを復号するためのデコーダ・モジュールを提供する。このデコーダ・モジュールは、少なくとも２つのサブワード・パスを備え、この少なくとも２つのサブワード・パスはそれぞれ、符号化済みデータ・ワードのデータ要素のセットを含む符号化済みデータ・サブワードを受け取り、この少なくとも２つのサブワード・パス間で情報を共用できるように少なくとも２つのサブワード・パス間の通信を可能にする。さらに、少なくとも２つのサブワード・パスに結合されたデコーダを備え、このデコーダは符号化済みデータ・サブワードをデータ・サブワードに復号し、データ・サブワードはデータ・ワードを形成する。
【００１７】
本発明の別の実施態様は、少なくとも第１の論理状態および第２の論理状態をその符号化済みデータ要素が占める符号化済みデータ・ワードを復号する方法を含む。この方法は、サブワード・パス上への符号化済みデータ・サブワードを受け取ることを含み、符号化済みデータ・サブワードは符号化済みデータ・ワードのデータ要素セットを含む。さらに、サブワード・パス間で情報を共用できるようにサブワード・パス間の通信を可能にすること、および符号化済みデータ・サブワードをデータ・サブワードに復号することを含み、データ・サブワードはデータ・ワードを形成する。
【００１８】
本発明の別の好ましい実施態様は、データ処理システムであり、このデータ処理システムは、データ・ワードのデータ要素のセットを含むデータ・サブワードをそれぞれが受け取る少なくとも２つのサブワード・パスと、少なくとも２つのサブワード・パスに結合されたエンコーダとを備え、このエンコーダはデータ・サブワードを符号化済みデータ・サブワードに符号化し、符号化済みデータ・サブワードは符号化済みデータ・ワードを形成し、データ・ワードの情報内容が符号化済みデータ・サブワードと符号化済みデータ・サブワードの重みとの間で分散される。さらに、少なくとも２つのサブワード・パスに結合され、符号化済みデータ・サブワードを受け取り、符号化済みデータ・サブワードの伝送を容易にする並列符号化済みデータ・ライン・バスを備える。さらに、並列符号化済みデータ・ライン・バスに結合された少なくとも２つのサブワード・パスを備え、この少なくとも２つのサブワード・パスはそれぞれ、符号化済みデータ・ワードのデータ要素のセットを含む符号化済みデータ・サブワードを受け取り、少なくとも２つのサブワード・パス間で情報を共用できるように少なくとも２つのサブワード・パス間の通信を容易にする。さらに、少なくとも２つのサブワード・パスに結合されたデコーダを備え、このデコーダは符号化済みデータ・サブワードをデータ・サブワードに復号し、データ・サブワードはデータ・ワードを形成する。
【００１９】
本発明の別の好ましい実施態様は、データ処理システム中でデータ・ワードを伝送する方法である。この方法は、サブワード・パス上へのデータ・サブワードを受け取ることを含み、データ・サブワードはデータ・ワードのデータ要素セットを含む。さらに、データ・サブワードを符号化済みデータ・サブワードに符号化することを含み、符号化済みデータ・サブワードは符号化済みデータ・ワードを形成し、データ・ワードの情報内容が符号化済みデータ・サブワードと符号化済みデータ・サブワードの重みとの間で分散される。さらに、並列符号化済みデータ・ライン・バスを介して符号化済みデータ・サブワードを送信することを含む。さらに、サブワード・パス上への符号化済みデータ・サブワードを受け取ることを含み、符号化済みデータ・サブワードは符号化済みデータ・ワードのデータ要素セットを含む。さらに、サブワード・パス間で情報を共用できるようにサブワード・パス間の通信を可能にすること、および符号化済みデータ・サブワードをデータ・サブワードに復号することを含み、データ・サブワードがデータ・ワードを形成する。
【００２０】
本発明は例によって示し、添付の図面の各図に限定しない。図面では、同じ参照は同様の要素を示す。
【００２１】
【発明の実施の形態】
図１に、複数のサブワード・パスと、サブワード・パス間の情報共用とを、入力データ・ワードから符号化済みデータ・ワードへのフローと共に示す。図１を参照すると、データ・ワード２は、データ・サブワード４とデータ・サブワード６とに分割されている。データ・サブワード４はサブワード・パス８に沿って移動し、データ・サブワード６はサブワード・パス１０に沿って移動する。エンコーダ１２がサブワード・パス８に接続され、データ・サブワード４を符号化する。エンコーダ１４がサブワード・パス１０に接続され、データ・サブワード６を符号化する。多くの代替形態が可能であり、例えばエンコーダ１２は複数のエンコーダからなるものでもよく、あるいはエンコーダ１２およびエンコーダ１４は、サブワード・パス８とサブワード・パス１０の両方に接続された単一のエンコーダでもよいことを理解されたい。サブワード・パスに接触する複数のエンコーダが、並列でサブワードを符号化することができる。
【００２２】
共用情報１６により、サブワード・パス間で情報を共用することができる。共用情報１６は、サブワード・パスに沿ったどの場所でも発生する可能性がある。例えば、共用情報１６はエンコーダ１２の前で発生する可能性もあり、エンコーダ１２とエンコーダ１４の間で発生する可能性もある。共用情報１６はエンコーダの後のサブワード・パス間で発生する可能性もある。共用情報１６は、サブワード・パス８とサブワード・パス１０との間で、具体的に定義されない順序で発生する可能性があることを理解されたい。順序は本発明を限定しない。
【００２３】
データ・サブワード４は、サブワード・パス８に沿って移動し、エンコーダ１２によって符号化され、共用情報１６およびエンコーダ１２から符号化済みデータ・サブワード１８がもたらされる。データ・サブワード６は、サブワード・パス１０に沿って移動し、エンコーダ１４によって符号化され、共用情報１６およびエンコーダ１４から符号化済みデータ・サブワード２０がもたらされる。符号化済みデータ・サブワード１８と符号化済みデータ・サブワード２０は結合されて、符号化済みデータ・ワード２２を形成する。エンコーダ１２およびエンコーダ１４からデータ・サブワード４およびデータ・サブワード６に対してもたらされる符号化により、重み変動の小さい、または一定重みの、または平衡のとれた符号化済みデータ・ワード２２が得られる。
【００２４】
図２では、一定重みの符号化済みデータ・ワードの生成に共用情報の概念を適用する。図２を参照すると、本発明の一実施形態では、複数のエンコーダおよびパリティ要素を備える一定重みの重み符号化２６を設け、これは低レイテンシーの論理集積回路の実装につながる。データ・ワード２が、ｍ入力情報ワード・ライン２８上に入力される。入力情報ワード・ラインｍ２８は、サブワード１ラインｍ1３０、サブワード２ラインｍ2３２、サブワードＬラインｍL３４まで分割される。
【００２５】
サブワード１ラインｍ1３０は、サブワード・エンコーダ１  ３６と接続する。同様に、サブワード２ラインｍ2３２は、サブワード・エンコーダ２  ３８と接続し、サブワードＬラインｍL３４までは、サブワード・エンコーダＬ４０までと接続する。入力データ・ワード２は、指標Ｌで示す一般的な数のサブワードに分割することができることを理解されたい。また、サブワードは、入力データ・ワード２からのデータ要素を同数含む必要はなく、異なるサイズとすることができることも当業者は理解されたい。一定重みの重み符号化２６における図示のアーキテクチャは、図１に示した、エンコーダが各サブワード・パスと接続されたサブワード・パスと同等である。共用情報４４を、サブワード１ラインｍ1３０、サブワード２ラインｍ2３２、サブワードＬラインｍL３４、サブワード・エンコーダ１  ３６、サブワード・エンコーダ２  ３８、サブワード・エンコーダＬ４０、パリティ要素４２の間で交換することができる。
【００２６】
サブワード・エンコーダ１  ３６は、符号化済みデータ・サブワードを出力するのに使用されるラインｎ1４６を有する。サブワード・エンコーダ２  ３８は、符号化済みデータ・サブワードを出力するのに使用されるラインｎ2４８を有する。サブワード・エンコーダＬ４０は、符号化済みデータ・ワードを出力するのに使用されるラインｎL５０を有する。サブワード・エンコーダ１  ３６、サブワード・エンコーダ２  ３８、およびＬ４０までのサブワード・エンコーダからのサブワードは、パリティ要素４２と共に結合されて、符号化済みデータ・サブワード２２を形成し、総符号化済みライン６２上に出力される。式６４に、総符号化済みライン・カウント６２と、各サブワード・エンコーダおよびパリティ・ライン６０からのライン・カウントとの関係を示す。
【００２７】
図３に、二進数の特性である二項展開を示す。これは、二進数ワード中の要素の数ｎと、二進数ワードの重みｐと、選択された重みｐの場合に利用可能な固有状態の数との関係を示す。図３を参照すると、二項係数行列６６を使用して様々なデータ・ワード符号化方法を考案することができる。このような１つの方法は、集積回路中での低レイテンシーの論理実装につながる。この方法によれば、長いデータ・ワードをより短いサブワードに分割することが望ましい。より短いサブワードは、より長いデータ・ワードよりも少ない時間で符号化することができる。二項係数行列６６を参照すると、長さが７要素（ｎ＝７）である符号化済みワードは、１が３つある（ｐ＝３）状態を３５通り有し、１が４つある（ｐ＝４）状態を３５通り有することに留意されよう。したがって、各符号化済みデータ・ワード中に１が３つまたは４つある符号化済みワードには、合計７０通りの状態が存在する。
【００２８】
図４は、関係のある二進数特性を要約した表であり、一定重みの重み符号化を達成するのに必要な最小限の追加ラインの数を示す。図４を参照すると、表６８は、符号化される各入力ワード長につき必要な最小限の追加ラインの数を示す。「追加ライン」の名称が付いた最後の列は、最小限の数の追加ラインを提供するように最適化された符号化を表す。本発明の最良のモードは、サイズが１８の二進数ワードを符号化する場合に表６８に示す最適条件を超えて追加ラインを１本加えることになり、符号化済みデータ・ワード中に２２個の符号化済みビットがあることになる。しかし、サブワード・サイズをより小さくすることと、サブワード・パス間で情報を共用することを組み合わせることで、符号化時間の短縮が達成される。したがって、本発明の最良のモードは、３つの６ビット入力ワードを合計２２本の符号化済みラインによって符号化するが、これは、３つの６ビット入力ワードを二項式符号化するのに必要な２４本よりもラインが２本少ない。
【００２９】
図５は、情報を各サブワードと得られる符号化済みワードの重みとに分散させ、サブワード間で情報を共用せずに得られるサブワード内並列符号化を示す符号−重みベクトル・ツリーである。図５を参照すると、符号−重みベクトル・ツリー７０は、本発明の一実施形態により１８ビット・ワードがそれぞれ６ビット長の３つのサブワードに分割されたときの可能性ある符号化済みワードの重みを示す。サブワード７２に適用される符号化重みの数は、サブワードａ、ｂ、ｃに重み３および４を適用する。サブワードａに対する重み７４、サブワードｂに対する重み７６、およびサブワードｃに対する重み７８は、ツリーの可能性あるブランチを示し、これらの結果、符号化済みワードの重み８０が得られる。符号化済みワードの重み８０は、９〜１２の範囲の符号化済みワードの重みを含む。符号化済みワードの重み８２は、符号化済みワードの重み合計９をもたらすが、これは、各サブワードに対する符号化済みサブワードの重み３から得られる。符号化済みワードの重み９６は、符号化済みワードの重み合計１２をもたらすが、これは、各サブワードに対する符号化済みサブワードの重み４から得られる。符号−重みベクトル・ツリー（図５）のブランチを、対応する符号化済みワードの重みに対する参照番号と共に、表１の行としてリストする。
【００３０】
符号化済みワードの重み８０を伝送することにより、重み変動の小さい符号化方式が得られる。小さい重み変動で符号化されたワードは、入力データ・ワードよりも重みの範囲がずっと狭い。１８ビットの入力データ・ワードの値の範囲は、すべて０である値からすべて１である値までであり、したがってワードの重みの範囲は０〜１８である。２１個のラインを利用した符号化済みデータ・ワードの場合、小さい重み変動で符号化されたデータ・ワードの重みは、９〜１２で変動する。重み変動の縮小により、伝送中のＶddおよびＶss電流変動による前述の問題に対して、改善された解決法がもたらされる。
【表１】
0004617039.tif 000002
【００３１】
しかし、一定重みの符号化済みデータを生成するためにサブワード・パス間で共用情報を採用することにより、符号化済みワードの重みの変動をさらに縮小することを達成することができる。符号化済みワードの重みの範囲９〜１２を調べると、２つの１を符号化し単一のパリティ・ラインを採用することにより、合計２２本のライン上で重み１１である平衡のとれた一定重みの符号化済みデータ・ワードが、サブワード・パス間の通信を可能にすることで達成されることが明らかである。
【００３２】
符号−重みベクトル・ツリー７０の各ブランチは、７ビット長の符号化済みサブワードの場合に一定数の状態を符号化する。
２6・２6・２6＝２６２１４４
【００３３】
各符号−重みベクトルは、同数の状態を符号化する。
２5・２5・２5＝２15
【００３４】
表１の８つの行で示すように、ツリー中には８つの符号−重みベクトルがある。したがって、符号化される状態の総数は以下のとおりである。
８・２15＝２18
【００３５】
各レベルで符号は３または４である可能性があるので、情報が各レベルの符号の重みによって搬送されることはない。ツリー中の任意のレベルにある重みがわかっても、それ以外のレベルにあるサブワードをどのように符号化するかを決定する助けにはならない。したがって、重みが３または４でなければならないことを除いては、重みに課される制約はない。得られる符号−重みベクトルの範囲は、符号化済みワードの重み８０に示すように９〜１２である。
【００３６】
図５のツリー中の各レベルにおける符号の変動は３または４である。変動が２、３、４、または５に増大する場合、可能性のある状態の総数は８４４７３６になる。
【００３７】
可能性のある８４４７３６個の状態のうち２６２１４４個の状態だけが、入力された１８ビットの数を符号化するのに必要である。完全に展開されたツリー図は８４個のノードを含むことになり、符号−重みベクトルの符号化済みワード重みの範囲は６〜１５となる。しかし、２６２１４４個の入力状態をカバーするには符号−重みベクトルのサブセットしか必要ではない。図６のツリー図は２０個のノードを含み、２６２１４４個の入力状態をカバーするにはこれらで十分である。各符号−重みベクトルは、以下の数の状態を符号化する。
符号−重みベクトル｛２，４，４｝は１６３８４個の状態を含む。
符号−重みベクトル｛３，３，５｝は１６３８４個の状態を含む。
符号−重みベクトル｛４，４，２｝は１６３８４個の状態を含む。
符号−重みベクトル｛５，３，３｝は１６３８４個の状態を含む。
符号−重みベクトル｛３，３，４｝は３２７６８個の状態を含む。
符号−重みベクトル｛３，４，４｝は３２７６８個の状態を含む。
符号−重みベクトル｛４，３，３｝は３２７６８個の状態を含む。
符号−重みベクトル｛４，３，４｝は３２７６８個の状態を含む。
符号−重みベクトル｛４，４，３｝は３２７６８個の状態を含む。
【００３８】
これらの符号−重みベクトルの合計は、２６２１４４個の状態を含み、重みは１０と１１のいずれかである。単一のパリティ・ビットを加えることにより、ほぼ一定である１０または１１の符号を、一定である（かつ平衡のとれた）１１の符号にすることができる。
【００３９】
図６は、サブワード内の並列符号化を示す符号−重みベクトル・ツリーであり、この符号化では、情報をサブワードならびにサブワードの重みに分散させ、情報をサブワード間で共用し、次いで、共用情報を使用して平衡のとれた一定重みの符号化済みデータ・ワードを達成する。
【００４０】
図６を参照すると、個々のサブワード重みの中で搬送される情報を使用して、他のサブワードを符号化している。例えば、サブワードａが２の場合、サブワードｂおよびｃは、図６に示すように重み４を有さなければならない。
【００４１】
重み３であり長さ７である符号化済みサブワードは、各出力データ要素を反転させることによって単純に重み４のサブワードに変換することができ、またその逆もできることは、当業者には理解されるであろう。同様に、重み２であり長さ７である符号化済みサブワードも、同じ反転技法によって単純に重み５のサブワードに変換することができ、その逆についても言える。
【００４２】
本発明の最良のモードによれば、符号化済みサブワードの重みの決定は、個々のサブワードの１つまたは２つの最上位ビットを調べることによって行う。サブチャネルａの場合の符号化は、図１１の入力ビットｄ0．．．ｄ5と、サブワードｂからの最上位ビット（ｄ11）と、サブワードｃからの２つの最上位ビット（ｄ17およびｄ16）とに基づく。サブワードａ、ｂ、ｃの最上位ビットがすべて０の場合は、サブワードａの第１の１６通りのサブワードは重み２で符号化され、サブワードａの第２の１６通りの符号化済みサブワード・セットは５で符号化される。そうでない場合は、サブワードａの第１の３２通りの符号化済みサブワードは重み３であり、サブワードａの次の３２通りの符号化済みサブワードは重み４である。図６の符号−重みベクトル・ツリー図によれば、１つの例外がある。サブワードｂの最上位ビットおよびサブワードｃの２つの最上位ビットがすべて１の場合は、第２の３２通りの状態セットの重みは３である。
【００４３】
サブワードｂのサブワードに対する符号化は、図１１の入力ビットｄ6．．．ｄ11と、サブワードａからの２つの最上位ビット（ｄ5およびｄ4）と、サブワードｃからの２つの最上位ビット（ｄ17およびｄ16）とに基づく。サブワードｂの第１の３２通りの符号化済みサブワードは重み３であり、サブワードｃの３２通りの第２の符号化済みサブワード・セットは重み４である。図６の重み−符号ベクトル・ツリー図によれば、２つの例外がある。第１の例外として、サブワードａの最上位ビットが１であり、サブワードｃの２つの最上位ビットが１である場合は、サブチャネルｃの第２の３２通りのサブワード・セットは重み３である。第２の例外として、サブワードａの最上位ビットが０であり、サブワードｃの２つの最上位ビットが０である場合は、サブチャネルｃの第１の３２通りのサブワード・セットは重み４である。
【００４４】
図３に関する先の考察から、７つの要素の符号化済みワードは、常にハイにセットされた１が３つある状態を３５通りと、４つある状態を３５通り有し、したがって両方の状態セットを使用して６ビット・データ・ワードを符号化することができることに留意されたい。６ビット・データ・ワードは６４通りの状態を必要とし、６つの状態は未使用のままとなる。６ビット入力ワードの第１の３２通りの状態は３つの１で符号化され、第２の３２通りの状態は４つの１で符号化されることになる。この符号化方式の例外は、３つの入力サブワードの結果、各符号化済みサブワード中で同時に重み３または重み４が生成されているときに起こる。図５および表１に示した９および１２の符号化済みワードの重みを扱うために、代替符号化が必要である。図６を参照すると、符号−重みベクトル・ツリー９８は、３つの６ビット・サブワードに分割された１８ビット入力データ・ワードの場合の符号化体系で可能な符号化済みサブワードの重みを示している。
【００４５】
サブワードａに対する重み１０２は、３つおよび４つの１の符号化と共に、２つの１の符号化によって、または５つの１の符号化である２つの１の反転の符号化によって、サブワードａを符号化することを含む。４つの１の符号化は、３つの１の符号化の反転であることを当業者なら理解するであろう。サブワードａにおける２つの１の符号化と５つの１の符号化のそれぞれに対する代替符号化パス１４２と１４４は、９または１２となる符号化済みワードの重みの重み変動を縮小するために情報共用と共に行う代替符号化である。代替符号化パス１４２および１４４を選択的に使用することで、代替符号化方式における使用からパス１３４および１３６が取り去られる。したがって、使用されない追加の符号化状態が存在する。サブワードｂに対する重み１０４は、３つの１または４つの１の符号化に限定される。サブワードｃに対する重み１０６は、２つ、３つ、４つ、５つの１の符号化を含む。
【００４６】
サブワード間の情報共用により、符号化済みデータ・ワードの重み変動が縮小し、究極的には一定になる。各サブワードを同時に重み３に符号化する場合、サブワードａにおける３２通りの状態は、１６通りの状態をそれぞれ有する２つのケースに分割される。第１のケース（状態０〜１５）は、２つの１を使用して符号化される。本発明の最良のモードによれば、サブワードａの第２の最上位ビット（ＭＳＢ）が０に等しいときにこのケースが起こるように選択された。この選択を行うための他の方法も多く存在する。符号化済みサブワードｂおよびｃは反転され、これによりサブワードｂおよびｃの重みは３から４に変わる。得られる符号−重みベクトル｛２，４，４｝が符号−重みベクトル・ツリー９８に示されており、この結果、サブワード重み合計１０８が１０になり、パリティ・ビット値１１０を１にセットすることによって符号化済みワードの重み１１４が１１に等しくなる。符号化済みサブワードｂおよびｃの平衡を事前にとるこの反転を、事後反転（ＰＩ、ｐｏｓｔ  ｉｎｖｅｒｓｉｏｎ）と呼ぶ。
【００４７】
符号化済みサブワードａの重みが２に等しいことは、復号時に符号化済みサブワードｂおよびｃの反転を考慮しなければならないという情報を伝えている。したがって、サブワードの重みについてサブワード・パス間で情報を共用する。
【００４８】
各サブワードが同時に重み３に符号化される第２のケース（状態１６〜３１）では、サブワードａが５つの１で符号化される必要がある。本発明の最良のモードでは、このケースは、サブワードａの第２のＭＳＢが１に等しいときに起こる。得られる符号−重みベクトル｛５，３，３｝が符号−重みベクトル・ツリー９８に示されており、この結果、サブワード重み合計１０８が１１になり、パリティ・ビット値１１０を０にセットすることによって符号化済みワードの重み１３２が１１に等しくなる。符号化済みサブワードｂまたはｃのＰＩは必要ない。
【００４９】
各サブワードが３つの１の重みに符号化されるケースは、各サブワードの第１のＭＳＢが０に等しいときに起こることを理解されたい。符号化済みサブワードａの第２のＭＳＢが０に等しいときは、符号化済みサブワードｂおよびｃは相応に復号されなければならない。
【００５０】
各符号化済みサブワードが重み４になる特別なケースは、代替符号化１３８および代替符号化１４０をサブワードｃに適用することによって扱う。本発明の最良のモードでは、サブワードｃの第２のＭＳＢを用いて、サブワードｃに対する符号化を２つのケースに分ける。サブワードｃの第２のＭＳＢが０に等しいときは、第１の１６通りの状態（０〜１５）が代替符号化１４０を用いて２つの１で符号化され、サブワードｃの第２のＭＳＢが１に等しいときは、第２の１６通りの状態（１６〜３１）が代替符号化１３８を用いて５つの１で符号化される。
【００５１】
代替符号化１４０を用いる第１のケースは、符号−重みベクトル・ツリー９８に示すように符号−重みベクトル｛４，４，２｝をもたらし、この結果、サブワード重み合計１０８が１０に等しくなり、パリティ・ビット値１１０を１にセットすることによって符号化済みワードの重み１３０が１１に等しくなる。符号化済みサブワードａまたはｂのＰＩは必要ない。
【００５２】
サブワードｃの第２のＭＳＢが１に等しく、サブワードｃが代替符号化１３８を用いて５つの１で符号化される第２のケースでは、符号化済みサブワードａおよびｂを反転する必要が生じる。得られる符号−重みベクトル｛３，３，５｝が符号−重みベクトル・ツリー９８に示されており、この結果、サブワード重み合計１０８が１１になり、パリティ・ビット値１１０を０にセットすることによって符号化済みワード重み１１６が１１に等しくなる。復号時、サブワードｃの重みが５に等しいことは、前に適用されたＰＩのために符号化済みサブワードａおよびｂが相応に復号される必要があるという情報を提供することになる。
【００５３】
符号化プロセス中に発生する前述の共用情報は、サブワードａおよびｃの第１および第２のＭＳＢ、ならびにサブワードｂの第１のＭＳＢである。
【００５４】
３と４が混合するサブワード重みの組合せには、代替符号化は必要ない。したがって、代替符号化を必要としない重みベクトルから、符号化済みワード重み１１８、符号化済みワード重み１２０、符号化済みワード重み１２２、符号化済みワード重み１２４、符号化済みワード重み１２６、および符号化済みワード重み１２８が得られる。
【００５５】
符号−重みベクトル・ツリー（図６）のブランチを、対応する符号化済みワードの重みの参照番号と共に、表２の行としてリストする。事後反転が必要な場合は、適切なサブワード重みの横に記号ＰＩでそのように示してある。表２から、符号化済みデータ・ワードの重み変動が１０〜１１の範囲に縮小したことが明白である。単一のパリティ・ラインを使用して、所望の一定重みの符号化済みデータ・ワードが生成される。
【表２】
0004617039.tif 000003
【００５６】
前述の本発明の実施形態は、３つのサブワードに限定するものではなく、図２に示すようにサブワード・エンコーダＬ４０と一般的な数のパリティ・ライン６０とで示す一般的な数のサブワードＬにも一般的に適用可能であることを、当業者なら理解するであろう。
【００５７】
図７に、汎用データ処理システム内における本発明の適用を示す。図７を参照すると、汎用データ処理システム１４２は、プリンタ１４４、ポインタ１４６、およびキーボード１４８を備えることができ、これらはバス１５０ａを介してサウス・ブリッジ１５０に接続されている。ノース・ブリッジ１５６が、バス１６０ｂを介してサウス・ブリッジ１５０に接続され、バス１５２ａを介してメモリ１５２に接続され、バス１６０ａを介してグラフィックス１５４に接続され、バス１６０を介してプロセッサ１５８に接続されている。図では、バス１６２上の２つのデバイスが、本発明の一実施形態を採用する。プロセッサ１５８とノース・ブリッジ１５６の間に、符号化済みデータ・バス１６０が示されている。本発明は、汎用データ処理システム１４２内の他の位置で用いることもでき、例えば、バス１６０ａや１６０ｂは本発明を採用できる他の位置の例である。本発明は、データ伝送が行われるどんな状況でも使用することができ、図７に関して述べたバス位置は、例示的なものでしかなく限定的に解釈すべきではない。
【００５８】
図８は、先に図７に示したような、本発明を採用する並列データ・ライン・バス上の２つのデバイスを詳細に表したものである。図８を参照すると、バス１６２上の２つのデバイスが本発明の一実施形態を採用しているのが示されている。入力データ・ワード１６４は、先に論じたように１８ビットのデータ・ワードとすることができ、デバイス１  １５６のエンコーダ１６６に入力される。入力データ・ワード１６４は、エンコーダ１６６によって符号化され、トランスミッタ１６８によってデバイス２  １５８に向けて並列符号化済みデータ・ライン・バス１７０上へ送信される。デバイス２  １５８もまた、並列符号化済みデータ・ライン・バス１７０と接続されている。デバイス２  １５８は、符号化済みデータ・ワードを受け取って復号するように構成されたレシーバ１７２およびデコーダ１７４を有することができ、したがってデータ出力１７６でデータ・ワードを出力する。
【００５９】
各デバイスは共に、図８に示すように、データ・ワードを入力として受け取り、データ・ワードを符号化し、並列データ・ライン上に送信し、復号し、出力する相互能力を採用することができる。
【００６０】
図９に、本発明による符号化済み並列データ・ラインの終端を示すが、この場合、１ビットの情報を送信するのに必要なラインは２本未満である。図９を参照すると、符号化済みライン終端１７８が送信デバイス１８０と受信デバイス１８２を接続しているのが示されている。符号化済みデータ・ライン１８４、１８６、１８８、１９０が、送信デバイス１８０と受信デバイス１８２の間における符号化済みデータ・ワードの伝送を可能にする。ライン・ドライバ１８４ａ、１８６ａ、１８８ａ、１９０ａが、符号化済みデータ・ラインを駆動する。１８ビット・データ・ワードの符号化を対象とした本発明の実施形態で先に論じたように、合計２２本の符号化済みデータ・ラインが使用された。符号化済みデータ・ラインが２２本あることは、シングルエンデッド・アーキテクチャで必要とされる本数に加えて４本のラインがあり、差分アーキテクチャで必要な本数よりも１４本少ないラインがあることを表す。
【００６１】
図１０に、従来技術における差分アーキテクチャの並列データ・ラインの終端を示すが、この場合、１ビットの情報を送信するのに２本のラインが必要である。図１０を参照すると、差分ライン終端１９２は、２本のラインが送信デバイス１９４および受信デバイス１９６に接続することが必要な終端を示している。送信デバイス１９４と受信デバイス１９６の間で１ビットの情報を２進システムで送信するために、差分ライン１９８および差分ライン２００が必要である。
【００６２】
図１１に、１８ビットの情報ワードを符号化する特定の場合に適用される本発明の最良のモードを示す。図１１を参照すると、エンコーダ１６６がより詳細に示されている。データ・ワード２０２が、サブワードａ２０４、サブワードｂ２０６、およびサブワードｃ２０８に分割される。サブワードａ２０４は、エンコーダａ２１０によって符号化され、符号化済みサブワードａ２１２となる。サブワードａ２０４は入力データ・ラインＤａ０〜Ｄａ５を含み、符号化済みデータ・サブワードａ２１２は符号化済みデータ・ラインＥａ０〜Ｅａ６を含み、したがって、６本の入力データ・ラインが７本の符号化済みライン上に符号化される。サブワードｂ２０６は、エンコーダｂ２１４によって符号化され、符号化済みサブワードｂ２１６となる。サブワードｂ２０６は入力データ・ラインＤｂ０〜Ｄｂ５を含み、符号化済みデータ・サブワードｂ２１６は符号化済みデータ・ラインＥｂ０〜Ｅｂ６を含む。サブワードｃ２０８は、エンコーダｃ２１８によって符号化され、符号化済みサブワードｃ２２０となる。サブワードｃ２０８は入力データ・ラインＤｃ０〜Ｄｃ５を含み、符号化済みデータ・サブワードｃ２２０は符号化済みデータ・ラインＥｃ０〜Ｅｃ６を含む。
【００６３】
図１１では、データ・サブワードがエンコーダの入力側のデータ・ワード２０２からエンコーダの出力側まで辿るパスとしてサブワード・パスを概念化することができ、出力側で、符号化済みサブワードは１つにマージして、符号化済みデータ・ワード２２７を形成する。各サブワード・パスおよびパリティ論理２２４の間を共用情報２２２がフローする。パリティ論理２２４は、共用情報２２２に基づいてパリティ・ビット２２６をセットして、符号化済みデータ・ワード２２７の平衡をとる。符号化済みサブワードａ２１２、符号化済みサブワードｂ２１６、符号化済みサブワードｃ２２０、およびパリティ・ビット２２６が、符号化済みデータ・ワード２２７を形成する。
【００６４】
１８ビット・データ・ワードの場合の最良のモードの実施形態による代替符号化では、サブワードａ２０４およびサブワードｃ２０８の第１および第２のＭＳＢの値と、サブワードｂ２０６の第１のＭＳＢの値を、各サブワード・パス上およびパリティ論理２２４に提供して符号化済みデータ・ワード２２７の平衡をとるために、共用情報２２２が必要である。事後反転（ＰＩ）が２つのケースに適用された。すなわち、ケース１は、各サブワードの第１のＭＳＢ（Ｄａ５、Ｄｂ５、Ｄｃ５）が０に等しく、サブワードａ２０４の第２のＭＳＢ（Ｄａ４）が０に等しい状況であり、この場合、符号化済みサブワードｂ２１６および符号化済みサブワードｃ２２０は反転される。ケース２は、各サブワードの第１のＭＳＢ（Ｄａ５、Ｄｂ５、Ｄｃ５）が１に等しく、サブワードｃ２０８の第２のＭＳＢ（Ｄｃ４）が１に等しい状況であり、この場合、符号化済みサブワードａ２１２および符号化済みサブワードｂ２１６は反転される。
【００６５】
図１２は、本発明によりサブワード・エンコーダ２１０によってサブワードａ２０４に適用される符号化の、さらに詳しい細部である。図１２を参照すると、サブワードａ２０４が、Ｇａエンコーダ・ブロック２２８、Ｈａエンコーダ・ブロック２３０、Ｆａエンコーダ・ブロック２３２、Ｊａエンコーダ・ブロック２３４、およびＫａエンコーダ・ブロック２３６によって並列に符号化される。共用情報２２２ａが、パリティ・ビット２２６の状態をセットするためにパリティ論理２２４によって使用され、ｍｕｘ２４２に信号を送るためにｍｕｘ論理２４０によって使用され、代替符号化が必要なケースで事後反転を行うために反転論理２３８によって使用される。ｍｕｘ２４２は、ｍｕｘ論理２４０と共に、Ｇａエンコーダ・ブロック２２８、Ｈａエンコーダ・ブロック２３０、Ｆａエンコーダ・ブロック２３２、Ｊａエンコーダ・ブロック２３４、またはＫａエンコーダ・ブロック２３６から符号化済みサブワードを選択し、これが符号化済みサブワードａ２１２として送信される。
【００６６】
図１３に、図１２に示したエンコーダ・ブロックによって採用される真理表を示す。図１３を参照すると、ｍｕｘ真理表２４０ａは、ｍｕｘ論理２４０（図１２）によって用いられる論理を示している。ｍｕｘ真理表２４０ａは、代替符号化が必要な特別なケースの決定を含み、各サブワードの第１のＭＳＢ（Ｄａ５、Ｄｂ５、Ｄｃ５）がｍｕｘ真理表２４０ａ中で考慮される。
【００６７】
サブワード中の入力された最下位ビット（ＬＳＢ）の数と、符号化済みサブワード中のＬＳＢの数との間の異なるパターンを用いて、５つの固有の符号化パターンが形成され、これらはサブワード間で類似性をいくらか有する符号化ブロックに組み入れられる。異なる５つのパターンは、Ｇａ真理表２２８ａ、Ｈａ真理表２３０ａ、Ｆａ真理表２３２ａ、Ｊａ真理表２３４ａ、およびＫａ真理表２３６ａをもたらす。Ｇａ真理表２２８ａはＧａエンコーダ・ブロック２２８（図１２）によって使用される。Ｈａ真理表２３０ａはＨａエンコーダ・ブロック２３０（図１２）によって使用される。Ｆａ真理表２３２ａはＦａ１、２エンコーダ・ブロック２３２（図１２）によって使用される。この３つのエンコーダ・ブロックは、サブワードａ２０４（図１２）の２つの最下位ビットＬＳＢを符号化済みサブワードの５つのＬＳＢにマッピングする。サブワードａ２０４（図１２）の中のビットと共用情報２２２ａ（Ｄｂ５、Ｄｃ５、Ｄｃ４）の組合せを考慮することにより、符号化済みサブワードの２つのＭＳＢを選択することができる。
【００６８】
Ｊａ真理表２３４ａはＪａエンコーダ・ブロック２３４（図１２）によって使用され、Ｋａ真理表２３６ａはＫａエンコーダ・ブロック２３６（図１２）によって使用される。この２つのエンコーダ・ブロックは、サブワードａ２０４（図１２）の３つのＬＳＢを符号化済みサブワードの５つのＬＳＢにマッピングする。
【００６９】
反転論理真理表２３８ａは、代替符号化を行うときに符号化済みサブワードａ２１２を反転するために、反転論理２３８（図１２）によって使用される。特別な適用例を考えたときにｍｕｘ２４２（図１２）の後に事後反転を行うこともできることは、当業者なら理解するであろう。本発明は、ｍｕｘ２４２と符号化済みサブワードａ２１２の反転との順序による制限を受けない。
【００７０】
図１４は、本発明によりサブワード・エンコーダ２１４によってサブワードｂ２０６に適用される符号化の、さらに詳しい細部である。図１４を参照すると、サブワードｂ２０６が、Ｇｂエンコーダ・ブロック２４４、Ｈｂエンコーダ・ブロック２４６、Ｆｂ１、２エンコーダ・ブロック２４８、Ｊｂエンコーダ・ブロック２５０、およびＫｂエンコーダ・ブロック２５２によって並列で符号化される。共用情報２２２ｂが、ｍｕｘ２５８に信号を送るためにｍｕｘ論理２５６によって使用され、代替符号化が必要なケースで事後反転を行うために反転論理２５４によって使用される。ｍｕｘ２５８は、ｍｕｘ論理２５６と共に、Ｇｂエンコーダ・ブロック２４４、Ｈｂエンコーダ・ブロック２４６、Ｆｂ１、２エンコーダ・ブロック２４８、Ｊｂエンコーダ・ブロック２５０、またはＫｂエンコーダ・ブロック２５２から符号化済みサブワードを選択し、これが符号化済みサブワードｂ２１６として送信される。
【００７１】
図１５に、図１４に示したエンコーダ・ブロックによって採用される真理表を示す。図１５を参照すると、ｍｕｘ真理表２５６ｂは、ｍｕｘ論理２５６（図１４）によって用いられる論理を示している。Ｇｂ真理表２４４ｂはＧｂエンコーダ・ブロック２４４（図１４）によって使用される。Ｈｂ真理表２４６ｂはＨｂエンコーダ・ブロック２４６（図１４）によって使用される。Ｆｂ真理表２４８ｂはＦｂ１、２エンコーダ・ブロック２４８（図１４）によって使用される。この３つの真理表は、データ・サブワードの２つのＬＳＢと符号化済みサブワードの５つのＬＳＢとの間で、サブワードａのエンコーダ・ブロックおよび真理表で使用されたのと同じマッピングを採用する。
【００７２】
Ｊｂ真理表２５０ｂはＪｂエンコーダ・ブロック２５０（図１４）によって使用され、Ｋｂ真理表２５２ｂはＫｂエンコーダ・ブロック２５２（図１４）によって使用される。この２つの真理表は、データ・サブワードの３つのＬＳＢと符号化済みサブワードの５つのＬＳＢとの間で、サブワードａのエンコーダ・ブロックおよび真理表で使用されたのと同じマッピングを採用する。
【００７３】
反転論理真理表２５４ｂは、代替符号化を行うときに符号化済みサブワードｂ２１６を反転するために、反転論理２５４（図１４）によって使用される。特別な適用例を考えたときにｍｕｘ２５８（図１４）の後に事後反転を行うこともできることは、当業者なら理解するであろう。本発明は、ｍｕｘ２５８と符号化済みサブワードｂ２１６の反転との順序による制限を受けない。
【００７４】
図１６は、本発明によりサブワード・エンコーダ２１８によってサブワードｃ２０８に適用される符号化の、さらに詳しい細部である。図１６を参照すると、サブワードｃ２０８が、Ｇｃエンコーダ・ブロック２６０、Ｈｃエンコーダ・ブロック２６２、Ｆｃ１、２エンコーダ・ブロック２６４、Ｊｃエンコーダ・ブロック２６６、およびＫｃエンコーダ・ブロック２６８によって並列で符号化される。共用情報２２２ｃが、ｍｕｘ２７４に信号を送るためにｍｕｘ論理２７２によって使用され、代替符号化が必要なケースで事後反転を行うために反転論理２７０によって使用される。ｍｕｘ２７４は、ｍｕｘ論理２７２と共に、Ｇｃエンコーダ・ブロック２６０、Ｈｃエンコーダ・ブロック２６２、Ｆｃ１、２エンコーダ・ブロック２６４、Ｊｃエンコーダ・ブロック２６６、またはＫｃエンコーダ・ブロック２６８から符号化済みサブワードを選択し、これが符号化済みサブワードｃ２２０として送信される。
【００７５】
図１７に、図１６に示したエンコーダ・ブロックによって採用される真理表を示す。図１７を参照すると、ｍｕｘ真理表２７２ｃは、ｍｕｘ論理２７２（図１６）によって使用される論理を示している。ｍｕｘ真理表２７２ｃは、代替符号化が必要な特別なケースの決定を含み、各サブワードの第１のＭＳＢ（Ｄａ５、Ｄｂ５、Ｄｃ５）がｍｕｘ真理表２７２ｃ中で考慮される。
【００７６】
Ｇｃ真理表２６０ｃはＧｃエンコーダ・ブロック２６０（図１６）によって使用される。Ｈｃ真理表２６２ｃはＨｃエンコーダ・ブロック２６２（図１６）によって使用され、Ｆｃ真理表２６４ｃはエンコーダ・ブロックＦｃ１、２  ２６４（図１６）によって使用される。この３つの真理表は、データ・サブワードの２つのＬＳＢと符号化済みサブワードの５つのＬＳＢとの間で、サブワードａのエンコーダ・ブロックおよび真理表で使用されたのと同じマッピングを採用する。
【００７７】
Ｊｃ真理表２６６ｃはＪｃエンコーダ・ブロック２６６（図１６）によって使用され、Ｋｃ真理表２６８ｃはＫｃエンコーダ・ブロック２６８（図１６）によって使用される。この２つの真理表は、データ・サブワードの３つのＬＳＢと符号化済みサブワードの５つのＬＳＢとの間で、サブワードａのエンコーダ・ブロックおよび真理表で使用されたのと同じマッピングを採用する。
【００７８】
反転論理真理表２７０ｃは、代替符号化を行うときに符号化済みサブワードｃ２２０を反転するために、反転論理２７０（図１６）によって使用される。特別な適用例を考えたときにｍｕｘ２７４（図１６）の後に事後反転を行うこともできることは、当業者なら理解するであろう。本発明は、ｍｕｘ２７４と符号化済みサブワードｃ２２０の反転との順序による制限を受けない。
【００７９】
図１８は、総称的なサブワードｘに適用される復号の詳細であり、ｘはサブワードａ、ｂ、ｃを指す。サブワードの符号化にわたって存在する類似性の利点が、符号化済みサブワードの復号中にも利用されることを理解されたい。各エンコーダ・ブロック（すなわちＧａエンコーダ・ブロック２２８、Ｈａエンコーダ・ブロック２３０、Ｆａエンコーダ・ブロック２３２、Ｊａエンコーダ・ブロック２３４、およびＫａエンコーダ・ブロック２３６（図１２））から提供され、各サブワード中で使用される５つのＬＳＢは、固有である。この特性を復号論理の設計に用いる。
【００８０】
図１８には、デコーダ１７４（図８）がより詳細に示されている。図１８を参照すると、デコーダ・ブロックのうちの１つ（Ｇ’復号ブロック２７８、Ｈ’復号ブロック２８０、Ｆ’復号ブロック２８２、Ｊ’復号ブロック２８４、またはＫ’復号ブロック２８６）において５つのＬＳＢの有効ライン状態が検出されるとき、これは、すべてのデコーダ・ブロックにわたる唯一の有効入力ライン状態となる。この有効入力ライン状態が検出されることによって復号ｍｕｘ２９２が駆動され、復号ｍｕｘ２９２は、この有効ライン状態を生成した復号ブロックを選択する。
【００８１】
図１９に、図１８に示したデコーダ・ブロックによって採用される、符号化済みサブワード（ｘ＝ａ）２７６についての真理表を示す。図１９を参照すると、復号用の反転真理表が生み出され、Ｇ’復号真理表２７８ａは、Ｇａ符号化真理表２２８ａ（図１３）によって行われた符号化を復号するのに使用される。Ｈ’復号真理表２８０ａは、Ｈａ符号化真理表２３０ａ（図１３）によって行われた符号化を復号するのに使用される。Ｆ’復号真理表２８２ａは、Ｆａ符号化真理表２３２ａ（図１３）によって行われた符号化を復号するのに使用される。Ｊ’復号真理表２８４ａは、Ｊａ符号化真理表２３４ａ（図１３）によって行われた符号化を復号するのに使用される。Ｋ’復号真理表２８６ａは、Ｋａ符号化真理表２３６ａ（図１３）によって行われた符号化を復号するのに使用される。同様にして、サブワードｂおよびｃについての復号真理表が、対応する符号化真理表に基づいて生み出される。
【００８２】
サブワードａの復号真理表２９６（図１９）、サブワードｂの復号真理表２９８（図２０）およびサブワードｃの復号真理表３００（図２１）の中で使用される規則は、以下のとおりである。
Ａ・Ｂ  ＡとＢが両方とも真である。
Ａ＋Ｂ  ＡとＢのいずれか、またはＡとＢの両方が真である。
ｘｏｒ  ＡまたはＢだけが真であり、ＡとＢの両方が真なのではない。
Ａ＿  Ａの値を反転する
【００８３】
先の例に戻ると、ｍｕｘ２９２（図１８）が所与の固有ライン状態に対して適切な復号ブロックを選択した場合、先に挙げた規則を用いた対応する真理表のエントリから復号済みサブワードが決定される。
【００８４】
例えば、有効ライン状態によりｍｕｘ２９２（図１８）がＧ’復号真理表２７８ａ中の第１エントリを選択した場合、返される復号済みの値は「０００Ｅａ５＿００」になり、Ｅａ＿５は符号化済みビットの反転を示す。
【００８５】
符号マッピングは、反転に関して対称性があるように選択される。符号化済みサブワードは、述べたように復号することもでき、あるいは、符号化済みサブワードが反転される場合は、述べたように復号してから反転することにより正しい復号済みサブワードが得られる。したがって、「反転−復号−反転」により、「復号」と同じ結果がもたらされる。
【００８６】
図１９を参照すると、反転論理２９０ａは、符号化済みサブワードｃ２２０（図１６）の重みが５に等しいとき、反転符号化された結果２９０（図１８）を信号で送ることによって復号済みサブワード（ｘ＝ａ）２９４（図１８）を反転する。
【００８７】
図２０に、図１８に示したデコーダ・ブロックによって採用される、符号化済みサブワードｂ（ｘ＝ｂ）２７６についての真理表を示す。図２０を参照すると、復号用の反転真理表が生み出され、Ｇ’復号真理表２７８ｂは、Ｇｂ符号化真理表２４４ｂ（図１５）によって行われた符号化を復号するのに使用される。Ｈ’復号真理表２８０ｂは、Ｈｂ符号化真理表２４６ｂ（図１５）によって行われた符号化を復号するのに使用される。Ｆ’復号真理表２８２ｂは、Ｆｂ符号化真理表２４８ｂ（図１５）によって行われた符号化を復号するのに使用される。Ｊ’復号真理表２８４ｂは、Ｊｂ符号化真理表２５０ｂ（図１５）によって行われた符号化を復号するのに使用される。Ｋ’復号真理表２８６ｂは、Ｋｂ符号化真理表２５２ｂ（図１５）によって行われた符号化を復号するのに使用される。
【００８８】
反転論理２９０ｂは、符号化済みサブワードｃ２２０（図１６）の重みが５のとき、またはサブワードａ２１２（図１２）の重みが２の場合に、復号済みサブワード（ｘ＝ｂ）２９４（図１８）を反転する。
【００８９】
図２１に、図１８に示したデコーダ・ブロックによって採用される、符号化済みサブワード（ｘ＝ｃ）２７６についての真理表を示す。同様にして、サブワードｃについての復号真理表が、対応する符号化真理表に基づいて生み出される。図２１を参照すると、復号用の反転真理表が生み出され、Ｇ’復号真理表２７８ｃは、Ｇｃ符号化真理表２６０ｃ（図１７）によって行われた符号化を復号するのに使用される。Ｈ’復号真理表２８０ｃは、Ｈｃ符号化真理表２６２ｃ（図１７）によって行われた符号化を復号するのに使用される。Ｆ’復号真理表２８２ｃは、Ｆｃ符号化真理表２６４ｃ（図１７）によって行われた符号化を復号するのに使用される。Ｊ’復号真理表２８４ｃは、Ｊｃ符号化真理表２６６ｃ（図１７）によって行われた符号化を復号するのに使用される。Ｋ’復号真理表２８６ｃは、Ｋｃ符号化真理表２６８ｃ（図１７）によって行われた符号化を復号するのに使用される。
【００９０】
反転論理２９０ｃは、符号化済みサブワードａ２１２（図１２）の重みが２に等しいとき、復号済みサブワード（ｘ＝ｃ）２９４（図１８）を反転する。
【００９１】
図２２は、二進数を符号化するための代替実施形態である。図２２を参照すると、二項係数行列の符号化３０２は、０〜１９の範囲の整数に対し、十進数の値３０４と二進数の値３０６と符号化済みの値３０８とを比較しながら二項式符号化の結果を示している。
【００９２】
図２３は、二項展開の原理を用いて二進数を符号化する代替実施形態である。図２３の３１０を参照すると、すべての二項係数に以下の再帰関係が当てはまる。
（ｎ）p＝（ｎ−１）p＋（ｎ−１）p-1
【００９３】
ｎは符号化済みコードワードの長さであり、ｐは符号化済みコードワード中の１の個数である。この再帰関係は、ｎビット・コードワードの重みｐのスパンを隣接する２つのサブ範囲に区分化する。コードブックの解釈は次のとおりである。第１のサブ範囲は、ｎ番目のビット位置に０を有し、残りのｎ−１個のビット位置にｐ個の１を有するコードワードである。このようなコードワードは、残りのｎ−１ビット位置に一定重みのｐ個の１を有するｎビット・コードワード中に（ｎ−１）p個ある。このようなコードワードは、一定重みｐのｎビット・コードワード中に（ｎ−１）p個ある。第２の範囲は、ｎ番目のビット位置に１を有し、残りのｎ−１ビット位置にｐ−１個の１を有するコードワードを定義する。これらのコードワードは、一定重みｐのｎビット・コードワード中に（ｎ−１）p-1個ある。
【００９４】
二進数の情報内容を一定重みｐのｎビット・コードワードに変換するために、この二進数を（ｎ−１）pと比較する。二進数の方が小さい場合は、ｎ番目のビットを０にセットする。二進数の方が大きい場合は、ｎ番目のビットを１にセットする。この手順は、次の３つの制約と共に再帰的に適用される。
【００９５】
１．ｎ番目のビットを１にセットする場合、元の二進数を、一定重みｐ−１のｎ−１ビット・コードワードとして計算できる数値範囲に数値的に下方調整しなければならない。この数値調整は、（ｎ−１）pを引くことによって行う。
２．このアルゴリズムは、すべてが０の二進数コードワードには機能しない。
これを補償するために、すべての二進数を１だけ増加させるか、すべてが０のコードワードを（ｎ）p+1などの未使用二進数値にマッピングすることができる。
３．負ではない任意の整数値ｎに対し、３５（ｎ）0は１に等しい。
４．（ｎ）pは、ｐがｐよりも大きい場合は０に等しい。
【００９６】
変換プロセスの速度を上げるために、二項係数を事前に計算して、それらを図２３の３１０に示すような表またはコードブックに記憶することが望ましい。６ビットの二進数５７を、重み４である８ビットの一定重み符号に符号化するプロセスは、次のとおりである。最初のステップは、５８を（７）4と比較することであり、これは図２３の表中の３１２に見られ、数値３５を返す。この場合、第１ビットが１に設定され、５８−３５＝２３を（６）3と比較することによりアルゴリズムが再帰的に適用される。元の数５８が２３にシフトして小さくなり、コードワード長とコードワード中の残りの１の個数が両方とも１だけ減少することに留意されたい。
【００９７】
（６）3の値はコードブック中の３２０で見つかる。この数値は２０である。この場合、第２ビットが１にセットされ、２３−２０＝３を（５）2と比較することによりアルゴリズムが再帰的に適用される。次の３つの反復は、（５）2、（４）2、（３）2に対してであり、コードブック中の位置３２６、３３０、３３４に見られる。各反復で、値は３よりも大きく、したがって次の３つのビットはすべて０である。コードブック中の３３８における（２）2では、値は１であり、これは３よりも小さい。新しい数は３−１＝２であり、コードワード長とコードワード中の残りの１の個数が１だけ減少し、６番目のビットが１にセットされる。比較すべき次の値は３４９における（１）1であり、これは２よりも大きい。新しい数は２−１＝１であり、コードワード長とコードワード中の残りの１の個数が１だけ減少し、７番目のビットが１にセットされる。比較すべき次の値は（０）1であり、これは１に等しい。８番目のビットが０にセットされ、アルゴリズムは停止する。数値５８の変換の結果は、図２３の３１０ｂに示すようにコードワード１１０００１１０となる。この値は、数がコードブック・エントリよりも大きかったときはコードブック・エントリの合計に等しいことに留意されたい。
１１０００１１０＝（７）4＋（６）3＋（２）2＋（１）1＝３５＋２０＋２＋１＝５８
【００９８】
以上の明細書において、本発明をその具体的な実施形態に関して述べた。ただし、本発明のより広範な範囲および趣旨を逸脱することなく本発明に様々な修正および変更を加えることができることは明白であろう。したがって、本明細書および図面は、限定的ではなく例示的な意味で考えるべきである。
【図面の簡単な説明】
【図１】複数のサブワード・パスと、サブワード・パス間の情報共用とを、入力データ・ワードから符号化済みデータ・ワードへのフローと共に示す図である。
【図２】一定重みの符号化済みデータ・ワードを生み出すのに共用情報の概念を適用する図である。
【図３】二進数の特性である二項展開を示す図であって、二進数ワード中の要素の数ｎと、二進数ワードの重みｐと、選択された重みｐおよび二進数ワード・サイズｎの場合に利用可能な固有状態の数との関係を示す図である。
【図４】関係のある二進数特性を要約した表であり、一定重みの符号化を達成するのに必要な最小限の追加ラインの数を示す表である。
【図５】情報を各サブワードと得られる符号化済みワードの重みとに分散させ、サブワード間で情報を共用せずに得られるサブワード内並列符号化を示す符号−重みベクトル・ツリーである。
【図６】情報をサブワードならびにサブワードの重みに分散させ、情報をサブワード間で共用し、次いで、共用情報を使用して一定重みの符号化済みデータ・ワードを達成する、サブワード内の並列符号化を示す符号−重みベクトル・ツリーである。
【図７】汎用データ処理システム内における本発明の適用を示す図である。
【図８】本発明を採用する並列データ・ライン・バス上の２つのデバイスを詳細に表した図である。
【図９】１ビットの情報を送信するのに必要なラインが２本未満である、本発明による符号化済み並列データ・ラインの終端を示す図である。
【図１０】１ビットの情報を送信するのに２本のラインが必要である、従来技術における差分アーキテクチャの並列データ・ラインの終端を示す図である。
【図１１】１８ビットのデータ・ワードを符号化する特定の場合にエンコーダに適用される本発明の最良のモードを示す一実施形態の図である。
【図１２】本発明によりサブワードａに適用される符号化のさらに詳細な図である。
【図１３】図１２に示したエンコーダ・ブロックによって採用される真理表を示す図である。
【図１４】本発明によりサブワードｂに適用される符号化のさらに詳細な図である。
【図１５】図１４に示したエンコーダ・ブロックによって採用される真理表を示す図である。
【図１６】本発明によりサブワードｃに適用される符号化のさらに詳細な図である。
【図１７】図１６に示したエンコーダ・ブロックによって採用される真理表を示す図である。
【図１８】サブワードａ、ｂ、ｃを指す総称的なサブワードｘに適用される復号の詳細を示す図である。
【図１９】図１８に示したデコーダ・ブロックによって採用される、サブワードａについての真理表を示す図である。
【図２０】図１８に示したデコーダ・ブロックによって採用される、サブワードｂについての真理表を示す図である。
【図２１】図１８に示したデコーダ・ブロックによって採用される、サブワードｃについての真理表を示す図である。
【図２２】二項係数行列符号化を用いて、０〜１９の範囲の整数の場合に十進数の値と二進数の値と符号化済みの値とを比較する、符号化に対する代替実施形態を示す図である。
【図２３】十進数の値５８に対する二項係数行列符号化の一例を示す図である。
【符号の説明】
２  データ・ワード
４  データ・サブワード
６  データ・サブワード
８  サブワード・パス
１０  サブワード・パス
１２  エンコーダ
１４  エンコーダ
１６  共用情報
１８  符号化済みデータ・サブワード
２０  符号化済みデータ・サブワード
２２  符号化済みデータ・ワード
【図１】
0004617039.tif 000004
【図２】
0004617039.tif 000005
【図３】
0004617039.tif 000006
【図４】
0004617039.tif 000007
【図５】
0004617039.tif 000008
【図６】
0004617039.tif 000009
【図７】
0004617039.tif 000010
【図８】
0004617039.tif 000011
【図９】
0004617039.tif 000012
【図１０】
0004617039.tif 000013
【図１１】
0004617039.tif 000014
【図１２】
0004617039.tif 000015
【図１３】
0004617039.tif 000016
【図１４】
0004617039.tif 000017
【図１５】
0004617039.tif 000018
【図１６】
0004617039.tif 000019
【図１７】
0004617039.tif 000020
【図１８】
0004617039.tif 000021
【図１９】
0004617039.tif 000022
【図２０】
0004617039.tif 000023
【図２１】
0004617039.tif 000024
【図２２】
0004617039.tif 000025
【図２３】
0004617039.tif 000026