(57)【要約】【課題】  文書データに含まれる画像の画素数（幅×高さ）とプリンタの用紙に印刷するときの描画領域を構成する画素数（幅×高さ）が一致しない場合でも、文書データに含まれる画像の品質を落とすことなく、プリンタの印刷スピードを維持することができるプリンタドライバを提供する。【解決手段】  プリンタドライバに印刷データ生成部１２と連携する補正処理部１４を設けて、文書データ４に含まれる画像４０の画素数４２（幅×高さ）と、プリンタ２の用紙２０に印刷するときの描画領域を構成する画素数２２ａ（幅×高さ）との比が整数値にならない場合に、プリンタ２の用紙２０に印刷するときの描画領域の指定値８５ａを、画像４０の画素数４２と印刷するときの描画領域を構成する画素数２２ｂとの比が整数値になる補正値８５ｂに置換して印刷データ８を生成する。【選択図】図１
2006011804.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータの応用ソフトからプリンタに印刷する場合に、文書データをプリンタで扱うことのできる印刷データに変換するプリンタドライバであって、プリンタで出力するときの印刷条件の入力を受け付ける手段と、文書データに含まれる画像のサイズを取得する手段と、プリンタで出力するときの画像のサイズを取得する手段と、文書データに含まれるオリジナル画像のサイズとプリンタで出力するときの画像のサイズを比較する手段と、前記手段の比較結果に応じて印刷データに出力する画像サイズの指定値を補正する手段とを有することを特徴とするプリンタドライバ。
【請求項２】
前記プリンタで出力するときの印刷条件の入力を受け付ける手段は、前記画像サイズの指定値を補正する手段を使用するかどうかをユーザが任意に選択する手段を有することを特徴とする請求項１記載のプリンタドライバ。
【請求項３】
前記プリンタで出力するときの印刷条件の入力を受け付ける手段は、前記画像サイズの指定値を補正するときの詳細な条件をユーザが任意に指定する手段を有することを特徴とする請求項１記載のプリンタドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの応用ソフトからプリンタへ印刷を行う場合に、応用ソフト上の文書データをプリンタが処理できる印刷データに変換する役割を担うプリンタドライバに関するものである。
【背景技術】
【０００２】
図３に一般的なプリンタドライバ３７の構成を示す。コンピュータ１上には基本ソフト６、応用ソフト５、プリンタドライバ３７が組み込まれており、コンピュータ１とプリンタ２は通信手段３で結ばれている。
【０００３】
応用ソフト５は、画像４０を含む文書データ４を読み込んだり、文書データ４を編集したりすることができる。画像４０を含む文書データ４をプリンタ２で印刷する場合、応用ソフト５は基本ソフト６を経由してプリンタドライバ３７に印刷を指示する。
【０００４】
プリンタドライバ３７は、ユーザインタフェース１０、印刷データ生成部１２からなる。ユーザインタフェース１０では、文書データ４を印刷する用紙サイズや用紙を給紙するトレイなどの印刷条件を指定することができる。
【０００５】
印刷データ生成部１２は、基本ソフト６と連携しながら、応用ソフト５から基本ソフト６経由で伝達される画像４０を含む文書データ４をプリンタ２で処理することができる印刷データ８に変換する。このとき印刷データ生成部１２は、ユーザインタフェース１０で指定された用紙サイズ８０などの印刷条件に対応するプリンタ制御コードを印刷データ８に挿入する。
【０００６】
プリンタ２での印刷は、印刷データ８が基本ソフト６を経由して通信手段３によりプリンタ２に送信されることにより行われる。
【０００７】
文書データ４に含まれる画像４０に着目すると、プリンタドライバ３７が生成する印刷データ８には、文書データ４に含まれるオリジナル画像４０の色空間４１（ＲＧＢ、ＣＭＹＫ、インデックスカラーなど）および画素数４２（幅×高さ）および１画素あたりのビット数４３および画像データ４４の情報が出力される。
【０００８】
一般に画像データはデータ量が膨大になるため、コンピュータ１からプリンタ２へ送信する画像データ４４そのもののサイズを小さくすることで、印刷データ８の送信時間を短縮させたりプリンタ２内部でのデータ処理量を低減させている。一般に画像データ４４のオリジナルサイズは、１画素あたりのビット数４３と画素数４２の積で求められる。
【０００９】
プリンタドライバ３７では印刷データ８に出力する画像データ８４のサイズを小さくするために、次のような処理が行われている。
（ａ）１画素あたりのビット数が小さくなるように画像４０の色空間４１を別の色空間８１に変換する。例えば色空間４１をＲＧＢ（１画素あたり２４ビット）からグレースケール（１画素あたり８ビット）に変換すると画像データ８４のサイズは画像データ４４の３分の１になる。
（ｂ）画像４０のオリジナル画素数４２を減らす。例えば画素数（１００×１００）で構成されている画像４０を画素数（５０×５０）で構成される画像に変換すると、一般に画像品質は落ちるものの画像データ８４のサイズは画像データ４４の４分の１になる。
（ｃ）１画素あたりのビット数４３を低いレベルのビット数８３に変更する。例えば１画素あたり８ビットのグレースケール画像を１画素あたり１ビットのモノクロ画像に変換すると、画像データ８４のサイズは画像データ４４の８分の１になる。
（ｄ）Ｒｕｎ  ＬｅｎｇｔｈやＣＣＩＴＴファクシミリ規格など、データ損失のない方式で画像データ４４そのものを圧縮して画像データ８４として出力する。
【００１０】
一方、プリンタ２では、印刷データ８に記述された画像４０の色空間８１および画素数８２および１画素あたりのビット数８３および画像データ８４と、プリンタ２で印刷するときの描画領域８５の情報にしたがってレンダリング処理を行う。
【００１１】
描画領域８５（幅×高さ）は、応用ソフト５が指示するもので、プリンタ２で用紙２０に印刷するときに画像４０を描画する領域を示している。描画領域８５を構成するために必要な画素数２２（幅×高さ）は、印刷データ８で指定された描画領域８５とプリンタ２の解像度から決定される。例えば描画領域８５が１００×２００ｍｍで、解像度６００ｄｐｉ（ｄｏｔｓ  ｐｅｒ  ｉｎｃｈ）のモノクロプリンタの場合、画素数２２は２３６２×４７２４となる。
【００１２】
プリンタ２で画像４０を用紙２０の描画領域８５に印刷するには、描画領域８５を構成する個々の画素に、印刷データ８で出力された画像データ８４の個々の画素をマッピングする必要がある。
【００１３】
図４のように、画像４０の画素数８２（幅×高さ）と描画領域８５を構成する画素数２２（幅×高さ）が等しいか、画像４０の画素数８２と描画領域８５を構成する画素数２２との比が整数値になる場合は、数式例８６のようにメモリ参照と単純な演算の組み合わせのみで高速なマッピング処理が可能である。
【００１４】
ところが、画像４０の画素数８２（幅×高さ）と描画領域８５を構成する画素数２２（幅×高さ）との比が整数値にならず１画素でもずれがある場合には、画像４０から描画領域８５への画素間の補間処理が必要になる。このときの補間方法としてニアレストネイバー法、バイリニア法、バイキュービック法などが知られているが、これらのマッピング手法では実数演算が必要となり、マッピング手法によってはべき乗を含む多項式演算をすることになるためプリンタ２の演算負荷が格段に大きくなっていた。
【００１５】
例えば、スキャナ装置でＡ４サイズ（２１０×２９７ｍｍ）、モノクロ６００ｄｐｉの解像度で取り込んだ画像４０ａは、１画素あたりのビット数４３ａが１、画素数４２ａは理論値で４９６０×７０１５となる。この画像４０ａを応用ソフト５を利用して、解像度６００ｄｐｉのモノクロプリンタ２ａでＡ４サイズの用紙に印刷すると、一般的にプリンタドライバ３７は、１画素あたりのビット数８３ａが１、画素数８２ａが４９６０×７０１５、用紙２０ａでの描画領域８５ａがＡ４サイズ（２１０×２９７ｍｍ）の印刷データ８ａを生成する。このとき、スキャナ装置の読み取り範囲の誤差、プリンタの機種依存となる用紙余白領域の違いや応用ソフト５での印刷設定（拡大縮小やＮ−ｕｐ印刷）など、複数の要因により画像４０ａの画素数８２ａと描画領域８５ａを構成する画素数２２ａの値が完全に一致するとは限らない。
【００１６】
画像４０ａのように解像度が高くサイズの大きな画像を含む大量の文書データを連続印刷する場合、画像４０ａの画素数８２ａと描画領域８５ａを構成する画素数２２ａの値がわずかに１画素でも異なると高速なマッピング処理ができず、プリンタの演算負荷が増大するためレンダリング処理が最大印刷スピードに追いつかず、間欠印刷を引き起こす原因となっていた。
【００１７】
【特許文献１】特開平１０−７１７５０号公報
【００１８】
【非特許文献１】Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ著「ＰｏｓｔＳｃｒｉｐｔリファレンスマニュアル第３版」アスキー
【発明の開示】
【発明が解決しようとする課題】
【００１９】
本発明が解決しようとする課題は、文書データに含まれる画像の画素数（幅×高さ）とプリンタの用紙に印刷するときの描画領域を構成する画素数（幅×高さ）が一致しない場合でも、プリンタの印刷スピードを維持することができるプリンタドライバを提供することにある。
【課題を解決するための手段】
【００２０】
上記目的は、コンピュータの応用ソフトからプリンタに印刷する場合に、文書データをプリンタで扱うことのできる印刷データに変換するプリンタドライバであって、プリンタで出力するときの印刷条件の入力を受け付ける手段と、文書データに含まれる画像のサイズを取得する手段と、プリンタで出力するときの画像のサイズを取得する手段と、文書データに含まれるオリジナル画像のサイズとプリンタで出力するときの画像のサイズを比較する手段と、前記手段の比較結果に応じて印刷データに出力する画像サイズの指定値を補正する手段とを有することを特徴とするプリンタドライバにより達成される。
【発明の効果】
【００２１】
本発明によるプリンタドライバによれば、文書データに含まれる画像の画素数（幅×高さ）と、プリンタの用紙に印刷するときの描画領域を構成する画素数（幅×高さ）との、わずかな差異による印刷スピードの大幅低下という時間的な印刷コストの無駄を、オリジナル画像の解像度レベルを下げることなく低減することができる。
【発明を実施するための最良の形態】
【００２２】
文書データに含まれる画像の画素数（幅×高さ）と、プリンタの用紙に印刷するときの描画領域を構成する画素数（幅×高さ）との比が整数値にならない場合に、プリンタの用紙に印刷するときの描画領域の指定値を任意に補正する仕組みをプリンタドライバに組み込むことで、印刷品質を低下させることなく印刷スピードを維持するという目的を実現した。
【実施例１】
【００２３】
図１に、本発明の一実施例を説明するための全体構成を示す。
【００２４】
コンピュータ１上には基本ソフト６、応用ソフト５、プリンタドライバ７が組み込まれており、コンピュータ１とプリンタ２は通信手段３で結ばれている。
【００２５】
応用ソフト５は画像４０を扱うことができる一般的なソフトウェアであり、画像４０が含まれる文書データ４をプリンタ２で印刷する場合は、基本ソフト６経由でプリンタドライバ７に印刷指示をする。
【００２６】
プリンタドライバ７は、ユーザインタフェース１０、印刷データ生成部１２、補正処理部１４からなる。ユーザインタフェース１０は、文書データ４を印刷する用紙サイズ９１や用紙を給紙するトレイ９２などの印刷条件を指定することができる印刷設定画面１１を表示し、ユーザが印刷条件を変更することができる。印刷データ生成部１２は、基本ソフト６と連携しながら、応用ソフト５から基本ソフト６経由で伝達される画像４０を含む文書データ４を、プリンタ２で処理することができる印刷データ８に変換する。このとき印刷データ生成部１２は、ユーザインタフェース１０で指定された用紙サイズ９１などの印刷条件に対応するプリンタ制御コード８０を印刷データ８に挿入する。
【００２７】
プリンタ２での印刷は、印刷データ８が基本ソフト６を経由して通信手段３によりプリンタ２に送信されることにより行われる。
【００２８】
補正処理部１４は、印刷データ生成部１２と連携して文書データ４に含まれる画像４０を処理するときに図２に示す処理を行う。
（１）印刷設定画面１１で画像描画領域の補正９５が指示されているかどうかを確認する。
（２）文書データ４に含まれるオリジナル画像４０の色空間４１（ＲＧＢ、ＣＭＹＫ、インデックスカラーなど）および画素数４２（幅×高さ）および１画素あたりのビット数４３および画像データ４４を抽出する。
（３）画像４０の画素数４２が、描画領域８５ａの補正をすべきサイズかどうかを判別する。印刷設定画面１１の補正する画像サイズ９６でユーザが任意に指定した値と比較して、画像４０の画素数４２のほうが大きい場合に画像描画領域８５ａの補正処理を行う。プリンタ２における画素間のマッピング処理による演算負荷は印刷する画像４０の画素数に依存しているため、サイズの小さな画像４０であれば画素間の補間処理を行っても演算負荷がプリンタ２の処理能力を超えることなく印刷スピードを維持することができる。画素間のマッピング処理による演算負荷がプリンタ２の処理能力を超えるかどうかの閾値は、印刷する画像の画素数をパラメータとして実験的に求めることができ、印刷設定画面１１の補正する画像サイズ９６の初期値とすることができる。
（４）応用ソフト５で指定するプリンタ２で印刷するときの描画領域８５ａの値とプリンタ２の解像度から、描画領域８５ａを構成するのに必要な画素数２２ａ（幅×高さ）の値を算出する。このとき、画素数２２ａの算出には、印刷設定画面１１の拡大縮小９３（ページ全体を拡大縮小印刷する）やＮ−ｕｐ９４（１枚の用紙に複数の論理ページを配置する）などの設定値を考慮する。
（５）実際の用紙２０に印刷するときの描画領域８５ａを構成する画素数２２ａと、オリジナル画像４０の画素数４２との比が整数値になるかどうかを判別する。描画領域８５ａを構成する画素数２２ａをＤ、画像４０の画素数４２をＳ、Ｎを正数（Ｎ＞０）、画素数の誤差をｅ（ｅ≧０）とすると次式の関係が成り立ち、画素数の誤差ｅが０であれば画素数２２ａと画素数４２の比は整数値Ｎとなる。
【００２９】
Ｄ＝Ｎ×Ｓ＋ｅ（Ｎ＞０、ｅ≧０）
（６）用紙２０に印刷するときの描画領域８５ａを構成する画素数２２ａと、オリジナル画像４０の画素数４２との比が整数値にならない場合（ｅ≠０）は、画素数の誤差ｅが補正処理を行う範囲内にあるかどうかを判別する。本実施例では、補正処理部１４で補正処理を行うと、印刷データ８に出力する描画領域８５ｂの値は、応用ソフトで指定する描画領域８５ａの値よりも小さな値となる。このため印刷設定画面１１の補正する場合の許容値９７で、応用ソフトで指定する描画領域８５ａの値を基準に、狭めて印刷してもよい描画領域の許容範囲をユーザが任意に指定することができる。
（７）実際の用紙２０に印刷するときの描画領域８５ａを構成する画素数２２ａ（Ｄ）と、オリジナル画像４０の画素数４２（Ｓ）との比が整数値Ｎになるように、画素数の誤差分ｅを引いて描画領域８５ｂを構成する画素数２２ｂの値ｄを求める。
【００３０】
ｄ＝Ｎ×Ｓ（Ｎ＞０）
さらに、画素数２２ｂの値ｄとプリンタ２の解像度からプリンタ２で印刷するときの描画領域８５ａの補正値８５ｂを算出する。
（８）印刷データ８に出力する画像の描画領域８５ａの値を、補正値８５ｂに書き換える。
【００３１】
印刷データ生成部１２は、画像データ４４のデータサイズを小さくするためオリジナル画像４０の画像データ４４をスキャンして、色情報の冗長性を低減する範囲で画像４０の色空間４１と１画素あたりのビット数４３を低いレベルに落とし、色空間８１と１画素あたりのビット数８３を決定する。また、印刷データ生成部１２は、画像データ４４の画素数４２は変更することなく印刷データ８に出力する。さらに印刷データ生成部１２は、色空間８１と１画素あたりのビット数８３にしたがって画像データ４４のデータ量を減らしたあと、Ｒｕｎ  ＬｅｎｇｔｈやＣＣＩＴＴファクシミリ規格などの方式により圧縮して画像データ８４を生成する。
【００３２】
プリンタ２では、印刷データ８に記述された画像４０の色空間８１および画素数４２および１画素あたりのビット数８３および画像データ８４と、プリンタ２で印刷するときの描画領域８５ｂの情報にしたがってレンダリング処理を行う。このとき、画像４０の画素数４２と描画領域８５ｂを構成する画素数２２ｂとの比は整数値となるため画素間の補間処理が不要で、数式例８６のようなメモリ参照と単純な演算の組み合わせのみで高速なマッピング処理ができる。
【００３３】
以上説明したように、オリジナル画像４０の画素数４２と実際の用紙２０に印刷するときの描画領域８５ｂを構成する画素数２２ｂとの比が整数値になる印刷データ８を出力することができる。このためプリンタ２内で高速なマッピング処理をすることができ、オリジナル画像４０の解像度レベルを落とすことなくプリンタ２の最大能力に応じた印刷スピードを維持することができる。
【産業上の利用可能性】
【００３４】
画像データを画素単位で扱う表示装置や印刷装置での高速化用途にも適用できる。
【図面の簡単な説明】
【００３５】
【図１】本発明によるプリンタドライバの説明図。（実施例１）
【図２】画像描画領域の補正処理の説明図。（実施例１）
【図３】従来のプリンタドライバの説明図
【図４】画像のマッピング処理の説明図
【符号の説明】
【００３６】
１はコンピュータ、２はプリンタ、３は通信手段、４は文書データ、５は応用ソフト、６は基本ソフト、７はプリンタドライバ、８は印刷データ、１０はユーザインタフェース、１１は印刷設定画面、１２は印刷データ生成部、１４は画像の補正処理部、２０は印刷する用紙、２２は用紙に印刷する画像の描画領域を構成するのに必要な画素数、３７はプリンタドライバ、４０は画像、４１は画像データ４４の色空間、４２は画像データ４４の画素数、４３は画像データ４４の１画素あたりのビット数、、４４は画像データ、８０は用紙サイズを指定するための印刷制御コード、８１は画像データ８４の色空間、８２は画像データ８４の画素数、８３は画像データ８４の１画素あたりのビット数、８４は画像データ、８５は用紙に印刷するときの画像描画領域（応用ソフト５が指定する）、８６はマッピング処理の数式例、９１は用紙サイズの指定、９２は給紙トレイの指定、９３拡大縮小率の指定、９４はＮ−ｕｐ印刷の指定、９５は画像描画領域の補正処理を行うかどうかの指定、９６は補正する画像サイズの幅と高さの指定、９７は画像描画領域を補正する場合の許容値である。
【図１】
2006011804.tif 000003
【図２】
2006011804.tif 000004
【図３】
2006011804.tif 000005
【図４】
2006011804.tif 000006