(57)【要約】【課題】  両面印刷時にデータによってはコックリングが発生することがあり、コックリングを押さえつつ、高速な印字スピードを実現するためにデータに合わせて最適な印刷パス数を選択することが必要であった。【解決手段】  両面印刷での裏面印刷時に印刷データに応じて最適なパス数を選択する。例えば、表面と裏面の描画面積の合計が一定値より大きい場合はパス数を増やし、コックリングを押さえることで滑らかな描画結果を実現し、また表面と裏面の描画面積の合計が一定値より小さい場合はパス数を少なくすることで高速な印字スピードを実現する。【選択図】  図２
2007152787.tif 000002
【特許請求の範囲】
【請求項１】
両面印刷可能なインクジェット記録装置において、印刷データの描画面積取得手段と、描画面積の判断手段と、両面印刷時の裏面印刷のパス回数の切替手段とを備えることを特徴とするインクジェット記録装置。
【請求項２】
請求項１に記載のインクジェット記録装置において、印刷データの描画面積取得手段は、ページ単位に、描画命令ごとの描画面積を算出する手段と、描画命令ごとに係数を割り当てる手段と、前記描画面積に前記係数を乗じた仮想描画面積を算出する手段と、前記仮想描画面積を加算していく手段と、１ページ分加算された全描画命令分の仮想描画面積の合計と予め設定された基準面積比を基準面積に乗じた仮想基準面積とを比較する手段とを有し、比較結果に応じた印刷方法をページ単位に決定することを特徴とするインクジェット記録装置。
【請求項３】
請求項１に記載のインクジェット記録装置において、前記描画面積の判断手段の判断は、表面と裏面の描画面積を合算した仮想描画面積と印刷される用紙サイズに一定値を乗じた仮想基準描画面積とを比較した結果に基づく判断であることを特徴とするインクジェット記録装置。
【請求項４】
請求項３に記載のインクジェット記録装置において、前記仮想描画面積と前記仮想基準描画面積との比較の結果、前記仮想描画面積のほうが大きい場合は両面印刷時の裏面印刷のパス回数を多くすることを特徴とするインクジェット記録装置。
【請求項５】
請求項３に記載のインクジェット記録装置において、前記仮想描画面積と前記仮想基準描画面積との比較の結果、前記仮想描画面積のほうが小さい場合は両面印刷時の裏面印刷のパス回数を少なくすることを特徴とするインクジェット記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インクジェット記録装置とインクジェット記録装置のデータを判別して印刷制御を行うプリンタドライバに関するものである。
【背景技術】
【０００２】
従来、両面印字可能なプリンタにおいて両面印刷を行う場合、両面印刷時の印字品位向上や用紙の表面と裏面で用紙の質が異なることに対する対応が成されてきた。例えば両面可能のインクジェット画像記録装置において、片面印刷と両面印刷とで同領域に印刷するパス回数が異なることにより印字品位を向上させるもの（特許文献１）がある。
【特許文献１】特開2001-260485号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来技術には次のような問題があった。
【０００４】
片面印刷と両面印刷で印刷するパス回数を異ならせても、印刷データによっては効果がない場合がある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明では、両面印刷での裏面印刷時に印刷データに応じて最適なパス数を選択する。例えば表面と裏面の描画面積の合計が一定値より大きい場合はパス数を増やし、コックリングを押さえることで滑らかな描画結果を実現し、また表面と裏面の描画面積の合計が一定値より小さい場合はパス数を少なくすることで高速な印字スピードを実現する。
【発明の効果】
【０００６】
上記で説明したように、本発明によれば、両面印刷での裏面印刷時に印刷データに応じた最適な印字パス数を選択することで、表面と裏面の描画面積の合計が一定値より大きい場合は印刷パス数を増やすことでコックリングを押さえ、滑らかな印刷結果を実現すると共に、表面と裏面の描画面積の合計が一定値より小さい場合はパス数を少なくすることで高速な印字スピードを実現する。
【発明を実施するための最良の形態】
【０００７】
次に、本発明の詳細を実施例の記述に従って説明する。
【０００８】
（第一の実施例）
図１が本発明を実施した図である。
【０００９】
図２、図３、図４、図５、図６、図７が本発明の特長を最もよく表しているプリンタドライバ処理側の処理に関するフローチャートであり、概略図である。
【００１０】
印刷開始後、印刷ジョブが片面印刷か両面印刷かの判別を行う（Ｓ２−１）。片面印刷の場合は通常の片面印刷処理を行い、両面印刷の場合は印刷を行うページが表面の印刷か、裏面の印刷かの判断を行う（Ｓ２−２）。なお、ここで言う表面とは両面印刷で最初に印字する印字面を指す。表面印刷の場合は表面印刷データの描画面積集計を行う。（Ｓ２−３）
印刷データの描画面積集計手順は、まず初めに、係数テーブルを設定する（S３−１）。係数テーブルは、例えば、文字については、色としては黒が中心で、1文字1文字の描画面積もそれほど大きくないために、印刷品位を上げる必要は無いので、係数を0%に設定し、イメージ系のデータにおいては、描画面積も大きいことが予想され、なるべく高品位で印刷する必要があるので、係数を100%以上に設定する。図４において、描画命令１に対する係数をK[1]とし、描画命令２に対する係数をK[2]とし、描画命令ｎに対する係数をK[n]（これ以降、nは各描画命令に対応する番号で1, 2, 3, ・・・とする）として設定する。具体的には、オペレーティングシステムがWindows（登録商標）2000の場合、テキスト描画命令として、DrvTextOutがあるが、ここでは係数を0%に設定し、またイメージ描画命令の1つにDrvStretchBltがあるが、ここでは係数を150%に設定するなど、個々の描画命令ごとに係数を設定する。
【００１１】
次に仮想基準面積値を算出する。ここでは、基準面積比をP%として設定し、前の係数テーブルのK[0]に設定する。基準面積として図４の印刷可能範囲(0, 0)-(W, H)を取得し、基準面積比を乗じた値を仮想基準面積値A＝K[0]×(W×H)とする（S３−２）。
【００１２】
オペレーティングシステムは、描画命令を通してドライバに印刷データを渡してくる。ドライバでは、初めに各描画命令別に渡ってきたデータの描画面積を算出する（S２−５）。ここでは単純に描画エリアの矩形領域を描画面積とする。例えば、図６のように、描画命令１に対して、(Xs[1], Ys[1]) - (Xe[1], Ye[1])の矩形エリアのデータが渡されたとすると、描画面積はS[1]＝(Xe[1]−Xs[1])×(Ye[1]−Ys[1])となり、描画命令２に対して、(Xs[1], Ys[1]) - (Xe[1], Ye[1])の矩形エリアのデータが渡されたとすると、描画面積はS[2]＝(Xe[2]−Xs[2])×(Ye[2]−Ys[2])となり、描画命令nに対して、(Xs[n], Ys[n]) - (Xe[n], Ye[n])の矩形エリアのデータが渡されたとすると、描画面積はS[n]＝(Xe[n]−Xs[n])×(Ye[n]−Ys[n])となる。次に、各描画命令別に算出した描画面積に対して、印刷前に設定されていた係数テーブルから対応する描画命令の係数値を乗じ算出した仮想描画面積を各描画命令別の面積テーブルに加算していく（S３−３）。図７のように、面積テーブルをTとすると、描画命令１に対する面積テーブルT[1]には、S[1]×K[1]が加算されT[1]＝T[1]＋S[1]×K[1]となり、描画命令２に対する面積テーブルT[2]には、S[2]×K[2]が加算されT[2]＝T[2]＋S[2]×K[2]となり、描画命令ｎに対する面積テーブルT[n]には、S[n]×K[n]が加算されT[n]＝T[n]＋S[n]×K[n]となる。同時に全ての仮想描画面積を合計した値も保持しておく（S３−５）。例えば、面積テーブルTのT[0]を仮想描画面積の合計の格納場所とするとT[0]＝T[0]＋S[n]×K[n]として処理する。
【００１３】
最後に描画データのラスタライズ処理を行い（Ｓ３−６）、これらの処理をページ描画終了命令がくるまで繰り返す。（S３−７）
描画面積集計を行った後、描画面積データの格納し、（Ｓ２−４）印刷データの描画面積データとして保管しておく（Ｓ２−５）。次に集計した描画面積データを閾値と比較して大きいかどうかを判断する（Ｓ２−６）。ここで言う閾値はＳ３−２で算出した仮想基準面積値を使用する。
【００１４】
そして表面の描画面積データが仮想基準面積値より大きい場合は、印刷パス数を２パスにして印刷させるための印刷コマンドをプリンタに出力する（S２−８）。一方、描画面積データが仮想基準面積値より小さい場合はそのページは、高品質に印刷するよりも印刷品質はそこそこに速く印刷したいので、印刷品質は低品位に設定し、印刷パス数を１パスにし高速に印刷させるための印刷コマンドを出力する（S２−７）。
【００１５】
一方Ｓ２−２で印刷するページが裏面であった場合、裏面の印刷データの描画面積集計を行う（Ｓ２−９）。描画面積集計の求め方は表面の場合と同じであるため省略する。次に表面印刷時に保存しておいた表面の描画面積合計値を取得しておく（Ｓ２−１０）。そして表面の描画面積合計値と裏面の描画面積合計値を合算したものが、閾値を超えるかどうかの判別を行う（Ｓ２−１１）。ここでの閾値は、描画面積を求めるプロセスで取得した仮想基準面積に用紙種類毎に規定された一定の値をかけたものとする。合算した描画面積合計を閾値の比較の結果、描画面積合計が大きい場合はそのページは表面も含めた実印字領域が大きくコックリングが発生する可能性が高いので、印刷品質を高品位に設定し、印刷パス数を２パスにして印刷させるための印刷コマンドをプリンタに出力する（S２−８）。一方、描画面積合計に比べ閾値の方が大きい場合は、そのページは表面も含め実印字領域が小さく、高速に印刷しても印刷品位が落ちないと思われるため、印刷品質は低品位に設定し、印刷パス数を１パスにして高速に印刷させるための印刷コマンドを出力する（Ｓ２−７）。そして１ページ印刷を終了した後に、現在のページがその印刷ジョブの最終ページかどうかの判断を行い（Ｓ２−１２）まだ印刷していないページがある場合は同じ事を繰り返し、最終ページである場合は処理を終了する。
【００１６】
このような処理を行うことによって、ユーザーが意識することなく、両面印刷時に印刷データに応じた最適な印刷パス数が選択され、それによって高品質な印刷品位と高速な印刷を両立させてプリンタを使用することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明を実施したシステムのブロック図
【図２】実施例１のフローチャート
【図３】実施例１のフローチャート
【図４】本発明の実施例１の係数テーブル概略図
【図５】本発明の実施例１のデータ概略図
【図６】本発明の実施例１のデータ概略図
【図７】本発明の実施例１の面積テーブル概略図
【符号の説明】
【００１８】
C1  プリンタドライバを動作させるホストコンピュータ
C2  プリンタドライバ
C3  印刷データを保存しておく記憶装置
C4  外部装置とのインターフェイス
C5  プリンタ本体
C6  外部装置とのインターフェイス
C7  データを受信する受信バッファ
C8  プリンタを制御する制御部
C9  実際に印刷を行なう、プリンタエンジン部
【図１】
2007152787.tif 000003
【図２】
2007152787.tif 000004
【図３】
2007152787.tif 000005
【図４】
2007152787.tif 000006
【図５】
2007152787.tif 000007
【図６】
2007152787.tif 000008
【図７】
2007152787.tif 000009