(57)【要約】【課題】指定された印刷対象画像を印刷するための画像処理が開始されるまでの時間を短縮する。【解決手段】印刷対象画像指定部は、印刷対象画像の候補となる印刷候補画像を選択するとともに、選択された印刷候補画像を印刷対象画像として指定する。前処理実行部は、補正パラメータを求めるための前処理を実行する。前処理管理部は、印刷候補画像が選択された場合には、印刷候補画像が印刷対象画像として指定される前に、選択された印刷候補画像を、前処理の実行対象としての前処理対象画像として設定し、前処理実行部に対して、設定した前処理対象画像について、前処理の実行を先行して指示し、前処理対象画像として設定された印刷候補画像が印刷対象画像として指定された場合には、先行して実行されている前処理の結果を、印刷対象画像についての前処理の結果として設定する。【選択図】図１
2008062508.tif 000002
【特許請求の範囲】
【請求項１】
指定された印刷対象画像の印刷実行指示に従って、前記印刷対象画像の画質を補正するための補正パラメータに基づいて、前記指定された印刷対象画像を表す印刷対象画像データを補正し、補正後の印刷対象画像データに基づいて印刷を実行する印刷制御装置であって、
前記印刷対象画像の候補となる印刷候補画像を選択するとともに、選択された前記印刷候補画像を前記印刷対象画像として指定する印刷対象画像指定部と、
前記補正パラメータを求めるための前処理を実行する前処理実行部と、
前記前処理実行部における前記前処理の実行を管理する前処理管理部と、を備え、
前記前処理管理部は、
前記印刷候補画像が選択された場合には、前記印刷候補画像が前記印刷対象画像として指定される前に、選択された前記印刷候補画像を、前記前処理の実行対象としての前処理対象画像として設定し、前記前処理実行部に対して、設定した前記前処理対象画像について、前記前処理の実行を先行して指示し、
前記前処理対象画像として設定された前記印刷候補画像が前記印刷対象画像として指定された場合には、先行して実行されている前記前処理の結果を、前記印刷対象画像についての前記前処理の結果として設定する、
ことを特徴とする印刷制御装置。
【請求項２】
請求項１記載の印刷制御装置であって、
前記補正パラメータには、前記設定された前処理対象画像を表す前処理対象画像データに対して統計処理を行うことにより求められる第１種のパラメータと、前記前処理対象画像データに対して顔認識処理を行うことにより求められる第２種のパラメータ群と、前記前処理対象画像データに対して赤目解析処理を行うことにより求められる第３種のパラメータのうち、少なくとも、１種のパラメータが含まれる、
ことを特徴とする印刷制御装置。
【請求項３】
指定された印刷対象画像の印刷実行指示に従って、前記印刷対象画像の画質を補正するための補正パラメータに基づいて、前記指定された印刷対象画像を表す印刷対象画像データを補正し、補正後印刷対象画像データに基づいて印刷を実行する印刷制御方法であって、
前記印刷対象画像の候補となる印刷候補画像を選択するとともに、選択された前記印刷候補画像を前記印刷対象画像として指定する印刷対象画像指定工程と、
前記補正パラメータを求めるための前処理を実行する前処理実行工程と、
前記前処理実行部における前記前処理の実行を管理する前処理管理工程と、を備え、
前記前処理工程は、
前記印刷候補画像が選択された場合には、前記印刷候補画像が前記印刷対象画像として指定される前に、選択された前記印刷候補画像を、前記前処理の実行対象としての前処理対象画像として設定し、前記前処理実行部に対して、設定した前記前処理対象画像について、前記前処理の実行を先行して指示し、
前記前処理対象画像として設定された前記印刷候補画像が前記印刷対象画像として指定された場合には、先行して実行されている前記前処理の結果を、前記印刷対象画像についての前記前処理の結果として設定する、
ことを特徴とする印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタルカメラ等の撮像装置によって撮像された画像を印刷するための画像処理に関する。
【背景技術】
【０００２】
近年、ディジタルカメラ等の撮像装置によって撮像されてメモリカード等の記憶媒体に格納されている画像データを、パーソナルコンピュータを介さずに直接プリンタに読み込んで、読み込んだ画像データの表す画像の印刷を行うことができるプリンタや、ディジタルカメラ等の撮像装置から画像データを直接プリンタに読み込んで、読み込んだ画像データの表す画像の印刷を行うことができるプリンタが普及しつつある。なお、以下では、このような撮像装置によって撮像された画像を「フォト画像」とも呼び、このフォト画像を表す画像データを「フォト画像データ」とも呼ぶ。また、上記のようなフォト画像を印刷することができるプリンタを、「フォトプリンタ」とも呼ぶ。さらに、また、記憶媒体に格納されている画像データを、パーソナルコンピュータを介さずに直接プリンタに読み込んで、読み込んだ画像データの表す画像を印刷するモードを「カード印刷」とも呼ぶ。
【０００３】
上記のようなフォトプリンタでは、フォト画像を印刷するために実行する画像処理の一つとして、適切な印刷結果が得られるように、あらかじめ、読み込んだフォト画像データに対して種々の補正処理を行っている。このようなフォト画像データに対する補正技術としては、例えば特許文献１に記載の技術が提案されている。
【０００４】
【特許文献１】特開２００１−１６５６４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記のようなフォトプリンタでは、補正処理を行うための前処理として、まず、フォト画像データを読み込んで、読み込んだフォト画像データから所定の割合で画素データのサンプリングを行ってヒストグラムを作成し、作成したヒストグラムに基づいて統計処理を行って、画像の特徴を示す特徴量を求めることにより、補正パラメータを決定している。そして、フォト画像を印刷するために実行する画像処理において、決定した補正パラメータに基づいてフォト画像データに対する補正処理を行っている。また、顔認識処理を行って、フォト画像中に人物の顔の存在を認識し、これに応じた補正パラメータを決定して補正処理を行う場合もある。さらに、また、フォト画像中の人物の目が赤目になっている場合において、赤目解析処理を行って、これに応じた補正パラメータを決定して補正処理を行う場合もある。
【０００６】
従って、１枚のフォト画像を印刷する場合において、上記補正処理を含む画像処理の前に、補正パラメータを求めるための前処理を実行する必要がある。このため、印刷を希望するフォト画像を指定した後、印刷の実行を指示してから、実際に、その指定したフォト画像データに対する画像処理が開始されるまでに、前処理を開始してから前処理が終了するまでの待ち時間が発生し、結果として、実際の印刷処理が開始されるまでの待ち時間が長くなるという問題がある。
【０００７】
また、フォト画像データは、通常は、所定の圧縮形式、例えば、ＪＰＥＧ（Joint Photographic Coding Experts Group）形式により圧縮されている。このため、上記画像処理や前処理を実行する前に、ＪＰＥＧ形式で圧縮されているフォト画像データを展開処理する必要があり、これにより、さらに、いっそう待ち時間が長くなる。
【０００８】
本発明は、上述の課題を解決するためになされたものであり、印刷を希望する画像として指定された印刷対象画像を印刷するための画像処理が開始されるまでの時間を短縮し、結果として実際の印刷処理が開始されるまでの待ち時間を短縮することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題の少なくとも一部を解決するために、本発明の態様は、
指定された印刷対象画像の印刷実行指示に従って、前記印刷対象画像の画質を補正するための補正パラメータに基づいて、前記指定された印刷対象画像を表す印刷対象画像データを補正し、補正後の印刷対象画像データに基づいて印刷を実行する印刷制御装置であって、
前記印刷対象画像の候補となる印刷候補画像を選択するとともに、選択された前記印刷候補画像を前記印刷対象画像として指定する印刷対象画像指定部と、
前記補正パラメータを求めるための前処理を実行する前処理実行部と、
前記前処理実行部における前記前処理の実行を管理する前処理管理部と、を備え、
前記前処理管理部は、
前記印刷候補画像が選択された場合には、前記印刷候補画像が前記印刷対象画像として指定される前に、選択された前記印刷候補画像を、前記前処理の実行対象としての前処理対象画像として設定し、前記前処理実行部に対して、設定した前記前処理対象画像について、前記前処理の実行を先行して指示し、
前記前処理対象画像として設定された前記印刷候補画像が前記印刷対象画像として指定された場合には、先行して実行されている前記前処理の結果を、前記印刷対象画像についての前記前処理の結果として設定する、
ことを特徴とする。
【００１０】
上記印刷制御装置によれば、印刷候補画像が選択され、選択された印刷候補画像が印刷対象画像として指定される前に、選択された印刷候補画像を、前処理の実行対象としての前処理対象画像として設定し、前処理実行部に対して、設定した前処理対象画像について、前記前処理の実行を先行して開始することができ、前処理対象画像として設定された印刷候補画像が印刷対象画像として指定された場合に、先行して実行されている前処理の結果を、印刷対象画像についての前処理の結果として設定することができるので、従来のように印刷実行指示後に、所定の前処理が実行される場合に比べて、指定した印刷対象画像を印刷するための画像処理が開始されるまでの時間を短縮し、結果として実際の印刷処理が開始されるまでの待ち時間を短縮することが可能となる。
【００１１】
なお、前記補正パラメータには、前記設定された前処理対象画像を表す前処理対象画像データに対して統計処理を行うことにより求められる第１種のパラメータと、前記前処理対象画像データに対して顔認識処理を行うことにより求められる第２種のパラメータ群と、前記前処理対象画像データに対して赤目解析処理を行うことにより求められる第３種のパラメータのうち、少なくとも、１種のパラメータが含まれる。
【００１２】
本発明は、上記印刷制御装置としての構成のほか、画像処理装置として構成することもできる。また、これら装置発明の態様に限ることなく、印刷制御方法、画像処理方法といった方法発明の態様で実現することも可能である。なお、方法発明の態様においても、先に示した種々の付加的要素を適用することが可能である。さらには、それら方法や装置を実現するコンピュータプログラム、およびそのプログラムを記録した記録媒体、そのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することが可能である。なお、それぞれの態様において、先に示した種々の付加的要素を適用することが可能である。
【００１３】
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、印刷制御装置や画像処理装置の動作を制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
Ａ．印刷制御装置の構成および動作概要：
Ｂ．印刷対象画像指定動作：
Ｃ．前処理管理動作：
Ｄ．前処理の先行処理動作についての具体例：
Ｅ．実施例の効果：
【００１５】
Ａ．印刷制御装置の構成および動作概要：
図１は、本発明の一実施例としての印刷制御装置の構成例を示す機能ブロック図である。この印刷制御装置１０は、複数のプロセッサを備えるマルチプロセッサシステムを、１つの半導体基板上に集積化したマイクロプロセッサである。各プロセッサは、それぞれ、ＣＰＵや、メモリ、バスコントローラ等の周辺回路を含むユニットを意味している。なお、本実施例では、図１に示すように、１つのメインプロセッサ１００と、４つのサブプロセッサ２００Ａ〜２００Ｄ（図中、「サブプロセッサ１」〜「サブプロセッサ４」と表記されている。）と、を備える場合を例に示している。また、印刷制御装置１０は、複数のプロセッサの他、印刷機構部２０の動作を制御する回路である機構制御部３００や、操作部３０による入力動作を制御する回路である入力Ｉ／Ｆ部４００、表示装置である液晶パネル（ＬＣＤ）４０による表示動作を制御するＬＣＤコントローラ５００、カードスロット５０に装着されるメモリカード５２からのデータの読み取り動作を制御する回路であるカードＩ／Ｆ部６００、専用メモリ６０に対するメインプロセッサ１００からのアクセスを制御する専用メモリコントローラ７００、共有メモリ７０に対する各プロセッサ１００，２００Ａ〜２００Ｄからのアクセスを制御する共有メモリコントローラ８００等の種々の周辺回路を備えている。なお、本発明に特に関係のない周辺回路については図示を省略している。
【００１６】
印刷制御装置１０を構成する各プロセッサは、専用メモリ６０に格納されている各プロセッサ用の所定のプログラムを読み出して実行することにより、それぞれ対応する各機能ブロックとして動作する。具体的には、メインプロセッサ１００は、専用メモリ６０に格納されているメインプロセッサ１００のためのプログラムを読み出して実行することにより、以下で説明する機能ブロックとして動作する。また、各サブプロセッサ２００Ａ〜２００Ｄは、メインプロセッサ１００のためのプログラムが読み出される際に、専用メモリ６０から読み出されて共有メモリ７０に格納されているプログラムを、共有メモリ７０から読み出して実行することにより、それぞれ、以下で説明する機能ブロックとして動作する。
【００１７】
メインプロセッサ１００は、印刷処理動作を全体として制御する機能ブロック（以下、「印刷制御部」と呼ぶ。）として動作する。なお、以下では、メインプロセッサ１００を、「印刷制御部１００」とも呼ぶ。
【００１８】
印刷制御部１００は、具体的には、ファイルアクセス部１１０、ユーザインタフェース部（「ＵＩ部」とも呼ぶ。）１２０、前処理管理部１３０、前処理実行部１４０、カード印刷制御部１５０、画像処理管理部１６０、画像処理部１７０、印刷イメージ処理部１８０、および、印刷処理部１９０の各機能ブロックに区分される。
【００１９】
ファイルアクセス部１１０は、メモリカード５２に格納されているフォト画像データの読み出しを制御する。
【００２０】
ＵＩ部１２０は、印刷を希望するフォト画像を印刷対象画像として選択するための選択画面をＬＣＤ４０に表示し、ユーザが操作部３０を操作して、選択画面中にプレビュー表示するフォト画像を印刷候補画像として選択する。このとき、ＵＩ部１２０は、印刷候補画像として選択したフォト画像に対する前処理を先行して実行するための依頼（以下、「前処理先行処理依頼」あるいは「先行処理依頼」とも呼ぶ。）を前処理管理部１３０に指示する。また、ＵＩ部１２０は、フォト画像データとしてメモリカード５２に格納されているフォト画像を印刷候補画像としてＬＣＤ４０の選択画面中に表示するための画像処理の依頼を画像処理管理部１６０に指示し、ＬＣＤ４０の選択画面中に表示する。そして、ＵＩ部１２０は、ユーザが操作部３０を操作して、選択画面中に表示したフォト画像の印刷枚数を設定することにより、印刷対象画像として指定するとともに、前処理の先行処理結果を保持する。そして、ＵＩ部１２０は、ユーザが操作部３０を操作することによって印刷の実行を指示すると、これに従って、印刷の実行をカード印刷制御部１５０に指示する。
【００２１】
前処理管理部１３０は、後述するように、ＵＩ部１２０からの前処理先行処理依頼を受けて、前処理実行部１４０に前処理の実行を指示するとともに、前処理の先行処理結果を管理する。
【００２２】
前処理実行部１４０は、前処理管理部１３０からの前処理の実行指示に従って、後述する画像処理における補正処理で利用される補正パラメータを求めるための前処理を実行する。なお、前処理には、印刷対象画像の特徴を示す特徴量としての最大輝度、最小輝度、平均輝度、中央輝度等を求めるための統計処理や、顔の存在を調べる顔認識処理、赤目を補正するための赤目解析処理等の少なくとも一つが含まれている。本例では、統計処理、顔認識処理、赤目解析処理の全てを行うこととする。また、通常の前処理では、統計処理や顔認識処理において、印刷対象画像データを所定の割合でサンプリングすることにより作成したヒストグラムに基づいて実行するため、本例の前処理は、このサンプリング処理も含むものとして説明する。
【００２３】
カード印刷制御部１５０は、ＵＩ部１２０からの印刷実行の指示を受けると、画像処理管理部１６０の管理の下で実行される画像処理部１７０による画像処理、印刷イメージ処理部１７０による印刷イメージデータの生成処理、および、印刷処理部１９０による印刷処理を制御し、印刷を実行する。
【００２４】
画像処理管理部１６０は、ＵＩ部１２０からの画像処理の実行指示を受けると、前処理管理部１３０に対して、実行指示を受けた印刷対象画像に対する前処理を実行するための依頼（「前処理依頼」とも呼ぶ。）を前処理管理部１３０に指示する。そして、前処理管理部１３０から前処理の終了通知を受け取ると、画像処理部１７０に画像処理の実行を指示し、画像処理部１７０で実行する画像処理の動作を制御する。
【００２５】
ここで、後述するように、ユーザが印刷の実行を指示する前に、対応する前処理が先行して実行されている場合には、前処理依頼があると、直ちに、前処理の終了応答が通知されるので、印刷の実行時には、前処理のために必要とする時間はわずかである。
【００２６】
なお、メモリカード５２に格納されているフォト画像データは、例えば、ＪＰＥＧ形式の圧縮データである。そこで、画像処理部１７０は、画像処理の一つとして、メモリカード５２から読み出した印刷対象画像データを、ＲＧＢ形式の画像データに展開処理するデコード処理を実行する。
【００２７】
また、画像処理部１７０は、上記デコード処理のほか、印刷対象画像データを展開処理することにより得られた画像データ（「原画像データ」あるいは「展開画像データ」とも呼ぶ）に対して、前処理により求められた補正パラメータに基づいて、色補正、明るさ補正、コントラスト補正、彩度補正、ノイズ除去、平滑化、輪郭補正等の種々の補正処理うち、少なくとも一つを施す画像補正処理を実行する。さらに、また、画像処理部１７０は、印刷対象画像データの解像度を変換する解像度変換処理、印刷対象画像データの表す画像を印刷媒体上の実際の印刷位置に配置した画像データ（「レイアウト画像データ」とも呼ぶ。）を生成するレイアウト処理実行する。
【００２８】
なお、画像処理部１７０は、実際には、上記画像処理を実行せず、後述するように、画像処理制御部として動作する第１のサブプロセッサ２００Ａに対して、具体的な処理を指示し、指示のあった処理に対応する機能ブロックとして動作する第１のサブプロセッサ２００Ａ〜第３のサブプロセッサ２００Ｃが、その処理を実行する。
【００２９】
印刷イメージ処理部１８０は、カード印刷制御部１５０の制御下で、画像処理部１７０において画像処理が施された画像データに基づいて、印刷イメージデータを生成する。印刷イメージデータとは、印刷媒体上に実際に画像を印刷するために用いられるデータであり、例えば、インクジェット形式の印刷装置の場合には、印刷媒体上のドットの配置を表す２値データを意味している。ただし、印刷イメージ処理部１８０は、画像処理部１７０と同様に、自身が実際に印刷イメージデータの生成を実行するのではなく、印刷イメージ処理実行部として動作する第４のサブプロセッサ２００Ｄに対して、印刷イメージデータの生成処理を指示することにより、第４のサブプロセッサ２００Ｄが印刷イメージデータの生成を実行する。
【００３０】
印刷処理部１９０は、カード印刷制御部１５０の制御下で、印刷イメージ処理部１８０で生成された印刷イメージデータに基づいて、機構制御部３００を介して印刷機構部２０を制御することにより、実際の印刷を実行する。
【００３１】
第１のサブプロセッサ２００Ａは、画像処理部１７０からの指示に従って画像処理動作を制御する機能ブロック（画像処理制御部）として動作する。なお、以下では、第１のサブプロセッサ２００Ａを、「画像処理制御部２００Ａ」とも呼ぶ。
【００３２】
第２のサブプロセッサ２００Ｂは、画像処理制御部２００Ａからの指示に従って、ＪＰＥＧ形式の画像データのデコード処理（「画像展開処理」とも呼ぶ。）を実行する機能ブロック（以下、「デコード処理実行部」あるいは「画像展開部」と呼ぶ。）として動作する。なお、以下では、第２のサブプロセッサ２００Ｂを、「デコード処理実行部２００Ｂ」と呼ぶ場合もある。
【００３３】
デコード処理実行部２００Ｂは、画像処理部１７０から画像処理制御部２００Ａを介してデコード処理が指示された場合に、実際に画像デコード処理を実行する。
【００３４】
第３のサブプロセッサ２００Ｃは、後述するように、画像処理制御部２００Ａからの指示に従って、画像補正処理を実行する機能ブロック（以下、「補正処理実行部」と呼ぶ。）として動作する。なお、以下では、第３のサブプロセッサ２００Ｃを、「補正処理実行部２００Ｃ」とも呼ぶ。
【００３５】
第４のサブプロセッサ２００Ｄは、上述したように、画像処理部１７０において画像処理が施された画像データに基づいて、印刷イメージデータを生成する処理を実行する機能ブロック（印刷イメージ処理実行部）として動作する。なお、以下では、第４のサブプロセッサ２００Ｄを、「印刷イメージ処理実行部２００Ｄ」とも呼ぶ。
【００３６】
ところで、本発明の特徴は、印刷の実行が指示されたときに、画像処理管理部１６０から前処理管理部１３０に対して依頼される前処理依頼に先行して、印刷対象画像を指定するための印刷候補画像として選択されたフォト画像をプレビュー表示する際に、ＵＩ部１２０から前処理管理部１３０に対して、前処理先行処理依頼が指示されることにより、印刷対象画像が指定されて印刷の実行が指示される前から、前処理が開始される点にある。そこで、以下では、この前処理の先行動作に関係する印刷対象画像指定動作および前処理管理動作について説明を加え、さらに、前処理先行動作の具体例について説明する。
【００３７】
Ｂ．印刷対象画像指定動作：
図２は、ＵＩ部１２０によって実行される印刷対象画像指定動作について示す説明図である。この説明図に示す処理は、例えば、ＬＣＤ４０に表示されるメニュー画面から、メモリカード５２に格納されているフォト画像の印刷を実行するためのカード印刷の項目を、操作部３０を操作して選択指定することにより、実行される。この処理が開始されると、以下の処理ステップが実行される。
【００３８】
まず、ステップＳ１０において、ＵＩ部１２０は、所定のイニシャライズ処理を実行する。具体的には、例えば、ファイルアクセス部１１０を介して、メモリカード５２に格納されているフォト画像データを検索し、画像ファイル名をアルファベット順に並べ替えたリストを作成し、専用メモリ６０に格納する。以後、メモリカード５２に格納されているフォト画像データは、並べ替えたアルファベットの順番に扱われる。例えば、ファイル名Ａ，Ｂ，Ｃ，Ｄの４つのフォト画像データがメモリカード５２に格納されている場合において、後述するプレビュー表示は、ファイル名Ａ，Ｂ，Ｃ，Ｄの順に表示される。また、仮に、後述する印刷対象画像として指定された順番が、ファイル名Ｄ，Ｃ，Ｂ，Ａの順番であったとしても、ファイル名Ａ，Ｂ，Ｃ，Ｄの順に印刷が実行される。
【００３９】
次に、ステップＳ２０において、ＵＩ部１２０は、アルファベット順の先頭にあるフォト画像データについて、プレビュー処理および前処理先行処理を実行する。例えば、上述したように、ファイル名Ａ，Ｂ，Ｃ，Ｄ，Ｅの５つのフォト画像データがメモリカード５２に格納されている場合には、まず、ファイル名Ａのフォト画像データに対して、前処理先行処理が実行されるとともに、プレビュー処理が実行される。
【００４０】
図３は、プレビュー処理および前処理先行処理について示す説明図である。
【００４１】
プレビュー処理および前処理先行処理（図２のステップＳ２０）を開始すると、まず、ステップＳ２１０において、プレビュー表示のための画像処理の開始を画像処理部１７０に対して指示することにより、画像処理部１７０がプレビュー表示のための画像処理を実行することが可能か否か問い合わせる。
【００４２】
ステップＳ２２０では、ステップＳ１６０における問い合わせに対して、画像処理部１７０から開始可能であることを示す通知（開始可能通知）を受け取るまで待機する。そして、開始可能通知を受け取った場合には（ステップＳ２２０：ＹＥＳ）、ステップＳ２２５の処理を実行する。
【００４３】
ステップＳ２２５では、印刷候補画像としてプレビュー表示されるフォト画像を表すフォト画像データを、印刷候補画像データとして指定し、前処理管理部１３０に対して、指定した印刷候補画像データについての前処理先行処理依頼を行う。このとき、前処理管理部１３０は、上記したように、前処理実行部１４０に対して前処理の実行を依頼し、依頼を受けた前処理実行部１４０は、メインプロセッサ１００の他の機能ブロックが動作していない空き時間を利用して、前処理を実行する。なお、前処理管理部１３０の動作は、後述する。
【００４４】
次に、ステップＳ２３０では、画像処理部１７０に対して、印刷候補画像をプレビュー表示するための画像処理の実行を要求する。なお、画像処理は、対象となるフォト画像データをあらかじめ定められた複数のブロック（「バンド」と呼ばれる）単位で実行するのが一般的であり、ステップＳ２３０における画像処理の実行要求も、そのバンド単位で行われる。
【００４５】
ここで、画像処理部１７０は、画像処理制御部２００Ａを介してデコード処理実行部２００Ｂに対して、プレビュー表示の対象となる印刷候補画像を表す印刷候補画像データのうち、画像処理の要求のあったバンドについてデコード処理の要求を行う。そして、デコード処理の要求を受け取ったデコード処理実行部２００Ｂは、要求されたバンドのデコード処理を実行する。
【００４６】
ステップＳ２４０では、ステップＳ２３０で要求したバンドの画像処理の終了が、デコード処理実行部２００Ｂから画像処理制御部２００Ａを介して通知されるまで待機する。そして、要求したバンドの画像処理の終了通知を受け取った場合には（ステップＳ２４０：ＹＥＳ）、ステップＳ２５０の処理を実行する。
【００４７】
ステップＳ２５０では、プレビュー表示の対象となるフォト画像データの全バンドについて、プレビュー表示のための画像処理を終了したか否か判断する。そして、まだ終了していないバンドがある場合には（ステップＳ２５０：ＮＯ）、ステップＳ２３０に戻って、まだ実行されていないバンドについてプレビュー表示のための画像処理の実行を繰り返し要求する。一方、全てのバンドについて処理が終了した場合には（ステップＳ２５０：ＹＥＳ）、ステップＳ２６０の処理を実行する。こうして、全てのバンドについて処理が終了するまで、ステップＳ２３０からステップＳ２５０の処理が繰り返される。
【００４８】
ステップＳ２６０では、プレビュー表示のための画像処理の終了を、画像処理部１７０に指示する。
【００４９】
ステップＳ２７０では、ステップＳ２６０における終了指示に対して、画像処理部１７０から終了通知を受け取るまで待機する。そして、終了通知を受け取った場合には（ステップＳ２７０：ＹＥＳ）、プレビュー処理を終了して、図２のステップＳ３０の処理を実行する。
【００５０】
ステップＳ３０では、プレビュー処理により展開処理された印刷候補画像データの表す印刷候補画像を、ＬＣＤ４０にプレビュー表示する。図４は、ＬＣＤ４０にプレビュー表示される印刷候補画像の一例を示す説明図である。図４に示すように、ＬＣＤ４０には、印刷対象となるフォト画像（写真）を選択するための選択画面５００Ｍが表示されており、この選択画面５００Ｍ中のプレビュー表示欄５０２に、プレビュー処理された印刷候補画像データの表す印刷候補画像がプレビュー表示される。
【００５１】
そして、ステップＳ８０における判断処理において、処理の終了が判断される（ステップＳ８０：ＹＥＳ）まで、ステップＳ４０、Ｓ５０、Ｓ６０、および、Ｓ７０の各判断処理が繰り返し実行される。
【００５２】
ステップＳ４０では、プレビュー表示されている印刷候補画像の変更が指示されたか否か判断する。具体的には、図４に示す選択ボタン５０６Ｐ，５０６Ｎ（操作部３０の所定のボタンに対応する。また、選択ボタン５０６Ｐは前側の選択に対応し、選択ボタン５０６Ｎは後側の選択に対応する。）が操作されて、現在表示されている印刷候補画像としてのフォト画像よりも前あるいは後のフォト画像の選択がなされることにより、印刷候補画像の変更が指示されたと判断される。
【００５３】
そして、プレビュー表示されている印刷候補画像の変更操作がなされた場合には（ステップＳ４０：ＹＥＳ）、ステップＳ２０に戻って選択された印刷候補画像についてのプレビュー処理および前処理先行処理が実行されて、ステップＳ３０でプレビュー表示される。一方、プレビュー表示されている印刷候補画像の変更操作がなされない場合には（ステップＳ４０：ＮＯ）、ステップＳ５０における判断処理が実行される。
【００５４】
ステップＳ５０では、プレビュー表示されている印刷候補画像が印刷対象画像として選択されたか否か判断する。具体的には、図４に示す枚数指定ボタン５０８Ｕ，５０８Ｄ（操作部３０の所定のボタンに対応し、枚数指定ボタン５０８Ｕが枚数増加指定ボタンであり、枚数指定ボタン５０８Ｄが枚数減少指定ボタンである。）のうち、枚数指定ボタン５０８Ｄを操作して、印刷枚数が０枚から１枚に設定されることにより、印刷対象画像として選択されたと判断される。なお、設定された印刷枚数は、印刷枚数表示部５０４に表示される。
【００５５】
そして、プレビュー表示されているフォト画像が印刷対象画像として選択された場合には（ステップＳ５０：ＹＥＳ）、ステップＳ５２の処理が実行される。一方、印刷対象画像として選択されていない場合には（ステップＳ５０：ＮＯ）、ステップＳ６０の判断処理が実行される。
【００５６】
ステップＳ５２では、印刷対象画像として選択された印刷候補画像について、先に依頼されて実行されている前処理の先行処理結果を保持するために、前処理管理部１３０に対して処理結果ロック通知を行う。そして、ステップＳ４０に戻って、ステップＳ４０〜ステップＳ８０の判断処理を繰り返す。なお、以下では、前処理の先行処理結果を保持することを、以下では「先行処理結果をロックする」ともいう。
【００５７】
ステップＳ６０では、プレビュー表示されている印刷候補画像の印刷対象画像としての選択が取り消されたか否か判断する。具体的には、図４に示す枚数指定ボタン５０８Ｄを操作して印刷枚数が１枚以上の状態から０枚に設定されることにより、印刷対象画像としての選択が取り消されたと判断される。
【００５８】
そして、印刷対象画像としての選択が取り消された場合には（ステップＳ６０：ＹＥＳ）、ステップＳ６２の処理が実行される。一方、印刷対象画像としての選択が取り消されない場合には（ステップＳ６０：ＮＯ）、ステップＳ７０の判断処理が実行される。
【００５９】
ステップＳ６２では、印刷対象画像としての選択が取り消された印刷候補画像について前処理の先行処理結果をロックしている状態を解除して、その先行処理結果が保存されている領域に新たな先行処理結果を上書き可能とするために、前処理管理部１３０に対して処理結果フリー通知を行う。そして、ステップＳ４０に戻って、ステップＳ４０〜ステップＳ８０の判断処理を繰り返す。
【００６０】
ステップＳ７０では、印刷実行指示がなされたか否か判断する。具体的には、図４に示す印刷開始ボタン５１０（操作部３０の所定のボタンに対応するボタンである。）が操作されることにより、印刷実行指示がなされたと判断される。
【００６１】
印刷実行指示がなされた場合には（ステップＳ７０：ＹＥＳ）、ステップＳ７２〜ステップＳ７６の処理を実行する。そして、ステップＳ４０に戻って、ステップＳ４０〜ステップＳ８０の判断処理を繰り返す。一方、印刷実行指示がない場合には（ステップＳ７０：ＮＯ）、ステップＳ８０の判断処理が実行される。
【００６２】
ステップＳ７２では、ＵＩ部１２０がカード印刷制御部１５０に対して指定した印刷対象画像についての印刷実行を指示し、カード印刷制御部１５０は画像処理管理部１６０に対して指定した印刷対象画像についての画像処理の依頼を行う。このとき、画像処理管理部１６０の管理下で実行される画像処理部１７０による画像処理が実行され、カード印刷制御部１５０の制御下で、画像印刷イメージ処理部１７０による印刷イメージデータの生成処理、および、印刷処理部１９０による印刷処理が実行され、印刷対象画像についての印刷が実行される。
【００６３】
そして、ステップＳ７４では、ステップＳ７２における画像処理の依頼に対してその終了通知を受け取り、対応する印刷処理が終了するまで待機する。そして、印刷処理が終了した場合には（ステップＳ７４：ＹＥＳ）、ステップＳ７６の処理を実行する。
【００６４】
ステップＳ７６では、印刷対象画像選択の状態をリセットする。
【００６５】
なお、複数の印刷対象画像が選択されている場合には、カード印刷制御部１５０は、各印刷対象画像単位で、画像処理管理部１６０の管理下で実行される画像処理部１７０による画像処理、画像印刷イメージ処理部１７０による印刷イメージデータの生成処理、および、印刷処理部１９０による印刷処理を制御し、ステップＳ７２〜Ｓ７６の処理が繰り返し行われる。
【００６６】
ステップＳ８０では、以上のようにして、ＵＩ部１２０によって実行される印刷対象画像指定動作を終了するか否か判断する。なお、この処理の終了は、操作部３０中の処理の終了に対応する所定のボタンを操作することにより判断される。
【００６７】
Ｃ．前処理管理動作：
図５〜図７は、前処理管理部１３０によって実行される前処理管理動作について示す説明図である。
【００６８】
前処理管理部１３０は、ステップＳ３１０、Ｓ３２０、Ｓ３３０、Ｓ３４０、Ｓ３５０、Ｓ３４０、Ｓ３５０、Ｓ３６０、および、Ｓ３７０の各判断処理を繰り返す。
【００６９】
ステップＳ３１０では、画像処理管理部１６０から、印刷開始後になされる前処理依頼があったか否か判断する。前処理依頼があった場合には（ステップＳ３１０：ＹＥＳ）、ステップＳ３９０〜ステップＳ４４０の処理を実行する。一方、印刷開始後になされる前処理依頼がないと判断された場合には（ステップＳ３１０：ＮＯ）、ステップＳ３２０の判断処理を実行する。なお、ステップＳ３９０〜ステップＳ４４０の処理については、後述する。
【００７０】
ステップＳ３２０では、ＵＩ部１２０から前処理の処理結果のロック状態を解除するための処理結果フリー通知が有ったか否か判断する。処理結果フリー通知が有った場合には（ステップＳ３２０：ＹＥＳ）、ステップＳ３２２の処理を実行する。一方、処理結果フリー通知がない場合には（ステップＳ３２０：ＮＯ）、ステップＳ３３０の判断処理を実行する。
【００７１】
ここで、専用メモリ６０には、前処理の処理結果を保存するための領域として、あらかじめ所定数の処理結果保存領域が確保されており、各処理結果保存領域は、専用メモリ６０に保存されている前処理管理リストによって管理される。
【００７２】
図８は前処理管理リストを示す説明図である。図８の上段に示すように、前処理管理リストは各処理結果保存領域に対応する管理領域を備えており、各管理領域では、対応する処理結果保存領域が前処理の処理結果を保存するための領域として割り当てられた印刷対象画像を示すファイル名と、対応する処理結果保存領域に保存される前処理の処理結果をロックするか否かを示す処理結果ロック情報と、前処理が終了済みで対応する処理結果保存領域に前処理の処理結果が保存されているか否かを示す処理終了情報と、が管理される。なお、図８の例では、説明を容易にするため、４つの管理領域を備える場合を例に示しているが、これに限定されるものではなく、例えば、８，１６，３２等の種々の数の管理領域を備える構成とすることができる。
【００７３】
処理結果フリー通知が有った場合には（ステップＳ３２０：ＹＥＳ）、ステップＳ３２２では、前処理管理リスト中の対応する管理領域のロック状態を解除する。そして、ステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３７０の判断処理を繰り返す。
【００７４】
ステップＳ３３０では、ＵＩ部１２０から前処理の処理結果をロックするための処理結果ロック通知が有ったか否か判断する。処理結果ロック通知が有った場合には（ステップＳ３３０：ＹＥＳ）、ステップＳ３３１の処理を実行する。一方、処理結果ロック通知がない場合には（ステップＳ３３０：ＮＯ）、ステップＳ３４０の判断処理を実行する。
【００７５】
ステップＳ３３１では、前処理管理リスト中の管理領域の全てがロック状態か否かを、処理結果ロック情報に基づいて判断する。前処理管理リスト中の管理領域のいずれかにロック状態でない領域がある場合には（ステップＳ３３１：ＮＯ）、ステップＳ３３２の処理を実行する。一方、前処理管理リスト中の管理領域の全てがロック状態である場合には（ステップＳ３３１：ＹＥＳ）、ステップＳ３３３の処理を実行する。
【００７６】
ステップＳ３３２では、ロック状態が解除されている管理領域のいずれかを、処理結果ロック通知の有った印刷対象画像に対応する管理領域として割り当て、その管理領域の処理結果ロック情報を「ロック」とすることにより、ロック状態とする。そして、ステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３７０の判断処理を繰り返す。
【００７７】
ステップＳ３３３では、前処理管理リスト中に、処理結果ロック通知の有った印刷対象画像よりも印刷順が後となる印刷対象画像に対応する管理領域が有るか判断する。印刷順が後となる印刷対照画像に対応する管理領域がない場合には（ステップＳ３３３：ＮＯ）、ステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３７０の判断処理を繰り返す。一方、印刷順が後となる印刷対象画像に対応する管理領域がある場合には（ステップＳ３３３：ＹＥＳ）、ステップＳ３３４およびステップＳ３３５の処理を実行し、ステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３７０の判断処理を繰り返す。
【００７８】
ステップＳ３３４では、前処理管理リストから対応する管理領域で管理されている印刷順が最後の印刷対象画像に関する情報を削除して、前処理管理リストの管理領域に空きを作成するとともに、その管理領域を処理結果ロック通知の有った印刷対象画像に対応する管理領域として割り当て、その管理領域をロック状態とする。
【００７９】
例えば、図８の上段の前処理管理リストに示すように、前処理管理リスト中の４つの管理領域に対して、上から順に画像ファイル名Ａ，Ｃ，Ｅ，Ｄの印刷対象画像が割り当てられているのに対して、処理結果ロック通知が有った印刷対象画像がファイル名Ｆの場合には、前処理管理リストで管理されている印刷対象画像の中で、印刷順が最後となるファイル名Ｅの印刷対象画像よりも後の印刷順となるので、前処理管理リストの管理領域に空き領域を作成せず、かつ、前処理先行処理依頼も行わない。一方、処理結果ロック通知が有った印刷対象画像がファイル名Ｂの場合には、前処理管理リストで管理されている印刷対象画像の中で、印刷順が最後となるファイル名Ｅの印刷対象画像よりも前の印刷順となるので、図８の中段の前処理管理リストに示すように、ファイル名Ｅの印刷対象画像にたいてい割り当てられていた管理領域の情報を削除して、空き領域を作成する。そして、図８の下段の前処理管理リストに示すように、空き領域となった管理領域を、新たに、ファイル名Ｂの印刷対象画像に対して割り当て、その管理領域をロック状態とする。
【００８０】
ステップＳ３３５では、処理結果ロック通知の有った印刷対象画像について、前処理実行部１４０へ前処理先行処理依頼を行う。図９は、前処理の先行処理の依頼処理について示す説明図である。
【００８１】
ステップＳ３３５ａでは、前処理先行処理依頼が複数有るか否か判断する。具体的には、前処理先行処理依頼を保存している先行処理依頼バッファに複数の前処理先行処理依頼が保存されているか否か調べることにより判断する。
【００８２】
前処理先行処理依頼が１つであった場合には（ステップＳ３３５ａ：ＮＯ）、ステップＳ３３５ｂで、その前処理の先行処理を、前処理実行部１４０に依頼する。一方、前処理先行処理依頼が複数あった場合には（ステップＳ３３５ａ：ＹＥＳ）、先行処理依頼バッファに保存されている複数の未実行の前処理先行処理依頼のうち、イニシャライズ処理（図２のステップＳ１０）で説明した印刷における処理の順番のうち、先頭になる画像に対応する前処理の先行処理を、前処理実行部１４０に依頼する。そして、前処理の先行処理の依頼処理を終了すると、図５のステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３７０の判断処理を繰り返す。
【００８３】
ところで、ステップＳ３３０（図５）において、処理結果ロック通知がないと判断された場合には（ステップＳ３３０：ＮＯ）、ステップＳ３４０（図６）において、ＵＩ部１２０から前処理先行処理依頼があったか否か判断する。前処理先行処理依頼が有った場合には（ステップＳ３４０：ＹＥＳ）、ステップＳ３４２の処理を実行する。一方、前処理先行処理依頼がない場合には（ステップＳ３４０：ＮＯ）、ステップＳ３５０の判断処理を実行する。
【００８４】
ステップＳ３４２では、前処理先行処理依頼を専用メモリ６０に設けられた先行処理依頼バッファに保存する。そして、ステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３７０の判断処理を繰り返す。
【００８５】
ステップＳ３５０では、前処理実行部１４０で前処理の先行処理が実行可能か否か判断する。具体的には、前処理実行部１４０から終了通知を受け取っていない先行処理があれば、前処理実行部１４０は先に依頼している先行処理を実行しているので、実行不可と判断する。
【００８６】
前処理の先行処理が実行可能と判断された場合には（ステップＳ３５０：ＹＥＳ）、ステップＳ３５２の処理を実行する。一方、前処理の先行処理が実行不可と判断された場合には（ステップＳ３５０：ＮＯ）、ステップＳ３６０の判断処理を実行する。
【００８７】
ステップＳ３５２では、前処理実行部１４０に対して前処理先行処理依頼を実行する。なお、この前処理先行処理の依頼処理については、ステップＳ３３５と同じであるので説明を省略する。
【００８８】
ステップＳ３６０では、前処理実行部１４０に依頼した前処理の先行処理について終了通知があったか否か判断する。前処理先行処理の終了通知があった場合には（ステップＳ３６０：ＹＥＳ）、ステップＳ３６２およびＳ３６４の処理を実行し、ステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３７０の判断処理を繰り返す。一方、前処理先行処理の終了通知がない場合には（ステップＳ３６０：ＮＯ）、ステップＳ３７０の判断処理を実行する。
【００８９】
ステップＳ３６２では、前処理先行処理の終了通知を受けた前処理先行処理依頼を先行処理依頼バッファから削除し、ステップＳ３６４では、専用メモリ６０の前処理管理リスト（図９）の対応する管理領域の処理終了情報を「終了」とする。そして、ステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３５０の判断処理を繰り返す。
【００９０】
ステップＳ３７０では、ＵＩ部１２０から前処理先行処理の終了依頼があったか否か判断する。前処理先行処理の終了依頼がない場合には（ステップＳ３７０：ＮＯ）、ステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３７０の判断処理を繰り返す。一方、前処理先行処理の終了依頼があった場合には(ステップＳ３７０：ＹＥＳ)、ステップＳ３８０の判断処理を実行する。
【００９１】
ステップＳ３８０では、前処理先行処理の終了依頼があった前処理が、前処理実行部１４０で実行中の先行処理であるか否か判断する。実行中の先行処理の場合には（ステップＳ３８０：ＹＥＳ）、その処理のキャンセル依頼を前処理実行部１４０に対して行う。一方、未実行の前処理先行処理依頼の場合には（ステップＳ３８０：ＮＯ）、その前処理先行処理依頼が保存されている先行処理依頼バッファからその前処理先行処理依頼を削除する。そして、ステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３７０の判断処理を繰り返す。
【００９２】
以上のようにして、前処理管理部１３０によって、前処理の先行処理が管理される。
【００９３】
ところで、上記したように、ステップＳ３１０において、画像処理管理部１６０から、印刷開始後の前処理依頼があった場合には（ステップＳ３１０：ＹＥＳ）、ステップＳ３９０〜Ｓ４４０の処理（図７）が実行される。
【００９４】
ステップＳ３９０では、依頼の有った前処理が、先行処理によって既に実行済みの前処理であるか否か判断する。先行処理によって実行済みの前処理であった場合には（ステップＳ３９０：ＹＥＳ）、ステップＳ３９２の処理を実行する。一方、実行済みの前処理でない場合には（ステップＳ３９０：ＮＯ）、ステップＳ４００の判断処理を実行する。
【００９５】
ステップＳ３９２では、画像処理管理部１６０に対して直ちに前処理の終了を通知する。そして、ステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３７０の判断処理を繰り返す。
【００９６】
ステップＳ４００では、依頼のあった前処理が、先行処理を実行中の前処理に相当するか否か判断する。実行中の前処理に相当する場合には（ステップＳ４００：ＹＥＳ）、ステップＳ４０２の処理を実行する。一方、実行中の前処理に相当しない場合には（ステップＳ４００：ＮＯ）、ステップＳ４１０の判断処理を実行する。
【００９７】
ステップＳ４０２では、実行中の前処理の終了を待って、画像処理管理部１６０に前処理の終了を通知する。さらに、ステップＳ４０４では、先行処理依頼を保存しているバッファ（先行処理バッファ）をリセットして、すべての先行処理を中止する。そしてステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３７０の判断処理を繰り返す。
【００９８】
ステップＳ４１０では、先行処理依頼バッファに未実行の前処理先行処理依頼が保存されているか否か判断する。未実行の前処理先行処理依頼が保存されている場合には（ステップＳ４１０：ＹＥＳ）、ステップＳ４１２の処理を実行後、ステップＳ４２０の処理を実行する。一方、未実行の前処理先行処理依頼が保存されていない場合には（ステップＳ４１０：ＮＯ）、ステップＳ４２０の処理を実行する。
【００９９】
ステップＳ４１２では、先行処理依頼バッファをリセットして、すべての前処理先行処理を中止する。
【０１００】
ステップＳ４２０では、ステップＳ３１０で判断された前処理の依頼に応じて、前処理実行部１４０に対して、その前処理の依頼を行う。
【０１０１】
ステップＳ４３０では、前処理実行部１４０から前処理の終了が通知されるまで待機する。
【０１０２】
前処理の終了が通知された場合には、画像処理管理部１６０に対して、依頼のあった前処理の終了を通知する。そして、ステップＳ３１０に戻って、ステップＳ３１０〜ステップＳ３７０の判断処理を繰り返す。
【０１０３】
以上説明したように、前処理管理部１３０により、印刷開始前の前処理の先行処理および印刷開始後の前処理が管理されて、前処理実行部１４０によって前処理が実行される。特に、印刷開始前の前処理の先行処理は、印刷候補画像がプレビュー表示される際に実行される。
【０１０４】
Ｄ．前処理の先行処理動作についての具体例：
図１０および図１１は、前処理の先行処理動作についての具体例を示す説明図である。この具体例は、まず、画像Ａを印刷候補画像としてプレビュー表示して一旦印刷対象画像として選択した後それを取り消し、次に、画像Ｂをプレビュー表示して印刷対象画像として選択し、印刷を開始する場合を例に示している。
【０１０５】
ユーザが選択ボタン５０６Ｐ，５０６Ｎを操作することにより画像Ａの表示を指示すると、ＵＩ部１２０は、画像Ａについて、プレビュー表示のための画像処理の開始を画像処理部１７０に指示する。
【０１０６】
このとき、画像処理部１７０は、画像処理の開始が可能であれば、ＵＩ部１２０に対して、開始可能応答を通知する。
【０１０７】
開始可能応答通知を受けたＵＩ部１２０は、前処理管理部１３０に対して、印刷候補画像としての画像Ａについて前処理の先行処理を依頼する。
【０１０８】
前処理の先行処理依頼を受けた前処理管理部１３０は、前処理実行部１４０に対して、画像Ａについて前処理を依頼する。
【０１０９】
前処理の依頼を受けた前処理実行部１４０は、前処理を開始する。なお、この前処理として、本例では、デコード処理された画像データをサンプリングしてヒストグラムを作成する処理、作成したヒストグラムに基づいて画像の特徴量、例えば、最大輝度、最小輝度、平均値、中央値等を求める統計処理、顔認識処理、および、赤目解析処理の４つの処理を実行する。
【０１１０】
なお、開始された前処理の実行は、他の機能ブロックが並存するメインプロセッサ１００（図１）が実行するものである。かかる場合には、ユーザインタフェースに関する処理を優先するのが、一般的である。そこで、本例においても、前処理実行部１４０で実行される前処理は、他の機能ブロックで実行される処理よりも優先順位が低く設定されており、図１０において太線で囲まれた矩形枠で示すように、他の機能ブロックが動作していない空き時間に実行される。
【０１１１】
画像Ａについて前処理の先行処理を依頼したＵＩ部１２０は、次に、プレビュー処理を開始する。このプレビュー処理では、画像Ａをｎ個（１以上の整数）のバンドに区分し、このバンドごとにプレビュー表示用の画像処理が実行される。
【０１１２】
具体的には、まず、ＵＩ部１２０は、画像処理部１７０に対して、画像Ａのバンド１についてプレビュー表示用の画像処理の実行を要求する。画像処理の実行要求を受けた画像処理部１７０は、画像処理制御部２００Ａを介してデコード処理実行部２００Ｂに対してデコード処理の実行を要求する。デコード処理の要求を受けたデコード処理実行部２００Ｂは、画像Ａのバンド１についてデコード処理を実行後、その終了応答を、画像処理制御部２００Ａを介して画像処理部１７０に通知する。デコード処理の終了通知を受けた画像処理部１７０は、ＵＩ部１２０に対して、要求されていた画像Ａのバンド１についての画像処理の終了応答を通知する。
【０１１３】
以下、画像Ａのバンド１についてのプレビュー表示用の画像処理と同様の手順で、画像Ａについてのバンドごとのプレビュー表示用の画像処理を、バンドｎの画像処理が終了するまで繰り返す。
【０１１４】
そして、ＵＩ部１２０は、画像Ａについての全てのバンドについてプレビュー表示用の画像処理の終了を、画像処理部１７０に対して指示し、その応答通知を受け取って、画像Ａについてのプレビュー処理を終了すると、画像Ａについてプレビュー表示を実行する。
【０１１５】
ところで、メインプロセッサ１００の空き時間を利用して実行していた画像Ａについての前処理が終了すると、前処理実行部１４０は、前処理管理部１３０にたいして、画像Ａについての前処理の終了を通知する。前処理の終了通知を受けた前処理管理部１３０は、前処理管理リストの対応する管理領域の処理終了情報を「終了」とする。
【０１１６】
次に、プレビュー表示された画像Ａについて、ユーザが枚数指定ボタン５０８Ｕを操作して印刷枚数を１枚以上に設定すると、ＵＩ部１２０は、画像Ａを印刷対象画像として指定し、前処理管理部１３０に対して、画像Ａについて前処理の先行処理結果をロックするための処理結果ロック通知を行う。処理結果ロック通知を受けた画像処理管理部１３０は、前処理管理リストにおいて、画像Ａについて割り当てられている管理領域の処理結果ロック情報を「ロック」として、ロック状態とする。
【０１１７】
また、ユーザが枚数指定ボタン５０８Ｎを操作して一旦設定した印刷枚数を０枚に戻すと、ＵＩ部１２０は、画像Ａの印刷対象画像としての選択を取り消して、前処理管理リストにおいて、画像Ａについて割り当てられている管理領域の情報を削除して設定されているロック状態を解除するために、前処理管理部１３０に対して処理結果フリー通知を行う。処理結果フリー通知を受けた前処理管理部１３０は、前処理管理リストにおいて、画像Ａについて割り当てられている管理領域のロック状態を解除し、この管理領域の情報を削除することにより、この管理領域を他の印刷対象画像に対して割り当て可能な状態（以下、「フリー状態」ともいう。）とする。
【０１１８】
次に、ユーザが選択ボタン５０６Ｐ，５０６Ｎを操作することにより画像Ｂの表示を指示すると、ＵＩ部１２０は、画像Ｂについて、プレビュー表示のための画像処理の開始を画像処理部１７０に指示し、画像Ａの場合と同様の手順で前処理の先行処理およびプレビュー処理を行う。
【０１１９】
そして、プレビュー表示された画像Ｂについて、ユーザが枚数指定ボタン５０８Ｕを操作して印刷枚数を１枚以上に設定すると、ＵＩ部１２０は、画像Ｂを印刷対象画像として指定し、前処理管理部１３０に対して、画像Ｂについて前処理の先行処理結果をロックするための処理結果ロック通知を行う。処理結果ロック通知を受けた画像処理管理部１３０は、前処理管理リストにおいて、画像Ｂについて割り当てられている管理領域の処理結果ロック情報を「ロック」として、ロック状態とする。なお、ロック状態となっている管理領域で管理されている前処理結果保存領域に保存されている前処理の先行処理結果は、実際の印刷時において利用される。
【０１２０】
そして、ユーザが印刷開始ボタン５１０を操作して印刷開始を指示すると、上述したように、ＵＩ部１２０は、カード印刷制御部１５０に対して、印刷対象画像である画像Ｂの印刷の実行を指示し、ＵＩ部１２０からの印刷実行の指示を受けたカード印刷制御部１５０は、画像処理管理部１６０の管理の下で実行される画像処理部１７０による画像処理、印刷イメージ処理部１７０による印刷イメージデータの生成処理、および、印刷処理部１９０による印刷処理を制御し、印刷対象画像である画像Ｂの印刷を実行する。
【０１２１】
Ｅ．実施例の効果：
以上説明したように、上記実施例の印刷制御装置１０では、メモリカード５２に格納されたフォト画像データの表すフォト画像をプレビュー表示する際に、前処理を先行して開始することができる。これにより、従来のように、印刷開始を指示した後に、印刷対象画像についての前処理を行い、その後、印刷のための画像処理を行っている場合に比べて、印刷のための画像処理が開始されるまでの時間を短縮し、結果として実際の印刷処理が開始されるまでの待ち時間を短縮することが可能となる。
【０１２２】
また、上記実施例の印刷制御装置１０では、未実行の前処理先行処理依頼が複数ある場合に、その先行処理が実行される順番は、ユーザが選択画面で印刷対象画像として選択することにより発生した前処理先行処理依頼の順番ではなく、あらかじめ設定されている順番となるように設定されている。本例では、イニシャライズ処理において検索された、画像ファイル名のアルファベット順に等しい順番で、プレビュー表示および印刷処理が実行されるように設定されており、先行処理が実行される順番は、この印刷処理が実行される順番となるように設定されている。
【０１２３】
これにより、前処理先行処理依頼の発生順が印刷順と異なる場合においても、効率よく前処理を実行することが可能となり、待ち時の短縮を図ることが可能である。
【０１２４】
例えば、多面割付された画像を印刷する場合においては、図１２に示すように、画像Ａと画像Ｂの先行処理結果が最初に必要となるが、印刷対象画像として選択された画像の順番が画像Ｃ，画像Ｄ，画像Ｂ，画像Ａの順番であった場合に、仮に選択した順番で前処理が実行されるとすると、前処理の先行処理を行う効果を得ることができないことになる。すなわち、このような多面割付の画像を印刷する場合において、特に、本実施例のように、未実行の前処理先行処理依頼に対応する先行処理の実行順を、選択順ではなく、印刷処理が実行される順番とする効果は大きい。
【０１２５】
ただし、必ずしも、実施例のように、前処理の先行処理を実行する順番が、あらかじめ設定されている順番となるように設定する必要はなく、ユーザが選択画面で印刷対象画像として選択指定した順番としてもかまわない。
【０１２６】
また、上記実施例では、実際の画像処理をメインプロセッサ１００ではなく、３つのサブプロセッサ２００Ａ〜２００Ｃにおいて実行させる構成としているので、高速な処理が可能であるとともに、メインプロセッサ１００において、前処理を実行するための空き時間を効果的に設けることが可能であり、処理時間の短縮を図ることが可能となる。
【０１２７】
以上、本発明の実施の形態について説明したが、本発明はこのような実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
【図面の簡単な説明】
【０１２８】
【図１】本発明の一実施例としての印刷制御装置の構成例を示す機能ブロック図である。
【図２】ＵＩ部１２０によって実行される印刷対象画像指定動作について示す説明図である。
【図３】プレビュー処理および前処理先行処理について示す説明図である。
【図４】ＬＣＤ４０にプレビュー表示される印刷候補画像の一例を示す説明図である。
【図５】前処理管理部１３０によって実行される前処理管理動作について示す説明図である。
【図６】前処理管理部１３０によって実行される前処理管理動作について示す説明図である。
【図７】前処理管理部１３０によって実行される前処理管理動作について示す説明図である。
【図８】前処理管理リストを示す説明図である。
【図９】前処理の先行処理の依頼処理について示す説明図である。
【図１０】前処理の先行処理動作についての具体例を示す説明図である。
【図１１】前処理の先行処理動作についての具体例を示す説明図である。
【図１２】多面割付画像について示す説明図である。
【符号の説明】
【０１２９】
１０…印刷制御装置
２０…印刷機構部
３０…操作部
４０…液晶パネル（ＬＣＤ）
５０…カードスロット
５２…メモリカード
６０…専用メモリ
７０…共有メモリ
１００…メインプロセッサ（印刷制御部）
１１０…ファイルアクセス部
１２０…ユーザインタフェース部（ＵＩ部）
１３０…前処理管理部
１４０…前処理実行部
１５０…カード印刷制御部
１６０…画像処理管理部
１７０…画像処理部
１８０…印刷イメージ処理部
１９０…印刷処理部
２００Ａ…第１のサブプロセッサ（画像処理制御部）
２００Ｂ…第２のサブプロセッサ（デコード処理実行部）
２００Ｃ…第３のサブプロセッサ（補正処理実行部）
２００Ｄ…第４のサブプロセッサ（印刷イメージ処理実行部）
３００…機構制御部
５００Ｍ…選択画面
５０２…プレビュー表示欄
５０４…印刷枚数表示部
５０６Ｎ…選択ボタン
５０６Ｐ…選択ボタン
５０８Ｄ…枚数指定ボタン
５０８Ｕ…枚数指定ボタン
５１０…印刷開始ボタン
４００…入力Ｉ／Ｆ部
６００…カードＩ／Ｆ部
７００…専用メモリコントローラ
８００…共有メモリコントローラ
【図１】
2008062508.tif 000003
【図２】
2008062508.tif 000004
【図３】
2008062508.tif 000005
【図４】
2008062508.tif 000006
【図５】
2008062508.tif 000007
【図６】
2008062508.tif 000008
【図７】
2008062508.tif 000009
【図８】
2008062508.tif 000010
【図９】
2008062508.tif 000011
【図１０】
2008062508.tif 000012
【図１１】
2008062508.tif 000013
【図１２】
2008062508.tif 000014