(58)【調査した分野】(Int.Cl.,DB名)
前記指示手段は、前記撮像手段により被写体が連続して撮像されている間、前記所定の表示領域の画像に前記未合成領域の画像が存在しているときに、前記撮像の終了を任意のタイミングで指示することを特徴とする請求項4に記載の撮像装置。
【発明を実施するための形態】
【0016】
以下、図面を参照して、本発明に係る実施形態について説明する。
【0017】
図1は、本発明に係る撮像装置の一実施形態としてのデジタルカメラ1のハードウェア構成を示すブロック図である。
【0018】
デジタルカメラ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と、を備えている。
【0019】
CPU11は、ROM12に記憶されているプログラム、又は記憶部18からRAM13にロードされたプログラムに従って、各種の処理を実行する。
ROM12はまた、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶している。
【0020】
例えば、本実施形態では、後述する
図2の撮像制御部51乃至表示制御部54の各機能を実現するプログラムが、ROM12や記憶部18に記憶されている。従って、CPU11が、これらのプログラムに従った処理を実行することで、後述する
図2の撮像制御部51乃至表示制御部54の各機能を実現することができる。
なお、後述する
図2の撮像制御部51乃至表示制御部54の各機能のうち少なくとも一部を、画像処理部17に移譲することも可能である。
【0021】
CPU11、ROM12、及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、光学系15、撮像部16、画像処理部17、記憶部18、表示部19、操作部20、通信部21、角速度センサ22、及びドライブ23が接続されている。
【0022】
光学系15は、被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズなどで構成される。フォーカスレンズは、撮像部16の撮像素子の受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。光学系15にはまた、必要に応じて、焦点や、露出等を調整する周辺装置が設けられる。
【0023】
撮像部16は、光電変換素子やAFE(Analog Front End)等から構成されている。光電変換素子は、例えばCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)型の光電変換素子から構成される。光電変換素子は、一定時間毎に、その間に入射されて蓄積された被写体像の光信号を光電変換(撮像)して、その結果得られるアナログの電気信号をAFEに順次供給する。
AFEは、当該アナログの電気信号に対して、A/D(Analog/Digital)変換処理等の各種信号処理を施し、その結果得られるデジタル信号を、撮像部16の出力信号として出力する。
なお、以下、撮像部16の出力信号を、「撮像画像の画像データ」と呼ぶ。従って、撮像部16からは撮像画像の画像データが出力されて、画像処理部17等に適宜供給される。
【0024】
画像処理部17は、DSP(Digital Signal Processor)や、VRAM(Video Random Access Memory)等から構成されている。
画像処理部17は、CPU11と協働して、撮像部16から入力される撮像画像の画像データに対して、ノイズ低減、ホワイトバランス、手ぶれ補正等の画像処理を施す。
ここで、撮像部16から一定時間毎に入力される撮像画像の画像データを、以下、「フレームの画像データ」と呼ぶ。本実施形態では、当該フレームが処理単位として採用されている。即ち、画像処理部17は、撮像部16から供給されたフレームの画像データを、各種画像処理を施した上で出力する。
【0025】
記憶部18は、DRAM(Dynamic Random Access Memory)等で構成され、画像処理部17から出力されたフレームの画像データや、後述するパノラマ途中画像の画像データ等を一時的に記憶する。また、記憶部18は、各種画像処理に必要な各種データ等も記憶する。
【0026】
表示部19は、例えばLCD(Liquid Crystal Device:液晶表示装置)やLCD駆動部からなるフラット・ディスプレイ・パネルとして構成されている。表示部19は、記憶部18等から供給される画像データにより表現される画像、例えば後述するスルー画像をフレーム単位で表示する。
【0027】
操作部20は、シャッタスイッチ41の他、図示はしないが、電源スイッチ、撮像モードスイッチ、再生スイッチ等の複数のスイッチを有している。操作部20は、これらの複数のスイッチのうち所定のスイッチが押下操作されると、当該所定のスイッチに割り当てられている指令をCPU11に供給する。
【0028】
通信部21は、インターネットを含むネットワークを介する、図示せぬ他の装置との間の通信を制御する。
【0029】
角速度センサ22は、ジャイロ等からなり、デジタルカメラ1の角度変位量を検出し、検出結果を示すデジタル信号(以下、単に「角度変位量」と呼ぶ)をCPU11に供給する。なお、角速度センサ22は、地磁気の方向も検出する機能を有し、これにより必要に応じて方位センサの機能も発揮するものとする。
【0030】
ドライブ23には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア31が適宜装着される。そして、リムーバブルメディア31から読み出されたプログラムが、必要に応じて記憶部18にインストールされる。また、リムーバブルメディア31は、記憶部18に記憶されている画像データ等の各種データも、記憶部18と同様に記憶することができる。
【0031】
図2は、
図1のデジタルカメラ1が実行する処理のうち、被写体を撮像し、その結果得られる撮像画像の画像データをリムーバブルメディア31に記録するまでの一連の処理(以下、「撮像処理」と呼ぶ)を実行するための機能的構成を示す機能ブロック図である。
【0032】
CPU11には、撮像処理の実行を制御する撮像制御部51が設けられている。
撮像制御部51は、例えば、デジタルカメラ1の動作モードとして、通常撮像モードと、パノラマ撮像モードとを選択的に切り替えて、切り替え後の動作モードに従った処理を実行することができる。
【0033】
図3は、
図1のデジタルカメラ1の動作モードとして、通常撮像モードとパノラマ撮像モードとがそれぞれ選択された場合における撮像操作を説明する図である。
詳細には、
図3(A)は、通常撮像モードでの撮像操作を説明する図である。
図3(B)は、パノラマ撮像モードでの撮像操作を説明する図である。
図3(A)及び
図3(B)のそれぞれにおいて、デジタルカメラ1の奥にある絵は、デジタルカメラ1の被写体を含む実世界の様子を示している。また、
図3(B)に示す縦の点線は、デジタルカメラ1の移動方向の各位置a、b、cを示している。デジタルカメラ1の移動方向とは、ユーザが、自身の体を軸にしてデジタルカメラ1の撮像方向(角度)を変化させた場合における、デジタルカメラ1の光軸が移動する方向をいう。
【0034】
通常撮像モードとは、デジタルカメラ1の画角に対応するサイズ(解像度)の画像を、撮像する場合の動作モードをいう。
通常撮像モードでは、
図3(A)に示すように、ユーザは、デジタルカメラ1を固定させた状態で、操作部20のシャッタスイッチ41を下限まで押下する。なお、このように、シャッタスイッチ41を下限まで押下する操作を、以下、「全押し操作」又は単に「全押し」と呼ぶ。
撮像制御部51は、全押し操作がなされた直後に画像処理部17から出力されたフレームの画像データを、記録対象としてリムーバブルメディア31に記録させるまでの一連の処理の実行を制御する。
以下、このように、通常撮像モードにおいて撮像制御部51の制御により実行される一連の処理を、「通常撮像処理」と呼ぶ。
【0035】
一方、パノラマ撮像モードとは、パノラマ画像を撮像する場合の動作モードをいう。
パノラマ撮像モードでは、
図3(B)に示すように、ユーザは、シャッタスイッチ41の全押し操作を維持した状態で、デジタルカメラ1を同図中黒矢印の方向に移動させる。
撮像制御部51は、全押し操作が維持されている間、画像合成部52を制御して、角速度センサ22からの角度変位量が一定値に達する毎に、その直後に画像処理部17から出力されたフレームの画像データを記憶部18に一時的に記憶していくことを繰り返す。
その後、ユーザは、全押し操作を解除する操作、即ちシャッタスイッチ41から指等を離す操作(以下、このような操作を「リリース操作」と呼ぶ)をすることで、パノラマ撮像の終了を指示する。
撮像制御部51は、パノラマ撮像の終了が指示されると、これまでに記憶部18に記憶された複数のフレームの画像データを、記憶された順番で水平方向に合成することによって、パノラマ画像の画像データを生成する。
そして、撮像制御部51は、パノラマ画像の画像データを、記録対象としてリムーバブルメディア31に記録させる。
このように、撮像制御部51は、パノラマ撮像モードにおいて、パノラマ画像の画像データを生成し、それを記録対象としてリムーバブルメディア31に記録させるまでの一連の処理を制御する。
以下、このように、パノラマ撮像モードにおいて撮像制御部51の制御により実行される一連の処理を「パノラマ撮像処理」と呼ぶ。
【0036】
図4は、パノラマ撮像処理の結果得られたパノラマ画像の画像データを示している。
即ち、パノラマ撮像モードにおいて、
図3(B)に示すような撮像操作が行われると、撮像制御部51によりパノラマ撮像処理の実行が制御される。その結果として、
図4に示すようなパノラマ画像P3の画像データが生成され、リムーバブルメディア31に記録される。
【0037】
本実施形態ではさらに、通常撮像モードとパノラマ撮像モードとを問わず、
図2の撮像制御部51は、スルー撮像処理及びスルー表示処理を実行する。
即ち、ユーザは、全押し操作をする前に、AF(Auto Focus)処理等をデジタルカメラ1に実行させるべく、操作部20のシャッタスイッチ41を途中(下限に至らない所定の位置)まで押下する操作を行うことができる。なお、このように、シャッタスイッチ41の途中(下限に至らない所定の位置)まで押下する操作を、以下、「半押し操作」又は単に「半押し」と呼ぶ。
撮像制御部51は、半押し操作がなされると、撮像部16や画像処理部17を制御して、撮像部16による撮像動作を継続させる。そして、撮像制御部51は、撮像部16による撮像動作が継続されている間、当該撮像部16を介して画像処理部17から順次出力されるフレームの画像データを、メモリ(本実施形態では記憶部18)に一時的に記憶させる。このような撮像制御部51による一連の制御処理が、ここでいう「スルー撮像処理」である。
また、撮像制御部51は、表示制御部54を制御して、スルー撮像時にメモリ(本実施形態では記憶部18)に一時的に記録された各画像データを順次読み出して、各々に対応するフレーム画像を表示部19に順次表示させる。このような撮像制御部51による一連の制御処理が、ここでいう「スルー表示処理」である。なお、スルー表示処理により表示部19に表示されているフレーム画像を、以下、「スルー画像」と呼ぶ。
【0038】
本実施形態では、さらに、パノラマ撮像モードが選択されている状態で全押し操作がなされた場合、生成予定のパノラマ画像のうち、現在までに撮像された領域を示す画像(以下、「パノラマ途中画像」と呼ぶ)がスルー画像に重畳されて表示部19に表示される。
【0039】
図5は、パノラマ途中画像が表示された
図1のデジタルカメラ1の外観構成を示す裏面図である。
図5(A)は、
図3(B)の位置aに移動したときのデジタルカメラ1の外観構成を示している。
図5(B)は、
図3(B)の位置bに移動したときのデジタルカメラ1の外観構成を示している。
図5(C)は、
図3(B)の位置cに移動したときのデジタルカメラ1の外観構成を示している。
即ち、パノラマ撮像モードで、ユーザが、デジタルカメラ1を位置a乃至位置cに順次移動させた場合における、デジタルカメラ1の表示状態の推移が、
図5(A)乃至
図5(C)に示されている。
具体的には、デジタルカメラ1が位置a、位置b、位置cに順次移動すると、表示部19には、スルー画像PA1、PB1、PC1の各々が位置a、b、cの各々に対応して順次表示される。本実施形態ではさらに、このようなスルー画像PA1、PB1、PC1の各々に対して、パノラマ途中画像PA2、PB2、PC2の各々が重畳して表示される。
ユーザは、このようなパノラマ途中画像PA2、PB2、PC2を視認しながらパノラマ撮像の操作をすることができるので、パノラマ撮像が開始されてから現在までの撮像の履歴を容易かつ正確に視認することができる。その結果、ユーザは、何度も撮像操作を繰り返さずとも、所望のパノラマ画像を容易かつ簡単に得ることが可能になる。
【0040】
図2に示すように、デジタルカメラ1のCPU11には、このようなパノラマ途中画像の表示を可能にすべく、上述した撮像制御部51に加えてさらに画像合成部52、画像縮小部53、及び表示制御部54が設けられている。
なお、上述したように、画像合成部52、画像縮小部53、及び表示制御部54の各機能は、本実施形態のようにCPU11に搭載されている必要は特になく、これらの各機能のうち少なくとも一部を、画像処理部17に移譲させることも可能である。
【0041】
画像合成部52は、画像処理部17から順次供給されてくるフレームの画像データを、供給された順番で水平方向に順次合成していく処理(以下、「画像合成処理」と呼ぶ)を実行する。画像合成処理の結果、パノラマ途中画像の画像データが得られて、画像縮小部53に供給される。
具体的には例えば、撮像制御部51は、角速度センサ22の検出結果を監視し、角度変位量の累積値が一定値に達する毎に、画像合成部52に対して取得指令を発行する。画像合成部52は、取得指令を受け取った直後に画像処理部17から供給されたフレームの画像データを、合成対象として取得する。即ち、画像合成部52は、シャッタスイッチ41の全押し操作が開始されてから、撮像制御部51からの取得指令が発行される毎に、合成対象のフレームの画像データを順次取得する。
そして、画像合成部52は、シャッタスイッチ41の全押し操作が開始されてから現在までの間に合成対象として取得した複数のフレームの画像データを、取得した順番で水平方向に順次合成していく。
このような画像合成処理の結果として、パノラマ途中画像の画像データが、画像合成部52において得られて、画像縮小部53に供給される。
【0042】
ここで、画像合成処理の対象となる画像データは、特に限定されず、例えば、シャッタスイッチ41の全押し操作が開始されてから現在までの間に取得された複数のフレームの各々の画像データであってもよい。ただし、本実施形態では、前回の合成処理の際に生成されたパノラマ途中画像の画像データと、直前に合成対象として取得されたフレームの画像データとが、合成処理の対象として採用されている。
即ち、本実施形態では、画像合成部52により生成されるパノラマ途中画像のサイズ(解像度)は、最終的に生成され得るパノラマ画像の最大サイズと同一の固定サイズとされている。
このため、パノラマ撮像の途中、即ち、デジタルカメラ1の移動中においては、これまでに取得された幾つかのフレームの画像データが水平方向に合成されても、水平方向のサイズが最大サイズに満たず、フレームの有効画像では埋められない領域が出てくる。本実施形態では、このような領域は、所定の色(例えば、
図5の例では黒色)が一律に塗られた領域となる。このような領域、即ち、画素値が全て一定(例えば、黒を示す0で一定)の領域を、以下、「ブランク領域」と呼ぶ。
そこで、本実施形態では、画像合成部52は、前回のパノラマ途中画像の画像データと、直前に合成対象として取得したフレームの画像データを用いて、前回のパノラマ途中画像のブランク領域に、合成対象のフレームを上書きする画像合成処理を実行する。
【0043】
図6は、
図2の画像合成部52の合成処理を説明する図である。
本実施形態では、
図6に示すような記憶領域101が、例えば記憶部18に設けられているものとする。
記憶領域101は、N個のフレーム記憶領域101−1乃至101−Nに区分されている。ここで、Nは2以上の任意の整数値である。ただし、フレーム記憶領域101−1乃至101−Nの水平方向(図のx軸の方向)のサイズが、パノラマ途中画像の水平方向のサイズ(解像度)、即ち最終的に生成され得るパノラマ画像の水平方向の最大サイズと同一となる。また、Nは、1回のパノラマ撮像処理において、合成対象として画像合成部52に取得され得るフレームの画像データの最大個数と一致している。
即ち、シャッタスイッチ41が全押し操作されてパノラマ撮像処理が開始されてから、K回目の取得指令が発行された場合に、画像合成部52に合成対象として取得されたフレームの画像データの少なくとも一部が、フレーム記憶領域101−Kに記憶される。
ここで、フレームの画像データの少なくとも一部と記述したのは、フレームの画像データのサイズが、フレーム記憶領域101−Kのサイズよりも大きい場合があるからである。このような場合、フレームの所定の一部に該当する画像データのみが、フレーム記憶領域101−Kに記憶される。
【0044】
このように、本実施形態では、記憶領域101に記憶されている画像データ全体が、パノラマ途中画像の画像データである。記憶領域101には、初期状態として、同一の画素値(例えば、黒色を示す0)が一律に記憶されている。即ち、初期状態では、N個のフレーム記憶領域101−1乃至101−Nの全てがブランク領域となっている。
従って、K回目の合成対象のフレームの画像合成部52に取得されたタイミングでは、N個のフレーム記憶領域101−1乃至101−Nのうち、フレーム記憶領域101−1乃至101−(K−1)には、有効画像の画像データが含まれている。ここで、有効画像とは、1乃至(K−1)回目の各々の合成対象のフレームの(少なくとも一部)がその順番で水平方向(
図6中x軸方向)に合成された画像をいう。一方で、フレーム記憶領域101−K乃至101−Nは、ブランク領域となっている。
このブランク領域であるフレーム記憶領域101−K乃至101−Nのうち、フレーム記憶領域101−Kに対して、K回目に合成対象として取得されたフレームの画像データの少なくとも一部が記憶される。これにより、記憶領域101に記憶されたデータ全体が、パノラマ途中画像の画像データとして生成される。
その後、
図2の画像合成部52は、記憶領域101に記憶されたデータ全体を、パノラマ途中画像の画像データとして読み出して、画像縮小部53に供給する。
【0045】
画像縮小部53は、画像合成部52からパノラマ画像の画像データが供給される毎に、当該画像データに対して、サイズ(解像度)を縮小する縮小処理を施す。ここで、縮小率は、縮小後のパノラマ途中画像がスルー画像(フレーム)よりも小さくなる範囲内で、任意に設定することが可能である。
このようにしてサイズ(解像度)が縮小されたパノラマ途中画像の画像データは、画像縮小部53から表示制御部54に供給される。
【0046】
表示制御部54は、記憶部18に一時的に記憶された画像データにより表現されるフレームを、スルー画像として表示部19に表示させる制御を実行する。
さらに、パノラマ撮像処理中には、表示制御部54は、画像縮小部53から供給される縮小後の画像データにより表現される画像、即ち、縮小されたパノラマ途中画像をスルー画像に重畳させて表示部19に表示させる制御を実行する。
【0047】
その後、シャッタスイッチ41からユーザの指等が離されると、即ちリリース操作がなされると、撮像制御部51は、記録対象の画像データをリムーバブルメディア31に記録させる制御を実行する。
具体的には、通常撮像モードの場合には、撮像制御部51は、画像処理部17から出力されるフレームの画像データを、記録対象の画像データとしてリムーバブルメディア31に記録させる制御を実行する。
一方、パノラマ撮像モードの場合には、撮像制御部51は、画像合成部52を介して、パノラマ画像の画像データを、記録対象の画像データとしてリムーバブルメディア31に記録させる制御を実行する。
例えば、画像合成部52は、記憶領域101(
図6)に記憶されているデータのうち、ブランク領域以外の有効画像の部分の画像データを読み出して、縮小処理や拡大処理等の画像処理を適宜施す。これにより、記録対象のパノラマ画像の画像データが生成される。このようにして生成されたパノラマ画像の画像データは、ドライブ23に供給されて、記録対象の画像データとしてリムーバブルメディア31に記録される。
【0048】
次に、
図7を参照して、このような機能的構成を有するデジタルカメラ1が実行する撮像処理について説明する。
【0049】
図7は、撮像処理の流れの一例を示すフローチャートである。
本実施形態では、撮像処理は、デジタルカメラ1の図示せぬ電源がオン状態になると開始する。
【0050】
ステップS1において、
図2の撮像制御部51は、操作検出処理及び初期設定処理を実行する。
操作検出処理とは、操作部20の各スイッチの状態を検出する処理をいう。撮像制御部51は、操作検出処理を実行することにより、動作モードとして、通常撮像モードが設定されているのか、それともパノラマ撮像モードが設定されているのかを検出することができる。
また、本実施形態の初期設定処理の1つとして、角度変位量の一定値と、角度変位量の最大限界である閾値(例えば、360度)とを設定する処理が採用されている。
具体的には、角度変位量の一定値と、角度変位量の最大限界である閾値(例えば、360度)は、
図1のROM12に予め記憶されており、ROM12から読み出されてRAM13に書き込まれることで設定される。なお、角度変位量の一定値は、後述する
図8のステップS35の判定処理で用いられる。一方、角度変位量の最大限界である閾値(例えば、360度)は、同図のステップS45の判定処理で用いられる。
また、本実施形態では、後述する
図8のステップS34,S40等に示すように、角速度センサ22によって検出された角度変位量は累積加算されて、その累積加算値としての累積角度変位量や総合角度変位量(両者の違いは後述する)がRAM13に格納される。そこで、これらの累積角度変位量や総合角度変位量を0にリセットする処理が、本実施形態の初期設定処理の1つとして採用されている。なお、累積角度変位量は、後述する
図8のステップS35の判断処理で、上述した一定値と比較される。一方、総合角度変位量は、後述する
図8のステップS45の判断処理で、上述した一定値と比較される。
さらにまた、本実施形態の初期設定処理の1つとして、エラーフラグを0にリセットする処理が採用されている。エラーフラグとは、パノラマ撮像処理中にエラーが発生した時に1にセットされるフラグをいう(後述する
図8のステップS44参照)。
【0051】
ステップS2において、撮像制御部51は、シャッタスイッチ41が半押しされたか否かを判定する。
シャッタスイッチ41が半押しされていない場合、ステップS2においてNOであると判定されて、処理はステップS12に進む。
【0052】
ステップS12において、撮像制御部51は、処理の終了指示がなされたか否かを判別する。
処理の終了指示は、特に限定されないが、本実施形態では、デジタルカメラ1の図示せぬ電源がオフ状態になった旨の通知が採用されているものとする。
従って、本実施形態では電源がオフ状態になりその旨が撮像制御部51に通知されると、ステップS12においてYESであると判定されて、撮像処理全体が終了となる。
これに対して、電源がオン状態の場合には、電源がオフ状態になった旨の通知はなされないので、ステップS12においてNOであると判定され、処理はステップS2に戻され、それ以降の処理が繰り返される。即ち、本実施形態では電源がオン状態を維持している限り、シャッタスイッチ41が半押しされるまでの間、ステップS2:NO及びステップS12:NOのループ処理が繰り返し実行されて、撮像処理は待機状態となる。
【0053】
この待機状態中に、シャッタスイッチ41が半押しされると、ステップS2においてYESであると判定されて、処理はステップS3に進む。
【0054】
ステップS3において、撮像制御部51は、上述したスルー撮像処理及びスルー表示処理を開始する。
これにより、スルー画像が表示部19に表示される。なお、本実施形態では、後述するステップS8の通常撮像処理又はステップS9のパノラマ撮像処理が終了するまでの間、スルー画像が表示部19に表示され続けるものとする。
【0055】
ステップS4において、撮像部16を制御して、いわゆるAF処理を実行する。
【0056】
ステップS5において、撮像制御部51は、シャッタスイッチ41が全押しされたか否かを判定する。
シャッタスイッチ41が全押しされない場合には、ステップS5においてNOであると判定される。この場合には、処理はステップS4に戻され、それ以降の処理が繰り返される。即ち、本実施形態では、シャッタスイッチ41が全押しされるまでの間、ステップS4、及びステップS5:NOのループ処理が繰り返し実行されて、AF処理がその都度実行される。
【0057】
その後、シャッタスイッチ41が全押しされると、ステップS5においてYESであると判定されて、処理はステップS6に進む。
ステップS6において、撮像制御部51は、現在設定されている撮像モードがパノラマ撮像モードであるか否かを判定する。
パノラマ撮像モードでない場合、即ち通常撮像モードが現在設定されている場合、ステップS6においてNOであると判定され、処理はステップS7に進む。
ステップS7において、撮像制御部51は、上述した通常撮像処理を実行する。
即ち、全押し操作がなされた直後に画像処理部17から出力された1フレームの画像データが、記録対象としてリムーバブルメディア31に記録される。これにより、ステップS8の通常撮像処理が終了して、処理はステップS12に進む。なお、ステップS12以降の処理については上述したので、ここではその説明は省略する。
【0058】
これに対して、パノラマ撮像モードが現在設定されている場合、ステップS6においてYESであると判定されて、処理はステップS8に進む。
ステップS8において、撮像制御部51は、上述したパノラマ撮像処理を実行する。
パノラマ撮像処理の詳細については
図8を参照して後述するが、原則として、パノラマ画像の画像データが生成されて、記録対象としてリムーバブルメディア31に記録される。これにより、ステップS8のパノラマ撮像処理が終了して、処理はステップS9に進む。
【0059】
ステップS9において、撮像制御部51は、エラーフラグは1であるか否かを判定する。
詳細については、
図8を参照して後述するが、パノラマ画像の画像データが記録対象としてリムーバブルメディア31に記録されて、ステップS8のパノラマ撮像処理が適正に終了すると、エラーフラグは0になっている。このような場合には、ステップS10においてNOであると判定されて、処理はステップS12に進む。なお、ステップS12以降の処理は上述したので、ここではその説明は省略する。
これに対して、ステップS8のパノラマ撮像処理中に何らかのエラーが発生すると、当該パノラマ撮像処理は不適性に終了する。このような場合には、エラーフラグは1になっているため、ステップS9においてYESであると判定されて、処理はステップS10に進む。
【0060】
ステップS10において、撮像制御部51は、エラーの内容を表示部19に表示する。表示されるエラーの内容の具体例については、後述する。
ステップS11において、撮像制御部51は、パノラマ撮像モードを解除し、エラーフラグを0にリセットする。
その後、処理はステップS1に戻され、それ以降の処理が繰り返される。即ち、撮像制御部51は、ユーザによる次の新たな撮像操作に備える。
【0061】
以上、
図7を参照して、撮像処理の流れについて説明した。
次に、
図8を参照して、
図7の撮像処理のうち、ステップS9のパノラマ撮像処理の詳細な流れについて説明する。
【0062】
図8は、パノラマ撮像処理の詳細な流れを説明するフローチャートである。
上述したように、パノラマ撮像モードの状態でシャッタスイッチ41が全押しされると、
図7のステップS6においてYESと判定されると、処理はステップS8に進み、パノラマ撮像処理として次のような処理が実行される。
【0063】
即ち、
図8のステップS31において、撮像制御部51は、角速度センサ22から角度変位量を取得する。
【0064】
ステップS32において、撮像制御部51は、ステップS31の処理で取得した角度変位量が0より大きいか否かを判定する。
ユーザがデジタルカメラ1を移動させていない状態では、角度変位量は0になるため、ステップS32においてNOであると判定され、処理は、ステップS33に進む。
【0065】
ステップS33において、撮像制御部51は、角度変位量0の継続が所定時間経過したか否かを判定する。所定時間としては、例えば、ユーザがシャッタスイッチ41を全押ししてから、デジタルカメラ1の移動を開始するまでに必要な時間よりも長い適当な時間を採用することができる。
所定時間が経過していない場合には、ステップS33においてNOであると判定され、処理はステップS31に戻され、それ以降の処理が繰り返される。即ち、ユーザがデジタルカメラ1を移動させていない状態の継続時間が所定時間より短い場合には、撮像制御部51は、ステップS31乃至ステップS33:NOのループ処理を繰り返し実行することで、パノラマ撮像処理を待機状態にする。
【0066】
この待機状態中に、ユーザが、デジタルカメラ1を移動させると、角速度センサ22からの角度変位量は0よりも大きな値になる。このような場合には、ステップS32においてYESであると判定されて、処理はステップS34に進む。
【0067】
ステップS34において、撮像制御部51は、これまでの累積角度変位量に対して、ステップS32の処理で取得した角度変位量を加算することによって、累積角度変位量を更新する(累積角度変位量=累積角度変位量+角度変位量)。即ち、RAM13に累積角度変位量として格納される値が更新される。
【0068】
累積角度変位量とは、このように角度変位量が累積加算された値であり、デジタルカメラ1の移動量を示している。
ここで、本実施形態では、ユーザがデジタルカメラ1を一定量移動させる度に、パノラマ途中画像の画像データ生成用の1フレームの画像データ(合成対象)が、画像処理部17から画像合成部52に供給されるものとする。
これを実現すべく、デジタルカメラ1の移動量としての「一定量」に対応する累積角度変位量が、
図7のステップS1の初期設定処理により「一定値」として予め与えられている。
即ち、本実施形態では、累積角度変位量が一定値に達する毎に、1フレームの画像データ(合成対象)が画像処理部17から画像合成部52に供給されると共に、累積角度変位量が0にリセットされる。
このような一連の処理が、次のステップS35以降の処理として実行される。
【0069】
即ち、ステップS35において、撮像制御部51は、累積角度変位量が一定値に達したか否かを判定する。
累積角度変位量が一定値に達していない場合には、ステップS35においてNOであると判定され、処理はステップS31に戻され、それ以降の処理が繰り返される。即ち、ユーザがデジタルカメラ1を一定量移動させることによって、累積角度変位量が一定値に達しない限り、撮像制御部51は、ステップS31乃至S35のループ処理を繰り返し実行する。
その後、ユーザがデジタルカメラ1を一定量移動させることによって、累積角度変位量が一定値に達したときは、ステップS35においてYESであると判定されて、処理はステップS36に進む。
【0070】
ステップS36において、画像合成部52は、撮像制御部51の制御の下、1フレーム画像データを画像処理部17から取得する。
即ち、撮像制御部51は、累積角度変位量が一定値に達したとして、処理をステップS36に進めると、画像合成部52に対して取得指令を発行する。
この取得指令を受けた画像合成部52は、ステップS36の処理として、画像処理部17から1フレームの画像データを取得する。
【0071】
ステップS37において、画像合成部52は、取得した1フレームの画像データ(そのうちの少なくとも一部)を、記憶領域101(
図6)のブランク領域に上書きすることによって、パノラマ途中画像の画像データを生成する。
パノラマ途中画像の画像データが画像合成部52から画像縮小部53に供給されると、処理はステップS38に進む。
【0072】
ステップS38において、画像縮小部53は、供給されたパノラマ途中画像の画像データのサイズ(解像度)を縮小する。
縮小後のパノラマ途中画像の画像データが画像縮小部53から表示制御部54に供給されると、処理はステップS39に進む。
【0073】
ステップS39において、表示制御部54は、画像縮小部53から供給された画像データにより表わされる画像、即ち、縮小後のパノラマ途中画像をスルー画像に重畳して表示部19に表示させる。
【0074】
ステップS40において、撮像制御部51は、これまでの総合角度変位量に対して、現在の角度変位量(=略一定値)を加算することによって、総合角度変位量を更新する(総合角度変位量=総合角度変位量+累積角度変位量)。即ち、RAM13に総合角度変位量として格納される値が更新される。
【0075】
ステップS41において、撮像制御部51は、累積角度変位量を0にリセットする。即ち、RAM13に累積角度変位量として格納される値が0に更新される。
【0076】
このように、累積角度変位量は、1フレームの画像データ(合成対象)が画像処理部17から画像合成部52に供給されるタイミング、即ち取得指令の発行タイミングを制御するために用いられる。よって、累積角度変位量は、一定に達して取得指令が発行される毎に0にリセットされる。
したがって、撮像制御部51は、累積角度変位量を用いても、パノラマ撮像処理が開始されてから現在までにデジタルカメラ1がどこまで移動したのかを認識することができない。
そこで、このような認識を可能にすべく、本実施形態では、累積角度変位量とは別に、総合角度変位量が採用されている。
即ち、総合角度変位量とは、角度変位量が累積加算された値であるが、一定量に達しても0にリセットされずに、パノラマ撮像処理が終了するまでの間(詳細には後述するステップS47の処理が実行されるまでの間)累積加算され続ける値である。
【0077】
このようにして、ステップS40の処理で総合角度変位量が更新されると共に、ステップS41の処理で累積角度変位量が0にリセットされると、処理はステップS42に進む。
【0078】
ステップS42において、撮像制御部51は、リリース操作が行われたか否かを判定する。
リリース操作が行われていない場合、即ち、ユーザによるシャッタスイッチ41の全押しが継続されている場合には、ステップS42においてNOであると判定されて、処理はステップS43に進む。
【0079】
ステップS43において、撮像制御部51は、画像取得のエラーが発生したか否かを判定する。
画像取得のエラーについては、特に限定されないが、例えば、本実施形態では、デジタルカメラ1が斜め方向、上下方向、又は逆方向に一定量以上移動したことがエラーとして採用されている。
【0080】
画像取得にエラーが発生していない場合には、ステップS43においてNOであると判定され、処理はステップS44に進む。
ステップS44において、撮像制御部51は、総合角度変位量が閾値を超えたか否かを判別する。
上述したように、総合角度変位量とは、パノラマ撮像処理が開始されてから(全押し操作がなされてから)、ステップS42の処理が実行される時点までの角度変位量の累積加算値である。
ここで、本実施形態では、パノラマ撮像中にユーザがデジタルカメラ1を移動させることが可能な最大移動量が予め決定されている。このようなデジタルカメラ1の移動量としての「最大移動量」に対応する総合角度変位量が、
図7のステップS1の初期設定処理により「閾値」として予め与えられている。
このように、本実施形態では、総合角度変位量が閾値に達したことは、デジタルカメラ1が最大移動量だけ移動したことを意味する。
従って、総合角度変位量が閾値に達していない場合、即ちデジタルカメラ1の移動量が最大移動量まで達していない場合、ユーザはデジタルカメラ1をまだ移動し続けることができるので、ステップS44においてNOであると判定されて、処理はステップS31に戻され、それ以降の処理が繰り返される。
即ち、角度変位量0の継続が所定時間経過すること(デジタルカメラ1が所定時間移動しないこと)もエラーの1つに含めると、エラーが発生しない状態で、全押し操作が継続されている限り、ステップS31乃至S44のループ処理が繰り返し実行される。
この間、
図5を参照して上述したように、デジタルカメラ1の移動に応じて、スルー画像の表示が更新されるとともに、パノラマ途中画像の表示も更新されていく。
ユーザは、このように更新され続けるパノラマ途中画像を視認しながらパノラマ撮像の操作をすることができるので、パノラマ撮像が開始されてから現在までの撮像の履歴を容易かつ正確に視認することができる。その結果、ユーザは、何度も撮像操作を繰り返さずとも、所望のパノラマ画像を容易かつ簡単に得ることが可能になる。
【0081】
その後、エラーが発生しない状態で、リリース操作がなされるか(ステップS42の処理でYESであると判定されるか)又はデジタルカメラ1が最大移動量まで移動した(ステップS45の処理でYESであると判定された)場合、処理はステップS46に進む。
ステップS46において、撮像制御部51は、画像合成部52を介して、パノラマ画像の画像データを生成し、記録対象の画像データとしてリムーバブルメディア31に記録させる。
【0082】
そして、ステップS47において、撮像制御部51は、総合角度変位量を0にリセットする。
これにより、パノラマ撮像処理は適正に終了する。即ち、
図7のステップS8の処理は適正に終了して、次のステップS9の処理でNOであると判定される。なお、ステップS9の処理でNOであると判定された後の処理については、上述したので、ここではその説明は省略する。
【0083】
なお、上述の一連の処理中に何らかのエラーが発生した場合、即ち、ステップS33の処理でYESであると判定されるか、又は、ステップS43の処理でYESであると判定された場合、処理はステップS44に進む。
ステップS44において、撮像制御部51は、エラーフラグを1にセットする。
この場合、ステップS46の処理は実行されずに、即ち、パノラマ画像の画像データは記録されずに、パノラマ撮像処理は不適正に終了する。
即ち、
図7のステップS8の処理は不適正に終了して、次のステップS9の処理でYESであると判定されて、ステップS10の処理でエラーの内容が表示される。
この場合のエラー内容の表示は、上述したように特に限定されないが、例えば、「画像取得に失敗しました」や「時間オーバーです」等のメッセージ表示を採用することができる。
【0084】
以上説明したように、本実施形態のデジタルカメラ1は、所定時間の間隔毎に撮像することによって順次得られる画像データのそれぞれを、フレームの画像データとして順次出力する撮像部16を備えている。
本実施形態のデジタルカメラ1はまた、画像合成部52と、表示制御部54と、を備えている。
画像合成部52は、デジタルカメラ1が所定量だけ移動する毎(上述した累積角度変位量が一定値に到達する毎)に、撮像部16から出力されるフレームの画像データを画像処理部17を介して取得して、記憶部18に保持させる。そして、画像合成部52は、これまでに記憶部18に累積的に保持された複数のフレームの画像データの少なくとも一部を合成することによって、パノラマ途中画像(合成画像)の画像データを順次生成する。
表示制御部54は、撮像部16から画像データとして順次出力されるフレーム(即ちスルー画像)と、画像合成部52により画像データとして順次生成されるパノラマ途中画像(合成画像)とを同時に表示させる制御を実行する。
これにより、
図5を参照して上述したように、デジタルカメラ1の移動に応じて、スルー画像の表示が更新されるとともに、パノラマ途中画像(合成画像)の表示も更新されてく。
ユーザは、このように更新され続けるパノラマ途中画像(合成画像)を視認しながらパノラマ撮像の操作をすることができるので、パノラマ撮像が開始されてから現在までの撮像の履歴を容易かつ正確に視認することができる。その結果、ユーザは、何度も撮像操作を繰り返さずとも、所望のパノラマ画像を容易かつ簡単に得ることが可能になる。
【0085】
特に、本実施形態のデジタルカメラ1において、表示制御部54は、スルー画像に対してパノラマ途中画像(合成画像)を重畳して表示部19に表示させる制御を実行している。
この場合には、ユーザは、スルー画像とパノラマ途中画像とを同時に視認できるので、スルー画像から現在撮像している被写体が何であるのかを視認するとともに、当該被写体がパノラマ画像のどの部分に含まれるのかを、より正確に視認することが可能になる。
【0086】
本実施形態のデジタルカメラ1は、パノラマ途中画像の画像データを縮小する画像縮小部53をさらに備えている。
これにより、表示制御部54は、縮小後のパノラマ途中画像をスルー画像に重畳して表示部19に表示させることができる。
この場合には、パノラマ途中画像によってスルー画像が大きく隠れることがないので、ユーザは、次の撮像対象の被写体をスルー画像から確実に視認できる。
【0087】
本実施形態のデジタルカメラ1において、画像合成部52は、リリース操作がなされたり、総合角度変位量が閾値に到達する等の所定条件が満たされると、記録用の合成画像の画像データとして、パノラマ画像の画像データを生成する。
この場合、撮像制御部51は、記録用として生成されたパノラマ画像の画像データをリムーバブルメディア31に記録する制御を実行する。
このようにして、ユーザは、何度も撮像操作を繰り返さずとも、所望のパノラマ画像の画像データを容易かつ簡単にリムーバブルメディア31に記録させることが可能になる。
【0088】
なお、発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0089】
例えば、上述の実施形態においては、スルー画像に対して縮小後のパノラマ途中画像が重畳されて表示部19に表示されるようにしたが、スルー画像及びパノラマ途中画像の表示形態は、同時に表示される形態であれば足り、特にこれに限定されない。
【0090】
例えば、表示部19の画面を上下に2分割して、上側と下側のうち、一方の画面にスルー画像を表示させ、他方の画面にパノラマ途中画像を表示させるようにしてもよい。
このように、スルー画像とパノラマ途中画像とを明確に区別して表示することにより、
ユーザは、パノラマ画像の形成過程を表すパノラマ画像をより鮮明に視認できるようになる。その結果、ユーザは、パノラマ撮像が開始されてから現在までの撮像の履歴をより一段と容易かつ正確に視認できるようになり、より少ない撮像操作で、所望のパノラマ画像を容易かつ簡単に得ることが可能になる。
【0091】
また例えば、パノラマ途中画像は、必要に応じて、縮小させずに表示させるようにすることも可能である。
また、本実施形態では、画像合成部52は、前回のパノラマ途中画像の画像データと、直前に合成対象として取得したフレームの画像データを用いて、前回のパノラマ途中画像のブランク領域に、合成対象のフレームを上書きする画像合成処理を実行するものとしたが、ブランク領域を表示せずにパノラマ途中画像のみを表示することも可能である。
【0092】
また、上述の実施形態においては、画像縮小部53は、画像合成部52の後段に設けられたが、画像合成部52の前段に設けられてもよい。この場合、画像縮小部53は、画像処理部17から順次供給されるフレームの画像データを順次縮小する。従って、画像合成部52は、縮小後の各フレームの画像データを合成することによって、パノラマ途中画像の画像データを生成する。
【0093】
また、上述の実施形態においては、角速度センサ22によってデジタルカメラ1の角度変位を検出する構成にしたが、角度変位量の検出する手法は、特にこれに限定されない。
例えば、スルー画像を解析する画像処理によってデジタルカメラ1の角度変位を検出する手法を採用してもよい。
【0094】
また、上述の実施形態においては、パノラマ途中画像及びパノラマ画像は、横長の構成とされたが、特にこれに限定されず、デジタルカメラ1の移動方向に則した方向に長くなる構成、例えば縦長の構成としてもよい。
【0095】
また例えば、上述の実施形態では、本発明が適用される撮像装置は、デジタルカメラ1として構成される例として説明した。
しかしながら、本発明は、特にこれに限定されず、パノラマ画像の撮像が可能になる撮像機能を有する電子機器一般に適用することができ、例えば、本発明は、携帯型パーソナルコンピュータ、携帯型ナビゲーション装置、ポータブルゲーム機等に幅広く適用可能である。
【0096】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
【0097】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、撮像装置又は当該撮像装置を制御するコンピュータ等にネットワークや記録媒体からインストールされる。ここで、コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。或いはまた、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0098】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア31により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア31は、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、光磁気ディスク等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されているROM12や記憶部18に含まれるハードディスク等で構成される。
【0099】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。