(57)【要約】【課題】紙送り精度の悪いプリンタでもはみだし量ゼロのふちなし全面印刷を可能にする。【解決手段】プリンタドライバ１０３のプレビューにずらし量設定機能を設け、プリンタドライバ１０３で印字データ作成時に、設定されたずらし量に応じて印字位置を上下左右にずらす。【選択図】        図１
2004326657.tif 000002
【特許請求の範囲】
【請求項１】
各ページの様々な描画命令によって示される画像データを複数のバンドに分割して入力する入力手段と、プリンタドライバのプレビュー上に印刷位置を調節するためのずらし量を設定する設定手段と、前記設定手段により設定された設定値に基づき印刷データをずらす量を算出する計算手段と、前記計算手段で計算されたずらし量を保存しておくずらし量保存手段と、ずらし量保存手段からずらし量を読み出し、印刷データをずらして作成する印刷データ作成手段を備え、前記入力画像データに対してずらし量設定手段で設定された量だけ印字位置をずらした印刷情報処理を行うことを特徴とする画像処理装置。
【請求項２】
前記ずらし量設定手段は、プレビューのメニューリスト上にずらし機能を設け、リスト選択時に設定可能となることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ずらし量設定手段は、プレビュー上に表示された印字領域枠をマウスでクリックしながら、ずらした時の移動量で設定されることを特徴とする請求項１に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置に関し、ホストコンピュータのアプリケーションソフト等により画像出力のために生成される描画命令を処理し、印刷装置が印字処理可能な印字データを生成し、印字データを前記印刷装置に転送する印刷制御装置、この印刷制御装置を搭載する情報処理装置および印刷装置、ならびに印刷制御装置に用いられる印刷情報処理方法に関するものである。
【０００２】
【従来の技術】
一般に、プリンタを接続するホストコンピュータには、プリンタを制御するための印刷制御装置を構成するプリンタドライバが搭載されている。
【０００３】
プリンタドライバとは、ホストコンピュータに搭載されたアプリケーションソフトで作成した文字や図形などのグラフィックス画像データや、自然画などのイメージ画像データを印刷出力する際に、アプリケーションソフトからＯＳ（オペレーティングシステム）を介して供給された画像データに基づく描画命令を解析し、メモリ上にＲＧＢ多階調イメージデータを作成し、プリンタインクの各色を表すＣＭＹＫ多値情報に変換し、インクを打つか打たないかを表すＣＭＹＫ二値のデータに変換する処理をおこなった後、プリンタが解析できる出力データに生成してプリンタに転送するソフトウエアのことである。
【０００４】
近年、高性能化が進むインクジェットプリンタは、印字結果も写真と同じように白い縁が入らないで用紙全面に印刷できるようになってきている。プリンタドライバは、全面印刷時には、プリンタ本体の斜行等の紙送り精度により発生する印字誤差を考慮して、印字結果に白い縁が出ないように、用紙をはみ出した画像データを意図的に作成することが一般的である。プリンタドライバは、実際の用紙からはみ出す量をＸとすると、（用紙サイズ＋Ｘ）と（用紙サイズ）の比率に基づいてラスタライズ解像度を決定し、印字データを作成する。また、はみ出し量ＸをプリンタドライバのＵＩで段階的に設定し、印字データの拡大率を調節することができるプリンタドライバも最近でてきている。
【０００５】
また、プリンタドライバの機能のひとつとしてプレビュー機能があり、実際に用紙に印刷する前にホストコンピュータ上で印字結果を確認する機能も普及しつつある。
【０００６】
【特許文献１】
特開２００１−７５９５０号公報
【０００７】
【発明が解決しようとする課題】
しかし、はみ出す量を段階的に調節できるプリンタドライバでも、はみ出し部分があるかぎり、ユーザは印字結果が欠けることを考慮して画像データを作成する必要があった。これはプリンタによって紙送り精度にばらつきがある為、用紙サイズと同じサイズの印字データを作成した場合には白い縁が現れる可能性が高い。それを回避するための安全措置である。プリンタによっては、少し印刷位置をずらすことで、はみ出し量がゼロでも白い縁がでることなく用紙全面に印字できる場合もあるのだが、いままでのプリンタドライバにはユーザが予めずらし量を設定し、印刷位置をずらす機能はついていなかった。
【０００８】
また、アプリケーション側でデータ作成位置をずらすことで印字位置を調節することは可能であるが、そのためには、各画像データを作成するアプリケーションソフトを立ち上げ直し、画像データの位置を最適な位置になるように調節した後、画像データを保存しなおすという面倒な作業が必要であった。
【０００９】
本発明は、これらの問題点に鑑みてなされたものであり、プリンタドライバのプレビュー機能に印字位置を調節するずらし量の設定手段を設け、印刷時にプリンタドライバで前記ずらし量設定手段で設定された値に基づき、印字位置を上下左右にずらした印刷データを作成することを特徴とし、はみ出し量がゼロでも全面印刷を可能にする画像処理装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本願発明は、各ページの様々な描画命令によって示される画像データを複数のバンドに分割して入力する入力手段と、プリンタドライバのプレビュー機能上に印刷位置を調節するためのずらし量を設定する設定手段と、前記設定手段により設定された設定値に基づき印刷データをずらす量を算出する計算手段と、前記計算手段で計算されたずらし量を保存しておくずらし量保存手段と、ずらし量保存手段からずらし量を読み出し、印刷データをずらして作成する印刷データ作成手段を備え、前記入力画像データに対してずらし量設定手段で設定された量だけ印字位置をずらした印刷情報処理を行うことを特徴とする。
【００１１】
なお、さらに詳細に説明すれば、本発明は下記の構成によって前記課題を解決できた。
【００１２】
（１）各ページの様々な描画命令によって示される画像データを複数のバンドに分割して入力する入力手段と、プリンタドライバのプレビュー上に印刷位置を調節するためのずらし量を設定する設定手段と、前記設定手段により設定された設定値に基づき印刷データをずらす量を算出する計算手段と、前記計算手段で計算されたずらし量を保存しておくずらし量保存手段と、ずらし量保存手段からずらし量を読み出し、印刷データをずらして作成する印刷データ作成手段を備え、前記入力画像データに対してずらし量設定手段で設定された量だけ印字位置をずらした印刷情報処理を行うことを特徴とする画像処理装置。
【００１３】
（２）前記ずらし量設定手段は、プレビューのメニューリスト上にずらし機能を設け、リスト選択時に設定可能となることを特徴とする前記（１）に記載の画像処理装置。
【００１４】
（３）前記ずらし量設定手段は、プレビュー上に表示された印字領域枠をマウスでクリックしながら、ずらした時の移動量で設定されることを特徴とする前記（１）に記載の画像処理装置。
【００１５】
【発明の実施の形態】
（第一実施形態）
以下、図面を参照して本発明に係る発明の実施の形態の一例を詳細に説明する。本実施形態におけるシステムの概略の１例を図１に示す。
【００１６】
ホストコンピュータ１００には、例えばインクジェットプリンタなどのプリンタ１０５とモニタ１０４やキーボード１０６が接続されている。ホストコンピュータ１００は、ワープロ、表計算、インターネットブラウザ等のアプリケーションソフトウエア１０１とそのアプリケーションソフトによってＯＳ１０２に発行される出力画像を示す各種描画命令群（イメージ描画命令、テキスト描画命令、グラフィックス描画命令）を処理して印刷データを作成するプリンタドライバ１０３をソフトウエアとして持つ。
【００１７】
ホストコンピュータ１００は、これらソフトウエアが動作可能な各種ハードウエアとして中央演算処理装置ＣＰＵ１０８、ハードディスクＨＤ１０７、ランダムアクセスメモリＲＡＭ１０９、リードオンリーメモリＲＯＭ１１０等と、前記ＣＰＵ、ＨＤ、ＲＡＭ、ＲＯＭを接続するデータバス１１１を備える。
【００１８】
図１で示される実施形態として、例えば一般的に普及しているＩＢＭ  ＡＴコンパチのパーソナルコンピュータにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）９５をＯＳとして使用し、任意の印刷可能なアプリケーションをインストールし、モニタとプリンタとキーボードを接続した形態が１実施形態として考えられる。
【００１９】
ずらし量設定手段は、プリンタドライバのプレビューに設けたずらし量を設定する手段である。この設定手段を表示する一つの例（図３）としては、ウインドウとして、プレビューのメニュー上のずらし量設定のボタンを押下することで設定ダイアログが表示されることとする。また、本機能が選択された場合に、プレビュー上にプリンタドライバの印字領域情報を枠として表示し、この枠をマウスでクリックしたまま移動させることで印字領域をずらす操作も可能とする。
【００２０】
ずらし量設定手段の設定項目は、印字結果を上下左右にずらすことを可能にする値を設定できることを特徴とし、例えば、ずらし量設定項目は、縦（Ｙ）、横（Ｘ）の２つとし、各項目は、ｍｍ・ｉｎｃｈ・ｐｉｘｅｌ、それぞれの単位で入力可能であり、各項目プラスとマイナスで値を指定できるものとする。これら項目値により、印字結果を上下左右にずらすことが可能となる。
【００２１】
ずらし量計算手段は、ずらし量設定項目で設定された値と印刷処理時に使用する解像度を基に計算し、ずらし量をピクセル単位に変換する処理を行い、ずらし量保存手段にＹ方向のずらし量とＸ方向のずらし量として保存しておく。ずらし量設定時にピクセル単位で指定した場合には、そのまま設定値をずらし量としてずらし量保存手段に保存する。
【００２２】
印刷データ作成手段は、ずらし量保存手段から、Ｘ方向およびＹ方向のずらし量を読み出し、読み出したずらし量に基づいて印刷データをずらして作成する。Ｙ方向にずらす時は、元印字データ先頭の空白ラスタの増減（ずらし量によっては、先頭や後端の数ラスタの印字データを捨てる）ことで調節する。Ｘ方向へずらす時は、元印字データに左マージンの追加（ずらし量によっては、元印字データの右端データは捨てる）、や元印字データから左マージンの削除（左マージンがない場合や、ずらし量の値によっては、元印字データの左端データを捨てる）して印字データを作成する。この印刷データ作成手段で行うずらし処理は、ＲＧＢ−＞ＣＭＹＫ色変換時のバッファ格納アドレスを操作する方法や、あるいは二値化処理時の二値化バッファのアドレスを操作する方法が挙げられる。
【００２３】
以下図２に本実施例が示す一般的なバンディング方式のプリンタドライバとＯＳの処理フローについて説明する。
【００２４】
ホストコンピュータ上のアプリケーションソフトは、文字などのテキストに分類されるテキストデータや、図形などのグラフィックスに分類されるグラフィックスデータや、自然画などに分類されるイメージ画像データなどを出力画像データとして作成する。
【００２５】
作成された出力画像データを印刷出力するときには、アプリケーションソフトからＯＳに印刷出力要求を行ない、テキストデータ部分は、テキスト描画命令、グラフィックスデータ部分はグラフィックス描画命令、イメージ画像データ部分はイメージ描画命令で構成される出力画像を示す描画命令群をＯＳに発行する。
【００２６】
ＯＳはアプリケーションの出力要求を受け、出力プリンタに対応するプリンタドライバ１０３に印刷要求を発行する。
【００２７】
プリンタドライバではＯＳから印刷要求が送られてくると、バンド用の作業領域を確保し、確保した領域の座標データ（バンドサイズのデータ）をＯＳに送る。ＯＳは渡されたバンドサイズ内に存在する描画命令群をプリンタドライバに発行する。バンド用の作業領域を確保するのは、本実施形態で示したようなページ記述言語を持たないラスタ系のプリンタでは、ホストコンピュータ上のプリンタドライバがイメージ展開処理を行うのだが、ホストコンピュータには、通常１ページ分すべての描画命令を展開するだけの十分な記憶装置が搭載されていないので、横に細長く分割したバンドと呼ばれる単位ごとにイメージをメモリ上に作成するためである。
【００２８】
プリンタドライバは、ＯＳからの描画命令群を順次ＲＧＢ２４ビットの形式でバンドメモリにラスタライズし、全ての描画命令をラスタライズした後にバンドメモリの内容をＣＭＹＫデータに変換を行ない、最後にプリンタが印刷可能なデータ形式に変換し、プリンタに転送する。
【００２９】
ＯＳは、アプリケーションで作成されたページ内に存在するすべての描画命令群の発行を、バンド毎に繰り返し、印刷を実行し、完了させる。
【００３０】
以下図４（ａ），（ｂ）、図５、図６で、本実施例が示すバンディング方式のプリンタドライバによるずらし処理を行った印刷データ処理の流れについて説明する。
【００３１】
ユーザはプリンタドライバのプレビュー機能をＯＮに設定し、アプリケーションから印刷を実行する。プレビューが表示された後、プレビュー上のずらし量設定手段で印刷実行時のずらし量を設定する。ここでは、縦方向にＹｐｉｘｅｌ、横方向にＸｐｉｘｅｌのずらし量を設定したとする。プリンタドライバは、まず、ずらし量計算手段でずらし量を算出した後、ずらし量保存手段でずらし量をメモリ上に保存しておく。次にメモリ上にバンド領域（単位はｐｉｘｅｌ，幅ＢａｎｄＷｉｄｔｈ，高さＢａｎｄＨｅｉｇｈｔ）を確保し、用紙サイズ全体のうちの縦方向の現在位置情報を示す変数ＣｕｒＹと、バンド領域の縦方向の現在位置情報を示すＳｃａｎＹをゼロに初期化しておく。
【００３２】
ＯＳからバンド領域内に描画すべき描画命令を１つづつ受け取り、プリンタドライバはこの描画命令実行時に、プリンタの解像度に応じ、予め確保しておいたＲＧＢ２４ビットバンドメモリに順次ラスタライズを行ない、ＲＧＢ画像データを生成する。
【００３３】
バンドメモリの位置情報（ＢａｎｄＸ、ＢａｎｄＹ）の縦方向の位置ＢａｎｄＹとずらし量保存手段で保存しておいた縦方向のずらし量Ｙから縦方向の現在位置情報を計算する（ＣｕｒＹ＝ＢａｎｄＹ＋Ｙ）。
【００３４】
ＣｕｒＹが負の値の時は、ＣｕｒＹをゼロに設定し、スキャンライン開始位置をＹ本分だけ先に進める。このページ内の縦方向現在位置情報ＣｕｒＹの値を操作した処理により、印字データに空白ラスタを追加したり、印字データを捨てることになり、印字位置を上下方向にずらすことができる。
【００３５】
作成されたＲＧＢ画像データのバンドメモリに対して、バンド内の１スキャンライン毎に、該当スキャンラインの先端から終端まで、データが存在するかどうかを検索し、スキャンライン上のデータが存在しているｐｉｘｅｌ幅（Ｗｉｄｔｈ）と、左側の空白ｐｉｘｅｌ幅（Ｌｅｆｔ）と、右側の空白ｐｉｘｅｌ幅（Ｒｉｇｈｔ）を求める。
【００３６】
該当スキャンライン上のＷｉｄｔｈ，Ｌｅｆｔ，Ｒｉｇｈｔを求めた後で、ずらし量保存手段で保存しておいた横方向のずらし量Ｘを読み出し、ずらし量分を空白ｐｉｘｅｌとみなして左右の空白ｐｉｘｅｌを計算し直す（Ｌｅｆｔ＝Ｌｅｆｔ＋Ｘ，Ｒｉｇｈｔ＝Ｒｉｇｈｔ−Ｘ）処理を行う。
【００３７】
再計算後のＬｅｆｔの値が負の値ならば、Ｌｅｆｔをゼロとした後、Ｗｉｄｔｈを負の値分だけ減らし、かつ色変換時のスキャンラインの先頭アドレスを負の値分ずらし、Ｒｉｇｈｔを負の値分だけ増やす。再計算後のＬｅｆｔがＢａｎｄＷｉｄｔｈを超えてしまったときは、Ｗｉｄｔｈをゼロとする。また、再計算後のＬｅｆｔ＋ＷｉｄｔｈがＢａｎｄＷｉｄｔｈを超えてしまう場合は、超えてしまった分だけＷｉｄｔｈを減らす。
【００３８】
ずらし量を考慮して再計算を行った後、該当スキャンライン上にデータが存在する場合（Ｗｉｄｔｈ＞０）には、ＲＧＢ２４ｂｉｔデータを、予め確保しておいた１スキャンライン分のＣＭＹＫ３２ｂｉｔを展開するためのメモリに、再計算後のＬｅｆｔ，Ｗｉｄｔｈ，Ｒｉｇｈｔに基づいてＣＭＹＫに色変換（減色処理）を行った後で格納する。
【００３９】
最後に変換されたＣＭＹＫ３２ｂｉｔデータに対して、２値化処理を施した後、印字コマンドに変換しプリンタに出力を行う。
【００４０】
前述してきた処理を、１バンド内すべてのスキャンラインに対して繰り返し行うと、プリンタドライバのバンド毎の印刷情報処理が終わったこととなる。さらにこのバンド毎の処理をページ長分だけ繰り返し１ページ分の印刷情報処理を終了する。
【００４１】
（変形例）
前述してきた実施形態では、ＲＧＢ多値データをＣＭＹＫ多値データに変換する部分でずらし処理を行っているが、ＣＭＹＫ多値データをＣＭＹＫ２値データに変換する時に同様のずらし処理を行っても可能である。また、前述してきた実施形態では、ＣＭＹＫ多値データをＣＭＹＫ２値データに変換する処理を行っているが、階調数を減らすＮ値化処理すべてで同じである。
【００４２】
【発明の効果】
以上説明したように、本発明によれば、バンド毎に入力される様々な描画命令で構成される画像データを印刷する時に、プリンタドライバのプレビュー機能に設けられたずらし量の設定手段で設定された値に基づき、印刷時にプリンタドライバで印字位置を上下左右にずらした印刷データを作成することが可能になり、はみ出し量がゼロでもずらし量を調節することでふちなし全面印刷を実現することができるようになった。
【図面の簡単な説明】
【図１】システムの構成の１例を示すブロック図
【図２】一般的なバンディング方式のプリンタドライバの処理の流れを示す図
【図３】プレビュー上のずらし量設定手段の１例を示す図
【図４】（ａ），（ｂ）  実施例１の印刷データ処理時のパラメータ説明図
【図５】実施例１の印刷データ処理のフローチャート
【図６】横方向ずらし量Ｘを考慮したＬｅｆｔ／Ｗｉｄｔｈ／Ｒｉｇｈｔの再計算時のフローチャート
【符号の説明】
１００  ホストコンピュータ
１０１  アプリケーションソフトウエア
１０２  ＯＳ
１０３  プリンタドライバ
１０４  モニタ
１０５  プリンタ
１０６  キーボード
１０７  ＨＤ
１０８  ＣＰＵ
１０９  ＲＡＭ
１１０  ＲＯＭ
１１１  データバス
【図１】
2004326657.tif 000003
【図２】
2004326657.tif 000004
【図３】
2004326657.tif 000005
【図４】
2004326657.tif 000006
【図５】
2004326657.tif 000007
【図６】
2004326657.tif 000008