説明

画像処理装置、画像処理方法及びプログラム

【課題】固定具を用いることなくパノラマ撮像を行った場合であっても、ずれの生じないパノラマ画像を生成すること。
【解決手段】デジタルカメラ1は、パノラマ画像を合成するための複数の画像データを取得する画像取得部52と、画像取得部52が画像データを取得したタイミングにおけるデジタルカメラ1の傾き量を取得する傾き取得部53と、画像取得部52が取得した画像データ同士を合成する際に、傾き取得部53が取得した傾き量に基づいて当該画像データを回転補正する補正部54と、補正部54により回転補正された画像データ同士を合成する合成部56と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、広角画像を生成可能な画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【0002】
デジタルカメラや、撮像機能を有する携帯電話等においては、撮像画角の限界はレンズの焦点距離、撮像素子のサイズ等、装置本体が備えるハードスペックに依存している。
したがって、ハードスペックを超えるような広角画像、例えばいわゆるパノラマ画像を得るための技術のひとつとして、パノラマ撮像が従来から知られている。
【0003】
上述のパノラマ撮像を実現するためには、ユーザは、例えば、シャッタスイッチを押下操作した状態を維持しながら、自身の体を軸にして、デジタルカメラを垂直方向にほぼ固定したまま水平方向に回転させるように移動させる。
すると、デジタルカメラは、その間に複数回の撮像処理を実行し、当該複数回の撮像処理の各々の結果得られた複数の画像(以下、「撮像画像」と呼ぶ)の画像データを横方向(水平方向)に合成することによって、パノラマ画像の画像データを生成する。
特許文献1には、複数回の撮像処理のたびに撮像画像における特徴点を検出し、隣接する2枚の撮像画像の特徴点同士が一致するように、複数の撮像画像の画像データを横方向に合成することによって、パノラマ画像の画像データを生成する手法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−282100号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところが、デジタルカメラを三脚等で固定しないでパノラマ撮像を行う場合には、手ぶれの発生等によりデジタルカメラを垂直方向に固定することが困難なため、複数の撮像画像の画像データの重複部分が一致せず、パノラマ画像の構図に違和感が生じる虞がある。
【0006】
本発明は、このような状況に鑑みてなされたものであり、三脚等の固定具を用いることなくパノラマ撮像を行った場合であっても、重複部分におけるずれの生じないパノラマ画像を生成可能な画像処理装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の一態様の画像処理装置は、撮像された画像を順次取得する画像取得手段と、前記画像取得手段により取得された画像の基準状態に対する傾きを取得する傾き取得手段と、前記傾き取得手段により取得された傾きに基づいて、前記画像取得手段により取得された画像を回転補正する補正手段と、前記補正手段により回転補正された画像同士を合成して、広角画像を生成する生成手段と、を備えたことを特徴とする。
【発明の効果】
【0008】
本発明によれば、三脚等の固定具を用いることなくパノラマ撮像を行った場合であっても、合成対象の画像同士の重複部分にずれが生じることを低減できる。
【図面の簡単な説明】
【0009】
【図1】本発明に係る撮像装置の一実施形態としてのデジタルカメラのハードウェア構成を示すブロック図及びデジタルカメラの外観を示す斜視図である。
【図2】図1のデジタルカメラが、撮像処理を実行するための機能的構成を示す機能ブロック図である。
【図3】図2のデジタルカメラの動作モードとして、通常撮像モードとパノラマ撮像モードとが夫々選択された場合における撮像操作を説明する図である。
【図4】図3に示すパノラマ撮像モードによって生成されるパノラマ画像の一例を示す図である。
【図5】パノラマ画像の合成に用いられる撮像画像の回転補正の具体例を示す図である。
【図6】図2のデジタルカメラが実行する撮像処理の流れの一例を示すフローチャートである。
【図7】図6の撮像処理のうち、パノラマ撮像処理の詳細な流れを示すフローチャートである。
【図8】図7のパノラマ撮像処理のうち、画像合成処理の詳細な流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明に係る実施形態について説明する。
図1に、本発明に係る画像処理装置の一実施形態としてのデジタルカメラ1のハードウェア構成及び斜視図を示す。
図1(1)を参照して、デジタルカメラ1は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、バス14と、光学系15と、撮像部16と、画像処理部17と、記憶部18と、表示部19と、操作部20と、通信部21と、センサ部22と、ドライブ23と、を備えている。
【0011】
CPU11は、ROM12に記憶されているプログラム、又は記憶部18からRAM13にロードされたプログラムに従って、各種の処理を実行する。ROM12は、CPU11が各種の処理を実行するためのプログラムに加え、CPU11が各種の処理を実行する上において必要なデータ等を適宜記憶している。
【0012】
例えば、本実施形態では、後述する図2の画像制御部51乃至合成部56の各機能を実現するプログラムが、ROM12や記憶部18に記憶されている。したがって、CPU11が、これらのプログラムに従った処理を実行し、後述する画像処理部17と適宜協働することで、後述する図2の画像制御部51乃至合成部56の各機能を実現することができる。
【0013】
CPU11、ROM12、及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、光学系15、撮像部16、画像処理部17、記憶部18、表示部19、操作部20、通信部21、センサ部22、及びドライブ23が接続されている。
【0014】
光学系15は、被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。フォーカスレンズは、撮像部16の撮像素子の受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。光学系15にはまた、必要に応じて、焦点や、露出等を調整する周辺装置が設けられる。
【0015】
撮像部16は、光電変換素子やAFE(Analog Front End)等から構成されている。光電変換素子は、例えばCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)型の光電変換素子から構成される。光電変換素子は、一定時間毎に、その間に入射されて蓄積された被写体像の光信号を光電変換(撮像)して、その結果得られるアナログの電気信号をAFEに順次供給する。
AFEは、当該アナログの電気信号に対して、A/D(Analog/Digital)変換処理等の各種信号処理を施し、その結果得られるデジタル信号を、撮像部16の出力信号として出力する。
なお、以下、撮像部16の出力信号を、「撮像画像の画像データ」と呼ぶ。したがって、撮像部16からは撮像画像の画像データが出力されて、画像処理部17等に適宜供給される。
【0016】
画像処理部17は、DSP(Digital Signal Processor)や、VRAM(Video Random Access Memory)等から構成されている。
画像処理部17は、CPU11と協働して、撮像部16から入力される撮像画像の画像データに対して、ノイズ低減、ホワイトバランス等の画像処理の他、後述する画像取得部52乃至合成部56の各機能の発揮に必要な各種画像処理を施す。
ここで、以下、特に断りのない限り、「画像データ」とは、撮像部16から一定時間毎に出力される撮像画像の画像データ、又は、当該画像データが加工等されたものを呼ぶ。即ち、本実施形態では、当該画像データが処理単位として採用されている。
【0017】
記憶部18は、DRAM(Dynamic Random Access Memory)等で構成され、画像処理部17から出力された画像データや、後述するパノラマ途中画像の画像データ等を一時的に記憶する。また、記憶部18は、各種画像処理に必要な各種データ等も記憶する。
【0018】
表示部19は、例えばLCD(Liquid Crystal Device:液晶表示装置)やLCD駆動部からなるフラット・ディスプレイ・パネルとして構成されている。表示部19は、記憶部18等から供給される画像データにより表現される画像、例えば後述するライブビュー画像を画像データ単位で表示する。
【0019】
操作部20は、シャッタスイッチ41の他、図示はしないが、電源スイッチ、撮像モードスイッチ、再生スイッチ等の複数のスイッチを有している。操作部20は、これらの複数のスイッチのうち所定のスイッチが押下操作されると、当該所定のスイッチに割り当てられている指令をCPU11に供給する。
【0020】
通信部21は、インターネットを含むネットワークを介する、図示せぬ他の装置との間の通信を制御する。
【0021】
センサ部22は、パノラマ撮像時のユーザの体を軸にした回転に伴う、デジタルカメラ1の水平方向の変位量を検出し、検出結果を示すデジタル信号(以下、単に「角度変位量」と呼ぶ)をCPU11に供給する。
また、センサ部22は、デジタルカメラ1の傾きを検出し、検出結果を示すデジタル信号(以下、単に「傾き量」と呼ぶ)をCPU11に供給する。ここで、本実施形態におけるデジタルカメラ1の傾きについて、図1(2)を参照して説明する。本実施形態では、被写体を撮影する光学系15(レンズ)の軸と一致する軸Lを中心としたデジタルカメラ1の回転量Mを、デジタルカメラ1の傾きとしている。そこで、センサ部22は、軸Lに対するデジタルカメラ1の回転量Mを算出し、傾き量としてCPU11に供給する。なお、傾きの基準は、本発明の目的から逸脱しない範囲のものを採用することができ、例えば、水平方向(垂直方向)を基準とすることとしてもよく、当該水平方向(垂直方向)に対するパノラマ撮像の撮像開始時のデジタルカメラ1の状態を基準とすることとしてもよい。また、パノラマ撮像では、連続して撮像した画像データを合成するが、連続した撮像における直前の撮像時のデジタルカメラ1の水平方向(垂直方向)に対する状態を基準とすることとしても良い。
このようなセンサ部22としては、ジャイロセンサや加速度センサ等の任意のセンサを用いることができる。
【0022】
ドライブ23には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア31が適宜装着される。そして、リムーバブルメディア31から読み出されたプログラムが、必要に応じて記憶部18にインストールされる。また、リムーバブルメディア31は、記憶部18に記憶されている画像データ等の各種データも、記憶部18と同様に記憶することができる。
【0023】
図2は、図1のデジタルカメラ1が実行する処理のうち、被写体を撮像し、その結果得られる撮像画像の画像データをリムーバブルメディア31に記録するまでの一連の処理(以下、「撮像処理」と呼ぶ)を実行するための機能的構成を示す機能ブロック図である。
【0024】
図2に示すように、撮像処理が実行される場合には、CPU11においては、画像制御部51が機能し、画像処理部17においては、画像取得部52と、傾き取得部53と、補正部54と、位置合わせ部55と、合成部56と、が機能する。なお、画像制御部51の機能は、本実施形態のようにCPU11に搭載されている必要は特になく、当該機能を、画像処理部17に移譲させることも可能である。逆に、画像取得部52乃至合成部56の各機能は、本実施形態のように画像処理部17に搭載されている必要は特になく、これらの機能のうち少なくとも一部を、CPU11に移譲させることも可能である。
【0025】
画像制御部51は、撮像処理の実行全体を制御する。例えば、画像制御部51は、デジタルカメラ1の動作モードとして、通常撮像モードと、パノラマ撮像モードとを選択的に切り替えて、切り替え後の動作モードに従った処理を実行する。パノラマ撮像モードになると、画像取得部52乃至合成部56が、画像制御部51の制御の下で動作する。
【0026】
ここで、画像制御部51乃至合成部56の理解を容易にすべく、それらの機能的構成の説明の前に、図3及び図4を適宜参照して、パノラマ撮像モードについて詳しく説明する。
【0027】
図3は、デジタルカメラ1の動作モードとして、通常撮像モードとパノラマ撮像モードとが夫々選択された場合における撮像操作を説明する図である。詳細には、図3(A)は、通常撮像モードでの撮像操作を説明する図である。図3(B)は、パノラマ撮像モードでの撮像操作を説明する図である。
【0028】
図3(A)及び図3(B)の夫々において、デジタルカメラ1の奥にある絵は、デジタルカメラ1の被写体を含む実世界の様子を示している。また、図3(B)に示す縦の点線は、デジタルカメラ1の移動方向の各位置a、b、cを示している。デジタルカメラ1の移動方向とは、ユーザが、自身の体を軸にしてデジタルカメラ1の撮像方向(角度)を変化させた場合における、デジタルカメラ1の光軸が移動する方向をいう。デジタルカメラ1の移動方向の変位量は、センサ部22により角度変位量として検出される。
【0029】
通常撮像モードとは、デジタルカメラ1の画角に対応するサイズ(解像度)の画像を、撮像する場合の動作モードをいう。
通常撮像モードでは、図3(A)に示すように、ユーザは、デジタルカメラ1を固定させた状態で、操作部20のシャッタスイッチ41を下限まで押下する。なお、このように、シャッタスイッチ41を下限まで押下する操作を、以下、「全押し操作」又は単に「全押し」と呼ぶ。
画像制御部51は、全押し操作がなされた直後に画像処理部17から出力された画像データを、記録対象としてリムーバブルメディア31に記録させるまでの一連の処理の実行を制御する。
以下、このように、通常撮像モードにおいて画像制御部51の制御により実行される一連の処理を、「通常撮像処理」と呼ぶ。
【0030】
一方、パノラマ撮像モードとは、パノラマ画像を撮像する場合の動作モードをいう。
パノラマ撮像モードでは、図3(B)に示すように、ユーザは、シャッタスイッチ41の全押し操作を維持した状態で、デジタルカメラ1を同図中黒矢印の方向に移動させる。
画像制御部51は、全押し操作が維持されている間、画像取得部52乃至合成部56を制御して、センサ部22からの角度変位量が一定値に達する毎に、その直後に撮像部16から出力された画像データを取得するとともに記憶部18に一時的に記憶していくことを繰り返す。
その後、画像制御部51は、画像取得部52乃至合成部58を制御して、記憶部18に記憶された隣接する画像データ同士を、水平方向に順番に合成することによって、パノラマ画像の画像データを生成する。ここで、隣接する画像データとは、パノラマ撮像中に、K回目(Kは1以上の整数値)の撮像により得られた撮像画像の画像データと、同パノラマ撮像中に、K+1回目の撮像により得られた撮像画像の画像データとをいう。なお、画像データの合成については、隣接する2つの画像データの合成に限られず、合成対象となる2以上の任意の数の画像データを取得するたびに行うこととしてもよく、合成対象となる全ての画像データを取得した後に行うこととしてもよい。
その後、ユーザが全押し操作を解除する操作、即ちシャッタスイッチ41から指等を離す操作(以下、このような操作を「リリース操作」と呼ぶ)をすることで、パノラマ撮像の終了を指示すると、画像制御部51は、合成部56等を制御して、パノラマ画像の画像データを、記録対象としてリムーバブルメディア31に記録させる。
このように、画像制御部51は、パノラマ撮像モードにおいて、画像取得部52乃至合成部56を制御して、パノラマ画像の画像データを生成し、それを記録対象としてリムーバブルメディア31に記録させるまでの一連の処理を制御する。
以下、このように、パノラマ撮像モードにおいて画像制御部51の制御により実行される一連の処理を「パノラマ撮像処理」と呼ぶ。
【0031】
図4は、図3に示すパノラマ撮像モードにおいて、画像取得部52乃至合成部56により生成されたパノラマ画像の画像データを示している。
即ち、パノラマ撮像モードにおいて、図3(B)に示すような撮像操作が行われると、画像制御部51の制御の下、画像取得部52乃至合成部56により、図4に示すようなパノラマ画像P1の画像データが生成され、リムーバブルメディア31に記録される。
【0032】
ここで、パノラマ撮像モードでは、ユーザが、デジタルカメラ1の撮像方向(角度)を変化させる必要があるが、デジタルカメラ1を三脚等で固定せずに手に持った状態でパノラマ撮像を行う場合には、手ぶれの発生等によりデジタルカメラ1が傾いてしまい、複数の画像データが垂直方向にずれてしまう虞がある。垂直方向にずれてしまった画像データ同士では、本来重複すべき部分の画素が異なることになり、そのまま合成した場合には、パノラマ画像の構図に影響を与えてしまうため、ずれが生じてしまった画像データを補正し、適切な構図のパノラマ画像を合成することが好ましい。
そのため、本実施形態に係るデジタルカメラ1では、画像取得部52乃至合成部58は、画像制御部51の制御の下、次のような処理を実行する。
【0033】
画像取得部52は、デジタルカメラ1が所定量だけ移動する毎に(角度変位量が一定値になる毎)に、画像制御部51から発行される取得指令を受けて、画像処理部17から画像データを順次取得する。
【0034】
傾き取得部53は、画像取得部52が画像データを取得するタイミングにおけるデジタルカメラ1の傾き量を取得する。即ち、傾き取得部53は、パノラマ画像の合成対象となる画像データの画像撮像時におけるデジタルカメラ1の傾き量を、センサ部22から取得する。画像撮像時のデジタルカメラ1の傾き量を取得すると、傾き取得部53は、取得した傾き量を画像取得部52が取得した画像データと関連付けて記憶部18に記憶する。
【0035】
補正部54は、傾き取得部53が取得した傾き量に基づいて、画像取得部52が取得した画像データを補正する。即ち、補正部54は、合成対象となる画像データを、当該画像データに関連付けて記憶部18に記憶された傾き量に基づいて回転補正し、隣接する画像データ同士のずれを修復する。
【0036】
位置合わせ部55は、補正部54により回転補正された画像データ同士の位置合わせを行う。画像データ同士の位置合わせは、任意の方法により行うことができ、例えば、画像データ同士の重複部分を検出し、当該重複部分の特徴点(画素)に基づいて位置合わせを行うことができる。
【0037】
合成部56は、画像取得部52が取得した画像データのうち隣接する画像データ同士を合成し、パノラマ画像の画像データを生成する。このとき、合成部56は、画像取得部52が取得した画像データを補正部54が回転補正し、位置合わせ部55により位置合わせされた画像データ同士を合成することで、パノラマ画像の画像データを生成する。
画像取得部52乃至合成部56は、以上の処理により、これまでに取得された複数の画像データを、取得された順番で水平方向に合成することによって、パノラマ画像の画像データを生成する。
ここで、パノラマ画像の画像データの生成の際に、合成対象となる画像データ同士の傾きを補正すると、一方の画像データに対する他方の画像データの上下方向の領域の不足が生じることがある。このため、本実施形態では、補正部54により回転補正される各画像の傾き量に応じて、パノラマ画像の上下方向の領域の不足が最も大きい画像データに合わせるように、生成するパノラマ画像の画像データの上下方向の幅を決定する。このようにすることで、傾き量を補正した合成対象の画像データから生成されるパノラマ画像をより自然なものとすることができる。
また、上述したパノラマ画像の画像データの上下方向の幅を一定にするために、撮像部16による撮像される画像データの上下方向の幅がパノラマ画像の画像データの上下方向の幅よりも余裕があるように撮像画像の画像データを出力するようにしても良い。このようにすることで、補正される傾き量にかかわらず、上下方向に一定の幅をもったパノラマ画像の画像データを生成することができる。
【0038】
以上のような、画像取得部52乃至合成部56により生成されるパノラマ画像について、図5を参照して説明する。図5(1)は、画像撮像時のデジタルカメラ1の状態を示し、図5(2)は、図5(1)で撮像された撮像画像を示し、図5(3)は、回転補正後の撮像画像を示す。また、図中(A)は、パノラマ撮像開始時を示し、図中(B)は、パノラマ撮像のt1回目の撮像時を示す。このとき、t1回目の撮像は、便宜上、パノラマ撮像の2回目の撮像時であるとする。即ち、(A)のタイミングで撮像された撮像画像Faと(B)のタイミングで撮像された撮像画像Fbとは、隣接する撮像画像である。
【0039】
パノラマ撮像の開始時において、画像取得部52は、デジタルカメラ1が図5(1)(A)に示す基準状態Xで撮像した撮像画像Fa(図5(2)(A))の画像データを取得している。
その後、パノラマ撮像のt1回目の撮像時に、画像取得部52は、デジタルカメラ1が図5(1)(B)に示す状態X1で撮像した撮像画像Fb(図5(2)(B))の画像データを取得する。
【0040】
ここで、パノラマ撮像では、ユーザは、体を軸に回転することでデジタルカメラ1を水平方向に移動させる必要があるが、手ぶれ等を原因としてデジタルカメラ1が傾いてしまう場合がある。図5では、t1回目の撮像時にデジタルカメラ1は、基準状態Xとは異なる状態X1に傾いてしまっているため、撮像画像Faと撮像画像Fbとの間にずれが生じてしまっている。その結果、撮像画像Faの画像データの合成部分Famと、撮像画像Fbの画像データの合成部分Fbmとは適切に重複せず、このまま合成した場合には、パノラマ画像の構図に違和感を生じさせてしまう虞がある。
【0041】
そこで、傾き取得部53は、t1回目の撮像時に基準状態Xに対するデジタルカメラ1の傾き量Yを取得し、補正部54は、当該傾き量Yに基づいて撮像画像Fbの画像データを回転補正する。その結果、図5(3)に示すように、撮像画像Faと撮像画像Fbとのずれが修復される。
【0042】
このような回転補正の後に、位置合わせ部55は、撮像画像Faの画像データの合成部分Fanと撮像画像Fbの画像データの合成部分Fbnとの特徴点を検出し、隣接する撮像画像Fa,Fbの画像データの位置合わせを行い、合成部56は、位置合わせした画像データの画像合成を行う。
これにより、パノラマ撮像時にデジタルカメラ1を垂直方向に固定できずに撮像された結果、ずれが生じてしまった画像データ同士であっても適切に合成することができ、構図に違和感のないパノラマ画像の画像データを得ることができる。
【0043】
なお、本実施形態では、合成部分Fan,Fbnは、画像データを構成する各画素のうち、線、又は長方形を構成する画素の集合体であり、合成部分の長手方向を「長さ」と呼び、長さ方向と直交する方向を「幅」と呼ぶこととする。
ここで、デジタルカメラ1の傾き量によっては、合成部分Fanと合成部分Fbnとの長さが異なることが想定される。そのため、合成部56は、長さの異なる合成部分Fan,Fbnに対して適宜必要な補完処理を行うことが好ましい。
【0044】
以上、図2乃至図5を参照して、本発明が適用されるデジタルカメラ1の機能的構成について説明した。次に、図6を参照して、このような機能的構成を有するデジタルカメラ1が実行する撮像処理について説明する。
【0045】
図6は、撮像処理の流れの一例を示すフローチャートである。本実施形態では、撮像処理は、デジタルカメラ1の図示せぬ電源がオン状態になって、所定の条件が満たされると開始する。
【0046】
ステップS1において、図2の画像制御部51は、操作検出処理及び初期設定処理を実行する。
操作検出処理とは、操作部20の各スイッチの状態を検出する処理をいう。画像制御部51は、操作検出処理を実行することにより、動作モードとして、通常撮像モードが設定されているのか、それともパノラマ撮像モードが設定されているのかを検出することができる。
また、本実施形態の初期設定処理の1つとして、角度変位量の一定値と、角度変位量の最大限界である角度変位閾値(例えば、360度)とを設定する処理が採用されている。具体的には、角度変位量の一定値と、角度変位量の最大限界である角度変位閾値(例えば、360度)とは、図1のROM12に予め記憶されており、ROM12から読み出されてRAM13に書き込まれることで設定される。なお、角度変位量の一定値は、後述する図7のステップS31の判定処理で用いられる。一方、角度変位量の最大限界である角度変位閾値(例えば、360度)は、同図のステップS36の判定処理で用いられる。
【0047】
ステップS2において、画像制御部51は、ライブビュー撮像処理及びライブビュー表示処理を開始する。
即ち、画像制御部51は、撮像部16等を制御して、撮像部16による撮像動作を継続させる。そして、画像制御部51は、撮像部16による撮像動作が継続されている間、当該撮像部16から順次出力される画像データを、メモリ(本実施形態では記憶部18)に一時的に記憶させる。このような画像制御部51による一連の制御処理が、ここでいう「ライブビュー撮像処理」である。
また、画像制御部51は、ライブビュー撮像時にメモリ(本実施形態では記憶部18)に一時的に記録された各画像データを順次読み出して、各々に対応する画像を表示部19に順次表示させる。このような画像制御部51による一連の制御処理が、ここでいう「ライブビュー表示処理」である。なお、ライブビュー表示処理により表示部19に表示されている画像を、以下、「ライブビュー画像」と呼ぶ。
【0048】
ステップS3において、画像制御部51は、シャッタスイッチ41が半押しされたか否かを判定する。ここで、半押しとは、操作部20のシャッタスイッチ41の途中(下限に至らない所定の位置)まで押下する操作をいい、以下、「半押し操作」とも適宜呼ぶ。
シャッタスイッチ41が半押しされていない場合、ステップS3においてNOであると判定されて、処理はステップS9に進む。
【0049】
ステップS9において、画像制御部51は、処理の終了指示がなされたか否かを判別する。処理の終了指示は、特に限定されないが、本実施形態では、デジタルカメラ1の図示せぬ電源がオフ状態になった旨の通知が採用されているものとする。
したがって、本実施形態では電源がオフ状態になりその旨が画像制御部51に通知されると、ステップS9においてYESであると判定されて、撮像処理全体が終了となる。
これに対して、電源がオン状態の場合には、電源がオフ状態になった旨の通知はなされないので、ステップS9においてNOであると判定され、処理はステップS2に戻され、それ以降の処理が繰り返される。即ち、本実施形態では電源がオン状態を維持している限り、シャッタスイッチ41が半押しされるまでの間、ステップS3:NO及びステップS9:NOのループ処理が繰り返し実行されて、撮像処理は待機状態となる。
【0050】
他方、ライブビュー表示処理中に、シャッタスイッチ41が半押しされると、ステップS3においてYESであると判定されて、処理はステップS4に進む。
ステップS4において、画像制御部51は、撮像部16を制御して、いわゆるAF(Auto Focus)処理を実行する。
【0051】
ステップS5において、画像制御部51は、シャッタスイッチ41が全押しされたか否かを判定する。
シャッタスイッチ41が全押しされない場合には、ステップS5においてNOであると判定される。この場合には、処理はステップS4に戻され、それ以降の処理が繰り返される。即ち、本実施形態では、シャッタスイッチ41が全押しされるまでの間、ステップS4、及びステップS5:NOのループ処理が繰り返し実行されて、AF処理がその都度実行される。
【0052】
その後、シャッタスイッチ41が全押しされると、ステップS5においてYESであると判定されて、処理はステップS6に進む。ステップS6において、画像制御部51は、現在設定されている撮像モードがパノラマ撮像モードであるか否かを判定する。
パノラマ撮像モードでない場合、即ち通常撮像モードが現在設定されている場合、ステップS6においてNOであると判定され、処理はステップS7に進む。ステップS7において、画像制御部51は、上述した通常撮像処理を実行する。即ち、全押し操作がなされた直後に画像処理部17から出力された1つの画像データが、記録対象としてリムーバブルメディア31に記録される。これにより、ステップS7の通常撮像処理が終了して、処理はステップS9に進む。なお、ステップS9以降の処理については上述したので、ここではその説明は省略する。
【0053】
これに対して、パノラマ撮像モードが現在設定されている場合、ステップS6においてYESであると判定されて、処理はステップS8に進む。
ステップS8において、画像制御部51は、上述したパノラマ撮像処理を実行する。パノラマ撮像処理の詳細については図7を参照して後述するが、画像制御部51は、パノラマ画像の画像データを生成し、記録対象としてリムーバブルメディア31に記録する。これにより、ステップS8のパノラマ撮像処理が終了し、処理はステップS9に進む。なお、ステップS9以降の処理については上述したので、ここではその説明は省略する。
【0054】
以上、図6を参照して、撮像処理の流れについて説明した。次に、図7を参照して、図6の撮像処理のうち、ステップS8のパノラマ撮像処理の詳細な流れについて説明する。
図7は、パノラマ撮像処理の詳細な流れを説明するフローチャートである。上述したように、パノラマ撮像モードの状態でシャッタスイッチ41が全押しされると、図6のステップS5及びS6においてYESと判定され、処理はステップS8に進み、パノラマ撮像処理として次のような処理が実行される。
【0055】
ステップS31において、画像制御部51は、デジタルカメラ1が一定距離動いたか否かを判定する。即ち、画像制御部51は、センサ部22から供給される角度変位量が一定値に達したか否かを判定する。
デジタルカメラ1が一定距離動いていない場合、ステップS31においてNOであると判定される。この場合には、処理はステップS31に戻される。即ち、デジタルカメラ1が一定距離動くまでパノラマ撮像処理が待機状態となる。
【0056】
これに対して、デジタルカメラ1が一定距離動いた場合、ステップS31において、YESであると判定されて、処理はステップS32に進む。
ステップS32において、画像取得部52は、画像制御部51の制御の下、撮像部16から出力される画像データ(合成対象)を取得する。即ち、画像取得部52は、センサ部22から供給される角度変位量が一定値に達する毎に、その直後に撮像部16から出力された画像データを取得する。
【0057】
ステップS33において、傾き取得部53は、画像制御部51の制御の下、画像取得部52が画像データを取得したタイミングのデジタルカメラ1の傾き量をセンサ部22から取得し、画像データと関連付けて記憶部18に記憶する。なお、傾き取得部53が取得する傾き量の基準については、任意に設定することができ、水平方向としてもよく、パノラマ撮像の最初の撮像時のデジタルカメラ1の状態としてもよく、直前の画像撮像時のデジタルカメラ1の状態とすることとしてもよい。
【0058】
続いて、ステップS34において、画像制御部51は、画像合成処理を行う。画像合成処理の詳細については図8を参照して後述するが、画像制御部51は、合成部56を制御し、隣接する画像データ同士を順次合成し、パノラマ画像の画像データを生成する。これにより、ステップS34の画像合成処理が終了し、処理はステップS35に移る。
【0059】
ステップS35において、画像制御部51は、ユーザによる終了指示があるか否かを判定する。ユーザによる終了指示については、任意に設定することができるが、例えば、ユーザによるシャッタスイッチ41の全押しの解除を、ユーザによる終了指示とすることができる。
ユーザによる終了指示があった場合、ステップS35においてYESであると判定され、パノラマ撮像処理が終了する。
【0060】
他方、ユーザによる終了指示がない場合、ステップS35においてNOであると判定され、この場合には、処理はステップS36に進む。
ステップS36において、画像制御部51は、画像取得方向の移動距離が閾値を超えたか否かを判定する。即ち、画像制御部51は、センサ部22から供給される角度変位量の累積値が、最大限界である角度変位閾値(例えば、360度)に達したか否かを判定する。
【0061】
画像取得方向の移動距離が閾値を超えた場合、ステップS36においてYESであると判定され、パノラマ撮像処理が終了する。
他方、画像取得方向の移動距離が閾値を超えていない場合、ステップS36においてNOであると判定され、この場合には、処理はステップS31に戻される。即ち、ユーザによる終了指示がなく、画像取得方向の移動距離が閾値を超えていない場合には、パノラマ撮像処理が継続し、新たな画像データの取得及び当該画像データの合成といった処理が繰り返される。
【0062】
以上、図7を参照して、パノラマ撮像処理の流れについて説明した。次に、図8を参照して、図7のパノラマ撮像処理のうち、ステップS34の画像合成処理の詳細な流れについて説明する。図8は、画像合成処理の詳細な流れを説明するフローチャートである。
【0063】
ステップS51において、補正部54は、画像制御部51の制御の下、図7のステップS33で取得した傾き量に基づいて、当該傾き量に関連付けられた画像データを回転補正する。
【0064】
続いて、ステップS52において、位置合わせ部55は、画像制御部51の制御の下、回転補正した画像データの特徴点を検出し、隣接する画像データ同士での位置合わせを行う。例えば、位置合わせ部55は、隣接する画像データ同士の重複部分である合成部分を検出し、当該合成部分の特徴点(画素)に基づいて位置合わせを行う。
【0065】
続いて、ステップS53において、合成部56は、画像制御部51の制御の下、位置合わせした画像データ同士を合成し、パノラマ画像の画像データを生成し、記憶部18やリムーバブルメディア31に記憶した後、画像合成処理を終了する。
【0066】
以上のような本実施形態のデジタルカメラ1によれば、傾き取得部53は、画像取得部52がパノラマ撮像用の画像データを取得するタイミングのデジタルカメラ1の傾き量をセンサ部22から取得し、補正部54は、取得した傾き量に基づいて画像データを回転補正する。その後、回転補正した画像データを位置合わせ部55が位置合わせした後に、合成部56が位置合わせした画像データ同士を合成し、パノラマ画像の画像データを生成する。
これにより、パノラマ撮像のための連続的な撮像において、手ぶれ等を原因としてデジタルカメラ1が傾いてしまった場合であっても、当該傾きに伴う画像データのずれを補正することができ、結果として、三脚等の固定具を用いることなくパノラマ撮像を行った場合であっても、ずれが生じることなく構図に違和感のないパノラマ画像を得ることができる。
また、図5(3)に表させるように、回転補正された画像は、水平に撮像された画像と比較して縦の領域が増減する部分が発生するが、パノラマ画像を生成する際には、回転補正の影響に応じて、生成するパノラマ画像の縦の領域を減ずるようにしても良い。
【0067】
このとき、傾き取得部53は、傾き量を取得すると、傾き量を取得したタイミングで画像取得部52が取得した画像データと関連付けて記憶部18に記憶しておく。これにより、傾き量に基づく画像データの回転補正を適切に行うことができる。
【0068】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0069】
例えば、上述の実施形態では、1つの画像データを取得するたびに画像合成処理を行うこととしているが(図7のステップS31でYESと判定されるとステップS34が行われる)、これに限られるものではなく、パノラマ合成用の全ての画像データを取得した後に画像合成処理を行うこととしてもよく、2以上の任意の数の画像データを取得するたびに画像合成処理を行うこととしてもよい。
【0070】
また、上述の実施形態では、本発明が適用される画像処理装置は、デジタルカメラ1を例として説明したが、特にこれに限定されない。本発明は、パノラマ画像の生成が可能になる機能を有する電子機器一般に適用することができ、例えば、携帯型パーソナルコンピュータ、携帯型ナビゲーション装置、ポータブルゲーム機等に幅広く適用可能である。
【0071】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
【0072】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、画像処理装置又は当該画像処理装置を制御するコンピュータ等にネットワークや記録媒体からインストールされる。ここで、コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。或いはまた、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0073】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア31により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア31は、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、光磁気ディスク等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されているROM12や記憶部18に含まれるハードディスク等で構成される。
【0074】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【0075】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、更に、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0076】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
撮像された画像を順次取得する画像取得手段と、
前記画像取得手段により取得された画像の基準状態に対する傾きを取得する傾き取得手段と、
前記傾き取得手段により取得された傾きに基づいて、前記画像取得手段により取得された画像を回転補正する補正手段と、
前記補正手段により回転補正された画像同士を合成して、広角画像を生成する生成手段と、
を備えたことを特徴とする画像処理装置。
[付記2]
前記画像取得手段により取得された画像と前記傾き取得手段により取得された前記画像の傾きとを関連付けて記憶する記憶手段を更に備え、
前記補正手段は、前記記憶手段により関連付けて記憶された傾きに基づいて、前記画像の傾きの補正を行うことを特徴とする付記1記載の画像処理装置。
[付記3]
前記基準状態は、水平方向又は垂直方向、撮像開始時における前記水平方向又は垂直方向に対する本画像処理装置の状態、前記撮像開始時の直前における前記水平方向又は垂直方向に対する本画像処理装置の状態の何れかであることを特徴とする付記1又は2記載の画像処理装置。
[付記4]
撮像手段を更に備え、
前記画像取得手段は、前記撮像手段により撮像された画像を順次取得することを特徴とする付記1乃至3の何れか記載の画像処理装置。
[付記5]
前記傾き取得手段は、ジャイロセンサ又は加速度センサにより前記傾きを取得することを特徴とする付記1乃至4の何れか記載の画像処理装置。
[付記6]
撮像された画像を順次取得する画像取得ステップと、
前記画像取得ステップにより取得された画像の基準状態に対する傾きを取得する傾き取得ステップと、
前記傾き取得ステップにより取得された傾きに基づいて、前記画像取得ステップで取得された画像を回転補正する補正ステップと、
前記補正ステップにより回転補正された画像同士を合成して、広角画像を生成する生成ステップと、
を含むことを特徴とする画像処理方法。
[付記7]
コンピュータを、
撮像された画像を順次取得する画像取得手段、
前記画像取得手段により取得された画像の基準状態に対する傾きを取得する傾き取得手段、
前記傾き取得手段により取得された傾きに基づいて、前記画像取得手段により取得された画像を回転補正する補正手段、
前記補正手段により回転補正された画像同士を合成して、広角画像を生成する生成手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【0077】
1・・・デジタルカメラ(画像処理装置)、11・・・CPU(制御手段)、12・・・ROM、13・・・RAM、15・・・光学系、16・・・撮像部、17・・・画像処理部(画像取得手段、傾き取得手段、補正手段、生成手段)、18・・・記憶部、19・・・表示部、20・・・操作部、21・・通信部、22・・・センサ部、23・・・ドライブ、31・・・リムーバブルメディア、41・・・シャッタスイッチ、51・・・撮像制御部(制御手段)、52・・・画像取得部(画像取得手段)、53・・・傾き取得部(傾き取得手段)、54・・・補正部(補正手段)、55・・・位置合わせ部、56・・・合成部(生成手段)

