JP2002094886A - High speed picture processor - Google Patents

High speed picture processor

Info

Publication number
JP2002094886A
JP2002094886A JP2000278852A JP2000278852A JP2002094886A JP 2002094886 A JP2002094886 A JP 2002094886A JP 2000278852 A JP2000278852 A JP 2000278852A JP 2000278852 A JP2000278852 A JP 2000278852A JP 2002094886 A JP2002094886 A JP 2002094886A
Authority
JP
Japan
Prior art keywords
data
processing
address
arithmetic
transfer
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.)
Pending
Application number
JP2000278852A
Other languages
Japanese (ja)
Inventor
Haruyoshi Toyoda
晴義 豊田
Naohisa Kosaka
直久 向坂
Hiroshi Tanaka
博 田中
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.)
Hamamatsu Photonics KK
Original Assignee
Hamamatsu Photonics KK
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 Hamamatsu Photonics KK filed Critical Hamamatsu Photonics KK
Priority to JP2000278852A priority Critical patent/JP2002094886A/en
Publication of JP2002094886A publication Critical patent/JP2002094886A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a high speed picture processor capable of quickly processing a basic picture arithmetic operation in a simple circuit constitution. SOLUTION: A parallel processing mechanism 14 constituted of plural arithmetic elements 400 arrayed in a plural lines and columns is provided with a data bus 17 for transferring data to an arithmetic element 400. The data bus 17 is provided with plural column directional data transferring data lines 170 corresponding to the respective columns and plural line directional data transferring data lines 180 corresponding to the respective lines. The respective directional rata transferring data lines 170 are connected to the corresponding one line directional data transferring data line 180, and the column directional data transferring data line and the line directional data transferring data line are used for the data transfer as the common data line. Also, a light receiving element array 11 as a picture reading part and an A/D converter array 13 are connected to the parallel processing mechanism 14.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、高速画像処理装置に関
し、特に、FAロボット制御等のための高速画像処理に
幅広く用いられる高速画像処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a high-speed image processing apparatus, and more particularly to a high-speed image processing apparatus widely used for high-speed image processing for controlling a FA robot.

【0002】[0002]

【従来の技術】FAシステム等でロボットを高速で動作
させるためには、高速の画像処理が必要とされる。例え
ば、画像処理装置とアクチュエータの間でフィードバッ
クループを形成するロボットの場合、アクチュエータは
ミリ秒単位で制御可能であるため、本来はこれに対応し
た画像処理速度が必要になる。ところが、現状のビジョ
ンシステムでは画像処理速度がビデオフレームレートに
限られているため、この画像処理速度に合わせた低速動
作しかできず、ロボットの性能を十分に活かしきれてい
なかった。一方、高速CCDカメラの中には1ミリ秒程
度で画像を撮像できるものもあるが、これらは撮像した
画像をいったんメモリに貯えて、後から読み出して処理
を行う機構になっているため、画像解析などの用途には
使えるが、実時間性はほとんどなく、ロボット制御など
の用途には適用できなかった。
2. Description of the Related Art In order to operate a robot at high speed in an FA system or the like, high-speed image processing is required. For example, in the case of a robot that forms a feedback loop between an image processing apparatus and an actuator, the actuator can be controlled in milliseconds, and therefore, an image processing speed corresponding to this is originally required. However, in the current vision system, since the image processing speed is limited to the video frame rate, only a low-speed operation corresponding to the image processing speed can be performed, and the performance of the robot cannot be fully utilized. On the other hand, some high-speed CCD cameras can capture an image in about 1 millisecond, but these are mechanisms that temporarily store the captured image in memory and read it out later for processing. Although it can be used for applications such as analysis, it has little real-time performance and could not be used for applications such as robot control.

【0003】このような問題を解決するため、画像の取
込部と処理部とを一体として取り扱うビジョンチップの
研究が進んでおり、マサチューセッツ工科大学、カリフ
ォルニア工科大学、三菱電機などの研究が知られている
(”An Object Position andOrientation IC with Embe
dded Imager”、David L. Standley (“Solid StateCir
cuits”, Vol. 26, No. 12, Dec. 1991, pp. 1853-185
9, IEEE)、”Computing Motion Using Analog and Bina
ry Resistive Networks”、James Hutchinson, et al.
(“Computer”, Vol. 21, March 1988, pp.52 - 64, IE
EE)、及び、”Artificial retinas -fast, versatile i
mage processors”、Kazuo Kyuma et al., (“Natur
e”, Vol. 372, 10 November 1994)。しかし、これら
は主として集積化の容易なアナログの固定回路を用いて
おり、出力信号の後処理が必要であったり、画像処理の
内容が特定用途に限定されていて汎用性がないなどの問
題点があった。
In order to solve such a problem, research on a vision chip which integrally handles an image capturing unit and a processing unit is progressing. ("An Object Position and Orientation IC with Embe
dded Imager ”, David L. Standley (“ Solid StateCir
cuits ”, Vol. 26, No. 12, Dec. 1991, pp. 1853-185
9, IEEE), “Computing Motion Using Analog and Bina
ry Resistive Networks ”, James Hutchinson, et al.
(“Computer”, Vol. 21, March 1988, pp.52-64, IE
EE) and “Artificial retinas -fast, versatile i
mage processors ”, Kazuo Kyuma et al., (“ Natur
e ”, Vol. 372, 10 November 1994) However, these mainly use analog fixed circuits that are easy to integrate, and require post-processing of the output signal, or the content of image processing is limited to specific applications. There were problems such as being limited and lacking versatility.

【0004】これらに対して汎用的な画像処理を行うこ
とができるビジョンチップとしては、特開平10−14
5680号公報や国際公開WO00/21284号公報
に開示された技術が知られている。この技術は、受光素
子と1対1に対応させて演算素子を設け、A/D変換器
を受光素子の行毎に設けているため、並列処理により演
算時間を短縮するとともに、受光素子と演算素子間の伝
送線を少なくすることができ、両者の集積度を最適にす
ることができるといった利点がある。
As a vision chip capable of performing general-purpose image processing on these, Japanese Patent Laid-Open No. 10-14 / 1998
Techniques disclosed in 5680 and International Publication WO00 / 21284 are known. According to this technique, an arithmetic element is provided in one-to-one correspondence with a light receiving element, and an A / D converter is provided for each row of the light receiving element. There is an advantage that the number of transmission lines between elements can be reduced, and the degree of integration of both can be optimized.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、多くの
画像処理において必要とされる情報である画像の重心
(1次モーメント)を演算する場合には、その画素の位
置情報(x方向の位置、y方向の位置)と画素データと
の演算を行うので、予めそれぞれの画素の位置情報をそ
れぞれの演算素子のメモリーに保管しておく必要があ
る。上記特開平10−145680号公報や国際公開W
O00/21284号公報の技術では、まず位置情報を
制御回路から順に各演算素子に転送しておき、その位置
データと受光素子からの画像データとを演算して出力し
なければならず、位置情報の転送に時間を要してしま
う。こうした基本的な画像演算処理の高速化が望まれて
いた。
However, when calculating the center of gravity (first moment) of an image, which is information required in many image processes, the position information of the pixel (position in the x direction, y position) (The position in the direction) and the pixel data, the position information of each pixel needs to be stored in the memory of each arithmetic element in advance. JP-A-10-145680 and International Publication W
In the technique of O00 / 21284, first, position information must be sequentially transferred from the control circuit to each arithmetic element, and the position data and image data from the light receiving element must be calculated and output. It takes time to transfer data. It has been desired to speed up such basic image calculation processing.

【0006】そこで、本発明は、こうした問題点に鑑み
て、簡単な回路構成で、基本的な画像演算を高速に処理
することが可能な高速画像処理装置を提供することを目
的としている。
Accordingly, an object of the present invention is to provide a high-speed image processing apparatus capable of processing basic image operations at a high speed with a simple circuit configuration in view of the above problems.

【0007】[0007]

【課題を解決するための手段】上記目的を達成するため
に、本発明は、複数の演算素子が複数の行及び列に2次
元状に配列され、各演算素子がデジタル画像信号につい
て所定の演算を行う並列演算素子アレイからなる並列処
理機構と、複数の列方向データ転送用データラインが前
記並列処理機構の各列と1対1に対応して設けられ、複
数の行方向データ転送用データラインが前記並列処理機
構の各行と1対1に対応して設けられ、各列方向データ
転送用データラインが、対応する列に存在する複数の演
算素子を接続し該対応する列の各演算素子とのデータ転
送を行い、各行方向データ転送用データラインが、対応
する行に存在する複数の演算素子を接続し該対応する行
の各演算素子とのデータ転送を行い、各列方向データ転
送用データラインが対応する一つの行方向データ転送用
データラインに接続されているデータ転送用バスとを備
えていることを特徴とする高速画像処理装置を提供して
いる。
In order to achieve the above-mentioned object, the present invention provides a multi-element system in which a plurality of processing elements are two-dimensionally arranged in a plurality of rows and columns, and each processing element performs a predetermined operation on a digital image signal. And a plurality of column direction data transfer data lines are provided in one-to-one correspondence with the respective columns of the parallel processing mechanism, and a plurality of row direction data transfer data lines are provided. Are provided in one-to-one correspondence with each row of the parallel processing mechanism, and each column-directional data transfer data line connects a plurality of arithmetic elements existing in a corresponding column, and is connected to each arithmetic element in the corresponding column. The data line for each row-direction data transfer connects a plurality of arithmetic elements present in the corresponding row, and performs data transfer with each arithmetic element in the corresponding row. line It provides high-speed image processing apparatus characterized by comprising corresponding a bus for data transfer, which is connected to one row-direction data transfer data line being.

【0008】本発明の高速画像処理装置によれば、並列
演算素子アレイの複数の演算素子がデジタル画像信号を
高速で並列演算処理することができる。しかも、データ
転送用バスを利用することで、外部からデータ転送の必
要な演算処理をも高速で行うことができ、また、各演算
素子に対して個別に外部よりアクセスすることも可能と
なる。
According to the high-speed image processing apparatus of the present invention, a plurality of processing elements of the parallel processing element array can perform parallel processing of digital image signals at high speed. Moreover, by using the data transfer bus, arithmetic processing requiring data transfer from the outside can be performed at high speed, and each arithmetic element can be individually accessed from the outside.

【0009】例えば、外部より、各列の位置情報を、対
応する列方向データ転送用データラインを介して対応す
る列の演算素子にデータ転送し、各行の位置情報を、対
応する行方向データ転送用データラインを介して対応す
る行の演算素子にデータ転送すれば、各演算素子は、該
データ転送された対応する行及び列の位置情報に基づ
き、デジタル画像信号に対する重心演算を行うことがで
きる。このように、本発明によれば、専用のデータ転送
用バスを行方向および列方向に配置しているので、画像
処理の基本演算である重心演算で必要となる位置情報
を、少ないデータ転送系統で効率的に転送することがで
きる。
For example, the position information of each column is externally transferred to the arithmetic element of the corresponding column via the corresponding data line for column direction data transfer, and the position information of each row is transferred to the corresponding row direction data transfer. When the data is transferred to the arithmetic elements in the corresponding row via the data line, each arithmetic element can perform the center of gravity calculation on the digital image signal based on the position information of the corresponding row and column to which the data has been transferred. . As described above, according to the present invention, since the dedicated data transfer bus is arranged in the row direction and the column direction, the position information required for the center of gravity calculation which is the basic operation of the image processing can be reduced by a small data transfer system. Can be transferred efficiently.

【0010】また、所定の列方向データ転送用データラ
インを介して所定の演算制御用のアドレスデータを外部
よりデータ転送すれば、所定の列に属する全演算素子に
対しデジタル画像信号に対する所定の演算を行わせるこ
とができる。同様に、所定の行方向データ転送用データ
ラインを介して所定の演算制御用のアドレスデータを外
部よりデータ転送すれば、所定の行に属する全演算素子
に対しデジタル画像信号に対する所定の演算を行わせる
ことができる。さらに、所定の列方向データ転送用デー
タラインと所定の行方向データ転送用データラインの両
方を介して所定の演算制御用のアドレスデータを外部よ
りデータ転送すれば、対応する行及び列に属する所定の
演算素子に対しデジタル画像信号に対する所定の演算を
行わせることができる。したがって、個々の演算素子に
異なった演算処理を実行させることもできる。
In addition, when address data for a predetermined operation control is externally transferred via a predetermined data line for column-direction data transfer, a predetermined operation on a digital image signal can be performed for all operation elements belonging to a predetermined column. Can be performed. Similarly, when address data for predetermined arithmetic control is externally transferred via a predetermined data line for row-direction data transfer, a predetermined arithmetic operation on a digital image signal is performed for all arithmetic elements belonging to a predetermined row. Can be made. Furthermore, if address data for a predetermined operation control is externally transferred via both a predetermined data line for column-direction data transfer and a predetermined data line for row-direction data transfer, the predetermined data belonging to the corresponding row and column can be obtained. Of the digital image signal. Therefore, it is also possible to cause each arithmetic element to execute different arithmetic processing.

【0011】また、所定の列方向データ転送用データラ
インを介して所定の演算制御用のアドレスデータを外部
よりデータ転送すれば、所定の列に属する全演算素子に
対し演算結果を出力させることもできる。同様に、所定
の行方向データ転送用データラインを介して所定の演算
制御用のアドレスデータを外部よりデータ転送すれば、
所定の行に属する全演算素子に対し演算結果を出力させ
ることもできる。さらに、所定の列方向データ転送用デ
ータラインと所定の行方向データ転送用データラインの
両方を介して所定の演算制御用のアドレスデータを外部
よりデータ転送すれば、対応する行及び列に属する所定
の演算素子に演算結果データを出力させることもでき
る。従って、例えば、特定の演算素子にその演算結果を
出力させることもできる。
Further, if address data for a predetermined operation control is externally transferred via a predetermined data line for column direction data transfer, the operation result can be output to all the operation elements belonging to the predetermined column. it can. Similarly, if address data for predetermined arithmetic control is externally transferred via a predetermined data line for row direction data transfer,
The operation result can be output to all operation elements belonging to a predetermined row. Furthermore, if address data for a predetermined operation control is externally transferred via both a predetermined data line for column-direction data transfer and a predetermined data line for row-direction data transfer, the predetermined data belonging to the corresponding row and column can be obtained. Can output operation result data to the operation element. Therefore, for example, the operation result can be output to a specific operation element.

【0012】しかも、本発明においては、各列方向デー
タ転送用データラインが対応する一つの行方向データ転
送用データラインに接続されている。このため、列方向
データ転送用データライン及び行方向データ転送用デー
タラインの入出力部のいずれか一方のみを、データ転送
用バスの入出力用に使用すればよい。したがって、列方
向データ転送用データライン及び行方向データ転送用デ
ータラインの両方を外部との入出力に使用するのに比
べ、入出力部の数を低減化し、高速画像処理装置の小型
化に寄与することができる。
Moreover, in the present invention, each column-direction data transfer data line is connected to a corresponding one row-direction data transfer data line. Therefore, only one of the input / output units of the data line for column data transfer and the data line for row data transfer needs to be used for input / output of the data transfer bus. Therefore, the number of input / output units is reduced and the size of the high-speed image processing device is reduced as compared with the case where both the data line for column-direction data transfer and the data line for row-direction data transfer are used for input / output with the outside. can do.

【0013】このように、本発明では、各列方向データ
転送用データラインが対応する一つの行方向データ転送
用データラインに接続されていることから、列方向に配
列されている演算素子及び行方向に配列されている演算
素子に対するデータ転送を、列方向データ転送用データ
ライン及び行方向データ転送用データラインを共通的に
使用して行う。各演算素子は、列方向データ転送用デー
タライン及び行方向データ転送用データラインへのアク
セスを、例えば、互いに異なるタイミングで行う等、個
別に行うことで、列方向データ転送用データライン及び
行方向データ転送用データラインとのデータのやりとり
を正確に行うことができ、外部とのデータのやりとりを
正確に行うことができる。
As described above, according to the present invention, since each column-directional data transfer data line is connected to one corresponding row-directional data transfer data line, the arithmetic elements and the rows arranged in the column direction are connected. Data transfer to the operation elements arranged in the direction is performed by using the data line for column direction data transfer and the data line for row direction data transfer in common. Each arithmetic element performs access to the data line for column-direction data transfer and the data line for row-direction data transfer individually, for example, at different timings from each other. Data exchange with the data transfer data line can be performed accurately, and data exchange with the outside can be performed accurately.

【0014】ここで、高速画像処理装置は、複数の受光
素子が前記複数の演算素子と1対1に対応して複数の行
及び列に2次元状に配列されて構成された受光素子アレ
イと、複数のA/D変換器が、該受光素子アレイの該複
数の行及び前記演算素子アレイの前記複数の行に1対1
に対応して1次元状に配列されて構成され、各A/D変
換器が、該対応する1行中の受光素子から順次読み出さ
れた出力画像信号をアナログ・デジタル変換し、得られ
た前記デジタル画像信号を前記演算素子アレイの対応す
る行に出力するA/D変換器アレイと、前記受光素子ア
レイ、前記A/D変換器アレイ、前記並列処理機構、及
び、前記データ転送用バスを制御する制御回路とを更に
備え、前記並列演算素子アレイの各演算素子が該A/D
変換器アレイから転送されたデジタル画像信号について
所定の演算を行うことが好ましい。
Here, the high-speed image processing apparatus comprises a light receiving element array in which a plurality of light receiving elements are two-dimensionally arranged in a plurality of rows and columns in a one-to-one correspondence with the plurality of arithmetic elements. , A plurality of A / D converters are provided for each of the plurality of rows of the light receiving element array and the plurality of rows of the arithmetic element array.
A / D converters are arranged in a one-dimensional manner corresponding to the above, and each A / D converter performs analog-to-digital conversion on output image signals sequentially read from the corresponding light receiving elements in one row. An A / D converter array for outputting the digital image signal to a corresponding row of the arithmetic element array, the light receiving element array, the A / D converter array, the parallel processing mechanism, and the data transfer bus. And a control circuit for controlling each of the arithmetic elements of the parallel arithmetic element array.
Preferably, a predetermined operation is performed on the digital image signal transferred from the converter array.

【0015】各行に属する各受光素子の出力画像信号は
順次読み出されて、対応するA/D変換器によりアナロ
グ・デジタル変換され、対応する行に属する対応する演
算素子に転送される。こうして、各演算素子は、対応す
る受光素子により生成された対応する画素の画像データ
であるデジタル画像信号を受け取る。各演算素子は、か
かるデジタル画像信号に対し並列演算処理を高速に行
う。
The output image signal of each light receiving element belonging to each row is sequentially read out, analog-to-digital converted by a corresponding A / D converter, and transferred to a corresponding arithmetic element belonging to the corresponding row. Thus, each arithmetic element receives a digital image signal which is image data of a corresponding pixel generated by a corresponding light receiving element. Each arithmetic element performs parallel arithmetic processing on the digital image signal at high speed.

【0016】ここで、複数の列方向データ転送用データ
ライン及び複数の行方向データ転送用データラインの両
方に対応したデータバッファをさらに備えていることが
好ましい。例えば、列方向データ転送用データライン及
び行方向データ転送用データラインの入出力部のいずれ
か一方を、データ転送用バスの入出力用として、データ
バッファに接続する。各列方向データ転送用データライ
ンが対応する一つの行方向データ転送用データラインに
接続しているため、このデータバッファを、複数の列方
向データ転送用データライン及び複数の行方向データ転
送用データラインの両方に対する共通のデータバッファ
として使用することができる。
Here, it is preferable to further include a data buffer corresponding to both the plurality of column-direction data transfer data lines and the plurality of row-direction data transfer data lines. For example, one of the input / output units of the column direction data transfer data line and the row direction data transfer data line is connected to the data buffer for input / output of the data transfer bus. Since each column-direction data transfer data line is connected to a corresponding one row-direction data transfer data line, this data buffer is divided into a plurality of column-direction data transfer data lines and a plurality of row-direction data transfer data lines. It can be used as a common data buffer for both of the lines.

【0017】例えば、列の位置情報及び行の位置情報と
して共通に使用できる位置データをデータバッファに予
め格納しておくことができる。重心演算を行う際には、
この位置データをデータバッファから列方向データ転送
用データラインを介して演算素子に転送することによ
り、列の位置情報を高速に転送することができる。ま
た、この位置データをデータバッファから行方向データ
転送用データラインを介して演算素子に転送することに
より、行の位置情報を高速に転送することができる。
For example, position data that can be commonly used as column position information and row position information can be stored in the data buffer in advance. When calculating the center of gravity,
By transferring the position data from the data buffer to the arithmetic element via the data line for column direction data transfer, the position information of the column can be transferred at high speed. Further, by transferring the position data from the data buffer to the arithmetic element via the data line for transferring data in the row direction, the position information of the row can be transferred at a high speed.

【0018】また、列方向データ転送用データライン及
び行方向データ転送用データラインの両方に対応したア
ドレスデータ生成カウンタをさらに備えていることが好
ましい。例えば、列方向データ転送用データライン及び
行方向データ転送用データラインの入出力部のいずれか
一方を、データ転送用バスの入出力用として、アドレス
データ生成カウンタに接続する。各列方向データ転送用
データラインが対応する一つの行方向データ転送用デー
タラインに接続しているため、このアドレスデータ生成
カウンタを、複数の列方向データ転送用データライン及
び複数の行方向データ転送用データラインの両方に対す
る共通のアドレスデータ生成カウンタとして使用するこ
とができる。
It is preferable that the apparatus further comprises an address data generation counter corresponding to both the data line for column data transfer and the data line for row data transfer. For example, one of the input / output units of the data line for column direction data transfer and the data line for row direction data transfer is connected to an address data generation counter for input / output of a data transfer bus. Since each column-direction data transfer data line is connected to a corresponding one row-direction data transfer data line, the address data generation counter is divided into a plurality of column-direction data transfer data lines and a plurality of row-direction data transfer data lines. Can be used as a common address data generation counter for both data lines.

【0019】この演算制御用アドレスデータ生成用カウ
ンタは、例えば、シフトレジスタからなり、順次生成さ
れるクロックをカウントしながら、演算制御用のアドレ
スデータを順次自動的に生成することができる。この演
算制御用のアドレスデータは、例えば、列及び行を選択
するために共通的に使用される。すなわち、順次生成さ
れる演算制御用のアドレスデータを、列方向データ転送
用データラインを介して繰り返し転送することにより、
列を順番に選択し、選択した列に属する演算素子に、演
算処理を実行させたり、あるいは、演算結果を出力させ
たりすることができる。同様に、順次生成される演算制
御用アドレスデータを行方向データ転送用データライン
を介して繰り返し転送することにより、行を順番に選択
し、選択した行に属する演算素子に、演算処理を実行さ
せたり、あるいは、演算結果を出力させたりすることが
できる。
The operation control address data generation counter is composed of, for example, a shift register, and can automatically and automatically generate operation control address data while counting sequentially generated clocks. The operation control address data is commonly used, for example, to select a column and a row. That is, by sequentially transferring the operation control address data generated sequentially through the column direction data transfer data line,
The columns can be sequentially selected, and the arithmetic elements belonging to the selected columns can execute the arithmetic processing or output the arithmetic results. Similarly, by repeatedly transferring the sequentially generated operation control address data via the row direction data transfer data line, the rows are sequentially selected, and the arithmetic elements belonging to the selected row execute the arithmetic processing. Or output the operation result.

【0020】並列処理機構は、さらに、複数の転送用シ
フトレジスタが複数のA/D変換器と複数の演算素子行
の各々と1対1に対応して配列され、各転送用シフトレ
ジスタが、対応するA/D変換器から出力された対応す
る受光素子行に所属する受光素子の出力画像信号に相当
するデジタル画像信号を、対応する行に所属する所定の
演算素子に順次転送する転送用シフトレジスタアレイを
有することが好ましい。
The parallel processing mechanism further includes a plurality of transfer shift registers arranged in one-to-one correspondence with a plurality of A / D converters and a plurality of operation element rows, respectively. A transfer shift for sequentially transferring a digital image signal output from a corresponding A / D converter and corresponding to an output image signal of a light receiving element belonging to a corresponding light receiving element row to a predetermined arithmetic element belonging to the corresponding row. It is preferable to have a register array.

【0021】演算素子への転送を専用のシフトレジスタ
が行うため、転送中でも各演算素子は演算処理を行うこ
とが可能となる。したがって、転送処理と独立して演算
処理が行うことができるため、演算処理と転送処理とを
効率良く行うことができる。例えば、転送処理と演算処
理とを並列に行うことができる。
Since the transfer to the arithmetic elements is performed by the dedicated shift register, each arithmetic element can perform arithmetic processing even during the transfer. Therefore, since the arithmetic processing can be performed independently of the transfer processing, the arithmetic processing and the transfer processing can be efficiently performed. For example, the transfer processing and the arithmetic processing can be performed in parallel.

【0022】[0022]

【発明の実施の形態】本発明の実施の形態による高速画
像処理装置について図面に基づき説明する。なお、図面
の説明においては同一要素には同一符号を付し、重複す
る説明を省略する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS A high-speed image processing apparatus according to an embodiment of the present invention will be described with reference to the drawings. In the description of the drawings, the same elements will be denoted by the same reference symbols, without redundant description.

【0023】本発明の第1の実施の形態による高速画像
処理装置について図1乃至図21に基づき説明する。
A high-speed image processing apparatus according to a first embodiment of the present invention will be described with reference to FIGS.

【0024】図1は、本実施形態に係る高速画像処理装
置10のブロック図である。また、図2に、当該高速画
像処理装置10の構成例を示す。
FIG. 1 is a block diagram of a high-speed image processing apparatus 10 according to the present embodiment. FIG. 2 shows a configuration example of the high-speed image processing apparatus 10.

【0025】まず、図1により、高速画像処理装置10
全体の構成を簡単に説明する。本実施形態の高速画像処
理装置10は、デジタル信号の画像データを並列演算処
理するための並列処理機構14を備えている。本実施形
態の高速画像処理装置10は、さらに、デジタル信号の
画像データを生成し並列処理機構14に出力するための
画像取り込み部たる受光素子アレイ11とA/D変換器
アレイ13とを備え、さらに、制御回路15と、x/y
データバス17と、インストラクション/コマンドバス
16、及び、後述する出力バス155(図6)とを備え
ている。
First, referring to FIG.
The overall configuration will be briefly described. The high-speed image processing apparatus 10 according to the present embodiment includes a parallel processing mechanism 14 for performing parallel arithmetic processing on image data of a digital signal. The high-speed image processing apparatus 10 of the present embodiment further includes a light receiving element array 11 and an A / D converter array 13 as an image capturing unit for generating image data of a digital signal and outputting the digital signal image data to the parallel processing mechanism 14. Further, the control circuit 15 and x / y
It includes a data bus 17, an instruction / command bus 16, and an output bus 155 (FIG. 6) described later.

【0026】並列処理機構14には、N個xN個の演算
素子(PE(processing element))400が、2次元
状(すなわち、N列xN行)に配置されて構成された演
算素子アレイ40が設けられている。ここで、Nは正の
整数である。この演算素子アレイ40には、そのN個の
演算素子行に1対1に対応して、N個の転送用シフトレ
ジスタライン(画像転送用シフトレジスタライン)42
0が付加されている。各転送用シフトレジスタライン4
20は、対応する行に属する演算素子400の個数
(N)に等しいN個の転送用シフトレジスタ(画像転送
用シフトレジスタ)410が直列接続されて構成されて
いる。各転送用シフトレジスタ410が、対応する行内
の対応する一つの演算素子400に接続され、デジタル
信号の画像データを対応する演算素子400に入力する
ようになっている。
The parallel processing mechanism 14 includes a processing element array 40 in which N × N processing elements (PE (processing elements)) 400 are arranged two-dimensionally (ie, N columns × N rows). Is provided. Here, N is a positive integer. The operation element array 40 includes N transfer shift register lines (image transfer shift register lines) 42 in one-to-one correspondence with the N operation element rows.
0 is added. Shift register line 4 for each transfer
Reference numeral 20 denotes a configuration in which N transfer shift registers (image transfer shift registers) 410 equal to the number (N) of the operation elements 400 belonging to the corresponding row are connected in series. Each transfer shift register 410 is connected to one corresponding arithmetic element 400 in a corresponding row, and inputs image data of a digital signal to the corresponding arithmetic element 400.

【0027】受光素子アレイ11には、N個xN個の受
光素子120が、演算素子400に対応して、2次元状
(すなわち、N列xN行)に配置されている。すなわ
ち、受光素子アレイ11は、N個の受光素子120が水
平方向(x方向)に並んで構成された水平受光部110
が、N個、水平方向(x方向)に直交する垂直方向(y
方向)に配列されて構成されている。
In the light receiving element array 11, N × N light receiving elements 120 are arranged two-dimensionally (ie, N columns × N rows) corresponding to the arithmetic elements 400. That is, the light receiving element array 11 includes a horizontal light receiving section 110 in which N light receiving elements 120 are arranged in the horizontal direction (x direction).
Are N vertical directions (y) orthogonal to the horizontal direction (x direction).
Direction).

【0028】A/D変換器アレイ13には、N個のA/
D変換器210が1次元状(垂直方向(y方向))に配
列されている。当該N個のA/D変換器210は、受光
素子アレイ11内のN個の水平受光部110に1対1に
対応しており、対応する水平受光部110に所属する受
光素子120から出力された電荷を順次電圧信号に変換
しさらにA/D変換するためのものである。
The A / D converter array 13 has N A / D converters.
The D converters 210 are arranged one-dimensionally (in the vertical direction (y direction)). The N A / D converters 210 correspond one-to-one to the N horizontal light receiving units 110 in the light receiving element array 11 and are output from the light receiving elements 120 belonging to the corresponding horizontal light receiving units 110. The charge is sequentially converted to a voltage signal and further A / D converted.

【0029】制御回路15は、本高速画像処理装置10
の回路全体に命令信号やデータ等を送って制御するため
のものである。x/yデータバス17は、各列ごとの演
算素子400と接続され各列の演算素子400にデータ
を転送するためのN本の1ビットデータライン170
と、各行ごとの演算素子400と接続され各行の演算素
子400にデータを転送するためのN本の1ビットデー
タライン180とからなる。x/yデータバス17は、
制御回路15に接続されている。インストラクション/
コマンドバス16は、制御回路15からの信号を受光素
子アレイ11、A/D変換器アレイ13、及び、並列処
理機構14に送るためのものである。なお、後述する図
6に示すように、制御回路15は、さらに、単一の出力
バス155を介して全演算素子400とワイヤードOR
接続されている。
The control circuit 15 controls the high-speed image processing apparatus 10
For sending and controlling command signals and data to the entire circuit. The x / y data bus 17 is connected to the arithmetic element 400 of each column, and has N 1-bit data lines 170 for transferring data to the arithmetic element 400 of each column.
And N 1-bit data lines 180 connected to the arithmetic elements 400 of each row and for transferring data to the arithmetic elements 400 of each row. The x / y data bus 17 is
It is connected to the control circuit 15. Instructions /
The command bus 16 is for sending a signal from the control circuit 15 to the light receiving element array 11, the A / D converter array 13, and the parallel processing mechanism 14. As shown in FIG. 6, which will be described later, the control circuit 15 further performs a wired OR operation with all the operation elements 400 through a single output bus 155.
It is connected.

【0030】高速画像処理装置10は上記構成となって
いるため、並列処理機構14と受光素子アレイ11との
間を、N本のデータラインで接続することができる。し
たがって、図2に示されるように受光素子アレイ11と
並列処理機構14とを別々の基板に形成し、個々の動作
を確認できる構成とすることで、高速画像処理装置10
の安定した生産が可能となっている。また、このよう
に、受光素子アレイ11と並列処理機構14とを別々の
基板に形成することで、双方を高集積化することが可能
であり、また、それぞれの装置の特性に合わせた加工工
程を採用できる点からも、安定した生産が可能となって
いる。また、本高速画像処理装置10の各構成要素は、
全てCMOSプロセスによって作成可能であるため、す
べての構成要素を1チップ化することも可能であり、こ
れにより大幅なコストダウンを図ることもできる。
Since the high-speed image processing apparatus 10 has the above configuration, the parallel processing mechanism 14 and the light receiving element array 11 can be connected by N data lines. Therefore, as shown in FIG. 2, the light-receiving element array 11 and the parallel processing mechanism 14 are formed on separate substrates, and the operation of each element can be confirmed.
The stable production of is possible. In addition, by forming the light receiving element array 11 and the parallel processing mechanism 14 on separate substrates in this way, both can be highly integrated, and a processing step adapted to the characteristics of each device can be achieved. The stable production is possible from the point that can be adopted. Also, each component of the high-speed image processing device 10 includes:
Since all components can be formed by a CMOS process, all the components can be made into one chip, which can greatly reduce the cost.

【0031】続いて、各回路の内部構成について説明す
る。
Next, the internal configuration of each circuit will be described.

【0032】図3は、制御回路15の構成ブロック図で
ある。制御回路15は、CPU150,メモリ151,
画像取り込み制御部300(図4)、及び、外部との入
出力インターフェース152等が、バス153で接続さ
れて構成されている。メモリ151には、CPU150
によって実行される後述の画像処理プログラム(図
8)、及び、当該画像処理プログラム内の並列画像処理
ステップ(図8のS110)において並列処理機構14
の並列演算処理を制御するためのプログラム(例えば、
図9〜図13及び図16〜図21)が格納されている。
メモリ151には、さらに、後述のアドレスデータ格納
領域154(図14)も形成されている。これら画像処
理プログラムや並列演算処理プログラムは、外部装置
(例えば、外部コンピュータ)1000より、入出力イ
ンターフェース152を介して、メモリ151に書き込
まれる。なお、バス153は、図示しないコマンドバス
やデータバスを備えており、図1のインストラクション
/コマンドバス16やx/yデータバス17、及び、図
6の出力バス155に接続されている。
FIG. 3 is a block diagram showing the configuration of the control circuit 15. The control circuit 15 includes a CPU 150, a memory 151,
The image capture control unit 300 (FIG. 4), the input / output interface 152 with the outside, and the like are connected by a bus 153. The memory 151 includes a CPU 150
An image processing program (FIG. 8) to be described later executed by the parallel processing mechanism 14 in the parallel image processing step (S110 in FIG. 8) in the image processing program.
A program for controlling the parallel processing of (for example,
9 to 13 and 16 to 21) are stored.
The memory 151 further has an address data storage area 154 (FIG. 14) described later. These image processing programs and parallel operation processing programs are written from an external device (for example, an external computer) 1000 to the memory 151 via the input / output interface 152. The bus 153 includes a command bus and a data bus (not shown), and is connected to the instruction / command bus 16 and the x / y data bus 17 in FIG. 1 and the output bus 155 in FIG.

【0033】CPU150は、メモリ151内の画像処
理プログラム(図8)に基づいて、画像取り込み制御部
300を介して受光素子アレイ11とA/D変換器アレ
イ13とを制御すると共に、並列処理機構14を制御す
る。より詳しくは、CPU150は、画像取り込み制御
部300(図4)を制御して(図8のS101)、受光
素子アレイ11とA/D変換器アレイ13に画像の取り
込みを行わせる。CPU150はまた、並列処理機構1
4内の転送用シフトレジスタ410によるデータ転送と
演算素子400による演算とを制御する(図8のS10
2〜S104、S110)ことで、SIMD(single i
nstruction and multi data stream)型の並列演算処理
を行わせる。CPU150は、さらに、並列処理機構1
4の並列演算処理実行中、必要な演算を行ったり、並列
処理機構14による処理結果に基づいて必要な演算や判
別動作を行う。CPU150は、さらに、入出力インタ
ーフェース152を介して、外部装置1000たる外部
コンピュータとの通信を行ったり、別の外部装置100
0たる外部アクチュエータを制御したりする。例えば、
CPU150は、得られた演算結果を外部コンピュータ
に出力したり、当該演算結果に基づき外部アクチュエー
タを制御したりする。
The CPU 150 controls the light receiving element array 11 and the A / D converter array 13 via the image capturing control section 300 based on an image processing program (FIG. 8) in the memory 151, and also has a parallel processing mechanism. 14 is controlled. More specifically, the CPU 150 controls the image capture controller 300 (FIG. 4) (S101 in FIG. 8) to cause the light receiving element array 11 and the A / D converter array 13 to capture an image. The CPU 150 also controls the parallel processing mechanism 1
4 to control the data transfer by the transfer shift register 410 and the calculation by the arithmetic element 400 (S10 in FIG. 8).
2 to S104 and S110), SIMD (single i
(nstruction and multi data stream) type parallel operation processing. The CPU 150 further includes the parallel processing mechanism 1
During execution of the parallel operation processing of No. 4, necessary operations are performed, and necessary operations and determination operations are performed based on the processing results of the parallel processing mechanism 14. The CPU 150 further communicates with an external computer as the external device 1000 via the input / output interface 152,
For example, it controls an external actuator that is zero. For example,
The CPU 150 outputs the obtained calculation result to an external computer, and controls the external actuator based on the calculation result.

【0034】次に、画像取込部たる受光素子アレイ11
とA/D変換器アレイ13の構成を、図4及び図5を参
照して詳細に説明する。
Next, the light receiving element array 11 serving as an image capturing section
The configuration of the A / D converter array 13 will be described in detail with reference to FIGS.

【0035】受光素子アレイ11は、光を検出する受光
部として機能し、A/D変換器アレイ13は、当該受光
部11からの出力信号を電流/電圧変換し、さらに、A
/D変換処理する信号処理部として機能する。制御回路
15の画像取り込み制御部300が、受光素子アレイ1
1とA/D変換器アレイ13に接続されており、当該受
光部11及び信号処理部13に動作タイミングの指示信
号を通知するタイミング制御部として機能する。
The light receiving element array 11 functions as a light receiving part for detecting light, and the A / D converter array 13 performs current / voltage conversion of an output signal from the light receiving part 11, and further performs A / D conversion.
Functions as a signal processing unit for performing the / D conversion processing. The image capturing control unit 300 of the control circuit 15
1 and the A / D converter array 13, and functions as a timing control unit that notifies the light receiving unit 11 and the signal processing unit 13 of an operation timing instruction signal.

【0036】まず、受光素子アレイ(受光部)11の構
成を説明する。
First, the configuration of the light receiving element array (light receiving section) 11 will be described.

【0037】図4に示すように、受光素子アレイ11で
は、各受光素子120が、入力した光強度に応じて電荷
を発生する光電変換素子130と、光電変換素子130
の信号出力端子に接続され、水平走査信号Vi(i=0
〜N―1)に応じて光電変換素子130に蓄積された電
荷を出力するスイッチ素子140とを1組として構成さ
れている。この受光素子120が水平方向(x方向)に
沿ってN個配置され、各受光素子120のスイッチ素子
140が電気的に接続されて水平受光部110を構成し
ている。そして、この水平受光部110を、水平方向に
対して直交する垂直方向(y方向)に沿ってN個配列す
ることにより、受光部11が構成されている。したがっ
て、受光部11には、受光素子120i,j(i=0〜
N―1、j=0〜N―1)が2次元状にN列xN行、配
列されている。
As shown in FIG. 4, in the light-receiving element array 11, each light-receiving element 120 includes a photoelectric conversion element 130 for generating an electric charge according to the input light intensity, and a photoelectric conversion element 130.
Of the horizontal scanning signal V i (i = 0)
... N−1), and a switch element 140 that outputs the charge accumulated in the photoelectric conversion element 130 as one set. N light receiving elements 120 are arranged along the horizontal direction (x direction), and the switching elements 140 of each light receiving element 120 are electrically connected to each other to form the horizontal light receiving section 110. The light receiving unit 11 is configured by arranging N horizontal light receiving units 110 along a vertical direction (y direction) orthogonal to the horizontal direction. Therefore, the light receiving unit 11 includes the light receiving elements 120 i, j (i = 0 to
N-1, j = 0 to N-1) are arranged two-dimensionally in N columns × N rows.

