JP7417461B2 - Image processing device, image processing method - Google Patents

Image processing device, image processing method Download PDF

Info

Publication number
JP7417461B2
JP7417461B2 JP2020074259A JP2020074259A JP7417461B2 JP 7417461 B2 JP7417461 B2 JP 7417461B2 JP 2020074259 A JP2020074259 A JP 2020074259A JP 2020074259 A JP2020074259 A JP 2020074259A JP 7417461 B2 JP7417461 B2 JP 7417461B2
Authority
JP
Japan
Prior art keywords
image processing
intermediate data
external storage
information
storage device
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.)
Active
Application number
JP2020074259A
Other languages
Japanese (ja)
Other versions
JP2021171918A5 (en
JP2021171918A (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 JP2020074259A priority Critical patent/JP7417461B2/en
Publication of JP2021171918A publication Critical patent/JP2021171918A/en
Publication of JP2021171918A5 publication Critical patent/JP2021171918A5/ja
Application granted granted Critical
Publication of JP7417461B2 publication Critical patent/JP7417461B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、PDLデータに基づく中間データの生成に関するものである。 The present invention relates to generation of intermediate data based on PDL data.

大判機等、使用する印刷用紙のサイズが特別に大きいプリンタ装置の場合は、印刷ジョブを投入しても印刷が困難なケースが存在する。特に、ジョブのページ中に極めて大きな画像が埋め込まれている場合や、非常に多くの図形データ等が含まれる場合等は、該ページを処理する途中の段階でメモリ不足に陥ってしまい、処理が続行できない場合がある。一般に、プリンタドライバやプリンタコントローラは、いずれも定められたハードウェアリソース(例えばプロセスに割り当てられるメモリには制限がある)で処理するように構成されているために、何らかの対策を講じる必要がある。 In the case of a printer device such as a large-format printer that uses a particularly large size of printing paper, there are cases where it is difficult to print even if a print job is input. In particular, when extremely large images are embedded in the job page or a large amount of graphical data is included, memory may run out during the process of processing the page, resulting in processing being delayed. You may not be able to continue. In general, printer drivers and printer controllers are configured to perform processing using predetermined hardware resources (for example, there is a limit to the memory allocated to a process), so it is necessary to take some measures.

従来、印刷ジョブの処理時にメモリが不足し、処理を継続できない場合の対策の一例として、特許文献1や特許文献4に記載の方法が知られている。特許文献1には、メモリが不足した時点(メモリアロックが出来ない等)で、処理プログラムがメモリに記録されている内部データ(中間データ等)を用いて画像形成(レンダリング)を実施することによりそれまでに蓄えたデータを解放することでデータサイズを削減する等の方法が開示されている。これらの技術に加え、合成処理によってデータサイズを削減する方法(フラット化)も提案されている(特許文献2、特許文献3)。 Conventionally, methods described in Patent Document 1 and Patent Document 4 are known as examples of measures to be taken when processing a print job due to insufficient memory and processing cannot be continued. Patent Document 1 describes that when memory is insufficient (memory lock cannot be performed, etc.), a processing program performs image formation (rendering) using internal data (intermediate data, etc.) recorded in memory. A method has been disclosed for reducing the data size by releasing the data that has been stored up to that point. In addition to these techniques, a method (flattening) of reducing data size by compositing processing has also been proposed (Patent Document 2, Patent Document 3).

従来の印刷システムの構成例について、図2のブロック図を用いて説明する。図2に示す印刷システムは、コンピュータ200と、画像処理装置100と、を有する。 An example of the configuration of a conventional printing system will be described using the block diagram of FIG. 2. The printing system shown in FIG. 2 includes a computer 200 and an image processing device 100.

コンピュータ200が有する生成部201は、印刷対象データ202から印刷データ203を生成する。画像処理装置100は、入力部204と、解析部205と、処理部206と、出力部207と、を有する。入力部204は、生成部201が生成した印刷データ203を受け取る。解析部205は、入力部204が受け取った印刷データ203を解析して、描画命令を抽出する。処理部206は、生成部208と、レンダリング部209と、を有する。生成部208は、解析部205で抽出した描画命令から描画情報210と画像211とを抽出して中間データを生成する。該中間データを生成する時、生成部208は、中間データ生成のための内部データを生成する。このようなデータは、通常は、画像処理装置100内のRAMに格納されている。図4は、フラット化によってメモリが削減される様子を示す図である。フラット化を実施することでメモリが削減され、処理を継続することが可能となる。 A generation unit 201 included in the computer 200 generates print data 203 from print target data 202 . The image processing device 100 includes an input section 204, an analysis section 205, a processing section 206, and an output section 207. The input unit 204 receives the print data 203 generated by the generation unit 201. The analysis unit 205 analyzes the print data 203 received by the input unit 204 and extracts a drawing command. The processing unit 206 includes a generation unit 208 and a rendering unit 209. The generation unit 208 extracts drawing information 210 and an image 211 from the drawing command extracted by the analysis unit 205 to generate intermediate data. When generating the intermediate data, the generation unit 208 generates internal data for generating the intermediate data. Such data is normally stored in a RAM within the image processing device 100. FIG. 4 is a diagram showing how memory is reduced by flattening. By performing flattening, memory is reduced and processing can continue.

特開2011-61555号公報Japanese Patent Application Publication No. 2011-61555 特開2018-152113号公報JP 2018-152113 Publication 特開2017-194932号公報Japanese Patent Application Publication No. 2017-194932 特開平06-261202号公報Japanese Patent Application Publication No. 06-261202

上述のように、画像処理を継続するために内部メモリの縮退処理(中間データを処理する際に利用する内部データを、最終的にスプールアウトする中間データと類似の構造として保持し、メモリが不足した場合にフラット化と呼ばれる処理で統合する処理等)によりデータ削減を実施している。しかしながら、この方式では、利用可能なメモリが徐々に少なくなってくると再びフラット化を実施する必要がある。ワーストケースではフラット化が繰り返される。 As mentioned above, in order to continue image processing, the internal memory is degenerated (the internal data used when processing intermediate data is held in a structure similar to the intermediate data that will eventually be spooled out, and memory is insufficient). Data reduction is implemented through a process called flattening, where data is integrated using a process called flattening. However, with this method, it is necessary to perform flattening again as the available memory gradually decreases. In the worst case, flattening occurs repeatedly.

図5は、フラット化を繰り返した結果、メモリが不足する例を示したグラフである。縦軸はメモリの使用量(GB)を示しており、横軸は処理時間(分)を示している。なお、縦軸の最大値2GBが、この例におけるメモリ最大容量としている。3回のフラット化が発生してメモリ使用量が削減されているが、処理時間T時点ではメモリ使用量が最大値2GBに到達しており、メモリ不足が発生している。このようにフラット化を実施してもメモリ不足が発生し、処理を継続出来ないケースが存在する。本発明では、メモリが不足して画像処理を継続できないようなPDLデータであっても、該PDLデータに基づく中間データの生成を可能にする技術を提供する。 FIG. 5 is a graph showing an example where memory becomes insufficient as a result of repeated flattening. The vertical axis shows memory usage (GB), and the horizontal axis shows processing time (minutes). Note that the maximum value of 2 GB on the vertical axis is the maximum memory capacity in this example. Although the memory usage has been reduced by flattening three times, the memory usage has reached the maximum value of 2 GB at the time of processing time T, and a memory shortage has occurred. Even if flattening is performed in this way, there are cases where memory shortage occurs and processing cannot be continued. The present invention provides a technology that enables generation of intermediate data based on PDL data even if the PDL data is such that image processing cannot be continued due to insufficient memory.

本発明の一様態では、画像処理装置であって、
PDLデータに基づく中間データの生成で用いる情報を該PDLデータに基づいて生成し、該情報を、条件に応じて、前記画像処理装置の内部メモリに保持しておく若しくは前記画像処理装置の外部記憶装置に格納する第1生成手段と、
前記内部メモリに保持されている若しくは前記外部記憶装置に格納された情報に基づいて前記中間データを生成し、該生成した中間データを、条件に応じて、前記内部メモリに保持しておく若しくは前記外部記憶装置に格納する第2生成手段と、
前記内部メモリに保持されている若しくは前記外部記憶装置に格納された中間データに基づいてレンダリングを行うことでラスタ画像を生成するレンダリング手段と
を備えることを特徴とする。
In one aspect of the present invention, an image processing device includes:
Information used in generating intermediate data based on the PDL data is generated based on the PDL data, and the information is stored in the internal memory of the image processing device or in the external storage of the image processing device, depending on conditions. a first generating means stored in the device;
The intermediate data is generated based on information held in the internal memory or stored in the external storage device, and the generated intermediate data is held in the internal memory according to conditions. or a second generation means for storing in the external storage device;
and a rendering unit that generates a raster image by performing rendering based on intermediate data held in the internal memory or stored in the external storage device.

本発明の構成によれば、メモリが不足して画像処理を継続できないようなPDLデータであっても、該PDLデータに基づく中間データの生成を可能にする。 According to the configuration of the present invention, even if the PDL data is such that image processing cannot be continued due to insufficient memory, it is possible to generate intermediate data based on the PDL data.

コンピュータ装置のハードウェア構成例を示すブロック図。FIG. 2 is a block diagram showing an example of the hardware configuration of a computer device. 従来の印刷システムの構成例を示すブロック図。FIG. 1 is a block diagram showing a configuration example of a conventional printing system. 内部データの構成例を示す図。The figure which shows the example of a structure of internal data. フラット化によってメモリが削減される様子を示す図。A diagram showing how memory is reduced by flattening. フラット化を繰り返した結果、メモリが不足する例を示したグラフ。A graph showing an example of running out of memory as a result of repeated flattening. システムの構成例を示すブロック図。FIG. 1 is a block diagram showing an example of a system configuration. 画像処理装置100の動作のフローチャート。5 is a flowchart of the operation of the image processing device 100. ステップS2005における処理の詳細を示すフローチャート。7 is a flowchart showing details of the process in step S2005. ステップS2006における処理の詳細を示すフローチャート。10 is a flowchart showing details of processing in step S2006. ステップS2009における処理の詳細を示すフローチャート。5 is a flowchart showing details of processing in step S2009. ステップS2011(ステップS2016)の処理の詳細を示すフローチャート。12 is a flowchart showing details of the process in step S2011 (step S2016). ステップS2014における処理の詳細を示すフローチャート。5 is a flowchart showing details of processing in step S2014.

以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。 Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the claimed invention. Although a plurality of features are described in the embodiments, not all of these features are essential to the invention, and the plurality of features may be arbitrarily combined. Furthermore, in the accompanying drawings, the same or similar components are designated by the same reference numerals, and redundant description will be omitted.

[第1の実施形態]
まず、本実施形態に係るシステムの構成例について、図6のブロック図を用いて説明する。図6に示す如く、本実施形態に係るシステムは、コンピュータ700と画像処理装置100とを有する。コンピュータ700および画像処理装置100は、無線および/または有線のネットワークに接続されており、該ネットワークを介して互いにデータ通信が可能なように構成されている。
[First embodiment]
First, an example of the configuration of the system according to this embodiment will be described using the block diagram of FIG. 6. As shown in FIG. 6, the system according to this embodiment includes a computer 700 and an image processing device 100. The computer 700 and the image processing apparatus 100 are connected to a wireless and/or wired network, and are configured to be able to communicate data with each other via the network.

まず、コンピュータ700について説明する。印刷対象データ702は、画像やテキストなどの印刷対象データである。生成部701は、このような印刷対象データ702から印刷データ(PDLデータ)703を生成し、該生成した印刷データ703を画像処理装置100に対して出力する。 First, the computer 700 will be explained. Print target data 702 is print target data such as images and text. The generation unit 701 generates print data (PDL data) 703 from such print target data 702 and outputs the generated print data 703 to the image processing apparatus 100.

次に、画像処理装置100について説明する。入力部704は、コンピュータ700から出力された印刷データ703を取得する。処理部705は、解析部706、生成部707、加工部708、レンダリング部709を有する。 Next, the image processing device 100 will be explained. The input unit 704 acquires print data 703 output from the computer 700. The processing unit 705 includes an analysis unit 706, a generation unit 707, a processing unit 708, and a rendering unit 709.

解析部706は、入力部704が取得した印刷データ703を解析して、描画命令(描画コマンド)を生成する。生成部707は、描画コマンドから中間データを生成する。生成部707は、通常は、中間データの生成に用いる情報を描画コマンドから生成して内部メモリ(RAMなどの揮発性メモリ)に保持するが、「外部記憶装置710に格納する」ための条件が満たされると、該情報を外部記憶装置710に格納する。そして生成部707は、内部メモリもしくは外部記憶装置710に格納されている情報に基づいて中間データを生成する。生成部707は、通常は、該生成した中間データを該内部メモリに保持しておくが、「外部記憶装置710に格納する」ための条件が満たされると、該生成した中間データを外部記憶装置710に格納する。 The analysis unit 706 analyzes the print data 703 acquired by the input unit 704 and generates a drawing command. The generation unit 707 generates intermediate data from the drawing command. The generation unit 707 normally generates information used to generate intermediate data from a drawing command and stores it in an internal memory (volatile memory such as RAM), but there are conditions for “storing it in the external storage device 710”. When satisfied, the information is stored in external storage device 710. The generation unit 707 then generates intermediate data based on information stored in the internal memory or external storage device 710. The generation unit 707 normally holds the generated intermediate data in the internal memory, but when the conditions for "storing in the external storage device 710" are met, the generated intermediate data is stored in the external storage device. 710.

加工部708は、中間データを変換する。例えば、加工部708は、中間データをレンダリングしやすい形式に変換する。この変換では、例えば、中間データをタイル単位のデータ(分割データ)に分割し、分割データごとに圧縮してタイルデータを生成する。ここで、タイルとは、印刷領域をプリントデバイスのピクセル座標系で均等に分割した領域であり、中間データをタイルデータに変換することで、該中間データを保持するメモリの使用量を抑えつつ、並列動作も可能にする。加工部708は、通常は、変換した中間データを内部メモリに保持しておくが、「外部記憶装置710に格納する」ための条件が満たされると、該変換した中間データを外部記憶装置710に格納する。 A processing unit 708 converts the intermediate data. For example, the processing unit 708 converts the intermediate data into a format that is easy to render. In this conversion, for example, intermediate data is divided into tile-based data (divided data), and each divided data is compressed to generate tile data. Here, a tile is an area in which the printing area is equally divided according to the pixel coordinate system of the printing device, and by converting intermediate data to tile data, the amount of memory used to hold the intermediate data is reduced, and It also enables parallel operation. The processing unit 708 normally holds the converted intermediate data in the internal memory, but when the conditions for “storing in the external storage device 710” are met, the processing unit 708 stores the converted intermediate data in the external storage device 710. Store.

レンダリング部709は、内部メモリ若しくは外部記憶装置710に保持されている中間データに基づいてレンダリングを行うことでラスタ画像(プリントデバイスのピクセル座標系におけるラスタデータ)を生成する。 The rendering unit 709 generates a raster image (raster data in the pixel coordinate system of the printing device) by performing rendering based on intermediate data held in the internal memory or the external storage device 710.

出力部711は、レンダリング部709により生成されたラスタ画像を出力データ712として出力する。出力データ712の出力先は特定の出力先に限らない。例えば、出力部711は、出力データ712を、画像処理装置100内もしくは画像処理装置100外の印刷部に出力して、該出力データ712に基づく画像や文字を紙などの印刷媒体に印刷させてもよい。また、出力部711は、出力データ712を画像処理装置100内もしくは画像処理装置100外のメモリに対して出力してもよい。 The output unit 711 outputs the raster image generated by the rendering unit 709 as output data 712. The output destination of the output data 712 is not limited to a specific output destination. For example, the output unit 711 outputs the output data 712 to a printing unit within the image processing apparatus 100 or outside the image processing apparatus 100, and prints images and characters based on the output data 712 on a print medium such as paper. Good too. Further, the output unit 711 may output the output data 712 to a memory inside the image processing apparatus 100 or outside the image processing apparatus 100.

外部記憶装置710は、上記の内部メモリよりもデータ容量が大きい不揮発性の記憶装置であり、例えばハードディスクドライブ装置やSSD(Solid State Drive)である。 The external storage device 710 is a nonvolatile storage device with a larger data capacity than the internal memory described above, and is, for example, a hard disk drive device or an SSD (Solid State Drive).

画像処理装置100の上記の各機能部はハードウェアで実装してもよいが、ソフトウェア(コンピュータプログラム)で実装してもよい。後者の場合、このコンピュータプログラムを実行可能なコンピュータ装置は、画像処理装置100に適用することができる。本実施形態では、後者のケースについて説明する。このようなコンピュータ装置のハードウェア構成例について、図1のブロック図を用いて説明する。 Each of the above-mentioned functional units of the image processing apparatus 100 may be implemented using hardware, but may also be implemented using software (computer program). In the latter case, a computer device capable of executing this computer program can be applied to the image processing device 100. In this embodiment, the latter case will be explained. An example of the hardware configuration of such a computer device will be explained using the block diagram of FIG. 1.

CPU101は、RAM102やROM(フォントROM103、プログラムROM104、データROM105)に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU101は、画像処理装置100全体の動作制御を行うとともに、画像処理装置100が行うものとして説明する各処理を実行もしくは制御する。 The CPU 101 executes various processes using computer programs and data stored in the RAM 102 and ROM (font ROM 103, program ROM 104, and data ROM 105). Thereby, the CPU 101 controls the overall operation of the image processing apparatus 100, and also executes or controls each process described as being performed by the image processing apparatus 100.

RAM102は、ROM(フォントROM103、プログラムROM104、データROM105)やHD(ハードディスク)114からロードされたコンピュータプログラムやデータを格納するためのエリアを有する。さらにRAM102は、通信部110により外部(例えば上記のコンピュータ700)から受信したコンピュータプログラムやデータを格納するためのエリアを有する。さらにRAM102は、CPU101が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM102は、各種のエリアを適宜提供することができる。 The RAM 102 has an area for storing computer programs and data loaded from a ROM (font ROM 103, program ROM 104, data ROM 105) or an HD (hard disk) 114. Further, the RAM 102 has an area for storing computer programs and data received from the outside (for example, the computer 700 described above) by the communication unit 110. Furthermore, the RAM 102 has a work area used when the CPU 101 executes various processes. In this way, the RAM 102 can provide various areas as appropriate.

フォントROM103には、各種のフォントのデータが格納されている。プログラムROM104には、画像処理装置100が行うものとして説明する各処理をCPU101に実行もしくは制御させるためのコンピュータプログラムが格納されている。データROM105には、画像処理装置100が行うものとして説明する各処理をCPU101に実行もしくは制御させるためのデータが格納されている。 The font ROM 103 stores data for various fonts. The program ROM 104 stores a computer program for causing the CPU 101 to execute or control each process described as being performed by the image processing apparatus 100. The data ROM 105 stores data for causing the CPU 101 to execute or control each process described as being performed by the image processing apparatus 100.

KBC(キーボードコントローラ)107は、ユーザがKB(キーボード)112を操作することで入力した指示や情報をCPU101に通知する。なお、画像処理装置100において使用可能なユーザインターフェースはキーボードに限らず、マウスやタッチパネル画面なども適用可能である。 The KBC (keyboard controller) 107 notifies the CPU 101 of instructions and information input by the user by operating the KB (keyboard) 112. Note that the user interface that can be used in the image processing apparatus 100 is not limited to the keyboard, but may also be a mouse, a touch panel screen, or the like.

表示制御部108は、表示部113の表示制御を行う。表示部113は液晶画面やタッチパネル画面などの表示画面を有する表示装置であり、CPU101による処理結果を画像や文字などでもって表示することができる。なお、表示部113は、画像や文字を投影するプロジェクタなどの投影装置であってもよい。 The display control unit 108 controls the display of the display unit 113. The display unit 113 is a display device having a display screen such as a liquid crystal screen or a touch panel screen, and can display processing results by the CPU 101 in the form of images, characters, and the like. Note that the display unit 113 may be a projection device such as a projector that projects images and characters.

HD制御部109は、HD114に対するコンピュータプログラムやデータの読み書きを制御する。HD114には、各種のコンピュータプログラムやデータを格納することができる。なお、本実施形態では、HD114は上記の外部記憶装置710の一例であるものとして説明するが、これに限らず、他の種類のメモリ装置を外部記憶装置710として用いても構わない。 The HD control unit 109 controls reading and writing of computer programs and data to the HD 114. The HD 114 can store various computer programs and data. In this embodiment, the HD 114 will be described as an example of the external storage device 710 described above, but the present invention is not limited to this, and other types of memory devices may be used as the external storage device 710.

通信部110は、コンピュータ700との間のデータ通信を行う。CPU101、RAM102、フォントROM103、プログラムROM104、データROM105、KBC107、表示制御部108、HD制御部109、通信部110、は何れもバス106に接続されている。 The communication unit 110 performs data communication with the computer 700. The CPU 101, RAM 102, font ROM 103, program ROM 104, data ROM 105, KBC 107, display control section 108, HD control section 109, and communication section 110 are all connected to the bus 106.

次に、画像処理装置100の動作について、図7のフローチャートに従って説明する。以下では、図6に示した機能部を処理の主体として説明するが、実際には、該機能部に対応する機能をCPU101に実行もしくは制御させるためのコンピュータプログラムをCPU101が実行することで、該機能部の機能が実現される。 Next, the operation of the image processing apparatus 100 will be explained according to the flowchart in FIG. The functional units shown in FIG. 6 will be described below as the main body of processing, but in reality, the CPU 101 executes a computer program that causes the CPU 101 to execute or control the function corresponding to the functional unit. The function of the functional part is realized.

ステップS2001における処理は、解析部706において行われる。ステップS2001では、解析部706は、PDLデータである印刷データ703を解析して、ページごとの描画命令(描画コマンド)を生成する。 The processing in step S2001 is performed by the analysis unit 706. In step S2001, the analysis unit 706 analyzes the print data 703, which is PDL data, and generates a drawing command (drawing command) for each page.

ステップS2003~S2008aにおける処理は、生成部707において行われる。ステップS2003では、生成部707は、ページごとの描画コマンドから未選択のページの描画コマンドを選択ページの描画コマンドとして選択する。そして生成部707は、該選択ページの描画コマンドから、該選択ページにおける塗りに関する塗り情報を生成する。 The processing in steps S2003 to S2008a is performed in the generation unit 707. In step S2003, the generation unit 707 selects the drawing command for an unselected page from the drawing commands for each page as the drawing command for the selected page. The generation unit 707 then generates fill information regarding the fill on the selected page from the drawing command for the selected page.

ステップS2004では、生成部707は、選択ページの描画コマンドから生成された塗り情報にイメージ情報が含まれているか否かを判断する。この判断の結果、選択ページの描画コマンドから生成された塗り情報にイメージ情報が含まれている場合には、処理はステップS2005に進む。一方、選択ページの描画コマンドから生成された塗り情報にイメージ情報が含まれていない場合には、処理はステップS2006に進む。 In step S2004, the generation unit 707 determines whether image information is included in the fill information generated from the drawing command for the selected page. As a result of this determination, if image information is included in the fill information generated from the drawing command for the selected page, the process advances to step S2005. On the other hand, if the coloring information generated from the drawing command for the selected page does not include image information, the process advances to step S2006.

ステップS2005では、生成部707は、選択ページの描画コマンドから生成された塗り情報に含まれているイメージ情報を圧縮する。そして生成部707は、「外部記憶装置710に格納する」ための条件が満たされている場合には、該圧縮したイメージ情報を外部記憶装置710に格納し、該条件が満たされていない場合には、該圧縮したイメージ情報を内部メモリに保持しておく。 In step S2005, the generation unit 707 compresses the image information included in the fill information generated from the drawing command for the selected page. The generation unit 707 then stores the compressed image information in the external storage device 710 if the conditions for “storing in the external storage device 710” are met, and if the conditions are not met, the generation unit 707 stores the compressed image information in the external storage device 710. holds the compressed image information in internal memory.

ステップS2006では、生成部707は、選択ページの描画コマンドから、該選択ページ上のオブジェクトの合成に係る合成情報を生成する。そして生成部707は、「外部記憶装置710に格納する」ための条件が満たされている場合には、該合成情報を外部記憶装置710に格納し、該条件が満たされていない場合には、該合成情報を内部メモリに保持しておく。 In step S2006, the generation unit 707 generates composition information related to composition of objects on the selected page from the drawing command of the selected page. Then, the generation unit 707 stores the composite information in the external storage device 710 if the conditions for “storing in the external storage device 710” are met, and if the conditions are not satisfied, The synthesis information is held in internal memory.

ステップS2007では、生成部707は、選択ページの描画コマンドから、該選択ページ上のオブジェクトのエッジに関するエッジ情報を生成する。 In step S2007, the generation unit 707 generates edge information regarding edges of objects on the selected page from the drawing command of the selected page.

このように、本実施形態では、描画コマンドから中間データを生成するために用いられる情報群(塗り情報(イメージ情報を含む)、合成情報、エッジ情報)を内部データとして生成する。内部データの構成例を図3に示す。図3に示す如く、内部データ300は、エッジ情報213、合成情報214、塗り情報215を含む。 In this manner, in this embodiment, a group of information (painting information (including image information), compositing information, edge information) used to generate intermediate data from a drawing command is generated as internal data. FIG. 3 shows an example of the structure of internal data. As shown in FIG. 3, internal data 300 includes edge information 213, composition information 214, and color information 215.

ステップS2008では、生成部707は、ステップS2006で生成した合成情報の数が閾値を超えるか否かを判断する。この判断の結果、ステップS2006で生成した合成情報の数が閾値を超える場合には、処理はステップS2008aに進む。一方、ステップS2006で生成した合成情報の数が閾値を超えない場合には、処理はステップS2003に進む。 In step S2008, the generation unit 707 determines whether the number of composite information generated in step S2006 exceeds a threshold value. As a result of this determination, if the number of composite information generated in step S2006 exceeds the threshold, the process advances to step S2008a. On the other hand, if the number of composite information generated in step S2006 does not exceed the threshold, the process advances to step S2003.

ステップS2008aでは、生成部707は、内部メモリもしくは外部記憶装置710に格納されている情報群(塗り情報(イメージ情報も含む)、合成情報、エッジ情報)を読みだして適宜参照して、選択ページの中間データを生成する。そして生成部707は、「外部記憶装置710に格納する」ための条件が満たされている場合には、該中間データを外部記憶装置710に格納し、該条件が満たされていない場合には、該中間データを内部メモリに保持しておく。 In step S2008a, the generation unit 707 reads out a group of information (painting information (including image information), compositing information, edge information) stored in the internal memory or external storage device 710, refers to it as appropriate, and generates a page for the selected page. generate intermediate data. Then, the generation unit 707 stores the intermediate data in the external storage device 710 if the conditions for "storing in the external storage device 710" are met, and if the conditions are not met, The intermediate data is held in internal memory.

ステップS2009~S2016における処理は、加工部708において行われる。ステップS2009では、加工部708は、内部メモリもしくは外部記憶装置710に格納されている中間データを読み出し、該読みだした中間データを変換し、例えば、該読みだした中間データを前述のタイルデータ形式等の中間データに変換する。そして加工部708は、「外部記憶装置710に格納する」ための条件が満たされている場合には、該変換済みの中間データを外部記憶装置710に格納し、該条件が満たされていない場合には、該変換済みの中間データを内部メモリに保持しておく。 The processing in steps S2009 to S2016 is performed in the processing unit 708. In step S2009, the processing unit 708 reads the intermediate data stored in the internal memory or the external storage device 710, converts the read intermediate data, and converts the read intermediate data into the above-mentioned tile data format. Convert to intermediate data such as Then, the processing unit 708 stores the converted intermediate data in the external storage device 710 if the conditions for “storing in the external storage device 710” are met, and if the conditions are not satisfied, the processing unit 708 stores the converted intermediate data in the external storage device 710. In this case, the converted intermediate data is held in internal memory.

ステップS2010では、加工部708は、内部メモリの残量(空き容量)が不足しているか否かを判断する。この判断では、例えば、内部メモリの残量(空き容量)が予め定められたデータサイズ以下であれば、内部メモリの残量(空き容量)が不足していると判断する。 In step S2010, the processing unit 708 determines whether the remaining amount (free space) of the internal memory is insufficient. In this determination, for example, if the remaining amount (free space) of the internal memory is less than or equal to a predetermined data size, it is determined that the remaining amount (free space) of the internal memory is insufficient.

この判断の結果、内部メモリの残量(空き容量)が不足している場合には、処理はステップS2011に進み、内部メモリの残量(空き容量)が不足していない場合には、処理はステップS2012に進む。 As a result of this determination, if the remaining amount (free space) of the internal memory is insufficient, the process proceeds to step S2011, and if the remaining amount (free space) of the internal memory is not insufficient, the process is continued. The process advances to step S2012.

ステップS2011では、加工部708は、内部メモリもしくは外部記憶装置710に格納されている変換済みの中間データを読み出し、該読みだした変換済みの中間データに対してイメージ変換処理を行う。イメージ変換処理は、メモリ不足の原因となっている複雑または大量の中間データをレンダリングして1つのラスタデータを生成し、そのラスタデータを塗り情報とする単純化した中間データに変換する処理である。そして加工部708は「外部記憶装置710に格納する」為の条件が満たされている場合、イメージ変換処理を行った中間データを外部記憶装置710に格納し、該条件が満たされていない場合、イメージ変換処理を行った中間データを内部メモリに保持しておく。 In step S2011, the processing unit 708 reads the converted intermediate data stored in the internal memory or the external storage device 710, and performs image conversion processing on the read converted intermediate data. Image conversion processing is a process that generates one raster data by rendering complex or large amounts of intermediate data that causes memory shortage, and then converts that raster data into simplified intermediate data that uses coloring information. . Then, the processing unit 708 stores the intermediate data subjected to the image conversion process in the external storage device 710 if the conditions for "storing in the external storage device 710" are met, and if the conditions are not met, Intermediate data that has been subjected to image conversion processing is retained in internal memory.

ステップS2012では、加工部708は、まだ選択ページの描画コマンドとして選択していないページの描画コマンドが残っているか否かを判断する。この判断の結果、残っている場合には、処理はステップS2003に進み、残っていない場合には、処理はステップS2013に進む。 In step S2012, the processing unit 708 determines whether there remains a drawing command for a page that has not been selected as a drawing command for the selected page. As a result of this determination, if there are any remaining, the process proceeds to step S2003, and if no, the process proceeds to step S2013.

ステップS2013では、加工部708は、内部メモリもしくは外部記憶装置710に格納されている中間データの数が複数か否かを判断する。この判断の結果、内部メモリもしくは外部記憶装置710に格納されている中間データの数が複数である場合には、処理はステップS2014に進む。一方、内部メモリもしくは外部記憶装置710に格納されている中間データの数が単数である場合には、処理はステップS2015に進む。 In step S2013, the processing unit 708 determines whether the number of intermediate data stored in the internal memory or the external storage device 710 is plural. As a result of this determination, if the number of intermediate data stored in the internal memory or external storage device 710 is plural, the process advances to step S2014. On the other hand, if the number of intermediate data stored in the internal memory or external storage device 710 is singular, the process advances to step S2015.

ステップS2014では、加工部708は、内部メモリもしくは外部記憶装置710に格納されている「複数の中間データ」を読み出し、該読みだした「複数の中間データ」を1つの中間データにマージ(データ統合処理)する。そして加工部708は、「外部記憶装置710に格納する」ための条件が満たされている場合には、該マージにより生成された1つの中間データを外部記憶装置710に格納する。一方、加工部708は、該条件が満たされていない場合には、該マージにより生成された1つの中間データを内部メモリに保持しておく。 In step S2014, the processing unit 708 reads "a plurality of intermediate data" stored in the internal memory or the external storage device 710, and merges the read "multiple intermediate data" into one intermediate data (data integration). processing). Then, if the conditions for "storing in the external storage device 710" are satisfied, the processing unit 708 stores one piece of intermediate data generated by the merging in the external storage device 710. On the other hand, if the condition is not satisfied, the processing unit 708 retains one piece of intermediate data generated by the merge in the internal memory.

ステップS2015では、加工部708は、イメージ変換処理が必要かを確認する。ここでは、内部メモリの残量が不足しているかの判断(ステップS2010と同様)に加え、レンダリングの対象として内部メモリもしくは外部記憶装置710に格納されている中間データがレンダリング部709が処理可能な中間データであるかの判断を行う。 In step S2015, the processing unit 708 confirms whether image conversion processing is necessary. Here, in addition to determining whether the remaining amount of internal memory is insufficient (same as step S2010), the rendering unit 709 determines whether intermediate data stored in the internal memory or external storage device 710 as a rendering target can be processed. Determine whether it is intermediate data.

内部メモリの残量が不足しており、且つレンダリングの対象として内部メモリもしくは外部記憶装置710に格納されている中間データがレンダリング部709が処理可能な中間データではない場合、イメージ変換処理が必要と判断する。イメージ変換処理が必要であると判断された場合には、処理はステップS2016に進み、イメージ変換処理が必要であると判断されなかった場合には、処理はステップS2017に進む。 If the remaining amount of internal memory is insufficient and the intermediate data stored in the internal memory or external storage device 710 as a rendering target is not intermediate data that can be processed by the rendering unit 709, image conversion processing is required. to decide. If it is determined that image conversion processing is necessary, the process proceeds to step S2016, and if it is determined that image conversion processing is not necessary, the process proceeds to step S2017.

ステップS2016では、加工部708は、レンダリングの対象として内部メモリもしくは外部記憶装置710に格納されている中間データに対して、ステップS2011と同様のイメージ変換処理を行う。 In step S2016, the processing unit 708 performs the same image conversion process as in step S2011 on intermediate data stored in the internal memory or external storage device 710 as a rendering target.

ステップS2017における処理は、レンダリング部709において行われる。ステップS2017では、レンダリング部709は、内部メモリもしくは外部記憶装置710に格納されている中間データを読み出し、該読みだした中間データを用いてレンダリングを行うことでラスタ画像を生成する。 The processing in step S2017 is performed in the rendering unit 709. In step S2017, the rendering unit 709 reads intermediate data stored in the internal memory or external storage device 710, and generates a raster image by performing rendering using the read intermediate data.

ここで、レンダリング部709については、性能/コストの観点からいくつかのバリエーションが考えられ、それに応じて処理できる中間データが異なる。例えば、画像処理装置100の一部若しくは全部の構成として廉価なハードウェアを使用する場合は、ハードウェアの規模を小さくするために、処理できる中間データに限定が入るため、ステップS2015でイメージ変換処理が必要と判断される。レンダリング部709によるレンダリングによって生成されたラスタ画像は、出力部207によって適当な出力先に出力データ212として出力される。 Here, regarding the rendering unit 709, several variations can be considered from the viewpoint of performance/cost, and the intermediate data that can be processed differs accordingly. For example, when using inexpensive hardware as part or all of the image processing apparatus 100, the intermediate data that can be processed is limited in order to reduce the scale of the hardware, so image conversion processing is performed in step S2015. is deemed necessary. The raster image generated by rendering by the rendering unit 709 is outputted as output data 212 by the output unit 207 to an appropriate output destination.

次に、上記のステップS2005における処理の詳細について、図8のフローチャートに従って説明する。ステップS3001では、生成部707は、選択ページの描画コマンドから生成された塗り情報からイメージ情報を取得し、該取得したイメージ情報を圧縮する。圧縮の形式は特定の形式に限らず、例えば、JPEG圧縮やPACKBITS圧縮等を適用することができる。 Next, details of the process in step S2005 above will be explained according to the flowchart of FIG. 8. In step S3001, the generation unit 707 acquires image information from the fill information generated from the drawing command of the selected page, and compresses the acquired image information. The compression format is not limited to a specific format, and for example, JPEG compression, PACKBITS compression, etc. can be applied.

次に、ステップS3002では、生成部707は、「外部記憶装置710に格納する」ための条件が満たされているか否かを判断する。「外部記憶装置710に格納する」ための条件が満たされているか否かの判断方法は特定の判断方法に限らない。例えば、内部メモリにおいて現在使用中のメモリ量が基準値(使用可能なメモリ量の70%等)を超えている場合や、レンダリング部709に対して「外部記憶装置710を使用する」ことが設定されている場合に、「外部記憶装置710に格納する」ための条件が満たされていると判断する。 Next, in step S3002, the generation unit 707 determines whether the conditions for "storing in the external storage device 710" are satisfied. The method for determining whether the conditions for "storing in the external storage device 710" are satisfied is not limited to a specific method. For example, if the amount of memory currently in use in the internal memory exceeds the standard value (70% of the available memory amount, etc.), or the rendering unit 709 is set to "use external storage device 710". If so, it is determined that the conditions for "storing in the external storage device 710" are satisfied.

「外部記憶装置710に格納する」ための条件が満たされている場合には、処理はステップS3003に進み、「外部記憶装置710に格納する」ための条件が満たされていない場合には、圧縮したイメージ情報を内部メモリに保持しておく。ステップS3003では、生成部707は、圧縮したイメージ情報を外部記憶装置710に格納し、内部メモリから該圧縮したイメージ情報を消去する。 If the conditions for "storing in the external storage device 710" are met, the process advances to step S3003; if the conditions for "storing in the external storage device 710" are not met, the compression The image information is retained in internal memory. In step S3003, the generation unit 707 stores the compressed image information in the external storage device 710, and erases the compressed image information from the internal memory.

次に、上記のステップS2006における処理の詳細について、図9のフローチャートに従って説明する。ステップS4001では、生成部707は、選択ページの描画コマンドから、該選択ページ上のオブジェクトの合成に係る合成情報を生成する。 Next, details of the process in step S2006 above will be explained according to the flowchart of FIG. 9. In step S4001, the generation unit 707 generates composition information related to composition of objects on the selected page from the drawing command of the selected page.

次に、ステップS4002では、生成部707は、上記のステップS3002と同様の判断方法でもって、「外部記憶装置710に格納する」ための条件が満たされているか否かを判断する。なお、ステップS4002における判断方法と上記のステップS3002における判断方法とは異なっていてもよい。 Next, in step S4002, the generation unit 707 determines whether the conditions for "storing in the external storage device 710" are satisfied using the same determination method as in step S3002 described above. Note that the determination method in step S4002 and the determination method in step S3002 described above may be different.

「外部記憶装置710に格納する」ための条件が満たされている場合には、処理はステップS4003に進み、「外部記憶装置710に格納する」ための条件が満たされていない場合には、合成情報を内部メモリに保持しておく。ステップS4003では、生成部707は、合成情報を外部記憶装置710に格納し、内部メモリから該合成情報を消去する。 If the conditions for "storing in the external storage device 710" are met, the process advances to step S4003; if the conditions for "storing in the external storage device 710" are not met, the process proceeds to step S4003; Keep information in internal memory. In step S4003, the generation unit 707 stores the composite information in the external storage device 710 and erases the composite information from the internal memory.

次に、上記のステップS2009における処理の詳細について、図10のフローチャートに従って説明する。ステップS5001では、加工部708は、上記のステップS3002、S4002と同様の判断方法でもって、「外部記憶装置710に格納する」ための条件が満たされているか否かを判断する。なお、ステップS5001における判断方法と上記のステップS3002、S4002における判断方法とは異なっていてもよい。 Next, details of the process in step S2009 above will be explained according to the flowchart of FIG. 10. In step S5001, the processing unit 708 determines whether the conditions for "storing in the external storage device 710" are satisfied using the same determination method as in steps S3002 and S4002 described above. Note that the determination method in step S5001 and the determination method in steps S3002 and S4002 described above may be different.

「外部記憶装置710に格納する」ための条件が満たされている場合には、処理はステップS5003に進み、「外部記憶装置710に格納する」ための条件が満たされていない場合には、処理はステップS5002に進む。 If the conditions for "storing in the external storage device 710" are met, the process advances to step S5003, and if the conditions for "storing in the external storage device 710" are not met, the process proceeds to step S5003. The process advances to step S5002.

ステップS5002では、加工部708は、内部メモリに格納されている中間データを変換する。 In step S5002, the processing unit 708 converts the intermediate data stored in the internal memory.

一方、ステップS5003では、加工部708は、外部記憶装置710に格納されている中間データを読みだす。そしてステップS5004では、加工部708は、ステップS5003で読みだした中間データを変換する。そしてステップS5005では、加工部708は、ステップS5004で変換した中間データを外部記憶装置710に格納し、ステップS5004で変換した中間データを内部メモリから消去する。 On the other hand, in step S5003, the processing unit 708 reads intermediate data stored in the external storage device 710. Then, in step S5004, the processing unit 708 converts the intermediate data read out in step S5003. Then, in step S5005, the processing unit 708 stores the intermediate data converted in step S5004 in the external storage device 710, and erases the intermediate data converted in step S5004 from the internal memory.

次に、上記のステップS2011(ステップS2016)の処理の詳細について、図11のフローチャートに従って説明する。ステップS6001では、加工部708は、上記のステップS3002、S4002、S5001と同様の判断方法でもって、「外部記憶装置710に格納する」ための条件が満たされているか否かを判断する。なお、ステップS6001における判断方法と上記のステップS3002、S4002、S5001における判断方法とは異なっていてもよい。 Next, details of the process in step S2011 (step S2016) described above will be explained according to the flowchart in FIG. 11. In step S6001, the processing unit 708 determines whether the conditions for "storing in the external storage device 710" are satisfied using the same determination method as in steps S3002, S4002, and S5001 described above. Note that the determination method in step S6001 may be different from the determination method in steps S3002, S4002, and S5001 described above.

「外部記憶装置710に格納する」ための条件が満たされている場合には、処理はステップS6006に進み、「外部記憶装置710に格納する」ための条件が満たされていない場合には、処理はステップS6002に進む。 If the conditions for "storing in the external storage device 710" are met, the process advances to step S6006, and if the conditions for "storing in the external storage device 710" are not met, the process proceeds to step S6006. The process advances to step S6002.

ステップS6002では、加工部708は、内部メモリに格納されている中間データにおいて「不要な中間データ」を消去する。ここで、「不要な中間データ」とは、ステップS2009、ステップS2011(ステップS2016)、ステップS2014の3つの処理の対象となる中間データにおいて、該3つの処理に影響を与えない情報を指す。例えば、「不要な中間データ」は、不透過な描画コマンドによって覆いかぶさられた描画コマンドの塗り情報(イメージ含む)、合成情報、エッジ情報(描画結果に影響しない情報群)である。 In step S6002, the processing unit 708 erases "unnecessary intermediate data" from the intermediate data stored in the internal memory. Here, "unnecessary intermediate data" refers to information that does not affect the three processes of step S2009, step S2011 (step S2016), and step S2014, in the intermediate data that is the target of the three processes. For example, "unnecessary intermediate data" is the filling information (including images) of the drawing command that is covered by the opaque drawing command, the composition information, and the edge information (a group of information that does not affect the drawing result).

ステップS6003では、加工部708は、内部メモリに格納されている中間データ(ステップS6002において「不要な中間データ」が削除された中間データ)を用いてレンダリングを行うことでラスタ画像を生成する。 In step S6003, the processing unit 708 generates a raster image by performing rendering using intermediate data stored in the internal memory (intermediate data from which "unnecessary intermediate data" has been deleted in step S6002).

ステップS6004では、加工部708は、「ステップS6003で生成したラスタ画像」を塗り情報として有する中間データを生成する。 In step S6004, the processing unit 708 generates intermediate data having "the raster image generated in step S6003" as coloring information.

ステップS6005では、加工部708は、上記のステップS6002と同様にして、内部メモリに格納されている中間データにおいて「不要な中間データ」(例えば、イメージ変換処理の対象となる塗り情報、合成情報、エッジ情報)を消去する。 In step S6005, the processing unit 708, in the same manner as in step S6002 above, extracts "unnecessary intermediate data" (for example, fill information to be subjected to image conversion processing, composition information, etc.) in the intermediate data stored in the internal memory. edge information).

