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