情報処理装置、情報処理方法およびプログラム
【課題】パターン印刷において処理時間を低減する情報処理装置を提供する。
【解決手段】ユーザに入力させた基準パラメータの値に基づいて、基準パラメータの値を段階的に変化させたパラメータの値を、予め定められた数分生成する。画像データの縮小画像を印刷するための描画命令を含む印刷ジョブを生成し、その描画命令をラスタデータに変換して格納する。格納されたラスタデータを予め定められた数分複製し、格納されたラスタデータに対して基準パラメータに基づき画像調整処理を行う。また、複製されたラスタデータそれぞれに対して、生成されたパラメータそれぞれに基づき画像調整処理を行う。
【解決手段】ユーザに入力させた基準パラメータの値に基づいて、基準パラメータの値を段階的に変化させたパラメータの値を、予め定められた数分生成する。画像データの縮小画像を印刷するための描画命令を含む印刷ジョブを生成し、その描画命令をラスタデータに変換して格納する。格納されたラスタデータを予め定められた数分複製し、格納されたラスタデータに対して基準パラメータに基づき画像調整処理を行う。また、複製されたラスタデータそれぞれに対して、生成されたパラメータそれぞれに基づき画像調整処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷データを処理する情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
ユーザが印刷画像の色合いや濃度、コントラストを所望のものに仕上げるためには、これらの値に対応するパラメータ(画像調整パラメータ)を、適切に設定しなければならない。しかし、ユーザが複数個ある画像調整パラメータを一度に設定し、印刷画像を所望の色合いや濃度、コントラストに仕上げることは困難である。特許文献1には、複数の画像調整パラメータを適切に設定する方法として、画像調整パラメータをそれぞれ複数段階に設定し、各段階の画像調整パラメータの組み合わせに応じて元画像に対して画像処理を施すことが記載されている。また、これら画像調整パラメータの組み合わせが異なる複数の画像を1ページに並べて印刷する印刷方法(パターン印刷)が開示されている。特許文献1によると、ユーザは、パターン印刷の各画像(インデックス画像)を観察して、所望する色合いや濃度、コントラストを有するインデックス画像を選択することで、画像調整パラメータを選択的に設定することができると記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4408858号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
パターン印刷では、1ページの印刷ページ内に、異なる画像処理が施された元画像が複数枚配置される。そのため、パターン印刷の処理の過程で、元画像をコピーする処理が必要となる。プリンタドライバに入力される印刷データの形式は、複数の描画命令で構成される、例えばPDL(Page Description Language)などが一般的である。図10は、プリンタドライバがパターン印刷を行なう際の処理の概略を示している。アプリケーション201から送信された元画像101は、印刷ジョブ214としてプリントキュー213に蓄えられる。この時、印刷ジョブ214はPDL形式のデータとして構成されており、元画像101の描画内容を表す描画命令群を含んでいる。ここで、プリンタドライバ220がパターン印刷を行うために元画像101をコピーする場合、その描画命令群を、配置する画像の枚数分だけコピーする必要がある。しかし、一般にPDLをラスタイメージに変換(ラスタライズ)し印刷画像データ103を生成するには時間がかかり、描画命令の数が増えるほどその時間は長くなる。そのため、プリンタドライバがパターン印刷を行う場合には、通常の印刷時に比べてラスタライズに要する時間が増大し、印刷に時間がかかってしまう。特にインデックス画像の枚数が多い場合や、元画像101が複雑で、描画命令の数が多い場合には、この問題が深刻となる。すなわち、従来、プリンタドライバがパターン印刷を実行する場合に、通常の印刷時に比べて処理時間を多大に要していた。
【0005】
本発明の目的は、このような従来の問題点を解決することにある。そこで、上記の点に鑑み、本発明は、パターン印刷において処理時間を低減する情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る情報処理装置は、画像データを取得する取得手段と、
基準となる画質を定める基準パラメータをユーザに入力させる入力手段と、
前記基準パラメータの値に基づいて、前記基準パラメータの値を段階的に変化させたパラメータの値を、予め定められた数分、生成するパラメータ生成手段と、
前記画像データの縮小画像を印刷するための描画命令を含む印刷ジョブを生成するジョブ生成手段と、
前記印刷ジョブに含まれる前記描画命令をラスタデータに変換する変換手段と、
前記変換手段により変換された前記ラスタデータを格納する格納手段と、
前記格納手段により格納された前記ラスタデータを、前記予め定められた数分、複製する複製手段と、
前記複製手段により複製された前記ラスタデータに対して前記基準パラメータに基づき画像調整処理を行う第1の処理手段と、
前記複製手段により複製された前記ラスタデータそれぞれに対して、前記パラメータ生成手段により生成された前記パラメータそれぞれに基づき、前記画像調整処理を行う第2の処理手段とを備えることを特徴とする。
【発明の効果】
【0007】
本発明によると、パターン印刷において処理時間を低減することができる。
【図面の簡単な説明】
【0008】
【図1】印刷システムのハードウェア構成を示すブロック図である。
【図2】情報処理装置の機能構成の一例を示す図である。
【図3】ユーザインタフェースの一例を示す図である。
【図4】各インデックス画像の配置の一例を示す図である。
【図5】印刷ジョブの構成を示す図である。
【図6】パターン印刷での、レイアウトフィルタで行なう処理の手順を示す図である。
【図7】パターン印刷での、レンダフィルタで行なう処理の手順を示す図である。
【図8】パターン印刷での、レンダフィルタで行なう画像処理の手順を示す図である。
【図9】実施例2におけるレンダフィルタ223で行う処理の手順を示す図である。
【図10】プリンタドライバが行う一般的な処理の手順を示す図である。
【図11】レンダフィルタの具体的な処理の流れを説明するための図である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0010】
<実施例1>
(ハードウェア構成)
図1は、印刷システムのハードウェア構成を示すブロック図である。本図において、PC1は、情報処理装置の一例であり、入力インタフェース10、CPU11、ROM12、RAM13、外部記憶装置14、出力インタフェース15、及び入出力インタフェース16を有する。また、入力インタフェース10には、キーボード18、マウス17などの入力デバイスが接続され、出力インタフェース15には、表示部19などの表示デバイスが接続されている。ROM12には、初期化プログラムが格納され、外部記憶装置14には、アプリケーションプログラム群、OS(Operating System)、プリンタドライバ220、その他の各種のデータが格納されている。例えば、RAM13は、外部記憶装置14にストアされる各種のプログラムによりワークメモリとして使用される。なお、本実施形態では、CPU11が、ROM12に格納されたプログラムの手順に従って処理を行うことによって、PC1における後述の機能及び後述するフローチャートに係る処理が実現される。印刷装置2は入出力インタフェース16を介して、PC1と接続されている。ここではPC1と印刷装置2が分かれて構成されているが、これらが一つの装置として構成されていても良い。
【0011】
(機能構成)
図2は、PC1の機能構成の一例を示す図である。図2では、主に、PC1にインストールされるプリンタドライバ220の機能について説明する。以下では、PC1のOSとしてMicrosoft社のWindows(登録商標)を用いた場合を例に挙げて本印刷システムを説明する。また、印刷ジョブ214として、Microsoft社が開発したオープン規格の電子文書フォーマットの1つであるXPS(XML Paper Specification)を用いて説明する。アプリケーション201には、
画像処理、ワードプロセッサ、ウェブブラウザなどのソフトウェアが含まれる。アプリケーション201は、ユーザの入力に従い、文字などのテキストデータ、図形などのグラフィクスデータ、写真などの画像データからなる描画データを編集、加工する。そして、ユーザの入力に従い、編集、加工した描画データの印刷をOSに要求する。その際、アプリケーション201は、テキストデータはテキスト描画命令で、グラフィクスデータはグラフィクス描画命令で、画像データはイメージ描画命令で構成された描画命令群をOSに発行する。OSはアプリケーション201から発行される各種描画命令をOSの印刷サポート機能211を介してXPSデータに変換する。変換後のXPSデータはスプーラ212のプリントキュー213に一時的に蓄えられ、印刷ジョブ214としてスプーラ212により管理される。印刷ジョブ214は、プリンタドライバ220によって印刷装置2が解釈可能な印刷コマンドに変換された後に、印刷装置2に供給され、印刷装置2で印刷が行われるよう構成されている。
【0012】
アプリケーション201は、ユーザによる入力デバイスの操作に基づいて印刷を開始する指示を行う際、OSの印刷サポート機能211を介して、ユーザインタフェースモジュール221から返却された印刷設定情報を印刷ジョブ214に付加する。画像調整パラメータはこの印刷設定情報に含まれ、例えば図3に示すようなユーザインタフェースにより、各調整値が入力される。なお、印刷設定情報は、アプリケーション201からの印刷を開始する指示を行う前に予め設定されている。プリンタドライバ220に渡された印刷ジョブ214は、先ずレイアウトフィルタ222によって処理される。ここで、フィルタとは、入力されたデータをもとに、加工、変換、無変換、生成等の処理を介して、何らかのデータを出力する機能を有するプログラム(モジュール)のことである。各フィルタは印刷ジョブ214のデスプール時に不図示のOSのフィルタ管理機能から呼び出され、初期化が行なわれる。レイアウトフィルタ222は、印刷設定情報に従って印刷ジョブ214のページを並べ替えたり複数のページを1つのページにまとめたりするページ構成処理を印刷ジョブ214に対して行う。
【0013】
レンダフィルタ223は、印刷設定情報に従って印刷ジョブ214をラスタライズする。この時、実際には、不図示のレンダリングエンジンが、印刷ジョブ214の各描画命令を解釈することにより、ラスタライズを行なう。ラスタライズされたラスタイメージデータは色を多段階の値として保持する多値データであり、これを元に画像調整処理(単に画像処理ともいう)が行われる。レンダフィルタでの画像処理では、まず、印刷設定情報に含まれるシアン、マゼンタ、イエローの調整値に応じて色相の調整が行われる。そして、コントラストの調整値に応じてコントラスト調整を行い、最後に濃度の調整値に応じて濃度調整を行う。その後、レンダフィルタ223は、画像処理後のデータを元に、印刷装置2の保持するインク毎の色成分に分解したハーフトーンデータを生成する。これらのラスタイメージデータ、及びハーフトーンデータを、ページ全体分一度に処理をしようとすると、非常に大きなメモリが必要になる。よって、レンダフィルタ223は、ページ単位ではなく記録媒体上の記録領域を短冊状に分割した矩形(バンド領域)単位での処理(バンディング処理)を行なうこともできる。その後、レンダフィルタ223は、プリンタコマンドの付加などを行い、印刷装置2が解釈可能な印刷コマンドを生成する。レンダフィルタ223は生成した印刷コマンドを、順次、印刷装置2に向けて送信する。なお、バンディング処理時には先頭のバンド領域に対するプリンタドライバの処理が完了すれば、そのデータが印刷装置2に送られ、印刷を開始できる。
【0014】
(パターン印刷)
ユーザが印刷画像を所望の色合いや濃度、コントラストとするためには、図3に示すようなユーザインタフェースにより画質を調整するための各調整値を設定する必要がある。しかし、画像処理に不慣れなユーザが、複数の画像調整パラメータを同時に設定することは困難である。そこで、パターン印刷により、段階的に変化する画像調整パラメータを組み合わせた画像処理の結果の画像を、1枚の記録媒体上にユーザが比較可能なように複数枚並べて印刷する。ユーザは、それらの中から所望の印刷画像に近いものを選択し、その画像の画像調整パラメータを、次回の印刷時にユーザインターフェースモジュールに設定することで、画像調整パラメータの設定を容易に行うことを可能にする。
【0015】
図2のような印刷システムにおいてパターン印刷を実施する場合、印刷システムは、パターン印刷データベース224と画像調整データテーブル225を利用する。画像調整データテーブルについては、画像処理に関する説明内で詳細に説明する。パターン印刷データベース224は、インデックス画像のサイズ、インデックス画像が配置される座標、インデックス画像に施す画像処理の画像調整パラメータの情報を含む。このパターン印刷データベース224は、後述するユーザインタフェースモジュール221の印刷設定情報に基づき印刷開始時に構築される。また、各インデックス画像には印刷開始位置からの距離が近いものから順に、インデックス番号を1から割り当てる。また、このインデックス画像とインデックス番号の対応もパターン印刷データベース224内に保持されている。図4(b)のようにマトリクス状にインデックス画像を配置する場合には、先頭行のインデックス画像は全て印刷開始位置からの距離が等しいため、インデックス番号の割り当て規則を予め定めておく。例えば、印刷開始位置からの距離が等しい場合には、左から右に向かってインデックス番号を割り当てるようにする。以下、インデックス番号がXであるインデックス画像をインデックス画像Xとして表記する。レイアウトフィルタ222やレンダフィルタ223はこのパターン印刷データベース224の情報を参照して処理を行う。
【0016】
続いてパターン印刷を行う場合のプリンタドライバ220の各モジュールでの処理の流れについて説明する。なお、本実施例ではバンディング処理を行なう場合の処理について説明する。初めに、ユーザインタフェースモジュール221について説明する。ユーザは、ユーザインタフェースモジュール221に、パターン印刷を実施するための情報を印刷設定情報として設定する。例えば、図3下部に示すように、ユーザは、パターン印刷の実施、非実施をユーザインタフェース上のチェックボックスで指示し、調整を行なう画像調整パラメータを設定する。ここでの設定値によって、各インデックス画像のレイアウトと画像処理に使用する画像調整パラメータの組み合わせが決定する。シアン/マゼンタ/イエロー調整のように3つのパラメータを調整する場合、図4(a)に示すように、各インデックス画像は六角形に配置される。また、濃度/コントラスト調整のように2つのパラメータを調整する場合、図4(b)に示すように、各インデックス画像はマトリクス状に配置される。また、中央には基準となる縮小画像が配置される。基準画像には図3上部の調整バーで入力された画像調整パラメータ(基準パラメータ)を利用した画像処理を施す。そして、その他のインデックス画像にはこの画像調整パラメータを基準に段階的に変化させた画像調整パラメータを生成して(パラメータ生成の一例)使用した画像処理を施す。
【0017】
次に、レイアウトフィルタ222での処理について説明する。レイアウトフィルタ222は、印刷設定情報に基づき、印刷ジョブ214であるXPSデータを編集して、パターン印刷に使用する印刷ジョブ214を作成する。図6は、印刷システムにおいてパターン印刷を指示した場合に、レイアウトフィルタ222で行なう処理の手順を示すフローチャートである。まず、レイアウトフィルタ222は、受信した印刷ジョブ214に対して、縮小と平行移動を行なうための命令を追加する(S601)。この縮小率や、平行移動量はパターン印刷データベース224を参照することで取得し、オリジナルの画像が、インデックス画像1の位置に配置されるように設定する。次に、レイアウトフィルタ222は、各インデックス画像に施された画像処理に使用した画像調整パラメータを識別するための文字列(識別文字列)を描画するための命令を追加する(S602)。この時、印刷設定情報の設定値を描画するための命令も追加する(S603)。最後に、レイアウトフィルタ222は、編集した印刷ジョブ214をレンダフィルタ223に送信する(S604)。このようなジョブ生成処理により、例えば、シアン/マゼンタ/イエロー調整時には、図5で示すような印刷ジョブ214が送信される。通常の印刷時には、1ページ内に複数の画像を描画する場合には、レイアウトフィルタ222が複数枚分の描画命令で構成された印刷ジョブ214を作成する。そのため、パターン印刷で多数のインデックス画像が配置された印刷ジョブ214を作成しようとした場合には、印刷ジョブ214を構成する描画命令群を、配置するインデックス画像の枚数分だけコピーする処理が必要となる。しかし、本実施例においては、図6に示すように、レイアウトフィルタ222によってそのようなコピー処理を実施しないことにより、レイアウトフィルタ222での処理を高速化できる。
【0018】
続いて、レンダフィルタ223での処理について説明する。レンダフィルタ223は、レイアウトフィルタ222が編集した印刷ジョブ214を、ラスタライズして画像処理を施すことで、パターン印刷の出力結果となる印刷画像データ103を印刷装置2に送信する。図7は、印刷システムにおいて、パターン印刷を指示した場合にレンダフィルタ223で行なう処理の手順を示すフローチャートである。まず、レンダフィルタ223は、Nを0で初期化する(S701)。Nは、レンダフィルタでの処理が完了したインデックス画像のインデックス番号である。次に、レンダフィルタ223は、先頭バンド領域から順次、バンド領域のラスタライズを行なう(S702)。次に、レンダフィルタ223は、MをN+1で初期化し(S703)、インデックス画像Mが当該バンド領域内に配置されるかを、パターン印刷データベース224を参照して判定する(S704)。ここで、配置されると判定された場合、インデックス画像Mの下辺位置が当該対象のバンド領域に含まれるか否かを、パターン印刷データベース224を参照して判定する(S705)。ここで、含まれると判定された場合、インデックス画像Mに関する処理は当該対象のバンド領域で終了するということなので、NをMで更新する(S706)。次に、レンダフィルタ223は、インデックス画像Mがインデックス画像1であるかを判定する(S707)。ここで、インデックス画像1であると判定された場合、当該対象のバンド領域内でインデックス画像1が配置されている領域のラスタイメージデータ(単にラスタデータともいう)を、RAMに確保した領域(イメージバッファ111)内に保存する(S708)。これにより、イメージバッファ111内には画像処理前のラスタイメージデータが保存される。
【0019】
次に、レンダフィルタ223は、イメージバッファ111内のラスタイメージデータをコピーして画像処理を施す(S709)。S709の画像処理については、図8において後述する。次に、レンダフィルタ223は、画像処理後のデータをインデックス画像Mの位置にレンダリングし(S710)、MをM+1で更新する(S711)。次に、レンダフィルタ223は、Mが1ページ内のインデックス画像の枚数よりも大きいかを判定し(S712)、小さいと判定された場合には、S704から繰り返す。S704でインデックス画像Mが当該バンド領域内に配置されないと判定されるか又はS712でMがインデックス画像の枚数よりも大きいと判定された場合、レンダフィルタ223は当該対象のバンド領域のラスタイメージデータを元に印刷コマンドを生成する。レンダフィルタ223は、生成された印刷コマンドを印刷装置2に送信する(S713)。次に、レンダフィルタ223は、当該対象のバンド領域が印刷ページ内で最後のバンド領域であるかを判定し(S714)、最後でないと判定された場合には、S702に進み、次のバンド領域に対して処理を行う。最後のバンド領域であると判定された場合には、レンダフィルタ223は本処理を終了する。
【0020】
なお、図7において、インデックス画像1が複数のバンド領域に分割されて描画されている場合、S708では処理中のバンド領域に含まれる領域のみのラスタイメージデータを保存する。また、S710においてインデックス画像Mが複数のバンド領域に分割されて描画されている場合、処理中のバンド領域に含まれる領域のみのラスタイメージデータをイメージバッファ111からコピーしてレンダリングする。
【0021】
ここで、レンダフィルタ223の具体的な処理の流れについて図11を参照しながら説明する。図11は、バンディング処理を行なう場合に、レンダフィルタ223が生成する印刷画像データ103の生成過程を示した図である。まず、先頭のバンド領域に関する処理について説明する。処理11aに示すように、先頭のバンド領域内にはインデックス画像1が含まれるため、イメージバッファ111にラスタライズ後のデータを保存する(S708)。また、保存したラスタイメージデータをコピー(複製)して画像処理(第1の処理の一例)を施したデータを、インデックス画像1の位置にレンダリングする(S709、S710)。次に、処理11bに示すように、2番目のバンド領域をラスタライズし、先頭のバンド領域と同様にインデックス画像1の位置のデータを保存する。また、処理11cに示すように、その他のインデックス画像は、イメージバッファ111内のラスタイメージデータをコピーし、画像処理(第2の処理の一例)を施して、各位置にレンダリングする。処理11dに示すように、3番目のバンド領域は、初め文字列のみがラスタライズされ、その後、処理11eに示すように、各インデックス画像の位置にはイメージバッファ111内のラスタイメージデータがレンダリングされる。以降、全てのインデックス画像には、同様にイメージバッファ111内のラスタイメージデータが利用される。
【0022】
レイアウトフィルタ222が元の印刷ジョブ214の描画命令を、配置するインデックス画像の枚数分だけコピーした場合には、レンダフィルタ223で解釈する描画命令の数が増えるために、レンダフィルタ223でのラスタライズに時間がかかってしまう。しかし、本実施例においては図7に示すように、レンダフィルタ223では1枚分の描画命令のラスタライズのみ行いラスタイメージデータを複数枚分コピーすることにより、ラスタライズにかかる時間を削減し、レンダフィルタ223での処理を高速化できる。
【0023】
(画像処理)
インデックス画像の画像処理では、画像毎に異なる画像調整パラメータを使用するため、調整後の値を算出するための計算回数が膨大になってしまう。こういった場合、一般には事前に調整後の値を計算しておき、調整前の値との対応をデータテーブルの形で保持しておくことが多い。本実施例では、このデータテーブルを画像調整データテーブル225と呼ぶ。パターン印刷において上記手法を利用する場合、画像調整データテーブル225はインデックス画像毎に異なるものが必要となる。この時、画像調整データテーブル225を作成するタイミングとして、例えば、レンダフィルタ223の初期化時に行なうことが考えられる。しかし、レンダフィルタ223の初期化時にパターン印刷に必要な画像調整データテーブル225を全て作成する場合には、それらの作成が終わるまでレンダフィルタ223はラスタライズなどその他の処理を行なうことが出来ない。そのため、通常であればすぐに処理を行なわれるべき印刷ジョブ214が待機状態となり、印刷開始までの時間が長くなってしまう。例えば、バンディング処理を行なう場合に当該対象のバンド領域に含まれるインデックス画像の画像処理に必要な画像調整データテーブル225が作成されていればレンダフィルタ223は処理を開始出来る。しかし、パターン印刷に必要な画像調整データテーブル225を全て作成してしまうと、それら全ての画像調整データテーブル225の作成が終わるまで待つことになってしまう。そこで、本実施例においては、レンダフィルタ223がラスタイメージデータに対して画像処理を施す際に、必要となる画像調整データテーブル225を作成する。
【0024】
図8は、印刷システムにおいてパターン印刷を指示した場合に、レンダフィルタ223で行なう画像処理の手順を示すフローチャートである。まず、レンダフィルタ223は、印刷設定情報からパターン印刷データベース224を参照して、処理中のインデックス画像の画像調整パラメータを取得する(S801)。次に、レンダフィルタ223は、その取得した画像調整パラメータに対応した画像調整データテーブル225が作成済みであるかを判定する(S802)。未作成であると判定された場合、新しく作成してRAM上に検索可能な形で保存する(S803)。そして、レンダフィルタ223は、イメージバッファ111内のラスタイメージデータをコピーし(S804)、画像調整データテーブル225を利用して、コピーしたラスタイメージデータを変換する(S805)。
【0025】
上記の処理により、バンディング処理を行う場合においても、余計なデータテーブルの作成時間を削減することができ、印刷開始までの時間を早めることができる。なお、上述した本実施例の説明では、レイアウトフィルタ222とレンダフィルタとで処理を分担して実行しているが、これらの処理を1つのフィルターがまとめて実行するようにしても良い。また、本実施例では、印刷ジョブ214としてXPSを用いているが、EMFを用いても良い。例えば、EMFを印刷ジョブ214とするGDIドライバでは、レイアウトフィルタ222で行われる処理をプリントプロセッサで行い、レンダフィルタ223で行われる処理をグラフィックスドライバーで行うようにしても良い。
【0026】
<実施例2>
本実施例では、プリンタドライバにおいてバンディング処理を行わない場合に適用できる。本実施例は、実施例1に対して、図6で示したレイアウトフィルタ222の処理の一部と、図7で示したレンダフィルタ223の処理の一部について異なる。本実施例では、レイアウトフィルタ222が、受信した印刷ジョブ214に対して縮小と平行移動を行なうための命令を追加する際に、オリジナルの画像を配置する位置をインデックス画像1の位置に限らない。すなわち、パターン印刷データベース224が、インデックス画像の座標とは別にオリジナルの画像を配置する座標を保持している。そして、S601において、レイアウトフィルタ222が縮小、平行移動命令を追加する際に、その位置にオリジナルの画像が配置されるように縮小率、平行移動量を設定する。ただし、その位置はオリジナルの画像が識別文字列等の描画と重ならない位置でなくてはならない。その他のレイアウトフィルタ222での処理は図6に示す処理と同じである。
【0027】
本実施例におけるレンダフィルタ223での処理を図9に示す。まず、レンダフィルタ223は、受信した印刷ジョブ214をラスタライズする(S901)。次に、レンダフィルタ223は、パターン印刷データベース224を参照し、前述した座標に配置されたオリジナルの画像をイメージバッファ111に保存する(S902)。そして、Mを1で初期化し(S903)、インデックス画像Mに対応する画像処理を行なう(S904)。S905からS908までの処理は、実施例1において説明したS710からS713の処理と同じである。
【0028】
<実施例3>
本実施例では、各識別文字列と各印刷設定情報に対応して描画するためのページを別ページとして新たに作成する。本実施例は、実施例1及び2に対して、図6で示したレイアウトフィルタ222の処理の一部と、図7、図9で示したレンダフィルタ223の処理の一部について異なる。本実施例におけるレイアウトフィルタ222での処理は以下となる。まず、S601の処理を行い、この時、レイアウトフィルタ222は、実施例2と同様にパターン印刷データベース224からオリジナルの画像を配置する座標を取得し、縮小率と平行移動量を決定する。しかし、本実施例では実施例2のように識別文字列等の描画位置と重ならない位置に配置するという制限は設けない。次に、レイアウトフィルタ222は新しい印刷ページを作成する。ここで、元の印刷ページは1ページ目、作成された新しい印刷ページは2ページ目として印刷ジョブ214に含める。次に、レイアウトフィルタ222は、2ページ目の印刷ページに対して、S602、S603の処理を実行する。最後にレイアウトフィルタ222は、S604の処理を実行する。この時、レイアウトフィルタ222は、新たに作成したページを含む、2ページ分の印刷ジョブ214をレンダフィルタ223に送信する。
【0029】
レンダフィルタ223は、1ページ目の印刷ページに対して、パターン印刷データベース224を参照し、前述した座標に配置されたオリジナルの画像をイメージバッファ111に保存する。ここで、1ページ目の印刷ページについては、後につづくモジュールに対して送信せずに印刷処理を終了する。続いて、2ページ目の印刷ページに対する処理について説明する。1ページ目の処理においてオリジナルの画像の保存を行っているため、2ページ目の処理では図7、図9で示したレンダフィルタ223の処理からオリジナルの画像の保存処理部分を除いた処理が実行される。まず、プリンタドライバにおいてバンディング処理が行われる場合には、図7に示すレンダフィルタ223の処理において、S707とS708の処理を除いた処理が行われる。また、プリンタドライバにおいてバンディング処理が行われない場合には、図7に示すレンダフィルタ223の処理において、S702の処理を除いた処理が行われる。
【0030】
<実施形態4>
実施例1では、図3のようにシアン/マゼンタ/イエロー/濃度/コントラストの調整という画像調整が適用された。これに対し、本実施例においては、「顔くっきり補正」といった補正加工処理が適用される。「顔くっきり補正」といった画像の明瞭度合いを補正する補正加工処理については、例えば補正加工処理を加える対象を判定する領域判定における判定の閾値を、10段階に変化させたものをインデックス画像として作成することが考えられる。この場合、インデックス画像各々に関し、異なる領域判定の閾値を画像調整パラメータとして使用する。なお、その閾値の設定については、例えば一般的な顔領域判定を用いて、判定閾値を段階的に変えることにより導き出すことができる。あるいは判定閾値を変えることでなく、各々異なる複数もしくは最大で10個の判定処理を用いて、それらを画像調整パラメータとすることも可能である。
【0031】
実施例1の図8と同様に、まず、レンダフィルタ223は、印刷設定情報からパターン印刷データベース224を参照して、処理中のインデックス画像の画像調整パラメータを取得する(S801)。次に、レンダフィルタ223は、取得した画像調整パラメータに対応した画像調整データテーブル225が作成済みであるかを判定する(S802)。未作成であると判定された場合、新しく作成してRAM上に検索可能な形で保存する(S803)。そして、レンダフィルタ223は、イメージバッファ111内のラスタイメージデータをコピーし(S804)、画像調整データテーブル225を利用して、コピーしたラスタイメージデータを変換する(S805)。他の処理については、実施例1における説明と同じである。
【0032】
なお、ここでは、「顔くっきり補正」といった補正加工処理に適用した形態をあげたが、他にも、明るさの調整値や赤目補正に対する補正加工を施す領域判定処理として設定し、これらの判定閾値を算出してパターン印刷を実行することに適用することができる。また、「顔くっきり補正」や赤目補正などの補正加工処理に対して、その補正強度を10段階に変化させたものをインデックス画像として作成することも考えられる。この場合には、インデックス画像各々に関し、異なる画像調整パラメータを使用する。なお、画像調整パラメータの設定については、一般的な補正加工処理を用いて、補正係数を段階的に変えることにより導き出されるようにしても良い。
【0033】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、印刷データを処理する情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
ユーザが印刷画像の色合いや濃度、コントラストを所望のものに仕上げるためには、これらの値に対応するパラメータ(画像調整パラメータ)を、適切に設定しなければならない。しかし、ユーザが複数個ある画像調整パラメータを一度に設定し、印刷画像を所望の色合いや濃度、コントラストに仕上げることは困難である。特許文献1には、複数の画像調整パラメータを適切に設定する方法として、画像調整パラメータをそれぞれ複数段階に設定し、各段階の画像調整パラメータの組み合わせに応じて元画像に対して画像処理を施すことが記載されている。また、これら画像調整パラメータの組み合わせが異なる複数の画像を1ページに並べて印刷する印刷方法(パターン印刷)が開示されている。特許文献1によると、ユーザは、パターン印刷の各画像(インデックス画像)を観察して、所望する色合いや濃度、コントラストを有するインデックス画像を選択することで、画像調整パラメータを選択的に設定することができると記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4408858号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
パターン印刷では、1ページの印刷ページ内に、異なる画像処理が施された元画像が複数枚配置される。そのため、パターン印刷の処理の過程で、元画像をコピーする処理が必要となる。プリンタドライバに入力される印刷データの形式は、複数の描画命令で構成される、例えばPDL(Page Description Language)などが一般的である。図10は、プリンタドライバがパターン印刷を行なう際の処理の概略を示している。アプリケーション201から送信された元画像101は、印刷ジョブ214としてプリントキュー213に蓄えられる。この時、印刷ジョブ214はPDL形式のデータとして構成されており、元画像101の描画内容を表す描画命令群を含んでいる。ここで、プリンタドライバ220がパターン印刷を行うために元画像101をコピーする場合、その描画命令群を、配置する画像の枚数分だけコピーする必要がある。しかし、一般にPDLをラスタイメージに変換(ラスタライズ)し印刷画像データ103を生成するには時間がかかり、描画命令の数が増えるほどその時間は長くなる。そのため、プリンタドライバがパターン印刷を行う場合には、通常の印刷時に比べてラスタライズに要する時間が増大し、印刷に時間がかかってしまう。特にインデックス画像の枚数が多い場合や、元画像101が複雑で、描画命令の数が多い場合には、この問題が深刻となる。すなわち、従来、プリンタドライバがパターン印刷を実行する場合に、通常の印刷時に比べて処理時間を多大に要していた。
【0005】
本発明の目的は、このような従来の問題点を解決することにある。そこで、上記の点に鑑み、本発明は、パターン印刷において処理時間を低減する情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る情報処理装置は、画像データを取得する取得手段と、
基準となる画質を定める基準パラメータをユーザに入力させる入力手段と、
前記基準パラメータの値に基づいて、前記基準パラメータの値を段階的に変化させたパラメータの値を、予め定められた数分、生成するパラメータ生成手段と、
前記画像データの縮小画像を印刷するための描画命令を含む印刷ジョブを生成するジョブ生成手段と、
前記印刷ジョブに含まれる前記描画命令をラスタデータに変換する変換手段と、
前記変換手段により変換された前記ラスタデータを格納する格納手段と、
前記格納手段により格納された前記ラスタデータを、前記予め定められた数分、複製する複製手段と、
前記複製手段により複製された前記ラスタデータに対して前記基準パラメータに基づき画像調整処理を行う第1の処理手段と、
前記複製手段により複製された前記ラスタデータそれぞれに対して、前記パラメータ生成手段により生成された前記パラメータそれぞれに基づき、前記画像調整処理を行う第2の処理手段とを備えることを特徴とする。
【発明の効果】
【0007】
本発明によると、パターン印刷において処理時間を低減することができる。
【図面の簡単な説明】
【0008】
【図1】印刷システムのハードウェア構成を示すブロック図である。
【図2】情報処理装置の機能構成の一例を示す図である。
【図3】ユーザインタフェースの一例を示す図である。
【図4】各インデックス画像の配置の一例を示す図である。
【図5】印刷ジョブの構成を示す図である。
【図6】パターン印刷での、レイアウトフィルタで行なう処理の手順を示す図である。
【図7】パターン印刷での、レンダフィルタで行なう処理の手順を示す図である。
【図8】パターン印刷での、レンダフィルタで行なう画像処理の手順を示す図である。
【図9】実施例2におけるレンダフィルタ223で行う処理の手順を示す図である。
【図10】プリンタドライバが行う一般的な処理の手順を示す図である。
【図11】レンダフィルタの具体的な処理の流れを説明するための図である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0010】
<実施例1>
(ハードウェア構成)
図1は、印刷システムのハードウェア構成を示すブロック図である。本図において、PC1は、情報処理装置の一例であり、入力インタフェース10、CPU11、ROM12、RAM13、外部記憶装置14、出力インタフェース15、及び入出力インタフェース16を有する。また、入力インタフェース10には、キーボード18、マウス17などの入力デバイスが接続され、出力インタフェース15には、表示部19などの表示デバイスが接続されている。ROM12には、初期化プログラムが格納され、外部記憶装置14には、アプリケーションプログラム群、OS(Operating System)、プリンタドライバ220、その他の各種のデータが格納されている。例えば、RAM13は、外部記憶装置14にストアされる各種のプログラムによりワークメモリとして使用される。なお、本実施形態では、CPU11が、ROM12に格納されたプログラムの手順に従って処理を行うことによって、PC1における後述の機能及び後述するフローチャートに係る処理が実現される。印刷装置2は入出力インタフェース16を介して、PC1と接続されている。ここではPC1と印刷装置2が分かれて構成されているが、これらが一つの装置として構成されていても良い。
【0011】
(機能構成)
図2は、PC1の機能構成の一例を示す図である。図2では、主に、PC1にインストールされるプリンタドライバ220の機能について説明する。以下では、PC1のOSとしてMicrosoft社のWindows(登録商標)を用いた場合を例に挙げて本印刷システムを説明する。また、印刷ジョブ214として、Microsoft社が開発したオープン規格の電子文書フォーマットの1つであるXPS(XML Paper Specification)を用いて説明する。アプリケーション201には、
画像処理、ワードプロセッサ、ウェブブラウザなどのソフトウェアが含まれる。アプリケーション201は、ユーザの入力に従い、文字などのテキストデータ、図形などのグラフィクスデータ、写真などの画像データからなる描画データを編集、加工する。そして、ユーザの入力に従い、編集、加工した描画データの印刷をOSに要求する。その際、アプリケーション201は、テキストデータはテキスト描画命令で、グラフィクスデータはグラフィクス描画命令で、画像データはイメージ描画命令で構成された描画命令群をOSに発行する。OSはアプリケーション201から発行される各種描画命令をOSの印刷サポート機能211を介してXPSデータに変換する。変換後のXPSデータはスプーラ212のプリントキュー213に一時的に蓄えられ、印刷ジョブ214としてスプーラ212により管理される。印刷ジョブ214は、プリンタドライバ220によって印刷装置2が解釈可能な印刷コマンドに変換された後に、印刷装置2に供給され、印刷装置2で印刷が行われるよう構成されている。
【0012】
アプリケーション201は、ユーザによる入力デバイスの操作に基づいて印刷を開始する指示を行う際、OSの印刷サポート機能211を介して、ユーザインタフェースモジュール221から返却された印刷設定情報を印刷ジョブ214に付加する。画像調整パラメータはこの印刷設定情報に含まれ、例えば図3に示すようなユーザインタフェースにより、各調整値が入力される。なお、印刷設定情報は、アプリケーション201からの印刷を開始する指示を行う前に予め設定されている。プリンタドライバ220に渡された印刷ジョブ214は、先ずレイアウトフィルタ222によって処理される。ここで、フィルタとは、入力されたデータをもとに、加工、変換、無変換、生成等の処理を介して、何らかのデータを出力する機能を有するプログラム(モジュール)のことである。各フィルタは印刷ジョブ214のデスプール時に不図示のOSのフィルタ管理機能から呼び出され、初期化が行なわれる。レイアウトフィルタ222は、印刷設定情報に従って印刷ジョブ214のページを並べ替えたり複数のページを1つのページにまとめたりするページ構成処理を印刷ジョブ214に対して行う。
【0013】
レンダフィルタ223は、印刷設定情報に従って印刷ジョブ214をラスタライズする。この時、実際には、不図示のレンダリングエンジンが、印刷ジョブ214の各描画命令を解釈することにより、ラスタライズを行なう。ラスタライズされたラスタイメージデータは色を多段階の値として保持する多値データであり、これを元に画像調整処理(単に画像処理ともいう)が行われる。レンダフィルタでの画像処理では、まず、印刷設定情報に含まれるシアン、マゼンタ、イエローの調整値に応じて色相の調整が行われる。そして、コントラストの調整値に応じてコントラスト調整を行い、最後に濃度の調整値に応じて濃度調整を行う。その後、レンダフィルタ223は、画像処理後のデータを元に、印刷装置2の保持するインク毎の色成分に分解したハーフトーンデータを生成する。これらのラスタイメージデータ、及びハーフトーンデータを、ページ全体分一度に処理をしようとすると、非常に大きなメモリが必要になる。よって、レンダフィルタ223は、ページ単位ではなく記録媒体上の記録領域を短冊状に分割した矩形(バンド領域)単位での処理(バンディング処理)を行なうこともできる。その後、レンダフィルタ223は、プリンタコマンドの付加などを行い、印刷装置2が解釈可能な印刷コマンドを生成する。レンダフィルタ223は生成した印刷コマンドを、順次、印刷装置2に向けて送信する。なお、バンディング処理時には先頭のバンド領域に対するプリンタドライバの処理が完了すれば、そのデータが印刷装置2に送られ、印刷を開始できる。
【0014】
(パターン印刷)
ユーザが印刷画像を所望の色合いや濃度、コントラストとするためには、図3に示すようなユーザインタフェースにより画質を調整するための各調整値を設定する必要がある。しかし、画像処理に不慣れなユーザが、複数の画像調整パラメータを同時に設定することは困難である。そこで、パターン印刷により、段階的に変化する画像調整パラメータを組み合わせた画像処理の結果の画像を、1枚の記録媒体上にユーザが比較可能なように複数枚並べて印刷する。ユーザは、それらの中から所望の印刷画像に近いものを選択し、その画像の画像調整パラメータを、次回の印刷時にユーザインターフェースモジュールに設定することで、画像調整パラメータの設定を容易に行うことを可能にする。
【0015】
図2のような印刷システムにおいてパターン印刷を実施する場合、印刷システムは、パターン印刷データベース224と画像調整データテーブル225を利用する。画像調整データテーブルについては、画像処理に関する説明内で詳細に説明する。パターン印刷データベース224は、インデックス画像のサイズ、インデックス画像が配置される座標、インデックス画像に施す画像処理の画像調整パラメータの情報を含む。このパターン印刷データベース224は、後述するユーザインタフェースモジュール221の印刷設定情報に基づき印刷開始時に構築される。また、各インデックス画像には印刷開始位置からの距離が近いものから順に、インデックス番号を1から割り当てる。また、このインデックス画像とインデックス番号の対応もパターン印刷データベース224内に保持されている。図4(b)のようにマトリクス状にインデックス画像を配置する場合には、先頭行のインデックス画像は全て印刷開始位置からの距離が等しいため、インデックス番号の割り当て規則を予め定めておく。例えば、印刷開始位置からの距離が等しい場合には、左から右に向かってインデックス番号を割り当てるようにする。以下、インデックス番号がXであるインデックス画像をインデックス画像Xとして表記する。レイアウトフィルタ222やレンダフィルタ223はこのパターン印刷データベース224の情報を参照して処理を行う。
【0016】
続いてパターン印刷を行う場合のプリンタドライバ220の各モジュールでの処理の流れについて説明する。なお、本実施例ではバンディング処理を行なう場合の処理について説明する。初めに、ユーザインタフェースモジュール221について説明する。ユーザは、ユーザインタフェースモジュール221に、パターン印刷を実施するための情報を印刷設定情報として設定する。例えば、図3下部に示すように、ユーザは、パターン印刷の実施、非実施をユーザインタフェース上のチェックボックスで指示し、調整を行なう画像調整パラメータを設定する。ここでの設定値によって、各インデックス画像のレイアウトと画像処理に使用する画像調整パラメータの組み合わせが決定する。シアン/マゼンタ/イエロー調整のように3つのパラメータを調整する場合、図4(a)に示すように、各インデックス画像は六角形に配置される。また、濃度/コントラスト調整のように2つのパラメータを調整する場合、図4(b)に示すように、各インデックス画像はマトリクス状に配置される。また、中央には基準となる縮小画像が配置される。基準画像には図3上部の調整バーで入力された画像調整パラメータ(基準パラメータ)を利用した画像処理を施す。そして、その他のインデックス画像にはこの画像調整パラメータを基準に段階的に変化させた画像調整パラメータを生成して(パラメータ生成の一例)使用した画像処理を施す。
【0017】
次に、レイアウトフィルタ222での処理について説明する。レイアウトフィルタ222は、印刷設定情報に基づき、印刷ジョブ214であるXPSデータを編集して、パターン印刷に使用する印刷ジョブ214を作成する。図6は、印刷システムにおいてパターン印刷を指示した場合に、レイアウトフィルタ222で行なう処理の手順を示すフローチャートである。まず、レイアウトフィルタ222は、受信した印刷ジョブ214に対して、縮小と平行移動を行なうための命令を追加する(S601)。この縮小率や、平行移動量はパターン印刷データベース224を参照することで取得し、オリジナルの画像が、インデックス画像1の位置に配置されるように設定する。次に、レイアウトフィルタ222は、各インデックス画像に施された画像処理に使用した画像調整パラメータを識別するための文字列(識別文字列)を描画するための命令を追加する(S602)。この時、印刷設定情報の設定値を描画するための命令も追加する(S603)。最後に、レイアウトフィルタ222は、編集した印刷ジョブ214をレンダフィルタ223に送信する(S604)。このようなジョブ生成処理により、例えば、シアン/マゼンタ/イエロー調整時には、図5で示すような印刷ジョブ214が送信される。通常の印刷時には、1ページ内に複数の画像を描画する場合には、レイアウトフィルタ222が複数枚分の描画命令で構成された印刷ジョブ214を作成する。そのため、パターン印刷で多数のインデックス画像が配置された印刷ジョブ214を作成しようとした場合には、印刷ジョブ214を構成する描画命令群を、配置するインデックス画像の枚数分だけコピーする処理が必要となる。しかし、本実施例においては、図6に示すように、レイアウトフィルタ222によってそのようなコピー処理を実施しないことにより、レイアウトフィルタ222での処理を高速化できる。
【0018】
続いて、レンダフィルタ223での処理について説明する。レンダフィルタ223は、レイアウトフィルタ222が編集した印刷ジョブ214を、ラスタライズして画像処理を施すことで、パターン印刷の出力結果となる印刷画像データ103を印刷装置2に送信する。図7は、印刷システムにおいて、パターン印刷を指示した場合にレンダフィルタ223で行なう処理の手順を示すフローチャートである。まず、レンダフィルタ223は、Nを0で初期化する(S701)。Nは、レンダフィルタでの処理が完了したインデックス画像のインデックス番号である。次に、レンダフィルタ223は、先頭バンド領域から順次、バンド領域のラスタライズを行なう(S702)。次に、レンダフィルタ223は、MをN+1で初期化し(S703)、インデックス画像Mが当該バンド領域内に配置されるかを、パターン印刷データベース224を参照して判定する(S704)。ここで、配置されると判定された場合、インデックス画像Mの下辺位置が当該対象のバンド領域に含まれるか否かを、パターン印刷データベース224を参照して判定する(S705)。ここで、含まれると判定された場合、インデックス画像Mに関する処理は当該対象のバンド領域で終了するということなので、NをMで更新する(S706)。次に、レンダフィルタ223は、インデックス画像Mがインデックス画像1であるかを判定する(S707)。ここで、インデックス画像1であると判定された場合、当該対象のバンド領域内でインデックス画像1が配置されている領域のラスタイメージデータ(単にラスタデータともいう)を、RAMに確保した領域(イメージバッファ111)内に保存する(S708)。これにより、イメージバッファ111内には画像処理前のラスタイメージデータが保存される。
【0019】
次に、レンダフィルタ223は、イメージバッファ111内のラスタイメージデータをコピーして画像処理を施す(S709)。S709の画像処理については、図8において後述する。次に、レンダフィルタ223は、画像処理後のデータをインデックス画像Mの位置にレンダリングし(S710)、MをM+1で更新する(S711)。次に、レンダフィルタ223は、Mが1ページ内のインデックス画像の枚数よりも大きいかを判定し(S712)、小さいと判定された場合には、S704から繰り返す。S704でインデックス画像Mが当該バンド領域内に配置されないと判定されるか又はS712でMがインデックス画像の枚数よりも大きいと判定された場合、レンダフィルタ223は当該対象のバンド領域のラスタイメージデータを元に印刷コマンドを生成する。レンダフィルタ223は、生成された印刷コマンドを印刷装置2に送信する(S713)。次に、レンダフィルタ223は、当該対象のバンド領域が印刷ページ内で最後のバンド領域であるかを判定し(S714)、最後でないと判定された場合には、S702に進み、次のバンド領域に対して処理を行う。最後のバンド領域であると判定された場合には、レンダフィルタ223は本処理を終了する。
【0020】
なお、図7において、インデックス画像1が複数のバンド領域に分割されて描画されている場合、S708では処理中のバンド領域に含まれる領域のみのラスタイメージデータを保存する。また、S710においてインデックス画像Mが複数のバンド領域に分割されて描画されている場合、処理中のバンド領域に含まれる領域のみのラスタイメージデータをイメージバッファ111からコピーしてレンダリングする。
【0021】
ここで、レンダフィルタ223の具体的な処理の流れについて図11を参照しながら説明する。図11は、バンディング処理を行なう場合に、レンダフィルタ223が生成する印刷画像データ103の生成過程を示した図である。まず、先頭のバンド領域に関する処理について説明する。処理11aに示すように、先頭のバンド領域内にはインデックス画像1が含まれるため、イメージバッファ111にラスタライズ後のデータを保存する(S708)。また、保存したラスタイメージデータをコピー(複製)して画像処理(第1の処理の一例)を施したデータを、インデックス画像1の位置にレンダリングする(S709、S710)。次に、処理11bに示すように、2番目のバンド領域をラスタライズし、先頭のバンド領域と同様にインデックス画像1の位置のデータを保存する。また、処理11cに示すように、その他のインデックス画像は、イメージバッファ111内のラスタイメージデータをコピーし、画像処理(第2の処理の一例)を施して、各位置にレンダリングする。処理11dに示すように、3番目のバンド領域は、初め文字列のみがラスタライズされ、その後、処理11eに示すように、各インデックス画像の位置にはイメージバッファ111内のラスタイメージデータがレンダリングされる。以降、全てのインデックス画像には、同様にイメージバッファ111内のラスタイメージデータが利用される。
【0022】
レイアウトフィルタ222が元の印刷ジョブ214の描画命令を、配置するインデックス画像の枚数分だけコピーした場合には、レンダフィルタ223で解釈する描画命令の数が増えるために、レンダフィルタ223でのラスタライズに時間がかかってしまう。しかし、本実施例においては図7に示すように、レンダフィルタ223では1枚分の描画命令のラスタライズのみ行いラスタイメージデータを複数枚分コピーすることにより、ラスタライズにかかる時間を削減し、レンダフィルタ223での処理を高速化できる。
【0023】
(画像処理)
インデックス画像の画像処理では、画像毎に異なる画像調整パラメータを使用するため、調整後の値を算出するための計算回数が膨大になってしまう。こういった場合、一般には事前に調整後の値を計算しておき、調整前の値との対応をデータテーブルの形で保持しておくことが多い。本実施例では、このデータテーブルを画像調整データテーブル225と呼ぶ。パターン印刷において上記手法を利用する場合、画像調整データテーブル225はインデックス画像毎に異なるものが必要となる。この時、画像調整データテーブル225を作成するタイミングとして、例えば、レンダフィルタ223の初期化時に行なうことが考えられる。しかし、レンダフィルタ223の初期化時にパターン印刷に必要な画像調整データテーブル225を全て作成する場合には、それらの作成が終わるまでレンダフィルタ223はラスタライズなどその他の処理を行なうことが出来ない。そのため、通常であればすぐに処理を行なわれるべき印刷ジョブ214が待機状態となり、印刷開始までの時間が長くなってしまう。例えば、バンディング処理を行なう場合に当該対象のバンド領域に含まれるインデックス画像の画像処理に必要な画像調整データテーブル225が作成されていればレンダフィルタ223は処理を開始出来る。しかし、パターン印刷に必要な画像調整データテーブル225を全て作成してしまうと、それら全ての画像調整データテーブル225の作成が終わるまで待つことになってしまう。そこで、本実施例においては、レンダフィルタ223がラスタイメージデータに対して画像処理を施す際に、必要となる画像調整データテーブル225を作成する。
【0024】
図8は、印刷システムにおいてパターン印刷を指示した場合に、レンダフィルタ223で行なう画像処理の手順を示すフローチャートである。まず、レンダフィルタ223は、印刷設定情報からパターン印刷データベース224を参照して、処理中のインデックス画像の画像調整パラメータを取得する(S801)。次に、レンダフィルタ223は、その取得した画像調整パラメータに対応した画像調整データテーブル225が作成済みであるかを判定する(S802)。未作成であると判定された場合、新しく作成してRAM上に検索可能な形で保存する(S803)。そして、レンダフィルタ223は、イメージバッファ111内のラスタイメージデータをコピーし(S804)、画像調整データテーブル225を利用して、コピーしたラスタイメージデータを変換する(S805)。
【0025】
上記の処理により、バンディング処理を行う場合においても、余計なデータテーブルの作成時間を削減することができ、印刷開始までの時間を早めることができる。なお、上述した本実施例の説明では、レイアウトフィルタ222とレンダフィルタとで処理を分担して実行しているが、これらの処理を1つのフィルターがまとめて実行するようにしても良い。また、本実施例では、印刷ジョブ214としてXPSを用いているが、EMFを用いても良い。例えば、EMFを印刷ジョブ214とするGDIドライバでは、レイアウトフィルタ222で行われる処理をプリントプロセッサで行い、レンダフィルタ223で行われる処理をグラフィックスドライバーで行うようにしても良い。
【0026】
<実施例2>
本実施例では、プリンタドライバにおいてバンディング処理を行わない場合に適用できる。本実施例は、実施例1に対して、図6で示したレイアウトフィルタ222の処理の一部と、図7で示したレンダフィルタ223の処理の一部について異なる。本実施例では、レイアウトフィルタ222が、受信した印刷ジョブ214に対して縮小と平行移動を行なうための命令を追加する際に、オリジナルの画像を配置する位置をインデックス画像1の位置に限らない。すなわち、パターン印刷データベース224が、インデックス画像の座標とは別にオリジナルの画像を配置する座標を保持している。そして、S601において、レイアウトフィルタ222が縮小、平行移動命令を追加する際に、その位置にオリジナルの画像が配置されるように縮小率、平行移動量を設定する。ただし、その位置はオリジナルの画像が識別文字列等の描画と重ならない位置でなくてはならない。その他のレイアウトフィルタ222での処理は図6に示す処理と同じである。
【0027】
本実施例におけるレンダフィルタ223での処理を図9に示す。まず、レンダフィルタ223は、受信した印刷ジョブ214をラスタライズする(S901)。次に、レンダフィルタ223は、パターン印刷データベース224を参照し、前述した座標に配置されたオリジナルの画像をイメージバッファ111に保存する(S902)。そして、Mを1で初期化し(S903)、インデックス画像Mに対応する画像処理を行なう(S904)。S905からS908までの処理は、実施例1において説明したS710からS713の処理と同じである。
【0028】
<実施例3>
本実施例では、各識別文字列と各印刷設定情報に対応して描画するためのページを別ページとして新たに作成する。本実施例は、実施例1及び2に対して、図6で示したレイアウトフィルタ222の処理の一部と、図7、図9で示したレンダフィルタ223の処理の一部について異なる。本実施例におけるレイアウトフィルタ222での処理は以下となる。まず、S601の処理を行い、この時、レイアウトフィルタ222は、実施例2と同様にパターン印刷データベース224からオリジナルの画像を配置する座標を取得し、縮小率と平行移動量を決定する。しかし、本実施例では実施例2のように識別文字列等の描画位置と重ならない位置に配置するという制限は設けない。次に、レイアウトフィルタ222は新しい印刷ページを作成する。ここで、元の印刷ページは1ページ目、作成された新しい印刷ページは2ページ目として印刷ジョブ214に含める。次に、レイアウトフィルタ222は、2ページ目の印刷ページに対して、S602、S603の処理を実行する。最後にレイアウトフィルタ222は、S604の処理を実行する。この時、レイアウトフィルタ222は、新たに作成したページを含む、2ページ分の印刷ジョブ214をレンダフィルタ223に送信する。
【0029】
レンダフィルタ223は、1ページ目の印刷ページに対して、パターン印刷データベース224を参照し、前述した座標に配置されたオリジナルの画像をイメージバッファ111に保存する。ここで、1ページ目の印刷ページについては、後につづくモジュールに対して送信せずに印刷処理を終了する。続いて、2ページ目の印刷ページに対する処理について説明する。1ページ目の処理においてオリジナルの画像の保存を行っているため、2ページ目の処理では図7、図9で示したレンダフィルタ223の処理からオリジナルの画像の保存処理部分を除いた処理が実行される。まず、プリンタドライバにおいてバンディング処理が行われる場合には、図7に示すレンダフィルタ223の処理において、S707とS708の処理を除いた処理が行われる。また、プリンタドライバにおいてバンディング処理が行われない場合には、図7に示すレンダフィルタ223の処理において、S702の処理を除いた処理が行われる。
【0030】
<実施形態4>
実施例1では、図3のようにシアン/マゼンタ/イエロー/濃度/コントラストの調整という画像調整が適用された。これに対し、本実施例においては、「顔くっきり補正」といった補正加工処理が適用される。「顔くっきり補正」といった画像の明瞭度合いを補正する補正加工処理については、例えば補正加工処理を加える対象を判定する領域判定における判定の閾値を、10段階に変化させたものをインデックス画像として作成することが考えられる。この場合、インデックス画像各々に関し、異なる領域判定の閾値を画像調整パラメータとして使用する。なお、その閾値の設定については、例えば一般的な顔領域判定を用いて、判定閾値を段階的に変えることにより導き出すことができる。あるいは判定閾値を変えることでなく、各々異なる複数もしくは最大で10個の判定処理を用いて、それらを画像調整パラメータとすることも可能である。
【0031】
実施例1の図8と同様に、まず、レンダフィルタ223は、印刷設定情報からパターン印刷データベース224を参照して、処理中のインデックス画像の画像調整パラメータを取得する(S801)。次に、レンダフィルタ223は、取得した画像調整パラメータに対応した画像調整データテーブル225が作成済みであるかを判定する(S802)。未作成であると判定された場合、新しく作成してRAM上に検索可能な形で保存する(S803)。そして、レンダフィルタ223は、イメージバッファ111内のラスタイメージデータをコピーし(S804)、画像調整データテーブル225を利用して、コピーしたラスタイメージデータを変換する(S805)。他の処理については、実施例1における説明と同じである。
【0032】
なお、ここでは、「顔くっきり補正」といった補正加工処理に適用した形態をあげたが、他にも、明るさの調整値や赤目補正に対する補正加工を施す領域判定処理として設定し、これらの判定閾値を算出してパターン印刷を実行することに適用することができる。また、「顔くっきり補正」や赤目補正などの補正加工処理に対して、その補正強度を10段階に変化させたものをインデックス画像として作成することも考えられる。この場合には、インデックス画像各々に関し、異なる画像調整パラメータを使用する。なお、画像調整パラメータの設定については、一般的な補正加工処理を用いて、補正係数を段階的に変えることにより導き出されるようにしても良い。
【0033】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
画像データを取得する取得手段と、
基準となる画質を定める基準パラメータをユーザに入力させる入力手段と、
前記基準パラメータの値に基づいて、前記基準パラメータの値を段階的に変化させたパラメータの値を、予め定められた数分、生成するパラメータ生成手段と、
前記画像データの縮小画像を印刷するための描画命令を含む印刷ジョブを生成するジョブ生成手段と、
前記印刷ジョブに含まれる前記描画命令をラスタデータに変換する変換手段と、
前記変換手段により変換された前記ラスタデータを格納する格納手段と、
前記格納手段により格納された前記ラスタデータを、前記予め定められた数分、複製する複製手段と、
前記複製手段により複製された前記ラスタデータに対して前記基準パラメータに基づき画像調整処理を行う第1の処理手段と、
前記複製手段により複製された前記ラスタデータそれぞれに対して、前記パラメータ生成手段により生成された前記パラメータそれぞれに基づき、前記画像調整処理を行う第2の処理手段と
を備えることを特徴とする情報処理装置。
【請求項2】
1枚の記録媒体上に、前記第1及び第2の処理手段により処理された前記ラスタデータそれぞれについての前記縮小画像をユーザが比較可能に印刷する印刷手段をさらに備えることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記変換手段は、記録媒体上の記録領域が分割されたバンド領域ごとに、前記印刷ジョブに含まれる前記描画命令をラスタデータに変換し、
前記描画命令は、前記画像データの縮小画像を前記記録媒体上の前記記録領域における先頭のバンド領域内に印刷するための描画命令であることを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記画質を調整するためのパラメータとは、シアン及びマゼンタ及びイエローを含む色と濃度とコントラストとを調整するためのパラメータであることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記画質を調整するためのパラメータとは、前記画像データが表す明瞭度合いを調整するためのパラメータであることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項6】
情報処理装置において実行される情報処理方法であって、
前記情報処理装置の取得手段が、画像データを取得する取得工程と、
前記情報処理装置の入力手段が、基準となる画質を定める基準パラメータをユーザに入力させる入力工程と、
前記情報処理装置のパラメータ生成手段が、前記基準パラメータの値に基づいて、前記基準パラメータの値を段階的に変化させたパラメータの値を、予め定められた数分、生成するパラメータ生成工程と、
前記情報処理装置のジョブ生成手段が、前記画像データの縮小画像を印刷するための描画命令を含む印刷ジョブを生成するジョブ生成工程と、
前記情報処理装置の変換手段が、前記印刷ジョブに含まれる前記描画命令をラスタデータに変換する変換工程と、
前記情報処理装置の格納手段が、前記変換工程において変換されたラスタデータを格納する格納工程と、
前記情報処理装置の複製手段が、前記格納工程において格納された前記ラスタデータを、前記予め定められた数分、複製する複製工程と、
前記情報処理装置の第1の処理手段が、前記複製工程において複製された前記ラスタデータに対して前記基準パラメータに基づき画像調整処理を行う第1の処理工程と、
前記情報処理装置の第2の処理手段が、前記複製工程において複製された前記ラスタデータそれぞれに対して、前記パラメータ生成工程において生成された前記パラメータそれぞれに基づき、前記画像調整処理を行う第2の処理工程と
を有することを特徴とする情報処理方法。
【請求項7】
画質を調整するためのパラメータに基づき、画像データに対して画像調整処理を行うために、
画像データを取得する取得手段、
基準となる画質を定める基準パラメータをユーザに入力させる入力手段、
前記基準パラメータの値に基づいて、前記基準パラメータの値を段階的に変化させたパラメータの値を、予め定められた数分、生成するパラメータ生成手段、
前記画像データの縮小画像を印刷するための描画命令を含む印刷ジョブを生成するジョブ生成手段、
前記印刷ジョブに含まれる前記描画命令をラスタデータに変換する変換手段、
前記変換手段により変換されたラスタデータを格納する格納手段、
前記格納手段により格納された前記ラスタデータを、前記予め定められた数分、複製する複製手段、
前記複製手段により複製された前記ラスタデータに対して前記基準パラメータに基づき画像調整処理を行う第1の処理手段、
前記複製手段により複製された前記ラスタデータそれぞれに対して、前記パラメータ生成手段により生成された前記パラメータそれぞれに基づき、前記画像調整処理を行う第2の処理手段、
としてコンピュータを機能させるプログラム。
【請求項1】
画像データを取得する取得手段と、
基準となる画質を定める基準パラメータをユーザに入力させる入力手段と、
前記基準パラメータの値に基づいて、前記基準パラメータの値を段階的に変化させたパラメータの値を、予め定められた数分、生成するパラメータ生成手段と、
前記画像データの縮小画像を印刷するための描画命令を含む印刷ジョブを生成するジョブ生成手段と、
前記印刷ジョブに含まれる前記描画命令をラスタデータに変換する変換手段と、
前記変換手段により変換された前記ラスタデータを格納する格納手段と、
前記格納手段により格納された前記ラスタデータを、前記予め定められた数分、複製する複製手段と、
前記複製手段により複製された前記ラスタデータに対して前記基準パラメータに基づき画像調整処理を行う第1の処理手段と、
前記複製手段により複製された前記ラスタデータそれぞれに対して、前記パラメータ生成手段により生成された前記パラメータそれぞれに基づき、前記画像調整処理を行う第2の処理手段と
を備えることを特徴とする情報処理装置。
【請求項2】
1枚の記録媒体上に、前記第1及び第2の処理手段により処理された前記ラスタデータそれぞれについての前記縮小画像をユーザが比較可能に印刷する印刷手段をさらに備えることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記変換手段は、記録媒体上の記録領域が分割されたバンド領域ごとに、前記印刷ジョブに含まれる前記描画命令をラスタデータに変換し、
前記描画命令は、前記画像データの縮小画像を前記記録媒体上の前記記録領域における先頭のバンド領域内に印刷するための描画命令であることを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記画質を調整するためのパラメータとは、シアン及びマゼンタ及びイエローを含む色と濃度とコントラストとを調整するためのパラメータであることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記画質を調整するためのパラメータとは、前記画像データが表す明瞭度合いを調整するためのパラメータであることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項6】
情報処理装置において実行される情報処理方法であって、
前記情報処理装置の取得手段が、画像データを取得する取得工程と、
前記情報処理装置の入力手段が、基準となる画質を定める基準パラメータをユーザに入力させる入力工程と、
前記情報処理装置のパラメータ生成手段が、前記基準パラメータの値に基づいて、前記基準パラメータの値を段階的に変化させたパラメータの値を、予め定められた数分、生成するパラメータ生成工程と、
前記情報処理装置のジョブ生成手段が、前記画像データの縮小画像を印刷するための描画命令を含む印刷ジョブを生成するジョブ生成工程と、
前記情報処理装置の変換手段が、前記印刷ジョブに含まれる前記描画命令をラスタデータに変換する変換工程と、
前記情報処理装置の格納手段が、前記変換工程において変換されたラスタデータを格納する格納工程と、
前記情報処理装置の複製手段が、前記格納工程において格納された前記ラスタデータを、前記予め定められた数分、複製する複製工程と、
前記情報処理装置の第1の処理手段が、前記複製工程において複製された前記ラスタデータに対して前記基準パラメータに基づき画像調整処理を行う第1の処理工程と、
前記情報処理装置の第2の処理手段が、前記複製工程において複製された前記ラスタデータそれぞれに対して、前記パラメータ生成工程において生成された前記パラメータそれぞれに基づき、前記画像調整処理を行う第2の処理工程と
を有することを特徴とする情報処理方法。
【請求項7】
画質を調整するためのパラメータに基づき、画像データに対して画像調整処理を行うために、
画像データを取得する取得手段、
基準となる画質を定める基準パラメータをユーザに入力させる入力手段、
前記基準パラメータの値に基づいて、前記基準パラメータの値を段階的に変化させたパラメータの値を、予め定められた数分、生成するパラメータ生成手段、
前記画像データの縮小画像を印刷するための描画命令を含む印刷ジョブを生成するジョブ生成手段、
前記印刷ジョブに含まれる前記描画命令をラスタデータに変換する変換手段、
前記変換手段により変換されたラスタデータを格納する格納手段、
前記格納手段により格納された前記ラスタデータを、前記予め定められた数分、複製する複製手段、
前記複製手段により複製された前記ラスタデータに対して前記基準パラメータに基づき画像調整処理を行う第1の処理手段、
前記複製手段により複製された前記ラスタデータそれぞれに対して、前記パラメータ生成手段により生成された前記パラメータそれぞれに基づき、前記画像調整処理を行う第2の処理手段、
としてコンピュータを機能させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−190390(P2012−190390A)
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【出願番号】特願2011−55222(P2011−55222)
【出願日】平成23年3月14日(2011.3.14)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【出願日】平成23年3月14日(2011.3.14)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]