JPH0373072A - High-speed picture processing circuit - Google Patents
High-speed picture processing circuitInfo
- Publication number
- JPH0373072A JPH0373072A JP1207865A JP20786589A JPH0373072A JP H0373072 A JPH0373072 A JP H0373072A JP 1207865 A JP1207865 A JP 1207865A JP 20786589 A JP20786589 A JP 20786589A JP H0373072 A JPH0373072 A JP H0373072A
- Authority
- JP
- Japan
- Prior art keywords
- address
- memory
- data
- processing
- image data
- 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
- 238000000034 method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 102100037528 ER membrane protein complex subunit 3 Human genes 0.000 description 1
- 101000880977 Homo sapiens ER membrane protein complex subunit 3 Proteins 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
- Memory System (AREA)
Abstract
Description
【発明の詳細な説明】
(産業上の利用分野)
この発明は高速画像処理回路に関し、特に画像データの
回転、縮小等の画像処理を高速で行えるようにした高速
画像処理回路に関する。DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a high-speed image processing circuit, and more particularly to a high-speed image processing circuit that can perform image processing such as rotation and reduction of image data at high speed.
(従来の技術)
従来の画像処理方式の一例を、第6図および第7図を参
照して説明する。第6図はビットマツプ図、第7図はメ
モリ内のアドレス・データ対応図である。第7図(a)
は処理前、同図(1)〉は回転処理後のアドレスとデー
タの対応を示す。(Prior Art) An example of a conventional image processing method will be described with reference to FIGS. 6 and 7. FIG. 6 is a bitmap diagram, and FIG. 7 is an address/data correspondence diagram in the memory. Figure 7(a)
1 shows the correspondence between addresses and data before processing, and (1) in the same figure shows the correspondence between addresses and data after rotation processing.
いま、第6図に示されているように、Nビット×Nビッ
トのイメージデータが第1のメモリ1に格納されていた
とし、該データを90°時計方向に回転処理する場合を
考える。ここで、NビットはAバイトであるとする。Now, suppose that N bits by N bits of image data are stored in the first memory 1 as shown in FIG. 6, and a case will be considered in which the data is rotated 90° clockwise. Here, it is assumed that N bits are A bytes.
まず、該ビットマツプ図中の図示されている1バイ(・
×1バイトのイメージデータ1aに着目し、1バイトの
データalLa12、・・・・・・、alnのアドレス
がXlであったとすると、第7図(a)に示されている
ように、次の1バイトのデータa21、a22、・・・
・・・、a、2nのアドレスは(X1+A)、最後の1
バイトのデータa nl、a n2、・・・・・・、a
nnのアドレスは(X1+15A)となる。なお、ここ
では、1バイトは16ビツト(すなわち、n=16)と
している。First, the 1 byte shown in the bitmap diagram (
Focusing on ×1-byte image data 1a, and assuming that the address of 1-byte data alLa12, . . . , aln is Xl, as shown in FIG. 7(a), the following 1 byte data a21, a22,...
..., the address of a, 2n is (X1+A), the last 1
Byte data a nl, a n2,..., a
The address of nn is (X1+15A). Note that one byte is assumed to be 16 bits (ie, n=16) here.
該データを90″時計り向に回転する処理が開始される
と、図示されていないCPUは該第1のメモリ1にアク
セスし、まずアドレスX1を指定して該アドレスに格納
されている1バイトのデータをシフトレジスタ2にパラ
レルで転送する。該転送が終わると、該CPUは該第1
のメモリ1のアドレス(X 1 +A)を指定して、対
応する1バイトのデータをシフトレジスタ2にパラレル
で転送する。以下同様に、該第1のメモリ1のアドレス
(X1+2A)、・・・・・・ (X1+15A)の各
1バイトのデータが該シフトレジスタ2にパラレルで転
送される。When the process of rotating the data 90'' clockwise starts, the CPU (not shown) accesses the first memory 1, first specifies address X1, and reads the 1 byte stored at the address. transfer the data in parallel to shift register 2. When the transfer is completed, the CPU transfers the
The address (X 1 +A) of memory 1 is specified and the corresponding 1-byte data is transferred to shift register 2 in parallel. Similarly, 1 byte of data at addresses (X1+2A), . . . (X1+15A) of the first memory 1 are transferred to the shift register 2 in parallel.
このようにして該シフトレジスタ2に格納されたデータ
は、次に縦方向に1バイトづつ切り出される。例えば、
第6図に示されているように、all、a21、・・・
・・、anlの1バイトのデータが切り出され、第2の
メモリ3の第7図(b)に示されているアドレスに転送
される。The data thus stored in the shift register 2 is then cut out one byte at a time in the vertical direction. for example,
As shown in FIG. 6, all, a21,...
. . , 1 byte of data of anl is cut out and transferred to the address shown in FIG. 7(b) in the second memory 3.
すなわち、前記CPUは、掬2のメモリ3のアドレス0
を指定して、該縦方向に切り出された1バイトのデータ
を該第2のメモリ3に格納する。That is, the CPU selects address 0 of memory 3 of scoop 2.
is specified, and the 1-byte data cut out in the vertical direction is stored in the second memory 3.
該動作が終わると、シフトレジスタ2からは次の1バイ
トのデータが縦方向に切り出され、該CPUによって指
定された第2のメモリ3のアドレスAに格納される。以
下同様に、シフトレジスタ2に格納されたデータを縦方
向に順次1バイトづつ切り出す動作と、これを第2のメ
モリ3のアドレス2A、3A、・・・・・・、15Aに
格納する動作が交互に行われる。以上の動作により、該
第2のメモリ3には、前記1バイト×1バイトのデータ
を90″時計方向に回転したデータが得られる。When this operation is completed, the next 1 byte of data is vertically cut out from the shift register 2 and stored at address A of the second memory 3 specified by the CPU. Similarly, the operation of sequentially cutting out the data stored in the shift register 2 one byte at a time in the vertical direction and the operation of storing this at addresses 2A, 3A, . . . , 15A of the second memory 3 are performed. It is done alternately. Through the above operations, data obtained by rotating the 1 byte x 1 byte data clockwise by 90'' is obtained in the second memory 3.
以下同様の動作が繰り返し行われることにより、第2の
メモリ3の中に、第1のメモリ1に格納されていたイメ
ージデータ1aを90’時計方向に回転したイメージデ
ータが得られる。Thereafter, similar operations are repeated to obtain image data obtained by rotating the image data 1a stored in the first memory 1 clockwise by 90' in the second memory 3.
上記の説明は、データを90″時計方向に回転する例で
あるが、これを270°時計方向に回転する場合も同様
に行うことができる。The above explanation is an example of rotating the data 90° clockwise, but the same can be done when rotating the data 270° clockwise.
(発明が解決しようとする課題)
以上の説明から明らかなように、従来の画像処理方式に
おいては、第1のメモリ1のイメージデータ全部をシフ
トレジスタ2に読み込むためのアドレスの演算操作、該
シフトレジスタ2から切り出したイメージデータを第2
のメモリ3に書き込むためのアドレスの演算操作等を前
記CPUのプログラムによって行うため、すなわちソフ
ト的に処理しているため、処理06問が多大になるとい
う問題があった。(Problems to be Solved by the Invention) As is clear from the above description, in the conventional image processing method, the address calculation operation for reading all the image data in the first memory 1 into the shift register 2, the shift The image data extracted from register 2 is transferred to the second
Since the arithmetic operation of the address for writing into the memory 3 is performed by the program of the CPU, that is, the processing is performed by software, there is a problem that the number of questions to be processed becomes large.
本発明の目的は、前記した従来方式の問題点を除去し、
イメージデータ回転処理を高速で行うことができる画像
処理回路を提供することにある。The purpose of the present invention is to eliminate the problems of the conventional method described above,
An object of the present invention is to provide an image processing circuit that can perform image data rotation processing at high speed.
(課題を解決するための手段および作用)本発明は前記
目的を達成するために、アクセスするメモリの先頭アド
レスと該メモリのページ幅に基づいて定まる定数を保持
する複数個のアドレス加算レジスタと、該複数個のアド
レス加算レジスタから画像処理の態様に応じて適宜定数
を取出す手段と、該定数を該先頭アドレスに適宜加算し
てアドレスを更新する手段とを具備した点に特徴がある
。(Means and Effects for Solving the Problems) In order to achieve the above object, the present invention includes a plurality of address addition registers that hold constants determined based on the start address of the memory to be accessed and the page width of the memory; The present invention is characterized in that it includes means for appropriately extracting a constant from the plurality of address addition registers according to the mode of image processing, and means for appropriately adding the constant to the first address to update the address.
本発明においては、回転の処理、縮小の処理等の画像処
理の態様に応じて、前記複数個のアドレス加算レジスタ
に格納される定数が決められる。In the present invention, the constants stored in the plurality of address addition registers are determined depending on the aspect of image processing such as rotation processing and reduction processing.
また、ぼ定数を該アドレス加算レジスタから取出す順序
も該画像処理の態様に応じて決定される。Further, the order in which the constant numbers are taken out from the address addition register is also determined depending on the mode of the image processing.
そして、取出された定数は該先頭アドレスに順次加算さ
れ、この動作によって得られたアドレスで前記メモリ中
に格納されているイメージデータがアクセスされる。Then, the extracted constants are sequentially added to the first address, and the image data stored in the memory is accessed using the address obtained by this operation.
この結果、該メモリをアクセスするためのアドレスはハ
ード構成の回路出力として得ることができ、処理速度を
高速化することができる。As a result, the address for accessing the memory can be obtained as a circuit output of the hardware configuration, and the processing speed can be increased.
(実施例)
以下に、図面を参照して、本発明の詳細な説明する。第
1図は本発明の一実施例のブロック図である。(Example) The present invention will be described in detail below with reference to the drawings. FIG. 1 is a block diagram of one embodiment of the present invention.
図において、8は処理前のイメージデータと処理後のイ
メージデータが格納されるメモリ、9は1バイト(例え
ば、16ビツト)×1バイト等の容岳をもつ90° (
270’)同転用のシフトレジスタである。10はCP
U、11は該CPU10から出力されたアドレスをデコ
ードするアドレスデコーダ、12.13.14はアドレ
スを加算するための加算データを蓄積するアドレス加算
レジスタ、15は加算器、16はアドレスを出力しかつ
該加算器15の出力をラッチするアドレスレジスタであ
る。また、17は該加振器15から出力されたアドレス
を保持し、そのアドレスで前記メモリ8をアクセスする
ための第1のメモリアドレスバッファ、18はCPUl
0が通常の動作晴にメモリ8をアクセスするときに使用
される第2のメモリアドレスバッファである。In the figure, 8 is a memory in which image data before processing and image data after processing are stored, and 9 is a memory having a size of 1 byte (for example, 16 bits) x 1 byte.
270') This is a shift register for the same diversion. 10 is CP
U, 11 is an address decoder that decodes the address output from the CPU 10, 12, 13, 14 is an address addition register that stores addition data for adding addresses, 15 is an adder, and 16 is an address decoder that outputs an address. This is an address register that latches the output of the adder 15. Further, 17 is a first memory address buffer for holding the address output from the vibrator 15 and accessing the memory 8 using the address, and 18 is a CPU l
0 is the second memory address buffer used when accessing the memory 8 during normal operation.
次に、本実施例の動作を説明する。CPUl0が通常の
動作時にメモリ8をアクセスするときには、アドレスデ
コーダ11の出力であるメモリチップセレクト信号(M
EMC3信号)llaがアクティブとなる。このため、
第2のメモリアドレスバッファ18は動作状態となり、
該CPUI Oは該バッファ18を介して該メモリ8を
アクセスする。Next, the operation of this embodiment will be explained. When the CPU10 accesses the memory 8 during normal operation, the memory chip select signal (M
EMC3 signal)lla becomes active. For this reason,
The second memory address buffer 18 becomes operational,
The CPU I O accesses the memory 8 via the buffer 18 .
次に、90″時計方向に回転処理する動作について説明
する。いま、メモリ8は、第2図に示されているように
、処理前のイメージデータが格納されている第】のエリ
ア8aと、処理後のイメージデータが格納される第2の
エリア8bとに分かれており、テキスト幅はA1バイト
であるとする。該第1のエリア8aの1バイト×1バイ
トの領域8alに注目し、該領域8alの先頭アドレス
をAOとすると、該領域8alに対応するアドレスはA
O〜(AO+15AI )となる。該領域8alを90
’時計方向に回転処理するためには、該領域8alを一
旦前記シフトレジスタ9に転送し、該シフトレジスタ9
から90″時=1方向に回転処理したデータを1バイト
毎に切り出し、第2のエリア8bの領域8blに転送す
ればよい。該領域8blの先頭アドレスをBOとすると
、転送先のアドレスはBO〜(BO+15AI )とな
る。Next, the operation of rotating 90'' clockwise will be explained. As shown in FIG. It is assumed that the area 8b is divided into a second area 8b in which processed image data is stored, and the text width is A1 bytes. Focusing on the area 8al of 1 byte x 1 byte in the first area 8a, If the start address of the area 8al is AO, the address corresponding to the area 8al is A.
O~(AO+15AI). The area 8al is 90
'In order to perform clockwise rotation processing, the area 8al is once transferred to the shift register 9, and the area 8al is transferred to the shift register 9.
The data rotated in one direction (at 90'') can be cut out byte by byte and transferred to the area 8bl of the second area 8b.If the start address of the area 8bl is BO, the transfer destination address is BO. ~(BO+15AI).
該第1のエリア8aの領域8alの右隣りの次の1バイ
ト×1バイトの領域を処理する場合の読み込みアドレス
と書き込みアドレス(転送先アドレス)の対応は第3図
の中段に示されているようになる。すなわち、第1のエ
リア8aのアドレス(AO+1)〜(AO+ 15A、
+ 1)からデータを読みだし、第2のエリア8bのア
ドレス(BO+16AI)〜(BO+30AI )に書
き込むようにすればよい。The correspondence between the read address and the write address (transfer destination address) when processing the next 1 byte x 1 byte area to the right of the area 8al of the first area 8a is shown in the middle part of FIG. It becomes like this. That is, the addresses of the first area 8a (AO+1) to (AO+15A,
+1) and write it to addresses (BO+16AI) to (BO+30AI) of the second area 8b.
ここで、第1図を参照して、90″時計方向に回転処理
する動作について計則に説明する。、なお、箇2.3図
をも参照すると、理解が容易になるであろう。Here, with reference to FIG. 1, the operation of rotating 90'' clockwise will be explained in detail.It will be easier to understand if FIG. 2.3 is also referred to.
まず、CPUl0は第1のアドレス加算レジスタ12に
メモリのテキスト輻Atを格納する。該格納は、CPU
l0からデータA1と該第1のアドレス加算レジスタ1
2をトリガするアドレスを出力することにより行われる
。該第1のアドレス加算レジスタ12のTはトリガ端子
を示している。First, the CPU 10 stores the text congestion At of the memory in the first address addition register 12. The storage is performed by the CPU
Data A1 from l0 and the first address addition register 1
This is done by outputting an address that triggers 2. T of the first address addition register 12 indicates a trigger terminal.
CPUl0はまた同様に、第2のアドレス加算レジスタ
13にAO1O2O3ドレス加算レジスタ14にBOを
格納する。Similarly, CPU10 also stores BO in the second address addition register 13 and AO1O2O3 address addition register 14.
次に、アドレスデコーダ11はCPUIIからの信号に
応じて、第2のアドレス加算レジスタ13のE(イネー
ブル)端子に第4図に示されているような信号slを送
る。該信号slが入力すると、第2のアドレス加算レジ
スタ13はそのLレベルの期間TOの間データAOを加
算器15に送出する。該信号slはアドレスレジスタ1
6のトリガ端子Tおよび第1のメモリアドレスバッファ
17のE端子に送られる。Next, the address decoder 11 sends a signal sl as shown in FIG. 4 to the E (enable) terminal of the second address addition register 13 in response to a signal from the CPU II. When the signal sl is input, the second address addition register 13 sends the data AO to the adder 15 during the L level period TO. The signal sl is the address register 1
6 and the E terminal of the first memory address buffer 17.
この結果、該第1のメモリアドレスバッファ17は前記
Lレベルの期間TOの間イネーブルとなり、前記加算器
15の出力であるデータAOは該第1のメモリアドレス
バッファ17を介してメモリ8に人力される。このよう
にして、メモリ8のアドレスAOがアクセスされ、該メ
モリ8から読出されたイメージデータは一旦CPUl0
に入り、その後該CPUl0からシフトレジスタ9に転
送される。As a result, the first memory address buffer 17 is enabled during the L level period TO, and the data AO, which is the output of the adder 15, is input to the memory 8 via the first memory address buffer 17. Ru. In this way, the address AO of the memory 8 is accessed, and the image data read from the memory 8 is temporarily transferred to the CPU 10.
The data is then transferred from the CPU 10 to the shift register 9.
次に、前記信号slが立ち上がるとそのエツジ11で前
記アドレスレジスタ16は前記データAOをラッチする
。Next, when the signal sl rises, the address register 16 latches the data AO at its edge 11.
次に、アドレスデコーダ11は前記第1のアドレス加算
レジスタ12のE端子に前記信号S(を連続的に送出す
る。そうすると、該第1のアドレス加算レジスタ12に
格納されているデータA1が該信号slがLレベルにな
る度に読出され、加算415でアドレスレジスタ16に
ラッチされていたデータと加算される。該加算結果は前
記第1のメモリアドレスバッファ17に送られ、これに
よっ°Cメモリ8はアクセスされる。また、該加算結果
は該信号slの)tち」ユがリエッジhが来る度に、ア
ドレスレジスタ16にラッチされる。Next, the address decoder 11 continuously sends the signal S() to the E terminal of the first address addition register 12. Then, the data A1 stored in the first address addition register 12 is Each time sl goes to L level, it is read out and added to the data latched in the address register 16 in an addition 415.The addition result is sent to the first memory address buffer 17, thereby storing data in the °C memory. Further, the addition result is latched in the address register 16 every time the re-edge h of the signal sl occurs.
前記動作により、該メモリ8のアドレス(AO〜AO+
15Al )がアクセスされ、対応するデータがシフト
レジスタ9に転送される。By the above operation, the addresses (AO to AO+) of the memory 8 are changed.
15Al) is accessed and the corresponding data is transferred to the shift register 9.
該転送が終わると、今度はンフトレジスタ9によって9
0″時=1方向に回転したデータを1バイトずつ切り出
し、メモリ8aの第2のエリア8bの領域8blに転送
する動作に移る。まず、アドレスレジスタ16はクリア
され、第3のアドレス加算レジスタ14にアドレスデコ
ーダ11から前記信号S(が送られる。そうすると、該
第3のアドレス加算レジスタ14からデータBOが読出
され、加算器15に入り、その出力が第1のメモリアド
レスバッファ17に送られる。これにより、メモリ8の
アドレスBOがアクセスされる。l亥データBOは信号
Stの立ち」二がりエツジhにてアドレスレジスタ16
にラッチされる。When the transfer is completed, the transfer register 9 then registers 9.
When 0'' = data rotated in one direction is cut out one byte at a time, and the operation moves to the area 8bl of the second area 8b of the memory 8a. First, the address register 16 is cleared, and the third address addition register 14 The signal S() is sent from the address decoder 11. Then, the data BO is read from the third address addition register 14, enters the adder 15, and its output is sent to the first memory address buffer 17. As a result, the address BO of the memory 8 is accessed.The data BO is accessed from the address register 16 at the rising edge h of the signal St.
latched to.
次のタイミングからは、前記第1のアドレス加算レジス
タ]2のE端子に前記信号slが連続的に送られる。こ
の結果、メモリ8はアドレス(BO+AI)、(BO+
2 A1. ) 、−・・−・・(BO+15A1.)
が順次アクセスされ、文1応するイメージデータが該ア
ドレスに順次格納される。From the next timing, the signal sl is continuously sent to the E terminal of the first address addition register]2. As a result, memory 8 has addresses (BO+AI), (BO+
2 A1. ) , -... -... (BO+15A1.)
are sequentially accessed, and image data corresponding to statement 1 is sequentially stored at the addresses.
以上の動作により、メモリ8の領域8alのイメージデ
ータが90″時計方向に回転されて、領域8blに格納
されたことになる。Through the above operations, the image data in the area 8al of the memory 8 is rotated 90'' clockwise and stored in the area 8bl.
該動作が終了すると、次にメモリ8の第1のエリア8a
中の領域8alの右隣りの1バイト×1バイトのイメー
ジデータの回転処理に移る。この動作に移ると、前記第
2のアドレス加算レジスタ13の設定値は(AO+1)
に変更され、また前記第3のアドレス加算レジスタ14
の設定値は(Bo +16AI )に変更され、前記と
同様の動作が繰返し行われる。When the operation is completed, the first area 8a of the memory 8 is
The process moves on to rotation processing of the 1 byte x 1 byte image data on the right side of the area 8al inside. When this operation starts, the set value of the second address addition register 13 is (AO+1)
and the third address addition register 14
The set value is changed to (Bo +16AI), and the same operation as described above is repeated.
以上の動作がメモリ8の′:jSlのエリア8aに格納
されているイメージデータの全部に対して行われると、
第2のエリア8bに該イメージデータを90°時計方向
に回転させたイメージデータを得ることができる。When the above operations are performed on all the image data stored in area 8a of memory 8':jSl,
Image data obtained by rotating the image data by 90° clockwise can be obtained in the second area 8b.
次に、メモリ8の第1のエリア8aに格納されたイメー
ジデータに回転と縮小の処理を同時に加える時の動作を
説明する。ここでは、90″時計方向の回転と2/3倍
に縮小するときの動作を第5図を参照して説明する。Next, the operation when simultaneously applying rotation and reduction processing to the image data stored in the first area 8a of the memory 8 will be explained. Here, the operation of rotating 90 inches clockwise and reducing the size by 2/3 will be explained with reference to FIG.
2/3倍に縮小するときは、イメージデータの横方向と
縦方向の両方を2/3倍に縮小する必要があるので、メ
モリ8からのデータの読取りは3ラインにつき1ライン
の間引きをし、シフトレジスタ9からメモリ8への書込
みは3ラインにつき1ラインの間引きが行われるように
する。このためには、メモリ8の読込アドレスおよび書
込アドレスは、第5図に示す順序になればよい。When reducing the image data by 2/3 times, it is necessary to reduce both the horizontal and vertical directions of the image data by 2/3 times, so when reading data from the memory 8, one line is thinned out for every three lines. , writing from the shift register 9 to the memory 8 is performed such that one line is thinned out for every three lines. For this purpose, the read and write addresses of the memory 8 need only be in the order shown in FIG.
そこで、第1図のCPUl0は、第1のアドレス加算レ
ジスタ12にデータA1、第2のアドレス加算レジスタ
13にデータ2A’l、第3のアドレス加算レジスタ1
4にデータAOを設定する動作をする。Therefore, the CPU 10 in FIG.
The operation is to set the data AO to 4.
次いで、第3のアドレス加算レジスタ14に設定された
データAOを読み出して、前言己と同様にして、メモリ
8のアドレスAOをアクセスする。Next, the data AO set in the third address addition register 14 is read out, and the address AO of the memory 8 is accessed in the same manner as described above.
該アドレスAOをアクセスが終わると、次いで第1のア
ドレス加算レジスタ12に設定されたデータAIを読み
出して、メモリ8のアドレス(AO+AI)をアクセス
する。続いて、第2のアドレス加算レジスタ13に設定
されたデータ2AIを読出して、メモリ8のアドレス(
An +3AI )をアクセスする。After accessing the address AO, the data AI set in the first address addition register 12 is then read out, and the address (AO+AI) of the memory 8 is accessed. Next, the data 2AI set in the second address addition register 13 is read out, and the address (
An+3AI).
その後、該第1のアドレス加算レジスタ12および第2
のアドレス加算レジスタ13に設定されたデータを交互
に読みたし、メモリ8のアドレスを求める。該動作が繰
返されると、メモリ8の領域8a、1の1バイト×1バ
イトのイメージデータが縦方向に2/3倍に縮小されて
、前記シフトレジスタ9に格納されることになる。Thereafter, the first address addition register 12 and the second
The data set in the address addition register 13 are read alternately, and the address of the memory 8 is determined. When this operation is repeated, the image data of 1 byte x 1 byte in area 8a, 1 of memory 8 is reduced by 2/3 times in the vertical direction and stored in the shift register 9.
次いで、該シフトレジスタ9からイメージデータをメモ
リ8の領域gbtに転送するときには、第1、第2、第
3のアドレス加算レジスタ12.13.14の各々に、
データAt 、O,BOが設定される。Next, when transferring the image data from the shift register 9 to the area gbt of the memory 8, each of the first, second, and third address addition registers 12, 13, and 14 has the following information:
Data At, O, and BO are set.
そして、まず第3のアドレス加算レジスタ14からデー
タBOが読出され、これによってメモリ8のアドレスB
Oがアクセスされる。そして、該アドレスBOに前記シ
フトレジスタ9から90″同転した1バイトのデータが
格納される。次に、第1のアドレス加算レジスタ12か
らデータA1が読出され、メモリ8のアドレス(BO+
A1 )がアクセスされる。次に、再び第1のアドレス
加算レジスタ12からデータAlが読出され、メモリ8
のアドレス(BO+2Al )がアクセスされる。次の
タイミングでは、第2のアドレス加算レジスタ13から
データ0が読出されるので、メモリ8のアドレスは変化
せず、再びアドレス(BO+2Al)がアクセスされる
。Then, first, data BO is read from the third address addition register 14, and thereby the address B of the memory 8 is read out.
O is accessed. Then, 1 byte of data rotated 90'' from the shift register 9 is stored in the address BO.Next, data A1 is read from the first address addition register 12, and the address (BO+
A1) is accessed. Next, data Al is read out from the first address addition register 12 again, and the memory 8
address (BO+2Al) is accessed. At the next timing, data 0 is read from the second address addition register 13, so the address of the memory 8 does not change and the address (BO+2Al) is accessed again.
このように、メモリ8の同じアドレスが2回続けてアク
セスされると、該アドレスに前に格納されたイメージデ
ータの上に次のイメージデータが上書きされ、核部のイ
メージデータは消去される。In this manner, when the same address in the memory 8 is accessed twice in succession, the next image data is overwritten on the image data previously stored at the address, and the core image data is erased.
すなわち、核部のイメージデータは間引かれたことにな
る。In other words, the image data of the nucleus has been thinned out.
以上の動作が繰返し行われると、横方向にも2/3倍に
縮小されたイメージデータが前記領域gal上に得られ
る。When the above operations are repeated, image data reduced by 2/3 in the horizontal direction is obtained on the area gal.
上記の動作が繰返し行われることにより、メモリ8の第
1のエリア8aの全イメージデータが、90°時計方向
に回転されかつ2/3倍に縮小処理されることになる。By repeating the above operations, all the image data in the first area 8a of the memory 8 is rotated 90° clockwise and reduced to 2/3 times.
なお、上記の動作はイメージデータを90°時計方向に
(ロ)転処理する例であったが、270°の1時計方向
の回転も、前記第1〜3アドレス加算レジスタ12〜1
4に設定するデータの値およびその読みだし順序を変更
するだけで達成することができることは明らかであろう
。また、縮小処理も2/3倍に限定されないことは勿論
であり、拡大処理ち可能である。Note that the above operation was an example in which the image data was rotated 90 degrees clockwise, but rotation by 270 degrees clockwise also applies to the first to third address addition registers 12 to 1.
It is clear that this can be achieved by simply changing the data value set to 4 and the reading order. Furthermore, it goes without saying that the reduction processing is not limited to 2/3 times, and enlargement processing is also possible.
また、本発明ではアドレス加算レジスタを3個用いた例
であったが、本発明はこれに限定されるものではない。Further, although the present invention uses three address addition registers, the present invention is not limited to this.
(発明の効果)
以上の説門から明らかなように、本発明によれば、メモ
リに格納されているイメージデータを回転または/およ
び縮小、拡大処理するために、該メモリにアクセスする
アドレスをプログラムによる清算によってではなく、ハ
ード構成で行うことができるので、イメージデータの処
理速度が大幅に高速になるという効果がある。(Effects of the Invention) As is clear from the above introduction, according to the present invention, in order to rotate and/or reduce or enlarge image data stored in the memory, an address for accessing the memory is programmed. Since this can be done with a hardware configuration rather than through clearing, the processing speed of image data can be significantly increased.
第1図は本発明のブロック図、第2図は回転処理動作に
おけるデータ転送の説明図、第3図はそのアドレス変換
の説明図、第4図はアドレス加算レジスタのE端子に印
加される信号の波形図、第5図は回転および縮小処理時
のアドレス変換の説明図、第6図は従来の画像処理方式
の概念図、第7図はそのアドレス変換の説明図である。
8・・・メモリ、9・・・シフトレジスタ、10・・・
CPU。Fig. 1 is a block diagram of the present invention, Fig. 2 is an explanatory diagram of data transfer in rotation processing operation, Fig. 3 is an explanatory diagram of address conversion, and Fig. 4 is a signal applied to the E terminal of the address addition register. FIG. 5 is an explanatory diagram of address conversion during rotation and reduction processing, FIG. 6 is a conceptual diagram of a conventional image processing system, and FIG. 7 is an explanatory diagram of the address conversion. 8...Memory, 9...Shift register, 10...
CPU.
Claims (1)
る定数を保持する複数個のアドレス加算レジスタと、 該複数個のアドレス加算レジスタを選択的にイネーブル
にする手段と、 該先頭アドレスに該イネーブルにされたアドレス加算レ
ジスタからの定数を繰返し加算する手段と、 該加算手段の出力をアドレスとしてメモリにアクセスす
る手段と、 該先頭アドレスおよび定数の該アドレス加算レジスタへ
の設定を更新する手段と、 を具備し、 前記メモリに蓄積された画像データを高速に回転、縮小
等の処理を行えるようにしたことを特徴とする高速画像
処理回路。(1) A plurality of address addition registers that hold constants determined based on a start address and a memory page width, means for selectively enabling the plurality of address addition registers, and a means for selectively enabling the plurality of address addition registers; means for repeatedly adding a constant from the address addition register, means for accessing memory using the output of the addition means as an address, and means for updating settings of the start address and the constant in the address addition register. A high-speed image processing circuit, comprising: a high-speed image processing circuit capable of performing processes such as rotation and reduction of image data stored in the memory at high speed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1207865A JPH0373072A (en) | 1989-08-14 | 1989-08-14 | High-speed picture processing circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1207865A JPH0373072A (en) | 1989-08-14 | 1989-08-14 | High-speed picture processing circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0373072A true JPH0373072A (en) | 1991-03-28 |
Family
ID=16546829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1207865A Pending JPH0373072A (en) | 1989-08-14 | 1989-08-14 | High-speed picture processing circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0373072A (en) |
-
1989
- 1989-08-14 JP JP1207865A patent/JPH0373072A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6155688B2 (en) | ||
JPH0373072A (en) | High-speed picture processing circuit | |
JPS6362083A (en) | Projection data generation system | |
JP3028616B2 (en) | Color image processing device | |
JPH0120514B2 (en) | ||
JP2770516B2 (en) | Drawing method | |
JP2898000B2 (en) | Character data expansion processor | |
JPS617769A (en) | Image memory write control system | |
JPH09128233A (en) | Central processing unit | |
JPH0516452A (en) | Printer | |
JPH0478942A (en) | Memory access circuit | |
JPH06152926A (en) | Facsimile equipment | |
JPH0516451A (en) | Printer | |
JPS63299458A (en) | Memory access circuit | |
JPH0540685A (en) | Address decoder | |
JPH0635844A (en) | Direct memory access device | |
JPH0689230A (en) | Array circuit for cache memory read data | |
JPS63144496A (en) | Write control system for storage device | |
JPS63121975A (en) | Information processor | |
JPH01265339A (en) | Structuring data processor | |
JPS59219780A (en) | Graphic memory access circuit | |
JPS63298673A (en) | Image memory element | |
JPS61215584A (en) | Display controller | |
JPH02105264A (en) | Memory device for processing graphic data | |
JPS60218146A (en) | Storage device address control system |