JP2010205143A - Image processing apparatus, inclination correction method and program - Google Patents

Image processing apparatus, inclination correction method and program Download PDF

Info

Publication number
JP2010205143A
JP2010205143A JP2009052250A JP2009052250A JP2010205143A JP 2010205143 A JP2010205143 A JP 2010205143A JP 2009052250 A JP2009052250 A JP 2009052250A JP 2009052250 A JP2009052250 A JP 2009052250A JP 2010205143 A JP2010205143 A JP 2010205143A
Authority
JP
Japan
Prior art keywords
image
partial data
storage unit
input buffer
address control
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.)
Granted
Application number
JP2009052250A
Other languages
Japanese (ja)
Other versions
JP5124509B2 (en
Inventor
Akira Iwayama
暁 岩山
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.)
PFU Ltd
Original Assignee
PFU 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 PFU Ltd filed Critical PFU Ltd
Priority to JP2009052250A priority Critical patent/JP5124509B2/en
Publication of JP2010205143A publication Critical patent/JP2010205143A/en
Application granted granted Critical
Publication of JP5124509B2 publication Critical patent/JP5124509B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Input (AREA)
  • Image Processing (AREA)
  • Storing Facsimile Image Data (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing apparatus, capable of suppressing even the increase in a required memory capacity, without causing marked deterioration in access efficiency to a DRAM, even if the skew angle becomes large, and to provide an inclination correction method and a program. <P>SOLUTION: The correction rotation angle of image data is acquired, a first address control system for performing address control of a storing part so as to read partial data of the predetermined number of blocks in an input buffer and a second address control system for performing address control of the storing part so as to occasionally read the partial data of a block in the input buffer are switched, according to the acquired correction rotation angle; rotation processing of the partial data written in the input buffer is performed; and address control of the storing part is performed so as to write the rotated partial data in an output buffer. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、画像処理装置、傾き補正方法、および、プログラムに関する。   The present invention relates to an image processing apparatus, a tilt correction method, and a program.

従来の画像処理装置においては、スキャナ等の画像読取装置で読取った画像中の原稿領域を認識し、効率的に傾き補正(デスキュー)および原稿領域の切り出し(クロッピング)が行われている。   In a conventional image processing apparatus, an original area in an image read by an image reading apparatus such as a scanner is recognized, and tilt correction (deskew) and original area extraction (cropping) are performed efficiently.

例えば、特許文献1に記載の技術では、少なくとも互いに隣り合う領域の一部が重なり合うように、複数の領域に画像を分割し、分割領域を読み出して回転処理を行い、移動量に基づいて平行移動を行う技術が開示されている。   For example, in the technique described in Patent Document 1, an image is divided into a plurality of regions so that at least part of adjacent regions overlap each other, the divided regions are read out, a rotation process is performed, and parallel movement is performed based on the amount of movement. Techniques for performing are disclosed.

また、例えば、特許文献2に記載の技術では、画像データが大容量低速メモリに格納され、当該画像データがブロック読み出し用のアドレスに従ってブロック単位で読み出され小容量高速メモリに格納される。そして、当該技術では、局所回転用の読み出しアドレスに従ってさらに読み出され、スキュー補正が行われる。さらに、当該技術では、入力画像の傾きに応じた角度でメモリから斜め方向にブロック単位で読み出すべく、その小数部を所定の精度で近似してブロック書込み用のアドレスを順次生成し、かつ、ブロック読み出し用のアドレスを精度に応じた周期で所定量だけ増減させることで近似によるブロック読み出し用のアドレスの累積誤差を抑制する技術が開示されている。   Further, for example, in the technique disclosed in Patent Document 2, image data is stored in a large-capacity low-speed memory, and the image data is read out in units of blocks according to block read addresses and stored in a small-capacity high-speed memory. In this technique, further reading is performed in accordance with the read address for local rotation, and skew correction is performed. Furthermore, in this technique, in order to read out block by block in an oblique direction from the memory at an angle according to the inclination of the input image, the decimal part is approximated with a predetermined accuracy to sequentially generate an address for block writing, and There has been disclosed a technique for suppressing an accumulation error of an address for block reading due to approximation by increasing / decreasing a read address by a predetermined amount in a cycle according to accuracy.

また、例えば、特許文献3に記載の技術では、部分画像を格納する読み取り用バッファを制御し、読み取り用バッファに格納された部分画像を、出力座標の位置に順次変換し、出力座標の位置に変換された部分画像を格納する書き込み用バッファを制御することで、回転、変倍、変形を含めた行列処理をブロック単位で行う技術が開示されている。   Further, for example, in the technique described in Patent Document 3, the reading buffer for storing the partial image is controlled, and the partial images stored in the reading buffer are sequentially converted into the output coordinate position, and the output coordinate position is set. A technique is disclosed in which matrix processing including rotation, scaling, and transformation is performed in units of blocks by controlling a writing buffer that stores a converted partial image.

特公平8−33919号公報Japanese Patent Publication No. 8-33919 特開2005−352703号公報JP 2005-352703 A 特開2008−192073号公報JP 2008-192073 A

しかしながら、従来の画像処理装置(特許文献1等)においては、DRAMのアクセス効率を高くすると、必要となるバッファサイズが大きくなってしまう(一例として、読み出す画像が正方形で、回転角度が45度の場合、入力バッファの大きさは出力バッファの√2倍となる)という問題点を有していた。   However, in the conventional image processing apparatus (Patent Document 1 or the like), if the DRAM access efficiency is increased, the required buffer size increases (for example, the read image is square and the rotation angle is 45 degrees). In this case, the size of the input buffer is √2 times that of the output buffer).

また、従来の画像処理装置においては、スキュー角度が大きいほどDRAMへのアクセス効率が大きく低下するため、スキャナの読取速度が低下してしまうという問題点を有していた。すなわち、従来の画像処理装置においては、画像をブロックに分割し、大容量低速メモリから高速メモリへ読み出し、その中で回転処理を行うため、高速メモリのサイズは小さくすることは可能だが、大容量低速メモリへのアクセス効率は低下してしまうという問題点を有していた。ここで、図1を参照してメモリのアクセス効率の低下について説明する。図1に示すように、画像の読み込みにおいて大容量低速メモリへのアクセスを連続して行うことが必要であるが、従来の画像処理装置においては、回転角度が少ない場合は、入力画像アクセス単位(例えば、1つのラスタ)に含まれるデスキュー/クロッピング対象の原稿(すなわち、補間対象)の割合が大きいため、メモリのアクセス効率が高いが、回転角度が大きくなると、背景(すなわち、補間対象以外)の割合が大きくなるため、メモリのアクセス効率が極端に低下するという問題点を有していた。   Also, the conventional image processing apparatus has a problem that the reading speed of the scanner is lowered because the access efficiency to the DRAM is greatly lowered as the skew angle is increased. That is, in the conventional image processing apparatus, the image is divided into blocks, read from the large-capacity low-speed memory to the high-speed memory, and the rotation process is performed in the block. There was a problem that the access efficiency to the low-speed memory was lowered. Here, a decrease in memory access efficiency will be described with reference to FIG. As shown in FIG. 1, it is necessary to continuously access a large-capacity low-speed memory when reading an image. However, in a conventional image processing apparatus, when the rotation angle is small, an input image access unit ( For example, since the ratio of deskew / cropping target documents (that is, interpolation targets) included in one raster) is large, the memory access efficiency is high, but when the rotation angle increases, the background (that is, other than the interpolation target) Since the ratio increases, there is a problem that the access efficiency of the memory is extremely lowered.

本発明は、上記問題点に鑑みてなされたもので、スキュー角度が大きくなっても、DRAMへのアクセス効率の著しい低下をさせずに、必要メモリ容量の増加も抑制することができる画像処理装置、傾き補正方法、および、プログラムを提供することを目的とする。   The present invention has been made in view of the above problems, and an image processing apparatus capable of suppressing an increase in required memory capacity without causing a significant decrease in DRAM access efficiency even when the skew angle increases. An object of the present invention is to provide a tilt correction method and program.

このような目的を達成するため、本発明の画像処理装置は、画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、上記画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、上記画像データの傾き補正を行う画像処理装置であって、上記記憶部は、入力バッファと出力バッファとを備え、上記制御部は、上記画像データの補正回転角度を取得する回転角度取得手段と、上記回転角度取得手段により取得された上記補正回転角度に応じて、予め定めたブロック数の上記部分データを上記入力バッファに読込むように上記記憶部のアドレス制御を行う第1アドレス制御方式と、上記ブロックの上記部分データを上記入力バッファに随時読込むように上記記憶部のアドレス制御を行う第2アドレス制御方式とを切り替える方式切替制御手段と、上記入力バッファに書き込まれた上記部分データの回転処理を行う回転処理手段と、上記回転処理手段により回転処理された上記部分データを上記出力バッファに書込むように上記記憶部のアドレス制御を行う書込み制御手段と、を備えたことを特徴とする。   In order to achieve such an object, the image processing apparatus of the present invention includes at least a storage unit that stores image data read by the image reading device, and a control unit, and the image data is divided into block units. An image processing apparatus that corrects the inclination of the image data by dividing the data into pieces and performing rotation processing in units of the blocks, wherein the storage unit includes an input buffer and an output buffer, and the control unit includes: Rotation angle acquisition means for acquiring a corrected rotation angle of the image data, and the partial data of a predetermined number of blocks according to the correction rotation angle acquired by the rotation angle acquisition means so as to read the partial data into the input buffer. A first address control method for performing address control of the storage unit, and the storage unit to read the partial data of the block into the input buffer as needed Method switching control means for switching the second address control method for performing address control, rotation processing means for rotating the partial data written in the input buffer, and the partial data rotated by the rotation processing means Write control means for performing address control of the storage unit so as to write data into the output buffer.

また、本発明の画像処理装置は、上記記載の装置において、上記制御部は、上記回転処理手段により回転処理された上記部分データに対してデータ圧縮を行う画像圧縮手段、を更に備えたことを特徴とする。   In the image processing apparatus of the present invention, in the above-described apparatus, the control unit further includes image compression means for performing data compression on the partial data rotated by the rotation processing means. Features.

また、本発明の画像処理装置は、上記記載の装置において、上記出力バッファのブロックサイズは、8×8ピクセルであり、上記画像圧縮手段は、上記部分データに対してJPEG圧縮することを特徴とする。   The image processing apparatus of the present invention is characterized in that, in the apparatus described above, the block size of the output buffer is 8 × 8 pixels, and the image compression means performs JPEG compression on the partial data. To do.

また、本発明の画像処理装置は、上記記載の装置において、上記書込み制御手段は、上記部分データを上記画像データの少なくとも一部に重ねて上書きするように上記記憶部のアドレス制御を行うことを特徴とする。   In the image processing apparatus according to the present invention, in the apparatus described above, the writing control unit performs address control of the storage unit so that the partial data is overwritten on at least a part of the image data. Features.

また、本発明の画像処理装置は、上記記載の装置において、入力バッファは、入力バッファに格納される上記部分データの少なくとも一部の画像および/または上記画像データにおける座標情報を記憶することを特徴とする。   The image processing apparatus of the present invention is characterized in that, in the above-described apparatus, the input buffer stores at least a partial image of the partial data stored in the input buffer and / or coordinate information in the image data. And

また、本発明の傾き補正方法は、画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、上記画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、上記画像データの傾き補正を行う画像処理装置において実行される傾き補正方法であって、上記記憶部は、入力バッファと出力バッファとを備えており、上記制御部において実行される、上記画像データの補正回転角度を取得する回転角度取得ステップと、上記回転角度取得ステップにて取得された上記補正回転角度に応じて、予め定めたブロック数の上記部分データを上記入力バッファに読み込むように上記記憶部のアドレス制御を行う第1アドレス制御方式と、上記ブロックの上記部分データを上記入力バッファに随時読み込むように上記記憶部のアドレス制御を行う第2アドレス制御方式とを切り替える方式切替制御ステップと、上記入力バッファに書き込まれた上記部分データの回転処理を行う回転処理ステップと、上記回転処理ステップにより回転処理された上記部分データを上記出力バッファに書込むように上記記憶部のアドレス制御を行う書込み制御ステップと、を含むことを特徴とする。   In addition, the tilt correction method of the present invention includes at least a storage unit that stores image data read by the image reading device and a control unit, and divides the image data into partial data in units of blocks. A tilt correction method executed in an image processing apparatus that performs tilt correction of the image data by performing rotation processing in units, wherein the storage unit includes an input buffer and an output buffer, and the control unit A rotation angle acquisition step of acquiring a correction rotation angle of the image data, and a predetermined number of blocks of the partial data according to the correction rotation angle acquired in the rotation angle acquisition step. A first address control method for controlling the address of the storage unit so as to read it into the input buffer, and the partial data of the block as the input A method switching control step for switching between a second address control method for performing address control of the storage unit so as to be read into the buffer as needed, a rotation processing step for rotating the partial data written in the input buffer, and the rotation A write control step of performing address control of the storage unit so as to write the partial data rotated by the processing step into the output buffer.

また、本発明のプログラムは、画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、上記画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、上記画像データの傾き補正を行う画像処理装置において実行させるためのプログラムであって、上記記憶部は、入力バッファと出力バッファとを備えており、上記制御部において、上記画像データの補正回転角度を取得する回転角度取得ステップと、上記回転角度取得ステップにて取得された上記補正回転角度に応じて、予め定めたブロック数の上記部分データを上記入力バッファに読み込むように上記記憶部のアドレス制御を行う第1アドレス制御方式と、上記ブロックの上記部分データを上記入力バッファに随時読み込むように上記記憶部のアドレス制御を行う第2アドレス制御方式とを切り替える方式切替制御ステップと、上記入力バッファに書き込まれた上記部分データの回転処理を行う回転処理ステップと、上記回転処理ステップにより回転処理された上記部分データを上記出力バッファに書込むように上記記憶部のアドレス制御を行う書込み制御ステップと、を実行させることを特徴とする。   The program of the present invention includes at least a storage unit that stores image data read by the image reading device and a control unit, and divides the image data into partial data in units of blocks, and in units of the blocks. A program for execution in an image processing apparatus that performs tilt correction of the image data by performing rotation processing, wherein the storage unit includes an input buffer and an output buffer, and the control unit includes According to the rotation angle acquisition step for acquiring the correction rotation angle of the image data and the correction rotation angle acquired in the rotation angle acquisition step, the partial data having a predetermined number of blocks is read into the input buffer. A first address control method for controlling the address of the storage unit, and the partial data of the block as the input buffer. A method switching control step for switching between a second address control method for performing address control of the storage unit so as to be read as needed, a rotation processing step for rotating the partial data written in the input buffer, and the rotation processing step And a write control step for performing address control of the storage unit so as to write the partial data rotated by step (a) to the output buffer.

この発明によれば、画像データの補正回転角度を取得し、取得された補正回転角度に応じて、予め定めたブロック数の部分データを入力バッファに読込むように記憶部のアドレス制御を行う第1アドレス制御方式と、ブロックの部分データを入力バッファに随時読込むように記憶部のアドレス制御を行う第2アドレス制御方式とを切り替え、入力バッファに書き込まれた部分データの回転処理を行い、回転処理された部分データを出力バッファに書込むように記憶部のアドレス制御を行うことができる。これにより、本発明は、回転角度によって小容量高速メモリの使い方を切り替えながら処理を行うことができるという効果を奏する。また、本発明は、DRAMのバースト長を効率的な長さに変更し、アクセス効率を保つことができるという効果を奏する。また、本発明は、数度の傾き補正において、効果的に回転処理を行う事ができるという効果を奏する。また、本発明は、入力ブロックと出力ブロックの比が1対多であるため、一度に読み取る単位が長くなり、アクセス回数を少なくすることができるという効果を奏する。また、本発明は、スキュー角度が大きくなっても、必要な部分だけ切り出して入力バッファに格納するため、DRAMへのアクセス効率を急激に低下させず、比較的無駄読みを少なくすることができるという効果を奏する。   According to this invention, the first address for acquiring the correction rotation angle of the image data and performing address control of the storage unit so as to read the partial data of a predetermined number of blocks into the input buffer according to the acquired correction rotation angle. Switching between the control method and the second address control method for controlling the address of the storage unit so that partial data of the block is read into the input buffer at any time, the rotation processing of the partial data written in the input buffer is performed, and the rotated portion The address control of the storage unit can be performed so that data is written to the output buffer. Thereby, the present invention has an effect that processing can be performed while switching the usage of the small-capacity high-speed memory depending on the rotation angle. In addition, the present invention produces an effect that the burst length of the DRAM can be changed to an efficient length and access efficiency can be maintained. In addition, the present invention has an effect that the rotation process can be effectively performed in the inclination correction of several degrees. In addition, since the ratio of the input block to the output block is one-to-many, the present invention has an effect that the unit to be read at a time becomes longer and the number of accesses can be reduced. Further, according to the present invention, even if the skew angle becomes large, only a necessary part is cut out and stored in the input buffer, so that it is possible to relatively reduce wasteful reading without drastically reducing the access efficiency to the DRAM. There is an effect.

