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