JPH04291681A - Filtering processing system for very high speed image processing system - Google Patents

Filtering processing system for very high speed image processing system

Info

Publication number
JPH04291681A
JPH04291681A JP5711791A JP5711791A JPH04291681A JP H04291681 A JPH04291681 A JP H04291681A JP 5711791 A JP5711791 A JP 5711791A JP 5711791 A JP5711791 A JP 5711791A JP H04291681 A JPH04291681 A JP H04291681A
Authority
JP
Japan
Prior art keywords
processing
pointer
memory
data
address
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
JP5711791A
Other languages
Japanese (ja)
Other versions
JP2862387B2 (en
Inventor
Masaharu Imai
今井正治
Kuniaki Motosawa
本沢邦朗
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.)
Japan Science and Technology Agency
Original Assignee
Research Development Corp of Japan
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
Application filed by Research Development Corp of Japan filed Critical Research Development Corp of Japan
Priority to JP5711791A priority Critical patent/JP2862387B2/en
Priority to US07/851,024 priority patent/US5315699A/en
Priority to DE69225839T priority patent/DE69225839T2/en
Priority to EP92302403A priority patent/EP0518462B1/en
Publication of JPH04291681A publication Critical patent/JPH04291681A/en
Application granted granted Critical
Publication of JP2862387B2 publication Critical patent/JP2862387B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

PURPOSE:To drastically shorten a filtering processing time by attaining memory access by a hardware configuration. CONSTITUTION:In an image processing system for executing parallel processing in each picture element based upon row parallel type local operation, the terminal address is connected to the leading address. The addressed of a finite length endless type slit memory 4 capable of storing the necessary number of data in a column to be processed are pointed out by a base pointer 1 and a reference pointer 2, the contents of the base pointer 1 are changed one by one by an external controller in each change of a row to be processed and the leading address is cleared following the terminal address. Simultaneously the contents of the pointer 1 are written in the pointer 2, and simultaneously with the specification of the address of the slit memory 4 by the pointer 2, the contents of the pointer 2 are changed only by '1' and the area of the memory 4 corresponding to the mask size of a filter is successively accessed by the pointer 2.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は大規模画像の前処理を実
時間で行うことができる超高速画像処理システムRIP
E(Real−time  Image  Proce
ssing  Engine)のフィルタリング処理方
式に関するものである。
[Industrial Application Field] The present invention is an ultra-high-speed image processing system RIP that can perform preprocessing of large-scale images in real time.
E (Real-time Image Process)
This relates to the filtering processing method of the Sssing Engine.

【0002】0002

【従来の技術】医療、工業生産などの分野で計算機を用
いた画像処理の必要性が高まって来ている。これらの応
用分野における近い将来の目標は2次元またはそれ以上
の多次元大規模画像(高画質画像)の実時間処理である
。システムの認識能力を向上させるためには画像自体の
分解能をあげることが必須であるが、そのためには、画
素数を増大させること、および前処理でのフィルタのマ
スクサイズを増大させることが必要である。
2. Description of the Related Art The need for image processing using computers is increasing in fields such as medical care and industrial production. A near future goal in these application fields is real-time processing of two-dimensional or more multidimensional large-scale images (high-quality images). In order to improve the recognition ability of the system, it is essential to increase the resolution of the image itself, but to do so, it is necessary to increase the number of pixels and the mask size of the filter in preprocessing. be.

【0003】ここ数年間での画像処理に対する具体的要
求の例として以下の3項目が考えられる。
The following three items can be considered as examples of specific demands for image processing in recent years.

【0004】■1画像当たり2048×2048以上の
画素を持つ多値およびカラーの画像の処理が可能となる
こと。
(2) It is possible to process multivalued and color images having 2048×2048 or more pixels per image.

【0005】■上記の画像に対してフィルタリングなど
の局所並列処理が高速に行えること、および■50×5
0程度の大きさのマスクを用いたフィルタリング処理が
可能であること。
[0005] ■ Local parallel processing such as filtering can be performed at high speed on the above image, and ■ 50 × 5
It is possible to perform filtering processing using a mask with a size of about 0.

【0006】画像処理ではフィルタリングを中心とする
前処理が行われる場合が多く、画像の規模およびフィル
タの規模が増大するのに従い、前処理に必要な計算時間
は急激に増加する。
[0006] In image processing, preprocessing centered on filtering is often performed, and as the size of the image and the scale of the filter increase, the calculation time required for preprocessing increases rapidly.

