撮影装置、その制御方法、および制御プログラム
【課題】撮影の際に光軸と重力方向とが同一の方向であっても、撮影の際にユーザが意図した構図で画像を再生することができるようにする。
【解決手段】回転センサー106は、重力方向に沿って撮像装置を向けて被写体を撮像する際、撮像装置が横構図位置にある場合を基準角度として撮像装置のロール角度を検知する。CPU101は、検知されたロール角度と予め定められた撮影者位置判定基準とに応じて撮像装置に対する撮影者の位置を撮影者位置情報として求める。そして、CPUは撮影者位置情報に応じて画像の下方向を示す構図情報を求めて、構図情報を画像に関連付けて記憶媒体105に記憶する。
【解決手段】回転センサー106は、重力方向に沿って撮像装置を向けて被写体を撮像する際、撮像装置が横構図位置にある場合を基準角度として撮像装置のロール角度を検知する。CPU101は、検知されたロール角度と予め定められた撮影者位置判定基準とに応じて撮像装置に対する撮影者の位置を撮影者位置情報として求める。そして、CPUは撮影者位置情報に応じて画像の下方向を示す構図情報を求めて、構図情報を画像に関連付けて記憶媒体105に記憶する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮影装置、その制御方法、および制御プログラムに関する。
【背景技術】
【0002】
従来、デジタルカメラなどの撮像装置では撮像装置に備えられた傾きセンサーの検出結果に応じて、撮像の結果得られた画像の向きを決定している。そして、この画像の向きを画像ファイルの属性情報としてメモリに記憶している。画像ファイルの再生を行う際には、PC又は撮像装置は属性情報に応じて画像を回転し、表示装置に表示する(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−158959号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、撮影の際チルト角が90度付近となる上または下向き撮影においては光軸と重力方向とが同一の方向となるため、傾きセンサーでは光軸に対する傾きを検出することができない。
【0005】
このため、画像の向きを示す属性情報を画像ファイルとともにメモリに記憶することができず、再生の際のユーザが意図する構図で画像を再生することが困難となる。
【0006】
従って、本発明の目的は、撮影の際に光軸と重力方向とが同一の方向であっても、撮影の際にユーザが意図した構図で画像を再生することのできる撮像装置、その制御方法、および制御プログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記の目的を達成するため、本発明による撮像装置は、被写体を撮像して画像を得る撮像装置において、重力方向に沿って撮像装置を向けて前記被写体を撮像する際、前記撮像装置が横構図位置にある場合を基準角度として前記撮像装置のロール角度を検知するロール角検知手段と、前記ロール角検知手段で検知されたロール角度と予め定められた撮影者位置判定基準とに応じて前記撮像装置に対する前記撮影者の位置を撮影者位置情報として求める撮影者位置算出手段と、前記撮影者位置情報に応じて前記画像の下方向を示す構図情報を求める構図情報算出手段と、前記構図情報を前記画像に関連付けてメモリに記憶する記憶制御手段とを有することを特徴とする。
【0008】
本発明による制御方法は、被写体を撮像して画像を得る撮像装置の制御方法であって、ロール角度検知センサーによって重力方向に沿って撮像装置を向けて前記被写体を撮像する際、前記撮像装置が横構図位置にある場合を基準角度として前記撮像装置のロール角度を検知するロール角検知ステップと、前記ロール角度検知センサーで検知されたロール角度と予め定められた撮影者位置判定基準とに応じて前記撮像装置に対する前記撮影者の位置を撮影者位置情報として求める撮影者位置算出ステップと、前記撮影者位置情報に応じて前記画像の下方向を示す構図情報を求める構図情報算出ステップと、前記構図情報を前記画像に関連付けてメモリに記憶する記憶制御ステップとを有することを特徴とする。
【0009】
本発明による制御プログラムは、被写体を撮像して画像を得る撮像装置で用いられる制御プログラムであって、前記撮像装置が備えるコンピュータに、ロール角度検知センサーによって重力方向に沿って撮像装置を向けて前記被写体を撮像する際、前記撮像装置が横構図位置にある場合を基準角度として前記撮像装置のロール角度を検知するロール角検知ステップと、前記ロール角度検知センサーで検知されたロール角度と予め定められた撮影者位置判定基準とに応じて前記撮像装置に対する前記撮影者の位置を撮影者位置情報として求める撮影者位置算出ステップと、前記撮影者位置情報に応じて前記画像の下方向を示す構図情報を求める構図情報算出ステップと、前記構図情報を前記画像に関連付けてメモリに記憶する記憶制御ステップとを実行させることを特徴とする。
【発明の効果】
【0010】
本発明によれば、撮影の際に撮像装置の光軸と重力方向とが同一の方向であっても、撮影の際にユーザが意図した構図で撮影画像を再生することができる。その結果、ユーザは快適に再生画像を鑑賞することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の第1の実施形態による撮像装置の一例の構成を示すブロック図である。
【図2】図1に示すカメラにおける角度の定義を説明するための図であり、(a)はロール角度を示す図、(b)は対撮影者ロール角度を示す図、(c)はチルト角度を示す図である。
【図3】図1に示すカメラにおける撮影処理手順を説明するためのフローチャートである。
【図4】図1に示すカメラにおいて対撮影者ロール角度、カメラ操作、およびカメラの姿勢の変化を示す図である。
【図5】図1に示すカメラを用いて机の上に置かれた人形をカメラを下向きとして撮影する状態と示す図であり、(a)はロール角度が90度でカメラの左側を構図の下側とした際の状態を示す図、(b)はロール角度が0度でカメラの下側を構図の下側とした際の状態を示す図、(c)はロール角度が−90度でカメラの右側を構図の下側とした際の状態を示す図である。
【図6】図3に示す構図情報算出処理を説明するためのフローチャートである。
【図7】図6に示す撮影者位置算出処理を説明するためのフローチャートである。
【図8】本発明の第2の実施形態による撮像装置の一例についてその構成を示すブロック図である。
【図9】図8に示す傾きセンサーで検出される傾き角度について説明するための図である。
【図10】図8に示すカメラにおける撮影処理手順を説明するためのフローチャートである。
【図11】本発明の第3の実施形態による撮像装置の一例についてその構成を示すブロック図である。
【図12】図11に示すDSPによるロール角度検出の一例を説明するための図であり、(a)は机上の人形を下向き撮影する状態を示す図、(b)は(a)に示す状態からカメラを90度ロール回転した状態を示す図、(c)は(a)および(b)に示す状態における画像を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態による撮像装置の一例について図面を参照して説明する。
【0013】
[第1の実施形態]
図1は、本発明の第1の実施形態による撮像装置の一例の構成を示すブロック図である。
【0014】
図1において、図示の撮像装置は所謂デジタルカメラ(以下単にカメラという)であり、このカメラはCPU101を有している。CPU101はカメラ全体の制御を司る。撮像部102は固体撮像素子を有し、固体撮像素子に結像した光学像は、固体撮像素子によって電気信号(アナログ信号)に変換される。その後、撮像部102はA/D変換によってアナログ信号をデジタル信号に変換して画像データとして出力する。
【0015】
ROM103にはCPU101で行われる動作処理手順(例えば、カメラの電源をオンした際の処理および基本入出力処理などのプログラム)が記憶されている。RAM104はCPU101のメインメモリとして用いられる。RAM104には後述の処理を行うための制御プログラムを含む各種プログラムがROM103などロードされる。そして、CPU101は当該各種プログラムを実行する。また、RAM104はCPU101が各種処理を実行する際のワークエリアとして用いられる。
【0016】
記憶媒体105はカメラに着脱可能であり、記憶媒体装着ユニット(メディアドライブ:図示せず)を介して、CPU101は画像データなどを記憶媒体105に記憶する。また、CPU101は記憶媒体105に記憶された画像データなどを、記憶場対装着ユニットを介して読み出す。
【0017】
回転センサー106(ロール角度検知手段:ロール角度検知センサー)はカメラの光軸を中心とする回転角度(ロール角度)を検出するセンサーである。図示の例では、回転センサー106は航空機、携帯型情報機器、又はゲームコントローラなどで用いられるジャイロスコープを備えている。回転センサー106は、ジャイロスコープで検知された角加速度を、2回積分計算して、所定の基準角度に対する相対的なロール角度を算出する。
【0018】
操作部108はカメラの電源を投入するための電源ボタンおよび撮影モードを設定するためのボタンなどを有している。そして、ユーザは操作部108によって各種メニュー操作を行う。
【0019】
表示装置109(表示部)はCPU101の制御下で各種表示を行う。例えば、再生モードにおいて、表示装置109には記憶媒体105に記憶された画像データ(画像ファイルともいう)が画像として表示される。また、撮影の際には表示装置109には画像データがライブビューとして表示される。
【0020】
レリーズスイッチ110は撮影の際にユーザによって操作される。なお、上述した各構成要素(ブロック)はシステムバス(アドレスバス、データバス、および制御バス)112によって相互に接続されている。
【0021】
ここで、図1に示すカメラにおける角度について定義する。
【0022】
図2は、図1に示すカメラにおける角度の定義を説明するための図である。そして、図2(a)はロール角度を示す図であり、図2(b)は対撮影者ロール角度を示す図である。また、図2(c)はチルト角度を示す図である。
【0023】
図2(a)において、ロール角度はカメラ200の光軸201を中心とする回転角度をいい、カメラ200の姿勢変化を表す際に用いられる。ここでは、図2(b)に示すように、ユーザ(撮影者)の肩のラインに沿って横方向(水平方向)に延びる軸を第1の軸202とする。また、カメラ200の底面に沿って延びる軸を第2の軸203とする。そして、第1の軸202と第2の軸203とがなす角度を対撮影者ロール角度と呼ぶ。この対撮影者ロール角度は撮影者がカメラ200を横構図位置として撮影を行った際に0度となる。
【0024】
図示の例では、電源投入の際又はメニュー操作時などのように対撮影者ロール角度が0度となる状態で、回転センサー106に基準角度を0度として設定する。これによって、回転センサー106の出力から対撮影者ロール角度を得ることができる。
【0025】
なお、通常、電源ボタンを押す操作を含めメニュー操作全般について、ユーザは対撮影者ロール角度を0度として操作する。そして、メニュー操作などの際には、カメラに備えられたグリップおよびメニュー配置は、対撮影者ロール角度が0度となるように設計が行われている。ここでは、電源操作を含むメニュー操作の際には対撮影者ロール角度は0度であるとして説明する。
【0026】
図2(c)において、カメラを真横から見た場合、角度90度から、重力方向の軸(重力軸)とカメラの光軸とのなす角度を減算した角度をチルト角度と呼ぶ。
【0027】
図3は、図1に示すカメラにおける撮影処理手順を説明するためのフローチャートである。
【0028】
図1および図3を参照して、操作部108において電源ボタンが投入されると、CPU101は撮影処理を開始する。つまり、電源ボタンがオンされた際、CPU101は回転センサー106に対撮影者ロール角度を0度と設定する(ステップS501)。なお、以下の説明では、CPU101は、回転センサー106に任意の時点で任意の角度の設定を行うことができる。また、CPU101は回転センサー106から検出角度を取得する際、予め設定された角度を基準角度として回転センサー106で検出した検出角度を取得する。
【0029】
続いて、CPU101は電源ボタンがオフとされたか否かを判定する(ステップS502)。電源ボタンがオフとされると(ステップS502において、YES)、CPU101は撮影処理を終了する。
【0030】
一方、電源ボタンがオフとされないと(ステップS502において、NO)、CPU101は、ユーザが操作部108を操作してメニュー操作を行ったか否かを判定する(ステップS503)。メニュー操作が行われると(ステップS503において、YES)、CPU101は対撮影者ロール角度を0度と補正する(ステップS504)。
【0031】
前述のように、回転センサー106はジャイロスコープを備えて角加速度を2回積分しているため、出力である回転角度に誤差が発生する。したがって、ステップS504において対撮影者ロール角度を0度に補正する。つまり、対撮影者ロール角度の補正処理を行う。
【0032】
なお、回転センサー106に全方位磁石を用いて回転角度の誤差が無視できれば、ステップS504の処理を行う必要はない。
【0033】
次に、CPU101はレリーズスイッチ(SW)110が押されたか否かを判定する(ステップS505)。レリーズスイッチが押されていないと(ステップS505において、NO)、CPU101はステップS502の処理に戻る。なお、ステップS503において、メニュー操作が行われないと(ステップS503において、NO)、CPU101はステップS505の処理に進む。
【0034】
レリーズスイッチが押されると(ステップS505において、YES)、CPU101は撮像部102を制御して撮影動作を実行する(ステップS506)。ここでは、CPU101は撮影動作の結果得られた画像データをRAM104に記憶する。なお、ステップS506においては、画像データは記憶媒体105に記憶されない。
【0035】
続いて、CPU101は対撮影者ロール角度補正処理を行う(ステップS507)。この対撮影者ロール角度補正処理では、撮影時において対撮影者ロール角度が−90度、0度、および90度のいずれか1つの角度(所定の角度)に対して所定の範囲内にある角度であれば、これら角度のいずれかの対撮影者ロール角度で撮影が行われたものとする。例えば、所定の角度と対撮影者ロール角度との差が15度以内であれば、対撮影者ロール角度は所定の角度とされる。
【0036】
なお、回転センサー106に全方位磁石を用いて回転角度の誤差が無視できれば、ステップS507の処理を行う必要はない。
【0037】
続いて、CPU101は後述する構図情報算出処理を行う(ステップS508)。この構図情報算出処理においては撮影者が意図する構図情報が決定される。構図情報として、例えば、画像右側が下、画像左側が下、および画像下側が下のうちいずれか1つが決定される。
【0038】
上述の構図情報を得た後、CPU101は、RAM104に記憶された画像データと構図情報とを関連付けて記憶媒体105に記憶する。その後、CPU101はステップS502の処理に戻る。
【0039】
図4は、図1に示すカメラにおいて対撮影者ロール角度、カメラ操作、およびカメラの姿勢の変化を示す図である。
【0040】
図4において、時刻T=11でメニュー操作が行われたとする。この場合、カメラの姿勢変化に拘わらず(つまり、カメラに姿勢変化がなくとも)、前述のステップS504の処理で対撮影者ロール角度が0度とされる。また、時刻T=19において、カメラに姿勢変化がなくても、ステップS507の処理によって対撮影者ロール角度は90度とされる。
【0041】
ここで、撮影の際における撮影者の位置と撮影者が意図する構図との関係について説明する。
【0042】
図5は、図1に示すカメラを用いて机の上に置かれた人形を、カメラを下向きとして撮影する状態と示す図である。そして、図5(a)はロール角度が90度でカメラの左側を構図の下側とした際の状態を示す図であり、図5(b)はロール角度が0度でカメラの下側を構図の下側とした際の状態を示す図である。また、図5(c)はロール角度が−90度でカメラの右側を構図の下側とした際の状態を示す図である。
【0043】
図5(a)においては、紙面裏側から見た場合、撮影者502はカメラ200の左側に位置している。この場合に、撮影画像を表示する際撮影画像の左側を表示上の下側として表示すれば、人形501(被写体)の頭が上側に表示され、足が下側に表示されることになる。
【0044】
図5(b)においては、紙面の裏側から見て、撮影者502がカメラ200の下側に位置している。この場合に、撮影画像を表示する際撮影画像の下側を表示上の下側として表示するようにすれば、人形501の頭が上側に表示され、足が下側に表示されることになる。
【0045】
図5(c)においては、紙面の裏側から見て、撮影者502がカメラ200の右側に位置している。この場合に、撮影画像を表示する際撮影画像の右側を表示上の下側として表示するようにすれば、人形501の頭が上側に表示され、足が下側に表示されることになる。
【0046】
このように、カメラと撮影者との位置関係から、撮影者が意図する構図が分かり、これによって構図情報を求めることができる。
【0047】
図6は、図3に示す構図情報算出処理を説明するためのフローチャートである。
【0048】
図6において、構図情報算出処理を開始すると、CPU101は後述する撮影者位置算出処理を行って、撮影者位置情報を得る(ステップS601)。そして、CPU101は撮影者位置情報に応じて構図情報を求める(ステップS602)。その後、CPU101は構図情報算出処理を終了する。
【0049】
ここでは、撮影者位置情報が撮影者はカメラの右側に位置することを示していると、CPU101は画像右側が下方向であることを示す構図情報を得る。撮影者位置情報が撮影者はカメラの左側に位置することを示していると、CPU101は画像左側が下方向であることを示す構図情報を得る。そして、撮影者位置情報が撮影者はカメラの下側に位置することを示していると、CPU101は画像下側が下方向であることを示す構図情報を得る。
【0050】
図7は、図6に示す撮影者位置算出処理を説明するためのフローチャートである。撮影者位置算出処理の際には、CPU101は予め定められた撮影者位置判定基準に応じて撮影者の位置を求める。
【0051】
図7において、撮影者位置算出処理を開始すると、CPU101は対撮影者ロール角度を回転センサー106から取得する(ステップS701)。続いて、CPU101は対撮影者ロール角度が−90度であるか否かを判定する(第3の基準:ステップS702)。対撮影者ロール角度が−90度であると(ステップS702において、YES)、CPU101は撮影者502がカメラの右側に位置するものと判定して、撮影者右側を示す撮影者位置情報を得る(ステップS703)。そして、CPU101は撮影者位置算出処理を終了する。
【0052】
対撮影者ロール角度が−90度でないと(ステップS702において、NO)、CPU101は対撮影者ロール角度が0度であるか否かを判定する(第2の基準:ステップS704)。対撮影者ロール角度が0度であると(ステップS704において、YES)、CPU101は、撮影者502がカメラ200の下側に位置するものと判定して、撮影者下側を示す撮影者位置情報を得る(ステップS705)。そして、CPU101は撮影者位置算出処理を終了する。
【0053】
対撮影者ロール角度が0度でないと(ステップS704において、NO)、CPU101は対撮影者ロール角度が90度であるか否かを判定する(第1の基準:ステップS706)。対撮影者ロール角度が90度であると(ステップS706において、YES)、CPU101は、撮影者502がカメラ200の左側に位置するものと判定して、撮影者左側を示す撮影者位置情報を得る(ステップS707)。そして、CPU101は撮影者位置算出処理を終了する。
【0054】
対撮影者ロール角度が90度でないと(ステップS706において、NO)、CPU101は、撮影者502がカメラ200の下側に位置するものと判定して、撮影者下側を示す撮影者位置情報を得る(ステップS708)。そして、CPU101は撮影者位置算出処理を終了する。ステップS708においては、CPU101は撮影者の位置の判定ができなかったとし、デフォルトとして撮影者502がカメラ200の下側に位置するものとする。
【0055】
正常な持ち方でカメラ200を把持して撮影を行う場合には、カメラ200を180度回転させて撮影を行うことは困難である。このため、CPU101は、対撮影者ロール角度が180度である場合には不正であるとし、デフォルトとして撮影者が画像下側に位置するものとする。
【0056】
なお、ステップS702、S704、およびS706における処理では、判定の際に所定の範囲が設定される。前述のように、この所定の範囲は±15度である。つまり、対撮影者ロール角度が±15度の範囲にあれば、CPU101は対撮影者ロール角度が−90度、0度、又は90度であると判定することになる。
【0057】
このように、第1の実施形態では、机の上に置かれた人形を撮影する場合のように、撮影対象に対してカメラを下向きに向ける下向き撮影の場合の際に、撮影者が意図する構図を示す構図情報とともに撮影画像データをメモリに記憶する。従って、カメラ又はPCなどで撮影画像データを再生する際、構図情報に応じて撮影画像データを再生するようにすれば、撮影者が意図した構図で容易に画像を鑑賞することができる。
【0058】
さらに、回転センサーに検出誤差があっても、当該検出誤差に対する補正を行うようにしたので、撮影者の意図する構図を示す構図情報を精度よく得ることができる。
【0059】
[第2の実施形態]
図8は、本発明の第2の実施形態による撮像装置の一例についてその構成を示すブロック図である。
【0060】
図8に示すカメラにおいて、図1に示すカメラと同一の構成要素については同一の参照番号を付し説明を省略する。図8に示すカメラは、チルトセンサー107(チルト角度検知手段)および傾きセンサー111(傾き角度検知手段)を有している。チルトセンサー107は振り子の原理を用いてチルト方向におけるカメラの角度(チルト角度)を検出する。つまり、チルトセンサー107は重力方向に直交する方向と撮像装置の光軸となす角度であるチルト角度を検知する。
傾きセンサー111は振り子の原理を用いてチルト角度0度付近におけるカメラと水平面との角度を傾き角度として検出する。
【0061】
図8に示すカメラでは、チルトセンサー107および傾きセンサー111で検出されたチルト角度および傾き角度によって、CPU101は対撮影者ロール角度の補正処理を行う。
【0062】
図示の例では、チルト角度0度付近では傾きセンサー111が有効となって、傾きセンサー111で検出された傾き角度が対撮影者ロール角度として用いられる。第1の実施形態に関連して説明したように、回転センサー106がジャイロスコープを用いた際には、回転センサー106における検出誤差が大きくなる。しかし、チルト角度0度付近では対撮影者ロール角度を傾きセンサー111の検出角度(傾き角度)として誤差を少なくする。
【0063】
図9は、図8に示す傾きセンサー111で検出される傾き角度について説明するための図である。
【0064】
図9に示すように、ここでは、カメラ200の底面に沿って延びる軸203と水平面901とがなす角度を傾き角度とし、図中矢印方向(反時計回りの方向)をプラス方向とする。
【0065】
図10は、図8に示すカメラにおける撮影処理手順を説明するためのフローチャートである。なお、図10において、図3に示す処理(ステップ)と同一の処理については同一の参照部号を付して説明を省略する。
【0066】
図8および図10を参照して、ステップS506において、CPU101は撮像部102を制御して撮影を行って、撮影動作の結果得られた画像データをRAM104に記憶する。その後、CPU101はチルトセンサー107からチルト角度を取得して、現在のチルト角度が0度であるか否かを判定する(ステップS1001)。
【0067】
チルト角度が0度でないと(ステップS1001において、NO)、CPU101は図3で説明したステップS507の処理を行う。一方、チルト角度が0度であると(ステップS1001において、YES)、CPU101は傾きセンサー111から傾き角度を取得して、この傾き角度を対撮影者ロール角度として設定し、現在の対撮影者ロール角度を補正する(ステップS1002)。その後、CPU101は図3などで説明したステップS508の処理を行う。
【0068】
なお、ステップS1001で行われるチルト角度の判定では、チルト角度は0度に限るものではなく、傾きセンサー111が傾き角度を正確に検出することが可能なチルト角度0度付近の所定の範囲内であればよい。つまり、ステップS1001では、チルト角度が0度を基準として所定の範囲内にあれば、CPU101はステップS1002の処理を行う。
【0069】
このように、第2の実施形態では、チルト角度が0度付近となる都度、対撮影者ロール角度を傾き角度で補正するようにしたので、より正確に撮影者とカメラとの位置関係を得ることができる。
【0070】
[第3の実施形態]
図11は、本発明の第3の実施形態による撮像装置の一例についてその構成を示すブロック図である。
【0071】
図11に示すカメラにおいて、図1に示すカメラと同一の構成要素については同一の参照番号を付し説明を省略する。図8に示すカメラは、回転センサー106の代わりにDSP(デジタルシグナルプロセッサ)1201を有している。図示のDSP1201は撮像部102から得られた画像データを高速に解析して、フレーム間における対応点抽出および動きベクトル検出を行う。そして、対応点における動きベクトルに応じてカメラの光軸を中心とするロール角度を検出する。
【0072】
図12は、図11に示すDSP1201によるロール角度検出の一例を説明するための図である。そして、図12(a)は机上の人形を下向き撮影する状態を示す図であり、図12(b)は図12(a)に示す状態からカメラを90度ロール回転した状態を示す図である。そして、図12(c)は図12(a)および図12(b)に示す状態における画像を示す図である。
【0073】
いま、撮影者502が机上に置かれた人形501を下向き撮影するため、紙面裏側から見て撮影者の上側にカメラを位置づけたとする(横位置撮影:図12(a)参照)。その後、撮影者は縦位置撮影の構えとするため、カメラ200を90度ロール回転したとする(図12(b)参照)。
【0074】
ここで、図12(a)に示す状態と図12(b)に示す状態とによって得られ撮影画像をともに表示すると、図12(c)に示す表示結果が得られる。つまり、図12(a)に示す状態から図12(b)に示す状態に構えを変化させると、人形の画像は右方向に回転して符号G1で示す状態から符号G2に示す状態となる。
【0075】
前述のように、DSP1201は、フレーム間の対応点A(T)およびA(T’)の抽出を行うとともに、対応点A(T)およびA(T’)の動きベクトルを検出する。そして、DSP1201は対応点A(T)およびA(T’)の動きベクトルについて画像の中心に対する動き方向とその大きさに応じてロール角度を求める。そして、DSP1201はロール角度をCPU101に与える。
【0076】
なお、フレーム間の対応点抽出および動きベクトル検出を検出する際には、例えば、動画におけるフレーム間圧縮技術で用いられている手法が用いられる。また、図11に示すカメラにおける撮影処理は図3と同様であるので、ここでは説明を省略する。
【0077】
このように、第3の実施形態では、DSPにおける処理によってロール角度を求めるようにしたので、回転センサーを備える必要がない。そして、一般にデジタルカメラにおいては、動画を撮影して圧縮するためDSPを備えているから、このDSPを用いてフレーム間の対応点抽出および動きベクトル検出を行うようにすればよい。従って、DSPを用いてロール角度を検出するようにすれば、別に回転センサーを備える必要がなく、コストダウンを実現できる。
【0078】
さらに、DSPを用いれば、ジャイロスコープに比べて、高精度にロール角度を検出することができる結果、正確な構図で再生画像を鑑賞することができる。
【0079】
上述の説明から明らかなように、図1などにおいて、CPU101が撮影者位置算出手段、構図情報算出手段、および記憶制御手段として機能する。さらに、CPU101は表示制御手段および補正手段として機能する。
【0080】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【0081】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を撮像装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、この制御プログラムを撮像装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【0082】
この際、制御方法および制御プログラムの各々は、少なくともロール角検知ステップ、撮影者位置算出ステップ、構図情報算出ステップ、および記憶制御ステップを有することになる。
【0083】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0084】
101 CPU
102 撮像部(撮像素子)
105 記憶媒体
106 回転センサー
107 チルトセンサー
108 操作部
109 表示装置
110 レリーズスイッチ
111 傾きセンサー
1201 DSP
【技術分野】
【0001】
本発明は、撮影装置、その制御方法、および制御プログラムに関する。
【背景技術】
【0002】
従来、デジタルカメラなどの撮像装置では撮像装置に備えられた傾きセンサーの検出結果に応じて、撮像の結果得られた画像の向きを決定している。そして、この画像の向きを画像ファイルの属性情報としてメモリに記憶している。画像ファイルの再生を行う際には、PC又は撮像装置は属性情報に応じて画像を回転し、表示装置に表示する(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−158959号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、撮影の際チルト角が90度付近となる上または下向き撮影においては光軸と重力方向とが同一の方向となるため、傾きセンサーでは光軸に対する傾きを検出することができない。
【0005】
このため、画像の向きを示す属性情報を画像ファイルとともにメモリに記憶することができず、再生の際のユーザが意図する構図で画像を再生することが困難となる。
【0006】
従って、本発明の目的は、撮影の際に光軸と重力方向とが同一の方向であっても、撮影の際にユーザが意図した構図で画像を再生することのできる撮像装置、その制御方法、および制御プログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記の目的を達成するため、本発明による撮像装置は、被写体を撮像して画像を得る撮像装置において、重力方向に沿って撮像装置を向けて前記被写体を撮像する際、前記撮像装置が横構図位置にある場合を基準角度として前記撮像装置のロール角度を検知するロール角検知手段と、前記ロール角検知手段で検知されたロール角度と予め定められた撮影者位置判定基準とに応じて前記撮像装置に対する前記撮影者の位置を撮影者位置情報として求める撮影者位置算出手段と、前記撮影者位置情報に応じて前記画像の下方向を示す構図情報を求める構図情報算出手段と、前記構図情報を前記画像に関連付けてメモリに記憶する記憶制御手段とを有することを特徴とする。
【0008】
本発明による制御方法は、被写体を撮像して画像を得る撮像装置の制御方法であって、ロール角度検知センサーによって重力方向に沿って撮像装置を向けて前記被写体を撮像する際、前記撮像装置が横構図位置にある場合を基準角度として前記撮像装置のロール角度を検知するロール角検知ステップと、前記ロール角度検知センサーで検知されたロール角度と予め定められた撮影者位置判定基準とに応じて前記撮像装置に対する前記撮影者の位置を撮影者位置情報として求める撮影者位置算出ステップと、前記撮影者位置情報に応じて前記画像の下方向を示す構図情報を求める構図情報算出ステップと、前記構図情報を前記画像に関連付けてメモリに記憶する記憶制御ステップとを有することを特徴とする。
【0009】
本発明による制御プログラムは、被写体を撮像して画像を得る撮像装置で用いられる制御プログラムであって、前記撮像装置が備えるコンピュータに、ロール角度検知センサーによって重力方向に沿って撮像装置を向けて前記被写体を撮像する際、前記撮像装置が横構図位置にある場合を基準角度として前記撮像装置のロール角度を検知するロール角検知ステップと、前記ロール角度検知センサーで検知されたロール角度と予め定められた撮影者位置判定基準とに応じて前記撮像装置に対する前記撮影者の位置を撮影者位置情報として求める撮影者位置算出ステップと、前記撮影者位置情報に応じて前記画像の下方向を示す構図情報を求める構図情報算出ステップと、前記構図情報を前記画像に関連付けてメモリに記憶する記憶制御ステップとを実行させることを特徴とする。
【発明の効果】
【0010】
本発明によれば、撮影の際に撮像装置の光軸と重力方向とが同一の方向であっても、撮影の際にユーザが意図した構図で撮影画像を再生することができる。その結果、ユーザは快適に再生画像を鑑賞することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の第1の実施形態による撮像装置の一例の構成を示すブロック図である。
【図2】図1に示すカメラにおける角度の定義を説明するための図であり、(a)はロール角度を示す図、(b)は対撮影者ロール角度を示す図、(c)はチルト角度を示す図である。
【図3】図1に示すカメラにおける撮影処理手順を説明するためのフローチャートである。
【図4】図1に示すカメラにおいて対撮影者ロール角度、カメラ操作、およびカメラの姿勢の変化を示す図である。
【図5】図1に示すカメラを用いて机の上に置かれた人形をカメラを下向きとして撮影する状態と示す図であり、(a)はロール角度が90度でカメラの左側を構図の下側とした際の状態を示す図、(b)はロール角度が0度でカメラの下側を構図の下側とした際の状態を示す図、(c)はロール角度が−90度でカメラの右側を構図の下側とした際の状態を示す図である。
【図6】図3に示す構図情報算出処理を説明するためのフローチャートである。
【図7】図6に示す撮影者位置算出処理を説明するためのフローチャートである。
【図8】本発明の第2の実施形態による撮像装置の一例についてその構成を示すブロック図である。
【図9】図8に示す傾きセンサーで検出される傾き角度について説明するための図である。
【図10】図8に示すカメラにおける撮影処理手順を説明するためのフローチャートである。
【図11】本発明の第3の実施形態による撮像装置の一例についてその構成を示すブロック図である。
【図12】図11に示すDSPによるロール角度検出の一例を説明するための図であり、(a)は机上の人形を下向き撮影する状態を示す図、(b)は(a)に示す状態からカメラを90度ロール回転した状態を示す図、(c)は(a)および(b)に示す状態における画像を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態による撮像装置の一例について図面を参照して説明する。
【0013】
[第1の実施形態]
図1は、本発明の第1の実施形態による撮像装置の一例の構成を示すブロック図である。
【0014】
図1において、図示の撮像装置は所謂デジタルカメラ(以下単にカメラという)であり、このカメラはCPU101を有している。CPU101はカメラ全体の制御を司る。撮像部102は固体撮像素子を有し、固体撮像素子に結像した光学像は、固体撮像素子によって電気信号(アナログ信号)に変換される。その後、撮像部102はA/D変換によってアナログ信号をデジタル信号に変換して画像データとして出力する。
【0015】
ROM103にはCPU101で行われる動作処理手順(例えば、カメラの電源をオンした際の処理および基本入出力処理などのプログラム)が記憶されている。RAM104はCPU101のメインメモリとして用いられる。RAM104には後述の処理を行うための制御プログラムを含む各種プログラムがROM103などロードされる。そして、CPU101は当該各種プログラムを実行する。また、RAM104はCPU101が各種処理を実行する際のワークエリアとして用いられる。
【0016】
記憶媒体105はカメラに着脱可能であり、記憶媒体装着ユニット(メディアドライブ:図示せず)を介して、CPU101は画像データなどを記憶媒体105に記憶する。また、CPU101は記憶媒体105に記憶された画像データなどを、記憶場対装着ユニットを介して読み出す。
【0017】
回転センサー106(ロール角度検知手段:ロール角度検知センサー)はカメラの光軸を中心とする回転角度(ロール角度)を検出するセンサーである。図示の例では、回転センサー106は航空機、携帯型情報機器、又はゲームコントローラなどで用いられるジャイロスコープを備えている。回転センサー106は、ジャイロスコープで検知された角加速度を、2回積分計算して、所定の基準角度に対する相対的なロール角度を算出する。
【0018】
操作部108はカメラの電源を投入するための電源ボタンおよび撮影モードを設定するためのボタンなどを有している。そして、ユーザは操作部108によって各種メニュー操作を行う。
【0019】
表示装置109(表示部)はCPU101の制御下で各種表示を行う。例えば、再生モードにおいて、表示装置109には記憶媒体105に記憶された画像データ(画像ファイルともいう)が画像として表示される。また、撮影の際には表示装置109には画像データがライブビューとして表示される。
【0020】
レリーズスイッチ110は撮影の際にユーザによって操作される。なお、上述した各構成要素(ブロック)はシステムバス(アドレスバス、データバス、および制御バス)112によって相互に接続されている。
【0021】
ここで、図1に示すカメラにおける角度について定義する。
【0022】
図2は、図1に示すカメラにおける角度の定義を説明するための図である。そして、図2(a)はロール角度を示す図であり、図2(b)は対撮影者ロール角度を示す図である。また、図2(c)はチルト角度を示す図である。
【0023】
図2(a)において、ロール角度はカメラ200の光軸201を中心とする回転角度をいい、カメラ200の姿勢変化を表す際に用いられる。ここでは、図2(b)に示すように、ユーザ(撮影者)の肩のラインに沿って横方向(水平方向)に延びる軸を第1の軸202とする。また、カメラ200の底面に沿って延びる軸を第2の軸203とする。そして、第1の軸202と第2の軸203とがなす角度を対撮影者ロール角度と呼ぶ。この対撮影者ロール角度は撮影者がカメラ200を横構図位置として撮影を行った際に0度となる。
【0024】
図示の例では、電源投入の際又はメニュー操作時などのように対撮影者ロール角度が0度となる状態で、回転センサー106に基準角度を0度として設定する。これによって、回転センサー106の出力から対撮影者ロール角度を得ることができる。
【0025】
なお、通常、電源ボタンを押す操作を含めメニュー操作全般について、ユーザは対撮影者ロール角度を0度として操作する。そして、メニュー操作などの際には、カメラに備えられたグリップおよびメニュー配置は、対撮影者ロール角度が0度となるように設計が行われている。ここでは、電源操作を含むメニュー操作の際には対撮影者ロール角度は0度であるとして説明する。
【0026】
図2(c)において、カメラを真横から見た場合、角度90度から、重力方向の軸(重力軸)とカメラの光軸とのなす角度を減算した角度をチルト角度と呼ぶ。
【0027】
図3は、図1に示すカメラにおける撮影処理手順を説明するためのフローチャートである。
【0028】
図1および図3を参照して、操作部108において電源ボタンが投入されると、CPU101は撮影処理を開始する。つまり、電源ボタンがオンされた際、CPU101は回転センサー106に対撮影者ロール角度を0度と設定する(ステップS501)。なお、以下の説明では、CPU101は、回転センサー106に任意の時点で任意の角度の設定を行うことができる。また、CPU101は回転センサー106から検出角度を取得する際、予め設定された角度を基準角度として回転センサー106で検出した検出角度を取得する。
【0029】
続いて、CPU101は電源ボタンがオフとされたか否かを判定する(ステップS502)。電源ボタンがオフとされると(ステップS502において、YES)、CPU101は撮影処理を終了する。
【0030】
一方、電源ボタンがオフとされないと(ステップS502において、NO)、CPU101は、ユーザが操作部108を操作してメニュー操作を行ったか否かを判定する(ステップS503)。メニュー操作が行われると(ステップS503において、YES)、CPU101は対撮影者ロール角度を0度と補正する(ステップS504)。
【0031】
前述のように、回転センサー106はジャイロスコープを備えて角加速度を2回積分しているため、出力である回転角度に誤差が発生する。したがって、ステップS504において対撮影者ロール角度を0度に補正する。つまり、対撮影者ロール角度の補正処理を行う。
【0032】
なお、回転センサー106に全方位磁石を用いて回転角度の誤差が無視できれば、ステップS504の処理を行う必要はない。
【0033】
次に、CPU101はレリーズスイッチ(SW)110が押されたか否かを判定する(ステップS505)。レリーズスイッチが押されていないと(ステップS505において、NO)、CPU101はステップS502の処理に戻る。なお、ステップS503において、メニュー操作が行われないと(ステップS503において、NO)、CPU101はステップS505の処理に進む。
【0034】
レリーズスイッチが押されると(ステップS505において、YES)、CPU101は撮像部102を制御して撮影動作を実行する(ステップS506)。ここでは、CPU101は撮影動作の結果得られた画像データをRAM104に記憶する。なお、ステップS506においては、画像データは記憶媒体105に記憶されない。
【0035】
続いて、CPU101は対撮影者ロール角度補正処理を行う(ステップS507)。この対撮影者ロール角度補正処理では、撮影時において対撮影者ロール角度が−90度、0度、および90度のいずれか1つの角度(所定の角度)に対して所定の範囲内にある角度であれば、これら角度のいずれかの対撮影者ロール角度で撮影が行われたものとする。例えば、所定の角度と対撮影者ロール角度との差が15度以内であれば、対撮影者ロール角度は所定の角度とされる。
【0036】
なお、回転センサー106に全方位磁石を用いて回転角度の誤差が無視できれば、ステップS507の処理を行う必要はない。
【0037】
続いて、CPU101は後述する構図情報算出処理を行う(ステップS508)。この構図情報算出処理においては撮影者が意図する構図情報が決定される。構図情報として、例えば、画像右側が下、画像左側が下、および画像下側が下のうちいずれか1つが決定される。
【0038】
上述の構図情報を得た後、CPU101は、RAM104に記憶された画像データと構図情報とを関連付けて記憶媒体105に記憶する。その後、CPU101はステップS502の処理に戻る。
【0039】
図4は、図1に示すカメラにおいて対撮影者ロール角度、カメラ操作、およびカメラの姿勢の変化を示す図である。
【0040】
図4において、時刻T=11でメニュー操作が行われたとする。この場合、カメラの姿勢変化に拘わらず(つまり、カメラに姿勢変化がなくとも)、前述のステップS504の処理で対撮影者ロール角度が0度とされる。また、時刻T=19において、カメラに姿勢変化がなくても、ステップS507の処理によって対撮影者ロール角度は90度とされる。
【0041】
ここで、撮影の際における撮影者の位置と撮影者が意図する構図との関係について説明する。
【0042】
図5は、図1に示すカメラを用いて机の上に置かれた人形を、カメラを下向きとして撮影する状態と示す図である。そして、図5(a)はロール角度が90度でカメラの左側を構図の下側とした際の状態を示す図であり、図5(b)はロール角度が0度でカメラの下側を構図の下側とした際の状態を示す図である。また、図5(c)はロール角度が−90度でカメラの右側を構図の下側とした際の状態を示す図である。
【0043】
図5(a)においては、紙面裏側から見た場合、撮影者502はカメラ200の左側に位置している。この場合に、撮影画像を表示する際撮影画像の左側を表示上の下側として表示すれば、人形501(被写体)の頭が上側に表示され、足が下側に表示されることになる。
【0044】
図5(b)においては、紙面の裏側から見て、撮影者502がカメラ200の下側に位置している。この場合に、撮影画像を表示する際撮影画像の下側を表示上の下側として表示するようにすれば、人形501の頭が上側に表示され、足が下側に表示されることになる。
【0045】
図5(c)においては、紙面の裏側から見て、撮影者502がカメラ200の右側に位置している。この場合に、撮影画像を表示する際撮影画像の右側を表示上の下側として表示するようにすれば、人形501の頭が上側に表示され、足が下側に表示されることになる。
【0046】
このように、カメラと撮影者との位置関係から、撮影者が意図する構図が分かり、これによって構図情報を求めることができる。
【0047】
図6は、図3に示す構図情報算出処理を説明するためのフローチャートである。
【0048】
図6において、構図情報算出処理を開始すると、CPU101は後述する撮影者位置算出処理を行って、撮影者位置情報を得る(ステップS601)。そして、CPU101は撮影者位置情報に応じて構図情報を求める(ステップS602)。その後、CPU101は構図情報算出処理を終了する。
【0049】
ここでは、撮影者位置情報が撮影者はカメラの右側に位置することを示していると、CPU101は画像右側が下方向であることを示す構図情報を得る。撮影者位置情報が撮影者はカメラの左側に位置することを示していると、CPU101は画像左側が下方向であることを示す構図情報を得る。そして、撮影者位置情報が撮影者はカメラの下側に位置することを示していると、CPU101は画像下側が下方向であることを示す構図情報を得る。
【0050】
図7は、図6に示す撮影者位置算出処理を説明するためのフローチャートである。撮影者位置算出処理の際には、CPU101は予め定められた撮影者位置判定基準に応じて撮影者の位置を求める。
【0051】
図7において、撮影者位置算出処理を開始すると、CPU101は対撮影者ロール角度を回転センサー106から取得する(ステップS701)。続いて、CPU101は対撮影者ロール角度が−90度であるか否かを判定する(第3の基準:ステップS702)。対撮影者ロール角度が−90度であると(ステップS702において、YES)、CPU101は撮影者502がカメラの右側に位置するものと判定して、撮影者右側を示す撮影者位置情報を得る(ステップS703)。そして、CPU101は撮影者位置算出処理を終了する。
【0052】
対撮影者ロール角度が−90度でないと(ステップS702において、NO)、CPU101は対撮影者ロール角度が0度であるか否かを判定する(第2の基準:ステップS704)。対撮影者ロール角度が0度であると(ステップS704において、YES)、CPU101は、撮影者502がカメラ200の下側に位置するものと判定して、撮影者下側を示す撮影者位置情報を得る(ステップS705)。そして、CPU101は撮影者位置算出処理を終了する。
【0053】
対撮影者ロール角度が0度でないと(ステップS704において、NO)、CPU101は対撮影者ロール角度が90度であるか否かを判定する(第1の基準:ステップS706)。対撮影者ロール角度が90度であると(ステップS706において、YES)、CPU101は、撮影者502がカメラ200の左側に位置するものと判定して、撮影者左側を示す撮影者位置情報を得る(ステップS707)。そして、CPU101は撮影者位置算出処理を終了する。
【0054】
対撮影者ロール角度が90度でないと(ステップS706において、NO)、CPU101は、撮影者502がカメラ200の下側に位置するものと判定して、撮影者下側を示す撮影者位置情報を得る(ステップS708)。そして、CPU101は撮影者位置算出処理を終了する。ステップS708においては、CPU101は撮影者の位置の判定ができなかったとし、デフォルトとして撮影者502がカメラ200の下側に位置するものとする。
【0055】
正常な持ち方でカメラ200を把持して撮影を行う場合には、カメラ200を180度回転させて撮影を行うことは困難である。このため、CPU101は、対撮影者ロール角度が180度である場合には不正であるとし、デフォルトとして撮影者が画像下側に位置するものとする。
【0056】
なお、ステップS702、S704、およびS706における処理では、判定の際に所定の範囲が設定される。前述のように、この所定の範囲は±15度である。つまり、対撮影者ロール角度が±15度の範囲にあれば、CPU101は対撮影者ロール角度が−90度、0度、又は90度であると判定することになる。
【0057】
このように、第1の実施形態では、机の上に置かれた人形を撮影する場合のように、撮影対象に対してカメラを下向きに向ける下向き撮影の場合の際に、撮影者が意図する構図を示す構図情報とともに撮影画像データをメモリに記憶する。従って、カメラ又はPCなどで撮影画像データを再生する際、構図情報に応じて撮影画像データを再生するようにすれば、撮影者が意図した構図で容易に画像を鑑賞することができる。
【0058】
さらに、回転センサーに検出誤差があっても、当該検出誤差に対する補正を行うようにしたので、撮影者の意図する構図を示す構図情報を精度よく得ることができる。
【0059】
[第2の実施形態]
図8は、本発明の第2の実施形態による撮像装置の一例についてその構成を示すブロック図である。
【0060】
図8に示すカメラにおいて、図1に示すカメラと同一の構成要素については同一の参照番号を付し説明を省略する。図8に示すカメラは、チルトセンサー107(チルト角度検知手段)および傾きセンサー111(傾き角度検知手段)を有している。チルトセンサー107は振り子の原理を用いてチルト方向におけるカメラの角度(チルト角度)を検出する。つまり、チルトセンサー107は重力方向に直交する方向と撮像装置の光軸となす角度であるチルト角度を検知する。
傾きセンサー111は振り子の原理を用いてチルト角度0度付近におけるカメラと水平面との角度を傾き角度として検出する。
【0061】
図8に示すカメラでは、チルトセンサー107および傾きセンサー111で検出されたチルト角度および傾き角度によって、CPU101は対撮影者ロール角度の補正処理を行う。
【0062】
図示の例では、チルト角度0度付近では傾きセンサー111が有効となって、傾きセンサー111で検出された傾き角度が対撮影者ロール角度として用いられる。第1の実施形態に関連して説明したように、回転センサー106がジャイロスコープを用いた際には、回転センサー106における検出誤差が大きくなる。しかし、チルト角度0度付近では対撮影者ロール角度を傾きセンサー111の検出角度(傾き角度)として誤差を少なくする。
【0063】
図9は、図8に示す傾きセンサー111で検出される傾き角度について説明するための図である。
【0064】
図9に示すように、ここでは、カメラ200の底面に沿って延びる軸203と水平面901とがなす角度を傾き角度とし、図中矢印方向(反時計回りの方向)をプラス方向とする。
【0065】
図10は、図8に示すカメラにおける撮影処理手順を説明するためのフローチャートである。なお、図10において、図3に示す処理(ステップ)と同一の処理については同一の参照部号を付して説明を省略する。
【0066】
図8および図10を参照して、ステップS506において、CPU101は撮像部102を制御して撮影を行って、撮影動作の結果得られた画像データをRAM104に記憶する。その後、CPU101はチルトセンサー107からチルト角度を取得して、現在のチルト角度が0度であるか否かを判定する(ステップS1001)。
【0067】
チルト角度が0度でないと(ステップS1001において、NO)、CPU101は図3で説明したステップS507の処理を行う。一方、チルト角度が0度であると(ステップS1001において、YES)、CPU101は傾きセンサー111から傾き角度を取得して、この傾き角度を対撮影者ロール角度として設定し、現在の対撮影者ロール角度を補正する(ステップS1002)。その後、CPU101は図3などで説明したステップS508の処理を行う。
【0068】
なお、ステップS1001で行われるチルト角度の判定では、チルト角度は0度に限るものではなく、傾きセンサー111が傾き角度を正確に検出することが可能なチルト角度0度付近の所定の範囲内であればよい。つまり、ステップS1001では、チルト角度が0度を基準として所定の範囲内にあれば、CPU101はステップS1002の処理を行う。
【0069】
このように、第2の実施形態では、チルト角度が0度付近となる都度、対撮影者ロール角度を傾き角度で補正するようにしたので、より正確に撮影者とカメラとの位置関係を得ることができる。
【0070】
[第3の実施形態]
図11は、本発明の第3の実施形態による撮像装置の一例についてその構成を示すブロック図である。
【0071】
図11に示すカメラにおいて、図1に示すカメラと同一の構成要素については同一の参照番号を付し説明を省略する。図8に示すカメラは、回転センサー106の代わりにDSP(デジタルシグナルプロセッサ)1201を有している。図示のDSP1201は撮像部102から得られた画像データを高速に解析して、フレーム間における対応点抽出および動きベクトル検出を行う。そして、対応点における動きベクトルに応じてカメラの光軸を中心とするロール角度を検出する。
【0072】
図12は、図11に示すDSP1201によるロール角度検出の一例を説明するための図である。そして、図12(a)は机上の人形を下向き撮影する状態を示す図であり、図12(b)は図12(a)に示す状態からカメラを90度ロール回転した状態を示す図である。そして、図12(c)は図12(a)および図12(b)に示す状態における画像を示す図である。
【0073】
いま、撮影者502が机上に置かれた人形501を下向き撮影するため、紙面裏側から見て撮影者の上側にカメラを位置づけたとする(横位置撮影:図12(a)参照)。その後、撮影者は縦位置撮影の構えとするため、カメラ200を90度ロール回転したとする(図12(b)参照)。
【0074】
ここで、図12(a)に示す状態と図12(b)に示す状態とによって得られ撮影画像をともに表示すると、図12(c)に示す表示結果が得られる。つまり、図12(a)に示す状態から図12(b)に示す状態に構えを変化させると、人形の画像は右方向に回転して符号G1で示す状態から符号G2に示す状態となる。
【0075】
前述のように、DSP1201は、フレーム間の対応点A(T)およびA(T’)の抽出を行うとともに、対応点A(T)およびA(T’)の動きベクトルを検出する。そして、DSP1201は対応点A(T)およびA(T’)の動きベクトルについて画像の中心に対する動き方向とその大きさに応じてロール角度を求める。そして、DSP1201はロール角度をCPU101に与える。
【0076】
なお、フレーム間の対応点抽出および動きベクトル検出を検出する際には、例えば、動画におけるフレーム間圧縮技術で用いられている手法が用いられる。また、図11に示すカメラにおける撮影処理は図3と同様であるので、ここでは説明を省略する。
【0077】
このように、第3の実施形態では、DSPにおける処理によってロール角度を求めるようにしたので、回転センサーを備える必要がない。そして、一般にデジタルカメラにおいては、動画を撮影して圧縮するためDSPを備えているから、このDSPを用いてフレーム間の対応点抽出および動きベクトル検出を行うようにすればよい。従って、DSPを用いてロール角度を検出するようにすれば、別に回転センサーを備える必要がなく、コストダウンを実現できる。
【0078】
さらに、DSPを用いれば、ジャイロスコープに比べて、高精度にロール角度を検出することができる結果、正確な構図で再生画像を鑑賞することができる。
【0079】
上述の説明から明らかなように、図1などにおいて、CPU101が撮影者位置算出手段、構図情報算出手段、および記憶制御手段として機能する。さらに、CPU101は表示制御手段および補正手段として機能する。
【0080】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【0081】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を撮像装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、この制御プログラムを撮像装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【0082】
この際、制御方法および制御プログラムの各々は、少なくともロール角検知ステップ、撮影者位置算出ステップ、構図情報算出ステップ、および記憶制御ステップを有することになる。
【0083】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0084】
101 CPU
102 撮像部(撮像素子)
105 記憶媒体
106 回転センサー
107 チルトセンサー
108 操作部
109 表示装置
110 レリーズスイッチ
111 傾きセンサー
1201 DSP
【特許請求の範囲】
【請求項1】
被写体を撮像して画像を得る撮像装置において、
重力方向に沿って撮像装置を向けて前記被写体を撮像する際、前記撮像装置が横構図位置にある場合を基準角度として前記撮像装置のロール角度を検知するロール角検知手段と、
前記ロール角検知手段で検知されたロール角度と予め定められた撮影者位置判定基準とに応じて前記撮像装置に対する前記撮影者の位置を撮影者位置情報として求める撮影者位置算出手段と、
前記撮影者位置情報に応じて前記画像の下方向を示す構図情報を求める構図情報算出手段と、
前記構図情報を前記画像に関連付けてメモリに記憶する記憶制御手段とを有することを特徴とする撮像装置。
【請求項2】
前記メモリに記憶された前記画像を表示部に表示する際、前記構図情報を参照して前記画像の下方向に応じて前記画像を回転させる表示制御手段を有することを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記基準角度は前記ロール角度が0度であり、
前記撮影者位置判定基準には、前記ロール角度が90度を中心として所定の範囲内にあると前記撮影者が前記撮像装置の左側に位置するとする第1の基準と、前記ロール角度が0度を中心として前記所定の範囲内にあると前記撮影者が前記撮像装置の下側に位置するとする第2の基準と、前記ロール角度が−90度を中心として前記所定の範囲内にあると前記撮影者が前記撮影者の右側に位置するとする第3の基準とを備えることを特徴とする請求項1又は2に記載の撮像装置。
【請求項4】
前記構図情報算出手段は、前記撮影者位置情報が前記撮影者は前記撮像装置の右側に位置することを示していると、画像の右側が下方向であることを示す構図情報を算出し、前記撮影者位置情報が前記撮影者は前記撮像装置の左側に位置することを示していると、前記画像の左側が下方向であることを示す構図情報を算出し、前記撮影者位置情報が前記撮影者は前記撮像装置の下側に位置することを示していると、前記画像の下側が下方向であることを示す構図情報を算出することを特徴とする請求項3に記載の撮像装置。
【請求項5】
前記ロール角度検知手段で検知されたロール角度が前記第1の基準、前記第2の基準、および前記第3の基準のいずれにも該当しないと、前記撮影者位置算出手段はデフォルトとして前記撮影者が前記撮像装置の下側に位置することを示す撮影者位置情報を算出することを特徴とする請求項3又は4に記載の撮像装置。
【請求項6】
電源が投入されると、撮影者がメニュー操作を行う都度、前記ロール角度を0度に補正する補正手段を有することを特徴とする請求項1〜5のいずれか1項に記載の撮影装置。
【請求項7】
前記重力方向に直交する方向と前記撮像装置の光軸となす角度であるチルト角度を検知するチルト角度検知手段と、
水平面と前記撮像装置とのなす角度である傾き角度を検知する傾き角度検知手段とを有し、
前記チルト角度検知手段で検知されたチルト角度が0度を中心として所定の範囲内にあると、前記撮影者位置算出手段は前記ロール角検知手段で検知されたロール角度の代わりに前記傾き検知手段で検知された傾き角度を用いることを特徴とする請求項3に記載の撮像装置。
【請求項8】
前記ロール角度検知手段は、前記画像についてフレーム間の対応点の動きベクトルに基づいて前記ロール角度を検知することを特徴とする請求項1〜7のいずれか1項に記載の撮像装置。
【請求項9】
被写体を撮像して画像を得る撮像装置の制御方法であって、
ロール角度検知センサーによって重力方向に沿って撮像装置を向けて前記被写体を撮像する際、前記撮像装置が横構図位置にある場合を基準角度として前記撮像装置のロール角度を検知するロール角検知ステップと、
前記ロール角度検知センサーで検知されたロール角度と予め定められた撮影者位置判定基準とに応じて前記撮像装置に対する前記撮影者の位置を撮影者位置情報として求める撮影者位置算出ステップと、
前記撮影者位置情報に応じて前記画像の下方向を示す構図情報を求める構図情報算出ステップと、
前記構図情報を前記画像に関連付けてメモリに記憶する記憶制御ステップとを有することを特徴とする制御方法。
【請求項10】
被写体を撮像して画像を得る撮像装置で用いられる制御プログラムであって、
前記撮像装置が備えるコンピュータに、
ロール角度検知センサーによって重力方向に沿って撮像装置を向けて前記被写体を撮像する際、前記撮像装置が横構図位置にある場合を基準角度として前記撮像装置のロール角度を検知するロール角検知ステップと、
前記ロール角度検知センサーで検知されたロール角度と予め定められた撮影者位置判定基準とに応じて前記撮像装置に対する前記撮影者の位置を撮影者位置情報として求める撮影者位置算出ステップと、
前記撮影者位置情報に応じて前記画像の下方向を示す構図情報を求める構図情報算出ステップと、
前記構図情報を前記画像に関連付けてメモリに記憶する記憶制御ステップとを実行させることを特徴とする制御プログラム。
【請求項1】
被写体を撮像して画像を得る撮像装置において、
重力方向に沿って撮像装置を向けて前記被写体を撮像する際、前記撮像装置が横構図位置にある場合を基準角度として前記撮像装置のロール角度を検知するロール角検知手段と、
前記ロール角検知手段で検知されたロール角度と予め定められた撮影者位置判定基準とに応じて前記撮像装置に対する前記撮影者の位置を撮影者位置情報として求める撮影者位置算出手段と、
前記撮影者位置情報に応じて前記画像の下方向を示す構図情報を求める構図情報算出手段と、
前記構図情報を前記画像に関連付けてメモリに記憶する記憶制御手段とを有することを特徴とする撮像装置。
【請求項2】
前記メモリに記憶された前記画像を表示部に表示する際、前記構図情報を参照して前記画像の下方向に応じて前記画像を回転させる表示制御手段を有することを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記基準角度は前記ロール角度が0度であり、
前記撮影者位置判定基準には、前記ロール角度が90度を中心として所定の範囲内にあると前記撮影者が前記撮像装置の左側に位置するとする第1の基準と、前記ロール角度が0度を中心として前記所定の範囲内にあると前記撮影者が前記撮像装置の下側に位置するとする第2の基準と、前記ロール角度が−90度を中心として前記所定の範囲内にあると前記撮影者が前記撮影者の右側に位置するとする第3の基準とを備えることを特徴とする請求項1又は2に記載の撮像装置。
【請求項4】
前記構図情報算出手段は、前記撮影者位置情報が前記撮影者は前記撮像装置の右側に位置することを示していると、画像の右側が下方向であることを示す構図情報を算出し、前記撮影者位置情報が前記撮影者は前記撮像装置の左側に位置することを示していると、前記画像の左側が下方向であることを示す構図情報を算出し、前記撮影者位置情報が前記撮影者は前記撮像装置の下側に位置することを示していると、前記画像の下側が下方向であることを示す構図情報を算出することを特徴とする請求項3に記載の撮像装置。
【請求項5】
前記ロール角度検知手段で検知されたロール角度が前記第1の基準、前記第2の基準、および前記第3の基準のいずれにも該当しないと、前記撮影者位置算出手段はデフォルトとして前記撮影者が前記撮像装置の下側に位置することを示す撮影者位置情報を算出することを特徴とする請求項3又は4に記載の撮像装置。
【請求項6】
電源が投入されると、撮影者がメニュー操作を行う都度、前記ロール角度を0度に補正する補正手段を有することを特徴とする請求項1〜5のいずれか1項に記載の撮影装置。
【請求項7】
前記重力方向に直交する方向と前記撮像装置の光軸となす角度であるチルト角度を検知するチルト角度検知手段と、
水平面と前記撮像装置とのなす角度である傾き角度を検知する傾き角度検知手段とを有し、
前記チルト角度検知手段で検知されたチルト角度が0度を中心として所定の範囲内にあると、前記撮影者位置算出手段は前記ロール角検知手段で検知されたロール角度の代わりに前記傾き検知手段で検知された傾き角度を用いることを特徴とする請求項3に記載の撮像装置。
【請求項8】
前記ロール角度検知手段は、前記画像についてフレーム間の対応点の動きベクトルに基づいて前記ロール角度を検知することを特徴とする請求項1〜7のいずれか1項に記載の撮像装置。
【請求項9】
被写体を撮像して画像を得る撮像装置の制御方法であって、
ロール角度検知センサーによって重力方向に沿って撮像装置を向けて前記被写体を撮像する際、前記撮像装置が横構図位置にある場合を基準角度として前記撮像装置のロール角度を検知するロール角検知ステップと、
前記ロール角度検知センサーで検知されたロール角度と予め定められた撮影者位置判定基準とに応じて前記撮像装置に対する前記撮影者の位置を撮影者位置情報として求める撮影者位置算出ステップと、
前記撮影者位置情報に応じて前記画像の下方向を示す構図情報を求める構図情報算出ステップと、
前記構図情報を前記画像に関連付けてメモリに記憶する記憶制御ステップとを有することを特徴とする制御方法。
【請求項10】
被写体を撮像して画像を得る撮像装置で用いられる制御プログラムであって、
前記撮像装置が備えるコンピュータに、
ロール角度検知センサーによって重力方向に沿って撮像装置を向けて前記被写体を撮像する際、前記撮像装置が横構図位置にある場合を基準角度として前記撮像装置のロール角度を検知するロール角検知ステップと、
前記ロール角度検知センサーで検知されたロール角度と予め定められた撮影者位置判定基準とに応じて前記撮像装置に対する前記撮影者の位置を撮影者位置情報として求める撮影者位置算出ステップと、
前記撮影者位置情報に応じて前記画像の下方向を示す構図情報を求める構図情報算出ステップと、
前記構図情報を前記画像に関連付けてメモリに記憶する記憶制御ステップとを実行させることを特徴とする制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−66030(P2013−66030A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−203053(P2011−203053)
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]