【0038】次に、同じく図4により、信号処理部たる
A/D変換器アレイ13の構成を説明する。
Next, the configuration of the A / D converter array 13 as a signal processing unit will be described with reference to FIG.

【0039】A/D変換器アレイ13は、A/D変換器
210j(j=0〜N―1)をN個配置して構成されて
いる。各A/D変換器210j(j=0〜N―1)は、
対応する水平受光部110j(j=0〜N―1)から転
送されてきた電荷を個別に取り出して処理し、この電荷
強度に対応するデジタル信号を出力するためのものであ
る。
The A / D converter array 13 is configured by arranging N A / D converters 210 j (j = 0 to N−1). Each A / D converter 210 j (j = 0 to N−1)
This is for individually taking out and processing the charges transferred from the corresponding horizontal light receiving unit 110 j (j = 0 to N−1), and outputting a digital signal corresponding to the charge intensity.

【0040】各A/D変換器210jは、チャージアン
プ221jを含む積分回路220jと、比較回路23
j、及び、容量制御機構240jの3つの回路から構成
されている。
[0040] Each A / D converter 210 j includes an integrating circuit 220 j which includes a charge amplifier 221 j, the comparison circuit 23
0 j and a capacity control mechanism 240 j .

【0041】積分回路220jは、水平受光部110j
らの出力信号を入力として、この入力信号の電荷を増幅
するチャージアンプ221jと、チャージアンプ221j
の入力端子に一方の端が接続され、出力端子に他方の端
が接続された可変容量部222jと、チャージアンプ2
21jの入力端子に一方の端が接続され、出力端子に他
方の端が接続されたスイッチ素子223jとからなる。
スイッチ素子223jは、画像取り込み制御部300か
らのリセット信号Rに応じてON、OFF状態となり、
積分回路220jの積分、非積分動作を切り替えるため
のものである。
The integration circuit 220 j receives the output signal from the horizontal light receiving unit 110 j as an input, and amplifies the charge of the input signal by a charge amplifier 221 j and a charge amplifier 221 j.
A variable capacitance section 222 j having one end connected to the input terminal of the input terminal and the other end connected to the output terminal;
21 one end to the input terminal of the j is connected, the other end consisting of a connected switch elements 223 j to the output terminal.
The switch element 223 j is turned ON and OFF in response to a reset signal R from the image capture control unit 300,
Integration of the integrating circuit 220 j, is used to switch the non-integral operation.

【0042】図5は、積分回路220の詳細構成図であ
る。本図は、4ビットつまり16階調の分解能を持つA
/D変換機能を備える積分回路の例であり、以下、この
回路構成により説明する。
FIG. 5 is a detailed block diagram of the integration circuit 220. This figure shows A having a resolution of 4 bits, that is, 16 gradations.
This is an example of an integrating circuit having a / D conversion function, and the following description will be given using this circuit configuration.

【0043】可変容量部222は、チャージアンプ22
1の水平受光部110からの出力信号の入力端子に一方
の端子が接続された容量素子C1〜C4と、容量素子C
1〜C4の他方の端子とチャージアンプ221の出力端
子との間に接続され、容量指示信号C11〜C14に応じて
開閉するスイッチ素子SW11〜SW14と、容量素子
C1〜C4とスイッチ素子SW11〜SW14との間に
一方の端子が接続され、他方の端子がGNDレベルと接
続されて、容量指示信号C21〜C24に応じて開閉するス
イッチ素子SW21〜SW24とから構成されている。
なお、容量素子C1〜C4の電気容量C1〜C4は、 C1=2C2=4C3=8C4 0=C1+C2+C3+C4 の関係を満たす。ここで、C0は積分回路220で必要
とする最大電気容量であり、受光素子130(図4参
照)の飽和電荷量をQ0、基準電圧をVREFとすると、 C0=Q0/VREF の関係を満たす。
The variable capacitance section 222 includes a charge amplifier 22
One of the input terminals of the output signal from the horizontal light receiving section 110
C1 to C4 connected to the terminals of
The other terminals of 1 to C4 and the output terminal of the charge amplifier 221
And a capacitor indicating signal C11~ C14In response to the
Switch elements SW11 to SW14 that open and close, and capacitive elements
Between C1 to C4 and switch elements SW11 to SW14
One terminal is connected and the other terminal is connected to GND level.
Then, the capacity indication signal Ctwenty one~ Ctwenty fourOpen and close according to
It is composed of switch elements SW21 to SW24.
Note that the capacitance C of the capacitance elements C1 to C41~ CFourIs C1= 2CTwo= 4CThree= 8CFour  C0= C1+ CTwo+ CThree+ CFour  Satisfy the relationship. Where C0Is required by the integration circuit 220
Is the maximum electric capacity, and the light receiving element 130 (see FIG. 4).
Q)0And the reference voltage to VREFThen C0= Q0/ VREF  Satisfy the relationship.

【0044】再び、図4に戻り、A/D変換器210j
の積分回路220j以外の回路を説明する。比較回路2
30jは、積分回路220jから出力された積分信号VS
の値を基準値VREFと比較して、比較結果信号VCを出力
する。容量制御機構240jは、比較結果信号VCの値か
ら積分回路220j内の可変容量部222jに通知する容
量指示信号Cを出力すると共に、容量指示信号C(C
11〜C14)に相当するデジタル信号D1を出力す
る。
Returning again to FIG. 4, the A / D converter 210 j
The circuit other than the integrating circuit 220 j will be described. Comparison circuit 2
30 j is the integrated signal V S output from the integrating circuit 220 j
Is compared with a reference value V REF to output a comparison result signal V C. The capacity control mechanism 240 j outputs a capacity indication signal C for notifying the variable capacity section 222 j in the integration circuit 220 j from the value of the comparison result signal V C , and also outputs the capacity indication signal C (C
11 to C 14 ) are output.

【0045】なお、以上、A/D変換器アレイ13が4
ビットつまり16階調の分解能を持つ場合について説明
したが、A/D変換器アレイ13は、6ビット、8ビッ
ト等、他のビット構成の分解能を持つ構成であってもよ
い。
Note that the A / D converter array 13 has four
Although the description has been given of the case where the resolution has 16 bits, that is, 16 gradations, the A / D converter array 13 may have a configuration having a resolution of another bit configuration such as 6 bits or 8 bits.

【0046】上記構成の画像取り込み部11及び13
は、制御回路15内の画像取り込み制御部300によ
り、画像取り込みのタイミングを制御される。図4に示
すように、画像取り込み制御部300は、全回路11及
び13のクロック制御を行う基本タイミングを発生する
基本タイミング部310と、基本タイミング部310か
ら通知された水平走査指示に従って水平走査信号Vi
発生する水平シフトレジスタ320と、リセット指示信
号Rを発生する制御信号部340とから構成されてい
る。
The image capturing units 11 and 13 having the above configuration
The timing of image capture is controlled by the image capture controller 300 in the control circuit 15. As shown in FIG. 4, the image capture control unit 300 generates a basic timing unit 310 that generates a basic timing for performing clock control of all the circuits 11 and 13, and outputs a horizontal scanning signal according to a horizontal scanning instruction notified from the basic timing unit 310. a horizontal shift register 320 for generating the V i, and a control signal unit 340. which generates a reset instruction signal R.

【0047】次に、並列処理機構14の構成を説明す
る。
Next, the configuration of the parallel processing mechanism 14 will be described.

【0048】既述のように、並列処理機構14には、図
1に示すように、受光素子アレイ11のN個の水平受光
部110(j=0〜N―1)及びA/D変換器アレイ
13のN個のA/D変換器210(j=0〜N―1)
に対応して、N個の転送用シフトレジスタライン420
(j=0〜N―1)が設けられている。より詳しく
は、N個の転送用シフトレジスタライン420(j=
0〜N―1)が、A/D変換器アレイ13のN個の容量
制御機構240(j=0〜N―1)に接続されてい
る。
As described above, the parallel processing mechanism 14 includes N horizontal light receiving sections 110 j (j = 0 to N−1) of the light receiving element array 11 and A / D conversion as shown in FIG. A / D converters 210 j of the detector array 13 (j = 0 to N−1)
Corresponding to N transfer shift register lines 420
j (j = 0 to N−1). More specifically, N shift register lines for transfer 420 j (j =
0 to N−1) are connected to N capacity control mechanisms 240 j (j = 0 to N−1) of the A / D converter array 13.

【0049】各転送用シフトレジスタライン420
(j=0〜N―1)には、複数ビット(この場合、4
ビット)の転送用シフトレジスタ410i,j(i=0
〜N―1、j=0〜N―1)が、N個、直列接続されて
いる。図6に示すように、制御回路15が、インストラ
クション/コマンドバス16を介して、各転送用シフト
レジスタ410i,jに接続されている。制御回路15
は、転送開始信号を各シフトレジスタ410i,jに出
力することより、A/D変換器アレイ13からのデータ
を必要な演算素子400の位置まで転送させる。
Each transfer shift register line 420
j (j = 0 to N−1) has a plurality of bits (4 in this case).
Shift register 410 i, j (i = 0)
To N−1 and j = 0 to N−1) are connected in series. As shown in FIG. 6, a control circuit 15 is connected to each transfer shift register 410 i, j via an instruction / command bus 16. Control circuit 15
Outputs the transfer start signal to each shift register 410 i, j to transfer the data from the A / D converter array 13 to the required position of the arithmetic element 400.

【0050】また、並列処理機構14には、N個xN個
の受光素子120i,j(i=0〜N―1,j=0〜N
―1)に1対1に対応して、演算素子400i,j(i
=0〜N―1,j=0〜N―1)がNxN個2次元状に
配列されている。各演算素子400 i,j(i=0〜
N―1,j=0〜N―1)は、対応するシフトレジスタ
ライン420(j=0〜N―1)の対応する転送用シ
フトレジスタ410 ,j(i=0〜N―1,j=0〜
N―1)に接続されている。図6に示すように、制御回
路15が、インストラクション/コマンドバス16を介
して各演算素子400 i,jに接続されており、当該
演算素子400における演算処理を制御する。
The parallel processing mechanism 14 includes N × N light receiving elements 120 i, j (i = 0 to N−1, j = 0 to N).
-1), the arithmetic elements 400 i, j (i
= 0 to N−1 and j = 0 to N−1) are arranged two-dimensionally in N × N pieces. Each arithmetic element 400 i, j (i = 0 to
N−1, j = 0 to N−1) correspond to the corresponding transfer shift registers 410 i , j (i = 0 to N−1) of the corresponding shift register line 420 j (j = 0 to N−1). j = 0
N-1). As shown in FIG. 6, a control circuit 15 is connected to each of the arithmetic elements 400 i and j via an instruction / command bus 16, and controls arithmetic processing in the arithmetic element 400.

【0051】次に、出力バス155について説明する。Next, the output bus 155 will be described.

【0052】図6に示すように、全演算素子400が単
一の出力バス155に接続されている。ここで、出力バ
ス155は、単一の1ビット信号線から構成されてい
る。出力バス155は、全演算素子400に接続されて
いるため、全演算素子400の出力のOR論理演算結果
を制御回路15に通信するワイヤードOR回路(wiredO
R回路)の機能を有する。このため、制御回路15は、
全演算素子400の出力信号をまとめてから受け取るこ
とができ、スキャンを用いることなく高速に出力信号を
受け取ることができる。
As shown in FIG. 6, all the arithmetic elements 400 are connected to a single output bus 155. Here, the output bus 155 is composed of a single 1-bit signal line. Since the output bus 155 is connected to all the operation elements 400, a wired OR circuit (wiredO circuit) that communicates the OR logical operation result of the output of all the operation elements 400 to the control circuit 15
R circuit). For this reason, the control circuit 15
The output signals of all the operation elements 400 can be received after being collected, and the output signals can be received at high speed without using scanning.

【0053】次に、x/yデータバス17について説明
する。
Next, the x / y data bus 17 will be described.

【0054】なお、x/yデータバス17としては、例
えば、制御回路15から演算素子400へのデータ転送
/書き込み機能のみを有する一方向性のデータバスを利
用することができる。もしくは、制御回路15から演算
素子400への転送/書き込み機能と演算素子400か
ら制御回路15への出力/転送機能の両方を有する双方
向性のデータバスを使用してもよい。この場合には、制
御回路15からのデータを演算素子400へ転送し書き
込ませるのみならず、演算素子400の計算結果をx/
yデータバス17を介して制御回路15に出力すること
ができる。
As the x / y data bus 17, for example, a unidirectional data bus having only a function of transferring / writing data from the control circuit 15 to the arithmetic element 400 can be used. Alternatively, a bidirectional data bus having both a transfer / write function from the control circuit 15 to the arithmetic element 400 and an output / transfer function from the arithmetic element 400 to the control circuit 15 may be used. In this case, not only the data from the control circuit 15 is transferred to the arithmetic element 400 and written therein, but also the calculation result of the arithmetic element 400 is expressed as x /
It can be output to the control circuit 15 via the y data bus 17.

【0055】x/yデータバス17は、図7に示すよう
に、複数(この場合N個)の1ビットのxデータライン
170i(0≦i≦N―1)と、複数(この場合N個)
の1ビットのyデータライン180j(0≦j≦N―
1)とから構成されている。なお、図7では、明瞭化を
図るため、転送用シフトレジスタ410の図示を省略し
ている。各xデータライン170iは、対応する演算素
子列iに位置する全N個の演算素子400(i、j)
(0≦j≦N―1)と接続されている。また、各yデー
タライン180jが、対応する演算素子行jに位置する
全N個の演算素子400(i,j)(0≦i≦N―1)
と接続されている。各xデータライン170i(0≦i
≦N―1)は、対応する一つのyデータライン180j
(0≦j≦N―1)に、接続部175i(i=j:0≦
i、j≦N―1)にて接続されている。例えば、xデー
タライン170は、yデータライン180に、接続
部175を介して、接続されている。また、xデータ
ライン170は、yデータライン180に、接続部
175を介して、接続されている。
As shown in FIG. 7, the x / y data bus 17 includes a plurality of (in this case, N) 1-bit x data lines 170i (0 ≦ i ≦ N−1) and a plurality of (in this case, N) )
1-bit y data line 180j (0 ≦ j ≦ N−
1). In FIG. 7, the transfer shift register 410 is not shown for clarity. Each x data line 170i includes all N arithmetic elements 400 (i, j) located in the corresponding arithmetic element row i.
(0 ≦ j ≦ N−1). Further, each y data line 180j is composed of all N arithmetic elements 400 (i, j) (0 ≦ i ≦ N−1) located in the corresponding arithmetic element row j.
Is connected to Each x data line 170i (0 ≦ i
≤N-1) is the corresponding one y data line 180j
(0 ≦ j ≦ N−1), the connecting portion 175i (i = j: 0 ≦
i, j ≦ N−1). E.g., x data lines 170 0, the y data lines 180 0, via the connecting portion 175 0 is connected. Further, the x data line 170 1 is connected to the y data line 180 1 via the connection unit 175 1 .

【0056】かかる構成のx/yデータバス17は、N
個のxデータライン170の一端に、入出力ピン170
e(0)〜170e(N−1)を有しており、当該計N
個の入出力ピン170eを介して、制御回路15に接続
されている。したがって、x/yデータバス17は、制
御回路15からのデータを、各入出力ピン170e
(i:0≦i≦N―1)から入力し、対応するxデータ
ライン170iに転送することで、対応する列i内に位
置する全演算素子400(i、j)にデータを転送する
と共に、さらに、接続部175i(i=j)を介して対
応するyデータライン180jに供給することで、対応
する行j内に位置する全演算素子400(i、j)にも
データを転送することができる。さらに、各列i内に位
置する各演算素子400(i、j)は、対応するxデー
タライン170iにデータを転送することで、該データ
を対応する入出力ピン170e(i:0≦i≦N―1)
から制御回路15へ出力することができる。さらに、各
行j内に位置する各演算素子400(i、j)も、対応
するyデータライン180jにデータを転送すること
で、当該データを接続部175i(i=j)を介して対
応するxデータライン170j(i=j)に供給するこ
とができ、したがって、対応する入出力ピン170e
(i=j:0≦i=j≦N―1)から制御回路15へ出
力することができる。
The x / y data bus 17 having such a configuration is connected to the N / N
Input / output pins 170 at one end of the x data lines 170
e (0) to 170e (N−1), and the total N
It is connected to the control circuit 15 via the input / output pins 170e. Therefore, the x / y data bus 17 transfers data from the control circuit 15 to each input / output pin 170e.
(I: 0 ≦ i ≦ N−1), and by transferring the data to the corresponding x data line 170i, the data is transferred to all the processing elements 400 (i, j) located in the corresponding column i, and Further, by supplying the data to the corresponding y data line 180j via the connection portion 175i (i = j), the data is also transferred to all the arithmetic elements 400 (i, j) located in the corresponding row j. Can be. Further, each arithmetic element 400 (i, j) located in each column i transfers the data to the corresponding x data line 170i, thereby transferring the data to the corresponding input / output pin 170e (i: 0 ≦ i ≦ N-1)
To the control circuit 15. Further, each of the arithmetic elements 400 (i, j) located in each row j also transfers the data to the corresponding y data line 180 j, so that the data is transferred to the corresponding x via the connection unit 175 i (i = j). Data line 170j (i = j) and therefore the corresponding input / output pin 170e
(I = j: 0 ≦ i = j ≦ N−1) to output to the control circuit 15.

【0057】次に、各演算素子400の構造について、
図6に示すブロック図を参照して、より詳細に説明す
る。
Next, regarding the structure of each arithmetic element 400,
This will be described in more detail with reference to the block diagram shown in FIG.

【0058】演算素子400は、各素子が共通の制御信
号で制御されるSIMD型の並列処理を行う構造になっ
ており、1素子あたりのトランジスタ数を削減し、並列
処理機構14の集積化を図り、素子数を増やすことがで
きるようになっている。
The arithmetic element 400 has a structure for performing SIMD parallel processing in which each element is controlled by a common control signal. The number of transistors per element is reduced, and the integration of the parallel processing mechanism 14 is reduced. As a result, the number of elements can be increased.

【0059】より詳しくは、演算素子400は、4x8
ビットのランダムアクセス可能な1ビットシフトのレジ
スタマトリックス401と、Aラッチ402、Bラッチ
403、及び、演算論理ユニット(ALU)404とで
構成されている。レジスタマトリックス401は、デー
タ保持と入出力のためのものである。より詳しくは、レ
ジスタマトリックス401は、対応する受光素子120
の出力信号に相当するデジタル信号D1をシフトレジス
タ410から入力し収容するためのものである。
More specifically, the arithmetic element 400 is 4 × 8
It is composed of a 1-bit shift register matrix 401 capable of randomly accessing bits, an A latch 402, a B latch 403, and an arithmetic logic unit (ALU) 404. The register matrix 401 is for data retention and input / output. More specifically, the register matrix 401 includes the corresponding light receiving element 120
The digital signal D1 corresponding to the output signal is input from the shift register 410 and accommodated therein.

【0060】各演算素子400(i,j)のレジスタマ
トリックス401は、対応する4近傍の演算素子400
(i―1,j)、400(i+1,j)、400(i,
j―1)、400(i,j+1)中のレジスタマトリッ
クス401と直接接続しており、これらに収容されてい
るデジタル信号をも収容することができる。各演算素子
400(i,j)のレジスタマトリックス401は、さ
らに、対応するxデータライン170i及びyデータラ
イン180jに接続され、両方のデータラインを利用し
てデータ転送を行うことができるようになっている。
The register matrix 401 of each operation element 400 (i, j) is stored in the corresponding four adjacent operation elements 400 (i, j).
(I-1, j), 400 (i + 1, j), 400 (i, j)
j-1) and 400 (i, j + 1) are directly connected to the register matrix 401, and can also accommodate digital signals contained therein. The register matrix 401 of each arithmetic element 400 (i, j) is further connected to the corresponding x data line 170i and y data line 180j, so that data transfer can be performed using both data lines. ing.

【0061】ALU404は、下位ビットから1ビット
ずつ順次演算する順次ビットシリアル演算を行うための
ものである。Aラッチ402、Bラッチ403は、レジ
スタマトリックス401に保持されている信号を収容
し、ALU404での演算に供するためのものである。
The ALU 404 is for performing a sequential bit serial operation for sequentially calculating one bit at a time from the lower bits. The A-latch 402 and the B-latch 403 are for accommodating the signals held in the register matrix 401 and for performing the operation in the ALU 404.

【0062】以上の構成により、演算素子400では、
Aラッチ402、Bラッチ403がそれぞれレジスタマ
トリクス401内の任意のレジスタからデータを読み込
み,ALU404がそのデータをもとに演算を行なう。
演算結果は、再び、レジスタマトリクス401内の任意
のレジスタに書き込まれる。演算素子400は、この作
業を1サイクルとして繰り返し行うことで、さまざまな
演算を実行できるようになっている。
With the above configuration, in the arithmetic element 400,
The A latch 402 and the B latch 403 each read data from an arbitrary register in the register matrix 401, and the ALU 404 performs an operation based on the data.
The operation result is written into an arbitrary register in the register matrix 401 again. The arithmetic element 400 can execute various arithmetic operations by repeating this operation as one cycle.

【0063】より詳しくは、ALU404は、1ビット
の演算器で、論理積(AND),論理和(OR),排他
的論理和(XOR),加算(ADD)、Carryつき
加算などの演算機能を有している。1度に実行できるの
は1ビットの演算だけであり,多ビット演算は1ビット
ずつシリアルに演算を行なうことで実行する。複雑な演
算は上記演算機能の組み合わせとして記述できるため、
ALU404に対し上記演算機能の中から毎回一つずつ
を選択させながら繰り返し演算を行わせることで、複雑
な演算を実現するようになっている。
More specifically, the ALU 404 is a 1-bit arithmetic unit, and has arithmetic functions such as logical product (AND), logical sum (OR), exclusive logical sum (XOR), addition (ADD), and addition with carry. Have. Only one-bit operation can be performed at a time, and multi-bit operation is performed by performing serial operation one bit at a time. Complex operations can be described as a combination of the above functions,
By causing the ALU 404 to repeatedly perform the calculation while selecting one of the above-described calculation functions each time, a complicated calculation is realized.

【0064】レジスタマトリックス401は、ランダム
にアクセスできる1ビットのレジスタ4010を24個
並べ、さらに、外部や近傍演算素子400との入出力用
に8個の機能レジスタ4012を並べた構成となってお
り、これら全体が1つのアドレス空間として扱われる。
図6において各レジスタ4010、4012内に記載さ
れている数は、当該レジスタに割り当てられたアドレス
を示す。具体的には、24個のレジスタ4010にアド
レス「0」〜「23」が割り振られ、8個の機能レジス
タ4012にアドレス「24」〜「31」が割り振られ
ている。かかる構成により、レジスタ内のデータを読み
書きするのと同じ方法で入出力データとアクセスできる
ようになっている。
The register matrix 401 has a structure in which 24 one-bit registers 4010 that can be accessed randomly are arranged, and eight function registers 4012 are arranged for input and output with the external and neighboring operation elements 400. Are treated as one address space.
In FIG. 6, the numbers described in the registers 4010 and 4012 indicate the addresses assigned to the registers. Specifically, addresses “0” to “23” are assigned to 24 registers 4010, and addresses “24” to “31” are assigned to eight function registers 4012. With such a configuration, input / output data can be accessed in the same manner as reading / writing data in the register.

【0065】機能レジスタ4012は主に入出力に用い
られる。具体的には、アドレス「29」の機能レジスタ
4012は、対応する転送用シフトレジスタ410に接
続されており、当該転送用シフトレジスタ410からの
入力に用いられる。また、アドレス「24」の機能レジ
スタ4012は、上下左右の4近傍の演算素子400の
レジスタマトリックス401への出力に用いられる。ア
ドレス「24」〜「27」の機能レジスタ4012は、
それぞれ、当該4近傍の演算素子400のうちの対応す
る1個の演算素子400のレジスタマトリックス401
からの入力に用いられる。
The function register 4012 is mainly used for input / output. Specifically, the function register 4012 at the address “29” is connected to the corresponding transfer shift register 410 and is used for input from the transfer shift register 410. Further, the function register 4012 at the address “24” is used for outputting to the register matrix 401 of the four operation elements 400 in the up, down, left, and right directions. The function registers 4012 of addresses “24” to “27”
Each of the register matrices 401 of the corresponding one of the four neighboring computing elements 400
Used for input from.

【0066】アドレス「28」の機能レジスタ4012
は、出力バス155に接続されており、制御回路15へ
の出力アドレスとして用いられる。なお、全演算素子4
00(i,j)におけるレジスタマトリックス401の
アドレス「28」が当該単一の出力バス155に接続さ
れている。また、アドレス「28」の機能レジスタ40
12は、読み込み時には常に0を読み込むようになって
いる。
Function register 4012 at address "28"
Are connected to the output bus 155 and are used as output addresses to the control circuit 15. Note that all the arithmetic elements 4
The address “28” of the register matrix 401 at 00 (i, j) is connected to the single output bus 155. Also, the function register 40 of the address “28”
Numeral 12 always reads 0 when reading.

【0067】アドレス「30」の機能レジスタ4012
は、対応するyデータライン180jに接続されてお
り、当該yデータライン180jからのデータの入出力
に用いられる。また、アドレス「31」の機能レジスタ
4012は、対応するxデータライン170iに接続さ
れており、当該xデータライン170iからのデータの
入出力に用いられる。
Function register 4012 at address "30"
Are connected to the corresponding y data line 180j, and are used for inputting / outputting data from / to the y data line 180j. Further, the function register 4012 of the address “31” is connected to the corresponding x data line 170i, and is used for inputting / outputting data from / to the x data line 170i.

