[go: up one dir, main page]

JP2008294831A - Image distortion correction device - Google Patents

Image distortion correction device Download PDF

Info

Publication number
JP2008294831A
JP2008294831A JP2007139359A JP2007139359A JP2008294831A JP 2008294831 A JP2008294831 A JP 2008294831A JP 2007139359 A JP2007139359 A JP 2007139359A JP 2007139359 A JP2007139359 A JP 2007139359A JP 2008294831 A JP2008294831 A JP 2008294831A
Authority
JP
Japan
Prior art keywords
image
tile
vector
character
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007139359A
Other languages
Japanese (ja)
Inventor
Kazuhiro Yoshida
和広 吉田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2007139359A priority Critical patent/JP2008294831A/en
Publication of JP2008294831A publication Critical patent/JP2008294831A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that not only sufficient correction can not be performed but image quality is deteriorated when distortion of a scanned image is corrected in the conventional distortion correction processing method. <P>SOLUTION: The image distortion correction device which corrects distortion of the scanned image is provided with: an image decision means for deciding whether the scanned image is a character image or a photograph image by every block with predetermined size; a font information acquisition part which acquires font information to a block decided as the character image in an image inversion means; a skew angle detection means for comparing the font information with the scanned image to detect a skew angle for every block; a distortion correction performance means for performing distortion correction for every block according to the skew angle detected by the skew angle detection means; a vector image conversion part which converts the font information into a vector image; and a means for developing the vector image with a block with the predetermined size into raster image data. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は画像歪み補正装置に関する。   The present invention relates to an image distortion correction apparatus.

フラットベッドスキャナを用いて読み取る原稿の多くはシート状の原稿であり、コンタクトガラス上に開閉自在の圧板を設け、コンタクトガラス上に原稿を載置した後に圧板を閉じて原稿をスキャンするようにしている。しかし、原稿としてはシート状のものに限られず、ブック原稿(本、冊子など)も原稿として扱われることがあり、そのような場合にもコンタクトガラス上にブック原稿を載置し、原稿をスキャンすることになる。   Many originals read using a flatbed scanner are sheet-like originals, and an openable / closable pressure plate is provided on the contact glass. After placing the original on the contact glass, the pressure plate is closed and the original is scanned. Yes. However, the original is not limited to a sheet, and book originals (books, booklets, etc.) may be handled as originals. In such cases, the book original is placed on the contact glass and the original is scanned. Will do.

ところが、原稿としてブック原稿を用いた場合には、ブック原稿のページ綴じ部がコンタクトガラスから浮き上がってしまう。このようにブック原稿のページ綴じ部がコンタクトガラスから浮き上がってしまった場合には、ページ綴じ部が焦点面から離れてしまうため、浮き上がった部分のスキャン画像には、画像歪み、影、文字ボケなどの画像劣化が発生する。劣化した画像のページ綴じ部は読みにくく、OCRにより文字認識処理を行うときの認識率が著しく低下する。特に、厚手製本ではその割合が高く、また、ブック原稿のページ綴じ部を焦点面から離れないように加圧作業した場合には、ブック原稿自体を破損してしまうこともある。   However, when a book document is used as a document, the page binding portion of the book document is lifted from the contact glass. In this way, if the page binding part of the book document is lifted from the contact glass, the page binding part is moved away from the focal plane, so the scanned image of the lifted part has image distortion, shadow, character blur, etc. Image degradation occurs. The page binding portion of the deteriorated image is difficult to read, and the recognition rate when performing character recognition processing by OCR is significantly reduced. In particular, the ratio is high in thick bookbinding, and the book document itself may be damaged when the pressure is applied so that the page binding portion of the book document is not separated from the focal plane.

このような問題を解決すべく、画像の濃度情報から物体の3次元形状を推定する方法を用いて、画像の歪みを補正する方法が提案されている。このような画像の濃度情報から物体の3次元形状を推定する方法としては、非特許文献1に記載されているShape from Shadingと呼ばれる方法が代表的な例である。   In order to solve such a problem, a method of correcting image distortion using a method of estimating the three-dimensional shape of an object from image density information has been proposed. As a method for estimating the three-dimensional shape of an object from such image density information, a method called Shape from Shading described in Non-Patent Document 1 is a typical example.

しかしながら、前述したShape from Shadingと呼ばれる方法によれば、計算量が多く、歪み補正処理の計算時間が長いので、実用化は困難である。   However, according to the method called “Shape from Shading” described above, the amount of calculation is large, and the calculation time of the distortion correction processing is long.

また、特開平5-161002号公報に記載されている方法によれば、三角測量方式により書籍の形状を測定するための特別な形状計測装置が必要になるため、適当ではない。   Further, according to the method described in Japanese Patent Application Laid-Open No. 5-110002, a special shape measuring device for measuring the shape of a book by a triangulation method is required, which is not appropriate.

そこで、近年においては、少ない計算量で有効に歪みを補正すべく、読み取りスキャン画像のページ外形の形状を用いて書籍表面の3次元形状を推定する画像補正装置が提案されている(例えば、特開平11-41455号公報等を参照)。   Therefore, in recent years, an image correction apparatus that estimates the three-dimensional shape of the book surface using the shape of the page outline of the read scan image has been proposed in order to effectively correct the distortion with a small amount of calculation (for example, a special feature). (See Kaihei 11-41455).

図16に従来のMFPシステムの例を表す図を示す。
特開平5−161002号公報 特開平11−41455号公報 T. Wada, H. Uchida and T. Matsuyama, "Shape from Shading with Interreflections under a Proximal Light Source: Distortion-Free Copying of an Unfolded Book", International Journal Computer Vision 24(2), 125-135(1997)
FIG. 16 shows a diagram illustrating an example of a conventional MFP system.
Japanese Patent Laid-Open No. 5-161002 JP 11-41455 A T. Wada, H. Uchida and T. Matsuyama, "Shape from Shading with Interreflections under a Proximal Light Source: Distortion-Free Copying of an Unfolded Book", International Journal Computer Vision 24 (2), 125-135 (1997)

ところで、コンタクトガラス上にブック原稿をセットする場合、ブック原稿の画像を下向きにしてセットする必要があり、操作者からは原稿の裏面しか見ることが出来ないようになっている。そのため、スキャン画像には、図17に示すように、ブック原稿のページ綴じ部が主走査方向に対して斜めに傾く、いわゆるスキューが生じたスキャン画像aや、図18に示すように、ブック原稿のページ綴じ部の浮き上がり方(コンタクトガラスからの距離)がページの上下で異なるために「ハの字」のような形状になるスキャン画像bが発生する場合がある。   By the way, when setting a book document on the contact glass, it is necessary to set the book document image face down, so that the operator can only see the back side of the document. Therefore, as shown in FIG. 17, the scan image includes a scan image a in which the page binding portion of the book document is inclined with respect to the main scanning direction, which is so-called skew, and a book document as shown in FIG. Since the method of lifting the page binding part (distance from the contact glass) differs between the top and bottom of the page, a scan image b having a shape like a “C” may occur.

しかしながら、従来の歪み補正処理方式においては、これらの状況を考慮していないので、このようなスキャン画像の歪みを補正すると十分な補正が出来ないばかりか、むしろ画質が劣化してしまうという問題があった。   However, since the conventional distortion correction processing method does not take these situations into consideration, there is a problem that not only the correction cannot be performed sufficiently but the image quality deteriorates if the distortion of the scanned image is corrected. there were.

上記課題を解決するために、本発明の第1の態様は、画像読み取りの主走査方向に対してページ綴じ部を平行にしてコンタクトガラスの上または下に接触したブック原稿を画像読み取り手段により読み取ったスキャン画像の歪みを補正する画像歪み補正装置において、
前記画像読み取り手段で読み取ったスキャン画像を所定の大きさのブロック毎に文字画像であるか写真画像であるかの判定をする画像判定手段と、
前記画像反転手段において文字画像であると判定されたブロックに対しフォント情報を取得するフォント情報取得部と、
前記フォント情報取得部にて取得したフォント情報と前記スキャン画像を比較し、前記ブロック毎にスキュー角度を検出するスキュー角度検出手段と、
前記スキュー角度検出手段により検出された前記スキュー角度に応じて前記ブロック毎に歪み補正を行う歪み補正実行手段と、
前記フォント情報取得部にて取得されたフォント情報をベクタ画像に変換するベクタ画像変換部と、
前記所定の大きさのブロックのベクタ画像をラスター画像データに展開する手段と
を設けたものである。
In order to solve the above-described problems, the first aspect of the present invention reads a book document that contacts the top or bottom of the contact glass with the page binding portion parallel to the main scanning direction of image reading by the image reading means. In the image distortion correction device for correcting the distortion of the scanned image,
Image determination means for determining whether the scanned image read by the image reading means is a character image or a photographic image for each block of a predetermined size;
A font information acquisition unit that acquires font information for a block that is determined to be a character image by the image inversion means;
A skew angle detection unit that compares the scanned image with the font information acquired by the font information acquisition unit, and detects a skew angle for each block;
Distortion correction execution means for correcting distortion for each block according to the skew angle detected by the skew angle detection means;
A vector image conversion unit that converts the font information acquired by the font information acquisition unit into a vector image;
Means for expanding the vector image of the block of the predetermined size into raster image data.

以上、説明したように本発明によれば、画像読み取りの主走査方向に対してページ綴じ部を平行にしてコンタクトガラスの上または下に接触したブック原稿を画像読み取り手段により読み取ったスキャン画像の歪みを補正する画像歪み補正装置において、前記画像読み取り手段で読み取ったスキャン画像を所定の大きさのブロック毎に文字画像であるか写真画像であるかの判定をする画像判定手段と、前記画像反転手段において文字画像であると判定されたブロックに対しフォント情報を取得するフォント情報取得部と、前記フォント情報取得部にて取得したフォント情報と前記スキャン画像を比較し、前記ブロック毎にスキュー角度を検出するスキュー角度検出手段と、前記スキュー角度検出手段により検出された前記スキュー角度に応じて前記ブロック毎に歪み補正を行う歪み補正実行手段と、前記フォント情報取得部にて取得されたフォント情報をベクタ画像に変換するベクタ画像変換部と、前記所定の大きさのブロックのベクタ画像をラスター画像データに展開する手段とを備えることにより、スキャン画像を所定の大きさごとに切り分けたブロック毎にスキュー角度を求め、前記ブロック毎に最適な歪み補正処理をすることが可能となり、より精度の高い歪み補正処理を行うことが出来る。   As described above, according to the present invention, the distortion of a scanned image obtained by reading a book document contacting the top or bottom of the contact glass with the page binding portion parallel to the main scanning direction of image reading is read by the image reading unit. In the image distortion correction apparatus for correcting image, the image determination means for determining whether the scanned image read by the image reading means is a character image or a photographic image for each block of a predetermined size, and the image inversion means The font information acquisition unit that acquires font information for a block that is determined to be a character image in step 1 and the font information acquired by the font information acquisition unit are compared with the scanned image, and a skew angle is detected for each block. According to the skew angle detected by the skew angle detecting means and the skew angle detected by the skew angle detecting means. A distortion correction executing means for performing distortion correction for each block; a vector image converting unit for converting the font information acquired by the font information acquiring unit into a vector image; and a vector image of the block of the predetermined size is rasterized. And a means for developing the image data, it is possible to obtain a skew angle for each block obtained by dividing the scan image into predetermined sizes, and to perform an optimal distortion correction process for each block, thereby achieving more accurate accuracy. High distortion correction processing can be performed.

