(57)【要約】【課題】印刷動作開始までの待ち時間を可能な限り短縮する。【解決手段】先行展開処理部７０２のＧＵＩ制御部７０４は、ユーザが印刷したい画像ファイルを選択し、ＯＫボタン２４ｊをオンして選択画像を決定したときに、その選択画像の情報を先行展開処理部７０２の先行展開受付処理部７０５に送出する。先行展開受付処理部７０５は、ＧＵＩ制御部７０４からの選択画像の情報に基づきオブジェクト情報を生成して、該オブジェクト情報を含む画像展開条件をレイアウト合成処理部７１１に送出する。レイアウト合成処理部７１１は、先行展開受付処理部７０５からの画像展開条件を受けて、パス管理処理部７１３へ展開開始を指令する。そして、パス管理処理部７１３からの展開画像データを取得し、ユーザが選択したレイアウトにしたがって配置することによりレイアウト合成画像データを生成し、ＲＡＭ内の出力バッファに保存する。【選択図】図３
2008265305.tif 000002
【特許請求の範囲】
【請求項１】
画像記憶手段に所定形式の圧縮画像データとして格納されている複数の画像のうち印刷すべき画像を選択する選択手段と、
印刷条件を設定する設定手段と、
入力される画像展開条件にしたがって前記圧縮画像データから展開画像データを生成する展開画像生成手段と、
前記選択手段により画像が選択されると、前記選択手段による選択結果と該選択時に前記設定手段により設定されている印刷条件とに基づき前記画像展開条件を生成し、生成した該画像展開条件を前記展開画像生成手段に送出する先行展開受付手段と
を備え、
前記展開画像生成手段は、前記先行展開受付手段から前記画像展開条件が入力されると、該画像展開条件にしたがって前記展開画像データの生成を開始する
ことを特徴とする印刷処理装置。
【請求項２】
前記先行展開受付手段は、前記選択手段による画像の選択時に前記設定手段により設定されている印刷条件が予め設定された先行展開条件に合致するときにのみ、前記画像展開条件を生成する請求項１記載の印刷処理装置。
【請求項３】
前記画像記憶手段には前記複数の画像が通し番号に対応付けて格納されており、複数の画像を印刷するときは前記通し番号に基づく順序で各画像の印刷が実行される請求項１または２記載の印刷処理装置であって、
前記先行展開受付手段は、前記展開画像生成手段が前記展開画像データの生成を開始した後に、前記選択手段により別の画像が選択されると、先の選択画像と後の選択画像との印刷順序を判定し、後の選択画像の印刷順序が先の選択画像より前のときのみ、後の選択画像と後の画像選択時に前記設定手段により設定されている印刷条件とに基づき前記画像展開条件を新たに生成し、生成した該画像展開条件を前記展開画像生成手段に送出するもので、
前記展開画像生成手段は、前記展開画像データの生成を開始した後に、前記先行展開受付手段から前記画像展開条件が入力されたときは、それまでに生成した展開画像データを破棄し、該入力された前記画像展開条件にしたがって前記展開画像データの生成を再び開始する印刷処理装置。
【請求項４】
印刷開始を指示するための指示手段と、
前記指示手段により印刷開始が指示されると、該指示時における前記選択手段による選択結果と該指示時において前記設定手段により設定されている印刷条件とに基づき前記画像展開条件を生成し、生成した該画像展開条件を前記展開画像生成手段に送出する描画オブジェクト生成手段と
をさらに備え、
前記展開画像生成手段は、前記展開画像データの生成を開始した後に、前記描画オブジェクト生成手段から前記画像展開条件が入力されると、前記描画オブジェクト生成手段から入力された前記画像展開条件と前記先行展開受付手段から入力された前記画像展開条件とが同一か否かを判定し、同一でないときは、それまでに生成した展開画像データを破棄し、前記描画オブジェクト生成手段から入力された前記画像展開条件にしたがって前記展開画像データの生成を再び開始する請求項１ないし３のいずれかに記載の印刷処理装置。
【請求項５】
入力されるレイアウト合成画像データに基づき印刷データを生成する印刷データ生成手段
をさらに備え、
前記展開画像生成手段は、
前記展開画像データを所定の画像配置領域に割り付けて前記レイアウト合成画像データを生成するレイアウト合成処理部と、
前記レイアウト合成処理部により生成された前記レイアウト合成画像データを前記印刷データ生成手段に送出するまで保管する記憶部と
を有する請求項１ないし４のいずれかに記載の印刷処理装置。
【請求項６】
画像記憶手段に所定形式の圧縮画像データとして格納されている複数の画像のうち印刷すべき画像を選択する選択工程と、
前記選択工程における選択結果と該選択時に設定されている印刷条件とに基づき画像展開条件を生成する画像展開条件生成工程と、
生成された画像展開条件にしたがって前記圧縮画像データから展開画像データを生成する展開画像生成工程と
を備えたことを特徴とする印刷処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像記憶手段に格納されている画像を印刷する印刷処理装置および同方法に関するものである。
【背景技術】
【０００２】
従来、画像を所定の形式で圧縮したり、逆に、圧縮されている画像を伸張する画像処理装置が提案されている（例えば特許文献１参照）。この特許文献１記載の装置では、例えばコピー指示などのユーザによる動作開始の指示があった後に、画像処理動作を開始するようにしている。
【０００３】
【特許文献１】特開２００６−１５７８０６号公報（段落００３０）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、画像記憶手段に格納されている撮影済みの写真画像などを手軽に印刷できるプリンタが普及している。写真画像などは、一般に、所定形式の圧縮画像データとして画像記憶手段に格納されている。したがって、例えばプリンタで画像を印刷するときは、圧縮画像データを展開するなどの画像処理を行う必要があるため、印刷動作の開始まで一定の時間を要する。これに対して、印刷動作開始までの待ち時間を可能な限り短縮することが要望されている。
【０００５】
この発明は、上記課題に鑑みなされたものであり、印刷動作開始までの待ち時間を可能な限り短縮することができる印刷処理装置および同方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明にかかる印刷処理装置は、上記目的を達成するため、画像記憶手段に所定形式の圧縮画像データとして格納されている複数の画像のうち印刷すべき画像を選択する選択手段と、印刷条件を設定する設定手段と、入力される画像展開条件にしたがって圧縮画像データから展開画像データを生成する展開画像生成手段と、選択手段により画像が選択されると、選択手段による選択結果と該選択時に設定手段により設定されている印刷条件とに基づき画像展開条件を生成し、生成した該画像展開条件を展開画像生成手段に送出する先行展開受付手段とを備え、展開画像生成手段は、先行展開受付手段から画像展開条件が入力されると、該画像展開条件にしたがって展開画像データの生成を開始することを特徴としている。
【０００７】
また、この発明にかかる印刷処理方法は、上記目的を達成するため、画像記憶手段に所定形式の圧縮画像データとして格納されている複数の画像のうち印刷すべき画像を選択する選択工程と、選択工程における選択結果と該選択時に設定されている印刷条件とに基づき画像展開条件を生成する画像展開条件生成工程と、生成された画像展開条件にしたがって圧縮画像データから展開画像データを生成する展開画像生成工程とを備えたことを特徴としている。
【０００８】
このように構成された発明（印刷処理装置および印刷処理方法）では、印刷すべき画像が選択されると、その選択結果とその選択時に設定されている印刷条件とに基づき画像展開条件が生成され、その画像展開条件にしたがって展開画像データが生成される。したがって、例えばユーザによる印刷開始の指示などがなくても、印刷すべき画像が選択されただけで展開画像データの生成が開始されているため、実際の印刷動作開始までの待ち時間を短縮することが可能になる。
【０００９】
また、先行展開受付手段は、選択手段による画像の選択時に設定手段により設定されている印刷条件が予め設定された先行展開条件に合致するときにのみ、画像展開条件を生成するとしてもよい。このように構成された発明では、画像の選択時に設定されている印刷条件が予め設定された先行展開条件に合致するときにのみ、画像展開条件を生成して展開画像生成手段に送出されるため、先行展開条件に合致しないときは画像展開条件が生成されないことから、無駄な画像展開条件の生成を避けることができる。
【００１０】
また、画像記憶手段には複数の画像が通し番号に対応付けて格納されており、複数の画像を印刷するときは通し番号に基づく順序で各画像の印刷が実行される印刷処理装置であって、先行展開受付手段は、展開画像生成手段が展開画像データの生成を開始した後に、選択手段により別の画像が選択されると、先の選択画像と後の選択画像との印刷順序を判定し、後の選択画像の印刷順序が先の選択画像より前のときのみ、後の選択画像と後の画像選択時に設定手段により設定されている印刷条件とに基づき画像展開条件を新たに生成し、生成した該画像展開条件を展開画像生成手段に送出するもので、展開画像生成手段は、展開画像データの生成を開始した後に、先行展開受付手段から画像展開条件が入力されたときは、それまでに生成した展開画像データを破棄し、該入力された画像展開条件にしたがって展開画像データの生成を再び開始するとしてもよい。
【００１１】
このように構成された発明では、展開画像データの生成を開始した後に、別の画像が選択されると、先の選択画像と後の選択画像との印刷順序が判定され、後の選択画像の印刷順序が先の選択画像より前のときのみ、後の選択画像と後の画像選択時に設定されている印刷条件とに基づき画像展開条件が新たに生成され、生成された該画像展開条件が展開画像生成手段に送出される。そして、展開画像データの生成を開始した後に、画像展開条件が入力されたときは、それまでに生成した展開画像データを破棄し、該入力された画像展開条件にしたがって展開画像データの生成が再び開始される。したがって、印刷順序が前の画像について展開画像データが生成されることになるため、印刷動作開始までの待ち時間を確実に短縮することができる。
【００１２】
また、印刷開始を指示するための指示手段と、指示手段により印刷開始が指示されると、該指示時における選択手段による選択結果と該指示時において設定手段により設定されている印刷条件とに基づき画像展開条件を生成し、生成した該画像展開条件を展開画像生成手段に送出する描画オブジェクト生成手段とをさらに備え、展開画像生成手段は、展開画像データの生成を開始した後に、描画オブジェクト生成手段から画像展開条件が入力されると、描画オブジェクト生成手段から入力された画像展開条件と先行展開受付手段から入力された画像展開条件とが同一か否かを判定し、同一でないときは、それまでに生成した展開画像データを破棄し、描画オブジェクト生成手段から入力された画像展開条件にしたがって展開画像データの生成を再び開始するとしてもよい。
【００１３】
このように構成された発明では、印刷開始が指示されると、該指示時における画像の選択結果と該指示時において設定されている印刷条件とに基づき画像展開条件が生成され、生成された該画像展開条件が展開画像生成手段に送出される。そして、展開画像データの生成を開始した後に、描画オブジェクト生成手段から画像展開条件が入力されると、描画オブジェクト生成手段から入力された画像展開条件と先行展開受付手段から入力された画像展開条件とが同一か否かが判定され、同一でないときは、それまでに生成した展開画像データを破棄し、描画オブジェクト生成手段から入力された画像展開条件にしたがって展開画像データの生成が再び開始される。したがって、画像の選択時に対して印刷開始の指示時に画像展開条件が変化していた場合には、印刷開始の指示時における画像展開条件にしたがって展開画像データが生成されるため、所望の印刷を確実に行うことができる。なお、描画オブジェクト生成手段から入力された画像展開条件と先行展開受付手段から入力された画像展開条件とが同一のときは、それまでに生成した展開画像データを有効に活用することができるため、印刷動作開始までの待ち時間が短縮されることとなる。
【００１４】
また、入力されるレイアウト合成画像データに基づき印刷データを生成する印刷データ生成手段をさらに備え、展開画像生成手段は、展開画像データを所定の画像配置領域に割り付けてレイアウト合成画像データを生成し、印刷データ生成手段からの指示を受けてレイアウト合成画像データを印刷データ生成手段に送出するレイアウト合成処理部と、レイアウト合成処理部により生成されたレイアウト合成画像データを印刷データ生成手段に送出されるまで保存する記憶部とを有するとしてもよい。
【００１５】
このように構成された発明では、レイアウト合成処理部により展開画像データを所定の画像配置領域に割り付けてレイアウト合成画像データが生成され、印刷データ生成手段からの指示を受けて、生成されたレイアウト合成画像データが印刷データ生成手段に送出される。そして、印刷データ生成手段によりレイアウト合成画像データに基づき印刷データが生成される。ここで、レイアウト合成処理部により生成されたレイアウト合成画像データは、印刷データ生成手段に送出されるまで記憶部で保存されるため、画像選択により先行して生成された展開画像データから、レイアウト合成画像データを先行して生成して記憶部で保存しておくことにより、印刷データ生成手段へのレイアウト合成画像データの送出を可能な限り早くすることができる。
【発明を実施するための最良の形態】
【００１６】
図１は本発明にかかる印刷処理装置の一実施形態であるフォトプリンタを示す斜視図である。また、図２はフォトプリンタの電気的構成の概略を示すブロック図である。このフォトプリンタ１０では、プリンタ本体１２の内部にはプリント機構部５０が内蔵されており、フォトプリンタ１０の全体の制御を司るコントローラ７０からの動作指令に応じて用紙Ｐへの印刷を実行する。そして、こうして印刷された用紙がプリンタ本体１２の前面に排紙される。
【００１７】
このプリンタ本体１２の前面には、図１に示すように、前面扉１４が開閉自在に取り付けられている。この前面扉１４はプリンタ本体１２の前面を開閉するための蓋である。そして、開状態のときには、プリント機構部５０から排紙される用紙Ｐを受けるための排紙トレイとして機能する。また、プリンタ本体１２の前面に設けられた各種のメモリカードスロット１６をユーザが利用可能な状態となる。つまり、この状態でユーザは印刷対象となる画像ファイルを記憶したメモリカードＭをメモリカードスロット１６に差し込むことができる。画像ファイルデータを記憶する外部媒体としてはメモリカードに限定されず、ＵＳＢメモリやディスク媒体など他のものであってもよい。また、画像を記憶したデジタルカメラや携帯電話等の電子機器を本フォトプリンタ１０にケーブルや赤外線を利用した通信によって接続し外部媒体として機能させてもよい。
【００１８】
また、プリンタ本体１２の上面には操作パネル２０が設けられる一方、プリンタ本体１２の上面の奥の一辺に対してカバー３０が開閉自在に取り付けられている。このカバー３０は、プリンタ本体１２の上面を覆うことのできる大きさに成形された樹脂板であり、開状態では操作パネル２０の表面を外部に露出する（図１参照）。一方、カバー３０が閉状態に閉じられると、操作パネル２０全体を覆う。
【００１９】
この操作パネル２０には、文字や図形、記号などを表示する例えばＬＣＤディスプレイにより構成された表示部２２と、この表示部２２の周囲に配置されたボタン群２４とを備えている。ボタン群２４は、図２に示すように、電源のオンオフを行うための電源ボタン２４ａ、メインメニュー画面を呼び出すためのメニューボタン２４ｂ、操作を途中でキャンセルしたり用紙Ｐへの印刷を途中で中断したりするためのキャンセルボタン２４ｃ、用紙Ｐへの印刷実行を指示するための印刷ボタン２４ｄ、メモリカードスロット１６に挿入されたメモリカードＭに編集画像等を保存するための保存ボタン２４ｅ、表示部２２に表示された複数の選択肢の中から所望の選択肢を選択したりカーソルを移動したりするときに操作される上下左右の各矢印ボタン２４ｆ〜２４ｉ、この上下左右の各矢印ボタン２４ｆ〜２４ｉの中央に配置され各矢印ボタン２４ｆ〜２４ｉによって選択されている選択肢に決定したことを指示するためのＯＫボタン２４ｊ、表示部２２での画面表示を切り替えるための表示切替ボタン２４ｋ、表示部２２に表示される左ガイドを選択する左ガイド選択ボタン２４ｌ、表示部２２に表示される右ガイドを選択する右ガイド選択ボタン２４ｍ、排紙トレイとしての機能を備えた前面扉１４を開く排紙トレイオープンボタン２４ｎなどで構成されている。
【００２０】
また、表示部２２の表示内容を確認するために、カバー３０には表示部２２と同じ大きさの窓３２が設けられている。つまり、カバー３０が閉状態にあるときにはユーザはこの窓３２を介して表示部２２の表示内容を確認することができる。一方、カバー３０は開状態のときには、表示部２２を図１に示すように好みの角度に調整することが可能となっている。
【００２１】
このようにカバー３０を開状態としたときには、操作パネル２０に対して斜め後方に傾斜した状態でカバー３０は保持され、用紙Ｐをプリント機構部５０へ供給するためのトレイとして利用可能となっている。また、操作パネル２０の奥には、プリント機構部５０の給紙口５８が設けられるとともに、ガイド幅が用紙の幅に合うように左右方向にスライド操作される一対の用紙ガイド５９が設けられている。
【００２２】
そして、給紙口５８を介して用紙Ｐがプリント機構部５０に送り込まれて印刷が実行される。このプリント機構部５０には、図２に示すように、キャリッジ５３が左右方向にループ状に架け渡されたタイミングベルト５１により駆動されガイド５２に沿って左右に往復動する。このキャリッジ５３には、紙端検出センサ５７が設けられ、用紙Ｐの左右端や上下端を検出する。つまり、紙端検出センサ５７は、給紙口５８にセットされた用紙に対して印刷前にキャリッジ５３が左右方向に走査したときにその用紙の左右端を検出して用紙幅の認識を可能にしたり、印刷途中で用紙の後端を検出して用紙長さの認識を可能にしたりする。
【００２３】
また、このキャリッジ５３には、シアン・マゼンタ・イエロー・ブラック等の各色のインクを個別に収容したインクカートリッジ５４が搭載されている。これらのインクカートリッジ５４はそれぞれ印刷ヘッド５５に接続されている。そして、印刷ヘッド５５はインクカートリッジ５４からのインクに圧力をかけてノズル（図示省略）から用紙Ｐに向かってインクを吐出する。この実施形態では、印刷ヘッド５５は圧電素子に電圧をかけることにより該圧電素子を変形させてインクを加圧する方式を採用しているが、発熱抵抗体（例えばヒータなど）に電圧をかけインクを加熱して発生した気泡によりインクを加圧する方式を採用してもよい。こうして印刷された用紙Ｐは搬送ローラ５６によって開状態の前面扉（排紙トレイ）１４へ送り出される。
【００２４】
また、図示を省略しているものの、プリンタ本体１２の背面にはバッテリパックを装着可能となっており、商用電源に接続しなくとも本プリンタ１０をバッテリにより動作させることが可能となっている。この点および本プリンタ１０がホストコンピュータに接続しなくても使用することができるスタンドアロンプリンタとなっている点により、本プリンタ１０は持ち運び容易でどこでも使用できるようになっている。
【００２５】
コントローラ７０は、図２に示すように、ＣＰＵ７１を中心とするマイクロプロセッサとして構成されており、各種処理プログラムや各種データなどを記憶したＲＯＭ７２と、一時的にデータを記憶するＲＡＭ７３と、プリント機構部５０やメモリカードスロット１６などとの通信を可能とするインタフェース（Ｉ／Ｆ）７５とを備え、これらはバス７７を介して互いに信号のやり取りが可能なように接続されている。また、バス７７には、操作パネル２０、プリント機構部５０、ＪＰＥＧ画像データから展開画像データを生成するハードウェア装置群８０なども接続されている。
【００２６】
ハードウェア装置群８０は、ＪＰＥＧ画像を展開してＲＧＢデータを生成すると共に間引きや切り出し、回転などを行うハードウェアＪＰＥＧ展開装置８１と、ＲＧＢデータの画像サイズを拡大・縮小するハードウェアリサイズ装置８２と、ＲＧＢデータを画質補正パラメータ（例えばコントラストや明るさ、彩度などに関するパラメータ）にしたがって補正するハードウェア画質補正装置８３と、コピーを実行するハードウェアコピー装置８４とを備えている。
【００２７】
コントローラ７０には、メモリカードスロット１６に挿入されたメモリカードＭのＪＰＥＧ画像ファイルが入力されるほか、プリント機構部５０の各部からの検出信号や操作パネル２０のボタン群２４からの指令信号、ハードウェア装置群８０を構成する各装置８１〜８４からの処理状況を表す信号などが入力される。また、コントローラ７０は、Ｉ／Ｆ７５を介してメモリカードＭに編集画像を保存するほか、プリント機構部５０の印刷ヘッド５５などへの制御信号や操作パネル２０の表示部２２への制御信号、ハードウェア装置群８０を構成する各装置８１〜８４への指令信号などを出力する。
【００２８】
図３、図４はコントローラ７０のＣＰＵ７１の機能ブロックを示すブロック図である。ＣＰＵ７１は、機能ブロックとして、印刷受付処理部７０１、先行展開処理部７０２、レイアウト合成処理部７１１、印刷データ生成処理部７１２、パス管理処理部７１３、ＪＰＥＧ処理部７１４、リサイズ処理部７１５、画質補正処理部７１６、共有メモリ管理処理部７１７を含むものとして表すことができる。
【００２９】
印刷受付処理部７０１のグラフィカル・ユーザ・インタフェース（ＧＵＩ）制御部７０３は、ユーザがメインメニュー画面（図６（ａ）参照）から印刷したい画像ファイル（ＪＰＥＧ画像）を選択すると共に印刷用紙のサイズやレイアウト（例えば１枚の用紙に複数の画像配置領域を設定するレイアウト等）を選択したあと印刷ボタン２４ｄをオンしたときに、ユーザによる印刷設定に関する情報を印刷ジョブ情報として印刷受付処理部７０１の描画オブジェクト生成処理部７１０に送出する。
【００３０】
描画オブジェクト生成処理部７１０は、ＧＵＩ制御部７０３からの印刷ジョブ情報に基づきオブジェクト情報を生成して、該オブジェクト情報を含む画像展開条件をレイアウト合成処理部７１１に送出する。なお、オブジェクト情報とは、例えば、画像配置領域のサイズや回転角度、座標位置のほか、画像のどのエリアを切り出すかなどを含む情報である。また、画像展開条件とは、オブジェクト情報のほか、ファイル名やファイルサイズ、画質補正の有無、コントラストのパラメータ、明るさのパラメータ、彩度のパラメータ、画像のどのエリアをクリップするかというクリップ条件などを含む。
【００３１】
先行展開処理部７０２のＧＵＩ制御部７０４は、ユーザが印刷したい画像ファイル（ＪＰＥＧ画像）を選択し、ＯＫボタン２４ｊをオンして選択画像を決定したときに、その選択画像の情報を先行展開処理部７０２の先行展開受付処理部７０５に送出する。また、ＧＵＩ制御部７０４は、ユーザが印刷ボタン２４ｄをオンしたときに、その情報を先行展開受付処理部７０５に送出する。先行展開受付処理部７０５は、ＧＵＩ制御部７０４からの選択画像の情報に基づきオブジェクト情報を生成して、該オブジェクト情報を含む画像展開条件をレイアウト合成処理部７１１に送出する。なお、選択画像の情報以外の情報については、画像選択時（ＯＫボタン２４ｊのオン時）に設定されている情報がそのまま用いられる。例えば、用紙やレイアウトなどの印刷条件については、現在の設定状態、すなわち前回の設定内容がそのまま用いられる。なお、例えば選択画像が決定されると、デフォルトの印刷条件を現在の設定状態とするようにしてもよい。また、先行展開受付処理部７０５は、ＧＵＩ制御部７０４からの印刷ボタン２４ｄのオン情報を受けて、その動作を停止する。
【００３２】
レイアウト合成処理部７１１は、パス管理処理部７１３へ展開画像データを要求し、その後パス管理処理部７１３から得た展開画像データをハードウェアコピー装置８４を使用してユーザが選択したレイアウトにしたがって配置することによりレイアウト合成画像データを生成し、該レイアウト合成画像データを印刷データ生成処理部７１２へ出力する。このレイアウト合成処理部７１１は、パス管理処理部７１３へ展開画像データを要求する際には、先行展開受付処理部７０５または描画オブジェクト生成処理部７１０からの画像展開条件のうち展開画像データの生成に必要な条件（例えばファイル名やファイルサイズ、画質補正の有無、コントラストのパラメータ、明るさのパラメータ、彩度のパラメータのほか、画像のどのエリアをクリップするかというクリップ条件など）をパス管理処理部７１３へ出力する。ここで、展開画像データとは、メモリカードＭに保存されたＪＰＥＧ画像データにＪＰＥＧ画像展開処理・リサイズ処理・画質補正処理を施すことにより得られるデータをいうものとする。このため、パス管理処理部７１３は、展開画像データの生成に必要な条件にしたがってＪＰＥＧ画像展開処理・リサイズ処理・画質補正処理を施す。
【００３３】
印刷データ生成処理部７１２は、レイアウト合成処理部７１１からの色変換テーブルの指定や出力解像度の指定、用紙サイズの指定を受けることにより、レイアウト合成画像データからプリント機構部５０が印刷可能な印刷データを生成する。プリント機構部５０は、この印刷データに基づいて制御されることになる。
【００３４】
パス管理処理部７１３は、ＪＰＥＧ画像データから展開画像データを生成するにあたり、ＪＰＥＧ画像展開処理部７１４やリサイズ処理部７１５，画質補正処理部７１６の処理順序（パス）を決定する。また、パス管理処理部７１３は、各部７１４，７１５，７１６からデータ要求を受け付け、該データ要求を適切な要求先に出力し、該要求先からデータ要求に対する回答を受け付け、該回答を要求元へ通知する。こうすることにより、各部７１４，７１５，７１６はそれぞれ並列して処理を実行することが可能となる。ここで、各部７１４，７１５，７１６は、生成したデータを共有メモリであるＲＡＭ７３の所定領域に格納し、その所定領域の先頭アドレスを示すポインタ及びその所定領域に格納されたデータの長さ（ライン数）をパス管理処理部７１３へ回答するものとする。
【００３５】
ＪＰＥＧ画像展開処理部７１４は、パス管理処理部７１３から展開開始の指令を受けると、ハードウェアＪＰＥＧ展開装置８１を使用してＪＰＥＧ画像データを複数ラインずつＲＧＢデータへ展開し、間引きや切り出し、回転などを行い（この一連の処理をＪＰＥＧ処理と称する）、ＪＰＥＧ処理後のＲＧＢデータを出力データとして共有メモリ管理処理部７１７を介してＲＡＭ７３に保存する。こうしてＪＰＥＧ処理後のＲＧＢデータを保存したあと、ＪＰＥＧ画像展開処理部７１４はそのデータを保存した領域の先頭アドレスを示すポインタとデータのライン数をパス管理処理部７１３へ通知する。
【００３６】
リサイズ処理部７１５は、パス管理処理部７１３から展開開始の指令を受けると、パス管理処理部７１３に対してリサイズ処理の対象となるデータを要求する。その後、パス管理処理部７１３からその要求に対する回答としてポインタ及びデータのライン数の通知を受けると、そのポインタ及びデータのライン数に基づいてＲＡＭ７３からリサイズ処理の対象となるデータを読み出し、ハードウェアリサイズ装置８２を使用してそのデータのリサイズ処理を行う。そして、リサイズ処理後のＲＧＢデータを出力データとして共有メモリ管理処理部７１７を介してＲＡＭ７３に保存する。こうしてリサイズ処理後のＲＧＢデータを保存したあと、リサイズ処理部７１５はそのデータを保存した領域の先頭アドレスを示すポインタとデータのライン数をパス管理処理部７１３へ通知する。ここで、リサイズ処理の対象となるデータは、パス管理処理部７１３によって決定されるが、ＪＰＥＧ画像展開処理部７１４によって生成されるＪＰＥＧ処理後のＲＧＢデータか、画質補正処理部７１６によって生成される画質補正処理後のＲＧＢデータのいずれかである。
【００３７】
画質補正処理部７１６は、パス管理処理部７１３から展開開始の指令を受けると、パス管理処理部７１３に対して画質補正処理の対象となるデータの要求を行う。その後、パス管理処理部７１３からその要求に対する回答としてポインタ及びデータのライン数の通知を受けると、そのポインタ及びデータのライン数に基づいてＲＡＭ７３から画質処理の対象となるデータを読み出し、ハードウェア画質補正装置８３を使用してそのデータの画質補正を行う。そして、画質補正処理後のＲＧＢデータを出力データとして共有メモリ管理処理部７１７を介してＲＡＭ７３に保存する。こうして画質補正処理後のＲＧＢデータを保存したあと、画質補正処理部７１６はそのデータを保存した領域の先頭アドレスを示すポインタとデータのライン数をパス管理処理部７１３へ通知する。ここで、画質補正処理の対象となるデータは、パス管理処理部７１３によって決定されるが、ＪＰＥＧ画像展開処理部７１４によって生成されるＪＰＥＧ処理後のＲＧＢデータか、リサイズ処理部７１５によって生成されるリサイズ処理後のＲＧＢデータのいずれかである。
【００３８】
図５はメモリカードの記憶内容の一例を示す図、図６は表示部２２の表示画面の一例を示す図、図７はこのフォトプリンタの使用手順の一例を示すフローチャートである。メモリカードＭには、例えば図５に示すように、複数（この実施形態では例えば６個）の画像ファイル１６１〜１６６が格納されている。これらの画像ファイル１６１〜１６６は、撮影済みの写真データを公知のファイル形式でファイル化したもので、この実施形態では例えばＪＰＥＧ形式で圧縮された圧縮画像データを含むファイルとしてメモリカードＭに格納されている。また、画像ファイル１６１〜１６６のファイル名には、それぞれ０００１〜０００６の通し番号が含まれている。この通し番号は、写真撮影に用いられたデジタルカメラ等によって写真撮影時に自動的に付与されたものである。すなわち、画像ファイル１６１〜１６６は、この順序で撮影されてファイル化されたことを示している。このように画像ファイルは通し番号に対応付けられて記憶媒体に記憶されている。そして、このフォトプリンタ１０では、複数の画像ファイルの画像が印刷されるときは、この通し番号の順序で印刷されるように構成されている。
【００３９】
図７において、まず、メモリカードＭがメモリカードスロット１６に挿入されると（ステップＳ１２）、例えば図６（ａ）に示すようなメインメニュー画面が表示部２２に表示される。そして、カーソルを「写真選択」に位置させた状態でユーザがＯＫボタン２４ｊを操作すると、例えば図６（ｂ）に示すような写真選択画面が表示部２２に表示される（ステップＳ１４）。図６（ｂ）では、画像ファイル１６１〜１６６にそれぞれ対応する写真画像Ｐ１〜Ｐ６が表示されている。そして、各矢印ボタン２４ｆ〜２４ｉの操作により所望の写真画像にカーソルを位置させた状態でＯＫボタン２４ｊを操作すると、印刷すべき写真画像が選択される（ステップＳ１６：選択工程）。図６（ｂ）では、太枠で示す写真画像Ｐ２が選択された状態を示している。また、図６（ｃ）では、写真画像Ｐ２に加えて、さらに写真画像Ｐ１が選択された状態を示している。
【００４０】
そして、印刷条件の変更が不要であれば（ステップＳ１８でＮＯ）、ステップＳ２４に進む一方、ユーザが印刷条件を変更したければ（ステップＳ１８でＹＥＳ）、図６（ａ）に示すメインメニュー画面を表示部２２に表示させ、カーソルを「用紙／レイアウト」に位置させた状態でユーザがＯＫボタン２４ｊを操作すると（ステップＳ２０）、例えば図６（ｄ）に示すような用紙サイズ・種類選択画面が表示部２２に表示される。そして、ボタン群２４の操作により用紙サイズ・種類を選択すると、次いで、例えば図６（ｅ）に示すようなレアアウト選択画面が表示部２２に表示され、ボタン群２４の操作によりレイアウトを選択する。こうして用紙サイズおよびレイアウトなどを決定すると（ステップＳ２２）、印刷ボタン２４ｄを操作して（ステップＳ２４）、このルーチンを終了する。このように、この実施形態では、ボタン群２４が本発明の「選択手段」、「設定手段」および「指示手段」に相当し、メモリカードＭが本発明の「画像記憶手段」に相当する。
【００４１】
次に、フォトプリンタ１０の各部の動作手順の一例について説明する。以下には、コントローラ７０のＣＰＵ７１を機能ブロックである先行展開受付処理部７０５、レイアウト合成処理部７１１、パス管理処理部７１３、ＪＰＥＧ画像展開処理部７１４、リサイズ処理部７１５、画質補正処理部７１６に分け、各機能ブロックが主体となって動作を実行するものとして説明する。
【００４２】
図８は先行展開受付処理の一例を示すフローチャートである。このルーチンでは、まず内部状態が「アイドル」に設定されて（ステップＳ５２）、ＧＵＩ制御部７０４からの信号を待機しており（ステップＳ５４でＮＯ）、先行展開受付処理部７０５は、ＧＵＩ制御部７０４からの信号を契機として、ステップを進める。そして、ＧＵＩ制御部７０４から印刷開始の信号があると、ステップＳ５２に戻る一方、ＧＵＩ制御部７０４から写真選択の信号があると、内部状態が判定され（ステップＳ５６）、アイドルであれば、設定されている印刷条件を取得する（ステップＳ５８）。印刷条件としては、例えば、用紙、レイアウト、補正などの種別が含まれる。
【００４３】
次いで、取得した印刷条件が先行展開条件に合致するか否かが判定される（ステップＳ６０）。ここで、この実施形態では例えば、先行展開条件は「１面フチなし」または「１面フチあり」に設定されている。そして、先行展開条件に合致しなければ（ステップＳ６０でＮＯ）、ステップＳ５２に戻る。一方、先行展開条件に合致すれば（ステップＳ６０でＹＥＳ）、すなわちレイアウトの設定が、「１面フチなし」および「１面フチあり」のいずれかであれば、描画オブジェクトを生成して（ステップＳ６２：展開条件生成工程）、その描画オブジェクトを含む画像展開条件をレイアウト合成処理部７１１に通知（送出）する（ステップＳ６４）。そして、内部状態を「先行展開中」に設定し、先行展開中の選択写真の画像ファイル番号をＲＡＭ７３に登録し（ステップＳ６６）、ステップＳ５４に戻ってＧＵＩ制御部７０４からの信号を待機する。なお、先行展開条件は、上記したものに限られない。
【００４４】
一方、ステップＳ５６において、内部状態が「先行展開中」であれば、後に選択された写真の画像ファイル番号と、ステップＳ６６でＲＡＭ７３に登録されている画像ファイル番号とを比較して、後の選択写真が、先行展開中の先の選択写真より先に印刷されるか否かが判定される（ステップＳ６８）。そして、後で印刷されるのであれば（ステップＳ６８でＮＯ）、ステップＳ５４に戻る一方、先に印刷されるのであれば（ステップＳ６８でＹＥＳ）、ステップＳ５８に進む。ここで、例えば図６（ｂ）に示すように、先に写真画像Ｐ２が選択されて先行展開中に、図６（ｃ）に示すように、後から写真画像Ｐ１が選択されると、ステップＳ６８でＹＥＳと判定されることとなる。そして、後の選択写真について先の選択写真と同様の処理（ステップＳ５８，Ｓ６０，Ｓ６２，Ｓ６４，Ｓ６６）が実行される。これによって、印刷すべき写真画像として複数が選択された場合、そのうちの最初に印刷される画像についての先行展開が確実に行われることとなる。
【００４５】
図９、図１０はレイアウト合成処理の一例を示すフローチャートである。このルーチンでは、まず状態が「スタンバイ」に設定されて（ステップＳ１０２）、先行展開受付処理部７０５または描画オブジェクト生成処理部７１０からの描画オブジェクトの通知を待機しており（ステップＳ１０４でＮＯ）、レイアウト合成処理部７１１は、先行展開受付処理部７０５または描画オブジェクト生成処理部７１０から画像展開条件の通知があったことを契機として、ステップを進める。そして、描画オブジェクトが通知されると（ステップＳ１０４でＹＥＳ）、状態が「先行展開中」か否かが判定される（ステップＳ１０６）。そして、「先行展開中」でなければ（ステップＳ１０６でＮＯ）、通知された画像展開条件のうちＪＰＥＧ画像データから展開画像データを生成するのに必要な条件を設定し、該条件をパス管理処理部７１３へ通知する（ステップＳ１０８）。次いで、状態を「先行展開中」に設定し（ステップＳ１１０）、描画オブジェクトが通知されたか否かが再び判定され（ステップＳ１１２）、描画オブジェクトが通知されると（ステップＳ１１２でＹＥＳ）、ステップＳ１０６に戻る。
【００４６】
一方、ステップＳ１０６で状態が「先行展開中」であれば（ステップＳ１０６でＹＥＳ）、通知された描画オブジェクトが先行展開受付処理部７０５からのものであるか否かが判定され（ステップＳ１１４）、先行展開受付処理部７０５からの通知であれば（ステップＳ１１４でＹＥＳ）、後の選択写真が先の選択写真より先に印刷されることを意味しているので、パス管理処理部７１３に現在の先行展開を終了するように通知して（ステップＳ１１６）、ステップＳ１０８に進む。
【００４７】
一方、先行展開受付処理部７０５からの通知でない、すなわち描画オブジェクト生成処理部７１０からの通知であれば（ステップＳ１１４でＮＯ）、画像展開条件が先行展開中のものと同じ設定か否かが判定される（ステップＳ１１７）。そして、先行展開中と同じ設定であれば（ステップＳ１１７でＹＥＳ）、ステップＳ１３６に進む。一方、先行展開中と異なる設定であれば（ステップＳ１１７でＮＯ）、パス管理処理部７１３に現在の先行展開を終了するように通知し（ステップＳ１１８）、通知された画像展開条件のうちＪＰＥＧ画像データから展開画像データを生成するのに必要な条件を設定し、該条件をパス管理処理部７１３へ通知し（ステップＳ１１９）、状態を「展開開始前」に設定して（ステップＳ１２０）、ステップＳ１２２に進む。
【００４８】
一方、ステップＳ１１２において描画オブジェクトが通知されていなければ（ステップＳ１１２でＮＯ）、パス管理処理部７１３に展開開始を指令する（ステップＳ１２２）。続いて、状態が「先行展開中」か否かが判定される（ステップＳ１２４）。そして、「先行展開中」であれば（ステップＳ１２４でＹＥＳ）、状態を「先行展開中」に設定し（ステップＳ１２６）、以下、先行展開処理（本発明の「展開画像生成工程」に相当）が実行される。すなわち、まず、取得可能な最大分の出力バッファが、ＲＡＭ７３内にレイアウト用メモリとして取得される（ステップＳ１２８）。この実施形態では、取得可能な最大分は、予めリソースとして割り当てられている値とする。
【００４９】
続いて、パス管理処理部７１３から展開画像データを取得し、取得した展開画像データに基づいてハードウェアコピー装置８４を使用してレイアウト合成処理を実行し、結果を出力バッファに保存する（ステップＳ１３０）。ここで、パス管理処理部７１３は、レイアウト合成処理部７１１から展開開始の指令を受けたあと、ＪＰＥＧ画像展開処理部７１４やリサイズ処理部７１５、画質補正処理部７１６のパスを管理しながら各処理部７１４，７１５，７１６に処理を実行させることによりＪＰＥＧ画像データから展開画像データを生成させ、その展開画像データをレイアウト合成処理部７１１へ渡す。この点については、後で詳述する。また、レイアウト合成処理とは、例えば、ユーザが選択した印刷用紙のサイズやレイアウトに基づいて、印刷用紙の１又は複数の画像配置領域に展開画像データを貼り付ける処理をいう。このときにハードウェアコピー装置８４を使用するのは、処理の高速化とファームリソースの削減のためである。
【００５０】
そして、レイアウト合成処理を実行したあと、描画オブジェクトが通知されたか否かが判定され（ステップＳ１３２）、通知があれば（ステップＳ１３２でＹＥＳ）、ステップＳ１０６に戻る一方、通知がなければ（ステップＳ１３２でＮＯ）、取得した出力バッファに空きがあるか否かを判定し（ステップＳ１３４）、空きがあるときには（ステップＳ１３４でＹＥＳ）、再びステップＳ１３０に戻ってパス管理処理部７１３に次の展開画像データを要求し、該要求に対する展開画像データを取得する。一方、確保した出力バッファに空きがなかったときには（ステップＳ１３４でＮＯ）、ステップＳ１０４に戻る。
【００５１】
一方、ステップＳ１２４において、状態が「先行展開中」でなければ（ステップＳ１２４でＮＯ）、状態を「印刷展開中」に設定し（ステップＳ１３６）、以下、印刷中展開処理が実行される。すなわち、まず、出力すべきレイアウト合成データがあるか否かが判定される（ステップＳ１３８）。なお、ここでは、印刷データ生成処理部７１２の印刷準備が完了しており、レイアウト合成データが出力可能になっているものとする。
【００５２】
そして、出力すべきレイアウト合成データがあれば（ステップＳ１３８でＹＥＳ）、印刷データ生成処理部７１２にレイアウト合成データを出力して（ステップＳ１４０）、ステップＳ１４２に進む一方、出力すべきレイアウト合成データがなければ（ステップＳ１３８でＮＯ）、直接ステップＳ１４２に進み、パス管理処理部７１３から展開画像データを取得する。続いて、取得した展開画像データ分の出力バッファを取得し（ステップＳ１４４）、ハードウェアコピー装置８４を使用してレイアウト合成処理を実行し、結果を出力バッファに保存する（ステップＳ１４６）。次いで、印刷データ生成処理部７１２へレイアウト合成データを出力し（ステップＳ１４８）、その後、今回のＪＰＥＧ画像データにつき予め定められた全ラインの出力が終了したか否かが判定される（ステップＳ１５０）。そして、まだ全ラインの出力が終了していないときには（ステップＳ１５０でＮＯ）、再びステップＳ１４２に戻ってパス管理処理部７１３に次の展開画像データを要求し、該要求に対する展開画像データを取得する。一方、ステップＳ１５０で全ラインの出力が終了していたときには（ステップＳ１５０でＹＥＳ）、パス管理処理部７１３へ展開終了を通知し（ステップＳ１５２）、ステップＳ１０２に戻る。
【００５３】
図１１はパス管理処理の一例を示すフローチャートである。パス管理処理部７１３は、レイアウト合成処理部７１１から展開開始の指令を受けたことを契機として、パス管理処理を開始する。このルーチンが開始されると、パス管理処理部７１３は、まず、ＪＰＥＧ画像展開処理部７１４に対してＪＰＥＧ画像データにＪＰＥＧ処理を施すのに必要なＪＰＥＧ処理条件を設定する（ステップＳ２０２）。このＪＰＥＧ処理条件は、レイアウト合成処理部７１１からパス管理処理部７１３に渡された画像展開条件の一部をなすものであり、例えばファイル名やクリップ条件などが含まれる。続いて、パス管理処理部７１３は、リサイズ処理部７１５に対してＲＧＢデータを指定されたサイズへ変換するためのリサイズ処理条件を設定する（ステップＳ２０４）。このリサイズ処理条件も、レイアウト合成処理部７１１からパス管理処理部７１３に渡された画像展開条件の一部をなすものであり、例えばファイルの入力サイズや出力サイズなどが含まれる。
【００５４】
続いて、画質補正は必要か否かを判定する（ステップＳ２０６）。画質補正が必要か否かの判定は、レイアウト合成処理部７１１からパス管理処理部７１３に渡された画像展開条件に画質補正の有無が含まれているため、それに基づいて判定する。そして、ステップＳ２０６で画質補正が不要（つまり画質補正なし）だったときには、パスの順序を１番目がＪＰＥＧ画像展開処理部７１４、２番目がリサイズ処理部７１５とし、両処理部７１４，７１５へ展開開始を指令する（ステップＳ２０８）。一方、ステップＳ２０６で画質補正が必要（つまり画質補正あり）だったときには、画質補正処理部７１６に対してＲＧＢデータの画質を補正するための画質補正処理条件を設定する（ステップＳ２１０）。画質補正処理条件は、レイアウト合成処理部７１１からパス管理処理部７１３に渡された画像展開条件の一部をなすものであり、例えばコントラストや明るさ、彩度などに関するパラメータが含まれる。
【００５５】
続いて、リサイズ処理条件が縮小か拡大（等倍を含む）かを判定し（ステップＳ２１２）、リサイズ処理条件が縮小だったときには、パスの順序を１番目がＪＰＥＧ画像展開処理部７１４、２番目がリサイズ処理部７１５、３番目が画質補正処理部７１６としたうえで各処理部７１４，７１５，７１６へ展開開始を指令し（ステップＳ２１４）、リサイズ処理条件が拡大だったときには、パスの順序を１番目がＪＰＥＧ画像展開処理部７１４、２番目が画質補正処理部７１６、３番目がリサイズ処理部７１５としたうえで各処理部７１４，７１５，７１６へ展開開始を指令する（ステップＳ２１６）。
【００５６】
そして、ステップＳ２０８，Ｓ２１４，Ｓ２１６のあと、パス管理処理部７１３は、いずれかの処理部からデータが要求されると、その要求元の処理部の一つ前の処理を行う処理部へデータを要求し、その処理部からその処理部が生成したデータの格納領域の先頭アドレスを示すポインタ及びデータのライン数を入力する（ステップＳ２１８）。その後、レイアウト合成処理部７１１から展開終了の通知があったか否かを判定し（ステップＳ２２０）、展開終了の通知がないときには再びステップＳ２１８に戻る。一方、展開終了の通知があったときには、本ルーチンを終了する。
【００５７】
図１２はＪＰＥＧ画像展開処理の一例を示すフローチャートである。ＪＰＥＧ画像展開処理部７１４は、パス管理処理部７１３から展開開始の指令を受けたことを契機として、ＪＰＥＧ画像展開処理を開始する。このルーチンが開始されると、ＪＰＥＧ画像展開処理部７１４は、まず、共有メモリ管理処理部７１７を介してＲＡＭ７３にハードウェアＪＰＥＧ展開装置８１用の出力バッファを確保し（ステップＳ３０２）、確保した出力バッファのサイズに応じて処理すべきＪＰＥＧ画像データのライン数を決定する（ステップＳ３０４）。続いて、ＪＰＥＧ画像データのうち決定したライン数分をＩ／Ｆ７５を介して読み込み、ＪＰＥＧ展開装置８１を制御してＲＧＢデータへ展開し、ＪＰＥＧ処理条件に基づいて間引きや切り出し、回転処理を実行したあと、そのＪＰＥＧ処理後のＲＧＢデータを出力バッファに格納する（ステップＳ３０６）。その後、パス管理処理部７１３からデータの要求が来ているか否かを判定し（ステップＳ３０８）、要求が来ていなかったときには再びステップＳ３０８に戻る。一方、データの要求が来ていたときには、出力バッファに格納したＪＰＥＧ処理後のＲＧＢデータの先頭アドレスを示すポインタ及びそのデータのライン数をパス管理処理部７１３へ通知する（ステップＳ３１０）。その後、ＪＰＥＧ画像データの全ラインの処理を終了したか否かを判定し（ステップＳ３１２）、まだ終了していないときには再びステップＳ３０２に戻る。一方、ＪＰＥＧ画像データの全ラインの処理を終了したときには、本ルーチンを終了する。
【００５８】
図１３はリサイズ処理の一例を示すフローチャートである。リサイズ処理部７１５は、パス管理処理部７１３から展開開始の指令を受けたことを契機として、リサイズ処理を開始する。このルーチンが開始されると、リサイズ処理部７１５は、まず、共有メモリ管理処理部７１７を介してＲＡＭ７３にハードウェアリサイズ装置８２用の入出力バッファを確保し（ステップＳ４０２）、ハードウェアリサイズ装置８２の初期設定を行う（ステップＳ４０４）。ここで、初期設定とは、リサイズ処理の対象となるデータのサイズつまり入力サイズと、リサイズ処理後のデータのサイズつまり出力サイズなどを設定することをいう。なお、入出力バッファは、入力サイズおよび出力サイズに応じたサイズが確保される。続いて、リサイズ処理部７１５は、パス管理処理部７１３へリサイズ処理の対象となるデータを要求する（ステップＳ４０６）。ここで、リサイズ処理の対象となるデータとは、リサイズ処理の一つ前に処理を行う処理部が生成したデータをいい、パス管理処理部７１３によってＪＰＥＧ処理後のＲＧＢデータか画質補正処理後のＲＧＢデータのいずれかに決定される。
【００５９】
その後、リサイズ処理部７１５は、パス管理処理部７１３からリサイズ処理の対象となるデータのポインタおよびデータのライン数が通知されたか否かを判定し（ステップＳ４０８）、通知されていないときには再びステップＳ４０８に戻る。一方、ポインタおよびデータのライン数が通知されたときには、入力バッファにリサイズ処理の対象となるデータをコピーし（ステップＳ４１０）、その後、コピー元のバッファを解放する（ステップＳ４１２）。続いて、入力バッファにコピーしたリサイズ処理の対象となるデータをハードウェアリサイズ装置８２を制御して拡大または縮小することによりリサイズ処理後のＲＧＢデータとし、そのリサイズ処理後のＲＧＢデータを出力バッファに格納する（ステップＳ４１４）。
【００６０】
続いて、出力バッファがリサイズ処理後のＲＧＢデータで詰まったか否かを判定し（ステップＳ４１６）、詰まっていないときにはまだパス管理処理部７１３へ出力できない状態のため、再びステップＳ４０６に戻る。一方、出力バッファがリサイズ処理後のＲＧＢデータで詰まっていたとき、つまり出力可能なときには、次回のリサイズ処理に備えて、共有メモリ管理処理部７１７を介してＲＡＭ７３にハードウェアリサイズ装置８２用の出力バッファを確保する（ステップＳ４１８）。なお、入力バッファは上書きして使用するため、ここで確保する必要はない。続いて、パス管理処理部７１３からリサイズ処理後のＲＧＢデータの要求が来ているか否かを判定する（ステップＳ４２０）。そして、データの要求が来ていなかったときには、再びステップＳ４２０に戻る。一方、データの要求が来ていたときには、リサイズ処理後のＲＧＢデータの先頭アドレスを示すポインタおよびそのデータのライン数をパス管理処理部７１３へ通知する（ステップＳ４２２）。その後、全ラインの処理を終了したか否かを判定し（ステップＳ４２４）、まだ終了していないときには再びステップＳ４０６に戻る。一方、全ラインの処理を終了したときには、本ルーチンを終了する。
【００６１】
図１４は画質補正処理の一例を示すフローチャートである。画質補正処理部７１６は、パス管理処理部７１３から展開開始の指令を受けたことを契機として、画質補正処理を開始する。このルーチンが開始されると、画質補正処理部７１６は、まず、共有メモリ管理処理部７１７を介してＲＡＭ７３にハードウェア画質補正装置８３用の出力バッファを確保し（ステップＳ５０２）、パス管理処理部７１３へ画質補正処理の対象となるデータを要求する（ステップＳ５０４）。ここで、画質補正処理の対象となるデータとは、画質補正処理の一つ前に処理を行う処理部が生成したデータをいい、パス管理処理部７１３によってＪＰＥＧ処理後のＲＧＢデータかリサイズ処理後のＲＧＢデータのいずれかに決定される。その後、画質補正処理部７１６は、パス管理処理部７１３から画質補正処理の対象となるデータのポインタおよびデータのライン数が通知されたか否かを判定し（ステップＳ５０６）、通知されていないときには再びステップＳ５０４に戻る。一方、ポインタおよびデータのライン数が通知されたときには、そのポインタおよびデータのライン数に基づいてＲＡＭ７３から画質補正処理の対象となるデータを読み出し、ハードウェア画質補正装置８３を制御して画質補正パラメータにしたがって画質補正処理を実行することにより画質補正処理後のＲＧＢデータとし、その画質補正処理後のＲＧＢデータを出力バッファに格納する（ステップＳ５０８）。
【００６２】
その後、画質補正処理部７１６は、今回使用した画質補正処理の対象となるデータが格納されていた出力バッファを解放し（ステップＳ５１０）、パス管理処理部７１３から画質補正処理後のＲＧＢデータの要求が来ているか否かを判定する（ステップＳ５１２）。そして、データの要求が来ていなかったときには、出力バッファにまだ空きがあるか否かを判定し（ステップＳ５１４）、まだ空きがあるときには再びステップＳ５０４に戻る。一方、出力バッファに空きがなかったときには、再びステップＳ５１２に戻り、データの要求が来るまで待機する。そして、ステップＳ５１２でデータの要求が来たときには、出力バッファに格納した画質補正処理後のＲＧＢデータの先頭アドレスを示すポインタおよびそのデータのライン数をパス管理処理部７１３へ通知する（ステップＳ５１６）。その後、全ラインの処理を終了したか否かを判定し（ステップＳ５１８）、まだ終了していないときには再びステップＳ５０４に戻る。一方、全ラインの処理を終了したときには、本ルーチンを終了する。
【００６３】
このように、この実施形態では、先行展開受付処理部７０５が本発明の「先行展開受付手段」に相当し、レイアウト合成処理部７１１、パス管理処理部７１３、ＪＰＥＧ画像展開処理部７１４、リサイズ処理部７１５、画質補正処理部７１６、共有メモリ管理処理部７１７およびハードウェア装置群８０の各装置８１〜８４が本発明の「展開画像生成手段」に相当し、描画オブジェクト生成処理部７１０が本発明の「描画オブジェクト生成手段」に相当し、印刷データ生成処理部７１２が本発明の「印刷データ生成手段」に相当し、ＲＡＭ７３が本発明の「記憶部」に相当する。
【００６４】
以上説明したように、この実施形態によれば、ＯＫボタン２４ｊなどのボタン群２４の操作により印刷すべき写真画像が選択されると、その選択画像とその時点の印刷条件とに基づき先行展開受付処理部７０５により描画オブジェクトを生成し、その描画オブジェクトを含む画像展開条件をレイアウト合成処理部７１１に通知（送出）し、レイアウト合成処理部７１１およびパス管理処理部などにより画像展開を先行して実行し、取得した展開データに基づきレイアウト合成処理を行って合成データをＲＡＭ７３内の出力バッファに保存するようにしているため、印刷ボタン２４ｄの操作を待ってＪＰＥＧ画像データから展開画像データの生成を開始する場合に比べて、印刷動作開始までの待ち時間を可能な限り短縮することができる。
【００６５】
また、この実施形態によれば、先行展開受付処理部７０５は、先行展開中に別の写真画像が選択されると、印刷順序を判定し、先の選択画像より後の選択画像の方が先に印刷される場合には、後の選択画像について新たに描画オブジェクトを生成し、描画オブジェクトを含む画像展開条件をレイアウト合成部７１１に通知し、レイアウト合成部７１１は通知された画像展開条件に基づき展開画像データを生成するようにしているため、印刷順序が早い画像についての展開画像データを確実に生成できることから、印刷動作開始までの待ち時間を確実に短縮することができる。
【００６６】
また、この実施形態によれば、レイアウト合成部７１１は、先行展開中に描画オブジェクト生成部７１０から画像展開条件が入力されると、先行展開中の画像展開条件と同じか否かを判定し、同じでなければパス管理処理部７１３に指令して画像展開を終了させ、改めてパス管理処理部７１３に画像展開を開始させるようにしているため、印刷ボタン２４ｄが操作されたときの画像展開条件で展開画像データを確実に生成することができ、ユーザが所望する印刷を確実に行うことができる。
【００６７】
また、この実施形態によれば、レイアウト合成処理部７１１により生成したレイアウト合成画像データを印刷データ生成処理部７１２に送出するまで、ＲＡＭ７３内の出力バッファに保存しているため、先行して生成した展開画像データに基づくレイアウト合成画像データを確実に保存し、印刷ボタン２４ｄの操作後に印刷データ生成処理部７１２へのレイアウト合成画像データの送出を可能な限り早くすることができる。
【００６８】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば上記実施形態では、メモリカードＭに記憶されたＪＰＥＧ画像ファイルを利用するものとして説明したが、フォトプリンタ１０に接続された外部機器（例えばデジタルカメラや携帯電話、ＣＤ／ＤＶＤドライブ装置など）に記憶されたＪＰＥＧ画像ファイルを利用するものとしてもよいし、フォトプリンタ１０にネットワーク経由で配信されてきたＪＰＥＧ画像ファイルを保存し、それを利用するものとしてもよい。これらの場合には、ＪＰＥＧ画像ファイルを保存する媒体が本発明の「画像記憶手段」に相当する。
【００６９】
また、例えばレイアウト合成処理の手順は、上記図９、図１０に示したものに限られない。図１５、図１６はレイアウト合成処理の別の例を示すフローチャートである。このルーチンでは、まず、先行展開受付処理部７０５または描画オブジェクト生成処理部７１０からの描画オブジェクト（つまり画像展開条件）の通知を待機しており（ステップＳ６０２でＮＯ）、レイアウト合成処理部７１１は、先行展開受付処理部７０５または描画オブジェクト生成処理部７１０から画像展開条件の通知があったことを契機として、ステップを進める。
【００７０】
そして、描画オブジェクトが通知されると（ステップＳ６０２でＹＥＳ）、通知された描画オブジェクトが先行展開受付処理部７０５からのものであるか否かが判定される（ステップＳ６０４）。そして、先行展開受付処理部７０５からの通知であれば（ステップＳ６０４でＹＥＳ）、通知された画像展開条件のうちＪＰＥＧ画像データから展開画像データを生成するのに必要な条件を設定し、その設定した展開条件をパス管理処理部７１３へ通知して（ステップＳ６０６）、ステップＳ６０８に進む。一方、ステップＳ６０２で通知された描画オブジェクトが描画オブジェクト生成処理部７１０からのものであれば（ステップＳ６０４でＮＯ）、後述するステップＳ６３０に進む。
【００７１】
ステップＳ６０８では、先行展開受付処理部７０５または描画オブジェクト生成処理部７１０からの描画オブジェクトの通知があったか否かを再び判定し（ステップＳ６０８）、通知があれば（ステップＳ６０８でＹＥＳ）、ステップＳ６２０に進み、描画オブジェクトの通知がなければ（ステップＳ６０８でＮＯ）、取得可能な最大分の出力バッファが、ＲＡＭ７３内にレイアウト用メモリとして取得される（ステップＳ６１０）。この変形形態でも上記実施形態と同様に、取得可能な最大分は、予めリソースとして割り当てられている値とする。
【００７２】
続いて、パス管理処理部７１３から展開画像データを取得し、取得した展開画像データに基づいてハードウェアコピー装置８４を使用してレイアウト合成処理を実行し、結果を出力バッファに保存する（ステップＳ６１２）。ここで、上記実施形態で説明したように、パス管理処理部７１３は、レイアウト合成処理部７１１から展開開始の指令を受けたあと、ＪＰＥＧ画像展開処理部７１４やリサイズ処理部７１５、画質補正処理部７１６のパスを管理しながら各処理部７１４，７１５，７１６に処理を実行させることによりＪＰＥＧ画像データから展開画像データを生成させ、その展開画像データをレイアウト合成処理部７１１へ渡す。
【００７３】
そして、レイアウト合成処理を実行したあと、描画オブジェクトが通知されたか否かが再び判定され（ステップＳ６１４）、通知があれば（ステップＳ６１４でＹＥＳ）、ステップＳ６２０に進む一方、通知がなければ（ステップＳ６１４でＮＯ）、取得した出力バッファが満杯か否かを判定し（ステップＳ６１６）、空きがあるときには（ステップＳ６１６でＮＯ）、ステップＳ６１２に戻ってパス管理処理部７１３に次の展開画像データを要求し、該要求に対する展開画像データを取得する。一方、確保した出力バッファが満杯のときには（ステップＳ６１６でＹＥＳ）、描画オブジェクトの通知を待機する（ステップＳ６１８でＮＯ）。
【００７４】
そして、描画オブジェクトが通知されると（ステップＳ６１８でＹＥＳ）、ステップＳ６２０に進んで、通知された描画オブジェクトが先行展開受付処理部７０５からのものであるか否かが判定され、先行展開受付処理部７０５からの通知であれば（ステップＳ６２０でＹＥＳ）、後の選択写真が先の選択写真より先に印刷されることを意味しており。新たに先行展開を開始する必要があるため、パス管理処理部７１３に現在の先行展開を終了するように通知し（ステップＳ６２２）、取得した出力バッファを解放して（ステップＳ６２４）、ステップＳ６０６に戻る。
【００７５】
一方、ステップＳ６０８，Ｓ６１４，Ｓ６１８で通知された描画オブジェクトが描画オブジェクト生成処理部７１０からのものであれば（ステップＳ６２０でＮＯ）、その通知された描画オブジェクトが先行展開をしたものと同じオブジェクトか否かが判別される（ステップＳ６２６）。そして、同じであれば（ステップＳ６２６でＹＥＳ）、先行展開したデータが利用できるため、直接ステップＳ６３２に進む一方、異なるオブジェクトであれば（ステップＳ６２６でＮＯ）、先行展開したデータが利用できないため、パス管理処理部７１３に現在の先行展開を終了するように通知して（ステップＳ６２８）、ステップＳ６３０に進む。ステップＳ６３０では、通知された画像展開条件のうちＪＰＥＧ画像データから展開画像データを生成するのに必要な条件を設定し、その設定した展開条件をパス管理処理部７１３へ通知した後、ステップＳ６３２に進む。
【００７６】
次いで、ステップＳ６３２において、出力すべきレイアウト合成データがあるか否かが判定される。なお、ここでは、上記実施形態と同様に、印刷データ生成処理部７１２の印刷準備が完了しており、レイアウト合成データが出力可能になっているものとする。そして、出力すべきレイアウト合成データがあれば（ステップＳ６３２でＹＥＳ）、印刷データ生成処理部７１２にレイアウト合成データを出力して（ステップＳ６３４）、ステップＳ６４４に進む一方、出力すべきレイアウト合成データがなければ（ステップＳ６３２でＮＯ）、パス管理処理部７１３から展開画像データを取得する（ステップＳ６３６）。続いて、取得した展開画像データ分の出力バッファを取得し（ステップＳ６３８）、ハードウェアコピー装置８４を使用してレイアウト合成処理を実行し、結果を出力バッファに保存する（ステップＳ６４０）。次いで、印刷データ生成処理部７１２へレイアウト合成データを出力し（ステップＳ６４２）、ステップＳ６４４に進む。
【００７７】
ステップＳ６４４では、今回のＪＰＥＧ画像データにつき予め定められた全ラインの出力が終了したか否かが判定される（ステップＳ６４４）。そして、まだ全ラインの出力が終了していないときには（ステップＳ６４４でＮＯ）、ステップＳ６３６に戻ってパス管理処理部７１３に次の展開画像データを要求し、該要求に対する展開画像データを取得する。一方、全ラインの出力が終了していたときは（ステップＳ６４４でＹＥＳ）、パス管理処理部７１３へ展開終了を通知し（ステップＳ６４６）、ステップＳ６０２に戻る。以上のように、図１５、図１６に示す手順でも、レイアウト合成処理を好適に行うことができる。
【００７８】
また、上述した実施形態では、印刷処理装置としてインクジェット方式のフォトプリンタ１０を例示したが、インクジェット方式の印刷機構のほかにスキャナなどを備えたマルチファンクションプリンタやＦａｘなどに本発明を適用してもよい。
【図面の簡単な説明】
【００７９】
【図１】本発明の一実施形態であるフォトプリンタを示す斜視図。
【図２】フォトプリンタの電気的構成の概略を示すブロック図。
【図３】コントローラのＣＰＵの機能ブロックを示すブロック図。
【図４】コントローラのＣＰＵの機能ブロックを示すブロック図。
【図５】メモリカードの記憶内容の一例を示す図。
【図６】表示部の表示画面の一例を示す図。
【図７】このフォトプリンタの使用手順の一例を示すフローチャート。
【図８】先行展開受付処理の一例を示すフローチャート。
【図９】レイアウト合成処理の一例を示すフローチャート。
【図１０】レイアウト合成処理の一例を示すフローチャート。
【図１１】パス管理処理の一例を示すフローチャート。
【図１２】ＪＰＥＧ画像展開処理の一例を示すフローチャート。
【図１３】リサイズ処理の一例を示すフローチャート。
【図１４】画質補正処理の一例を示すフローチャート。
【図１５】レイアウト合成処理の別の例を示すフローチャート。
【図１６】レイアウト合成処理の別の例を示すフローチャート。
【符号の説明】
【００８０】
２４…ボタン群（選択手段、設定手段）、２４ｄ…印刷ボタン（指示手段）、２４ｊ…ＯＫボタン（選択手段）、７０…コントローラ、７１…ＣＰＵ、７２…ＲＯＭ、７３…ＲＡＭ（記憶部）、７５…インタフェース、８０…ハードウェア装置群、８１…ハードウェアＪＰＥＧ展開装置（展開画像生成手段）、８２…ハードウェアリサイズ装置（展開画像生成手段）、８３…ハードウェア画質補正装置（展開画像生成手段）、８４…ハードウェアコピー装置（展開画像生成手段）、７０５…先行展開受付処理部（先行展開受付手段）、７１０…描画オブジェクト生成処理部（描画オブジェクト生成手段）、７１１…レイアウト合成処理部（展開画像生成手段）、７１２…印刷データ生成処理部（印刷データ生成手段）、７１３…パス管理処理部（展開画像生成手段）、７１４…ＪＰＥＧ画像展開処理部（展開画像生成手段）、７１５…リサイズ処理部（展開画像生成手段）、７１６…画質補正処理部（展開画像生成手段）、７１７…共有メモリ管理処理部（展開画像生成手段）、Ｍ…メモリカード（画像記憶手段）
【図１】
2008265305.tif 000003
【図２】
2008265305.tif 000004
【図３】
2008265305.tif 000005
【図４】
2008265305.tif 000006
【図５】
2008265305.tif 000007
【図６】
2008265305.tif 000008
【図７】
2008265305.tif 000009
【図８】
2008265305.tif 000010
【図９】
2008265305.tif 000011
【図１０】
2008265305.tif 000012
【図１１】
2008265305.tif 000013
【図１２】
2008265305.tif 000014
【図１３】
2008265305.tif 000015
【図１４】
2008265305.tif 000016
【図１５】
2008265305.tif 000017
【図１６】
2008265305.tif 000018