(57)【要約】【課題】  １つのページ内に複数の画像、あるいは文字データ等を配したページデータをバンディング処理を用いて印刷するとき、バンドイメージを生成し、ラスタライズ処理を行う結果、不要なメモリ領域の占有が発生していた。【解決手段】  分割した領域内のグラフィックオブジェクト検知手段と、同オブジェクトの種別の検知手段と、同オブジェクトが画像データである場合に当該画像の属性を取得する画像属性取得手段とを有し、前記各手段により取得したオブジェクト種別、画像属性に基づきホストコンピュータ上で展開処理を行うか否かを判定する判定手段を具備するものである。【選択図】  図１
2006031086.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを複数の領域に分割して展開する処理方法であって、
前記分割した領域内のグラフィックオブジェクト検知手段と、
前記グラフィックオブジェクトの種別の検知手段と、
前記グラフィックオブジェクトが画像データである場合に当該画像の属性を取得する画像属性取得手段と、
を有し、
前記オブジェクト検知手段、前記種別検知手段、および前記画像属性取得手段により取得したオブジェクト種別、画像属性に基づきホストコンピュータ上で展開処理を行うか否かを判定する判定手段を具備すること、
を特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータ上において印刷データを生成し、印刷を行う印刷システムに関する。
【背景技術】
【０００２】
従来、レーザービームプリンタ、インクジェットプリンタ等、いわゆるページプリンタに画像や文字、グラフィックオブジェクト等の印刷出力を行うＤＴＰアプリケーションソフトが用いられている。前記アプリケーションがホストコンピュータ上からプリンタへ印刷データを送る処理は一般に次の２つの方法が用いられている。すなわち、ページ記述言語に代表される高水準な描画命令をプリンタに送り、画像や文字、グラフィックオブジェクトの展開処理（ラスタライズ）をプリンタ側で行う方法、および、ラスタライズ処理をホストコンピュータ上で行い、生成した画像データをプリンタに送る方法である。前者の方法はホストコンピュータ上での処理量が少なく、印刷指示発行からコンピュータ上のリソースが解放されるまでの時間も少ないことから、一般に広く用いられている。一方、近年のランダムアクセスメモリ等のコンピュータ資源の低価格化によりホームユースのコンピュータの処理能力が飛躍的に向上していること、およびページデータの複雑化により、ホストコンピュータ上でラスタライズを行う方式もよく用いられている。また、フルカラーのページデータ全体を一度にラスタライズすると巨大なメモリ量が必要になることから、どちらの方法においてもページ領域を複数の領域に分割し、順次ラスタライズするいわゆるバンディング処理を行うのが一般的である。（特許文献１）
【特許文献１】特開平０７−１９５７５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
一般的なＤＴＰアプリケーションプログラムや、デジタルフォトアルバムソフトにおいて、１つのページ内に複数の画像、あるいは文字データ等を配して電子アルバム風に仕上げるといった利用法がある。このようなページデータをバンディング処理を用いて印刷するとき、ページ内に配置する各オブジェクトの種別および配置によっては特定のバンドを生成せずとも良い状況がありえる。上記背景技術において、そのような状況でもバンドイメージを生成し、ラスタライズ処理を行う結果、不要なメモリ領域の占有が発生していた。その結果、処理に時間がかかったり、ホストコンピュータ上での他の処理を行えなくなるといった課題があった。
【課題を解決するための手段】
【０００４】
上記課題を解決するための手段として本発明は、印刷データを複数の領域に分割して展開する処理方法において、前記分割した領域内のグラフィックオブジェクト検知手段と、前記グラフィックオブジェクトの種別の検知手段と、前記グラフィックオブジェクトが画像データである場合に当該画像の属性を取得する画像属性取得手段と、を有し、前記オブジェクト検知手段、前記種別検知手段、および前記画像属性取得手段により取得したオブジェクト種別、画像属性に基づきホストコンピュータ上で展開処理を行うか否かを判定する判定手段を具備するものである。
【発明の効果】
【０００５】
本発明により、印刷データを複数の領域に分割して展開する処理方法において、ホストコンピュータ上で印刷処理に割かれるトータルメモリ量、処理時間を低減する効果を得るものである。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照しながら本発明の実施例を説明する。
【０００７】
図１に本発明を構成するシステムのブロック図を示す。
図１において、１０１は、ホストコンピュータ、１０２は、中央演算処理装置（ＣＰＵ）、１０３は、システムバス、１０４は、主記憶装置（ＲＡＭ）、１０５は、補助記憶装置（ＨＤ）、１０６は、周辺機器制御装置、１０７は、カラー印刷装置である。
【０００８】
ホストコンピュータ１０１内において、ＣＰＵ１０２、ＲＡＭ１０４、ＨＤ１０５、周辺機器制御装置１０６はそれぞれシステムバス１０３に代表される内部バスを介して接続されている。ホストコンピュータ１０１と、カラー印刷装置１０６はＩＥＥＥ１３９４ケーブル等の有線、あるいは無線接続にて接続されている。
【０００９】
また、前記各々の構成要素はローカルエリアネットワーク等の種々のネットワークを介して接続されていても良いものである。
【００１０】
カラー印刷装置１０７（以下単にプリンタとも称する）はレーザービームプリンタや、インクジェットプリンタ等、その記録方式は限定しない。また本実施例ではカラー出力の印刷装置を例にあげるが、モノクロであっても本発明に適用可能である。また、ホストコンピュータ１０１は不図示のキーボード等に代表される入力装置、およびＣＲＴ等に代表される出力装置を備えるものである。
【００１１】
始めにオペレータは入力装置を介して、ＨＤ１０５に格納されているＤＴＰアプリケーションプログラムの起動をＣＰＵ１０２に指示する。ＣＰＵ１０２はＨＤ１０５からプログラム実行コードをＲＡＭ１０４上にロードし、出力装置に初期画面を表示する。
【００１２】
オペレータは前記アプリケーションプログラム上で、ここでは詳述しないいわゆるＤＴＰアプリケーションにおける一般的な操作により画像や文字等のグラフィックオブジェクトをページ領域上に配置する。ここではＡ４サイズ（２１０ｍｍ×２９７ｍｍ）のページ上に画像３枚と、文字列データを配したページデータを作成するものとする。
【００１３】
作成したデータのページイメージを図２に示す。
【００１４】
図２において、２０１はページ領域、２０２は第１の画像データ、２０３は第２の画像データ、２０４は第３の画像データ、２０５は文字列データである。
【００１５】
上記第１の画像データと、第２の画像データは、透明情報を持たない画像であり、一方第３の画像データは透明情報を持つ画像である。また、これら画像データには重なり順が定義されており、下から第１の画像データ、第２の画像データ、第３の画像データの順に配置されている。したがって、半透明状の第３の画像データの下に第１の画像データ、第２の画像データが透けて見えている状態となっている。
【００１６】
上記のごとく所望の配置を実現したあと、オペレータは印刷指示を発行する。
【００１７】
前記アプリケーションプログラムは印刷指示を受け、印刷処理を開始する。図３は印刷指示発行後のプログラムの処理ステップを表したものである。
【００１８】
また、本実施例における印刷処理の概念を表すブロック図を図５に示す。
【００１９】
図５において、５０１はホストコンピュータ、５０２はアプリケーションプログラム、５０３は印刷処理部、５０４はバンドイメージ、５０５はアプリケーションプログラムインタフェース（ＡＰＩ）、５０６はプリンタ制御プログラム（プリンタドライバ）、である。
【００２０】
ホストコンピュータ５０１内の好適な場所に格納されているアプリケーションプログラム５０２は、内部に印刷処理部５０３を有する。印刷処理部５０３は以下に詳述する方法によりバンドイメージ５０４を生成し、前記イメージ上に各種描画を行ったり、オペレーティングシステムが提供するＡＰＩ５０５を用いてプリンタに直接描画を指示したりするものである。描画指示はプリンタドライバ５０６により解釈され、プリンタ固有の描画命令として送信される。
【００２１】
以下、図３について説明する。
【００２２】
印刷指示を受けたプログラムはステップＳ３０１にて、出力先のプリンタの解像度を取得する。
【００２３】
次にステップＳ３０２にて前記取得した解像度、およびページサイズよりページデータ全体のラスタライズ処理に必要なメモリイメージサイズを決定し、メモリ容量を計算する。本実施例ではステップＳ３０１にて３００ｄｐｉが得られたものとする。メモリイメージの形式は実装に依存するが、本実施例ではＲＧＢ各色８ｂｉｔとし、１画素あたり３ｂｙｔｅの記憶領域を必要とする。ページ全体に必要な記憶容量は以下の計算式より得られる。
【００２４】
２１０×２９７（ｍｍ）＝８．２６７７×１１．６９２９（ｉｎｃｈ）＝２４８０×３５０８（ｄｏｔ）＝８６９９８４０
８６９９８４０＊３（ｂｙｔｅ）＝２４．８９（ＭＢ）
すなわち、およそ２５ＭＢのメモリ領域が必要である。
【００２５】
次にステップＳ３０３にて既定のサイズのバンド分割位置を算出しておく。ここではバンドメモリサイズの上限（既定値）を７ＭＢとして、ページ領域を水平方向に等分割する。ここでの分割イメージを図４に示す。
【００２６】
図４において、４０１は第１の分割線、４０２は第２の分割線、４０３は第３の分割線である。
【００２７】
なお、図４において、図２と同一のものについては同じ符号を付している。
【００２８】
ここでの分割は各バンドサイズが等しくなるように行うものであるので、ページ上端をゼロとしたときの第１の分割線４０４のＹ座標は８７７（ｄｏｔ）、第２の分割線４０５のＹ座標は１７５４（ｄｏｔ）、第３の分割線４０６のＹ座標は２６３１（ｄｏｔ）となり、各々のバンドイメージのメモリサイズは、２４８０×８７７×３＝６．２２（ＭＢ）となる。
【００２９】
なお、本発明はバンディング処理の分割方法を制限するものではなく、例えばバンド分割方向は短冊状に縦方向に分割しても良いし、また縦横にタイル状に分割しても良いものである。
【００３０】
次にステップＳ３０４に進み、第１のバンドのラスタライズ処理を行う。
【００３１】
本処理では始めにバンド内に存在するグラフィックオブジェクトそれぞれについてオブジェクト種別を求め、さらにオブジェクト種別が画像である場合には透明情報を持つか否かも取得しておく。
【００３２】
第１のバンド内に存在するのは画像データ２０２および２０３であり、いずれも透明情報を持たないものである。
【００３３】
続いてステップＳ３０５にてバンドイメージ５０４を生成するか否かを判定する。本実施例では、透明情報を持たない画像データ、文字列データ、および図形データはＯＳ５０６が提供するＡＰＩ５０５の機能を用いて描画するものとし、これらのデータの描画にはバンドイメージの生成は不要であるものである。
【００３４】
第１のバンドに関して、バンドイメージの生成は不要と判定されるので、ステップＳ３１１に進む。
【００３５】
ステップＳ３１１ではオペレーティングシステムが提供するＡＰＩ５０５である描画命令を使って、直接プリンタに描画指示を発行する。すなわち、重なり順が下位である画像２０２の第１のバンドに描画される部分の画像描画指示、続いて画像２０３の第１のバンドに描画される部分の画像描画指示をプリンタに送るものである。
【００３６】
以上で第１のバンドのラスタライズ処理は終了である。
【００３７】
続いてステップＳ３１０を経由してステップＳ３０４に戻り、第２のバンドのラスタライズ処理を行う。
【００３８】
ステップＳ３０５にて、第１のバンドの場合と同様にバンド内のオブジェクトを識別する。ここでは第１の画像データ、第２の画像データ、および第３の画像データが得られ、第３の画像データは透明情報を持つため、バンドメモリイメージを作成する必要があると判断し、ステップＳ３０６に進む。
【００３９】
ステップＳ３０６にて必要なサイズのバンドイメージ５０４をＲＡＭ１０４上に生成し、ここに各グラフィックオブジェクトを描画する（ステップＳ３０７）。すなわち、オブジェクトの重なり順に第１の画像データ、第２の画像データ、第３の画像データの順に描画する。第３の画像データは透明情報を持つため、バンドイメージ５０４上に既に描画済みの第１の画像データまたは第２の画像データの描画結果と適宜合成処理を行いつつ描画を行うものである。
【００４０】
これらの処理の完了後、ステップＳ３０８にてバンドイメージを１つの画像データとしてプリンタに送信し、本バンドのラスタライズ処理を終了する。
【００４１】
ステップＳ３０９でバンドイメージ５０４を破棄した後、ステップＳ３１０を経由し、続いて第３のバンドのラスタライズ処理を行う。
【００４２】
第３のバンド上にはグラフィックオブジェクトとして第１の画像データおよび第３の画像データが存在し、第２のバンドの場合と同様、バンドイメージ５０４を生成する方法にてラスタライズ処理を行う。
【００４３】
最後に第４のバンドのラスタライズ処理を行う。第４のバンド上には文字列データ２０５のみが存在し、ステップＳ３０５のバンドイメージ生成判定処理にて否が選択される。
【００４４】
すなわちステップＳ３１１にてオペレーティングシステムが提供するＡＰＩ５０５であるところの文字列描画機能を用いてプリンタへの描画指示を発行し、ラスタライズ処理を完了する。
【００４５】
以上でページ全体の印刷処理は完了し、プリンタより印刷結果が出力される。
【図面の簡単な説明】
【００４６】
【図１】実施例の構成図
【図２】実施例における印刷データページイメージ
【図３】実施例における印刷処理ステップ
【図４】実施例における印刷データ分割イメージ
【図５】実施例における印刷処理概念図
【符号の説明】
【００４７】
１０１  ホストコンピュータ
１０２  中央演算処理装置（ＣＰＵ）
１０３  システムバス
１０４  主記憶装置（ＲＡＭ）
１０５  補助記憶装置（ＨＤ）
１０６  周辺機器制御装置
１０７  カラー印刷装置
２０１  ページ領域
２０２  第１の画像データ
２０３  第２の画像データ
２０４  第３の画像データ
２０５  文字列データ
４０１  第１の分割線
４０２  第２の分割線
４０３  第３の分割線
５０１  ホストコンピュータ
５０２  アプリケーションプログラム
５０３  印刷処理部
５０４  バンドイメージ
５０５  アプリケーションプログラムインタフェース（ＡＰＩ）
５０６  プリンタ制御プログラム（プリンタドライバ）
【図１】
2006031086.tif 000003
【図２】
2006031086.tif 000004
【図３】
2006031086.tif 000005
【図４】
2006031086.tif 000006
【図５】
2006031086.tif 000007