JPS63201777A - Picture processor - Google Patents

Picture processor

Info

Publication number
JPS63201777A
JPS63201777A JP62033175A JP3317587A JPS63201777A JP S63201777 A JPS63201777 A JP S63201777A JP 62033175 A JP62033175 A JP 62033175A JP 3317587 A JP3317587 A JP 3317587A JP S63201777 A JPS63201777 A JP S63201777A
Authority
JP
Japan
Prior art keywords
memory
data
image
address
picture
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
JP62033175A
Other languages
Japanese (ja)
Other versions
JP2647378B2 (en
Inventor
Yoshihiro Ishida
良弘 石田
Yoshinobu Mita
三田 良信
Miyuki Enokida
幸 榎田
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 JP62033175A priority Critical patent/JP2647378B2/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to DE3845004A priority patent/DE3845004C2/en
Priority to DE3845005A priority patent/DE3845005C2/en
Priority to DE3804938A priority patent/DE3804938C2/en
Priority to DE3844921A priority patent/DE3844921C2/en
Publication of JPS63201777A publication Critical patent/JPS63201777A/en
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 JP2647378B2 publication Critical patent/JP2647378B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To increase the picture processing speed by simultaneously processing picture element data in adjacent prescribed areas of a first picture memory by a processor unit while transmitting and receiving picture data by a data control means and storing processing results in a corresponding second picture memory. CONSTITUTION:The first picture memory where picture element data in corresponding positions of prescribed areas are allocated on the same memory element and the data control means which controls transmission and reception of picture data between processor elements are provided. The processor unit which simultaneously processes plural picture elements in the picture memory and the second picture memory where picture element data in corresponding positions of prescribed areas are allocated on the same memory element are provided. An address control means which controls the address in accordance with relations between areas allocated in the same address of the first picture memory and those of the second picture memory. Thus, the picture processing speed is increased.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は画像処理装置、特に画像メモリの制御技術によ
り画像データの高速処理及び並列処理を行う画像処理装
置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an image processing device, and particularly to an image processing device that performs high-speed processing and parallel processing of image data using an image memory control technique.

[従来の技術] 一般に高速に画像を処理する場合に、コンピュータによ
る処理としてはソフトウェアで行う方式がとられるが、
画像データが膨大になるにつれて高速化か必要となって
くる。高速化の手法としては2通りの方法があり、1つ
はパイプライン方式と呼ばれる逐次処理型のハードウェ
アで行う方式、もう一つは複数個のプロセッサを置く並
列処理型と呼ばれるものである。前者は画像データの高
速処理に伴って処理のクロック周波数か高くなり限界が
ある。一方後者は並列に置くプロセッサの数を増すこと
により、高速化をいくらでも高める事がてきる。極端に
言えば、画素の数の分だけプロセッサを置く事により最
大のスピードを得る事か可能である事から、現在注目さ
れている技術の一つである。
[Prior Art] Generally, when processing images at high speed, software is used as the computer processing method.
As the amount of image data increases, the need for higher speeds increases. There are two methods for increasing speed: one is a pipeline method that uses sequential processing hardware, and the other is a parallel processing method that uses multiple processors. The former has a limit because the processing clock frequency increases as image data is processed at high speed. On the other hand, the latter can be increased in speed by increasing the number of processors placed in parallel. In extreme terms, it is one of the technologies that is currently attracting attention because it is possible to obtain the maximum speed by placing as many processors as there are pixels.

ところで、この時に各画素間での通信処理が重要となり
、相互通信を行いつつ処理を進めていく必要がある。か
かる並列処理方式に於ては、プロセッサを各画素の数だ
け持つ事は高解像データを取り扱う場合には不可能とな
る。例えは、A4を16画素/mm(pel)でよんだ
画像を取り扱う場合、画素数は約16M画素(pixe
ls)となり、これだけのプロセッサを同時に持つ事は
不可能と言える。
By the way, at this time, communication processing between each pixel becomes important, and it is necessary to proceed with processing while performing mutual communication. In such a parallel processing method, it is impossible to have as many processors as each pixel when handling high-resolution data. For example, when handling an image read on A4 paper at 16 pixels/mm (pel), the number of pixels is approximately 16M pixels (pixel).
ls), and it is impossible to have this many processors at the same time.

[発明が解決しようとする問題点] 本発明は、所定領域内にある画像データに相関関係のあ
る画像処理を高速に並列処理する画像処理装置を提供す
る。
[Problems to be Solved by the Invention] The present invention provides an image processing device that performs high-speed parallel processing of correlated image data on image data within a predetermined area.

[問題点を解決するための手段] この問題点を解決するための一手段として、本発明の画
像処理装置は、他のメモリと独立にアドレスを指定して
アクセスすることかできる複数のメモリ・エレメントか
ら成り、隣接する所定領域内の画素データが同一番地に
割付けられ、前記所定領域上で同一位置に対応する画素
データが同一の前記メモリ・エレメントに割付けられる
第1の画像メモリと、 前記メモリ・エレメントに対応する複数のプロセッサ・
エレメントから成り、該プロセッサ・エレメント間の画
像データの送受信を制御するデータ制御手段を有し前記
画像メモリ内の複数画素を同時に処理するプロセッサ・
ユニットと、該プロセッサ・エレメントの一部に対応し
て、他のメモリと独立にアドレスを指定してアクセスす
ることができる複数のメモリ・エレメントから成り、隣
接する所定領域内の画素データが同一番地に割付けられ
、前記所定領域上で同一位置に対応する画素データが同
一の前記メモリ・エレメントに割付けられる第2の画像
メモリと、前記第1の画像メモリの同一番地に割付けら
れ。
[Means for Solving the Problem] As a means for solving this problem, the image processing device of the present invention has a plurality of memories that can be accessed by specifying addresses independently of other memories. a first image memory consisting of elements, in which pixel data in adjacent predetermined areas are allocated to the same location, and pixel data corresponding to the same position on the predetermined area is allocated to the same memory element;・Multiple processors corresponding to elements・
a processor element that simultaneously processes a plurality of pixels in the image memory, and has data control means for controlling transmission and reception of image data between the processor elements;
It consists of a unit and a plurality of memory elements that correspond to a part of the processor element and can be accessed by specifying addresses independently of other memories, and pixel data in adjacent predetermined areas are located at the same location. pixel data corresponding to the same position on the predetermined area are allocated to the same memory element, and to the same location of the first image memory.

る領域と前記第2の画像メモリの同一番地に割付けられ
る領域との関係に対応してアドレスを制御するアドレス
制御手段とを備える。
and address control means for controlling an address in accordance with the relationship between the area allocated to the second image memory and the area allocated to the same location of the second image memory.

[作用コ かかる構成において、第1の画像メモリの隣接する所定
領域内の画素データをプロセッサ・ユニットでデータ制
御手段により相互に画像データの送受信をしながら同時
に処理して、対応する第2の画像メモリに処理結果を記
憶する。
[Operation] In such a configuration, pixel data in adjacent predetermined areas of the first image memory are simultaneously processed by the processor unit and the data control means while mutually transmitting and receiving image data, and the corresponding second image is processed. Store the processing results in memory.

以下余白 [実施例] 以下、本発明の一実施例を説明する。  一本実施例の
画像処理装置の構成は、1頁分の画像メモリ1とプロセ
ッサ・ユニット2及び入出力装置等の周辺部3から成る
。第1図はその基本部のみの原理構成を示したもので、
画像メモリ1にプロセッサ・ユニット2が連絡されてい
る。画像メモリ1上の任意位置のnxmの画像データは
、nxmのプロセッサ・エレメント2aのアレイで構成
されるプロセッサ・ユニット2へ転送され、高速処理を
された後、再び画像メモリ1へ戻される。nxmのプロ
セッサ・エレメント2aのアレイ内での各処理は同時に
行われる、所謂並列処理方式のアーキテクチャ−である
。又、第9図(a)、(b)には他の構成を示した。第
9図(a)では、制御回路94の制御に従って、入力端
画像メモリよりの画像データは、複数のプロセッサ・エ
レメントから成るプロセッサ・ユニット92で複数画素
が並列に所定の処理されて、出力側画像メモリ93に格
納される。一方策9図(b)では、画像メモリ91ある
いは93とプロセッサ・ユニット92と、更に入力装置
96と出力装置ちが共通バスによって繋がれた構成であ
る。
Margin below [Example] Hereinafter, an example of the present invention will be described. The configuration of the image processing apparatus of this embodiment includes an image memory 1 for one page, a processor unit 2, and a peripheral section 3 such as input/output devices. Figure 1 shows the basic configuration of only the basic part.
A processor unit 2 is connected to the image memory 1 . Nxm image data at an arbitrary position on the image memory 1 is transferred to a processor unit 2 comprising an array of nxm processor elements 2a, processed at high speed, and then returned to the image memory 1. Each process within the array of NxM processor elements 2a is performed simultaneously, which is a so-called parallel processing architecture. Further, other configurations are shown in FIGS. 9(a) and 9(b). In FIG. 9(a), under the control of a control circuit 94, image data from an input end image memory is processed in a predetermined manner in parallel for a plurality of pixels in a processor unit 92 consisting of a plurality of processor elements, and then sent to an output side. The image is stored in the image memory 93. On the other hand, in FIG. 9(b), an image memory 91 or 93, a processor unit 92, an input device 96, and an output device are connected by a common bus.

以下画像メモリ1について詳述する。The image memory 1 will be described in detail below.

今、簡単のため、画像サイズを1024.x  102
4画素、各8ビット/画素のデータをもつ画像メモリで
話を進める。画像サイズの変更は、本実施例のアーキテ
クチャ−を拡張するのみでよい。又、プロセッサ・ユニ
ット2は4×4の計16個のプロセッサ・エレメント2
aで構成されるものとする。
Now, for simplicity, set the image size to 1024. x 102
We will proceed with an image memory having 4 pixels, each with 8 bits/pixel data. To change the image size, it is only necessary to extend the architecture of this embodiment. In addition, the processor unit 2 has a total of 16 processor elements 2 of 4×4.
It shall consist of a.

第2図は画像メモリ16構成を示す図である。FIG. 2 is a diagram showing the configuration of the image memory 16.

画像の構成が図の如<  1024 X  1024画
素で出来ているとすると、これを4X4の単位で分けて
いくと、251i X 25Bの合計64 K (=I
i5536 )個のブロックに分割される。今、これを
第3図の如く4×4画素単位で再編成し、4×4画素が
64に個あると想定する(各画素当り8ビツト長のデー
タを有す)。従ってメモリのアドレス空間は、4X4X
64にの三次元アドレス指定となる。
Assuming that the image structure is made up of 1024 x 1024 pixels as shown in the figure, dividing this into 4 x 4 units results in a total of 251i x 25B, 64K (=I
i5536 ) blocks. Now, it is assumed that this is reorganized in 4×4 pixel units as shown in FIG. 3, and that there are 64 4×4 pixels (each pixel has 8-bit data). Therefore, the memory address space is 4X4X
64 three-dimensional addressing.

4×4内の1つの64に画素を1つのメモリチップが受
は持つものとすると、64にのアドレス空間で各アドレ
スが8ビツトの深さのメモリ・チップが必要となる。こ
れは512にビット(= 64 Kバイト)の容量のメ
モリ・チップが必要であるが、本実施例では256にビ
ットのダイナミックRAM (D−RAM)2個を組み
合わせて用いる。即ち、256にビットD−RAMのう
ち64に×4ビット構成のものを2個用いて、64KX
8ビツトとして用いる。かかる2個のメモリ・チップを
今後、メモリ・エレメント1aと呼ぶ。
Assuming that one memory chip has 64 pixels in a 4.times.4 frame, a memory chip is required in which each address is 8 bits deep in the 64 address space. This requires a memory chip with a capacity of 512 bits (=64 Kbytes), but in this embodiment, two dynamic RAMs (D-RAMs) of 256 bits are used in combination. In other words, by using two 256-bit D-RAMs with a 64 x 4-bit configuration, 64KX
Used as 8 bits. These two memory chips will be referred to as memory element 1a from now on.

4×4のマトリックスに対応して、上記画像メモリ1は
16個のメモリ・エレメント1aから構成される。第4
図はかかる4×4のメモリ・エレメント1aの構成を示
す。各メモリ・エレメント1aはローアドレス及びカラ
ムアドレスを指定されて、4×4画素の内の一画素の6
4にのアドレス空間の画像データな人・出力する。ロー
アドレス・ジェネレータ4及びカラムアドレス・ジェネ
レータ5からは4×4の各メモリ・エレメント1aヘア
ドレスを与える。尚、メモリ・エレメント1aがD−R
AMでローアドレス及びカラムアドレスをタイムシェア
して与えるものであれは、このアドレス・ジェネレータ
は1つでよい。この時には、ローアドレスとカラムアド
レスの時分割切換制御が必要となる。
The image memory 1 is composed of 16 memory elements 1a corresponding to a 4×4 matrix. Fourth
The figure shows the configuration of such a 4×4 memory element 1a. Each memory element 1a is designated with a row address and a column address, and one pixel of 4×4 pixels is designated as 6
4. Output the image data of the address space. The row address generator 4 and column address generator 5 give addresses to each 4×4 memory element 1a. Note that memory element 1a is D-R.
If AM is used to time-share and provide row addresses and column addresses, only one address generator is required. At this time, time-division switching control of row addresses and column addresses is required.

かかるアドレス・ジェネレータからそれぞれのアドレス
を与える事により、4×4画素のメモリ・エレメント1
aをリード/ライトする事が可能となる。即ち、−回の
アドレス指定により4×4画素分の画像データが同時に
駆動可能となる。このため、データ・ラインとしては、
各メモリ・エレメント1aから直接8ビツトのデータ線
が出ているものとする。
By giving each address from such an address generator, a memory element 1 of 4×4 pixels is created.
It becomes possible to read/write a. That is, by specifying the address - times, image data for 4×4 pixels can be driven simultaneously. Therefore, as a data line,
It is assumed that an 8-bit data line comes out directly from each memory element 1a.

今、ローアドレスがA(0≦A≦255)、カラムアド
レスがB(0≦B≦255)のデータが画像メモリ1か
ら呼び出されたものとすると、画像データとしては、第
2図における(A、B)のアドレスに相当する4×4画
素の8ビツト長の画像データが読み出される。
Now, suppose that data with a row address of A (0≦A≦255) and a column address of B (0≦B≦255) is read from the image memory 1, then the image data (A , B), 8-bit long image data of 4×4 pixels is read out.

更に複数画素の同時アクセスについて−192化して、
説明する。
Furthermore, the simultaneous access of multiple pixels is converted to -192,
explain.

第10図は画像1頁ををのまま表わしたものであり、こ
の画像データを図示するように連続して隣接するkXu
画素のブロックで分割し、第11図の様にkXX何個メ
モリ・エレメント1aに対応させる。又、kxu画素の
ブロックは端から(o、o)、(0,i、(o、2)。
Figure 10 shows one page of the image as it is, and this image data is continuously and adjacently displayed as shown in the figure.
It is divided into blocks of pixels, and as shown in FIG. 11, kXX are made to correspond to the memory elements 1a. Also, the blocks of kxu pixels are (o, o), (0, i, (o, 2)) from the end.

(0,3)・・・と番号付けされ、第12図のようなk
xJ1個のメモリ・エレメント1aからなるメーモリ・
ユニット1に対応する。第13図はメモリ・ユニット1
を二次元的に表わしたものである。又、アクセスするメ
モリサイズはkx、Q画素のブロックサイズの単位なの
で、任意の位置のkX、Q−一画素ブロックRをアクセ
スした場合でも、kx文旦個メモリ・エレメント1aす
べてがアクセスされ、しかも1つのメモリ・エレメント
1aにつき、各1個のアドレスのアクセスとなる。
(0, 3)... and k as shown in Figure 12.
Memory consisting of xJ1 memory element 1a
Corresponds to unit 1. Figure 13 shows memory unit 1
It is a two-dimensional representation of Furthermore, since the memory size to be accessed is in block size units of kx, Q pixels, even if kx, Q - one pixel block R at an arbitrary position is accessed, all kx pomelo memory elements 1a will be accessed, and 1 One address is accessed for each memory element 1a.

この様に画像中の任意位置の隣接するkxJ1個の複数
画素の画像データを一度にアクセスし、リードした後に
プロセッサ・ユニット2で処理を行う。プロセッサ・ユ
ニット2で処理を行われた画像データは、再びに″X文
′画素のブロックサイズで、しかも任意の位置をアクセ
スしてライト′できる。ここでは、k’ =に、u’ 
−4として今後説明を行う。
In this way, the image data of a plurality of adjacent kxJ pixels at arbitrary positions in the image is accessed at once, and after being read, the processor unit 2 processes it. The image data processed by the processor unit 2 can be accessed and written at any position in a block size of "X pixels" again.Here, k'=, u'
-4 will be explained in the future.

前述のに’ XJJ’画素のみのメモリのアクセスにつ
いて補足説明すると、プロセッサ・ユニット2における
処理が空間フィルタ処理等の場合には、読み出し側のア
クセスするブロックサイズkxJlよりも書き込み側の
アクセスするブロックサイズが小さくなることがある。
To provide a supplementary explanation of the above-mentioned memory access for only the ' may become smaller.

一般的には書き込み側のブロックサイズに’xJJ’ 
は1×1になる処理が多い。又、プロセッサ・ユニット
2における処理が画像の縮小処理の場合にも、リード側
のアクセスするブロックサイズkxuよりもライト側の
アクセスするブロックサイズが小さくなる。
Generally, the block size on the writing side is 'xJJ'.
is often processed as 1×1. Also, when the processing in the processor unit 2 is image reduction processing, the block size accessed on the write side is smaller than the block size kxu accessed on the read side.

=IilQ的にライト側のブロックサイズに′ x、Q
’は縦横の縮小率を、α、βとした時にに′≧αに、父
′≧β交を満た−す最小の整数かに’ 、u′ となる
。仮に読み出しと書き込みのメモリが同一、又は同一の
kxJlのメモリ構成の時に、前述の2例のような処理
を行う場合は、書ぎ込み側のメモリ・ユニット1の構成
サイズkx、Qよりも小さなサイズに’xJ1’ に書
き込みを行わなければならない。この場合にはメモリ・
エレメント1aのkxJl個のすべてにアクセスをかけ
ないで、書ぎ込みに該当しないメモリ・エレメント1a
をマスクして、アクセスしない様にしなければならない
。しかしながら、kx旦個のメモリ・エレメント1aで
構成される画像メモリ1は1度にアクセスして読み出し
できるデータは隣接する画像データの最大kx、Q個で
あるが、それより小さいサイズの隣接するに′ x、Q
’の画像データも前記マスクを行う事により自由にアク
セスできる。マスクしてに’x、Q’個のみを同時にア
クセスする事は、メモリ・エレメント1aのチップのイ
ネーブルを操作する事で容易に可能となる。
= IilQ-wise block size on the write side' x, Q
' is the minimum integer that satisfies the intersection of '≧α and '≧β when the vertical and horizontal reduction rates are α and β, respectively. If the reading and writing memories are the same or have the same memory configuration of kxJl, and the above two examples are performed, the configuration size of memory unit 1 on the writing side is smaller than kx, Q. Must write to size 'xJ1'. In this case, the memory
Memory element 1a that does not correspond to writing without accessing all kxJl elements of element 1a
must be masked to prevent access. However, the image memory 1, which is composed of kx memory elements 1a, can access and read a maximum of kx, Q pieces of adjacent image data at one time; ′ x, Q
The image data of ' can also be freely accessed by performing the masking described above. Masking and accessing only 'x, Q' pieces at the same time is easily possible by manipulating the chip enable of the memory element 1a.

次に順を追って、任意の位置の所定画素のメモリアクセ
スの実施例について、メモリ・ユニット構成が4×4の
場合とkXJlの場合とについて説明し、前記マスクす
るためのチップイネーブルの制御についても説明する。
Next, examples of memory access of a predetermined pixel at an arbitrary position will be explained in the case where the memory unit configuration is 4×4 and kXJl, and the control of the chip enable for masking will also be explained. explain.

まずブロックサイズkx、Qを4X4とした場合の実施
例より示す。
First, an example will be shown in which the block sizes kx and Q are 4×4.

第2図の一部分を拡大した図を第5図に示す。FIG. 5 shows an enlarged view of a portion of FIG. 2.

画像メモリ1中任意の4×4のブロックSの画像データ
を読み出し、これを前述プロセッサ・ユニット2で処理
した後に、任意の4×4のブロックTに転送する場合の
処理について説明する。
A process will be described in which image data of an arbitrary 4×4 block S in the image memory 1 is read out, processed by the processor unit 2, and then transferred to an arbitrary 4×4 block T.

第5図及び第6図上の4X4のまず目は、4×4の16
個のメモリ・エレメント1aを区切るまず目である。こ
の16個のメモリ・エレメント1aに仮にAa、Ab、
 ・・、Ba、Bb、 ・=Ca、−Dc、Ddと名前
をつける。まず最初に4 X 、4のブロックSを読み
出す場合、16個のメモリ・エレメント1aの内、メモ
リ・エレメントDdには(ローアドレス、カラムアドレ
ス)として(N、M)が与えられる。メモリ・エレメン
トDb、DC,Ddには(N、N+1)、メモリ・エレ
メントAd、Bd、Cdには(N+1.M)残りのメモ
リ・エレメントには(N+1.M’+1)が与えられる
。これは前述したローアドレス・ジェネレータ4.カラ
ムアドレス・ジェネレータ5により発生される。又、4
×4のブロックSの端点Uの位置が定まれば、その水平
方向と垂直方向の位置アドレスを4で割り、その余りの
数n。
The first row of 4x4 in Figures 5 and 6 is 16 of 4x4.
This is the first point that separates the memory elements 1a. If these 16 memory elements 1a contain Aa, Ab,
..., Ba, Bb, .=Ca, -Dc, Dd. First, when reading out the block S of 4.times..times.4, (N, M) is given as (row address, column address) to memory element Dd among the 16 memory elements 1a. Memory elements Db, DC, and Dd are given (N, N+1), memory elements Ad, Bd, and Cd are given (N+1.M), and the remaining memory elements are given (N+1.M'+1). This is the row address generator 4 mentioned above. Generated by column address generator 5. Also, 4
Once the position of the end point U of the ×4 block S is determined, divide its horizontal and vertical position addresses by 4 and get the remainder n.

mにより、メモリ・エレメントAa〜Ddまでに割りつ
けるローアドレス・カラムアドレスは一意的に決まる事
は明らかである。仮にUの位置アドレスu (Y、X)
とすると、 Y=4N+n (n=o、1,2.3)X=4M+m 
(m=0.1,2.3)例えば、アドレス・ジェネレー
タ4.5ではM。
It is clear that the row address and column address allocated to memory elements Aa to Dd are uniquely determined by m. Suppose the position address of U (Y, X)
Then, Y=4N+n (n=o, 1,2.3)X=4M+m
(m=0.1, 2.3) For example, M in address generator 4.5.

Nの情報とm、nの情報をルックアップテーブル等に入
力し、メモリ・エレメントAa〜Ddに与えるアドレス
を出力するような構成も考えられる。この時出力はM、
N、N+1.N+1のいずれかである事は、前述の説明
より明らかである。
A configuration may also be considered in which information on N and information on m and n are input into a look-up table or the like, and addresses given to memory elements Aa to Dd are output. At this time, the output is M,
N, N+1. It is clear from the above explanation that it is any one of N+1.

又、この性質を利用して、第7図のように、ルックアッ
プテーブルにn、又はmを人力し、この値に応じて0.
1を出力し、メモリ・エレメントA a −D dに与
えるアドレスNまたはMをインクリメントするかしない
かの制御を行えば良い。
Also, by using this property, as shown in Fig. 7, n or m is entered manually in the lookup table, and 0.
1 and control whether or not to increment the address N or M given to the memory elements A to D d.

ローアトレス・ジェネレータ4てはn、Nを使用し、カ
ラムアドレス・ジェネレータ5てはm、 Mを使用する
The row address generator 4 uses n and N, and the column address generator 5 uses m and M.

このようにして、4×4の16個のメモリ・エレメント
に前述したようにアドレス・ジェネレータ4,5よりア
ドレスが与えられて、同時に16個のデータを得る事が
できる。
In this way, addresses are given to the 16 4×4 memory elements by the address generators 4 and 5 as described above, and 16 pieces of data can be obtained at the same time.

この16個のデータは、プロセッサ・ユニット2におい
て、何らかの処理をされ、又は何も処理されないで、再
び第5図に示す4×4のブロックTに転送される。しか
しながら、16個のメモリ・エレメントA a −D 
dから読み出された画像データそれぞれが必すしも同じ
メモリ・エレメントA a −D dに転送されるとは
限らない。第5図の4X4のメモリブロックSが4×4
のメモリブロックTに転送される場合には、4×4のメ
モリブロックSのうちメモリ・エレメントAaから読み
出されたデータは、メモリ・エレメントDCに転送され
なければならない。
These 16 pieces of data are transferred to the 4×4 block T shown in FIG. 5 again in the processor unit 2, with some processing or no processing at all. However, 16 memory elements A a -D
Each of the image data read from d is not necessarily transferred to the same memory element A a -D d. The 4x4 memory block S in Figure 5 is 4x4
, the data read from memory element Aa of 4×4 memory block S must be transferred to memory element DC.

では、4×4のメモリブロックS、Tがその端点u、v
を任意の位置(Y、X)、(Y’ 、X’)を有してい
る時に、メモリ・エレメントAa〜Ddの16個の読み
出しデータがメモリ・エレメントAaNDdのどのメモ
リ・エレメントに書き込まれれば良いのか説明する。
Then, the 4×4 memory blocks S, T are at their end points u, v
has arbitrary positions (Y, X), (Y', I'll explain if it's good.

第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+q (q=0.1
2.2.3)と表わせる時に、 p−n=4y’ +y  (y’ =−t、。
As shown in Figure 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+q (q=0.1
2.2.3), p-n=4y' +y (y' = -t,.

y=0+  t、2.3) ・・・■ q−m=4x’十x  (x’=−1,0x=o、1.
2.3) ・・・■ なるx、yを求める。
y=0+t, 2.3)...■ q-m=4x'x (x'=-1, 0x=o, 1.
2.3) ...■ Find x and y.

まず(Aa、Ab、Ac、Ad)からなる行配列Aを右
方向にX回ローテーションする。これを行配列A′と名
付ける。同様に行配列B、C,Dを右方向にX回ローテ
ーションしたものを行配列B’ 、C’ 、D’  8
名付ける。
First, the row array A consisting of (Aa, Ab, Ac, Ad) is rotated X times in the right direction. This is named row array A'. Similarly, row arrays B, C, and D are rotated X times in the right direction, resulting in row arrays B', C', and D'8.
Name it.

次に行配列A’ 、B’ 、C’ 、D’ より成る配
列(ABCD)′を下方向に7回ローテーションする。
Next, the array (ABCD)' consisting of row arrays A', B', C', and D' is rotated downward seven times.

第5図の場合には、第5図によりn、m、p。In the case of FIG. 5, n, m, p according to FIG.

qは3,3,2.1なのは明らかなのでの、■式%式% 得る。故に前述の説明より次の行列を得る。Since q is obviously 3, 3, 2.1, ■Formula%Formula% obtain. Therefore, from the above explanation, we obtain the following matrix.

右方向に2回ローテーションすると、 行配列 A′= (Ac、Ad、Aa、Ab) B’  =  (Be、  Bd、  Ba、  Bb
)C’  =  (Cc、  Cd、  Ca、  C
b)D’  =  (’D C,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次元配列しただけの
もので、行列■は、メモリ・エレメントAa〜Ddに書
き込むべきデータを順に並べて2次元配列したものに相
当する。即ち、例としてメモリ・エレメントAaから読
み出されたデータは、配列■を見ると、4行目3列目に
書き込まれる。これを基本配列■を参照すると4行目3
列目にDCとなっているので、メモリ・エレメントDC
にメモリ・エレメントAaの読み出しデータが書かれれ
ば良い事がわかる。
Rotate twice to the right, row array A' = (Ac, Ad, Aa, Ab) B' = (Be, Bd, Ba, Bb
)C' = (Cc, Cd, Ca, C
b) D' = ('D C, Dd, Da,
Db) When rotated downward three times, (Be, Bd, Ba, Bb) (Cc, Cd, Ca, Cb) (DC, Dd, Da, Db) (Ac, Ad, Aa, Ab) -...■ This matrix■
Comparing this with the basic arrangement ■ below, Aa, Ab, Ac, Ad Ba, Bb, Be, Bd Ca, Cb, Cc, Cd Da, Db, DC, Dd - Basic arrangement ■ Basic arrangement The matrix ■ is simply a two-dimensional array of data to be read from memory elements Aa to Dd arranged in order from left to right and top to bottom, and the matrix ■ is a two-dimensional arrangement of data to be written to memory elements Aa to Dd in order. It corresponds to an array. That is, as an example, data read from memory element Aa is written to the fourth row and third column when looking at the array {circle around (2)}. If you refer to this basic array ■, the 4th line 3
Since DC is in the column, memory element DC
It can be seen that it is sufficient if the read data of memory element Aa is written to .

補足説明すると、第5図上のメモリ・ニレメン)−Aa
の読み出しデータがDCの位置に書き込まれれば良い事
は容易に気がつくが、このAaからDCの位置への変位
は、位置アドレスUからVへの変位に等しい。又、メモ
リ・エレメント1aの構成が4×4なので、水平方向、
垂直方向の位置を共に4で割った余りが、メモリ・エレ
メントの変位x、yと考えて良い。例えばu、vの変位
が4の倍数であれば、変位x、yは0になり、あるメモ
リ・エレメントから読み出したデータは、処理が行なわ
れた後に、同じメモリ・エレメントに書ぎ込まれるわけ
である。
For supplementary explanation, memory niremen)-Aa on Figure 5
It is easy to notice that it is sufficient if the read data of is written to the DC position, but the displacement from this position Aa to the DC position is equal to the displacement from the position address U to V. Also, since the configuration of the memory element 1a is 4×4, the horizontal direction
The remainder when both vertical positions are divided by 4 can be considered to be the displacements x and y of the memory element. For example, if the displacements of u and v are multiples of 4, the displacements x and y will be 0, and data read from a certain memory element will be written to the same memory element after processing. It is.

以上の処理のハードウェア化について簡単に説明する。The hardware implementation of the above processing will be briefly explained.

第8図は、4×4の16個のメモリ・エレメント1aよ
りなるメモリ・エレメント10から同時に読み出したデ
ータが、プロセッサ・ユニット2で処理され、そのデー
タをそれぞれ4要素ずつX変位ローデータ81において
Xの数だけローテーションを行う。その後にy変位ロー
データ82によってyの数だけローテーションを行い、
それぞれをAa 〜Ad、Ba−Bd、Ca 〜Cd、
Da〜Ddのメモリ・エレメント1aに書き込む構成に
なっている。
FIG. 8 shows that data simultaneously read out from memory elements 10 consisting of 16 4×4 memory elements 1a is processed by the processor unit 2, and the data is stored in X-displacement raw data 81 by 4 elements each. Perform rotation for X number of times. After that, rotation is performed by the number of y based on the y displacement raw data 82,
Aa ~ Ad, Ba-Bd, Ca ~ Cd, respectively
The configuration is such that data is written to memory elements 1a from Da to Dd.

尚、y変位ローデータ82は、入力がそれぞれ4要素の
データなので、X変位ローデータ81と全く同じもの4
つで構成できる事は言うまでもない。又、前記ローデー
タは、メモリデータの深みと同じビット数の深みを持っ
ても良いし、1ビツトの深みのものをメモリデータの深
みと同じ数だけ使用しても良い事も言うまでもない。又
、ローデータはシフトレジスタやバレルシフタ等を使用
できる事は容易に推察できる。
Note that the y-displacement raw data 82 has four input elements each, so the y-displacement raw data 82 is exactly the same as the X-displacement raw data 81.
Needless to say, it can be composed of It goes without saying that the raw data may have a depth of the same number of bits as the depth of the memory data, or that the same number of 1-bit depths as the depth of the memory data may be used. Furthermore, it can be easily inferred that a shift register, barrel shifter, etc. can be used for raw data.

さらに−膜化して考えてみると、メモリブロックをkx
、Qのサイズにした場合には、メモリ・エユニット10
の構成もkx旦になる。この場合に、任意の位置にある
kx、QのメモリブロックSをプロセッサ・ユニット2
て処理した後に、任意の位置のkx4のメモリブロック
Tに転送する場合に、 Y=kN+n  (n=o、  1.−、  k−1)
X=AM+m  (m=o、  1. −、  父−1
)(N、M、P、Qは0,1,2.3・・・)Y ′子
kP+p  (p冨0.1.・・・、  k−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,0,’J ’ O,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は、文例
の入力を持ち、0〜旦−1までのシフトができる。y変
位ローデータ82は、k個の人力を持ち、0〜に−1ま
でのシフトができる。しかも、y変位ローデータ82の
に個の入力はそれぞれ交信の要素をもつため、人力1要
素のローデータが文例の構成となる。
Furthermore, if we consider it as a film, we can make the memory block kx
, Q, the memory emunit 10
The configuration of is also kxdan. In this case, the memory block S of kx, Q located at an arbitrary position is transferred to the processor unit 2.
After processing, when transferring to kx4 memory block T at an arbitrary position, Y=kN+n (n=o, 1.-, k-1)
X=AM+m (m=o, 1.-, father-1
) (N, M, P, Q are 0, 1, 2.3...)Y'kP+p (p-value 0.1..., k-1)X
′ Tomibun Q+q (q=O,'1. ..., q-
1) However, the position address of the end point of S is (Y, X), T
The position address of the end point of (y', x')...(10) Find n, m, p, q, p-n=Ky'+y (y'-1,0,'J' O, 1, 2, 3,...
, ni-1) q-m=x'+x (X'--1, O, X -0, 1, 2, 3, ·, u-
1)...(11) Using x and y, for example, the X displacement raw data 81 and y displacement raw data 82 as shown in FIG. 8 may be used to perform the processing. In this case, the X displacement raw data 81 has a sentence example input and can be shifted from 0 to dan-1. The y displacement raw data 82 has k manual forces and can be shifted from 0 to -1. Moreover, since each input of the y-displacement raw data 82 has a communication element, the raw data of one element of human input constitutes a sentence example.

第10図に示すように前述のに’x、Q”のブロックの
同時アクセスのためのメモリ・エレメントのアクセス制
御について説明する。
As shown in FIG. 10, memory element access control for simultaneous access of the above-mentioned blocks 'x, Q' will be explained.

k′xJJ′のブロックの端点iの位置アドレスを(f
、g)と仮定する。前述の式(10)に従いアクセスす
るメモリをリードする場合は、Y。
Let the position address of the end point i of the block k′xJJ′ be (f
, g). Y when reading the memory accessed according to the above equation (10).

Xにflgを代入し、アクセスするメモリにライトする
場合は、Y’、X′にf、gを代入する。
When assigning flg to X and writing to the memory to be accessed, assign f and g to Y' and X'.

その結果を式(11)に代入してy、xを求めると、第
7図、第8図に示した実施例をkx、Qに一般化したも
のにもそのまま適用できる。
By substituting the result into Equation (11) to obtain y and x, the embodiments shown in FIGS. 7 and 8 can be applied directly to kx and Q.

又、この際に、kx、Qのメモリ・エレメントのうち、
k ” l ’のメモリ・エレメントのみをチップイネ
ーブルにする。このイネーブルにするチップはに’XJ
1′の端点iの(f、g)の位置アドレスさえ決まれば
、式(10)よりn、m、又はp、qが一意的に決まり
、アクセスすべきに’×fl’個のメモリ・エレメント
も一意的に決まる。
Also, at this time, among the memory elements kx and Q,
Chip enable only the memory element k ” l . The chip to be enabled is
Once the location address of (f, g) of end point i of 1' is determined, n, m, or p, q can be uniquely determined from equation (10), and '×fl' memory elements need to be accessed. is also uniquely determined.

ところで、今まで説明した様にkX、Q−のメモリ・エ
レメントから成るメモリ構成において、リートアクセス
側をに′x交′のブロックを同時にアクセスし、ライト
側をk”x、l”のブロックを同時にアクセスする場合
も(但し、0≦k ”≦に、O≦見°°≦旦)考えられ
るが、これも今までの説明と同様である。この場合のメ
モリ・エレメントに与えるチップイネーブルの制御の実
施例を第14図に示す。
By the way, as explained so far, in a memory configuration consisting of kX, Q- memory elements, 'x' blocks are accessed simultaneously on the read access side, and k'x, l' blocks are accessed on the write side at the same time. Simultaneous access may also be considered (0≦k''≦, O≦view°°≦dan), but this is also the same as the previous explanation.Chip enable control given to memory elements in this case An example of this is shown in FIG.

k”xJl”、k”×旦”のブロックの端点の位置アド
レスを(y、x)、(y’、x’)とする時に、式(1
0)よりn、m及びp、qが求まる。このn、m及びp
、qはセレクタのデータ入力に人力される。さらにセレ
クタの選択制御信号として、メモリアクセスのリードラ
イト信号R/Wが入力され、リードの時にn、mを選択
出力し、ライトの蒔にp、qを選択出力する。
When the position addresses of the end points of the blocks k"xJl" and k"xdan" are (y, x), (y', x'), the formula (1
0), n, m, p, and q are found. This n, m and p
, q are entered manually into the data input of the selector. Furthermore, a read/write signal R/W for memory access is inputted as a selection control signal of the selector, and n and m are selectively output when reading, and p and q are selectively output when writing.

同様にブロックサイズ、k=、見”及びに′°。Similarly, block size, k=, ” and ′°.

文”もセレクタに人力され、R/W信号が選択制御信号
として入力されている。リード時には、k’、、Q−”
を選択出力し、ライト時にはに°°。
The sentence " is also input manually to the selector, and the R/W signal is input as a selection control signal. When reading, k',, Q-"
Select output and write to °°.

旦°′が選択出力される。ところで、アクセスするメモ
リ・エレメントはリード側のn、m、に′。
dan°′ is selectively output. By the way, the memory elements to be accessed are n, m, and ' on the read side.

旦′、又はライト側のk”+U”+P+Qが定まれば一
意的に決まる事は明白なので、セレクタから出力された
これらのデータはルックアップテーブルに入力し、それ
ぞれkxJJのメモリ・エレメントのうちアクセスする
メモリを制御する信号を出力する。
It is clear that once k"+U"+P+Q on the write side is determined, it is uniquely determined, so these data output from the selector are input to the lookup table, and each of the memory elements of kxJJ is accessed. Outputs signals that control the memory to be used.

ところでプロセッサ・ユニット2で処理する前後の画像
メモリ1が別のメモリで、しかもそのメモリ構成がそれ
ぞれkxJJ、KXLの場合には、第15図の様に、2
つのルックアップテーブルを用いれば良いことは容易に
推察できる。この場合ルックアップテーブル151とル
ックアップテーブル152は別の内容のテーブルとなる
By the way, if the image memories 1 before and after processing by the processor unit 2 are different memories, and their memory configurations are kxJJ and KXL, respectively, as shown in FIG.
It can be easily inferred that it is sufficient to use one lookup table. In this case, lookup table 151 and lookup table 152 are tables with different contents.

又、k=に、 父−Lとなっても全く問題はない。以上
前述したような構成をすれば、アクセスするメモリ・エ
レメントをkx見文例メモリ・エレメント全部としない
で、一部マスクする事が可能である。そしてkxJlの
メそり・エレメントの構成は最大必要とするkx、11
の大きさに設定すれば良い。
Also, there is no problem at all if k = becomes father -L. With the configuration described above, it is possible to mask some of the memory elements to be accessed without having to access all of the kx sentence example memory elements. And the mesori element configuration of kxJl requires the maximum kx, 11
You can set it to the size of .

次にメモリ・エレメントをどのようにアクセスして前画
面全体にあたる画像データすべてを処理するか、即ち全
メモリデータのアクセスのスキャン方法について説明す
る。
Next, a description will be given of how to access the memory elements and process all the image data corresponding to the entire previous screen, that is, how to scan the access of all the memory data.

例えばアクセスする隣接するkx!;Lのブロックの端
点Uの位置アドレス、つまり垂直方向で端から、0から
順に数えた時の番号をYとし、水平方向で端から、0か
ら順に数えた時の番号をXとした時のY、Xが定まった
場合のメモリのアクセスの仕方は、すでに説明した。そ
れでは、このX。
For example, access neighboring kx! ;The position address of the end point U of the block of L, that is, when Y is the number when counting from 0 in the vertical direction and X is the number when counting from 0 in the horizontal direction. The method of accessing the memory when Y and X are determined has already been explained. Now then, this X.

Yをどの様な順番でスキャンして全画像を処理す3す るかの実施例を説明する。In what order do you scan Y and process all images? An example will be explained below.

(第1例) kXlのメモリ・エレメントをアクセスするための画像
データの位置アドレスY、Xをそれぞれに、lの整数倍
ずつ増減させてスキャンする方法で、例えばはじめにY
、Xを0に設定し、Xを順次旦ずつ増やす。水平方向の
終点までXを増やしたら、次はXをOに設定し直し、Y
をに増やしてまたXを文ずつ増やす。これをシーケンシ
ャルに繰り返して全画面又は画面の一部をスキャンする
。仮りにこれを第1シーケンシヤルスキヤン方式と名付
ける。
(First example) This is a method of scanning the image data position addresses Y and X for accessing the memory element of kXl by increasing or decreasing them by integer multiples of l.
, set X to 0, and increase X sequentially by 1. After increasing X to the end point in the horizontal direction, set X again to O, and set Y
Increase by , and then increase X by a sentence. This is repeated sequentially to scan the entire screen or a part of the screen. This will be tentatively named the first sequential scanning method.

(第2例) 又、X、Yの増減を前述のようにシーケンシャルに行わ
ないで、画像全画面のあちらこちらの連続するkx交の
ブロックをとびとびにアクセス32′ し、しかもそのアクセスする時のX、Yかに1文の整数
倍の変位である時に、仮りにこれを第1ランダムスキヤ
ン方式と名付ける。
(Second example) Also, instead of increasing and decreasing X and Y sequentially as described above, you access consecutive kx blocks here and there on the entire image screen one by one, and when you access it, When the displacement of X and Y is an integer multiple of one sentence, this is tentatively named the first random scan method.

(第3例) kx、Qのメモリ・エレメントをアクセスするための画
像データの位置アドレスY、Xをそれぞれ整数ずつ増減
させてスキャンする方法で、例えばはじめにY、XをO
に設定し、Xを順次1ずっ増やす。水平方向の終点まで
Xを増やしたら、次にXを再びOに設定し直し、Yを1
増やしてからXを1ずつ増やしていく。これをシーケン
シャルに繰り返して全画面又は画面の一部をスキャンす
る。これを仮に第2シーケンシヤルスキヤン方式と名付
ける。この場合、同じメモリデータを何度もアクセスさ
れる。
(Third example) A method of scanning by increasing or decreasing the image data position addresses Y and X by integers to access memory elements kx and Q. For example, first, Y and
, and sequentially increase X by 1. After increasing X to the end point in the horizontal direction, set X back to O and set Y to 1.
Then increase X by 1. This is repeated sequentially to scan the entire screen or a part of the screen. This is tentatively named the second sequential scanning method. In this case, the same memory data is accessed many times.

(第4例) 又、X、Yの増減を前述のようにシーケンシャルに行わ
ないで、画像全画面のあちらこちらのkXlのブロック
をとびとびにアクセスし、全X、Yについてこれを実行
する。又は画面全画面の内、連続する一部分全部のX、
Yに一ついて実行。それがランダムである時に、これを
第2ランダムスキヤン方式と仮りに名付ける。
(Fourth Example) Also, instead of increasing and decreasing X and Y sequentially as described above, blocks of kXl here and there on the entire image screen are accessed one after another, and this is executed for all X and Y. Or X of all consecutive parts of the entire screen,
Go to Y and execute. When it is random, we tentatively name it the second random scan method.

(第5例) kXlのメモリ・エレメントを有するメモリ構成におい
て、アクセスするメモリブロックかに′x文′の時に、
(1≦に′≦に、1≦旦′≦文)位置アドレスY、Xを
に′、U′の整数倍ずつ増減させてこれをシーケンシャ
ルに繰り返して全画面をスキャンする方式を第1シーケ
ンシヤルスキヤン方式と区別して、ブロックワイズ・シ
ーケンシャルスキャン方式と名付ける。
(Fifth example) In a memory configuration with kXl memory elements, when the memory block to be accessed is 'x statement',
(1≦ ′≦, 1≦dan′≦ sentence) The first sequential method is to increase/decrease the position addresses Y and X by integer multiples of ′ and U′ and repeat this sequentially to scan the entire screen. It is called the blockwise sequential scan method to distinguish it from the scan method.

(第ε例) 又、X、Yの増減を(第5例)のようにシーケンシャル
に行わないで、画像全画面のあちらこちらの連続するに
’x文”のブロックをとびとびにアクセスし、そのY、
xかに’xJ1′の整数倍の変位である時に、仮りにこ
れをブロックワイズ・ランダムスキャン方式と名付ける
(Example ε) Also, instead of increasing and decreasing X and Y sequentially as in (Example 5), access successive blocks of 'x sentences' here and there on the entire image screen, and then Y,
When the displacement of x is an integral multiple of 'xJ1', this is tentatively named a blockwise random scan method.

(第7例) メモリ・エレメントのkXiのメモリ構成に関係なく、
シーケンシャルにスキャンするもの、例えば任意の数d
′、f′おきにX、Yを変化させてスキャンするものを
、単にシーケンシャルスキャン方式と呼ぶ。
(7th example) Regardless of the memory configuration of memory element kXi,
Something to scan sequentially, e.g. any number d
A method in which scanning is performed by changing X and Y every ', f' is simply called a sequential scan method.

(第8例) (第7 例)でランダムにスキャンする場合や(第4例
)の場合でも、全てのX、Yの組み合わせについてメモ
リアクセスを行わない場合に、単にランダムスキャン方
式と呼ぶ事にする。
(8th example) Even in the case of (7th example) when scanning is performed at random, or (4th example) when memory access is not performed for all combinations of X and Y, it is simply called a random scan method. do.

以上のように数々のスキャン方式が考えられるが、これ
とは別に、メ、モリ“アクセスには、リード側のメモリ
アクセスがあり、このリード側のメモリアクセスのスキ
ャン方式とライト側のメモリアクセスのスキャン方式が
一致するとは限らない。
As mentioned above, there are many scanning methods that can be considered, but apart from these, there is also a read-side memory access for memory access, and a scan method for read-side memory access and a write-side memory access. The scanning methods do not necessarily match.

又、このスキャン方法はリード側が決まれば、ライト側
のアクセスするX′、Y′はプロセッサ・ユニット2の
処理内容で決まる。又、ライト側のスキャン方法を先に
決めてもよい。この場合はリード側のスキャンは処理内
容て決まる。
Furthermore, in this scanning method, once the read side is determined, X' and Y' to be accessed on the write side are determined by the processing content of the processor unit 2. Alternatively, the scanning method on the write side may be determined first. In this case, the scan on the read side is determined by the processing content.

又、リード側とライト側でのアクセスするブロックサイ
ズに′、u′が異なる事もあれば、メモリ・エレメント
構成kxUのサイズが異なる事もある。
Further, the block sizes ' and u' to be accessed on the read side and the write side may be different, and the size of the memory element configuration kxU may be different.

以上の説明を基にプロセッサ・ユニット2としてアレー
ブプロセッサ・ユニットを用い、空間フィルタ処理を行
う後述実施例の場合のスキャンの方式の一例について説
明する。
Based on the above description, an example of a scanning method will be described in the case of the embodiment described later in which an array processor unit is used as the processor unit 2 and spatial filter processing is performed.

まず後述実施例では、人力m″×n″画素領域出力をk
”’X見°゛画素領域とするが、この場合には出力側1
画面全ての出力を得るためには、入力端のm″×n″の
読み出し画素領域を全画面に対して水平方向k °゛、
垂直力向見°°′単位ずつずらしてスキャンすれは良い
。又、この際にm″×n″、k”’ x旦゛°゛の画素
領域のうち、左上端の画素の位置を(Y、X)、(Y”
First, in the embodiment described later, the human power m″×n″ pixel area output is k
``'X view°'' pixel area, in this case output side 1
In order to obtain output for the entire screen, the m″×n″ readout pixel area at the input end should be set horizontally at k° with respect to the entire screen.
It is good to scan by shifting the vertical force by °°' units. Also, at this time, the position of the upper left pixel in the pixel area of m''×n'', k'''
.

X′)とすれば、Y、Xはそれぞれに一゛。X'), then Y and X are each 1.

旦パ°ずつ縦方向、横方向のアドレスを増減させて、全
メモリアドレスをスキャンすれば良い。
All memory addresses can be scanned by increasing/decreasing the vertical and horizontal addresses each time.

この場合、リード側のメモリスキャンはのシーケンシャ
ルスキャン方式に相当し、ライト側のメモリスキャンは
ブロックワイズ・シーケンシャルスキャン方式となる。
In this case, the read side memory scan corresponds to the sequential scan method, and the write side memory scan corresponds to the blockwise sequential scan method.

又、ライト側のメモリ構成自体がk ”’ x Q ”
’個のメモリユニットで構成されていれば、第1シーケ
ンシヤルスキヤン方式前述の如くして、原画上の矩形領
域m画素×n画素に対応する画像メモリ上の画像データ
に同時にアクセスをかけ、各画素にそれぞれ1個の演算
素子(プロセッサ・エレメント、以下PEと記す)を対
応させたmxn個のPEよりなるアレープロセサユニッ
ト(アレープロセッサ・ユニット、以下APUと記す)
に画素データを取り込んだ後に、APIにて空間フィル
タ演算処理を施して結果を出力する過程を説明する。
Also, the memory configuration itself on the write side is k ”' x Q ”
If the memory unit is made up of '' memory units, the first sequential scanning method, as described above, simultaneously accesses the image data on the image memory corresponding to the rectangular area m pixels x n pixels on the original image, and An array processor unit (hereinafter referred to as APU) consisting of mxn PEs in which one arithmetic element (hereinafter referred to as PE) corresponds to each pixel.
The following describes the process of taking in pixel data, performing spatial filter calculation processing using the API, and outputting the results.

第18図は原図に対応する人力ブロック181及び各画
素181aとAPU182及びPE182a、並びに出
力画素ブロック183と各画素183aの対応を示す図
である。ここで、m=n=4である。よって、入力側メ
モリの16画素分のデータを同時にアクセスしてAPU
に取り込む。
FIG. 18 is a diagram showing the correspondence between the human power block 181 and each pixel 181a, APU 182 and PE 182a, and the output pixel block 183 and each pixel 183a corresponding to the original drawing. Here, m=n=4. Therefore, data for 16 pixels in the input memory can be simultaneously accessed and the APU
Incorporate into.

APUは16個のPEより構成される。APUは3画素
×3画素の領域での空間フィルタ演算を施し、2画素×
2画素の4画素よりなる出力側メモリのブロックに出力
する。
The APU is composed of 16 PEs. The APU performs spatial filter calculation on a 3 pixel x 3 pixel area, and
Output to an output side memory block consisting of 2 pixels and 4 pixels.

ここて、APU内の各PEは4×4の画素に対応し、正
方格子状に4X4=16個て構成されている。行方向及
び列方向にそれぞれ順に番号をつけ、その組合わせで、
第19図に示すように、各PEに(行番号、列番号)と
いった表現をすることにより各PEの区別をする。
Here, each PE in the APU corresponds to a 4×4 pixel, and is configured in a square grid of 4×4=16 PEs. Number each row and column in order, and in combination,
As shown in FIG. 19, each PE is distinguished by expressing it as (row number, column number).

ここで、空間フルタ演算とは、例えば、第20図に示さ
れるような係数マトリクスを用いて、それぞれ対応する
画素毎に各係数と積をとり、その総和を中心位置に対応
するメモリに出力するものである。第21図を用いて説
明すれば、(1,1)、 (1,2)、(1,3)、(
2,1)、(2,2)、(2,3)、(3,1)、(3
,2’)、(3,3)で構成される3×3の領域に対し
ては、(2,2)が演算を行い、他のPEよりデータを
受は取り、空間フィルタ演算を行う。同様に、(1,2
)、 (1,3)、(1,4)、(2,2)、 (2,
3)、(2,4) 、 (3、2)、(3,3)、(3
,4)で構成される3X3の領域に対しては、(’2.
3)が空間フィルタ演算を行い、(2’、1)、(2,
2)、 (2,3)、 (3,1)、(3,2)、(3
;3)、(4,1)、(4,2)、(4,3)で構成さ
れる3×3の領域に対しては(3,2)が空間フィルタ
演算を行う。また、(2,2)、(2,3)、 (2,
4)、(3,2)、(3,3)、(3,4)、(4,2
’)、(4,3)、(4,4)で構成される3x3の領
域に対しては、(3,3)が空間フィルタ演算を行うの
である。
Here, the spatial fullter operation is, for example, using a coefficient matrix as shown in FIG. 20, multiplying each coefficient with each corresponding pixel, and outputting the sum to the memory corresponding to the center position. It is something. To explain using FIG. 21, (1, 1), (1, 2), (1, 3), (
2,1), (2,2), (2,3), (3,1), (3
, 2'), and (3, 3), (2, 2) performs calculations, receives data from other PEs, and performs spatial filter calculations. Similarly, (1,2
), (1,3), (1,4), (2,2), (2,
3), (2,4), (3,2), (3,3), (3
, 4), for a 3×3 area consisting of ('2.
3) performs a spatial filter operation, (2', 1), (2,
2), (2,3), (3,1), (3,2), (3
;3), (3,2) performs a spatial filter operation on a 3×3 area composed of (4,1), (4,2), and (4,3). Also, (2, 2), (2, 3), (2,
4), (3,2), (3,3), (3,4), (4,2
), (4,3), and (4,4), (3,3) performs the spatial filter calculation.

ここで、空間フィルタ演算を行う(2,2)、(2,3
)、(3,2)、(3,3)のP’ Eは、例えば第2
1図に示されるような回路を具備し、これをもつって前
記空間フィルタ演算を実現する。第21図の回路は、隣
接する8つのPEよりのデータを加算器221〜227
で全て加算し、シフタ228で1X8倍して、減算器2
29で注目画素となるこの回路をもつP ’E自体の取
り込んだ値を遅延回路231で遅延したものとの差をと
り、加算器230で減算器229の出力する差とpE自
体の取り込んだ値を更に遅延回路232で遅延したもの
との和をとることにより空間フィルタ演算を実行するも
のである。これにより、4X4画素領域を人力し、2X
2画素領域に出力してゆくものである。
Here, perform spatial filter calculations (2, 2), (2, 3
), (3,2), (3,3) P'E is, for example, the second
A circuit as shown in FIG. 1 is provided, and the above-mentioned spatial filter operation is realized using this circuit. The circuit in FIG. 21 adds data from eight adjacent PEs to adders 221 to 227.
, add them all, multiply by 1X8 with shifter 228, and subtracter 2.
In step 29, the difference between the value taken in by P'E itself which has this circuit, which becomes the pixel of interest, and the value delayed by the delay circuit 231 is calculated, and the adder 230 calculates the difference between the difference output from the subtracter 229 and the value taken in by pE itself. A spatial filter operation is executed by calculating the sum of the signal and the signal further delayed by the delay circuit 232. As a result, the 4x4 pixel area can be manually divided into 2x
It outputs to a 2-pixel area.

また、説明では4X4画素領域を人力に、2×2画素領
域を出力に、空間フィルタを3×3画素領域として説明
したが、これに限るものではなく、入力をmXn画素領
域、出力をkxu画素領域、空間フィルタをpxq画素
領域(但し、m≧に+Psかつn≧fl+q)とできる
ことは明らかである。また、空間フィルタの係数も第2
0図に限るものではなく、係数マトリクスに対応した処
理回路を具備するPEを用いることにすればよい。
In addition, in the explanation, a 4x4 pixel area is used manually, a 2x2 pixel area is used as an output, and a spatial filter is used as a 3x3 pixel area, but the invention is not limited to this. It is clear that the area and the spatial filter can be made into a pxq pixel area (where m≧+Ps and n≧fl+q). Also, the coefficients of the spatial filter are also
The present invention is not limited to the one shown in FIG. 0, and a PE equipped with a processing circuit corresponding to the coefficient matrix may be used.

以上説明したように、従来1出力画素毎に繰り返してい
た処理を、同じサイクルで複数の出力画素に対して処理
結果を出力するため、非常に高速な処理が可能となる。
As explained above, since the processing that was conventionally repeated for each output pixel is outputted for a plurality of output pixels in the same cycle, extremely high-speed processing becomes possible.

また、入力端の連続する近傍画素を一度に人力すること
により、空間フィルタ演算を1サイクルで実行でき、か
つ、複数の出力画素に対して空間フィルタ演算出力を同
時に可能であるといった点で効果がある。
Another advantage is that spatial filter calculations can be executed in one cycle by manually processing consecutive neighboring pixels at the input end, and spatial filter calculations can be output simultaneously for multiple output pixels. be.

又、入力データを同時に複数アクセスして処理すること
により、データを1つずつアクセスするより、処理の実
行速度が速くなるのみならず、各PE間でデータの授受
を行うことで同時にアクセスするデータの間の相関関係
をも考慮した演算(空間フィルタ演算、色処理等)を1
回の入力データアクセスで実行できるという利点も有す
る。
In addition, by accessing and processing multiple pieces of input data at the same time, processing execution speed is not only faster than accessing data one by one, but also by sending and receiving data between each PE, data can be accessed simultaneously. Calculations (spatial filter calculations, color processing, etc.) that also take into account the correlation between
It also has the advantage that it can be executed with only one input data access.

後述する本発明の他の実施例においては、画像の拡大処
理をプロセッサ・ユニット2において行うが、リード側
とライト側との画像メモリを構成するメモリ・エレメン
トの数kxJJ、KXLについては限定しない。又、リ
ード側とライト側とでアクセスする画素のブロックサイ
ズに′X文”、K′×L′についても限定しない。しか
しながら、プロセッサ・ユニット2で行う画像の拡大処
理により、リード側アクセスサイズに’xl’を拡大し
たサイズが、最大の縦・横変倍率をα、βとした時に、
K≧αに′、L≧β交′を満足しなければいけない事は
容易に推察できる。
In other embodiments of the present invention to be described later, image enlargement processing is performed in the processor unit 2, but the numbers kxJJ and KXL of memory elements constituting the image memories on the read side and the write side are not limited. Furthermore, the block size of pixels accessed on the read side and the write side is not limited to 'X sentence' or K' x L'.However, due to the image enlargement process performed by the processor unit 2, the access size on the read side is When the enlarged size of 'xl' is the maximum vertical and horizontal scaling factor α and β,
It can be easily inferred that K≧α and L≧β intersection must be satisfied.

拡大処理について説明する。第22図に示すように、プ
ロセッサ・ユニット312はアドレス生成部313と演
算回路部315よりなり、制御回路311の制御に従っ
て動作する。アドレス生成部313は、演算回路部31
5内にある各プロセッサ・エレメントが出力する出力側
画像メモリ317に対応した画像データを、算出するた
めに必要とする入力画像データを保持している入力側画
像メモリ316の開始アドレスを生成する。演算回路部
315は該開始アドレスを画像領域の一端とするデータ
領域の画像データを全て取り込む。
Expansion processing will be explained. As shown in FIG. 22, the processor unit 312 includes an address generation section 313 and an arithmetic circuit section 315, and operates under the control of the control circuit 311. The address generation section 313 includes the arithmetic circuit section 31
The start address of the input image memory 316 holding the input image data necessary for calculating the image data corresponding to the output image memory 317 output by each processor element in the processor element 5 is generated. The arithmetic circuit unit 315 takes in all the image data of the data area having the start address as one end of the image area.

各プロセッサ・エレメントは、取り込んだデータの中か
ら、演算結果を出力する出力側画像メモリ317の位置
に対応する人力データを選択し、2次元補間演算を施し
て出力するものである。
Each processor element selects human data corresponding to the position of the output side image memory 317 where the calculation result is to be outputted from among the captured data, performs a two-dimensional interpolation calculation, and outputs the data.

以下、もう少し詳細に説明する。説明の都合上、プロセ
ッサ・ユニット312は主走査方向に4列、副走査方向
に4行の構成、即ち16個のプロセッサ・エレメントよ
り構成されているものとする。入力側画像メモリ316
は常に主走査方向に5列、副走査方向に5行の構成、即
ち25画素領域のデータを同時にプロセッサ・ユニット
に対して出力する。この際、どの5×5の領域のデータ
を出力するかは、前記アドレス生成部313より指示さ
れるものである。第23図に従ってアドレス生成部の説
明を行う。レジスタ321には、主走査方向倍率の逆数
の4倍の値が予め制御回路311よりセットされる。ま
た、レジスタ322には、副走査方向倍率の逆数の4倍
の値が予め制御回路311によりセットされる。また、
ラッチ325は副走査方向の動作同期信号によりτにク
リアされ、主走査方向の動作同期信号327で加算器3
23の出力を取り込む。加算器323は主走査方向の動
作同期信号327で、レジスタ321の保持する値とラ
ッチ325の保持する値とを加算して出力する。これに
より、主走査方向の動作同期によって、ラッチ325が
出力する値は主走査方向倍率の逆数の4倍の値づつ増大
し、副走査方向の動作同期が入る度にOにクリアされる
。レジスタ322.加算器324.ラッチ326も、レ
ジスタ321.加算器323.ラッチ325の動作で、
主走査動作同期を副走査動作同期に、副走査動作同期を
ページ同期に置換えると全く同様に動作する。ラッチ3
25及びラッチ326の出力をもって、入力端画像メモ
リ316の5×5の画素領域を指示する信号とする。入
力端画像メモリ316は、該アドレス位置から主走査方
向に5画素及び副走査方向に5画素の領域の25画素分
のデータを出力するものである。出力側画像メモリ31
7のアドレスに関しては、主走査動作同期に従って、出
力側画像メモリ317の主走査方向に4画素分のアドレ
スを増加させ、副走査動作同期に応じて副走査方向に4
画素分のアドレスを増加させるものである。
This will be explained in more detail below. For convenience of explanation, it is assumed that the processor unit 312 has a configuration of 4 columns in the main scanning direction and 4 rows in the sub-scanning direction, that is, 16 processor elements. Input side image memory 316
always outputs data of 5 columns in the main scanning direction and 5 rows in the sub-scanning direction, that is, a 25 pixel area, to the processor unit at the same time. At this time, the address generation unit 313 instructs which 5×5 area data is to be output. The address generation section will be explained according to FIG. The register 321 is set in advance by the control circuit 311 to a value that is four times the reciprocal of the magnification in the main scanning direction. Further, a value that is four times the reciprocal of the magnification in the sub-scanning direction is set in advance in the register 322 by the control circuit 311. Also,
The latch 325 is cleared to τ by the operation synchronization signal in the sub-scanning direction, and the adder 3 is cleared to τ by the operation synchronization signal 327 in the main scanning direction.
Take in the output of 23. The adder 323 adds the value held in the register 321 and the value held in the latch 325 with the operation synchronization signal 327 in the main scanning direction and outputs the result. As a result, the value output by the latch 325 increases by four times the reciprocal of the magnification in the main scanning direction due to the synchronization of the operation in the main scanning direction, and is cleared to O every time the synchronization of the operation in the sub-scanning direction is entered. Register 322. Adder 324. Latch 326 also registers 321 . Adder 323. With the operation of latch 325,
If main scanning operation synchronization is replaced with sub-scanning operation synchronization and sub-scanning operation synchronization is replaced with page synchronization, the operation will be exactly the same. latch 3
The outputs of 25 and the latch 326 are used as a signal indicating a 5×5 pixel area of the input end image memory 316. The input end image memory 316 outputs data for 25 pixels in an area of 5 pixels in the main scanning direction and 5 pixels in the sub-scanning direction from the address position. Output side image memory 31
Regarding the address No. 7, the address is increased by 4 pixels in the main scanning direction of the output side image memory 317 according to the synchronization of the main scanning operation, and the address is increased by 4 pixels in the sub-scanning direction according to the synchronization of the sub-scanning operation.
This increases the address for each pixel.

プロセッサ・ユニット312内のアドレス補正部314
は、演算回路部315内の16個の各プロセッサ・エレ
メントに対して、入力された25画素分のデータのうち
適切な4画素分のデータをセレクトし、かつ補間演算用
の補間係数を与えるためのアドレス補正信号を生成する
Address correction section 314 in processor unit 312
is for selecting appropriate 4-pixel data from among the input 25-pixel data and providing interpolation coefficients for interpolation calculations to each of the 16 processor elements in the arithmetic circuit unit 315. generates an address correction signal.

第24図はプロセッサ・ユニット2の構成を示しており
、331は第23図で説明したアドレス生成部313そ
のものである。332は第23図で説明した回路と同様
の回路で構成されているが、主走査方向のレジスタ32
1は、主2は主1よりも主走査方向の倍率の逆数分だけ
常に大きな値をもち、主3は主2より、主4は主3より
それぞれ同様に大きな値をもつ。一方、副走査方向のレ
ジスタ322には副走査方向の倍率の逆数分だけ、副4
は副3より、副3は副2より、副2は副1よりも大きな
値をもつものである。また、主2〜主4及び副2〜副4
は入カニリアの25画素のどの4画素を選択すべぎかを
示す信号として用いる。例えば、主走査方向に2.5倍
、副走査方向に1.5倍の拡大を行う場合を考えると、
主1は1.600 (=4X1/2.5)づつカウトア
ップし、副1は2.666(〜4×1/1.5)づつカ
ウントアツプし、主1及び副1のカウンタの整数部を用
いて、入力側画像メモリ316の25画素の領域の開始
アドレスとして用いる。また、主1の出力の小数部はプ
ロセッサアレイの1列、即ち、第24図の(1,1)。
FIG. 24 shows the configuration of the processor unit 2, and 331 is the address generation section 313 itself explained in FIG. 23. 332 is composed of a circuit similar to the circuit explained in FIG. 23, but the register 32 in the main scanning direction
1, the main 2 always has a larger value than the main 1 by the reciprocal of the magnification in the main scanning direction, the main 3 has a similarly larger value than the main 2, and the main 4 has a similarly larger value than the main 3. On the other hand, the register 322 in the sub-scanning direction stores sub-4 by the reciprocal of the magnification in the sub-scanning direction.
has a larger value than sub-3, sub-3 has a larger value than sub-2, and sub-2 has a larger value than sub-1. Also, main 2 to main 4 and sub 2 to sub 4
is used as a signal to indicate which four pixels out of the 25 pixels of the input camera should be selected. For example, if we consider the case of enlarging 2.5 times in the main scanning direction and 1.5 times in the sub-scanning direction,
The main 1 counts up by 1.600 (=4 x 1/2.5), the sub 1 counts up by 2.666 (~4 x 1/1.5), and the integer parts of the main 1 and sub 1 counters are counted up. It is used as the start address of the 25-pixel area of the input side image memory 316. Moreover, the decimal part of the output of main 1 is in one column of the processor array, that is, (1, 1) in FIG.

(2,1)、(3,t)、(4,t)の4個のプロセッ
サ・エレメント(PE)に対して主走査方向の補間係数
データとして用いられる。副1の出力の小数部はプロセ
ッサアレイの1行、即ち第24図の(1,1)、(1,
2)、(1,3)、(1,4)の4個のプロセッサ・エ
レメントに対して副走査方向の補間係数データとして用
いられる。主2、主3、主4は各々の値の間に0.40
0 (−1/2.5)づつカウント量に差があり、副2
、副3、副4は各々の値の間に0.666(〜1/1.
5)づつカウント量に差がある。また、これらのカウン
トを記憶するラッチは整数部が毎回クリアされ、小数部
は累積される。主2〜主4は各々プロセッサアレイの2
列〜4列の各プロセッサ・エレメントに整数部及び小数
部を出力し、副2〜副4は各々プロセッサアレイの2行
〜4行の各プロセッサ・エレメントに整数部及び小数部
を出力する。各プロセッサアレイは対応する主走査方向
のラッチ325及び対応す、 る副走査方向のラッチ3
26からの整数部をもって、入力端画像メモリ316か
らの25画素のデータから4画素を選択し、小数部をも
って補間係数として2次元の内挿補間を行って、対応す
る出力側画像メモリ317に補間演算結果を出力するも
のである。出力側画像メモリ317は、常に4画素×4
画素の16画素の領域を単位としてアクセスされ、各P
Eがその16画素の1個に対応付けられているものであ
る。
This data is used as interpolation coefficient data in the main scanning direction for four processor elements (PE) (2,1), (3,t), and (4,t). The fractional part of the output of sub-1 corresponds to one row of the processor array, that is, (1, 1), (1,
2), (1, 3), and (1, 4) as interpolation coefficient data in the sub-scanning direction. Main 2, main 3, main 4 are 0.40 between each value
There is a difference in the count amount by 0 (-1/2.5), and the second
, sub-3, and sub-4 have 0.666 (~1/1.
5) There is a difference in the count amount. Additionally, the integer part of the latches that store these counts is cleared each time, and the decimal part is accumulated. Main 2 to main 4 are each 2 of the processor array.
The integer part and the decimal part are output to each of the processor elements in the columns 4 to 4, and the sub-2 to sub-4 output the integer part and the decimal part to the processor elements in the 2nd to 4th rows of the processor array, respectively. Each processor array has a corresponding latch 325 in the main scanning direction and a corresponding latch 3 in the sub-scanning direction.
Using the integer part from 26, select 4 pixels from the 25 pixel data from the input end image memory 316, perform two-dimensional interpolation using the decimal part as an interpolation coefficient, and interpolate into the corresponding output side image memory 317. It outputs the calculation results. The output side image memory 317 always has 4 pixels x 4
Accessed in units of 16 pixel areas, each P
E is associated with one of the 16 pixels.

第25図は各PEが1個づつ持つ25画素から4画素を
選択する選択回路を表わしており、第26図は第25図
の選択回路の構成例を示し、選択回路が主走査選択器3
51〜355と副走査選択器356.357より構成さ
れることを示しており、第27図は各主走査選択器及び
副走査選択器の構成例を示し、各主走査選択器及び副走
査選択器が2個の4人力1出力の選択器361゜362
で構成できることを示している。又、主1及び副1から
の整数部は常にOの値を各1列及び1行のPEに出力し
ているものである。これにより、各PE (i、j)は
、主11副jの整数部の出力(I、J)に対して4人力
の工番目と1+1番目及び3番目とJ+1番地を選択す
るものである。これにより、pE(i、j)は25画素
のうち [1,J  コ 、   [++1.   J
l  、   [I、   Jl1]、[++1.Jl
1]を4画素として選択するものである。
FIG. 25 shows a selection circuit that selects 4 pixels from 25 pixels that each PE has, and FIG. 26 shows an example of the configuration of the selection circuit in FIG.
51 to 355 and sub-scanning selectors 356 and 357. FIG. 27 shows an example of the configuration of each main-scanning selector and sub-scanning selector. 4-person power 1-output selector with 2 devices 361°362
This shows that it can be composed of Furthermore, the integer parts from the main 1 and sub 1 always output the value O to the PEs in one column and one row, respectively. As a result, each PE (i, j) selects the four manpower addresses, 1+1, 3rd, and J+1 for the output (I, J) of the integer part of the main 11 subj. As a result, pE(i, j) is [1, J ko, [++1. J
l, [I, Jl1], [++1. Jl
1] are selected as four pixels.

次に第28図の二次元線形補間回路において、4画素の
各人力値をV[1,Jl + V[1,J+l] +v
[1+1. Jl + V [++1. J+l] と
し、主走査及び副走査の補間係数をそれぞれα、βとす
ると、これらは主1〜4及び副1〜4の対応する小数部
用力として与えられ、 (1−β)(1−α)V[1,Jl +αV [1+1
.Jl )+ β ((1−α )  V  [1,、
、+++]  + α V  [+41.J+I]  
)を演算し、補間出力するものである。(0≦α。
Next, in the two-dimensional linear interpolation circuit shown in FIG.
[1+1. Jl + V [++1. J+l] and the interpolation coefficients for main scanning and sub-scanning are α and β, respectively, and these are given as the corresponding fractional parts of main 1 to 4 and sub 1 to 4, and (1-β)(1-α )V[1,Jl +αV[1+1
.. Jl ) + β ((1-α) V [1,,
, +++] + α V [+41. J+I]
) is calculated and interpolated and output. (0≦α.

βく1) 以上、プロセッサ・ユニット312の動きを説明したが
、入力端画像メモリ316とプロセッサ・ユニット31
2と出力側画像メモリ317の画素エリアの対応は第2
9図に示すような関係となる。即ち、プロセッサ・ユニ
ット312のプロセッサ・エレメントの数は出力側画像
メモリ317の画素数に等しく、入力側画像メモリ31
6の演算に用いられる画像エリアの画素数は、プロセッ
サ・ユニット312のプロセッサ・エレメントの数より
少なくなる。
β1) The operation of the processor unit 312 has been explained above, but the input end image memory 316 and the processor unit 31
2 and the pixel area of the output side image memory 317 are as follows.
The relationship is as shown in Figure 9. That is, the number of processor elements of the processor unit 312 is equal to the number of pixels of the output side image memory 317, and the number of processor elements of the input side image memory 31 is equal to the number of pixels of the output side image memory 317.
The number of pixels in the image area used for the calculation in step 6 is smaller than the number of processor elements in the processor unit 312.

以上説明した如く木実流側によれば、従来1出力画素毎
に繰り返していた処理を同じサイクルで複数の出力画素
に対して処理結果を出力するため、非常に高速な処理が
可能となる。
As explained above, according to the Kinotsu style, processing results that were conventionally repeated for each output pixel are outputted for a plurality of output pixels in the same cycle, making it possible to perform extremely high-speed processing.

また、入力側の連続する近傍画素を一度に入力すること
により、補間演算を実行することが可能となるメリット
も有する。
Furthermore, there is an advantage that interpolation calculations can be executed by inputting consecutive neighboring pixels on the input side at once.

[第2の実施例] 同時にkXl個のデータをアクセスするためのkxJ1
個のメモリ・エレメントへの画像データの割り付けの第
2の実施例について説明する。
[Second embodiment] kxJ1 for accessing kXl data at the same time
A second example of allocating image data to memory elements will be described.

第16図は画像1画面の上方をデータに置き換えた状態
を示す図で、これを水平方向2等分に分割し、垂直方向
に等分に分割する。この時にkXUに分割されたエリア
を説明のために、(0,0)、 (0,1)、・・・(
0,父)、・・・、(k、見)とすると、この1つ1つ
のエリアを第17図に示すように1つ1つのメモリ・エ
レメントに割り付ける。割り付は方は、第16図に示す
破線斜線の部分を、各々のメモリ・エレメントの0番地
に割り付け、次に隣りの画像データを各々のメモリ・エ
レメントの1番地に割り付け、同様にエリア内の1ライ
ンすべての割り付けが終わったら、2ライン目を同様に
左から右へと割り付け、すべての画像データを割り付け
る。すると、kxJlj個の全てのメモリ・エレメント
に対し、第4図に示すローアドレス・ジェネレータ4、
及びカラムアドレス・ジェネレータ5が与えるアドレス
が全て同一である時に、第16図に示す斜線部のように
、とびとびの画像データを一度にアクセスする事ができ
る。
FIG. 16 is a diagram showing a state in which the upper part of one image screen has been replaced with data, and this is divided into two equal parts in the horizontal direction and divided into equal parts in the vertical direction. To explain the areas divided into kXU at this time, (0, 0), (0, 1), ... (
0, father), . . . , (k, see), each area is allocated to each memory element as shown in FIG. The allocation method is to allocate the dashed diagonal area shown in Figure 16 to address 0 of each memory element, then allocate the adjacent image data to address 1 of each memory element, and similarly, allocate the area within the area. When all the lines have been allocated, the second line is allocated from left to right in the same way, and all the image data is allocated. Then, for all kxJlj memory elements, the row address generator 4 shown in FIG.
When the addresses given by the column address generator 5 and the column address generator 5 are all the same, discrete pieces of image data can be accessed at once, as shown in the shaded area in FIG.

この様な構成をとる事により、あるアドレスを指定して
画像メモリ1をリートして、プロセッサ・ユニット2に
おいて処理を受けた後に、kxU個のメモリ・エレメン
ト1aにライトする際のアドレスを変える事なく、デー
タを書き込める可能性が生じる。例えば、第16図に示
す様に、前記エリアがKXLの画素データで構成される
場合に、画像1画面中の1部分を水平方向にLの整数倍
、垂直方向にKの整数倍の変位の移動や転送等の処理を
行う場合にはリードアドレスとライトアドレスは同一で
構わない。このために、ローアドレス・ジェネレータ4
.カラムアドレス・ジェネレータ5等のアドレス制御関
係の負荷が極端に減る。
By adopting such a configuration, it is possible to specify a certain address, read the image memory 1, and after processing in the processor unit 2, change the address when writing to kxU memory elements 1a. There is a possibility that data can be written without any errors. For example, as shown in FIG. 16, when the area is composed of KXL pixel data, one part of one image screen is displaced by an integral multiple of L in the horizontal direction and an integral multiple of K in the vertical direction. When performing processing such as movement or transfer, the read address and write address may be the same. For this purpose, the row address generator 4
.. The load on address control such as the column address generator 5 is extremely reduced.

この移動や転送の処理はプロセッサ・ユニット2におい
て処理される。プロセッサ・ユニット2には、第16図
に示す破線斜線で示す様にkXl個の画像データ、それ
も画面全体にわたる画像データが人力され、そのデータ
の1つ1つは水平方向と垂直方向にり、にの整数倍の変
位をもっているので、プロセッサ・ユニット2内でkx
、Q個のデータの交換や移動転送を行い、メモリ・エレ
メントの全アドレスについて、0から順番にシーケンシ
ヤルに処理を実行すれば良い。この結果、画面全体での
処理ができる。
This movement and transfer processing is processed by the processor unit 2. As shown by dashed diagonal lines in FIG. 16, the processor unit 2 receives kXl image data, which covers the entire screen, and each piece of data is divided into horizontal and vertical directions. , so in processor unit 2 kx
, Q pieces of data may be exchanged or transferred, and processing may be executed sequentially from 0 on all addresses of the memory element. As a result, processing can be performed on the entire screen.

本実施例中、kxf1個のメそり構成を例えば1xJJ
、kXl等の構成にして、画像1画面中の水平1ライン
、又は垂直1ラインを各メモリ・ユニットに割り付ける
事により、プロセッサ・ユニット2における処理が画像
1ライン分のヒストグラム演算や、−次元フーリエ変換
等の各種画像処理に適応できる事は類推できる。又、複
数画素同時アクセスの際に、画像1画面中のデータをど
のメモリ・エレメントのどの番地に割りつけるかを限定
するものではない。
In this example, the mesori configuration of kxf1 is, for example, 1xJJ
, kXl, etc., and by allocating one horizontal line or one vertical line in one image screen to each memory unit, processing in the processor unit 2 can be performed by histogram calculation for one line of the image or -dimensional Fourier calculation. It can be inferred that it can be applied to various image processing such as conversion. Furthermore, when a plurality of pixels are accessed simultaneously, there is no limitation as to which memory element and which address the data in one screen of images is allocated to.

「発明の効果」 本発明により、所定領域内にある画像データの相関関係
のある画像処理を高速に並列処理する画像処理装置を提
供できる。
"Effects of the Invention" According to the present invention, it is possible to provide an image processing device that performs high-speed parallel processing of correlated image data within a predetermined area.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本実施例の画像処理装置の構成を示す図、 第2図は画像1画面をメモリ・エレメントの番地に対応
させる図、 第3図は4×4個のメモリ・エレメントから成るメモリ
全体を示す図、 第4図はメモリとそれに与えるアドレス生成器の図、 第5図は画像の一部分を示す図、 第6図は画像一部分のメ干り割り付けを示す図、 第7図はメモリアドレスの制御回路を示す図、第8図は
画素データ制御のブロック図、第9図(a)、(b)は
本実施例の他の画像処理装置の構成を示す図、 第10図は画像1画面を示す図、 第11図はkxJJ個のメモリ・エレメントを示す図、 第12図、第13図は1個のメモリ・エレメントを示す
図、 第14図、第15図はメモリ・エレメントアクセスの制
御回路を示す図、 第16図は画像1画面を示す図、 第17図はkx、Q個のメモリ・エレメントを示す図、 第18図は入力側メモリの入力画素エリアサイズ及び出
力側メモリの出力画素エリアサイズとブユニット ロセツサ・4心ニーのアレイサイズとの対応を示す図、 第19図はプロセッサ・ユニットを構成する各プロセッ
サ・エレメント間におけるデータの受渡しを示す図、 第20図はプロセッサ・ユニットで実行される空間フィ
ルタ演算の係数マトリックスを示す図、第21図は空間
フィルタ演算を行う回路の構成側図、 第22図は拡大処理時のブロック概念図、第23図はプ
ロセッサ・ユニットのアドレス生成部の構成図、 第24図はプロセッサ・ユニットの内部のブロック概念
図、 第25図は各プロセッサ・エレメント内のデータ選択回
路部の概念図、 第26図はデータ選択回路の構成図、 第27図は第26図の主走査選択器及び副走査選択器の
さらに詳細な構成図、 第28図は二次元線形補間回路の概念図、第29図は入
出力の画素エリアサイズとプロセッサ・ユニットのアレ
イサイズの対応を表わした図である。 図中、1・・・画像メモリ、Ia、lb・・・メモリ・
エレメント、2・・・プロセッサ・ユニット、2a・・
・プロセッサ・エレメント、3・・・周辺部、4・・・
ローアドレス・ジェネレータ、5・・・カラムアドレス
・ジェネレータ、91・・・入力側画像メモリ、92・
・・プロセッサ・ユニット、93・・・出力側画像メモ
リ、94・・・制御回路、95・・・人力装置、96・
・・出力装置、181・・・人力画像メモリブロック、
181a・・・入力画素、182・・・プロセッサ・ユ
ニット、182a・・・プロセッサ・エレメント、18
3・・・出力画像メモリブロック、183a・・・出力
画素、311・・・flitH&D回路、312・・・
プロセッサ・ユニツト、313・・・アドレス生成部、
314・・・アドレス補正部、315・・・演算回路部
、316・・・入力側画像メモリ、317・・・出力側
画像メモリである。 第1図 第2図    第3図 第5図 第6図 第7図 第19図 第20図
Fig. 1 is a diagram showing the configuration of the image processing device of this embodiment, Fig. 2 is a diagram showing how one screen of images corresponds to the address of a memory element, and Fig. 3 is a diagram showing a memory consisting of 4 x 4 memory elements. Figure 4 is a diagram showing the whole memory and the address generator given to it. Figure 5 is a diagram showing a part of the image. Figure 6 is a diagram showing the layout of a part of the image. Figure 7 is a diagram of the memory. FIG. 8 is a block diagram of pixel data control; FIGS. 9(a) and (b) are diagrams showing the configuration of another image processing device according to this embodiment; FIG. 10 is a block diagram of pixel data control; Figure 11 shows kxJJ memory elements. Figures 12 and 13 show one memory element. Figures 14 and 15 show memory element access. Fig. 16 is a diagram showing one image screen; Fig. 17 is a diagram showing kx, Q memory elements; Fig. 18 is a diagram showing the input pixel area size of the input side memory and the output side memory. Figure 19 is a diagram showing the correspondence between the output pixel area size and the array size of the block unit processor/four-core knee. A diagram showing a coefficient matrix of a spatial filter operation executed by a processor unit, FIG. 21 is a side view of the configuration of a circuit that performs a spatial filter operation, FIG. 22 is a conceptual block diagram during enlargement processing, and FIG. 23 is a diagram of a processor unit. Figure 24 is a conceptual diagram of the internal block diagram of the processor unit; Figure 25 is a conceptual diagram of the data selection circuit in each processor element; Figure 26 is the configuration of the data selection circuit. Figure 27 is a more detailed configuration diagram of the main scanning selector and sub-scanning selector in Figure 26, Figure 28 is a conceptual diagram of a two-dimensional linear interpolation circuit, and Figure 29 is a diagram showing input and output pixel area sizes. FIG. 3 is a diagram showing correspondence between array sizes of processor units. In the figure, 1...image memory, Ia, lb...memory
Element, 2... Processor unit, 2a...
・Processor element, 3... Peripheral part, 4...
Row address generator, 5... Column address generator, 91... Input side image memory, 92.
... Processor unit, 93... Output side image memory, 94... Control circuit, 95... Human power device, 96...
...Output device, 181...Manual image memory block,
181a... Input pixel, 182... Processor unit, 182a... Processor element, 18
3... Output image memory block, 183a... Output pixel, 311... flit H&D circuit, 312...
Processor unit, 313...address generation section,
314: address correction unit, 315: arithmetic circuit unit, 316: input side image memory, 317: output side image memory. Figure 1 Figure 2 Figure 3 Figure 5 Figure 6 Figure 7 Figure 19 Figure 20

Claims (2)

【特許請求の範囲】[Claims] (1)他のメモリと独立にアドレスを指定してアクセス
することができる複数のメモリ・エレメントから成り、
隣接する所定領域内の画素データが同一番地に割付けら
れ、前記所定領域上で同一位置に対応する画素データが
同一の前記メモリ・エレメントに割付けられる第1の画
像メモリと、前記メモリ・エレメントに対応する複数の
プロセッサ・エレメントから成り、該プロセッサ・エレ
メント間の画像データの送受信を制御するデータ制御手
段を有し前記画像メモリ内の複数画素を同時に処理する
プロセッサ・ユニットと、 該プロセッサ・エレメントの一部に対応して、他のメモ
リと独立にアドレスを指定してアクセスすることができ
る複数のメモリ・エレメントから成り、隣接する所定領
域内の画素データが同一番地に割付けられ、前記所定領
域上で同一位置に対応する画素データが同一の前記メモ
リ・エレメントに割付けられる第2の画像メモリと、 前記第1の画像メモリの同一番地に割付けられる領域と
前記第2の画像メモリの同一番地に割付けられる領域と
の関係に対応してアドレスを制御するアドレス制御手段
とを備えることを特徴とする画像処理装置。
(1) Consisting of multiple memory elements that can be accessed by specifying addresses independently of other memory,
a first image memory in which pixel data in adjacent predetermined areas are allocated to the same location, and pixel data corresponding to the same position on the predetermined area is allocated to the same memory element; a processor unit consisting of a plurality of processor elements, having data control means for controlling transmission and reception of image data between the processor elements, and processing a plurality of pixels in the image memory at the same time; It consists of a plurality of memory elements that can be accessed by specifying addresses independently of other memories, and pixel data in adjacent predetermined areas are allocated to the same location, and pixel data on the predetermined area is a second image memory in which pixel data corresponding to the same position is allocated to the same memory element; an area allocated to the same location in the first image memory and an area allocated to the same location in the second image memory; An image processing apparatus comprising: address control means for controlling an address in accordance with a relationship with a region.
(2)プロセッサ・ユニットは画像の空間フィルタ処理
をすることを特徴とする特許請求の範囲第1項記載の画
像処理装置。
(2) The image processing device according to claim 1, wherein the processor unit performs spatial filter processing on the image.
JP62033175A 1987-02-18 1987-02-18 Image processing device Expired - Fee Related JP2647378B2 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP62033175A JP2647378B2 (en) 1987-02-18 1987-02-18 Image processing device
DE3845005A DE3845005C2 (en) 1987-02-18 1988-02-17 Image processing means
DE3804938A DE3804938C2 (en) 1987-02-18 1988-02-17 Image processing device
DE3844921A DE3844921C2 (en) 1987-02-18 1988-02-17 High speed parallel image processing appts.
DE3845004A DE3845004C2 (en) 1987-02-18 1988-02-17 High speed parallel image processing appts.
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
JP62033175A JP2647378B2 (en) 1987-02-18 1987-02-18 Image processing device

Publications (2)

Publication Number Publication Date
JPS63201777A true JPS63201777A (en) 1988-08-19
JP2647378B2 JP2647378B2 (en) 1997-08-27

Family

ID=12379182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62033175A Expired - Fee Related JP2647378B2 (en) 1987-02-18 1987-02-18 Image processing device

Country Status (1)

Country Link
JP (1) JP2647378B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005125784A (en) * 2003-10-20 2005-05-19 Agilent Technol Inc Printer with video block

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5243326A (en) * 1975-10-02 1977-04-05 Mitsui Eng & Shipbuild Co Ltd Advance processing device of visual information for recognition of pat tern
JPS6116369A (en) * 1984-07-03 1986-01-24 Masaki Esashi Picture processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5243326A (en) * 1975-10-02 1977-04-05 Mitsui Eng & Shipbuild Co Ltd Advance processing device of visual information for recognition of pat tern
JPS6116369A (en) * 1984-07-03 1986-01-24 Masaki Esashi Picture processor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005125784A (en) * 2003-10-20 2005-05-19 Agilent Technol Inc Printer with video block
JP2011201319A (en) * 2003-10-20 2011-10-13 Marvell Internatl Technology Ltd Method for operating video controller equipped with printer
JP2014144640A (en) * 2003-10-20 2014-08-14 Marvell Internatl Technology Ltd Printer having video block

Also Published As

Publication number Publication date
JP2647378B2 (en) 1997-08-27

Similar Documents

Publication Publication Date Title
US6477281B2 (en) Image processing system having multiple processors for performing parallel image data processing
EP0676764A2 (en) A semiconductor integrated circuit
US5293481A (en) Data parallel processing apparatus
US6968442B2 (en) Parallel computer with improved access to adjacent processor and memory elements
US4947446A (en) Method and circuit for filtering signals representative of a picture
JP3278756B2 (en) Image processing method and apparatus
EP0051655B1 (en) Apparatus for the display and storage of television picture information by using a memory accessible from a computer
KR930003413B1 (en) Image processing system capable of carring out local processing for image at high speed
JPH06223099A (en) Signal processing system provided with reduced memory space
JPS63201777A (en) Picture processor
JP4156194B2 (en) Method for converting first resolution raster digital data to second resolution digital data
JP2647375B2 (en) Image processing device
JP2647379B2 (en) Image processing device
JP2647376B2 (en) Image processing device
JP2647377B2 (en) Image processing device
JP2647380B2 (en) Color image processing equipment
JPS63201757A (en) Image processor
JPS6252874B2 (en)
JPS62205452A (en) Memory control system
JPS63201784A (en) Picture processing device
JPS63201782A (en) Picture processing device
JPS63201783A (en) Picture processing device
JP2728663B2 (en) Image processing device
JPS63201779A (en) Picture processor
JPH07107706B2 (en) Line buffer with variable number of delay stages

Legal Events

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