Nothing Special   »   [go: up one dir, main page]

JPH0785266A - Image rotating device - Google Patents

Image rotating device

Info

Publication number
JPH0785266A
JPH0785266A JP5228850A JP22885093A JPH0785266A JP H0785266 A JPH0785266 A JP H0785266A JP 5228850 A JP5228850 A JP 5228850A JP 22885093 A JP22885093 A JP 22885093A JP H0785266 A JPH0785266 A JP H0785266A
Authority
JP
Japan
Prior art keywords
image
processing unit
memory
rotation
horizontal
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
JP5228850A
Other languages
Japanese (ja)
Inventor
Hiroshi Uranaka
中 洋 浦
Akio Uesugi
杉 明 夫 上
Hisashi Takayama
山 久 高
Shigeo Shimazaki
崎 成 夫 島
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP5228850A priority Critical patent/JPH0785266A/en
Publication of JPH0785266A publication Critical patent/JPH0785266A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

PURPOSE:To attain high speed image rotating processing without magnifying an original picture in its vertical direction. CONSTITUTION:This picture rotating device is provided with a 1st memory 101 for storing an original picture, an input processing part 102 for inputting the image data of the original picture from the memory 101, a horizontally magnifying/reducing processing part 103 for converting the number of horizontal picture elements in the image data obtained from the processing part 102, an output processing part 104 for writing the image data obtained from the processing part 103 in a specified address of the 2nd memory 105, and an overall control part 106 for controlling the whole device. At the time of arranging respective picture elements in a result image obtained by rotating the original picture on respective grating points on a two-dimensional coordinate system, the processing part 104 calculates the number of picture elements of the result image existing on the same horizontal grating line and simultaneously writes the data of each word unit to be stored in the same word stored in the 2nd memory 105.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ディジタル画像の回転
処理を行なう画像回転装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image rotating device for rotating a digital image.

【0002】[0002]

【従来の技術】近年、コンピュータの利用技術の進歩に
伴い、コンピュータ上で画像を編集する処理が増えてき
ており、特に画像の回転処理の高速化や高画質化のため
に、画像回転装置が利用されるようになってきた。この
画像回転装置は、例えば特開昭63−191192号公
報に記載された構成が知られている。以下、従来の画像
回転装置について説明する。
2. Description of the Related Art In recent years, with the progress of computer utilization technology, the number of processes for editing images on a computer is increasing. Especially, in order to speed up the image rotation process and improve the image quality, an image rotation device is required. It has come to be used. This image rotation device is known, for example, in the structure disclosed in Japanese Patent Laid-Open No. 63-191192. The conventional image rotation device will be described below.

【0003】従来の画像回転装置における処理は、原画
から回転角θに応じた縦拡大横縮小画像を算出する画素
数変換処理と、傾きθの直線に沿って転送先の格子点座
標を算出し、縦拡大横縮小画像を格子点に転送する画素
転送処理とからなる。
The processing in the conventional image rotating apparatus is the number-of-pixels conversion processing for calculating a vertically enlarged and horizontally reduced image according to the rotation angle θ from the original image, and the grid point coordinates of the transfer destination along the straight line of the inclination θ. Pixel transfer processing for transferring the vertically enlarged and horizontally reduced image to the lattice points.

【0004】このような、従来の画像回転装置における
1次元の画像の回転処理について図11を用いて説明す
る。図11は、1次元の原画像を、回転の中心を原点と
して角度θだけ回転する場合の処理を説明するためのも
のである。図11において、原点を通り、傾きがtan
θの直線をL、この直線Lと各垂直格子線との交点を左
から順に(E0 、E1 、E2 、…)と表す。また、(E
0 、E1 、E2 、…)から1番近い格子点を(C0 、C
1 、C2 …)と表す。
The rotation processing of a one-dimensional image in such a conventional image rotation apparatus will be described with reference to FIG. FIG. 11 is for explaining the processing in the case of rotating the one-dimensional original image by the angle θ with the center of rotation as the origin. In FIG. 11, the origin is passed and the inclination is tan
The straight line of θ is represented by L, and the intersections of this straight line L and each vertical grid line are represented by (E 0 , E 1 , E 2 , ...) In order from the left. Also, (E
0 , E 1 , E 2 , ...) is the closest lattice point to (C 0 , C
1 , C 2 ...).

【0005】1次元の画像の回転処理は、原画像を回転
角に応じて縮小し、縮小された画像の各画素を順番に、
直線Lから算出される格子点(C0 、C1 、C2 …)に
転送すれば実現することができる。以下、(C0
1 、C2 …)のように、原画像の画素を転送する格子
点を転送格子点と称することにする。
In the rotation processing of a one-dimensional image, the original image is reduced according to the rotation angle, and each pixel of the reduced image is sequentially
This can be realized by transferring to the lattice points (C 0 , C 1 , C 2 ...) Calculated from the straight line L. Hereinafter, (C 0 ,
Grid points for transferring pixels of the original image, such as C 1 , C 2 ...), are referred to as transfer grid points.

【0006】以下、W個の画素で構成される1次元の画
像に対する処理の手順を説明する。 ステップ1.1 直線Lと垂直格子線の交点Ei (iは整数)に、最も近
い格子点Ci のx座標XCi とy座標YCi を以下の式
から算出する。ただし、この時iは、0≦i<[Wco
sθ+0.5]を満たすものとする。この結果、[Wc
osθ+0.5]個の格子点Ci の座標を求めることと
なる。 XCi =i ・・・(1) YCi =[i×tanθ+0.5] ・・・(2) なお、[x]はxを越えない最大の整数を表す。
The procedure of processing a one-dimensional image composed of W pixels will be described below. Step 1.1 The x coordinate XC i and the y coordinate YC i of the closest grid point C i to the intersection E i (i is an integer) of the straight line L and the vertical grid line are calculated from the following formulas. However, at this time, i is 0 ≦ i <[Wco
sθ + 0.5] is satisfied. As a result, [Wc
The coordinates of the os θ + 0.5] grid points C i are obtained. XC i = i (1) YC i = [i × tan θ + 0.5] (2) Note that [x] represents the maximum integer not exceeding x.

【0007】ステップ1.2 画素数がW個からなる原画像を、[Wcosθ+0.
5]の画素からなる画像に縮小する処理を行なう。
Step 1.2 The original image having W pixels is represented by [Wcos θ + 0.
5] The image is reduced to an image composed of pixels.

【0008】ステップ1.3 ステップ1.2の処理で縮小した画像の各画素を、ステ
ップ1.1で算出した[Wcosθ+0.5]個の格子
点に、順に転送する処理を行なう。このようにして1次
元画像の回転処理を行なうことができる。
Step 1.3 Each pixel of the image reduced in the process of step 1.2 is sequentially transferred to the [Wcos θ + 0.5] lattice points calculated in step 1.1. In this way, the rotation processing of the one-dimensional image can be performed.

【0009】次に、2次元の矩形画像の回転処理につい
て、図12を用いて説明する。図12は、2次元の画像
を回転の中心を原点として角度θだけ回転する場合の、
従来の処理を説明するためのものである。図12におい
て、y切片をk(kは整数)、傾きがtanθの直線を
k とする。つまり、直線Lk は以下のように表され
る。 Lk :y=(tanθ)x−k ・・・(3) また、原点を通り、傾きが(−tan(π/2−θ))
の直線をGと表す。つまり、直線Gは以下のように表さ
れる。 G:y=−(tan(π/2−θ))x ・・・(4)
Next, the rotation processing of a two-dimensional rectangular image will be described with reference to FIG. FIG. 12 shows a case where a two-dimensional image is rotated by an angle θ with the center of rotation as the origin.
This is for explaining the conventional processing. In FIG. 12, it is assumed that the y-intercept is k (k is an integer) and the straight line having a slope tan θ is L k . That is, the straight line L k is represented as follows. L k : y = (tan θ) x−k (3) Further, the inclination passes through the origin and the inclination is (−tan (π / 2−θ)).
Is represented by G. That is, the straight line G is expressed as follows. G: y =-(tan (π / 2−θ)) x (4)

【0010】2次元の矩形画像の回転処理は、はじめに
原画像を垂直方向に拡大し、拡大された画像のk番目の
水平1ラインの各画素を、直線Lk から算出される転送
格子点に転送すれば実現することができる。ただし、こ
の時、拡大された画像のk番目の水平1ラインの最初の
画素は、直線Lk と直線Gの交点からもっとも近い格子
点に転送されるようにする。本明細書では、各水平1ラ
インの最初の画素が転送される格子点を転送格子点と称
す。従来の画像回転装置では、転送格子点は、直線Lk
と直線Gの交点からもっとも近い格子点となる。
To rotate a two-dimensional rectangular image, the original image is first enlarged in the vertical direction, and each pixel of the kth horizontal one line of the enlarged image is transferred to a transfer grid point calculated from the straight line L k. It can be realized by transferring. However, at this time, the first pixel of the k-th horizontal 1-line of the enlarged image is transferred to the closest grid point from the intersection of the straight line L k and the straight line G. In this specification, a grid point to which the first pixel of each horizontal 1 line is transferred is referred to as a transfer grid point. In the conventional image rotation device, the transfer grid points are straight lines L k.
The grid point is the closest to the intersection of the line G and the line G.

【0011】次に、水平方向の画素数がW個、垂直方向
の画素数がH個からなる2次元の矩形画像を回転する場
合の従来の画像回転装置の処理の手順を説明する。 ステップ2.1 垂直方向の画素数がH個からなる原画像を、垂直方向の
画素数が[H/cosθ+0.5]個になるように、画
像を垂直方向に拡大する処理を行なう。
Next, the procedure of the processing of the conventional image rotation apparatus when rotating a two-dimensional rectangular image having W horizontal pixels and H vertical pixels will be described. Step 2.1 A process of vertically enlarging the original image having H pixels in the vertical direction is performed so that the number of pixels in the vertical direction becomes [H / cos θ + 0.5].

【0012】ステップ2.2 ステップ2.1の処理で垂直方向に拡大した2次元の矩
形画像の、各水平1ラインに対して、前記したステップ
1.1からステップ1.3までの処理を行なう。ただ
し、ステップ2.1の処理で垂直方向に拡大した2次元
の矩形画像の、k番目の水平1ラインを処理する時に
は、ステップ1.1で示した直線Lを直線Lk にし、ま
たiの範囲を以下のように処理を行なう。これは、直線
Lk と直線Gの交点のx座標が、kcosθsinθと
表されるためである。 i:[kcosθsinθ+0.5]≦i<[kcosθsinθ+0. 5]+[Wsinθ+0.5] ・・・(5) 以上の処理を行なうことにより、2次元画像の回転処理
を行なうことができる。
Step 2.2 The above steps 1.1 to 1.3 are performed for each horizontal line of the two-dimensional rectangular image enlarged in the vertical direction in the step 2.1. . However, when processing the kth horizontal one line of the two-dimensional rectangular image enlarged in the vertical direction in the process of step 2.1, the straight line L shown in step 1.1 is changed to the straight line Lk, and the range of i Is processed as follows. This is because the x coordinate of the intersection of the straight line Lk and the straight line G is expressed as kcos θ sin θ. i: [kcos θ sin θ + 0.5] ≦ i <[k cos θ sin θ + 0. 5] + [Wsin θ + 0.5] (5) By performing the above processing, the rotation processing of the two-dimensional image can be performed.

