(57)【要約】【課題】たとえば、Ｗｅｂ画面中にはユーザにとって不用な領域と必要な領域が混在しているが、Ｗｅｂ画面を印刷する場合に、ユーザにとって不用な領域に対しても多くの色材が使用されランニングコストの増加につながり、ユーザの不満につながっていた。【解決手段】本発明に係るプリンタドライバは、ビットマップ形式の印刷画像を生成する手段と、前記印刷画像をオブジェクト別に分離する手段と、前記分離された各オブジェクトの印刷に要するインク量および／または印刷コストを演算する演算手段と、前記印刷画像と、前記インク量および／または印刷コストをプレビュー表示するプレビュー表示手段と、を有する。【選択図】図５
2011002894.tif 000002
【特許請求の範囲】
【請求項１】
印刷画像をオブジェクト別に分離する手段と、
前記分離された各オブジェクトの印刷に要する色材使用量および／または印刷コストを演算する演算手段と、
前記印刷画像と、前記色材使用量および／または印刷コストをプレビュー表示するプレビュー表示手段と、
を有することを特徴とするプリンタドライバ。
【請求項２】
前記プレビュー表示された前記印刷画像のオブジェクトに対する編集指示を受け付ける手段をさらに備え、
前記演算手段は、前記編集指示を受け付ける手段において編集指示を受け付けた場合に、当該編集指示が反映された各オブジェクトの印刷に要する色材使用量および／または印刷コストを再演算し、
前記プレビュー表示手段は、前記印刷画像と、再演算された色材使用量および／または印刷コストをプレビュー表示する
ことを特徴とする請求項1に記載のプリンタドライバ。
【請求項３】
前記編集指示は、拡大／縮小、トリミング、削除のいずれか又はこれらの組合せからなることを特徴とする請求項１又は２に記載のプリンタドライバ。
【請求項４】
前記演算手段は、前記印刷画像を格子状の複数のブロックに分割してブロック毎のドットカウント値を算出し、算出したドットカウント値に基づいて前記各オブジェクトの印刷に要する色材使用量および／または印刷コストを演算する手段であって、
前記複数のブロックは、前記印刷画像の画素数よりも少ないことを特徴とする請求項１乃至３のいずれか1項に記載のプリンタドライバ。
【請求項５】
前記複数のブロックは、前記プレビュー表示の画素数と等しいことを特徴とする請求項４に記載のプリンタドライバ。
【請求項６】
前記複数のブロックは、前記編集指示を受け付ける単位の画素数と等しいことを特徴とする請求項４に記載のプリンタドライバ。
【請求項７】
前記各オブジェクトの印刷に要する色材使用量は、Ｃ（シアン）、Ｍ（マゼンダ）、Ｙ（イエロー）、Ｋ（ブラック）の各色材の使用量であることを特徴とする請求項１乃至６のいずれか１項に記載のプリンタドライバ。
【請求項８】
前記各オブジェクトの印刷に要する色材使用量は、使用する全色材の総量であることを特徴とする請求項１乃至６のいずれか１項に記載のプリンタドライバ。
【請求項９】
ＰＤＬデータを受信する手段と、
前記ＰＤＬデータをビットマップ形式の印刷画像に展開する手段と、
前記印刷画像をオブジェクト別に分離する手段と、
前記分離された各オブジェクトの印刷に要する色材使用量および／または印刷コストを演算する演算手段と、
前記印刷画像と、前記色材使用量および／または印刷コストをプレビュー表示するプレビュー表示手段と、
を有することを特徴とする画像処理装置。
【請求項１０】
前記プレビュー表示された前記印刷画像のオブジェクトに対する編集指示を受け付ける手段をさらに備え、
前記演算手段は、前記編集指示を受け付ける手段において編集指示を受け付けた場合に、当該編集指示が反映された各オブジェクトの印刷に要する色材使用量および／または印刷コストを再演算し、
前記プレビュー表示手段は、前記印刷画像と、再演算された色材使用量および／または印刷コストをプレビュー表示する
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記編集指示は、拡大／縮小、トリミング、削除のいずれか又はこれらの組合せからなることを特徴とする請求項９又は１０に記載の画像処理装置。
【請求項１２】
前記演算手段は、前記印刷画像を格子状の複数のブロックに分割してブロック毎のドットカウント値を算出し、算出したドットカウント値に基づいて前記各オブジェクトの印刷に要する色材使用量および／または印刷コストを演算する手段であって、
前記複数のブロックは、前記印刷画像の画素数よりも少ないことを特徴とする請求項１９乃至１１のいずれか1項に記載の画像処理装置。
【請求項１３】
前記複数のブロックは、前記プレビュー表示の画素数と等しいことを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記複数のブロックは、前記編集指示を受け付ける単位の画素数と等しいことを特徴とする請求項１２に記載の画像処理装置。
【請求項１５】
前記各オブジェクトの印刷に要する色材使用量は、Ｃ（シアン）、Ｍ（マゼンダ）、Ｙ（イエロー）、Ｋ（ブラック）の各色材の使用量であることを特徴とする請求項９乃至１４のいずれか１項に記載の画像処理装置。
【請求項１６】
前記各オブジェクトの印刷に要する色材使用量は、使用する全色材の総量であることを特徴とする請求項９乃至１４のいずれか１項に記載の画像処理装置。
【請求項１７】
ＰＤＬデータを受信するステップと、
前記ＰＤＬデータをビットマップ形式の印刷画像に展開するステップと、
前記印刷画像をオブジェクト別に分離するステップと、
前記分離された各オブジェクトの印刷に要する色材使用量および／または印刷コストを演算するステップと、
前記印刷画像と、前記色材使用量および／または印刷コストをプレビュー表示するステップと、
を有することを特徴とする画像処理方法。
【請求項１８】
コンピュータに、請求項１７に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバおよび画像処理装置に関する。
【背景技術】
【０００２】
従来から、ホストコンピュータと接続して画像を出力するプリンタや、スタンドアローンで用いるコピー機において、紙上に記録する色材となるインクやトナーの使用量を節約し、１枚あたりのランニングコストを削減する様々な色材節約方法が提案されている。
【０００３】
たとえば、特許文献１では、トナー消費量や印刷コストをユーザが定量的に把握することができるようにトナー消費量を表示する機能を持つ印刷装置が開示されており、ユーザが所望の画質モードを選択して印刷できるようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２２７４４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の特許文献１に開示された技術では、印刷コストの観点から見たユーザの意図をある程度印刷内容に反映させることができる。しかし、自然画と文字といった異なるオブジェクトが混在した文書を印刷する際に、自然画領域と文字領域での節約比率を自由に設定することまではできなかった。また、同一オブジェクト内で、重要な部分とそうでない部分という具合に節約する比率に重みを付けることはできなかった。したがって、同一ページ内に自然画が複数存在した場合に一方の自然画だけを節約モードにしたり、文字領域の中から特定の段落以外を節約モードにしたりといったことまではできなかった。
【０００６】
そして、昨今のインターネットの普及によりＷｅｂ画面を印刷する機会が格段に増加しているが、Ｗｅｂ画面中にはユーザにとって不用な領域と必要な領域が混在しているのが通常である。そのため、Ｗｅｂ画面を印刷する場合、ユーザにとって不用な領域に対しても多くの色材が使用されランニングコストの増加につながり、ユーザの不満につながっていた。
【課題を解決するための手段】
【０００７】
本発明に係るプリンタドライバは、前記印刷画像をオブジェクト別に分離する手段と、前記分離された各オブジェクトの印刷に要する色材使用量および／または印刷コストを演算する演算手段と、前記印刷画像と、前記色材使用量および／または印刷コストをプレビュー表示するプレビュー表示手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、予め局所的に色材使用量または印刷コストを算出し表示することで、ユーザは個別のオブジェクトについて、その重要度とコストのバランスに応じて選択し印刷することができる。
【０００９】
また、印刷対象を変形操作した際の色材使用量／印刷コストの表示も可能であるので、ユーザは印刷結果のイメージを常に確認しながら、印刷コストを抑えた最適な印刷画像を簡便に得ることができる。
【図面の簡単な説明】
【００１０】
【図１】インクジェット記録装置の一例を示す図である。
【図２】第１の実施形態に係る印刷システムを示すブロック図である。
【図３】第１の実施形態に係るプリンタドライバの構成を示す図である。
【図４】第１の実施形態に係る画像処理の具体的な流れを示すフローチャートである。
【図５】第１の実施形態においてホストコンピュータ上で動作するプリンタドライバにおける処理の流れを示すフローチャートである。
【図６】ビットマップ形式の印刷画像の一例を示す図である。
【図７】ブロック分割の一例を示した図である。
【図８】ドットカウント値に応じて色付けしたビットマップイメージの例を示す図である。
【図９】印刷コストを表示した印刷プレビュー画面の一例を示す図である。
【図１０】操作ハンドルが表示された状態の一例を示す図である。
【図１１】拡大／縮小操作ハンドルが強調表示された状態の一例を示す図である。
【図１２】ビットマップイメージに対し縮小処理を行った結果の一例を示す図である。
【図１３】縮小処理がされた後の印刷プレビュー画面の一例を示す図である。
【図１４】操作ハンドルが表示された状態の一例を示す図である。
【図１５】トリミング操作ハンドルが強調表示された状態の一例を示す図である。
【図１６】ビットマップイメージに対しトリミング処理を行った結果の一例を示す図である。
【図１７】トリミング処理がされた後の印刷プレビュー画面の一例を示す図である。
【図１８】操作ハンドルが表示された状態の一例を示す図である。
【図１９】ビットマップイメージに対し削除処理を行った結果の一例を示す図である。
【図２０】削除処理がされた後の印刷プレビュー画面の一例を示す図である。
【図２１】最終的に出力される印刷画像の一例を示した図である。
【図２２】第２の実施形態に係る印刷システムのハードウェア構成を示した図である。
【図２３】第２の実施形態におけるデータ処理部の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
（第１の実施形態）
以下に図面を参照して本発明の第１の実施形態を詳細に説明する。  
図１は、本発明に係る印刷システムにおいて適用可能なインクジェット記録装置の一例である。１は紙或いはプラスチックシートよりなる記録シートであって、カセット等に複数枚積層された記録シート１が給紙ローラ（不図示）によって一枚ずつ供給される。一定間隔を隔てて配置され、夫々個々のステッピングモータ（図示せず）によって駆動する第１搬送ローラ対３及び第２搬送ローラ対４によって記録シート１は矢印Ａ方向に搬送される。
【００１２】
５は前記記録シート１に記録を行うためのインクジェット式の記録ヘッドおよびインクタンクで、インク吐出ヘッドおよびインクタンクからなる。インクは、Ｋ（ブラック）インクタンク５ａ、Ｃ（シアン）インクタンク５ｂ、Ｍ（マゼンダ）インクタンク５ｃ、Ｙ（イエロー）インクタンク５ｄから紙に正対する面に配置されている不図示のインク吐出ヘッドへ供給され、ノズルから画信号に応じて吐出される。この記録ヘッド５はキャリッジ６に搭載され、該キャリッジ６にはベルト７及びプーリ８ａ，８ｂを介してキャリッジモータ１０が連結している。従って、前記キャリッジモータ１０の駆動により前記キャリッジ６がガイドシャフト９に沿って往復走査するように構成されている。
【００１３】
このような構成により、記録ヘッド５が矢印Ｂ方向に移動しながら画信号に応じてインクを記録シート１に吐出してインク像を記録する。そして、必要に応じて記録ヘッド５はホームポジションに戻ってインク回復装置２によりノズルの目詰まりを解消すると共に、搬送ローラ対３，４が駆動して記録シート１を矢印Ａ方向に１行分搬送する。これを繰り返すことによって記録シート１に所定の記録を行うものである。
【００１４】
ここでは、４色のインクを吐出可能なインクジェット記録装置について説明をしたが、これに限定されるものではない。複数の色材を用いて異なった色調のモノクロ画像を表現可能であれば、有効に適用することが出来る。例えば、シアンやマゼンタインクの濃度の異なる同系色のインクを備える構成でも良いし、レッドやグリーン、オレンジなどの特色を用いてもよいし、無彩色インク（グレーインク）を備える構成でも良い。濃度や色調の異なる複数の無彩色インクを備える構成も有効である。
【００１５】
当然のことながら本発明は記録方式による制限を受けることはなく、インクジェット方式以外の記録方式、たとえば、感光ドラムにレーザー光線をあて、そこに発生した静電気でトナーを吸着させて記録する電子写真方式などであってもよい。
【００１６】
＜印刷システム＞
図２は、本実施形態に係る印刷システムを示すブロック図である。  
印刷システムは、ホストコンピュータ１００、プリンタ１０６およびモニタ１０５で構成され、ホストコンピュータ１００には、たとえば、インクジェット方式のプリンタ１０６とモニタ１０５が双方向通信可能に接続される。
【００１７】
ホストコンピュータ１００は、アプリケーション１０１、ＯＳ（オペレーティングシステム）１０２、プリンタドライバ１０３、モニタドライバ１０４等のソフトウェアを有している。アプリケーション１０１には、ＯＳ１０２の管理下においてそれぞれの処理を行う、ワードプロセッサ、表演算、画像処理、インターネットブラウザ等が含まれる。
【００１８】
プリンタドライバ１０３は、アプリケーションソフトで作成された出力画像を表す各種描画命令群（イメージ描画命令、テキスト描画命令、グラフィックス描画命令）を処理してプリンタ１０６で印刷可能な形態の印刷データを作成し、プリンタ１０６に送信する。モニタドライバ１０４は、アプリケーション１０１が発行する各種描画命令群を処理してモニタ１０６に表示を行う。
【００１９】
また、ホストコンピュータ１００は、上述のソフトウエアによって動作可能な各種ハードウエアとしてＣＰＵ１０８、ハードディスクドライバＨＤ１０７、ランダムアクセスメモリ（ＲＡＭ）１０９、リードオンリーメモリ（ＲＯＭ）１１０等を備える。すなわち、ＣＰＵ１０８は、上述のソフトウエアに従った各種処理を実行し、ハードディスクドライバ１０７によって駆動されるハードディスクやＲＯＭ１１０には、各種ソフトウエアが予め格納されており、必要に応じて読み出されて用いられる。また、ＲＡＭ１０９は、ＣＰＵ１０８による処理実行のワークエリア等として用いられる。
【００２０】
以上のような構成を有した印刷システムにおいて、ユーザは、モニタ１０５に表示された表示画像に基づき、テキストデータ（文字）、グラフィックスデータ（図形や表）、イメージ画像データ（自然画）などからなる画像データを作成することができる。
【００２１】
そして、作成された画像データの印刷出力がユーザによって指示されると、アプリケーション１０１はＯＳ１０２に印刷出力要求を行う。同時に、グラフィックスデータ部分をグラフィックス描画命令、イメージ画像データ部分をイメージ描画命令として構成した、出力画像を示す描画命令群をＯＳ１０２に発行する。アプリケーション１０１の印刷出力要求を受けてＯＳ１０２は、その印刷を行うプリンタ１０６に対応したプリンタドライバ１０３に描画命令群を発行する。
【００２２】
プリンタドライバ１０３は、ＯＳ１０２から受け取った印刷要求と描画命令群を処理しプリンタ１０６で印刷可能な形態の印刷データを作成し、プリンタ１０６に転送する。たとえば、プリンタ１０６が印刷ヘッドが左右に移動して、１行（１ラスタ行）ずつ文字や画像を印刷するラスタプリンタである場合は、プリンタドライバ１０３は、まず、ＯＳ１０２からの描画命令に対して、順次画像補正処理を行う。そして、順次ＲＧＢ２４ビットページメモリにラスタライズし、すべての描画命令をラスタライズした後にＲＧＢ２４ビットページメモリの内容をプリンタ１０６が印刷可能なデータ形式に変換し、プリンタ１０６に転送する。
【００２３】
＜プリンタドライバの構成＞
続いて、本発明に係るプリンタドライバ１０３の処理の詳細を説明する。  
図３は、プリンタドライバ１０３の構成を示す図である。  
３０１は、ＯＳ１０２が管理するスプールファイルであり、アプリケーションが生成した印刷データ（ベクタ形式の画像データ）がハードディスク等に保存されている。
【００２４】
３０２は、印刷データ生成制御部であり、ベクタ形式の画像データであるスプールファイル３０１をビットマップデータに展開するとともに、プリンタが理解できる印刷データ（ドットデータ）を生成する機能を有している。
【００２５】
３０３は画像解析部であり、ビットマップデータに展開した画像情報を基に、自然画の領域、テキストの領域、グラフィックの領域等の画像属性（以下、オブジェクトと称す）を識別し、各オブジェクトが位置している座標情報を特定する機能を有している。
【００２６】
３０４は印刷設定部を示し、ユーザからの各種印刷条件の設定受け付け等、プリンタドライバ１０３のユーザインタフェース全般を司る機能を有している。
【００２７】
３０５は、画像表示制御部を示し、印刷データ生成制御部３０２で生成した印刷データのプレビューやドライバ設定に関わる各種表示全般を司る機能である。
【００２８】
３０６は、色材使用量演算部を示し、印刷データ生成制御部３０２で生成した印刷データに対して指定された領域における局所的な色材使用量を演算する機能を有している。
【００２９】
以上説明したプリンタドライバ１０３を構成する各部は、必要に応じてＯＳ１０２と送受信をすることにより、ホストコンピュータ上での円滑な操作が実現できる。
【００３０】
なお、本発明に係るプリンタドライバ１０３の処理の詳細については後述する。
【００３１】
＜画像処理＞
印刷データ生成制御部３０２における画像処理について説明する。  
図４は、画像処理の具体的な流れを示すフローチャートである。  
ここでは、レッド（Ｒ）、グリーン（Ｇ）およびブルー（Ｂ）の各色８ビット（２５６階調）のデータを、シアン（Ｃ）、マゼンダ（Ｍ）、イエロー（Ｙ）およびブラック（Ｋ）の各色１ビットのデータに変換する場合を例に説明する。
まず、ステップ２０１で色変換処理部（不図示）は、カラー画像であるＲＧＢ各色８ビットデータを、３次元のルックアップテーブル（ＬＵＴ）によりプリンタの出力色に合わせたＣＭＹＫ各色８ビットデータに変換する。この処理は入力系のＲＧＢ系カラーから出力系のＣＭＹＫ系カラーに変換する処理である。入力データはディスプレイなど発光体の加法混色の３原色（ＲＧＢ）であることが多いが、プリンタではＣＭＹＫの色材が用いられるのでこのような変換処理を行う。色処理に用いられる３次元ＬＵＴは離散的にデータを保持しており、保持しているデータ間は補間処理で求めるが、補間処理は公知の技術であるのでその詳細な説明は省略する。
【００３２】
次に、ステップ２０２で出力γ補正部（不図示）は、色処理が施されたＣＭＹＫ各色８ビットデータを、１次元ＬＵＴによって、Ｃ’、Ｍ’、Ｙ’、Ｋ’各８ビットのデータにする。単位面積当たりの印字ドット数と出力特性（反射濃度など）の関係は多くの場合に線形関係とはならないので、出力γ補正を施すことでＣＭＹＫ８ビットの入力レベルと、その時の出力特性との線形関係とを保証する。
【００３３】
ここまでが色処理であり、入力ＲＧＢ各色８ビットのデータが出力機器の有する色材ＣＭＹＫ各色８ビットのデータに変換される。
【００３４】
さらに、ステップ２０３で、ＣＭＹＫ各色８ビットのデータは、量子化処理部（不図示）において各色２値データに変換される。量子化方法は公知の誤差拡散法やディザ法が用いられる。なお、プリンタ１０６が２値記録装置でない場合には量子化処理は省略可能である。
【００３５】
以上説明した色変換処理、出力γ補正および量子化処理における最適な変換方法は、印刷媒体の種類や印刷する画像の種類等によって異なるのが一般的である。特に、色変換処理および出力γ補正で用いられるルックアップテーブルは、記録媒体の種類ごとに用意されるのが一般的である。
【００３６】
＜プリンタドライバ１０３の処理＞
図５は、本実施形態においてホストコンピュータ上で動作するプリンタドライバ１０３における処理の流れを示すフローチャートである。
【００３７】
ステップ１００１で印刷データ生成制御部３０２は、プリンタ１０６において取り扱い可能なビットマップ形式の印刷画像を生成する。具体的には、印刷データ生成制御部３０２は、アプリケーションソフトで作成したスプールファイルをラスタライズし、ビットマップデータ（たとえば、ＲＧＢ２４ビットページメモリ）に展開する。図６は、本ステップで生成されるビットマップ形式の印刷画像の一例である。
【００３８】
Ｓ１００２で画像解析部３０３は、生成された印刷画像について画素毎に属性を解析する。印刷画像中には、文字列の羅列であるテキスト領域、図や表のグラフィック領域、自然画が合成されているイメージ画像領域等があり、各画素を領域別に分類する。具体的には、生成された印刷画像を先頭画素から１画素毎に走査していき、注目画素周辺を表すウインドウ内での画素値の分布状態を逐次評価していく。そして、画素値分布がエッジ部の特性を示すのか平坦部の特性を示すのか、またエッジ部の特性であると評価される場合には、自然画像特有のエッジなのか、人工的に作成したエッジなのかを評価することにより、更に高精度な画素属性の解析が可能になる。この解析工程は周波数解析を利用するものでもよい。また、テキスト領域について余白の有無を検知し、余白領域の大小に応じて、段落毎の属性解析をすることも可能である。さらに、印刷文書のレイアウト構成をアプリケーションソフトで行った場合には、属性自体をアプリケーションソフトから取得してもよい。
【００３９】
ステップ１００３で画像解析部３０３は、ステップ１００２において解析した各画素の属性情報を基に、印刷画像をオブジェクト別の各領域に分離する。具体的には、各画素の属性情報に基づいて、オブジェクト毎に先頭座標と終点座標を特定する。仮に、印刷画像全面に渡って同一の属性を示す解析結果となっていた場合には、当該印刷画像を単一のオブジェクトとして扱う。ここで特定された座標情報は、印刷データ生成制御部３０２に送信される。
【００４０】
ステップ１００４で印刷データ生成制御部３０２は、ステップ１００３において識別されたオブジェクト毎に、前述の画像処理を施し、各オブジェクトの印刷時に用いるドットデータを作成する。ここで、ドットデータとは、最終的に印刷紙面上のどの座標にＣＭＹＫ各インクのドットを配置するかを表したデータである。
【００４１】
ステップ１００５で色材使用量演算部３０６は、印刷画像を格子状の複数のブロックに分割し、それぞれのブロックについてドットカウント値を算出する。図7は、図6の印刷画像をブロック分割した状態を示している。
【００４２】
そして、算出されたブロック毎のドットカウント値はビットマップイメージとして格納保持される。図８は、図６の印刷画像において、図７に示すような複数のブロックに分割し、ＣＭＹＫのＣチャンネルのドットカウント値に応じて色付けしたビットマップイメージの例である。同様に、Ｍ、Ｙ、Ｋの各チャンネルについてもドットカウント値に応じて色づけされたビットマップイメージが存在し、同様に格納保持される。これら４チャンネルのビットマップイメージは、相互に関連付けて、４チャンネルの点順次イメージとして格納保持しても良いし、面順次イメージとして格納保持しても良い。どのようなデータ形式で格納保持するかは、ＣＰＵ１０８、ＲＡＭ１０９およびＯＳ１０２における取り扱う際の効率等を考慮して適宜決定すればよい。
【００４３】
ここで、分割するブロックの格子サイズは任意である。格子サイズを細かく取れば取るほど、各オブジェクトの色材使用量の変更演算を正確に行える。また、格子サイズを荒く取れば取るほど、変更演算を高速に省メモリで行える。実際には、印刷プレビュー画面でのユーザ操作に対して十分な演算精度を持てればよいので、例えば印刷プレビュー画面での表示画素数分のブロックを持つなどすればよい。すなわち、印刷対象の画像の実画像サイズが３０００ｘ４０００画素であったとしても、印刷プレビュー画面での画像サイズが３００ｘ４００画素なのであれば、実画像における１０ｘ１０画素を１ブロックとして、３００ｘ４００個の格子を構成すれば十分である。また、印刷プレビュー画面での画像に対し、たとえば、４ｘ４画素単位での編集指示を受け付けるような場合には、４０ｘ４０画素を１ブロックとして、７５ｘ１００個の格子を構成すれば十分である。また、厳密な色材使用量の演算が必須でなく、概算でよいのであれば、さらに格子数を減らしてもよい。
【００４４】
本実施形態では格納保持する情報として、ＣＭＹＫのインク毎の使用量を用いたが、これに限定されるものではなく、使用する全色材の総量に対応した値を用いてもよい。たとえば、各色のインク弾数にそれぞれのインク価格を掛けた値の合計値を用いてもよいし、各色のインク価格に差違がない場合には単に全インクの総発数を用いてもよい。全インクの総使用量に対応した値を用いる場合は、たとえば、１０色以上のインク色を擁するプリンタであっても１プレーンに対する補正処理で済むため、処理速度やメモリ使用量を節約することができる。
【００４５】
ステップ１００６で色材使用量演算部３０６は、印刷画像を構成する各オブジェクトについて、ステップ１００５において格納保持したブロック毎のドットカウント値を基に、それぞれのオブジェクトの印刷に要するインク量および／または印刷コストを演算する。
【００４６】
ブロック毎のドットカウント値からそれぞれのオブジェクトの印刷に要するインク量を算出するには、オブジェクトを構成するブロックを特定し、特定されたブロックのドットカウント値の合計を求めればよい。ブロック毎のドットカウント値からそれぞれのオブジェクトの印刷に要する印刷コストを算出する場合は、たとえば、予めＣＭＹＫのインク色毎に単位ドット数当りの印刷コストを保持しておく。そして、当該保持した値にオブジェクトを構成するブロック分のドットカウント値を乗じればよい。
【００４７】
なお、インク量や印刷コストは、具体的な数値ではなく、たとえば、「高／中／低」などの段階で表現してもよい。また、平均的なインク量や印刷コストと比較したパーセンテージで表現してもよい。さらに、印刷コストの場合は、実際に印刷に使用するインクの市価をもとに円やドルの単位で表示する他、架空の通貨単位で表現してもよい。要は、当該印刷画像の印刷に必要となるインクの量や印刷コストをユーザがオブジェクト単位で認識できる表現形式であればよい。
【００４８】
１００７で画像表示制御部３０５は、印刷画像を構成する各オブジェクトを配置して、印刷プレビュー画像を作成する。
【００４９】
ステップ１００８で画像表示制御部３０５は、ステップ１００６において算出したインク量および／または印刷コストと、ステップ１００７で作成した印刷プレビュー画像を用いてモニタ１０５にプレビュー表示する。図９は印刷コストを表示した場合の印刷プレビュー画面の一例である。印刷プレビュー画面は、ダイアログウィンドウ５０００により構成される。ウインドウ内には、プレビュー領域５１００、印刷中止ボタン５０１０、印刷開始ボタン５０２０がある。プレビュー領域５１００には、各オブジェクトの上に対応する印刷コストが重ねて表示されている。なお、オブジェクトと印刷コストとの対応関係が理解できればよく、たとえばプレビュー領域の任意の位置に各オブジェクトを配置したプレビュー画像を表示し、各オブジェクトとは重ならない位置に各オブジェクトの印刷コストを表示するようにしてもよい。もちろん、印刷コストに代えて、あるいは併せてインク量を表示するようにしてもよい。
【００５０】
図９の例では、印刷画像は、写真Ａ（５１１０）、文字からなるドキュメントＢ（５１２０）、グラフィックＣ（５１３０）、広告Ｄ（５１４０）の各オブジェクトで構成されている。そして、各オブジェクトの印刷コストがそれぞれ、写真Aが４円（５１１１）、ドキュメントＢが３円（５１２１）、グラフィックＣが１円（５１３１）、広告Ｄが３円（５１４１）と表示されている。印刷コストの表示は、以後各オブジェクトを編集した場合の印刷コストの変化量が理解できるように、たとえば「４円／４円」などの形式で、オブジェクトに対する編集の前後での印刷コストを同時に表示するのが望ましい。
【００５１】
ユーザは表示されたプレビュー画面を見て、所望のオブジェクトに対し印刷サイズの拡大や縮小、印刷領域のトリミングおよび印刷対象の削除などの必要な編集指示を与え、印刷設定部３０４でこれを受け付ける。ユーザからの指示は、たとえば、マウスとキーボードを用いて行われる。
【００５２】
ステップ１００９で印刷設定部３０４は、印刷プレビュー画面に対するユーザからの編集指示があったかどうかを判定する。すなわち、拡大／縮小、トリミング、削除等のいずれか又はこれらの組合せからなる編集指示を受け付けた場合にはステップ１０１０に進む。ユーザからの編集指示がなく、印刷中止ボタンまたは印刷開始ボタンが押下された場合はステップ１０１１に進む。
【００５３】
ステップ１０１０で印刷設定部３０４は、受け付けた編集指示に従って、拡大／縮小、トリミング、削除等の処理を指定されたオブジェクトに対して行う。編集処理が完了すると、ステップ１００６に戻る。編集処理後のステップ１００６では、当該編集指示が反映された後の各オブジェクトの印刷に要するインク量および／または印刷コストが再演算され、上述のプレビュー処理が行われる（ステップ１００７，１００８）。すなわち、２回目以降のステップ１００６乃至１００８においては、編集指示に応じた処理をビットマップイメージに対して施した結果を基に、上述のドットカウント値を算出し、オブジェクト毎のインク量や印刷コストが求められる。
【００５４】
ステップ１０１１で印刷設定部３０４は、押下されたボタンが印刷中止ボタである場合には処理を終了し、押下されたボタンが印刷開始ボタンである場合にはＳ１０１２に進む。
【００５５】
Ｓ１０１２で印刷データ生成制御部３０２は、印刷画像の生成を再度実行する。ステップ１００１では、アプリケーションソフトで作成したスプールファイルをそのまま変更せずにラスタライズし、ＲＧＢ２４ビットページメモリに展開していた。本ステップでは、印刷プレビュー画像中の任意のオブジェクト対して行われた拡大／縮小、トリミング、削除等と同様の処理を、スプールファイルをラスタライズした結果に対して行い、ＲＧＢ２４ビットページメモリに展開する。なお、ページ全体を再度生成するのではなく、印刷プレビュー画像で編集指示のあったオブジェクトのみを再度生成してもよい。すなわち、ステップ１００１におけるラスタライズ結果をそのまま流用できる領域については、再度のラスタライズを行わなくてもよい。
【００５６】
ステップ１０１３で印刷データ生成制御部３０２は、ステップ１０１２において再度生成した印刷画像に対し前述の画像処理を施し、印刷時に用いるドットデータを再度作成する。
【００５７】
ステップ１０１４で印刷データ生成制御部３０２は、プリンタ１０６に対し、ステップ１０１３において作成したドットデータを送信する。
【００５８】
以上がプリンタドライバにおける処理である。なお、上述の説明はプリンタ１０６がインクジェット方式の場合を前提としている。電子写真方式の場合には、色材使用量演算部３０６において「インク量」ではなく「トナー量」が算出されることになる。
【００５９】
次に、本実施形態に係る印刷システムを利用するユーザが印刷プレビュー画像に対してどのように編集指示を行い、最終的にどのように印刷されるかについて説明する。
【００６０】
ここで、ユーザは、図６の印刷画像に対し、ドキュメントＢを可読性を損ねない範囲で縮小し、写真Ａを顔が判別できる範囲でトリミングし、不要な広告Ｄを削除することで印刷コストを節約しようと考えているものとする。
【００６１】
まず、ステップ１００１〜ステップ１００８までの処理が行われ、図９に示されるような印刷コストの初期値が表示された印刷プレビュー画面が表示される。
【００６２】
「ドキュメントＢの縮小操作」
まず、ドキュメントＢについて、可読性を損ねない範囲で縮小する場合について説明する。
【００６３】
ユーザはマウスを用い、クリックによりドキュメントＢのオブジェクトを選択する。すると、図１０に示されるように選択されたオブジェクトの枠部に操作ハンドルが表示され、枠部の四隅には四角形状の拡大／縮小操作ハンドル（６０００）、枠の四辺中央には三角形状のトリミング操作ハンドル（６１００）が表示される。
【００６４】
ユーザはマウスを用い、クリックにより拡大／縮小操作ハンドル６０００を選択する。すると、図１１に示すように拡大／縮小操作ハンドル６０００が強調表示され、操作可能となる。ユーザは、この状態でマウスを用いて拡大／縮小操作ハンドル６０００を矢印方向にドラッグ操作し、ドキュメントＢを縮小する。縮小操作が完了したら、ユーザはキーボード上のＥｎｔｅｒキー（不図示）を押下して縮小操作を確定する。
【００６５】
オブジェクトの編集指示が確認（ステップ１００９）されると、印刷コストの再演算が行われる（ステップ１００６）。すなわち、ステップ１００５において算出され格納保持されている図８のビットマップイメージに対して、ユーザが指示した縮小操作と同様の縮小処理を行う。こうして図１２のビットマップイメージを得て、当該縮小されたビットマップイメージにおける印刷コストを求める。求め方としては、たとえば、縮小操作対象ブロックについて、その印刷コストに縮小比率をかけて演算すればよい。図１２においてドキュメントBのオブジェクトは面積比で約５０％に縮小されているので、印刷コストは縮小前の「３円」の半分の「１．５円」となる。
【００６６】
ステップ１００７で、ユーザによって指示された縮小率に応じてドキュメントＢを縮小した印刷プレビュー画像が作成され、再演算された印刷コストの表示を更新した新たな印刷プレビュー画面が表示される（ステップ１００８）。図１３は、この縮小処理がされた後の印刷プレビュー画面であり、印刷コスト表示５１２１が、縮小処理前の「３円／３円」から「１．５円／３円」に変更されている。
【００６７】
「写真Ａのトリミング操作」
次に、写真Ａを顔が判別できる範囲でトリミングする場合について説明する。  
基本的には、ドキュメントBの場合と同様であるため、相違する点を中心に説明する。
【００６８】
まず、ユーザがマウスで写真Ａを選択すると、図１４のように操作ハンドル（拡大／縮小操作ハンドル６０００、トリミング操作ハンドル６１００）が表示される。
【００６９】
ここで、ユーザはマウスを用いて、トリミング操作ハンドル６１００をクリックして選択する。すると、図１５のようにトリミング操作ハンドル６１００が強調表示され、操作可能となる。この状態でトリミング操作ハンドル６１００をそれぞれ矢印方向にドラッグ操作し、顔部分が残るように写真Ａのトリミングを行う。
【００７０】
トリミング操作が完了したら、ユーザはキーボード上のＥｎｔｅｒキー（不図示）を押下してトリミング操作を確定する。
【００７１】
続いて、印刷コストの再演算が行われる（ステップ１００６）。この場合の求め方としては、たとえば、トリミングにより削除されたブロックの印刷コストを元のオブジェクトの印刷コストから差し引けばよい。ドキュメントＢの場合と同様に得られたビットマップイメージ図１６において、写真Aのオブジェクトは面積比で約３０％に縮小されているので、印刷コストは縮小前の「４円」の３０％の「１．２円」となる。
【００７２】
図１７は、このトリミング処理がされた後の印刷プレビュー画面であり、印刷コスト表示５１１１が、縮小処理前の「４円／４円」から「１．２円／４円」に変更されている。
【００７３】
「広告Ｄの削除操作」
次に、不要な広告Ｄを削除する場合について説明する。  
やはり、ドキュメントBや写真Aの場合と同様であるため、相違する点を中心に説明する。
【００７４】
まず、ユーザがマウスで広告Dを選択すると、図１８のように操作ハンドル（拡大／縮小操作ハンドル６０００、トリミング操作ハンドル６１００）が表示される。
【００７５】
次に、ユーザはキーボード上のＤｅｌｅｔｅボタン（不図示）を押下する。押下により削除操作は確定する。
【００７６】
続いて、印刷コストの再演算が行われる（ステップ１００６）。求め方としては、トリミングの場合と同様に、削除されたブロックの印刷コストを元のオブジェクトの印刷コストから差し引いても良いし、オブジェクト全体の削除であるので無条件に「０円」としてもよい。ビットマップイメージ図１９において広告Dのオブジェクトはすべて削除されているので、印刷コストは「０円」となる。図２０は、この削除処理がされた後の印刷プレビュー画面であり、印刷コスト表示５１４１が、縮小処理前の「３円／３円」から「０円／３円」に変更されている。
【００７７】
「印刷処理」
すべてのオブジェクトの編集が完了すると、ユーザは印刷開始ボタン５０２０を押下する。これにより印刷画像の再生成が行われ（ステップ１０１２）、ドットデータへの再変換処理を経て（ステップ１０１３）、印刷用のドットデータをプリンタ１０６に送信する（ステップ１０１４）。
【００７８】
そして、プリンタ１０６では、受信したドットデータに基づいて紙等の記録媒体に出力処理を行う。図２１は、上述のユーザによる編集指示に従って、最終的に出力された印刷画像を示している。図２１の印刷画像は、ユーザが必要と考えたオブジェクトの必要な範囲だけで構成され、元の印刷画像（図６）から無駄な部分を省いた内容になっている。
【００７９】
なお、本実施形態ではマウスとキーボードの操作によりユーザの指示を受け付けるウィンドウシステムにおけるＵＩを示したが、ユーザの指示を受け付け可能なその他のＵＩ構成であっても構わない。
【００８０】
また、印刷プレビュー画像の編集方法も、本実施形態に限られるわけではなく、たとえば他の一般的な画像編集アプリケーションで用いられる方法（たとえば、ペン入力）であってもよい。各オブジェクトに対して個別に、拡大／縮小、トリミング、削除等の操作が行うことができる方法を適用すればよい。
【００８１】
さらに、本実施形態の変形例として、ホストコンピュータ１００、プリンタ１０６およびモニタ１０５の機能が一体となった多機能プリンタ装置にも適用可能である。
【００８２】
以上説明してきたとおり、ユーザは印刷画像を構成する各オブジェクトの重要性と視認性とコストを鑑みながら、適宜変形を施した内容で印刷することが可能となる。すなわち、本発明によれば、ユーザは、印刷を行おうとする画像中のどの情報のどの領域にどれだけのコストが掛かるかを知ることができ、印刷画像中の必要な情報、必要な領域だけにコストを掛けることができる。たとえば、ページ内、ジョブ内で色材節約量の重み付けを自由に設定したり、ページ内に複数の写真が存在する場合の写真毎の優劣や、テキスト領域内の段落毎に優劣を付けたりすることができる。また、印刷前に色材の節約を反映させたプレビュー画像を確認できるので、出力物としてどのような印刷画質になるかを事前に推測することもできる。
【００８３】
（第２の実施形態）
第１の実施形態においては、ホストＰＣ側でほとんどの処理を行っていた。すなわち、プリンタは、最終的に印刷する状態のドットデータを受信し出力するのみであった。本実施形態では、プリンタがホストＰＣからＰＤＬ（Page Description Language）データを受信して解釈し、プリンタ側で上述のプリンタドライバで行った処理を行う態様について説明する。
【００８４】
まず、本実施形態に係る印刷システムの基本的な構成を説明する。図２２は、本実施形態に係る印刷システムのハードウェア構成を示した図である。
【００８５】
プリンタ２００には、外部ＩＦ２０５を介して、ホストＰＣ２１０が接続される。
【００８６】
ＣＰＵ２０１は、ＲＡＭ２０３をワークメモリとして、ＲＯＭ２０２に格納されたプログラムを実行し、システムバス２０９を介して、後述する各構成を制御する。また、ＲＯＭ２０２には、プログラムだけでなく、テーブルデータなど様々なデータが格納されている。
【００８７】
データ処理部２０６は、実施形態１のプリンタドライバと同様の機能を有する。すなわち、図３に示された印刷データ生成制御部３０２、画像解析部３０３、印刷設定部３０４、画像表示制御部３０５及び色材使用量演算部３０６を同様に備える。ただし、以下の点でプリンタドライバとは異なっている。すなわち、データ処理部２０６の印刷データ制御部３０２は、外部ＩＦ２０５経由でホストＰＣ２１０から受信したＰＤＬで記述されたデータ（ＰＤＬデータ）をラスタライズしてビットマップデータに展開している。また、印刷設定部３０４においては、ユーザインタフェース２０４を対象にユーザからの設定受け付けなどの処理を行っている。ユーザインタフェース２０４は、たとえば液晶表示装置で構成され、タッチスクリーンなどによってユーザの指示を受け付ける。
【００８８】
データ処理部２０６で生成されたドットデータは、コントローラ部２０７を介してエンジン部２０８に送られ、最終的な出力処理がなされる。
【００８９】
（データ処理部２０６の処理）
図２３は、本実施形態におけるデータ処理部２０６の処理の流れを示すフローチャートである。プリンタドライバ１０３の処理を示した図５のフローチャートと共通する部分がほとんどであるので、差異点を中心に説明することとする。
【００９０】
まず、ステップ２００１で、プリンタ２００は、外部ＩＦ２０５を介して、ホストＰＣ２１０からＰＤＬデータを受信する。ＰＤＬデータは、ホストＰＣ内の不図示のＰＤＬデータ生成部において、アプリケーションで作成された印刷データを基に生成される。
【００９１】
ステップ２００２で印刷データ生成制御部３０２は、受信したＰＤＬデータを解釈（ラスタライズ）し、ビットマップ形式の印刷画像を生成する。
【００９２】
ステップ２００３で画像解析部３０３は、生成された印刷画像を解析し、画素毎の属性を判断する。なお、ホストＰＣのアプリケーションにおいて印刷文書のレイアウトを行っていた場合には、ＰＤＬデータと一緒に属性情報を受け取ってもよい。
【００９３】
そして、図５のステップ１００３〜１００７に対応するステップ２００４〜２００８が実行される。すなわち、印刷画像がオブジェクト分離、画像処理を経てドットデータが生成され、ブロックに分割されてドットカウント値が算出された後、オブジェクト毎の印刷に要する色材使用量および／または印刷コストが算出され、印刷プレビュー画像が生成される。
【００９４】
ステップ２００９で画像表示制御部３０５は、ステップ２００７において算出した色材使用量および／または印刷コストと、ステップ２００８で作成した印刷プレビュー画像を用いてユーザインタフェース２０４の液晶画面上にプレビュー表示する。ユーザは、ユーザインタフェース２０４のタッチスクリーンを利用して所望の編集指示を与えることができる。編集指示の与え方は、指示の入力手段がタッチスクリーンである他は実施形態１の場合と異なるところがない。なお、必要に応じてペン入力などを併用してもよい。
【００９５】
以下、図５のフローチャートと同様にステップ２０１１〜２０１４の処理が実行されて、最終的な印刷画像としてのドットデータが生成される。
【００９６】
そして、ステップ２０１５において、データ処理部２０６から生成されたドットデータがコントローラ部２０７に送られ、出力処理が実行される。
【００９７】
なお、プリンタ２００にユーザインタフェース２０４として備えられる液晶表示装置等は、ＰＣの場合と比べてサイズが小さく、表示画素数も少ない場合が多い。したがって、本実施形態のステップ２００６においては、分割するブロックの格子サイズを荒くしてもよい場合が多くなることになる。これによって、一般的にＰＣほどのリソース性能がないプリンタにおいて、処理速度やメモリ使用量をさらに節約することが可能となる。
【００９８】
（その他の実施形態）
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００９９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１００】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１０１】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１０２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１０３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１０４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図１】
2011002894.tif 000003
【図２】
2011002894.tif 000004
【図３】
2011002894.tif 000005
【図４】
2011002894.tif 000006
【図５】
2011002894.tif 000007
【図６】
2011002894.tif 000008
【図７】
2011002894.tif 000009
【図８】
2011002894.tif 000010
【図９】
2011002894.tif 000011
【図１０】
2011002894.tif 000012
【図１１】
2011002894.tif 000013
【図１２】
2011002894.tif 000014
【図１３】
2011002894.tif 000015
【図１４】
2011002894.tif 000016
【図１５】
2011002894.tif 000017
【図１６】
2011002894.tif 000018
【図１７】
2011002894.tif 000019
【図１８】
2011002894.tif 000020
【図１９】
2011002894.tif 000021
【図２０】
2011002894.tif 000022
【図２１】
2011002894.tif 000023
【図２２】
2011002894.tif 000024
【図２３】
2011002894.tif 000025