説明

画像処理装置、画像処理方法及びプログラム

【課題】 入力される描画命令から効率的に描画処理できる中間データを生成できる。
【解決手段】
入力される描画命令に対して、ページをタイル単位の領域に分割したタイルデータを生成する画像処理装置であって、生成される複数のタイルデータのメモリサイズを平均して平均メモリサイズを算出する(S102〜(S110)。そして、算出した平均メモリサイズを用いて生成したタイルデータのメモリサイズを可変調整した中間データを生成する(S111〜S112)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ページ記述言語に基づく印刷情報に対してバンド処理を行う画像処理装置、画像処理方法及びプログラムに関するものである。
【背景技術】
【0002】
現在、プリンタの印刷機能は高機能化しているにも関わらず、プリンタ本体は低価格化の傾向にある。そのため、プリンタ内でソフトウエアが利用できる資源には制限が発生し、例えば利用するメモリサイズやROMサイズなどは最小化が必須条件となっている。しかし、利用するメモリサイズが削減されるからと言って、従来の印字速度や印字品質を低下させることはできない。
【0003】
そのため従来技術では、レンダリング処理が終了し出力された結果の画像データに対し、軽量化処理や、タイル単位で画像をベクトル化し固定領域サイズで分割処理を行いメモリサイズの消費を抑えることを行っている(特許文献1参照)。また事前に利用できるメモリサイズを計算し確保するといったことを行い(特許文献2参照)、印字速度の低下を行わないようにしている。
【0004】
ただし、従来技術では、入力データの全ての描画命令に対し作成される中間データを固定タイルサイズで生成するため、例えば文字や図形や画像などのオブジェクトデータが存在せず、処理の必要がない個所に関しても、同一の処理を行っている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−146415号公報
【特許文献2】特開平9−34779号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来から印刷データサイズの削減のため、レンダリング処理のメモリ消費量の削減が行われてきた。しかし、レンダリング処理結果に対しメモリの消費量を削減することが中心であり、レンダリング処理やレンダリング処理前でメモリの消費量の削減が行われていない課題がある。
また、レンダリング処理を並列化した場合であっても、レンダリング処理部に送信する中間データを固定領域サイズで分割する方法では、データサイズが異なるため、レンダリング処理時間にばらつきが生じてしまい、その結果レンダリング処理の並列化の効率が上がらないという課題がある。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、入力される描画命令から効率的に描画処理できる中間データを生成できる仕組みを提供することである。
【課題を解決するための手段】
【0007】
上記目的を達成する本発明の画像処理装置は以下に示す構成を備える。
入力される描画命令に対して、ページをタイル単位の領域に分割したタイルデータを生成する画像処理装置であって、生成される1バンド分の複数のタイルデータのメモリサイズを平均して平均メモリサイズを算出する算出手段と、前記算出手段が算出した平均メモリサイズを用いて生成したタイルデータのメモリサイズを可変調整した中間データを生成する生成手段と、
を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、入力される描画命令から効率的に描画処理できる中間データを生成できる。
【図面の簡単な説明】
【0009】
【図1】画像処理装置の構成例を示すブロック図である。
【図2】画像処理装置における画像処理プロセスを説明する図である。
【図3】中間データ生成部におけるデータ処理を説明する模式図である。
【図4】中間データ生成部におけるデータ処理を説明する模式図である。
【図5】画像処理装置の画像処理方法を説明するフローチャートである。
【図6】タイルデータ生成部で生成される中間データを示す図である。
【図7】中間データ生成部がタイル単位に分割した中間データを示す図である。
【図8】タイルデータ合成部による合成/分割処理例を示す図である。
【図9】ラスターデータ生成部によるラスターデータ生成処理を説明する図である。
【図10】画像処理装置の画像処理方法を説明するフローチャートである。
【発明を実施するための形態】
【0010】
次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
【0011】
図1は、本発明の実施形態を示す画像処理装置の構成例を示すブロック図である。この画像処理装置はページ記述言語(PDL)を入力とし、ラスター画像データを生成して、当該画像データを出力する装置である。
図1において、入力部101、解析部(インタプリタ)102、中間データ生成部103、ラスターデータ生成部104、出力部105から構成される。
ここで、入力部101は、ページ記述言語(PDL)を受け付け、解析部(インタプリタ)102は受け付けたページ記述言語(PDL)を解析する。中間データ生成部103は、解析部102による解析結果に基づいて、中間データを生成する。ラスターデータ生成部104は、中間データ生成部103が生成した中間データを解析し、ラスター画像を生成する。出力部105は、ラスターデータ生成部104が生成したラスターデータを出力する。また、一実施形態として、ラスターデータ生成部104を複数備える構成であってもよい。
図2は、本実施形態を示す画像処理装置における画像処理プロセスを説明する図である。以下、本実施形態を示す画像処理装置において、画像処理プログラムがどのようなデータを処理するかについて説明する。以下、データ処理装置から入力されるページ記述言語(PDL)201を解析してラスターデータを出力するまでの処理を説明する。ここで、データ処理装置とは、双方向インタフェースを介して通信可能な場合を示すが、双方向インタフェースとしては、USBインタフェースやネットワークインタフェースが含まれる。
【0012】
図2において、入力されるページ記述言語(PDL)201を解析部(インタプリタ)202で受信し、描画命令203を生成する。生成された描画命令203は、中間データ生成部204に出力される。中間データ生成部204は、解析部202から受信した描画命令203を受信し、中間データ205を生成して、ラスターデータ生成部206へ出力する。ラスターデータ生成部206は、中間データ生成部204が生成した中間データ205を受信し、当該中間データ205をラスターデータ207へ変換する。
解析部202において、印刷データ受信部208は、ページ記述言語(PDL)201を受信し、処理を開始する。印刷データ解析部209は、印刷データ受信部208が受信したページ記述言語(PDL)201を描画命令送信部210へ渡す。
印刷データ解析部209は、印刷データ受信部208が受信したページ記述言語(PDL)201を解析し、描画命令203を作成する。描画命令送信部210は、印刷データ解析部209で生成された描画命令203を中間データ生成部204の描画命令受信部211に対して送信する。
中間データ生成部204において、描画命令受信部211は、描画命令203を受信し処理を開始する。
【0013】
描画データ蓄積部212は、描画命令受信部211で受信した描画命令203を、文字や図形や画像である描画オブジェクトとして1ページ分蓄積する。なお、画像処理装置は、ハードウエアとしてCPU、RAMを備え、CPUがそのRAM上に確保される領域を使用して中間データ生成処理を行う。したがって、上記描画オブジェクトはRAM上に確保される領域に蓄積される。
そして、描画データ蓄積部212がページ単位で蓄積した描画オブジェクトをラインデータ解析部213へ渡す。ラインデータ解析部213は、1ページ分の描画オブジェクトに対し、1ラインずつ1バンド分の描画オブジェクトデータを解析する。オブジェクトデータ解析部214は、1バンド分の解析結果に描画オブジェクトデータが存在するか解析する。
【0014】
タイルデータ生成部215は、第1の生成処理として1ラインずつ描画オブジェクトデータの解析を行った1バンド分の結果を元に、中間データであるエッジ情報と、合成情報と、塗り情報を生成する。ここで、描画オブジェクトデータが存在した場合は、タイルデータ生成部215は、固定領域サイズでタイル単位に分割した中間データを生成する。一方、描画オブジェクトデータが存在しなかった場合、タイルデータ生成部215は、1バンドの中間データを生成する。
【0015】
平均メモリ算出部216は、タイルデータ生成部215で作成された1バンド分のタイル単位の各中間データのメモリサイズに対し、平均メモリサイズ値を算出する。平均メモリサイズ値の算出は、作成された1バンド分のタイル単位の各中間データのメモリサイズを合計し、オブジェクトデータが存在する中間データの個数で割った数値である。なお平均メモリサイズは、装置により変更することも可能である。ここで、算出された平均メモリサイズを用いてタイトルデータを記憶するメモリサイズが後述する処理に従って可変調整される。
タイルデータ合成部217は、第2の生成処理として上記平均メモリサイズ値を元に、隣り合うタイル単位の中間データを比較し、合成ないし分割を1バンド分の中間データに対し行うことで、描画処理に供する中間データを生成する。
【0016】
バンドデータ送信部218は、タイルデータ生成部215ないし、タイルデータ合成部217で生成された1バンド分の中間データ205をバンドデータ受信部219へ送信する。なお作成された1バンド分の中間データはタイル毎に独立しており、タイル単位でレンダリングが可能である。
バンドデータ受信部219は、1バンド分の中間データを受信し、処理対象の中間データに対し処理を開始する。
ラスター画像生成部220は、第3の生成処理として1バンド分の中間データ205をタイル単位の中間データ毎にラスター画像へ変換を行い、ラスターデータ207を生成する。
【0017】
図3は、図2に示した中間データ生成部204のデータ処理を説明する模式図である。
本例は、描画オブジェクトデータが存在しない場合のラインデータ解析部213、オブジェクトデータ解析部214、タイルデータ生成部215の中間データ生成処理例である。なお、本処理は、後述する図9に示すS102からS107の詳細処理に対応する。
【0018】
図3の301は、S102で描画データ蓄積部212により蓄積された1ページ分の描画オブジェクトである。描画オブジェクトは、それぞれ単色塗り矩形304と、グラデーション塗り矩形305と、単色塗り矩形306を保持しているものとする。
図3の302は、スキャンラインの実施例を表した1ページ分の描画オブジェクトである。図3の303は、描画オブジェクトデータが存在しない1バンド分の中間データ307を表している。
【0019】
図4は、本実施形態を示す画像処理装置の画像処理方法を説明するフローチャートである。本例は、描画オブジェクトデータが存在しない場合のラインデータ解析部213、オブジェクトデータ解析部214、タイルデータ生成部215の中間データ生成処理例である。各ステップは、図1に示したモジュールをCPUがRAM上で実行することで実現される。なお、説明上、図1に示したモジュールを主体として説明を行う。
【0020】
まず、S102で、描画データ蓄積部212は、描画命令受信部211で受信した描画命令203を、文字や図形や画像である描画オブジェクトとして1ページ分蓄積する。次に、S103で、1バンド分の描画処理を開始し、ラインデータ解析部213は、1ページ分の描画オブジェクトを1ラインずつ1バンド分スキャンする。そして、S104で、オブジェクトデータ解析部214が描画オブジェクトデータのエッジ情報と、合成情報と、塗り情報を取得する。そして、S105で、1バンド分の処理が終了したと判断したら、S106へ進む。
そして、S106で、オブジェクトデータ解析部214は、スキャンした1バンド分の描画オブジェクトに描画オブジェクトデータが存在するか判断する。描画オブジェクトデータが存在しないとオブジェクトデータ解析部214が判断した場合、S107で、タイルデータ生成部215は、中間データ307で示すようにタイル分割は行わず、1バンド分スキャンした結果に対し中間データを生成して、S112へ進む。
【0021】
一方、S106で、描画オブジェクトデータが存在するとオブジェクトデータ解析部214が判断した場合は、S108へ進む。そして、S108で、タイルデータ生成部215が1バンド分の描画オブジェクトを固定の領域サイズであるタイル単位の中間データに分割し、タイル単位の中間データ毎にエッジ情報と、合成情報と、塗り情報を生成する。
【0022】
図5は、図2に示した中間データ生成部204による中間データ生成イメージを示す図である。
本例は、1バンド中に描画オブジェクトデータが存在する場合のタイルデータ生成部215、平均メモリ算出部216、タイルデータ合成部217の中間データ生成イメージ例である。
図5において、中間データ401は、S102で描画データ蓄積部212により蓄積された1ページ分の描画オブジェクトの1バンド分のデータ405を表している。
中間データ402は、S108で、タイルデータ生成部215が固定領域サイズにタイル単位で分割した1バンド分の中間データ406を表しており、タイル単位で分割した中間データa、b、c、d、e、f、g、h、iを表している。
中間データ403は、後述するS111で、固定領域サイズにタイル単位で分割した中間データ406を平均メモリ算出部216が算出する平均メモリサイズで合成ないし分割して作成された中間データ407を表している。
中間データ404は、S111で1ページ分の描画オブジェクトに対して固定領域サイズにタイル単位で分割し、平均メモリサイズで合成ないし分割して作成されたタイル単位の中間データを作成した1ページ分の結果を表している。
【0023】
上記S104以降の処理を図5に対応づけて説明すると、ラインデータ解析部213は、1ページ分の描画オブジェクトを1ラインずつ1バンド分スキャンし、描画オブジェクトデータのエッジ情報と、合成情報と、塗り情報を取得する。その後、S106で、オブジェクトデータ解析部214は、スキャンした1バンド分の描画オブジェクトに描画オブジェクトデータが存在するか判断する。ここで、描画オブジェクトデータが存在するとオブジェクトデータ解析部214が判断した場合、S108で、タイルデータ生成部215は、1バンド分スキャンラインした結果に対し1バンド分の中間データを固定領域サイズで分割したタイル単位で図5の中間データ402に示す中間データaから中間データiを生成する。
【0024】
そして、S110で、S109で平均メモリ算出部216がRAM上に保持した1バンド分のタイル単位の中間データaから中間データiのメモリサイズより、平均メモリサイズを算出する。そして、S111で、タイルデータ合成部217は、平均メモリ算出部216が算出した平均メモリサイズで計算を行った1バンド分のデータ405に対し隣り合うタイル単位の中間データの比較を行う。
【0025】
そして、タイルデータ合成部217は、隣り合うタイル単位の中間データの比較結果より、中間データの合成ないし分割を行い、図5の中間データ403に示すように、中間データAと、中間データBと、中間データCと、中間データDを生成する。
なお、タイルデータ合成部217がタイル単位の中間データを合成する場合、隣り合うタイル単位の中間データを比較し同様のオブジェクトデータ情報が含まれているか確認を行い、平均メモリサイズ内に収まるとき隣り合う中間データを合成する。また、タイルデータ合成部217がタイル単位の中間データを分割する場合、タイル単位の中間データが平均メモリサイズを超えるとき、平均メモリサイズ内に収まるように分割を行う。同様に以降の描画オブジェクトに対して1バンド分ごとに処理を実施し、404で示すようにバンドごとに図6に示すような中間データを生成する。
図6は、図2に示したタイルデータ生成部215で生成される中間データを示す図である。本例は、タイルデータ生成部215で生成されるエッジ情報と、合成情報、塗り情報の関連を示している。
【0026】
図6において、エッジ情報501は、単色塗りタイプと、グラデーション塗りタイプの描画オブジェクトデータが重なる塗り領域を表し、合成情報502を参照している。また塗り領域の短点端点のY座標およびX座標を保持することで、塗り領域の位置を特定することができる。
【0027】
合成情報502は、塗り情報から構成され、対応する塗り領域内に存在する描画オブジェクトデータの重なり順序を保持し、塗り情報503を参照する。また、合成情報502はそれぞれの重なりにおけるラスターオペレーション等の合成演算子を保持する。図6の例では、合成情報502は塗り情報504と、505と、506から構成されている。
【0028】
塗り情報503は、描画オブジェクトデータの塗り方法を表現している。例えば、オブジェクトタイプが単色塗りタイプであれば単色の色データとなり、ラスター画像タイプであればラスター画像データとなる。
【0029】
図7は、図2に示した中間データ生成部204が生成するタイル単位に分割した中間データのデータサイズ情報を示す図である。具体的には、図2に示したタイルデータ生成部215、平均メモリ算出部216、タイルデータ合成部217で作成されるタイル単位に分割した中間データのデータサイズ情報の例である。以下、図4に示したS109とS110について図7を用いて説明する。
【0030】
図7において、601は、S109で固定領域サイズに分割したタイル単位の中間データ406の1バンドのデータサイズを表している。602は、S110で中間データサイズ情報601を元に算出した平均メモリサイズを表している。603は、S111で平均メモリサイズにより合成ないし分割した中間データ407のデータサイズを表している。データサイズ603は、データサイズ601に示した各タイル間でばらついているデータサイズに対してS111を実行することで、算出した平均メモリサイズ602(例えば35KB)各タイルのデータサイズを平均化した状態を示している。
【0031】
中間データサイズ情報601と中間データサイズ情報603は、それぞれ1バンド分の単位で情報を保持している。中間データサイズ情報601の保持している情報は、タイル単位に分割した中間データ数と、オブジェクトデータが含まれる中間データ数と、タイル単位に分割した中間データのそれぞれのメモリサイズである。中間データサイズ情報601の保持している情報は、タイル単位に分割した中間データ数と、タイル単位に分割した中間データのそれぞれのメモリサイズである。本実施形態では、単位をKBとしているが、単位は任意で変更可能である。
【0032】
タイルデータ生成部215は、S108でラインデータ解析部213および、オブジェクトデータ解析部214によって解析を行った結果、描画オブジェクトデータが存在すると判断した場合に、固定領域サイズでタイル単位に分割した中間データ406を生成する。
そして、S109で生成したタイル単位の中間データ数と、中間データごとの使用メモリサイズである中間データサイズ情報601をRAM上に保持する。RAM上に保持した使用メモリサイズより、平均メモリ算出部216は、S110で平均メモリサイズ602を算出する。
【0033】
平均メモリ算出部216による平均メモリサイズ値の算出処理は、作成された1バンド分の中間データの各タイルのメモリサイズを合計し、オブジェクトデータが存在する中間データの個数で割った数値である。なお、平均メモリサイズは、装置により変更することも可能である。本実施形態の平均メモリサイズ602は、1バンド分の中間データの各タイルのメモリサイズを合計し、個数で割った数値の小数点第一位を繰り上げ設定している。
【0034】
次に、タイルデータ合成部217は、S111で平均メモリサイズ602を元に、合成ないし分割した中間データ数と中間データ毎のメモリサイズである中間データサイズ情報603をRAM上に保持する。そして、S112で、バンドデータ送信部218が1バンド分の中間データをラスターデータ生成部206へ出力する。そして、S114で、ラスター画像生成部220が図10に示すレンダリング処理を実行し、S113で、印刷データ解析部209が1ページ分の処理が完了したかどうかを判断する。ここで、1ページ分のレンダリング処理が完了していると印刷データ解析部209が判断した場合は、本処理を終了し、完了していないと印刷データ解析部209が判断した場合は、S103へ戻り同様の処理を繰り返す。
これにより、ラスターデータ生成部104は、算出した平均メモリサイズを用いて生成したタイルデータのメモリサイズを可変調整した中間データを生成することができる。そして、可変調整された中間データは、ラスターデータ生成部104に出力され、印刷装置のエンジンで画像出力可能なラスターデータに変換される。
【0035】
図8は、図2に示したタイルデータ合成部217による合成/分割処理例を示す図である。本例は、図5に示した中間データ401の固定領域サイズで分割された中間データaからiを合成ないし分割する処理を表している。本処理は、図10におけるS111の処理に対応する。
【0036】
図8において、合成・分割処理701は、中間データaと中間データbの比較を行い、同様の中間データの存在を確認し、合成後に先にRAM上に保持している平均メモリサイズを超えないか確認する。確認後、平均メモリサイズに収まる場合は、中間データaと中間データbを合成し、中間データabを作成する。
【0037】
合成・分割処理702は、先の処理で合成した中間データabと中間データcとの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断後、平均メモリサイズに収まると判断した場合は、中間データabと中間データcを合成し、中間データAを作成する。
【0038】
合成・分割処理703は、先の処理で合成した中間データAと中間データとdの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断後、平均メモリサイズに収まらないと判断した場合は、前述したような合成処理は実行しない。
【0039】
合成・分割処理704は、先の処理で平均メモリサイズを超えると判断した中間データdに対し、平均メモリサイズに収まるように中間データの分割を行い、中間データBと中間データCを作成する。本実施形態では、中間データdを中間データBと中間データCに2分割しているが、平均メモリサイズにより、分割数は2つ以上になる場合もある。
【0040】
合成・分割処理705は、先の処理で分割した中間データBと合成・分割処理702で作成した中間データAの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断後、平均メモリサイズに収まらないと判断した場合は、前述したような合成処理は実行しない。
【0041】
合成・分割処理706は、合成・分割処理704で分割した中間データCと中間データeの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうか判断する。当該判断後、平均メモリサイズに収まらないと判断した場合は、前述したような合成処理は実行しない。
【0042】
合成・分割処理707は、中間データeと中間データfとの比較を行い同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断後、平均メモリサイズに収まると判断した場合は、中間データeと中間データfを合成し中間データefを作成する。
【0043】
合成・分割処理708は、先の処理で合成した中間データefと中間データgとの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断後、平均メモリサイズに収まると判断した場合は、中間データefと中間データgとを合成し、中間データefgを作成する。
【0044】
合成・分割処理709は、先の処理で合成した中間データefgと中間データhとの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断後、平均メモリサイズに収まると判断した場合は、中間データefgと中間データhとを合成し、中間データefghを作成する。
【0045】
合成・分割処理710は、先の処理で合成した中間データefghと中間データiとの比較を行い、同様の中間データの存在を確認し、合成後に平均メモリサイズを超えないかどうかを判断する。当該判断で、平均メモリサイズに収まると判断した場合は、中間データefghと中間データiを合成し中間データDを作成する。
【0046】
本実施形態では、必ず隣り合う中間データと比較を実施する場合を示しているが、固定領域サイズでタイル単位に分割した中間データ、合成ないし分割した中間データが平均メモリサイズと同じメモリサイズの場合は、隣り合う中間データと比較を実施しなくてもよい。
【0047】
図9は、図2に示したラスターデータ生成部206のラスターデータ生成処理を説明する図である。以下、バンドデータ受信部219で1バンド分の中間データを受信し、ラスター画像を生成する処理を図10に示すステップに対応づけて説明する。
【0048】
図10は、本実施形態を示す画像処理装置の画像処理方法を説明するフローチャートである。本例は、ラスターデータ生成部206のラスターデータ生成処理例である。各ステップは、図1に示したモジュールをCPUがRAM上で実行することで実現される。なお、説明上、図1に示したモジュールを主体として説明を行う。
入力された中間データ205は、1バンド分の中間データであり、図6で説明したように、タイル毎の中間データにはエッジ情報と、合成情報と、塗り情報を保持している。そのため、中間データは、タイル毎にそれぞれ独立してラスター画像の生成が可能である。
なお、図9に示す801は、図4の1バンド分の中間データ402で生成された中間データA、B、C、Dを、直列処理でラスター画像を生成したときのS202からS205の処理を表すフローである。
【0049】
バンドデータ受信部219は、S202で1バンド分の中間データを受信した後、ラスター画像生成部220は、S203で1バンド分の中間データを取得して、S204で中間データAをラスター画像へ変換するレンダリング処理を実行する。中間データAをラスター画像へ変換した後、中間データBをラスター画像へ変換する。同様に、中間データBをラスター画像へ変換した後、中間データCをラスター画像へ変換する。中間データCをラスター画像へ変換した後、中間データDをラスター画像へ変換する。
【0050】
図9の802は、図4の402で生成された中間データA、B、C、Dを2つのラスターデータ生成部104で、ラスター画像を並列処理で生成したときのS202からS205の処理を表すフローである。ラスターデータの生成を並列で処理する場合は、本フローをタイル単位で分割した中間データ毎に処理を実施する。
【0051】
バンドデータ受信部219で、S202で、1バンド分の中間データを受信した後、S203で1バンド分の中間データを取得して、ラスター画像生成部220は、S204で中間データAと中間データBをラスター画像へ変換する。図9の802で示すように中間データAと中間データBは、中間データAの方が、先にラスター画像生成処理が終了する。中間データAをラスター画像へ変換した後、中間データCをラスター画像へ変換する。同様に中間データBをラスター画像へ変換した後、中間データDをラスター画像へ変換する。そして、S205で、バンドデータ受信部219がさらに中間データを受信しているかどうかを判断して、受信しているとバンドデータ受信部219が判断した場合は、S203へ戻り、同様の処理を繰り返す。
一方、S205で、さらに中間データを受信していないとバンドデータ受信部219が判断した場合は、本処理を終了する。
【0052】
以上の実施形態によれば、入力された描画命令に対して、中間データを生成した後、中間データを描画する画像処理装置において、描画オブジェクトの存在により、中間データの生成方法を変更することによって中間データサイズを削減することができる。
また、入力された描画命令に対して、中間データを生成した後、中間データを描画する画像処理装置において、中間データのサイズを均等にすることで、レンダリング処理の速度向上が期待できる。
【0053】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア(プログラム)をパソコン(コンピュータ)等の処理装置(CPU、プロセッサ)にて実行することでも実現できる。
【0054】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【0055】
101 入力部
102 解析部
103 中間データ生成部
104 ラスターデータ生成部
105 出力部

【特許請求の範囲】
【請求項1】
入力される描画命令に対して、ページをタイル単位の領域に分割したタイルデータを生成する画像処理装置であって、
生成される1バンド分の複数のタイルデータのメモリサイズを平均して平均メモリサイズを算出する算出手段と、
前記算出手段が算出した平均メモリサイズを用いて生成したタイルデータのメモリサイズを可変調整した中間データを生成する生成手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
入力される描画命令に対して、ページをタイル単位の領域に分割して処理する画像処理装置であって、
前記描画命令を1ラインずつ解析して1バンド中に描画オブジェクトが存在するかどうかを判断する判断手段と、
前記描画オブジェクトが存在すると判断した場合、前記描画命令を解析して得られる描画オブジェクトからタイル単位のタイルデータを生成する第1の生成手段と、
前記第1の生成手段が生成する複数のタイルデータのメモリサイズを平均して平均メモリサイズを算出する算出手段と、
前記算出手段が算出した平均メモリサイズを用いて、前記第1の生成手段が生成したタイルデータのメモリサイズを可変調整する調整手段と、
前記調整手段が可変調整したタイルデータまたは前記描画オブジェクトが存在しないと判断した場合に出力されるバンドデータから描画処理に供する中間データを生成する第2の生成手段と、
を備えることを特徴とする画像処理装置。
【請求項3】
前記第2の生成手段が生成した中間データからラスターデータを生成する第3の生成手段を備えることを特徴とする請求項2記載の画像処理装置。
【請求項4】
前記調整手段は、前記平均メモリサイズよりもメモリサイズが大きいタイルデータを複数のタイルデータに分割し、前記平均メモリサイズよりもメモリサイズが小さい複数のタイルデータを1つのタイルデータに合成することにより前記第1の生成手段が生成したタイルデータのメモリサイズを可変調整することを特徴とする請求項3記載の画像処理装置。
【請求項5】
入力される描画命令に対して、ページをタイル単位の領域に分割したタイルデータを生成する画像処理装置における画像処理方法であって、
生成される1バンド分の複数のタイルデータのメモリサイズを平均して平均メモリサイズを算出する算出工程と、
前記算出工程が算出した平均メモリサイズを用いて生成したタイルデータのメモリサイズを可変調整した中間データを生成する生成工程と、
を備えることを特徴とする画像処理方法。
【請求項6】
請求項5に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−232546(P2012−232546A)
【公開日】平成24年11月29日(2012.11.29)
【国際特許分類】
【出願番号】特願2011−104132(P2011−104132)
【出願日】平成23年5月9日(2011.5.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】