【0013】次に、上記の原理に基づく従来の画像回転
装置について、その構成を図13を用いて説明する。図
13は、従来の画像回転装置を示すものである。図13
において、1301は、原画像を記憶するメモリであ
る。1302は、画像の回転角情報を保持している回転
角保持装置である。1303は、メモリ1301から原
画像を入力し、回転角保持装置1302からの出力に基
いて原画像を水平方向に縮小し、垂直方向に拡大するこ
とにより、画像の画素数を変換する画素数変換装置であ
る。1304は、回転角保持装置1302からの出力に
基づき、格子点の座標を算出する格子点座標算出装置で
ある。1305は、格子点座標算出装置1304で算出
された格子点のx座標を格納するx座標格納装置であ
る。1306は、格子点座標算出装置1304で算出さ
れた格子点のy座標を格納するy座標格納装置である。
x座標格納装置1305およびy座標格納装置1306
の出力は、格子点座標算出装置1304に入力され、次
の格子点の座標の算出に使用される。1307は、画素
数変換装置1303の出力を一時記憶する一時記憶装置
である。1308は、x座標格納装置1305およびy
座標格納装置1306の出力に基づき結果画像を格納す
るメモリ1309のアドレスを算出し、一時記憶装置1
307の内容をメモリ1309に格納させる画素転送装
置である。1309は、結果画像を記憶するメモリであ
る。
Next, the structure of a conventional image rotation device based on the above principle will be described with reference to FIG. FIG. 13 shows a conventional image rotation device. FIG.
In the figure, 1301 is a memory for storing the original image. A rotation angle holding device 1302 holds the rotation angle information of the image. A pixel number conversion unit 1303 converts the number of pixels of an image by inputting the original image from the memory 1301 and reducing the original image in the horizontal direction and in the vertical direction based on the output from the rotation angle holding device 1302. It is a device. Reference numeral 1304 is a grid point coordinate calculation device that calculates the coordinates of the grid points based on the output from the rotation angle holding device 1302. An x-coordinate storage device 1305 stores the x-coordinates of the grid points calculated by the grid point coordinate calculation device 1304. 1306 is a y-coordinate storage device that stores the y-coordinates of the grid points calculated by the grid-point coordinate calculation device 1304.
x-coordinate storage device 1305 and y-coordinate storage device 1306
Is output to the grid point coordinate calculation device 1304 and is used to calculate the coordinates of the next grid point. Reference numeral 1307 denotes a temporary storage device that temporarily stores the output of the pixel number conversion device 1303. 1308 is an x coordinate storage device 1305 and y
The address of the memory 1309 that stores the result image is calculated based on the output of the coordinate storage device 1306, and the temporary storage device 1
The pixel transfer device stores the contents of 307 in the memory 1309. Reference numeral 1309 denotes a memory that stores the result image.

【0014】以上のように構成された従来の画像回転装
置について、その動作を説明する。まず、画素数変換装
置1303は、メモリ1301に格納されている原画像
を読み込み、回転角保持装置1302からの出力に基い
て原画像を水平方向に縮小し、垂直方向に拡大すること
により画像の画素数を変換し、その結果を一時記憶装置
1307に書き込む。画素転送装置1308は、一時記
憶装置1307に格納されている画像を1画素入力し、
x座標格納装置1305およびy座標格納装置1306
に格納されている値から、その画素が格納されるメモリ
のアドレスを算出して、メモリ1309に格納する。ま
た、格子点座標算出装置1304は、回転角保持装置1
302、x座標格納装置1305およびy座標格納装置
1306の値に基づいて、次の格子点の座標を算出し、
画素転送装置1308が1画素処理するごとに、x座標
格納装置1305およびy座標格納装置1306の内容
を更新する。以上の処理を繰り返すことにより、2次元
の矩形画像の回転処理を行なうことができる。
The operation of the conventional image rotation device constructed as described above will be described. First, the pixel number conversion device 1303 reads the original image stored in the memory 1301, and reduces the original image in the horizontal direction and in the vertical direction based on the output from the rotation angle holding device 1302, thereby converting the image. The number of pixels is converted, and the result is written in the temporary storage device 1307. The pixel transfer device 1308 inputs one pixel of the image stored in the temporary storage device 1307,
x-coordinate storage device 1305 and y-coordinate storage device 1306
An address of a memory in which the pixel is stored is calculated from the value stored in the memory and stored in the memory 1309. In addition, the grid point coordinate calculation device 1304 is the rotation angle holding device 1.
302, the coordinate of the next grid point is calculated based on the values of the x coordinate storage device 1305 and the y coordinate storage device 1306,
Every time the pixel transfer device 1308 processes one pixel, the contents of the x coordinate storage device 1305 and the y coordinate storage device 1306 are updated. By repeating the above processing, the rotation processing of the two-dimensional rectangular image can be performed.

【0015】[0015]

【発明が解決しようとする課題】しかしながら、上記の
従来の画像回転装置では、1画素ずつ回転画像を算出し
ているため、回転処理の高速化を図ることが困難である
という課題を有していた。また、原画像の垂直方向の拡
大を行なうための回路を必要とするため、画像回転装置
の回路量が大きくなるという課題も有していた。
However, the above-described conventional image rotation device has a problem that it is difficult to speed up the rotation process because the rotation image is calculated pixel by pixel. It was Further, since a circuit for enlarging the original image in the vertical direction is required, there is a problem that the circuit amount of the image rotating device becomes large.

【0016】本発明は、上記従来技術の課題を解決する
もので、回転処理を高速に行なうことができ、原画像の
垂直方向の拡大を行なうための回路を必要としない画像
回転装置を提供することを目的とする。
The present invention solves the above-mentioned problems of the prior art, and provides an image rotation device capable of performing rotation processing at high speed and not requiring a circuit for vertically expanding an original image. The purpose is to

【0017】[0017]

【課題を解決するための手段】上記目的を達成するため
に本発明は、原画像を記憶する第1のメモリと、原画像
の回転処理を行なって得られる画像を記憶する第2のメ
モリと、第1のメモリから原画像の画像データを読み込
む入力処理部と、入力処理部から入力した画像データの
水平方向の画素数を変換する横拡大縮小処理部と、原画
像の回転処理のための転送格子点の座標計算を行なうと
ともに、横拡大縮小処理部から入力された画像データを
第2のメモリの指定されたアドレスに書き込む出力部
と、装置各部を制御する全体制御部とを備えたものであ
る。
In order to achieve the above object, the present invention provides a first memory for storing an original image and a second memory for storing an image obtained by rotating an original image. , An input processing unit for reading the image data of the original image from the first memory, a horizontal enlargement / reduction processing unit for converting the number of pixels in the horizontal direction of the image data input from the input processing unit, and a rotation process for the original image. An output unit that performs coordinate calculation of transfer grid points and writes image data input from the horizontal enlargement / reduction processing unit to a specified address of the second memory, and an overall control unit that controls each unit of the device Is.

【0018】[0018]

【作用】本発明は、上記構成によって、入力処理部、横
拡大縮小処理部、および出力処理部の動作回数を全体制
御部で制御することにより、原画像の垂直方向の拡大回
路を設けずに画像の回転処理を高速に実現することがで
きる。
According to the present invention, with the above configuration, the overall control unit controls the number of operations of the input processing unit, the lateral enlargement / reduction processing unit, and the output processing unit, thereby eliminating the vertical enlargement circuit of the original image. Image rotation processing can be realized at high speed.

【0019】また本発明によれば、出力処理部が、原画
像を回転して得られる結果画像の各画素を2次元座標上
の格子点に配置する際に、同一水平格子線上に存在する
結果画像の画素の数を算出し、第2のメモリの同一語に
格納されるデータをワード単位で一度に書き込むため、
回転角度θが−1≦tanθ≦1で与えられる回転処理
を高速に行なうことができる。
Further, according to the present invention, when the output processing unit arranges each pixel of the result image obtained by rotating the original image at the grid point on the two-dimensional coordinate, the result existing on the same horizontal grid line In order to calculate the number of pixels of the image and write the data stored in the same word of the second memory in word units at a time,
The rotation process can be performed at high speed when the rotation angle θ is −1 ≦ tan θ ≦ 1.

【0020】また本発明によれば、横拡大縮小処理部で
処理する画素が1ワードが構成されるように拡大処理を
行ない、出力処理部から第2のメモリに書き込みを行な
う回数を全体制御部で制御して原画像の横縮小処理を実
現することにより、第2のメモリに画像データを書き込
むための画像データのシフト処理を行なうための回路を
設けずに、画像の回転処理を実現することができる。
Further, according to the present invention, the overall control unit determines the number of times the horizontal enlargement / reduction processing unit performs the enlargement processing so that one pixel constitutes one word, and the output processing unit writes to the second memory. To realize horizontal reduction processing of the original image, thereby realizing image rotation processing without providing a circuit for performing image data shift processing for writing image data in the second memory. You can

【0021】さらに本発明によれば、原画像を回転して
結果画像を得る際に、結果画像を構成する画素のうち、
2つ以上の画素の座標をパラメータとして入力すること
により、三角関数の演算を行なわずに画像の回転処理を
行なうことができるため、三角関数の演算を行なう回路
を設けずに、高速な回転処理を行なうことができる。ま
た、2つ以上の画素の座標値を任意に設定することによ
り、アフィン変換を容易に行なうことができる。
Further, according to the present invention, when the original image is rotated to obtain the result image, among the pixels forming the result image,
By inputting the coordinates of two or more pixels as parameters, the image rotation processing can be performed without performing the trigonometric function operation. Therefore, a high-speed rotation processing can be performed without providing a circuit for performing the trigonometric function operation. Can be done. In addition, the affine transformation can be easily performed by arbitrarily setting the coordinate values of two or more pixels.

【0022】[0022]

【実施例】【Example】

(実施例1)以下、本発明の第1の実施例について説明
する。本発明の第1の実施例では、回転角度θが、−1
≦tanθ≦1の場合の回転処理について説明する。説
明を簡単にするために、はじめに図3を用いて、−1≦
tanθ≦1の場合の一次元の画像の回転処理について
説明する。図3において、原画像の各画素を白丸○、回
転されて得られた結果画像を黒丸●で表し、Wは原画像
の画素数を表す。点A 0 は原画像の1番左の画素、点A
W-1 は原画像の1番右の画素を表しており、点A0 は原
点にある。また、結果画像は、回転の中心を原点(点A
0 )、回転角をθとした時に得られる画像を表してい
る。またMを以下のように定義すると、 M=[Wcosθ] ・・・(6) 結果画像の各画素は、x=M−1までの各垂直格子線上
に1個存在している。このため、結果画像の画素数はM
個となる。点B0 、点BM-1 は、それぞれ、原画像の点
0 、点AW-1 に対応する結果画像の画素である。この
時、回転角θは、 tanθ=n/m ・・・(7) (ただし、m≧n:m、nは0以上の整数)で表される
ものとし、直線Lは、 L:y=(n/m)x ・・・(8) で表されるものとする。
 (Embodiment 1) Hereinafter, a first embodiment of the present invention will be described.
To do. In the first embodiment of the present invention, the rotation angle θ is −1.
The rotation process when ≦ tan θ ≦ 1 will be described. Theory
For the sake of simplicity, we first use FIG.
Rotation processing of one-dimensional image when tan θ ≦ 1
explain. In Fig. 3, each pixel of the original image
The resulting image obtained by being rotated is represented by a black circle, and W is the original image.
Represents the number of pixels. Point A 0Is the leftmost pixel in the original image, point A
W-1Represents the rightmost pixel in the original image, and the point A0Is Hara
In point. In addition, the result image has the origin of rotation (point A
0), The image obtained when the rotation angle is θ
It Further, when M is defined as follows, M = [Wcos θ] (6) Each pixel of the result image is on each vertical grid line up to x = M−1.
There is one in. Therefore, the number of pixels of the resulting image is M
It becomes an individual. Point B0, Point BM-1Are the points of the original image
A0, Point AW-1Is a pixel of the result image corresponding to. this
At this time, the rotation angle θ is represented by tan θ = n / m (7) (where, m ≧ n: m, n is an integer of 0 or more)
It is assumed that the straight line L is represented by L: y = (n / m) x (8).

【0023】本発明による、−1≦tanθ≦1の場合
の1次元の画像の回転処理は、原画から回転角θに応じ
て原画像を縮小する画素数変換処理と、傾きθの直線に
沿って転送格子点の座標を算出し、縮小された画像を順
に、転送格子点に転送する画素転送処理からなる。本実
施例では、同一水平格子線上に存在する転送格子点の数
を算出することにより、転送格子点の座標を算出してい
る。これにより、同一水平格子線上に転送する画素を一
括して処理することができる。
According to the present invention, the one-dimensional image rotation processing in the case of −1 ≦ tan θ ≦ 1 is performed by the pixel number conversion processing for reducing the original image from the original image according to the rotation angle θ and along the straight line of the inclination θ. Pixel transfer processing for calculating the coordinates of the transfer grid points and transferring the reduced images in order to the transfer grid points. In this embodiment, the coordinates of the transfer grid points are calculated by calculating the number of transfer grid points existing on the same horizontal grid line. As a result, pixels to be transferred on the same horizontal grid line can be collectively processed.

【0024】以下、同一水平格子線上に存在する転送格
子点の数を算出する処理について図4を用いて説明す
る。図4は、図3におけるy=jで表される水平格子線
と直線Lとの交点付近を拡大した図であり、j番目の水
平格子線上にある転送格子点のうち、一番左にある転送
格子点Bi のx座標をXBi 、y座標をYBi とする
と、直線Lから算出される転送格子点に、縮小した原画
像を転送する時に、実際のディジタル画像上で直線を構
成するi番目の垂直格子線上の転送格子点Bi のy座標
YBi が YBi =[(n/m)×i] ・・・(9) となるように画素を配置している。この時、 α=[m/n] ・・・(10) β=m−n×[m/n] ・・・(11) なるα、βを定義すると、同一水平格子線上に存在する
転送格子点の数は、α個またはα+1個以外にはならな
い。このとき、j番目の水平格子線上に存在する転送格
子点の数Pj が、α個とα+1個のどちらになるかは、
量子化による誤差βを積算して求められる値Rj から、
以下のように求めることができる。 if Rj +(β−n)<0 Pj =α Rj+1 =Rj +β else Pj =α+1 Rj+1 =Rj +(β−n) ・・・(12)
The process of calculating the number of transfer grid points existing on the same horizontal grid line will be described below with reference to FIG. FIG. 4 is an enlarged view of the vicinity of the intersection of the horizontal lattice line represented by y = j and the straight line L in FIG. 3, and is the leftmost one of the transfer lattice points on the j-th horizontal lattice line. When the x coordinate of the transfer grid point B i is XB i and the y coordinate is YB i , when the reduced original image is transferred to the transfer grid point calculated from the straight line L, a straight line is formed on the actual digital image. The pixels are arranged so that the y coordinate YB i of the transfer grid point B i on the i-th vertical grid line is YB i = [(n / m) × i] (9). At this time, if α and β such that α = [m / n] (10) β = m−n × [m / n] (11) are defined, transfer lattices existing on the same horizontal lattice line are defined. The number of points can be no more than α or α + 1. At this time, whether the number P j of transfer lattice points existing on the j-th horizontal lattice line is α or α + 1 is
From the value R j obtained by integrating the error β due to quantization,
It can be calculated as follows. if R j + (β-n) <0 P j = α R j + 1 = R j + β else P j = α + 1 R j + 1 = R j + (β-n) (12)

【0025】なお、(9)式に基づいて直線を描画する
ときに、同一水平格子線上に表れる画素がα個またはα
+1個となることについては、本願出願人が先に出願し
た特開昭63−142479号公報のP3〜4に開示し
てある。
When a straight line is drawn based on the equation (9), there are α pixels or α pixels appearing on the same horizontal grid line.
The fact that the number is +1 is disclosed in P3 to 4 of Japanese Patent Application Laid-Open No. 63-142479 filed by the applicant of the present application.

【0026】このようにして、同一水平格子線上に存在
する転送格子点の数を算出し、同一水平格子線上に存在
する転送格子点のうち、1番左にある転送格子点の座標
を算出することにより、同一水平格子線上にあるその他
の転送格子点の座標を算出する必要がなくなり、同一水
平格子線上に転送する画素を一括して処理することがで
きる。例えば、図4に示した画素Bi の座標を算出すれ
ば、画素Bi+1 およびBi+2 については、その座標を算
出する必要がないので、画素Bi 、Bi+1 、B i+2 の3
つの画素を同時に処理することができる。
In this way, they exist on the same horizontal grid line.
Calculate the number of transfer grid points to be present and exist on the same horizontal grid line
Coordinates of the leftmost transfer grid point among the transfer grid points
Others that are on the same horizontal grid line can be calculated by
It is no longer necessary to calculate the coordinates of the transfer grid points of
Pixels transferred on the flat grid can be processed collectively.
Wear. For example, the pixel B shown in FIG.iCalculate the coordinates of
For example, pixel Bi + 1And Bi + 2For, calculate its coordinates
Since it does not need to be output, pixel Bi, Bi + 1, B i + 2Of 3
One pixel can be processed at the same time.

【0027】次に、上述した本実施例における1次元の
画像を回転する時の処理手順についてステップ毎に分け
て説明する。 ステップA1 W個の画素からなる原画像を、[W×cosθ]個の画
素からなる画像に縮小する処理を行なう。これは、図3
に示すように、回転処理を行なって得られる結果画像の
点B0 と点BM-1 との間の距離を、原画像の点A0 と点
W-1 との間の距離とほぼ等しくするためである。
Next, the processing procedure for rotating the one-dimensional image in this embodiment will be described step by step. Step A1 A process of reducing the original image composed of W pixels to an image composed of [W × cos θ] pixels is performed. This is shown in Figure 3.
As shown in, the distance between the point B 0 and the point B M-1 of the result image obtained by performing the rotation processing is almost the same as the distance between the point A 0 and the point A W-1 of the original image. This is to make them equal.

【0028】ステップA2 j番目の水平格子線上の1番左にある転送格子点のx座
標XFj 、およびy座標YFj を、j−1番目の水平格
子線上の1番左にある転送格子点のx座標XF j-1 、y
座標YFj-1 、およびj−1番目の水平格子線上に存在
する転送格子点の数Pj-1 から、以下のように算出す
る。 XFj =XFj-1 +Pj-1 ・・・(13) YFj =YFj-1 +1 ・・・(14) ただし、XF0 =YF0 =0
Step A2: The x coordinate of the leftmost transfer lattice point on the jth horizontal lattice line
Standard XFj, And the y-coordinate YFj, the j-1th horizontal case
The x coordinate XF of the leftmost transfer grid point on the line j-1, Y
Coordinate YFj-1, And on the j-1th horizontal grid line
Number of transfer grid points Pj-1From, calculate as follows
It XFj= XFj-1+ Pj-1 ... (13) YFj= YFj-1+1 (14) However, XF0= YF0= 0

【0029】ステップA3 j番目の水平格子線上に存在する転送格子点の数P
j が、α個とα+1個のどちらになるかを、式(12)
から算出する。
Step A3: The number P of transfer grid points existing on the j-th horizontal grid line
Whether j is α or α + 1 is determined by equation (12).
Calculate from

【0030】ステップA4 ステップA3で算出した、j番目の水平格子線上に存在
する転送格子点の数Pj がαである場合には、ステップ
A1の処理で縮小して得られた画像中の、j番目の水平
格子線上に転送すべきα個の画素を一括して転送する処
理を行なう。P j がα+1である場合には、ステップA
1の処理で縮小して得られた画像中の、j番目の水平格
子線上に転送すべきα+1個の画素を一括して転送する
処理を行なう。
Step A4 Exists on the j-th horizontal grid line calculated in Step A3
If the number of transfer grid points Pj to be processed is α, then step
The j-th horizontal in the image obtained by reduction in the processing of A1
A process for collectively transferring α pixels to be transferred on the grid line
Do the reason. P jIs α + 1, step A
The j-th horizontal case in the image obtained by reduction in the process 1
Transfers α + 1 pixels to be transferred onto the child line at once
Perform processing.

【0031】ステップA5 ステップA2からステップA4までの処理を、以下の式
を満たすjについて、それぞれ行なう。これは、Wの画
素数を持つ1次元の画像を、直線Lから算出される転送
格子点に転送する時には、転送格子点が存在する水平格
子線の数が[W×sinθ]+1個あるという理由によ
る。 0≦j<[W×sinθ]+1 ・・・(15) 以上の処理を行なえば、1次元画像の回転処理を行なう
ことができる。
Step A5 The processing from step A2 to step A4 is performed for each j satisfying the following equation. This means that when transferring a one-dimensional image having the number of pixels of W to a transfer grid point calculated from the straight line L, the number of horizontal grid lines at which the transfer grid point exists is [W × sin θ] +1. It depends on the reason. 0 ≦ j <[W × sin θ] +1 (15) By performing the above processing, the one-dimensional image rotation processing can be performed.

【0032】次に2次元の矩形画像の回転処理につい
て、図5を用いて説明する。図5は、回転の中心を原点
として、2次元の画像を角度θだけ回転する場合の、回
転処理を説明するためのものである。図5において、y
切片がk(kは整数)、傾きが(n/m)の直線をLk
と表す。つまり、直線Lk は以下のように表される。 Lk :y=(n/m)x−k ・・・(16) また、原点を通り、傾きが(−tan(π/2−θ))
の直線をGと表す。つまり直線Gは、以下のように表さ
れる。 G:y=−(m/n)x ・・・(17)
Next, the rotation processing of the two-dimensional rectangular image will be described with reference to FIG. FIG. 5 is for explaining the rotation process when the two-dimensional image is rotated by the angle θ with the center of rotation as the origin. In FIG. 5, y
A straight line having an intercept k (k is an integer) and an inclination (n / m) is L k
Express. That is, the straight line L k is represented as follows. L k : y = (n / m) x−k (16) Further, the inclination is (−tan (π / 2−θ)) passing through the origin.
Is represented by G. That is, the straight line G is expressed as follows. G: y =-(m / n) x (17)

【0033】2次元の矩形画像の回転処理は、転送開始
点を直線Gと直線Lk の交点から最も近い垂直格子線上
に存在する格子点を転送開始点Sk として算出した後、
上記のステップA1からA5までの処理を、原画像の各
水平1ラインに対して行なうことによって実現できる。
図5における●は、L0 の直線から算出される転送格子
点と、直線Lk における転送開始点Sk を表している。
In the rotation processing of the two-dimensional rectangular image, the transfer start point is calculated as the transfer start point S k, which is the grid point existing on the vertical grid line closest to the intersection of the straight line G and the straight line L k .
This can be realized by performing the above-described processing of steps A1 to A5 for each horizontal line of the original image.
The black circles in FIG. 5 represent the transfer grid points calculated from the straight line L 0 and the transfer start points S k on the straight line L k .

【0034】上記のステップA1で、W個の画素からな
る原画像の水平1ラインを、[W×cosθ]個の画素
からなる画像に縮小処理を行なっている。このため、原
画像と回転された結果画像の画素数をほぼ等しくするた
めには、上記のステップA1からA5までの処理を[H
/cosθ]回行なう必要がある。原画像はH行の水平
ラインから構成されているので、本実施例では、([H
/cosθ]−H)行の原画像の水平ラインに対して、
上記のステップA1からA5までの処理を2回行なうこ
とによって、原画像と回転された結果画像の画素数をほ
ぼ等しくする回転処理を実現している。以下、具体的に
処理を説明する。
In the above step A1, one horizontal line of the original image consisting of W pixels is reduced to an image consisting of [W × cos θ] pixels. For this reason, in order to make the number of pixels of the original image and the rotated result image substantially equal, the processing from the above steps A1 to A5 is performed by [H
/ Cos θ] times. Since the original image is composed of H horizontal lines, in this embodiment, ([H
/ Cos θ] −H) line to the horizontal line of the original image,
By performing the processing from steps A1 to A5 twice, the rotation processing that makes the number of pixels of the original image and the rotated result image substantially equal is realized. The processing will be specifically described below.

【0035】ステップB1 原画像の水平1ラインの転送開始点Sk のx座標X
k 、Y座標YSk を以下の式から算出する。ただし、
この時、この原画像の水平1ラインは、直線Lk から算
出される転送格子点に転送するものとし、直線Gと直線
k の交点から最も近い垂直格子線上に存在する転送格
子点を転送開始点Sk とする。 XSk =[kcosθsinθ+0.5] ・・・(18) YSk =−[kcos2 θ+0.5] ・・・(19)
Step B1 The x coordinate X of the transfer start point S k of one horizontal line of the original image
S k and Y coordinate YS k are calculated from the following formulas. However,
In this case, one horizontal line of the original image is intended to be transferred to the transfer grid points calculated from the straight line L k, forward transfer lattice points existing on a nearest vertical grid line from the intersection of the straight line G and the straight line L k Let S k be the starting point. XS k = [kcos θ sin θ + 0.5] (18) YS k = − [kcos 2 θ + 0.5] (19)

【0036】ステップB2 ステップB1で示した原画像の水平1ラインに対して、
ステップA1からA5までの処理を行なう。ただし、転
送開始点はSk とする。
Step B2 For one horizontal line of the original image shown in Step B1,
The processing from steps A1 to A5 is performed. However, the transfer start point is S k .

【0037】ステップB3 ステップB1で示した原画像の水平1ラインに対して、
ステップA1からA5までの処理を2回行なうかどうか
を判断する。
Step B3 For one horizontal line of the original image shown in Step B1,
It is determined whether or not the processes of steps A1 to A5 are performed twice.

【0038】ステップB4 ステップB3の処理で、1回しか処理を行なわないと判
断した時には、ステップB1に戻り、今まで処理を行な
った原画像の水平1ラインの次のラインを、直線Lk+1
から算出される転送格子点に転送するための処理を開始
する。
Step B4 When it is judged in the process of step B3 that the process is to be performed only once, the process returns to step B1 and the line next to the horizontal one line of the original image which has been processed up to now is a straight line L k +. 1
The process for transferring to the transfer grid point calculated from is started.

【0039】ステップB5 ステップB3の処理で、2回処理を行なうと判断した時
には、ステップB1で示した原画像の水平1ラインを、
直線Lk+1 から算出される転送格子点に転送するため
に、ステップB1で示した原画像の水平1ラインの転送
開始点Sk+1 を以下の式から算出する。 XSk+1 =[(k+1)cosθsinθ+0.5]・・・(20) YSK+1 =−[(k+1)cos2 θ+0.5] ・・・(21)
Step B5 When it is judged in the processing of step B3 that the processing is performed twice, one horizontal line of the original image shown in step B1 is
In order to transfer to the transfer grid point calculated from the straight line L k + 1, the transfer start point S k + 1 of one horizontal line of the original image shown in step B1 is calculated from the following formula. XS k + 1 = [(k + 1) cos θ sin θ + 0.5] (20) YS K + 1 = − [(k + 1) cos 2 θ + 0.5] (21)

【0040】ステップB6 ステップB1で示した原画像の水平1ラインに対して、
ステップA1からA5までの処理を行なう。ただし、転
送開始点はSK+1 とする。
Step B6 For one horizontal line of the original image shown in Step B1,
The processing from steps A1 to A5 is performed. However, the transfer start point is S K + 1 .

【0041】ステップB7 ステップB1に戻り、今まで処理を行なった原画像の水
平1ラインの次のラインを、直線Lk+2 から算出される
格子点に転送するための処理を開始する。
Step B7 Returning to step B1, the process for transferring the line next to the horizontal one line of the original image processed up to this point to the grid point calculated from the straight line L k + 2 is started.

【0042】ステップB8 ステップB1からB7までの処理をH回行なう。Step B8 Steps B1 to B7 are performed H times.

【0043】以上のように、原画像の各水平1ラインの
転送開始点を、直線Lk と直線Gの交点から算出した後
に、原画像を縮小した画像の各画素を順に、直線Lk
ら算出される転送格子点に転送すれば、2次元画像の回
転処理を実現することができる。さらに、上記のステッ
プB5からB7までの処理を、([H/cosθ]−
H)回行なうことにより、原画像の垂直方向の拡大回路
を必要とせずに、原画像と回転された結果画像の画素数
をほぼ等しくする回転処理を実現することができる。
As described above, after the transfer start point of each horizontal 1 line of the original image is calculated from the intersection of the straight line L k and the straight line G, each pixel of the reduced image of the original image is sequentially arranged from the straight line L k. If it is transferred to the calculated transfer grid point, the rotation processing of the two-dimensional image can be realized. Further, the processing from steps B5 to B7 described above is performed by ([H / cos θ] −
By performing H) times, it is possible to realize the rotation processing that makes the number of pixels of the original image and the rotated result image substantially equal to each other, without requiring a vertical enlargement circuit of the original image.

【0044】次に、上記アルゴリズムを実施するための
画像回転装置の構成について図1を参照して説明する。
図1において、101は、原画像を記憶する第1のメモ
リである。102は、第1のメモリ101から読み出す
原画像のアドレスを計算して、原画像を第1のメモリ1
01から入力する入力処理部である。103は、入力処
理部102から入力された原画像の横方向の拡大縮小を
行なう横拡大縮小処理部である。104は、転送格子点
の座標計算を行なうとともに、横拡大縮小処理部103
から入力された画像を第2のメモリ105へ書き込む出
力処理部である。105は、回転された結果画像を記憶
する第2のメモリである。106は、入力処理部10
2、横縮小処理部103、出力処理部104の制御を行
なう全体制御部である。107、108、109は、全
体制御部106から出力され、それぞれ入力制御部10
2、横拡大縮小処理部103、出力処理部104を制御
する制御信号である。110から113までは、データ
ラインであり、各処理部およびメモリはデータラインを
介して画像データの入出力を行なう。
Next, the structure of the image rotation device for carrying out the above algorithm will be described with reference to FIG.
In FIG. 1, 101 is a first memory that stores an original image. 102 calculates the address of the original image read from the first memory 101 and stores the original image in the first memory 1
This is an input processing unit for inputting from 01. A horizontal enlargement / reduction processing unit 103 enlarges / reduces the original image input from the input processing unit 102 in the horizontal direction. Reference numeral 104 calculates the coordinates of the transfer grid points, and the horizontal enlargement / reduction processing unit 103.
The output processing unit writes the image input from the second memory 105 into the second memory 105. Reference numeral 105 denotes a second memory that stores the rotated result image. Reference numeral 106 denotes the input processing unit 10.
2, an overall control unit that controls the horizontal reduction processing unit 103 and the output processing unit 104. 107, 108, and 109 are output from the overall control unit 106, and are input control unit 10 respectively.
2, a control signal for controlling the horizontal enlargement / reduction processing unit 103 and the output processing unit 104. Reference numerals 110 to 113 are data lines, and each processing unit and memory inputs / outputs image data via the data lines.

【0045】次に図2を用いて、図1における出力処理
部104の詳細な説明を行なう。図2において、201
は、横拡大縮小処理部103からの画像を一時的に記憶
する画像一時記憶装置である。202は、データライン
113を介して第2のメモリ105から読み出したデー
タとの演算を行ない、画像一時記憶装置201から出力
された結果画像を第2のメモリ105に書き込む出力演
算装置である。203は、結果画像データを第2のメモ
リ105に書き込むためのアドレスを生成するアドレス
生成装置である。204は、出力処理部104を制御す
る出力処理部制御装置である。205、206、207
は、出力処理部制御装置204から出力され、それぞれ
画像一時記憶装置201、出力演算装置202、アドレ
ス生成装置203を制御する制御信号、208はデータ
バスである。
Next, the output processing unit 104 in FIG. 1 will be described in detail with reference to FIG. In FIG. 2, 201
Is an image temporary storage device for temporarily storing the image from the horizontal enlargement / reduction processing unit 103. Reference numeral 202 denotes an output operation device that performs an operation on the data read from the second memory 105 via the data line 113 and writes the result image output from the image temporary storage device 201 to the second memory 105. Reference numeral 203 denotes an address generation device that generates an address for writing the resulting image data in the second memory 105. An output processing unit control device 204 controls the output processing unit 104. 205, 206, 207
Is a control signal output from the output processing unit control device 204 and controls the image temporary storage device 201, the output operation device 202, and the address generation device 203, and 208 is a data bus.

【0046】次に、上記のように構成された画像回転装
置の動作について説明する。はじめに全体制御装置10
6で、ステップB1の処理を行ない、入力処理部10
2、横拡大縮小処理部103、出力処理部104がステ
ップB2の処理を行なえるように、制御信号107、1
08、109を介して各処理部の設定を行なう。
Next, the operation of the image rotation device configured as described above will be described. Introduction Overall control device 10
In step 6, the process of step B1 is performed, and the input processing unit 10
2, control signals 107, 1 so that the horizontal enlargement / reduction processing unit 103 and the output processing unit 104 can perform the processing of step B2.
Each processing unit is set via 08 and 109.

【0047】入力処理部102では、原画像の水平1ラ
インに対応する画像データを第1のメモリ101から読
み出すためのアドレスを発生し、そのアドレスにしたが
って水平1ラインの画像データを第1のメモリ101か
ら読み込み、読み込んだ画像データを1ワードずつ横拡
大縮小処理部103に出力する。横拡大縮小処理部10
3では、入力処理部102から入力された1ワードの画
像データに含まれる画素に対して、ステップA1で示し
た処理を行ない、縮小された画像を1ワードずつ出力処
理部104の画像一時記憶装置201に出力する。出力
処理部104では、アドレス生成装置203でステップ
A2、A3およびA4の処理を行ない、横拡大縮小処理
部103から出力された画像データが格納される第2の
メモリ105のアドレスを算出し、そのアドレスを第2
のメモリ105に出力するとともに、出力演算装置20
2から画像一時記憶装置201に格納されている画像デ
ータを第2のメモリ105に出力する。このとき、第2
のメモリ105に格納されているデータとの演算を必要
とする場合には、一度第2のメモリ105からデータを
読みだし、出力演算装置202で画像一時記憶装置20
1に格納されているデータと演算を行なった後、再び第
2のメモリ105に格納する。
The input processing unit 102 generates an address for reading the image data corresponding to one horizontal line of the original image from the first memory 101, and the image data of one horizontal line is generated in the first memory according to the address. The image data is read from 101 and the read image data is output word by word to the horizontal enlargement / reduction processing unit 103. Horizontal enlargement / reduction processing unit 10
In step 3, the processing shown in step A1 is performed on the pixels included in the image data of 1 word input from the input processing unit 102, and the reduced image is output word by word in the image temporary storage device of the output processing unit 104. Output to 201. In the output processing unit 104, the address generation device 203 performs steps A2, A3, and A4 to calculate the address of the second memory 105 in which the image data output from the horizontal enlargement / reduction processing unit 103 is stored. Address second
Output to the memory 105 of
2 to output the image data stored in the image temporary storage device 201 to the second memory 105. At this time, the second
When it is necessary to perform calculation with the data stored in the memory 105, the data is once read from the second memory 105, and the output calculation device 202 uses the image temporary storage device 20.
After performing an operation with the data stored in 1, the data is stored in the second memory 105 again.

【0048】全体制御部106では、入力処理部10
2、横拡大縮小処理部103、出力処理部104の各処
理部が上記の原画像の水平1ラインに対する処理を行な
っている間に、ステップB3の処理を行なう。上記の原
画像の水平1ラインが1回しか処理しないラインである
場合には、さらに次のラインの処理のために、ステップ
B1の処理を行なう。上記の原画像の水平1ラインが2
回処理するラインの場合には、ステップB5の処理を行
ない、各処理部に設定する設定値の計算を行なう。上記
の原画像の水平1ラインに対する処理が終了した時点
で、入力処理部102、横拡大縮小処理部103、出力
処理部104の各処理部に算出してあった設定値を制御
信号107、108、109を介して設定し、次の処理
を開始させる。以上の処理をステップB8に基づいて、
繰り返し行なう。
In the overall control unit 106, the input processing unit 10
2. While the processing units of the horizontal enlargement / reduction processing unit 103 and the output processing unit 104 are performing the above-described processing for one horizontal line of the original image, the processing of step B3 is performed. If the horizontal 1 line of the original image is a line that is processed only once, the process of step B1 is performed for the process of the next line. 1 horizontal line of the above original image is 2
In the case of a line to be processed once, the process of step B5 is performed, and the set value set in each processing unit is calculated. When the processing for one horizontal line of the original image is completed, the set values calculated in the respective processing units of the input processing unit 102, the lateral enlargement / reduction processing unit 103, and the output processing unit 104 are set as the control signals 107 and 108. , 109 to start the next process. The above process is performed based on step B8.
Repeat.

