(57)【要約】【課題】  レンダリング処理能力及びバンドメモリ幅に基づきタイルベクタの分割サイズを決定し、省メモリで効率的なレンダリング処理を実現する画像処理装置及びその制御方法、プログラムを提供する。【解決手段】  ラスタ画像データを、設定された第１ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する。ブロックベクタ画像データをラスタ画像データに展開する。処理対象の前記ブロックベクタ画像データを展開に要する予測時間を予測する。予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記第１ブロックサイズよりも小さい第２ブロックサイズのブロックベクタ画像データに再変換する。得られるブロックベクタ画像データを展開して得られるラスタ画像データを画像出力部に出力する。【選択図】  図３
2008146415.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データに対する処理を実行する画像処理装置であって、
ラスタ画像データを、設定された第１ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換手段と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開手段と、
処理対象の前記ブロックベクタ画像データを前記展開手段での展開に要する予測時間を予測する予測手段と、
前記予測手段で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換手段によって、前記第１ブロックサイズよりも小さい第２ブロックサイズのブロックベクタ画像データに再変換する変換制御手段と、
前記変換手段あるいは前記変換制御手段で得られるブロックベクタ画像データを前記展開手段で展開して得られるラスタ画像データを画像出力部に出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記変換手段における前記第１ブロックサイズを設定する設定手段を更に備え、
前記設定手段は、前記画像出力部が備えるメモリ容量に基づいて、前記第１ブロックサイズを設定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記予測手段で予測した予測時間が、予め設定された設定時間以内でない場合、
前記設定手段は、現在設定されている第１ブロックサイズを、それよりも小さい第２ブロックサイズに設定し、
前記変換制御手段は、前記処理対象のブロックベクタ画像データを、前記設定手段で設定された第２ブロックサイズのブロックベクタ画像データに前記変換手段によって再変換する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記変換手段は、前記ラスタ画像データを、第１分割方向で、前記第１ブロックサイズのブロックに分割して、各ブロックにベクトル化処理を実行することで、ブロックベクタ画像データに変換する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記変換制御手段は、前記予測手段で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換手段によって、前記第１分割方向とは異なる第２分割方向で、前記設定された第１ブロックサイズよりも小さい第２ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、該処理対象のブロック画像データを前記第２ブロックサイズのブロックベクタ画像データに再変換する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記予測手段は、処理対象の前記ブロックベクタ画像データに含まれるオブジェクトに関するオブジェクト情報と、前記展開手段の処理能力に基づいて、前記予測時間を予測する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
入力された画像データに対する処理を実行する画像処理装置の制御方法であって、
ラスタ画像データを、設定された第１ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換工程と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
処理対象の前記ブロックベクタ画像データを前記展開工程で展開するに要する時間を予測する予測工程と、
前記予測工程で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換工程によって、前記第１ブロックサイズよりも小さい第２ブロックサイズのブロックベクタ画像データに再変換する変換制御工程と、
前記変換工程あるいは前記変換制御工程で得られるブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを画像出力部に出力する出力工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項８】
入力された画像データに対する処理を実行する画像処理装置の制御をコンピュータに実行させるためのプログラムであって、
ラスタ画像データを、設定された第１ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換工程と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
処理対象の前記ブロックベクタ画像データを前記展開工程で展開するに要する時間を予測する予測工程と、
前記予測工程で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換工程によって、前記第１ブロックサイズよりも小さい第２ブロックサイズのブロックベクタ画像データに再変換する変換制御工程と、
前記変換工程あるいは前記変換制御工程で得られるブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを画像出力部に出力する出力工程と
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された画像データに対する処理を実行する画像処理装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
ネットワーク上に接続され、外部あるいは内部の画像データに対する画像データ処理を実行し、その処理した画像データを出力する画像データ入出力システムが知られている。この画像データ入出力システムとしては、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）と呼ばれるものがある。
【０００３】
近年、ＭＦＰの出力画像に対する高画質化の要求が高まるにつれて、内部で処理するラスタ画像データの高解像度化が進んでいる。また、高画質化要求と並行して更なるシステム処理速度向上も要求されている。
【０００４】
従来、ＭＦＰはスプールデータとしてラスタ画像データを扱っているため、高解像度化に伴いＭＦＰ内のスプールデータサイズが増大する。その結果、システムが必要とするメモリリソース消費量も莫大となっている。
【０００５】
また、ＭＦＰ内のスプールデータをベクタオブジェクトとして保持し、文書検索や画像加工等を行った後にネットワーク経由で外部機器において再利用する、といった高度な機能も要求されている（例えば、特許文献１）。
【特許文献１】特開２００４−２６５３８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＭＦＰの出力画像に対する高画質化に対応するために、本出願人は、ＭＦＰ内のスプールデータを、ある所定のサイズの矩形からなるベクタデータ（タイルベクタ）に対してＭＦＰ機能を実現することを考えている。
【０００７】
ベクタＭＦＰ内部で扱う描画オブジェクトから構成される中間印刷データ（ＤＬ：Ｄｉｓｐｌａｙ  Ｌｉｓｔ）は、従来のＭＦＰ機器内で扱うバンド単位のＤＬデータではなく、所定の等しいサイズに分割された矩形領域（タイル）のＤＬデータで構成される。
【０００８】
これらのタイル単位に分割された描画オブジェクトからなるＤＬデータをプリンタ内でのビットマップデータへ展開（以後、レンダリング）する場合には、レーザビームによる感光ドラムへの走査露光（以後、プリント出力部）と並行して行われる。これは、省メモリ化及びＣＰＵの効率的な利用による印刷速度の向上のためになされるものである。
【０００９】
ここで、紙等の記録材搬送を途中で停止することができないレーザビームプリンタ等の印刷装置においては、プリント出力を１ページ分は連続して行わなくてはならない。そのため、レンダリング速度がプリント出力速度に間に合っている必要があり、間に合わない場合はいくつかのオブジェクトが印刷できなくなる。
【００１０】
ベクタＭＦＰにおいて、レンダリングからプリント出力へのリアルタイムな処理を行う場合には、タイルベクタデータ単位で並列にレンダリングを行う複数のレンダリング部（μＲＩＰ）で順次タイル単位のレンダリングを行う。そして、１バンド分のタイルベクタデータのレンダリングを終えた時点から紙の搬送を開始すると共にプリント出力を行う。また、その１バンド分のデータをプリント出力している間に、次の１バンド分のタイルベクタデータのレンダリングを行い、１バンド分のデータを作成するという処理が行われる。
【００１１】
また、上述のように、レンダリング速度がプリント出力速度に間に合わない場合、次のような問題が生じる。つまり、直前のバンドのデータのプリント出力が終了するまでに、次のバンド分のタイルベクタデータのレンダリングが終了していない場合、いくつかのオブジェクトが印刷できないことになり、印刷不正（以後、この障害をオーバーラン）が発生する。
【００１２】
このようにベクタＭＦＰにおいても、スプールデータをプリントする際に、リアルタイムでレンダリングが必要であることから、ベクタタイルデータのレンダリングが一定時間内で終了することを保証する必要がある。
【００１３】
これに対して、ＰＤＬデータ等のベクタ画像データのレンダリングでは、描画オブジェクトから成る中間バンドデータであるＤＬデータ生成時に、レンダリング時間を予測する。そして、リアルタイムでのレンダリングが保証できないバンドデータを抽出し、予めレンダリング（プレレンダリング）を行う手法が考えられる。
【００１４】
また、ベクタＭＦＰ内部で扱う所定のサイズに分割されたタイルベクタ毎にレンダリング時間を予測し、オーバーランが発生する場合には、対応するタイルラスタデータをプレレンダリングする。これにより、リアルタイムでのレンダリングを保証すると同時に、元のタイルベクタデータもデータオブジェクト再利用のために保持する手法（タイルベクタデータとタイルラスタデータの二重管理）が考えられる。
【００１５】
上述のベクタＭＦＰにおけるプレレンダリングを用いてレンダリング時間保証を行う手法では、ＤＬデータとしてそれぞれ等しいサイズに分割されたタイルベクタデータを用いる。そのため、各タイルベクタデータを構成するオブジェクトの複雑さにばらつきが存在する。
【００１６】
このため、複雑なオブジェクトから構成されるタイルベクタデータはレンダリング時間保障ができず、ラスタタイルデータをプレレンダリングする必要があるが、メモリ容量や処理時間の点でコスト高となる問題が生じる。また、オブジェクトを有さない空タイルをレンダリングする場合はその分レンダリングに無駄なオーバーヘッドが生じるという問題に加え、空タイルとしてオブジェクト分割した分だけスプールデータ量が増加し、メモリ容量的にコスト高となる問題がある。
【００１７】
また、タイル分割サイズに関して、プリント出力時のバンドメモリ幅を考慮した分割が行われておらず、バンドメモリ容量や処理時間の点で無駄が生じるという問題がある。
【００１８】
本発明は上記の課題を解決するためになされたものである。その目的は、レンダリング処理能力及びバンドメモリ幅に基づきタイルベクタの分割サイズを決定し、省メモリで効率的なレンダリング処理を実現する画像処理装置及びその制御方法、プログラムを提供することにある。
【課題を解決するための手段】
【００１９】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、
入力された画像データに対する処理を実行する画像処理装置であって、
ラスタ画像データを、設定された第１ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換手段と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開手段と、
処理対象の前記ブロックベクタ画像データを前記展開手段での展開に要する予測時間を予測する予測手段と、
前記予測手段で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換手段によって、前記第１ブロックサイズよりも小さい第２ブロックサイズのブロックベクタ画像データに再変換する変換制御手段と、
前記変換手段あるいは前記変換制御手段で得られるブロックベクタ画像データを前記展開手段で展開して得られるラスタ画像データを画像出力部に出力する出力手段と
を備える。
【００２０】
また、好ましくは、前記変換手段における前記第１ブロックサイズを設定する設定手段を更に備え、
前記設定手段は、前記画像出力部が備えるメモリ容量に基づいて、前記第１ブロックサイズを設定する。
【００２１】
また、好ましくは、前記予測手段で予測した予測時間が、予め設定された設定時間以内でない場合、
前記設定手段は、現在設定されている第１ブロックサイズを、それよりも小さい第２ブロックサイズに設定し、
前記変換制御手段は、前記処理対象のブロックベクタ画像データを、前記設定手段で設定された第２ブロックサイズのブロックベクタ画像データに前記変換手段によって再変換する。
【００２２】
また、好ましくは、前記変換手段は、前記ラスタ画像データを、第１分割方向で、前記第１ブロックサイズのブロックに分割して、各ブロックにベクトル化処理を実行することで、ブロックベクタ画像データに変換する。
【００２３】
また、好ましくは、前記変換制御手段は、前記予測手段で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換手段によって、前記第１分割方向とは異なる第２分割方向で、前記設定された第１ブロックサイズよりも小さい第２ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、該処理対象のブロック画像データを前記第２ブロックサイズのブロックベクタ画像データに再変換する。
【００２４】
また、好ましくは、前記予測手段は、処理対象の前記ブロックベクタ画像データに含まれるオブジェクトに関するオブジェクト情報と、前記展開手段の処理能力に基づいて、前記予測時間を予測する。
【００２５】
上記の目的を達成するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
入力された画像データに対する処理を実行する画像処理装置の制御方法であって、
ラスタ画像データを、設定された第１ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換工程と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
処理対象の前記ブロックベクタ画像データを前記展開工程で展開するに要する時間を予測する予測工程と、
前記予測工程で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換工程によって、前記第１ブロックサイズよりも小さい第２ブロックサイズのブロックベクタ画像データに再変換する変換制御工程と、
前記変換工程あるいは前記変換制御工程で得られるブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを画像出力部に出力する出力工程と
を備える。
【００２６】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
入力された画像データに対する処理を実行する画像処理装置の制御をコンピュータに実行させるためのプログラムであって、
ラスタ画像データを、設定された第１ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換工程と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
処理対象の前記ブロックベクタ画像データを前記展開工程で展開するに要する時間を予測する予測工程と、
前記予測工程で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換工程によって、前記第１ブロックサイズよりも小さい第２ブロックサイズのブロックベクタ画像データに再変換する変換制御工程と、
前記変換工程あるいは前記変換制御工程で得られるブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを画像出力部に出力する出力工程と
をコンピュータに実行させる。
【発明の効果】
【００２７】
本発明によれば、レンダリング処理能力及びバンドメモリ幅に基づきタイルベクタの分割サイズを決定し、省メモリで効率的なレンダリング処理を実現する画像処理装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２９】
［ＭＦＰ装置概要］
図１は本発明の実施形態の画像処理システムを構成するＭＦＰのコントローラの詳細を示すブロック図である。
【００３０】
ＭＦＰ１０００を制御するコントローラ１は、システムバスブリッジ（ＳＢＢ）２により、ＣＰＵ３、メモリコントローラ（ＭＣ）４、汎用バス６が接続されている。更に、ＳＢＢ２には、タイル／ページベクタ変換部１３、ラスタ／タイルベクタ変換部１４、画像処理部１５、画像データ展開部（ＲＩＰ）１８が接続されている。
【００３１】
ここで、このＲＩＰ１８は、タイルベクタデータをラスタデータ展開することが可能であり、内部には、複数の小画像データ展開部（μＲＩＰ）１８ａ〜１８ｄが構成されている。
【００３２】
ＭＣ４には、システムメモリ（Ｍｅｍｏｒｙ）５が接続されており、画像データを一時記憶するための媒体として使われる。
【００３３】
汎用バス６には、画像データを蓄積するためのＨＤＤ８を制御するハードディスクコントローラ（ＨＤＤＣｏｎｔ）７及び操作部（例えば、ＬＣＤ等から構成されるタッチパネル）１０を制御する操作部コントローラ９が接続されている。更に、汎用バス６には、ＭＦＰ１０００が接続されているネットワーク１２を介して、外部機器間との画像データの転送を行うインターフェースになるネットワークＩ／Ｆ１１が接続されている。
【００３４】
尚、操作部１０では、後述する各種処理の実行指示の入力や、処理結果等を表示するための操作画面が表示され、ユーザは、この操作画面を介して各種操作を実現することができる。
【００３５】
ラスタ／タイルベクタ変換部１４には、画像処理部１５が接続されている。また、画像処理部１５には、スキャナ１６及びプリンタ１７が接続されている。
【００３６】
また、ＳＢＢ２には、ＲＩＰ１８が接続されている。また、ＲＩＰ１８には、ＲＩＰ１８から出力されるデータを記憶するローカルメモリ（ＬｏｃａｌＭｅｍｏｒｙ）１９が接続されている。
【００３７】
コントローラ１でハンドリングされる画像データは、外部機器との入出力はベクタ（ＰＤＬ、ＰＤＦ、ＳＶＧ等）形式の画像データ（以下、ベクタデータとも言う）でインタフェースされる。また、スキャナ１６やプリンタ１７との入出力はラスタ形式の画像データ（以下、ラスタデータとも言う）でインタフェースされる。
【００３８】
タイル／ページベクタ変換部１３では、ページベクタデータからのタイルベクタデータ生成時に、該当タイルベクタデータを、ＲＩＰ１８でのレンダリングするに要する時間を予測するレンダリング時間予測処理を実行する。また、タイル／ページベクタ変換部１３では、入力ページデータのタイルベクタ分割処理を行う。
【００３９】
コントローラ１では、スキャンデータ（ラスタデータ）はラスタ／タイルベクタ変換部１４でタイルベクタデータに変換される。また、このタイルベクタデータからＲＩＰ１８の処理によって得られるタイルＤＬデータは、ＲＩＰ１８に接続されたローカルメモリ１９に記憶される。
【００４０】
従って、システムメモリ５上には、ページベクタデータとタイルベクタデータの２種類の画像のみが記憶される。つまり、画像サイズの大きいラスタデータ及びＤＬデータをシステムメモリ５に記憶する必要がなくなる。そのため、システムメモリ５上で確保しなければならない画像データ領域を削減することができる。
【００４１】
また、ＲＩＰ１８では、ページ単位で処理するのではなく、予め定めたバンドやタイル等の所定サイズのブロック単位を処理領域として処理する方法がしばしば用いられる。この処理領域を、ページよりも小さいバンドやタイル等のブロック単位にすることで、ＲＩＰ１８におけるラスタライズの処理時に必要となる画像データ展開用のメモリ容量を削減することができるという利点がある。更には、ブロック単位の処理を並列動作させることで、ＲＩＰ１８におけるラスタライズの処理を高速化することができるという利点がある。
【００４２】
即ち、例えば、ＲＩＰ１８から出力されるＤＬデータはタイル単位に分割された、タイルＤＬデータで記憶される。そのため、従来のページ単位のページＤＬデータに比べ、非常に少ないメモリ容量で記憶できる。従って、ローカルメモリ１９はオンチップ上に実装することが可能になり、メモリレイテンシを小さくできる。その結果、タイルデータ展開速度を高速化することが可能となる。
【００４３】
また、タイルベクタデータのみを画像データとして、ＨＤＤ８上に記憶すれば良いので、ＨＤＤ８へのアクセス速度のボトルネックが緩和され、データ処理の高速化が図れる。同時に、タイル単位で処理することにより、ＲＩＰ１８のコストダウンも可能となる。
【００４４】
より高い処理能力が要求される場合は、ＲＩＰ１８内に備えるμＲＩＰ１８ａ〜１８ｄを並列に複数実装することで、処理能力を可変にすることができる。このようにすることで、コントローラ１の処理能力がシンプルに調整できることから、スケーラビリティの確保が容易なシステムを構築できる。
【００４５】
尚、本発明では、ネットワークＩ／Ｆ１１及びスキャナ１６がコントローラ１内へ画像データを入力する画像入力部として機能する。また、ネットワークＩ／Ｆ１１及びプリンタ１７が画像データを出力する画像出力部として機能する。
【００４６】
次に、ＭＦＰ１０００が実現可能な各種処理として、プリント動作でのデータフローについて説明する。
【００４７】
図２は本発明の実施形態の画像処理システムでのプリント動作に係るデータフローを示す図である。
【００４８】
尚、このデータフローは、ＣＰＵ３の制御の下、ＭＦＰ１０００を構成する各種構成要素を協調動作させることで実現される。
【００４９】
また、図２中に示す矢印は、各種データフローを示している。特に、実線矢印はラスタデータ（ラスタ画像データ）、破線矢印はタイルベクタデータ（タイルベクタ画像データ）、１点鎖線矢印はページベクタデータ（ページベクタ画像データ）のデータフローを示している。
【００５０】
（Ｓ３１）：ネットワーク１２に接続された外部機器より、汎用バス６に接続されたネットワークＩ／Ｆ１１がページベクタデータを受信する。そして、ＳＢＢ２の先に接続されたＭＣ４を介してシステムメモリ５に転送する。
【００５１】
（Ｓ３２）：システムメモリ５に記憶されたページベクタデータは、タイル／ページベクタ変換部１３より読み出され、タイルベクタ変換処理が実行される。即ち、タイル／ページベクタ変換部１３は、ページベクタデータ内に存在するオブジェクトを所定の大きさのブロック（タイル）内に収まるオブジェクトに分割する。そして、タイル単位のベクタデータ（タイルベクタデータ）を生成する。
【００５２】
（Ｓ３３）：生成されたタイルベクタデータは、ＳＢＢ２を介して再度システムメモリ５に記憶される。
【００５３】
（Ｓ３４）：システムメモリ５に記憶されたタイルベクタデータは、ＨＤＤＣｏｎｔ７とＭＣ４を介して、ＳＢＢ２経由でＨＤＤ８に記憶される。ＨＤＤ８にタイルベクタデータを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、ＭＦＰ１０００内に保存画像データとして記憶したりすることができる。
【００５４】
（Ｓ３５）：ＨＤＤ８に記憶されたタイルベクタデータは、プリンタ１７内のＣＰＵ（不図示）から送られてくるプリンタレディのタイミングに合わせて、ＨＤＤＣｏｎｔ７により読み出される。そして、ＳＢＢ２、ＭＣ４を経由してシステムメモリ５に一時的に記憶される。
【００５５】
読み取ったタイルベクタデータをＨＤＤ８からダイレクトにプリンタ１７へ出力する場合、ＨＤＤ８のアクセススピードが律則したり、汎用バス６のバスの混雑度合によりプリンタ１７に同期して出力することが保証できなくなる。そのため、プリンタ１７に同期してデータ転送を行う前に、システムメモリ５に１ページ分のベクタ画像データをスプールすることにより、リアルタイムなスループットを保証する。
【００５６】
（Ｓ３６）：システムメモリ５に記憶されたタイルベクタデータは、プリンタ１７からコントローラ１に送られる起動信号に従って、ＭＣ４によって読み出され、ＳＢＢ２を介してＲＩＰ１８に転送される。
【００５７】
ＲＩＰ１８では、まず、タイルベクタデータを解析し、タイル単位の描画オブジェクト（タイルＤＬデータ）の生成（インタプリット）を実行する。生成されたタイルＤＬデータはローカルメモリ１９に一旦記憶される。
【００５８】
ＲＩＰ１８はローカルメモリ１９からタイルＤＬデータを読み出して、タイル単位のラスタデータ（タイルラスタデータ）へと展開し、出力する。ここで、本実施形態では、上述のように、ＲＩＰ１８内に４つの小画像データ展開部（μＲＩＰ）１８ａ〜１８ｄを備えている。コントローラ１は、μＲＩＰ１８ａ〜μＲＩＰ１８ｄを並列に動作させることにより、タイルベクタデータの展開を高速に行わせることができる。
【００５９】
（Ｓ３７）：ＲＩＰ１８によって生成されたタイルラスタデータは、画像処理部１５に転送され、例えば、以下の処理が実行される。
【００６０】
１）タイルラスタデータからページラスタデータへの変換処理
２）プリンタの特性に合わせた出力画像の色や濃度の補正処理
３）画像データを量子化して出力画像の階調変換を実行する中間調処理
４）プリンタＩ／Ｆクロックに同期して画像を出力するための周波数変換処理
そして、画像処理部１５で、１）〜４）の画像処理が実行されて得られたラスタデータは、プリンタ１７に転送され、記録媒体上に印刷され出力される。
【００６１】
次に、タイル／ページベクタ変換部１３によるタイルベクタ分割処理について、図３を用いて説明する。
【００６２】
図３は本発明の実施形態のタイルベクタ分割処理を示すフローチャートである。
【００６３】
まず、ステップＳ３００で、ページベクタデータをタイルベクタデータに変換するためのタイルサイズを設定し、その設定したタイルサイズでページベクタデータを分割する。より具体的には、ページベクタデータに対してプリンタ１７の出力バンドメモリ幅（メモリ容量）に基づきバンド単位でのバンド分割処理を行う。尚、プリンタ１７の出力バンドメモリ幅を示すハンドメモリ幅情報は、予めＨＤＤ８に記憶されていても良いし、必要に応じて、プリンタ１７に問い合わせて、プリンタ１７から取得するようにしても良い。そいて、タイルベクタ分割処理では、処理開始時に初期タイルサイズとして、バンドメモリ幅情報を取得して、システムメモリ５に設定する。
【００６４】
本処理は、例えば、図４（ａ）で示すページデータ４００に対して、図４（ｂ）に示すバンド分割を行うことに相当する。
【００６５】
バンド内に収まりきらないオブジェクトは途中で分割し、それぞれのバンドに、その内容を構成する記述を生成する。例えば、文字列（不図示）がバンド内に収まりきらない場合、分割された後続の文字列は別の文字列として、次のバンドに記述を行う。そして、分割された全ての文字列が、タイルベクタデータのタイルサイズに収まるまで繰り返す。文字列をどこで切るかは、フォントの種類、タイルサイズからタイル内に収まる文字数を算出し、その数だけの文字を抽出する。
【００６６】
また、図形（不図示）については、分割図形の描画位置や図形の形、大きさからバンド境界領域と接する部分を算出し、その境界とバンド内に収まっている図形の部分領域で構成される閉領域を新たな図形として記述し直す。
【００６７】
次に、ステップＳ３０１で、ステップＳ３０１で分割して生成された一つの閉領域に対して、レンダリング処理時間を予測する。具体的には、その閉領域が含むオブジェクト数、オブジェクトを構成するコマンド数、オブジェクト属性及びＲＩＰ１８を構成する各μＲＩＰ１８ａ〜１８ｄの処理能力等に基づき、レンダリング処理に要する時間を予測（算出）する。そして、この予測結果である予測時間は、ローカルメモリ１９に保持する。
【００６８】
ここで、上述の一つの閉領域は、図４（ｂ）で示すバンド４０１に相当する。
【００６９】
ステップＳ３０２で、レンダリング時間予測済の閉領域のレンダリング予測時間が予め設定されたレンダリング保証可能な時間（描画保証時間）以内であるか否かを判定する。描画保証時間以内である場合（ステップＳ３０２でＹＥＳ）、ステップＳ３０４へ進む。一方、描画保証時間以内でない場合（ステップＳ３０２でＮＯ）、即ち、レンダリング時間が保証できない閉領域に対しては、ステップＳ３０３へ進み、更なる分割処理を行う。
【００７０】
ステップＳ３０３で、レンダリング処理時間保証できない閉領域に対して、ステップ３００で行ったバンド分割処理の分割方向と直交する方向で、かつ、バンド幅を等分するような分割処理を行い２つのタイル状の閉領域を生成する（タイル分割処理）。つまり、処理対象のバンドサイズのベクタデータを、バンドの閉領域よりも小さい領域である閉領域（タイル）に分割した上で、その分割したタイルサイズで再度ベクタデータを再生成（再変換）する。
【００７１】
これは、図４（ｂ）で示すバンド４０１が、図４（ｃ）で示す分割線４０２によりタイル分割領域４０３及び４０４に分割されることを意味する。タイル分割領域内に収まりきらないオブジェクトは、ステップＳ３００で説明したバンド分割処理と同様、途中で分割しそれぞれのタイル内にその内容を構成する記述を生成する。
【００７２】
タイル分割処理終了後、前述の２つのタイル分割領域それぞれに対して、ステップＳ３０１からステップＳ３０３の各処理を繰り返し、全ての閉領域が描画保証時間でレンダリングできるまで分割処理を行う。これは、例えば、図４（ｃ）で示すタイル分割領域４０３及び４０４を、更に、図４（ｄ）に示す閉領域４０５、４０６、４０７及び４０８を生成することを意味する。
【００７３】
ステップＳ３０４で、ステップＳ３００で分割した全てのバンド領域に対してレンダリング時間予測が行われたか否かを判定する。レンダリング時間予測が行われていない未処理のバンドが存在する場合は、未処理のバンドに対してステップＳ３０１からステップＳ３０３の処理を行う。全てのバンドに対して、レンダリング時間予測が行われたらタイルベクタ分割処理を終了する。全てのバンド領域に対して、タイルベクタ分割処理を行った状態結果を図４（ｅ）に示す。
【００７４】
以上のステップＳ３０１からステップＳ３０４の各ステップにより、プリンタ１７が備える出力バンドメモリ幅に基づき分割された、レンダリング時間が保証されたタイルベクタデータを生成することができる。
【００７５】
以上説明したように、本実施形態によれば、ページベクタデータに対して、プリンタ１７のバンドメモリ容量に基づいたバンド分割を行いつつ、レンダリング処理時間が保証されたタイルベクタデータを生成することが可能となる。これにより、各タイルベクタデータのレンダリング処理時間保証を行うと同時に、タイルベクタデータのプレレンダリング及び無駄なレンダリングを回避し、省メモリで効率的なレンダリング処理が可能となる。
【００７６】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００７７】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００７８】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００８０】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００８１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００８４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施形態の画像処理システムを構成するＭＦＰのコントローラの詳細を示すブロック図である。
【図２】本発明の実施形態の画像処理システムでのプリント動作に係るデータフローを示す図である。
【図３】本発明の実施形態のタイルベクタ分割処理を示すフローチャートである。
【図４】本発明のタイルベクタ分割処理を説明するための図である。
【符号の説明】
【００８６】
１  コントローラ
２  システムバスブリッジ
３  ＣＰＵ
４  メモリコントローラ
５  システムメモリ
６  汎用バス
７  ハードディスクコントローラ
８  ハードディスクドライブ
９  操作部コントローラ
１０  操作部
１１  ネットワークＩ／Ｆ
１２  ネットワーク
１３  タイル／ページベクタ変換部
１４  ラスタ／タイルベクタ変換部
１５  画像処理部
１６  スキャナ
１７  プリンタ
１８  画像データ展開部
１８ａ〜１８ｄ  小画像データ展開部
１９  ローカルメモリ
【図１】
2008146415.tif 000003
【図２】
2008146415.tif 000004
【図３】
2008146415.tif 000005
【図４】
2008146415.tif 000006