一方、ステップS6006では、加工部708は、外部記憶装置710から中間データを内部メモリに読みだす。そしてステップS6007では、加工部708は、ステップS6006で内部メモリに読みだした中間データを用いてレンダリングを行うことでラスタ画像を生成する。 On the other hand, in step S6006, the processing unit 708 reads intermediate data from the external storage device 710 into the internal memory. Then, in step S6007, the processing unit 708 generates a raster image by performing rendering using the intermediate data read into the internal memory in step S6006.

ステップS6008では、加工部708は、「ステップS6007で生成したラスタ画像」を塗り情報として有する中間データを生成する。ステップS6009では、加工部708は、ステップS6008で生成した中間データを外部記憶装置710に格納し、該中間データを内部メモリから消去する。 In step S6008, the processing unit 708 generates intermediate data having "the raster image generated in step S6007" as coloring information. In step S6009, the processing unit 708 stores the intermediate data generated in step S6008 in the external storage device 710, and erases the intermediate data from the internal memory.

次に、上記のステップS2014における処理の詳細について、図12のフローチャートに従って説明する。ステップS7001では、加工部708は、上記のステップS3002、S4002、S5001、S6001と同様の判断方法でもって、「外部記憶装置710に格納する」ための条件が満たされているか否かを判断する。なお、ステップS7001における判断方法と上記のステップS3002、S4002、S5001、S6001における判断方法とは異なっていてもよい。 Next, details of the process in step S2014 above will be explained according to the flowchart of FIG. 12. In step S7001, the processing unit 708 determines whether the conditions for "storing in the external storage device 710" are satisfied using the same determination method as in steps S3002, S4002, S5001, and S6001 described above. Note that the determination method in step S7001 may be different from the determination method in steps S3002, S4002, S5001, and S6001 described above.

「外部記憶装置710に格納する」ための条件が満たされている場合には、処理はステップS7005に進み、「外部記憶装置710に格納する」ための条件が満たされていない場合には、処理はステップS7002に進む。 If the conditions for "storing in the external storage device 710" are met, the process advances to step S7005; if the conditions for "storing in the external storage device 710" are not met, the process proceeds to step S7005. The process advances to step S7002.

ステップS7002では、加工部708は、上記のステップS6002と同様にして、内部メモリに格納されている中間データにおいて「不要な中間データ」を消去する。ステップS7003では、加工部708は、内部メモリに格納されている複数の中間データを統合して1つの中間データを生成する。ステップS7004では、加工部708は、上記のステップS6002と同様にして、内部メモリに格納されている中間データ(ステップS7003で統合された1つの中間データ)において「不要な中間データ」を消去する。 In step S7002, the processing unit 708 erases "unnecessary intermediate data" from the intermediate data stored in the internal memory in the same manner as in step S6002 described above. In step S7003, the processing unit 708 integrates a plurality of intermediate data stored in the internal memory to generate one intermediate data. In step S7004, the processing unit 708 erases "unnecessary intermediate data" from the intermediate data stored in the internal memory (one piece of intermediate data integrated in step S7003), similarly to step S6002 above.

一方、ステップS7005では、加工部708は、外部記憶装置710から中間データを内部メモリに読みだす。そしてステップS7006では、加工部708は、ステップS6006で内部メモリに読みだした中間データを統合して1つの中間データを生成する。ステップS7007では、加工部708は、ステップS7006で統合された1つの中間データを外部記憶装置710に格納し、該1つの中間データを内部メモリから消去する。 [第2の実施形態]
上記の説明で条件に応じて外部記憶装置710に格納する情報として説明した情報(圧縮したイメージ情報、合成情報、中間データなど)以外の情報についても、条件に応じて外部記憶装置710に格納するようにしてもよい。
On the other hand, in step S7005, the processing unit 708 reads intermediate data from the external storage device 710 into the internal memory. In step S7006, the processing unit 708 integrates the intermediate data read into the internal memory in step S6006 to generate one piece of intermediate data. In step S7007, the processing unit 708 stores the piece of intermediate data integrated in step S7006 in the external storage device 710, and erases the piece of intermediate data from the internal memory. [Second embodiment]
Information other than the information described above as information to be stored in the external storage device 710 according to conditions (compressed image information, composite information, intermediate data, etc.) is also stored in the external storage device 710 according to conditions. You can do it like this.

また、上記の説明において使用した数値、処理タイミング、処理順などは、具体的な説明を行うために一例として挙げたものであり、これらの数値、処理タイミング、処理順などに限定することを意図したものではない。 In addition, the numerical values, processing timing, processing order, etc. used in the above explanation are given as examples to provide concrete explanations, and are intended to be limited to these numerical values, processing timing, processing order, etc. It's not something I did.

また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。 Furthermore, some or all of the embodiments described above may be used in combination as appropriate. Moreover, some or all of the embodiments described above may be selectively used.

(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention provides a system or device with a program that implements one or more functions of the embodiments described above via a network or a storage medium, and one or more processors in a computer of the system or device reads and executes the program. This can also be achieved by processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。 The invention is not limited to the embodiments described above, and various changes and modifications can be made without departing from the spirit and scope of the invention. Therefore, the following claims are hereby appended to disclose the scope of the invention.

100:画像処理装置 704:入力部 705:処理部 706:解析部 707:生成部 708:加工部 709:レンダリング部 710:外部記憶装置 711:出力部 100: Image processing device 704: Input section 705: Processing section 706: Analysis section 707: Generation section 708: Processing section 709: Rendering section 710: External storage device 711: Output section

Claims (11)

画像処理装置であって、
PDLデータに基づく中間データの生成で用いる情報を該PDLデータに基づいて生成し、該情報を、条件に応じて、前記画像処理装置の内部メモリに保持しておく若しくは前記画像処理装置の外部記憶装置に格納する第1生成手段と、
前記内部メモリに保持されている若しくは前記外部記憶装置に格納された情報に基づいて前記中間データを生成し、該生成した中間データを、条件に応じて、前記内部メモリに保持しておく若しくは前記外部記憶装置に格納する第2生成手段と、
前記内部メモリに保持されている若しくは前記外部記憶装置に格納された中間データに基づいてレンダリングを行うことでラスタ画像を生成するレンダリング手段と
を備えることを特徴とする画像処理装置。
An image processing device,
Information used in generating intermediate data based on the PDL data is generated based on the PDL data, and the information is stored in the internal memory of the image processing device or in the external storage of the image processing device, depending on conditions. a first generating means stored in the device;
The intermediate data is generated based on information held in the internal memory or stored in the external storage device, and the generated intermediate data is held in the internal memory according to conditions. or a second generation means for storing in the external storage device;
An image processing apparatus comprising: a rendering unit that generates a raster image by performing rendering based on intermediate data held in the internal memory or stored in the external storage device.
前記第1生成手段は、前記PDLデータから生成した描画コマンドに基づいて前記情報を生成することを特徴とする請求項1に記載の画像処理装置。 The image processing apparatus according to claim 1, wherein the first generation means generates the information based on a drawing command generated from the PDL data. 前記第1生成手段は、前記内部メモリに保持されている情報を前記外部記憶装置に格納する場合、該情報を前記外部記憶装置に格納してから該情報を前記内部メモリから消去することを特徴とする請求項1または2に記載の画像処理装置。 When storing the information held in the internal memory in the external storage device, the first generating means stores the information in the external storage device and then erases the information from the internal memory. The image processing apparatus according to claim 1 or 2. 前記第2生成手段は、前記内部メモリに保持されている中間データを前記外部記憶装置に格納する場合、該中間データを前記外部記憶装置に格納してから該中間データを前記内部メモリから消去することを特徴とする請求項1ないし3の何れか1項に記載の画像処理装置。 When storing intermediate data held in the internal memory in the external storage device, the second generating means stores the intermediate data in the external storage device and then erases the intermediate data from the internal memory. The image processing apparatus according to any one of claims 1 to 3, characterized in that: 前記第2生成手段は、複数の中間データを1つの中間データに統合することを特徴とする請求項1ないし4の何れか1項に記載の画像処理装置。 5. The image processing apparatus according to claim 1, wherein the second generating means integrates a plurality of intermediate data into one intermediate data. 前記第2生成手段は、前記第1生成手段が生成した情報のうち描画結果に影響しない情報を消去することを特徴とする請求項1ないし5の何れか1項に記載の画像処理装置。 6. The image processing apparatus according to claim 1, wherein the second generation means deletes information that does not affect a drawing result from among the information generated by the first generation means. 前記情報は、ページにおける塗りに関する塗り情報、ページ上のオブジェクトの合成に係る合成情報、ページ上のオブジェクトのエッジに関するエッジ情報、を含むことを特徴とする請求項1ないし6の何れか1項に記載の画像処理装置。 7. The information includes coloring information regarding coloring on a page, composition information regarding composition of objects on the page, and edge information regarding edges of objects on the page. The image processing device described. 前記第2生成手段は、前記中間データを用いてレンダリングすることで得たラスタ画像を塗り情報として有する中間データを生成することを特徴とする請求項1ないし7の何れか1項に記載の画像処理装置。 The image according to any one of claims 1 to 7, wherein the second generation means generates intermediate data having as coloring information a raster image obtained by rendering using the intermediate data. Processing equipment. さらに、
前記レンダリング手段により生成されたラスタ画像を印刷する印刷手段を備えることを特徴とする請求項1ないし8の何れか1項に記載の画像処理装置。
moreover,
The image processing apparatus according to any one of claims 1 to 8, further comprising a printing unit that prints the raster image generated by the rendering unit.
画像処理装置が行う画像処理方法であって、
前記画像処理装置の第1生成手段が、PDLデータに基づく中間データの生成で用いる情報を該PDLデータに基づいて生成し、該情報を、条件に応じて、前記画像処理装置の内部メモリに保持しておく若しくは前記画像処理装置の外部記憶装置に格納する第1生成工程と、
前記画像処理装置の第2生成手段が、前記内部メモリに保持されている若しくは前記外部記憶装置に格納された情報に基づいて前記中間データを生成し、該生成した中間データを、条件に応じて、前記内部メモリに保持しておく若しくは前記外部記憶装置に格納する第2生成工程と、
前記画像処理装置のレンダリング手段が、前記内部メモリに保持されている若しくは前記外部記憶装置に格納された中間データに基づいてレンダリングを行うことでラスタ画像を生成するレンダリング工程と
を備えることを特徴とする画像処理方法。
An image processing method performed by an image processing device, the method comprising:
A first generating means of the image processing device generates information used in generating intermediate data based on the PDL data, and stores the information in an internal memory of the image processing device according to conditions. a first generation step of storing the image in an external storage device of the image processing device;
A second generation means of the image processing device generates the intermediate data based on information held in the internal memory or stored in the external storage device, and uses the generated intermediate data according to a condition. a second generation step of retaining in the internal memory or storing in the external storage device according to the
and a rendering step in which the rendering means of the image processing device generates a raster image by performing rendering based on intermediate data held in the internal memory or stored in the external storage device. image processing method.
コンピュータを、請求項1ないし8の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。 A computer program for causing a computer to function as each means of the image processing apparatus according to claim 1.
JP2020074259A 2020-04-17 2020-04-17 Image processing device, image processing method Active JP7417461B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020074259A JP7417461B2 (en) 2020-04-17 2020-04-17 Image processing device, image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020074259A JP7417461B2 (en) 2020-04-17 2020-04-17 Image processing device, image processing method

Publications (3)

Publication Number Publication Date
JP2021171918A JP2021171918A (en) 2021-11-01
JP2021171918A5 JP2021171918A5 (en) 2023-04-19
JP7417461B2 true JP7417461B2 (en) 2024-01-18

Family

ID=78281167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020074259A Active JP7417461B2 (en) 2020-04-17 2020-04-17 Image processing device, image processing method

Country Status (1)

Country Link
JP (1) JP7417461B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256016A (en) 2000-03-09 2001-09-21 Canon Inc Printer, print control method and storage medium
JP2007083608A (en) 2005-09-22 2007-04-05 Oki Data Corp Image formation device
JP2010171682A (en) 2009-01-22 2010-08-05 Konica Minolta Business Technologies Inc Image processing apparatus, program, and data processing method
US20150062155A1 (en) 2013-08-30 2015-03-05 Canon Kabushiki Kaisha Need-below processing across z-band boundaries

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256016A (en) 2000-03-09 2001-09-21 Canon Inc Printer, print control method and storage medium
JP2007083608A (en) 2005-09-22 2007-04-05 Oki Data Corp Image formation device
JP2010171682A (en) 2009-01-22 2010-08-05 Konica Minolta Business Technologies Inc Image processing apparatus, program, and data processing method
US20150062155A1 (en) 2013-08-30 2015-03-05 Canon Kabushiki Kaisha Need-below processing across z-band boundaries

Also Published As

Publication number Publication date
JP2021171918A (en) 2021-11-01

Similar Documents

Publication Publication Date Title
JP3872558B2 (en) Fallback processing for page generation using memory reduction techniques
US7253914B2 (en) Print data processing apparatus, print control method, and print control program
JP2010140459A (en) Program, print data conversion device, and computer-readable recording medium
US8654147B2 (en) Apparatus for generating raster images, raster image generating method, and storage medium
US6985249B2 (en) Variable data printing with optimized cache
JP3854786B2 (en) Printing control apparatus and method
US9230200B2 (en) Method of processing graphics with limited memory
JP7417461B2 (en) Image processing device, image processing method
US10169688B2 (en) Method of enhancing quality of image object included in compound document and apparatus for performing the method
US20210090218A1 (en) Image scaling with enhanced compression
US6912066B2 (en) Image processing method and apparatus for performing processing according to the type of rendering command, and program implementing image processing method
US10102458B2 (en) Image processing apparatus for generating intermediate data and processing the intermediate data, method of processing intermediate data generated from print data
US9978005B2 (en) Printer for drawing bold character, method for controlling the same, and storage medium
US20150009540A1 (en) Image forming apparatus, image forming method, and medium
AU2016277671A1 (en) Method of controlling memory usage in a graphics rendering system
JP3642234B2 (en) Printer host, printer, printer system, storage medium storing program for converting drawing command into binary image data
US20200329173A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
JP4467715B2 (en) Image output control apparatus and method
JP3382441B2 (en) Image forming device
JP2001282482A (en) Data processor and method for processing data
JP3686490B2 (en) System and method using variable binarization for printer driver architecture
JP2001160148A (en) Image processor
JP2020029067A (en) Drawing processing apparatus, drawing processing method, and program
JPH1044526A (en) Printer driver, drawing processing method thereof, and memory medium storing program readable by computer
JP2022030549A (en) Information processing apparatus, information processing method, image forming apparatus, and program

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230411

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240105

R151 Written notification of patent or utility model registration

Ref document number: 7417461

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151