説明

プリンタドライバ及びその印刷制御方法

【課題】アプリケーションプログラムからの出力されたイメージデータが、濃淡が徐々に変化するグラデーションデータである場合に、プリンタ装置での演算量を減らして、印刷時間を短縮することが可能なプリンタドライバ及びその印刷制御方法を提供する。
【解決手段】このプリンタドライバ12は、グラデーションのイメージデータの印刷を指示するアプリケーションプログラム11からの描画命令が、所定のピクセル数ごとに同色の濃淡が変化する1ピクセル列を、所定幅に拡大することで矩形領域全体に1ピクセル列を引き延ばす拡大描画命令であるか否かを判定するイメージデータ解析処理手段12aと、イメージデータ解析処理手段12aが、1ピクセル列が引き延ばされることでできる同色のブロックを塗り潰すPCLにより記述された印刷命令を、各ブロックごとに生成する印刷データ生成手段12bとして機能するものである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、濃淡が徐々に変化するグラデーションのイメージデータを印刷する際に、印刷時間を短縮することが可能なプリンタドライバ及びその印刷制御方法に関する。
【背景技術】
【0002】
コンピュータに接続されたプリンタ装置では、ページ記述言語(PDL:Page Description Language)で記述された印刷命令による印刷データをコンピュータから受信すると、印刷データを2次元のビットマップイメージデータへ変換して、紙媒体に印刷している。
【0003】
プリンタ装置では、印刷データを2次元のビットマップイメージデータへ変換する際の演算量を減らすことで、印刷のための処理時間を短縮することが図られている(例えば、(特許文献1)参照。)。
【0004】
この(特許文献1)には、ホストコンピュータに接続される印刷装置でレンダリング処理を行う際に、各ラインに存在する色成分を表すラインタグを生成し、レンダリング処理の後段の処理においてラインタグを参照することによって演算量の削減と処理時間の短縮を実現する画像処理方法が記載されている。
【0005】
図10はアプリケーションがイメージデータを印刷するときの描画命令を説明するための図である。図10(A)に示すように、上から下へ徐々に色が変化するグラデーションのイメージデータを印刷する場合には、アプリケーションプログラムが、例えば、図10(B)に示すように、左端に位置する幅1ピクセル分の縦列のイメージデータを所定幅まで連続的に引き延ばすことで矩形領域のグラデーションの印刷イメージとなる描画命令を、プリンタドライバへ出力する。プリンタドライバでは、この描画命令をPDLで記述された印刷命令へ変換して印刷データとし、プリンタ装置へ出力する。
【0006】
そして、プリンタ装置では、受信した印刷データの指示通りに、矩形状のビットマップイメージデータを生成して印刷を行う。
【特許文献1】特開2005−157854号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、プリンタ装置側では、印刷データの指示通りに幅1ピクセル分の縦列のイメージデータを所定幅まで連続的に引き延ばすための演算処理を行うのは、大変時間を要するものである。
【0008】
従って、プリンタ装置側での印刷のための演算負荷を軽減することで、操作者が印刷を指示してから印刷が完了するまでの時間を短縮する技術が望まれている。
【0009】
この場合、(特許文献1)に記載されている画像処理方法のように、プリンタ装置側で対策をとることも考えられる。しかし、アプリケーションプログラムからの描画命令をプリンタドライバが印刷データへ変換し、プリンタ装置側で演算量を減らす処理をした後に、ビットマップイメージデータを生成するより、コンピュータ側で動作するプリンタドライバで予め演算量を減らした状態の印刷データとすることができれば、より処理時間の短縮を図ることができると思われる。
【0010】
そこで本発明は、アプリケーションプログラムからの出力されたイメージデータが、濃淡が徐々に変化するグラデーションデータである場合に、プリンタ装置での演算量を減らして、印刷時間を短縮することが可能なプリンタドライバ及びその印刷制御方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、アプリケーションプログラムからの描画命令を、プリンタ装置が印刷可能な印刷命令に置き換えた印刷データを生成するプリンタドライバであって、コンピュータを、グラデーションのイメージデータの印刷を指示するアプリケーションプログラムからの描画命令が、所定のピクセル数ごとに同色の濃淡が変化する1ピクセル列を、所定幅に拡大することで矩形領域全体に1ピクセル列を引き延ばす拡大描画命令であるか否かを判定するイメージデータ解析処理手段、前記イメージデータ解析処理手段が、前記1ピクセル列が引き延ばされることでできる同色のブロックを塗り潰す印刷命令を、各ブロックごとに生成する印刷データ生成手段として機能させることを特徴とする。
【0012】
また、本発明は、アプリケーションプログラムからの描画命令を、プリンタ装置が印刷可能な印刷命令に置き換えた印刷データを生成するプリンタドライバの印刷制御方法であって、グラデーションのイメージデータの印刷を指示するアプリケーションプログラムからの描画命令が、所定のピクセル数ごとに同色の濃淡が変化する1ピクセル列を、所定幅に拡大することで矩形領域全体に1ピクセル列を引き延ばす拡大描画命令であるか否かを判定するステップと、前記1ピクセル列が引き延ばされることでできる同色のブロックを塗り潰す印刷命令を、各ブロックごとに生成するステップとを含むことを特徴とする。
【発明の効果】
【0013】
本発明は、1ピクセル列を引き延ばす描画命令を同色のブロックを塗り潰す印刷命令に置き換えることで、プリンタ装置側での負荷を軽減することができるので、印刷時間を短縮することが可能である。
【発明を実施するための最良の形態】
【0014】
本願の第1の発明は、アプリケーションプログラムからの描画命令を、プリンタ装置が印刷可能な印刷命令に置き換えた印刷データを生成するプリンタドライバであって、コンピュータを、グラデーションのイメージデータの印刷を指示するアプリケーションプログラムからの描画命令が、所定のピクセル数ごとに同色の濃淡が変化する1ピクセル列を、所定幅または所定高さに拡大することで矩形領域全体に1ピクセル列を引き延ばす拡大描画命令であるか否かを判定するイメージデータ解析処理手段、イメージデータ解析処理手段が、1ピクセル列が引き延ばされることでできる同色のブロックを塗り潰す印刷命令を、各ブロックごとに生成する印刷データ生成手段として機能させることを特徴としたものである。
【0015】
第1の発明においては、縦列に並んだ1ピクセル列を所定幅に引き延ばしたり、横列に並んだ1ピクセル列を所定高さに引き延ばしたりする際の演算と比較して、各ブロックを塗り潰す演算の方が演算量が少ないので、1ピクセル列を引き延ばす描画命令を同色のブロックを塗り潰す印刷命令に置き換えることで、プリンタ装置側での負荷を軽減することができる。
【0016】
本願の第2の発明は、第1の発明において、イメージデータ解析処理手段は、1ピクセル列に含まれる同色のピクセルが、所定のピクセル数以上であることを条件とすることを特徴としたものである。
【0017】
第2の発明においては、イメージデータ解析処理手段が1ピクセル列に含まれる同色のピクセルが、所定のピクセル数以上であることを判定することにより、塗り潰されるピクセル数が少なすぎて、1ピクセル列を引き延ばす処理よりブロックを塗り潰す処理の方が時間を要してしまうような状態を回避することができる。
【0018】
本願の第3の発明は、第1または第2の発明において、イメージデータ解析処理手段は、1ピクセル列の所定幅への拡大が所定倍数以上であることを条件としたものである。
【0019】
第3の発明においては、イメージデータ解析処理手段は、1ピクセル列の所定幅への拡大が所定倍数以上であることを判定することにより、塗り潰されるピクセル数が少なすぎて、1ピクセル列を引き延ばす処理よりブロックを塗り潰す処理の方が時間を要してしまうような状態を回避することができる。
【0020】
本願の第4の発明は、第1から第3のいずれかの発明において、イメージデータ解析処理手段は、グラデーションのイメージデータの印刷を指示するアプリケーションプログラムからの描画命令が、矩形状のイメージデータを印刷イメージとして指定するビットマップ描画命令か否かを判定し、該ビットマップ描画命令である場合に、このイメージデータを構成する全ピクセルの色を示すインデックステーブルを作成すると共に、全ピクセルの色データをインデックステーブルのインデックス番号に置き換え、印刷データ生成手段は、インデックステーブルと、全ピクセルがインデックス番号に置き換えられたイメージデータとを、印刷される矩形状のイメージデータとして指定する印刷命令を生成することを特徴としたものである。
【0021】
第4の発明においては、アプリケーションプログラムから出力されるイメージデータの全ピクセルに対応するインデックステーブルを作成することで、イメージデータのそれぞれの色データを、インデックステーブルの各色を指定するインデックス番号とすることができる。従って、イメージデータの容量を圧縮することができるので、プリンタ装置側での負荷を軽減することができる。
【0022】
本願の第5の発明は、第4の発明において、イメージデータ解析処理手段は、インデックステーブルのインデックス番号に置き換えられた全ピクセルの色データが所定数以下である場合には、全ピクセルの色データの未使用ビットを除去することでイメージデータの圧縮をすることを特徴としたものである。
【0023】
第5の発明においては、インデックステーブルのインデックス番号に置き換えられた全ピクセルの色データが所定数以下である場合には、色データに使用されていないビット幅があることを意味している。従って、未使用ビットを除去することで更にイメージデータを圧縮することが可能である。
【0024】
本願の第6の発明は、第4の発明において、イメージデータ解析処理手段は、イメージデータが白黒の明暗だけでグレースケールであるときに、インデックステーブルを単色のテーブルとして作成することを特徴としたものである。
【0025】
第6の発明においては、アプリケーションプログラムからのイメージデータがグレースケールである場合には、赤色、緑色及び青色の各色データは、同じ値となる。従って、インデックステーブルを単色のテーブルとしても支障がなく、テーブルのデータ容量は1/3となるので、更にイメージデータの圧縮が可能である。
【0026】
本願の第7の発明は、アプリケーションプログラムからの描画命令を、プリンタ装置が印刷可能な印刷命令に置き換えた印刷データを生成するプリンタドライバの印刷制御方法であって、グラデーションのイメージデータの印刷を指示するアプリケーションプログラムからの描画命令が、所定のピクセル数ごとに同色の濃淡が変化する1ピクセル列を、所定幅に拡大することで矩形領域全体に1ピクセル列を引き延ばす拡大描画命令であるか否かを判定するステップと、1ピクセル列が引き延ばされることでできる同色のブロックを塗り潰す印刷命令を、各ブロックごとに生成するステップとを含むことを特徴としたものである。
【0027】
第7の発明においては、1ピクセル列を引き延ばす演算と比較して、各ブロックを塗り潰す演算の方が演算量が少ないので、1ピクセル列を引き延ばす描画命令を同色のブロックを塗り潰す印刷命令に置き換えることで、プリンタ装置側での負荷を軽減することができる。
【0028】
(実施の形態)
本発明の実施の形態に係るプリンタドライバを図面に基づいて説明する。図1は本発明の実施の形態に係る印刷システムの構成図である。
【0029】
図1に示すように本実施の形態に係る印刷システムは、コンピュータ1とこのコンピュータ1に接続されたプリンタ装置2とで構成されている。プリンタ装置2はコンピュータ1のUSB(Universal Serial Bus)ポートに接続されている。
【0030】
コンピュータ1には、イメージデータ生成手段として機能するアプリケーションプログラム11と、印刷制御手段として機能するプリンタドライバ12と、スプール手段として機能するスプーラー13が動作している。尚、図1においては主要な構成のみを図示しており、OS(Operating System)等他のプログラムは、便宜上省略している。
【0031】
アプリケーションプログラム11は、印刷するためのイメージデータを生成する機能を備えており、表計算ソフトや文書作成ソフト、プレゼンテーション資料作成ソフトなどの印刷機能を有するプログラムである。
【0032】
プリンタドライバ12はアプリケーションプログラム11からのイメージデータを印刷データに変換してプリンタ装置2へ出力する機能を備えている。プリンタドライバ12はイメージデータ解析処理手段12aと印刷データ生成手段12bとを備えている。
【0033】
イメージデータ解析処理手段12aはアプリケーションプログラム11からの描画命令を解析して、プリンタ装置2でのイメージ処理の演算量を減少させることが可能な印刷命令に置き換えることが可能な描画命令であるか否かを判定する。
【0034】
印刷データ生成手段12bはイメージデータ解析処理手段12aにより、描画命令がプリンタ装置2で処理可能なPDLで記述された印刷命令に置き換え可能であると判定された場合に、描画命令をPDLで記述された印刷命令に置き換えた印刷データを生成する。本実施の形態では印刷データを記述するPDLの言語としてPCL(Printer Control Language)を採用しているが、PostScript(登録商標)や他のPDLでも採用することが可能である。
【0035】
スプーラー13は、プリンタドライバ12から出力された印刷データをスプールして、図示しないUSBポートからプリンタ装置2へ出力する。
【0036】
以上のように構成された本発明の実施の形態に係るプリンタドライバの動作を、図2から図9に基づいて説明する。図2及び図3は本発明の実施の形態に係るプリンタドライバの動作を説明するためのフローチャートである。図4はイメージデータ生成手段から出力された描画命令の一例を説明するための図である。図5は1ピクセル列の色配列を説明するための図である。図6は塗り潰し印刷命令を説明するための図である。図7はアプリケーションプログラムが出力するグラデーションのイメージデータを示す図である。図8は3色のカラーテーブルを説明するための図である。図9はグレースケールのときのカラーテーブルを説明するための図である。
【0037】
まず、アプリケーションプログラム11が印刷イメージとして図10に示すようなカラーのグラデーションのイメージデータを「DrvStretchblt」関数または「DrvStretchblt」関数による描画命令で出力したとする。
【0038】
この「DrvStretchblt」関数は複写元の矩形イメージデータのビットマップを複写先の矩形領域へ複写する描画命令である。複写元がアプリケーションプログラム11からのイメージデータを示し、複写先がプリンタ装置2に給紙される紙媒体上の領域を示す。
【0039】
このとき、複写元の幅より複写先の幅が広い場合には、これらの関数は複写先の矩形領域に合わせて複写元の矩形イメージデータのビットマップが拡大される拡大描画命令となる。
【0040】
図2に示すように、イメージデータ解析処理手段12aは「DrvStretchblt」関数または「DrvStretchblt」関数のパラメータ(引数)に基づいて、複写元のイメージデータの幅あるいは高さが1ピクセル列のイメージデータであるか否かを判定すると共に、拡大を指定したものか否かを判定する(ステップS10)。本実施の形態では、図4に示すように、幅が1ピクセルで所定高さVのイメージデータを、幅Hまで拡大する描画命令であるので、ステップS20へ移行する。
【0041】
次に、イメージデータ解析処理手段12aは、1ピクセル列のイメージデータの形式が16BPP(Bit Per Pixel)、24BPPまたは32BPPか否かを判定する(ステップS20)。これらの形式はフルカラーと呼ばれグラデーションの描画によく使われるので、この16BPP,24BPP及び32BPPを変換対象とすることでプリンタ装置2側の速度改善に効果的である。本実施の形態では24BPPとする。
【0042】
次に、イメージデータ解析処理手段12aは描画命令の拡大率が2400以上あるか否かを判定する(ステップS30)。この判定は矩形イメージデータの幅が1ピクセルなので、幅Hが2400ピクセル以上あるか否かをチェックする。これは幅Hが2400未満である場合に、描画命令を後述する塗り潰しの印刷命令に置き換えると、反対にプリンタ装置2側でのビットマップを処理するための演算時間が長くなってしまい、逆効果となるためである。
【0043】
本実施の形態では、描画命令の拡大率が2400以上あることを条件としているが、この拡大率は適宜設定することができる。プリンタ装置2の性能が高ければ、条件とした拡大率を2400より小さくすることが可能である。
【0044】
拡大率が2400以上である場合には、イメージデータ解析処理手段12aは矩形イメージデータの上下方向(高さ方向)または左右方向(幅方向)に対して同色が何ピクセル連続しているかをカウントする(ステップS40)。本実施の形態では、階調が変化するグラデーション方向が上下方向であるため、上から下へ順番にスキャンしてカウントする。
【0045】
アプリケーションプログラム11がグラデーションのイメージデータを生成するときには、1ピクセルごとに階調を減少または増加させて濃淡を変化させることは少なく、例えば、高さ方向の数百ピクセルを1ブロックとして段階的に濃淡を変化させたグラデーションとすることが多い。アプリケーションプログラム11では、見た目に気にならない程度にグラデーション処理として所定のピクセル数ごとに濃淡を変化させたイメージデータとすることで、イメージデータを生成するときの処理量を減らしている。アプリケーションプログラム11から出力されるイメージデータは上記のような色配列をしているので、イメージデータ解析処理手段12aはこの段階的に変化する1ピクセル列に含まれる同色のピクセル数N1〜N5をカウントすることで、矩形状のブロックB1〜B5の一辺となる高さN1〜N5を割り出す(図5参照)。
【0046】
イメージデータ解析処理手段12aは各ブロックB1〜B5のイメージデータの高さ方向のピクセル数N1〜N5が10より大きいか否かを検査する(ステップS50)。これは1ピクセル列の各ブロックB1〜B5に位置するピクセル数が10以下である場合に、描画命令を後述する塗り潰しの印刷命令に置き換えると、反対にプリンタ装置2側でのビットマップを処理するための演算時間が長くなってしまい、逆効果となるためである。
【0047】
本実施の形態では、各ブロックB1〜B5の1ピクセル列を構成するピクセル数が10より大きいことを条件としているが、このピクセル数は適宜設定することができる。プリンタ装置2の性能が高ければ、条件としたピクセル数を10より小さくすることが可能である。
【0048】
1ピクセル列のそれぞれのブロックB1〜B5に位置するピクセル数N1〜N5が10より大きい場合には、印刷データ生成手段12bが、図6に示すようにブロックB1〜B5のそれぞれに対して、幅Hとピクセル数N1〜N5とをパラメータ指定することで複写先の矩形領域を指定して、そのブロックの色でブロック全体を塗り潰すグラフィック命令である印刷命令を生成する(ステップS60)。本実施の形態では、PCLでのRectanglePathコマンドによりブロックB1〜B5の塗り潰しを指定している。
【0049】
このように印刷を希望するグラデーションのイメージデータが、幅Hが1ピクセルの矩形イメージデータのビットマップを拡大する描画命令により表されている場合には、同色ごとに矩形枠を塗り潰す複数の印刷命令に置き換えることで、プリンタ装置2側でのビットマップを拡大処理する必要がなくなるので、印刷のための処理量を少なくすることができる。
【0050】
尚、本実施の形態では、縦列に並ぶ1ピクセル列を所定幅へ引き延ばすイメージデータを例に説明したが、横列に並ぶ1ピクセル列を所定高さに引き延ばすイメージデータとしても同様である。
【0051】
次に、ステップS10,S20,S30,S50の各判定にて、ビットマップイメージコピー処理へ移行するように判定された場合と、アプリケーションプログラム11が、図7に示すような左上から右下に向かうに従って徐々に濃くなる同色系のグラデーションのイメージデータを、「DrvBitblt」関数による描画命令で出力した場合には、まず図3に示すステップS110が実行される。本実施の形態では、左上の座標が(X1,Y2)、幅H、高さVの矩形イメージデータを印刷するものとする。
【0052】
この「DrvBitblt」関数は、複写元となる指定された矩形イメージデータを複写先の矩形領域へ各ピクセルの色データをビットブロック転送により複写する描画命令である。つまり、この描画命令は矩形状のビットマップのイメージデータをそのまま印刷イメージとして指定するビットマップ描画命令である。
【0053】
複写元がアプリケーションプログラム11からのイメージデータであり、複写先がプリンタ装置2に給紙される紙媒体上の領域を示す。
【0054】
ステップS110では、図2に示すステップS20と同様に、イメージデータ解析処理手段12aにより矩形イメージデータの形式が16BPP、24BPPまたは32BPPか否かが判定される。
【0055】
次に、イメージデータの全ピクセルをスキャンして、図8に示すような全ピクセルの色のカラーテーブル(インデックステーブル)を作成する(ステップS120)。具体的には、順次ピクセルをスキャンしたときに、以前に検出された色データと異なる色データが検出されると、カラーテーブルに色データを追加する。カラーテーブルを作成することで、このイメージデータが何色から構成されているかを明らかにすることができる。
【0056】
アプリケーションプログラム11がグラデーションのイメージデータを生成するときには、使用可能な階調幅全部を使用してグラデーションを表現することは少なく、例えば、RGBの各色がそれぞれ8ビットで割り当てられている場合では、最大16581375色が使用できるが、この中から256色以内を使用したグラデーションとすることが多い。
【0057】
アプリケーションプログラム11では、見た目に気にならない程度に、グラデーション処理として色を間引いたイメージデータとすることで、イメージデータを生成するときの処理量を減らしている。
【0058】
イメージデータ解析処理手段12aは、このイメージデータの全ピクセルをスキャンすることで、図8に示すように各ピクセルのRGBの色データの各値を、8ビットで対応付けできるインデックス番号で指定可能なカラーテーブルに代入してインデックス化する。そうすることで、1ピクセルの色データを、8ビットのカラーテーブルのインデックス番号(0〜255)に置き換えることができるので、24BPPを8BPPで指定することができる。
【0059】
しかし、イメージデータ解析処理手段12aがカラーテーブルを作成していく中で、アプリケーションプログラム11からのグラデーションのイメージデータが256種類以上の色を使用している場合がある。これは、インデックス番号0〜255で示されるカラーテーブルが一杯となっても、まだ全部のピクセルをスキャンできていない状態である。この場合には、イメージデータを8BPPへ変換することが不可能であることを意味している。
【0060】
このようにして作成されたカラーテーブルのインデックス数が256以下の場合には8BPPに、16以下の場合には4BPPに、2以下の場合には1BPPに変換することが可能であることがわかる。また、このとき、幅H×高さVで算出される全ピクセル数が392より大きいか否かを判定する。256色のテーブルを作成する場合、元のイメージデータよりも容量を減らすためには、幅H×高さV×3バイト<幅H×高さV+3バイト×256+16バイト(16バイトはコマンド増加分)の関係となる必要がある。つまり、幅H×高さVが392以下であるときには、反対に容量が大きくなってしまうので、全ピクセル数が392より大きいときのみを変換対象としている。
【0061】
従って、ステップS130にて、カラーテーブルインデックス数によって、イメージデータを8BPP、4BPP、1BPPへ変換可能か否かを判定し、不可である場合にはステップS170へ移行する。
【0062】
イメージデータを各BPPへの変換可能である場合には、24BPPのイメージデータを変換可能なBPPのうち、最も小さいBPPへ変換する(ステップS140)。つまり、各ピクセルのデータをインデックス番号を示すインデックス番号とカラーテーブルとで表すことで、イメージデータのデータ量は、8BPPの場合、幅H×高さV×3バイトから幅H×高さV×1バイト+256×3バイト、4BPPの場合、(幅H×高さV)÷2バイト+16×3バイト、1BPPの場合、(幅H×高さV)÷8バイト+2×3バイトと圧縮することができる。
【0063】
また、イメージデータ解析処理手段12aはステップS110で16、24、32BPP形式ではないイメージデータが、4BPPまたは1BPPへ変換可能か否かを判定する(ステップS150)。これは、イメージデータが16色または2色で構成されていることにより、変換されたイメージデータの上位4ビットまたは上位7ビットが全部0である否かを判定する。
【0064】
ステップS140の処理の後、またはステップS150にて、イメージデータが4BPPまたは1BPPへ変換ができないと判断された場合には、イメージデータ解析処理手段12aはイメージデータがグレースケールか否かを判断する(ステップS170)。グレースケールとはグラデーションが白黒の明暗だけで構成されているものをいい、イメージデータがグレースケールか否かはカラーテーブルの赤色、緑色及び青色の値が同じで、イメージデータの一側から他側へ向かって増加または減少しているか否かで判断することができる。
【0065】
イメージデータがグレースケールである場合には、イメージデータ解析処理手段12aはイメージデータをカラーからグレースケールへ変換する(ステップS180)。従って、イメージデータが24BPPで描画されている場合には幅H×高さV×3バイトとなるが、カラーからグレースケールへ変換することにより(幅H×高さV)+256(256階調の場合)となるので、更にデータ量を圧縮することが可能である。
【0066】
このようにしてイメージデータを圧縮すると、印刷データ生成手段12bは、圧縮された色データで構成されるイメージデータと、このイメージデータの色データをインデックス番号として各色を指定するインデックステーブルとにより、同色系のグラデーションのイメージデータを示すPCLコマンド ReadImageによる印刷データを生成する。
【0067】
また、ステップS10,S20,S30,S50の各判定により、ビットマップイメージコピー処理へ移行するように判定された場合で、かつステップS110,S130,S150,S170の各判定において該当しないと判定された場合には、「DrvStretchblt」関数または「DrvStretchblt」関数に対応するPCLのコマンドをそのまま印刷データとして生成する。
【0068】
更に、「DrvBitblt」関数によりビットマップイメージコピー処理(ステップS110以降の処理)が実行された場合、「DrvBitblt」関数に対応するPCLのコマンドをそのまま印刷データとして生成する(ステップS190)。
【0069】
このようにして生成された印刷データは、スプール手段として機能するスプーラー13へ蓄積され(ステップS200)、プリンタ装置2へ出力される(ステップS210)。
【0070】
このように、本実施の形態に係るプリンタドライバは、アプリケーションプログラムから出力された描画命令を、プリンタ装置2側で印刷のための演算処理を軽減することができるPDLで記述された印刷命令に置き換えることで、プリンタ装置2側での負荷を軽減することができるので、印刷時間を短縮することが可能である。
【0071】
尚、本実施の形態では、アプリケーションプログラムがグラデーションのイメージデータを出力した場合を例に説明した。しかし、矩形状のイメージデータを印刷イメージとして指定するビットマップ描画命令(例えば、「DrvBitblt」関数による描画命令)により印刷を指示する場合には、イメージデータに含まれる色がカラーテーブルのインデック数以下(本実施の形態では256色以下)であれば、イメージデータがグラデーションに限定されず、どのようなイメージデータであってもカラーテーブルを作成することでデータ容量を削減することが可能である。従って、プリンタ装置への転送時間やプリンタ装置側での負担を軽減することができるので、印刷時間を短縮することが可能である。
【産業上の利用可能性】
【0072】
本発明は、グラデーションのように、同系色で描画される印刷において、アプリケーションからの1ピクセル列を引き延ばす描画命令を同色のブロックを塗り潰す印刷命令に置き換えることで、プリンタ装置側での負荷を軽くすることができるので、濃淡が徐々に変化するグラデーションのイメージデータを印刷する際に、印刷時間を短縮することが可能なプリンタドライバ及びその印刷制御方法に好適である。
【図面の簡単な説明】
【0073】
【図1】本発明の実施の形態に係る印刷システムの構成図
【図2】本発明の実施の形態に係るプリンタドライバの動作を説明するためのフローチャート
【図3】本発明の実施の形態に係るプリンタドライバの動作を説明するためのフローチャート
【図4】イメージデータ生成手段から出力された描画命令の一例を説明するための図
【図5】1ピクセル列の色配列を説明するための図
【図6】塗り潰し印刷命令を説明するための図
【図7】アプリケーションプログラムが出力するグラデーションのイメージデータを示す図
【図8】3色のカラーテーブルを説明するための図
【図9】グレースケールのときのカラーテーブルを説明するための図
【図10】アプリケーションがイメージデータを印刷するときの描画命令を説明するための図
【符号の説明】
【0074】
1 コンピュータ
2 プリンタ装置
11 アプリケーションプログラム
12 プリンタドライバ
12a イメージデータ解析処理手段
12b 印刷データ生成手段
13 スプーラー

