(57)【要約】【課題】高速且つ電力消失の少ないデジタル信号処理が可能な信号処理方法および装置を提供すること。【解決手段】本発明が提供するデジタル信号を処理する方法は、複数の信号を、ワンホットＲＮＳ形式で物理的に表記された複数のＲＮＳ桁を有するＲＮＳ数としてそれぞれ表現するステップ（ａ）と、ワンホットＲＮＳ形式で入力を受け取り、ワンホットＲＮＳ形式で出力を提供する処理回路部を用いて該信号を処理するステップ（ｂ）とを有する。【選択図】図２
2007181236.tif 000002
【特許請求の範囲】
【請求項１】
複数の信号を、ワンホットＲＮＳ形式で物理的に表記された複数のＲＮＳ桁を有するＲＮＳ数としてそれぞれ表現するステップ（ａ）と、
ワンホットＲＮＳ形式で入力を受け取り、ワンホットＲＮＳ形式で出力を提供する処理回路部を用いて該信号を処理するステップ（ｂ）と
を包含する信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号を処理する方法および装置に関する。
【背景技術】
【０００２】
デジタルフィルタ等のデジタル信号処理回路のアーキテクチャは、当該分野に
おいて様々なものが公知である。これらのアーキテクチャは、そのほとんどが従
来の２進数記数方式によってパラメータおよび信号を表すものであるが、中には
、剰余数記数方式(Residue Number System)(以下、ＲＮＳ)を用いてパラメータ
および信号の両方を表すものもある。ＲＮＳ表記の利点は、フィルタ処理および
信号検出等において基本的な演算である乗算、加算および減算等の演算が非常に
高速に行えることである。これは、２進数記数方式とは対照的に、上記演算の際
にキャリーが不要である（桁間の繰り上げ／繰り下げを行う必要がない）ことに
起因する。従来の記数方式に対するＲＮＳ方式の利点は、この処理速度に関する
利点であることが文献に報告されている。
【０００３】
ＲＮＳ表記の場合、ある数Ｘは、以下のように、それぞれ範囲が限定された複
数の桁によって表される。
【０００４】
Ｘ＝ｘma、ｘmb、．．．、ｘmN
但し、
Ｘ＝整数
であり、ｘma、ｘmb、．．．、ｘmNは、整数ＸをＲＮＳ表記した場合のそれぞれ
の桁である。また、
ｘma＝Ｘｍｏｄ（ｍa）＝（Ｘをｍaで割った余り）
であり、この余りはｍaよりも小さい。また、
ｘmb＝Ｘｍｏｄ（ｍb）＝（Ｘをｍbで割った余り）
である（Ｘmc以降も同様）。さらに、ｍa、ｍb、．．．、ｍNは、整数ＸをＲＮ
Ｓ表記したときの各桁に関連するモジュラス(整数)であり、各モジュラスの値は
異なる。
【０００５】
これらのモジュラスが互いに素である場合、即ち、どのモジュラスでも割り切
れる最小の数が全モジュラスの積に等しい場合、任意のＲＮＳ形式Ｘ＝ｘma、ｘ
mb、．．．、ｘmNで個別に表記できる数の範囲はｍa×ｍb×．．．×ｍNである
。ここでは、１つのモジュラスが繰り返して用いられることはないものとしてい
る。但し、偶数や完全平方の可能性を排除するものではない。例えば、３、４、
５の場合、４は偶数且つ完全平方であるが、３、４、５の全てで割り切れる最小
の数は６０であるから、３、４、５は互いに素である。
【０００６】
上記方法の一例として、表１に示されるＲＮＳの例について考察を行う。この
例では、各整数は３つのＲＮＳ桁ｘ3、ｘ5、ｘ7によってＲＮＳ表記される。各
桁の添字は関連するモジュラスの値である。この３、５、７ＲＮＳでは、３×５
×７＝１０５個の個別の整数を区別することができる。表１から分かるように、
０〜１０４の範囲内ではＲＮＳ表記の繰り返しはないが、この範囲を１０５以上
に拡張する場合には、このシーケンス全体が繰り返される。
【０００７】
【表１】
2007181236.tif 000003
【０００８】
ＲＮＳ方式の動作の例として、整数１４を考える。ｘ3桁は、１４ｍｏｄ（３
）＝余り２（即ち、１４／３＝４余り２）、ｘ5桁は、１４ｍｏｄ（５）＝余り
４（即ち、１４／５＝２余り４）、ｘ7桁は、１４ｍｏｄ（７）＝余り０（即ち
、１４／７＝２余り０）である。ＲＮＳ表記においては、どの桁も他の桁を参照
せずに決定される。
【０００９】
この３、５、７ＲＮＳ表記を用いて１０５〜２０９の数を個別に表すこともで
きる。しかし、１０５〜２０９の範囲の中の任意の２数の加算、減算および乗算
の結果はいずれも１０５〜２０９の範囲外の値になってしまう。そのような場合
、本発明のスキームをデジタル信号処理に使用できなくなる。しかし、デジタル
信号処理に関して特に注目すべきことは、負の数の導入である。負の数を導入す
る際には、ＲＮＳ方式で表記可能な数の範囲を制限して、正と負の数が同数ある
いは実質的に同数になる様に選択し、処理されるほとんどの信号の平均値が実質
的に０となるようにあるいは０にできるようにする。このような３、５、７ＲＮ
Ｓ方式の割り付けの一例を表２に示す。このＲＮＳによっても、−５２〜＋５２
の１０５個の数が個別に表記できる。但し、５３以上および−５３以下では、表
記が繰り返される。また、ＲＮＳにおいては、数の正負に応じて別の符号を付け
るのではなく、ＲＮＳの方式および範囲を選択した時点で、それらの桁自身によ
って符号が決まる。最後に、ある整数をＲＮＳ形式で表した場合、その整数に対
するＲＮＳ表記の桁が１つでも欠けていれば、その整数の符号さえも決定できな
くなる。
【００１０】
【表２】
2007181236.tif 000004
【００１１】
ＲＮＳ加算を行う場合、２つのＲＮＳ数の対応するＲＮＳ桁同士を加算し、そ
れぞれの和に適切なモジュロ演算を行う。
【００１２】
例）    整数            ＲＮＳ
８          ２３１
＋４ ＋１４４
１２          ３７５
ここで、３ｍｏｄ（３）＝０且つ７ｍｏｄ（５）＝２である。よって、和３７
５の（当該ＲＮＳ方式による）ＲＮＳ数は０２５となる。これは、整数１２を表
している（表２参照）。
【００１３】
減算についても同じ手順で行うが、「残差」にモジュラスを加えて「残差」を
０〜（各モジュラス−１）の範囲内の値にする必要がある。
【００１４】
例）    整数            ＲＮＳ
８          ２３１
−１３ １３６
−５          １０-5
ここで、適切なモジュラス７を−５に加えると、「残差」は２となる。よって
、＋８から＋１３を引いた（当該ＲＮＳ方式による）ＲＮＳ数は１０２となる。
これは、整数−５を表している（表２参照）。
【００１５】
負の数を扱う加算の場合も、正の数の加算と同様の手順で行う。
【００１６】
例）    整数            ＲＮＳ
８          ２３１
−１３ ２２１
−５          ４５２
ここで、４ｍｏｄ（３）＝１且つ５ｍｏｄ（５）＝０である。よって、＋８に
−１３を加えた（当該ＲＮＳ方式による）ＲＮＳ数は１０２となる。これも、整
数−５を表している（表２参照）。
【００１７】
最後に、乗算を行う場合について、以下の例を考える。
【００１８】
例）    整数            ＲＮＳ
−３          ０２４
−４ ２１３
１２          ０２12
ここで、１２ｍｏｄ（７）＝５である。よって、（−３）×（−４）の（当該
ＲＮＳ方式による）ＲＮＳ数は０２５となる。これも、整数１２を表している（
表２参照）。
【００１９】
上記のように、あるＲＮＳ方式を用いて、そのＲＮＳ形式で表現された正負の
数に対して加算、減算および乗算を行うことが可能であることが分かる。ここで
最も注目すべき点は、他のＲＮＳ桁の演算結果を参照することなく、各ＲＮＳ桁
について演算が独立して行われることである。ＲＮＳ計算の高速性は、演算の際
に「キャリーが不要」である性質に起因する。一方、従来の計算方法で乗算、加
算あるいは減算を行う場合、ある桁の演算結果は、それより下位の桁の演算結果
が出るまで最終決定できない。
【００２０】
また、ある限定条件の下に、ＲＮＳ方式を用いて除算を行うことも可能である
。以下に、ＲＮＳ方式による除算の原則を説明する。ある整数ＸをＲＮＳ表記し
た場合の１つの桁ｘについて、
Ｘ＝ｍ×Ｎ＋ｘ
但し、
ｍ＝当該桁のモジュラス（正の整数）、
Ｎ＝整数（Ｘが負の場合、負の整数となる）、
ｘ＝当該ＲＮＳ桁の値（Ｘからｍ×Ｎを引いた余りであり、０≦ｘ≦
ｍ−１）
である。
【００２１】
すべての独立ＲＮＳ桁について、その桁自身の値であるｘだけが分かっている
。１つの桁だけのｘが分かっていても、その桁のＸあるいはＮは分からない。
【００２２】
Ｘについての上記等式は、以下に示すように多様な書き方ができる。
【００２３】
Ｘ＝ｍ×Ｎ＋ｘ
Ｘ＝ｍ×（Ｎ−１）＋（ｘ＋ｍ）
Ｘ＝ｍ×（Ｎ−２）＋（ｘ＋２×ｍ）
Ｘ＝ｍ×（Ｎ−３）＋（ｘ＋３×ｍ）
．．．．．．．．
Ｘ＝ｍ×（Ｎ−ｎ）＋（ｘ＋ｎ×ｍ）
．．．．．．．．
但し、ｎ＝任意の正の整数である。
【００２４】
以下に示す２つの条件が満たされる場合には、各ＲＮＳ桁毎の除算を行うこと
ができる。（この２つの条件を満たすかどうかについては、以下で、場合に応じ
て説明する）。
【００２５】
１）Ｘが整数の除数ｄによっても割り切れること（余り＝０）。この場
合、明らかにＸ／ｄは整数であり、Ｘと同じＲＮＳ方式を用いてＲＮＳ形式で表
現できる。
【００２６】
２）除数および各ＲＮＳ桁のモジュラスは互いに素であること。
【００２７】
Ｘについての上記の等式を用いれば、以下の等式のいずれかによってＸ／ｄを
従来の記数方式で表現することが可能である。
【００２８】
Ｘ／ｄ＝ｍ×Ｎ／ｄ＋ｘ／ｄ
Ｘ／ｄ＝ｍ×（Ｎ−１）／ｄ＋（ｘ＋ｍ）／ｄ
Ｘ／ｄ＝ｍ×（Ｎ−２）／ｄ＋（ｘ＋２×ｍ）／ｄ
Ｘ／ｄ＝ｍ×（Ｎ−３）／ｄ＋（ｘ＋３×ｍ）／ｄ
．．．．．．．．
Ｘ／ｄ＝ｍ×（Ｎ−ｎ）／ｄ＋（ｘ＋ｎ×ｍ）／ｄ
．．．．．．．．
ここで、Ｘ／ｄは整数であるから、もし、（ｘ＋ｎ×ｍ）／ｄが整数となるよ
うなｎの値が存在するならば、ｍ×（Ｎ−ｎ）／ｄも整数である。よって、ｍ×
（Ｎ−ｎ）は因数ｄを必ず含む。ｍはｄに対して素であると仮定しているので、
（Ｎ−ｎ）は因数ｄを必ず含み、よって、（Ｎ−ｎ）／ｄも同様に整数である。
【００２９】
さらに、唯一の値ｎについて（ｘ＋ｎ×ｍ）／ｄが０〜（ｍ−１）の範囲の整
数であれば、Ｘ／ｄ＝ｍ×（Ｎ−ｎ）／ｄ＋（ｘ＋ｎ×ｍ）／ｄは以下の等式の
形をとる。
【００３０】
Ｘ／ｄ＝ｍ×Ｎd＋ｘd
但し、Ｎd＝（（Ｘ／ｄ）／ｍの整数値）＝（Ｎ−ｎ）／ｄ、
ｘd＝（ｘ＋ｎ×ｍ）／ｄ＝（Ｘ／ｄのＲＮＳ表記における当該ＲＮ
Ｓ桁の値）
である。
【００３１】
ｍ、ｄが互いに素であれば、証明を行わなくとも、（ｘ＋ｎ×ｍ）／ｄが０〜
（ｍ−１）の範囲の整数となるような唯一の値ｎが存在すると言える。
【００３２】
以下に例を示して、ｄで割り切れる数ＸをＲＮＳ表記したときのモジュラスが
５である桁（以下、「モジュラス５ＲＮＳ桁」）について考える。まず、５６÷
７＝８の場合を考える。５６のモジュラス５ＲＮＳ桁ｘの値は１であり、８のモ
ジュラス５ＲＮＳ桁ｘdの値は３である。よって、ｘ＝１であり、ｘdは３となる
はずである。ｘからは分からないが、Ｎ＝（５６／５の整数値）＝１１である。
ｎ＝０〜４の範囲においてｘd＝（ｘ＋ｎ×ｍ）／ｄがとり得る値、およびＮd＝
（Ｎ−ｎ）／ｄがとり得る値を以下の表３に示す。
【００３３】
【表３】
2007181236.tif 000005
【００３４】
上記の例では、５６を７で割る場合のみを示したが、数Ｘが７で割り切れ且つ
そのモジュラス５ＲＮＳ桁が１である場合、いかなる数Ｘについても表３の第２
欄および第３欄は同じである。モジュラス５ＲＮＳ桁を持つどのＲＮＳ方式にお
いても、７で割り切れる数ＸをＲＮＳ表記した場合のモジュラス５ＲＮＳ桁の値
が１である場合、Ｘ÷７の演算結果をＲＮＳ表記したときのモジュラス５ＲＮＳ
桁の値は常に３である。Ｘのモジュラス５ＲＮＳ桁の値が他の値、０、２、３、
４（それぞれｘd＝０、１、４、２に対応）のいずれかである場合も、同じ手順
で、Ｘ／７のモジュラス５ＲＮＳ桁の値を求めることができる。
【００３５】
無論、除数と各桁のモジュラスとが互いに素であり且つＸ／ｄが整数であるこ
とが分かっている場合、一般の除算にも、この方法を容易に拡張できる。また、
この方法は負の数についても適用可能である。例えば、−４９÷７の場合を考え
る。−４９のモジュラス５ＲＮＳ桁も１である。よって、前記と同様に、演算結
果をＲＮＳ表記したときのモジュラス５ＲＮＳ桁の値は３である。これは、−７
をＲＮＳ表記したときのモジュラス５ＲＮＳ桁と同じである。
【００３６】
以下に示すように、ｄの「乗法的逆数(multiplicative inverse)」と呼ばれる
数をｘに掛けるＲＮＳ乗算を用いてｘdを直接求めることも可能である。（ｘ＋
ｎ×ｍ）／ｄ＝ｘdであるので、
ｘ＋ｎ×ｍ＝ｘd×ｄ
となり、この等式の両辺にある整数Ｉdmをかけると、
ｘ×Ｉdm＋ｎ×ｍ×Ｉdm＝ｘd×ｄ×Ｉdm
となる。ここで、両辺のｍｏｄ（ｍ）をとると、
（ｘ×Ｉdm＋ｎ×ｍ×Ｉdm）ｍｏｄ（ｍ）＝（ｘd×ｄ×Ｉdm）ｍｏｄ
（ｍ）
となる。
【００３７】
上記等式の左辺のｎ×ｍ×Ｉdm項はモジュラスｍの整数倍であるので、このｎ
×ｍ×Ｉdm項を落とすことができる。さらに、右辺に対してさらにｍｏｄ（ｍ）
演算を行っても結果は変わらないので、
ｘ×Ｉdmｍｏｄ（ｍ）＝［ｘd×（ｄ×Ｉdmｍｏｄ（ｍ））］ｍｏｄ（
ｍ）
となる。
【００３８】
もし、
ｄ×Ｉdmｍｏｄ（ｍ）＝１
となるような整数Ｉdmを求めることができれば、
ｘ×Ｉdmｍｏｄ（ｍ）＝ｘdｍｏｄ（ｍ）＝ｘd
となる。
【００３９】
この場合、Ｉdmは、モジュラスｍについてのｄの乗法的逆数である。ｄがｍに
対して素であれば、乗法的逆数（以下、ｄm-1と表記する）が存在する（ここで
は証明は行わない）。
【００４０】
モジュラスｍについてのｄの乗法的逆数ｄm-1を求める際に、下記に示す整数
ｄm-1を全整数から検索する必要はない。
【００４１】
ｄ×ｄm-1ｍｏｄ（ｍ）＝１
もし、ｄm-1が存在するならば、
［ｄ×（ｄm-1ｍｏｄ（ｍ））］ｍｏｄ（ｍ）＝１
もまた真である。
【００４２】
ｄｍｏｄ（ｍ）が与えられれば、１〜（ｍ−１）の範囲を検索するだけでモジ
ュラスｍについてのｄの逆数（逆数は０ではあり得ない）を求めることができる
。
【００４３】
ｄｍｏｄ（ｍ）＝０である場合、乗法的逆数は求められない。無論、ｄｍｏｄ
（ｍ）＝０の場合、ｄとｍとは互いに素ではなくなり、上記除法の２条件の一方
は満たされていない。
【００４４】
上述の通り、あるｄという数によって除算を行う代わりに、ｄの乗法的逆数で
あるｄm-1を用いて乗算を行うことが可能である。乗法的逆数について説明する
ために、あるＲＮＳ数のモジュラス５桁について、１３による除算を考える。モ
ジュラス５桁の値は０、１、２、３あるいは４である。１３による除算を行う前
記第１の方法を用いて、当該ＲＮＳ桁の値にモジュラス５を繰り返し加えて１３
で割り切れる和を得ることが可能である。この観点から、以下の表４に示される
様にさらに１３で割り切れて０、１、２、３あるいは４の結果を生じるような数
は１つしかない。
【００４５】
【表４】
2007181236.tif 000006
【００４６】
しかしながら、モジュラス５桁の値を２倍しても同じ結果となる。よって、モ
ジュラス５桁に関して、１３による除算は２による乗算と同じである。等式
ｄm-1×ｄｍｏｄ（ｍ）＝１
を用いれば、
１３5-1×１３ｍｏｄ（５）＝１
であり、結局、
１３5-1＝２
である。
【００４７】
ＲＮＳ方式の加算、減算および乗算については、キャリーが不要であるため簡
単且つ高速に実行できる。しかし、２進数記数方式では簡単且つ高速に行えるの
にＲＮＳ方式では面倒になる演算もある。例えば、２進数方式による打ち切り(t
runcation)は、打ち切る数の最下位桁（最小重み桁）を単に落とすだけの演算で
あるのに、ＲＮＳ方式の各桁は相対的な重みを持たないため、打ち切りを行う際
には問題が伴う。
【００４８】
その他、除算、スケーリング(scaling)（固定因数による除算）、符号検出、
比較およびダイナミックレンジの拡張(dynamic range extension)等もＲＮＳ記
数方式では困難な演算である。これらは２進数を用いれば簡単な演算であるので
、ＲＮＳ形式の数を２進数に一旦変換し、その２進数に対して演算を行い、その
後必要に応じてＲＮＳ形式の数に再変換するという方法が、原理的には可能であ
る。（比較および符号検出はその結果もそれら自身となるため、演算を行ったＲ
ＮＳ数をＲＮＳ形式で保存しておいて後で用いてもよい。）しかし、ＲＮＳ表記
された数を変換する場合、２進数表記よりも、関連混合基数(Associated Mixed 
Radix)（以下、ＡＭＲ）表記の方が、対応する数がより自然に求められる。
【００４９】
２進数あるいは１０進数と同様に、混合基数方式による数は、相対的に重みが
異なる桁によって表現される。しかし、２進数あるいは１０進数と異なる点は、
ある桁の重みが１つ下位の桁の重みの固定倍数（「基数」）ではないことである
。
【００５０】
１０進数の基数は１０である。最下位桁は０〜９の範囲の値を取る。１つ上位
の桁も０〜９の値を取るが、この桁の重みは１０である。もう１つ上位の桁の重
みは１００となり、１つ下位の桁の重みの１０倍である（以降の桁についても同
様）。２進数の基数は２である。最下位の２進数桁は０〜１の値を取る。１つ上
位の２進数桁も０〜１の値を取るが、この桁の重みは２である。もう１つ上位の
桁の重みは４となり、１つ下位の桁の重みの２倍である（以降の桁についても同
様）。
【００５１】
混合基数方式の場合、基数が桁毎に異なる。まず、正の数のみを考えると、最
下位桁は０〜（ｐ−１）の値を取る。その１つ上位の桁の重みは「ｐ」であるが
、この桁は０〜（ｑ−１）の値を取る（ただし、一般に、「ｑ」は「ｐ」に等し
くない）。次の桁における重みは、この桁の重み×「ｑ」（即ち、「ｐ」×「ｑ
」）であり、そのとり得る値の範囲は、０〜「また別の最大値」、となる。
【００５２】
ここで、整数Ｘを混合基数表記したときの基数と、整数ＸをＲＮＳ表記したと
きのモジュラスｍ1、ｍ2、．．．とを等しくした場合（即ち、「関連」させた混
合基数表記）に注目したい。最下位桁がとり得る値の範囲は０〜（ｍ1−１）（
但し、ｍ1はＲＮＳモジュラスの１つ）である。尚、以下の記載において、表記
方法が変わっていることに留意されたい。以下、添字は、モジュラスの値を示す
ものではなく、単に、ＲＮＳ表記の桁を区別するだけのものである。次のＡＭＲ
桁の重みはｍ1であり、その値の範囲は０〜（ｍ2−１）である（以降の桁につい
ても同様）。よって、整数ＸをＡＭＲ形式で表現すると以下のようになる。
【００５３】
Ｘ＝ａ1＋ａ2×ｍ1＋ａ3×（ｍ1×ｍ2）＋ａ4×（ｍ1×ｍ2×ｍ3）＋．．．
但し、ａ1、ａ2、．．．は各ＡＭＲ桁の値である。ここで、ＡＭＲ表記によって
表記される数Ｘの範囲は、ＲＮＳ表記によって表記される数Ｘの範囲と同じであ
る。例えば、４つのＡＭＲ桁（ａ1、ａ2、ａ3、ａ4）を想定した場合、Ｘの範囲
は、０〜Ｘmaxとなる。但し、
Ｘmax＝（ｍ1−１）＋（ｍ2−１）×ｍ1＋（ｍ3−１）（ｍ1×ｍ2）
＋（ｍ4−１）×（ｍ1×ｍ2×ｍ3）＝ｍ1×ｍ2×ｍ3×ｍ4−１
である。
【００５４】
ＡＭＲ桁ａ1、ａ2、．．．の値は、以下の方法を用いて、ＸのＲＮＳ表記から
得ることができる。
【００５５】
ここで、モジュラスｍ1、ｍ2、．．．、ｍNに対してｘ1、ｘ2、．．．、ｘNと
ＲＮＳ表記される整数Ｘを考えると、Ｘは、
Ｘ＝ａ1＋ａ2×ｍ1＋ａ3×ｍ1×ｍ2＋．．．＋ａN×ｍ1×ｍ2×．．．
×ｍN-1
とも表現される。但し、ａ1、ａ2、．．．はｘ1、ｘ2、．．．の関数である。
【００５６】
上記等式の両辺のｍｏｄ（ｍ1）をとると、
Ｘｍｏｄ（ｍ1）＝（ａ1＋ａ2×ｍ1＋．．．＋ａN×ｍ1×．．．×ｍN-
1）ｍｏｄ（ｍ1）
となる。
【００５７】
すると、上記等式の左辺は、単に、ｘ1となる。またｍ1は上記等式の右辺の第
１項を除く全ての項の因数であるので、第１項を除くこれら全ての項を落とすこ
とができる。よって、
ｘ1＝ａ1ｍｏｄ（ｍ1）＝ａ1
である。
【００５８】
ここで、ＲＮＳ減算によってＸからａ1を引いて、ＲＮＳ除算によってその減
算の結果をｍ1で割ると、その結果Ｘ’はＲＮＳ形式で以下のように表される。
【００５９】
Ｘ’＝（Ｘ−ａ1）／ｍ1＝ａ2＋ａ3×ｍ2＋．．．＋ａN×ｍ2×．．．
×ｍN-1
Ｘからａ1を引くことによって、ＸのＲＮＳ表記に使用したｘ1桁の値が０にな
る。これは、演算結果Ｘ−ａ1がｍ1でさらに割り切れることを意味する。よって
、Ｘ’はＲＮＳ形式で表記可能な整数である。また、除数ｍ1はそれ以外の全て
のモジュラスに対して素である。従って、有効なＲＮＳ除算のための上記２条件
は第１の桁を除く全ＲＮＳ桁について満たされたことになる。また、第１の桁が
割り切れなくても問題はない。なぜなら、演算結果のとり得る値の範囲は縮減さ
れるので、残りの桁だけで個別に表現可能となるからである。
【００６０】
ここで、Ｘ’のｍｏｄ（ｍ2）を取ると、
Ｘ’ｍｏｄ（ｍ2）＝（ａ2＋ａ3×ｍ2＋．．．＋ａN×ｍ2×．．．×ｍ
N-1）ｍｏｄ（ｍ2）
となり、結果的に、
ｘ2’＝ａ2ｍｏｄ（ｍ2）＝ａ2
となる。但し、ｘ2’は、ａ1による減算とｍ1による除算とを行った後の第２Ｒ
ＮＳ桁の値である。必要に応じて、上記処理を繰り返すと、
ａ1＝ｘ1、ａ2＝ｘ2’、ａ3＝ｘ3”、．．．
となる。
【００６１】
上記方法の一例として、表１に示した３、５、７ＲＮＳ方式で表記された整数
４１を考える。整数４１は、ＲＮＳでは２１６である。よって、
Ｘ＝２１６ＲＮＳ
ｘ1＝ａ1＝２
Ｘ−ａ1＝Ｘ−２＝０４４ＲＮＳ
Ｘ’＝（Ｘ−ａ1）／３＝３６ＲＮＳ  （３5-1＝２、３7-1＝５）
ｘ2’＝ａ2＝３
Ｘ’−３＝０３ＲＮＳ
Ｘ”＝（Ｘ’−３）／５＝２ＲＮＳ＝ｘ3”＝ａ3  （５7-1＝３）
となる。よって、
ａ1＝２、ａ2＝３、ａ3＝２
である。以下に検算を示す。
【００６２】
Ｘ＝ａ1＋ａ2×ｍ1＋ａ3×ｍ1×ｍ2
Ｘ＝２＋３×３＋２×３×５＝２＋９＋３０＝４１
次に、表２において３、５、７ＲＮＳで表記した正負の数をＡＭＲ表記するこ
とを考える。ここで、数Ｘのとり得る値の範囲は−５２〜＋５２である。再び、
数ＸをＡＭＲ表記すると、
Ｘ＝ａ1＋ａ2×ｍ1＋ａ3×ｍ1×ｍ2
である。
【００６３】
モジュラスｍ1、ｍ2、ｍ3は正の値である必要があるが、ａ1、ａ2、ａ3の値は
それ程限定されない。但し、ａ1、ａ2、ａ3の各値の範囲はそれぞれｍ1、ｍ2、
ｍ3の範囲に限定される。従って、もし、
−１≦ａ1≦＋１
−２≦ａ2≦＋２
−３≦ａ3≦＋３
であれば、Ｘの範囲は、表２に示されるように、−１＋（−２×３）＋（−３×
３×５）＝−５２〜＋１＋（＋２×３）＋（＋３×３×５）＝＋５２となる。
【００６４】
上記方法の一例として、再び、表２において３、５、７ＲＮＳで表記した整数
４１を考える。整数４１は、ＲＮＳでは２１６である。よって、
Ｘ＝２１６ＲＮＳ
ｘ1＝ａ1ｍｏｄ（３）＝２
であり、ここで
ｘ1＝ａ1ｍｏｄ（３）＝２且つ−１≦ａ1≦＋１であるから、ａ1は必ず
−１となる。さらに、
Ｘ−ａ1＝Ｘ−（−１）＝２１６ＲＮＳ＋１１１ＲＮＳ＝０２０ＲＮＳ
Ｘ’＝（Ｘ−ａ1）／３＝４０ＲＮＳ
ｘ2’＝４＝ａ2ｍｏｄ（５）
ａ2＝−１  （なぜなら、−２≦ａ2≦＋２）
Ｘ’−ａ2＝Ｘ’−（−１）＝４０ＲＮＳ＋１１ＲＮＳ＝０１ＲＮＳ
Ｘ”＝（Ｘ’−ａ2）／５＝３ＲＮＳ
ｘ3”＝３＝ａ3ｍｏｄ（７）＝ａ3
であるので、
ａ1＝−１、ａ2＝−１、ａ3＝３
となる。以下に検算を示す。
【００６５】
Ｘ＝ａ1＋ａ2×ｍ1＋ａ3×ｍ1×ｍ2
Ｘ＝−１＋（−１×３）＋３×３×５＝−１＋（−３）＋４５＝４１
負の数を範囲に含む上記の例では、モジュラスは全て奇数（即ち、３、５、７
）であり、ＡＭＲ形式で表記可能な数の範囲は−５２〜＋５２であった。モジュ
ラスが２、５、１１のような別の方式の場合、正負の数を含む表記可能な数の範
囲は、−５５〜＋５４である。より一般化すれば、ＡＭＲ形式で表記可能な合計
範囲はＭ＝ｍ1×ｍ2×．．．（即ち、全モジュラスの積）である。０および正の
数のみを考える場合は０≦Ｘ≦Ｍ−１である。負の数も含む場合、興味深い２つ
の場合があり得る。モジュラスの内いずれか１つが偶数であればＭは偶数となり
、そうでない場合にはＭは奇数である。よって、正負両方の数を含む場合の２つ
の可能な範囲は以下のように特定される。
【００６６】
−Ｍ／２≦Ｘ≦Ｍ／２−１（正／負、Ｍが偶数の場合）
−（Ｍ−１）／２≦Ｘ≦（Ｍ−１）／２（正／負、Ｍが奇数の場合）
独立ＡＭＲ桁がとり得る値の範囲は、上記２つの可能な範囲のうちどちらが適
用されるかによって決まる。全てのモジュラスが奇数である場合、Ｍは奇数であ
り、合計範囲は０に関して対称的になる。従って、全てのＡＭＲ桁の範囲が、そ
れぞれ、０に関して対称的でなければならない。モジュラス「ｍ」に関連付けら
れている全てのＡＭＲ桁「ａ」に対し、全ＡＭＲ桁について（Ｍが奇数の場合）
、
−（ｍ−１）／２≦ａ≦（ｍ−１）／２
となる。これは、上記３、５、７方式の説明で例示した通りである。
【００６７】
モジュラスの１つが偶数であり、そのために、Ｍが偶数である場合、正負の数
を含む表記可能な数の範囲は、０に関して対称的にはならず、ＡＭＲ桁の値の範
囲の決定はより複雑なものとなる。第１に、偶数のモジュラスは１つだけしかあ
り得ない。さもなくば、そのＲＮＳ方式の各モジュラスが互いに素ではなくなる
からである（全ての偶数のモジュラスは、共通の因子２を有している）。ＡＭＲ
桁の値の範囲は、偶数モジュラスに関連付けられた桁の位置（重み）に依存する
。
【００６８】
偶数モジュラスに関連付けられたＡＭＲ桁：
−ｍ／２≦ａ≦ｍ／２−１
偶数モジュラスに関連付けられた桁よりも上位の奇数モジュラスに関連
付けられたＡＭＲ桁：
−（ｍ−１）／２≦ａ≦（ｍ−１）／２
偶数モジュラスに関連付けられた桁よりも下位の奇数モジュラスに関連
付けられたＡＭＲ桁：
０≦ａ≦ｍ−１
上記構成(arrangement)を理解するために、Ｍが偶数の場合、全体的な範囲が
０に関して僅かに非対称になるので、対称的な範囲をとり得る最上位桁の範囲も
同様に僅かに非対称でなければならないことに留意されたい。偶数桁の範囲は、
負の方向に僅かに偏った非対称でなければならない。また、偶数桁が最下位桁で
ない場合、その偶数桁の範囲の非対称性が僅かであったとしても、合計範囲にお
いては、負の方向に過度に偏った非対称性となるため、下位の奇数桁には正の値
のみを与えて、この非対称性を補償する必要がある。
【００６９】
例えば、先に簡単に触れた２、５、１１ＲＮＳ方式を用いても−５５〜＋５４
の範囲の整数を表記することが可能である。最上位から最下位までのＡＭＲ桁が
、それぞれ、１１、２、５のモジュラスに関連付けられているＡＭＲ表記の場合
、これらの桁の範囲は、
−５≦ａ3≦＋５
−１≦ａ2≦０
０≦ａ1≦＋４
となる。次のように検算を行う。ＡＭＲ形式によって表記可能な最小の整数Ｘmi
nは、
Ｘmin＝０＋（−１）×５＋（−５）×５×２＝０−５−５０＝−５５
であり、最大の整数Ｘmaxは、
Ｘmax＝４＋０×５＋５×５×２＝４＋０＋５０＝＋５４
である。
【００７０】
数値のＡＭＲ表記の用途は様々であり、例えば、ＡＭＲ表記を利用して追加Ｒ
ＮＳ桁を生成することによりその数値の拡張ＲＮＳ表記を行うことなどができる
。以下のように、モジュラスｍN+1の追加ＲＮＳ桁ｘN+1を生成する。
【００７１】
Ｘ＝ａ1＋ａ2×ｍ1＋ａ3×ｍ1×ｍ2＋．．．＋ａN×ｍ1×ｍ2×．．．
×ｍN-1
ｘN+1＝Ｘｍｏｄ（ｍN+1）＝（ａ1＋．．．＋ａN×ｍ1×．．．×ｍN-1
）ｍｏｄ（ｍN+1）
ｘN+1＝（（ａ1）ｍｏｄ（ｍN+1）＋（ａ2×ｍ1）ｍｏｄ（ｍN+1）＋．
．．）ｍｏｄ（ｍN+1）
例として、再び、３、５、７ＲＮＳ数２１６と表現される整数４１の場合のモ
ジュラス１１の追加ＲＮＳ桁の生成を考える。まず、正の数のみを表す表１のＲ
ＮＳ表記について考える。ａ1＝２、ａ2＝３、ａ3＝２は既に求められている。
この場合、
ＸN+1＝（（ａ1）ｍｏｄ（ｍN+1）＋（ａ2×ｍ1）ｍｏｄ（ｍN+1）＋（
ａ3×ｍ1×ｍ2）ｍｏｄ（ｍN+1））ｍｏｄ（ｍN+1）
ＸN+1＝（２ｍｏｄ（１１）＋（３×３）ｍｏｄ（１１）＋（２×３×
５）ｍｏｄ（１１））ｍｏｄ（１１）
ＸN+1＝（（２）＋（９）＋（３０ｍｏｄ（１１）））ｍｏｄ（１１）
ＸN+1＝（２＋９＋８）ｍｏｄ（１１）＝１９ｍｏｄ（１１）＝８
となる。
【００７２】
４１ｍｏｄ（１１）＝８であるので、上記は明らかに正しい。このように、整
数４１は、３、５、７ＲＮＳでは２１６ＲＮＳと表現され、３、５、７、１１Ｒ
ＮＳでは２１６８ＲＮＳと表現される。整数４１の場合は、追加ＲＮＳ桁は冗長
であるが、１桁追加した４桁３、５、７、１１ＲＮＳで表現可能な整数の範囲は
、３桁の３、５、７ＲＮＳに比べて１１倍である。また、Ｘ＝４１という実際の
数を決定する必要はなく、単にＲＮＳ桁とＡＭＲ桁とによってＸN+1が決まる。
上記の方法は、「基数拡張(Base Extension)」と呼ばれる。
【００７３】
表２の３、５、７正負ＲＮＳ表記で表した整数４１について、モジュラス１１
の追加ＲＮＳ桁の生成を考える。正負の数を含む範囲を扱う方式において、ａ1
＝−１、ａ2＝−１、ａ3＝３は既に求められている。この場合、
ＸN+1＝（（ａ1）ｍｏｄ（ｍN+1）＋（ａ2×ｍ1）ｍｏｄ（ｍN+1）＋（
ａ3×ｍ1×ｍ2）ｍｏｄ（ｍN+1））ｍｏｄ（ｍN+1）
ＸN+1＝（（−１）ｍｏｄ（１１）＋（−１×３）ｍｏｄ（１１）＋（
３×３×５）ｍｏｄ（１１））ｍｏｄ（１１）、よって、
ＸN+1＝（（１０）＋（８）＋（４５）ｍｏｄ（１１））ｍｏｄ（１１
）
ＸN+1＝（１０＋８＋１）ｍｏｄ（１１）＝１９ｍｏｄ（１１）＝８
となる。
【発明の開示】
【発明が解決しようとする課題】
【００７４】
電子回路に用いられ、桁の値を表記する様々な符号化スキームが公知である。
まず、２進数による従来の符号化では、各桁が１つの信号あるいは１つの「ライ
ン」によって表される。電圧が「ハイ（ｈｉｇｈ）」であるラインが２進数の「
１」を表し、電圧が「ロー（ｌｏｗ）」であるラインが「０」を表す。また、２
進化１０進数による従来の符号化の場合、１０進数の各桁は４本のラインによっ
て表され、各ラインに印加されている電圧レベルによって、その１０進数桁の値
が決まる。一般に用いられているデジタル信号処理の方法および装置では、整数
を表記できるこれら２つの表記方法の内のいずれかが用いられている。最も一般
的なのは、２進数による符号化である。一方、１つの桁を１／Ｎ桁形式に復号(D
ecoding of a digit to a 1 of N form)する方法も一般的ではあるが、この方法
は、むしろ、装置のアドレッシングまたは制御の目的で一般的に用いられている
ものであって、デジタル処理においては一般的ではなかった。
【課題を解決するための手段】
【００７５】
本発明は、高速且つ電力消失の少ないデジタル信号処理の方法および装置を開
示する。この装置は、剰余数記数方式（ＲＮＳ）によって信号および／またはパ
ラメータを表し、ＲＮＳ方式の各桁は「ワンホット」符号化スキームによって符
号化される。このような「ワンホット」符号化スキームにおいては、１つの桁が
とり得る値のそれぞれに信号ラインが１本関連付けられる。ハイ状態の信号ライ
ンはどの時点においてもこの内の１本のみである。ＲＮＳ方式とワンホットスキ
ームとを組み合わせることによって、信号活性レベルおよび信号ラインの負荷が
低減されて、結果的に低電力となる。加算、減算、乗算等の演算、ならびに整数
から／への変換を行うための方法および装置が開示される。ＲＮＳを利用した他
のアーキテクチャによって得られる高速性も維持される。代替的な実施形態も開
示される。
【００７６】
本発明による信号処理方法は、複数の信号を、ワンホットＲＮＳ形式で物理的
に表記された複数のＲＮＳ桁を有するＲＮＳ数としてそれぞれ表現するステップ
（ａ）と、ワンホットＲＮＳ形式で入力を受け取り、ワンホットＲＮＳ形式で出
力を提供する処理回路部を用いて該信号を処理するステップ（ｂ）とを有する信
号処理方法であり、そのことにより上記目的が達成される。
【００７７】
上記方法は、ワンホットＲＮＳ形式で表記された前記処理済み信号を２進数信
号に変換するステップをさらに含んでもよい。
【００７８】
ワンホットＲＮＳ形式で表記された処理済み信号を２進数信号に変換する前記
ステップは、該処理済み信号を、まず、ワンホットＲＮＳ形式からワンホットＡ
ＭＲ形式に変換し、次いで、該処理済み信号をワンホットＡＭＲ形式から２進数
信号に変換するステップを含んでもよい。
【００７９】
上記方法は、処理前の信号を、ある形式から、ワンホットＲＮＳ形式で物理的
に表記された複数のＲＮＳ桁を有するＲＮＳ数に変換する初期ステップをさらに
含んでもよい。
【００８０】
前記処理前の信号は、２進数信号として表現されていてもよい。
【００８１】
前記処理は、ワンホットＲＮＳ形式の２つの信号を加算する処理を含んでもよ
い。その場合、前記２つの信号の一方がワンホットＲＮＳ形式の変数であって、
他方が定数であってよい。また、前記２つの信号が共にワンホットＲＮＳ形式の
変数であってもよい。
【００８２】
前記処理は、ワンホットＲＮＳ形式の２つの信号の減算を含んでもよい。その
場合、前記２つの信号の一方がワンホットＲＮＳ形式の変数であって、他方が定
数であってよい。また、前記２つの信号が共にワンホットＲＮＳ形式の変数であ
ってもよい。
【００８３】
前記処理は、ワンホットＲＮＳ形式の２つの信号の乗算を含んでもよい。その
場合、前記２つの信号の一方がワンホットＲＮＳ形式の変数であって、他方が定
数であってよい。また、前記２つの信号が共にワンホットＲＮＳ形式の変数であ
ってもよい。
【００８４】
前記処理は、前記複数の信号の１つを表現するワンホットＲＮＳ形式に対する
モジュラスを変更するステップを含んでもよい。
【００８５】
前記処理は、前記複数の信号の１つを表現するワンホットＲＮＳ形式に対して
スケーリングを行うステップを含んでもよい。
【００８６】
前記処理は、前記複数の信号の１つを表現するワンホットＲＮＳ形式に対する
前記スケーリングの際に失われたモジュラスを再生するステップを含んでもよい
。
【００８７】
前記ＲＮＳ数が正および負の数を表記可能であり且つ前記処理が、前記複数の
信号の１つを表現するワンホットＲＮＳ形式が正の数または負の数のいずれを表
しているかを決定するステップを含んでいてもよい。
【００８８】
前記処理はデジタルフィルタ処理を含んでもよい。
【００８９】
前記デジタルフィルタ処理は、有限インパルス応答フィルタ処理を含んでもよ
い。
【００９０】
前記処理は、判定帰還等化処理を含んでもよい。
【００９１】
また、本発明の方法は、複数の整数ＸのそれぞれがＮ個（Ｎ＞１）の桁で表記
可能であり、該桁の範囲は桁毎に独自に限定されており、各整数Ｘを、
Ｘ＝ｘma、ｘmb、．．．、ｘmN
（但し、ｘma、ｘmb、．．．、およびｘmNは、それぞれ、該整数Ｘの
ＲＮＳ表記における桁であり、ｍa、ｍb、．．．、およびｍNは、それぞれ、該
整数ＸのＲＮＳ表記における各桁に関連付けられた、互いに異なる整数のモジュ
ラスであり、ｘma、ｘmb、．．．、およびｘmNの範囲は、それぞれ、ｍa、ｍb、
．．．、およびｍNである）
のようにＲＮＳ形式で表現するステップ（ａ）と、
該整数Ｘの桁ｘma、ｘmb、．．．、およびｘmNを、それぞれ、ｍa本、ｍb本、
．．．、およびｍN本の導電性ラインの状態によって表すステップであって、
該導電性ラインのそれぞれには２つの状態があり、各桁の値の表記は該
桁の他のいずれの値の表記とも異なり、その差異は、各桁を表記する導電性ライ
ンのうちの２本のラインの状態の違いであるステップ（ｂ）と、
ステップ（ｂ）の形式で表記された情報を受け取り、該情報を処理する処理回
路部を用いて入力情報を処理するステップ（ｃ）とを有し、これにより上記目的
が達成される。
【００９２】
前記処理は加算処理を含んでもよい。
【００９３】
前記処理は減算処理を含んでもよい。
【００９４】
前記処理は乗算処理を含んでもよい。
【００９５】
前記処理はモジュラスを変更するステップを含んでもよい。
【００９６】
前記処理はスケーリングを行うステップを含んでもよい。
【００９７】
前記処理は、前記スケーリングの際に失われたモジュラスの桁を再生するステ
ップを含んでもよい。
【００９８】
前記整数は正および負の数を表記可能であり且つ前記処理は、該整数が正の数
または負の数のいずれを表しているかを決定するステップを含んでいてもよい。
【００９９】
前記処理はデジタルフィルタ処理を含んでもよい。
【０１００】
前記デジタルフィルタ処理は、有限インパルス応答フィルタ処理を含んでもよ
い。
【０１０１】
前記処理は、判定帰還等化処理を含んでもよい。
【０１０２】
本発明の装置は、（ｍai＋ｍbi＋．．．＋ｍNi）本の複数の第１入力ラインを
有する第１の入力であって、
ｍai、ｍbi、．．．、およびｍNiはＮi個（Ｎi＞１）の異なる整数であ
り、
該複数の入力ラインのそれぞれには２つの状態があり、
該複数の入力ラインは、ｍai本、ｍbi本、．．．、およびｍNi本のライ
ンをそれぞれ有するＮi個のライン群になるように論理的に構成され、
処理前の情報を表す各整数は該ラインの状態によって表され、
ある表記された整数に対する該Ｎi個のライン群それぞれの該ラインの
状態は、他の表記可能ないかなる整数に対するライン群の該ラインの状態とも異
なり、その差異は、各ライン群のラインのうちの２本のラインの状態の違いであ
る第１の入力と、
（ｍao＋ｍbo＋．．．＋ｍNo）本の複数の出力ラインであって、
ｍao、ｍbo、．．．、およびｍNoはＮo個（Ｎo＞１）の異なる整数であ
り、
該複数の出力ラインのそれぞれには２つの状態があり、
該複数の出力ラインは、ｍao本、ｍbo本、．．．、およびｍNo本のライ
ンをそれぞれ有するＮo個のライン群になるように論理的に構成され、
処理前の情報を表す各整数は該ラインの状態によって表され、
ある表記された整数に対する該Ｎo個のライン群それぞれの該ラインの
状態は、他の表記可能ないかなる整数に対するライン群の該ラインの状態とも異
なり、その差異は、各ライン群のラインのうちの２本のラインの状態の違いであ
る、出力ラインと、
該第１入力ラインの現在の状態に応答する該出力ラインの状態を決定する回路
部とを有する、整数として表記可能な情報を処理する装置であり、これにより上
記目的が達成される。
【０１０３】
前記出力ラインの状態を決定する前記回路部は、前記第１入力ラインの前の状
態にも応答してよい。
【０１０４】
前記装置は、（ｍai＋ｍbi＋．．．＋ｍNi）本の複数の第２入力ラインを有す
る第２の入力であって、
該複数の入力ラインのそれぞれには２つの状態があり、
該複数の入力ラインは、ｍai本、ｍbi本、．．．、およびｍNi本のライ
ンをそれぞれ有するＮi個のライン群になるように論理的に構成され、
ある表記された整数に対する該Ｎi個のライン群それぞれの該第２入力
ラインの状態は、他の表記可能ないかなる整数に対するライン群の該ラインの状
態とも異なり、その差異は、各ライン群のラインのうちの２本のラインの状態の
違いである第２の入力をさらに備え、前記第１入力ラインの現在の状態に応答す
る、前記出力ラインの状態を決定する前記回路部は、該第１入力ラインおよび該
第２入力ラインの両方の状態に応答してもよい。
【０１０５】
前記出力ラインの状態は、前記第１および第２の入力ラインの状態によって表
記される整数の和を表してもよい。
【０１０６】
前記出力ラインの状態は、前記第１および第２の入力ラインの状態によって表
記される整数の差を表してもよい。
【０１０７】
前記出力ラインの状態は、前記第１および第２の入力ラインの状態によって表
記される整数の積を表してもよい。
【０１０８】
本発明のデバイスは、ワンホットＲＮＳ形式で物理的に表記された複数のＲＮ
Ｓ桁を有するＲＮＳ数として表現された処理前の複数の信号を受け取る入力装置
と、該入力装置に接続され、該ワンホットＲＮＳ形式の信号を処理し、ワンホッ
トＲＮＳ形式の処理済み信号出力を提供する処理装置とを有する、信号処理デバ
イスであり、このことにより上記目的が達成される。
【０１０９】
前記デバイスは、ワンホットＲＮＳ形式で表記された前記処理済み信号を２進
数信号に変換する装置をさらに有してもよい。
【０１１０】
ワンホットＲＮＳ形式で表記された前記処理済み信号を２進数信号に変換する
前記装置は、該処理済み信号をワンホットＲＮＳ形式からワンホットＡＭＲ形式
に変換する装置と、該処理済み信号をワンホットＡＭＲから２進数信号に変換す
る装置とを有してもよい。
【０１１１】
前記デバイスは、処理前の信号を、ある形式から、ワンホットＲＮＳ形式で物
理的に表記された複数のＲＮＳ桁を有するＲＮＳ数に変換する装置をさらに有し
てもよい。
【０１１２】
処理前の信号を、ある形式から、ワンホットＲＮＳ形式で物理的に表記された
複数のＲＮＳ桁を有するＲＮＳ数に変換する前記装置は、処理前の信号を２進数
信号からワンホットＲＮＳ形式で物理的に表記された複数のＲＮＳ桁を有するＲ
ＮＳ数に変換する装置を有してもよい。
【０１１３】
前記処理装置は、ワンホットＲＮＳ形式の２つの信号の加算を行う装置を含ん
でもよい。
【０１１４】
前記加算装置は、一方はワンホットＲＮＳ形式の変数であり、他方は定数であ
る２つの信号の加算を行う装置を含んでもよい。
【０１１５】
前記加算装置は、共にワンホットＲＮＳ形式の変数である２つの信号の加算を
行う装置を含んでもよい。
【０１１６】
前記処理装置は、ワンホットＲＮＳ形式の２つの信号の減算を行う装置を含ん
でもよい。
【０１１７】
前記減算装置は、一方はワンホットＲＮＳ形式の変数であり、他方は定数であ
る２つの信号の減算を行う装置を含んでもよい。
【０１１８】
前記減算装置は、共にワンホットＲＮＳ形式の変数である２つの信号の減算を
行う装置を含んでもよい。
【０１１９】
前記処理装置は、ワンホットＲＮＳ形式の２つの信号の乗算を行う装置を含ん
でもよい。
【０１２０】
前記乗算装置は、一方はワンホットＲＮＳ形式の変数であり、他方は定数であ
る２つの信号の乗算を行う装置を含んでもよい。
【０１２１】
前記乗算装置は、共にワンホットＲＮＳ形式の変数である２つの信号の乗算を
行う装置を含んでもよい。
【０１２２】
前記処理装置は、前記複数の信号の１つを表現するワンホットＲＮＳ形式に対
してモジュラスを変更する装置を含んでもよい。
【０１２３】
前記処理装置は、前記複数の信号の１つを表現するワンホットＲＮＳ形式に対
してスケーリングを行う装置を含んでもよい。
【０１２４】
前記処理装置は、前記複数の信号の１つを表現するワンホットＲＮＳ形式に対
する前記スケーリングの際に失われたモジュラスを再生する装置を含んでもよい
。
【０１２５】
前記ＲＮＳ数が正および負の数を表記可能であり且つ前記処理装置が、前記複
数の信号の１つを表現するワンホットＲＮＳ形式が正の数または負の数のいずれ
を表しているかを決定する装置を含んでいてもよい。
【０１２６】
前記処理装置はデジタルフィルタ処理を行う装置を含んでもよい。
【０１２７】
前記デジタルフィルタ処理装置は、有限インパルス応答フィルタ処理を行う装
置を含んでもよい。
【０１２８】
前記処理装置は判定帰還等化処理を行う装置を含んでもよい。
【発明を実施するための最良の形態】
【０１２９】
本発明においては、数（信号、因数等）のＲＮＳ表記と、「ワンホット」符号
化スキームとが組み合わされる。ワンホットスキームにおいては、１つの桁がと
り得る値のそれぞれに信号ラインが１本ずつ関連付けられる。ある桁が特定の値
を取ると、その値に関連付けられたラインがハイとなる。このラインがハイの間
は、その他のラインは全てローである。「ワンホット」という用語は、このスキ
ームにおける、「どの時点においても、信号ラインは１桁につき１本のみハイで
ある」という特徴を表現するものである。例えば、３、５、７ＲＮＳの場合、第
１の桁を表記するのに３本、第２の桁を表記するのに５本、そして、第３の桁を
表記するのに７本のラインを使用する。このＲＮＳの場合、第１から第３の桁は
、それぞれ、０〜２、０〜４、０〜６の範囲の値を取る。従って、各桁に関連す
る桁ラインの番号についても同様に、それぞれ、０〜２、０〜４、０〜６とする
のが最も都合が良い。−５２〜＋５２の範囲を用いて、２２１ＲＮＳと表記され
る−１３という整数は、３＋５＋７＝１５本のラインによって表される。この１
５本のラインの内３本がハイ電圧（またはハイ状態）であり、その間、他のライ
ンは全てローである。その状態が桁を表すこれらのラインの番号は、以下の表５
に示すように０から始まる。
【０１３０】
【表５】
2007181236.tif 000007
【０１３１】
以下に示される本発明の例示的な記載においては、特に示されない限り、３、
５、７ＲＮＳを用いているものとする。しかし、実際には、正確さを高める目的
で、および／または、演算結果のスケーリングおよび／または打ち切りを行うま
で演算結果を保持しておく目的で、より大きな値のモジュラスおよび／またはよ
り多くのモジュラスを用いる場合もよくある。また、当業者にとっては、このよ
うな目的のために、必要に応じて、本発明の方法および回路が拡張可能であるこ
とは、以下の記載から理解できる。
【０１３２】
また、本明細書中に記載される回路において、回路図の簡略化のために、２方
向性スイッチ記号を用いている。この記号は図１（ａ）に示されており、２方向
性スイッチの実際のＭＯＳ回路が図１（ｂ）に示されている。ＭＯＳ回路は、並
列に接続されたｎチャネル素子およびｐチャネル素子を備えている。このｎチャ
ネル素子およびｐチャネル素子は、それぞれスイッチング信号ＢおよびＢバー（
図中ではＢの上部に横線を付して示す）によって制御される。Ｂバーは信号Ｂを
反転した信号である。あるスイッチにおいてＢがハイの間は、そのスイッチの出
力ＯＵＴはＡに接続される。Ｂがハイでない間は、Ａの状態に関係なく、そのス
イッチの出力は電気的に浮いている。
【０１３３】
まず、本発明の方式における加算を考える。ある２数のｘ3桁を加算する場合
、特定の演算結果を生じる加算の組み合わせは３通りしかない。例えば、０の結
果が得られる加算は、０＋０、１＋２、または２＋１、１の結果が得られる加算
は、０＋１、１＋０、または２＋２、そして、２の結果が得られる加算は、１＋
１、０＋２、または２＋０である。加算を行う２数のｘ3桁に対して加算を行う
回路を図２に示す。この図において、スイッチの入力Ａとして、加数Ａのライン
０、１および２が設けられている（図１（ａ）および（ｂ）参照）。図に示され
るように、加数Ｂのライン上の信号は反転器によって反転される。これにより、
好適な実施形態において使用されるスイッチに必要な、加数Ｂのライン上の信号
およびその反転信号の両方が利用できるようになる。このスイッチは、論理的に
、３つ（この桁のモジュラスが加算される）のスイッチ群に分割され、各スイッ
チ群はそれぞれ３つ（ここでも、この桁のモジュラスが加算される）のスイッチ
からなる。第１の３つのスイッチＳＷ１、ＳＷ２およびＳＷ３の出力によって、
ＳＵＭのライン０の状態がハイ（ｈｉｇｈ）であるのかロー（ｌｏｗ）であるの
かが決定される。同様に、第２の３つのスイッチＳＷ４、ＳＷ５およびＳＷ６の
出力によって、ＳＵＭのライン１の状態、第３の３つのスイッチＳＷ７、ＳＷ８
およびＳＷ９の出力によって、ＳＵＭのライン２の状態がハイであるのかローで
あるのかが決定される。
【０１３４】
図２の回路の動作を説明するために、２つの例を考える。まず、加数Ａとして
の整数４（１４４ＲＮＳ）と、加数Ｂとしての整数８（２３１ＲＮＳ）とを加算
して和１２（０２５ＲＮＳ）を得る場合について考える。図２の回路では、これ
ら２数の第１のＲＮＳ桁のみの加算を行っており、加数Ａの入力は１であり、加
数Ｂの入力は２である。つまり、加数Ａのライン１および加数Ｂのライン２の電
圧信号がそれぞれハイであり、加数ＡおよびＢのその他のラインの電圧信号はロ
ーである。加数Ｂのライン２の電圧によって、スイッチＳＷ２、ＳＷ６およびＳ
Ｗ７はオンとなる。その他のスイッチＳＷ１、ＳＷ３、ＳＷ４、ＳＷ５、ＳＷ８
およびＳＷ９はオフである。スイッチＳＷ２がオンなので、加数Ａのライン１の
電圧（ハイ）がＳＵＭのライン０に接続される。スイッチＳＷ６がオンなので、
加数Ａのライン２の電圧（ロー）がＳＵＭのライン１に接続される。また、スイ
ッチＳＷ７がオンなので、加数Ａのライン０の電圧（ロー）がＳＵＭのライン２
に接続される。よって、ＳＵＭのｘ3のライン０、１、２の中で、ライン０のみ
がハイとなり、和１２（０２５ＲＮＳ）に対応する状態となっている。
【０１３５】
次に、加数を反対にして、同じ和について考える。つまり、今度は、整数４（
１４４ＲＮＳ）を加数Ｂ、整数８（２３１ＲＮＳ）を加数Ａとして、これらを加
算して、再び、和１２（０２５ＲＮＳ）を得る。同様に、図２の回路では、これ
ら２数の第１のＲＮＳ桁のみの加算を行っており、加数Ａの入力は２であり、加
数Ｂの入力は１である。つまり、加数Ａのライン２および加数Ｂのライン１の電
圧信号がそれぞれハイであり、加数ＡおよびＢのその他のラインの電圧信号はロ
ーである。加数Ｂのライン１の電圧によって、スイッチＳＷ３、ＳＷ４およびＳ
Ｗ８はオンとなる。その他のスイッチＳＷ１、ＳＷ２、ＳＷ５、ＳＷ６、ＳＷ７
およびＳＷ９はオフである。スイッチＳＷ３がオンなので、加数Ａのライン２の
電圧（ハイ）がＳＵＭのライン０に接続される。スイッチＳＷ４がオンなので、
加数Ａのライン０の電圧（ロー）がＳＵＭのライン１に接続される。また、スイ
ッチＳＷ８がオンなので、加数Ａのライン１の電圧（ロー）がＳＵＭのライン２
に接続される。再び、ＳＵＭのｘ3のライン０、１、２の中で、ライン０のみが
ハイとなり、和１２（０２５ＲＮＳ）に対応する状態となっている。
【０１３６】
２つのＲＮＳ数のｘ5桁同士およびｘ7桁同士の加算についても同じ回路形式が
適用できることは、上記記載から理解できる。例えば、ｘ5桁同士の加算を行う
場合、決定しなければならない出力ラインは５本ある。従って、２５個のスイッ
チを、論理的に、それぞれ５個のスイッチを含む５個のスイッチ群に分割したも
のを用いることができる。以下の表６に示すように、加数入力の５通りの組み合
わせによって、上記５本の出力ラインのそれぞれをハイに駆動できる。
【０１３７】
【表６】
2007181236.tif 000008
【０１３８】
同様に、ｘ7桁同士の加算の場合、決定しなければならない出力ラインは７本
ある。従って、４９個のスイッチを、論理的に、それぞれ７個のスイッチを含む
７個のスイッチ群に分割したものを用いることができる。加数入力の７通りの組
み合わせによって、上記７本の出力ラインのそれぞれをハイに駆動できる。
【０１３９】
次に、本発明の方式による減算を考える。ある２数のｘ3桁についての減算を
行う場合も、特定の演算結果を生じる加算の組み合わせは、３通りしかない。例
えば、０の結果が得られる減算は、０−０、１−１、または２−２、１の結果が
得られる減算は、１−０、２−１、または０−２、そして、２の結果が得られる
減算は、２−０、０−１、または１−２である。２数のｘ3桁についての減算を
行う回路を図３に示す。この図において、スイッチ（図１（ａ）および図１（ｂ
）参照）の入力Ａとして、被減数Ａのライン０、１、および２が設けられている
。図に示されるように、減数Ｂのライン上の信号は反転器によって反転される。
これにより、好適な実施形態において使用されるスイッチに必要な、減数Ｂのラ
イン上の信号およびその反転信号の両方が利用できるようになる。回路の構成要
素は加算用回路と同じであるが、構成要素の相互接続が異なっている。再び、こ
のスイッチは、論理的に、３つ（この桁のモジュラスが加算される）のスイッチ
群に分割され、各スイッチ群はそれぞれ３つ（ここでも、この桁のモジュラスが
加算される）のスイッチからなる。第１の３つのスイッチの出力によって、ＤＩ
ＦＦＥＲＥＮＣＥ（残差）のライン０の状態がハイであるのかローであるのかが
決定される。同様に、第２の３つのスイッチの出力によって、ＤＩＦＦＥＲＥＮ
ＣＥのライン１の状態、第３の３つのスイッチの出力によって、ＤＩＦＦＥＲＥ
ＮＣＥのライン２の状態がハイであるのかローであるのかが決定される。
【０１４０】
乗算についても、モジュラスが素数の場合（素数でない場合については後述）
、どちらも０でない桁同士については加算および減算と同様である。しかし、乗
数側または被乗数側のいずれかの桁が０（ライン０がハイ）である場合、乗算の
結果は０（ライン０がハイ）となる。再び、ｘ3桁について考えると、１×１＝
１、２×１＝２、１×２＝２、および２×２＝４ｍｏｄ（３）＝１。この４つの
乗算については、加算用回路および減算用回路におけるスイッチ接続によって計
算できる。これは、図４において、４つのスイッチ接続によって示されている。
しかし、乗数または被乗数のいずれかが０の場合、積が０（ライン０がハイ）に
ならなければならない。これを行うために、図４には、ＯＲゲートが設けられて
いる。このＯＲゲートは、乗数Ａのライン０または被乗数Ｂのライン０のいずれ
かがハイであれば、ＰＲＯＤＵＣＴ（積）のライン０をハイにする。しかし、被
乗数Ｂのライン０がハイである場合、スイッチＳＷ４、ＳＷ５、ＳＷ６およびＳ
Ｗ７はいずれもオンにならない。その結果、ＰＲＯＤＵＣＴのライン１および２
は電気的に浮くことになる。被乗数Ｂのライン０がハイであるときにこれらのラ
インを積極的にローに引き下げるために、被乗数Ｂのライン０によって駆動する
２つのｎチャネル素子が設けられている。被乗数Ｂのライン０がハイの場合、こ
のｎチャネル素子をオンにして、ライン１および２をローに引き下げる。
【０１４１】
次に、モジュラスが素数でないＲＮＳ桁同士の乗算を考える。この場合、１で
もなくモジュラスでもない少なくとも２つの整数の積として、モジュラスを表す
ことができる。例として、モジュラスが６である２つのＲＮＳ桁に対して乗算を
行う場合を考える。このＲＮＳ桁は、それぞれ、０、１、２、３、４、５のいず
れかの値を取ることができる。前記同様、０に対して、他のいかなる桁の値を掛
けても結果は０である。しかし、今度は、２×３および３×２のＲＮＳ乗算も０
となる。また、３×４および４×３も同様に０となる。これに対応するためには
、ワンホットＲＮＳ入力のどちらか（あるいは両方）が０であることを検出し、
それに応答して、ワンホットライン０をハイに駆動し且つ結果的に浮いているラ
インを、図４の場合のように、ローに駆動しなければならず、さらに、これと同
じことを、入力が、２と３、３と２、３と４、４と３である場合にも行わなけれ
ばならない。これを行うには、１）乗数Ａのワンホットライン２と被乗数Ｂのワ
ンホットライン３との論理積をとり、２）乗数Ａのワンホットライン３と被乗数
Ｂのワンホットライン２との論理積をとり、３）乗数Ａのワンホットライン３と
被乗数Ｂのワンホットライン４との論理積をとり、４）乗数Ａのワンホットライ
ン４と被乗数Ｂのワンホットライン３との論理積をとり、そして、５）上記４つ
の論理積演算の結果と、乗数Ａのワンホットライン０と、被乗数Ｂのワンホット
ライン０との論理和をとる。ここで、この論理和演算の結果が真である場合、Ｐ
ＲＯＤＵＣＴのライン０をハイに駆動し、図４の２つのｎチャネルトランジスタ
のようなｎチャネルトランジスタを用いる等の方法で、電気的に浮いている他の
ラインをローに駆動する。上記あるいはそれ以外の同様な煩雑さが生じるため、
素数でないモジュラスを用いるのは避けることが好ましい。
【０１４２】
整数／ＲＮＳ数変換およびＲＮＳ数に対する他の演算について考える前に、加
算、減算および乗算において、その演算を行う２数の一方が固定された数である
場合を考える。固定された係数による乗算は、デジタル信号処理、フィルタ処理
、信号検出および／または復調、およびその他多数の処理において特に一般的で
ある。無論、それぞれ図２、図３および図４に示した加算回路、減算回路および
乗算回路の入力ＡまたはＢのどちらかが固定入力であっても良い。固定数を回路
の入力Ｂとして与えるものとすると、固定値の付与によって回路のスイッチは永
久にある状態にセットされることになる。したがって、このようなスイッチを削
除でき、これらのスイッチのために必要であった接続を（ＩＣの形態に）固定配
線(hardwiring)する必要もなくなる。例として、整数１０（上記例のＲＮＳ方式
では１０３ＲＮＳ）による加算、減算および乗算を考える。図５は、整数１０の
ＲＮＳ等価値（１０３）を任意のワンホットＲＮＳ入力に加算する場合を示す。
ｘ3桁がいかなる値であろうと、１を加えた場合その値が１増加することは明ら
かである。従って、入力側のライン０は、出力側のライン１に直接接続され、入
力側のライン１は出力側のライン２に直接接続される。和（２＋１）ｍｏｄ（３
）＝０であるので、入力側のライン２は出力側のライン０に接続される。ｘ7桁
の接続も同様に決定されるが、ライン同士の相互接続部におけるラップ・アラウ
ンド(wraparound)が１つから３つに増えている。ｘ5桁は０であり、入力側と出
力側とで変化が全くないので、これらの入力と出力とは直接接続される。しかし
、最終的に得られる効果を考えると、定数の加算による和は、大ざっぱに言えば
、入力ライン番号の再表記(renumbering)（および、ラインの再配線）に過ぎな
い。
【０１４３】
図６に示すように、整数１０のＲＮＳ等価値（１０３）を任意のワンホットＲ
ＮＳ入力から引く動作は、（回路の相互接続は同一ではないが）上記加算の動作
に良く似ている。定数を用いた減算による差もまた、大ざっぱに言えば、入力ラ
イン番号の再表記に過ぎない。実際、加算回路の入力と出力を反対にすれば、こ
の減算回路は加算回路と同一である。もっとも、Ｘ＋１０−１０＝Ｘであること
を考えればこれは当然のことである。このことは、本発明のもう１つの注目すべ
き点を示している。つまり、定数を用いた演算を連続して行う操作は、これらの
演算を連結することにより、１回の「番号再表記」操作になる。これについては
、以下に開示される定数による乗算および数の符号の反転（−１による乗算）の
後に考察を行う。
【０１４４】
１０による乗算を行う回路を図７に示す。どんな整数でも１０を掛ければ、５
で割り切れる数になるため、ｘ5桁のライン０は、入力に関係なく常にハイにな
る。同様に、−１による乗算を行う回路を図８に示す。ここで、０に何を掛けて
も０であり、−１×（ｍｏｄ（ｍ）の任意のＲＮＳ桁）＝ｍ−（元のＲＮＳ桁）
である。
【０１４５】
「入力から１０を引き、その結果に１０を掛けて、その結果に−１を掛けて、
その符号を反転させる」という演算を例にとって、連結について考える。次の表
７に、この演算動作をステップ毎に示す。
【０１４６】
【表７】
2007181236.tif 000009
【０１４７】
表７の第１欄および第２欄は、図６に示した整数１０による減算における入力
から出力へのマッピングを表している。第３欄は、第２欄に示されるラインが図
７に示した乗算回路の出力に接続されているか否かを示している。第４欄は、第
２欄に関連しており、図７に示される整数１０を用いた乗算における入力から出
力へのマッピングを表している。最後の第５欄は、第４欄に関連しており、図８
に示される、前の演算の結果に−１を掛けることによりその符号を反転させる動
作における入力から出力へのマッピングを表している。しかし、この演算の組み
合わせは、１つの回路として表すことができる。これは、入力リードおよび出力
リードについての１回の「番号再表記」に相当し、表７の内容をそのまま抜き出
した次の表８に示されている。
【０１４８】
【表８】
2007181236.tif 000010
【０１４９】
上記の動作は、図９において回路として示されている。例として、整数１４（
２４０ＲＮＳ）を入力する場合を考えると、（１４−１０）×１０×（−１）＝
−（４×１０）＝−４０となる。整数−４０を３、５、７ＲＮＳ表記すると、−
４０ｍｏｄ（３）、−４０ｍｏｄ（５）、−４０ｍｏｄ（７）＝２０２ＲＮＳで
ある。よって、入力整数１４（２４０ＲＮＳ）により、モジュラス３桁のライン
２、モジュラス５桁のライン４、およびモジュラス７桁のライン０がそれぞれハ
イとなり、その他のラインは全てローとなる。このとき、入力リード２、７およ
び８がハイとなり、その他の入力リードは全てローとなる。入力リード２によっ
て出力リード２がハイに、入力リード８によって出力リード１０がハイになる。
そして、出力リード３〜７は固定接続されているので、この中のどれがハイであ
るかに関わらず出力リード３がハイになる。出力リード２、３および１０に対応
する桁リード２、０および２がハイであるので、ＲＮＳ表記は２０２となる。こ
れは、整数−４０であり、期待通りの結果が得られたことになる。
【０１５０】
次に、２進数からＲＮＳ数への変換操作を考える。０〜１０４の範囲の整数を
表記可能な３、５、７ＲＮＳ方式を用いる。７ビットの２進数を利用する場合、
注意すべきことは、合計範囲が１２８まである７ビットの２進数が、３、５、７
ＲＮＳ表記の合計範囲１０５を越えないようにすることである。６ビットの２進
数のみを変換する場合、ＲＮＳ数の定義域ではなく、２進数の定義域において範
囲限定を行えば良い。この性質を考慮して、この例では、６ビットの２進数を想
定する。従って、最下位ビットによって０または１が加算され、次のビットによ
って０または２が加算され、その次のビットによって０または４が加算される（
以降のビットについても同様）。このように、その２進数ビットの重みモジュラ
ス（即ち、それぞれのモジュラス）に応じて各ビットが加算される。これを行う
回路のブロック図を図１０に示す。また、図１１には、この回路をｘ3桁および
ｘ5桁についてさらに詳細に示す。図１０の回路において、中に「Ｒ」と表記さ
れた四角は、固定乗算回路を表している。これは、即ち、各入力「ｂ」の番号再
表記（および再配線）を表すものである。ワンホット形式の信号「ｂ」それぞれ
について、ハイになり得るラインは２本ずつ（ライン１および０）しかないこと
に留意されたい。伝統的な２進数符号化スキームに基づいて各ラインｂnをワン
ホットライン１に接続し、その反転信号ｂnバーをワンホットライン０に接続す
れば、これら２本のラインを容易に得られる。その他のワンホットラインは実効
的にローに接続される(effectively tied low)。また、図１０における中に「＋
」のある円、および図１１における中に「ＡＤＤ」と表記された四角は、図２の
加算器に対応する加算器回路である。
【０１５１】
以下、図１０および図１１、特に図１１を参照して、２進数／ＲＮＳ変換器の
ｘ3桁ワンホットライン３本を形成する加算器列を説明する。各加算器への入力
信号ｂ0は、その加算器のｘ3桁入力ライン１に接続され、その反転信号ｂ0バー
はその加算器のライン０を形成する。また、加算器への入力信号ｂ0は、信号ｂ0
がローまたはハイのいずれであるかによって、それぞれ、０または１を表すだけ
なので、この加算器入力への入力ライン２はローに接続される。各加算器への入
力信号ｂ1は、その加算器のｘ3桁入力ライン２に接続され、その反転信号ｂ1バ
ーはその加算器のライン０を形成する。信号ｂ1がローまたはハイのいずれであ
るかによって、それぞれ、０または２を表すだけなので、この加算器入力への入
力ライン１はローに接続される。次の加算器への入力信号ｂ2はｘ3桁入力ライン
１（４ｍｏｄ（３）＝１）に接続され、その反転信号ｂ2バーはその加算器のラ
イン０を形成する。信号ｂ2がローまたはハイのいずれであるかによって、それ
ぞれ、０または４を表すだけなので、この加算器への入力ライン２はローに接続
される（以降信号についても同様）。
【０１５２】
再び図１０および図１１を参照して、６ビット２進数表記から３、５、７ＲＮ
Ｓ表記への変換を行うために、それぞれ５個の加算器からなる加算器列が３列用
いられることに留意されたい。各加算器列において、第１の加算器はｂ0＋ｂ1の
加算を行い、第２の加算器は、その和＋ｂ2の加算を行う（以降の加算器につい
ても同様）。この構成では、リプル通過時間遅延(ripple-through time delay)
が生じる。また、リプル通過の間に生じ得る様々な状態の変化のために、多少の
電力損失がある。図１２に示される代替例においては、各加算器列において、第
１、第２および第３の各加算器を用いて、それぞれ、ｂ0＋ｂ1、ｂ2＋ｂ3および
ｂ4＋ｂ5の加算を同時に行う。そして、２個の加算器からなる加算器列を用いて
、（ｂ0＋ｂ1）＋（ｂ2＋ｂ3）の加算と（その結果）＋（ｂ4＋ｂ5）の加算を行
う。必要となる加算器の数は同じであるが、加算器の連鎖数は、５連鎖から３連
鎖へと低減される。これにより、リプル通過時間が短くなり、リプル通過による
状態変化も低減される。
【０１５３】
本発明のワンホット方式による特定の計算においては、汎用回路が簡略化され
る。例えば、定数を扱う加算、減算および乗算を行う場合、図２、図３および図
４に示される汎用回路において、定数を入力「Ｂ」として与えれば、スイッチが
永久に固定される。従って、スイッチが常に開いているラインには接続が不要に
なり、また、スイッチが常に閉じているラインは固定配線とすることができる。
これにより、トランジスタを全く用いずに、単にライン番号の再表記によって、
加算、減算および乗算を行うことが可能になる。また別の例として、図１１に示
した２進数／ＲＮＳ変換器のｘ3ＲＮＳ桁用の第１の加算器（即ち、図１１の左
上の加算器）を考える。汎用ｘ3加算器として図２の回路を参照する。加数Ｂの
ライン１は常にローである（図１１の左上の加算器を参照）。つまり、スイッチ
ＳＷ３、ＳＷ４およびＳＷ８は常にオフである。従って、これらのスイッチおよ
び関連するラインを排除して、図１３に示すような構成とすることができる。ま
た、加数Ｂの入力は０または２を表す１ビットの２進数であり、ライン０はライ
ン２の反転信号且つライン２はライン０の反転信号であるので、ライン２および
その反転信号のみが必要である。同様に、加数Ａの入力もまた、０または１を表
す１ビットの２進数であり、ライン１およびその反転信号のみが必要である。こ
れも、図１３に示されている。
【０１５４】
図１０および図１１の回路は、基本的に、最下位ビットから順に変換を行うタ
イプの２進数／ＲＮＳ変換回路である。図１４のブロック図に示されている回路
は、最上位ビットから順に変換を行うタイプの、本発明による２進数／ＲＮＳ変
換回路である。この回路では、１つ下位のビットの値を加える前に、各段階の和
の値が２倍される。図１０および図１１に示した回路と結果は同じであるが、図
１４の回路の場合、固定乗数が繰り返し用いられるので、回路配列に関する利点
が得られる。
【０１５５】
上記の例では、２進数からワンホットＲＮＳ表記への変換を負の数であるとい
う可能性を考慮せずに、また、負の数をどのように２進数表記するかを考慮せず
に行った。本発明のワンホットＲＮＳ表記へと変換される数の２進数表記は、通
常、２の補数の形式である。この２の補数の形式では、最上位ビットは符号用ビ
ットであり、０が正、１が負を表す。最上位ビットが０の場合、残りのビットは
数Ｘの絶対値を２進数形式で表している。また、最上位ビットが１の場合、残り
のビットを反転して１を加えたものが、負の数Ｘの絶対値を２進数形式で表した
ものとなる。つまり、最上位ビットが１の場合、残りのビットが表す値は−（２
N-1）より大きい値となる。
【０１５６】
図１０および図１１、あるいは図１４のような回路を用いて、正の数を表す２
の補数の２進数からワンホットＲＮＳ表記への変換（最上位ビット＝０）を行う
ことができる。図１５は、負の数を含むＸを２の補数の２進数で表記したものを
ワンホットＲＮＳ表記に変換する回路を示す。これは、最上位ビットが０の場合
、残りのビットが数Ｘの絶対値を２進数形式で表し、最上位ビットが１の場合、
残りのビットが表す値が−（２N-1）より大きくなるように−（２N-1）を加える
、前記方法をそのまま実現するものである。
【０１５７】
先にも述べたように、ＲＮＳ方式では困難な演算がある。そのような演算を行
う場合、従来の技術で説明した関連混合基数（ＡＭＲ）変換が有用である。例え
ば、正負の数を表すＲＮＳ方式において、ＡＭＲ表記を用いて数Ｘの符号を検出
することができる。具体的には、数ＸをＡＭＲ表記したときのＡＭＲ桁ａ1、ａ2
、．．．ａN-1、ａNについて、ｍN＝２の場合を考えると、Ｘについての等式は
、
Ｘ＝ａ1＋ａ2×ｍ1＋ａ3×（ｍ1×ｍ2）＋．．．＋ａN-1×（ｍ1×ｍ2
×．．．×ｍN-2）＋ａN×（ｍ1×ｍ2×．．．×ｍN-2×ｍN-1）
但し、ａN＝０または−１、ａ1〜ａN-1は０または正の数。
【０１５８】
ａN＝０の場合、Ｘの範囲は、０〜（（ｍ1×ｍ2×．．．×ｍN-2×ｍ
N-1）−１）である。
【０１５９】
ａN＝−１の場合、Ｘの範囲は、−（ｍ1×ｍ2×．．．×ｍN-2×ｍN-
1）〜−１である。
【０１６０】
Ｘの符号は、ａNの値によって示され、ａN＝０は正、ａN＝−１は負を示す。
（Ｘ＝０は正とみなす。Ｘ＝０を検出する場合、ワンホットＲＮＳ桁全てのライ
ン０の論理積を取ることによって検出を行えば良い。）つまり、正負ＲＮＳ表記
で表現された数Ｘの符号を以下のように検出できる。
【０１６１】
１．その数、あるいは処理されている数の最初のワンホット表記に、モジュラ
ス２のワンホットＲＮＳ桁が含まれていなければならない。
【０１６２】
２．モジュラス２の桁が最後のＲＮＳ桁であり且つ最上位ＡＭＲ桁ａNに関連
付けられるように、ＲＮＳ桁を並べる。
【０１６３】
３．数ＸのＲＮＳ表記をＸのＡＭＲ表記等価値に変換する。
【０１６４】
４．Ｘの符号を決定する値ａNを決める（０ならば正、−１ならば負）。（モ
ジュラス２桁の代わりに、２よりも大きい偶数モジュラスを用いても良い。その
場合、ａNが０または正であるときＸの符号は＋、ａNが負であるときＸの符号は
−となる。）
図１６（ａ）に示す回路は、ＡＭＲ表記（ワンホット形式）を行い、モジュラ
ス２ＲＮＳ桁を持つワンホットＲＮＳ方式の一例によって表記される数Ｘの符号
を決定する回路である。この回路には合計１０個の加算器／減算器が含まれる。
１番上の列の減算回路３０、３２、３４および３６はＸ−ａ1を生成する。ａ1は
、ｍｏｄ（１３）に関連付けられた第１のＡＭＲ桁であり、ＲＮＳ数のｘ1に等
しい。このワンホット方式において、ｘ1入力は１３ライン入力（ｘ1ライン０〜
１２）、ｘ2入力は５ライン入力（ｘ2ライン０〜４）、ｘ3入力は７ライン入力
（ｘ3ライン０〜６）、ｘ4入力は１１ライン入力（ｘ4ライン０〜１０）、そし
てｘ5入力は２ライン入力（ｘ5ライン０〜１）である。減算回路３０、３２、３
４および３６は、それぞれ、モジュラス５、モジュラス７、モジュラス１１およ
びモジュラス２の減算回路である。従って、ａ1の範囲は０〜１２であるが、ａ1
ｍｏｄ（５）、ａ1ｍｏｄ（７）、ａ1ｍｏｄ（１１）およびａ1ｍｏｄ（２）が
決定される。これは、以下の表９に示されるような、ラインの再マッピングであ
る。
【０１６５】
【表９】
2007181236.tif 000011
【０１６６】
図１７は、図１６（ａ）に示す減算器３０の５個の入力を決定するための専用
回路を示し、図１８は、減算器３６の２個の入力を決定するための専用回路を示
す。他の加算器／減算器の入力に対しても、ＯＲゲートまたはその等価物を用い
た同様の専用回路を表９を参考にして容易に構成することできる。あるモジュラ
スのワンホットＲＮＳ信号から、より小さなモジュラスのワンホットＲＮＳ信号
への変換を行うこの一般型の回路は、図１６（ａ）において、図１６（ｂ）に示
す記号を用いて表記されている。減算器３０、３２、３４および３６の出力は、
ワンホットＲＮＳ形式のＸ−ａ1である。このＲＮＳ数からｘ1桁の値を引くこと
によって、そのＲＮＳ桁の値は０に減少する。これは、この時点で、ＲＮＳ数の
値が１３で割り切れるようになっていることを意味している。ｘ1桁は、次の除
算において落とされる。なぜなら、従来の技術において述べたように、この除算
を行った後は、ｘ1桁の値は分からないからである。
【０１６７】
図１７の回路および図１８の回路は、所望のモジュラス変換を実現するもので
はあるが、スイッチング（ゲーティング）遅延を生じる。また、モジュラス変換
の直後に続く減算器も同様に遅延を生じる。この２つの遅延の一方は、これら２
つの機能を組み合わせることによって排除できる。例えば、ｘ2−ａ1ｍｏｄ（５
）の出力ライン０について図１９および図２０に示され、また、ｘ2−ａ1ｍｏｄ
（５）の出力ライン１について図１９および図２１に示されるように、図１７の
回路を減算器と組み合わせることが可能である。減算器３０の入力として、ｍｏ
ｄ（１３）信号の１３本全てのラインが使用され、１３個のスイッチの出力が合
わされてｍｏｄ（５）の結果が出る。
【０１６８】
Ｘ’＝（Ｘ−ａ1）／ｍ1を求めるには、ｍ1による除算あるいはｍ1の乗法的逆
数による乗算を行う必要がある。図１６（ａ）において使用される乗法的逆数を
以下の表１０に示す。
【０１６９】
【表１０】
2007181236.tif 000012
【０１７０】
先にも述べたように、乗法的逆数を含む定数を用いた乗算は単なるライン番号
の再表記（通常再配線を含む）である。これは、図１６（ａ）に示される乗算（
再表記あるいは再配線）回路３８、４０、４２および４４（並びにその他の四角
で表された乗算回路）に示されている。これで、Ｘ’が分かるので、ａ2＝ｘ2’
である。
【０１７１】
Ｘ”＝（Ｘ’−ａ2）／ｍ2を求めるべく、２番目の列の減算器４６、４８およ
び５０は、残っている３つのＲＮＳ桁からａ2を値を引く。ｘ2桁のモジュラスは
次の２桁のモジュラスよりも小さいので、以下の表１１に示すように、余分なラ
インを全て接地（ロー接続）すれば、ＲＮＳ減算器によって次の２桁からａ2を
直接引くことができる。あるモジュラスのワンホットＲＮＳ信号から、より大き
なモジュラスのワンホットＲＮＳ信号への変換を行うこの汎用回路も、図１６（
ａ）において、図１６（ｂ）に示す記号を用いて表記されている。
【０１７２】
【表１１】
2007181236.tif 000013
【０１７３】
さてここで、減算器へのある入力の複数のラインは常にローであることに留意
されたい。これらの入力を減算器への入力Ｂとして用いた場合（図３参照）、減
算器回路を実質的に簡略化できる。なぜなら、これらの減算器に対応するスイッ
チは常にオフなので、これらのスイッチおよび関連するラインの全てを排除でき
るからである。
【０１７４】
ここで、減算器４６、４８、５０の出力は、必要に応じて切り捨てを行い、１
３による除算を行い、さらに切り捨てを行って整数５で割り切れるようにした状
態での整数ＸのＲＮＳ表記のｘ3桁、ｘ4桁、ｘ5桁にそれぞれ対応する。残りの
ワンホットＲＮＳ桁からａ2の値を引いたことにより、ｘ2ＲＮＳ桁の値は０に減
少している。ここでまた、ｘ2桁を落とす。５による除算は、乗算器５２、５４
および５６のライン番号を再表記して５の乗法的逆数（即ち、５-1）による乗算
を行うことにより行われる。
【０１７５】
以下に示すように、他の２つのＲＮＳ桁からａ3を引いて、その後７-1を掛け
ることによって、ａ4が求められる。ａ3のモジュラス（７）はａ4のモジュラス
（１１）よりも小さいので、加算器／減算器５８の入力ａ3の後方部分の入力ラ
インをローにした状態で、ａ3の７本のラインを加算器／減算器５８に直接付与
できる。加算器／減算器６０への対応する入力については、まず、図１８に示さ
れる方法でａ3のワンホットライン０〜６に対して論理和をとって、この７本の
ラインをｍｏｄ（２）信号（２本のライン）とするか、あるいは、論理的に等価
な、加算スイッチをその加算器／減算器に追加することによって得られる。次に
、乗算器６２および６４によって、この減算の結果に乗法的逆数７-1を掛けてａ
4を得る。このａ4をモジュラス２に変換し、加算器／減算器６６によって乗算器
６４の出力からその変換値を引き、そして、乗算器６８によって乗法的逆数１１
ー1を掛けてａ5を得る。ここで、ｘ5の範囲は０〜１であるが、ａ5の範囲は−１
〜０である。従って、ａ5のワンホットライン０はワンホット０ラインであり、
第２番目のａ5ラインは実際はａ5の−１ワンホットラインである。
【０１７６】
本発明によって実現される図１６（ａ）の回路およびその他の回路は、演算が
順次行われるために、好ましくない遅延を生じる場合がある。これは、クロック
速度が遅い場合には許容可能であるが、速いクロック速度が要求される場合には
、限界がある。従って、図１６（ａ）の回路およびその他の回路については、１
つ以上のレベルのパイプライン方式を用いて、非常に高速なクロック速度におい
て演算が行えるようにすることが望ましい。
【０１７７】
次に、本発明のＲＮＳワンホット方式におけるスケーリングの問題を考える。
スケーリングでは、定数を用いた数Ｘの除算が行われる。本発明の好適な実施形
態よるスケーリングは、扱う数をＡＭＲ表記して行われる。上記のように、ある
数のＡＭＲ表記におけるＡＭＲ桁をその数のワンホットＲＮＳ表記を利用して決
定する場合、各項を、それぞれのモジュラスで（ワンホットＲＮＳ方式）除算す
る（Ｘ’＝（Ｘ−ａ1）／ｍ1、Ｘ”＝（Ｘ’−ａ2）／ｍ2、．．．）。本発明の
ワンホットＲＮＳ方式による除算は前述の通りである。
【０１７８】
スケーリングに用いられる因数としては２通りの可能性がある。つまり、各Ｒ
ＮＳ方式におけるモジュラスの１つ（または２つ以上のモジュラスの積）に等し
い因数か、そうでない因数かである。因数がモジュラスの１つ（または２つ以上
のモジュラスの積）に等しくない場合、スケーリングを行うＲＮＳ数に対してど
れだけ切り捨てを行えばスケーリング因数で割り切れるようになるのかを、事前
に知ることはできない。従って、切り捨て因数を決定するために、１つ（あるい
は２つ以上）のモジュラスをスケーリング因数に等しくしておかなければならな
い。例えば、４によってスケーリングダウン(scale down)（除算）を行いたい場
合、まず、整数ｍｏｄ（４）（新しいＲＮＳ桁）を求め、剰余（新しい桁の値）
０、１、２または３を各ＲＮＳ桁から引くことにより、その整数を４の整数倍の
数にする。
【０１７９】
スケーリング因数が、残っているモジュラスの中の１つに等しい場合、切り捨
て因数が分かる。切り捨て後は、切り捨て因数に等しいＲＮＳ桁の値は０になる
。除算後は、この桁は消去される。切り捨て因数に等しいＲＮＳ桁の値が０にな
り、実質的に消去されても、他のモジュラスに対する除算を行って、正しい唯一
の解を得ることができる。これは、ダイナミックレンジがスケーリング因数によ
って減少しても、スケーリングされた数のダイナミックレンジも同じだけ減少し
ており、このＲＮＳ方式の新しい範囲に適合するからである。ここで、消去され
たモジュラスを再生することにより、元のダイナミックレンジを復元できる。
【０１８０】
上記いずれの場合も、除算の問題に関して重要なのは、残っているＲＮＳ桁を
用いて別のＲＮＳ桁を生成することである。つまり、（１）除数と消去された１
つモジュラス（または２つ以上のモジュラスの積）とが等しくない場合には、被
除数が除数で割り切れるようにその整数に対して切り捨て／切り上げを行うこと
ができるように、除算の前に別のＲＮＳ桁の生成を行い、（２）除数と消去され
た１つモジュラス（または２つ以上のモジュラスの積）とが等しい場合には、除
算の後に別のＲＮＳ桁を生成して、その除算で失われたモジュラスを再生する。
これは、従来の技術で説明した「基数拡張」と呼ばれる方法によって行われる。
この方法自体はもはや一般的なものであるが、本発明のワンホットＲＮＳ方式と
組み合わせることによって独自の特徴を呈する。
【０１８１】
図２２は、１３、５、７、１１、２ＲＮＳ方式に基づくスケーラの回路を示す
ブロック図である。ここでは、スケーリング因数は５×１３＝６５である。図２
２の回路では、モジュラス５桁およびモジュラス１３桁が一旦消去されるが、こ
れらの桁は後に再生されて１３、５、７、１１、２ＲＮＳ方式の完全な範囲が再
構築される。残された３つのＲＮＳ桁は、乗算器５２、５４および５６出力とし
て得られる。この図２２の回路は図１６（ａ）に示した回路に類似であり、ＡＭ
Ｒ表記の数のａ1〜ａ5を求めるために用いられる。
【０１８２】
ａ3、ａ4およびａ5が得られたところで、上記の等式を用いてスケーリングで
失われたｘ1／６５およびｘ2／６５を再生する。
【０１８３】
ｘ1／６５＝（（ａ3）ｍｏｄ（１３）＋（ａ4×７）ｍｏｄ（１３）＋
（ａ5×７×１１）ｍｏｄ（１３））ｍｏｄ（１３）
ｘ2／６５＝（（ａ3）ｍｏｄ（５）＋（ａ4×７）ｍｏｄ（５）＋（ａ5
×７×１１）ｍｏｄ（５））ｍｏｄ（５）
加算器／減算器７４の一方の入力は、ワンホット形式のａ3ｍｏｄ（１３）で
あり、加算器／減算器７４の他方の入力は、ａ4ｍｏｄ（１３）に７を掛けたも
のである。ａ4のとり得るワンホットＲＮＳ値の範囲は０〜１０であり、７を掛
けると、０〜７０の範囲のｍｏｄ（１３）値が得られ、これが加算器／減算器７
４の入力となる。この加算器／減算器７４への入力の残りのワンホットラインは
ローに接続される。加算器／減算器７６への各入力は、（ａ4×７）ｍｏｄ（５
）＝（ａ4×５）ｍｏｄ（５）＋（ａ4×２）ｍｏｄ（５）＝（ａ4×２）ｍｏｄ
（５）である。このように、乗算器７２によってａ4に２が掛けられる。また、
図１７および図１８に類似の回路を用いて、ｍｏｄ（１１）ワンホットＲＮＳ信
号からｍｏｄ（５）ワンホットＲＮＳ信号へのａ4の変換を行うこともできる。
【０１８４】
加算器／減算器７４および７６の出力（それぞれ、（ａ3）ｍｏｄ（１３）＋
（ａ4×７）ｍｏｄ（１３）および（ａ3）ｍｏｄ（５）＋（ａ4×７）ｍｏｄ（
５））は、それぞれ、加算器／減算器８２および８４の第１の入力に接続される
。さらに、（ａ5×７×１１）ｍｏｄ（１３）および（ａ5×７×１１）ｍｏｄ（
５）は、加算器／減算器８２および８４の第２の入力に接続される。これにより
、６５による除算で失われたＲＮＳ桁の再生が完了する。Ｘの値の範囲に応じて
、ａ5が正しく解釈されるように注意しなければならない。第１の解釈では（Ｘ
の範囲が正のみの場合）、ａ5は０または＋１の値をとり得る。ここで、ａ5ｍｏ
ｄ（５）およびａ5ｍｏｄ（１３）は共にａ5に等しい（即ち、０または＋１）。
第２の解釈では（Ｘの範囲が正および負の場合）、ａ5は０または−１の値をと
り得る。ここで、ａ5が０である場合、ａ5ｍｏｄ（５）およびａ5ｍｏｄ（１３
）は０であるが、ａ5が−１である場合、ａ5ｍｏｄ（５）は４、ａ5ｍｏｄ（１
３）は１２である。よって、ａ5の２本のワンホットＲＮＳラインを乗算器７８
および８０に入力する前の、これらのラインの再表記は、Ｘの範囲が正のみであ
る場合と、正および負の場合とで異なったものとなる。
【０１８５】
最後に、（ａ5×７×１１）ｍｏｄ（１３）＝（ａ5×７７）ｍｏｄ（１３）＝
（ａ5×６５）ｍｏｄ（１３）＋（ａ5×１２）ｍｏｄ（１３）＝（ａ5×１２）
ｍｏｄ（１３）であり、（ａ5×７×１１）ｍｏｄ（５）＝（ａ5×７７）ｍｏｄ
（５）＝（ａ5×７５）ｍｏｄ（５）＋（ａ5×２）ｍｏｄ（５）＝（ａ5×２）
ｍｏｄ（５）であるので、乗算器７８および８０によって掛ける値には、１２お
よび２を用いることができる。このようにして、加算器／減算器８２および８４
の出力は、既に、モジュラス１３およびモジュラス５になっており、それぞれ、
ｘ1／６５およびｘ2／６５である。
【０１８６】
ここまで、本発明のワンホットＲＮＳ方式における様々な基本演算を説明した
が、上記の演算を組み合わせればその他の演算も可能であることは明らかである
。例えば、ワンホットＲＮＳ形式で表記された数Ｘの絶対値を求める場合、まず
、上記の方法によってＸが正か負かを決定し、Ｘが負の場合、ワンホットＲＮＳ
形式でＸに−１を掛ければ良い。同様に、ワンホットＲＮＳ形式の２数Ｘおよび
Ｙを比較する場合、ワンホットＲＮＳ形式によってＸ−Ｙの減算を行い、上記の
方法によってその差（Ｘ−Ｙ）の符号を決定する、および／または、その差が０
であることを検出すれば良い。差「０」の検出は、減算結果をワンホットＲＮＳ
表記したときの「０」ラインが全てハイであることを検出して行えば良い。
【０１８７】
本発明のワンホットＲＮＳ方式によるデジタル信号またはデジタル情報の処理
が終了した後、さらなる情報の処理、格納ならびに他のハードウェアあるいは相
対的に離れた位置への転送を行うために２進数方式へ戻される場合がほとんどで
ある。また、本発明のワンホットＲＮＳ方式によって特定の処理を行い、１つあ
るいは複数の処理を行うために２進数に変換し、そして、本発明のワンホットＲ
ＮＳ方式に再変換してさらなる処理を行う場合もある。
【０１８８】
本発明のワンホットＲＮＳ方式から２進数への変換を行う場合、数Ｘのワンホ
ットＲＮＳ表記を用いて、ＸをＡＭＲ表記したときのａn値を（ワンホット方式
に基づいて）決定する。
【０１８９】
Ｘ＝ａ1＋ａ2×ｍ1＋ａ3×（ｍ1×ｍ2）＋．．．＋ａN-1×（ｍ1×ｍ2
×．．．×ｍN-2）＋ａN×（ｍ1×ｍ2×．．．×ｍN-2×ｍN-1）
但し、各ａnの値は変数であるが、その全モジュラスは所定の（既知の）値で
ある。よって、Ｘについての上記の等式は、
Ｘ＝ａ1＋ａ2×ｃ1＋ａ3×ｃ2＋．．．＋ａN-1×ｃN-2＋ａN×ｃN-1
但し、ｃ1、ｃ2、．．．は、所定の（既知の）定数である。
【０１９０】
ワンホットＲＮＳ表記された数を用いて、ワンホット形式の各ａnの値を決定
する方法については、図１６（ａ）を参照して先に説明した通りである。ワンホ
ット形式のａnの様々な値が与えられたとき、それらの値は、ａnの２進数表記の
完全に復号された値に等しい。これをふまえて、２進数への最終的な変換を行う
非常に簡便な方法として、ワンホット形式のａnの各値を復号アドレスとして（
ＲＯＭ等の）チップ上にある関連したルックアップテーブル（以下、ＬＵＴ）に
格納する方法がある。このルックアップテーブルは、それぞれ、ａnでアドレス
されたとき、２進数形式でａn×ｃn-1を出力するようにプログラムされている。
これらの出力を標準的な２進数加算器を用いて加算する。これは、図２３に示さ
れている。
【０１９１】
図２３および関連する等式について、各ルックアップテーブル（ＬＵＴ）に必
要なエントリ（アドレス）の数は、ＸをワンホットＲＮＳ表記したときのモジュ
ラスに関連する値に依存するが、いずれの場合も、各ルックアップテーブルは比
較的小さい。また、最小の定数はｃ0＝１であり、最大の定数はｃN-1である。変
数ａ1〜ａNのそれぞれがとり得る最大値は、そのワンホットＲＮＳ方式の各モジ
ュラスに依存するが、ａN×ｃN-1はａ1よりもずっと大きくなる。従って、ａN×
ｃN-1に対するルックアップテーブルの出力はａ1に対する出力よりもずっと幅広
（多ビット）になる。それでも、その２進数加算器（あるいは、カスケードされ
た加算器）に対して必要とされる幅同様、最も幅広のルックアップテーブル出力
に対して必要な出力の幅は適当なものである。従って、２進数加算器の出力は、
ビットシリアルまたはバイトシリアル形式等の完全並列形式(full parallel for
m)以外の形式で読み出される場合があるものの、高速性の観点から、全幅ルック
アップテーブルおよび２進数加算器が好まれる。例えば、図１６（ａ）の説明の
際に用いられた１３、５、７、１１、２ＲＮＳ方式の場合、その合計範囲は１３
×５×７×１１×２＝１０,０１０（１０進）である。この範囲は、幅１３ビッ
ト＋キャリービットの加算器で２進数表記できる。正のみの範囲を考えると、Ｎ
番目のルックアップテーブルが２進数形式で収容する必要がある出力は、１３×
５×７×１１＝５００５である。この出力に対して必要な２進数出力幅は１３ビ
ットとなるが、エントリは、０および＋５００５（２進数表記：１００１１１０
００１１０１）の２つで済む。正負の数を含む範囲を考えた場合、Ｎ番目のルッ
クアップテーブルは、０および−５００５（１４ビットの２の補数２進数表記：
１０１１０００１１１００１１）を収容する必要がある。
【０１９２】
本発明の多くの用途において、その演算結果の潜在的な正確さは、２進数形式
に戻す際に必要な程度以上である。よって、Ｘを、
Ｘ＝ａ1＋．．．＋ａn×ｃn-1＋．．．＋ａN×ｃN-1
のようにＡＭＲ表記すると、ＸのＡＭＲ表記におけるｎ＞１である値の項のみを
Ｘの２進数表記への変換に含めれば良いことになる。これもまた、設計の時点で
決定すれば良い。
【０１９３】
これまでに、本発明のワンホットＲＮＳ方式、ならびに２進数から本発明のワ
ンホットＲＮＳ方式へ、またその逆方向の変換方法への様々な応用例を説明した
が、ここで、本発明の典型的な応用例を記載する。図２４は、２進数で入力およ
び出力され、内部ではワンホットＲＮＳ数で処理を行う４タップの有限インパル
ス応答（ＦＩＲ）フィルタを示す図である。図２４の右下に、この図において用
いられている様々な構成要素の名称が書かれている。各ＲＮＳ桁毎の処理の縦列
は、どれも同じ構成となっている（フィルタ入力および係数用の２進数／ワンホ
ットＲＮＳ変換器、乗算器および加算器）。しかし、これらの縦列はそれぞれ別
のワンホットＲＮＳ桁、即ち、別のモジュラス（ワンホットラインの数が異なる
）に対応しており、その詳細なワンホットＲＮＳ回路はそれぞれ異なる。図２４
に示されるフィルタの応答についての等式は、
Ｙout＝（ｃ4＋ｃ3×Ｚ-1＋ｃ2×Ｚー2＋ｃ1×Ｚー3）Ｘin
となる。
【０１９４】
図２４に示されるフィルタの好適な実施形態においては、２進数入力Ｘinは６
ビット２進数信号、２進数出力Ｙoutは８ビット２進数信号、そして、係数ｃ1〜
ｃ4は６ビットであり、内部ワンホットＲＮＳ回路は、２、５、７、１１、１３
ＲＮＳ方式によって動作する。
【０１９５】
図２４に示されるフィルタはデジタル信号処理の一例に過ぎない。このような
デジタル信号処理においては、加算、減算および乗算等の演算を行う際に２進数
加算器に生じがちなリプル通過を考慮して、各演算処理における信号変換の数を
大幅に制限し、多重変換信号をなくしている。これにより、電力の消失を最小限
に抑えつつ高効率且つ高速な信号処理を実現している。本発明のワンホットＲＮ
Ｓ方式による素子は、その機能レベル（即ち、構造の複雑さ）によって、特定の
ライン上に１箇所あるいは複数箇所にわたってラインドライバを設けなければな
らない、あるいは設けるべき場合がある。また、適当なレベルのパイプライン方
式を用いて、ライン容量および他の遅延の原因を排除すべき場合もある。これら
の措置によって、必要に応じてより高速なクロック速度にも対応できる信号処理
が実現される。
【０１９６】
図２４に示されるフィルタ例では、出力の際、信号が２進数形式に再変換され
る。用途によっては、以降の信号処理においてもワンホットＲＮＳ形式で行われ
る場合もある。そのような場合、ワンホットＲＮＳフィルタ出力ラインを次のワ
ンホットＲＮＳ信号処理回路に直接接続することもできる。また、上記例のフィ
ルタの場合、フィルタ処理が全て終了した後に結果のスケーリングを行っている
が、信号処理中のより以前のプロセスにおいてスケーリングを行う方が良い場合
もある。本明細書中に開示される回路例においては、特定の演算を詳細に示した
が、数学的な同一性(mathematical identities)を用いたり、他の順番で演算を
行うことにより、多くの同等な形態が可能である。
【０１９７】
本発明のワンホットＲＮＳ方式の応用例としてＦＩＲフィルタを例に挙げたが
、本発明のワンホットＲＮＳ方式によって他の多くの素子が実現できる。例えば
、変調、復調、信号検出等、従来のデジタル信号プロセッサ（ＤＳＰ）によって
一般的に実現されているほとんど全ての機能が実現可能となる。また、２進数か
ら本発明のワンホットＲＮＳ方式への変換を記載したが、ワンホットＲＮＳ入力
信号が得られる他の方法および装置を用いることもできる。例えば、アナログ／
デジタル専用変換器を用いて、アナログ信号を直接ワンホットＲＮＳ表記に変換
することが可能である。
【０１９８】
本明細書中に開示される概念の別の応用例は、デジタル通信に関するものであ
る。この分野においてはデジタル情報は、パルスの存在が「１」を表し、パルス
がないことで「０」を表す信号によって伝達される。概して、パルス自体は連続
時間の性質を有する。理想的には、デジタル「１」を表すパルス１つ分の長さは
短い方が良いが、多くの場合、このパルスの長さは、そのデジタルビットに割り
当てられた時間よりも長い。このようなパルスは、同じデジタルシーケンス内の
隣接ビットの値（「０」または「１」）の検出に干渉する。この作用は、シンボ
ル間干渉(inter-symbol interference)（ＩＳＩ）として知られている。それ自
体は望ましくないものであるが、バンド幅効率や他の経済的な面を考慮して、Ｉ
ＳＩをデジタル通信チャネル内にあえて導入することもよくある。ＩＳＩは受信
システム内に残り、混線作用(confounding effect)を解明する。
【０１９９】
このＩＳＩの問題に対処するべく、受信システムにおいてデジタル信号処理を
行うことが可能である。つまり、受信システムにおいて、受信信号をサンプルし
、アナログ／デジタル変換器を用いてそれをデジタル化するのである。通常、サ
ンプリングレートはビットレートに等しい。このようにサンプルされたデータシ
ーケンスもＩＳＩを示す。つまり、デジタル「１」を表す時間連続パルスが、サ
ンプルデータパルスとなる。このサンプルデータパルスの長さ（継続時間）は、
１ビット時間よりも長いため、隣接ビットの検出に干渉する。
【０２００】
１ビット時間内にパルスの長さを納めておくために、サンプルデータ「等化」
フィルタを信号路に配設しても良い。先に説明したような、ＦＩＲフィルタをこ
の用途に用いることが可能である。しかし、ノイズが存在する場合（高周波ノイ
ズの増幅に起因）、そのエラーレートを考えるとこのような方法が最良でないこ
とは、デジタル通信の分野では周知である。また別の解決方法は「判定帰還等化
器(DecisionFeedback Equalizer)」（ＤＦＥ）の使用である。これもやはり最
良の手段ではないが、その簡便性によって関心を集めている。その性能は、等化
フィルタよりも優れている。
【０２０１】
図２５のブロック図にはＤＦＥが示されており、２つのＦＩＲフィルタおよび
比較器を含んでいる。これらのフィルタは、それぞれ、Ｇ（ｚ）、Ｈ（ｚ）とし
て示されている。サンプルデータ入力パルスはＩＳＩを示す。このＩＳＩは、「
前方部」ＩＳＩおよび「後方部」ＩＳＩの２つの成分に分解される。ＦＩＲフィ
ルタＧ（ｚ）は、「前方部」ＩＳＩを除去する目的で設けられている。上記の等
化フィルタと対照的に、概して、Ｇ（ｚ）は、「前方部」ＩＳＩを除去しつつ高
周波ノイズを増幅しないように設計することができる。ＦＩＲフィルタＨ（ｚ）
は「後方部」ＩＳＩを除去する目的で設けられている（除去されなければ、「後
方部」ＩＳＩは以降のビットの検出に干渉する）。Ｈ（ｚ）は、比較器の出力に
よって作動するので、ノイズの発生に寄与しない。フィルタがＩＳＩを除去すれ
ばするほど、比較器へ入力される信号のＩＳＩが低減され、比較器がパルスの有
無を検出しやすくなる。パルスの有無の検出は、入力が閾値より高いか低いかに
基づいて行われる。
【０２０２】
上記ＤＦＥ内のデジタル信号処理ブロックの代わりに、ＲＮＳ処理ブロックを
用いても良い。ＦＩＲフィルタは、（出力においてＲＮＳ／２進数変換あるいは
スケーリングブロックのない）上記フィルタと同様のものであって良い。加算接
合(summingjunction)は１つのＲＮＳ減算器である。比較器は、（閾値を設定す
るための）減算器とＲＮＳ符号検出ブロックとを組み合わせて形成できる。閾値
が固定されれば、減算器ブロックは、トランジスタなしの単なるラインの再表記
（再配線）になる。入力値が「０」および「１」の２つしかないことが分かって
いるので、フィルタＨ（ｚ）も簡略化できる。具体的には、Ｈ（ｚ）への入力に
おける２進数／ＲＮＳ変換器は重要でなくなる。
【０２０３】
本発明のワンホットＲＮＳ方式は、チップ面積に関しては不十分なものである
。しかし、このスキームを用いた演算ブロックが簡潔に構成されるのでライン上
の負荷は小さい。あるいは、負荷が全くない場合もある。これによって、電力の
消失が最低限に抑えられ、処理速度が最大化される。また、本発明の好適な実施
形態においては、各桁のワンホット物理的表記による多重ＲＮＳ記数方式を用い
たが、ワンコールド(one-cold)方式を代わりに用いても良い。さらに、各桁の各
ラインがそれぞれ独自にその状態を定義されていても良い。しかし、論理的状態
の割り当てとしては、本明細書中に記載されたワンホット構成が好ましい。
【０２０４】
上記のように、本発明の様々な実施形態を詳細に記載且つ開示したが、本発明
の概念および範囲から逸脱することなく、その形態および細部に様々な改変を行
うことは、当業者にとっては自明である。
【０２０５】
本発明によれば、ワンホットＲＮＳ形式で表された入力を受け取り、ワンホットＲＮＳ形式で出力を行う処理回路部を用いて信号を処理するステップおよび装置とを有する信号処理方法および装置が提供される。
【０２０６】
ＲＮＳ方式とワンホットスキームとを組み合わたワンホットＲＮＳ形式をデジ
タル信号処理に利用することにより、 ＲＮＳ方式による高速化と、ワンホット
スキームによる信号活性レベルおよび信号ラインの負荷の低減による低電力化が
可能な信号処理方法および装置を提供することができる。
【図面の簡単な説明】
【０２０７】
【図１】（ａ）は、特定の回路図を簡略化するための２方向性スイッチ記号を示し、（ｂ）は、（ａ）のスイッチ記号にあたる実際のＭＯＳ回路を示す。
【図２】ワンホットＲＮＳ方式で表記された２数のモジュラス３桁同士を加算する回路の一例を示す回路図である。
【図３】ワンホットＲＮＳ方式で表記された２数のモジュラス３桁同士の減算を行う回路の一例を示す回路図である。
【図４】ワンホットＲＮＳ方式で表記された２数のモジュラス３桁同士の乗算を行う回路の一例を示す回路図である。
【図５】３、５、７ワンホットＲＮＳ方式において、整数１０のＲＮＳ等価値（１０３）を任意のワンホットＲＮＳ入力に加算する回路の一例を示す回路図である。
【図６】３、５、７ワンホットＲＮＳ方式において、整数１０のＲＮＳ等価値（１０３）を任意のワンホットＲＮＳ入力から減算する回路の一例を示す回路図である。
【図７】３、５、７ワンホットＲＮＳ方式において、１０による乗算を行う回路の一例を示す回路図である。
【図８】３、５、７ワンホットＲＮＳ方式において、符号の反転（−１による乗算）を行う回路の一例を示す回路図である。
【図９】ワンホットＲＮＳ方式において、特定の演算を連結して行う回路の一例を示す回路図である。
【図１０】符号なしの２進数から３、５、７ワンホットＲＮＳ表記への変換を行う回路を示すブロック図である。
【図１１】符号なしの２進数から３、５、７ワンホットＲＮＳ表記のモジュラス３桁およびモジュラス５桁への変換を行う回路を示すブロック図である。
【図１２】符号なしの２進数からワンホットＲＮＳ表記のモジュラス３桁への変換を行う別の回路を示すブロック図である。
【図１３】特定のワンホットＲＮＳ入力ラインの状態が予め決まっている場合に可能となる回路の簡略化を加算器回路の例で示す回路図である。
【図１４】符号なしの２進数から３、５、７ワンホットＲＮＳ表記への変換を行う回路であって、最上位ビットから順に変換を行うタイプのものを示すブロック図である。
【図１５】２の補数の２進数で表記した数を、その数のワンホットＲＮＳ表記に変換する回路を示すブロック図である。
【図１６】（ａ）は、１３、５、７、１１、２ワンホットＲＮＳ形式で表現された数Ｘの符号を決定する回路を示すブロック図であり、（ｂ）は（ａ）において用いられている、ある値のモジュラス（ラインの数）の変換を示す記号を示す図である。
【図１７】図１６（ａ）の減算器３０のための、モジュラスを１３から５に変換する回路を示す回路図である。
【図１８】図１６（ａ）の減算器３６のための、モジュラスを１３から２に変換する回路を示す回路図である。
【図１９】図２０または図２１と組み合わされ、ｘ2−ａ1ｍｏｄ（５）のライン０またはライン１について、図１７の回路と図１６（ａ）の減算器３０との連結を説明するための図である。
【図２０】図１９と組み合わされ、ｘ2−ａ1ｍｏｄ（５）のライン０について、図１７の回路と図１６（ａ）の減算器３０との連結を説明するための図である。
【図２１】図１９と組み合わされ、ｘ2−ａ1ｍｏｄ（５）のライン１について、図１７の回路と図１６（ａ）の減算器３０との連結を説明するための図である。
【図２２】スケーラおよびワンホットＲＮＳ方式によるスケーリングによって失われたＲＮＳ桁を再生するための回路を示すブロック図である。
【図２３】ワンホットＲＮＳ形式で表現された数Ｘを２進数表記に変換する回路の一例を示すブロック図である。
【図２４】２進数で入力および出力され、内部ではワンホットＲＮＳ数で処理を行う４タップ有限インパルス応答（ＦＩＲ）フィルタを示す図である。
【図２５】判定帰還等化器（ＤＦＥ）を示すブロック図である。
【符号の説明】
【０２０８】
ＳＷ１〜ＳＷ９  ２方向性スイッチ
【図１】
2007181236.tif 000014
【図２】
2007181236.tif 000015
【図３】
2007181236.tif 000016
【図４】
2007181236.tif 000017
【図５】
2007181236.tif 000018
【図６】
2007181236.tif 000019
【図７】
2007181236.tif 000020
【図８】
2007181236.tif 000021
【図９】
2007181236.tif 000022
【図１０】
2007181236.tif 000023
【図１１】
2007181236.tif 000024
【図１２】
2007181236.tif 000025
【図１３】
2007181236.tif 000026
【図１４】
2007181236.tif 000027
【図１５】
2007181236.tif 000028
【図１６】
2007181236.tif 000029
【図１７】
2007181236.tif 000030
【図１８】
2007181236.tif 000031
【図１９】
2007181236.tif 000032
【図２０】
2007181236.tif 000033
【図２１】
2007181236.tif 000034
【図２２】
2007181236.tif 000035
【図２３】
2007181236.tif 000036
【図２４】
2007181236.tif 000037
【図２５】
2007181236.tif 000038