(57)【要約】【課題】バンド単位で画像処理を行う画像形成装置において、必要なメモリ容量および処理負担を削減しつつ、印刷処理の高速化を実現する画像処理装置を提供すること。【解決手段】本発明にかかる画像処理装置は、ＰＤＬで記述された入力画像をバンド単位でレンダリング処理してビットマップデータを生成するＲＩＰ手段と、生成されたビットマップデータに対しバンド単位で所定の画像処理を施して印刷データを生成する画像処理手段とを有する。ＲＩＰ手段は、検出された白ラインの構成をバンド単位で示す制御情報を生成する制御情報生成手段をさらに備える。画像処理手段は、制御情報に基づいて、白ラインが削除されたビットマップデータのうち、バンド単位で算出された読み出し開始位置から読み出し終了位置までの範囲をメモリから読み出し、所定の画像処理を施して印刷データを生成する。【選択図】図６
2017034597.tif 000002
【特許請求の範囲】
【請求項１】
ＰＤＬで記述された入力画像をバンド単位でレンダリング処理してビットマップデータを生成するＲＩＰ手段と、
生成された前記ビットマップデータに対し前記バンド単位で所定の画像処理を施して印刷データを生成する画像処理手段を有し、
前記ＲＩＰ手段は、
前記レンダリング処理の際に、前記ＰＤＬを解釈して得られた中間データに基づいて、前記入力画像に含まれる主走査方向に白画素のみで構成される白ラインを検出する白ライン検出手段と、
検出された前記白ラインが削除された前記ビットマップデータをメモリに格納する格納手段と、
検出された前記白ラインの構成を前記バンド単位で示す制御情報を生成する制御情報生成手段とを備え、
前記画像処理手段は、
前記制御情報から、前記白ラインが削除された前記ビットマップデータの読み出し開始位置および読み出し終了位置を、前記バンド単位で算出する第１の算出手段を備え、
前記白ラインが削除された前記ビットマップデータのうち前記バンド単位で算出された前記読み出し開始位置から前記読み出し終了位置までの範囲を、前記メモリから読み出し、所定の画像処理を施して前記印刷データを生成すること
を特徴とする画像処理装置。
【請求項２】
前記制御情報は、
前記メモリのアドレスを示す読み出しポインタを制御するポインタ制御情報であること
を特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像処理手段は、
前記制御情報から、生成された前記印刷データの書き込み開始位置および書き込み終了位置を、前記バンド単位で算出する第２の算出手段を備え、
生成された前記印刷データのうち前記バンド単位で算出された前記書き込み開始位置から前記書き込み終了位置までの範囲を、前記メモリに書き込むこと
を特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記制御情報は、
前記メモリのアドレスを示す書き込みポインタを制御するポインタ制御情報であること
を特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記入力画像の前記ＰＤＬを解釈して前記中間データを生成する中間データ生成手段をさらに備え、
前記中間データ生成手段は、
生成された前記中間データから、前記入力画像に含まれる白画素のみで構成される白タイルを検出する白タイル検出手段を備え、
前記ＲＩＰ部は、
前記レンダリング処理の際に、生成された前記中間データから、前記入力画像に含まれる白画素を、前記バンド単位で検出する白画素検出手段を備え、
前記白ライン検出手段は、
検出された前記白タイルと、検出された前記バンド単位の白画素とに基づいて、前記白ラインを検出すること
を特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
複数の前記バンド単位の前記印刷データが１ページ分の前記印刷データを構成し、
次ページの前記印刷データが前記メモリに書き込まれる前に、前記メモリを初期化する初期化手段をさらに備えたこと
を特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記所定の画像処理は、前記ビットマップデータに対するフィルタ処理であり、
前記制御情報に基づいて、前記バンドにおける入力開始ラインに隣接するラインが白ラインかを判定する判定手段と、
前記入力開始ラインに隣接するラインが白ラインと判定された場合、前記バンド単位の前記ビットマップデータと、前記フィルタ処理に用いられる複数画素からなるフィルタと、が重畳しない領域に白画素を適用するフィルタ処理を行うフィルタ処理手段とをさらに備えること
を特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
ＰＤＬで記述された入力画像をバンド単位でレンダリング処理してビットマップデータを生成するＲＩＰ手段と、
生成された前記ビットマップデータに対し前記バンド単位で所定の画像処理を施して印刷データを生成する画像処理手段を有し、
前記ＲＩＰ手段は、
前記レンダリング処理の際に、前記ＰＤＬを解釈して得られた中間データに基づいて、前記入力画像に含まれる主走査方向に白画素のみで構成される白ラインを検出する白ライン検出手段と、
前記レンダリング処理の際に、前記ＰＤＬを解釈して得られた中間データに基づいて、前記入力画像に含まれる主走査方向に描画対象の画素が含まれる描画ラインを検出する描画ライン検出手段と、
検出された前記白ラインが削除された前記ビットマップデータをメモリに格納する格納手段と、
検出された前記描画ラインの構成を前記バンド単位で示す第１の制御情報と、検出された前記白ラインの構成を前記バンド単位で示す第２の制御情報と、を生成する制御情報生成手段とを備え、
前記画像処理手段は、
前記第１の制御情報から、前記白ラインが削除された前記ビットマップデータの読み出し開始位置および読み出し終了位置を、前記バンド単位で算出する第１の算出手段を備え、
前記第２の制御情報から、生成された前記印刷データの書き込み開始位置および書き込み終了位置を、前記バンド単位で算出する第２の算出手段を備え、
前記白ラインが削除された前記ビットマップデータのうち前記バンド単位で算出された前記読み出し開始位置から前記読み出し終了位置までの範囲を、前記メモリから読み出し、所定の画像処理を施して前記印刷データを生成し、
生成された前記印刷データのうち前記バンド単位で算出された前記書き込み開始位置から前記書き込み終了位置までの範囲を、前記メモリに書き込むこと
を特徴とする画像処理装置。
【請求項９】
ＰＤＬで記述された入力画像をバンド単位でレンダリング処理してビットマップデータを生成するＲＩＰステップと、
生成された前記ビットマップデータに対し前記バンド単位で所定の画像処理を施して印刷データを生成する画像処理ステップを有し、
前記ＲＩＰステップは、
前記レンダリング処理の際に、前記ＰＤＬを解釈して得られた中間データに基づいて、前記入力画像に含まれる主走査方向に白画素のみで構成される白ラインを検出する白ライン検出ステップと、
検出された前記白ラインが削除された前記ビットマップデータをメモリに格納する格納ステップと、
検出された前記白ラインの構成を前記バンド単位で示す制御情報を生成する制御情報生成ステップとを備え、
前記画像処理ステップは、
前記制御情報から、前記白ラインが削除されたビットマップデータの読み出し開始位置および読み出し終了位置を、前記バンド単位で算出する第１の算出ステップを備え、
前記画像処理ステップによって、前記白ラインが削除された前記ビットマップデータのうち前記バンド単位で算出された前記読み出し開始位置から前記読み出し終了位置までの範囲が、前記メモリから読み出され、所定の画像処理が施されて前記印刷データが生成されること
を特徴とする画像処理方法。
【請求項１０】
コンピュータを、請求項１乃至請求項８のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バンド単位で処理を行う画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来より、ページ記述言語（以下「ＰＤＬ」と記す）で記述されたＰＤＬデータから画像を形成する技術が広く知られている。ＰＤＬ対応の画像処理装置は、入力を受け付けたＰＤＬデータを、専用のインタプリタにより解釈してディスプレイリストデータなどの中間データを生成し、生成された中間データに対してレンダリング処理を施してビットマップデータを生成する。このように生成されたビットマップデータは、フィルタ処理などの所定の画像処理が施され、ビットマップデータから印刷データが生成される。生成された印刷データは、電子写真方式やインクジェット方式等のプリンタエンジンに受け渡され、プリンタエンジンは生成された印刷データを元に印刷処理を行い、記録媒体上に画像を記録する。
【０００３】
通常、ページ単位のビットマップデータを内部メモリに展開すると、ビットマップデータのデータ量が膨大となり、そのデータを保存するための必要メモリ容量が増えてしまい、画像処理装置のコストアップに繋がっていた。そのため、中間データを複数のバンド単位に分割し、バンド単位でレンダリング処理と画像処理とを連携して行うことにより、必要メモリ容量を削減する画像処理装置が知られている（特許文献１）。
【０００４】
また、主走査方向の画素列が全て白画素で構成される白ラインであるかを判定し、白ラインが含まれていた場合に、当該白ラインを削除したビットマップデータに対して画像処理を行う画像処理装置が提案されている（特許文献２）。特許文献２の画像処理装置は、削除した白ラインの情報を保持し、白ラインの情報に基づいて記録ヘッドの動作および記録媒体の搬送動作を制御する。かかる構成により、特許文献２の画像処理装置は、印刷データを記録するための必要メモリ容量を削減しつつ、効率的な画像処理を実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２６４２５７号公報
【特許文献２】特開２０１１−１９９３２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら従来の手法では、白ラインを削除したビットマップデータに対して、バンド単位でフィルタ処理等の隣接画素を参照する画像処理を行う場合、ＣＰＵによる画像処理パラメータの設定処理に負荷がかかってしまう。その結果、印刷の高速化が図れないという課題があった。
【０００７】
本願発明が解決しようとする課題の説明を、図１４の従来技術例を参照して説明する。図１４（ａ）は、中間データ１４１０と、中間データ１４１０に対してレンダリング処理が施されて生成されたビットマップデータ１４２０と、ビットマップデータ１４２０に対して所定の画像処理が施されて生成された印刷データ１４３０とが示されている。中間データ１４１０、ビットマップデータ１４２０、印刷データ１４３０は、それぞれ複数のバンド（１）〜（３）から構成され、上記レンダリング処理および画像処理はバンド（１）〜（３）単位で行われる。このとき、レンダリング処理が施されて生成されたビットマップデータに、主走査方向に白画素のみで構成される白ラインが含まれている場合、白ラインを削除したビットマップデータをメモリに保存したいという要請がある。これはメモリ帯域および必要メモリ容量の削減のためである。本例において、バンド（２）の中間データ１４１０は、１ライン目に白ラインが、２ライン目〜６ライン目に中間データ（Ｂ１）が、７ライン目に白ラインが、８〜１０ライン目に中間データ（Ｂ１’）が含まれる。バンド（２）のビットマップデータ１４２０は、白ラインが削除されて、８ライン分のビットマップデータがメモリに保存されている。
【０００８】
バンド（２）のように、白ラインが削除されたビットマップデータ１４２０に対して画像処理を施す場合、削除された白ライン分を加味してメモリからビットマップデータ１４２０を読み出す必要がある。そのため、画像処理装置は、中間データ１４１０から各バンドにおける白ラインの構成を取得し、図１４（ｂ）に示される画像処理パラメータ１４４０を生成する。次いで、画像処理装置は、画像処理パラメータ１４４０を参照して、バンド（２）のビットマップデータ１４２０に対して画像処理を施す。画像処理装置は、画像処理パラメータ１４４０を参照することにより、バンド（２）におけるメモリからの入力開始アドレスを「１００」に、入力終了アドレスを「１４９」と設定する。例えば、バンド（１）の先頭ラインのように、アドレスの下１桁が「０」〜「９」の値によって特定される領域が１ライン分の記憶領域を示す場合、画像処理装置は「５」ライン分のビットマップデータ１４２０（Ｂ１）を読み出す事ができる。同様に、画像処理装置は、バンド（２）におけるメモリからの入力開始アドレスを「１５０」に、入力終了アドレスを「１７９」と設定することにより、「３」ライン分のビットマップデータ１４２０（Ｂ１’）を読み出すことができる。
【０００９】
また、レーザービームプリンタ等の印刷をページ途中で停止させることのできないシステムにおいては、白ラインを削除されたビットマップデータ１４２０と白ライン情報から、当該白ラインにおける印刷動作をスキップするという制御を行うことが出来ない。そのため、白ラインが削除されたビットマップデータ１４２０に対して画像処理を施し、白ラインを復元した印刷データ１４３０を生成したいという要請がある。このとき、画像処理装置は、ビットマップデータ１４２０の削除された白ライン分を加味して印刷データ１４３０をメモリに書き込む必要がある。画像処理装置は、バンド（２）における印刷データ１４３０の出力開始アドレスを「１１０」に、出力終了アドレスを「１５９」と設定し、白ラインをスキップしたうえで「５」ライン分の印刷データ１４３０（Ｂ１）をメモリに書き込むことができる。画像処理装置は、バンド（２）における印刷データ１４３０の出力開始アドレスを「１７０」に、出力終了アドレスを「１９９」と設定し、白ラインをスキップしたうえで「３」ライン分の印刷データ１４３０（Ｂ１’）をメモリに書き込むことができる。
【００１０】
一般的に、これらのような画像処理パラメータの設定は、画像処理装置のＣＰＵによる演算によって行われる。そのため、バンド単位で処理を行う画像処理装置において、ＣＰＵによる画像処理パラメータの設定に処理負荷がかかり、印刷の高速化が図れないという課題があった。
【課題を解決するための手段】
【００１１】
本発明に係る画像処理装置は、ＰＤＬで記述された入力画像をバンド単位でレンダリング処理してビットマップデータを生成するＲＩＰ手段と、生成された前記ビットマップデータに対し前記バンド単位で所定の画像処理を施して印刷データを生成する画像処理手段を有し、前記ＲＩＰ手段は、前記レンダリング処理の際に、前記ＰＤＬを解釈して得られた中間データに基づいて、前記入力画像に含まれる主走査方向に白画素のみで構成される白ラインを検出する白ライン検出手段と、検出された前記白ラインが削除された前記ビットマップデータをメモリに格納する格納手段と、検出された前記白ラインの構成を前記バンド単位で示す制御情報を生成する制御情報生成手段とを備え、前記画像処理手段は、前記制御情報から、前記白ラインが削除された前記ビットマップデータの読み出し開始位置および読み出し終了位置を、前記バンド単位で算出する第１の算出手段を備え、前記白ラインが削除された前記ビットマップデータのうち前記バンド単位で算出された前記読み出し開始位置から前記読み出し終了位置までの範囲を、前記メモリから読み出し、所定の画像処理を施して前記印刷データを生成することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、バンド単位で画像処理を行う画像処理装置において、効率的な画像処理を行い、印刷の高速化を実現する画像処理装置、画像処理方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態における画像処理装置の構成を示すブロック図である。
【図２】実施形態における画像処理装置の全体構成を示すブロック図である。
【図３】実施形態におけるバンド単位のビットマップデータの一例を示す模式図である。
【図４】実施形態における白ラインを検出する処理内容を示すフローチャートである。
【図５】実施形態における白ライン情報の遷移を時系列順に示した図である。
【図６】実施形態における各種データのメモリ格納イメージを示した模式図である。
【図７】実施形態における制御情報を生成する処理内容を示すフローチャートである。
【図８】実施形態においてレンダリング処理と描画処理とを連携して行う態様を説明するシーケンス図である。
【図９】実施形態２における各種データのメモリ格納イメージを示した模式図である。
【図１０】実施形態２においてレンダリング処理と描画処理とを連携して行う態様を説明するシーケンス図である。
【図１１】実施形態３における各種データのメモリ格納イメージを示した模式図である。
【図１２】実施形態３においてレンダリング処理と描画処理とを連携して行う態様を説明するシーケンス図である。
【図１３】実施形態４における画像処理装置の全体構成を示すブロック図である。
【図１４】従来技術例を示した図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について図面を参照して説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。
【００１５】
［実施形態１］
図１は、本実施形態における画像処理装置１００の構成を示すブロック図である。本実施形態における画像処理装置１００は、ＣＰＵ１０１、ＤＲＡＭ１０２、画像入力部１０３、画像形成部１０４、画像処理部１０５、印刷処理部１０６が、バス１０７を介して相互に接続されている。
【００１６】
図２は本実施形態における画像処理装置１００の全体構成例を示すブロック図であり、画像処理装置１００は画像形成部１０４、画像処理部１０５、メモリ２１０、２１２、インクジェットヘッド２１３で構成されている。なお、画像形成部１０４および画像処理部１０５は図１で既に示したものと同じであるため、同一番号を付している。画像形成部１０４は、ＰＤＬインタプリタ２０１、中間データ生成部２０２、メモリ２０４、ＲＩＰ部２０７を含み、ＲＩＰ部２０７はレンダリングバッファ２０５と制御情報生成部２０６とを有する。ここで、レンダリングバッファ２０５はＲＩＰ部２０７によって制御されるメモリ領域を想定している。メモリ２０４はＤＲＡＭ１０２に含まれてもよい。また、メモリ２１０、２１２はＤＲＡＭ１０２上にそれぞれ異なるメモリ領域として確保されている。以下、同図の構成における処理内容の概要を説明する。
【００１７】
本実施形態における画像処理装置１００は、ホストから画像入力部１０３を介して受信したＰＤＬデータ２００をＰＤＬインタプリタ２０１が解釈して、画像形成命令を生成する。中間データ生成部２０２は、ＰＤＬインタプリタ２０１で生成した画像形成命令から、ディスプレイリストデータなどの中間データを生成し、生成した中間データを入力画像としてメモリ２０４に保存する。このとき、ＰＤＬデータ２００によって描画命令がなされていない白画素のみで構成されるタイル（以下「白タイル領域」と記す）を特定する情報は、白タイル情報として中間データ２０３に埋め込まれる。「タイル」については図３を参照して後述する。
【００１８】
ＲＩＰ部２０７は、メモリ２０４に保存された中間データ２０３に対して、タイル単位でレンダリング処理を行う。レンダリング処理によってビットマップデータが生成され、ＲＩＰ部２０７は、生成した１バンド分のビットマップデータをレンダリングバッファ２０５に保存する。「バンド」についても同様に図３を参照して後述する。このとき、白タイル領域に対してはレンダリング処理が省略され、画像処理の高速化が図られる。制御情報生成部２０６は、中間データ２０３に埋め込まれた白タイル情報と、レンダリング処理後のビットマップデータにおける画素値とから、白画素で構成される白ライン検出を実行する。本実施形態において、後述のバンドにおける主走査方向の画素列をラインとし、全て白画素で構成されるラインを白ラインと記す。「ライン」についても図３を参照して後述する。１バンド分のレンダリング処理終了後に、当該バンドにおける白ラインの構成（バンドにおける白ラインの位置や白ラインの高さ）を特定する白ライン情報が、制御情報２０９として画像処理部１０５に送信される。また、画像形成部１０４は、１バンド分のレンダリング処理終了後に、レンダリングバッファ２０５に保存されたビットマップデータのうち、白ラインを削除したビットマップデータ２０８をメモリ２１０に保存する。本実施形態では、白画素以外の描画対象の画素が含まれるラインを描画ラインと記す。制御情報生成部２０６は、白ライン検出のみならず、描画対象の画素が含まれる描画ライン検出も行い得ると言える。
【００１９】
画像処理部１０５は、メモリ２１０からビットマップデータ２０８を読み出し、色分解処理やフィルタ処理などの所定の画像処理を施して印刷データ２１１を生成する。生成された印刷データ２１１は、メモリ２１２に書き込まれる。このとき、メモリ２０４からのビットマップデータ２０８の読み出しアドレスと、メモリ２１２への印刷データ２１１の書き込みアドレスとは、受信した制御情報２０９に基づいて決定される。
【００２０】
インクジェットヘッド２１３は、メモリ２１２に保存された印刷データ２１１を読み出し、記録媒体への印刷処理を実行する。インクジェットヘッド２１３は、白ラインにおけるインクジェットヘッド操作を省略し、記録媒体のみが搬送される。このため、画像処理装置１００全体として印刷処理の高速化を図ることができる。以下、上述の各処理の詳細を、図３〜７を参照して詳細に説明する。
【００２１】
＜白ラインの検出方法＞
図３は、本実施形態におけるバンド単位のビットマップデータを示す模式図である。本実施形態において、バンドとは、レンダリング処理および画像処理で共通に用いられる処理単位である。ＰＤＬデータから生成された中間データをもとに、ＲＩＰ部２０７は、バンド単位にレンダリング処理を施して、バンド単位のビットマップデータを生成する。さらに、本実施形態では、１バンドは複数の処理単位であるタイルによってさらに構成され、各バンドに対してタイル単位でレンダリング処理が施される。
【００２２】
図３に示されるバンド単位のビットマップデータは、バンド単位でレンダリング処理が施された後のビットマップデータの一例である。本実施形態では、１バンドに４タイルが配置される構成となっている。さらに、図３に示される１バンドの水平方向に区画される画素列をラインと記す。本実施形態では１バンドに５ラインが配置される構成となっている。前述の通り、このようなラインのうち、白画素のみで構成されるラインについては、特に「白ライン」と記し、描画画素が含まれて構成されるラインについては、「描画ライン」と記す。ビットマップデータのバンド構成は図３のものに限られず、例えば１バンドに５タイル、６ライン以上のバンド構成や、１バンドに３タイル、４ライン以下のバンド構成などであってもよい。
【００２３】
次に、図４を参照して、本実施形態における白ラインを検出する処理内容について説明する。図４は本実施形態において白ラインを検出する処理内容を示すフローチャートである。本フローチャートによる処理は、主に制御情報生成部２０６によって実行される。また、図５は、白ライン情報の遷移を時系列で示したものであり、本実施形態では、バンドにおける最上位のラインが白ラインとして検出される例が示されている。
【００２４】
Ｓ４０１において、ＲＩＰ部２０７は、白ライン情報を初期化する（ｔ１）。本実施形態において、白ライン情報とはバンドにおける白ラインの構成を示す情報であり、白ライン情報が「１」のときに対応するラインが白ラインと特定され、白ライン情報が「０」のときに対応するラインが描画ラインと特定される。さらに、ＲＩＰ部２０７は、白ライン情報から白ラインのライン数を特定することもできる。本初期化によって白ライン情報は「１」に設定される。
【００２５】
Ｓ４０２において、ＲＩＰ部２０７は、中間データ生成部２０２によって生成された中間データ２０３からタイル情報を取り出す。Ｓ４０３において、取り出したタイル情報が白タイルを特定する白タイル情報であるかを判定する。白タイル情報の場合（Ｓ４０３：ＹＥＳ）、Ｓ４０４〜Ｓ４０７の処理をスキップする。白タイル情報ではない場合（Ｓ４０３：ＮＯ）、すなわち取り出したタイル情報が描画タイルであることを特定した場合、Ｓ４０４に移行し、ＲＩＰ部２０７はタイルに対してレンダリング処理（Ｓ４０４）を施す。タイルレンダリング処理（Ｓ４０４）において、ＲＩＰ部２０７は、ライン毎にレンダリング処理を施す（ｔ２〜ｔ３）。
【００２６】
レンダリング処理の結果、ＲＩＰ部２０７はレンダリング処理を施したタイル内の画素値をライン毎に取得する。Ｓ４０５において、ＲＩＰ部２０７は、取得した画素値から白画素であるか否かの判定を行う。当該ラインが全て白画素であった場合（Ｓ４０５：ＹＥＳ）、Ｓ４０６の処理をスキップしてＳ４０７に移行する。当該ライン内に白画素以外の画素が含まれていた場合（Ｓ４０５：ＮＯ）、Ｓ４０６において当該ラインに対応する白ライン情報を「０」に更新する（ｔ２〜ｔ３）。
【００２７】
Ｓ４０７において、ＲＩＰ部２０７は、タイル内の全ラインに対するレンダリング処理および白ライン情報の更新処理が完了したかを判定し、完了していない場合（Ｓ４０７：ＮＯ）、再びＳ４０４に移行する。タイル内の全ラインに対するレンダリング処理および白ライン情報の更新処理が完了している場合（Ｓ４０７：ＹＥＳ）、Ｓ４０８に移行し、バンド内の全タイルに対するレンダリング処理が完了しているかを判定する。バンド内の全タイルに対するレンダリング処理が完了していない場合（Ｓ４０８：ＮＯ）、再びＳ４０２に移行する。バンド内の全タイルに対するレンダリング処理が完了している場合（Ｓ４０８：ＹＥＳ，ｔ４）、Ｓ４０１〜Ｓ４０８の処理で更新された白ライン情報に基づいて、制御情報２０９が生成される（Ｓ４０９）。制御情報２０９の生成方法の詳細は後述する。
【００２８】
＜制御情報の生成方法＞
図６は、本実施形態の画像処理装置１００において、各種データのメモリ格納イメージを示した模式図である。図６の（ａ）は、バンド（１）〜（３）を有する中間データ２０３のメモリ格納イメージを模式的に示している。本実施形態では、バンド（１）〜（３）の３つのバンドによって、１ページ分の中間データが構成される。さらに、中間データ２０３は、バンド（２）に複数の白ラインを含んで構成される。一般的に、中間データは画素単位で構成されないため、厳密に言えば、中間データに「白画素のみの画素列である白ライン」は存在し得ない。以下の実施形態では、説明の便宜上、中間データにおける「白ライン」は、「レンダリング処理後に白画素のみの画素列で構成される領域」を示すものとして説明を行う。
【００２９】
図６（ｂ）は、中間データ２０３に対してレンダリング処理を施した後のビットマップデータ２０８であり、メモリ２１０に格納されたイメージを示している。ビットマップデータ２０８は、レンダリング処理時に白ラインが削除されてメモリに格納される。
【００３０】
図６（ｃ）は、ビットマップデータ２０８に対して画像処理を施した後の印刷データ２１１であり、メモリ２１２に格納されたイメージを示している。特許文献２の画像処理装置は、白ラインが削除されたビットマップデータに対して画像処理が施され、生成された印刷データも白ラインが削除されてメモリに保存される。この点、レーザービームプリンタなどは、印刷処理をせずに記録媒体の搬送動作を行うことはできない。そのため、白ラインを含む印刷データの方が、プリンタエンジンの種類によらず汎用性が高いので、白ラインが削除されたビットマップデータから、白ラインを含む印刷データを復元したいという要請がある。ビットマップデータ２０８は、中間データ２０３に含まれていた白ラインが復元されてメモリに格納される。画像処理部１０５によって、白ラインが復元されてメモリ２１２に書き込まれる処理の詳細については後述する。
【００３１】
次に、図７〜８を参照し、制御情報生成部２０６がバンド（２）から制御情報２０９を生成し、制御情報２０９に基づいてレンダリング処理と画像処理とを連携して行う態様について説明する。図７は、本実施形態における制御情報を生成する処理内容を示したフローチャートである。本フローチャートによる処理は、主に制御情報生成部２０６によって実行される。
【００３２】
Ｓ７０１において、画像形成部１０４は、Ｓ４０１〜Ｓ４０８の処理によって生成された白ライン情報を読み取る。Ｓ７０２において、読み取った白ライン情報から、当該ラインが白ラインであるかまたは描画ラインであるかが判定される。本実施例では、図６（ａ）に示される通り、中間データのバンド（２）の上端は白ラインであるため、読み取った白ライン情報から当該ラインは白ラインと判定され（Ｓ７０２：Ｙｅｓ）、Ｓ７０９に移行する。
【００３３】
Ｓ７０９において、制御情報生成部２０６は、Ｎｃｎｔの値が０かを判定する。ここで、Ｎｃｎｔとは、画像形成部１０４によってカウントされる描画ライン数を示す情報であり、１バンドのレンダリング処理が開始される時点では、初期値として０が設定されている。Ｎｃｎｔの値が０と判定された場合（Ｓ７０９：Ｙｅｓ）、Ｓ７１２に移行してＷｃｎｔの値がインクリメントされる。ここで、Ｗｃｎｔとは、画像形成部１０４によってカウントされる白ライン数を示す情報であり、１バンドのレンダリング処理が開始される時点では、初期値として０が設定されている。Ｗｃｎｔのインクリメント処理（Ｓ７１２）は、Ｓ７０２において描画ラインと判定されるまで継続される。
【００３４】
一方、Ｓ７０２において、読み取った白ライン情報から、当該ラインが描画ラインと判定された場合（Ｓ７０２：Ｎｏ）、Ｓ７０３において当該ラインのビットマップデータがメモリ２１０に転送される。Ｓ７０４において、制御情報生成部２０６は、Ｗｃｎｔの値が０かを判定する。本実施例では、Ｓ７１２において、Ｗｃｎｔが白ライン数分カウントされているため、Ｗｃｎｔの値が０ではないと判定され（Ｓ７０４：Ｎｏ）、Ｓ７０５に移行する。Ｓ７０５において、制御情報生成部２０６は、ポインタ制御情報としてＷｃｎｔを画像処理部１０５に送信し、Ｓ７０６において、Ｗｃｎｔの値を０にする。一方、Ｗｃｎｔの値が０と判定された場合（Ｓ７０４：Ｙｅｓ）、Ｓ７０７に移行してＮｃｎｔの値がインクリメントされる。Ｎｃｎｔのインクリメント処理（Ｓ７０７）は、Ｓ７０２において白ラインと判定されるまで継続される。
【００３５】
Ｓ７０８において、バンド内の全白ライン情報の読み取りが終了したかが判定され、全白ライン情報の読み取りが終了していない場合（Ｓ７０８：Ｎｏ）、画像形成部１０４は、再びＳ７０１の処理を繰り返す。Ｓ７０１に戻り、画像形成部１０４は再び白ライン情報を読み取る。Ｓ７０２において、読み取った白ライン情報から、当該ラインが再び白ラインと判定された場合（Ｓ７０２：Ｙｅｓ）、再度Ｓ７０９に移行する。本実施例では、Ｓ７０７において、Ｎｃｎｔが描画ライン数分カウントされているため、Ｎｃｎｔの値が０ではないと判定され（Ｓ７０９：Ｎｏ）、Ｓ７１０に移行する。Ｓ７１０において、制御情報生成部２０６は、ポインタ制御情報としてＮｃｎｔを画像処理部１０５に送信し、Ｓ７１１において、Ｎｃｎｔの値を０にする。
【００３６】
Ｓ７０８において、バンド内の全白ライン情報の読み取りが終了している場合（Ｓ７０８：Ｙｅｓ）、Ｓ７１３において、制御情報生成部２０６は、ＮｃｎｔまたはＷｃｎｔを画像処理部１０５に送信する。このときＳ７０５で未送信のままインクリメントされたＷｃｎｔがポインタ制御情報として画像処理部１０５に送信されるか、またはＳ７１０で未送信のままインクリメントされたＮｃｎｔがポインタ制御情報として画像処理部１０５に送信される。
【００３７】
図８は、本実施形態において、レンダリング処理と画像処理とを連携して行う態様を説明するシーケンス図である。図８は、説明簡略化のために１バンドのみを対象とした処理について例示するが、複数の領域に区画したメモリ２１０を用いて、複数バンドを対象とした並列処理により、処理の効率化を図ることもできる。例えば、画像形成部１０４がバンド（２）のレンダリング処理を行っている間に、画像処理部１０５がバンド（１）の画像処理を行うなどの並列処理により、画像処理装置１００全体の処理を短縮することができる。
【００３８】
Ｓ８０１において、画像形成部１０４はバンド（２）のレンダリング処理を行い、Ｓ８０３において、Ｓ８０２の検出結果である白ライン情報から、バンド（２）の連続する白ライン数（Ｗ１）をカウントする。Ｓ８０３において、カウントされた連続する白ライン数（Ｗ１）は、ポインタ制御情報８０４として画像処理部１０５に送信される。また、Ｓ８０５において、画像形成部１０４は、レンダリング処理後にビットマップデータから白ラインを削除したビットマップデータ８０６（Ｂ１、Ｂ１’）を、メモリ２１０に保存する（図６（ｂ））。
【００３９】
Ｓ８０７において、画像処理部１０５はメモリ２１２への印刷データの書き込みアドレスを算出する。バンド（２）に対する画像処理（図８）の初期状態において、メモリ２１２の書き込みポインタは、バンド（２）の先頭ラインの先頭アドレスを示している。画像処理部１０５は、当該先頭アドレスにポインタ制御情報８０４（Ｗ１）を加算し、バンド（２）の出力開始ライン（１）の先頭アドレスを算出する（図６（ｃ））。このとき、画像処理部１０５は、メモリ２１２の書き込みポインタが、バンド（２）の出力開始ライン（１）の先頭アドレスを示すように、ポインタを更新する。このような出力開始ラインの先頭アドレスは、バンド（２）における印刷データの書き込み開始位置であると言える。
【００４０】
Ｓ８０８において、Ｓ８０２の検出結果である白ライン情報から、バンド（２）の連続する描画ライン数（Ｎ１）をカウントする。Ｓ８０８において、カウントされた連続する描画ライン数（Ｎ１）は、ポインタ制御情報８０９として画像処理部１０５に送信される。
【００４１】
Ｓ８１１において、画像処理部１０５はメモリ２１０からのビットマップデータの読み出しアドレスを算出する。バンド（２）に対する画像処理（図８）の初期状態において、メモリ２１０の読み出しポインタは、バンド（２）の先頭ラインの先頭アドレスを示している。画像処理部１０５は、当該先頭アドレスにポインタ制御情報８０９（Ｎ１）を加算し、バンド（２）の入力終了ライン（１）の先頭アドレスを算出する（図６（ｂ））。かかる処理により、画像処理部１０５は、バンド（２）の入力開始ライン（１）からバンド（２）の入力終了ライン（１）までの範囲に、画像処理の対象となるビットマップデータがメモリ２１０に書き込まれていることを認識することができる。このような入力開始ラインの先頭アドレスは、バンド（２）におけるビットマップデータの読み出し開始位置であると言える。また、入力終了ラインの終点アドレスは、バンド（２）におけるビットマップデータの読み出し終了位置であると言える。
【００４２】
Ｓ８１３において、画像処理部１０５は、バンド（２）の先頭アドレスから、Ｓ８１１で算出した読み出しアドレスの範囲に書き込まれているビットマップデータ８１２（Ｂ１）を読み出す。また、ビットマップデータ８１２の読み出し終了後、メモリ２１０における読み出しポインタは、入力終了ライン（１）の次ラインの先頭アドレスを示すように更新されている。
【００４３】
Ｓ８１４において、画像処理部１０５は、ビットマップデータ８１２に対して所定の画像処理を施す。本実施形態において、画像処理部１０５は、バンド（２）の入力開始ライン（１）から入力終了ライン（１）までの範囲のビットマップデータ（Ｂ１）を読み出す。画像処理部１０５は、バンド（２）の入力開始ライン（１）から入力終了ライン（１）までの範囲のビットマップデータに対して画像処理を施すことができる。
【００４４】
また、画像処理部１０５は、ポインタ制御情報８０４（Ｗ１）から、入力開始ライン（１）に隣接するラインが白ラインかを判定することができる。かかる構成により、画像処理部１０５は、例えば入力開始ライン（１）の画素列に対して複数画素（例えば、５×５画素）のフィルタによるフィルタ処理を好適に行うことができる。すなわち、画像処理部１０５は、上記判断結果に応じて、バンド（２）におけるビットマップデータと、上記フィルタとが重畳しない領域に、白画素を適用して前記フィルタ処理を実行することができる。入力終了ライン（１）の画素列に対してフィルタ処理を行う場合も、ポインタ制御情報８０９（Ｎ１）から、バンド（２）におけるビットマップデータと、上記フィルタとが重畳しない領域に、白画素を適用して前記フィルタ処理を実行することができる。画像処理部１０５は、バンド（２）におけるビットマップデータと、上記フィルタとが重畳しない領域に白画素を適用することができるので、白ラインを含むビットマップデータに対して画像処理を施した場合と同様の印刷データを出力することができる。
【００４５】
Ｓ８１５において、画像処理部１０５は、Ｓ８０７で算出した書き込みアドレスに、画像処理が施された印刷データ８１６を書き込む。Ｓ８０７の処理により、メモリ２１２の書き込みポインタは、バンド（２）の出力開始ライン（１）の先頭を示すように更新されている（図６（ｃ））。本実施形態において、バンド（２）の出力開始ライン（１）からバンド（２）の出力終了ライン（１）までの範囲に、ポインタ制御情報８０９（Ｎ１）分のライン数の印刷データ８１６（Ｂ１）が書き込まれる。また、印刷データ８１６の書き込み終了後、メモリ２１２における書き込みポインタは、出力終了ライン（１）の次ラインの先頭アドレスを示すように更新されている。このような出力終了ラインの終点アドレスは、バンド（２）における印刷データの書き込み終了位置であると言える。
【００４６】
なお、Ｓ８１４においてビットマップデータ８１２に対して変倍処理が適用される場合、画像処理部１０５はビットマップデータ８１２に適用する変倍量に応じて書き込みアドレスを算出する。例えば、Ｓ８０７において、画像処理部１０５は、ポインタ制御情報８０４（Ｗ１）に上記変倍量を適用し、バンド（２）の出力開始ライン（１）の先頭アドレスを算出する（図６（ｃ））。かかる処理により、メモリ２１２への印刷データ８１６の書き込みは、変倍された白ライン分スキップされる。さらに、Ｓ８１５において、画像処理部１０５は、ポインタ制御情報８０９（Ｎ１）に上記変倍量を適用することにより、バンド（２）の出力開始ライン（１）からバンド（２）の出力終了ライン（１）までの範囲も変倍される。かかる処理により、Ｓ８１５において、バンド（２）の出力開始ライン（１）からバンド（２）の出力終了ライン（１）までの変倍された範囲に、印刷データ８１６（Ｂ１）が書き込まれる。
【００４７】
以下、上記実施例と同様に、画像形成部１０４は、バンド（２）における次の白ライン数（Ｗ２）のカウント（Ｓ８１８）およびバンド（２）における次の描画ライン数（Ｎ２）のカウントをそれぞれ実行する。そして、画像処理部１０５は、ビットマップデータ８２５の読み出し（Ｓ８２６）および印刷データの書き込み（Ｓ８２８）をそれぞれ実行する。
【００４８】
以上説明したように、本実施形態における画像処理装置は、バンド単位でレンダリング処理を行う際に白ライン情報を検出し、検出した検出した白ラインから制御情報を生成する。画像処理部は上記制御情報からバンドにおけるビットマップデータの読み出し位置および印刷データの書き込み位置を算出することができる。かかる構成により、本実施形態の画像処理装置は、バンドにおけるビットマップデータの読み出し位置および印刷データの書き込み位置を効率的に算出することができ、印刷の高速化を実現することができる。
【００４９】
［実施形態２］
上述の実施形態１では、画像形成部１０４は、バンド（２）の連続する白ライン数（Ｗ１）と、バンド（２）の連続する描画ライン数（Ｎ１）とをカウントし、それぞれをポインタ制御情報として画像処理部１０５に送信していた。これに対し、本実施形態では、バンド（２）の連続する白ライン数をカウントし、カウントした白ライン数のみをポインタ制御情報として画像処理部１０５に送信する。これにより、図７のような複雑な制御フローを必要とすることなく、メモリ帯域および必要メモリ容量を削減しつつ、効率的な画像処理を行うことができる。以下、実施形態１と同じ部分については説明を省略し、実施形態１との差分点を説明する。
【００５０】
図９は、本実施形態において、各種データのメモリ格納イメージを示した模式図である。図９の（ａ）は、バンド（１）〜（３）を有する中間データ２０３のメモリ格納イメージを模式的に示している。実施形態１のメモリ格納イメージ（図６）と異なり、本実施形態では、中間データに含まれる２つの白ラインは、それぞれバンド（２）の上端と下端とに存在している。
【００５１】
次に、図１０を参照し、制御情報生成部２０６がバンド（２）から制御情報２０９を生成し、制御情報２０９に基づいてレンダリング処理と画像処理とを連携して行う態様について説明する。
【００５２】
Ｓ１００１において、画像形成部１０４はバンド（２）のレンダリング処理を行い、Ｓ１００４において、Ｓ１００３の検出結果である白ライン情報から、バンド（２）の連続する白ライン数（Ｗｕ）をカウントする。また、Ｓ１００１において、画像形成部１０４は、レンダリング処理後にビットマップデータから白ラインを削除したビットマップデータ１００２（Ｂ１）を、メモリ２１０に保存する（図９（ｂ））。
【００５３】
Ｓ１００４において、カウントされた連続する白ライン数（Ｗｕ）は、ポインタ制御情報１００５として画像処理部１０５に送信される。同様に、Ｓ１００６において、カウントされた連続する白ライン数（Ｗｄ）は、ポインタ制御情報１００７として画像処理部１０５に送信される。図９（ａ）に示される通り、白ライン数（Ｗｕ）は、バンド（２）の上端から連続する白ライン数であり、白ライン数（Ｗｄ）は、バンド（２）の下端から連続する白ライン数に相当する。
【００５４】
Ｓ１００８において、画像処理部１０５はメモリ２１０からのビットマップデータの読み出しアドレスを算出する。バンド（２）の画像処理（図１０）の初期状態において、メモリ２１０の読み出しポインタは、バンド（２）の先頭ラインの先頭アドレスを示している。画像処理部１０５は、ポインタ制御情報１００５（Ｗｕ），１００７（Ｗｄ）と、バンドの高さ（Ｔ）とから、所定の演算（例えば、Ｔ−Ｗｕ−Ｗｄ）を行うことにより、メモリ２１０からのビットマップデータ読み出しアドレスを算出する。かかる処理により、画像処理部１０５は、バンド（２）の入力開始ラインからバンド（２）の入力終了ラインまでの範囲に、画像処理の対象となるビットマップデータがメモリ２１０に書き込まれていることを認識することができる。
【００５５】
Ｓ１０１０において、画像処理部１０５は、バンド（２）の先頭アドレスから、Ｓ１００８で算出した読み出しアドレスの範囲に書き込まれているビットマップデータ１００９（Ｂ１）を読み出す。また、ビットマップデータ１００９の読み出し終了後、メモリ２１０における読み出しポインタは、入力終了ラインの次ラインの先頭アドレスを示すように更新されている。
【００５６】
Ｓ１０１１において、画像処理部１０５は、ビットマップデータ１００９に対して所定の画像処理を施す。画像処理部１０５は、バンド（２）の入力開始ラインから入力終了ラインまでの範囲のビットマップデータ（Ｂ１）に対して画像処理を施すことができる。
【００５７】
Ｓ１０１２において、画像処理部１０５はメモリ２１２への印刷データの書き込みアドレスを算出する。バンド（２）に対する画像処理（図１０）の初期状態において、メモリ２１２の書き込みポインタは、バンド（２）の先頭ラインの先頭アドレスを示している。画像処理部１０５は、当該先頭アドレスにポインタ制御情報１００５（Ｗｕ）を加算し、バンド（２）の出力開始ラインの先頭アドレスを算出する（図９（ｃ））。このとき、画像処理部１０５は、メモリ２１２の書き込みポインタが、バンド（２）の出力開始ラインの先頭アドレスを示すように、ポインタを更新する。
【００５８】
Ｓ１０１３において、画像処理部１０５は、Ｓ１０１２で算出した書き込みアドレスに、画像処理が施された印刷データ１０１４を書き込む。Ｓ１０１２の処理により、メモリ２１２の書き込みポインタは、バンド（２）の出力開始ラインの先頭を示すように更新されている（図６（ｃ））。本実施形態において、バンド（２）の出力開始ラインからバンド（２）の出力終了ラインまでの範囲に、Ｓ１０１１で画像処理が施された印刷データ１０１４（Ｂ１）が書き込まれる。また、印刷データ１０１４の書き込み終了後、メモリ２１２における書き込みポインタは、出力終了ラインの次ラインの先頭アドレスを示すように更新されている。
【００５９】
以上説明したように、本実施形態における画像処理装置は、バンド単位でレンダリング処理を行う際に白ライン情報を検出し、検出した白ラインから複雑な制御フローを必要とすることなく制御情報を生成する。画像処理部は上記制御情報からバンドにおけるビットマップデータの読み出し位置および印刷データの書き込み位置を算出することができる。かかる構成により、本実施形態の画像処理装置は、バンドにおけるビットマップデータの読み出し位置および印刷データの書き込み位置を効率的に算出することができ、印刷の高速化を実現することができる。
【００６０】
［実施形態３］
上述の実施形態２では、バンド（２）の連続する白ライン数をカウントし、カウントした白ライン数のみをポインタ制御情報として画像処理部１０５に送信していた。本実施形態の画像処理装置は、さらに簡易な方法により、レンダリング処理と画像処理とを連携して行い、印刷データにおける白ライン構成を復元することができる。以下、上述の実施形態と同じ部分については説明を省略し、差分点のみを説明する。
【００６１】
図１１は、本実施形態において、各種データのメモリ格納イメージを示した模式図である。図１１の（ａ）は、バンド（１）〜（３）を有する中間データ２０３のメモリ格納イメージを模式的に示している。本実施形態では、中間データに含まれる白ラインは、バンドの境界に跨がる領域に存在し、それぞれバンド（２）の下端と、バンド（３）の上端とに存在している。なお、図１１（ａ）に示される通り、白ライン数（Ｗｕ１，Ｗｄ２）は、「０」の値をとる。
【００６２】
次に、図１２を参照し、制御情報生成部２０６がバンド（２）、（３）から制御情報２０９を生成し、制御情報２０９に基づいてレンダリング処理と画像処理とを連携して行う態様について説明する。
【００６３】
上述の実施形態２では、印刷データの書き込み終了後（Ｓ１０１３、１０１４）、メモリ２１２における書き込みポインタが、出力終了ラインの次ラインの先頭アドレスを示すように更新されていた。本実施形態では、メモリ２１２における書き込みポインタの更新は、バンド（３）の書き込みアドレス算出（Ｓ１２２６）で行われる。かかる構成により、メモリ２１２における書き込みポインタの更新処理の処理負荷を削減することができる。
【００６４】
本実施形態において、画像形成部１０４は、バンド（２）の下端の白ライン数（Ｗｄ１）をポインタ制御情報１２０７として送信した後も、バンド（２）の下端の白ライン数（Ｗｄ１）を保持する。Ｓ１２１８において、保持していたバンド（２）の下端の白ライン数（Ｗｄ１）と、Ｓ１２１７で検出されたバンド（３）の上端の白ライン数（Ｗｕ２）とを足し合わせ（Ｗｄ１＋Ｗｕ２）、当該値をポインタ制御情報１２１９として画像処理部１０５に送信する。
【００６５】
Ｓ１２２６において、画像処理部１０５はメモリ２１２への印刷データの書き込みアドレスを算出する。バンド（３）に対する画像処理（図１０）の初期状態において、メモリ２１２の書き込みポインタは、バンド（２）における出力終了ラインの次ラインの先頭アドレスを示している。画像処理部１０５は、当該先頭アドレスにポインタ制御情報１２１９（Ｗｄ１＋Ｗｕ２）を加算し、バンド（３）の出力開始ラインの先頭アドレスを算出する（図１１（ｃ））。このとき、画像処理部１０５は、メモリ２１２の書き込みポインタが、バンド（３）の出力開始ラインの先頭アドレスを示すように、ポインタを更新する。次いで、Ｓ１２２７において、画像処理部１０５は、Ｓ１２２６で算出した書き込みアドレスに、画像処理が施された印刷データ１２２８を書き込む。
【００６６】
以上説明したように、本実施形態における画像処理装置は、バンド単位でレンダリング処理を行う際に白ライン情報を検出し、検出した白ラインから複雑な制御フローを必要とすることなく制御情報を生成する。画像処理部は上記制御情報からバンドにおけるビットマップデータの読み出し位置および印刷データの書き込み位置を算出することができる。かかる構成により、本実施形態の画像処理装置は、バンドにおけるビットマップデータの読み出し位置および印刷データの書き込み位置を効率的に算出することができ、印刷の高速化を実現することができる。
【００６７】
［実施形態４］
本発明における実施形態４について以下説明する。図２に示される通り、実施形態１における画像処理装置１００は、中間データ生成部２０２とＲＩＰ部２０７とは論理的または物理的に独立した構成となっており、中間データ２０３の受け渡しはメモリ２０４を介して行われている。
【００６８】
これに対し、図１３に示される通り、実施形態４における画像処理装置１００は、画像生成部１３０１が制御情報生成部１３００のみで構成されていてもよい。本実施形態では、制御情報生成部１３００が、実施形態１における白タイル検出処理を行う中間データ生成部２０２と、白画素検出処理を行うＲＩＰ部２０７の機能を担う。そのため、例えば画像生成部１３０１を単一のプロセッサで実現することができる。
【００６９】
［実施形態５］
本発明における実施形態５について以下説明する。図２に示される通り、上述の実施形態では、メモリ２１２に保存された印刷データ２１１は、インクジェットヘッド２１３によって画素列毎に読み出される。読み出された画素列が白ラインを構成する画素列の場合、画像処理装置１００は、インクジェットヘッド２１３による走査処理を省略させることにより、印刷処理の高速化を図っている。しかしながら、本発明はインクジェットヘッド２１３を用いた画像処理装置１００のみならず、レーザービームプリンタ方式の画像処理装置にも適用することができる。
【００７０】
前述の通り、上述の各実施形態では、バンド（１）〜（３）の３つのバンドによって、１ページ分のデータが構成される例について示されている。例えば、図６（ａ）の中間データ２０３は、３つのバンドに分割され、それぞれのバンド単位でレンダリング処理が施される。一方、レーザービームプリンタは、一般的に、ページ単位で印刷データがバッファリングされた後に、用紙などの記録媒体に出力する。
【００７１】
上述の各実施形態の説明では説明を省略したが、各実施形態のシーケンス図において、ＣＰＵ１０１は処理開始時に初期化（Ｓ８００，Ｓ１０００，Ｓ１２００）を行う。ＣＰＵ１０１の初期化（Ｓ８００，Ｓ１０００，Ｓ１２００）は、次ページ分のデータがメモリ２１２に書き込まれる直前に行われる。例えば、図８のシーケンス図では、次ページのバンド（１）の印刷データが書き込まれる前にメモリ２１２の初期化が行われる（Ｓ８００）。これにより、画像処理部１０５における白画素の書き込み処理を省略することができる。インクジェットプリンタでは、ＣＰＵ１０１の初期化をせずに、印刷処理部１０６に白ライン情報により記録媒体の搬送を行ってもよい。
【００７２】
本実施形態において、画像処理部１０５がメモリ２１２に次ページ分の印刷データを書き込む前に、ＣＰＵ１０１はメモリ２１２を初期化する（Ｓ８００，Ｓ１０００，Ｓ１２００）。そして、実施形態１で説明した通り、画像形成部１０４による制御情報に基づいて、白ラインが復元された印刷データがメモリ２１２に書き込まれる。レーザービームプリンタは、メモリ２１２に書き込まれたページ単位の印刷データを読み出し、白ラインをスキップして記録媒体に出力する。かかる構成により、印刷処理をせずに記録媒体の搬送動作を行うことはできないレーザービームプリンタにおいても、白ラインの画像処理及び書き込み処理を省略することにより印刷処理の高速化を図ることができる。なお、実施形態１で説明した通り、白ラインにおけるインクジェットヘッド操作を省略し、記録媒体のみが搬送されるように制御可能な画像形成装置１００であれば、ＣＰＵ１０１による初期化（Ｓ８００，Ｓ１０００，Ｓ１２００）は省略することができる。
【００７３】
［その他の実施形態］
上述の各実施形態では、画像形成部１０４が、白ラインを削除したうえでビットマップデータ２０８をメモリ２１０保存するため（図６（ｂ））、メモリ帯域および必要メモリ容量の削減効果が得られた。しかしながら、画像形成部１０４が使用するメモリ容量を削減する必要がない場合は、以下に説明する構成でもよい。例えば、メモリ２１０が、バンド単位のビットマップデータ２０８を固定的に書き込み可能な容量を有するバンドメモリであった場合を例に説明する。
【００７４】
画像形成部１０４は、レンダリング処理終了後に、ビットマップデータ２０８に含まれる白ラインを認識した後、該白ライン数分スキップしたアドレスからビットマップデータ２０８を書き込む。一方、画像処理部１０５は、読み出しポインタと書き込みポインタとを同一のラインポインタとして管理し、ポインタ制御情報（８０４，８０９）に基づいて制御する。かかる構成により、画像処理部１０５は、ラインポインタからメモリ２１０からのビットマップデータ２０８の読み出しアドレスを算出することができる。同様に、ラインポインタからメモリ２１２への印刷データ２１１の書き込みアドレスを算出することができる。
【００７５】
本実施形態では、メモリ２１０の必要メモリ容量を削減することはできないが、メモリ帯域およびレンダリング処理および画像処理の高速化については、実施形態１と同様の効果を得ることができる。
【００７６】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７７】
１００・・画像処理装置
１０５・・画像処理部
２０３・・ビットマップデータ
２０６・・制御情報生成部
２０７・・ＲＩＰ部
２１０・・メモリ
２１１・・印刷データ
２１２・・メモリ
【図１】
2017034597.tif 000003
【図２】
2017034597.tif 000004
【図３】
2017034597.tif 000005
【図４】
2017034597.tif 000006
【図５】
2017034597.tif 000007
【図６】
2017034597.tif 000008
【図７】
2017034597.tif 000009
【図８】
2017034597.tif 000010
【図９】
2017034597.tif 000011
【図１０】
2017034597.tif 000012
【図１１】
2017034597.tif 000013
【図１２】
2017034597.tif 000014
【図１３】
2017034597.tif 000015
【図１４】
2017034597.tif 000016