また、この発明によれば、回転処理された部分データに対してデータ圧縮を行うことができる。これにより、本発明は、データ容量を小さくすることができるため、メモリ領域を節約できるという効果を奏する。   Further, according to the present invention, data compression can be performed on the partial data that has been subjected to rotation processing. As a result, the present invention can reduce the data capacity, so that the memory area can be saved.

また、この発明によれば、出力バッファのブロックサイズは、8×8ピクセルであり、部分データに対してJPEG圧縮することができる。これにより、本発明は、汎用性の高い圧縮方法を使用することにより、多くの機器に適用できるという効果を奏する。   In addition, according to the present invention, the block size of the output buffer is 8 × 8 pixels, and JPEG compression can be performed on the partial data. Thereby, this invention has the effect that it can apply to many apparatuses by using a highly versatile compression method.

また、この発明によれば、部分データを画像データの少なくとも一部に重ねて上書きするように記憶部のアドレス制御を行うことができる。これにより、本発明は、入力分と出力分のメモリ領域を別々に確保する必要がなく、メモリサイズの節約になるという効果を奏する。   Further, according to the present invention, the address control of the storage unit can be performed so that the partial data is overwritten on at least a part of the image data. As a result, the present invention does not require separate memory areas for input and output, and has the effect of saving memory size.

また、この発明によれば、入力バッファに格納される部分データの少なくとも一部の画像および/または画像データにおける座標情報を記憶することができる。これにより、本発明は、画像の入力順に関係なく、読み出し順序を特定できるという効果を奏する。   Further, according to the present invention, at least a partial image of partial data stored in the input buffer and / or coordinate information in the image data can be stored. As a result, the present invention has an effect that the reading order can be specified regardless of the input order of the images.

図1は、従来技術におけるメモリへのアクセスの一例を示す概念図である。FIG. 1 is a conceptual diagram showing an example of access to a memory in the prior art. 図2は、画像処理装置の構成の一例を示す概略図である。FIG. 2 is a schematic diagram illustrating an example of the configuration of the image processing apparatus. 図3は、本発明が適用される画像処理装置の構成の一例を示すブロック図である。FIG. 3 is a block diagram showing an example of the configuration of an image processing apparatus to which the present invention is applied. 図4は、本発明の傾き補正処理を示すフローチャートである。FIG. 4 is a flowchart showing the inclination correction processing of the present invention. 図5は、補正回転角度に応じた方式切替条件の一例を示す模式図である。FIG. 5 is a schematic diagram illustrating an example of a method switching condition according to the correction rotation angle. 図6は、第1アドレス制御方式による部分データの入力バッファへの読み込みの一例を示す模式図である。FIG. 6 is a schematic diagram showing an example of reading partial data into the input buffer by the first address control method. 図7は、第1アドレス制御方式による部分データの拡大図である。FIG. 7 is an enlarged view of partial data according to the first address control method. 図8は、第2アドレス制御方式による部分データの入力バッファへの読み込みの一例を示す模式図である。FIG. 8 is a schematic diagram showing an example of reading partial data into the input buffer by the second address control method. 図9は、本実施の形態において行われる上書き制御の一例を示す模式図である。FIG. 9 is a schematic diagram illustrating an example of the overwrite control performed in the present embodiment. 図10は、本実施の形態における本画像処理装置100において実行される傾き補正処理の一例を示すフローチャートである。FIG. 10 is a flowchart illustrating an example of the inclination correction process executed in the image processing apparatus 100 according to the present embodiment. 図11は、本実施の形態と従来技術におけるDRAMのアクセス効率および必要メモリの計測の一例を示したグラフである。FIG. 11 is a graph showing an example of DRAM access efficiency and measurement of required memory in the present embodiment and the prior art.

以下に、本発明にかかる画像処理装置、傾き補正方法、および、プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。   Embodiments of an image processing apparatus, a tilt correction method, and a program according to the present invention will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.

[本発明の概要]
以下、本発明の概要について図2を参照して説明し、その後、本発明の構成および処理等について詳細に説明する。図2は、画像処理装置の構成の一例を示す概略図である。
[Outline of the present invention]
The outline of the present invention will be described below with reference to FIG. 2, and then the configuration and processing of the present invention will be described in detail. FIG. 2 is a schematic diagram illustrating an example of the configuration of the image processing apparatus.

本発明は、概略的に、以下の基本的特徴を有する。すなわち、本発明は、画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、画像データの傾き補正を行う画像処理装置である。   The present invention generally has the following basic features. That is, the present invention includes at least a storage unit that stores image data read by the image reading device and a control unit, divides the image data into partial data in units of blocks, and performs rotation processing in units of the blocks. This is an image processing apparatus that corrects the inclination of image data.

図2に示すように、スキャナ等の画像読取装置にて読み取られた画像データ(イメージデータ)は、記憶部の大容量低速メモリに記憶される。そして、大容量低速メモリに記憶されたイメージデータは、制御部により取得された補正回転角度に応じて、小容量高速メモリに読込む方式を切り替える記憶部のアドレス制御に従って、制御部にて生成されたブロック読出しアドレスによりイメージデータ(部分データ)を読出して小容量高速メモリに格納する。小容量高速メモリに格納されたイメージデータ(部分データ)は、制御部により生成された局所回転用読出しアドレスに従い読み出され、回転処理が行われ、メモリサイズを節約する場合に画像圧縮が行われ、大容量低速メモリに格納される。大容量低速メモリへの書き込みは、制御部により生成されるブロック書き込みアドレスに従って書込み制御される。   As shown in FIG. 2, image data (image data) read by an image reading apparatus such as a scanner is stored in a large-capacity low-speed memory of a storage unit. The image data stored in the large-capacity low-speed memory is generated by the control unit according to the address control of the storage unit that switches the method of reading into the small-capacity high-speed memory according to the corrected rotation angle acquired by the control unit. The image data (partial data) is read by the block read address and stored in the small-capacity high-speed memory. The image data (partial data) stored in the small-capacity high-speed memory is read according to the local rotation read address generated by the control unit, is subjected to rotation processing, and image compression is performed to save the memory size. Stored in large-capacity low-speed memory. Writing to the large-capacity low-speed memory is controlled according to the block write address generated by the control unit.

以上で、本発明の概要の説明を終える。   This is the end of the description of the outline of the present invention.

[画像処理装置100の構成]
次に、図3を参照して、画像処理装置100の構成について説明する。図3は、本発明が適用される画像処理装置の構成の一例を示すブロック図であり、該構成のうち本発明に関係する部分のみを概念的に示している。
[Configuration of Image Processing Apparatus 100]
Next, the configuration of the image processing apparatus 100 will be described with reference to FIG. FIG. 3 is a block diagram showing an example of the configuration of an image processing apparatus to which the present invention is applied, and conceptually shows only the portion related to the present invention.

図3において画像処理装置100は、概略的に、制御部102と入出力制御インターフェース部108と記憶部106を備えて構成される。ここで、制御部102は、画像処理装置100の全体を統括的に制御するCPU等である。また、入出力制御インターフェース部108は、画像読取装置112に接続されるインターフェースである。また、記憶部106は、各種のデータベースやテーブルなどを格納する装置である。これら画像処理装置100の各部は任意の通信路を介して通信可能に接続されている。   In FIG. 3, the image processing apparatus 100 schematically includes a control unit 102, an input / output control interface unit 108, and a storage unit 106. Here, the control unit 102 is a CPU or the like that comprehensively controls the entire image processing apparatus 100. The input / output control interface unit 108 is an interface connected to the image reading device 112. The storage unit 106 is a device that stores various databases and tables. Each unit of the image processing apparatus 100 is connected to be communicable via an arbitrary communication path.

記憶部106は、ストレージ手段であり、RAM(Random Access Memory)等の小容量高速メモリと、ハードディスク、SSD(Solid State Drive)等の大容量低速メモリ等のストレージ手段を格納しており、小容量高速メモリに入力バッファ106a、大容量低速メモリに出力バッファ106bが設定されている。ここで、入力バッファ106aは、当該入力バッファ106aに格納される部分データの少なくとも一部の画像および/または画像データにおける座標情報を記憶してもよい。また、出力バッファ106bは、入力バッファ106aとは別に小容量高速メモリに設定されていてもよく、入力バッファ106aと同一であってもよい。   The storage unit 106 is a storage unit that stores a small-capacity high-speed memory such as a RAM (Random Access Memory) and a storage unit such as a large-capacity low-speed memory such as a hard disk or an SSD (Solid State Drive). An input buffer 106a is set for the high-speed memory, and an output buffer 106b is set for the large-capacity low-speed memory. Here, the input buffer 106a may store at least a partial image of partial data stored in the input buffer 106a and / or coordinate information in the image data. Further, the output buffer 106b may be set in a small-capacity high-speed memory separately from the input buffer 106a, or may be the same as the input buffer 106a.

