(57)【要約】【課題】複数の部分画像をパノラマ合成してパノラマ画像を生成する場合に、簡易な処理でパノラマ画像の全体に亘り適切な補正を反映させる。【解決手段】複数の部分画像が複数のシーンのうちいずれに属するかを判定した結果に基づいてパノラマ画像が全体としていずれのシーンに該当するかを判定し（Ｓ１１０〜１２０）、部分画像をパノラマ合成すると共に予め各シーン毎に設定された補正パラメータのうち判定されたパノラマ画像のシーンに応じた補正パラメータに基づく補正がパノラマ画像の全体に亘って反映されるよう補正するから（Ｓ１３０〜１５０）、パノラマ画像の全体的なシーンの傾向と一致した適切な補正を反映させることができる。このとき、各シーン毎に予め設定された補正パラメータを用いるので、パノラマ画像から複数の画素をサンプリングして補正パラメータを設定するものに比して迅速に補正することができる。【選択図】図４
2010108238.tif 000002
【特許請求の範囲】
【請求項１】
複数の部分画像をパノラマ合成してパノラマ画像を生成する画像処理装置であって、
前記複数の部分画像が人物シーン、風景シーン、夜景シーンを含む複数のシーンのうちいずれのシーンに属するかをそれぞれ判定し、該判定した結果に基づいて前記パノラマ画像が全体として該複数のシーンのうちいずれのシーンに該当するかを判定する画像シーン判定手段と、
前記複数の部分画像をパノラマ合成すると共に前記複数のシーン毎に予め設定された補正パラメータのうち前記判定されたパノラマ画像のシーンに応じた補正パラメータに基づく補正がパノラマ画像の全体に亘って反映されるよう補正する画像処理手段と、
を備える画像処理装置。
【請求項２】
前記画像シーン判定手段は、前記複数の部分画像のうち、人物シーンに属すると判定した部分画像と人物シーンとは異なるシーンに属すると判定した部分画像とが混在するときには、前記パノラマ画像が人物シーンに該当すると優先的に判定する手段である請求項１記載の画像処理装置。
【請求項３】
前記画像シーン判定手段は、人物シーンに属すると判定した部分画像の数に重み付けした値と人物シーンとは異なるシーンに属すると判定した部分画像の数をそのまま用いた値のうち、最も値の大きいシーンに前記パノラマ画像が該当すると判定する手段である請求項２記載の画像処理装置。
【請求項４】
請求項１ないし３いずれか１項に記載の画像処理装置であって、
前記複数の部分画像から複数の画素をサンプリングするサンプリング手段と、
前記サンプリングされた画素に基づいて前記複数の部分画像から人物の顔を認識する顔認識手段と、
前記サンプリングされた各画素の色を判定し、該判定した結果に基づいて前記部分画像が全体としていずれの色に該当するかを判定する画像色判定手段と、
を備え、
前記画像シーン判定手段は、前記顔認識手段により顔が認識された部分画像は人物シーンに属すると判定し、顔が認識されない部分画像は前記画像色判定手段により判定された色に基づいていずれのシーンに属するかを判定する手段である
画像処理装置。
【請求項５】
請求項１ないし３いずれか１項に記載の画像処理装置であって、
前記複数の部分画像として、人物撮影モード、風景撮影モード、夜景撮影モードを含む複数の撮影モードのうち撮影時にユーザにより選択されたいずれかの撮影モードが予め画像情報として登録されてなる画像を用い、
前記画像シーン判定手段は、前記複数の部分画像が前記画像情報として登録された撮影モードに対応するシーンに属すると判定する手段である
画像処理装置。
【請求項６】
前記複数の部分画像として、パノラマ画像用に互いに関連付けられると共に１つのファイルに記録されてなる規格に準じた画像を用いることを特徴とする請求項１ないし５いずれか１項に記載の画像処理装置。
【請求項７】
複数の部分画像をパノラマ合成してパノラマ画像を生成する画像処理方法であって、
（ａ）前記複数の部分画像が人物シーン、風景シーン、夜景シーンを含む複数のシーンのうちいずれのシーンに属するかをそれぞれ判定し、該判定した結果に基づいて前記パノラマ画像が全体として該複数のシーンのうちいずれのシーンに該当するかを判定するステップと、
（ｂ）前記複数の部分画像をパノラマ合成すると共に前記複数のシーン毎に予め設定された補正パラメータのうち前記ステップ（ａ）により判定されたパノラマ画像のシーンに応じた補正パラメータに基づく補正がパノラマ画像の全体に亘って反映されるよう補正するステップと、
を含む画像処理方法。
【請求項８】
請求項７に記載の画像処理方法の各ステップを１又は複数のコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法並びにプログラムに関し、詳しくは、複数の部分画像をパノラマ合成してパノラマ画像を生成する画像処理装置および画像処理方法並びに画像処理方法を１又は複数のコンピュータに実現させるためのプログラムに関する。
【背景技術】
【０００２】
従来、この種の画像処理装置としては、デジタルカメラで撮影された複数の画像の明るさやコントラストなどを修正する画像補正を行うものが提案されている（例えば、特許文献１参照）。このような装置では、複数の画像からサンプリングした画素を解析して得られた補正パラメータに基づく画像補正を各画像にそれぞれ反映させるものに限られず、１つの画像から得られた補正パラメータに基づく補正を全ての画像に反映させるものも提案されている（例えば、特許文献２参照）。この装置では、明るさや彩度などの項目の中から着目したい項目を設定し、複数の画像を解析して設定した項目に関する値が平均値に近い画像を選択し、選択した画像を解析して補正パラメータを設定する。こうして設定された補正パラメータに基づく補正を全ての画像に反映させることで、複数の画像の補正後の画質が各画像間で大きくばらつくのを防止することができるとしている。
【特許文献１】特開２０００−２１５３０６号公報
【特許文献２】特開２００７−１６４２４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、複数の部分画像をパノラマ合成してパノラマ画像とする場合においてもパノラマ画像の明るさや彩度などが部分的に大きく変化することのないようパノラマ画像の全体に亘って同一の補正パラメータによる補正を反映させることが求められている。このとき、部分画像をパノラマ合成した後のパノラマ画像からサンプリングした画素を解析して補正パラメータを得ることも考えられるが、パノラマ画像は合成前の部分画像に比してサイズが大きいため処理に時間がかかってしまう。このため、上述した画像処理装置のように、複数の部分画像から１つの部分画像を選択し、選択した部分画像を解析して補正パラメータを設定することが考えられる。ただし、パノラマ画像は、複数の部分画像をパノラマ合成して１つの画像とするものであるから、単に明るさや彩度などの項目についての値が平均値に近い部分画像を選択して画像パラメータを設定しただけではユーザの意図するような画像補正がなされないおそれがある。
【０００４】
本発明の画像処理装置および画像処理方法並びにプログラムは、複数の部分画像をパノラマ合成してパノラマ画像を生成する場合に、簡易な処理でパノラマ画像の全体に亘り適切な補正を反映させることを主目的とする。
【課題を解決するための手段】
【０００５】
本発明の画像処理装置およびその制御方法並びにプログラムは、上述の主目的を達成するために以下の手段を採った。
【０００６】
本発明の画像処理装置は、
複数の部分画像をパノラマ合成してパノラマ画像を生成する画像処理装置であって、
前記複数の部分画像が人物シーン、風景シーン、夜景シーンを含む複数のシーンのうちいずれのシーンに属するかをそれぞれ判定し、該判定した結果に基づいて前記パノラマ画像が全体として該複数のシーンのうちいずれのシーンに該当するかを判定する画像シーン判定手段と、
前記複数の部分画像をパノラマ合成すると共に前記複数のシーン毎に予め設定された補正パラメータのうち前記判定されたパノラマ画像のシーンに応じた補正パラメータに基づく補正がパノラマ画像の全体に亘って反映されるよう補正する画像処理手段と、
を備えることを要旨とする。
【０００７】
この本発明の画像処理装置では、複数の部分画像が人物シーン、風景シーン、夜景シーンを含む複数のシーンのうちいずれのシーンに属するかをそれぞれ判定した結果に基づいてパノラマ画像が全体として複数のシーンのうちいずれのシーンに該当するかを判定し、複数の部分画像をパノラマ合成すると共に予め複数のシーン毎に設定されている補正パラメータのうち判定されたパノラマ画像のシーンに応じた補正パラメータに基づく補正がパノラマ画像の全体に亘って反映されるよう補正する。これにより、パノラマ画像の全体的なシーンの傾向と一致した補正をパノラマ画像の全体に亘って反映させることができるので、補正後のパノラマ画像にユーザが違和感を生じることが少ない。このとき、補正パラメータは、複数のシーン毎に予め設定されたものを用いるから、合成後のパノラマ画像全体から複数の画素をサンプリングした結果に基づいて補正パラメータを設定するものに比して、迅速に処理することができる。この結果、複数の部分画像をパノラマ合成してパノラマ画像を生成する場合に、簡易な処理でパノラマ画像の全体に亘り適切な補正を反映させることができる。ここで、複数の部分画像として、パノラマ画像用に互いに関連付けられると共に１つのファイルに記録されてなる規格に準じた画像を用いるものとすることもできる。
【０００８】
こうした本発明の画像処理装置において、前記画像シーン判定手段は、前記複数の部分画像のうち、人物シーンに属すると判定した部分画像と人物シーンとは異なるシーンに属すると判定した部分画像とが混在するときには、前記パノラマ画像が人物シーンに該当すると優先的に判定する手段であるものとすることもできる。これにより、パノラマ画像に対して、風景シーンや夜景シーンよりも人物シーンに適した補正パラメータに基づく補正を優先させることができる。ここで、人物シーンは人物の顔が含まれるものであり、風景シーンや夜景シーンなどの他のシーンのうち最も人目を惹きやすいものといえる。このため、そのような人目を惹きやすい人物シーンに適した補正パラメータに基づく補正を優先させることで、パノラマ画像全体に対してより適切な補正を反映させることができる。この態様の本発明の画像処理装置において、前記画像シーン判定手段は、人物シーンに属すると判定した部分画像の数に重み付けした値と人物シーンとは異なるシーンに属すると判定した部分画像の数をそのまま用いた値のうち、最も値の大きいシーンに前記パノラマ画像が該当すると判定する手段であるものとすることもできる。こうすれば、簡易な処理で人物シーンに優先的に判定することができる。
【０００９】
また、本発明の画像処理装置において、前記複数の部分画像から複数の画素をサンプリングするサンプリング手段と、前記サンプリングされた画素に基づいて前記複数の部分画像から人物の顔を認識する顔認識手段と、前記サンプリングされた各画素の色を判定し、該判定した結果に基づいて前記部分画像が全体としていずれの色に該当するかを判定する画像色判定手段と、を備え、前記画像シーン判定手段は、前記顔認識手段により顔が認識された部分画像は人物シーンに属すると判定し、顔が認識されない部分画像は前記画像色判定手段により判定された色に基づいていずれのシーンに属するかを判定する手段であるものとすることもできる。こうすれば、各部分画像のシーンを簡易な処理で判定することができる。あるいは、本発明の画像処理装置において、前記複数の部分画像として、人物撮影モード、風景撮影モード、夜景撮影モードを含む複数の撮影モードのうち撮影時にユーザにより選択されたいずれかの撮影モードが予め画像情報として登録されてなる画像を用い、前記画像シーン判定手段は、前記複数の部分画像が前記画像情報として登録された撮影モードに対応するシーンに属すると判定する手段であるものとすることもできる。こうすれば、各部分画像のシーンを迅速に判定することができる。
【００１０】
本発明の画像処理方法は、
複数の部分画像をパノラマ合成してパノラマ画像を生成する画像処理装置であって、
（ａ）前記複数の部分画像が人物シーン、風景シーン、夜景シーンを含む複数のシーンのうちいずれのシーンに属するかをそれぞれ判定し、該判定した結果に基づいて前記パノラマ画像が全体として該複数のシーンのうちいずれのシーンに該当するかを判定するステップと、
（ｂ）前記複数の部分画像をパノラマ合成すると共に前記複数のシーン毎に予め設定された補正パラメータのうち前記ステップ（ａ）により判定されたパノラマ画像のシーンに応じた補正パラメータに基づく補正がパノラマ画像の全体に亘って反映されるよう補正するステップと、
を含むことを要旨とする。
【００１１】
この本発明の画像処理方法によれば、複数の部分画像が人物シーン、風景シーン、夜景シーンを含む複数のシーンのうちいずれのシーンに属するかをそれぞれ判定した結果に基づいてパノラマ画像が全体として複数のシーンのうちいずれのシーンに該当するかを判定し、複数の部分画像をパノラマ合成すると共に予め複数のシーン毎に設定されている補正パラメータのうち判定されたパノラマ画像のシーンに応じた補正パラメータに基づく補正がパノラマ画像の全体に亘って反映されるよう補正する。これにより、パノラマ画像の全体的なシーンの傾向と一致した補正をパノラマ画像の全体に亘って反映させることができるので、補正後のパノラマ画像にユーザが違和感を生じることが少ない。このとき、補正パラメータは、複数のシーン毎に予め設定されたものを用いるから、合成後のパノラマ画像全体から複数の画素をサンプリングした結果に基づいて補正パラメータを設定するものに比して、迅速に処理することができる。この結果、複数の部分画像をパノラマ合成してパノラマ画像を生成する場合に、簡易な処理でパノラマ画像の全体に亘り適切な補正を反映させることができる。
【００１２】
本発明のプログラムは、上述した画像処理方法の各ステップをコンピュータに実現させるためのものである。このプログラムは、コンピュータが読み取り可能な記録媒体（例えばハードディスク、ＲＯＭ、ＦＤ、ＣＤ、ＤＶＤなど）に記録されていてもよいし、伝送媒体（インターネットやＬＡＮなどの通信網）を介してあるコンピュータから別のコンピュータへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを一つのコンピュータに実行させるか又は複数のコンピュータに各ステップを分担して実行させれば、上述した画像処理方法の各ステップが実行されるため、該画像処理方法と同様の作用効果が得られる。
【発明を実施するための最良の形態】
【００１３】
次に、本発明を実施するための最良の形態を図面を用いて説明する。図１は、本発明の画像処理装置の一実施形態であるマルチファンクションプリンタ１０の概略構成を示す外観図及びブロック図である。
【００１４】
本実施形態のマルチファンクションプリンタ１０は、図１に示すように、印刷ジョブに基づいて印刷用紙Ｓへの印刷を実行するプリンタユニット２０と、ガラス台３６に載置された書類を読み取るスキャナユニット３０と、メモリカードスロット４０に挿入されたメモリカード４２との間でデータの入出力を行うメモリカードコントローラ４４と、各種情報を表示部５２に表示したりユーザの指示をボタン類５４の操作を介して入力したりする操作パネル５０と、装置全体の制御を司るメインコントローラ６０とを備えている。このマルチファンクションプリンタ１０は、プリンタユニット２０やスキャナユニット３０，メモリカードコントローラ４４，メインコントローラ６０がバス１２を介して各種制御信号やデータのやり取りができるよう構成されている。
【００１５】
プリンタユニット２０は、プリンタＡＳＩＣ２２とプリンタエンジン２４とを備えている。プリンタＡＳＩＣ２２は、プリンタエンジン２４を制御する集積回路であり、メインコントローラ６０から印刷指令を受けると、その印刷指令の対象となる画像ファイルに基づいて用紙Ｓに印刷するようプリンタエンジン２４を制御する。また、プリンタエンジン２４は、印刷ヘッドから用紙へインクを吐出することにより印刷を行う周知のインクジェット方式のカラープリンタ機構として構成されている。なお、ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【００１６】
スキャナユニット３０は、スキャナＡＳＩＣ３２とスキャナエンジン３４とを備えている。スキャナＡＳＩＣ３２は、スキャナエンジン３４を制御する集積回路であり、メインコントローラ６０からのスキャン指令を受けると、ガラス台３６に載置された書類を画像データとして読み取るようスキャナエンジン３４を制御する。また、スキャナエンジン３４は、周知のイメージスキャナとして構成され、書類に向かって発光したあとの反射光をレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の各色に分解してスキャンデータとする周知のカラーイメージセンサを備えている。
【００１７】
メモリカードコントローラ４４は、操作パネル５０の横に備えられているメモリカードスロット４０に挿入されたメモリカード４２との間でデータの入出力を行うものである。このメモリカードコントローラ４４は、メモリカードスロット４０にメモリカード４２が接続されているとき、メモリカード４２に保存されているファイルを読み出してメインコントローラ６０に送信したりメインコントローラ６０からの命令を入力し該命令に基づいてメモリカード４２にデータを書き込んだりする。ここで、メモリカード４２に保存されているファイルについて説明する。
【００１８】
図２は、メモリカード４２に保存されているファイルのデータ構造の一例を示す説明図である。図示するように、メモリカード４２には複数のファイル４２ａ，４２ｂ，４２ｃ，・・・が保存されている。各ファイルには画像データとしてＪＰＥＧデータを格納する複数のデータ４２ａ１，４２ａ２，・・・４２ａｎ（ｎは画像数）が保存されている。各データは、データの先頭を示すマーカであるＳＯＩ（Start Of Image），画素数や撮影日時，絞り値，画像データサイズ，撮影モードなどの画像に関する情報であるＥｘｉｆ付属情報と画像データ本体を所定サイズにリサイズしたサムネイル画像とを記録するマーカセグメントＡＰＰ１，各データの関連付けに関する規格であるサンプルフォーマットで規定されたサンプルフォーマット付属情報を記録するマーカセグメントＡＰＰ２，ＪＰＥＧ形式の画像データ本体，データの終了を示すマーカであるＥＯＩ（End Of Image）とから構成されている。なお、Ｅｘｉｆ付属情報中の撮影モードは、デジタルカメラなどで主に人物を撮影するときに用いられる人物撮影モード、主に風景を撮影するときに用いられる風景撮影モード、主に夜景を撮影するときに用いられる夜景撮影モードを含む複数の撮影モードのうち画像撮影時にユーザにより選択されたモードが記録されている。ここで、サンプルフォーマットとは、複数の個別画像を一体的に同一ファイルに記録してまとめて利用できるようにするためのデータ構造の規格であり、サンプルフォーマット（以下、ＳＰフォーマットとする）という名称は、その一例であり、これに限られるものではない。また、本実施形態では、ＳＰフォーマット付属情報をマーカセグメントＡＰＰ２に記録するものとしているが、一例を例示したものに過ぎず、マーカセグメントＡＰＰ２に限られるものではなく任意のマーカセグメントＡＰＰｎ（ｎは任意の整数）に記録するものとすればよい。マーカセグメントＡＰＰ２は、ＳＰフォーマット付属情報におけるバイト順序を示すエンディアン情報やエンディアン情報を起点として先頭ＩＦＤ（Image File Directory）までの相対オフセットを示すオフセット値が記録されたＳＰヘッダと、ファイル４２ａに保存されている画像数を示す記録画像数Ｇｎや個別画像に対するデータ群などが記録されたＳＰエントリ，個別画像のＳＯＩまでのオフセット値などのファイル全体の構成情報が記録されたＳＰインデックスＩＦＤと、個別画像に付与された番号である画像番号（１〜ｎ）や各個別画像の配置情報などの個別情報が記録されたＳＰ個別情報ＩＦＤとからなる。これらはＳＰインデックスＩＦＤが先頭画像にのみ記録されている以外は先頭画像とこれに続く個別画像に同様に記録されている。また、図示は省略したが、各ＩＦＤには、次のＩＦＤまでのオフセット値（Offset of Next IFD）が記録されている。ＳＰインデックスＩＦＤのＳＰエントリには、代表画像フラグＦや種別コードが記録された個別画像種管理情報や個別画像のＳＯＩからＥＯＩまでのデータサイズを示す個別画像サイズなどが記録されている。代表画像フラグＦは、複数の個別画像のうち代表画像としてユーザに設定された１つの個別画像についてのみ値１が設定され、それ以外の個別画像については値０が設定されるものである。２つ以��の代表画像を選択することはできないが、選択しないものとすることはでき、その場合は個別画像の代表画像フラグＦは全て値０となる。種別コードには、モニタへ再生表示するためのモニタ表示用画像であるか複数の異なる視点から撮影された多視点撮影画像であるかなどを記録している。モニタ表示用画像では、画素数により複数の種別を記録することができ、例えば、ＱＶＧＡサイズやＶＧＡサイズなどを記録することができる。多視点撮影画像では、複数の個別に撮影した画像を記録することができ、例えば、パノラマ撮影画像や立体視撮影画像などを記録することができる。本実施形態においては、種別コードとして「パノラマ」が記録されているものし、ＳＰ個別情報ＩＦＤの配置情報は、パノラマに絞って説明する。なお、ファイル４２ａに含まれる画像は、先頭画像と複数の個別画像２，３，・・・ｎ（ｎは画像数）とからなるが、以下の説明では、先頭画像と複数の個別画像とを区別することなく部分画像と称する。ここで、記録画像数Ｇｎを値９としたときに、パノラマ合成する際の部分画像の配置例を図３に示す。図３では、１つのマス目が１つの部分画像を示し、マス目内の番号が各部分画像の配置順を示すと共に部分画像の画像番号を示し、矢印が画像を配置していく様子をイメージとして示している。図３（ａ）は、部分画像を水平方向の一方向に配置する例，図３（ｂ）〜（ｅ）は、いずれも部分画像を水平方向および垂直方向の二方向に配置する例を示す。図３（ｂ）〜（ｅ）は、その配置方法が異なっており、図３（ｂ）を時計回り、図３（ｃ）を反時計回り、図３（ｄ）をジグザグ列配置、図３（ｅ）をジグザグ行配置と称する。ＳＰ個別情報ＩＦＤの配置情報には、このような配置条件が記録されており、具体的には、部分画像を水平方向または垂直方向のいずれか一方向に配置するかあるいは水平方向および垂直方向の二方向に配置するかを記録する配置方向や一方向の配置であれば部分画像を左から右，右から左，上から下，下から上のいずれで配置するかまた二方向の配置であれば部分画像を時計回り，反時計回り，ジグザグ列配置，ジグザグ行配置のいずれで配置するかを記録する配置方法、最初の画像の配置位置が右上，左上，右下，左下のいずれであるかを記録する開始位置、二方向の配置であるときに垂直方向に配置される行数ａと水平方向に配置される列数ｂとを記録する行列数が記録されている。なお、ＳＰ個別情報ＩＦＤには、パノラマ合成する際に隣接する部分画像との重なり量を規定するオーバーラップ量なども記録されているが、その説明および図示は省略する。
【００１９】
操作パネル５０は、表示部５２とボタン類５４とを備えている。表示部５２は、液晶ディスプレイであり、各種モードの選択や印刷の設定、印刷プレビュー画面などを表示する。ボタン類５４は、各種モードの選択や各種設定時などに操作される矢印キーや画像の印刷を実行するときに押下されるスタートボタン、電源のオンオフを行うときに操作される電源ボタンなどからなり、内部通信インタフェース６９を介してメインコントローラ６０にユーザの指示を入力できるようになっている。ここで、選択可能な各種モードとしては、メモリカード４２に保存された画像を選択してそれぞれ印刷する通常印刷モードや上述したファイル４２ａのようにパノラマ用画像として関連付けてメモリカード４２に保存された複数の部分画像をパノラマ合成してパノラマ画像を印刷するパノラマ印刷モード、ガラス台３６に載置された書類を読み取って画像データとしてメモリカード４２に保存するスキャンモード、書類を読み取ってコピーするコピーモードなどがある。
【００２０】
メインコントローラ６０は、ＣＰＵ６２を中心とするマイクロプロセッサとして構成されており、各種処理プログラムや各種データ、各種テーブルなどを記憶したＲＯＭ６４と、一時的にスキャンデータや印刷用データなどを記憶するＲＡＭ６６と、電気的に書き換え可能で電源を切ってもデータは保持されるフラッシュメモリ６８と、操作パネル５０との通信を可能とする内部通信インタフェース６９とを備え、これらはバス１２を介して互いに信号のやり取りが可能なように接続されている。このメインコントローラ６０は、プリンタユニット２０やスキャナユニット３０，メモリカードコントローラ４４からの各種動作信号や各種検出信号を入力したり、操作パネル５０のボタン類５４の操作に応じて発生する操作信号を入力したりする。また、メモリカード４２から画像データを読み出してメインコントローラ６０へ出力する指令をメモリカードコントローラ４４に出力したり、画像の印刷を実行するようプリンタユニット２０に指令を出力したり、操作パネル５０のボタン類５４のスキャン指令に基づいてガラス台３６に載置された書類を読み取るようスキャナユニット３０に指令を出力したり、操作パネル５０に表示部５２の制御指令を出力したりする。
【００２１】
次に、こうして構成された本実施形態のマルチファンクションプリンタ１０の動作、特に、パノラマ画像を印刷する際の動作について説明する。図４は、メインコントローラ６０により実行されるパノラマ画像印刷処理ルーチンの一例を示すフローチャートである。この処理は、メモリカードスロット４０にメモリカード４２が挿入されてボタン類５４の操作により複数のファイル４２ａ，４２ｂ，４２ｃ，・・・のうちいずれかが選択されると共にパノラマ印刷モードにされたときに実行される。
【００２２】
パノラマ画像印刷印刷処理ルーチンが実行されると、メインコントローラ６０のＣＰＵ６２は、まず、選択されたファイルの中から部分画像のパノラマ合成処理や印刷処理に必要な情報、例えば、ＳＰフォーマット付属情報に含まれる配置情報やオーバーラップ量などを入力する（ステップＳ１００）。次に、部分画像のシーンを判定する（ステップＳ１１０）。この処理は、主に人物が記録された人物シーンや主に風景が記録された風景シーン，主に夜景が記録された夜景シーンなどの複数のシーンのうち、部分画像がそれぞれいずれのシーンに属するかを判定する処理であり、詳細については後述する。部分画像のシーンを判定すると、判定した結果に基づいてパノラマ画像のシーンを判定する（ステップＳ１２０）。この処理は、上述した複数のシーンのうち、パノラマ画像が全体としていずれのシーンに該当するかを判定する処理であり、詳細については後述する。パノラマ画像のシーンを判定すると、ＲＯＭ６４に記憶されている各シーン毎の既定の補正パラメータのうち、判定したパノラマ画像のシーンに応じた補正パラメータを入力する（ステップＳ１３０）。ここで、ＲＯＭ６４には、明るさや彩度、コントラストなどについての補正パラメータが各シーン毎に記憶されており、例えば、人物シーン用として「明るさ＋１０％，コントラスト−１０％，シャープネス−１０％」、風景シーン用として「彩度＋１０％，コントラスト＋１０％，シャープネス＋１０％」、夜景シーン用として「明るさ−２０％，ノイズ除去オン」などの補正パラメータが記憶されている。補正パラメータを入力すると、配置情報やオーバーラップ量などに従って部分画像を配置してパノラマ合成処理を行い（ステップＳ１４０）、入力した補正パラメータに基づいてパノラマ画像を補正する（ステップＳ１５０）。パノラマ画像を補正すると、表示部５２にプレビュー表示をして（ステップＳ１６０）、ボタン類５４のうち印刷開始を指示するスタートボタンが押下されるのを待ち（ステップＳ１７０）、スタートボタンが押下されたときに印刷処理を実行して（ステップＳ１８０）、本ルーチンを終了する。これにより、パノラマ画像全体のシーンに応じた補正パラメータに基づく補正をパノラマ画像の全体に亘って反映させることができる。図５は、本ルーチンで実行されるパノラマ合成と補正の処理のイメージを示す説明図である。図５では、５枚の部分画像をパノラマ合成して補正する様子を例示している。図示するように、部分画像１〜５を合成したパノラマ画像に対して同一の補正パラメータに基づく補正が全体に亘って反映されている。これにより、複数の部分画像から画素をそれぞれサンプリングして各部分画像用の補正パラメータを設定し、設定した補正パラメータに基づく補正を各部分画像に反映させてからパノラマ合成するものに比して、パノラマ画像の色合いが部分的に大きく変化したりすることがない。また、合成処理後のパノラマ画像から画素をサンプリングして補正パラメータを設定するものに比して、予め記憶された補正パラメータを用いるため迅速に補正することができる。以下、部分画像のシーン判定処理とパノラマ画像のシーン判定処理について順に説明する。
【００２３】
まず、部分画像のシーン判定処理について説明する。この処理は、図６に例示する部分画像シーン判定処理ルーチンにより行われる。部分画像シーン判定処理ルーチンが実行されると、メインコントローラ６０のＣＰＵ６２は、まず、ＳＰフォーマット付属情報から記録画像数Ｇｎを入力し（ステップＳ２００）、選択処理の処理対象値Ｎを値１に設定する（ステップＳ２１０）。次に、画像番号ｎが処理対象値Ｎと一致する部分画像のサムネイル画像データを入力する（ステップＳ２２０）。いま、処理対象値Ｎに値１を設定しているから、画像番号１のサムネイル画像データを入力する。サムネイル画像データを入力すると、複数の画素をサンプリングして（ステップＳ２３０）、顔領域を検出する処理を行い（ステップＳ２４０）、顔領域が検出できたか否かを判定する（ステップＳ２５０）。ここで、顔領域の検出は、例えば、画像からサンプリングした画素のうち肌色に近い色を持つ画素がある程度の数以上集合している肌色画素の集合領域を矩形状の顔候補領域として抽出し、抽出した顔候補領域の中から目を抽出できたときに顔領域を検出できたとする方法があげられる。ここで、肌色か否かの判定は、予めＲＧＢ色空間上の肌色のＲＧＢ値の範囲を定め各画素のＲＧＢ値が定められた肌色のＲＧＢ値の範囲内にあるか否かにより行われ、目の抽出は、顔候補領域の中でより輝度値の低い領域が２つ並んでいる領域を抽出することにより行われる。
【００２４】
ステップＳ２５０で顔領域を検出できたと判定すると、その部分画像は人物シーンに属すると判定し人物シーンスコアＪｓを値１だけインクリメントする（ステップＳ２６０）。なお、この人物シーンスコアＪｓは、人物シーンであると判定された部分画像の数を示すものであり、同様に風景シーンであると判定された部分画像の数を示す風景シーンスコアＦｓや夜景シーンであると判定された部分画像の数を示す夜景シーンスコアＹｓ，それらのシーン以外のシーンであると判定された部分画像の数を示す他シーンスコアＴｓがある。一方、ステップＳ２５０で顔領域を検出できなかったと判定すると、サンプリングした画素を色毎に集計する（ステップＳ２７０）。ここで、画素の色毎の集計は、本実施例では、画素の色が青色，緑色，水色，黒色の各色とそれら以外のその他の色のうちいずれに属するかを判定して各色毎に集計するものとし、色の判定は、予めＲＧＢ色空間上に青色，緑色，水色，黒色の各色のＲＧＢ値の範囲を定めておき、画素のＲＧＢ値がいずれかの色のＲＧＢ値の範囲内にあるときにはその色と判定し、いずれのＲＧＢ値の範囲内にもないときにはその他の色と判定するものとした。そして、集計値が最大の色を判定し（ステップＳ２８０）、青色，緑色，水色が最大と判定したときには海，川などの青色や山などの緑色、空などの水色が主に記録されていると考えることができるから部分画像のシーンは風景シーンであると判断して風景シーンスコアＦｓを値１だけインクリメントし（ステップＳ２９０）、黒色が最大と判定したときには暗い部分の多い画像が記録されていると考えることができるから部分画像のシーンは夜景シーンであると判断して夜景シーンスコアＹｓを値１だけインクリメントし（ステップＳ３００）、その他の色が最大と判定したときには他シーンスコアを値１だけインクリメントする（ステップＳ３１０）。こうして部分画像のシーンを判定して該当するシーンスコアの値をインクリメントすると、処理対象値Ｎを値１だけインクリメントして（ステップＳ３２０）、値Ｎが値Ｇｎを超えたか否かを判定する（ステップＳ３３０）。値Ｎが値Ｇｎを超えていなければステップＳ２２０に戻り処理を繰り返し、値Ｎが値Ｇｎを超えたときには各シーンスコアＪｓ，Ｆｓ，Ｙｓ，ＴｓをＲＡＭ６６に記憶して（ステップＳ３４０）、本ルーチンを終了する。これにより、各部分画像が属するシーンがそれぞれ判定されると共に各シーン毎に属すると判定した部分画像の数が各シーンスコアＪｓ，Ｆｓ，Ｙｓ，Ｔｓとして記憶される。
【００２５】
次に、パノラマ画像のシーン判定処理について説明する。この処理は、図７に例示するパノラマ画像シーン判定処理ルーチンにより行われる。部分画像シーン判定処理ルーチンが実行されると、メインコントローラ６０のＣＰＵ６２は、まず、ＲＡＭ６６に記憶された各シーンスコアＪｓ，Ｆｓ，Ｙｓ，Ｔｓを入力する（ステップＳ４００）。次に、人物シーンスコアＪｓに定数αを乗じて重み付けを行い（ステップＳ４１０）、各シーンスコアのうち最大のシーンスコアが１つに定まるか否かを判定する（ステップＳ４２０）。１つに定まるときには、シーンスコアが最大のシーンをパノラマ画像のシーンと判定して（ステップＳ４３０）、本ルーチンを終了する。これにより、シーンスコアが最大となるシーンをパノラマ画像のシーンとして判定することができる。ここで、定数αとしては、例えば、値１．５や値２．０などの値を用いることができ、人物シーンスコアＪｓに定数αを乗じることにより、最大のシーンスコアとして人物シーンスコアが定まる可能性を高くすることができる。例えば、定数αに値２．０が設定されている場合、図５の例においては、人物シーンスコアＪｓは本来の値２に定数αの値２．０を乗じた値４に重み付けされることになる。このため、人物シーンスコアＪｓが風景シーンスコアＦｓ（図５の例では、値３）よりも大きくなり、ステップＳ３５０で、最大のシーンスコアが人物シーンスコアＪｓに定まると判定することになる。このように、パノラマ画像のシーンとして人物シーンを優先的に判定する理由について説明する。まず、人物の顔は風景や夜景に比して画像を見る者の目を惹きやすくパノラマ画像のメイン部分になることが多いものである。一方で、上述したように、本実施例では、パノラマ画像のシーンとして判定されたシーンに応じた補正パラメータに基づく補正が反映される。このため、人物を含む部分画像があるときには、人物シーンがパノラマ画像のシーンと判定されれば、人物シーンに適した補正パラメータをパノラマ画像全体の補正パラメータとして設定することになる。即ち、パノラマ画像のメイン部分に適した画像補正を全体に反映させることができる。このように、より人目を惹きやすい人物シーンに適した補正が行われるようにするため、パノラマ画像のシーンとして人物シーンを優先的に判定するのである。
【００２６】
一方、ステップＳ４２０で最大のシーンスコアが複数あるときには、最大のシーンスコアに人物シーンスコアＪｓが含まれるか否かを判定し（ステップＳ４４０）。人物シーンスコアＪｓが含まれるときには、人物シーンをパノラマ画像のシーンと判定して（ステップＳ４５０）、本ルーチンを終了する。これにより、例えば、人物シーンスコアＪｓと風景シーンスコアＦｓとが共に最大であるときには、パノラマ画像のシーンとして人物シーンが判定されることになる。例えば、定数αに値１．５が設定されている場合、図５の例においては、人物シーンスコアＪｓは本来の値２に定数αの値１．５を乗じた値３に重み付けされることになる。このため、人物シーンスコアＪｓと風景シーンスコアＦｓとが共に値３で最大となるが、ステップＳ４４０で人物シーンスコアＪｓが含まれると判定し、続くステップＳ４５０で人物シーンをパノラマ画像のシーンと判定するから、この場合もパノラマ画像のシーンとして人物シーンを優先して判定することになる。このように、人物シーンを優先的に判定するのは、上述した理由と同じ理由による。
【００２７】
一方、ステップＳ４４０で人物シーンスコアＪｓを含まないと判定したときには、ＳＰフォーマット付属情報から各部分画像の代表画像フラグＦを入力し（ステップＳ４６０）、フラグＦが値１の画像があるか否かを判定する（ステップＳ４７０）。代表画像フラグＦが値１の画像があるときには、その画像のシーンをパノラマ画像のシーンと判定して（ステップＳ４８０）、本ルーチンを終了する。ここで、代表画像フラグＦは、ユーザによりファイル４２ａ中の複数の部分画像を代表する画像に設定されるものであり、通常はパノラマ画像のメイン部分を含むものに設定されることが多い。このため、代表画像のシーンをパノラマ画像のシーンと判定することにより、パノラマ画像のメイン部分に適した画像補正を全体に反映させて、ユーザの意図した通りの補正をすることができる。一方、ステップＳ４７０で代表画像フラグＦが値１の画像がないと判定したときには、パノラマ合成する際に中央に配置される部分画像である中央配置画像のシーンをパノラマ画像のシーンと判定する（ステップＳ４９０）。ここで、中央配置画像は、図５に示すような配置方向が一方向のパノラマ画像においては、次式（１）により決定される部分画像（図５の例では、画像番号３の部分画像）が該当する。なお、数式中の関数「INT」は、与えられた数値以下の整数で一番大きいものを返す端数処理を行うものであり、例えば、式((Gn+1)/2)が値4.5となったときには、値4とするものである。また、配置方向が二方向であるときには、ジグザグ配置の行配置の場合は次式（２）、ジグザグ配置の列配置の場合は次式（３）、時計回りや反時計回りの場合は次式（４）によりそれぞれ中央配置画像を決定することができる。なお、これらは、ＳＰフォーマット付属情報に含まれる記録画像数Ｇｎや行数ａ，列数ｂを入力することにより容易に算出することができる。ここで、パノラマ画像においてはその中央にメインとなる被写体が配置されることが多く、中央に配置される部分画像のシーンをパノラマ画像のシーンと判定することにより、パノラマ画像のメイン部分に適した画像補正を全体に反映させてユーザの意図した通りの補正をすることができる。
【００２８】
Nc=INT((Gn+1)/2)  (1)
Nc=(a+1)/2+INT((Gn/a)/2)*a  (2)
Nc=(b+1)/2+INT((Gn/b)/2)*b  (3)
Nc=Gn  (4)
【００２９】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の図４のパノラマ画像印刷処理ルーチンのステップＳ１１０〜１２０の処理や図６の部分画像シーン判定処理ルーチンや図７のパノラマ画像シーン判定処理ルーチンを実行するメインコントローラ６０が本発明の「画像シーン判定手段」に相当し、図４のパノラマ画像印刷処理ルーチンのステップＳ１３０〜１５０の処理を実行するメインコントローラ６０が「画像処理手段」に相当する。また、図６の部分画像シーン判定処理ルーチンのステップＳ２３０の処理を実行するメインコントローラ６０が「サンプリング手段」に相当し、図６の部分画像シーン判定処理ルーチンのステップＳ２４０の処理を実行するメインコントローラ６０が「顔認識手段」に相当する。なお、本実施形態では、マルチファンクションプリンタ１０の動作を説明することにより本発明の画像処理方法の一例も明らかにしている。
【００３０】
以上詳述した本実施形態のマルチファンクションプリンタ１０によれば、複数の部分画像が人物シーン、風景シーン、夜景シーンを含む複数のシーンのうちいずれのシーンに属するかを判定した結果に基づいてパノラマ画像が全体としていずれのシーンに属するかを判定し、複数の部分画像をパノラマ合成すると共に予め複数のシーン毎に設定された補正パラメータのうち判定されたパノラマ画像のシーンに応じた補正パラメータに基づく補正がパノラマ画像の全体に亘って反映されるよう補正するから、パノラマ画像の全体的なシーンの傾向と一致した補正を反映させることができる。このとき、補正パラメータは、複数のシーン毎に予め設定されたものを用いるから、合成後のパノラマ画像全体から複数の画素をサンプリングした結果に基づいて補正パラメータを設定するものに比して、迅速に補正することができる。この結果、複数の部分画像をパノラマ合成してパノラマ画像を生成する場合に、簡易な処理でパノラマ画像の全体に亘り適切な補正を反映させることができる。
【００３１】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００３２】
本実施形態では、パノラマ合成処理後に補正するものとしたが、これに限られず、合成前の全ての部分画像に対して同一の補正パラメータに基づく補正が反映されるよう補正してからパノラマ合成処理するものとしてもよい。
【００３３】
本実施形態では、パノラマ画像印刷処理ルーチンにおいてパノラマ画像のシーンを判定するものとしたが、予め判定しておくものとしてもよく、例えば、メモリカードスロット４０にメモリカード４２が挿入されたときにパノラマ画像のシーンを判定しておくものとしてもよい。
【００３４】
本実施形態では、サンプリングした画素の色が青色，緑色，水色，黒色の各色とその他の色のうちいずれに属するかを判定するものとしたが、青色，緑色，水色，黒色に限られるものではなく、例えば、赤色や黄色，白色などを含んで判定するものとしてもよい。この場合、赤色が多いときには紅葉が主に記録されていると考えて風景シーンであると判断したり、黄色が多いときにはネオン街やライトアップなどの電飾の光が主に記録されていると考えて夜景シーンであると判断したり、白色が多いときには雪景色が主に記録されていると考えて風景シーンであると判断したりすることができる。
【００３５】
本実施形態では、顔領域の検出の有無やサンプリング画素の色の傾向に基づいて各部分画像のシーンを判定するものとしたが、これに限られず、例えば、画像データ中のマーカセグメントＡＰＰ１に記憶されたＥｘｉｆ付属情報に記録されているデジタルカメラなどでの撮影時の撮影モードに基づいて部分画像のシーンを判定するものとしてもよい。この場合、図６の部分画像シーン判定処理ルーチンの処理の代わりに図８に示す変形例の部分画像シーン判定処理ルーチンを実行するものとすればよい。以下、この処理ルーチンについて説明する。なお、図８の処理ルーチンにおいて、図６と同じ処理には同じステップ番号を付しその説明および図示を省略する。ステップＳ２１０で処理対象値Ｎに値１を設定すると、画像番号ｎが処理対象値Ｎと一致する部分画像のＥｘｉｆ付属情報の撮影モードを入力する（ステップＳ２２０ａ）。撮影モードを入力すると、入力した撮影モードが人物撮影モードであるか（ステップＳ２５２）、風景撮影モードであるか（ステップＳ２５４）、夜景撮影モードであるか（ステップＳ２５６）をそれぞれ判定し、人物撮影モードであるときにはステップＳ２６０で人物シーンスコアＪｓを値１だけインクリメントし、風景撮影モードであるときにはステップＳ２９０で風景シーンスコアＦｓを値１だけインクリメントし、夜景撮影モードであるときにはステップＳ３００で夜景シーンスコアＹｓを値１だけインクリメントし、ステップＳ２５２〜２５６でいずれの撮影モードでもないと判定したときにはステップＳ３１０で他シーンスコアＴｓを値１だけインクリメントして、ステップＳ３２０以降の処理を実行する。こうすれば、各部分画像のシーンを簡易な処理でより迅速に判断することができるので、パノラマ画像のシーンの判定についても迅速に行うことができる。
【００３６】
本実施形態では、人物シーンスコアＪｓに重み付けする定数αとして値１．５や値２．０を例示したが、これに限られず、値１．０を超える値であればよい。
【００３７】
本実施形態では、人物シーンが優先的に判定されるよう人物シーンスコアＪｓに重み付けする処理をしたり複数のシーンスコアが同じ最大値となるときに人物シーンスコアＪｓが含まれていれば人物シーンをパノラマ画像のシーンとして判定する処理をするものとしたが、これに限られず、どちらか一方の処理を行わないものとしてもよい。また、このような人物シーンの優先的な判定を行わないものとして、両方の処理を行わないものとしてもよい。
【００３８】
本実施形態では、シーンスコアからではパノラマ画像のシーンを判定することができないときには代表画像フラグＦを入力しフラグＦが値１の部分画像がないときに中央配置画像のシーンに基づいて判定するものとしたが、これに限られず、パノラマ画像のシーンを判定することができないときには代表画像フラグＦの値を入力することなく中央配置画像のシーンに基づいてパノラマ画像のシーンを判定するものとしてもよい。
【００３９】
本実施形態では、メモリカード４２に保存されているファイルのデータ構造として、データの先頭を示すＳＯＩ（Start Of Image），Ｅｘｉｆ付属情報とサムネイル画像とを記録するマーカセグメントＡＰＰ１，ＳＰフォーマット付属情報を記録するマーカセグメントＡＰＰ２，ＪＰＥＧ形式の画像データ本体，データの終了を示すＥＯＩ（End Of Image）とから構成されるものを例示したが、このデータ構造や各マーカセグメントに記録されるデータは一例を示したものであり、これに限られるものではない。例えば、画像データはＪＰＥＧ形式としたがＢＭＰ形式やＧＩＦ形式，ＴＩＦＦ形式などの他のファイル形式としてもよいし、また、ＳＰフォーマット付属情報をマーカセグメントＡＰＰ２以外の任意のマーカセグメントＡＰＰｎ（ｎは任意の整数）に記録するものとしてもよい。
【００４０】
本実施形態では、メモリカード４２から画像ファイルを読み込むものとしたが、如何なるものから読み込むものとしてもよい。例えば、赤外線通信によりデジタルカメラからこれらのファイルを受信して一時的に記憶しているＲＡＭ６６から読み込むものとしてもよいし、ＵＳＢ接続により接続されたデジタルカメラ内のメモリからこれらのファイルを読み込むものとしてもよいし、コンピュータネットワーク（例えば、インターネット）上の他のコンピュータからこれらのファイルを受信して一時的に記憶しているＲＡＭ６６から読み込むものとしてもよい。これらの場合は、赤外線通信やＵＳＢ接続、ネットワーク接続を実現する赤外線通信ボードやＵＳＢコントローラ、ネットワークインタフェースボード等を備えることとなる。
【００４１】
本実施形態では、本発明をプリンタユニット２０とスキャナユニット３０とを備えるマルチファンクションプリンタ１０に適用するものとして説明したが、スキャナユニット３０を備えないプリンタに適用するものとしてもよい。
【００４２】
本実施形態では、インクジェット方式を採用し着色剤としてインクを利用するフルカラーのプリンタ１０としたが、電子写真方式を採用し着色剤としてトナーを利用するカラーレーザプリンタや、熱転写方式を採用し着色剤としてインクリボンを利用するカラープリンタとしてもよい。また、ＦＡＸ機やコピー機などの印刷装置としてもよい。また、画像処理装置としては、プリンタに限られるものではなく、パソコン、デジカメ及びデジタルビデオなどの画像処理機器に本発明を適用してもよい。
【図面の簡単な説明】
【００４３】
【図１】マルチファンクションプリンタ１０の外観図及びブロック図。
【図２】メモリカード４２に保存されている画像のデータ構造の一例を示す説明図。
【図３】パノラマ合成する際の部分画像の配置例を示す説明図。
【図４】パノラマ画像印刷処理ルーチンの一例を示すフローチャート。
【図５】パノラマ合成と補正の処理のイメージを示す説明図。
【図６】部分画像シーン判定処理ルーチンの一例を示すフローチャート。
【図７】パノラマ画像シーン判定処理ルーチンの一例を示すフローチャート。
【図８】変形例の部分画像シーン判定処理ルーチンを示すフローチャート。
【符号の説明】
【００４４】
１０  マルチファンクションプリンタ、１２  バス、２０  プリンタユニット、２２  プリンタＡＳＩＣ、２４  プリンタエンジン、３０  スキャナユニット、３２  スキャナＡＳＩＣ、３４  スキャナエンジン、３６  ガラス台、４０  メモリカードスロット、４２  メモリカード、４４  メモリカードコントローラ、５０  操作パネル、５２  表示部、５４  ボタン類、６０  メインコントローラ、６２  ＣＰＵ、６４  ＲＯＭ、６６  ＲＡＭ、６８  フラッシュメモリ、６９  内部通信インタフェース、Ｓ  用紙
【図１】
2010108238.tif 000003
【図２】
2010108238.tif 000004
【図３】
2010108238.tif 000005
【図４】
2010108238.tif 000006
【図６】
2010108238.tif 000007
【図７】
2010108238.tif 000008
【図８】
2010108238.tif 000009
【図５】
2010108238.tif 000010