JP4646703B2 - Image processing apparatus, control method therefor, and program - Google Patents

Image processing apparatus, control method therefor, and program Download PDF

Info

Publication number
JP4646703B2
JP4646703B2 JP2005157609A JP2005157609A JP4646703B2 JP 4646703 B2 JP4646703 B2 JP 4646703B2 JP 2005157609 A JP2005157609 A JP 2005157609A JP 2005157609 A JP2005157609 A JP 2005157609A JP 4646703 B2 JP4646703 B2 JP 4646703B2
Authority
JP
Japan
Prior art keywords
image data
block
tile
data
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005157609A
Other languages
Japanese (ja)
Other versions
JP2006327155A5 (en
JP2006327155A (en
Inventor
昌孝 保田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2005157609A priority Critical patent/JP4646703B2/en
Publication of JP2006327155A publication Critical patent/JP2006327155A/en
Publication of JP2006327155A5 publication Critical patent/JP2006327155A5/ja
Application granted granted Critical
Publication of JP4646703B2 publication Critical patent/JP4646703B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)

Description

本発明は、入力された画像データに対して画像処理を施して管理する画像処理装置及びその制御方法、プログラムに関するものである。   The present invention relates to an image processing apparatus that manages image data by performing image processing on input image data, a control method thereof, and a program.

ネットワーク上に接続され、外部あるいは内部の画像データに対する画像データ処理を実行し、その処理した画像データを出力する画像データ入出力システムが知られている。   There is known an image data input / output system that is connected to a network, executes image data processing on external or internal image data, and outputs the processed image data.

この画像データ入出力システムとしては、MFP(Multi Function Peripheral)と呼ばれるものがある。   As this image data input / output system, there is a so-called MFP (Multi Function Peripheral).

ここで、従来のMFPを制御するコントローラ100を図28に示す。コントローラ100は、システムバスブリッジ(SBB)101により、CPU102、メモリコントローラ(MC)103、汎用バス105、画像処理部110、画像データ展開部(RIP(Raster Image Processor))113が接続されている。   Here, a controller 100 for controlling a conventional MFP is shown in FIG. 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 (Raster Image Processor)) 113 by a system bus bridge (SBB) 101.

汎用バス105には、画像データを蓄積するための:大容量記憶部(HDD(ハードディスクドライブ))107を制御するハードディスクコントローラ(HDDCont)106、MFPが接続されているネットワーク108を介して、外部機器間との画像データの転送を行うインターフェースになるネットワークI/F109が接続されている。この画像データとしては、ページベクタ形式(PDL(ページ記述言語)、PDF、SVG等)の画像データがある。   The general-purpose bus 105 stores image data: a hard disk controller (HDDCont) 106 that controls a mass storage unit (HDD (Hard Disk Drive)) 107, and an external device via a network 108 to which the MFP is connected. A network I / F 109 serving as an interface for transferring image data to and from the network is connected. The image data includes image data in a page vector format (PDL (page description language), PDF, SVG, etc.).

HDDCont106には、HDD(ハードディスクドライブ)107が接続されており、画像データの記憶媒体として使われる。同様に、MC103には、システムメモリ(Memory)104が接続されており、画像データを一時記憶するための媒体として使われる。システムメモリ104には、一般的には、DIMMが用いられる。   An HDD (hard disk drive) 107 is connected to the HDDCont 106 and is used as a storage medium for image data. Similarly, a system memory (Memory) 104 is connected to 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が接続されている。スキャナ111から入力された画像データは、画像処理部110によって所定の画像処理が実施された後、コントローラ100へ入力される。また、コントローラ100内に記憶されている画像データは、画像処理部110によって所定の画像処理が実施され、プリンタ112へ出力される。   A scanner 111 and a printer 112 are connected to the image processing unit 110. The image data input from the scanner 111 is input to the controller 100 after predetermined image processing is performed by the image processing unit 110. The image data stored in the controller 100 is subjected to predetermined image processing by the image processing unit 110 and is output to the printer 112.

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

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

HDD107には、画像データとしてスキャナ113から入力された画像データとRIP113でレンダリングされたラスタ画像データが記憶される。   The HDD 107 stores image data input from the scanner 113 and raster image data rendered by the RIP 113 as image data.

また、ページラスタ/タイルラスタ変換部114は、システムメモリ104上に一旦記憶されたラスタデータを所定サイズの矩形ブロック(タイル)に分割して、タイルラスタデータに変換する。この変換したタイルラスタデータは、再度、システムメモリ104上に一旦記憶される。システムメモリ104上に、一旦記憶されたタイルラスタデータは、画像処理部110内部で、複数タイルを同時に処理することも可能である。これにより、画像処理の並列動作による高速化が実現される。
特開2004−120639号公報
The page raster / tile raster conversion unit 114 divides raster data once stored in the system memory 104 into rectangular blocks (tiles) of a predetermined size and converts them into tile raster data. The converted tile raster data is once stored in the system memory 104 again. The tile raster data once stored in the system memory 104 can simultaneously process a plurality of tiles in the image processing unit 110. As a result, speeding up by parallel operation of image processing is realized.
Japanese Patent Laid-Open No. 2004-120639

上述のようなMFPが扱う画像データの中でも、ラスタ画像データはデータサイズが大きい。そのため、システムメモリ104のメモリサイズや、汎用バス105及びHDDCont106−HDD107間のバンド幅等のシステム・リソースを多く消費する。   Among the image data handled by the MFP as described above, 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 are consumed.

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

一方、最近はユーザの出力画像の画質要求がますます高くなり、その解決策の1つとして、画像データに対する高解像度化(高画質化)が促進されている。また、画質と並行してシステムの処理速度向上も要求されている。   On the other hand, recently, the user demands for image quality of output images are increasing, and as one of the solutions, higher resolution (higher image quality) of image data is promoted. There is also a demand for improving the processing speed of the system in parallel with the image quality.

そのため、上述の様々な要求仕様を満足するために必要なシステム・リソースが肥大化してしまう。従って、プロダクトのコストパフォーマンスでの折り合いをつけることが課題となっている。   For this reason, system resources necessary for satisfying the above various required specifications are enlarged. Therefore, it is an issue to make a trade-off between product cost performance.

また、このプロダクトのコストパフォーマンスに対する課題とは別に、複雑、多様化するシステムを開発するための人的リソースの問題も解決することが要求されている。そして、これを満足するためには、様々な要求仕様に対し、1つの基本システムをスケーラブルな形で構成することにより、製品ラインナップを効率良く整備することが課題となっている。   Apart from the cost performance issues of this product, it is also required to solve the problem of human resources for developing complicated and diversified systems. In order to satisfy this requirement, it is an issue to efficiently maintain the product lineup by configuring one basic system in a scalable form for various required specifications.

例えば、図28における画像処理部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(Print On Demand)印刷に対応するために画像加工を高速化する、といったよりインテリジェントな機能を持つことが必要となっている。   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, even in an MFP, which is an I / F device for paper and electronic data, for example, improvement in searchability of stored image data, or conversion of raster image data into object data that can be converted into reusable object data. (Print On Demand) In order to support printing, it is necessary to have a more intelligent function such as speeding up image processing.

本発明は上記の課題を解決するためになされたものであり、システム全体のシステム・リソースの制約を緩和し、かつトータルスループットを向上することができる画像処理装置及びその制御方法、プログラムを提供することを目的とする。   The present invention has been made to solve the above problems, and provides an image processing apparatus, a control method therefor, and a program that can alleviate restrictions on system resources of the entire system and improve the total throughput. For the purpose.

上記課題を解決するための本発明による画像処理装置は以下の構成を備える。即ち、
入力された画像データに対する処理を実行する画像処理装置であって、
画像データを入力する入力手段と、
画像データを出力する出力手段と、
ラスタ画像データ中のオブジェクトを内包するブロックのブロックサイズを設定し、当該設定したブロックサイズのうち所定サイズより大きいブロックサイズに関しては前記所定サイズ以下のブロックサイズに分割して設定し、前記ラスタ画像データを、当該設定された前記所定サイズ以下のブロックサイズのブロック毎に分割して、各ブロックにベクトル化処理を実行することで、ブロックベクタ画像データに変換する第1変換手段と、
ブロックベクタ画像データを記憶する第1記憶手段と、
ブロックベクタ画像データをラスタ画像データに展開する展開手段と、
前記展開手段から出力されるデータを記憶する第2記憶手段と、
前記入力手段から入力されたラスタ画像データを前記第1変換手段でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記第1記憶手段に記憶させ、前記第1記憶手段に記憶されブロックベクタ画像データを前記展開手段でラスタ画像データに展開して前記第2記憶手段に記憶させ、前記第2記憶手段に記憶された前記ラスタ画像データを前記出力手段から出力させるように、装置内での処理対象の画像データの転送を制御する画像データ転送制御手段と
を備える。
An image processing apparatus according to the present invention for solving the above-described problems has the following configuration. That is,
An image processing apparatus that executes processing on input image data,
Input means for inputting image data;
An output means for outputting image data;
A block size of a block including an object in raster image data is set, and a block size larger than a predetermined size among the set block sizes is divided and set to a block size equal to or smaller than the predetermined size, and the raster image data Is converted into blocks each having a block size equal to or less than the set predetermined size , and a vectorization process is performed on each block, thereby converting into block vector image data;
First storage means for storing block vector image data;
Expansion means for expanding block vector image data into raster image data;
Second storage means for storing data output from the expansion means;
The raster image data input from the input means is converted into block vector image data by the first conversion means, and the converted block vector image data is stored in the first storage means and stored in the first storage means. the block vector image data is stored in the second storage means to expand the raster image data in the expansion unit, the raster image data stored in said second storage means so as to output from said output means, Image data transfer control means for controlling transfer of image data to be processed in the apparatus.

また、好ましくは、ページベクタ画像データ中のオブジェクトを内包する大きさのブロックを設定し、当該設定したブロックのうち上限サイズを超えている大きさのブロックに関しては該上限サイズ以下のブロックに分割して設定し、前記ページベクタ画像データを、当該設定された前記上限サイズ以下のブロック毎のブロックベクタ画像データへ変換する第2変換手段を更に備え、
前記画像データ転送制御手段は、前記入力手段から入力された画像データがページベクタ画像データである場合は、当該入力されたページベクタ画像データを前記第2変換手段でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記第1記憶手段に記憶させる。
Preferably, a block having a size including an object in the page vector image data is set, and a block having a size exceeding the upper limit size among the set blocks is divided into blocks having the upper limit size or less. A second conversion means for converting the page vector image data into block vector image data for each block equal to or smaller than the set upper limit size ,
When the image data input from the input means is page vector image data, the image data transfer control means causes the second conversion means to convert the input page vector image data into block vector image data , the transformed block vector image data Ru is stored in the first storage means.

また、好ましくは、1ページ分の前記ブロックベクタ画像データから、ページ全体を示すページベクタ画像データへ変換する第3変換手段を更に備え、
前記画像データ転送制御手段は、
前記出力手段から出力させるべき画像データの形式がラスタ画像データ形式であると判断した場合は、前記第1記憶手段に記憶されたブロックベクタ画像データ前記展開手段でラスタ画像データに展開して前記第2記憶手段に記憶させ、前記第2記憶手段に記憶された前記ラスタ画像データを前記出力手段から出力させ、
前記出力手段から出力させるべき画像データの形式がベクタ画像データ形式であると判断した場合は、前記第1記憶手段に記憶されたブロックベクタ画像データ前記第3変換手段でページベクタ画像データに展開して前記第1記憶手段に記憶させ、当該第1記憶手段に記憶された前記ページベクタ画像データを前記出力手段から出力させる。
Preferably, the apparatus further comprises third conversion means for converting the block vector image data for one page into page vector image data indicating the entire page,
The image data transfer control means includes:
The format of image data to be outputted from said output means when it is determined that the raster image data form, extract block vector image data stored in said first storage means into raster image data by the expansion means Storing in the second storage means, outputting the raster image data stored in the second storage means from the output means,
If the format of the image data to be outputted from the output means determines that the vector image data format, developed in the page vector image data block vector image data stored in said first memory means by said third converting means Then, the page vector image data stored in the first storage means and stored in the first storage means is output from the output means.

また、好ましくは、前記画像データ転送制御手段は、バスを介して、各手段に接続され、処理対象の画像データの形式に応じて、当該処理対象の画像データの転送に用いる前記バスの調整制御を実行するバス調停手段を備える。   Preferably, the image data transfer control means is connected to each means via a bus and adjusts the bus used for transferring the image data to be processed according to the format of the image data to be processed. Bus arbitration means is provided.

また、好ましくは、前記第1変換手段あるいは前記第2変換手段は、処理対象の画像データを分割したブロック中にオブジェクトが含まれない場合には、対応するブロックベクタ画像データの生成を禁止する。   Preferably, the first conversion unit or the second conversion unit prohibits generation of corresponding block vector image data when an object is not included in a block obtained by dividing the image data to be processed.

また、好ましくは、前記第1変換手段は、少なくとも2つのオブジェクトそれぞれを内包するブロックの重複部の割合が所定値以上の場合は、前記少なくとも2つのオブジェクトを内包するブロックのブロックサイズを設定する一方、前記重複部の割合が前記所定値より小さい場合は、前記少なくとも2つのオブジェクトを複数のブロックに分割するブロックサイズを設定する。 Preferably, the first conversion means sets the block size of the block containing the at least two objects when the ratio of the overlapping portion of the block containing each of the at least two objects is a predetermined value or more. If the ratio of the overlapping portion is smaller than the predetermined value , a block size for dividing the at least two objects into a plurality of blocks is set.

上記課題を解決するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
入力された画像データに対する処理を実行する画像処理装置の制御方法であって、
前記画像処理装置の第1変換手段が、入力されたラスタ画像データ中のオブジェクトを内包するブロックのブロックサイズを設定し、当該設定したブロックサイズのうち所定サイズより大きいブロックサイズに関しては前記所定サイズ以下のブロックサイズに分割して設定し、前記ラスタ画像データを、当該設定された前記所定サイズ以下のブロックサイズのブロック毎に分割して、各ブロックにベクトル化処理を実行することで、ブロックベクタ画像データに変換し、当該変換されたブロックベクタ画像データを前記画像処理装置の第1記憶手段に記憶させる第1変換工程と、
前記画像処理装置の展開手段が、前記第1記憶手段に記憶されたブロックベクタ画像データをラスタ画像データに展開して、当該展開したラスタ画像データを前記画像処理装置の第2記憶手段に記憶させる展開工程と、
前記画像処理装置の出力手段が、前記第2記憶手段に記憶されたラスタ画像データを出力する出力工程と、
を備える。
In order to solve the above problems, a method for controlling an image processing apparatus according to the present invention comprises the following arrangement. That is,
A control method of an image processing apparatus for executing processing on input image data,
The first conversion means of the image processing device sets a block size of a block containing an object in the input raster image data, and a block size larger than a predetermined size among the set block sizes is equal to or less than the predetermined size set by dividing the block size, the raster image data, by dividing each block of the set following block size the predetermined size, by executing the vectorized process to each block, the block vector image is converted into the data, a first conversion step of the transformed block vector image data Ru is stored in the first storage means of the image processing apparatus,
The expansion means of the image processing apparatus expands the block vector image data stored in the first storage means into raster image data, and stores the expanded raster image data in the second storage means of the image processing apparatus. Development process,
An output step in which the output means of the image processing apparatus outputs raster image data stored in the second storage means;
Is provided.

上記課題を解決するための本発明によるプログラムは以下の構成を備える。即ち、
コンピュータを、
入力されたラスタ画像データ中のオブジェクトを内包するブロックのブロックサイズを設定し、当該設定したブロックサイズのうち所定サイズより大きいブロックサイズに関しては前記所定サイズ以下のブロックサイズに分割して設定し、前記ラスタ画像データを、当該設定された前記所定サイズ以下のブロックサイズのブロック毎に分割して、各ブロックにベクトル化処理を実行することで、ブロックベクタ画像データに変換し、当該変換されたブロックベクタ画像データを第1記憶手段に記憶させる第1変換手段
前記第1記憶手段に記憶されたブロックベクタ画像データをラスタ画像データに展開して、当該展開したラスタ画像データを第2記憶手段に記憶させる展開手段、
前記第2記憶手段に記憶されたラスタ画像データを出力する出力手段、
として機能させる。
A program according to the present invention for solving the above-described problems has the following configuration. That is,
Computer
Set the block size of the block containing the object in the input raster image data, and set the block size larger than the predetermined size among the set block sizes by dividing the block size to the block size equal to or smaller than the predetermined size, the raster image data, by dividing each block of the set predetermined size following the block size, by executing the vectorized process in each block is converted into block vector image data, the transformed block vector First conversion means for storing image data in the first storage means ;
Expansion means for expanding the block vector image data stored in the first storage means into raster image data and storing the expanded raster image data in the second storage means;
Output means for outputting raster image data stored in the second storage means;
To function as.

本発明によれば、システム全体のシステム・リソースの制約を緩和し、かつトータルスループットを向上することができる画像処理装置及びその制御方法、プログラムを提供できる。   According to the present invention, it is possible to provide an image processing apparatus, a control method therefor, and a program that can alleviate restrictions on system resources of the entire system and improve the total throughput.

以下、本発明の実施の形態について図面を用いて詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