また、図3において、入出力制御インターフェース部108は、画像読取装置112の制御を行う。ここで、画像読取装置112としては、スキャナ装置、デジタルカメラ、およびWEBカメラ等を用いることができる。   In FIG. 3, the input / output control interface unit 108 controls the image reading device 112. Here, as the image reading device 112, a scanner device, a digital camera, a WEB camera, or the like can be used.

また、図3において、制御部102は、OS(Operating System)等の制御プログラムや、各種の処理手順等を規定したプログラム、および、所要データを格納するための内部メモリを有する。そして、制御部102は、これらのプログラム等により、種々の処理を実行するための情報処理を行う。制御部102は、機能概念的に、回転角度取得部102a、方式切替制御部102b、回転処理部102c、画像圧縮部102d、書込み制御部102eを備えて構成されている。   In FIG. 3, the control unit 102 includes an internal memory for storing a control program such as an OS (Operating System), a program defining various processing procedures, and necessary data. And the control part 102 performs the information processing for performing various processes by these programs. The control unit 102 includes a rotation angle acquisition unit 102a, a method switching control unit 102b, a rotation processing unit 102c, an image compression unit 102d, and a writing control unit 102e in terms of functional concept.

このうち、回転角度取得部102aは、画像読取装置112にて読み取られ、記憶部106(例えば、大容量低速メモリ)に記憶された画像データの補正回転角度を取得する回転角度取得手段である。   Among these, the rotation angle acquisition unit 102a is a rotation angle acquisition unit that acquires a corrected rotation angle of image data read by the image reading device 112 and stored in the storage unit 106 (for example, a large-capacity low-speed memory).

また、方式切替制御部102bは、回転角度取得部102aにより取得された補正回転角度に応じて、予め定めたブロック数の部分データを入力バッファ106aに読込むように記憶部106のアドレス制御を行う第1アドレス制御方式と、ブロックの部分データを入力バッファ106aに随時読込むように記憶部106のアドレス制御を行う第2アドレス制御方式とを切り替える方式切替制御手段である。   Further, the system switching control unit 102b performs first address control of the storage unit 106 so as to read partial data of a predetermined number of blocks into the input buffer 106a according to the corrected rotation angle acquired by the rotation angle acquisition unit 102a. It is a system switching control means for switching between an address control system and a second address control system that performs address control of the storage unit 106 so that partial data of a block is read into the input buffer 106a as needed.

また、回転処理部102cは、入力バッファ106aに書き込まれた部分データの回転処理を行う回転処理手段である。   The rotation processing unit 102c is a rotation processing unit that performs a rotation process on the partial data written in the input buffer 106a.

また、画像圧縮部102dは、回転処理部102cにより回転処理された部分データに対してデータ圧縮を行う画像圧縮手段である。ここで、画像圧縮部102dは、部分データに対して、出力バッファ106bに出力するブロックサイズを8×8ピクセルとして、JPEG圧縮してもよい。   The image compression unit 102d is an image compression unit that performs data compression on the partial data rotated by the rotation processing unit 102c. Here, the image compression unit 102d may perform JPEG compression on the partial data by setting the block size to be output to the output buffer 106b to 8 × 8 pixels.

また、書込み制御部102eは、部分データを出力バッファ106bに書込むように記憶部106のアドレス制御を行う書込み制御手段である。ここで、書込み制御部102eは、部分データを画像データの少なくとも一部に重ねて上書きするように記憶部106のアドレス制御を行ってもよい。以上で本画像処理装置100の構成の説明を終える。   The write control unit 102e is a write control unit that performs address control of the storage unit 106 so as to write partial data to the output buffer 106b. Here, the writing control unit 102e may perform address control of the storage unit 106 so that the partial data is overwritten on at least a part of the image data. This is the end of the description of the configuration of the image processing apparatus 100.

[傾き補正処理]
次に、本発明の傾き補正処理の一例について、以下に図4から図9を参照して詳細に説明する。図4は、本発明の傾き補正処理の一例を示すフローチャートである。
[Tilt correction processing]
Next, an example of the inclination correction process of the present invention will be described in detail with reference to FIGS. FIG. 4 is a flowchart showing an example of the inclination correction process of the present invention.

図4に示すように、画像処理装置100は、記憶部106に記憶された画像データの補正回転角度を取得する(ステップSA−1)。   As shown in FIG. 4, the image processing apparatus 100 acquires the corrected rotation angle of the image data stored in the storage unit 106 (step SA-1).

そして、画像処理装置100は、ステップSA−1にて取得された補正回転角度に応じて、予め定めたブロック数の部分データを入力バッファ106aに読込むように記憶部106のアドレス制御を行う第1アドレス制御方式と、ブロックの部分データを入力バッファ106aに随時読込むように記憶部106のアドレス制御を行う第2アドレス制御方式とを切り替える(ステップSA−2)。   Then, the image processing apparatus 100 controls the address of the storage unit 106 so as to read the partial data of a predetermined number of blocks into the input buffer 106a according to the corrected rotation angle acquired in step SA-1. Switching between the control method and the second address control method for controlling the address of the storage unit 106 so as to read the partial data of the block into the input buffer 106a as needed (step SA-2).

ここで、図5から図8を参照して、補正回転角度に応じた方式切替制御の一例を説明する。図5は、補正回転角度に応じた方式切替条件の一例を示す模式図である。   Here, an example of the method switching control according to the correction rotation angle will be described with reference to FIGS. FIG. 5 is a schematic diagram illustrating an example of a method switching condition according to the correction rotation angle.

図5に示すように、方式切替制御部102bは、出力されるブロックのサイズがNx×Nyであり、予め定めたブロック数(すなわち、入力バッファ106aへの1回の読み込み数)がM個であり、補正回転角度がθである場合に、条件式:(Nxsinθ+Nycosθ)>(Nycosθ+MNxsinθ)が真であれば、第1アドレス制御方式を適用し、一方で、当該条件式が偽であれば、第2アドレス制御方式を適用する。   As shown in FIG. 5, the method switching control unit 102b has an output block size of Nx × Ny, and a predetermined number of blocks (that is, the number of readings to the input buffer 106a) is M. Yes, when the correction rotation angle is θ, if the conditional expression: (Nxsinθ + Nycosθ)> (Nycosθ + MNxsinθ) is true, the first address control method is applied, while if the conditional expression is false, A two-address control method is applied.

ここで、図6および図7を参照して、第1アドレス制御方式による部分データの入力バッファ106aへの読み込みの一例を説明する。図6は、第1アドレス制御方式による部分データの入力バッファ106aへの読み込みの一例を示す模式図である。図7は、第1アドレス制御方式による部分データの拡大図である。   Here, an example of reading partial data into the input buffer 106a by the first address control method will be described with reference to FIGS. FIG. 6 is a schematic diagram showing an example of reading partial data into the input buffer 106a by the first address control method. FIG. 7 is an enlarged view of partial data according to the first address control method.

図6に示すように、一例として、方式切替制御部102bは、画像読取装置112にて読み込まれた画像データから、出力順序(矢印)に従って、効率的なバースト長により予め定めたブロック数M(例えば、3個)の部分データを入力バッファ106a(必要な高さの入力バッファ)に読込むように記憶部106のアドレス制御を行う。ここで、図7に示すように、例えば、入力バッファ106aに読込まれる部分データ(入力ブロック)には、効率的なバースト長により予め定めた3個の出力ブロックが格納される。   As shown in FIG. 6, as an example, the method switching control unit 102b starts from the image data read by the image reading device 112 according to the output order (arrow), and the number of blocks M ( For example, the address control of the storage unit 106 is performed so that three pieces of partial data are read into the input buffer 106a (input buffer having a necessary height). Here, as shown in FIG. 7, for example, in the partial data (input block) read into the input buffer 106a, three output blocks predetermined by an efficient burst length are stored.

また、図8を参照して、第2アドレス制御方式による部分データの入力バッファ106aへの読み込みの一例を説明する。図8は、第2アドレス制御方式による部分データの入力バッファ106aへの読み込みの一例を示す模式図である。   An example of reading partial data into the input buffer 106a by the second address control method will be described with reference to FIG. FIG. 8 is a schematic diagram showing an example of reading partial data into the input buffer 106a by the second address control method.

図8に示すように、一例として、入力バッファ106aに読込まれる入力ブロックは、出力ブロックの一部が含まれており、処理(例えば、回転処理等)に必要な場合に大容量低速メモリから随時読み出される。   As shown in FIG. 8, as an example, the input block read into the input buffer 106 a includes a part of the output block, and from a large-capacity low-speed memory when necessary for processing (for example, rotation processing). Read from time to time.

再び図4に戻って、画像処理装置100は、入力バッファ106aに書き込まれた部分データの回転処理を行う(ステップSA−3)。   Returning to FIG. 4 again, the image processing apparatus 100 performs rotation processing on the partial data written in the input buffer 106a (step SA-3).

そして、画像処理装置100は、ステップSA−3にて回転処理された部分データを出力バッファ106bに書込むように記憶部106のアドレス制御を行う(ステップSA−4)。   Then, the image processing apparatus 100 performs address control of the storage unit 106 so as to write the partial data rotated in step SA-3 to the output buffer 106b (step SA-4).

ここで、画像処理装置100は、部分データを画像データの少なくとも一部に重ねて上書きするように記憶部106のアドレス制御を行ってもよい。   Here, the image processing apparatus 100 may perform address control of the storage unit 106 so that the partial data is overwritten on at least a part of the image data.

また、図9を参照して、本実施の形態において行われる上書き制御の一例を説明する。図9は、本実施の形態において行われる上書き制御の一例を示す模式図である。   An example of the overwrite control performed in the present embodiment will be described with reference to FIG. FIG. 9 is a schematic diagram illustrating an example of the overwrite control performed in the present embodiment.

図9に示すように、一例として、書込み制御部102eは、記憶部106に記憶されたデスキュー/クロッピング対象の原稿のデータ(画像データ)の部分データに対して回転処理等を行い、回転後の画像のデータ(部分データ)を画像データの少なくとも一部(例えば、背景部分)に重ねて上書きする。   As shown in FIG. 9, as an example, the writing control unit 102 e performs a rotation process on partial data of image data (image data) to be deskewed / cropped stored in the storage unit 106, and the like. The image data (partial data) is overwritten on at least a part of the image data (for example, the background portion).

以上で、本発明の傾き補正処理の一例の説明を終える。   Above, description of an example of the inclination correction process of this invention is finished.

[実施例]
次に、このように構成された本実施の形態における本画像処理装置100において実行される傾き補正処理の一例について、以下に図10を参照して詳細に説明する。図10は、本実施の形態における本画像処理装置100において実行される傾き補正処理の一例を示すフローチャートである。
[Example]
Next, an example of the inclination correction process executed in the image processing apparatus 100 according to the present embodiment configured as described above will be described in detail with reference to FIG. FIG. 10 is a flowchart illustrating an example of the inclination correction process executed in the image processing apparatus 100 according to the present embodiment.

まず、方式切替制御部102bは、スキュー角度(例えば、図5におけるθ)と、予め定めたブロック数(例えば、図5におけるM)に基づいて一度に出力するブロックサイズ(例えば、図5におけるNx×Ny)から、入力バッファ106aの高さ(A:例えば、図5における(Nxsinθ+Nycosθ))と、出力回数(例えば、図5におけるM)掛ける出力ブロックサイズ(B:例えば、図5における(Nycosθ+MNxsinθ))を算出する(ステップSB−1)。   First, the system switching control unit 102b outputs a block size (for example, Nx in FIG. 5) at a time based on a skew angle (for example, θ in FIG. 5) and a predetermined number of blocks (for example, M in FIG. 5). × Ny), the output block size (B: for example, (Nycos θ + MNxsin θ) in FIG. 5) multiplied by the height of the input buffer 106a (A: for example, (Nxsin θ + Nycos θ) in FIG. 5) and the number of outputs (for example, M in FIG. 5). ) Is calculated (step SB-1).

そして、方式切替制御部102bは、A>Bであるか否かを判定する(ステップSB−2)。   Then, the method switching control unit 102b determines whether or not A> B (step SB-2).

そして、方式切替制御部102bは、ステップSB−2にてA>Bであると判定した場合(ステップSB−2:Yes)、入力バッファ106aの高さ(B)を決定する(ステップSB−3)。   When determining that A> B in Step SB-2 (Step SB-2: Yes), the method switching control unit 102b determines the height (B) of the input buffer 106a (Step SB-3). ).

そして、方式切替制御部102bは、第一アドレス制御方式によるアドレス制御に従って、入力バッファ106aのアドレス(すなわち、ブロック読出しアドレス)を生成する(ステップSB−4)。   Then, the method switching control unit 102b generates an address (that is, a block read address) of the input buffer 106a according to the address control by the first address control method (step SB-4).

そして、方式切替制御部102bは、ステップSB−4にて生成したアドレスに従って、記憶部106(例えば、大容量低速メモリ)から、入力バッファ106aに格納する分の画像データを読み出すように制御し、当該画像データの読み出しをさせる(ステップSB−5)。   Then, the method switching control unit 102b controls to read out the image data stored in the input buffer 106a from the storage unit 106 (for example, large-capacity low-speed memory) according to the address generated in step SB-4, The image data is read (step SB-5).

そして、回転処理部102cは、ステップSB−5にて入力バッファ106aに書き込まれた入力ブロックの該当箇所から、局所回転処理を行う。そして、書込み制御部102eは、部分データ(出力ブロック)を出力バッファ106bに書込むように記憶部106のアドレス制御を行い、出力ブロックを出力させる(ステップSB−6)。   Then, the rotation processing unit 102c performs local rotation processing from the corresponding portion of the input block written in the input buffer 106a in Step SB-5. Then, the write control unit 102e performs address control of the storage unit 106 so as to write partial data (output block) to the output buffer 106b, and outputs the output block (step SB-6).

そして、制御部102は、予め定めたブロック数(例えば、図5におけるM)に対応する回数の出力が実施されたか否かを判定する(ステップSB−7)。   And the control part 102 determines whether the output of the frequency | count corresponding to the predetermined number of blocks (for example, M in FIG. 5) was implemented (step SB-7).

そして、制御部102は、ステップSB−7にて予め定めたブロック数に対応する回数の出力が実施されたと判定しない場合(ステップSB−7:No)、処理をSB−5へ移行させる。   If the control unit 102 does not determine that the number of times of output corresponding to the number of blocks determined in advance in step SB-7 has been performed (step SB-7: No), the control unit 102 shifts the processing to SB-5.

一方、制御部102は、ステップSB−7にて予め定めたブロック数に対応する回数の出力が実施されたと判定した場合(ステップSB−7:Yes)、書込み制御部102eの制御により、記憶部106(例えば、大容量低速メモリ)に記憶された傾き補正対象の画像データに対応する全ての出力ブロックが、出力バッファ106bに出力されたか否かを判定する(ステップSB−8)。   On the other hand, when the control unit 102 determines that the number of times of output corresponding to the predetermined number of blocks has been performed in step SB-7 (step SB-7: Yes), the control unit 102e controls the storage unit 102e. It is determined whether or not all output blocks corresponding to the image data to be tilt corrected stored in 106 (for example, large-capacity low-speed memory) have been output to the output buffer 106b (step SB-8).

そして、制御部102は、ステップSB−8にて傾き補正対象の画像データに対応する全ての出力ブロックが出力されていないと判定した場合(ステップSB−8:No)、処理をSB−4へ移行させる。   If the control unit 102 determines in step SB-8 that all output blocks corresponding to the image data to be tilt corrected have not been output (step SB-8: No), the process proceeds to SB-4. Transition.

一方、制御部102は、ステップSB−8にて傾き補正対象の画像データに対応する全ての出力ブロックが、出力バッファ106bに出力されたと判定した場合(ステップSB−8:Yes)、処理を終了する。   On the other hand, if the control unit 102 determines in step SB-8 that all output blocks corresponding to the image data to be tilt corrected have been output to the output buffer 106b (step SB-8: Yes), the process ends. To do.

また、方式切替制御部102bは、ステップSB−2にてA≦Bであると判定した場合(ステップSB−2:No)、1ブロック(すなわち、出力ブロック)を出力するために必要なアドレス(すなわち、ブロック読出しアドレス)を生成する(ステップSB−9)。   Further, when it is determined in step SB-2 that A ≦ B is satisfied (step SB-2: No), the method switching control unit 102b has an address (i.e., an address necessary for outputting one block (that is, an output block)). That is, a block read address) is generated (step SB-9).

そして、制御部102は、入力バッファ106aに記憶されているアドレスを示すタグ(すなわち、当該入力バッファ106aに格納される入力ブロック(すなわち、部分データ)の少なくとも一部の画像および/または画像データにおける座標情報)をチェックする(ステップSB−10)。   Then, the control unit 102 includes at least a part of an image and / or image data of a tag indicating an address stored in the input buffer 106a (that is, an input block (that is, partial data) stored in the input buffer 106a). (Coordinate information) is checked (step SB-10).

そして、制御部102は、ステップSB−10にて行われたチェックに基づいて、入力バッファ106aに、出力ブロックを構成するために必要な入力ブロックの格納が不足しているか否かを判定する(ステップSB−11)。   Based on the check performed in step SB-10, the control unit 102 determines whether or not the input buffer 106a is insufficient to store the input block necessary for configuring the output block ( Step SB-11).

そして、方式切替制御部102bは、ステップSB−11にて入力バッファ106aに、出力ブロックを構成するために必要な入力ブロックの格納が不足していると判定された場合(ステップSB−11:Yes)、ステップSB−9にて生成されたアドレスに従って、記憶部106(例えば、大容量低速メモリ)から、入力バッファ106aに不足している部分データ(入力ブロック)を読み出すように制御し、当該部分データの読み出しをさせる(ステップSB−12)。   Then, the method switching control unit 102b determines in step SB-11 that the input buffer 106a does not have enough input blocks to be stored in the input buffer 106a (step SB-11: Yes). ), In accordance with the address generated in step SB-9, control is performed so that the partial data (input block) that is insufficient in the input buffer 106a is read from the storage unit 106 (for example, large-capacity low-speed memory), Data is read (step SB-12).

一方、回転処理部102cは、ステップSB−11にて入力バッファ106aに、出力ブロックを構成するために必要な入力ブロックの格納が不足していないと判定された場合(ステップSB−11:No)、または、ステップSB−12にて入力バッファ106aに不足している部分データ(入力ブロック)の読み出しが行われた場合、入力バッファ106aに書き込まれた入力ブロックの該当箇所から、局所回転処理を行う。そして、書込み制御部102eは、部分データ(出力ブロック)を出力バッファ106bに書込むように記憶部106のアドレス制御を行い、出力ブロックを出力させる(ステップSB−13)。   On the other hand, the rotation processing unit 102c determines in step SB-11 that the input buffer 106a does not have enough input blocks to be stored in the input buffer 106a (step SB-11: No). Alternatively, when partial data (input block) that is insufficient in the input buffer 106a is read in step SB-12, local rotation processing is performed from the corresponding portion of the input block written in the input buffer 106a. . Then, the write control unit 102e performs address control of the storage unit 106 so as to write partial data (output block) to the output buffer 106b, and outputs the output block (step SB-13).

そして、制御部102は、書込み制御部102eの制御により、記憶部106(例えば、大容量低速メモリ)に記憶された傾き補正対象の画像データに対応する全ての出力ブロックが出力されたか否かを判定する(ステップSB−14)。   Then, the control unit 102 determines whether or not all output blocks corresponding to the image data targeted for tilt correction stored in the storage unit 106 (for example, a large-capacity low-speed memory) have been output under the control of the write control unit 102e. Determine (step SB-14).

そして、制御部102は、傾き補正対象の画像データに対応する全ての出力ブロックが、出力バッファ106bに出力されていないと判定した場合(ステップSB−14:No)、処理をSB−9へ移行させる。   If the control unit 102 determines that all the output blocks corresponding to the image data to be tilt corrected have not been output to the output buffer 106b (step SB-14: No), the process proceeds to SB-9. Let

一方、制御部102は、ステップSB−14にて傾き補正対象の画像データに対応する全ての出力ブロックが、出力バッファ106bに出力されたと判定した場合(ステップSB−14:Yes)、処理を終了する。   On the other hand, if the control unit 102 determines in step SB-14 that all output blocks corresponding to the image data to be tilt corrected have been output to the output buffer 106b (step SB-14: Yes), the process ends. To do.

以上で、本実施の形態における傾き補正処理の一例の説明を終えるが、ここで、図11を参照し、本実施の形態と従来技術の差異について説明する。図11は、本実施の形態と従来技術におけるDRAMのアクセス効率および必要メモリの計測の一例を示したグラフである。図11Aには、データを一度に読み取る単位(すなわち、DRAMのバースト長)が64byteである場合の、スキュー角度に応じた、大容量低速メモリに対するDRAMのアクセス効率を示している。また、図11Bには、データを一度に読み取る単位が64byteである場合の、スキュー角度に応じた必要メモリを示している。また、従来技術2の3つのグラフは、出力ブロックサイズ(例えば、図5におけるNx/Nyを示しており、図11の従来技術2:8/8においては、8byte×8byteの出力ブロックを示している)の違いによる結果を示している。   This is the end of the description of the example of the inclination correction processing in the present embodiment. Here, the difference between the present embodiment and the prior art will be described with reference to FIG. FIG. 11 is a graph showing an example of DRAM access efficiency and measurement of required memory in the present embodiment and the prior art. FIG. 11A shows the DRAM access efficiency with respect to the large-capacity low-speed memory according to the skew angle when the unit for reading data at once (that is, the burst length of the DRAM) is 64 bytes. FIG. 11B shows a necessary memory corresponding to the skew angle when the unit for reading data at a time is 64 bytes. In addition, the three graphs of the prior art 2 show the output block size (for example, Nx / Ny in FIG. 5, and the prior art 2: 8/8 in FIG. 11 shows an output block of 8 bytes × 8 bytes. The result by the difference is.

図11に示すように、従来技術1では、スキュー角度が小さい場合、DRAMアクセス効率が一番良いが、スキュー角度のわずかな増加によって、DRAMアクセス効率が急激に低下するとともに(図11A)、メモリもほぼ一定の大きい値を必要としていた(図11B)。また、従来技術2では、出力ブロックサイズが小さい場合(図11Bの従来技術2:8/8、従来技術2:16/16)、必要メモリを小さく抑えることができるが、大容量低速メモリへのアクセス回数を多くする必要があるため、DRAMアクセス効率もスキュー角度に関係なく低いという結果であった(図11A)。また、従来技術2では、出力ブロックサイズが大きい場合(図11Bの従来技術2:32/32)、スキュー角度が大きい場合でも、DRAMアクセス効率の減少を小さく抑えることができるが(図11A)、スキュー角度が小さい場合であっても大きなメモリサイズを必要とし、スキュー角度に比例してメモリサイズも必要となるという結果であった(図11B)。一方、本方式では、スキュー角度に応じて(図11のスキュー角度9度付近)入力バッファの使用方法を変更するため、DRAMアクセス効率をある程度保持しながら(図11A)、必要とするメモリサイズを抑えることができる(図11B)、画像処理装置を提供することができる。   As shown in FIG. 11, in the prior art 1, when the skew angle is small, the DRAM access efficiency is the best, but with a slight increase in the skew angle, the DRAM access efficiency rapidly decreases (FIG. 11A) and the memory However, a large constant value was required (FIG. 11B). Further, in the conventional technique 2, when the output block size is small (conventional technique 2: 8/8, conventional technique 2: 16/16 in FIG. 11B), the required memory can be suppressed to a small size. Since it is necessary to increase the number of accesses, the DRAM access efficiency is low regardless of the skew angle (FIG. 11A). Further, in the conventional technique 2, when the output block size is large (conventional technique 2: 32/32 in FIG. 11B), even when the skew angle is large, the decrease in DRAM access efficiency can be suppressed to a small level (FIG. 11A). Even when the skew angle is small, a large memory size is required, and the memory size is also required in proportion to the skew angle (FIG. 11B). On the other hand, in this method, since the method of using the input buffer is changed according to the skew angle (near the skew angle of 9 degrees in FIG. 11), the required memory size is maintained while maintaining the DRAM access efficiency to some extent (FIG. 11A). An image processing apparatus that can be suppressed (FIG. 11B) can be provided.

[他の実施の形態]
さて、これまで本発明の実施の形態について説明したが、本発明は、上述した実施の形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてよいものである。
[Other embodiments]
Although the embodiments of the present invention have been described so far, the present invention is not limited to the above-described embodiments, but can be applied to various different embodiments within the scope of the technical idea described in the claims. It may be implemented.

例えば、画像処理装置100がスタンドアローンの形態で処理を行う場合を一例に説明したが、画像処理装置100とは別筐体で構成されるクライアント端末からの要求に応じて処理を行い、その処理結果を当該クライアント端末に返却するように構成してもよい。   For example, the case where the image processing apparatus 100 performs processing in a stand-alone form has been described as an example. However, processing is performed in response to a request from a client terminal configured with a separate housing from the image processing apparatus 100, and the processing is performed. You may comprise so that a result may be returned to the said client terminal.

また、実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。   In addition, among the processes described in the embodiment, all or part of the processes described as being automatically performed can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method.

このほか、上記文献中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。   In addition, unless otherwise specified, the processing procedures, control procedures, specific names, information including registration data for each processing, parameters such as search conditions, screen examples, and database configurations shown in the above documents and drawings Can be changed arbitrarily.

また、画像処理装置100に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。   Further, regarding the image processing apparatus 100, each illustrated component is functionally conceptual and does not necessarily need to be physically configured as illustrated.

例えば、画像処理装置100の各装置が備える処理機能、特に制御部102にて行われる各処理機能については、その全部または任意の一部を、CPU(Central Processing Unit)および当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、後述する記録媒体に記録されており、必要に応じて画像処理装置100に機械的に読み取られる。すなわち、ROMまたはHD等の記憶部106は、OS(Operating System)として協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部102を構成する。   For example, the processing functions provided in each device of the image processing apparatus 100, in particular, the processing functions performed by the control unit 102, all or any part thereof are interpreted and executed by a CPU (Central Processing Unit) and the CPU. It may be realized by a program to be executed, or may be realized as hardware by wired logic. The program is recorded on a recording medium to be described later, and is mechanically read by the image processing apparatus 100 as necessary. That is, the storage unit 106 such as a ROM or HD stores a computer program for performing various processes by giving instructions to the CPU in cooperation with an OS (Operating System). This computer program is executed by being loaded into the RAM, and constitutes the control unit 102 in cooperation with the CPU.

また、このコンピュータプログラムは、画像処理装置100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。   The computer program may be stored in an application program server connected to the image processing apparatus 100 via an arbitrary network, and may be downloaded in whole or in part as necessary. is there.

また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納することもできる。ここで、この「記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、EPROM、EEPROM、CD−ROM、MO、DVD、Blu−ray Disc等の任意の「可搬用の物理媒体」、あるいは、LAN、WAN、インターネットに代表されるネットワークを介してプログラムを送信する場合の通信回線や搬送波のように、短期にプログラムを保持する「通信媒体」を含むものとする。   The program according to the present invention can also be stored in a computer-readable recording medium. Here, the “recording medium” is an arbitrary “portable physical medium” such as a flexible disk, a magneto-optical disk, a ROM, an EPROM, an EEPROM, a CD-ROM, an MO, a DVD, a Blu-ray Disc, or the like. It includes a “communication medium” that holds a program in a short period of time, such as a communication line or a carrier wave when a program is transmitted via a network represented by a LAN, WAN, or the Internet.

また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施の形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。   The “program” is a data processing method described in an arbitrary language or description method, and may be in any format such as source code or binary code. Note that the “program” is not necessarily limited to a single configuration, and functions are achieved in cooperation with a separate configuration such as a plurality of modules and libraries or a separate program represented by the OS. Including things. Note that a well-known configuration and procedure can be used for a specific configuration for reading a recording medium, a reading procedure, an installation procedure after reading, and the like in each device described in the embodiment.

記憶部106に格納される各種のデータベース等は、RAM、SSD、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラムやテーブルやデータベースやウェブページ用ファイル等を格納する。   The various databases and the like stored in the storage unit 106 are memory devices such as RAM, SSD, and ROM, fixed disk devices such as hard disks, and storage means such as flexible disks and optical disks. Stores programs, tables, databases, web page files, etc.

また、画像処理装置100は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置を接続し、該情報処理装置に本発明の方法を実現させるソフトウェア(プログラム、データ等を含む)を実装することにより実現してもよい。   In addition, the image processing apparatus 100 connects an information processing apparatus such as a known personal computer or workstation, and implements software (including programs, data, and the like) that realizes the method of the present invention in the information processing apparatus. It may be realized.

更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。   Furthermore, the specific form of distribution / integration of the devices is not limited to that shown in the figure, and all or a part of them may be functional or physical in arbitrary units according to various additions or according to functional loads. Can be distributed and integrated.

以上詳細に説明したように、本発明によれば、スキュー角度が大きくなっても、DRAMへのアクセス効率の著しい低下をさせずに、必要メモリ容量の増加も抑制することができる画像処理装置、傾き補正方法、および、プログラムを提供することができ、特にスキャナで読み取った画像に関する画像処理分野で実施する場合に極めて有用である。   As described above in detail, according to the present invention, even if the skew angle increases, the image processing apparatus capable of suppressing an increase in the required memory capacity without significantly reducing the access efficiency to the DRAM, An inclination correction method and a program can be provided, and is particularly useful when implemented in the field of image processing relating to an image read by a scanner.

100 画像処理装置
102 制御部
102a 回転角度取得部
102b 方式切替制御部
102c 回転処理部
102d 画像圧縮部
102e 書込み制御部
106 記憶部
106a 入力バッファ
106b 出力バッファ
108 入出力制御インターフェース部
112 画像読取装置
DESCRIPTION OF SYMBOLS 100 Image processing apparatus 102 Control part
102a Rotation angle acquisition unit
102b Method switching control unit
102c Rotation processing unit
102d Image compression unit
102e Write control unit 106 Storage unit
106a Input buffer
106b Output buffer 108 Input / output control interface unit 112 Image reading device

Claims (7)

画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、上記画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、上記画像データの傾き補正を行う画像処理装置であって、
上記記憶部は、入力バッファと出力バッファとを備え、
上記制御部は、
上記画像データの補正回転角度を取得する回転角度取得手段と、
上記回転角度取得手段により取得された上記補正回転角度に応じて、予め定めたブロック数の上記部分データを上記入力バッファに読込むように上記記憶部のアドレス制御を行う第1アドレス制御方式と、上記ブロックの上記部分データを上記入力バッファに随時読込むように上記記憶部のアドレス制御を行う第2アドレス制御方式とを切り替える方式切替制御手段と、
上記入力バッファに書き込まれた上記部分データの回転処理を行う回転処理手段と、
上記回転処理手段により回転処理された上記部分データを上記出力バッファに書込むように上記記憶部のアドレス制御を行う書込み制御手段と、
を備えたことを特徴とする、画像処理装置。
By including at least a storage unit that stores image data read by the image reading device and a control unit, dividing the image data into partial data in units of blocks, and performing rotation processing in units of the blocks, An image processing apparatus for correcting inclination of image data,
The storage unit includes an input buffer and an output buffer,
The control unit
Rotation angle acquisition means for acquiring a corrected rotation angle of the image data;
A first address control method for performing address control of the storage unit so as to read a predetermined number of blocks of the partial data into the input buffer according to the correction rotation angle acquired by the rotation angle acquisition means; and the block System switching control means for switching between a second address control system for performing address control of the storage unit so as to read the partial data in the input buffer as needed.
Rotation processing means for performing rotation processing of the partial data written in the input buffer;
Write control means for performing address control of the storage unit so as to write the partial data rotated by the rotation processing means to the output buffer;
An image processing apparatus comprising:
請求項1に記載の画像処理装置において、
上記制御部は、
上記回転処理手段により回転処理された上記部分データに対してデータ圧縮を行う画像圧縮手段、
を更に備えたことを特徴とする、画像処理装置。
The image processing apparatus according to claim 1.
The control unit
Image compression means for performing data compression on the partial data rotated by the rotation processing means;
An image processing apparatus further comprising:
請求項2に記載の画像処理装置において、
上記出力バッファのブロックサイズは、8×8ピクセルであり、
上記画像圧縮手段は、上記部分データに対してJPEG圧縮することを特徴とする、画像処理装置。
The image processing apparatus according to claim 2,
The block size of the output buffer is 8 × 8 pixels,
An image processing apparatus, wherein the image compression means performs JPEG compression on the partial data.
請求項1から3のいずれか1つに記載の画像処理装置において、
上記書込み制御手段は、
上記部分データを上記画像データの少なくとも一部に重ねて上書きするように上記記憶部のアドレス制御を行うことを特徴とする、画像処理装置。
The image processing apparatus according to any one of claims 1 to 3,
The write control means includes
An image processing apparatus, wherein address control of the storage unit is performed so that the partial data is overwritten on at least a part of the image data.
請求項1から4のいずれか1つに記載の画像処理装置において、
上記入力バッファは、
当該入力バッファに格納される上記部分データの少なくとも一部の画像および/または上記画像データにおける座標情報を記憶することを特徴とする、画像処理装置。
In the image processing device according to any one of claims 1 to 4,
The input buffer is
An image processing apparatus that stores at least a partial image of the partial data stored in the input buffer and / or coordinate information in the image data.
画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、上記画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、上記画像データの傾き補正を行う画像処理装置において実行される傾き補正方法であって、
上記記憶部は、入力バッファと出力バッファとを備えており、
上記制御部において実行される、
上記画像データの補正回転角度を取得する回転角度取得ステップと、
上記回転角度取得ステップにて取得された上記補正回転角度に応じて、予め定めたブロック数の上記部分データを上記入力バッファに読み込むように上記記憶部のアドレス制御を行う第1アドレス制御方式と、上記ブロックの上記部分データを上記入力バッファに随時読み込むように上記記憶部のアドレス制御を行う第2アドレス制御方式とを切り替える方式切替制御ステップと、
上記入力バッファに書き込まれた上記部分データの回転処理を行う回転処理ステップと、
上記回転処理ステップにより回転処理された上記部分データを上記出力バッファに書込むように上記記憶部のアドレス制御を行う書込み制御ステップと、
を含むことを特徴とする、傾き補正方法。
By including at least a storage unit that stores image data read by the image reading device and a control unit, dividing the image data into partial data in units of blocks, and performing rotation processing in units of the blocks, A tilt correction method executed in an image processing apparatus that performs tilt correction of image data,
The storage unit includes an input buffer and an output buffer,
Executed in the control unit,
A rotation angle acquisition step of acquiring a correction rotation angle of the image data;
A first address control method for performing address control of the storage unit so as to read the partial data of a predetermined number of blocks into the input buffer according to the correction rotation angle acquired in the rotation angle acquisition step; A method switching control step for switching between a second address control method for performing address control of the storage unit so that the partial data of the block is read into the input buffer as needed;
A rotation processing step for rotating the partial data written in the input buffer;
A write control step for performing address control of the storage unit so as to write the partial data rotated by the rotation processing step to the output buffer;
A tilt correction method comprising:
画像読取装置にて読み取られた画像データを記憶する記憶部と、制御部と、を少なくとも備え、上記画像データをブロック単位の部分データに分割し、当該ブロック単位で回転処理を行うことにより、上記画像データの傾き補正を行う画像処理装置において実行させるためのプログラムであって、
上記記憶部は、入力バッファと出力バッファとを備えており、
上記制御部において、
上記画像データの補正回転角度を取得する回転角度取得ステップと、
上記回転角度取得ステップにて取得された上記補正回転角度に応じて、予め定めたブロック数の上記部分データを上記入力バッファに読み込むように上記記憶部のアドレス制御を行う第1アドレス制御方式と、上記ブロックの上記部分データを上記入力バッファに随時読み込むように上記記憶部のアドレス制御を行う第2アドレス制御方式とを切り替える方式切替制御ステップと、
上記入力バッファに書き込まれた上記部分データの回転処理を行う回転処理ステップと、
上記回転処理ステップにより回転処理された上記部分データを上記出力バッファに書込むように上記記憶部のアドレス制御を行う書込み制御ステップと、
を実行させるためのプログラム。
By including at least a storage unit that stores image data read by the image reading device and a control unit, dividing the image data into partial data in units of blocks, and performing rotation processing in units of the blocks, A program for execution in an image processing apparatus that performs inclination correction of image data,
The storage unit includes an input buffer and an output buffer,
In the control unit,
A rotation angle acquisition step of acquiring a correction rotation angle of the image data;
A first address control method for performing address control of the storage unit so as to read the partial data of a predetermined number of blocks into the input buffer according to the correction rotation angle acquired in the rotation angle acquisition step; A method switching control step for switching between a second address control method for performing address control of the storage unit so that the partial data of the block is read into the input buffer as needed;
A rotation processing step for rotating the partial data written in the input buffer;
A write control step for performing address control of the storage unit so as to write the partial data rotated by the rotation processing step to the output buffer;
A program for running
JP2009052250A 2009-03-05 2009-03-05 Image processing apparatus, tilt correction method, and program Active JP5124509B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009052250A JP5124509B2 (en) 2009-03-05 2009-03-05 Image processing apparatus, tilt correction method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009052250A JP5124509B2 (en) 2009-03-05 2009-03-05 Image processing apparatus, tilt correction method, and program

Publications (2)

Publication Number Publication Date
JP2010205143A true JP2010205143A (en) 2010-09-16
JP5124509B2 JP5124509B2 (en) 2013-01-23

Family

ID=42966529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009052250A Active JP5124509B2 (en) 2009-03-05 2009-03-05 Image processing apparatus, tilt correction method, and program

Country Status (1)

Country Link
JP (1) JP5124509B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015198425A (en) * 2014-04-03 2015-11-09 キヤノン株式会社 Image processing apparatus, image processing method and program
JP2015201677A (en) * 2014-04-04 2015-11-12 キヤノン株式会社 Image processing system and image processing method
JP2018060471A (en) * 2016-10-07 2018-04-12 キヤノン株式会社 Image processing apparatus and control method
JP2018157492A (en) * 2017-03-21 2018-10-04 富士ゼロックス株式会社 Image processing apparatus, image processing method and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0774960A (en) * 1993-06-25 1995-03-17 Casio Comput Co Ltd Picture data processor and its method
JP2002094764A (en) * 2000-09-11 2002-03-29 Matsushita Graphic Communication Systems Inc Skew correction unit and image forming device
JP2004064180A (en) * 2002-07-25 2004-02-26 Ricoh Co Ltd Image processor, program, and storing medium
JP2005086598A (en) * 2003-09-10 2005-03-31 Fuji Xerox Co Ltd Device, method, program, and circuit for processing image
JP2006203710A (en) * 2005-01-24 2006-08-03 Konica Minolta Business Technologies Inc Image processing unit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0774960A (en) * 1993-06-25 1995-03-17 Casio Comput Co Ltd Picture data processor and its method
JP2002094764A (en) * 2000-09-11 2002-03-29 Matsushita Graphic Communication Systems Inc Skew correction unit and image forming device
JP2004064180A (en) * 2002-07-25 2004-02-26 Ricoh Co Ltd Image processor, program, and storing medium
JP2005086598A (en) * 2003-09-10 2005-03-31 Fuji Xerox Co Ltd Device, method, program, and circuit for processing image
JP2006203710A (en) * 2005-01-24 2006-08-03 Konica Minolta Business Technologies Inc Image processing unit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015198425A (en) * 2014-04-03 2015-11-09 キヤノン株式会社 Image processing apparatus, image processing method and program
JP2015201677A (en) * 2014-04-04 2015-11-12 キヤノン株式会社 Image processing system and image processing method
JP2018060471A (en) * 2016-10-07 2018-04-12 キヤノン株式会社 Image processing apparatus and control method
JP2018157492A (en) * 2017-03-21 2018-10-04 富士ゼロックス株式会社 Image processing apparatus, image processing method and program

Also Published As

Publication number Publication date
JP5124509B2 (en) 2013-01-23

Similar Documents

Publication Publication Date Title
CN108492243B (en) Image rotation device, system and method based on block processing
JP5593060B2 (en) Image processing apparatus and method of operating image processing apparatus
CN111369446B (en) Image rotation method and device
JP5124509B2 (en) Image processing apparatus, tilt correction method, and program
JP5706754B2 (en) Data processing apparatus and data processing method
JP2009099098A (en) Computer graphics drawing device and drawing method
US10163229B2 (en) Rendering of data sets comprising multiple-resolution samples
CN111625515A (en) Method and device for processing operation request of aggregated small files
JP4380740B2 (en) Image processing device
JP2006203702A (en) Image forming apparatus
US8850118B2 (en) Circuit and method for dynamically changing reference value for address counter based on cache determination
JP6324174B2 (en) Image processing apparatus and image processing method
JP4952116B2 (en) Arithmetic processing system, control program
JP4380741B2 (en) Image processing device
JP2007226330A (en) Image processor, image processing method, and program for making computer execute the same method
JP6563358B2 (en) Image processing apparatus and image processing method
JP6230468B2 (en) Image processing apparatus, image processing method, and program
CN110072032B (en) Image processing apparatus
US11314995B2 (en) Image processing apparatus, image processing method, and storage medium
US11195249B2 (en) Processing device having a row number determining unit
JP2011139165A (en) Image processing apparatus and processing method thereof
JP5349931B2 (en) Information processing apparatus, information processing method, and program
JP6228522B2 (en) Image processing device
JP2005250996A (en) Image processor
JP2024086105A (en) IMAGE PROCESSING APPARATUS, CONTROL METHOD FOR IMAGE PROCESSING APPARATUS,

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120924

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: 20121016

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: 20121029

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

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5124509

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150