JPH02232779A - Image rotating device - Google Patents
Image rotating deviceInfo
- Publication number
- JPH02232779A JPH02232779A JP5426689A JP5426689A JPH02232779A JP H02232779 A JPH02232779 A JP H02232779A JP 5426689 A JP5426689 A JP 5426689A JP 5426689 A JP5426689 A JP 5426689A JP H02232779 A JPH02232779 A JP H02232779A
- Authority
- JP
- Japan
- Prior art keywords
- image
- word
- bit
- rotation
- original image
- 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
Links
- 230000015654 memory Effects 0.000 abstract description 47
- 238000010586 diagram Methods 0.000 description 14
- 238000000034 method Methods 0.000 description 14
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 239000000203 mixture Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 235000010724 Wisteria floribunda Nutrition 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は元画像を所定の角度だけ回転させて回転画像を
作成する画像回転装置に関し、特に回転角が大きい場合
でもビット抜けを生じないようにして元画像の画素を回
転後のビット位置に高速に転送する画像回転装五に関す
る。[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to an image rotation device that creates a rotated image by rotating an original image by a predetermined angle, and particularly relates to an image rotation device that creates a rotated image by rotating an original image by a predetermined angle. The present invention relates to an image rotation device for rapidly transferring pixels of an original image to rotated bit positions.
白黒2値のデジタル画像を回転させる従来の装置として
、特願昭61−I37837号に示されるものがある。A conventional device for rotating a black and white binary digital image is disclosed in Japanese Patent Application No. 1983-137837.
この画像回転装置は、元画像の各画素P(J,I)に対
応する角度θの回転後の座標Q(XJI,Y1)を、
χ,,=Jcosθ+Isi.nθ
¥,,=−Jstnθ+I cosθ
をベースとする演算式によって求め(詳細は後述)その
座標へ元画像のデータを転送する。元画像をペース画像
に合成するときは、合成先のベース画像を保持するビッ
ト・セット/リセット回路を備え、この回路にベース画
像を1ワード毎に入力して回転画像を合成する。This image rotation device converts the coordinates Q (XJI, Y1) after rotation of the angle θ corresponding to each pixel P (J, I) of the original image into χ,,=Jcosθ+Isi. The data of the original image is transferred to the coordinates determined by an arithmetic expression based on nθ ¥,,=−Jstnθ+I cosθ (details will be described later). When synthesizing an original image with a pace image, a bit set/reset circuit is provided to hold a base image to be synthesized, and the base image is input word by word to this circuit to synthesize a rotated image.
上述した従来の画像回転装置では、ビット・セット/リ
セット回路に保持された1ワードのべ−ス画像に回転画
素を合成しているため、回転後の画像がビット・セット
/リセット回路で保持しているワード以外のワードにま
たがった場合(例えば、Y座標が「1」変化した場合)
には、ビット・セット/リセット回路の内容を入れ替え
る必要が住しる。このため、同一ワードの処理において
ベース画像メモリ中のアクセスが複数回発生する。とこ
ろが、この画像メモリのアクセス時間は、ビット・セッ
ト/リセット回路の動作時間に比べて数倍以上の時間を
要する。従って、回転角度が大きく、座標の更新が頻繁
に発住する場合には回転処理時間が著しく遅くなる。In the conventional image rotation device described above, rotated pixels are combined with a one-word base image held in the bit set/reset circuit, so the image after rotation is not held in the bit set/reset circuit. If the word straddles a word other than the current word (for example, if the Y coordinate changes by "1")
In this case, it is necessary to replace the contents of the bit set/reset circuit. Therefore, access to the base image memory occurs multiple times in processing the same word. However, the access time for this image memory is several times longer than the operating time for the bit set/reset circuit. Therefore, when the rotation angle is large and the coordinates are updated frequently, the rotation processing time becomes significantly slow.
そこで本発明は、回転角度が大きい場合でも高速に回転
処理することが可能な画像回転装置を提供することを目
的とする。SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide an image rotation device that can perform rotation processing at high speed even when the rotation angle is large.
〔課題を解決するための手段]
本発明は画像メモリのアクセス時間を実質的に短縮する
メモリインタリーブを可能とするものであり、以下の手
段を備えて構成さる。[Means for Solving the Problems] The present invention enables memory interleaving that substantially shortens the access time of an image memory, and includes the following means.
(1)演算手段
元画像の各画素の回転後のXの座標値およびYの座標値
を演算する手段であり、各座標値の演算は前述した演算
式によって行われる。すなわち、後述する演算式を基に
し、回転角度θをパラメータとして回転後の座標値を算
出する。(1) Calculating means This is a means for calculating the rotated X coordinate value and Y coordinate value of each pixel of the original image, and the calculation of each coordinate value is performed by the above-mentioned calculation formula. That is, the coordinate values after rotation are calculated using the rotation angle θ as a parameter based on an arithmetic expression described later.
(2)ビント・セット/リセット回路
元画像の処理されるワードのアドレスに対応したベース
画像のワードと、このワードに前後する複数のワードを
一時的に記憶するものであり、この記憶内容が回転画像
の内容に応じてセットあるいはリセントされる。ベース
画像の複数のワードを記憶するため、ベース画像メモリ
へのアクセスはメモリインタリーブで行うことができる
。(2) Bint set/reset circuit This circuit temporarily stores the word of the base image corresponding to the address of the word to be processed in the original image, and multiple words before and after this word, and the contents of this memory are rotated. It is set or re-cented depending on the content of the image. Access to the base image memory can be memory interleaved to store multiple words of the base image.
(3)制御手段
ビット・セット/リセット回路は複数のワードを記憶し
ている。元画像の選択されたワードの画像データの回転
後の座標がベース画像の複数のワ一ドの座標にまたがる
ときは対応するワードの対応するビットを選択し、元画
像の内容に応じてセットあるいはリセットし、元画像の
1ワードに対応する処理が終了したときはビット・セッ
ト/リセット回路の複数のワードをベース画像メモリへ
転送する。(3) The control means bit set/reset circuit stores multiple words. If the rotated coordinates of the image data of the selected word in the original image span the coordinates of multiple words in the base image, select the corresponding bit of the corresponding word and set or When the bit set/reset circuit completes processing corresponding to one word of the original image, the plurality of words in the bit set/reset circuit are transferred to the base image memory.
元画像メモリに元画像を格納する。元画像のデータ、例
えば、アドレス順に1ワードのデータがシフトレジスタ
へ読み出される。演算手段はその1ワードの座標値と回
転角に基づいて回転後の座標値を演算する。一方、制御
手段はベース画像メモリから複数のワードの画像データ
をビット・セット/リセット回路に読み出して格納する
。この複数のワードのアドレスは元画像の1ワードのア
ドレスと回転角によって定まるアドレスである。Store the original image in the original image memory. Original image data, for example, one word of data in address order is read out to the shift register. The calculation means calculates the coordinate value after rotation based on the coordinate value of one word and the rotation angle. Meanwhile, the control means reads a plurality of words of image data from the base image memory into the bit set/reset circuit and stores the same. The addresses of these plural words are determined by the address of one word of the original image and the rotation angle.
このビント・セット/リセット回路のベース画像データ
に元画像の1ワードのデータが合成される。One word of original image data is synthesized with the base image data of this bint set/reset circuit.
この画像データの合成は、元画像のデータによってベー
ス画像がセット/リセットされることにより行われ、元
画像のビットの座標値の演算結果に基づく座標値に対応
するビットがベース画像の複数のワードから選沢される
。このビット操作が元画像の1ワードについて終了する
と、合成された複数のワードの画像データがベース画像
メモリの以前のアドレスに転送される。次に、元画像の
次のアドレスの1ワードがシフトレジスタへ読み出され
て同じ動作が繰り返される。このようにして元画像の全
アドレスのワードが1ワードずつの処理によって処理さ
れることにより全動作が終了する。This composition of image data is performed by setting/resetting the base image using the data of the original image, and the bits corresponding to the coordinate values based on the calculation results of the coordinate values of the bits of the original image are combined into multiple words of the base image. Selected from When this bit manipulation is completed for a word of the original image, the combined words of image data are transferred to the previous address in the base image memory. Next, one word of the next address of the original image is read out to the shift register and the same operation is repeated. In this way, the words at all addresses of the original image are processed one word at a time, thereby completing the entire operation.
第1図(イ)、(口)、(ハ)は本発明の一実施例を示
し、(イ)において、1は文書をCCD等で読み取る画
像入力部、2は装置全体を制御するCPU、3は元画像
を指定された角度θだけ回転させる画像回転処理部、4
は画像をモニタするCRT,5はキーボード等の入力部
、6a,6bは画像メモリ、7は編集された画像をプリ
ントアウトする画像出力部、8はデータパスである.(
L1)は画像回転処理部3を示し、3aは回転処理部3
や画像メモリ6a、6bの制御を行う回転制御部、3b
はX方向の座標更新タイミングを、3cはY方向の座標
更新タイミングをそれぞれ発生ずるタイミング発生部、
3dぱ回転後のビット位置への転送の隙のビット合成を
高速に行うビノト・セット/リセノト部であり、画像メ
モリ6aから読み出されたワード中の特定位置のビット
を入力され、元画像の白、黒に応じてリセットおよびセ
ソトするビット・セット/リセット回路を複数備えて構
成されている。(ハ)はX,Yの座標更新タイミングを
発生するタイミング発生部を示し、10は演算式の係数
(sin θ、cos θ〕をセットする係数レジスタ
、1lはスタート時の演算のオフセット値、あるいは演
算結果を選択して通過させるセレクタ、12は前述した
スタート時の演算のオフセット値あるいは演算結果をセ
レクタ11を介して入力してセットする演算データレジ
スタ、13は加算、減算等を行う演算部(ALU)、1
4は演算結果のキャリーを保持するためのフリップフロ
ップである。FIGS. 1(a), 1(b), and 1(c) show an embodiment of the present invention, in which 1 is an image input unit that reads a document with a CCD or the like, 2 is a CPU that controls the entire device, 3 is an image rotation processing unit that rotates the original image by a specified angle θ;
is a CRT for monitoring images, 5 is an input unit such as a keyboard, 6a and 6b are image memories, 7 is an image output unit for printing out edited images, and 8 is a data path. (
L1) indicates the image rotation processing unit 3, and 3a indicates the rotation processing unit 3.
and a rotation control unit 3b that controls the image memories 6a and 6b.
3c is a timing generation unit that generates coordinate update timing in the X direction, and 3c generates coordinate update timing in the Y direction.
This is a binoto set/recenote unit that performs high-speed bit synthesis in the gaps between transfers to bit positions after 3D rotation, and receives bits at specific positions in the word read from the image memory 6a, and sets the bits of the original image. It is configured with a plurality of bit set/reset circuits that reset and reset according to white and black. (c) indicates a timing generation unit that generates the X, Y coordinate update timing, 10 is a coefficient register that sets the coefficients (sin θ, cos θ) of the calculation formula, and 1l is the offset value of the calculation at the start, or A selector 12 selects and passes the calculation result; 12 is a calculation data register into which the offset value or calculation result of the above-mentioned start calculation is input via the selector 11; and 13 is a calculation unit ( ALU), 1
4 is a flip-flop for holding a carry of the operation result.
第2図は第1図(L1)で述べたビット・セット/リセ
ット部3dを示し、32は画像メモリ6a己こ記憶され
た元画像から回転処理される1ワード(16ビット)を
格納するシフトレジスタ、4屯複数のビノト・七ント/
リセット回143 (43− 0、43−15)の内か
ら1つのピント・セット/リセット回路を選択するため
の4ビ・ントのワードカウンタ、42はワードカウンタ
41のカウント値をデコードするワードデコーダ、33
はセ・ノト/リセ・ノトするビット位置を指定する4ビ
・ントのビ・ノトカウンタである。ここで、ビントカウ
ンタ33のカウント値は全てのビット・セット/リセ・
ント回路に供給される。また、シフトレジスタ32の出
力も全てのビット・セント/リセット回路に供給される
。FIG. 2 shows the bit set/reset unit 3d described in FIG. Register, 4 tons of multiple binots/7 tons/
A 4-bit word counter for selecting one focus set/reset circuit from among the reset circuits 143 (43-0, 43-15); 42 a word decoder for decoding the count value of the word counter 41; 33
is a 4-bit bit counter that specifies the bit position to be set/reset. Here, the count value of the bint counter 33 corresponds to all bit sets/resets.
is supplied to the component circuit. The output of shift register 32 is also provided to all bit cent/reset circuits.
このような構成では、ワードデコーダ42に入力される
EN(エネーブル)信号をオンすると、ワードカウンタ
41およびビットカウンタ33によって指定される1つ
のワードの1ビットにシフトレジスタ32の出力が設定
される.なお、画像メモリ6bにはベース画像が入力さ
れており、回転処理された元画像はベース画像に合成さ
れる。In such a configuration, when the EN (enable) signal input to the word decoder 42 is turned on, the output of the shift register 32 is set to one bit of one word specified by the word counter 41 and the bit counter 33. Note that the base image is input to the image memory 6b, and the rotated original image is combined with the base image.
第3図は各ビット・セッ}−/リセソト回路43一〇
−43−15の1つを示し、シフトレジスタ32からの
BD信号(画像データ)およびワードデコーダ42から
のデコーダエネーブル(丁τ)信号が入力されると共に
、ビットカウンタ33のカウント値を復号してビット位
置を指定するセ・ント側デコーダ34aおよびリセット
側デコーダ34bによってセットあるいはリセットされ
る。即ち、ベース画像の1ワードがビット毎に入力され
、その入力されたデータの中、回転後の座標に相当する
データがデコーダ34a,34bによって指定された元
画像のビットの黒あるいは白に応じてセットあるいばり
セノトされる、例えば、16個のフリ・冫ブフロンブ3
6(36。、36l、一・−・・−・・・−36lS)
を有し、フリ・ンプフロソプ36の信号状態の画像メモ
リ6bへの出力は3ステートバソファ37によって制御
される。このようなヒ゛・ント・セ・ント/リセント回
路ではベース画像の1ワードがLD(ロード)信号によ
ってフリップフロツブ36。、36l、・・−・・一・
・−・−36ISにロードされており、ビットカウンタ
33のカウント値CNTO〜3によって指定されるビッ
ト位置の内容が、シフトレジスタ32の出力データ(B
D)に応じてセットあるいはリセットされる。このとき
、ワードデコーダ42によって複数のワードから1つの
ワードが選択され、ビットデコーダ34.a、34bに
よってビットが選択される。このようにして回転元画像
がベース画像に合成され、合成された画像データはff
lr信号によって画像メモリ6bへ出カされる。Figure 3 shows each bit set}-/reset circuit 4310
-43-15, the BD signal (image data) from the shift register 32 and the decoder enable (D) signal from the word decoder 42 are input, and the count value of the bit counter 33 is decoded. It is set or reset by the send side decoder 34a and the reset side decoder 34b, which specify the bit position. That is, one word of the base image is input bit by bit, and among the input data, the data corresponding to the coordinates after rotation is processed according to the black or white of the bit of the original image specified by the decoders 34a and 34b. For example, 16 pieces of Furi-Fronbu 3 can be used as a set.
6 (36., 36l, 1...-36lS)
The output of the signal state of the flipflop 36 to the image memory 6b is controlled by a 3-state bath sofa 37. In such a point center/recent circuit, one word of the base image is sent to the flip-flop 36 by the LD (load) signal. ,36l,...-1.
---36IS, and the content of the bit position specified by the count value CNTO~3 of the bit counter 33 is the output data of the shift register 32 (B
D) is set or reset according to At this time, one word is selected from a plurality of words by the word decoder 42, and the bit decoder 34. Bits are selected by a and 34b. In this way, the rotation source image is combined with the base image, and the combined image data is ff
It is output to the image memory 6b by the lr signal.
ここで、元画像の回転処理の操作を第4図(イ)、(口
)、第5図(イ)、(口)および第6図(イ)、(口)
、(ハ)により説明する。前述したように点P(J,I
)を原点0を中心に角度θだけ回転した点Q (XJI
, YJI)は次式のようになる。Here, the operations for rotation processing of the original image are shown in Figure 4 (a), (mouth), Figure 5 (a), (mouth), and Figure 6 (a), (mouth).
, (c). As mentioned above, the point P(J, I
) rotated by an angle θ around the origin 0, the point Q (XJI
, YJI) is as follows.
前述したように、座標はアドレスあるいはビット位置に
なるので、整数値しかとれない。従って、Q ( X
J I , Y J I )は次のように表現される。As mentioned above, coordinates are addresses or bit positions, so they can only take integer values. Therefore, Q (X
J I , Y J I ) is expressed as follows.
Xo+=[sin θ+α]
X.,= (2sin a+a)
回転処理を受ける元画像は、画像入力部1より入力して
画像メモリ6aに記憶されている。オペレータは元画像
をCRT4に表示し、キーボード5より回転角θを入力
する。Xo+=[sin θ+α]X. ,=(2sin a+a) The original image to be subjected to the rotation process is input from the image input section 1 and stored in the image memory 6a. The operator displays the original image on the CRT 4 and inputs the rotation angle θ using the keyboard 5.
回転制御部3aは画像メモリ6aより記憶内容をワード
単位で読み出してシフトレジスタ32に人力し、後述す
るように、演算処理後ビット・セット/リセット部3d
を七ット/リセットする。The rotation control unit 3a reads out the stored contents in word units from the image memory 6a, inputs them to the shift register 32, and after arithmetic processing, the bit set/reset unit 3d
7t/reset.
それに先立ち、第4図(イ)において、各ラインの先頭
の座標をp(o、I)(1=0.1.2−・・M)とし
、各点を原点Oを中心にθだけ反時計方向に回転させた
点をQ(Xo1、Y0,)とする。Prior to that, in Figure 4 (a), let the coordinates of the beginning of each line be p(o, I) (1 = 0.1.2-...M), and each point will be inverted by θ around the origin O. Let the point rotated clockwise be Q(Xo1, Y0,).
QCXo1、Y 6 I)の座標は、(2)式よりX.
1= (Isin θ+α3 、Yo+= ( Ico
s e+α〕となる.
これより、各ラインの先頭のビットのX座標は、X.。The coordinates of QCXo1, Y 6 I) are determined from the equation (2) by X.
1= (Isin θ+α3, Yo+= (Ico
s e+α]. From this, the X coordinate of the first bit of each line is X. .
=〔α〕
X or = ’( I sinθ+α〕XoH= ’
(Msinθ十α〕
Y座標は、
Y0。=〔α]
Yo+” (COS θ+α〕
Y ot = ( 2 cos θ+α]Yo+ =
’( I cosθ+α]YON= ’(Mcos
θ+α〕
となる.
即ち、X座標については、1つ前のラインの座標値の小
数部にsin θを加算してキャリーが発生したとき+
1を加算し、Y座標については、1つ前のラインの座標
値の小数部にcos θを加算してキャリーが発生した
とき+1を加算して求めることができる.
このようにして、第4図(口)に示す各ラインの先頭画
素の回転後の座標を得ることができる。= [α] X or = '(I sinθ+α]XoH='
(Msinθ+α] Y coordinate is Y0.=[α] Yo+” (COS θ+α) Yot = (2 cos θ+α]Yo+ =
'( I cos θ+α] YON= '(Mcos θ+α). In other words, for the X coordinate, when sin θ is added to the decimal part of the coordinate value of the previous line and a carry occurs, +
The Y coordinate can be determined by adding cos θ to the decimal part of the coordinate value of the previous line and adding +1 when a carry occurs. In this way, the rotated coordinates of the leading pixel of each line shown in FIG. 4 (opening) can be obtained.
次に、第5図(イ)、(口)によりライン(横)方向の
画素の回転について説明する.先に求めた1番目のライ
ンの先頭点の座標Q (X.I、Y o I)の小数部
の値をX座標、Y座標それぞれβ、、β,とする。点P
(J,I)の回転後の座標Q(XJI、Y,1)は(2
)式より次のように表される。Next, the rotation of pixels in the line (horizontal) direction will be explained with reference to FIGS. Let the values of the decimal part of the coordinates Q (X.I, Y o I) of the head point of the first line obtained earlier be the X and Y coordinates β, , β, respectively. Point P
The coordinate Q (XJI, Y, 1) after rotation of (J, I) is (2
) is expressed as follows.
実際の処理に先立って座標更新タイミングを発生するタ
イミング発生部3b、3Cの係数レジスタ10にはco
s θ、sin θを、演算データレジスクにはβX、
βアをセットする。また、X座標タイミング発生部3b
のALU13の演算論理はADDに、Y座標タイミング
発生部3cのALU13の演算論理はSUBに固定して
おく。更に、キャリーフリップフロップ14はクリアし
てお《。Coefficient registers 10 of timing generators 3b and 3C that generate coordinate update timing prior to actual processing are
s θ, sin θ, βX,
Set βa. In addition, the X coordinate timing generation section 3b
The arithmetic logic of the ALU 13 of the Y-coordinate timing generator 3c is fixed to ADD, and the arithmetic logic of the ALU 13 of the Y-coordinate timing generating section 3c is fixed to SUB. Furthermore, carry flip-flop 14 is cleared.
前述したように、画像メモリ6aより回転処理を受ける
元画像の1ワードがシフトレジスタ32に入力されてい
る。また、画像メモリ6bからフリップフロップ36。As described above, one word of the original image to be rotated is input from the image memory 6a to the shift register 32. Also, the flip-flop 36 is connected to the image memory 6b.
〜36lSヘベース画像の所定のアドレスの1ワードが
入力されている。第6図(イ)は画像メモリ6aに記憶
されている回転処理を受ける元画像Pを示し、第6図(
口)は回転処理後の元画像Pと合成される画像メモリ6
bに記憶されているベース画像を示す.
この状態において、(3)式を用いてシフトレジスタ3
2に入力されている元画像Pの各画素の演算を行う。こ
の演算によってP(J,I)に基づいてQ (Xji,
Yji)を求め、Q (Xji, Yji)の黒ある
いは白の状態に応じてフリップフロップ36.〜361
,がセットあるいはリセットされる。このとき、ビット
カウンタ33の計数値がデコーダ34a、34bで復号
され、Q (Xji, Yji)に対応するフリップフ
ロノブがフリップフロツプ36。、3636.,から選
択される。例えば、Q (Xji, Yji)が黒であ
れば、セット側デコーダ34aを介して1゜つのフリン
プフロップ36。〜3虐,が選択され、S端子にセット
信号を入力してセットされる(「0」→「1」)あるい
は「1」→「1」)。一方、Q(xji..Yji)が
白であれば、リセットされる(「0」→「0」あるいは
rlJ→’OJ).ここで、X軸方向にキャリーが発生
すると、カウンタ33が+1して次の演算結果をX軸方
向に+1したビットに対応するフリップフロソブ36に
適用する。一方、Y軸方向にキャリーがあると、フリッ
プフロップ36。〜361,の内容が3ステートバンフ
ァ37に戻され、ベース画像の次のラインの1ワードが
フリップフロツプ3L〜36,,に入力される。~36lS One word of a predetermined address of the base image is input. FIG. 6(a) shows the original image P stored in the image memory 6a and subjected to rotation processing, and FIG.
(mouth) is an image memory 6 that is combined with the original image P after rotation processing.
The base image stored in b is shown. In this state, using equation (3), the shift register 3
Each pixel of the original image P input in step 2 is calculated. Through this operation, Q (Xji,
Yji) is determined and the flip-flop 36. ~361
, is set or reset. At this time, the count value of the bit counter 33 is decoded by the decoders 34a and 34b, and the flip-flop knob corresponding to Q (Xji, Yji) becomes the flip-flop 36. , 3636. , is selected from. For example, if Q (Xji, Yji) is black, one degree flip-flop 36 is output via the set-side decoder 34a. ~3rd generation is selected and set by inputting a set signal to the S terminal ("0" → "1") or "1" → "1"). On the other hand, if Q(xji..Yji) is white, it is reset ("0" → "0" or rlJ → 'OJ). Here, when a carry occurs in the X-axis direction, the counter 33 is incremented by 1 and the next calculation result is applied to the flip-flop 36 corresponding to the bit increased by 1 in the X-axis direction. On the other hand, if there is a carry in the Y-axis direction, the flip-flop 36 is activated. The contents of .about.361, are returned to the three-state buffer 37, and one word of the next line of the base image is input to flip-flops 3L.about.36, .
1ワードを前述の演算結果に基づいてセントあるいはリ
セットし、所定の処理操作を終了すると、画像メモリ6
bへ戻される.第6図(ハ)は画像メモリ6b上の1ワ
ードWを示す。このアドレスのワードWはベース画像だ
けのビット部分W1と、ベース画像に回転後の元画像P
が合成されたビット部分W2を有する。ビント部分WI
の各ビットはフリップフロップ36.〜36,,に入力
されても元画像Pの演算結果によってセット/リセット
されなかったものであり、ビット部分W2の各ビットは
元画像Pのビットの黒/白に応じてセット/リセットさ
れて元のアドレスに戻されたものである。When one word is cent or reset based on the above calculation result and the predetermined processing operation is completed, the image memory 6
Returned to b. FIG. 6(c) shows one word W on the image memory 6b. The word W at this address contains the bit part W1 of only the base image and the original image P after rotation into the base image.
has a combined bit portion W2. Bint part WI
Each bit of the flip-flop 36. ~36, , are not set/reset according to the calculation result of the original image P, and each bit of the bit part W2 is set/reset according to the black/white of the bit of the original image P. It has been returned to its original address.
このような操作を各ビットについて繰り返すことによっ
て第6図(ハ)に示す合成画像が得られる.以上の説明
はセット/リセット回路43。〜431,の1つについ
て行ったが、本発明では複数のワードに相当する画像デ
ータを画像メモリ6bから読み出して複数のセット/リ
セット回路43。〜431sに格納し、この操作を複数
ワードの間で行う。By repeating these operations for each bit, the composite image shown in Figure 6 (c) is obtained. The above explanation is about the set/reset circuit 43. 431, but in the present invention, image data corresponding to a plurality of words is read out from the image memory 6b and a plurality of set/reset circuits 43 are used. ~431s, and perform this operation between multiple words.
第7図は以上の動作によって元画像1ワードを約30度
回転した場合を示す.図示のように、元画像が1ワード
であっても回転後の回転像はY軸方向で7ワードに跨が
っており、この傾向は回転角が大きくなれば強くなる。Figure 7 shows the case where one word of the original image is rotated approximately 30 degrees by the above operations. As shown in the figure, even if the original image is one word, the rotated image spans seven words in the Y-axis direction, and this tendency becomes stronger as the rotation angle increases.
本発明では、ベース画像の複数の連続するアドレス(例
えば、アドレス?−g)を回転処理開始前に、メモリイ
ンタリーブによってピント・セット/リセノト部3dに
転送して、メモリアクセスの実行時間の短縮を図ってい
る。In the present invention, a plurality of consecutive addresses (for example, address ?-g) of the base image are transferred to the focus set/receiver section 3d by memory interleaving before the rotation process starts, thereby reducing the execution time of memory access. I'm trying.
第8図はこのメモリインタリーブのアクセスタイムの例
示であり、(イ)は1ワードアクセスを、(口)は2ウ
ェイインタリーブにより4ワードアクセスした場合を示
す.To,Il はアクセス開始までのオーバーヘッド
時間、TOH■はアクセス終了時のオーバーヘッド時間
、TMAはメモリアクセス自体の時間を示す.図示のよ
うに、TO,Il+To,I.=TMAとすると、1ワ
ード当たりのアクセス時間が1ワードのみアクセスした
場合が2T−aでるあのに対し、4ワードインタリーブ
でアクセスした場合は0.875 TnAと1/2以下
に短縮される。FIG. 8 shows an example of the access time of this memory interleaving, where (a) shows 1 word access and (g) shows 4 word access by 2-way interleaving. To, Il represents the overhead time until the access starts, TOH■ represents the overhead time when the access ends, and TMA represents the time for the memory access itself. As shown, TO, Il+To, I. =TMA, the access time per word is 2T-a when only one word is accessed, whereas it is reduced to 0.875 TnA, less than half, when accessed with four words interleaved.
第9図は第8図と同一の条件でアクセスワード数を増加
した場合のアクセス時間を示す。本発明では、それぞれ
1ワードを格納するビット・セット,′リセント回路4
3。・・−・−・・・−431,の複数をピント・セノ
ト/リセット部3dに備えており、ベース画像の複数の
ワードをビット合成回路に転送してメモリインタリーブ
を可能としている.従って、1ワードの転送アドレスが
上下方向に変更される度に、メモリアクセスを実行する
必要がなく、回転像のビット合成を高速に行うことがで
きる.以下、本発明の動作を更に詳細に説明する。FIG. 9 shows the access time when the number of access words is increased under the same conditions as FIG. 8. In the present invention, bit sets each storing one word, 'recent circuit 4
3. The focus/senoto/reset unit 3d is equipped with a plurality of . Therefore, there is no need to perform memory access every time the transfer address of one word is changed in the vertical direction, and bit composition of the rotated image can be performed at high speed. The operation of the present invention will be explained in more detail below.
まず、元画像の1ワードをシフトレジスタ32にロード
し、次に、画像メモリ6bのベース画像のスタートワー
ドから上方向または下方向(これは回転方向によって決
定される)へ連続する所定数のワードをビット・セット
/リセット部3dにロードする。回転処理を行うビット
の処理順序は画像の左側から右方向へなされ、反時計方
向の回転の場合は合成先のアドレスを上の方向へ、時計
方向の回転の場合は下の方向にロードが行われる。First, one word of the original image is loaded into the shift register 32, and then a predetermined number of consecutive words are loaded upward or downward (this is determined by the rotation direction) from the start word of the base image in the image memory 6b. is loaded into the bit set/reset section 3d. The processing order of the bits that perform rotation processing is from the left side of the image to the right. For counterclockwise rotation, the destination address is loaded upwards, and for clockwise rotation, the loading destination is downwards. be exposed.
なお、初期設定としてビットカウンタ33には合成先の
ベース画像のワードのスタートビット位1が、一方、ワ
ードカウンタ41にはビット・セット/リセット部3d
ヘロードしたワードの(ワード数一1)が設定される。As an initial setting, the bit counter 33 has the start bit position 1 of the word of the base image to be synthesized, while the word counter 41 has the bit set/reset section 3d.
(number of words - 1) of the loaded word is set.
これらビットカウンタ33、ワードカウンタ4工に設定
されたカウント値は前述の演算式により元画像の1画素
ごとに行われて合成座標が更新される毎に1づつカウン
トダウンされる。ここで、ビットカウンタ33はX座標
、ワードカウンタ41はY座標に対応している。そして
、上記カウントダウンによってビットカウンタ33ある
いはワードカウンタ42が桁下がり(ボロー)を発生し
た場合には、合成すべきビット位置がビット・セソト/
リセット部3dにロードしている複数ワード以外になっ
たことを示しているため、ビット・セット/リセット部
3dのデータを合成先の画像メモリ6bへ転送し、次の
領域のワードをビット・セット/リセット部3dにロー
ドする。具体的にはビットカウンタ33がボローを発生
したときは、右隣の領域の所定数のワードを、一方、ワ
ードカウンタ41がボローを発生したときは、上隣の領
域の所定数のワードをビント・七ント/リセット部3d
にロードする.次の領域のアクセスを行う転送方法とし
ては、第10図(a)、ら)に示す2種の方法が選択さ
れる。同図(a)は、画像メモリ全体を所定のワード数
のブロックに分割するものであり、ビントカウンタ33
がボローを発生して次の領域をロードする場合、ビット
カウンタ33に「l5」を設定し、ワードカンウタ41
は変更しない。そして、ワードカウンク41がボローを
発生して次の領域をロードする場合、ワードカウンク4
1に初期値を再ロードし、ビットカウンタ33は変更し
ない。The count values set in the bit counter 33 and word counter 4 are calculated for each pixel of the original image according to the above-mentioned arithmetic expression, and are counted down by 1 each time the composite coordinates are updated. Here, the bit counter 33 corresponds to the X coordinate, and the word counter 41 corresponds to the Y coordinate. If the bit counter 33 or word counter 42 generates a borrow due to the above countdown, the bit position to be synthesized is bit sesoto/
Since this indicates that the number of words other than the multiple words loaded into the reset section 3d is now loaded, the data in the bit set/reset section 3d is transferred to the image memory 6b to be combined, and the words in the next area are bit set. /Load into the reset section 3d. Specifically, when the bit counter 33 generates a borrow, a predetermined number of words in the area on the right are binned, and when the word counter 41 generates a borrow, a predetermined number of words in the area on the upper side are binned.・Seventh/Reset part 3d
Load it into. As the transfer method for accessing the next area, two methods shown in FIGS. 10(a) and 10(a) are selected. In FIG. 3(a), the entire image memory is divided into blocks of a predetermined number of words, and the bint counter 33
When a borrow occurs and the next area is loaded, the bit counter 33 is set to "l5" and the word counter 41 is set to "l5".
will not be changed. When the word count 41 generates a borrow and loads the next area, the word count 4
The initial value is reloaded to 1, and the bit counter 33 is not changed.
一方、同図(b)においては、ビットカウンタ33がボ
ローを発生した場合、その右側の領域で回転処理に必要
となるワードを基準とし、それから上あるいは下方向の
アドレスの所定のワード数をロードする。この場合には
、ビントカウンタ33、およびワードカウンタ41とも
に初期値を設定する。なお、同図(b)ではワードカウ
ンタ41がボローを発生したときは、(a)と同様に行
われる。これら2種の方法の内、(a)の方法は制御が
簡単である反面、メモリ転送のロスが多く、ら)の方法
は制御が複雑となる反面、メモリ転送のロスが少なく、
しかも処理速度が高速となるが、いずれの方法も本発明
に適用することができる。なお、元画像の次のワードは
シフトレジスタ32が空になった場合に、同レジスタ3
2にロードされる。以上の様な手順を1ライン毎に行っ
て、全ての元画像の回転処理を行う。On the other hand, in the same figure (b), when the bit counter 33 generates a borrow, the word required for rotation processing is used as a reference in the area to the right of the bit counter 33, and then a predetermined number of words at the upper or lower address is loaded. do. In this case, both the bint counter 33 and the word counter 41 are set to their initial values. In addition, in FIG. 4B, when the word counter 41 generates a borrow, the same procedure as in FIG. Of these two methods, method (a) is easy to control but has a lot of memory transfer loss, and method (a) is complicated to control but has little memory transfer loss.
Moreover, the processing speed is increased, but either method can be applied to the present invention. Note that the next word of the original image is stored in the shift register 32 when the shift register 32 becomes empty.
2 is loaded. The above procedure is performed line by line to rotate all the original images.
このような方法で転送するワード数は以下のように設定
される。すなわち、回転角をθ、1ワードを16ビット
とした場合、合成先で左右のワードに移らないで上下の
ワードに跨がる数の最大値をMとする.このMは16
X tan θを切り挙げた整数となる。実際には上下
に跨がるワード数は合成先のスタートビットカウンタの
値により1〜Mの値となる.領域の転送方法が第10図
(b)の場合、転送ワード数をMに綬定すれば転送ワー
ドはほぼすべてビット合成に利用され、最も効率良く処
理される.転送ワード数がMより小さい場合は第lθ図
(b)の転送謂域■、■の様にあまり活用されない転送
ワードが発生して効率はやや低下する.しかしながら、
転送ワード数がM以外でもメモリインタリーブの効果が
大きいため、2〜4ワードであれば処理時間を短縮する
ことができる。一方、転送方法が第10図(a)の場合
、合成先のスタートビントカウント値により最適な転送
ワード数は変わる。このスタートビットカウント値の大
きさにかかわらず、転送ワードを有効に活用するために
は1〜Mの中央付近の整数値を設定するが適当である。The number of words to be transferred using this method is set as follows. That is, when the rotation angle is θ and one word is 16 bits, let M be the maximum value of the number that spans the upper and lower words without moving to the left and right words at the synthesis destination. This M is 16
This is an integer obtained by rounding up X tan θ. In reality, the number of words spanning the top and bottom is a value from 1 to M, depending on the value of the start bit counter at the synthesis destination. When the area transfer method is as shown in FIG. 10(b), if the number of transferred words is set to M, almost all of the transferred words are used for bit synthesis, resulting in the most efficient processing. If the number of transferred words is smaller than M, there will be transferred words that are not used much, as shown in the transfer areas ■ and ■ in Figure lθ (b), and the efficiency will decrease somewhat. however,
Since the effect of memory interleaving is large even when the number of transferred words is other than M, the processing time can be shortened if the number of transferred words is 2 to 4 words. On the other hand, when the transfer method is shown in FIG. 10(a), the optimum number of transfer words changes depending on the start bint count value of the synthesis destination. Regardless of the size of this start bit count value, it is appropriate to set an integer value near the center of 1 to M in order to effectively utilize the transfer word.
上記実施例では、メモリアクセスのインタリーブ数が2
ウエイの場合について説明したが、4ウェイ、8ウェイ
として1ワード当たりの見かけ上のアクセス時間をさら
に短縮しても良い。In the above embodiment, the number of memory access interleaves is 2.
Although the case of 4-way or 8-way has been described, the apparent access time per word may be further reduced.
また、インタリーブアクセスをしない場合でも1回に連
続してアクセスするワード数を増加することにより、1
ワード当たりのメモリアクセス開始時あるいは終了時の
オーバーヘッド時間を見かけ上減少できるため、処理時
間を短縮できる。さらに、セット側のデコーダあるいは
リセット側のデコーダをディスエーブルする機能を付加
して元画像のデータと合成先のデータとのANDあるい
はOR演算の結果を指定のビット位置に設定することも
可能である。さらに、また、本発明は画像の回転のみな
らず、アクセス方向が決まっていてビット単位でセット
/リセットを高速に行う必嬰がある描画等にも応用する
ことができる。In addition, even if interleaved access is not performed, by increasing the number of consecutively accessed words at one time, 1
Since the overhead time at the start or end of memory access per word can be apparently reduced, processing time can be shortened. Furthermore, it is also possible to add a function to disable the decoder on the set side or the decoder on the reset side, and set the result of an AND or OR operation between the original image data and the synthesis destination data at a specified bit position. . Furthermore, the present invention can be applied not only to image rotation but also to drawing, etc., where the access direction is fixed and it is necessary to set/reset bit by bit at high speed.
以上説明したように本発明は、元画像の1ワードの画像
データの回転動作を複数のワードを有する画像領域にお
いて展開するようにしたため、見かけ上のメモリアクセ
ス時間を短縮でき、ビント単位の画像の合成処理を高速
に行うことができる。As explained above, the present invention develops the rotation operation of one word of image data of the original image in an image area having multiple words, so that the apparent memory access time can be shortened and the image data in bint units can be rotated. Composition processing can be performed at high speed.
第1図は本発明の一実施例を示し、(イ)は全体のブロ
ンク図、(口)は回転処理部のブロック図、(ハ)は更
新タイミング発生部の説明図、第2図はビット・セット
/リセット部を示すブロック図、第3図はビット・セッ
ト/リセント回路を示すプロンク図、第4図(イ)、(
口)はX@方向の回転操作を示す説明図、第5図(イ)
、(口)はY軸方向の回転操作を示す説明図、第6図(
イ)、(口)、(ハ)は画像の合成を示す説明図、第7
図はlラインの画像の回転操作を示す説明図、第8図(
イ)はlワードアクセスの説明図、同図(口)は2ウエ
イインタリーブアクセスの説明図、第9図はインタリー
ブアクセスにおけるワード数とアクセス時間を示す特性
図、第10図(a)、(b)は合成先メモタのアクセス
方法を示す説明図。
符号の説明
i 一一一−一画像入力部 2・−・・一・・CP
U3 −−−一−一・・回転処理部 3a−・・・
・・・−・回転制御部3b−・・〜X方同夕・イミング
発生部3c−・・〜−−−Y方向タイミング発生部3
d−−−−−・ビット・セット/リセット部4−一一一
・−・−CRT 5−・・−・・・キーボー
ド6a、6 b−−−一一−・−・一画像メモリ7−・
・・・・−・一画像出力部 8−・一一一〜−一−
一・データバス10−一・−一−−一一係数レジスタ
11− ・・−・・・セレクタ12−・−・・− S
算データレジスタ13・−・一・−A L U
32−・・−・−・シフトレジスタ
33− ・・・・−・ビットカウンタ
34a・−・・・・・・セット側デコータ34b・・・
・一・・−リセット側デコーダ36−・・一・・・−・
・・フリップフロップ・3ステートバッファ
ワードカウンタ
ー・・・−ワードデコーダ
ピント・セット/リセット回路
第4図
特許出願人 冨士ゼロノクス株式会社
代理人 弁理士 平 田 忠 雄第5図
Cイ》
c口》
1−・−・一・・・・一画像人力部
2−−−−・・−・CPU
3・−・−・・一回転処理部
3a・・・一回転制御部
3b・−・・X方向タイミング発生部
3c・・・−Y方向タイミング発生部
3d・ ・ビット・セフト/リセγト部4 −・一−C
RT
5・− ・キーボード
6a・一・−・画像メモリ
6b・一・−・画像メモリ
7 ・・ ・画像出力部
8−・−・・−・データパス
1G−−・・−・係数レジスタ
11−・・−・−・−セレクタ
I2−・一・・・一演算データレジスタl3−・・・−
・ALU
14−・−・・・−・フリップフロップ6a
画像メモリ
6b
画像メモリ
(イ》
第6
図
c口》FIG. 1 shows an embodiment of the present invention, (A) is an overall diagram, (C) is a block diagram of the rotation processing section, (C) is an explanatory diagram of the update timing generation section, and FIG. 2 is a bit diagram.・Block diagram showing the set/reset section, Figure 3 is a pronk diagram showing the bit set/recent circuit, Figure 4 (A), (
Figure 5 (A) is an explanatory diagram showing the rotation operation in the X@ direction.
, (opening) is an explanatory diagram showing rotation operation in the Y-axis direction, Fig. 6 (
A), (mouth), and (c) are explanatory diagrams showing image composition;
The figure is an explanatory diagram showing the rotation operation of the image of the l line, and Fig. 8 (
b) is an explanatory diagram of l-word access, the same figure (opening) is an explanatory diagram of two-way interleave access, Fig. 9 is a characteristic diagram showing the number of words and access time in interleave access, and Figs. 10 (a) and (b). ) is an explanatory diagram showing the method of accessing the synthesis destination memo data. Explanation of symbols i 111-1 Image input section 2...1...CP
U3 ---1-1...Rotation processing section 3a--...
---Rotation control section 3b---X-direction timing generation section 3c----Y direction timing generation section 3
d----Bit set/reset section 4-11--CRT 5--Keyboard 6a, 6 b--11--1 image memory 7-・
・・・・・・・One image output section 8-・111~-1-
1.Data bus 10-1.-1--11 coefficient register
11-...Selector 12-...-S
Calculation data register 13--1-ALU 32---Shift register 33---Bit counter 34a--Set side decoder 34b--
・1・・−Reset side decoder 36−・・1・・・−・
...Flip-flop, 3-state buffer word counter... - Word decoder focus set/reset circuit Figure 4 Patent applicant Fuji Zeronox Co., Ltd. Agent Patent attorney Tadao Hirata Figure 5 C》C》1 -・-・1・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・1 rotation processing unit 3 a ・ ・ ・ 1 rotation control unit 3 b ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・Generation section 3c...-Y direction timing generation section 3d...Bit theft/reset gamma section 4--1-C
RT 5 - - Keyboard 6a - - Image memory 6b - - Image memory 7 - Image output section 8 - - Data path 1G - - Coefficient register 11 -・・・−・−Selector I2−・1・・・1 Arithmetic data register l3−・・・−
・ALU 14-・-・・・・Flip-flop 6a Image memory 6b Image memory (A》 Figure 6 c)
Claims (1)
画像回転装置において、 前記元画像の各画素の回転後のXおよびYの座標値を演
算する演算手段と、 この演算手段の演算結果によって指定されたXまたはY
の座標値を含む複数のワード数に対応したビット・セッ
ト/リセット回路と、 このビット・セット/リセット回路の前記演算結果によ
って指定された座標値の内容を前記元画像のデータに応
じて設定する制御手段を備えたことを特徴とする画像回
転装置。[Scope of Claims] An image rotation device that creates a rotated image by rotating an original image by a predetermined angle, comprising: a calculation means for calculating the rotated X and Y coordinate values of each pixel of the original image; X or Y specified by the calculation result of the calculation means
a bit set/reset circuit corresponding to a plurality of word counts including coordinate values of the bit set/reset circuit; and a bit set/reset circuit that sets the contents of the coordinate values specified by the calculation results of the bit set/reset circuit according to the data of the original image. An image rotation device comprising a control means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5426689A JPH02232779A (en) | 1989-03-07 | 1989-03-07 | Image rotating device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5426689A JPH02232779A (en) | 1989-03-07 | 1989-03-07 | Image rotating device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02232779A true JPH02232779A (en) | 1990-09-14 |
Family
ID=12965768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5426689A Pending JPH02232779A (en) | 1989-03-07 | 1989-03-07 | Image rotating device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02232779A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8149583B2 (en) | 2010-02-17 | 2012-04-03 | Kabushiki Kaisha Toshiba | Storage device and electronic apparatus |
-
1989
- 1989-03-07 JP JP5426689A patent/JPH02232779A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8149583B2 (en) | 2010-02-17 | 2012-04-03 | Kabushiki Kaisha Toshiba | Storage device and electronic apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960004655B1 (en) | Animation display unit and external memory used therefor | |
EP0199989B1 (en) | Method and system for image processing | |
JP4725741B2 (en) | Drawing apparatus and drawing method | |
JPH0429069B2 (en) | ||
AU736560B2 (en) | Method and apparatus for texture data | |
JP3166447B2 (en) | Image processing apparatus and image processing method | |
JPH02232779A (en) | Image rotating device | |
JPS60136793A (en) | Image processor | |
JP2683489B2 (en) | Data transfer control device | |
JPH05300497A (en) | Image processor and digital signal processor | |
JP2001134538A (en) | Signal processor | |
JPH05113928A (en) | Image memory device | |
JPH1055166A (en) | Polygon painting-out accelerator | |
JPS6385984A (en) | Picture processor | |
JP2003216950A (en) | Simd type microprocessor for performing pattern matching or the like | |
AU644408B2 (en) | Animation display unit and external memory used therefor | |
JP2647073B2 (en) | Graphic display device | |
JP2820068B2 (en) | Image data synthesis display device | |
JPS58219663A (en) | Picture rotation system | |
JPH061449B2 (en) | Image memory for image editing | |
JPS63262771A (en) | Affine transformation processor | |
JPH1117927A (en) | Image rotation processing unit | |
JPH0520450A (en) | Picture processor | |
JPS59165175A (en) | Rotation reading circuit for image information | |
JPS63262772A (en) | Affine transformation processor |