JP2008146415A - 画像処理装置及びその制御方法、プログラム - Google Patents
画像処理装置及びその制御方法、プログラム Download PDFInfo
- Publication number
- JP2008146415A JP2008146415A JP2006333865A JP2006333865A JP2008146415A JP 2008146415 A JP2008146415 A JP 2008146415A JP 2006333865 A JP2006333865 A JP 2006333865A JP 2006333865 A JP2006333865 A JP 2006333865A JP 2008146415 A JP2008146415 A JP 2008146415A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- block
- block vector
- conversion
- block size
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Generation (AREA)
- Editing Of Facsimile Originals (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】 レンダリング処理能力及びバンドメモリ幅に基づきタイルベクタの分割サイズを決定し、省メモリで効率的なレンダリング処理を実現する画像処理装置及びその制御方法、プログラムを提供する。
【解決手段】 ラスタ画像データを、設定された第1ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する。ブロックベクタ画像データをラスタ画像データに展開する。処理対象の前記ブロックベクタ画像データを展開に要する予測時間を予測する。予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記第1ブロックサイズよりも小さい第2ブロックサイズのブロックベクタ画像データに再変換する。得られるブロックベクタ画像データを展開して得られるラスタ画像データを画像出力部に出力する。
【選択図】 図3
【解決手段】 ラスタ画像データを、設定された第1ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する。ブロックベクタ画像データをラスタ画像データに展開する。処理対象の前記ブロックベクタ画像データを展開に要する予測時間を予測する。予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記第1ブロックサイズよりも小さい第2ブロックサイズのブロックベクタ画像データに再変換する。得られるブロックベクタ画像データを展開して得られるラスタ画像データを画像出力部に出力する。
【選択図】 図3
Description
本発明は、入力された画像データに対する処理を実行する画像処理装置及びその制御方法、プログラムに関するものである。
ネットワーク上に接続され、外部あるいは内部の画像データに対する画像データ処理を実行し、その処理した画像データを出力する画像データ入出力システムが知られている。この画像データ入出力システムとしては、MFP(Multi Function Peripheral)と呼ばれるものがある。
近年、MFPの出力画像に対する高画質化の要求が高まるにつれて、内部で処理するラスタ画像データの高解像度化が進んでいる。また、高画質化要求と並行して更なるシステム処理速度向上も要求されている。
従来、MFPはスプールデータとしてラスタ画像データを扱っているため、高解像度化に伴いMFP内のスプールデータサイズが増大する。その結果、システムが必要とするメモリリソース消費量も莫大となっている。
また、MFP内のスプールデータをベクタオブジェクトとして保持し、文書検索や画像加工等を行った後にネットワーク経由で外部機器において再利用する、といった高度な機能も要求されている(例えば、特許文献1)。
特開2004−265384号公報
MFPの出力画像に対する高画質化に対応するために、本出願人は、MFP内のスプールデータを、ある所定のサイズの矩形からなるベクタデータ(タイルベクタ)に対してMFP機能を実現することを考えている。
ベクタMFP内部で扱う描画オブジェクトから構成される中間印刷データ(DL:Display List)は、従来のMFP機器内で扱うバンド単位のDLデータではなく、所定の等しいサイズに分割された矩形領域(タイル)のDLデータで構成される。
これらのタイル単位に分割された描画オブジェクトからなるDLデータをプリンタ内でのビットマップデータへ展開(以後、レンダリング)する場合には、レーザビームによる感光ドラムへの走査露光(以後、プリント出力部)と並行して行われる。これは、省メモリ化及びCPUの効率的な利用による印刷速度の向上のためになされるものである。
ここで、紙等の記録材搬送を途中で停止することができないレーザビームプリンタ等の印刷装置においては、プリント出力を1ページ分は連続して行わなくてはならない。そのため、レンダリング速度がプリント出力速度に間に合っている必要があり、間に合わない場合はいくつかのオブジェクトが印刷できなくなる。
ベクタMFPにおいて、レンダリングからプリント出力へのリアルタイムな処理を行う場合には、タイルベクタデータ単位で並列にレンダリングを行う複数のレンダリング部(μRIP)で順次タイル単位のレンダリングを行う。そして、1バンド分のタイルベクタデータのレンダリングを終えた時点から紙の搬送を開始すると共にプリント出力を行う。また、その1バンド分のデータをプリント出力している間に、次の1バンド分のタイルベクタデータのレンダリングを行い、1バンド分のデータを作成するという処理が行われる。
また、上述のように、レンダリング速度がプリント出力速度に間に合わない場合、次のような問題が生じる。つまり、直前のバンドのデータのプリント出力が終了するまでに、次のバンド分のタイルベクタデータのレンダリングが終了していない場合、いくつかのオブジェクトが印刷できないことになり、印刷不正(以後、この障害をオーバーラン)が発生する。
このようにベクタMFPにおいても、スプールデータをプリントする際に、リアルタイムでレンダリングが必要であることから、ベクタタイルデータのレンダリングが一定時間内で終了することを保証する必要がある。
これに対して、PDLデータ等のベクタ画像データのレンダリングでは、描画オブジェクトから成る中間バンドデータであるDLデータ生成時に、レンダリング時間を予測する。そして、リアルタイムでのレンダリングが保証できないバンドデータを抽出し、予めレンダリング(プレレンダリング)を行う手法が考えられる。
また、ベクタMFP内部で扱う所定のサイズに分割されたタイルベクタ毎にレンダリング時間を予測し、オーバーランが発生する場合には、対応するタイルラスタデータをプレレンダリングする。これにより、リアルタイムでのレンダリングを保証すると同時に、元のタイルベクタデータもデータオブジェクト再利用のために保持する手法(タイルベクタデータとタイルラスタデータの二重管理)が考えられる。
上述のベクタMFPにおけるプレレンダリングを用いてレンダリング時間保証を行う手法では、DLデータとしてそれぞれ等しいサイズに分割されたタイルベクタデータを用いる。そのため、各タイルベクタデータを構成するオブジェクトの複雑さにばらつきが存在する。
このため、複雑なオブジェクトから構成されるタイルベクタデータはレンダリング時間保障ができず、ラスタタイルデータをプレレンダリングする必要があるが、メモリ容量や処理時間の点でコスト高となる問題が生じる。また、オブジェクトを有さない空タイルをレンダリングする場合はその分レンダリングに無駄なオーバーヘッドが生じるという問題に加え、空タイルとしてオブジェクト分割した分だけスプールデータ量が増加し、メモリ容量的にコスト高となる問題がある。
また、タイル分割サイズに関して、プリント出力時のバンドメモリ幅を考慮した分割が行われておらず、バンドメモリ容量や処理時間の点で無駄が生じるという問題がある。
本発明は上記の課題を解決するためになされたものである。その目的は、レンダリング処理能力及びバンドメモリ幅に基づきタイルベクタの分割サイズを決定し、省メモリで効率的なレンダリング処理を実現する画像処理装置及びその制御方法、プログラムを提供することにある。
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、
入力された画像データに対する処理を実行する画像処理装置であって、
ラスタ画像データを、設定された第1ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換手段と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開手段と、
処理対象の前記ブロックベクタ画像データを前記展開手段での展開に要する予測時間を予測する予測手段と、
前記予測手段で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換手段によって、前記第1ブロックサイズよりも小さい第2ブロックサイズのブロックベクタ画像データに再変換する変換制御手段と、
前記変換手段あるいは前記変換制御手段で得られるブロックベクタ画像データを前記展開手段で展開して得られるラスタ画像データを画像出力部に出力する出力手段と
を備える。
入力された画像データに対する処理を実行する画像処理装置であって、
ラスタ画像データを、設定された第1ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換手段と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開手段と、
処理対象の前記ブロックベクタ画像データを前記展開手段での展開に要する予測時間を予測する予測手段と、
前記予測手段で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換手段によって、前記第1ブロックサイズよりも小さい第2ブロックサイズのブロックベクタ画像データに再変換する変換制御手段と、
前記変換手段あるいは前記変換制御手段で得られるブロックベクタ画像データを前記展開手段で展開して得られるラスタ画像データを画像出力部に出力する出力手段と
を備える。
また、好ましくは、前記変換手段における前記第1ブロックサイズを設定する設定手段を更に備え、
前記設定手段は、前記画像出力部が備えるメモリ容量に基づいて、前記第1ブロックサイズを設定する。
前記設定手段は、前記画像出力部が備えるメモリ容量に基づいて、前記第1ブロックサイズを設定する。
また、好ましくは、前記予測手段で予測した予測時間が、予め設定された設定時間以内でない場合、
前記設定手段は、現在設定されている第1ブロックサイズを、それよりも小さい第2ブロックサイズに設定し、
前記変換制御手段は、前記処理対象のブロックベクタ画像データを、前記設定手段で設定された第2ブロックサイズのブロックベクタ画像データに前記変換手段によって再変換する。
前記設定手段は、現在設定されている第1ブロックサイズを、それよりも小さい第2ブロックサイズに設定し、
前記変換制御手段は、前記処理対象のブロックベクタ画像データを、前記設定手段で設定された第2ブロックサイズのブロックベクタ画像データに前記変換手段によって再変換する。
また、好ましくは、前記変換手段は、前記ラスタ画像データを、第1分割方向で、前記第1ブロックサイズのブロックに分割して、各ブロックにベクトル化処理を実行することで、ブロックベクタ画像データに変換する。
また、好ましくは、前記変換制御手段は、前記予測手段で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換手段によって、前記第1分割方向とは異なる第2分割方向で、前記設定された第1ブロックサイズよりも小さい第2ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、該処理対象のブロック画像データを前記第2ブロックサイズのブロックベクタ画像データに再変換する。
また、好ましくは、前記予測手段は、処理対象の前記ブロックベクタ画像データに含まれるオブジェクトに関するオブジェクト情報と、前記展開手段の処理能力に基づいて、前記予測時間を予測する。
上記の目的を達成するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
入力された画像データに対する処理を実行する画像処理装置の制御方法であって、
ラスタ画像データを、設定された第1ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換工程と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
処理対象の前記ブロックベクタ画像データを前記展開工程で展開するに要する時間を予測する予測工程と、
前記予測工程で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換工程によって、前記第1ブロックサイズよりも小さい第2ブロックサイズのブロックベクタ画像データに再変換する変換制御工程と、
前記変換工程あるいは前記変換制御工程で得られるブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを画像出力部に出力する出力工程と
を備える。
入力された画像データに対する処理を実行する画像処理装置の制御方法であって、
ラスタ画像データを、設定された第1ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換工程と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
処理対象の前記ブロックベクタ画像データを前記展開工程で展開するに要する時間を予測する予測工程と、
前記予測工程で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換工程によって、前記第1ブロックサイズよりも小さい第2ブロックサイズのブロックベクタ画像データに再変換する変換制御工程と、
前記変換工程あるいは前記変換制御工程で得られるブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを画像出力部に出力する出力工程と
を備える。
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
入力された画像データに対する処理を実行する画像処理装置の制御をコンピュータに実行させるためのプログラムであって、
ラスタ画像データを、設定された第1ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換工程と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
処理対象の前記ブロックベクタ画像データを前記展開工程で展開するに要する時間を予測する予測工程と、
前記予測工程で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換工程によって、前記第1ブロックサイズよりも小さい第2ブロックサイズのブロックベクタ画像データに再変換する変換制御工程と、
前記変換工程あるいは前記変換制御工程で得られるブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを画像出力部に出力する出力工程と
をコンピュータに実行させる。
入力された画像データに対する処理を実行する画像処理装置の制御をコンピュータに実行させるためのプログラムであって、
ラスタ画像データを、設定された第1ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換工程と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
処理対象の前記ブロックベクタ画像データを前記展開工程で展開するに要する時間を予測する予測工程と、
前記予測工程で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換工程によって、前記第1ブロックサイズよりも小さい第2ブロックサイズのブロックベクタ画像データに再変換する変換制御工程と、
前記変換工程あるいは前記変換制御工程で得られるブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを画像出力部に出力する出力工程と
をコンピュータに実行させる。
本発明によれば、レンダリング処理能力及びバンドメモリ幅に基づきタイルベクタの分割サイズを決定し、省メモリで効率的なレンダリング処理を実現する画像処理装置及びその制御方法、プログラムを提供できる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
[MFP装置概要]
図1は本発明の実施形態の画像処理システムを構成するMFPのコントローラの詳細を示すブロック図である。
図1は本発明の実施形態の画像処理システムを構成するMFPのコントローラの詳細を示すブロック図である。
MFP1000を制御するコントローラ1は、システムバスブリッジ(SBB)2により、CPU3、メモリコントローラ(MC)4、汎用バス6が接続されている。更に、SBB2には、タイル/ページベクタ変換部13、ラスタ/タイルベクタ変換部14、画像処理部15、画像データ展開部(RIP)18が接続されている。
ここで、このRIP18は、タイルベクタデータをラスタデータ展開することが可能であり、内部には、複数の小画像データ展開部(μRIP)18a〜18dが構成されている。
MC4には、システムメモリ(Memory)5が接続されており、画像データを一時記憶するための媒体として使われる。
汎用バス6には、画像データを蓄積するためのHDD8を制御するハードディスクコントローラ(HDDCont)7及び操作部(例えば、LCD等から構成されるタッチパネル)10を制御する操作部コントローラ9が接続されている。更に、汎用バス6には、MFP1000が接続されているネットワーク12を介して、外部機器間との画像データの転送を行うインターフェースになるネットワークI/F11が接続されている。
尚、操作部10では、後述する各種処理の実行指示の入力や、処理結果等を表示するための操作画面が表示され、ユーザは、この操作画面を介して各種操作を実現することができる。
ラスタ/タイルベクタ変換部14には、画像処理部15が接続されている。また、画像処理部15には、スキャナ16及びプリンタ17が接続されている。
また、SBB2には、RIP18が接続されている。また、RIP18には、RIP18から出力されるデータを記憶するローカルメモリ(LocalMemory)19が接続されている。
コントローラ1でハンドリングされる画像データは、外部機器との入出力はベクタ(PDL、PDF、SVG等)形式の画像データ(以下、ベクタデータとも言う)でインタフェースされる。また、スキャナ16やプリンタ17との入出力はラスタ形式の画像データ(以下、ラスタデータとも言う)でインタフェースされる。
タイル/ページベクタ変換部13では、ページベクタデータからのタイルベクタデータ生成時に、該当タイルベクタデータを、RIP18でのレンダリングするに要する時間を予測するレンダリング時間予測処理を実行する。また、タイル/ページベクタ変換部13では、入力ページデータのタイルベクタ分割処理を行う。
コントローラ1では、スキャンデータ(ラスタデータ)はラスタ/タイルベクタ変換部14でタイルベクタデータに変換される。また、このタイルベクタデータからRIP18の処理によって得られるタイルDLデータは、RIP18に接続されたローカルメモリ19に記憶される。
従って、システムメモリ5上には、ページベクタデータとタイルベクタデータの2種類の画像のみが記憶される。つまり、画像サイズの大きいラスタデータ及びDLデータをシステムメモリ5に記憶する必要がなくなる。そのため、システムメモリ5上で確保しなければならない画像データ領域を削減することができる。
また、RIP18では、ページ単位で処理するのではなく、予め定めたバンドやタイル等の所定サイズのブロック単位を処理領域として処理する方法がしばしば用いられる。この処理領域を、ページよりも小さいバンドやタイル等のブロック単位にすることで、RIP18におけるラスタライズの処理時に必要となる画像データ展開用のメモリ容量を削減することができるという利点がある。更には、ブロック単位の処理を並列動作させることで、RIP18におけるラスタライズの処理を高速化することができるという利点がある。
即ち、例えば、RIP18から出力されるDLデータはタイル単位に分割された、タイルDLデータで記憶される。そのため、従来のページ単位のページDLデータに比べ、非常に少ないメモリ容量で記憶できる。従って、ローカルメモリ19はオンチップ上に実装することが可能になり、メモリレイテンシを小さくできる。その結果、タイルデータ展開速度を高速化することが可能となる。
また、タイルベクタデータのみを画像データとして、HDD8上に記憶すれば良いので、HDD8へのアクセス速度のボトルネックが緩和され、データ処理の高速化が図れる。同時に、タイル単位で処理することにより、RIP18のコストダウンも可能となる。
より高い処理能力が要求される場合は、RIP18内に備えるμRIP18a〜18dを並列に複数実装することで、処理能力を可変にすることができる。このようにすることで、コントローラ1の処理能力がシンプルに調整できることから、スケーラビリティの確保が容易なシステムを構築できる。
尚、本発明では、ネットワークI/F11及びスキャナ16がコントローラ1内へ画像データを入力する画像入力部として機能する。また、ネットワークI/F11及びプリンタ17が画像データを出力する画像出力部として機能する。
次に、MFP1000が実現可能な各種処理として、プリント動作でのデータフローについて説明する。
図2は本発明の実施形態の画像処理システムでのプリント動作に係るデータフローを示す図である。
尚、このデータフローは、CPU3の制御の下、MFP1000を構成する各種構成要素を協調動作させることで実現される。
また、図2中に示す矢印は、各種データフローを示している。特に、実線矢印はラスタデータ(ラスタ画像データ)、破線矢印はタイルベクタデータ(タイルベクタ画像データ)、1点鎖線矢印はページベクタデータ(ページベクタ画像データ)のデータフローを示している。
(S31):ネットワーク12に接続された外部機器より、汎用バス6に接続されたネットワークI/F11がページベクタデータを受信する。そして、SBB2の先に接続されたMC4を介してシステムメモリ5に転送する。
(S32):システムメモリ5に記憶されたページベクタデータは、タイル/ページベクタ変換部13より読み出され、タイルベクタ変換処理が実行される。即ち、タイル/ページベクタ変換部13は、ページベクタデータ内に存在するオブジェクトを所定の大きさのブロック(タイル)内に収まるオブジェクトに分割する。そして、タイル単位のベクタデータ(タイルベクタデータ)を生成する。
(S33):生成されたタイルベクタデータは、SBB2を介して再度システムメモリ5に記憶される。
(S34):システムメモリ5に記憶されたタイルベクタデータは、HDDCont7とMC4を介して、SBB2経由でHDD8に記憶される。HDD8にタイルベクタデータを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、MFP1000内に保存画像データとして記憶したりすることができる。
(S35):HDD8に記憶されたタイルベクタデータは、プリンタ17内のCPU(不図示)から送られてくるプリンタレディのタイミングに合わせて、HDDCont7により読み出される。そして、SBB2、MC4を経由してシステムメモリ5に一時的に記憶される。
読み取ったタイルベクタデータをHDD8からダイレクトにプリンタ17へ出力する場合、HDD8のアクセススピードが律則したり、汎用バス6のバスの混雑度合によりプリンタ17に同期して出力することが保証できなくなる。そのため、プリンタ17に同期してデータ転送を行う前に、システムメモリ5に1ページ分のベクタ画像データをスプールすることにより、リアルタイムなスループットを保証する。
(S36):システムメモリ5に記憶されたタイルベクタデータは、プリンタ17からコントローラ1に送られる起動信号に従って、MC4によって読み出され、SBB2を介してRIP18に転送される。
RIP18では、まず、タイルベクタデータを解析し、タイル単位の描画オブジェクト(タイルDLデータ)の生成(インタプリット)を実行する。生成されたタイルDLデータはローカルメモリ19に一旦記憶される。
RIP18はローカルメモリ19からタイルDLデータを読み出して、タイル単位のラスタデータ(タイルラスタデータ)へと展開し、出力する。ここで、本実施形態では、上述のように、RIP18内に4つの小画像データ展開部(μRIP)18a〜18dを備えている。コントローラ1は、μRIP18a〜μRIP18dを並列に動作させることにより、タイルベクタデータの展開を高速に行わせることができる。
(S37):RIP18によって生成されたタイルラスタデータは、画像処理部15に転送され、例えば、以下の処理が実行される。
1)タイルラスタデータからページラスタデータへの変換処理
2)プリンタの特性に合わせた出力画像の色や濃度の補正処理
3)画像データを量子化して出力画像の階調変換を実行する中間調処理
4)プリンタI/Fクロックに同期して画像を出力するための周波数変換処理
そして、画像処理部15で、1)〜4)の画像処理が実行されて得られたラスタデータは、プリンタ17に転送され、記録媒体上に印刷され出力される。
2)プリンタの特性に合わせた出力画像の色や濃度の補正処理
3)画像データを量子化して出力画像の階調変換を実行する中間調処理
4)プリンタI/Fクロックに同期して画像を出力するための周波数変換処理
そして、画像処理部15で、1)〜4)の画像処理が実行されて得られたラスタデータは、プリンタ17に転送され、記録媒体上に印刷され出力される。
次に、タイル/ページベクタ変換部13によるタイルベクタ分割処理について、図3を用いて説明する。
図3は本発明の実施形態のタイルベクタ分割処理を示すフローチャートである。
まず、ステップS300で、ページベクタデータをタイルベクタデータに変換するためのタイルサイズを設定し、その設定したタイルサイズでページベクタデータを分割する。より具体的には、ページベクタデータに対してプリンタ17の出力バンドメモリ幅(メモリ容量)に基づきバンド単位でのバンド分割処理を行う。尚、プリンタ17の出力バンドメモリ幅を示すハンドメモリ幅情報は、予めHDD8に記憶されていても良いし、必要に応じて、プリンタ17に問い合わせて、プリンタ17から取得するようにしても良い。そいて、タイルベクタ分割処理では、処理開始時に初期タイルサイズとして、バンドメモリ幅情報を取得して、システムメモリ5に設定する。
本処理は、例えば、図4(a)で示すページデータ400に対して、図4(b)に示すバンド分割を行うことに相当する。
バンド内に収まりきらないオブジェクトは途中で分割し、それぞれのバンドに、その内容を構成する記述を生成する。例えば、文字列(不図示)がバンド内に収まりきらない場合、分割された後続の文字列は別の文字列として、次のバンドに記述を行う。そして、分割された全ての文字列が、タイルベクタデータのタイルサイズに収まるまで繰り返す。文字列をどこで切るかは、フォントの種類、タイルサイズからタイル内に収まる文字数を算出し、その数だけの文字を抽出する。
また、図形(不図示)については、分割図形の描画位置や図形の形、大きさからバンド境界領域と接する部分を算出し、その境界とバンド内に収まっている図形の部分領域で構成される閉領域を新たな図形として記述し直す。
次に、ステップS301で、ステップS301で分割して生成された一つの閉領域に対して、レンダリング処理時間を予測する。具体的には、その閉領域が含むオブジェクト数、オブジェクトを構成するコマンド数、オブジェクト属性及びRIP18を構成する各μRIP18a〜18dの処理能力等に基づき、レンダリング処理に要する時間を予測(算出)する。そして、この予測結果である予測時間は、ローカルメモリ19に保持する。
ここで、上述の一つの閉領域は、図4(b)で示すバンド401に相当する。
ステップS302で、レンダリング時間予測済の閉領域のレンダリング予測時間が予め設定されたレンダリング保証可能な時間(描画保証時間)以内であるか否かを判定する。描画保証時間以内である場合(ステップS302でYES)、ステップS304へ進む。一方、描画保証時間以内でない場合(ステップS302でNO)、即ち、レンダリング時間が保証できない閉領域に対しては、ステップS303へ進み、更なる分割処理を行う。
ステップS303で、レンダリング処理時間保証できない閉領域に対して、ステップ300で行ったバンド分割処理の分割方向と直交する方向で、かつ、バンド幅を等分するような分割処理を行い2つのタイル状の閉領域を生成する(タイル分割処理)。つまり、処理対象のバンドサイズのベクタデータを、バンドの閉領域よりも小さい領域である閉領域(タイル)に分割した上で、その分割したタイルサイズで再度ベクタデータを再生成(再変換)する。
これは、図4(b)で示すバンド401が、図4(c)で示す分割線402によりタイル分割領域403及び404に分割されることを意味する。タイル分割領域内に収まりきらないオブジェクトは、ステップS300で説明したバンド分割処理と同様、途中で分割しそれぞれのタイル内にその内容を構成する記述を生成する。
タイル分割処理終了後、前述の2つのタイル分割領域それぞれに対して、ステップS301からステップS303の各処理を繰り返し、全ての閉領域が描画保証時間でレンダリングできるまで分割処理を行う。これは、例えば、図4(c)で示すタイル分割領域403及び404を、更に、図4(d)に示す閉領域405、406、407及び408を生成することを意味する。
ステップS304で、ステップS300で分割した全てのバンド領域に対してレンダリング時間予測が行われたか否かを判定する。レンダリング時間予測が行われていない未処理のバンドが存在する場合は、未処理のバンドに対してステップS301からステップS303の処理を行う。全てのバンドに対して、レンダリング時間予測が行われたらタイルベクタ分割処理を終了する。全てのバンド領域に対して、タイルベクタ分割処理を行った状態結果を図4(e)に示す。
以上のステップS301からステップS304の各ステップにより、プリンタ17が備える出力バンドメモリ幅に基づき分割された、レンダリング時間が保証されたタイルベクタデータを生成することができる。
以上説明したように、本実施形態によれば、ページベクタデータに対して、プリンタ17のバンドメモリ容量に基づいたバンド分割を行いつつ、レンダリング処理時間が保証されたタイルベクタデータを生成することが可能となる。これにより、各タイルベクタデータのレンダリング処理時間保証を行うと同時に、タイルベクタデータのプレレンダリング及び無駄なレンダリングを回避し、省メモリで効率的なレンダリング処理が可能となる。
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
1 コントローラ
2 システムバスブリッジ
3 CPU
4 メモリコントローラ
5 システムメモリ
6 汎用バス
7 ハードディスクコントローラ
8 ハードディスクドライブ
9 操作部コントローラ
10 操作部
11 ネットワークI/F
12 ネットワーク
13 タイル/ページベクタ変換部
14 ラスタ/タイルベクタ変換部
15 画像処理部
16 スキャナ
17 プリンタ
18 画像データ展開部
18a〜18d 小画像データ展開部
19 ローカルメモリ
2 システムバスブリッジ
3 CPU
4 メモリコントローラ
5 システムメモリ
6 汎用バス
7 ハードディスクコントローラ
8 ハードディスクドライブ
9 操作部コントローラ
10 操作部
11 ネットワークI/F
12 ネットワーク
13 タイル/ページベクタ変換部
14 ラスタ/タイルベクタ変換部
15 画像処理部
16 スキャナ
17 プリンタ
18 画像データ展開部
18a〜18d 小画像データ展開部
19 ローカルメモリ
Claims (8)
- 入力された画像データに対する処理を実行する画像処理装置であって、
ラスタ画像データを、設定された第1ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換手段と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開手段と、
処理対象の前記ブロックベクタ画像データを前記展開手段での展開に要する予測時間を予測する予測手段と、
前記予測手段で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換手段によって、前記第1ブロックサイズよりも小さい第2ブロックサイズのブロックベクタ画像データに再変換する変換制御手段と、
前記変換手段あるいは前記変換制御手段で得られるブロックベクタ画像データを前記展開手段で展開して得られるラスタ画像データを画像出力部に出力する出力手段と
を備えることを特徴とする画像処理装置。 - 前記変換手段における前記第1ブロックサイズを設定する設定手段を更に備え、
前記設定手段は、前記画像出力部が備えるメモリ容量に基づいて、前記第1ブロックサイズを設定する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記予測手段で予測した予測時間が、予め設定された設定時間以内でない場合、
前記設定手段は、現在設定されている第1ブロックサイズを、それよりも小さい第2ブロックサイズに設定し、
前記変換制御手段は、前記処理対象のブロックベクタ画像データを、前記設定手段で設定された第2ブロックサイズのブロックベクタ画像データに前記変換手段によって再変換する
ことを特徴とする請求項2に記載の画像処理装置。 - 前記変換手段は、前記ラスタ画像データを、第1分割方向で、前記第1ブロックサイズのブロックに分割して、各ブロックにベクトル化処理を実行することで、ブロックベクタ画像データに変換する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記変換制御手段は、前記予測手段で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換手段によって、前記第1分割方向とは異なる第2分割方向で、前記設定された第1ブロックサイズよりも小さい第2ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、該処理対象のブロック画像データを前記第2ブロックサイズのブロックベクタ画像データに再変換する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記予測手段は、処理対象の前記ブロックベクタ画像データに含まれるオブジェクトに関するオブジェクト情報と、前記展開手段の処理能力に基づいて、前記予測時間を予測する
ことを特徴とする請求項1に記載の画像処理装置。 - 入力された画像データに対する処理を実行する画像処理装置の制御方法であって、
ラスタ画像データを、設定された第1ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換工程と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
処理対象の前記ブロックベクタ画像データを前記展開工程で展開するに要する時間を予測する予測工程と、
前記予測工程で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換工程によって、前記第1ブロックサイズよりも小さい第2ブロックサイズのブロックベクタ画像データに再変換する変換制御工程と、
前記変換工程あるいは前記変換制御工程で得られるブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを画像出力部に出力する出力工程と
を備えることを特徴とする画像処理装置の制御方法。 - 入力された画像データに対する処理を実行する画像処理装置の制御をコンピュータに実行させるためのプログラムであって、
ラスタ画像データを、設定された第1ブロックサイズのブロックに分割し、各ブロックにベクトル化処理を実行することで、前記ラスタ画像データをブロックベクタ画像データに変換する変換工程と、
前記ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
処理対象の前記ブロックベクタ画像データを前記展開工程で展開するに要する時間を予測する予測工程と、
前記予測工程で予測した予測時間に基づいて、前記処理対象のブロックベクタ画像データを、前記変換工程によって、前記第1ブロックサイズよりも小さい第2ブロックサイズのブロックベクタ画像データに再変換する変換制御工程と、
前記変換工程あるいは前記変換制御工程で得られるブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを画像出力部に出力する出力工程と
をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006333865A JP2008146415A (ja) | 2006-12-11 | 2006-12-11 | 画像処理装置及びその制御方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006333865A JP2008146415A (ja) | 2006-12-11 | 2006-12-11 | 画像処理装置及びその制御方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008146415A true JP2008146415A (ja) | 2008-06-26 |
Family
ID=39606519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006333865A Withdrawn JP2008146415A (ja) | 2006-12-11 | 2006-12-11 | 画像処理装置及びその制御方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008146415A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010053201A1 (en) * | 2008-11-10 | 2010-05-14 | Canon Kabushiki Kaisha | Image processing device and image processing method |
JP2011148242A (ja) * | 2010-01-25 | 2011-08-04 | Konica Minolta Business Technologies Inc | 画像形成装置及びプログラム |
JP2011258186A (ja) * | 2010-06-08 | 2011-12-22 | Intel Corp | 画像処理用のタイルレンダリング |
JP2017523499A (ja) * | 2014-06-30 | 2017-08-17 | インテル・コーポレーション | タイルベースのレンダリングgpuアーキテクチャのための任意のタイル形状を有する適応可能なパーティションメカニズム |
-
2006
- 2006-12-11 JP JP2006333865A patent/JP2008146415A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010053201A1 (en) * | 2008-11-10 | 2010-05-14 | Canon Kabushiki Kaisha | Image processing device and image processing method |
JP2010111099A (ja) * | 2008-11-10 | 2010-05-20 | Canon Inc | 画像処理装置およびその制御方法 |
US20110205591A1 (en) * | 2008-11-10 | 2011-08-25 | Canon Kabushiki Kaisha | Image processing device and image processing method |
JP2011148242A (ja) * | 2010-01-25 | 2011-08-04 | Konica Minolta Business Technologies Inc | 画像形成装置及びプログラム |
JP2011258186A (ja) * | 2010-06-08 | 2011-12-22 | Intel Corp | 画像処理用のタイルレンダリング |
JP2017523499A (ja) * | 2014-06-30 | 2017-08-17 | インテル・コーポレーション | タイルベースのレンダリングgpuアーキテクチャのための任意のタイル形状を有する適応可能なパーティションメカニズム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4164518B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP4408836B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP4995057B2 (ja) | 描画装置、印刷装置、描画方法、及びプログラム | |
US8472042B2 (en) | Image forming apparatus which forms an image based on print data described in a page description language | |
JP4766657B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP4890990B2 (ja) | 画像処理装置、その画像処理装置の制御方法およびプログラム | |
JP2008186253A (ja) | 画像処理装置、画像処理システム、画像処理方法、コンピュータプログラム | |
JP5288879B2 (ja) | 印刷装置及びその制御方法、プログラム、並びに、コンピュータ読み取り可能な記憶媒体 | |
JP2009282709A (ja) | 画像処理装置及びその制御方法、プログラム、記憶媒体 | |
JP4557959B2 (ja) | トナーを用いる電子写真式画像形成装置、トナーを用いる電子写真式画像形成方法 | |
JP2008146415A (ja) | 画像処理装置及びその制御方法、プログラム | |
JP2005316950A (ja) | データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム | |
JP2006313424A (ja) | 画像処理システムおよび画像処理方法およびプログラム | |
JP2006155308A (ja) | 画像形成装置 | |
JP4646703B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP5038272B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP6914027B2 (ja) | 画像形成装置、画像形成方法 | |
JP2009284508A (ja) | 画像処理装置及びその制御方法、プログラム | |
JP2011228987A (ja) | 画像処理装置及び画像処理プログラム | |
JP2005262624A (ja) | 画像処理装置および画像処理方法、並びに画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2022026212A (ja) | 画像処理装置、その制御方法、および、プログラム | |
JP2004050606A (ja) | 画像処理装置及び画像処理方法 | |
JP2001146048A (ja) | プリンタ制御装置、プリンタ制御方法及びプリンタ制御プログラムを記録した記録媒体 | |
JP2003274203A (ja) | 印刷制御装置及び印刷制御方法 | |
JP2007011573A (ja) | 情報処理装置の印刷処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100302 |