(57)【要約】【課題】画像ドライバソフトウェアアプリケーションにおける図形インスタンスに対して、選択的にレンダリングを実行するためのレンダリングシステムおよびレンダリング方法を提供する。【解決手段】レンダリング方法は、図形インスタンスを含む画像データをソフトウェアアプリケーションから受け付けるステップと、上記画像データにデフォルトの第１の画像レンダリングオプションを適用するステップと、上記画像データから第１の図形インスタンスを選択するステップと、第１および第２の画像レンダリングオプションが組み込まれた印刷ジョブなどの画像ジョブを生成するステップとを含む。【選択図】図７
2007073043.tif 000002
【特許請求の範囲】
【請求項１】
ソースドキュメント処理アプリケーションから印刷データを受け付けるインターフェース、および、印刷ジョブを供給するためのインターフェースを有する印刷処理手段と、
上記印刷データにある第１の図形インスタンスを選択するために、上記印刷処理手段に接続されているレンダリングユーザインターフェースとを備え、
上記印刷処理手段は、上記第１の図形インスタンスに、第１の画像レンダリングオプションをデフォルトとして組み込むとともに、第２の画像レンダリングオプションを組み込んだ印刷ジョブを生成して、図形インスタンスに対して選択的にレンダリングを実行することを特徴とするレンダリング装置。
【請求項２】
上記レンダリングユーザインターフェースは、受け付けたユーザの選択に基づいて、上記印刷データから第１の図形インスタンスを選択し、上記印刷処理手段は、上記選択された第１の図形インスタンスに対する第２の画像レンダリングオプションを選択することを特徴とする請求項１に記載のレンダリング装置。
【請求項３】
上記レンダリングユーザインターフェースは、
テキストオブジェクト、ビジネス図形オブジェクト、写真オブジェクト、ビットマップ画像、色、色の範囲、ページ上の識別される領域、および、ベクトルのうちのいずれか一つの図形インスタンスを選択するために用いられることを特徴とする請求項１または２に記載のレンダリング装置。
【請求項４】
上記選択された第１の図形インスタンスに適用する第２の画像レンダリングオプションを組み込んだ印刷ジョブレンダリングテンプレートを記憶するテンプレート記憶部を備え、
上記レンダリングユーザインターフェースは、さらに、上記印刷ジョブレンダリングテンプレートを上記テンプレート記憶部から選択し、
上記印刷処理手段は、続いて起こる印刷データを受け付けて、上記印刷ジョブレンダリングテンプレートに応じて、上記続いて起こる印刷データの印刷ジョブを生成することを特徴とする請求項１または２に記載のレンダリング装置。
【請求項５】
上記レンダリングユーザインターフェースは、さらに、網点階調化、カラーマネジメント、墨入れ、下色除去、フィルタ、色調整、および、セグメンテーションベースのレンダリングアルゴリズムの中から、上記選択された第１の図形インスタンスに対する上記第２の画像レンダリングオプションを選択することを特徴とする請求項１または２に記載のレンダリング装置。
【請求項６】
上記レンダリングユーザインターフェースは、印刷データをプレビュー表示して図形インスタンスを識別するための表示部を含んでいることを特徴とする請求項１または２に記載のレンダリング装置。
【請求項７】
上記表示部は、ユーザインターフェース図形インスタンスメニューを描画し、
上記ユーザインターフェース図形インスタンスメニューは、
図形インスタンスのリストにアクセスし、上記リストから第１の図形インスタンスを選択し、画像レンダリングオプションのリストにアクセスし、上記リストから、上記第１の図形インスタンスに関連付けるための第２の画像レンダリングオプションを選択するためのメニューであることを特徴とする請求項６に記載のレンダリング装置。
【請求項８】
上記表示部は、印刷ジョブページ番号ごとに区分された、セグメント化された図形インスタンスの階層的概要を表示することを特徴とする請求項６に記載のレンダリング装置。
【請求項９】
上記レンダリングユーザインターフェースは、印刷ジョブのページ番号によって区分されるビットマップ画像、順序によって区分されるビットマップ画像、印刷ジョブのページ番号によって区分されるテキストデータ、フォントによって区分されるテキストデータ、サイズによって区分されるテキストデータ、印刷ジョブのページ番号によって区分されるベクトル、形によって区分されるベクトル、サイズによって区分されるベクトル、フォントによって区分されるベクトル、印刷ジョブページ上の位置によって区分されるベクトル、および、ベクトルによる閉じられた形で定義される領域のうちのいずれかの図形インスタンスを選択することを特徴とする請求項６に記載のレンダリング装置。
【請求項１０】
画像ドライバソフトウェアアプリケーションにおいて、図形インスタンスに対して選択的にレンダリングを実行するレンダリング方法であって、
印刷処理手段が、図形インスタンスを含む画像データをソフトウェアアプリケーションから受け付けるステップと、
印刷処理手段が、上記画像データにデフォルトの第１の画像レンダリングオプションを適用するステップと、
レンダリングユーザインターフェースが、上記画像データから第１の図形インスタンスを選択するステップと、
レンダリングユーザインターフェースが、上記選択された第１の図形インスタンスに対して第２の画像レンダリングオプションを選択するステップと、
印刷処理手段が、上記第１および第２の画像レンダリングオプションを組み込んだ画像ジョブを生成するステップとを含むことを特徴とするレンダリング方法。
【請求項１１】
上記図形インスタンスを含む画像データを受け付けるステップは、テキストオブジェクト、ビジネス図形オブジェクト、写真オブジェクト、ビットマップ画像、色、色の範囲、ページ上の識別される領域、および、ベクトルから選択されたいずれか一つの図形インスタンスを受け付けるステップを含むことを特徴とする請求項１０に記載のレンダリング方法。
【請求項１２】
上記画像データを受け付けるステップは、プリントドライバがソースドキュメント処理アプリケーションから印刷データを受け付けるステップを含み、
上記画像ジョブを生成するステップは、上記第１および第２の画像レンダリングオプションを組み込んだ印刷ジョブを生成するステップを含むことを特徴とする請求項１０に記載のレンダリング方法。
【請求項１３】
さらに、第１の図形インスタンスを第１の図形タイプとして識別するステップと、
上記第１の図形タイプを識別するステップに応じて、識別された上記第１の図形タイプの各々に対して上記第２の画像レンダリングオプションを適用するステップとを含むことを特徴とする請求項１２に記載のレンダリング方法。
【請求項１４】
上記第１および第２の画像レンダリングオプションを組み込んだ印刷ジョブを生成するステップは、印刷ジョブレンダリングテンプレートを生成するステップを含んでおり、
さらに、続いて起こる印刷データを受け付けるステップと、
上記印刷ジョブレンダリングテンプレートを含む、上記続いて起こる印刷データの印刷ジョブを生成するステップとを含むことを特徴とする請求項１２に記載のレンダリング方法。
【請求項１５】
さらに、網点階調化、カラーマネジメント、墨入れ、下色除去、フィルタ、色調整、および、セグメンテーションベースのレンダリングアルゴリズムの中から、上記選択された第１の図形インスタンスに対する上記第２の画像レンダリングオプションを選択するステップを含むことを特徴とする請求項１２に記載のレンダリング方法。
【請求項１６】
上記印刷データから上記第１の図形インスタンスを選択するステップは、
ユーザインターフェースを表示する表示部に上記印刷データをプレビュー表示するステップと、
上記表示部に表示された図形インスタンスを識別するステップと、
第１の図形インスタンスとして識別された図形インスタンスを選択するために、上記ユーザインターフェースを用いるステップとを含むことを特徴とする請求項１２に記載のレンダリング方法。
【請求項１７】
上記印刷データから上記第１の図形インスタンスを選択するステップは、
図形インスタンスメニューを表示するユーザインターフェースにて、図形インスタンスのリストにアクセスして、上記第１の図形インスタンスを上記リストから選択するステップを含み、
上記選択された第１の図形インスタンスに対して第２の画像レンダリングオプションを選択するステップは、
レンダリングメニューを表示するユーザインターフェースにて、画像レンダリングオプションのリストにアクセスして、上記リストから、上記第１の図形インスタンスに関連付けるための上記第２の画像レンダリングオプションを選択するステップを含むことを特徴とする請求項１２に記載のレンダリング方法。
【請求項１８】
上記印刷データから上記第１の図形インスタンスを選択するステップは、印刷ジョブページ番号ごとに区分された、セグメント化された図形インスタンスの階層的概要を表示するユーザインターフェースにアクセスするステップを含むことを特徴とする請求項１２に記載のレンダリング方法。
【請求項１９】
上記印刷データから上記第１の図形インスタンスを選択するステップは、印刷ジョブのページ番号によって区分されるビットマップ画像、順序によって区分されるビットマップ画像、印刷ジョブのページ番号によって区分されるテキストデータ、フォントによって区分されるテキストデータ、サイズによって区分されるテキストデータ、印刷ジョブのページ番号によって区分されるベクトル、形によって区分されるベクトル、サイズによって区分されるベクトル、フォントによって区分されるベクトル、印刷ジョブページ上の位置によって区分されるベクトル、および、ベクトルによる閉じられた形で定義される領域の中から選択される図形インスタンスを表示するユーザインターフェースにアクセスするステップを含むことを特徴とする請求項１２に記載のレンダリング方法。
【請求項２０】
上記印刷データから上記第１の図形インスタンスを選択するステップは、ユーザインターフェースを表示する表示部に、デフォルトのレンダリングオプションを施した図形インスタンスを相互参照するダイアログボックスをプレビュー表示するステップを含み、
上記選択された第１の図形インスタンスに対して第２の画像レンダリングオプションを選択するステップは、上記第１の図形インスタンスに対するデフォルトのレンダリングオプションから上記第２のレンダリングオプションへと変更するために、上記ユーザインターフェースを用いるステップを含むことを特徴とする請求項１４に記載のレンダリング方法。
【請求項２１】
上記第１および第２の画像レンダリングオプションを組み込んだ印刷ジョブを生成するステップは、上記第１の図形インスタンスに適用された第１の画像レンダリングオプションを有する印刷ジョブを生成するステップと、
上記第１の図形インスタンスに適用するものとして、上記第２の画像レンダリングオプションをファイルにして上記印刷ジョブに付加して送信するステップとを含むことを特徴とする請求項１２に記載のレンダリング方法。
【請求項２２】
さらに、上記第１の図形インスタンスに適用するものとして、上記第２の画像レンダリングオプションを、続いて起こる印刷データのサブミッションの指示を行うソースドキュメント処理アプリケーション用のファイルにして送信するステップを含むことを特徴とする請求項２１に記載のレンダリング方法。
【請求項２３】
プリンタドライバソフトウェアアプリケーションにおいて、印刷ジョブの図形インスタンスに対して選択的にレンダリングを実行するレンダリング方法であって、
印刷処理手段が、ドキュメント処理ソフトウェアアプリケーションから、図形インスタンスを含む印刷データを受け付けるステップと、
印刷処理手段が、デフォルトの第１の画像レンダリングオプションを上記印刷データに適用するステップと、
レンダリングユーザインターフェースが、上記印刷データにある第１の図形インスタンスを選択するステップと、
印刷処理手段が、第２の画像レンダリングオプションを、上記選択された第１の図形インスタンスに適用するステップと、
印刷処理手段が、上記第１の画像レンダリングオプションを組み込まれた画像ジョブを生成するステップと、
印刷処理手段が、上記選択された第１の図形インスタンスごとに上記第２の画像レンダリングオプションを適用するステップとを含むことを特徴とするレンダリング方法。
【請求項２４】
コンピュータを、請求項１から９のいずれか１項に記載のレンダリング装置の手段として機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、デジタル画像処理方法に関するものであり、とりわけ、特別のレンダリング処理を適用するための特定の図形インスタンスを画像データから選択するレンダリング装置、レンダリング方法、および、プリンタドライバに関するものである。
【背景技術】
【０００２】
文書や画像のソフトウェアアプリケーションおよびプリンタドライバにおいて、様々なタイプの図形に対して色の調整が行われるときは、共通の特性が適用される。例えば、ビジネス図形（business graphics）であれば、デフォルトの設定よりも、より鮮明にレンダリングされた方が好ましいと考えられているし、ビットマップデータであればより正確に再現される方がよいと考えられている。また、スキャンされた網点階調画像を印刷する場合、プリンタが網点階調化を行うときは、当該網点階調画像の網掛けを解除（de-screened）しなければならないときもある。さらに、デジタル写真であれば、より現実に近づけてレンダリングされた方がよいが、コンピュータで生成されたビットマップデータについてはデフォルトの設定よりも、より鮮明にレンダリングされた方が好ましいと考えるユーザもいるかもしれない。
【０００３】
従来、図形のクラスに基づいて、あらかじめ設定されたファイルから任意で、レンダリングオプションを選択できるようにした構成がある。特許文献１および特許文献２（特許文献１の対応日本国出願公開公報）には、オブジェクトのタイプに応じて、ユーザが色の調整のための色調整レンダリングオプションを選択できるプロセスが開示されている。
【特許文献１】米国特許公報５，７０４，０２１（１９９７年１２月３０日公開）
【特許文献２】特開平７−２３６０６６（１９９５年９月５日公開）
【特許文献３】特開平１１−７５０７５（１９９９年３月１６日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし上述の従来の構成では以下の問題を生じる。特許文献１および特許文献２に記載の上述のプロセスでは、上記オブジェクトのクラスのメンバすべてに同一のレンダリング処理を適用せざるを得ないという問題がある。具体的には、ユーザがあるレンダリングオプションをある写真に適用したとする。この場合、該レンダリングオプションの同じパラメータが、当該写真のファイルに属するすべての他の写真にも適用されてしまう。さらに、特許文献１（特許文献２）において開示されているクラス（オブジェクトタイプ）は、「図形」、「写真」、および、「テキスト」の３つしかない。
【０００５】
上記問題を解決する従来の方法としては、他にも、特別なソフトウェアアプリケーションを用いるという方法が挙げられる。具体的には、複合ドキュメントから図形を切り取って、Photoshop（登録商標）などのアプリケーション上に貼り付けて、選択されたレンダリング設定を用いてPhotoshop（登録商標）から当該図形を印刷出力する。そして、上記複合ドキュメントの残りの部分は、当該複合ドキュメントの元々のアプリケーションから印刷出力する。あるいは、上記課題を解決する従来の他の方法としては、複合ドキュメントを操作できるアプリケーション（例えば、Quark ExpressやAdobe（登録商標） InDesign（登録商標）など）に基づいて、図形インスタンスごとに色調整レンダリングを行うことが挙げられる。しかし、上記方法では、上記特別なアプリケーションがサポートする機能に限定されてしまう。また、上述のアプリケーションは高価であり、初心者や平均的なユーザが使いこなすにはあまりに複雑すぎる。さらに、上述の方法はすべてのソフトウェアアプリケーションに一般に適用できるわけではない。
【０００６】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、プリンタによって処理されるハードコピードキュメントの色調整レンダリングを、容易にカスタマイズして実行するレンダリング装置、レンダリング方法、および、制御プログラムを実現することにある。
【課題を解決するための手段】
【０００７】
本発明に係るレンダリング装置は、上記課題を解決するために、ソースドキュメント処理アプリケーションから印刷データを受け付けるインターフェース、および、印刷ジョブを供給するためのインターフェースを有する印刷処理手段と、上記印刷データにある第１の図形インスタンスを選択するために、上記印刷処理手段に接続されているレンダリングユーザインターフェースとを備え、上記印刷処理手段は、上記第１の図形インスタンスに、第１の画像レンダリングオプションをデフォルトとして組み込むとともに、第２の画像レンダリングオプションを組み込んだ印刷ジョブを生成して、図形インスタンスに対して選択的にレンダリングを実行することを特徴としている。
【０００８】
本発明によれば、ユーザは、デフォルトの色調整レンダリング処理の上からさらに、図形インスタンスの各々に対して個別にカスタマイズされたレンダリングを追加して施すことが可能となる。
【０００９】
さらに、上記レンダリングユーザインターフェースは、受け付けたユーザの選択に基づいて、上記印刷データから第１の図形インスタンスを選択し、上記印刷処理手段は、上記選択された第１の図形インスタンスに対する第２の画像レンダリングオプションを選択することが好ましい。
【００１０】
上記構成によれば、印刷処理手段は、印刷データを受け付けると、該印刷データに含まれる図形インスタンスを識別する。具体的には、上記レンダリングユーザインターフェースを介して、ユーザが選択した図形インスタンスが自装置に入力され、印刷処理手段は、それを、図形インスタンスとして識別する。すなわち、上記レンダリングユーザインターフェースが選択した図形インスタンスが、第２の画像レンダリングオプションを適用する対象となる。
【００１１】
続いて、印刷処理手段は、選択された図形インスタンスに基づいて、当該図形インスタンスに適用可能な、第２の画像レンダリングオプションを選択する。
【００１２】
第２の画像レンダリングオプションは、図形インスタンスに対応付けられていてもよいし、ユーザによって選択されてもよい。
【００１３】
これにより、印刷処理手段は、ユーザが選択した図形インスタンスに対して、適用することのできる第２の画像レンダリングオプションを上記図形インスタンスに適用して、印刷ジョブを生成することが可能となる。
【００１４】
以上のことから、ユーザが選択する図形インスタンスに応じて、ユーザの嗜好により合致したレンダリング処理を施すことが可能となる。
【００１５】
さらに、上記レンダリングユーザインターフェースは、テキストオブジェクト、ビジネス図形オブジェクト、写真オブジェクト、ビットマップ画像、色、色の範囲、ページ上の識別される領域、および、ベクトルのうちのいずれか一つの図形インスタンスを選択するために用いられることが好ましい。
【００１６】
さらに、上記レンダリング装置は、上記選択された第１の図形インスタンスに適用する第２の画像レンダリングオプションを組み込んだ印刷ジョブレンダリングテンプレートを記憶するテンプレート記憶部を備え、上記レンダリングユーザインターフェースは、さらに、上記印刷ジョブレンダリングテンプレートを上記テンプレート記憶部から選択し、上記印刷処理手段は、続いて起こる印刷データを受け付けて、上記印刷ジョブレンダリングテンプレートに応じて、上記続いて起こる印刷データの印刷ジョブを生成することが好ましい。
【００１７】
上記レンダリングユーザインターフェースは、さらに、網点階調化、カラーマネジメント、墨入れ、下色除去、フィルタ、色調整、および、セグメンテーションベースのレンダリングアルゴリズムの中から、上記選択された第１の図形インスタンスに対する上記第２の画像レンダリングオプションを選択することが好ましい。
【００１８】
さらに、上記レンダリングユーザインターフェースは、印刷データをプレビュー表示して図形インスタンスを識別するための表示部を含んでいることが好ましい。
【００１９】
さらに、上記表示部は、ユーザインターフェース図形インスタンスメニューを描画し、上記ユーザインターフェース図形インスタンスメニューは、図形インスタンスのリストにアクセスし、上記リストから第１の図形インスタンスを選択し、画像レンダリングオプションのリストにアクセスし、上記リストから、上記第１の図形インスタンスに関連付けるための第２の画像レンダリングオプションを選択するためのメニューであることが好ましい。
【００２０】
あるいは、上記表示部は、印刷ジョブページ番号ごとに区分された、セグメント化された図形インスタンスの階層的概要を表示してもよい。
【００２１】
さらに、上記レンダリングユーザインターフェースは、印刷ジョブのページ番号によって区分されるビットマップ画像、順序によって区分されるビットマップ画像、印刷ジョブのページ番号によって区分されるテキストデータ、フォントによって区分されるテキストデータ、サイズによって区分されるテキストデータ、印刷ジョブのページ番号によって区分されるベクトル、形によって区分されるベクトル、サイズによって区分されるベクトル、フォントによって区分されるベクトル、印刷ジョブページ上の位置によって区分されるベクトル、および、ベクトルによる閉じられた形で定義される領域のうちのいずれかの図形インスタンスを選択することが好ましい。
【００２２】
本発明のレンダリング方法は、上記課題を解決するために、画像ドライバソフトウェアアプリケーションにおいて、図形インスタンスに対して選択的にレンダリングを実行するレンダリング方法であって、印刷処理手段が、図形インスタンスを含む画像データをソフトウェアアプリケーションから受け付けるステップと、印刷処理手段が、上記画像データにデフォルトの第１の画像レンダリングオプションを適用するステップと、レンダリングユーザインターフェースが、上記画像データから第１の図形インスタンスを選択するステップと、レンダリングユーザインターフェースが、上記選択された第１の図形インスタンスに対して第２の画像レンダリングオプションを選択するステップと、印刷処理手段が、上記第１および第２の画像レンダリングオプションを組み込んだ画像ジョブを生成するステップとを含むことを特徴としている。
【００２３】
さらに、上記図形インスタンスを含む画像データを受け付けるステップは、テキストオブジェクト、ビジネス図形オブジェクト、写真オブジェクト、ビットマップ画像、色、色の範囲、ページ上の識別される領域、および、ベクトルから選択されたいずれか一つの図形インスタンスを受け付けるステップを含むことが好ましい。
【００２４】
さらに、上記画像データを受け付けるステップは、プリントドライバがソースドキュメント処理アプリケーションから印刷データを受け付けるステップを含み、上記画像ジョブを生成するステップは、上記第１および第２の画像レンダリングオプションを組み込んだ印刷ジョブを生成するステップを含むことが好ましい。
【００２５】
上記レンダリング方法は、さらに、第１の図形インスタンスを第１の図形タイプとして識別するステップと、上記第１の図形タイプを識別するステップに応じて、識別された上記第１の図形タイプの各々に対して上記第２の画像レンダリングオプションを適用するステップとを含むことが好ましい。
【００２６】
上記第１および第２の画像レンダリングオプションを組み込んだ印刷ジョブを生成するステップは、印刷ジョブレンダリングテンプレートを生成するステップを含んでおり、さらに、続いて起こる印刷データを受け付けるステップと、上記印刷ジョブレンダリングテンプレートを含む、上記続いて起こる印刷データの印刷ジョブを生成するステップとを含むことが好ましい。
【００２７】
上記レンダリング方法は、さらに、網点階調化、カラーマネジメント、墨入れ、下色除去、フィルタ、色調整、および、セグメンテーションベースのレンダリングアルゴリズムの中から、上記選択された第１の図形インスタンスに対する上記第２の画像レンダリングオプションを選択するステップを含むことが好ましい。
【００２８】
さらに、上記印刷データから上記第１の図形インスタンスを選択するステップは、ユーザインターフェースを表示する表示部に上記印刷データをプレビュー表示するステップと、上記表示部に表示された図形インスタンスを識別するステップと、第１の図形インスタンスとして識別された図形インスタンスを選択するために、上記ユーザインターフェースを用いるステップとを含むことが好ましい。
【００２９】
さらに、上記印刷データから上記第１の図形インスタンスを選択するステップは、図形インスタンスメニューを表示するユーザインターフェースにて、図形インスタンスのリストにアクセスして、上記第１の図形インスタンスを上記リストから選択するステップを含み、上記選択された第１の図形インスタンスに対して第２の画像レンダリングオプションを選択するステップは、レンダリングメニューを表示するユーザインターフェースにて、画像レンダリングオプションのリストにアクセスして、上記リストから、上記第１の図形インスタンスに関連付けるための上記第２の画像レンダリングオプションを選択するステップを含むことが好ましい。
【００３０】
さらに、上記印刷データから上記第１の図形インスタンスを選択するステップは、印刷ジョブページ番号ごとに区分された、セグメント化された図形インスタンスの階層的概要を表示するユーザインターフェースにアクセスするステップを含むことが好ましい。
【００３１】
さらに、上記印刷データから上記第１の図形インスタンスを選択するステップは、印刷ジョブのページ番号によって区分されるビットマップ画像、順序によって区分されるビットマップ画像、印刷ジョブのページ番号によって区分されるテキストデータ、フォントによって区分されるテキストデータ、サイズによって区分されるテキストデータ、印刷ジョブのページ番号によって区分されるベクトル、形によって区分されるベクトル、サイズによって区分されるベクトル、フォントによって区分されるベクトル、印刷ジョブページ上の位置によって区分されるベクトル、および、ベクトルによる閉じられた形で定義される領域の中から選択される図形インスタンスを表示するユーザインターフェースにアクセスするステップを含むことが好ましい。
【００３２】
さらに、上記印刷データから上記第１の図形インスタンスを選択するステップは、ユーザインターフェースを表示する表示部に、デフォルトのレンダリングオプションを施した図形インスタンスを相互参照するダイアログボックスをプレビュー表示するステップを含み、上記選択された第１の図形インスタンスに対して第２の画像レンダリングオプションを選択するステップは、上記第１の図形インスタンスに対するデフォルトのレンダリングオプションから上記第２のレンダリングオプションへと変更するために、上記ユーザインターフェースを用いるステップを含むことが好ましい。
【００３３】
さらに、上記第１および第２の画像レンダリングオプションを組み込んだ印刷ジョブを生成するステップは、上記第１の図形インスタンスに適用された第１の画像レンダリングオプションを有する印刷ジョブを生成するステップと、上記第１の図形インスタンスに適用するものとして、上記第２の画像レンダリングオプションをファイルにして上記印刷ジョブに付加して送信するステップとを含むことが好ましい。
【００３４】
上記レンダリング方法は、さらに、上記第１の図形インスタンスに適用するものとして、上記第２の画像レンダリングオプションを、続いて起こる印刷データのサブミッションの指示を行うソースドキュメント処理アプリケーション用のファイルにして送信するステップを含むことが好ましい。
【００３５】
本発明のレンダリング方法は、上記課題を解決するために、プリンタドライバソフトウェアアプリケーションにおいて、印刷ジョブの図形インスタンスに対して選択的にレンダリングを実行するレンダリング方法であって、印刷処理手段が、ドキュメント処理ソフトウェアアプリケーションから、図形インスタンスを含む印刷データを受け付けるステップと、印刷処理手段が、デフォルトの第１の画像レンダリングオプションを上記印刷データに適用するステップと、レンダリングユーザインターフェースが、上記印刷データにある第１の図形インスタンスを選択するステップと、印刷処理手段が、第２の画像レンダリングオプションを、上記選択された第１の図形インスタンスに適用するステップと、印刷処理手段が、上記第１の画像レンダリングオプションを組み込まれた画像ジョブを生成するステップと、印刷処理手段が、上記選択された第１の図形インスタンスごとに上記第２の画像レンダリングオプションを適用するステップとを含むことを特徴としている。
【００３６】
なお、上記レンダリング装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記手段として動作させることにより上記レンダリング装置をコンピュータにて実現させるレンダリング装置の制御プログラム（プリンタドライバ）も本発明の範疇に入る。
【発明の効果】
【００３７】
本発明に係るレンダリング装置は、ソースドキュメント処理アプリケーションから印刷データを受け付けるインターフェース、および、印刷ジョブを供給するためのインターフェースを有する印刷処理手段と、上記印刷データにある第１の図形インスタンスを選択するために、上記印刷処理手段に接続されているレンダリングユーザインターフェースとを備え、上記印刷処理手段は、上記第１の図形インスタンスに、第１の画像レンダリングオプションをデフォルトとして組み込むとともに、第２の画像レンダリングオプションを組み込んだ印刷ジョブを生成して、図形インスタンスに対して選択的にレンダリングを実行することを特徴としている。
【００３８】
本発明のレンダリング方法は、画像ドライバソフトウェアアプリケーションにおいて、図形インスタンスに対して選択的にレンダリングを実行するレンダリング方法であって、印刷処理手段が、図形インスタンスを含む画像データをソフトウェアアプリケーションから受け付けるステップと、印刷処理手段が、上記画像データにデフォルトの第１の画像レンダリングオプションを適用するステップと、レンダリングユーザインターフェースが、上記画像データから第１の図形インスタンスを選択するステップと、レンダリングユーザインターフェースが、上記選択された第１の図形インスタンスに対して第２の画像レンダリングオプションを選択するステップと、印刷処理手段が、上記第１および第２の画像レンダリングオプションを組み込んだ画像ジョブを生成するステップとを含むことを特徴としている。
【００３９】
本発明のレンダリング方法は、上記課題を解決するために、プリンタドライバソフトウェアアプリケーションにおいて、印刷ジョブの図形インスタンスに対して選択的にレンダリングを実行するレンダリング方法であって、印刷処理手段が、ドキュメント処理ソフトウェアアプリケーションから、図形インスタンスを含む印刷データを受け付けるステップと、印刷処理手段が、デフォルトの第１の画像レンダリングオプションを上記印刷データに適用するステップと、レンダリングユーザインターフェースが、上記印刷データにある第１の図形インスタンスを選択するステップと、印刷処理手段が、第２の画像レンダリングオプションを、上記選択された第１の図形インスタンスに適用するステップと、印刷処理手段が、上記第１の画像レンダリングオプションを組み込まれた画像ジョブを生成するステップと、印刷処理手段が、上記選択された第１の図形インスタンスごとに上記第２の画像レンダリングオプションを適用するステップとを含むことを特徴としている。
【００４０】
以上のことから、プリンタによって処理されるハードコピードキュメントの色調整レンダリングを、容易にカスタマイズして実行することが可能となる。
【発明を実施するための最良の形態】
【００４１】
〔発明の概要〕
コピー機、多機能周辺機器（ＭＦＰ；multifunctional peripheral）、または、ファクシミリ装置が、図形インスタンスを見分けることできる、セグメント／画像解析メカニズム有している場合に、本発明を上述の各装置に適用することができる。さらに一般的には、本発明は、いかなるタイプの画像処理アプリケーションにおいても、図形インスタンスに対し、カスタマイズされたレンダリングオプションを適用することが可能となる。
【００４２】
より詳細には、本発明によれば、ユーザは、レンダリング処理中のドキュメントから選択された図形インスタンスの各々に対して実行される色調整レンダリングを選択することができる。ユーザは、あるインスタンス（例えば、ビットマップ画像）に対して、所望の色調整レンダリングを適用する。このとき、プリンタ（画像）ドライバにおいて、色調整レンダリングを制御する特殊なアプリケーションは必要ない。本発明によれば、ユーザは、デフォルトの色調整レンダリング処理の上からさらに、図形インスタンスの各々に対して個別にレンダリングを追加して施すことが可能となる。ユーザは、インスタンスの種類（description）と、所望のレンダリングとを選択すればよい。例えば、選択されるレンダリング処理としては、以下に記す仕組みを用いたものが挙げられる。プリンタドライバのダイアログボックスを介して、プリンタドライバのダイアログボックスにおけるテキストデータの記述を用いた処理、プリンタドライバのテキストファイルを用いた処理、プレビューのメニュー項目を用いた処理、複合印刷ジョブにおける図形インスタンスを識別するためのプロファイルを用いた処理、印刷プレビュー時のＯＳの選択による処理（追加されたデータは上記ドライバに転送される）、アプリケーションのカスタマイズ可能な設定に基づく処理（追加されたデータは上記ドライバに転送される）などである。
【００４３】
これに応じて、画像ドライバソフトウェアアプリケーションにおいて、図形インスタンスに対して選択的にレンダリングを実行するレンダリング方法を提供する。本発明のレンダリング方法は、図形インスタンスを含む画像データをソフトウェアアプリケーションから受け付けるステップ（つまり、プリンタドライバが、ドキュメント処理アプリケーションから印刷データを受け付けるステップ）と、受け付けた上記画像データに、デフォルトの第１の画像レンダリングオプションを適用するステップと、上記画像データにおける第１の図形インスタンスを選択するステップと、上記選択された第１の図形インスタンスに、第２の画像レンダリングオプションを適用するステップと、上記第１および第２の画像レンダリングオプションが組み込まれた画像ジョブ（つまり、印刷ジョブ）を生成するステップと、を含むことを特徴としている。
【００４４】
図形インスタンスの具体例としては、テキストオブジェクト、ビジネス図形オブジェクト、写真オブジェクト、ビットマップ画像、色、色の範囲、ページ上の識別される領域、あるいは、ベクトルなどが挙げられる。図形インスタンスの概念は、図形またはオブジェクトタイプの「クラス」よりも、狭義に捉えるべきである。例えば、写真が図形クラスであれば、特定の写真すなわちここでは写真オブジェクトと呼ばれているものは、図形インスタンスである。本発明のレンダリング方法において、選択された図形インスタンスは、「図形タイプ」として識別される。したがって、本発明のレンダリング方法においては、インスタンスが図形タイプとして識別された場合、自動的に、選択されたレンダリングオプションを図形タイプのインスタンスの各々に適用することになる。例えば、ユーザが企業のロゴを表すベクトル群を図形タイプとして識別した場合は、選択されたレンダリングオプションは、ベクトルの一つ一つ（すなわちロゴ）に、自動的に適用される。従来のいくつかのプロセスのように、ユーザが、図形のタイプを処理するように選択してもよい。しかしながら、本発明のプロセスでは、上記処理のトリガとなる図形インスタンスをユーザが選択するという点で従来とは異なる。
【００４５】
ユーザによって選択されるレンダリングオプションの具体例としては、網点階調化（halftoning）、カラーマネジメント、墨入れ（black generation）、下色除去、フィルタ、色調整、セグメンテーションベースのレンダリングアルゴリズム、などが挙げられる。
【００４６】
上述した方法のさらに詳細な説明および図形インスタンスに対して選択的にレンダリングを実行するためのプリンタドライバソフトウェアアプリケーションについて以下で説明する。
【００４７】
〔発明の詳細な説明〕
今日多くのコンピューティングデバイスのプラットフォームおよび印刷システムが利用可能であり、本発明は、上述した多くのシステムで実施することができる。しかしながら、Microsoft Windows（登録商標）オペレーティングシステムファミリーが普及していることから、典型的な例として、Windows（登録商標）システムとの共同による本発明の態様について記載し、本発明の説明とする。
【００４８】
Microsoft Windows（登録商標）オペレーティングシステムでは、典型的な２種類のファイルタイプが、印刷プロセスにおいて採用されている。１つ目が、拡張メタファイル（ＥＭＦ；Enhanced Metafile）であり、２つ目が、未加工（raw）フォーマットファイルである。未加工フォーマットファイルは、装置依存型のファイルであって、その形式は特定の装置により定められフォーマットされる。未加工ファイルの例として、カプセル化されたポストスクリプト（ＰＳ；Postscript）ファイルが挙げられる。ポストスクリプトファイルは、ポストスクリプトプリンタにより解釈されるようにフォーマットされている。ＥＭＦファイルは、装置非依存型のファイルであって、グラフィックデバイスインターフェース（ＧＤＩ；Graphic device interface）機能を含んでいる。ＧＤＩ機能とは、アプリケーションの図形要素をプリンタに再生する機能のことである。ＥＭＦファイルは、印刷ドキュメントをすばやく記憶し、システムの制御をユーザにすばやく返すのに用いられる。上記制御が上記ユーザに戻った後、内部では、記憶されたＥＭＦファイルを読み込む機能が、ＥＭＦファイルにアクセスし、それをプリンタに送信する処理を実行することができる。
【００４９】
ファイルは、スプールファイルを用い、後で再生するために記憶される。すなわち、スプールファイルには上記ファイルが書き込まれ、後にスプールファイルから印刷デバイスへとデスプールされる。スプールファイルは、ＥＭＦファイルおよび未加工ファイルのどちらにも利用可能である。しかしながら、印刷ジョブは、スプールファイルを利用せずに、直接印刷デバイスに書き込まれることもある。未加工スプールファイルおよびＥＭＦスプールファイルを用いた典型的な印刷プロセスのシナリオを以下に説明する。また、本発明を実現する装置の構成要素、構成要素間の関係、各プロセスの関係を説明する。以下で説明する印刷プロセスのシナリオは、Microsoft Windows （登録商標）95ドライバディベロップメントキット（ＤＤＫ；Driver Development Kit）の文書、Microsoft Windows （登録商標） 2000 ＤＤＫ文書、および、Microsoft Windows （登録商標）NT  ＤＤＫ文書に含まれている情報から導出されたものである。
【００５０】
図１は、従来技術を示すものであり、未加工のスプールファイルを用いた、従来の印刷オペレーションのシステム構成を示すブロック図である。図１の構成要素は、コンピュータシステム５０の要素として構成することができる。コンピュータシステム５０は、どのようなタイプのコンピューティングデバイスでもよい。コンピューティングデバイスとして、例えば、パーソナルコンピュータ、ワークステーション、携帯情報端末（ＰＤＡ；personal digital assistant）、などが挙げられる。コンピュータシステム５０は、一般に、オペレーティングシステム（図示せず）を含んでいる。コンピュータシステム５０は、複数のアプリケーションを実行できる。そのうちの一つのアプリケーション、アプリケーション１０を図１に示す。アプリケーションの例としては、ワードプロセッサ、スプレッドシート、通信ソフトウェア、および、プレゼンテーションソフトウェアなどが挙げられる。コンピュータシステム５０のユーザは、一般に、１または複数の文書を作成するためにアプリケーション１０を利用することができる。ある態様では、コンピュータシステム５０は、さらに、コンピュータネットワークの構成要素（他のコンピューティングデバイス、サーバ、ルータ、ハブ、スイッチ、および、ディスプレイ・プリンタ・プロッタ・ＣＤライタ・テープドライブなどの出力装置を含む）を備えていてもよい。
【００５１】
コンピュータシステム５０は、プリンタなどの出力装置（図示せず）に接続されていてもよい。上記出力装置は、画像を形成する機能を有し、かつ、上記コンピュータシステム５０と組み合わせて用いることのできる装置であれば、どのようなタイプのものでもよい。上記プリンタは、アプリケーション１０によって生成された１または複数の文書を印刷するのに利用できる。
【００５２】
より詳細には、コンピュータシステム５０は、アプリケーションの出力データを、出力装置が取り扱い可能な形式へと変換するための出力システムまたは印刷システムを備えている。出力システムまたは印刷システムは、プリンタドライバ、印刷プロセッサ、スプーラ、印刷プロバイダ、および、その他、Microsoft（登録商標）オペレーティングシステムと関連する上述の印刷システムの構成要素を備えていてもよい。上記印刷システムの構成要素とは、アプリケーション１０がプリンタと通信を行えるようにするためのソフトウェアである。アプリケーション１０が文書を印刷する必要があるときは、上記ソフトウェアが印刷データをプリントシステムに送信する。印刷データとは、印刷すべき文書を記述したデータのことである。一般に、印刷データは、一連のコマンドから成っている（例えば、円を描画せよ、あるフォントでテキストの線を描画せよ、など）。印刷システムは、アプリケーション１０から印刷データを受け付けて、印刷準備データを生成する。この印刷準備データは、印刷データをプリンタが理解できる形式に翻訳したものである。印刷準備データの形式は、上記プリンタの機能に依存する。インクジェットなどのローエンドプリンタでは、印刷準備データは、ピクセルデータ、つまり、紙の上にピクセルを印刷するのに利用可能なデータである。いろいろなバージョンのＰＣＬ（Printer Control Language）やポストスクリプトなどのさまざまな印刷記述言語（ＰＤＬ；Printer Description Language）で表される画像を翻訳する機能を有するプリンタはますます増えている。
【００５３】
アプリケーション１０は、グラフィックデバイスインターフェース（ＧＤＩ）１２を呼び出すことにより印刷要求１を起こす。アプリケーション１０は、ワードプロセッサ、スプレッドシート、ブラウザ、データベースプログラム、または、オペレーティングシステム上で実行可能な他のプログラムなどのいずれであってもよい。一般に、アプリケーション１０は、装置文脈（ＤＣ；device context）を生成し、オブジェクト（つまり、円や線など）を上記装置文脈に描画する。アプリケーション１０は、上記装置文脈を利用する特定のプリンタ１６（図２）宛ての印刷要求１を持つグラフィックデバイスインターフェース１２を呼び出す。
【００５４】
グラフィックデバイスインターフェース１２は、プリンタドライバ１４を呼び出す。プリンタドライバ１４は、特定のプリンタ１６および要求２と関連付けられている。要求２は、特定のプリンタ１６上でオブジェクトをどのようにレンダリングするかを示す指示を要求するものである。プリンタドライバ１４は、応答３を返す。応答３は、プリンタ１６上でオブジェクトをどのようにレンダリングするかを示す指示である。Windows （登録商標）95で利用される印刷プロセスの例では、プリンタドライバ１４は、１６ビットコードで書かれており、１６ビットグラフィックデバイスインターフェース１２と通信を行う。そして、グラフィックデバイスインターフェース１２は、印刷要求４を３２ビットグラフィックデバイスインターフェース（ＧＤＩ３２）１８転送する。これにより、印刷データを３２ビットのWindows （登録商標）95のスプーラプロセスで扱えるようになる。グラフィックデバイスインターフェース１８はプロセス間コール５を生成すると、スプーラプロセス２０に伝達する。
【００５５】
スプーラプロセス２０は、ルータ２２をコール６で呼び出して、印刷ジョブをプリンタ１６に伝送する。例えば、図１および２で示すとおり、ルータ２２は、上記印刷ジョブをローカルプリントプロバイダ２４送信する。他のシナリオでは、ルータ２２は、印刷ジョブを図示しないネットワークプリントプロバイダを介してネットワークプリンタに送信するようにしてもよい。デフォルトのWindows （登録商標）95のスプーラにおいては、ネットワーク印刷ジョブは、ローカル印刷ジョブと同様に、クライアント装置上でスプールおよびデスプールされる。ネットワークプリントサーバは、デスプール中のみ接続される。Windows （登録商標）NT/2000のクライアント装置は、必要な印刷アプリケーションプログラムインターフェース（ＡＰＩ）を呼び出すために、プリントサーバ上でリモートプロシージャコール（ＲＰＣ；remote procedure call）を利用する。上述のWindows （登録商標）NT/2000のシナリオでは、印刷ジョブは、ローカルのスプーラキューには現われない。むしろ、スプーリングとデスプーリングは、プリントサーバのプリントスプーラで行われる。上記リモートプロシージャコールの方法は、Windows （登録商標）95のスプーラが採用されたシステムにおいても同様に用いられる。ローカルで接続されたプリンタやキューに送られる、ネットワークプリンタ宛ての印刷ジョブは、Windows （登録商標）95、98のローカル印刷ジョブと同様に取り扱われる（例えば、ＬＰＲ（Line Printer daemon protcol））。
【００５６】
上記ローカル印刷シナリオでは、ルータ２２は、印刷ジョブでもってローカルプリントプロバイダ２４を呼び出す（コール７）。ローカルプリントプロバイダ２４は、未加工スプールファイル２６を、ディスクに書き込み（“スプール”し）、後にアクセスできるようにする。これは、アプリケーションに制御が戻される前に発生するプリンタのジョブ完了待ち状態を回避するために行われる。印刷要求１が起こってから未加工スプールファイル２６が書き込まれるまでの各ステップは、何度も繰り返し実行される。データは、アプリケーションが、印刷ジョブが完了したことを示すまで、未加工スプールファイル２６に付加されたままでもよい。EndDocファンクション（EndDoc function）によって、ジョブの完了が明示されてもよい。ローカルプリントプロバイダ２４は、バックグラウンドスレッド２８に対して指示９を開始する。スレッド２８は、未加工スプールファイル２６の再生またはプリンタ１６への“デスプール”を開始する最適なタイミングを決定する。
【００５７】
図２は、従来技術を示すものであり、スプーラサブシステムの構成を示すブロック図である。スレッド２８は、スプーラサブシステムの各リソースを監視し、未加工スプールファイル２６を再生する適切なタイミングを決定する。スレッド２８が再生を開始すべきであると決定すると、StartDocファンクション（StartDoc function）コール１７が、印刷プロセッサ３２に送信される。これにより、印刷プロセッサ３２は、新しい印刷プロセッサスレッド１１を開始する。印刷プロセッサスレッド１１は、未加工スプールファイル２６の部分を読み出すためのReadPrinterファンクション（ReadPrinter function）をコールして、ローカルプリントプロバイダ２４を起動する。印刷プロセッサスレッド１９は、ローカルプリントプロバイダ２４を利用して、WritePrinterファンクション（WritePrinter function）をコールして、言語モニタ３４を起動する。WritePrinterファンクションは、あらかじめ特定されている双方向のプリンタ１６に接続された物理ポート３８を介してデータを送信する機能である。
【００５８】
未加工スプールファイルにとって、デフォルトの印刷プロセッサ３２は、その情報のいずれかを変更したり解釈したりしないのであれば、単にデータを転送するためだけのものである。宛先のプリンタ１６が双方向のプリンタ１６であるので、図２に示す例では言語モニタ３４が採用されている。もし、一方向のプリンタが採用された場合には、言語モニタ３４の代わりにポートモニタ３６が起動される。言語モニタ３４およびポートモニタ３６は、別々の構成要素として設けられていてもよいし、あるいは、一つのモニタに統合されていてもよい。
【００５９】
言語モニタ３４は、ポートモニタ３６を呼び出して（コール１３）、印刷ジョブデータをプリンタ１６に送る。そして、ポートモニタ３６は、上記データを、そのまま物理ポート３８を介してプリンタ１６に転送する（データ１５）。上述の、未加工スプールファイル２６からデータを読み出して、プリンタ１６に伝送するというプロセスは、印刷ジョブが完了するまで何回か繰り返される。一般的には、end-of-fileなどの終端記号に到達するか、または、当該ジョブがキャンセルされるまで繰り返される。再生スレッド、すなわち、印刷プロセッサスレッド１９は、上述の時点で終了となる。スプーラプロセス２０、ルータ２２、ローカルプリントプロバイダ２４、印刷プロセッサ３２、言語モニタ３４、および、ポートモニタ３６を含めてスプーラ３０と称する。
【００６０】
図３および図４は、従来技術を示すものであり、Windows（登録商標）ＥＭＦデータの印刷オペレーションのシステム構成を示すブロック図である。Windows（登録商標）拡張メタファイル（ＥＭＦ）フォーマットのファイルが、Windows（登録商標）9.xシステムの印刷プロセスにおいて用いられる場合は、各プロセスの構成要素は、未加工ファイルのときとは異なる動作をする。このようなプロセスの一例として、図３および図４に、ＥＭＦファイルを用いたときの印刷プロセスを示す。このプロセスは、一般に、アプリケーション４０が、プリンタの装置文脈を生成し、オブジェクトを該装置文脈に描画する（図示せず）と開始される。次に、アプリケーション４０は、宛先のプリンタ６８（図４）に対するＥＭＦスプーリング要求でもって、グラフィックデバイスインターフェース５３を呼び出す（コール４１）。グラフィックデバイスインターフェース５３は、プリンタ６８に関連付けられたプリンタドライバ５２に問合せを行って（４２）、プリンタドライバ５２がＥＭＦスプーリングをサポートしているか否かを判断する。プリンタドライバ５２がＥＭＦスプーリングをサポートしている場合は、グラフィックデバイスインターフェース５３は、上記プリンタの装置文脈をＥＭＦ装置文脈に変更して、オブジェクトをレンダリングする指示をＥＭＦ装置文脈（５４）に書き込む（４３）、すなわち、ＥＭＦファイル５４を生成する。次に、グラフィックデバイスインターフェース５３は、印刷要求４４を３２ビットのグラフィックデバイスインターフェース（ＧＤＩ３２）５６に送る。ここで例示されているWindows （登録商標）95のスプーラプロセスは、３２ビットコードであるためである。続いて、グラフィックデバイスインターフェース５６は、印刷ジョブの記述でもって、スプーラサブシステム７０宛てのプロセス間コール４５を生成する。
【００６１】
スプーラサブシステム７０のスプーラプロセス５８（SPOOL32.exe）は、ルータ６０を呼び出して、印刷ジョブ記述をプリントプロバイダ（６２）に送る。上記印刷ジョブ記述は、宛先のプリンタ６８に到達するものである。図３に示す例では、プリントプロバイダとして、ローカルプリントプロバイダ６２を採用するが、ネットワークプリントプロバイダを採用してもよい。デフォルトのWindows （登録商標）95スプーラを採用する場合、ネットワーク印刷ジョブは、ローカル印刷ジョブと同様にクライアント装置にてスプールおよびデスプールされる。ネットワークプリントサーバは、デスプール中のみ接続される。Windows （登録商標）NT/2000のクライアント装置では、ネットワークプリントサーバへ送る印刷ジョブの扱い方が異なる。Windows （登録商標）NT/2000のクライアント装置は、必要な印刷アプリケーションプログラムインターフェース（ＡＰＩ）を呼び出すために、プリントサーバ上でリモートプロシージャコール（ＲＰＣ）を利用する。上述のWindows （登録商標）NT/2000のシナリオでは、印刷ジョブは、ローカルのスプーラキューには現われない。むしろ、スプーリングとデスプーリングは、プリントサーバのプリントスプーラで行われる。上記リモートプロシージャコールの方法は、Windows （登録商標）95のスプーラが採用されたシステムにおいても同様に用いられる。
【００６２】
ルータ６０がローカルプリントプロバイダ６２を呼び出すと、ローカルプリントプロバイダ６２は、ジョブが呼び出されるごとに、ジョブ記述ファイル６４のデータ４８を生成して、データ４８をジョブ記述ファイル６４に追加して記憶していく。これは、ＥＭＦファイルの全ページがスプールされて、その各々の名前と位置とがジョブ記述ファイル６４に記憶されるまで繰り返される。印刷ジョブの最後のＥＭＦファイルについての情報が記憶されると、ローカルプリントプロバイダ６２は、EndDocファンクションコールによって、スプーラプロセス５８を呼び出す。このスプーラプロセス５８宛ての信号は、ジョブのスプールが完了し、デスプールの準備ができたことを示している。ジョブが複数ページ分ある場合は、スプーリングの要求４１からジョブ記述ファイルの記憶までの上述の各ステップが、各ページのジョブごとに繰り返される。
【００６３】
ＥＭＦファイルのスプーリングが完了すると、スプーラプロセス５８は、印刷ジョブにReadyToPrint属性をセットして、イベント４９を開始し、信号をポートスレッド６６に送る。上記信号は、ジョブが印刷可能な状態になったことを示すものである。ポートスレッド６６は、上記イベントに応答して、デスプーリングプロセスを開始する最適なタイミングを判断するとともに、印刷プロセッサ７２をロードする（図４の８１）。印刷プロセッサ７２は、ファイルフォーマットがＥＭＦであることを判断して、Windows （登録商標）95ファンクションコール８２でもってグラフィックデバイスインターフェース５６を呼び出す。
【００６４】
次に、グラフィックデバイスインターフェース５６は、gdiPlaySpoolStreamファンクション（gdiPlaySpoolStream function）を起動して、ジョブ記述ファイル６４から読み出しを行う（８３）。ジョブ記述ファイル６４から、ＥＭＦファイル５４への完全に限定された径路が明らかになる。ＥＭＦファイルのパスネームのリストを備えているジョブ記述ファイル６４を介して、グラフィックデバイスインターフェース５６は、印刷ジョブの全てのページを認識することができる。グラフィックデバイスインターフェース５６のgdiPlaySpoolStreamファンクションは、グラフィックデバイスインターフェース５３を呼び出す。この呼び出しは、グラフィックデバイスインターフェース５６で構築されたサンク（thunk）（プラットフォームを越えてコードを呼び出すこと）により、ページをレンダリングするためのＥＭＦスプールファイルへのパスを用いて行われる。このとき、グラフィックデバイスインターフェース５３は、印刷ジョブの１ページ分のみを認識することができる。
【００６５】
グラフィックデバイスインターフェース５３は、アプリケーション４０において選択された目的のプリンタ６８に関連付けられているプリンタドライバ５２を呼び出し、プリンタ６８の装置文脈を取得する。次に、グラフィックデバイスインターフェース５３は、スプールされたＥＭＦファイル５４から、ページをレンダリングする指示を読み出して、その指示をプリンタドライバ５２に送る（８５）。上記ページをレンダリングする指示は、プリンタドライバ５２が利用するものであり、ページの最初の部分をレンダリングするのに必要な分が、まず読み出され、一つずつプリンタドライバ５２に送られる。１６ビットのプリンタドライバ５２が、ページの一部をレンダリングすると、次に、プリンタ用そのままのページデータがグラフィックデバイスインターフェース５３に戻される（８７）。次に、上記ページデータは、そのままグラフィックデバイスインターフェース５６に戻される（８８）。次に、グラフィックデバイスインターフェース５６は、そのままの未加工のデータをスプーラプロセス５８に送る（８９）。スプーラプロセス５８は、上述したとおり、未加工のフォーマットファイルに応じた同じプロシージャにしたがって実施される。
【００６６】
スプーラプロセス５８は、プリンタ６８に印刷ジョブを送るためにルータ６０を呼び出す（９０）。図３および図４に示す例では、ルータ６０は、印刷ジョブをローカルプリントプロバイダ６２に送る。その他のシナリオでは、ルータ６０は、ネットワークプリントプロバイダ（図示せず）を介して、印刷ジョブをネットワークプリンタに送ってもよい。ローカル印刷のシナリオでは、ルータ６０は、印刷ジョブでもって、ローカルプリントプロバイダ６２を呼び出す。ローカルプリントプロバイダ６２は、言語モニタ７４を、WritePrinterファンクションを用いて起動し、あらかじめ特定された双方向のプリンタ６８に接続されている物理ポート７８を介して、プリンタ６８にデータを送る。
【００６７】
宛先のプリンタ６８が双方向のプリンタであるので、上述の例では言語モニタ７４が採用されている。もし、一方向のプリンタが採用された場合には、言語モニタ７４の代わりにポートモニタ７６が採用される。言語モニタ７４およびポートモニタ７６は、別々の構成要素として設けられていてもよいし、あるいは、一つのモニタに統合されていてもよい。言語モニタ７４は、ポートモニタ７６を呼び出して（コール９３）、印刷ジョブデータをプリンタ６８に送る。そして、ポートモニタ７６は、上記データを、そのまま物理ポート７８を介してプリンタ６８に転送する（データ９４）。
【００６８】
ＥＭＦページの部分は、このようにして処理され、ページ全体が印刷されるまで印刷の処理が実行される。そして、グラフィックデバイスインターフェース５６は、次のページのＥＭＦスプールファイルへのパスを取得して、該ＥＭＦファイルの中にある、印刷ジョブの次のページをレンダリングする指示を用いて、グラフィックデバイスインターフェース５３を呼び出す。ＥＭＦスプールファイルへの全てのパスが使用済みになれば、印刷ジョブは終了する。
【００６９】
図５は、従来技術を示すものであり、Microsoft Windows （登録商標）NTおよび2000における印刷オペレーションのシステム構成を示すブロック図である。Windows （登録商標）NTおよび2000などのMicrosoft Windows（登録商標）の他のバージョンのオペレーティングシステムでは、異なる印刷プロセスが採用されている。これらの各プロセスは、データを、ローカル、ネットワーク、および、直接あるいはネットワークを介してプリントサーバに接続されたリモートプリンタにて印刷するときに採用される。例えば、Windows （登録商標）NTおよび2000では、すべてのページ分のＥＭＦデータ全体が、１ページごとではなく、全ページ一度にGdiPlayEMF()ファンクションに引き渡される。ＥＭＦデータがプリントサーバのキューに入れられると、ＥＭＦデータは、クライアント装置上で何のレンダリングも行われずに、直接プリントサーバに送られる。代わりに、サーバのドライバのミラーコピーが、ＥＭＦデータをレンダリングする。
【００７０】
一般に、ユーザはアプリケーション１００を使用し、グラフィックデバイスインターフェース１０２ファンクションを呼び出すことによって印刷ジョブを生成する。そして、グラフィックデバイスインターフェース１０２および／またはアプリケーション１００は、Winspool.drv１０４を呼び出す。Winspool.drv１０４は、クライアント装置のスプーラへのインターフェースである。このクライアントインターフェースであるWinspool.drv１０４は、スプーラのWin32（登録商標）ＡＰＩを生成して、サーバにアクセスするためのリモートプロシージャコール（ＲＰＣ）スタブ（stub）を提供する。続いて、印刷ジョブは、スプーラのＡＰＩサーバのSpoolsv.exe１０６に転送される。Spoolsv.exe１０６は、オペレーティングシステムが開始されるときにWindows （登録商標）2000のサービスとして開始されるサービスを実行することができる。上記ＡＰＩサーバモジュールは、ＲＰＣインターフェースを、スプーラのWin32（登録商標）ＡＰＩのサーバ側に出力する。上記モジュールは、いくつかのＡＰＩファンクションを実行する。このほとんどのファンクションコールは、ルータ１０８の手段（spoolss.dll）によってプリントプロバイダへと引き渡される。
【００７１】
ルータ１０８は、どのプリンタプロバイダを呼び出すべきかを、プリンタ名、または、各ファンクションコールにより供給された処理に基づいて決定し、上記ファンクションコールを、決定した正しいローカルプリントプロバイダ１１０（localspl.dll）、１１２（Win32spl.dll）、または、１１４（その他プロバイダdll）に引き渡す。選択されたプリンタがクライアントシステムで管理されている場合は、印刷ジョブは、ローカルプリントプロバイダ（localspl.dll）１１０によって処理される。ローカルプリントプロバイダ１１０によって管理されるプリンタは、クライアントからみて物理的にローカルである必要はなく、サーバを介さずに、ネットワークカードに直接接続されているものであってもよい。このようなプリンタが使用された場合は、印刷ジョブは、カーネルモードポートドライバスタック１１６に引き渡されて、プリンタ１１８へと送られる。
【００７２】
Windows （登録商標）NT/Windows （登録商標）2000サーバのプリンタが選択された場合には、ルータ１０８は、印刷ジョブをネットワークプリントプロバイダ（Win32spl.dll）１１２に送る。ネットワークプロバイダは、ＲＰＣを用いて、クライアント装置のルータからネットワークサーバのspoolsv.exeプロセス１２４へのコールを送信する。spoolsv.exeプロセス１２４は、印刷ジョブをネットワークサーバのルータ１２６に転送するものである。ネットワークプリンタは、プリントサーバシステムのローカルに存在するので、ネットワークサーバルータ１２６は、ジョブをサーバのローカルプリントプロバイダ１２８に送る。そして、ジョブは、サーバのカーネルモードポートドライバスタック１３０に送られ、選択されたネットワークプリンタ１３２に出力される。
【００７３】
上述のシステムでは、リモートプリンタを用いてもよい。リモートプリンタが選択された場合には、クライアント装置のルータ１０８は、印刷ジョブをローカルプリントプロバイダ１１０に送る。ローカルプリントプロバイダ１１０は、上記印刷ジョブをカーネルモードポートドライバスタック１１６に転送し、ネットワークプロトコルを用いるリモートプリンタ１４２に出力する。ローカルプリントプロバイダ１１０が、リモートプリンタ１４２にアクセスする場合には、ローカルプリントプロバイダ１１０は、ポートモニタを利用する。ポートモニタは、リモートプリンタまたはそのサーバによって認識されるネットワークプロトコルを用いることができる。
【００７４】
Windows（登録商標） NT/2000サーバ以外（例えば、Novellサーバ）により管理されるプリンタが、上記プリントシステムでアクセスされるようにしてもよい。これは、ローカルプリントプロバイダ１１０を用いることによって実現可能である。ローカルプリントプロバイダ１１０は、印刷ジョブをカーネルモードポートドライバスタック１１６に送り、ネットワークプロトコルを用いるプリントサーバ１３６に出力する。プリントサーバ１３６は、次に、上記印刷ジョブを宛先のプリンタ１４０に送る。これは、カスタマイズされたプリンタプロバイダ１１４を用いることによって実現可能である。プリンタプロバイダ１１４は、上記印刷ジョブをカーネルモードポートドライバスタック１１６に送る。カーネルモードポートドライバスタック１１６は、ネットワークプロトコルを用いて上記印刷ジョブをプリンタサーバ１３４に出力する。続いて、プリンタサーバ１３４は、上記印刷ジョブを宛先のプリンタ１３８に送る。
【００７５】
図６は、従来技術を示すものであり、Windows （登録商標）2000の印刷プロセスを示す図である。このプロセスでは、グラフィックデバイスインターフェース（ＧＤＩ）１５２を用いて印刷ジョブを生成するアプリケーション１５０が採用されている。印刷ジョブの初期出力ファイルが未加工フォーマットで出力されると（１５４においてＮＯ）、プリンタドライバのプリンタグラフィックスＤＬＬ１５６は、グラフィックデバイスインターフェース１５２と共同で印刷ジョブを生成する。該印刷ジョブは、スプーラのクライアントインターフェース１６０に送られるものである。クライアントインターフェース１６０は、上記印刷ジョブをＡＰＩサーバ１６２に送る。ＡＰＩサーバ１６２は、上記印刷ジョブをルータ１６４に転送する。例えば、ルータ１６４は、上記印刷ジョブを、ローカル印刷ジョブと同様に、ローカルプリントプロバイダ１６５に送る。
【００７６】
ローカルプリントプロバイダ１６５内では、印刷ジョブ生成ＡＰＩ１６８が起動する。印刷ジョブ生成ＡＰＩ１６８は、プリンタドライバのプリンタインターフェースＤＬＬ１４７にアクセスして、ジョブスプールファイル１７６を生成する。また、印刷ジョブ生成ＡＰＩ１６８は、ジョブ情報をジョブスケジューリングＡＰＩ１７０に転送する。ジョブスケジューリングＡＰＩ１７０は、ジョブスケジューラスレッド１７２を起動する。
【００７７】
この時点で、ファイルフォーマットがチェックされる（１７８）。もし、始めのジョブファイルがすでに未加工フォーマットである場合には、上記印刷ジョブは、言語モニタＤＬＬ１８２に送られて、ポートモニタ１８４に出力される。ポートモニタ１８４は、上記印刷ジョブをカーネルモードポートドライバスタック１８６に送る。カーネルモードポートドライバスタック１８６は、上記印刷ジョブを選択されたプリンタ１８８に送り、最終の印刷処理を行う。
【００７８】
アプリケーション１５０が、グラフィックデバイスインターフェース１５２を用いて、ＥＭＦフォーマットの印刷ジョブを生成した場合は（１５４においてＹＥＳ）、上記印刷ジョブは、クライアントインターフェース１６０に送られる。クライアントインターフェース１６０は、上記印刷ジョブをＡＰＩサーバ１６２に送る。ＡＰＩサーバ１６２は、上記印刷ジョブをルータ１６４に転送する。この例でも、上記印刷ジョブがローカルであるので、ルータ１６４は、該印刷ジョブをローカルプリントプロバイダ１６５に送る。
【００７９】
ローカルプリントプロバイダ１６５内では、印刷ジョブ生成ＡＰＩ１６８が起動される。印刷ジョブ生成ＡＰＩ１６８は、プリンタドライバのプリンタインターフェースＤＬＬ１４７にアクセスして、ジョブスプールファイル１７６を生成する。また、印刷ジョブ生成ＡＰＩ１６８は、ジョブ情報をジョブスケジューリングＡＰＩ１７０に転送する。ジョブスケジューリングＡＰＩ１７０は、ジョブスケジューラスレッド１７２を起動する。
【００８０】
この時点で、ファイルフォーマットがチェックされる（１７８）。始めのジョブファイルがＥＭＦフォーマットである場合には、上記印刷ジョブは、印刷プロセッサＤＬＬ１８０に送られる。印刷プロセッサＤＬＬ１８０は、プリンタインターフェースＤＬＬ１７４の助けを借りて印刷ジョブを未加工フォーマットに変換するために、上記印刷ジョブをグラフィックデバイスインターフェース１５２に戻す。変換された印刷ジョブは、再び、クライアントインターフェース１６０に戻され、ＡＰＩサーバ１６２、ルータ１６４を経て、ローカルプリントプロバイダ１６５に送られる。ローカルプリントプロバイダでは、上記印刷ジョブは、印刷ジョブ生成ＡＰＩ１６８、ジョブスケジューリングＡＰＩ１７０、および、ジョブスケジューラスレッド１７２によって処理される。その後、上記印刷ジョブは、未加工フォーマットになっているので、言語モニタＤＬＬ１８２に送られてポートモニタ１８４、カーネルモードポートドライバスタック１８６へと出力されて、最終的に宛先のプリンタ１８８に到達する。
【００８１】
図７は、図形インスタンスに対して選択的にレンダリングを実行するプリンタドライバソフトウェアアプリケーションを実行するクライアント装置の構成を模式的に示すブロック図である。クライアント装置（レンダリング装置）６００は、図７に示すとおり、プリンタドライバ７００を備えている。プリンタドライバ７００は、プリンタグラフィックスＤＬＬ７０１と、印刷処理部７０２とを含んでいる。プリンタグラフィックスＤＬＬ７０１は、ライン７０４によって、また、印刷処理部７０２は、ライン７３２によって、グラフィックデバイスインターフェース７３０と接続されている。これにより、グラフィックデバイスインターフェース７３０を介して、例えばＥＭＦデータなどの印刷データを、ソースドキュメント処理ソフトウェアアプリケーション７０６から受け付けることができる。
【００８２】
印刷処理部７０２は、ライン７０８を介してインターフェースを有する。印刷処理部７０２は、グラフィックデバイスインターフェース７３０を介して取得したＥＭＦの指示を再生する。また、グラフィックデバイスインターフェース７３０は、ライン７０４を介してプリンタグラフィックスＤＬＬ７０１に対して指示を送る。プリンタグラフィックスＤＬＬ７０１は、指示をプリンタに最適なように翻訳して、その結果をグラフィックデバイスインターフェース７３０に返す。グラフィックデバイスインターフェース７３０は、翻訳結果を印刷処理部７０２に出力する。始めに印刷処理部７０２が呼び出されたときは、印刷処理部７０２は、ＥＭＦ指示を取得する。２回目に呼び出されたときは、印刷処理部７０２は、未加工指示を受け取って、それをプリンタに出力する。以上のことから、すなわち、印刷処理部７０２が印刷ジョブを、ライン７０８を介してプリンタ７１１に供給すると言うことができる。レンダリングユーザインターフェース（ＵＩ）７１０は、印刷データの中から第１の図形インスタンスを選択するために、印刷処理部７０２と接続されている。印刷処理部７０２は、デフォルトの第１の画像レンダリングオプションが実施された印刷ジョブを生成するために、指示をプリンタグラフィックスＤＬＬ７０１に転送し、第２の画像レンダリングオプションを自動的に第１の図形インスタンスに適用する。印刷ジョブはプリンタ７１１に送信される。本発明のある態様では、第１の図形インスタンスは、第１の図形タイプとして識別される。そして、印刷処理部７０２は、プリンタグラフィックスＤＬＬ７０１に対し、印刷ジョブで識別された第１の図形インスタンスに対して第２のレンダリングオプションを適用するように指示する。なお、デフォルトのレンダリングオプションを適用するか否かについて、ユーザが選択できるようにしてもよいし、しなくてもよい。これは、特定されたドライバによって決まる。
【００８３】
DevMode構造を変更することによって、あるいは、ＥＭＦファイルを再生するときにＥＭＦコメントを組み込むことによって、印刷処理部７０２は、処理をプリンタグラフィックスＤＬＬ７０１に指示することができる。この態様では、図形インスタンスをユーザが選択できるようにプレビュー画面を容易に表示することができるユーザインターフェースにすることができる。これは、オペレーティングシステム（ＯＳ）には、画面にＥＭＦファイルを表示する機能が組み込まれているためである。
【００８４】
また、他の態様では、プリンタドライバ７００は、印刷処理部７０２がなくても動作する。例えば、プリンタグラフィックスＤＬＬ７０１は、ＥＭＦファイルに直接アクセスできるし、ＥＭＦファイルを保存できるし、ＥＭＦファイルを印刷可能なカスタムアプリケーションを開始することができる。ユーザインターフェース７１０は、プリンタグラフィックスＤＬＬ７０１またはアプリケーション７０６によって表示される。さらに他の態様では、ＥＭＦファイルは用いなくてもよい。代わりに、ユーザインターフェース７１０において、図形指示が直接キャプチャおよびレンダリングされる。プリンタグラフィックスＤＬＬ７０１が入力する指示は、ＥＭＦ指示と同一ではないので、画面上でレンダリングするためのカスタムコードが実行される。
【００８５】
図形インスタンスの概念は、図形またはオブジェクトタイプの「クラス」よりも、狭義に捉えるべきである。テキスト、写真、ビットマップなどの一般的な分類で単純に区別できる図形とは対照的に、図形インスタンスは、クラスの特定のメンバとして選択することができる。図形インスタンスは、テキストオブジェクトであってもよいし、ビジネス図形オブジェクトであってもよいし、写真オブジェクトであってもよいし、ビットマップ画像、色、色の範囲、ページ上の識別される領域、あるいは、ベクトルなどであってもよい。例えば、「写真」が図形クラスであれば、特定の写真（ここでは、写真オブジェクトと称す）は、図形インスタンスである。なお、プリンタドライバは、図形インスタンスの特定のグループに限定されない。実際には、印刷データのインスタンスをセグメント化し、識別するために、印刷処理部７０２は、図形インスタンスを生成し使用することさえできればよい。本実施形態では、図形インスタンスをユーザが選択できるようにプレビュー画面を容易に表示することができるユーザインターフェースにすることができる。これは、オペレーティングシステム（ＯＳ）には、画面にＥＭＦファイルを表示する機能が組み込まれているためである。
【００８６】
図８（ａ）〜図８（ｄ）は、図形インスタンスの例を示す図である。図８（ａ）には、テキストオブジェクトの例として、「ＳＨＡＲＰ  ＬＡＢＳ」の文字列を示す。図８（ｂ）には、ビジネス図形オブジェクトの例として、円グラフを示す。図８（ｃ）には、ページ上の識別される領域の例として、ページ右上端の角の領域を示す。例えば、ユーザは、レンダリングオプションを変更するために、この方法を用いて、ページの右上端に配置された写真を選択することができる。図８（ｄ）には、ベクトルの例として、４つの線分の集合によって定義された「ボックス」の構造を示す。
【００８７】
〔図形インスタンス識別アルゴリズム〕
図形オブジェクトタイプと図形オブジェクトインスタンスとの間には関係がある。図形オブジェクトタイプは、どのようなアルゴリズムによっても定義することができる。印刷ジョブにおいては、アルゴリズムは、当該タイプのインスタンスをＸ個検出することができる。ユーザは、Ｘ個のインスタンスのうちのＹ個に対して、様々なレンダリングプロセスを選んで適用することができる。
【００８８】
想定されるアルゴリズムとしては、互いに近い描画コマンドのサブセットを識別するアルゴリズムなどが挙げられる。例えば、それぞれ２分の１インチ以内の線、円、および、正方形などである。あるいは、各々が２分の１インチ以内でかつ均等な行間隔で配置された全テキスト図形を、１段落のまとまったテキストとして識別するアルゴリズムがあってもよい。その他のアルゴリズムとしては、ユーザが画面上に描画した長方形内に含まれる図形すべてを識別することなどが想定される。
【００８９】
上述の説明では、図形インスタンスとしての色または色の範囲を用いた特定の例について示していないが、容易にイメージすることができる。ユーザは、デフォルトでないレンダリングオプションを選択するために、写真上のある特定の色（あるいは色の範囲）を選択することができる（例えば、「ブルースカイ」など）。
【００９０】
図７の説明に戻る。プリンタドライバ７００は、さらに、印刷ジョブレンダリングテンプレート７１４を記憶するための記憶部７１２を備えている（あるいは、プリンタドライバを記録媒体読み取り可能に設けてもよい）。印刷ジョブレンダリングテンプレート７１４は、選択された第１の図形インスタンスに対する第２の画像レンダリングオプションを含んでいる。印刷処理部７０２が、一連の印刷データを受け付けて、かつ、ユーザインターフェース７１０が、記憶部７１２からテンプレート７１４を選択した場合、印刷処理部７０２は、選択された印刷ジョブレンダリングテンプレートに応じて上記一連の印刷データの印刷ジョブを生成する（印刷ジョブを生成するよう指示をプリンタグラフィックスＤＬＬ７０１に送る）。例えば、後に同じジョブがプリンタに送られた場合に、元のジョブにかつて適用されたレンダリングオプションがテンプレートとして保存されている場合には、そのオプションを再利用することができる。上記一連の印刷ジョブが元のものとは異なっていたとしても、例えば写真などの図形インスタンスを識別するのに上記テンプレートを利用することができ、上記と同じレンダリングオプションを適用することができる。
【００９１】
選択された図形インスタンスに適用できる画像レンダリングオプションの例としては、網点階調化、カラーマネジメント、墨入れ、下色除去、フィルタ、色調整、セグメンテーションベースのレンダリングアルゴリズム、などが挙げられる。しかし、プリンタドライバ７００における画像レンダリングオプションは、上述の特定のものに限定されない。その他従来のレンダリングアプリケーションを適用することも可能である。ある態様では、ユーザインターフェース７１０は、印刷データをプレビュー表示して、図形インスタンスを識別するためのディスプレイ７２０を含んでいてもよい。
【００９２】
例えば、ＣＭＹ（シアン／マゼンタ／イエロー）の重ね刷りでは、常に十分な濃度のインクで影を印刷することができるとは限らない。影の部分の色合いの幅を広げるためには、ブラックを追加すればよい。ブラックは、下色除去（ＵＣＲ；undercolor removal）、または、グレイ置換（ＧＣＲ；gray component replacement）を行って追加することができる。
【００９３】
網点階調化のステップは、密集したピクセルは連続して１色に見えるという錯覚を利用して、一連の色（グレイスケール）または４色（カラー）を用いて行う画像印刷のプロセスということができる。すなわち、連続した色を、ピクセルを密集させるほど暗く見せるという方法で再現することができる。
【００９４】
カラーマネジメントは、正確な結果を得るために特定の代表色に変換するプロセスである。このような変換のプロセスは、たいてい、入力装置および出力装置の特性に応じて必要になる。したがって、印刷されたドキュメントにおいて、スキャンするときのドキュメントにおいて見える色と同じ色を得るためには、モニタで見えている色と同じ色で印刷されるようにユーザが選べばよい。この場合、モニタおよびプリンタプロファイルに対してカラーマネジメントが実行される。
【００９５】
図９は、図形インスタンスメニューのユーザインターフェース（ＵＩ）の例を示す図である。レンダリングユーザインターフェースは、ディスプレイに、ユーザインターフェース図形インスタンスメニュー９００を表示させることができる。図形インスタンスメニュー９００は、図形インスタンスのリスト９０２にアクセスするためのものである。例えば、マウスやキーボードなどを用いて、リスト９０２から図形インスタンスを選択するために図形インスタンスメニュー９００を利用することができる。さらに、図形インスタンスメニュー９００は、画像レンダリングオプションのリスト９０４にアクセスするために、また、第１の図形インスタンスに関連付けられた画像レンダリングオプションをリスト９０４から選択するために利用することができる。
【００９６】
図１０は、図形インスタンスメニューのユーザインターフェース（ＵＩ）の他の例を示す図である。図１０に示すとおり、レンダリングユーザインターフェース表示メニューは、印刷ジョブページ番号ごとに区分された図形インスタンスの階層的概要１０００を示している。
【００９７】
プリンタドライバの他の変形例では、ビットマップ画像は、印刷ジョブのページ番号または順序によって区分されてもよい。テキストデータは、印刷ジョブのページ番号、フォント、または、サイズによって区分されてもよい。ベクトルは、印刷ジョブのページ番号、形、サイズ、フォント、印刷ジョブページ上の位置、または、ベクトルによる閉じられた形で定義される領域などによって区分されてもよい。
【００９８】
他の態様では（図７参照）、追加されるプリンタドライバの機能性がグラフィックデバイスインターフェース７３０に関連付けられている。グラフィックデバイスインターフェース７３０は、任意の問合せをプリンタドライバ７００（すなわち、ライン７０４上のプリンタグラフィックスＤＬＬ７０１か、または、ライン７３２上の印刷処理部７０２かのいずれか）に送る。上記態様では、レンダリングユーザインターフェース７１０は、グラフィックデバイスインターフェース７３０に組み込まれており（あるいは、図７に示すとおり、ライン７３２を介して接続されており）、プリンタドライバによって記述された印刷オプションを表示する。上述したとおり、ディスプレイ７２０は、図形インスタンスのリスト、および、画像レンダリングオプションのリストを表示する。ディスプレイ７２０に表示されるメニューは、選択された図形インスタンスに関連付ける画像レンダリングオプションを上記リストから選択するために用いる。グラフィックデバイスインターフェース７３０は、選択された図形インスタンスおよび画像レンダリングオプションをプリンタドライバ７００に送る。すなわち、ライン７０４を介してプリンタグラフィックスＤＬＬ７０１に送るか、あるいは、ライン７３２を介して印刷処理部７０２に送る。アプリケーションの変形例としては、選択されたインスタンスおよびレンダリングオプションは、印刷データに組み込まれてもよい。あるいは、アプリケーションが図形インスタンスの問合せを、グラフィックデバイスインターフェース７３０を介してドライバに送るようにしてもよい。
【００９９】
〔機能説明〕
本発明によれば、ユーザは、ドキュメントに含まれるさまざまな１または複数の図形インスタンスを容易に識別することが可能となる。また、各図形インスタンスに対して好みの画像レンダリングオプション（網点階調化および／またはカラーマッチング）を選択でき、各インスタンスに選択されたレンダリングオプションにしたがってドキュメントを印刷することが可能となる。従来の特定のアプリケーションでも、ＩＣＣプロファイルやポストスクリプトレンダリングなどの機能の集合に限って、個々の図形インスタンスに対してレンダリングオプションを適用することは可能であった。しかし、これらのタイプのレンダリングオプションは、プリンタドライバやオペレーティングシステムで利用することはできなかった。本発明によれば、ホストコンピュータのプリンタドライバと連動するインクジェットカラープリンタなどの印刷システムにおいて、デフォルトの網点階調化技術およびデフォルトカラーマッチングマップに、選択されたレンダリングオプションを追加することができる。
【０１００】
図１１は、図形インスタンスに適用するレンダリングオプションを決定するためのダイアログボックスまたはメニューの例を示す図である。ある態様では、ユーザは、プレビューせずに、インスタンスおよびプリンタドライバにおける好みのレンダリングについて記述する。記述の方法としては、テキスト入力（つまり、テキストファイルの入力やダイアログボックスへのテキスト入力など）、チェックボックス、リスト、ラジオボタンなどからの入力の組み合わせ、などが挙げられる。このような方法は、あまり直感的ではないが、実施しやすく、かつ、自動化しやすいというメリットがある。
【０１０１】
「カラーオブジェクトタイプと追加オプション」のリストボックスの下方には、ビットマップ画像、テキストデータ、および、ベクトルのデフォルトの設定が含まれている（デフォルトの項目には、頭に「Remaining」がついている）。このダイアログによれば、ユーザは、上記デフォルトの３項目に対して、オプションを追加したことが分かる。つまり、上書きされるオブジェクトとは、１番目の項目のビットマップ１〜３、２番目の項目の第６テキスト項目、３番目の項目のベクトル２，７，９である。ユーザがリストボックスにおいて項目を選択すると、ダイアログボックスの残りのフィールド全部に対して、選択された項目の設定を反映して更新が行われる。上記設定には、「カラーマネジメント」および「その他」における設定も含まれる。このように、プリンタドライバ７００により、ユーザは、自身が選択した追加オプションについて目で見て確認することができる。
【０１０２】
「追加」ボタンを押下することにより、リストボックスに項目を追加することができる。「削除」ボタンを押下することにより、追加するべきオプションを削除することができる（デフォルト設定が選択されたときに、オプションを無効にすることができる）。追加すべきオプションが選択されると、下方の編集可能なフィールドにテキストデータが表示される。「更新」ボタンを押下することにより、リストボックスにおいて選択された項目の更新が行われる。
【０１０３】
他の態様では、テキストデータがダイアログボックスの大きいフィールドに表示されてもよいし、あるいは、ダイアログボックスがファイル名を含むフィールドであってもよい。テキストデータの具体例としては、以下の記載が挙げられる。
（網点階調）
デフォルト＝閾値配列１６×１６
誤差拡散＝画像１（ページ２）、画像５（ページ４）
閾値配列２４×２４＝画像２（ページ２）、段落５テキスト（ページ３）
（カラーマネジメント）
デフォルト＝ＳｈａｒｐＡＲ３３、比色分析
ＳｈａｒｐＡＲ３３、スタンダード＝画像２（ページ２）、段落５テキスト（ページ３）
別の態様では、印刷ダイアログに、ジョブレンダリングテンプレートテキストのファイル名が含まれていてもよい。テキストファイルは、選択された図形インスタンスおよび対応するレンダリングオプションを含んでいる。
【０１０４】
さらに別の態様では、印刷出力結果のプレビューが画面に表示されるようにしてもよい。これにより、ユーザは、直感的に特定のインスタンスおよびそれに対するレンダリングを選択することができる。
【０１０５】
またある態様では、別のアプリケーションが、ユーザが個々のインスタンスに対するレンダリングを選択できるように、ドライバプレビューを生成してもよい。設定は、データベース（レジストリまたは内部データベース）に保存されている。ドライバは、次回も当該ドライバが利用されるように、そして、同じ図形インスタンスがどんなドキュメントからでも印刷されるように、要素が保存されている設定を有しているか否かを認識し、保存された設定を利用する。
【０１０６】
ビットマップ画像は、ユーザにより特殊な追加オプションが選択されることによりメリットがある図形インスタンスである。例えば、網掛けを解除する必要がある写真を含むパンフレットをユーザが印刷する場合、当該写真用の網掛け解除オプションを選択するためのプレビュー画面を利用してもよい。ドライバは、オブジェクトを認識し、それが、当該ドライバによって印刷される、当該ドキュメントまたは他のいずれかのドキュメントに含まれているか否かを識別するための十分な情報をデータベース内に記憶している。上記態様によれば、ユーザは、特定のビットマップ画像に対する特殊なレンダリングを選択することができる。これにより、どのようなドキュメントが印刷されるのかにかかわらず、そのドキュメントが特定のビットマップ画像を含んでいれば、当該ビットマップ画像には常に同じレンダリングが適用される。設定としては比較のために画像オブジェクト全体をそのまま保存してもよいし、あるいは、ビットマップ画像のより細かな特性（例えば、チェックサムやいくつかのピクセルの連続）を保存しておいてもよい。
【０１０７】
他の態様では、プリンタドライバにレンダリングオプションを問合せるオペレーティングシステムが印刷プレビューを表示するようにしてもよい。これにより、ユーザは、レンダリングオプションを選択することができる。そして、上記オペレーティングシステムは、その設定をアプリケーションまたはドライバに転送する。これにより、ユーザは、さまざまなプリンタの特殊なレンダリングオプションを、オペレーティングシステムのスタンダードの印刷プレビュー範囲内で選択することができる。
【０１０８】
さらに他の態様では、アプリケーションがドライバにレンダリングオプションの問合せを行うようにしてもよい。これにより、ユーザは、ドキュメントの図形インスタンスにオプションを関連付けることができる。アプリケーションは、図形インスタンスごとにドライバ用の特殊レンダリングオプションをドキュメントの形式のままで保存することができる。その次に、ユーザが上記ドキュメントに対して作業を行うと、上記レンダリングオプションが再び適用される。
【０１０９】
図１２は、画像ドライバソフトウェアアプリケーションにおける、図形インスタンスに対して選択的にレンダリングを実行するレンダリング処理の流れを示すフローチャートである。図１２に示す方法の各ステップには、理解を助けるために、一連の数字を付しているが、これらの数字は、各ステップの実行順序を意味するものではない。ステップの一部は、スキップされたり、並行で実行されたり、あるいは、図１２に示す順序を厳密に守らずに実行されたりしてもよい。レンダリング処理はステップ１２００から開始する。
【０１１０】
印刷処理部７０２は、グラフィックデバイスインターフェース７３０を介して、ソフトウェアアプリケーション７０６から、図形インスタンスを少なくとも一つ含む画像データを受け付ける（ステップ１２０２）。例えば、プリントドライバは、ソースドキュメント処理アプリケーションから印刷データを受け付ける。このときの印刷データのフォーマットとしては、例えば、オペレーティングシステム用図形（ＧＤＩ）、オペレーティングシステムプリンタ図形（ＤＤＩ）、ドキュメント処理アプリケーションのファイル形式、および、ＴＩＦＦ、ＰＤＦ、ＢＭＰ形式の図形ファイルなどが挙げられる。印刷処理部７０２は、デフォルトの第１の画像レンダリングオプションを上記受け付けた画像に適用する（ステップ１２０４）。次に、印刷処理部７０２は、上記受け付けた画像データの中から第１の図形インスタンスを選択する（ステップ１２０６）。そして、印刷処理部７０２は、上記選択された第１の図形インスタンスに対して、上記選択された第２の画像レンダリングオプションを選択する（ステップ１２０８）。印刷処理部７０２は、第１および第２の画像レンダリングオプションを含む画像ジョブを生成する（ステップ１２１０）。例えば、印刷処理部７０２は、専用のラスタ形式、ＰＤＬ、ＰＣＬＸＬ、または、ＰＳなどの形式で、第１および第２画像レンダリングオプションを含む印刷ジョブを生成してもよい。
【０１１１】
ある態様では、上記第１および第２の画像レンダリングオプションを含む画像ジョブを生成するステップ１２１０は、サブステップ１２１０ａ〜ｃ（図示せず）を含んでいてもよい。印刷処理部７０２は、第１の図形インスタンスに適用されたデフォルトの第１の画像レンダリングオプションを有する印刷ジョブを生成してもよい（ステップ１２１０ａ）。そして、第１の図形インスタンスに適用するための上記第２の画像レンダリングオプションを、ファイルにして印刷ジョブに付加して送信する（ステップ１２１０ｂ）。あるいは、第１の図形インスタンスに適用するための上記第２の画像レンダリングオプションを、続いて起こる印刷データサブミッションに対する指示のファイルとして、ソースドキュメント処理アプリケーションに送信してもよい（ステップ１２１０ｃ）。
【０１１２】
なお、ステップ１２０２にて受け付ける、画像データが含む図形インスタンスとしては、例えば、テキストオブジェクト、ビジネス図形オブジェクト、写真オブジェクト、ビットマップ画像、色、色の範囲、ページ上の識別される領域、あるいは、ベクトルなどが挙げられる。これらの図形インスタンスの詳細については上述したとおりである。
【０１１３】
ある態様では、印刷処理部７０２は、第１の図形インスタンスを、第１の図形タイプとして識別してもよい（ステップ１２０９）。これにより、識別された第１の図形タイプに応じて、印刷処理部７０２は、第１の図形タイプを識別する度に、ステップ１２１０において、該図形タイプに対して自動的に第２の画像レンダリングオプションを適用することが可能となる。
【０１１４】
ある別の態様では、印刷処理部７０２は、ステップ１２１０にて、印刷ジョブレンダリングテンプレートを追加で生成してもよい。これにより、印刷処理部７０２は、次の印刷データを受け付けて（ステップ１２１２）、印刷ジョブレンダリングテンプレートを含む上記次の印刷データのための印刷ジョブを生成する（ステップ１２１４）。
【０１１５】
さらに他の態様では、印刷処理部７０２は、上記選択された第１の図形インスタンスに対して適用する第２の画像レンダリングオプションを選択してもよい（ステップ１２０７）。上述したとおり、レンダリングオプションの具体例としては、網点階調化、カラーマネジメント、墨入れ、下色除去、フィルタ、色調整、および、セグメンテーションベースのレンダリングアルゴリズム、などが挙げられる。
【０１１６】
他の態様では、印刷データから第１の図形インスタンスを選択するステップ１２０６は、サブステップ１２０６ａ〜ｃ（図示せず）を含んでいてもよい。印刷処理部７０２は、ユーザインターフェース７１０を介して、ディスプレイ７２０にプレビュー表示するための印刷データを出力する（ステップ１２０６ａ）。印刷処理部７０２は、ユーザインターフェース７１０を介して入力される信号を受け付けて、画面に表示された図形インスタンスを識別する（ステップ１２０６ｂ）。印刷処理部７０２は、ユーザインターフェース７１０を介して入力される信号を受け付けて、識別された図形インスタンスを第１の図形インスタンスとして選択する（ステップ１２０６ｃ）。
【０１１７】
さらに他の態様では、上述のステップ１２０６は、別のサブステップ１２０６ｄ、ｅ（図示せず）を含んでいてもよい。印刷処理部７０２は、ユーザインターフェース７１０を介して、ディスプレイ７２０に、図形インスタンスのリストにアクセスするための、ユーザインターフェース図形インスタンスメニューを表示させてもよい（ステップ１２０６ｄ）。このプロセスは、受け付けた画像データに含まれる図形インスタンスをセグメント化したり、識別したりする前処理ステップを含んでいてもよい。次に、印刷処理部７０２は、上記メニューからユーザにより選択された図形インスタンスに基づいて、上記リストから第１の図形インスタンスを選択する（ステップ１２０６ｅ）。続いて、選択された第１の図形インスタンスに適用する第２の画像レンダリングオプションを選択するためのステップ１２０７は、サブステップ１２０７ａ、ｂ（図示せず）を含んでいてもよい。印刷処理部７０２は、ユーザインターフェース７１０を介してディスプレイ７２０に、ユーザインターフェースレンダリングメニューを表示して、ユーザインターフェース７１０を介して受け付けた入力信号に応じて、画像レンダリングオプションのリストにアクセスする（ステップ１２０７ａ）。印刷処理部７０２は、上記第１の図形インスタンスに関連付けるための第２の画像レンダリングオプションを、上記アクセスしたリストから選択する（ステップ１２０７ｂ）。
【０１１８】
さらに他の変形例では、印刷データから第１の図形インスタンスを選択するステップは、印刷ジョブのページ番号により区分されるセグメント化された図形インスタンスの階層的概要を表示するユーザインターフェースにアクセスするステップを含んでいてもよい。あるいは、ステップ１２０６において、印刷処理部７０２は、以下に記す図形インスタンスを表示するユーザインターフェースにアクセスしてもよい。上記図形インスタンスとは、すなわち、印刷ジョブのページ番号または順序によって区分されるビットマップ画像、印刷ジョブのページ番号、フォント、または、サイズによって区分されるテキストデータ、印刷ジョブのページ番号、形、サイズ、フォント、印刷ジョブページ上の位置、または、ベクトルによる閉じられた形で定義される領域などによって区分されるベクトルなどである。
【０１１９】
別の態様では、ステップ１２０６は、印刷処理部７０２が、デフォルトのレンダリングオプションを持つ図形インスタンスを参照するダイアログボックスを、ユーザインターフェース７１０を介してディスプレイ７２０にプレビュー表示させるステップを含んでいてもよい。そして、ステップ１２０７において、印刷処理部７０２は、ユーザインターフェース７１０を介して、ダイアログボックスに対して入力される信号を受け付けて、デフォルトのレンダリングオプションからの変更を行い、第１の図形インスタンスに適用するための第２のレンダリングオプション選択する。
【０１２０】
あるいは、ステップ１２０６は、図示しない別のサブステップのセットを含んでいてもよい。すなわち、ステップ１２０６ｆでは、印刷処理部７０２は、オペレーティングシステムまたは第１の印刷データを受け付けるプリントドライバに関連付けられたアプリケーションからの問合せを受け付ける。ステップ１２０６ｇでは、印刷処理部７０２は、オペレーティングシステムのユーザインターフェースを介して、ディスプレイ７２０に図形インスタンスのリストを表示する。ステップ１２０６ｈでは、印刷処理部７０２は、上記リストから第１の図形インスタンスを選択する。次に、ステップ１２０７は、以下の図示しないいくつかのサブステップを含んでいてもよい。すなわち、ステップ１２０７ｃでは、印刷処理部７０２は、オペレーティングシステムのユーザインターフェースを介して、ディスプレイ７２０に画像レンダリングオプションのリストを表示する。ステップ１２０７ｄでは、印刷処理部７０２は、上記第１の図形インスタンスに関連付けるための第２の画像レンダリングオプションを上記リストから選択する。ステップ１２０７ｅでは、印刷処理部７０２は、上記図形インスタンスおよび選択した画像レンダリングオプションの情報を、プリントドライバに送る。
【０１２１】
さらに別の変形例では、ステップ１２０６は、図示しないさらに別のサブステップのセットを含んでいてもよい。すなわち、ステップ１２０６ｉでは、印刷処理部７０２は、ユーザインターフェース７１０を介して、図形インスタンスおよびレンダリングオプションのリストを含むテーブルをディスプレイ７２０に表示して、該テーブルを選択する。ステップ１２０６ｊでは、印刷処理部７０２は、上記リストから第１の図形インスタンスを選択する。そして、ステップ１２０７では、上記選択された図形インスタンスとレンダリングオプションとを相互参照する。
【０１２２】
〔クライアント装置６００の構成〕
図１３は、図形インスタンスに対して選択的にレンダリングを実行するクライアント装置（レンダリング装置）６００の要部構成を示すブロック図である。図１３に示すクライアント装置６００は、図７に示すクライアント装置６００をより詳細に示したものである。したがって、図１３の各構成要素に付された符号は、図７の各構成要素に付された符号に対応しており、同じ符号は、同じ構成要素を示している。よって、すでに説明した構成要素についての説明は繰り返さない。
【０１２３】
クライアント装置６００は、プリンタ７１１、記憶部７１２、ディスプレイ７２０、および、操作部７４０を備えている。そして、当該クライアント装置６００を、図形インスタンスに対して選択的にレンダリングを実行するレンダリング装置として動作させるために、クライアント装置６００の各部を統括制御するプリンタドライバ７００を備えている。
【０１２４】
操作部７４０は、ユーザがクライアント装置６００を操作するための指示信号を入力するものであり、例えば、上述したとおり、クライアント装置６００に有線あるいは無線で接続された、マウスやキーボードなどで構成されている。操作部７４０を用いてユーザにより入力された指示信号は、ユーザインターフェース７１０を介して、プリンタドライバ７００の各部（特に、印刷処理部７０２）に送られる。これにより、ユーザはクライアント装置６００を操作することが可能となる。
【０１２５】
記憶部７１２は、印刷データ記憶部７１３、テンプレート記憶部７１４、図形インスタンスリスト記憶部７１５、および、レンダリングオプションリスト記憶部７１６を含んでいる。
【０１２６】
印刷データ記憶部７１３は、印刷処理部７０２が、グラフィックデバイスインターフェース７３０を介してアプリケーション７０６から受け付けた印刷データを記憶するものである。テンプレート記憶部７１４は、上述の印刷ジョブレンダリングテンプレート（図７）を記憶するものである。図形インスタンスリスト記憶部７１５は、印刷データに含まれ、識別された図形インスタンスの情報を一覧にした図形インスタンスリストを記憶するものである。レンダリングオプションリスト記憶部７１６は、印刷データの図形インスタンスに適用すべき、デフォルトの第１の画像レンダリングオプションおよび／または第２の画像レンダリングオプションの情報を一覧にしたレンダリングオプションリストを記憶するものである。各レンダリングオプションは、識別された図形インスタンスに関連付けて記憶されている。
【０１２７】
プリンタドライバ７００のユーザインターフェース７１０は、より詳細には、表示制御部７０３および選択受付部７０５を備えている。
【０１２８】
表示制御部７０３は、印刷処理部７０２の指示にしたがって、ディスプレイ７２０を制御して、記憶部７１２に記憶される各種データを表示するものである。より具体的には、表示制御部７０３は、印刷データ記憶部７１３に記憶された印刷データをディスプレイ７２０に表示したり、図形インスタンスリスト記憶部７１５に記憶された上述の図形インスタンスのリスト９０２あるいは図形インスタンスの階層的概要１０００を表示したり、レンダリングオプションリスト記憶部７１６に記憶された上述の画像レンダリングオプションのリスト９０４を表示したりする。さらに、表示制御部７０３は、ユーザが、クライアント装置６００を操作して、図形インスタンスやレンダリングオプションを選択するための、ＧＵＩ（graphical user interface）画面（上述の、図形インスタンスメニュー９００および図１１に示すダイアログボックスなど）をディスプレイ７２０に表示する。
【０１２９】
選択受付部７０５は、ディスプレイ７２０に表示された上述のＧＵＩ画面に対して、ユーザが操作部７４０を用いて選択した内容を信号として受け付けて、印刷処理部７０２に伝達するものである。あるいは、操作部７４０を用いて入力されたテキストの信号を、テキストデータとして印刷処理部７０２に伝達してもよい。これにより、印刷処理部７０２は、選択受付部７０５を介して、ユーザが何を選択したか（何を図形インスタンスとして特定したか、どの図形インスタンスを選択したか、デフォルトの第１画像レンダリングオプション適用するか否か、選択された図形インスタンスにどの第２画像レンダリングオプションを適用するか、など）を検知することが可能となる。
【０１３０】
プリンタドライバ７００の印刷処理部７０２は、より詳細には、図形インスタンス識別部７２１、図形インスタンス選択部７２２、第１レンダリング処理部７２３、第２レンダリングオプション選択部７２４、および、第２レンダリング処理部７２５を含んでいる。
【０１３１】
図形インスタンス識別部７２１は、アプリケーション７０６から供給された印刷データに含まれる図形インスタンスを識別するものである。図形インスタンス識別部７２１は、識別した図形インスタンスの情報を図形インスタンスリスト記憶部７１５の記憶する。記憶された図形インスタンスの情報は、表示制御部７０３が、図形インスタンスリスト（例えば、図９の図形インスタンスのリスト９０２や、図１０の図形インスタンスの階層的概要１０００など）を表示するときに利用される。
【０１３２】
図形インスタンスを識別する手順については、上記の〔図形インスタンス識別アルゴリズム〕の項で説明したのでここでは繰り返さない。なお、印刷データがディスプレイ７２０に表示された場合、ユーザが操作部７４０を用いて図形インスタンスを特定することができる。すなわち、選択受付部７０５が受け付けたユーザ操作に応じて、図形インスタンス識別部７２１が当該印刷データの図形インスタンスを識別してもよい。
【０１３３】
図形インスタンス選択部７２２は、画像レンダリングオプションを適用する対象となる図形インスタンスを図形インスタンスリスト記憶部７１５から選択するものである。図形インスタンス選択部７２２は、ディスプレイ７２０に表示された図形インスタンスのうち、ユーザにより選択された図形インスタンスを、選択受付部７０５を介して特定して、第１の図形インスタンスとして選択する。
【０１３４】
第１レンダリング処理部７２３は、上記選択された第１の図形インスタンスに対して、テンプレート記憶部７１４またはレンダリングオプションリスト記憶部７１６にあらかじめ記録されている第１の画像レンダリングオプションを選択して適用するものである。この第１の画像レンダリングオプションは、図形インスタンスに対応付けてあらかじめ記憶されており、選択された図形インスタンスに応じて第１レンダリング処理部７２３が適用すべき第１の画像レンダリングオプションを特定すればよい。また、上述したとおり、このデフォルトの第１の画像レンダリングオプションを適用するか否かあるいはどれを適用するかなどを問合せるダイアログを、表示制御部７０３がディスプレイ７２０に表示してもよい。そして、第１レンダリング処理部７２３は、選択受付部７０５を介して受け付けたユーザの選択内容に応じて、適用すべき第１の画像レンダリングオプションを選択して、上記図形インスタンスに適用する。
【０１３５】
第２レンダリングオプション選択部７２４は、図形インスタンス選択部７２２が選択した図形インスタンスに対して適用すべき第２の画像レンダリングオプションを選択するものである。
【０１３６】
さらに、第２レンダリングオプション選択部７２４は、図形インスタンスに適用する候補となる第２の画像レンダリングオプションをレンダリングオプションリスト記憶部７１６から抽出して、候補となる第２の画像レンダリングオプションの情報を表示制御部７０３に供給する。これにより、表示制御部７０３は、ディスプレイ７２０に、図形インスタンスに適用する候補となる第２の画像レンダリングオプションのリストを表示することが可能となる。
【０１３７】
上述したとおり、ユーザがディスプレイ７２０に表示されたレンダリングオプションリストから、所望の第２の画像レンダリングオプションを選択すると、第２レンダリングオプション選択部７２４は、選択受付部７０５を介して、ユーザ所望の第２の画像レンダリングオプションを選択する。
【０１３８】
第２レンダリング処理部７２５は、第２レンダリングオプション選択部７２４が選択した第２の画像レンダリングオプションを上記図形インスタンスに適用するものである。
【０１３９】
上記構成によれば、印刷処理部７０２は、印刷データを受け付けると、該印刷データに含まれる図形インスタンスを（場合によっては、ユーザインターフェース７１０を介して入力される、ユーザが特定した図形インスタンスを）識別する。そして、画像レンダリングオプションを適用する候補となる図形インスタンスを、ユーザインターフェース７１０を介してディスプレイ７２０に表示する（図形インスタンスのリスト９０２）。
【０１４０】
ユーザにより、上記リストの中からレンダリング処理対象となる図形インスタンスが選択されると、印刷処理部７０２は、ユーザインターフェース７１０を介してユーザ所望の図形インスタンスを検知し選択する。
【０１４１】
続いて、印刷処理部７０２は、選択された図形インスタンスに基づいて、当該図形インスタンスに適用可能な、第２の画像レンダリングオプションの候補をレンダリングオプションリスト記憶部７１６より抽出して、それを、ユーザインターフェース７１０を介してディスプレイ７２０に表示する（第２の画像レンダリングオプションのリスト９０４）。
【０１４２】
ユーザにより、上記リストの中から適用すべき第２の画像レンダリングオプションが選択されると、印刷処理部７０２は、ユーザインターフェース７１０を介してユーザ所望の第２の画像レンダリングオプションを検知し選択する。
【０１４３】
これにより、印刷処理部７０２は、ユーザが選択した図形インスタンスに対して、適用することのできる第２の画像レンダリングオプションのうち、ユーザが所望する第２の画像レンダリングオプションを上記図形インスタンスに適用して、印刷ジョブを生成することが可能となる。
【０１４４】
以上のことから、図形インスタンスに応じて、ユーザの嗜好により合致したレンダリング処理を施すことが可能となる。
【０１４５】
特許文献３には、レンダリングすべきオブジェクト指向画像データを分類し、すでにレンダリングすべきオブジェクトに割り当てられた第１水準のオブジェクトタイプと関連した複数の可能な第２水準オブジェクトタイプの１つを割り当てるステップとから成る方法、および、割り当てられたオブジェクトタイプに基づいてレンダリング特徴を生成するステップと、レンダリング特徴に基づきレンダリングするステップとを含む方法が開示されている。
【０１４６】
しかしながら、特許文献３の方法では、すでに適用されている第１水準のオブジェクトタイプと関連した第２水準オブジェクトタイプのみが割り当てられることになり、したがって、そのように割り当てられたオブジェクトタイプにしたがってレンダリングが行われる。
【０１４７】
つまり、ユーザが所望のレンダリングオプションを選択するという機会が提供されないために、ユーザの意図しないレンダリングが行われ、そのために、ユーザの嗜好に合致したレンダリング処理を施すことができないという問題があった。
【０１４８】
しかし、本発明のクライアント装置６００によれば、印刷処理部７０２は、ユーザインターフェース７１０を介して、第２の画像レンダリングオプションの候補を表示し、ユーザの選択を受け付けることができるので、ユーザの嗜好により合致したレンダリング処理を施すことが可能となる。
【０１４９】
特定の図形インスタンスに対して選択的にレンダリングオプションを適用するためのシステムおよび方法について説明してきた。理解しやすいように、実例として主にプリンタドライバの話を用いて本発明を説明してきたが、本発明は、この例に限定されない。本発明は、ディスプレイに表示された画像データが印刷されようが、されまいが、いずれの画像レンダリングプロセスにも適用することが可能である。また、当業者において適宜なし得る、本発明の他の変形例および実施形態についても本発明の技術的範囲に含まれる。
【０１５０】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１５１】
最後に、クライアント装置６００が備えるプリンタドライバ７００の各ブロック、特に印刷処理部７０２およびユーザインターフェース７１０は、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【０１５２】
すなわち、プリンタドライバ７００は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるプリンタドライバ７００の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記プリンタドライバ７００に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１５３】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０１５４】
また、プリンタドライバ７００を通信ネットワークと接続可能に構成し、上記プログラムコードを、通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【０１５５】
コピー機、多機能周辺機器（ＭＦＰ；multifunctional peripheral）、または、ファクシミリ装置が、図形インスタンスを見分けることできる、セグメントまたは画像の解析メカニズム有している場合に、本発明を上述の各装置に適用することができる。さらに一般的には、本発明は、いかなるタイプの画像処理アプリケーションにおいても、図形インスタンスに対し、カスタマイズされたレンダリングオプションを適用することが可能となる。
【図面の簡単な説明】
【０１５６】
【図１】従来技術を示すものであり、未加工のスプールファイルを用いた、従来の印刷オペレーションのシステム構成を示すブロック図である。
【図２】従来技術を示すものであり、スプーラサブシステムの構成を示すブロック図である。
【図３】従来技術を示すものであり、Windows（登録商標）ＥＭＦデータの印刷オペレーションのシステム構成を示すブロック図である。
【図４】従来技術を示すものであり、Windows（登録商標）ＥＭＦデータの印刷オペレーションのシステム構成を示すブロック図である。
【図５】従来技術を示すものであり、Microsoft Windows （登録商標）NTおよび2000における印刷オペレーションのシステム構成を示すブロック図である。
【図６】従来技術を示すものであり、Windows （登録商標）2000の印刷プロセスを示す図である。
【図７】図形インスタンスに対して選択的にレンダリングを実行するプリンタドライバソフトウェアアプリケーションの構成を模式的に示すブロック図である。
【図８】（ａ）〜（ｄ）は、図形インスタンスの例を示す図である。
【図９】図形インスタンスメニューのユーザインターフェース（ＵＩ）の例を示す図である。
【図１０】図形インスタンスメニューのユーザインターフェース（ＵＩ）の他の例を示す図である。
【図１１】図形インスタンスに適用するレンダリングオプションを決定するためのダイアログボックスまたはメニューの例を示す図である。
【図１２】画像ドライバソフトウェアアプリケーションにおける、図形インスタンスに対して選択的にレンダリングを実行するレンダリング処理の流れを示すフローチャートである。
【図１３】図形インスタンスに対して選択的にレンダリングを実行するクライアント装置（レンダリング装置）の要部構成を示すブロック図である。
【符号の説明】
【０１５７】
６００  クライアント装置（レンダリング装置）
７００  プリンタドライバ
７０２  印刷処理部（印刷処理手段）
７０３  表示制御部（表示制御手段）
７０５  選択受付部（選択受付手段）
７０６  アプリケーション（ソフトウェアアプリケーション／ソースドキュメント処理アプリケーション）
７１０  ユーザインターフェース（レンダリングユーザインターフェース）
７１１  プリンタ
７１２  記憶部
７１３  印刷データ記憶部
７１４  テンプレート記憶部
７１５  図形インスタンスリスト記憶部
７１６  レンダリングオプションリスト記憶部
７２０  ディスプレイ
７２１  図形インスタンス識別部
７２２  図形インスタンス選択部
７２３  第１レンダリング処理部
７２４  第２レンダリングオプション選択部
７２５  第２レンダリング処理部
７３０  グラフィックデバイスインターフェース
７４０  操作部
【図１】
2007073043.tif 000003
【図２】
2007073043.tif 000004
【図３】
2007073043.tif 000005
【図４】
2007073043.tif 000006
【図５】
2007073043.tif 000007
【図６】
2007073043.tif 000008
【図７】
2007073043.tif 000009
【図８】
2007073043.tif 000010
【図９】
2007073043.tif 000011
【図１０】
2007073043.tif 000012
【図１１】
2007073043.tif 000013
【図１２】
2007073043.tif 000014
【図１３】
2007073043.tif 000015