【特許請求の範囲】
【請求項1】
アプリケーションプログラムからの描画命令を、プリンタ装置が印刷可能な印刷命令に置き換えた印刷データを生成するプリンタドライバであって、
コンピュータを、
グラデーションのイメージデータの印刷を指示するアプリケーションプログラムからの描画命令が、所定のピクセル数ごとに同色の濃淡が変化する1ピクセル列を、所定幅に拡大することで矩形領域全体に1ピクセル列を引き延ばす拡大描画命令であるか否かを判定するイメージデータ解析処理手段と、
前記イメージデータ解析処理手段が、前記1ピクセル列が引き延ばされることでできる同色のブロックを塗り潰す印刷命令を、各ブロックごとに生成する印刷データ生成手段として機能させることを特徴とするプリンタドライバ。
【請求項2】
前記イメージデータ解析処理手段は、前記1ピクセル列に含まれる同色のピクセル数が、それぞれ所定のピクセル数以上であることを条件とする請求項1記載のプリンタドライバ。
【請求項3】
前記イメージデータ解析処理手段は、1ピクセル列の所定幅への拡大が所定倍数以上であることを条件とする請求項1または2記載のプリンタドライバ。
【請求項4】
前記イメージデータ解析処理手段は、イメージデータの印刷を指示するアプリケーションプログラムからの描画命令が、矩形状のイメージデータを印刷イメージとして指定するビットマップ描画命令か否かを判定し、該ビットマップ描画命令である場合に、このイメージデータを構成する全ピクセルの色を示すインデックステーブルを作成すると共に、全ピクセルの色データを前記インデックステーブルのインデックス番号に置き換え、
前記印刷データ生成手段は、前記インデックステーブルと、全ピクセルがインデックス番号に置き換えられたイメージデータとを、印刷される矩形状のイメージデータとして指定する印刷命令を生成する請求項1から3のいずれかに記載のプリンタドライバ。
【請求項5】
前記イメージデータ解析処理手段は、前記インデックステーブルのインデックス番号に置き換えられた全ピクセルの色データが所定数以下である場合には、全ピクセルの色データの未使用ビットを除去することでイメージデータの圧縮をする請求項4記載のプリンタドライバ。
【請求項6】
前記イメージデータ解析処理手段は、イメージデータが白黒の明暗だけでグレースケールであるときに、前記インデックステーブルを単色のテーブルとして作成する請求項4記載のプリンタドライバ。
【請求項7】
アプリケーションプログラムからの描画命令を、プリンタ装置が印刷可能な印刷命令に置き換えた印刷データを生成するプリンタドライバの印刷制御方法であって、
グラデーションのイメージデータの印刷を指示するアプリケーションプログラムからの描画命令が、所定のピクセル数ごとに同色の濃淡が変化する1ピクセル列を、所定幅または所定高さに拡大することで矩形領域全体に1ピクセル列を引き延ばす拡大描画命令であるか否かを判定するステップと、前記1ピクセル列が引き延ばされることでできる同色のブロックを塗り潰す印刷命令を、各ブロックごとに生成するステップとを含むことを特徴とするプリンタドライバの印刷制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate