JPS63201775A - 画像処理装置 - Google Patents

画像処理装置

Info

Publication number
JPS63201775A
JPS63201775A JP62033173A JP3317387A JPS63201775A JP S63201775 A JPS63201775 A JP S63201775A JP 62033173 A JP62033173 A JP 62033173A JP 3317387 A JP3317387 A JP 3317387A JP S63201775 A JPS63201775 A JP S63201775A
Authority
JP
Japan
Prior art keywords
memory
image
address
data
processor unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP62033173A
Other languages
English (en)
Other versions
JP2647376B2 (ja
Inventor
Yoshinobu Mita
三田 良信
Miyuki Enokida
幸 榎田
Yoshihiro Ishida
良弘 石田
Naoto Kawamura
尚登 河村
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 JP62033173A priority Critical patent/JP2647376B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to DE3845004A priority patent/DE3845004C2/de
Priority to DE3844921A priority patent/DE3844921C2/de
Priority to DE3845005A priority patent/DE3845005C2/de
Priority to DE3804938A priority patent/DE3804938C2/de
Publication of JPS63201775A publication Critical patent/JPS63201775A/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 JP2647376B2 publication Critical patent/JP2647376B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明は画像処理装置、特に画像メモリの制御技術によ
り画像データの高速処理及び並列処理を行う画像処理装
置に関するものである。
[従来の技術] 一般に高速に画像を処理する場合に、コンピュータによ
る処理としてはソフトウェアで行う方式がとられるが、
画像データが膨大になるにつれて高速化か必要となって
くる。高速化の手法としては2通りの方法があり、1つ
はパイプライン方式と呼ばれる逐次処理型のハードウェ
アで行う方式、もう一つは複数個のプロセッサを置く並
列処理型と呼ばれるものである。前者は画像データの高
速処理に伴って処理のクロック周波数か高くなり限界が
ある。一方後者は並列に置くプロセッサの数を増すこと
により、高速化をいくらでも高める事ができる。極端に
言えば、画素の数の分だけプロセッサを置く事により最
大のスピードを得る事が可能である事から、現在注目さ
れている技術の一つである。
ところで、この時に各画素間での通信処理が重要となり
、相互通信を行いつつ処理を進めていく必要がある。か
かる並列処理方式に於ては、プロセッサを各画素の数だ
け持つ事は高解像データを取り扱う場合には不可能とな
る。例えば、A4を16画素/Inm(pel)でよん
だ画像を取り扱う場合、画素数は約16M画素(pix
els)となり、これだけのプロセッサを同時に持つ事
は不可能と言える。
[発明が解決しようとする問題点] 本発明は、有限個の少数のプロセッサの並列処理により
高速の画像処理を行う画像処理装置を提供する。
[問題点を解決するための手段] この問題点を解決するための一手段として、本発明の画
像処理装置は、他のメモリと独立にアドレスを指定して
アクセスすることがで診る複数のメモリ・エレメントか
ら成り、隣接する所定領域内の画素データが同一の前記
メモリ・エレメントに割付けられ、前記所定領域上で同
一位置に対応する画素データが同一番地に割付けられる
第1の画像メモリと、 前記メモリ・エレメントに対応する複数のプロセッサ・
エレメントから成り、前記画像メモリ内の複数画素を同
時に処理するプロセッサ・ユニットと、 該プロセッサ・ユニットと対応し、他のメモリと独立に
アドレスを指定してアクセスすることができる複数のメ
モリ・エレメントから成り、隣接する所定領域内の画素
データが同一の前記メモリ・エレメントに割付けられ、
前記所定領域上で同一位置に対応する画素データが同一
番地に割付けられる、前記プロセッサ・ユニットの処理
結果を記憶する第2の画像メモリとを備える。
又、他のメモリと独立にアドレスを指定してアクセスす
ることができる複数のメモリ・エレメントから成り、隣
接する所定領域内の画素データが同一の前記メモリ・エ
レメントに割付けられ、前記所定領域上で同一位置に対
応する画素データが同一番地に割付けられる第1の画像
メモリと、前記メモリ・エレメントに対応する複数のプ
ロセッサ・エレメントから成り、前記画像メモリ内の複
数画素を同時に処理するプロセッサ・ユニットと、 該プロセッサ・ユニットと対応し、他のメモリと独立に
アドレスを指定してアクセスすることができる複数のメ
モリ・エレメントから成り、隣接する所定領域内の画素
データが同一の前記メモリ・エレメントに割付けられ、
前記所定領域上で同一位置に対応する画素データが同一
番地に割付けられる、前記プロセッサ・ユニットの処理
結果を記憶する第2の画像メモリと、 該第2の画像メモリの前記メモリ・エレメントのチップ
イネーブルを制御するイネーブル制御手段とを備える。
[作用] かかる構成において、第1の画像メモリの隣接する所定
領域内の同一位置に対応する画素データをプロセッサ・
ユニットで同時に処理して、対応する第2の画像メモリ
に処理結果を記憶する。
さらに、イネーブル制御手段により第2の画像メモリの
所定領域の大きさを自在に変化する。
以下余白 [実施例] 以下、本発明の〜実施例を説明する。
本実施例の画像処理装置の構成は、1頁分の画像メモリ
1とプロセッサ・ユニット2及び入出力装置等の周辺部
3から成る。第1図はその基本部のみの原理構成を示し
たもので、画像メモリ1にプロセッサ・ユニット2が連
絡されている。画像メモリ1上の任意位置のnxmの画
像データは、nxmのプロセッサ・エレメント2aのア
レイて構成されるプロセッサ・ユニット2へ転送され、
高速処理をされた後、再び画像メモリ1へ戻される。n
xmのプロセッサ・エレメント2aのアレイ内での各処
理は同時に行われる、所謂並列処理方式のアーキテクチ
ャ−である。又、第9図(a)、(b)には他の構成を
示した。第9図(a)では、制御回路94の制御に従っ
て、入力端画像メモリよりの画像データは、複数のプロ
セッサ・エレメントから成るプロセッサ・ユニット92
で複数画素が並列に所定の処理されて、出力側画像メモ
リ93に格納される。一方策9図(b)では、画像メモ
リ91あるいは93とプロセッサ・ユニット92と、更
に人力装置96と出力装置ちが共通バスによって繋がれ
た構成である。
以下画像メモリ1について詳述する。
今、簡単のため、画像サイズを1024 X  102
4画素、各8ビット/画素のデータをもつ画像メモリで
話を進める。画像サイズの変更は、本実施例のアーキテ
クチャ−を拡張するのみでよい。又、プロセッサ・ユニ
ット2は4×4の計16個のプロセッサ・エレメント2
aで構成されるものとする。
第2図は画像メモリ1の構成を示す図である。
画像の構成が図の如<  1024 x  1024画
素で出来ているとすると、これを4×4の単位で分けて
いくと、256 X 256の合計64 K (=65
531i )個のブロックに分割される。今、これを第
3図の如く4×4画素単位で再編成し、4×4画素が6
4に個あると想定する(各画素当り8ビツト長のデータ
を有す)。従ってメモリのアドレス空部は、4x4x6
4にの三次元アドレス指定となる。
4×4内の1つの64に画素を1つのメモリチップが受
は持つものとすると、64にのアドレス空間で各アドレ
スが8ビツトの深さのメモリ・チップが必要となる。こ
れは512にビット(=64にバイト)の容量のメモリ
・チップが必要であるが、本実施例では256にビット
のダイナミックRAM (D−RAM)2個を組み合わ
せて用いる。即ち、256にビットD−RAMのうち6
4に×4ビット構成のものを2個用いて、64KX8ビ
ツトとして用いる。かかる2個のメモリ・チップを今後
、メモリ・エレメント1aと呼ぶ。
4×4のマトリックスに対応して、上記画像メモリ1は
16個のメモリ・エレメント1aから構成される。第4
図はかかる4×4のメモリ・エレメント1aの構成を示
す。各メモリ・エレメント1aはローアドレス及びカラ
ムアドレスを指定されて、4×4画素の内の一画素の6
4にのアドレス空間の画像データを人・出力する。ロー
アドレス・ジェネレータ4及びカラムアドレス・ジェネ
レータ5からは4×4の各メモリ・エレメント1aヘア
ドレスを与える。尚、メモリ・エレメント1aがD−R
AMでローアドレス及びカラムアドレスをタイムシェア
して与えるものであれば、このアドレス・ジェネレータ
は1つてよい。この時には、ローアドレスとカラムアド
レスの時分割切換制御が必要となる。
かかるアドレス・ジェネレータからそれぞれのアドレス
を与える事により、4×4画素のメモリ・エレメント1
aをリード/ライトする事か可能となる。即ち、−回の
アドレス指定により4×4画素分の画像データが同時に
駆動可能となる。このため、データ・ラインとしては、
各メモリ・エレメント1aから直接8ビツトのデータ線
が出ているものとする。
今、ローアドレスがA(0≦A≦255)、カラムアド
レスがB(0≦B≦255)のデータが画像メモリ1か
ら呼び出されたものとすると、画像データとしては、第
2図における(A、B)のアドレスに相当する4×4画
素の8ビツト長の画像データが読み出される。
更に複数画素の同時アクセスについて一般化して、説明
する。
第10図は画像1頁ををのまま表わしたものであり、こ
の画像データを図示するように連続して隣接するkx、
Q画素のブロックで分割し、第11図の様にkXU個の
メモリ・エレメント1aに対応させる。又、kx旦画素
のブロックは端から(o、o)、(o、1)、(o、2
)。
(0,3)・・・と番号付けされ、第12図のようなk
X文旦個メモリ・エレメント1aからなるメモリ・ユニ
ット1に対応する。第13図はメモリ・ユニット1を二
次元的に表わしたものである。又、アクセスするメモリ
サイズはkxJJ画素のブロックサイズの単位なので、
任意の位置のkx、Q画素のブロックRをアクセスした
場合ても、kx、Q個のメモリ・エレメント1aすべて
がアクセスされ、しかも1つのメモリ・エレメント1a
につき、各1個のアドレスのアクセスとなる。
この様に画像中の任意位置の隣接するkxf1個の複数
画素の画像データを一度にアクセスし、リードした後に
プロセッサ・ユニット2で処理を行う。プロセッサ・ユ
ニット2で処理を行われた画像データは、再びに’ X
i’画素のブロックサイズで、しかも任意の位置をアク
セスしてライトで餘る。ここでは、k’ =に、u’ 
−1jとして今後説明を行う。
前述のに′X文’画素のみのメモリのアクセスについて
補足説明すると、プロセッサ・ユニット2における処理
が空間フィルタ処理等の場合には、読み出し側のアクセ
スするブロックサイズkXUよりも書き込み側のアクセ
スするブロックサイズが小さくなることがある。一般的
には書き込み側のブロックサイズに’x、Q’ は1×
1になる処理が多い。又、プロセッサ・ユニット2にお
ける処理が画像の縮小処理の場合にも、リード側のアク
セスするブロックサイズkxlよりもライト側のアクセ
スするブロックサイズが小さくなる。
一般的にライト側のブロックサイズに’x、Q’は縦横
の縮小率を、α、βとした時にに′≧αに、旦′ ≧β
交を満たす最小の整数かに’ 、A’ となる。仮に読
み出しと書籾込みのメモリが同一、又は同一のkxJl
のメモリ構成の時に、前述の2例のような処理を行う場
合は、書き込み側のメモリ・ユニット1の構成サイズk
x、Qよりも小さなサイズに’ Xi’ に書き込みを
行わなければならない。この場合にはメモリ・エレメン
ト1aのkxM個のすべてにアクセスをかけないで、書
き込みに該当しないメモリ・エレメント1aをマスクし
て、アクセスしない様にしなければならない。しかしな
がら、kxJ1個のメモリ・エレメント1aで構成され
る画像メモリ1は1度にアクセスして読み出しできるデ
ータは隣接する画像データの最大kx、Q個であるが、
それより小さいサイズの隣接するに’x旦’の画像デー
タも前記マスクを行う事により自由にアクセスできる。
マスクしてに’x、Q’個のみを同時にアクセスする事
は、メモリ・エレメント1aのチップのイネーブルを操
作する事で容易に可能となる。
次に順を追って、任意の位置の所定画素のメモリアクセ
スの実施例について、メモリ・ユニット構成が4×4の
場合とkx、Qの場合とについて説明し、前記マスクす
るためのチップイネーブルの制御についても説明する。
まずブロックサイズkxJJを4×4とした場合の実施
例より示す。
第2図の一部分を拡大した図を第5図に示す。
画像メモリ1中任意の4×4のブロックSの画像データ
を読み出し、これを前述プロセッサ・ユニット2で処理
した後に、任意の4×4のブロックTに転送する場合の
処理について説明する。
第5図及び第6図上の4×4のます目は、4×4の16
個のメモリ・エレメント1aを区切るます目である。こ
の16個のメモリ・エレメント1aに仮にAa、Ab、
−、Ba、Bb、−Ca、−Dc、Ddと名前をつける
。まず最初に4×4のブロックSを読み出す場合、16
個のメモリ・エレメント1aの内、メモリ・エレメント
Ddには(ローアドレス、カラムアドレス)として(N
、M)が与えられる。メモリ・エレメントDb、DC,
Ddには(N、N+1)、メモリ・エレメントAd、B
d、Cdには(N+1.’M)残りのメモリ・エレメン
トには(’N+1.M+1)が与えられる。これは前述
したローアドレス・ジェネレータ4.カラムアドレス・
ジェネレータ5により発生される。又、4×4のブロッ
クSの端点Uの位置が定まれば、その水平方向と垂直方
向の位置アドレスを4で割り、その余りの数n。
mにより、メモリ・エレメントA a −D dまでに
割りつけるローアトレス・カラムアドレスは一意的に決
まる事は明らかである。仮にUの位置アドレスu (Y
、X)とすると、 Y=4N+n (n=o、1,2.3)X=4M+m 
(m=o、1,2.3)例えば、アドレス・ジェネレー
タ4.5ではM。
Nの情報とm、nの情報をルックアップテーブル等に入
力し、メモリ・エレメントAa〜Ddに与えるアドレス
を出力するような構成も考えられる。この時出力はM、
N、N+1.N+1のいずれかである事は、前述の説明
より明らかである。
又、この性質を利用して、第7図のように、ルックアッ
プテーブルにnl又はmを人力し、この値に応じて0,
1を出力し、メモリ・エレメントA a −D dに与
えるアドレスNまたはMをインクリメントするかしない
かの制御を行えば良い。
ローアドレス・ジェネレータ4ではn、Nを使用し、カ
ラムアドレス・ジェネレータ5ではm、 Mを使用する
このようにして、4×4の16個のメモリ・エレメント
に前述したようにアドレス・ジエネレータ4.5よりア
ドレスが与えられて、同時に16個のデータを得る事が
できる。
この16個のデータは、プロセッサ・ユニット2におい
て、何らかの処理をされ、又は何も処理されないで、再
び第5図に示す4×4のブロックTに転送される。しか
しながら、16個のメモリ・エレメントAa〜Ddから
読み出された画像データそれぞれが必ずしも同じメモリ
・エレメントA a −D dに転送されるとは限らな
い。第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個の読み
出しデータがメモリ・エレメントA a −D dのど
のメモリ・エレメントに書と込まれれば良いのか説明す
る。
第5図のように Y  =4N十n (n=o、1,2.3)X  =4
M+m (m=o、1.2.3)Y’ =4P+p (
p=o、1,2.3)X’ =4Q+(1(q=0.1
,2.3)と表わせる時に、 p−n=4y’ +y  (y’ =−1,。
y=Q、1.2.3) ・・・■ q−m=4x’ +x  (x’ =−1,0x=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)’ を下方向に7回ローテーションする
第5図の場合には、第5図によりn、m、p。
qは3,3,2.1なのは明らかなので■、■式%式% 得る。故に前述の説明より次の行列を得る。
右方向に2回ローテーションすると、 行配列 A’ = (Ac、Ad、Aa、Ab)B’  =  
(Be、  Bd、  Ba、  Bb)C’  = 
 (Cc、  Cd、  Ca、  Cb)D’  =
  (Dc、  Dd、  Da、  Db)下方向に
3回ローテーションすると、 (Be、Bd、Ba、Bb) (Cc、Cd、Ca、Cb) (Dc、Dd、Da、Db) (Ac、Ad、Aa、Ab)   −■この行列■を下
の基本配列■と対比させて考えて見ると、 Aa、Ab、Ac、Ad Ba、Bb、Be、Bd Ca、Cb、Cc、Cd Da、Db、Dc、Dd  −基本配列■基本配列■は
メモリ・エレメントAa〜Ddの読み出しデータを順に
左から右、上から下と並べて2次元配列しただけのもの
で、行列■は、メモリ・エレメントA a −D dに
書き込むべきデータを順に並べて2次元配列したものに
相当する。即ち、例としてメモリ・エレメントAaから
読み出されたデータは、配列■を見ると、4行目3列目
に書診込まれる。これを基本配列■を参照すると4行目
3列目にDCとなっているので、メモリ・エレメントD
Cにメモリ・エレメントAaの読み出しデータが書かれ
れば良い事がわかる。
補足説明すると、第5図上のメモリ・エレメントAaの
読み出しデータがDcの位置に書き込まれれば良い事は
容易に気がつくが、このAaからDcの位置への変位は
、位置アドレスUから■への変位に等しい。又、メモリ
・エレメント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 NAd、Ba 〜Bd、Ca 〜Cd
、Da”−Ddのメモリ・エレメント1aに書き込む構
成になっている。
尚、y変位ローデータ82は、人力がそれぞれ4要素の
データなので、X変位ローデータ81と全く同じもの4
つで構成できる事は言うまでもない。又、前記ローデー
タは、メモリデータの深みと同じビット数の深みを持っ
ても良いし、1ビツトの深みのものをメモリデータの深
みと同じ数だけ使用しても良い事も言うまでもない。又
、ローデータはシフトレジスタやバレルシフタ等を使用
できる事は容易に推察できる。
さらに−膜化して考えてみると、メモリブロックをkX
lのサイズにした場合には、メモリ・エユニット10の
構成もkxuになる。この場合に、任意の位置にあるk
XUのメモリブロックSをプロセッサ・ユニット2で処
理した後に、任意の位置のkxJlのメモリブロックT
に転送する場合に、 Y = k N + n  (n = 0 、 1 、
  ・・・、  k −1)X−1M+m  (m=0
. 1.−、fl−1)(N、M、P、Qは0,1.2
.3・・・)Y′冨kP+p  (p=o、  1. 
 ・・・、に−1)x’=旦Q+q  (q=0. 1
.  ・・・、q−1)但し、Sの端点の位置アドレス
を (y、x)、Tの端点の位置アドレスを(Y”、X
I・・・(10) なるn、m、p、qを求め・ p−n=Ky′+y (y ′−z、o、 y −0,1,2,3,・・・、
に−1)q−m−見x’+x (x′−−1,O,x −0,1,2,3s・・、 M
−1)・・・(11) なx、yを用いて、例えば第8図のようなX変位ローデ
ータ81、y変位ローデータ82を使用して処理を行え
ば良い。この場合、X変位ローデータ81は、2個の入
力を持ち、0−U−1までのシフトができる。y変位ロ
ーデータ82は、k個の入力を持ち、0〜に−1までの
シフトができる。しかも、y変位ローデータ82のに個
の入力はそれぞれ2個の要素をもつため、人力1要素の
ローデータが文例の構成となる。
第10図に示すように前述のに’XM’のブロックの同
時アクセスのためのメモリ・エレメントのアクセス制御
について説明する。
k’X見’のブロックの端点iの位置アドレスを(f、
g)と仮定する。前述の式(10)に従いアクセスする
メモリをリードする場合は、Y。
Xにflgを代入し、アクセスするメモリにライトする
場合は、Y′、X′にf、gを代入する。
その結果を式(11)に代入してy、xを求めると、第
7図、第8図に示した実施例をkxJJに一般化したも
のにもそのまま適用できる。
又、この際に、kXiのメモリ・エレメントのうち、k
=xfl′のメモリ・エレメントのみをチップイネーブ
ルにする。このイネーブルにするチップはに′xJJ’
の端点iの(f、g)の位置アドレスさえ決まれば、式
(10)よりn、m、又はP、qが一意的に決まり、ア
クセスすべきに’x、l’個のメモリ・エレメントも一
意的に決まる。
ところで、今まで説明した様にkX、Qのメモリ・エレ
メントから成るメモリ構成において、リードアクセス側
をk”x、Q’のブロックを同時にアクセスし、ライト
側をk”xJJ”のブロックを同時にアクセスする場合
も(但し、0≦k”≦に、O≦旦゛°≦す)考えられる
が、これも今までの説明と同様である。この場合のメモ
リ・エレメントに与えるチップイネーブルの制御の実施
例を第14図に示す。
k′Xλ′、k”x誌″°のブロックの端点の位置アド
レスを(y、x)、(y′、x’)とする時に、式(1
0)よりn、m及びp、qが求まる。このn、m及びp
、qはセレクタのデータ人力に入力される。さらにセレ
クタの選択制御信号として、メモリアクセスのリードラ
イト信号R/Wが入力され、リードの時にn、mを選択
出力し、ライトの時にp、qを選択出力する。
同様にブロックサイズ、k’、fl′及びに°゛。
交°°もセレクタに人力され、R/W信号が選択制御信
号として人力されている。リード時には、k’、A′を
選択出力し、ライト時にはに°。
す°°が選択出力される。ところで、アクセスするメモ
リ・エレメントはリード側のn、m、に′。
交′、又はライト側のに′1文”、p、qが定まれば一
意的に決まる事は明白なので、セレクタから出力された
これらのデータはルックアップテーブルに入力し、それ
ぞれkxJJのメモリ・エレメントのうちアクセスする
メモリを制御する信号を出力する。
ところでプロセッサ・ユニット2で処理する前後の画像
メモリ1が別のメモリで、しかもそのメモリ構成がそれ
ぞれkXi、KXLの場合には、第15図の様に、2つ
のルックアップテーブルを用いれば良いことは容易に推
察できる。この場合ルックアップテーブル151とルッ
クアップテーブル152は別の内容のテーブルとなる。
又、に=に、U=Lとなっても全く問題はない。以上前
述したような構成をすれば、アクセスするメモリ・エレ
メントをkxJl個のメモリ・エレメント全部としない
て、一部マスクする事が可能である。そしてkXuのメ
モリ・エレメントの構成は最大必要とするkx、Qの大
きさに設定すれば良い。
次にメモリ・エレメントをどのようにアクセスして前画
面全体にあたる画像データすべてを処理するか、即ち全
メモリデータのアクセスのスキャン方法について説明す
る。
例えはアクセスする隣接するkxJlのブロックの端点
Uの位置アドレス、つまり垂直方向で端から、0から順
に数えた時の番号なYとし、水平方向で端か、ら、0か
ら順に数えた時の番号なXとした時のY、Xが定まった
場合のメモリのアクセスの仕方は、すでに説明した。そ
れでは、このX。
Yをどの様な順番でスキャンして全画像を処理するかの
実施例を説明する。
(第1例) kXuのメモリ・エレメントをアクセスするための画像
データの位置アドレスY、Xをそれぞれに、flの整数
倍ずつ増減させてスキャンする方法で、例えばはじめに
Y、XをOに設定し、Xを順次文ずつ増やす。水平方向
の終点までXを増やしたら、次はXを0に設定し直し、
Yをに増やしてまたXを文ずつ増やす。これをシーケン
シャルに繰り返して全画面又は画面の一部をスキャンす
る。仮りにこれを第1シーケンシヤルスキヤン方式と名
付ける。
(第2例) 又、X、Yの増減を前述のようにシーケンシャルに行わ
ないで、画像全画面のあちらこちらの連続するkx、Q
のブロックをとびとびにアクセスし、しかもそのアクセ
スする時のX、Yかに、旦の整数倍の変位である時に、
仮りにこれを第1ランダムスキヤン方式と名付ける。
(第3例) kx、Qのメモリ・エレメントをアクセスするための画
像データの位置アドレスY、Xをそれぞれ整数ずつ増減
させてスキャンする方法で、例えははじめにY、Xを0
に設定し、Xを順次1ずっ増やす。水平方向の終点まて
Xを増やしたら、次にXを再び0に設定し直し、Yを1
増やしてからXを1ずつ増やしていく。これをシーケン
シャルに繰り返して全画面又は画面の一部をスキャンす
る。これを仮に第2シーケンシヤルスキヤン方式と名付
ける。この場合、同しメモリデータを何度もアクセスさ
れる。
(第4例) 又、X、Yの増減を前述のようにシーケンシャルに行わ
ないで、画像全画面のあちらこちらのkxMのブロック
をとびとびにアクセスし、全X、Yについてこれを実行
する。又は画面全画面の内、連続する一部分全部のX、
Yについて実行。それがランダムである時に、これを第
2ランダムスキヤン方式と仮りに名付ける。
(第5例) kxJlのメモリ・エレメントを有するメモリ構成にお
いて、アクセスするメモリブロックかに’x文′の時に
、(1≦に′≦に、1≦文′≦す)位置アドレスY、X
をに′、文’の整数倍ずつ増減させてこれをシーケンシ
ャルに繰り返して全画面をスキャンする方式を第1シー
ケンシヤルスキヤン方式と区別して、ブロックワイズ・
シーケンシャルスキャン方式と名付ける。
(第6例) 又、X、Yの増減を(第5例)のようにシーケンシャル
に行わないで、画像全画面のあちらこちらの連続するに
′x、Q′のブロックをとびとびにアクセスし、そのY
、Xかに′xJJ’の整数倍の変位である時に、仮りに
これをブロックワイズ・ランダムスキャン方式と名付け
る。
(第7例) メモリ・エレメントのkx、Qのメモリ構成に関係なく
、シーケンシャルにスキャンするもの、例えば任意の数
d’、f′おきにX、Yを変化させてスキャンするもの
を、単にシーケンシャルスキャン方式と呼ぶ。
(第8例) (第7例)でランダムにスキャンする場合や(第4例)
の場合でも、全てのX、Yの組み合わせについてメモリ
アクセスを行わない場合に、単にランダムスキャン方式
と呼ぶ事にする。
以上のように数々のスキャン方式が考えられるが、これ
とは別に、メモリアクセスには、リード側のメモリアク
セスがあり、このリード側のメモリアクセスのスキャン
方式とライト側のメモリア′ クセスのスキャン方式が
一致するとは限らない。
又、このスキャン方法はリード側が決まれば、ライト側
のアクセスするX′、Y′はプロセッサ・ユニット2の
処理内容で決まる。又、ライト側のスキャン方法を先に
決めてもよい。この場合はリード側のスキャンは処理内
容で決まる。
又、リード側とライト側でのアクセスするブロックサイ
ズに’、Q′が異なる事もあれば、メモリ・エレメント
構成kx、Qのサイズが異なる事もある。
[濃度変換、色補正、マスク演算] 濃度変換、色補正等における処理の場合に、リード側・
ライト側共に、第1シーケンシヤルスキヤン方式を採用
する方式により行ったものをさらに詳細に説明する。
色変換とは、画像データがある特定の色情報をもつ場合
、その色情報を予め定められた特定の他の色情報に変換
する処理である。
マスク演算とは、第20図に示されるように画像データ
の特定の一部のみをそのまま出力し、それ以外は下地に
対応する画像データ(例えば、白地)を出力する。下地
には白地の他に灰色や無色の地のデータ等を出力するよ
うにしてもよい。
第20図(a)はマスクすべき領域を示すデータであり
、第20図(b)はマスクされる画像であり、第20図
(C)はその出力結果である。
濃度変換は、例えばプロセサ・ユニット内の各プロセサ
・エレメントが第21図に示されるフローチャートに従
って動作すればよい。ここで、入力値V、。に対応する
出力値■。utは、例えば、V、ut= 1 /64・
Vln’・・・(12)等で規定されており、該4X4
個の8ビツト長のデータの各々に対して、1個のプロセ
サ・エレメントを対応させ、計16個のプロセサ・エレ
メントよりなるプロセサユニットに、第2図に於ける(
A、B)のアドレスに相当する4×4個の8ビツト長の
データが入力される。該各プロセサ・エレメントは各々
並列に動作し出力データを出力する。このため、一度に
アクセスされた4×4個の8ビツト長のデータが一度に
プロセサユニットで処理され、一度に出力されるため高
速な画像処理が可能となる。
それぞれのプロセサ・エレメントは、例えは濃度変換、
色変換、マスク演算等の処理を行う。
濃度変換とは、例えは第19図て示されるような入力濃
度−出力濃度対応に従って入力値を対応する出力値に変
えて出力するものである。これにより、画像のコントラ
ストを強調したり、明暗の調子を変化させることかでき
る。(12)式に従った演算を実行する。
色変換とは、例えば、プロセサユニット内の各プロセサ
・エレメントが第22図に示されるフローチャートに従
って動作すればよい。ここで色情報は、例えばJ G、
Bの組合わせで表現されるもので、前記画像メモリをR
用、G用、B用にそれぞれもち、各8ビツトのデータ長
で保持されているものである。この場合、対応するR用
、G用、B用の画像メモリセルには、1個の同一のプロ
セサ・エレメントか対応している。このうちの特定のR
,G、Bの値の組み合わせを指定色として予め登録して
おき、変更後の色情報も同様にあるR、G、Bの値の組
み合わせとして予め登録しておくものである。指定色は
複数あっても、もちろんよい。
マスク演算とは、例えはプロセサユニット内の各プロセ
サ・エレメントが第23図に示されるフローチャートに
従って動作すればよい。ここで、マスク情報とは、前記
画像メモリの各セルにそれぞれビット対応するビットマ
ツプメモリで構成されるメモリ内に保持されるビットデ
ータであり、マスク内であるか否かを示すデータである
。この場合もマスクメモリと画像メモリの対応するセル
に1個の同一のプロセサ・エレメントが対応するもので
ある。
前記プロセサユニット内のプロセサ・エレメント相互間
での通信を行い得るようにしておけば、プロセサユニッ
ト内の空間フィルタリング処理。
認識、圧縮、復号等の処理を実行させることも可能であ
る。
[第2の実施例] 同時にkX文旦個データをアクセスするためのkxM個
のメモリ・エレメントへの画像データの割り付けの第2
の実施例について説明する。
第16図は画像1画面の上方をデータに置き換えた状態
を示す図で、これを水平方向交等分に分割し、垂直方向
に等分に分割する。この時にkXuに分割されたエリア
を説明のために、(0,0)、  (0,1)、・・・
(0,旦)、・・・、(k、旦)とすると、この1つ1
つのエリアを第17図に示すように1つ1つのメモリ・
エレメントに割り付ける。割り付は方は、第16図に示
す破線斜線の部分を、各々のメモリ・エレメントの0番
地に割り付け、次に隣りの画像データを各々のメモリ・
エレメントの1番地に割り付け、同様にエリア内の1ラ
インすべての割り付けが終わったら、2ライン目を同様
に左から右へと割り付け、すべての画像データを割り付
ける。すると、kx1個の全てのメモリ・エレメントに
対し、第4図に示すローアドレス・ジェネレータ4、及
びカラムアドレス・ジェネレータ5が与えるアドレスが
全て同一である時に、第16図に示す斜線部のように、
とびとびの画像データを一度にアクセスする事ができる
この様な構成をとる事により、あるアドレスを指定して
画像メモリ1をリードして、プロセッサ・ユニット2に
おいて処理を受けた後に、kx文旦個メモリ・エレメン
ト1aにライトする際のアドレスを変える事なく、デー
タを書き込める可能性か生じる。例えば、第16図に示
す様に、前記エリアがKXLの画素データで構成される
場合に、画像1画面中の1部分を水平方向にLの整数倍
、垂直方向にKの整数倍の変位の移動や転送等の処理を
行う場合にはリードアドレスとライトアドレスは同一で
構わない。このために、ローアドレス・ジェネレータ4
.カラムアドレス・ジェネレータ5等のアドレス制御関
係の負荷が極端に減る。
この移動や転送の処理はプロセッサ・ユニット2におい
て処理される。プロセッサ・ユニット2には、第16図
に示す破線斜線で示す様にkxf1個の画像データ、そ
れも画面全体にわたる画像データが人力され、そのデー
タの1つ1つは水平方向と垂直方向にり、にの整数倍の
変位をもっているので、プロセッサ・ユニット2内でk
x1個のデータの交換や移動転送を行い、メモリ・エレ
メントの全アドレスについて、0から順番にシーケンシ
ャルに処理を実行すれば良い。この結果、画面全体での
処理ができる。
本実施例中、kx、Q個のメモリ構成を例えば1xM、
kxt等の構成にして、画像1画面中の水平1ライン、
又は垂直1ラインを各メモリ・ユニットに割り付ける事
により、プロセッサ・ユニット2における処理が画像1
ライン分のヒストグラム演算や、−次元フーリエ変換等
の各種画像処理に適応できる事は類推できる。又、複数
画素同時アクセスの際に、画像1画面中のデータをどの
メモリ・エレメントのどの番地に割りつけるかを限定す
るものではない。
このメモリ構成の場合の適用例について説明しよう。移
動等の場合は前述したが、回転についての説明を行う。
説明を簡単にするためにkxμ分割によるkxJJ個の
メモリ・エレメント構成を仮りにに=lとして見×文と
して説明を行う。又、分割された1エリアKXLもに=
Lとして説明を行う。この場合に画像1画面を画像の中
心を中心として、+9.0°、−90°、+1800回
転する場合に、プロセサユニットでは旦x文のデータを
それぞれ交互に交換して+90°、−90°の処理では
り×文のデータを中心に対して90°ずつの位相を持つ
4つのデータのローテーションを見×旦の見2/4個に
ついて行う。
例えば、対角同志4つのデータをローテーションする。
180°の回転では、中心に対して180°ずつの位相
を持つ2つのデータのローチージョンを旦2/2個につ
いて行う。この操作により、画像1画面について大まか
な回転が行われる。これは第24図から第25図へのり
×2個のエリアからエリアへの回転になる。実際には、
同一エリア内でも同様に+90°、−90°、+180
°等の回転が行われなければならない。
このエリア内での回転操作を加えないと、画像1画面内
の回転が完全にならない。このエリア内での回転操作に
ついて説明する。この操作はメモリ・エレメントをリー
ドした時のアドレスを変換してライトする時のアドレス
にする処理で、表1に示す様なアドレス変換をする。
−以下余白一 表1 これを具体的に実施したブロック図が第18図である。
図中、選択信号は回転角に応じて変化し、セレクタ18
1,182,183,184の選択制御信号として入力
される。
通常回転角が00の時は、ローアドレス・ジェネレータ
4.カラムアドレス・ジェネレータ5の出力は、それぞ
れセレクタ181,183及びセレクタ182,184
を通って、そのままメモリ・エレメントのロー、カラム
のアドレスに供給される。また、回転角は90°、−9
0°の時には、セレクタ181,182の出力a、bは
それぞれカラムアドレス、ローアドレスが出力される。
回転角が0°、180°の時には、セレクタ181.1
82の出力a、bはそれぞれローアドレス、カラムアド
レスが出力される。さらに、回転角が90°の時と18
00の時には、セレクタ184は186の出力を選択す
る様に動作し、回転角が一90°の時と180°の時に
、セレクタ183は185の出力を選択するように動作
する。演算器185,186はエリアの1辺の長さしか
ら人力データを減算したものを出力する。この様な構成
により表1に示す処理が行われ、画像1画面全てにわた
る回転が行われる。
次にメモリ・エレメントをどのようにアクセスして全画
面全体にあたる画像データ全てを処理するか、即ち、全
メモリデータのアクセスのスキャン方法について説明す
る。
例えば、アクセスする隣接するkx、lのブロックの端
点Uの位置アドレス、つまり垂直方向で端から、0から
順に数えた時の番号なYとし、水平方向で端から、0か
ら順に数えた時の番号をXとした時の、Y、Xが定まっ
た場合のメモリのアクセスの仕方は既に説明した。それ
では、このX。
Yをどの様な順番でスキャンして、全画像を処理するか
の一実施例を説明する。
メモリ・エレメントに与えるアドレスのスキャンの一例
について説明すれば、1画面なuXMの領域に分割した
時の各エリアが、それぞれの各メモリ・エレメントに対
応するので、画像1画面をスキャンするには、各メモリ
・エレメント全てに同じアドレスを与えて、アドレスな
Oから順にインクリメントしてゆけばよい。メモリ・エ
レメントのアドレスは、カラムアドレス、ローアドレス
アドレスがあるので、カラム、ロー共にまず0とし、カ
ラムを0から最終番地までインクリメントする。その後
にローアドレスをインクリメントした後に、又、カラム
をOから最終番地までインクリメントする。これを繰り
返してメモリ・エレメントの全てをアクセスする。
ところで、画像の回転処理について、さらに詳細な実施
例を以下に示す。
原画の複数ブロックに同時にアクセスし、並列的に各ブ
ロックからのデータを入力し、これを並列に処理し出力
する場合に、画像を0°、90°、180°、270°
の回転処理をして出力する方法を説明する。
第24図は原画をブロックに分けて示したものて、25
6画素×256画素の領域を4画素×4画素より成るブ
ロックで分割した状態を示している。
第25図は原画を各ブロック単位て半時針目りに90°
回転した状態を示している。第26図は第25図の状態
の各ブロック内で画素単位で半時針目りに90°回転し
た状態を示している。
第27図及び第28図は、第24図で示す原画の各ブロ
ックで、ブロック内の各画素の位置関係を示すための図
である。第24図及び第25図では、各ブロック内にお
ける各画素の位置関係は同じである。これを第27図で
表現しているとすると、各ブロック内で各画素を半時計
方向に900回転した状態は第28図で表現される。
原画を半時計方向に90°回転した画像を得るには、第
25図で表現された原画を第26図になるようなブロッ
ク同志の関係として扱い、さらに各ブロック内の画素を
第27図から第28図で表わされるような関係に変えて
やることで実現できる。
第29図は前記一連の処理を実施する回路構成例のブロ
ック図である。1601.1602はともに第24〜2
8図に示した原画の各画素を保持している画像メモリで
あり、1601は入力側メモリ、1602は出力側メモ
リである。また、1603は並列に読み出される各画素
データに対応しである処理回路より成る演算回路である
。各ブロックに対して、1個ずつの処理回路をもち、該
処理回路には、各ブロックからのデータをそれぞれ入力
し、出力側の対応する各ブロックに処理後のデータを出
力する。1604はブロックデータ選択回路であり、第
30図にその詳細を図示されている。1605は入力端
のメモリの各ブロック内のどの位置(ブロック内アドレ
ス)にアクセスするかを示すアドレスを出力する回路で
ある。
1606は出力側のメモリの各ブロック内のどの位置(
ブロック内アドレス)にアクセスするかを示すアドレス
を出力する回路である。1607は制御回路であり、回
転角に応じて1604゜1605及び1606を制御す
るものである。
1604のブロックデータ選択回路は、ブロックの数分
(この例では64個)の第30図で示されるセレクタで
構成される。各セレクタはそれぞれ出力側メモリの1個
のブロックに対応しておす、出力側メモリのブロックの
第1行、第5列(以下(i、j)と記す)のブロックに
対応するセレクタには、入力側メモリのブロックの(i
j)、(m−j+1.i)、(m−i+1.m−j+1
)、(j、m−j+1)の4つのブロックからのデータ
が人力されている。mは対称とする人力及び出力側メモ
リがともにmブロックxmブロックであることを意味し
、本実施例はm=8で説明しである。また、1≦1≦m
、1≦j≦mである。
制御回路1607は原画を半時計方向に0°回転するの
であれば、各セレクタが(i、j)を出力する様に16
04を制御し、同様に90°であれは(J、m−j+1
)、180°であれは(m−j+1.M−j+1)、2
70°であれば(m−j+1.i)を選択するように制
御するものである。これにより、第24図から第25図
に対応する変換を実現する。
また、制御回路1607は、1605及び1606のブ
ロック内アドレスを制御する。ブロック内には、n画素
かけるn画素の画素が存在し、その中の(k、n)の位
置の画素に出力する場合には、入力端のブロックでのブ
ロック内アドレスは、原画を半時針方向に00回転して
出力するには(k、u>とし、同様に90°であれは(
u、n−に+1)、180°であれば(n−に+1.n
−交+1)、270°であれは(n−リ+1.k)とな
るように制御する。(本実施例ではn=4である。)こ
れは、1605を例えば第31図に示すようにルックア
ップテーブルで構成し、1606は例えば第32図に示
すようなカウレトアツブカウンタで構成することで実現
できる。1605及び1606は反対に第32図を16
05に、第31図を1606にするように構成してもも
ちろんよい。これにより、第25図から第26図(ある
いは、第27図から第28図)に対応する画素の変換を
実現する。
また、第29図のかわりに、第33図のように演算回路
の出力側にブロック領域選択回路を配してももちろんよ
い。この場合は、演算回路の各処理回路よりの出力が、
それぞれ4つずつブロック領域選択回路の各セレクタに
入力されることになる他は、第29図の場合と全く同様
である。
以上本実施例によれは、回転に対応する位置にある複数
の画素のデータを同時に取り込むことにより、高速な処
理が可能であり、かつ小規模の回路で回転操作を実現で
きる。
さらに後述する実施例について補足説明を加えられる。
今、kx、1個のメモリ・エレメントに与えるアドレス
を、前述のようにO番地から最終番地まで順にスキャン
する時には、全画面の17 k X 、lの面積に相当
する各エリアの画像データがkX文旦個各メモリ・エレ
メントより出力されるが、1つのメモリ・エレメントの
みに注目すれば、前記エリア1つに相当する部分の画像
が水平方向、垂直方向順次スキャンされ読み出されて来
る。これを従来画像1画面にわたり、水平方向、垂直方
向に順次スキャンされる画像の処理を適用すれば、kx
J1倍の処理速度を得る事が可能である。しかも扱う画
像エリアが小さくなるために、例えばラインバッファ等
が小さくなる。このために、プロセッサユニット2をア
レイプロセッサ等に容易に構成できる。詳細な説明に関
しては以下に説明する。
前述の説明のように、メモリの読み出しを順次スキャン
しながら、空間フィルタ処理を行うプロセッサユニット
2にkX1個のメモリ・エレメントからの画素データが
順次入力される。プロセッサユニット2は後述するが、
その構成要素であるプロセッサエレメント1つ1つが前
述のkx41個に分割された領域1つ1つに相当する長
方形のエリアの水平複数ライン分のバッファを内蔵し、
二次元の空間フィルタ処理を行われた後に、書き込み側
に順次リード側と同じスキャンで書き込まれる。以下に
、その実施例を詳細に説明する。
第34図〜第37図は説明の簡単なために、1画面を2
×2に区分し、メモリ・エレメントは2x2の4個の構
成となる。この場合に、第34図に示す様に、各区分内
を同時水平方向スキャンと垂直方向スキャンを繰り返す
ように、リード側の画像メモリを読み出すが、前述した
様に画像をメモリに割り付けしているので、この時にア
クセスするメモリアドレスは、全メモリアドレスに対し
て水平アドレスを0〜最終番地を繰り返す毎に、垂直番
地をO〜最終番地まで1つずつインクリメントする。
第36図は実施例でリード側の画像メモリを構成するメ
モリ・エレメントR−1,R−2゜R−3,R−4は第
34図に示す領域1、領域2、領域3、領域4の各々の
画像が記憶されている。
ところで、リード側の画像メモリに与えられるアドレス
は制御回路で制御されえるアドレス生成器によりメモリ
・エレメントR−t〜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図は本実施例の簡単なブロック図であり、画面全
体を3x3の領域に分割区分している点とデータ制御回
路を備えている煮貝外はほとんど前の実施例と同じなの
で、相違点のみに注目して以下に本実施例を詳述する。
また、本実施例では1画面を3×3の領域分割区分した
時の実施例であるが、mxnの領域に分割区分した場合
(以下、一般の場合と言う)についてもあわせて説明す
る(m、nは正の整数)。
第37図(a)、(b)は3×3に区分された画面全体
をどのようにスキャンするかを示した図である。
領域分割された各エリアに対し、図のように破線で示し
た拡張エリアを想定し、拡張エリアの出力を各プロセッ
サエレメントに人力する。この拡張エリアは例えば領域
(1,1)に対し、第1実施例に示すような空間フィル
タ処理後の未処理の部分、特に領域(1,1)と領域(
1,2)。
(2,1)、(2,2)の境界周辺の未処理になる部分
をカバーでき、る大きさに拡張されている。
また、任意の領域(k、U)(但し、1≦に5m、1≦
文≦n)に対しても、領域(k、n)  と領域(k、
文+1)、(k+t、旦)、  (k+1.。
す+1)の境界周辺の未処理になる部分が空間フィルタ
処理してもカバーできる様に拡張する。
例えは、プロセッサユニットで3X3の平滑化処理を行
う様な場合には、各領域(k、lで、右端では1画素分
未処理になる。又、隣接する領域(k、、u+1)では
左端で1画素未処理になるので、合計2画素分領域(k
、Q)を右方向に拡張する。同根に下方向にも2画素分
の拡張が必要になる。
この拡張された領域に対し、第37図(a)。
(b)のようにスキャンしながら各拡張された領域(1
,1)〜(3,3)はプロセッサエレメントH,t)〜
(3,3)に入力される。ここで簡単にメモリ・エレメ
ントに与えるアドレスにっいて説明すると、制御回路は
アドレス生成器に対し、水平アドレスを0から順に最大
番地までインクリメントさせる。その後に右方向に拡張
したエリアの番地までOからインクリメントする。右方
向に2画素拡張ならば、0.1とアドレスをインクリメ
ントした後に、また水平方向アドレスは0番地を出力す
る。次に垂直アドレスを0からインクリメントして前記
水平アドレスのスキャンを繰り返し、再び垂直アドレス
をインクリメントして前記水平アドレスのスキャンを繰
り返す。これを繰り返す後に、垂直アドレスが最大番地
になり、水平アドレスのスキャンが繰り返されると、次
には垂直アドレスな0にして、下方向に拡張したエリア
の番地までこれを繰り返す。この時に各拡張されたエリ
ア(1,1)〜(3,3)までの出力かプロセッサエレ
メント(1,1)〜(3,3)に対応するようにするた
めに、データ制御回路がデータを中継している。
次にデータ制御回路について説明する。データ制御回路
は第39図のようになっている。一般の場合にはmxn
個の4t01セレクタにより構成される。
セレクタのその出力がプロセッサエレメント(1,1)
に出力されるものはメモリ・エレメント(1,1)、(
4,2)、(2,1)、(2,2)がその入力となって
いて、各セレクタは制御回路からの選択制御信号により
、4つの入力から1つを出力する。ところで、セレクタ
の出力がプロセッサエレメント(k、 9−)に出力さ
れる場合の人力はメモリ・エレメント(k、u)、(k
旦+1)、(k+1.旦)、(k+1.交+1)である
。但し、任意のに、!;Lにより、領域分割m、nに対
し、k+1.、Q−+1がそれぞれm、 nを越えてし
まう場合には、特に人力領域区側には、何も入力しない
かダミーのデータを入力する。
次に制御回路から出力するセレクタの選択制御信号につ
いて説明する。制御回路が前述したようにアドレス生成
器を制御して、水平アドレスをOから最終番地にインク
リメントした後に0から拡張エリアの番地にスキャンす
る間、即ち、(k。
文+1)の領域に重なった時は、出力(k。
文+1)を選択出力する。又、垂直アドレスも0から最
終番地までインクリメントした後で、0から拡張したエ
リアの番地(例えば3×3の空間フィルタ処理では1)
までスキャンする間、即ち、(k、Q)の領域拡張が(
k+1.交)の領域に重なっている場合は、(k+1.
f)−)を選択出力する。又、この2つの場合、即ち、
拡張したエリアが(k−z、u−z)に重なっている場
合は、メモリ・エレメント(k+1.u+1>の出力を
選択する様に制御回路がプロセッサユニットとライト側
画像メモリとの間のデータ制御回路について補足説明す
れは、第39図と同様の回路構成であるが、そのセレク
タ出力がメモリ・エレメント(k、fL)  に出力さ
れる場合の人力は、(k。
旦)、(k、旦−1)、(k−1,旦)、(k−1、u
−1)となる。又、第37図で示した様な拡張領域が、
領域(k、文)に対して左、下、左下の3領域の未処理
部分まてもカバーするのではなく、領域(k、fl)内
の上、下、左、右の未処理部分のみをカバーする様に領
域拡張した場合には、このプロセッサユニットとライト
側画像メモリの間のデータ制御回路が不要となる。この
場合には、リード側の画像メモリとプロセッサユニット
間のデータ制御回路にはセレクタの出力(k。
旦)に対し、(k、  文)、(k−,1,旦−1)。
(k−1,立)、(k−1,文士1)、(k、交−1)
、(k、旦+1)、(k+1.見−1)。
(k+1. 旦)、(k+1. 見+1)か人力されれ
ば良い事は第37図(b)より容易に推察できる。さら
に補足して説明すれば、拡張領域に含まれる9領域、つ
まり9つのメモリ・エレメントのデータはセレクタで選
択されて、プロセッサユニット内のプロセッサエレメン
ト(k、u)に入力される必要があり、データ制御回路
を必要とするが、kXU個のセレクタを制御する。
次に、データ制御回路により出力されたデータはそれぞ
れプロセッサユニットを構成するプロセッサエレメント
に人力されるが、プロセッサニレメント(1,,1)〜
(3,3)は拡張した領域複数ライン分のラインバッフ
ァを持っていて、空間フィルタ処理を施した後に、デー
タ制御回路を通し、ライト側画像メモリを構成するメモ
リ・エレメント(1,1)〜(3,3)に出力される。
このデータ制御回路も前述のものと同様で、空間フィル
タ処理の結果が拡張さ°れた部分の領域の時に補正する
。この時にアドレス生成器からライト側画像メモリの各
メモリ・エレメントに与えるアドレスは同一である。し
かしながら、リード側画像メモリに与えるアドレスより
プロセッサエレメントで遅延する量の遅延が行われる。
又、この時に拡張した領域に空間フィルタ処理をかけて
も、拡張した領域の周辺部はやはり空間フィルタ処理か
行われない。例えば、3×3の平滑化等の処理の場合は
、拡張したエリアより、左、右、上、下、1画素幅ずつ
出カニリアが小さくなる。この空間フィルタ処理を行わ
れた領域のデータが出力される時のみライト側画像のメ
モリをイネーブルにする。
プロセッサエレメントでは空間フィルタ処理を行うと、
その出力する領域の上、下、左右の幅が小さくなり、(
k、 9−)の領域と同サイズに戻り、しかもそれがラ
イト側画像メモリのメモリ・エレメント(k、lに対応
するので、プロセッサユニットとライト側画像メモリと
の間のデータ制御回路が不要となる。
次に、プロセッサユニットを構成するプロセッサエレメ
ントについて詳細に説明する。
第40図は3×3の平滑化空間フィルタの一例である。
リード側メモリ・エレメントからデータ制御回路を介し
てプロセッサエレメントに人力された画像データは、ラ
ッチ2604、ラインバッファ2601に人力される。
又、ラインバッファ2601の出力はラッチ2607及
びラインバッファ2602に入力される。そしてライン
バッファ2602の出力はラッチ2610に入力される
。ラインバッファ2601.2602はカウンタ260
3により与えられたアドレス、又は図示しないが、第3
8図に示す様にアドレス生成器に与えられたアドレスが
供給される。カウンタ2603は拡張領域の水平の1画
素おきに制御回路から画像転送りロックを与えられ、ア
ドレスのカウントアツプを行い、水平1ライン毎にクリ
ア信号が制御回路より人力されてアドレスがクリアされ
る。又、ラインバッファは人出力信号が同時にライト、
リードできる。
この動作のためにラッチ2604.2607゜2610
は連続する水平3ライン分のある位置の画素データが入
力される。又、ラッチ2604〜2612はD−typ
eのフリップフロップで構成され、前記の制御回路から
の画像転送りロックにより順次ラッチ2604,260
7.2610の出力は、ラッチ2605,2608.2
611を経てラッチ2606,2609.2612へと
出力される。
この時にラッチ2604〜2612の出力は、画像1画
面中の連続する3×3の画素である。この出力は加算器
2613に入力され、全画素の合計をとられた後に、除
算器2614に入力され1/9倍されて、つまり3X3
の平滑化処理を行われてライト側メモリ・エレメント又
はライト側メモリ・エレメントにつながるデータ制御回
路に出力される。以上で本発明第2実施例について説明
したが、プロセッサユニットを構成するプロセッサユニ
ットをCPU等のプロセッサで構成できる事は言うまで
もない。
又、2つの実施例共に、1画面の周辺部、即ち、第35
図に示す灰色の部分の空間フィルタ処理ができない事は
言うまでもない。
以上述べたように、画像1画面をmxnの領域に分割し
区分したために、1つのメモリ・エレメントの受は持つ
画像領域が小さくなり、それに対応する空間フィルタ処
理プロセッサが、小領域のラインバッファを持つだけで
済むようになり、内部に複数ラインのバッファを持つL
SI化されたプロセッサ等の利用が可能となった。又、
プロセッサ等としてCPUを利用したり、内部RAMを
持つCPU等も利用できるようになった。同時にmxn
の複数の領域を同時に空間フィルタ処理を行うために、
処理の実行時間が極端に減少する。
以上本実施例によれば、mxnのメモリ・エレメントの
構成をとる事で、同時にmxn個の画素をアクセスし処
理する事ができ、高速な画像処理を行う事がでとる。
又、1画面中の連続するmxn画素を同時にアクセスで
きるようにmxn個のメモリ・エレメントに振り分ける
方式や、1画面中に散在するmxn画素を同時にアクセ
スできるようにmXn個のメモリ・エレメントに振り分
ける方式等の構成をとる事により、前者の場合は連続す
る小空間の2次元フィルタ処理、後者の場合は移動等の
処理が容易になる等、画像処理に適した処理を行うため
のメモリアクセスが可能となる。
更に、本実施例によれは、kx、Q個のメモリ・エレメ
ントの構成により、全部のメモリ・エレメントをアクセ
スする事なく、マスクする事か可能となる。つまり、空
間フィルタ等の処理を行う場合等には、処理結果が1×
1等の小さなブロックサイズになる処理か多いが、この
様に、メモリ・エレメントの構成のサイズとアクセスす
る画像のサイズが異なる処理を可能ならしめた。
[発明の効果コ 本発明により、有限個の少数のプロセッサの並列処理に
より高速の画像処理を行う画像処理装置を提供できる。
【図面の簡単な説明】
第1図は本実施例の画像処理装置の構成を示す図、 第2図は画像1画面をメモリ・エレメントの番地に対応
させる図、 第3図は4×4個のメモリ・エレメントから成るメモリ
全体を示す図、 第4図はメモリとそれに与えるアドレス生成器の図、 第5図は画像の1部分を示す図、 第6図は画像1部分のメモリ割り付けを示す図、 第7図はメモリアドレスの制御回路を示す図、第8図は
画素データ制御のブロック図、第9図(a)、(b)は
本実施例の他の画像処理装置の構成を示す図、 第10図は画像1画面を示す図、 第11図はkX、Q、個のメモリ・エレメントを示す図
、 $12図、第13図は1個のメモリ・エレメントを示す
図、 第14図、第15図はメモリ・エレメントアクセスの制
御回路を示す図、 第16図は画像1画面を示す図、 第17図はkx、Q個のメモリ・エレメントを示す図、 第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・・・画像メモリ、la、lb・・・メモリ・
エレメント、2・・・プロセッサ・ユニット、2a・・
・プロセッサ・エレメント、3・・・周辺部、4・・・
ローアドレス・ジェネレータ、5・・・カラムアドレス
・ジェネレータ、91・・・入力端画像メモリ、92・
・・プロセッサ・ユニット、93・・・出力側画像メモ
リ、94・・・制御回路、95・・・入力装置、96・
・・出力装置である。 第2図    第3図 (a)            (b)第20図

Claims (6)

    【特許請求の範囲】
  1. (1)他のメモリと独立にアドレスを指定してアクセス
    することができる複数のメモリ・エレメントから成り、
    隣接する所定領域内の画素データが同一の前記メモリ・
    エレメントに割付けられ、前記所定領域上で同一位置に
    対応する画素データが同一番地に割付けられる第1の画
    像メモリと、前記メモリ・エレメントに対応する複数の
    プロセッサ・エレメントから成り、前記画像メモリ内の
    複数画素を同時に処理するプロセッサ・ユニットと、 該プロセッサ・ユニットと対応し、他のメモリと独立に
    アドレスを指定してアクセスすることができる複数のメ
    モリ・エレメントから成り、隣接する所定領域内の画素
    データが同一の前記メモリ・エレメントに割付けられ、
    前記所定領域上で同一位置に対応する画素データが同一
    番地に割付けられる、前記プロセッサ・ユニットの処理
    結果を記憶する第2の画像メモリとを備えることを特徴
    とする画像処理装置。
  2. (2)プロセッサ・ユニットは画像の濃度変換をするこ
    とを特徴とする特許請求の範囲第1項記載の画像処理装
    置。
  3. (3)プロセッサ・ユニットは画像の色変換をすること
    を特徴とする特許請求の範囲第1項記載の画像処理装置
  4. (4)プロセッサ・ユニットは画像のマスク演算をする
    ことを特徴とする特許請求の範囲第1項記載の画像処理
    装置。
  5. (5)プロセッサ・ユニットは画像の空間フィルタ処理
    をすることを特徴とする特許請求の範囲第1項記載の画
    像処理装置。
  6. (6)他のメモリと独立にアドレスを指定してアクセス
    することができる複数のメモリ・エレメントから成り、
    隣接する所定領域内の画素データが同一の前記メモリ・
    エレメントに割付けられ、前記所定領域上で同一位置に
    対応する画素データが同一番地に割付けられる第1の画
    像メモリと、前記メモリ・エレメントに対応する複数の
    プロセッサ・エレメントから成り、前記画像メモリ内の
    複数画素を同時に処理するプロセッサ・ユニットと、 該プロセッサ・ユニットと対応し、他のメモリと独立に
    アドレスを指定してアクセスすることができる複数のメ
    モリ・エレメントから成り、隣接する所定領域内の画素
    データが同一の前記メモリ・エレメントに割付けられ、
    前記所定領域上で同一位置に対応する画素データが同一
    番地に割付けられる、前記プロセッサ・ユニットの処理
    結果を記憶する第2の画像メモリと、 該第2の画像メモリの前記メモリ・エレメントのチップ
    イネーブルを制御するイネーブル制御手段とを備えるこ
    とを特徴とする画像処理装置。
JP62033173A 1987-02-18 1987-02-18 画像処理装置 Expired - Fee Related JP2647376B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP62033173A JP2647376B2 (ja) 1987-02-18 1987-02-18 画像処理装置
DE3844921A DE3844921C2 (de) 1987-02-18 1988-02-17 Bildverarbeitungsgerät
DE3845005A DE3845005C2 (de) 1987-02-18 1988-02-17 Bildverarbeitungseinrichtung
DE3804938A DE3804938C2 (de) 1987-02-18 1988-02-17 Bildverarbeitungseinrichtung
DE3845004A DE3845004C2 (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
JP62033173A JP2647376B2 (ja) 1987-02-18 1987-02-18 画像処理装置

Publications (2)

Publication Number Publication Date
JPS63201775A true JPS63201775A (ja) 1988-08-19
JP2647376B2 JP2647376B2 (ja) 1997-08-27

Family

ID=12379134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62033173A Expired - Fee Related JP2647376B2 (ja) 1987-02-18 1987-02-18 画像処理装置

Country Status (1)

Country Link
JP (1) JP2647376B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63201776A (ja) * 1987-02-18 1988-08-19 Canon Inc 画像処理装置

Citations (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 画像処理装置
JPS6155783A (ja) * 1984-08-27 1986-03-20 Matsushita Electric Ind Co Ltd 画像処理装置
JPS63201776A (ja) * 1987-02-18 1988-08-19 Canon Inc 画像処理装置

Patent Citations (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 画像処理装置
JPS6155783A (ja) * 1984-08-27 1986-03-20 Matsushita Electric Ind Co Ltd 画像処理装置
JPS63201776A (ja) * 1987-02-18 1988-08-19 Canon Inc 画像処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63201776A (ja) * 1987-02-18 1988-08-19 Canon Inc 画像処理装置

Also Published As

Publication number Publication date
JP2647376B2 (ja) 1997-08-27

Similar Documents

Publication Publication Date Title
US6477281B2 (en) Image processing system having multiple processors for performing parallel image data processing
JPH03231383A (ja) 画像縮小/拡大方法及び装置
JPH02208690A (ja) 表示メモリとそれを備えた画像処理装置
US5293481A (en) Data parallel processing apparatus
US6968442B2 (en) Parallel computer with improved access to adjacent processor and memory elements
JP3278756B2 (ja) 画像処理方法及び装置
EP0480564B1 (en) Improvements in and relating to raster-scanned displays
JPS6116369A (ja) 画像処理装置
JP3316593B2 (ja) メモリ・スペース割当方法及び装置
JPH06223099A (ja) 削減されたメモリ空間を持つ信号処理システム
JPS63201775A (ja) 画像処理装置
JPS63201774A (ja) 画像処理装置
JPS63201757A (ja) 画像処理装置
JPS63201776A (ja) 画像処理装置
US5589850A (en) Apparatus for converting two dimensional pixel image into one-dimensional pixel array
JP4156194B2 (ja) 第1の解像度のラスタのデジタルデータを第2の解像度のデジタルデータに変換する方法
US5801670A (en) Image generation system having a host based rendering element for generating seed pixel values and mesh address values for display having a rendering mesh for generating final pixel values
JP2647378B2 (ja) 画像処理装置
JP2647379B2 (ja) 画像処理装置
JPS63201779A (ja) 画像処理装置
JPS63201781A (ja) カラー画像処理装置
JPH0522629A (ja) ビデオ信号用プロセツサ
JPS63201784A (ja) 画像処理装置
JPS63201783A (ja) 画像処理装置
JPS63201782A (ja) 画像処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees