JP4732183B2 - Image processing apparatus, image processing method, and program for causing computer to execute the method - Google Patents

Image processing apparatus, image processing method, and program for causing computer to execute the method Download PDF

Info

Publication number
JP4732183B2
JP4732183B2 JP2006044145A JP2006044145A JP4732183B2 JP 4732183 B2 JP4732183 B2 JP 4732183B2 JP 2006044145 A JP2006044145 A JP 2006044145A JP 2006044145 A JP2006044145 A JP 2006044145A JP 4732183 B2 JP4732183 B2 JP 4732183B2
Authority
JP
Japan
Prior art keywords
memory
image
address
mask
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006044145A
Other languages
Japanese (ja)
Other versions
JP2007226330A5 (en
JP2007226330A (en
Inventor
正宏 鈴木
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2006044145A priority Critical patent/JP4732183B2/en
Publication of JP2007226330A publication Critical patent/JP2007226330A/en
Publication of JP2007226330A5 publication Critical patent/JP2007226330A5/ja
Application granted granted Critical
Publication of JP4732183B2 publication Critical patent/JP4732183B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラムに関するものである。   The present invention relates to an image processing apparatus, an image processing method, and a program for causing a computer to execute the method.

従来、画像形成装置において、画像を回転するためには、画像をある矩形に区切り、ブロック単位でメモリから読み込み、回転した後、ブロック単位でメモリに書き戻すことを繰り返していた。例えば、1bit2値の画像を回転する際に、一つのブロックを256×256画素とすると、主走査方向に64バイト、副走査方向に256ラインのブロックを、メモリから回転器のSRAM(Static RAM)に読み込みながら回転し、メモリの書き込み位置に書き込んでいた。   Conventionally, in an image forming apparatus, in order to rotate an image, the image is divided into certain rectangles, read from the memory in units of blocks, rotated, and then written back to the memory in units of blocks. For example, when rotating a 1-bit binary image, if one block is 256 × 256 pixels, a block of 64 bytes in the main scanning direction and 256 lines in the sub-scanning direction is transferred from the memory to the rotator SRAM (Static RAM). Rotate while reading and writing to the memory write position.

ここで、ブロック単位でメモリにアクセスする場合、一般に、ブロックのスタートアドレスが、メモリバス幅というHW制約によって制限を受ける。もしこれを無視して、例えば32bit幅のメモリに対してバイト単位でスタートアドレスを設定すると、メモリアクセスのアドレス発生方法が複雑になる他、実装に従ってHWを設計しないとメモリアクセスの増加によるパフォーマンスの低下がおこる。   Here, when accessing the memory in units of blocks, the start address of the block is generally limited by the HW restriction of the memory bus width. If this is ignored and the start address is set in units of bytes for a 32-bit width memory, for example, the memory access address generation method becomes complicated, and if the HW is not designed according to the implementation, the performance of the memory access increases. Decrease occurs.

例えば、画像を90度または270度回転させる場合、回転後画像の画像配置(メモリ上のアドレス)まで考慮して画像をブロック化しないと、パフォーマンスが低下する。一般に、回転前画像も回転後画像も、特定のバウンダリ制約を満たしたメモリ上のアドレス、主走査長、副走査長の画像しか回転できなかった。従って、回転するためのブロックは固定であり、半端なサイズの画像や、半端なメモリ位置(アドレス)に置かれた画像を回転することは出来なかった。   For example, when an image is rotated 90 degrees or 270 degrees, performance is degraded unless the image is blocked in consideration of the image layout (address on the memory) of the rotated image. In general, both the pre-rotation image and the post-rotation image can be rotated only in the memory address, main scanning length, and sub-scanning length that satisfy specific boundary constraints. Therefore, the block for rotation is fixed, and an image having an odd size or an image placed at an odd memory location (address) cannot be rotated.

このような問題を解決するために、特許文献1の技術では、画像の回転処理において、ブロック単位で回転処理を施す回転処理単位を4バイトで行い、これに合わせてメモリへのアクセス単位も4バイトに設定している。同文献の技術においては、入力先頭アドレスが回転処理単位にアラインされていない場合、即ち格子と回転処理単位の先頭部分とが一致していない場合は、入力先頭アドレスの下位数ビットを0にしてアラインさせると同時に、マスク量を計算してマスク処理を施しながら、出力手段に出力させていた。   In order to solve such a problem, in the technique of Patent Document 1, the rotation processing unit for performing the rotation processing in units of blocks is performed by 4 bytes in the image rotation processing, and the access unit to the memory is also set to 4 bytes accordingly. Set to byte. In the technique of this document, when the input head address is not aligned with the rotation processing unit, that is, when the grid and the head part of the rotation processing unit do not match, the lower-order bits of the input head address are set to 0. At the same time as aligning, the masking amount is calculated and masked, and then output to the output means.

図11は、従来例による画像の回転処理における入力アドレスの生成を説明する図である。ここで、回転処理単位1110を決定する格子1101(図中点線で表された格子)は、下位2ビットを0とするもの、即ち、入力アドレスが[1:0]=0のものである。図11に示すように、回転処理単位1110は4バイト(32×32ビット)であり、メモリへのアクセス単位も4バイトとなる。また、メモリのアドレスはバイト単位である。   FIG. 11 is a diagram for explaining generation of an input address in the image rotation processing according to the conventional example. Here, a lattice 1101 (a lattice represented by a dotted line in the figure) for determining the rotation processing unit 1110 is one in which the lower 2 bits are 0, that is, the input address is [1: 0] = 0. As shown in FIG. 11, the rotation processing unit 1110 is 4 bytes (32 × 32 bits), and the memory access unit is 4 bytes. The memory address is in bytes.

この従来例では入力先頭アドレスが回転処理単位にアラインされていない場合、例えば領域1111における図中の左上の頂点1111aの場合、入力アドレス変換手段が、入力先頭アドレスの下位数ビットを0にすると同時に、マスク量を計算し、出力手段へ出力する。図中、アラインされていない回転処理単位においては、データ1120中のデータ1121がマスクされる部分である。従って、有効データは、図中データ1122〜1124で表されるように、4バイトから1バイトを引いた3バイト分だけとなってしまう。   In this conventional example, when the input head address is not aligned in the rotation processing unit, for example, in the case of the upper left vertex 1111a in the figure in the region 1111, the input address conversion means simultaneously sets the lower-order bits of the input head address to 0. The mask amount is calculated and output to the output means. In the drawing, in the unaligned rotation processing unit, the data 1121 in the data 1120 is a masked portion. Therefore, the valid data is only 3 bytes obtained by subtracting 1 byte from 4 bytes, as represented by data 1122 to 1124 in the figure.

特開2001−274975号公報JP 2001-274975 A

しかしながら、この方式では、回転ブロックが小さな場合は、入力先頭アドレスを変換しマスク量を計算する回数が増加して、メモリアクセスに無駄があった。また、この方式のままで回転処理単位を大きくした場合には、マスクされるビット数が多くなり、使用しないアドレスの読み込みが増加して、メモリアクセスに無駄があった。   However, in this method, when the rotating block is small, the number of times of converting the input head address and calculating the mask amount is increased, and the memory access is wasted. Further, when the rotation processing unit is increased with this method, the number of bits to be masked increases, reading of unused addresses increases, and memory access is wasted.

本発明は上記の問題に鑑みてなされ、その目的は、無駄なメモリアクセスを省略でき、画像処理効率の高い画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラムを提供することである。   The present invention has been made in view of the above problems, and an object thereof is to provide an image processing apparatus, an image processing method, and a program for causing a computer to execute the method, which can eliminate useless memory access and have high image processing efficiency. .

上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、画像データを格納する画像メモリを矩形領域に分割する分割手段と、前記画像メモリから前記画像データを読み出す入力メモリアドレスを生成する入力アドレス生成手段と、前記入力アドレス生成手段によって生成された入力メモリアドレスに基づいて、前記画像メモリにバーストアクセスして、画像データを読み出すメモリアクセス制御手段と、前記入力アドレス生成手段によって生成された入力アドレスに基づいて前記画像データを読み込んで回転処理を施す回転処理手段と、を備え、前記入力アドレス生成手段は、前記画像メモリに格納された画像データを読み出す主走査方向の先頭メモリアドレスであって前記分割手段によって分割された矩形領域の先頭アドレスを生成する先頭メモリアドレス生成手段、および、主走査方向の所定幅における先頭画素からの非アクセス量である先頭非アクセス量、前記主走査方向の所定幅における後端画素に至るまでの非アクセス量である後端非アクセス量、及び前記メモリアクセス制御手段がバーストアクセスする前記矩形領域内におけるバースト長を演算することにより、前記先頭メモリアドレス生成手段によって生成された先頭アドレスに対応する画素以降の読み込みを停止する画素数を演算する非アクセス量演算手段を、有し、前記メモリアクセス制御手段は、前記先頭アドレスに対応する画素以降、前記非アクセス量演算手段によって前記先頭非アクセス量、前記後端非アクセス量、および前記バースト長に基づいて演算された画素数の画像データを読み飛ばして前記画像メモリにバーストアクセスし、格納された画像データを読み出し、前記回転処理手段によって回転処理を施された画像データを、前記画像メモリにバースト転送するものであることを特徴とする。 In order to solve the above-described problems and achieve the object, the invention according to claim 1 includes a dividing means for dividing an image memory for storing image data into rectangular areas, and an input memory for reading out the image data from the image memory. Input address generation means for generating an address; memory access control means for reading out image data by burst access to the image memory based on the input memory address generated by the input address generation means; and the input address generation means Rotation processing means for reading the image data on the basis of the input address generated by the input address and performing rotation processing, and the input address generation means reads the image data stored in the image memory in the main scanning direction. beginning a of the divided rectangular areas by said division means a memory address The first memory address generating means for generating less, and, the top non-access amount is non-accessible volume of the head pixel in a predetermined width in the main scanning direction, a non-access up to the rear end pixel in the predetermined width of the main scanning direction rear non-access amount is an amount, and the by the memory access control means for calculating a burst length in the rectangular region to burst access, a pixel corresponding to the first memory address previously Atamaa dress generated by the generating means the non-access amount calculating means for calculating the number of pixels to stop reading after having the memory access control means, after a pixel corresponding to the destination Atamaa dress, the leading non-access by the non-access amount calculation means the amount, the rear end non-access amount, and the image data of the number of pixels that have been calculated based on the burst length Skip viewed burst accesses in the image memory reads the stored image data, the image data subjected to rotation processing by the rotation processing unit, and characterized in that the burst transfer to the image memory.

請求項にかかる発明は、請求項1に記載の画像処理装置において、前記画像メモリアクセス制御手段によって読み出された画像データを、画像メモリに格納するための出力メモリアドレスを生成する出力アドレス生成手段を、さらに備え、前記メモリアクセス制御手段は、前記出力アドレス生成手段によって生成された出力メモリアドレスに基づいて、読み出した前記画像データを、前記画像メモリにバースト転送するものであることを特徴とする。 Such invention in claim 2, the image processing apparatus according to claim 1, the image data read by the image memory access control means, generating an output address for generating an output memory address for storage in the image memory The memory access control means burst-transfers the read image data to the image memory based on the output memory address generated by the output address generation means. To do.

請求項にかかる発明は、請求項に記載の画像処理装置において、前記メモリアクセス制御手段は、前記出力メモリアドレス、および前記バースト長に基づいて、前記読み出した画像データを、前記画像メモリにバースト転送するものであることを特徴とする。 Such invention in claim 3, the image processing apparatus according to claim 2, wherein the memory access control means, said output memory address, and on the basis of the burst length, the read image data, the image memory It is characterized by burst transfer.

請求項にかかる発明は、請求項2または3に記載の画像処理装置において、前記メモリアクセス制御手段は、前記画像データを前記画像メモリに格納する際に、所定数の画素データに対してマスク処理を施して格納するマスク生成手段を有するものであることを特徴とする。 According to a fourth aspect of the present invention, in the image processing apparatus according to the second or third aspect , the memory access control unit masks a predetermined number of pixel data when storing the image data in the image memory. It has a mask generation means for performing processing and storing it.

請求項にかかる発明は、請求項に記載の画像処理装置において、前記マスク生成手段は、上記先頭読み飛ばしに後続する所定の画素数だけマスク処理を施す先頭マスク生成手段、および、上記後端読み飛ばしに先行する所定の画素数だけマスク処理を施す後端マスク生成手段を有し、前記先頭マスク生成手段によるマスク処理、および前記後端マスク生成手段によるマスク処理によって、前記画像データに対してマスク処理を施すものであることを特徴とする。 According to a fifth aspect of the present invention, in the image processing apparatus according to the fourth aspect , the mask generation unit performs a mask process for a predetermined number of pixels subsequent to the head reading skip, and the rear A rear end mask generation unit that performs mask processing for a predetermined number of pixels preceding skipping of the end reading, and the image data is subjected to mask processing by the head mask generation unit and mask processing by the rear end mask generation unit; The mask processing is performed.

請求項にかかる発明は、請求項1〜5のいずれか1つに記載の画像処理装置において、前記分割手段は、前記画像メモリをバイト単位の矩形領域に分割するものであることを特徴とする。 According to a sixth aspect of the present invention, in the image processing apparatus according to any one of the first to fifth aspects, the dividing unit divides the image memory into rectangular areas in units of bytes. To do.

請求項にかかる発明は、画像処理装置における画像処理方法であって、分割手段によって、画像データを格納する画像メモリを矩形領域に分割する分割工程と、入力アドレス生成手段によって、前記画像メモリから前記画像データを読み出す入力メモリアドレスを生成する入力アドレス生成工程と、メモリアクセス制御手段によって、前記入力アドレス生成工程で生成された入力メモリアドレスに基づいて、前記画像メモリにバーストアクセスして、画像データを読み出すメモリアクセス制御工程と、回転処理手段によって、前記入力アドレス生成工程で生成された入力アドレスに基づいて前記画像データを読み込んで回転処理を施す回転処理工程と、を含み、前記入力アドレス生成工程は、先頭メモリアドレス生成手段によって、前記画像メモリに格納された画像データを読み出す主走査方向の先頭メモリアドレスであって前記分割工程で分割された矩形領域の先頭アドレスを生成する先頭メモリアドレス生成工程、および、非アクセス量演算手段によって、主走査方向の所定幅における先頭画素からの非アクセス量である先頭非アクセス量、前記主走査方向の所定幅における後端画素に至るまでの非アクセス量である後端非アクセス量、及び前記メモリアクセス制御手段がバーストアクセスする前記矩形領域内におけるバースト長を演算することにより、前記先頭メモリアドレス生成工程で生成された先頭アドレスに対応する画素以降の読み込みを停止する画素数を演算する非アクセス量演算工程を、含み、前記メモリアクセス制御工程は、前記先頭アドレスに対応する画素以降、前記非アクセス量演算工程で前記先頭非アクセス量、前記後端非アクセス量、および前記バースト長に基づいて演算された画素数の画像データを読み飛ばして前記画像メモリにバーストアクセスし、格納された画像データを読み出し、前記回転処理工程で回転処理を施された画像データを、前記画像メモリにバースト転送するものであることを特徴とする。 Such invention in claim 7, an image processing method in images processing device, the dividing means, a dividing step of dividing an image memory for storing image data in the rectangular area, the input address generating unit, the image memory An input address generation step for generating an input memory address for reading the image data from the memory, and a burst access to the image memory based on the input memory address generated in the input address generation step by the memory access control means, A memory access control step for reading data; and a rotation processing step for reading the image data and performing rotation processing based on the input address generated in the input address generation step by a rotation processing means, and generating the input address The process is performed by the top memory address generating means. The first memory address generating step of generating the start address of the divided rectangular area in the division step a first memory address in the main scanning direction for reading the image data stored in the memory, and, by non-access amount calculation means, a main A head non-access amount that is a non-access amount from the head pixel in a predetermined width in the scanning direction, a rear end non-access amount that is a non-access amount up to a rear end pixel in the predetermined width in the main scanning direction, and the memory access by controlling means for calculating a burst length within the rectangular area to be burst access, non-access for calculating the number of pixels to stop reading the subsequent pixel corresponding to the first memory address generated by the generating step the previously Atamaa dress the amount calculating step, wherein, the memory access control step, pixels corresponding to the destination Atamaa dress Descending, wherein the first non-access amount in a non-access amount calculation step, the rear end non-access volume and burst accesses in the image memory skip image data of the number of pixels is calculated based on the burst length, stores The read image data is read out, and the image data subjected to the rotation process in the rotation process step is burst-transferred to the image memory.

請求項にかかる発明は、請求項に記載の画像処理方法において、出力アドレス生成手段によって、前記画像メモリアクセス制御工程で読み出された画像データを、画像メモリに格納するための出力メモリアドレスを生成する出力アドレス生成工程を、さらに含み、前記メモリアクセス制御工程は、前記メモリアクセス制御手段が、前記出力アドレス生成工程で生成された出力メモリアドレスに基づいて、読み出した前記画像データを、前記画像メモリにバースト転送するものであることを特徴とする。 According to an eighth aspect of the present invention, in the image processing method according to the seventh aspect , the output memory address for storing the image data read out in the image memory access control step by the output address generating means in the image memory. An output address generation step for generating the memory access control step, wherein the memory access control means reads the image data read out based on the output memory address generated in the output address generation step; It is characterized by burst transfer to the image memory.

請求項にかかる発明は、請求項に記載の画像処理方法において、前記メモリアクセス制御工程は、前記メモリアクセス制御手段が、前記出力メモリアドレス、および前記バースト長に基づいて、前記読み出した画像データを前記画像メモリにバースト転送するものであることを特徴とする。 According to a ninth aspect of the present invention, in the image processing method according to the eighth aspect , in the memory access control step, the memory access control means reads the read image based on the output memory address and the burst length. The data is burst-transferred to the image memory.

請求項10にかかる発明は、請求項8または9に記載の画像処理方法において、前記メモリアクセス制御工程は、前記メモリアクセス制御手段が、前記画像データを前記画像メモリに格納する際に、マスク生成手段によって、所定数の画素データに対してマスク処理を施して格納するマスク生成工程を、含むものであることを特徴とする。 According to a tenth aspect of the present invention, in the image processing method according to the eighth or ninth aspect , the memory access control step generates a mask when the memory access control means stores the image data in the image memory. The method includes a mask generation step of performing mask processing on a predetermined number of pixel data by means and storing.

請求項11にかかる発明は、請求項10に記載の画像処理方法において、前記マスク生成工程は、先頭マスク生成手段によって、上記先頭読み飛ばしに後続する所定の画素数だけマスク処理を施す先頭マスク生成工程、および、後端マスク生成手段によって、上記後端読み飛ばしに先行する所定の画素数だけマスク処理を施す後端マスク生成工程を含み、前記先頭マスク生成手段によるマスク処理、および前記後端マスク生成手段によるマスク処理によって、前記画像データに対してマスク処理を施すものであることを特徴とする。 According to an eleventh aspect of the present invention, in the image processing method according to the tenth aspect , in the mask generation step, the mask generation step performs mask processing for a predetermined number of pixels following the head reading skip by the head mask generation means. And a rear end mask generating step of performing mask processing by a predetermined number of pixels preceding the rear end skipping by the rear end mask generating means, and mask processing by the head mask generating means and the rear end mask A mask process is performed on the image data by a mask process by a generation unit.

請求項12にかかる発明は、請求項7〜11のいずれか1つに記載の画像処理方法において、前記分割工程は、前記分割手段が、前記画像メモリをバイト単位の矩形領域に分割するものであることを特徴とする。 According to a twelfth aspect of the present invention, in the image processing method according to any one of the seventh to eleventh aspects, the dividing step divides the image memory into rectangular areas in units of bytes. It is characterized by being.

請求項13にかかる発明は、プログラムにおいて、請求項7〜12のいずれか1つに記
載の画像処理方法を、コンピュータに実行させることを特徴とする。
According to a thirteenth aspect of the present invention, a program causes a computer to execute the image processing method according to any one of the seventh to twelfth aspects.

請求項1にかかる発明によれば、画像データを格納する画像メモリから画像データを読み出す入力メモリアドレスを生成し、生成された入力メモリアドレスに基づいて、画像メモリにバーストアクセスして、画像データを読み出すので、メモリアクセスを省略でき、画像処理効率の高い画像処理装置を提供できるという効果を奏する。   According to the first aspect of the present invention, the input memory address for reading the image data from the image memory storing the image data is generated, and the image memory is burst-accessed based on the generated input memory address to Since reading is performed, memory access can be omitted, and an image processing apparatus with high image processing efficiency can be provided.

また、請求項にかかる発明によれば、画像メモリに格納された画像データを読み出す主走査方向の先頭メモリアドレスを生成し、生成された先頭メモリアドレスに対応する画素以降の読み込みを停止する画素数を演算し、先頭メモリアドレスに対応する画素以降、演算された画素数の画像データを読み飛ばして画像メモリにバーストアクセスし、格納された画像データを読み出すことによって、不必要な画素に対応するメモリにアクセスすることが無いので、メモリアクセスを省略でき、画像処理効率の高い画像処理装置を提供できるという効果を奏する。
また、請求項1にかかる発明によれば、生成された入力アドレスに基づいて画像データを読み込んで回転処理を施す回転処理し、回転処理を施された画像データを、画像メモリにバースト転送することによって、画像の回転処理においても、メモリアクセスを省略でき、画像処理効率の高い画像処理装置を提供できるという効果を奏する。
According to the first aspect of the present invention, the top memory address in the main scanning direction for reading the image data stored in the image memory is generated, and the pixels that stop reading from the pixel corresponding to the generated top memory address are stopped. After the pixel corresponding to the head memory address is calculated, the image data corresponding to the calculated pixel number is skipped, the image memory is burst-accessed, and the stored image data is read to cope with unnecessary pixels. Since the memory is not accessed, the memory access can be omitted, and an image processing apparatus with high image processing efficiency can be provided.
According to the first aspect of the present invention, the image data is read based on the generated input address, is subjected to rotation processing, and the rotation-processed image data is burst transferred to the image memory. As a result, memory access can be omitted even in image rotation processing, and an image processing apparatus with high image processing efficiency can be provided.

請求項にかかる発明によれば、主走査方向の所定幅における先頭画素からの非アクセス量である先頭非アクセス量を演算し、主走査方向の所定幅における後端画素に至るまでの非アクセス量である後端非アクセス量を演算し、バーストアクセスするバースト長を演算し、先頭メモリアドレス、先頭非アクセス量、後端非アクセス量、およびバースト長に基づいて、画像メモリにバーストアクセスするので、主走査方向に沿った先頭と後端における不必要な画素に対応するメモリにアクセスすることが無いので、メモリアクセスを省略でき、画像処理効率の高い画像処理装置を提供できるという効果を奏する。
また、請求項にかかる発明によれば、画像メモリを矩形領域に分割し、分割された矩形領域の先頭アドレスを生成し、矩形領域内におけるバースト長を演算してバースト転送することによって、メモリアクセスを省略でき、画像処理効率の高い画像処理装置を提供できるという効果を奏する。
According to the first aspect of the present invention, the head non-access amount, which is the non-access amount from the head pixel in the predetermined width in the main scanning direction, is calculated, and non-access until the rear end pixel in the predetermined width in the main scanning direction is reached. Since the rear end non-access amount, which is the amount, is calculated, the burst length for burst access is calculated, and the burst access to the image memory is performed based on the head memory address, the head non-access amount, the rear end non-access amount, and the burst length. Since there is no access to the memory corresponding to unnecessary pixels at the head and rear ends along the main scanning direction, memory access can be omitted, and an image processing apparatus with high image processing efficiency can be provided.
According to the first aspect of the invention, the image memory is divided into rectangular areas, the start address of the divided rectangular area is generated, the burst length in the rectangular area is calculated, and burst transfer is performed. Access can be omitted, and an image processing apparatus with high image processing efficiency can be provided.

請求項にかかる発明によれば、読み出された画像データを、画像メモリに格納するための出力メモリアドレスを生成して、出力メモリアドレスに基づいて、読み出した画像データを、画像メモリにバースト転送することによって、不必要な画素に対応するメモリにアクセスすることが無く転送するので、メモリアクセスを省略でき、画像処理効率の高い画像処理装置を提供できるという効果を奏する。 According to the invention of claim 2 , an output memory address for storing the read image data in the image memory is generated, and the read image data is burst to the image memory based on the output memory address. Since the transfer is performed without accessing a memory corresponding to an unnecessary pixel, the memory access can be omitted and an image processing apparatus with high image processing efficiency can be provided.

請求項にかかる発明によれば、出力メモリアドレス、およびバースト長に基づいて、読み出した画像データを画像メモリにバースト転送することによって、出力メモリアドレスにアクセスするだけでバースト書き込みを行うので、メモリアクセスを省略でき、画像処理効率の高い画像処理装置を提供できるという効果を奏する。 According to the third aspect of the present invention, since the read image data is burst-transferred to the image memory based on the output memory address and the burst length, burst writing is performed only by accessing the output memory address. Access can be omitted, and an image processing apparatus with high image processing efficiency can be provided.

請求項にかかる発明によれば、画像データを画像メモリに格納する際に、所定数の画素データに対してマスク処理を施して格納するので、不必要な書き込みを省略でき、効率が高く、メモリアクセスを省略でき、画像処理効率の高い画像処理装置を提供できるという効果を奏する。 According to the invention of claim 4 , when storing the image data in the image memory, the predetermined number of pixel data is masked and stored, so unnecessary writing can be omitted, and the efficiency is high. Memory access can be omitted, and an image processing apparatus with high image processing efficiency can be provided.

請求項にかかる発明によれば、マスク処理においては、先頭非アクセス量に後続する所定の画素数だけマスク処理を施し、後端非アクセス量に先行する所定の画素数だけマスク処理を施すことによって、画像データを画像メモリに格納する際に、所定数の画素データに対して主走査方向の所定幅において先頭と後端の両方においてマスク処理を施して格納するので、不必要な書き込みを省略でき、効率が高く、メモリアクセスを省略でき、画像処理効率の高い画像処理装置を提供できるという効果を奏する。 According to the fifth aspect of the present invention, in the mask process, the mask process is performed for a predetermined number of pixels following the head non-access amount, and the mask process is performed for a predetermined number of pixels preceding the rear end non-access amount. Therefore, when storing the image data in the image memory, the predetermined number of pixel data are masked and stored at both the front and rear ends in a predetermined width in the main scanning direction, so unnecessary writing is omitted. Therefore, it is possible to provide an image processing apparatus with high efficiency, high memory efficiency, and high image processing efficiency.

請求項にかかる発明によれば、分割においては、画像メモリをバイト単位の矩形領域に分割することによって、バイト単位でバーストアクセスすることができるので、メモリアクセスを省略でき、画像処理効率の高い画像処理装置を提供できるという効果を奏する。 According to the invention of claim 6 , in the division, the image memory is divided into rectangular areas in units of bytes, so that burst access can be performed in units of bytes, so that memory access can be omitted, and image processing efficiency is high. There is an effect that an image processing apparatus can be provided.

請求項にかかる発明によれば、画像データを格納する画像メモリから画像データを読み出す入力メモリアドレスを生成し、生成された入力メモリアドレスに基づいて、画像メモリにバーストアクセスして、画像データを読み出すので、メモリアクセスを省略でき、画像処理効率の高い画像処理方法を提供できるという効果を奏する。 According to the invention of claim 7 , the input memory address for reading the image data from the image memory storing the image data is generated, and the image memory is burst-accessed based on the generated input memory address, and the image data is Since reading is performed, memory access can be omitted, and an image processing method with high image processing efficiency can be provided.

また、請求項にかかる発明によれば、画像メモリに格納された画像データを読み出す主走査方向の先頭メモリアドレスを生成し、生成された先頭メモリアドレスに対応する画素以降の読み込みを停止する画素数を演算し、先頭メモリアドレスに対応する画素以降、演算された画素数の画像データを読み飛ばして画像メモリにバーストアクセスし、格納された画像データを読み出すことによって、不必要な画素に対応するメモリにアクセスすることが無いので、メモリアクセスを省略でき、画像処理効率の高い画像処理方法を提供できるという効果を奏する。
また、請求項にかかる発明によれば、生成された入力アドレスに基づいて画像データを読み込んで回転処理を施す回転処理し、回転処理を施された画像データを、画像メモリにバースト転送することによって、画像の回転処理においても、メモリアクセスを省略でき、画像処理効率の高い画像処理方法を提供できるという効果を奏する。
According to the seventh aspect of the present invention, a top memory address in the main scanning direction for reading image data stored in the image memory is generated, and a pixel that stops reading after the pixel corresponding to the generated top memory address After the pixel corresponding to the head memory address is calculated, the image data corresponding to the calculated pixel number is skipped, the image memory is burst-accessed, and the stored image data is read to cope with unnecessary pixels. Since the memory is not accessed, the memory access can be omitted, and an image processing method with high image processing efficiency can be provided.
According to the seventh aspect of the present invention, the image data is read based on the generated input address, the rotation process is performed to perform the rotation process, and the image data subjected to the rotation process is burst transferred to the image memory. As a result, memory access can be omitted even in image rotation processing, and an image processing method with high image processing efficiency can be provided.

請求項にかかる発明によれば、主走査方向の所定幅における先頭画素からの非アクセス量である先頭非アクセス量を演算し、主走査方向の所定幅における後端画素に至るまでの非アクセス量である後端非アクセス量を演算し、バーストアクセスするバースト長を演算し、先頭メモリアドレス、先頭非アクセス量、後端非アクセス量、およびバースト長に基づいて、画像メモリにバーストアクセスするので、主走査方向に沿った先頭と後端における不必要な画素に対応するメモリにアクセスすることが無いので、メモリアクセスを省略でき、画像処理効率の高い画像処理方法を提供できるという効果を奏する。
また、請求項にかかる発明によれば、画像メモリを矩形領域に分割し、分割された矩形領域の先頭アドレスを生成し、矩形領域内におけるバースト長を演算してバースト転送することによって、メモリアクセスを省略でき、画像処理効率の高い画像処理方法を提供できるという効果を奏する。
According to the seventh aspect of the present invention, the head non-access amount that is the non-access amount from the head pixel in the predetermined width in the main scanning direction is calculated, and the non-access until the rear end pixel in the predetermined width in the main scanning direction is reached. Since the rear end non-access amount that is the amount is calculated, the burst length for burst access is calculated, and burst access is performed to the image memory based on the top memory address, the top non-access amount, the rear end non-access amount, and the burst length. Since there is no access to the memory corresponding to unnecessary pixels at the head and rear ends along the main scanning direction, memory access can be omitted, and an image processing method with high image processing efficiency can be provided.
According to the invention of claim 7 , the image memory is divided into rectangular areas, the start address of the divided rectangular area is generated, the burst length in the rectangular area is calculated, and burst transfer is performed. Access can be omitted, and an image processing method with high image processing efficiency can be provided.

請求項にかかる発明によれば、読み出された画像データを、画像メモリに格納するための出力メモリアドレスを生成して、出力メモリアドレスに基づいて、読み出した画像データを、画像メモリにバースト転送することによって、不必要な画素に対応するメモリにアクセスすることが無く転送するので、メモリアクセスを省略でき、画像処理効率の高い画像処理方法を提供できるという効果を奏する。 According to the eighth aspect of the present invention, an output memory address for storing the read image data in the image memory is generated, and the read image data is burst to the image memory based on the output memory address. Since the transfer is performed without accessing a memory corresponding to an unnecessary pixel, the memory access can be omitted and an image processing method with high image processing efficiency can be provided.

請求項にかかる発明によれば、出力メモリアドレス、およびバースト長に基づいて、読み出した画像データを画像メモリにバースト転送することによって、出力メモリアドレスにアクセスするだけでバースト書き込みを行うので、メモリアクセスを省略でき、画像処理効率の高い画像処理方法を提供できるという効果を奏する。 According to the ninth aspect of the present invention, since the read image data is burst-transferred to the image memory on the basis of the output memory address and the burst length, burst writing is performed only by accessing the output memory address. Access can be omitted, and an image processing method with high image processing efficiency can be provided.

請求項10にかかる発明によれば、画像データを画像メモリに格納する際に、所定数の画素データに対してマスク処理を施して格納するので、不必要な書き込みを省略でき、効率が高く、メモリアクセスを省略でき、画像処理効率の高い画像処理方法を提供できるという効果を奏する。 According to the invention of claim 10 , when storing the image data in the image memory, the predetermined number of pixel data is masked and stored, so unnecessary writing can be omitted, and the efficiency is high. Memory access can be omitted, and an image processing method with high image processing efficiency can be provided.

請求項11にかかる発明によれば、マスク処理においては、先頭非アクセス量に後続する所定の画素数だけマスク処理を施し、後端非アクセス量に先行する所定の画素数だけマスク処理を施すことによって、画像データを画像メモリに格納する際に、所定数の画素データに対して主走査方向の所定幅において先頭と後端の両方においてマスク処理を施して格納するので、不必要な書き込みを省略でき、効率が高く、メモリアクセスを省略でき、画像処理効率の高い画像処理方法を提供できるという効果を奏する。 According to the invention of claim 11 , in the mask process, the mask process is performed for a predetermined number of pixels subsequent to the head non-access amount, and the mask process is performed for a predetermined number of pixels preceding the rear end non-access amount. Therefore, when storing the image data in the image memory, the predetermined number of pixel data are masked and stored at both the front and rear ends in a predetermined width in the main scanning direction, so unnecessary writing is omitted. It is possible to provide an image processing method that is high in efficiency, can eliminate memory access, and can provide high image processing efficiency.

請求項12にかかる発明によれば、分割においては、画像メモリをバイト単位の矩形領域に分割することによって、バイト単位でバーストアクセスすることができるので、メモリアクセスを省略でき、画像処理効率の高い画像処理方法を提供できるという効果を奏する。 According to the twelfth aspect of the present invention, in the division, the image memory is divided into rectangular areas in units of bytes, whereby burst access can be performed in units of bytes, so that memory access can be omitted, and image processing efficiency is high. There is an effect that an image processing method can be provided.

請求項13にかかる発明によれば、請求項7〜12のいずれか1つに記載の画像処理方法を、コンピュータに実行させるプログラムを提供できるという効果を奏する。 According to the invention concerning Claim 13, there exists an effect that the program which makes a computer perform the image processing method as described in any one of Claims 7-12 can be provided.

以下に添付図面を参照して、この発明にかかる画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラムの最良な実施の形態、および変形例を詳細に説明する。   DETAILED DESCRIPTION Exemplary embodiments of an image processing apparatus, an image processing method, and a program for causing a computer to execute the method according to the present invention will be described below in detail with reference to the accompanying drawings.

(実施の形態)
実施の形態による画像処理装置は、画像情報を読み込み回転処理単位に分割して回転処理を施す際に、回転処理単位の先頭アドレスとバースト長情報を取得し、読み込みの先頭アドレスからバーストアクセスして読み込む。回転後に書き込む際には、書き込みの先頭アドレスからバースト転送して書き込む。
(Embodiment)
When the image processing apparatus according to the embodiment divides the image information into read rotation processing units and performs rotation processing, the image processing apparatus acquires the start address and burst length information of the rotation processing unit, and performs burst access from the read start address. Read. When writing after rotation, burst transfer is performed from the start address of writing.

そして、回転処理単位における画素データの先頭アドレスが回転処理単位にアラインされていない場合は、メモリアクセスしない部分を読み飛ばし、かつ画像データのない部分にマスク処理を施して、バースト転送して書き込む。即ち、先頭アドレスを決定し、メモリアクセスしない部分を設定して読み込み、必要なビット数だけのマスクを設定して、バースト転送することによって、回転前画像と回転後画像のスタートアドレスをバイト単位で設定でき、アラインしない領域においては不必要なメモリアクセスを停止し、かつマスク処理を施してバースト転送することによって無駄なメモリアクセスを減らすことができるので、画像の回転処理において回転速度の低下を抑える、回転処理の効率を高めることができる。   If the start address of the pixel data in the rotation processing unit is not aligned in the rotation processing unit, the portion that does not access the memory is skipped, the mask processing is performed on the portion without the image data, and burst transfer is performed for writing. That is, determine the start address, set and read the part that does not access the memory, set the mask of only the required number of bits, and burst transfer, the start address of the pre-rotation image and post-rotation image in bytes It can be set, and unnecessary memory access is stopped in areas that are not aligned, and unnecessary memory access can be reduced by performing mask transfer and burst transfer, thus suppressing a reduction in rotation speed in image rotation processing. The efficiency of the rotation process can be increased.

図1は、実施の形態による画像処理装置を備えた画像形成装置の機能的ブロック図である。画像形成装置は、スキャナ1、入力処理部2、操作表示部3、出力処理部4、画像出力部5、記憶部(HDD)6、および画像処理装置10を備える。   FIG. 1 is a functional block diagram of an image forming apparatus including an image processing apparatus according to an embodiment. The image forming apparatus includes a scanner 1, an input processing unit 2, an operation display unit 3, an output processing unit 4, an image output unit 5, a storage unit (HDD) 6, and an image processing device 10.

スキャナ1は、原稿画像を読み取る。スキャナ1は、副走査方向に移動する原稿に読取光を照射し、その反射光をCCD(Charge Coupled Device)等の光電変換素子で光電変換することによって、当該原稿の画像を読み取る。スキャナ1は、搭載する複数枚の原稿を一枚ずつ送り出すADF(Auto Document Feeder)を備えている場合、ADFから送られてくる原稿を順次、アナログ画像データとして読み取って、このアナログ画像データを入力処理部2に送信する。   The scanner 1 reads a document image. The scanner 1 irradiates an original moving in the sub-scanning direction with reading light, and photoelectrically converts the reflected light by a photoelectric conversion element such as a CCD (Charge Coupled Device) to read an image of the original. When the scanner 1 includes an ADF (Auto Document Feeder) that sends out a plurality of documents to be mounted one by one, the document sent from the ADF is sequentially read as analog image data, and the analog image data is input. It transmits to the processing unit 2.

入力処理部2は、スキャナ1が読み取ったアナログデータを受信し、デジタル画像データに変換して記憶部6に出力して格納させ、それと共に、画像処理装置10に送信する。   The input processing unit 2 receives the analog data read by the scanner 1, converts it into digital image data, outputs it to the storage unit 6, stores it, and sends it to the image processing apparatus 10 together with it.

操作表示部3は、プレビュー画像を表示し、また操作者による設定入力を受け付ける。操作表示部3は、スキャナ1による読み取り、入力処理部2による入力処理、操作表示部3によるプレビュー画像の表示、出力処理部4による画像の出力処理、および画像出力部5による画像の出力処理などの設定入力を受け付ける。また、操作表示部3は、各種の画像処理が施された場合、処理後の画像を表示する。   The operation display unit 3 displays a preview image and accepts a setting input by the operator. The operation display unit 3 reads by the scanner 1, input processing by the input processing unit 2, display of a preview image by the operation display unit 3, image output processing by the output processing unit 4, image output processing by the image output unit 5, and the like. Accept setting input. Moreover, the operation display part 3 displays the image after a process, when various image processing is performed.

操作表示部3は、例えば、液晶ディスプレイ等が用いられ、液晶モニタの上部に、タッチパネルを配置して構成する。操作表示部3は、各種操作キー、および液晶ディスプレイ上に配設されたタッチパネルを有する。操作キーやタッチパネルからは、画像形成装置の操作を行うのに必要な各種操作が行われるとともに、特に、ユーザが印刷したい原稿に対する原稿画像の画像処理(画像加工)、印刷条件に関する設定、後処理に関する設定等の各種設定操作を受け付ける。   For example, a liquid crystal display or the like is used as the operation display unit 3, and a touch panel is arranged on the upper part of the liquid crystal monitor. The operation display unit 3 includes various operation keys and a touch panel disposed on the liquid crystal display. Various operations necessary for operating the image forming apparatus are performed from the operation keys and the touch panel. In particular, image processing (image processing) of a document image on a document to be printed by the user, settings regarding printing conditions, and post-processing It accepts various setting operations such as settings.

操作表示部3は、読み取った画像に対する回転処理を施す要求入力を受け付ける。受け付けられる回転処理の要求は、例えば、時計回りに90度、180度、および270度である。あるいは、数値情報による入力を受け付ける構成とすることもできる。また、分度器様のアイコンを表示して、角度を接触入力で受け付ける構成とすることもできる。   The operation display unit 3 receives a request input for performing rotation processing on the read image. The accepted rotation processing requests are, for example, 90 degrees, 180 degrees, and 270 degrees clockwise. Or it can also be set as the structure which receives the input by numerical information. Moreover, it can also be set as the structure which displays a protractor-like icon and receives an angle by contact input.

画像処理装置10は、入力処理部2によって処理された画像データを受信し、操作表示部3によって受け付けられた回転処理の要求に従って、読み込んだ画像情報を2次元分布における矩形状の回転処理単位に分割して、回転処理を施し、回転処理後には分割された処理単位を合わせて1つとした画像情報として、操作表示部3における表示として出力する。また出力処理部4における画像出力として出力する。   The image processing apparatus 10 receives the image data processed by the input processing unit 2, and in accordance with the rotation processing request received by the operation display unit 3, the read image information is converted into a rectangular rotation processing unit in the two-dimensional distribution. The image is divided and subjected to a rotation process. After the rotation process, the image data is output as a display on the operation display unit 3 as image information obtained by combining the divided processing units. The image is output as an image output in the output processing unit 4.

出力処理部4は、画像処理装置10によって処理された画像に対して、受け付けられた処理設定に基づいて出力処理を施す。また、出力処理部4は、画像データに対してガンマ変換など各種の必要な画像処理を施す。   The output processing unit 4 performs output processing on the image processed by the image processing apparatus 10 based on the received processing setting. The output processing unit 4 performs various necessary image processing such as gamma conversion on the image data.

出力処理部4は、また、出力処理を施す際に、画像メモリから読み込んで処理を施し、出力する際に、実施の形態による画像処理装置10によって読み込み、および書き込みの制御を受ける構成とすることができる。   The output processing unit 4 is configured to be read from the image memory when performing the output process, to perform the process, and to be read and written by the image processing apparatus 10 according to the embodiment when the output is performed. Can do.

画像出力部5は、出力処理部4によって施された出力処理の設定に従って画像出力する。ここで、画像出力部5が施す出力処理は、出力用紙に画像形成して画像出力するだけでなく、ステープル処理、パンチ穴空け処理など、印刷後の後処理も含む。   The image output unit 5 outputs an image according to the setting of the output process performed by the output processing unit 4. Here, the output processing performed by the image output unit 5 not only forms an image on output paper and outputs the image, but also includes post-printing post-processing such as stapling processing and punching processing.

記憶部6は、大容量のRAM(Random Access Memory)やハードディスク(HDD)等の大容量記憶媒体で構成され、スキャナ1が読み取った画像データをファイル毎に分類して格納する。   The storage unit 6 is composed of a large-capacity storage medium such as a large-capacity RAM (Random Access Memory) or a hard disk (HDD), and classifies and stores image data read by the scanner 1 for each file.

本発明の画像処理装置は、実施の形態においては回転処理を施す例について説明するが、画像の回転処理だけではなく、所定のブロックを処理単位とする画像処理であって処理後の画素値が主走査方向に所定の規則で並べられるものに対して、適用することができる。例えば、上記したように出力処理部4が出力処理する際に適用できる。また、入力処理部2において、例えば、γ補正処理を施す際に、一旦記憶部6に格納した画像ファイルを画像メモリに保持し、ここから読み込んで処理を施して再び画像メモリに格納するなどの処理の場合にも、適用することができる。   The image processing apparatus according to the present invention will be described with respect to an example in which rotation processing is performed in the embodiment. However, not only image rotation processing but also image processing using a predetermined block as a processing unit, The present invention can be applied to those arranged in a predetermined rule in the main scanning direction. For example, it can be applied when the output processing unit 4 performs output processing as described above. In the input processing unit 2, for example, when performing the γ correction processing, the image file once stored in the storage unit 6 is held in the image memory, read from here, processed, and stored again in the image memory. It can also be applied to processing.

図2は、実施の形態による画像処理装置の機能的ブロック図である。画像処理装置10は、画像サイズ設定部11、回転角度設定部12、入力アドレス設定部13、出力アドレス設定部14、画像分割部15、入力アドレス生成部16、出力アドレス生成部17、メモリ18、入力部19、回転部20、および出力部21を備える。   FIG. 2 is a functional block diagram of the image processing apparatus according to the embodiment. The image processing apparatus 10 includes an image size setting unit 11, a rotation angle setting unit 12, an input address setting unit 13, an output address setting unit 14, an image dividing unit 15, an input address generating unit 16, an output address generating unit 17, a memory 18, An input unit 19, a rotation unit 20, and an output unit 21 are provided.

画像サイズ設定部11は、入力処理部2が入力処理を施した画像データから、処理しようとする画像の画像サイズを設定する。ここで、画像データは1ページごとに処理を施す。   The image size setting unit 11 sets the image size of the image to be processed from the image data subjected to the input processing by the input processing unit 2. Here, the image data is processed for each page.

回転角度設定部12は、操作表示部3から操作者が選択入力する画像の回転角度を、処理すべき画像データに設定する。   The rotation angle setting unit 12 sets the rotation angle of the image selected and input by the operator from the operation display unit 3 to the image data to be processed.

入力アドレス設定部13は、メモリ18に格納された画像情報を回転処理する際に、入力部19が格納された画像情報1ページ分の全体を読み込む時のスタートアドレスを、設定する。入力アドレス設定部13は、入力した画像データの横幅および縦の長さの2つのパラメータを設定する。   When the image information stored in the memory 18 is rotated, the input address setting unit 13 sets a start address for reading the entire page of image information stored in the input unit 19. The input address setting unit 13 sets two parameters, the horizontal width and the vertical length of the input image data.

出力アドレス設定部14は、メモリ18に格納された画像情報が回転処理を施され、出力部21が出力する際に、画像情報1ページ分全体を書き込む時のスタートアドレスを設定する。出力アドレス設定部14は、メモリに書き込む際の画像データの横幅および縦の長さの2つのパラメータを設定する。   The output address setting unit 14 sets a start address for writing one page of image information when the image information stored in the memory 18 is rotated and output by the output unit 21. The output address setting unit 14 sets two parameters, the horizontal width and the vertical length of image data when writing to the memory.

画像分割部15は、画像サイズ設定部11によって設定された画像のサイズに従って、画像データに対応するメモリアドレスを、回転処理単位に従って分割する。ここでは、分割される回転処理単位は、横(主走査方向)が4バイト×4の16バイトであり、縦(副走査方向)が128ラインの正方領域とする。このように、従来の分割領域から比較すると相当に大きな領域であるので、主走査方向に最大で16バイト分をバースト転送することによって、個々の画素点に対応するメモリアドレスにアクセスする必要がないので、メモリアクセスを減らすことができる。本願発明は、さらに、この回転処理単位がメモリにアラインされていない場合に対しても適用できる。   The image dividing unit 15 divides the memory address corresponding to the image data according to the rotation processing unit according to the image size set by the image size setting unit 11. Here, the rotation processing unit to be divided is a square area of 4 bytes × 4 16 bytes in the horizontal direction (main scanning direction) and 128 lines in the vertical direction (sub-scanning direction). In this way, since it is a considerably large area compared to the conventional divided area, it is not necessary to access memory addresses corresponding to individual pixel points by burst-transferring up to 16 bytes in the main scanning direction. So memory access can be reduced. The present invention can also be applied to a case where this rotation processing unit is not aligned in the memory.

入力アドレス生成部16は、画像分割部15によって分割処理された回転処理単位における読み込みアドレス、およびバースト量の情報を生成する。ここで、メモリ18は、少なくとも1ページ分の画像データを格納するものである。あるいは、メモリ18は、好適には、読み込みおよび書き込みの2ページ分以上の画像データを格納できる容量を有するものである。   The input address generation unit 16 generates read address and burst amount information in the rotation processing units divided by the image dividing unit 15. Here, the memory 18 stores image data for at least one page. Alternatively, the memory 18 preferably has a capacity capable of storing image data of two pages or more for reading and writing.

入力アドレス生成部16は、画像分割部15から回転処理単位における主走査方向の先頭アドレスを受信し、非アクセス量およびマスク量を演算し、先頭アドレスとバースト量の情報を入力部19に送信する。   The input address generation unit 16 receives the head address in the main scanning direction in the rotation processing unit from the image division unit 15, calculates the non-access amount and the mask amount, and transmits the information on the head address and the burst amount to the input unit 19. .

入力部19は、入力アドレス生成部16が生成する回転処理単位の1ラインの先頭アドレス、非アクセス量、およびバースト量に従って、メモリ18から画像情報を読み出す。ここで、回転処理単位における主走査方向の先頭アドレス情報を受け取って、非アクセス量だけ読み飛ばし、1ラインの残りをバーストアクセスすることによって、先頭アドレスより後で非アクセス量より後のメモリアクセスを停止する。続いて、回転処理単位における次のラインの先頭アドレス情報を受け取って、同様の読み込み処理を施す。回転処理単位ごとに、このような読み込み処理を施す。   The input unit 19 reads image information from the memory 18 in accordance with the leading address, non-access amount, and burst amount of one line of the rotation processing unit generated by the input address generation unit 16. Here, the head address information in the main scanning direction in the rotation processing unit is received, skipped by the non-access amount, and the memory access after the non-access amount after the head address is performed by burst access to the rest of one line. Stop. Subsequently, the head address information of the next line in the rotation processing unit is received, and the same reading process is performed. Such reading processing is performed for each rotation processing unit.

回転部20は、SRAM(FFで構成されていても可能)であって、回転処理単位を含む大きさである。回転部20は、入力部19によって読み出された回転処理単位の画像情報を、回転処理を施した形で一時的に保持する。   The rotating unit 20 is SRAM (can be configured with FF) and has a size including a rotation processing unit. The rotation unit 20 temporarily holds the image information of the rotation processing unit read by the input unit 19 in a form subjected to rotation processing.

出力部21は、回転部20によって回転処理を施されて保持された状態の画像情報を、出力アドレス生成部17の生成する先頭アドレスによって書き込み、以降は回転処理単位の主走査方向に非アクセス量、マスク量、およびバースト量に基づいてバーストアクセスして1ライン分を書き込む。バーストアクセスして書き込む間は、メモリの読み込みがない。続いて、出力部21は、回転処理単位における次のラインの先頭アドレス情報を受け取って同様のバーストアクセスによる書き込み処理を施す。回転処理単位ごとに、このような書き込み処理を施す。   The output unit 21 writes the image information that has been subjected to the rotation processing by the rotation unit 20 and is held by the head address generated by the output address generation unit 17, and thereafter the non-access amount in the main scanning direction of the rotation processing unit. One line is written by burst access based on the mask amount and the burst amount. During burst access and writing, there is no memory reading. Subsequently, the output unit 21 receives the top address information of the next line in the rotation processing unit and performs the writing process by the same burst access. Such writing processing is performed for each rotation processing unit.

図3は、入力アドレス生成部16の機能的ブロック図である。入力アドレス生成部16は、回転処理単位の画素を読み込む際の、主走査方向のメモリ先頭アドレス情報、およびバースト長情報を生成する。また、先頭マスク量、および後端マスク量を生成して、入力部19がマスク処理を施す構成とすることもできる。   FIG. 3 is a functional block diagram of the input address generation unit 16. The input address generation unit 16 generates memory head address information and burst length information in the main scanning direction when reading pixels in a rotation processing unit. Further, it is also possible to generate the head mask amount and the rear end mask amount, and the input unit 19 performs a mask process.

入力アドレス生成部16は、転送量演算および次ラインの先頭アドレス生成部161、マスク生成部162、メモリアドレス生成部163、および非アクセス量演算部164を備える。   The input address generation unit 16 includes a transfer amount calculation and next line start address generation unit 161, a mask generation unit 162, a memory address generation unit 163, and a non-access amount calculation unit 164.

転送量演算および次ラインの先頭アドレス生成部161は、入力アドレス生成部16の外部からは、画像サイズ設定部11から、分割前の画像の主走査長の情報を受信する。また、転送量演算および次ラインの先頭アドレス生成部161は、画像分割部15から分割後の回転処理単位における画像主走査長の情報を受信する。また、転送量演算および次ラインの先頭アドレス生成部161は、画像分割部15から分割後の回転処理単位における画像メモリ先頭アドレスの情報を受信する。また、転送量演算および次ラインの先頭アドレス生成部161は、画像分割部15から分割後の回転処理単位における画像副走査長の情報を受信する。   The transfer amount calculation and next line start address generation unit 161 receives information on the main scanning length of the image before division from the image size setting unit 11 from the outside of the input address generation unit 16. Further, the transfer amount calculation and next line head address generation unit 161 receives information on the image main scanning length in the rotation processing unit after the division from the image dividing unit 15. Further, the transfer amount calculation and next line head address generation unit 161 receives the information of the image memory head address in the rotation processing unit after the division from the image division unit 15. Further, the transfer amount calculation and next line head address generation unit 161 receives information on the image sub-scanning length in the rotation processing unit after the division from the image dividing unit 15.

さらに、転送量演算および次ラインの先頭アドレス生成部161は、入力アドレス生成部16の内部からは、マスク生成部162からマスク情報を受信し、かつ非アクセス量演算部164からバースト長の情報を受信する。   Further, the transfer amount calculation and next-line head address generation unit 161 receives mask information from the mask generation unit 162 and receives burst length information from the non-access amount calculation unit 164 from the inside of the input address generation unit 16. Receive.

マスク生成部162は、先頭マスク生成部162aおよび後端マスク生成部162bを有し、それぞれ先頭マスク量および後端マスク量の情報を生成する。   The mask generation unit 162 includes a head mask generation unit 162a and a rear end mask generation unit 162b, and generates information on the head mask amount and the rear end mask amount, respectively.

非アクセス量演算部164は、先頭非アクセス量演算部164a、後端非アクセス量演算部164b、およびバースト長演算部164cを有し、それぞれ先頭非アクセス量、後端非アクセス量、およびバースト長の情報を演算する。   The non-access amount calculation unit 164 includes a head non-access amount calculation unit 164a, a rear end non-access amount calculation unit 164b, and a burst length calculation unit 164c, and the head non-access amount, rear end non-access amount, and burst length, respectively. The information of is calculated.

転送量演算および次ラインの先頭アドレス生成部161は、これらの情報から、転送量を演算し、演算結果の転送量の情報を、マスク生成部162、メモリアドレス生成部163、および非アクセス量演算部164に送信する。   The transfer amount calculation and next line start address generation unit 161 calculates the transfer amount from these pieces of information, and calculates the transfer amount information of the calculation result as the mask generation unit 162, the memory address generation unit 163, and the non-access amount calculation. To the unit 164.

メモリアドレス生成部163は、入力部19が読み出すべき回転処理単位の主走査方向のメモリ先頭アドレスの情報を生成して入力部19に送信する。   The memory address generation unit 163 generates memory start address information in the main scanning direction of the rotation processing unit to be read by the input unit 19 and transmits the information to the input unit 19.

非アクセス量演算部164の有するバースト長演算部164cは、バースト長の情報を入力部19に送信する。   The burst length calculation unit 164 c included in the non-access amount calculation unit 164 transmits burst length information to the input unit 19.

入力部19は、これら2つの情報によって、回転処理単位における1ライン分の主走査方向の先頭アドレスからメモリに対してバーストアクセスするため、メモリから高速にかつ効率的に読み込むことができる。   The input unit 19 uses the two pieces of information to perform burst access to the memory from the head address in the main scanning direction for one line in the rotation processing unit, so that it can be read from the memory at high speed and efficiently.

先頭マスク生成部162aは、メモリ先頭アドレスの情報を受信し、回転処理単位の副走査方向の先頭においてマスクすべきビットの情報を転送量演算および次ラインの先頭アドレス生成部161に送信する。マスクすることによって、アラインされていない部分を見掛け上データの無い状態として読み込む。ここでは、マスク処理を施すのは、書き込み処理の場合だけでよい。   The head mask generation unit 162a receives the information of the memory head address, and transmits the information of the bit to be masked at the head of the rotation processing unit in the sub-scanning direction to the transfer amount calculation and the head address generation unit 161 of the next line. By masking, an unaligned portion is read as if there is no apparent data. Here, the mask process is performed only in the write process.

先頭非アクセス量演算部164aは、先頭部分のアラインされていない部分の情報のうち、主走査方向にマスクせずに読み飛ばすべき量を演算する。後端非アクセス量演算部164bは、後端部分のアラインされていない部分の情報のうち、主走査方向にマスクせずに読み飛ばすべき量を演算する。入力部19は、これによって、アラインされていない部分のうち、非アクセス量だけ読み飛ばすことによって、メモリアクセスおよび画素値の読み込み無しに、入力処理を行うことができる。   The head non-access amount calculation unit 164a calculates the amount of information to be skipped without masking in the main scanning direction from the information of the unaligned portion of the head portion. The rear end non-access amount calculation unit 164b calculates the amount to be skipped without masking in the main scanning direction from the information of the unaligned portion of the rear end portion. Accordingly, the input unit 19 can perform input processing without memory access and reading of pixel values by skipping the non-access amount among the unaligned portions.

バースト長演算部164cは、メモリ先頭アドレスを読み込んで読み飛ばした後、メモリアドレスを読み込まずに主走査方向にバーストアクセスするバースト長を演算する。バースト長演算部164cによって演算されたバースト長の情報は、入力部19に送信される。入力部19は、これによって、必要なバースト長だけメモリアクセスすることによって効率的に読み込むことができる。   The burst length calculation unit 164c calculates the burst length for burst access in the main scanning direction without reading the memory address after reading and skipping the memory start address. Information on the burst length calculated by the burst length calculation unit 164 c is transmitted to the input unit 19. Thereby, the input unit 19 can efficiently read by accessing the memory for the necessary burst length.

入力部19は、回転処理単位における1ライン分の先頭アドレスに従って、回転処理単位の主走査方向の先頭アドレスに対応する画素値を読み出し、そのまま、必要なバースト長分だけバーストアクセスして画素値を読み出す。アラインされたメモリアドレスから実際に必要な画像の存在するアドレスまでは、メモリにアクセスすることがないため、メモリアクセス時間を短縮することができる。そして、回転処理単位内で主走査方向にバースト長だけ読み込んだ後、回転処理単位内でアクセスされていない副走査方向のラインがあった場合は、入力アドレス生成部16が生成する次のラインの先頭アドレスを受信して、受信した先頭アドレスに従って、上記と同様のバーストアクセスを行う。このようにして、主走査方向のアクセスを順次繰り返すことによって、回転処理単位内の画素データをバーストアクセスによって読み込む。   The input unit 19 reads out the pixel value corresponding to the head address in the main scanning direction of the rotation processing unit according to the head address of one line in the rotation processing unit, and performs burst access for the necessary burst length as it is to obtain the pixel value. read out. Since the memory is not accessed from the aligned memory address to the address where the actually required image exists, the memory access time can be shortened. Then, after reading the burst length in the main scanning direction within the rotation processing unit, if there is a line in the sub-scanning direction that is not accessed within the rotation processing unit, the next line generated by the input address generation unit 16 A head address is received, and burst access similar to the above is performed according to the received head address. In this way, the pixel data in the rotation processing unit is read by burst access by sequentially repeating accesses in the main scanning direction.

図4は、入力部によるメモリへのバーストアクセスを説明する模式図である。2次元のメモリ上に分布する画素に対応するメモリアドレス400は、回転処理単位を格子単位として格子状に分割されている。ここで、格子の縦のラインは、下位4ビットが0のものを取っている。記号では図中[3:0]=0で表現されるアドレスが縦のラインである。   FIG. 4 is a schematic diagram illustrating burst access to the memory by the input unit. The memory addresses 400 corresponding to the pixels distributed on the two-dimensional memory are divided into a lattice shape with the rotation processing unit as a lattice unit. Here, the vertical lines of the lattice are those whose lower 4 bits are 0. In the symbol, the address represented by [3: 0] = 0 in the figure is a vertical line.

ここでは、回転処理単位は、16バイトを主走査方向幅とし、副走査方向に128本のラインで構成する。回転処理単位は例えば、図中符号420などで表現されるように、1つの格子で囲まれた領域である。ここで、矩形状の画像データに対応するメモリ領域451は、画像データの頂点431に見るように、入力先頭アドレスが回転処理単位にアラインされていない。即ち、領域430および450はアラインされていない。それに対して、領域420などはアラインされている。   Here, the rotation processing unit is 16 bytes in the main scanning direction width, and is composed of 128 lines in the sub-scanning direction. The rotation processing unit is, for example, an area surrounded by one grid as represented by reference numeral 420 in the drawing. Here, in the memory area 451 corresponding to the rectangular image data, the input head address is not aligned in units of rotation processing as seen at the vertex 431 of the image data. That is, regions 430 and 450 are not aligned. On the other hand, the region 420 and the like are aligned.

今、アドレスデータ451は、領域450のある主走査方向1ライン分の画像データを取り出して、模式的に示したもので、16バイトを主走査方向に模式的に表現している。このアドレスデータ451は、先頭アドレスが回転処理単位にアラインされていないので、先頭から8バイトまではメモリアクセス無し(符号452)とする。そして、続く9バイト目からの4バイトでは、このバイト内において途中から画素値が始まるので、該途中までの1バイトに対してマスク処理を施す(符号453)。そして、3バイト分の有効データ部分および残りのマスク無しの4バイト分の有効データ(符号454)が続く。実際上の画素値にアクセスするのは、マスク453の部分以降である。   The address data 451 is schematically shown by extracting image data for one line in the main scanning direction in which the region 450 is present, and 16 bytes are schematically expressed in the main scanning direction. In this address data 451, since the head address is not aligned in the rotation processing unit, there is no memory access (reference numeral 452) from the first 8 bytes. Then, in the subsequent 4 bytes from the 9th byte, the pixel value starts in the middle of this byte, and therefore mask processing is performed on 1 byte up to the middle (reference numeral 453). Then, the valid data portion for 3 bytes and the remaining valid data for 4 bytes (reference numeral 454) without the mask follow. Access to the actual pixel value is after the portion of the mask 453.

従って、データ451においては、メモリアクセス無しに読み飛ばし、入力先頭アドレスをデータ453とし、データ453においてマスク処理を施し、それ以降の有効データ454についてはバーストアクセスして読み込む。   Accordingly, the data 451 is skipped without memory access, the input head address is set to data 453, mask processing is performed on the data 453, and the subsequent valid data 454 is read by burst access.

図5は、回転部20が画像処理単位の画素値に回転処理を施すことを説明する図である。回転部20は例えばSRAMによって構成し、回転処理単位に対応する画素値を、回転処理単位の主走査方向1ラインについて読み込んで保持する。即ち、最初のラインとしてP11、P12、……、P1n、次のラインとしてP21、P22、……、最後の画素点としてPnnを読み込んで保持する。これをマトリクス表現したのが表510である。   FIG. 5 is a diagram for explaining that the rotation unit 20 performs the rotation process on the pixel value of the image processing unit. The rotation unit 20 is configured by, for example, an SRAM, and reads and holds a pixel value corresponding to a rotation processing unit for one line in the main scanning direction of the rotation processing unit. That is, P11, P12,..., P1n as the first line, P21, P22,... As the next line, and Pnn as the last pixel point are read and held. Table 510 shows this as a matrix.

回転部20は、回転角度設定部12によって設定された回転角度に従って、画像情報に回転処理を施す。この格納された画素点について、設定された角度、例えば90度回転処理を施して、回転後の画素を模式的に表現する表550を得る。ここでは主走査方向に、Pn1、……P21、P11が配列され保持される。   The rotation unit 20 performs rotation processing on the image information according to the rotation angle set by the rotation angle setting unit 12. The stored pixel point is subjected to a set angle, for example, a 90 degree rotation process to obtain a table 550 that schematically represents the rotated pixel. Here, Pn1,... P21, P11 are arranged and held in the main scanning direction.

出力部21は、出力アドレス生成部17が生成する出力先頭アドレス、非アクセス量情報、マスク量情報、およびバースト長情報によって、回転部20によって回転された画素情報をバースト書き込み処理する。   The output unit 21 performs burst write processing on the pixel information rotated by the rotation unit 20 based on the output head address, non-access amount information, mask amount information, and burst length information generated by the output address generation unit 17.

図6は、出力アドレス生成部17の機能的ブロック図である。出力アドレス生成部17は、転送量演算および次ラインの先頭アドレス生成部171、マスク生成部172、メモリアドレス生成部173、および非アクセス量演算部174を備える。   FIG. 6 is a functional block diagram of the output address generation unit 17. The output address generation unit 17 includes a transfer amount calculation and start address generation unit 171 of the next line, a mask generation unit 172, a memory address generation unit 173, and a non-access amount calculation unit 174.

転送量演算および次ラインの先頭アドレス生成部171は、入力アドレス生成部16の時と同様に、画像サイズ設定部11から分割前の画像の主走査長の情報を受信する。また、画像分割部15から、分割後の画像主走査長の情報を受信する。また、画像分割部15から、分割後画像メモリの先頭アドレスの情報を受信する。また、画像分割部15から、分割後の画像副走査長の情報を受信する。   Similarly to the case of the input address generation unit 16, the transfer amount calculation and next line start address generation unit 171 receives information on the main scanning length of the image before division from the image size setting unit 11. In addition, the image division unit 15 receives the divided image main scanning length information. Further, the information of the start address of the divided image memory is received from the image dividing unit 15. Further, the image dividing unit 15 receives information on the divided image sub-scanning length.

さらに、転送量演算および次ラインの先頭アドレス生成部171は、マスク生成部172からマスク情報を受信し、かつ非アクセス量演算部174から、非アクセス量情報およびバースト長の情報を受信する。   Further, the transfer amount calculation and next line start address generation unit 171 receives mask information from the mask generation unit 172, and receives non-access amount information and burst length information from the non-access amount calculation unit 174.

転送量演算および次ラインの先頭アドレス生成部171は、これらの情報から転送量を演算し、演算結果の転送量の情報をマスク生成部172、メモリアドレス生成部173、および非アクセス量演算部174に送信する。   The transfer amount calculation and start address generation unit 171 of the next line calculates the transfer amount from these pieces of information, and uses the information on the transfer amount of the calculation result as a mask generation unit 172, a memory address generation unit 173, and a non-access amount calculation unit 174. Send to.

メモリアドレス生成部173は、出力部21がメモリに書き込むべきメモリ先頭アドレスの情報を出力部21に送信し、非アクセス量演算部174aが演算する非アクセス量、およびバースト長演算部174cが演算するバースト長の情報を、出力部21に送信する。   The memory address generation unit 173 transmits the information of the memory start address to be written to the memory by the output unit 21 to the output unit 21, and the non-access amount calculated by the non-access amount calculation unit 174a and the burst length calculation unit 174c calculate. Information on the burst length is transmitted to the output unit 21.

ここで、マスク生成部172は、先頭マスク生成部172a、および後端マスク生成部172bを有する。先頭マスク生成部172aは、メモリ先頭アドレスの情報を受信し、回転処理単位の主走査方向の先頭においてマスクするビット情報を転送量演算および次ラインの先頭アドレス生成部171に送信する。また、先頭マスク生成部172aは、先頭においてマスクするビットの情報を出力部21に送信する。出力部21は、書き込みにおいてマスクすることによって、先端において有効でない画素データの書き込みを停止する。   Here, the mask generation unit 172 includes a head mask generation unit 172a and a rear end mask generation unit 172b. The head mask generation unit 172a receives the information of the memory head address, and transmits bit information masked at the head in the main scanning direction of the rotation processing unit to the transfer amount calculation and head address generation unit 171 of the next line. In addition, the head mask generation unit 172a transmits information on bits to be masked at the head to the output unit 21. The output unit 21 stops writing pixel data that is not valid at the tip by masking in writing.

後端マスク生成部172bは、残り画像主走査長の情報を受信し、回転処理単位の主走査方向の後端においてマスクするビットの情報を転送量演算および次ラインの先頭アドレス生成部171に送信する。また、後端マスク生成部172bは、後端においてマスクするビット情報を出力部21に送信する。出力部21は、書き込みにおいてマスクすることによって、後端において有効でない画素データの書き込みを停止する。   The rear end mask generation unit 172b receives the information on the remaining image main scanning length, and transmits the information on the bit to be masked at the rear end in the main scanning direction of the rotation processing unit to the transfer amount calculation and the next line head address generation unit 171. To do. Further, the rear end mask generation unit 172b transmits bit information to be masked at the rear end to the output unit 21. The output unit 21 stops writing pixel data that is not valid at the rear end by masking in writing.

メモリアドレス生成部173は、回転処理単位における主走査方向のメモリ先頭アドレスの情報を生成して出力部21に送信する。   The memory address generation unit 173 generates memory start address information in the main scanning direction in the rotation processing unit and transmits the information to the output unit 21.

非アクセス量演算部174は、先頭非アクセス量演算部174a、後端非アクセス量演算部174b、およびバースト長演算部174cを有し、それぞれ先頭非アクセス量、後端非アクセス量、およびバースト長の情報を、演算する。   The non-access amount calculation unit 174 includes a head non-access amount calculation unit 174a, a rear end non-access amount calculation unit 174b, and a burst length calculation unit 174c. The head non-access amount, the rear end non-access amount, and the burst length, respectively. The information is calculated.

先頭非アクセス量演算部174aは、先頭部分のアラインされていない部分の情報のうち、マスクせずに書き飛ばすべき量を演算する。後端非アクセス量演算部174bは、後端部分のアラインされていない部分の情報のうち、マスクせずに書き飛ばすべき量を演算する。バースト長演算部174cは、書き飛ばすべき量を加算後のメモリアドレスから主走査長によって決定される後端までのバースト数を演算する。バースト長演算部174cによって演算されたバースト長の情報は出力部21に送信される。   The head non-access amount computing unit 174a computes the amount to be skipped without masking the information of the unaligned portion of the head portion. The rear end non-access amount calculation unit 174b calculates the amount to be written without masking the information of the unaligned portion of the rear end portion. The burst length calculation unit 174c calculates the number of bursts from the memory address after adding the amount to be skipped to the rear end determined by the main scanning length. Information on the burst length calculated by the burst length calculation unit 174 c is transmitted to the output unit 21.

出力部21は、出力アドレス生成部17によって生成される先頭アドレス、先頭非アクセス量、先頭マスク情報、バースト長、後端マスク情報、および後端非アクセス量に従って、画像情報をメモリに書き込む。即ち、出力部21は、先頭非アクセス量分のアドレスを加算後のアドレスから、先頭マスク情報、および後端非アクセス量、後端マスク量の情報に従って、書き飛ばしながら、該マスク量だけマスクしつつ、バースト長分の情報を書き込む。   The output unit 21 writes the image information in the memory according to the head address, head non-access amount, head mask information, burst length, rear end mask information, and rear end non-access amount generated by the output address generation unit 17. That is, the output unit 21 masks only the mask amount while skipping according to the head mask information and the information on the rear end non-access amount and the rear end mask amount from the address after adding the address for the head non-access amount. While writing the information for the burst length.

このようにして、出力部21は、バーストアクセスして画素情報を書き込む間は、先頭アドレスを出力後、連続した領域に続けて画像データを書き込むので、メモリアクセスを省略できる。そして、回転処理単位内で主走査方向にバースト長だけ書き込んだ後は、同じ回転処理単位内にアクセスされていない次の主走査方向のラインがあった場合は、上記と同様のバーストアクセスを行ってメモリ18に書き込む。このようにして、主走査方向のバーストアクセスによる書き込み処理を順次施すことによって、回転処理された回転処理単位ごとの画素データを出力する。   In this manner, the output unit 21 outputs the head address and writes the image data continuously in the continuous area during the burst access and writing the pixel information, so that the memory access can be omitted. After writing the burst length in the main scanning direction within the rotation processing unit, if there is a next main scanning direction line not accessed within the same rotation processing unit, the same burst access as described above is performed. To write to the memory 18. In this way, the pixel data for each rotation processing unit subjected to the rotation processing is output by sequentially performing the writing processing by the burst access in the main scanning direction.

ここで、メモリ空間において回転処理単位が格子にアラインしている場合は、読み飛ばし処理およびマスク処理の必要は生じない。メモリ先頭アドレスに従って、回転処理単位の主走査方向の幅だけ書き込むことができる。   Here, when the rotation processing unit is aligned with the lattice in the memory space, there is no need for skip processing and mask processing. Only the width in the main scanning direction of the rotation processing unit can be written according to the memory head address.

図7は、実施の形態による入力アドレス生成手順を説明するフローチャートである。入力アドレス生成部16において、転送量演算および次ラインの先頭アドレス生成部161は、最初、分割前の画像主走査長、分割後の画像主走査長、画像メモリ先頭アドレス、および画像副走査長の情報を受信する(ステップS101)。転送量演算および次ラインの先頭アドレス生成部161は、受信したこれらの情報から、メモリ先頭アドレス、および残り画像主走査長を演算する(ステップS102)。   FIG. 7 is a flowchart for explaining an input address generation procedure according to the embodiment. In the input address generation unit 16, the transfer amount calculation and next line start address generation unit 161 first sets the image main scan length before division, the image main scan length after division, the image memory start address, and the image sub-scan length. Information is received (step S101). The transfer amount calculation and next line head address generation unit 161 calculates the memory head address and the remaining image main scanning length from the received information (step S102).

非アクセス量演算部164は、先端非アクセス量、および後端非アクセス量を演算する(ステップS103)。図4に示したメモリアクセス無し領域(符号452)が先端非アクセス量に相当する部分である。後端非アクセス量は、後端においてアラインされてない領域があった場合に、発生することがあるが、先端と同様であるので説明を省略する。   The non-access amount calculation unit 164 calculates the front end non-access amount and the rear end non-access amount (step S103). The area without memory access (reference numeral 452) shown in FIG. 4 corresponds to the tip non-access amount. The rear end non-access amount may occur when there is an unaligned area at the rear end.

メモリアドレス生成部163は、回転処理単位における主走査方向の読み込み先頭アドレスを生成して入力部19へ送信する(ステップS104)。   The memory address generation unit 163 generates a reading start address in the main scanning direction in the rotation processing unit and transmits it to the input unit 19 (step S104).

一方、マスク生成部162は、先頭マスク量および後端マスク量を生成する(ステップS105)。図4に示したマスク領域(符号453)が先頭マスク量に相当する部分である。後端マスク量は、後端においてアラインされてない領域があった場合に、発生することがあるが、先端と同様であるので説明を省略する。   On the other hand, the mask generation unit 162 generates a head mask amount and a rear end mask amount (step S105). The mask area (reference numeral 453) shown in FIG. 4 corresponds to the head mask amount. The trailing edge mask amount may occur when there is an unaligned region at the trailing edge, but the description is omitted because it is the same as the leading edge.

バースト長演算部164cは、バースト長を演算し入力部19へ送信する(ステップS106)。バースト量は、一般に、先端アドレスより後で、回転処理単位における後端までの間である。この間は、入力部19においては、バースト開始アドレス出力後、連続領域に対して一気にバーストアクセスすることができる。   The burst length calculation unit 164c calculates the burst length and transmits it to the input unit 19 (step S106). The burst amount is generally between the leading address and the trailing edge in the rotation processing unit. During this time, the input unit 19 can perform burst access to the continuous area at once after the burst start address is output.

転送量演算および次ラインの先頭アドレス生成部161は、回転処理単位内で処理は完了したか否かを判定し(ステップS107)、完了しなかったと判定した場合(ステップS107のNo)、ステップS102に戻る。アクセスされていない次のラインについて読み込むために、上記と同様のステップを繰り返す。この時、回転処理単位における最初のラインではないので、演算して取得した各情報をフィードバックする(ステップS102)。   The transfer amount calculation and head address generation unit 161 of the next line determines whether or not the processing is completed within the rotation processing unit (step S107). If it is determined that the processing is not completed (No in step S107), step S102 is performed. Return to. To read the next line that has not been accessed, repeat the same steps as above. At this time, since it is not the first line in the rotation processing unit, each piece of information obtained by calculation is fed back (step S102).

一方、回転処理単位内での処理が完了したと判定した場合は(ステップS107のYes)、転送量演算および次ラインの先頭アドレス生成部161は、1ページ分の回転処理が終了したか否かを判定する(ステップS108)。1ページ分の回転処理が終了したと判定した場合(ステップS108のYes)、そのまま終了する。1ページ分の回転処理が終了していないと判定した場合(ステップS108のNo)、再びステップS101に戻って、アクセスされていない回転処理単位について同様の処理を繰り返す。   On the other hand, if it is determined that the processing within the rotation processing unit has been completed (Yes in step S107), the transfer amount calculation and next line head address generation unit 161 determines whether or not the rotation processing for one page has been completed. Is determined (step S108). If it is determined that the rotation process for one page has been completed (Yes in step S108), the process ends as it is. When it is determined that the rotation processing for one page has not been completed (No in step S108), the process returns to step S101 again, and the same processing is repeated for the rotation processing unit that has not been accessed.

図8は、実施の形態による出力アドレス生成手順を説明するフローチャートである。出力アドレス生成部17において、転送量演算および次ラインの先頭アドレス生成部171は、分割前の画像主走査長、分割後の画像主走査長、画像メモリ先頭アドレス、および画像副走査長の情報を受信する(ステップS201)。転送量演算および次ラインの先頭アドレス生成部171は、メモリ先頭アドレス、および残り画像主走査長を演算する(ステップS202)。   FIG. 8 is a flowchart for explaining an output address generation procedure according to the embodiment. In the output address generation unit 17, the transfer amount calculation and next line start address generation unit 171 receives information on the image main scan length before division, the image main scan length after division, the image memory start address, and the image sub-scan length. Receive (step S201). The transfer amount calculation and next line start address generator 171 calculates the memory start address and the remaining image main scan length (step S202).

非アクセス量演算部174は、先端非アクセス量および後端非アクセス量を演算する(ステップS203)。図4に示した入力データの模式図をそのまま回転処理を施した出力データの模式図として見ると、メモリアクセス無し領域(符号452)が先端非アクセス量に相当する部分である。後端非アクセス量は、後端においてアラインされてない領域があった場合に、発生することがあるが、先端と同様であるので説明を省略する。   The non-access amount calculation unit 174 calculates the front end non-access amount and the rear end non-access amount (step S203). If the schematic diagram of the input data shown in FIG. 4 is viewed as a schematic diagram of the output data subjected to the rotation processing as it is, the no memory access area (reference numeral 452) is a portion corresponding to the tip non-access amount. The rear end non-access amount may occur when there is an unaligned area at the rear end.

メモリアドレス生成部173は、書き込み先頭アドレスを生成して出力部へ送信する(ステップS204)。   The memory address generation unit 173 generates a write head address and transmits it to the output unit (step S204).

マスク生成部172は、先頭マスク量および後端マスク量を生成する(ステップS205)。マスク生成部172は、生成した先頭マスク量および後端マスク量を出力部21へ送信する(ステップS206)。ここで、出力部21は、受信した先頭マスク量、および後端マスク量に相当する画素については、マスク処理を施して出力するので、見掛け上は書き込み処理を施さない。   The mask generation unit 172 generates a head mask amount and a rear end mask amount (step S205). The mask generation unit 172 transmits the generated head mask amount and rear end mask amount to the output unit 21 (step S206). Here, the output unit 21 masks and outputs the pixels corresponding to the received leading mask amount and trailing edge mask amount, and thus apparently does not perform the writing process.

バースト長演算部174cは、バースト長を演算し出力部21へ送信する(ステップS207)。出力部21は、非アクセス量を受信してアラインしていない部分を非アクセス量に従って書き飛ばして書き込みを停止し、先頭マスク量を受信して受信した先頭マスク量に相当する部分にマスク処理を施し、その後において、バースト長に基づいて画素値をバーストアクセスして書き込む。そして、後端マスク処理を施し、その後、後端において非アクセス量の情報に従って、書き飛ばし処理を施す。   The burst length calculation unit 174c calculates the burst length and transmits it to the output unit 21 (step S207). The output unit 21 receives the non-access amount and skips the unaligned portion according to the non-access amount, stops writing, receives the head mask amount, and performs mask processing on the portion corresponding to the received head mask amount. After that, pixel values are burst-accessed and written based on the burst length. Then, a trailing edge mask process is performed, and then a writing process is performed at the trailing edge in accordance with the non-access amount information.

転送量演算および次ラインの先頭アドレス生成部171は、回転処理単位内で処理は完了したか否かを判定し(ステップS208)、完了していないと判定した場合(ステップS208のNo)、ステップ202に戻る。完了したと判定した場合(ステップS208のYes)、転送量演算および次ラインの先頭アドレス生成部171は、さらに1ページ分の回転処理が終了したか否かを判定し(ステップS209)、終了していないと判定した場合(ステップS209のNo)、ステップ201に戻り、終了したと判定した場合(ステップS209のYes)、このページの画像の回転処理を終了する。   The transfer amount calculation and head address generation unit 171 of the next line determines whether or not the process is completed within the rotation processing unit (step S208). If it is determined that the process is not completed (No in step S208), the process proceeds to step S208. Return to 202. When it is determined that the transfer has been completed (Yes in step S208), the transfer amount calculation and next-line head address generation unit 171 determines whether or not the rotation processing for one page has been completed (step S209), and the processing ends. If it is determined that it has not (No in step S209), the process returns to step 201, and if it is determined that the process has ended (Yes in step S209), the image rotation processing on this page ends.

図9は、従来例による画像処理装置と、実施の形態による画像処理装置との画像処理におけるメモリアクセスを説明する図である。図9におけるデータ910は、特許文献1の技術によって、主走査方向16バイトのデータに対してバーストアクセスした場合の態様である。ここでは、アラインしていない回転処理単位の先頭アドレス([1:0]が0でない場合)をアラインさせて[1:0]=0とし、不必要な部分をマスク処理する。マスクされた領域が符号911で示した部分である。その後に有効データ912が続く。しかし、ここでマスク領域911も実際には入力部19が読み込んで、書き込みにおいてマスク処理を施しているため、無駄な読み込みが発生している。   FIG. 9 is a diagram for explaining memory access in image processing between the image processing apparatus according to the conventional example and the image processing apparatus according to the embodiment. Data 910 in FIG. 9 is a mode when burst access is performed on 16-byte data in the main scanning direction by the technique of Patent Document 1. Here, the start addresses of rotation processing units that are not aligned (when [1: 0] is not 0) are aligned to [1: 0] = 0, and unnecessary portions are masked. The masked area is indicated by reference numeral 911. This is followed by valid data 912. However, since the mask area 911 is actually read by the input unit 19 and subjected to mask processing in writing, useless reading occurs.

一方、図9におけるデータ950は、実施の形態による技術を16バイトデータに対するバーストアクセスに適用した場合の処理の態様である。ここでは、不必要な画素に対して、メモリアクセス無しの領域951を設定し、その後において必要な部分のみをマスク処理し(符号952)、その後に有効データ953が続く。このため、メモリアクセス無しの領域951の部分は、読み込みを停止して、マスク部分を少なくすることができるので、結局、無駄な読み込みを停止させ、画像処理効率が従来例よりも優れたものとなっている。   On the other hand, data 950 in FIG. 9 is a processing mode when the technique according to the embodiment is applied to burst access to 16-byte data. Here, an area 951 without memory access is set for unnecessary pixels, after which only a necessary part is masked (reference numeral 952), and then valid data 953 follows. For this reason, the reading of the area 951 without memory access can be stopped and the mask portion can be reduced. Consequently, the unnecessary reading is stopped and the image processing efficiency is superior to the conventional example. It has become.

また、従来例においては、回転処理単位を小さく設定して読み込みの無駄を排する場合は、小さく設定した回転処理単位によってバーストアクセスできるバースト長が小さいものとなり、メモリへのアクセスの回数が増加して画像処理効率が高いものとは成らない。これに対して、実施の形態による画像処理装置10では、回転処理単位を小さく設定する必要が無く、無駄なメモリアクセスを排除することができる。また、回転処理単位を大きく設定すればするほどバースト長を長くとれるので、メモリアクセス数をさらに減少させることができ、画像処理効率は優れたものとすることができる。   In addition, in the conventional example, when the rotation processing unit is set to be small and waste of reading is eliminated, the burst length that can be burst-accessed by the rotation processing unit that is set small is small, and the number of accesses to the memory increases. Therefore, the image processing efficiency is not high. On the other hand, in the image processing apparatus 10 according to the embodiment, it is not necessary to set the rotation processing unit small, and wasteful memory access can be eliminated. Also, the larger the rotation processing unit is set, the longer the burst length can be, so that the number of memory accesses can be further reduced, and the image processing efficiency can be improved.

このようにして、実施の形態による画像処理装置は、画像情報を読み込み回転処理単位に分割して回転処理を施す際に、回転処理単位の先頭アドレスとバースト長とを取得して、先頭アドレスのみ出力し、それより後の主走査方向についてはバースト転送することによって、無駄なメモリアクセスを減らして画像の回転速度の低下を最小限に抑えることができる。   As described above, when the image processing apparatus according to the embodiment reads the image information and divides it into rotation processing units and performs rotation processing, the image processing device acquires the start address and burst length of the rotation processing unit, and only the head address is acquired. By outputting and performing burst transfer in the main scanning direction after that, it is possible to reduce useless memory access and minimize a decrease in image rotation speed.

また、2次元で規定されるアドレスの所定の格子と、先頭アドレスとがアラインしない回転処理単位に対しては、メモリアクセスしない部分を設定し、先頭アドレスを決定し、不要なデータについては読み飛ばし、必要なビット数だけマスクして、バースト転送することによって、回転前画像と回転後画像のスタートアドレスをバイト単位で設定でき、かつバースト転送することによって無駄なメモリアクセスを減らして画像の回転処理において回転速度の低下を最小限に抑えることができる。   In addition, for a rotation processing unit in which a predetermined grid of addresses defined in two dimensions and the start address are not aligned, a portion where no memory is accessed is set, the start address is determined, and unnecessary data is skipped. By masking only the required number of bits and performing burst transfer, the start address of the pre-rotation image and post-rotation image can be set in bytes, and burst transfer reduces the unnecessary memory access and rotates the image. In this case, a decrease in rotational speed can be minimized.

(変形例1)
実施の形態による画像処理装置は、画像形成装置に適用されたものとして説明した。しかしながら、本発明の画像処理装置は、画像形成装置にのみ適用できるものではなく、画像データを少なくとも一時的に格納して読み込み、他のメモリに書き込む画像処理を必要とする装置には適用可能である。例えば、文字画像を含む画像を受信して、回転させ、あるいは何らかの画像処理を施して表示画面に表示する携帯電話における画像処理装置としても適用可能である。
(Modification 1)
The image processing apparatus according to the embodiment has been described as applied to an image forming apparatus. However, the image processing apparatus of the present invention is not applicable only to an image forming apparatus, but can be applied to an apparatus that requires image processing to store and read image data at least temporarily and write it to another memory. is there. For example, the present invention can also be applied as an image processing apparatus in a mobile phone that receives an image including a character image, rotates it, or performs some image processing and displays it on a display screen.

(変形例2)
他の変形例としては、例えば、CCD(ChargeCoupledDevice)を介して被写体画像を取り込み、回転させ、あるいは何らかの画像処理を施して表示画面に表示するデジタル方式のカメラにおける画像処理装置としても適用可能である。
(Modification 2)
As another modification, for example, the present invention can be applied as an image processing apparatus in a digital camera that captures a subject image via a CCD (ChargeCoupled Device), rotates the image, or performs some image processing and displays the image on a display screen. .

(変形例3)
さらに他の変形例としては、例えば、文字画像を含む画像を読み込んで、回転させ、あるいは何らかの画像処理を施してモニタ画面に表示するパーソナルコンピュータ(PC)における画像処理プログラムとしても適用可能である。
(Modification 3)
As another modification, for example, the present invention can be applied as an image processing program in a personal computer (PC) that reads an image including a character image, rotates it, or performs some image processing and displays it on a monitor screen.

(ハードウェア構成など)
図10は、実施の形態による画像処理装置を備えた画像形成装置のハードウェア構成を示すブロック図である。この画像形成装置は、ファックスやスキャナなどの複合的機能を備える複合機(MFP)として構成されている。図に示すように、このMFPは、コントローラ2210とエンジン部2260とをPCI(Peripheral Component Interconnect)バスで接続した構成となる。コントローラ2210は、MFP全体の制御、画像表示制御、各種制御、画像処理制御など、FCUI/F2230、操作表示部3からの入力を制御するコントローラである。エンジン部2260は、PCIバスに接続可能な画像処理エンジンなどであり、例えば取得した画像データに対して誤差拡散やガンマ変換などの画像処理部分が含まれる。
(Hardware configuration etc.)
FIG. 10 is a block diagram illustrating a hardware configuration of an image forming apparatus including the image processing apparatus according to the embodiment. This image forming apparatus is configured as a multifunction peripheral (MFP) having multiple functions such as a fax machine and a scanner. As shown in the figure, this MFP has a configuration in which a controller 2210 and an engine unit 2260 are connected by a PCI (Peripheral Component Interconnect) bus. The controller 2210 is a controller that controls inputs from the FCUI / F 2230 and the operation display unit 3 such as control of the entire MFP, image display control, various controls, and image processing control. The engine unit 2260 is an image processing engine that can be connected to a PCI bus, and includes, for example, an image processing portion such as error diffusion and gamma conversion for acquired image data.

コントローラ2210は、CPU2211と、ノースブリッジ(NB)2213と、システムメモリ(MEM−P)2212と、サウスブリッジ(SB)2214と、ローカルメモリ(MEM−C)2217と、ASIC(Application Specific Integrated Circuit)2216と、ハードディスクドライブ6とを有し、ノースブリッジ2213とASIC2216との間をAGP(Accelerated Graphics Port)バス2215で接続した構成となる。また、MEM−P2212は、ROM(Read Only Memory)2212aと、RAM(Random Access Memory)2212bとをさらに有する。   The controller 2210 includes a CPU 2211, a North Bridge (NB) 2213, a system memory (MEM-P) 2212, a South Bridge (SB) 2214, a local memory (MEM-C) 2217, and an ASIC (Application Specific Integrated Circuit). 2216 and the hard disk drive 6, and the north bridge 2213 and the ASIC 2216 are connected by an AGP (Accelerated Graphics Port) bus 2215. The MEM-P 2212 further includes a ROM (Read Only Memory) 2212a and a RAM (Random Access Memory) 2212b.

CPU2211は、MFPの全体制御を行うものであり、NB2213、MEM−P2212およびSB2214からなるチップセットを有し、このチップセットを介して他の機器と接続される。   The CPU 2211 performs overall control of the MFP, has a chip set including the NB 2213, the MEM-P 2212, and the SB 2214, and is connected to other devices via the chip set.

NB2213は、CPU2211とMEM−P2212、SB2214、AGP2215とを接続するためのブリッジであり、MEM−P2212に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。   The NB 2213 is a bridge for connecting the CPU 2211 to the MEM-P 2212, SB 2214, and AGP 2215, and includes a memory controller that controls reading and writing to the MEM-P 2212, a PCI master, and an AGP target.

MEM−P2212は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリなどとして用いるシステムメモリであり、ROM2212aとRAM2212bとからなる。ROM2212aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM2212bは、プログラムやデータの展開用メモリ、画像処理時の画像描画メモリなどとして用いる書き込みおよび読み出し可能なメモリである。   The MEM-P 2212 is a system memory used as a memory for storing programs and data, a memory for developing programs and data, and the like, and includes a ROM 2212a and a RAM 2212b. The ROM 2212a is a read-only memory used as a program / data storage memory, and the RAM 2212b is a writable / readable memory used as a program / data development memory, an image drawing memory during image processing, and the like.

SB2214は、NB2213とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB2214は、PCIバスを介してNB2213と接続されており、このPCIバスには、FCUI/F2230なども接続される。   The SB 2214 is a bridge for connecting the NB 2213 to a PCI device and peripheral devices. The SB 2214 is connected to the NB 2213 via a PCI bus, and an FCUI / F 2230 and the like are also connected to the PCI bus.

ASIC2216は、マルチメディア情報処理用のハードウェア要素を有するマルチメディア情報処理用途向けのIC(Integrated Circuit)であり、AGP2215、PCIバス、HDD6およびMEM−C2217をそれぞれ接続するブリッジの役割を有する。   The ASIC 2216 is an IC (Integrated Circuit) for multimedia information processing having hardware elements for multimedia information processing, and has a role of a bridge for connecting the AGP 2215, the PCI bus, the HDD 6, and the MEM-C 2217.

このASIC2216は、PCIターゲットおよびAGPマスタと、ASIC2216の中核をなすアービタ(ARB)と、MEM−C2217を制御するメモリコントローラと、ハードウェアロジック等により画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)と、エンジン部2260との間でPCIバスを介してUSB(Universal Serial Bus)2240、IEEE(the Institute of Electrical and Electronics Engineers)1394インタフェース2250が接続される。   The ASIC 2216 includes a PCI target and an AGP master, an arbiter (ARB) that is the core of the ASIC 2216, a memory controller that controls the MEM-C 2217, and a plurality of DMACs (Direct Memory) that perform rotation of image data by hardware logic or the like. A Universal Serial Bus (USB) 2240 and IEEE (The Institute of Electrical and Engineering Engineers) 1394 interface 2250 are connected between the Access Controller and the engine unit 2260 via a PCI bus.

MEM−C2217は、送信用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD6は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストーレジである。   The MEM-C 2217 is a local memory used as a transmission image buffer and a code buffer, and the HDD 6 is a storage for storing image data, programs, font data, and forms.

AGP2215は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM−P2212に高スループットで直接アクセスすることにより、グラフィクスアクセラレータカードを高速にするものである。   The AGP 2215 is a bus interface for a graphics accelerator card that has been proposed for speeding up graphics processing, and speeds up the graphics accelerator card by directly accessing the MEM-P 2212 with high throughput.

ASIC2216に接続する操作表示部3は、操作者からの操作入力を受け付けて、ASIC2216に受け付けられた操作入力情報を送信する。   The operation display unit 3 connected to the ASIC 2216 receives an operation input from the operator and transmits the operation input information received by the ASIC 2216.

なお、実施の形態による画像処理装置を組み込んだMFPで実行される画像処理プログラムは、ROM等に予め組み込まれて提供される。   An image processing program executed by the MFP in which the image processing apparatus according to the embodiment is incorporated is provided by being incorporated in advance in a ROM or the like.

実施の形態による画像処理装置を組み込んだMFPで実行される画像処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。   An image processing program executed by an MFP incorporating the image processing apparatus according to the embodiment is a file in an installable format or an executable format, and is a CD-ROM, a flexible disk (FD), a CD-R, a DVD (Digital Versatile). It may be configured to be recorded on a computer-readable recording medium such as Disk).

さらに、実施の形態による画像処理装置を組み込んだMFPで実行される画像処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施の形態による画像処理装置を組み込んだMFPで実行される画像処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。   Further, the image processing program executed by the MFP incorporating the image processing apparatus according to the embodiment is stored on a computer connected to a network such as the Internet, and is provided by being downloaded via the network. Also good. Further, the image processing program executed by the MFP incorporating the image processing apparatus according to the embodiment may be provided or distributed via a network such as the Internet.

実施の形態による画像処理装置を組み込んだMFPで実行される画像処理プログラムは、上述した各部(画像サイズ設定部11、回転角度設定部12、入力アドレス設定部13、出力アドレス設定部14、画像分割部15、入力アドレス生成部16、出力アドレス生成部17、入力部19、回転部20、出力部21など)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMから画像表示プログラムを読み出して実行することにより上記各部が主記憶装置上に、画像サイズ設定部11、回転角度設定部12、入力アドレス設定部13、出力アドレス設定部14、画像分割部15、入力アドレス生成部16、出力アドレス生成部17、入力部19、回転部20、出力部21などが主記憶装置上に生成されるようになっている。   The image processing program executed by the MFP incorporating the image processing apparatus according to the embodiment includes the above-described units (image size setting unit 11, rotation angle setting unit 12, input address setting unit 13, output address setting unit 14, image division). Unit 15, input address generation unit 16, output address generation unit 17, input unit 19, rotation unit 20, output unit 21, and the like). As actual hardware, a CPU (processor) is the ROM By reading and executing the image display program from the above, each of the above units is stored on the main storage device, the image size setting unit 11, the rotation angle setting unit 12, the input address setting unit 13, the output address setting unit 14, the image dividing unit 15, and the input An address generation unit 16, an output address generation unit 17, an input unit 19, a rotation unit 20, an output unit 21, and the like are provided on the main storage device. It is adapted to be made.

以上説明した本発明の実施の形態あるいは変形例は、説明のための一例であって、本発明はここに説明したこれらの具体例に限定されるものではない。   The embodiment or modification of the present invention described above is an example for description, and the present invention is not limited to these specific examples described here.

以上のように、本発明にかかる画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラムは、画像処理技術に有用であり、特に、記憶装置から画像データを読み出して処理を施す画像処理技術に適している。   As described above, the image processing apparatus, the image processing method, and the program for causing the computer to execute the method according to the present invention are useful for the image processing technology, and in particular, the image processing that reads and processes the image data from the storage device. Suitable for technology.

実施の形態による画像処理装置を備えた画像形成装置の機能的ブロック図である。1 is a functional block diagram of an image forming apparatus including an image processing apparatus according to an embodiment. 実施の形態による画像処理装置の機能的ブロック図である。1 is a functional block diagram of an image processing apparatus according to an embodiment. 入力アドレス生成部16の機能的ブロック図である。3 is a functional block diagram of an input address generation unit 16. FIG. バーストアクセスを説明する模式図である。It is a schematic diagram explaining burst access. 回転部20が画像処理単位の画素値に回転処理を施すことを説明する図である。It is a figure explaining rotation part 20 performing rotation processing to the pixel value of an image processing unit. 出力アドレス生成部17の機能的ブロック図である。3 is a functional block diagram of an output address generation unit 17. FIG. 実施の形態による入力アドレス生成手順を説明するフローチャートである。It is a flowchart explaining the input address generation procedure by embodiment. 実施の形態による出力アドレス生成手順を説明するフローチャートである。It is a flowchart explaining the output address generation procedure by embodiment. 従来例による画像処理装置と、実施の形態による画像処理装置との画像処理におけるメモリアクセスを説明する図である。It is a figure explaining the memory access in the image processing of the image processing apparatus by a prior art example, and the image processing apparatus by embodiment. 実施の形態による画像処理装置を備える画像形成装置の機能的ブロック図である。1 is a functional block diagram of an image forming apparatus including an image processing apparatus according to an embodiment. 従来例による画像の回転処理における入力アドレスの生成を説明する図である。It is a figure explaining the production | generation of the input address in the rotation process of the image by a prior art example.

符号の説明Explanation of symbols

1 スキャナ
2 入力処理部
3 操作表示部
4 出力処理部
5 画像出力部
6 記憶部(HDD)
10 画像処理装置
11 画像サイズ設定部
12 回転角度設定部
13 入力アドレス設定部
14 出力アドレス設定部
15 画像分割部
16 入力アドレス生成部
17 出力アドレス生成部
18 メモリ
19 入力部
20 回転部
21 出力部
DESCRIPTION OF SYMBOLS 1 Scanner 2 Input processing part 3 Operation display part 4 Output processing part 5 Image output part 6 Memory | storage part (HDD)
DESCRIPTION OF SYMBOLS 10 Image processing apparatus 11 Image size setting part 12 Rotation angle setting part 13 Input address setting part 14 Output address setting part 15 Image division part 16 Input address generation part 17 Output address generation part 18 Memory 19 Input part 20 Rotation part 21 Output part

Claims (13)

画像データを格納する画像メモリを矩形領域に分割する分割手段と、
前記画像メモリから前記画像データを読み出す入力メモリアドレスを生成する入力アドレス生成手段と、
前記入力アドレス生成手段によって生成された入力メモリアドレスに基づいて、前記画像メモリにバーストアクセスして、画像データを読み出すメモリアクセス制御手段と、
前記入力アドレス生成手段によって生成された入力アドレスに基づいて前記画像データを読み込んで回転処理を施す回転処理手段と、を備え、
前記入力アドレス生成手段は、
前記画像メモリに格納された画像データを読み出す主走査方向の先頭メモリアドレスであって前記分割手段によって分割された矩形領域の先頭アドレスを生成する先頭メモリアドレス生成手段、および、
主走査方向の所定幅における先頭画素からの非アクセス量である先頭非アクセス量、前記主走査方向の所定幅における後端画素に至るまでの非アクセス量である後端非アクセス量、及び前記メモリアクセス制御手段がバーストアクセスする前記矩形領域内におけるバースト長を演算することにより、前記先頭メモリアドレス生成手段によって生成された先頭アドレスに対応する画素以降の読み込みを停止する画素数を演算する非アクセス量演算手段を、有し、
前記メモリアクセス制御手段は、前記先頭アドレスに対応する画素以降、前記非アクセス量演算手段によって前記先頭非アクセス量、前記後端非アクセス量、および前記バースト長に基づいて演算された画素数の画像データを読み飛ばして前記画像メモリにバーストアクセスし、格納された画像データを読み出し、前記回転処理手段によって回転処理を施された画像データを、前記画像メモリにバースト転送するものであることを特徴とする画像処理装置。
A dividing means for dividing an image memory for storing image data into rectangular areas;
An input address generating means for generating an input memory address to read out the image data from the image memory,
Memory access control means for performing burst access to the image memory and reading out image data based on the input memory address generated by the input address generation means;
Rotation processing means that reads the image data based on the input address generated by the input address generation means and performs rotation processing;
The input address generating means
Head memory address generating means for generating a head address of a rectangular area divided by the dividing means, which is a head memory address in the main scanning direction for reading out image data stored in the image memory; and
A head non-access amount that is a non-access amount from the top pixel in a predetermined width in the main scanning direction, a rear end non-access amount that is a non-access amount up to a rear end pixel in the predetermined width in the main scanning direction, and the memory by access control means for calculating a burst length in the rectangular region to burst access, non for calculating the number of pixels to stop reading the subsequent pixels corresponding to the previously Atamaa dress generated by the first memory address generating means Having access amount calculation means,
Said memory access control means, said destination Atamaa subsequent pixels corresponding to the dress, the top non-access amount by said non-access amount calculating means, the rear end non-access volume, and number of pixels that have been calculated based on the burst length The image data is skipped, the image memory is burst accessed, the stored image data is read, and the image data subjected to the rotation processing by the rotation processing means is burst transferred to the image memory. A featured image processing apparatus.
前記画像メモリアクセス制御手段によって読み出された画像データを、画像メモリに格納するための出力メモリアドレスを生成する出力アドレス生成手段を、さらに備え、
前記メモリアクセス制御手段は、前記出力アドレス生成手段によって生成された出力メモリアドレスに基づいて、読み出した前記画像データを、前記画像メモリにバースト転送するものであることを特徴とする請求項1に記載の画像処理装置。
Output address generation means for generating an output memory address for storing the image data read out by the image memory access control means in an image memory;
It said memory access control means on the basis of the output memory address generated by the output address generating means, the image data read out, according to claim 1, characterized in that the image memory is to burst transfer Image processing apparatus.
前記メモリアクセス制御手段は、前記出力メモリアドレス、および前記バースト長に基づいて、前記読み出した画像データを、前記画像メモリにバースト転送するものであることを特徴とする請求項に記載の画像処理装置。 3. The image processing according to claim 2 , wherein the memory access control means burst-transfers the read image data to the image memory based on the output memory address and the burst length. apparatus. 前記メモリアクセス制御手段は、前記画像データを前記画像メモリに格納する際に、所定数の画素データに対してマスク処理を施して格納するマスク生成手段を有するものであることを特徴とする請求項2または3に記載の画像処理装置。 The said memory access control means has a mask production | generation means which performs a mask process with respect to a predetermined number of pixel data, and stores it, when storing the said image data in the said image memory. The image processing apparatus according to 2 or 3 . 前記マスク生成手段は、
上記先頭読み飛ばしに後続する所定の画素数だけマスク処理を施す先頭マスク生成手段、および、
上記後端読み飛ばしに先行する所定の画素数だけマスク処理を施す後端マスク生成手段を有し、
前記先頭マスク生成手段によるマスク処理、および前記後端マスク生成手段によるマスク処理によって、前記画像データに対してマスク処理を施すものであることを特徴とする請求項に記載の画像処理装置。
The mask generating means includes
A head mask generating means for performing mask processing for a predetermined number of pixels following the head reading skip; and
Rear end mask generating means for performing mask processing for a predetermined number of pixels preceding the rear end skipping,
The image processing apparatus according to claim 4 , wherein the image data is subjected to mask processing by mask processing by the leading mask generation unit and mask processing by the trailing edge mask generation unit.
前記分割手段は、前記画像メモリをバイト単位の矩形領域に分割するものであることを特徴とする請求項1〜5のいずれか1つに記載の画像処理装置。 The dividing means, the image processing apparatus according to any one of claims 1 to 5, characterized in that for dividing the image memory in the rectangular area in bytes. 画像処理装置における画像処理方法であって、
分割手段によって、画像データを格納する画像メモリを矩形領域に分割する分割工程と、
入力アドレス生成手段によって、前記画像メモリから前記画像データを読み出す入力メモリアドレスを生成する入力アドレス生成工程と、
メモリアクセス制御手段によって、前記入力アドレス生成工程で生成された入力メモリアドレスに基づいて、前記画像メモリにバーストアクセスして、画像データを読み出すメモリアクセス制御工程と、
回転処理手段によって、前記入力アドレス生成工程で生成された入力アドレスに基づいて前記画像データを読み込んで回転処理を施す回転処理工程と、を含み、
前記入力アドレス生成工程は、
先頭メモリアドレス生成手段によって、前記画像メモリに格納された画像データを読み出す主走査方向の先頭メモリアドレスであって前記分割工程で分割された矩形領域の先頭アドレスを生成する先頭メモリアドレス生成工程、および、
非アクセス量演算手段によって、主走査方向の所定幅における先頭画素からの非アクセス量である先頭非アクセス量、前記主走査方向の所定幅における後端画素に至るまでの非アクセス量である後端非アクセス量、及び前記メモリアクセス制御手段がバーストアクセスする前記矩形領域内におけるバースト長を演算することにより、前記先頭メモリアドレス生成工程で生成された先頭アドレスに対応する画素以降の読み込みを停止する画素数を演算する非アクセス量演算工程を、含み、
前記メモリアクセス制御工程は、前記先頭アドレスに対応する画素以降、前記非アクセス量演算工程で前記先頭非アクセス量、前記後端非アクセス量、および前記バースト長に基づいて演算された画素数の画像データを読み飛ばして前記画像メモリにバーストアクセスし、格納された画像データを読み出し、前記回転処理工程で回転処理を施された画像データを、前記画像メモリにバースト転送するものであることを特徴とする画像処理方法。
An image processing method in an image processing apparatus,
A dividing step of dividing the image memory storing the image data into rectangular areas by a dividing unit;
By the input address generating unit, an input address generating step of generating an input memory address to read out the image data from the image memory,
Based on the input memory address generated in the input address generation step by the memory access control means, a memory access control step of performing burst access to the image memory and reading out image data;
A rotation processing step by which the rotation processing means reads the image data based on the input address generated in the input address generation step and performs the rotation processing;
The input address generation step includes
A leading memory address generating step for generating a leading memory address in the main scanning direction for reading out image data stored in the image memory by a leading memory address generating means, and generating a leading address of the rectangular area divided in the dividing step; and ,
The leading non-access amount that is the non-access amount from the leading pixel in the predetermined width in the main scanning direction by the non-access amount calculating means, and the trailing edge that is the non-accessing amount up to the trailing pixel in the predetermined width in the main scanning direction non-access volume, and the by the memory access control means for calculating a burst length within the rectangular area to be burst access, stops reading of the subsequent pixel corresponding to the first memory address generating step in the generated previously Atamaa dress A non-access amount calculation step for calculating the number of pixels to be performed,
Said memory access control step, the destination Atamaa subsequent pixels corresponding to the dress, the top non-access amount by said non-access quantity calculation step, the rear end non-access volume, and number of pixels that have been calculated based on the burst length The image data is skipped, the image memory is burst-accessed, the stored image data is read, and the image data subjected to the rotation process in the rotation process step is burst-transferred to the image memory. A featured image processing method.
出力アドレス生成手段によって、前記画像メモリアクセス制御工程で読み出された画像データを、画像メモリに格納するための出力メモリアドレスを生成する出力アドレス生成工程を、さらに含み、
前記メモリアクセス制御工程は、前記メモリアクセス制御手段が、前記出力アドレス生成工程で生成された出力メモリアドレスに基づいて、読み出した前記画像データを、前記画像メモリにバースト転送するものであることを特徴とする請求項に記載の画像処理方法。
An output address generation step of generating an output memory address for storing the image data read in the image memory access control step by the output address generation means in the image memory;
In the memory access control step, the memory access control means performs burst transfer of the read image data to the image memory based on the output memory address generated in the output address generation step. The image processing method according to claim 7 .
前記メモリアクセス制御工程は、前記メモリアクセス制御手段が、前記出力メモリアドレス、および前記バースト長に基づいて、前記読み出した画像データを前記画像メモリにバースト転送するものであることを特徴とする請求項に記載の画像処理方法。 2. The memory access control step, wherein the memory access control means performs burst transfer of the read image data to the image memory based on the output memory address and the burst length. 9. The image processing method according to 8 . 前記メモリアクセス制御工程は、前記メモリアクセス制御手段が、前記画像データを前記画像メモリに格納する際に、マスク生成手段によって、所定数の画素データに対してマスク処理を施して格納するマスク生成工程を、含むものであることを特徴とする請求項8または9に記載の画像処理方法。 The memory access control step includes a mask generation step in which the memory access control means performs mask processing on a predetermined number of pixel data by the mask generation means when storing the image data in the image memory. The image processing method according to claim 8, wherein: 前記マスク生成工程は、
先頭マスク生成手段によって、上記先頭読み飛ばしに後続する所定の画素数だけマスク処理を施す先頭マスク生成工程、および、
後端マスク生成手段によって、上記後端読み飛ばしに先行する所定の画素数だけマスク処理を施す後端マスク生成工程を含み、
前記先頭マスク生成手段によるマスク処理、および前記後端マスク生成手段によるマスク処理によって、前記画像データに対してマスク処理を施すものであることを特徴とする請求項10に記載の画像処理方法。
The mask generation step includes
A head mask generating step of performing mask processing for a predetermined number of pixels following the head reading skip by the head mask generating means; and
A rear end mask generating means for performing mask processing for a predetermined number of pixels preceding the rear end skipping by the rear end mask generating means;
The image processing method according to claim 10 , wherein mask processing is performed on the image data by mask processing by the head mask generation unit and mask processing by the rear end mask generation unit.
前記分割工程は、前記分割手段が、前記画像メモリをバイト単位の矩形領域に分割するものであることを特徴とする請求項7〜11のいずれか1つに記載の画像処理方法。 12. The image processing method according to claim 7, wherein in the dividing step, the dividing unit divides the image memory into rectangular areas in units of bytes. 請求項7〜12のいずれか1つに記載の画像処理方法を、コンピュータに実行させるためのプログラム。 A program for causing a computer to execute the image processing method according to any one of claims 7 to 12 .
JP2006044145A 2006-02-21 2006-02-21 Image processing apparatus, image processing method, and program for causing computer to execute the method Expired - Fee Related JP4732183B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006044145A JP4732183B2 (en) 2006-02-21 2006-02-21 Image processing apparatus, image processing method, and program for causing computer to execute the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006044145A JP4732183B2 (en) 2006-02-21 2006-02-21 Image processing apparatus, image processing method, and program for causing computer to execute the method

Publications (3)

Publication Number Publication Date
JP2007226330A JP2007226330A (en) 2007-09-06
JP2007226330A5 JP2007226330A5 (en) 2009-02-26
JP4732183B2 true JP4732183B2 (en) 2011-07-27

Family

ID=38548124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006044145A Expired - Fee Related JP4732183B2 (en) 2006-02-21 2006-02-21 Image processing apparatus, image processing method, and program for causing computer to execute the method

Country Status (1)

Country Link
JP (1) JP4732183B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5738618B2 (en) 2011-02-08 2015-06-24 オリンパス株式会社 Data processing device
JP5736826B2 (en) * 2011-02-17 2015-06-17 セイコーエプソン株式会社 Image data processing apparatus, recording apparatus, and image data processing method
JP6701735B2 (en) 2016-01-05 2020-05-27 株式会社リコー Image processing apparatus, image forming apparatus, image processing method, and program
CN114240731B (en) * 2022-02-22 2022-07-12 摩尔线程智能科技(北京)有限责任公司 Distributed storage interconnection structure, video card and memory access method of graphics processor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001274975A (en) * 2000-03-24 2001-10-05 Matsushita Electric Ind Co Ltd Image forming device
JP2006004340A (en) * 2004-06-21 2006-01-05 Victor Co Of Japan Ltd Dma transfer controller

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62180452A (en) * 1986-02-05 1987-08-07 Hitachi Ltd Data transfer circuit
JP2002215562A (en) * 2001-01-19 2002-08-02 Canon Inc Unit and method for dma control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001274975A (en) * 2000-03-24 2001-10-05 Matsushita Electric Ind Co Ltd Image forming device
JP2006004340A (en) * 2004-06-21 2006-01-05 Victor Co Of Japan Ltd Dma transfer controller

Also Published As

Publication number Publication date
JP2007226330A (en) 2007-09-06

Similar Documents

Publication Publication Date Title
JP5388559B2 (en) Image processing apparatus, image processing method, program for executing image processing method, and storage medium
JP2007200170A (en) Image processor and image processing program
JP4717570B2 (en) Data transfer device, display device, and data transfer method
US20060215200A1 (en) Printing control system and method
WO2000015442A1 (en) Printer, image processing device, image processing method, and recording medium
JP4732183B2 (en) Image processing apparatus, image processing method, and program for causing computer to execute the method
JP4027133B2 (en) Image processing device
JP4446447B2 (en) Image forming apparatus
US8724161B2 (en) Method, apparatus, and computer program product for processing image data of plural images to combine for output to a recording medium
JPH04252562A (en) Picture processing unit
JP2018058295A (en) Image processing apparatus, image processing method and program
JP2008299519A (en) Image processor
JP2005086598A (en) Device, method, program, and circuit for processing image
JP4495048B2 (en) Data transfer apparatus, operation display apparatus using the same, and image forming apparatus
JP2007249403A (en) Image data processing system and method for it
JP4316476B2 (en) Image processing apparatus and image forming apparatus
JP2008125026A (en) Image processor, image processing method, image processing program
JP5753370B2 (en) Image processing apparatus, method, and program
JP4900149B2 (en) Image processing apparatus and image processing program
JP5315637B2 (en) Image processing apparatus, electronic document system, and program
JP4443256B2 (en) Image processing apparatus, image output apparatus, information processing apparatus, image forming system, image processing method, program, and recording medium
JP2004096574A (en) Image processor
JP2007249564A (en) Image processor and image processing method
JP2011015362A (en) Image processing apparatus
JP2009199496A (en) Image processing circuit, and multifunction machine provided with the image processing circuit

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110419

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110420

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4732183

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees