(57)【要約】【課題】大きなサイズで画像データを出力する場合でも、正しい描画座標値を演算することが可能なデータ演算方法および装置およびプログラムを提供する。【解決手段】データ１３の印刷が指示されると、アプリケーション７は描画指示を描画処理部１０およびプリンタドライバ管理部９に発行し、プリンタドライバ管理部９はプリンタドライバ５に設定されている印刷する原稿の用紙サイズが予め設定したサイズより大きいサイズと確認した場合、解像度演算部１１は用紙サイズにおいて正しい描画座標値を求めることが可能な解像度を演算し、解像度通知部１２は解像度を描画処理部１０に通知し、描画処理部１０は通知された解像度を用いてデータ１３の論理座標をデバイス座標にマップして描画座標値を求め、プリンタドライバ５に描画指示を発行し、プリンタドライバ５は印刷ジョブを生成して通信制御部８を介してプリンタ３に送信する。【選択図】  図１
2004199627.tif 000002
【特許請求の範囲】
【請求項１】
第１の座標で示されるイメージデータを描画デバイスに出力する際に、
座標の変換を行う座標変換手段が前記描画デバイスに設定された第１の解像度に基づき、前記イメージデータを第１の座標から変換した該描画デバイスにおける第２の座標に対応する情報量が、該座標変換手段が扱う最大情報量を超過する場合、
前記情報量が前記最大情報量を超過しない第２の解像度を演算し、
該演算した第２の解像度を前記座標変換手段に通知し、
前記座標変換手段は前記第２の解像度に基づき、前記第１の座標を前記第２の座標に変換する
ことを特徴とするデータ演算方法。
【請求項２】
前記イメージデータを出力する前記描画デバイスによる描画領域のサイズが予め設定したサイズより大きい場合、前記第２の解像度を演算する
ことを特徴とする請求項１記載のデータ演算方法。
【請求項３】
前記イメージデータを出力する際の出力条件に基づき、前記描画領域のサイズを判断し、
該判断した描画領域のサイズが予め設定したサイズより大きい場合、前記第２の解像度を演算する
ことを特徴とする請求項２記載のデータ演算方法。
【請求項４】
前記描画デバイスが画像形成装置の際には、前記イメージデータを印刷する用紙の長辺が必要とする情報量が、前記最大情報量を超過する場合、前記第２の解像度を演算する
ことを特徴とする請求項２記載のデータ演算方法。
【請求項５】
第１の座標で示されるイメージデータを描画デバイスに出力する際に、
座標の変換を行う座標変換手段が前記描画デバイスに設定された第１の解像度に基づき、前記イメージデータを第１の座標から変換した該描画デバイスにおける第２の座標に対応する情報量が、該座標変換手段が扱う最大情報量を超過する場合、
前記情報量が前記最大情報量を超過しない第２の解像度を演算する演算手段と、
前記演算手段で演算した第２の解像度を前記座標変換手段に通知する通知手段と
を具備することを特徴とするデータ演算装置。
【請求項６】
前記演算手段は、
前記イメージデータを出力する前記描画デバイスの描画領域のサイズが予め設定したサイズより大きい場合、前記第２の解像度を演算する
ことを特徴とする請求項５記載のデータ演算装置。
【請求項７】
前記演算手段は、
前記イメージデータを出力する際の出力条件に基づき、前記描画領域のサイズを判断し、該判断した描画領域のサイズが予め設定したサイズより大きい場合、前記第２の解像度を演算する
ことを特徴とする請求項６記載のデータ演算装置。
【請求項８】
前記演算手段は、
前記描画デバイスが画像形成装置の際には、前記イメージデータを印刷する用紙の長辺が必要とする情報量が、前記最大情報量を超過する場合、前記第２の解像度を演算する
ことを特徴とする請求項６記載のデータ演算装置。
【請求項９】
第１の座標で示されるイメージデータを描画デバイスに出力する際に、
座標の変換を行う座標変換手段が前記描画デバイスに設定された第１の解像度に基づき、前記イメージデータを第１の座標から変換した該描画デバイスにおける第２の座標に対応する情報量が、該座標変換手段が扱う最大情報量を超過する場合、
前記情報量が前記最大情報量を超過しない第２の解像度を演算する処理と、
該演算した第２の解像度を前記座標変換手段に通知する処理と
をコンピュータに動作させることを特徴とするデータ演算プログラム。
【請求項１０】
前記イメージデータを出力する前記描画デバイスの描画領域のサイズが予め設定したサイズより大きい場合、前記第２の解像度を演算する処理
をコンピュータに動作させることを特徴とする請求項９記載のデータ演算プログラム。
【請求項１１】
前記イメージデータを出力する際の出力条件に基づき、前記描画領域のサイズを判断し、該判断した描画領域のサイズが予め設定したサイズより大きい場合、前記第２の解像度を演算する処理
をコンピュータに動作させることを特徴とする請求項１０記載のデータ演算プログラム。
【請求項１２】
前記描画デバイスが画像形成装置の際には、前記イメージデータを印刷する用紙の長辺が必要とする情報量が、前記最大情報量を超過する場合、前記第２の解像度を演算する処理
をコンピュータに動作させることを特徴とする請求項１０記載のデータ演算プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ演算方法および装置およびプログラムに関し、特に、アプリケーションでの論理座標を描画デバイスでのデバイス座標にマップするデータ演算方法および装置およびプログラムに関する。
【０００２】
【従来の技術】
コンピュータ等では、ワードプロセッサまたは表計算等のようなアプリケーションが基本ソフトであるＯＳ（Operating System）上で動作しており、ＯＳの機能を利用することで、アプリケーションのデータをディスプレイまたはプリンタ等の描画デバイスから出力している。
【０００３】
例えば、アプリケーションの画像データをプリンタにより印刷する場合、ＯＳがアプリケーションでの座標空間（以後、論理座標とする）を描画デバイスでの座標空間（以後、デバイス座標とする）にマップして描画デバイスにおける描画座標値を求め、画像データを描画する描画指示をプリンタのデバイスドライバであるプリンタドライバに発行し、プリンタドライバは描画指示を印刷する画像に展開してプリンタが理解可能な制御指示によって画像をプリンタに対して送信し、プリンタは画像を印刷する。
【０００４】
ただし、論理座標をデバイス座標にマップする際、デバイス座標の解像度が高い場合には、描画デバイスにおける描画座標値が桁あふれを起こして正しい描画座標値を求めることができなかった。
【０００５】
そこで、描画デバイスから高速に且つ正確な出力結果を取得するために、デバイスドライバが出力のために実際に画像を展開する解像度より低い解像度を自動的に指定するものがある（例えば、特許文献１参照。）。
【０００６】
【特許文献１】
特開平７−９８６３６号公報
【発明が解決しようとする課題】
しかし、アプリケーションの画像データをプリンタにより印刷する場合、Ａ０サイズまたはそれ以上の大きな用紙サイズ（例えば、ロール紙等）に印刷する際に、従来の技術では、印刷する用紙サイズに応じてプリンタドライバの解像度を変更する機能が提供されていないため、大きな用紙サイズに印刷することができないという問題があった。
【０００７】
そこで、本発明は、大きなサイズで画像データを出力する場合でも、正しい描画座標値を演算することが可能なデータ演算方法および装置およびプログラムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、請求項１の発明は、第１の座標で示されるイメージデータを描画デバイスに出力する際に、座標の変換を行う座標変換手段が前記描画デバイスに設定された第１の解像度に基づき、前記イメージデータを第１の座標から変換した該描画デバイスにおける第２の座標に対応する情報量が、該座標変換手段が扱う最大情報量を超過する場合、前記情報量が前記最大情報量を超過しない第２の解像度を演算し、該演算した第２の解像度を前記座標変換手段に通知し、前記座標変換手段は前記第２の解像度に基づき、前記第１の座標を前記第２の座標に変換することを特徴とする。
【０００９】
また、請求項２の発明は、請求項１の発明において、前記イメージデータを出力する前記描画デバイスによる描画領域のサイズが予め設定したサイズより大きい場合、前記第２の解像度を演算することを特徴とする。
【００１０】
また、請求項３の発明は、請求項２の発明において、前記イメージデータを出力する際の出力条件に基づき、前記描画領域のサイズを判断し、該判断した描画領域のサイズが予め設定したサイズより大きい場合、前記第２の解像度を演算することを特徴とする。
【００１１】
また、請求項４の発明は、請求項２の発明において、前記描画デバイスが画像形成装置の際には、前記イメージデータを印刷する用紙の長辺が必要とする情報量が、前記最大情報量を超過する場合、前記第２の解像度を演算することを特徴とする。
【００１２】
また、請求項５の発明は、第１の座標で示されるイメージデータを描画デバイスに出力する際に、座標の変換を行う座標変換手段が前記描画デバイスに設定された第１の解像度に基づき、前記イメージデータを第１の座標から変換した該描画デバイスにおける第２の座標に対応する情報量が、該座標変換手段が扱う最大情報量を超過する場合、前記情報量が前記最大情報量を超過しない第２の解像度を演算する演算手段と、前記演算手段で演算した第２の解像度を前記座標変換手段に通知する通知手段とを具備することを特徴とする。
【００１３】
また、請求項６の発明は、請求項５の発明において、前記演算手段は、前記イメージデータを出力する前記描画デバイスの描画領域のサイズが予め設定したサイズより大きい場合、前記第２の解像度を演算することを特徴とする。
【００１４】
また、請求項７の発明は、請求項６の発明において、前記演算手段は、前記イメージデータを出力する際の出力条件に基づき、前記描画領域のサイズを判断し、該判断した描画領域のサイズが予め設定したサイズより大きい場合、前記第２の解像度を演算することを特徴とする。
【００１５】
また、請求項８の発明は、請求項６の発明において、前記演算手段は、前記描画デバイスが画像形成装置の際には、前記イメージデータを印刷する用紙の長辺が必要とする情報量が、前記最大情報量を超過する場合、前記第２の解像度を演算することを特徴とする。
【００１６】
また、請求項９の発明は、第１の座標で示されるイメージデータを描画デバイスに出力する際に、座標の変換を行う座標変換手段が前記描画デバイスに設定された第１の解像度に基づき、前記イメージデータを第１の座標から変換した該描画デバイスにおける第２の座標に対応する情報量が、該座標変換手段が扱う最大情報量を超過する場合、前記情報量が前記最大情報量を超過しない第２の解像度を演算する処理と、該演算した第２の解像度を前記座標変換手段に通知する処理とをコンピュータに動作させることを特徴とする。
【００１７】
また、請求項１０の発明は、請求項９の発明において、前記イメージデータを出力する前記描画デバイスの描画領域のサイズが予め設定したサイズより大きい場合、前記第２の解像度を演算する処理をコンピュータに動作させることを特徴とする。
【００１８】
また、請求項１１の発明は、請求項１０の発明において、前記イメージデータを出力する際の出力条件に基づき、前記描画領域のサイズを判断し、該判断した描画領域のサイズが予め設定したサイズより大きい場合、前記第２の解像度を演算する処理をコンピュータに動作させることを特徴とする。
【００１９】
また、請求項１２の発明は、請求項１０の発明において、前記描画デバイスが画像形成装置の際には、前記イメージデータを印刷する用紙の長辺が必要とする情報量が、前記最大情報量を超過する場合、前記第２の解像度を演算する処理をコンピュータに動作させることを特徴とする。
【００２０】
【発明の実施の形態】
以下、本発明に係わるデータ演算方法および装置およびプログラムの実施の形態について添付図面を参照して詳細に説明する。
【００２１】
図１は、本発明に係わるデータ演算装置１の機能的な構成の一例を示すブロック図である。図１において、クライアント２と描画デバイスであるプリンタ３とがネットワーク４に接続されて構成され、クライアント２にはプリンタ３のデバイスドライバであるプリンタドライバ５がインストールされている。
【００２２】
図１に示すように、クライアント２は、データ演算装置１、ＯＳ（Operating System）６、ＯＳ６上で稼働してデータ１３の作成および編集を行うアプリケーション７、印刷ジョブ等の生成を行うプログラム等を有するプリンタドライバ５、ネットワーク４を介した通信を行うための通信制御を行う通信制御部８から構成されている。これらは、ＯＳ６の制御下で、ＯＳ６の機能を利用して各種処理を実行する。なお、図示しないものの、クライアント２には、キーボードまたはマウス等の入力装置、ディスプレイ等の表示装置が接続されている。
【００２３】
ＯＳ６は、プリンタドライバ５の管理を行うプリンタドライバ管理部９と、アプリケーション７のデータ１３の論理座標をデバイス座標にマップしてプリンタ３における描画座標値を求め、データ１３を描画する描画指示をプリンタドライバ５に発行する描画処理部１０とを有する。
【００２４】
データ演算装置１は、描画処理部１０が求めるプリンタ３における描画座標値が桁あふれを起こさない解像度を演算する解像度演算部１１と、解像度演算部１１で演算した解像度を描画処理部１０に通知する解像度通知部１２とを有する。
【００２５】
また、データ演算装置１は、プリンタドライバ５の構成要素として組み込まれていても良い。
【００２６】
ここで、クライアント２が構成するＯＳ６、プリンタドライバ５およびデータ演算装置１の機能的な動作について説明する。
【００２７】
アプリケーション７がデータ１３を処理中に、データ１３の印刷が指示された場合、アプリケーション７はデータ１３を描画する描画指示（例えば、データ中のテキストまたは図形の描画を要求する指示等を含む）を描画処理部１０およびプリンタドライバ管理部９に発行する。ここで、プリンタドライバ管理部９は、プリンタドライバ５に設定されている印刷する原稿の用紙サイズを確認し、原稿の用紙サイズが予め設定したサイズより大きいサイズの場合、原稿の用紙サイズを解像度演算部１１に通知し、解像度演算部１１は原稿の用紙サイズを受け取ると、その原稿の用紙サイズにおいて正しい描画座標値を求めることが可能な解像度を演算し、演算した解像度を解像度通知部１２に送り、解像度通知部１２は解像度を受け取ると、解像度を描画処理部１０に通知する。そして、描画処理部１０は解像度演算部１１で演算した解像度を用いてデータ１３の論理座標をデバイス座標にマップしてプリンタ３における描画座標値を求め、データ１３を描画する描画指示をプリンタドライバ５に発行し、プリンタドライバ５は描画指示を受け取ると、描画指示に基づいて印刷ジョブを生成し、通信制御部８を介して印刷ジョブをプリンタ３に送信する。
【００２８】
ここで、解像度演算部１１が行う解像度の演算について説明する。なお、ＯＳ６がＷｉｎｄｏｗｓ（登録商標）、プリンタドライバ５に設定されている印刷する原稿の用紙サイズがＡ０（841×1189mm）、描画座標値が１６ｂｉｔ符号付整数で示される場合を一例にして説明する。
【００２９】
Ａ０の長辺は１１８９ｍｍで、これは約４６．８５ｉｎｃｈであり、１６ｂｉｔ符号付整数において表現が可能な正の値は３２７６７であるため、プリンタ３における描画座標値を正しく求めることが可能な解像度（Ｘ）は、
「４６．８５ × Ｘ ≦ ３２７６７」
の式で求めることができる。従って、用紙サイズがＡ０の場合、Ｘは約６９９なので、例えば、プリンタドライバ５がサポートする解像度が３００ｄｐｉ、６００ｄｐｉ、１２００ｄｐｉである場合、解像度を６００ｄｐｉと設定し、この６００ｄｐｉという解像度をＷｉｎｄｏｗｓ（登録商標）に通知する。
【００３０】
なお、上記で説明した解像度の演算はＷｉｎｄｏｗｓ（登録商標）に限らず、論理座標をデバイス座標にマップするあらゆるＯＳに適用される。
【００３１】
次に、アプリケーション７のデータ１３の印刷が指示されたＯＳ６およびデータ演算装置１が行う処理手順について図２のフローチャートを参照して説明する。
【００３２】
印刷が指示され（ステップＳ２０１）、プリンタドライバに設定されている印刷する原稿の用紙サイズが予め設定したサイズより大きいか否か確認し（ステップＳ２０２）、予め設定したサイズより大きい場合（ステップＳ２０２でＹＥＳ）、正しい描画座標値を求めることが可能な解像度を演算し（ステップＳ２０３）、演算した解像度をＯＳに通知し（ステップＳ２０４）、演算した解像度を用いてデータの論理座標をデバイス座標にマップしてプリンタにおける描画座標値を求め（ステップＳ２０５）、描画指示をプリンタドライバに発行し（ステップＳ２０６）、処理手順を終了する。
【００３３】
なお、ステップＳ２０２において、予め設定したサイズより小さい場合（ステップＳ２０２でＮＯ）、プリンタドライバに設定されている解像度を用いてマップしてプリンタにおける描画座標値を求め（ステップＳ２０７）、ステップＳ２０６に進む。
【００３４】
なお、上記実施例では、アプリケーションのデータの印刷が指示された際に、正しい描画座標値を求めることが可能な解像度を演算する構成を説明したが、印刷する原稿の用紙サイズをプリンタドライバに設定し、設定した用紙サイズが予め設定した用紙サイズより大きい際に、正しい描画座標値を求めることが可能な解像度を演算し、演算した解像度をプリンタドライバに設定する構成でも良い。
【００３５】
図３は、表示装置に表示されたプリンタドライバ５のプロパティ・ウィンドの一例を示す図である。
【００３６】
図３に示すように、マウス等のポインティングデバイス（以後、マウスとする）により、用紙サイズのコンボボックス１４から印刷する原稿の用紙サイズを選択し、マウスにより、「ＯＫ」のボタン１５または「適用」のボタン１６をクリックすると、選択した用紙サイズがプリンタドライバに設定される。例えば、印刷する原稿の用紙サイズが「Ａ０」以上の際に、正しい描画座標値を求めることが可能な解像度を演算するように予め設定した場合、図３では、用紙サイズが「Ａ０」に設定されているので、「Ａ０」において正しい描画座標値を求めることが可能な解像度を演算し、演算した解像度をプリンタドライバに設定する。
【００３７】
また、上記実施例では、プリンタドライバに設定した印刷する原稿の用紙サイズが、予め設定した用紙サイズより大きい際に、正しい描画座標値を求めることが可能な解像度を演算する構成を説明したが、プリンタドライバに設定されている解像度を用いてデータの論理座標をデバイス座標にマップしてプリンタにおける描画座標値を求め、求めた描画座標値が桁あふれを起こしている場合は、正しい描画座標値を求めることが可能な解像度を演算する構成でも良い。例えば、設定されている解像度が１２００ｄｐｉのプリンタドライバに対してデータをＡ１（594×841mm）の用紙サイズに印刷する指示をした際に、Ａ１の長辺は８４１ｍｍで、これは約３３．１４ｉｎｃｈであり、これからプリンタにおける描画座標値は３９７６８になり、１６ｂｉｔ符号付整数において表現が可能な正の値である３２７６７より大きくなり、桁あふれを起こしてしまう場合でも、プリンタにおける描画座標値を正しく求めることが可能な解像度を改めて演算すれば良い。
【００３８】
次に、アプリケーション７のデータ１３の印刷が指示されたＯＳ６およびデータ演算装置１が行う処理手順について図４のフローチャートを参照して説明する。
【００３９】
印刷が指示され（ステップＳ４０１）、プリンタドライバに設定されている解像度を用いてデータの論理座標をデバイス座標にマップしてプリンタにおける描画座標値を求め（ステップＳ４０２）、求めた描画座標値が桁あふれを起こしているか否か確認し（ステップＳ４０３）、桁あふれを起こしている場合（ステップＳ４０３でＹＥＳ）、正しい描画座標値を求めることが可能な解像度を演算し（ステップＳ４０４）、演算した解像度をＯＳに通知し（ステップＳ４０５）、演算した解像度を用いて描画座標値を求め（ステップＳ４０６）、描画指示をプリンタドライバに発行し（ステップＳ４０７）、処理手順を終了する。
【００４０】
なお、ステップＳ４０３において、桁あふれを起こしていない場合（ステップＳ４０３でＮＯ）、ステップＳ４０７に進む。
【００４１】
また、プリンタドライバ５には印刷する原稿の用紙サイズを設定するだけでなく、印刷モード等を指定することができるものもある。そこで、ある印刷モードが設定された際には大きな用紙サイズが指定されると判断し、正しい描画座標値を求めることが可能な解像度を演算し、演算した解像度をプリンタドライバに設定する。
【００４２】
図５は、表示装置に表示されたプリンタドライバ５のプロパティ・ウィンドの一例を示す図である。
【００４３】
図５に示すように、マウスにより、印刷モードのコンボボックス１７から印刷モードを選択し、マウスにより、「ＯＫ」のボタン１５または「適用」のボタン１６をクリックすると、選択した印刷モードがプリンタドライバ５に設定される。ここで、図５では、印刷モードとして「ＣＡＤモード」が選択されているので、印刷する原稿の用紙サイズとしてＡ０以上が指定されると判断し、正しい描画座標値を求めることが可能な解像度を演算し、演算した解像度をプリンタドライバ５に設定する。
【００４４】
図６は、表示装置に表示されたプリンタドライバ５のプロパティ・ウィンドの一例を示す図である。
【００４５】
図６に示すように、プリンタドライバ５のプロパティ・ウィンド上に現状のプリンタドライバ５の設定で印刷可能な最大用紙サイズ（または、印刷可能な最長の長辺）を表示することで、ユーザが設定を変更すべきか否かの判断を助けるようにする。
【００４６】
なお、上記実施例で説明したデータ演算装置１と同様の動作を行うことが可能なデータ演算プログラムをクライアント２にインストールする構成でも適用可能である。
【００４７】
また、上記実施例では、描画デバイスとしてプリンタを、描画デバイスのデバイスドライバとしてプリンタドライバを一例として説明してきたが、本発明はプリンタとプリンタドライバとに限定することはなく、ディスプレイ等の他の描画デバイスとデバイスドライバとに適用することができる。
【００４８】
【発明の効果】
以上説明したように本発明によれば、大きなサイズで画像データを出力する場合でも、正しい描画座標値を演算することで、正しい出力結果を取得することが可能になるという効果を奏する。
【図面の簡単な説明】
【図１】本発明に係わるデータ演算装置１の機能的な構成の一例を示すブロック図である。
【図２】アプリケーション７のデータ１３の印刷が指示されたＯＳ６およびデータ演算装置１が行う処理手順を示すフローチャートである。
【図３】表示装置に表示されたプリンタドライバ５のプロパティ・ウィンドの一例を示す図である。
【図４】アプリケーション７のデータ１３の印刷が指示されたＯＳ６およびデータ演算装置１が行う処理手順を示すフローチャートである。
【図５】表示装置に表示されたプリンタドライバ５のプロパティ・ウィンドの一例を示す図である。
【図６】表示装置に表示されたプリンタドライバ５のプロパティ・ウィンドの一例を示す図である。
【符号の説明】
１    データ演算装置
２    クライアント
３    プリンタ
４    ネットワーク
５    プリンタドライバ
６    ＯＳ
７    アプリケーション
８    通信制御部
９    プリンタドライバ管理部
１０    描画処理部
１１    解像度演算部
１２    解像度通知部
１３    データ
１４    用紙サイズのコンボボックス
１５    「ＯＫ」のボタン
１６    「適用」のボタン
１７    印刷モードのコンボボックス
【図１】
2004199627.tif 000003
【図２】
2004199627.tif 000004
【図３】
2004199627.tif 000005
【図４】
2004199627.tif 000006
【図５】
2004199627.tif 000007
【図６】
2004199627.tif 000008