JPH0157830B2 - - Google Patents
Info
- Publication number
- JPH0157830B2 JPH0157830B2 JP59130040A JP13004084A JPH0157830B2 JP H0157830 B2 JPH0157830 B2 JP H0157830B2 JP 59130040 A JP59130040 A JP 59130040A JP 13004084 A JP13004084 A JP 13004084A JP H0157830 B2 JPH0157830 B2 JP H0157830B2
- Authority
- JP
- Japan
- Prior art keywords
- coordinates
- data
- unit processor
- processor
- unit
- 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.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
この発明は、デイジタル画像処理を行う画像処
理方式に関するものである。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to an image processing method for performing digital image processing.
従来、この種の画像処理方式において、デイジ
タル画像に対してアフイン変換を施す処理では、
アフイン変換をA、デイジタル画像の格子点の座
標値をP、座標値qに対応する変換前及び変換後
の画素値をそれぞれd(q)及びd′(q)とする
と、
d′(q)←d{f(A-1P)} ……(1)
と記述することができる。ただし、矢印は、矢印
の左辺に矢印の右辺を代入することを示し、A-1
はAの逆変換を示し、f(q)はqに対して四拾
五入や切り拾てなどのデイジタル化操作を施した
結果を示す。また、実際の画像処理においては、
処理の対象となる画像の座標値の上限及び下限が
存在する。x及びy座標の上限及び下限をそれぞ
れxnax,xnio,ynax,ynioとし、座標値qのx及び
y座標をそれぞれqx,qyとすると、上記d(q)
は、下記(2)式の条件を満足する必要がある。
Conventionally, in this type of image processing method, the process of applying affine transformation to a digital image involves
If the affine transformation is A, the coordinate value of the grid point of the digital image is P, and the pixel values before and after the transformation corresponding to the coordinate value q are d(q) and d'(q), respectively, then d'(q) ←d{f(A -1 P)} ...(1) It can be written as. However, the arrow indicates that the right side of the arrow is assigned to the left side of the arrow, and A -1
represents the inverse transformation of A, and f(q) represents the result of digitizing q, such as digitizing or cutting. In addition, in actual image processing,
There are upper and lower limits for the coordinate values of the image to be processed. If the upper and lower limits of the x and y coordinates are x nax , x nio , y nax , and y nio , respectively, and the x and y coordinates of coordinate value q are qx and qy, respectively, then the above d(q)
must satisfy the condition of equation (2) below.
xnio≦qx≦xnax
ynio≦qy≦ynax ……(2)
したがつて、上記(2)式の条件が成立しない場合
は定義されないので、値が定義されないことを示
す特殊な値(例えば0)であると定義することが
できる。 x nio < qx < For example, it can be defined as 0).
さて、従来の画像処理方式においては、上記(1)
式に示す処理を画像の全格子点に対して遂次的に
行つていた。第1図は従来の画像処理方式の一例
を示すフローチヤート図である。第1図において
は、説明を簡単にするために、xnio=ynio=0,
xnax=ynax=N−1,x,yのきざみを1として
いる。図に示す様に、S1及びS2では格子点を
表わす変数であるx及びyに初期値0を代入して
いる。S3では、x及びyにアフイン変換を定め
る行列Aの逆行列A-1を乗ずることにより、x及
びyで指定される格子点が保持するデータd(x,
y)を格納すべき格子点の座標であるx1及びy
1を求めている。S4及びS5ではx1及びy1
が座標値の上限及び下限である0とN―1の間に
あるか否かを判定している。判定の結果が真であ
れば、S6においてd(x,y)をd(x1,y
1)に代入し、偽りであれば、S7において未定
義値を示す値である0をd(x1,y1)に代入
する。S8では、次の格子点に対する処理を行う
ために、yを1だけ増している。S9では、yが
上限N―1を超えたか否かを判定し、超えていな
ければS3にもどる。超えていれば、S10にお
いてxを1だけ増し、S11においてxが上限N
―1を超えたか否かを判定する。xが上限N―1
を超えていなければS2にもどり、超えていれば
処理を終了する。以上の説明から明らかな様に、
S3,S4,S8及びS9の各ステツプはN2回
だけ実行される。また、S4で真又は偽りである
と判定される回数をk4t及びk4f,S5で真又は偽
りであると判定される回数をk5t及びk5fとする
と、S5,S6及びS7が実行される回数k5,k6
及びk7に対して以下に示す関係式が成り立つ。 Now, in conventional image processing methods, the above (1)
The process shown in the equation was sequentially performed on all grid points of the image. FIG. 1 is a flowchart showing an example of a conventional image processing method. In Fig. 1, x nio = y nio = 0,
x nax =y nax =N-1, where the increments of x and y are set to 1. As shown in the figure, in S1 and S2, initial values 0 are assigned to x and y, which are variables representing grid points. In S3, data d ( x,
x1 and y, which are the coordinates of the grid point where y) is to be stored.
I'm looking for 1. x1 and y1 in S4 and S5
It is determined whether the coordinate values are between 0 and N-1, which are the upper and lower limits of the coordinate values. If the result of the determination is true, d(x, y) is changed to d(x1, y
1), and if it is false, 0, which is a value indicating an undefined value, is substituted into d(x1, y1) in S7. In S8, y is incremented by 1 in order to process the next grid point. In S9, it is determined whether y exceeds the upper limit N-1, and if it does not, the process returns to S3. If it exceeds, x is increased by 1 in S10, and x is set to the upper limit N in S11.
- Determine whether the value exceeds 1. x is the upper limit N-1
If it does not exceed this, the process returns to S2, and if it does, the process ends. As is clear from the above explanation,
Each step S3, S4, S8 and S9 is executed N2 times. Furthermore, if the number of times determined to be true or false in S4 is k 4 t and k 4 f, and the number of times determined to be true or false in S5 is k 5 t and k 5 f, then S5, S6 and Number of times S7 is executed k 5 , k 6
The following relational expression holds true for and k 7 .
{k5=k4t=N2−k4f
k6=k5t=N2−k4f−k5f
k7=k4f+k5f}
したがつて、k5,k6,k7の総和は、
k5+k6+k7=2N2−k4f≧N2
となる。それゆえ、第1図に示す様な画像処理に
は、格子点の総数、すなわちN2に比例した処理
時間を消費することが明らかであり、高速なアフ
イン変換を実行し得ないという欠点があつた。 {k 5 =k 4 t=N 2 −k 4 f k 6 =k 5 t=N 2 −k 4 f−k 5 f k 7 =k 4 f+k 5 f} Therefore, k 5 , k 6 , k 7 The total sum is k 5 +k 6 +k 7 =2N 2 −k 4 f≧N 2 . Therefore, it is clear that image processing as shown in Figure 1 consumes processing time proportional to the total number of grid points, that is, N2 , and has the disadvantage that high-speed affine transformation cannot be performed. Ta.
この発明は、上記の様な従来のものの欠点を改
善する目的でなされたもので、2次元座標平面上
の格子点に対応する単位プロセツサ群から成るプ
ロセツサ・アレイを用いて、このプロセツサ・ア
レイの各単位プロセツサが、該当単位プロセツサ
に対応する格子点の原座標にアフイン変換の逆変
換を施して目的座標を得て、この目的座標に対応
する単位プロセツサに原座標を転送し、この原座
標を受け取つた目的座標に対応する単位プロセツ
サが、その画素値を原座標に対応する単位プロセ
ツサに転送する処理を、各格子点ごとに並列に行
うことにより、高速なアフイン変換の処理を実現
できる様にした画像処理方式を提供するものであ
る。
This invention was made with the aim of improving the drawbacks of the conventional ones as described above, and uses a processor array consisting of a group of unit processors corresponding to grid points on a two-dimensional coordinate plane. Each unit processor performs the inverse affine transformation on the original coordinates of the grid point corresponding to the unit processor to obtain the target coordinates, transfers the original coordinates to the unit processor corresponding to the target coordinates, and converts the original coordinates into The unit processor corresponding to the received target coordinates transfers the pixel value to the unit processor corresponding to the original coordinates in parallel for each grid point, making it possible to achieve high-speed affine transformation processing. This provides an image processing method that uses
以下、この発明の実施例を図について説明す
る。第2図はこの発明の一実施例である画像処理
方式を示すブロツク構成図である。図において、
1は単位プロセツサであり、デイジタル画像の格
子点に対応して、N×N個配置されている。な
お、図中の左下の単位プロセツサ1がx=xnio,
y=ynioに、右上の単位プロセツサ1がx=xnax,
y=ynaxにそれぞれ対応する。2と3は各単位プ
ロセツサ1間を接続する信号線であり、それぞれ
x及びy方向に隣接する単位プロセツサ1を接続
している。また、x及びy座標の上限及び下限に
相当する単位プロセツサ1も、各信号線2又は3
を介して相互に接続されている。4は制御プロセ
ツサであり、単位プロセツサ1の集合から成るプ
ロセツサ・アレイにデータを入力したり、プロセ
ツサ・アレイからデータを受け取ることができる
ものである。制御プロセツサ4からデータをプロ
セツサ・アレイに入力する場合は、信号線5及び
セレクタ6を介してx=xnio,y=ynioに相当す
る単位プロセツサ1にデータを入力する。セレク
タ6は、x=xnax,y=ynaxに相当する単位プロ
セツサ1から信号線2を介して送られるデータ
と、制御プロセツサ4から信号線5を介して送ら
れるデータを、制御プロセツサ4から供給される
信号線7によつて選択される。なお、制御プロセ
ツサ4とセレクタ6の構成は、この発明には直接
的な関係を持たないので、その詳細な説明は省略
する。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 2 is a block diagram showing an image processing system according to an embodiment of the present invention. In the figure,
Reference numeral 1 denotes unit processors, and N×N unit processors are arranged corresponding to the grid points of the digital image. Note that the unit processor 1 at the bottom left in the figure is x=x nio ,
At y=y nio , the unit processor 1 on the upper right is x=x nax ,
y=y nax , respectively. Signal lines 2 and 3 connect the unit processors 1, and connect adjacent unit processors 1 in the x and y directions, respectively. In addition, the unit processor 1 corresponding to the upper and lower limits of x and y coordinates is also connected to each signal line 2 or 3.
are interconnected through. A control processor 4 is capable of inputting data to a processor array made up of a set of unit processors 1 and receiving data from the processor array. When inputting data from the control processor 4 to the processor array, the data is inputted via the signal line 5 and selector 6 to the unit processor 1 corresponding to x=x nio and y=y nio . The selector 6 selects data sent from the unit processor 1 via the signal line 2 corresponding to x=x nax and y=y nax and data sent from the control processor 4 via the signal line 5 from the control processor 4. It is selected by the supplied signal line 7. It should be noted that the configurations of the control processor 4 and selector 6 have no direct relationship to the present invention, so a detailed explanation thereof will be omitted.
第3図は、第2図の画像処理方式において、各
単位プロセツサ間を接続する信号線の構成を示す
図で、第2図と同一符号は同一、又は相当の構成
要素であるので、その説明は省略する。また、信
号の伝播方向は、各信号線に対して図の矢印の方
向で示してある。図において、2a及び3aはデ
ータを転送する信号線であり、x及びy座標の小
さい単位プロセツサ1から大きい単位プロセツサ
1にデータが転送される。また、x=xnio,y=
ynioの単位プロセツサ1及びx=xnax,y=ynax
の単位プロセツサ1は、前述した様に、制御プロ
セツサ4との間でデータの転送を行うことができ
る。この様に各信号線2a及び3aを介して転送
されるデータには、デイジタル画像の画素値,座
標値,アフイン変換を定める行列,単位プロセツ
サ1に与える命令及び制御情報等がある。2b及
び3bはデータの転送を要求する1ビツトの信号
線(REQX及びREQYという)であり、信号線
の値が「1」の時、x及びy座標の小さい単位プ
ロセツサ1から大きい単位プロセツサ1へデータ
が転送される。2c及び3cはデータの転送を許
可する1ビツトの信号線(RPLYX及びRPLYY
という)であり、x及びy座標の大きい単位プロ
セツサ1から小さい単位プロセツサ1へデータが
転送される。各RPLYX2c及びRPLYY3cが
「1」の時、各REQX2b及びREQY3bをそれ
ぞれ「1」にすることができる。2d及び31d
は、その値が「1」の時、処理が完了したことを
示す1ビツトの信号線(CMPLX及びCMPLYと
いう)であり、x及びy座標の小さい単位プロセ
ツサ1から大きい単位プロセツサ1へデータが転
送される。制御プロセツサ4は、x=xnax,y=
ynaxに相当する単位プロセツサ1のCMPLX2d
を受け取ることにより、プロセツサ・アレイ全体
の処理の完了を知ることができる。 FIG. 3 is a diagram showing the configuration of signal lines connecting each unit processor in the image processing method shown in FIG. 2. The same reference numerals as in FIG. is omitted. Further, the direction of signal propagation is indicated by the direction of the arrow in the figure for each signal line. In the figure, 2a and 3a are signal lines for transferring data, and data is transferred from the unit processor 1 with the smaller x and y coordinates to the unit processor 1 with the larger x and y coordinates. Also, x=x nio , y=
y nio unit processor 1 and x = x nax , y = y nax
The unit processor 1 can transfer data to and from the control processor 4, as described above. The data transferred through each of the signal lines 2a and 3a includes pixel values of digital images, coordinate values, matrices that define affine transformation, commands and control information given to the unit processor 1, and the like. 2b and 3b are 1-bit signal lines (referred to as REQX and REQY) that request data transfer, and when the value of the signal line is "1", the data is transferred from the unit processor 1 with the smaller x and y coordinates to the unit processor 1 with the larger x and y coordinates. Data is transferred. 2c and 3c are 1-bit signal lines (RPLYX and RPLYY) that permit data transfer.
), and data is transferred from the unit processor 1 with larger x and y coordinates to the unit processor 1 with smaller x and y coordinates. When each of RPLYX2c and RPLYY3c is "1", each of REQX2b and REQY3b can be set to "1". 2d and 31d
are 1-bit signal lines (called CMPLX and CMPLY) that indicate that processing is complete when the value is "1", and data is transferred from unit processor 1 with small x and y coordinates to unit processor 1 with large x and y coordinates. be done. The control processor 4 calculates x=x nax , y=
CMPLX2d of unit processor 1 corresponding to y nax
By receiving this, it is possible to know that processing of the entire processor array has been completed.
第4図a及びbは、それぞれ第2図の画像処理
方式において、信号線2a及び3aを介して転送
されるデータの一般的な形式を示す図、及び各デ
ータの種類とその内容を示す図である。第4図a
において、8はデータの種類を示す部分(TAG
という)であり、9はデータの値を示す部分
(BODYという)である。第4図bに示す様に、
TAG8が「MTX」という値の時、BODY9は
アフイン変換を定める行列の値であり、この場合
のデータはすべての単位プロセツサ1に伝達され
る。TAG8が「PRD」という値の時、BODY9
は単位プロセツサ1の座標(原座標という)にア
フイン変換の逆変換を施した座標(目的座標とい
う)であり、この場合のデータは隣接した単位プ
ロセツサ1に伝達される。TAG8が「FWD」と
いう値の時、BODY9は目的座標及び原座標で
あり、この場合のデータは目的座標に相当する単
位プロセツサ1に送られる。TAG8が「BWD」
という値の時、BODY9は原座標及び目的座標
の画素値であり、この場合のデータは原座標に相
当する単位プロセツサ1に送られる。TAG8が
「CMP」という値の時、BODY9は目的座標の画
素値であり、この場合のデータは原座標に相当す
る単位プロセツサ1に送られる。 Figures 4a and 4b are diagrams showing the general format of data transferred via signal lines 2a and 3a in the image processing method shown in Figure 2, and diagrams showing the types and contents of each data, respectively. It is. Figure 4a
, 8 is the part indicating the type of data (TAG
), and 9 is a part (called BODY) that indicates the data value. As shown in Figure 4b,
When TAG8 has the value "MTX", BODY9 is the value of a matrix that defines affine transformation, and the data in this case is transmitted to all unit processors 1. When TAG8 has the value “PRD”, BODY9
are the coordinates (referred to as target coordinates) obtained by subjecting the coordinates of the unit processor 1 (referred to as original coordinates) to the inverse transformation of the affine transformation, and the data in this case is transmitted to the adjacent unit processor 1. When TAG8 has a value of "FWD", BODY9 is the target coordinate and original coordinate, and the data in this case is sent to the unit processor 1 corresponding to the target coordinate. TAG8 is “BWD”
When the value is , BODY9 is the pixel value of the original coordinates and the target coordinates, and the data in this case is sent to the unit processor 1 corresponding to the original coordinates. When TAG8 has the value "CMP", BODY9 is the pixel value of the target coordinates, and the data in this case is sent to the unit processor 1 corresponding to the original coordinates.
第5図は、第2図の画像処理方式において、1
つの単位プロセツサの内部構成の一例を示すブロ
ツク構成図で、第2図及び第3図と同一符号は同
一、又は相当の構成要素であるので、その説明は
省略する。図において、10a及び10bは各信
号線2a及び3aを介して隣接する単位プロセツ
サ1から転送されたデータを格納するレジスタ
(IBX及びIBYという)である。11a及び11
bは各信号線2a及び3aを介して隣接する単位
プロセツサ1へ転送すべきデータを格納するレジ
スタ(OBX及びOBYという)である。12は原
座標を格納するレジスタ(Pという)である。1
3はアフイン変換を施す前の単位プロセツサ1の
座標の画素値を格納するレジスタ(DSという)
である。14はアフイン変換を施した後の単位プ
ロセツサ1の座標の画素値を格納するレジスタ
(DDという)である。15はデータの転送を制
御するスイツチ回路(SWという)であり、この
SW15は各IBX10a,IBY10b,OBX11
a,OBY11b,P12,DS13及びDD14
との間で、各信号線16a,16b,17a,1
7b及び18〜20を介してデータを転送する。
21は単位プロセツサ1の動作を制御する回路
(CNTという)であり、このCNT21は各信号
線2b〜2d及び3b〜3dを介した各単位プロ
セツサ1間のデータの転送の制御と、各IBX10
a,IBY10b,OBX11a,OBY11b,P
12,DS13,DD14及びSW15の構成要素
の制御を行う。なお、説明を簡単にするため、
CNT21と各IBX10a,IBY10b,OBX1
1a,OBY11b,P12,DS13,DD14
及びSW15の間の制御用信号線は省略してあ
る。 FIG. 5 shows that in the image processing method shown in FIG.
3 is a block configuration diagram showing an example of the internal configuration of a unit processor; the same reference numerals as in FIGS. 2 and 3 represent the same or equivalent components, and therefore the description thereof will be omitted. FIG. In the figure, 10a and 10b are registers (referred to as IBX and IBY) that store data transferred from adjacent unit processors 1 via respective signal lines 2a and 3a. 11a and 11
Registers b (referred to as OBX and OBY) store data to be transferred to the adjacent unit processor 1 via each signal line 2a and 3a. 12 is a register (referred to as P) that stores the original coordinates. 1
3 is a register (referred to as DS) that stores the pixel value of the coordinates of unit processor 1 before affine transformation is applied.
It is. Reference numeral 14 denotes a register (referred to as DD) for storing the pixel value at the coordinates of the unit processor 1 after affine transformation. 15 is a switch circuit (called SW) that controls data transfer;
SW15 is each IBX10a, IBY10b, OBX11
a, OBY11b, P12, DS13 and DD14
Each signal line 16a, 16b, 17a, 1
7b and 18-20.
21 is a circuit (referred to as CNT) that controls the operation of the unit processor 1, and this CNT 21 controls data transfer between each unit processor 1 via each signal line 2b to 2d and 3b to 3d, and controls each IBX 10.
a, IBY10b, OBX11a, OBY11b, P
12, DS13, DD14 and SW15. In addition, to simplify the explanation,
CNT21 and each IBX10a, IBY10b, OBX1
1a, OBY11b, P12, DS13, DD14
The control signal line between SW15 and SW15 is omitted.
次に、上記したこの発明の一実施例である画像
処理方式の動作について説明する。この画像処理
方式による全体の処理は、以下に示す方式で行わ
れる。 Next, the operation of the image processing system which is an embodiment of the invention described above will be explained. The overall processing by this image processing method is performed in the following manner.
ステツプA1:制御プロセツサ4からTAG8
が「MTX」のデータを入力する。このデータは
順次にすべての単位プロセツサ1に伝達される。 Step A1: Control processor 4 to TAG8
inputs the data of “MTX”. This data is sequentially transmitted to all unit processors 1.
ステツプA2:各単位プロセツサ1は
「MTX」のデータと単位プロセツサ1の原座標
から目的座標を計算する。 Step A2: Each unit processor 1 calculates target coordinates from the "MTX" data and the original coordinates of the unit processor 1.
ステツプA3:ステツプA2で計算した目的座
標がx又はy座標の上限又は下限を超えた単位プ
ロセツサ1はステツプA7に行く。 Step A3: If the target coordinate calculated in step A2 exceeds the upper or lower limit of the x or y coordinate, the unit processor 1 goes to step A7.
ステツプA4:ステツプA2で計算した目的座
標にTAG8の「PRD」を付して、隣接する単位
プロセツサ1に転送する。 Step A4: Add "PRD" of TAG8 to the target coordinates calculated in Step A2 and transfer them to the adjacent unit processor 1.
ステツプA5:ステツプA4で転送された目的
座標と単位プロセツサ1自身の目的座標が一致し
た単位プロセツサ1は、ステツプA7に行く。 Step A5: When the target coordinates transferred in step A4 match the target coordinates of the unit processor 1 itself, the unit processor 1 goes to step A7.
ステツプA6:目的座標と原座標にTAG8の
「FWD」を付して送出する。 Step A6: Add "FWD" of TAG8 to the target coordinates and original coordinates and send them.
ステツプA7:「FWD」のデータを順次に目的
座標に相当する単位プロセツサ1に転送する。 Step A7: Sequentially transfer the "FWD" data to the unit processors 1 corresponding to the target coordinates.
ステツプA8:「FWD」のデータの目的座標と
単位プロセツサ1自身の座標が一致した単位プロ
セツサ1は、「FWD」のデータの原座標と単位プ
ロセツサ1が保持している画素値に、TAG8の
「BWD」を付して送出する。 Step A8: When the target coordinates of the "FWD" data match the coordinates of the unit processor 1 itself, the unit processor 1 adds the "FWD"data's original coordinates and the pixel value held by the unit processor 1 to the TAG8 " BWD” and send it.
ステツプA9:「BWD」のデータを順次に原
座標に相当する単位プロセツサ1に転送する。 Step A9: Sequentially transfer the "BWD" data to the unit processor 1 corresponding to the original coordinates.
ステツプA10:「BWD」のデータの原座標
と単位プロセツサ1自身の原座標が一致した単位
プロセツサ1は、「BWD」のデータの画素値を
取り込む。また、画素値にTAG8の「CMP」を
付して隣接する単位プロセツサ1に転送する。 Step A10: The unit processor 1 whose original coordinates of the "BWD" data match the original coordinates of the unit processor 1 itself takes in the pixel value of the "BWD" data. Further, "CMP" of TAG8 is added to the pixel value and transferred to the adjacent unit processor 1.
ステツプA11:「CMP」のデータを受け取つ
た単位プロセツサ1が、ステツプA5の条件を満
たした単位プロセツサ1であれば、「CMP」のデ
ータの画素値を取り込み、隣接する単位プロセツ
サ1に送出する。 Step A11: If the unit processor 1 that received the "CMP" data satisfies the condition of step A5, it takes in the pixel value of the "CMP" data and sends it to the adjacent unit processor 1.
ステツプA12:各ステツプA3,ステツプA
10又はステツプA11の条件を満たした単位プ
ロセツサ1は、隣接する単位プロセツサ1から転
送される各CMPLX2d及びCMPLY3dの値が
共に「1」であれば、各CMPLX2d及び
CMPLY3dを「1」にして送出する。 Step A12: Each step A3, step A
10 or step A11, if the values of each CMPLX2d and CMPLY3d transferred from the adjacent unit processor 1 are both "1", the unit processor 1
Set CMPLY3d to "1" and send.
ステツプA13:x=xnax,y=ynaxの単位プ
ロセツサ1から送出されるCMPLX2dが、「1」
になつたことを制御プロセツサ4が検知して処理
の完了を知る。なお、上述した処理の内、各プロ
セツサA4,A5,A10及びA11は、デイジ
タル化の影響によつて多くの単位プロセツサ1が
同一の目的座標を有した場合に発生する。これ
は、目的座標に相当する単位プロセツサ1の周辺
でのデータの混雑を避けるための処理である。ま
た、上述した処理は各単位プロセツサ1において
並列に実行される。 Step A13: CMPLX2d sent from the unit processor 1 of x=x nax , y=y nax is "1".
The control processor 4 detects this and knows that the processing is complete. Incidentally, among the above-mentioned processes, each of the processors A4, A5, A10 and A11 occurs when many unit processors 1 have the same target coordinates due to the influence of digitization. This is a process to avoid data congestion around the unit processor 1 corresponding to the target coordinates. Further, the above-described processing is executed in parallel in each unit processor 1.
次に、各単位プロセツサ1におけるデータの転
送の方式を説明する。説明を簡単にするために、
データは信号線2aを経由してx方向から転送さ
れるものとする。また、データのTAG8は
「FWD」であり、データの目的座標は単位プロセ
ツサ1の座標と一致しないものとする。データの
転送は以下に示す方式で行われる。 Next, the method of data transfer in each unit processor 1 will be explained. To simplify the explanation,
It is assumed that data is transferred from the x direction via the signal line 2a. Further, it is assumed that TAG8 of the data is "FWD" and the target coordinates of the data do not match the coordinates of the unit processor 1. Data transfer is performed using the method shown below.
ステツプB1:隣接する単位プロセツサ1から
の信号線2aにデータがセツトされ、REQX2
bが「1」にセツトされる。 Step B1: Data is set on the signal line 2a from the adjacent unit processor 1, and REQX2
b is set to "1".
ステツプB2:データをIBX10aにセツトす
る。 Step B2: Set data to IBX 10a.
ステツプB3:データの目的座標のx成分が単
位プロセツサ1の座標のx成分に一致する場合
は、ステツプB6に行く。 Step B3: If the x component of the target coordinate of the data matches the x component of the coordinate of the unit processor 1, go to step B6.
ステツプB4:隣接する単位プロセツサ1から
のRPLYX2cが「1」であれば、データを
OBX11aにセツトし、REQX2bを「1」に
セツトする。また、RPLYX2cを「1」にセツト
して転送を終了する。 Step B4: If RPLYX2c from the adjacent unit processor 1 is "1", the data is
OBX11a and REQX2b to "1". Also, RPLYX2c is set to "1" to end the transfer.
ステツプB5:隣接する単位プロセツサ1から
のRPLYX2cが「0」であれば、RPLYX2c
を「0」にセツトしてステツプB4にもどる。 Step B5: If RPLYX2c from the adjacent unit processor 1 is "0", RPLYX2c
is set to "0" and returns to step B4.
ステツプB6:RPLYY3cとREQY3b及び
OBY11bについて、各ステツプB4及びB5
の処理を行う。 Step B6: RPLYY3c and REQY3b and
For OBY11b, each step B4 and B5
Process.
次に、上述したステツプA1〜A13の処理
を、各単位プロセツサ1がどの様に行うかを説明
する。各単位プロセツサ1は、以下に示す8つの
状態を取ることができる。 Next, a description will be given of how each unit processor 1 performs the processing in steps A1 to A13 described above. Each unit processor 1 can take the following eight states.
ステート1:初期状態に「MTX」のデータが
入力されると、それにしたがつて、目的座標を計
算する。その結果がx又はy座標の上限又は下限
を超えた場合は、DD14に適当な値(例えば
「0」)をセツトし、ステート8に行く。そうでな
ければ、目的座標にTAG8の「PRD」を付し
て、x及びy方向の隣接する単位プロセツサ1に
出力する。単位プロセツサ1の座標がx=xnio又
はy=ynioであれば、ステート3へ、そうでなけ
ればステート2へそれぞれ行く。 State 1: When "MTX" data is input in the initial state, the target coordinates are calculated accordingly. If the result exceeds the upper or lower limit of the x or y coordinate, set DD14 to an appropriate value (for example, "0") and go to state 8. Otherwise, "PRD" of TAG8 is added to the target coordinates and output to the adjacent unit processors 1 in the x and y directions. If the coordinates of unit processor 1 are x=x nio or y=y nio , the process goes to state 3, otherwise it goes to state 2.
ステート2:x又はy方向の隣接する単位プロ
セツサ1から「PRD」のデータが入力されると、
その目的座標と単位プロセツサ1の目的座標を比
較する。x方向から入力された目的座標と単位プ
ロセツサ1の目的座標が一致すればステート5
へ、y方向から入力された目的座標と単位プロセ
ツサ1の目的座標が一致すればステート6へ、そ
うでなければステータ3へそれぞれ行く。 State 2: When "PRD" data is input from adjacent unit processor 1 in the x or y direction,
The target coordinates are compared with the target coordinates of the unit processor 1. If the target coordinates input from the x direction match the target coordinates of unit processor 1, state 5 occurs.
If the target coordinates input from the y direction match the target coordinates of the unit processor 1, the process goes to state 6; otherwise, the process goes to stator 3.
ステータ3:単位プロセツサ1の目的座標と原
座標にTAG8の「FWD」を付して出力し、ステ
ート4へ行く。 Stator 3: Outputs the target coordinates and original coordinates of unit processor 1 with TAG8 "FWD" attached, and goes to state 4.
ステート4:「BWD」のデータが入力され、
その目的座標と単位プロセツサ1の原座標が一致
すれば、その画素値をDD14にセツトし、ステ
ート7に行く。 State 4: “BWD” data is input,
If the target coordinates match the original coordinates of the unit processor 1, the pixel value is set in the DD 14 and the process goes to state 7.
ステート5:x方向の単位プロセツサ1から
「CMP」のデータが入力されると、その画素値を
DD14にセツトし、ステート7に行く。 State 5: When “CMP” data is input from unit processor 1 in the x direction, the pixel value is
Set to DD14 and go to state 7.
ステート6:y方向の単位プロセツサ1から
「CMP」のデータが入力されると、その画素値を
DD14にセツトし、ステート7に行く。 State 6: When "CMP" data is input from unit processor 1 in the y direction, the pixel value is
Set to DD14 and go to state 7.
ステート7:DD14の値にTAG8の「CMP」
を付して出力し、ステート8に行く。 State 7: “CMP” of TAG8 to the value of DD14
is attached and output, and the process goes to state 8.
ステート8:CMPLX2d及びCMPLY3dか
ら「1」が入力されると、CMPLX2d及び
CMPLY3dに「1」を出力する。 State 8: When “1” is input from CMPLX2d and CMPLY3d, CMPLX2d and
Output "1" to CMPLY3d.
なお、上記したいずれの状態においても、
「FWD」又は「BWD」のデータが入力され、そ
の目的座標と単位プロセツサ1の原座標が一致し
なければ、上述したステツプB1〜B6にしたが
つてそのデータを転送する。また、「FWD」のデ
ータが入力され、その目的座標と単位プロセツサ
1の原座標が一致すれば、「FWD」のデータの原
座標と、DS13に保持している画素値に、TAG
8の「BWD」を付して出力する。 In addition, in any of the above states,
If "FWD" or "BWD" data is input and the target coordinates do not match the original coordinates of the unit processor 1, the data is transferred according to steps B1 to B6 described above. Also, if the "FWD" data is input and the target coordinates and the original coordinates of the unit processor 1 match, the original coordinates of the "FWD" data and the pixel value held in the DS13 are added to the TAG.
Output with "BWD" of 8.
上述した様に、この発明による画像処理方式に
したがえば、上記ステート3において「FWD」
のデータが出力され、そのデータが目的座標に相
当する単位プロセツサ1を経由して、再び原座標
に相当する単位プロセツサ1に到達するまでに経
由する単位プロセツサ1の数は、たかだか2×N
個である。また、「MTX」のデータの転送及び
CMPLX2d及びCMPLY3dを用いた処理完了
の検出のために経由する単位プロセツサ1の数は
N個である。したがつて、データの転送の過程に
おいて、各信号線2a及び3aを同時に複数のデ
ータが共有し様とした場合に発生する待ち時間を
除外すれば、アフイン変換の処理時間はNに比例
したものとなる。そして、この発明による画像処
理方式においては、上述の様に多数の単位プロセ
ツサ1が同一の目的座標を有した場合に、実際
に、「FWD」のデータを出力する単位プロセツサ
1の数を減少させる処理方式を採用している。し
たがつて、各信号線2a及び3aの共有による待
ちの発生の可能性が大幅に削除されるために、N
に比例した処理時間に非常に近い処理時間でアフ
イン変換を行うことができる。 As mentioned above, according to the image processing method according to the present invention, in the above state 3, "FWD"
The number of unit processors 1 through which the data is output, passes through the unit processor 1 corresponding to the target coordinates, and reaches the unit processor 1 corresponding to the original coordinates again is 2 x N at most.
It is individual. In addition, “MTX” data transfer and
The number of unit processors 1 that are passed through to detect the completion of processing using CMPLX2d and CMPLY3d is N. Therefore, in the process of data transfer, if we exclude the waiting time that occurs when multiple pieces of data try to share each signal line 2a and 3a at the same time, the processing time for affine transformation is proportional to N. becomes. In the image processing method according to the present invention, when a large number of unit processors 1 have the same target coordinates as described above, the number of unit processors 1 that output "FWD" data is actually reduced. A processing method is used. Therefore, since the possibility of waiting due to sharing of each signal line 2a and 3a is largely eliminated, N
Affin transformation can be performed in a processing time very close to that proportional to .
なお、上記実施例においては、特定の装置構成
例について説明したが、この発明では、上記した
装置構成例には限定されるものではないことは云
うまでもない。 In the above embodiments, a specific device configuration example has been described, but it goes without saying that the present invention is not limited to the above-described device configuration example.
この発明は以上説明した様に、画像処理方式に
おいて、2次元座標平面上の格子点に対応する単
位プロセツサ群から成るプロセツサ・アレイを用
いて、このプロセツサ・アレイの各単位プロセツ
サが、該当単位プロセツサに対応する格子点の原
座標にアフイン変換の逆変換を施して目的座標を
得て、この目的座標に対応する単位プロセツサに
原座標を転送し、この原座標を受け取つた目的座
標に対応する単位プロセツサが、その画素値を原
座標に対応する単位プロセツサに転送する処理
を、各格子点ごとに並列に行う様にしたので、こ
の種の従来例のものと比べて、画像処理における
アフイン変換を極めて高速に行うことができると
いう優れた効果を奏するものである。
As explained above, the present invention uses a processor array consisting of a group of unit processors corresponding to grid points on a two-dimensional coordinate plane in an image processing method, and each unit processor of this processor array is configured to process a corresponding unit processor. The target coordinates are obtained by performing the inverse affine transformation on the original coordinates of the lattice points corresponding to Since the processor transfers the pixel value to the unit processor corresponding to the original coordinates in parallel for each grid point, it is possible to reduce the affine transformation in image processing compared to this type of conventional example. This has the excellent effect of being able to be carried out at extremely high speed.
第1図は従来の画像処理方式の一例を示すフロ
ーチヤート図、第2図はこの発明の一実施例であ
る画像処理方式を示すブロツク構成図、第3図
は、第2図の画像処理方式において、各単位プロ
セツサ間を接続する信号線の構成を示す図、第4
図a及びbは、それぞれ第2図の画像処理方式に
おいて、信号線を介して転送されるデータの一般
的な形式を示す図、第5図は、第2図の画像処理
方式において、1つの単位プロセツサの内部構成
の一例を示すブロツク構成図である。
図において、1……単位プロセツサ、2,2a
〜2d,3,3a〜3d,5,7,16a,16
b,17a,17b,18〜20……信号線、4
……制御プロセツサ、6……セレクタ、8……デ
ータの種類を示す部分(TAG)、9……データの
値を示す部す部分(BODY)、10a,10b,
11a,11b,12〜14……レジスタ、15
……スイツチ回路(SW)、21……単位プロセ
ツサ1の動作を制御する回路(CNT)である。
なお、各図中、同一符号は同一、又は相当部分を
示す。
FIG. 1 is a flowchart showing an example of a conventional image processing method, FIG. 2 is a block diagram showing an image processing method according to an embodiment of the present invention, and FIG. 3 is a flowchart showing an example of a conventional image processing method. 4, a diagram showing the configuration of signal lines connecting each unit processor.
Figures a and b are diagrams showing the general format of data transferred via the signal line in the image processing method of Figure 2, respectively, and Figure 5 is a diagram showing the general format of data transferred via the signal line in the image processing method of Figure 2. FIG. 2 is a block configuration diagram showing an example of the internal configuration of a unit processor. In the figure, 1...unit processor, 2, 2a
~2d, 3, 3a ~ 3d, 5, 7, 16a, 16
b, 17a, 17b, 18-20...signal line, 4
...Control processor, 6...Selector, 8...Part indicating the type of data (TAG), 9...Part indicating the value of data (BODY), 10a, 10b,
11a, 11b, 12-14...Register, 15
. . . switch circuit (SW); 21 . . . a circuit (CNT) for controlling the operation of the unit processor 1;
In each figure, the same reference numerals indicate the same or equivalent parts.
Claims (1)
れた画素値を対応させたデイジタル画像に対して
アフイン変換を施す処理において、この処理を、
前記2次元座標平面上の格子点に対応する単位プ
ロセツサ群から成るプロセツサ・アレイを用いて
行う手段と、前記処理において、前記プロセツ
サ・アレイの各単位プロセツサが、該当単位プロ
セツサに対応する格子点の原座標に前記アフイン
変換の逆変換を施して目的座標を得て、この目的
座標に対応する単位プロセツサに前記原座標を転
送し、この原座標を受け取つた前記目的座標に対
応する単位プロセツサが、その画素値を前記原座
標に対応する単位プロセツサに転送を行う手段
と、前記原座標及び画素値の転送を、前記各単位
プロセツサを経由して並列に行う手段とから成る
ことを特徴とする画像処理方式。1 In the process of performing affine transformation on a digital image in which digitized pixel values correspond to grid points on a two-dimensional coordinate plane, this process is
means using a processor array consisting of a group of unit processors corresponding to a grid point on the two-dimensional coordinate plane; The original coordinates are subjected to an inverse transformation of the affine transformation to obtain the target coordinates, the original coordinates are transferred to a unit processor corresponding to the target coordinates, and the unit processor corresponding to the target coordinates that receives the original coordinates, An image characterized by comprising means for transferring the pixel values to a unit processor corresponding to the original coordinates, and means for transferring the original coordinates and pixel values in parallel via each of the unit processors. Processing method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59130040A JPS619763A (en) | 1984-06-26 | 1984-06-26 | Picture processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59130040A JPS619763A (en) | 1984-06-26 | 1984-06-26 | Picture processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS619763A JPS619763A (en) | 1986-01-17 |
| JPH0157830B2 true JPH0157830B2 (en) | 1989-12-07 |
Family
ID=15024641
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59130040A Granted JPS619763A (en) | 1984-06-26 | 1984-06-26 | Picture processing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS619763A (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62206678A (en) * | 1986-03-07 | 1987-09-11 | Agency Of Ind Science & Technol | Parallel data processing system |
| DE3804938C2 (en) | 1987-02-18 | 1994-07-28 | Canon Kk | Image processing device |
-
1984
- 1984-06-26 JP JP59130040A patent/JPS619763A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS619763A (en) | 1986-01-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5657403A (en) | Vision coprocessing | |
| EP0208870A1 (en) | Vector data processor | |
| US5136662A (en) | Image processor for sequential processing of successive regions of an image | |
| JPH08235130A (en) | Parallel processor | |
| JPH0157830B2 (en) | ||
| JP2020140546A (en) | Data processing device and its method | |
| JP2508620B2 (en) | Logic circuit simulation device | |
| GB2206428A (en) | Computer | |
| JPH10224224A (en) | Semiconductor arithmetic unit | |
| GB2213621A (en) | Information processing systems | |
| JP2792559B2 (en) | Color image processing equipment | |
| JPS58215813A (en) | Digital signal processing device | |
| JP2819661B2 (en) | Discrete cosine transform / scalar quantization transform circuit | |
| Joshi et al. | Multi-core image processing system using network on chip interconnect | |
| JPS61148562A (en) | Data transfer system of information processor | |
| JP2775307B2 (en) | Data collection device for magnetic resonance diagnostic equipment | |
| JPH02245978A (en) | Picture processor | |
| JPH05134990A (en) | Data transfer device | |
| CN113836481A (en) | Matrix computing circuit, method, electronic device, and computer-readable storage medium | |
| JP2588042B2 (en) | Data processing circuit | |
| JPH0126108B2 (en) | ||
| JP2001209617A (en) | Parallel processor and image processing apparatus using the same | |
| JPS6083181A (en) | Two-dimensional matching circuit | |
| JPS60179871A (en) | Array processor | |
| JPH09185602A (en) | Vector processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |