JPS63201774A - 画像処理装置 - Google Patents

画像処理装置

Info

Publication number
JPS63201774A
JPS63201774A JP62033171A JP3317187A JPS63201774A JP S63201774 A JPS63201774 A JP S63201774A JP 62033171 A JP62033171 A JP 62033171A JP 3317187 A JP3317187 A JP 3317187A JP S63201774 A JPS63201774 A JP S63201774A
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
JP62033171A
Other languages
English (en)
Other versions
JP2647375B2 (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 JP62033171A priority Critical patent/JP2647375B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to DE3844921A priority patent/DE3844921C2/de
Priority to DE3804938A priority patent/DE3804938C2/de
Priority to DE3845004A priority patent/DE3845004C2/de
Priority to DE3845005A priority patent/DE3845005C2/de
Publication of JPS63201774A publication Critical patent/JPS63201774A/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 JP2647375B2 publication Critical patent/JP2647375B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は画像処理装置、特に画像メモリの制御技術によ
り画像データの高速処理及び並列処理を行う画像処理装
置に関するものである。
[従来の技術] 一般に高速に画像を処理する場合に、コンピュータによ
る処理としてはソフトウェアで行う方式がとられるが、
画像データが膨大になるにつれて高速化が必要となって
くる。高速化の手法としては2通りの方法があり、1つ
はパイプライン方式と呼ばれる逐次処理型のハードウェ
アで行う方式、もう一つは複数個のプロセッサを置く並
列処理型と呼ばれるものである。前者は画像データの高
速処理に伴って処理のクロック周波数が高くなり限界か
ある。一方後者は並列に置くプロセッサの数を増すこと
により、高速化をいくらでも高める事ができる。極端に
言えは、画素の数の分だけプロセッサを置く事により最
大のスピードを得る事が可能である事から、現在注目さ
れている技術の一つである。
ところで、この時に各画素間での通信処理が重要となり
、相互通信を行いつつ処理を進めていく必要がある。か
かる並列処理方式に於ては、プロセッサを各画素の数だ
け持つ事は高解像データを取り扱う場合には不可能とな
る。例えば、A4を16画素/mm (p、e I )
てよんだ画像を取り扱う場合、画素数は約16M画素(
pixels)となり、これだけのプロセッサを同時に
持つ事は不可能と言える。
[発明が解決しようとする問題点コ 本発明は、有限個の少数のプロセッサの並列処埋により
高速の画像処理を行う画像処理装置を提供する。
[問題点を解決するための手段コ この問題点を解決するための一手段として、本発明の画
像処理装置は、他のメモリと独立にアドレスを指定して
アクセスすることができる複数のメモリ・エレメントか
ら成り、隣接する所定領域内の画素データが同一番地に
割付けられ、前記所定領域上で同一位置に対応する画素
データが同一の前記メモリ・エレメントに割付けられる
画像メモリと、 前記メモリ・エレメントに対応する複数のプロセッサ・
エレメントから成り、前記画像メモリ内の複数画素を同
時に処理するプロセッサ・ユニットとを備える。
又、他のメモリと独立にアドレスを指定してアクセスす
ることができる複数のメモリ・エレメントから成り、隣
接する所定領域内の画素データが同一番地に割付けられ
、前記所定領域上で同一位置に対応する画素データが同
一の前記メモリ・エレメントに割付けられる画像メモリ
と、前記メモリ・エレメントに対応する複数のプロセッ
サ・エレメントから成り、前記画像メモリ内の複数画素
を同時に処理するプロセッサ・ユニットと、 前記所定領域内の画素データを縦横にローテーションす
るローテーション手段とを備える。
又、他のメモリと独立にアドレスを指定してアクセスす
ることができる複数のメモリ・エレメントから成り、隣
接する所定領域内の画素データが同一番地に割付けられ
、前記所定領域上で同一位置に対応する画素データが同
一の前記メモリ・エレメントに割付けられる画像メモリ
と、前記メモリ・エレメントに対応する複数のプロセッ
サ・エレメントから成り、前記画像メモリ内の複数画素
を同時に処理するプロセッサ・ユニットと、 前記メモリ・エレメントのチップイネーブルを制御する
イネーブル制御手段とを備える。
[作用] かかる構成において、画像メモリの隣接する所定領域内
の画素データをプロセッサ・ユニットで同時に処理する
さらに、ローテーション手段により所定領域の位置を自
在にする。
さらに、イネーブル制御手段により所定領域の大きさを
自在に変化する。
[実施例] 以下、本発明の一実施例を説明する。
本実施例の画像処理装置の構成は、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
536 )個のブロックに分割される。今、これを第3
図の如く4×4画素単位で再編成し、4×4画素が64
に個あると想定する(各画素当り8ビツト長のデータを
有す)。従ってメモリのアドレス空間は、4x4x64
にの三次元アドレス指定となる。
4×4内の1つの64に画素を1つのメモリチップが受
は持つものとすると、64にのアドレス空間で各アドレ
スが8ビツトの深さのメモリ・チップが必要となる。こ
れは512 Kビット(=64にバイト)の容量のメモ
リ・チップが必要であるが、本実施例では256にビッ
トのダイナミックRAM (D−RAM)2個を組み合
わせて用い1す る。即ち、256にビットD−RAMのうち64に×4
ビット構成のものを2個用いて、64KX8ビツトとし
て用いる。かかる2個のメモリ・チップを今後、メモリ
・エレメント1aと呼ぶ。
4×4のマトリックスに対応して、上記画像メモリ1は
16個のメモリ・エレメント1aから構成される。第4
図はかかる4X4のメモリ・エレメント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文
画素のブロックで分割し、第11図の様にkXf1個の
メモリ・エレメント1aに対応させる。又、kx、1画
素のブロックは端から(0,O)、(0,1)、(0,
2)。
(0,3)・・・と番号付けされ、第12図のようなk
x!;L個のメモリ・エレメント1aからなるメモリ・
ユニット1に対応する。第13図はメモリ・ユニット1
を二次元的に表わしたものである。又、アクセスするメ
モリサイズはkx、II画素のブロックサイズの単位な
ので、任意の位置のkX1画素のブロックRをアクセス
した場合でも、kXu個のメモリ・エレメント1aすべ
てがアクセスされ、しかも1つのメモリ・エレメント1
aにつき、各1個のアドレスのアクセスとなる。
この様に画像中の任意位置の隣接するkx旦個の複数画
素の画像データを一度にアクセスし、リードした後にプ
ロセッサ・ユニット2で処理を行う。プロセッサ・ユニ
ット2で処理を行われた画像データは、再びに’ ×I
’画素のブロックサイズで、しかも任意の位置をアクセ
スしてライトできる。ここでは、k’ =に、l’ =
uとして今後説明を行う。
前述のに’ XJI’画素のみのメモリのアクセスにつ
いて補足説明すると、プロセッサ・ユニット2における
処理が空間フィルタ処理等の場合には、読み出し側のア
クセスするブロックサイズkXuよりも書ぎ込み側のア
クセスするブロックサイズが小さくなることがある。一
般的には書き込み側のブロックサイズに’xJlj’ 
は1×1になる処理が多い。又、プロセッサ・ユニット
2における処理が画像の縮小処理の場合にも、リード側
のアクセスするブロックサイズkXuよりもライト側の
アクセスするブロックサイズが小さくなる。
一般的にライト側のブロックサイズに’xJl’は縦横
の縮小率を、α、βとした時にに′≧αに、交′≧β文
を満たす最小の整数かに′1文′となる。仮に読み出し
と書き込みのメモリが同一、又は同一のkxJJのメモ
リ構成の時に、前述の2例のような処理を行う場合は、
書き込み側のメモリ・ユニット1の構成サイズkXJ1
よりも小さなサイズに′x文′に書き込みを行わなけれ
ばならない。この場合にはメモリ・エレメント1aのk
x、Q個のすべてにアクセスをかけないで、書き込みに
該当しないメモリ・エレメント1aをマスクして、アク
セスしない様にしなければならない。しかしながら、k
 x又個のメモリ・エレメント1aで構成される画像メ
モリ1は1度にアクセスして読み出しできるデータは隣
接する画像データの最大kx文旦個あるが、それより小
さいサイズの隣接するに’ Xi’の画像データも前記
マスクを行う事により自由にアクセスできる。マスクし
てに’xJlj’個のみを同時にアクセスする事は、メ
モリ・エレメント1aのチップのイネーブルを操作する
事で容易に可能となる。
次に順を追って、任意の位置の所定画素のメモリアクセ
スの実施例について、メ干り・ユニット構成が4X4の
場合とkx、Qの場合とについて説明し、前記マスクす
るためのチップイネーブルの制御についても説明する。
まずブロックサイズkxJlを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、D
C,Ddには(N、N+1)、メモリ・エレメントAd
、Bd、Cdには(N+1.M)残りのメモリ・エレメ
ントには(N+1.N+1)が与えられる。これは前述
したローアドレス・ジェネレータ4.カラムアドレス・
ジェネレータ5により発生される。又、4×4のブロッ
クSの端点Uの位置が定まれば、その水平方向と垂直方
向の位置アドレスを4で割り、その余りの数n。
mにより、メ干り・エレメントAa〜Ddまでに割りつ
けるローアドレス・カラムアドレスは一意的に決まる事
は明らかである。仮に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の情報をルックアップテーブル等に人
力し、メモリ・エレメントAaNDdに与えるアドレス
を出力するような構成も考えられる。この時出力はM、
N、N+1.N+1のいずれかである事は、前述の説明
より明らかである。
又、この性質を利用して、第7図のように、ルックアッ
プテーブルにnl又は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から
読み出された画像データそれぞれが必ずしも同じメモリ
・エレメントA、a〜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 (m=o、1..2.3)X  =
4M+m (m=o、1,2.3)Y’ =4P+P 
(P=0.1,2.3)X’ =4Q+(1(q=0.
1.2.3)と表わせる時に、 p−n=4y’+y  (y’=−1,0y=o、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、C
d’、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   −=基本配列■基本配列
■はメモリ・エレメントAaNDdの読み出しデータを
順に左から右、上から下と並べて2次元配列しただけの
もので、行列■は、メモリ・エレメントA a −D 
dに書き込むべきデータを順に並べて2次元配列したも
のに相当する。即ち、例としてメモリ・エレメントAa
から読み出されたデータは、配列■を見ると、4行目3
列目に書き込まれる。これを基本配列■を参照すると4
行目3列目にDCとなっているので、メモリ・ ゛エレ
メントDcにメモリ・エレメントAaの読み出しデータ
が書かれれば良い事がわかる。
補足説明すると、第5図上のメモリ・エレメントAaの
読み出しデータがI) cの位置に書ぎ込まれれば良い
事は容易に気かつくが、このAaからDCの位置への変
位は、位置アドレスUから■への変位に等しい。又、メ
モリ・エレメント1aの構成が4×4なので、水平方向
、垂直方向の位置を共に4で割った余りが、メモリ・エ
レメントの変位x、yと考えて良い。例えばU、Vの変
位が4の倍数であれは、変位x、yはOになり、あるメ
モリ・エレメントから読み出したデータは、処理が行な
われた後に、同じメモリ・エレメントに書き込まれるわ
けである。
以上の処理のハードウェア化について簡単に説明する。
第8図は、4×4の16個のメモリ・エレメント1aよ
りなるメモリ・エレメント10から同時に読み出したデ
ータが、プロセッサ・ユニット2で処理され、そのデー
タをそれぞれ4要素ずつX変位ローデータ81において
Xの数だけローテーションを行う。その後にy変位ロー
データ82によってyの数だけローテーションを行い、
それぞれをAa〜Ad、Ba 〜Bd、Ca 〜Cd、
Da NDdのメモリ・エレメント1aに書き込む構成
になっている。
尚、y変位ローデータ82は、人力がそれぞれ4要素の
データなので、X変位ローデータ81と全く同じもの4
つで構成できる事は言うまでもない。又、前記ローデー
タは、メモリデータの深みと同じビット数の深みを持っ
ても良いし、1ビツトの深みのものをメモリデータの深
みと同じ数たけ使用しても良い事も言うまでもない。又
、ローデータはシフトレジスタやバレルシフタ等を使用
できる事は容易に推察できる。
さらに−膜化して考えてみると、メモリブロックをkx
Jlのサイズにした場合には、メモリ・エユニット10
の構成もkxJlになる。この場合に、任意の位置にあ
るkXUのメモリブロックSをプロセッサ・ユニット2
で処理した後に、任意の位置のkx、Q、のメモリブロ
ックTに転送する場合に、 Y=kN+n (m=o、1. ・・・、に−1)X=
JIM+m  (m=o、  1.−、Q−1)   
 ’  、−(N、M、P、Qは0,1,2.3・・・
)Y ′=kP+p  (p=o、  1.  ・・・
、に−1)x ′=父Q+q  (q=o、  1. 
 ・・・、q−1)但し、Sの端点の位置アドレスを 
(y、x)、Tの端点の位置アドレスを(Y’、X’)
・・・(10) なるn、m、P、 qを求め、 p−n=Ky’+y (y ’ −1,o、 y −0,1,2,3,・・・
、に−1)q−m=交x’+x (x′−−1,O,x −0,1,’2,3.・・・1
文−1)・・・(11) なx、yを用いて、例えば第8図のようなX変位置−デ
ータ81、y変位ローデータ82を使用して処理を行え
ば良い。この場合、X変位ローデータ81は、文例の入
力を持ち、0−1−1までのシフトができる。y変位ロ
ーデータ82は、k個の入力を持ち、0〜に−1までの
シフトができる。しかも、y変位ローデータ82のに個
の人力はそれぞれ2個の要素をもつため、人力1要素の
ローデータが2個の構成となる。
第10図に示すように前述のに′xJJ′のブロックの
同時アクセスのためのメモリ・エレメントのアクセス制
御について説明する。
k’xJJ′のブロックの端点iの位置アドレスを(f
、g)と仮定する。前述の式(1o)に従いアクセスす
るメモリをリードする場合は、Y。
Xにflgを代入し、アクセスするメモリにライトする
場合は、Y′、X′に13gを代入する。
その結果を式(11)に代入してy、xを求めると、第
7図、第8図に示した実施例をkx見に一般化したもの
にもそのまま適用できる。
又、この際に、kxJlのメモリ・エレメントのうち、
k’x、9′のメモリ・エレメントのみをチップイネー
ブルにする。このイネーブルにするチップはに′x、Q
′の端点iの(f、g)の位置アドレスさえ決まれば、
式(10)よりn、m、又はp、qが一意的に決まり、
アクセスすべきに’x文′個のメモリ・エレメントも一
意的に決まる。
ところで、今まで・説明した様にkx、Qのメモリ・エ
レメントから成るメモリ構成において、リードアクセス
側をに′Xi′のブロックを同時にアクセスし、ライト
側をk”x旦”のブロックを同時にアクセスする場合も
(但し、0≦k ”≦に、O≦旦°“≦旦)考えられる
が、これも今までの説明と同様である。この場合のメモ
リ・エレメントに与えるチップイネーブルの制御の実施
例を第14図に示す。
k′XJ1’、k”’xJJ”のブロックの端点の位置
アドレスを(y、x)、(Y’、X′)とする時に、式
(10)よりn、m及びp、qが求まる。このn、m及
びP、qはセレクタのデータ入力に人力される。さらに
セレクタの選択制御信号として、メモリアクセスのリー
ドライト信号R/Wが人力され、リードの時にn、mを
選択出力し、ライトの時にp、qを選択出力する。
同様にブロックサイズ、k′、u′及びに°°。
見°′もセレクタに人力され、R/W信号が選択制御信
号として人力されている。リード時には、k=、u′を
選択出力し、ライト時にはに°°。
見°゛が選択出力される。ところで、アクセスするメモ
リ・エレメントはリード側のn、m、k”。
交′、又はライト側のに°°、見”、p、qが定まれば
一意的に決まる事は明白なので、セレクタから出力され
たこれらのデータはルックアップテーブルに人力し、そ
れぞれkxfLのメモリ・エレメントのうちアクセスす
るメモリを制御する信号を出力する。
ところでプロセッサ・ユニット2で処理する前後の画像
メモリ1が別のメモリで、しかもそのメモリ構成がそれ
ぞれkx、Q、KXLの場合には、第15図の様に、2
つのルックアップテーブルを用いれば良いことは容易に
推察できる。この場合ルックアップテーブル151とル
ックアップテーブル152は別の内容のテーブルとなる
又、k=に、A=Lとなっても全く問題はない。以上前
述したような構成をすれば、アクセスするメモリ・エレ
メントをkX文旦個メモリ・エレメント全部としないで
、一部マスクする事が可能である。そしてkXiのメモ
リ・エレメントの構成は最大必要とするkxJlの大き
さに設定すれば良い。
次にメモリ・エレメントをどのようにアクセスして前画
面全体にあたる画像データすべてを処理するか、即ち全
メモリデータのアクセスのスキャン方法について説明す
る。
例えばアクセスする隣接するkx、Qのブロックの端点
Uの位置アドレス、つまり垂直方向で端から、0から順
に数えた時の番号なYとし、水平方向で端から、0から
順に数えた時の番号をXとした時のY、Xが定まった場
合のメモリのアクセスの仕方は、すでに説明した。それ
では、このX。
Yをどの様な順番でスキャンして全画像を処理するかの
実施例を説明する。
(第1例) kXJlのメモリ・エレメントをアクセスするための画
像データの位置アドレスY、Xをそれぞれに、Uの整数
倍ずつ増減させてスキャンする方法で、例えばはじめに
Y、Xを0に設定し、Xを順次文ずつ増やす。水平方向
の終点までXを増やしたら、次はXをOに設定し直し、
Yをに増やしてまたXを文ずつ増やす。これをシーケン
シャルに繰り退して全画面又は画面の一部をスキャンす
る。仮りにこれを第1シーケンシヤルスキヤン方式と名
付ける。
(第2例) 又、X、Yの増減を前述のようにシーケンシャルに行わ
ないで、画像全画面のあちらこちらの連続するkxuの
ブロックをとびとびにアクセスし、しかもそのアクセス
する時のX、Yかに、flの整数倍の変位である時に、
仮りにこれを第1ランダムスキヤン方式と名付ける。
(第3例) kxUのメモリ・エレメントをアクセスするための画像
データの位置アドレスY、Xをそれぞれ整数ずつ増減さ
せてスキャンする方法で、例えばはじめにY、XをOに
設定し、Xを順次1ずつ増やす。水平方向の終点までX
を増やしたら、次にXを再び0に設定し直し、Yを1増
やしてからXを1ずつ増やしていく。これをシーケンシ
ャルに繰り返して全画面又は画面の一部をスキャンする
。これを仮に第2シーケンシヤルスキヤン方式と名付け
る。この場合、同じメモリデータを何度もアクセスされ
る。
(第4例) 又、X、Yの増減を前述のようにシーケンシャルに行わ
ないで、画像全画面のあちらこちらのkx文のブロック
をとびとびにアクセスし、全X、Yについてこれを実行
する。又は画面全画面の内、連続する一部分全部のX、
Yについて実行。それがランダムである時に、これを第
2ランダムスキヤン方式と仮りに名付ける。
(第5例) kXAのメモリ・エレメントを有するメモリ構成におい
て、アクセスするメモリブロックかに′X文′の時に、
(1≦に′≦に、1≦見′≦旦)位置アドレスY、Xを
に’、U′の整数倍ずつ増減させてこれをシーケンシャ
ルに繰り返して全画面をスキャンする方式を第1シーケ
ンシヤルスキヤン方式と区別して、ブロックワイズ・シ
ーケンシャルスキャン方式と名付ける。
(第6例) 又、X、Yの増減を(第5例)のようにシーケンシャル
に行わないで、画像全画面のあちらこちらの連続するに
′XA′のブロックをとびとびにアクセスし、そのY、
Xがk ′xfi ′の整数倍の変位である時に、仮り
にこれをブロックワイズ・ランダムスキャン方式と名付
ける。
(第7例) メモリ・エレメントのkXlのメモリ構成に関係なく、
シーケンシャルにスキャンするもの、例えば任意の数d
′、f’おきにX、Yを変化させてスキャンするものを
、単にシーケンシャルスキャン方式と呼ぶ。
(第8例) (第7例)でランダムにスキャンする場合や(第4例)
の場合でも、全てのX、Yの組み合わせについてメモリ
アクセスを行わない場合に、単にランダムスキャン方式
と呼ぶ事にする。
以上のように数々のスキャン方式が考えられるが、これ
とは別に、メモリアクセスには、リード側のメモリアク
セスかあり、このリード側のメモリアクセスのスキャン
方式とライト側のメモリアクセスのスキャン方式が一致
するとは限らない。
又、このスキャン方法はリード側が決まれば、ライト側
のアクセスするX′、Y′はプロセッサ・ユニット2の
処理内容で決まる。又、ライト側のスキャン方法を先に
決めてもよい。この場合はリート側のスキャンは処理内
容で決まる。
又、リード側とライト側でのアクセスするブロックサイ
ズk”、u′が異なる事もあれば、メモリ・エレメント
構成kxJ1のサイズが異なる事もある。
[濃度変換、色補正、マスク演算] 濃度変換、色補正等における処理の場合に、リード側・
ライト側共に、第1シーケンシヤルスキヤン方式を採用
する方式により行ったものをさらに詳細に説明する。
色変換とは、画像データがある特定の色情報をもつ場合
、その色情報を予め定められた特定の他の色情報に変換
する処理である。
マスク演算とは、第20図に示されるように画像データ
の特定の一部のみをそのまま出力し、それ以外は下地に
対応する画像データ(例えば、白地)を出力する。下地
には白地の他に灰色や無色の地のデータ等を出力するよ
うにしてもよい。
第20図(a)はマスクすべき領域を示すデータであり
、第20図(b)はマスクされる画像であり、第20図
(C)はその出力結果である。
濃度変換は、例えばプロセサ・ユニット内の各プロセサ
・エレメントが第21図に示されるフローチャートに従
って動作すればよい。ここで、入力値Vlnに対応する
出力値■。utは、例えば、VOut=1/64・Vl
n’・・・(12)等で規定されており、該4X4個の
8ビツト長のデータの各々に対して、1個のプロセサ・
エレメントを対応させ、計16個のプロセサ・エレメン
トよりなるプロセサユニットに、第2図に於ける(A、
B)のアドレスに相当する4×4個の8ビツト長のデー
タが人力される。該各プロセサ・エレメントは各々並列
に動作し出力データを出力する。このため、一度にアク
セスされた4X4個の8ビツト長のデータが一度にプロ
セサユニットで処理され、一度に出力されるため高速な
画像処理が可能となる。
それぞれのプロセサ・エレメントは、例えば濃度変換、
色変換、マスク演算等の処理を行う。
濃度変換とは、例えば第19図で示されるような入力濃
度−出力濃度対応に従って人力値を対応する出力値に変
えて出力するものである。これにより、画像のコントラ
ストを強調したり、明暗の調子を変化させることができ
る。(12)式に従った演算を実行する。
色変換とは、例えば、プロセサユニット内の各プロセサ
・エレメントが第22図に示されるフローチャートに従
って動作すればよい。ここで色情報は、例えばR,G、
Bの組合わせで表現されるもので、前記画像メモリをR
用、G用、B用にそれぞれもち、各8ビツトのデータ長
で保持されているものである。この場合、対応するR用
、G用、B用の画像メモリセルには、1個の同一のブロ
セサ・エレメントか対応している。このうちの特定のR
,G、Bの値の組み合わせを指定色として予め登録して
おき、変更後の色情報も同様にあるR、G、Bの値の組
み合わせとして予め登録しておくものである。指定色は
複数あっても、もちろんよい。
マスク演算とは、例えばプロセサユニット内の各プロセ
サ・エレメントが第23図に示されるフローチャートに
従って動作すればよい。ここで、マスク情報とは、前記
画像メモリの各セルにそれぞれビット対応するビットマ
ツプメモリで構成されるメモリ内に保持されるビットデ
ータであり、マスク内であるか否かを示すデータである
。この場合もマスクメモリと画像メモリの対応するセル
に1個の同一のプロセサ・エレメントが対応するもので
ある。
前記プロセサユニット内のプロセサ・エレメント相互間
での通信を行い得るようにしておけは、プロセサユニッ
ト内の空間フィルタリング処理。
認識、圧縮、復号等の処理を実行させることも可能であ
る。
[第2の実施例] 同時にkxJ1個のデータをアクセスするためのkXU
個のメモリ・エレメントへの画像データの割り付けの第
2の実施例について説明する。
第16図は画像1画面の上方をデータに置き換えた状態
を示す図で、これを水平方向父等分に分割し、垂直方向
に等分に分割する。この時にkXJJに分割されたエリ
アを説明のために、(0,0)、 (0,1)、・・・
(O,!;L)、・・・、(k、旦)とすると、この1
つ1つのエリアを第17図に示すように1つ1つのメモ
リ・エレメントに割り付ける。割り付は方は、第16図
に示す破線斜線の部分を、各々のメモリ・エレメントの
0番地に割り付け、次に隣りの画像データを各々のメモ
リ・エレメントの1番地に割り付け、同様にエリア内の
1ラインすべての割り付けが終わったら、2ライン目を
同様に左から右へと割り付け、すべての画像データを割
り付ける。すると、kxfL個の全てのメモリ・エレメ
ントに対し、第4図に示すローアドレス・ジェネレータ
4、及びカラムアドレス・ジェネレータ5が与えるアド
レスが全て同一である時に、第16図に示す斜線部のよ
うに、とびとびの画像データを一度にアクセスする事が
できる。
この様な構成をとる事により、あるアドレスを指定して
画像メモリ1をリードして、プロセッサ・ユニット2に
おいて処理を受けた後に、kxA個のメモリ・エレメン
ト1aにライトする際のアドレスを変える事なく、デー
タを書き込める可能性が生じる。例えば、第16図に示
す様に、前記エリアがKXL(1)画素データで構成さ
れる場合に、画像1画面中の1部分を水平方向にLの整
数倍、垂直方向にKの整数倍の変位の移動や転送等の処
理を行う場合にはリードアドレスとライトアドレスは同
一で構わない。このために、ローアドレス・ジェネレー
タ4.カラムアドレス・ジェネレータ5等のアドレス制
御関係の負荷が極端に減る。
この移動や転送の処理はプロセッサ・ユニット2におい
て処理される。プロセッサ・ユニット2には、第16図
に示す破線斜線で示す様にkx文旦個画像データ、それ
も画面全体にわたる画像データが入力され、そのデータ
の1つ1つは水平方向と垂直方向にり、にの整数倍の変
位をもっているので、プロセッサ・ユニット2内でkx
旦個のデータの交換や移動転送を行い、メモリ・エレメ
ントの全アドレスについて、0から順番にシーケンシャ
ルに処理を実行すれば良い。この結果、画面全体での処
理ができる。
本実施例中、kXM個のメモリ構成を例えばlxu、k
xl等の構成にして、画像1画面中の水平1ライン、又
は垂直1ラインを各メモリ・ユニットに割り付ける事に
より、プロセッサ・ユニット2における処理が画像1ラ
イン分のヒストグラム演算や、−次元フーリエ変換等の
各種画像処理に適応できる事は類推できる。又、複数画
素同時アクセスの際に、画像1画面中のデータをどのメ
モリ・エレメントのどの番地に割りつけるかを限定する
ものではない。
このメモリ構成の場合の適用例について説明しよう。移
動等の場合は前述したが、回転についての説明を行う。
説明を簡単にするためにkx、Q分割によるkx文旦個
メモリ・エレメント構成を仮りにに=−Qとして旦×文
として説明を行う。又、分割された1エリアKxLもに
=Lとして説明を行う。この場合に画像1画面を画像の
中心を中心として、+90°、−90°、+180°回
転する場合に、プロセサユニットでは旦×旦のデータを
それぞれ交互に交換して+90°、−90°の処理では
文×旦のデータを中心に対して900ずつの位相を持つ
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
を通って、そのままメモリ・エレメントのロー、カラム
のアドレスに供給される。また、回転角は90°、−9
0°の時には、セレクタ181,182の出力a、bは
それぞれカラムアドレス、ローアドレスが出力される。
回転角が00.180°の時には、セレクタ181.1
82の出力a、bはそれぞれローアトレス、カラムアド
レスが出力される。さらに、回転角が90°の時と18
0°の時には、セレクタ184は186の出力を選択す
る様に動作し、回転角が一90°の時と180°の時に
、セレクタ183は185の出力を選択するように動作
する。演算器185,186はエリアの1辺の長さしか
ら人力データを減算したものを出力する。この様な構成
により表1に示す処理が行われ、画像1画面全てにわた
る回転が行われる。
次にメモリ・エレメントをどのようにアクセスして全画
面全体にあたる画像データ全てを処理するか、即ち、全
メモリデータのアクセスのスキャン方法について説明す
る。
例えは、アクセスする隣接するkx、Qのブロックの端
点Uの位置アドレス、つまり垂直方向で端から、0から
順に数えた時の番号をYとし、水平方向で端から、0か
ら順に数えた時の番号をXとした時の、Y、Xか定まっ
た場合のメモリのアクセスの仕方は既に説明した。それ
ては、このX。
Yをどの様な順番でスキャンして、全画像を処理するか
の一実施例を説明する。
メモリ・エレメントに与えるアドレスのスキャンの一例
について説明すれば、1画面をuxlの領域に分割した
時の各エリアが、それぞれの各メモリ・エレメントに対
応するので、画像1画面をスキャンするには、各メモリ
・エレメント全てに同じアドレスを与えて、アドレスを
Oから順にインクリメントしてゆけはよい。メモリ・エ
レメントのアドレスは、カラムアドレス、ローアドレス
アドレスがあるので、カラム、ロー共にまず0とし、カ
ラムを0から最終番地までインクリメントする。その後
にローアドレスをインクリメントした後に、又、カラム
を0から最終番地までインクリメントする。これを繰り
返してメモリ・エレメントの全てをアクセスする。
ところて、画像の回転処理について、さらに詳細な実施
例を以下に示す。
原画の複数ブロックに同時にアクセスし、並列的に各ブ
ロックからのデータを人力し、これを並列に処理し出力
する場合に、画像を0°、90°、180°、270°
の回転処理をして出力する方法を説明する。
第24図は原画をブロックに分けて示したもので、25
6画素×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〜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ブロック×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図から第2
5図に対応する変換を実現する。
また、制御回路1607は、1605及び1606のブ
ロック内アドレスを制御する。ブロック内には、n画素
かけるn画素の画素が存在し、その中の(k、Jl)の
位置の画素に出力する場合には、入力端のブロックでの
ブロック内アドレスは、原画を半時計方向に06回転し
て出力するには(k、n)とし、同様に90°であれば
1、、n−に+1)、180°であれば(n−に+1.
n−党+1)’、270°であれば(n一旦+1.k)
となるように制御する。(本実施例ではn=4である。
)これは、1605を例えは第31図に示すようにルッ
クアップテーブルで構成し、1606は例えば第32図
に示すようなカウントアツプカウンタで構成することで
実現できる。1605及び1606は反対に第32図を
1605に、第31図を1606にするように構成して
ももちろんよい。これにより、第25図から第26図(
あるいは、第27図から第28図)に対応する画素の変
換を実現する。
また、第29図のかわりに、第33図のように演算回路
の出力側にブロック領域選択回路を配してももちろんよ
い。この場合は、演算回路の各処理回路よりの出力が、
それぞれ4つずつブロック領域選択回路の各セレクタに
入力されることになる他は、第29図の場合と全く同様
である。
以上本実施例によれば、回転に対応する位置にある複数
の画素のデータを同時に取り込むことにより、高速な処
理が可能であり、かつ小規模の回路で回転操作を実現で
きる。
さらに後述する実施例について補足説明を加えられる。
今、kxJJ個のメモリ・エレメントに与えるアドレス
を、前述のように0番地から最終番地まで順にスキャン
する時には、全画面の1 / k x lの面積に相当
する各エリアの画像データがkXJ1個の各メモリ・エ
レメントより出力されるが、1つのメモリ・エレメント
のみに注目すれば、前記エリア1つに相当する部分の画
像が水平方向、垂直方向順次スキャンされ読み出されて
来る。これを従来画像1画面にわたり、水平方向、垂直
方向に順次スキャンされる画像の処理を適用すれば、k
x41倍の処理速度を得る事が可能である。しかも扱う
画像エリアが小さくなるために、例えばラインバッファ
等が小さくなる。このために、プロに セッサユニット2をアレイプロセッサ等に容易に構成で
きる。詳細な説明に関しては以下に説明する。
前述の説明のように、メモリの読み出しを順次スキャン
しながら、空間フィルタ処理を行うプロセッサユニット
2にkX1個のメモリ・エレメントからの画素データが
順次入力される。プロセッサユニット2は後述するが、
その構成要素であるプロセッサエレメント1つ1つが前
述のkXJ1個に分割された領域1つ1つに相当する長
方形のエリアの水平複数ライン分のバッファを内蔵し、
二次元の空間フィルタ処理を行われた後に、書き込み側
に順次リード側と同じスキャンで書き込まれる。以下に
、その実施例を詳細に説明する。
第34図〜第37図は説明の簡単なために、1画面を2
×2に区分し、メモリ・エレメントは2x2の4個の構
成となる。この場合に、第34図に示す様に、各区分内
を同時水平方向スキャンと垂直方向スキャンを繰り返す
ように、リード側の画像メモリを読み出すが、前述した
様に画像をメモリに割り付けしているので、この時にア
クセスするメモリアドレスは、全メモリアドレスに対し
て水平アドレスをO〜最終番地を繰り返す毎に、垂直番
地を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の領域分割区分した
時の実施例であるが、mxnの領域に分割区分した場合
(以下、一般の場合と言う)についてもあわせて説明す
る(m、nは正の整数)。
第37図(a)、(b)は3×3に区分された画面全体
をどのようにスキャンするかを示した図である。
領域分割された各エリアに対し、図のように破線で示し
た拡張エリアを想定し、拡張エリアの出力を各プロセッ
サエレメントに人力する。この拡張エリアは例えば領域
(1,1)に対し、第1実施例に示すような空間フィル
タ処理後の未処理の部分、特に領域(1,1)と領域(
1,2)。
(2,1)、(2,2)の境界周辺の未処理になる部分
をカバーできる大きさに拡張されている。
また、任意の領域(k、Q)(但し、1≦に≦m、1≦
旦≦n)に対しても、領域(k、l>と領域(k、す+
1)、 (k+1.文)、 (k+1゜旦+1)の境界
周辺の未処理になる部分が空間フィルタ処理してもカバ
ーで参る様に拡張する。
例えば、プロセッサユニットで3×3の平滑化処理を行
う様な場合には、各領域(k、u)で、右端では1画素
分未処理になる。又、隣接する領域(k、l+1)では
左端で1画素未処理になるので、合計2画素分領域(k
、fl>を右方向に拡張する。同様に下方向にも2画素
分の拡張が必要になる。
この拡張された領域に対し、第37図(a)。
(b)のようにスキャンしながら各拡張された領域(1
,1)〜(3,3)はプロセッサニレメン1−(1,1
)〜(3,3)に入力される。ここで簡単にメモリ・エ
レメントに与えるアドレスについて説明すると、制御回
路はアドレス生成器に対し、水平アドレスを0から順に
最大番地までインクリメントさせる。その後に右方向に
拡張したエリアの番地までOからインクリメントする。
右方向に2画素拡張ならば、0.1とアドレスをインク
リメントした後に、また水平方向アドレスは0番地を出
力する。次に垂直アドレスな0からインクリメントして
前記水平アドレスのスキャンを繰り返し、再び垂直アド
レスをインクリメントして前記水平アドレスのスキャン
を繰り返す。これを繰り返す後に、垂直アドレスが最大
番地になり、水平アドレスのスキャンが繰り返されると
、次には垂直アドレスを0にして、下方向に拡張したエ
リアの番地までこれを繰り返す。この時に各拡張された
エリア(1,1)〜(3,3)までの出力がプロセッサ
エレメント(1,1)〜(3,3)に対応するようにす
るために、データ制御回路がデータを中継している。
次にデータ制御回路について説明する。データ制御回路
は第39図のようになっている。一般の場合にはmxn
個の4tolセレクタにより構成される。
セレクタのその出力がプロセッサエレメント(1,1)
に出力されるものはメモリ・エレメント(1,1)、(
1,2)、(2,1)、(2,2)がその入力となって
いて、各セレクタは制御回路からの選択制御信号により
、4つの入力から1つを出力する。ところで、セレクタ
の出力がプロセッサエレメント(k、fL>に出力され
る場合の人力はメモリ・エレメント(k、l、(k。
交+1)、(k+1.旦)、(k+t、fL+t)であ
る。但し、任意のに1文により、領域分割m、nに対し
、k+1.、l+1がそれぞれm、 nを越えてしまう
場合には、特に入力領域区側には、何も人力しないかダ
ミーのデータを入力する。
次に制御回路から出力するセレクタの選択制御信号につ
いて説明する。制御回路が前述したようにアドレス生成
器を制御して、水平アドレスを0から最終番地にインク
リメントした後に0から拡張エリアの番地にスキャンす
る間、即ち、(k。
見+1)の領域に重なった時は、出力(k。
文士1)を選択出力する。又、垂直アドレスも0から最
終番地までインクリメントした後で、0から拡張したエ
リアの番地(例えば3×3の空間フィルタ処理では1)
までスキャンする間、即ち、(k、lの領域拡張が(k
+1.u)の領域に重なっている場合は、(k+1.M
)を蓬択出力する。又、この2つの場合、即ち、拡張し
たエリアが(k+1. 旦+1)に重なっている場合は
、メモリ・エレメント(k+1. 旦+1)の出力を選
択する様に制御回路がプロセッサユニットとライト側画
像メモリとの間のデータ制御回路について補足説明すれ
ば、第39図と同様の回路構成であるが、そのセレクタ
出力かメモリ・エレメント(k、U)に出力される場合
の人力は、(k。
交)、(k、旦−1)、(k−1,旦)、(k−1、f
l−1)となる。又、第37図で示した様な拡張領域が
、領域(k、U)に対して左、下、左下の3領域の未処
理部分までもカバーするのではなく、領域(k、 父)
内の上、下、左、右の未処理部分のみをカバーする様に
領域拡張した場合には、このプロセッサユニットとライ
ト側画像メモリの間のデータ制御回路が不要となる。こ
の場合には、リード側の画像メモリとプロセッサユニッ
ト間のデータ制御回路にはセレクタの出力(k。
旦)に対し、(k、  旦)、  (k−1,交−1)
(k−1,文)、(k−1,A+1)、(k、見−1)
、(k、旦+1)、(k+1.見−1)。
(k+1.見)、(ic++、文+1)が人力されれば
良い事は第37図(b)より容易に推察できる。さらに
補足して説明すれば、拡張領域に含まれる9領域、つま
り9つのメモリ・エレメントのデータはセレクタで選択
されて、プロセッサユニット内のプロセッサエレメント
(k、 !;L)に人力される必要があり、データ制御
回路を必要とするが、kxJ1個のセレクタを制御する
次に、データ制御回路により出力されたデータはそれぞ
れプロセッサユニットを構成するプロセッサエレメント
に入力されるが、プロセッサニレメント(1,t)〜(
3,3)は拡張した領域複数ライン分のラインバッファ
を持っていて、空間フィルタ処理を施した後に、データ
制御回路を通し、ライト側画像メモリを構成するメモリ
・エレメント(1,1)〜(3,3)に出力される。こ
のデータ制御回路も前述のものと同様で、空間フィルタ
処理の結果か拡張された部分の領域の時に補正する。こ
の時にアドレス生成器からライト側画像メモリの各メモ
リ・エレメントに与えるアドレスは同一である。しかし
ながら、リード側画像メモリに与えるアドレスよりプロ
セッサエレメントで遅延する量の遅延が行われる。又、
この時に拡張した領域に空間フィルタ処理をかけても、
拡張した領域の周辺部はやはり空間フィルタ処理が行わ
れない。例えば、3×3の平滑化等の処理の場合は、拡
張したエリアより、左、右、上、下、1画素幅ずつ出カ
ニリアが小さくなる。この空間フィルタ処理を行われた
領域のデータが出力される時のみライト側画像のメモリ
をイネーブルにする。
プロセッサエレメントでは空間フィルタ処理を行うと、
その出力する領域の上、下、左右の幅が小さくなり、(
k、n>の領域と同サイズに戻り、しかもそれがライト
側画像メモリのメモリ・エレメント(k、n>に対応す
るので、プロセッサユニットとライト側画像メモリとの
間のデータ制御回路が不要となる。
次に、プロセッサユニットを構成するプロセッサエレメ
ントについて詳細に説明する。
第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倍されて、つまり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図はkxQ個のメモリ・エレメントを示す図、 第12図、第13図は1個のメモリ・エレメントを示す
図、 第14図、第15図はメモリ・エレメントアクセスの制
御回路を示す図、 第16図は画像1画面を示す図、 第17図はkx1個のメモリ・エレメントを示す図、 第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、Ib・・・メモリ・
エレメント、2・・・プロセッサ・ユニット、2a・・
・プロセッサ・エレメント、3・・・周辺部、4・・・
ローアドレス・ジェネレータ、5・・・カラムアドレス
・。 ジェネレータ、91・・・入力端画像メモリ、92・・
・プロセッサ・ユニット、93・・・出力側画像メモリ
、94・・・制御回路、95・・・人力装置、96・・
・出力装置である。 特許出願人   キャノン株式会社 「−1 代理人 弁理士    犬 塚 康 徳 (杷1糸λ 
11・・ 、j 第2図    第3図 第4図 第5図 第7図 (a)          (b) 第20図

Claims (6)

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

Priority Applications (8)

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

Publications (2)

Publication Number Publication Date
JPS63201774A true JPS63201774A (ja) 1988-08-19
JP2647375B2 JP2647375B2 (ja) 1997-08-27

Family

ID=12379087

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2647375B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63201757A (ja) * 1987-02-18 1988-08-19 Canon Inc 画像処理装置
JPH06203167A (ja) * 1992-06-29 1994-07-22 Internatl Business Mach Corp <Ibm> 高速2次元/3次元画像変換装置および方法

Citations (2)

* 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 画像処理装置
JPS63201757A (ja) * 1987-02-18 1988-08-19 Canon Inc 画像処理装置

Patent Citations (2)

* 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 画像処理装置
JPS63201757A (ja) * 1987-02-18 1988-08-19 Canon Inc 画像処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63201757A (ja) * 1987-02-18 1988-08-19 Canon Inc 画像処理装置
JPH06203167A (ja) * 1992-06-29 1994-07-22 Internatl Business Mach Corp <Ibm> 高速2次元/3次元画像変換装置および方法

Also Published As

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

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
US6005592A (en) Image processing apparatus having improved memory access for high speed 3-dimensional image processing
EP1883045A1 (en) Signal processor
US6968442B2 (en) Parallel computer with improved access to adjacent processor and memory elements
JPH02208690A (ja) 表示メモリとそれを備えた画像処理装置
JPH0233191B2 (ja)
US5311211A (en) Apparatus and method for providing a raster-scanned display with converted address signals for VRAM
JP3316593B2 (ja) メモリ・スペース割当方法及び装置
JPS63201774A (ja) 画像処理装置
JPH06223099A (ja) 削減されたメモリ空間を持つ信号処理システム
JPS63201757A (ja) 画像処理装置
JPS63201775A (ja) 画像処理装置
JPS63201776A (ja) 画像処理装置
JP2647378B2 (ja) 画像処理装置
JP2647379B2 (ja) 画像処理装置
JPH0522629A (ja) ビデオ信号用プロセツサ
JPS63201783A (ja) 画像処理装置
JPS63201784A (ja) 画像処理装置
EP1927950A1 (en) Array of processing elements with local registers
JPS63201779A (ja) 画像処理装置
JPS63201780A (ja) 画像処理装置
JPS5851376A (ja) 重畳積分計算方式
JPS63201781A (ja) カラー画像処理装置
JP3011344B2 (ja) 画像処理装置
JPS63201782A (ja) 画像処理装置

Legal Events

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