(57)【要約】【課題】ホストベース印刷システム（特にカラーホストベース機）において、ＲＴＦで印刷に失敗し、用紙やトナーを無駄に消費することの無い、印刷システムを実現することを目的とする。【解決手段】プリンタ１０００から画像データ受信バッファサイズを取得し、その値によって印刷設定画面に表示する各設定項目（色階調、解像度、ハーフトーン処理など）の選択肢から印刷に失敗する確率の高いものを除外し、印刷の失敗を未然に防ぐホストベース印刷システムを実現する。【選択図】        図２
2004334511.tif 000002
【特許請求の範囲】
【請求項１】
ワープロなどのアプリケーションソフトで作成した印刷データを、ホストコンピュータ側で多値データとしてビットマップ展開し、そのビットマップデータをプリンタへ転送し、印刷動作を行う、いわゆるホストベース印刷システムにおいて、
そのホストコンピュータは、
プリンタとの間で各種コマンド／ステータスのやり取りを行う通信手段と、
前記通信手段により、プリンタに搭載されているＲＡＭで画像データ受信バッファとして使用可能なメモリサイズを取得する取得手段と、
各印刷データに対する各種印刷設定（用紙種類、用紙方向、印刷部数、ｅｔｃ．）を行うための印刷設定画面（印刷ＵＩ画面）を表示する表示手段と、
前記表示手段で表示される印刷設定画面には、色階調を選択可能とする選択手段と、
前記取得手段で取得した画像データ受信バッファサイズによって、印刷設定画面に表示する設定可能な色階調の選択肢を変更する手段と、
を有することを特徴とするホストベース印刷システム。
【請求項２】
前記ホストベース印刷システムにおいて、
その印刷設定画面には、解像度を選択可能とする選択手段と、
取得した画像データ受信バッファサイズにより、印刷設定画面に表示する設定可能な解像度の選択肢を変更する手段と、
を有することを特徴とする請求項１記載のホストベース印刷システム。
【請求項３】
前記ホストベース印刷システムにおいて、
その印刷設定画面には、ディザパターンを選択可能とする選択手段と、
取得した画像データ受信バッファサイズにより、印刷設定画面に表示する設定可能なディザパターンの選択肢を変更する手段と、
を有することを特徴とする請求項１記載のホストベース印刷システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストコンピュータなどの外部装置のアプリケーションソフト（ワープロなど）で作成された印刷データを、ホストコンピュータ上でビットマップ展開（レンダリング）し、そのビットマップデータを受信して印刷動作を行うプリンタからなるホストベース印刷システムに関するものである。
【０００２】
【従来の技術】
ホストベース印刷システムでは、ホストから転送されたビットマップデータを受信すると、プリンタのＲＡＭに格納し、そのＲＡＭからビットマップデータをプリンタエンジンへビデオ信号として出力するのが一般的である。ビットマップデータの転送を開始し、ある程度プリンタのＲＡＭに格納できたら、印刷を実行しビデオデータの出力を開始させてしまい、その後はビットマップデータを転送しながら、一方でビデオ出力も行うことで、少ないＲＡＭ容量で印刷することも可能である。また、ホストコンピュータでレンダリング（ビットマップ展開）を行うため、プリンタには高性能ＣＰＵを搭載する必要がないため、低コストで印刷システムを提供することが可能である。
【０００３】
このような小容量のＲＡＭしか搭載されていないホストベースプリンタの場合、ホストからプリンタへのデータ転送が間に合わないため、印刷途中でプリンタへ出力するビデオデータが無くなってしまい、印刷が失敗して（途中で画像が切れて）しまうことがある。
【０００４】
特にカラーレーザプリンタのようなカラープリンタでは、１ピクセル（画素）単位毎に、複数の階調／濃度（例えば２５６階調）を表現可能なものがある。色階調が高いほど高画質な画像を印刷することが可能となるが、その分ビットマップデータ量が増大するため、印刷失敗の可能性が高くなる。このようなビットマップデータ量の大きな印刷データの場合、オプションＲＡＭを増設するなどして、画像データ受信バッファサイズを増やすことにより、印刷の失敗を回避するのが一般的である。
【０００５】
従来のホストベース印刷システムでは、プリンタドライバの印刷設定画面に表示される印刷品位（品質）に関わる各種設定項目（色階調、解像度、ディザパターン、ｅｔｃ．）の選択肢は、いかなる場合でもすべての選択肢が表示され、ユーザは自由に選択可能であった。
【０００６】
【特許文献１】
特開平１１−１４３６６５号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、ホストベース印刷システムにおいては、先に説明したように、搭載されているＲＡＭ容量（画像データ受信バッファサイズ）が十分でない場合、印刷を失敗することがある。特に印刷設定を高階調、高解像度にした場合、小容量の搭載ＲＡＭ（画像データ受信バッファ）では、ほぼ確実に印刷に失敗してしまう。ユーザは、印刷に成功するか失敗するかは、実際に印刷してみないと分らないため手間もかかり、また用紙やトナーを無駄にしてしまうという問題があった。
【０００８】
本発明は上記従来例に鑑みて成されたもので、ホストベース印刷システムにおいて、プリンタに搭載されているＲＡＭ容量（画像データ受信バッファサイズ）を取得し、その値によって印刷設定画面に表示する各設定項目の選択肢から印刷に失敗する確率の高いものを除外し（グレイアウトし）、印刷の失敗を未然に防ぐホストベース印刷システムを実現することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために本発明の印刷装置及び、外部装置は以下のような構成を備える。
【００１０】
即ち、
そのホストコンピュータは、
プリンタとの間で各種コマンド／ステータスのやり取りを行う通信手段と、
前記通信手段により、プリンタに搭載されているＲＡＭで画像データ受信バッファとして使用可能なメモリサイズを取得する取得手段と、
各印刷データに対する各種印刷設定（用紙種類、用紙方向、印刷部数、ｅｔｃ．）を行うための印刷設定画面（印刷ＵＩ画面）を表示する表示手段と、
前記表示手段で表示される印刷設定画面には、色階調を選択可能とする選択手段と、
前記取得手段で取得した画像データ受信バッファサイズによって、印刷設定画面に表示する設定可能な色階調の選択肢を変更する手段と、
を有する。
【００１１】
上記目的を達成するために本発明の印刷装置及び、外部装置は以下のような構成を備える。
即ち、
請求項１のホストベース印刷システムにおいて、
その印刷設定画面には、解像度を選択可能とする選択手段と、
取得した画像データ受信バッファサイズにより、印刷設定画面に表示する設定可能な解像度の選択肢を変更する手段と、
を有する。
【００１２】
上記目的を達成するために本発明の印刷装置及び、外部装置は以下のような構成を備える。
【００１３】
即ち、
請求項１のホストベース印刷システムにおいて、
その印刷設定画面には、ディザパターンを選択可能とする選択手段と、
取得した画像データ受信バッファサイズにより、印刷設定画面に表示する設定可能なディザパターンの選択肢を変更する手段と、
を有する。
【００１４】
【発明の実施の形態】
以下、添付図面にしたがって本発明の実施例を詳細に説明する。
【００１５】
＜実施例１＞
［レーザビームプリンタの説明（図１）］
本実施例の構成を説明する前に、本実施例を適用するカラーレーザビームプリンタの構成を図１を参照して説明する。
【００１６】
図１において、７１１はスキャナであり、画像信号を光信号に変換するレーザ出力部（不図示）、多面体（（例えば８面体）のポリゴンミラー７１２、このミラー７１２を回転させるモータ（不図示）及びｆ／θレンズ（結像レンズ）７１３などを有する。７１４は、レーザ光の光路を変更する反射ミラー、７１５は感光ドラムである。レーザ出力部から出射したレーザ光はポリゴンミラー７１２の一側面で反射され、ｆ／θレンズ７１３及びミラー７１４を通って図示矢印方向に回転している感光ドラム７１５の面を線状に走査（ラスタスキヤン）する。これによって、原稿画像に対応した静電潜像が感光ドラム７１５の面上に形成されることになる。
【００１７】
また、７１７は一次帯電器、７１８は全面露光ランプ、７２３は転写されなかつた残留トナーを回収するクリーナ部、７２４は転写前帯電器であり、これらの部材は感光ドラム７１５の周囲に配設されている。
【００１８】
７２６はレーザ露光によって、感光ドラム７１５の表面に形成された静電潜像を現像する現像器ユニットであり、以下に示す構成よりなる。７３１Ｙ，７３１Ｍ，７３１Ｃ，７３１Ｂｋは感光ドラム７１５と接して直接現像を行う現像スリーブ、７３０Ｙ，７３０Ｍ，７３０Ｃ，７３０Ｂｋは予備トナーを保持しておくトナーホッパー、７３２は現像剤の移送を行うスクリユーであって、これらのスリーブ７３１Ｙ〜７３１Ｂｋ、トナーホッパー７３０Ｙ〜７３０Ｂｋ及びスクリユー７３２は、現像器ユニットの回転軸Ｐの周囲に配設されている。なお、前述した各構成要素の符号のＹ，Ｍ，Ｃ，Ｂｋは色を示している。つまり、“Ｙ”はイエロー、“Ｍ”はマゼンタ、“Ｃ”はシアン、“Ｂｋ”はブラックである。イエローのトナー像を形成する時には、本図の位置でイエロートナー現像処理を行う。また、マゼンタのトナー像を形成する時は、現像器ユニット７２６を図の軸のＰを中心に回転して、感光体７１５にマゼンタ現像器内の現像スリーブ７３１Ｍが接する様にする。シアン、ブラックの現像も同様に作動する。
【００１９】
また、７１６は感光ドラム７１５上に形成されたトナー像を用紙に転写する転写ドラムであり、７１９は転写ドラム７１６の移動位置を検出させるためのアクチュエータ板、７２０はこのアクチュエータ板７１９と近接することにより転写ドラム７１６がホームポジション位置に移動したのを検出するポジションセンサ、７２５は転写ドラムクリーナ、７２７は紙押えローラ、７２８は徐電器、７２９は転写帯電器であり、これらの部材７１９，７２０，７２５，７２７，７２９は転写ローラ７１６の周囲に配設されている。
【００２０】
一方、７３５，７３６は用紙（紙葉体）を収納する給紙カセットであり、実施の形態では給紙カセット７３５には例えばＡ４サイズの用紙、給紙カセット７３６にはＡ３サイズの用紙が収納されているものとする。７３７，７３８はカセット７３５，７３６から用紙を給紙する給紙ローラ、７３９，７４０，７４１は給紙及び搬送のタイミングを取るタイミングローラであり、これらを経由して給紙搬送された用紙は紙ガイド４９０に導かれて先端を後述のグリッパに但持されながら転写ドラム７１６に巻き付き、像形成過程に移行する。なお、給紙カセット７３５，７３６のいずれを選択するかは、主制御部の指示により決定し、選択された給紙ローラのみが回転する様になっている。
【００２１】
上記構成により、ＹＭＣＫ４色によるフルカラー印刷を実現する。
【００２２】
［プリンタ制御系の説明（図２）］
図２は本発明の実施例を示すホストベースプリンタ制御システムの構成を説明するブロック図である。ここでは、カラーレーザビームプリンタ（図１）を例にして説明する。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークを介して処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００２３】
図２において、３０００はホストコンピュータで、ＲＯＭ３のプログラム用ＲＯＭに記憶された文書処理プログラム等に基づいて図形，イメージ，文字，表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムバス４に接続される各デバイスをＣＰＵ１が総括的に制御する。
【００２４】
また、このＲＯＭ３のプログラム用ＲＯＭには、ＣＰＵ１の制御プログラム等を記憶し、ＲＯＭ３のフォント用ＲＯＭには上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭは上記文書処理等を行う際に使用する各種データを記憶する。２はＲＡＭで、ＣＰＵ１の主メモリ，ワークエリア等として機能する。５はキーボードコントローラ（ＫＢＣ）で、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はメモリコントローラ（ＭＣ）で、ブートプログラム，種々のアプリケーション，フォントデータ，ユーザファイル，編集ファイル等を記憶するハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。８はプリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インタフェース（インタフェース）２１を介してプリンタ１０００に接続されて、プリンタコントローラ部１００１との通信制御処理を実行する。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００２５】
プリンタ１０００において、１２はプリンタＣＰＵで、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等に基づいてシステムバス２９に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース１６を介して接続される印刷機構部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、このＲＯＭ１３のプログラムＲＯＭには、図４、図９、図１０のフローチャートで示されるようなＣＰＵ１２の制御プログラム等を記憶する。ＣＰＵ１２は入力部１８を介してホストコンピュータ３０００との通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知可能に構成されている。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、ホストコンピュータ３０００より受信した画像ビットマップデータを格納しておくための画像データ受信バッファ、ビデオ信号ＯＮ／ＯＦＦ情報格納領域、その他のワーク領域等に用いられる。１１０は操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００２６】
次に図３を説明する。図３は、図２に示したホストコンピュータの制御部１とプリンタの制御部１２における印刷機能の処理構成を説明するブロック図であり、図２と同一のものには同一の符号を付してある。
【００２７】
図３において、３０００は例えばサーバまたはクライアントとして機能するホストコンピュータであり、印刷データおよび制御コードからなる印刷情報をプリンタ１０００に出力するものである。
【００２８】
プリンタ１０００は、機能的に大きく分けてコントローラ部１００、オペレーションパネル部１１０、印刷機構部１７より構成されている。本実施形態ではプリンタ１０００として、具体的にはカラーレーザビームプリンタ（以下カラーＬＢＰと記述）を想定している。なお、本発明を適用可能なプリンタはＬＢＰに限られるものではなく、インクジェットプリンタ、サーマル（熱転写）プリンタなど他のプリント方式のプリンタでも良いことは言うまでもない。
【００２９】
プリンタ１０００において、コントローラ部１００は、ホストコンピュータ３０００との接続手段であるところのインタフェース（Ｉ／Ｆ）部１５、受信データ等を一時的に保持管理するための受信バッファ１０１、送信データ等を一時的に保持管理するための送信バッファ１０２、印刷データの解析を司るコマンド解析部１０４、印刷制御処理実行部１０５、画像処理解析実行部１０３、出力制御部１０７などより構成されている。インタフェース（Ｉ／Ｆ）部１５はホストコンピュータ３０００との印刷データの送受信を行う通信手段である。このインタフェース（Ｉ／Ｆ）部１５を通して受信した印刷データは、そのデータを一時的に保持する記憶手段である受信バッファ１０１に遂次蓄積され、必要に応じてコマンド解析部１０４または画像制御部１０３によって読み出され処理される。コマンド解析部１０４は、各印刷制御コマンド体系や印刷ジョブ制御言語に準じた制御プログラムにより構成されており、このコマンド解析部１０４で解析されたコマンドは、ビットマップデータなどの画像データに関するものは、画像制御部１０３に指示を与えて処理し、給紙選択やリセット命令などの描画以外のコマンドは、印刷制御処理実行部１０５に指示を出し処理する。
【００３０】
画像制御部１０３では、転送されてきた画像データコマンドデータからコマンド部分を外し、圧縮されたイメージデータであれば、この画像制御部１０３にて伸長処理が行われ、画像データ受信バッファ１０６へ格納する。この画像データ受信処理と印刷機構部（プリンタエンジン）１７へのビデオ信号の出力の追いかけっこ、つまりバンディング制御によってビデオ出力バッファは管理されていてもよいし、十分なメモリがある場合は、１ページ分が格納可能な領域をビデオ出力バッファとして確保してもよい。
【００３１】
オペレーションパネル１１０は、プリンタの各種状態を設定・表示するためのものである。出力制御部１０７は、画像データ受信バッファ１０６に格納されている画像ビットマップデータをビデオ信号に変換処理し、印刷機構部（プリンタエンジン）１７へ転送する。印刷機構部１７は受け取ったビデオ信号を記録紙に永久可視画像形成するための機構である。
【００３２】
以上、プリンタ１０００について説明したが、次にホストコンピュータ３０００の構成について説明する。
【００３３】
ホストコンピュータ３０００は、入力デバイスであるところのキーボード９やポインティングデバイスであるところのマウス２２０と、表示デバイスであるディスプレイモニタ１０を合わせた一つのコンピュータシステムとして構成されている。ホストコンピュータ３０００は、Ｗｉｎｄｏｗｓ（Ｒ）、ＵＮＩＸ（Ｒ）、ＭａｃＯＳ等の基本ＯＳの下で動作しているものとする。
【００３４】
ホストコンピュータ側について本発明に関する機能的な部分にのみ着目して基本ＯＳ上での機能を大きく分類すると、アプリケーションソフト２０１、基本ＯＳの一部であるグラフィックデバイスインタフェース（以後、ＧＤＩと記す）２０２、そして本発明の印刷設定画面表示部２０５を有するプリンタドライバ２０３、プリンタドライバの生成したデータを一時的に格納するプリントスプーラ２０４と分けて考えることができる。
【００３５】
なお、基本ＯＳによってこれらの名称や機能的な枠組みは若干異なる場合があるが、本発明で言う各技術的手段が実現できるモジュールであれば、それらの名称や枠組みは本発明にとってあまり大きな問題ではない。ＧＤＩやプリンタドライバと呼ばれるモジュールは、Ｗｉｎｄｏｗｓ（Ｒ）９８や  Ｗｉｎｄｏｗｓ（Ｒ）ＮＴ固有のものであり、他の基本ＯＳにおいては、例えば、グラフィックカーネルやプリント・フィルタなど呼ばれるモジュールで実現可能である。同様にプリントスプーラ２０４においても、プリント・キューと呼ばれるモジュールに処理を組み込むことによって実現可能である。
【００３６】
なお、一般的に、これらの構成要素からなるホストコンピュータ３０００は、図２で示したＣＰＵ１、ＲＡＭ２、ＲＯＭ３、外部メモリ１１などのハードウェアの下で、基本ソフトと呼ばれるソフトウェア（ＢＩＯＳ）がその制御を司り、その基本ソフトの下で応用ソフトが動作するような構成になっている。
【００３７】
印刷設定画面表示部２０５を有するプリンタドライバ２０３も、この応用ソフトの一つと位置付けられるものである。また、アプリケーションソフト２０１は、例えば、ワープロや表計算などの基本ソフトウェア上で動作する応用ソフトウェアを指すものである。また、アプリケーションソフトは任意のタイミングで複数起動（主メモリ容量により変動する）であり、それらをアプリ２０６として図示してある。
【００３８】
次に、アプリケーション２０１として任意のイメージ編集ソフトを使用した場合を例に取り説明する。
【００３９】
アプリケーション２０１で、イメージの編集作業を中心に行い、そのイメージを印刷する時には、マウス２２０などによってディスプレイモニタ１０上に表示される印刷メニューを選択して印刷を実行する。次に、アプリケーション２０１は、基本ＯＳの一部の機能であるＧＤＩ２０２をコールする。このＧＤＩ２０２は、画面表示や印刷出力などの表示デバイスや印刷デバイスを司る基本関数群であり、各社各様のアプリケーションソフトウェアは、この基本関数群を利用することで、機種（ハードウェア）に依存する部分を意識することなく、アプリケーションソフトウェアを動作させることが可能である。
【００４０】
次にＧＤＩ２０２では、それぞれの印刷装置の機種に依存する情報を管理するプリンタドライバ２０３から印刷デバイス（この場合はプリンタ１０００）の持つ描画能力や印刷解像度などの情報を取り込み、アプリケーションソフト２０１からコールされたＡＰＩ関数を処理し、その処理内容に応じてプリンタドライバがＧＤＩ２０２に対して提供する関数をコールする。この関数はあらかじめ決められたインタフェース（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ：通称ＤＤＩ）になっており、プリンタドライバの作成者はこのインタフェースから実際の印刷装置へのデータ変換を中心にプリンタドライバを作成することとなる。
【００４１】
プリンタドライバ２０３は、ＧＤＩ２０２より受け取ったＤＤＩ情報と、それ自信が持つグラフィカル・ユーザ・インタフェース（ＧＵＩ）によって設定された印刷環境設定をもとに、印刷データ（画像ビットマップデータ）の生成処理２０７と、プリンタ制御コマンドの生成処理２０８を行いプリントスプーラ２０４に対して送出される。さらにこれらのデータは、プリントスプーラ２０４を経由し、さらにホストコンピュータ３０００の接続手段であるところのＩ／Ｆ部１４を経てプリンタ１０００へ送出されることになる。
【００４２】
ここで、ホストベースプリンタにおける印刷成功／失敗の仕組みを説明する。
【００４３】
外部装置で作成されたビットマップデータは、画像が複雑でかつビットマップ展開する際の解像度、色階調が高い程、そのデータ量が増大する。通常、ビットマップデータは転送時間を短縮するためデータ圧縮が施され、データ量を小さくした上でプリンタへ転送する。それでも、圧縮方法によっては写真画像などで６００ｄｐｉ、６４階調、Ａ４サイズで数十Ｍバイトにも達してしまう。ここで、「外部装置とプリンタ間の入出力Ｉ／Ｆの転送速度＞コントローラと印刷機構部間のエンジンビデオＩ／Ｆの転送速度」であれば、いくらデータ量が多くても印刷は必ず成功する。また「外部装置とプリンタ間の入出力Ｉ／Ｆの転送速度＜コントローラと印刷機構部間のエンジンビデオＩ／Ｆの転送速度」であっても、画像データ受信バッファ１０６の容量が十分にあれば、すべてのビットマップデータを画像データ受信バッファに溜め込んでから、エンジンビデオＩ／Ｆを通じて印刷機構部へ転送すればよい。しかし、エンジンの印刷スピードが速くなると、「外部装置とプリンタ間の入出力Ｉ／Ｆの転送速度＞コントローラと印刷機構部間のエンジンビデオＩ／Ｆの転送速度」にすることは難しく、十分なメモリを最初から搭載することもコストが高くなるため難しい。
【００４４】
そのため、ある程度の画像データ受信バッファ（ＲＡＭ）を搭載し、外部装置から転送されたビットマップデータをそこに格納していき、画像データ受信バッファがフルになった所で、印刷を開始する。
【００４５】
印刷が開始されるとエンジンビデオＩ／Ｆを通して画像データ受信バッファに蓄えられているビットマップデータが印刷機構部へ転送されていく。つまり、印刷が開始後は、画像データ受信バッファ中のデータが印刷機構部へ出力され、一方では外部装置からデータが画像データ受信バッファに入力されていくことになる。ここで、「外部装置とプリンタ間の入出力Ｉ／Ｆの転送速度＜コントローラと印刷機構部間のエンジンビデオＩ／Ｆの転送速度」であれば、画像データ受信バッファ中のデータは徐々に減少していくことになる。この画像データ受信バッファ中のデータが０になる前に、外部装置からビットマップデータがすべて転送されてしまえば、印刷は成功するが、外部装置にまだビットマップデータが残っているのに、画像データ受信バッファ中のデータが０になってしまった場合、その時点で印刷画像が切れてしまい、印刷に失敗することとなる。
【００４６】
［ホストコンピュータの動作の説明］
図４は、ホストコンピュータとプリンタの両方の電源がＯＮされた時（通信が可能となった時）、本実施の形態のホストコンピュータにおける印刷設定画面表示部２０５（図３）の制御手順を示すフローチャートで、このプログラムはＲＯＭ３に記憶されており、ＣＰＵ１の制御の下に実行される。
【００４７】
本実施例１では、ホストコンピュータとプリンタの両方の電源がＯＮされた時（通信が可能となった時）に、印刷設定画面表示部２０５においてプリンタの画像データ受信バッファサイズの取得と、印刷設定項目に表示する選択肢の決定を行う。ホストコンピュータの電源がＯＮされ、プリンタドライバが起動されると、ステップＳ１１でプリンタの電源がＯＮされているか（プリンタと通信可能か）確認する。電源がＯＦＦである場合はＯＮされ通信が可能となるまで待つ。電源がＯＮされ通信が可能となった場合、ステップＳ１２へ進み画像データ受信バッファサイズ取得コマンドをプリンタへ発行する。そして、ステップＳ１３でプリンタがステータスの準備ができたことを確認し、ステータスの準備が出来た場合、ステップＳ１４でプリンタの画像データ受信バッファサイズを取得する。
【００４８】
次にステップＳ１５で、先に取得したプリンタの画像データ受信バッファサイズと閾値Ａを比較して、画像データ受信バッファサイズの方が大きければステップＳ１７へ進み、色階調の選択肢を１ｂｉｔ（２階調）、２ｂｉｔ（４階調）、４ｂｉｔ（１６階調）、８ｂｉｔ（２５６階調）に決定する。この場合、実際の印刷時に印刷設定画面を表示させると、図５に示したようにすべての色階調が選択可能な印刷設定画面を表示する。ただし、図５においては８ｂｉｔ（２５６階調）を高諧調１、４ｂｉｔ（１６階調）を高階調２、２ｂｉｔ（４階調）を標準１、１ｂｉｔ（２階調）を標準２、というような選択肢にした。このように、色階調の選択肢は具体的な数字で表さなくてもよいのは言うまでも無い。
【００４９】
一方、閾値Ａより小さい場合は、ステップＳ１６で画像データ受信バッファサイズと閾値Ｂを比較する。画像データ受信バッファサイズの方が大きければステップＳ１８へ進み、色階調の選択肢を１ｂｉｔ（２階調）、２ｂｉｔ（４階調）、４ｂｉｔ（１６階調）の３種類に決定する。この時、印刷実行時に表示させる印刷設定画面は、図６に示したように、８ｂｉｔ（２５６階調）をグレイアウトさせて表示させたり、また図７のように色階調の選択肢から８ｂｉｔ（２５６階調）を完全に隠して（除外して）しまったりすれば良い。要はユーザが８ｂｉｔ（２５６階調）を選択できないようにしてしまう。そして、閾値Ｂより小さい場合はステップＳ１９へ進み、色階調の選択肢を１ｂｉｔ（２階調）、２ｂｉｔ（４階調）の２種類に決定する。そして、同様に印刷設定画面は、図８に示したように、８ｂｉｔと４ｂｉｔを選択できないようにする。
【００５０】
画像データ受信バッファサイズと比較する、閾値Ａ，Ｂの値については、それぞれの色階調によって任意の値に定めるものであって、実験的に印刷評価を行うことで求めてもよいし、画像データ受信バッファサイズと各色階調で生成されるビットマップサイズとの兼ね合いから計算で求めてもよく、特にこれに限定されるものではない。また、実施例１では４種類の色階調をサポートしているとしたが、これも限定されるものではなく、複数の色階調をサポートしていればよい。以上が、実施例１においてホストコンピュータとプリンタが共に電源ＯＮされ通信が可能となった時に実行される初期化ロジックの説明である。
【００５１】
以上、従来のホストベース印刷システムでは、プリンタの画像データ受信バッファサイズに関わらず、ユーザはサポートしているすべての色階調を選択することが可能であった。そのため、実際にプリンタに搭載されている画像データ受信バッファサイズが十分でないにも関わらず、高階調を選択して印刷に失敗し、資源（用紙、トナー、電力、ｅｔｃ．）を浪費（無駄に）してしまうという問題があった。
【００５２】
しかし、本実施例１で説明したところによると、本ホストベース印刷システムは複数の色階調をサポートし、初期化時に画像データ受信バッファサイズを取得し、その画像データ受信バッファサイズを基に印刷に失敗すると考えられる色階調を、印刷設定画面の選択肢から外しておくことにより、印刷の失敗を極力避けることを可能とし、資源を無駄にしない効果がある。
【００５３】
＜実施例２＞
実施例１では、プリンタの画像データ受信バッファサイズにより、印刷設定画面に表示する色階調の選択肢を変えていた。ここでは、実施例２として、プリンタの画像データ受信バッファサイズにより、印刷設定画面に表示する印刷データ解像度を変えることとする。色階調と同様、解像度も高くするほど、生成されるビットマップデータのサイズは大きくなるため、ホストベース印刷システムでは印刷に失敗する可能性が高くなる。
【００５４】
図９は、実施例１の図４と同様、ホストコンピュータとプリンタの両方の電源がＯＮされた時（通信が可能となった時）、本実施の形態のホストコンピュータにおける印刷設定画面表示部２０５（図３）の制御手順を示すフローチャートで、このプログラムはＲＯＭ３に記憶されており、ＣＰＵ１の制御の下に実行される。
【００５５】
ステップＳ２１〜ステップＳ２４は、実施例１の図４におけるステップＳ１１〜ステップＳ１４と全く同じであるので説明を省略する。
【００５６】
ステップＳ２５で、先に取得した画像データ受信バッファサイズと閾値Ａを比較して、画像データ受信バッファサイズの方が大きければステップＳ２７へ進み、解像度の選択肢を１５０ｄｐｉ、３００ｄｐｉ、６００ｄｐｉ、１２００ｄｐｉに決定する。この場合、実際の印刷時に印刷設定画面を表示させると、図５に示したようにすべての解像度が選択可能な印刷設定画面を表示する。
【００５７】
一方、閾値Ａより小さい場合は、ステップＳ２６で画像データ受信バッファサイズと閾値Ｂを比較する。画像データ受信バッファサイズの方が大きければステップＳ２８へ進み、解像度の選択肢を１５０ｄｐｉ、３００ｄｐｉ、６００ｄｐｉの３種類に決定する。この時、印刷実行時に表示させる印刷設定画面は、図６に示したように、１２００ｄｐｉをグレイアウトさせて表示させたり、また図７のように解像度の選択肢から１２００ｄｐｉを完全に隠して（除外して）しまったりすれば良い。要はユーザが１２００ｄｐｉを選択できないようにしてしまう。そして、閾値Ｂより小さい場合はステップＳ２９へ進み、解像度の選択肢を１５０ｄｐｉ、３００ｄｐｉの２種類に決定する。そして、同様に印刷設定画面は、図８に示したように、１２００ｄｐｉと６００ｄｐｉを選択できないようにする。
【００５８】
画像データ受信バッファサイズと比較する閾値Ａ，Ｂの値については、それぞれの解像度によって任意の値に定めるものであって、実験的に印刷評価を行うことで求めてもよいし、画像データ受信バッファサイズと各解像度で生成されるビットマップサイズとの兼ね合いから計算で求めてもよく、特にこれに限定されるものではない。また、実施例２では４種類の解像度をサポートしているとしたが、これも限定されるものではなく、複数の解像度をサポートしていればよい。以上が、実施例２においてホストコンピュータとプリンタが共に電源ＯＮされ通信が可能となった時に実行される初期化ロジックの説明である。
【００５９】
以上、従来のホストベース印刷システムでは、プリンタの画像データ受信バッファサイズに関わらず、ユーザはサポートしているすべての解像度を選択することが可能であった。そのため、実際にプリンタに搭載されている画像データ受信バッファサイズが十分でないにも関わらず、高解像度を選択して印刷に失敗し、資源（用紙、トナー、電力、ｅｔｃ．）を浪費（無駄に）してしまうという問題があった。
【００６０】
しかし、本実施例２で説明したところによると、本ホストベース印刷システムは複数の解像度をサポートし、初期化時にプリンタの画像データ受信バッファサイズを取得し、その画像データ受信バッファサイズを基に印刷に失敗すると考えられる解像度を、印刷設定画面の選択肢から外しておくことにより、印刷の失敗を極力避けることを可能とし、資源を無駄にさせない効果がある。
【００６１】
＜実施例３＞
実施例１では、プリンタの画像データ受信バッファサイズにより、印刷設定画面に表示する色階調の選択肢を変えていた。ここでは、実施例３として、プリンタの画像データ受信バッファサイズにより、印刷設定画面に表示するハーフトーン処理方法を変えることとする。色階調と同様、ハーフトーンの処理方法により、生成されるビットマップデータのサイズは異なってくるため、ホストベース印刷システムで印刷に失敗する要因の一つと考えられる。
【００６２】
図１０は、実施例１の図４と同様、ホストコンピュータとプリンタの両方の電源がＯＮされた時（通信が可能となった時）、本実施の形態のホストコンピュータにおける印刷設定画面表示部２０５（図３）の制御手順を示すフローチャートで、このプログラムはＲＯＭ３に記憶されており、ＣＰＵ１の制御の下に実行される。
【００６３】
ステップＳ３１〜ステップＳ３４は、実施例１の図４におけるステップＳ１１〜ステップＳ１４と全く同じであるので説明を省略する。
【００６４】
ステップＳ３５で、先にプリンタから取得した画像データ受信バッファサイズと閾値Ａを比較して、画像データ受信バッファサイズの方が大きければステップＳ３７へ進み、ハーフトーンの選択肢を「誤差拡散」、「ディザパターン１」、「ディザパターン２」、「ディザパターン３」に決定する。この場合、実際の印刷時に印刷設定画面を表示させると、図５に示したようにすべてのハーフトーンが選択可能な印刷設定画面を表示する。
【００６５】
一方、閾値Ａより小さい場合は、ステップＳ３６で画像データ受信バッファサイズと閾値Ｂを比較する。画像データ受信バッファサイズの方が大きければステップＳ３８へ進み、ハーフトーンの選択肢を「ディザパターン１」、「ディザパターン２」、「ディザパターン３」の３種類に決定する。この時、印刷実行時に表示させる印刷設定画面は、図６に示したように、「誤差拡散」をグレイアウトさせて表示させたり、また図７のようにハーフトーンの選択肢から「誤差拡散」を完全に隠して（除外して）しまったりすれば良い。要はユーザが「誤差拡散」を選択できないようにしてしまう。そして、閾値Ｂより小さい場合はステップＳ３９へ進み、ハーフトーンの選択肢を「ディザパターン２」、「ディザパターン３」の２種類に決定する。そして、同様に印刷設定画面は、図８に示したように、「誤差拡散」と「ディザパターン１」を選択できないようにする。
【００６６】
画像データ受信バッファサイズと比較する閾値Ａ，Ｂの値については、それぞれのハーフトーン処理によって任意の値に定めるものであって、実験的に印刷評価を行うことで求めてもよいし、画像データ受信バッファサイズと各ハーフトーン処理で生成されるビットマップサイズとの兼ね合いから計算で求めてもよく、特にこれに限定されるものではない。また、実施例３では４種類のハーフトーン処理をサポートしているとしたが、これも限定されるものではなく、複数のハーフトーン処理をサポートしていればよい。以上が、実施例３においてホストコンピュータとプリンタが共に電源ＯＮされ通信が可能となった時に実行される初期化ロジックの説明である。
【００６７】
以上、従来のホストベース印刷システムでは、画像データ受信バッファサイズの大小に関わらず、ユーザはサポートしているすべてのハーフトーン処理を選択することが可能であった。そのため、実際にプリンタに搭載されている画像データ受信バッファサイズにも関わらず、生成されるビットマップデータサイズが大きくなる処理を選択して印刷に失敗し、資源（用紙、トナー、電力、ｅｔｃ．）を浪費（無駄に）してしまうという問題があった。
【００６８】
しかし、本実施例３で説明したところによると、本ホストベース印刷システムは複数のハーフトーン処理をサポートし、初期化時にプリンタの画像データ受信バッファサイズを取得し、その画像データ受信バッファサイズを基に印刷に失敗すると考えられるハーフトーン処理を、印刷設定画面の選択肢から外しておくことにより、印刷の失敗を極力避けることを可能とし、資源を無駄にさせない効果がある。
【図面の簡単な説明】
【図１】本発明の実施例におけるカラーレーザビームプリンタ（ＬＢＰ）の内部構造を示す断面図
【図２】図１のＬＢＰを含むプリンタ制御システムの構成を示すブロック図
【図３】図２におけるホストコンピュータの制御部とプリンタの制御部における印刷設定画面表示部の処理構成を説明するブロック図
【図４】本発明の実施例１のホストコンピュータにおける印刷設定画面表示部を示すフローチャート
【図５】本発明の実施例における印刷設定画面の一例を示す図
【図６】本発明の実施例における印刷設定画面の一例を示す図
【図７】本発明の実施例における印刷設定画面の一例を示す図
【図８】本発明の実施例における印刷設定画面の一例を示す図
【図９】本発明の実施例２のホストコンピュータにおける印刷設定画面表示部を示すフローチャート
【図１０】本発明の実施例３のホストコンピュータにおける印刷設定画面表示部を示すフローチャート
【符号の説明】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
４  システムバス
５  キーボードコントローラ（ＫＢＣ）
６  ＣＲＴコントローラ（ＣＲＴＣ）
７  メモリコントローラ（ＭＣ）
８  プリンタコントローラ（ＰＲＴＣ）
９  キーボード
１０  ＣＲＴディスプレイ（ＣＲＴ）（ディスプレイモニタ）
１１  外部メモリ
１２  ＣＰＵ
１３  ＲＯＭ
１４  Ｉ／Ｆ部
１５  インタフェース（Ｉ／Ｆ）部
１６  印刷部インタフェース
１７  印刷機構部（プリンタエンジン）
１８  入力部
１９  ＲＡＭ
２１  双方向性インタフェース（インタフェース）
２９  システムバス
１００  コントローラ部
１０１  受信バッファ
１０２  送信バッファ
１０３  画像処理解析実行部（画像制御部）
１０４  コマンド解析部
１０５  印刷制御処理実行部
１０６  画像データ受信バッファ
１０７  出力制御部
１１０  操作パネル（オペレーションパネル部）
２０１  アプリケーションソフト
２０２  グラフィックデバイスインタフェース（ＧＤＩ）
２０３  プリンタドライバ
２０４  プリントスプーラ
２０５  印刷設定画面表示部
２０６  アプリ
２０７  印刷データ（画像ビットマップデータ）の生成処理
２０８  プリンタ制御コマンドの生成処理
２２０  マウス
４９０  紙ガイド
７１１  スキャナポリゴンミラー
７１２  ｆ／θレンズ（結像レンズ）
７１３，７１４  反射ミラー
７１５  感光ドラム
７１６  転写ドラム
７１７  一次帯電器
７１８  全面露光ランプ
７１９  アクチュエータ板
７２０  ポジションセンサ
７２３  クリーナ部
７２４  転写前帯電器
７２５  転写ドラムクリーナ
７２６  現像器ユニット
７２７  紙押えローラ
７２８  徐電器
７２９  転写帯電器
７３０Ｙ，７３０Ｍ，７３０Ｃ，７３０Ｂｋ  トナーホッパー
７３１Ｙ，７３１Ｍ，７３１Ｃ，７３１Ｂｋ  現像スリーブ
７３２  スクリユー
７３５，７３６  給紙カセット
７３７，７３８  給紙ローラ
７３９，７４０，７４１  タイミングローラ
１０００  プリンタ
１００１  プリンタコントローラ部
３０００  ホストコンピュータ
【図１】
2004334511.tif 000003
【図２】
2004334511.tif 000004
【図３】
2004334511.tif 000005
【図４】
2004334511.tif 000006
【図５】
2004334511.tif 000007
【図６】
2004334511.tif 000008
【図７】
2004334511.tif 000009
【図８】
2004334511.tif 000010
【図９】
2004334511.tif 000011
【図１０】
2004334511.tif 000012