【特許請求の範囲】
【請求項1】
撮像された画像を順次取得する画像取得手段と、
前記画像取得手段により取得された画像の基準状態に対する傾きを取得する傾き取得手段と、
前記傾き取得手段により取得された傾きに基づいて、前記画像取得手段により取得された画像を回転補正する補正手段と、
前記補正手段により回転補正された画像同士を合成して、広角画像を生成する生成手段と、
を備えたことを特徴とする画像処理装置。
【請求項2】
前記画像取得手段により取得された画像と前記傾き取得手段により取得された前記画像の傾きとを関連付けて記憶する記憶手段を更に備え、
前記補正手段は、前記記憶手段により関連付けて記憶された傾きに基づいて、前記画像の傾きの補正を行うことを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記基準状態は、水平方向又は垂直方向、撮像開始時における前記水平方向又は垂直方向に対する本画像処理装置の状態、前記撮像開始時の直前における前記水平方向又は垂直方向に対する本画像処理装置の状態の何れかであることを特徴とする請求項1又は2記載の画像処理装置。
【請求項4】
撮像手段を更に備え、
前記画像取得手段は、前記撮像手段により撮像された画像を順次取得することを特徴とする請求項1乃至3の何れか記載の画像処理装置。
【請求項5】
前記傾き取得手段は、ジャイロセンサ又は加速度センサにより前記傾きを取得することを特徴とする請求項1乃至4の何れか記載の画像処理装置。
【請求項6】
撮像された画像を順次取得する画像取得ステップと、
前記画像取得ステップにより取得された画像の基準状態に対する傾きを取得する傾き取得ステップと、
前記傾き取得ステップにより取得された傾きに基づいて、前記画像取得ステップで取得された画像を回転補正する補正ステップと、
前記補正ステップにより回転補正された画像同士を合成して、広角画像を生成する生成ステップと、
を含むことを特徴とする画像処理方法。
【請求項7】
コンピュータを、
撮像された画像を順次取得する画像取得手段、
前記画像取得手段により取得された画像の基準状態に対する傾きを取得する傾き取得手段、
前記傾き取得手段により取得された傾きに基づいて、前記画像取得手段により取得された画像を回転補正する補正手段、
前記補正手段により回転補正された画像同士を合成して、広角画像を生成する生成手段、
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−74573(P2013−74573A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−213891(P2011−213891)
【出願日】平成23年9月29日(2011.9.29)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】