(57)【要約】【課題】  印刷装置にクリップ指定されたビットマップ描画を含む印刷データを送る際のデータ転送時間の短縮を目的とする。【解決手段】  描画命令がビットマップの一部の矩形を拡大するものであると判断された場合に、対象となるビットマップを指定されたサイズに拡大した後のビットマップの容量と、拡大前のビットマップの容量とを比較するにより、プリンタドライバにおいて拡大処理の必要性を判断する。【選択図】  図８
2006059232.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを司るオペレーティングシステムからプリンタドライバに印刷命令が送られてきた場合に、前記オペレーティングシステムからの描画命令がビットマップの一部の矩形を拡大するものであるか否かを判断する第一判断工程と、
前記第一判断工程により前記描画命令がビットマップの一部の矩形を拡大するものであると判断された場合に、対象となるビットマップを指定されたサイズに拡大した後のビットマップの容量と、拡大前のビットマップの容量とを比較するにより、プリンタドライバにおいて拡大処理の必要性を判断する第二判断工程と、
前記第二判断工程によりプリンタドライバにおいて拡大処理の必要があると判断された場合に、対象となるビットマップを指定されたサイズおよび形状に拡大処理する拡大処理工程とを含むことを特徴とする印刷制御方法。
【請求項２】
前記第二判断工程は、元のビットマップと拡大後してクリップ指定に応じて切り取られた部分ビットマップの容量とを比較することで必要性を判断することを特徴とする請求項１記載の印刷制御方法。
【請求項３】
前記第二判断工程は、必要性を前記コンピュータの処理能力を加味して判断することを特徴とする請求項１記載の印刷制御方法。
【請求項４】
情報処理装置を司るオペレーティングシステムからプリンタドライバに印刷命令が送られてきた場合に、前記オペレーティングシステムからの描画命令がビットマップの一部の矩形を拡大するものであるか否かを判断する第一判断手段と、
前記第一判断手段により前記描画命令がビットマップの一部の矩形を拡大するものであると判断された場合に、対象となるビットマップを指定されたサイズに拡大した後のビットマップの容量と、拡大前のビットマップの容量とを比較するにより、プリンタドライバにおいて拡大処理の必要性を判断する第二判断手段と、
前記第二判断手段によりプリンタドライバにおいて拡大処理の必要があると判断された場合に、対象となるビットマップを指定されたサイズおよび形状に拡大処理する拡大処理手段とを備えることを特徴とする情報処理装置。
【請求項５】
情報処理装置を司るオペレーティングシステムからプリンタドライバに印刷命令が送られてきた場合に、前記オペレーティングシステムからの描画命令がビットマップの一部の矩形を拡大するものであるか否かを判断する第一判断工程と、
前記第一判断工程により前記描画命令がビットマップの一部の矩形を拡大するものであると判断された場合に、対象となるビットマップを指定されたサイズに拡大した後のビットマップの容量と、拡大前のビットマップの容量とを比較するにより、プリンタドライバにおいて拡大処理の必要性を判断する第二判断工程と、
前記第二判断工程によりプリンタドライバにおいて拡大処理の必要があると判断された場合に、対象となるビットマップを指定されたサイズおよび形状に拡大処理する拡大処理工程とを含むことを特徴とするコンピュータ読み取り可能な印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御方法および情報処理装置および印刷制御プログラムに関して、特にパーソナルコンピュータなどの情報処理装置におけるプリンタの印刷制御方法に関するものである。
【背景技術】
【０００２】
従来、プリンタドライバでは、アプリケーションからの描画コマンドをオペレーティングシステム（以下、ＯＳ）を介して受け取った場合に、拡大されていないビットマップ全体と矩形クリップ情報をプリンタに送り、ビットマップの拡大と矩形クリップ部分の切り出しはプリンタ側で行っていた（図１）。
【０００３】
また、特許文献１に記載されているように、プリンタドライバ側でクリップ処理を行うことでデータ量を削減する技術が開示されている。
【特許文献１】特開平９−３７０６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のプリンタドライバのビットマップ全体をプリンタに送る方法では、プリンタ出力に必要のない矩形クリップ外のデータまでプリンタに転送しているため不必要データの分だけデータ転送時間やプリンタ内のメモリを余分に費やしてしまう。これに対し、矩形クリップ内のデータのみを転送する方法が考えられるが、プリンタ側で拡大するときに、拡大率が整数倍でない場合クリップ境界外側のデータの状態がわからないため、境界付近の画像が歪んでしまう恐れがある（実施例および図７にて説明）。そこで、ドライバ側でビットマップ全体を参照しながらクリップ部分のみの拡大ビットマップを作成し、プリンタに転送することで、正しく拡大された必要な画像のみを転送することができる。転送時間の短縮、プリンタメモリの節約という点から、拡大されたクリップビットマップが、元のビットマップ全体より容量が小さい場合に有効な処理となる。
【課題を解決するための手段】
【０００５】
本発明の印刷制御方法は、コンピュータを司るオペレーティングシステムからプリンタドライバに印刷命令が送られてきた場合に、前記オペレーティングシステムからの描画命令がビットマップの一部の矩形を拡大するものであるか否かを判断する第一判断工程と、前記第一判断工程により前記描画命令がビットマップの一部の矩形を拡大するものであると判断された場合に、対象となるビットマップを指定されたサイズに拡大した後のビットマップの容量と、拡大前のビットマップの容量とを比較するにより、プリンタドライバにおいて拡大処理の必要性を判断する第二判断工程と、前記第二判断工程によりプリンタドライバにおいて拡大処理の必要があると判断された場合に、対象となるビットマップを指定されたサイズおよび形状に拡大処理する拡大処理工程とを含むことを特徴とする。
【０００６】
また、前記第二判断工程は、元のビットマップと拡大後してクリップ指定に応じて切り取られた部分ビットマップの容量とを比較することで必要性を判断する。
【０００７】
また、前記第二判断工程は、必要性を前記コンピュータの処理能力を加味して判断する。
【発明の効果】
【０００８】
本発明によれば、印刷装置にクリップ指定されたビットマップ描画を含む印刷データを送るとき、常に少ない方のデータを送るため、データ転送時間の短縮を図ることができ、結果的に印刷時間の短縮することができる。
【発明を実施するための最良の形態】
【０００９】
以下、画面を参照して本発明に係る一実施例を詳細に説明する。
【実施例】
【００１０】
図２はソース側ビットマップ（元のビットマップ）全体の例である。１０＊１０で１００の容量を持つビットマップである。
【００１１】
図３はデスト側ビットマップ（拡大後のビットマップ）である。全体が１４＊１４に拡大されている。黒塗りの部分はクリップ情報により印刷することを指定されたエリアはである。外側は印刷されない部分である。
【００１２】
図４はソース側ビットマップのＸ軸方向の各ピクセルをデスト側ビットマップに拡大するときのピクセルの対応図である。この拡大は以下の式に従って行った。
（拡大後のピクセル数）＝（（Ｘ＊デスト側のＸ軸のピクセル数）／ソース側のＸ軸のピクセル数）−（（（Ｘ−１）＊デスト側のＸ軸のピクセル数）／ソース側のＸ軸のピクセル数）
（Ｘ＞＝１、Ｘ＜＝ソース側のＸ軸のピクセル数）
※割り算は小数点以下切り捨て
【００１３】
図５はソース側ビットマップのＹ軸方向の各ラインをデスト側ビットマップに拡大するときのラインの対応図である。この拡大は以下の式に従って行った。
（拡大後のＸライン数）＝（（Ｙ＊デスト側のＹ軸のピクセル数）／ソース側のＹ軸のピクセル数）−（（（Ｙ−１）＊デスト側のＹのピクセル数）／ソース側のＹのピクセル数）
（Ｙ＞＝１、Ｙ＜＝ソース側のＹ軸のＸライン数）
割り算は小数点以下切り捨て１．データ
【００１４】
図６は図４，５の方法で拡大された場合のソース側ビットマップとデスト側ビットマップのクリップエリア部分のピクセルの対応図である。ソース側の黒塗りの部分のピクセルがデスト側の太枠内の部分に拡大転送される。太枠内のうち黒塗りの部分が印刷される部分で、外枠の部分は印刷されないため、転送の必要がない。
【００１５】
図７はソース側をクリップで切り出したものを拡大した場合に図形に歪みが起こる可能性を図６との比較で示すものである。図５ではソース全体から割り出した拡大率でソースのクリップ部分を拡大するとデスト側で太枠の大きさに拡大されるため、黒塗りの外周部分は切り捨てられるが、図７ではソース全体の拡大率がわからず、デストの黒塗りのエリアに対して直接拡大するため、図６の外周にあたる部分が黒塗りの内側に反映されるため、内側に歪んだ図形になってしまう。
【００１６】
図８はこの印刷処理のフローチャートである。ＯＳからソース側のビットマップとクリップ情報が来たとき、まずデスト側でクリップ部分の容量を計算する。この容量がコンピュータの処理能力で対応できないほど大きい場合（メモリ不足など）ソース側ビットマップとクリップ情報をそのままプリンタに送る。そうでない場合ソース側ビットマップの容量も計算し、デスト側クリップ部分との容量の比較を行う。デスト側が大きい場合はソース側ビットマップとクリップ情報をそのままプリンタに送る。そうでない場合は、ソース側をデスト側に拡大しながらクリップ部分のデータを作成し、作成されたデスト側のクリップ部分データをプリンタに送る。
【００１７】
本実施例としてはプリンタへの転送での例を示したが、例えばドライバ内部においてデータをＳｐｏｏｌする方式の印刷においても同様である。その場合はｓｐｏｏｌサイズが小さくなるというメリットがある。
【図面の簡単な説明】
【００１８】
【図１】従来のプリンタ側でビットマップの拡大とクリップ領域の切り出しを行う方法の概念図
【図２】ソース側ビットマップである（左上座標（０，０）右下座標（１０，１０））。
【図３】デスト側ビットマップである（左上座標（０，０）右下座標（１４，１４））。黒塗り部分は印刷すべきクリップ領域である（左上座標（３，３）右下座標（１０，１０））。
【図４】ソース側ビットマップがデスト側に拡大されるとき、ソース側のＸ方向の各ピクセルがデスト側のどのピクセルに対応するように拡大されるかを示す。上側がソース側ビットマップ、下側がデスト側ビットマップ。
【図５】ソース側ビットマップがデスト側に拡大されるとき、ソース側のＹ方向の各ラインがデスト側のどのラインに対応するように拡大されるかを示す。左側がソース側ビットマップ、右側がデスト側ビットマップ。
【図６】ソース側ビットマップのどの部分がデスト側のクリップ領域に対応して拡大されるかを示す。
【図７】先にソース側をクリップで切り出した場合ソース側ビットマップのどの部分がデスト側のクリップ領域に対応して拡大されるかを示す。
【図８】この技術のフローチャート
【図１】
2006059232.tif 000003
【図２】
2006059232.tif 000004
【図３】
2006059232.tif 000005
【図４】
2006059232.tif 000006
【図５】
2006059232.tif 000007
【図６】
2006059232.tif 000008
【図７】
2006059232.tif 000009
【図８】
2006059232.tif 000010