<実施形態1>
図1は本発明の実施形態1の画像歪み補正装置の構成を示すブロック図である。
<Embodiment 1>
FIG. 1 is a block diagram showing the configuration of the image distortion correction apparatus according to the first embodiment of the present invention.

[MFP装置概要]
以下に図を用いて、本発明の装置及びその動作について詳細に説明する。
[Outline of MFP equipment]
Hereinafter, the apparatus of the present invention and its operation will be described in detail with reference to the drawings.

図1は、本発明に係るMFPコントローラの第1実施形態を示すブロック図である。   FIG. 1 is a block diagram showing a first embodiment of an MFP controller according to the present invention.

MFPコントローラ1はシステムバスブリッジ(SBB)2によりCPU3、メモリコントローラ(MC)4、汎用バス6、タイル⇔ページベクタ変換部13、ラスタ→タイルベクタ変換部14、タイルベクタ展開部(RIP)18、が接続されている。RIP18は複数の小展開部(μRIPa〜d)で構成される。   The MFP controller 1 is connected to the CPU 3, the memory controller (MC) 4, the general-purpose bus 6, the tile tile page vector conversion unit 13, the raster → tile vector conversion unit 14, and the tile vector development unit (RIP) 18 through a system bus bridge (SBB) 2. Has been. The RIP 18 is composed of a plurality of small development parts (μRIPa to d).

MC4の先にはシステムメモリ(Memory)5が接続されており、画像データを一時記憶するための媒体として使われる。   A system memory (Memory) 5 is connected to the tip of the MC 4 and is used as a medium for temporarily storing image data.

汎用バス6には画像データを蓄積するためのHDD8を制御するハードディスクコントローラ(HDDCont)7及び操作部(LCD)10を制御する操作部コントローラ(LCDC)9及び、MFPが接続されているネットワーク12を介して、外部機器間との画像データの転送を行うインターフェースになるLANI/F11が接続されている。   The general-purpose bus 6 includes a hard disk controller (HDDCont) 7 that controls the HDD 8 for storing image data, an operation unit controller (LCDC) 9 that controls the operation unit (LCD) 10, and a network 12 to which the MFP is connected. The LAN I / F 11 serving as an interface for transferring image data between external devices is connected.

ラスタ→タイルベクタ変換部14の先には画像処理部15が接続され、さらに画像処理部15にはスキャナ16及びプリンタ17が接続されている。   An image processing unit 15 is connected to the tip of the raster → tile vector conversion unit 14, and a scanner 16 and a printer 17 are connected to the image processing unit 15.

また、SBB2にはRIP18が接続され、その先にはRIP18から出力されるデータを記憶するローカルメモリ(LocalMemory)19が接続されている。   In addition, a RIP 18 is connected to the SBB2, and a local memory (LocalMemory) 19 for storing data output from the RIP 18 is connected to the SBB2.

コントローラ1でハンドリングされる画像データは、外部機器との入出力はページベクタ(PDL、PDF、SVGなど)、スキャナやプリンタとの入出力はラスターデータでインターフェースされる。コントローラ1では、従来のMFPと異なり、スキャン画像はタイルベクタ⇔ラスタラスタ→タイルベクタ変換部14でタイルベクタに変換される。また、DLデータはRIP18に接続されたローカルメモリ18に記憶される。従って、システムメモリ103上には、ページベクタとタイルベクタデータの2種類の画像のみが記憶される。つまり、画像サイズの大きいラスターデータ及びDLデータをシステムメモリ5に記憶する必要がなくなるため、システムメモリ上で確保しなければならない画像データ領域を削減することができる。   The image data handled by the controller 1 is interfaced with page vectors (PDL, PDF, SVG, etc.) for input / output with an external device, and raster data for input / output with a scanner or printer. In the controller 1, unlike a conventional MFP, the scanned image is converted into a tile vector by a tile vector / raster raster → tile vector conversion unit 14. The DL data is stored in the local memory 18 connected to the RIP 18. Accordingly, only two types of images of page vector and tile vector data are stored on the system memory 103. That is, since it is not necessary to store raster data and DL data having a large image size in the system memory 5, it is possible to reduce an image data area that must be secured on the system memory.

また、RIP18から出力されるDLデータはタイル単位に分割されたDLデータで記憶されるため、従来のページ単位のDLデータに比べ、非常に少ないメモリ容量で記憶できる。従って、ローカルメモリ19はオンチップ上に実装することが可能になり、メモリレイテンシを小さくできる。その結果、タイルデータ展開速度を高速化することが可能となる。かつ、タイリングされたデータのみを画像データとしてHDD8上に記憶すれば良いので、HDDへのアクセス速度のボトルネックが緩和され、データ処理の高速化が図れる。同時に、タイル化することによりRIPのコストダウンも可能となる。   In addition, since the DL data output from the RIP 18 is stored as DL data divided into tile units, it can be stored with a very small memory capacity compared to conventional DL data in page units. Therefore, the local memory 19 can be mounted on-chip, and the memory latency can be reduced. As a result, the tile data development speed can be increased. In addition, since only the tiled data needs to be stored on the HDD 8 as image data, the bottleneck of the access speed to the HDD is alleviated and the data processing can be speeded up. At the same time, the cost of RIP can be reduced by tiling.

より、高い処理能力が要求される場合は、RIP内に備えるμRIPを並列に複数実装することで処理能力を可変できる。すなわち、コントローラの処理能力がシンプルに調整できることから、スケーラビリティの確保が容易なシステムを構築できる。   When a higher processing capability is required, the processing capability can be varied by mounting a plurality of μRIPs provided in the RIP in parallel. That is, since the processing capacity of the controller can be simply adjusted, a system that can easily ensure scalability can be constructed.

以下に、本発明に係るMFPを動作させた時の各画像処理フローについて説明する。   Hereinafter, each image processing flow when the MFP according to the present invention is operated will be described.

[コピー]
図2にコピー動作させた時のMFP内のデータフローを示す。図2中に描かれた矢印はデータの流れを表す。実線で描かれた矢印はラスタ画像、破線で描かれた矢印はタイル化されたベクタ画像、1点鎖線で描かれた矢印はページ全体を記述したベクタ画像が流れることを意味する。ページベクタ及びタイルベクタ画像については、後述のタイル⇔ページベクタ変換部で詳細に説明する。
[copy]
FIG. 2 shows a data flow in the MFP when the copy operation is performed. The arrows drawn in FIG. 2 represent the flow of data. An arrow drawn with a solid line means a raster image, an arrow drawn with a broken line means a tiled vector image, and an arrow drawn with an alternate long and short dash line means that a vector image describing the entire page flows. The page vector and tile vector image will be described in detail in a tile-page vector conversion unit described later.

(S21):
操作部(LCD)10より、ユーザーがコピー開始を指示すると、スキャナ14は原稿画像の読み取り動作を開始する。
(S21):
When the user gives an instruction to start copying from the operation unit (LCD) 10, the scanner 14 starts a document image reading operation.

スキャナ14より画像処理部13へ入力された画像(R、G、B)は画像処理ブロックのクロック同期に周波数変換された後、以下の処理をされる。   The image (R, G, B) input from the scanner 14 to the image processing unit 13 is subjected to the following processing after being frequency-converted to the clock synchronization of the image processing block.

CCDセンサのラインピッチや色収差などスキャナ特性の補正。   Correction of scanner characteristics such as CCD sensor line pitch and chromatic aberration.

色空間補正やシャープネスといった入力画像データの画質補正。   Image quality correction of input image data such as color space correction and sharpness.

入力画像データの枠消しやブック枠消しといった、画像加工。   Image processing such as erasing input image data and erasing book frames.

(S22):
前記画像処理が終了し、画像処理部13から出力された画像データはラスタ→タイルベクタ変換部12に入力され、タイルベクタ変換処理を行う。すなわち、画像データを所定の大きさのブロックに分割し、各ブロック内のラスター画像に対して、ベクトル化処理を行いブロック単位のベクタ画像を生成する。
(S22):
When the image processing is completed, the image data output from the image processing unit 13 is input to the raster-to-tile vector conversion unit 12 to perform tile vector conversion processing. That is, the image data is divided into blocks of a predetermined size, and a vectorization process is performed on the raster image in each block to generate a vector image in units of blocks.

生成されたベクタ画像はSBB2によりバスの調停を受け、システムメモリ5へのバス権を取得し、MC4を介して、前記タイルベクタをシステムメモリ5に記憶させる。(なお、SBB2経由でデータパスが接続される場合は、基本的にバスの調停を受け、バス権を取得する手続きを踏むが以降のフロー説明では省略する。)
(S23):
システムメモリ5に記憶されたタイルベクタ画像は、HDDCont7とMC4を介してSBB2経由でHDD8に記憶される。HDD8に画像データを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、MFP内に保存文書として記憶したりすることができる。
The generated vector image is subjected to bus arbitration by the SBB 2, acquires the bus right to the system memory 5, and stores the tile vector in the system memory 5 through the MC 4. (Note that when a data path is connected via SBB2, the procedure for acquiring the bus right is basically received after bus arbitration, but this is omitted in the subsequent flow description.)
(S23):
The tile vector image stored in the system memory 5 is stored in the HDD 8 via the SBB 2 via the HDDCont 7 and the MC 4. By storing image data in the HDD 8, sorting can be performed when copying a plurality of originals, and the pages can be output in a different order or stored as a saved document in the MFP.

(S24):
HDD8に記憶されたタイルベクタ画像はプリンタ15内の不図示のCPUから送られてくるプリンタレディのタイミングに合わせて、HDDCont7により読み出され、SBB2、MC4を経由してシステムメモリ5に一時的に記憶される。
(S24):
The tile vector image stored in the HDD 8 is read out by the HDDCont 7 in accordance with the printer ready timing sent from the CPU (not shown) in the printer 15 and temporarily stored in the system memory 5 via the SBB 2 and MC 4. Is done.

仮に、読み取った画像データをHDD8からダイレクトにプリンタへ読み出した場合、HDD8のアクセススピードが律則になったり、汎用バス6のバスの混雑度合によりプリンタに同期して出力することが保証できなくなる。そのため、プリンタに同期してデータ転送を行う前に、システムメモリ5にページデータをスプールしておくことで、リアルタイムなスループットを保証する。   If the read image data is directly read from the HDD 8 to the printer, it cannot be guaranteed that the access speed of the HDD 8 becomes regular, or that it is output in synchronization with the printer due to the degree of congestion of the general-purpose bus 6. Therefore, spooling page data in the system memory 5 before data transfer in synchronization with the printer guarantees real-time throughput.

(S25):
システムメモリ5に記憶されたタイルベクタ画像は、プリンタ15からコントローラ1に送られる起動信号に従って、MC4によって読み出され、SBB2を介してRIP18に転送される。
(S25):
The tile vector image stored in the system memory 5 is read by the MC 4 in accordance with an activation signal sent from the printer 15 to the controller 1 and transferred to the RIP 18 via the SBB 2.

RIP18ではまず、タイルベクタを解析し、タイル単位の描画オブジェクト(タイルDLデータ)の生成(インタプリット)を行う。生成されたタイルDLデータはローカルメモリ18に一旦記憶される。   First, the RIP 18 analyzes a tile vector and generates (interprets) a drawing object (tile DL data) in units of tiles. The generated tile DL data is temporarily stored in the local memory 18.

RIP18はローカルメモリからタイルDLデータを読み出して、タイル単位のラスタ画像へと展開し、出力する。   The RIP 18 reads the tile DL data from the local memory, develops it into a raster image in units of tiles, and outputs it.

本実施例では前述のように、RIP18内にμRIPa〜μRIPdの4つを備えている。コントローラ1はμRIPa〜μRIPdを並列に動作させることにより、タイルベクタの展開を高速に行わせる。システムのパフォーマンスはベクタ展開時間が支配的であり、このμRIPを増やすことでパフォーマンスアップが見込めるため、本発明のような構成を用いると容易にスケーラブルなシステムを構築することが可能となる。   In this embodiment, as described above, the RIP 18 includes four μRIPa to μRIPd. The controller 1 operates μRIPa to μRIPd in parallel, thereby expanding the tile vector at high speed. The system performance is dominated by the vector expansion time, and the performance can be improved by increasing the μRIP. Therefore, it is possible to easily construct a scalable system by using the configuration of the present invention.

(S26):
RIP18によってタイル単位にラスタライズされた画像データは、画像処理部に転送され、以下の処理が実行される。
(S26):
The image data rasterized in tile units by the RIP 18 is transferred to the image processing unit, and the following processing is executed.

タイル単位のラスタ画像からページ単位のラスタ画像への変換処理。   Conversion processing from a tile unit raster image to a page unit raster image.

プリンタの特性に合わせた出力画像の色や濃度の補正処理。   Output color and density correction processing that matches the printer characteristics.

画像データを量子化して出力画像の階調変換を行う中間調処理。   Halftone processing that quantizes image data and performs tone conversion of the output image.

プリンタI/Fクロックに同期して画像を出力するための周波数変換処理。   Frequency conversion processing to output images in synchronization with the printer I / F clock.

画像処理部15で前記画像処理を実行されたラスター画像データはプリンタ15に転送され、記録媒体上に印字され出力される。   The raster image data subjected to the image processing by the image processing unit 15 is transferred to the printer 15, printed on a recording medium, and output.

[プリント]
図3にプリント動作させた時のMFP内のデータフローを示す。
[Print]
FIG. 3 shows a data flow in the MFP when the printing operation is performed.

(S31):
ネットワーク12に接続された外部機器より、汎用バス6に接続されたLAN I/F11がページベクタ形式の画像データを受信する。そしてSBB2の先に接続されたMC4を介してシステムメモリ5に転送する。
(S31):
The LAN I / F 11 connected to the general-purpose bus 6 receives page vector format image data from an external device connected to the network 12. Then, the data is transferred to the system memory 5 via the MC 4 connected to the end of the SBB 2.

(S32):
システムメモリ5に記憶されたページベクタ画像はタイル⇔ページベクタ変換部13より読み出され、タイルベクタ変換処理を行う。すなわち、ページベクタ内に存在するオブジェクトを所定の大きさのブロック(タイル)内に収まるオブジェクトに分割し、タイル単位のベクタ画像を生成する。
(S32):
The page vector image stored in the system memory 5 is read out from the tile / page vector conversion unit 13 and performs tile vector conversion processing. That is, an object existing in a page vector is divided into objects that can be contained in a block (tile) having a predetermined size, and a vector image in units of tiles is generated.

(S33):
生成されたベクタ画像はSBB2を介して再びシステムメモリ5に記憶される。
(S33):
The generated vector image is stored again in the system memory 5 via the SBB 2.

(S33):
システムメモリ5に記憶されたタイルベクタ画像は、HDDCont7とMC4を介してSBB2経由でHDD8に記憶される。HDD8に画像データを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、MFP内に保存文書として記憶したりすることができる。
(S33):
The tile vector image stored in the system memory 5 is stored in the HDD 8 via the SBB 2 via the HDDCont 7 and the MC 4. By storing image data in the HDD 8, sorting can be performed when copying a plurality of originals, and the pages can be output in a different order or stored as a saved document in the MFP.

(S34):
HDD8に記憶されたタイルベクタ画像はプリンタ15内の不図示のCPUから送られてくるプリンタレディのタイミングに合わせて、HDDCont7により読み出され、SBB2、MC4を経由してシステムメモリ5に一時的に記憶される。
(S34):
The tile vector image stored in the HDD 8 is read out by the HDDCont 7 in accordance with the printer ready timing sent from the CPU (not shown) in the printer 15 and temporarily stored in the system memory 5 via the SBB 2 and MC 4. Is done.

読み取った画像データをHDD8からダイレクトにプリンタへ読み出した場合、HDD8のアクセススピードが律則になったり、汎用バス6のバスの混雑度合によりプリンタに同期して出力することが保証できなくなる。そのため、プリンタに同期してデータ転送を行う前に、システムメモリ5に1ページ分のタイルベクタデータをスプールすることにより、リアルタイムなスループットを保証する。   When the read image data is read directly from the HDD 8 to the printer, it cannot be guaranteed that the access speed of the HDD 8 becomes regular, or that the output is synchronized with the printer due to the degree of congestion of the general-purpose bus 6. Therefore, before transferring data in synchronization with the printer, the tile vector data for one page is spooled in the system memory 5 to guarantee real-time throughput.

(S35):
システムメモリ5に記憶されたタイルベクタ画像は、プリンタ15からコントローラ1に送られる起動信号に従って、MC4によって読み出され、SBB2を介してRIP18に転送される。
(S35):
The tile vector image stored in the system memory 5 is read by the MC 4 in accordance with an activation signal sent from the printer 15 to the controller 1 and transferred to the RIP 18 via the SBB 2.

(S36):
RIP18ではまず、タイルベクタを解析し、タイル単位の描画オブジェクト(タイルDLデータ)の生成(インタプリット)を行う。生成されたタイルDLデータはローカルメモリ18に一旦記憶される。
(S36):
First, the RIP 18 analyzes a tile vector and generates (interprets) a drawing object (tile DL data) in units of tiles. The generated tile DL data is temporarily stored in the local memory 18.

RIP18はローカルメモリからタイルDLデータを読み出して、タイル単位のラスタ画像へと展開し、出力する。本実施例では、RIP18内に小展開部μRIPa〜μRIPdの4つを備えている。   The RIP 18 reads the tile DL data from the local memory, develops it into a raster image in units of tiles, and outputs it. In the present embodiment, the RIP 18 includes four small development portions μRIPa to μRIPd.

前記μRIPa〜μRIPdを並列に動作させることにより、タイルベクタの展開を高速に行わせる。システムのパフォーマンスはベクタ展開時間が支配的であり、このμRIPを増やすことでパフォーマンスアップが見込めるため、本発明のような構成を用いると容易にスケーラブルなシステムを構築することが可能となる。   The tile vectors are developed at high speed by operating the μRIPa to μRIPd in parallel. The system performance is dominated by the vector expansion time, and the performance can be improved by increasing the μRIP. Therefore, it is possible to easily construct a scalable system by using the configuration of the present invention.

(S37):
RIP18によってタイル単位にラスタライズされた画像データは、画像処理部に転送され、以下の処理が実行される。
(S37):
The image data rasterized in tile units by the RIP 18 is transferred to the image processing unit, and the following processing is executed.

タイル単位のラスタ画像からページ単位のラスタ画像への変換処理。   Conversion processing from a tile unit raster image to a page unit raster image.

プリンタの特性に合わせた出力画像の色や濃度の補正処理。   Output color and density correction processing that matches the printer characteristics.

画像データを量子化して出力画像の階調変換を行う中間調処理。   Halftone processing that quantizes image data and performs tone conversion of the output image.

プリンタI/Fクロックに同期して画像を出力するための周波数変換処理。   Frequency conversion processing to output images in synchronization with the printer I / F clock.

画像処理部15で前記画像処理を実行されたラスター画像データはプリンタ15に転送され、記録媒体上に印字され出力される。   The raster image data subjected to the image processing by the image processing unit 15 is transferred to the printer 15, printed on a recording medium, and output.

[送信]
図4にネットワーク送信させた時のMFP内のデータフローを示す。画像データをHDD8に格納するまでのフローについては、スキャン画像の場合は[コピー]とネットワーク上の外部機器からの入力された画像の場合は[プリント]と同じなので割愛する。
[Send]
FIG. 4 shows the data flow in the MFP when it is transmitted over the network. The flow until image data is stored in the HDD 8 is omitted because it is the same as [Copy] for a scanned image and [Print] for an image input from an external device on the network.

(S41):
HDD8に記憶されたタイルベクタ画像はSBB2を介して、汎用バス6に接続されたHDDCont7より読み出され、システムメモリ5に一時的に記憶される。
(S41):
The tile vector image stored in the HDD 8 is read from the HDDCont 7 connected to the general-purpose bus 6 via the SBB 2 and temporarily stored in the system memory 5.

(S42):
システムメモリ5に記憶されたタイルベクタ画像はタイル⇔ページベクタ変換部11より読み出され、タイルベクタ変換処理を行う。すなわち、ブロック単位に分割されたオブジェクトを結合し、ページ全体でオブジェクトを記述したページベクタ画像を生成する。
(S42):
The tile vector image stored in the system memory 5 is read from the tile / page vector conversion unit 11 and performs tile vector conversion processing. That is, the objects divided into blocks are combined to generate a page vector image describing the object in the entire page.

(S43):
生成されたページベクタ画像はSBB2を介して再びシステムメモリ5に記憶される。
(S43):
The generated page vector image is stored again in the system memory 5 via the SBB 2.

(S44):
システムメモリ5中に記憶されたページベクタ画像は、汎用バス6に接続されたLAN I/F11から読み出され、ネットワーク12に接続された外部機器へと転送される。
(S44):
The page vector image stored in the system memory 5 is read from the LAN I / F 11 connected to the general-purpose bus 6 and transferred to an external device connected to the network 12.

本発明のように、外部機器に送信する際にタイルベクタ画像をページベクタ画像に戻し、オブジェクト数を減らすことで、送信データ量が削減できる。また、PDFやSVG等の汎用フォーマットへ容易に変換することができる。   As in the present invention, when transmitting to an external device, the tile vector image is returned to the page vector image and the number of objects is reduced, so that the amount of transmission data can be reduced. In addition, it can be easily converted to general-purpose formats such as PDF and SVG.

[ラスタ−タイルベクタ変換部]
コントローラ1中のラスタ→タイルベクタ変換部14の詳細について説明する。図5はラスタータイル変換部14の内部処理フローを表す。
[Raster-Tile Vector Converter]
Details of the raster-to-tile vector conversion unit 14 in the controller 1 will be described. FIG. 5 shows an internal processing flow of the raster tile conversion unit 14.

ラスタ→タイルベクタ変換部14は以下の各ステップにより実行される。   The raster → tile vector conversion unit 14 is executed by the following steps.

(S51)BS(ブロックセレクション):
画像処理部15より入力されたラスタイメージデータを、文字あるいは線画を含む文字・線画領域と、ハーフトーンの写真領域、不定形の画像領域その他に分ける。さらに文字・線画領域について、主に文字を含む文字領域と、主に表、図形等を含む線画領域とを分離し、線画領域は表領域と図形領域に分離する。なお、本実施形態では連結画素を検知し、該連結画素の外接矩形領域の形状・サイズ・画素密度等を用いて、属性毎の領域に分離する。
(S51) BS (block selection):
The raster image data input from the image processing unit 15 is divided into a character / line drawing area including characters or line drawings, a halftone photo area, an irregular image area, and the like. Further, with respect to the character / line drawing area, a character area mainly including characters and a line drawing area mainly including tables and figures are separated, and the line drawing area is separated into a table area and a graphic area. In the present embodiment, connected pixels are detected and separated into regions for each attribute using the shape, size, pixel density, etc. of the circumscribed rectangular region of the connected pixels.

文字領域については、文字段落ごとの纏まった塊をブロックとして矩形ブロック(文字領域矩形ブロック)にセグメント化される。線画領域では、表、図形等の個々のオブジェクト(表領域矩形ブロック、線画領域矩形ブロック)ごとに矩形ブロックにセグメント化される。   The character area is segmented into rectangular blocks (character area rectangular blocks) using a cluster of each character paragraph as a block. In the line drawing area, each object (table area rectangular block, line drawing area rectangular block) such as a table or a figure is segmented into rectangular blocks.

ハーフトーンで表現される写真領域は、画像領域矩形ブロック、背景領域矩形ブロック等のオブジェクトごとに、矩形ブロックにセグメント化される。   A photo area expressed in halftone is segmented into rectangular blocks for each object such as an image area rectangular block and a background area rectangular block.

分離された各領域は、さらに所定の大きさの領域(タイル)単位に分割され、タイル単位で次のベクトル化ステップでベクトル化処理される。   Each separated region is further divided into regions (tiles) of a predetermined size, and vectorized in the next vectorization step in units of tiles.

(S52)ベクトル化ステップ:
ベクトル化処理により各属性領域のイメージデータをベクトルデータに変換する。
(S52) Vectorization step:
Image data of each attribute area is converted into vector data by vectorization processing.

ベクトル化処理では、文字領域以外の図画あるいは線、表領域のベクトル化処理と、文字領域のベクトル化種類との2種類のベクトル化処理を実行し、その処理内容は大きく異なる。また、写真領域に対しては、そのままイメージデータとして、ベクトル化は実行しない。   In the vectorization process, two types of vectorization processes are executed: a drawing or line other than the character area, a vector area process of the table area, and a vector area type of the character area. Further, vectorization is not performed on the photograph area as image data as it is.

そこで、まず、文字ブロック以外の図画あるいは線、表領域のベクトル化処理について、図6を用いて説明する。   Thus, first, vectorization processing of a graphic, line, or table area other than a character block will be described with reference to FIG.

図6は本発明の実施形態1の文字ブロック以外の図画あるいは線、表領域のベクトル化処理の詳細を示すフローチャートである。   FIG. 6 is a flowchart showing details of vectorization processing of a graphic, line, or table area other than the character block according to the first embodiment of the present invention.

文字ブロック以外の図画あるいは線、表領域のベクトル化処理では、まず、ステップS1001で、処理対象の領域に対応するイメージデータに基づいて、その領域を輪郭情報を線分のつながりとして表現する形式(以下、アウトラインベクトル)へ変換するアウトラインベクトル変換処理を実行する。   In the vectorization process of a graphic or line other than a character block, or a table area, first, in step S1001, based on image data corresponding to the area to be processed, the area is expressed as a connection of line segments (line information). Hereinafter, an outline vector conversion process for converting into an outline vector) is executed.

次に、ステップS1002で、得られるアウトラインデータから図形認識処理を実行する。   Next, in step S1002, a graphic recognition process is executed from the obtained outline data.

『図形認識処理』
図形認識処理では、ステップS1001で得られるアウトラインデータに対し、アウトラインから丸、楕円、四角、三角等の図形形状を認識して抽出する、もしくはアウトラインが構成している罫線、曲線等の図形形状を認識して抽出する。
"Figure recognition processing"
In the figure recognition process, the outline data obtained in step S1001 is extracted from the outline by recognizing a figure shape such as a circle, an ellipse, a square, or a triangle, or a figure shape such as a ruled line or a curve formed by the outline. Recognize and extract.

次に、文字領域のベクトル化処理の詳細について、図7を用いて説明する。   Next, details of the vectorization processing of the character area will be described with reference to FIG.

図7は本発明の文字領域のベクトル化処理の詳細を示すフローチャートである。   FIG. 7 is a flowchart showing details of the vectorization processing of the character area according to the present invention.

まず、ステップS1011で、文字ブロックの文字認識処理を実行する。ステップS1012で、文字ブロックのフォント認識処理を実行する。ステップS1013で、文字ブロックをアウトライン化する文字ベクトル変換処理を実行する。ステップS1014で、文字ブロックに対してフォント化処理を実行する。   First, in step S1011, character recognition processing for a character block is executed. In step S1012, the character block font recognition process is executed. In step S1013, a character vector conversion process that outlines a character block is executed. In step S1014, font conversion processing is executed on the character block.

ここで、ステップS1011の文字認識処理の詳細について説明する。   Here, the details of the character recognition processing in step S1011 will be described.

『文字認識処理』
文字認識処理では、文字ブロックから文字単位で切り出された文字画像に対し、パターンマッチの一手法を用いて文字認識を行い、対応する文字コードを取得する。特に、この文字認識処理は、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルと、あらかじめ字種毎に求められている辞書特徴ベクトルとを比較し、最も距離の近い字種を認識結果とする。
"Character recognition processing"
In the character recognition process, character recognition is performed on a character image cut out in character units from a character block using a pattern matching technique, and a corresponding character code is acquired. In particular, this character recognition process compares an observed feature vector obtained by converting a feature obtained from a character image into a numerical sequence of tens of dimensions and a dictionary feature vector obtained for each character type in advance, and has the closest distance. The character type is the recognition result.

特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュブロック内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴とする方法がある。   There are various known methods for extracting a feature vector. For example, there is a method characterized by dividing a character into meshes and using a mesh number-dimensional vector obtained by counting character lines in each mesh block as line elements according to directions.

そして、文字ブロックに対して文字認識処理を行う場合は、まず、該当文字ブロックに対し横書き/縦書きの判定を行い、各々対応する方向に文字列を切り出し、その後、文字列から文字を切り出して文字画像を取得する。   When character recognition processing is performed on a character block, first, horizontal / vertical writing is determined for the corresponding character block, a character string is cut out in each corresponding direction, and then a character is cut out from the character string. Get a character image.

横書き/縦書きの判定は、該当文字ブロック内で画素値に対する水平/垂直の射影を取り、水平射影の分散が大きい場合は横書き、垂直射影の分散が大きい場合は縦書きと判定する。文字列及び文字への分解は、横書きの文字ブロックである場合には、その水平方向の射影を利用して行を切り出し、さらに切り出された行に対する垂直方向の射影から、文字を切り出すことで行う。一方、縦書きの文字ブロックに対しては、水平と垂直を逆にすれば良い。   The horizontal / vertical writing is determined by taking a horizontal / vertical projection of the pixel value in the corresponding character block. If the horizontal projection has a large variance, the horizontal writing is determined, and if the vertical projection has a large variance, the vertical writing is determined. If the block is a horizontally written character block, the character string and character are decomposed by cutting out the line using the horizontal projection and cutting out the character from the vertical projection of the cut line. . On the other hand, for vertically written character blocks, horizontal and vertical may be reversed.

尚、この文字認識処理によって、文字認識率(パターンマッチのマッチング率)を得ることが出来る。   Note that the character recognition rate (pattern matching matching rate) can be obtained by this character recognition processing.

次に、ステップS1012のフォント認識処理の詳細について説明する。   Next, details of the font recognition processing in step S1012 will be described.

『フォント認識処理』
フォント認識処理は、文字認識処理の際に用いる、字種数分の辞書特徴ベクトルを、文字形状種、即ち、フォント種に対して複数用意し、マッチングの際に文字コードとともにフォント種を出力することで、文字のフォントを認識する。
"Font recognition process"
Font recognition processing prepares a plurality of dictionary feature vectors for the number of character types used for character recognition processing for character shape types, that is, font types, and outputs font types together with character codes at the time of matching. By recognizing the character font.

次に、ステップS1013の文字ベクトル変換処理の詳細について、図8を用いて説明する。   Next, details of the character vector conversion processing in step S1013 will be described with reference to FIG.

『文字ベクトル変換処理』
図8は本発明の文字ベクトル変換処理の詳細を示すフローチャートである。
"Character vector conversion process"
FIG. 8 is a flowchart showing details of the character vector conversion processing of the present invention.

尚、図8の処理単位は、文字認識処理により文字領域から分割された一文字分の文字画像とし、図8の処理では、文字領域内の全ての文字画像に対して実行する。   The processing unit in FIG. 8 is a character image for one character divided from the character area by the character recognition process, and the processing in FIG. 8 is executed for all the character images in the character area.

まず、ステップS1020で、文字認識処理によって得られた文字認識率が所定の認識率を上回っているかどうかを判定する。文字認識率が所定の認識率を上回っていると判定された場合(ステップS1020でYES)、ステップS1021に進み、各文字画像に対応して予め用意されているフォントのアウトラインデータを用いて、文字部分のフォント情報を取得して、ベクトルデータに変換する。   First, in step S1020, it is determined whether the character recognition rate obtained by the character recognition process exceeds a predetermined recognition rate. If it is determined that the character recognition rate exceeds the predetermined recognition rate (YES in step S1020), the process proceeds to step S1021, and character outline data is prepared using font outline data prepared in advance corresponding to each character image. Get the font information of the part and convert it to vector data.

一方、文字認識率が所定の認識率を下回っていると判定された場合(ステップS1020でNO)、ステップS1022に進み、歪み量(スキュー角度)を求める。具体的には文字部分の画像を何段階かの角度で回転させて、回転させた画像に対し文字認識処理を行い、最も文字認識率が高かった回転角度を歪み量(スキュー角度)とする。   On the other hand, when it is determined that the character recognition rate is lower than the predetermined recognition rate (NO in step S1020), the process proceeds to step S1022, and a distortion amount (skew angle) is obtained. Specifically, the image of the character part is rotated by several steps of angle, character recognition processing is performed on the rotated image, and the rotation angle with the highest character recognition rate is set as the distortion amount (skew angle).

その後、ステップS1023にて文字部分のフォント情報を取得してステップS1024にすすむ。   Thereafter, the font information of the character part is acquired in step S1023, and the process proceeds to step S1024.

ステップS1024においては、文字領域内の全ての文字に対して文字ベクトル変換が完了したかどうかの判定を行う。全ての文字に対して文字ベクトル変換が完了したと判定された場合はステップS1025に、完了していないと判定された場合はステップS1020にすすむ。   In step S1024, it is determined whether character vector conversion has been completed for all characters in the character area. If it is determined that the character vector conversion has been completed for all characters, the process proceeds to step S1025. If it is determined that the character vector conversion has not been completed, the process proceeds to step S1020.

ステップS1025においては、文字領域の歪み量演算を行う。具体的にはステップS1022において求められた各文字の歪み量を合計し、ステップS1022に進んだ文字数で歪み量の合計を割ることにより、文字領域の歪み量(スキュー角度)を求める。なお、S1022に進む文字がなかった場合には、文字領域の歪み量は0とする。   In step S1025, the amount of distortion of the character area is calculated. Specifically, the distortion amount of each character obtained in step S1022 is summed, and the distortion amount (skew angle) of the character area is obtained by dividing the total distortion amount by the number of characters advanced to step S1022. If there is no character proceeding to S1022, the distortion amount of the character area is set to zero.

次に、ステップS1021およびステップS1023のフォント化処理の詳細について説明する。   Next, details of the font conversion processing in steps S1021 and S1023 will be described.

『フォント化処理』
フォント化処理では、文字ベクトル変換処理により得られたアウトラインベクトルデータ、もしくはイメージデータを用いて、各文字画像をフォントデータへ置換する。文字画像をフォントデータへ置換することで、文字ブロックは各文字が構成する文章として表現でき、編集可能となる。
"Font processing"
In the font processing, each character image is replaced with font data using outline vector data or image data obtained by the character vector conversion processing. By replacing the character image with font data, the character block can be expressed as a sentence composed of each character and can be edited.

具体的には、ステップS1021およびS1023で得られたアウトラインベクトルデータはそのまま文字コード、フォント情報、文字サイズを用いてあらかじめ与えられているフォントへ置換することが可能である。   Specifically, the outline vector data obtained in steps S1021 and S1023 can be replaced with a predetermined font using the character code, font information, and character size as they are.

(S53)タイルベクタ生成:
S52でa〜fのフォーマットコード情報、図形情報、関数情報といったコマンド定義形の情報にベクトル変換されたデータに対し、コントローラ1内でページベクタかタイルベクタかを判別するベクタタイプや当該タイルのページ内の座標位置など判別するためのヘッダ情報を付加する。このようにして、タイル単位にパッキングされたタイルベクタデータをSBB2へ出力する。
(S53) Tile vector generation:
The vector type for determining whether the data is vector-converted into command definition information such as a to f format code information, graphic information and function information in S52, and the page type or tile vector in the controller 1 The header information for discriminating the coordinate position is added. In this way, tile vector data packed in units of tiles is output to SBB2.

(S55)歪み補正処理:
S53で生成された1ページ分のタイルデータに対し、歪み補正処理を行う。この歪み補正処理はタイルごとに実行される。
(S55) Distortion correction processing:
Distortion correction processing is performed on the tile data for one page generated in S53. This distortion correction processing is executed for each tile.

図9はステップS55の歪み補正処理の詳細を示すフローチャートである。図9を用いて歪み補正処理を説明する。   FIG. 9 is a flowchart showing details of the distortion correction processing in step S55. The distortion correction process will be described with reference to FIG.

まずステップS1030にて領域(タイル)が写真領域であるかどうかの判定が行われる。写真領域であると判定されればステップS1031へ進み、写真領域以外であると判定されればステップ1033へ進む。   First, in step S1030, it is determined whether the area (tile) is a photographic area. If it is determined that the area is a photograph area, the process proceeds to step S1031, and if it is determined that the area is not a photograph area, the process proceeds to step 1033.

次にステップS1031において、写真領域の歪み量(スキュー角度)の演算を行う。具体的には該写真領域に最も近い文字領域の歪み量を、該写真領域の歪み量とする。該写真領域に最も近い文字領域が複数存在した場合は、それら文字領域の歪み量の平均値を、該写真領域の歪み量とする。   Next, in step S1031, the amount of distortion (skew angle) of the photographic area is calculated. Specifically, the distortion amount of the character area closest to the photographic area is set as the distortion amount of the photographic area. When there are a plurality of character areas closest to the photo area, the average distortion amount of the character areas is set as the distortion amount of the photo area.

続いてステップS1032において、歪み補正処理を行う。具体的にはステップS1031において求められたスキュー角度分、写真領域の画像を回転する。   Subsequently, in step S1032, distortion correction processing is performed. Specifically, the image in the photographic area is rotated by the skew angle obtained in step S1031.

ステップS1033においては、全てのタイルに対して歪み補正処理が終了したかどうかの判定を行う。全てのタイルに対して歪み補正処理は終了していないと判定された場合はステップS1030へ、全てのタイルに対して歪み補正処理が終了したと判断された場合は、S55の歪み補正処理は終了する。   In step S1033, it is determined whether or not the distortion correction processing has been completed for all tiles. If it is determined that the distortion correction process has not been completed for all tiles, the process proceeds to step S1030. If it is determined that the distortion correction process has been completed for all tiles, the distortion correction process of S55 is terminated. To do.

[タイル⇔ページベクタ変換部]
コントローラ1中のタイル⇔ページベクタ変換部13の詳細について説明する。
[Tile tile page vector conversion part]
Details of the tile tile page vector conversion unit 13 in the controller 1 will be described.

図12は、ネットワーク上の外部機器のアプリケーションで作成されたドキュメントである。便宜上、ドキュメントの短手方向を‘X’方向、長手方向を‘Y’方向と定義する。   FIG. 12 shows a document created by an application of an external device on the network. For convenience, the short direction of the document is defined as the 'X' direction, and the long direction is defined as the 'Y' direction.

図13は図12のドキュメントのプリンタ出力を指示するページベクタ(PDLコマンド)の記述例である。   FIG. 13 shows a description example of a page vector (PDL command) for instructing printer output of the document of FIG.

図13において、901はドキュメント全体の設定に関わるドキュメント設定命令、902は文字の描画命令、903は図形の描画命令を示している。   In FIG. 13, reference numeral 901 denotes a document setting command relating to setting of the entire document, 902 denotes a character drawing command, and 903 denotes a graphic drawing command.

901から903の描画命令の詳細について説明する。   Details of the drawing commands 901 to 903 will be described.

C1〜C5は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドC1〜C5はドキュメント1部について1ケ所しか付いていない。これらドキュメント全体に関係するコマンドには、例えば、キャラクタセットコマンド(フォント指定コマンド)、スケーラブルフォントコマンド(スケーラブルフォントを使用するか否かを指定するコマンド)、ハードリセットコマンド(以前のプリンタ使用環境をリセットするコマンド)、などがある。C1はドキュメント設定開始コマンドである。C2はドキュメントの出力用紙サイズを表すコマンドで、この場合にはA4の設定になっている。次のC3はドキュメントの方向を示している。ポートレートとランドスケープがあるが、この場合にはポートレート(PORT)を示している。C4はドキュメントのタイプを表すコマンドで、ページベクタで構成されるドキュメントなのかタイルベクタで構成されるドキュメントなのかを表す。この場合にはページ(PAGE)となっている。C5はドキュメント設定終了コマンドである。   C1 to C5 are commands related to the entire document. Therefore, these commands C1 to C5 have only one place for one document. These commands related to the entire document include, for example, character set commands (font specification commands), scalable font commands (commands that specify whether or not to use scalable fonts), and hard reset commands (reset the previous printer environment) Command), etc. C1 is a document setting start command. C2 is a command representing the output paper size of the document, and in this case, A4 is set. The next C3 indicates the direction of the document. There are portrait and landscape, but in this case, portrait (PORT) is shown. C4 is a command representing a document type, which indicates whether the document is a page vector or a tile vector. In this case, it is a page (PAGE). C5 is a document setting end command.

C6〜C21は、ドキュメント801を出力するたのコマンドである。C6はページの開始を示すためのものである。C7は文字のフォントの種類を選択するためのコマンドでこの場合には“1”という番号の付けられたフォントセットを選択している。C8はフォントの大きさを設定するもので“10ポイント”の大きさを選んでいる。C9は文字の色を設定するコマンドで、順にR(赤),G(緑),B(青)各色成分の輝度を示してある。この輝度は、0から255の256段階で量子化されているものとする。C10は文字を描画する開始位置の座標を示している。座標位置はページの左上を原点に指定する。この場合は、{10,5}の位置から文字の描画を開始するように設定されている。C11は実際に描画する文字列(XXXX…) を示している。   C6 to C21 are commands for outputting the document 801. C6 is for indicating the start of a page. C7 is a command for selecting the font type of the character, and in this case, the font set numbered "1" is selected. C8 sets the font size, and the size of “10 points” is selected. C9 is a command for setting the color of the character, and indicates the brightness of each color component of R (red), G (green), and B (blue) in order. It is assumed that this luminance is quantized in 256 steps from 0 to 255. C10 indicates the coordinates of the start position for drawing the character. The coordinate position is specified with the upper left corner of the page as the origin. In this case, the character drawing is set to start from the position {10, 5}. C11 indicates a character string (XXXX ...) to be actually drawn.

C12は図形描画の際の面の塗りつぶしの色を示している。色の指定は文字の色と同様である。C13は図形描画の線の色を指定するものである。C14は図形を描画する位置の座標を示している。C15は円弧を描画する際の半径を指定する命令で、この場合、“10”座標単位を表している。C16は閉円弧の描画をするものである。コマンド内の2個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を0度として、この場合には0度から90度の円弧を描画することを示している。C17〜C21は、C12〜C16までのコマンドと同様に面,線の色の指定,位置の指定などを行なっている。C22はコマンドの終了を指定している。   C12 indicates the fill color of the surface at the time of drawing the figure. The color specification is the same as the character color. C13 designates the line color of the graphic drawing. C14 indicates the coordinates of the position where the figure is drawn. C15 is a command for designating a radius for drawing an arc, and in this case represents a "10" coordinate unit. C16 is for drawing a closed arc. Two parameters in the command indicate a drawing start angle and an end angle when drawing an arc. The vertical information is assumed to be 0 degree, and in this case, an arc of 0 degree to 90 degrees is drawn. C17 to C21 specify the surface and line color, the position, etc., as in the commands from C12 to C16. C22 specifies the end of the command.

図12のドキュメントを図14で表されるようなブロック単位のタイルベクタで記述した例が図11である。図14中の2つの矢印はドキュメントの短手方向‘X’、長手方向‘Y’を表す。また図中のX方向に配列された数列はX方向のタイルID、Y方向に配列された数列はY方向のタイルIDを表す。A,B,C,DはそれぞれタイルID(0,0)、(0,1)、(2、4)、(1,5)の位置にあるタイルベクタを表す。   FIG. 11 shows an example in which the document of FIG. 12 is described by a tile vector in block units as shown in FIG. The two arrows in FIG. 14 represent the short direction “X” and the long direction “Y” of the document. In the drawing, the number sequence arranged in the X direction represents the tile ID in the X direction, and the number sequence arranged in the Y direction represents the tile ID in the Y direction. A, B, C, and D represent tile vectors at the positions of tile IDs (0, 0), (0, 1), (2, 4), and (1, 5), respectively.

図15において、1101はドキュメント全体の設定に関わるドキュメント設定命令、1102は描画命令全体をあらわす、1103〜1106はタイルA,B,C,Dの描画命令を示している。1107、1108はそれぞれタイルDの文字描画命令、図形描画命令を表す。   In FIG. 15, reference numeral 1101 denotes a document setting command relating to setting of the entire document, 1102 denotes the entire drawing command, and 1103 to 1106 denote drawing commands for tiles A, B, C, and D. Reference numerals 1107 and 1108 denote a character drawing command and a graphic drawing command for the tile D, respectively.

以下に1101〜1108の描画命令の詳細について説明する。   Details of the rendering commands 1101 to 1108 will be described below.

C1〜C5は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドC1〜C5はドキュメント1部について1ケ所しか付いていない。これらドキュメント全体に関係するコマンドには、例えば、キャラクタセットコマンド(フォント指定コマンド)、スケーラブルフォントコマンド(スケーラブルフォントを使用するか否かを指定するコマンド)、ハードリセットコマンド(以前のプリンタ使用環境をリセットするコマンド)、などがある。C1はドキュメント設定開始コマンドである。C2はドキュメントの出力用紙サイズを表すコマンドで、この場合にはA4の設定になっている。次のC3はドキュメントの方向を示している。ポートレートとランドスケープがあるが、この場合にはポートレート(PORT)を示している。C4はドキュメントのタイプを表すコマンドで、ページベクタで構成されるドキュメントなのかタイルベクタで構成されるドキュメントなのかを表す。この場合にはタイル(TILE)となっている。C5はドキュメント設定終了コマンドである。   C1 to C5 are commands related to the entire document. Therefore, these commands C1 to C5 have only one place for one document. These commands related to the entire document include, for example, character set commands (font specification commands), scalable font commands (commands that specify whether or not to use scalable fonts), and hard reset commands (reset the previous printer environment) Command), etc. C1 is a document setting start command. C2 is a command representing the output paper size of the document, and in this case, A4 is set. The next C3 indicates the direction of the document. There are portrait and landscape, but in this case, portrait (PORT) is shown. C4 is a command representing a document type, which indicates whether the document is a page vector or a tile vector. In this case, it is a tile (TILE). C5 is a document setting end command.

C6〜C500は、ドキュメント1001を出力するたのコマンドである。C6はページの開始を示すためのものである。C7は図10のタイルAの描画コマンドの開始を示すものである。2個のパラメータはページ内におけるタイルのIDを示すものである。C8はタイルAの描画コマンドの終わりを表す。タイルAのようにオブジェクトが何も存在しない場合は、タイルの開始と終了だけが記述される。   C6 to C500 are commands for outputting the document 1001. C6 is for indicating the start of a page. C7 indicates the start of the drawing command for tile A in FIG. Two parameters indicate the ID of the tile in the page. C8 represents the end of the tile A drawing command. When there is no object as in tile A, only the start and end of the tile are described.

C9は図14のタイルBの描画コマンドの開始を示すものである。C10は文字のフォントの種類を選択するためのコマンドでこの場合には“1”という番号の付けられたフォントセットを選択している。C11はフォントの大きさを設定するもので“10ポイント”の大きさを選んでいる。C12は文字の色を設定するコマンドで、順にR(赤),G(緑),B(青)各色成分の輝度を示してある。この輝度は、0から255の256段階で量子化されているものとする。C13は文字を描画する開始位置の座標を示している。C14は実際に描画する文字列(XXXX) を示している。座標位置はタイルの左上を原点に指定する。この場合は、{0,5}の位置から文字の描画を開始するように設定されている。C15はタイルBの描画コマンドの終わりを示すものである。   C9 indicates the start of the drawing command for tile B in FIG. C10 is a command for selecting the font type of the character. In this case, the font set numbered “1” is selected. C11 sets the font size, and the size of “10 points” is selected. C12 is a command for setting the character color, and indicates the luminance of each color component of R (red), G (green), and B (blue) in order. It is assumed that this luminance is quantized in 256 steps from 0 to 255. C13 indicates the coordinates of the start position for drawing the character. C14 indicates a character string (XXXX) to be actually drawn. The coordinate position is specified with the upper left corner of the tile as the origin. In this case, the character drawing is set to start from the position {0, 5}. C15 indicates the end of the drawing command for tile B.

C100は図10のタイルCの描画コマンドの開始を示すものである。C101は図形描画の際の面の塗りつぶしの色を示している。色の指定は文字の色と同様である。C102は図形描画の線の色を指定するものである。C103は図形を描画する位置の座標を示している。C104は円弧を描画する際の半径を指定する命令で、この場合、“10”座標単位を表している。C105は閉円弧の描画をするものである。コマンド内の2個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を0度として、この場合には0度から90度の円弧を描画することを示している。C106はタイルCの描画コマンドの終わりを示すものである。   C100 indicates the start of the drawing command for tile C in FIG. C101 indicates the fill color of the surface when drawing a figure. The color specification is the same as the character color. C102 designates the line color of the figure drawing. C103 indicates the coordinates of the position where the figure is drawn. C104 is a command for designating a radius for drawing an arc, and in this case represents "10" coordinate unit. C105 is for drawing a closed arc. Two parameters in the command indicate a drawing start angle and an end angle when drawing an arc. The vertical information is assumed to be 0 degree, and in this case, an arc of 0 degree to 90 degrees is drawn. C106 indicates the end of the drawing command for tile C.

C120〜C131は、C9〜C15までのコマンドと同様文字描画のフォントの種類、色、大きさなどの指定及びC100〜C106同様に図形描画の面,線の色の指定,位置の指定などを行なっている。C500はページの終了すなわちコマンドの終了を指定している。   C120 to C131, like the commands C9 to C15, specify the font type, color, size, etc. for character drawing, and specify the drawing surface, line color, position, etc., as in C100 to C106. ing. C500 designates the end of the page, that is, the end of the command.

タイル⇔ページベクタ変換部13は、前述のようなページベクタとタイルベクタの変換を行う。図10はタイル⇔ページベクタ変換の内部処理フローを表す。   The tile tile page vector conversion unit 13 converts the page vector and the tile vector as described above. FIG. 10 shows an internal processing flow of tile-> page vector conversion.

タイル⇔ページベクタ変換は以下のステップで実行される。   The tile-page vector conversion is executed in the following steps.

(S601):
まず、システムメモリ5中に記憶されたベクタ画像から、ヘッダ部分に相当するコマンド列を読み込み、ドキュメント全体に関するコマンド部分を解析する。前述の図13または図15のC1〜C5に相当する部分である。
(S601):
First, a command sequence corresponding to the header portion is read from the vector image stored in the system memory 5, and the command portion relating to the entire document is analyzed. This corresponds to C1 to C5 in FIG. 13 or FIG.

(S602):
解析した結果、ドキュメントのタイプがページベクタ(PAGE)である場合はS603以降のステップに進み、ページベクタ→タイルベクタ変換が実行される。ドキュメントのタイプが(TILE)である場合は、S610以降のステップに進み、タイルベクタ→ページベクタ変換が実行される。
(S602):
As a result of the analysis, if the document type is a page vector (PAGE), the process proceeds to step S603 and subsequent steps, and page vector → tile vector conversion is executed. If the document type is (TILE), the process proceeds to step S610 and subsequent steps, and tile vector → page vector conversion is executed.

(S603):
オブジェクトを記述するコマンド列を読み込む。
(S603):
Read a command sequence that describes an object.

(S604):
S603で読み込まれたコマンド列を解析し、記述されているオブジェクトの大きさが分割したいタイルサイズを超えているかどうかの判断を行う。オブジェクトの分割を行わない場合は、S605をスキップしS606に進み、オブジェクトの分割を行う場合はS605に進む。
(S604):
The command sequence read in S603 is analyzed, and it is determined whether or not the size of the described object exceeds the tile size to be divided. If the object is not divided, step S605 is skipped and the process proceeds to step S606. If the object is divided, the process proceeds to step S605.

(S605):
このステップでは、入力されたオブジェクトの分割処理を行う。
(S605):
In this step, the input object is divided.

例えば、図13では、902で“XXXX”を含む全ての文字列の描画コマンドを記述しているが、図14のようにタイル化した場合にはタイルBには“XXXX”しか収まらない。従って、タイルベクタでは文字列を途中で分割し、分割された後続の文字列は別の文字列として、次のタイルに記述を行う。次のタイルに記述が収まらなかったら、同様にまたタイルに含まれる文字列に分割し、分割された全ての文字列がタイルサイズに収まるまで繰り返す。文字列をどこで切るかは、フォントの種類、サイズからタイル内に収まる文字数を算出し、その数だけの文字を抽出する。902では、文字数が4つということになり、図13のC10の文字列はタイルベクタBとしては図15のC13のような記述に変換される。   For example, in FIG. 13, drawing commands for all character strings including “XXXX” are described at 902, but when tiled as shown in FIG. 14, only “XXXX” can be contained in the tile B. Therefore, in the tile vector, the character string is divided in the middle, and the divided subsequent character string is described in the next tile as another character string. If the description does not fit in the next tile, it is similarly divided into character strings included in the tile, and the process is repeated until all the divided character strings fit within the tile size. To determine where to cut the character string, the number of characters that fit in the tile is calculated from the type and size of the font, and that many characters are extracted. In 902, the number of characters is four, and the character string of C10 in FIG. 13 is converted into a description as C13 in FIG.

また、903では図形の描画を記述しているが、903のC17〜C21で記述されている図形は、図12の4分の3円は、図14では一つのタイルに収まらないので、タイルDを含む複数のタイルに分割される。図形の分割は、図形の描画位置や図形の形、大きさからタイルの境界領域と接する部分を算出しその境界とタイル内に収まっている図形の部分領域で構成される閉領域を新たな図形として記述し直す。図13の903で記述される4分の3円は、図15では、その左下の部分領域が1108のC126からC130のような4分の1円の記述に変換される。また、残りの領域も同様な形の4分の1円の記述に変換される。   Further, although the drawing of the figure is described in 903, the figure described in C17 to C21 in 903 has a tile D because the three-quarter circle in FIG. 12 does not fit in one tile in FIG. Divided into multiple tiles. To divide a figure, calculate the part that touches the boundary area of the tile from the drawing position of the figure, the shape and size of the figure, and create a new closed area consisting of the boundary and the partial area of the figure that is contained in the tile. Rewrite as. In FIG. 15, the three-quarter circle described in 903 in FIG. 13 is converted into a description of a quarter circle such as C126 to C130 in the lower left partial region in FIG. The remaining area is also converted into a quarter-circle description of the same shape.

(S606):
入力されたオブジェクトのコマンド記述に対し、タイルベクタ内での描画位置へ変更するために、座標位置の変換を行う。ページベクタでは、ページの左上からの位置を記述していたのに対し、タイルベクタではタイルの左上からの位置に記述し直す。描画位置をタイル内の座標で記述することにより、座標計算に要するデータ長を削減することが可能になる。
(S606):
In order to change the drawing description in the tile vector for the command description of the input object, the coordinate position is converted. The page vector describes the position from the upper left of the page, whereas the tile vector rewrites the position from the upper left of the tile. By describing the drawing position with the coordinates in the tile, the data length required for coordinate calculation can be reduced.

(S607):
1つのオブジェクトに対するコマンドの記述変換が終了したら、ページ内の全てのオブジェクトのコマンドの記述変換が終了したかどうかを判断し、終了していない場合には、S603に戻り次のコマンドに対して、S603〜S607の処理を繰り返す。1つのオブジェクトに対するコマンドの処理が終了した場合には、S608へ進む。
(S607):
When the command description conversion for one object is completed, it is determined whether or not the command description conversion for all objects in the page is completed. If not, the process returns to S603 and the next command is processed. The processing of S603 to S607 is repeated. When the command processing for one object is completed, the process proceeds to S608.

(S608):
全ての描画コマンドの記述変換が終了したら、図14のように分割された各タイル領域に対し、ページの左上から順にタイルベクタとしてシステムメモリ5への書き出しを行う。タイルベクタとしては、前述のS605、S606で記述されたコマンドに対し、タイルの始まりと終わりを示すコマンドを追加するようなフォーマットで記述される。
(S608):
When the description conversion of all the drawing commands is completed, the tile areas divided as shown in FIG. 14 are written to the system memory 5 as tile vectors in order from the upper left of the page. The tile vector is described in a format in which commands indicating the start and end of tiles are added to the commands described in S605 and S606 described above.

まず、ページの一番最初のコマンドを書き出す時点では、システムメモリ5内にオブジェクトがない状態のタイルベクタを生成しておく。オブジェクトがないタイルベクタ、例えば図15のタイルAは、1103のように始まりと終わりのコマンドのみのC7〜C8のように記述される。次に、S603〜S607で処理されたコマンドが存在する座標のタイルに対し、オブジェクトの記述を追加する。タイルBの場合は、図15の1104のC9〜C15のような記述となる。タイルDのように同じタイルに複数のオブジェクトが存在する場合には、1106のように1107のオブジェクト記述と1108のオブジェクト記述を列記する。   First, at the time of writing the first command of the page, a tile vector in which no object is present in the system memory 5 is generated. A tile vector having no object, for example, tile A in FIG. 15, is described as C7 to C8 with only the start and end commands as shown in 1103. Next, a description of the object is added to the tile of the coordinate where the command processed in S603 to S607 exists. In the case of the tile B, the description is as C9 to C15 of 1104 in FIG. When a plurality of objects exist in the same tile as in the tile D, the object description 1107 and the object description 1108 are listed as 1106.

(S609):
1つのオブジェクトのタイルベクタへの書き出しが終わるとそのページのオブジェクトの記述が全て終了したかどうかを判断する。終了していない、と判断された場合にはS603に戻る。ページ内の全ての処理が終了した場合には、ページ→ベクタタイル変換を終了する。
(S609):
When the writing of one object to the tile vector is completed, it is determined whether or not the description of all the objects on the page has been completed. If it is determined that the process has not ended, the process returns to S603. When all the processes in the page are finished, the page → vector tile conversion is finished.

S602でドキュメントタイプがタイル(TILE)であると判断された場合の処理について述べる。   A process when it is determined in S602 that the document type is a tile (TILE) will be described.

(S610):
オブジェクトを記述するコマンド列を読み込む。
(S610):
Read a command sequence that describes an object.

(S611):
S610で読み込まれたコマンド列を解析し、記述されているオブジェクトがそれより以前に読み込まれたタイルと結合可能かどうかを判断する。オブジェクトの結合を行わない場合は、S612をスキップしS613に進み、オブジェクトの分割を行う場合はS612に進む。
(S611):
The command sequence read in S610 is analyzed, and it is determined whether or not the described object can be combined with tiles read before that time. If the objects are not to be combined, S612 is skipped and the process proceeds to S613. If the objects are to be divided, the process proceeds to S612.

(S612):
オブジェクトが結合できるかどうかは読み込んだコマンドの座標位置や、図形の種別等を基に判断する。文字列の場合はフォントサイズやフォントの種類をもとに判断する。基本的にはS605の流れを逆にしたような形で結合を行う。
(S612):
Whether or not the objects can be combined is determined based on the coordinate position of the read command, the type of figure, and the like. In the case of a character string, the determination is made based on the font size and font type. Basically, the connection is performed in a manner that the flow of S605 is reversed.

(S613):
入力されたオブジェクトのコマンド記述に対し、タイルベクタ内での描画位置へ変更するために、座標位置の変換を行う。タイルベクタではタイルの左上からの位置を記述していたのに対し、ページベクタでは、ページの左上からの位置に記述し直す。
(S613):
In order to change the drawing description in the tile vector for the command description of the input object, the coordinate position is converted. In the tile vector, the position from the upper left of the tile is described, whereas in the page vector, the position is described from the upper left of the page.

(S614):
1つのオブジェクトに対するコマンドの記述変換が終了したら、タイル内の全てのオブジェクトのコマンドの記述変換が終了したかどうかを判断し、終了していない場合には、S610に戻り、次のコマンドに対してS610〜S613の処理を繰り返す。1つのオブジェクトに対するコマンドの処理が終了した場合には、S615へ進む。
(S614):
When the command description conversion for one object is completed, it is determined whether or not the command description conversion for all the objects in the tile is completed. If not, the process returns to S610 and the next command is processed. The processes of S610 to S613 are repeated. When the command processing for one object is completed, the process proceeds to S615.

(S615):
描画コマンドの記述変換が終了したら、ページベクタとしてシステムメモリ5への書き出しを行う。タイルベクタとしては、前述のS605、S606で記述されたコマンドに対し、タイルの始まりと終わりを示すコマンドを削除したようなフォーマットで記述される。
(S615):
When the drawing command description conversion is completed, the page vector is written to the system memory 5. The tile vector is described in a format in which commands indicating the start and end of tiles are deleted from the commands described in S605 and S606.

まず、ページ内の一番最初のタイルに記述されたコマンドを書き出す時点では、システムメモリ5内にオブジェクトがない状態のページベクタを生成しておく。図9でいうと、C1〜C6、C22だけで記述されるページである。次に、S610〜S613で処理されたオブジェクトの記述を追加する。図13でいうと、902のC7〜C11の記述の部分がそれにあたる。この場合のオブジェクトは文字列{XXXX・・・YY・・}を表しているがこれは、S612で図15の1104や1107等で記述される各タイルの文字列を順次結合したオブジェクトの記述に変更されている。   First, when a command written in the first tile in the page is written, a page vector in which no object is present in the system memory 5 is generated. In FIG. 9, the page is described only by C1 to C6 and C22. Next, a description of the object processed in S610 to S613 is added. In FIG. 13, the description portion C7 to C11 in 902 corresponds to that. The object in this case represents the character string {XXXX... YY..., Which is the description of the object in which the character strings of the tiles described in 1104, 1107, etc. in FIG. has been edited.

(S616):
1つコマンドのページベクタへの書き出しが終わるとそのタイルのオブジェクトの記述が全て終了したかどうかを判断する。終了していない、と判断された場合にはS610に戻る。タイル内の全ての処理が終了した場合には、S617に進む。
(S616):
When the writing of one command to the page vector is completed, it is determined whether or not the description of all the objects of the tile has been completed. If it is determined that the process has not ended, the process returns to S610. When all the processes in the tile are completed, the process proceeds to S617.

(S609):
1つのタイルベクタの書き出しが終わるとそのページのタイルの記述が全て終了したかどうかを判断する。終了していない、と判断された場合にはS610に戻る。ページ内の全てのタイルの処理が終了した場合には、タイル→ページベクタ変換を終了する。
(S609):
When the writing of one tile vector is finished, it is determined whether or not all the tile descriptions on the page are finished. If it is determined that the process has not ended, the process returns to S610. When the processing of all tiles in the page is completed, the tile → page vector conversion ends.

[タイルベクタ展開部(RIP)]
コントローラ1中のRIP18の詳細について説明する。
[Tile vector development (RIP)]
Details of the RIP 18 in the controller 1 will be described.

まず、コピーやプリント、送信といった画像データの処理を開始する前に、ローカルメモリ19の初期化と、作成する描画オブジェクトの解像度の設定を行っておく。本実施例では、生成解像度は600dpiとし、ポイントサイズやmm等の単位系で指定された印刷コマンドは、この値を用いてドット数に変換されることになる。   First, before starting image data processing such as copying, printing, and transmission, the local memory 19 is initialized and the resolution of a drawing object to be created is set. In this embodiment, the generation resolution is 600 dpi, and the print command specified in the unit system such as the point size or mm is converted into the number of dots using this value.

タイルベクタの展開は以下のステップで行われる。   Expansion of tile vectors is performed in the following steps.

(S71):
システムメモリ5よりSBB2を経由してRIP18に一定サイズ分入力されたタイルベクタはローカルメモリ19のタイルベクタ領域に一時的に格納される。
(S71):
Tile vectors input from the system memory 5 to the RIP 18 through the SBB 2 by a certain size are temporarily stored in the tile vector area of the local memory 19.

(S72):
タイルベクタがローカルメモリ19に取り込まれたら、μRIPa〜dはタイル展開処理が終了しているかどうかを判断する。μRIPがベクタデータの展開中であれば、展開可能になるまで、S72の状態で待機する。
(S72):
When the tile vector is taken into the local memory 19, μRIPa to d determine whether or not the tile development process has been completed. If μRIP is developing vector data, it waits in the state of S72 until it can be developed.

(S73):
μRIPa〜dのいずれかがベクタデータの展開可能になれば、予め定められた文法に従ってローカルメモリ19に格納されたタイルベクタのコマンド解析を行う。
(S73):
If any of μRIPa to d can develop the vector data, the command analysis of the tile vector stored in the local memory 19 is performed according to a predetermined grammar.

(S74):
解釈されたコマンドが、描画命令か排紙命令かを判断し、描画命令と判断された場合にはS75に、排紙命令と判断された場合にはS76に分岐する。
(S74):
It is determined whether the interpreted command is a drawing command or a paper discharge command. If it is determined that the command is a drawing command, the process branches to S75, and if it is determined that the command is a paper discharge command, the process branches to S76.

(S75):
S74にて、前記データが描画命令であると判断された場合には、描画オブジェクト(DL)生成を行う。タイルベクタ内のコマンドが文字描画命令であれば、前記コマンドで指定されるフォントの書体や、文字サイズ、文字コードを元にフォントオブジェクトを生成し、文字以外の描画命令であれば、前記コマンドで指定された図形(ラインや円、多角形等)の描画オブジェクトを生成し、ローカルメモリ19のDL領域に格納する。
(S75):
If it is determined in S74 that the data is a drawing command, a drawing object (DL) is generated. If the command in the tile vector is a character drawing command, a font object is generated based on the font type, character size, and character code specified by the command. If the command is a drawing command other than characters, the command is used. A drawing object of the generated figure (line, circle, polygon, etc.) is generated and stored in the DL area of the local memory 19.

また、前記描画コマンドで指定されない印刷データであると判断された場合には、前記印刷データに応じて印字位置移動や印字環境設定等の処理がなされ、一単位分のコマンド解釈を終了する。   If it is determined that the print data is not designated by the drawing command, the print position is moved and the print environment is set according to the print data, and the command interpretation for one unit is terminated.

タイルベクタ内のコマンド全ての解釈が終了するまで前記処理を繰り返す。   The above process is repeated until interpretation of all commands in the tile vector is completed.

(S76):
コマンドが排紙命令と判断された場合には、μRIPはローカルメモリ19上のタイルラスタメモリ領域に空き領域があるかどうかを判断する。空き領域がない場合は、他のRIPの処理が終了し、空き領域が出来るまで待機する。
(S76):
If it is determined that the command is a paper discharge command, μRIP determines whether there is an empty area in the tile raster memory area on the local memory 19. If there is no free space, wait until the other RIP process is completed and free space is available.

(S77):
タイルラスタメモリに空き領域がある場合は、S75で生成された描画オブジェクトを読み出し、タイルラスタ領域に描画(ラスタライズ)する。この時、生成解像度が600dpiであれば、タイルラスタ領域には600dpiの画像としてラスタライズされる。そして描画が終了したタイルラスタ画像は、SBB2を介して、画像出力部15に出力される。
(S77):
If there is an empty area in the tile raster memory, the drawing object generated in S75 is read out and drawn (rasterized) in the tile raster area. At this time, if the generation resolution is 600 dpi, the tile raster area is rasterized as a 600 dpi image. Then, the tile raster image that has been drawn is output to the image output unit 15 via the SBB 2.

(S78):
S75またはS77で一つのタイルベクタに対する、コマンド解析または描画処理が終了したら、読み込まれたタイルベクタメモリに対し全てが終了したかどうかを判断し、まだ処理が残っているようでであれば、S72に戻り、次のタイルベクタの処理を続ける。終了している場合はS79に進む。
(S78):
When the command analysis or drawing process for one tile vector is completed in S75 or S77, it is determined whether or not all of the read tile vector memory has been completed. Return and continue processing the next tile vector. If completed, the process proceeds to S79.

(S79):
1ページ分のタイルベクタに対し、全ての処理が終了したかどうかを判断し、まだ未処理のデータが残っている場合は、S71に戻りシステムメモリからタイルベクタを読み出して、処理を続ける。
(S79):
It is determined whether or not all the processes have been completed for one page of tile vectors. If unprocessed data still remains, the process returns to S71 to read the tile vectors from the system memory and continue the process.

1ページの処理が全て終了した場合はタイルベクタ展開を終了する。   When all the processes for one page are finished, the tile vector development is finished.

本発明のシステム構成図である。It is a system configuration diagram of the present invention. 本発明のシステムのコピーの動作フローを説明する図である。It is a figure explaining the copy operation | movement flow of the system of this invention. 本発明のシステムのプリントの動作フローを説明する図である。It is a figure explaining the operation flow of printing of the system of the present invention. 本発明の第1の実施例におけるシステムの送信の動作フローを説明する図である。FIG. 6 is a diagram for explaining an operation flow of transmission of the system in the first exemplary embodiment of the present invention. 本発明のラスタ→タイルベクタ変換部のフローを説明する図である。It is a figure explaining the flow of the raster-> tile vector conversion part of this invention. 本発明の文字ブロック以外の図画あるいは線、表領域のベクトル化処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the vectorization process of the drawing other than the character block of this invention, a line | wire, and a table area. 本発明の文字領域のベクトル化処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the vectorization process of the character area of this invention. 本発明の文字ベクトル変換処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the character vector conversion process of this invention. 本発明の歪み補正処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the distortion correction process of this invention. 本発明のタイル⇔ページベクタ変換部のフローを説明する図である。It is a figure explaining the flow of the tile tile page vector conversion part of this invention. 本発明のRIP(ベクタ展開部)のフローを説明する図である。It is a figure explaining the flow of RIP (vector expansion | deployment part) of this invention. 本発明で取り扱われる画像データの例を表す図である。It is a figure showing the example of the image data handled by this invention. 本発明で取り扱われるページベクタデータの例を表す図である。It is a figure showing the example of the page vector data handled by this invention. 本発明で取り扱われるタイルベクタのタイル領域を表す図である。It is a figure showing the tile area | region of the tile vector handled by this invention. 本発明で取り扱われるタイルベクタデータの例を表す図である。It is a figure showing the example of the tile vector data handled by this invention. 従来のMFPシステムの例を表す図である。It is a figure showing the example of the conventional MFP system. スキューが生じたスキャン画像を示す説明図である。It is explanatory drawing which shows the scan image which the skew produced. 「ハの字」形状のスキャン画像を示す説明図である。It is explanatory drawing which shows the scanned image of a "C" shape.

Claims (1)

画像読み取りの主走査方向に対してページ綴じ部を平行にしてコンタクトガラスの上または下に接触したブック原稿を画像読み取り手段により読み取ったスキャン画像の歪みを補正する画像歪み補正装置において、
前記画像読み取り手段で読み取ったスキャン画像を所定の大きさのブロック毎に文字画像であるか写真画像であるかの判定をする画像判定手段と、
前記画像反転手段において文字画像であると判定されたブロックに対しフォント情報を取得するフォント情報取得部と、
前記フォント情報取得部にて取得したフォント情報と前記スキャン画像を比較し、前記ブロック毎にスキュー角度を検出するスキュー角度検出手段と、
前記スキュー角度検出手段により検出された前記スキュー角度に応じて前記ブロック毎に歪み補正を行う歪み補正実行手段と、
前記フォント情報取得部にて取得されたフォント情報をベクタ画像に変換するベクタ画像変換部と、
前記所定の大きさのブロックのベクタ画像をラスター画像データに展開する手段と
を備えることを特徴とする画像歪み補正装置。
In an image distortion correction apparatus that corrects distortion of a scanned image obtained by reading a book document that is in contact with the top or bottom of the contact glass with the page binding portion parallel to the main scanning direction of image reading by the image reading unit,
Image determination means for determining whether the scanned image read by the image reading means is a character image or a photographic image for each block of a predetermined size;
A font information acquisition unit that acquires font information for a block that is determined to be a character image by the image inversion means;
A skew angle detection unit that compares the scanned image with the font information acquired by the font information acquisition unit, and detects a skew angle for each block;
Distortion correction execution means for correcting distortion for each block according to the skew angle detected by the skew angle detection means;
A vector image conversion unit that converts the font information acquired by the font information acquisition unit into a vector image;
An image distortion correction apparatus, comprising: means for expanding a vector image of a block having a predetermined size into raster image data.
JP2007139359A 2007-05-25 2007-05-25 Image distortion correction device Pending JP2008294831A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007139359A JP2008294831A (en) 2007-05-25 2007-05-25 Image distortion correction device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007139359A JP2008294831A (en) 2007-05-25 2007-05-25 Image distortion correction device

Publications (1)

Publication Number Publication Date
JP2008294831A true JP2008294831A (en) 2008-12-04

Family

ID=40169099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007139359A Pending JP2008294831A (en) 2007-05-25 2007-05-25 Image distortion correction device

Country Status (1)

Country Link
JP (1) JP2008294831A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009269355A (en) * 2008-05-09 2009-11-19 Canon Inc Image processing apparatus and its control method
KR20110067421A (en) * 2009-12-14 2011-06-22 삼성전자주식회사 Image processing apparatus and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009269355A (en) * 2008-05-09 2009-11-19 Canon Inc Image processing apparatus and its control method
KR20110067421A (en) * 2009-12-14 2011-06-22 삼성전자주식회사 Image processing apparatus and method
KR101621848B1 (en) * 2009-12-14 2016-06-01 삼성전자주식회사 Image processing apparatus and method

Similar Documents

Publication Publication Date Title
JP4757120B2 (en) Image processing apparatus and control method thereof
JP4227569B2 (en) Image processing system, control method for image processing apparatus, program, and recording medium
JP5180670B2 (en) Image processing apparatus and image processing method
US7680358B2 (en) Image processing apparatus and control method thereof, and program
JP4574235B2 (en) Image processing apparatus, control method therefor, and program
US8384964B2 (en) Image processing apparatus and image processing method
JP2007174270A (en) Image processing apparatus, image processing method, storage medium, and program
US7551753B2 (en) Image processing apparatus and method therefor
JP4150842B2 (en) Image recognition apparatus, image recognition method, and computer-readable recording medium on which image recognition program is recorded
US8199967B2 (en) Image processing apparatus, image processing method, and storage medium
JP4766657B2 (en) Image processing apparatus, control method therefor, and program
JP2011024116A (en) Image processing apparatus, image processing method, and program
JP5178490B2 (en) Image processing apparatus, image processing method, and computer program
JP2009171563A (en) Image processor, image processing method,program for executing image processing method, and storage medium
JP2008294831A (en) Image distortion correction device
JP4710672B2 (en) Character color discrimination device, character color discrimination method, and computer program
JP7185451B2 (en) Image processing device, image processing method, and program
JP5100354B2 (en) Image processing apparatus, image processing method, and computer program
JP4646703B2 (en) Image processing apparatus, control method therefor, and program
JP2006345314A (en) Image processing apparatus and image processing method
JP4697933B2 (en) Image processing apparatus, image input / output apparatus and methods thereof
JP2008153764A (en) Image processing system
JP2009033541A (en) Image processing system
JP2010218106A (en) Image processing apparatus, image processing method and program
JP2008148066A (en) Image processor, and its control method, and control program

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201