【0068】制御回路15がレジスタマトリクス401
へのアクセスとALU404の演算処理を制御すること
により、演算素子400における演算及び入出力の全処
理を制御する。
The control circuit 15 controls the register matrix 401
By controlling the access to the ALU 404 and the arithmetic processing of the ALU 404, all the arithmetic and input / output processing in the arithmetic element 400 are controlled.

【0069】例えば、転送用シフトレジスタ410から
の入力をレジスタマトリックス401のアドレス「0」
に書き込みたいときは、0(レジスタアドレス「2
8」)とセンサ入力(レジスタアドレス「29」)のO
Rをとってレジスタアドレス「0」に書き込む命令を演
算素子400に出力する。かかる命令を受けた演算素子
400は、Aラッチ402とBラッチ403に、0(レ
ジスタアドレス「28」)とセンサ入力(レジスタアド
レス「29」)とを出力し、ALU404が、Aラッチ
402とBラッチ403のデータのOR演算を行い、演
算結果をレジスタアドレス「0」に書き込む。
For example, the input from the transfer shift register 410 is set to the address “0” of the register matrix 401.
0 (register address "2
8 ") and O of sensor input (register address" 29 ")
An instruction to write R to register address “0” is output to the arithmetic element 400. The arithmetic element 400 receiving this instruction outputs 0 (register address “28”) and a sensor input (register address “29”) to the A latch 402 and the B latch 403, and the ALU 404 The OR operation of the data of the latch 403 is performed, and the operation result is written to the register address “0”.

【0070】同様に、対応するxデータライン170i
からのデータをアドレス「0」に書き込みたいときは、
0(レジスタアドレス「28」)とXデータ入力(レジ
スタアドレス「31」)のORをとって、レジスタアド
レス「0」に書き込む命令を演算素子400に出力す
る。かかる命令を受けた演算素子400は、Aラッチ4
02とBラッチ403に、0(レジスタアドレス「2
8」)とXデータ入力(レジスタアドレス「31」)と
を出力し、ALU404が、Aラッチ402とBラッチ
403のデータのOR演算を行い、演算結果をレジスタ
アドレス「0」に書き込む。
Similarly, the corresponding x data line 170i
If you want to write the data from
OR (register address “28”) and X data input (register address “31”) is ORed and an instruction to write to register address “0” is output to the arithmetic element 400. The arithmetic element 400 receiving the instruction sets the A latch 4
02 and the B latch 403 are set to 0 (register address "2
8 ") and the X data input (register address" 31 "), the ALU 404 performs an OR operation on the data of the A latch 402 and the B latch 403, and writes the operation result to the register address" 0 ".

【0071】同様に、対応するyデータライン180j
からのデータをアドレス「0」に書き込みたいときは,
0(レジスタアドレス「28」)とYデータ入力(レジ
スタアドレス「30」)のORをとって、レジスタアド
レス「0」に書き込む命令を演算素子400に出力す
る。かかる命令を受けた演算素子400は、Aラッチ4
02とBラッチ403に、0(レジスタアドレス「2
8」)とYデータ入力(レジスタアドレス「30」)と
を出力し、ALU404が、Aラッチ402とBラッチ
403のデータのOR演算を行い、演算結果をレジスタ
アドレス「0」に書き込む。
Similarly, the corresponding y data line 180j
If you want to write the data from
OR (register address “28”) and Y data input (register address “30”) is ORed, and an instruction to write to register address “0” is output to the arithmetic element 400. The arithmetic element 400 receiving the instruction sets the A latch 4
02 and the B latch 403 are set to 0 (register address "2
8 ") and the Y data input (register address" 30 "), the ALU 404 performs an OR operation on the data of the A latch 402 and the B latch 403, and writes the operation result to the register address" 0 ".

【0072】このように、演算素子400では、Aラッ
チの読み込み、Bラッチの読み込み,演算結果の書き込
みを順に行ない、かかる処理を複数サイクル繰り返し行
うことで、レジスタマトリックス401への必要な入出
力とALU404による演算を行う。
As described above, in the arithmetic element 400, the reading of the A latch, the reading of the B latch, and the writing of the operation result are sequentially performed, and this processing is repeated a plurality of cycles, so that the necessary input / output to / from the register matrix 401 can be performed. The operation by the ALU 404 is performed.

【0073】次に、図4〜図6を参照して、本実施の形
態の高速画像処理装置10の動作について説明する。
Next, the operation of the high-speed image processing apparatus 10 according to the present embodiment will be described with reference to FIGS.

【0074】まず、画像取り込み部11及び13の動作
について説明する。
First, the operation of the image capturing units 11 and 13 will be described.

【0075】画像取り込み制御部300は、まず、リセ
ット信号Rを有為に設定し、図5に示す可変容量部22
2のSW11〜SW14を全て「ON」、SW21〜S
W24を全て「OFF」状態にする。これにより、チャ
ージアンプ221の入力端子と出力端子間の容量値をC
0に設定する。それと同時に、図4に示す全てのスイッ
チ素子140を「OFF」状態とし、水平走査信号Vi
をいずれの受光素子120i,jも選択しない状態に設定
する。この状態から、リセット指示信号Rを非有為に設
定し、各積分回路220での積分動作を開始させる。
The image capture control unit 300 first sets the reset signal R to a significant value, and sets the reset signal R to the variable capacitance unit 22 shown in FIG.
2 SW11-SW14 are all "ON", SW21-S
Set all W24 to “OFF” state. As a result, the capacitance value between the input terminal and the output terminal of the charge amplifier 221 becomes C
Set to 0 . At the same time, all the switch elements 140 shown in FIG.
Is set so that none of the light receiving elements 120 i, j is selected. From this state, the reset instruction signal R is set to be insignificant, and the integration operation in each integration circuit 220 is started.

【0076】積分動作を開始させると、図4に示すN個
の各水平受光部110jにある第0番目の受光素子12
0,jのスイッチ素子140のみを「ON」とする水平
走査信号Vが出力される。スイッチ素子が「ON」に
なると、それまでの受光によって光電変換素子130に
蓄積された電荷Qは、電流信号として受光部11から
出力される。つまり、光電変換素子の信号を読み出すこ
とができる。電荷Qは容量値C0に設定された可変容
量部222に流入する。
[0076] When starting the integral operation, the 0-th light receiving element at the N pieces each horizontal receiving portion 110 j shown in FIG. 4 12
A horizontal scanning signal V 0 that turns ON only the switch element 140 of 0, j is output. When the switch element is turned “ON”, the electric charge Q 0 accumulated in the photoelectric conversion element 130 by the light reception up to that time is output from the light receiving unit 11 as a current signal. That is, a signal of the photoelectric conversion element can be read. The charge Q 0 flows into the variable capacitance section 222 set to the capacitance value C 0 .

【0077】次に、図5により積分回路220内部の動
作を説明する。容量制御機構240(図4参照)は、S
W12〜SW14を開放した後、SW22〜24を閉じ
る。この結果、積分信号VSは、 VS=Q/C1 で示す電圧値として出力される。積分信号VSは、比較
回路230に入力して、基準電圧値VREFと比較され
る。ここで、VSとVREFの差が、分解能の範囲以下、す
なわち±(C4/2)以下の時は、一致したものとみな
し、更なる容量制御は行わず、積分動作を終了する。分
解能の範囲で一致しないときは、更に容量制御を行い、
積分動作を続ける。例えば、VS>VREFであれば、容量
制御機構240は、更に、SW22を開放した後に、S
W12を閉じる。この結果、積分信号VSは、 VS=Q/(C1+C2) で示す電圧値となる。この積分信号VSは、後続の比較
回路230(図4)に入力して、基準電圧値VREFと比
較される。一方、VS<VREFであれば、容量制御機構2
40は、更に、SW11及びSW22を開放した後に、
SW12及びSW21を閉じる。この結果、積分信号V
Sは、 VS=Q/C2 で示す電圧値となる。この積分信号VSは、後続の比較
回路230に送出され、基準電圧値VREFと比較され
る。
Next, the operation inside the integrating circuit 220 will be described with reference to FIG.
Explain the work. The capacity control mechanism 240 (see FIG. 4)
After opening W12-SW14, close SW22-24
You. As a result, the integration signal VSIs VS= Q / C1  Is output as the voltage value indicated by. Integration signal VSCompare
The reference voltage value VREFIs compared to
You. Where VSAnd VREFIs less than the resolution range,
That is, ± (CFour/ 2) In the following cases, it is regarded as a match
However, no further capacity control is performed, and the integration operation ends. Minute
If they do not match within the range of resolution, perform additional volume control,
Continue the integration operation. For example, VS> VREFIf the capacity
After opening the SW 22, the control mechanism 240 further
Close W12. As a result, the integration signal VSIs VS= Q / (C1+ CTwo). This integral signal VSIs a subsequent comparison
Input to the circuit 230 (FIG. 4), the reference voltage value VREFAnd ratio
Are compared. On the other hand, VS<VREFIf so, the capacity control mechanism 2
40, further, after opening SW11 and SW22,
SW12 and SW21 are closed. As a result, the integration signal V
SIs VS= Q / CTwo  It becomes the voltage value shown by. This integral signal VSIs a subsequent comparison
The reference voltage VREFIs compared to
You.

【0078】以後、同様にして、積分回路220→比較
回路230→容量制御機構240→積分回路220のフ
ィードバックループによって、積分信号VSが基準電圧
値VR EFと分解能の範囲で一致するまで、比較及び容量
設定(SW11〜SW14及びSW21〜SW24のO
N/OFF制御)を順次繰り返す。積分動作が終了した
時点のSW11〜SW14のON/OFF状態を示す容
量指示信号C11〜C14の値は、電荷Q1の値に対応した
デジタル信号であり、最上位ビット(MSB)の値がC
11、最下位ビット(LSB)の値がC14である。こうし
てA/D変換が行われ、これらの値をデジタル信号D1
として、演算素子アレイ14に出力する。以上述べたよ
うに、この装置では、デジタル信号D1の各ビット値
は、MSB側からLSB側へ1ビットずつ順に定まる。
[0078] Thereafter, in the same manner, by the integration circuit 220 → comparator circuit 230 → the capacitance control mechanism 240 → the feedback loop of the integration circuit 220, until the integral signal V S is coincident with the range of the reference voltage value V R EF and resolution, Comparison and capacitance setting (O of SW11 to SW14 and SW21 to SW24
N / OFF control) is sequentially repeated. The value of the capacitance instruction signal C 11 -C 14 indicating the ON / OFF state of SW11~SW14 of time the integration operation is finished, a digital signal corresponding to the value of the charge Q 1, the value of the most significant bit (MSB) Is C
11, the value of the least significant bit (LSB) is C 14. Thus, A / D conversion is performed, and these values are converted to digital signals D1.
Is output to the arithmetic element array 14. As described above, in this device, each bit value of the digital signal D1 is determined one bit at a time from the MSB side to the LSB side.

【0079】このように、容量C1〜C4が一つずつO
Nされながら、比較電圧VREFとの比較が行われ、そ
の比較結果が出力デジタル信号D1として出力される。
すなわち、まず、容量C1がオンとされ、積分信号V
=Q/C1となり、このVがVREFと比較される。
が大きければ“1”(=C11)、小さければ
“0” (=C11)となり、これがMSB(最上位ビ
ット)として出力される。次に、C2がオンとされ、V
=Q/(C1+C2)(MSB=1の時)、または、
=Q/C2(MSB=0の時)が得られ、VREF
と比較される。Vが大きければ“1” (=
12)、小さければ“0”(=C12)となり、これ
が2ビット目として出力される。以上の処理が必要なビ
ット数まで繰り返されることで、A/D変換が実行され
る。
As described above, each of the capacitors C1 to C4 is
The comparison with the comparison voltage V REF is performed while being N, and the comparison result is output as the output digital signal D1.
That is, first, the capacitor C1 is turned on, and the integration signal V S
= Q / C1, and this V S is compared with V REF.
If V S is large, it is “1” (= C 11 ), and if V S is small, it is “0” (= C 11 ), which is output as MSB (most significant bit). Next, C2 is turned on and V
S = Q / (C1 + C2) (when MSB = 1), or
V S = Q / C2 (when MSB = 0) is obtained, and V REF
Is compared to If V S is large, “1” (=
C 12 ), if smaller, “0” (= C 12 ), which is output as the second bit. A / D conversion is performed by repeating the above processing up to the required number of bits.

【0080】第0番目の受光素子1200,jの光電出力
に相当するデジタル信号の送出が終了すると、リセット
信号Rが有為とされ、再び、非有為にして、可変容量部
222jの容量値を初期化した後に、各水平受光部11
jの第1番目の受光素子1201,jのスイッチ素子1
40のみを「ON」とする水平走査信号Vを出力し、
上述と同様の動作により、第1番目の受光素子120
1,jの光電出力を読み出し、これに相当するデジタル信
号を送出する。以下、水平走査信号を切り替えて、全受
光素子120の光電出力を読み出し、相当するデジタル
信号を並列処理機構14に出力する。
[0080] When the transmission of the 0th light receiving element 120 0, j digital signal corresponding to the photoelectric output is completed, the reset signal R is the significance, again, in the non-significance of the variable capacitance portion 222 j After the capacitance value is initialized, each horizontal light receiving unit 11
0 j 1st light receiving element 120 1, j switch element 1
40 only outputs a horizontal scanning signal V 1 to the "ON"
By the same operation as described above, the first light receiving element 120
The photoelectric output of 1, j is read, and a digital signal corresponding to this is transmitted. Hereinafter, the horizontal scanning signal is switched, the photoelectric output of all the light receiving elements 120 is read, and the corresponding digital signal is output to the parallel processing mechanism 14.

【0081】次に、演算素子400の動作を図6により
説明する。
Next, the operation of the arithmetic element 400 will be described with reference to FIG.

【0082】A/D変換されたデジタル信号は、転送用
のシフトレジスタ410を介してそれぞれの受光素子1
20i,jに対応する演算素子400i,jのレジスタ
マトリックス401に送られる。この転送は、対応する
転送用シフトレジスタライン420内において、転送
用シフトレジスタ410に格納された信号を順次隣の画
素の転送用シフトレジスタ410に転送することによっ
て行われる。転送用シフトレジスタ410を備えること
により、演算素子400での演算処理と独立して転送用
シフトレジスタでの転送処理を行うことができる。した
がって、演算素子400において処理演算を行わせてい
る間に、転送用シフトレジスタ410に次のフレームの
データを転送させるパイプライン的な処理が可能とな
り、演算素子400におけるより高速なフレームレート
での演算処理が可能となる。また、転送用シフトレジス
タ410は、制御回路15からの転送開始の信号に基づ
いて、A/D変換されたデータの転送を開始し、(行方
向の素子数xアナログレベル)分だけビットシフトによ
る転送を行った後、「データ転送完了」の信号を制御回
路15に送り返すことで効率的な転送を行うことができ
る。このように、演算処理と転送処理を並列していわゆ
るパイプライン処理を行うことにより、両処理において
フレーム毎の処理の間の待ち時間を減らすことができ、
より高速な画像処理が可能となる。
The A / D-converted digital signal is transferred to each light-receiving element 1 via a transfer shift register 410.
20 i, j is sent to the register matrix 401 of the operation element 400 i, j . This transfer, in the corresponding transfer shift register line 420 j, takes place by transferring the transfer shift register 410 sequentially neighboring pixel signals stored in the transfer shift register 410. By providing the transfer shift register 410, the transfer processing by the transfer shift register can be performed independently of the arithmetic processing by the arithmetic element 400. Therefore, while the processing element 400 is performing the processing operation, pipeline processing for transferring the data of the next frame to the transfer shift register 410 becomes possible, and the processing element 400 operates at a higher frame rate. Arithmetic processing becomes possible. The transfer shift register 410 starts transferring the A / D-converted data based on a transfer start signal from the control circuit 15, and performs bit shift by (the number of elements in the row direction × analog level). After the transfer, the signal of “data transfer completed” is sent back to the control circuit 15, so that efficient transfer can be performed. As described above, by performing the so-called pipeline processing in parallel with the arithmetic processing and the transfer processing, it is possible to reduce the waiting time between the processing for each frame in both processings,
Higher-speed image processing becomes possible.

【0083】演算素子400内部での画像処理演算は、
以下の通りである。すなわち、必要に応じて、各演算素
子400間でそれぞれのレジスタマトリックス401に
収容された信号の転送を行い、x/yデータバス17を
介した制御回路15からのデータ、制御信号の転送を行
った後、演算に必要な信号をレジスタマトリックス40
1からAラッチ402とBラッチ403に読み出し、A
LU404で所定の演算を行い、計算結果を、レジスタ
マトリックス401及び出力バス155を介して、制御
回路15に出力する。
The image processing operation inside the operation element 400 is as follows.
It is as follows. That is, if necessary, the signals contained in the respective register matrices 401 are transferred between the arithmetic elements 400, and the data and control signals are transferred from the control circuit 15 via the x / y data bus 17. After that, the signals necessary for the operation are
1 to the A latch 402 and the B latch 403.
The LU 404 performs a predetermined operation, and outputs the calculation result to the control circuit 15 via the register matrix 401 and the output bus 155.

【0084】並列処理機構14では、上記画像処理演算
を全演算素子400において同時に並列処理するため、
極めて高速の演算が可能である。制御回路15は、並列
処理機構14の計算結果を、外部装置1000たる外部
コンピュータや他の外部機器へ出力する。例えば、当該
計算結果を、外部機器のオン/オフ信号として利用す
る。制御回路15は、また、並列処理機構14の計算結
果に基づき、必要な演算を行った後その演算結果を外部
回路1000に出力するようにしてもよい。
In the parallel processing mechanism 14, the above image processing operation is performed in parallel by all the processing elements 400 at the same time.
Extremely high-speed operation is possible. The control circuit 15 outputs the calculation result of the parallel processing mechanism 14 to an external computer as the external device 1000 or another external device. For example, the calculation result is used as an on / off signal of the external device. The control circuit 15 may perform a necessary calculation based on the calculation result of the parallel processing mechanism 14 and then output the calculation result to the external circuit 1000.

【0085】次に、図8を参照して、高速画像処理装置
10による画像入力から、転送、及び、演算終了までの
一連の画像演算処理について説明する。
Next, a series of image calculation processing from image input, transfer, and completion of calculation by the high-speed image processing apparatus 10 will be described with reference to FIG.

【0086】制御回路15のCPU150は、画像取り
込み制御部300(図4)を制御することで、リセット
信号Rの有為/非有為と水平同期信号Viを順次切り替
え、もって、受光素子アレイ11の各行j(j=0,…
N―1)において、各受光素子120i,j(以下、受
光素子120(x、y)という)から出力された画像デ
ータ(フレームデータ:以下、I(x,y)という)を
順番に対応するA/D変換器210を介して並列処理
機構14に入力させる(S101)。
The CPU 150 of the control circuit 15 controls the image capture control unit 300 (FIG. 4) to sequentially switch between the validity / invalidity of the reset signal R and the horizontal synchronizing signal Vi. Of each row j (j = 0,...)
N-1), the image data (frame data: hereinafter, referred to as I (x, y)) output from the respective light receiving elements 120 i, j (hereinafter, referred to as light receiving elements 120 (x, y)) correspond in order. is input to the parallel processing system 14 via the a / D converter 210 j to (S101).

【0087】送られて来たデータを、対応する各行j内
の転送用シフトレジスタ410にて、次々に転送させて
いく(S102)。そして、受光素子120に対応する
位置(i,j)(以下、(x、y)という)の転送用シ
フトレジスタ410i,jにデータが転送されるまでこ
の転送処理を続ける(S103)。
The transmitted data is sequentially transferred by the corresponding transfer shift register 410 in each row j (S102). The transfer process is continued until data is transferred to the transfer shift register 410 i, j at the position (i, j) (hereinafter, (x, y)) corresponding to the light receiving element 120 (S103).

【0088】転送が終了したら、転送用シフトレジスタ
410から対応する演算素子400 i,j(以下、演算
素子400(x、y)という)のレジスタマトリックス
401へと、当該画素のデータI(x,y)を転送する
(S104)。具体的には、図6に示すように、複数ビ
ット(この場合、4ビット)で構成されている転送用シ
フトレジスタ410からレジスタマトリックス401へ
と1ビットずつ順番にデータを格納していく。次に、S
110において、各演算素子400を制御することによ
り、必要な並列演算処理を行う。
When the transfer is completed, the transfer shift register
410 to the corresponding arithmetic element 400 i, j(Hereafter, calculation
Register matrix of element 400 (x, y)
The data I (x, y) of the pixel is transferred to 401
(S104). Specifically, as shown in FIG.
A transfer sheet consisting of a packet (in this case, 4 bits)
Shift register 410 to register matrix 401
And the data is stored in order one bit at a time. Next, S
At 110, by controlling each arithmetic element 400,
And perform necessary parallel processing.

【0089】転送用シフトレジスタ410が各演算素子
400へのデータ転送を完了すると、各演算素子400
を制御してS110の並列演算処理を行っている間に、
次のフレームの処理へと移り(S105)、S101〜
S103を実施して、受光素子アレイ11とA/D変換
器アレイ13、及び、転送用シフトレジスタ410を制
御して、次のフレームの入力/転送動作を行う。一方、
各演算素子400を用いた並列演算処理についても、1
フレームの処理(S110)が終了すると、次のフレー
ムの処理へと移行し(S106)、次のフレームの画像
データが各転送用シフトレジスタ410から演算素子4
00のレジスタマトリックス401へと転送され(S1
04)、当該次のフレームの並列演算処理を開始する
(S110)。これを繰り返すことにより、受光素子ア
レイ11とA/D変換器アレイ13、及び、転送用シフ
トレジスタ410が次のフレームのデータを入力/転送
している間(S101〜S103)に演算素子400を
用いた演算処理(S110)を行うことができ、それぞ
れ無駄な待ち時間を減らすことができる。
When the transfer shift register 410 completes the data transfer to each operation element 400, each operation element 400
While performing the parallel operation processing of S110,
The process moves to the next frame (S105), and S101 to S101.
By executing S103, the light receiving element array 11, the A / D converter array 13, and the transfer shift register 410 are controlled to perform the input / transfer operation of the next frame. on the other hand,
Regarding the parallel operation processing using each operation element 400, 1
When the processing of the frame (S110) ends, the processing shifts to the processing of the next frame (S106), and the image data of the next frame is transferred from each transfer shift register 410 to the arithmetic element 4
00 to the register matrix 401 (S1
04), the parallel operation processing of the next frame is started (S110). By repeating this, the arithmetic element 400 is operated while the light receiving element array 11, the A / D converter array 13, and the transfer shift register 410 are inputting / transferring data of the next frame (S101 to S103). The used arithmetic processing (S110) can be performed, and unnecessary waiting time can be reduced.

【0090】次に、演算素子400を用いた並列画像処
理(S110)の実行動作を、いくつかの画像処理につ
いて詳細に説明する。なお、これら画像処理工程では、
制御回路15のCPU150が全演算素子400を同時
に並列制御するようになっており、演算処理が非常に高
速に行われる。
Next, the execution operation of the parallel image processing (S110) using the arithmetic element 400 will be described in detail for some image processing. In these image processing steps,
The CPU 150 of the control circuit 15 controls all the arithmetic elements 400 at the same time in parallel, so that the arithmetic processing is performed at a very high speed.

【0091】本実施の形態では、x/yデータバス17
を介して外部から高速で演算データあるいは演算制御デ
ータを各演算素子に供給することができる。したがっ
て、S110の演算の際に各演算素子400において画
像情報以外のデータを必要とするような演算処理を行う
場合も、極めて高速の演算が可能となる。例えば、画像
処理工程(S110)において、位置情報データを必要
とする「重心演算」を行う場合、この位置情報を外部か
らデータとして供給して重心演算処理を行う。以下、こ
の重心演算処理を画像処理工程(S110)にて実行す
る場合の動作を詳細に説明する。
In this embodiment, the x / y data bus 17
The operation data or the operation control data can be supplied to each operation element at high speed from outside via the CPU. Therefore, even in the case of performing an arithmetic process that requires data other than image information in each arithmetic element 400 at the time of the arithmetic operation in S110, an extremely high-speed arithmetic operation can be performed. For example, in the image processing step (S110), when performing “center of gravity calculation” that requires position information data, the position information is supplied as data from the outside and the center of gravity calculation processing is performed. Hereinafter, the operation when this center of gravity calculation process is executed in the image processing step (S110) will be described in detail.

【0092】ここで、重心演算とは、x方向およびy方
向のそれぞれについての重みづけ総和の演算が基本とな
る演算である。重心座標Gcは、画像上の各画素位置
(x、y)の画像強度のデータをI(x,y)として以
下の計算式(1)により求められる。
Here, the gravity center calculation is a calculation based on the calculation of the weighted sum in each of the x direction and the y direction. The barycenter coordinate Gc is obtained by the following formula (1), using the image intensity data at each pixel position (x, y) on the image as I (x, y).

【0093】[0093]

【数1】 (Equation 1)

【0094】つまり、重心演算を行うためには、各演算
素子400において当該画素のデータI(x、y)にそ
の位置情報(x、y)を掛け合わせてその和を求める必
要がある。
That is, in order to calculate the center of gravity, it is necessary to multiply the data I (x, y) of the pixel by the position information (x, y) in each arithmetic element 400 to obtain the sum.

【0095】重心のx座標を求める際には、画像のx方
向の位置情報と画像強度I(x、y)とを掛け合わせて
x方向モーメントMx=x・I(x、y)を求め、さら
に、全画素のx方向モーメントを足し合わせて得られる
x方向モーメント総和ΣΣx・I(x、y)を画像強度
総和ΣΣI(x、y)で割ることで、重心のx座標を求
めることができる。なお、画像強度総和ΣΣI(x、
y)は、全画素の画像強度を足し合わせて求めることが
できる。
When obtaining the x-coordinate of the center of gravity, the x-direction moment Mx = x · I (x, y) is obtained by multiplying the image position information in the x direction by the image intensity I (x, y). Further, the x-coordinate of the center of gravity can be obtained by dividing the sum of x-direction moments ΣΣx · I (x, y) obtained by adding the x-direction moments of all pixels by the sum of image intensity ΣΣI (x, y). . Note that the image intensity sum ΣΣI (x,
y) can be obtained by adding the image intensities of all the pixels.

【0096】重心のy座標についても、同様に、各画素
について画像のy方向の位置情報と画像強度I(x、
y)とを掛け合わせてy方向モーメントMy=y・I
(x、y)を求め、さらに、全画素のy方向モーメント
を足し合わせて得られるy方向モーメント総和ΣΣy・
I(x、y)を画像強度総和ΣΣI(x、y)で割るこ
とで得られる。
Similarly, for the y coordinate of the center of gravity, the position information in the y direction of the image and the image intensity I (x,
multiplied by y) and the moment in the y direction My = y · I
(X, y) is obtained, and further, the sum of the y-direction moments ΣΣy ·
It is obtained by dividing I (x, y) by the total image intensity ΣΣI (x, y).

【0097】したがって、入力画像の重心位置を求める
ためには、図9に示すような重心演算処理(S300)
を、画像処理工程S110(図8)にて行えば良い。
Therefore, in order to obtain the position of the center of gravity of the input image, the center of gravity calculation processing as shown in FIG. 9 (S300)
May be performed in the image processing step S110 (FIG. 8).

【0098】重心演算処理(S300)では、まず、S
350にて画像強度総和ΣΣI(x、y)を求め、次
に、S400にて、重心のx座標を求め、さらに、S5
00にて、重心のy座標を求める。
In the center-of-gravity calculation processing (S300), first, S
At 350, the image intensity sum ΣΣI (x, y) is obtained. Next, at S400, the x coordinate of the center of gravity is obtained.
At 00, the y coordinate of the center of gravity is determined.

【0099】なお、重心演算処理(S300)がスター
トした際には、入力画像Dの各画素の画像データI
(x、y)は、既に、S104(図8)にて、転送用シ
フトレジスタ410から各演算素子400(x、y)の
レジスタマトリックス401へ転送され、当該レジスタ
マトリックス401のある領域へ格納されている。
When the center-of-gravity calculation processing (S300) starts, the image data I of each pixel of the input image D
(X, y) is already transferred from the transfer shift register 410 to the register matrix 401 of each arithmetic element 400 (x, y) in S104 (FIG. 8) and stored in a certain area of the register matrix 401. ing.

【0100】まず、画像強度総和ΣΣI(x、y)の演
算処理(S350)の処理内容について、図10を参照
して、詳細に説明する
First, the contents of the operation (S350) for calculating the image intensity sum ΣΣI (x, y) will be described in detail with reference to FIG.

【0101】当該画像強度総和演算処理(S350)で
は、CPU150は、まず、S360にて、画像強度値
I(x、y)の総和を求めるための総和演算処理を行
う。
In the image intensity sum calculation process (S350), the CPU 150 first performs a sum calculation process for obtaining the sum of the image intensity values I (x, y) in S360.

【0102】以下、この総和演算処理(S360)につ
いて、図11を参照して詳細に説明する。
Hereinafter, the sum calculation processing (S360) will be described in detail with reference to FIG.

【0103】まず、総和を求めようとする目的データ
(この場合、画像データI(x、y))を、レジスタマ
トリックス401からAラッチ402に読み込ませる
(S1002)。すなわち、レジスタマトリックス40
1に格納されているI(x,y)のデータを下位ビット
からAラッチ402に転送する。次に、各演算素子40
0(x,y)は、それぞれ、x方向において隣接する画
素位置(x+1,y)に存在する演算素子400(x+
1,y)に格納されている目的データ(この場合、画像
データI(x+1,y))を、レジスタマトリックス4
01間の転送によって、該演算素子400(x、y)の
レジスタマトリックス401に転送・格納する(S10
04)。具体的には、レジスタマトリックス401の近
傍転送機能を利用して隣の画素に格納されている画像デ
ータ値を空いている領域に転送する。次に、当該転送さ
れてきた隣接画素(x+1,y)の目的データ(画像デ
ータI(x+1,y))をBラッチ403に読み込み
(S1006)、Aラッチ402とBラッチ403の値
の加算を行い(S1008)、加算結果をレジスタマト
リックス401を介して(S1010)Aラッチ402
へと格納する(S1012)。これにより、各画素40
0(x、y)には、2画素分の目的データ(この場合、
画像データI(x、y)とI(x+1、y))の和が格
納されることになる。
First, the target data (in this case, image data I (x, y)) for which the sum is to be obtained is read from the register matrix 401 into the A latch 402 (S1002). That is, the register matrix 40
The I (x, y) data stored in 1 is transferred to the A latch 402 from the lower bit. Next, each operation element 40
0 (x, y) is the arithmetic element 400 (x + y) existing at the pixel position (x + 1, y) adjacent in the x direction.
1, (y) is stored in the register matrix 4 (image data I (x + 1, y)).
01 and transferred to and stored in the register matrix 401 of the arithmetic element 400 (x, y) (S10).
04). Specifically, the image data value stored in the adjacent pixel is transferred to a vacant area by using the neighbor transfer function of the register matrix 401. Next, the transferred target data (image data I (x + 1, y)) of the adjacent pixel (x + 1, y) is read into the B latch 403 (S1006), and the values of the A latch 402 and the B latch 403 are added. (S1008), and the result of addition is stored in the A latch 402 via the register matrix 401 (S1010).
(S1012). Thereby, each pixel 40
In 0 (x, y), target data for two pixels (in this case,
The sum of the image data I (x, y) and I (x + 1, y)) is stored.

【0104】次に、x方向の総和を取るための初期設定
としてi=1とした(S1014)後、各演算素子40
0(x,y)は、S1018において、x方向において
2つ目に隣接する画素位置(x+n,y)(ここで、n
=2、この場合、n=2=2)の演算素子400
(x+2,y)に現在収容されている計算結果(この場
合、I(x+2,y)+I(x+3,y))を、x方向
に隣接するレジスタマトリックス401間の転送を2回
繰り返すことにより、該演算素子400(x、y)へ転
送格納する(S1018)。次に、当該転送されてきた
2つ目に隣接する画素(x+2,y)の計算結果データ
をBラッチ403に読み込み(S1020)、Aラッチ
402とBラッチ403の値の加算を行い(S102
2)、加算結果をレジスタマトリックス401を介して
(S1024)Aラッチ402へと格納する(S102
6)。これにより、各画素400(x、y)には、隣接
する4画素の画像データI(x、y)、I(x+1、
y)、I(x+2、y)、I(x+3、y)の和が格納
されることになる。
Next, after setting i = 1 as an initial setting for obtaining the sum in the x direction (S1014), each arithmetic element 40
In step S1018, 0 (x, y) is the pixel position (x + n, y) (where n is the second adjacent pixel) in the x direction.
= 2 i , where n = 2 1 = 2)
The calculation result (in this case, I (x + 2, y) + I (x + 3, y)) currently stored in (x + 2, y) is transferred twice between register matrices 401 adjacent in the x direction, thereby obtaining The data is transferred and stored in the arithmetic element 400 (x, y) (S1018). Next, the transferred calculation result data of the second adjacent pixel (x + 2, y) is read into the B latch 403 (S1020), and the values of the A latch 402 and the B latch 403 are added (S102).
2), the addition result is stored in the A latch 402 via the register matrix 401 (S1024) (S102).
6). Thus, each pixel 400 (x, y) has image data I (x, y), I (x + 1,
y), the sum of I (x + 2, y) and I (x + 3, y) is stored.

