(57)【要約】【課題】パノラマ画像をトリミングして印刷する際の処理の高速化を図る。【解決手段】パノラマ画像をトリミングして印刷する場合には、代表画像としての縮小パノラマ画像に対してトリミング範囲の指定を受け付け（Ｓ１００〜Ｓ１４０）、パノラマ画像を構成する代表画像以外の部分画像（個別画像）のうち指定されたトリミング範囲内のみデコードし、デコードして得られたトリミング後部分画像をパノラマ合成してパノラマ画像を作成し（Ｓ１５０〜Ｓ１８０）、作成したパノラマ画像が印刷されるよう印刷処理する（Ｓ１９０〜Ｓ２２０）。これにより、パノラマ画像を構成する各部分画像の全部をデコードしてからパノラマ合成するものに比して、処理負担を大幅に低減することができる。この結果、印刷処理の高速化を図ることができる。【選択図】図４
2010118826.tif 000002
【特許請求の範囲】
【請求項１】
所定のフォーマットで各々圧縮されてなる複数の画像を処理する画像処理装置であって、
前記複数の画像間に跨って使用範囲を指定可能な使用範囲指定手段と、
前記使用範囲が指定された場合、前記使用範囲外を除く前記指定された使用範囲内の部分画像を展開すると共に該展開した部分画像をパノラマ合成してパノラマ画像を生成する画像処理手段と、
を備える画像処理装置。
【請求項２】
前記複数の画像をパノラマ合成して縮小されてなる画像に相当する予め作成された縮小パノラマ画像を用いて前記複数の画像を処理する請求項１記載の画像処理装置であって、
前記使用範囲指定手段は、前記縮小パノラマ画像の任意の範囲を使用範囲として指定する手段であり、
前記画像処理手段は、前記縮小パノラマ画像に対して前記使用範囲が指定された場合、該指定された使用範囲と前記縮小パノラマ画像の縮小率とに基づいて対応する前記複数の画像の使用範囲を設定し、前記使用範囲外を除く前記設定した使用範囲内の部分画像を展開すると共に該展開した部分画像をパノラマ合成してパノラマ画像を生成する手段である
画像処理装置。
【請求項３】
請求項１記載の画像処理装置であって、
前記使用範囲指定手段は、前記複数の画像をパノラマ画像としたときに中央部分となる範囲を前記使用範囲として指定する手段であり、
前記画像展開手段は、前記複数の画像から前記使用範囲外を除く前記指定された使用範囲内の部分画像を展開し、該展開した使用範囲内の画像をサンプリングし、サンプリングデータに基づいて補正量を設定し、前記複数の画像の全範囲を展開し、該展開した複数の画像をパノラマ合成してパノラマ画像を生成すると共に前記設定された補正量をもって画像補正を施す手段である
画像処理装置。
【請求項４】
前記生成されたパノラマ画像を印刷処理する印刷処理手段を備える請求項１ないし３いずれか１項に記載の画像処理装置。
【請求項５】
前記所定のフォーマットは、ＪＰＥＧである請求項１ないし４いずれか１項に記載の画像処理装置。
【請求項６】
コンピュータを請求項１ないし５いずれか１項に記載の画像処理装置として機能させるためのプログラム。
【請求項７】
所定のフォーマットで各々圧縮されてなる複数の画像を処理するコンピュータソフトウェアによる画像処理方法であって、
（ａ）前記複数の画像間に跨って使用範囲を指定し、
（ｂ）前記使用範囲が指定された場合、前記使用範囲外を除く前記指定された使用範囲内の部分画像を展開すると共に該展開した部分画像をパノラマ合成してパノラマ画像を生成する
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置およびプログラム並びに画像処理方法に関し、所定のフォーマットで各々圧縮されてなる複数の画像を処理する画像処理装置およびコンピュータを画像処理装置として機能させるためのプログラム並びに画像処理方法に関する。
【背景技術】
【０００２】
従来、この種の画像処理装置としては、複数の画像データを合成して合成画像を生成するものが提案されている（例えば、特許文献１，２参照）。合成画像としては、テキストの余白に画像を貼り付けたりし、異なる複数の画像を連結するものの他、連続した複数枚の画像を連結して一つの画像とするパノラマ画像などがある。
【特許文献１】特開平８−２８９１３２号公報
【特許文献２】特開２００１−３２６８４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、画像データはそのデータ量を小さくするために通常ＪＰＥＧなどにより圧縮されているから、画像データを処理（印刷や編集）するためには圧縮されている画像データを展開（デコード）する必要がある。一方、パノラマ画像などのように連続した複数枚の原画像を結合して一つの画像を生成する際には、圧縮されている複数枚の原画像をすべて展開し、展開した複数枚の原画像をパノラマ合成することを考えることができるが、展開処理は処理負担が比較的大きいため、複数枚の原画像のうち一部の範囲のみを切り出すと共にパノラマ合成して使用する場合には、実際に使用する画像のサイズに対して合成処理に多くの時間を要してしまう。
【０００４】
本発明の画像処理装置およびプログラム並びに画像処理方法は、複数の画像をパノラマ合成してパノラマ画像を生成する際のパノラマ合成処理をより高速化することを主目的とする。
【課題を解決するための手段】
【０００５】
本発明の画像処理装置およびプログラム並びに画像処理方法は、上述の主目的を達成するために以下の手段を採った。
【０００６】
本発明の画像処理装置は、
所定のフォーマットで各々圧縮されてなる複数の画像を処理する画像処理装置であって、
前記複数の画像間に跨って使用範囲を指定可能な使用範囲指定手段と、
前記使用範囲が指定された場合、前記使用範囲外を除く前記指定された使用範囲内の部分画像を展開すると共に該展開した部分画像をパノラマ合成してパノラマ画像を生成する画像処理手段と、
を備えることを要旨とする。
【０００７】
この本発明の画像処理装置では、所定のフォーマットで各々圧縮されてなる複数の画像間に跨って使用範囲を指定し、使用範囲が指定された場合、使用範囲外を除く指定された使用範囲内の部分画像を展開すると共に展開した部分画像をパノラマ合成してパノラマ画像を生成する。これにより、複数の画像の全範囲を展開しパノラマ合成してから使用範囲内のパノラマ画像をトリミングにより生成するものに比して、処理負担を小さくすることができるから、画像のパノラマ合成処理をより高速化することができる。ここで、「所定のフォーマット」はＪＰＥＧなどを挙げることができる。
【０００８】
予め作成された縮小パノラマ画像を用いて複数の画像を処理する態様の本発明の画像処理装置において、前記使用範囲指定手段は、前記縮小パノラマ画像の任意の範囲を使用範囲として指定する手段であり、前記画像処理手段は、前記縮小パノラマ画像に対して前記使用範囲が指定された場合、該指定された使用範囲と前記縮小パノラマ画像の縮小率とに基づいて対応する前記複数の画像の使用範囲を設定し、前記使用範囲外を除く前記設定した使用範囲内の部分画像を展開すると共に該展開した部分画像をパノラマ合成してパノラマ画像を生成する手段であるものとすることもできる。こうすれば、予め作成された縮小パノラマ画像を用いて複数の画像から指定された使用範囲内のパノラマ画像をより迅速に生成することができる。
【０００９】
また、本発明の画像処理装置において、前記使用範囲指定手段は、前記複数の画像をパノラマ画像としたときに中央部分となる範囲を前記使用範囲として指定する手段であり、前記画像展開手段は、前記複数の画像から前記使用範囲外を除く前記指定された使用範囲内の部分画像を展開し、該展開した使用範囲内の画像をサンプリングし、サンプリングデータに基づいて補正量を設定し、前記複数の画像の全範囲を展開し、該展開した複数の画像をパノラマ合成してパノラマ画像を生成すると共に前記設定された補正量をもって画像補正を施す手段であるものとすることもできる。こうすれば、合成画像に対する画像補正をより適正かつ迅速に行なうことができる。
【００１０】
さらに、本発明の画像処理装置において、前記生成されたパノラマ画像を印刷処理する印刷処理手段を備えるものとすることもできる。
【００１１】
本発明のプログラムは、コンピュータを、上述した各態様のいずれかの本発明の画像処理装置、即ち、基本的には、所定のフォーマットで各々圧縮されてなる複数の画像を処理する画像処理装置であって、前記複数の画像間に跨って使用範囲を指定する使用範囲指定手段と、前記使用範囲が指定された場合、前記使用範囲外を除く前記指定された使用範囲内の部分画像を展開すると共に該展開した部分画像をパノラマ合成してパノラマ画像を生成する画像処理手段と、を備える画像処理装置として機能させることを要旨とする。
【００１２】
この本発明のプログラムでは、コンピュータを本発明の画像処理装置として機能させるから、本発明の画像処理装置が奏する効果、例えば、画像のパノラマ合成処理をより高速化することができる効果などを奏することができる。ここで、プログラムは、コンピュータが読み取り可能な記録媒体（例えばハードディスク、ＲＯＭ、ＦＤ、ＣＤ、ＤＶＤなど）に記録されていてもよいし、伝送媒体（インターネットやＬＡＮなどの通信網）を介してあるコンピュータから別のコンピュータへ配信されてもよいし、その他どのような形で授受されてもよい。
【００１３】
本発明の画像処理方法は、
所定のフォーマットで各々圧縮されてなる複数の画像を処理するコンピュータソフトウェアによる画像処理方法であって、
（ａ）前記複数の画像間に跨って使用範囲を指定し、
（ｂ）前記使用範囲が指定された場合、前記使用範囲外を除く前記指定された使用範囲内の部分画像を展開すると共に該展開した部分画像をパノラマ合成してパノラマ画像を生成する
ことを特徴とする。
【００１４】
この本発明の画像処理方法によれば、所定のフォーマットで各々圧縮されてなる複数の画像間に跨って使用範囲を指定し、使用範囲が指定された場合、使用範囲外を除く指定された使用範囲内の部分画像を展開すると共に展開した部分画像をパノラマ合成してパノラマ画像を生成する。これにより、複数の画像の全範囲を展開しパノラマ合成してから使用範囲内のパノラマ画像をトリミングにより生成するものに比して、処理負担を小さくすることができるから、画像のパノラマ合成処理をより高速化することができる。
【発明を実施するための最良の形態】
【００１５】
次に、本発明の実施の形態を図面に基づいて説明する。図１はマルチファンクションプリンタ１０の構成の概略を示す構成図であり、図２はマルチファンクションプリンタ１０のブロック図である。
【００１６】
本実施形態のマルチファンクションプリンタ１０は、図示するように、印刷ジョブに基づいて用紙Ｓへの印刷を実行するプリンタユニット２０と、ガラス台３６に載置された原稿Ｐを読み取るフラットベット式のスキャナユニット３０と、メモリカードスロット４０に挿入されたメモリカード４２とのデータの入出力を司るメモリカードコントローラ４４と、各種情報を表示部５２に表示したりユーザの指示をボタン類５４の操作を介して入力したりする操作パネル５０と、装置全体の制御を司るメインコントローラ６０とを備える。このマルチファンクションプリンタ１０は、プリンタユニット２０やスキャナユニット３０，メモリカードコントローラ４４，メインコントローラ６０がバス１２を介して各種制御信号やデータのやり取りができるよう構成されている。
【００１７】
プリンタユニット２０は、プリンタＡＳＩＣ２２とプリンタエンジン２４とを備える。プリンタＡＳＩＣ２２は、プリンタエンジン２４を制御する集積回路であり、メインコントローラ６０から印刷指令を受けると、その印刷指令の対象となる画像ファイルに基づいて用紙Ｓに印刷するようプリンタエンジン２４を制御する。また、プリンタエンジン２４は、印刷ヘッドから用紙へインクを吐出することにより印刷を行う周知のインクジェット方式のカラープリンタ機構として構成されている。なお、ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【００１８】
スキャナユニット３０は、スキャナＡＳＩＣ３２とスキャナエンジン３４とを備える。スキャナＡＳＩＣ３２は、スキャナエンジン３４を制御する集積回路であり、メインコントローラ６０からのスキャン指令を受けると、ガラス台３６に載置された原稿Ｐを画像データとして読み取るようスキャナエンジン３４を制御する。また、スキャナエンジン３４は、周知のイメージスキャナとして構成され、原稿Ｐに向かって発光したあとの反射光をレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の各色に分解してスキャンデータとする周知のカラーイメージセンサを備えている。カラーイメージセンサとしては、本実施形態では、ＣＩＳ（Contact Image Sensor）方式のセンサを用いるものとした。
【００１９】
メモリカードコントローラ４４は、操作パネル５０の横に配置されたメモリカードスロット４０に挿入されたメモリカード４２との間でデータの入出力を行うものである。このメモリカードコントローラ４４は、メモリカードスロット４０にメモリカード４２が接続されているとき、メモリカード４２に保存されているファイルを読み出してメインコントローラ６０に送信したりメインコントローラ６０からの命令を入力し該命令に基づいてメモリカード４２にデータを書き込んだりする。
【００２０】
図２は、メモリカード４２に保存されているファイルのデータ構造の一例を示す説明図である。図示するように、メモリカード４２には複数のファイル４２ａ，４２ｂ，４２ｃ，・・・が保存されている。各ファイルには画像データとしてＪＰＥＧデータを格納する複数のデータ４２ａ１，４２ａ２，・・・４２ａｎ（ｎは画像数）が保存されている。各データは、データの先頭を示すマーカであるＳＯＩ（Start Of Image），画素数や撮影日時，絞り値，画像データサイズなどの画像に関する情報であるＥｘｉｆ付属情報と画像データ本体を所定サイズにリサイズしたサムネイル画像とを記録するマーカセグメントＡＰＰ１，各データの関連付けに関する規格であるサンプルフォーマットで規定されたサンプルフォーマット付属情報を記録するマーカセグメントＡＰＰ２（なお、本実施形態では、サンプルフォーマット付属情報を記録するマーカセグメントをＡＰＰ２としているが、任意のＡＰＰｎに記録してもよいことは勿論である。），ＪＰＥＧ形式の画像データ本体，データの終了を示すマーカであるＥＯＩ（End Of Image）とから構成されている。ここで、サンプルフォーマットとは、複数の個別画像を一体的に同一ファイルに記録してまとめて利用できるようにするためのデータ構造の規格であり、サンプルフォーマット（以下、ＳＰフォーマット）という名称は、その一例であり、これに限られるものではない。マーカセグメントＡＰＰ２は、ＳＰフォーマット付属情報におけるバイト順序を示すエンディアン情報やエンディアン情報を起点として先頭ＩＦＤ（Image File Directory）までの相対オフセットを示すオフセット値が記録されたＳＰヘッダと、ファイル４２ａに保存されている画像数を示す記録画像数Ｇｎや個別画像に対するデータ群などが記録されたＳＰエントリ，個別画像のＳＯＩまでのオフセット値などのファイル全体の構成情報が記録されたＳＰインデックスＩＦＤと、個別画像に付与された番号である画像番号（１〜ｎ）や各個別画像の配置情報などの個別情報が記録されたＳＰ個別情報ＩＦＤとからなる。これらはＳＰインデックスＩＦＤが先頭画像にのみ記録されている以外は先頭画像とこれに続く個別画像に同様に記録されている。また、図示は省略したが、各ＩＦＤには、次のＩＦＤまでのオフセット値（Offset of Next IFD）が記録されている。ＳＰインデックスＩＦＤのＳＰエントリには、代表画像フラグＦや種別コードが記録された個別画像種管理情報や個別画像のＳＯＩからＥＯＩまでのデータサイズを示す個別画像サイズなどが記録されている。代表画像フラグＦは、複数の個別画像のうち代表画像としてユーザに設定された１つの個別画像についてのみ値１が設定され、それ以外の個別画像については値０が設定されるものである。２つ以上の代表画像を選択することはできないが、選択しないものとすることはでき、その場合は個別画像の代表画像フラグＦは全て値０となる。種別コードには、モニタへ再生表示するためのモニタ表示用画像であるか複数の異なる視点から撮影されたマルチビュー個別画像であるかなどを記録しており、さらにモニタ表示用画像においては６４０×４８０画素を上限とするＶＧＡ相当での表示か１９２０×１０８０画素を上限とするＦＵＬＬ  ＨＤ相当での表示��を記録し、マルチビュー個別画像においては複数の個別画像をパノラマ合成する「パノラマ」か立体的に結合する「立体視」か様々な角度からの視点をもつ「マルチアングル」かを記録している。本実施例においては、種別コードとして「パノラマ」が記録されているものとし、ＳＰ個別情報ＩＦＤの配置情報は、パノラマに絞って説明する。なお、ファイル４２ａに含まれる画像は、先頭画像と複数の個別画像２，３，・・・ｎ（ｎは画像数）とからなるが、以下の説明では、先頭画像と複数の個別画像とを区別することなく部分画像と称する。ここで、記録画像数Ｇｎを値９としたときに、パノラマ合成する際の部分画像の配置例を図３に示す。図３では、１つのマス目が１つの部分画像を示し、マス目内の番号が各部分画像の配置順を示すと共に部分画像の画像番号を示し、矢印が画像を配置していく様子をイメージとして示している。図３（ａ）は、部分画像を水平方向の一方向に配置する例，図３（ｂ）〜（ｅ）は、いずれも部分画像を水平方向および垂直方向の二方向に配置する例を示す。図３（ｂ）〜（ｅ）は、その配置方法が異なっており、図３（ｂ）を時計回り、図３（ｃ）を反時計回り、図３（ｄ）をジグザグ列配置、図３（ｅ）をジグザグ行配置と称する。ＳＰ個別情報ＩＦＤの配置情報には、このような配置条件が記録されており、具体的には、部分画像を水平方向または垂直方向のいずれか一方向に配置するかあるいは水平方向および垂直方向の二方向に配置するかを記録する配置方向や一方向の配置であれば部分画像を左から右，右から左，上から下，下から上のいずれで配置するかまた二方向の配置であれば部分画像を時計回り，反時計回り，ジグザグ列配置，ジグザグ行配置のいずれで配置するかを記録する配置方法、最初の画像の配置位置が右上，左上，右下，左下のいずれであるかを記録する開始位置、二方向の配置であるときに垂直方向に配置される行数ａと水平方向に配置される列数ｂとを記録する行列数が記録されている。なお、ＳＰ個別情報ＩＦＤには、パノラマ合成する際に隣接する部分画像との重なり量を規定するオーバーラップ量なども記録されているが、その説明および図示は省略する。
【００２１】
画像データ本体は、本実施形態では、ＪＰＥＧ圧縮されたものを用いている。なお、ＪＰＥＧについては、周知の技術であるから詳細な説明は省略するが、画像をＮ×Ｎ（例えば、８×８）画素のブロックに分割し、ブロック単位で離散コサイン変換（ Discrete Cosine Transform）を用いて画像の色空間を周波数領域へ変換し、変換してデータを量子化テーブルを用いて量子化することにより情報量を落としてから、ハフマン符号によるエントロピー符号化がなされて圧縮が行われる。ＪＰＥＧ圧縮された画像の展開（デコード）は、上述した処理の逆の処理が行なわれる。
【００２２】
操作パネル５０は、表示部５２とボタン類５４とを備えている。表示部５２は、液晶ディスプレイであり、各種モードの選択や印刷の設定、印刷プレビュー画面などを表示する。ボタン類５４は、各種モードの選択や各種設定時などに操作される矢印キー５６や画像の印刷を実行するときに押下されるスタートボタン５８、電源のオンオフを行うときに操作される電源ボタンなどからなり、内部通信インタフェース６９を介してメインコントローラ６０にユーザの指示を入力できるようになっている。ここで、選択可能な各種モードとしては、メモリカード４２に保存された画像を選択してそれぞれ印刷する通常印刷モードや上述したファイル４２ａようなパノラマ用画像として関連付けてメモリカード４２に保存された複数の部分画像をパノラマ合成してパノラマ画像を印刷するパノラマ印刷モード、ガラス台３６に載置された書類を読み取って画像データとしてメモリカード４２に保存するスキャンモード、書類を読み取ってコピーするコピーモードなどがある。
【００２３】
メインコントローラ６０は、ＣＰＵ６２を中心とするマイクロプロセッサとして構成されており、各種処理プログラムや各種データ、各種テーブルなどを記憶したＲＯＭ６４と、一時的にスキャンデータや印刷用データなどを記憶するＲＡＭ６６と、電気的に書き換え可能で電源を切ってもデータは保持されるフラッシュメモリ６８と、操作パネル５０との通信を可能とする内部通信インタフェース６９とを備え、これらはバス１２を介して互いに信号のやり取りが可能なように接続されている。このメインコントローラ６０は、プリンタユニット２０やスキャナユニット３０，メモリカードコントローラ４４からの各種動作信号や各種検出信号を入力したり、操作パネル５０のボタン類５４の操作に応じて発生する操作信号を入力したりする。また、メモリカード４２から画像データを読み出してメインコントローラ６０へ出力する指令をメモリカードコントローラ４４に出力したり、画像の印刷を実行するようプリンタユニット２０に指令を出力したり、操作パネル５０のボタン類５４のスキャン指令に基づいてガラス台３６に載置された書類を読み取るようスキャナユニット３０に指令を出力したり、操作パネル５０に表示部５２の制御指令を出力したりする。
【００２４】
次に、こうして構成された本実施形態のマルチファンクションプリンタ１０の動作、特に、パノラマ画像を印刷する際の動作について説明する。図４は、メインコントローラ６０により実行されるパノラマ画像印刷処理ルーチンの一例を示すフローチャートである。この処理は、メモリカードスロット４０にメモリカード４２が挿入されてボタン類５４の操作により複数のファイル４２ａ，４２ｂ，４２ｃ，・・・のうちいずれかが選択されると共にパノラマ印刷モードにされたときに実行される。以下、ファイルに含まれる連続した複数の部分画像をパノラマ合成して印刷するパノラマ印刷について説明するが、その前提として、種別コードが「パノラマ」のときに代表画像として複数の部分画像がパノラマ合成されるパノラマ画像に対してサイズを縮小した（解像度が小さい）縮小パノラマ画像が登録されている場合を例にとって説明する。
【００２５】
パノラマ画像印刷処理ルーチンが実行されると、メインコントローラ６０のＣＰＵ６２は、まず、選択されたファイル中から部分画像のパノラマ合成処理や印刷処理に必要な情報、例えば、サンプルフォーマット付属情報に含まれる配置情報やオーバーラップ量、代表画像フラグＦなどを入力する（ステップＳ１００）。続いて、選択されたファイル中に含まれる各個別画像のうち代表画像フラグＦが値１の代表画像（縮小パノラマ画像）が存在するか否かを判定し（ステップＳ１１０）、縮小パノラマ画像がないときには、そのまま本ルーチンを終了し、縮小パノラマ画像があるときには、縮小パノラマ画像を読み込むと共に展開（デコード）し表示用データを作成して表示部５２に表示し（ステップＳ１２０）、縮小パノラマ画像に対してトリミングの指定を受け付ける（ステップＳ１３０）。図５に、トリミングモード用画面７０の一例を示す。トリミングモード用画面７０は、図示するように、トリミングの範囲（サイズ）を設定するサイズ設定枠７２と、トリミング対象となる画像（縮小パノラマ画像）７４とから構成されており、サイズ設定枠７２で設定されたサイズのトリミング枠７６（図中点線で表示）が画像７４上に描画されるようになっている。トリミング枠７６は、サイズとしてはボタン類５４の図示しないサイズ設定ボタンを押下することにより変更でき、位置としてはボタン類５４の上下左右の矢印キー５６により上下左右に移動できるようになっており、図示しないＯＫボタンを押下することによりトリミング範囲が設定される。なお、トリミング範囲の指定は、上記手法に限定されるものではなく、例えば、任意の２点を指定することにより指定された２点を対角線とする矩形のトリミング範囲を設定するものとしてもよい。
【００２６】
こうしてトリミング範囲が指定されると、指定されたトリミング範囲と縮小パノラマ画像の縮小率とに基づいて各部分画像が該当するトリミング範囲を設定する（ステップＳ１５０）。この処理は、具体的には、縮小パノラマ画像で指定されたトリミング範囲に対して縮小率の逆数を乗じることにより拡大して各部分画像の座標に対応させる処理となる。そして、ＪＰＥＧ圧縮されている各部分画像の圧縮単位であるブロックのうち設定されたトリミング範囲に含まれるブロックのみを展開（デコード）して（ステップＳ１６０）、トリミング後部分画像を作成し（ステップＳ１７０）、作成したトリミング後部分画像をパノラマ合成してパノラマ画像を作成する（ステップＳ１８０）。図６に、パノラマ画像でトリミングする様子を示す。図示するように、パノラマ画像をトリミングして印刷する場合には、代表画像としての縮小パノラマ画像に対してトリミング範囲を指定し（図６（ａ）参照）、パノラマ画像を構成する代表画像以外の部分画像（個別画像）のうち指定されたトリミング範囲内のみデコードし（図６（ｂ）参照）、デコードして得られたトリミング後部分画像をパノラマ合成することにより行なわれる（図６（ｃ）参照）。ＪＰＥＧ圧縮された画像データのデコードは処理負担が比較的大きなものとなるから、上記手法を用いることにより、パノラマ画像を構成する各部分画像の全部のブロックをデコードしてからパノラマ合成するものに比して、処理負担を大幅に低減することができる。
【００２７】
こうしてパノラマ画像を作成すると、作成したパノラマ画像をサンプリングすると共にサンプリングした画素のＲＧＢ値からＲＧＢヒストグラムや輝度ヒストグラムを求めて輝度や彩度，カラーバランス，コントラスト，シャープネスなどの各画質パラメータの特徴量を抽出し抽出した特徴量が好ましい画質の画像が有する画質パラメータの特徴量に近づくよう補正パラメータを設定して色補正処理を施し（ステップＳ１９０）色補正処理を施した後のパノラマ画像を表示部５２にプレビュー表示をして（ステップＳ２００）、ボタン類５４のうち印刷開始を指示するスタートボタン５８が押下されるのを待って（ステップＳ２１０）、印刷処理を実行して（ステップＳ２２０）、本ルーチンを終了する。
【００２８】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の操作パネル５０と図４のルーチンのステップＳ１００〜Ｓ１４０の処理を実行するメインコントローラ６０とが本発明の「使用範囲指定手段」に相当し、図４のルーチンのステップＳ１５０〜Ｓ２２０の処理を実行するメインコントローラ６０が「画像処理手段」に相当する。なお、本実施形態では、マルチファンクションプリンタ１０の動作を説明することにより本発明の画像処理方法やプログラムの一例も明らかにしている。
【００２９】
以上説明した本実施形態のマルチファンクションプリンタ１０によれば、パノラマ画像をトリミングして印刷する場合には、代表画像としての縮小パノラマ画像に対してトリミング範囲の指定を受け付け、パノラマ画像を構成する代表画像以外の部分画像（個別画像）のうち指定されたトリミング範囲内のみデコードし、デコードして得られたトリミング後部分画像をパノラマ合成してパノラマ画像を作成し、作成したパノラマ画像が印刷されるよう印刷処理するから、パノラマ画像を構成する各部分画像の全部をデコードしてからパノラマ合成するものに比して、処理負担を大幅に低減することができる。この結果、印刷処理の高速化を図ることができる。
【００３０】
本実施形態では、図４のルーチンのステップＳ１８０で作成したパノラマ画像に対してサンプリングを施すと共に画像の特徴量を抽出してパノラマ画像に適用する色補正用のパラメータを設定するものとしたが、図７の変形例のパノラマ画像印刷処理ルーチンに示すように、図４のルーチンとは異なる画像をサンプリングするものとしてもよい。以下、図７のルーチンについて説明する。このルーチンでは、選択されたファイル中に含まれる複数の部分画像をトリミングを伴わずにパノラマ合成して印刷する場合を例にとって説明する。図７のルーチンでは、まず、選択されたファイル中から部分画像のパノラマ合成処理や印刷処理に必要な情報、例えば、サンプルフォーマット付属情報に含まれる画像数Ｇｎや配置情報，オーバーラップ量などを入力し（ステップＳ３００）、センター領域をサンプリング範囲に設定する（ステップＳ３１０）。この処理は、本実施形態では、センター領域として、パノラマ画像に対して縦のサイズが１／２で横のサイズが１／２となり（即ち、パノラマ画像に対して面積が１／４となり）且つ位置が中央となる範囲を設定するものとした。これは、サイズをできる限り小さくして処理負担を低減すると共に写真画像では被写体が中央に配置される構図が多く見られることに基づく。続いて、ＪＰＥＧ圧縮されている各部分画像の圧縮単位であるブロックのうち設定されたサンプリング範囲に含まれるブロックのみを展開（デコード）して（ステップＳ３２０）、サンプリング用部分画像を作成し（ステップＳ３３０）、作成したサンプリング用部分画像をパノラマ合成して部分パノラマ画像を作成する（ステップＳ３４０）。そして、部分パノラマ画像をサンプリングすると共に（ステップＳ３５０）、サンプリングした画素のＲＧＢ値からＲＧＢヒストグラムや輝度ヒストグラムを求めて輝度や彩度，カラーバランス，コントラスト，シャープネスなどの各画質パラメータの特徴量を抽出し（ステップＳ３６０）、抽出した特徴量が好ましい画質の画像が有する画質パラメータの特徴量に近づくよう補正パラメータを設定する（ステップＳ３７０）。補正パラメータを設定すると、選択されたファイル中の各部分画像の全部のブロックをデコードし（ステップＳ３８０）、デコードした部分画像をパノラマ合成してパノラマ画像を作成して（ステップＳ３９０）、作成したパノラマ画像に対してステップＳ３７０で設定した補正パラメータで色補正処理を施し（ステップＳ４００）、パノラマ画像を表示部５２にプレビュー表示をして（ステップＳ４１０）、ボタン類５４のうち印刷開始を指示するスタートボタン５８が押下されるのを待って（ステップＳ４２０）、印刷処理を実行して（ステップＳ４３０）、本ルーチンを終了する。図８に、パノラマ画像に色補正処理を施す様子を示す。図示するように、パノラマ画像に対してサイズの小さなセンター領域をサンプリング範囲に設定し（図８（ａ）参照）、パノラマ画像を構成する部分画像のうち設定したサンプリング範囲内のみデコードし（図８（ｂ）参照）、デコードして得られた部分画像をパノラマ合成すると共にパノラマ合成により得られたパノラマ画像をサンプリングして色補正処理のための補正パラメータを設定し（図８（ｃ）参照）、各部分画像の全部をデコードし（図８（ｄ）参照）、デコードした部分画像をパノラマ合成すると共にパノラマ合成により得られたパノラマ画像に対して補正パラメータを用いて色補正処理を行なうことにより行なわれる（図８（ｅ）参照）。前述したように、ＪＰＥＧ圧縮された画像データのデコードは処理負担が比較的大きなものとなるから、上記手法を用いることにより、パノラマ画像を構成する各部分画像の全部のブロックをデコードしてからパノラマ合成すると共にパノラマ合成により得られたパノラマ画像をサンプリングして補正パラメータを設定するものに比して、処理負担を大幅に低減することができる。
【００３１】
本実施形態では、色補正処理をパノラマ合成処理後に行なうものとしたが、これに限られず、パノラマ合成前の全ての部分画像に対して行なうものとしてもよい。
【００３２】
本実施形態では、メモリカード４２に保存されているファイルのデータ構造として、データの先頭を示すＳＯＩ（Start Of Image），Ｅｘｉｆ付属情報とサムネイル画像とを記録するマーカセグメントＡＰＰ１，サンプルフォーマット付属情報を記録するマーカセグメントＡＰＰ２，ＪＰＥＧ形式の画像データ本体，データの終了を示すＥＯＩ（End Of Image）とから構成されるものを例示したが、このデータ構造や各マーカセグメントに記録されるデータは一例を示したものであり、これに限られるものではない。また、画像データはＪＰＥＧ形式としたが、これに限られるものではなく、他のファイル形式としてもよい。
【００３３】
本実施形態では、メモリカード４２から画像ファイルを読み込むものとしたが、如何なるものから読み込むものとしてもよい。例えば、赤外線通信によりデジタルカメラからこれらのファイルを受信して一時的に記憶しているＲＡＭ６６から読み込むものとしてもよいし、ＵＳＢ接続により接続されたデジタルカメラ内のメモリからこれらのファイルを読み込むものとしてもよいし、コンピュータネットワーク（例えば、インターネット）上の他のコンピュータからこれらのファイルを受信して一時的に記憶しているＲＡＭ６６から読み込むものとしてもよい。これらの場合は、赤外線通信やＵＳＢ接続、ネットワーク接続を実現する赤外線通信ボードやＵＳＢコントローラ、ネットワークインタフェースボード等を備えることとなる。
【００３４】
本実施形態では、本発明の画像処理装置をプリンタユニット２０とスキャナユニット３０とを備えてコピーが可能なマルチファンクションプリンタ１０に適用して説明したが、コピー機能を備えないプリンタに適用するものとしてもよい。
【００３５】
本実施形態では、インクジェット方式を採用し着色剤としてインクを利用するフルカラーのプリンタ１０としたが、電子写真方式を採用し着色剤としてトナーを利用するカラーレーザプリンタや、熱転写方式を採用し着色剤としてインクリボンを利用するカラープリンタとしてもよい。また、ＦＡＸ機やコピー機などの印刷装置としてもよい。また、画像処理装置としては、プリンタに限られるものではなく、パソコン、デジカメ及びデジタルビデオなどの画像処理機器に本発明を適用してもよい。
【００３６】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることは勿論である。
【図面の簡単な説明】
【００３７】
【図１】マルチファンクションプリンタ１０の外観図及びブロック図。
【図２】メモリカード４２に保存されている画像のデータ構造の一例を示す説明図。
【図３】パノラマ合成する際の部分画像の配置例を示す説明図。
【図４】パノラマ画像印刷処理ルーチンの一例を示すフローチャート。
【図５】トリミングモード用画面７０の一例を示す説明図。
【図６】パノラマ画像でトリミングする様子を示す説明図。
【図７】変形例のパノラマ画像印刷処理ルーチンに示すフローチャート。
【図８】パノラマ画像に色補正処理を施す様子を示す説明図。
【符号の説明】
【００３８】
１０  マルチファンクションプリンタ、１２  バス、２０  プリンタユニット、２２  プリンタＡＳＩＣ、２４  プリンタエンジン、３０  スキャナユニット、３２  スキャナＡＳＩＣ、３４  スキャナエンジン、３６  ガラス台、４０  メモリカードスロット、４２  メモリカード、４４  メモリカードコントローラ、５０  操作パネル、５２  表示部、５４  ボタン類、５６  矢印キー、５８  スタートボタン、６０  メインコントローラ、６２  ＣＰＵ、６４  ＲＯＭ、６６  ＲＡＭ、６８  フラッシュメモリ、６９  内部通信インタフェース、７０  トリミングモード用画面、７２  サイズ設定枠、７４  画像、７６  トリミング枠。
【図１】
2010118826.tif 000003
【図２】
2010118826.tif 000004
【図３】
2010118826.tif 000005
【図４】
2010118826.tif 000006
【図５】
2010118826.tif 000007
【図６】
2010118826.tif 000008
【図７】
2010118826.tif 000009
【図８】
2010118826.tif 000010