JPH06222906A - 各多ビット要素に対して2進数結果を得るための、複合オペランドに対する算術演算実行方法 - Google Patents

各多ビット要素に対して2進数結果を得るための、複合オペランドに対する算術演算実行方法

Info

Publication number
JPH06222906A
JPH06222906A JP5317782A JP31778293A JPH06222906A JP H06222906 A JPH06222906 A JP H06222906A JP 5317782 A JP5317782 A JP 5317782A JP 31778293 A JP31778293 A JP 31778293A JP H06222906 A JPH06222906 A JP H06222906A
Authority
JP
Japan
Prior art keywords
operand
bit
data item
bits
value
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.)
Granted
Application number
JP5317782A
Other languages
English (en)
Other versions
JP3637923B2 (ja
Inventor
Daniel Davies
ダニエル・デイビース
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of JPH06222906A publication Critical patent/JPH06222906A/ja
Application granted granted Critical
Publication of JP3637923B2 publication Critical patent/JP3637923B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • G06F7/026Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3828Multigauge devices, i.e. capable of handling packed numbers without unpacking them
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 複数の多ビット要素データ項目を含む複合オ
ペランドに対して並列に2進出力演算を実行する方法を
提供する。 【構成】 複数の多ビット要素データ項目を含む複合オ
ペランドに対して2進出力演算を実行する。2進出力演
算ではそれぞれの要素について、要素の数値によって変
化するようなフラグビットを取得する。2進出力演算は
それぞれの要素が1ビット以上を含むような複合オペラ
ンドに対して並列的に算術演算を実行することにより実
行可能である。算術演算で値を加算して、要素と加算値
をあわせて最大可能な値を超過するような場合に桁上げ
信号を生成する。算術演算で要素に等しい値を減算した
場合、結果データ項目は「0」のみを含むことになり、
並列演算では結果データ項目が「0」のみを含む場合だ
け「0」となるような単一のフラグビットを得る。2進
出力演算でそれぞれの要素を値に対して比較したりまた
はそれぞれの要素が範囲内かを決定する。

Description

【発明の詳細な説明】
【0001】本発明は複数のデータ項目に対して演算を
実行する技術に関する。
【0002】多くの従来技術では複数データ項目に対し
て演算を実行している。その幾つかの例はそれぞれのデ
ータ項目が画像内の画素に関連し得るような画像処理の
分野でみられる。
【0003】マホーニー(Mahoney )のヨーロッパ特許
第460,970号では画素値に適用可能な階層的デー
タ分析技術を開示している。図7では2進化画像ジャン
グル(BIJ)をシミュレーションすることにより画像
処理を実行するコネクション・マシン・システムを図示
している。コネクション・マシン内の処理ユニットに算
術および論理演算を実行させるための呼び出しをフロン
トエンドプロセッサ(FEP)が行なっている。図8で
はコネクション・マシン内の処理ユニットのアレイの一
部が図示してあり、1つの処理ユニットが1つの画素値
を保存するようになっている。
【0004】ブルームバーグら(Bloomberg et al.)の
ヨーロッパ特許第431,961号では画像の縮小拡大
技術を開示している。第2ページ18行目から第3ペー
ジ18行目までと第5ページ50行目から第6ページ3
1行目まででビット間の論理演算を実行することにより
2進化画像を縮小する方法を開示している。第3ページ
36行目から58行目では画素ワードをシフトした後で
画素ワードとシフトしたそれ自身の変形を論理的に統合
することを含む非常に広範囲な画素ワードに対する演算
のための技術を開示している。
【0005】本発明はグレースケールやカラー画素値な
ど多ビットデータ項目を処理する上での問題を取り扱
う。
【0006】多ビットデータ項目に対する演算は条件式
であることが多い。たとえば、データ項目はこれが閾値
を越えている場合には1つの方法で操作しそうでない場
合には別の方法で操作することが有り得る。またはデー
タ項目が所定の値に等しい場合またはある範囲内に収ま
る場合にのみ操作することがある。つまり、本明細書で
2進出力演算と称するような、データ項目が条件に合致
するかを決定するための2進値を生成する演算を実行す
ることが必要な場合が多い。
【0007】2進出力演算はまたその他の目的にも有用
である。たとえば、条件に適合するデータ項目をデータ
項目のアレイについての2進論理結果の積算により計数
することが可能である。
【0008】従来技術はデータ項目について2進出力演
算を実行するために使用可能である。たとえば、マイク
ロプロセッサは2つのデータ項目を比較する演算を実行
してこれらが等価かを決定するまたは一方が他方を越え
ているかを決定することが出来る。
【0009】しかし従来技術において、単一の処理装置
(processor) は一度に1つの多ビットデータ項目に対し
てのみ演算が可能である。従来は、処理装置よりそれぞ
れが狭い幾つかの多ビットデータ項目に対して処理装置
が2進出力演算を平行に実行できない。
【0010】本発明は複数の多ビット要素データ項目を
含む複合(composite) オペランドに対して並列に2進出
力演算を実行するための技術の発見に基づいている。要
素データ項目は、たとえばグレースケールまたはカラー
画素値であり得る。本技術では算術演算を用いてそれぞ
れの要素について2進出力を表わすデータを生成する。
算術演算はたとえば加算または減算が可能である。
【0011】本技術は処理装置を作動させて複数の多ビ
ット要素データ項目を含む複合オペランドに対して算術
演算を実行させることにより実施可能である。算術演算
でそれぞれの要素についての結果データ項目が生成され
る。フラグビットもそれぞれの要素について得られる。
それぞれのフラグビットはその要素についての2進出力
を表わす。
【0012】図1は2進出力演算の結果を表わすフラグ
ビットを得るためにどのように並列に算術演算を実行す
ることが出来るかの実施例を示す概略流れ図である。
【0013】図2は並列に算術演算を実行することによ
りフラグビットを得るためソフトウェア製品からの命令
を処理装置が実行し得るようなシステムの部材を表わす
概略ブロック図である。
【0014】図3は並列に算術演算を実行することによ
りフラグビットを得る上での一般的動作を表わす流れ図
である。
【0015】図4は複合データ項目と定数の比較を行な
う符号フラグビットを得るために図3での動作を実施す
る演算を表わす流れ図である。
【0016】図5は2つの要素データ項目の比較を行な
う符号フラグビットを得るために図3での動作を実施す
る演算を表わす流れ図である。
【0017】図6は部分抽出演算で0フラグビットを得
るために図3の動作を実施する演算を表わす概略流れ図
である。
【0018】図7は算術および論理演算で0フラグビッ
トを得るために図3の動作を実施する演算を表わす概略
流れ図である。
【0019】図8は範囲フラグビットを得るために図3
の動作を実施する演算を表わす流れ図である。
【0020】図9は範囲フラグビットを得るために図3
の動作を実施する演算を表わす別の流れ図である。
【0021】図1から図3では本発明の一般的特徴を示
す。図1では複数の多ビット要素データ項目を含む複合
オペランドを模式的に示す。それぞれの要素について、
算術演算でその要素に対する2進出力演算の結果を表わ
すフラグビットを得られる。図2では図1に示したよう
な技術にしたがって処理装置が実行可能な命令を表わす
命令データを有するソフトウェア製品を示す。図3では
処理装置を作動させて2進出力演算の結果を表わすフラ
グビットを取得する際に算術演算を実行させる方法にお
ける一般的動作を示す。
【0022】図1において、複合オペランド10はそれ
ぞれが2ビットを含む要素データ項目12、14、16
を含む。要素12は値「10」を有し、要素14は値
「01」、また要素16は値「00」を有する。オペラ
ンド10において、それぞれの要素はその最上位ビット
に隣接してクリアしたビットを有している。
【0023】定数オペランド20は値「11」の繰り返
しよりなり、一回の反復が複合オペランド10内のそれ
ぞれの要素データ項目と位置が揃えてあり、その最上位
ビットに隣接してクリアしたビットを有している。値
「11」を2ビット値に加算して2ビットの結果を得る
のは、(22 −1)=3であるから、2ビット値から値
「01」を減算するのと等価である。しかし2ビットの
値に「11」を加算すると2ビット値が「01」または
それ以上の場合に上位側ビットから桁上げビットも生成
される。
【0024】オペランド20をオペランド10に加算す
ると、2種類の有用な形式の結果が得られる。これはオ
ペランド30として図示してある。ビット32、34、
36はそれぞれ要素12、14、16が少なくとも値
「01」と同じ大きさかどうかを表わしている。結果デ
ータ項目38は要素14が値「01」に等しいことを表
わす値「00」を有している。
【0025】つまりビット32、34、36はそれぞれ
が要素12、14、16のそれぞれ1つについての2進
出力演算の結果を表わすフラグビットである。2進出力
演算はそれぞれの要素を閾値「01」と比較する。要素
12は「01」より大きいので、ビット32は値「1」
を有する。要素14は「01」に等しいので、ビット3
4も値「1」を有する。しかし要素16は「01」以下
なので、ビット36は値「0」となる。
【0026】結果データ項目38は2ビットを含むた
め、これからフラグビットを得るにはさらなる動作を行
なわなくてはならない。オペランド30を左向きに1ビ
ット桁だけシフトして得られたオペランド40は結果デ
ータ項目38と同じ値を有するシフトしたデータ項目4
2を含むが、これの最下位ビットは結果データ項目38
の最上位ビットと位置が揃えてある。
【0027】オペランド30とオペランド40の論理和
でオペランド50が生成される。これのビット22は要
素14に対する2進出力演算の結果を表わすフラグビッ
トである。2進出力演算は要素14を値01と等価性の
点で比較し、ビット52の値「0」は等価であることを
表わしている。同様に、ビット54とビット56は要素
12および16が値「01」とは等しくないことを表わ
す値「1」を有するフラグビットである。
【0028】図2はソフトウェア製品60を示し、これ
は図2に図示したのと同様な部材を含むシステム内で使
用することが出来る製造物である。ソフトウェア製品6
0は保存媒体アクセス装置64からアクセス可能なデー
タ保存媒体62を含む。データ保存媒体62はたとえば
1つまたはそれ以上のフロッピーディスクの組などの磁
気媒体、1つまたはそれ以上のCD−ROMの組などの
光学媒体、半導体メモリ、またはデータを保存するため
に適切な何らかのほかの媒体であってよい。
【0029】データ保存媒体62は保存媒体アクセス装
置64がたとえばマイクロプロセッサなどで有り得る処
理装置66に提供可能なデータを保存する。処理装置6
6は入力回路70からデータを受信するために接続して
ある。データは何らかの適切な供給源、たとえばファク
シミリ(ファックス)装置や、デジタル複写機のスキャ
ナまたはコンピュータの入出力装置で有り得るようなス
キャナ、キーボードとマウスまたはペン型または鉄筆型
入力装置などのユーザ入力装置で制御するフォームエデ
ィタまたはその他の対話型画像エディタであり得るよう
なエディタ、またはデータ転送能力を有するローカルエ
リアネットワークまたはその他のネットワークであり得
るようなネットワークなどから取得することが出来る。
データは画像に関連したものであり得る。
【0030】処理装置66はまた出力回路80へデータ
を提供するためにも接続してある。データはこのあとフ
ァクシミリ装置、印刷装置、表示装置、またはネットワ
ークへ提供可能である。印刷装置はデジタル複写機の印
刷装置またはコンピュータの入出力装置のことがある。
【0031】データ保存媒体62に加えて、ソフトウェ
ア製品60は保存媒体62に保存されるデータを含む。
保存されたデータは算術演算命令80とフラグビット命
令82を表わすデータを含んでいる。処理装置66は命
令80を実行して複合オペランド中の複数の要素データ
項目のそれぞれについての結果データ項目を得ることが
出来る。処理装置66は命令82を実行してそれぞれの
要素についての2進出力演算の結果を表わすそれぞれの
結果データ項目からフラグビットを得ることが出来る。
【0032】処理装置66はメモリ84にアクセスする
ことにより算術演算を実行する要素データ項目を取得す
ることが出来る。それぞれのデータ項目はたとえば画像
の画素に関連し得るものである。データ項目はそれぞれ
1ビット以上を含むことが出来る。保存媒体62に保存
されたデータには、入力回路70から受信したデータ項
目をメモリ84内に保存し、演算のためにメモリ84か
らデータ項目を取り込み、または出力回路72へ提供
し、または演算により得られたデータ項目をメモリ84
に保存するため処理装置66が実行しうる命令を表わす
データも含むことが可能である。
【0033】処理装置66は複数の処理桁(processing
position) 92を有する処理回路90を含む。処理装置
66は、たとえば従来のマイクロプロセッサであっても
よい。それぞれの処理桁92では1ビットについての演
算を実行することが出来る。処理回路90はアレイを構
成させるように処理桁92を対にして接続する桁接続回
路94を含む。対の1つの処理桁からの信号は桁接続回
路(position connectiong circuitry)94によって別の
処理ユニットへ転送することが可能である。
【0034】演算を実行している複合オペランド中のそ
れぞれの要素データ項目は処理桁92のそれぞれの部分
行列内に存在することが出来る。処理装置66は算術演
算命令80を実行してそれぞれの要素の部分行列内にマ
スクデータ項目を取得できる。処理装置はフラグビット
命令82を実行してそれぞれの結果データ項目からフラ
グビットを取得することが出来る。
【0035】図3は図2の処理回路90などの処理回路
を有する処理装置を作動させる方法における一般的動作
を示す。囲み110の動作は複合オペランドを処理回路
90に提供するもので、それぞれの要素データ項目が処
理桁92のそれぞれの部分行列に提供される。囲み11
2の動作では処理回路90を作動させて複合オペランド
に対し並列に算術演算を実行してそれぞれの部分行列内
に結果データ項目を取得している。囲み114の動作で
はそれぞれの要素に対して要素についての2進出力演算
の結果を表わすフラグビットを得ている。囲み112と
114の動作は単一周期で発生し得るもので、これはフ
ラグビットが算術演算により直接生成し得るためであ
る。
【0036】図1から図3に関して上記で説明した一般
的特徴は広範な部材を用いまた各種の演算を用い多様な
方法で実施することが出来る。たとえば、上述の一般的
特徴の幾つかは従来の処理装置を用いて実施可能である
が、その他の特徴は特別設計の処理装置を用いて実施で
きるものである。
【0037】図4から図8では1つ以上のデータ項目に
対して並列に演算可能な処理ユニットに応用可能な図3
に図示した一般的段階の実施を図示したものである。並
列に演算するこのような多数の処理ユニットをこれらの
間の桁接続回路を設けまたは設けずに使用することが出
来る。
【0038】図4および図5は算術演算の結果の符号を
表わすフラグビットを得るような図3に関連して説明し
た一般的動作の実施を表わしている。図4において、こ
のようなフラグビットは要素データ項目を閾値と比較す
る算術演算の結果も表わしている。図5において、この
ようなフラグビットは2つの要素を比較する算術演算の
結果も表わしている。
【0039】図4において、囲み150の動作ではデー
タ項目を取得する。それぞれのデータ項目は、たとえば
画像の画素に関連することが有り得る。囲み152の動
作は囲み150で得られた要素データ項目およびそれぞ
れの要素データ項目の最上位ビットに隣接するバッファ
ビットを含む複合オペランドを構成する。要素データ項
目が直前の画像処理演算から得られたものの場合、囲み
150ですでにこの様式を有する複合オペランド内に得
られる。囲み152の動作はまた定数値を含み複合オペ
ランド中のそれぞれの要素データ項目に一回づつ発生す
る定数オペランドも取得している。定数値のそれぞれの
所在は複合オペランド中のそれぞれの要素データ項目と
位置が揃っておりまた同じ長さを有している。つまり、
定数オペランドを複合オペランドから減算する算術演算
は複合オペランド中のそれぞれの要素データ項目から閾
値Tを減算している。定数オペランドはまた定数値のそ
れぞれの所在の最上位ビットに隣接してバッファビット
も含んでおり、複合オペランド中のそれぞれの要素デー
タ項目に隣接するバッファビットと位置が揃っている。
【0040】複合オペランドと定数オペランド中のバッ
ファビットはこれについて実行した算術演算の結果が有
用となるような値を有するはずである。たとえば、複合
オペランド中のすべてのバッファビットは値「1」を有
しまた定数オペランド中のすべてのバッファビットは値
「0」を有して、結果を無効にすることのある要素間信
号を生成することなく複合オペランドから定数オペラン
ドを減算し得るようにしている。
【0041】囲み154の動作は複合オペランドから定
数オペランドを減算しそれぞれの要素データ項目からT
が減じられるような算術演算を実行する。したがって囲
み154の動作は少なくともTと同じ大きさのそれぞれ
の要素データ項目について値「1」を有する隣接バッフ
ァビットを有する結果データ項目、またTより小さいそ
れぞれの要素データ項目について借り信号の結果として
値「0」を有する隣接バッファビットのある結果データ
項目を生成することになる。
【0042】囲み154の動作は定数を複合オペランド
に加算する算術演算に置き換えることが可能である。た
とえば、Kビットの要素に(2K −K)を加算すると要
素からTを減算して得られた差分と同じ和が得られる。
しかしこの場合、両方のオペランドのバッファビットは
演算前に値「0」を有するべきである。これは、少なく
ともTと同じ大きさのそれぞれの要素データ項目につい
て桁上げ信号の結果として値「1」を有する隣接バッフ
ァビットを有する結果データ項目、またTより小さいそ
れぞれの要素データ項目について値「0」を有する隣接
バッファビットを有する結果データ項目を生成すること
になる。
【0043】囲み156の動作ではフラグビットとして
囲み154で生成した結果データ項目に隣接するバッフ
ァビットを用いる。この動作は多数の方法で実施可能で
ある。
【0044】バッファビットだけを含む結果を得るに
は、縮小などの部分抽出演算を結果データ項目に対して
実行する。バッファビットを有するそれぞれの要素デー
タ項目がKビットを含む場合、(K+1):1の縮小を
実行するかまたはlog2(K+1)2:1の縮小を実行
し、それぞれのビット対の最上位ビットにそれぞれを保
存する。これによりバッファビットは要素データ項目が
少なくともTと同じ大きさだった画素に関するそれぞれ
のビットでは1をまた要素データ項目がTより小さかっ
たそれぞれのビットでは0を有するビットマップを構成
することになる。
【0045】多ビット要素データ項目の処理をさらに制
御するために使用可能な結果を得るには、バッファビッ
トを用いてマスクを生成することが出来る。
【0046】図5において、囲み170の動作ではデー
タ項目の対を得ている。たとえば、2つのデータ項目の
両方が画像の同じ画素に関係していることからこれらを
対に出来、またはこれらの関連する画素が2枚の異なる
画像に由来しているが画像処理の間に一方の画像が他方
の上に重ねあわされる際に位置が揃えられていることか
らこれらを対にすることが出来る。
【0047】囲み172の動作は第1と第2の複合オペ
ランドを構成しており、これらは囲み170で得られた
それぞれのデータ項目の対の一方を第1の複合オペラン
ドにまた他方を第2のオペランドに分割している。それ
ぞれの複合オペランドは要素データ項目とそれぞれの要
素データ項目の最上位ビットに隣接するバッファビット
を含む。要素データ項目が直前の画像処理演算から得ら
れた場合には、この様式を有する複合オペランドに囲み
170で受信してもよい。対の要素データ項目は相互に
位置が揃えてありまた同じ長さで、第2のオペランドを
第1のオペランドから減算する算術演算において第2の
オペランド内のそれぞれの要素データ項目を第1のオペ
ランド内の対になった要素データ項目から減算する。バ
ッファビットも同様に位置が揃えてあり第1のオペラン
ドには値「1」また第2のオペランドには値「0」を有
している。図4に関して述べたように、等価な加算を実
行する場合、すべてのバッファビットは値「0」を有し
ているべきである。
【0048】囲み174の動作では、第1のオペランド
から第2のオペランドを減算する算術演算を実行して、
第2のオペランド内のそれぞれの要素データ項目が第1
のオペランド内の対になった要素データ項目から減算さ
れるようにする。つまり囲み174の動作では、少なく
とも対になった要素データ項目と同じ大きさの第1のオ
ペランド内のそれぞれの要素データ項目について値
「1」を有する隣接バッファビットを有する結果データ
項目、また対になった要素データ項目より小さい第1の
オペランド内のそれぞれの要素データ項目について値
「0」を有する隣接バッファビットを有する結果データ
項目を借り信号の結果として生成することになる。
【0049】囲み176の動作では囲み174で生成し
た結果データ項目に隣接するバッファビットをフラグビ
ットとして用いる。この動作は図4の囲み156に関連
して前述したように実施することが出来る。特に、要素
データ項目のそれぞれの対の極大を求めるには、第1の
マスクをバッファビットから生成し、第2のオペランド
内の要素データ項目がこれと対になる要素データ項目と
等しいかまたはこれより大きいような桁に「0」を、ま
た第1のオペランド内の要素データ項目のほうが大きい
桁では「1」をマスクが含むようにする。第1のマスク
と第1のオペランドの論理積から第1のオペランドのマ
スク版を生成する。第1のマスクを反転させて第2のオ
ペランドとの論理積をとる第2のマスクを生成し、第2
のオペランドのマスク板を生成することが出来る。第1
と第2のオペランドのマスク版の論理和によってそれぞ
れの桁で極大の結果を得ることが出来る。逆に、第1の
マスクと第2のオペランドの論理積をとり、さらに第2
のマスクと第1のオペランドの論理積をとってマスク版
を生成し、これの論理和からそれぞれの桁で極小の結果
を得ることが出来る。
【0050】図6および図7は算術演算の結果が0かど
うかを示すフラグビットを取得する図3に関連して説明
した一般動作の2種類の実施例を示したものである。図
6ではこのフラグビットを縮小により取得し、図7では
このようなフラグビットを並列のさらなる演算で取得し
ている。
【0051】図6および図7の両方とも図4の囲み15
4の動作から得られた結果で始めることが出来る。言い
換えれば、両方の実施例で、定数オペランドを複合オペ
ランドから減算して結果を得ている。結果は要素データ
項目が定数に等しい桁でのみすべて「0」の値を有しそ
れ以外ではすべて「1」または「1」と「0」の混ざっ
た値を有する。隣接バッファビットは要素データ項目が
少なくとも定数と同じ大きさだった場合には「1」それ
以外では「0」を有する。結果は図6および図7で図示
したようにフラグビットを得るために使用することが出
来る。
【0052】図6において、オペランド180は結果デ
ータ項目182、184、186とそれぞれのバッファ
ビット192、194、196を含む。図示したよう
に、データ項目182は定数値をそれより大きい要素デ
ータ項目から減算して得られ、データ項目182で
「0」に等しくない差分を表わしまたバッファビット1
92で正の結果を表わす。同様に、データ項目184は
定数値を等しい大きさの要素データ項目から減算して得
られ、データ項目184で「0」に等しい差分を表わし
またバッファビット194で正の結果を表わす。また、
データ項目186は定数値をそれより小さい要素データ
項目から減算して得られ、データ項目186で「0」に
等しくない差分を表わしまたバッファビット196で負
の結果を表わす。
【0053】バッファビットを反転させるには、XOR
(排他的論理和)演算をオペランド180とオペランド
200に対して行ない、ビット202、204、206
およびバッファビットと位置の揃っているその他のすべ
てのビットがATA異音を有しまたバッファビットと位
置の揃っていないすべてのビットが値オフを有するよう
にする。つまり排他的論理和演算でオペランド210を
生成し、データ項目212、214、216はそれぞれ
オペランド180のデータ項目182、184、186
と同じ値を有するがバッファビット222、224、2
26はバッファビット192、194、196の逆にな
るようにする。
【0054】図6の実施例ではオペランド210に対し
て部分抽出演算を実行してオペランド230を得てい
る。部分抽出演算は、オペランド210を1ビット左向
きにシフトした後、図1に関連して上述したようにオペ
ランド210とそのシフトした版の論理和をとりさらに
それぞれの対の最上位ビットを選択する2:1縮小で結
果を部分抽出してオペランド230を取得することを含
むことが出来る。部分抽出はオペランド230を含むテ
ーブルへのインデックスとしてオペランド210を用い
て実行することも可能である。
【0055】ビット232はバッファビット222と要
素212の最上位ビットの論理和で得られる。ビット2
34は要素212の2つの最下位ビットの論理和で得ら
れる。ビット236はバッファビット224と要素21
4の最上位ビットの論理和で得られる。ビット237は
要素214の2つの最下位ビットの論理和で得られる。
ビット238はバッファビット226と要素216の最
上位ビットの論理和で得られる。ビット239は要素2
16の2つの最下位ビットの論理和で得られる。
【0056】次に、図6の実施ではオペランド230に
対して別の部分抽出演算を実行してオペランド240を
得ている。ビット242はビット232と234の論理
和、ビット244はビット236と237の論理和、ビ
ット246はビット238と239の論理和でそれぞれ
得られる。ビット242、244、246は結果データ
項目184が0結果を表わしまたデータ項目182と1
86が「0」に等しくない結果を表わしていることを示
すフラグビットである。
【0057】図7のオペランド250は図6のオペラン
ド210と同一のもので、データ項目252、254、
256とバッファビット262、264、266を有す
る。オペランド250はバッファビットをクリアするた
めのオフの値272とそれ以外でオンの値274を有す
るマスク270と第1に論理和をとる。つまりオペラン
ド280はバッファビット282、284、286をク
リアしたことになる。
【0058】次にオペランド280をクリアしたバッフ
ァビット292とすべての桁で「1」を含む定数値29
4を有する定数オペランド290に加算する。オペラン
ド300は結果データ項目と、図6のビット232、2
34、236とそれぞれ同じ値を有するフラグビットの
バッファビット302、304、306を含む。これら
のフラグビットを図4の囲み156との関連で上述した
ように使用することが出来る。
【0059】フラグビットを得るためにバッファビット
からの情報は必要ではなくまたバッファビットをフラグ
ビットとして使用しないので、図6の実施はバッファビ
ットのない結果データ項目にも応用することが可能であ
る。図7の実施はバッファ人からの情報を必要としない
が、バッファビットをフラグビットとして使用している
ので、結果データ項目がバッファビットを有していない
場合、バッファビットを挿入する必要がある。
【0060】それぞれの結果データ値とバッファビット
の和にKビット含む場合、バッファビットフラグに対し
て一連の(K−1)シフトと図1に関連して前述の形式
の論理和演算を行なうことにより得ることが可能とな
る。比較すると、図6の実施はlog2Kシフトと論理和演
算およびlog2K部分抽出演算で実施でき、これは高速な
部分抽出演算が利用可能であれば大きなKの値に対して
有利である。図7の実施はオペランド270と290が
利用可能であれば図示したように2回の演算で実行でき
る。したがって「0」フラグビットを得る演算をどのよ
うに実施するかの選択は処理装置の能力と効率を含んだ
勘案に基づいて行なうことが出来る。
【0061】図8および図9では、要素データ項目のそ
れぞれが範囲内であるかを表わす範囲フラグビットをそ
れぞれに取得する2種類の実施を図示する。
【0062】図8において、囲み320の動作では、図
4に関連して前述の複合オペランドに対する2種類の演
算を実行してそれぞれの要素データ項目について第1と
第2の符号フラグビットを得ている。1つの演算では定
数値(T1 +1)をまた他方では定数値T2 を使用す
る。ここでT2 >T1 である。その結果、要素の第1の
フラグビットは要素が(T1 +1)と同じ大きさかを表
わし、第2のフラグビットは要素がT2 と同じ大きさか
を表わしている。複合オペランド中の要素の第1のフラ
グビットは第1のオペランド内にまた第2のフラグビッ
トは第2のオペランド内にある。
【0063】囲み322の動作は第2のオペランドを反
転させる。反転した第2のフラグビットが値「1」を有
する要素はT2 より小さく、一方第1のフラグビットが
値「1」を有する要素はT1 より大きい。
【0064】囲み324の動作では第1のオペランドと
反転した第2のオペランドの論理積をとって、それぞれ
要素がT1 とT2 の範囲内にあるかを表わす範囲フラグ
ビットを生成する。要素の範囲フラグビットは要素が範
囲内にある場合は値「1」を有しそうではない場合は値
「0」を有する。
【0065】定数値(T1 +1)とT2 を図8の実施に
おいて用い、T1 とT2 で区切られた開放範囲、(T1
+1)と(T2 −1)で区切られた閉鎖範囲、または一
端では開放し他端では閉じている範囲についての範囲フ
ラグビットを取得することが出来る。
【0066】図9において、囲み340の動作では図4
に関連して前述したように複合オペランドに対する演算
を実行してそれぞれの要素データ項目に符号フラグビッ
トを有する第1のオペランドを得ている。演算には定数
値T1 を用い、これをそれぞれの要素データ項目から減
算する。その結果、第1のオペランド内の要素のフラグ
ビットは要素がT1 と同じ大きさかを表わす。さらに、
第1のオペランド内のそれぞれの要素の結果データ項目
はT1 で下向きにシフトした値を有し、T1 より小さか
った要素は2K と(2K −T1 )の間の値にシフトされ
る。
【0067】囲み342の動作では第1のオペランドに
対して演算を行ない全てのバッファビットを値「1」に
設定している。これは減算演算の準備である。
【0068】囲み344の動作では、図4に関連して述
べたように別の演算を実行してそれぞれの要素データ項
目について符号フラグビットを有する第2のオペランド
を取得する。この演算は、囲み342で変更したよう
に、定数値(T2 −T1 )を第1のオペランド内のそれ
ぞれの要素の結果データ項目から減算するものである。
その結果、第2のオペランド内の要素のフラグビットは
その要素がT1 とT2 の間の範囲にあるかを示す。ここ
でT2 >T1 である。要素が範囲内の場合、第2のオペ
ランド中のこれの符号フラグビットは借り信号のために
値「0」を有する。要素が範囲以上または以下の場合、
第2のオペランド中のこれの符号フラグビットは値
「1」を有する。
【0069】図8におけるように、図9の実施でも開放
または閉鎖範囲を使用することが可能である。
【0070】上述の一般的実施の特徴は広範なデータ処
理用途に使用可能である。しかしある種の画像処理にお
いてはそれぞれの要素データ項目について順次実行する
よりも迅速に実行しうることで特に有用であると推測さ
れる。特に、上述の特徴をセラ(Serra, J. )の「画像
分析と数学的変換(Image Analysis and Mathematical
Morphology)」、アカデミックプレス刊、1982年、
およびセラ(Serra, J. )の「画像分析と数学的変換第
2巻:理論的な進歩(Image Analysis and Mathematica
l Morphology, Volume 2: Theoretical Advances
)」、アカデミックプレス刊、1988年、に解説さ
れているのと同様の技術を実施するために使用すること
が出来る。このような技術はたとえば雑音の除去または
その他の情報を含まない特徴の除去、歪曲補正、データ
符号化、自動フォーム作成または制御シート作成のため
の部分の抽出、印刷装置特有の補正などの文書サービス
を提供するために使用することが出来る。このような文
書サービスは、ファクシミリ装置および複写装置を含む
デジタル複写装置において、印刷装置またはその他の画
像出力装置用の画像を定義するデータを生成する装置に
おいて、スキャナまたはその他の画像入力装置から受信
した画像を定義するデータについて演算するまた画像処
理を行なうその他の装置において、使用することが出来
る。
【0071】上述の特徴は広範な画像処理演算の間にグ
レースケールまたはカラー画素値に対してフラグビット
を取得するために使用できる。
【0072】上述の一般的実施の特徴はまた、各種のそ
の他の用途において、たとえば特定の特徴の組み合わせ
を含む画像について画像データベースの検索や、封筒の
住所の走査、高速スキャナからのフォームの解釈、人工
視覚、および処理に特有の印刷画像の補正および確認な
どにおいても有用であろう。
【0073】本発明は各種のその他の画像処理演算、た
とえば画素の計数、グレースケールの形態変更、グレー
スケールの回転、エラー分散画像の生成および歪曲検出
などを実行するために応用することも可能である。
【0074】本発明は画像に関連しないデータに使用す
ることも可能である。本発明はたとえば有限微分解析ま
たは物理現象のシミュレーションを実行するために使用
することが出来る。
【0075】本発明は幾つかの実施に関連して説明し
た。本発明は2つまたはそれ以上の実施を組合せて用い
ることで、または2つまたはそれ以上の実施から得られ
たフラグビットに対して論理演算を行なうことによっ
て、組み合わせフラグビットを取得するために実施する
ことも可能である。
【0076】本発明は複合オペランド中の要素データ項
目が単一のバッファビットで分離されているような実施
に関連して説明した。本発明は要素間に複数のバッファ
ビットを有するように実施することも出来る。
【0077】本発明は加算と減算を用いてフラグビット
を取得する実施に関連して説明した。その他の算術演算
を用いてフラグビットを取得することも可能である。
【0078】本発明は画像に関連するデータについて演
算する実施に関連して説明したが、画像に関連しないデ
ータに対して演算を行なうために実施してもよい。
【0079】本発明は従来のマイクロプロセッサを用い
た実施に関連して説明したが、本発明は縮小命令セット
計算機(RISC)チップを用いてまたはメインフレー
ム・コンピュータ、ミニコンピュータ、スーパーコンピ
ュータ、または何らかのその他の計算機の処理装置を含
む何らかのその他の処理装置を用いて実施してもよい。
【0080】本発明は処理装置とメモリを含むシステム
内で使用するためのメモリからのデータに対して演算を
実行するために処理装置が実行できる命令を表わすデー
タを含むようなソフトウェア製品に関連して説明した。
システムのメモリは当然のことながらシステム内で使用
する際にソフトウェア製品を含み、命令ならびにデータ
は一般に処理装置からアクセス可能な何らかのメモリ装
置内に任意に保存することが出来る。たとえば、本発明
はソフトウェア製品内にではなくメモリ内に保存された
命令を表わすデータを用いて容易に実施することが可能
である。
【0081】本発明は単純な構造の複合オペランドに関
連して説明した。上述の実施例において、全ての要素デ
ータ項目はおなじ長さであり複合オペランド内部の要素
は相互に関連していなくとも良い。本発明は処理装置の
幅の制約内で、さらなる構造を有する複合オペランドで
実施することも可能である。たとえば、複合オペランド
は、他のオペランドが同じ位置にある同じ幅の要素と位
置が揃っているならば、異なる幅の要素データ項目を含
んでいてもよい。また、要素データ項目は2つまたはそ
れ以上のグループに構成され、それぞれのグループの要
素が関連していてもよい。それぞれのグループの要素が
同じ画素に関連している場合、それぞれの要素はそれぞ
れの閾値減少のための値を保持することが可能である。
より一般的には、それぞれのグループ内の要素が物理的
シミュレーション空間内の同じ位置に関連している場
合、1つの要素がその位置での値を保持しまた別の位置
がその位置での導関数を保持することが可能である。
【図面の簡単な説明】
【図1】 2進出力演算の結果を表わすフラグビットを
得るためにどのように並列に算術演算を実行することが
出来るかの実施例を示す概略流れ図である。
【図2】 並列に算術演算を実行することによりフラグ
ビットを得るためソフトウェア製品からの命令を処理装
置が実行し得るようなシステムの部材を表わす概略ブロ
ック図である。
【図3】 並列に算術演算を実行することによりフラグ
ビットを得る上での一般的動作を表わす流れ図である。
【図4】 複合データ項目と定数の比較を行なう符号フ
ラグビットを得るために図3での動作を実施する演算を
表わす流れ図である。
【図5】 2つの要素データ項目の比較を行なう符号フ
ラグビットを得るために図3での動作を実施する演算を
表わす流れ図である。
【図6】 部分抽出演算で0フラグビットを得るために
図3の動作を実施する演算を表わす概略流れ図である。
【図7】 算術および論理演算で0フラグビットを得る
ために図3の動作を実施する演算を表わす概略流れ図で
ある。
【図8】 範囲フラグビットを得るために図3の動作を
実施する演算を表わす流れ図である。
【図9】 範囲フラグビットを得るために図3の動作を
実施する演算を表わす別の流れ図である。
【符号の説明】
10 複合オペランド、12,14,16 要素データ
項目、20 定数オペランド、30 オペランド、3
2,34,36 要素、38 結果データ項目、40
オペランド、42 シフトしたデータ項目、50 オペ
ランド、60 ソフトウェア、62 データ保存媒体、
66 処理装置、80 算術演算命令、82フラグビッ
ト命令、84 メモリ、90 処理回路、92 処理
桁、180オペランド、182,184,186 要素
データ項目、190 オペランド、192,194,1
96 バッファビット、200 オペランド、202,
204,206 ビット、210 オペランド、21
2,214,216 データ項目、220 オペラン
ド、222,224,226 バッファビット、230
オペランド、232,234,236,237,23
8,239 ビット、240 オペランド、242,2
44,246 ビット、250 オペランド、252,
254,256 データ項目、262,264,266
バッファビット、270 マスク、280 オペラン
ド、282,284,286 バッファビット、290
定数オペランド、292 バッファビット、294
定数、300オペランド、302,304,306 バ
ッファビット

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 次のことを含む、処理装置を作動させる
    方法:処理装置を作動させてそれぞれが1ビット以上を
    含む複数の要素データ項目を含む複合オペランドに対し
    て算術演算を並列して実行し、前記算術演算がそれぞれ
    の要素データ項目について1ビット以上を含むそれぞれ
    の結果データ項目を生成すること;およびそれぞれの要
    素データ項目について前記要素データ項目についての2
    進出力演算の結果を表わすフラグビットを取得するこ
    と。
JP31778293A 1992-12-18 1993-12-17 処理装置を作動させる方法 Expired - Lifetime JP3637923B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/993,213 US5375080A (en) 1992-12-18 1992-12-18 Performing arithmetic on composite operands to obtain a binary outcome for each multi-bit component
US993213 1992-12-18

Publications (2)

Publication Number Publication Date
JPH06222906A true JPH06222906A (ja) 1994-08-12
JP3637923B2 JP3637923B2 (ja) 2005-04-13

Family

ID=25539249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31778293A Expired - Lifetime JP3637923B2 (ja) 1992-12-18 1993-12-17 処理装置を作動させる方法

Country Status (4)

Country Link
US (1) US5375080A (ja)
EP (1) EP0602887B1 (ja)
JP (1) JP3637923B2 (ja)
DE (1) DE69328071T2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5651121A (en) * 1992-12-18 1997-07-22 Xerox Corporation Using mask operand obtained from composite operand to perform logic operation in parallel with composite operand
US5655131A (en) * 1992-12-18 1997-08-05 Xerox Corporation SIMD architecture for connection to host processor's bus
US5519649A (en) * 1993-06-04 1996-05-21 Nippon Steel Corporation Micro-processor having rapid condition comparison function
CN102707922B (zh) * 1995-08-31 2015-10-07 英特尔公司 控制移位分组数据的位校正的装置
US6036350A (en) * 1995-12-20 2000-03-14 Intel Corporation Method of sorting signed numbers and solving absolute differences using packed instructions
US5907842A (en) * 1995-12-20 1999-05-25 Intel Corporation Method of sorting numbers to obtain maxima/minima values with ordering
US6009451A (en) * 1996-11-22 1999-12-28 Lucent Technologies Inc. Method for generating barrel shifter result flags directly from input data
GB2362731B (en) 2000-05-23 2004-10-06 Advanced Risc Mach Ltd Parallel processing of multiple data values within a data word
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US6975679B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US6976158B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US6985986B2 (en) 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US7003543B2 (en) * 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US7020788B2 (en) 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US7467178B2 (en) 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US6934728B2 (en) 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US7007172B2 (en) 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US6937084B2 (en) 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US6952711B2 (en) 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US8037120B2 (en) * 2006-12-05 2011-10-11 Analog Devices, Inc. System and method for an efficient comparison operation of multi-bit vectors in a digital logic circuit
US9070182B1 (en) 2010-07-13 2015-06-30 Google Inc. Method and system for automatically cropping images
US8363984B1 (en) 2010-07-13 2013-01-29 Google Inc. Method and system for automatically cropping images

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4161784A (en) * 1978-01-05 1979-07-17 Honeywell Information Systems, Inc. Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands
JPS5765194A (en) * 1980-10-09 1982-04-20 Daicel Chem Ind Ltd Microbial preparation of unsaturated dicarboxylic acid
US4742552A (en) * 1983-09-27 1988-05-03 The Boeing Company Vector image processing system
US4789957A (en) * 1986-03-28 1988-12-06 Texas Instruments Incorporated Status output for a bit slice ALU
US4811266A (en) * 1986-11-05 1989-03-07 Honeywell Bull Inc. Multifunction arithmetic indicator
US5129092A (en) * 1987-06-01 1992-07-07 Applied Intelligent Systems,Inc. Linear chain of parallel processors and method of using same
JP3076046B2 (ja) * 1989-01-31 2000-08-14 日本電気株式会社 例外検出回路
JP2523222B2 (ja) * 1989-12-08 1996-08-07 ゼロックス コーポレーション 画像縮小/拡大方法及び装置
US5280547A (en) * 1990-06-08 1994-01-18 Xerox Corporation Dense aggregative hierarhical techniques for data analysis
JPH0454679A (ja) * 1990-06-25 1992-02-21 Nec Corp 演算装置
JP2601960B2 (ja) * 1990-11-15 1997-04-23 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理方法及びその装置

Also Published As

Publication number Publication date
DE69328071T2 (de) 2000-07-13
JP3637923B2 (ja) 2005-04-13
EP0602887A1 (en) 1994-06-22
DE69328071D1 (de) 2000-04-20
US5375080A (en) 1994-12-20
EP0602887B1 (en) 2000-03-15

Similar Documents

Publication Publication Date Title
JPH06222906A (ja) 各多ビット要素に対して2進数結果を得るための、複合オペランドに対する算術演算実行方法
JP3584053B2 (ja) 複合オペランド内の多ビット要素を選択するためのマスク
US5408670A (en) Performing arithmetic in parallel on composite operands with packed multi-bit components
US7085795B2 (en) Apparatus and method for efficient filtering and convolution of content data
US5506799A (en) Booth array multiplying circuit having carry correction
US7389317B2 (en) Long instruction word controlling plural independent processor operations
US5220525A (en) Recoded iterative multiplier
CN100465874C (zh) 根据指令对数据执行运算的方法、处理器和系统
US6748412B2 (en) Square-and-multiply exponent processor
US7600104B2 (en) Method and system for parallel vector data processing of vector data having a number of data elements including a defined first bit-length
KR970006408B1 (ko) 논리회로의 자동설계방법 및 그 장치와 승산기
US6204855B1 (en) Computer system for interpolating a value for a pixel
KR100545015B1 (ko) 2-차원 피라미드 필터 구조
Takagi A modular inversion hardware algorithm with a redundant binary representation
JP3110041B2 (ja) 画像情報処理装置
US20070120718A1 (en) Method and Apparatus for Binary Number Conversion
US6081824A (en) Method and apparatus for fast unsigned integral division
JP3817130B2 (ja) 画像処理装置、画像処理方法および画像処理プログラムを記録した記録媒体
JP3457696B2 (ja) 並列化借りルックアヘッド減算器
JPH0823814B2 (ja) 多重ディジット10進数を2進数に変換する装置および統一された比復号器
US6199083B1 (en) Computer implemented method for interpolating a value corresponding to a point represented by binary coordinates
JP3266209B2 (ja) ジグザグ・スキャン・アドレス生成方法および回路
JP3770465B2 (ja) 画像処理装置
Thakur et al. Energy Efficient Approximate Architecture for Error Tolerant Applications
KR20040028731A (ko) 2-차원 피라미드 필터 구조

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040611

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050104

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080121

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

EXPY Cancellation because of completion of term