【0007】これまで医療、工業生産などで実用化され
ている画像処理システムでは、512×512程度の画
素を持つ画像を対象としているが、2048×2048
画素程度の解像度を持つ医療用X線フィルムなどの複雑
な濃淡画像の前処理を行うためには、スーパーコンピュ
ータなどの汎用大型計算機を用いても実時間処理は困難
である。このような大規模画像の前処理を効率よく行う
専用システムを実現するためには、処理の並列化および
パイプライン化が有効であると考えられる。特にフィル
タリング処理のアルゴリズムの多くは並列型の積和演算
を頻繁に用いているので、画素単位での空間並列処理が
効果的であると考えられる。
[0007] Image processing systems that have been put to practical use in medical care, industrial production, etc. have been designed to handle images with pixels of about 512 x 512, but images with pixels of about 2048 x 2048
In order to perform preprocessing of complex grayscale images such as those of medical X-ray film, which have a resolution on the order of pixels, it is difficult to perform real-time processing even using a general-purpose large-scale computer such as a supercomputer. In order to realize a dedicated system that efficiently preprocesses such large-scale images, parallelization and pipeline processing are considered effective. In particular, since many filtering processing algorithms frequently use parallel product-sum operations, spatial parallel processing on a pixel-by-pixel basis is considered effective.

【0008】[0008]

【発明が解決しようとする課題】ところで、画像1行中
の画素数と同じ個数の演算素子を用意して画素単位での
並列処理を行う、所謂行並列型局所演算におけるデータ
の格納には、これまで主として線形な番地をもつ有限長
のメモリを用いることが考えられている。しかし、この
ようなメモリを用いて行並列型局所演算をプログラムで
実行しようとすると、メモリ中の原データおよび中間結
果の格納場所を順次変更(移動)させる必要があり、そ
のための有効な方法の1つとしてはメモリ中の原データ
および中間結果の格納場所の原点(ベースポンインタ)
を移動することであるが、この方法では原データおよび
中間結果に対するアクセスは常にベースポンインタを経
由して行わなければならず、ベースポンインタの内容を
変える操作と、ベースポンインタで指定されるメモリの
内容を読み取る操作とでメモリを2回アクセスする必要
が生じ、また、メモリの境界でのポインタの操作のため
の処理のオーバーヘッドも生じ処理時間がかかってしま
うという問題があった。
[Problems to be Solved by the Invention] By the way, data storage in so-called row-parallel local operation, in which parallel processing is performed pixel by pixel by preparing the same number of arithmetic elements as the number of pixels in one row of an image, is as follows: Until now, the use of finite-length memories with linear addresses has mainly been considered. However, when a program attempts to execute row-parallel local operations using such memory, it is necessary to sequentially change (move) the storage location of the original data and intermediate results in memory, and there are no effective methods for doing so. One is the origin (base pointer) of the storage location of original data and intermediate results in memory.
However, in this method, access to the original data and intermediate results must always be done via the base pointer, and operations that change the contents of the base pointer and operations specified by the base pointer There is a problem in that the memory needs to be accessed twice for the operation of reading the contents of the memory, and processing overhead is also generated due to pointer operations at memory boundaries, resulting in longer processing time.

【0009】本発明は上記課題を解決するためのもので
、メモリアクセスをハードウェア構成で実現することに
より、フィルタリング処理時間を大幅に短縮することが
可能な超高速画像処理システムのフィルタリング処理方
式を提供することを目的とする。
The present invention is intended to solve the above problems, and provides a filtering processing method for an ultra-high-speed image processing system that can significantly shorten filtering processing time by realizing memory access using a hardware configuration. The purpose is to provide.

【0010】0010

【課題を解決するための手段】本発明は、1行分の画像
データの全部または一部をラスタースキャン順に取り込
む複数の入力要素からなる入力ユニットと、各入力要素
からの画像データが同時に転送され、画素単位で並列的
に画像処理演算を行う複数の処理要素からなる処理ユニ
ットと、各処理要素からの処理データが同時に転送され
る複数の出力要素からなる出力ユニットと、入力ユニッ
ト、処理ユニット、出力ユニットを制御するコントロー
ラとを備え、順次各行毎に画素単位で並列的に画像処理
を行う超高速画像処理システムにおいて、各処理要素は
処理を受け持つ列のデータを必要個数分記憶可能なメモ
リ容量を持ち、終端アドレスが先頭アドレスに繋がるエ
ンドレス型メモリと、前記コントローラからの指令によ
り行改毎に1づつ内容が変更され、終端アドレスの次に
先頭アドレスが書き込まれるベースポインタと、行改毎
にベースポインタの内容が書き込まれるとともに、エン
ドレス型メモリからのデータ読み出し毎に内容を1づつ
変更して該メモリのアドレス指定を行うリファレンスポ
インタとを有し、リファレンスポインタによりフィルタ
のマスクサイズに対応したエンドレス型メモリの領域を
順次アクセスするようにしたことを特徴とする。
[Means for Solving the Problems] The present invention provides an input unit consisting of a plurality of input elements that captures all or part of one line of image data in raster scan order, and the image data from each input element is transferred simultaneously. , a processing unit consisting of a plurality of processing elements that perform image processing operations in parallel on a pixel basis, an output unit consisting of a plurality of output elements to which processing data from each processing element is transferred simultaneously, an input unit, a processing unit, In an ultra-high-speed image processing system that is equipped with a controller that controls the output unit and performs image processing in parallel on a pixel-by-pixel basis for each row, each processing element has a memory capacity that can store the required number of columns of data to be processed. an endless memory whose end address is connected to the start address, a base pointer whose contents are changed by 1 at each line break according to instructions from the controller, and where the start address is written next to the end address, and a base pointer where the start address is written after the end address. In addition to writing the contents of the base pointer, it also has a reference pointer that specifies the address of the memory by changing the contents by 1 each time data is read from the endless type memory. The feature is that the type memory area is accessed sequentially.

