(57)【特許請求の範囲】
【請求項１】
画像形成デバイスが画像を形成するための出力画像データを供給する、コンピュータ上で実行されるデバイスドライバであって、
前記コンピュータを
前記出力画像データの基となる描画データを取得する描画データ取得手段と、
前記描画データ取得手段によって取得された前記描画データから第１のイメージデータを生成するイメージデータ生成手段として機能させる、汎用のオペレーションシステムで提供されるユニバーサルドライバを備え、
前記コンピュータを
前記画像形成デバイスに対応する第１の解像度および階調数を記憶するデバイス情報記憶手段、
ユーザの入力に応じて、予め記憶された、前記第１の解像度よりも高い複数の解像度のうちの１つを第２の解像度として選択させる解像度選択手段、
前記イメージデータ生成手段が生成する前記第１のイメージデータの解像度として、前記解像度選択手段によって選択された前記第２の解像度を前記デバイス情報記憶手段に記憶させる解像度設定手段、
前記イメージデータ生成手段によって生成された前記第１のイメージデータを、前記デバイス情報記憶手段に記憶された前記第２解像度および前記階調に基づいて第２のイメージデータに変換するイメージデータ変換手段、
前記イメージデータ変換手段によって変換して得られた前記第２のイメージデータを前記出力画像データとして前記画像形成デバイスに出力する出力手段として機能させることを特徴とするデバイスドライバ。
【請求項２】
前記解像度設定手段は、前記第１の解像度に２以上の整数を乗じた解像度を、前記第２の解像度として設定することを特徴とする請求項１に記載のデバイスドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成デバイスが画像を形成するための出力画像データを供給するデバイスドライバに関する。
【背景技術】
【０００２】
近年、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）に代表される汎用のオペレーティングシステム（以下、ＯＳという）の普及に伴い、ユニバーサルドライバと呼ばれるサブルーチン群がＯＳで提供されるようになった。ユニバーサルドライバは、プリンタ、ディスプレイ等の周辺機器（デバイス）の種類毎に提供され、異なるデバイス間でも共通して利用することができる。ユニバーサルドライバでサポートされないデバイス独自の処理部分はミニドライバと呼ばれ、ユニバーサルドライバとは別に、デバイス開発者によって提供されるものである。例えば、特許文献１に開示されているユニバーサルドライバを用いた印刷システムでは、ミニドライバにより、描画データのスプールファイルのサイズを小さくする処理が行われている。
【特許文献１】特開２００５−１４８９５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ユニバーサルドライバ自体は、異なるデバイスに共通の処理部分だけをサポートするものであり、現状では、アプリケーションプログラムで作成された描画データを取得し、単に画像形成デバイスの解像度に合わせてイメージデータを生成するのみである。したがって、画質の低下という、低解像度の画像形成デバイスに特有の問題に対応することができない。具体的には、画像形成デバイスが低解像度の場合には、画像の斜線や曲線部分に階段状のギザギザ（ジャギー）が発生してしまうという問題があった。特に、文字コードから生成された文字のイメージデータでは、画質の低下が顕著であった。
【０００４】
本発明は、上記問題点を解決するためになされたものであり、汎用のオペレーションシステムで提供されるユニバーサルドライバを利用して、低解像度の画像形成デバイスに対しても高画質な画像を形成できるデータを出力可能な、デバイスドライバを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１に係る発明のデバイスドライバは、画像形成デバイスが画像を形成するための出力画像データを供給する、コンピュータ上で実行されるデバイスドライバであって、前記コンピュータを前記出力画像データの基となる描画データを取得する描画データ取得手段と、前記描画データ取得手段によって取得された前記描画データから第１のイメージデータを生成するイメージデータ生成手段として機能させる、汎用のオペレーションシステムで提供されるユニバーサルドライバを備え、前記コンピュータを前記画像形成デバイスに対応する第１の解像度および階調数を記憶するデバイス情報記憶手段、ユーザの入力に応じて、予め記憶された、前記第１の解像度よりも高い複数の解像度のうちの１つを第２の解像度として選択させる解像度選択手段、前記イメージデータ生成手段が生成する前記第１のイメージデータの解像度として、前記解像度選択手段によって選択された前記第２の解像度を前記デバイス情報記憶手段に記憶させる解像度設定手段、前記イメージデータ生成手段が生成する前記第１のイメージデータの解像度として、前記デバイス情報記憶手段に記憶された前記第１の解像度よりも高い第２の解像度を設定する解像度設定手段、前記イメージデータ生成手段によって生成された前記第１のイメージデータを、前記デバイス情報記憶手段に記憶された前記第２の解像度および前記階調に基づいて第２のイメージデータに変換するイメージデータ変換手段、および前記イメージデータ変換手段によって変換して得られた前記第２のイメージデータを前記出力画像データとして前記画像形成デバイスに出力する出力手段として機能させることを特徴とする。
【０００６】
【０００７】
さらに、請求項２に係る発明のデバイスドライバは、請求項１に記載の発明の構成に加え、前記解像度設定手段は、前記第１の解像度に２以上の整数を乗じた解像度を、前記第２の解像度として設定することを特徴とする。
【発明の効果】
【０００８】
請求項１に記載のデバイスドライバは、一旦、画像形成デバイスの解像度よりも高い解像度のイメージデータを生成してから、画像形成デバイスに合わせた解像度と階調数に変換するアンチエイリアス処理が行われる。すなわち、斜線や曲線部分の周囲に画像形成デバイスの階調数に応じた中間色を配したイメージデータに最終的に変換される。したがって、ユニバーサルドライバのみを用いて、最初から画像形成デバイスに合わせた低解像度のイメージデータを生成する場合に比べ、ジャギーが目立ちにくく、滑らかで高画質なイメージデータを出力することができる。また、ユーザは、予め設定された複数の解像度から、所望の解像度を選択することができる。通常、解像度が高くなるほど画質が向上するが、処理速度は遅くなるため、ユーザは、画質と処理速度を考慮して、所望の解像度を臨機応変に選択することができる。
【０００９】
【００１０】
請求項２に記載のデバイスドライバによれば、解像度変換が整数を用いた処理で行われるので、請求項１に記載の発明の効果に加え、画像の歪のない解像度変換を容易に行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を具現化した一実施の形態について、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、特に特定的な記載がない限り、それのみに限定する趣旨ではなく、単なる説明例である。
【００１２】
以下、図１〜図４を参照して、本実施形態に係るプリンタドライバ１０について説明する。図１は、パーソナルコンピュータ（以下、ＰＣという）１の構成を示すブロック図である。図２は、データ出力処理の流れを示す処理フロー図である。図３は、プリンタドライバ１０のメイン処理のフローチャートである。図４は、プリンタ詳細オプション画面５０の模式図である。
【００１３】
まず、図１を参照して、プリンタドライバ１０がインストールされるＰＣ１の構成について説明する。図１に示すＰＣ１は、周知のパーソナルコンピュータであり、汎用型の装置である。図１に示すように、ＰＣ１は、ＰＣ１の制御を司るＣＰＵ１０１を備え、ＣＰＵ１０１には、ＢＩＯＳ等を記憶したＲＯＭ１０２と、各種のデータを一時的に記憶するＲＡＭ１０３が接続されている。さらにＣＰＵ１０１には、データの受け渡しの仲介を行うＩ／Ｏインターフェース１０５が接続されている。Ｉ／Ｏインターフェース１０５には、後述するハードディスク装置（以下、ＨＤＤという）１０４、マウス１１１、ビデオコントローラ１１２、キーコントローラ１１４、および通信装置１１６が接続されている。ビデオコントローラ１１２には、ディスプレイ１１３が接続されており、ビデオコントローラ１１２によって制御されている。キーコントローラ１１４には、キーボード１１５が接続されており、キーコントローラ１１４によって制御されている。通信装置１１６は、ＬＡＮ５に接続されており、ＰＣ１は、この通信装置１１６を介してプリンタ２と通信することができる。なお、本実施形態のＰＣ１に接続されているプリンタ２は、解像度が１００ｄｐｉであり、４階調の階調表現が可能なプリンタであるものとする。
【００１４】
次に、図２を参照して、ＨＤＤ１０４に記憶されたソフトウェアについて説明する。図２に示すように、ＨＤＤ１０４には、汎用のＯＳ１００、文書作成や数値計算等の各種のアプリケーションソフトウェア（以下、アプリケーションという）３１、ＰＣ１に接続される印刷装置や表示装置に対して画像処理をコントロールするＧＤＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）３２、およびプリンタドライバ１０等がインストールされている。ＯＳ１００としては、例えば、米国マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）を使用することができ、アプリケーション３１、ＧＤＩ３２、およびプリンタドライバ１０は、すべてＯＳ１００上で動作する。
【００１５】
本実施形態のプリンタドライバ１０は、ユニバーサルドライバ１１、ミニドライバ１２、およびフィルタリング処理モジュール１３から構成されている。このうち、ユニバーサルドライバ１１は、ＧＤＩ３２とともに、ＯＳ１００のサブシステムとして一律に提供されるもので、様々な出力デバイスについて共通の処理部分を司る。具体的には、アプリケーション３１上で作成された印刷データを、プリンタ２が受信して印刷を実行することができるラスタイメージデータに変換して、プリンタ２に出力する処理を行う。一方、ミニドライバ１２およびフィルタリング処理モジュール１３は、プリンタ２の開発者により作成されるもので、ＯＳ１００とともに、あるいは個別に提供される。ミニドライバ１２は、ユニバーサルドライバ１１がラスタイメージデータを生成する際に必要な解像度、階調数等の設定情報を記述するＧＰＤ（Ｇｅｎｅｒａｌ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）ファイルである。また、フィルタリング処理モジュール１３は、ユニバーサルドライバ１１で生成されたラスタイメージデータを、解像度変換してプリンタ２へ出力するモジュールである。
【００１６】
次に、図２を参照して、ＰＣ１におけるプリンタ２へのデータ出力処理の流れの概略について説明する（詳細は後述）。このデータ出力処理は、図２のプリンタドライバ１０に従って、ＰＣ１のＣＰＵ１０１が実行するものである。まず、アプリケーション３１において印刷要求がなされると、ＧＤＩ３２は、アプリケーション３１からのコマンドを解釈し、ユニバーサルドライバ１１に動的にリンクして、ユニバーサルドライバ１１において、印刷データからラスタイメージデータを生成させる。このとき、ユニバーサルドライバ１１を介して、ミニドライバ１２に設定された情報が参照され、その設定情報に基づいてラスタイメージデータが生成される。通常、ミニドライバ１２が設定情報として有する解像度は、プリンタ２の実際の解像度であるが、本実施形態では、プリンタ２の解像度およびプリンタ２の解像度よりも高い複数の解像度のうちの１つが選択され、設定される点に特徴がある。詳細は後述するが、ユニバーサルドライバ１１で、一旦プリンタ２の解像度よりも高い解像度のラスタイメージデータが生成された場合は、フィルタリング処理モジュールにおいてプリンタ２の解像度のデータに変換される。そして、変換後のラスタイメージデータがプリンタ２に出力され、プリンタ２によって印刷が行われる。なお、図２では、本実施形態の特徴部分を主として説明するために図示を省略しているが、ＧＤＩ３２とプリンタドライバ１０の間、またはプリンタドライバ１０の後段に、印刷前のデータを一時的に保存するスプールファイルを設けてスプール処理を行ってもよい。
【００１７】
次に、図３および図４を参照して、プリンタドライバ１０により実行される処理の詳細について説明する。前述したように、アプリケーション３１上で文書データ、画像データ等の印刷データについて印刷要求がなされると、ＧＤＩ３２を経由して、ユニバーサルドライバ１１（図２参照）がこれを受信する（Ｓ１）。ここでユニバーサルドライバ１１が受信する印刷データは、文書データについては文字等のコードデータおよび座標情報等であり、画像データについては原画像データおよび座標情報等である。
【００１８】
図３に示すように、ユニバーサルドライバ１１は、印刷データを受信すると、ミニドライバ１２に記憶された印刷設定情報を参照する（Ｓ２）。印刷設定情報は、プリンタドライバ１０のユーザインターフェース（図示外）によって表示される設定画面から、ユーザが設定することができる。なお、ユーザインターフェースも、ミニドライバ１２およびフィルタリング処理モジュール１３と同様に、プリンタ２の開発者により作成されるものである。例えば、ユーザがアプリケーション３１で印刷指示のために印刷実行画面（図示外）を開いた際、そこに表示される「オプション」ボタン（図示外）を選択した場合に、図４に示すプリンタ詳細オプション画面５０を表示すればよい。図４に示すように、プリンタ詳細オプション画面５０には、例えば、「用紙／出力」、「グラフィックス」、「ドキュメントのオプション」の設定項目が表示され、各項目についてさらに詳細を設定することができる。本実施形態では、ユーザは、印刷品質リストボックス５１において、印刷品質を選択することができる。具体的には、印刷品質リストボックス５１には、「１００ｄｐｉ（ｄｏｔｓ  ｐｅｒ  ｉｎｃｈ）」、「２００ｄｐｉ」、「４００ｄｐｉ」、「８００ｄｐｉ」の４種類の解像度が表示され、ユーザはこのうち１つを選択することができる。その結果、選択された解像度が、設定された解像度としてミニドライバ１２に記憶される。
【００１９】
本実施形態では、２００ｄｐｉが印刷品質のデフォルト値として設定されており、ユーザが特に他の値を選択しない限り、印刷品質として２００ｄｐｉが設定されるものとする。一方、プリンタ２の解像度は前述の通り、１００ｄｐｉである。すなわち、ユーザが特に印刷品質リストボックス５１で１００ｄｐｉを選択しない限り、印刷品質には、プリンタ２の解像度よりも高い解像度が設定されることになる。また、図４に示すように、ユーザは、プリンタ詳細オプション画面５０で、中間イメージデータの階調数５２も選択することができる。
【００２０】
ミニドライバ１２から印刷設定情報を参照すると、ユニバーサルドライバ１１は、この設定情報に合わせてラスタイメージデータを生成するレンダリング処理を行う（Ｓ３）。なお、ここで生成されるラスタイメージデータを「中間イメージデータ」というものとする。プリンタ２で実際に印刷されるときの解像度は１００ｄｐｉであるが、本実施形態では、プリンタ詳細オプション画面５０（図４参照）で印刷品質リストボックス５１で選択された解像度（例えば、デフォルト値の２００ｄｐｉ）の中間イメージデータが、一旦Ｓ３で生成される。すなわち、前述のようにプリンタ詳細オプション画面５０で選択される「印刷品質」とは、中間イメージデータの解像度を示すものである。中間イメージデータの解像度を高くするほど、最終的な印刷画質が向上するが、その一方で、処理速度は低下する。そこで、ユーザは、この印刷画質と処理速度とのトレードオフの関係を考慮して、所望の印刷品質を選択すればよい。
【００２１】
例えば、図４の例では、印刷品質としてデフォルト値の２００ｄｐｉが選択され、階調数として２５６が選択されている。さらに、用紙サイズがＡ４（８．２７×１１．６９インチ）に設定されているとすると、図３のＳ３において、ユニバーサルドライバ１１によるレンダリング処理で生成される中間イメージデータは、２５６階調、１，６５４×２，３３８ピクセルのラスタイメージデータとなる。生成された中間イメージデータは、ユニバーサルドライバから、フィルタリング処理モジュール１３（図２参照）に出力される。そして、フィルタリング処理モジュールにおいて、ミニドライバ１２に記憶された印刷設定情報の解像度および階調数と、フィルタリング処理モジュール１３が設定値として有するプリンタ２の実際の解像度および階調数とが一致しているか否かが判断される（Ｓ４）。前述の例の場合、印刷設定情報の解像度は２００ｄｐｉ、階調数は２５６であり、プリンタ２の解像度１００ｄｐｉ、階調数４に一致しない（Ｓ４：ＮＯ）。したがって、プリンタ２の設定情報に合わせて解像度および階調を変換するフィルタリング処理が行われ、４階調、８２７×１，１６９ピクセルのラスタイメージデータが最終イメージデータとして生成される（Ｓ５）。その後、最終イメージデータが、Ｉ／Ｏインターフェース１０５および通信装置１１６（図１参照）を介して、プリンタ２に出力され（Ｓ６）、処理が終了する。一方、印刷設定情報とプリンタ設定情報とが一致している場合には（Ｓ４：ＹＥＳ）、解像度および階調を変換する必要はないので、中間イメージデータがそのまま最終イメージデータとしてプリンタ２に出力され（Ｓ６）、処理は終了する。
【００２２】
ここで、図５〜図７を参照して、文字の印刷データから生成された最終イメージの具体例について説明する。図５は、通常のレンダリング処理で生成されたイメージの一例の模式図である。図６は、本実施形態で生成された中間イメージの一例の模式図である。図７は、本実施形態で生成された最終イメージの一例の模式図である。なお、図５〜図７におけるＰ１〜Ｐ４は、それぞれ１つの画素を示している。
【００２３】
現状のユニバーサルドライバ１１のみを用いた通常のレンダリング処理によって文字のコードデータから生成されるイメージデータは、印刷設定情報の階調数が２５６であっても、階調レベル０と２５５のみで表現される２色のデータとなる。よって、このデータに基づくイメージが表示されると、図５に示すように、文字の一部に存在する斜めの曲線部分は、階段状に２色（図の白または黒）に塗り分けられることになり、低解像度になるほどジャギーが目立ちやすい。図５が、プリンタ２の解像度である１００ｄｐｉでレンダリング処理した結果得られたイメージだとする。一方、図３のＳ２で、プリンタ２の解像度よりも高いデフォルト設定値の２００ｄｐｉでレンダリング処理を行ったとする。この場合、図５のＰ１〜Ｐ４の各画素（ピクセル）が、図６に示すように、縦・横各２倍、すなわち４個のサブピクセルにさらに分割されて、各サブピクセルが２色で表現される。その結果、階段状のジャギーは、図５の場合よりも細かくなる。さらに、図３のＳ４において、プリンタ２の解像度である１００ｄｐｉおよび階調数４に合わせて、解像度および階調が変換される。具体的には、各画素Ｐ１〜Ｐ４を構成する４つのサブピクセルの階調が平均化され、階調レベルが０〜３までの４値のデータを有する１つの画素に変換される。この結果、図７に示すように、斜めの曲線部分が存在する画素Ｐ２およびＰ３には、階調レベル２の中間色が配置されるので、ジャギーが目立ちにくく、滑らかな最終イメージを得ることができる。なお、ここでは印刷設定情報の解像度が２００ｄｐｉに設定された例について説明したが、解像度を４００ｄｐｉ、８００ｄｐｉと上げるほど、図６に示すサブピクセルの数が４×４倍、８×８倍と増えるため、より滑らかな最終イメージを得ることができる。
【００２４】
以上説明したように、本実施形態のプリンタドライバ１０によれば、ユニバーサルドライバ１１が、一旦、プリンタ２の解像度よりも高い解像度の中間イメージデータを生成してから、プリンタ２に合わせた解像度と階調の最終イメージデータが出力される。その結果、ユニバーサルドライバ１１のみを用いて、最初からプリンタ２に合わせた低解像度のイメージデータを生成する場合に比べ、高画質な画像を得られるイメージデータを出力することができる。また、ＯＳ１００によって提供されるユニバーサルドライバ１１に、プリンタ２の解像度よりも高い解像度を設定するミニドライバ１２と、プリンタ２に合わせたデータに変換するフィルタリング処理モジュール１３とを追加するという簡略な構成で、このような処理を実現することができる。また、高解像度の中間イメージデータを生成するレンダリング処理は、プリンタ２の解像度を２以上の整数倍することにより行われる。このように整数を用いた処理とすることで、画像の歪のない解像度変換を容易に行うことができる。
【００２５】
さらに、ユーザは、プリンタ詳細オプション画面５０において、予め用意された複数の解像度から、所望の解像度を選択することができる。通常、中間イメージデータを生成する解像度が高くなるほど画質は向上するが、処理速度は遅くなるため、ユーザは、画質と処理速度を考慮して、所望の解像度を臨機応変に選択することができる。
【００２６】
本実施形態において、図３のＳ１で、ユニバーサルドライバ１１に従ってＧＤＩ３２からの印刷データを受信するＣＰＵ１０１が、「描画データ取得手段」に相当する。また、Ｓ３で、ユニバーサルドライバ１１に従って、受信した印刷データから中間イメージデータを生成するＣＰＵ１０１が、「イメージデータ生成手段」に相当する。プリンタ２の設定情報である解像度と階調数を有するフィルタリング処理モジュールが、「デバイス情報記憶手段」に相当する。プリンタ詳細オプション画面５０からの入力に応じて解像度および階調数を設定するＣＰＵ１０１が、「解像度設定手段」および「解像度選択手段」に相当する。図３のＳ５で、プリンタ２の解像度および階調数に合わせてフィルタリング処理を行うＣＰＵ１０１が、「イメージデータ変換手段」に相当し、Ｓ６で、最終イメージデータをプリンタ２に出力するＣＰＵ１０１が、「出力手段」に相当する。
【００２７】
なお、前述の実施形態に示される構成は例示であり、本発明は各種の変形が可能なことはいうまでもない。例えば、前述の実施形態は、画像形成デバイスとしてプリンタ２を採用した例について説明したが、携帯型のコンテンツ閲覧端末など、ディスプレイを有する表示装置であってもよい。この場合も、前述の実施形態と同様に、表示装置のディスプレイの解像度よりも高い解像度で一旦中間イメージデータを生成してから、ディスプレイの解像度と階調数に合わせて最終イメージデータに変換し、出力する処理を行えばよい。
【００２８】
また、前述の実施形態では、プリンタ詳細オプション画面５０において、ユーザが、中間イメージデータを生成する際の解像度および階調数を選択することができる。このとき、プリンタ２と同じ解像度を選択し、一旦、高解像度のラスタイメージデータを生成する処理は行わないことも可能である。しかしながら、選択肢として、プリンタ２の解像度よりも高い解像度のみを提示し、必ず高解像度のラスタイメージデータを生成するようにしてもよい。これにより、出力デバイスが低解像度のものであっても、常にジャギーを低減するアンチエイリアス処理が行われ、画質を向上することができる。また、前述した実施形態のように、解像度および階調数を選択することができれば利便性は高いが、必ずしも選択肢を設ける必要はなく、例えば、一律でプリンタ２の２倍の解像度に設定するようにしてもよい。
【図面の簡単な説明】
【００２９】
【図１】ＰＣ１の構成を示すブロック図である。
【図２】データ出力処理の流れを示す処理フロー図である。
【図３】プリンタドライバ１０のメイン処理のフローチャートである。
【図４】プリンタ詳細オプション画面５０の模式図である。
【図５】通常のレンダリング処理で生成されたイメージデータの一例の模式図である。
【図６】本実施形態で生成された中間イメージの一例の模式図である。
【図７】本実施形態で生成された最終イメージの一例の模式図である。
【符号の説明】
【００３０】
１      ＰＣ
１０１  ＣＰＵ
１００  ＯＳ
１０    プリンタドライバ
１１    ユニバーサルドライバ
１２    ミニドライバ
１３  フィルタリング処理モジュール
【図１】
0004941153.tif 000002
【図２】
0004941153.tif 000003
【図３】
0004941153.tif 000004
【図４】
0004941153.tif 000005
【図５】
0004941153.tif 000006
【図６】
0004941153.tif 000007
【図７】
0004941153.tif 000008