【0105】次に、iを1インクリメントし(S102
8)、得られたn=2が1行画素数の半分の値である
N/2を越えたか否かを判断し(S1030)、N/2
を越えていなければ(S1030でNo)、S1018
に戻る。S1018で、各演算素子400(x、y)
は、n個目に隣接する位置(x+n,y)(n=2
この場合、n=2=4)の演算素子400に現在収容
されている計算結果データ(画像データの加算結果)
を、x方向に隣接するレジスタマトリックス401間の
転送をn回(この場合、4回)繰り返すことにより、該
演算素子400(x、y)へ転送し、Bラッチ403に
読み込み(S1020)、同様の加算を行う(S102
2〜S1026)。
Next, i is incremented by one (S102).
8), the resulting n = 2 i is determined whether or not exceed N / 2 which is half the value of the number of one row of pixels (S1030), N / 2
If not exceeded (No in S1030), S1018
Return to In S1018, each arithmetic element 400 (x, y)
Is the position (x + n, y) adjacent to the n-th (n = 2 i ;
In this case, the calculation result data (the addition result of the image data) currently stored in the arithmetic element 400 of n = 2 2 = 4)
Is repeated n times (in this case, four times) between register matrices 401 adjacent in the x direction to the arithmetic element 400 (x, y) and read into the B latch 403 (S1020). (S102)
2 to S1026).

【0106】続いて、iを1インクリメントしつつ(S
1028)、S1018〜S1030の処理を繰り返す
ことにより、8個(n=2)隣、16個(n=2
隣、32個(n=2)隣、64(n=2)隣、…と
進めて、(N/2)隣まで加算を繰り返す。この結果、
各行における全ての画像強度の加算結果I(0,y)+
I(1,y)+I(2,y)+…+I(N―1,y)
が、当該行の先頭にある演算素子400(0,y)のA
ラッチ402に得られる(S1026)。nがN/2を
越えると(S1030でYes)、S1032に移行す
る。
Subsequently, i is incremented by 1 (S
1028), by repeating the processing of S1018 to S1030, 8 (n = 2 3 ) next, 16 (n = 2 4 )
Next, 32 (n = 2 5 ) neighbors, 64 (n = 2 6 ) neighbors,..., And the addition is repeated until (N / 2) neighbors. As a result,
Addition result I (0, y) + of all image intensities in each row
I (1, y) + I (2, y) +... + I (N-1, y)
Is the A of the arithmetic element 400 (0, y) at the head of the row.
This is obtained in the latch 402 (S1026). If n exceeds N / 2 (Yes in S1030), the flow shifts to S1032.

【0107】S1032以降では、各行毎に求められた
画像強度加算結果を、上記と同様の手法を用いて、加算
することで、(1)式に示した分母である画像強度総和
ΣΣI(x、y)を得る。
After S1032, the image intensity addition results obtained for each row are added using the same method as described above, whereby the image intensity sum ΣΣI (x, y) is obtained.

【0108】具体的には、初期設定としてj=0とした
(S1032)後、各演算素子400(x,y)は、y
方向において隣接する位置(x,y+m)(ここで、m
=2 、この場合、m=2=1)に存在する演算素子
400(x,y+m)(この場合、400(x,y+
1))の加算結果を、レジスタマトリックス401間の
転送にて、該演算素子400(x、y)のレジスタマト
リックス401に格納する(S1034)。次に、当該
隣接画素(x,y+1)の演算結果をBラッチ403に
読み込み(S1036)、Aラッチ402とBラッチ4
03の値の加算を行い(S1038)、加算結果をレジ
スタマトリックス401に記憶する(S1040)。こ
れにより、各行の先頭にある演算素子400(0,y)
には、2行分の演算結果の和が格納されることになる。
Specifically, j = 0 was set as an initial setting.
(S1032) After that, each arithmetic element 400 (x, y) has y
(X, y + m) (where m
= 2 j, In this case, m = 2j= 1) Arithmetic element
400 (x, y + m) (in this case, 400 (x, y +
1)) is added to the register matrix 401
By transfer, the register mat of the arithmetic element 400 (x, y)
Stored in the RIX 401 (S1034). Then,
The operation result of the adjacent pixel (x, y + 1) is stored in the B latch 403.
Read (S1036), A latch 402 and B latch 4
03 is added (S1038), and the addition result is registered.
It is stored in the star matrix 401 (S1040). This
Thereby, the arithmetic element 400 (0, y) at the head of each row
Stores the sum of the operation results for two rows.

【0109】次に、jを1インクリメントし(S104
4)、m=2が1列画素数の半分の値であるN/2を
越えたか否かを判断し(S1046)、N/2を越えて
いなければ(S1046でNo)、S1038で得られ
た加算結果をレジスタマトリックス401からAラッチ
402へ転送した(S1048)後、S1034に戻
る。
Next, j is incremented by 1 (S104).
4) It is determined whether or not m = 2 j has exceeded N / 2, which is a half value of the number of pixels in one column (S1046). If it has not exceeded N / 2 (No in S1046), it is obtained in S1038. After transferring the obtained addition result from the register matrix 401 to the A latch 402 (S1048), the process returns to S1034.

【0110】次に、各演算素子400(x、y)は、位
置(x,y+m)(m=2;この場合、位置(x,y
+2))の演算素子400に収容されている加算結果
を、隣接するレジスタマトリックス401間の転送を2
回繰り返すことにより、該演算素子400(x、y)へ
転送し(S1034)、Bラッチ403に読み込み(S
1036)、同様の加算を行う(S1038〜104
0)。
Next, each arithmetic element 400 (x, y) is located at the position (x, y + m) (m = 2 j ; in this case, the position (x, y)
+2)) is transferred to the adjacent register matrix 401 by the addition result stored in the arithmetic element 400.
By repeating this operation twice, the data is transferred to the arithmetic element 400 (x, y) (S1034) and read into the B latch 403 (S1034).
1036), the same addition is performed (S1038 to 104).
0).

【0111】続いて、jを1インクリメントしつつ(S
1044)、S1046〜S1040の処理を繰り返す
ことにより、4つ(m=2)隣、8つ(m=2
隣、16個(m=2)隣、32個(m=2)隣、6
4(m=2)隣、…と進めて、(N/2)隣まで加算
を繰り返すことにより、全画素の画像強度の加算結果Σ
ΣI(x、y)が、演算素子アレイ40の先頭にある演
算素子400(0,0)のレジスタマトリックス401
に得られる(S1040)。mがN/2を越えると(S
1046でYes)、総和演算処理は終了する。
Subsequently, j is incremented by 1 (S
1044), by repeating the processing of S1046 to S1040, four (m = 2 2 ) next and eight (m = 2 3 )
Next, 16 (m = 2 4) next, 32 (m = 2 5) next to 6
4 (m = 2 6 ) neighbors,..., And the addition is repeated up to the (N / 2) neighbors, thereby adding the image intensity of all pixels.
ΣI (x, y) is the register matrix 401 of the operation element 400 (0, 0) at the head of the operation element array 40.
(S1040). When m exceeds N / 2, (S
If Yes in 1046), the sum calculation processing ends.

【0112】総和演算処理(S360)が終了すると、
目的画素位置(x1,y1)(この場合、先頭画素位置
(0,0))を選択するための画素選択処理(S37
0)に移行する(図10)。
When the summation processing (S360) is completed,
Pixel selection processing for selecting the target pixel position (x1, y1) (in this case, the head pixel position (0, 0)) (S37)
0) (FIG. 10).

【0113】以下、画素選択処理(S370)につい
て、図12を参照して、詳細に説明する。
Hereinafter, the pixel selection processing (S370) will be described in detail with reference to FIG.

【0114】画素選択処理においては、CPU150
は、まず、S1102において、選択しようとする目的
画素位置(x1,y1)のxアドレス位置x1に対応す
るxデータライン170i(以下、「xデータライン1
70x」という)にデータ(1)を転送し、残りの全て
のxデータライン170xにデータ(0)を転送する。
この場合、選択しようとする目的画素位置たる先頭画素
位置(x1(=0),y1(=0))のxアドレス位置
x1に対応するxデータライン170x(x=x1=
0)にデータ(1)を転送し、残りの全てのxデータラ
イン170x(x≠x1)にデータ(0)を転送する。
In the pixel selection processing, the CPU 150
First, in S1102, an x data line 170i (hereinafter, “x data line 1”) corresponding to an x address position x1 of a target pixel position (x1, y1) to be selected is selected.
70x "), and data (0) to all remaining x data lines 170x.
In this case, an x data line 170x (x = x1 = x1) corresponding to the x address position x1 of the head pixel position (x1 (= 0), y1 (= 0)) which is the target pixel position to be selected.
Data (1) is transferred to (0), and data (0) is transferred to all the remaining x data lines 170x (x ≠ x1).

【0115】次に、各演算素子400(x、y)のレジ
スタマトリックス401に、対応するx方向データライ
ン170xからの転送データを格納させる(S110
4)。すなわち、レジスタアドレス「31」の入力デー
タをレジスタマトリックス401内のある領域に格納さ
せる。この結果、全演算素子400のうち、xアドレス
がx1(=0)の演算素子400(0,y)(0≦y≦
N―1)のレジスタマトリックス401にのみ、データ
(1)が格納され、それ以外の演算素子400のレジス
タマトリックス401にはデータ(0)が格納される。
次に、このデータをAラッチ402に転送する(S11
06)。
Next, the transfer data from the corresponding x-direction data line 170x is stored in the register matrix 401 of each operation element 400 (x, y) (S110).
4). That is, the input data of the register address “31” is stored in a certain area in the register matrix 401. As a result, of all the operation elements 400, the operation element 400 (0, y) whose x address is x1 (= 0) (0 ≦ y ≦
Data (1) is stored only in the register matrix 401 of (N-1), and data (0) is stored in the register matrices 401 of the other arithmetic elements 400.
Next, this data is transferred to the A latch 402 (S11).
06).

【0116】なお、S1102では、xデータライン1
70x(x=x1=0)にデータ(1)を転送すると、
xデータライン170x(x=x1=0)に接続部17
5x(x=x1=0)を介して接続されているyデータ
ライン180y(y=x1=0)にもデータ(1)が転
送されることになる。しかしながら、S1104では、
演算素子400は、レジスタアドレス「31」の入力デ
ータを格納するように動作するので、レジスタアドレス
「30」の入力データは格納しない。したがって、yデ
ータライン180y(y=x1=0)からは、データ
(1)が対応する演算素子400に入力されない。した
がって、あくまで、列x=x1=0に存在する演算素子
400のみにデータ(1)が入力されることになる。
In S1102, x data line 1
When data (1) is transferred to 70x (x = x1 = 0),
Connection part 17 to x data line 170x (x = x1 = 0)
The data (1) is also transferred to the y data line 180y (y = x1 = 0) connected via 5x (x = x1 = 0). However, in S1104,
Since the arithmetic element 400 operates to store the input data of the register address “31”, it does not store the input data of the register address “30”. Therefore, data (1) is not input to the corresponding arithmetic element 400 from the y data line 180y (y = x1 = 0). Therefore, the data (1) is input only to the arithmetic element 400 existing in the column x = x1 = 0.

【0117】次に、CPU150は、S1108におい
て、目的画素位置(x1,y1)のyアドレス位置y1
に対応するy方向データライン180j(以下、「y方
向データライン180y」という)にデータ(1)を転
送し、残りの全てのy方向データライン180yにデー
タ(0)を転送する。具体的には、CPU150は、y
アドレス位置y1に対応するy方向データライン180
y(y=y1)と接続されたx方向データライン170
x(x=y=y1)にデータ(1)を転送し、残りの全
てのx方向データライン170x(x≠y(y1))に
データ(0)を転送する。すなわち、この場合には、選
択しようとする目的画素位置たる先頭画素位置(x1
(=0),y1(=0))のyアドレス位置y1のy方
向データライン180y(y=y1=0)にデータ
(1)を転送し、残りの全てのy方向データライン18
0y(y≠y1)にデータ(0)を転送するべく、x方
向データライン180x(x=y1=0)にデータ
(1)を転送し、残りの全てのx方向データライン18
0x(x≠y1)にデータ(0)を転送する。
Next, in S1108, the CPU 150 sets the y address position y1 of the target pixel position (x1, y1).
Is transferred to the y-direction data line 180j (hereinafter, referred to as “y-direction data line 180y”), and data (0) is transferred to all the remaining y-direction data lines 180y. Specifically, the CPU 150
Y-direction data line 180 corresponding to address position y1
x-direction data line 170 connected to y (y = y1)
Data (1) is transferred to x (x = y = y1), and data (0) is transferred to all remaining x-direction data lines 170x (x ≠ y (y1)). That is, in this case, the head pixel position (x1
Data (1) is transferred to the y-direction data line 180y (y = y1 = 0) at the y-address position y1 of (= 0), y1 (= 0), and all the remaining y-direction data lines 18
To transfer the data (0) to 0y (y (y1), the data (1) is transferred to the x-direction data line 180x (x = y1 = 0), and all the remaining x-direction data lines 18 are transferred.
Data (0) is transferred to 0x (x ≠ y1).

【0118】次に、各演算素子400(x、y)のレジ
スタマトリックス401に、対応するy方向データライ
ン180yからの転送データを格納させる(S111
0)。すなわち、レジスタアドレス「30」の入力デー
タをレジスタマトリックス410内のある領域に格納さ
せる。この結果、全演算素子400(x、y)のうち、
yアドレスがy1(=0)の演算素子400(x、0)
(0≦x≦N―1)のレジスタマトリックス401にの
みデータ(1)が格納され、それ以外の演算素子400
のレジスタマトリックス401にはデータ(0)が格納
されることになる。次に、このデータをBラッチ403
に転送する(S1112)。
Next, the transfer data from the corresponding y-direction data line 180y is stored in the register matrix 401 of each arithmetic element 400 (x, y) (S111).
0). That is, the input data of the register address “30” is stored in a certain area in the register matrix 410. As a result, of all the arithmetic elements 400 (x, y),
Arithmetic element 400 (x, 0) with y address y1 (= 0)
Data (1) is stored only in the register matrix 401 of (0 ≦ x ≦ N−1), and the other arithmetic elements 400
The data (0) is stored in the register matrix 401 of FIG. Next, this data is stored in the B latch 403.
(S1112).

【0119】なお、S1108でも、xデータライン1
70x(x=x1=0)とyデータライン180y(y
=y1=x1=0)の両方にデータ(1)が転送される
ことになる。しかしながら、S1110で、演算素子4
00は、レジスタアドレス「30」の入力データを格納
するように動作するため、レジスタアドレス「31」の
入力データは格納しない。したがって、xデータライン
170x(x=x1=0)からは、データ(1)が対応
する演算素子400に入力されない。したがって、あく
まで、行y=y1=0に存在する演算素子400のみに
データ(1)が入力されることになる。
It should be noted that also in S1108, the x data line 1
70x (x = x1 = 0) and y data line 180y (y
= Y1 = x1 = 0), the data (1) is transferred. However, in S1110, the arithmetic element 4
00 operates so as to store the input data of the register address “30”, and thus does not store the input data of the register address “31”. Therefore, data (1) is not input from the x data line 170x (x = x1 = 0) to the corresponding arithmetic element 400. Therefore, the data (1) is input only to the arithmetic element 400 existing in the row y = y1 = 0.

【0120】ついで、各演算素子400(x、y)に
て、ALU404により、Aラッチ402の値とBラッ
チ403の値の乗算を行い(S1114)、演算結果を
レジスタマトリックス401に格納する(S111
6)。この結果、目的アドレス(x1,y1)の演算素
子400(x1,y1)(この場合、先頭演算素子40
0(0,0))にのみ、乗算結果1が設定され、それ以
外の演算素子400では、乗算結果0が設定されること
になる。こうして、画素選択処理(S370)が終了す
る。
Next, in each arithmetic element 400 (x, y), the value of the A latch 402 and the value of the B latch 403 are multiplied by the ALU 404 (S1114), and the arithmetic result is stored in the register matrix 401 (S111).
6). As a result, the operation element 400 (x1, y1) of the target address (x1, y1) (in this case, the head operation element 40
0 (0, 0)), the multiplication result 1 is set, and in the other arithmetic elements 400, the multiplication result 0 is set. Thus, the pixel selection processing (S370) ends.

【0121】画素選択処理(S370)が終了すると、
S372に移行する(図10)。S372では、画素選
択処理(S370)にて得られた乗算結果を、レジスタ
マトリックス401からAラッチ402に転送する(S
372)。次に、総和演算処理(S360)にて最終的
に求められた演算結果を、やはりレジスタマトリックス
401からBラッチ403に転送する(S374)。つ
いで、ALU404にて、Aラッチ402の値とBラッ
チ403の値の乗算を行う(S376)。この結果、先
頭アドレス(0,0)の演算素子400には、総和演算
結果ΣΣI(x、y)と(1)との乗算結果として、画
像強度総和ΣΣI(x、y)が求められる。一方、それ
以外の演算素子400では、総和演算結果と0(ゼロ)
との乗算の結果として、ゼロ(0)が得られる。S37
8にて、当該乗算結果をレジスタマトリックス401に
格納し、S380にて、当該乗算結果をレジスタマトリ
ックス401の出力アドレス「28」より出力バス15
5に出力する。この結果、全演算素子400でのS37
6の乗算結果が単一の出力バス155に出力されること
になる。ここで、先頭位置の演算素子400(0,0)
のみが乗算結果として画像強度総和ΣΣI(x、y)を
出力し、残りの全ての演算素子は乗算結果としてゼロ
(0)を出力する。したがって、出力バス155は、こ
れら全演算素子400からの演算結果のOR論理演算結
果たる画像強度総和ΣΣI(x、y)を制御回路15に
転送することになる。CPU150は、受け取った画像
強度総和ΣΣI(x、y)をメモリ151に記憶する。
When the pixel selection processing (S370) is completed,
The process moves to S372 (FIG. 10). In S372, the multiplication result obtained in the pixel selection processing (S370) is transferred from the register matrix 401 to the A latch 402 (S372).
372). Next, the operation result finally obtained in the sum operation processing (S360) is also transferred from the register matrix 401 to the B latch 403 (S374). Next, the ALU 404 multiplies the value of the A latch 402 by the value of the B latch 403 (S376). As a result, the arithmetic element 400 at the start address (0, 0) obtains the total image intensity ΣΣI (x, y) as the result of multiplication of the sum operation result ΣΣI (x, y) and (1). On the other hand, in the other operation elements 400, the sum operation result and 0 (zero)
As a result of the multiplication, zero (0) is obtained. S37
8, the multiplication result is stored in the register matrix 401, and the multiplication result is stored in the output bus 15 from the output address "28" of the register matrix 401 in S380.
5 is output. As a result, S37 in all arithmetic elements 400
6 will be output to a single output bus 155. Here, the operation element 400 (0, 0) at the head position
Only outputs the sum of image intensities ΣΣI (x, y) as the multiplication result, and all the remaining arithmetic elements output zero (0) as the multiplication result. Therefore, the output bus 155 transfers the image intensity sum ΣΣI (x, y), which is the OR logical operation result of the operation results from all the operation elements 400, to the control circuit 15. The CPU 150 stores the received image intensity sum ΣΣI (x, y) in the memory 151.

【0122】なお、x/yデータバス17が双方向性の
ものである場合には、S380では、乗算結果を、x/
yデータバス17を介して制御回路15へ出力すること
ができる。すなわち、この場合には、演算素子400に
おけるレジスタマトリックス401のアドレス「30」
または「31」を、対応するy方向データライン180
y及びx方向データライン170xへのデータの出力に
用いるようにすればよい。具体的には、S380で、乗
算結果を、レジスタマトリックス401のアドレス「3
0」または「31」より、x/yデータバス17に出力
する。この結果、全演算素子400でのS376の乗算
結果がx/yデータバス17に出力されることになる。
ここで、先頭位置の演算素子400(0,0)のみが乗
算結果として画像強度総和ΣΣI(x、y)を出力し、
残りの全ての演算素子は乗算結果としてゼロ(0)を出
力する。CPU150は、対応するデータライン170
=0を介して受け取った画像強度総和ΣΣI(x、
y)をメモリ151に記憶すれば良い。
When the x / y data bus 17 is bidirectional, in S380, the multiplication result is set to x / y
It can be output to the control circuit 15 via the y data bus 17. That is, in this case, the address “30” of the register matrix 401 in the arithmetic element 400
Or, “31” is added to the corresponding y-direction data line 180.
What is necessary is just to use it for the output of the data to the y and x direction data line 170x. Specifically, in S380, the multiplication result is stored in the register matrix 401 at the address “3”.
From "0" or "31", the data is output to the x / y data bus 17. As a result, the multiplication result of S376 in all the operation elements 400 is output to the x / y data bus 17.
Here, only the operation element 400 (0, 0) at the head position outputs the image intensity sum ΣΣI (x, y) as a multiplication result,
All the remaining arithmetic elements output zero (0) as a multiplication result. The CPU 150 executes the corresponding data line 170
x = 0 through the received image intensity sum ΣΣI (x,
y) may be stored in the memory 151.

【0123】次に、重心のx方向座標の演算処理(S4
00)の処理内容について、図13を参照して、詳細に
説明する。
Next, the calculation processing of the x-axis coordinate of the center of gravity (S4
00) will be described in detail with reference to FIG.

【0124】CPU150は、まず、S402〜S41
0にて、重心演算に必要なデータである各画素のx方向
位置情報(xアドレスデータ“x”)を、メモリ151
から読みだし各演算素子400に転送して、各演算素子
400に、当該xアドレスデータ“x”と画像データI
(x,y)との乗算を行わせる。
First, the CPU 150 executes steps S402 to S41.
0, the x-direction position information (x address data “x”) of each pixel, which is data necessary for the center of gravity calculation, is stored in the memory 151.
, And transfers the data to each of the arithmetic elements 400 so that the x-address data “x” and the image data I
Multiplication with (x, y) is performed.

【0125】ここで、xアドレスデータ“x”の転送
は、各アドレスデータを、対応するデータライン170
xにより、ビットシリアル方式によって下位ビットより
1ビットづつ順番に転送することで行う。ここで、各x
方向データライン170xに接続されている画素のxア
ドレスデータは、互いに等しく、かつ、0〜N―1のい
ずれかの値の2進数データである。したがって、各デー
タライン170xでは、対応するxアドレスの2進数デ
ータを、その下位ビットから順にlog2(N)ビット
転送することにより、対応するxアドレスを全演算素子
400(x、y)に転送することが可能である。
Here, the transfer of the x address data “x” is performed by transferring each address data to the corresponding data line 170.
This is performed by transferring the lower bits in a bit-by-bit manner in order of 1 bit by x. Where x
The x address data of the pixels connected to the direction data line 170x is binary data having the same value and any one of 0 to N-1. Therefore, in each data line 170x, the binary data of the corresponding x address is transferred by log 2 (N) bits in order from the lower bit, so that the corresponding x address is transferred to all the operation elements 400 (x, y). It is possible to

【0126】本実施形態では、メモリ151のアドレス
データ格納領域154に、m(=log2N)個の番地
n=0〜m―1が設定されており、各番地に、Nビット
の2進数アドレスデータが格納されている。各番地nの
Nビット2進数アドレスデータは、「0」〜「N−1」
のN個の2進数値の対応する位のビット値から構成され
ている。例えば、画素数がNxN=8x8(N=8)の
場合には、アドレスデータ格納領域154には、図14
のように、3(m=log28)個の番地0〜2が設定
されており、これら番地0〜2に、それぞれ、2進数の
8ビットアドレスデータ01010101,00110
011,00001111が記憶されている。ここで、
番地0のアドレスデータ01010101は、「0」〜
「7(=N−1)」の2進数値の最下位ビット(第0ビ
ット)である0、1、0、1、0、1、0、1から構成
されている。また、番地1のアドレスデータ00110
011は、「0」〜「7(=N−1)」の2進数値の第
1ビットである0、0、1、1、0、0、1、1から構
成されている。さらに、番地2のアドレスデータ000
01111は、「0」〜「7(=N−1)」の2進数値
の最上位(第2ビット)である0、0、0、0、1、
1、1、1から構成されている。CPU150は、アド
レスデータ格納領域154のメモリ番地を0,1,2と
順に変更しながらそのメモリ内容(8ビットアドレスデ
ータ)を読みだし、読みだした8ビットアドレスデータ
の各ビットを、対応するxデータライン170〜17
に転送する。その結果、各xデータライン170
〜170には、対応するxアドレスデータが最下位ビ
ットから1ビットずつ順に転送されることになる。例え
ば、xデータライン170には、xアドレスデータ
“000”が最下位ビットから順に転送される。また、
xデータライン170には、xアドレスデータ“11
0”が最下位ビットから順に転送される。CPU150
は、かかる転送と同時に、各演算素子400に命令を出
力し、当該転送したアドレスデータをそのレジスタアド
レス「31」から格納させ、さらに、画像データI
(x,y)との乗算を行わせることで、モーメントMx
を演算させる。
In the present embodiment, m (= log 2 N) addresses n = 0 to m−1 are set in the address data storage area 154 of the memory 151, and each address has an N-bit binary number. Address data is stored. The N-bit binary address data of each address n is “0” to “N−1”.
, And the corresponding bit value of the N binary values. For example, when the number of pixels is N × N = 8 × 8 (N = 8), the address data storage area 154 stores FIG.
, Three (m = log 2 8) addresses 0 to 2 are set, and these addresses 0 to 2 are respectively binary 8-bit address data 0101101, 00110.
011000001111 is stored. here,
Address data 0101101 of address 0 is “0” to
It is made up of 0, 1, 0, 1, 0, 1, 0, 1, which is the least significant bit (0th bit) of the binary value of "7 (= N-1)". Also, the address data 00110 of the address 1
011 is composed of 0, 0, 1, 1, 0, 0, 1, 1 which is the first bit of the binary value of “0” to “7 (= N−1)”. Furthermore, the address data 000 of address 2
01111 is 0, 0, 0, 0, 1, which is the most significant (second bit) of the binary value of “0” to “7 (= N−1)”.
1, 1, 1. The CPU 150 reads the memory contents (8-bit address data) while sequentially changing the memory addresses of the address data storage area 154 to 0, 1, and 2, and stores each bit of the read 8-bit address data in the corresponding x data line 170 0-17
And transfers it to the 0 7. As a result, the x data line 170 0
To 170 7, a corresponding x-address data is transferred one by one bit from the least significant bit. For example, the x data line 170 0, x address data "000" is transferred from the least significant bit first. Also,
The x data line 170 6, x address data "11
"0" are sequentially transferred from the least significant bit.
Outputs an instruction to each of the arithmetic elements 400 at the same time as the transfer, stores the transferred address data from the register address “31”, and further outputs the image data I
By performing multiplication with (x, y), the moment Mx
Is calculated.

【0127】具体的には、CPU150は、まず、S4
02にて、n=0を初期設定する。次に、S404に
て、アドレスデータ格納領域154のメモリ番地をn=
0に設定して、当該メモリ番地に記憶されたアドレスデ
ータ(N=8の場合、01010101)をx/yデー
タバス17を介して送信する。この結果、各xデータラ
イン170xが接続された演算素子400(x、y)に
は、そのxアドレスデータの最下位ビット(第0ビッ
ト)が転送される。例えば、400(0、y)(0≦y
≦N−1)には0、400(1、y)(0≦y≦N−
1)には1が転送される。
More specifically, the CPU 150 first executes S4
At 02, n = 0 is initialized. Next, in S404, the memory address of the address data storage area 154 is set to n =
The address is set to 0, and the address data (01010101 when N = 8) stored in the memory address is transmitted via the x / y data bus 17. As a result, the least significant bit (0th bit) of the x address data is transferred to the arithmetic element 400 (x, y) to which each x data line 170x is connected. For example, 400 (0, y) (0 ≦ y
≦ N−1) is 0, 400 (1, y) (0 ≦ y ≦ N−
1 is transferred to 1).

【0128】S406では、各演算素子400(x、
y)は、レジスタアドレス「31」の入力データ(対応
するxデータライン170xからの転送データ)を書き
込み、画像データI(x,y)との乗算を行う。さら
に、この乗算結果、すなわち、(Xx2)xI(x,
y)(ここで、n=0)をレジスタマトリックス401
の所定の領域に格納されている値M(t)と足し合わせ
る。なお、M(t)の値は、ここでは、0に初期化され
ている。そして、演算結果M(t+1)(=(Xx
)xI(x,y)+ M(t))を、レジスタマト
リックスの当該所定領域に格納する。
In S406, each arithmetic element 400 (x,
In y), the input data of the register address “31” (the transfer data from the corresponding x data line 170x) is written, and multiplication with the image data I (x, y) is performed. Further, the result of the multiplication, that is, (Xx2 n ) xI (x,
y) (where n = 0) is assigned to the register matrix 401
Is added to the value M (t) stored in the predetermined area of. Here, the value of M (t) is initialized to 0 here. Then, the operation result M (t + 1) (= (Xx
2n ) xI (x, y) + M (t)) is stored in the predetermined area of the register matrix.

【0129】次に、S408で、nを1インクリメント
して、現在のnと、演算素子数Nの2進数値m(=lo
2N)とを比較する。nがmより小さければ(S41
0で、yes)、S404へ戻る。
Next, in S408, n is incremented by one, and the current n and the binary value m (= lo
g 2 N). If n is smaller than m (S41
0, yes), and returns to S404.

【0130】S404では、現在のメモリ番地n=1に
格納されているアドレスデータ(この場合、00110
011)がx/yデータバス17に転送される。この結
果、各xデータライン170xが接続された演算素子4
00(x、y)には、そのxアドレスデータの第1ビッ
トが転送される。例えば、400(0、y)(0≦y≦
N−1)には0、400(1、y)(0≦y≦N−1)
にも0が転送される。S406で、各演算素子400
(x、y)は、レジスタアドレス「31」の入力データ
(対応するxデータライン170xからの転送データ)
を書き込み、さらに、画像データI(x,y)との乗算
を行う。その際、前回の乗算からの桁上がりに対応し
て、1ビットだけ上位にずらして乗算を行う。すなわ
ち、(Xx2)xI(x,y)(ここで、n=1)を
演算する。さらに、この乗算結果を前回の乗算結果M
(t)と足し合わせ、その演算結果M(t+1)をレジ
スタマトリックスの所定領域に格納する。
In S404, the address data stored in the current memory address n = 1 (in this case, 00110
011) is transferred to the x / y data bus 17. As a result, the arithmetic element 4 to which each x data line 170x is connected
The first bit of the x address data is transferred to 00 (x, y). For example, 400 (0, y) (0 ≦ y ≦
N-1) is 0, 400 (1, y) (0≤y≤N-1)
0 is also transferred. In S406, each of the arithmetic elements 400
(X, y) is input data of the register address "31" (transfer data from the corresponding x data line 170x)
Is written, and further multiplied by the image data I (x, y). At this time, the multiplication is performed by shifting one bit upward to correspond to the carry from the previous multiplication. In other words, it calculates the (Xx2 n) xI (x, y) ( where, n = 1). Further, this multiplication result is compared with the previous multiplication result M
(T) and the operation result M (t + 1) is stored in a predetermined area of the register matrix.

【0131】S408で、nを再び1インクリメントし
て、nがmより小さければ(S410で、yes)、再
びS404へ戻る。
In S408, n is incremented by one again. If n is smaller than m (yes in S410), the flow returns to S404.

【0132】S404では、現在のメモリ番地n=2に
格納されているアドレスデータ(この場合、00001
111)がx/yデータバス17に転送される。この結
果、各xデータライン170xが接続された演算素子4
00(x、y)には、そのxアドレスデータの第2ビッ
ト(この例の場合は、最上位ビット)が転送される。例
えば、400(0、y)(0≦y≦N−1)には0、4
00(1、y)(0≦y≦N−1)にも0が転送され
る。S406では、各演算素子400(x、y)は、レ
ジスタアドレス「31」の入力データ(対応するxデー
タライン170xからの転送データ)を書き込み、さら
に、画像データI(x,y)との乗算を、1ビットだけ
上位にずらしながら行う。その乗算結果((Xx2
xI(x,y))(ここで、n=2)を前回の乗算結果
M(t)と足し合わせ、その和M(t+1)をレジスタ
マトリックスの所定領域に格納する。
In S404, the address data stored in the current memory address n = 2 (00001 in this case)
111) is transferred to the x / y data bus 17. As a result, the arithmetic element 4 to which each x data line 170x is connected
To 00 (x, y), the second bit (the most significant bit in this example) of the x address data is transferred. For example, 400 (0, y) (0 ≦ y ≦ N−1) indicates 0, 4
0 is also transferred to 00 (1, y) (0 ≦ y ≦ N−1). In S406, each arithmetic element 400 (x, y) writes the input data of the register address “31” (transfer data from the corresponding x data line 170x), and further multiplies the image data I (x, y) by Is performed while shifting to the higher order by one bit. The multiplication result ((Xx2 n )
xI (x, y)) (where n = 2) is added to the previous multiplication result M (t), and the sum M (t + 1) is stored in a predetermined area of the register matrix.

【0133】S408で、nを1インクリメントする
と、nは3となる。この例の場合、n=mとなるため
(S410で、no)、S420へ移行する。
In step S408, when n is incremented by 1, n becomes 3. In this example, since n = m (no in S410), the process proceeds to S420.

【0134】こうして、S402〜S410では、xア
ドレスデータを最下位ビットから順番に最上位ビットま
で転送しながら、各ビットを画像データI(x,y)と
掛け合わせ、桁が上がる毎にビットをずらして足し算を
行う。例えば、画像データI(x,y)が“1001”
である場合に、xアドレスがx=6(“110”)の演
算素子400(6,y)(0≦y≦N−1)では、図1
5のような演算が行われ、xモーメント値x・I(x、
y)が得られ、レジスタマトリックスの所定領域に格納
される。
Thus, in S402 to S410, each bit is multiplied by the image data I (x, y) while transferring the x address data from the least significant bit to the most significant bit, and the bit is incremented every time the digit is increased. Shift and add. For example, if the image data I (x, y) is “1001”
In the case of the arithmetic element 400 (6, y) (0 ≦ y ≦ N−1) where the x address is x = 6 (“110”), FIG.
5 is performed, and the x moment value x · I (x,
y) is obtained and stored in a predetermined area of the register matrix.

【0135】次に、S420にて、全画素におけるx方
向モーメント値(x・I(x、y))の総和を求めるた
めの総和演算処理を行う。
Next, in S420, a total sum calculation process for obtaining the total sum of the x-direction moment values (xI (x, y)) in all the pixels is performed.

【0136】当該総和演算処理(S420)では、図1
1を参照して説明した総和演算処理を、x方向モーメン
ト値(x・I(x、y))を目的データとして行う。
In the total sum calculation processing (S420), FIG.
1 is performed using the x-direction moment value (x · I (x, y)) as target data.

【0137】具体的には、S1002にて、各演算素子
において、総和を求めたい目的データであるx方向モー
メント値(x・I(x、y))を、レジスタマトリック
ス401からAラッチ402に転送する。次に、S10
04にて、各演算素子400(x、y)に、x方向にお
いて隣接する位置(x+1,y)の演算素子400(x
+1,y)のx方向モーメント値((x+1)・I(x
+1、y))を転送する。当該x方向モーメント値
((x+1)・I(x+1、y))をBラッチへ格納し
(S1006)、AラッチとBラッチの値を加算するこ
とにより、当該隣り合う2つの画素におけるx方向モー
メント値の加算を行い、加算結果をレジスタマトリック
ス401を介してAラッチ402へと格納する(S10
08〜S1012)。この結果、各画素400(x、
y)には、2画素分のx方向モーメント値の和(x・I
(x,y)+(x+1)・I(x+1,y))が格納さ
れることになる。
More specifically, in S1002, in each operation element, the x-direction moment value (x · I (x, y)), which is the target data for which the sum is to be obtained, is transferred from the register matrix 401 to the A latch 402. I do. Next, S10
At 04, the arithmetic element 400 (x, y) at the position (x + 1, y) adjacent to the arithmetic element 400 (x, y) in the x direction
+1, y) in the x direction ((x + 1) · I (x
+1, y)). The x-direction moment value ((x + 1) .I (x + 1, y)) is stored in the B latch (S1006), and the values of the A latch and the B latch are added to obtain the x-direction moment in the two adjacent pixels. The values are added, and the addition result is stored in the A latch 402 via the register matrix 401 (S10).
08 to S1012). As a result, each pixel 400 (x,
y) is the sum of x-direction moment values for two pixels (x · I
(X, y) + (x + 1) .I (x + 1, y)) will be stored.

【0138】次に、初期設定としてi=1とした(S1
014)後、各演算素子400(x,y)は、S101
8〜S1026において、格納している加算結果(x・
I(x,y)+(x+1)・I(x+1,y))と、x
方向において2つ目に隣接する画素位置(x+n,y)
(ここで、n=2、この場合、n=2=2)の演算
素子400(x+2,y)に格納されている加算結果
((x+2)・I(x+2,y)+(x+3)・I(x
+3,y))とを加算する転送・加算処理を行う。
Next, i = 1 is set as an initial setting (S1).
014) After that, each of the arithmetic elements 400 (x, y) returns to S101.
8 to S1026, the stored addition result (x ·
I (x, y) + (x + 1) .I (x + 1, y)) and x
Pixel position (x + n, y) adjacent to the second in the direction
(Here, n = 2 i , in this case, n = 2 1 = 2) The addition result ((x + 2) · I (x + 2, y) + (x + 3) stored in the arithmetic element 400 (x + 2, y)・ I (x
+3, y)).

【0139】続いて、iを1インクリメントしつつ(S
1028)、S1018〜S1030の処理を繰り返す
ことにより、4個(n=2)隣、8個(n=2
隣、16個(n=2)隣、32個(n=2)隣、6
4(n=2)隣、…と進めて、(N/2)隣まで転送
・加算を繰り返す。その結果、各行における全てのx方
向モーメント値の加算結果0・I(0,y)+ 1・I
(1,y)+2・I(2,y)+…+(N―1)・I
(N―1,y)が、当該行の先頭にある演算素子400
(0,y)に得られる。
Subsequently, i is incremented by one (S
1028), by repeating the process of S1018~S1030, 4 pieces (n = 2 2) next, eight (n = 2 3)
Neighbor, 16 (n = 2 4 ) neighbors, 32 (n = 2 5 ) neighbors, 6
4 (n = 2 6 ) neighbors,..., And transfer / addition is repeated up to (N / 2) neighbors. As a result, the addition result of all the x-direction moment values in each row 0 · I (0, y) + 1 · I
(1, y) + 2 · I (2, y) + ... + (N−1) · I
(N-1, y) is the arithmetic element 400 at the head of the row.
(0, y).

【0140】次に、初期設定としてj=0とした(S1
032)後、S1034〜S1040にて、各演算素子
400(x,y)は、その加算結果と、y方向において
隣接する位置(x,y+m)(ここで、m=2、この
場合、m=2=1)の演算素子400(x,y+m)
(この場合、400(x,y+1))の加算結果とを、
加算する転送・加算処理を行う。
Next, j = 0 is set as an initial setting (S1).
032) After that, in S1034 to S1040, each arithmetic element 400 (x, y) adds the addition result to a position (x, y + m) adjacent in the y direction (where m = 2 j , in this case, m = 2 j = 1) arithmetic element 400 (x, y + m)
(In this case, the addition result of 400 (x, y + 1)) is
Perform transfer / addition processing for addition.

【0141】続いて、jを1インクリメントしつつ(S
1044)、S1046〜S1040の処理を繰り返す
ことにより、2つ(m=2)隣、4つ(m=2
隣、8つ(m=2)隣、16個(m=2)隣、32
個(m=2)隣、64(m=2)隣、…と進めて、
(N/2)隣まで転送・加算を繰り返す。この結果、全
画素のx方向モーメント値の加算結果ΣΣx・I(x、
y)が、演算素子アレイ40の先頭にある演算素子40
0(0,0)に得られ、総和演算処理(S420)が終
了する。
Subsequently, j is incremented by 1 (S
1044) and repeating the processing of S1046 to S1040, two (m = 2 1 ) next, four (m = 2 2 )
Next, 8 (m = 2 3 ) neighbors, 16 (m = 2 4 ) neighbors, 32
Next (m = 2 5 ), 64 (m = 2 6 ), ...
(N / 2) Repeat transfer / addition to the next. As a result, the addition result of the x-direction moment values of all pixels ΣΣx · I (x,
y) is the operation element 40 at the head of the operation element array 40
0 (0, 0), and the sum calculation processing (S420) ends.

【0142】総和演算処理(S420)が終了すると、
S430に移行する(図13)。
When the summation processing (S420) is completed,
The process proceeds to S430 (FIG. 13).

【0143】S430では、先頭画素位置(0,0)を
選択するための画素選択処理を行う。
At S430, a pixel selection process for selecting the head pixel position (0, 0) is performed.

【0144】当該画素選択処理では、図12を参照して
説明した画素選択処理と同一の処理を行う。その結果、
S1114〜S1116にて、先頭演算素子400
(0,0)にのみ乗算結果(1)が設定され、他の演算
素子400では、乗算結果(0)が設定される。
In this pixel selection processing, the same processing as the pixel selection processing described with reference to FIG. 12 is performed. as a result,
In S1114 to S1116, the top processing element 400
The multiplication result (1) is set only in (0, 0), and the multiplication result (0) is set in other arithmetic elements 400.

【0145】画素選択処理(S430)が終了すると、
S432に移行する(図13)。S432では、画素選
択処理(S430)にて得られた乗算結果を、レジスタ
マトリックス401からAラッチ402に転送する。次
に、総和演算処理(S420)にて最終的に求められた
総和演算結果を、やはりレジスタマトリックス401か
らBラッチ403に転送する(S434)。ついで、A
LU404にて、Aラッチ402の値とBラッチ403
の値の乗算を行う(S436)。この結果、先頭アドレ
ス(0,0)の演算素子400には、総和演算結果ΣΣ
x・I(x、y)と(1)との乗算結果として、x方向
モーメント総和ΣΣx・I(x、y)が求められる。一
方、他の演算素子400では、総和演算結果と0(ゼ
ロ)との乗算の結果として、ゼロ(0)が得られる。次
に、S438にて、当該乗算結果をレジスタマトリック
ス401に格納し、S440にて、当該乗算結果を、レ
ジスタマトリックス401の出力アドレス「28」より
出力バス155に出力する。この結果、全演算素子40
0でのS436の乗算結果が出力バス155に出力され
ることになる。ここで、先頭位置の演算素子400
(0,0)のみが乗算結果としてx方向モーメント総和
ΣΣx・I(x、y)を出力し、残りの全ての演算素子
は乗算結果としてゼロ(0)を出力する。したがって、
出力バス155は、これら全演算素子400からの演算
結果のOR論理演算結果たるx方向モーメント総和ΣΣ
x・I(x、y)を制御回路15に転送することにな
る。
When the pixel selection processing (S430) is completed,
The process moves to S432 (FIG. 13). In S432, the multiplication result obtained in the pixel selection processing (S430) is transferred from the register matrix 401 to the A latch 402. Next, the sum operation result finally obtained in the sum operation processing (S420) is also transferred from the register matrix 401 to the B latch 403 (S434). Then, A
In the LU 404, the value of the A latch 402 and the value of the B latch 403
Is multiplied (S436). As a result, the arithmetic element 400 at the start address (0, 0) has the sum operation result ΣΣ
As a result of multiplication of x · I (x, y) and (1), the total moment in the x direction ΣΣx · I (x, y) is obtained. On the other hand, in another arithmetic element 400, zero (0) is obtained as a result of multiplication of the sum operation result and 0 (zero). Next, in S438, the multiplication result is stored in the register matrix 401, and in S440, the multiplication result is output to the output bus 155 from the output address “28” of the register matrix 401. As a result, all operation elements 40
The result of the multiplication of S436 at 0 will be output to the output bus 155. Here, the operation element 400 at the head position
Only (0, 0) outputs the sum of moments in the x direction ΣΣx · I (x, y) as the multiplication result, and all the remaining arithmetic elements output zero (0) as the multiplication result. Therefore,
The output bus 155 provides a sum of x-direction moments, which is an OR logical operation result of the operation results from all the operation elements 400.
x · I (x, y) is transferred to the control circuit 15.

【0146】なお、x/yデータバス17が双方向性の
ものである場合には、S440では、乗算結果を、x/
yデータバス17を介して制御回路15へ出力してもよ
い。具体的には、S440では、乗算結果を、レジスタ
マトリックス401のアドレス「30」または「31」
より、x/yデータバス17に出力する。CPU150
は、演算素子400(0,0)に対応するデータライン
170x=0を介してx方向モーメント総和ΣΣx・I
(x、y)を受け取る。
When the x / y data bus 17 is of a bidirectional type, in S440, the multiplication result is represented by x / y
The data may be output to the control circuit 15 via the y data bus 17. Specifically, in S440, the multiplication result is stored in the address “30” or “31” of the register matrix 401.
Thus, the data is output to the x / y data bus 17. CPU 150
Is the sum of the moments in the x direction 演算 x · I via the data line 170 x = 0 corresponding to the arithmetic element 400 (0,0).
(X, y).

【0147】次に、S450において、CPU150
は、当該受け取ったx方向モーメント総和ΣΣx・I
(x、y)を画像強度総和ΣΣI(x、y)で除算する
ことにより、重心のx座標を求める。
Next, in S450, the CPU 150
Is the sum of the received x-direction moments ΣΣx · I
By dividing (x, y) by the total image intensity ΣΣI (x, y), the x coordinate of the center of gravity is obtained.

【0148】次に、処理は、S500へ以降し、S50
0において、重心のy座標を、重心のx座標を求めたの
と同様な方法で求める。
Next, the process proceeds to S500 and S50.
At 0, the y-coordinate of the center of gravity is determined in the same way as the x-coordinate of the center of gravity is determined.

【0149】すなわち、図16に示すように、CPU1
50は、まず、S502〜S510にて、重心演算に必
要なデータである各画素のy方向位置情報(yアドレス
データ)を、メモリ151から読みだし各演算素子40
0に転送し、各演算素子400に、当該yアドレスデー
タと画像データI(x,y)との乗算を行わせる。
That is, as shown in FIG.
First, in S502 to S510, the y-direction position information (y-address data) of each pixel, which is data necessary for the center of gravity calculation, is read from the memory 151, and each of the arithmetic elements 40 is read.
0, and causes each arithmetic element 400 to multiply the corresponding y address data by the image data I (x, y).

【0150】ここで、yアドレスデータの転送も、各y
アドレスデータを、データバッファ17を介して、対応
するデータライン170x及び180yにより、ビット
シリアル方式によって下位ビットより1ビットづつ順番
に転送することで行う。ここで、各y方向データライン
180yに接続されている画素のyアドレスデータは、
互いに等しく、かつ、0〜N―1のいずれかの値の2進
数データである。したがって、各データライン180y
では、対応するyアドレスの2進数データを、その下位
ビットから順にlog2(N)ビット転送することによ
り、対応するyアドレスの全演算素子400(x、y)
に転送することが可能である。
Here, the transfer of the y address data is also performed for each y address data.
Address data is transferred by the corresponding data lines 170x and 180y via the data buffer 17 in a bit-serial manner, one bit at a time starting from the lower bit. Here, the y address data of the pixel connected to each y direction data line 180y is:
The binary data is equal to each other and has a value of any one of 0 to N-1. Therefore, each data line 180y
In this case, the binary data of the corresponding y address is transferred in order of log 2 (N) bits from the lower bit, so that all the arithmetic elements 400 (x, y) of the corresponding y address are transferred.
Can be transferred to

【0151】本実施形態では、上述のように、メモリ1
51のアドレスデータ格納領域154には、m(=lo
2N)個の番地n=0〜m―1のそれぞれに、Nビッ
トの2進数アドレスデータが格納されており、このアド
レスデータが、xアドレスデータとしてのみならず、y
アドレスデータとしても使用される。例えば、画素数が
NxN=8x8(N=8)の場合には、アドレスデータ
格納領域154には、図14のように、3(=log2
8)個の2進数の8ビットアドレスデータ010101
01,00110011,00001111が、番地0
〜2に記憶されている。このため、x方向重心演算の場
合と同様、CPU150は、アドレスデータ格納領域1
54のメモリ番地を0,1,2と順に変更しながらその
メモリ内容(8ビットアドレスデータ)を読みだし、そ
の8ビットアドレスデータの各ビットを、対応するxデ
ータライン170〜170に転送する。その結果、
当該各ビットデータは、接続部175〜175を介
して、対応するyデータライン180〜180に転
送される。このため、各yデータライン180〜18
に対して、対応するyアドレスデータが最下位ビッ
トから1ビットずつ順に転送されることになる。例え
ば、yデータライン180には、yアドレスデータ
“000”が最下位ビットから順に転送される。また、
yデータライン180には、yアドレスデータ“11
0”が最下位ビットから順に転送される。CPU150
は、かかる転送と同時に、各演算素子400に命令を出
力し、当該転送したアドレスデータをそのレジスタアド
レス「30」から格納させ、さらに、画像データI
(x,y)との乗算を行わせてモーメントMyを演算さ
せる。
In the present embodiment, as described above, the memory 1
The address data storage area 154 of m.
g 2 N) addresses n = 0 to m−1 each store N-bit binary address data, and this address data is used not only as x address data but also as y address data.
Also used as address data. For example, when the number of pixels is N × N = 8 × 8 (N = 8), 3 (= log 2 ) is stored in the address data storage area 154 as shown in FIG.
8) binary 8-bit address data 010101
01,00110011,000011111 is address 0
~ 2. Therefore, as in the case of the x-direction center of gravity calculation, the CPU 150 sets the address data storage area 1
While changing the memory address of 54 to 0, 1, 2 and sequentially read the memory contents (8-bit address data), transfer each bit of the 8-bit address data, in the corresponding x data line 170 0-170 7 I do. as a result,
The respective bit data via connection 175 0-175 7, are transferred to the corresponding y data lines 180 0-180 7. Therefore, each of the y data lines 180 0 to 18 0
Against 0 7, so that the corresponding y address data is transferred one by one bit from the least significant bit. For example, the y data lines 180 0, y address data "000" is transferred from the least significant bit first. Also,
The y data line 180 6, y address data "11
"0" are sequentially transferred from the least significant bit.
Outputs an instruction to each arithmetic element 400 at the same time as the transfer, stores the transferred address data from the register address “30”, and further stores the image data I
The moment My is calculated by performing multiplication with (x, y).

【0152】より詳しくは、CPU150は、まず、S
502にてn=0に初期設定する。次に、S504に
て、アドレスデータ格納領域154のメモリ番地をn=
0に設定して、当該メモリ番地に記憶されたアドレスデ
ータ(N=8の場合、01010101)をx/yデー
タバス17を介して送信する。この結果、各yデータラ
イン180yが接続された演算素子400(x、y)に
は、そのyアドレスデータの最下位ビット(第0ビッ
ト)が転送される。例えば、400(x、0)(0≦x
≦N−1)には、0、400(x、1)(0≦x≦N−
1)には、1が転送される。
More specifically, the CPU 150 first
At 502, n = 0 is initialized. Next, in S504, the memory address of the address data storage area 154 is set to n =
The address is set to 0, and the address data (01010101 when N = 8) stored in the memory address is transmitted via the x / y data bus 17. As a result, the least significant bit (0th bit) of the y address data is transferred to the arithmetic element 400 (x, y) connected to each y data line 180y. For example, 400 (x, 0) (0 ≦ x
≦ N−1) includes 0, 400 (x, 1) (0 ≦ x ≦ N−
In 1), 1 is transferred.

【0153】S506では、各演算素子400(x、
y)は、レジスタアドレス「30」の入力データ(対応
するyデータライン180xからの転送データ)を書き
込み、さらに、画像データI(x,y)との乗算を行
う。さらに、この乗算結果、すなわち、(Yx2)x
I(x,y)(ここで、n=0)をレジスタマトリック
ス401の所定の領域に格納されている値M(t)と足
し合わせる。なお、M(t)の値は0に初期化されてい
る。そして、演算結果M(t+1)(=(Yx2)x
I(x,y)+ M(t))を、レジスタマトリックス
の該所定領域に格納する。
In S506, each of the arithmetic elements 400 (x,
y) writes the input data of the register address “30” (the transfer data from the corresponding y data line 180x), and further multiplies the input data by the image data I (x, y). Further, this multiplication result, that is, (Yx2 n ) x
I (x, y) (here, n = 0) is added to a value M (t) stored in a predetermined area of the register matrix 401. Note that the value of M (t) is initialized to 0. Then, the calculation result M (t + 1) (= (Yx2 n ) x
I (x, y) + M (t)) is stored in the predetermined area of the register matrix.

【0154】次に、S508で、nを1インクリメント
して、現在のnと、演算素子数Nの2進数値m(=lo
2N)とを比較する。nがmより小さければ(S41
0で、yes)、S504へ戻る。
Next, in S508, n is incremented by one, and the current n and the binary value m (= lo
g 2 N). If n is smaller than m (S41
0, yes), and returns to S504.

【0155】S504では、メモリ番地n=1に格納さ
れているアドレスデータ(この場合、0011001
1)がx/yデータバス17に転送される。この結果、
各yデータライン180yが接続された演算素子400
(x、y)には、そのyアドレスデータの第1ビットが
転送される。例えば、400(x、0)(0≦x≦N−
1)には0、400(x、1)(0≦x≦N−1)にも
0が転送される。S506で、各演算素子400(x、
y)は、レジスタアドレス「30」の入力データ(対応
するyデータライン180yからの転送データ)を書き
込み、さらに、画像データI(x,y)との乗算を行
う。その際、前回の乗算からの桁上がりに対応して、1
ビットだけ上位にずらして乗算を行う。すなわち、(Y
x2)xI(x,y)(ここで、n=1)を演算す
る。さらに、この乗算結果を前回の乗算結果M(t)と
足し合わせ、その演算結果M(t+1)をレジスタマト
リックスの所定領域に格納する。
In S504, the address data stored in the memory address n = 1 (in this case, 0011001)
1) is transferred to the x / y data bus 17. As a result,
Arithmetic element 400 to which each y data line 180y is connected
The first bit of the y address data is transferred to (x, y). For example, 400 (x, 0) (0 ≦ x ≦ N−
0 is transferred to 1), and 0 is also transferred to 400 (x, 1) (0 ≦ x ≦ N−1). In S506, each arithmetic element 400 (x,
y) writes the input data of the register address "30" (the transfer data from the corresponding y data line 180y), and further multiplies the image data I (x, y). At this time, corresponding to the carry from the previous multiplication, 1
The multiplication is performed by shifting the bits upward by bits. That is, (Y
x2 n ) xI (x, y) (where n = 1) is calculated. Further, the multiplication result is added to the previous multiplication result M (t), and the operation result M (t + 1) is stored in a predetermined area of the register matrix.

【0156】S508で、nを1インクリメントして、
nがmより小さければ(S410で、yes)、再びS
504へ戻る。
In step S508, n is incremented by one.
If n is smaller than m (yes in S410), S again
Return to 504.

【0157】S504では、メモリ番地n=2に格納さ
れているアドレスデータ(この場合、0000111
1)がx/yデータバス17に転送される。この結果、
各yデータライン180yが接続された演算素子400
(x、y)には、そのyアドレスデータの第2ビット
(この例の場合は、最上位ビット)が転送される。例え
ば、400(x、0)(0≦x≦N−1)には0、40
0(x、1)(0≦x≦N−1)にも0が転送される。
S506では、各演算素子400(x、y)は、レジス
タアドレス「30」の入力データ(対応するyデータラ
イン180yからの転送データ)を書き込み、さらに、
画像データI(x,y)との乗算を、1ビットだけ上位
にずらしながら行う。その乗算結果(Yx2)xI
(x,y)(ここで、n=2)を前回の乗算結果M
(t)と足し合わせ、その和M(t+1)をレジスタマ
トリックスの所定領域に格納する。
In S504, the address data stored in the memory address n = 2 (in this case, 0000111)
1) is transferred to the x / y data bus 17. As a result,
Arithmetic element 400 to which each y data line 180y is connected
The second bit (the most significant bit in this example) of the y address data is transferred to (x, y). For example, 400 (x, 0) (0 ≦ x ≦ N−1) indicates 0, 40
0 is also transferred to 0 (x, 1) (0 ≦ x ≦ N−1).
In S506, each arithmetic element 400 (x, y) writes the input data of the register address “30” (the transfer data from the corresponding y data line 180y), and furthermore,
The multiplication with the image data I (x, y) is performed while shifting to the higher order by one bit. The multiplication result (Yx2 n ) xI
(X, y) (where n = 2) is the previous multiplication result M
(T), and the sum M (t + 1) is stored in a predetermined area of the register matrix.

【0158】S508で、nを1インクリメントする
と、nは3となる。この例の場合、n=mとなるため、
(S510で、no)、S520へ移行する。
In step S508, when n is incremented by 1, n becomes 3. In this example, since n = m,
(No in S510), the process proceeds to S520.

【0159】こうして、S502〜S510では、yア
ドレスデータを最下位ビットから順番に最上位ビットま
で転送しながら、各ビットを画像データI(x,y)と
掛け合わせ、桁が上がる毎にビットをずらして足し算を
行う。例えば、画像データI(x,y)が“1001”
である場合に、yアドレスがy=6(“110”)の演
算素子400(x、6)(0≦x≦N―1)では、図1
5のような演算が行われ、yモーメント値y・I(x、
y)が得られ、レジスタマトリックスの所定領域に格納
される。このように、本実施形態では、メモリ151に
Nビット幅のアドレスデータ格納領域154が形成され
ており、このアドレスデータ格納領域154に、m個
(m=logN)のNビット2進数アドレスデータが
格納されている。このm個のNビット2進数アドレスデ
ータが、x方向モーメント演算及びy方向モーメント演
算において、共通のアドレスデータ(x方向アドレスデ
ータ及びy方向アドレスデータ)として使用される。
Thus, in S502 to S510, each bit is multiplied by the image data I (x, y) while transferring the y address data from the least significant bit to the most significant bit. Shift and add. For example, if the image data I (x, y) is “1001”
In the case of the arithmetic element 400 (x, 6) (0 ≦ x ≦ N−1) where the y address is y = 6 (“110”), FIG.
5 is performed, and the y moment value y · I (x,
y) is obtained and stored in a predetermined area of the register matrix. As described above, in the present embodiment, the address data storage area 154 having an N-bit width is formed in the memory 151, and m (m = log 2 N) N-bit binary addresses are stored in the address data storage area 154. Data is stored. The m pieces of N-bit binary address data are used as common address data (x-direction address data and y-direction address data) in the x-direction moment calculation and the y-direction moment calculation.

【0160】次に、S520にて、全画素におけるy方
向モーメント値(y・I(x、y))の総和を求めるた
めの総和演算処理を行う。
Next, in S520, a total sum calculation process is performed to obtain the total sum of the y-direction moment values (y · I (x, y)) in all the pixels.

【0161】当該総和演算処理(S520)では、図1
1を参照して説明した総和演算処理を、y方向モーメン
ト値(y・I(x、y))を目的データとして行う。
In the total sum calculation processing (S520), FIG.
1 is performed using the y-direction moment value (y · I (x, y)) as target data.

【0162】具体的には、S1002にて、各演算素子
において、総和を求めたい目的データであるy方向モー
メント値(y・I(x、y))を、レジスタマトリック
ス401からAラッチ402に転送する。次に、S10
04にて、各演算素子400(x、y)に、x方向にお
いて隣接する位置(x+1,y)の演算素子400(x
+1,y)のy方向モーメント値(y・I(x+1、
y))を転送する。当該y方向モーメント値(y・I
(x+1、y))をBラッチへ格納し(S1006)、
AラッチとBラッチの値を加算することにより、当該隣
り合う2つの画素におけるy方向モーメント値の加算を
行い、加算結果をレジスタマトリックス401を介して
Aラッチ402へと格納する(S1008〜S101
2)。この結果、各画素400(x、y)には、2画素
分のy方向モーメント値の和(y・I(x,y)+y・
I(x+1,y))が格納されることになる。
Specifically, in S1002, in each arithmetic element, the y-direction moment value (yI (x, y)), which is the target data for which the sum is to be obtained, is transferred from the register matrix 401 to the A latch 402. I do. Next, S10
At 04, the arithmetic element 400 (x, y) at the position (x + 1, y) adjacent to the arithmetic element 400 (x, y) in the x direction
+1, y) in the y direction (y · I (x + 1,
y)). The y-direction moment value (y · I
(X + 1, y)) is stored in the B latch (S1006),
By adding the values of the A latch and the B latch, the y direction moment values of the two adjacent pixels are added, and the addition result is stored in the A latch 402 via the register matrix 401 (S1008 to S101).
2). As a result, for each pixel 400 (x, y), the sum of the y-direction moment values for two pixels (y · I (x, y) + y ·
I (x + 1, y)) will be stored.

【0163】次に、初期設定としてi=1とした(S1
014)後、各演算素子400(x,y)は、S101
8〜S1026において、格納している加算結果(y・
I(x,y)+y・I(x+1,y))と、x方向にお
いて2つ目に隣接する画素位置(x+n,y)(ここ
で、n=2、この場合、n=2=2)の演算素子4
00(x+2,y)に格納されている加算結果(y・I
(x+2,y)+y・I(x+3,y))とを加算する
転送・加算処理を行う。
Next, i = 1 is set as an initial setting (S1).
014) After that, each of the arithmetic elements 400 (x, y) returns to S101.
8 to S1026, the stored addition result (y ·
I (x, y) + yI (x + 1, y)) and a pixel position (x + n, y) adjacent to the second pixel in the x direction (where n = 2 i , in this case, n = 2 1 = Arithmetic element 4 of 2)
00 (x + 2, y) and the addition result (y · I
(X + 2, y) + yI (x + 3, y)) is added to the transfer / addition process.

【0164】続いて、iを1インクリメントしつつ(S
1028)、S1018〜S1030の処理を繰り返す
ことにより、4個(n=2)隣、8個(n=2
隣、16個(n=2)隣、32個(n=2)隣、6
4(n=2)隣、…と進めて、(N/2)隣まで転送
・加算を繰り返す。その結果、各行における全てのy方
向モーメント値の加算結果y・I(0,y)+y・I
(1,y)+y・I(2,y)+…+y・I(N―1,
y)が、当該行の先頭にある演算素子400(0,y)
に得られる。
Subsequently, i is incremented by one (S
1028), by repeating the process of S1018~S1030, 4 pieces (n = 2 2) next, eight (n = 2 3)
Neighbor, 16 (n = 2 4 ) neighbors, 32 (n = 2 5 ) neighbors, 6
4 (n = 2 6 ) neighbors,..., And transfer / addition is repeated up to (N / 2) neighbors. As a result, the addition result y · I (0, y) + y · I of all y-direction moment values in each row
(1, y) + yI (2, y) + ... + yI (N-1,
y) is the operation element 400 (0, y) at the head of the row.
Is obtained.

【0165】次に、初期設定としてj=0とした(S1
032)後、S1034〜S1040にて、各演算素子
400(x,y)は、その加算結果と、y方向において
隣接する位置(x,y+m)(ここで、m=2、この
場合、m=2=1)の演算素子400(x,y+m)
(この場合、400(x,y+1))の加算結果とを、
加算する転送・加算処理を行う。この結果、各行の先頭
位置の演算素子400(0,y)には、2行分の加算結
果の和(y・I(0,y)+y・I(1,y)+y・I
(2,y)+…+y・I(N―1,y))+((y+
1)・I(0,y+1)+(y+1)・I(1,y+
1)+(y+1)・I(2,y+1)+…+(y+1)
・I(N―1,y+1))が得られる。
Next, j = 0 is set as an initial setting (S1).
032) After that, in S1034 to S1040, each arithmetic element 400 (x, y) adds the addition result to a position (x, y + m) adjacent in the y direction (where m = 2 j , in this case, m = 2 j = 1) arithmetic element 400 (x, y + m)
(In this case, the addition result of 400 (x, y + 1)) is
Perform transfer / addition processing for addition. As a result, the sum (y 加 算 I (0, y) + y ・ I (1, y) + y ・ I) of the addition result for the two rows is stored in the arithmetic element 400 (0, y) at the head position of each row.
(2, y) + ... + yI (N-1, y)) + ((y +
1) · I (0, y + 1) + (y + 1) · I (1, y +
1) + (y + 1) .I (2, y + 1) +... + (Y + 1)
I (N-1, y + 1)) is obtained.

【0166】続いて、jを1インクリメントしつつ(S
1044)、S1046〜S1040の処理を繰り返す
ことにより、2つ(m=2)隣、4つ(m=2
隣、8つ(m=2)隣、16個(m=2)隣、32
個(m=2)隣、64(m=2)隣、…と進めて、
(N/2)隣まで転送・加算を繰り返す。この結果、全
画素のy方向モーメント値の加算結果ΣΣy・I(x、
y)が、演算素子アレイ40の先頭にある演算素子40
0(0,0)に得られ、総和演算処理(S520)が終
了する。
Subsequently, j is incremented by 1 (S
1044) and repeating the processing of S1046 to S1040, two (m = 2 1 ) next, four (m = 2 2 )
Next, 8 (m = 2 3 ) neighbors, 16 (m = 2 4 ) neighbors, 32
Next (m = 2 5 ), 64 (m = 2 6 ), ...
(N / 2) Repeat transfer / addition to the next. As a result, the addition result モ ー メ ン ト y · I (x,
y) is the operation element 40 at the head of the operation element array 40
0 (0, 0), and the sum calculation processing (S520) ends.

【0167】総和演算処理(S520)が終了すると、
S530に移行する(図16)。
When the summation processing (S520) is completed,
The process proceeds to S530 (FIG. 16).

【0168】S530では、先頭画素位置(0,0)を
選択するための画素選択処理を行う。
At S530, a pixel selection process for selecting the head pixel position (0, 0) is performed.

【0169】当該画素選択処理では、図12を参照して
説明した画素選択処理と同一の処理を行う。その結果、
S1114〜S1116にて、先頭演算素子400
(0,0)にのみ乗算結果(1)が設定され、他の演算
素子400では、乗算結果(0)が設定される。
In the pixel selection processing, the same processing as the pixel selection processing described with reference to FIG. 12 is performed. as a result,
In S1114 to S1116, the top processing element 400
The multiplication result (1) is set only in (0, 0), and the multiplication result (0) is set in other arithmetic elements 400.

【0170】画素選択処理(S530)が終了すると、
S532に移行する(図16)。S532では、画素選
択処理(S530)にて得られた乗算結果を、レジスタ
マトリックス401からAラッチ402に転送する。次
に、総和演算処理(S520)にて最終的に求められた
総和演算結果を、やはりレジスタマトリックス401か
らBラッチ403に転送する(S534)。ついで、A
LU404にて、Aラッチ402の値とBラッチ403
の値の乗算を行う(S536)。この結果、先頭アドレ
ス(0,0)の演算素子400には、総和演算結果ΣΣ
y・I(x、y)と(1)との乗算結果として、y方向
モーメント総和ΣΣy・I(x、y)が求められる。一
方、他の演算素子400では、総和演算結果と0(ゼ
ロ)との乗算の結果として、ゼロ(0)が得られる。次
に、S538にて、当該乗算結果をレジスタマトリック
ス401に格納し、S540にて、当該乗算結果を、レ
ジスタマトリックス401の出力アドレス「28」より
出力バス155に出力する。この結果、全演算素子40
0でのS536の乗算結果が出力バス155に出力され
ることになる。ここで、先頭位置の演算素子400
(0,0)のみが乗算結果としてy方向モーメント総和
ΣΣy・I(x、y)を出力し、残りの全ての演算素子
は乗算結果としてゼロ(0)を出力する。したがって、
出力バス155は、これら全演算素子400からの演算
結果のOR論理演算結果たるy方向モーメント総和ΣΣ
y・I(x、y)を制御回路15に転送することにな
る。
When the pixel selection processing (S530) ends,
The process moves to S532 (FIG. 16). In S532, the multiplication result obtained in the pixel selection processing (S530) is transferred from the register matrix 401 to the A latch 402. Next, the sum operation result finally obtained in the sum operation processing (S520) is also transferred from the register matrix 401 to the B latch 403 (S534). Then, A
In the LU 404, the value of the A latch 402 and the value of the B latch 403
Is multiplied (S536). As a result, the arithmetic element 400 at the start address (0, 0) has the sum operation result ΣΣ
As a result of multiplication of y · I (x, y) and (1), the y-direction total moment ΣΣy · I (x, y) is obtained. On the other hand, in another arithmetic element 400, zero (0) is obtained as a result of multiplication of the sum operation result and 0 (zero). Next, in S538, the multiplication result is stored in the register matrix 401, and in S540, the multiplication result is output to the output bus 155 from the output address “28” of the register matrix 401. As a result, all operation elements 40
The result of the multiplication of S536 at 0 will be output to the output bus 155. Here, the operation element 400 at the head position
Only (0,0) outputs the sum of moments in the y direction ΣΣy · I (x, y) as the multiplication result, and all the remaining arithmetic elements output zero (0) as the multiplication result. Therefore,
The output bus 155 provides a sum of moments in the y direction, which is an OR logical operation result of the operation results from all the operation elements 400.
y · I (x, y) is transferred to the control circuit 15.

【0171】なお、x/yデータバス17が双方向性の
ものである場合には、S540では、乗算結果を、x/
yデータバス17を介して制御回路15へ出力してもよ
い。具体的には、S540では、乗算結果を、レジスタ
マトリックス401のアドレス「30」または「31」
より、x/yデータバス17に出力する。CPU150
は、演算素子400(0,0)に対応するデータライン
170x=0を介してy方向モーメント総和ΣΣy・I
(x、y)を受け取る。
When the x / y data bus 17 is bidirectional, in S540, the multiplication result is expressed as x / y data bus.
The data may be output to the control circuit 15 via the y data bus 17. Specifically, in S540, the multiplication result is stored in the register matrix 401 at the address “30” or “31”.
Thus, the data is output to the x / y data bus 17. CPU 150
Is the sum of moments in the y-direction ・ y · I via the data line 170 x = 0 corresponding to the arithmetic element 400 (0,0).
(X, y).

【0172】次に、S550において、CPU150
は、当該受け取ったy方向モーメント総和ΣΣy・I
(x、y)を画像強度総和ΣΣI(x、y)で除算する
ことにより、重心のx座標を求める。
Next, in S550, the CPU 150
Is the sum of the received y-direction moments ΣΣy · I
By dividing (x, y) by the total image intensity ΣΣI (x, y), the x coordinate of the center of gravity is obtained.

【0173】以上のように、重心の演算は、並列演算機
構14と制御回路15とで分担して行われる。すなわ
ち、並列演算機構14が、並列性の高い総和演算及びモ
ーメント演算を行い、制御回路15が、モーメント演算
結果と総和演算結果に基づく割り算を行うことで、効率
よく、x方向/y方向の重心を求めるようになってい
る。
As described above, the calculation of the center of gravity is performed by the parallel operation mechanism 14 and the control circuit 15 in a shared manner. That is, the parallel operation mechanism 14 performs the sum operation and the moment operation with high parallelism, and the control circuit 15 performs the division based on the moment operation result and the sum operation result. Is to be asked.

【0174】本システムの並列演算方法は、すべての演
算素子において同等の演算を行うSIMDと呼ばれる方
式であるが、場合によっては、各画素ごとに違う演算を
させたり、ある画素のみに特別な演算を行わせることが
できれば、より柔軟性のある処理が可能となる。ここ
で、本実施形態によれば、x/yデータバス17を利用
することで、各演算素子400に対して異なった演算を
行わせることが可能となっている。x/yデータバス1
7を用いて、各演算素子400に演算制御データを転送
することができるからである。
The parallel operation method of the present system is a method called SIMD in which the same operation is performed in all operation elements. However, in some cases, a different operation is performed for each pixel, or a special operation is performed only for a certain pixel. Can be performed, more flexible processing becomes possible. Here, according to the present embodiment, by using the x / y data bus 17, it is possible to cause each arithmetic element 400 to perform a different arithmetic operation. x / y data bus 1
This is because arithmetic control data can be transferred to each arithmetic element 400 by using.

【0175】例えば、ある画素のみに特別な演算を行わ
せたい場合、xデータライン170xとyデータライン
180yにより目的の画素(例えば、(x1,y1))
を指定すべく、xデータライン170x1とyデータラ
イン180y1に1を転送し他には0を転送し、この値
と演算素子400が保持している値を掛け合わせた後に
画像処理演算を行えば、位置(x1,y1)の演算素子
400のみで画像処理演算がなされることになる。
For example, when it is desired to perform a special operation only on a certain pixel, the target pixel (for example, (x1, y1)) is set by the x data line 170x and the y data line 180y.
Is transferred to the x data line 170x1 and the y data line 180y1 and 0 is transferred to the other, and this value is multiplied by the value held by the arithmetic element 400, and then the image processing operation is performed. , Image processing operation is performed only by the operation element 400 at the position (x1, y1).

【0176】具体的には、図8の画像処理工程S110
において、図17のような所望位置演算処理(S60
0)を行うことが可能である。
More specifically, the image processing step S110 in FIG.
In FIG. 17, a desired position calculation process as shown in FIG.
0) can be performed.

【0177】なお、所望位置演算処理(S600)がス
タートした際には、入力画像Dの各画素の画像データI
(x、y)は、既に、S104(図8)にて、転送用シ
フトレジスタ410から各演算素子400(x、y)の
レジスタマトリックス401へ転送され、当該レジスタ
マトリックス401のある領域へ格納されている。
When the desired position calculation processing (S600) starts, the image data I of each pixel of the input image D
(X, y) is already transferred from the transfer shift register 410 to the register matrix 401 of each arithmetic element 400 (x, y) in S104 (FIG. 8) and stored in a certain area of the register matrix 401. ing.

【0178】当該所望位置演算処理(S600)では、
まず、S610において、所望の画素位置(x1、y
1)を選択するための画素選択処理を行う。当該画素選
択処理(S610)では、当該所望の画素位置(x1,
y1)を選択するよう、図12を参照して説明した画素
選択処理を行う。
In the desired position calculation processing (S600),
First, in S610, a desired pixel position (x1, y
A pixel selection process for selecting 1) is performed. In the pixel selection processing (S610), the desired pixel position (x1,
The pixel selection process described with reference to FIG. 12 is performed so as to select y1).

【0179】具体的には、CPU150は、S1102
〜S1104において、目的のxアドレスx1のx方向
データライン170x(x=x1)にデータ(1)を転
送し、残りの全てのx方向データライン170x(x≠
x1)にデータ(0)を転送し、全演算素子400に対
し、レジスタアドレス「31」の入力データ(xデータ
ライン170xからの転送データ)を格納させる。こう
して、全演算素子400のうち、xアドレスがx1の演
算素子400(x1,y)(0≦y≦N―1)にのみデ
ータ(1)をセットし、それ以外の演算素子400にデ
ータ(0)をセットする。
Specifically, the CPU 150 determines in step S1102
In steps S1104 to S1104, the data (1) is transferred to the x-direction data line 170x (x = x1) of the target x address x1, and all the remaining x-direction data lines 170x (x ≠
The data (0) is transferred to x1), and the input data of the register address “31” (the transfer data from the x data line 170x) is stored in all the arithmetic elements 400. In this way, among all the operation elements 400, the data (1) is set only in the operation element 400 (x1, y) (0 ≦ y ≦ N−1) having the x address x1, and the data (1) is set in the other operation elements 400. Set 0).