【0049】以上、説明したように、上記第1の実施例
によれば、水平格子線上に存在する一番左の転送格子点
の座標のみを算出すれば、同一水平格子線上に存在する
他の転送格子点の座標を算出する必要がないため、出力
処理部104から、複数の画素を一括して第2のメモリ
105に書き込むことができ、回転処理の時に発生する
メモリアクセス回数を減らすことができる。例えば図6
に示すように、1ワードが4画素で構成されている時
に、(a1、a2、a3、a4)、(a5、a6、a
7、a8)という画素で構成される2ワードの画像デー
タが、ワード単位に横拡大縮小処理部103から出力処
理部104に出力され、その各画素が第2のメモリ10
5に格納される。これに対し、従来の画像回転装置で
は、1画素ずつメモリに書き込みを行なっていたため
に、例えばa1、a2、a3の画素をメモリに書き込む
ためには、3回のメモリアクセスを必要としていた。こ
れに対し本実施例では、これを1回のメモリアクセスで
実現することができるため、画像の回転処理を高速化す
ることができる。
As described above, according to the first embodiment, if only the coordinates of the leftmost transfer grid point existing on the horizontal grid line are calculated, the other coordinates existing on the same horizontal grid line are calculated. Since it is not necessary to calculate the coordinates of the transfer grid points, a plurality of pixels can be collectively written from the output processing unit 104 to the second memory 105, and the number of memory accesses that occur during rotation processing can be reduced. it can. For example, in FIG.
As shown in, when one word is composed of 4 pixels, (a1, a2, a3, a4), (a5, a6, a
Image data of 2 words composed of pixels 7 and a8) is output in units of words from the horizontal enlargement / reduction processing unit 103 to the output processing unit 104, and each pixel is output to the second memory 10.
Stored in 5. On the other hand, in the conventional image rotating apparatus, since the pixels are written in the memory one pixel at a time, for example, in order to write the pixels a1, a2, and a3 in the memory, three memory accesses are required. On the other hand, in the present embodiment, since this can be realized by one memory access, the image rotation processing can be speeded up.

【0050】また、本実施例によれば、パイプライン構
成をとっており、1ワードに含まれる複数の画素を一括
して、各ステージで1マシンサイクルで処理することが
できるため、1マシンサイクルに1ワードの画像データ
をメモリに出力することができ、画像の回転処理を高速
化することができる。
In addition, according to the present embodiment, the pipeline configuration is adopted, and a plurality of pixels included in one word can be collectively processed in one machine cycle in each stage. Further, the image data of 1 word can be output to the memory, and the image rotation processing can be speeded up.

【0051】さらに、本実施例によれば、原画像を垂直
方向に拡大する回路を設けることなく回転処理を行なう
ことができるので、画像回転装置の回路量を小さくする
ことができる。
Furthermore, according to the present embodiment, since the rotation processing can be performed without providing a circuit for enlarging the original image in the vertical direction, the circuit amount of the image rotating device can be reduced.

【0052】なお、本実施例では、転送格子点を式
(9)から与えたが、直線Lと垂直格子線の交点から最
も近い格子点を転送格子点とする処理は、容易に実現す
ることができる。また、本実施例では、回転の中心を原
画像の左上の点としたが、任意の位置を回転の中心にす
ることができることは、容易に類推できる。
In this embodiment, the transfer grid point is given by the equation (9), but the process of setting the grid point closest to the intersection of the straight line L and the vertical grid line as the transfer grid point can be easily realized. You can Further, in the present embodiment, the center of rotation is the upper left point of the original image, but it can be easily inferred that an arbitrary position can be the center of rotation.

【0053】(実施例2)次に、本発明の第2の実施例
について説明する。本発明の第2の実施例では、回転角
度θが、tanθ<−1またはtanθ>1の場合の回
転処理について説明する。回転角度θが、tanθ<−
1またはtanθ>1の場合、縮小した原画像を直線L
に対応させる時に、実際のディジタル画像上でj番目の
水平格子線上の画素Bj のx座標XBj およびy座標Y
j が、 XBj =[(n/m)×j] ・・・(22) YBj =j となるように画素を配置している。この例を図7に示
す。図7では0≦j≦7における画素Bj の配置を表し
ている。
(Embodiment 2) Next, a second embodiment of the present invention will be described. In the second embodiment of the present invention, a rotation process when the rotation angle θ is tan θ <−1 or tan θ> 1 will be described. The rotation angle θ is tan θ <−
1 or tan θ> 1, the reduced original image is converted into a straight line L
, The x-coordinate XB j and the y-coordinate Y of the pixel B j on the j-th horizontal grid line on the actual digital image.
The pixels are arranged such that B j is XB j = [(n / m) × j] (22) YB j = j. An example of this is shown in FIG. FIG. 7 shows the arrangement of the pixels B j in 0 ≦ j ≦ 7.

【0054】回転角度θが、tanθ<−1またはta
nθ>1の場合には、同一水平格子線上には転送格子点
が1つしか表われない。このため、第1の実施例で示し
たステップA1からA5までの処理を行なって、同一水
平格子線上に存在する転送格子点の座標を算出しても、
各転送格子点についてその座標を算出しなければならな
いので、画像の回転処理を高速化することはできない。
そこで、この場合には、ステップB2およびB6で示し
たステップA1からA5までの処理を行なわずに、転送
格子点の座標を式(22)から算出して、1画素ずつ転
送する。なお、ステップB1、ステップB3からB5、
ステップB7およびB8については、第1の実施例と動
作は同じである。
The rotation angle θ is tan θ <−1 or ta
When nθ> 1, only one transfer grid point appears on the same horizontal grid line. Therefore, even if the processing of steps A1 to A5 shown in the first embodiment is performed to calculate the coordinates of the transfer grid points existing on the same horizontal grid line,
Since the coordinates of each transfer grid point must be calculated, the image rotation processing cannot be speeded up.
Therefore, in this case, the coordinates of the transfer grid point are calculated from the equation (22) and the pixels are transferred pixel by pixel, without performing the processing from steps A1 to A5 shown in steps B2 and B6. Note that step B1, steps B3 to B5,
Regarding steps B7 and B8, the operation is the same as in the first embodiment.

【0055】本発明の第2の実施例における画像回転装
置の構成は、図1および図2に示した第1の実施例と同
じであるが、第1の実施例とは動作が異なる。以下、第
2の実施例の動作について説明する。はじめに全体制御
装置106で、ステップB1の処理を行ない、入力処理
部102、横拡大縮小処理部103、出力処理部104
が転送格子点の座標を式(22)から算出して、1画素
ずつ転送する処理を行なえるように、制御信号107、
108、109を介して各処理部の設定を行なう。
The configuration of the image rotation device in the second embodiment of the present invention is the same as that of the first embodiment shown in FIGS. 1 and 2, but the operation is different from that of the first embodiment. The operation of the second embodiment will be described below. First, the overall control device 106 performs the process of step B1, and the input processing unit 102, the lateral enlargement / reduction processing unit 103, and the output processing unit 104.
So as to calculate the coordinates of the transfer grid point from the equation (22) and transfer the pixel by pixel, the control signal 107,
Each processing unit is set via 108 and 109.

【0056】入力処理部102では、原画像の水平1ラ
インに対応する画像データを第1のメモリ101から読
み出すためのアドレスを発生し、そのアドレスにしたが
って水平1ラインの画像データを画像メモリ101から
読み込み、読み込んだデータを横拡大縮小処理部103
に1画素ずつ出力する。
The input processing unit 102 generates an address for reading the image data corresponding to one horizontal line of the original image from the first memory 101, and outputs the image data of one horizontal line from the image memory 101 according to the address. The horizontal enlargement / reduction processing unit 103 that reads the read data
1 pixel at a time.

【0057】横拡大縮小処理部103では、出力処理部
104に出力する1ワードのすべての画素を、入力処理
部102から入力された画素にする拡大処理を行ない、
その結果を出力処理部104の画像一時記憶装置201
に出力する。例えば、1ワードが4画素で構成されてお
り、入力処理部102から入力された画素がa1 と表さ
れる場合、横拡大縮小処理部103では4倍の拡大を行
なって、1ワードに含まれるすべての画素がa1 となる
ように拡大処理を行なう。
In the horizontal enlargement / reduction processing unit 103, all the pixels of one word output to the output processing unit 104 are enlarged to the pixels input from the input processing unit 102.
The result is stored in the image temporary storage device 201 of the output processing unit 104.
Output to. For example, when one word is composed of 4 pixels and the pixel input from the input processing unit 102 is represented as a1, the horizontal scaling processing unit 103 performs 4 times expansion and is included in one word. Enlargement processing is performed so that all pixels become a1.

【0058】出力処理部104では、横拡大縮小処理部
103から入力された画像データを画像一時記憶装置2
01に記憶する。そして、全体制御部106から出力処
理部制御装置204に入力される制御信号109に基づ
いて、画像一時記憶装置201に記憶されたデータを第
2のメモリ105に出力するかどうかの判断を行なう。
In the output processing unit 104, the image data input from the horizontal enlargement / reduction processing unit 103 is stored in the image temporary storage device 2.
Store in 01. Then, based on the control signal 109 input from the overall control unit 106 to the output processing unit control device 204, it is determined whether to output the data stored in the image temporary storage device 201 to the second memory 105.

【0059】出力する場合には、アドレス生成装置20
3で式(22)の計算を行ない、画像一時記憶装置20
1に記憶されている画像データを格納するアドレスを算
出し、そのアドレスを第2のメモリ105に出力すると
ともに、出力演算装置202から画像一時記憶装置20
1に格納されている画像データを第2のメモリ105に
出力し、処理の対象となっていた1画素をメモリに書き
込む。出力しない場合には、第2のメモリ105に格納
する動作を行なわず、横拡大縮小処理部103から入力
される次の画像データに対する処理を開始する。
When outputting, the address generator 20
Equation (22) is calculated in step 3, and the image temporary storage device 20
1 calculates the address for storing the image data stored in No. 1, outputs the address to the second memory 105, and outputs the image from the output arithmetic unit 202 to the image temporary storage unit 20.
The image data stored in 1 is output to the second memory 105, and one pixel that has been the target of processing is written in the memory. When not outputting, the operation of storing in the second memory 105 is not performed, and the process for the next image data input from the lateral enlargement / reduction processing unit 103 is started.

【0060】本実施例では、上記第1の実施例の場合と
異なり、全体制御部106では、入力処理部102、横
拡大縮小処理部103、出力処理部104の各処理部が
上記の原画像の水平1ラインに対する処理を行なってい
る間に、上記に示したように画像一時記憶装置201か
ら第2のメモリ105に出力するデータの数を制御する
ための演算を行なっている。これにより、第1の実施例
では横拡大縮小処理部103で行なっていたステップA
1の横縮小処理を実現している。
In this embodiment, unlike the case of the first embodiment, in the overall control unit 106, each processing unit of the input processing unit 102, the lateral enlargement / reduction processing unit 103, and the output processing unit 104 has the above-mentioned original image. While the processing for 1 horizontal line is being performed, the calculation for controlling the number of data output from the image temporary storage device 201 to the second memory 105 is performed as described above. As a result, the step A performed by the horizontal enlargement / reduction processing unit 103 in the first embodiment is performed.
1 horizontal reduction processing is realized.

【0061】上記の原画像の水平1ラインに対する処理
が終了した時点で、ステップB3の処理を行なう。上記
の原画像の水平1ラインが1回しか処理しない行である
場合には、さらに次の行の処理のために、ステップB1
の処理を行なう。上記の原画像の水平1ラインが2回処
理する行の場合には、ステップB5の処理を行ない、各
処理部に設定するパラメータの計算を行ない、入力処理
部102、横拡大縮小処理部103、出力処理部104
の各処理部の設定を行ない、次の処理を開始させる。以
上の処理をステップB8に基づいて、繰り返し行なう。
When the process for one horizontal line of the original image is completed, the process of step B3 is performed. If the horizontal 1 line of the original image is a line that is processed only once, step B1 is performed for processing the next line.
Is processed. When the horizontal 1 line of the original image is a line to be processed twice, the process of step B5 is performed, the parameters set in each processing unit are calculated, and the input processing unit 102, the horizontal enlargement / reduction processing unit 103, Output processing unit 104
The respective processing units are set, and the next processing is started. The above process is repeated based on step B8.

【0062】このように、本実施例では、上記第1の実
施例の動作と2つの点で異なる。1つは、横拡大縮小処
理部103で1画素の拡大処理を行ない、1ワードの画
素がすべて処理する画素で構成される1ワードの画像
を、画像一時記憶装置201に出力する点である。2つ
目は、原画像の水平方向の縮小処理を、画像一時記憶装
置201が出力するデータの数を全体制御部104から
制御することによって実現している点である。
As described above, this embodiment is different from the operation of the first embodiment in two points. One is that the horizontal enlargement / reduction processing unit 103 performs enlargement processing of one pixel, and outputs a one-word image formed by all the pixels of one word to the image temporary storage device 201. The second is that the horizontal reduction processing of the original image is realized by controlling the number of data output by the image temporary storage device 201 from the overall control unit 104.

【0063】以下、第2の実施例における動作が、第1
の実施例における動作と異なる理由を説明する。回転角
度θが、tanθ<−1またはtanθ>1の場合に
は、図7の点B0 と点B1 に示すように、同一垂直格子
線上に2つ以上の転送格子点が存在するため、原画像の
画素をこの転送格子点に転送するためには、画素の位置
合わせを行なう必要が出てくる。例を図8に示す。図8
は、図7における点B0と点B1 の画素の値がそれぞれ
a0 、a1 と表され、それぞれの画素は、原画像を記憶
するメモリ中で1ワードの最初の画素と次の画素に格納
されており、回転処理を行なった結果、それぞれ1ワー
ドの最初の画素として格納される例を示す。図8に示す
ように、点B1 を処理する時には、原画像の画素の位置
を変化させる必要がある。本実施例では、この原画像の
画素の位置合わせをシフト回路を設けることなく実現し
ている。すなわち、横拡大縮小処理部103で拡大を行
ない、1ワードの画素をすべて点B1 の画素の値である
a1 として出力制御部104の画像一時記憶装置201
に出力することにより、シフト回路を設けることなく画
素の位置合わせを実現している。
The operation in the second embodiment will be described below as the first operation.
The reason why the operation is different from that of the embodiment will be described. When the rotation angle θ is tan θ <−1 or tan θ> 1, there are two or more transfer grid points on the same vertical grid line as shown by points B 0 and B 1 in FIG. In order to transfer the pixels of the original image to this transfer grid point, it becomes necessary to align the pixels. An example is shown in FIG. Figure 8
Is represented by the values of pixels at points B 0 and B 1 in FIG. 7 as a 0 and a 1 , respectively, and each pixel is stored in the first pixel and the next pixel of one word in the memory storing the original image. As a result of the rotation processing, each pixel is stored as the first pixel of one word. As shown in FIG. 8, when processing the point B 1 , it is necessary to change the position of the pixel of the original image. In this embodiment, the alignment of the pixels of the original image is realized without providing a shift circuit. That is, the horizontal enlargement / reduction processing unit 103 performs enlargement, and all the pixels of one word are set as a 1 which is the value of the pixel of the point B 1 and the image temporary storage device 201 of the output control unit 104.
By performing the output to, the pixel alignment is realized without providing a shift circuit.

【0064】以上のように、本実施例によれば、メモリ
に処理した画素を書き込む際に、画素の位置合わせのた
めのシフト回路を設ける必要がないので、画像回転装置
の回路量を小さくすることができる。
As described above, according to the present embodiment, it is not necessary to provide a shift circuit for aligning the pixels when writing the processed pixels in the memory, so that the circuit amount of the image rotation device is reduced. be able to.

【0065】(実施例3)次に、本発明の第3の実施例
について説明する。本実施例では、三角関数の演算を行
なうことなく、画像の回転処理が行なえる画像回転装置
について説明する。なお、本実施例の画像回転装置の構
成は、第1の実施例および第2の実施例と同じである。
本実施例の動作は、原画像の水平方向の縮小処理、垂直
方向の拡大処理、および転送開始点の算出において、第
1の実施例および第2の実施例と動作が異なるが、その
他については第1の実施例および第2の実施例と同じに
なる。
(Embodiment 3) Next, a third embodiment of the present invention will be described. In the present embodiment, an image rotation device that can perform image rotation processing without performing trigonometric function calculation will be described. The configuration of the image rotation device of this embodiment is the same as that of the first and second embodiments.
The operation of the present embodiment is different from the first and second embodiments in the horizontal reduction processing of the original image, the vertical enlargement processing, and the calculation of the transfer start point, but the other operations are performed. This is the same as the first and second embodiments.

【0066】以下、本実施例における動作について、は
じめに原画像の水平方向の縮小処理および垂直方向の拡
大処理について説明する。本実施例では、原画像の左上
の画素を回転の中心とする画像の回転処理を行なう場
合、結果画像の右上の画素のx座標をM、y座標をNと
して、MおよびNを本画像回転処理装置に入力すること
によって回転処理を実現する。このとき、M、Nを以下
の式で、与えることにより、回転角度がθとほぼ等しい
回転処理を実現することができる。 M=[Wcosθ] ・・・(23) N=[Wsinθ] ・・・(24)
Regarding the operation of this embodiment, first, the horizontal reduction processing and the vertical enlargement processing of the original image will be described. In the present embodiment, when performing the image rotation process with the upper left pixel of the original image as the center of rotation, the x coordinate of the upper right pixel of the resulting image is M, the y coordinate is N, and M and N are the main image rotations. The rotation processing is realized by inputting to the processing device. At this time, by giving M and N by the following formulas, it is possible to realize the rotation processing in which the rotation angle is substantially equal to θ. M = [Wcos θ] (23) N = [W sin θ] (24)

【0067】このように、画像回転装置に上記のMおよ
びNを入力することにより、実施例1および実施例2で
示した以下の3つの処理で三角関数の演算を行なわなく
てもよくなる。1つ目は、式(10)および式(11)
おけるα、βの算出である。α、βを求めるためには、
式(7)で定義されるm、nを求めなければならない。
しかし、本実施例では、αおよびβを式(23)および
式(24)で与えられるM、Nを用いて、 α=[M/N] ・・・(25) β=M−N×[M/N] ・・・(26) と定義することにより、画像の回転処理を実現する。な
お、この時、2次元の回転処理を行なうために、図5で
示した直線Lk と直線Gは、以下の式で与えられる。 Lk :y=(N/M)x−k ・・・(27) G:y=−(M/N)x ・・・(28)
As described above, by inputting the above M and N to the image rotation device, it is not necessary to perform the trigonometric function calculation in the following three processes shown in the first and second embodiments. The first is equation (10) and equation (11).
Calculation of α and β. To obtain α and β,
It is necessary to obtain m and n defined by the equation (7).
However, in the present embodiment, α and β are calculated by using M and N given by Equations (23) and (24), and α = [M / N] (25) β = M−N × [ M / N] (26), the image rotation processing is realized. At this time, in order to perform the two-dimensional rotation processing, the straight line L k and the straight line G shown in FIG. 5 are given by the following equations. L k : y = (N / M) x−k (27) G: y = − (M / N) x (28)

【0068】2つ目は、実施例1のステップA1におけ
る横縮小処理である。ステップA1では、W個の画素か
らなる原画像を、[W×cosθ]個の画素からなる画
像に縮小する処理を行なっている。本実施例では、式
(23)により、W個の画素からなる原画像を、M個の
画素からなる画像に縮小する処理を行なえばよいので、
ステップA1の処理における三角関数の演算を行なわな
くてもよい。
The second is the horizontal reduction processing in step A1 of the first embodiment. In step A1, an original image composed of W pixels is reduced to an image composed of [W × cos θ] pixels. In the present embodiment, the processing of reducing the original image composed of W pixels into an image composed of M pixels by the equation (23) is sufficient.
It is not necessary to calculate the trigonometric function in the process of step A1.

【0069】3つ目は、実施例1のステップA5におけ
る処理である。ステップA5では、ステップA2からス
テップA4までの処理を[W×sinθ]+1回行なわ
せている。本実施例では、式(24)により、ステップ
A2からステップA4までの処理をN+1回行なえばよ
いので、ステップA5の処理における三角関数の演算を
行なわなくてもよい。
The third is the process in step A5 of the first embodiment. In step A5, the processing from step A2 to step A4 is performed [W × sin θ] +1 times. In the present embodiment, since the processing from step A2 to step A4 may be performed N + 1 times by the equation (24), the trigonometric function may not be calculated in the processing of step A5.

【0070】次に、転送開始点の算出について、本実施
例における動作を説明する。第1の実施例および第2の
実施例では、ステップB1の式(18)、(19)の計
算を行なって直線Lk における転送開始点を算出してい
たが、本実施例では、直線L k における転送開始点Sk
のx座標XSk 、y座標YSk が算出されている時に,
直線Lk+1 における転送開始点Sk+1 のx座標X
k+1 、y座標YSk+1 を以下のように算出する。ただ
し、XS0 =YS0 =0とする。
Next, the calculation of the transfer start point is carried out.
The operation in the example will be described. The first embodiment and the second
In the embodiment, the total of formulas (18) and (19) in step B1 is calculated.
Calculate the straight line LkIs calculating the transfer start point in
However, in this embodiment, the straight line L kTransfer start point S ink
X coordinate XSk, Y-coordinate YSkWhen is calculated,
Straight line Lk + 1Transfer start point S ink + 1X coordinate of
Sk + 1, Y-coordinate YSk + 1Is calculated as follows. However
And XS0= YS0= 0.

【0071】 if rsk +N/M≦1 ・・・(29.1) rsk+1 =rsk +N/M ・・・(29.2) rmk+1 =rmk ・・・(29.3) XSk+1 =XSk ・・・(29.4) YSk+1 =YSk −1 ・・・(29.5) else rsk+1 =rsk +N/M−1 ・・・(29.6) if rmk +N/M≦1 ・・・(29.7) rmk+1 =rmk +N/M ・・・(29.8) XSk+1 =XSk +1 ・・・(29.9) YSk+1 =YSk −1 ・・・(29.10) else rmk+1 =rmk +N/M−1 ・・・(29.11) XSk+1 =XSk +1 ・・・(29.12) YSk+1 =YSk ・・・(29.13)If rs k + N / M ≦ 1 (29.1) rs k + 1 = rs k + N / M (29.2) rm k + 1 = rm k (29. 3) XS k + 1 = XS k ... (29.4) YS k + 1 = YS k -1 (29.5) else rs k + 1 = rs k + N / M-1 ... (29.6) if rm k + N / M ≦ 1 (29.7) rm k + 1 = rm k + N / M (29.8) XS k + 1 = XS k +1 (29.9) YS k + 1 = YS k -1 (29.10) else rm k + 1 = rm k + N / M-1 (29.11) XS k + 1 = XS k +1 ... (29.12) YS k + 1 = YS k ... (29.13)

【0072】上記の処理を図9を用いて詳しく説明す
る。上記の処理において、rsk は、転送開始点Sk
存在する水平格子線と直線Gとの交点のx座標の小数部
分を表している。XS0 =0であり、直線Gは原点を通
るので、rs0 =0となる。またrmk は、転送開始点
k の存在する垂直格子線と直線Lk との交点のy座標
の小数部分を表している。YS0 =0であり、直線L0
は原点を通るので、rm 0 =0となる。
The above processing will be described in detail with reference to FIG.
It In the above process, rskIs the transfer start point Skof
Fractional part of the x coordinate of the intersection of the existing horizontal grid line and straight line G
Represents minutes. XS0= 0, the straight line G passes through the origin.
So rs0= 0. Also rmkIs the transfer starting point
SkVertical grid line and straight line L wherekY coordinate of the intersection point with
Represents the fractional part of. YS0= 0 and the straight line L0
Passes through the origin, so rm 0= 0.

【0073】このようなrsk とrmk が与えられてい
る時に、はじめに、式(29.1)でrsk に直線Gの
傾きの逆数を加算することにより、直線Gが、y=YS
k とy=YSk −1との間で、垂直格子線を越えるかど
うかを判断する。直線Gが、垂直格子線を越えない場合
には、式(29.4)で転送開始点のx座標は変化させ
ず、y座標を式(29.5)で−1し、rsk を式(2
9.2)、rmk を(29.3)で与えられる値とす
る。直線Gが垂直格子線を越えた場合には、rs k を式
(29.6)で与えられる値とする。次に式(29.
7)で、rmk に直線Lk の傾きを加算することによ
り、直線Lk がx=XSk とx=XSk +1の間で水平
格子線を越えるかどうかを、判断する。直線Lk が水平
格子線を越えない場合には、式(29.9)で転送開始
点のx座標を+1し、式(29.10)でy座標を−1
し、rmk を式(29.8)で与えられる値とする。直
線Lk が水平格子線を越えた場合には、式(29.1
2)で転送開始点のx座標を+1し、式(29.13)
でy座標は変化させず、rmk を式(29.11)で与
えられる値とする。
Such rskAnd rmkIs given
First, when using the equation (29.1), rskOf straight line G
By adding the reciprocal of the slope, the straight line G becomes y = YS
kAnd y = YSkWhether to cross the vertical grid line between -1 and
Determine whether. When the straight line G does not cross the vertical grid line
To change the x-coordinate of the transfer start point in equation (29.4).
First, the y coordinate is set to −1 by the equation (29.5), and rs is set.kEquation (2
9.2), rmkLet be the value given by (29.3)
It If the straight line G crosses the vertical grid line, rs kThe formula
The value is given by (29.6). Next, equation (29.
In 7), rmkStraight line LkBy adding the slope of
Straight line LkIs x = XSkAnd x = XSkHorizontal between +1
Judge whether to cross the grid line. Straight line LkIs horizontal
If it does not exceed the grid line, transfer starts with equation (29.9).
The x coordinate of the point is incremented by +1 and the y coordinate is decremented by -1 by the equation (29.10).
And then rmkBe the value given by equation (29.8). straight
Line LkIs above the horizontal grid line, the equation (29.1)
In step 2), the x-coordinate of the transfer start point is incremented by 1 to obtain the equation (29.13).
Does not change the y coordinate, and rmkIs given by formula (29.11)
It should be a value that can be obtained.

【0074】このように、上記の処理を行なえば、三角
関数の演算を用いずに、直線Lk における転送開始点S
k を算出することができる。図9において、直線Lk
転送開始点Sk は、直線Lk-1 の転送開始点Sk-1 の座
標から、式(29.4)および式(29.5)を行なっ
て求めることができる例を示している。また、直線L
k+1 の転送開始点Sk+1 は、直線Lk の転送開始点Sk
の座標から、式(29.9)および式(29.10)を
行なって求めることができる例を示している。さらに、
直線Lk+2 の転送開始点Sk+2 は、直線Lk+1 の転送開
始点Sk+1 の座標から、式(29.12)および式(2
9.13)を行なって求めることができる例を示してい
る。
By performing the above processing in this way, the triangle
Straight line L without using function calculationkTransfer start point S in
kCan be calculated. In FIG. 9, a straight line Lkof
Transfer start point SkIs the straight line Lk-1Transfer starting point Sk-1Zodiac
From equation (29.4) and equation (29.5),
It shows an example that can be obtained by. Also, the straight line L
k + 1Transfer starting point Sk + 1Is the straight line LkTransfer starting point Sk
From the coordinates of, equation (29.9) and equation (29.10)
It shows an example that can be obtained by going. further,
Straight line Lk + 2Transfer starting point Sk + 2Is the straight line Lk + 1Transfer opening
Starting point Sk + 1From the coordinates of, the equation (29.12) and the equation (2
It shows an example that can be obtained by performing
It

【0075】以上のように、本実施例によれば、三角関
数の演算を行なうことなく画像の回転処理を行なうこと
ができるので、三角関数の演算を行なえる演算装置を必
要とせず、画像回転装置の回路規模を小さくすることが
でき、かつ三角関数の演算を行なうために必要としてい
た演算時間を短縮することができる。
As described above, according to the present embodiment, the image rotation processing can be performed without performing the trigonometric function operation, so that an arithmetic device capable of performing the trigonometric function operation is not required and the image rotation is performed. The circuit scale of the device can be reduced, and the calculation time required for the calculation of trigonometric functions can be shortened.

【0076】なお、本実施例において示した式(29.
1)から式(29.13)までの一連の処理を[H/c
osθ]回行なうと、式(29.11)から式(29.
13)までの処理は、([H/cosθ]−H)回発生
する。これは、ちょうど原画像を垂直方向に拡大するた
めに、第1の実施例で示したステップA1からA5まで
の処理を2回行なう原画像の水平ラインの数に等しい。
すなわち、上記の式(29.1)から式(29.13)
までの一連の処理を[H/cosθ]回行ない、式(2
9.11)から式(29.13)までの処理について
は、直前の処理と同じ原画像の水平1ラインに対して行
なうようにすれば、原画像を垂直方向に拡大するための
演算を行なう必要がなくなる。
The equation (29.
The series of processing from 1) to equation (29.13) is [H / c
[os.]] times, the formula (29.11) to the formula (29.
The processes up to 13) occur ([H / cos θ] −H) times. This is equal to the number of horizontal lines of the original image in which the processing of steps A1 to A5 shown in the first embodiment is performed twice just to enlarge the original image in the vertical direction.
That is, from the above equation (29.1) to equation (29.13)
[H / cos θ] times, and the formula (2
Regarding the processing from 9.11) to the equation (29.13), if it is performed for one horizontal line of the same original image as the immediately preceding processing, the calculation for vertically enlarging the original image is performed. There is no need.

【0077】また、本実施例では、原画像の左上の画素
を回転の中心とする画像の回転処理を行なう場合、原画
像の右上の画素に対応する結果画像の画素のx座標を
M、y座標をNとしたが、これは、図10に示すように
原画像の左下の画素のx座標をM’、y座標をN’と
し、M’およびN’を本画像回転処理装置に入力するこ
とによって同様の効果を得ることができる。この時に
は、M’、N’を以下の式で与えることによって回転角
度がθとほぼ等しい回転処理を実現することができる。 M’=[Hsinθ] ・・・(30) N’=[Hcosθ] ・・・(31) これは、M、N、M’、N’のすべてを本画像回転処理
装置に入力しても、同様の効果を得ることができる。ま
た、本発明の画像回転処理装置の構成と異なる画像回転
装置においても、上記のM、N、M’、N’を画像回転
処理装置に入力することにより、回転処理のための演算
を簡略化することができることは、容易に類推できる。
Further, in the present embodiment, when performing the image rotation process with the upper left pixel of the original image as the center of rotation, the x coordinate of the pixel of the result image corresponding to the upper right pixel of the original image is M, y. Although the coordinates are N, this is as shown in FIG. 10, where the x coordinate of the lower left pixel of the original image is M ′, the y coordinate is N ′, and M ′ and N ′ are input to the main image rotation processing device. Therefore, the same effect can be obtained. At this time, by giving M ′ and N ′ by the following expressions, it is possible to realize the rotation processing in which the rotation angle is substantially equal to θ. M ′ = [H sin θ] (30) N ′ = [H cos θ] (31) Even if all of M, N, M ′, and N ′ are input to the image rotation processing device, The same effect can be obtained. Further, even in an image rotation device different from the configuration of the image rotation processing device of the present invention, the calculation for the rotation process is simplified by inputting the above M, N, M ′ and N ′ to the image rotation processing device. What you can do is easy to guess.

【0078】さらに、本実施例では、上記のM、N、
M’、N’をそれぞれ式(23)、(24)、(3
0)、(31)によって定義したが、M、N、M’、
N’を任意に設定することで、矩形画像のアフィン変換
を容易に実現することができる。アフィン変換では、原
画像を水平方向に拡大し、垂直方向に縮小する必要があ
る場合が存在するが、本実施例では、垂直方向の縮小
は、入力処理部102のメモリアクセスを制御して、第
1のメモリ101から読み込む原画像の水平ラインの数
を減らすことによって実現することができる。また、水
平方向の拡大も、第1の実施例の場合では横拡大縮小処
理部103で実現することができ、第2の実施例の場合
でも、出力処理部104から同じデータを複数回メモリ
に書き込むことにより実現することができるので、これ
から本実施例がアフィン変換を実現することができるこ
とは容易に類推できる。
Further, in the present embodiment, the above M, N,
M ′ and N ′ are represented by equations (23), (24), and (3
0) and (31), but M, N, M ′,
By setting N ′ arbitrarily, affine transformation of a rectangular image can be easily realized. In the affine transformation, there is a case where the original image needs to be enlarged in the horizontal direction and reduced in the vertical direction, but in the present embodiment, the reduction in the vertical direction controls the memory access of the input processing unit 102, This can be realized by reducing the number of horizontal lines of the original image read from the first memory 101. Further, horizontal enlargement can also be realized by the horizontal enlargement / reduction processing unit 103 in the case of the first embodiment, and even in the second embodiment, the same data is stored in the memory multiple times from the output processing unit 104. Since it can be realized by writing, it can be easily inferred from this that the present embodiment can realize the affine transformation.

【0079】なお、本発明の第1の実施例、第2の実施
例、第3の実施例では、それぞれ回転の中心を原点とし
たが、回転の中心の座標を画像回転装置に入力すれば、
画像の回転の中心を任意の位置にすることができること
は、容易に類推することができる。
Although the center of rotation is the origin in each of the first, second and third embodiments of the present invention, if the coordinates of the center of rotation are input to the image rotation device. ,
It can be easily inferred that the center of rotation of the image can be set at an arbitrary position.

【0080】[0080]

【発明の効果】以上のように本発明によれば、原画像を
記憶する第1のメモリと、原画像の回転処理を行なって
得られる画像を記憶する第2のメモリと、第1のメモリ
から画像データを読み込む入力処理部と、入力処理部か
ら画像データ入力し、原画像の水平方向の画素数を変換
する横拡大縮小処理部と、転送格子点の座標計算を行な
うとともに、横拡大縮小部から入力された画像データを
第2のメモリの指定されたアドレスに書き込む出力処理
部と、装置各部を制御する全体制御部とを備え、入力処
理部、横拡大縮小処理部、および出力処理部の動作回数
を全体制御部で制御することにより、原画像の垂直方向
の拡大回路を設けずに画像の回転処理を高速に実現する
ことができる。
As described above, according to the present invention, the first memory for storing the original image, the second memory for storing the image obtained by performing the rotation processing of the original image, and the first memory An input processing unit that reads image data from, a horizontal enlargement / reduction processing unit that inputs image data from the input processing unit and converts the number of pixels in the horizontal direction of the original image, and performs coordinate calculation of transfer grid points and horizontal enlargement / reduction. An input processing unit, a lateral enlargement / reduction processing unit, and an output processing unit, and an output processing unit that writes image data input from the unit to a specified address of the second memory and an overall control unit that controls each unit of the device. By controlling the number of times of operations of the above by the overall control unit, the image rotation processing can be realized at high speed without providing a vertical enlargement circuit for the original image.

【0081】また本発明によれば、出力処理が、原画像
を回転して得られる結果画像の各画素を2次元座標上の
格子点に配置する際に、同一水平格子線上に存在する結
果画像の画素の数を算出し、第2のメモリの同一語に格
納されるデータをワード単位で一度に書き込むため、回
転角度θが−1<tanθ≦1で与えられる回転処理を
高速に行なうことができる。
Further, according to the present invention, when the output processing arranges each pixel of the result image obtained by rotating the original image at the grid point on the two-dimensional coordinates, the result image existing on the same horizontal grid line Is calculated and the data stored in the same word of the second memory is written at a time on a word-by-word basis, it is possible to perform a rotation process at a rotation angle θ of −1 <tan θ ≦ 1 at high speed. it can.

【0082】また本発明によれば、横拡大縮小処理部で
処理する画素で1ワードが構成されるように拡大処理を
行ない、出力処理部から第2のメモリに書き込みを行な
う回数を全体制御部で制御して原画像の横縮小処理を実
現することにより、第2のメモリに画像データを書き込
むための画像データのシフト処理を行なうための回路を
設けずに、画像の回転処理を実現することができる。
Further, according to the present invention, the overall control unit controls the number of times the enlargement processing is performed so that the pixels processed by the horizontal enlargement / reduction processing unit form one word, and the writing is performed from the output processing unit to the second memory. To realize horizontal reduction processing of the original image, thereby realizing image rotation processing without providing a circuit for performing image data shift processing for writing image data in the second memory. You can

【0083】さらに本発明によれば、原画像を回転して
結果画像を得る際に、結果画像を構成する画素のうち、
2つ以上の画素の座標をパラメータとして入力すること
により、三角関数の演算を行なわずに画像の回転処理を
行なうことができるため、三角関数の演算を行なう回路
を設けずに、高速な回転処理を行なうことができる。ま
た、2つ以上の画素の座標値を任意に設定することによ
り、アフィン変換を容易に行なうことができる。
Further, according to the present invention, when the original image is rotated to obtain the result image, among the pixels forming the result image,
By inputting the coordinates of two or more pixels as parameters, the image rotation processing can be performed without performing the trigonometric function operation. Therefore, a high-speed rotation processing can be performed without providing a circuit for performing the trigonometric function operation. Can be done. In addition, the affine transformation can be easily performed by arbitrarily setting the coordinate values of two or more pixels.

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

【図1】本発明の第1の実施例、第2の実施例、第3の
実施例における画像回転装置の構成を示すブロック図
FIG. 1 is a block diagram showing a configuration of an image rotation device according to a first embodiment, a second embodiment, and a third embodiment of the present invention.

【図2】同装置における出力処理部の構成を示すブロッ
ク図
FIG. 2 is a block diagram showing a configuration of an output processing unit in the device.

【図3】本発明の第1の実施例における1次元の画像の
回転処理を説明するための概念図
FIG. 3 is a conceptual diagram for explaining a rotation process of a one-dimensional image according to the first embodiment of the present invention.

【図4】本発明の第1の実施例における1次元の画像の
回転処理を説明するための概念図
FIG. 4 is a conceptual diagram for explaining a rotation process of a one-dimensional image according to the first embodiment of the present invention.

【図5】本発明の第1の実施例における2次元の画像の
回転処理を説明するための概念図
FIG. 5 is a conceptual diagram for explaining a two-dimensional image rotation process in the first embodiment of the present invention.

【図6】本発明の第1の実施例における効果を説明する
ための概念図
FIG. 6 is a conceptual diagram for explaining an effect in the first embodiment of the present invention.

【図7】本発明の第2の実施例における1次元の画像の
回転処理を説明するための概念図
FIG. 7 is a conceptual diagram for explaining a rotation process of a one-dimensional image according to the second embodiment of the present invention.

【図8】本発明の第2の実施例における効果を説明する
ための概念図
FIG. 8 is a conceptual diagram for explaining the effect of the second embodiment of the present invention.

【図9】本発明の第3の実施例における転送開始点を算
出する方法を説明するための概念図
FIG. 9 is a conceptual diagram for explaining a method of calculating a transfer start point according to the third embodiment of the present invention.

【図10】本発明の第3の実施例における画像回転装置
への入力値を説明するための概念図
FIG. 10 is a conceptual diagram for explaining an input value to the image rotation device in the third embodiment of the present invention.

【図11】従来の画像回転装置の1次元の画像の回転処
理を説明するための概念図
FIG. 11 is a conceptual diagram for explaining a one-dimensional image rotation process of a conventional image rotation device.

【図12】従来の画像回転装置の2次元の画像の回転処
理を説明するための概念図
FIG. 12 is a conceptual diagram for explaining a two-dimensional image rotation process of a conventional image rotation device.

【図13】従来の画像回転装置の構成を示すブロック図FIG. 13 is a block diagram showing a configuration of a conventional image rotation device.

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

101 第1のメモリ 102 入力処理部 103 横拡大縮小処理部 104 出力処理部 105 第2のメモリ 106 全体制御部 107 制御信号 108 制御信号 109 制御信号 110 データライン 111 データライン 112 データライン 113 データライン 201 画像一時記憶装置 202 出力演算装置 203 アドレス生成装置 204 出力処理部制御装置 205 制御信号 206 制御信号 207 制御信号 208 データバス 101 First Memory 102 Input Processing Unit 103 Horizontal Enlargement / Reduction Processing Unit 104 Output Processing Unit 105 Second Memory 106 Overall Control Unit 107 Control Signal 108 Control Signal 109 Control Signal 110 Data Line 111 Data Line 112 Data Line 113 Data Line 201 Image temporary storage device 202 Output operation device 203 Address generation device 204 Output processing unit control device 205 Control signal 206 Control signal 207 Control signal 208 Data bus

フロントページの続き (72)発明者 島 崎 成 夫 大阪府門真市大字門真1006番地 松下電器 産業株式会社内Continuation of the front page (72) Inventor Shigeo Shimazaki, 1006 Kadoma, Kadoma City, Osaka Prefecture Matsushita Electric Industrial Co., Ltd.

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 原画像を記憶する第1のメモリと、原画
像の回転処理を行なって得られる画像を記憶する第2の
メモリと、前記第1のメモリから原画像の画像データを
読み込む入力処理部と、前記入力処理部から入力した画
像データの水平方向の画素数を変換する横拡大縮小処理
部と、原画像の回転処理のための転送格子点の座標計算
を行なうとともに、前記横拡大縮小処理部から入力され
た画像データを前記第2のメモリの指定されたアドレス
に書き込む出力処理部と、装置各部を制御する全体制御
部とを備えた画像回転装置。
1. A first memory for storing an original image, a second memory for storing an image obtained by rotating an original image, and an input for reading image data of the original image from the first memory. A processing unit, a horizontal enlargement / reduction processing unit that converts the number of pixels in the horizontal direction of the image data input from the input processing unit, coordinate calculation of transfer grid points for rotation processing of the original image, and horizontal enlargement processing. An image rotation device comprising: an output processing unit for writing image data input from a reduction processing unit to a specified address of the second memory; and an overall control unit for controlling each unit of the device.
【請求項2】 出力処理部が、横拡大縮小処理部から入
力した画像データを一時記憶する画像一時記憶装置と、
前記画像一時記憶装置から入力した画像データを第2の
メモリに出力する出力演算装置と、前記出力演算装置が
出力する画像データを第2のメモリに格納するためのア
ドレスを計算して出力するアドレス生成装置と、前記各
装置を制御する出力処理部制御装置とを備えた請求項1
記載の画像回転装置。
2. An image temporary storage device in which the output processing unit temporarily stores the image data input from the horizontal enlargement / reduction processing unit,
An output computing device that outputs the image data input from the image temporary storage device to a second memory, and an address that calculates and outputs an address for storing the image data output by the output computing device in the second memory The apparatus according to claim 1, further comprising: a generation device;
The image rotation device described.
【請求項3】 出力処理部が、回転角度θが−1≦ta
nθ≦1で与えられた原画像の回転処理を行なって得ら
れた結果画像の各画素を2次元座標上に格子点に配置す
る際に、同一水平格子線上に存在する結果画像の画素の
数を算出し、第2のメモリの同一語に格納されるデータ
をワード単位で書き込むことを特徴とする請求項1また
は2記載の画像回転装置。
3. The output processing unit has a rotation angle θ of −1 ≦ ta.
The number of pixels of the result image existing on the same horizontal grid line when each pixel of the result image obtained by performing the rotation process of the original image given by nθ ≦ 1 is arranged at the grid point on the two-dimensional coordinates. 3. The image rotation device according to claim 1, wherein the data stored in the same word of the second memory is written in word units.
【請求項4】 回転角度θがtanθ<−1またはta
nθ>1で与えられた原画像の回転処理を行なう際に、
横拡大縮小処理部が、入力処理部から入力した画像デー
タの1画素を1ワード全体に拡大する処理を行ない、出
力処理部が、前記横拡大縮小処理部から入力した画像デ
ータを第2のメモリに書き込むか否かを判断するととも
に書き込み処理の回数を制御することにより、原画像の
横縮小処理を行なうことを特徴とする請求項1または2
記載の画像回転装置。
4. The rotation angle θ is tan θ <−1 or ta.
When performing the rotation processing of the original image given by nθ> 1,
The horizontal enlargement / reduction processing unit enlarges one pixel of the image data input from the input processing unit to one word, and the output processing unit stores the image data input from the horizontal enlargement / reduction processing unit in the second memory. 3. The horizontal reduction processing of the original image is performed by determining whether or not to write in the image and controlling the number of writing processings.
The image rotation device described.
【請求項5】 矩形画像である原画像を回転して結果画
像を得る際に、回転角度θを用いる代わりに、原画像の
各頂点を表す4つの画素に対する結果画像の4つの画素
の中の2つ以上の画素の座標値を用いることを特徴とす
る請求項1または2記載の画像回転装置。
5. When the original image, which is a rectangular image, is rotated to obtain the result image, instead of using the rotation angle θ, among the four pixels of the result image for the four pixels that represent each vertex of the original image, The image rotation device according to claim 1, wherein coordinate values of two or more pixels are used.
【請求項6】 原画像の各頂点を表す4つの画素に対す
る結果画像の4つの画素の座標値を任意に設定すること
により、アフィン変換を行なうことを特徴とする請求項
5記載の画像回転装置。
6. The image rotation apparatus according to claim 5, wherein the affine transformation is performed by arbitrarily setting the coordinate values of the four pixels of the resultant image with respect to the four pixels that represent each vertex of the original image. .
JP5228850A 1993-09-14 1993-09-14 Image rotating device Pending JPH0785266A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5228850A JPH0785266A (en) 1993-09-14 1993-09-14 Image rotating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5228850A JPH0785266A (en) 1993-09-14 1993-09-14 Image rotating device

Publications (1)

Publication Number Publication Date
JPH0785266A true JPH0785266A (en) 1995-03-31

Family

ID=16882858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5228850A Pending JPH0785266A (en) 1993-09-14 1993-09-14 Image rotating device

Country Status (1)

Country Link
JP (1) JPH0785266A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0927027A (en) * 1995-07-13 1997-01-28 Okinawa Nippon Denki Software Kk Rotated and slanted image data transferring method
JP2009044654A (en) * 2007-08-10 2009-02-26 Ip Flex Kk Affine transformation device
CN110009559A (en) * 2019-03-19 2019-07-12 北京迈格威科技有限公司 Image processing method and device
US11392377B2 (en) 2020-02-20 2022-07-19 Samsung Electronics Co., Ltd. System-on-chip, data processing method thereof, and neural network device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0927027A (en) * 1995-07-13 1997-01-28 Okinawa Nippon Denki Software Kk Rotated and slanted image data transferring method
JP2009044654A (en) * 2007-08-10 2009-02-26 Ip Flex Kk Affine transformation device
CN110009559A (en) * 2019-03-19 2019-07-12 北京迈格威科技有限公司 Image processing method and device
CN110009559B (en) * 2019-03-19 2023-07-07 北京迈格威科技有限公司 Image processing method and device
US11392377B2 (en) 2020-02-20 2022-07-19 Samsung Electronics Co., Ltd. System-on-chip, data processing method thereof, and neural network device

Similar Documents

Publication Publication Date Title
EP0360155A2 (en) Image transformation method and device
JPS61501118A (en) Data processing system for pattern generator
JP3391864B2 (en) Image data processing method and apparatus and graphic system
JP3352181B2 (en) Image data processing method and apparatus
JPH02240779A (en) N/m picture element converting device
JPH0785266A (en) Image rotating device
JPH0661103B2 (en) Rotational figure generator
JP2634851B2 (en) Image processing device
JPS6097474A (en) Method and apparatus for rotating picture
JP2806679B2 (en) Character generator
JP2840306B2 (en) Area processing method of image processing apparatus
JP2512252B2 (en) Image scaling device
JPH0728991A (en) Data processing circuit using memory
JPH05127980A (en) Picture processor
JP2782904B2 (en) Polygon fill method
JPH07320044A (en) Method and apparatus for conversion of geometry of image data
JPH04329482A (en) Image rotation processing method and processing device for relevant method
JP3004993B2 (en) Image processing device
JPH08138040A (en) Method and device for plotting picture
JP3247441B2 (en) Image processing device
JPH10143676A (en) Picture processor and method for processing the same and recording medium
JPH08102850A (en) Picture processor
JPH07271338A (en) Character generator and its method
JPH023512B2 (en)
JPS63116193A (en) Affine transformation system for image