JPH05224885A - ソーティング装置 - Google Patents

ソーティング装置

Info

Publication number
JPH05224885A
JPH05224885A JP4057485A JP5748592A JPH05224885A JP H05224885 A JPH05224885 A JP H05224885A JP 4057485 A JP4057485 A JP 4057485A JP 5748592 A JP5748592 A JP 5748592A JP H05224885 A JPH05224885 A JP H05224885A
Authority
JP
Japan
Prior art keywords
data
value
order
address
ram
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
Application number
JP4057485A
Other languages
English (en)
Inventor
Naohito Shiraishi
尚人 白石
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP4057485A priority Critical patent/JPH05224885A/ja
Publication of JPH05224885A publication Critical patent/JPH05224885A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】 この発明は、ワーキングメモリを使用せずに
高速なソート処理が行えるソーティング装置を提供する
ことをその目的とする。 【構成】 この発明のソーティング装置は、処理する数
のソートデータを格納し、そのデータを一括してパラレ
ルに出力する記憶手段21と、この出力されたデータと
所定データとを比較する比較器を処理する数だけ備えた
比較手段23と、処理する数のソートデータから比較す
る所定のデータを1つ選択する選択手段22と、比較手
段22の各比較器の比較結果と夫々カウントする加算手
段24と、加算手段24からのデータに基づきその比較
するデータの順番を求める手段26と、を備えてなり、
複数個のデータから順次比較するデータを選択し、それ
以外のデータとパラレルに比較することにより、順次デ
ータの順番を求める。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ソーティング装置に
かかり、特に複数の基準値データに基づきデータをソー
ティングする装置に関する。
【0002】
【従来の技術】画像処理装置は、外部から供給される画
像情報に基づき、CRT表示用の各種画像信号を合成画
像を出力するものであり、単に2次元的な平面画像ばか
りでなく、立体的な合成出力することから、例えば3次
元画像用ビデオゲーム、コンピュータグラフィックス、
CAD装置のディスプレイ及びその他の用途に幅広く用
いられている。
【0003】ところで、画像処理装置を用いて奥行きを
持った3次元画像リアルタイムで合成する場合には、各
ポリゴンの3次元データを画像奥行き方向の座標値、即
ちZ値データに基づき、1/60秒間に処理対象のポリ
ゴンに対して高速でソーティングする必要がある。
【0004】このため、複数の3次元データを所定のZ
軸データに基づき、高速ソーティングできる装置の開発
が望まれている。しかし、従来はワーキングメモリにポ
リゴンのZ値に対応する番地にそのZ値のポリゴンの数
をカウントしていき、全てのポリゴンの処理を終了した
ときにワーキングメモリの小さい方からその値を調べ、
0でなければそのアドレス(Z値)とそのデータ(その
Z値の数)よりデータを加算していくことにより、夫々
のZ値の順番を取っていた。
【0005】
【発明が解決しようとする課題】しかしながら、前述の
ソーティング装置では、Z値のデータが大きくなった時
にそれに対応する大きなワーキングメモリを必要とする
ため、ソーティング装置の個数が大きくなるという問題
があった。
【0006】この発明は、従来のこのような問題点に鑑
みなされたものにして、ワーキングメモリを使用せずに
高速なソート処理が行えるソーティング装置を提供する
ことをその目的とする。
【0007】
【課題を解決するための手段】この発明のソーティング
装置は、処理する数のソートデータを格納し、そのデー
タを一括してパラレルに出力する記憶手段と、この出力
されたデータと所定データとを比較する比較器を処理す
る数だけ備えた比較手段と、処理する数のソートデータ
から比較する所定のデータを1つ選択する選択手段と、
上記比較手段の各比較器の比較結果と夫々カウントする
加算手段と、上記加算手段からのデータに基づきその比
較結果を同時にカウントすることにより、その比較する
データの順番を求める手段と、を含み複数個のデータか
ら順次比較するデータを選択し、それ以外のデータとパ
ラレルに比較することにより、順次データの順番を求め
ることを特徴とする。
【0008】更に、この発明は、初期値としてアドレス
と同じデータを持ち、得られらたデータの順番をアドレ
スとして出力されたデータをインクリメントし、同じア
ドレスに書き込みをする手段とを備え、同じソートデー
タ値にも処理された順に全てのデータ数からなる一連の
順番を付けるとよい。
【0009】
【作用】この発明は、記憶手段にソートを必要とする全
てのデータを読み込み、その中から1つずつ選択してい
き、その選択されたデータを選択されていない全てのデ
ータに同時に比較し、選択されたデータのほうが大きい
時または小さい時に比較手段よりキャリーが出力され、
その全てのデータのキャリーをカウントすることにより
その選択されたデータの順番が求まり、その結果をその
アドレスに対応する番地にデータの順番を書き込む。そ
して全てのデータを選択し終わった時にソート処理が終
了となる。
【0010】従って選択されたデータとそれ以外のデー
タとの比較は大/小関係のみでよいためデータの大きさ
によるハードウエアの大きさはあまり差はなくなる。従
って、処理は高速で且つ同じ装置でのデータの大きさに
よるスピードとはない。
【0011】また、順序をカウントするメモリを使用す
ることにより、同じ数値データに対しても入力された時
による順番を付けることができる。
【0012】
【実施例】以下、この発明の実施例を図面に基づいて説
明する。
【0013】図1はこの発明のソーティング装置の全体
構成を示すブロック図、図2はソーティング装置の要部
の構成を示すブロック図である。1はZ値を格納するZ
値メモリ(RAM)であり、ソートされるデータを格納
する。そして格納されたデータは一括してパラレルにソ
ーティング装置2に出力される。ソーティング装置2
は、記憶手段、比較手段及び加算手段とを備える。記憶
手段がソートを必要とする全てのデータを格納する。そ
して、比較手段は記憶手段からパラレルに出力されたデ
ータと所定されたデータとを比較する比較器をそのデー
タの数だけ有しする。各比較器はデータの大又は小の関
係によりキャリーを出力し、そのキャリーを加算手段で
カウントする。そしてその加算した値に基づきそのデー
タを順序リストメモリ3へ書き込む。この順序リストメ
モリ(RAM)はアドレスに対応するデータの順番を格
納するものである。
【0014】Z値RAM1の構成及び順序リストRAM
3の構成を図3に示す。図3に示すように夫々のメモリ
のデータ構造は夫々対応するアドレスがポリゴンの番号
と等しく、Z値RAM1ではZ値そのものの値を持ち、
順序リストRAM3ではポリゴンのZ値に対応する順番
を格納するものである。
【0015】図2に従ってこの発明の構成をさらに説明
すると、Z値RAM1よりパラレルに出力されたデータ
は記憶手段21に格納される。この記憶手段21は、ソ
ートされるデータ数だけのレジスタを有するレジスタ群
で構成され、そのレジスタ群よりデータがパラレルに同
時にマルチプレクサ22へ送られ、マルチプレクサ22
を介して比較手段23の比較器の一方の入力に夫々与え
られる。比較器の他方入力には処理する数のソートデー
タから選択された比較する所定データがマルチプレクサ
22を介して与えられる。即ちカウンタ25の示す記憶
手段21のレジスタの値を全ての比較器の一方の入力へ
入力し、カウンタ25の示していない全てのレジスタの
値を比較器の他方の入力へ入力する。
【0016】そして、各比較器より出力されるキャリー
の値が加算手段24へ与えられ加算手段器24はそのキ
ャリーを全て加算し、そのデータを順序カウント用処理
装置26へ送る。順序カウント用処理装置26の内部に
は順序カウント用RAMが備えられ、このRAMがその
キャリー値を加算した値によりアクセスされ、そのデー
タをカウンタの示す順序リストRAM3へ書き込む。こ
の動作を繰り返すことにより、Z値のデータの昇順若し
くは降順に従ったデータが順序リストRAMの値として
書き込まれることになる。
【0017】図4は、16個のデータに対するこの発明
による処理を行った結果を示す。Z値RAMに書き込ま
れた夫々のZ値データに基づき順序リストRAMに示す
ようにその順序値が書き込まれている。
【0018】図5ないし図8を参照してこの発明を更に
説明する。図5は、この発明のソーティング装置の具体
的な実施例を示すブロック図である。図6は、この図5
に示した具体例に基づき昇順にデータをソートする場合
の動作を説明するフローチャートである。図7は降順に
データをソートする場合の動作を示すフローチャートで
ある。
【0019】図5に示すように、記憶手段21はレジス
タ21−1からレジスタ21−nのを備える。このレジ
スタは、ソートを必要とする全てのデータの数に対応す
る個数を持つ。即ち、この実施例では、レジスタにn個
即ちデータ数n個のソーティングを行う装置である。そ
して、レジスタ21−1にはZ値RAMの0番地の値が
格納され、以下レジスタ21−2から21−nまでに同
様にZ値RAM1のデータが格納される。即ちカウンタ
25の示すZ値RAM1のデータを読み出し、そのカウ
ンタ25が示すレジスタ21−1〜21−nへデータを
夫々格納していくわけである。即ち、カウンタ25が指
示する値をデコーダ27よりデコーダし、夫々対応する
レジスタ21−1〜21−nにデータが書き込まれる。
そして、各レジスタに書き込まれたデータは、このレジ
スタ21−1〜21−nからマルチプレクサ28又は2
9を介して夫々対応する比較器22にデータが与えられ
る。マルチプレクサ28又は29はデータを昇順又は降
順にソーティングする場合に夫々コントローラ30によ
り制御されるものである。即ち、データを昇順にソーテ
ィングする場合には、ソーティング対象となるデータを
比較器22のA入力へ入力するためマルチプレクサ28
によりそのデータが選択されそしてそれ以外の全てのデ
ータはマルチプレクサ29を介して比較器22のB入力
へ与えられるものである。
【0020】逆に、データを降順にソーティングする場
合には、ソーティング対象となるデータを比較器のB入
力するために、マルチプレクス29を介してそのデータ
が選択されて書き込まれ、そして、それ以外の全てのデ
ータはマルチプレクサ28を介して比較器のA入力に与
えられる。
【0021】各比較器22からは、昇順の場合にはその
データが小さい場合にキャリーが発生し、降順の場合に
は大きい場合にキャリーが発生する。そして、各比較器
22からの出力は、加算器23の夫々のB入力に与えら
れそして加算器のA入力には夫々前段の加算器23の出
力が与えられる。即ち、比較器22−1のキャリーは加
算器23−1のB入力に与えられ、そして比較器22−
2の出力は加算器23のB入力へ、そして加算器23−
2のA入力には加算器23−1の出力が与えられる。全
ての加算器23−1〜23−nのデータは加算され、そ
の出力がマルチプレクサ26aを介して、順序カウント
RAM26dへ与えられる。
【0022】そして、出力されるキャーリは、加算手段
23にて全て加算され、その値により順序カウントRA
M26dがアクセスされ、そのデータをカウンタ25の
示す順序リストRAM3へ書き込む。順序カウントRA
M26dの出力データがインクリメンタ26cにて一つ
インクリメントされ、同じアドレスの順序カウントRA
M26dへ書き込まれる。この動作を全てのデータに行
って、データが昇順又は降順にソーティングされた結果
が順序リストRAM3へ書き込まれることになる。
【0023】この動作を更に図6のフローチャートに従
って説明する。ステップS1において、カウンタ25の
カウンタをリセットし、ステップS2に進む。ステップ
S2においては、カウンタ25に示すZ値RAM1のデ
ータを読み出してカウンタ25の示すレジスタ21−1
〜21−nへそのデータをセットする。そして、ステッ
プS3においては、カウンタ25の示す順序カウントR
AM26dへのカウンタの値を設定する。
【0024】ステップS4においては、カウンタ値が1
28を示したか否か、即ちこの実施例では128個のデ
ータをソートする場合を仮定しているので、その全ての
データが書き込まれたか否かを判断し、カウンタが12
8に達していない場合には、ステップS5でカウンタ2
5の値を1つカウントアップし、ステップS2に戻り前
述の動作を繰り返す。そして、カウンタの値が128に
達すると、ステップS6へ進みステップS6でカウント
25の値をリセットする。
【0025】続いて、ステップS7にて、カウンタ25
のレジスタの値を全ての比較器21のA入力へ入力し、
ステップS7へ進む。
【0026】ステップS8においては、カウンタ25で
示していない全てのレジスタの値を比較器のB入力へ入
力する。そして、ステップS9で全ての比較器より出力
されるキャリー値を全て加算し、その値により、順序カ
ウントRAM26dをアクセスし、そのデータをカウン
タの示す順序リストRAM26dへ書き込む。
【0027】然る後、ステップS10へ進み、ステップ
S10において、順序カウントRAM26dのデータを
加算器26cにて1つインクリメントして同じアドレス
の順序カウントRAM26dへ書き込む。そして、カウ
ンタ25の値が128に達したか否か、ステップS11
で判断され、128に達しいてない即ち、全てのデータ
が終わっていない場合にはステップS12に進み1つカ
ウントアップして、ステップS7へ戻り、前述の動作を
繰り返す。カウント値128になると全てのデータのソ
ーティングが終了して全ての動作を終了する。
【0028】この図6はデータを昇順にソーティングす
る場合を示しているが、図7はデータを降順にソーティ
ングする場合を示す。図6と図7の相違はステップS
7’、ステップS8’が相違する。即ち、比較器への入
力が相違するのみで、その他は全て同一である即ち降順
にデータをソーティングする場合にはステップS7’で
カウンタ25の示すレジスタの値をこの場合にはB入力
へ入力する。そしてステップS8’で示すようにカウン
タの示していない全てのレジスタの値を比較器のA入力
へ入力されるのである。そのほかの動作は全て昇順及び
降順いついては全く同一である。
【0029】以上の動作をさらに図8に従って説明す
る。図8は5つのデータを昇順にソーティングする場合
を示している。
【0030】まず、図8のNo.1で示すように、順序
カウントRAM26dが初期値に設定される。即ち、ア
ドレス0、1、2、3、4に対してデータが0、1、
2、3、4となるように初期化される。そしてZ値デー
タには、この図8で示すようにアドレス0にデータ10
0が、アドレス1にデータ50が、アドレス2にデータ
100が、アドレス3にデータ100が、アドレス4に
データ200が書き込まれているものとする。そして、
アドレス0を示すカウンタ値が設定され、アドレス0の
Z値データが全ての比較器のA入力に比較器のB入力に
は他のデータが全て入力される。その結果、加算器より
1つキャリーがでるので、順序リストRAM3にアドレ
ス0の部分にデータ1を書き込む。
【0031】続いて、そして順序カウントRAM26d
のデータ1を1つインクリメントし、それと同じアドレ
スの順序カウントRAM26dへインクリメントした値
を書く。即ち、No.2に示すように順序カウントRA
Mはアドレス0に対して0、アドレス1に対して1つイ
ンクリメントされた2、アドレス2は2、アドレス3は
3、アドレス4は4と書き込まれている。
【0032】続いて、Z値データのアドエス1のデータ
を比較器Aの入力にする。そして、この場合、比較器の
B入力には他のデータが全て入力される。キャリーはで
ないので加算値は0である。そのデータが順序リストR
AM3のアドレス1に0として書き込まれる。そして、
アドレスの0の値を1つインクリメントされ、順序カウ
ントRAM23dがNo.3に示すようにアドレス0の
ところにデータ1が書き込まれる。
【0033】次いで、Z値データのアドレス2の出力が
呼び出され、そのデータを読みだすとそのキャリーが1
出力されるので、そのアドレス順序カウントRAM26
dに書き込まれているデータが順序リストRAM3のア
ドレスのところに書き込まれる。そしてこのデータ2を
1つインクリメントした結果が順序カウントRAM26
dのアドレス1の部分に書き込まれる。即ちNo.4に
示すようにアドレス1のところにデータ3が書き込まれ
る。
【0034】続いて、Z値RAM1のアドレス3に相当
するデータが呼び出され、その結果又キャリーが1出る
ので、その順序カウントRAM26のアドレス1に書き
込まれているデータ3が順序リストRAMのアドレス3
に書き込まれる。そしてそのデータを1つカウントアッ
プし、そのデータをアドレス1に書き込む。即ちNo.
5に示すように、アドレス1にはデータ4が書き込まれ
るそしてZ値データのアドレス4の示すデータ200が
読み出され、この場合キャリーが4つ出て、アドレスが
4であるので、そのままその順序リストRAMに4が書
き込まれる。そして順序リストRAM26dのアドレス
毎にアドレス0、1から順次読み出すとそのデータが昇
順にソーティングされた結果が読み出されることにな
る。
【0035】
【発明の効果】以上説明したように、この発明によれば
選択されたデータとそれ以外のデータとの比較は大/小
関係でよいためデータの大きさによるハードウエアの大
きさはあまり差はなく、処理は高速で且つ同じ装置での
データの大きさにスピード差はなく極めて良好なソーテ
ィング装置を提供することができる。また、順序カウン
トRAMを使用することにより同じ数値データにも入力
される順序により順番をつけることができる。
【図面の簡単な説明】
【図1】この発明のソーティング装置の全体構成を示す
ブロック図である。
【図2】ソーティング装置の要部の構成を示すブロック
図である。
【図3】Z値RAM1の構成及び順序リストRAM3の
構成を示す模式図である。
【図4】16個のデータに対するこの発明による処理を
行った結果を示す模式図である。
【図5】この発明のソーティング装置の具体的な実施例
を示すブロック図である。
【図6】図5に示した具体例に基づき昇順にデータをソ
ートする場合の動作を説明するフローチャートである。
【図7】図5に示した具体例に基づき降順にデータをソ
ートする場合の動作を示すフローチャートである。
【図8】5つのデータを昇順にソーティングする場合を
示す模式図である。
【符号の説明】
21 記憶手段 22 マルチプレクサ 23 比較手段 24 加算手段

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 処理する数のソートデータを格納し、そ
    のデータを一括してパラレルに出力する記憶手段と、こ
    の出力されたデータと所定データとを比較する比較器を
    処理する数だけ備えた比較手段と、処理する数のソート
    データから比較する所定のデータを1つ選択する選択手
    段と、上記比較手段の各比較器の比較結果を夫々カウン
    トする加算手段と、上記加算手段からのデータに基づき
    その比較結果を同時にカウントすることにより、その比
    較するデータの順番を求める手段と、を含み、複数個の
    データから順次比較するデータを選択し、それ以外のデ
    ータとパラレルに比較することにより、順次データの順
    番を求めることを特徴とするソーティング装置。
  2. 【請求項2】 初期値としてアドレスと同じデータを持
    ち、得られらたデータの順番をアドレスとして出力され
    たデータをインクリメントし、同じメモリのアドレスに
    書き込みをする手段とを備え、同じソートデータ値にも
    処理された順に全てのデータ数からなる一連の順番を付
    けるをことを特徴とする請求項1に記載のソーティング
    装置。
