(57)【特許請求の範囲】
【請求項１】
印刷装置で印刷すべき印刷データを生成するプリンタドライバを備えるホストコンピュータとしての情報処理装置において使用するバンドメモリサイズを決定するバンドメモリサイズ決定方式であって、
アプリケーションから印刷要求が前記プリンタドライバに発行された場合に、前記印刷装置と通信することにより前記印刷装置内の未処理データのサイズを取得する未処理データサイズ取得ステップと、
前記未処理データサイズ取得ステップにより取得された未処理データのサイズに基づき、当該未処理データを前記印刷装置が印刷終了するまでに前記プリンタドライバで生成できるバンドサイズを決定するバンドサイズ決定ステップと、
前記バンドサイズ決定ステップで決定したバンドサイズ分のバンドメモリを獲得するバンドメモリ獲得ステップと、
入力された文字を含む入力データを、前記印刷装置の解像度に合わせて前記プリンタドライバを用いて、前記バンドメモリにイメージデータとして展開するイメージ展開処理ステップと、
を備えることを特徴とするバンドメモリサイズ決定方式。
【請求項２】
前記ホストコンピュータ内の空きメモリサイズを取得するフリーメモリサイズ取得ステップを更に備え、
前記バンドサイズ決定ステップは、前記未処理データを前記印刷装置が印刷終了するまでに前記プリンタドライバで生成できるバンドサイズと、前記フリーメモリサイズ取得ステップで取得された空きメモリサイズの小さい方をバンドサイズとして決定することを特徴とする請求項１に記載のバンドメモリサイズ決定方式。
【請求項３】
前記バンドサイズ決定ステップで決定したバンドサイズと、前回値のバンドサイズとの異同を判断するバンドサイズ変更判断ステップを更に備え、
前記バンドメモリ獲得ステップは、前記バンドサイズ変更判断ステップで各バンドサイズが異なると判断された場合に、前記決定したバンドサイズ分のバンドメモリを獲得することを特徴とする請求項１または２に記載のバンドメモリサイズ決定方式。
【請求項４】
プリンタドライバによる全てのページの印刷データの出力が行われたか判断する終了判断ステップを更に備え、
前記終了判断ステップにより残りのページがあると判断された場合に、前記未処理データサイズ取得ステップによる取得処理を繰り返し行うことを特徴とする請求項１乃至３のいずれか１項に記載のバンドメモリサイズ決定方式。
【請求項５】
印刷装置で印刷すべき印刷データを生成するプリンタドライバを備えるホストコンピュータとしての情報処理装置において実行可能である、使用するバンドメモリサイズを決定するバンドメモリサイズ決定プログラムコードを格納した記憶媒体であって、当該プログラムコードが、
アプリケーションから印刷要求が前記プリンタドライバに発行された場合に、前記印刷装置と通信することにより前記印刷装置内の未処理データのサイズを取得する未処理データサイズ取得ステップのコードと、
前記未処理データサイズ取得ステップのコードにより取得された未処理データのサイズに基づき、当該未処理データを前記印刷装置が印刷終了するまでに前記プリンタドライバで生成できるバンドサイズを決定するバンドサイズ決定ステップのコードと、
前記バンドサイズ決定ステップのコードで決定したバンドサイズ分のバンドメモリを獲得するバンドメモリ獲得ステップのコードと、
入力された文字を含む入力データを、前記印刷装置の解像度に合わせて前記プリンタドライバを用いて、前記バンドメモリにイメージデータとして展開するイメージ展開処理ステップのコードと、
を備えることを特徴とする記憶媒体。
【請求項６】
前記ホストコンピュータ内の空きメモリサイズを取得するフリーメモリサイズ取得ステップのコードを更に備え、
前記バンドサイズ決定ステップのコードは、前記未処理データを前記印刷装置が印刷終了するまでに前記プリンタドライバで生成できるバンドサイズと、前記フリーメモリサイズ取得ステップのコードで取得された空きメモリサイズの小さい方をバンドサイズとして決定することを特徴とする請求項５に記載の記憶媒体。
【請求項７】
前記バンドサイズ決定ステップのコードで決定したバンドサイズと、前回値のバンドサイズとの異同を判断するバンドサイズ変更判断ステップのコードを更に備え、
前記バンドメモリ獲得ステップのコードは、前記バンドサイズ変更判断ステップのコードで各バンドサイズが異なると判断された場合に、前記決定したバンドサイズ分のバンドメモリを獲得することを特徴とする請求項５または６に記載の記憶媒体。
【請求項８】
プリンタドライバによる全てのページの印刷データの出力が行われたか判断する終了判断ステップのコードを更に備え、
前記終了判断ステップのコードにより残りのページがあると判断された場合に、前記未処理データサイズ取得ステップのコードによる取得処理を繰り返し行うことを特徴とする請求項５乃至７のいずれか１項に記載の記憶媒体。
【請求項９】
使用するバンドメモリサイズを決定し、印刷装置で印刷すべき印刷データを生成するプリンタドライバを備えるホストコンピュータとしての情報処理装置であって、
アプリケーションから印刷要求が前記プリンタドライバに発行された場合に、前記印刷装置と通信することにより前記印刷装置内の未処理データのサイズを取得する未処理データサイズ取得手段と、
前記未処理データサイズ取得手段により取得された未処理データのサイズに基づき、当該未処理データを前記印刷装置が印刷終了するまでに前記プリンタドライバで生成できるバンドサイズを決定するバンドサイズ決定手段と、
前記バンドサイズ決定手段で決定したバンドサイズ分のバンドメモリを獲得するバンドメモリ獲得手段と、
入力された文字を含む入力データを、前記印刷装置の解像度に合わせて前記プリンタドライバを用いて、前記バンドメモリにイメージデータとして展開するイメージ展開処理手段と、
を備えることを特徴とする情報処理装置。
【請求項１０】
前記ホストコンピュータ内の空きメモリサイズを取得するフリーメモリサイズ取得手段を更に備え、
前記バンドサイズ決定手段は、前記未処理データを前記印刷装置が印刷終了するまでに前記プリンタドライバで生成できるバンドサイズと、前記フリーメモリサイズ取得手段が取得した空きメモリサイズの小さい方をバンドサイズとして決定することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記バンドサイズ決定手段が決定したバンドサイズと、前回値のバンドサイズとの異同を判断するバンドサイズ変更判断手段を更に備え、
前記バンドメモリ獲得手段は、前記バンドサイズ変更判断手段で各バンドサイズが異なると判断された場合に、前記決定したバンドサイズ分のバンドメモリを獲得することを特徴とする請求項９または１０に記載の情報処理装置。
【請求項１２】
プリンタドライバによる全てのページの印刷データの出力が行われたか判断する終了判断手段を更に備え、
前記終了判断手段により残りのページがあると判断された場合に、前記未処理データサイズ取得手段による取得処理を繰り返し行うことを特徴とする請求項９乃至１１のいずれか１項に記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションソフトウェア等で作成した文字、図形などの画像データをラスタイメージの画像に展開して画像出力装置に送信する際の、バンドメモリサイズ決定方式および記録媒体に関するものである。
【０００２】
【従来の技術】
従来、アプリケーションソフトウェア等で作成した文字、図形などの画像データをラスタイメージで画像出力装置に出力する際、一旦ホストコンピュータ上の仮想的なページメモリに展開後画像出力装置に出力している。
【０００３】
この際、ホストコンピュータのメモリ効率化等の関係で、この仮想ページメモリは幾つかのバンドに分割し処理し、各バンド毎に画像データをバンドメモリに展開し画像出力装置に出力している。
【０００４】
【発明が解決しようとする課題】
しかし、従来はバンドサイズは常に一定の値であったため、
バンドメモリのサイズが大きいと、バンド毎の処理を行う時間が長くなり、画像出力装置に出力するデータが無くコンピュータからの印刷データを待つだけのウェイト状態が増えてしまう。
【０００５】
また、複数のプロセスが同時に処理されるマルチタスク処理では、他のプロセスのメモリの使用を制限することになったり、仮想メモリのスワップアウトの可能性が高くなりパフォーマンスの低下になっていた。
【０００６】
一方、バンドサイズを小さくすると全ての印刷データをどのバンドに出力するかの判断や、バンドにまたがったデータ処理を複数回行ったりするため、オーバーヘッドが生じていた。
【０００７】
そこで、本発明ではバンドサイズを適切に決定することにより、最低限のメモリで高速に画像出力することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明は以下の構成よりなる。
【０００９】
すなわち、印刷装置で印刷すべき印刷データを生成するプリンタドライバを備えるホストコンピュータとしての情報処理装置において使用するバンドメモリサイズを決定するバンドメモリサイズ決定方式は、
アプリケーションから印刷要求が前記プリンタドライバに発行された場合に、前記印刷装置と通信することにより前記印刷装置内の未処理データのサイズを取得する未処理データサイズ取得ステップと、
前記未処理データサイズ取得ステップにより取得された未処理データのサイズに基づき、当該未処理データを前記印刷装置が印刷終了するまでに前記プリンタドライバで生成できるバンドサイズを決定するバンドサイズ決定ステップと、
前記バンドサイズ決定ステップで決定したバンドサイズ分のバンドメモリを獲得するバンドメモリ獲得ステップと、
入力された文字を含む入力データを、前記印刷装置の解像度に合わせて前記プリンタドライバを用いて、前記バンドメモリにイメージデータとして展開するイメージ展開処理ステップとを備えることを特徴とする。
【００１０】
好ましくは、上記のバンドメモリサイズ決定方式において、前記ホストコンピュータ内の空きメモリサイズを取得するフリーメモリサイズ取得ステップを更に備え、
前記バンドサイズ決定ステップは、前記未処理データを前記印刷装置が印刷終了するまでに前記プリンタドライバで生成できるバンドサイズと、前記フリーメモリサイズ取得ステップで取得された空きメモリサイズの小さい方をバンドサイズとして決定することを特徴とする。
【００１１】
好ましくは、上記のバンドメモリサイズ決定方式において、前記バンドサイズ決定ステップで決定したバンドサイズと、前回値のバンドサイズとの異同を判断するバンドサイズ変更判断ステップを更に備え、
前記バンドメモリ獲得ステップは、前記バンドサイズ変更判断ステップで各バンドサイズが異なると判断された場合に、前記決定したバンドサイズ分のバンドメモリを獲得することを特徴とする。
【００１２】
好ましくは、上記のバンドメモリサイズ決定方式において、プリンタドライバによる全てのページの印刷データの出力が行われたか判断する終了判断ステップを更に備え、
前記終了判断ステップにより残りのページがあると判断された場合に、前記未処理データサイズ取得ステップによる取得処理を繰り返し行うことを特徴とする。
【００１３】
また、印刷装置で印刷すべき印刷データを生成するプリンタドライバを備えるホストコンピュータとしての情報処理装置において実行可能である、使用するバンドメモリサイズを決定するバンドメモリサイズ決定プログラムコードを格納した記憶媒体であって、当該プログラムコードが、
アプリケーションから印刷要求が前記プリンタドライバに発行された場合に、前記印刷装置と通信することにより前記印刷装置内の未処理データのサイズを取得する未処理データサイズ取得ステップのコードと、
前記未処理データサイズ取得ステップのコードにより取得された未処理データのサイズに基づき、当該未処理データを前記印刷装置が印刷終了するまでに前記プリンタドライバで生成できるバンドサイズを決定するバンドサイズ決定ステップのコードと、
前記バンドサイズ決定ステップのコードで決定したバンドサイズ分のバンドメモリを獲得するバンドメモリ獲得ステップのコードと、
入力された文字を含む入力データを、前記印刷装置の解像度に合わせて前記プリンタドライバを用いて、前記バンドメモリにイメージデータとして展開するイメージ展開処理ステップのコードとを備えることを特徴とする。
また、使用するバンドメモリサイズを決定し、印刷装置で印刷すべき印刷データを生成するプリンタドライバを備えるホストコンピュータとしての情報処理装置は、
アプリケーションから印刷要求が前記プリンタドライバに発行された場合に、前記印刷装置と通信することにより前記印刷装置内の未処理データのサイズを取得する未処理データサイズ取得手段と、
前記未処理データサイズ取得手段により取得された未処理データのサイズに基づき、当該未処理データを前記印刷装置が印刷終了するまでに前記プリンタドライバで生成できるバンドサイズを決定するバンドサイズ決定手段と、
前記バンドサイズ決定手段で決定したバンドサイズ分のバンドメモリを獲得するバンドメモリ獲得手段と、
入力された文字を含む入力データを、前記印刷装置の解像度に合わせて前記プリンタドライバを用いて、前記バンドメモリにイメージデータとして展開するイメージ展開処理手段とを備えることを特徴とする。
【００１４】
【発明の実施の形態】
以下、添付図面を参照して、本発明の一実施形態を説明する。
【００１５】
図２は本実施形態を実現するための構成図である。
【００１６】
本方式は、ＯＳ、アプリケーションプログラム及びプリンタドライバプログラムをＣＰＵ２０１が実行することにより動作する。ＯＳはＨＤ２０５に書き込まれている。そして、ホストコンピュータの電源投入時にＯＳは読み込まれる。アプリケーションプログラム及びドライバプログラムはユーザの操作により、ＨＤからＲＡＭ２０２に読み込まれ動作が開始される。
【００１７】
本実施形態の場合は、ドライバプログラムおよび関連データはＦＤ２０３中に記録されており、その記録されている内容の構成を図４に示す。
【００１８】
ＦＤに記憶されたドライバプログラム及び関連データは、図５に示すようにＦＤドライブ２０４を通じてコンピュータシステムにロードすることができる。このＦＤをＦＤドライブをセットすると、ＯＳの制御のもとにドライバプログラムおよび関連データがＦＤから読み出され、ＲＡＭ２０２にロードされて動作可能となる。
【００１９】
図３は、ドライバプログラムがＲＡＭにロードされ実行可能となった状態のメモリマップを示す。
【００２０】
本実施形態では、ＦＤからドライバプログラムおよび関連データを直接ＲＡＭにロードして実行される例を示したが、この他にＦＤからドライバプログラムおよび関連データを一旦ＨＤに格納（インストール）しておき、ドライバプログラムを動作させる段にＨＤからＲＡＭにロードするようにしても良い。
【００２１】
またドライバプログラムの媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＩＣメモリカード等であっても良い。
【００２２】
本実施形態は図１に示されるフローチャートに基づいてプログラムコード化されたものである。アプリケーションソフトが、入力装置２０７からのオペレータの要求により作成された画像データを出力装置２０８に出力する際、プリンタドライバソフトを用いてプリンタに出力するが、ホストコンピュータ側で文字、イメージ、図形を記録装置の解像度に合わせて、ホストコンピュータ内のバンドメモリにイメージで展開した後、プリンタに送るという、いわゆるダムプリンタまたはビデオプリンタの場合、通常図６に示すように、ページイメージ６０１は、複数のバンドイメージ６０２に分解してバンドメモリに展開後プリンタに出力する。
【００２３】
バンドメモリのサイズは速度に大きく影響する。バンドメモリのサイズが大きいと、バンド毎の処理を行う時間が長くなり、プリンタに印刷データが無くコンピュータからの印刷データを待つだけのウェイト状態の時間が増えてしまう。特に印刷始め時にはこの可能性が高い。
【００２４】
また、複数のプロセスが同時に処理されるマルチタスク処理では、他のプロセスのメモリの使用を制限することになったり、仮想メモリのスワップアウトの可能性が高くなりパフォーマンスの低下になる。
【００２５】
一方、バンドサイズを小さくすると、全ての印刷データをどのバンドに出力するかの判断や、バンドにまたがったデータ処理を複数回行ったりするため、オーバーヘッドが生じる。
【００２６】
そこで本発明では、バンドサイズを適切に決定することにより、最低限のメモリで高速に画像出力することを目的とする。
【００２７】
１０１では、アプリケーションソフトウェアがプリンタドライバに対しプリンタへの出力を要求すると、プリンタドライバは最大のバンドサイズを決定するため、コンピュータシステム内の空きメモリのサイズＳ１を取得する。なお、空きメモリサイズＳ１は他のプロセスでも使われる可能性があるため、Ｓ１の値に応じて特定の計数を乗じて最大メモリサイズをＭとする。
【００２８】
１０２では、プリンタドライバは、プリンタと通信することにより既にプリンタに対し送信済みのデータでプリンタ内の未処理データのサイズを取得する。また、プリンタドライバ内でデータをバッファリングしている場合には、その時点にバッファメモリ内のサイズを取得し、未処理データのサイズに含める。
【００２９】
１０３では、１０２で取得した未処理データサイズ及びプリンタの印刷モードから、プリンタドライバは残データの印刷が終了までに要する時間Ｔを求め、プリントが終了するまでに処理できるバンドサイズＳ２を時間Ｔから見積もる。
【００３０】
通常、印刷するデータ（オブジェクト）の種類、データ数によって時間Ｔ内で処理できるバンドサイズが異なる。もし、事前に印刷データ（オブジェクト）の種類、データ数の情報を得ることが可能であれば、各オブジェクトに係数を乗じた累計でバンドサイズを見積もることが可能である。
【００３１】
しかし、事前に印刷データに関する情報が得られない場合、プリンタドライバは、入力装置を用いてオペレータから主なオブジェクトの種類を入手したり、アプリケーション名から自動的に主なオブジェクトの種類を判断することで、サイズの見積もりの精度を上げることが可能となる。
【００３２】
こうして求めた空きメモリサイズＳ１と、時間Ｔから求まったＳ２の小さい方を最終的なバンドサイズＳとする。
【００３３】
１０４では、プリンタドライバは、１０３で求めたバンドサイズＳと前回のバンドサイズを比較し、印刷における最初のバンド、または、バンドサイズが前回と異なる場合には処理１０５を行い、その他の場合には１０６を行う。
【００３４】
１０５では、プリンタドライバは最新のバンドサイズＳに従ってバンドメモリを獲得する。
【００３５】
１０６では、プリンタドライバは前回展開されたデータを消去するためバンドメモリの初期化を行う。
【００３６】
１０７では、ユーザが入力装置も用いて作成した文字、イメージ、図形を記録装置の解橡度に合わせて、プリンタドライバはホストコンピュータ内のバンドメモリにイメージで展開する。
【００３７】
１０８では、プリンタドライバは１０７で作成したイメージデータをプリンタに出力する。
【００３８】
１０９では、プリンタドライバは全てのページの出力が行われたかどうかを判断し、全てのページの出力が終了すれば処理を終了する。
【００３９】
＜実施形態の効果＞
本発明により、アプリケーションソフトウェア等で作成した文字、図形などの画像データをラスタイメージでプリンタに出力する際、バンドサイズを適切に決定することにより、必要かつ十分である最小限のメモリサイズで画像データを処理し、高速な画像出力を可能とする。
【００４０】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００４１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００４２】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００４３】
プログラムコードを供給するための記録媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００４４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４５】
さらに、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４６】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、図３のメモリマップ例に示す各モジュールを記録媒体に格納することになる。
すなわち、少なくとも「ＯＳ３０１」「アプリケーション３０２」および「プリンタドライバ３０３」「バンドメモリサイズ決定モジュール３０４」の各モジュールのプログラムコードを記録媒体に格納すればよい。
【００４７】
【発明の効果】
フリーメモリサイズ取得ステップはシステム内の空きメモリサイズに基づきバンドメモリサイズを求め、未処理データサイズ取得ステップは送信済みイメージデータから未処理分データのバンドサイズを求める。両バンドサイズはバンドサイズ決定ステップにより比較され、イメージデータ処理に必要な最小限のバンドサイズ決定を可能とする。
【００４８】
従って、冗長なバンドメモリサイズの設定による、イメージデータ処理の時間化は解消され、処理の高速化が可能となる。
【００４９】
すなわち、アプリケーションソフトウェア等で作成した文字、図形などの画像データをラスタイメージでプリンタに出力する際、バンドサイズを適切に決定することにより、最小限のメモリで高速に画像出力することが可能となる。
【００５０】
【図面の簡単な説明】
【図１】本発明のフローチャートである。
【図２】本発明を実現するための構成図である。
【図３】プログラムが動作するときのメモリマップ図である。
【図４】プログラム等が記憶されている媒体の構成図である。
【図５】プログラム等が媒体からコンピュータシステムに提供されることを示す図である。
【図６】ページイメージを複数のバンドに分割する処理を表す図である。
【符号の説明】
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＦＤ
２０４  ＦＤドライブ
２０５  ＨＤドライブ
２０６  入力装置
２０７  ディスプレイ
２０８  出力装置
【図１】
0003715765.tif 000002
【図２】
0003715765.tif 000003
【図３】
0003715765.tif 000004
【図４】
0003715765.tif 000005
【図５】
0003715765.tif 000006
【図６】
0003715765.tif 000007