(57)【要約】【課題】ハードウェア経費を削減することができる除算回路の提供。【解決手段】許容誤差内の整数除算回路である信号処理装置はポインタ、第一の左シフタ、第二の左シフタ、減数器、乗数器、及び右シフタが含まれる。ポインタは除数の最上位ノンゼロビットを求めて、最上位バイト値を出力する。第一の左シフタは、第一の指数計数を生ずる為に最上位バイト値に従ってシフト操作を行う。第二の左シフタは、第二の指数係数を生ずる為に最上位バイト値に従ってシフト操作を行う。減数器は除数、第一の指数係数、第二の指数係数に従って乗数を計算し、乗数を乗数器に出力する。乗数器は入力値を乗数と掛け合わせその結果を右シフタに出力する。右シフタは計算結果を出力する。【選択図】図１
2010067251.tif 000002
【特許請求の範囲】
【請求項１】
除数の最上位ノンゼロビットを求めて最上位バイト値を出力する、ポインタと、
ポインタに電気的に接続され、最上位バイト値に従ってシフト操作を行い、第一の指数係数を生成する、第一の左シフタと、
ポインタに電気的に接続され、最上位バイト値に従ってシフト操作を行い、第二の指数係数を生成する、第二の左シフタと、
第一の左シフタ及び第二の左シフタに電気的に接続され、除数、第一の指数係数、及び第二の指数係数に従って荷重調整処理を行い、乗数を出力する、減算器と、
減算器と右シフタとの間に接続され、乗数と入力値を掛け合わせた乗算結果を指数右シフト操作の為に右シフタに出力する、乗算器、及び
乗数を用いて乗算器の出力結果に指数右シフト操作を行い計算結果を出力する、右シフタ、を具備してなる、
許容誤差内の整数除算回路。
【請求項２】
前記ポインタは、第一のノンゼロビットを除数の最上位バイトから最下位バイトまで順次求め、そのノンゼロビットのバイト位置値を記録し、最上位バイト値を出力する、請求項１に記載の許容誤差内の整数除算回路。
【請求項３】
前記減算器は、第一の減算器と第二の減算器からなり、第一の減算器が第一の左シフタに接続し、第二の減算器が第一の減算器と第二の左シフタに接続しており、第一の減算器が第一の仮補間値を出力する為に、除数と第一の指数係数の補間計算を行い、乗数を出力する為に第二の減算器が第一の仮補間値と第二の指数係数の補間計算を行う、請求項１に記載の許容誤差内の整数除算回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は演算回路に関するものであり、特にデジタル画像信号についてビット演算器を用いて整数除算を行う演算回路に関するものである。
【背景技術】
【０００２】
従来の信号処理における整数除算に関しては、乗数器は主に概数値を採用して来た。
【０００３】
【数１】
2010067251.tif 000003
この場合、方程式１（数１）における「１４」は２のべき乗に変換され（例えば、「１０２４」）、方程式１（数１）は方程式２（数２）に修正される。
【０００４】
【数２】
2010067251.tif 000004
方程式２（数２）より一般方程式３（数３）が得られる。
【０００５】
【数３】
2010067251.tif 000005
【０００６】
Ｃ＝Ｓ／Ｄ、Ｓは２のべき乗である。
従来の技術では、分母が２のべき乗の場合、右シフト操作を用いて除数演数を置き換えた。故に、単に一つの乗数器と一回のビット演算により除算器が得られる。これは除数Ｄが固定値であり回路の設計に先立って簡略される必要があるという前提によるものである。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら実際には信号処理が進むにつれて除数Ｄは変化する。そこで、もし本発明が上記の様に除算器に取って替わる事を意図するならば、乗数Ｃをコンピュータ機器のメモリにあらかじめ記憶させておく必要がある。除数Ｄの変動範囲が広いほどより多くの変数Ｃを記憶する必要があり、それによりメモリの容量も拡大しなければならない。
【課題を解決するための手段】
【０００８】
従って、本発明は除数（Ｄ）に従って乗数（Ｃ）及びシフト数（Ｓ）を同時に生じさせる事に適した信号処理装置を対象とする。
【０００９】
上記の目的を達成する為に、本発明はポインタ、第一左シフタ、第二左シフタ、減算器及び右シフタを備える信号処理装置を提供する。
ポインタは、除数の最上位ノンゼロビットを求め、最上位ビットの位置を出力する。ポインタは第一の左シフタと第二の左シフタのそれぞれに電気的に接続している。
第一の左シフタは、第一指数係数を生成する為に最上位バイト値に従ってシフト操作を行う。第二の左シフタは第二の指数係数を生成する為に最上位バイト値に従ってシフト操作を行う。
減算器は第一左シフタ及び第二左シフタに電気的に接続されている。減算器は乗数、第一の指数係数、第二の指数係数に従って適当な乗数を計算し、乗数器に乗数を出力する。
乗数器は入力された値Ｎと乗数を掛け合わせて乗数演算の結果を右シフタに出力する。右シフタは乗数演算の結果に従って指数の右シフト操作を行い、計算の結果を出力する。
【発明の効果】
【００１０】
本発明の提供する許容誤差内の整数除算回路は、指数係数を用いて線形補間計算を行い、整数除算回路がビット操作と乗数による除算演算に取ってかわり、これにより除算回路のハードウェア経費を削減することができる。
【発明を実施するための最良の形態】
【００１１】
本発明は、下記の説明の目的でのみ提供され本発明を制限するものでは無く、詳細な説明によってより完全に理解することができる。
【実施例】
【００１２】
図１は本発明のシステムのアーキテクチャーの略図である。
図１に参照される許容誤差内の整数除算回路３００はポインタ３１０、第一左シフタ３２０、第二左シフタ３３０、減算器３４０、乗算器３５０、右シフタ３６０を含む。
【００１３】
除数の入力後、ポインタ３１０は除数の最上位ノンゼロビットを求め、最上位ノンゼロビットの位置を出力する。
最上位ノンゼロバイトを求める段階は次の通りである。ポインタ３１０は第一のノンゼロビットを最上位バイトから最下位バイトまで順次求め、このビットのバイト位置値を記録し、最上位バイト値を出力する。
ポインタ３１０は第一の左シフタ３２０と第二の左シフタ３３０のそれぞれに電気的に接続している。
【００１４】
第一の左シフタ３２０は最上位バイト値に従って左シフト操作を行い、第一の指数係数を生成する。第二の左シフタ３３０は最上位バイト値に従って左シフト操作を行い、第二の指数係数を生成する。
【００１５】
減数器３４０は第一の左シフタ３２０と第二の左シフタ３３０に電気的に接続している。
減数器３４０は除数、第一の指数係数、第二の指数係数に従った乗数を出力する。減数器３４０は更に第一の減数器３４１及び第二の減数器３４２を含む。
第一の減数器３４１は第一の左シフタ３２０と電気的に接続しており、第二の減数器３４２は第一の左シフタ３４１と第二の左シフタ３３０と電気的に接続している。
【００１６】
乗数器３５０は減数器３４０に電気的に接続され、乗数と入力値をそれぞれ受信する。
乗数器３５０は乗数と入力値を掛け合わせて乗数計算の結果を右シフタ３６０に出力する。右シフタ３６０は乗数計算の結果に指数の右シフト操作を行う事により計算結果を出力する。
【００１７】
本発明の操作の流れより手軽に説明する為に下記の例が挙げられるが、本発明はこの応用に限るものでは無い。入力除数を「１４（１１１０ｂ）」とし、被除数を「１００（１１００１００ｂ）」とし、「１００／１４」の値の計算が必要であるとする。「１１１０ｂ」の左の最上位バイトから、右の最下位バイトまでの間で第一のノンゼロ位置値を求める。「１１１０ｂ」の第一のノンゼロ位置値が「４」なので、最上位バイト値は「４」である。
【００１８】
この実施例では、第一の左シフタは、最上位バイト値「４」に従って指数の左シフト操作を行い最上位バイト値から１を減ずることにより、第一の指数係数「２4-1」を生ずる。第二の左シフタは最上位バイト値「４」に従って指数の左シフト操作を行い、第二の指数係数「２4」を生ずる。
第一の減数器３４１は除数から第一の指数係数を減じ、第一の仮補間値「１４−２3」を出力する。第二の減数器３４２は第二の指数係数から第一の仮補間値「１４−２3」を減じ、乗数「２4−（１４−２3）」＝「１０」を生ずる。
【００１９】
そして次の数式に表わされる様に、右シフタ３６０は被除数「１００」及び乗数をそれぞれ受け入れ、次に乗数に従って入力値の指数右シフト操作を行い、計算結果を出力する。
【００２０】
【数４】
2010067251.tif 000006
【００２１】
最終的に得られた計算結果は「１０＊１００／２7＝７．８１２５」である。
【００２２】
図２は本発明と浮動小数点除算器のエラー値を表す。図２に関しては、実線が浮動小数点除算器の計算結果を表し、点線が本発明の計算結果を表す。上記の例によると、除数が１６より小さい場合に激しいエラーが生じ、そこでも除数が３の時のエラーが最も激しく、４．１６％である。
故に、より高度な正確性を要する一部のアプリケーションへの応用については、本発明は１６より小さい乗数を記録し、１６より大きい値に関してのみ同時に乗数とシフト数を生ずる事が出来る。この方法では、本発明の最大誤差は僅か０．００５３５０（０．５３５％）であり、これは一部のアプリケーションについては許容範囲である。
更に、携帯用コンピュータ装置についてはハードウェア構成コストが減少出来る。これは、ほとんど同様の演算結果が既存のハードウェアのアーキテクチャーを用いるのみで行えるからである。
【００２３】
本発明の提供する許容誤差内の整数除算回路３００は、直線補間計算を行う為に指数係数を利用し、許容誤差内の整数除算回路３００はビット操作による除数操作による除数演算にとって代わるものであり、これにより許容誤差内の整数除算回路３００に関するハードウェアのコストも減少される。
【図面の簡単な説明】
【００２４】
【図１】本発明のシステムのアーキテクチャーの概略図。
【図２】本発明と従来の技術の誤差値を表す図。
【図１】
2010067251.tif 000007
【図２】
2010067251.tif 000008