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