(57)【特許請求の範囲】
【請求項１】
印刷対象データを出力するアプリケーション手段と、前記印刷対象データからページ記述言語に従って印刷装置に印刷出力を命令する印刷命令を生成する印刷命令生成手段と、前記印刷命令を前記印刷装置に出力する出力手段と、を具備する印刷処理装置であって、
前記印刷命令生成手段は、前記印刷対象データに含まれるビットマップデータに対する前記印刷命令を生成する際に、前記ビットマップデータをそのｘ，ｙ軸両方向に沿って、これらｘ軸方向およびｙ軸方向の長さのいずれもが前記印刷装置でのバンドの高さよりも小さくなるように設定して分割し、得られた分割領域毎に前記印刷命令を別々に生成してメモリへ保持させ、前記印刷装置でのバンド画像の描画処理完了時に、前記バンド画像に含まれる前記分割領域毎の前記印刷命令を前記メモリより削除することを特徴とする印刷処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷処理装置および印刷処理プログラム並びに印刷処理方法に関する。
【０００２】
【従来の技術】
従来、パーソナルコンピュータ（以下、ＰＣという）上でアプリケーションにより作成した文書など（以下、印刷対象という）をプリンタで印刷する際、プリンタドライバは、アプリケーションソフトウエアが出力した印刷対象のデータからページ記述言語に従ってプリントデータ（文字コードおよび画像データ）および制御データからなる印刷命令（以下、ＰＤＬという）を生成し、これをプリンタのプリンタコントローラに転送している。プリンタコントローラでは、インタプリタがＰＤＬを解釈して中間言語（ディスプレイリスト；ＤＬ）を生成し、描画処理実行部に入力する。描画処理実行部は、ＤＬを解釈してレンダリング（ラスタライズ）することによりビットマップデータに展開し、このビットマップデータをプリンタエンジンに供給して印刷する。
【０００３】
従来のプリンタには、描画処理実行部がビットマップデータを展開するメモリエリアを削減するために、１ページを複数のバンドに分割して描画処理を行う、バンディング処理が一般的に採用されている。バンディング処理は、描画処理実行部が、１ページ分のＤＬを保持し、各バンドに必要なＤＬのみを処理することにより各バンドの描画処理を実現するものである。
【０００４】
バンディング処理についてより詳細に説明する。図１１（ａ）に示すような１ページの印刷対象１００から生成されたＤＬがメモリ上に格納されている。描画処理実行部は、メモリ上に１バンド分のメモリエリア（以下、バンドメモリという）を確保する。次に、描画処理実行部は、印刷対象１００を複数（この例では３つ）のバンド１０１〜１０３に分割する。次いで、１バンド目の短冊状の領域１０４に含まれる文字１０５および画像１０６に対応するＤＬを選択してメモリから読み出し、これを解釈して描画処理を行い、図１１（ｂ）に示すようにバンドメモリ上に１バンド目のビットマップデータ１０７を展開する。この１バンド目のビットマップデータ１０７が全て揃ったならば、これをプリンタエンジンに出力する。このような処理を２、３バンド目の各領域に対して同様に行う。
【０００５】
上記のようなバンディング処理において、各バンドの印刷が終了したならば、このバンドのＤＬを削除することにより、ＤＬが占有するメモリエリアを解放し、メモリを効率良く利用することが可能である。しかし、図１１（ａ）に示すように、１〜３バンド目の領域のすべてにまたがった画像１０６があった場合、１〜３バンド目の印刷がすべて完了するまで、この画像１０６のＤＬをメモリから削除することができない。このため、ＤＬの格納エリアに関してはバンディング処理によるメモリ削減の効果が十分に得られない問題がある。
【０００６】
この問題を解決するために、プリンタドライバが印刷対象からＰＤＬを生成するときからバンディング処理を考慮に入れることが提案されている（特開２００１−１４４９３９号公報）。具体的には、図１１（ａ）に示すように、複数のバンド１０１〜１０３にまたがっている画像１０６からＰＤＬを生成する場合、バンドの境界線で画像を分割し、別々のＰＤＬを生成するようにする。これにより、プリンタ側での描画処理においてＤＬを複数のバンドの描画に使用することがなくなり、１つのバンドの印刷処理が完了すれば、そのバンドのＤＬをすべて削除できるようになることが期待される。
【０００７】
【発明が解決しようとする課題】
しかしながら、プリンタ側で、印刷処理時間をより短くするために、どのような印刷対象であっても用紙を横向き（用紙の搬送方向長さの方が短くなる向き）で印刷出力するように設定することがある。この場合、プリンタ側では、ＤＬに座標変換を施して画像を回転させる処理（以下、回転処理という）が行われる。
【０００８】
上述のようにプリンタドライバでＰＤＬを生成する際に、複数のバンドにまたがった画像を分割した場合、１つ１つの分割された画像データ（以下、画像断片という）はバンドと同様に短冊状で横長になる。このような横長の画像断片は回転処理に長い時間が必要になる。
【０００９】
さらに、せっかく、上述のようにプリンタドライバがバンディング処理を考慮してＰＤＬを生成しても、プリンタ側で勝手に回転処理を行うので、画像断片が複数のバンドにまたがるようになり、結果としてメモリ削減の効果が全く得られない。しかも、通常、プリンタ側で回転処理が行なわれるか否かはドライバ側ではわからないので、プリンタドライバが臨機応変に処理内容を変更することはできない。
【００１０】
本発明は、かかる点に鑑みてなされたものであり、メモリを効率良く利用できると共に、印刷処理時間を短縮できる印刷処理装置および印刷処理プログラム並びに印刷処理方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
この課題を解決するために、本発明は、印刷処理装置において、画像データから印刷命令を生成する際に、画像データをｘ，ｙ軸両方向に沿って分割し、得られた分割領域毎に印刷命令を生成することとしたこととした。
【００１２】
これにより、印刷装置で印刷命令を解釈し描画処理を行う際にバンディング処理を行った場合、１つの分割領域が複数のバンドにまたがることが少なくなるので、１つのバンドでの描画処理が終了しても以降のバンドでの描画処理が終了するまで、この分割領域の印刷命令をメモリに保持しておく必要がなくなり、メモリから早々に削除されるようになる。この結果、メモリの使用効率を上げることができる。
【００１３】
【発明の実施の形態】
本発明の第１の態様に係る印刷処理装置は、印刷対象データを出力するアプリケーション手段と、前記印刷対象データからページ記述言語に従って印刷装置に印刷出力を命令する印刷命令を生成する印刷命令生成手段と、前記印刷命令を前記印刷装置に出力する出力手段と、を具備する印刷処理装置であって、前記印刷命令生成手段は、前記印刷対象データに含まれる画像データから前記印刷命令を生成する際に、前記画像データをそのｘ，ｙ軸両方向に沿って分割し、得られた分割領域毎に前記印刷命令を生成することを特徴とする構成を採る。
【００１４】
この構成により、印刷装置で印刷命令を解釈し描画処理を行う際にバンディング処理を行った場合、１つの分割領域が複数のバンドにまたがることが少なくなるので、１つのバンドでの描画処理が終了しても以降のバンドでの描画処理が終了するまで、この分割領域の印刷命令をメモリに保持しておく必要がなくなり、メモリから早々に削除されるようになる。この結果、メモリの使用効率を上げることができる。
【００１５】
本発明の第２の態様は、第１の態様において、分割領域の形状は略正方形状であることとした。
【００１６】
この構成により、印刷装置で用紙の回転処理を行うときに、印刷命令の座標変換が短時間で済むので、印刷処理時間を短縮することができる。
【００１７】
本発明の第３の態様によれば、第１または第２の態様において、分割領域のｘ軸方向およびｙ軸方向の長さのいずれもが印刷装置でのバンドの高さよりも小さくなるように設定することとした。
【００１８】
この構成により、印刷装置で用紙の回転処理を行うか否かに問わず、分割領域が複数のバンドにまたがることが少なくなるので、常にメモリを効率良く利用することができる。
【００１９】
本発明の第４の態様に係る印刷処理プログラムは、コンピュータを、印刷対象データから描画データを取り出す描画データ取出手段と、取り出した前記描画データが画像データか否かを判定する判定手段と、前記判定手段が前記画像データであると判定したならば、前記画像データをそのｘ，ｙ軸両方向に沿って分割する分割手段と、前記分割手段で分割して得られた分割領域の画像データからページ記述言語に従って印刷装置に印刷出力を命令する印刷命令を生成する印刷命令生成手段と、として機能させる。
【００２０】
これにより、印刷装置で印刷命令を解釈し描画処理を行う際にバンディング処理を行った場合、１つの分割領域が複数のバンドにまたがることが少なくなるので、１つのバンドでの描画処理が終了しても以降のバンドでの描画処理が終了するまで、この分割領域の印刷命令をメモリに保持しておく必要がなくなり、メモリから早々に削除されるようになる。この結果、メモリの使用効率を上げることができる。
【００２１】
本発明の第５の態様は、第４の態様において、分割領域の形状は略正方形状であることとした。
【００２２】
これにより、印刷装置で用紙の回転処理を行うときに、印刷命令の座標変換が短時間で済むので、印刷処理時間を短縮することができる。
【００２３】
本発明の第６の態様は、第４または第５の態様において、分割領域のｘ軸方向およびｙ軸方向の長さのいずれもが印刷装置でのバンドの高さよりも小さくなるように設定することとした。
【００２４】
これにより、印刷装置で用紙の回転処理を行うか否かに問わず、分割領域が複数のバンドにまたがることが少なくなるので、常にメモリを効率良く利用することができる。
【００２５】
本発明の第７から第９の態様は、第４から第６の態様に係る印刷処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【００２６】
本発明の第１０の態様に係る印刷処理方法は、印刷対象データから描画データを取り出すステップと、取り出した前記描画データが画像データか否かを判定するステップと、前記画像データであると判定したならば、前記画像データをそのｘ，ｙ軸両方向に沿って分割するステップと、分割して得られた分割領域の画像データからページ記述言語に従って印刷装置に印刷出力を命令する印刷命令を生成するステップと、を具備する。
【００２７】
この方法により、印刷装置で印刷命令を解釈し描画処理を行う際にバンディング処理を行った場合、１つの分割領域が複数のバンドにまたがることが少なくなるので、１つのバンドでの描画処理が終了しても以降のバンドでの描画処理が終了するまで、この分割領域の印刷命令をメモリに保持しておく必要がなくなり、メモリから早々に削除されるようになる。この結果、メモリの使用効率を上げることができる。
【００２８】
本発明の第１１の態様は、第１０の態様において、分割領域の形状は略正方形状であることとした。
【００２９】
この方法により、印刷装置で用紙の回転処理を行うときに、印刷命令の座標変換が短時間で済むので、印刷処理時間を短縮することができる。
【００３０】
本発明の第１２の態様は、第１０または第１１の態様において、分割領域のｘ軸方向およびｙ軸方向の長さのいずれもが印刷装置でのバンドの高さよりも小さくすることとした。
【００３１】
これにより、印刷装置で用紙の回転処理を行うか否かに問わず、分割領域が複数のバンドにまたがることが少なくなるので、常にメモリを効率良く利用することができる。
【００３２】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００３３】
図１は、本発明の実施の形態に係る印刷処理装置および印刷装置を示す機能ブロック図である。
【００３４】
図１において、ホストコンピュータ１は、ＣＰＵ２を備え、ＲＯＭ、ハードディスクドライブなどの記憶手段（図示せず）から読み出したプログラムを実行することにより、オペレーションシステム（ＯＳ）３、アプリケーションソフトウエア４、プリンタドライバ５およびポートドライバ６の各機能を実現している。
【００３５】
ＯＳ３は、アプリケーションやドライバが動作するための基本システムであり、例えば、Ｗｉｎｄｏｗｓ（Ｒ）、ＵＮＩＸ（Ｒ）などである。
【００３６】
アプリケーションソフトウエア４は、１つの文書毎に、文字等のフォントデータ、図形等のラインデータおよび写真画像等のビットマップデータなどのアプリケーションデータを作成する。アプリケーションソフトウエア４は、作成したアプリケーションデータの印刷出力をＯＳ３に要求する。プリンタドライバ５は、ＯＳ３の命令に従って、アプリケーションデータからＰＤＬを生成する。ポートドライバ６は、ＬＡＮ、パラレルケーブルなどの通信路７に接続されたインタフェース（Ｉ／Ｆ）８を制御する。
【００３７】
一方、プリンタ９は、プリンタコントローラ１０、メモリ１１およびプリンタエンジン１２により構成されている。
【００３８】
プリンタコントローラ１０は、プリンタＣＰＵ（図示せず）がプログラムを実行することにより実現するものであり、ポートドライバ１３、インタプリタ１４、描画処理実行部１５および回転処理実行部１６により構成されている。
【００３９】
ポートドライバ１３は、通信路７に接続されたインタフェース（Ｉ／Ｆ）１７を制御する。インタプリタ１４は、ホストコンピュータ１から転送されたＰＤＬを解釈し、ＤＬを生成する。生成したＤＬは、メモリ１１上のＤＬメモリ１８に記憶する。回転処理実行部１６は、ＤＬメモリ１８からＤＬを読み出し、回転処理が必要な場合、ＤＬを座標変換する。描画処理実行部１５は、ＤＬを解釈してビットマップデータをメモリ１１上に確保したバンドメモリ１９に展開する。
【００４０】
プリンタエンジン１２は、バンドメモリ１９からビットマップデータを読み出し、印刷出力を実行する。
【００４１】
次に、プリンタドライバ５の機能について説明する。図２は、上記実施の形態に係るプリンタドライバの機能を示すブロック図である。
【００４２】
プリンタドライバ５において、ヘッダ・フッタ作成部２１は、アプリケーションデータを受け取ったならば、図３（ａ）に示すＰＤＬのデータフォーマット３０の先頭を示すヘッダ３１を生成し、このヘッダ３１にスタートマーク文書名などの情報をセットする。また、文書のページの区切りを示すページ識別子３２を生成し、描画コマンドセット３３間に挿入する、さらに、アプリケーションデータの全ての描画データについて処理が終了したならば、ＰＤＬの末尾を示すフッタ３４を生成する。
【００４３】
描画データ取出部２２は、アプリケーションデータから描画データを取り出し、描画データ判定部２３に渡す。描画データ判定部２３は、ＷＭＦ（ウィンドウズ（Ｒ）メタファイル）のようなアプリケーションのデータフォーマットに基づいて描画データが、フォント、ライン、ビットマップのいずれであるか判定し、それぞれに適した処理部に描画データを振り分ける。フォントデータおよびラインデータは、フォント・ライン処理部２４に送られる。
【００４４】
一方、ビットマップデータは、分割処理判定部２５に送られる。分割処理判定部２５は、分割領域・パラメータ２６に設定された分割領域のサイズを基準として、分割処理の要否を判定する。判定により分割処理が必要であれば、ビットマップデータを分割処理実行部２７に渡し、不要であれば、ビットマップ処理部２８に渡す。
【００４５】
分割処理実行部２７は、元のビットマップデータを分割領域のサイズを基準に分割する。より具体的に説明すると、ビットマップデータは、ビットマップデータを展開したときの画像（以下、展開時画像という）の印刷を開始する始点（以下、印刷始点という）Ｐの座標（Ｐｘ，Ｐｙ）、サイズ（幅、高さ）（Ｄｘ、Ｄｙ）のパラメータおよび実データで構成されている。このようなビットマップデータの展開時画像の一例を図４に示す。分割処理実行部２７が、この展開時画像４０を、分割領域のサイズを基準として分割すると、６つの分割領域（１，１）、（２，１）、（３，１）、（１，２）、（２，２）および（３，２）が得られるので、各分割領域のサイズ、および、元のビットマップデータ上の位置を示す座標を算出し、記憶する。分割処理実行部２７は、記憶した座標およびサイズに基づいて、各分割領域の印刷始点の座標を算出する。また、元のビットマップデータから各分割領域内の画素データを選択的に複製する。そして、印刷始点の座標、分割領域のサイズ、および、複製したビットマップデータから、ビットマップ描画コマンドセットを生成する。
【００４６】
ここで、分割領域の形状は、図５に示すように、回転処理での計算を簡略化するために略正方形であることが好ましい。また、分割領域のサイズは、バンディング処理で分割領域が複数のバンド（特に３つ以上のバンド）にまたがる可能性が少なくなるように設定されることが好ましい。
【００４７】
フォント・ライン処理部２４は、通常の手順に従って、フォントデータおよびラインデータからＰＤＬに従ってフォントおよびラインの描画コマンドセットを生成する。同様に、ビットマップ処理部２８は、分割処理判定部２５から渡されたビットマップデータに基づいて描画コマンドラインを生成する。図３（ｂ）にビットマップデータから生成した描画コマンドセットの一例を示す。描画コマンドセット３５は、先頭から描画コマンド３６、描画コマンド３６のパラメータとしての座標３７およびサイズ３８、並びに、実データ３９で構成されている。
【００４８】
以上のような構成からなるプリンタドライバ５を搭載したホストコンピュータでのプリンタ制御について説明する。図６は、上記実施の形態に係る印刷処理装置における印刷処理手順を示すフロー図である。
【００４９】
プリンタドライバ５では、アプリケーションソフトウエア４が生成したアプリケーションデータを受信したならば、ヘッダ・フッタ作成部２１がＰＤＬのヘッダ３１を作成する（ステップ（以下、ＳＴという）６０１）。次に、描画データ取出部２２が、アプリケーションデータから描画データを１つ取り出す（ＳＴ６０２）。
【００５０】
描画データ判定部２３は、取り出した描画データの種別を判定する（ＳＴ６０３）描画データがラインデータまたはフォントデータであれば、フォント・ライン処理部２４は、ラインまたはフォント描画コマンドセットを生成する（ＳＴ６０４）。一方、ＳＴ６０３において、描画データがビットマップデータであれば、分割処理判定部２５が、ビットマップデータの展開時画像のサイズ（Ｄｘ，Ｄｙ）が、分割領域のサイズ（Ｂｘ，Ｂｙ）よりも大きいか否か判定する（ＳＴ６０５）。Ｎｏであれば、ビットマップ処理部２８が分割しない元のままのビットマップデータからビットマップ描画コマンドセットを生成する（ＳＴ６０４）。
【００５１】
一方、ＳＴ６０５でＹｅｓであれば、分割処理実行部２７は、ビットマップデータの展開時画像を分割したときの分割領域の座標およびサイズを算出する（ＳＴ６０６）。
【００５２】
ＳＴ６０６の処理を、図４に示す展開時画像４０を分割する場合を例に挙げて説明する。まず、分割処理実行部２７は、分割領域・パラメータ２６に設定された分割領域のサイズ（Ｂｘ，Ｂｙ）を読み出す。この分割領域のサイズ（Ｂｘ，Ｂｙ）で、展開時画像４０を印刷始点Ｐからｘ軸方向（幅方向）に沿って順番に分割して行く。このとき、これらの分割領域に、印刷始点Ｐを基準としてｘ軸方向およびｙ軸方向（高さ方向）にそれぞれ番号（ｘ、ｙ）を付けて、（１，１）、（２，１）および（３，１）のように定義する。一列目の分割が終了したならば、ｙ軸方向に分割領域の高さ（Ｂｙ）だけシフトし、再びｘ軸方向に沿って順番に分割し、分割領域（１，２）、（２，２）および（３，２）を得る。次に、得られた分割領域の先頭ビットの座標およびサイズをそれぞれ分割領域毎に記憶する。このような処理によって、分割領域のビットマップデータ上での位置およびサイズがわかる。
【００５３】
次に、分割処理実行部２７は、処理対象の分割領域を示す番号（ｘ，ｙ）をそれぞれ１にセットする（ＳＴ６０７）。セットされた番号に対応する分割領域の先頭ビットの座標を読み出し、この先頭ビットの座標と元のビットマップデータの印刷始点Ｐの座標（Ｐｘ，Ｐｙ）とから、この分割領域の印刷始点を算出する（ＳＴ６０８）。次に、処理対象の分割領域のサイズを読み出し、このサイズ相当のワークエリアをメモリ上に確保する（ＳＴ６０９）。次いで、分割領域内のビットマップデータをワークエリアにコピーする（ＳＴ６１０）。より具体的には、分割領域内のビットマップデータをｘ軸方向に１ラインずつ分割領域の幅分だけ読み出し、ワークエリアに書き込む。これを分割領域の高さ分だけ繰り返す。例えば、分割領域のサイズが１００×１００ビットであれば、先頭ビット（ｘ，ｙ）のｘ軸上の位置を先頭として、先頭ビットのｙ軸上の画素データを１００ビット読み出し、ワークエリアの１行目のアドレスに書き込む。次いで、ｙ＋１軸上の画素データを１００ビット読み出してワークエリアの２行目のアドレスに書き込む。これを１００ライン分繰り返す。
【００５４】
次いで、ＳＴ６０８で算出した印刷始点の座標、ＳＴ６０６で算出したサイズ、および、ＳＴ６１０でワークエリアにコピーしたビットマップデータに基づいて、処理対象の分割領域（ｘ、ｙ）のビットマップ描画コマンドセットを生成する（ＳＴ６１１）。
【００５５】
１つの分割領域について処理が終了したならば、この分割領域がｘ軸方向の最後か否か判定する（ＳＴ６１２）。Ｎｏであれば、処理対象の分割領域の番号ｘを１インクリメントし（ＳＴ６１３）、ＳＴ６０８に戻る。一方、Ｙｅｓであれば、この分割領域がｙ軸方向の最後か否か判定する（ＳＴ６１４）。Ｎｏであれば、分割領域の番号ｙを１インクリメントし（ＳＴ６１５）、ＳＴ６０８に戻る。図４に示す例で言えば、このようなＳＴ６０８〜ＳＴ６１５の処理によって、分割領域（１，１）から出発して（２，１）、（３，１）、（１，２）、（２，２）、（３、２）という順番で各分割領域のビットマップ描画コマンドセットが生成される。
【００５６】
ＳＴ６１４でＹｅｓ、すなわちすべての分割領域について処理が終了した場合、および、ＳＴ６０４で描画コマンドセットの生成が終了した場合、アプリケーションデータに次の描画データがあるか否か判定する（ＳＴ６１６）。Ｙｅｓであれば、ＳＴ６０２に戻る。Ｎｏであれば、ヘッダ・フッタ作成部２１がフッタ３４を作成し（ＳＴ６１７）、処理を終了する。
【００５７】
このような処理によって、文書毎に１つのＰＤＬが生成され、通信路７を介してプリンタ９に送信される。次に、プリンタ９での印刷処理について説明する。図７は、上記実施の形態に係る印刷処理装置が制御する印刷装置における印刷処理を示すフロー図である。
【００５８】
プリンタ９では、ポートドライバ１３がインタフェース１７を介してＰＤＬを受信したならば、インタプリタ１４が解釈してディスプレイリスト（ＤＬ）を生成し、ＤＬメモリ１８に記憶する。ＤＬは、データフォーマットが変更されるだけでＰＤＬと実質的に同じ内容を表しているので、本実施の形態では説明の便宜上ＰＤＬのデータフォーマットと同じ名称を用いて説明を続けることとする。
【００５９】
描画処理実行部１５は、ＤＬのヘッダから用紙サイズ（例えばＡ４縦）を取得し、また、プリンタ９の給紙部に格納されている用紙サイズを取得し、これらから、図８（ａ）に示すようなバンドメモリ８１のサイズ（幅；Ｂｗ、高さ；Ｂｌ）を決定する（ＳＴ７０１）。
【００６０】
次に、描画処理実行部１５は、バンドの順番を示す係数ｎを１にセットし（ＳＴ７０２）、ｎ番目のバンドを展開するためのバンドメモリｎをメモリ１１の上に用意する（ＳＴ７０３）。
【００６１】
次に、描画処理実行部１５は、ＤＬメモリ１８から描画コマンドセットを１つ取り出し（ＳＴ７０４）、回転処理が必要か否か判定する（ＳＴ７０５）。回転処理の要否は、用紙の開き（縦、横）により決定する。Ｙｅｓであれば、回転処理実行部１６は、描画コマンドセットの座標変換を行う（ＳＴ７０６）。
【００６２】
ここでの座標変換は、縦方向にある用紙を横方向に印刷出力するための座標変換であり、９０度の座標変換の方法による公知の技術によるもので良い。例えば、変換前の画像データの原点（左上の頂点の座標）を、変換後には画像データの左下の頂点の座標となるよう変換し、変換前の画像データの右上の頂点の座標を、変換後には画像データの原点（左上の頂点の座標）となるよう変換する。以下、同様に、画像データの左下の頂点の座標は、右下の頂点の座標に、画像データの右下の頂点の座標は、右上の頂点の座標となるよう変換し、画像データ中のその他の画素における座標も上記に準じた方法によりそれぞれ座標変換する。
【００６３】
ＳＴ７０５でＮｏであれば、ＳＴ７０６をスキップしてＳＴ７０７に進む。ＳＴ７０７では、描画処理実行部１５は、バンドメモリｎの領域内に入る場合には、この描画コマンドセット中の実データをビットマップデータとしてバンドメモリｎに描画する。バンドメモリｎの領域内に入るとは、例えば、図８（ｂ）に示すように、ビットマップデータを展開した画像８２の少なくとも一部がバンドメモリ８１内に含まれる場合をいう。
【００６４】
次に、処理中の描画コマンドセットを展開したビットマップデータがバンドメモリｎ内で完結するか否か判定する（ＳＴ７０８）。Ｙｅｓであれば、この描画コマンドセットは、これ以降のバンドメモリについての処理には利用されないので、ＤＬメモリ１８から削除する（ＳＴ７０９）。一方、Ｎｏであれば、まだ利用されるのでＤＬメモリ１８に残す必要があるので、ＳＴ７０９をスキップしてＳＴ７１０に進む。
【００６５】
この後、ＳＴ７１０〜ＳＴ７１３で処理を終了するか否か判定を行い、すべての描画コマンドセットについて描画を行う。このようにして、バンド毎に展開したビットマップデータをプリンタエンジン１２に順次出力し、印刷出力を行わせる。
【００６６】
上述のように、本実施の形態によれば、ホストコンピュータ１のプリンタドライバ５において、アプリケーションデータからＰＤＬを生成する際に、ビットマップデータが、ある程度大きく、複数のバンドにまたがるおそれがある場合、ビットマップデータをｘ軸およびｙ軸の両方に沿って複数に分割し、得られた分割領域毎に描画コマンドセットを別々に生成している。これにより、プリンタ９において、描画コマンドセットを描画したときに、あるバンドの描画に使用した描画コマンドセットを、それ以降のバンドの描画処理に利用することがほとんどなくなるので、描画コマンドセットをＤＬメモリ１８から早々に削除することができる。この結果、メモリ１１上の、ＤＬメモリ１８が占有する領域を常に少なく保つことができ、メモリ１１を効率良く利用することができる。
【００６７】
また、図５に示すように分割領域５０の形状を略正方形にした場合、本実施の形態のように、プリンタコントローラ１０において回転処理を行うときに、回転処理時のビットマップデータの座標変換が短時間で済む。
【００６８】
これは、分割領域を一つの単位としてメモリに格納し、これを回転させているため、小さいメモリでこれを実行可能としていることから、メモリ上での扱うデータ量を少なくすることができるとともに、データの転送量等を少なくすることができ、座標変換を短時間で実行することができるものとなっている。
【００６９】
さらに、分割領域の幅（Ｂｘ；ｘ軸方向長さ）および高さ（Ｂｙ；ｙ軸方向長さ）のいずれもがバンドの高さよりも小さくなるように設定した場合、本実施の形態ように回転処理を行うプリンタ９において、メモリ１１をより一層効率良く利用することができる。図９および図１０を参照して、この効果についてより詳細に説明する。
【００７０】
例えば、図９に示す参考例では、図９（ａ）に示すようなＡ４縦の文書中のビットマップデータ９１を、プリンタ９側でのバンディング処理を考慮して、バンド１、２の境界線で分割し、バンド１内の短冊状（横長）の画像断片９１ａについて描画コマンドセットを生成している。このため、Ａ４縦のまま印刷する場合には、画像断片９１ａを描画したときにバンド１に納まり、バンド１の描画が終了すれば、その描画コマンドセットをＤＬメモリ１８から削除することができるので、メモリ１１の使用効率が上がる。
【００７１】
しかし、本実施の形態のプリンタ９のように、回転処理を行って図９（ｂ）に示すようにＡ４横の用紙に印刷する場合、画像断片９１ａは、バンド１〜バンド３にまたがってしまい、バンド３での描画が完了するまでＤＬメモリ１８に保持する必要があるため、メモリ１１の使用効率は上がらない。
【００７２】
一方、図１０に示す本発明の場合、ビットマップデータ９１を、幅および高さのいずれもがバンドに納まるサイズの分割領域Ａ〜Ｈに従って分割し、これらから描画コマンドセットを別々に生成している。これにより、図１０（ａ）に示すように、プリンタ９でＡ４縦の用紙に印刷する場合に、バンド１の描画処理が完了すれば、分割領域Ａ〜Ｄの描画コマンドセットをＤＬメモリから削除することができるので、メモリ１１の利用効率が上がる。さらに、図１０（ｂ）に示すように、プリンタ９で回転処理を行い、Ａ４横の用紙に印刷する場合、バンド１の描画処理が完了したならば分割領域Ｄ，Ｈの描画コマンドセットをＤＬメモリ１８から削除し、次いで、バンド２の描画処理が完了すれば、分割領域Ｂ，Ｃ，Ｆ，Ｇの描画コマンドセットを削除するので、メモリ１１の使用効率を上げることができる。
【００７３】
本発明は、当業者に明らかなように、上記実施の形態に記載した技術にしたがってプログラムされた一般的な市販のデジタルコンピュータおよびマイクロプロセッサを使って実施することができる。また、当業者に明らかなように、本発明は、上記実施の形態に記載した技術に基づいて当業者により作成されるコンピュータプログラムを包含する。
【００７４】
また、本発明を実施するコンピュータをプログラムするために使用できる命令を含む記憶媒体であるコンピュータプログラム製品が本発明の範囲に含まれる。この記憶媒体は、フロッピー（Ｒ）ディスク、光ディスク、ＣＤＲＯＭおよび磁気ディスク等のディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気光カード、メモリカードまたはＤＶＤ等であるが、特にこれらに限定されるものではない。
【００７５】
【発明の効果】
以上説明したように、本発明によれば、ビットマップデータから印刷命令を生成する際に、ビットマップデータをｘ，ｙ軸両方向に沿って分割し、得られた分割領域毎に印刷命令を別々に生成してメモリへ保持させ、印刷装置でのバンド画像の描画処理完了時に、バンド画像に含まれる分割領域毎の印刷命令をメモリより削除するようにしたので、印刷装置のメモリを効率良く利用できると共に、印刷処理時間を短縮できる印刷処理装置を提供することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る印刷処理装置および印刷装置を示す機能ブロック図
【図２】上記実施の形態に係るプリンタドライバの機能を示すブロック図
【図３】上記実施の形態に係るＰＤＬフォーマットおよびビットマップ描画コマンドセットの一例を示す図
【図４】上記実施の形態に係る展開時画像の分割の一例を示す図
【図５】上記実施の形態に係る分割領域の一例を示す図
【図６】上記実施の形態に係る印刷処理装置における印刷処理手順を示すフロー図
【図７】上記実施の形態に係る印刷処理装置が制御する印刷装置における印刷処理を示すフロー図
【図８】上記実施の形態でのバンドメモリおよびバンドメモリへの描画処理を示す図
【図９】参考例での描画処理された画像データを示す図
【図１０】本発明での描画処理された画像データを示す図
【図１１】従来の印刷装置におけるバンディング処理を説明する図
【符号の説明】
１  ホストコンピュータ
２  ＣＰＵ
３  オペレーションシステム（ＯＳ）
４  アプリケーションソフトウエア
５  プリンタドライバ
６，１３  ポートドライバ
７  通信路
８，１７  インタフェース
９  プリンタ
１０  プリンタコントローラ
１１  メモリ
１２  プリンタエンジン
１４  インタプリタ
１５  描画処理実行部
１６  回転処理実行部
１８  ＤＬメモリ
１９  バンドメモリ
２１  ヘッダ・フッタ作成部
２２  描画データ取出部
２３  描画データ判定部
２４  フォント・ライン処理部
２５  分割処理判定部
２６  分割領域・パラメータ
２７  分割処理実行部
２８  ビットマップ処理部
４０  展開時画像
５０  分割領域
８１  バンドメモリ
８２  画像
９１  ビットマップデータ
９１ａ  画像断片
【図１】
0003655219.tif 000002
【図２】
0003655219.tif 000003
【図３】
0003655219.tif 000004
【図４】
0003655219.tif 000005
【図５】
0003655219.tif 000006
【図６】
0003655219.tif 000007
【図７】
0003655219.tif 000008
【図８】
0003655219.tif 000009
【図９】
0003655219.tif 000010
【図１０】
0003655219.tif 000011
【図１１】
0003655219.tif 000012