JPS63201776A - 画像処理装置 - Google Patents

画像処理装置

Info

Publication number
JPS63201776A
JPS63201776A JP62033174A JP3317487A JPS63201776A JP S63201776 A JPS63201776 A JP S63201776A JP 62033174 A JP62033174 A JP 62033174A JP 3317487 A JP3317487 A JP 3317487A JP S63201776 A JPS63201776 A JP S63201776A
Authority
JP
Japan
Prior art keywords
memory
image
data
address
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.)
Granted
Application number
JP62033174A
Other languages
English (en)
Other versions
JP2647377B2 (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 JP62033174A priority Critical patent/JP2647377B2/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 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

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

Abstract

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

Description

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

Claims (6)

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

Publications (2)

Publication Number Publication Date
JPS63201776A true JPS63201776A (ja) 1988-08-19
JP2647377B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63201775A (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 画像処理装置
JPS63201775A (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 画像処理装置
JPS63201775A (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
JPS63201775A (ja) * 1987-02-18 1988-08-19 Canon Inc 画像処理装置

Also Published As

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

Similar Documents

Publication Publication Date Title
US6477281B2 (en) Image processing system having multiple processors for performing parallel image data processing
US5293481A (en) Data parallel processing apparatus
JP5823515B2 (ja) 圧縮されたスーパータイル画像をディスプレイすること
JPH03231383A (ja) 画像縮小/拡大方法及び装置
US5877770A (en) Texture pattern memory circuit for providing plural texel data in response to a single access operation
JPS589451B2 (ja) ラスタ型出力装置に対する座標デ−タ供給方法
JPS63201776A (ja) 画像処理装置
JP2000293432A (ja) バンク可変メモリ
JPS63201757A (ja) 画像処理装置
JPS63201774A (ja) 画像処理装置
JP2647376B2 (ja) 画像処理装置
EP0231780B1 (en) Vector pattern processing circuit for bit map display system
JPS63201779A (ja) 画像処理装置
JP2728663B2 (ja) 画像処理装置
JP2647378B2 (ja) 画像処理装置
JPS63201784A (ja) 画像処理装置
JP3906234B1 (ja) 画像用メモリ回路
JPS63201781A (ja) カラー画像処理装置
JPS63201783A (ja) 画像処理装置
JPS63201782A (ja) 画像処理装置
JP2647379B2 (ja) 画像処理装置
JP3011344B2 (ja) 画像処理装置
JP2633251B2 (ja) 画像メモリ素子
JPH07253919A (ja) 画像メモリ装置
JPH03280088A (ja) 画像表示システムおよび画像メモリへのベクタの高速描画方式

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term