[実施形態1]
[MFP装置概要]
図1は本発明の実施形態1の画像処理システムを構成するMFPのコントローラの詳細を示すブロック図である。
[Embodiment 1]
[Outline of MFP device]
FIG. 1 is a block diagram showing details of a controller of the MFP constituting the image processing system according to the first embodiment of the present invention.

MFP1000を制御するコントローラ1は、システムバスブリッジ(SBB)2により、CPU3、メモリコントローラ(MC)4、汎用バス6、タイル/ページベクタ変換部13、ラスタ/ベクタ変換部14、画像処理部15、画像データ展開部(RIP)18が接続されている。   A controller 1 that controls the MFP 1000 includes a system bus bridge (SBB) 2, a CPU 3, a memory controller (MC) 4, a general-purpose bus 6, a tile / page vector conversion unit 13, a raster / vector conversion unit 14, an image processing unit 15, An image data development unit (RIP) 18 is connected.

ここで、このRIP18は、タイルベクタデータを展開することが可能であり、内部には、複数の小画像データ展開部(μRIP)18a〜18dが構成されている。   Here, the RIP 18 can expand tile vector data, and a plurality of small image data expansion units (μRIP) 18a to 18d are configured therein.

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

汎用バス6には、画像データを蓄積するためのHDD8を制御するハードディスクコントローラ(HDDCont)7及び操作部(例えば、LCD等から構成されるタッチパネル)10を制御する操作部コントローラ9及び、MFP1000が接続されているネットワーク12を介して、外部機器間との画像データの転送を行うインターフェースになるネットワークI/F11が接続されている。   Connected to the general-purpose bus 6 are a hard disk controller (HDDCont) 7 for controlling the HDD 8 for storing image data, an operation unit controller 9 for controlling an operation unit (for example, a touch panel including an LCD or the like) 10, and an MFP 1000. A network I / F 11 serving as an interface for transferring image data between external devices is connected to the network 12.

尚、操作部10では、実施形態1及び後述する各実施形態の各種処理の実行指示の入力や、処理結果等を表示するための操作画面が表示され、ユーザは、この操作画面を介して各種操作を実現することができる。   Note that the operation unit 10 displays an operation screen for displaying execution instructions of various processes of the first embodiment and the respective embodiments described later, processing results, and the like. Operation can be realized.

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

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

コントローラ1でハンドリングされる画像データは、外部機器との入出力はベクタ(PDL、PDF、SVGなど)形式の画像データ(以下、ベクタデータとも言う)、スキャナ16やプリンタ17との入出力はラスタ形式の画像データ(以下、ラスタデータとも言う)でインターフェースされる。   The image data handled by the controller 1 is image data (hereinafter also referred to as vector data) in the form of vectors (PDL, PDF, SVG, etc.) for input / output with external devices, and raster input / output with the scanner 16 or printer 17. It is interfaced with formatted image data (hereinafter also referred to as raster data).

コントローラ1では、スキャンデータ(ラスタデータ)はラスタ/タイルベクタ変換部14でタイルベクタデータに変換される。また、このタイルベクタデータからRIP18の処理によって得られるタイルDLデータは、RIP18に接続されたローカルメモリ19に記憶される。   In the controller 1, the scan data (raster data) is converted into tile vector data by the raster / tile vector conversion unit 14. Further, the tile DL data obtained from the tile vector data by the processing of the RIP 18 is stored in the local memory 19 connected to the RIP 18.

従って、システムメモリ5上には、ページベクタデータとタイルベクタデータの2種類の画像のみが記憶される。つまり、画像サイズの大きいラスタデータ及びDLデータをシステムメモリ5に記憶する必要がなくなる。そのため、システムメモリ5上で確保しなければならない画像データ領域を削減することができる。   Accordingly, only two types of images of page vector data and tile vector data are stored in the system memory 5. That is, it is not necessary to store raster data and DL data having a large image size in the system memory 5. Therefore, the image data area that must be secured on the system memory 5 can be reduced.

また、RIP18から出力されるDLデータはタイル単位に分割された、タイルDLデータで記憶される。そのため、従来のページ単位のページDLデータに比べ、非常に少ないメモリ容量で記憶できる。従って、ローカルメモリ19はオンチップ上に実装することが可能になり、メモリレイテンシを小さくできる。その結果、タイルデータ展開速度を高速化することが可能となる。   The DL data output from the RIP 18 is stored as tile DL data divided into tiles. Therefore, it can be stored with a very small memory capacity as compared with the conventional page 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.

また、タイルベクタデータのみを画像データとして、HDD8上に記憶すれば良いので、HDD8へのアクセス速度のボトルネックが緩和され、データ処理の高速化が図れる。同時に、タイル単位で処理することにより、RIP18のコストダウンも可能となる。   Further, since only tile vector data needs to be stored on the HDD 8 as image data, the bottleneck of the access speed to the HDD 8 is alleviated and the data processing can be speeded up. At the same time, by processing in tile units, the cost of the RIP 18 can be reduced.

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

尚、本発明では、ネットワークI/F11及びスキャナ16がコントローラ1内へ画像データを入力する画像入力部として機能する。また、ネットワークI/F11及びプリンタ17が画像データを出力する画像出力部として機能する。   In the present invention, the network I / F 11 and the scanner 16 function as an image input unit that inputs image data into the controller 1. The network I / F 11 and the printer 17 function as an image output unit that outputs image data.

以下に、MFP1000が実現可能な各種処理のデータフローについて説明する。   The data flow of various processes that can be realized by the MFP 1000 will be described below.

[コピー]
図2は本発明の実施形態1の画像処理システムでのコピー動作に係るデータフローを示す図である。
[copy]
FIG. 2 is a diagram showing a data flow relating to a copy operation in the image processing system according to the first embodiment of the present invention.

尚、このデータフローは、CPU3の制御の下、MFP1000を構成する各種構成要素を協調動作させることで実現される。   This data flow is realized by cooperatively operating various components constituting the MFP 1000 under the control of the CPU 3.

また、図2中に示す矢印は、各種データフローを示している。特に、実線矢印はラスタデータ(ラスタ画像データ)、破線矢印はタイルベクタデータ(タイルベクタ画像データ)、1点鎖線矢印はページベクタデータ(ページベクタ画像データ)のデータフローを示している。ページベクタデータ及びタイルベクタデータについては、後述のタイル/ページベクタ変換部13で詳細に説明する。   In addition, arrows shown in FIG. 2 indicate various data flows. In particular, a solid line arrow indicates the data flow of raster data (raster image data), a broken line arrow indicates tile vector data (tile vector image data), and a one-dot chain line arrow indicates page vector data (page vector image data). The page vector data and tile vector data will be described in detail in the tile / page vector conversion unit 13 described later.

(S21):操作部10より、ユーザがコピー開始を指示すると、スキャナ16は原稿画像の読取動作を開始する。スキャナ14より画像処理部15へ入力された画像(R、G、B画像)は画像処理部15のクロック同期に周波数変換された後、例えば、以下の処理が実行される。   (S21): When the user gives an instruction to start copying from the operation unit 10, the scanner 16 starts reading an original image. The image (R, G, B image) input from the scanner 14 to the image processing unit 15 is frequency-converted to the clock synchronization of the image processing unit 15 and, for example, the following processing is executed.

1)スキャナ16内のCCDセンサのラインピッチや色収差等のスキャナ特性の補正処理
2)色空間補正やシャープネス等の入力画像データの画質補正処理
3)入力画像データの枠消やブック枠消等の画像加工処理
(S22):画像処理部15による画像処理が終了し、画像処理部15から出力された画像データはラスタ/タイルベクタ変換部14に入力され、タイルベクタ変換処理が実行され。即ち、ラスタ/タイルベクタ変換部14は、画像データ中のオブジェクトを内包する大きさのブロック(タイル)を設定して、その大きさのブロックに画像データ中のオブジェクトを分割する。そして、各ブロック内のラスタデータに対して、ベクトル化処理を実行して、ブロック(タイル)単位のベクタデータ(タイルベクタデータ(ブロックベクタデータ))を生成する。
1) Correction processing of scanner characteristics such as line pitch and chromatic aberration of the CCD sensor in the scanner 16 2) Image quality correction processing of input image data such as color space correction and sharpness 3) Frame deletion of input image data, book frame deletion, etc. Image processing (S22): Image processing by the image processing unit 15 is completed, and the image data output from the image processing unit 15 is input to the raster / tile vector conversion unit 14, and tile vector conversion processing is executed. That is, the raster / tile vector conversion unit 14 sets a block (tile) having a size including an object in the image data, and divides the object in the image data into blocks having the size. Then, vectorization processing is executed on the raster data in each block to generate vector data (tile vector data (block vector data)) in units of blocks (tiles).

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

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

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

(S25):システムメモリ5に記憶されたタイルベクタデータは、プリンタ17からコントローラ1に送られる起動信号に従って、MC4によって読み出され、SBB2を介してRIP18に転送される。   (S25): The tile vector data stored in the system memory 5 is read by the MC 4 in accordance with the 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に一旦記憶される。   In the RIP 18, first, tile vector data is analyzed, and a drawing object (tile DL data) in units of tiles is generated (interpreted). The generated tile DL data is temporarily stored in the local memory 19.

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

実施形態1では、上述のように、RIP18内に4つの小画像データ展開部(μRIP)18a〜18dを備えている。コントローラ1は、μRIP18a〜μRIP18dを並列に動作させることにより、タイルベクタデータの展開を高速に行わせることができる。   In the first embodiment, as described above, the RIP 18 includes the four small image data expansion units (μRIP) 18a to 18d. The controller 1 can cause the tile vector data to be developed at high speed by operating the μRIP 18a to μRIP 18d in parallel.

ここで、画像処理システムの全体パフォーマンスは、ベクタデータ展開時間が支配的であり、このμRIPの構成数を増やすことで、パフォーマンスアップが見込める。そのため、本発明のような構成を用いると、その構成数あるいは動作させる構成数を増減させることで、容易にスケーラブルなシステムを構築することが可能となる。   Here, the overall performance of the image processing system is dominated by vector data development time, and an increase in performance can be expected by increasing the number of components of this μRIP. Therefore, when the configuration as in the present invention is used, it is possible to easily construct a scalable system by increasing or decreasing the number of components or the number of components to be operated.

(S26):RIP18によって生成されたタイルラスタデータは、画像処理部15に転送され、例えば、以下の処理が実行される。   (S26): The tile raster data generated by the RIP 18 is transferred to the image processing unit 15, and for example, the following processing is executed.

1)タイルラスタデータからページラスタデータへの変換処理
2)プリンタの特性に合わせた出力画像の色や濃度の補正処理
3)画像データを量子化して出力画像の階調変換を行う中間調処理
4)プリンタI/Fクロックに同期して画像を出力するための周波数変換処理
そして、画像処理部15で、1)〜4)の画像処理が実行されて得られたラスタデータは、プリンタ17に転送され、記録媒体上に印刷され出力される。
1) Conversion process from tile raster data to page raster data 2) Correction process of color and density of output image in accordance with printer characteristics 3) Halftone process that performs gradation conversion of output image by quantizing image data 4 ) Frequency conversion processing for outputting an image in synchronization with the printer I / F clock The raster data obtained by executing the image processing of 1) to 4) by the image processing unit 15 is transferred to the printer 17. Printed on a recording medium and output.

[プリント]
図3は本発明の実施形態1の画像処理システムでのプリント動作に係るデータフローを示す図である。
[Print]
FIG. 3 is a diagram showing a data flow relating to a printing operation in the image processing system according to the first embodiment of the present invention.

尚、このデータフローは、CPU3の制御の下、MFP1000を構成する各種構成要素を協調動作させることで実現される。   This data flow is realized by cooperatively operating various components constituting the MFP 1000 under the control of the CPU 3.

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

(S32):システムメモリ5に記憶されたページベクタデータは、タイル/ページベクタ変換部13より読み出され、タイルベクタ変換処理が実行される。即ち、タイル/ページベクタ変換部13は、ページベクタデータ内に存在するオブジェクトを内包する大きさのブロック(タイル)を設定して、その大きさのブロックにオブジェクトを分割する。そして、タイル単位のベクタデータ(タイルベクタデータ)を生成する。   (S32): The page vector data stored in the system memory 5 is read from the tile / page vector conversion unit 13, and tile vector conversion processing is executed. That is, the tile / page vector conversion unit 13 sets a block (tile) having a size including an object existing in the page vector data, and divides the object into blocks having the size. Then, tile unit vector data (tile vector data) is generated.

(S33):生成されたタイルベクタデータは、SBB2を介して再度システムメモリ5に記憶される。   (S33): The generated tile vector data is stored again in the system memory 5 via the SBB2.

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

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

読み取ったタイルベクタデータをHDD8からダイレクトにプリンタ17へ出力する場合、HDD8のアクセススピードが律則したり、汎用バス6のバスの混雑度合によりプリンタ17に同期して出力することが保証できなくなる。そのため、プリンタ17に同期してデータ転送を行う前に、システムメモリ5に1ページ分のベクタ画像データをスプールすることにより、リアルタイムなスループットを保証する。   When the read tile vector data is directly output from the HDD 8 to the printer 17, it cannot be guaranteed that the access speed of the HDD 8 is regulated or that the output is synchronized with the printer 17 due to the degree of congestion of the general-purpose bus 6. Therefore, before transferring data in synchronization with the printer 17, the vector image 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 data stored in the system memory 5 is read out by the MC 4 according to the 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に一旦記憶される。   In the RIP 18, first, tile vector data is analyzed, and a drawing object (tile DL data) in units of tiles is generated (interpreted). The generated tile DL data is temporarily stored in the local memory 19.

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

(S37):RIP18によって生成されたタイルラスタデータは、画像処理部15に転送され、例えば、以下の処理が実行される。   (S37): The tile raster data generated by the RIP 18 is transferred to the image processing unit 15 and, for example, the following processing is executed.

1)タイルラスタデータからページラスタデータへの変換処理
2)プリンタの特性に合わせた出力画像の色や濃度の補正処理
3)画像データを量子化して出力画像の階調変換を実行する中間調処理
4)プリンタI/Fクロックに同期して画像を出力するための周波数変換処理
そして、画像処理部15で、1)〜4)の画像処理が実行されて得られたラスタデータは、プリンタ17に転送され、記録媒体上に印刷され出力される。
1) Conversion processing from tile raster data to page raster data 2) Correction processing of color and density of output image in accordance with printer characteristics 3) Halftone processing for quantizing image data and executing gradation conversion of output image 4) Frequency conversion processing for outputting an image in synchronization with the printer I / F clock The raster data obtained by executing the image processing of 1) to 4) by the image processing unit 15 is sent to the printer 17. It is transferred, printed on a recording medium, and output.

[送信]
図4は本発明の実施形態1の画像処理システムでの送信動作に係るデータフローを示す図である。
[Send]
FIG. 4 is a diagram showing a data flow relating to a transmission operation in the image processing system according to the first embodiment of the present invention.

尚、このデータフローは、CPU3の制御の下、MFP1000を構成する各種構成要素を協調動作させることで実現される。   This data flow is realized by cooperatively operating various components constituting the MFP 1000 under the control of the CPU 3.

また、画像データをHDD8に格納するまでのデータフローについては、ラスタデータの場合は[コピー]と、ネットワーク12上の外部機器からの入力されたページベクタデータの場合は[プリント]と同一であるので、その説明は割愛する。
尚、画像データをHDD8に格納する処理は、ユーザからの格納指示によって実行されるようにしてもよいし、[コピー]や[プリント]の処理の際にHDD8に自動的に残しておくようにしてもよい。このようにして、HDD8に格納された画像データの中から、ユーザによって指定された画像データを送信するように指示された際に行われる送信処理について説明する。
The data flow until image data is stored in the HDD 8 is the same as [Copy] for raster data and [Print] for page vector data input from an external device on the network 12. So I will omit the explanation.
The process of storing the image data in the HDD 8 may be executed according to a storage instruction from the user, or may be automatically left in the HDD 8 during the [copy] or [print] process. May be. A transmission process performed when an instruction to transmit image data designated by the user from the image data stored in the HDD 8 in this way is described.

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

(S42):システムメモリ5に記憶されたタイルベクタデータは、タイル/ページベクタ変換部13より読み出され、タイルベクタ変換処理を実行する。即ち、ブロック単位に分割されたオブジェクトを結合し、ページ全体でオブジェクトを記述したページベクタデータを生成する。つまり、1ページ分のタイルベクタデータを、ページ全体のベクタデータを示すページベクタデータを生成する。   (S42): The tile vector data stored in the system memory 5 is read from the tile / page vector conversion unit 13 and executes tile vector conversion processing. That is, the objects divided into blocks are combined to generate page vector data describing the object in the entire page. That is, page vector data indicating the vector data of the entire page is generated from tile vector data for one page.

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

(S44):システムメモリ5中に記憶されたページベクタデータは、汎用バス6に接続されたネットワークI/F11から読み出され、ネットワーク12に接続された外部機器へと送信転送される。   (S44): The page vector data stored in the system memory 5 is read from the network I / F 11 connected to the general-purpose bus 6, and transmitted 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 data is returned to page vector data, and the number of objects constituting the data is reduced, so that the amount of transmission data can be reduced. Moreover, it can be easily converted into a general-purpose format such as PDF or SVG.

尚、本発明では、スキャナ16から入力したラスタデータを、外部機器に送信することも可能である。この場合は、そのラスタデータをページベクタに変換してから、外部機器へ送信することが好ましい。   In the present invention, raster data input from the scanner 16 can also be transmitted to an external device. In this case, it is preferable that the raster data is converted into a page vector and then transmitted to an external device.

[ラスタ/タイルベクタ変換部]
次に、ラスタ/タイルベクタ変換部14の処理の詳細について説明する。
[Raster / Tile vector converter]
Next, details of the processing of the raster / tile vector conversion unit 14 will be described.

図5は本発明の実施形態1のラスタ/タイルベクタ変換部が実行する処理を示すフローチャートである。   FIG. 5 is a flowchart showing processing executed by the raster / tile vector conversion unit according to the first embodiment of the present invention.

(ステップS51:ブロックセレクション(領域分割:BS)処理)
画像処理部15より入力されたラスタデータ(イメージデータ)を、文字あるいは線画を含む文字・線画領域と、ハーフトーンの写真領域、不定形の画像領域その他に分割する。さらに、文字・線画領域については、主に文字を含む文字領域と、主に表、図形等を含む線画領域とに分離し、線画領域は表領域と図形領域に分割する。
(Step S51: Block selection (area division: BS) processing)
The raster data (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, the character / line drawing area is divided into a character area mainly including characters and a line drawing area mainly including tables, figures, etc., and the line drawing area is divided into a table area and a graphic area.

尚、実施形態1では、処理対象中の画像の連結画素を検知し、その連結画素の外接矩形領域の形状・サイズ・画素密度等の特徴量を用いて、属性毎の領域に分離するものとするが、その他の領域分割手法を用いても構わない。   In the first embodiment, connected pixels of an image to be processed are detected and separated into regions for each attribute using feature quantities such as the shape, size, and pixel density of a circumscribed rectangular region of the connected pixels. However, other region division methods may be used.

文字領域については、文字段落ごとの纏まった塊をブロックとして矩形ブロック(文字領域矩形ブロック)にセグメント化する。線画領域では、表、図形等の個々のオブジェクト(表領域矩形ブロック、線画領域矩形ブロック)ごとに矩形ブロックにセグメント化する。   The character area is segmented into rectangular blocks (character area rectangular blocks) as a block of clusters of character paragraphs. 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.

ハーフトーンで表現される写真領域は、画像領域矩形ブロック、背景領域矩形ブロック等のオブジェクトごとに、矩形ブロックにセグメント化する。   The photograph 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.

(ステップS52:タイルサイズ決定処理)
分離された各領域は、さらに各領域のオブジェクトの大きさを判定し、その判定結果に基づいて、各オブジェクトを内包可能なタイルサイズを決定(設定)する。
(Step S52: tile size determination process)
For each separated area, the size of the object in each area is further determined, and a tile size that can contain each object is determined (set) based on the determination result.

具体例について、図6を用いて説明する。   A specific example will be described with reference to FIG.

図6は本発明の実施形態1のタイルサイズ決定処理の具体例を説明するための図である。   FIG. 6 is a diagram for explaining a specific example of tile size determination processing according to the first embodiment of the present invention.

図6に示す、ラスタデータ600では、オブジェクト601及び602の2つのオブジェクトが存在している。このラスタデータ600に対して、ステップS51のブロックセレクション処理を実行すると、オブジェクト601は文字領域として認識され、オブジェクト602は図形領域として認識される。   In the raster data 600 shown in FIG. 6, there are two objects 601 and 602. When the block selection process in step S51 is executed on the raster data 600, the object 601 is recognized as a character area and the object 602 is recognized as a graphic area.

この処理結果に対して、タイルサイズ決定処理を実行すると、ラスタデータ600は、例えば、図7に示すように、異なる大きさのタイル701〜709に分割される。ここで、タイル704は、オブジェクト601を内包可能な大きさに設定される。また、タイル707は、オブジェクト602を内包可能な大きさに設定される。   When tile size determination processing is executed on this processing result, the raster data 600 is divided into tiles 701 to 709 having different sizes as shown in FIG. 7, for example. Here, the tile 704 is set to a size that can contain the object 601. The tile 707 is set to a size that can contain the object 602.

また、タイル701、702、704、705、706、708、709の各タイルは、オブジェクトが存在しない空白タイルとなる。   Further, the tiles 701, 702, 704, 705, 706, 708, and 709 are blank tiles in which no object exists.

(ステップS53:タイルサイズ判定処理)
次に、ステップS52で決定された各タイルに関して、そのサイズ(大きさ)の判定を実行する。
(Step S53: tile size determination process)
Next, the size (size) of each tile determined in step S52 is determined.

例えば、図7の例の場合、作成されたタイル701〜709に関して、その大きさの判定を実行する。この判定は、以下の理由によって実行するものである。   For example, in the example of FIG. 7, the size of the created tiles 701 to 709 is determined. This determination is executed for the following reason.

つまり、ステップS52で一旦決定したタイルサイズが大きい場合、RIP18内のμRIPa18a〜μRIP18dで並列してタイルベクタデータを展開する際に、一つのタイルサイズが大きすぎると並列動作による処理の高速化が行いづらくなる。そこで、これを防ぐため、各タイルサイズを判定して、所定サイズよりも大きいタイルに関しては、より小さいサイズのタイルに分割する。   In other words, when the tile size once determined in step S52 is large, when tile vector data is expanded in parallel by the μRIPa 18a to μRIP 18d in the RIP 18, if one tile size is too large, the processing speed is increased by parallel operation. It becomes difficult. Therefore, in order to prevent this, each tile size is determined, and a tile larger than a predetermined size is divided into smaller size tiles.

仮に、オブジェクト602を内包する図7のタイル707が、所定サイズよりも大きい場合は、図8に示すように、タイル707を、そのサイズより小さいサイズの4つのタイル801、802、803、804に分割する。そして、全てのタイルが所定サイズよりも小さくなったら、以下のベクトル化処理により、個々のタイルサイズに基づいて、ページベクタデータをタイルベクタデータに変換する。   If the tile 707 in FIG. 7 containing the object 602 is larger than the predetermined size, the tile 707 is changed to four tiles 801, 802, 803, and 804 having a size smaller than the size, as shown in FIG. To divide. When all the tiles are smaller than the predetermined size, page vector data is converted into tile vector data based on the individual tile sizes by the following vectorization process.

(ステップS54:ベクトル化処理)
ベクトル化処理により、各属性の領域のイメージデータをベクトルデータに変換する(ベクトル化する)。ベクトル化の方法は、例えば、以下、(a)〜(f)等が存在する。
(Step S54: Vectorization processing)
By the vectorization process, the image data of each attribute area is converted to vector data (vectorized). Examples of vectorization methods include (a) to (f) below.

(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) The outline information in the line segment format of (b) and (c) is fitted with a Bezier function or the like and converted into function information.

(e)(c)の図形オブジェクトの輪郭情報から、図形の形状を認識し、円、矩形、多角形、等の図形定義情報に変換する。   (E) From the contour information of the graphic object of (c), the shape of the graphic is recognized and converted into graphic 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.

(ステップS55:タイルベクタデータ生成処理)
ステップS54で、(a)〜(f)のフォーマットコード情報、図形情報、関数情報等のコマンド定義形式情報にベクトル変換されたデータに対し、コントローラ1内でページベクタデータかタイルベクタデータかを判別するベクタタイプや、当該タイルのページ内の座標位置等の座標情報を判別するためのヘッダ情報を付加した、タイルベクタデータを生成する。このようにして、タイル単位に各種情報が付加されたタイルベクタデータをSBB2へ出力する。
(Step S55: Tile vector data generation process)
In step S54, it is determined whether or not the data converted into the command definition format information such as format code information, graphic information, and function information (a) to (f) is page vector data or tile vector data in the controller 1. Tile vector data to which header information for determining coordinate information such as a vector type to be performed and a coordinate position within the page of the tile is added is generated. In this way, tile vector data to which various information is added in units of tiles is output to SBB2.

(ステップS56:終了判定処理)
処理対象のラスタデータの有無を判定する。処理対象のラスタデータがある場合(ステップS56でNO)、ステップS51に戻る。一方、処理対象のラスタデータがない場合(ステップS56でYES)、処理を終了する。
(Step S56: end determination process)
The presence / absence of raster data to be processed is determined. If there is raster data to be processed (NO in step S56), the process returns to step S51. On the other hand, if there is no raster data to be processed (YES in step S56), the process ends.

[タイル/ページベクタ変換部]
次に、タイル/ページベクタ変換部13の処理の詳細を説明するにあたり、処理対象となるドキュメントデータ(画像データ)について説明する。
[Tile / page vector converter]
Next, in describing the details of the processing of the tile / page vector conversion unit 13, document data (image data) to be processed will be described.

図9は本発明の実施形態1のネットワークから転送されてくるドキュメントデータの一例を示している。   FIG. 9 shows an example of document data transferred from the network according to the first embodiment of the present invention.

図9では、ドキュメントデータ1101の短手方向を「X」方向、長手方向を「Y」方向とするデバイス座標系を定義する。ドキュメントデータ1101としては、ページベクタデータ、タイルベクタデータ、あるいはラスタデータ表現を含むページベクタデータ(タイルベクタデータ)、あるいはラスタデータのいずれかで構成される可能性がある。   In FIG. 9, a device coordinate system is defined in which the lateral direction of the document data 1101 is the “X” direction and the longitudinal direction is the “Y” direction. The document data 1101 may be composed of any of page vector data, tile vector data, page vector data including tile data representation (tile vector data), or raster data.

ここで、ドキュメントデータ1101が、ページベクタデータである場合、その内容を構成する記述例について、図10を用いて説明する。   Here, when the document data 1101 is page vector data, a description example constituting the content will be described with reference to FIG.

図10は本発明の実施形態1のページベクタデータの記述例を示す図である。   FIG. 10 is a diagram showing a description example of page vector data according to the first embodiment of the present invention.

図10において、1201はドキュメントデータ全体の設定に関わるドキュメント設定命令部分、1202は文字の描画命令部分、1203は図形の描画命令部分を示している。   In FIG. 10, reference numeral 1201 denotes a document setting command part related to the setting of the entire document data, 1202 denotes a character drawing command part, and 1203 denotes a graphic drawing command part.

各描画命令部分の詳細について説明する。   Details of each drawing command portion will be described.

ドキュメント設定命令部分1201において、C1〜C5は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドC1〜C5は、ドキュメント1部について1ヶ所しか付いていない。   In the document setting command part 1201, C1 to C5 are commands related to the entire document. Accordingly, these commands C1 to C5 have only one place for one document.

これらドキュメントデータ全体に関係するコマンドには、例えば、キャラクタセットコマンド(フォント指定コマンド)、スケーラブルフォントコマンド(スケーラブルフォントを使用するか否かを指定するコマンド)、ハードリセットコマンド(以前のプリンタ使用環境をリセットするコマンド)等がある。   These commands related to the entire document data include, for example, a character set command (font specification command), a scalable font command (command to specify whether to use a scalable font), a hard reset command (previously used printer environment) Command to reset).

ここで、C1はドキュメント設定開始コマンドである。C2はドキュメントデータの出力用紙サイズを示すコマンドであり、この場合には、A4の設定になっている。C3はドキュメントデータの方向を示すコマンドである。ここでは、ポートレートとランドスケープがあるが、この場合にはポートレート(PORT)の設定になっている。   Here, C1 is a document setting start command. C2 is a command indicating the output paper size of document data. In this case, A4 is set. C3 is a command indicating the direction of document data. Here, there are a portrait and a landscape. In this case, the portrait (PORT) is set.

C4はドキュメントデータのタイプを示すコマンドであり、ページベクタで構成されるドキュメントデータであるかタイルベクタで構成されるドキュメントデータであるかを示している。この場合には、ページ(PAGE)に設定されている。C5はドキュメント設定終了コマンドである。   C4 is a command indicating the type of document data, indicating whether it is document data composed of page vectors or document data composed of tile vectors. In this case, it is set to page (PAGE). C5 is a document setting end command.

文字の描画命令部分1202及び図形の描画命令部分1203を構成するC6〜C22は、ドキュメントデータを出力するための各種コマンドである。   C6 to C22 constituting the character drawing command portion 1202 and the graphic drawing command portion 1203 are various commands for outputting document data.

C6はページの開始を示すコマンドである。C7は文字のフォントの種類を選択するためのコマンドであり、この場合には「1」という番号の付けられたフォントセットに設定されている。C8はフォントの大きさを設定するコマンドであり、この場合には「10ポイント」の大きさに設定されている。   C6 is a command indicating the start of a page. C7 is a command for selecting the font type of the character, and in this case, it is set to a font set numbered "1". C8 is a command for setting the font size. In this case, the size is set to "10 points".

C9は文字の色を設定するコマンドであり、順にR(赤),G(緑),B(青)各色成分の輝度を示してある。この輝度は、例えば、0から255の256段階で量子化されているものとする。この場合は、{0,0,0}に設定されている。C10は文字を描画する開始位置の座標を示すコマンドである。座標位置(X,Y)は、ページの左上を原点に指定する。この場合は、ページの{10,5}の位置から文字の描画を開始するように設定されている。C11は実際に描画する文字列(A)を示すコマンドである。   C9 is a command for setting the color of the character, 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 levels from 0 to 255, for example. In this case, it is set to {0, 0, 0}. C10 is a command indicating the coordinates of the start position for drawing a character. The coordinate position (X, Y) is designated 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} on the page. C11 is a command indicating a character string (A) to be actually drawn.

C12は図形描画の際の面の塗りつぶしの色を示すコマンドである。色の指定は、文字の色と同様である。C13は図形描画の線の色を指定するコマンドである。C14は図形描画位置の座標を示すコマンドである。   C12 is a command that indicates the fill color of the surface when drawing a graphic. The color designation is the same as the character color. C13 is a command for designating the line color of the figure drawing. C14 is a command indicating the coordinates of the graphic drawing position.

C15は円弧を描画する際の半径を指定するコマンドであり、この場合、「10」座標単位を示している。C16は閉円弧の描画をするコマンドである。コマンド内の2個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を0度として、この場合には0度から90度の円弧を描画することを示している。   C15 is a command for designating a radius for drawing an arc, and in this case, indicates a “10” coordinate unit. C16 is a command 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〜C21は、C12〜C16までのコマンドと同様に、図形描画の際の面、線の色の指定、位置の指定等のコマンドである。C22はページの終了を示すコマンドである。   C17 to C21 are commands for designating a surface, a line color, and a position for drawing a figure, like the commands C12 to C16. C22 is a command indicating the end of the page.

一方、ドキュメントデータ1101がタイルベクタデータである場合について、図11を用いて説明する。   On the other hand, the case where the document data 1101 is tile vector data will be described with reference to FIG.

図11は本発明の実施形態1のタイルベクタデータの例を示す図である。   FIG. 11 is a diagram illustrating an example of tile vector data according to the first embodiment of the present invention.

図11では、図9のドキュメントデータ1101(ページベクタデータ)を、図11に示すようなブロック(タイル)単位で分割したタイルベクタデータ(ドキュメントデータ1300)の一例を示している。   FIG. 11 shows an example of tile vector data (document data 1300) obtained by dividing the document data 1101 (page vector data) of FIG. 9 in units of blocks (tiles) as shown in FIG.

図11では、ドキュメントデータ1300の短手方向を「X」方向、長手方向を「Y」とするデバイス座標系を定義する。   In FIG. 11, a device coordinate system is defined in which the lateral direction of the document data 1300 is the “X” direction and the longitudinal direction is “Y”.

ここで、このドキュメントデータ1300が、タイルベクタデータである場合、その内容を構成する記述例について、図12を用いて説明する。   Here, when the document data 1300 is tile vector data, a description example constituting the contents will be described with reference to FIG.

図12は本発明の実施形態1のタイルベクタデータの記述例を示す図である。   FIG. 12 is a diagram showing a description example of tile vector data according to the first embodiment of the present invention.

図12において、1401はドキュメントデータ全体の設定に関わるドキュメント設定命令部分、1402は描画命令部分全体、1403〜1406はそれぞれタイル1301,1303,1308,1309の描画命令部分を示している。   In FIG. 12, reference numeral 1401 denotes a document setting command part related to the setting of the entire document data, 1402 denotes the entire drawing command part, and 1403 to 1406 denote drawing command parts of tiles 1301, 1303, 1308, and 1309, respectively.

各描画命令の詳細について説明する。   Details of each drawing command will be described.

ドキュメント設定命令部分1401において、C1〜C5は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドC1〜C5は、ドキュメント1部について1ケ所しか付いていない。   In the document setting command part 1401, 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 data include, for example, a character set command (font specification command), a scalable font command (command to specify whether to use a scalable font), a hard reset command (previously used printer environment) Command to reset).

ここで、C1はドキュメント設定開始コマンドである。C2はドキュメントデータの出力用紙サイズを示すコマンドであり、この場合には、A4の設定になっている。C3はドキュメントデータの方向を示すコマンドである。ここでは、ポートレートとランドスケープがあるが、この場合にはポートレート(PORT)の設定になっている。   Here, C1 is a document setting start command. C2 is a command indicating the output paper size of document data. In this case, A4 is set. C3 is a command indicating the direction of document data. Here, there are a portrait and a landscape. In this case, the portrait (PORT) is set.

C4はドキュメントデータのタイプを示すコマンドであり、ページベクタで構成されるドキュメントデータあるのかタイルベクタで構成されるドキュメントデータあるかを示している。この場合には、タイル(TILE)に設定されている。C5はドキュメント設定終了コマンドである。   C4 is a command indicating the type of document data, and indicates whether there is document data composed of page vectors or document data composed of tile vectors. In this case, the tile is set to TILE. C5 is a document setting end command.

描画命令部分1402を構成するC6〜C500は、ドキュメントデータを出力するための各種コマンドである。   C6 to C500 constituting the drawing command portion 1402 are various commands for outputting document data.

C6はページの開始を示すコマンドである。C7は図11のタイル1301の描画コマンドの開始を示すコマンドである。ここで、TileStart(0,0)中の2個のパラメータは、ドキュメントデータ内におけるタイルの先頭位置(例えば、タイル左上角の位置)の情報を示している。C8はタイル1301の描画コマンドの終了を示すコマンドである。TileEnd(100,20)中の2個のパラメータは、ドキュメントデータ内におけるタイルの終端位置(例えば、タイル右下角の位置)の情報を示している。タイル1301のように、そのタイル内にオブジェクトが何も存在しない場合は、タイルの開始と終了を示すコマンドだけが記述される。   C6 is a command indicating the start of a page. C7 is a command indicating the start of a drawing command for the tile 1301 in FIG. Here, two parameters in TileStart (0, 0) indicate information on the top position of the tile (for example, the position of the upper left corner of the tile) in the document data. C8 is a command indicating the end of the drawing command of the tile 1301. Two parameters in TileEnd (100, 20) indicate information on the end position of the tile (for example, the position of the lower right corner of the tile) in the document data. When there is no object in the tile as in the tile 1301, only commands indicating the start and end of the tile are described.

C9は図11のタイル1303の描画コマンドの開始を示すコマンドである。C10は文字のフォントの種類を選択するためのコマンドであり、この場合には「1」という番号の付けられたフォントセットに設定されている。C11はフォントの大きさを設定するコマンドであり、この場合には「10ポイント」の大きさに設定されている。   C9 is a command indicating the start of a drawing command for the tile 1303 in FIG. C10 is a command for selecting the font type of the character, and in this case, it is set to the font set numbered “1”. C11 is a command for setting the font size. In this case, the size is set to "10 points".

C12は文字の色を設定するコマンドであり、順にR(赤),G(緑),B(青)各色成分の輝度を示してある。この輝度は、例えば、0から255の256段階で量子化されているものとする。この場合は、{0,0,0}に設定されている。C13は文字を描画する開始位置の座標を示すコマンドである。座標位置(X,Y)は、タイルの左上を原点に指定する。この場合は、タイルの{0,5}の位置から文字の描画を開始するように設定されている。C14は実際に描画する文字列(A)を示すコマンドである。C15はタイル1303の描画コマンドの終了を示すコマンドである。   C12 is a command for setting a 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 levels from 0 to 255, for example. In this case, it is set to {0, 0, 0}. C13 is a command indicating the coordinates of the start position for drawing a character. The coordinate position (X, Y) is designated with the upper left corner of the tile as the origin. In this case, the drawing of characters is set to start from the position of {0, 5} on the tile. C14 is a command indicating a character string (A) to be actually drawn. C15 is a command indicating the end of the drawing command of the tile 1303.

C100は図11のタイル1308の描画コマンドの開始を示すコマンドである。C101は図形描画の際の面の塗りつぶしの色を示すコマンドである。色の指定は、文字の色と同様である。C102は図形描画の線の色を指定するコマンドである。C103は図形を描画する位置の座標を示すコマンドである。   C100 is a command indicating the start of a drawing command for the tile 1308 in FIG. C101 is a command that indicates the fill color of the surface when drawing a figure. The color designation is the same as the character color. C102 is a command for designating the color of a line for drawing graphics. C103 is a command indicating the coordinates of the position to draw the figure.

C104は円弧を描画する際の半径を指定するコマンドであり、この場合、「10」座標単位を表している。C105は閉円弧の描画をするコマンドである。コマンド内の2個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を0度として、この場合には0度から90度の円弧を描画することを示している。C106はタイル1308の描画コマンドの終了を示すコマンドである。   C104 is a command for designating a radius for drawing an arc, and in this case, represents a "10" coordinate unit. C105 is a command 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 is a command indicating the end of the drawing command of the tile 1308.

C120は図11のタイル1309の描画コマンドの開始を示すコマンドである。C121〜C125は、C100〜C105のコマンドと同様に図形の描画命令による図形の面、線の色、位置等を指定するコマンドである。C126はタイル1309の描画コマンドの終了を示すコマンドである。   C120 is a command indicating the start of a drawing command for the tile 1309 in FIG. C121 to C125 are commands for designating the surface of the figure, the color of the line, the position, and the like according to the drawing command of the figure as in the commands of C100 to C105. C126 is a command indicating the end of the drawing command of the tile 1309.

C500はページの終了を示すコマンドである。   C500 is a command indicating the end of the page.

次に、タイル/ページベクタ変換部13の処理の詳細について、図13を用いて説明する。   Next, details of the processing of the tile / page vector conversion unit 13 will be described with reference to FIG.

図13は本発明の実施形態1のタイル/ページベクタ変換部が実行する処理を示すフローチャートである。   FIG. 13 is a flowchart showing processing executed by the tile / page vector conversion unit according to the first embodiment of the present invention.

尚、このタイル/ページベクタ変換部13では、ページベクタデータとタイルベクタデータ間での相互変換を行うことができる。あるいは、タイル/ページベクタ変換部13は、ページベクタデータからタイルベクタデータへ変換する変換部と、タイルベクタデータからページベクタデータへ変換する変換部で構成されていても良い。   The tile / page vector conversion unit 13 can perform mutual conversion between page vector data and tile vector data. Alternatively, the tile / page vector conversion unit 13 may include a conversion unit that converts page vector data to tile vector data and a conversion unit that converts tile vector data to page vector data.

(ステップS901)
まず、システムメモリ5中に記憶されたドキュメントデータ(ベクタデータ)から、ヘッダ部分に相当するコマンド列を読み込み、処理対象となるドキュメントデータ全体に関するコマンド部分を解析する。具体的には、図10または図12のC1〜C5に相当する部分の内容を解析する。
(Step S901)
First, the command sequence corresponding to the header portion is read from the document data (vector data) stored in the system memory 5 and the command portion relating to the entire document data to be processed is analyzed. Specifically, the contents of portions corresponding to C1 to C5 in FIG. 10 or FIG. 12 are analyzed.

(ステップS902)
解析の結果に基づいて、ドキュメントデータのタイプが、ページベクタデータであるか否かを判定する。ページベクタデータである場合(ステップS902でYES)、ステップS903以降のステップに進み、ページベクタ→タイルベクタ変換を実行する。一方、ページベクタデータでない場合、つまり、タイルベクタデータである場合(ステップS902でNO)、ステップS910以降のステップに進み、タイルベクタ→ページベクタ変換を実行する。
(Step S902)
Based on the analysis result, it is determined whether or not the document data type is page vector data. If it is page vector data (YES in step S902), the process proceeds to step S903 and subsequent steps, and page vector → tile vector conversion is executed. On the other hand, if it is not page vector data, that is, if it is tile vector data (NO in step S902), the process proceeds to step S910 and subsequent steps, and tile vector → page vector conversion is executed.

(ステップS903)
ページベクタデータから、オブジェクトを記述するコマンド列を読み込む。
(Step S903)
Reads a command sequence that describes an object from page vector data.

(ステップS904)
ステップS903で読み込んだコマンド列を解析し、記述されているオブジェクトの大きさがタイルの上限サイズ(所定サイズ)を超えているか否かを判定する。つまり、オブジェクトの更なる分割が必要であるか否かを判定する。
(Step S904)
The command sequence read in step S903 is analyzed, and it is determined whether or not the size of the described object exceeds the upper limit size (predetermined size) of the tile. That is, it is determined whether further division of the object is necessary.

オブジェクトの大きさがタイルの上限サイズを超えていない場合(ステップS904でNO)、ステップS905をスキップして、ステップS906に進む。一方、オブジェクトの大きさがタイルの上限サイズを超えている場合(ステップS904でYES)、ステップS905に進む。   If the size of the object does not exceed the upper limit size of the tile (NO in step S904), step S905 is skipped and the process proceeds to step S906. On the other hand, if the size of the object exceeds the upper limit size of the tile (YES in step S904), the process proceeds to step S905.

(ステップS905)
ここでは、入力されたオブジェクトの分割処理を実行する。
(Step S905)
Here, the input object is divided.

例えば、図10のページベクタデータにおいて、図形の描画命令部分1203のコマンドC17〜C21で記述されている図形が、タイルの上限サイズを越えている場合は、タイルの上限サイズを超えないように、図11に示すようなタイル1307、1308、1309、1310に分割する。図形の分割は、まず、元の図形オブジェクトを内包するタイルが一旦設定され、次に、このタイルを4つの均等サイズで分割したタイル1307、1308、1309、1310に設定する。   For example, in the page vector data of FIG. 10, when the figure described by the commands C17 to C21 of the figure drawing command portion 1203 exceeds the upper limit size of the tile, the upper limit size of the tile is not exceeded. The tiles are divided into tiles 1307, 1308, 1309, and 1310 as shown in FIG. To divide the figure, first, a tile that contains the original graphic object is set once, and then this tile is set to tiles 1307, 1308, 1309, and 1310 obtained by dividing the tile into four equal sizes.

(ステップS906)
入力されたオブジェクトのコマンドの記述に対し、タイルベクタデータ内での描画位置へ変更するために、座標位置の変換を行う。ページベクタデータでは、ページの左上からの位置を記述していたのに対し、タイルベクタデータではタイルの左上からの位置に記述し直す。描画位置をタイル内の座標で記述することにより、座標計算に要するデータ長を削減することが可能になる。
(Step S906)
In order to change the drawing position in the tile vector data for the input object command description, the coordinate position is converted. In the page vector data, the position from the upper left of the page is described, whereas in the tile vector data, the position is described 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.

また、図12のコマンドC9、C15等で示されるように、個々のタイルに関して、ページの左上からのタイルの先頭と、タイルの終端位置の座標が計算され、そのタイルがページ上のどこに配置されるかがコマンドから判定できるようになっている。   Also, as indicated by commands C9, C15, etc. in FIG. 12, for each tile, the top of the tile from the upper left of the page and the coordinates of the end position of the tile are calculated, and where the tile is placed on the page. Whether or not can be determined from the command.

(ステップS907)
1つのオブジェクトに対するコマンドの記述変換が終了したら、ページ内の全てのオブジェクトのコマンドの記述変換が終了したか否かを判定する。終了していない場合(ステップS907でNO)、ステップS903に戻り、次のコマンドに対して、ステップS903〜ステップS907の処理を繰り返す。一方、終了した場合(ステップS907でYES)、ステップS908へ進む。
(Step S907)
When the command description conversion for one object is completed, it is determined whether the command description conversion for all objects in the page is completed. If not completed (NO in step S907), the process returns to step S903, and the processes in steps S903 to S907 are repeated for the next command. On the other hand, when the process is completed (YES in step S907), the process proceeds to step S908.

尚、オブジェクトが存在していない場所、例えば、図11におけるタイル1301、1302、1304、1305、1306、1311、1312等の領域に対しては、個々の矩形領域に対して、図12のコマンドC7、C8等で示されるタイルの先頭位置と終端位置の情報を有するコマンドを生成した上で、ステップS908へ進む。   Note that the command C7 shown in FIG. 12 is used for each rectangular area in a place where the object does not exist, for example, for areas such as tiles 1301, 1302, 1304, 1305, 1306, 1311, and 1312 in FIG. , C8, etc., a command having information on the head position and end position of the tile is generated, and the process proceeds to step S908.

(ステップS908)
全てのコマンドの記述変換が終了したら、図11のように分割されたタイルベクタデータ中の各タイルに対し、ページの左上から順にタイルベクタデータとしてシステムメモリ5への書出を実行する。タイルベクタデータとしては、ステップS905及びステップS906で記述されたコマンドに対し、タイルの開始と終了を示すコマンドを追加するようなフォーマットで記述される。
(Step S908)
When the description conversion of all commands is completed, writing to the system memory 5 as tile vector data is executed in order from the upper left of the page for each tile in the tile vector data divided as shown in FIG. The tile vector data is described in a format in which commands indicating start and end of tiles are added to the commands described in steps S905 and S906.

次に、ステップS903〜ステップS907で処理されたコマンドが存在する座標のタイルに対し、オブジェクトの記述を追加する。例えば、図11のタイル1303の場合は、コマンドC9〜C15から構成される描画命令部分1404(図12)で記述される。   Next, an object description is added to the coordinate tile where the command processed in steps S903 to S907 exists. For example, the tile 1303 in FIG. 11 is described by a drawing command portion 1404 (FIG. 12) including commands C9 to C15.

(ステップS909)
1つのオブジェクトのタイルベクタへの書出が終了すると、そのページのオブジェクトの記述が全て終了したか否かを判定する。終了していない場合(ステップS909でNO)、ステップS903に戻る。一方、終了した場合(ステップS909でYES)、処理を終了する。
(Step S909)
When the writing of one object to the tile vector is finished, it is determined whether or not all the descriptions of the objects on the page are finished. If not completed (NO in step S909), the process returns to step S903. On the other hand, when the processing is completed (YES in step S909), the processing is ended.

一方、ステップS902で、ドキュメントデータのタイプが、タイルベクタデータである場合について説明する。   On the other hand, the case where the document data type is tile vector data in step S902 will be described.

(ステップS910)
タイルベクタデータから、オブジェクトを記述するコマンド列を読み込む。
(Step S910)
Reads a command sequence that describes an object from tile vector data.

(ステップS911)
ステップS910で読み込んだコマンド列を解析し、記述されているオブジェクトがそれより以前に読み込まれたタイルと結合可能であるか否かを判定する。結合可能でない場合(ステップS911でNO)、ステップS912をスキップし、ステップS913へ進む。一方、結合可能である場合(ステップS911でYES)、ステップS912へ進む。
(Step S911)
The command sequence read in step S910 is analyzed, and it is determined whether or not the described object can be combined with tiles read before that time. If it cannot be combined (NO in step S911), step S912 is skipped and the process proceeds to step S913. On the other hand, if the connection is possible (YES in step S911), the process proceeds to step S912.

尚、オブジェクトが結合可能であるか否かの判定は、読み込んだコマンドの座標位置や、図形の種別等を基に判定する。また、文字列の場合は、フォントサイズやフォントの種類を基に判定する。   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.

(ステップS912)
オブジェクトの結合処理を実行する。この処理は、基本的には、ステップS905の処理手順を逆にすることで実現する。
(Step S912)
Executes object merge processing. This processing is basically realized by reversing the processing procedure of step S905.

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

(ステップS914)
1つのオブジェクトに対するコマンドの記述変換が終了したら、タイル内の全てのオブジェクトのコマンドの記述変換が終了したか否かを判定する。終了していない場合(ステップS914でNO)、ステップS910に戻り、次のコマンドに対して、ステップS910〜ステップS913の処理を繰り返す。一方、終了した場合(ステップS914でYES)、ステップS915へ進む。
(Step S914)
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 tile is completed. If not completed (NO in step S914), the process returns to step S910, and the processes in steps S910 to S913 are repeated for the next command. On the other hand, when the process is completed (YES in step S914), the process proceeds to step S915.

(ステップS915)
全てのコマンドの記述変換が終了したら、ページベクタデータとしてシステムメモリ5への書出を実行する。ページベクタデータとしては、ステップS912及びステップS913で記述されたコマンドに対し、タイルの開始と終了を示すコマンドを削除したようなフォーマットで記述される。
(Step S915)
When the description conversion of all commands is completed, writing to the system memory 5 as page vector data is executed. The page vector data is described in a format in which commands indicating start and end of tiles are deleted from the commands described in steps S912 and S913.

まず、ページ内の一番最初のタイルに記述されたコマンドの書出時点では、システムメモリ5内にオブジェクトがない状態のページベクタデータを生成しておく。これは、図10の記述を用いて説明すると、コマンドC1〜C6、コマンドC22だけで記述されるページベクタデータである。   First, at the time of writing a command described in the first tile in the page, page vector data in which no object is present in the system memory 5 is generated. This will be page vector data described only by commands C1 to C6 and command C22, using the description of FIG.

(ステップS916)
1つコマンドのページベクタへの書出が終了すると、そのタイルのオブジェクトの記述が全て終了したか否かを判定する。終了していない場合(ステップS916でNO)、ステップS910に戻る。一方、終了した場合(ステップS916でYES)、ステップS917に進む。
(Step S916)
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 not completed (NO in step S916), the process returns to step S910. On the other hand, when the process is completed (YES in step S916), the process proceeds to step S917.

(ステップS917)
1つのタイルベクタデータの書出が終了すると、そのページのタイルベクタデータの記述に対する処理が全て終了したか否かを判定する。終了していない場合(ステップS917でNO)、ステップS910に戻る。一方、終了した場合(ステップS917でYES)、処理を終了する。
(Step S917)
When the writing of one tile vector data is finished, it is determined whether or not all the processes for the description of the tile vector data on the page are finished. If not completed (NO in step S917), the process returns to step S910. On the other hand, if the process is completed (YES in step S917), the process ends.

[画像データ展開部(RIP)]
次に、コントローラ1中の画像データ展開部18の詳細について説明する。
[Image data development unit (RIP)]
Next, details of the image data development unit 18 in the controller 1 will be described.

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

以下では、画像データ展開部18によって、タイルベクタデータ展開を実行する場合の処理について、図14を用いて説明する。   Hereinafter, processing when tile vector data expansion is executed by the image data expansion unit 18 will be described with reference to FIG.

図14は本発明の実施形態1の画像データ展開部が実行する処理を示すフローチャートである。   FIG. 14 is a flowchart showing processing executed by the image data development unit according to the first embodiment of the present invention.

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

(ステップS102)
タイルベクタデータをローカルメモリ19に格納したら、RIP18内のμRIP18a〜18dのいずれかが、タイルベクタデータを展開可能(処理可能)であるか否かを判定する。μRIP18a〜18dのいずれもタイルベクタデータの展開(処理)中である場合(ステップS102でNO)、それらのいずれかが展開可能になるまで待機する。
(Step S102)
When the tile vector data is stored in the local memory 19, it is determined whether any of the μRIPs 18a to 18d in the RIP 18 can develop (process) the tile vector data. When any of the μRIPs 18a to 18d is being developed (processed) in tile vector data (NO in step S102), the process waits until any of them can be developed.

(ステップS103)
μRIP18a〜18dのいずれかがタイルベクタデータを展開可能になれば、予め定められた文法に従って、ローカルメモリ19に格納されたタイルベクタデータのコマンド解析を実行する。
(Step S103)
If any of the μRIPs 18a to 18d can expand the tile vector data, the command analysis of the tile vector data stored in the local memory 19 is executed according to a predetermined grammar.

(ステップS104)
コマンド解析結果に基づいて、コマンドが描画命令であるか排紙命令であるかを判定する。描画命令である場合(ステップS104でYES)、ステップS105に進む。一方、排紙命令である場合(ステップS104でNO)、ステップS106に進む。
(Step S104)
Based on the command analysis result, it is determined whether the command is a drawing command or a paper discharge command. If it is a drawing command (YES in step S104), the process proceeds to step S105. On the other hand, if it is a paper discharge command (NO in step S104), the process proceeds to step S106.

(ステップS105)
コマンドが描画命令である場合、描画オブジェクト(DLデータ)の生成を実行する。タイルベクタデータ内のコマンドが文字の描画命令である場合、そのコマンドで指定されるフォントの書体や、文字サイズ、文字コードを元にフォントオブジェクトを生成して、ローカルメモリ19のDLデータ領域に格納する。また、文字以外の描画命令、つまり、図形の描画命令である場合、そのコマンドで指定された図形(ラインや円、多角形等)の描画オブジェクトを生成し、ローカルメモリ19のDLデータ領域に格納する。
(Step S105)
When the command is a drawing command, a drawing object (DL data) is generated. If the command in the tile vector data is a character drawing command, a font object is generated based on the font type, character size, and character code specified by the command, and stored in the DL data area of the local memory 19 To do. If the command is a drawing command other than characters, that is, a drawing command for a graphic, a drawing object of a graphic (line, circle, polygon, etc.) designated by the command is generated and stored in the DL data area of the local memory 19. To do.

また、コマンドが描画命令で指定されない印刷データである場合には、この印刷データに応じて印刷位置移動や印刷環境設定等の印刷制御処理を実行し、一単位分のコマンド解釈を終了する。   If the command is print data not specified by the drawing command, print control processing such as print position movement and print environment setting is executed according to this print data, and command interpretation for one unit is completed.

これは、タイルベクタデータ内のコマンド全ての解釈が終了するまで、上記処理を繰り返す。   This repeats the above process until interpretation of all commands in the tile vector data is completed.

(ステップS106)
コマンドが排紙命令である場合、μRIPは、ローカルメモリ19上のタイルラスタ領域に空き領域があるか否かを判定する。空き領域がない場合(ステップS106でNO)、他のμRIPの処理が終了して、タイルラスタ領域が解放されて、空き領域ができるまで待機する。一方、空き領域がある場合(ステップS106でYES)、ステップS107に進む。
(Step S106)
If the command is a paper discharge command, the μRIP determines whether there is an empty area in the tile raster area on the local memory 19. If there is no free area (NO in step S106), the process waits until the other μRIP processing ends, the tile raster area is released, and a free area is created. On the other hand, if there is a free area (YES in step S106), the process proceeds to step S107.

(ステップS107)
タイルラスタ領域に空き領域がある場合、ステップS105で生成された描画オブジェクトを読み出し、タイルラスタ領域に描画(ラスタライズ)する。この時、生成解像度が600dpiであれば、タイルラスタ領域には600dpiの画像としてラスタライズされる。そして、描画が終了したタイルラスタ画像は、SBB2を介して、画像処理部15に出力する。
(Step S107)
If there is an empty area in the tile raster area, the drawing object generated in step S105 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.

(ステップS108)
ステップS105またはステップS107で一つのタイルベクタデータに対する、コマンド解析または描画処理が終了したら、タイルベクタ領域に格納したタイルベクタデータのすべてに対して処理が終了したか否かを判定する。未処理のタイルベクタデータがある場合(ステップS108でNO)、ステップS102に戻り、次のタイルベクタデータの処理を続ける。一方、未処理のタイルベクタデータがない場合(ステップS108でYES)、ステップS109に進む。
(Step S108)
When command analysis or drawing processing for one tile vector data is completed in step S105 or step S107, it is determined whether or not processing has been completed for all tile vector data stored in the tile vector area. If there is unprocessed tile vector data (NO in step S108), the process returns to step S102, and processing of the next tile vector data is continued. On the other hand, if there is no unprocessed tile vector data (YES in step S108), the process proceeds to step S109.

(ステップS109)
1ページ分のタイルベクタデータに対し、全ての処理が終了したか否かを判定する。未処理のタイルベクタデータがある場合(ステップS109でNO)、ステップS101に戻り、システムメモリ5から、タイルベクタデータを読み出して、処理を続ける。一方、未処理のタイルベクタデータがない場合(ステップS109でYES)、処理を終了する。
(Step S109)
It is determined whether or not all processing has been completed for tile vector data for one page. If there is unprocessed tile vector data (NO in step S109), the process returns to step S101, the tile vector data is read from the system memory 5, and the processing is continued. On the other hand, if there is no unprocessed tile vector data (YES in step S109), the process ends.

以上説明したように、実施形態1によれば、システムメモリ上に、入力された画像データをページベクタデータとタイルベクタデータの2種類の形式の画像データのみを記憶する構成を採用する。これにより、画像サイズの大きいラスタデータ及びDLデータをシステムメモリに記憶する必要がなくなる。そのため、システムメモリ上で確保しなければならない画像データ領域を削減することができる。   As described above, according to the first embodiment, a configuration is adopted in which only the image data in two types of page vector data and tile vector data is stored in the system memory as input image data. This eliminates the need to store raster data and DL data having a large image size in the system memory. Therefore, the image data area that must be secured on the system memory can be reduced.

また、タイルベクタデータ生成時には、固定サイズのタイルではなく、オブジェクトのサイズに適合させた可変サイズのタイルベクタデータを生成する構成とすることで、より適切なサイズのタイルベクタデータを生成することができる。これにより、タイルベクタデータ全体のデータ量を削減することができる。   In addition, when generating tile vector data, it is possible to generate tile vector data with a more appropriate size by generating variable-size tile vector data adapted to the size of the object instead of fixed-size tiles. it can. Thereby, the data amount of the whole tile vector data can be reduced.

更に、個々のタイルベクタデータのタイルサイズが大きくなりすぎた場合に、並列処理性が低下することを防ぐために、所定のタイルサイズよりも大きいタイルに関しては、そのタイルを再分割して、新たなタイルを設定する。これにより、並列処理の効率を向上させることが可能となる。   Furthermore, in order to prevent the parallel processing performance from degrading when the tile size of individual tile vector data becomes too large, for tiles larger than the predetermined tile size, the tiles are subdivided and new tiles are created. Set the tile. Thereby, the efficiency of parallel processing can be improved.

[実施形態2]
実施形態1では、ラスタベクタデータからタイルベクタデータへ変換する場合、または、ページベクタデータをタイルベクタデータへ変換する場合は、オブジェクトが存在しないタイル(空白タイル)であっても、図12のコマンドC7、C8で示されるタイルの先頭位置と終端位置の情報だけをもつコマンドを生成している。
[Embodiment 2]
In the first embodiment, when converting from raster vector data to tile vector data, or when converting page vector data to tile vector data, even if the tile does not exist (blank tile), the command of FIG. A command having only information of the head position and the end position of the tiles indicated by C7 and C8 is generated.

これに対して、実施形態2では、図15に示すように、空白タイルに関しては、ベクタデータを生成しないで(つまり、ベクタデータの生成を禁止して)、オブジェクトが存在する場合だけ、タイルベクタデータを生成するようにしても良い。   On the other hand, in the second embodiment, as shown in FIG. 15, with respect to a blank tile, vector data is not generated (that is, generation of vector data is prohibited), and only when an object exists, a tile vector is generated. Data may be generated.

つまり、図15では、図12の描画命令部分1403に対応する描画命令部分が省略され、図12の描画命令部分1401、1404、1405、1406に対応する描画命令部分1101、1104、1105、1106のみが記述されている。   That is, in FIG. 15, the drawing command portion corresponding to the drawing command portion 1403 in FIG. 12 is omitted, and only the drawing command portions 1101, 1104, 1105, and 1106 corresponding to the drawing command portions 1401, 1404, 1405, and 1406 in FIG. Is described.

このように、タイルベクタデータ中に、空白タイルの情報を省略することにより、MFP内部で扱うデータ量をより削減することが可能となる。   Thus, by omitting blank tile information from tile vector data, the amount of data handled in the MFP can be further reduced.

尚、実施形態2の構成の場合は、図12のフローチャートにおいて、ステップ907の処理において、空白タイルに関しての処理を省略することになる。   In the case of the configuration of the second embodiment, the process for the blank tile is omitted in the process of step 907 in the flowchart of FIG.

以上説明したように、実施形態2によれば、実施形態1で説明した効果に加えて、タイルベクタデータのデータ量をより削減することができる。   As described above, according to the second embodiment, in addition to the effects described in the first embodiment, the data amount of tile vector data can be further reduced.

[実施形態3]
実施形態3は、実施形態1の応用例である。
[Embodiment 3]
The third embodiment is an application example of the first embodiment.

