JP2647377B2 - 画像処理装置 - Google Patents

画像処理装置

Info

Publication number
JP2647377B2
JP2647377B2 JP62033174A JP3317487A JP2647377B2 JP 2647377 B2 JP2647377 B2 JP 2647377B2 JP 62033174 A JP62033174 A JP 62033174A JP 3317487 A JP3317487 A JP 3317487A JP 2647377 B2 JP2647377 B2 JP 2647377B2
Authority
JP
Japan
Prior art keywords
memory
address
image
data
processing
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.)
Expired - Lifetime
Application number
JP62033174A
Other languages
English (en)
Other versions
JPS63201776A (ja
Inventor
良信 三田
幸 榎田
良弘 石田
尚登 河村
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.)
Canon Inc
Original Assignee
Canon Inc
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
Priority to JP62033174A priority Critical patent/JP2647377B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to DE3804938A priority patent/DE3804938C2/de
Priority to DE3845005A priority patent/DE3845005C2/de
Priority to DE3844921A priority patent/DE3844921C2/de
Priority to DE3845004A priority patent/DE3845004C2/de
Publication of JPS63201776A publication Critical patent/JPS63201776A/ja
Priority to US08/071,351 priority patent/US5293481A/en
Priority to US08/751,560 priority patent/US5692210A/en
Priority to US08/888,043 priority patent/US6477281B2/en
Application granted granted Critical
Publication of JP2647377B2 publication Critical patent/JP2647377B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Control Or Security For Electrophotography (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は画像処理装置、特に画像メモリの制御技術に
より画像データの高速処理及び並列処理を行う画像処理
装置に関するものである。
[従来の技術] 一般に高速に画像を処理する場合に、コンピユータに
よる処理としてはソフトウエアで行う方式がとられる
が、画像データが膨大になるにつれて高速化が必要とな
つてくる。高速化の手法としては2通りの方法があり、
1つはパイプライン方式と呼ばれる逐次処理型のハード
ウエアで行う方式、もう一つは複数個のプロセツサを置
く並列処理型と呼ばれるものである。前者は画像データ
の高速処理に伴つて処理のクロツク周波数が高くなり限
界がある。一方後者は並列に置くプロセツサの数を増す
ことにより、高速化をいくらでも高める事ができる。極
端に言えば、画素の数の分だけプロセツサを置く事によ
り最大のスピードを得る事が可能である事から、現在注
目されている技術の一つである。
ところで、この時に各画素間での通信処理が重要とな
り、相互通信を行いつつ処理を進めていく必要がある。
かかる並列処理方式に於ては、プロセツサを各画素の数
だけ持つ事は高解像データを取り扱う場合には不可能と
なる。例えば、A4を16画素/mm(pe1)でよんだ画像を取
り扱う場合、画素数は約16M画素(pixels)となり、こ
れだけのプロセツサを同時に持つ事は不可能と言える。
[発明が解決しようとする課題] 本発明は、有限個の少数のプロセツサの並列処理によ
り、注目画素をその周辺画素を使用して処理する、例え
ばフィルタリング等の画像処理を、高速且つ高品質に行
う画像処理装置を提供する。
[課題を解決するための手段] この課題を解決するために、本発明の画像処理装置
は、注目画素をその周辺画素を使用して処理する画像処
理装置(実施例では、第36図、第38図に相当する)であ
って、各々のプロセッサ・エレメントが2次元に分割さ
れた画像の各領域を同時に処理する複数のプロセッサ・
エレメント(実施例では、1〜4、あるいは1,1〜3,3に
相当する)から成るプロセッサ・ユニットを備え、前記
プロセッサ・エレメントは隣接する領域との境界部分を
2次元の両方向においてオーバーラップしてアクセスし
(実施例では、第35図、第37図(a)、第39図、第62頁
第7行〜〜第72頁第11行に相当する)、境界部分の注目
画素を処理する(実施例では、第37図(b)、第40図、
第72頁第12行〜第75頁第3行に相当する)ことを特徴と
する。
[実施例] 以下、本発明の一実施例を説明する。
本実施例の画像処理装置の構成は、1頁分の画像メモ
リ1とプロセツサ・ユニツト2及び入出力装置等の周辺
部3から成る。第1図はその基本部のみの原理構成を示
したもので、画像メモリ1にプロセツサ・ユニツト2が
連絡されている。画像メモリ1上の任意位置のn×mの
画像データは、n×mのプロセツサ・エレメント2aのア
レイで構成されるプロセツサ・ユニツト2へ転送され、
高速処理をされた後、再び画像メモリ1へ戻される。n
×mのプロセツサ・エレメント2aのアレイ内での各処理
は同時に行われる、所謂並列処理方式のアーキテクチヤ
ーである。又、第9図(a),(b)には他の構成を示
した。第9図(a)では、制御回路94の制御に従つて、
入力側画像メモリよりの画像データは、複数のプロセツ
サ・エレメントから成るプロセツサ・ユニツト92で複数
画素が並列に所定の処理されて、出力側画像メモリ93に
格納される。一方第9図(b)では、画像メモリ91ある
いは93とプロセツサ・ユニツト92と、更に入力装置96と
出力装置ちが共通バスによつて繋がれた構成である。
以下画像メモリ1について詳述する。
今、簡単のため、画像サイズを1024×1024画素,各8
ビツト/画素のデータをもつ画像メモリで話を進める。
画像サイズの変更は、本実施例のアーキテクチヤーを拡
張するのみでよい。又、プロセツサ・ユニツト2は4×
4の計16個のプロセツサ・エレメント2aで構成されるも
のとする。
第2図は画像メモリ1の構成を示す図である。画像の
構成が図の如く1024×1024画素で出来ているとすると、
これを4×4の単位で分けていくと、256×256の合計64
K(=65536)個のブロツクに分割される。今、これを第
3図の如く4×4画素単位で再編成し、4×4画素が64
K個あると想定する(各画素当り8ビツト長のデータを
有す)。従つてメモリのアドレス空間は、4×4×64K
の三次元アドレス指定となる。4×4内の1つの64K画
素を1つのメモリチツプが受け持つものとすると、64K
のアドレス空間で各アドレスが8ビツトの深さのメモリ
・チツプが必要となる。これは512Kビツト(=64Kバイ
ト)の容量のメモリ・チツプが必要であるが、本実施例
では256KビツトのダイナミツクRAM(D−RAM)2個を組
み合わせて用いる。即ち、256KビツトD−RAMのうち64K
×4ビツト構成のものを2個用いて、64K×8ビツトと
して用いる。かかる2個のメモリ・チツプを今後、メモ
リ・エレメント1aと呼ぶ。
4×4のマトリツクスに対応して、上記画像メモリ1
は16個のメモリ・エレメント1aから構成される。第4図
はかかる4×4のメモリ・エレメント1aの構成を示す。
各メモリ・エレメント1aはローアドレス及びカラムアド
レスを指定されて、4×4画素の内の一画素の64Kのア
ドレス空間の画像データを入・出力する。ローアドレス
・ジエネレータ4及びカラムアドレス・ジエネレータ5
からは4×4の各メモリ・エレメント1aへアドレスを与
える。尚、メモリ・エレメント1aがD−RAMでローアド
レス及びカラムアドレスをタイムシエアして与えるもの
であれば、このアドレス・ジエネレータは1つでよい。
この時には、ローアドレスとカラムアドレスの時分割切
換制御が必要となる。
かかるアドレス・ジエネレータからそれぞれのアドレ
スを与える事により、4×4画素のメモリ・エレメント
1aをリード/ライトする事が可能となる。即ち、一回の
アドレス指定により4×4画素分の画像データが同時に
駆動可能となる。このため、データ・ラインとしては、
各メモリ・エレメント1aから直接8ビツトのデータ線が
出ているものとする。
今、ローアドレスがA(0≦A≦255)、カラムアド
レスがB(0≦B≦255)のデータが画像メモリ1から
呼び出されたものとすると、画像データとしては、第2
図における(A,B)のアドレスに相当する4×4画素の
8ビツト長の画像データが読み出される。
更に複数画素の同時アクセスについて一般化して、説
明する。
第10図は画像1頁ををのまま表わしたものであり、こ
の画像データを図示するように連続して隣接するk×l
画素のブロツクで分割し、第11図の様にk×l個のメモ
リ・エレメント1aに対応させる。又、k×l画素のブロ
ツクは端から(0,0),(0,1),(0,2),(0,3)…と
番号付けされ、第12図のようなk×l個のメモリ・エレ
メント1aからなるメモリ・ユニツト1に対応する。第13
図はメモリ・ユニツト1を二次元的に表わしたものであ
る。又、アクセスするメモリサイズはk×l画素のブロ
ツクサイズの単位なので、任意の位置のk×l画素のブ
ロツクRをアクセスした場合でも、k×l個のメモリ・
エレメント1aすべてがアクセスされ、しかも1つのメモ
リ・エレメント1aにつき、各1個のアドレスのアクセス
となる。
この様に画像中の任意位置の隣接するk×l個の複数
画素の画像データを一度にアクセスし、リードした後に
プロセツサ・ユニツト2で処理を行う。プロセツサ・ユ
ニツト2で処理を行われた画像データは、再びk′×
l′画素のブロツクサイズで、しかも任意の位置をアク
セスしてライトできる。ここでは、k′=k,l′=lと
して今後説明を行う。
前述のk′×l′画素のみのメモリのアクセスについ
て補足説明すると、プロセツサ・ユニツト2における処
理が空間フイルタ処理等の場合には、読み出し側のアク
セスするブロツクサイズk×lよりも書き込み側のアク
セスするブロツクサイズが小さくなることがある。一般
的には書き込み側のブロツクサイズk′×l′は1×1
になる処理が多い。又、プロセツサ・ユニツト2におけ
る処理が画像の縮小処理の場合にも、リード側のアクセ
スするブロツクサイズk×lよりもライト側のアクセス
するブロツクサイズが小さくなる。
一般的にライト側のブロツクサイズk′×l′は縦横
の縮小率を、α,βとした時にk′≧αk,l′≧βlを
満たす最小の整数がk′,l′となる。仮に読み出しと書
き込みのメモリが同一、又は同一のk×lのメモリ構成
の時に、前述の2例のような処理を行う場合は、書き込
み側のメモリ・ユニツト1の構成サイズk×lよりも小
さなサイズk′×l′に書き込みを行わなければならな
い。この場合にはメモリ・エレメント1aのk×l個のす
べてにアクセスをかけないで、書き込みに該当しないメ
モリ・エレメント1aをマスクして、アクセスしない様に
しなければならない。しかしながら、k×l個のメモリ
・エレメント1aで構成される画像メモリ1は1度にアク
セスして読み出しできるデータは隣接する画像データの
最大k×l個であるが、それより小さいサイズの隣接す
るk′×l′の画像データも前記マスクを行う事により
自由にアクセスできる。マスクしてk′×l′個のみを
同時にアクセスする事は、メモリ・エレメント1aのチツ
プのイネーブルを操作する事で容易に可能となる。
次に順を追つて、任意の位置の所定画素のメモリアク
セスの実施例について、メモリ・ユニツト構成が4×4
の場合とk×lの場合とについて説明し、前記マスクす
るためのチツプイネーブルの制御についても説明する。
まずブロツクサイズk×lを4×4とした場合の実施
例より示す。
第2図の一部分を拡大した図を第5図に示す。画像メ
モリ1中任意の4×4のブロツクSの画像データを読み
出し、これを前述プロセツサ・ユニツト2で処理した後
に、任意の4×4のブロツクTに転送する場合の処理に
ついて説明する。第5図及び第6図上の4×4のます目
は、4×4の16個のメモリ・エレメント1aを区切るます
目である。この16個のメモリ・エレメント1aに仮にAa,A
b,…,Ba,Bb,…Ca,…Dc,Ddと名前をつける。まず最初に
4×4のブロツクSを読み出す場合、16個のメモリ・エ
レメント1aの内、メモリ・エレメントDdには(ローアド
レス,カラムアドレス)として(N,M)が与えられる。
メモリ・エレメントDb,Dc,Ddには(N,M+1)、メモリ
・エレメントAd,Bd,Cdには(N+1,M)残りのメモリ・
エレメントには(N+1,M+1)が与えられる。これは
前述したローアドレス・ジエネレータ4,カラムアドレス
・ジエネレータ5により発生される。又、4×4のブロ
ツクSの端点uの位置が定まれば、その水平方向と垂直
方向の位置アドレスを4で割り、その余りの数n,mによ
り、メモリ・エレメントAa〜Ddまでに割りつけるローア
ドレス・カラムアドレスは一意的に決まる事は明らかで
ある。仮にuの位置アドレスu(Y,X)とすると、 Y=4N+n(n=0,1,2,3) X=4M+m(m=0,1,2,3) 例えば、アドレス・ジエネレータ4,5ではM,Nの情報とm,
nの情報をルツクアツプテーブル等に入力し、メモリ・
エレメントAa〜Ddに与えるアドレスを出力するような構
成も考えられる。この時出力はM,N,M+1,N+1のいずれ
かである事は、前述の説明より明らかである。又、この
性質を利用して、第7図のように、ルツクアツプテーブ
ルにn、又はmを入力し、この値に応じて0,1を出力
し、メモリ・エレメントAa〜Ddに与えるアドレスNまた
はMをインクリメントするかしないかの制御を行えば良
い。ローアドレス・ジエネレータ4ではn,Nを使用し、
カラムアドレス・ジエネレータ5ではm,Mを使用する。
このようにして、4×4の16個のメモリ・エレメント
に前述したようにアドレス・ジエネレータ4,5よりアド
レスが与えられて、同時に16個のデータを得る事ができ
る。
この16個のデータは、プロセツサ・ユニツト2におい
て、何らかの処理をされ、又は何も処理されないで、再
び第5図に示す4×4のブロツクTに転送される。しか
しながら、16個のメモリ・エレメントAa〜Ddから読み出
された画像データそれぞれが必ずしも同じメモリ・エレ
メントAa〜Ddに転送されるとは限らない。第5図の4×
4のメモリブロツクSが4×4のメモリブロツクTに転
送される場合には、4×4のメモリブロツクSのうちメ
モリ・エレメントAaから読み出されたデータは、メモリ
・エレメントDcに転送されなければならない。
では、4×4のメモリブロツクS,Tがその端点u,vを任
意の位置(Y,X),(Y′,X′)を有している時に、メ
モリ・エレメントAa〜Ddの16個の読み出しデータがメモ
リ・エレメントAa〜Ddのどのメモリ・エレメントに書き
込まれれば良いのか説明する。
第5図のように Y =4N+n(n=0,1,2,3) X =4M+m(m=0,1,2,3) Y′=4P+p(p=0,1,2,3) X′=4Q+q(q=0,1,2,3) と表わせる時に、 p−n=4y′+y(y′=−1,0 y=0,1,2,3) … q−m=4x′+x(x′=−1,0 x=0,1,2,3) … なるx,yを求める。
まず(Aa,Ab,Ac,Ad)からなる行配列Aを右方向にx
回ローテーシヨンする。これを行配列A′と名付ける。
同様に行配列B,C,Dを右方向にx回ローテーシヨンした
ものを行配列B′,C′,D′と名付ける。
次に行配列A′,B′,C′,D′より成る配列(ABCD)′
を下方向にy回ローテーシヨンする。
第5図の場合には、第5図によりn,m,p,qは3,3,2,1な
のは明らかなので,式よりy′=−1,y=3,x′=−
1,x=2を得る。故に前述の説明より次の行列を得る。
右方向に2回ローテーシヨンすると、 行配列 A′=(Ac,Ad,Aa,Ab) B′=(Bc,Bd,Ba,Bb) C′=(Cc,Cd,Ca,Cb) D′=(Dc,Dd,Da,Db) 下方向に3回ローテーシヨンすると、 (Bc,Bd,Ba,Bb) (Cc,Cd,Ca,Cb) (Dc,Dd,Da,Db) (Ac,Ad,Aa,Ab) … この行列を下の基本配列と対比させて考えて見る
と、 Aa,Ab,Ac,Ad Ba,Bb,Bc,Bd Ca,Cb,Cc,Cd Da,Db,Dc,Dd …基本配列 基本配列はメモリ・エレメントAa〜Ddの読み出しデー
タを順に左から右、上から下と並べて2次元配列しただ
けのもので、行列は、メモリ・エレメントAa〜Ddに書
き込むべきデータを順に並べて2次元配列したものに相
当する。即ち、例としてメモリ・エレメントAaから読み
出されたデータは、配列を見ると、4行目3列目に書
き込まれる。これを基本配列を参照すると4行目3列
目にDcとなつているので、メモリ・エレメントDcにメモ
リ・エレメントAaの読み出しデータが書かれれば良い事
がわかる。
補足説明すると、第5図上のメモリ・エレメントAaの
読み出しデータがDcの位置に書き込まれれば良い事は容
易に気がつくが、このAaからDcの位置への変位は、位置
アドレスuからvへの変位に等しい。又、メモリ・エレ
メント1aの構成が4×4なので、水平方向、垂直方向の
位置を共に4で割つた余りが、メモリ・エレメントの変
位x,yと考えて良い。例えばu,vの変位が4の倍数であれ
ば、変位x,yは0になり、あるメモリ・エレメントから
読み出したデータは、処理が行なわれた後に、同じメモ
リ・エレメントに書き込まれるわけである。
以上の処理のハードウエア化について簡単に説明す
る。第8図は、4×4の16個のメモリ・エレメント1aよ
りなるメモリ・エレメント10から同時に読み出したデー
タが、プロセツサ・ユニツト2で処理され、そのデータ
をそれぞれ4要素ずつx変位ローテータ81においてxの
数だけローテーシヨンを行う。その後にy変位ローテー
タ82によつてyの数だけローテーシヨンを行い、それぞ
れをAa〜Ad,Ba〜Bd,Ca〜Cd,Da〜Ddのメモリ・エレメン
ト1aに書き込む構成になつている。
尚、y変位ローテータ82は、入力がそれぞれ4要素の
データなので、x変位ローテータ81と全く同じもの4つ
で構成できる事は言うまでもない。又、前記ローテータ
は、メモリデータの深みと同じビツト数の深みを持つて
も良いし、1ビツトの深みのものをメモリデータの深み
と同じ数だけ使用しても良い事も言うまでもない。又、
ローテータはシフトレジスタやバレルシフタ等を使用で
きる事は容易に推察できる。
さらに一般化して考えてみると、メモリブロツクをk
×lのサイズにした場合には、メモリ・ユニツト10の構
成もk×lになる。この場合に、任意の位置にあるk×
lのメモリブロツクSをプロセツサ・ユニツト2で処理
した後に、任意の位置のk×lのメモリブロツクTに転
送する場合に、 Y=kN+n(n=0,1,…,k−1) X=lM+m(m=0,1,…,l−1) (N,M,P,Qは0,1,2,3…) Y′=kP+p(p=0,1,…,k−1) X′=lQ+q(q=0,1,…,q−1) 但し、Sの端点の位置アドレスを(Y,X)、 Tの端点の位置アドレスを(Y′,X′) …(10) なるn,m,p,qを求め、 p−n=Ky′+y (y′=1,0,y=0,1,2,3,…,k−1) q−m=lx′+x (x′=−1,0,x=0,1,2,3,…,l−1) …(11) なx,yを用いて、例えば第8図のようなx変位ローテー
タ81、y変位ローテータ82を使用して処理を行えば良
い。この場合、x変位ローテータ81は、l個の入力を持
ち、0〜l−1までのシフトができる。y変位ローテー
タ82は、k個の入力を持ち、0〜k−1までのシフトが
できる。しかも、y変位ローテータ82のk個の入力はそ
れぞれl個の要素をもつため、入力1要素のローテータ
がl個の構成となる。
第10図に示すように前述のk′×l′のブロツクの同
時アクセスのためのメモリ・エレメントのアクセス制御
について説明する。
k′×l′のブロツクの端点iの位置アドレスを(f,
g)と仮定する。前述の式(10)に従いアクセスするメ
モリをリードする場合は、Y,Xにf,gを代入し、アクセス
するメモリにライトする場合は、Y′,X′にf,gを代入
する。その結果を式(11)に代入してy,xを求めると、
第7図,第8図に示した実施例をk×lに一般化したも
のにもそのまま適用できる。
又、この際に、k×lのメモリ・エレメントのうち、
k′×l′のメモリ・エレメントのみをチツプイネーブ
ルにする。このイネーブルにするチツプはk′×l′の
端点iの(f,g)の位置アドレスさえ決まれば、式(1
0)よりn,m、又はp,qが一意的に決まり、アクセスすべ
きk′×l′個のメモリ・エレメントも一意的に決ま
る。
ところで、今まで説明した様にk×lのメモリ・エレ
メントから成るメモリ構成において、リードアクセス側
をk′×l′のブロツクを同時にアクセスし、ライト側
をk″×l″のブロツクを同時にアクセスする場合も
(但し、0≦k″≦k,0≦l″≦l)考えられるが、こ
れも今までの説明と同様である。この場合のメモリ・エ
レメントに与えるチツプイネーブルの制御の実施例を第
14図に示す。
k′×l′、k″×l″のブロツクの端点の位置アド
レスを(Y,X)、(Y′,X′)とする時に、式(10)よ
りn,m及びp,qが求まる。このn,m及びp,qはセレクタのデ
ータ入力に入力される。さらにセレクタの選択制御信号
として、メモリアクセスのリードライト信号R/Wが入力
され、リードの時にn,mを選択出力し、ライトの時にp,q
を選択出力する。
同様にブロツクサイズ、k′,l′及びk″,l″もセレ
クタに入力され、R/W信号が選択制御信号として入力さ
れている。リード時には、k′,l′を選択出力し、ライ
ト時にはk″,l″が選択出力される。ところで、アクセ
スするメモリ・エレメントはリード側のn,m,k′,l′、
又はライト側のk″,l″,p,qが定まれば一意的に決まる
事は明白なので、セレクタから出力されたこれらのデー
タはルツクアツプテーブルに入力し、それぞれk×lの
メモリ・エレメントのうちアクセスするメモリを制御す
る信号を出力する。
ところでプロセツサ・ユニツト2で処理する前後の画
像メモリ1が別のメモリで、しかもそのメモリ構成がそ
れぞれk×l、K×Lの場合には、第15図の様に、2つ
のルツクアツプテーブルを用いれば良いことは容易に推
察できる。この場合ルツクアツプテーブル151とルツク
アツプテーブル152は別の内容のテーブルとなる。
又、k=K,l=Lとなつても全く問題はない。以上前
述したような構成をすれば、アクセスするメモリ・エレ
メントをk×l個のメモリ・エレメント全部としない
で、一部マスクする事が可能である。そしてk×lのメ
モリ・エレメントの構成は最大必要とするk×lの大き
さに設定すれば良い。
次にメモリ・エレメントをどのようにアクセスして前
画面全体にあたる画像データすべてを処理するか、即ち
全メモリデータのアクセスのスキヤン方法について説明
する。
例えばアクセスする隣接するk×lのブロツクの端点
uの位置アドレス、つまり垂直方向で端から、0から順
に数えた時の番号をYとし、水平方向で端から、0から
順に数えた時の番号をXとした時のY,Xが定まつた場合
のメモリのアクセスの仕方は、すでに説明した。それで
は、このX,Yをどの様な順番でスキヤンして全画像を処
理するかの実施例を説明する。
(第1例) k×lのメモリ・エレメントをアクセスするための画
像データの位置アドレスY,Xをそれぞれk,lの整数倍ずつ
増減させてスキヤンする方法で、例えばはじめにY,Xを
0に設定し、Xを順次lずつ増やす。水平方向の終点ま
でXを増やしたら、次はXを0に設定し直し、Yをk増
やしてまたXをlずつ増やす。これをシーケンシヤルに
繰り返して全画面又は画面の一部をスキヤンする。仮り
にこれを第1シーケンシヤルスキヤン方式と名付ける。
(第2例) 又、X,Yの増減を前述のようにシーケンシヤルに行わ
ないで、画像全画面のあちらこちらの連続するk×lの
ブロツクをとびとびにアクセスし、しかもそのアクセス
する時のX,Yがk.lの整数倍の変位である時に、仮りにこ
れを第1ランダムスキヤン方式と名付ける。
(第3例) k×lのメモリ・エレメントをアクセスするための画
像データの位置アドレスY,Xをそれぞれ整数ずつ増減さ
せてスキヤンする方法で、例えばはじめにY,Xを0に設
定し、Xを順次1ずつ増やす。水平方向の終点までXを
増やしたら、次にXを再び0に設定し直し、Yを1増や
してからXを1ずつ増やしていく。これをシーケンシヤ
ルに繰り返して全画面又は画面の一部をスキヤンする。
これを仮に第2シーケンシヤルスキヤン方式と名付け
る。この場合、同じメモリデータを何度もアクセスされ
る。
(第4例) 又、X,Yの増減を前述のようにシーケンシヤルに行わ
ないで、画像全画面のあちらこちらのk×lのブロツク
をとびとびにアクセスし、全X,Yについてこれを実行す
る。又は画面全画面の内、連続する一部分全部のX,Yに
ついて実行。それがランダムである時に、これを第2ラ
ンダムスキヤン方式と仮りに名付ける。
(第5例) k×lのメモリ・エレメントを有するメモリ構成にお
いて、アクセスするメモリブロツクがk′×l′の時
に、(1≦k′≦k,1≦l′≦l)位置にアドレスY,Xを
k′,l′の整数倍ずつ増減させてこれをシーケンシヤル
に繰り返して全画面をスキヤンする方式を第1シーケン
シヤルスキヤン方式と区別して、ブロツクワイズ・シー
ケンシヤルスキヤン方式と名付ける。
(第6例) 又、X,Yの増減を(第5例)のようにシーケンシヤル
に行わないで、画像全画面のあちらこちらの連続する
k′×l′のブロツクをとびとびにアクセスし、そのY,
Xがk′×l′の整数倍の変位である時に、仮りにこれ
をブロツクワイズ・ランダムスキヤン方式と名付ける。
(第7例) メモリ・エレメントのk×lのメモリ構成に関係な
く、シーケンシヤルにスキヤンするもの、例えば任意の
数d′,f′おきにX,Yを変化させてスキヤンするもの
を、単にシーケンシヤルスキヤン方式と呼ぶ。
(第8例) (第7例)でランダムにスキヤンする場合や(第4
例)の場合でも、全てのX,Yの組み合わせについてメモ
リアクセスを行わない場合に、単にランダムスキヤン方
式と呼ぶ事にする。
以上のように数々のスキヤン方式が考えられるが、こ
れとは別に、メモリアクセスには、リード側のメモリア
クセスがあり、このリード側のメモリアクセスのスキヤ
ン方式とライト側のメモリアクセスのスキヤン方式が一
致するとは限らない。
又、このスキヤン方法はリード側が決まれば、ライト
側のアクセスするX′,Y′はプロセツサ・ユニツト2の
処理内容で決まる。又、ライト側のスキヤン方法を先に
決めてもよい。この場合はリード側のスキヤンは処理内
容で決まる。
又、リード側とライト側でのアクセスするブロツクサ
イズk′,l′が異なる事もあれば、メモリ・エレメント
構成k×lのサイズが異なる事もある。
[濃度変換、色補正、マスク演算] 濃度変換、色補正等における処理の場合に、リード側
・ライト側共に、第1シーケンシヤルスキヤン方式を採
用する方式により行つたものをさらに詳細に説明する。
色変換とは、画像データがある特定の色情報をもつ場
合、その色情報を予め定められた特定の他の色情報に変
換する処理である。
マスク演算とは、第20図に示されるように画像データ
の特定の一部のみをそのまま出力し、それ以外は下地に
対応する画像データ(例えば、白地)を出力する。下地
には白地の他に灰色や無色の地のデータ等を出力するよ
うにしてもよい。第20図(a)はマスクすべき領域を示
すデータであり、第20図(b)はマスクされる画像であ
り、第20図(c)はその出力結果である。
濃度変換は、例えばプロセサ・ユニツト内の各プロセ
サ・エレメントが第21図に示されるフローチヤートに従
つて動作すればよい。ここで、入力値Vinに対応する出
力値Voutは、例えば、 Vout=1/64・Vin 2 …(12) 等で規定されており、該4×4個の8ビツト長のデータ
の各々に対して、1個のプロセサ・エレメントを対応さ
せ、計16個のプロセサ・エレメントよりなるプロセサユ
ニツトに、第2図に於ける(A,B)のアドレスに相当す
る4×4個の8ビツト長のデータが入力される。該各プ
ロセサ・エレメントは各々並列に動作し出力データを出
力する。このため、一度にアクセスされた4×4個の8
ビツト長のデータが一度にプロセサユニツトで処理さ
れ、一度に出力されるため高速な画像処理が可能とな
る。
それぞれのプロセサ・エレメントは、例えば濃度変
換、色変換、マスク演算等の処理を行う。
濃度変換とは、例えば第19図で示されるような入力濃
度−出力濃度対応に従つて入力値を対応する出力値に変
えて出力するものである。これにより、画像のコントラ
ストを強調したり、明暗の調子を変化させることができ
る。(12)式に従つた演算を実行する。
色変換とは、例えばプロセサユニツト内の各プロセサ
・エレメントが第22図に示されるフローチヤートに従つ
て動作すればよい。ここで色情報は、例えばR,G,Bの組
合わせで表現されるもので、前記画像メモリをR用、G
用、B用にそれぞれもち、各8ビツトのデータ長で保持
されているものである。この場合、対応するR用、G
用、B用の画像メモリセルには、1個の同一のプロセサ
・エレメントが対応している。このうちの特定のR,G,B
の値の組み合わせを指定色として予め登録しておき、変
更後の色情報も同様にあるR,G,Bの値の組み合わせとし
て予め登録しておくものである。指定色は複数あつて
も、もちろんよい。
マスク演算とは、例えばプロセサユニツト内の各プロ
セサ・エレメントが第23図に示されるフローチヤートに
従つて動作すればよい。ここで、マスク情報とは、前記
画像メモリの各セルにそれぞれビツト対応するビツトマ
ツプメモリで構成されるメモリ内に保持されるビツトデ
ータであり、マスク内であるか否かを示すデータであ
る。この場合もマスクメモリと画像メモリの対応するセ
ルに1個の同一プロセサ・エレメントが対応するもので
ある。
前記プロセサユニツト内のプロセサ・エレメント相互
間での通信を行い得るようにしておけば、プロセサユニ
ツト内の空間フイルタリング処理,認識,圧縮,復号等
の処理を実行させることも可能である。
[第2の実施例] 同時にk×l個のデータをアクセスするためのk×l
個のメモリ・エレメントへの画像データの割り付けの第
2の実施例について説明する。第16図は画像1画面の上
方をデータに置き換えた状態を示す図で、これを水平方
向l等分に分割し、垂直方向k等分に分割する。この時
にk×lに分割されたエリアを説明のために、(0,
0),(0,1),…(0,l),…,(k,l)とすると、この
1つ1つのエリアを第17図に示すように1つ1つのメモ
リ・エレメントに割り付ける。割り付け方は、第16図に
示す破線斜線の部分を、各々のメモリ・エレメントの0
番地に割り付け、次に隣りの画像データを各々のメモリ
・エレメントの1番地に割り付け、同様にエリア内の1
ラインすべての割り付けが終わつたら、2ライン目を同
様に左から右へと割り付け、すべての画像データを割り
付ける。すると、k×l個の全てのメモリ・エレメント
に対し、第4図に示すローアドレス・ジエネレータ4、
及びカラムアドレス・ジエネレータ5が与えるアドレス
が全て同一である時に、第16図に示す斜線部のように、
とびとびの画像データを一度にアクセスする事ができ
る。
この様な構成をとる事により、あるアドレスを指定し
て画像メモリ1をリードして、プロセツサ・ユニツト2
において処理を受けた後に、k×l個のメモリ・エレメ
ント1aにライトする際のアドレスを変える事なく、デー
タを書き込める可能性が生じる。例えば、第16図に示す
様に、前記エリアがK×Lの画素データで構成される場
合に、画像1画面中の1部分を水平方向にLの整数倍、
垂直方向にKの整数倍の変位の移動や転送等の処理を行
う場合にはリードアドレスとライトアドレスは同一で構
わない。このために、ローアドレス・ジエネレータ4,カ
ラムアドレス・ジエネレータ5等のアドレス制御関係の
負荷が極端に減る。
この移動や転送の処理はプロセツサ・ユニツト2にお
いて処理される。プロセツサ・ユニツト2には、第16図
に示す破線斜線で示す様にk×l個の画像データ、それ
も画面全体にわたる画像データが入力され、そのデータ
の1つ1つは水平方向と垂直方向にL,Kの整数倍の変位
をもつているので、プロセツサ・ユニツト2内でk×l
個のデータの変換や移動転送を行い、メモリ・エレメン
トの全アドレスについて、0から順番にシーケンシヤル
に処理を実行すれば良い。この結果、画面全体での処理
ができる。
本実施例中、k×l個のメモリ構成を例えば1×l,k
×1等の構成にして、画像1画面中の水平1ライン、又
は垂直1ラインを各メモリ・ユニツトに割り付ける事に
より、プロセツサ・ユニツト2における処理が画像1ラ
イン分のヒストグラム演算や、一次元フーリエ変換等の
各種画像処理に適応できる事は類推できる。又、複数画
素同時アクセスの際に、画像1画面中のデータをどのメ
モリ・エレメントのどの番地に割りつけるかを限定する
ものではない。
このメモリ構成の場合の適用例について説明しよう。
移動等の場合は前述したが、回転についての説明を行
う。説明を簡単にするためにk×l分割によるk×l個
のメモリ・エレメント構成を仮りにk=lとしてl×l
として説明を行う。又、分割された1エリアK×LもK
=Lとして説明を行う。この場合に画像1画面を画像の
中心を中心として、+90°、−90°、+180°回転する
場合に、プロセサユニツトではl×lのデータをそれぞ
れ交互に交換して+90°、−90°の処理ではl×lのデ
ータを中心に対して90°ずつの位相を持つ4つのデータ
のローテーシヨンをl×lのl2/4個について行う。
例えば、対角同志4つのデータをローテーシヨンす
る。180°の回転では、中心に対して180°ずつの位相を
持つ2つのデータのローテーシヨンをl2/2個について行
う。この操作により、画像1画面について大まかな回転
が行われる。これは第24図から第25図へのl×l個のエ
リアからエリアへの回転になる。実際には、同一エリア
内でも同様に+90°、−90°、+180°等の回転が行わ
れなければならない。
このエリア内での回転操作を加えないと、画像1画面
内の回転が完全にならない。このエリア内での回転操作
について説明する。この操作はメモリ・エレメントをリ
ードした時のアドレスを変換してライトする時のアドレ
スにする処理で、表1に示す様なアドレス変換をする。
これを具体的に実施したブロツク図が第18図である。
図中、選択信号は回転角に応じて変化し、セレクタ181,
182,183,184の選択制御信号として入力される。
通常回転角が0°の時は、ローアドレス・ジエネレー
タ4,カラムアドレス・ジエネレータ5の出力は、それぞ
れセレクタ181,183及びセレクタ182,184を通つて、その
ままメモリ・エレメントのロー,カラムのアドレスに供
給される。また、回転角は90°、−90°の時には、セレ
クタ181,182の出力a,bはそれぞれカラムアドレス,ロー
アドレスが出力される。
回転角が0°、180°の時には、セレクタ181,182の出
力a,bはそれぞれローアドレス,カラムアドレスが出力
される。さらに、回転角が90°の時と180°の時には、
セレクタ184は186の出力を選択する様に動作し、回転角
が−90°の時と180°の時に、セレクタ183は185の出力
を選択するように動作する。演算器185,186はエリアの
1辺の長さLから入力データを減算したものを出力す
る。この様な構成により表1に示す処理が行われ、画像
1画面全てにわたる回転が行われる。
次にメモリ・エレメントをどのようにアクセスして全
画面全体にあたる画像データ全てを処理するか、即ち、
全メモリデータのアクセスのスキヤン方法について説明
する。
例えば、アクセスする隣接するk×lのブロツクの端
点uの位置アドレス、つまり垂直方向で端から、0から
順に数えた時の番号をYとし、水平方向で端から、0か
ら順に数えた時の番号をXとした時の、Y,Xが定まつた
場合のメモリのアクセスの仕方は既に説明した。それで
は、このX,Yをどの様な順番でスキヤンして、全画像を
処理するかの一実施例を説明する。
メモリ・エレメントに与えるアドレスのスキヤンの一
例について説明すれば、1画面をl×lの領域に分割し
た時の各エリアが、それぞれの各メモリ・エレメントに
対応するので、画像1画面をスキヤンするには、各メモ
リ・エレメント全てに同じアドレスを与えて、アドレス
を0から順にインクリメントしてゆけばよい。メモリ・
エレメントのアドレスは、カラムアドレス,ローアドレ
スアドレスがあるので、カラム,ロー共にまず0とし、
カラムを0から最終番地までインクリメントする。その
後にローアドレスをインクリメントした後に、又、カラ
ムを0から最終番地までインクリメントする。これを繰
り返してメモリ・エレメントの全てをアクセスする。
ところで、画像の回転処理について、さらに詳細な実
施例を以下に示す。
原画の複数ブロツクに同時にアクセスし、並列的に各
ブロツクからのデータを入力し、これを並列に処理し出
力する場合に、画像を0°、90°、180°、270°の回転
処理をして出力する方法を説明する。
第24図は原画をブロツクに分けて示したもので、256
画素×256画素の領域を4画素×4画素より成るブロツ
クで分割した状態を示している。
第25図は原画を各ブロツク単位で半時計回りに90°回
転した状態を示している。第26図は第25図の状態の各ブ
ロツク内で画素単位で半時計回りに90°回転した状態を
示している。
第27図及び第28図は、第24図で示す原画の各ブロツク
で、ブロツク内の各画素の位置関係を示すための図であ
る。第24図及び第25図では、各ブロツク内における各画
素の位置関係は同じである。これを第27図で表現してい
るとすると、各ブロツク内で各画素を半時計方向に90°
回転した状態は第28図で表現される。
原画を半時計方向に90°回転した画像を得るには、第
25図で表現された原画を第26図になるようなブロツク同
志の関係として扱い、さらに各ブロツク内の画素を第27
図から第28図で表わされるような関係に変えてやること
で実現できる。
第29図は前記一連の処理を実施する回路構成例のブロ
ツク図である。1601,1602はともに第24〜28図に示した
原画の各画素を保持している画像メモリであり、1601は
入力側メモリ、1602は出力側メモリである。また、1603
は並列に読み出される各画素データに対応してある処理
回路より成る演算回路である。各ブロツクに対して、1
個ずつの処理回路をもち、該処理回路には、各ブロツク
からのデータをそれぞれ入力し、出力側の対応する各ブ
ロツクに処理後のデータを出力する。1604はブロツクデ
ータ選択回路であり、第30図にその詳細を図示されてい
る。1605は入力側のメモリの各ブロツク内のどの位置
(ブロツク内アドレス)にアクセスするかを示すアドレ
スを出力する回路である。1606は出力側のメモリの各ブ
ロツク内のどの位置(ブロツク内アドレス)にアクセス
するかを示すアドレスを出力する回路である。1607は制
御回路であり、回転角に応じて1604,1605及び1606を制
御するものである。
1604のブロツクデータ選択回路は、ブロツクの数分
(この例では64個)の第30図で示されるセレクタで構成
される。各セレクタはそれぞれ出力側メモリの1個のブ
ロツクに対応しており、出力側メモリのブロツクの第i
行、第j列(以下(i,j)と記す)のブロツクに対応す
るセレクタには、入力側メモリのブロツクの(i,j),
(m−j+1,i),(m−i+1,m−j+1),(j,m−
j+1)の4つのブロツクからのデータが入力されてい
る。mは対称とする入力及び出力側メモリがともにmブ
ロツク×mブロツクであることを意味し、本実施例はm
=8で説明してある。また、1≦i≦m,1≦j≦mであ
る。
制御回路1607は原画を半時計方向に0°回転するので
あれば、各セレクタが(i,j)を出力する様に1604を制
御し、同様に90°であれば(J,m−j+1)、180°であ
れば(m−j+1,M−j+1)、270°であれば(m−j
+1,i)を選択するように制御するものである。これに
より、第24図から第25図に対応する変換を実現する。
また、制御回路1607は、1605及び1606のブロツク内ア
ドレスを制御する。ブロツク内には、n画素かけるn画
素の画素が存在し、その中の(k,l)の位置の画素に出
力する場合には、入力側のブロツクでのブロツク内アド
レスは、原画を半時計方向に0°回転して出力するには
(k,l)とし、同様に90°であれば(l,n−k+1)、18
0°であれば(n−k+1,n−l+1)、270°であれば
(n−l+1,k)となるように制御する。(本実施例で
はn=4である。)これは、1605を例えば第31図に示す
ようにルツクアツプテーブルで構成し、1606は例えば第
32図に示すようなカウントアツプカウンタで構成するこ
とで実現できる。1605及び1606は反対に第32図を1605
に、第31図を1606にするように構成してももちろんよ
い。これにより、第25図から第26図(あるいは、第27図
から第28図)に対応する画素の変換を実現する。
また、第29図のかわりに、第33図のように演算回路の
出力側にブロツク領域選択回路を配してももちろんよ
い。この場合は、演算回路の各処理回路よりの出力が、
それぞれ4つずつブロツク領域選択回路の各セレクタに
入力されることになる他は、第29図の場合と全く同様で
ある。
以上本実施例によれば、回転に対応する位置にある複
数の画素のデータを同時に取り込むことにより、高速な
処理が可能であり、かつ小規模の回路で回転操作を実現
できる。
さらに後述する実施例について補足説明を加えられ
る。
今、k×l個のメモリ・エレメントに与えるアドレス
を、前述のように0番地から最終番地まで順にスキヤン
する時には、全画面の1/k×lの面積に相当する各エリ
アの画像データがk×l個の各メモリ・エレメントより
出力されるが、1つのメモリ・エレメントのみに注目す
れば、前記エリア1つに相当する部分の画像が水平方
向、垂直方向順次スキヤンされ読み出されて来る。これ
を従来画像1画面にわたり、水平方向、垂直方向に順次
スキヤンされる画像の処理を適用すれば、k×l倍の処
理速度を得る事が可能である。しかも扱う画像エリアが
小さくなるために、例えばラインバツフア等が小さくな
る。このために、プロセツサユニツト2をアレイプロセ
ツサ等に容易に構成できる。詳細な説明に関しては以下
に説明する。
前述の説明のように、メモリの読み出しを順次スキヤ
ンしながら、空間フイルタ処理を行うプロセツサユニツ
ト2にk×l個のメモリ・エレメントからの画素データ
が順次入力される。プロセツサユニツト2は後述する
が、その構成要素であるプロセツサエレメント1つ1つ
が前述のk×l個に分割された領域1つ1つに相当する
長方形のエリアの水平複数ライン分のバツフアを内蔵
し、二次元の空間フイルタ処理を行われた後に、書き込
み側に順次リード側と同じスキヤンで書き込まれる。以
下に、その実施例を詳細に説明する。
第34図〜第37図は説明の簡単なために、1画面を2×
2に区分し、メモリ・エレメントは2×2の4個の構成
となる。この場合に、第34図に示す様に、各区分内を同
時水平方向スキヤンと垂直方向スキヤンを繰り返すよう
に、リード側の画像メモリを読み出すが、前述した様に
画像をメモリに割り付けしているので、この時にアクセ
スするメモリアドレスは、全メモリアドレスに対して水
平アドレスを0〜最終番地を繰り返す毎に、垂直番地を
0〜最終番地まで1つずつインクリメントする。
第36図は実施例でリード側の画像メモリを構成するメ
モリ・エレメントR−1,R−2,R−3,R−4は第34図に示
す領域1、領域2、領域3、領域4の各々の画像が記憶
されている。
ところで、リード側の画像メモリに与えられるアドレ
スは制御回路で制御されえるアドレス生成器によりメモ
リ・エレメントR−1〜R−4に同一のアドレスを与え
られ、そのアドレスは前述のようにスキヤンされる。メ
モリ・エレメントR−1〜R−4より読み出された画像
データは、それぞれプロセツサエレメント1〜4に入力
される。プロセツサユニツトを構成するプロセツサエレ
メント1〜4は制御回路より必要な制御信号を入力され
たり、処理内容の指示が行われる。各プロセツサエレメ
ント1〜4で空間フイルタ処理を行うが、プロセツサエ
レメント1〜4ではそれぞれラインバツフアを持つてい
るので、水平アドレスがアドレス生成器から供給され
る。またはプロセツサエレメント1〜4の内部で生成さ
れる。
各プロセツサエレメント1〜4で空間フイルタ処理を
行われた出力データはそれぞれライト側の画像メモリを
構成するところのメモリ・エレメントW−1〜W−4に
書き込まれる。この時に、ライト側の画像メモリを構成
するメモリ・エレメントW−1〜W−4には同一のアド
レスが与えらえるが、リード側メモリに与えられるアド
レスを遅延したアドレスが与えらえる。この遅延量はプ
ロセツサユニツトで空間フイルタ処理するために設けた
ラインバツフア等における注目画素の遅延量に相当す
る。
ところで、以上の様な説明の構成で、画面全体のほと
んどの空間について空間フイルタ処理を行う事ができる
が、第35図に示す様な斜線部及び灰色部については、各
領域の周辺部であるために、空間フイルタの2次元処理
マスクがはみ出してしまうために未処理となる。この未
処理のエリアを補間するために、制御回路はアドレス生
成器に対し斜線部、灰色部とその周辺に相当するメモリ
のアドレスの生成を行わせ、リード側画像メモリより画
像データを順次取り込み、制御回路内のCPUにより空間
フイルタ演算を行う。演算結果はライト側画像メモリに
書き込まれるが、そのアドレスはリード側メモリと同様
に、制御回路がアドレス生成器を制御してライト側画像
メモリのアドレスを与える。前記実施例では制御回路内
のCPUにより空間フイルタ処理を行う事により若干処理
時間がかかるが、第35図に示す斜線部、灰色部は画面前
面に対する比率は非常に低く、処理時間に与える影響は
ほとんど無視できる。
又、このCPUによる演算処理を行わない場合の実施例
を以下に述べる。
第38図は本実施例の簡単なブロツク図であり、画面全
体を3×3の領域に分割区分している点とデータ制御回
路を備えている点以外はほとんど前の実施例と同じなの
で、相違点のみに注目して以下に本実施例を詳述する。
また、本実施例では1画面を3×3の領域分割区分し
た時の実施例であるが、m×nの領域に分割区分した場
合(以下、一般の場合と言う)についてもあわせて説明
する(m,nは正の整数)。
第37図(a),(b)は3×3に区分された画面全体
をどのようにスキヤンするかを示した図である。
領域分割された各エリアに対し、図のように破線で示
した拡張エリアを想定し、拡張エリアの出力を各プロセ
ツサエレメントに入力する。この拡張エリアは例えば領
域(1,1)に対し、第1実施例に示すような空間フイル
タ処理後の未処理の部分、特に領域(1,1)と領域(1,
2),(2,1),(2,2)の境界周辺の未処理になる部分
をカバーできる大きさに拡張されている。また、任意の
領域(k,l)(但し、1≦k≦m,1≦l≦n)に対して
も、領域(k,l)と領域(k,l+1),(k+1,l),
(k+1,l+1)の境界周辺の未処理になる部分が空間
フイルタ処理してもカバーできる様に拡張する。
例えば、プロセツサユニツトで3×3の平滑化処理を
行う様な場合には、各領域(k,l)で、右端では1画素
分未処理になる。又、隣接する領域(k,l+1)では左
端で1画素未処理になるので、合計2画素分領域(k,
l)を右方向に拡張する。同様に下方向にも2画素分の
拡張が必要になる。
この拡張された領域に対し、第37図(a),(b)の
ようにスキヤンしながら各拡張された領域(1,1)〜
(3,3)はプロセツサエレメント(1,1)〜(3,3)に入
力される。ここで簡単にメモリ・エレメントに与えるア
ドレスについて説明すると、制御回路はアドレス生成器
に対し、水平アドレスを0から順に最大番地までインク
リメントさせる。その後に右方向に拡張したエリアの番
地まで0からインクリメントする。右方向に2画素拡張
ならば、0,1とアドレスをインクリメントした後に、ま
た水平方向アドレスは0番地を出力する。次に垂直アド
レスを0からインクリメントして前記水平アドレスのス
キヤンを繰り返し、再び垂直アドレスをインクリメント
して前記水平アドレスのスキヤンを繰り返す。これを繰
り返す後に、垂直アドレスが最大番地になり、水平アド
レスのスキヤンが繰り返されると、次には垂直アドレス
を0にして、下方向に拡張したエリアの番地までこれを
繰り返す。この時に各拡張されたエリア(1,1)〜(3,
3)までの出力がプロセツサエレメント(1,1)〜(3,
3)に対応するようにするために、データ制御回路がデ
ータを中継している。
次にデータ制御回路について説明する。データ制御回
路は第39図のようになつている。一般の場合にはm×n
個の4to1セレクタにより構成される。
セレクタのその出力がプロセツサエレメント(1,1)
に出力されるものはメモリ・エレメント(1,1),(1,
2),(2,1),(2,2)がその入力となつていて、各セ
レクタは制御回路からの選択制御信号により、4つの入
力から1つを出力する。ところで、セレクタの出力がプ
ロセツサエレメント(k,l)に出力される場合の入力は
メモリ・エレメント(k,l),(k,l+1),(k+1,
l),(k+1,l+1)である。但し、任意のk,lによ
り、領域分割m,nに対し、k+1,l+1がそれぞれm,nを
越えてしまう場合には、特に入力領域区側には、何も入
力しないかダミーのデータを入力する。
次に制御回路から出力するセレクタの選択制御信号に
ついて説明する。制御回路が前述したようにアドレス生
成器を制御して、水平アドレスを0から最終番地にイン
クリメントした後に0から拡張エリアの番地にスキヤン
する間、即ち、(k,l+1)の領域に重なつた時は、出
力(k,l+1)を選択出力する。又、垂直アドレスも0
から最終番地までインクリメントした後で、0から拡張
したエリアの番地(例えば3×3の空間フイルタ処理で
は1)までスキヤンする間、即ち、(k,l)の領域拡張
が(k+1,l)の領域に重なつている場合は、(k+1,
l)を選択出力する。又、この2つの場合、即ち、拡張
したエリアが(k+1,l+1)に重なつている場合は、
メモリ・エレメント(k+1,l+1)の出力を選択する
様に制御回路がプロセツサユニツトとライト側画像メモ
リとの間のデータ制御回路について補足説明すれば、第
39図と同様の回路構成であるが、そのセレクタ出力がメ
モリ・エレメント(k,l)に出力される場合の入力は、
(k,l),(k,l−1),(k−1,l),(k−1,l−1)
となる。又、第37図で示した様な拡張領域が、領域(k,
l)に対して左、下、左下の3領域の未処理部分までも
カバーするのではなく、領域(k,l)内の上、下、左、
右の未処理部分のみをカバーする様に領域拡張した場合
には、このプロセツサユニツトとライト側画像メモリの
間のデータ制御回路が不要となる。この場合には、リー
ド側の画像メモリとプロセツサユニツト間のデータ制御
回路にはセレクタの出力(k,l)に対し、(k,l),(k
−1,l−1),(k−1,l),(k−1,l+1),(k,l−
1),(k,l+1),(k+1,l−1),(k+1,l),
(k+1,l+1)が入力されれば良い事は第37図(b)
より容易に推察できる。さらに補足して説明すれば、拡
張領域に含まれる9領域、つまり9つのメモリ・エレメ
ントのデータはセレクタで選択されて、プロセツサユニ
ツト内のプロセツサエレメント(k,l)に入力される必
要があり、データ制御回路を必要とするが、k×l個の
セレクタを制御する。
次に、データ制御回路により出力されたデータはそれ
ぞれプロセツサユニツトを構成するプロセツサエレメン
トに入力されるが、プロセツサエレメント(1,1)〜
(3,3)は拡張した領域数ライン分のラインバツフアを
持つていて、空間フイルタ処理を施した後に、データ制
御回路を通し、ライト側画像メモリを構成するメモリ・
エレメント(1,1)〜(3,3)に出力される。このデータ
制御回路も前述のものと同様で、空間フイルタ処理の結
果が拡張された部分の領域の時に補正する。この時にア
ドレス生成器からライト側画像メモリの各メモリ・エレ
メントに与えるアドレスは同一である。しかしながら、
リード側画像メモリに与えるアドレスよりプロセツサエ
レメントで遅延する量の遅延が行われる。又、この時に
拡張した領域に空間フイルタ処理をかけても、拡張した
領域の周辺部はやはり空間フイルタ処理が行われない。
例えば、3×3の平滑化等の処理の場合は、拡張したエ
リアより、左、右、上、下、1画素幅ずつ出力エリアが
小さくなる。この空間フイルタ処理を行われた領域のデ
ータが出力される時のみライト側画像のメモリをイネー
ブルにする。
プロセツサエレメントでは空間フイルタ処理を行う
と、その出力する領域の上、下、左右の幅が小さくな
り、(k,l)の領域と同サイズに戻り、しかもそれがラ
イト側画像メモリのメモリ・エレメント(k,l)に対応
するので、プロセツサユニツトとライト側画像メモリと
の間のデータ制御回路が不要となる。
次に、プロセツサユニツトを構成するプロセツサエレ
メントについて詳細に説明する。
第40図は3×3の平滑化空間フイルタの一例である。
リード側メモリ・エレメントからデータ制御回路を介し
てプロセツサエレメントに入力された画像データは、ラ
ツチ2604、ラインバツフア2601に入力される。又、ライ
ンバツフア2601の出力はラツチ2607及びラインバツフア
2602に入力される。そしてラインバツフア2602の出力は
ラツチ2610に入力される。ラインバツフア2601,2602は
カウンタ2603により与えられたアドレス、又は図示しな
いが、第38図に示す様にアドレス生成器に与えられたア
ドレスが供給される。カウンタ2603は拡張領域の水平の
1画素おきに制御回路から画像転送クロツクを与えら
れ、アドレスのカウントアツプを行い、水平1ライン毎
にクリア信号が制御回路より入力されてアドレスがクリ
アされる。又、ラインバツフアは入出力信号が同時にラ
イト、リードできる。
この動作のためにラツチ2604,2607,2610は連続する水
平3ライン分のある位置の画素データが入力される。
又、ラツチ2604〜2612はD−typeのフリツプフロツプで
構成され、前記の制御回路からの画像転送クロツクによ
り順次ラツチ2604,2607,2610の出力は、ラツチ2605,260
8,2611を経てラツチ2606,2609,2612へと出力される。
この時にラツチ2604〜2612の出力は、画像1画面中の
連続する3×3の画素である。この出力は加算器2613に
入力され、全画素の合計をとられた後に、除算器2614に
入力され1/9倍されて、つまり3×3の平滑化処理を行
われてライト側メモリ・エレメント又はライト側メモリ
・エレメントにつながるデータ制御回路に出力される。
以上で本発明第2実施例について説明したが、プロセツ
サユニツトを構成するプロセツサユニツトをCPU等のプ
ロセツサで構成できる事は言うまでもない。
又、2つの実施例共に、1画面の周辺部、即ち、第35
図に示す灰色の部分の空間フイルタ処理ができない事は
言うまでもない。
以上述べたように、画像1画面をm×nの領域に分割
し区分したために、1つのメモリ・エレメントの受け持
つ画像領域が小さくなり、それに対応する空間フイルタ
処理プロセツサが、小領域のラインバツフアを持つだけ
で済むようになり、内部に複数ラインのバツフアを持つ
LSi化されたプロセツサ等の利用が可能となつた。又、
プロセツサ等としてCPUを利用したり、内部RAMを持つCP
U等も利用できるようになつた。同時にm×nの複数の
領域を同時に空間フイルタ処理を行うために、処理の実
行時間が極端に減少する。
以上本実施例によれば、m×nのメモリ・エレメント
の構成をとる事で、同時にm×n個の画素をアクセスし
処理する事ができ、高速な画像処理を行う事ができる。
又、1画面中の連続するm×n画素を同時にアクセス
できるようにm×n個のメモリ・エレメントに振り分け
る方式や、1画面中に散在するm×n画素を同時にアク
セスできるようにm×n個のメモリ・エレメントに振り
分ける方式等の構成をとる事により、前者の場合は連続
する小空間の2次元フイルタ処理、後者の場合は移動等
の処理が容易になる等、画像処理に適した処理を行うた
めのメモリアクセスが可能となる。
更に、本実施例によれば、k×l個のメモリ・エレメ
ントの構成により、全部のメモリ・エレメントをアクセ
スする事なく、マスクする事が可能となる。つまり、空
間フイルタ等の処理を行う場合等には、処理結果が1×
1等の小さなブロツクサイズになる処理が多いが、この
様に、メモリ・エレメントの構成のサイズとアクセスす
る画像のサイズが異なる処理を可能ならしめた。
[発明の効果] 本発明により、有限個の少数のプロセツサの並列処理
により、注目画素をその周辺画素を使用して処理する。
例えばフィルタリング等の画像処理を、高速且つ高品質
に行う画像処理装置を提供できる。
【図面の簡単な説明】
第1図は本実施例の画像処理装置の構成を示す図、 第2図は画像1画面をメモリ・エレメントの番地に対応
させる図、 第3図は4×4個のメモリ・エレメントから成るメモリ
全体を示す図、 第4図はメモリとそれに与えるアドレス生成器の図、 第5図は画像の1部分を示す図、 第6図は画像1部分のメモリ割り付けを示す図、 第7図はメモリアドレスの制御回路を示す図、 第8図は画素データ制御のブロツク図、 第9図(a),(b)は本実施例の他の画像処理装置の
構成を示す図、 第10図は画像1画面を示す図、 第11図はk×l個のメモリ・エレメントを示す図、 第12図,第13図は1個のメモリ・エレメントを示す図、 第14図,第15図はメモリ・エレメントアクセスの制御回
路を示す図、 第16図は画像1画面を示す図、 第17図はk×l個のメモリ・エレメントを示す図、 第18図はアドレス変換回路を示す図、 第19図は濃度変換を説明するための図、 第20図はマスク演算を説明するための図、 第21図は濃度変換の手順を示すフローチヤート、 第22図は色変換の手順を示すフローチヤート、 第23図はマスク演算の手順を示すフローチヤート、 第24図は回転処理前の画像データ配列を示す図、 第25図は画素ブロツクの範囲で回転を行つた状態を示す
図、 第26図はブロツク内で画素単位で回転を行つた状態を示
す図、 第27図は回転処理前及び画素ブロツク単位での回転処理
後のブロツク内での画素配置を示す図、 第28図は画素ブロツク内で回転処理を行つた後のブロツ
ク内での画素配置を示す図、 第29図は回転処理を実施する回路のブロツク構成例図、 第30図はブロツクデータ選択回路を示す図、 第31図はブロツク内アドレス変換回路の実現例図、 第32図は変換前のブロツク内アドレス発生回路を示す
図、 第33図は回転処理を実施する回路の他のブロツク構成例
図、 第34図は画像上の領域区分及びスキヤンを示す図、 第35図は空間フイルタ処理されない部分を示す図、 第36図は空間フイルタ処理を行う画像処理装置の構成を
示す図、 第37図(a)は領域区分の拡張及びスキヤンを示す図、 第37図(b)は区分された領域の一部を示す図、 第38図は空間フイルタ処理を行う画像処理装置の他の構
成を示す図、 第39図はデータ制御回路を示す図、 第40図はプロセツサエレメントを示す図である。 図中、1…画像メモリ、1a,1b…メモリ・エレメント、
2…プロセツサ・ユニツト、2a…プロセツサ・エレメン
ト、3…周辺部、4…ローアドレス・ジエネレータ、5
…カラムアドレス・ジエネレータ、91…入力側画像メモ
リ、92…プロセツサ・ユニツト、93…出力側画像メモ
リ、94…制御回路、95…入力装置、96…出力装置であ
る。
フロントページの続き (72)発明者 河村 尚登 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (56)参考文献 特開 昭61−16369(JP,A) 特開 昭61−55783(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】注目画素をその周辺画素を使用して処理す
    る画像処理装置であって、 各々のプロセッサ・エレメントが2次元に分割された画
    像の各領域を同時に処理する複数のプロセッサ・エレメ
    ントから成るプロセッサ・ユニットを備え、 前記プロセッサ・エレメントは隣接する領域との境界部
    分を2次元の両方向においてオーバーラップしてアクセ
    スし、境界部分の注目画素を処理することを特徴とする
    画像処理装置。
JP62033174A 1987-02-18 1987-02-18 画像処理装置 Expired - Lifetime JP2647377B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP62033174A JP2647377B2 (ja) 1987-02-18 1987-02-18 画像処理装置
DE3845005A DE3845005C2 (de) 1987-02-18 1988-02-17 Bildverarbeitungseinrichtung
DE3844921A DE3844921C2 (de) 1987-02-18 1988-02-17 Bildverarbeitungsgerät
DE3845004A DE3845004C2 (de) 1987-02-18 1988-02-17 Bildverarbeitungseinrichtung
DE3804938A DE3804938C2 (de) 1987-02-18 1988-02-17 Bildverarbeitungseinrichtung
US08/071,351 US5293481A (en) 1987-02-18 1993-06-03 Data parallel processing apparatus
US08/751,560 US5692210A (en) 1987-02-18 1996-11-18 Image processing apparatus having parallel processors for communicating and performing positional control over plural areas of image data in accordance with designated position instruction
US08/888,043 US6477281B2 (en) 1987-02-18 1997-07-03 Image processing system having multiple processors for performing parallel image data processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62033174A JP2647377B2 (ja) 1987-02-18 1987-02-18 画像処理装置

Publications (2)

Publication Number Publication Date
JPS63201776A JPS63201776A (ja) 1988-08-19
JP2647377B2 true JP2647377B2 (ja) 1997-08-27

Family

ID=12379160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62033174A Expired - Lifetime JP2647377B2 (ja) 1987-02-18 1987-02-18 画像処理装置

Country Status (1)

Country Link
JP (1) JP2647377B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2647376B2 (ja) * 1987-02-18 1997-08-27 キヤノン株式会社 画像処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6116369A (ja) * 1984-07-03 1986-01-24 Masaki Esashi 画像処理装置
JP2502495B2 (ja) * 1984-08-27 1996-05-29 松下電器産業株式会社 画像処理装置
JP2647376B2 (ja) * 1987-02-18 1997-08-27 キヤノン株式会社 画像処理装置

Also Published As

Publication number Publication date
JPS63201776A (ja) 1988-08-19

Similar Documents

Publication Publication Date Title
US5692210A (en) Image processing apparatus having parallel processors for communicating and performing positional control over plural areas of image data in accordance with designated position instruction
US5293481A (en) Data parallel processing apparatus
US6968442B2 (en) Parallel computer with improved access to adjacent processor and memory elements
GB2092785A (en) Window-scanned memory
US5877770A (en) Texture pattern memory circuit for providing plural texel data in response to a single access operation
JPS6116369A (ja) 画像処理装置
JPH05282437A (ja) 画像回転回路
JPH02230383A (ja) 画像処理装置
JP2647375B2 (ja) 画像処理装置
JP2647377B2 (ja) 画像処理装置
JP4182575B2 (ja) 記憶装置および画像データ処理装置
JP2647376B2 (ja) 画像処理装置
JP2647378B2 (ja) 画像処理装置
JP2647379B2 (ja) 画像処理装置
JP2647380B2 (ja) カラー画像処理装置
JPS63201757A (ja) 画像処理装置
JP2728663B2 (ja) 画像処理装置
US5495618A (en) System for augmenting two dimensional data sets in a two dimensional parallel computer system
EP1927950A1 (en) Array of processing elements with local registers
JP4828006B2 (ja) 画像処理装置
JPS63201783A (ja) 画像処理装置
JPH06324935A (ja) アドレス発生器およびアドレス発生システム
JPS61201350A (ja) 画像編集用イメ−ジメモリ
JPS63201779A (ja) 画像処理装置
JPS63201782A (ja) 画像処理装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term