JP4057485A 1992-02-10 1992-02-10 ソーティング装置 Pending JPH05224885A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4057485A JPH05224885A (ja) 1992-02-10 1992-02-10 ソーティング装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4057485A JPH05224885A (ja) 1992-02-10 1992-02-10 ソーティング装置

Publications (1)

Publication Number Publication Date
JPH05224885A true JPH05224885A (ja) 1993-09-03

Family

ID=13057019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4057485A Pending JPH05224885A (ja) 1992-02-10 1992-02-10 ソーティング装置

Country Status (1)

Country Link
JP (1) JPH05224885A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020213152A1 (ja) * 2019-04-19 2020-10-22

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020213152A1 (ja) * 2019-04-19 2020-10-22
WO2020213152A1 (ja) * 2019-04-19 2020-10-22 日本電気株式会社 整列処理装置、選別システム、整列処理方法、及び非一時的なコンピュータ可読媒体

Similar Documents

Publication Publication Date Title
Sproull et al. A clipping divider
US20080028013A1 (en) Two-dimensional fast fourier transform calculation method and apparatus
JP3188467B2 (ja) 最小値・最大値検索装置
JPH03139777A (ja) グラフイツク表示システム及び方法
JP2009515261A (ja) 2値に基づく画像の分類および分割のための方法および装置
US4101968A (en) Sorter with overlap operation
US5619629A (en) Drawing data producing apparatus and drawing data producing method
WO2020114422A1 (zh) 处理数据的方法和数据处理装置
US7439983B2 (en) Method and apparatus for de-indexing geometry
JPH0642141B2 (ja) デ−タ転送方法
CN114416020A (zh) 一种基于fpga实现的快速排序方法及装置
KR100190674B1 (ko) 소팅회로
CN109635839A (zh) 一种基于机器学习的非平衡数据集的处理方法和装置
CN1105358C (zh) 具有运算功能的半导体存储器及使用该存储器的处理器
EP1074912A1 (en) Geometry pipeline for computer graphics
JPH05224885A (ja) ソーティング装置
US20030058247A1 (en) Initializing a series of video routers that employ source-synchronous signaling
US4975973A (en) Image processing device suitable for obtaining the volume and center of gravity of a three-dimensional binary image
US5692163A (en) Process system which generates sets of output data from sets of predetermined input data with duplicate data
JP7797522B2 (ja) 行列乗算演算のための行列の近似のためのデータ圧縮器
US8072451B2 (en) Efficient Z testing
US5926181A (en) Method and apparatus for identifying and eliminating three-dimensional objects visually obstructed from a planar surface
GB2257877A (en) A method of and apparatus for reducing the size of a display whilst substantially maintaining its information content
JPH0782425B2 (ja) ソーティング回路
US6778174B1 (en) Method and apparatus for attribute processing with an active pipeline stage in a data processing system