(57)【要約】【課題】固定具を用いることなくパノラマ撮像を行った場合であっても、ずれの生じないパノラマ画像を生成すること。【解決手段】デジタルカメラ１は、パノラマ画像を合成するための複数の画像データを取得する画像取得部５２と、画像取得部５２が画像データを取得したタイミングにおけるデジタルカメラ１の傾き量を取得する傾き取得部５３と、画像取得部５２が取得した画像データ同士を合成する際に、傾き取得部５３が取得した傾き量に基づいて当該画像データを回転補正する補正部５４と、補正部５４により回転補正された画像データ同士を合成する合成部５６と、を備える。【選択図】図１
2013074573.tif 000002
【特許請求の範囲】
【請求項１】
撮像された画像を順次取得する画像取得手段と、
前記画像取得手段により取得された画像の基準状態に対する傾きを取得する傾き取得手段と、
前記傾き取得手段により取得された傾きに基づいて、前記画像取得手段により取得された画像を回転補正する補正手段と、
前記補正手段により回転補正された画像同士を合成して、広角画像を生成する生成手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記画像取得手段により取得された画像と前記傾き取得手段により取得された前記画像の傾きとを関連付けて記憶する記憶手段を更に備え、
前記補正手段は、前記記憶手段により関連付けて記憶された傾きに基づいて、前記画像の傾きの補正を行うことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記基準状態は、水平方向又は垂直方向、撮像開始時における前記水平方向又は垂直方向に対する本画像処理装置の状態、前記撮像開始時の直前における前記水平方向又は垂直方向に対する本画像処理装置の状態の何れかであることを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
撮像手段を更に備え、
前記画像取得手段は、前記撮像手段により撮像された画像を順次取得することを特徴とする請求項１乃至３の何れか記載の画像処理装置。
【請求項５】
前記傾き取得手段は、ジャイロセンサ又は加速度センサにより前記傾きを取得することを特徴とする請求項１乃至４の何れか記載の画像処理装置。
【請求項６】
撮像された画像を順次取得する画像取得ステップと、
前記画像取得ステップにより取得された画像の基準状態に対する傾きを取得する傾き取得ステップと、
前記傾き取得ステップにより取得された傾きに基づいて、前記画像取得ステップで取得された画像を回転補正する補正ステップと、
前記補正ステップにより回転補正された画像同士を合成して、広角画像を生成する生成ステップと、
を含むことを特徴とする画像処理方法。
【請求項７】
コンピュータを、
撮像された画像を順次取得する画像取得手段、
前記画像取得手段により取得された画像の基準状態に対する傾きを取得する傾き取得手段、
前記傾き取得手段により取得された傾きに基づいて、前記画像取得手段により取得された画像を回転補正する補正手段、
前記補正手段により回転補正された画像同士を合成して、広角画像を生成する生成手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広角画像を生成可能な画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
デジタルカメラや、撮像機能を有する携帯電話等においては、撮像画角の限界はレンズの焦点距離、撮像素子のサイズ等、装置本体が備えるハードスペックに依存している。
したがって、ハードスペックを超えるような広角画像、例えばいわゆるパノラマ画像を得るための技術のひとつとして、パノラマ撮像が従来から知られている。
【０００３】
上述のパノラマ撮像を実現するためには、ユーザは、例えば、シャッタスイッチを押下操作した状態を維持しながら、自身の体を軸にして、デジタルカメラを垂直方向にほぼ固定したまま水平方向に回転させるように移動させる。
すると、デジタルカメラは、その間に複数回の撮像処理を実行し、当該複数回の撮像処理の各々の結果得られた複数の画像（以下、「撮像画像」と呼ぶ）の画像データを横方向（水平方向）に合成することによって、パノラマ画像の画像データを生成する。
特許文献１には、複数回の撮像処理のたびに撮像画像における特徴点を検出し、隣接する２枚の撮像画像の特徴点同士が一致するように、複数の撮像画像の画像データを横方向に合成することによって、パノラマ画像の画像データを生成する手法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２８２１００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、デジタルカメラを三脚等で固定しないでパノラマ撮像を行う場合には、手ぶれの発生等によりデジタルカメラを垂直方向に固定することが困難なため、複数の撮像画像の画像データの重複部分が一致せず、パノラマ画像の構図に違和感が生じる虞がある。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、三脚等の固定具を用いることなくパノラマ撮像を行った場合であっても、重複部分におけるずれの生じないパノラマ画像を生成可能な画像処理装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一態様の画像処理装置は、撮像された画像を順次取得する画像取得手段と、前記画像取得手段により取得された画像の基準状態に対する傾きを取得する傾き取得手段と、前記傾き取得手段により取得された傾きに基づいて、前記画像取得手段により取得された画像を回転補正する補正手段と、前記補正手段により回転補正された画像同士を合成して、広角画像を生成する生成手段と、を備えたことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、三脚等の固定具を用いることなくパノラマ撮像を行った場合であっても、合成対象の画像同士の重複部分にずれが生じることを低減できる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る撮像装置の一実施形態としてのデジタルカメラのハードウェア構成を示すブロック図及びデジタルカメラの外観を示す斜視図である。
【図２】図１のデジタルカメラが、撮像処理を実行するための機能的構成を示す機能ブロック図である。
【図３】図２のデジタルカメラの動作モードとして、通常撮像モードとパノラマ撮像モードとが夫々選択された場合における撮像操作を説明する図である。
【図４】図３に示すパノラマ撮像モードによって生成されるパノラマ画像の一例を示す図である。
【図５】パノラマ画像の合成に用いられる撮像画像の回転補正の具体例を示す図である。
【図６】図２のデジタルカメラが実行する撮像処理の流れの一例を示すフローチャートである。
【図７】図６の撮像処理のうち、パノラマ撮像処理の詳細な流れを示すフローチャートである。
【図８】図７のパノラマ撮像処理のうち、画像合成処理の詳細な流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明に係る実施形態について説明する。
図１に、本発明に係る画像処理装置の一実施形態としてのデジタルカメラ１のハードウェア構成及び斜視図を示す。
図１（１）を参照して、デジタルカメラ１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、バス１４と、光学系１５と、撮像部１６と、画像処理部１７と、記憶部１８と、表示部１９と、操作部２０と、通信部２１と、センサ部２２と、ドライブ２３と、を備えている。
【００１１】
ＣＰＵ１１は、ＲＯＭ１２に記憶されているプログラム、又は記憶部１８からＲＡＭ１３にロードされたプログラムに従って、各種の処理を実行する。ＲＯＭ１２は、ＣＰＵ１１が各種の処理を実行するためのプログラムに加え、ＣＰＵ１１が各種の処理を実行する上において必要なデータ等を適宜記憶している。
【００１２】
例えば、本実施形態では、後述する図２の画像制御部５１乃至合成部５６の各機能を実現するプログラムが、ＲＯＭ１２や記憶部１８に記憶されている。したがって、ＣＰＵ１１が、これらのプログラムに従った処理を実行し、後述する画像処理部１７と適宜協働することで、後述する図２の画像制御部５１乃至合成部５６の各機能を実現することができる。
【００１３】
ＣＰＵ１１、ＲＯＭ１２、及びＲＡＭ１３は、バス１４を介して相互に接続されている。このバス１４にはまた、光学系１５、撮像部１６、画像処理部１７、記憶部１８、表示部１９、操作部２０、通信部２１、センサ部２２、及びドライブ２３が接続されている。
【００１４】
光学系１５は、被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。フォーカスレンズは、撮像部１６の撮像素子の受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。光学系１５にはまた、必要に応じて、焦点や、露出等を調整する周辺装置が設けられる。
【００１５】
撮像部１６は、光電変換素子やＡＦＥ（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ）等から構成されている。光電変換素子は、例えばＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）型の光電変換素子から構成される。光電変換素子は、一定時間毎に、その間に入射されて蓄積された被写体像の光信号を光電変換（撮像）して、その結果得られるアナログの電気信号をＡＦＥに順次供給する。
ＡＦＥは、当該アナログの電気信号に対して、Ａ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換処理等の各種信号処理を施し、その結果得られるデジタル信号を、撮像部１６の出力信号として出力する。
なお、以下、撮像部１６の出力信号を、「撮像画像の画像データ」と呼ぶ。したがって、撮像部１６からは撮像画像の画像データが出力されて、画像処理部１７等に適宜供給される。
【００１６】
画像処理部１７は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）や、ＶＲＡＭ（Ｖｉｄｅｏ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成されている。
画像処理部１７は、ＣＰＵ１１と協働して、撮像部１６から入力される撮像画像の画像データに対して、ノイズ低減、ホワイトバランス等の画像処理の他、後述する画像取得部５２乃至合成部５６の各機能の発揮に必要な各種画像処理を施す。
ここで、以下、特に断りのない限り、「画像データ」とは、撮像部１６から一定時間毎に出力される撮像画像の画像データ、又は、当該画像データが加工等されたものを呼ぶ。即ち、本実施形態では、当該画像データが処理単位として採用されている。
【００１７】
記憶部１８は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、画像処理部１７から出力された画像データや、後述するパノラマ途中画像の画像データ等を一時的に記憶する。また、記憶部１８は、各種画像処理に必要な各種データ等も記憶する。
【００１８】
表示部１９は、例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｅｖｉｃｅ：液晶表示装置）やＬＣＤ駆動部からなるフラット・ディスプレイ・パネルとして構成されている。表示部１９は、記憶部１８等から供給される画像データにより表現される画像、例えば後述するライブビュー画像を画像データ単位で表示する。
【００１９】
操作部２０は、シャッタスイッチ４１の他、図示はしないが、電源スイッチ、撮像モードスイッチ、再生スイッチ等の複数のスイッチを有している。操作部２０は、これらの複数のスイッチのうち所定のスイッチが押下操作されると、当該所定のスイッチに割り当てられている指令をＣＰＵ１１に供給する。
【００２０】
通信部２１は、インターネットを含むネットワークを介する、図示せぬ他の装置との間の通信を制御する。
【００２１】
センサ部２２は、パノラマ撮像時のユーザの体を軸にした回転に伴う、デジタルカメラ１の水平方向の変位量を検出し、検出結果を示すデジタル信号（以下、単に「角度変位量」と呼ぶ）をＣＰＵ１１に供給する。
また、センサ部２２は、デジタルカメラ１の傾きを検出し、検出結果を示すデジタル信号（以下、単に「傾き量」と呼ぶ）をＣＰＵ１１に供給する。ここで、本実施形態におけるデジタルカメラ１の傾きについて、図１（２）を参照して説明する。本実施形態では、被写体を撮影する光学系１５（レンズ）の軸と一致する軸Ｌを中心としたデジタルカメラ１の回転量Ｍを、デジタルカメラ１の傾きとしている。そこで、センサ部２２は、軸Ｌに対するデジタルカメラ１の回転量Ｍを算出し、傾き量としてＣＰＵ１１に供給する。なお、傾きの基準は、本発明の目的から逸脱しない範囲のものを採用することができ、例えば、水平方向（垂直方向）を基準とすることとしてもよく、当該水平方向（垂直方向）に対するパノラマ撮像の撮像開始時のデジタルカメラ１の状態を基準とすることとしてもよい。また、パノラマ撮像では、連続して撮像した画像データを合成するが、連続した撮像における直前の撮像時のデジタルカメラ１の水平方向（垂直方向）に対する状態を基準とすることとしても良い。
このようなセンサ部２２としては、ジャイロセンサや加速度センサ等の任意のセンサを用いることができる。
【００２２】
ドライブ２３には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア３１が適宜装着される。そして、リムーバブルメディア３１から読み出されたプログラムが、必要に応じて記憶部１８にインストールされる。また、リムーバブルメディア３１は、記憶部１８に記憶されている画像データ等の各種データも、記憶部１８と同様に記憶することができる。
【００２３】
図２は、図１のデジタルカメラ１が実行する処理のうち、被写体を撮像し、その結果得られる撮像画像の画像データをリムーバブルメディア３１に記録するまでの一連の処理（以下、「撮像処理」と呼ぶ）を実行するための機能的構成を示す機能ブロック図である。
【００２４】
図２に示すように、撮像処理が実行される場合には、ＣＰＵ１１においては、画像制御部５１が機能し、画像処理部１７においては、画像取得部５２と、傾き取得部５３と、補正部５４と、位置合わせ部５５と、合成部５６と、が機能する。なお、画像制御部５１の機能は、本実施形態のようにＣＰＵ１１に搭載されている必要は特になく、当該機能を、画像処理部１７に移譲させることも可能である。逆に、画像取得部５２乃至合成部５６の各機能は、本実施形態のように画像処理部１７に搭載されている必要は特になく、これらの機能のうち少なくとも一部を、ＣＰＵ１１に移譲させることも可能である。
【００２５】
画像制御部５１は、撮像処理の実行全体を制御する。例えば、画像制御部５１は、デジタルカメラ１の動作モードとして、通常撮像モードと、パノラマ撮像モードとを選択的に切り替えて、切り替え後の動作モードに従った処理を実行する。パノラマ撮像モードになると、画像取得部５２乃至合成部５６が、画像制御部５１の制御の下で動作する。
【００２６】
ここで、画像制御部５１乃至合成部５６の理解を容易にすべく、それらの機能的構成の説明の前に、図３及び図４を適宜参照して、パノラマ撮像モードについて詳しく説明する。
【００２７】
図３は、デジタルカメラ１の動作モードとして、通常撮像モードとパノラマ撮像モードとが夫々選択された場合における撮像操作を説明する図である。詳細には、図３（Ａ）は、通常撮像モードでの撮像操作を説明する図である。図３（Ｂ）は、パノラマ撮像モードでの撮像操作を説明する図である。
【００２８】
図３（Ａ）及び図３（Ｂ）の夫々において、デジタルカメラ１の奥にある絵は、デジタルカメラ１の被写体を含む実世界の様子を示している。また、図３（Ｂ）に示す縦の点線は、デジタルカメラ１の移動方向の各位置ａ、ｂ、ｃを示している。デジタルカメラ１の移動方向とは、ユーザが、自身の体を軸にしてデジタルカメラ１の撮像方向（角度）を変化させた場合における、デジタルカメラ１の光軸が移動する方向をいう。デジタルカメラ１の移動方向の変位量は、センサ部２２により角度変位量として検出される。
【００２９】
通常撮像モードとは、デジタルカメラ１の画角に対応するサイズ（解像度）の画像を、撮像する場合の動作モードをいう。
通常撮像モードでは、図３（Ａ）に示すように、ユーザは、デジタルカメラ１を固定させた状態で、操作部２０のシャッタスイッチ４１を下限まで押下する。なお、このように、シャッタスイッチ４１を下限まで押下する操作を、以下、「全押し操作」又は単に「全押し」と呼ぶ。
画像制御部５１は、全押し操作がなされた直後に画像処理部１７から出力された画像データを、記録対象としてリムーバブルメディア３１に記録させるまでの一連の処理の実行を制御する。
以下、このように、通常撮像モードにおいて画像制御部５１の制御により実行される一連の処理を、「通常撮像処理」と呼ぶ。
【００３０】
一方、パノラマ撮像モードとは、パノラマ画像を撮像する場合の動作モードをいう。
パノラマ撮像モードでは、図３（Ｂ）に示すように、ユーザは、シャッタスイッチ４１の全押し操作を維持した状態で、デジタルカメラ１を同図中黒矢印の方向に移動させる。
画像制御部５１は、全押し操作が維持されている間、画像取得部５２乃至合成部５６を制御して、センサ部２２からの角度変位量が一定値に達する毎に、その直後に撮像部１６から出力された画像データを取得するとともに記憶部１８に一時的に記憶していくことを繰り返す。
その後、画像制御部５１は、画像取得部５２乃至合成部５８を制御して、記憶部１８に記憶された隣接する画像データ同士を、水平方向に順番に合成することによって、パノラマ画像の画像データを生成する。ここで、隣接する画像データとは、パノラマ撮像中に、Ｋ回目（Ｋは１以上の整数値）の撮像により得られた撮像画像の画像データと、同パノラマ撮像中に、Ｋ＋１回目の撮像により得られた撮像画像の画像データとをいう。なお、画像データの合成については、隣接する２つの画像データの合成に限られず、合成対象となる２以上の任意の数の画像データを取得するたびに行うこととしてもよく、合成対象となる全ての画像データを取得した後に行うこととしてもよい。
その後、ユーザが全押し操作を解除する操作、即ちシャッタスイッチ４１から指等を離す操作（以下、このような操作を「リリース操作」と呼ぶ）をすることで、パノラマ撮像の終了を指示すると、画像制御部５１は、合成部５６等を制御して、パノラマ画像の画像データを、記録対象としてリムーバブルメディア３１に記録させる。
このように、画像制御部５１は、パノラマ撮像モードにおいて、画像取得部５２乃至合成部５６を制御して、パノラマ画像の画像データを生成し、それを記録対象としてリムーバブルメディア３１に記録させるまでの一連の処理を制御する。
以下、このように、パノラマ撮像モードにおいて画像制御部５１の制御により実行される一連の処理を「パノラマ撮像処理」と呼ぶ。
【００３１】
図４は、図３に示すパノラマ撮像モードにおいて、画像取得部５２乃至合成部５６により生成されたパノラマ画像の画像データを示している。
即ち、パノラマ撮像モードにおいて、図３（Ｂ）に示すような撮像操作が行われると、画像制御部５１の制御の下、画像取得部５２乃至合成部５６により、図４に示すようなパノラマ画像Ｐ１の画像データが生成され、リムーバブルメディア３１に記録される。
【００３２】
ここで、パノラマ撮像モードでは、ユーザが、デジタルカメラ１の撮像方向（角度）を変化させる必要があるが、デジタルカメラ１を三脚等で固定せずに手に持った状態でパノラマ撮像を行う場合には、手ぶれの発生等によりデジタルカメラ１が傾いてしまい、複数の画像データが垂直方向にずれてしまう虞がある。垂直方向にずれてしまった画像データ同士では、本来重複すべき部分の画素が異なることになり、そのまま合成した場合には、パノラマ画像の構図に影響を与えてしまうため、ずれが生じてしまった画像データを補正し、適切な構図のパノラマ画像を合成することが好ましい。
そのため、本実施形態に係るデジタルカメラ１では、画像取得部５２乃至合成部５８は、画像制御部５１の制御の下、次のような処理を実行する。
【００３３】
画像取得部５２は、デジタルカメラ１が所定量だけ移動する毎に（角度変位量が一定値になる毎）に、画像制御部５１から発行される取得指令を受けて、画像処理部１７から画像データを順次取得する。
【００３４】
傾き取得部５３は、画像取得部５２が画像データを取得するタイミングにおけるデジタルカメラ１の傾き量を取得する。即ち、傾き取得部５３は、パノラマ画像の合成対象となる画像データの画像撮像時におけるデジタルカメラ１の傾き量を、センサ部２２から取得する。画像撮像時のデジタルカメラ１の傾き量を取得すると、傾き取得部５３は、取得した傾き量を画像取得部５２が取得した画像データと関連付けて記憶部１８に記憶する。
【００３５】
補正部５４は、傾き取得部５３が取得した傾き量に基づいて、画像取得部５２が取得した画像データを補正する。即ち、補正部５４は、合成対象となる画像データを、当該画像データに関連付けて記憶部１８に記憶された傾き量に基づいて回転補正し、隣接する画像データ同士のずれを修復する。
【００３６】
位置合わせ部５５は、補正部５４により回転補正された画像データ同士の位置合わせを行う。画像データ同士の位置合わせは、任意の方法により行うことができ、例えば、画像データ同士の重複部分を検出し、当該重複部分の特徴点（画素）に基づいて位置合わせを行うことができる。
【００３７】
合成部５６は、画像取得部５２が取得した画像データのうち隣接する画像データ同士を合成し、パノラマ画像の画像データを生成する。このとき、合成部５６は、画像取得部５２が取得した画像データを補正部５４が回転補正し、位置合わせ部５５により位置合わせされた画像データ同士を合成することで、パノラマ画像の画像データを生成する。
画像取得部５２乃至合成部５６は、以上の処理により、これまでに取得された複数の画像データを、取得された順番で水平方向に合成することによって、パノラマ画像の画像データを生成する。
ここで、パノラマ画像の画像データの生成の際に、合成対象となる画像データ同士の傾きを補正すると、一方の画像データに対する他方の画像データの上下方向の領域の不足が生じることがある。このため、本実施形態では、補正部５４により回転補正される各画像の傾き量に応じて、パノラマ画像の上下方向の領域の不足が最も大きい画像データに合わせるように、生成するパノラマ画像の画像データの上下方向の幅を決定する。このようにすることで、傾き量を補正した合成対象の画像データから生成されるパノラマ画像をより自然なものとすることができる。
また、上述したパノラマ画像の画像データの上下方向の幅を一定にするために、撮像部１６による撮像される画像データの上下方向の幅がパノラマ画像の画像データの上下方向の幅よりも余裕があるように撮像画像の画像データを出力するようにしても良い。このようにすることで、補正される傾き量にかかわらず、上下方向に一定の幅をもったパノラマ画像の画像データを生成することができる。
【００３８】
以上のような、画像取得部５２乃至合成部５６により生成されるパノラマ画像について、図５を参照して説明する。図５（１）は、画像撮像時のデジタルカメラ１の状態を示し、図５（２）は、図５（１）で撮像された撮像画像を示し、図５（３）は、回転補正後の撮像画像を示す。また、図中（Ａ）は、パノラマ撮像開始時を示し、図中（Ｂ）は、パノラマ撮像のｔ１回目の撮像時を示す。このとき、ｔ１回目の撮像は、便宜上、パノラマ撮像の２回目の撮像時であるとする。即ち、（Ａ）のタイミングで撮像された撮像画像Ｆａと（Ｂ）のタイミングで撮像された撮像画像Ｆｂとは、隣接する撮像画像である。
【００３９】
パノラマ撮像の開始時において、画像取得部５２は、デジタルカメラ１が図５（１）（Ａ）に示す基準状態Ｘで撮像した撮像画像Ｆａ（図５（２）（Ａ））の画像データを取得している。
その後、パノラマ撮像のｔ１回目の撮像時に、画像取得部５２は、デジタルカメラ１が図５（１）（Ｂ）に示す状態Ｘ１で撮像した撮像画像Ｆｂ（図５（２）（Ｂ））の画像データを取得する。
【００４０】
ここで、パノラマ撮像では、ユーザは、体を軸に回転することでデジタルカメラ１を水平方向に移動させる必要があるが、手ぶれ等を原因としてデジタルカメラ１が傾いてしまう場合がある。図５では、ｔ１回目の撮像時にデジタルカメラ１は、基準状態Ｘとは異なる状態Ｘ１に傾いてしまっているため、撮像画像Ｆａと撮像画像Ｆｂとの間にずれが生じてしまっている。その結果、撮像画像Ｆａの画像データの合成部分Ｆａｍと、撮像画像Ｆｂの画像データの合成部分Ｆｂｍとは適切に重複せず、このまま合成した場合には、パノラマ画像の構図に違和感を生じさせてしまう虞がある。
【００４１】
そこで、傾き取得部５３は、ｔ１回目の撮像時に基準状態Ｘに対するデジタルカメラ１の傾き量Ｙを取得し、補正部５４は、当該傾き量Ｙに基づいて撮像画像Ｆｂの画像データを回転補正する。その結果、図５（３）に示すように、撮像画像Ｆａと撮像画像Ｆｂとのずれが修復される。
【００４２】
このような回転補正の後に、位置合わせ部５５は、撮像画像Ｆａの画像データの合成部分Ｆａｎと撮像画像Ｆｂの画像データの合成部分Ｆｂｎとの特徴点を検出し、隣接する撮像画像Ｆａ，Ｆｂの画像データの位置合わせを行い、合成部５６は、位置合わせした画像データの画像合成を行う。
これにより、パノラマ撮像時にデジタルカメラ１を垂直方向に固定できずに撮像された結果、ずれが生じてしまった画像データ同士であっても適切に合成することができ、構図に違和感のないパノラマ画像の画像データを得ることができる。
【００４３】
なお、本実施形態では、合成部分Ｆａｎ，Ｆｂｎは、画像データを構成する各画素のうち、線、又は長方形を構成する画素の集合体であり、合成部分の長手方向を「長さ」と呼び、長さ方向と直交する方向を「幅」と呼ぶこととする。
ここで、デジタルカメラ１の傾き量によっては、合成部分Ｆａｎと合成部分Ｆｂｎとの長さが異なることが想定される。そのため、合成部５６は、長さの異なる合成部分Ｆａｎ，Ｆｂｎに対して適宜必要な補完処理を行うことが好ましい。
【００４４】
以上、図２乃至図５を参照して、本発明が適用されるデジタルカメラ１の機能的構成について説明した。次に、図６を参照して、このような機能的構成を有するデジタルカメラ１が実行する撮像処理について説明する。
【００４５】
図６は、撮像処理の流れの一例を示すフローチャートである。本実施形態では、撮像処理は、デジタルカメラ１の図示せぬ電源がオン状態になって、所定の条件が満たされると開始する。
【００４６】
ステップＳ１において、図２の画像制御部５１は、操作検出処理及び初期設定処理を実行する。
操作検出処理とは、操作部２０の各スイッチの状態を検出する処理をいう。画像制御部５１は、操作検出処理を実行することにより、動作モードとして、通常撮像モードが設定されているのか、それともパノラマ撮像モードが設定されているのかを検出することができる。
また、本実施形態の初期設定処理の１つとして、角度変位量の一定値と、角度変位量の最大限界である角度変位閾値（例えば、３６０度）とを設定する処理が採用されている。具体的には、角度変位量の一定値と、角度変位量の最大限界である角度変位閾値（例えば、３６０度）とは、図１のＲＯＭ１２に予め記憶されており、ＲＯＭ１２から読み出されてＲＡＭ１３に書き込まれることで設定される。なお、角度変位量の一定値は、後述する図７のステップＳ３１の判定処理で用いられる。一方、角度変位量の最大限界である角度変位閾値（例えば、３６０度）は、同図のステップＳ３６の判定処理で用いられる。
【００４７】
ステップＳ２において、画像制御部５１は、ライブビュー撮像処理及びライブビュー表示処理を開始する。
即ち、画像制御部５１は、撮像部１６等を制御して、撮像部１６による撮像動作を継続させる。そして、画像制御部５１は、撮像部１６による撮像動作が継続されている間、当該撮像部１６から順次出力される画像データを、メモリ（本実施形態では記憶部１８）に一時的に記憶させる。このような画像制御部５１による一連の制御処理が、ここでいう「ライブビュー撮像処理」である。
また、画像制御部５１は、ライブビュー撮像時にメモリ（本実施形態では記憶部１８）に一時的に記録された各画像データを順次読み出して、各々に対応する画像を表示部１９に順次表示させる。このような画像制御部５１による一連の制御処理が、ここでいう「ライブビュー表示処理」である。なお、ライブビュー表示処理により表示部１９に表示されている画像を、以下、「ライブビュー画像」と呼ぶ。
【００４８】
ステップＳ３において、画像制御部５１は、シャッタスイッチ４１が半押しされたか否かを判定する。ここで、半押しとは、操作部２０のシャッタスイッチ４１の途中（下限に至らない所定の位置）まで押下する操作をいい、以下、「半押し操作」とも適宜呼ぶ。
シャッタスイッチ４１が半押しされていない場合、ステップＳ３においてＮＯであると判定されて、処理はステップＳ９に進む。
【００４９】
ステップＳ９において、画像制御部５１は、処理の終了指示がなされたか否かを判別する。処理の終了指示は、特に限定されないが、本実施形態では、デジタルカメラ１の図示せぬ電源がオフ状態になった旨の通知が採用されているものとする。
したがって、本実施形態では電源がオフ状態になりその旨が画像制御部５１に通知されると、ステップＳ９においてＹＥＳであると判定されて、撮像処理全体が終了となる。
これに対して、電源がオン状態の場合には、電源がオフ状態になった旨の通知はなされないので、ステップＳ９においてＮＯであると判定され、処理はステップＳ２に戻され、それ以降の処理が繰り返される。即ち、本実施形態では電源がオン状態を維持している限り、シャッタスイッチ４１が半押しされるまでの間、ステップＳ３：ＮＯ及びステップＳ９：ＮＯのループ処理が繰り返し実行されて、撮像処理は待機状態となる。
【００５０】
他方、ライブビュー表示処理中に、シャッタスイッチ４１が半押しされると、ステップＳ３においてＹＥＳであると判定されて、処理はステップＳ４に進む。
ステップＳ４において、画像制御部５１は、撮像部１６を制御して、いわゆるＡＦ（Ａｕｔｏ  Ｆｏｃｕｓ）処理を実行する。
【００５１】
ステップＳ５において、画像制御部５１は、シャッタスイッチ４１が全押しされたか否かを判定する。
シャッタスイッチ４１が全押しされない場合には、ステップＳ５においてＮＯであると判定される。この場合には、処理はステップＳ４に戻され、それ以降の処理が繰り返される。即ち、本実施形態では、シャッタスイッチ４１が全押しされるまでの間、ステップＳ４、及びステップＳ５：ＮＯのループ処理が繰り返し実行されて、ＡＦ処理がその都度実行される。
【００５２】
その後、シャッタスイッチ４１が全押しされると、ステップＳ５においてＹＥＳであると判定されて、処理はステップＳ６に進む。ステップＳ６において、画像制御部５１は、現在設定されている撮像モードがパノラマ撮像モードであるか否かを判定する。
パノラマ撮像モードでない場合、即ち通常撮像モードが現在設定されている場合、ステップＳ６においてＮＯであると判定され、処理はステップＳ７に進む。ステップＳ７において、画像制御部５１は、上述した通常撮像処理を実行する。即ち、全押し操作がなされた直後に画像処理部１７から出力された１つの画像データが、記録対象としてリムーバブルメディア３１に記録される。これにより、ステップＳ７の通常撮像処理が終了して、処理はステップＳ９に進む。なお、ステップＳ９以降の処理については上述したので、ここではその説明は省略する。
【００５３】
これに対して、パノラマ撮像モードが現在設定されている場合、ステップＳ６においてＹＥＳであると判定されて、処理はステップＳ８に進む。
ステップＳ８において、画像制御部５１は、上述したパノラマ撮像処理を実行する。パノラマ撮像処理の詳細については図７を参照して後述するが、画像制御部５１は、パノラマ画像の画像データを生成し、記録対象としてリムーバブルメディア３１に記録する。これにより、ステップＳ８のパノラマ撮像処理が終了し、処理はステップＳ９に進む。なお、ステップＳ９以降の処理については上述したので、ここではその説明は省略する。
【００５４】
以上、図６を参照して、撮像処理の流れについて説明した。次に、図７を参照して、図６の撮像処理のうち、ステップＳ８のパノラマ撮像処理の詳細な流れについて説明する。
図７は、パノラマ撮像処理の詳細な流れを説明するフローチャートである。上述したように、パノラマ撮像モードの状態でシャッタスイッチ４１が全押しされると、図６のステップＳ５及びＳ６においてＹＥＳと判定され、処理はステップＳ８に進み、パノラマ撮像処理として次のような処理が実行される。
【００５５】
ステップＳ３１において、画像制御部５１は、デジタルカメラ１が一定距離動いたか否かを判定する。即ち、画像制御部５１は、センサ部２２から供給される角度変位量が一定値に達したか否かを判定する。
デジタルカメラ１が一定距離動いていない場合、ステップＳ３１においてＮＯであると判定される。この場合には、処理はステップＳ３１に戻される。即ち、デジタルカメラ１が一定距離動くまでパノラマ撮像処理が待機状態となる。
【００５６】
これに対して、デジタルカメラ１が一定距離動いた場合、ステップＳ３１において、ＹＥＳであると判定されて、処理はステップＳ３２に進む。
ステップＳ３２において、画像取得部５２は、画像制御部５１の制御の下、撮像部１６から出力される画像データ（合成対象）を取得する。即ち、画像取得部５２は、センサ部２２から供給される角度変位量が一定値に達する毎に、その直後に撮像部１６から出力された画像データを取得する。
【００５７】
ステップＳ３３において、傾き取得部５３は、画像制御部５１の制御の下、画像取得部５２が画像データを取得したタイミングのデジタルカメラ１の傾き量をセンサ部２２から取得し、画像データと関連付けて記憶部１８に記憶する。なお、傾き取得部５３が取得する傾き量の基準については、任意に設定することができ、水平方向としてもよく、パノラマ撮像の最初の撮像時のデジタルカメラ１の状態としてもよく、直前の画像撮像時のデジタルカメラ１の状態とすることとしてもよい。
【００５８】
続いて、ステップＳ３４において、画像制御部５１は、画像合成処理を行う。画像合成処理の詳細については図８を参照して後述するが、画像制御部５１は、合成部５６を制御し、隣接する画像データ同士を順次合成し、パノラマ画像の画像データを生成する。これにより、ステップＳ３４の画像合成処理が終了し、処理はステップＳ３５に移る。
【００５９】
ステップＳ３５において、画像制御部５１は、ユーザによる終了指示があるか否かを判定する。ユーザによる終了指示については、任意に設定することができるが、例えば、ユーザによるシャッタスイッチ４１の全押しの解除を、ユーザによる終了指示とすることができる。
ユーザによる終了指示があった場合、ステップＳ３５においてＹＥＳであると判定され、パノラマ撮像処理が終了する。
【００６０】
他方、ユーザによる終了指示がない場合、ステップＳ３５においてＮＯであると判定され、この場合には、処理はステップＳ３６に進む。
ステップＳ３６において、画像制御部５１は、画像取得方向の移動距離が閾値を超えたか否かを判定する。即ち、画像制御部５１は、センサ部２２から供給される角度変位量の累積値が、最大限界である角度変位閾値（例えば、３６０度）に達したか否かを判定する。
【００６１】
画像取得方向の移動距離が閾値を超えた場合、ステップＳ３６においてＹＥＳであると判定され、パノラマ撮像処理が終了する。
他方、画像取得方向の移動距離が閾値を超えていない場合、ステップＳ３６においてＮＯであると判定され、この場合には、処理はステップＳ３１に戻される。即ち、ユーザによる終了指示がなく、画像取得方向の移動距離が閾値を超えていない場合には、パノラマ撮像処理が継続し、新たな画像データの取得及び当該画像データの合成といった処理が繰り返される。
【００６２】
以上、図７を参照して、パノラマ撮像処理の流れについて説明した。次に、図８を参照して、図７のパノラマ撮像処理のうち、ステップＳ３４の画像合成処理の詳細な流れについて説明する。図８は、画像合成処理の詳細な流れを説明するフローチャートである。
【００６３】
ステップＳ５１において、補正部５４は、画像制御部５１の制御の下、図７のステップＳ３３で取得した傾き量に基づいて、当該傾き量に関連付けられた画像データを回転補正する。
【００６４】
続いて、ステップＳ５２において、位置合わせ部５５は、画像制御部５１の制御の下、回転補正した画像データの特徴点を検出し、隣接する画像データ同士での位置合わせを行う。例えば、位置合わせ部５５は、隣接する画像データ同士の重複部分である合成部分を検出し、当該合成部分の特徴点（画素）に基づいて位置合わせを行う。
【００６５】
続いて、ステップＳ５３において、合成部５６は、画像制御部５１の制御の下、位置合わせした画像データ同士を合成し、パノラマ画像の画像データを生成し、記憶部１８やリムーバブルメディア３１に記憶した後、画像合成処理を終了する。
【００６６】
以上のような本実施形態のデジタルカメラ１によれば、傾き取得部５３は、画像取得部５２がパノラマ撮像用の画像データを取得するタイミングのデジタルカメラ１の傾き量をセンサ部２２から取得し、補正部５４は、取得した傾き量に基づいて画像データを回転補正する。その後、回転補正した画像データを位置合わせ部５５が位置合わせした後に、合成部５６が位置合わせした画像データ同士を合成し、パノラマ画像の画像データを生成する。
これにより、パノラマ撮像のための連続的な撮像において、手ぶれ等を原因としてデジタルカメラ１が傾いてしまった場合であっても、当該傾きに伴う画像データのずれを補正することができ、結果として、三脚等の固定具を用いることなくパノラマ撮像を行った場合であっても、ずれが生じることなく構図に違和感のないパノラマ画像を得ることができる。
また、図５（３）に表させるように、回転補正された画像は、水平に撮像された画像と比較して縦の領域が増減する部分が発生するが、パノラマ画像を生成する際には、回転補正の影響に応じて、生成するパノラマ画像の縦の領域を減ずるようにしても良い。
【００６７】
このとき、傾き取得部５３は、傾き量を取得すると、傾き量を取得したタイミングで画像取得部５２が取得した画像データと関連付けて記憶部１８に記憶しておく。これにより、傾き量に基づく画像データの回転補正を適切に行うことができる。
【００６８】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００６９】
例えば、上述の実施形態では、１つの画像データを取得するたびに画像合成処理を行うこととしているが（図７のステップＳ３１でＹＥＳと判定されるとステップＳ３４が行われる）、これに限られるものではなく、パノラマ合成用の全ての画像データを取得した後に画像合成処理を行うこととしてもよく、２以上の任意の数の画像データを取得するたびに画像合成処理を行うこととしてもよい。
【００７０】
また、上述の実施形態では、本発明が適用される画像処理装置は、デジタルカメラ１を例として説明したが、特にこれに限定されない。本発明は、パノラマ画像の生成が可能になる機能を有する電子機器一般に適用することができ、例えば、携帯型パーソナルコンピュータ、携帯型ナビゲーション装置、ポータブルゲーム機等に幅広く適用可能である。
【００７１】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
【００７２】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、画像処理装置又は当該画像処理装置を制御するコンピュータ等にネットワークや記録媒体からインストールされる。ここで、コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。或いはまた、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００７３】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア３１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、光磁気ディスク等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されているＲＯＭ１２や記憶部１８に含まれるハードディスク等で構成される。
【００７４】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【００７５】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、更に、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００７６】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
撮像された画像を順次取得する画像取得手段と、
前記画像取得手段により取得された画像の基準状態に対する傾きを取得する傾き取得手段と、
前記傾き取得手段により取得された傾きに基づいて、前記画像取得手段により取得された画像を回転補正する補正手段と、
前記補正手段により回転補正された画像同士を合成して、広角画像を生成する生成手段と、
を備えたことを特徴とする画像処理装置。
［付記２］
前記画像取得手段により取得された画像と前記傾き取得手段により取得された前記画像の傾きとを関連付けて記憶する記憶手段を更に備え、
前記補正手段は、前記記憶手段により関連付けて記憶された傾きに基づいて、前記画像の傾きの補正を行うことを特徴とする付記１記載の画像処理装置。
［付記３］
前記基準状態は、水平方向又は垂直方向、撮像開始時における前記水平方向又は垂直方向に対する本画像処理装置の状態、前記撮像開始時の直前における前記水平方向又は垂直方向に対する本画像処理装置の状態の何れかであることを特徴とする付記１又は２記載の画像処理装置。
［付記４］
撮像手段を更に備え、
前記画像取得手段は、前記撮像手段により撮像された画像を順次取得することを特徴とする付記１乃至３の何れか記載の画像処理装置。
［付記５］
前記傾き取得手段は、ジャイロセンサ又は加速度センサにより前記傾きを取得することを特徴とする付記１乃至４の何れか記載の画像処理装置。
［付記６］
撮像された画像を順次取得する画像取得ステップと、
前記画像取得ステップにより取得された画像の基準状態に対する傾きを取得する傾き取得ステップと、
前記傾き取得ステップにより取得された傾きに基づいて、前記画像取得ステップで取得された画像を回転補正する補正ステップと、
前記補正ステップにより回転補正された画像同士を合成して、広角画像を生成する生成ステップと、
を含むことを特徴とする画像処理方法。
［付記７］
コンピュータを、
撮像された画像を順次取得する画像取得手段、
前記画像取得手段により取得された画像の基準状態に対する傾きを取得する傾き取得手段、
前記傾き取得手段により取得された傾きに基づいて、前記画像取得手段により取得された画像を回転補正する補正手段、
前記補正手段により回転補正された画像同士を合成して、広角画像を生成する生成手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【００７７】
１・・・デジタルカメラ（画像処理装置）、１１・・・ＣＰＵ（制御手段）、１２・・・ＲＯＭ、１３・・・ＲＡＭ、１５・・・光学系、１６・・・撮像部、１７・・・画像処理部（画像取得手段、傾き取得手段、補正手段、生成手段）、１８・・・記憶部、１９・・・表示部、２０・・・操作部、２１・・通信部、２２・・・センサ部、２３・・・ドライブ、３１・・・リムーバブルメディア、４１・・・シャッタスイッチ、５１・・・撮像制御部（制御手段）、５２・・・画像取得部（画像取得手段）、５３・・・傾き取得部（傾き取得手段）、５４・・・補正部（補正手段）、５５・・・位置合わせ部、５６・・・合成部（生成手段）
【図１】
2013074573.tif 000003
【図２】
2013074573.tif 000004
【図３】
2013074573.tif 000005
【図４】
2013074573.tif 000006
【図５】
2013074573.tif 000007
【図６】
2013074573.tif 000008
【図７】
2013074573.tif 000009
【図８】
2013074573.tif 000010