[go: up one dir, main page]

JP2008153764A - Image processing system - Google Patents

Image processing system Download PDF

Info

Publication number
JP2008153764A
JP2008153764A JP2006337171A JP2006337171A JP2008153764A JP 2008153764 A JP2008153764 A JP 2008153764A JP 2006337171 A JP2006337171 A JP 2006337171A JP 2006337171 A JP2006337171 A JP 2006337171A JP 2008153764 A JP2008153764 A JP 2008153764A
Authority
JP
Japan
Prior art keywords
tile
vector
command
image data
page
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.)
Withdrawn
Application number
JP2006337171A
Other languages
Japanese (ja)
Inventor
Daisuke Matsunaga
大佑 松永
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 JP2006337171A priority Critical patent/JP2008153764A/en
Publication of JP2008153764A publication Critical patent/JP2008153764A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To avoid too much processing time during conducting a rendering of a tile-divided vector data. <P>SOLUTION: When a closed area painting object in a page vector data is divided into a tile vector, a rectangular area painting object to express an own whole area is added to the tile vector in the case that a tile to be completely connoted in the object exists. When a rasterizing processing of the tile vector is conducted, a processing time during rendering is reduced without conducting a complex processing like conducting a clipping processing by an outer frame to form the tile by painting the closed area thereby as original image data are restored by simply conducting a painting processing of the rectangular area. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明はベクタデータを扱うことのできるMFP(Multi Function Peripheral)に関する。   The present invention relates to an MFP (Multi Function Peripheral) capable of handling vector data.

図12にMFPのコントローラ100を示す。コントローラ100はシステムバスブリッジ(SBB)101によりCPU102、メモリコントローラ(MC)103、汎用バス105、画像処理部110、画像データ展開部(RIP)113が接続されている。   FIG. 12 shows a controller 100 of the MFP. The controller 100 is connected to a CPU 102, a memory controller (MC) 103, a general-purpose bus 105, an image processing unit 110, and an image data development unit (RIP) 113 by a system bus bridge (SBB) 101.

汎用バス105にはハードディスクコントローラ(HDDCont)106及びLANI/F109が接続されており、ネットワーク108からページベクタ形式(PDL(ページ記述言語)、PDF、SVG等)の画像データが転送される。   A hard disk controller (HDDCont) 106 and a LAN I / F 109 are connected to the general-purpose bus 105, and image data in a page vector format (PDL (page description language), PDF, SVG, etc.) is transferred from the network 108.

HDDCont106の先にはHDD107が接続されており、画像データの記憶媒体として使われる。同様にMC103の先には、システムメモリ(Memory)104が接続されており、画像データを一時記憶するための媒体として使われる。システムメモリ104には、一般的にはDIMMが用いられる。   An HDD 107 is connected to the end of the HDDCont 106 and is used as a storage medium for image data. Similarly, a system memory (Memory) 104 is connected to the tip of the MC 103, and is used as a medium for temporarily storing image data. Generally, a DIMM is used for the system memory 104.

画像処理部110にはスキャナ111及びプリンタ112が接続されている。スキャナから入力された画像データは画像処理部110によって所定の画像処理が実施された後、コントローラへ入力され、またコントローラ内に記憶されている画像データは画像処理部108によって所定の画像処理が実施され、プリンタ112へ出力される。   A scanner 111 and a printer 112 are connected to the image processing unit 110. The image data input from the scanner is subjected to predetermined image processing by the image processing unit 110 and then input to the controller, and the image data stored in the controller is subjected to predetermined image processing by the image processing unit 108. And output to the printer 112.

コントローラ100でハンドリングされる画像データは、ネットワーク経由での外部機器との入出力はページベクタ(PDLやPDF、SVG等)、スキャナやプリンタとの入出力はラスターデータ形式でインターフェースされる。外部機器から入力されたページベクタはCPU102により、プリミティブなオブジェクトにインタプリットされ、DL(DisplayList)と呼ばれる中間データに変換されてから、RIPに入力される。   The image data handled by the controller 100 is interfaced with a page vector (PDL, PDF, SVG, etc.) for input / output with an external device via a network, and with a raster data format for input / output with a scanner or printer. A page vector input from an external device is interpreted into a primitive object by the CPU 102, converted into intermediate data called DL (DisplayList), and input to the RIP.

これらの画像データはコントローラ100の内部のシステムメモリ104に一旦記憶されるため、システムメモリ104上には、ラスターデータ、ページベクタデータ(PDL等)、DLデータなど多種類のデータが存在する。   Since these image data are temporarily stored in the system memory 104 inside the controller 100, there are various types of data such as raster data, page vector data (PDL, etc.), DL data, etc. on the system memory 104.

HDD105には、画像データとしてスキャナから入力された画像データとRIP113でレンダリングされたラスタ画像データが記憶される。
特開2004−120639号公報
The HDD 105 stores image data input from the scanner as image data and raster image data rendered by the RIP 113.
Japanese Patent Laid-Open No. 2004-120639

一般的にラスタ画像データはデータサイズが大きい。そのため、図12におけるシステムメモリ104のメモリサイズや汎用バス105及びHDDCont106−HDD107間のバンド幅といったシステム・リソースを多く消費する。   In general, raster image data has a large data size. Therefore, many system resources such as the memory size of the system memory 104 and the bandwidth between the general-purpose bus 105 and the HDDCont 106 and the HDD 107 in FIG. 12 are consumed.

それに加え、PDLデータ等ベクタ画像では、システム中でインタプリットを行い、描画オブジェクトを生成するDisplayList(DL)に展開する。その際、DLデータをシステムメモリ104にスプールするため、それによるメモリリソースの消費量も莫大なものとなっている。   In addition, vector images such as PDL data are interpreted in the system and expanded into a DisplayList (DL) that generates drawing objects. At this time, since DL data is spooled in the system memory 104, the amount of memory resources consumed thereby is enormous.

最近では、ユーザーからの出力画像の画質への要求がますます高くなり、ラスター画像の高解像度化が促進されている。また、画質と並行してシステムの処理速度向上も要求される。   Recently, there is an increasing demand for image quality of output images from users, and higher resolution of raster images is being promoted. In addition to the image quality, an improvement in system processing speed is also required.

そのため、従来のような構成のMFPのままでは要求仕様を満足するために必要なシステム・リソースが肥大化してしまう。従って、コスト面での折り合いをつけることが課題となっている。   For this reason, the system resources necessary to satisfy the required specifications are enlarged if the MFP having the conventional configuration is used. Therefore, it is an issue to make a compromise in terms of cost.

さらに、前述のようなプロダクトのコストパフォーマンスに対する課題とは別に、複雑、多様化するシステムを開発するための人的リソースの問題も解決しなければならない。そのためには、さまざまな要求仕様に対し、1つの基本システムをスケーラブルな形で構成することにより、製品ラインナップを効率良く整備することが課題である。   Furthermore, apart from the above-mentioned issues related to the cost performance of products, the problem of human resources for developing complicated and diversified systems must also be solved. To that end, it is a challenge to efficiently maintain the product lineup by configuring one basic system in a scalable form for various required specifications.

例えば、図12における画像処理部110やRIP113などのモジュールをハイエンドな機種では複数個実装し、分散処理できるようなシステムが必要となってくる。   For example, a system in which a plurality of modules such as the image processing unit 110 and the RIP 113 shown in FIG.

他方、オフィスにおいてはペーパーレス化が進行しており、紙の出力物と電子データをシームレスに扱えるような要求も生まれてきている。そのためには、紙と電子データとのI/F機器であるMFPにおいても、例えば蓄積文書の検索性の向上や、ラスタライズされた画像をスキャン後にオブジェクト化して再利用する、POD印刷に対応するために画像加工を高速化する、といったよりインテリジェントな機能を持つことが必要となっている。   On the other hand, paperlessness is progressing in offices, and there is a demand for seamlessly handling paper output and electronic data. For this purpose, MFPs, which are I / F devices for paper and electronic data, also support improved POD printing, for example, improving the searchability of stored documents, and converting rasterized images into objects after scanning. In addition, it is necessary to have more intelligent functions such as speeding up image processing.

上記課題を解決するために、
1.MFP内のデータ処理を高速化するために、システム内をベクトルデータでハンドリングする。
To solve the above problem,
1. In order to speed up the data processing in the MFP, the system is handled with vector data.

2.MFP内のベクタデータをタイル化することにより、データ処理時間を高速化するとともに、並列処理に適応させる。   2. By tiling the vector data in the MFP, the data processing time is increased and it is adapted to parallel processing.

3.外部機器に出力する時はタイルベクタをページベクタに戻してから出力することにより再利用性を高める。というようなMFPシステムを考えている。   3. When outputting to an external device, reusability is improved by returning the tile vector to the page vector and then outputting. I am thinking about an MFP system like this.

一方、MFP内部でハンドリングするためのタイルベクタデータを生成するには、ページベクタデータをタイル分割する処理が必要である。その際に、ページベクタデータに含まれる各オブジェクトを一部もしくは全部含む分割後タイルすべてに、オブジェクトデータをコピーして持たせる手法が考えられる。   On the other hand, in order to generate tile vector data for handling inside the MFP, a process of dividing the page vector data into tiles is necessary. At that time, a method of copying and holding the object data to all the divided tiles including some or all of the objects included in the page vector data is conceivable.

先の手法におけるベクタデータの分割方法において、図10に記載の円形塗りつぶしオブジェクトは、それを一部もしくは全部含む計9つのタイルに、その円形塗りつぶしオブジェクトがコピーされる。出力時には、これらのタイルベクタデータは、それぞれラスタライズ処理されるが、すべてのタイルベクタデータに対して、円形塗りつぶし処理と、タイルの外枠によるクリッピング処理をおこなうことになる。   In the vector data dividing method in the previous method, the circular filled object shown in FIG. 10 is copied to a total of nine tiles including part or all of the circular filled object. At the time of output, each of these tile vector data is rasterized, but all the tile vector data are subjected to a circular filling process and a clipping process using a tile outer frame.

ところで、例えば図10のタイル(X,Y)=(2,4)に注目した場合、タイル単位の観点では、矩形領域塗りつぶしと等価であり、レンダリング時に、より簡単な処理で領域塗りつぶし処理を実行することが可能である。にもかかわらず、本タイルにおけるラスタライズ処理時には、円形塗りつぶしに対するタイル外枠のクリッピング処理をおこなっているため、レンダリング処理に無駄な時間を費やしてしまうという問題点がある。   By the way, for example, when attention is paid to tile (X, Y) = (2, 4) in FIG. 10, it is equivalent to rectangular area filling in terms of tile units, and the area filling process is executed with simpler processing at the time of rendering. Is possible. Nevertheless, at the time of rasterization processing for this tile, since the clipping processing of the outer frame of the tile with respect to the circular fill is performed, there is a problem in that wasted time is spent on the rendering processing.

そこで、上記課題を解決するための手段として、本発明のMFPは以下のような用件で構成される。すなわち、
少なくとも、画像データ入力手段、画像データ出力手段、画像データ制御手段によって構成される画像処理システムであり、
前記画像データ制御手段は少なくとも、
前記画像入力手段で読み取ったラスタ画像を所定の大きさのブロック毎のベクタ画像データに変換する第1の変換手段と、
ネットワークI/F手段と、
所定の大きさのブロックのベクタ画像を、ページ全体をあらわすベクタ画像データに変換する、もしくは、ページ全体をあらわすベクタ画像データを、所定の大きさのブロックのベクタ画像データに変換する第2の変換手段と、
前記所定の大きさのブロックのベクタ画像をラスタ画像データに展開する展開手段と、
を備え、
前記画像データ制御手段内部では、1ページのベクタ画像または所定の大きさのブロック毎のベクタ画像に変換してから、内部のデータ転送を行うことを特徴とする画像処理システムである。
Therefore, as means for solving the above problems, the MFP of the present invention is configured with the following requirements. That is,
An image processing system comprising at least image data input means, image data output means, and image data control means;
The image data control means is at least
First conversion means for converting the raster image read by the image input means into vector image data for each block of a predetermined size;
Network I / F means,
A second conversion for converting a vector image of a block of a predetermined size into vector image data representing the entire page, or converting a vector image data representing the entire page into vector image data of a block of a predetermined size Means,
Expansion means for expanding the vector image of the block of the predetermined size into raster image data;
With
In the image data control means, an image processing system is characterized in that internal data transfer is performed after conversion into a vector image of one page or a vector image for each block of a predetermined size.

また、前記第2の変換手段は、ページ全体をあらわすベクタ画像データを所定の大きさのブロックのベクタ画像データに変換する際に、前記ブロックのベクタ画像データの全領域が、ページ全体をあらわすベクタ画像データの閉領域塗りつぶし命令が塗りつぶす閉領域に、内包されるかどうかを判断する判断手段を備え、
内包されると判断された場合、前記ブロックのベクタ画像データに、その全領域を示す矩形領域の塗りつぶし命令を付加することを特徴とする。
In addition, when the second conversion means converts vector image data representing the entire page into vector image data of a block of a predetermined size, the entire area of the vector image data of the block represents a vector representing the entire page. A determination means for determining whether or not a closed area to be filled by a closed area filling command of image data is included,
When it is determined that it is included, a rectangular area filling command indicating the entire area is added to the vector image data of the block.

また、前記ページ全体をあらわすベクタ画像データの閉領域塗りつぶし命令は、円もしくは凸多角形の塗りつぶし命令であることを特徴とする。   Further, the closed region painting command for vector image data representing the entire page is a circle or convex polygon painting command.

また、前記判断手段は、前記ブロックのベクタ画像データの矩形領域を形成する4点が、ページ全体をあらわすベクタ画像データの閉領域塗りつぶし命令が塗りつぶす閉領域に含まれると判断された場合に、内包されると判断することを特徴とする。   In addition, when the determination unit determines that the four points forming the rectangular region of the vector image data of the block are included in the closed region to be filled by the vector region data closed region fill command representing the entire page, It is judged that it is done.

本発明によれば、ベクタデータを効率よく内部処理するためにページベクタデータからタイルベクタデータへ変換をおこなってハンドリングするMFP装置において、ページベクタデータにおける閉領域塗りつぶしオブジェクトをタイルベクタに分割する際に、前記オブジェクトに完全に内包されるタイルが存在した場合には、自身の全領域をあらわす矩形領域の塗りつぶしオブジェクトを、そのタイルベクタに追加する。   According to the present invention, in the MFP apparatus that converts and handles page vector data to tile vector data for efficient internal processing of vector data, when dividing the closed region fill object in the page vector data into tile vectors, When there is a tile that is completely contained in the object, a rectangular area filling object representing the entire area of the tile is added to the tile vector.

これによって、μRIPを用いてタイルベクタのラスタライズ処理をおこなう際に、閉領域を塗りつぶしてタイルを形成する外枠によってクリッピング処理をおこなうといった複雑な処理をおこなうことなく、単に矩形領域の塗りつぶし処理をおこなえば元の画像データが復元可能となるため、レンダリング時の処理時間が短縮することができる。   Thus, when performing rasterization processing of tile vectors using μRIP, simply performing rectangular region fill processing without performing complicated processing such as clipping the closed region and clipping with the outer frame forming the tile. Since the original image data can be restored, the processing time during rendering can be shortened.

(実施例1)
[MFP装置概要]
以下に図を用いて、本発明の装置及びその動作について詳細に説明する。
(Example 1)
[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に接続されたローカルメモリ19に記憶される。従って、システムメモリ5上には、ページベクタとタイルベクタデータの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 the conventional MFP, the scanned image is converted into a tile vector by the raster → tile vector conversion unit 14. The DL data is stored in the local memory 19 connected to the RIP 18. Therefore, only two types of images of page vector and tile vector data are stored on the system memory 5. 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より、ユーザがコピー開始を指示すると、スキャナ16は原稿画像の読み取り動作を開始する。
(S21):
When the user gives an instruction to start copying from the operation unit (LCD) 10, the scanner 16 starts a document image reading operation.

スキャナ16より画像処理部15へ入力された画像(R、G、B)は画像処理ブロックのクロック同期に周波数変換された後、以下の処理をされる。   The image (R, G, B) input from the scanner 16 to the image processing unit 15 is subjected to the following processing after being frequency-converted to 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):
前記画像処理が終了し、画像処理部15から出力された画像データはラスタ→タイルベクタ変換部14に入力され、タイルベクタ変換処理を行う。すなわち、画像データを所定の大きさのブロックに分割し、各ブロック内のラスター画像に対して、ベクトル化処理を行いブロック単位のベクタ画像を生成する。
(S22):
When the image processing is completed, the image data output from the image processing unit 15 is input to the raster-to-tile vector conversion unit 14 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 a plurality of copies of an original is copied, and the pages can be output in a different order or stored as a saved document in the MFP.

(S24):
HDD8に記憶されたタイルベクタ画像はプリンタ17内の不図示の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 17 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に記憶されたタイルベクタ画像は、プリンタ17からコントローラ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 17 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.

(S34):
システムメモリ5に記憶されたタイルベクタ画像は、HDDCont7とMC4を介してSBB2経由でHDD8に記憶される。HDD8に画像データを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、MFP内に保存文書として記憶したりすることができる。
(S34):
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.

(S35):
HDD8に記憶されたタイルベクタ画像はプリンタ17内の不図示のCPUから送られてくるプリンタレディのタイミングに合わせて、HDDCont7により読み出され、SBB2、MC4を経由してシステムメモリ5に一時的に記憶される。
(S35):
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 17 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.

(S36):
システムメモリ5に記憶されたタイルベクタ画像は、プリンタ17からコントローラ1に送られる起動信号に従って、MC4によって読み出され、SBB2を介してRIP18に転送される。
(S36):
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 17 to the controller 1 and transferred to the RIP 18 via the SBB 2.

RIP18ではまず、タイルベクタを解析し、タイル単位の描画オブジェクト(タイルDLデータ)の生成(インタプリット)を行う。生成されたタイルDLデータはローカルメモリ19に一旦記憶される。   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 19.

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

図4にネットワーク送信させた時のMFP内のデータフローを示す。画像データをHDD8に格納するまでのフローについては、スキャン画像の場合は[コピー]とネットワーク上の外部機器からの入力された画像の場合は[プリント]と同じなので割愛する。   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に記憶されたタイルベクタ画像はタイル⇔ページベクタ変換部13より読み出され、タイルベクタ変換処理を行う。すなわち、ブロック単位に分割されたオブジェクトを結合し、ページ全体でオブジェクトを記述したページベクタ画像を生成する。
(S42):
The tile vector image stored in the system memory 5 is read from the tile / page vector conversion unit 13 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)ベクトル化ステップ:
ベクトル化処理により各属性領域のイメージデータをベクトルデータに変換する。ベクトル化の方法は、以下(a)〜(f)等が存在する。
(S52) Vectorization step:
Image data of each attribute area is converted into vector data by vectorization processing. The vectorization methods include the following (a) to (f).

(a)属性領域が文字領域のとき、さらにOCRによる文字画像のコード変換を行ったり、あるいは文字のサイズ、スタイル、字体を認識し、原稿を走査して得られた文字に可視的に忠実なフォントデータに変換する。   (A) When the attribute area is a character area, the character image code conversion is further performed by OCR, or the character size, style and font are recognized, and the character obtained by scanning the document is visually faithful. Convert to font data.

(b)属性領域が文字領域であり、かつOCRによる認識が不可能であったとき、文字の輪郭を追跡し、輪郭情報(アウトライン)を線分のつながりとして表現する形式に変換する。   (B) When the attribute area is a character area and cannot be recognized by OCR, the outline of the character is traced, and the outline information (outline) is converted into a format that represents the connection of line segments.

(c)属性領域が図形領域のとき、図形オブジェクトの輪郭を追跡し、輪郭情報を線分のつながりとして表現する形式に変換する。   (C) When the attribute region is a graphic region, the contour of the graphic object is tracked and converted into a format in which the contour information is expressed as a connection of line segments.

(d)b、cの線分形式のアウトライン情報をベジエ関数などでフィッティングして、関数情報に変換する。   (D) Fitting the outline information in the line segment format of b and c with a Bezier function or the like to convert it into function information.

(e)cの図形オブジェクトの輪郭情報から、図形の形状を認識し、円、矩形、多角形、等の図形定義情報に変換する。   (E) The shape of the figure is recognized from the contour information of the figure object of c, and converted into figure definition information such as a circle, a rectangle, and a polygon.

(f)属性領域が図形領域であって、特定領域の表形式のオブジェクトの場合、罫線や枠線を認識し、所定のフォーマットの帳票フォーマット情報に変換する。   (F) When the attribute area is a graphic area and the object is a tabular object in the specific area, the ruled line and the frame line are recognized and converted into form format information of a predetermined format.

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

[タイル⇔ページベクタ変換部]
コントローラ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.

図8は、ネットワーク上の外部機器のアプリケーションで作成されたドキュメントである。便宜上、ドキュメントの短手方向を‘X’方向、長手方向を‘Y’方向と定義する。   FIG. 8 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.

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

図9において、901はドキュメント全体の設定に関わるドキュメント設定コマンド、902は文字列802の描画コマンド、903、904は、図形803、804の描画・塗りつぶしコマンドを示している。   In FIG. 9, reference numeral 901 denotes a document setting command for setting the entire document, 902 denotes a drawing command for a character string 802, and 903 and 904 denote drawing / painting commands for figures 803 and 804, respectively.

901から904の描画・塗りつぶしコマンドの詳細について説明する。   Details of the drawing / painting commands 901 to 904 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.

図9の902〜904(C6〜C23)は、ドキュメント801を出力するためのコマンドである。   902 to 904 (C6 to C23) in FIG. 9 are commands for outputting the document 801.

902は、図8の文字列802を描画するためのコマンド列である。C6はページの開始を示すためのものである。C7は文字のフォントの種類を選択するためのコマンドでこの場合には“1”という番号の付けられたフォントセットを選択している。C8はフォントの大きさを設定するもので“10ポイント”の大きさを選んでいる。C9は文字の色を設定するコマンドで、順にR(赤),G(緑),B(青)各色成分の輝度を示してある。この輝度は、0から255の256段階で量子化されているものとする。したがって、コマンドC9以降で記述される文字列の色は赤である。C10は文字を描画する開始位置の座標を示している。座標位置はページの左上を原点に指定する。この場合は、X座標10、Y座標2の位置(以降、{10,2}と表すこととする。)の位置から文字の描画を開始するように設定されている。C11は実際に描画する文字列(あいうえおかきくけこさしすせそたちつてと) を示している。   Reference numeral 902 denotes a command string for drawing the character string 802 in FIG. 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. Therefore, the color of the character string described after the command C9 is red. 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 drawing of characters is set to start from the position of the X coordinate 10 and the Y coordinate 2 (hereinafter referred to as {10, 2}). C11 indicates a character string (to be drawn) actually drawn.

903は、図8の円弧と内部の塗りつぶし803を描画するためのコマンド列である。C12は図形描画の際の面の塗りつぶしの色を示している。色の指定は文字の色と同様である。C13は図形描画の線の色を指定するものである。すなわち、これらのコマンド以降に描画される図形の線と塗りつぶしの色は共に緑となる。C14は図形を描画する開始位置の座標を示している。C15は円弧を描画する際の中心座標と半径を指定するコマンド、C16は、円弧を描画する際の描画開始角度と終了角度を指定するコマンドである。コマンド列902は、全体として、中心座標{25,45}、半径10の円弧を座標{40,45} を開始点として0度から360度の円弧を描画して、内部を塗りつぶすコマンドを表している。   Reference numeral 903 denotes a command string for drawing the arc and the internal fill 803 in FIG. 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. That is, the line of the figure drawn after these commands and the fill color are both green. C14 indicates the coordinates of the start position for drawing the figure. C15 is a command for designating a center coordinate and a radius for drawing an arc, and C16 is a command for designating a drawing start angle and an end angle for drawing an arc. The command column 902 represents a command for filling the inside by drawing an arc of 0 degree to 360 degree with a center coordinate {25,45} and an arc of radius 10 as a starting point and a coordinate {40,45} as a starting point. Yes.

904は、図8の三角形804とその内部の塗りつぶし804を描画するためのコマンド列である。C17〜C19は、C12〜C14までのコマンドと同様に面、線の色の指定、図形描画の開始点の指定などを行なっている。C20〜C21は、三角形804の外形を形成するための、開始点以外の2頂点を指定するコマンド列である。すなわち、C19〜C21によって、座標{20,80}, {60,90}, {50,60} を3頂点とする三角形が指定される。C22は、C19〜C21で指定された頂点をもつ多角形閉領域を形成するコマンドであり、これにより、最後に指定された頂点{50,60} と開始点{20,80} を結ぶ直線および、三角形804内部の塗りつぶし処理がおこなわれる。   Reference numeral 904 denotes a command string for drawing the triangle 804 in FIG. C17 to C19 specify the surface and line colors, specify the drawing start point, and the like in the same manner as the commands from C12 to C14. C20 to C21 are command strings for designating two vertices other than the start point for forming the outer shape of the triangle 804. That is, a triangle having three vertices with coordinates {20, 80}, {60, 90}, {50, 60} is designated by C19 to C21. C22 is a command for forming a polygonal closed region having the vertices designated by C19 to C21, whereby a line connecting the last designated vertex {50,60} and the starting point {20,80} and The interior of the triangle 804 is filled.

最後に、C23はコマンドの終了を指定している。   Finally, C23 specifies the end of the command.

図8のドキュメントを図10で表されるようなブロック単位のタイルベクタで記述した例が図11である。図10中の2つの矢印はドキュメントの短手方向‘X’、長手方向‘Y’を表す。また図中のX方向に配列された数列はX方向のタイルID、Y方向に配列された数列はY方向のタイルIDを表し、各タイルIDは(Y,X)という形式で表されるものとする。すなわち、A,B,C,D,Eの各タイルベクタを表すタイルIDはそれぞれタイルID(0,0)、(0,1)、(0,2)、(3,1)、(6,3)などと表される。   FIG. 11 shows an example in which the document of FIG. 8 is described by a tile vector in block units as shown in FIG. Two arrows in FIG. 10 indicate the short direction “X” and the long direction “Y” of the document. In the figure, the number sequence arranged in the X direction represents the tile ID in the X direction, the number sequence arranged in the Y direction represents the tile ID in the Y direction, and each tile ID is represented in the form of (Y, X). And That is, the tile IDs representing the tile vectors A, B, C, D, and E are tile IDs (0, 0), (0, 1), (0, 2), (3, 1), (6, 3), respectively. ) Etc.

図11において、1101はドキュメント全体の設定に関わるドキュメント設定コマンド、1102は描画コマンド全体をあらわす、1103〜1107はタイルA,B,C,D,Eの描画コマンドを示している。   In FIG. 11, reference numeral 1101 denotes a document setting command relating to setting of the entire document, 1102 denotes the entire drawing command, and 1103 to 1107 denote drawing commands for tiles A, B, C, D, and E.

以下に1101〜1107の描画コマンドの詳細について説明する。   Details of the drawing commands 1101 to 1107 will be described below.

コマンド列1101を構成するC1〜C5は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドC1〜C5はドキュメント1部について1ケ所しか付いていない。これらドキュメント全体に関係するコマンドには、例えば、キャラクタセットコマンド(フォント指定コマンド)、スケーラブルフォントコマンド(スケーラブルフォントを使用するか否かを指定するコマンド)、ハードリセットコマンド(以前のプリンタ使用環境をリセットするコマンド)、などがある。C1はドキュメント設定開始コマンドである。C2はドキュメントの出力用紙サイズを表すコマンドで、この場合にはA4の設定になっている。次のC3はドキュメントの方向を示している。ポートレートとランドスケープがあるが、この場合にはポートレート(PORT)を示している。C4はドキュメントのタイプを表すコマンドで、ページベクタで構成されるドキュメントなのかタイルベクタで構成されるドキュメントなのかを表す。この場合にはタイル(TILE)となっている。C5はドキュメント設定終了コマンドである。   C1 to C5 constituting the command string 1101 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.

コマンド列1102を構成するC6〜C400は、ドキュメント1001を出力するためのコマンドである。C6はページの開始を示すためのものである。   C6 to C400 constituting the command string 1102 are commands for outputting the document 1001. C6 is for indicating the start of a page.

コマンド列1103を構成するC7〜C8は、図10のタイルAの描画コマンド列である。C7は図10のタイルAの描画コマンドの開始を示すものである。2個のパラメータはページ内におけるタイルのIDを、Y方向、X方向の順に示すものである。C8はタイルAの描画コマンドの終わりを表す。タイルAのようにオブジェクトが何も存在しない場合は、タイルの開始と終了だけが記述される。   C7 to C8 constituting the command sequence 1103 are drawing command sequences for the tile A in FIG. C7 indicates the start of the drawing command for tile A in FIG. The two parameters indicate tile IDs in the page in the order of Y direction and X direction. 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.

コマンド列1104を構成するC9〜C16および、コマンド列1105を構成するC17〜C24は、図10のタイルBおよびタイルCの描画コマンド列である。C9は図10のタイルBの描画コマンドの開始を示すものである。C10は文字のフォントの種類を選択するためのコマンドでこの場合には“1”という番号の付けられたフォントセットを選択している。C11はフォントの大きさを設定するもので“10ポイント”の大きさを選んでいる。C12は文字の色を設定するコマンドで、順にR(赤),G(緑),B(青)各色成分の輝度を示してある。この輝度は、0から255の256段階で量子化されているものとする。C13は文字を描画する開始位置の座標を示している。座標位置はタイルの左上を原点に指定する。C14は実際に描画する文字列(あいう) を示している。座標位置はタイルの左上を原点に指定する。この場合は、{0,2}の位置から文字の描画を開始するように設定されている。C15は、C10〜C14で示される文字列が、タイル化する前のページベクタデータのいずれの文字列に含まれる文字列であるかを識別するIDである。C16はタイルBの描画コマンドの終わりを示すものである。また、タイルCの描画コマンド列を表すコマンド列1105を構成するC17〜C24も、上記C9〜C16までのコマンドと同様に、フォントセット、フォントの大きさ、文字の色等を指定している。   C9 to C16 constituting the command string 1104 and C17 to C24 constituting the command string 1105 are drawing command strings for the tile B and the tile C in FIG. 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. The coordinate position is specified with the upper left corner of the tile as the origin. C14 indicates a character string (that is) 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, 2}. C15 is an ID for identifying which of the character strings of the page vector data before being tiled is the character string indicated by C10 to C14. C16 indicates the end of the drawing command for tile B. Similarly to the commands C9 to C16, C17 to C24 constituting the command sequence 1105 representing the drawing command sequence for the tile C also specify the font set, font size, character color, and the like.

コマンド列1106を構成するC100〜C106は、図10のタイルDの描画コマンド列である。C100は図10のタイルDの描画コマンドの開始を示すものである。C101は図形描画の際の面の塗りつぶしの色を示している。色の指定は文字の色と同様である。C102は図形描画の線の色を指定するものである。C103は図形を描画する開始位置の座標を示している。座標位置は、前記したように、タイルの左上を原点に指定する。C104は円弧を描画する際の中心座標と半径を指定するコマンド、C105は、描画開始角度と終了角度を指定するコマンドであり、これにより図8の803に相当する塗りつぶしオブジェクトの、タイルDの外枠によるクリッピングがおこなわれる。   C100 to C106 constituting the command sequence 1106 are drawing command sequences for the tile D in FIG. C100 indicates the start of a drawing command for the tile D 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 start position for drawing a figure. As described above, the coordinate position is designated with the upper left corner of the tile as the origin. C104 is a command for designating the center coordinates and radius for drawing an arc, and C105 is a command for designating a drawing start angle and an end angle. As a result, the fill object corresponding to 803 in FIG. Clipping by frame is performed.

コマンド列1107を構成するC200〜C207は、図10のタイルEの描画コマンド列である。C200は図10のタイルEの描画コマンドの開始を示すものである。C201〜C203は、C101〜C103までのコマンドと同様に面、線の色の指定、図形描画の開始点の指定などを行なっている。C204〜C205は、タイルEが含む三角形の外形を形成するための、開始点以外の2頂点を指定するコマンド列である。すなわち、C203〜C205によって、タイルEの原点に対する相対座標{-10,20}, {30,30}, {20,0} を3頂点とする三角形が指定される。C206は、C203〜C205で指定された頂点をもつ多角形閉領域を形成するコマンドであり、これにより、図8の三角形804に相当するオブジェクトの、タイルEの外枠によるクリッピング処理がおこなわれる。   C200 to C207 constituting the command sequence 1107 are drawing command sequences for the tile E in FIG. C200 indicates the start of the drawing command for tile E in FIG. C201 to C203, like the commands from C101 to C103, specify the surface and line colors, specify the drawing start point, and the like. C204 to C205 are command strings for designating two vertices other than the start point for forming a triangular outline included in the tile E. That is, a triangle having three vertices with relative coordinates {−10, 20}, {30, 30}, {20, 0} with respect to the origin of the tile E is designated by C203 to C205. C206 is a command for forming a polygonal closed region having the vertices designated by C203 to C205, and by this, clipping processing is performed on the object corresponding to the triangle 804 in FIG.

図9のコマンド列903と図11コマンド列1106、および、図9のコマンド列904と図11コマンド列1107を比較してわかるように、通常、ページベクタデータからタイルベクタデータへの分割に際して、ページベクタデータのオブジェクト情報は、それを含むタイルベクタデータに、基本的にコピーされる。すなわち、異なる部分はページベクタ座標系から各タイルベクタの座標系に座標変換された描画図形の座標情報のみである。   As can be seen by comparing the command sequence 903 in FIG. 9 and the command sequence 1106 in FIG. 11 and the command sequence 904 in FIG. 9 and the command sequence 1107 in FIG. The object information of the vector data is basically copied to the tile vector data including it. That is, the only difference is the coordinate information of the drawing figure that has been coordinate-converted from the page vector coordinate system to the coordinate system of each tile vector.

しかし、本発明の実施形態においては、ページベクタデータの円塗りつぶしオブジェクト803に完全に内包された図10のタイルX(タイルID(4,2))と、三角形塗りつぶしオブジェクト804に完全に内包されたタイルY(タイルID(7,4))に関しては、それぞれ円塗りつぶしオブジェクト描画コマンド903、三角形塗りつぶし描画コマンド904をベースとした描画コマンドをコピーせず、別のコマンド列に置き換えてタイルベクタデータを生成する。   However, in the embodiment of the present invention, the tile X (tile ID (4, 2)) of FIG. 10 completely included in the circle fill object 803 of the page vector data and the triangle fill object 804 are completely included. For tile Y (tile ID (7, 4)), the drawing vector based on the circle filling object drawing command 903 and the triangle filling drawing command 904 is not copied, but replaced with another command string to generate tile vector data. To do.

以下で、本発明の主眼をなす上記コマンド列について説明する。   Hereinafter, the above-described command sequence which is the main point of the present invention will be described.

図13のコマンド列1301および1303は、円の塗りつぶしオブジェクト803と三角形の塗りつぶしオブジェクト804を含むタイルX,Yのタイルベクタを、上記で示した他のタイルベクタと同様の手法で生成したタイルベクタである。また、コマンド列1302および1304は、円の塗りつぶしオブジェクト803と三角形の塗りつぶしオブジェクト804を含むタイルX,Yのタイルベクタを、後述する本発明の特徴をなす手法によって生成したタイルベクタである。   The command strings 1301 and 1303 in FIG. 13 are tile vectors generated by the same method as the other tile vectors shown above, for tile vectors X and Y including a circle fill object 803 and a triangle fill object 804. Also, the command strings 1302 and 1304 are tile vectors generated by a technique that forms a tile vector of tiles X and Y including a circle fill object 803 and a triangle fill object 804 by a method that characterizes the present invention to be described later.

コマンド列1301を構成するC100〜C106、およびコマンド列1303を構成するC200〜C207は、コマンド列1106を構成するC100〜C106、およびコマンド列1107を構成するC200〜C207と同様なので、説明を省略する。   The C100 to C106 constituting the command string 1301 and the C200 to C207 constituting the command string 1303 are the same as the C100 to C106 constituting the command string 1106 and the C200 to C207 constituting the command string 1107, and thus description thereof is omitted. .

コマンド列1302およびコマンド列1304は、それぞれタイルX、Yの全領域を塗りつぶすための矩形塗りつぶしオブジェクトである。C303、C403は、図形を描画する開始位置の座標を示している。C304、C404は、C303、C403で設定した開始点から、右方向に10,下方向に10の矩形を描画するオブジェクトである。C305、C405は、C304、C404で形成した矩形閉領域を塗りつぶすオブジェクトである。   A command string 1302 and a command string 1304 are rectangular fill objects for filling all areas of the tiles X and Y, respectively. C303 and C403 indicate the coordinates of the start position for drawing a figure. C304 and C404 are objects for drawing 10 rectangles in the right direction and 10 rectangles in the downward direction from the start point set in C303 and C403. C305 and C405 are objects that fill the rectangular closed area formed in C304 and C404.

これらのコマンド列の置換処理は、後述するタイル⇔ベクタ変換部においておこなわれる。   The replacement process of these command strings is performed in a tile / vector conversion unit to be described later.

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

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

(S601):
まず、システムメモリ5中に記憶されたベクタ画像から、ヘッダ部分に相当するコマンド列を読み込み、ドキュメント全体に関するコマンド部分を解析する。前述の図9または図11の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. 9 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.

例えば、図9では、902で“あいう”を含む全ての文字列の描画コマンドを記述しているが、図10のようにタイル化した場合にはタイルBには“あいう”以外の文字は含まれない。従って、タイルベクタでは文字列を途中で分割し、分割された後続の文字列は別の文字列として、次のタイルに記述を行う。次のタイルに記述が収まらなかったら、同様にまたタイルに含まれる文字列に分割し、分割された全ての文字列がタイルサイズに収まるまで繰り返す。文字列をどこで切るかは、フォントの種類、サイズからタイル内に収まる文字数を算出し、その数だけの文字を抽出する。902では、文字数が4つということになり、図9のC11の文字列はタイルベクタBとしては図11のC14のような記述に変換される。   For example, in FIG. 9, the drawing commands for all character strings including “A” are described in 902, but when tiled as shown in FIG. 10, the tile B includes characters other than “A”. I can't. 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 C11 in FIG. 9 is converted into a description like C14 in FIG.

また、上記方法によれば、各タイルの文字列間の連続性に関する情報がなくなってしまい、タイルベクタデータのページベクタデータへの再結合時に、元の文字列情報(図8、図9の例で言えば、“あいうえおかきく…たちつてと”)が復元できない。そこで、分割前の元の文字列情報“あいうえおかきく…たちつてと”に一意の文字列ID = 0を付加し、生成するタイルベクタデータとは別に、システムメモリ5等に保持しておく。そして、当該文字列IDを、分割後の文字列と対にしてタイルベクタデータに持たせることで、後の再結合時の文字列情報再現性を持たせることができる。   Further, according to the above method, there is no information on the continuity between the character strings of each tile, and the original character string information (examples of FIGS. 8 and 9) is obtained when the tile vector data is recombined with the page vector data. In other words, “Aioka Okikaku… Tatsuteto”) cannot be restored. Therefore, a unique character string ID = 0 is added to the original character string information “Aiue Okikaku ... Tatsuto” before the division, and it is stored in the system memory 5 or the like separately from the tile vector data to be generated. Then, by providing the character string ID in the tile vector data in pairs with the divided character string, it is possible to have character string information reproducibility at the time of subsequent recombination.

一方、コマンド列903では図形の描画を記述しているが、903のC12〜C16で記述されている図形は、図8の円塗りつぶしオブジェクト803に相当する。該オブジェクト803は、図10では一つのタイルに収まらないので、それを含むタイルDをはじめとする複数のタイルに、オブジェクト803のコマンド列903の座標変換をおこなったオブジェクト情報をコピーする。また、前述したように、円塗りつぶしオブジェクト803に完全に内包されるタイルに対しては、円塗りつぶしオブジェクトのコマンド列をコピーするのではなく、タイル全体を表す矩形の塗りつぶしオブジェクトのコマンド列を該当するタイルベクタに付加する。コマンド列904に関しても同様である。   On the other hand, although the drawing of a figure is described in the command string 903, the figure described in C12 to C16 in 903 corresponds to the circle fill object 803 in FIG. Since the object 803 does not fit in one tile in FIG. 10, the object information obtained by performing coordinate conversion of the command sequence 903 of the object 803 is copied to a plurality of tiles including the tile D including the object 803. Further, as described above, for a tile that is completely contained in the circle fill object 803, the command sequence of the rectangular fill object that represents the entire tile is applied instead of copying the command sequence of the circle fill object. Append to tile vector. The same applies to the command string 904.

以上のオブジェクト分割処理のより詳細なフローチャートを図14に示し、これに基づいて説明する。   A more detailed flowchart of the above object division processing is shown in FIG. 14, and will be described based on this.

まず、ある描画コマンドが複数タイルへの分割を必要とする場合、当該コマンドが文字列描画に関するものか、図形描画に関するものかの判別をおこなう(S1401)。   First, when a drawing command needs to be divided into a plurality of tiles, it is determined whether the command relates to character string drawing or graphic drawing (S1401).

<コマンドが文字列描画の場合>
コマンドが文字列描画に関するものである場合(S1401のY)の処理を、図9の902を例に説明する。
<When the command is character string drawing>
The processing when the command is related to character string drawing (Y in S1401) will be described by taking 902 in FIG. 9 as an example.

S1401でコマンド902が文字列描画に関するものであると判別されると、当該コマンドに含まれる文字列“あいうえおかきく…たちつてと”に対して一意な文字列ID = 0を割り当て、システムメモリ5に保持する(S1402)。   If it is determined in step S1401 that the command 902 is related to character string drawing, a unique character string ID = 0 is assigned to the character string “Aioka Okikaku ... Tatsuto” included in the command, and the system memory 5 (S1402).

次に、文字列“あいうえおかきく…たちつてと”が含まれるタイルのタイルID (0,1)〜(0,4)、(1,1)〜(1,4)をすべて抽出する(S1403)。そして、抽出したタイルの1つに注目し、当該注目タイルに一部もしくは全部含まれる文字のみを文字列“あいうえおかきく…たちつてと”から抽出する(S1404)。たとえば、タイルID(0,1)のタイルに対しては文字列“あいう”を抽出し、タイルID(0,2)のタイルに対しては文字列“うえお”を抽出する。抽出した文字列の描画情報は、各タイルIDのタイルベクタデータに追加され(S1405)、さらに、当該文字列の属する文字列IDがタイルベクタデータに追加される(S1406)。S1402において、図10の文字列“あいうえおかきく…たちつてと”にはID=0が割り当てられたので、図9のコマンド902に対して、文字列描画コマンドのオブジェクト分割処理をおこなった場合、図10のタイルB,Cのタイルベクタ中間データは、それぞれ図11の1104、1105のようになる。   Next, all tile IDs (0, 1) to (0, 4) and (1, 1) to (1, 4) of tiles including the character string “Aiue Okakikaku ... Tatsuteto” are extracted (S1403). ). Then, attention is paid to one of the extracted tiles, and only the characters included in part or all of the target tile are extracted from the character string “Aiue Okakiku ... Tatsuto” (S1404). For example, the character string “Aoi” is extracted for the tile with the tile ID (0, 1), and the character string “Ue” is extracted for the tile with the tile ID (0, 2). The drawing information of the extracted character string is added to the tile vector data of each tile ID (S1405), and the character string ID to which the character string belongs is further added to the tile vector data (S1406). In S1402, since ID = 0 is assigned to the character string “Aiue Okikiku ... Tatsuto” in FIG. 10, when the object dividing process of the character string drawing command is performed on the command 902 in FIG. The tile vector intermediate data of tiles B and C in FIG. 10 are as shown by 1104 and 1105 in FIG. 11, respectively.

以上のS1404〜S1406の処理を、S1403で抽出したすべてのタイルに対しておこない、文字列描画コマンドに対するオブジェクト分割処理は終了する。   The above processes of S1404 to S1406 are performed for all the tiles extracted in S1403, and the object dividing process for the character string drawing command is completed.

<コマンドが図形描画の場合>
S1401でコマンド903が図形描画に関するものであると判別されると、次に当該コマンドが閉領域塗りつぶしコマンドに関するものであるかどうかを判別する(S1408)。
<When the command is drawing graphics>
If it is determined in S1401 that the command 903 relates to graphic drawing, it is next determined whether or not the command relates to a closed area filling command (S1408).

当該コマンドが閉領域塗りつぶしコマンドに関するものでなかった場合(S1408のN)、図形が含まれるタイルのタイルIDをすべて抽出する(S1409)。そして、抽出したタイルに対し、当該コマンドを、抽出したタイルの各タイルベクタデータに追加する(S1410)。   If the command is not related to the closed region filling command (N in S1408), all tile IDs of tiles including the graphic are extracted (S1409). Then, for the extracted tile, the command is added to each tile vector data of the extracted tile (S1410).

次に、本発明の主眼をなす、コマンドが閉領域塗りつぶしコマンドに関するものである場合(S1401のY)の処理を、図9のコマンド903を例に説明する。   Next, the processing in the case where the command is related to the closed region filling command (Y in S1401), which is the main point of the present invention, will be described by taking the command 903 in FIG. 9 as an example.

まず描画する円が含まれるタイルのタイルID (1,3)〜(3,5)をすべて抽出する(S1412)。そして、抽出したタイルの1つに注目し、当該コマンド903によって塗りつぶされる閉領域にタイルが完全に内包されるかどうかを判断する(S1413)。図10のタイルDのように、完全には内包されない場合(S1413のN)、コマンド903をタイルDのタイルベクタデータに追加する。図10のタイルXのように、完全に内包される場合(S1413のY)、タイルXのタイルベクタデータには、図13の1302のような、タイルX全面の矩形領域の塗りつぶしをあらわす中間コマンドをタイルXのタイルベクタに追加する。   First, all tile IDs (1, 3) to (3, 5) of tiles including a circle to be drawn are extracted (S1412). Then, paying attention to one of the extracted tiles, it is determined whether or not the tile is completely included in the closed region filled with the command 903 (S1413). When it is not completely included as in the tile D of FIG. 10 (N in S1413), the command 903 is added to the tile vector data of the tile D. When the tile X is completely included (Y in S1413) as in the tile X of FIG. 10, the tile vector data of the tile X is an intermediate command that represents the filling of the rectangular area of the entire surface of the tile X, such as 1302 in FIG. Is added to the tile vector of tile X.

以上のような処理をS1412で抽出したタイルすべてに対しておこなった後に、閉領域塗りつぶしオブジェクトに対するオブジェクト分割処理を終了する。   After the above processing is performed for all the tiles extracted in S1412, the object division processing for the closed region filled object is terminated.

(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)
全ての描画コマンドの記述変換が終了したら、図10のように分割された各タイル領域に対し、ページの左上から順にタイルベクタとしてシステムメモリ5への書き出しを行う。タイルベクタとしては、前述のS605、S606で記述されたコマンドに対し、タイルの始まりと終わりを示すコマンドを追加するようなフォーマットで記述される。
(S608)
When the description conversion of all the drawing commands is completed, the tile areas divided as shown in FIG. 10 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内にオブジェクトがない状態のタイルベクタを生成しておく。オブジェクトがないタイルベクタ、例えば図10のタイルAは、1103のように始まりと終わりのコマンドのみのC7〜C8のように記述される。次に、S603〜S607で処理されたコマンドが存在する座標のタイルに対し、オブジェクトの記述を追加する。タイルBの場合は、図11の1104のC9〜C15のような記述となる。同様に、タイルCの場合は図11の1105、タイルDの場合は図11の1106、タイルEの場合は図11の1107、タイルXの場合は、図13の1302、タイルYの場合は図13の1304のような記述となる。   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. 10 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. Similarly, for tile C, 1105 in FIG. 11, for tile D, 1106 in FIG. 11, for tile E, 1107 in FIG. 11, for tile X, 1302 in FIG. 13, and for tile Y, FIG. 13 is a description like 1304.

(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、C23だけで記述されるページである。次に、S610〜S613で処理されたオブジェクトの記述を追加する。図9でいうと、902のC7〜C11の記述の部分がそれにあたる。この場合のオブジェクトは文字列{あいうえおかき・・・}を表しているがこれは、S612で図11の1104や1105等で記述される各タイルの文字列を順次結合したオブジェクトの記述に変更されている。   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 C23. Next, a description of the object processed in S610 to S613 is added. In FIG. 9, the description portion of C7 to C11 in 902 corresponds to it. In this case, the object represents the character string {Aiue Okiki ...}, but this is changed to an object description in which the character strings of the tiles described in 1104 and 1105 in FIG. ing.

(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.

(S617)
1つのタイルベクタの書き出しが終わるとそのページのタイルの記述が全て終了したかどうかを判断する。終了していない、と判断された場合にはS610に戻る。ページ内の全てのタイルの処理が終了した場合には、タイル→ページベクタ変換を終了する。
(S617)
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.

タイルベクタの展開は図7に示され、以下のステップで行われる。   The expansion of the tile vector is shown in FIG. 7 and 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 it is a non-character drawing command, it is specified by the command. 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 the command is determined to be 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 processing unit 15 via the SBB 2.

図14のフローの処理S1415でおこなった本発明の主眼をなす処理は、本ステップS77の描画処理を高速化するという効果がある。   The process that forms the main point of the present invention performed in the process S1415 of the flow in FIG. 14 has an effect of speeding up the drawing process in the present step S77.

(S78)
S75またはS77で一つのタイルベクタに対する、コマンド解析または描画処理が終了したら、読み込まれたタイルベクタメモリに対し全てが終了したかどうかを判断し、まだ処理が残っているようであれば、S72に戻り、次のタイルベクタの処理を続ける。終了している場合はS79に進む。
(S78)
When command analysis or drawing processing 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. If processing still remains, processing returns to S72. 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.

以上、説明したように本発明によれば、ベクタデータを効率よく内部処理するためにページベクタデータからタイルベクタデータへ変換をおこなってハンドリングするMFP装置において、ページベクタデータにおける閉領域塗りつぶしオブジェクトをタイルベクタに分割する際に、前記オブジェクトに完全に内包されるタイルが存在した場合には、自身の全領域をあらわす矩形領域の塗りつぶしオブジェクトを、そのタイルベクタに追加する。   As described above, according to the present invention, in an MFP apparatus that converts and handles page vector data to tile vector data for efficient internal processing of vector data, the closed region fill object in the page vector data is converted to a tile vector. When there is a tile that is completely contained in the object at the time of division into two, a filled object of a rectangular area that represents the entire area of the object is added to the tile vector.

これによって、μRIPを用いてタイルベクタのラスタライズ処理をおこなう際に、閉領域を塗りつぶしてタイルを形成する外枠によってクリッピング処理をおこなうといった複雑な処理をおこなうことなく、単に矩形領域の塗りつぶし処理をおこなえば元の画像データが復元可能となるため、レンダリング時の処理時間が短縮することができる。   Thus, when performing rasterization processing of tile vectors using μRIP, simply performing rectangular region fill processing without performing complicated processing such as clipping the closed region and clipping with the outer frame forming the tile. Since the original image data can be restored, the processing time during rendering can be shortened.

本発明のシステム構成図である。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 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. 本発明において、ページベクタの閉領域塗りつぶしオブジェクトに、分割後のタイルが完全に内包される場合に、元の閉領域塗りつぶしオブジェクトをコピーする替わりにタイルベクタに追加する矩形領域塗りつぶしオブジェクトを表す図である。In the present invention, when a tile after division is completely included in a closed region fill object of a page vector, it is a diagram showing a rectangular region fill object to be added to a tile vector instead of copying the original closed region fill object . 本発明におけるオブジェクト分割処理の動作フローを説明する図である。It is a figure explaining the operation | movement flow of the object division process in this invention.

Claims (4)

少なくとも、画像データ入力手段、画像データ出力手段、画像データ制御手段によって構成される画像処理システムであり、
前記画像データ制御手段は少なくとも、
前記画像入力手段で読み取ったラスタ画像を所定の大きさのブロック毎のベクタ画像データに変換する第1の変換手段と、
ネットワークI/F手段と、
所定の大きさのブロックのベクタ画像を、ページ全体をあらわすベクタ画像データに変換する、もしくは、ページ全体をあらわすベクタ画像データを、所定の大きさのブロックのベクタ画像データに変換する第2の変換手段と、
前記所定の大きさのブロックのベクタ画像をラスタ画像データに展開する展開手段と、
を備え、
前記画像データ制御手段内部では、1ページのベクタ画像または所定の大きさのブロック毎のベクタ画像に変換してから、内部のデータ転送を行うことを特徴とする画像処理システム。
An image processing system comprising at least image data input means, image data output means, and image data control means;
The image data control means is at least
First conversion means for converting the raster image read by the image input means into vector image data for each block of a predetermined size;
Network I / F means,
A second conversion for converting a vector image of a block of a predetermined size into vector image data representing the entire page, or converting a vector image data representing the entire page into vector image data of a block of a predetermined size Means,
Expansion means for expanding the vector image of the block of the predetermined size into raster image data;
With
An image processing system characterized in that inside the image data control means, a vector image of one page or a vector image for each block of a predetermined size is converted, and then internal data transfer is performed.
前記第2の変換手段は、ページ全体をあらわすベクタ画像データを所定の大きさのブロックのベクタ画像データに変換する際に、前記ブロックのベクタ画像データの全領域が、ページ全体をあらわすベクタ画像データの閉領域塗りつぶし命令が塗りつぶす閉領域に、内包されるかどうかを判断する判断手段を備え、
内包されると判断された場合、前記ブロックのベクタ画像データに、その全領域を示す矩形領域の塗りつぶし命令を付加することを特徴とした請求項1記載の画像処理システム。
When the second conversion means converts vector image data representing the entire page into vector image data of a block having a predetermined size, the vector image data representing the entire page of the entire area of the vector image data of the block. A determination means for determining whether or not to be included in the closed area to be filled by the closed area filling command of
2. The image processing system according to claim 1, wherein when it is determined that the block is included, a rectangular area filling command indicating the entire area is added to the vector image data of the block.
前記ページ全体をあらわすベクタ画像データの閉領域塗りつぶし命令は、円もしくは凸多角形の塗りつぶし命令であることを特徴とした請求項2記載の画像処理システム。   3. The image processing system according to claim 2, wherein the closed region fill command for vector image data representing the entire page is a circle or convex polygon fill command. 前記判断手段は、前記ブロックのベクタ画像データの矩形領域を形成する4点が、ページ全体をあらわすベクタ画像データの閉領域塗りつぶし命令が塗りつぶす閉領域に含まれると判断された場合に、内包されると判断することを特徴とした請求項3記載の画像処理システム。   The determination means is included when it is determined that the four points forming the rectangular region of the vector image data of the block are included in the closed region to be filled by the closed region fill command of the vector image data representing the entire page. The image processing system according to claim 3, wherein the image processing system is determined.
JP2006337171A 2006-12-14 2006-12-14 Image processing system Withdrawn JP2008153764A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006337171A JP2008153764A (en) 2006-12-14 2006-12-14 Image processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006337171A JP2008153764A (en) 2006-12-14 2006-12-14 Image processing system

Publications (1)

Publication Number Publication Date
JP2008153764A true JP2008153764A (en) 2008-07-03

Family

ID=39655521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006337171A Withdrawn JP2008153764A (en) 2006-12-14 2006-12-14 Image processing system

Country Status (1)

Country Link
JP (1) JP2008153764A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015062112A (en) * 2013-08-23 2015-04-02 株式会社リコー Information processing system, method, information processing apparatus, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015062112A (en) * 2013-08-23 2015-04-02 株式会社リコー Information processing system, method, information processing apparatus, and program

Similar Documents

Publication Publication Date Title
US7680358B2 (en) Image processing apparatus and control method thereof, and program
JP4757120B2 (en) Image processing apparatus and control method thereof
US8139082B2 (en) Image processing apparatus and its control method, and program
JP2007174270A (en) Image processing apparatus, image processing method, storage medium, and program
US8014031B2 (en) Formation of picture image having gradation expressed by fill area and one-line image data
CN101562680B (en) Image forming apparatus and image forming method
JP3745179B2 (en) Information processing apparatus, control method therefor, and storage medium
JP2008153764A (en) Image processing system
JP4646703B2 (en) Image processing apparatus, control method therefor, and program
JP2008294831A (en) Image distortion correction device
JP5100354B2 (en) Image processing apparatus, image processing method, and computer program
JP2009033541A (en) Image processing system
JP2008148066A (en) Image processor, and its control method, and control program
JP3133848B2 (en) Image processing apparatus and image processing system
JP3297448B2 (en) Image processing apparatus and image processing method
JP3236053B2 (en) Image processing system and image processing method
JP2002042119A (en) Image processing device
JP4697933B2 (en) Image processing apparatus, image input / output apparatus and methods thereof
JP3226583B2 (en) Color image processing system and image processing apparatus
US8643896B2 (en) Image processing apparatus for outputting raster image using a plurality of processors
JP3755265B2 (en) Print processing device
JP2009284508A (en) Image processor, its control method and program
JP2006331308A (en) Image processing apparatus and its control method, and program
JP2001219602A (en) Print system and method for controlling print
JP2008173946A (en) Image processing apparatus, image processing method, and image processing program

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100302