【0011】[0011]

【作用】本発明は画像1行中の画素数と同じかそれ以下
の個数の演算素子を用意して画素単位での並列処理を行
う行並列型局所演算による画像処理システムにおいて、
終端アドレスが先頭アドレスに繋がり、処理を受け持つ
列のデータを必要個数分記憶可能な有限長のエンドレス
型のメモリ(以下ではスリットメモリと言う)のアドレ
スをベースポインタとリファレンスポインタで行い、ベ
ースポインタは処理すべき行が変わる毎に外部コントロ
ーラより内容が1づつ変更されて終端アドレスの次には
先頭アドレス0にリセットされ、同時にベースポインタ
の内容がリファレンスポインタに書き込まれ、リファレ
ンスポインタでスリットメモリのアドレス指定を行うと
同時にリファレンスポインタの内容を1変更し、リファ
レンスポインタによりフィルタのマスクサイズに対応し
たスリットメモリの領域を順次アクセスすることにより
、各処理要素は現在どこの行を処理しているか意識せず
、超高速での処理を行うことが可能となる。
[Operation] The present invention provides an image processing system using row-parallel local operations that performs parallel processing on a pixel-by-pixel basis by preparing the same number of arithmetic elements as the number of pixels in one row of an image or less than the number of pixels in one row of an image.
The end address is connected to the start address, and the address of a finite-length endless type memory (hereinafter referred to as slit memory) that can store the required number of column data to be processed is determined using a base pointer and a reference pointer, and the base pointer is Every time the line to be processed changes, the contents are changed by 1 by the external controller, and the starting address after the end address is reset to 0. At the same time, the contents of the base pointer are written to the reference pointer, and the reference pointer is used to read the address of the slit memory. By changing the contents of the reference pointer by 1 at the same time as the specification, and sequentially accessing the slit memory area corresponding to the filter mask size using the reference pointer, each processing element is made aware of which row it is currently processing. This makes it possible to perform ultra-high-speed processing.

【0012】0012

【実施例】図1は本発明におけるメモリアクセスを説明
するための図、図2は本発明の画像処理システムのハー
ドウェア構成を示す図、図3は各画像処理要素を示す図
である。図中、1はベースポインタ、2はリファレンス
ポインタ、3は加減算器、4はスリットメモリ、10は
入力ユニット(LIU)、10−1〜10−nはラッチ
回路(IE)、20は処理ユニット(LPU)、20−
1〜20−nは処理要素(PE)、30は出力ユニット
(LOU)、30−1〜30−nはラッチ回路(OE)
、40はホストコンピュータ、50は外部コントローラ
、21−iはセレクタ、22−iは算術論理ユニット(
ALU)、23−iはレジスタファイル、24−iはフ
ラグレジスタ、25−iは通信コントローラ、26−i
はバスである。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a diagram for explaining memory access in the present invention, FIG. 2 is a diagram showing the hardware configuration of an image processing system according to the present invention, and FIG. 3 is a diagram showing each image processing element. In the figure, 1 is a base pointer, 2 is a reference pointer, 3 is an adder/subtractor, 4 is a slit memory, 10 is an input unit (LIU), 10-1 to 10-n are latch circuits (IE), and 20 is a processing unit ( LPU), 20-
1 to 20-n are processing elements (PE), 30 is an output unit (LOU), and 30-1 to 30-n are latch circuits (OE).
, 40 is a host computer, 50 is an external controller, 21-i is a selector, 22-i is an arithmetic logic unit (
ALU), 23-i is a register file, 24-i is a flag register, 25-i is a communication controller, 26-i
is a bus.

【0013】まず、本発明の超高速画像処理システムR
IPEを図2、図3により説明する。
First, the ultra high-speed image processing system R of the present invention
IPE will be explained with reference to FIGS. 2 and 3.

【0014】本発明のRIPEでは、65536階調(
16ビット)の濃淡画像データに対する各行の処理を、
入力−演算−出力の3つのステージに分割し、パイプラ
イン的に処理することにより画像データの入出力と演算
処理を平行して行うものであり、演算ステージでは画像
1行中の画素数と同じ個数のPE(Processig
  Element)を用い、外部コントローラより各
PEに対して同一の命令を1つづつ与え、それぞれの画
像データに対して同一の処理を行うSIMD(Sing
le  Instruction  stream  
Multiple  Data  stream)型の
並列処理が行われるため、画像データの処理が1行分同
時に行われる。
In the RIPE of the present invention, 65536 gradations (
The processing of each row for grayscale image data (16 bits) is as follows:
It is divided into three stages: input, calculation, and output, and processed in a pipeline to perform input/output of image data and calculation processing in parallel.In the calculation stage, the number of pixels in one row of the image is the same as the number of pixels in one row of the image. Number of PEs (Processing)
SIMD (Singing
le Instruction stream
Since multiple data stream type parallel processing is performed, image data is processed for one row at the same time.

【0015】本発明のRIPEのハードウェア構成は図
2に示すようなものであり、このシステムはホストシス
テムのバックエンドプロセッサとして動作し、外部コン
トローラ50、入力ユニット10、演算ユニット20、
出力ユニット30からなっている。外部コントローラ5
0はホストコンピュータ40との同期をとりながら、入
力ユニット10、演算ユニット20、出力ユニット30
の制御を行い、ユーザーが作成した処理プログラムを格
納するRAMと、予め基本的な処理のプログラムが格納
されているROMを持ち、ホストコンピュータ40から
の指示にしたがってRAMまたはROMに記憶された命
令を1ステップづつ順次各演算ユニット20に送ってお
り、各演算ユニットは命令されたことだけを実行する処
理機械として機能する。なお、ユーザーが作成した処理
プログラムは処理に先立ち、あらかじめホストコンピュ
ータ40からコントローラ50のRAMにダウンロード
される。
The hardware configuration of the RIPE of the present invention is as shown in FIG. 2, and this system operates as a back-end processor of the host system, and includes an external controller 50, an input unit 10, an arithmetic unit 20,
It consists of an output unit 30. External controller 5
0 operates in synchronization with the host computer 40, input unit 10, arithmetic unit 20, and output unit 30.
It has a RAM that stores processing programs created by the user and a ROM that stores basic processing programs in advance, and executes instructions stored in the RAM or ROM according to instructions from the host computer 40. Each step is sequentially sent to each arithmetic unit 20, and each arithmetic unit functions as a processing machine that executes only what it is instructed to do. Note that the processing program created by the user is downloaded in advance from the host computer 40 to the RAM of the controller 50 prior to processing.

【0016】入力ステージを受け持つLIU10は16
ビット幅のn個のラッチ回路(IE)から構成されてシ
フトレジスタとして動作し、他のメモリに記憶されてい
るイメージデータ、或いはカメラで読み込んだイメージ
データがラスタースキャン順に入力され、その画素デー
タを順次シフトし、画像1行分の画素データが揃った時
点で1行分の画素データを同時にLPU20の各PE2
0−1〜20−nに同時並列的に転送する。
[0016] There are 16 LIUs 10 in charge of the input stage.
It is composed of n bit-width latch circuits (IE) and operates as a shift register. Image data stored in other memory or image data read by a camera is input in raster scan order, and the pixel data is When the pixel data for one row of the image is completed, the pixel data for one row is simultaneously shifted to each PE2 of the LPU 20.
0-1 to 20-n simultaneously and in parallel.

【0017】LPU20はn個のPEから構成されて演
算ステージを受け持っており、図3に示すような各モジ
ュールからなっている。図3はi番目のPE20−iを
示したものであり、ラッチ回路10−iからのデータを
順次スリットメモリ4に読み込み、このデータをバス2
6−iを通してALU22−iで演算して中間結果をレ
ジスタ23−iに格納し、また結果をセレクタ21−i
を通してラッチ回路30−iへ出力するものである。各
PEはコントローラ50からの命令を1ステップづつ受
け取って一斉に同一処理を行っており、自身のメモリに
はプログラムが格納されておらず、外部からの指令によ
って単に処理機械として動作する。
The LPU 20 is composed of n PEs and is in charge of arithmetic stages, and is composed of modules as shown in FIG. FIG. 3 shows the i-th PE 20-i, which sequentially reads data from the latch circuit 10-i into the slit memory 4 and transfers this data to the bus 2.
6-i, the ALU 22-i calculates the intermediate result, stores the intermediate result in the register 23-i, and stores the result in the selector 21-i.
The signal is output to the latch circuit 30-i through the latch circuit 30-i. Each PE receives commands from the controller 50 one step at a time and performs the same processing all at once.No program is stored in its own memory, and it simply operates as a processing machine in response to commands from the outside.

【0018】スリットメモリ4は、図1に示すようにk
ビット幅のアドレス空間を有し、先頭アドレスと後端ア
ドレスとが繋がった有限長(2k )のエンドレスタイ
プのメモリで、フィルタリング処理に必要なデータを格
納するためのものである。すなわち、画像データに対す
る局所処理では1つの画素の出力値を決定するために、
その画素の近傍の画素データも必要となり、この場合全
てのPEが各自必要なデータを内部に持つこととすると
、システム全体ではデータが重複し不経済である。そこ
で、各PE内でのスリットメモリにそのPEが処理を受
け持っている列のデータを必要な個数分、すなわちマス
クの縦の画素の個数分だけ記憶させることにし、残りの
近傍データは他のPE内のスリットメモリに保持されて
いるので、隣接するPE間で通信コントローラ25−i
を通してデータ転送を行うことによって得るようにする
。本実施例では各スリットメモリは16ビット幅の64
個のセルからなり、列方向の長さが64以下のマスクを
用いた空間並列処理が実現できる。
The slit memory 4 has k as shown in FIG.
It is an endless type memory with a bit width address space and a finite length (2k) in which the start address and the end address are connected, and is used to store data necessary for filtering processing. In other words, in local processing for image data, in order to determine the output value of one pixel,
Pixel data in the vicinity of that pixel is also required, and in this case, if all PEs were to have their own necessary data internally, the data would be duplicated in the entire system, which would be uneconomical. Therefore, the slit memory in each PE stores the necessary number of column data that that PE is responsible for processing, that is, the number of vertical pixels of the mask, and the remaining neighboring data is stored in other PEs. communication controller 25-i between adjacent PEs.
By performing data transfer through. In this embodiment, each slit memory has 64 bits each having a width of 16 bits.
Spatial parallel processing can be realized using a mask consisting of cells with a length of 64 or less in the column direction.

【0019】ALU22−iは各画素に対して16ビッ
ト幅の算術論理演算処理を行うものである。処理内容は
どのようなフィルタ処理を行うかにより異なるが、AL
U22−iは外部コントローラから1つづつ与えられる
命令を実行する。
The ALU 22-i performs 16-bit arithmetic and logic operations on each pixel. The processing content varies depending on the type of filter processing, but AL
U22-i executes commands given one by one from the external controller.

【0020】レジスタファイル23−iは中間結果等の
データを格納するレジスタが割付けられたファイルで、
16個の16ビット幅のGR(General  Re
gister),通信コントローラ25−iを通して隣
接するPE間で転送されるデータを格納する通信用レジ
スタCR(Communication  Regis
ter)等からなり、またフラグレジスタ24−iは符
合、零、オーバーフロー、キャリー等のフラグの内容を
格納するためのものである。
The register file 23-i is a file to which registers for storing data such as intermediate results are allocated.
16 16-bit wide GR (General Re
A communication register CR (Communication Regis) stores data transferred between adjacent PEs through the communication controller 25-i.
ter), etc., and the flag register 24-i is for storing the contents of flags such as sign, zero, overflow, carry, etc.

【0021】セレクタ21−iは局所処理を行う場合、
画像の外周部では近傍のデータが完全には得られないた
め計算結果は無効となり、従来の画像処理アルゴリズム
では、通常強制的に出力値を0にしたり、処理内容に応
じて適切な定数または近傍の値等を設定するようにして
いるが、この画像外周部の出力値を定数にするか、無効
ではあるが計算値にするかいずれかを設定できるように
し、この機能を行っている。
When the selector 21-i performs local processing,
In the outer periphery of the image, the calculation results are invalid because neighboring data cannot be completely obtained. Conventional image processing algorithms usually force the output value to 0, or set an appropriate constant or neighboring value depending on the processing content. This function is performed by making it possible to set the output value at the outer periphery of the image to either a constant value or a calculated value, although this is invalid.

【0022】こうして各PEはスリットメモリ4に読み
込まれた必要なデータを順次読み出すと共に、隣接する
処理ユニットからのデータを通信コントローラを通して
受け取り、フィルタリング処理を行いラッチ回路に出力
している。
In this manner, each PE sequentially reads the necessary data read into the slit memory 4, receives data from an adjacent processing unit through the communication controller, performs filtering processing, and outputs it to the latch circuit.

【0023】図2のLOU30は16ビット幅のn個の
ラッチ回路からなり、出力ステージを受持ち、LPU2
0で演算されたデータは1行分同時にLOU30に転送
され、その後順次シフトされることによって1画素づつ
ラスタースキャン順に出力される。
The LOU 30 in FIG. 2 is composed of n latch circuits each having a width of 16 bits, and serves as an output stage.
The data calculated with 0 is simultaneously transferred to the LOU 30 for one row, and then sequentially shifted and output pixel by pixel in raster scan order.

【0024】このようなRIPEシステムにおいて、図
4に示すような局所平均化フィルタを例にとって説明す
ると、マスクの中心を(i,j)とする時、各画素の列
方向のデータはそれぞれのPE内に保持しているので、
PE20−jでは、j列の加算、即ち■+■+■を行い
、次にj−1列を受けもつPE20−(j−1)での(
j−1)列の加算結果(■+■+■)を受け取ってj例
の加算結果に加え、次に(j+1)列を受けもつPE2
0−(j+1)での(j+1)列の加算結果(■+■+
■)を受け取ってj例と(j−1)列の加算結果に加算
し、最後に9で除算することにより局所平均化処理が行
われる。
In such a RIPE system, taking a local averaging filter as shown in FIG. 4 as an example, when the center of the mask is (i, j), the data in the column direction of each pixel is Because it is held within
PE20-j performs addition of column j, that is, ■+■+■, and then PE20-(j-1), which handles column j-1, adds (
Receiving the addition result (■+■+■) of column j-1) and adding it to the addition result of example j, PE2, which is in charge of column (j+1),
Addition result of column (j+1) at 0-(j+1) (■+■+
(2) is received, added to the addition result of the j example and the (j-1) column, and finally divided by 9 to perform local averaging processing.

【0025】この場合、例えばマスクの大きさが5×5
であるとすると、図5に示すように、2つ隣の列のデー
タは2回転送する必要がある。すなわち、2つ離れたP
Eからのデータをもらうには本来2回の転送が必要であ
るが、互いに1つ隣りの列へデータ転送すれば、例えば
(j−2)列、(j+2)列のデータは隣の(j−1)
列、(j+1)列に転送されて保持されているので、隣
の(j−1)列、(j+1)列からその列のデータと同
様に(j−2)列、(j+2)列のデータを受け取るこ
とができ、したがって全てのPEは互いに1つ隣りの列
のPEへデータ転送するだけで必要なデータを獲得する
ことができる。
In this case, for example, the size of the mask is 5×5.
Assuming that, as shown in FIG. 5, data in two adjacent columns needs to be transferred twice. In other words, two P apart
Normally, two transfers are required to receive data from E, but if you transfer data to columns one column next to each other, for example, the data in columns (j-2) and (j+2) will be transferred to the next column (j -1)
Since the data is transferred to and held in the column (j-1) and (j+1), the data in the (j-2) and (j+2) columns is transferred from the adjacent (j-1) and (j+1) columns in the same way as the data in that column. Therefore, all PEs can acquire the necessary data by simply transferring data to the PEs in the next column next to each other.

【0026】このようなフィルタリング処理において、
本発明においては図1(a)に示すように、外部コント
ローラ50から行が変わる毎に順次1づつ内容が変更さ
れ、スリットメモリの終端まで到達するとクリアされる
ベースポインタ1で、フィルタ処理に必要なスリットメ
モリの基点を指定し、同時にベースポインタの内容をリ
ファレンスポインタに書き込み、リファレンスポインタ
2ではフィルタのマスクサイズに応じ、例えば5×5の
マスクであればベースポインタの内容がnであるときに
、リファレンスポインタ2はベースポインタの値nを基
点にメモリアドレスレジスタ3にその内容を書き込むと
共に、自身の値を「+1」あるいは「−1」し、順次こ
の操作を行うことにより自動的にn〜n+4(またはn
−4)までのアドレスを指定してデータを読み出すこと
ができる。そして、ベースポインタ1はその値が(2k
 −1)に達すると、行改の時に値が0にリセットされ
て先頭アドレスに戻る。従って、スリットメモリの構造
はあたかも図1(b)に示すように、エンドレスのリン
グ状になっていることになる。このベースポインタの内
容は読みだす行が変わる毎にコントローラより1つづ更
新され、各PEは現在自身がどの行で処理しているかを
意識せず、単にフィルタリング処理を実行することにな
る。
[0026] In such filtering processing,
In the present invention, as shown in FIG. 1(a), the contents are sequentially changed by 1 each time a row changes from the external controller 50, and the base pointer 1 is cleared when the end of the slit memory is reached, which is necessary for filter processing. Specify the base point of the slit memory, and at the same time write the contents of the base pointer to the reference pointer. For reference pointer 2, write the contents of the base pointer according to the mask size of the filter. For example, if the mask is 5 × 5, when the contents of the base pointer is n, , the reference pointer 2 writes its contents into the memory address register 3 based on the base pointer value n, and also increments its own value by ``+1'' or ``-1'', and by sequentially performing this operation automatically n+4 (or n
Data can be read by specifying addresses up to -4). Then, the value of base pointer 1 is (2k
-1), the value is reset to 0 at line break and returns to the first address. Therefore, the structure of the slit memory is an endless ring, as shown in FIG. 1(b). The contents of this base pointer are updated one by one by the controller each time the line to be read changes, and each PE simply executes filtering processing without being aware of which line it is currently processing.

【0027】本発明の画像処理は、図6に示すように、
カメラ63で直接読みこんだ画像データをA/D変換し
て直接RIPEシステム60に読みこむか、あるいは一
旦メモリ61に読みこんだデータを読み出してRIPE
システムに読みこむか、どちらの処理を行わても良く、
この結果をモニタ64に出力し、あるいは結果を再度メ
モリ61に書き込む等ホストコンピュータ40からの指
示により実行することができる。
The image processing of the present invention is performed as shown in FIG.
Either the image data directly read in by the camera 63 is A/D converted and read directly into the RIPE system 60, or the data once read into the memory 61 is read out and then RIPE is performed.
You can either load it into the system or perform either process.
This result can be output to the monitor 64 or written into the memory 61 again in response to an instruction from the host computer 40.

【0028】なお、上記実施例ではPEが画像1行分の
画素分だけ用意されて1行分の画像処理が同時並列的に
実行される場合について説明したが、本発明はこれに限
定されるものではなく、PEが画像1行分の画素に満た
ない場合でも、順次PEを一部重ねながらずらしていく
ことによって対応可能であり、この場合にフィルタのマ
スクサイズに応じて重なり度合を適宜変更すればよい。
[0028] In the above embodiment, a case has been described in which PEs are prepared for the pixels of one row of an image and image processing for one row is executed simultaneously in parallel, but the present invention is limited to this. Even if the PE is less than the pixels of one line of the image, it can be handled by sequentially overlapping and shifting the PEs, and in this case, change the degree of overlap as appropriate depending on the filter mask size. do it.

【0029】[0029]

【発明の効果】以上のように本発明によれば、外部より
その内容を順次1づつ変更されるベースポインタとベー
スポインタで指定される値を原点とし、メモリのアドレ
ス指定をする毎にインクリメントあるいはデクリメント
されるリファレンスポインタによってスリットメモリの
内容を読み出し、ハードウェア構成によりフィルタ処理
に必要なデータの読み出しを行うようにしたので、通常
のメモリを用いたソフトウェアによる処理に比して処理
時間を数分の1以下にすることが可能となる。なお、本
発明のフィルタリング処理は局所平均化フィルタ以外に
もラプラシアンフィルタ、ガウシアン型平滑化フィルタ
、メディアンフィルタ、疑似メディアンフィルタ、適用
的平滑化フィルタ等、各種フィルタに適用することがで
きる。
As described above, according to the present invention, the base pointer whose contents are sequentially changed one by one from the outside and the value specified by the base pointer are set as the origin, and each time a memory address is specified, the base pointer is incremented or The content of the slit memory is read by the reference pointer that is decremented, and the data necessary for filter processing is read by the hardware configuration, so the processing time is several minutes compared to processing by software using normal memory. It becomes possible to reduce the value to 1 or less. In addition to the local averaging filter, the filtering process of the present invention can be applied to various filters such as a Laplacian filter, a Gaussian smoothing filter, a median filter, a pseudo-median filter, and an adaptive smoothing filter.

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

【図1】  本発明におけるメモリアクセスのハードウ
ェア構成を説明するための図である。
FIG. 1 is a diagram for explaining the hardware configuration of memory access in the present invention.

【図2】  本発明の画像処理システムのハードウェア
構成を説明するための図である。
FIG. 2 is a diagram for explaining the hardware configuration of the image processing system of the present invention.

【図3】  各画像処理要素を示す図である。FIG. 3 is a diagram showing each image processing element.

【図4】  フィルタ処理を説明するための図である。FIG. 4 is a diagram for explaining filter processing.

【図5】  フィルタ処理におけるデータ転送を説明す
るための図である。
FIG. 5 is a diagram for explaining data transfer in filter processing.

【図6】  RIPEシステムを説明するための図であ
る。
FIG. 6 is a diagram for explaining the RIPE system.

【符号の説明】[Explanation of symbols]

1…ベースポインタ、2…リファレンスポインタ、3…
加減算器、4…スリットメモリ、10…入力ユニット(
IU)、10−1〜10−n…ラッチ回路、20…処理
ユニット(PU)、20−1〜20−n…処理要素(P
E)、30…出力ユニット(OU)、30−1〜30−
n…ラッチ回路、40…ホストコンピュータ、50…外
部コントローラ、21−i…セレクタ(Selecto
r)、22−i…算術論理ユニット(ALU)、23−
i…レジスタファイル、24−i…フラグレジスタ、2
5−i…通信コントローラ、26−i…バス。
1...Base pointer, 2...Reference pointer, 3...
Adder/subtractor, 4...Slit memory, 10...Input unit (
IU), 10-1 to 10-n... latch circuit, 20... processing unit (PU), 20-1 to 20-n... processing element (P
E), 30...output unit (OU), 30-1 to 30-
n...Latch circuit, 40...Host computer, 50...External controller, 21-i...Selector
r), 22-i... Arithmetic logic unit (ALU), 23-
i...Register file, 24-i...Flag register, 2
5-i...Communication controller, 26-i...Bus.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  1行分の画像データの全部または一部
をラスタースキャン順に取り込む複数の入力要素からな
る入力ユニットと、各入力要素からの画像データが同時
に転送され、画素単位で並列的に画像処理演算を行う複
数の処理要素からなる処理ユニットと、各処理要素から
の処理データが同時に転送される複数の出力要素からな
る出力ユニットと、入力ユニット、処理ユニット、出力
ユニットを制御するコントローラとを備え、順次各行毎
に画素単位で並列的に画像処理を行う超高速画像処理シ
ステムにおいて、各処理要素は処理を受け持つ列のデー
タを必要個数分記憶可能なメモリ容量を持ち、終端アド
レスが先頭アドレスに繋がるエンドレス型メモリと、前
記コントローラからの指令により行改毎に1づつ内容が
変更され、終端アドレスの次に先頭アドレスが書き込ま
れるベースポインタと、行改毎にベースポインタの内容
が書き込まれるとともに、前記エンドレス型メモリから
のデータ読み出し毎に内容を1づつ変更して該メモリの
アドレス指定を行うリファレンスポインタとを有し、リ
ファレンスポインタによりフィルタのマスクサイズに対
応したエンドレス型メモリの領域を順次アクセスするよ
うにしたことを特徴とする超高速画像処理システムのフ
ィルタリング処理方式。
Claim 1: An input unit consisting of a plurality of input elements that captures all or part of one row of image data in raster scan order, and the image data from each input element is transferred simultaneously, and the image data is processed in parallel pixel by pixel. A processing unit consisting of a plurality of processing elements that perform processing operations, an output unit consisting of a plurality of output elements to which processing data from each processing element is transferred simultaneously, and a controller that controls the input unit, processing unit, and output unit. In an ultra-high-speed image processing system that sequentially processes images pixel by pixel in parallel for each row, each processing element has a memory capacity that can store the required number of columns of data to be processed, and the end address is the start address. An endless memory connected to the controller, a base pointer whose contents are changed by one at each line break according to commands from the controller, and a start address written next to the end address, and a base pointer whose contents are written at each line break. , and a reference pointer that specifies the address of the memory by changing the contents by 1 each time data is read from the endless memory, and sequentially accesses the area of the endless memory corresponding to the mask size of the filter using the reference pointer. A filtering processing method for an ultra-high-speed image processing system, which is characterized by:
JP5711791A 1991-03-20 1991-03-20 Filtering method for ultra-high-speed image processing system Expired - Fee Related JP2862387B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP5711791A JP2862387B2 (en) 1991-03-20 1991-03-20 Filtering method for ultra-high-speed image processing system
US07/851,024 US5315699A (en) 1991-03-20 1992-03-11 Filtering operation method for very high-speed image processing system
DE69225839T DE69225839T2 (en) 1991-03-20 1992-03-19 Filter system and method for image processing at very high speed
EP92302403A EP0518462B1 (en) 1991-03-20 1992-03-19 Filtering system and operation method for very high-speed image processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5711791A JP2862387B2 (en) 1991-03-20 1991-03-20 Filtering method for ultra-high-speed image processing system

Publications (2)

Publication Number Publication Date
JPH04291681A true JPH04291681A (en) 1992-10-15
JP2862387B2 JP2862387B2 (en) 1999-03-03

Family

ID=13046603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5711791A Expired - Fee Related JP2862387B2 (en) 1991-03-20 1991-03-20 Filtering method for ultra-high-speed image processing system

Country Status (1)

Country Link
JP (1) JP2862387B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158836A (en) * 2006-12-25 2008-07-10 Fuji Xerox Co Ltd Image processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158836A (en) * 2006-12-25 2008-07-10 Fuji Xerox Co Ltd Image processor

Also Published As

Publication number Publication date
JP2862387B2 (en) 1999-03-03

Similar Documents

Publication Publication Date Title
US5315699A (en) Filtering operation method for very high-speed image processing system
AU747283B2 (en) Data processing system for logically adjacent data samples such as image data in a machine vision system
US6260088B1 (en) Single integrated circuit embodying a risc processor and a digital signal processor
JPS6053349B2 (en) image processing processor
US4606066A (en) Programmable image processor
JPH0740252B2 (en) Multi-processor system
JPH09511078A (en) Signal processing method and apparatus
EP0216931A1 (en) Image rotating system having an arbitrary angle.
Olariu et al. Fast component labelling and convex hull computation on reconfigurable meshes
JPH01283676A (en) Read-out processing system for window image data
JP2862387B2 (en) Filtering method for ultra-high-speed image processing system
JP2862388B2 (en) Filtering method for ultra-high-speed image processing system
JPH07334671A (en) Filtering processing system for extra-high speed picture processing system
Raja et al. An SIMD multiple DSP microprocessor system for image processing
EP0775973B1 (en) Method and computer program product of transposing data
JPS60129889A (en) Picture processor
JPH0435792B2 (en)
JPH0757075A (en) Processor element of one-chip parallel processor for pattern processing
JPS61233869A (en) Picture processor
JP2852050B2 (en) Image processing device
JPH04100179A (en) Image processor
JPH0547867B2 (en)
JP2536183B2 (en) Image processing method and apparatus
Atiquzzaman et al. A novel multiprocessor architecture for low-level image processing applied to road-traffic data capture and analysis
JPH0312752A (en) Picture data access system

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees