JPH1063822A - 画像処理方式及び装置 - Google Patents

画像処理方式及び装置

Info

Publication number
JPH1063822A
JPH1063822A JP8225659A JP22565996A JPH1063822A JP H1063822 A JPH1063822 A JP H1063822A JP 8225659 A JP8225659 A JP 8225659A JP 22565996 A JP22565996 A JP 22565996A JP H1063822 A JPH1063822 A JP H1063822A
Authority
JP
Japan
Prior art keywords
pixel
pointer
processing
image processing
empty
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
JP8225659A
Other languages
English (en)
Other versions
JP3211676B2 (ja
Inventor
Shiyourin Kiyo
昭倫 許
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP22565996A priority Critical patent/JP3211676B2/ja
Priority to FR9710706A priority patent/FR2752964B1/fr
Priority to US08/917,743 priority patent/US6208362B1/en
Publication of JPH1063822A publication Critical patent/JPH1063822A/ja
Priority to US09/689,843 priority patent/US6426754B1/en
Application granted granted Critical
Publication of JP3211676B2 publication Critical patent/JP3211676B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 複数のPE(プロセッサエレメント)を用
い、各PEである画素数を処理する場合、各画素の処理
に順序性がある画像処理アルゴリズムであってもハード
ウェアコスト及び次以降オーバーヘッドの小さい画素レ
ベルのデータ駆動を実現する。 【解決手段】 PEにおいて、現在までの各画素の最新
の処理状態を記憶するための同期記憶部SMと、このS
Mを参照して現在処理中の画素の近傍に位置する画素が
処理可能となったか否かを動的に検出する検出部CHK
と、上記処理可能となったとして検出された画素へのポ
インタを記憶する一時記憶部SQと、このSQに記憶さ
れたポインタが示す画素に対して演算を行う演算部CA
Lとを設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセッサアレイ
により画像処理を高速に行うための画像処理方式および
装置に関する。
【0002】
【従来の技術】従来X×Y個(但しX≧1,Y≧1)の
プロセッサエレメント(PE)からなるプロセッサアレ
イでは、通常各PEが画像のある数の画素の処理を担当
する。したがってそれらの画素を並列に処理できる場合
は、容易にPE数に見合う高速化を実現できる。一方、
各画素を並列に処理可能でなく、例えばある画素を処理
してから別の画素が処理できるような、処理に順序性が
ある画像処理アルゴリズムの場合は、そのままではPE
数に見合う高速化を実現できないという問題点が存在し
ていた。従来、この種の問題を解決するものとして、処
理可能となった命令を各PEが動的に検出して処理でき
るようにするために、特開平1−489047号公報記
載のような命令レベルのデータ駆動に基づく実行制御方
式、すなわち実行を担当するPEの番号、待ち合わせる
べきデータの数、待ち合わせが成立した場合に実行すべ
き命令、さらに次に実行すべき命令等、実行およびその
制御に関する殆どの情報を持ったパケットを生成し、そ
れをPEの結合網状に流し、所定のPEまで当該パケッ
トが到達し、かつ待ち合わせ条件が成立した場合に、所
定のPEが当該パケットに書かれた命令を実行し、かつ
次に実行すべき命令の情報を持ったパケットを生成す
る、という実行制御方式およびそのための画像処理装置
が提案されていた。
【0003】
【発明が解決しようとする課題】上述した従来技術であ
る特開平1−489047号公報記載の命令レベルデー
タ駆動に基づく実行制御方式の第1の問題点は、装置が
複雑になる、ということである。その理由は、パケット
内に実行に係わるほとんどの情報を入れなければならな
いため、パケットサイズが大きくなってしまい、パケッ
トの生成およびその処理が複雑になること、及びそれに
伴いパケットを流す結合網のバンド幅も多く必要とされ
るようになることにある。
【0004】第2の問題点は、逐次的な命令列を実行す
る際に不要なオーバーヘッドが発生する、ということで
ある。その理由は、文献(坂井他、「データ駆動計算機
のアーキテクチャ最適化に関する考察」、情報処理学会
論文誌Vol.30,No.12,pp.1562-1571 )等にも記載されて
いるように、命令レベルのデータ駆動に基づく実行制御
方式では、連続して実行可能な命令に対しても、パケッ
トを介して命令を起動するため、逐次的な命令列の場
合、一般のパイプライン実行の場合と比べ命令間に不要
な処理ステップが多く発生することにある。
【0005】そこで本発明の目的は、画素を並列に処理
できる画像処理アルゴリズムの場合には、容易にPE数
に見合う高速化を実現できるのみならず、各画素を並列
に処理可能でなく、各画素の処理に順序性があるような
画像処理アルゴリズムの場合でも、ハードウェアコスト
並びに実行オーバーヘッドの小さい画素レベルのデータ
駆動を実現する画像処理方式および装置を提供すること
にある。
【0006】
【課題を解決するための手段】本発明による画像処理方
式は、上記目的を達成するために処理可能となった画素
へのポインタを次々と動的に検出して記憶しながら、上
記一時記憶された画素へのポインタを次々と取り出し、
当該ポインタの示す画素に対して演算を行うようにして
いる。
【0007】また、現在までの各画素の処理状態を記録
することにより、上記処理可能となった画素を検出する
ようにしてもよい。また、複数の異なるタスクの現在ま
での各画素の処理状態を記録することにより、上記複数
のタスクでの上記処理可能となった画素へのポインタを
同時に検出するようにしてもよい。さらにあるタスクに
対応する処理可能な画素へのポインタが無くなった時点
で、他のタスクに対応する処理可能な画素へのポインタ
の処理に切り替えるようにしてもよい。
【0008】本発明による画像処理装置は上記目的を達
成するために、処理可能となった画素へのポインタを検
出して記憶する検出手段と、上記検出手段が検出し記憶
した上記ポインタを取り出し、そのポインタの示す画素
に対して演算を行う演算手段とを設けている。
【0009】また、上記検出手段が、現在までの各画素
の処理状態を記憶する同期記憶手段と、上記処理可能と
なった画素へのポインタを格納する一時記憶手段とを有
するように構成してもよい。
【0010】また、上記同期記憶手段を、複数の異なる
タスクの現在までの各画素の処理状態を記憶するように
構成すると共に、上記一時記憶手段を、上記複数のタス
クの各々において上記処理可能となった画素へのポイン
タを格納するように構成してもよい。
【0011】さらに、上記一時記憶手段において、ある
タスクに対応する上記処理可能となった画素へのポイン
タが無くなった時、他のタスクに対応する上記処理可能
となった画素へのポインタの処理に切り替える切り替え
手段を設けてもよい。
【0012】
【発明の実施の形態】本発明の第1の実施の形態につい
て図面を参照にして詳細に説明する。まず、図2をもち
いて複数個のPEで構成されたプロセッサアレイ(PA
RY)について説明する。図2において、一般にプロセ
ッサアレイ、はX×Y個の相互結合された演算要素(プ
ロセッサエレメント)PE{x,y }、および各PE{x,
y }へのプログラムのダウンロードあるいは命令供給、
各PE{x,y }のステータスの集計やデータのブロード
キャスト等を行うことが可能な制御装置CNTを有す
る。但し、X≧1、Y≧1、x=0...X-1 、y=0...Y-1 、
である。
【0013】図1は本発明の第1の実施の形態の画像処
理装置であるプロセッサアレイPARYを構成する各P
E{x,y }の構成例を示すブロック図である。各PE
{x,y}は、処理対象の画像データである画素を格納す
る画素記憶部LM{x,y }と、処理すべき画素へのポイ
ンタを格納し、要素の取り出しは常に先頭から行うが要
素の投入は先頭または後尾より行うことが可能なQ個(
但しQ≧1、q=0...Q-1)の一時記憶部SQ[q] {x,y }
と、現在までの画素の処理状況を格納し、各語が数ビッ
ト程度のS個(但しS≧1、s=0...S-1 )の同期記憶部
SM[s] {x,y }と、SQ[q] {x,y }の先頭からのデ
ータの取り出し、IMから命令を読み、それに応じLM
{x,y }内の各画素に対する参照と定義およびその画素
値をオペランドとする算術論理演算能力とを持つ演算部
CAL{x,y }と、CAL{x,y }とデータのやりとり
を行うと共に、SQ[q] {x,y }内へのデータ投入や、
SM[s] {x,y }内各要素の参照と定義とその複数要素
間の論理演算能力を持つ検出部CHK{x,y }とを有す
る。
【0014】また隣接PE間では、CAL{x,y }が互
いに通信路A1〜A4(但しX=1の場合A1,A3、
Y=1の場合A2,A4は存在しない)によって結合さ
れ、CHK{x,y }は互いに通信路C1〜C4(但しX
=1の場合C1,C3、Y=1の場合C2,C4は存在
しない)によって結合されている。
【0015】次に、PARY内のCNT及び各PE{x,
y }の動作について、図3の動作フローチャートを参照
しながら詳細に説明する。なお、以下の説明ではQ個の
SQのいずれかを指定するために4つの変数q,q0,q1,q
2、S個のSMのいずれかを指定するために3つの変数
s,s1,s2 、および全PEでみてQ個のSQのいずれかが
空であるかを示すための変数EMPTY、そしてCHK
の動作を規定するための変数k,Z,z1,z2,val,また画素へ
のポインタを格納した変数ptr 、そしてPEへのポイン
タを格納する変数Ptr 、を用いる。また、特に誤解が生
じない限り、PE{x,y }等の記述はPEへのポインタ
である{x,y }を省略し単にPEと記す。またLM,S
M,SQ,CHK,CAL,IM等のPEの構成要素に
ついてもその記述において{x,y }を省略し、例えばS
Q[q] {x,y }は単にSQ[q] と記すものとする。
【0016】図3における各処理A0〜A10におい
て、まずCNTが初期動作としてA0を行う。A0で
は、CNTが各PEへ、適宜な画素へのポインタ(i,j)
をブロードキャストし、受ける側の各PEでは、CHK
が適切なSQへ(i,j) を投入したあと、A1へ進む。次
にCNT及び各PEは反復動作としてA1〜A10を行
う。そのうち、A1〜A3はCNT、A4〜A10は各
PEが行う。またA4〜A10の内、A4〜A6はCA
L、A7〜A10はCHKが行う。
【0017】A1では、CNTは全てのPEにおいて全
てのSQが空であるかどうかを調べ、空であれば全体の
処理を終了し、空でないSQがあればA2へ進む。A2
では、0〜Q-1のどのSQがまだ空でないかの情報EM
PTYを設定する。A3では、情報EMPTYをもとに
q0,q1,q2の3つの変数にそれぞれ0〜Q-1の間の適宜な
値、s0,s1 の2つの変数に0〜S-1間の適宜な値、そし
てpc,k,z2,zl,val等にも適宜な値を設定する。
【0018】A4では、SQ[q0]が空かどうかを調べ、
空であれば処理を停止し、空でなければA5へ進む。A
5では、SQ[q0]の先頭からデータをポップする。この
ポップされたデータは画素へのポインタであり、以降そ
れを(i,j) と記す。また、(i,j) の指すLM上の画素を
LM(i,j) 、(i,j) の指す番号sのSM上の画素をSQ
[s] (i,j) と記す。なお、(i,j) はここでCHKにも送
られる。A5の後はA6へ進むが、指定があればA7へ
も進みCHKの動作を開始させる。A6では、CALは
CNTから送られてきた命令にしたがって、例えば画素
LM(i,j) に対しその近傍画素等をオペランドとして処
理を行う。なおLM(i,j)の近傍画素が他のPEに存在
する場合は図1の通信路A1〜A4等を用いて他のPE
から当該画素を受け取る。その後、指定があればA7へ
進みCHKの動作を開始させる。
【0019】A7では、変数qにq2、sにs2、Zに
z2、ptr に(i,j) 、Ptr に(x,y)を代入する。A8で
は、条件Zが満たされているかどうかをチェックする。
なおこのチェックはPtr が指すPE上のCHK、すなわ
ちCHK(Ptr) によって行われる。またチェックの際に
Ptr が指すPE以外のPE上にあるSMの要素を参照す
る必要があれば、通信路C1〜C4を用いてCHK間で
要素のやりとりを行うものとする。条件Zが満足されれ
ば、A9へ進み、そうでなければA10へ進む。
【0020】A9では、CHK(Ptr) がptr をSQ[q]
(Ptr)に投入し、かつSM[s](ptr)(Ptr)をPUSHED
に設定する。A10では、CHKはまずA10−1にお
いてSM[s1](i,j) にval 、q にal、s にsl、Z にzl、
を代入した後、A10−2において、(i,j) のKで指定
される近傍へのポインタ(i1,j1) {x1,y1 }のそれぞれ
について、ptr を(i1,j1) 、Ptr を{x1,y1 }としてA
8→(A9)→A10−2の処理をポインタの数だけ繰
り返し行う。その後、A1へ戻る。なお{x1,y1 }と
は、(i1,j1) の指す要素の存在するPEへのポインタで
あり、(i,j) の指す要素と(i1,j1) の指す要素が同一P
E上にある場合、{x1,y1 }は{x,y }に等しくなる。
【0021】上述した本発明の第1の実施の形態の動作
をまとめると、以下のようになる。まずA0の初期動作
によって、最初に処理すべき画素へのポインタを0〜Q
−1のいずれかの適切なSQに格納する。次に反復動作
A1〜A15では、CNT、CAL、そしてCHKがそ
れぞれ以下のように動作する。
【0022】A1〜A4ではCNTが全PEに対しSQ
のテストを行い、全てのSQが空になれば処理全体を停
止させ、そうでなければ、どのSQがまだ空でないかの
情報EMPTYをもとに、q0,q1,q2への適切なSQ番号
の設定、s1,s2 への適切なSM番号の設定、プログラム
カウンタpcの設定そしてCHKの動作を規定する変数k,
z2,z1,val,q,s,Z,ptr,Ptr 等の設定を行う。それを受け
てA4〜A10では各PEにおいて、SQ[q0]が空にな
るまで、CALがそこから処理すべき画素へのポインタ
を取り出し、当該ポインタが指す画素に対し処理を行
い、かつCHKは次に処理すべき画素を検出し、それへ
のポインタをSQ[q1]またはSQ[q2]に積んだ後、A1
へ戻る。
【0023】すなわち全PEの全SQが空になるまで反
復動作として、CALは空でない適宜なSQの先頭から
画素へのポインタを取り出し、そのポインタの指す画素
を必要に応じ当該画素の近傍画素値も参照しながら処理
し、同時にCHKは当該画素の近傍の指定の画素につい
て、それらが所定の条件を満たすかどうかを調べ、所定
の条件を満たす画素であればそれへのポインタを適宜な
PEの適宜なSQに投入する処理を行うことによって、
画素レベルのデータ駆動的実行制御方式を実現してい
る。
【0024】以上のように、本発明の第1の実施の形態
によれば、CALが画素処理を行っている間に、CHK
は次々と、対応するSMを調べることで処理可能となっ
た画素へのポインタを動的に検出しSQに格納できるた
め、効率のよい画素処理を行うことができる効果が得ら
れる。
【0025】次に本発明の第1の実施の形態の具体的な
実施例1、2について説明する。各実施例1、2は以下
の各項目を指定することで一意的に決まる。ここで各項
目は・A0において、どのように各SQを初期化する
か。・A3において、qo,q1,q2,s1,s2,pc,k,z1,z2,val
をどのように設定するか、またA5とA6のどちらでA
7を起動するか。・A6において、どのような処理を行
うかである。
【0026】まず実施例1として、逐次的な画像処理の
一例であり、2回の互いに逆の方向から画像をスキャン
することにより画像に対する距離変換を行うアルゴリズ
ム(文献 G. Borgefors, Distance Transformation in
Digital Images, ComputerVision, Graphics, and Imag
e Processing, 34, pp.344-371, 1986参照)に対する実
施例を示す。なお距離変換とは2値画像内の各前景画素
の画素値を、当該画素からもっとも近い背景画素への距
離値に置き換える処理である。
【0027】各PEの記憶部LMには、それぞれ予めM
AXか0のいずれかの値をとるI×J個の互いに隣接す
る2値の画素、またそれに対応する形で各PEの各SM
には、それぞれFINかFRONTのいずれかの値をと
るI×J個の要素が格納されているものとする。2回の
互いに逆の方向からのスキャンによる距離変換処理に対
する実施例1の各項目は以下のように与えられる。
【0028】・A0において、各PEのSQ[0] に(0,
0) を投入する。・A3では1.A3を最初に通過する
時−q0とq1は空でないSQを一つ選びその番号qaに設定
し、q2は空のSQを一つ選び、その番号qbに設定する。
−適当なSMの番号saとsbを選び(但しsa≠sb)、s1を
sa、s2をsbに設定する。−pcは実行可能画素検出サブプ
ログラム部の先頭に設定する。−k は、図4の位置6と
8の要素が他のPE内のある場合を除き、図4の位置6
と8に設定する。−z2はSM[s](ptr)(Ptr) がFRON
T、かつそれを中心とする図4の位置1、2、3そして
4の近傍要素がFINであるという条件に設定する。−
z1はSM[s](ptr)(Ptr) がPUSHED以外という条件
に設定する。−val はSM[s2](ptr) に設定する。−A
5でA7を起動できるように設定する。
【0029】2.A3を通過時、SQ[q0]が1回目に空
になった時(第1回スキャン処理開始の準備の終了時に
相当)−q0とq1は空でないSQを一つ選びその番号qaに
設定し、q2は空のSQを一つ選び、その番号qbに設定す
る。−s1とS2は互いに値を交換する。−pcは距離計算
サブプログラムDISTAの先頭に設定する。−k は図
4の位置5、6、7、8に設定する。−z2はSM[s](pt
r)(Ptr) がFRONTかつそれを中心とする図4の位置
5、6、7、8の近傍要素がFINであるという条件に
設定する。−z1はSM[s](ptr)(Ptr) がFRONTかつ
それを中心とする図4の位置1、2、3、4の近傍要素
がFINであるという条件に設定する。−val はFIN
に設定する。−A5でA7を起動できるよう設定する。
【0030】3.A3を通過時、SQ[q0]が2回目に空
になった時(第1回スキャン処理の終了時に相当)−pc
は距離計算サブプログラムDISTBの先頭に設定す
る。−kは図4の位置1、2、3、4に設定する。−z2
は無条件不成立に設定する。−z1はSM[s](ptr)(Ptr)
がFRONTかつそれを中心とする図4の位置5、6、
7、8の近傍要素がFINであるという条件に設定す
る。−上記以外は、SQ[q0]が空になるのが第1回の場
合と同じように設定する。
【0031】4.A3を通過時、SQ[q0]が3回目に空
になった時(第2回スキャン処理の終了時に相当)−全
ての番号のSQが空になっているはずなので、設定は行
わない。
【0032】・A6では、CNTからブロードキャスト
された命令列にしたがって処理を行う。なお以下(i,j)
とはA5でポップされた画素へのポインタを表すものと
する。−実行可能画素検出サブプログラム部では、何も
処理をしない。−距離計算サブプログラムDISTAの
処理とはLM(i,j) と、図4の位置1にある画素値とV
Dとを加算した値と、図4の位置2にある画素値とVD
とを加算した値と、図4の位置3にある画素値とVDと
を加算した値と、図4の位置4にある画素値とVDとを
加算した値との中で、最小の値のものでLM(i,j) を書
き換える処置である。−距離計算サブプログラムDIS
TBの処理とはLM(i,j) と、図4の位置5にある画素
値とVDとを加算した値と、図4の位置6にある画素値
とVDとを加算した値と、図4の位置7にある画素値と
VDとを加算した値と、図4の位置8にある画素値とV
Dとを加算した値との中で、最小の値のものでLM(i,
j) を書き換える処置である。
【0033】図5、図6に、VSを2、VDを3、8つ
の中ぐらいの大きさを持つ物体を含む2値のテスト画像
を対象とし、画像サイズが32×32、PARY内のP
E数X×Y、各PEに格納される画像のサイズI×Jが
それぞれX=32,Y=1,I=1,J=32,したが
って各PEの記憶部LMには、それぞれ予めMAX(こ
の場合はMAX=255としている)か0のいずれかの
値をとる1×32個の隣接する2値画素、すなわち1列
の2値画素が格納され、各画素を指すポインタ(i,j) は
(0,0) 〜(0,31)の値をとり、また{x,y }は{0,0 }〜
{31,0}の値をとる場合の、処理の途中経過およびその
最終結果を示す。
【0034】すなわち、第1回のスキャン処理の繰り返
し1、繰り返し5、および繰り返し終了時の、全PEで
のSQ[q0]とLMをまとめてそれぞれ図5(a)〜
(c)に示す。また第2回のスキャン処理の繰り返し
1、繰り返し5、および繰り返し終了時の、全PEのS
Q[q0]とLMをまとめてそれぞれ図6(d)〜(f)に
示す。図6(f)が処理結果の距離画像である。なお図
5、図6の(a)から(f)では全ての数字が16進数
表示となっており、かつ左上のpe) とあるところを起点
としてまっすぐ右へ1行分に各PEの番号として0〜3
1(16進表示では1f)の数字、pe) とあるところを起
点としてまっすぐ下へ1列分で各PEのLM内のy成分
のアドレス値として0〜31(16進表示では1f)の数
字、を目印のために付けている。
【0035】図5図6に示したテスト画像の処理に要し
た繰り返し回数は、第1回のスキャンのための準備処理
が32繰り返し、第1回のスキャンが19繰り返し、第
2回のスキャンが16繰り返し、繰り返し数の合計は6
7である。これに対して、同じ構成の従来のPARYを
使用した場合のもっとも効率のよい処理手法と考えられ
る特願平08−055552号公報に示された手法を用
いて、同一の画像を処理した場合では、全画像を互いに
逆の方向から2回スキャンする場合の繰り返し数は2×
(2×(32−1)+32)=188である。すなわち
本発明の第1の実施の形態による実施が、例1によれ
ば、従来方法と比べ約1/3の繰り返し数で同等の処理
を実現することができる。
【0036】次に本発明の第1の実施の形態の実施例2
として、画像に対して細線化処理を行った上でそれによ
って得られた骨格線を構成する画素数(骨格線長)を求
める処理に対する実施例を示す。なおここでの細線化処
理とは、背景画素を隣接画素に持つ前景画素を輪郭画素
と呼ぶものとすると、画像の各前景画素の集まりが成す
物体のそれぞれについて、物体が途中で2つの別の物体
に分かれない限りにおいて、ある時点で輪郭画素となっ
た画素を削除するのを繰り返し行う処理である。物体を
外側から順番に、1層ずつ削り取っていく形の処理であ
るが、ある層を削り終わらないうちは、次の層を削りは
じめることはできないという制約を持つ。
【0037】各PEの記憶部LMには、それぞれ予めF
RONTかBACKのいずれかの値をとるI×J個の互
いに隣接する2個の画素、またそれに対応する形で各P
Eの各SMにも、それぞれFRONTかBACKのいず
れかの値をとるI×J個の要素が格納されているとす
る。上記の細線化して骨格線長を求める処理に対する本
発明の第1の実施の形態による実施例2の前記各項目は
以下のように与えられる。
【0038】・A0において、各PEのSQ[0] に(0,
0) を投入する。・A3では1.A3を最初に通過する
時−q0とq1は空でないSQを一つ選びその番号qaに設定
し、q2は空のSQを一つ選び、その番号をqbに設定す
る。−適当なSMの番号saとsbを選び(但しsa≠sb)、
s1をsa、s2をsbに設定する。−pcは実行可能画素検出サ
ブプログラム部の先頭に設定する。−k は図4の位置6
と8の要素が他のPE内にある場合を除き、図4の位置
6と8に設定する。−z2はSM[s](ptr)(Ptr) がFRO
NT、かつそれを中心とする図4の位置1〜8にある要
素の内一つ以上がBACKであるという条件に設定す
る。−z1はSM[s](ptr)(Ptr) がPUSHED以外とい
う条件に設定する。−val はSM[s2](ptr) に設定す
る。−A5でA7を起動するよう設定する。
【0039】2.A3を通過時、SQ[q1]が空でなくか
つSQ[q0]が1回目に空になった時(細線化処理の準備
終了に相当)−q0は空でないSQを一つ選びその番号qa
に設定し、q1とq2は異なる空のSQを二つ選び、それぞ
れその番号qb、qcに設定する。−s1とs2の設定は変えな
い。−pcは画素削除サブプログラム部の先頭に設定す
る。−k は図4の位置1〜8に設定する。−z2はval が
FINであるという条件に設定する。−z1はSM[s](pt
r)(Ptr) がFRONTであり、かつそれを中心とする図
4の位置1〜8の近傍要素の中で一つ以上がBACKで
あるという条件に設定する。−val はA6が設定する。
−A6でA7を起動するよう設定する。
【0040】3.A3を通過時、SQ[q1]が空でなくか
つSQ[q0]が2回目以降空になった時(前景物体の外側
から1層ずつ画素を削除し終わったときに相当)−q0と
q1の値を交換して設定する。q2はそのまま。−それ以外
は設定を変えない。
【0041】4.A3を通過時、SQ[q2]が空でなくか
つSQ[q0]とSQ[q1]が共に空の時−pcは骨格線長計算
サブプログラム部の先頭に設定する。−q0にq2の値を設
定する。−それ以外は設定を変えない。
【0042】・A6では、CNTからブロードキャスト
された命令列にしたがって処理を行う。なお以下(i,j)
とはA5でポップされた画素へのポインタを表すものと
する。−実行可能画素検出サブプログラム部では、何も
処理をしない。−画素削除サブプログラム部では、LM
(i,j) がFRONTであり、かつそれを中心とする図4
の位置1〜8にある8画素が図7に示したいずれかの状
況にあれば、LM(i,j)をFINに書き換え、そうでな
ければLM(i,j) をBACKに書き換える。但し各PE
は処理を行う前に、自分に隣接するPEが図4の位置1
〜8にある8画素のいずれかの画素に対しまさに処理を
行っている最中かどうかを、通信路A1〜A4を用いて
確かめ、もし行っている最中である場合は、一方のPE
の処理の終了を待ってから他方のPEの処理を開始する
よう制御する。またval は書き換えた後のLM(i,j) の
値がFINであれば、FINに、FINでなければ書き
換える前のLM(i,j) の値に設定する。−骨格線長計算
サブプログラム部では、通信路A1〜A4を用いて、各
PEのSQ[q0]内に存在するポインタ数を特定のPEの
CALによって加算集計し、その結果を処理結果として
CNTに送った後、全SQ[q0]をフラッシュする(空に
する)。
【0043】図7では、図4の位置0が#で表現され、
そこからみて図4の位置1〜8にある各画素の値
を「.」、「1」、そして「0」で表している。「.」
はBACKまたはFRONT、「1」はFRONT、
「0」はBACK、を意味する。
【0044】図8図9に、実施例1の場合と同じテスト
画像、同じPARYの構成の場合の処理の途中経過およ
びその最終結果を示す。すなわち、図8(a)に第1回
目にSQ[q0]が空になり、A3で空でないSQの番号q2
をq0に代入した後の全LMとSQ[q0]の内容、図8
(b)に第1回目にSQ[q0]が空になった時点から5繰
り返し後での全PEのLMとSQ[q0]の内容、図9
(c)に第2回目にSQ[q0]が空になった時点での全P
EのLMとSQ[q0]の内容、図9(d)に第3回目にS
Q[q0]が空になった時点での全PEのLMとSQ[q0]の
内容、そして図9(e)に第4回目にSQ[q0]が空にな
った時点、すなわち細線化処理が終了した時点での全P
EのLMおよびSQ[q0]の内容を示す。
【0045】なお、図8、図9(a)〜(e)ではLM
内の画素の値が、FINの場合はff、FRONTの場合
1、FRONTでありかつ現在それへのポインタがSQ
[q2]内に存在する場合は66、そしてFRONTであり
かつ現在それへのポインタがSQ[q0]内に存在する場合
には77、で表示している。
【0046】図9の2値画像の細線化処理に要した繰り
返し回数について見ると第1回SQ[q0]が空になった時
点までが32繰り返し第2回SQ[q0]が空になった時点
までが10繰り返し、それより第3回SQ[q0]が空にな
った時点までが5繰り返し、それより第4回SQ[q0]が
空になった時点、すなわち細線化処理の終了までが1繰
り返し、計48繰り返しである。
【0047】これに対して同じ構成の従来のPARYを
使用し、PE間では並列であるがPE内では逐次的に
(順番に)各LM内の32個の画素に対し図7に示す削
除可能条件を満たすかどうかを調べ、削除可能な画素で
あればそれを削除する、という従来手法を用いた場合の
繰り返し数は、今回使用した32×32画素のテスト画
素の場合、削るべき層が3層あるので、(32×3)=
96となる。すなわち、本発明の第1の実施の形態によ
る実施例2によれば、従来方法と比べ1/2の繰り返し
数で同等の処理を実現することができる。
【0048】また同じ内容の画像でサイズを大きくして
いった場合、本発明の第1の実施の形態による実施例の
効果はより顕著になる。すなわち下記の表に示すよう
に、例えば256×256の画像の場合だと、本発明の
第1の実施の形態による実施例では従来手法の1/10
の繰り返し数で同等の処理を実現している。
【0049】
【表1】
【0050】次に本発明の第2の実施の形態について説
明する。上述した本発明の第1の実施の形態は、各PE
がプログラムメモリIMやプログラムカウンタPCを持
たず、全てのPEがCNTからブロードキャストされた
命令を実行する、いわゆるSIMD(Single Instructio
n Multiple Data:単一命令流多重データ)方式に基づく
場合の実施の形態であった。これに対して、以下に述べ
る本発明の第2の実施の形態は、全PEには同一のプロ
グラムをロードするが、各PEはプログラムカウンタP
Cを有するため同じプログラムの異なる部分を実行する
ことが可能であり、いわゆるSPMD(Single Program
MultipleData: 単一プログラム多重データ)方式に基づ
く場合の実施の形態である。
【0051】次に第2の実施の形態を図面を参照して詳
細に説明する。図10は本発明の第2の実施の形態の画
像処理装置であるプロセッサアレイPARYを構成する
各PE{x,y }の構成例を示すブロック図である。各P
E{x,y }は、処理対象の画像データである画素を格納
する画素記憶部LM{x,y }と、命令を格納する命令記
憶部IM{x,y }とプログラムカウンタpcと、処理すべ
き画素へのポインタを格納し、要素の取り出しは常に先
頭から行うが要素の投入は先頭または後尾より行うこと
が可能なQ個(但しQ≧1、q=0... Q−1)の一時
記憶部SQ[q] {x,y }と、現在までの画素の処理状況
を格納し、各語が数ビット程度のS個(但しS≧1、s
=0... S−1)の同期記憶SM[s] {x,y }とSQ
[q] {x,y }の先頭からのデータの取りだし、IMから
の命令の読み出し、それに応じてLM{x,y }内の各画
素に対する参照と定義およびその画素値をオペランドと
する算術論理演算能力とを持つ演算部CAL{x,y }
と、CAL{x,y }とデータのやりとりを行える上、S
Q[q] {x,y }内へのデータ投入や、SM[s] {x,y }
内各要素の参照と定義とその複数要素間の論理演算能力
を持つ検出部CHK{x,y }と、を有する。
【0052】また隣接PE間では、CAL{x,y }が互
いに通信路A1〜A4(但しX=1の場合A1,A3、
Y=1の場合A2,A4は存在しない)によって結合さ
れ、CHK{x,y }は互いにC1〜C4(但しX=1の
場合C1,C3、Y=1の場合C2,C4は存在しな
い)によって結合されている。
【0053】次にPARY内のCNT及び各PE{x,y
}の動作について、図11の動作フローチャートを参
照にしながら詳細に説明する。なお、第1の実施の形態
の場合と同様、以下の説明ではQ個のSQのいずれかを
指定するために4つの変数q,q0,q1,q2、S個のSMのい
ずれかを指定するために3つの変数s,s1,s2 、および全
PEでみてQ個のSQのいずれかが空であるかを示すた
めの変数EMPTY、そしてCHKの動作を規定するた
めの変数k,Z,z1, z2,val、また画素へのポインタを格納
した変数ptr 、PEへのポインタを格納するための変数
Ptr 、を用いる。また特に誤解が生じない限り、PE
{x,y }等の記述はPEへのポインタである{x,y }を
省略し単にPEと記す。またLM、SM、SQ、CH
K、CAL、IM等のPEの構成要素についてもその記
号において{x,y }を省略し、例えばSQ[q] {x,y }
は単にSQ[q] と記すとする。
【0054】図11の処理A0〜A15において、まず
CNTが初期動作としてA0を行う。A0では、CNT
が各PEへ、適宜な画素へのポインタ(i,j) をブロード
キャストし、受ける側の各PEでは、CHKが適切なS
Qへ(i,j) を投入する。また信号1、3、4をOFF、
信号2、フラグHをONに設定し、かつ各IMへプログ
ラムをダウンロードした後、A2へ進む。
【0055】次にCNT及び各PEは反復動作としてA
1〜A15を行う。そのうちA1〜A4はCNT、A5
〜A15は各PEが行う。またA5〜A15の内、A5
〜A10はCAL、A11〜A15はCHKが行う。
【0056】A1では、CNTが全PEからの信号4が
全てONであれば、同期が成立したと見なし、全PEか
らの信号4をOFFにすると共に、A2へ進む。A2で
は、CNTは全てのPEにおいて全てのSQが空である
かどうかを調べ、空であればA3へ進み、空でないSQ
があればA4へ進む。A3では、CNTはフラグHをO
FFに設定し、全PEにそれをブロードキャストした
後、全体の処理を終了する。A4では、0〜Q−1のど
のSQがまだ空でないのかの情報EMPTYを設定し、
それを全PEにブロードキャストした上、信号1をON
に設定する。
【0057】A5では、信号1と信号2の同期をとる。
両信号が共にONであればA6へ進み、かつ両信号をO
FFに設定する。A6では、情報EMPTYをもとにq
0,q1,q2の3つの変数にそれぞれ0〜Q−1の間の適宜
な値、s0,s1 の2つの変数に0〜S−1間の適宜な値、
そしてpc,k,z2,z1,val等にも適宜な値を設定する。A7
では、SQ[q0]が空かどうかを調べ、空であれば信号4
をONに設定した上A8へ進み、空でなければA9へ進
む。A8では、フラグHをテストし、ONであれば信号
2をONにし、OFFであれば処理を停止する。
【0058】A9では、SQ[q0]の先頭からデータをポ
ップし、かつ信号1をOFFにする。また指定があれ
ば、信号3をONにする。このポップされたデータは画
素へのポインタであり、以降それを(i,j) と記す。また
(i,j) の指すLM上の画素をLM(i,j) 、(i,j) の指す
番号sのSM上の画素をSM[s](i,j)と記す。なお、
(i,j) はここでCHKにも送られる。A10では、CA
Lはpcの指す命令をIMからフェッチし、それにしたが
って例えば画素LM(i,j) に対しその近傍画素等をオペ
ランドとして、pcをインクリメントしながら処理を行
い、また指定があればpc,q0,q1,q2,s0,s1,pc,k,z2,z1,v
al 等の値を書き換える。なおLM(i,j) の近傍画素が
他のPEに存在する場合は通信路A1〜A4等を用いて
他のPEから当該画素を受け取る。最後に、指定があれ
ば信号3をONにする。
【0059】A11では信号3がONになれば、それを
OFFにした上、A12へ進む。A12では、変数q に
q2、sにs2、Z にz2、ptr に(i,j) 、Ptr(x,y)を代入す
る。A13では、条件Zが満たされているかどうかをチ
ェックする。なおこのチェックはPtr が指すPE上での
CHK、すなわちCHK(Ptr)によって行われる。また
チェックの際にPtr が指すPE以外のPE上にあるSM
の要素を参照する必要があれば、通信路C1〜C4を用
いてCHK間で要素のやりとりを行うものとする。条件
Zが満足されれば、A14へ進み、そうでなければA1
5へ進む。A14ではCHK(Ptr)がptr をSQ[q](Pt
r)に投入し、かつSM[s](ptr)(Ptr) をPUSHEDに
設定する。A15ではCHKはまずA15−1において
SM[s1](i,j) にval 、q にal、s にs1、Z にz1、を
代入したあと、A15−2において、(i,j) のKで指定
される近傍へのポインタ(i1,j1) {x1,y1 }のそれぞれ
について、ptr を(i1,j1)、Ptr を{x1,y1 }としてA
13→(A14)→A15−2の処理をポインタの数だ
け繰り返し行い、そしてその終了後に信号4をONにす
る。なお{x1,y1 }とは、(i1,j1) の指す要素の存在す
るPEへのポインタであり、(i,j) の指す要素と(i1,j
1) の指す要素が同一PE上にある場合、{x1,y1 }は
{x,y }に等しくなる。
【0060】以上の第2の実施の形態の動作をまとめる
と、以下のようになる。まずA0の初期動作によって、
全PEへ同一のプログラムをダウンロードすると共に、
最初に処理すべき画素へのポインタを0〜Q−1のいず
れかの適切なSQに格納する。次に反復動作A1〜A1
5では、CNT、CAL、そしてCHKがそれぞれ以下
のように動作する。
【0061】A1〜A4ではCNTが全PEに対しSQ
のテストを行い、すべてのSQが空になれば処理全体を
停止させるためにフラグHをOFFにし、そうでなけれ
ば、どのSQがまだ空でないかの情報EMPTYを各P
Eへ送る。それを受けてA5〜A15では各PEにおい
て、pcの設定、q0.q1,q2への適切なSQ番号の設定、s
1,s2 への適切なSM番号の設定、そしてCHKの動作
を規定する変数k,z2,z1,val,q,s,Z,ptr,Ptr 等の設定を
行った上、SQ[q0]が空になるまで、CALがそこから
処理すべき画素へのポインタを取り出し、当該ポインタ
が指す画素への処理を行い、かつCHKが次に処理すべ
き画素を検出し、それへのポインタをSQ[q1]またはS
Q[q2]に積む、という処理を繰り返す。
【0062】CALSQ[q0]が空になった時点で、他に
空でないSQが当該PE内に存在すればプログラムの指
示に従ってq0,q1,q2に別の空でないSQの番号、またs
1,s2にも対応する適切なSMの番号を設定した上で、上
記の繰り返し処理を再開する。
【0063】本発明の第1の実施の形態と第2の実施の
形態とを比べると、第2の実施の形態は、各PEがプロ
グラムメモリIMおよびプログラムカウンタpcを持つた
め、図11に示すように、q0,q1,q2,s1,s2,pc,k,z1,z2
等の設定は各PE内で行っている点と、各PEの動作を
停止させるためのフラグHWI用いている点と、CNT
と各PE、またPE内ではCALとCHKを、互いに非
同期で動作させることが可能である点とにおいて異な
る。
【0064】また、第1の実施の形態は、第2の実施の
形態と比べると、図10に示すようなpcおよびIMがな
く、かつSMやSQの個数を示すSやQを小さくでき
る。
【0065】第2の実施の形態の効果は、第1の実施の
形態の効果に加え、複数の互いに独立名タスクを容易に
重畳的に動作させることが可能である点にある、すなわ
ち、各タスクに別々のSQの組、および別々のSMを割
り当てることで、PEごとに、あるタスクに対応するS
Qが空になった時点で、別のタスクに対応するSQおよ
びSMを処理対象に切り替えることが容易にでき、それ
によって、各PEの稼働率を向上させることが可能であ
る。
【0066】第2の実施の形態の別の効果は、互いに依
存関係にあるタスク、すなわち先行タスクの処理結果を
後続タスクが使用するというような依存関係を持ったタ
スク同士に対しても重畳的に動作させる、すなわち先行
タスクの終了を待たずに、後続タスクを起動できる点に
ある。すなわち、先行タスクの処理を特定のSQの組
(例えばSQ[q0]、SQ[q1])と処理の状態を記録する
特定のSM(例えばSM[s1])で行いながら処理結果を
次々と別の特定のSQ(例えばSQ[q2]) に投入しかつ
その処理の状態を別の特定のSM(例えばSM[s2])に
記録していけば、先行タスクの処理に対応するSQが一
時的に空になった時点で、処理対象のSQおよびSM
を、先行タスクの処理結果を格納しているSQ(この場
合SQ[q2])およびその後続タスクの処理状態を格納し
ているSM(この場合SM[s2])に切り替え、先行タス
クの処理の合間に、処理可能となった後続タスクの部分
の処理をその都度、行うことが可能である。
【0067】以上説明したように、本発明の画像処理装
置は、処理可能となった画素を動的に抽出する機構と、
それを動的に演算部に供給する機構とを有している。よ
り具体的には、現在までの画素の最新の処理状態を記憶
するための記憶部(図1のSM)と、それを参照し現在
処理中の画素の近傍に位置する画素が処理可能となった
かどうかを検出する検出部(図1のCHK)と、処理可
能として検出された画素を格納するための一時記憶部
(図1のSQ)とを有している。
【0068】また本発明の画像処理方式は、処理可能と
なった画素を動的に抽出し、そのポインタを動的に演算
処理に供給する仕組みを有している。より具体的には、
現在までの画素の最新の処理状態を記憶し(A9、A1
0)、それを参照することにより現在処理中の画素の近
傍に位置する画素が処理可能となったかどうかを検出し
(A8)、かつ処理可能として検出された画素を演算部
が参照可能な一時記憶に格納する(A9)仕組みを有し
ている。
【0069】
【発明の効果】本発明により得られる第1の効果は、各
画素を並列に処理可能でなく、各画素の処理に順序性が
あるような画像処理アルゴリズムの処理効率を向上させ
ることができるということである。すなわち、それぞれ
の画素に対し、何らかの依存関係を保ったまま処理を行
う必要のある繰り返し型の画像処理アルゴリズムにおい
て、その繰り返し数を減らすことができる。その理由
は、、処理する必要が発生した画素をその都度、動的に
検出することを可能にしているためである。
【0070】第2の効果は、上記第1の効果に加え、何
らかの依存関係を保ったまま処理を行う必要のある繰り
返し型の画像処理アルゴリズムにおいて、各繰り返しに
必要な処理手数を減らすことができる。その理由は、処
理する必要が発生した画素の検出を行う検出部が、従来
の演算を行う演算部と並列に動作するためである。
【0071】第3の効果は、同じデータ駆動的実行制御
方式を実現する前述した従来方法である複雑なパケット
構成に基づく命令レベルの細粒度なデータ駆動的な制御
方式と比べて、必要とするハードウェアコストが少ない
ことである。その理由は、従来手法のように実行制御の
全情報を持ったパケットを生成しそれをPE間でやりと
りする必要はなく、画素の位置を表すポインタという簡
潔な情報だけをPE間でやりとりすればよいためであ
る。
【0072】第4の効果は、同じデータ駆動的実行制御
方式を実現する従来手法である複雑なパケット構成に基
づく命令レベルの細粒度なデータ駆動的な制御方式と比
べて、実行時に発生する制御に係わるオーバーヘッドが
少ないことである。その理由は、画素レベルのデータ駆
動的実行制御方式であることから、画素に対する処理が
逐次的な命令列で構成されている場合でもそれの対しパ
イプライン的な実行形式をとることが可能であり、従来
手法のように全ての命令をパケットを介して起動する必
要がないためである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態による画像処理装置
を示すブロック図である。
【図2】複数の画像処理装置を用いたプロセッサアレイ
の構成例を示すブロック図である。
【図3】第1の実施の形態の動作を示すフローチャート
である。
【図4】第1の実施の形態における実施例1、2の動作
を説明するための構成図である。
【図5】実施例1の動作を示す構成図である。
【図6】実施例1の動作を示す構成図である。
【図7】実施例1の動作を示す構成図である。
【図8】実施例2の動作を示す構成図である。
【図9】実施例2の動作を示す構成図である。
【図10】本発明の第2の実施の形態による画像処理装
置を示すブロック図である。
【図11】第2の実施の形態の動作を示すフローチャー
トである。
【符号の説明】
PE 演算要素(プロセッサエレメント) LM 画素記憶部 SQ 一時記憶部 SM 同期記憶部 CAL 演算部 CHK 検出部 IM 命令記憶部 PC プログラムカウンタ CNT 制御装置
【手続補正書】
【提出日】平成8年12月27日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0002
【補正方法】変更
【補正内容】
【0002】
【従来の技術】従来X×Y個(但しX≧1,Y≧1)の
プロセッサエレメント(PE)からなるプロセッサアレ
イでは、通常各PEが画像のある数の画素の処理を担当
する。したがってそれらの画素を並列に処理できる場合
は、容易にPE数に見合う高速化を実現できる。一方、
各画素を並列に処理可能でなく、例えばある画素を処理
してから別の画素が処理できるような、処理に順序性が
ある画像処理アルゴリズムの場合は、そのままではPE
数に見合う高速化を実現できないという問題点が存在し
ていた。従来、この種の問題を解決するものとして、処
理可能となった命令を各PEが動的に検出して処理でき
るようにするために、特公昭63−36544号公報記
載のような命令レベルのデータ駆動に基づく実行制御方
式、すなわち実行を担当するPEの番号、待ち合わせる
べきデータの数、待ち合わせが成立した場合に実行すべ
き命令、さらに次に実行すべき命令等、実行およびその
制御に関する殆どの情報を持ったパケットを生成し、そ
れをPEの結合網状に流し、所定のPEまで当該パケッ
トが到達し、かつ待ち合わせ条件が成立した場合に、所
定のPEが当該パケットに書かれた命令を実行し、かつ
次に実行すべき命令の情報を持ったパケットを生成す
る、という実行制御方式およびそのための画像処理装置
が提案されていた。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0003
【補正方法】変更
【補正内容】
【0003】
【発明が解決しようとする課題】上述した従来技術であ
る特公昭63−36544号公報記載の命令レベルデー
タ駆動に基づく実行制御方式の第1の問題点は、装置が
複雑になる、ということである。その理由は、パケット
内に実行に係わるほとんどの情報を入れなければならな
いため、パケットサイズが大きくなってしまい、パケッ
トの生成およびその処理が複雑になること、及びそれに
伴いパケットを流す結合網のバンド幅も多く必要とされ
るようになることにある。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正内容】
【0013】図1は本発明の第1の実施の形態の画像処
理装置であるプロセッサアレイPARYを構成する各P
E{x,y }の構成例を示すブロック図である。各PE
{x,y}は、処理対象の画像データである画素を格納す
る画素記憶部LM{x,y }と、処理すべき画素へのポイ
ンタを格納し、要素の取り出しは常に先頭から行うが要
素の投入は先頭または後尾より行うことが可能なQ個(
但しQ≧1、q=0...Q-1)の一時記憶部SQ[q] {x,y }
と、現在までの画素の処理状況を格納し、各語が数ビッ
ト程度のS個(但しS≧1、s=0...S-1 )の同期記憶部
SM[s] {x,y }と、SQ[q] {x,y }の先頭からのデ
ータの取り出し、LM{x,y }内の各画素に対する参照
と定義およびその画素値をオペランドとする算術論理演
算能力とを持つ演算部CAL{x,y }と、CAL{x,y
}とデータのやりとりを行うと共に、SQ[q] {x,y
}内へのデータ投入や、SM[s] {x,y }内各要素の
参照と定義とその複数要素間の論理演算能力を持つ検出
部CHK{x,y }とを有する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0062
【補正方法】変更
【補正内容】
【0062】SQ[q0]が空になった時点で、他に空でな
いSQが当該PE内に存在すればプログラムの指示に従
ってq0,q1,q2に別の空でないSQの番号、またs1,s2 に
も対応する適切なSMの番号を設定した上で、上記の繰
り返し処理を再開する。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 処理可能となった画素へのポインタを次
    々と動的に検出して記憶しながら、この記憶された画素
    へのポインタを次々と取り出し、当該ポインタの示す画
    素に対して演算を行うことを特徴とする画像処理方式。
  2. 【請求項2】 現在までの各画素の処理状態を記録する
    ことにより、前記処理可能となった画素を検出すること
    を特徴とする請求項1記載の画像処理方式。
  3. 【請求項3】 複数の異なるタスクの現在までの各画素
    の処理状態を記録することにより、前記複数のタスクで
    の上記処理可能となった画素へのポインタを同時に検出
    することを特徴とする請求項2記載の画像処理方式。
  4. 【請求項4】 あるタスクに対応する処理可能な画素へ
    のポインタが無くなった時点で、他のタスクに対応する
    処理可能な画素へのポインタの処理に切り替えることを
    特徴とする請求項3記載の画像処理方式。
  5. 【請求項5】 処理可能となった画素へのポインタを検
    出して記憶する検出手段と、 前記検出手段が検出し記憶した前記ポインタを取り出
    し、そのポインタの示す画素に対して演算を行う演算手
    段とを備えたことを特徴とする画像処理装置。
  6. 【請求項6】 前記検出手段は、現在までの各画素の処
    理状態を記憶する同期記憶手段と、前記処理可能となっ
    た画素へのポインタを格納する一時記憶手段とを有する
    ことを特徴とする請求項5記載の画像処理装置。
  7. 【請求項7】 前記同期記憶手段は、複数の異なるタス
    クの現在までの各画素の処理状態を記憶するように成さ
    れ、前記一時記憶手段は、前記複数のタスクの各々にお
    いて前記処理可能となった画素へのポインタを格納する
    ように成されていることを特徴とする請求項6記載の画
    像処理装置。
  8. 【請求項8】 前記一時記憶手段において、あるタスク
    に対応する前記処理可能となった画素へのポインタが無
    くなった時、他のタスクに対応する前記処理可能となっ
    た画素へのポインタの処理に切り替える切り替え手段を
    設けたことを特徴とする請求項7記載の画像処理装置。
JP22565996A 1996-08-27 1996-08-27 画像処理方法および装置 Expired - Fee Related JP3211676B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP22565996A JP3211676B2 (ja) 1996-08-27 1996-08-27 画像処理方法および装置
FR9710706A FR2752964B1 (fr) 1996-08-27 1997-08-27 Systeme et procede de traitement d'image simple dans lesquels un temps systeme non souhaite est impossible
US08/917,743 US6208362B1 (en) 1996-08-27 1997-08-27 Simple image processing system and method capable of reducing occurrence of unwanted overhead
US09/689,843 US6426754B1 (en) 1996-08-27 2000-10-13 Simple image processing system and method capable of reducing occurrence of unwanted overhead

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22565996A JP3211676B2 (ja) 1996-08-27 1996-08-27 画像処理方法および装置

Publications (2)

Publication Number Publication Date
JPH1063822A true JPH1063822A (ja) 1998-03-06
JP3211676B2 JP3211676B2 (ja) 2001-09-25

Family

ID=16832771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22565996A Expired - Fee Related JP3211676B2 (ja) 1996-08-27 1996-08-27 画像処理方法および装置

Country Status (3)

Country Link
US (2) US6208362B1 (ja)
JP (1) JP3211676B2 (ja)
FR (1) FR2752964B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100503094B1 (ko) * 2003-08-25 2005-07-21 삼성전자주식회사 넓은 메모리 밴드위스를 갖는 디지털 신호 처리 장치 및그 메모리 맵핑 방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6336544A (ja) 1986-07-30 1988-02-17 Seiko Epson Corp 光有機金属化学気相成長法のマスクアライメント方法
US5175802A (en) * 1986-08-28 1992-12-29 Hughes Aircraft Company Macro image processing system
US5197140A (en) * 1989-11-17 1993-03-23 Texas Instruments Incorporated Sliced addressing multi-processor and method of operation
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5315699A (en) * 1991-03-20 1994-05-24 Research Development Corporation Of Japan Filtering operation method for very high-speed image processing system
JPH07111737B2 (ja) 1991-12-27 1995-11-29 松下電器産業株式会社 細線化処理装置
US5408328A (en) * 1992-03-23 1995-04-18 Ricoh Corporation, California Research Center Compressed image virtual editing system
US6101321A (en) * 1992-04-10 2000-08-08 Eastman Kodak Company Method and apparatus for broadcasting data in a ring connected multiprocessor
JP2642039B2 (ja) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
US5581778A (en) * 1992-08-05 1996-12-03 David Sarnoff Researach Center Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock
US5361385A (en) 1992-08-26 1994-11-01 Reuven Bakalash Parallel computing system for volumetric modeling, data processing and visualization
CA2134249C (en) * 1993-12-09 1999-09-07 Leon C. Williams Method and apparatus for controlling the processing of digital image signals
EP0733233A4 (en) * 1993-12-12 1997-05-14 Asp Solutions Usa Inc SIGNAL PROCESSING APPARATUS AND METHOD
JP3163215B2 (ja) * 1994-03-07 2001-05-08 日本電信電話株式会社 直線抽出ハフ変換画像処理装置
JPH08194679A (ja) * 1995-01-19 1996-07-30 Texas Instr Japan Ltd ディジタル信号処理方法及び装置並びにメモリセル読出し方法

Also Published As

Publication number Publication date
US6426754B1 (en) 2002-07-30
FR2752964B1 (fr) 1999-08-20
FR2752964A1 (fr) 1998-03-06
US6208362B1 (en) 2001-03-27
JP3211676B2 (ja) 2001-09-25

Similar Documents

Publication Publication Date Title
JP4879307B2 (ja) プロセッサでの条件付き実行をサポートする装置及びその方法
US5774133A (en) Computer system with improved pixel processing capabilities
US7911471B1 (en) Method and apparatus for loop and branch instructions in a programmable graphics pipeline
KR100319353B1 (ko) 다수의독립섹션과모든섹션으로부터의레지스터저장결과표시비트를가지는산술논리유닛
US5862066A (en) Methods and apparatus for fast check of floating point zero or negative zero
US20030046520A1 (en) Selective writing of data elements from packed data based upon a mask using predication
FR2752630A1 (fr) Traitement de donnees multiples a une seule instruction dans un processeur de signaux multisupport
US7080239B2 (en) Loop control circuit and loop control method
JPH1079039A (ja) コンピュータシステムにおける図形イメージ処理
EP0551173A2 (en) Dataflow computer
JPS6160133A (ja) アドレス算出装置
JP3211676B2 (ja) 画像処理方法および装置
US4924377A (en) Pipelined instruction processor capable of reading dependent operands in parallel
US10013176B2 (en) Method and apparatus for parallel processing data including bypassing memory address alias checking
US7483595B2 (en) Image processing method and device
Kent et al. Hierarchical cellular logic and the PIPE processor: Structural and functional correspondence
JP2668156B2 (ja) データ駆動型情報処理装置の実行制御方法
JP2854867B2 (ja) イメージ処理システム及び画素データ転送法
JP2887122B2 (ja) 画像データ処理装置及びそれを用いたシステム
JP3115428B2 (ja) パイプライン制御方法
JP2536183B2 (ja) 画像処理方法および装置
JP2926951B2 (ja) 退避/復帰レジスタアドレス生成回路
JP2001202351A (ja) Simd型プロセッサ
SU1111197A1 (ru) Устройство отображени графической информации
SU1275421A1 (ru) Устройство дл обработки графической информации

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010619

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

Free format text: PAYMENT UNTIL: 20070719

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080719

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090719

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100719

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110719

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110719

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120719

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120719

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130719

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees