(57)【要約】【課題】  従来の解像度変換手法では、特にプリンタドライバ側で低解像度から高解像度への変換に単純拡大を行うだけでは、品位は低解像度のままであることから、様々な補間技術を用いる必要があり、内部処理自体を複雑にしていた。【解決手段】  印刷指示アプリケーションが印刷に用いる中間解像度とは別に出力解像度を決定し、印刷指示アプリケーションより中間解像度で受け取った描画情報を出力解像度に変換し、指定された出力解像度で再度印刷指示を出す印刷指示する手段を備える。【選択図】      図５
2005234966.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置により画像を出力する印刷解像度変換装置であって、
印刷指示アプリケーションが印刷に用いる中間解像度とは別に出力解像度を決定する解像度決定手段と、
印刷指示アプリケーションより中間解像度で受け取った描画情報を出力解像度に変換する解像度変換手段と、
印刷指示アプリケーションより受け取った描画情報を元に指定された出力解像度で再度印刷指示を出す印刷指示手段と、
前記印刷指示手段からの描画命令を受け印刷データを生成する印刷データ生成手段と
を有することを特徴とする印刷解像度変換装置。
【請求項２】
印刷装置により画像を出力する印刷解像度変換装置であって、
印刷指示アプリケーションが印刷に用いる中間解像度とは別に出力解像度を決定する解像度決定手段と、
印刷指示アプリケーションが発行する描画命令を一旦中間コードの形式に変換しこれを格納する格納手段と、
印刷指示アプリケーションより中間解像度で受け取った描画情報を出力解像度に変換する解像度変換手段と、
前記中間コードを元に指定された出力解像度で再度印刷指示を出す印刷指示手段と、
前記印刷指示手段からの描画命令を受け印刷データを生成する印刷データ生成手段とを
を有することを特徴とする印刷解像度変換装置。
【請求項３】
請求項１または２記載の解像度変換手段は、
オペレーティングシステムに備わった座標変換機能を使うことでこれを実現することを特徴とする印刷解像度変換装置。
【請求項４】
請求項１または２記載の印刷指示手段は、
オペレーティングシステムに対して印刷指示アプリケーションとして振舞うことを特徴とする印刷解像度変換装置。
【請求項５】
請求項１または２記載の印刷データ生成手段は、
オペレーティングシステムからプリンタドライバであると認識されることを特徴とする印刷解像度変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷装置に対して印刷設定を行う印刷制御装置及びその制御方法に係わり、より詳しくは印刷指示アプリケーションから指定された解像度とは別の解像度での印刷を印刷装置にて行うための印刷解像度変換装置及びその制御方法に関するものである。
【背景技術】
【０００２】
高解像度での印刷は印刷品質が高いというメリットをもつ反面、印刷制御装置及び印刷装置での処理が重くなり印刷速度の面が問題となる。一方、低解像度での印刷では印刷品位は高解像度のものに敵わないものの、印刷制御装置及び印刷装置での処理が比較的軽いため高速な印刷を行うことが可能である。
【０００３】
尚、オペレーティングシステムを介して印刷アプリケーションが認識する印刷解像度はプリンタドライバが供給することになる。
【０００４】
また、高解像度での印刷に関わる処理が重くなる原因の一つに、扱うデータ量が膨大になることが挙げられる。
【０００５】
これらの背景から、扱うデータ量を削減するために、プリンタドライバにてオペレーティングシステムには低解像度の印刷を行うかのように見せておき、プリンタドライバまたはプリンタ側にて低解像度で受け取った描画命令を高解像度に変換し出力する手法が広く行われている。
【０００６】
例えば、特許文献１に上記の描画命令を高解像度に変換する技術が開示されている。
【特許文献１】特開平１０−２４３２１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の解像度変換手法では、特にプリンタドライバ側で描画情報をイメージ展開してプリンタに送ることで印刷を行うラスター系印刷デバイスの場合、低解像度から高解像度への変換に単純拡大を行うだけでは、品位は低解像度のままであることから、様々な補間技術を用いてこれを実現する場合殆どである。
【０００８】
また、ページ記述言語を用いたプリンタに印刷を行う場合であっても、複雑な図形などのグラフィック描画に関してはその制御点情報はある程度の解像度で取得できれば特に品位の劣化は認められないため、更にはグラフィックの塗りやイメージの描画に関してもプリンタ側で出力解像度に合った画像処理を行うことで、画質の劣化は見られない。
【０００９】
この様に低解像度から高解像度への変換はある一定の効果はあるものの、プリンタドライバ側でビットマップ化しプリンタへ転送する必要のあるテキスト情報については、低解像度のものを単純拡大するか、補間技術を用いて情報を補うなど手段をとらざるを得なかった。
【００１０】
補間技術はあくまで補間するものであり、はじめから高解像度で展開されたものに画質を近づけるための技術であり、決してこれと同じ品位や上回る品位になることはない。
【００１１】
更には、このような解像度変換処理をプリンタドライバ内に持ち込む事は、その変換処理自体もそうであるが、オペレーションシステム側に提示する低解像度での様々な情報とプリンタへの出力に使うための高解像度用の様々な情報を同時に管理する必要があり、プリンタドライバの内部処理自体を複雑で管理しずらいものにする恐れもある。
【００１２】
また、解像度変換処理は非常に大きな印刷媒体に印刷を行う場合などはこの解像度変換処理は、処理の高速化及び品位の劣化を防ぐという意味で非常に重要である。
【００１３】
本発明は以上を鑑みて発明されたものであり、プリンタドライバ側での補間処理を一切必要としないで、扱うデータ量の軽減化と印刷品質の向上を同時に達成する解像度変換処理を行うものとする。
【００１４】
更に、プリンタドライバでは複数の解像度に対応するだけでよく、従来のような煩雑な処理は一切不要となる。
【課題を解決するための手段】
【００１５】
上記目的を達成する本発明の印刷制御装置は、以下に示す構成を備えることを特徴とする。
【００１６】
即ち、印刷指示アプリケーションが印刷に用いる中間解像度とは別に出力解像度を決定する解像度決定手段と、
印刷指示アプリケーションより中間解像度で受け取った描画情報を出力解像度に変換する解像度変換手段と、
印刷指示アプリケーションより受け取った描画情報を元に指定された出力解像度で再度印刷指示を出す印刷指示手段と
前記印刷指示手段からの描画命令を受け印刷データを生成する印刷データ生成手段とを設ける。
【００１７】
あるいは、印刷指示アプリケーションが印刷に用いる中間解像度とは別に出力解像度を決定する解像度決定手段と、
印刷指示アプリケーションが発行する描画命令を一旦中間コードの形式に変換しこれを格納する格納手段と、
印刷指示アプリケーションより中間解像度で受け取った描画情報を出力解像度に変換する解像度変換手段と、
前記中間コードを元に指定された出力解像度で再度印刷指示を出す印刷指示手段と、
前記印刷指示手段からの描画命令を受け印刷データを生成する印刷データ生成手段とを
を設ける。
【００１８】
該解像度変換手段においてはオペレーティングシステムに備わった座標変換機能を使うことでこれにあてても良く、該印刷指示手段はオペレーティングシステムに対して印刷指示アプリケーションとして動作しても良く、該印刷データ生成手段はオペレーティングシステムからプリンタドライバとして認識され動作させることも可能である。
【００１９】
なお、さらに詳細に説明すれば、本発明は下記の構成によって前記課題を解決できた。
【００２０】
（１）印刷装置により画像を出力する印刷解像度変換装置であって、印刷指示アプリケーションが印刷に用いる中間解像度とは別に出力解像度を決定する解像度決定手段と、印刷指示アプリケーションより中間解像度で受け取った描画情報を出力解像度に変換する解像度変換手段と、印刷指示アプリケーションより受け取った描画情報を元に指定された出力解像度で再度印刷指示を出す印刷指示手段と、前記印刷指示手段からの描画命令を受け印刷データを生成する印刷データ生成手段とを有することを特徴とする印刷解像度変換装置。
【００２１】
（２）印刷装置により画像を出力する印刷解像度変換装置であって、印刷指示アプリケーションが印刷に用いる中間解像度とは別に出力解像度を決定する解像度決定手段と、印刷指示アプリケーションが発行する描画命令を一旦中間コードの形式に変換しこれを格納する格納手段と、印刷指示アプリケーションより中間解像度で受け取った描画情報を出力解像度に変換する解像度変換手段と、前記中間コードを元に指定された出力解像度で再度印刷指示を出す印刷指示手段と、前記印刷指示手段からの描画命令を受け印刷データを生成する印刷データ生成手段とを有することを特徴とする印刷解像度変換装置。
【００２２】
（３）前記（１）または（２）記載の解像度変換手段は、オペレーティングシステムに備わった座標変換機能を使うことでこれを実現することを特徴とする印刷解像度変換装置。
【００２３】
（４）前記（１）または（２）記載の印刷指示手段は、オペレーティングシステムに対して印刷指示アプリケーションとして振舞うことを特徴とする印刷解像度変換装置。
【００２４】
（５）前記（１）または（２）記載の印刷データ生成手段は、オペレーティングシステムからプリンタドライバであると認識されることを特徴とする印刷解像度変換装置。
【発明の効果】
【００２５】
本発明を適応することで、プリンタドライバ側での補間処理を一切必要としないで、扱うデータ量の軽減化と印刷品質の向上を同時に達成する解像度変換処理可能にし、更に、プリンタドライバでは出力解像度に対応するだけでよく、従来のような煩雑な処理は必要としないで、解像度変換処理を可能にする。
【発明を実施するための最良の形態】
【００２６】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例】
【００２７】
以下に本発明に好適な実施形態について図を用いて説明を行う。
【００２８】
本発明に係わる印刷制御装置の構成を図１のブロック図を参照して説明する。
【００２９】
尚、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ローカルエリアネットワーク）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：広域ネットワーク）等のネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適応できることは言うまでもない。
【００３０】
また、本発明を適応可能な実際の商品形態としてはＦＤ（Ｆｌｏｐｙ  Ｄｉｓｋ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ＲＯＭ）、インターネットＷｅｂサイト、ＢＢＳ（Ｂｕｌｌｅｔｉｎ  Ｂｏａｒｄ  Ｓｙｓｔｅｍ：コンピュータを利用したメッセージ交換システム）を挙げることができる。
【００３１】
即ち、プリンタ制御システムに対して本発明のプログラムをＦＤやＣＤ−ＲＯＭから供給し、また、プリンタ制御システムをインターネットやＢＢＳに接続することが可能である。
【００３２】
本実施形態に関わるプリンタ制御システムは、ホストコンピュータ１００とプリンタ２００とから構成されている。ホストコンピュータ１００は、ＣＰＵ１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、キーボードコントローラ（ＫＢＣ）１０５と、ビデオコントローラ（ＶＤＣ）１０６と、ディスクコントローラ（ＤＣ）１０７と、プリンタコントローラ（ＰＲＴＣ）１０８と、キーボード１０９と、ディスプレイ１１０と、外部メモリ１１１とを備えている。
【００３３】
また、プリンタ２００は、ＣＰＵ２０１と、ＲＡＭ２０２と、ＲＯＭ２０３と、入力部２０５と、印刷部インタフェース（Ｉ／Ｆ）２０６と、メモリコントローラ（ＭＣ）２０７、プリンタエンジン２２０、操作部２３０、外部メモリ２４０などを備えている。
【００３４】
先ず、ホストコンピュータ１００各部の構成を詳述すると、ＣＰＵ１０１は、システムバス１０４に接続された各デバイスを総括的に制御する中央処理装置であり、ＲＯＭ１０３のプログラム用領域、或いは外部メモリ１１１に記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行する。
【００３５】
また、ＣＰＵ１０１は、例えばＲＡＭ１０２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ディスプレイ１１０上でのＷＹＳＩＷＹＧ（Ｗｈａｔ  ＹｏｕＳｅｅ  Ｉｓ  Ｗｈａｔ  Ｙｏｕ  Ｇｅｔ：ＣＲＴディスプレイ画面上に見えているそのままの大きさや形で印刷できる機能）を可能としている。
【００３６】
更に、ＣＰＵ１０１は、ディスプレイ１１０上のマウスカーソル（図示略）等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００３７】
ユーザーはプリンタ２００を使用して印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタ２００の設定や印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができるようになっている。
【００３８】
ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ＲＯＭ１０３は、フォント用領域と、プログラム用領域と、データ用領域とに分割される。フォント用領域或いは外部メモリ１１１は、上記文書処理の際に使用するフォントデータ等を記憶する。
【００３９】
プログラム用領域或いは外部メモリ１１１は、ＣＰＵ１０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステム（以下、ＯＳ）等を記憶する。
【００４０】
データ用領域或いは外部メモリ１１１は、上記文書処理等を行う際に使用する各種データを記憶する。
【００４１】
キーボードコントローラ（ＫＢＣ）１０５は、キーボード１０９やポインティングデバイス（図示略）からのキー入力を制御する。ビデオコントローラ（ＶＤＣ）１０６は、ディスプレイ１１０の表示を制御する。ディスクコントローラ（ＤＣ）１０７は、外部メモリ１１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）１０８は、双方向性インターフェイス１５０を介してプリンタ２００に接続されて、プリンタ２００との通信制御処理を実行する。また、キーボード１０９は、各種キーを備えている。ディスプレイ１１０は、図形、イメージ、文字、表等を表示する。
【００４２】
外部メモリ１１１は、ハードディスク（ＨＤ）、フロッピー(登録商標)ディスク（ＦＤ）等から構成されており、ブートプログラムやＯＳ、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下、プリンタドライバ）等を記憶する領域として使用される。
【００４３】
上述したＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、キーボードコントローラ（ＫＢＣ）１０５、ビデオコントローラ（ＶＤＣ）１０６、ディスクコントローラ（ＤＣ）１０７、プリンタコントローラ（ＰＲＴＣ）１０８は、コンピュータ制御ユニット１２０上に配設されている。
【００４４】
次に、プリンタ２００各部の構成を詳述すると、ＣＰＵ２０１は、システムバス２０４に接続された各デバイスを総括的に制御する中央処理装置であり、ＲＯＭ２０３のプログラム用領域に記憶された制御プログラム等或いは外部メモリ２４０に記憶された制御プログラム等に基づいて、印刷エンジン２２０に出力情報としての画像信号を出力する。
【００４５】
また、ＣＰＵ２０１は、入力部２０５を介してホストコンピュータ１００との通信処理が可能となっており、プリンタ２００内の情報等をホストコンピュータ１００に通知できる構成となっている。
【００４６】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリやワークエリア等として機能し、増設ポートに接続されるオプションＲＡＭ（図示略）によりメモリ容量を拡張することができるように構成されている。尚、ＲＡＭ２０２は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００４７】
ＲＯＭ２０３は、フォント用領域と、プログラム用領域と、データ用領域とに分割される。
【００４８】
フォント用領域は、上記出力情報を生成する際に使用するフォントデータ等を記憶する。
【００４９】
プログラム領域は、ＣＰＵ２０１の制御プログラム等を記憶する。
【００５０】
データ用領域は、プリンタ２００にハードディスク等の外部メモリ２４０が接続されていない場合には、ホストコンピュータ１００上で利用される情報等を記憶する。
【００５１】
入力部２０５は、双方向性インターフェイス１５０を介してプリンタ２００とホストコンピュータ１００との間におけるデータの送受を行う。
【００５２】
印刷部インタフェース（Ｉ／Ｆ）２０６は、ＣＰＵ２０１と印刷エンジン２２０との間におけるデータの送受を行う。
【００５３】
メモリコントローラ（ＭＣ）２０７は、外部メモリ２４０のアクセスを制御する。
【００５４】
印刷エンジン２２０は、ＣＰＵ２０１の制御に基づき印刷動作を行い、不図示の記録媒体の搬送機構、半導体レーザーユニット、感光ドラム、現像ユニット、定着ユニット、ドラムクローニングユニット、および分離ユニット等で構成され、公知の電子写真プロセスで印刷を行う。
【００５５】
操作部２３０は、各種操作のためのスイッチや表示手段（例えばＬＥＤ表示器）等を備えている。
【００５６】
外部メモリ２４０は、ハードディスク（ＨＤ）、ＩＣカード等から構成されており、プリンタ２００にオプションとして接続される。
【００５７】
外部メモリ２４０は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶するものであり、メモリコントローラ（ＭＣ）２０７によりアクセスを制御される。
【００５８】
尚、外部メモリ２４０は、１個に限らず複数個備えることが可能となっている。
【００５９】
即ち、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを、プリンタ２００に複数接続できるように構成されていてもよい。
【００６０】
更に、ＮＶＲＡＭ（図示略）を有し、操作部２３０からのプリンタモード設定情報を記憶するようにしてもよい。
【００６１】
上述したＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、入力部２０５、印刷部インタフェース（Ｉ／Ｆ）２０６、メモリコントローラ（ＭＣ）２０７は、プリンタ制御ユニット２１０上に配設されている。
【００６２】
図２はプリンタ等の印刷装置が直接接続、或いはネットワーク経由で接続されているホストコンピュータ１００における典型的な印刷処理の構成を示すブロック図である。
【００６３】
図２において、アプリケーション３０１、グラフィックエンジン３０２、プリンタドライバ３０３、及びシステムスプーラ３０４は、上記図１の外部メモリ１１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ１０２にロードされ実行されるプログラムモジュールである。
【００６４】
また、アプリケーション３０１及びプリンタドライバ３０３は、外部メモリ１１１のＦＤやＣＤ−ＲＯＭ或いはネットワーク（以上図示略）を経由して外部メモリ１１１のＨＤに追加することが可能となっている。
【００６５】
外部メモリ１１１に保存されているアプリケーション３０１はＲＡＭ１０２にロードされて実行されるが、該アプリケーション３０１からプリンタ２００に対して印刷を行う際には、同様にＲＡＭ１０２にロードされ実行可能となっているグラフィックエンジン３０２を利用して出力（描画）を行う。
【００６６】
グラフィックエンジン３０２は、印刷装置ごとに用意されたプリンタドライバ３０３を同様に外部メモリ１１１からＲＡＭ１０２にロードし、アプリケーション３０１の出力をプリンタドライバ３０３に設定する。
【００６７】
更に、アプリケーション３０１から受け取るＧＤＩ（Ｇｒａｐｈｉｃ  ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）関数からＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）関数に変換し、プリンタドライバ３０３へＤＤＩ関数を出力する。
【００６８】
プリンタドライバ３０３は、グラフィックエンジン３０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。
【００６９】
変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ１０２にロードされたシステムスプーラ３０４を経てインターフェイス１５０経由でプリンタ２００へ印刷データとして出力される仕組みとなっている。
【００７０】
本実施形態に係るプリンタ制御システムは、上記図１及び図２で示すホストコンピュータ１００とプリンタ２００からなる印刷システムに加えて、更に図３に示す如くアプリケーションからの印刷データをプリンタドライバ３０３で一旦中間コードデータにしてスプールする構成を有する。
【００７１】
上記図２のシステムでは、アプリケーション３０１が印刷処理から開放されるのは、プリンタドライバ３０３がグラフィックエンジン３０２からの全ての印刷命令をプリンタ２００の制御コマンドへ変換し終わった時点である。
【００７２】
これに対して、図３のシステムでは、アプリケーション３０１が印刷処理から開放されるのは、プリンタドライバ３０３が全ての印刷命令を中間コードデータに変換し、スプールファイル４０３に出力した時点である。
【００７３】
通常、後者の方が短時間で済む。また、図３で示すシステムにおいては、スプールファイル４０３の内容に対して加工することができる。
【００７４】
これにより、アプリケーションからの印刷データに対して、拡大／縮小や、複数ページを１ページに縮小して印刷するＮ−ｕｐ印刷等、アプリケーションの持たない機能を実現することができる。
【００７５】
これらの目的のために、上記図２のシステムに対し、図３の如く中間コードデータでスプールするよう、システムの拡張がなされてきている。
【００７６】
尚、印刷データの加工を行うためには、通常、プリンタドライバ３０３が提供するウインドウから設定を行い、プリンタドライバ３０３がその設定内容をＲＡＭ１０２上或いは外部メモリ１１１上に保管する。
【００７７】
以下、図３の詳細を説明する。図３は上記図２のシステムを拡張したもので、グラフィックエンジン３０２からプリンタドライバ３０３へ印刷命令を送る際に、一旦、中間コードからなるスプールファイル４０３を生成する構成を示したものである。
【００７８】
上記図２のシステムでは、アプリケーション３０１が印刷処理から開放されるのは、プリンタドライバ３０３がグラフィックエンジン３０２からの全ての印刷命令をプリンタ２００の制御コマンドへ変換し終わった時点である。
【００７９】
これに対して、図３のシステムでは、アプリケーション３０１が印刷処理から開放されるのは、スプーラ４０２が全ての印刷命令を中間コードデータに変換し、スプールファイル４０３に出力した時点である。
【００８０】
通常、後者の方が短時間で済む。また、図３で示すシステムにおいては、スプールファイル４０３の内容に対して加工することができる。
【００８１】
これにより、アプリケーションからの印刷データに対して、拡大／縮小や、複数ページを１ページに縮小して印刷するＮ−ｕｐ印刷等、アプリケーションの持たない機能を実現することができる。
【００８２】
これらの目的のために、上記図２のシステムに対し、図３の如く中間コードデータでスプールするよう、システムの拡張がなされてきている。
【００８３】
尚、印刷データの加工を行うためには、通常、プリンタドライバ３０３が提供するウインドウから設定を行い、プリンタドライバ３０３がその設定内容をＲＡＭ１０２上或いは外部メモリ１１１上に保管する。
【００８４】
以下、図３の詳細を説明する。
【００８５】
図示の如く、この拡張された処理方式では、グラフィックエンジン３０２からの印刷命令をディスパッチャ４０１が受け取る。
【００８６】
ディスパッチャ４０１がグラフィックエンジン３０２から受け取った印刷命令が、アプリケーション３０１からグラフィックエンジン３０２へ発行された印刷命令の場合には、ディスパッチャ４０１は外部メモリ１１１に格納されているスプーラ４０２をＲＡＭ１０２にロードし、プリンタドライバ３０３ではなくスプーラ４０２へ印刷命令を送付する。
【００８７】
スプーラ４０２は、受け取った印刷命令を中間コードに変換してスプールファイル４０３に出力する。
【００８８】
また、スプーラ４０２は、プリンタドライバ３０３に対して設定されている印刷データに関する加工設定をプリンタドライバ３０３から取得してスプールファイル３０３に保存する。
【００８９】
解像度変換処理のために必要な入力解像度及び出力解像度の情報または、これらどちらか一方の解像度情報と他方の比率に関する情報などもこれに含まれる。
【００９０】
尚、スプールファイル４０３は外部メモリ１１１上にファイルとして生成するが、ＲＡＭ１０２上に生成されても構わない。
【００９１】
更に、スプーラ４０２は、外部メモリ１１１に格納されているスプールファイルマネージャ４０４をＲＡＭ１０２にロードし、スプールファイルマネージャ４０４に対してスプールファイル４０３の生成状況を通知する。
【００９２】
その後、スプールファイルマネージャ４０４は、スプールファイル４０３に保存された印刷データに関する加工設定の内容に従ってプリンタドライバ３０３が印刷データを作成できるかを判断する。
【００９３】
ここでスプールファイル４０３は、アプリケーションが出力したページである論理ページ単位で中間データを管理している。
【００９４】
また、スプールファイル４０３は、前述したように、利用者がプリンタドライバ３０３に対して設定した加工設定、例えば本発明の対象である解像度変換の印刷の設定など、を管理している。
【００９５】
よって、プリンタドライバ３０３が印刷データを作成できるかの判断は、スプールファイル４０３に格納されている加工設定に基づいて必要な論理ページがすべてスプールファイル４０３に管理されていれば、印刷データの作成に必要なデータが揃っているので印刷データの作成が可能であると判断できる。
【００９６】
スプールファイルマネージャ４０４がグラフィックエンジン３０２を利用してプリンタドライバにより印刷データを作成できると判断した場合は、スプールファイルマネージャ４０４は、外部メモリ１１１に格納されているデスプーラ４０５をＲＡＭ１０２にロードし、デスプーラ４０５に対して、スプールファイル４０３に記述された中間データの印刷処理を行うように指示する。
【００９７】
このときに、スプールファイルマネージャ４０４はデスプーラ４０５に対して加工設定に伴う論理ページへの影響情報も指示する。
【００９８】
例えば、解像度変換の設定がなされている場合、グラフィックエンジン３０２を介して受け取った入力解像度情報と、実際に印刷で使用する出力解像度の情報などがこの影響情報となり、印刷ジョブ単位若しくは印刷ページ単位でデスプーラ４０５に対して指示される。
【００９９】
デスプーラ４０５は、スプールファイル４０３に含まれる中間コードをスプールファイルマネージャ４０４によって指示される影響情報の内容に従って加工し、加工された中間データをＧＤＩ関数に変換し、グラフィックエンジン３０２に出力する。
【０１００】
解像度変換設定が成されている場合、デスプーラ４０５は、まずスプーラ４０２の受け取った解像度ではなくスプールファイル４０３に保持されている出力解像度の情報でＧＤＩ関数を用い後段のプリンタドライバ３０３を初期化する。さらに、スプールファイル４０３に保持されている入力解像度で記述された中間コードの座標系が出力解像度の示す座標系となるようにグラフィックエンジン３０２に対して座標変換パラメータを設定する。
【０１０１】
一度これらの座標変換パラメータをグラフィックエンジン３０２に設定すると、すべての描画ＡＰＩに対して、入力解像度の座標系での座標値や大きさ、長さをグラフィックエンジン３０２に入力するとディスパチャ４０１以下のプリンタドライバ３０３はこれを出力解像度での座標系での座標値や大きさ、長さとして受け取ることが可能となる。つまり、グラフィックエンジン３０２にて座標変換処理が行われることになる。
【０１０２】
その後、デスプーラ４０５はスプールファイル４０３に記述されている中間コードデータをＧＤＩ関数に変換してグラフィックエンジン３０２に出力する。
【０１０３】
グラフィックエンジン３０２は、デスプーラ４０５から受け取ったＧＤＩ関数からＤＤＩ関数を生成し、ディスパッチャ４０１にＤＤＩ関数からなる印刷命令を出力する。
【０１０４】
グラフィックエンジン３０２からディスパッチャ４０１が受け取ったＤＤＩ関数の印刷命令がデスプーラ４０５からグラフィックエンジン３０２へ発行されたＧＤＩ関数の印刷命令の場合には、ディスパッチャ４０１はスプーラ４０２ではなく、プリンタドライバ３０３に印刷命令を送る。
【０１０５】
プリンタドライバ３０３は、受け取った印刷命令に基づいてプリンタ制御コマンドからなる印刷データを生成し、システムスプーラ３０４経由でプリンタ２００に出力する。
【０１０６】
次に、上記の如く構成した本実施形態に係る解像度変換装置における入出力解像度の決定方法について説明する。
【０１０７】
図４は印刷媒体のサイズ及び入出力解像度を決定するためにユーザーに示されるダイアログ５００の一例である。
【０１０８】
用紙サイズプルダウンリストボックス５１０は印刷媒体のサイズを決定するリストボックスであり、ユーザーがリストボタンを押すとターゲットプリンタでサポートされる印刷媒体全てをリストアップする。
【０１０９】
入力解像度リストボックス５２０及び出力解像度リストボックス５３０はそれぞれ入力及び出力解像度をユーザーが決定するために使用するリストボックスである。
【０１１０】
図４で示すように、一般的に解像度の単位として用いられるｄｐｉ（ｄｏｔｓ  ｐｅｒ  ｉｎｃｈ）はユーザーにとって認識しずらい単位であるため、別の言葉に置き換えて表示させている。
【０１１１】
なお、説明の都合上、今後の説明では１５０ｄｐｉを「ドラフト」、３００ｄｐｉを「クイック」、６００ｄｐｉを「ファイン」、１２００ｄｐｉを「スーパーファイン」として扱っていく。
【０１１２】
当然、本発明はこれらの解像度に限定されるわけではなく、また上に示した値は全て整数倍の関係にあるが、各解像度間で整数倍の関係が成り立っている必要はない。
【０１１３】
このダイアログボックス５１０にて、ユーザーからの印刷用紙サイズ要求及び、入出力解像度の要求を受け付ける。
【０１１４】
ここでの、入出力解像度の決定方法は、例えば、用紙サイズ毎に、最高入力解像度及び最高出力解像度を予め決めておくか又はユーザー定義の用紙サイズなどでは定義されて用紙のサイズなどからこれら最高入力解像度および最高出力解像度を計算するなどして決定される。
【０１１５】
最高入力解像度及び最高出力解像度の範囲内でユーザーは入力解像度及び出力解像度を決定することになる。
【０１１６】
ここで、最高入力解像度はグラフィックエンジン３０２から受け取るデータ量の爆発を抑制する意味で用いられる。この値はオペレーティングシステムの制限により用紙の幅や高さ又は用紙領域内に対する最大ピクセル数が決まっていたりすることも充分考慮するべきである。当然、大きなサイズの用紙に対しては低い最高入力解像度が設定されることになる。
【０１１７】
また、最高出力解像度はプリンタドライバ３０３若しくはプリンタ２００内で生成するイメージデータ量に関係し、このイメージデータ量を制限するために使用される。こちらも同じく、大きなサイズの用紙に対しては低い最高出力解像度が設定されることになる。
【０１１８】
当然このイメージデータの量は解像度以外に印刷に用いる諧調や色プレーンの数、更には圧縮や、搭載メモリ量などとも密接に関係するので、これらの影響を考慮にいれて出力解像度リストボックス５３０に提示する解像度を選定することになる。
【０１１９】
ここで決定された、用紙サイズ情報、入力解像度情報、及び出力解像度情報は印刷設定情報の一部として印刷時にグラフィックエンジン３０２、ディスパッチャ４０１、スプーラ４０２を介してスプールファイル４０３に加工設定として格納される。
【０１２０】
次に、印刷時のデスプーラ４０５での処理について説明を行う。
【０１２１】
図５はデスプーラ４０５での処理をフローチャートである。
【０１２２】
デスプーラ４０５はスプールファイルマネージャ４０４から起動された後適切に初期化される。この初期化の過程でスプールファイル４０３に格納されている用紙情報や入力解像度及び出力解像度情報を読み込んでおく（ステップＳ６０１）。
【０１２３】
次に、先に読み込んだ出力解像度でグラフィックエンジン３０２を介してプリンタドライバ３０３を初期化する（ステップＳ６０２）。
【０１２４】
ここでは入力された設定情報に対して解像度を出力解像度に変えることが重要であり、印刷用紙は変更しないものとする。
【０１２５】
例えば、Ｍｉｃｒｏｓｏｆｔ社のオペレーティングシステムであるＷｉｎｄｏｗｓ(登録商標)の場合、このドライバ初期化ＡＰＩはＣｒｅａｔｅＤＣ（）であり、デバイスのコンテキストハンドルを得ることができる。これ以降のグラフィックエンジン３０２やプリンタドライバ３０３への要求はこのデバイスコンテキストハンドルを介して行われる。
【０１２６】
尚、デスプーラ４０５は印刷アプリケーションの発行したオリジナル印刷ジョブをこのデバイスのコンテキストハンドルを用い再印刷を行う様にグラフィックエンジン３０２に対して発行することになる。
【０１２７】
また、プリンタドライバ３０３はここで指定する出力解像度をサポートしている必要があり、未サポートの出力解像度は先に述べた入出力解像度の決定時点で除外しておく必要がある。
【０１２８】
次に、入力解像度と出力解像度の比率から、グラフィックエンジン３０２が正しい座標変換処理を行うよう座標変換パラメータを設定する（ステップＳ６０３）。
【０１２９】
図６はこの座標変換パラメータを設定するステップにて設定するべき座標変換を概念的に表したものである。
【０１３０】
図６の（１）は入力座標系を表し、図６の（２）は出力座標系を表す。
【０１３１】
一般に印刷で用いられる座標系は有効印字領域左上を原点として右方向にＸ座標、下方向にＹ座標系を備えた直行座標系で表されるのでこれを用いて説明することにする。
【０１３２】
今この図６の（１）で示される入力座標系にて任意の点Ｐｉ（Ｘｉ，Ｙｉ）を図６の（２）で示される出力座標系に投影した点Ｐｏ（Ｘｏ，Ｙｏ）との関係は、入力解像度がＸ方向及びＹ方向共にｉ（ｄｐｉ）、出力解像度がＸ方向及びＹ方向共にｏ（ｄｐｉ）だとすると、以下の関係が成り立つ。
【０１３３】
Ｘｏ＝Ｘｉ＊（ｏ／ｉ）    （式１）
Ｙｏ＝Ｙｉ＊（ｏ／ｉ）    （式２）
【０１３４】
更に、印刷デバイスによってはＸ方向とＹ方向の解像度が異なる場合もある。例えば入力解像度がＸ方向でｉｘ（ｄｐｉ）、Ｙ方向でｉｙ（ｄｐｉ）、出力解像度がＸ方向でｏｘ（ｄｐｉ）、Ｙ方向でｏｙ（ｄｐｉ）だとすると、先の（式１）、（式２）は以下のように書換えることになる。
【０１３５】
Ｘｏ＝Ｘｉ＊（ｏｘ／ｉｘ）    （式３）
Ｙｏ＝Ｙｉ＊（ｏｙ／ｉｙ）    （式４）
【０１３６】
これらの式１〜４で示される関係で、入力座標系から出力座標系への変換を行えるようにグラフィックエンジン３０２に対して座標変換パラメータを設定する。
【０１３７】
なお、ここでは入力解像度及び出力解像度に比から座標変換パラメータを決定する例を示したが、この他にも、入力された用紙の有効印字領域の大きさ（幅ピクセル数、及び長さピクセル数）と出力解像度で初期化された後のプリンタドライバ３０３がグラフィックエンジンを介して提示する用紙の有効印字領域の大きさ（幅ピクセル数、及び長さピクセル数）のそれぞれの比から変換式を求め、座標変換パラメータとして設定しても良い。
【０１３８】
図５に戻り、次のステップではスプールファイル４０３に格納されている中間コードを読み込む（ステップＳ６０４）。ここで読み込んだ中間コードを描画ＡＰＩに変換し、グラフィックエンジン３０２を介してプリンタドライバ３０３へ伝える（ステップＳ６０５）。
【０１３９】
この呼び出し側ではスプールファイル４０３に記載されている入力座標系での座標値や値をそのまま描画ＡＰＩに入力すると、グラフィックエンジン３０２は先にステップＳ６０３にて設定された座標変換処理を行い、変換後の座標値や値でディスパッチャ４０１を介してプリンタドライバ３０３に伝えることになる。
【０１４０】
また、プリンタドライバ３０３は、先にステップＳ６０２にて出力解像度で初期化されており、この出力解像度でのプリンタ制御コマンドからなる印刷データを生成することが可能となっている。
【０１４１】
尚、ステップＳ６０５での中間コードから描画ＡＰＩへの変換にて、等倍での出力命令は本発明が適応される場合には必ず拡大縮小を伴う描画命令に変換して出力する必要がある。例えば、等倍のイメージ転送命令は拡大縮小を伴うイメージの貼り付け命令に変える必要がある。
【０１４２】
また、先に触れたテキスト描画について述べると、プリンタドライバ３０３は出力解像度で初期化されているため、フォントのリアライズ処理はこの出力解像度で行われることになり、単純拡大や補間処理にて拡大した場合と比べて品位が向上する事は明らかである。
【０１４３】
ステップＳ６０５でのＡＰＩ変換、呼び出し処理が終わると、ここで処理した中間コードが描画終了を意味するものかどうかの判定を行う（ステップＳ６０６）。
【０１４４】
描画終了でなければ、再度ステップＳ６０４に戻り、新たな中間コードを読み込みこれを処理する。描画終了であれば、終了処理を適切に行った後、デスプーラ４０５は終了する。
【図面の簡単な説明】
【０１４５】
【図１】本発明のシステム構成を示すブロック図である。
【図２】ホストコンピュータでおける印刷処理の構成を示すブロック図である。
【図３】本実施例でのホストコンピュータ内の印刷処理を示すブロック図である。
【図４】印刷用紙、入力解像度、出力解像度設定を行うダイアログの例を示す。
【図５】デスプーラでの処理を示すフローチャートである。
【図６】入力座標系から出力座標系への変換を示す概念図である。
【符号の説明】
【０１４６】
１００  ホストコンピュータ
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  システムバス
１０５  キーボードコントローラ
１０６  ビデオコントローラ
１０７  ディスクコントローラ
１０８  プリンタコントローラ
１０９  キーボード
１１０  ディスプレイ
１１１  外部メモリ（ＨＤ、ＦＤ）
１２０  コンピュータ制御ユニット
１５０  双方向性インターフェイス
２００  プリンタ
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力部
２０６  印刷部Ｉ／Ｆ
２０７  メモリコントローラ
２１０  プリンタ制御ユニット
２２０  印刷エンジン
２３０  操作部
２４０  外部メモリ
３０１  アプリケーション
３０２  グラフィックエンジン
３０３  プリンタドライバ
３０４  システムスプーラ
４０１  ディスパッチャ
４０２  スプーラ
４０３  スプールファイル
４０４  スプールファイルマネージャ
４０５  デスプーラ
５００  印刷用紙、入力解像度、出力解像度設定を行うダイアログ
５１０  用紙サイズリストボックス
５２０  入力解像度リストボックス
５３０  出力解像度リストボックス
５４０  設定確定ボタン
５５０  設定破棄ボタン
【図１】
2005234966.tif 000003
【図２】
2005234966.tif 000004
【図３】
2005234966.tif 000005
【図４】
2005234966.tif 000006
【図５】
2005234966.tif 000007
【図６】
2005234966.tif 000008