(57)【要約】【課題】  パフォーマンスを低下させることなく、印刷データの内容に適した印刷方法で印刷を実行させることができる印刷制御装置及びその制御方法、プログラムを提供する。【解決手段】  １ページ分の印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する。その描画面積を印刷データの印刷方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する。設定された係数を前記描画面積に乗じた仮想描画面積を算出する。印刷データ中の描画命令に対応する仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、印刷データの印刷方法を決定する。決定した印刷方法を印刷装置に実行させる印刷制御コマンドを生成する。そして、その印刷制御コマンドを、印刷データに先立って、印刷装置へ出力する。【選択図】  図２
2005322063.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置へ出力する印刷データと、該印刷装置の印刷方法を制御する印刷制御コマンドを生成する印刷制御装置であって、
１ページ分の前記印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する算出手段と、
前記描画面積を前記印刷データの印刷方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する設定手段と、
前記設定手段で設定された係数を前記描画面積に乗じた仮想描画面積を算出する仮想描画面積算出手段と、
前記印刷データ中の描画命令に対応する前記仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、前記印刷データの印刷方法を決定する決定手段と、
前記決定手段で決定した印刷方法を前記印刷装置に実行させる印刷制御コマンドを生成する生成手段と、
前記印刷制御コマンドを、前記印刷データに先立って、前記印刷装置へ出力する出力手段と
を備えることを特徴とする印刷制御装置。
【請求項２】
前記決定手段は、前記印刷データ中の各描画命令に対応する前記仮想描画面積の合計値と、前記仮想基準面積を比較し、その比較結果に基づいて、前記印刷データの印刷方法を決定する
ことを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記仮想描画面積算出手段によって前記仮想描画面積が算出される毎に、仮想描画面積を累積加算して合計値を算出する加算手段を更に備え、
前記決定手段は、前記加算手段で得られる合計値が前記仮想基準面積を超えた時点で、それ以降の未処理の描画命令に対する前記算出手段及び前記加算手段による処理を禁止して、前記印刷データの印刷方法を決定する
ことを特徴とする請求項１に記載の印刷制御装置。
【請求項４】
前記描画命令の種類に応じた前記係数を管理する係数テーブルを記憶する記憶手段を更に備え、
前記設定手段は、前記係数テーブルを参照して、前記描画命令の種類に応じた前記係数を設定する
ことを特徴とする請求項１に記載の印刷制御装置。
【請求項５】
前記記憶手段は、前記印刷データとなる元データを生成するデータ生成環境毎に、該データ生成環境に応じた前記係数テーブルを記憶し、
前記設定手段は、前記印刷データとなる元データを生成するデータ生成環境に応じた係数テーブルを参照して、前記描画命令の種類に応じた前記係数を設定する
ことを特徴とする請求項４に記載の印刷制御装置。
【請求項６】
前記描画命令の種類に応じた前記係数を管理する第１係数テーブルと、前記描画命令によって得られる描画色に応じた前記係数を管理する第２係数テーブルを記憶する記憶手段を更に備え、
前記設定手段は、前記第１及び第２係数テーブルを参照して、前記描画命令に対応する前記係数として、該描画命令に種類に応じた第１係数及び該描画命令によって得られる描画色に応じた第２係数を設定する
ことを特徴とする請求項１に記載の印刷制御装置。
【請求項７】
前記仮想描画面積算出手段は、前記設定手段で設定された前記第１及び第２係数を前記描画面積に乗じて、前記仮想描画面積を算出する
ことを特徴とする請求項６に記載の印刷制御装置。
【請求項８】
前記設定手段は、前記描画命令がイメージ系である場合、前記描画命令が保持するビットマップ情報の特徴量を、該描画命令の描画色とし、その描画色に基づいて前記係数を設定する
ことを特徴とする請求項１に記載の印刷制御装置。
【請求項９】
前記設定手段は、前記描画命令がグラフィックス系で、かつ単色塗りつぶしでない場合、前記描画命令が保持する描画パターンの特徴量を、該描画命令の描画色として、その描画色に基づいて、前記係数を設定する
ことを特徴とする請求項１に記載の印刷制御装置。
【請求項１０】
印刷装置へ出力する印刷データを生成する印刷制御装置であって、
１ページ分の前記印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する算出手段と、
前記描画面積を前記印刷データに施す画像処理方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する設定手段と、
前記設定手段で設定された係数を前記描画面積に乗じた仮想描画面積を算出する仮想描画面積算出手段と、
前記印刷データ中の描画命令に対応する前記仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、前記印刷データの印刷に係る画像処理方法を決定する決定手段と
前記決定手段で決定した画像処理方法で画像処理した前記印刷データを、前記印刷装置へ出力する出力手段と
を備えることを特徴とする印刷制御装置。
【請求項１１】
前記画像処理方法は、ハーフトーン処理方法である
ことを特徴とする請求項１０に記載の印刷制御装置。
【請求項１２】
前記画像処理方法は、カラーマッチング方法である
ことを特徴とする請求項１０に記載の印刷制御装置。
【請求項１３】
前記決定手段は、前記印刷データ中の各描画命令に対応する前記仮想描画面積の合計値と、前記仮想基準面積を比較し、その比較結果に基づいて、前記印刷データに施す画像処理方法を決定する
ことを特徴とする請求項１０に記載の印刷制御装置。
【請求項１４】
前記仮想描画面積算出手段によって前記仮想描画面積が算出される毎に、仮想描画面積を累積加算して合計値を算出する加算手段を更に備え、
前記決定手段は、前記加算手段で得られる合計値が前記仮想基準面積を超えた時点で、それ以降の未処理の描画命令に対する前記算出手段及び前記加算手段による処理を禁止して、前記印刷データに施す画像処理方法を決定する
ことを特徴とする請求項１０に記載の印刷制御装置。
【請求項１５】
前記描画命令の種類に応じた前記係数を管理する係数テーブルを記憶する記憶手段を更に備え、
前記設定手段は、前記係数テーブルを参照して、前記描画命令の種類に応じた前記係数を設定する
ことを特徴とする請求項１０に記載の印刷制御装置。
【請求項１６】
前記記憶手段は、前記印刷データとなる元データを生成するデータ生成環境毎に、該データ生成環境に応じた前記係数テーブルを記憶し、
前記設定手段は、前記印刷データとなる元データを生成するデータ生成環境に応じた係数テーブルを参照して、前記描画命令の種類に応じた前記係数を設定する
ことを特徴とする請求項１０に記載の印刷制御装置。
【請求項１７】
印刷装置へ出力する印刷データと、該印刷装置の印刷方法を制御する印刷制御コマンドを生成する印刷制御装置の制御方法であって、
１ページ分の前記印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する算出工程と、
前記描画面積を前記印刷データの印刷方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する設定工程と、
前記設定工程で設定された係数を前記描画面積に乗じた仮想描画面積を算出する仮想描画面積算出工程と、
前記印刷データ中の描画命令に対応する前記仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、前記印刷データの印刷方法を決定する決定工程と、
前記決定工程で決定した印刷方法を前記印刷装置に実行させる印刷制御コマンドを生成する生成工程と、
前記印刷制御コマンドを、前記印刷データに先立って、前記印刷装置へ出力する出力工程と
を備えることを特徴とする印刷制御装置の制御方法。
【請求項１８】
印刷装置へ出力する印刷データを生成する印刷制御装置の制御方法であって、
１ページ分の前記印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する算出工程と、
前記描画面積を前記印刷データに施す画像処理方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する設定工程と、
前記設定工程で設定された係数を前記描画面積に乗じた仮想描画面積を算出する仮想描画面積算出工程と、
前記印刷データ中の描画命令に対応する前記仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、前記印刷データの印刷に係る画像処理方法を決定する決定工程と
前記決定工程で決定した画像処理方法で画像処理した前記印刷データを、前記印刷装置へ出力する出力工程と
を備えることを特徴とする印刷制御装置の制御方法。
【請求項１９】
印刷装置へ出力する印刷データと、該印刷装置の印刷方法を制御する印刷制御コマンドを生成する印刷制御装置の制御を実現するプログラムであって、
１ページ分の前記印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する算出工程のプログラムコードと、
前記描画面積を前記印刷データの印刷方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する設定工程のプログラムコードと、
前記設定工程で設定された係数を前記描画面積に乗じた仮想描画面積を算出する仮想描画面積算出工程のプログラムコードと、
前記印刷データ中の描画命令に対応する前記仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、前記印刷データの印刷方法を決定する決定工程のプログラムコードと、
前記決定工程で決定した印刷方法を前記印刷装置に実行させる印刷制御コマンドを生成する生成工程のプログラムコードと、
前記印刷制御コマンドを、前記印刷データに先立って、前記印刷装置へ出力する出力工程のプログラムコードと
を備えることを特徴とするプログラム。
【請求項２０】
印刷装置へ出力する印刷データを生成する印刷制御装置の制御を実現するプログラムであって、
１ページ分の前記印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する算出工程のプログラムコードと、
前記描画面積を前記印刷データに施す画像処理方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する設定工程のプログラムコードと、
前記設定工程で設定された係数を前記描画面積に乗じた仮想描画面積を算出する仮想描画面積算出工程のプログラムコードと、
前記印刷データ中の描画命令に対応する前記仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、前記印刷データの印刷に係る画像処理方法を決定する決定工程のプログラムコードと
前記決定工程で決定した画像処理方法で画像処理した前記印刷データを、前記印刷装置へ出力する出力工程のプログラムコードと
を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置へ出力する印刷データと、該印刷装置の印刷方法を制御する印刷制御コマンドを生成する印刷制御装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
従来、プリンタを制御するプリンタドライバを搭載するホストコンピュータでは、プリンタドライバによって提供される操作画面に対するユーザの操作によって、印刷データに対するハーフトーン処理を切り換えたり、印刷品質を切り換えるなどの処理を行っていた（特許文献１参照）。
【０００３】
また、印刷時に印刷データを「イメージ」、「グラフィック」及び「テキスト」の３種類に判別し、それぞれの種類に応じたハーフトーン処理を適宜実行する構成が提案されている（特許文献２参照）。
【０００４】
また、印刷データに対応するイメージデータがなければグラフィックモードで印刷し、グラフィックデータもなければテキストモードで印刷する等の印刷モードを切り換る構成が提案されている（特許文献３参照）。
【０００５】
また、高画質が要求されない印刷について、印刷時間を短縮するために画像データをイメージデータに展開するときに、印刷対象が高画質で印刷する必要があるか判定し、その判定結果に基づいて、印刷に係る画像処理で行うハーフトーン処理の処理内容を変更する構成が提案されている（特許文献４）。
【特許文献１】特開平６−１９７２１７号公報
【特許文献２】特開平１０−２６４４５４号公報
【特許文献３】特開２００３−１０８３３５号公報
【特許文献４】特開２００２−２８３６２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来例では、次のような課題があった。
【０００７】
・ユーザは、常に作成したデータを意識して、ハーフトーン処理を切り換えたり、印刷品質を切り換えたりしなければならい。
【０００８】
・印刷方法によって印刷品質を切り換えるプリンタでは、ハーフトーン処理を切り換えるだけでは、適切な出力結果を得られない場合がある。
【０００９】
・オブジェクトごとに別々に処理を行うと、その分余計に処理時間がかかるため、パフォーマンスが低下する。
【００１０】
・写真データ以外の印刷データで、例えば、印刷Ｄｕｔｙの高いグラフィックスの塗りつぶしなどでは、高画質印刷が要求されることがあるが、その印刷データに対する印刷方法の制御については考慮されていない。
【００１１】
本発明は上記の課題を解決するためになされたものであり、パフォーマンスを低下させることなく、印刷データの内容に適した印刷方法で印刷を実行させることができる印刷制御装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するための本発明による印刷制御装置は以下の構成を備える。即ち、
印刷装置へ出力する印刷データと、該印刷装置の印刷方法を制御する印刷制御コマンドを生成する印刷制御装置であって、
１ページ分の前記印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する算出手段と、
前記描画面積を前記印刷データの印刷方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する設定手段と、
前記設定手段で設定された係数を前記描画面積に乗じた仮想描画面積を算出する仮想描画面積算出手段と、
前記印刷データ中の描画命令に対応する前記仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、前記印刷データの印刷方法を決定する決定手段と、
前記決定手段で決定した印刷方法を前記印刷装置に実行させる印刷制御コマンドを生成する生成手段と、
前記印刷制御コマンドを、前記印刷データに先立って、前記印刷装置へ出力する出力手段と
を備える。
【００１３】
また、好ましくは、前記決定手段は、前記印刷データ中の各描画命令に対応する前記仮想描画面積の合計値と、前記仮想基準面積を比較し、その比較結果に基づいて、前記印刷データの印刷方法を決定する。
【００１４】
また、好ましくは、前記仮想描画面積算出手段によって前記仮想描画面積が算出される毎に、仮想描画面積を累積加算して合計値を算出する加算手段を更に備え、
前記決定手段は、前記加算手段で得られる合計値が前記仮想基準面積を超えた時点で、それ以降の未処理の描画命令に対する前記算出手段及び前記加算手段による処理を禁止して、前記印刷データの印刷方法を決定する。
【００１５】
また、好ましくは、前記描画命令の種類に応じた前記係数を管理する係数テーブルを記憶する記憶手段を更に備え、
前記設定手段は、前記係数テーブルを参照して、前記描画命令の種類に応じた前記係数を設定する。
【００１６】
また、好ましくは、前記記憶手段は、前記印刷データとなる元データを生成するデータ生成環境毎に、該データ生成環境に応じた前記係数テーブルを記憶し、
前記設定手段は、前記印刷データとなる元データを生成するデータ生成環境に応じた係数テーブルを参照して、前記描画命令の種類に応じた前記係数を設定する。
【００１７】
また、好ましくは、前記描画命令の種類に応じた前記係数を管理する第１係数テーブルと、前記描画命令によって得られる描画色に応じた前記係数を管理する第２係数テーブルを記憶する記憶手段を更に備え、
前記設定手段は、前記第１及び第２係数テーブルを参照して、前記描画命令に対応する前記係数として、該描画命令に種類に応じた第１係数及び該描画命令によって得られる描画色に応じた第２係数を設定する。
【００１８】
また、好ましくは、前記仮想描画面積算出手段は、前記設定手段で設定された前記第１及び第２係数を前記描画面積に乗じて、前記仮想描画面積を算出する。
【００１９】
また、好ましくは、前記設定手段は、前記描画命令がイメージ系である場合、前記描画命令が保持するビットマップ情報の特徴量を、該描画命令の描画色とし、その描画色に基づいて前記係数を設定する。
【００２０】
また、好ましくは、前記設定手段は、前記描画命令がグラフィックス系で、かつ単色塗りつぶしでない場合、前記描画命令が保持する描画パターンの特徴量を、該描画命令の描画色として、その描画色に基づいて、前記係数を設定する。
【００２１】
上記の目的を達成するための本発明による印刷制御装置は以下の構成を備える。即ち、
印刷装置へ出力する印刷データを生成する印刷制御装置であって、
１ページ分の前記印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する算出手段と、
前記描画面積を前記印刷データに施す画像処理方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する設定手段と、
前記設定手段で設定された係数を前記描画面積に乗じた仮想描画面積を算出する仮想描画面積算出手段と、
前記印刷データ中の描画命令に対応する前記仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、前記印刷データの印刷に係る画像処理方法を決定する決定手段と
前記決定手段で決定した画像処理方法で画像処理した前記印刷データを、前記印刷装置へ出力する出力手段と
を備える。
【００２２】
また、好ましくは、前記画像処理方法は、ハーフトーン処理方法である。
【００２３】
また、好ましくは、前記画像処理方法は、カラーマッチング方法である。
【００２４】
また、好ましくは、前記決定手段は、前記印刷データ中の各描画命令に対応する前記仮想描画面積の合計値と、前記仮想基準面積を比較し、その比較結果に基づいて、前記印刷データに施す画像処理方法を決定する。
【００２５】
また、好ましくは、前記仮想描画面積算出手段によって前記仮想描画面積が算出される毎に、仮想描画面積を累積加算して合計値を算出する加算手段を更に備え、
前記決定手段は、前記加算手段で得られる合計値が前記仮想基準面積を超えた時点で、それ以降の未処理の描画命令に対する前記算出手段及び前記加算手段による処理を禁止して、前記印刷データに施す画像処理方法を決定する。
【００２６】
また、好ましくは、前記描画命令の種類に応じた前記係数を管理する係数テーブルを記憶する記憶手段を更に備え、
前記設定手段は、前記係数テーブルを参照して、前記描画命令の種類に応じた前記係数を設定する。
【００２７】
また、好ましくは、前記記憶手段は、前記印刷データとなる元データを生成するデータ生成環境毎に、該データ生成環境に応じた前記係数テーブルを記憶し、
前記設定手段は、前記印刷データとなる元データを生成するデータ生成環境に応じた係数テーブルを参照して、前記描画命令の種類に応じた前記係数を設定する。
【００２８】
上記の目的を達成するための本発明による印刷制御装置の制御方法は以下の構成を備える。即ち、
印刷装置へ出力する印刷データと、該印刷装置の印刷方法を制御する印刷制御コマンドを生成する印刷制御装置の制御方法であって、
１ページ分の前記印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する算出工程と、
前記描画面積を前記印刷データの印刷方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する設定工程と、
前記設定工程で設定された係数を前記描画面積に乗じた仮想描画面積を算出する仮想描画面積算出工程と、
前記印刷データ中の描画命令に対応する前記仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、前記印刷データの印刷方法を決定する決定工程と、
前記決定工程で決定した印刷方法を前記印刷装置に実行させる印刷制御コマンドを生成する生成工程と、
前記印刷制御コマンドを、前記印刷データに先立って、前記印刷装置へ出力する出力工程と
を備える。
【００２９】
上記の目的を達成するための本発明による印刷制御装置の制御方法は以下の構成を備える。即ち、
印刷装置へ出力する印刷データを生成する印刷制御装置の制御方法であって、
１ページ分の前記印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する算出工程と、
前記描画面積を前記印刷データに施す画像処理方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する設定工程と、
前記設定工程で設定された係数を前記描画面積に乗じた仮想描画面積を算出する仮想描画面積算出工程と、
前記印刷データ中の描画命令に対応する前記仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、前記印刷データの印刷に係る画像処理方法を決定する決定工程と
前記決定工程で決定した画像処理方法で画像処理した前記印刷データを、前記印刷装置へ出力する出力工程と
を備える。
【００３０】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
印刷装置へ出力する印刷データと、該印刷装置の印刷方法を制御する印刷制御コマンドを生成する印刷制御装置の制御を実現するプログラムであって、
１ページ分の前記印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する算出工程のプログラムコードと、
前記描画面積を前記印刷データの印刷方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する設定工程のプログラムコードと、
前記設定工程で設定された係数を前記描画面積に乗じた仮想描画面積を算出する仮想描画面積算出工程のプログラムコードと、
前記印刷データ中の描画命令に対応する前記仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、前記印刷データの印刷方法を決定する決定工程のプログラムコードと、
前記決定工程で決定した印刷方法を前記印刷装置に実行させる印刷制御コマンドを生成する生成工程のプログラムコードと、
前記印刷制御コマンドを、前記印刷データに先立って、前記印刷装置へ出力する出力工程のプログラムコードと
を備える。
【００３１】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
印刷装置へ出力する印刷データを生成する印刷制御装置の制御を実現するプログラムであって、
１ページ分の前記印刷データ中の描画命令によって描画される描画エリアの描画面積を算出する算出工程のプログラムコードと、
前記描画面積を前記印刷データに施す画像処理方法を決定するための判定材料として用いる重みを示す係数を、前記描画命令に基づいて設定する設定工程のプログラムコードと、
前記設定工程で設定された係数を前記描画面積に乗じた仮想描画面積を算出する仮想描画面積算出工程のプログラムコードと、
前記印刷データ中の描画命令に対応する前記仮想描画面積と、１ページ分の印刷データの仮想基準面積とに基づいて、前記印刷データの印刷に係る画像処理方法を決定する決定工程のプログラムコードと
前記決定工程で決定した画像処理方法で画像処理した前記印刷データを、前記印刷装置へ出力する出力工程のプログラムコードと
を備える。
【発明の効果】
【００３２】
本発明によれば、パフォーマンスを低下させることなく、印刷データの内容に適した印刷方法で印刷を実行させることができる印刷制御装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００３４】
（実施形態１）
図１は本発明の実施形態１の印刷システムの構成を示す図である。
【００３５】
図１において、Ｃ１はホストコンピュータであり、プリンタＣ５（印刷装置）に対する印刷データを生成したり、各種指示入力を行う。Ｃ２はプリンタドライバであり、印刷に関する各種指示を行うための設定画面を表示したり、設定画面による設定値に応じて、印刷データを生成する。
【００３６】
Ｃ３は記憶装置であり、プリンタドライバＣ２が生成した印刷データを一時的に記憶する。また、この記憶装置Ｃ３には、ホストコンピュータＣ１を制御するオペレーティングシステム、各種制御プログラム、印刷データの元となるデータを生成するアプリケーションプログラムが記憶されている。Ｃ４は外部装置とのインターフェイスであり、例えば、ＵＳＢインターフェイスやＩＥＥＥ１３９４インターフェイスで構成される。
【００３７】
Ｃ５はプリンタであり、印刷方式として、例えば、インクジェット方式、レーザビーム方式、熱転写方式等の各種印刷方式が利用可能である。Ｃ６は外部装置とのインターフェイスであり、例えば、ＵＳＢインターフェイスやＩＥＥＥ１３９４インターフェイスで構成される。
【００３８】
Ｃ７は受信バッファであり、印刷データを受信する。Ｃ８は制御部であり、プリンタＣ５に関する各種制御を実行する。Ｃ９はプリンタエンジン部であり、使用する印刷方式に従う印刷を実行する。
【００３９】
尚、ホストコンピュータＣ１は、汎用コンピュータに搭載される標準的な構成要素（例えば、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク、外部記憶装置、ネットワークインタフェース、ディスプレイ、キーボード、マウス等）を有している。
【００４０】
次に、ホストコンピュータＣ１（プリンタドライバＣ２）が実行する印刷制御処理について、図２を用いて説明する。
【００４１】
図２は本発明の実施形態１の印刷制御処理を示すフローチャートである。
【００４２】
まず、印刷対象の印刷データに対する仮想描画面積を算出するための係数からなる係数テーブルを設定する（ステップＳ２０１）。
【００４３】
ここで、仮想描画面積とは、印刷データ中の描画命令によって描画する有意画像を描画するための描画エリアの描画面積に対し、その描画命令の種類に基づく係数を乗算した描画面積である。ここで、係数は、描画エリアの描画面積を、印刷データの印刷方法を決定する際の判定材料として用いる重みを示す値である。
【００４４】
そして、実施形態１では、１ページ分の印刷データ中の各描画命令毎に得られる仮想描画面積の合計値と、所定値とを比較し、その比較結果に基づいて、その印刷データの印刷方法を切り換える。
【００４５】
係数テーブルは、例えば、印刷データがテキストデータについては、色としては黒が中心で、１文字１文字の描画面積もそれほど大きくないために、印刷品位を上げる必要は無いので、係数を０％に設定する。一方、印刷データがテキストデータ以外のイメージ系のデータにおいては、描画面積も大きいことが予想され、なるべく高品位で印刷する必要があるので、係数を１００％以上に設定する。
【００４６】
図３において、印刷データに含まれる描画命令１に対する係数をＫ［１］とし、描画命令２に対する係数をＫ［２］とし、描画命令ｎに対する係数をＫ［ｎ］（これ以降、ｎは各描画命令に対応する番号で１、２、３・・・、ｎとする）として設定する。
【００４７】
具体的には、オペレーティングシステムが、例えば、Ｗｉｎｄｏｗｓ(登録商標)２０００であり、印刷データ中に描画命令としてテキスト描画命令であるＤｒｖＴｅｘｔＯｕｔがある場合は、係数を０％に設定する。一方、描画命令がイメージ描画命令の１つであるＤｒｖＳｔｒｅｔｃｈＢｌｔがある場合、係数を１５０％に設定する。このように、個々の描画命令ごとに、その描画命令の内容に基づいて、適切な係数を設定する。
【００４８】
次に、印刷を開始する（ステップＳ２０２）。印刷が開始すると、ページ単位の処理をスタートする（ステップＳ２０３）。ここで、ページ単位に仮想基準面積値を算出する（ステップＳ２０４）。ここでは、基準面積比をＰ％として設定し、係数テーブルのＫ［０］に設定する。基準面積は、例えば、図４の印刷可能範囲（０，０）−（Ｗ，Ｈ）を取得し、基準面積比を乗じた値を仮想基準面積値Ａ＝Ｋ［０］×（Ｗ×Ｈ）とする。ここからページ単位の処理になる。
【００４９】
オペレーティングシステムは、描画命令を通して、プリンタドライバＣ２に印刷データを渡す。プリンタドライバＣ２では、初めに各描画命令別に渡された描画データの描画面積を算出する（ステップＳ２０５）。
【００５０】
ここでは、単純に、処理対象の描画データの描画エリアの矩形領域を描画面積とする。ここで、描画エリアは、描画データ中の有意画像（例えば、テキストやイメージ）を展開するために確保されるエリアであり、例えば、有意画像の外接矩形領域や有意画像を囲む矩形領域となる。
【００５１】
例えば、図５のように、描画命令１に対して、描画エリア（Ｘｓ［１］，Ｙｓ［１］）−（Ｘｅ［１］，Ｙｅ［１］）の描画データが渡されたとすると、描画面積Ｓ［１］＝（Ｘｅ［１］−Ｘｓ［１］）×（Ｙｅ［１］−Ｙｓ［１］）となる。
【００５２】
また、描画命令２に対して、描画エリア（Ｘｓ［２］，Ｙｓ［２］）−（Ｘｅ［２］，Ｙｅ［２］）の描画データが渡されたとすると、描画面積Ｓ［２］＝（Ｘｅ［２］−Ｘｓ［２］）×（Ｙｅ［２］−Ｙｓ［２］）となる。
【００５３】
同様に、描画命令ｎに対して、描画エリア（Ｘｓ［ｎ］，Ｙｓ［ｎ］）−（Ｘｅ［ｎ］，Ｙｅ［ｎ］）の描画データが渡されたとすると、描画面積Ｓ［ｎ］＝（Ｘｅ［ｎ］−Ｘｓ［ｎ］）×（Ｙｅ［ｎ］−Ｙｓ［ｎ］）となる。
【００５４】
次に、各描画命令別に算出した描画面積に対して、印刷前に設定されていた係数テーブルから対応する描画命令の係数値を乗算して得られる仮想描画面積を、各描画命令別の面積テーブルに加算していく（ステップＳ２０６）。
【００５５】
図６のように、面積テーブルをＴとすると、描画命令１に対する面積テーブルＴ［１］には、Ｓ［１］×Ｋ［１］が加算され、Ｔ［１］＝Ｔ［１］＋Ｓ［１］×Ｋ［１］となる。また、描画命令２に対する面積テーブルＴ［２］には、Ｓ［２］×Ｋ［２］が加算され、Ｔ［２］＝Ｔ［２］＋Ｓ［２］×Ｋ［２］となる。同様に、描画命令ｎに対する面積テーブルＴ［ｎ］には、Ｓ［ｎ］×Ｋ［ｎ］が加算され、Ｔ［ｎ］＝Ｔ［ｎ］＋Ｓ［ｎ］×Ｋ［ｎ］となる。
【００５６】
同時に、全ての仮想描画面積の合計面積を面積テーブルに格納する（ステップＳ２０７）。例えば、面積テーブルＴのＴ［０］を仮想描画面積の合計面積の格納場所とすると、Ｔ［０］＝Ｔ［０］＋Ｓ［１］×Ｋ［１］＋Ｓ［２］×Ｋ［２］＋、・・・、＋Ｓ［ｎ］×Ｋ［ｎ］として処理する。
【００５７】
最後に、描画データのラスタライズ処理を実行する（ステップＳ２０８）。次に、ページ内の上記の処理がすべて終了しているか否か、つまり、ページ終了（ページ描画終了命令）であるか否かを判定する（ステップＳ２０９）。ページ終了でない場合（ステップＳ２０９でＮＯ）、ステップＳ２０５に戻る。一方、ページ終了である場合（ステップＳ２０９でＹＥＳ）、ステップＳ２１０に進む。
【００５８】
１ページ分の印刷データが、プリンタドライバＣ２に渡り終えたときに、全ての仮想描画面積の合計面積Ｔ［０］が仮想基準面積値Ａを越えているか否かを判定する（ステップＳ２１０）。仮想描画面積の合計面積Ｔ［０］が仮想基準面積値Ａを超えている場合（ステップＳ２１０でＹＥＳ）、つまり、Ａ＜Ｔ［０］である場合、そのページは、高品質で印刷を行いたい描画データで構成されている割合が高いと判断されるので、印刷品質を高品位に設定し、印刷パス数を基準印刷パス数よりも増やして印刷させるための印刷制御コマンド（高品位多パス数印刷コマンド）をプリンタＣ５に出力する（ステップＳ２１１）。その後、ラスタデータとして展開した印刷データをプリンタＣ５に送信する（ステップＳ２１２）。
【００５９】
尚、この印刷パス数とは、１ページ中の所定記憶領域に対する印刷を複数回の走査数（パス数）で完了する数を示しており、印刷パス数が多い程、より高品位な印刷を実現することができる。
【００６０】
一方、仮想描画面積の合計面積Ｔ［０］が仮想基準面積値Ａを越えていない場合（ステップＳ２１０でＮＯ）、つまり、Ａ＞Ｔ［０］である場合、そのページは、高品質に印刷するよりも印刷品質はそこそこに速く印刷したい描画データで構成されている割合が高いと判断されるので、印刷品質を低品位に設定し、印刷パス数を基準印刷パス数よりも減らして高速に印刷させるための印刷制御コマンド（低品位少パス数印刷コマンド）をプリンタＣ５に出力する（ステップＳ２１３）。その後、ラスタデータとして展開した印刷データをプリンタＣ５に送信する（ステップＳ２１２）。
【００６１】
その後、以上の処理を、ページデータが終了するまで繰り返す。つまり、印刷終了であるか否かを判定する（ステップＳ２１４）。印刷終了でない場合（ステップＳ２１４でＮＯ）、ステップＳ２０３に戻る。一方、印刷終了である場合（ステップＳ２１４でＹＥＳ）、処理を終了する。
【００６２】
以上説明したように、実施形態１によれば、印刷データ中の異なる種類の描画命令の存在比率に基づいて、その印刷データの印刷速度や印刷品位等の印刷方法を適応的に切り換えて印刷することができる。
【００６３】
つまり、パフォーマンスを低下させることなく、ページ単位の印刷データ内の異なる種類のデータ比率を判定し、その判定結果に応じた印刷方法をページ単位に切り換えて印刷することができる。
【００６４】
（実施形態２）
実施形態１では、図２のステップＳ２０９において、仮想描画面積の合計面積と仮想基準面積値との比較を、ページに対する処理の終了後に実行する構成としているが、このステップＳ２０９に相当する処理を、ページに対する処理の終了前に実行する構成としても良い。
【００６５】
この場合、図２のステップＳ２０４〜ステップＳ２１２の処理を、図７に示す処理を実行することになる。
【００６６】
図７は本発明の実施形態２の印刷制御処理を示すフローチャートである。
【００６７】
まず、ページ単位に仮想基準面積値を算出する（ステップＳ７０１）。この処理は、図２のステップＳ２０４と同様の処理になる。
【００６８】
次に、基準印刷パス数に対し印刷パス数の増減を規定する制御フラグをクリアする（フラグ＝ＯＦＦ）（ステップＳ７０２）。次に、描画命令毎の処理を実行するにあたり、まず、制御フラグ＝ＯＦＦであるか否かを判定する（ステップＳ７０３）。制御フラグ＝ＯＦＦである場合（ステップＳ７０３でＹＥＳ）、図２のステップＳ２０５〜ステップＳ２０７の処理に対応する描画命令ごとの面積処理を実行する。（ステップＳ７０４）。その後、図２のステップＳ２０８と同様のラスタライズ処理を実行する（ステップＳ７０５）。
【００６９】
一方、制御フラグ＝ＯＮである場合（ステップＳ７０３でＮＯ）、ステップＳ７０４の処理は行わず、ラスタライズ処理のみを実行する（ステップＳ７０５）。
【００７０】
次に、仮想描画面積の合計面積Ｔ［０］が仮想基準面積値Ａを越えているか否かを判定する（ステップＳ７０６）。仮想描画面積の合計面積Ｔ［０］が仮想基準面積値Ａを超えている場合（ステップＳ７０６でＹＥＳ）、つまり、Ａ＜Ｔ［０］である場合、そのページは、高品質で印刷を行いたい描画データで構成されている割合が高いと判断されるので、制御フラグ＝ＯＮにする（ステップＳ７０７）。
【００７１】
一方、仮想描画面積の合計面積Ｔ［０］が仮想基準面積値Ａを超えていない場合（ステップＳ７０６でＮＯ）、つまり、Ａ＞Ｔ［０］である場合、そのページは、高品質で印刷する必要がない描画データで構成されている割合が高いと判定されるので、ステップＳ７０７の処理は行わず、ステップＳ７０８に進む。
【００７２】
次に、ページ内の上記の処理がすべて終了しているか否か、つまり、ページ終了（ページ描画終了命令）であるか否かを判定する（ステップＳ７０８）。ページ終了でない場合（ステップＳ７０８でＮＯ）、ステップＳ７０３に戻る。一方、ページ終了である場合（ステップＳ７０８でＹＥＳ）、ステップＳ７０９に進む。
【００７３】
１ページ分の印刷データが、プリンタドライバＣ２に渡り終えたときに、制御フラグ＝ＯＦＦであるか否かを判定する（ステップＳ７０９）。制御フラグ＝ＯＮである場合（ステップＳ７０９でＮＯ）、印刷パス数を基準印刷パス数より増やして印刷させるための印刷制御コマンド（高品位多パス数印刷コマンド）をプリンタＣ５に出力する（ステップＳ７１０）。その後、ラスタデータとして展開した印刷データをプリンタＣ５に送信する（ステップＳ７１１）。
【００７４】
一方、制御フラグ＝ＯＦＦである場合（ステップＳ７０９でＹＥＳ）、印刷パス数を減らして高速に印刷させるための印刷制御コマンド（低品位少パス数印刷コマンド）をプリンタＣ５に出力する（ステップＳ７１２）。その後、ラスタデータとして展開した印刷データをプリンタＣ５に送信する（ステップＳ７１１）。
【００７５】
以上説明したように、実施形態２によれば、実施形態１で説明した効果に加えて、ページ内の仮想描画面積の合計面積が仮想基準面積値を超えた時点で、それ以降は、描画命令に対する面積処理の実行を禁止して処理を進めることができる。これにより、処理時間を軽減することができ、トータルスループットを向上することができる。
【００７６】
（実施形態３）
実施形態１では、基準面積比や描画命令に対する係数等の設定値を管理する係数テーブルは固定的に設定されていたが、これに限定されるものではない。実施形態３では、図８に示すように、この係数テーブルである係数テーブル８１が管理する値を制御するコントロールファイル８３を別途構成しても良い。
【００７７】
そして、このコントロールファイル８３では、印刷データとなる元データを生成する、オペレーティングシステム別、アプリケーション別やそのバージョン別等のデータ生成環境毎に、基準面積比や描画命令に対する係数等の設定値を管理する係数テーブル１（８４）や係数テーブル２（８５）をコントロールファイル８３に管理しておき、処理対象のデータのアプリケーションやバージョンに基づいて、より適切な係数テーブルを選択して、係数テーブル８１として設定することも可能である。
【００７８】
以下、ホストコンピュータＣ１（プリンタドライバＣ２）が実行する印刷制御処理について、図９を用いて説明する。
【００７９】
図９は本発明の実施形態３の印刷制御処理を示すフローチャートである。
【００８０】
プリンタドライバＣ２は、印刷を開始する（ステップＳ９０１）。次に、印刷を依頼したアプリケーション及びそのバージョンを含むアプリケーション情報を取得するためのアプリケーション自動判別処理を実行する（ステップＳ９０２）。
【００８１】
取得したアプリケーション情報に対して、コントロールファイル８１上に対応する係数テーブルの有無を判定する（ステップＳ９０３）。
【００８２】
対応する係数テーブルがある場合（ステップＳ９０３でＹＥＳ）、コントロールファイル８３より、対応する係数テーブルを取得して、係数テーブル８１として設定する（ステップＳ９０４）。一方、対応する係数テーブルがない場合（ステップＳ９０３でＮＯ）、コントロールファイル８１からデフォルトの係数テーブルを取得して、係数テーブル８１として設定する（ステップＳ９０５）。
【００８３】
その後、取得した係数テーブルに基づいて、用途や目的に基づいて、実施形態１の図２や実施形態２の図７の処理を実行する。
【００８４】
以上説明したように、実施形態３によれば、オペレーションシステムの差や、アプリケーションの差、あるいはそのバージョンの差から生ずる、各描画命令の呼ばれ方の違いを吸収して、実施形態１や２の効果を実現することができる。
【００８５】
以上説明したように、実施形態１〜３によれば、描画命令ごとに仮想描画面積を算出、加算することにより、１ページに印刷されるデータ量を予測し、その予測から、印刷品位、印刷パス数を自動的に切り換えることにより、ユーザが印刷品位、印刷パス数を気にすることなく、データに適した印刷方法を自動的に選択し、効率の良い印刷を行うことができる。
【００８６】
（実施形態４）
実施形態４は、実施形態１の応用例である。特に、実施形態４では、実施形態１の構成に加えて、描画命令から得られる描画色に基づいて印刷方法を制御する構成について説明する。
【００８７】
以下、ホストコンピュータＣ１（プリンタドライバＣ２）が実行する印刷制御処理について、図１０を用いて説明する。
【００８８】
図１０は本発明の実施形態４の印刷制御処理を示すフローチャートである。
【００８９】
尚、図１０では、実施形態１の図２と同一のステップ番号については、同一のステップ番号を付加し、その詳細については省略する。
【００９０】
まず、描画命令ごとに設定される係数テーブルと描画色ごとに設定される係数テーブルをそれぞれ設定する（ステップＳ２０１ａ）。
【００９１】
描画命令ごとに設定される係数テーブルは、例えば、テキストデータについては、１文字１文字の描画面積もそれほど大きくないために、印刷Ｄｕｔｙは低く、印刷品位を上げる必要は無いので、係数を０％に設定する。一方、テキストデータ以外のグラフィックス系のデータにおいては、描画色によっては高い印刷Ｄｕｔｙとなることが予想されるので、係数を１００％に設定する。
【００９２】
また、描画色ごとに設定される係数テーブルは、例えば、薄い青色等の印刷Ｄｕｔｙが低く、１ページ中の所定記憶領域を１パスで高速に印刷してもスジムラが目立たないため係数を０％に設定する。また、濃い紺色等は印刷Ｄｕｔｙが高く、１ページ中の所定記憶領域を複数パスで高品位に印刷する必要があるため、１００％以上の係数を割り当てる。
【００９３】
ここで、描画色は描画命令のパラメータとしてＲＧＢ各２５６階調の値で与えられるが、各色適当なブロックに分割し、そのブロックごとに係数を割り当てる。そこで、描画色ごとに設定される係数テーブルである図１１では、ブロック１に対する係数をＣ［０］とし、ブロック２に対する係数をＣ［１］とし、ブロックｍに対する係数をＫ［ｍ−１］（これ以降、ｍは各色ブロックに対応する番号で１、２、３、・・・とする）として設定する。
【００９４】
具体的には、オペレーティングシステムが、例えば、Ｗｉｎｄｏｗｓ(登録商標)２０００であり、印刷データ中に描画命令としてテキスト描画命令であるＤｒｖＴｅｘｔＯｕｔがある場合、描画命令ごとに設定される係数として０％を設定する。また、印刷データ中に描画命令としてグラフィックス描画命令の１つであるＤｒｖＦｉｌｌＰａｔｈがある場合、描画命令ごとに設定される係数として１００％を設定する。このように、個々の描画命令に基づいて、描画命令ごとに適切な係数（描画命令係数）をまず設定する。
【００９５】
また、実施形態４では、描画色ブロックとして薄い青色（Ｒ，Ｇ，Ｂ）＝（２００，２５５，２５５）が含まれるブロックは、ここでは、描画色ごとに設定される係数として０％を設定する。また、描画色ブロックとして濃い紺色（Ｒ，Ｇ，Ｂ）＝（０，０，１２５）が含まれるブロックは、描画色ごとに設定される係数として１２０％を設定する。このように、個々の描画命令で特定される描画色に基づいて、描画色ブロックごとに適切な係数（描画色係数）をまず設定する。
【００９６】
次に、各描画命令別に算出した描画面積に対して、印刷前に設定されていた係数テーブルから対応する描画命令係数値と描画色係数値を乗算した仮想描画面積を各描画命令別の面積テーブルに加算していく（ステップＳ２０６ａ）。
【００９７】
実施形態１の図７の面積テーブルに対し、実施形態４では、面積テーブルをＴ、描画命令１の描画色をＣ［０］とすると、描画命令１に対する面積テーブルＴ［１］には、Ｓ［１］×Ｋ［１］×Ｃ［０］が加算され、Ｔ［１］＝Ｔ［１］＋Ｓ［１］×Ｋ［１］×Ｃ［０］となる。また、描画命令２の描画色をＣ［１］とすると、描画命令２に対する面積テーブルＴ［２］には、Ｓ［２］×Ｋ［２］×Ｃ［１］が加算され、Ｔ［２］＝Ｔ［２］＋Ｓ［２］×Ｋ［２］×Ｃ［１］となる。同様に、描画命令ｎの描画色をＣ［ｍ−１］とすると、描画命令ｎに対する面積テーブルＴ［ｎ］には、Ｓ［ｎ］×Ｋ［ｎ］×Ｃ［ｍ−１］が加算され、Ｔ［ｎ］＝Ｔ［ｎ］＋Ｓ［ｎ］×Ｋ［ｎ］×Ｃ［ｍ−１］となる。
【００９８】
同時に、全ての仮想描画面積の合計面積を面積テーブルに格納する（ステップＳ２０７ａ）。例えば、面積テーブルＴのＴ［０］を仮想描画面積の合計面積の格納場所とすると、Ｔ［０］＝Ｔ［０］＋Ｓ［１］×Ｋ［１］×Ｃ［０］＋Ｓ［２］×Ｋ［２］×Ｃ［１］＋、・・・、＋Ｓ［ｎ］×Ｋ［ｎ］×Ｃ［ｍ−１］として処理する。
【００９９】
ステップＳ２０７ａの処理の完了後、ステップＳ２０８〜ステップＳ２１０の処理を実行する。
【０１００】
そして、ステップＳ２１０において、仮想描画面積の合計面積Ｔ［０］が仮想基準面積値Ａを超えている場合（ステップＳ２１０でＹＥＳ）、つまり、Ａ＜Ｔ［０］である場合、そのページは印刷Ｄｕｔｙが大きく、高品質で印刷を行いたい描画データで構成されている割合が高いと判断されるので、印刷品質を高品位に設定し、印刷パス数を基準印刷パス数よりも増やして印刷させるための印刷制御コマンド（高品位多パス数印刷コマンド）をプリンタＣ５に出力する（ステップＳ２１１）。
【０１０１】
一方、仮想描画面積の合計面積Ｔ［０］が仮想基準面積値Ａを越えていない場合（ステップＳ２１０でＮＯ）、つまり、Ａ＞Ｔ［０］である場合、そのページは、印刷Ｄｕｔｙが低く、高品質に印刷するよりも印刷品質はそこそこに速く印刷したい描画データで構成されている割合が高いと判断されるので、印刷品質を低品位に設定し、印刷パス数を基準印刷パス数よりも減らして高速に印刷させるための印刷制御コマンド（低品位少パス数印刷コマンド）をプリンタＣ５に出力する（ステップＳ２１３）。
【０１０２】
以上説明したように、実施形態４によれば、実施形態１で説明した構成に加えて、印刷データ中の描画命令によって特定される描画色に基づいて、その印刷データの印刷速度や印刷品位等の印刷方法を適応的に切り換えて印刷することができる。
【０１０３】
これにより、実施形態１で説明した効果に加えて、より印刷データの内容に適した印刷方法で印刷することができる。
【０１０４】
（実施形態５）
実施形態５は、実施形態４の応用例である。特に、実施形態４では、描画色に対する印刷方法の切換をより厳密に行うことで、更なる印刷品位の向上を図る構成について説明する。
【０１０５】
この場合、図１１のステップＳ２０５〜ステップＳ２０９の処理を、図１２に示す処理を実行することになる。
【０１０６】
図１２は本発明の実施形態５の印刷制御処理を示すフローチャートである。
【０１０７】
まず、描画命令がイメージ系であるか否かを判定する（ステップＳ８０１）。
【０１０８】
ここで、イメージ系の描画命令とは、具体的には、ＤｒｖＳｔｒｅｔｃｈＢｌｔやＤｒｖＢｉｔｂｌｔ等を指す。
【０１０９】
描画命令がイメージ系である場合（ステップＳ８０１でＹＥＳ）、この描画命令は描画するビットマップ情報を保持しているので、そのビットマップ情報を取得する（ステップＳ８０２）。次に、取得したビットマップ情報の特徴量を算出する。特に、ここでは、特徴量として、各ピクセルのＲＧＢ色情報のＲＧＢ平均値を算出する（ステップＳ８０３）。そして、このＲＧＢ平均値をこの描画命令の色とし、あらかじめ描画色に割り当てられた描画色係数を割り当てる（ステップＳ８０８）
尚、特徴量は、ＲＧＢ平均値以外に、輝度平均値や濃度平均値等の他の特徴量であっても良い。
【０１１０】
一方、描画命令がイメージ系でない場合（ステップＳ８０１でＮＯ）、描画命令が塗りつぶしを含むグラフィックス系であるか否かを判定する（ステップＳ８０４）。
【０１１１】
ここで、塗りつぶしを含むグラフィックス系の描画命令とは、例えば、ＤｒｖＦｉｌｌＰａｔｈなどを指す。
【０１１２】
描画命令がクラフィックス系でない場合（ステップＳ８０４でＮＯ）、ステップＳ８０９に進む。一方、描画命令がグラフィックス系である場合（ステップＳ８０４でＹＥＳ）、描画命令の塗りつぶしパターンが単色塗りつぶしであるか否かを判定する（ステップＳ８０５）。
【０１１３】
尚、空の塗りつぶしパターンが選択されている場合は、白色での単色塗りつぶしと同じ処理を行うものとする。
【０１１４】
塗りつぶしパターンが単色塗りつぶしである場合（ステップＳ８０５でＹＥＳ）、あらかじめ描画色に割り当てられた描画色係数と描画命令に割り当てられた描画命令係数を描画面積に積算し、面積テーブルに格納する（ステップＳ８０９）。
【０１１５】
一方、塗りつぶしパターンが単色塗りつぶしでない場合（ステップＳ８０５でＮＯ）、なんらかのパターン情報を所持した描画パターンを所持しているので、この描画パターンを取得する（ステップＳ８０６）。次に、描画パターンの特徴量を算出する。特に、ここでは、特徴量として、各ピクセルのＲＧＢ平均値を算出する（ステップＳ８０７）。次に、このＲＧＢ平均値をこの描画命令の色とし、あらかじめ描画色に割り当てられた描画色係数を割り当てる（ステップＳ８０８）。
【０１１６】
尚、ステップＳ８０４で、描画命令が塗りつぶしを含むグラフィックス系以外である場合は、実施形態４の図１０のステップＳ２０６ａ以降と同じ処理を行う。
【０１１７】
それぞれの場合に対し、描画命令係数及び描画色係数を積算して面積テーブルに格納（ステップＳ８０９）した後、すべての描画命令に対して算出した合計面積を加算し、面積テーブルに格納する（ステップＳ８１０）。
【０１１８】
その後、描画命令のラスタライズ処理を実行する（ステップＳ８１０）。
【０１１９】
次に、ページ内の上記の処理がすべて終了しているか否か、つまり、ページ終了（ページ描画終了命令）であるか否かを判定する（ステップＳ８１１）。ページ終了でない場合（ステップＳ８１１でＮＯ）、ステップＳ８０１に戻る。一方、ページ終了である場合（ステップＳ８１１でＹＥＳ）、ステップＳ２１０に進む。
【０１２０】
以上説明したように、実施形態５によれば、実施形態４で説明した効果に加えて、単色塗りつぶし以外を行う描画命令が発行される場合にも、本来の印刷Ｄｕｔｙに近い印刷方法を選択することが可能になり、印刷品位を考慮した印刷方法の切換をより高精度で行うことが可能になる。
【０１２１】
以上説明したように、実施形態４及び５によれば、描画命令ごとに描画色を用いて仮想描画面積を算出、加算することにより、１ページの印刷Ｄｕｔｙを予測し、その予測から、印刷品位、印刷パス数を自動的に切り換えることができる。これにより、ユーザが印刷品位、印刷パス数を気にすることなく、データに適した印刷方法を自動的に選択し、効率の良い印刷を行うことができる。
【０１２２】
（実施形態６）
実施形態６は、実施形態１の応用例である。特に、実施形態６では、描画命令の種類に基づいて、ハーフトーン処理の処理内容を切り換える印刷方法を制御する構成について説明する。
【０１２３】
以下、ホストコンピュータＣ１（プリンタドライバＣ２）が実行する印刷制御処理について、図１３を用いて説明する。
【０１２４】
図１３は本発明の実施形態６の印刷制御処理を示すフローチャートである。
【０１２５】
尚、図１３では、実施形態１の図２と同一のステップ番号については、同一のステップ番号を付加し、その詳細については省略する。
【０１２６】
まず、初めに、係数テーブルを設定する（ステップＳ２０１ｂ）。係数テーブルは、例えば、テキストデータについては、色としては黒が中心で、誤差拡散を利用することによる品位向上が少なく、圧縮率が高く高速に処理可能なディザ処理でハーフトーン処理を行いたいので、係数を０％に設定する。一方、テキストデータ以外のイメージ系のデータにおいては、なるべく高品位で印刷する必要があるので、高品位に処理可能な誤差拡散処理でハーフトーン処理を行いたいので、係数を１００％以上に設定する。
【０１２７】
具体的には、オペレーティングシステムが、例えば、Ｗｉｎｄｏｗｓ(登録商標)２０００であり、印刷データ中に描画命令としてテキスト描画命令であるＤｒｖＴｅｘｔＯｕｔがある場合、係数を０％に設定する。また、印刷データ中に描画命令としてイメージ描画命令の１つであるＤｒｖＳｔｒｅｔｃｈＢｌｔがある場合、係数を１５０％に設定する。このように、個々の描画命令ごとに、その描画命令の内容に基づいて、適切な係数を設定する。
【０１２８】
ステップＳ２０１ｂの処理の完了後、ステップＳ２０２〜ステップＳ２１０の処理を実行する。
【０１２９】
そして、ステップＳ２１０において、仮想描画面積の合計面積Ｔ［０］が仮想基準面積値Ａを超えている場合（ステップＳ２１０でＹＥＳ）、つまり、Ａ＜Ｔ［０］である場合、そのページは高品質で印刷を行いたい描画データで構成されている割合が高いと判断されるので、誤差拡散処理でハーフトーン処理を実行する（ステップＳ２１１ｂ）。
【０１３０】
一方、仮想描画面積の合計面積Ｔ［０］が仮想基準面積値Ａを越えていない場合（ステップＳ２１０でＮＯ）、つまり、Ａ＞Ｔ［０］である場合、そのページは、高品質に印刷するよりも印刷品質はそこそこに速く印刷したい描画データで構成されている割合が高いと判断されるので、ディザ処理でハーフトーン処理を実行する（ステップＳ２１３ｂ）。
【０１３１】
以上説明したように、実施形態６によれば、印刷データ中の異なる種類の描画命令の存在比率に基づいて、その印刷データに施す画像処理方法を適応的に切り換えて印刷することができる。
【０１３２】
特に、実施形態６の場合、パフォーマンスを低下させることなく、ページ内のデータ比率を判定し、その判定結果に応じたハーフトーン処理方法をページ単位に切り換えて印刷することができる。
【０１３３】
（実施形態７）
実施形態７は、実施形態１の応用例である。特に、実施形態７では、描画命令の種類に基づいて、入力デバイス（例えば、ホストコンピュータＣ１のディスプレイ）と出力デバイス（例えば、プリンタＣ５）間のカラーマッチング処理の処理内容を切り換える印刷方法を制御する構成について説明する。
【０１３４】
以下、ホストコンピュータＣ１（プリンタドライバＣ２）が実行する印刷制御処理について、図１４を用いて説明する。
【０１３５】
図１４は本発明の実施形態７の印刷制御処理を示すフローチャートである。
【０１３６】
尚、図１４では、実施形態１の図２と同一のステップ番号については、同一のステップ番号を付加し、その詳細については省略する。
【０１３７】
まず、係数テーブルを設定する（ステップＳ２０１ｃ）。係数テーブルは、例えば、グラフィックスについては、モニタでの表示色を忠実に再現した印刷を行いたいので、モニターマッチングを行えるように、係数を０％に設定する。また、テキストデータ以外のイメージ系のデータにおいては、できるだけ階調性高く印刷を行いたいので写真調マッチングを行えるように、係数を１００％以上に設定する。
【０１３８】
具体的には、オペレーティングシステムが、例えば、Ｗｉｎｄｏｗｓ(登録商標)２０００であり、印刷データ中に描画命令としてグラフィックス描画命令であるＤｒｖＦｉｌｌＰａｔｈがある場合、係数を０％に設定する。また、印刷データ中に描画命令としてイメージ描画命令の１つであるＤｒｖＳｔｒｅｔｃｈＢｌｔがある場合、係数を１５０％に設定する。このように、個々の描画命令ごとに、その描画命令の内容に基づいて、適切な係数を設定する。
【０１３９】
ステップＳ２０１ｃの処理の完了後、ステップＳ２０２〜ステップＳ２１０の処理を実行する。
【０１４０】
そして、ステップＳ２１０において、仮想描画面積の合計面積Ｔ［０］が仮想基準面積値Ａを超えている場合（ステップＳ２１０でＹＥＳ）、つまり、Ａ＜Ｔ［０］である場合、そのページは、イメージデータが多いと判断されるので、写真調マッチングによるカラーマッチングを実行する（ステップＳ２１１Ｃ）。その後、ハーフトーン処理を実行する（ステップＳ２１５）。
【０１４１】
一方、仮想描画面積の合計面積Ｔ［０］が仮想基準面積値Ａを越えていない場合（ステップＳ２１０でＮＯ）、つまり、Ａ＞Ｔ［０］である場合、そのページは、グラフィックスデータが多いと判断されるので、モニターマッチングによるカラーマッチングを実行する（ステップＳ２１３ｃ）。その後、ハーフトーン処理を実行する（ステップＳ２１５）。
【０１４２】
以上説明したように、実施形態７によれば、印刷データ中の異なる種類の描画命令の存在比率に基づいて、その印刷データに施す画像処理方法を適応的に切り換えて印刷することができる。
【０１４３】
特に、実施形態７の場合、パフォーマンスを低下させることなく、ページ内のデータ比率を判定し、その判定結果に応じたカラーマッチング方法をページ単位に切り換えて印刷することができる。
【０１４４】
以上説明したように、実施形態６及び７によれば、描画命令ごとに仮想描画面積を算出、加算することにより、１ページに印刷されるデータ量を予測し、その予測から、画像処理方法を自動的に切り換えることができる。これにより、ユーザがデータに適した印刷方法を自動的に選択し、効率の良い印刷を行うことができる。
【０１４５】
尚、上記実施形態１〜７の構成は、用途や目的に応じて、任意に組み合わせて、所望する動作が実行できるように構成できることは言うまでもない。
【０１４６】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１４７】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１４８】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１５０】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１５１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１５２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１５３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１５４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１５５】
【図１】本発明の実施形態１の印刷システムの構成を示す図である。
【図２】本発明の実施形態１の印刷制御処理を示すフローチャートである。
【図３】本発明の実施形態１の係数テーブルの一例を示す図である。
【図４】本発明の実施形態１の仮想基準面積値の算出を説明するための図である。
【図５】本発明の実施形態１の印刷データの一例を示す図である。
【図６】本発明の実施形態１の面積テーブルの一例を示す図である。
【図７】本発明の実施形態２の印刷制御処理を示すフローチャートである。
【図８】本発明の実施形態３の係数テーブル及びコントロールファイルの一例を示す図である。
【図９】本発明の実施形態３の印刷制御処理を示すフローチャートである。
【図１０】本発明の実施形態４の印刷制御処理を示すフローチャートである。
【図１１】本発明の実施形態４の係数テーブルの一例を示す図である。
【図１２】本発明の実施形態５の印刷制御処理を示すフローチャートである。
【図１３】本発明の実施形態６の印刷制御処理を示すフローチャートである。
【図１４】本発明の実施形態７の印刷制御処理を示すフローチャートである。
【符号の説明】
【０１５６】
Ｃ１  ホストコンピュータ
Ｃ２  プリンタドライバ
Ｃ３  記憶装置
Ｃ４  インターフェイス
Ｃ５  プリンタ本体
Ｃ６  インターフェイス
Ｃ７  受信バッファ
Ｃ８  制御部
Ｃ９  プリンタエンジン部
【図１】
2005322063.tif 000003
【図２】
2005322063.tif 000004
【図３】
2005322063.tif 000005
【図４】
2005322063.tif 000006
【図５】
2005322063.tif 000007
【図６】
2005322063.tif 000008
【図７】
2005322063.tif 000009
【図８】
2005322063.tif 000010
【図９】
2005322063.tif 000011
【図１０】
2005322063.tif 000012
【図１１】
2005322063.tif 000013
【図１２】
2005322063.tif 000014
【図１３】
2005322063.tif 000015
【図１４】
2005322063.tif 000016