【0180】次に、S1108〜S1110において、
目的のyアドレスy1のy方向データライン180y
(y=y1)にデータ(1)を転送し、残りの全てのy
方向データライン180y(y≠x1)にデータ(0)
を転送する。すなわち、y方向データライン180y
(y=y1)に接続されているx方向データライン17
0x(x=y1)を介してy方向データライン180y
(y=y1)にデータ(1)を転送し、残りの全てのx
方向データライン170x(x≠y1)を介してy方向
データライン180y(y≠y1)にデータ(0)を転
送する。さらに、全演算素子400に対し、レジスタア
ドレス「30」の入力データ(yデータライン170y
からの転送データ)を格納させる。こうして、全演算素
子400のうち、yアドレスがy1の演算素子400
(x,y1)(0≦x≦N―1)にのみデータ(1)を
セットし、それ以外の演算素子400にデータ(0)を
セットする。
Next, in S1108 to S1110,
Y-direction data line 180y of target y address y1
(Y = y1), and transfer data (1) to all remaining y
Data (0) on the direction data line 180y (y ≠ x1)
To transfer. That is, the y-direction data line 180y
X-direction data line 17 connected to (y = y1)
0x (x = y1) via y-direction data line 180y
(Y = y1) and transfer the data (1) to all the remaining x
The data (0) is transferred to the y-direction data line 180y (y ≠ y1) via the direction data line 170x (x ≠ y1). Further, the input data of the register address “30” (y data line 170 y
(Transfer data from the server). In this way, of all the operation elements 400, the operation element 400 having the y address y1
Data (1) is set only in (x, y1) (0 ≦ x ≦ N−1), and data (0) is set in other arithmetic elements 400.

【0181】ついで、各演算素子400(x、y)に
て、上記x方向データライン170xからの転送データ
とy方向データライン180yからの転送データとの乗
算を行い(S1114)、乗算結果をレジスタマトリッ
クス401に格納して(S1116)、画素選択処理
(S610)を終了する。この結果、所望のアドレス
(x1,y1)の演算素子400(x1,y1)のみで
乗算結果が1となり、それ以外の演算素子400では乗
算結果は0となる。
Next, in each of the arithmetic elements 400 (x, y), the transfer data from the x-direction data line 170x is multiplied by the transfer data from the y-direction data line 180y (S1114). The result is stored in the matrix 401 (S1116), and the pixel selection processing (S610) ends. As a result, the multiplication result is 1 only in the arithmetic element 400 (x1, y1) of the desired address (x1, y1), and the multiplication result is 0 in the other arithmetic elements 400.

【0182】選択処理(S610)が終了すると、S6
12に移行する(図17)。S612では、上記画素選
択処理(S610)の乗算結果をレジスタマトリックス
401からAラッチ402に転送する。次に、演算に供
しようとする目的のデータ(例えば、画像データI
(x、y))を、レジスタマトリックス401からBラ
ッチ403に転送し(S614)、Aラッチ402の値
とBラッチ403の値の乗算を行う(S616)。この
結果、目的の画素位置(x1,y1)の演算素子400
でのみ目的データそのものが得られ、それ以外の演算素
子400では、ゼロ(0)データが得られる。当該乗算
結果をレジスタマトリックス401に格納した(S61
8)のち、S620にて、当該乗算結果に対する所望の
演算処理を行う。具体的には、S616の乗算結果をレ
ジスタマトリックス401からAラッチ402またはB
ラッチ403に転送し、ALU404により所定の演算
処理を行う。この結果、目的の画素位置(x1,y1)
のみで、目的のデータに対する演算処理が行われ、当該
画素位置以外では、ゼロ(0)データに対して演算処理
が行われることになる。演算結果は、出力バス155を
介して制御回路15に出力される。S620で行われる
演算としては、エッジ抽出処理等様々な演算処理を行う
ことができる。
When the selection processing (S610) is completed, S6
The process proceeds to FIG. 12 (FIG. 17). In S612, the multiplication result of the above-described pixel selection processing (S610) is transferred from the register matrix 401 to the A latch 402. Next, target data to be subjected to the calculation (for example, image data I
(X, y)) is transferred from the register matrix 401 to the B latch 403 (S614), and the value of the A latch 402 and the value of the B latch 403 are multiplied (S616). As a result, the arithmetic element 400 at the target pixel position (x1, y1)
, The target data itself is obtained, and the other arithmetic elements 400 obtain zero (0) data. The multiplication result is stored in the register matrix 401 (S61
8) After that, in S620, desired arithmetic processing is performed on the multiplication result. More specifically, the multiplication result of S616 is stored in the register
The data is transferred to the latch 403, and a predetermined arithmetic processing is performed by the ALU 404. As a result, the target pixel position (x1, y1)
The arithmetic processing is performed only on the target data, and the arithmetic processing is performed on the zero (0) data at positions other than the pixel position. The calculation result is output to the control circuit 15 via the output bus 155. As the operation performed in S620, various operation processes such as an edge extraction process can be performed.

【0183】なお、S620では、演算を行わず、S6
16で得られた乗算結果を、そのまま、制御回路15に
出力しても良い。すなわち、出力アドレス「28」から
出力バス155を介して出力したり、アドレス「30」
または「31」からx/yデータバス17を介して出力
すればよい。このようにすれば、所望のアドレス(x
1,y1)で得られた所望のデータ(例えば、画像デー
タI(x、y))のみを制御回路15に出力することが
できる。
In S620, no operation is performed.
The multiplication result obtained in 16 may be output to the control circuit 15 as it is. That is, output from the output address “28” via the output bus 155 or address “30”
Alternatively, the data may be output from “31” via the x / y data bus 17. By doing so, the desired address (x
Only the desired data (for example, image data I (x, y)) obtained in (1, y1) can be output to the control circuit 15.

【0184】また、上記所望位置演算処理(S600)
を、その演算処理(S620)の内容を変更しつつ個々
の演算素子(画素)を選択しながら行えば、個々の演算
素子に異なった演算処理を実行させることもできる。
The desired position calculation processing (S600)
Is performed while selecting the individual arithmetic elements (pixels) while changing the contents of the arithmetic processing (S620), the individual arithmetic elements can execute different arithmetic processing.

【0185】さらに、画素選択処理(S610)では、
単一の画素のみを選択せず、複数の画素を選択するよう
にしてもよい。例えば、当該複数の画素のxアドレス及
びyアドレスに対応するx方向データライン170xと
y方向データライン180yにデータ(1)を転送し、
それ以外のデータラインにデータ(0)を転送するよう
にしてもよい。選択された複数の画素のみで、S111
4(図12)の乗算結果が1となり、その結果、S61
6(図17)での乗算結果として目的データが得られ
る。従って、S620では、当該選択された複数の画素
において目的のデータに対する所望の演算を行うことが
できる。
Further, in the pixel selection processing (S610),
Instead of selecting only a single pixel, a plurality of pixels may be selected. For example, the data (1) is transferred to the x-direction data line 170x and the y-direction data line 180y corresponding to the x address and the y address of the plurality of pixels,
Data (0) may be transferred to other data lines. S111 using only a plurality of selected pixels
4 (FIG. 12) becomes 1, and as a result, S61
6 (FIG. 17), the target data is obtained as a result of the multiplication. Therefore, in S620, a desired operation on target data can be performed in the selected pixels.

【0186】さらに、画素選択処理(S610)では、
一つの列または行に属する全画素を選択するようにして
もよい。
Further, in the pixel selection processing (S610),
All pixels belonging to one column or row may be selected.

【0187】一つの列に属する全画素を選択するために
は、画素選択処理(S610)では、図18に示すよう
に、S1102〜S1104のみの工程を行うようにす
れば良い。この場合には、CPU150は、S1102
にて、選択しようとする列のxアドレスに対応するx方
向データライン170xにデータ(1)を転送し、それ
以外のデータラインにデータ(0)を転送する。各演算
素子400は、S1104にて、レジスタアドレス「3
1」からデータを格納することによって、x方向データ
ライン170xからの転送データを格納する。この結
果、選択された列の全画素に1が設定され、他の列の画
素には0が設定されることになる。S612においてこ
の設定データをAラッチに転送することによって、S6
16(図17)では、選択された列の全画素で、乗算結
果として目的データが得られる。従って、S620で
は、当該選択された列の全画素において目的のデータに
対する所望の演算を行うことができる。
In order to select all pixels belonging to one column, in the pixel selection processing (S610), only steps S1102 to S1104 may be performed as shown in FIG. In this case, the CPU 150 determines in S1102
Then, data (1) is transferred to the x-direction data line 170x corresponding to the x address of the column to be selected, and data (0) is transferred to the other data lines. In S1104, each arithmetic element 400 registers the register address “3”.
By storing the data from "1", the transfer data from the x-direction data line 170x is stored. As a result, 1 is set to all the pixels in the selected column, and 0 is set to the pixels in the other columns. By transferring this setting data to the A latch in S612, S6
In 16 (FIG. 17), the target data is obtained as a multiplication result for all the pixels in the selected column. Therefore, in S620, a desired operation on target data can be performed for all pixels in the selected column.

【0188】また、一つの行に属する全画素を選択する
ためには、画素選択処理(S610)では、図19に示
すように、S1108〜S1110のみの工程を行うよ
うにすれば良い。この場合には、CPU150は、S1
108にて、選択しようとする行のyアドレスに対応す
るy方向データライン180yにデータ(1)を転送
し、それ以外のデータラインにデータ(0)を転送す
る。各演算素子400は、S1110にて、レジスタア
ドレス「30」からデータを格納することによって、y
方向データライン180yからの転送データを格納す
る。この結果、選択された行の全画素に1が設定され、
他の行の画素には0が設定されることになる。S612
においてこの設定データをAラッチに転送することによ
って、S616(図17)では、選択された行の全画素
で、乗算結果として目的データが得られる。従って、S
620では、当該選択された行の全画素において目的の
データに対する所望の演算を行うことができる。
In order to select all pixels belonging to one row, in the pixel selection processing (S610), only steps S1108 to S1110 may be performed as shown in FIG. In this case, the CPU 150
At 108, data (1) is transferred to the y-direction data line 180y corresponding to the y address of the row to be selected, and data (0) is transferred to the other data lines. Each of the arithmetic elements 400 stores the data from the register address “30” in S1110, so that y
The transfer data from the direction data line 180y is stored. As a result, 1 is set to all pixels in the selected row,
0 is set to the pixels in the other rows. S612
In step S616 (FIG. 17), the target data is obtained as a multiplication result for all the pixels in the selected row. Therefore, S
At 620, a desired operation on the target data can be performed for all pixels in the selected row.

【0189】また、x/yデータバス17を用いること
で、全演算素子400で所定の演算を行なった後、ある
1つの演算素子400のレジスタマトリックス401の
中身(演算結果)だけを選択的に取り出すことも可能で
ある。
Further, by using the x / y data bus 17, after performing a predetermined operation in all the operation elements 400, only the contents (operation result) of the register matrix 401 of one operation element 400 are selectively selected. It is also possible to take it out.

【0190】具体的には、図8の画像処理工程S110
において、図20のような演算―抽出処理(S650)
を行うことが可能である。
More specifically, the image processing step S110 in FIG.
In FIG. 20, an operation-extraction process as shown in FIG. 20 (S650)
It is possible to do.

【0191】なお、演算―抽出処理(S650)がスタ
ートした際には、入力画像Dの各画素の画像データI
(x、y)は、既に、S104(図8)にて、転送用シ
フトレジスタ410から各演算素子400(x、y)の
レジスタマトリックス401へ転送され、当該レジスタ
マトリックス401のある領域へ格納されている。
When the operation-extraction process (S650) starts, the image data I of each pixel of the input image D
(X, y) is already transferred from the transfer shift register 410 to the register matrix 401 of each arithmetic element 400 (x, y) in S104 (FIG. 8) and stored in a certain area of the register matrix 401. ing.

【0192】当該演算―抽出処理(S650)では、ま
ず、S660において、各演算素子400に、画像デー
タI(x、y)に対する所望の演算を行わせる。当該所
望の演算としては、エッジ抽出処理等、様々な演算処理
が考えられる。
In the calculation-extraction process (S650), first, in S660, the respective calculation elements 400 are caused to perform a desired calculation on the image data I (x, y). As the desired calculation, various calculation processes such as an edge extraction process can be considered.

【0193】次に、目的の画素位置(x1,y1)を選
択するための画素選択処理(S680)を行う。当該画
素選択処理(S680)では、図12を参照して説明し
た画素選択処理を目的の画素(x1,y1)に対して行
う。この結果、目的の演算素子400(x1,y1)の
みでS1114の乗算結果として(1)が設定され、そ
れ以外の演算素子400ではS1114の乗算結果とし
て(0)が設定される。
Next, a pixel selection process (S680) for selecting a target pixel position (x1, y1) is performed. In the pixel selection processing (S680), the pixel selection processing described with reference to FIG. 12 is performed on the target pixel (x1, y1). As a result, (1) is set as the multiplication result of S1114 only in the target operation element 400 (x1, y1), and (0) is set as the multiplication result of S1114 in the other operation elements 400.

【0194】選択処理(S680)が終了すると、S6
82に移行する(図20)。S682では、上記画素選
択処理(S680)の乗算結果をレジスタマトリックス
401からAラッチ402に転送する。次に、抽出した
い目的のデータ(S660の演算結果)を、レジスタマ
トリックス401からBラッチ403に転送し(S68
4)、Aラッチ402の値とBラッチ403の値の乗算
を行う(S686)。この結果、目的の画素位置(x
1,y1)の演算素子400でのみ演算結果データその
ものが得られ、それ以外の演算素子400では、ゼロ
(0)データが得られる。この乗算結果をレジスタマト
リックス401に格納した(S688)のち、S690
にて、出力アドレス「28」から出力バス155へ出力
する。全演算素子400からS686の乗算結果が出力
バス15に出力される結果、これら全演算素子の乗算結
果のOR論理演算出力として、目的の画素400(x
1,y1)における演算結果が、制御回路15に出力さ
れることになる。なお、S690では、アドレス「3
0」または「31」を介してx/yデータバス17へ出
力するようにしてもいい。制御回路15は、目的の画素
400(x1,y1)の座標x1またはy1に対応する
xデータライン170x(x=x1またはy1)より、
演算結果を受け取ることができる。
When the selection processing (S680) is completed, S6
The process moves to 82 (FIG. 20). In S682, the multiplication result of the pixel selection processing (S680) is transferred from the register matrix 401 to the A latch 402. Next, the target data to be extracted (the operation result in S660) is transferred from the register matrix 401 to the B latch 403 (S68).
4) The value of the A latch 402 is multiplied by the value of the B latch 403 (S686). As a result, the target pixel position (x
The operation result data itself is obtained only by the operation element 400 of (1, y1), and zero (0) data is obtained by the other operation elements 400. After the multiplication result is stored in the register matrix 401 (S688), S690
At the output address "28" to the output bus 155. As a result of the multiplication result of S686 being output to the output bus 15 from all the operation elements 400, the target pixel 400 (x
The calculation result in (1, y1) is output to the control circuit 15. At S690, the address “3”
The data may be output to the x / y data bus 17 via “0” or “31”. The control circuit 15 obtains an x data line 170x (x = x1 or y1) corresponding to the coordinates x1 or y1 of the target pixel 400 (x1, y1).
Operation results can be received.

【0195】さらに、画素選択処理(S680)では、
単一の画素のみを選択せず、複数の画素を選択するよう
にしてもよい。例えば、当該複数の画素のxアドレス及
びyアドレスに対応するx方向データライン170xと
y方向データライン180yにデータ(1)を転送し、
それ以外のデータラインにデータ(0)を転送するよう
にしてもよい。選択された複数の画素のみで、S111
4(図12)の乗算結果が1となり、その結果、S68
6(図20)での乗算結果として演算結果データそのも
のが得られる。従って、S690では、当該選択された
複数の画素から、演算結果データが出力される。
Further, in the pixel selection processing (S680),
Instead of selecting only a single pixel, a plurality of pixels may be selected. For example, the data (1) is transferred to the x-direction data line 170x and the y-direction data line 180y corresponding to the x address and the y address of the plurality of pixels,
Data (0) may be transferred to other data lines. S111 using only a plurality of selected pixels
4 (FIG. 12) becomes 1, and as a result, S68
6 (FIG. 20), the operation result data itself is obtained as the multiplication result. Therefore, in S690, the operation result data is output from the selected plurality of pixels.

【0196】ここで、画素選択処理(S680)では、
一つの列または行に属する全画素を選択するようにして
もよい。
Here, in the pixel selection processing (S680),
All pixels belonging to one column or row may be selected.

【0197】すなわち、画素選択処理(S680)で
は、図18のように、S1102〜S1104の工程の
みを実行するようにしても良い。この場合には、CPU
150は、S1102にて、選択しようとする列のxア
ドレスに対応するx方向データライン170xにデータ
(1)を転送し、それ以外のデータラインにデータ
(0)を転送する。各演算素子400は、レジスタアド
レス「31」からデータを格納することによって、x方
向データライン170xからの転送データを格納する。
この結果、選択された列の全画素に1が設定され、他の
列の画素には0が設定されることになる。S682にお
いてこの設定データをAラッチに転送することによっ
て、S686(図20)では、選択された列の全画素
で、乗算結果として演算結果データそのものが得られ
る。従って、S690では、当該選択された列の全画素
から演算結果データが出力される。この場合、各演算素
子400は、互いに異なるyデータライン180yに接
続されている。したがって、各演算素子400は、演算
結果データを、そのレジスタアドレス「30」を介して
対応するyデータライン180yを介して出力すればよ
い。制御回路15は、各yデータライン180yが接続
されている対応するxデータライン170xを介して、
各演算素子400からの演算結果データを取得すること
ができる。
That is, in the pixel selection processing (S680), only the steps of S1102 to S1104 may be executed as shown in FIG. In this case, the CPU
150 transfers the data (1) to the x-direction data line 170x corresponding to the x address of the column to be selected in S1102, and transfers the data (0) to the other data lines. Each arithmetic element 400 stores transfer data from the x-direction data line 170x by storing data from the register address "31".
As a result, 1 is set to all the pixels in the selected column, and 0 is set to the pixels in the other columns. By transferring the setting data to the A latch in S682, in S686 (FIG. 20), the operation result data itself is obtained as a multiplication result for all the pixels in the selected column. Therefore, in S690, the operation result data is output from all the pixels in the selected column. In this case, each arithmetic element 400 is connected to a different y data line 180y. Therefore, each arithmetic element 400 only needs to output the operation result data via the corresponding y data line 180y via its register address "30". The control circuit 15 communicates via a corresponding x data line 170x to which each y data line 180y is connected,
Operation result data from each operation element 400 can be obtained.

【0198】あるいは、画素選択処理(S680)で
は、図19のように、S1108〜S1110の工程の
みを実行するようにしても良い。この場合には、CPU
150は、S1108にて、選択しようとする行のyア
ドレスに対応するy方向データライン180yにデータ
(1)を転送し、それ以外のデータラインにデータ
(0)を転送する。各演算素子400は、レジスタアド
レス「30」からデータを格納することによって、y方
向データライン180yからの転送データを格納する。
この結果、選択された行の全画素に1が設定され、他の
行の画素には0が設定されることになる。S682にお
いてこの設定データをAラッチに転送することによっ
て、S686(図20)では、選択された行の全画素
で、乗算結果として演算結果データそのものが得られ
る。従って、S690では、当該選択された行の全画素
において演算結果データが出力される。この場合、各演
算素子400は、互いに異なるxデータライン170x
に接続されている。したがって、各演算素子400は、
演算結果データを、そのレジスタアドレス「31」を介
して対応するxデータライン170xを介して出力すれ
ばよい。制御回路15は、各xデータライン170xを
介して、対応する演算素子400からの演算結果データ
を取得することができる。
Alternatively, in the pixel selection process (S680), only steps S1108 to S1110 may be executed as shown in FIG. In this case, the CPU
150 transfers the data (1) to the y-direction data line 180y corresponding to the y address of the row to be selected in S1108, and transfers the data (0) to the other data lines. Each arithmetic element 400 stores the transfer data from the y-direction data line 180y by storing the data from the register address “30”.
As a result, 1 is set to all the pixels in the selected row, and 0 is set to the pixels in the other rows. By transferring this setting data to the A latch in S682, in S686 (FIG. 20), the operation result data itself is obtained as a multiplication result for all the pixels in the selected row. Therefore, in S690, the operation result data is output to all the pixels in the selected row. In this case, each arithmetic element 400 has a different x data line 170x
It is connected to the. Therefore, each arithmetic element 400
The operation result data may be output via the corresponding x data line 170x via the register address "31". The control circuit 15 can acquire operation result data from the corresponding operation element 400 via each x data line 170x.

【0199】さらに、x/yデータバス17として双方
向性のものを使用すれば、例えばある検索画像(m1×
m2画素)を並列演算によって探したい場合に、制御装
置15は、一致信号が得られた位置をx/yデータバス
17を通じて高速に確認できる。
Furthermore, if a bidirectional bus is used as the x / y data bus 17, for example, a certain search image (m1 ×
When it is desired to search for (m2 pixels) by parallel operation, the control device 15 can quickly confirm the position where the coincidence signal is obtained through the x / y data bus 17.

【0200】当該画像検索の具体例を以下説明する。A specific example of the image search will be described below.

【0201】この検索は、検索パターンPが入力画像D
(=I(x,y)、ここで、0≦x≦N―1、0≦y≦
N―1)内にあるか、あるとすればいずれの位置にある
かを見つける作業である。マッチングのアルゴリズムに
は多くの研究例があるが、ここでは、最も簡単な次の計
算式で示される画像間の距離ERROR(p,q)が、ある
しきい値より小さい時に同一画像とみなすアルゴリズム
を用いるものとする。ここで、(p,q)は、画像D内
の基準画素(x、y)の位置である。
In this search, when the search pattern P is the input image D
(= I (x, y), where 0 ≦ x ≦ N−1, 0 ≦ y ≦
This is an operation to find out whether the position is within N-1) or, if any, at which position. There are many research examples of matching algorithms. Here, the algorithm that considers the same image when the distance ERROR (p, q) between images represented by the following simplest formula is smaller than a certain threshold value is used. Shall be used. Here, (p, q) is the position of the reference pixel (x, y) in the image D.

【0202】[0202]

【数2】 (Equation 2)

【0203】このアルゴリズムに基づく検索処理(S7
00)のフローチャートを図21に示し、同図を参照し
つつデータ処理の流れを以下に説明する。
The search processing based on this algorithm (S7
00) is shown in FIG. 21, and the flow of data processing will be described below with reference to FIG.

【0204】ここで、この検索処理(S700)も、図
8の画像処理工程S110において実行されるものであ
る。また、各画素(x、y)を、それぞれ、画像検索の
基準位置(p、q)とする。さらに、検索画像Pの画像
データP(i,j)(0≦i≦m1―1,0≦j≦m2
―1)は、制御回路15のメモリ151に格納されてい
る。
Here, this search processing (S700) is also executed in the image processing step S110 of FIG. Further, each pixel (x, y) is set as a reference position (p, q) for image search. Further, image data P (i, j) of the search image P (0 ≦ i ≦ m1-1, 0 ≦ j ≦ m2
-1) is stored in the memory 151 of the control circuit 15.

【0205】なお、検索処理(S700)がスタートし
た際、入力画像Dの各画素の画像データI(x、y)
(以下、I(p、q)という)は、既に、S104(図
8)にて、転送用シフトレジスタ410から各演算素子
400(x、y)(以下、400(p、q)という)の
レジスタマトリックス401へ転送され、当該レジスタ
マトリックス401のある領域へ格納されている。
When the search processing (S700) starts, the image data I (x, y) of each pixel of the input image D
(Hereinafter, I (p, q)) has already been transferred from the transfer shift register 410 to each arithmetic element 400 (x, y) (hereinafter, 400 (p, q)) in S104 (FIG. 8). The data is transferred to the register matrix 401 and stored in a certain area of the register matrix 401.

【0206】検索処理(S700)では、CPU150
は、まず、ステップS702において、初期状態を設定
する。具体的には、検索パターンP中のマッチング検出
位置(i,j)に先頭位置(0,0)を設定し、各演算
素子400(p、q)のレジスタマトリックス401に
格納しようとする計算結果Er(p,q)をリセットす
る。
In the search processing (S700), the CPU 150
First, in step S702, an initial state is set. Specifically, the head position (0, 0) is set at the matching detection position (i, j) in the search pattern P, and the calculation result to be stored in the register matrix 401 of each arithmetic element 400 (p, q) Er (p, q) is reset.

【0207】ステップS703で、検索パターンP内の
現在の検出位置(i,j)(ここでは、先頭位置(0,
0))の画像データP(i,j)をメモリ151から読
みだし、x/yデータバス17を介して、各演算素子4
00へと転送する。
In step S703, the current detection position (i, j) in the search pattern P (here, the head position (0,
0)) is read out from the memory 151, and is read via the x / y data bus 17 to each of the arithmetic elements 4 (i, j).
Transfer to 00.

【0208】ステップS704においては、各演算素子
400(p、q)において、レジスタマトリックス40
1のある領域に格納されている当該画素の画像データI
(p,q)と検索パターンのマッチング検出位置の画像
データP(i,j)との差の絶対値を求め、Er(p,
q)に加算する。ここでは、具体的には、画像データI
(p,q)と検索画像の先頭位置の画像データP(0,
0)との差の絶対値を求め、レジスタマトリックス40
1の別の領域を割り当ててEr(p,q)として格納す
る。
In step S704, in each of the arithmetic elements 400 (p, q), the register matrix 40
1 of the pixel stored in a certain area
The absolute value of the difference between (p, q) and the image data P (i, j) at the matching detection position of the search pattern is obtained, and Er (p,
q). Here, specifically, the image data I
(P, q) and the image data P (0,
0) and the absolute value of the difference
One other area is allocated and stored as Er (p, q).

【0209】ステップS705では、CPU150は、
検出位置(i,j)が最終位置(m1―1,m2―1)
に到達しているか否かを判定する。ここでは、検出位置
(i,j)は、まだ先頭位置(0,0)なので、最終位
置には到達しておらず(ステップ705でNo)、ステ
ップS706へと移行する。ステップS706では、i
≠m1の場合は、iの値のみを1増加させ、i=m1―
1の場合は、x方向の端に達したとしてiを0にリセッ
トし、jの値を1増加させる。ここでは、i=0、j=
0の場合なので、i=1、j=0へと更新される。そし
て、ステップS707では、位置(p+i,q+j)の
画像データ、ここでは、位置(p+1,q)の画像デー
タI(p+1,q)を、演算素子400(p、q)のレ
ジスタマトリックス401に転送する。具体的には、レ
ジスタマトリックス401の近傍転送機能を利用して、
隣の画素400(p+1,q)に格納されている画像デ
ータ値I(p+1,q)を、当該画素400(p、q)
の空いている領域に転送することでこの転送は行われ
る。
[0209] In step S705, the CPU 150
The detection position (i, j) is the final position (m1-1, m2-1)
Is determined. Here, since the detection position (i, j) is still the head position (0, 0), it has not reached the final position (No in Step 705), and the process proceeds to Step S706. In step S706, i
In the case of ≠ m1, only the value of i is increased by 1, and i = m1−
If it is 1, i is reset to 0 on the assumption that it has reached the end in the x direction, and the value of j is increased by 1. Here, i = 0, j =
Since it is 0, it is updated to i = 1 and j = 0. Then, in step S707, the image data at the position (p + i, q + j), here, the image data I (p + 1, q) at the position (p + 1, q) is transferred to the register matrix 401 of the arithmetic element 400 (p, q). I do. Specifically, using the neighborhood transfer function of the register matrix 401,
The image data value I (p + 1, q) stored in the adjacent pixel 400 (p + 1, q) is converted to the pixel 400 (p, q).
This transfer is performed by transferring to an empty area.

【0210】転送が終了したら、ステップS703に戻
り、CPU150は、検索パターンP内の現在の検出位
置(i,j)(ここでは、位置(1,0))の画像デー
タP(i,j)をメモリ151から読みだし、x/yデ
ータバス17を介して、各演算素子400(p、q)へ
と転送する。ステップS704において、各演算素子4
00(p、q)は、現在レジスタマトリックス401に
格納されている隣接画素の画像データI(p+1,q)
と検索パターンの現在のマッチング検出位置の画像デー
タP(i,j)との差の絶対値を求め、Er(p,q)
に加算する。検出位置(i、j)が最終位置(m1―
1,m2―1)に到達していないので(S705でN
o)、S706に進み、検出位置(i,j)を更新す
る。
[0210] When the transfer is completed, the process returns to step S703, and the CPU 150 returns the image data P (i, j) at the current detection position (i, j) (here, position (1, 0)) in the search pattern P. Is read from the memory 151 and transferred to each of the arithmetic elements 400 (p, q) via the x / y data bus 17. In step S704, each arithmetic element 4
00 (p, q) is the image data I (p + 1, q) of the adjacent pixel currently stored in the register matrix 401
And the absolute value of the difference between the image data P (i, j) at the current matching detection position of the search pattern and Er (p, q)
Is added to. The detection position (i, j) is the final position (m1-
1, m2-1), (N at S705)
o), the process proceeds to S706 and the detection position (i, j) is updated.

【0211】かかる処理(ステップS703〜S70
7)を、検出位置(i、j)が最終位置(m1―1,m
2―1)に到達するまで、繰り返す。
This processing (steps S703 to S70)
7), the detection position (i, j) is the final position (m1-1, m
Repeat until 2-1) is reached.

【0212】このように、ステップS704で繰り返し
加算を行うことにより、各演算素子400(p、q)に
おいて、ERROR(p,q)を求めることができる。
As described above, by repeatedly performing the addition in step S704, ERROR (p, q) can be obtained in each arithmetic element 400 (p, q).

【0213】また、ステップS707による転送は、レ
ジスタマトリックス401の転送機能を利用して、x方
向、y方向にそれぞれ順次隣の画素に転送していくこと
で転送を行えばよい。
The transfer in step S707 may be performed by using the transfer function of the register matrix 401 and sequentially transferring the pixels to adjacent pixels in the x and y directions.

【0214】検出位置が最終位置(m1,m2)に達
し、ERROR(p,q)が求まると、ステップS705
(S705でYes)からステップS708へと移行す
る。ステップS708においては、CPU150は、閾
値Ethを設定し、ステップS709で、設定した閾値E
thデータを、x/yデータバス17を介して、各演算素
子400へと転送する。
When the detected position reaches the final position (m1, m2) and ERROR (p, q) is obtained, step S705 is performed.
The process moves from (Yes in S705) to step S708. In step S708, the CPU 150 sets the threshold value E th , and in step S709, the set threshold value E th
The th data is transferred to each arithmetic element 400 via the x / y data bus 17.

【0215】各演算素子400(p、q)は、ステップ
S710で、閾値Ethと求めたERROR(p,q)、つま
り、Er(p,q)とを比較する。具体的には、各演算
素子400は、ERROR(p,q)−閾値Ethの演算を行
い、この結果のサインビット(正負の符号)のビット
を、比較結果として出力する。すなわち、Er(p,
q)が閾値Eth以下の場合は、ステップS711に移行
する。ステップS711では、第1のタイミングで、レ
ジスタアドレス「31」を介して1を出力し、第二のタ
イミングで、レジスタアドレス「30」を介して1を出
力する。一方、Er(p,q)が閾値Ethより大きい場
合は、ステップS712に移行する。ステップS712
では、上記第1のタイミングで、レジスタアドレス「3
1」を介して0を出力し、上記第二のタイミングで、レ
ジスタアドレス「30」を介して0を出力する。こうし
て、各演算素子400は、これら出力データを、x/y
データバス17に出力する。CPU150は、これらx
/yデータバス17からの出力信号の総和をとること
で、1を出力した演算素子400の個数をカウントす
る。すなわち、上記第1のタイミングでは、1を出力し
た演算素子400が接続されているxデータライン17
0xに1が現れる。また、第2のタイミングでは、1を
出力した演算素子400が接続されているyデータライ
ン180yに接続されたxデータライン170x(x=
y)に1が現れる。したがって、これら第1及び第2の
タイミングにおける全xデータライン170xの出力信
号の総和をとることで、1を出力した演算素子400の
個数をカウントすることができる。
In step S710, each arithmetic element 400 (p, q) compares the threshold value E th with the obtained ERROR (p, q), that is, Er (p, q). Specifically, each arithmetic element 400 calculates ERROR (p, q) -threshold Eth , and outputs the resulting sign bit (positive or negative sign) as a comparison result. That is, Er (p,
If q) is equal to or smaller than the threshold value E th , the process shifts to step S711. In step S711, 1 is output via the register address “31” at the first timing, and 1 is output via the register address “30” at the second timing. On the other hand, if Er (p, q) is larger than the threshold value E th , the process moves to step S712. Step S712
Then, at the first timing, the register address "3
0 is output via "1", and at the second timing, 0 is output via the register address "30". Thus, each arithmetic element 400 converts these output data into x / y
Output to the data bus 17. The CPU 150 calculates these x
By taking the total sum of the output signals from the / y data bus 17, the number of arithmetic elements 400 that output 1 is counted. That is, at the first timing, the x data line 17 to which the arithmetic element 400 that has output 1 is connected is connected.
1 appears at 0x. At the second timing, the x data line 170x (x = x) connected to the y data line 180y to which the arithmetic element 400 that has output 1 is connected is connected.
1 appears in y). Therefore, by taking the sum of the output signals of all the x data lines 170x at the first and second timings, it is possible to count the number of operation elements 400 that output 1.

【0216】ステップS713では、CPU150は、
1を出力した演算素子400の個数を判定し、当該個数
が0の場合は、ステップS714に移行して、マッチン
グ画像なしとの判定結果を出力する。
In step S713, the CPU 150
The number of operation elements 400 that output 1 is determined, and if the number is 0, the process proceeds to step S714 to output a determination result indicating that there is no matching image.

【0217】1を出力した演算素子400の個数が1個
の場合は、第1のタイミングにおいて、単一のデータラ
イン170xのみにおいて1の出力信号が得られてお
り、かつ、第2のタイミングにおいても、単一のデータ
ライン180yに接続された単一のデータライン170
x(x=y)のみにおいて1の出力信号が得られる。し
たがって、CPU150は、S715において、第1の
タイミングで1の出力信号が得られた出力信号線170
xの位置xに基づいて、1を出力した演算素子400の
x座標pを求める。さらに、CPU150は、第2のタ
イミングで1の出力信号が得られた出力信号線170x
の位置xに基づいて、1を出力した演算素子400のy
座標qを求める。こうして、CPU150は、1を出力
した演算素子400の位置データ(p、q)を求める。
When the number of arithmetic elements 400 that output 1 is one, one output signal is obtained only at a single data line 170x at the first timing, and at the second timing, Also a single data line 170 connected to a single data line 180y.
One output signal is obtained only for x (x = y). Therefore, the CPU 150 determines in S715 that the output signal line 170 from which one output signal was obtained at the first timing.
On the basis of the position x of x, the x coordinate p of the arithmetic element 400 that has output 1 is obtained. Further, the CPU 150 outputs the output signal line 170x at which one output signal is obtained at the second timing.
Of the arithmetic element 400 that has output 1 based on the position x of
Find the coordinates q. In this way, the CPU 150 obtains the position data (p, q) of the arithmetic element 400 that has output 1.

【0218】なお、S715では、x/yデータバス1
7の代わりに出力バス155を利用してもよい。すなわ
ち、各演算素子400に対し、S710の判断結果とし
ての出力(0または1)とその位置データ(p、q)と
を乗算させ、その乗算結果を出力バス155に出力させ
るようにしてもよい。この場合、S710の判断結果と
して出力信号1を出力した画素(マッチング位置画素)
のみが、その位置データ(p、q)を出力する。他の画
素は、その出力信号(0)と位置データ(p、q)との
乗算結果である(0)を出力する。したがって、マッチ
ング位置の位置データ(p、q)のみが、出力バス15
5を介して、制御回路15に転送されることになる。か
かる方法によれば、マッチング位置データ(p、q)の
みならず、他のマッチング演算結果(例えば、入力画像
Dと検索パターンPとの差の絶対値等)も制御回路15
に転送させることができる。
Note that in S715, the x / y data bus 1
7, an output bus 155 may be used. That is, each operation element 400 may be multiplied by the output (0 or 1) as the determination result in S710 and the position data (p, q), and the multiplication result may be output to the output bus 155. . In this case, the pixel that has output the output signal 1 as the determination result of S710 (matching position pixel)
Only outputs its position data (p, q). Other pixels output (0) which is a result of multiplication of the output signal (0) and the position data (p, q). Therefore, only the position data (p, q) of the matching position is output bus 15
5 to the control circuit 15. According to such a method, not only the matching position data (p, q) but also other matching calculation results (for example, the absolute value of the difference between the input image D and the search pattern P) are controlled by the control circuit 15.
Can be transferred to

【0219】一方、1を出力した演算素子400の個数
が2個以上あった場合は、ステップS716で閾値Eth
を小さく変更してステップS709に戻り、1を出力し
た演算素子400の個数が1個になるまで閾値Ethを小
さくしていくことで絞り込みを行う。
On the other hand, if the number of arithmetic elements 400 that output 1 is two or more, the threshold value E th is determined in step S716.
Is returned to step S709, and the threshold Eth is reduced until the number of arithmetic elements 400 that output 1 becomes one, thereby narrowing down.

【0220】上記の本実施の形態の高速画像処理装置1
0によれば、画像処理ステップS110においては、上
述の画像処理(図9〜図21)の他、様々な画像処理
(例えば、エッジ抽出、平滑化、細線化、コンボリュー
ション、相関、マスク処理)を行うことができる。本実
施の形態によれば、これら画像処理演算を、完全並列処
理により、非常に高速に行うことができる。したがっ
て、これまでの画像処理装置では演算処理速度、転送速
度が遅いために制限されていたFAロボット制御などの
分野への応用が可能になる。
The high-speed image processing apparatus 1 of the present embodiment described above
According to 0, in the image processing step S110, in addition to the above-described image processing (FIGS. 9 to 21), various image processing (for example, edge extraction, smoothing, thinning, convolution, correlation, and mask processing) It can be performed. According to the present embodiment, these image processing operations can be performed at very high speed by completely parallel processing. Therefore, the conventional image processing apparatus can be applied to fields such as FA robot control, which are limited due to the low processing speed and transfer speed.

【0221】本実施の形態が目指しているのは、実用的
な高速性と十分な解像度を有する画像処理システムであ
る。FAシステムにおけるロボット制御には、受光素子
120を128x128個以上配列する解像度が必要と
される。本実施の形態によれば、受光素子アレイ11と
並列処理機構14を分離でき、それぞれの集積度を高め
られるため、この解像度を十分に実現できる。また、処
理速度の目安としては、ロボットのアクチュエータの速
度(1〜10ミリ秒)が必要である。本実施の形態で
は、この処理速度は、A/D変換器210におけるA/
D変換処理速度によって決まるが、十分に高速化が可能
である。
The object of the present embodiment is an image processing system having practical high speed and sufficient resolution. The robot control in the FA system requires a resolution in which 128 × 128 or more light receiving elements 120 are arranged. According to the present embodiment, the light receiving element array 11 and the parallel processing mechanism 14 can be separated and the degree of integration of each can be increased, so that this resolution can be sufficiently realized. Further, as a guide of the processing speed, the speed of the robot actuator (1 to 10 milliseconds) is required. In the present embodiment, the processing speed is determined by the A / D converter 210
Although it depends on the D conversion processing speed, it is possible to sufficiently increase the speed.

【0222】また、前述したように本実施形態のA/D
変換器210は、最上位ビットからA/D変換を行う。
したがって、所望のビット数まで変換した時点で、リセ
ット信号Rを送出し、次の光信号のA/D変換に移るこ
とにより、A/D変換の階調を変更することができる。
これにより、より高速で、複雑な処理を行うことが可能
となる。
As described above, the A / D of this embodiment is
The converter 210 performs A / D conversion from the most significant bit.
Therefore, when the conversion is performed to the desired number of bits, the reset signal R is transmitted, and the A / D conversion of the next optical signal is started, whereby the gradation of the A / D conversion can be changed.
This makes it possible to perform complicated processing at higher speed.

【0223】ただし、A/D変換器から出力されるビッ
ト長を可変にする場合は、転送用シフトレジスタでは入
力データのビット長を調整して固定長にする必要があ
る。なぜなら、例えば、通常のデータ長が8ビットの場
合の転送用シフトレジスタラインには、固定長で8ビッ
トx行内画素数(N)のシフトレジスタが用いられる。
そして、8ビットずつ区切った個々のシフトレジスタが
それぞれの位置に対応する各画素用の転送用シフトレジ
スタとして機能する。したがって、ビット長を8ビット
に合わせておかないと、画像データが対応する位置の転
送用シフトレジスタに正しく転送されないことになるか
らである。このため、転送用シフトレジスタに送る時点
でダミー信号を加えて合計8ビットになるようにするこ
とでデータが正しく転送される。
However, when the bit length output from the A / D converter is made variable, the transfer shift register needs to adjust the bit length of the input data to a fixed length. This is because, for example, a shift register having a fixed length of 8 bits and the number of pixels in a row (N) is used for a transfer shift register line when the normal data length is 8 bits.
Each shift register divided into 8 bits functions as a transfer shift register for each pixel corresponding to each position. Therefore, if the bit length is not adjusted to 8 bits, the image data will not be correctly transferred to the transfer shift register at the corresponding position. For this reason, the data is transferred correctly by adding a dummy signal at the time of sending to the transfer shift register so that the total becomes 8 bits.

【0224】以上のように、本実施形態の高速画像処理
装置10は、複数の行及び列に配列された複数の演算素
子400からなる並列処理機構14を備えている。並列
処理機構14には、演算素子400とのデータ転送を行
うx/yデータバス17が設けられている。x/yデー
タバス17は、各列に対応した複数の列方向データ転送
用データライン170と、各行に対応した複数の行方向
データ転送用データライン180とを備えている。演算
素子400は、並列処理により近傍画素間の画像処理演
算を高速で行うことができ、しかも、x/yデータバス
17を利用することで外部からデータ転送の必要な演算
処理も高速で行うことができる。ここで、各列方向デー
タ転送用データライン170が、対応する一つの行方向
データ転送用データライン180に接続されており、列
方向データ転送用データライン及び行方向データ転送用
データラインが、共通のデータ線としてデータ転送に使
用される。
As described above, the high-speed image processing apparatus 10 of the present embodiment includes the parallel processing mechanism 14 including a plurality of arithmetic elements 400 arranged in a plurality of rows and columns. The parallel processing mechanism 14 is provided with an x / y data bus 17 for performing data transfer with the arithmetic element 400. The x / y data bus 17 includes a plurality of column direction data transfer data lines 170 corresponding to each column, and a plurality of row direction data transfer data lines 180 corresponding to each row. The arithmetic element 400 can perform image processing between neighboring pixels at high speed by parallel processing, and can also perform arithmetic processing that requires external data transfer at high speed by using the x / y data bus 17. Can be. Here, each column-direction data transfer data line 170 is connected to one corresponding row-direction data transfer data line 180, and the column-direction data transfer data line and the row-direction data transfer data line are shared. Used for data transfer.

【0225】このように、本実施形態では、外部からの
データが必要となる演算を行うにあたり、x/yデータ
バス17より効率的にデータ転送(送受信)が可能であ
るため、高速な演算が可能である。ここで、x/yデー
タバス17は、複数の行及び列に配置された演算素子4
00に対応して、複数のxデータライン170と複数の
yデータライン180とを備えている。例えば、画素数
128x128(N=128)の場合、128本のxデ
ータラインと128本のyデータラインとが設けられ
る。この場合、これら256本のデータラインを制御回
路15に接続させる必要がある。ここで、最も小型化に
優れたチップを構成するためには、これらデータライン
の入出力ピンを制御回路15に接続させる必要がある。
しかし、多数の入出力ピンを設けると、チップが大型化
するのみならず、製造コストが増大し、実装の歩留まり
劣化をもたらす。そこで、本実施形態では、x/yデー
タバス17をコンパクトに実現するべく、xデータライ
ン170とyデータライン180のそれぞれ1本づつを
x/yデータバス17内部の回路上で接続し、通信ライ
ンを共通化して外部との通信ラインの本数(入出力ピン
の数)を大幅に減少させている。特に、本実施形態のよ
うに、演算素子400にSIMD型の演算を行わせる場
合、xデータライン170の入出力(レジスタアドレス
「31」へのアクセス)とyデータライン180の入出
力(レジスタアドレス「30」へのアクセス)とを同時
に実行することがないため、xデータライン170とy
データライン180とを共通の信号線(この場合、xデ
ータライン170)で外部と接続しても、xデータライ
ン170とyデータライン180を介して転送するデー
タを正確に識別することができ、データ転送を確実に行
うことができる。
As described above, in the present embodiment, when performing an operation that requires external data, data transfer (transmission / reception) can be performed more efficiently than the x / y data bus 17, so that a high-speed operation can be performed. It is possible. Here, the x / y data bus 17 is connected to the arithmetic elements 4 arranged in a plurality of rows and columns.
In correspondence with 00, a plurality of x data lines 170 and a plurality of y data lines 180 are provided. For example, when the number of pixels is 128 × 128 (N = 128), 128 x data lines and 128 y data lines are provided. In this case, it is necessary to connect these 256 data lines to the control circuit 15. Here, in order to construct a chip having the best miniaturization, it is necessary to connect the input / output pins of these data lines to the control circuit 15.
However, providing a large number of input / output pins not only increases the size of the chip, but also increases the manufacturing cost and reduces the mounting yield. Therefore, in the present embodiment, in order to realize the x / y data bus 17 compactly, one of each of the x data line 170 and the y data line 180 is connected on a circuit inside the x / y data bus 17 to perform communication. The number of communication lines with external devices (the number of input / output pins) is greatly reduced by sharing the lines. In particular, as in the present embodiment, when the arithmetic element 400 performs the SIMD type operation, the input / output of the x data line 170 (access to the register address “31”) and the input / output of the y data line 180 (register address) are performed. Access to “30”) and x data line 170 and y
Even if the data line 180 is connected to the outside by a common signal line (in this case, the x data line 170), the data to be transferred via the x data line 170 and the y data line 180 can be accurately identified, Data transfer can be performed reliably.

【0226】本実施形態の高速画像処理装置10は、さ
らに、画像読み取り部として、演算素子400と1対1
に対応する複数の受光素子120からなる受光素子アレ
イ11と、受光素子アレイ11の各行に対して1個のA
/D変換器210を対応させたA/D変換器アレイ13
とを備えており、並列処理機構14に接続されている。
The high-speed image processing apparatus 10 according to the present embodiment further includes a one-to-one
A light-receiving element array 11 composed of a plurality of light-receiving elements 120 corresponding to
A / D converter array 13 corresponding to / D converter 210
And is connected to the parallel processing mechanism 14.

【0227】受光素子120と1対1に対応する演算素
子400は、受光素子120により生成された各画素の
画像データに対して、並列処理を行うことにより、近傍
画素間の画像処理演算を高速で行うことができる。さら
に、A/D変換器210を1行ごとに設けているので、
A/D変換器210を受光素子120毎に設けた場合に
比較して、受光素子120と演算素子400間の伝送線
の数が少なくて済み、受光素子120と演算素子400
とを別々に製造、配置することが容易にできる。このた
め、両者とも集積度を最適にすることができ、多画素数
の高速画像処理装置10を容易に製作できる。
The arithmetic element 400, which has a one-to-one correspondence with the light receiving element 120, performs image processing of each pixel generated by the light receiving element 120 in parallel so that image processing operation between neighboring pixels can be performed at high speed. Can be done with Further, since the A / D converter 210 is provided for each row,
As compared with the case where the A / D converter 210 is provided for each light receiving element 120, the number of transmission lines between the light receiving element 120 and the arithmetic element 400 can be reduced, and the light receiving element 120 and the arithmetic element 400
Can be easily manufactured and arranged separately. For this reason, both can optimize the degree of integration, and the high-speed image processing apparatus 10 having a large number of pixels can be easily manufactured.

【0228】さらに、本実施の形態では、転送用シフト
レジスタ410を演算素子400に対応して設けている
ので、転送処理と独立して演算処理が行え、演算処理及
び転送処理を効率良く行うことができる。また、転送処
理と演算処理を並列に行うことができることから、各処
理の待ち時間を減らし、より高速の画像処理を行うこと
ができる。すなわち、A/D変換器から演算素子へのデ
ータ転送時に、転送用シフトレジスタを用いて、演算処
理と転送とを独立に実行できる機能を実現することで、
実時間処理が可能となっている。
Further, in the present embodiment, since the transfer shift register 410 is provided corresponding to the arithmetic element 400, the arithmetic processing can be performed independently of the transfer processing, and the arithmetic processing and the transfer processing can be performed efficiently. Can be. Further, since the transfer processing and the arithmetic processing can be performed in parallel, the waiting time of each processing can be reduced, and higher-speed image processing can be performed. That is, by using a transfer shift register when transferring data from the A / D converter to the arithmetic element, it is possible to realize a function that can execute arithmetic processing and transfer independently.
Real-time processing is possible.

【0229】以下、本発明の第2の実施の形態による高
速画像処理装置について図22に基づき説明する。
Hereinafter, a high-speed image processing apparatus according to a second embodiment of the present invention will be described with reference to FIG.

【0230】本発明の第2の実施の形態による高速画像
処理装置10では、制御回路15とx/yデータバス1
7との間にx/yデータバス用データバッファ19を備
えている。このようにデータバッファ19を設けること
で、制御回路15とx/yデータバス17との大量のデ
ータ転送を効率的に行うことが可能となる。この場合、
x/yデータバス17とデータバッファ19とは、並列
処理機構14と同一の基板上に形成してもよいし、別の
基板上に形成してもよい。一体として集積化すれば、演
算素子400とのデータ転送速度を高速化させることが
より容易となる。また、x/yデータバス17のN個の
入出力部170eをx/yデータバス用データバッファ
19に接続し、単一のデータバッファ19を2N本のデ
ータライン170及び180に対し共通に使用するた
め、高速画像処理装置10全体を小型化できる。
In the high-speed image processing apparatus 10 according to the second embodiment of the present invention, the control circuit 15 and the x / y data bus 1
7, an x / y data bus data buffer 19 is provided. By providing the data buffer 19 in this manner, a large amount of data transfer between the control circuit 15 and the x / y data bus 17 can be efficiently performed. in this case,
The x / y data bus 17 and the data buffer 19 may be formed on the same substrate as the parallel processing mechanism 14, or may be formed on another substrate. If integrated as one, it becomes easier to increase the data transfer speed with the arithmetic element 400. Also, the N input / output units 170e of the x / y data bus 17 are connected to the x / y data bus data buffer 19, and the single data buffer 19 is commonly used for 2N data lines 170 and 180. Therefore, the entire high-speed image processing apparatus 10 can be downsized.

【0231】第1の実施の形態では、重心演算を行うに
あたり、制御回路15内のアドレスデータ格納領域15
4に、図14に示すNビットのアドレスデータを格納し
ていた。しかしながら、本実施の形態の場合には、図2
2に示すように、Nビット幅のメモリ190をx/yデ
ータバス用データバッファ19に接続し、図14に示す
メモリ内容をこのメモリ190内に格納する。この場合
には、図13のS402〜S410及び図16のS50
2〜S510において、メモリ190内のメモリ番地
(0番地から(m−1)番地)を順番に指定しそのメモ
リ内容をx/yデータバス17に転送していくことで、
各演算素子にxアドレスデータ及びyアドレスデータを
最下位ビットから順次転送することができる。
In the first embodiment, when performing the center of gravity calculation, the address data storage area 15
4 stores the N-bit address data shown in FIG. However, in the case of this embodiment, FIG.
As shown in FIG. 2, an N-bit width memory 190 is connected to the x / y data bus data buffer 19, and the memory contents shown in FIG. In this case, S402 to S410 in FIG. 13 and S50 in FIG.
In steps S2 to S510, memory addresses (addresses 0 to (m-1)) in the memory 190 are sequentially specified, and the contents of the memory are transferred to the x / y data bus 17.
The x address data and the y address data can be sequentially transferred to each arithmetic element from the least significant bit.

【0232】このように、メモリ190内のデータをx
アドレスデータ及びyアドレスデータとして共通して使
用することができるので、装置全体の小型化を図ること
ができる。
As described above, the data in the memory 190 is represented by x
Since the address data and the y-address data can be used in common, the size of the entire device can be reduced.

【0233】なお、メモリ番地を、0番地から(m−
1)番地まで、自動的に順番に指定するための図示しな
いカウンタをメモリ190に接続しても良い。かかる構
成によれば、図13のS402〜S410及び図16の
S502〜S510において、メモリ190内のメモリ
番地(0番地から(m−1)番地)を自動的に順番に指
定することで、各演算素子に対応するxアドレスデータ
及びyアドレスデータを最下位ビットから自動的に転送
し、モーメント演算を高速に行わせることができる。
The memory address is changed from address 0 to (m-
1) A counter (not shown) for automatically designating the address up to the address may be connected to the memory 190. According to such a configuration, in S402 to S410 in FIG. 13 and S502 to S510 in FIG. 16, the memory addresses (addresses 0 to (m-1)) in the memory 190 are automatically specified in order, so that The x address data and the y address data corresponding to the operation elements are automatically transferred from the least significant bit, and the moment operation can be performed at high speed.

【0234】以下、本発明の第3の実施の形態による高
速画像処理装置について図23及び図24に基づき説明
する。
Hereinafter, a high-speed image processing apparatus according to a third embodiment of the present invention will be described with reference to FIGS.

【0235】本発明の第3の実施の形態による高速画像
処理装置10では、図23に示すように、x/yデータ
バス用データバッファ19の代わりに、アドレスデータ
生成カウンタとして、アドレス選択用カウンタ20を設
ける。かかるアドレス選択用カウンタ20によれば、各
列(各行)を順に選択する動作を自動的に行うことがで
きる。さらに、x/yデータバス17のN個の入出力部
170eをアドレス選択用カウンタ20に接続すること
で、単一のアドレス選択用カウンタ20を、2N本のデ
ータライン170及び180に対し共通に使用すること
で、高速画像処理装置10全体を小型化できる。
In the high-speed image processing apparatus 10 according to the third embodiment of the present invention, as shown in FIG. 23, instead of the x / y data bus data buffer 19, an address selection counter is used as an address data generation counter. 20 are provided. According to the address selection counter 20, an operation of sequentially selecting each column (each row) can be automatically performed. Further, by connecting the N input / output units 170e of the x / y data bus 17 to the address selection counter 20, a single address selection counter 20 is commonly used for 2N data lines 170 and 180. By using this, the entire high-speed image processing apparatus 10 can be downsized.

【0236】アドレス選択用カウンタ20は、例えば、
Nビットのシフトレジスタ200から構成されている。
そして、シフトレジスタ200の各ビットが、対応する
xデータライン170xに接続されている。ここで、シ
フトレジスタ200は、各ビットのデータを隣のビット
に順送りする機能を有する。例えば、N=8の場合、図
24に示すように、シフトレジスタ200は、CPU1
50により順次生成されるクロックをカウントするにつ
れ、データ「1」を隣のビットに順送りしていく。した
がって、データ「1」は、最初xデータライン170
(及び、接続されているyデータライン180)に現
れ、次に、データライン170(180)、170
(180)…へと順次シフトしていき、データライ
ン170 (180)に現れた後、再び、データライ
ン170(180)に現れるようになる。
The address selection counter 20 is, for example,
It comprises an N-bit shift register 200.
Each bit of the shift register 200 corresponds to
x data line 170x. Where
The shift register 200 stores the data of each bit in the adjacent bit.
It has the function of feeding forward. For example, if N = 8,
As shown in FIG. 24, the shift register 200
50 to count the clocks sequentially generated by
Then, the data “1” is sequentially sent to the next bit. did
Therefore, data "1" is first stored in x data line 170.7
(And the connected y data line 1807)
And then the data line 1706(1806), 170
5(1805) ...
170 0(1800) And then again
1707(1807).

【0237】かかる機能を有するシフトレジスタ200
を利用すれば、一列(または一行)内の全演算素子を選
択する動作を、選択する列(または行)を順番に自動的
に変更しながら、行うことができる。
A shift register 200 having such a function
By using, the operation of selecting all the arithmetic elements in one column (or one row) can be performed while automatically changing the selected column (or row) in order.

【0238】例えば、図17及び図18に基づいて説明
した一列内の全演算素子を選択する動作を、シフトレジ
スタ200内のデータを順送りしながら繰り返し行うこ
とで、選択する列を順番にシフトさせながらその列に属
する演算素子に所望の演算を行わせることができる。具
体的には、図17の所望位置演算処理(S600)を繰
り返し実行する際、シフトレジスタ200内のデータ
「1」を自動的に順送りすることで、画素選択処理(S
610:図18)内のS1102におけるデータ「1」
の列X1への転送を、転送先X1を順番にシフトさせな
がら行うことができる。
For example, by repeatedly performing the operation of selecting all the arithmetic elements in one column described with reference to FIGS. 17 and 18 while sequentially transmitting data in the shift register 200, the columns to be selected are sequentially shifted. However, it is possible to cause the operation elements belonging to the column to perform a desired operation. Specifically, when the desired position calculation process (S600) in FIG. 17 is repeatedly executed, the data “1” in the shift register 200 is automatically forwarded, so that the pixel selection process (S600) is performed.
610: Data “1” in S1102 in FIG. 18)
Can be transferred to the column X1 while the transfer destination X1 is sequentially shifted.

【0239】同様に、図17及び図19に基づいて説明
した一行内の全演算素子を選択する動作を、シフトレジ
スタ200内のデータを順送りしながら繰り返し行うこ
とで、選択する行を順番にシフトさせながらその行に属
する演算素子に所望の演算を行わせることもできる。具
体的には、図17の所望位置演算処理(S600)を繰
り返し実行する際、シフトレジスタ200内のデータ
「1」を自動的に順送りすることで、画素選択処理(S
610:図19)内のS1108におけるデータ「1」
の行Y1への転送を、転送先Y1を順番にシフトさせな
がら行うことができる。
Similarly, the operation of selecting all the arithmetic elements in one row described with reference to FIGS. 17 and 19 is repeatedly performed while sequentially transmitting data in shift register 200, thereby sequentially shifting the selected row. It is also possible to cause the operation elements belonging to the row to perform a desired operation. Specifically, when the desired position calculation process (S600) in FIG. 17 is repeatedly executed, the data “1” in the shift register 200 is automatically forwarded, so that the pixel selection process (S600) is performed.
610: Data “1” in S1108 in FIG. 19)
To the row Y1 can be performed while shifting the transfer destination Y1 in order.

【0240】同様に、図20及び図18に基づいて説明
した一列内の全演算素子を選択する動作を、シフトレジ
スタ200内のデータを順送りしながら繰り返し行うこ
とで、選択する列を順番にシフトさせながらその列に属
する演算素子に演算結果の出力を行わせることができ
る。具体的には、図20の演算―抽出処理(S650)
を繰り返し実行する際、シフトレジスタ200内のデー
タ「1」を自動的に順送りすることで、画素選択処理
(S680:図18)内のS1102におけるデータ
「1」の列X1への転送を、転送先X1を順番にシフト
させながら行うことができる。
Similarly, the operation of selecting all the arithmetic elements in one column described with reference to FIGS. 20 and 18 is repeatedly performed while sequentially transmitting data in shift register 200, thereby sequentially shifting the selected column. In this way, the operation element belonging to the column can output the operation result. Specifically, the calculation-extraction process of FIG. 20 (S650)
Is repeatedly executed, the data “1” in the shift register 200 is automatically forwarded, so that the transfer of the data “1” to the column X1 in S1102 in the pixel selection processing (S680: FIG. 18) is performed. This can be performed while shifting the destination X1 in order.

【0241】同様に、図20及び図19に基づいて説明
した一行内の全演算素子を選択する動作を、シフトレジ
スタ200内のデータを順送りしながら繰り返し行うこ
とで、選択する行を順番にシフトさせながらその行に属
する演算素子に演算結果の出力を行わせることもでき
る。具体的には、図20の演算―抽出処理(S650)
を繰り返し実行する際、シフトレジスタ200内のデー
タ「1」を自動的に順送りすることで、画素選択処理
(S680:図19)内のS1108におけるデータ
「1」の行Y1への転送を、転送先Y1を順番にシフト
させながら行うことができる。
Similarly, the operation of selecting all the arithmetic elements in one row described with reference to FIGS. 20 and 19 is repeatedly performed while sequentially feeding data in shift register 200, so that the rows to be selected are sequentially shifted. It is also possible to cause the operation elements belonging to the row to output the operation result. Specifically, the calculation-extraction process of FIG. 20 (S650)
Is repeated, the data "1" in the shift register 200 is automatically forwarded, so that the transfer of the data "1" to the row Y1 in S1108 in the pixel selection processing (S680: FIG. 19) is performed. This can be performed while shifting the tip Y1 in order.

【0242】このように、シフトレジスタ200内のデ
ータを列選択用及び行選択用のアドレスデータとして共
通して使用することができるので、装置全体の小型化を
図りつつ、高速な処理を達成できる。
As described above, since the data in the shift register 200 can be commonly used as the column selection and row selection address data, high-speed processing can be achieved while reducing the size of the entire device. .

【0243】本発明による高速画像処理装置は上述した
実施の形態に限定されず、特許請求の範囲に記載した範
囲で種々の変形や改良が可能である。
The high-speed image processing apparatus according to the present invention is not limited to the above-described embodiment, and various modifications and improvements can be made within the scope described in the claims.

【0244】例えば、上述の実施の形態では、x/yデ
ータバス17を構成するxデータライン170とyデー
タライン180のうち、xデータライン170に入出力
ピン170eを形成し、当該入出力ピン170eを制御
回路15に接続していた。しかしながら、yデータライ
ン180に入出力ピンを形成し、当該入出力ピンを制御
回路15に接続するようにしても良い。
For example, in the above-described embodiment, the input / output pin 170e is formed on the x data line 170 among the x data line 170 and the y data line 180 constituting the x / y data bus 17, and 170e was connected to the control circuit 15. However, an input / output pin may be formed on the y data line 180, and the input / output pin may be connected to the control circuit 15.

【0245】さらに、上述の実施の形態では、画像強度
やx/y方向モーメントの総和を求めるために、図11
に示す総和演算処理を行うようにしているが、各演算素
子400からの出力の総和を求めるための回路を出力バ
ス155に付加し、当該回路にて総和を求めるようにし
ても良い。
Further, in the above-described embodiment, in order to obtain the sum of the image intensity and the moment in the x / y direction, FIG.
Is performed, a circuit for calculating the total sum of outputs from the arithmetic elements 400 may be added to the output bus 155, and the sum may be calculated by the circuit.

【0246】また、上述の実施の形態では、A/D変換
器210がチャージアンプ221を含む構成となってい
るが、A/D変換器210とチャージアンプ221とを
別体とし、図25のように、N個のチャージアンプ22
1からなるアンプアレイ12を受光素子アレイ11に接
続させ、さらに、N個のA/D変換器210からなるA
/D変換器アレイ13を当該アンプアレイ12と並列処
理機構14との間に設けるようにしても良い。この場合
には、アンプアレイ12内の各アンプ221は、受光素
子アレイ11の対応する行110上の計N個の受光素子
120から出力される電荷を順次電圧信号に変換し、得
られたアナログ電圧信号を、A/D変換器アレイ13内
の対応するA/D変換器210に出力する。A/D変換
器210は、当該チャージアンプ221からのアナログ
電圧信号を順次A/D変換し、並列処理機構14に供給
する。
In the above embodiment, the A / D converter 210 includes the charge amplifier 221. However, the A / D converter 210 and the charge amplifier 221 are provided separately, and As described above, the N charge amplifiers 22
1 is connected to the light receiving element array 11, and the A / D converter 210
The / D converter array 13 may be provided between the amplifier array 12 and the parallel processing mechanism 14. In this case, each amplifier 221 in the amplifier array 12 sequentially converts charges output from a total of N light receiving elements 120 on the corresponding row 110 of the light receiving element array 11 into a voltage signal, and obtains an analog signal. The voltage signal is output to a corresponding A / D converter 210 in the A / D converter array 13. The A / D converter 210 sequentially A / D converts the analog voltage signal from the charge amplifier 221 and supplies the analog voltage signal to the parallel processing mechanism 14.

【0247】さらに、受光素子120やA/D変換器2
10の構成は、上述の実施の形態に記載された構成に限
られない。
Furthermore, the light receiving element 120 and the A / D converter 2
The configuration of 10 is not limited to the configuration described in the above embodiment.

【0248】また、上記の実施の形態では、A/D変換
器210から演算素子400へのデータ転送を、転送用
シフトレジスタ410により行っているが、転送用シフ
トレジスタ410はなくてもいい。すなわち、図26に
示すように、各A/D変換器210を、並列処理機構1
4のうち、対応する行の先頭の演算素子400(0,
y)のレジスタマトリックス401と接続するようにし
てもよい。この場合、各行のA/D変換器210から出
力される画素データI(x、y)は、対応する演算素子
400(x、y)まで、x方向に隣接している演算素子
400(0,y)〜400(x、y)のレジスタマトリ
ックス401間の転送を順次行うことにより、転送され
る。
In the above embodiment, the transfer of data from the A / D converter 210 to the arithmetic element 400 is performed by the transfer shift register 410. However, the transfer shift register 410 may not be provided. That is, as shown in FIG. 26, each A / D converter 210 is
4, among the arithmetic elements 400 (0, 0,
It may be connected to the register matrix 401 of y). In this case, the pixel data I (x, y) output from the A / D converter 210 in each row includes the arithmetic elements 400 (0, 0) adjacent in the x direction up to the corresponding arithmetic element 400 (x, y). The transfer is performed by sequentially performing transfer between the register matrices 401 of y) to 400 (x, y).

【0249】さらに、上述の実施形態では、並列処理機
構14を、画像読み取り部である受光素子アレイ11及
びA/D変換アレイ13に接続させている。しかしなが
ら、並列処理機構14は、かかる画像読み取り部に接続
させなくてもよい。すなわち、並列処理機構14は、汎
用の高速画像処理用演算器として使用することができ
る。具体的には、並列処理機構14を任意の画像データ
入力装置に接続し、その複数の演算素子400に対し任
意のデジタル信号画像を入力させるようにすることがで
きる。そして、並列処理機構14に設けられたx/yデ
ータバス17を任意の制御回路に接続することで、制御
回路と所望のデータをやりとりさせることができる。
Further, in the above-described embodiment, the parallel processing mechanism 14 is connected to the light receiving element array 11 and the A / D conversion array 13 which are image reading units. However, the parallel processing mechanism 14 need not be connected to such an image reading unit. That is, the parallel processing mechanism 14 can be used as a general-purpose high-speed image processing arithmetic unit. Specifically, the parallel processing mechanism 14 can be connected to an arbitrary image data input device, and can input an arbitrary digital signal image to the plurality of arithmetic elements 400. Then, by connecting the x / y data bus 17 provided in the parallel processing mechanism 14 to an arbitrary control circuit, desired data can be exchanged with the control circuit.

【0250】[0250]

【発明の効果】請求項1記載の高速画像処理装置によれ
ば、行方向のデータラインと列方向のデータラインと
を、互いに共通的に使用できるように配置したので、半
導体による集積化に適した簡易なアーキテクチャを堅持
したまま、柔軟な画像処理能力を達成できる。
According to the first aspect of the present invention, since the data lines in the row direction and the data lines in the column direction are arranged so as to be commonly used, they are suitable for integration by a semiconductor. Flexible image processing capability can be achieved while maintaining a simple architecture.

【0251】請求項2記載の高速画像処理装置によれ
ば、演算素子と1対1に対応させて受光素子が設けられ
ているので、演算素子は、受光素子で得られた出力画像
信号に対する画像演算処理を並列処理により高速で行う
ことができる。また、A/D変換器を各行毎に設けるこ
とで伝送路の本数が少なくて済む。
According to the high-speed image processing apparatus of the present invention, since the light receiving element is provided in one-to-one correspondence with the arithmetic element, the arithmetic element is an image corresponding to the output image signal obtained by the light receiving element. The arithmetic processing can be performed at high speed by parallel processing. Further, by providing the A / D converter for each row, the number of transmission paths can be reduced.

【0252】請求項3記載の高速画像処理装置によれ
ば、データバッファを設けることで、制御回路とデータ
転送用バスとのデータ転送速度が低くても高速でのデー
タ転送が可能となる。並列処理機構、データ転送用バ
ス、及び、データバッファを集積化すれば、演算素子か
らデータバッファまでのデータ転送の高速化を比較的容
易に行うこともできる。
According to the high-speed image processing apparatus of the third aspect, the provision of the data buffer enables high-speed data transfer even if the data transfer speed between the control circuit and the data transfer bus is low. If the parallel processing mechanism, the data transfer bus, and the data buffer are integrated, the speed of data transfer from the arithmetic element to the data buffer can be relatively easily increased.

【0253】請求項4記載の高速画像処理装置によれ
ば、アドレスデータ生成カウンタを設けることで、演算
素子を選択制御するためのアドレスデータを自動的に生
成することができるため、演算素子の選択制御の高速化
を比較的容易に行うことができる。
According to the high-speed image processing apparatus of the fourth aspect, by providing the address data generation counter, it is possible to automatically generate the address data for selecting and controlling the operation element. Control speed can be relatively easily increased.

【0254】請求項5記載の高速画像処理装置によれ
ば、転送処理、演算処理とも待ち時間を少なくして効率
良く行うことができ、全体の処理時間を短縮できる。こ
の結果、パイプライン的な動作が可能となり、高速での
画像処理、特に実時間的な処理が可能となる。
According to the high-speed image processing apparatus of the fifth aspect, both the transfer processing and the arithmetic processing can be performed efficiently with a reduced waiting time, and the overall processing time can be shortened. As a result, a pipeline-like operation becomes possible, and high-speed image processing, in particular, real-time processing becomes possible.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施の形態による高速画像処理
装置を示すブロック図。
FIG. 1 is a block diagram showing a high-speed image processing device according to a first embodiment of the present invention.

【図2】図1の実施の形態による高速画像処理装置の概
略構成図。
FIG. 2 is a schematic configuration diagram of a high-speed image processing device according to the embodiment of FIG. 1;

【図3】図1の実施の形態による高速画像処理装置の備
える制御回路の構成ブロック図。
FIG. 3 is a configuration block diagram of a control circuit included in the high-speed image processing device according to the embodiment of FIG. 1;

【図4】図1の実施の形態による高速画像処理装置の備
える受光素子アレイ、及び、A/D変換器アレイの回路
構成図である。
FIG. 4 is a circuit configuration diagram of a light receiving element array and an A / D converter array included in the high-speed image processing device according to the embodiment of FIG.

【図5】図4のA/D変換器アレイの備える積分回路の
詳細回路構成図。
5 is a detailed circuit configuration diagram of an integration circuit provided in the A / D converter array of FIG. 4;

【図6】図1の実施の形態による高速画像処理装置の備
える演算素子及び転送用シフトレジスタのブロック図。
FIG. 6 is a block diagram of an arithmetic element and a transfer shift register included in the high-speed image processing device according to the embodiment of FIG. 1;

【図7】図1の実施の形態による高速画像処理装置の備
えるx/yデータバス17のxデータラインとyデータ
ラインの接続状況を示す説明図。
FIG. 7 is an explanatory diagram showing a connection state between x data lines and y data lines of an x / y data bus 17 provided in the high-speed image processing device according to the embodiment of FIG. 1;

【図8】図1の実施の形態による高速画像処理装置の動
作フロー図。
FIG. 8 is an operation flowchart of the high-speed image processing device according to the embodiment of FIG. 1;

【図9】図8中の工程S110の一例としての重心演算
処理工程の動作フロー図。
9 is an operation flowchart of a center-of-gravity calculation processing step as an example of step S110 in FIG. 8;

【図10】図9の重心演算処理工程のうちの画像強度総
和演算処理工程の動作フロー図。
FIG. 10 is an operation flowchart of an image intensity sum calculating process in the centroid calculating process of FIG. 9;

【図11】図10の画像強度総和演算処理工程のうちの
総和演算処理工程の動作フロー図。
11 is an operation flowchart of a sum calculation processing step of the image intensity sum calculation processing step of FIG. 10;

【図12】図10の画像強度総和演算処理工程のうちの
画素選択処理工程の動作フロー図。
FIG. 12 is an operation flowchart of a pixel selection processing step of the image intensity sum calculation processing step of FIG. 10;

【図13】図9の重心演算処理工程のうちのx方向座標
演算処理工程の動作フロー図。
13 is an operation flowchart of an x-direction coordinate calculation processing step of the centroid calculation processing step of FIG. 9;

【図14】メモリ151のアドレスデータ格納領域15
4内部のメモリ番地とメモリ内容の例を示す説明図。
FIG. 14 shows an address data storage area 15 of the memory 151.
FIG. 4 is an explanatory diagram showing an example of memory addresses and memory contents inside 4;

【図15】1ビットずつ桁上がりしながら、モーメント
を演算する状態を示す説明図。
FIG. 15 is an explanatory diagram showing a state in which a moment is calculated while carrying one bit at a time.

【図16】図9の重心演算処理工程のうちのy方向座標
演算処理工程の動作フロー図。
FIG. 16 is an operation flowchart of a y-direction coordinate calculation processing step of the center-of-gravity calculation processing step of FIG. 9;

【図17】図8中の工程S110の一例としての所望位
置演算処理工程の動作フロー図。
FIG. 17 is an operation flowchart of a desired position calculation processing step as an example of step S110 in FIG. 8;

【図18】所望の列の全画素を選択するように、図12
の画素選択処理工程を変更した画素選択処理工程の動作
フロー図。
FIG. 18 is a block diagram illustrating a method of selecting all pixels in a desired column;
FIG. 11 is an operation flowchart of a pixel selection processing step in which the pixel selection processing step of FIG.

【図19】所望の行の全画素を選択するように、図12
の画素選択処理工程を変更した画素選択処理工程の動作
フロー図。
FIG. 19 is a diagram showing a state in which all pixels in a desired row are selected.
FIG. 11 is an operation flowchart of a pixel selection processing step in which the pixel selection processing step of FIG.

【図20】図8中の工程S110の一例としての演算−
抽出処理工程の動作フロー図。
20 is a calculation as an example of step S110 in FIG.
FIG. 5 is an operation flowchart of an extraction processing step.

【図21】図8中の工程S110の一例としての画像検
索処理工程の動作フロー図。
FIG. 21 is an operation flowchart of an image search processing step as an example of step S110 in FIG. 8;

【図22】本発明の第2の実施の形態による高速画像処
理装置を示すブロック図。
FIG. 22 is a block diagram showing a high-speed image processing device according to a second embodiment of the present invention.

【図23】本発明の第3の実施の形態による高速画像処
理装置を示すブロック図。
FIG. 23 is a block diagram showing a high-speed image processing device according to a third embodiment of the present invention.

【図24】図23の実施の形態による高速画像処理装置
におけるx/yバス選択用カウンタ内のシフトレジスタ
においてデータを順送りする状態を示す説明図。
24 is an explanatory diagram showing a state in which data is sequentially forwarded in a shift register in an x / y bus selection counter in the high-speed image processing device according to the embodiment of FIG. 23;

【図25】本発明の実施の形態の変更例による高速画像
処理装置を示すブロック図。
FIG. 25 is a block diagram showing a high-speed image processing device according to a modification of the embodiment of the present invention.

【図26】本発明の実施の形態の他の変更例による高速
画像処理装置を示すブロック図。
FIG. 26 is a block diagram showing a high-speed image processing device according to another modification of the embodiment of the present invention.

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

10 高速画像処理装置 11 受光素子アレイ 13 A/D変換器アレイ 14 並列処理機構 15 制御回路 17 x/yデータバス 19 x/yデータバス用データバッファ 20 x/yバス選択用カウンタ 120 受光素子 151 メモリ 154 アドレスデータ格納領域 170 xデータライン 170e 入出力部 175 接続部 180 yデータライン 190 データバッファ用メモリ 200 シフトレジスタ 210 A/D変換器 400 演算素子 410 転送用シフトレジスタ REFERENCE SIGNS LIST 10 high-speed image processing device 11 light receiving element array 13 A / D converter array 14 parallel processing mechanism 15 control circuit 17 x / y data bus 19 x / y data bus data buffer 20 x / y bus selection counter 120 light receiving element 151 Memory 154 Address data storage area 170 x data line 170 e input / output unit 175 connection unit 180 y data line 190 data buffer memory 200 shift register 210 A / D converter 400 operation element 410 transfer shift register

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06T 1/20 G06T 1/60 450E 1/60 450 G06F 7/00 A (72)発明者 田中 博 静岡県浜松市市野町1126番地の1 浜松ホ トニクス株式会社内 Fターム(参考) 5B022 AA03 BA02 CA02 CA05 FA01 5B045 AA01 BB12 GG12 5B047 AA13 BB01 BC01 EA09 EB12 EB17 5B057 AA05 BA02 CA12 CA16 CH03 CH09 CH14 DA07 DB02 DC06 DC19 5C024 BX03 CY16 DX07 GX03 GY15 GZ07 GZ18 GZ42 GZ50 HX02 HX23 JX30 ──────────────────────────────────────────────────の Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) G06T 1/20 G06T 1/60 450E 1/60 450 G06F 7/00 A (72) Inventor Hiroshi Tanaka Shizuoka 1126 Nomachi, Hamamatsu-shi 1 Hamamatsu Photonics Co., Ltd. F-term (reference) 5B022 AA03 BA02 CA02 CA05 FA01 5B045 AA01 BB12 GG12 5B047 AA13 BB01 BC01 EA09 EB12 EB17 5B057 AA05 BA02 CA12 CA16 CH03 CH02 DC06 DC07 DA07 CY16 DX07 GX03 GY15 GZ07 GZ18 GZ42 GZ50 HX02 HX23 JX30

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 複数の演算素子が複数の行及び列に2次
元状に配列され、各演算素子がデジタル画像信号につい
て所定の演算を行う並列演算素子アレイからなる並列処
理機構と、 複数の列方向データ転送用データラインが前記並列処理
機構の各列と1対1に対応して設けられ、複数の行方向
データ転送用データラインが前記並列処理機構の各行と
1対1に対応して設けられ、各列方向データ転送用デー
タラインが、対応する列に存在する複数の演算素子を接
続し該対応する列の各演算素子とのデータ転送を行い、
各行方向データ転送用データラインが、対応する行に存
在する複数の演算素子を接続し該対応する行の各演算素
子とのデータ転送を行い、各列方向データ転送用データ
ラインが対応する一つの行方向データ転送用データライ
ンに接続されているデータ転送用バスと、を備えている
ことを特徴とする高速画像処理装置。
1. A parallel processing mechanism comprising: a plurality of processing elements arranged two-dimensionally in a plurality of rows and columns; each processing element comprising a parallel processing element array for performing a predetermined operation on a digital image signal; A data line for directional data transfer is provided in one-to-one correspondence with each column of the parallel processing mechanism, and a plurality of data lines for row data transfer is provided in one-to-one correspondence with each row of the parallel processing mechanism. The data line for each column direction data transfer connects a plurality of processing elements existing in the corresponding column and performs data transfer with each processing element in the corresponding column,
Each row-direction data transfer data line connects a plurality of processing elements present in a corresponding row and performs data transfer with each processing element in the corresponding row, and each column-direction data transfer data line corresponds to one corresponding data line. A high-speed image processing apparatus, comprising: a data transfer bus connected to a data line for row direction data transfer.
【請求項2】 複数の受光素子が前記複数の演算素子と
1対1に対応して複数の行及び列に2次元状に配列され
て構成された受光素子アレイと、 複数のA/D変換器が、該受光素子アレイの該複数の行
及び前記演算素子アレイの前記複数の行に1対1に対応
して1次元状に配列されて構成され、各A/D変換器
が、該対応する1行中の受光素子から順次読み出された
出力画像信号をアナログ・デジタル変換し、得られた前
記デジタル画像信号を前記演算素子アレイの対応する行
に出力するA/D変換器アレイと、 前記受光素子アレイ、前記A/D変換器アレイ、前記並
列処理機構、及び、前記データ転送用バスを制御する制
御回路とを更に備え、 前記並列演算素子アレイの各演算素子が該A/D変換器
アレイから転送されたデジタル画像信号について所定の
演算を行うことを特徴とする請求項1記載の高速画像処
理装置。
2. A light-receiving element array in which a plurality of light-receiving elements are two-dimensionally arranged in a plurality of rows and columns in one-to-one correspondence with the plurality of arithmetic elements, and a plurality of A / D converters. Devices are arranged one-dimensionally in a one-to-one correspondence with the plurality of rows of the light receiving element array and the plurality of rows of the arithmetic element array, and each A / D converter is provided with An A / D converter array that performs an analog-to-digital conversion of an output image signal sequentially read from the light receiving elements in one row and outputs the obtained digital image signal to a corresponding row of the arithmetic element array; A control circuit that controls the light receiving element array, the A / D converter array, the parallel processing mechanism, and the data transfer bus, wherein each operation element of the parallel operation element array is the A / D converter Digital image signal transferred from the detector array 2. The high-speed image processing apparatus according to claim 1, wherein a predetermined operation is performed on.
【請求項3】 前記複数の列方向データ転送用データラ
イン及び前記複数の行方向データ転送用データラインの
両方に対応したデータバッファをさらに備えていること
を特徴とする請求項2記載の高速画像処理装置。
3. The high-speed image according to claim 2, further comprising a data buffer corresponding to both the plurality of column-direction data transfer data lines and the plurality of row-direction data transfer data lines. Processing equipment.
【請求項4】 前記複数の列方向データ転送用データラ
イン及び前記複数の行方向データ転送用データラインの
両方に対応したアドレスデータ生成カウンタをさらに備
えていることを特徴とする請求項2記載の高速画像処理
装置。
4. The apparatus according to claim 2, further comprising an address data generation counter corresponding to both the plurality of column-direction data transfer data lines and the plurality of row-direction data transfer data lines. High-speed image processing device.
【請求項5】 前記並列処理機構が、さらに、複数の転
送用シフトレジスタが該複数のA/D変換器と該複数の
演算素子行の各々と1対1に対応して配列され、各転送
用シフトレジスタが、該対応するA/D変換器から出力
された対応する受光素子行に所属する該受光素子の出力
画像信号に相当するデジタル画像信号を、該対応する行
に所属する所定の演算素子に順次転送する転送用シフト
レジスタアレイを有することを特徴とする請求項2記載
の高速画像処理装置。
5. The parallel processing mechanism further includes a plurality of transfer shift registers arranged one-to-one with the plurality of A / D converters and the plurality of operation element rows. A shift register for converting a digital image signal corresponding to an output image signal of the light receiving element belonging to the corresponding light receiving element row outputted from the corresponding A / D converter into a predetermined operation belonging to the corresponding row 3. The high-speed image processing apparatus according to claim 2, further comprising a transfer shift register array for sequentially transferring data to the elements.
JP2000278852A 2000-09-13 2000-09-13 High speed picture processor Pending JP2002094886A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000278852A JP2002094886A (en) 2000-09-13 2000-09-13 High speed picture processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000278852A JP2002094886A (en) 2000-09-13 2000-09-13 High speed picture processor

Publications (1)

Publication Number Publication Date
JP2002094886A true JP2002094886A (en) 2002-03-29

Family

ID=18763950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000278852A Pending JP2002094886A (en) 2000-09-13 2000-09-13 High speed picture processor

Country Status (1)

Country Link
JP (1) JP2002094886A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018079331A1 (en) * 2016-10-31 2018-05-03 ソニーセミコンダクタソリューションズ株式会社 Solid-state imaging device, signal processing method thereof, and electronic device
JP2019140534A (en) * 2018-02-09 2019-08-22 キヤノン株式会社 Imaging device, imaging system, and moving object
JP2022531403A (en) * 2019-05-03 2022-07-06 テスラ,インコーポレイテッド System and method for matrix multiplication instructions using floating point arithmetic with specified bias

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099694A (en) * 1998-09-21 2000-04-07 Hamamatsu Photonics Kk High speed visual sensor device
WO2000021284A1 (en) * 1998-10-07 2000-04-13 Hamamatsu Photonics K. K. High-speed vision sensor
WO2000055810A1 (en) * 1999-03-16 2000-09-21 Hamamatsu Photonics K. K. High-speed vision sensor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099694A (en) * 1998-09-21 2000-04-07 Hamamatsu Photonics Kk High speed visual sensor device
WO2000021284A1 (en) * 1998-10-07 2000-04-13 Hamamatsu Photonics K. K. High-speed vision sensor
WO2000055810A1 (en) * 1999-03-16 2000-09-21 Hamamatsu Photonics K. K. High-speed vision sensor

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018079331A1 (en) * 2016-10-31 2018-05-03 ソニーセミコンダクタソリューションズ株式会社 Solid-state imaging device, signal processing method thereof, and electronic device
US11102436B2 (en) 2016-10-31 2021-08-24 Sony Semiconductor Solutions Corporation Solid-state imaging device and signal processing method thereof, and electronic device
JP2019140534A (en) * 2018-02-09 2019-08-22 キヤノン株式会社 Imaging device, imaging system, and moving object
US10727259B2 (en) 2018-02-09 2020-07-28 Canon Kabushiki Kaisha Imaging device, imaging system, and moving body
JP2022531403A (en) * 2019-05-03 2022-07-06 テスラ,インコーポレイテッド System and method for matrix multiplication instructions using floating point arithmetic with specified bias
JP7430203B2 (en) 2019-05-03 2024-02-09 テスラ,インコーポレイテッド System and method for matrix multiplication instructions using floating point operations with specified bias

Similar Documents

Publication Publication Date Title
JP4489305B2 (en) High-speed visual sensor device
US7244919B2 (en) Semiconductor integrated circuit device having photo detector circuits, processing elements, and comparing circuits which compare the output of a photo detector element with a reference voltage
TWI418152B (en) Solid state camera device, camera device, electronic machine, analog digital conversion device, analog digital conversion method
US6831684B1 (en) Circuit and method for pixel rearrangement in a digital pixel sensor readout
JP2010136413A (en) High-speed vision sensor
JP6681431B2 (en) Imaging device and imaging device
TWI783316B (en) Method for performing fingerprint sensing, electronic module capable of performing fingerprint sensing, and computing apparatus
WO2017101451A1 (en) Imaging method, imaging device, and electronic device
JP3828339B2 (en) Image input system and operation method of image input system
CN103024309B (en) CMOS (complementary metal oxide semiconductor) image sensor for quick acquisition of single low-order accumulative images
JP2011151800A (en) Cmos image sensor and electronic system including the image sensor
CN111133750A (en) Image sensor and image pickup apparatus
US20030052983A1 (en) Image capture and storage device
JP4423111B2 (en) Imaging device and imaging system
US20040175055A1 (en) Method and apparatus for re-construcing high-resolution images
JP2002094886A (en) High speed picture processor
KR100801655B1 (en) Circuit and method for pixel rearrangement in a digital pixel sensor readout
JPH10145680A (en) High speed visual sensor
JP4302212B2 (en) High-speed visual sensor device
US10873714B2 (en) Image sensor with multiple pixel access settings
JP4334672B2 (en) High-speed visual sensor device
JP3991751B2 (en) Solid-state imaging device and reading method thereof
JP2002183724A (en) High-speed image processing device
CN107635086A (en) Solid state image sensor and image-sensing method
CN112311963A (en) Image sensor and method of operating the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100706