特に、実施形態3では、画像データ中で複数のオブジェクトそれぞれを内包する矩形領域(タイル)を一旦設定した後、その矩形領域同士の重複部の割合に基づいて、より適切なタイルを再設定(結合/分割)する構成について説明する。   In particular, in the third embodiment, a rectangular area (tile) that includes each of a plurality of objects in image data is set once, and then a more appropriate tile is reset based on the ratio of overlapping portions between the rectangular areas ( A configuration to be combined / divided will be described.

まず、本発明の実施形態3の画像処理システムでのコピー動作に係るデータフローについて、図2を用いて説明する。   First, a data flow related to a copy operation in the image processing system according to the third embodiment of the present invention will be described with reference to FIG.

尚、ここでは、実施形態1のコピー動作における処理内容の内、異なる処理内容の部分だけ説明する。特に、実施形態3では、実施形態1における(S22)の処理内容が異なる。   Here, only the part of the different processing contents in the processing contents in the copying operation of the first embodiment will be described. Particularly, in the third embodiment, the processing content of (S22) in the first embodiment is different.

[コピー]
(S22):画像処理部15による画像処理が終了し、画像処理部15から出力された画像データはラスタ/タイルベクタ変換部14に入力され、タイルベクタ変換処理が実行される。
[copy]
(S22): Image processing by the image processing unit 15 is completed, and the image data output from the image processing unit 15 is input to the raster / tile vector conversion unit 14, and tile vector conversion processing is executed.

ここでは、まず、ラスタ/タイルベクタ変換部14は、画像データ中のオブジェクトを内包する矩形領域を一旦設定する。そして、画像データ中で複数のオブジェクトそれぞれを内包する矩形領域が重複していない場合は、オブジェクト毎に、この矩形領域の大きさのブロック(タイル)を確定して、その大きさのブロックに画像データ中のオブジェクトを分割する。   Here, first, the raster / tile vector conversion unit 14 temporarily sets a rectangular area that includes an object in the image data. If the rectangular areas containing each of the plurality of objects do not overlap in the image data, a block (tile) having the size of the rectangular area is determined for each object, and the image is displayed on the block of that size. Split objects in the data.

一方、複数のオブジェクトそれぞれを内包する矩形領域が重複している場合で、特に、その重複している割合(重複度)が所定値より大きい場合は、その複数のオブジェクトを内包する矩形領域の大きさのブロック(タイル)を設定して、その大きさのブロックに画像データ中の複数のオブジェクトを分割する。一方、重複度が所定値より小さい場合は、各オブジェクトを内包する矩形領域の大きさのブロック(タイル)を設定して、その大きさのブロックに画像データ中の複数のオブジェクトの各オブジェクトを分割する。   On the other hand, when the rectangular areas containing each of the plurality of objects overlap, especially when the overlapping ratio (duplication degree) is larger than a predetermined value, the size of the rectangular area containing the plurality of objects is larger. A block (tile) is set, and a plurality of objects in the image data are divided into blocks of that size. On the other hand, if the degree of overlap is smaller than a predetermined value, a block (tile) of the size of the rectangular area that encloses each object is set, and each object of multiple objects in the image data is divided into blocks of that size To do.

そして、各ブロック内のラスタデータに対して、ベクトル化処理を実行して、ブロック(タイル)単位のベクタデータ(タイルベクタデータ(ブロックベクタデータ))を生成する。   Then, vectorization processing is executed on the raster data in each block to generate vector data (tile vector data (block vector data)) in units of blocks (tiles).

生成されたタイルベクタデータは、SBB2によりバスの調停を受け、システムメモリ5へのバス権を取得し、MC4を介して、システムメモリ5に記憶される。(尚、SBB2経由でデータパスが接続される場合は、基本的にバスの調停を受け、バス権を取得する手続きを踏むが、以降のフロー説明では省略する。)
次に、本発明の実施形態3の画像処理システムでのプリント動作に係るデータフローについて、図3を用いて説明する。
The generated tile vector data is subjected to bus arbitration by the SBB 2, acquires the bus right to the system memory 5, and is stored in the system memory 5 via the MC 4. (Note that when the data path is connected via the SBB2, the procedure for acquiring the bus right is basically taken after the arbitration of the bus, but this is omitted in the following flow description.)
Next, a data flow relating to a printing operation in the image processing system according to the third embodiment of the present invention will be described with reference to FIG.

尚、ここでは、実施形態1のコピー動作における処理内容の内、異なる処理内容の部分だけ説明する。特に、実施形態3では、実施形態1における(S32)の処理内容が異なる。   Here, only the part of the different processing contents in the processing contents in the copying operation of the first embodiment will be described. Particularly, in the third embodiment, the processing content of (S32) in the first embodiment is different.

[プリント]
(S32):システムメモリ5に記憶されたページベクタデータは、タイル/ページベクタ変換部13より読み出され、タイルベクタ変換処理が実行される。
[Print]
(S32): The page vector data stored in the system memory 5 is read from the tile / page vector conversion unit 13, and tile vector conversion processing is executed.

ここでは、まず、タイル/ページベクタ変換部13は、ページベクタデータ内に存在するオブジェクト毎に、オブジェクトを内包する矩形領域を一旦設定する。そして、ページベクタデータ中で、複数のオブジェクトが重複していない場合は、オブジェクト毎に、この矩形領域の大きさのブロック(タイル)を確定して、その大きさのブロックにページベクタデータ中のオブジェクトを分割する。   Here, first, the tile / page vector conversion unit 13 once sets a rectangular area containing an object for each object existing in the page vector data. If a plurality of objects do not overlap in the page vector data, a block (tile) having the size of this rectangular area is determined for each object, and the block of that size is stored in the page vector data. Split an object.

一方、複数のオブジェクトが重複している場合で、特に、その重複している割合(重複度)が所定値より大きい場合は、その複数のオブジェクトを内包する矩形領域の大きさのブロック(タイル)を設定して、その大きさのブロックにページベクタデータ中の複数のオブジェクトを分割する。一方、重複度が所定値より小さい場合は、各オブジェクトを内包する矩形領域の大きさのブロック(タイル)を設定して、その大きさのブロックにページベクタデータ中の複数のオブジェクトの各オブジェクトを分割する。   On the other hand, when a plurality of objects overlap, especially when the overlapping ratio (duplication degree) is larger than a predetermined value, a block (tile) having a size of a rectangular area including the plurality of objects. Is set, and a plurality of objects in the page vector data are divided into blocks of that size. On the other hand, when the degree of overlap is smaller than the predetermined value, a block (tile) of a rectangular area containing each object is set, and each object of a plurality of objects in the page vector data is set in the block of that size. To divide.

[ラスタ/タイルベクタ変換部]
次に、ラスタ/タイルベクタ変換部14の処理の詳細について説明する。
[Raster / Tile vector converter]
Next, details of the processing of the raster / tile vector conversion unit 14 will be described.

図16は本発明の実施形態3のラスタ/タイルベクタ変換部が実行する処理を示すフローチャートである。   FIG. 16 is a flowchart illustrating processing executed by the raster / tile vector conversion unit according to the third embodiment of the present invention.

尚、図16において、実施形態1の図5のフローチャートと同一の処理については、同一のステップ番号を付加して、その詳細については省略する。   In FIG. 16, the same steps as those in the flowchart of FIG. 5 of the first embodiment are denoted by the same step numbers, and the details thereof are omitted.

(ステップS52a:タイル重複部算出処理)
分離された各領域は、次に、領域間の重複部の割合(重複度)を算出する。
(Step S52a: tile overlap portion calculation process)
Next, for each separated region, the ratio (overlap degree) of the overlapping portion between the regions is calculated.

具体例について、図17を用いて説明する。   A specific example will be described with reference to FIG.

図17は本発明の実施形態3のタイル重複部算出処理の具体例を説明するための図である。   FIG. 17 is a diagram for explaining a specific example of tile overlap portion calculation processing according to the third embodiment of the present invention.

図17に示す、ラスタデータ1600では、オブジェクト1601及び1602の2つのオブジェクトが存在している。このラスタデータ1600に対して、ステップS51のブロックセレクションを実行すると、オブジェクト1601は文字領域として認識され、オブジェクト1602は図形領域として認識される。   In the raster data 1600 shown in FIG. 17, there are two objects 1601 and 1602. When the block selection in step S51 is executed for the raster data 1600, the object 1601 is recognized as a character area and the object 1602 is recognized as a graphic area.

この処理結果に対して、タイル重複部算出処理を実行すると、ラスタデータ1600中のオブジェクト1601及び1602は、例えば、図18に示すように、それぞれのオブジェクトを含む矩形領域1701及び1702が設定される。   When tile overlap portion calculation processing is executed on this processing result, rectangular areas 1701 and 1702 including the respective objects are set as objects 1601 and 1602 in the raster data 1600 as shown in FIG. 18, for example. .

次に、矩形領域1701及び1702の重複部1703の面積を算出する。このとき、矩形領域1701及び1702それぞれの面積に対する、重複部1703の面積の割合を算出する。   Next, the area of the overlapping portion 1703 of the rectangular areas 1701 and 1702 is calculated. At this time, the ratio of the area of the overlapping portion 1703 to the area of each of the rectangular regions 1701 and 1702 is calculated.

(ステップS52b:タイル重複部割合判定処理)
次に、ステップS52aで算出した重複部1703の面積の割合が所定値αより大きいか否かを判定する。所定値α未満である場合(ステップS52bでNO)、ステップS52cへ進む。一方、所定値α未満より大きい場合(ステップS52bでYES)、ステップS52dへ進む。
(Step S52b: tile overlap portion ratio determination process)
Next, it is determined whether or not the area ratio of the overlapping portion 1703 calculated in step S52a is greater than a predetermined value α. If it is less than the predetermined value α (NO in step S52b), the process proceeds to step S52c. On the other hand, if it is greater than the predetermined value α (YES in step S52b), the process proceeds to step S52d.

(ステップS52c:タイル分割処理)
重複部1703の面積の割合が所定値α未満である場合、その重複部を形成する矩形領域(タイル)1701及び1702を含む領域(タイル)を分割し直すためのタイル分割処理を実行する。
(Step S52c: tile division processing)
When the area ratio of the overlapping portion 1703 is less than the predetermined value α, tile division processing for re-dividing the regions (tiles) including the rectangular regions (tiles) 1701 and 1702 forming the overlapping portion is executed.

このタイル分割処理によって、矩形領域(タイル)1701及び1702を含むページは、例えば、図19の領域(タイル)1801〜1807に分割する。この場合、オブジェクト1602をすべて包含する領域1805を生成し、その中にはオブジェクト1601の一部が含まれることとなる。一方、領域1804では、オブジェクト1601の一部のみが含まれる。   By this tile division processing, pages including rectangular areas (tiles) 1701 and 1702 are divided into areas (tiles) 1801 to 1807 in FIG. 19, for example. In this case, an area 1805 that includes all of the object 1602 is generated, and a part of the object 1601 is included therein. On the other hand, the area 1804 includes only a part of the object 1601.

このように、オブジェクトを内包する矩形領域同士の重複部の割合が所定値未満αである場合、タイル分割処理を実行して、より適切なサイズのタイルを設定して、タイルの並列処理性の向上を図る。   As described above, when the ratio of overlapping portions between rectangular areas including an object is less than a predetermined value α, tile division processing is executed to set a tile having a more appropriate size and Improve.

(S52d:タイル結合処理)
重複部1703の面積の割合が所定値αより大きい場合、その重複部を形成する矩形領域(タイル)1701及び1702を含む領域に結合するタイル結合処理を実行する。
(S52d: tile combination processing)
When the ratio of the area of the overlapping portion 1703 is larger than the predetermined value α, tile combining processing is performed for combining the regions including the rectangular regions (tiles) 1701 and 1702 forming the overlapping portion.

例えば、図20に示すように、オブジェクトを包含する矩形領域(タイル)1701及び1702がほぼ重複している場合(重複部の割合が比較的大きい場合)、つまり、両領域の重複部1901の割合が所定値αより大きい場合、矩形領域(タイル)1701及び1702を含むページ上では、図21の領域(タイル)1001〜1005を設定する。この場合、オブジェクト1601及び1602の両方を包含する領域(タイル)1003が設定される。   For example, as shown in FIG. 20, when rectangular areas (tiles) 1701 and 1702 that contain objects almost overlap (when the ratio of overlapping parts is relatively large), that is, the ratio of overlapping parts 1901 in both areas Is larger than the predetermined value α, the areas (tiles) 1001 to 1005 in FIG. 21 are set on the page including the rectangular areas (tiles) 1701 and 1702. In this case, an area (tile) 1003 that includes both the objects 1601 and 1602 is set.

このように、オブジェクトの内包する矩形領域同士の重複部の割合が所定値αより大きい場合、タイルの並列処理による高速化が見込めない。そのため、このような場合には、ページを構成するタイルの量を削減し、ページ全体のデータ量を減らすために、複数のオブジェクトを包含するタイルを生成(設定)する。   As described above, when the ratio of the overlapping portions of the rectangular areas included in the object is larger than the predetermined value α, speeding up by parallel processing of tiles cannot be expected. Therefore, in such a case, tiles including a plurality of objects are generated (set) in order to reduce the amount of tiles constituting the page and reduce the data amount of the entire page.

[タイル/ページベクタ変換部]
次に、タイル/ページベクタ変換部13の処理の詳細を説明するにあたり、処理対象となるドキュメントデータ(画像データ)について説明する。
[Tile / page vector converter]
Next, in describing the details of the processing of the tile / page vector conversion unit 13, document data (image data) to be processed will be described.

図22は本発明の実施形態3のネットワークから転送されてくるドキュメントデータの一例を示している。   FIG. 22 shows an example of document data transferred from the network according to the third embodiment of the present invention.

図22では、ドキュメントデータ2201の短手方向を「X」方向、長手方向を「Y」方向とするデバイス座標系を定義する。ドキュメントデータ2201としては、ページベクタデータ、タイルベクタデータ、あるいはラスタデータ表現を含むページベクタデータ(タイルベクタデータ)、あるいはラスタデータのいずれかで構成される可能性がある。 ここで、ドキュメントデータ2201が、ページベクタデータである場合、その内容を構成する記述例について、図23を用いて説明する。   In FIG. 22, a device coordinate system is defined in which the lateral direction of the document data 2201 is the “X” direction and the longitudinal direction is the “Y” direction. The document data 2201 may be composed of any one of page vector data, tile vector data, page vector data including raster data representation (tile vector data), or raster data. Here, when the document data 2201 is page vector data, a description example constituting the content will be described with reference to FIG.

図23は本発明の実施形態3のページベクタデータの記述例を示す図である。   FIG. 23 is a diagram showing a description example of page vector data according to the third embodiment of the present invention.

図23において、2301はドキュメントデータ全体の設定に関わるドキュメント設定命令部分、2302は文字の描画命令部分、2303は図形の描画命令部分を示している。   In FIG. 23, reference numeral 2301 denotes a document setting command part related to setting of the entire document data, 2302 denotes a character drawing command part, and 2303 denotes a graphic drawing command part.

各描画命令部分の詳細について説明する。   Details of each drawing command portion will be described.

ドキュメント設定命令部分2301において、C1〜C5は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドC1〜C5は、ドキュメント1部について1ケ所しか付いていない。   In the document setting command part 2301, C1 to C5 are commands related to the entire document. Therefore, these commands C1 to C5 have only one place for one document.

これらドキュメントデータ全体に関係するコマンドには、実施形態1の図10で詳述した内容と同様である。   The commands related to the entire document data are the same as those described in detail with reference to FIG.

文字の描画命令部分2302及び図形の描画命令部分2303を構成するC6〜C22は、ドキュメントデータを出力するための各種コマンドである。   C6 to C22 constituting the character drawing command portion 2302 and the graphic drawing command portion 2303 are various commands for outputting document data.

尚、文字の描画命令部分2302及び図形の描画命令部分2303を構成するコマンドについては、それぞれ文字及び図形の描画位置が異なる以外は、実施形態1の図10の描画命令部分1202及び図形の描画命令部分1203で詳述した内容と同様である。   Note that the commands constituting the character drawing command portion 2302 and the graphic drawing command portion 2303 are different from each other in the drawing position of the character and the graphic, respectively, except that the drawing position of the character and the graphic are different from each other. The contents are the same as those described in detail in the portion 1203.

一方、ドキュメントデータ2201がタイルベクタデータである場合について、図24を用いて説明する。   On the other hand, a case where the document data 2201 is tile vector data will be described with reference to FIG.

図24は本発明の実施形態3のタイルベクタデータの例を示す図である。   FIG. 24 is a diagram showing an example of tile vector data according to the third embodiment of the present invention.

図24では、図22のドキュメントデータ2201(ページベクタデータ)を、図24に示すようなブロック(タイル)単位で分割したタイルベクタデータ(ドキュメントデータ2400)の一例を示している。   24 shows an example of tile vector data (document data 2400) obtained by dividing the document data 2201 (page vector data) of FIG. 22 in units of blocks (tiles) as shown in FIG.

図24では、ドキュメントデータ2400の短手方向を「X」方向、長手方向を「Y」とするデバイス座標系を定義する。   In FIG. 24, a device coordinate system is defined in which the lateral direction of the document data 2400 is the “X” direction and the longitudinal direction is “Y”.

ここで、このドキュメントデータ2400が、タイルベクタデータである場合、その内容を構成する記述例について、図25を用いて説明する。   Here, when the document data 2400 is tile vector data, a description example constituting the contents will be described with reference to FIG.

図25は本発明の実施形態3のタイルベクタデータの記述例を示す図である。   FIG. 25 is a diagram showing a description example of tile vector data according to the third embodiment of the present invention.

図25において、2501はドキュメントデータ全体の設定に関わるドキュメント設定命令部分、2502は描画命令部分全体、2503〜2505はそれぞれタイル2401,2404,2405の描画命令部分を示している。   In FIG. 25, reference numeral 2501 denotes a document setting command part related to setting of the entire document data, 2502 denotes a whole drawing command part, and 2503 to 2505 denote drawing command parts of tiles 2401, 2404, and 2405, respectively.

各描画命令の詳細について説明する。   Details of each drawing command will be described.

ドキュメント設定命令部分2501において、C1〜C5は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドC1〜C5は、ドキュメント1部について1ケ所しか付いていない。   In the document setting command portion 2501, C1 to C5 are commands related to the entire document. Therefore, these commands C1 to C5 have only one place for one document.

これらドキュメントデータ全体に関係するコマンドには、実施形態1の図12で詳述した内容と同様である。   The commands related to the entire document data are the same as those described in detail with reference to FIG.

描画命令部分2502を構成するC6〜C500は、ドキュメントデータを出力するための各種コマンドである。   C6 to C500 constituting the drawing command portion 2502 are various commands for outputting document data.

ここで、描画命令部分2503は、実施形態1の図12の描画命令部分1403で詳述した内容と同様である。   Here, the drawing command portion 2503 is the same as the details described in the drawing command portion 1403 of FIG.

C9は図24のタイル2404の描画コマンドの開始を示すコマンドである。C10は文字のフォントの種類を選択するためのコマンドであり、この場合には「1」という番号の付けられたフォントセットに設定されている。C11はフォントの大きさを設定するコマンドであり、この場合には「10ポイント」の大きさに設定されている。   C9 is a command indicating the start of a drawing command for the tile 2404 in FIG. C10 is a command for selecting the font type of the character, and in this case, it is set to the font set numbered “1”. C11 is a command for setting the font size. In this case, the size is set to "10 points".

C12は文字の色を設定するコマンドであり、順にR(赤),G(緑),B(青)各色成分の輝度を示してある。この輝度は、例えば、0から255の256段階で量子化されているものとする。この場合は、{0,0,0}に設定されている。C13は文字を描画する開始位置の座標を示すコマンドである。座標位置(X,Y)は、ページの左上を原点に指定する。この場合は、ページの{40,150}の位置から文字の描画を開始するように設定されている。C14は実際に描画する文字列(A)を示すコマンドである。C15はタイル2404の描画コマンドの終了を示すコマンドである。   C12 is a command for setting a 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 levels from 0 to 255, for example. In this case, it is set to {0, 0, 0}. C13 is a command indicating the coordinates of the start position for drawing a character. The coordinate position (X, Y) is designated 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 {40, 150} on the page. C14 is a command indicating a character string (A) to be actually drawn. C15 is a command indicating the end of the drawing command of the tile 2404.

尚、実施形態3においては、このタイル2404内に存在する文字を描画する開始位置も、タイル2404を描画する開始位置と同様に、ページの左上を基準にしている。これは、文字列(A)がタイル2404とタイル2405に跨っていて、各タイル内では、自身に含まれる文字列の部分のみを描画する必要があるからである。   In the third embodiment, the start position for drawing a character existing in the tile 2404 is also based on the upper left of the page, similarly to the start position for drawing the tile 2404. This is because the character string (A) straddles the tile 2404 and the tile 2405, and it is necessary to draw only the portion of the character string included in each tile.

つまり、タイル2404では、描画コマンドC9とC15で示される矩形領域の位置情報と、文字列のページにおける位置情報とから、タイル2404内部で描画されるべき範囲内のみの文字列(A)を描画する必要がある。そのため、実施形態3では、タイル内に存在する文字を描画する開始位置も、ページの左上を基準にする座標系を採用している。   That is, the tile 2404 draws the character string (A) only within the range to be drawn inside the tile 2404 from the position information of the rectangular area indicated by the drawing commands C9 and C15 and the position information on the page of the character string. There is a need to. Therefore, in the third embodiment, a coordinate system based on the upper left of the page is also used as the starting position for drawing characters existing in the tile.

C100は図24のタイル2405の描画コマンドの開始を示すコマンドである。C101は図形描画の際の面の塗りつぶしの色を示すコマンドである。色の指定は、文字の色と同様である。C102は図形描画の線の色を指定するコマンドである。C103は図形を描画する位置の座標を示すコマンドである。   C100 is a command indicating the start of a drawing command of the tile 2405 in FIG. C101 is a command that indicates the fill color of the surface when drawing a figure. The color designation is the same as the character color. C102 is a command for designating the color of a line for drawing graphics. C103 is a command indicating the coordinates of the position to draw the figure.

C104は円弧を描画する際の半径を指定するコマンドであり、この場合、「10」座標単位を表している。C105は閉円弧の描画をするコマンドである。コマンド内の2個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を0度として、この場合には0度から90度の円弧を描画することを示している。   C104 is a command for designating a radius for drawing an arc, and in this case, represents a "10" coordinate unit. C105 is a command 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〜C110は、C101〜C105のコマンドと同様に図形の描画命令による図形の面,線の色の指定、位置等を指定するコマンドである。   C106 to C110 are commands for designating the surface of the figure, the color of the line, the position, etc. by the drawing command of the figure, as in the commands of C101 to C105.

C111〜C114は、タイル2404で記述されている文字列(A)の一部を、タイル2405で描画するためのコマンドである。ここでは、特に、コマンドC113で設定される、文字列(A)の一部を描画する開始位置の座標と、C100とC115で設定されるタイルの領域情報とから、文字列(A)の一部を描画する。   C111 to C114 are commands for drawing a part of the character string (A) described in the tile 2404 with the tile 2405. Here, in particular, from the coordinates of the start position for drawing a part of the character string (A) set by the command C113 and the tile area information set by C100 and C115, one character string (A) is obtained. Draw a part.

C115はタイル2405の描画コマンドの終了を示すコマンドである。また、C500はページの終了を示すコマンドである。   C115 is a command indicating the end of the drawing command of the tile 2405. C500 is a command indicating the end of the page.

次に、タイル/ページベクタ変換部13の処理の詳細について、図26を用いて説明する。   Next, details of the processing of the tile / page vector conversion unit 13 will be described with reference to FIG.

図26は本発明の実施形態3のタイル/ページベクタ変換部が実行する処理を示すフローチャートである。   FIG. 26 is a flowchart showing processing executed by the tile / page vector conversion unit according to the third embodiment of the present invention.

(ステップS1101)
まず、システムメモリ5中に記憶されたドキュメントデータ(ベクタデータ)から、ヘッダ部分に相当するコマンド列を読み込み、処理対象となるドキュメントデータ全体に関するコマンド部分を解析する。具体的には、図23または図25のC1〜C5に相当する部分の内容を解析する。
(Step S1101)
First, the command sequence corresponding to the header portion is read from the document data (vector data) stored in the system memory 5 and the command portion relating to the entire document data to be processed is analyzed. Specifically, the contents of portions corresponding to C1 to C5 in FIG. 23 or FIG. 25 are analyzed.

(ステップS1102)
これは、図13のステップS902に対応するので、その説明は省略する。
(Step S1102)
Since this corresponds to step S902 in FIG. 13, the description thereof is omitted.

(ステップS1103)
これは、図13のステップS903に対応するので、その説明は省略する。
(Step S1103)
Since this corresponds to step S903 in FIG. 13, the description thereof is omitted.

(ステップS1104)
ステップS1103で読み込んだコマンド列を解析し、記述されているオブジェクトを内包する矩形領域を算出し、複数オブジェクト間で算出された矩形領域が重複しているか否かを判定する。つまり、オブジェクトを内包する矩形領域(タイル)の結合を実行するか、あるいは更なる分割を実行するかを判定する。
(Step S1104)
The command sequence read in step S1103 is analyzed, a rectangular area including the described object is calculated, and it is determined whether or not the calculated rectangular areas overlap among a plurality of objects. That is, it is determined whether to combine rectangular areas (tiles) that contain objects or to perform further division.

矩形領域が重複している割合が所定値より大きい場合(ステップS1104でYES)、ステップS1105へ進み、タイル結合処理を実行する。一方、矩形領域が重複している割合が所定値未満である場合(ステップS1104でNO)、ステップS1106へ進み、タイル分割処理を実行する。   If the ratio of overlapping rectangular areas is greater than the predetermined value (YES in step S1104), the process advances to step S1105 to execute tile combination processing. On the other hand, if the ratio of overlapping rectangular areas is less than the predetermined value (NO in step S1104), the process advances to step S1106 to execute tile division processing.

(ステップS1105)
このステップでは、オブジェクトを内包するタイルの結合処理を行う。
(Step S1105)
In this step, the tiles that contain the objects are combined.

例えば、図23のページベクタデータ中の文字の描画命令部分2302、図形の描画命令部分2303において、両者によって描画される文字と図形それぞれを包含する領域1701及び1702の重複部1901の割合が所定値より大きい場合(図20の状態の場合)、その領域(タイル)を再分割して並列処理したとしても、文字及び図形それぞれを包含する領域の重複部は分散処理しづらい。   For example, in the character drawing command portion 2302 and the graphic drawing command portion 2303 in the page vector data of FIG. 23, the ratio of the overlapping portion 1901 of the areas 1701 and 1702 that respectively include the character and the graphic drawn by both are predetermined values. If it is larger (in the case of the state of FIG. 20), even if the region (tile) is subdivided and processed in parallel, the overlapping portion of the region including each character and graphic is difficult to perform distributed processing.

つまり、このような場合には、分散処理による高速化が望めないので、ベクタデータ全体のデータ量を減らすために、図21で説明したように、文字及び図形それぞれを包含する領域1701及び1702(タイル)を結合し、かつその結合領域を含み、文字及び図形の両方を包含する領域を生成(設定)する。   That is, in such a case, since speeding up by distributed processing cannot be expected, in order to reduce the data amount of the entire vector data, as described with reference to FIG. Tiles), and an area including the combined area and including both characters and graphics is generated (set).

(ステップS1106)
このステップでは、オブジェクトを内包するタイルの分割処理を行う。
(Step S1106)
In this step, a tile division process including the object is performed.

例えば、図23のページベクタデータ中の文字の描画命令部分2302、図形の描画命令部分2303において、両者によって描画される文字と図形それぞれを包含する領域1701及び1702の重複部1703の割合が所定値未満である場合(図18の状態の場合)、その領域(タイル)を分割して、文字、図形を並列に処理したほうが高速化が行えると判定する。   For example, in the character drawing command portion 2302 and the graphic drawing command portion 2303 in the page vector data of FIG. 23, the ratio of the overlapping portions 1703 of the areas 1701 and 1702 including the character and the graphic drawn by both of them is a predetermined value. If it is less (in the case of the state of FIG. 18), it is determined that the speed can be increased by dividing the area (tile) and processing the characters and graphics in parallel.

つまり、このような場合には、図24に示すように、文字と図形それぞれを包含する領域1701及び1702をタイル2404とタイル2405の2つのタイルに分割する。この分割によって、タイル2405では、片方のオブジェクト(図形オブジェクト)は全て内包し、もう一方のオブジェクト(文字オブジェクト)の一部が含まれる。また、タイル2404のように、オブジェクトが複数のタイルに跨がる場合には、そのオブジェクトの一部がそのタイルに含まれるようになる。   In other words, in such a case, as shown in FIG. 24, areas 1701 and 1702 each including characters and graphics are divided into two tiles, a tile 2404 and a tile 2405, respectively. By this division, the tile 2405 includes all of one object (graphic object) and includes a part of the other object (character object). Further, when an object straddles a plurality of tiles as in the tile 2404, a part of the object is included in the tile.

(ステップS1107)
これは、図13のステップS907に対応するので、その説明は省略する。
(Step S1107)
Since this corresponds to step S907 in FIG. 13, the description thereof is omitted.

尚、オブジェクトが存在していない場所、例えば、図24におけるタイル2401、2402、2403、2406、2407等の領域に対しては、個々の矩形領域に対して、図25のコマンドC7、C8等で示されるタイルの先頭位置と終端位置の情報を有するコマンドを生成した上で、ステップS1108へ進む。   In addition, for a place where an object does not exist, for example, an area such as tiles 2401, 402, 2403, 2406, and 2407 in FIG. 24, commands C7 and C8 in FIG. After generating a command having information on the start position and end position of the tile shown, the process advances to step S1108.

(ステップS1108)
これは、図13のステップS908に対応するので、その説明は省略する。
(Step S1108)
Since this corresponds to step S908 in FIG. 13, the description thereof is omitted.

次に、ステップS1103〜ステップS1107で処理されたコマンドが存在する座標のタイルに対し、オブジェクトの記述を追加する。例えば、図24のタイル2404の場合は、コマンドC9〜C15から構成される描画命令部分2504(図25)で記述される。   Next, a description of the object is added to the tile of the coordinate where the command processed in steps S1103 to S1107 exists. For example, the tile 2404 in FIG. 24 is described by a drawing command portion 2504 (FIG. 25) including commands C9 to C15.

(ステップS1109)
これは、図13のステップS909に対応するので、その説明は省略する。
(Step S1109)
Since this corresponds to step S909 in FIG. 13, the description thereof is omitted.

一方、ステップS1102で、ドキュメントデータのタイプが、タイルベクタデータである場合について説明する。   On the other hand, the case where the document data type is tile vector data in step S1102 will be described.

(ステップS1110)
これは、図13のステップS910に対応するので、その説明は省略する。
(Step S1110)
Since this corresponds to step S910 in FIG. 13, the description thereof is omitted.

(ステップS1111)
ステップS1110で読み込まれたコマンド列を解析し、記述されているオブジェクトがそれより以前に読み込まれたタイルと重複したデータを有するか否かを判定する。そして、この重複したデータの有無に応じて、そのタイルとオブジェクトが結合可能であるか否かを判定する。結合可能でない場合(ステップS1111でNO)、ステップS1112をスキップし、ステップS1114へ進む。一方、結合可能である場合(ステップS1111でYES)、ステップS1112へ進む。
(Step S1111)
The command sequence read in step S1110 is analyzed, and it is determined whether or not the described object has data duplicated with tiles read before that time. Then, it is determined whether or not the tile and the object can be combined according to the presence or absence of the duplicate data. If it cannot be combined (NO in step S1111), step S1112 is skipped and the process proceeds to step S1114. On the other hand, if they can be combined (YES in step S1111), the process advances to step S1112.

尚、オブジェクトが結合可能であるか否かの判定は、読み込んだコマンドの座標位置や、図形の種別等を基に判定する。また、文字列の場合は、フォントサイズやフォントの種類を基に判定する。例えば、図25の描画命令部分2505においては、コマンドC111〜C114までの情報は、描画命令部分2504で規定されるタイルの情報にすでに含まれている。そこで、このような場合には、この重複したデータをなくすように動作する。   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. For example, in the drawing command portion 2505 of FIG. 25, information on the commands C111 to C114 is already included in the tile information defined by the drawing command portion 2504. Therefore, in such a case, the operation is performed so as to eliminate the duplicated data.

(ステップS1112)
これは、図13のステップS912に対応するので、その説明は省略する。
(Step S1112)
Since this corresponds to step S912 in FIG. 13, the description thereof is omitted.

(ステップS1114)
これは、図13のステップS914に対応するので、その説明は省略する。
(Step S1114)
Since this corresponds to step S914 in FIG. 13, the description thereof is omitted.

(ステップS1115)
全てのコマンドの記述変換が終了したら、ページベクタとしてシステムメモリ5への書出を実行する。ページベクタデータとしては、ステップS1105及びステップS1106で記述されたコマンドに対し、タイルの開始と終了を示すコマンドを削除したようなフォーマットで記述される。
(Step S1115)
When the description conversion of all commands is completed, writing to the system memory 5 is executed as a page vector. The page vector data is described in a format in which commands indicating the start and end of tiles are deleted from the commands described in steps S1105 and S1106.

まず、ページ内の一番最初のタイルに記述されたコマンドの書出時点では、システムメモリ5内にオブジェクトがない状態のページベクタデータを生成しておく。これは、図23の記述を用いて説明すると、コマンドC1〜C6、C22だけで記述されるページである。次に、ステップS1110〜ステップS1112で処理されたオブジェクトの記述を追加する。図23の記述を用いて説明すると、描画命令部分2302のコマンドC7〜C11がこれにあたる。   First, at the time of writing a command described in the first tile in the page, page vector data in which no object is present in the system memory 5 is generated. This is a page described only by commands C1 to C6 and C22, using the description of FIG. Next, a description of the object processed in steps S1110 to S1112 is added. If described with reference to the description of FIG. 23, commands C7 to C11 of the drawing command portion 2302 correspond to this.

(ステップS1116)
これは、図13のステップS916に対応するので、その説明は省略する。
(Step S1116)
Since this corresponds to step S916 in FIG. 13, the description thereof is omitted.

(ステップS1117)
これは、図13のステップS917に対応するので、その説明は省略する。
(Step S1117)
This corresponds to step S917 in FIG.

尚、コントローラ1中の画像データ展開部18の詳細については、実施形態1と同様なので、その説明は省略する。   The details of the image data development unit 18 in the controller 1 are the same as those in the first embodiment, and a description thereof will be omitted.

以上説明したように、実施形態3によれば、実施形態1で説明した効果に加えて、オブジェクトを内包する矩形領域同士の重複部の割合に基づいて、一旦設定した矩形領域(タイル)を再設定(結合/分割)する。   As described above, according to the third embodiment, in addition to the effect described in the first embodiment, a rectangular area (tile) that has been set once is reproduced based on the ratio of overlapping portions of rectangular areas that contain objects. Set (combine / split).

これにより、より適切なサイズの矩形領域からなるタイルベクタデータを生成することができ、タイルベクタデータの並列処理の効率性を向上させることができる。   As a result, tile vector data composed of rectangular regions of a more appropriate size can be generated, and the efficiency of parallel processing of tile vector data can be improved.

[実施形態4]
実施形態4は、実施形態3の応用例である。実施形態4が実施形態3と異なる点は、タイルベクタデータを生成する際に、オブジェクトを内包する矩形領域において、オブジェクト毎の矩形領域の重複部が所定値未満である場合、タイルの分割をより細かく行い、分散処理による高速化をより行い易くした点である。
[Embodiment 4]
The fourth embodiment is an application example of the third embodiment. The fourth embodiment is different from the third embodiment in that when tile vector data is generated, if the overlapping portion of the rectangular area for each object is less than a predetermined value in the rectangular area containing the object, the tile is divided more. This is done in detail, making it easier to increase the speed by distributed processing.

例えば、図16のフローチャートにおいて、図17に示すラスタデータをタイルベクタデータに変換する際、ステップS52cの処理において、図18に示すように、それぞれのオブジェクトを内包する矩形領域(タイル)1701及び1702の重複部1703の面積の割合が所定値未満である場合、タイル1701及び1702を分割し直すためのタイル分割処理を実行する。このタイル分割処理によって、矩形領域(タイル)1701及び1702を含むページは、例えば、図27の領域(タイル)1801から1808に分割する。   For example, when converting the raster data shown in FIG. 17 into tile vector data in the flowchart of FIG. 16, in the process of step S52c, as shown in FIG. 18, rectangular areas (tiles) 1701 and 1702 containing each object are shown. When the area ratio of the overlapping portion 1703 is less than a predetermined value, tile division processing for re-dividing the tiles 1701 and 1702 is executed. By this tile division processing, a page including rectangular areas (tiles) 1701 and 1702 is divided into areas (tiles) 1801 to 1808 in FIG. 27, for example.

ここで、図19のタイル分割処理による分割方法との差異は、タイル1805aであり、複数のオブジェクトを内包する矩形領域の重複部を独立したタイルとして生成している。また、それ以外のタイルは、タイル1804、またはタイル1805bのようタイル内に、単一オブジェクトが内包するようにタイルを分割している。   Here, a difference from the division method by the tile division processing of FIG. 19 is a tile 1805a, and an overlapping portion of rectangular areas including a plurality of objects is generated as an independent tile. The other tiles are divided into tiles such that the single object is included in the tile, such as the tile 1804 or the tile 1805b.

このように、オブジェクトを内包する矩形領域の重複部の割合が所定値未満である場合は、並列処理による高速化が見込める。そのため、例えば、2つのオブジェクトを内包する矩形領域(タイル)が重複している割合が小さい場合は、2つの単一オブジェクトを内包するタイルと、両者の部分オブジェクトを複数の内包するタイルの計3つに分割することにより、タイルを細分化し、並列処理しやすくする。   As described above, when the ratio of the overlapping portion of the rectangular area including the object is less than the predetermined value, speeding up by parallel processing can be expected. Therefore, for example, when the ratio of overlapping rectangular areas (tiles) that contain two objects is small, a total of 3 tiles that contain two single objects and tiles that contain both partial objects. By dividing into tiles, the tiles are subdivided to facilitate parallel processing.

このように、タイルをより細分化すること以外は、実施形態3と同様の処理フローでデータを処理することが可能である。   As described above, data can be processed in the same processing flow as in the third embodiment except that the tiles are further subdivided.

以上説明したように、実施形態4によれば、実施形態3で説明した効果に加えて、よりタイルベクタデータの並列処理の効率性を向上させることができる。   As described above, according to the fourth embodiment, in addition to the effects described in the third embodiment, the efficiency of parallel processing of tile vector data can be further improved.

以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。   Although the embodiments have been described in detail above, the present invention can take an embodiment as, for example, a system, an apparatus, a method, a program, or a storage medium, and specifically includes a plurality of devices. The present invention may be applied to a system that is configured, or may be applied to an apparatus that includes a single device.

尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。   In the present invention, a software program (in the embodiment, a program corresponding to the flowchart shown in the figure) that realizes the functions of the above-described embodiment is directly or remotely supplied to the system or apparatus, and the computer of the system or apparatus Is also achieved by reading and executing the supplied program code.

従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, or the like.

プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。   As a recording medium for supplying the program, for example, floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card ROM, DVD (DVD-ROM, DVD-R) and the like.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   As another program supply method, a client computer browser is used to connect to an Internet homepage, and the computer program of the present invention itself or a compressed file including an automatic installation function is downloaded from the homepage to a recording medium such as a hard disk. Can also be supplied. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. It is also possible to execute the encrypted program by using the key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。   In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer based on the instruction of the program is a part of the actual processing. Alternatively, the functions of the above-described embodiment can be realized by performing all of them and performing the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。   Furthermore, after the program read from the recording medium is written to a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or The CPU or the like provided in the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.

本発明の実施形態1の画像処理システムを構成するMFPのコントローラの詳細を示すブロック図である。FIG. 2 is a block diagram illustrating details of a controller of the MFP that constitutes the image processing system according to the first exemplary embodiment of the present invention. 本発明の実施形態1の画像処理システムでのコピー動作に係るデータフローを示す図である。It is a figure which shows the data flow which concerns on the copy operation | movement in the image processing system of Embodiment 1 of this invention. 本発明の実施形態1の画像処理システムでのプリント動作に係るデータフローを示す図である。It is a figure which shows the data flow which concerns on the printing operation in the image processing system of Embodiment 1 of this invention. 本発明の実施形態1の画像処理システムでの送信動作に係るデータフローを示す図である。It is a figure which shows the data flow which concerns on the transmission operation | movement in the image processing system of Embodiment 1 of this invention. 本発明の実施形態1のラスタ/タイルベクタ変換部が実行する処理を示すフローチャートである。It is a flowchart which shows the process which the raster / tile vector conversion part of Embodiment 1 of this invention performs. 本発明の実施形態1のタイルサイズ決定処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the tile size determination process of Embodiment 1 of this invention. 本発明の実施形態1のタイルサイズ決定処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the tile size determination process of Embodiment 1 of this invention. 本発明の実施形態1のタイルサイズ決定処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the tile size determination process of Embodiment 1 of this invention. 本発明の実施形態1のネットワークから転送されてくるドキュメントデータの一例を示している。2 shows an example of document data transferred from the network according to the first embodiment of the present invention. 本発明の実施形態1のページベクタデータの記述例を示す図である。It is a figure which shows the example of description of the page vector data of Embodiment 1 of this invention. 本発明の実施形態1のタイルベクタデータの例を示す図である。It is a figure which shows the example of the tile vector data of Embodiment 1 of this invention. 本発明の実施形態1のタイルベクタデータの記述例を示す図である。It is a figure which shows the example of description of the tile vector data of Embodiment 1 of this invention. 本発明の実施形態1のタイル/ページベクタ変換部が実行する処理を示すフローチャートである。It is a flowchart which shows the process which the tile / page vector conversion part of Embodiment 1 of this invention performs. 本発明の実施形態1の画像データ展開部が実行する処理を示すフローチャートである。It is a flowchart which shows the process which the image data expansion | deployment part of Embodiment 1 of this invention performs. 本発明の実施形態2のタイルベクタデータの記述例を示す図である。It is a figure which shows the example of description of the tile vector data of Embodiment 2 of this invention. 本発明の実施形態3のラスタ/タイルベクタ変換部が実行する処理を示すフローチャートである。It is a flowchart which shows the process which the raster / tile vector conversion part of Embodiment 3 of this invention performs. 本発明の実施形態3のタイル重複部算出処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the tile duplication part calculation process of Embodiment 3 of this invention. 本発明の実施形態3のタイル重複部算出処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the tile duplication part calculation process of Embodiment 3 of this invention. 本発明の実施形態3のタイル分割処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the tile division | segmentation process of Embodiment 3 of this invention. 本発明の実施形態3のタイル結合処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the tile coupling | bonding process of Embodiment 3 of this invention. 本発明の実施形態3のタイル結合処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the tile coupling | bonding process of Embodiment 3 of this invention. 本発明の実施形態3のネットワークから転送されてくるドキュメントデータの一例を示している。It shows an example of document data transferred from the network according to the third embodiment of the present invention. 本発明の実施形態3のページベクタデータの記述例を示す図である。It is a figure which shows the example of description of the page vector data of Embodiment 3 of this invention. 本発明の実施形態3のタイルベクタデータの例を示す図である。It is a figure which shows the example of the tile vector data of Embodiment 3 of this invention. 本発明の実施形態3のタイルベクタデータの記述例を示す図である。It is a figure which shows the example of description of the tile vector data of Embodiment 3 of this invention. 本発明の実施形態3のタイル/ページベクタ変換部が実行する処理を示すフローチャートである。It is a flowchart which shows the process which the tile / page vector conversion part of Embodiment 3 of this invention performs. 本発明の実施形態4のタイル分割処理の具体例を説明するための図である。It is a figure for demonstrating the specific example of the tile division | segmentation process of Embodiment 4 of this invention. 従来の画像処理システムの構成を示す図である。It is a figure which shows the structure of the conventional image processing system.

符号の説明Explanation of symbols

1 コントローラ
2 システムバスブリッジ
3 CPU
4 メモリコントローラ
5 システムメモリ
6 汎用バス
7 ハードディスクコントローラ
8 ハードディスクドライブ
9 操作部コントローラ
10 操作部
11 ネットワークI/F
12 ネットワーク
13 タイル/ページベクタ変換部
14 ラスタ/タイルベクタ変換部
15 画像処理部
16 スキャナ
17 プリンタ
18 画像データ展開部
18a〜18d 小画像データ展開部
19 ローカルメモリ
1 Controller 2 System bus bridge 3 CPU
4 memory controller 5 system memory 6 general-purpose bus 7 hard disk controller 8 hard disk drive 9 operation unit controller 10 operation unit 11 network I / F
DESCRIPTION OF SYMBOLS 12 Network 13 Tile / page vector conversion part 14 Raster / tile vector conversion part 15 Image processing part 16 Scanner 17 Printer 18 Image data expansion | deployment part 18a-18d Small image data expansion | deployment part 19 Local memory

Claims (8)

入力された画像データに対する処理を実行する画像処理装置であって、
画像データを入力する入力手段と、
画像データを出力する出力手段と、
ラスタ画像データ中のオブジェクトを内包するブロックのブロックサイズを設定し、当該設定したブロックサイズのうち所定サイズより大きいブロックサイズに関しては前記所定サイズ以下のブロックサイズに分割して設定し、前記ラスタ画像データを、当該設定された前記所定サイズ以下のブロックサイズのブロック毎に分割して、各ブロックにベクトル化処理を実行することで、ブロックベクタ画像データに変換する第1変換手段と、
ブロックベクタ画像データを記憶する第1記憶手段と、
ブロックベクタ画像データをラスタ画像データに展開する展開手段と、
前記展開手段から出力されるデータを記憶する第2記憶手段と、
前記入力手段から入力されたラスタ画像データを前記第1変換手段でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記第1記憶手段に記憶させ、前記第1記憶手段に記憶されブロックベクタ画像データを前記展開手段でラスタ画像データに展開して前記第2記憶手段に記憶させ、前記第2記憶手段に記憶された前記ラスタ画像データを前記出力手段から出力させるように、装置内での処理対象の画像データの転送を制御する画像データ転送制御手段と
を備えることを特徴とする画像処理装置。
An image processing apparatus that executes processing on input image data,
Input means for inputting image data;
An output means for outputting image data;
A block size of a block including an object in raster image data is set, and a block size larger than a predetermined size among the set block sizes is divided and set to a block size equal to or smaller than the predetermined size, and the raster image data Is converted into blocks each having a block size equal to or less than the set predetermined size , and a vectorization process is performed on each block, thereby converting into block vector image data;
First storage means for storing block vector image data;
Expansion means for expanding block vector image data into raster image data;
Second storage means for storing data output from the expansion means;
The raster image data input from the input means is converted into block vector image data by the first conversion means, and the converted block vector image data is stored in the first storage means and stored in the first storage means. the block vector image data is stored in the second storage means to expand the raster image data in the expansion unit, the raster image data stored in said second storage means so as to output from said output means, An image data transfer apparatus comprising: image data transfer control means for controlling transfer of image data to be processed in the apparatus.
ページ全体を示すページベクタ画像データ中のオブジェクトを内包する大きさのブロックを設定し、当該設定したブロックのうち上限サイズを超えている大きさのブロックに関しては該上限サイズ以下のブロックに分割して設定し、前記ページベクタ画像データを、当該設定された前記上限サイズ以下のブロック毎のブロックベクタ画像データへ変換する第2変換手段を更に備え、
前記画像データ転送制御手段は、前記入力手段から入力された画像データがページベクタ画像データである場合は、当該入力されたページベクタ画像データを前記第2変換手段でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記第1記憶手段に記憶させ
ことを特徴とする請求項1に記載の画像処理装置。
A block having a size including an object in page vector image data indicating the entire page is set, and a block having a size exceeding the upper limit size among the set blocks is divided into blocks equal to or smaller than the upper limit size. A second conversion means for setting and converting the page vector image data into block vector image data for each block equal to or smaller than the set upper limit size ,
When the image data input from the input means is page vector image data, the image data transfer control means causes the second conversion means to convert the input page vector image data into block vector image data , the image processing apparatus according to the transformed block vector image data to claim 1, characterized in that Ru is stored in the first storage means.
1ページ分の前記ブロックベクタ画像データから、ページ全体を示すページベクタ画像データへ変換する第3変換手段を更に備え、
前記画像データ転送制御手段は、
前記出力手段から出力させるべき画像データの形式がラスタ画像データ形式であると判断した場合は、前記第1記憶手段に記憶されたブロックベクタ画像データ前記展開手段でラスタ画像データに展開して前記第2記憶手段に記憶させ、前記第2記憶手段に記憶された前記ラスタ画像データを前記出力手段から出力させ、
前記出力手段から出力させるべき画像データの形式がベクタ画像データ形式であると判断した場合は、前記第1記憶手段に記憶されたブロックベクタ画像データ前記第3変換手段でページベクタ画像データに展開して前記第1記憶手段に記憶させ、当該第1記憶手段に記憶された前記ページベクタ画像データを前記出力手段から出力させる
ように、装置内での処理対象の画像データの転送を制御する
ことを特徴とする請求項1または2に記載の画像処理装置。
A third converting means for converting the block vector image data for one page into page vector image data indicating the entire page;
The image data transfer control means includes:
The format of image data to be outputted from said output means when it is determined that the raster image data form, extract block vector image data stored in said first storage means into raster image data by the expansion means Storing in the second storage means, outputting the raster image data stored in the second storage means from the output means,
If the format of the image data to be outputted from the output means determines that the vector image data format, developed in the page vector image data block vector image data stored in said first memory means by said third converting means Controlling the transfer of image data to be processed in the apparatus so that the page vector image data stored in the first storage means is output from the output means. the image processing apparatus according to claim 1 or 2, characterized in.
前記画像データ転送制御手段は、バスを介して、各手段に接続され、
処理対象の画像データの形式に応じて、当該処理対象の画像データの転送に用いる前記バスの調整制御を実行するバス調停手段を備える
ことを特徴とする請求項1に記載の画像処理装置。
The image data transfer control means is connected to each means via a bus,
The image processing apparatus according to claim 1, further comprising: a bus arbitration unit that executes adjustment control of the bus used for transferring the processing target image data according to a format of the processing target image data.
前記第1変換手段あるいは前記第2変換手段は、処理対象の画像データを分割したブロック中にオブジェクトが含まれない場合には、対応するブロックベクタ画像データの生成を禁止する
ことを特徴とする請求項に記載の画像処理装置。
The first conversion unit or the second conversion unit prohibits generation of corresponding block vector image data when an object is not included in a block obtained by dividing image data to be processed. Item 3. The image processing apparatus according to Item 2 .
前記第1変換手段は、少なくとも2つのオブジェクトそれぞれを内包するブロックの重複部の割合が所定値以上の場合は、前記少なくとも2つのオブジェクトを内包するブロックのブロックサイズを設定する一方、前記重複部の割合が前記所定値より小さい場合は、前記少なくとも2つのオブジェクトを複数のブロックに分割するブロックサイズを設定する
ことを特徴とする請求項1に記載の画像処理装置。
The first conversion means sets the block size of the block containing the at least two objects when the ratio of the overlapping part of the block containing each of the at least two objects is a predetermined value or more. The image processing apparatus according to claim 1 , wherein when the ratio is smaller than the predetermined value, a block size for dividing the at least two objects into a plurality of blocks is set.
入力された画像データに対する処理を実行する画像処理装置の制御方法であって、
前記画像処理装置の第1変換手段が、入力されたラスタ画像データ中のオブジェクトを内包するブロックのブロックサイズを設定し、当該設定したブロックサイズのうち所定サイズより大きいブロックサイズに関しては前記所定サイズ以下のブロックサイズに分割して設定し、前記ラスタ画像データを、当該設定された前記所定サイズ以下のブロックサイズのブロック毎に分割して、各ブロックにベクトル化処理を実行することで、ブロックベクタ画像データに変換し、当該変換されたブロックベクタ画像データを前記画像処理装置の第1記憶手段に記憶させる第1変換工程と、
前記画像処理装置の展開手段が、前記第1記憶手段に記憶されたブロックベクタ画像データをラスタ画像データに展開して、当該展開したラスタ画像データを前記画像処理装置の第2記憶手段に記憶させる展開工程と、
前記画像処理装置の出力手段が、前記第2記憶手段に記憶されたラスタ画像データを出力する出力工程と、
を備えることを特徴とする画像処理装置の制御方法。
A control method of an image processing apparatus for executing processing on input image data,
The first conversion means of the image processing device sets a block size of a block containing an object in the input raster image data, and a block size larger than a predetermined size among the set block sizes is equal to or less than the predetermined size set by dividing the block size, the raster image data, by dividing each block of the set following block size the predetermined size, by executing the vectorized process to each block, the block vector image is converted into the data, a first conversion step of the transformed block vector image data Ru is stored in the first storage means of the image processing apparatus,
The expansion means of the image processing apparatus expands the block vector image data stored in the first storage means into raster image data, and stores the expanded raster image data in the second storage means of the image processing apparatus. Development process,
An output step in which the output means of the image processing apparatus outputs raster image data stored in the second storage means;
An image processing apparatus control method comprising:
コンピュータを、
入力されたラスタ画像データ中のオブジェクトを内包するブロックのブロックサイズを設定し、当該設定したブロックサイズのうち所定サイズより大きいブロックサイズに関しては前記所定サイズ以下のブロックサイズに分割して設定し、前記ラスタ画像データを、当該設定された前記所定サイズ以下のブロックサイズのブロック毎に分割して、各ブロックにベクトル化処理を実行することで、ブロックベクタ画像データに変換し、当該変換されたブロックベクタ画像データを第1記憶手段に記憶させる第1変換手段
前記第1記憶手段に記憶されたブロックベクタ画像データをラスタ画像データに展開して、当該展開したラスタ画像データを第2記憶手段に記憶させる展開手段、
前記第2記憶手段に記憶されたラスタ画像データを出力する出力手段、
として機能させるためのプログラム。
Computer
Set the block size of the block containing the object in the input raster image data, and set the block size larger than the predetermined size among the set block sizes by dividing the block size to the block size equal to or smaller than the predetermined size, the raster image data, by dividing each block of the set predetermined size following the block size, by executing the vectorized process in each block is converted into block vector image data, the transformed block vector First conversion means for storing image data in the first storage means ;
Expansion means for expanding the block vector image data stored in the first storage means into raster image data and storing the expanded raster image data in the second storage means;
Output means for outputting raster image data stored in the second storage means;
Program to function as.
JP2005157609A 2005-05-30 2005-05-30 Image processing apparatus, control method therefor, and program Expired - Fee Related JP4646703B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005157609A JP4646703B2 (en) 2005-05-30 2005-05-30 Image processing apparatus, control method therefor, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005157609A JP4646703B2 (en) 2005-05-30 2005-05-30 Image processing apparatus, control method therefor, and program

Publications (3)

Publication Number Publication Date
JP2006327155A JP2006327155A (en) 2006-12-07
JP2006327155A5 JP2006327155A5 (en) 2008-07-10
JP4646703B2 true JP4646703B2 (en) 2011-03-09

Family

ID=37549338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005157609A Expired - Fee Related JP4646703B2 (en) 2005-05-30 2005-05-30 Image processing apparatus, control method therefor, and program

Country Status (1)

Country Link
JP (1) JP4646703B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5300317B2 (en) * 2008-05-09 2013-09-25 キヤノン株式会社 Image processing apparatus and control method thereof
JP5316269B2 (en) * 2009-07-10 2013-10-16 コニカミノルタ株式会社 Image processing apparatus, hardware accelerator, and image processing method
JP7172614B2 (en) * 2019-01-11 2022-11-16 コニカミノルタ株式会社 Print file processing unit, print file processing method, and print file processing program
JP7328730B1 (en) * 2023-01-30 2023-08-17 株式会社アニー Image conversion method and image conversion device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002014780A (en) * 2000-06-30 2002-01-18 Canon Inc Print system, printing method, printer, terminal device, and server device
JP2003046789A (en) * 2001-08-02 2003-02-14 Canon Inc Image coding apparatus and image decoding apparatus
JP2004120639A (en) * 2002-09-27 2004-04-15 Canon Inc Image processing method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207650A (en) * 1997-01-24 1998-08-07 Hitachi Koki Co Ltd Printer controller
JP3474078B2 (en) * 1997-05-02 2003-12-08 富士ゼロックス株式会社 Drawing processing device
JPH11203061A (en) * 1998-01-12 1999-07-30 Fuji Xerox Co Ltd Image processor, output device, image processing system and method
JPH11198465A (en) * 1998-01-14 1999-07-27 Fuji Xerox Co Ltd Character output device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002014780A (en) * 2000-06-30 2002-01-18 Canon Inc Print system, printing method, printer, terminal device, and server device
JP2003046789A (en) * 2001-08-02 2003-02-14 Canon Inc Image coding apparatus and image decoding apparatus
JP2004120639A (en) * 2002-09-27 2004-04-15 Canon Inc Image processing method

Also Published As

Publication number Publication date
JP2006327155A (en) 2006-12-07

Similar Documents

Publication Publication Date Title
JP4164518B2 (en) Image processing apparatus, control method therefor, and program
JP4766657B2 (en) Image processing apparatus, control method therefor, and program
JP4408836B2 (en) Image processing apparatus, control method therefor, and program
JP4757120B2 (en) Image processing apparatus and control method thereof
JP5209953B2 (en) Image data supply apparatus and image data supply method
JP6029344B2 (en) Image processing apparatus, image processing method, and program
JP3745179B2 (en) Information processing apparatus, control method therefor, and storage medium
JP4646703B2 (en) Image processing apparatus, control method therefor, and program
JP4475680B2 (en) Image processing apparatus, control method therefor, and program
JP3550979B2 (en) Image processing device
WO2010053201A1 (en) Image processing device and image processing method
JP4336470B2 (en) Drawing control apparatus, drawing control method and program
JP4379571B2 (en) Image processing apparatus and image processing method
JP3236053B2 (en) Image processing system and image processing method
JP2008153764A (en) Image processing system
JP2004021886A (en) Image processing device and image processing method
JP2006331308A (en) Image processing apparatus and its control method, and program
JP3297448B2 (en) Image processing apparatus and image processing method
JP2009033541A (en) Image processing system
JP2008173946A (en) Image processor, image processing method and image processing program
JP2009147705A (en) Apparatus and method for processing image and program
JPH11191055A (en) Printing system, data processing method therefor, and storage medium stored with computer-readable program
JP3741183B2 (en) Image data interpolation apparatus, image data interpolation method, and medium on which image data interpolation program is recorded
JP2008148066A (en) Image processor, and its control method, and control program
JP2007081886A (en) Drawing processing apparatus

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101104

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101206

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101207

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

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees