(57)【要約】【課題】  入力される描画命令から効率的に描画処理できる中間データを生成できる。【解決手段】    入力される描画命令に対して、ページをタイル単位の領域に分割したタイルデータを生成する画像処理装置であって、生成される複数のタイルデータのメモリサイズを平均して平均メモリサイズを算出する（Ｓ１０２〜（Ｓ１１０）。そして、算出した平均メモリサイズを用いて生成したタイルデータのメモリサイズを可変調整した中間データを生成する（Ｓ１１１〜Ｓ１１２）。【選択図】  図４
2012232546.tif 000002
【特許請求の範囲】
【請求項１】
入力される描画命令に対して、ページをタイル単位の領域に分割したタイルデータを生成する画像処理装置であって、
生成される１バンド分の複数のタイルデータのメモリサイズを平均して平均メモリサイズを算出する算出手段と、
前記算出手段が算出した平均メモリサイズを用いて生成したタイルデータのメモリサイズを可変調整した中間データを生成する生成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
入力される描画命令に対して、ページをタイル単位の領域に分割して処理する画像処理装置であって、
前記描画命令を１ラインずつ解析して１バンド中に描画オブジェクトが存在するかどうかを判断する判断手段と、
前記描画オブジェクトが存在すると判断した場合、前記描画命令を解析して得られる描画オブジェクトからタイル単位のタイルデータを生成する第１の生成手段と、
前記第１の生成手段が生成する複数のタイルデータのメモリサイズを平均して平均メモリサイズを算出する算出手段と、
前記算出手段が算出した平均メモリサイズを用いて、前記第１の生成手段が生成したタイルデータのメモリサイズを可変調整する調整手段と、
前記調整手段が可変調整したタイルデータまたは前記描画オブジェクトが存在しないと判断した場合に出力されるバンドデータから描画処理に供する中間データを生成する第２の生成手段と、
を備えることを特徴とする画像処理装置。
【請求項３】
前記第２の生成手段が生成した中間データからラスターデータを生成する第３の生成手段を備えることを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記調整手段は、前記平均メモリサイズよりもメモリサイズが大きいタイルデータを複数のタイルデータに分割し、前記平均メモリサイズよりもメモリサイズが小さい複数のタイルデータを１つのタイルデータに合成することにより前記第１の生成手段が生成したタイルデータのメモリサイズを可変調整することを特徴とする請求項３記載の画像処理装置。
【請求項５】
入力される描画命令に対して、ページをタイル単位の領域に分割したタイルデータを生成する画像処理装置における画像処理方法であって、
生成される１バンド分の複数のタイルデータのメモリサイズを平均して平均メモリサイズを算出する算出工程と、
前記算出工程が算出した平均メモリサイズを用いて生成したタイルデータのメモリサイズを可変調整した中間データを生成する生成工程と、
を備えることを特徴とする画像処理方法。
【請求項６】
請求項５に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語に基づく印刷情報に対してバンド処理を行う画像処理装置、画像処理方法及びプログラムに関するものである。
【背景技術】
【０００２】
現在、プリンタの印刷機能は高機能化しているにも関わらず、プリンタ本体は低価格化の傾向にある。そのため、プリンタ内でソフトウエアが利用できる資源には制限が発生し、例えば利用するメモリサイズやＲＯＭサイズなどは最小化が必須条件となっている。しかし、利用するメモリサイズが削減されるからと言って、従来の印字速度や印字品質を低下させることはできない。
【０００３】
そのため従来技術では、レンダリング処理が終了し出力された結果の画像データに対し、軽量化処理や、タイル単位で画像をベクトル化し固定領域サイズで分割処理を行いメモリサイズの消費を抑えることを行っている(特許文献１参照)。また事前に利用できるメモリサイズを計算し確保するといったことを行い(特許文献2参照)、印字速度の低下を行わないようにしている。
【０００４】
ただし、従来技術では、入力データの全ての描画命令に対し作成される中間データを固定タイルサイズで生成するため、例えば文字や図形や画像などのオブジェクトデータが存在せず、処理の必要がない個所に関しても、同一の処理を行っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１４６４１５号公報
【特許文献２】特開平９−３４７７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来から印刷データサイズの削減のため、レンダリング処理のメモリ消費量の削減が行われてきた。しかし、レンダリング処理結果に対しメモリの消費量を削減することが中心であり、レンダリング処理やレンダリング処理前でメモリの消費量の削減が行われていない課題がある。
また、レンダリング処理を並列化した場合であっても、レンダリング処理部に送信する中間データを固定領域サイズで分割する方法では、データサイズが異なるため、レンダリング処理時間にばらつきが生じてしまい、その結果レンダリング処理の並列化の効率が上がらないという課題がある。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、入力される描画命令から効率的に描画処理できる中間データを生成できる仕組みを提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成する本発明の画像処理装置は以下に示す構成を備える。
入力される描画命令に対して、ページをタイル単位の領域に分割したタイルデータを生成する画像処理装置であって、生成される１バンド分の複数のタイルデータのメモリサイズを平均して平均メモリサイズを算出する算出手段と、前記算出手段が算出した平均メモリサイズを用いて生成したタイルデータのメモリサイズを可変調整した中間データを生成する生成手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、入力される描画命令から効率的に描画処理できる中間データを生成できる。
【図面の簡単な説明】
【０００９】
【図１】画像処理装置の構成例を示すブロック図である。
【図２】画像処理装置における画像処理プロセスを説明する図である。
【図３】中間データ生成部におけるデータ処理を説明する模式図である。
【図４】中間データ生成部におけるデータ処理を説明する模式図である。
【図５】画像処理装置の画像処理方法を説明するフローチャートである。
【図６】タイルデータ生成部で生成される中間データを示す図である。
【図７】中間データ生成部がタイル単位に分割した中間データを示す図である。
【図８】タイルデータ合成部による合成／分割処理例を示す図である。
【図９】ラスターデータ生成部によるラスターデータ生成処理を説明する図である。
【図１０】画像処理装置の画像処理方法を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
【００１１】
図１は、本発明の実施形態を示す画像処理装置の構成例を示すブロック図である。この画像処理装置はページ記述言語（ＰＤＬ）を入力とし、ラスター画像データを生成して、当該画像データを出力する装置である。
図１において、入力部１０１、解析部（インタプリタ）１０２、中間データ生成部１０３、ラスターデータ生成部１０４、出力部１０５から構成される。
ここで、入力部１０１は、ページ記述言語（ＰＤＬ）を受け付け、解析部（インタプリタ）１０２は受け付けたページ記述言語（ＰＤＬ）を解析する。中間データ生成部１０３は、解析部１０２による解析結果に基づいて、中間データを生成する。ラスターデータ生成部１０４は、中間データ生成部１０３が生成した中間データを解析し、ラスター画像を生成する。出力部１０５は、ラスターデータ生成部１０４が生成したラスターデータを出力する。また、一実施形態として、ラスターデータ生成部１０４を複数備える構成であってもよい。
図２は、本実施形態を示す画像処理装置における画像処理プロセスを説明する図である。以下、本実施形態を示す画像処理装置において、画像処理プログラムがどのようなデータを処理するかについて説明する。以下、データ処理装置から入力されるページ記述言語（ＰＤＬ）２０１を解析してラスターデータを出力するまでの処理を説明する。ここで、データ処理装置とは、双方向インタフェースを介して通信可能な場合を示すが、双方向インタフェースとしては、ＵＳＢインタフェースやネットワークインタフェースが含まれる。
【００１２】
図２において、入力されるページ記述言語（ＰＤＬ）２０１を解析部（インタプリタ）２０２で受信し、描画命令２０３を生成する。生成された描画命令２０３は、中間データ生成部２０４に出力される。中間データ生成部２０４は、解析部２０２から受信した描画命令２０３を受信し、中間データ２０５を生成して、ラスターデータ生成部２０６へ出力する。ラスターデータ生成部２０６は、中間データ生成部２０４が生成した中間データ２０５を受信し、当該中間データ２０５をラスターデータ２０７へ変換する。
解析部２０２において、印刷データ受信部２０８は、ページ記述言語（ＰＤＬ）２０１を受信し、処理を開始する。印刷データ解析部２０９は、印刷データ受信部２０８が受信したページ記述言語（ＰＤＬ）２０１を描画命令送信部２１０へ渡す。
印刷データ解析部２０９は、印刷データ受信部２０８が受信したページ記述言語（ＰＤＬ）２０１を解析し、描画命令２０３を作成する。描画命令送信部２１０は、印刷データ解析部２０９で生成された描画命令２０３を中間データ生成部２０４の描画命令受信部２１１に対して送信する。
中間データ生成部２０４において、描画命令受信部２１１は、描画命令２０３を受信し処理を開始する。
【００１３】
描画データ蓄積部２１２は、描画命令受信部２１１で受信した描画命令２０３を、文字や図形や画像である描画オブジェクトとして１ページ分蓄積する。なお、画像処理装置は、ハードウエアとしてＣＰＵ、ＲＡＭを備え、ＣＰＵがそのＲＡＭ上に確保される領域を使用して中間データ生成処理を行う。したがって、上記描画オブジェクトはＲＡＭ上に確保される領域に蓄積される。
そして、描画データ蓄積部２１２がページ単位で蓄積した描画オブジェクトをラインデータ解析部２１３へ渡す。ラインデータ解析部２１３は、１ページ分の描画オブジェクトに対し、１ラインずつ１バンド分の描画オブジェクトデータを解析する。オブジェクトデータ解析部２１４は、１バンド分の解析結果に描画オブジェクトデータが存在するか解析する。
【００１４】
タイルデータ生成部２１５は、第１の生成処理として１ラインずつ描画オブジェクトデータの解析を行った１バンド分の結果を元に、中間データであるエッジ情報と、合成情報と、塗り情報を生成する。ここで、描画オブジェクトデータが存在した場合は、タイルデータ生成部２１５は、固定領域サイズでタイル単位に分割した中間データを生成する。一方、描画オブジェクトデータが存在しなかった場合、タイルデータ生成部２１５は、１バンドの中間データを生成する。
【００１５】
平均メモリ算出部２１６は、タイルデータ生成部２１５で作成された１バンド分のタイル単位の各中間データのメモリサイズに対し、平均メモリサイズ値を算出する。平均メモリサイズ値の算出は、作成された１バンド分のタイル単位の各中間データのメモリサイズを合計し、オブジェクトデータが存在する中間データの個数で割った数値である。なお平均メモリサイズは、装置により変更することも可能である。ここで、算出された平均メモリサイズを用いてタイトルデータを記憶するメモリサイズが後述する処理に従って可変調整される。
タイルデータ合成部２１７は、第２の生成処理として上記平均メモリサイズ値を元に、隣り合うタイル単位の中間データを比較し、合成ないし分割を１バンド分の中間データに対し行うことで、描画処理に供する中間データを生成する。
【００１６】
バンドデータ送信部２１８は、タイルデータ生成部２１５ないし、タイルデータ合成部２１７で生成された１バンド分の中間データ２０５をバンドデータ受信部２１９へ送信する。なお作成された１バンド分の中間データはタイル毎に独立しており、タイル単位でレンダリングが可能である。
バンドデータ受信部２１９は、１バンド分の中間データを受信し、処理対象の中間データに対し処理を開始する。
ラスター画像生成部２２０は、第３の生成処理として１バンド分の中間データ２０５をタイル単位の中間データ毎にラスター画像へ変換を行い、ラスターデータ２０７を生成する。
【００１７】
図３は、図２に示した中間データ生成部２０４のデータ処理を説明する模式図である。
本例は、描画オブジェクトデータが存在しない場合のラインデータ解析部２１３、オブジェクトデータ解析部２１４、タイルデータ生成部２１５の中間データ生成処理例である。なお、本処理は、後述する図９に示すＳ１０２からＳ１０７の詳細処理に対応する。
【００１８】
図３の３０１は、Ｓ１０２で描画データ蓄積部２１２により蓄積された１ページ分の描画オブジェクトである。描画オブジェクトは、それぞれ単色塗り矩形３０４と、グラデーション塗り矩形３０５と、単色塗り矩形３０６を保持しているものとする。
図３の３０２は、スキャンラインの実施例を表した１ページ分の描画オブジェクトである。図３の３０３は、描画オブジェクトデータが存在しない１バンド分の中間データ３０７を表している。
【００１９】
図４は、本実施形態を示す画像処理装置の画像処理方法を説明するフローチャートである。本例は、描画オブジェクトデータが存在しない場合のラインデータ解析部２１３、オブジェクトデータ解析部２１４、タイルデータ生成部２１５の中間データ生成処理例である。各ステップは、図１に示したモジュールをＣＰＵがＲＡＭ上で実行することで実現される。なお、説明上、図１に示したモジュールを主体として説明を行う。
【００２０】
まず、Ｓ１０２で、描画データ蓄積部２１２は、描画命令受信部２１１で受信した描画命令２０３を、文字や図形や画像である描画オブジェクトとして１ページ分蓄積する。次に、Ｓ１０３で、１バンド分の描画処理を開始し、ラインデータ解析部２１３は、１ページ分の描画オブジェクトを１ラインずつ１バンド分スキャンする。そして、Ｓ１０４で、オブジェクトデータ解析部２１４が描画オブジェクトデータのエッジ情報と、合成情報と、塗り情報を取得する。そして、Ｓ１０５で、１バンド分の処理が終了したと判断したら、Ｓ１０６へ進む。
そして、Ｓ１０６で、オブジェクトデータ解析部２１４は、スキャンした１バンド分の描画オブジェクトに描画オブジェクトデータが存在するか判断する。描画オブジェクトデータが存在しないとオブジェクトデータ解析部２１４が判断した場合、Ｓ１０7で、タイルデータ生成部２１５は、中間データ３０７で示すようにタイル分割は行わず、１バンド分スキャンした結果に対し中間データを生成して、Ｓ１１２へ進む。
【００２１】
一方、Ｓ１０６で、描画オブジェクトデータが存在するとオブジェクトデータ解析部２１４が判断した場合は、Ｓ１０８へ進む。そして、Ｓ１０８で、タイルデータ生成部２１５が１バンド分の描画オブジェクトを固定の領域サイズであるタイル単位の中間データに分割し、タイル単位の中間データ毎にエッジ情報と、合成情報と、塗り情報を生成する。
【００２２】
図５は、図２に示した中間データ生成部２０４による中間データ生成イメージを示す図である。
本例は、１バンド中に描画オブジェクトデータが存在する場合のタイルデータ生成部２１５、平均メモリ算出部２１６、タイルデータ合成部２１７の中間データ生成イメージ例である。
図５において、中間データ４０１は、Ｓ１０２で描画データ蓄積部２１２により蓄積された１ページ分の描画オブジェクトの１バンド分のデータ４０５を表している。
中間データ４０２は、Ｓ１０８で、タイルデータ生成部２１５が固定領域サイズにタイル単位で分割した１バンド分の中間データ４０６を表しており、タイル単位で分割した中間データａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈ、ｉを表している。
中間データ４０３は、後述するＳ１１１で、固定領域サイズにタイル単位で分割した中間データ４０６を平均メモリ算出部２１６が算出する平均メモリサイズで合成ないし分割して作成された中間データ４０７を表している。
中間データ４０４は、Ｓ１１１で１ページ分の描画オブジェクトに対して固定領域サイズにタイル単位で分割し、平均メモリサイズで合成ないし分割して作成されたタイル単位の中間データを作成した１ページ分の結果を表している。
【００２３】
上記Ｓ１０４以降の処理を図５に対応づけて説明すると、ラインデータ解析部２１３は、１ページ分の描画オブジェクトを１ラインずつ１バンド分スキャンし、描画オブジェクトデータのエッジ情報と、合成情報と、塗り情報を取得する。その後、Ｓ１０６で、オブジェクトデータ解析部２１４は、スキャンした１バンド分の描画オブジェクトに描画オブジェクトデータが存在するか判断する。ここで、描画オブジェクトデータが存在するとオブジェクトデータ解析部２１４が判断した場合、Ｓ１０８で、タイルデータ生成部２１５は、１バンド分スキャンラインした結果に対し１バンド分の中間データを固定領域サイズで分割したタイル単位で図５の中間データ４０２に示す中間データａから中間データｉを生成する。
【００２４】
そして、Ｓ１１０で、Ｓ１０９で平均メモリ算出部２１６がＲＡＭ上に保持した１バンド分のタイル単位の中間データａから中間データｉのメモリサイズより、平均メモリサイズを算出する。そして、Ｓ１１１で、タイルデータ合成部２１７は、平均メモリ算出部２１６が算出した平均メモリサイズで計算を行った１バンド分のデータ４０５に対し隣り合うタイル単位の中間データの比較を行う。
【００２５】
そして、タイルデータ合成部２１７は、隣り合うタイル単位の中間データの比較結果より、中間データの合成ないし分割を行い、図５の中間データ４０３に示すように、中間データＡと、中間データＢと、中間データＣと、中間データＤを生成する。
なお、タイルデータ合成部２１７がタイル単位の中間データを合成する場合、隣り合うタイル単位の中間データを比較し同様のオブジェクトデータ情報が含まれているか確認を行い、平均メモリサイズ内に収まるとき隣り合う中間データを合成する。また、タイルデータ合成部２１７がタイル単位の中間データを分割する場合、タイル単位の中間データが平均メモリサイズを超えるとき、平均メモリサイズ内に収まるように分割を行う。同様に以降の描画オブジェクトに対して１バンド分ごとに処理を実施し、４０４で示すようにバンドごとに図６に示すような中間データを生成する。
図６は、図２に示したタイルデータ生成部２１５で生成される中間データを示す図である。本例は、タイルデータ生成部２１５で生成されるエッジ情報と、合成情報、塗り情報の関連を示している。
【００２６】
図６において、エッジ情報５０１は、単色塗りタイプと、グラデーション塗りタイプの描画オブジェクトデータが重なる塗り領域を表し、合成情報５０２を参照している。また塗り領域の短点端点のＹ座標およびＸ座標を保持することで、塗り領域の位置を特定することができる。
【００２７】
合成情報５０２は、塗り情報から構成され、対応する塗り領域内に存在する描画オブジェクトデータの重なり順序を保持し、塗り情報５０３を参照する。また、合成情報５０２はそれぞれの重なりにおけるラスターオペレーション等の合成演算子を保持する。図６の例では、合成情報５０２は塗り情報５０４と、５０５と、５０６から構成されている。
【００２８】
塗り情報５０３は、描画オブジェクトデータの塗り方法を表現している。例えば、オブジェクトタイプが単色塗りタイプであれば単色の色データとなり、ラスター画像タイプであればラスター画像データとなる。
【００２９】
図７は、図２に示した中間データ生成部２０４が生成するタイル単位に分割した中間データのデータサイズ情報を示す図である。具体的には、図２に示したタイルデータ生成部２１５、平均メモリ算出部２１６、タイルデータ合成部２１７で作成されるタイル単位に分割した中間データのデータサイズ情報の例である。以下、図４に示したＳ１０９とＳ１１０について図７を用いて説明する。
【００３０】
図７において、６０１は、Ｓ１０９で固定領域サイズに分割したタイル単位の中間データ４０６の１バンドのデータサイズを表している。６０２は、Ｓ１１０で中間データサイズ情報６０１を元に算出した平均メモリサイズを表している。６０３は、Ｓ１１１で平均メモリサイズにより合成ないし分割した中間データ４０７のデータサイズを表している。データサイズ６０３は、データサイズ６０１に示した各タイル間でばらついているデータサイズに対してＳ１１１を実行することで、算出した平均メモリサイズ６０２（例えば３５ＫＢ）各タイルのデータサイズを平均化した状態を示している。
【００３１】
中間データサイズ情報６０１と中間データサイズ情報６０３は、それぞれ１バンド分の単位で情報を保持している。中間データサイズ情報６０１の保持している情報は、タイル単位に分割した中間データ数と、オブジェクトデータが含まれる中間データ数と、タイル単位に分割した中間データのそれぞれのメモリサイズである。中間データサイズ情報６０１の保持している情報は、タイル単位に分割した中間データ数と、タイル単位に分割した中間データのそれぞれのメモリサイズである。本実施形態では、単位をＫＢとしているが、単位は任意で変更可能である。
【００３２】
タイルデータ生成部２１５は、Ｓ１０８でラインデータ解析部２１３および、オブジェクトデータ解析部２１４によって解析を行った結果、描画オブジェクトデータが存在すると判断した場合に、固定領域サイズでタイル単位に分割した中間データ４０６を生成する。
そして、Ｓ１０９で生成したタイル単位の中間データ数と、中間データごとの使用メモリサイズである中間データサイズ情報６０１をＲＡＭ上に保持する。ＲＡＭ上に保持した使用メモリサイズより、平均メモリ算出部２１６は、Ｓ１１０で平均メモリサイズ６０２を算出する。
【００３３】
平均メモリ算出部２１６による平均メモリサイズ値の算出処理は、作成された1バンド分の中間データの各タイルのメモリサイズを合計し、オブジェクトデータが存在する中間データの個数で割った数値である。なお、平均メモリサイズは、装置により変更することも可能である。本実施形態の平均メモリサイズ６０２は、1バンド分の中間データの各タイルのメモリサイズを合計し、個数で割った数値の小数点第一位を繰り上げ設定している。
【００３４】
次に、タイルデータ合成部２１７は、Ｓ１１１で平均メモリサイズ６０２を元に、合成ないし分割した中間データ数と中間データ毎のメモリサイズである中間データサイズ情報６０３をＲＡＭ上に保持する。そして、Ｓ１１２で、バンドデータ送信部２１８が１バンド分の中間データをラスターデータ生成部２０６へ出力する。そして、Ｓ１１４で、ラスター画像生成部２２０が図１０に示すレンダリング処理を実行し、Ｓ１１３で、印刷データ解析部２０９が１ページ分の処理が完了したかどうかを判断する。ここで、１ページ分のレンダリング処理が完了していると印刷データ解析部２０９が判断した場合は、本処理を終了し、完了していないと印刷データ解析部２０９が判断した場合は、Ｓ１０３へ戻り同様の処理を繰り返す。
これにより、ラスターデータ生成部１０４は、算出した平均メモリサイズを用いて生成したタイルデータのメモリサイズを可変調整した中間データを生成することができる。そして、可変調整された中間データは、ラスターデータ生成部１０４に出力され、印刷装置のエンジンで画像出力可能なラスターデータに変換される。
【００３５】
図８は、図２に示したタイルデータ合成部２１７による合成／分割処理例を示す図である。本例は、図５に示した中間データ４０１の固定領域サイズで分割された中間データａからｉを合成ないし分割する処理を表している。本処理は、図１０におけるＳ１１１の処理に対応する。
【００３６】
図８において、合成・分割処理７０１は、中間データａと中間データｂの比較を行い、同様の中間データの存在を確認し、合成後に先にＲＡＭ上に保持している平均メモリサイズを超えないか確認する。確認後、平均メモリサイズに収まる場合は、中間データａと中間データｂを合成し、中間データａｂを作成する。
【００３７】
合成・分割処理７０２は、先の処理で合成した中間データａｂと中間データｃとの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断後、平均メモリサイズに収まると判断した場合は、中間データａｂと中間データｃを合成し、中間データＡを作成する。
【００３８】
合成・分割処理７０３は、先の処理で合成した中間データＡと中間データとｄの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断後、平均メモリサイズに収まらないと判断した場合は、前述したような合成処理は実行しない。
【００３９】
合成・分割処理７０４は、先の処理で平均メモリサイズを超えると判断した中間データｄに対し、平均メモリサイズに収まるように中間データの分割を行い、中間データＢと中間データＣを作成する。本実施形態では、中間データｄを中間データＢと中間データＣに2分割しているが、平均メモリサイズにより、分割数は２つ以上になる場合もある。
【００４０】
合成・分割処理７０５は、先の処理で分割した中間データBと合成・分割処理７０２で作成した中間データAの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断後、平均メモリサイズに収まらないと判断した場合は、前述したような合成処理は実行しない。
【００４１】
合成・分割処理７０６は、合成・分割処理７０４で分割した中間データＣと中間データｅの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうか判断する。当該判断後、平均メモリサイズに収まらないと判断した場合は、前述したような合成処理は実行しない。
【００４２】
合成・分割処理７０７は、中間データｅと中間データｆとの比較を行い同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断後、平均メモリサイズに収まると判断した場合は、中間データｅと中間データｆを合成し中間データｅｆを作成する。
【００４３】
合成・分割処理７０８は、先の処理で合成した中間データｅｆと中間データｇとの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断後、平均メモリサイズに収まると判断した場合は、中間データｅｆと中間データｇとを合成し、中間データｅｆｇを作成する。
【００４４】
合成・分割処理７０９は、先の処理で合成した中間データｅｆｇと中間データｈとの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断後、平均メモリサイズに収まると判断した場合は、中間データｅｆｇと中間データｈとを合成し、中間データｅｆｇｈを作成する。
【００４５】
合成・分割処理７１０は、先の処理で合成した中間データｅｆｇｈと中間データｉとの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断で、平均メモリサイズに収まると判断した場合は、中間データｅｆｇｈと中間データｉを合成し中間データＤを作成する。
【００４６】
本実施形態では、必ず隣り合う中間データと比較を実施する場合を示しているが、固定領域サイズでタイル単位に分割した中間データ、合成ないし分割した中間データが平均メモリサイズと同じメモリサイズの場合は、隣り合う中間データと比較を実施しなくてもよい。
【００４７】
図９は、図２に示したラスターデータ生成部２０６のラスターデータ生成処理を説明する図である。以下、バンドデータ受信部２１９で１バンド分の中間データを受信し、ラスター画像を生成する処理を図１０に示すステップに対応づけて説明する。
【００４８】
図１０は、本実施形態を示す画像処理装置の画像処理方法を説明するフローチャートである。本例は、ラスターデータ生成部２０６のラスターデータ生成処理例である。各ステップは、図１に示したモジュールをＣＰＵがＲＡＭ上で実行することで実現される。なお、説明上、図１に示したモジュールを主体として説明を行う。
入力された中間データ２０５は、１バンド分の中間データであり、図６で説明したように、タイル毎の中間データにはエッジ情報と、合成情報と、塗り情報を保持している。そのため、中間データは、タイル毎にそれぞれ独立してラスター画像の生成が可能である。
なお、図９に示す８０１は、図４の１バンド分の中間データ４０２で生成された中間データＡ、Ｂ、Ｃ、Ｄを、直列処理でラスター画像を生成したときのＳ２０２からＳ２０５の処理を表すフローである。
【００４９】
バンドデータ受信部２１９は、Ｓ２０２で１バンド分の中間データを受信した後、ラスター画像生成部２２０は、Ｓ２０３で１バンド分の中間データを取得して、Ｓ２０４で中間データＡをラスター画像へ変換するレンダリング処理を実行する。中間データＡをラスター画像へ変換した後、中間データＢをラスター画像へ変換する。同様に、中間データＢをラスター画像へ変換した後、中間データＣをラスター画像へ変換する。中間データＣをラスター画像へ変換した後、中間データＤをラスター画像へ変換する。
【００５０】
図９の８０２は、図４の４０２で生成された中間データＡ、Ｂ、Ｃ、Ｄを２つのラスターデータ生成部１０４で、ラスター画像を並列処理で生成したときのＳ２０２からＳ２０５の処理を表すフローである。ラスターデータの生成を並列で処理する場合は、本フローをタイル単位で分割した中間データ毎に処理を実施する。
【００５１】
バンドデータ受信部２１９で、Ｓ２０２で、１バンド分の中間データを受信した後、Ｓ２０３で１バンド分の中間データを取得して、ラスター画像生成部２２０は、Ｓ２０４で中間データＡと中間データＢをラスター画像へ変換する。図９の８０２で示すように中間データＡと中間データＢは、中間データＡの方が、先にラスター画像生成処理が終了する。中間データＡをラスター画像へ変換した後、中間データＣをラスター画像へ変換する。同様に中間データＢをラスター画像へ変換した後、中間データＤをラスター画像へ変換する。そして、Ｓ２０５で、バンドデータ受信部２１９がさらに中間データを受信しているかどうかを判断して、受信しているとバンドデータ受信部２１９が判断した場合は、Ｓ２０３へ戻り、同様の処理を繰り返す。
一方、Ｓ２０５で、さらに中間データを受信していないとバンドデータ受信部２１９が判断した場合は、本処理を終了する。
【００５２】
以上の実施形態によれば、入力された描画命令に対して、中間データを生成した後、中間データを描画する画像処理装置において、描画オブジェクトの存在により、中間データの生成方法を変更することによって中間データサイズを削減することができる。
また、入力された描画命令に対して、中間データを生成した後、中間データを描画する画像処理装置において、中間データのサイズを均等にすることで、レンダリング処理の速度向上が期待できる。
【００５３】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【００５４】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００５５】
１０１  入力部
１０２  解析部
１０３  中間データ生成部
１０４  ラスターデータ生成部
１０５  出力部
【図１】
2012232546.tif 000003
【図２】
2012232546.tif 000004
【図３】
2012232546.tif 000005
【図４】
2012232546.tif 000006
【図５】
2012232546.tif 000007
【図６】
2012232546.tif 000008
【図７】
2012232546.tif 000009
【図８】
2012232546.tif 000010
【図９】
2012232546.tif 000011
【図１０】
2012232546.tif 000012