JPH0314128A - 対数表現数値利用の演算装置 - Google Patents
対数表現数値利用の演算装置Info
- Publication number
- JPH0314128A JPH0314128A JP1151108A JP15110889A JPH0314128A JP H0314128 A JPH0314128 A JP H0314128A JP 1151108 A JP1151108 A JP 1151108A JP 15110889 A JP15110889 A JP 15110889A JP H0314128 A JPH0314128 A JP H0314128A
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic
- input
- lookup table
- numerical value
- arithmetic unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 abstract description 8
- 238000004364 calculation method Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 11
- 230000009466 transformation Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000007792 addition Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
コンピュータなどのディジタル装置において、画像デー
タ、音声データ、メモリのアドレス値、画像配列上の座
標値などディジタル数値(特に固定小数点数)で表現さ
れるデータを高速に精度よく演算することに関する。
タ、音声データ、メモリのアドレス値、画像配列上の座
標値などディジタル数値(特に固定小数点数)で表現さ
れるデータを高速に精度よく演算することに関する。
(従来の技術)
従来、固定小数点数で表されたデータは、固定小数点数
のまま固定小数点演算法で、または浮動小数点数に変換
して浮動小数点演算法で演算されていた。固定小数点演
算の場合演算速度は速いが、演算誤差が大きく、また、
ダイナミックレンジも小さく、演算の途中結果が大きく
なる場合、数値が表現できない欠点かある。浮動小数点
演算で行う場合、演算誤差は比較的小さいが、演算速度
が遅く、演算装置も複雑になる欠点がある。
のまま固定小数点演算法で、または浮動小数点数に変換
して浮動小数点演算法で演算されていた。固定小数点演
算の場合演算速度は速いが、演算誤差が大きく、また、
ダイナミックレンジも小さく、演算の途中結果が大きく
なる場合、数値が表現できない欠点かある。浮動小数点
演算で行う場合、演算誤差は比較的小さいが、演算速度
が遅く、演算装置も複雑になる欠点がある。
また従来から、固定小数点演算法、浮動小数点演算性以
外の演算法で、対数表現数値演算法(Logarith
micArithmetic)という高速で精度のよい
演算法が知られている(例えば、文献:に1ngsbu
ry and Rayner、”Digital fi
lteringusing logarithmic
arithmetic”、 E、1ectronLet
t、、 vol、7. pp、56−58. Feb、
1971)。その数値演算の原理を以下で示す。
外の演算法で、対数表現数値演算法(Logarith
micArithmetic)という高速で精度のよい
演算法が知られている(例えば、文献:に1ngsbu
ry and Rayner、”Digital fi
lteringusing logarithmic
arithmetic”、 E、1ectronLet
t、、 vol、7. pp、56−58. Feb、
1971)。その数値演算の原理を以下で示す。
対数表現数値演算法について:
対数表現数値演算法においては、数値は式(1)のよう
に表現される。
に表現される。
5dsd+d2”・dmf+f2・・・f、
(1)ここて、S r d i 、f I
は0または1でSは数値の符号、d−部とf一部の間に
は小数点があるとし、従って、d(3) 部は整数部、f一部は小数部である。対数の底は暗黙の
値で1より大きい数aである。式(1)は式(2)の値
を表す。
(1)ここて、S r d i 、f I
は0または1でSは数値の符号、d−部とf一部の間に
は小数点があるとし、従って、d(3) 部は整数部、f一部は小数部である。対数の底は暗黙の
値で1より大きい数aである。式(1)は式(2)の値
を表す。
±atJ2d+d2°dml12−1n
(2)従って、d一部とf一部は小数部のある固定小
数点数で数値の指数である。対数表現数値演算法におい
ては、乗除算は指数の固定小数点演算の加算または減算
である。従って、演算誤差はなく、高速にてきる。加算
を説明する。二つの数axとavの加算を考える。その
和をazとすると、2を求めることが加算である。
(2)従って、d一部とf一部は小数部のある固定小
数点数で数値の指数である。対数表現数値演算法におい
ては、乗除算は指数の固定小数点演算の加算または減算
である。従って、演算誤差はなく、高速にてきる。加算
を説明する。二つの数axとavの加算を考える。その
和をazとすると、2を求めることが加算である。
az:ax+av:ax(1+ay−x)(3)である
から、aを低とする対数をとると、式(3)%式%(4
) となる。’Oga(1+a−ly−x+)は1y−xl
の関数であるから、1y−xlをアドレスとするルック
アップテーブルにより高速に演算できる。従って、対数
表現数値演算法における加算は高速にできる。X≦yの
場合はXとyを交換するだけで、同じように演算できる
。
から、aを低とする対数をとると、式(3)%式%(4
) となる。’Oga(1+a−ly−x+)は1y−xl
の関数であるから、1y−xlをアドレスとするルック
アップテーブルにより高速に演算できる。従って、対数
表現数値演算法における加算は高速にできる。X≦yの
場合はXとyを交換するだけで、同じように演算できる
。
(4)
次に減算であるが、aXからavを減じる場合、答えを
a2とすると、 az=aX−a’=a”(1−a ”−91)(X>
yの場合) (5) となり、対数をとると、 z=x+loga(1−a−”−ν’)
(6)となる。従って、loga(1−a−X−
”)をルックアップテーブルで予め用意しておけは、2
は高速に演算できる。X<yの場合はXとyを入れ替え
た形で上記と同様にてきる。x=yのときは真の値はゼ
ロであるが、式(2)はゼロを表現できないのでゼロに
最も近い数を与える(ルックアップテーブルでそのよう
に用意しておく)。従って、2は負の数で表現可能な絶
対1直の最も大きい値となる。
a2とすると、 az=aX−a’=a”(1−a ”−91)(X>
yの場合) (5) となり、対数をとると、 z=x+loga(1−a−”−ν’)
(6)となる。従って、loga(1−a−X−
”)をルックアップテーブルで予め用意しておけは、2
は高速に演算できる。X<yの場合はXとyを入れ替え
た形で上記と同様にてきる。x=yのときは真の値はゼ
ロであるが、式(2)はゼロを表現できないのでゼロに
最も近い数を与える(ルックアップテーブルでそのよう
に用意しておく)。従って、2は負の数で表現可能な絶
対1直の最も大きい値となる。
累乗演算も高速にてきる。例えば、ある数XのU乗(X
υ、Uは実数)の計算が非常に高速にできる。
υ、Uは実数)の計算が非常に高速にできる。
対数表現数値では指数を0倍すればよい。極端な例は平
方と平方根の計算である。平方の計算は指数を1ピツト
左シフトするだけである。平方根の場合は指数を1ビツ
ト右シフトするだけである。
方と平方根の計算である。平方の計算は指数を1ピツト
左シフトするだけである。平方根の場合は指数を1ビツ
ト右シフトするだけである。
また、対数表現数値演算法は同条件(同じ程度のダイナ
ミックレンジと一語のビット数が同し)の浮動小数点演
算よりも演算精度が高いことが知られている(例えは、
文献: Kurokawa、 Payneand Le
e、”Error analysis of recu
rsive digi−tal filters
implemented with logari
thmicnumber systems”、 IEE
E Trans、 Acoust、、 5peecha
nd Signal Processing、 vol
、、 A、5SP−28,1311,706715、D
ec、 1980)。
ミックレンジと一語のビット数が同し)の浮動小数点演
算よりも演算精度が高いことが知られている(例えは、
文献: Kurokawa、 Payneand Le
e、”Error analysis of recu
rsive digi−tal filters
implemented with logari
thmicnumber systems”、 IEE
E Trans、 Acoust、、 5peecha
nd Signal Processing、 vol
、、 A、5SP−28,1311,706715、D
ec、 1980)。
従来、対数表現数値演算法による処理システムは第2図
で示す構成になっている。対数型アナログアンプ(4)
は、アナログ信号をアナログのまま対数に変換する(X
→Iog、x)装置である。ADコンバータ(5)は通
常のADコンバータであり、アナログ信号をディジタル
信号に変換する。対数表現数値演算性利用の演算装置(
2)は対数表現数値演算法による演算装置である。DA
コンバータ(6)は通常のDAコンバータてあり、デジ
タル信号をアナログ信号に変換する。指数型アナログア
ンプ(7)はアナログ信号をアナログのまま指数変換す
る(X−+ax)。
で示す構成になっている。対数型アナログアンプ(4)
は、アナログ信号をアナログのまま対数に変換する(X
→Iog、x)装置である。ADコンバータ(5)は通
常のADコンバータであり、アナログ信号をディジタル
信号に変換する。対数表現数値演算性利用の演算装置(
2)は対数表現数値演算法による演算装置である。DA
コンバータ(6)は通常のDAコンバータてあり、デジ
タル信号をアナログ信号に変換する。指数型アナログア
ンプ(7)はアナログ信号をアナログのまま指数変換す
る(X−+ax)。
以上のことく構成されるシステムでは、対数型アナログ
アンプ(4)や指数型アナログアンプ(7)という特別
のハードウェアがl・要であり、しかもその特性か対数
表現数値演算性利用の演算装置(2)と整合していなけ
ればならない。また、既存の画像、音声、その他データ
人カ装置によるデータは、そのままでは対数表現数値演
算法°利用のン寅1jlB置(2)への入力データとは
ならない。
アンプ(4)や指数型アナログアンプ(7)という特別
のハードウェアがl・要であり、しかもその特性か対数
表現数値演算性利用の演算装置(2)と整合していなけ
ればならない。また、既存の画像、音声、その他データ
人カ装置によるデータは、そのままでは対数表現数値演
算法°利用のン寅1jlB置(2)への入力データとは
ならない。
しかも、対数表現数値演算性利用の演算装置(2)はデ
ジタル・フィルタ等の限られた分野にしか使われていな
い。
ジタル・フィルタ等の限られた分野にしか使われていな
い。
(発明が解決しようとする課題)
本発明は、上記従来法の欠点を解消するもので、演算速
度が速くて、演算誤差の小さい、しかも簡便な演算装置
を提供することを口約とする。
度が速くて、演算誤差の小さい、しかも簡便な演算装置
を提供することを口約とする。
(問題を解決するための手段)
第1図は本発明の構成を示す図である。入力データ(固
定小数点データなど)を入力ルックアップテーブル(1
)を使用して、対数表現数値に変(7) 数か存在しているからである。例えばm=4.n換して
(入力データが対数表現数値の場合は入力ルックアップ
テーブル(1)を経ないで)、対数表現数値演算性利用
の演算装置(2)へ入力し、そこで演算を行い、その演
算結果は必要に応じて出力ルックアップテーブル(3)
を使用して、固定小数点数または浮動小数点数に変換す
ることにより、または変換しないで対数表現数値のまま
出力することζこより、演算を高速高精度に行うことが
できる。
定小数点データなど)を入力ルックアップテーブル(1
)を使用して、対数表現数値に変(7) 数か存在しているからである。例えばm=4.n換して
(入力データが対数表現数値の場合は入力ルックアップ
テーブル(1)を経ないで)、対数表現数値演算性利用
の演算装置(2)へ入力し、そこで演算を行い、その演
算結果は必要に応じて出力ルックアップテーブル(3)
を使用して、固定小数点数または浮動小数点数に変換す
ることにより、または変換しないで対数表現数値のまま
出力することζこより、演算を高速高精度に行うことが
できる。
(作用)
第3図は対数表現数値の指数(1:整数ではなく、式(
1)の形式の固定小数点数)とそれによるa値の関係(
N=a’、a=2)を示す図である。限られたビット数
(例えは8ビツト)で表されるような整数N(例えば0
−255)は、式(1)でのm+nを比較的大きくとれ
は(例えば、m + n14で、−語16ビツト)底a
を適正に決めることにより相当に精度よ〈式(1)の形
の対数表現数値に変換できる。すなわちNはa・の形で
近似できる。これは整数Nの近傍には多くのa1形式の
(8) もよい。いずれにしても、その数が表現されてい=10
.a=2の場合を考える。これは16ビツトの語長で丁
度可能である。この場合第3図で説明すると、横軸に1
があるが、i−1から1までの間には21[1個の数が
あり(n= 10であるから)、従って縦軸においては
、2゛−1から2・までの間には210個の数がある。
1)の形式の固定小数点数)とそれによるa値の関係(
N=a’、a=2)を示す図である。限られたビット数
(例えは8ビツト)で表されるような整数N(例えば0
−255)は、式(1)でのm+nを比較的大きくとれ
は(例えば、m + n14で、−語16ビツト)底a
を適正に決めることにより相当に精度よ〈式(1)の形
の対数表現数値に変換できる。すなわちNはa・の形で
近似できる。これは整数Nの近傍には多くのa1形式の
(8) もよい。いずれにしても、その数が表現されてい=10
.a=2の場合を考える。これは16ビツトの語長で丁
度可能である。この場合第3図で説明すると、横軸に1
があるが、i−1から1までの間には21[1個の数が
あり(n= 10であるから)、従って縦軸においては
、2゛−1から2・までの間には210個の数がある。
一番数の密度が低いところは、255がNの上限の場合
、254と255の間であるが、ここでも、その間には
約6個の数がある。99から100の間には約15個の
数が存在する。20ヒツトの語長にして、m=4.n=
14.a=2とすると、整数254と255の間ζこは
約92個の数が存在する。従って、あまり大きくない数
Nであれば、相当精度よく対数表現数値に変換すること
が可能である。この変換はルックアップテーブルを使用
すると高速にてきる。
、254と255の間であるが、ここでも、その間には
約6個の数がある。99から100の間には約15個の
数が存在する。20ヒツトの語長にして、m=4.n=
14.a=2とすると、整数254と255の間ζこは
約92個の数が存在する。従って、あまり大きくない数
Nであれば、相当精度よく対数表現数値に変換すること
が可能である。この変換はルックアップテーブルを使用
すると高速にてきる。
すなわち、これが第1図の入力ルックアップテーブル(
1)の働きである。
1)の働きである。
なお、上記の数Nは整数である必要はなく、小数部のあ
る固定小数点数あるい(、l:浮動小数点数てるビット
パターンをアドレスとすれは、ルックアップテーブルを
使用することにより、その数に応じた値を提供できる。
る固定小数点数あるい(、l:浮動小数点数てるビット
パターンをアドレスとすれは、ルックアップテーブルを
使用することにより、その数に応じた値を提供できる。
変換後の計算は対数表現数値演算性利用の演算装置(2
)で行うのでこれも高速高精度にてきる。
)で行うのでこれも高速高精度にてきる。
演算の結果を固定小数点数または浮動小数点数の形に直
して出力する場合、出力の語長な必要に応して長くすれ
ば、精度は落ちない。固定小数点数の出力の場合も精度
を要する場合、小数部のビット数を多くすれはよい。こ
れも出力ルックアップテーブル(3)で用意しておけは
よい。従って、変換は高速にできる。
して出力する場合、出力の語長な必要に応して長くすれ
ば、精度は落ちない。固定小数点数の出力の場合も精度
を要する場合、小数部のビット数を多くすれはよい。こ
れも出力ルックアップテーブル(3)で用意しておけは
よい。従って、変換は高速にできる。
(発明の実施例)
実施例1
画像の幾何学的変換を第4.5図等を使用して説明する
。第4図は画像の幾何学的変換を示す図である。すなわ
ち、原画像(41)から幾何学的変換によって変換後の
画像(42)を得た図である。式(7)は拡大、縮小、
回転、平行移動等の幾何学的変換をするための座標変換
式(アフィン変換の式)である。
。第4図は画像の幾何学的変換を示す図である。すなわ
ち、原画像(41)から幾何学的変換によって変換後の
画像(42)を得た図である。式(7)は拡大、縮小、
回転、平行移動等の幾何学的変換をするための座標変換
式(アフィン変換の式)である。
X+ =a+ IXs+a+ 2Ys+a+ 3〜’I
”a21 X2+a22YO+a23(7)式(7)で
は(Xe、Ya)は原画像(41)の画像平面上の画素
の座標を表し、(X+ 、YT )は変換後の画像(4
2)の画像平面上で、(X[1,Yc)に相当する画素
の座標である。式(7)は式(8)のように書き換える
ことができる。
”a21 X2+a22YO+a23(7)式(7)で
は(Xe、Ya)は原画像(41)の画像平面上の画素
の座標を表し、(X+ 、YT )は変換後の画像(4
2)の画像平面上で、(X[1,Yc)に相当する画素
の座標である。式(7)は式(8)のように書き換える
ことができる。
×8″flzX++b+2Y++b+3VL+”l]2
+X++1122Y++t12a
(8)式(8)は変換後の画It(42)の画像
平面上の座標(X+ 、V+ )の画素は原画像(41
)の画像平面上のとこの画素が相当して、いるかを表す
。通常、(×+ 、YT )を整数座標として、(XL
l、Ye)が丁度の整数座標になることは殆どなく、計
算される座標は小数部分を含んだ形になり、原画像(4
1)の画素に丁度対応することはない。第5図はその様
子を不ず図である。計算式による座標点(Xeバo)(
51)は格子点(52)(整数座標)に一致することば
殆とない。変換後の画像の画素<S度)を適正なものに
する一つの方法として、最近傍法という方法が知られて
いる。その方法では座標点(Xi]、Yl]) (51
)に最も近い格子点(52)の画素を選んで変換後の座
標(X+ 、YT )の画素とする。計算は座標値(X
o、h)を四捨五入よって整数座標とすることによって
行う。
+X++1122Y++t12a
(8)式(8)は変換後の画It(42)の画像
平面上の座標(X+ 、V+ )の画素は原画像(41
)の画像平面上のとこの画素が相当して、いるかを表す
。通常、(×+ 、YT )を整数座標として、(XL
l、Ye)が丁度の整数座標になることは殆どなく、計
算される座標は小数部分を含んだ形になり、原画像(4
1)の画素に丁度対応することはない。第5図はその様
子を不ず図である。計算式による座標点(Xeバo)(
51)は格子点(52)(整数座標)に一致することば
殆とない。変換後の画像の画素<S度)を適正なものに
する一つの方法として、最近傍法という方法が知られて
いる。その方法では座標点(Xi]、Yl]) (51
)に最も近い格子点(52)の画素を選んで変換後の座
標(X+ 、YT )の画素とする。計算は座標値(X
o、h)を四捨五入よって整数座標とすることによって
行う。
この応用例に対する、本発明の適用について説明する。
先ず、式(8)の係数(b:;)を本発明で使用する対
数表現数値、すなわち式(1)の形に変換する。これは
通常1回だけであるから高速である必要はない。次に変
換後の座標(X+、YT)(整数)を入力ルックアップ
チーフル(1)を使用して、対数表現数値に変換しくテ
ーブル変換だから高速)、式(8)を対数表現数値演算
性利用の演算装置(2)で計算する(高速高精度)。結
果は指数に相当する部分が固定小数点数であるのでそれ
をアドレスとする出力ルックアップテーブル(3)によ
り四捨五入して、整数値に変換する(高速)。
数表現数値、すなわち式(1)の形に変換する。これは
通常1回だけであるから高速である必要はない。次に変
換後の座標(X+、YT)(整数)を入力ルックアップ
チーフル(1)を使用して、対数表現数値に変換しくテ
ーブル変換だから高速)、式(8)を対数表現数値演算
性利用の演算装置(2)で計算する(高速高精度)。結
果は指数に相当する部分が固定小数点数であるのでそれ
をアドレスとする出力ルックアップテーブル(3)によ
り四捨五入して、整数値に変換する(高速)。
これがすなわち最近傍法の座標アドレス計算である。原
画像(41)の画像平面上のその座標から変換後の画像
(42)の画像平面上の座標(X+ 、Yl)に画素を
移動する。上記のことを座標(X+ 、YT )につい
て繰り返すことにより、アフィン変換が高速高精度にで
きる。
画像(41)の画像平面上のその座標から変換後の画像
(42)の画像平面上の座標(X+ 、Yl)に画素を
移動する。上記のことを座標(X+ 、YT )につい
て繰り返すことにより、アフィン変換が高速高精度にで
きる。
実施例2
実施例1て示したようなアドレスの計算ではなくデータ
自身の演算にも本発明は有効である。既存の画像処理機
器は整数データを多く扱う。少なくとも、画像データの
入力またはデイスプレ装置等への出力は整数(もう少し
広く固定小数点数)の形で行う場合か多い。それは通常
0−255の整数である。従って、実施例1て示した演
算と同様に、その演算は高速高精度に行うことができる
。
自身の演算にも本発明は有効である。既存の画像処理機
器は整数データを多く扱う。少なくとも、画像データの
入力またはデイスプレ装置等への出力は整数(もう少し
広く固定小数点数)の形で行う場合か多い。それは通常
0−255の整数である。従って、実施例1て示した演
算と同様に、その演算は高速高精度に行うことができる
。
式(9)已よ2次元データg(m、n)のフーリエ変換
式である。
式である。
である。これについても、Wl、(ジ2のそれぞれを対
数表現数値で与え、g(m、n)はあまり大きくない整
数(例えば0−255)だとすると、実施例1と同じよ
うに高速高精度に演算できる。この演算は通常高速フー
リエ変換で行うので、それが更に高速になる。ただし、
出力は出力ルックアップテーブル(3)により必要なら
、整数値ではなく実数値(固定小数点数、浮動小数点数
または、対数表現数値)の形で出力する。
数表現数値で与え、g(m、n)はあまり大きくない整
数(例えば0−255)だとすると、実施例1と同じよ
うに高速高精度に演算できる。この演算は通常高速フー
リエ変換で行うので、それが更に高速になる。ただし、
出力は出力ルックアップテーブル(3)により必要なら
、整数値ではなく実数値(固定小数点数、浮動小数点数
または、対数表現数値)の形で出力する。
実施例3
1次元のデータ、例えば、音声データ(入力はビット数
8ではなく、もつと大きい数、12−14ビツトで扱う
ことが望ましい)についても当然、高速高精度に演算で
きる。音声データなどの1次元データに対するフーリエ
変換は式(10)により定義される。
8ではなく、もつと大きい数、12−14ビツトで扱う
ことが望ましい)についても当然、高速高精度に演算で
きる。音声データなどの1次元データに対するフーリエ
変換は式(10)により定義される。
たたし、W+ =exp(−j2π/M)、W2=ex
p(−j2x /N)の複素数で、ト1.Nはそれぞれ
画像g(m、n)の横と縦の画素数ただし、W=exp
(−j2i /N)てNはデータの数である。
p(−j2x /N)の複素数で、ト1.Nはそれぞれ
画像g(m、n)の横と縦の画素数ただし、W=exp
(−j2i /N)てNはデータの数である。
これについても、実施例2と同じ理由で高速高精度に演
算できる。
算できる。
実施例4
本発明はコンピュータグラフィックスにおける図形描画
においても、非常に効果的である。式(11)は中心か
原点にあり、半径がRの円の式である。
においても、非常に効果的である。式(11)は中心か
原点にあり、半径がRの円の式である。
X2+1!/2:R2(11)
式(11)は式(12)の様に書き換えることができる
。
。
y:±f下T弓F
(12)式(12)てyが負でない部分だけをとると式
(12)は式(13〉となる。
(12)式(12)てyが負でない部分だけをとると式
(12)は式(13〉となる。
y二F77[(13)
式(13)において、Xの0からR/vm2(x =
y )までの整数値に対して、yを計算し四捨五入して
整数値まで求めると、それが第6図で示すような8分円
の描画点(61)である。後は、y=xの直線、y軸、
y軸に対して対象な点をもとめて行けは、完全な円にな
る。式(13)の計算ではXの(15) るところである(1点プロットする毎に必ず)。
y )までの整数値に対して、yを計算し四捨五入して
整数値まで求めると、それが第6図で示すような8分円
の描画点(61)である。後は、y=xの直線、y軸、
y軸に対して対象な点をもとめて行けは、完全な円にな
る。式(13)の計算ではXの(15) るところである(1点プロットする毎に必ず)。
平方、減算、更にR2−X2の平方根を計算しなけれは
ならない。従って、通常、浮動小数点演算で計算する。
ならない。従って、通常、浮動小数点演算で計算する。
しかしながら、浮動小数点演算では平方(または乗算)
や平方根の計算には大変な時間がかかる。実際には、第
7図で示すような増分法と言われる8分円発生アルゴリ
ズム等が開発されていて、整数の計算だけでできる様に
なっている。
や平方根の計算には大変な時間がかかる。実際には、第
7図で示すような増分法と言われる8分円発生アルゴリ
ズム等が開発されていて、整数の計算だけでできる様に
なっている。
第7図について説明する。この間に出てくる変数は全て
整数である。第7図において、 (71)は初期化をす
るところである。Xをゼロ、yを半径R,dを3−2R
とする。 (72)は終了かどうかを判定するところで
ある。 (73)は点(X、y)をプロット(描画)す
るところである。 (74)は次のプロット点が右横ま
たは右斜め下のどちらであるかを判定するところである
。 (75)は次のプロット点が右横の場合の処理で、
そのように判別変数dを更新するところである。 (7
6)は次のプロット点が右斜め下の場合の処理で、判別
変数dをそのように更新し、X座標を一つ進める(1)
ところである。 (77)はX座標を1つ進め(16) ろである。 (86)はJ R’−x−の計算を対数表
現数(78)はx=yであるかどうかを判定するところ
である。 (79)はx=yの場合、点(Xly)をプ
ロットするところであろう しかし、本発明によれば第6図のような8分円の描画ア
ルゴリズムは第8図のようになる。非常に簡単である。
整数である。第7図において、 (71)は初期化をす
るところである。Xをゼロ、yを半径R,dを3−2R
とする。 (72)は終了かどうかを判定するところで
ある。 (73)は点(X、y)をプロット(描画)す
るところである。 (74)は次のプロット点が右横ま
たは右斜め下のどちらであるかを判定するところである
。 (75)は次のプロット点が右横の場合の処理で、
そのように判別変数dを更新するところである。 (7
6)は次のプロット点が右斜め下の場合の処理で、判別
変数dをそのように更新し、X座標を一つ進める(1)
ところである。 (77)はX座標を1つ進め(16) ろである。 (86)はJ R’−x−の計算を対数表
現数(78)はx=yであるかどうかを判定するところ
である。 (79)はx=yの場合、点(Xly)をプ
ロットするところであろう しかし、本発明によれば第6図のような8分円の描画ア
ルゴリズムは第8図のようになる。非常に簡単である。
第8図について説明する。変数X、yは整数であり、r
l 、XI 、)11は対数表現数値、すなわち、式(
1)の形式の変数を表す。Rは半径で実数である。
l 、XI 、)11は対数表現数値、すなわち、式(
1)の形式の変数を表す。Rは半径で実数である。
第8図において、 (81)は初期化を行うところであ
る。半径Rを四捨五入して(、RD(R)はRを四捨五
入して整数にすることを意味する)、yとし、Xをセロ
、rlをloga(R2)とする(rlは値としては、
はぼR2を表す)。 (82)は終了かどうかを判定す
るところである。 (83)は点(x r y )をプ
ロット(描画)するところである。 (84)はX座標
を1つ進めるところである。 (85)は整数Xをルッ
クアップテーブルT(大カルツクアップテーブル(1)
)により対数表現数値XIに変換するとこ値演算性利用
の演算装置(2)で行うところである。ここではR2は
既に計算されていて、Xの平方と、減算と、R2−X2
の平方根の計算を行う。Xの平方については、Xlの指
数部を2倍するか、1ビツト左シフトするだけである。
る。半径Rを四捨五入して(、RD(R)はRを四捨五
入して整数にすることを意味する)、yとし、Xをセロ
、rlをloga(R2)とする(rlは値としては、
はぼR2を表す)。 (82)は終了かどうかを判定す
るところである。 (83)は点(x r y )をプ
ロット(描画)するところである。 (84)はX座標
を1つ進めるところである。 (85)は整数Xをルッ
クアップテーブルT(大カルツクアップテーブル(1)
)により対数表現数値XIに変換するとこ値演算性利用
の演算装置(2)で行うところである。ここではR2は
既に計算されていて、Xの平方と、減算と、R2−X2
の平方根の計算を行う。Xの平方については、Xlの指
数部を2倍するか、1ビツト左シフトするだけである。
減算は式(6)の方法でルックアップテーブルを使って
行う。R2−X2の平方根の計算は上記の減算の結果(
対数表現数値)を2で割るか1ビット右シフトするだけ
である。
行う。R2−X2の平方根の計算は上記の減算の結果(
対数表現数値)を2で割るか1ビット右シフトするだけ
である。
全て高速にできる。結果をylとする。 (87)は対
数表現数値から整数値へ変換するところである。
数表現数値から整数値へ変換するところである。
これはルックアップテーブルt(出力ルックアップテー
ブル(3))により四捨五入して行う。これも高速であ
る。 (88)4fx=Vであるかどうかを判定すると
ころである。 (89)はx=yの場合、点(x+y)
をプロットするところである。
ブル(3))により四捨五入して行う。これも高速であ
る。 (88)4fx=Vであるかどうかを判定すると
ころである。 (89)はx=yの場合、点(x+y)
をプロットするところである。
以上により第8図のアルゴリズムは第7図のアルゴリズ
ムに比へ高速であることが分かる。
ムに比へ高速であることが分かる。
なお、第7図で示すアルゴリズムでは半径Rは整数(〉
0)てなけれはならないが、第8図のアルプリズムでは
半径Rは整数である必要はない。
0)てなけれはならないが、第8図のアルプリズムでは
半径Rは整数である必要はない。
その点においても、本発明の方が優れている。
以上個別の実施例を示したが、これらは、単なる個別の
実施例であって、高速高精度の演算が要求されるところ
では、広範囲に本発明の実施が有効である。また、本発
明はハードウェアで有効に実施できるが、特に集積回路
での実施が特に有効である。
実施例であって、高速高精度の演算が要求されるところ
では、広範囲に本発明の実施が有効である。また、本発
明はハードウェアで有効に実施できるが、特に集積回路
での実施が特に有効である。
(発明の効果〉
本発明により、既存の画像、音声、その他のデータ入力
装置によるデータや、メモリアドレス、データ配列の座
標値等、固定小数点型のデータで表わされる数値に対し
て、高速高精度演算ができるので、特別の対数型アナロ
グアンプ(4)や指数型アナログアンプ(7)が必要な
く、既存のコンピュータ等のデジタル装置に本発明の演
算装置を加えることにより処理を高速高精度にすること
ができる。
装置によるデータや、メモリアドレス、データ配列の座
標値等、固定小数点型のデータで表わされる数値に対し
て、高速高精度演算ができるので、特別の対数型アナロ
グアンプ(4)や指数型アナログアンプ(7)が必要な
く、既存のコンピュータ等のデジタル装置に本発明の演
算装置を加えることにより処理を高速高精度にすること
ができる。
請求範囲2.3.4.5及び6の人出力が固定小数点以
外についての有効性について追加説明す入力または出力
が浮動小数点数の場合、既存の浮動小数点型のデジタル
シグナルプロセッサ等とのやり取りが高速間便にできる
。また、入力または出力が対数表現数値の場合は他の対
数表現数値演算性利用の演算装置とのやり取りが高速間
便になる効果がある。
外についての有効性について追加説明す入力または出力
が浮動小数点数の場合、既存の浮動小数点型のデジタル
シグナルプロセッサ等とのやり取りが高速間便にできる
。また、入力または出力が対数表現数値の場合は他の対
数表現数値演算性利用の演算装置とのやり取りが高速間
便になる効果がある。
第1図は本発明の構成図、第2図は対数表現数値演算法
による従来の処理システムの構成図、第3図は対数表現
数値の指数1とその表現値a・の関係図、第4図は画像
の幾何学的変換の概念図、第5図は画像の幾何学的変換
の計算座標(XO,Y[+)と格子点の関係を示す図、
第6図は8分円の描画点の図、第7図は増分法と言われ
る従来の8分円の描画アルゴリズムの図、第8図は本発
明を適用した8分円の描画アルゴリズムの図。
による従来の処理システムの構成図、第3図は対数表現
数値の指数1とその表現値a・の関係図、第4図は画像
の幾何学的変換の概念図、第5図は画像の幾何学的変換
の計算座標(XO,Y[+)と格子点の関係を示す図、
第6図は8分円の描画点の図、第7図は増分法と言われ
る従来の8分円の描画アルゴリズムの図、第8図は本発
明を適用した8分円の描画アルゴリズムの図。
Claims (1)
- 【特許請求の範囲】 1、対数表現数値演算法利用の演算装置(2)において
、固定小数点数で表される入力データを入力ルックアッ
プテーブル(1)を使用して対数表現数値に変換し、そ
れを対数表現数値演算法利用の演算装置(2)への入力
とし、その演算結果は必要に応じて出力ルックアップテ
ーブル(3)を使用して、固定小数点数に変換して出力
する演算装置 2、浮動小数点数を入力データとする入力ルックアップ
テーブル(1)とした、請求1の演算装置 3、浮動小数点数を出力データとする出力ルックアップ
テーブル(3)とした、請求1の演算装置 4、浮動小数点数を入力データとする入力ルックアップ
テーブル(1)とし、浮動小数点数を出力する出力ルッ
クアップテーブル(3)とした、請求1の演算装置 5、対数表現数値を入力データとするが、入力ルックア
ップテーブル(1)を経ないで対数表現数値演算法利用
の演算装置(2)へ直接入力する、請求1の演算装置 6、対数表現数値演算法利用の演算装置(2)の出力デ
ータを、出力ルックアップテーブル(3)を経ないで出
力する、請求1の演算装置
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1151108A JPH0314128A (ja) | 1989-06-13 | 1989-06-13 | 対数表現数値利用の演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1151108A JPH0314128A (ja) | 1989-06-13 | 1989-06-13 | 対数表現数値利用の演算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0314128A true JPH0314128A (ja) | 1991-01-22 |
Family
ID=15511527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1151108A Pending JPH0314128A (ja) | 1989-06-13 | 1989-06-13 | 対数表現数値利用の演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0314128A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06309146A (ja) * | 1992-07-15 | 1994-11-04 | Internatl Business Mach Corp <Ibm> | 数の浮動小数点表示を整数表示に変換するための装置およびピクセルの値を生成するための方法 |
JP2006129437A (ja) * | 2004-09-30 | 2006-05-18 | Nec Corp | ガンマ補正、画像処理方法及びプログラム、並びにガンマ補正回路、画像処理装置、表示装置 |
US7558811B2 (en) | 2003-01-27 | 2009-07-07 | Denso Corporation | Electronic control apparatus and memory apparatus for electronic control apparatus |
JP2014199665A (ja) * | 2009-06-19 | 2014-10-23 | シンギュラー コンピューティング、エルエルシー | コンパクトな演算処理要素を用いたプロセッシング |
-
1989
- 1989-06-13 JP JP1151108A patent/JPH0314128A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06309146A (ja) * | 1992-07-15 | 1994-11-04 | Internatl Business Mach Corp <Ibm> | 数の浮動小数点表示を整数表示に変換するための装置およびピクセルの値を生成するための方法 |
US5528741A (en) * | 1992-07-15 | 1996-06-18 | International Business Machines Corporation | Method and apparatus for converting floating-point pixel values to byte pixel values by table lookup |
US7558811B2 (en) | 2003-01-27 | 2009-07-07 | Denso Corporation | Electronic control apparatus and memory apparatus for electronic control apparatus |
JP2006129437A (ja) * | 2004-09-30 | 2006-05-18 | Nec Corp | ガンマ補正、画像処理方法及びプログラム、並びにガンマ補正回路、画像処理装置、表示装置 |
JP2014199665A (ja) * | 2009-06-19 | 2014-10-23 | シンギュラー コンピューティング、エルエルシー | コンパクトな演算処理要素を用いたプロセッシング |
US9218156B2 (en) | 2009-06-19 | 2015-12-22 | Singular Computing Llc | Processing with compact arithmetic processing element |
JP2018010646A (ja) * | 2009-06-19 | 2018-01-18 | シンギュラー コンピューティング、エルエルシー | コンパクトな演算処理要素を用いたプロセッシング |
US11768660B2 (en) | 2009-06-19 | 2023-09-26 | Singular Computing Llc | Processing with compact arithmetic processing element |
US11842166B2 (en) | 2009-06-19 | 2023-12-12 | Singular Computing Llc | Processing with compact arithmetic processing element |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR940010806B1 (ko) | 연산처리 방법과 연산처리장치 | |
JPH01125626A (ja) | 逆数計算方法 | |
JP2884057B2 (ja) | 数値フォーマット変換装置 | |
JPH0522271B2 (ja) | ||
US9151842B2 (en) | Method and apparatus for time of flight sensor 2-dimensional and 3-dimensional map generation | |
JPH03105614A (ja) | マトリツクス演算回路 | |
JP2822399B2 (ja) | 対数関数演算装置 | |
JPH0314128A (ja) | 対数表現数値利用の演算装置 | |
CN111666064B (zh) | 基于cordic的三角函数循环迭代求解方法和装置 | |
CN111984226A (zh) | 一种基于双曲cordic的立方根求解装置及求解方法 | |
US3636338A (en) | Continuous function generation | |
JPH03135627A (ja) | ファジイ演算装置 | |
Hamill et al. | Online CORDIC algorithm and VLSI architecture for implementing QR-array processors | |
US9875084B2 (en) | Calculating trigonometric functions using a four input dot product circuit | |
JP2644514B2 (ja) | 関数演算装置 | |
JP3515462B2 (ja) | 剰余系演算装置及び方法 | |
SU1462299A1 (ru) | Устройство дл выполнени преобразовани координат | |
JP3095348B2 (ja) | データ圧縮伸長装置における離散余弦変換及び逆離散余弦変換装置 | |
JP5997480B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
SU697994A1 (ru) | Устройство дл вычислени элементарных функций | |
JPH06105421B2 (ja) | 逆三角関数演算装置 | |
JPH074658Y2 (ja) | 対数変換回路 | |
JP2595820B2 (ja) | ガロア拡大体演算器 | |
JP2508286B2 (ja) | 平方根演算装置 | |
JPH0585924B2 (ja) |