(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】画像処理装置、画像処理方法
(51)【国際特許分類】
B41J 5/30 20060101AFI20240111BHJP
H04N 1/21 20060101ALI20240111BHJP
G06F 3/12 20060101ALI20240111BHJP
【FI】
B41J5/30 Z
H04N1/21
G06F3/12 303
G06F3/12 345
(21)【出願番号】P 2020074259
(22)【出願日】2020-04-17
【審査請求日】2023-04-11
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】松井 智宏
【審査官】牧島 元
(56)【参考文献】
【文献】特開2007-083608(JP,A)
【文献】特開平10-308861(JP,A)
【文献】特開2001-256016(JP,A)
【文献】特開2010-171682(JP,A)
【文献】米国特許出願公開第2015/0062155(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 5/30
H04N 1/21
G06F 3/12
(57)【特許請求の範囲】
【請求項1】
画像処理装置であって、
PDLデータに基づく中間データの生成で用いる情報を該PDLデータに基づいて生成し、該情報を、条件に応じて、前記画像処理装置の内部メモリに保持しておく若しくは前記画像処理装置の外部記憶装置に格納する第1生成手段と、
前記内部メモリ
に保持されている若しくは前記外部記憶装置に格納された情報に基づいて前記中間データを生成し、該生成した中間データを、条件に応じて、前記内部メモリに保持しておく若しくは前記外部記憶装置に格納する第2生成手段と、
前記内部メモリに保持されている若しくは前記外部記憶装置に格納された中間データに基づいてレンダリングを行うことでラスタ画像を生成するレンダリング手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記第1生成手段は、前記PDLデータから生成した描画コマンドに基づいて前記情報を生成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第1生成手段は、前記内部メモリに保持されている情報を前記外部記憶装置に格納する場合、該情報を前記外部記憶装置に格納してから該情報を前記内部メモリから消去することを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記第2生成手段は、前記内部メモリに保持されている中間データを前記外部記憶装置に格納する場合、該中間データを前記外部記憶装置に格納してから該中間データを前記内部メモリから消去することを特徴とする請求項1ないし3の何れか1項に記載の画像処理装置。
【請求項5】
前記第2生成手段は、複数の中間データを1つの中間データに統合することを特徴とする請求項1ないし4の何れか1項に記載の画像処理装置。
【請求項6】
前記第2生成手段は、前記第1生成手段が生成した情報のうち描画結果に影響しない情報を消去することを特徴とする請求項1ないし5の何れか1項に記載の画像処理装置。
【請求項7】
前記情報は、ページにおける塗りに関する塗り情報、ページ上のオブジェクトの合成に係る合成情報、ページ上のオブジェクトのエッジに関するエッジ情報、を含むことを特徴とする請求項1ないし6の何れか1項に記載の画像処理装置。
【請求項8】
前記第2生成手段は、前記中間データを用いてレンダリングすることで得たラスタ画像を塗り情報として有する中間データを生成することを特徴とする請求項1ないし7の何れか1項に記載の画像処理装置。
【請求項9】
さらに、
前記レンダリング手段により生成されたラスタ画像を印刷する印刷手段を備えることを特徴とする請求項1ないし8の何れか1項に記載の画像処理装置。
【請求項10】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の第1生成手段が、PDLデータに基づく中間データの生成で用いる情報を該PDLデータに基づいて生成し、該情報を、条件に応じて、前記画像処理装置の内部メモリに保持しておく若しくは前記画像処理装置の外部記憶装置に格納する第1生成工程と、
前記画像処理装置の第2生成手段が、前記内部メモリ
に保持されている若しくは前記外部記憶装置に格納された情報に基づいて前記中間データを生成し、該生成した中間データを、条件に応じて、前記内部メモリに保持しておく若しくは前記外部記憶装置に格納する第2生成工程と、
前記画像処理装置のレンダリング手段が、前記内部メモリに保持されている若しくは前記外部記憶装置に格納された中間データに基づいてレンダリングを行うことでラスタ画像を生成するレンダリング工程と
を備えることを特徴とする画像処理方法。
【請求項11】
コンピュータを、請求項1ないし8の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、PDLデータに基づく中間データの生成に関するものである。
【背景技術】
【0002】
大判機等、使用する印刷用紙のサイズが特別に大きいプリンタ装置の場合は、印刷ジョブを投入しても印刷が困難なケースが存在する。特に、ジョブのページ中に極めて大きな画像が埋め込まれている場合や、非常に多くの図形データ等が含まれる場合等は、該ページを処理する途中の段階でメモリ不足に陥ってしまい、処理が続行できない場合がある。一般に、プリンタドライバやプリンタコントローラは、いずれも定められたハードウェアリソース(例えばプロセスに割り当てられるメモリには制限がある)で処理するように構成されているために、何らかの対策を講じる必要がある。
【0003】
従来、印刷ジョブの処理時にメモリが不足し、処理を継続できない場合の対策の一例として、特許文献1や特許文献4に記載の方法が知られている。特許文献1には、メモリが不足した時点(メモリアロックが出来ない等)で、処理プログラムがメモリに記録されている内部データ(中間データ等)を用いて画像形成(レンダリング)を実施することによりそれまでに蓄えたデータを解放することでデータサイズを削減する等の方法が開示されている。これらの技術に加え、合成処理によってデータサイズを削減する方法(フラット化)も提案されている(特許文献2、特許文献3)。
【0004】
従来の印刷システムの構成例について、
図2のブロック図を用いて説明する。
図2に示す印刷システムは、コンピュータ200と、画像処理装置100と、を有する。
【0005】
コンピュータ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は、フラット化によってメモリが削減される様子を示す図である。フラット化を実施することでメモリが削減され、処理を継続することが可能となる。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2011-61555号公報
【文献】特開2018-152113号公報
【文献】特開2017-194932号公報
【文献】特開平06-261202号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述のように、画像処理を継続するために内部メモリの縮退処理(中間データを処理する際に利用する内部データを、最終的にスプールアウトする中間データと類似の構造として保持し、メモリが不足した場合にフラット化と呼ばれる処理で統合する処理等)によりデータ削減を実施している。しかしながら、この方式では、利用可能なメモリが徐々に少なくなってくると再びフラット化を実施する必要がある。ワーストケースではフラット化が繰り返される。
【0008】
図5は、フラット化を繰り返した結果、メモリが不足する例を示したグラフである。縦軸はメモリの使用量(GB)を示しており、横軸は処理時間(分)を示している。なお、縦軸の最大値2GBが、この例におけるメモリ最大容量としている。3回のフラット化が発生してメモリ使用量が削減されているが、処理時間T時点ではメモリ使用量が最大値2GBに到達しており、メモリ不足が発生している。このようにフラット化を実施してもメモリ不足が発生し、処理を継続出来ないケースが存在する。本発明では、メモリが不足して画像処理を継続できないようなPDLデータであっても、該PDLデータに基づく中間データの生成を可能にする技術を提供する。
【課題を解決するための手段】
【0009】
本発明の一様態では、画像処理装置であって、
PDLデータに基づく中間データの生成で用いる情報を該PDLデータに基づいて生成し、該情報を、条件に応じて、前記画像処理装置の内部メモリに保持しておく若しくは前記画像処理装置の外部記憶装置に格納する第1生成手段と、
前記内部メモリに保持されている若しくは前記外部記憶装置に格納された情報に基づいて前記中間データを生成し、該生成した中間データを、条件に応じて、前記内部メモリに保持しておく若しくは前記外部記憶装置に格納する第2生成手段と、
前記内部メモリに保持されている若しくは前記外部記憶装置に格納された中間データに基づいてレンダリングを行うことでラスタ画像を生成するレンダリング手段と
を備えることを特徴とする。
【発明の効果】
【0010】
本発明の構成によれば、メモリが不足して画像処理を継続できないようなPDLデータであっても、該PDLデータに基づく中間データの生成を可能にする。
【図面の簡単な説明】
【0011】
【
図1】コンピュータ装置のハードウェア構成例を示すブロック図。
【
図2】従来の印刷システムの構成例を示すブロック図。
【
図4】フラット化によってメモリが削減される様子を示す図。
【
図5】フラット化を繰り返した結果、メモリが不足する例を示したグラフ。
【
図7】画像処理装置100の動作のフローチャート。
【
図8】ステップS2005における処理の詳細を示すフローチャート。
【
図9】ステップS2006における処理の詳細を示すフローチャート。
【
図10】ステップS2009における処理の詳細を示すフローチャート。
【
図11】ステップS2011(ステップS2016)の処理の詳細を示すフローチャート。
【
図12】ステップS2014における処理の詳細を示すフローチャート。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0013】
[第1の実施形態]
まず、本実施形態に係るシステムの構成例について、
図6のブロック図を用いて説明する。
図6に示す如く、本実施形態に係るシステムは、コンピュータ700と画像処理装置100とを有する。コンピュータ700および画像処理装置100は、無線および/または有線のネットワークに接続されており、該ネットワークを介して互いにデータ通信が可能なように構成されている。
【0014】
まず、コンピュータ700について説明する。印刷対象データ702は、画像やテキストなどの印刷対象データである。生成部701は、このような印刷対象データ702から印刷データ(PDLデータ)703を生成し、該生成した印刷データ703を画像処理装置100に対して出力する。
【0015】
次に、画像処理装置100について説明する。入力部704は、コンピュータ700から出力された印刷データ703を取得する。処理部705は、解析部706、生成部707、加工部708、レンダリング部709を有する。
【0016】
解析部706は、入力部704が取得した印刷データ703を解析して、描画命令(描画コマンド)を生成する。生成部707は、描画コマンドから中間データを生成する。生成部707は、通常は、中間データの生成に用いる情報を描画コマンドから生成して内部メモリ(RAMなどの揮発性メモリ)に保持するが、「外部記憶装置710に格納する」ための条件が満たされると、該情報を外部記憶装置710に格納する。そして生成部707は、内部メモリもしくは外部記憶装置710に格納されている情報に基づいて中間データを生成する。生成部707は、通常は、該生成した中間データを該内部メモリに保持しておくが、「外部記憶装置710に格納する」ための条件が満たされると、該生成した中間データを外部記憶装置710に格納する。
【0017】
加工部708は、中間データを変換する。例えば、加工部708は、中間データをレンダリングしやすい形式に変換する。この変換では、例えば、中間データをタイル単位のデータ(分割データ)に分割し、分割データごとに圧縮してタイルデータを生成する。ここで、タイルとは、印刷領域をプリントデバイスのピクセル座標系で均等に分割した領域であり、中間データをタイルデータに変換することで、該中間データを保持するメモリの使用量を抑えつつ、並列動作も可能にする。加工部708は、通常は、変換した中間データを内部メモリに保持しておくが、「外部記憶装置710に格納する」ための条件が満たされると、該変換した中間データを外部記憶装置710に格納する。
【0018】
レンダリング部709は、内部メモリ若しくは外部記憶装置710に保持されている中間データに基づいてレンダリングを行うことでラスタ画像(プリントデバイスのピクセル座標系におけるラスタデータ)を生成する。
【0019】
出力部711は、レンダリング部709により生成されたラスタ画像を出力データ712として出力する。出力データ712の出力先は特定の出力先に限らない。例えば、出力部711は、出力データ712を、画像処理装置100内もしくは画像処理装置100外の印刷部に出力して、該出力データ712に基づく画像や文字を紙などの印刷媒体に印刷させてもよい。また、出力部711は、出力データ712を画像処理装置100内もしくは画像処理装置100外のメモリに対して出力してもよい。
【0020】
外部記憶装置710は、上記の内部メモリよりもデータ容量が大きい不揮発性の記憶装置であり、例えばハードディスクドライブ装置やSSD(Solid State Drive)である。
【0021】
画像処理装置100の上記の各機能部はハードウェアで実装してもよいが、ソフトウェア(コンピュータプログラム)で実装してもよい。後者の場合、このコンピュータプログラムを実行可能なコンピュータ装置は、画像処理装置100に適用することができる。本実施形態では、後者のケースについて説明する。このようなコンピュータ装置のハードウェア構成例について、
図1のブロック図を用いて説明する。
【0022】
CPU101は、RAM102やROM(フォントROM103、プログラムROM104、データROM105)に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU101は、画像処理装置100全体の動作制御を行うとともに、画像処理装置100が行うものとして説明する各処理を実行もしくは制御する。
【0023】
RAM102は、ROM(フォントROM103、プログラムROM104、データROM105)やHD(ハードディスク)114からロードされたコンピュータプログラムやデータを格納するためのエリアを有する。さらにRAM102は、通信部110により外部(例えば上記のコンピュータ700)から受信したコンピュータプログラムやデータを格納するためのエリアを有する。さらにRAM102は、CPU101が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM102は、各種のエリアを適宜提供することができる。
【0024】
フォントROM103には、各種のフォントのデータが格納されている。プログラムROM104には、画像処理装置100が行うものとして説明する各処理をCPU101に実行もしくは制御させるためのコンピュータプログラムが格納されている。データROM105には、画像処理装置100が行うものとして説明する各処理をCPU101に実行もしくは制御させるためのデータが格納されている。
【0025】
KBC(キーボードコントローラ)107は、ユーザがKB(キーボード)112を操作することで入力した指示や情報をCPU101に通知する。なお、画像処理装置100において使用可能なユーザインターフェースはキーボードに限らず、マウスやタッチパネル画面なども適用可能である。
【0026】
表示制御部108は、表示部113の表示制御を行う。表示部113は液晶画面やタッチパネル画面などの表示画面を有する表示装置であり、CPU101による処理結果を画像や文字などでもって表示することができる。なお、表示部113は、画像や文字を投影するプロジェクタなどの投影装置であってもよい。
【0027】
HD制御部109は、HD114に対するコンピュータプログラムやデータの読み書きを制御する。HD114には、各種のコンピュータプログラムやデータを格納することができる。なお、本実施形態では、HD114は上記の外部記憶装置710の一例であるものとして説明するが、これに限らず、他の種類のメモリ装置を外部記憶装置710として用いても構わない。
【0028】
通信部110は、コンピュータ700との間のデータ通信を行う。CPU101、RAM102、フォントROM103、プログラムROM104、データROM105、KBC107、表示制御部108、HD制御部109、通信部110、は何れもバス106に接続されている。
【0029】
次に、画像処理装置100の動作について、
図7のフローチャートに従って説明する。以下では、
図6に示した機能部を処理の主体として説明するが、実際には、該機能部に対応する機能をCPU101に実行もしくは制御させるためのコンピュータプログラムをCPU101が実行することで、該機能部の機能が実現される。
【0030】
ステップS2001における処理は、解析部706において行われる。ステップS2001では、解析部706は、PDLデータである印刷データ703を解析して、ページごとの描画命令(描画コマンド)を生成する。
【0031】
ステップS2003~S2008aにおける処理は、生成部707において行われる。ステップS2003では、生成部707は、ページごとの描画コマンドから未選択のページの描画コマンドを選択ページの描画コマンドとして選択する。そして生成部707は、該選択ページの描画コマンドから、該選択ページにおける塗りに関する塗り情報を生成する。
【0032】
ステップS2004では、生成部707は、選択ページの描画コマンドから生成された塗り情報にイメージ情報が含まれているか否かを判断する。この判断の結果、選択ページの描画コマンドから生成された塗り情報にイメージ情報が含まれている場合には、処理はステップS2005に進む。一方、選択ページの描画コマンドから生成された塗り情報にイメージ情報が含まれていない場合には、処理はステップS2006に進む。
【0033】
ステップS2005では、生成部707は、選択ページの描画コマンドから生成された塗り情報に含まれているイメージ情報を圧縮する。そして生成部707は、「外部記憶装置710に格納する」ための条件が満たされている場合には、該圧縮したイメージ情報を外部記憶装置710に格納し、該条件が満たされていない場合には、該圧縮したイメージ情報を内部メモリに保持しておく。
【0034】
ステップS2006では、生成部707は、選択ページの描画コマンドから、該選択ページ上のオブジェクトの合成に係る合成情報を生成する。そして生成部707は、「外部記憶装置710に格納する」ための条件が満たされている場合には、該合成情報を外部記憶装置710に格納し、該条件が満たされていない場合には、該合成情報を内部メモリに保持しておく。
【0035】
ステップS2007では、生成部707は、選択ページの描画コマンドから、該選択ページ上のオブジェクトのエッジに関するエッジ情報を生成する。
【0036】
このように、本実施形態では、描画コマンドから中間データを生成するために用いられる情報群(塗り情報(イメージ情報を含む)、合成情報、エッジ情報)を内部データとして生成する。内部データの構成例を
図3に示す。
図3に示す如く、内部データ300は、エッジ情報213、合成情報214、塗り情報215を含む。
【0037】
ステップS2008では、生成部707は、ステップS2006で生成した合成情報の数が閾値を超えるか否かを判断する。この判断の結果、ステップS2006で生成した合成情報の数が閾値を超える場合には、処理はステップS2008aに進む。一方、ステップS2006で生成した合成情報の数が閾値を超えない場合には、処理はステップS2003に進む。
【0038】
ステップS2008aでは、生成部707は、内部メモリもしくは外部記憶装置710に格納されている情報群(塗り情報(イメージ情報も含む)、合成情報、エッジ情報)を読みだして適宜参照して、選択ページの中間データを生成する。そして生成部707は、「外部記憶装置710に格納する」ための条件が満たされている場合には、該中間データを外部記憶装置710に格納し、該条件が満たされていない場合には、該中間データを内部メモリに保持しておく。
【0039】
ステップS2009~S2016における処理は、加工部708において行われる。ステップS2009では、加工部708は、内部メモリもしくは外部記憶装置710に格納されている中間データを読み出し、該読みだした中間データを変換し、例えば、該読みだした中間データを前述のタイルデータ形式等の中間データに変換する。そして加工部708は、「外部記憶装置710に格納する」ための条件が満たされている場合には、該変換済みの中間データを外部記憶装置710に格納し、該条件が満たされていない場合には、該変換済みの中間データを内部メモリに保持しておく。
【0040】
ステップS2010では、加工部708は、内部メモリの残量(空き容量)が不足しているか否かを判断する。この判断では、例えば、内部メモリの残量(空き容量)が予め定められたデータサイズ以下であれば、内部メモリの残量(空き容量)が不足していると判断する。
【0041】
この判断の結果、内部メモリの残量(空き容量)が不足している場合には、処理はステップS2011に進み、内部メモリの残量(空き容量)が不足していない場合には、処理はステップS2012に進む。
【0042】
ステップS2011では、加工部708は、内部メモリもしくは外部記憶装置710に格納されている変換済みの中間データを読み出し、該読みだした変換済みの中間データに対してイメージ変換処理を行う。イメージ変換処理は、メモリ不足の原因となっている複雑または大量の中間データをレンダリングして1つのラスタデータを生成し、そのラスタデータを塗り情報とする単純化した中間データに変換する処理である。そして加工部708は「外部記憶装置710に格納する」為の条件が満たされている場合、イメージ変換処理を行った中間データを外部記憶装置710に格納し、該条件が満たされていない場合、イメージ変換処理を行った中間データを内部メモリに保持しておく。
【0043】
ステップS2012では、加工部708は、まだ選択ページの描画コマンドとして選択していないページの描画コマンドが残っているか否かを判断する。この判断の結果、残っている場合には、処理はステップS2003に進み、残っていない場合には、処理はステップS2013に進む。
【0044】
ステップS2013では、加工部708は、内部メモリもしくは外部記憶装置710に格納されている中間データの数が複数か否かを判断する。この判断の結果、内部メモリもしくは外部記憶装置710に格納されている中間データの数が複数である場合には、処理はステップS2014に進む。一方、内部メモリもしくは外部記憶装置710に格納されている中間データの数が単数である場合には、処理はステップS2015に進む。
【0045】
ステップS2014では、加工部708は、内部メモリもしくは外部記憶装置710に格納されている「複数の中間データ」を読み出し、該読みだした「複数の中間データ」を1つの中間データにマージ(データ統合処理)する。そして加工部708は、「外部記憶装置710に格納する」ための条件が満たされている場合には、該マージにより生成された1つの中間データを外部記憶装置710に格納する。一方、加工部708は、該条件が満たされていない場合には、該マージにより生成された1つの中間データを内部メモリに保持しておく。
【0046】
ステップS2015では、加工部708は、イメージ変換処理が必要かを確認する。ここでは、内部メモリの残量が不足しているかの判断(ステップS2010と同様)に加え、レンダリングの対象として内部メモリもしくは外部記憶装置710に格納されている中間データがレンダリング部709が処理可能な中間データであるかの判断を行う。
【0047】
内部メモリの残量が不足しており、且つレンダリングの対象として内部メモリもしくは外部記憶装置710に格納されている中間データがレンダリング部709が処理可能な中間データではない場合、イメージ変換処理が必要と判断する。イメージ変換処理が必要であると判断された場合には、処理はステップS2016に進み、イメージ変換処理が必要であると判断されなかった場合には、処理はステップS2017に進む。
【0048】
ステップS2016では、加工部708は、レンダリングの対象として内部メモリもしくは外部記憶装置710に格納されている中間データに対して、ステップS2011と同様のイメージ変換処理を行う。
【0049】
ステップS2017における処理は、レンダリング部709において行われる。ステップS2017では、レンダリング部709は、内部メモリもしくは外部記憶装置710に格納されている中間データを読み出し、該読みだした中間データを用いてレンダリングを行うことでラスタ画像を生成する。
【0050】
ここで、レンダリング部709については、性能/コストの観点からいくつかのバリエーションが考えられ、それに応じて処理できる中間データが異なる。例えば、画像処理装置100の一部若しくは全部の構成として廉価なハードウェアを使用する場合は、ハードウェアの規模を小さくするために、処理できる中間データに限定が入るため、ステップS2015でイメージ変換処理が必要と判断される。レンダリング部709によるレンダリングによって生成されたラスタ画像は、出力部207によって適当な出力先に出力データ212として出力される。
【0051】
次に、上記のステップS2005における処理の詳細について、
図8のフローチャートに従って説明する。ステップS3001では、生成部707は、選択ページの描画コマンドから生成された塗り情報からイメージ情報を取得し、該取得したイメージ情報を圧縮する。圧縮の形式は特定の形式に限らず、例えば、JPEG圧縮やPACKBITS圧縮等を適用することができる。
【0052】
次に、ステップS3002では、生成部707は、「外部記憶装置710に格納する」ための条件が満たされているか否かを判断する。「外部記憶装置710に格納する」ための条件が満たされているか否かの判断方法は特定の判断方法に限らない。例えば、内部メモリにおいて現在使用中のメモリ量が基準値(使用可能なメモリ量の70%等)を超えている場合や、レンダリング部709に対して「外部記憶装置710を使用する」ことが設定されている場合に、「外部記憶装置710に格納する」ための条件が満たされていると判断する。
【0053】
「外部記憶装置710に格納する」ための条件が満たされている場合には、処理はステップS3003に進み、「外部記憶装置710に格納する」ための条件が満たされていない場合には、圧縮したイメージ情報を内部メモリに保持しておく。ステップS3003では、生成部707は、圧縮したイメージ情報を外部記憶装置710に格納し、内部メモリから該圧縮したイメージ情報を消去する。
【0054】
次に、上記のステップS2006における処理の詳細について、
図9のフローチャートに従って説明する。ステップS4001では、生成部707は、選択ページの描画コマンドから、該選択ページ上のオブジェクトの合成に係る合成情報を生成する。
【0055】
次に、ステップS4002では、生成部707は、上記のステップS3002と同様の判断方法でもって、「外部記憶装置710に格納する」ための条件が満たされているか否かを判断する。なお、ステップS4002における判断方法と上記のステップS3002における判断方法とは異なっていてもよい。
【0056】
「外部記憶装置710に格納する」ための条件が満たされている場合には、処理はステップS4003に進み、「外部記憶装置710に格納する」ための条件が満たされていない場合には、合成情報を内部メモリに保持しておく。ステップS4003では、生成部707は、合成情報を外部記憶装置710に格納し、内部メモリから該合成情報を消去する。
【0057】
次に、上記のステップS2009における処理の詳細について、
図10のフローチャートに従って説明する。ステップS5001では、加工部708は、上記のステップS3002、S4002と同様の判断方法でもって、「外部記憶装置710に格納する」ための条件が満たされているか否かを判断する。なお、ステップS5001における判断方法と上記のステップS3002、S4002における判断方法とは異なっていてもよい。
【0058】
「外部記憶装置710に格納する」ための条件が満たされている場合には、処理はステップS5003に進み、「外部記憶装置710に格納する」ための条件が満たされていない場合には、処理はステップS5002に進む。
【0059】
ステップS5002では、加工部708は、内部メモリに格納されている中間データを変換する。
【0060】
一方、ステップS5003では、加工部708は、外部記憶装置710に格納されている中間データを読みだす。そしてステップS5004では、加工部708は、ステップS5003で読みだした中間データを変換する。そしてステップS5005では、加工部708は、ステップS5004で変換した中間データを外部記憶装置710に格納し、ステップS5004で変換した中間データを内部メモリから消去する。
【0061】
次に、上記のステップS2011(ステップS2016)の処理の詳細について、
図11のフローチャートに従って説明する。ステップS6001では、加工部708は、上記のステップS3002、S4002、S5001と同様の判断方法でもって、「外部記憶装置710に格納する」ための条件が満たされているか否かを判断する。なお、ステップS6001における判断方法と上記のステップS3002、S4002、S5001における判断方法とは異なっていてもよい。
【0062】
「外部記憶装置710に格納する」ための条件が満たされている場合には、処理はステップS6006に進み、「外部記憶装置710に格納する」ための条件が満たされていない場合には、処理はステップS6002に進む。
【0063】
ステップS6002では、加工部708は、内部メモリに格納されている中間データにおいて「不要な中間データ」を消去する。ここで、「不要な中間データ」とは、ステップS2009、ステップS2011(ステップS2016)、ステップS2014の3つの処理の対象となる中間データにおいて、該3つの処理に影響を与えない情報を指す。例えば、「不要な中間データ」は、不透過な描画コマンドによって覆いかぶさられた描画コマンドの塗り情報(イメージ含む)、合成情報、エッジ情報(描画結果に影響しない情報群)である。
【0064】
ステップS6003では、加工部708は、内部メモリに格納されている中間データ(ステップS6002において「不要な中間データ」が削除された中間データ)を用いてレンダリングを行うことでラスタ画像を生成する。
【0065】
ステップS6004では、加工部708は、「ステップS6003で生成したラスタ画像」を塗り情報として有する中間データを生成する。
【0066】
ステップS6005では、加工部708は、上記のステップS6002と同様にして、内部メモリに格納されている中間データにおいて「不要な中間データ」(例えば、イメージ変換処理の対象となる塗り情報、合成情報、エッジ情報)を消去する。
【0067】
一方、ステップS6006では、加工部708は、外部記憶装置710から中間データを内部メモリに読みだす。そしてステップS6007では、加工部708は、ステップS6006で内部メモリに読みだした中間データを用いてレンダリングを行うことでラスタ画像を生成する。
【0068】
ステップS6008では、加工部708は、「ステップS6007で生成したラスタ画像」を塗り情報として有する中間データを生成する。ステップS6009では、加工部708は、ステップS6008で生成した中間データを外部記憶装置710に格納し、該中間データを内部メモリから消去する。
【0069】
次に、上記のステップS2014における処理の詳細について、
図12のフローチャートに従って説明する。ステップS7001では、加工部708は、上記のステップS3002、S4002、S5001、S6001と同様の判断方法でもって、「外部記憶装置710に格納する」ための条件が満たされているか否かを判断する。なお、ステップS7001における判断方法と上記のステップS3002、S4002、S5001、S6001における判断方法とは異なっていてもよい。
【0070】
「外部記憶装置710に格納する」ための条件が満たされている場合には、処理はステップS7005に進み、「外部記憶装置710に格納する」ための条件が満たされていない場合には、処理はステップS7002に進む。
【0071】
ステップS7002では、加工部708は、上記のステップS6002と同様にして、内部メモリに格納されている中間データにおいて「不要な中間データ」を消去する。ステップS7003では、加工部708は、内部メモリに格納されている複数の中間データを統合して1つの中間データを生成する。ステップS7004では、加工部708は、上記のステップS6002と同様にして、内部メモリに格納されている中間データ(ステップS7003で統合された1つの中間データ)において「不要な中間データ」を消去する。
【0072】
一方、ステップS7005では、加工部708は、外部記憶装置710から中間データを内部メモリに読みだす。そしてステップS7006では、加工部708は、ステップS6006で内部メモリに読みだした中間データを統合して1つの中間データを生成する。ステップS7007では、加工部708は、ステップS7006で統合された1つの中間データを外部記憶装置710に格納し、該1つの中間データを内部メモリから消去する。 [第2の実施形態]
上記の説明で条件に応じて外部記憶装置710に格納する情報として説明した情報(圧縮したイメージ情報、合成情報、中間データなど)以外の情報についても、条件に応じて外部記憶装置710に格納するようにしてもよい。
【0073】
また、上記の説明において使用した数値、処理タイミング、処理順などは、具体的な説明を行うために一例として挙げたものであり、これらの数値、処理タイミング、処理順などに限定することを意図したものではない。
【0074】
また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
【0075】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0076】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0077】
100:画像処理装置 704:入力部 705:処理部 706:解析部 707:生成部 708:加工部 709:レンダリング部 710:外部記憶装置 711:出力部