以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。なお、以下の説明では、開示の技術に係る端末装置の一例としてスマートデバイスを例に挙げて説明するが、開示の技術は、これに限定されるものではない。開示の技術は、例えば、インカメラ及びアウトカメラを備えたパーソナル・コンピュータ、ゲーム機又は携帯電話機などの種々の端末装置に適用可能である。なお、インカメラとは、主に撮影者側を撮影する場合(例えば所謂自分撮りの場合)に用いられるカメラを指す。また、アウトカメラとは、主に撮影者側と反対側を撮影する場合に用いられるカメラを指す。
[第1実施形態]
一例として図1に示すスマートデバイス10は、撮影部12、検出部14、測定部16、判定部18、制御部20、表示部22及び表示制御部24を含む。
撮影部12は、撮影者側の撮影が可能な第1撮影部26、及び、撮影者側と異なる方向の撮影が可能な第2撮影部28を含む。ここで、撮影者とは、例えば、スマートデバイス10の利用者を指す。
検出部14は、撮影部12の運動状態を特定する物理量(以下、「運動物理量」という)を測定し、測定した運動物理量に基づいて撮影部12が移動している移動状態から撮影部12が特定の姿勢で静止した静止状態への遷移を検出する。なお、以下では、説明の便宜上、撮影部12が移動している移動状態を「撮影部12の移動状態」と称し、撮影部12が特定の姿勢で静止した静止状態を「撮影部12の静止状態」と称する。
検出部14は、起動後の撮影指示に応じて第1撮影部26が撮影して得た撮影画像から、人物の特定部位を示す特定部位領域(例えば人物の顔を示す顔領域)を検出し、検出した特定部位領域の大きさ及び個数を検出する。
検出部14は、測定した運動物理量から撮影部12の振動度を検出する。ここで、振動度とは、例えば、スマートデバイス10を把持している撮影者の手振れの度合を示す物理量を指す。
検出部14は、モーションセンサ30を有する。検出部14によって検出される運動物理量は、モーションセンサ30による測定結果を含む物理量である。従って、撮影部12の振動度は、モーションセンサ30による測定結果を含む物理量から検出される。
測定部16は、撮影者側の環境を特定する環境物理量を測定する。測定部16は、環境センサ32を有しており、環境センサ32とは、例えば、光学センサ及び近接センサの少なくとも1つを含むセンサを指す。環境物理量とは、例えば、光学センサ及び近接センサの少なくとも1つによる測定結果を含む物理量を指す。
判定部18は、測定部16により測定された環境物理量に基づいて撮影者側の環境が撮影可能環境か否かを判定する。
制御部20は、第1撮影部26の作動が停止している状態で、検出部14により撮影部12の移動状態から静止状態への遷移が検出された場合に第1撮影部26を起動させて撮影指示を行う。
制御部20は、第2撮影部28の作動が停止している状態で、検出部14により検出された特定部位領域の大きさ及び個数が第1所定条件を満足した場合に第2撮影部28を起動させる。ここで、第1所定条件とは、例えば、検出部14により検出された特定部位領域の個数が単数で、かつ、検出部14により検出された特定部位領域の大きさが第1所定値を超えたとの条件を指す。また、第2撮影部28の作動が停止している状態で、検出部14により検出された特定部位領域の大きさ及び個数が第1所定条件を満足した場合に第2撮影部28を起動させる制御は、制御許可条件を満足した場合に行われる。制御許可条件とは、例えば、判定部18によって撮影者側の環境が撮影可能環境と判定されたとの条件を指す。
制御部20は、第2撮影部28の作動が停止している状態で、第2所定条件を満足した場合に、第2撮影部28を起動させる。ここで、第2所定条件とは、検出部14により検出された特定部位領域の個数が単数であるが、検出部14により検出された特定部位領域の大きさが所定範囲内であるために第1所定条件を満足せずに、かつ、振動度条件を満足したとの条件を指す。所定範囲内とは、第1所定値よりも小さな第2所定値以上で、かつ、第1所定値未満の範囲内を指す。振動度条件とは、検出部14により検出された振動度が第3所定値未満であるとの条件を指す。
制御部20は、第1撮影部26が作動した状態で、検出部14により検出された特定部位領域の大きさ及び個数が第1所定条件を満足した場合に、第1撮影部26の作動を停止させる。
制御部20は、第1撮影部26が作動した状態で、検出部14により特定部位領域が検出されなかった場合に、第1撮影部26の作動を停止させる。
制御部20は、第1撮影部26が作動した状態で、検出部14で検出された特定部位領域の個数が単数で、かつ、検出部14で検出された特定部位領域の大きさが、第2所定値未満の場合に、第1作動停止条件を満足するまで第1撮影部26の作動を続行させる。なお、ここで、第1作動停止条件とは、例えば、第1撮影部26を起動させてからタッチパネルやハードキー等が操作されることなく30秒が経過したとの条件や第1撮影部26の作動の停止指示がタッチパネルやハードキー等を介して入力されたとの条件を指す。
制御部20は、第1撮影部26が作動した状態で、第2所定条件を満足した場合に、第1撮影部26の作動を停止させる。
制御部20は、第1撮影部26が作動した状態で、検出部14により検出された特定部位領域の個数が複数の場合に、第2作動停止条件(例えば第1作動停止条件と同条件)を満足するまで第1撮影部26の作動を続行させる。
制御部20は、制御部20の消費電力を抑制する省電力状態で、かつ、第1撮影部26の作動が停止している状態で、撮影部12の移動状態から静止状態への遷移が検出された場合に省電力状態を解除してから第1撮影部26を起動させて撮影指示を行う。なお、省電力状態の一例として、スリープモードが挙げられる。
表示部22は、画像を表示する。表示制御部24は、第1撮影部26及び第2撮影部28が撮影して得た複数の画像を動画像として表示部22に表示させる。
一例として図2Aに示すように、スマートデバイス10は、正面視形状が長方形状の筐体11(図1に示す撮影部12の一例)を有しており、筐体11の正面視中央部にタッチパネル・ディプレイ50を備えている。また、スマートデバイス10は、筐体11の正面視上部に、図1に示す第1撮影部26の一例であるインカメラ52を備えており、インカメラ52は筐体11に固定されている。また、スマートデバイス10は、筐体11の正面視下部に複数のハードキー54を備えている。更に、一例として図2Bに示すように、スマートデバイス10は、筐体11の背面視上部に、図1に示す第2撮影部28の一例であるアウトカメラ56を備えており、アウトカメラ56は筐体11に固定されている。
なお、以下では、インカメラ52及びアウトカメラ56を区別して説明する必要がない場合、符号を付さずに「カメラ」と称する。また、以下では、説明の便宜上、スマートデバイス10が移動している状態(図1に示す撮影部12の移動状態の一例)を「スマートデバイス10の移動状態」と称する。また、以下では、説明の便宜上、スマートデバイス10が特定の姿勢で静止した状態(図1に示す撮影部12の静止状態の一例)を「スマートデバイス10の静止状態」と称する。
一例として図3に示すように、スマートデバイス10は、デバイス本体部10A及び監視部10Bを含む。デバイス本体部10Aは、第1CPU(Central Processing Unit)60、一次記憶部62及び二次記憶部64を含み、第1CPU60、一次記憶部62及び二次記憶部64はバス65を介して接続されている。なお、一次記憶部62とは、揮発性のメモリを意味し、例えばRAM(Random Access Memory)を指す。二次記憶部64とは、不揮発性のメモリを意味し、例えばフラッシュメモリやHDD(Hard Disk Drive)を指す。
インカメラ52、ハードキー54及びアウトカメラ56はバス65に接続されている。従って、第1CPU60は、インカメラ52との各種情報の授受、アウトカメラ56との各種情報の授受、及び、ハードキー54が操作(押下)されたか否かの把握を行うことができる。
タッチパネル・ディスプレイ50は、タッチパネル68、及び、図1に示す表示部22の一例である液晶ディスプレイ(以下、単に「ディスプレイ」という)70を備えている。
ディスプレイ70は、バス65に接続されており、第1CPU60の制御下で各種情報を表示する。タッチパネル68は、透過型のタッチパネルであり、ディスプレイ70に重ねられている。タッチパネル68は、バス65に接続されており、接触位置を示す接触位置情報を含むと共に検知結果(タッチパネル68に対する指示体による接触の有無)を示すタッチパネル情報を所定周期(例えば5ミリ秒)で第1CPU60に出力する。
スマートデバイス10は、内部インタフェース(I/F)72を備えており、内部I/F72はバス65に接続されている。内部I/F72は、監視部10Bに含まれるバス83に接続され、監視部10Bと第1CPU60との間の各種情報の送受信を司る。
スマートデバイス10は、外部I/F74を備えており、外部I/F74はバス65に接続されている。外部I/F74は、外部装置(例えばパーソナル・コンピュータやUSBメモリ)に接続され、外部装置と第1CPU60との間の各種情報の送受信を司る。
二次記憶部64は、開示の技術における撮影部起動プログラムの一例である動作モード変更プログラム66を記憶している。また、二次記憶部64は、開示の技術における撮影部起動プログラムの一例であるインカメラ用アプリケーション(以下、「インカメラ用アプリ」という)67を記憶している。更に、二次記憶部64は、開示の技術における撮影部起動プログラムの一例であるアウトカメラ用アプリケーション(以下、「アウトカメラ用アプリ」という)69を記憶している。なお、以下では、インカメラ用アプリ67及びアウトカメラ用アプリ69を区別して説明する必要がない場合、「カメラ用アプリ」と称する。
第1CPU60は、二次記憶部64から動作モード変更プログラム66を読み出して一次記憶部62に展開し、動作モード変更プログラム66が有する各プロセスを実行する。動作モード変更プログラム66は、第1検出プロセス66A及び制御プロセス66Bを有する。第1CPU60は、第1検出プロセス66Aを実行することで、図1に示す検出部14として動作する。また、第1CPU60は、制御プロセス66Bを実行することで、図1に示す制御部20として動作する。
なお、ここでは動作モード変更プログラム66を二次記憶部64から読み出す場合を例示したが、必ずしも最初から二次記憶部64に記憶させておく必要はない。例えば、スマートデバイス10に接続されて使用されるSSD(Solid State Drive)、ICカード、光磁気ディスク、CD−ROMなどの任意の「可搬型の記憶媒体」に先ずは動作モード変更プログラム66を記憶させておいてもよい。そして、第1CPU60がこれらの可搬型の記憶媒体から動作モード変更プログラム66を取得して実行するようにしてもよい。また、通信回線を介してスマートデバイス10に接続されるコンピュータ又はサーバ装置等の外部電子計算機の記憶部に動作モード変更プログラム66を記憶させておいてもよい。この場合、第1CPU60は外部電子計算機から動作モード変更プログラム66を取得して実行する。
第1CPU60は、二次記憶部64からカメラ用アプリを読み出して一次記憶部62に展開し、カメラ用アプリを実行することで、図1に示す表示制御部24として動作する。
第1CPU60は、二次記憶部64からインカメラ用アプリ67を読み出して一次記憶部62に展開し、インカメラ用アプリ67を実行することでスマートデバイス10をインカメラ撮影モードに移行させる。スマートデバイス10がインカメラ撮影モードに移行すると、インカメラ52が所定周期(例えば所定のフレームレートに対応する周期)で撮影を行う。ここで、所定のフレームレートとは、例えば、30fps(frame per second)を指す。インカメラ撮影モードでは、例えば、撮影者によって行われたハードキー54又はタッチパネル68に対する操作に応じたインカメラ52による静止画撮影、インカメラ52の撮影条件の設定、及び、後述のインカメラ用ファインダ表示等が行われる。
第1CPU60は、二次記憶部64からアウトカメラ用アプリ69を読み出して一次記憶部62に展開し、アウトカメラ用アプリ69を実行することでスマートデバイス10をアウトカメラ撮影モードに移行させる。スマートデバイス10がアウト撮影モードに移行すると、アウトカメラ56が所定周期で撮影を行う。アウトカメラ撮影モードでは、例えば、撮影者によって行われたハードキー54又はタッチパネル68に対する操作に応じたアウトカメラ56による静止画撮影、アウトカメラ56の撮影条件の設定、及び、後述のアウトカメラ用ファインダ表示等が行われる。
監視部10Bは、第2CPU80、一次記憶部82及び二次記憶部84を備え、第2CPU80、一次記憶部82及び二次記憶部84はバス83を介して接続されている。なお、一次記憶部82とは、揮発性のメモリを意味し、例えばRAMを指す。二次記憶部84とは、不揮発性のメモリを意味し、例えばフラッシュメモリやHDDを指す。
二次記憶部84は、開示の技術における撮影部起動プログラムの一例である監視プログラム85を記憶している。第2CPU80は、二次記憶部84から監視プログラム85を読み出して一次記憶部82に展開し、監視プログラム85が有する各プロセスを実行する。監視プログラム85は、第2検出プロセス85A、測定プロセス85B及び判定プロセス85Cを有する。
第2CPU80は、第2検出プロセス85Aを実行することで、図1に示す検出部14として動作する。また、第2CPU80は、測定プロセス85Bを実行することで、図1に示す測定部16として動作する。更に、第2CPU80は、判定プロセス85Cを実行することで、図1に示す判定部18として動作する。
なお、ここでは監視プログラム85を二次記憶部84から読み出す場合を例示したが、必ずしも最初から二次記憶部84に記憶させておく必要はない。例えば、任意の可搬型の記憶媒体に先ずは監視プログラム85を記憶させておいてもよい。そして、第2CPU80が可搬型の記憶媒体から監視プログラム85を取得して実行するようにしてもよい。また、通信回線を介してスマートデバイス10に接続されるコンピュータ又はサーバ装置等の外部電子計算機の記憶部に監視プログラム85を記憶させておいてもよい。この場合、第2CPU80は外部電子計算機から監視プログラム85を取得して実行する。
監視部10Bは、モーションセンサ30を備えており、モーションセンサ30はバス83に接続されている。モーションセンサ30は、3軸加速度センサ86(以下、加速度センサ86と称する)、3軸角速度センサ88(以下、角速度センサ88と称する)及び3軸地磁気センサ90(以下、地磁気センサ90と称する)を有する9軸モーションセンサである。加速度センサ86は、スマートデバイス10の3軸の加速度を測定する。角速度センサ88は、スマートデバイス10の3軸の角速度を測定する。地磁気センサ90は、3軸の地磁気の向きを検出する。なお、ここで、3軸とは、例えば、スマートデバイス10における3次元空間を規定し、互いに直交するX軸、Y軸及びZ軸を指す。一例として図7A及び図7Bに示すように、例えば、X軸とは、筐体11の正面視短辺方向に沿った軸を指し、Y軸とは、筐体11の正面視長辺方向に沿った軸を指し、Z軸とは、X軸及びY軸の双方に対して直交する方向(筐体11の厚さ方向)に沿った軸を指す。
モーションセンサ30は、第2CPU80の要求に応じて、加速度センサ86、角速度センサ88及び地磁気センサ90の各々による測定結果を含むモーションセンサ情報を第2CPU80に出力する。従って、第2CPU80は、モーションセンサ30から入力されたモーションセンサ情報に基づいて、スマートデバイス10の動きの変化、スマートデバイス10の傾き、スマートデバイス10の回転角及び地磁気の向き等を検出することができる。
監視部10Bは、環境センサ32を備えており、環境センサ32はバス83に接続されている。環境センサ32は、光学センサ92及び近接センサ94を有する。光学センサ92は、スマートデバイス10の周辺環境の照度を検出する照度センサと、赤(R)、緑(G)及び青(B)に各々感度を有するRGBセンサと、を有する。近接センサ94は、スマートデバイス10の特定部分(例えば近接センサ94の検出面)への物体の接近を非接触で検出する。環境センサ32は、第2CPU80の要求に応じて、光学センサ92及び近接センサ94の各々の検出結果を含む環境センサ情報を第2CPU80に出力する。従って、第2CPU80は、環境センサ32から入力された環境センサ情報に基づいて、スマートデバイス10の周辺環境の照度、RGB値、及び、スマートデバイス10の特定部分への物体の接近等を検出することができる。
次に、第2CPU80が監視プログラム85を実行することでスマートデバイス10によって行われる監視処理について、図4Aを参照して説明する。なお、以下では、説明の便宜上、スマートデバイス10が、スリープモード(開示の技術における省電力状態の一例)及び通常モードの何れかの動作モードで作動する場合について説明する。
スリープモードとは、スマートデバイス10に含まれる所定のデバイスの動作が一時的に停止している状態を指す。所定のデバイスとは、例えば、第1CPU60の特定部分、タッチパネル・ディスプレイ50及び二次記憶部64を指す。第1CPU60の特定部分とは、例えば第1CPU60のうちの少なくともカメラと各種情報の授受を行う部分を指す。通常モードとは、スリープモードが解除された状態を指す。通常モードは、指示待ちモード、インカメラ撮影モード及びアウトカメラ撮影モードを有する。指示待ちモードとは、スマートデバイス10が、撮影者によってハードキー54又はタッチパネル68を介して入力される指示を待機している状態を指す。
先ず、ステップ150で、制御部20は、スマートデバイス10がスリープモードか否かを判定する。ステップ150において、スマートデバイス10がスリープモードの場合は、判定が肯定されて、ステップ152へ移行する。ステップ150において、スマートデバイス10がスリープモードでない場合(通常モードの場合)は、判定が否定されて、ステップ174へ移行する。
ステップ152で、検出部14は、モーションセンサ30からモーションセンサ情報を取得し、その後、ステップ154へ移行する。
ステップ154で、検出部14は、ステップ152で取得したモーションセンサ情報に基づいて、スマートデバイス10が移動状態か否かを判定する。ステップ154において、スマートデバイス10が移動状態の場合(例えば、加速度センサ86により測定された加速度に変化があった場合)は、判定が肯定されて、ステップ156へ移行する。ステップ154においてスマートデバイス10が移動状態でない場合(静止状態の場合(ここでは、説明の便宜上、スマートデバイス10が等速運動をしている場合も含む))は、判定が否定されて、ステップ160へ移行する。
ステップ156で、検出部14は、スマートデバイス10が移動状態であることを示す移動フラグがオフか否かを判定する。ステップ156において、移動フラグがオフの場合は、判定が肯定されて、ステップ158へ移行する。ステップ156において、移動フラグがオフでない場合(オンの場合)は、判定が否定されて、ステップ172へ移行する。
ステップ158で、検出部14は、移動フラグをオンにし、その後、ステップ172へ移行する。
ステップ160で、検出部14は、移動フラグがオンか否かを判定する。ステップ160において、移動フラグがオンの場合は、判定が肯定されて、ステップ162へ移行する。ステップ160において、移動フラグがオフの場合は、判定が否定されて、ステップ172へ移行する。
ステップ162で、検出部14は、移動フラグをオフにし、その後、ステップ164へ移行する。
ステップ164で、検出部14は、ステップ152で取得したモーションセンサ情報に基づいて、スマートデバイス10が特定の姿勢か否かを判定する。特定の姿勢とは、縦向き姿勢又は横向き姿勢を指す。縦向き姿勢とは、例えば図7Aに示すように、スマートデバイス10がY軸方向に起立した状態の姿勢を意味する。Y軸方向に起立した状態とは、例えばY軸と重力加速度の方向(図7Aにおける破線矢印Gが指し示す方向)とが所定誤差(例えば±2度)内で一致している状態を指す。横向き姿勢とは、例えば図7Bに示すように、スマートデバイス10がX軸方向に起立した状態の姿勢を意味する。X軸方向に起立した状態とは、例えばX軸と重力加速度の方向(図7Bにおける破線矢印Gが指し示す方向)とが所定誤差内で一致している状態を指す。
ステップ164において、スマートデバイス10が特定の姿勢の場合(一例として図8に示すようにスマートデバイス10が横向き姿勢で撮影者によって保持されている場合)は、判定が肯定されて、ステップ166へ移行する。ステップ164において、スマートデバイス10が特定の姿勢でない場合は、判定が否定されて、ステップ172へ移行する。
ステップ166で、測定部16は、環境センサ32から環境センサ情報を取得し、その後、ステップ168へ移行する。
ステップ168で、判定部18は、ステップ166で取得された環境センサ情報に基づいて、撮影者側の環境が撮影可能環境か否かを判定する。ここで、撮影可能環境とは、例えば、インカメラ52で撮影者を撮影(ここでは一例として静止画撮影)することにより撮影者の顔を示す顔領域が検出可能な撮影画像を得ることができる環境を指す。撮影者側の環境が撮影可能環境の場合とは、例えば、撮影者側の環境における照度が所定の照度範囲内で、かつ、RGB値が所定の階調範囲内で、かつ、スマートデバイス10の特定部分から所定距離以内に物体が存在していない場合を指す。ここで、所定の照度範囲とは、例えば、300ルクス以上600ルクス以下の照度範囲を指す。また、所定の階調範囲とは、例えば、80以上200以下の階調範囲を指す。
ステップ168において、撮影者側の環境が撮影可能環境の場合は、判定が肯定されて、ステップ170へ移行する。ステップ168において、撮影者側の環境が撮影可能環境でない場合は、判定が否定されて、ステップ172へ移行する。
ステップ170で、検出部14は、スリープモードの解除を指示する解除指示フラグをオンにし、その後、ステップ172へ移行する。
ステップ172で、制御部20は、監視処理を終了する条件(監視終了条件)を満足したか否かを判定する。監視終了条件とは、例えば、スマートデバイス10に搭載されているバッテリ(図示省略)の残容量が所定容量(例えば5%)を下回ったとの条件を指す。この他にも、監視終了条件として、監視処理を開始してから所定時間(例えば5時間)経過したとの条件、又は、ハードキー54を介してシャットダウンの指示が入力されたとの条件などが例示できる。ステップ172において、監視終了条件を満足していない場合は、判定が否定されて、ステップ150へ移行する。ステップ172において、監視終了条件を満足した場合は、判定が肯定されて、監視処理を終了する。
ステップ174で、制御部20は、解除指示フラグがオンか否かを判定する。ステップ174において、解除指示フラグがオンの場合は、判定が肯定されて、ステップ176へ移行する。ステップ174において、解除指示フラグがオンでない場合(オフの場合)は、判定が否定されて、図4Bに示すステップ178へ移行する。
ステップ176で、制御部20は、解除指示フラグをオフにし、その後、ステップ172へ移行する。
次に、図4Bを参照して図4Aに示すフローチャートの続きを説明する。なお、図4Bに示すフローチャートは、図4Aに示すフローチャートと比べ、ステップ150に代えてステップ178を有する点、及び、ステップ170に代えてステップ180を有する点が異なる。また、図4Bに示すフローチャートは、図4Aに示すフローチャートと比べ、ステップ174に代えてステップ182を有する点、及び、ステップ172を除いた点が異なる。そのため、以下では、図4Bに示すフローチャートに含まれるステップのうち、図4Aに示すフローチャートに含まれるステップと同一のステップに同一の符号を付し、図4Aに示すフローチャートと異なる点について説明する。
図4Bに示すステップ178で、制御部20は、インカメラ52及びアウトカメラ56が共に非作動状態か否かを判定する。ここで、非作動状態とは、カメラの作動が停止している状態を指す。ステップ178において、インカメラ52及びアウトカメラ56が共に非作動状態の場合は、判定が肯定されて、ステップ152へ移行する。ステップ178において、インカメラ52及びアウトカメラ56が共に非作動状態でない場合(インカメラ52及びアウトカメラ56の少なくとも一方が非作動状態でない場合)は、判定が否定されて、ステップ172へ移行する。
ステップ180で、検出部14は、インカメラ52で撮影して得た撮影画像から顔領域を検出することを指示する顔検出フラグをオンにし、その後、図4Aに示すステップ172へ移行する。
次に、第1CPU60が動作モード変更プログラム66を実行することでスマートデバイス10によって行われる動作モード変更処理について、図5を参照して説明する。
先ず、ステップ200で、制御部20は、スマートデバイス10がスリープモードか否かを判定する。ステップ200において、スマートデバイス10がスリープモードの場合は、判定が肯定されて、ステップ202へ移行する。ステップ200において、スマートデバイス10がスリープモードでない場合(通常モードの場合)は、判定が否定されて、ステップ210へ移行する。
ステップ202で、制御部20は、ハードキー54が操作されたか否かを判定する。ステップ202において、ハードキー54が操作された場合は、判定が肯定されて、ステップ204へ移行する。ステップ202において、ハードキー54が操作されていない場合は、判定が否定されて、ステップ214へ移行する。
ステップ204で、制御部20は、スリープモードを解除し、その後、ステップ206へ移行する。
ステップ206で、制御部20は、スマートデバイス10を指示待ちモードへ移行させ、その後、ステップ208へ移行する。
ステップ208で、制御部20は、動作モード変更処理を終了する条件(動作モード変更終了条件)を満足したか否かを判定する。動作モード変更終了条件とは、例えば、スマートデバイス10のバッテリの残容量が所定容量(例えば5%)を下回ったとの条件を指す。この他にも、動作モード変更終了条件として、動作モード変更処理を開始してから所定時間(例えば5時間)経過したとの条件、又は、ハードキー54を介してシャットダウンの指示が入力されたとの条件などが例示できる。ステップ208において、動作モード変更終了条件を満足していない場合は、判定が否定されて、ステップ200へ移行する。ステップ208において、動作モード変更終了条件を満足した場合は、判定が肯定されて、動作モード変更処理を終了する。
ステップ210で、制御部20は、インカメラ52及びアウトカメラ56が共に非作動状態か否かを判定する。ステップ210において、インカメラ52及びアウトカメラ56が共に非作動状態の場合は、判定が肯定されて、ステップ212へ移行する。ステップ210において、インカメラ52及びアウトカメラ56が共に非作動状態でない場合(インカメラ52及びアウトカメラ56の少なくとも一方が非作動状態でない場合)は、判定が否定されて、ステップ208へ移行する。
ステップ212で、制御部20は、顔検出フラグがオンか否かを判定する。ステップ212において、顔検出フラグがオンの場合は、判定が肯定されてステップ218へ移行する。ステップ212において、顔検出フラグがオンでない場合(オフの場合)は、判定が否定されて、ステップ208へ移行する。
ステップ214で、制御部20は、解除指示フラグがオンか否かを判定する。ステップ214において、解除指示フラグがオンの場合は、判定が肯定されて、ステップ216へ移行する。ステップ214において、解除指示フラグがオンでない場合(オフの場合)は、判定が否定されて、ステップ208へ移行する。
ステップ216で、制御部20は、スリープモードを解除し、その後、ステップ218へ移行する。
ステップ218で、制御部20は、インカメラ52を起動させ、その後、ステップ220へ移行する。
ステップ220で、制御部20は、インカメラ52に対して撮影指示を行うことで、インカメラ52で撮影者側を撮影(ここでは一例として静止画撮影)し、その後、ステップ222へ移行する。
ステップ222で、検出部14は、ステップ220で撮影して得た撮影画像に顔領域が含まれているか否かを判定する。ステップ222において、ステップ220で撮影して得た撮影画像に顔領域が含まれている場合は、判定が肯定されて、ステップ224へ移行する。ステップ222において、ステップ220で撮影して得た撮影画像に顔領域が含まれていない場合は、判定が否定されて、ステップ226へ移行する。
ステップ226で、制御部20は、インカメラ52の作動を停止させ、その後、ステップ208へ移行する。
ステップ224で、制御部20は、一例として図6に示す撮影モード移行処理を実行し、その後、ステップ208へ移行する。
図6に示す撮影モード移行処理では、先ず、ステップ224Aで、検出部14は、ステップ220で撮影して得た撮影画像内の顔領域の個数を検出し、その後、ステップ224Bへ移行する。
ステップ224Bで、制御部20は、ステップ224Aで検出した顔領域の個数が2以上か否かを判定する。顔領域の個数が2以上とは、例えば、図9Aに示すように、撮影画像P1に顔領域F1,F2が含まれていることを意味するが、撮影画像Pに3つ以上の顔領域が含まれている場合も該当することは言うまでもない。ステップ224Bにおいて、ステップ224Aで検出した顔領域の数が2以上の場合は、判定が肯定されて、ステップ224Cへ移行する。ステップ224Bにおいて、ステップ224Aで検出した顔領域の個数が2以上でない場合(2未満(単数)の場合)は、判定が否定されて、ステップ224Dへ移行する。
ステップ224Cで、制御部20は、スマートデバイス10をインカメラ撮影モードへ移行させることでインカメラ52の作動を続行させ、撮影モード移行処理を終了する。
ステップ224Cの処理が行われることによりスマートデバイス10がインカメラ撮影モードへ移行すると、制御部20は、開示の技術における第1及び第2作動停止条件の一例である第1撮影終了条件を満足した場合に、インカメラ52の作動を停止させる。第1撮影終了条件とは、例えば、インカメラ52を起動させてからハードキー54及びタッチパネル68の少なくとも一方が操作されることなく30秒が経過したとの条件やインカメラ52の作動の停止指示がタッチパネル68を介して入力されたとの条件を指す。
また、ステップ224Cの処理が行われることによってスマートデバイス10がインカメラ撮影モードへ移行すると、表示制御部24は、インカメラ用ファインダ表示を行う。インカメラ用ファインダ表示とは、例えば、インカメラ52により撮影されて得た複数の撮影画像を動画像として所定のフレームレートでディスプレイ70に表示させることを指す。
ステップ224Dで、検出部14は、ステップ220で撮影して得た撮影画像内の顔領域の面積を算出し、その後、ステップ224Eへ移行する。
ステップ224Eで、制御部20は、ステップ224Dで算出された顔領域の面積が第1閾値(開示の技術における第2所定値に相当する値)未満か否かを判定する。顔領域の面積が第1閾値未満とは、例えば、図9Bに示すように、撮影画像P2に含まれる顔領域F3が破線楕円枠(面積が第1閾値に相当する値の破線楕円枠)E1の内側に収まることを意味する。第1閾値は、デフォルト値であってもよいし、撮影者がハードキー54又はタッチパネル68を介して指示した値であってもよい。なお、第1閾値のデフォルト値とは、例えば、実験で得られた値(第1実験値)を指す。第1実験値としては、複数の撮影者(例えば1000人の撮影者)の各々にインカメラ52で自分撮りをさせて得た撮影画像に含まれる顔領域の面積のうちの最大値と平均値との中央値が例示できる。
ステップ224Eにおいて、ステップ224Dで算出された顔領域の面積が第1閾値未満の場合は、判定が肯定されて、ステップ224Cへ移行する。ステップ224Eにおいて、ステップ224Dで算出された顔領域の面積が第1閾値未満でない場合(第1閾値以上の場合)は、判定が否定されて、ステップ224Fへ移行する。
ステップ224Fで、制御部20は、ステップ224Dで算出された顔領域の面積が第2閾値(開示の技術における第1所定値の一例)以上か否かを判定する。顔領域の面積が第2閾値以上とは、例えば、図9Cに示すように、撮影画像P3に含まれる顔領域F4が破線楕円枠(面積が第2閾値に相当する値の破線楕円枠)E2に収まらないことを意味する。第2閾値は、デフォルト値であってもよいし、撮影者がハードキー54又はタッチパネル68を介して指示した値であってもよい。なお、第2閾値のデフォルト値とは、例えば、実験で得られた値(第2実験値)を指す。第2実験値としては、複数の撮影者(例えば1000人の撮影者)の各々にアウトカメラ56で風景を撮影させているときにインカメラ52で撮影者を撮影して得た撮影画像に含まれる顔領域の面積のうちの最大値と平均値との中央値が例示できる。
ステップ224Fにおいて、ステップ224Dで算出された顔領域の面積が第2閾値以上の場合は、判定が肯定されて、ステップ224Gへ移行する。ステップ224Fにおいて、ステップ224Dで算出された顔領域の面積が第2閾値以上でない場合(第2閾値未満の場合)は、判定が否定されて、ステップ224Iへ移行する。
ステップ224Iで、検出部14は、モーションセンサ30からモーションセンサ情報を取得し、取得したモーションセンサ情報からスマートデバイス10の振動度を検出し、その後、ステップ224Jへ移行する。ここで、振動度とは、例えば、加速度センサ86の検出結果から得られた所定時間(例えば1秒)における加速度波形の平均振幅及び周波数により規定された値を指す。振幅及び周波数により規定された値とは、例えば、平均振幅と周波数とを乗算して得た値を指す。また、振動度として、所定時間における加速度波形の積分値を用いてもよい。
ステップ224Jで、制御部20は、ステップ224Iで検出された振動度が第3閾値(開示の技術における第3所定値に相当する値)以上か否かを判定する。第3閾値は、デフォルト値であってもよいし、撮影者がハードキー54又はタッチパネル68を介して指示した値であってもよい。なお、第3閾値のデフォルト値とは、例えば、実験で得られた値(第3実験値)を指す。第3実験値としては、複数の撮影者(例えば1000人の撮影者)の各々にアウトカメラ56で風景を撮影させているときに所定の測定器で測定されたスマートデバイス10の振動度の最大値と平均値との中央値が例示できる。
ステップ224Jにおいて、ステップ224Iで検出された振動度が第3閾値以上の場合は、判定が肯定されて、ステップ224Cへ移行する。ステップ224Jにおいて、ステップ224Iで検出した振動度が第3閾値以上でない場合(第3閾値未満の場合)は、判定が否定されて、ステップ224Gへ移行する。
なお、上記のステップ224Jでは、加速度波形から得た平均振幅及び周波数により規定される値(例えば平均振幅と周波数とを乗算して得た値)が第3閾値以上の場合に判定が肯定される場合を例示しているが、開示の技術はこれに限定されない。ステップ224Jにおいて、例えば、加速度波形から得た平均振幅が予め定められた振幅用閾値以上であり、かつ、加速度波形から得た周波数が予め定められた周波数用閾値以上である場合に、判定が肯定されてもよい。また、所定時間における加速度波形の積分値が所定値以上の場合に判定が肯定されてもよい。
ステップ224Gで、制御部20は、インカメラ52の作動を停止させ、その後、ステップ224Hへ移行する。
ステップ224Hで、制御部20は、スマートデバイス10をアウトカメラ撮影モードへ移行させることでアウトカメラ56を起動させ、その後、撮影モード移行処理を終了する。ステップ224Hの処理が行われることによってスマートデバイス10がアウトカメラ撮影モードへ移行すると、表示制御部24は、アウトカメラ用ファインダ表示を行う。アウトカメラ用ファインダ表示とは、例えば、アウトカメラ56により撮影されて得た複数の撮影画像を動画像として所定のフレームレートでディスプレイ70に表示させることを指す。
なお、ステップ224Hの処理が行われることによって起動されたアウトカメラ56の作動は、第2撮影終了条件を満足するまで続行される。第2撮影終了条件とは、例えばアウトカメラ56を起動させてからハードキー54及びタッチパネル68の少なくとも一方が操作されることなく30秒が経過したとの条件やアウトカメラ56の作動の停止指示がタッチパネル68を介して入力されたとの条件を指す。
以上説明したように、スマートデバイス10では、検出部14により、スマートデバイス10の移動状態から静止状態への遷移が検出される(ステップ152〜164)。スマートデバイス10の移動状態から静止状態への遷移が検出された場合、撮影者が撮影体勢に入ったと見做される。そこで、スマートデバイス10の移動状態から静止状態への遷移が検出された場合(ステップ214で判定が肯定された場合)に、制御部20によりインカメラ52が起動される(ステップ218)。これにより、撮影者が手動でインカメラ52を起動させる場合と比べ、撮影者が要求する時期にインカメラ52を起動させる手間が軽減される。また、スマートデバイス10では、制御部20によりインカメラ52が起動され、起動されたインカメラ52で撮影して得た撮影画像から検出部14により顔領域が検出され、顔領域の面積及び個数が検出部14により検出される(ステップ224A,224D)。撮影者がアウトカメラ56の起動を要求しているか否かは、検出部14により検出された顔領域の面積及び個数から予測することができる。そこで、検出された顔領域の面積及び個数が第1所定条件を満足した場合(ステップ224Fで判定が肯定された場合)に、制御部20によりアウトカメラ56が起動される(ステップ224H)。これにより、撮影者が手動でアウトカメラ56を起動させる場合と比べ、撮影者が要求する時期にアウトカメラ56を起動させる手間が軽減される。このように、スマートデバイス10は、インカメラ52及びアウトカメラ56の各々を撮影者が要求する時期に起動させる手間を軽減することができる。
また、スマートデバイス10では、インカメラ52が作動した状態で、検出部14により検出された顔領域の面積及び個数が第1所定条件を満足しているか否かが判定される(ステップ224F)。第1所定条件を満足した場合、撮影者はアウトカメラ56の起動を要求している反面、インカメラ52の作動の停止を要求している(インカメラ52の作動の続行を要求していない)と見做される。そこで、インカメラ52が作動した状態で、検出部14により検出された顔領域の面積及び個数が第1所定条件を満足した場合に、制御部20によりインカメラ52の作動が停止される(ステップ224G)。これにより、スマートデバイス10は、撮影者が要求する時期にインカメラ52の作動を停止させる手間を軽減することができる。
また、スマートデバイス10では、インカメラ52が作動した状態で、検出部14により顔領域が検出されたか否かが判定される(ステップ222)。検出部14により顔領域が検出されなかった場合、スマートデバイス10の利用者に撮影の意思はないと見做される。そこで、検出部14により顔領域が検出されなかった場合(ステップ222で判定が否定された場合)に、制御部20によりインカメラ52の作動が停止される(ステップ226)。これにより、スマートデバイス10は、撮影者が要求しない時期にインカメラ52が作動することに伴う電力浪費を抑制することができる。
また、スマートデバイス10では、第1所定条件として、検出部14により検出された顔領域の個数が単数で、かつ、検出部14により検出された顔領域の面積が第2閾値以上であるとの条件を採用している。これにより、スマートデバイス10は、撮影者が要求する時期にアウトカメラ56を起動させる確率を高めることができる。
また、スマートデバイス10では、インカメラ52が作動した状態で、検出部14により検出された顔領域の個数が単数で、かつ、顔領域の面積が第1閾値未満か否かが判定される(ステップ224E)。検出部14により検出された顔領域の個数が単数で、かつ、顔領域の面積が第1閾値未満の場合、撮影者はインカメラ52の作動の続行を要求していると見做される。そこで、検出部14により検出された顔領域の個数が単数で、かつ、検出部14により検出された顔領域の面積が第1閾値未満の場合に、制御部20により、第1撮影終了条件を満足するまでインカメラ52の作動が続行される(ステップ224C)。これにより、スマートデバイス10は、撮影者がインカメラ52の作動の続行を要求している場合にインカメラ52の作動を続行させることができる。
また、スマートデバイス10では、検出部14により、スマートデバイス10の振動度が検出される(ステップ224I)。撮影者がアウトカメラ56の起動を要求しているか否かは、第2所定条件を満足したか否かの判定結果から予測することができる。ここで、第2所定条件とは、検出された顔領域の個数は単数であるが、検出された顔領域の面積が所定範囲内(ステップ224Fが否定判定)であるために第1所定条件を満足せずに、かつ、検出部14で検出された振動度が第3閾値未満であるとの条件を指す。検出部14で検出された振動度が第3閾値未満の場合とは、撮影者の手振れの度合が所定の度合未満の場合を意味する。撮影者の手振れの度合が所定の度合未満の場合とは、撮影者がスマートデバイス10を片手で把持している可能性よりもスマートデバイス10を両手で支えている可能性が高い場合を意味する。スマートデバイス10を両手で支えている場合とは、インカメラ52よりもアウトカメラ56を使用する可能性が高いことを意味する。そこで、アウトカメラ56が非作動状態で、第2所定条件を満足した場合(ステップ224Jで判定が否定された場合)に、制御部20によりアウトカメラ56が起動される(ステップ224H)。これにより、スマートデバイス10は、第1所定条件を満足しない場合であっても、撮影者が要求する時期にアウトカメラ56を起動させる手間を軽減することができる。
また、スマートデバイス10では、インカメラ52が作動した状態で、第2所定条件を満足したか否かが判定される(ステップ224J)。インカメラ52が作動した状態で、第2所定条件を満足した場合、撮影者はアウトカメラ56の起動を要求している反面、インカメラ52の作動の停止を要求していると見做される。そこで、インカメラ52が作動した状態で、第2所定条件を満足した場合(ステップ224Jで判定が否定された場合)に、制御部20によりインカメラ52の作動が停止される(ステップ224G)。これにより、スマートデバイス10は、撮影者が要求する時期にインカメラ52の作動を停止させる手間を軽減することができる。
また、スマートデバイス10では、インカメラ52が作動した状態で、検出部14により検出された顔領域の個数が複数か否かが判定される(ステップ224B)。検出部14により検出された顔領域の個数が複数の場合、撮影者がインカメラ52の作動の続行を要求していると見做される。そこで、インカメラ52が作動した状態で、検出部14により検出された顔領域の個数が複数の場合に、制御部20により、第1撮影終了条件を満足するまでインカメラ52の作動が続行される(ステップ224C)。これにより、スマートデバイス10は、撮影者がインカメラ52の作動の続行を要求している場合にインカメラ52の作動を続行させることができる。
また、スマートデバイス10では、スリープモードで、かつ、インカメラ52が非作動状態で、スマートデバイス10の移動状態から静止状態への遷移が検出された場合(ステップ214で判定が肯定された場合)に、撮影者が撮影体勢に入ったと見做される。そこで、スリープモードで、かつ、インカメラ52が非作動状態で、スマートデバイス10の移動状態から静止状態への遷移が検出された場合に、制御部20によりスリープモードが解除される(ステップ216)。そして、制御部20によってスリープモードが解除された場合に、制御部20によりインカメラ52が起動され(ステップ218)、インカメラ52で撮影が行われる(ステップ220)。これにより、スマートデバイス10は、撮影者がスリープモードからインカメラ52を起動させるまでに要する手間を軽減することができる。
また、スマートデバイス10では、測定部16により環境センサ情報が取得され(ステップ166)、取得された環境センサ情報に基づいて撮影者側の環境が撮影可能環境か否かが判定部18により判定される(ステップ168)。そして、インカメラ52の非作動状態で、撮影可能環境と判定され、かつ、スマートデバイス10の移動状態から静止状態への遷移が検出された場合に、制御部20によりインカメラ52が起動される(ステップ218)。これにより、スマートデバイス10は、撮影者が要求しない時期にインカメラ52が作動することに伴う電力浪費を抑制することができる。
なお、上記第1実施形態では、撮影者側の顔領域の個数が複数の場合(ステップ224Bで判定が肯定された場合)にインカメラ52の作動を続行させる例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、撮影者側の顔領域の個数が複数の場合であっても、第1アウトカメラ起動条件を満足した場合に限り、インカメラ52の作動を停止させ、スマートデバイス10をアウトカメラ撮影モードに移行させるようにしてもよい。ここで、第1アウトカメラ起動条件とは、例えば、インカメラ52で撮影して得た撮影画像に含まれる複数の顔領域のうちの1つの顔領域の面積が第2閾値以上で、かつ、残りの顔領域の面積が第2閾値(又は第2閾値よりも小さな値)未満であるとの条件を指す。この条件を満足する一例としては、インカメラ52で撮影して得た撮影画像に3つの顔領域が含まれている場合、これらの顔領域のうちの1つの顔領域の面積が第2閾値以上で、かつ、残りの2つの顔領域の各々の面積が第2閾値未満の場合が例示できる。
また、上記第1実施形態では、撮影者側の顔領域の個数が単数の場合(ステップ224Bで判定が否定された場合)にスマートデバイス10のアウトカメラ撮影モードへの移行を可能にする例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、撮影者側の顔領域の個数が複数の場合であっても、第2アウトカメラ起動条件を満足した場合に限り、アウトカメラ撮影モードへの移行を可能にするようにしてもよい。ここで、第2アウトカメラ起動条件とは、例えば、インカメラ52で撮影して得た撮影画像に含まれる複数の顔領域のうちの1つの顔領域の面積が第1閾値以上で、かつ、残りの顔領域の面積が第1閾値(又は第1閾値よりも小さな値)未満であるとの条件を指す。この条件を満足する一例としては、インカメラ52で撮影して得た撮影画像に3つの顔領域が含まれている場合、これらの顔領域のうちの1つの顔領域の面積が第1閾値以上で、かつ、残りの2つの顔領域の各々の面積が第1閾値未満の場合が例示できる。
また、上記第1実施形態では、顔領域の面積が第2閾値以上の場合に、インカメラ52の作動を停止させる例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、顔領域の面積が第2閾値以上の場合に、第1撮影終了条件を満足するまでインカメラ52の作動を続行させると共に、アウトカメラ56を起動させるようにしてもよい。また、この場合、例えば、表示制御部24が、カメラ用ファインダ表示を行うことが好ましい。カメラ用ファインダ表示とは、例えば、ディスプレイ70の表示画面を2分割して得た一方の分割画面でインカメラ用ファインダ表示を行い、他方の分割画面でアウトカメラ用ファインダ表示を行うことを指す。
このように、インカメラ52の作動を続行させた状態でアウトカメラ56も並行して作動させた場合、インカメラ52及びアウトカメラ56のうちの撮影者がハードキー54又はタッチパネル68を介して指定した方の作動を停止させることが好ましい。例えば、制御部20は、作動停止対象のカメラとしてインカメラ52が指定された場合、インカメラ52の作動を停止させ、作動停止対象のカメラとしてアウトカメラ56が指定された場合、アウトカメラ56の作動を停止させる。
また、上記第1実施形態では、顔領域の面積が第2閾値以上の場合に、インカメラ52の作動を停止させ、かつ、スマートデバイス10をアウトカメラ撮影モードに移行させる例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、顔領域の面積が第1閾値未満の場合(ステップ224Eで判定が肯定された場合)に、インカメラ52の作動を停止させ、かつ、スマートデバイス10をアウトカメラ撮影モードに移行させてもよい。
また、上記第1実施形態では、顔領域の面積が第1閾値以上で、かつ、第2閾値未満の場合に振動度を検出し、検出した振動度に基づいてアウトカメラ撮影モードに移行させるか否かを判定する例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、顔領域の面積が第1閾値以上で、かつ、第2閾値未満の場合に、振動度を検出することなく、スマートデバイス10をインカメラ撮影モードに移行させてもよい。
また、上記第1実施形態では、顔領域の面積が第2閾値以上の場合に、アウトカメラ56を起動させる例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、顔領域の面積が第2閾値以上で、かつ、第4閾値(第2閾値よりも大きな値)未満の場合に、アウトカメラ56を起動させ、顔領域の面積が第4閾値以上の場合に、アウトカメラ56を起動させずに、インカメラ52の作動を続行させるようにしてもよい。
また、上記第1実施形態では、第1閾値及び第2閾値の各々と顔領域の面積とを比較する例(例えばステップ224E,224F)を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、顔領域の個数が単数であると判定された場合に、制御部20は、顔領域の面積を第1閾値と比較せずに第2閾値と比較し、顔領域の面積が第2閾値未満の場合にスマートデバイス10をインカメラ撮影モードへ移行させるようにしてもよい。これにより、スマートデバイス10は、撮影者がインカメラ52の作動の続行を要求している場合にインカメラ52の作動を続行させることができる。
また、上記第1実施形態では、スマートデバイス10が縦向き姿勢の場合及び横向き姿勢の場合にインカメラ52を起動させる場合を例示したが、スマートデバイス10が特定の傾斜姿勢の場合にインカメラ52を起動させてもよい。特定の傾斜姿勢とは、例えば、図7Aに示す縦向き姿勢に対してZ軸側に40度以上50度以下の角度で傾斜した姿勢及び図7Bに示す横向き姿勢に対してZ軸側に40度以上50度以下の角度で傾斜した姿勢を指す。
また、上記第1実施形態では、検出部14が顔領域の面積を算出することで顔領域の大きさを検出する例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、検出部14は、撮影画像に含まれる全画像領域に対する顔領域の割合(占有率)を算出することで顔領域の大きさを検出するようにしてもよい。
また、上記第1実施形態では、顔領域として撮影画像に含まれる顔を示す領域そのものを例示したが、開示の技術はこれに限定されるものではなく、例えば、撮影画像に含まれる顔を示す領域が内接する矩形枠の内側領域を顔領域としてもよい。
また、上記第1実施形態では、検出部14が撮影画像から顔領域を検出する例を挙げたが、これに限らず、検出部14は、撮影画像から人物の瞳を示す瞳領域や人物の鼻を示す鼻領域を検出してもよく、人物の特定部位を示す特定部位領域を検出すればよい。なお、上記第1実施形態では、被検出対象を顔領域としたので、顔領域の個数が複数か否かを判定する例を挙げて説明したが、被検出対象を瞳領域とする場合は、例えば、一対の瞳領域を一組とし、瞳領域の組数が複数組か否かを判定すればよい。
また、上記第1実施形態では、インカメラ52及びアウトカメラ56の双方が非作動状態でスマートデバイス10が移動状態から静止状態へ遷移した場合にインカメラ52を起動させたが、開示の技術はこれに限定されるものではない。例えば、アウトカメラ56が作動した状態で、かつ、インカメラ52が非作動状態で、スマートデバイス10が移動状態から静止状態へ遷移した場合に、インカメラ52を起動させるようにしてもよい。この場合、アウトカメラ56を起動させた際にインカメラ52の作動を停止させてもよいし、インカメラ52の作動を続行させてもよい。
また、上記第1実施形態では、動作モード変更処理が行われることによりインカメラ52を起動させ、インカメラ52が撮影して得た撮影画像に含まれる顔領域の面積及び個数に基づいて、アウトカメラ56を起動させたが、開示の技術はこれに限らない。例えば、インカメラ用アプリ67が第1CPU60によって実行されることによって作動中のインカメラ52が撮影して得た撮影画像に含まれる顔領域の面積及び個数に基づいて、アウトカメラ56を起動させるようにしてもよい。
また、上記第1実施形態では、モーションセンサ30の一例として9軸モーションセンサを用いたが、開示の技術はこれに限定されるものではなく、他の種類のモーションセンサであってもよい。例えば、加速度センサ86、角速度センサ88及び地磁気センサ90のうちの何れか2つを組み合わせたモーションセンサであってもよい。また、モーションセンサ30に代えて加速度センサ86を用いてもよい。
また、上記第1実施形態では、光学センサ92及び近接センサ94を有する環境センサ32を例示したが、開示の技術はこれに限定されるものではない。例えば、光学センサ92及び近接センサ94のうちの少なくとも1つを含む環境センサであってもよい。また、光学センサ92及び近接センサ94のうちの少なくとも一方と、スマートデバイス10の外部環境を特定する物理量を測定する他のセンサ(例えば、風速センサ、紫外線センサ及び温湿度センサ等の少なくとも1つ)とを含む環境センサであってもよい。
また、上記第1実施形態では、開示の技術における省電力状態の一例としてスリープモードを例示したが、これに限らず、スリープモードから通常モードへの復帰に要する時間よりも通常モードの復帰に要する時間が長い休止モードであってもよい。
また、上記第1実施形態では、第1CPU60及び第2CPU80により分散処理が行われる例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、マルチコア・プロセッサによって動作モード変更プログラム66、インカメラ用アプリ67、アウトカメラ用アプリ69及び監視プログラム85が分散処理されるようにしてもよい。
[第2実施形態]
上記第1実施形態では、デバイス本体部10Aが2台のカメラを有する場合を例示したが、本第2実施形態では、一例として図10に示すようにデバイス本体部300A及び監視部300Bの各々が1台ずつカメラを有する場合について説明する。なお、本第2実施形態では、上記第1実施形態で説明した構成要素については、同一の符号を付して説明を省略し、上記第1実施形態と異なる点について説明する。
一例として図10に示すように、デバイス本体部300Aは、図3に示すデバイス本体部10Aと比べ、インカメラ52を除いた点、及び、動作モード変更プログラム66に代えて動作モード変更プログラム320が二次記憶部64に記憶されている点が異なる。また、図10に示すデバイス本体部300Aは、図3に示すデバイス本体部10Aと比べ、二次記憶部64からインカメラ用アプリ67を除いた点が異なる。
第1CPU60は、二次記憶部64から動作モード変更プログラム320を読み出して一次記憶部62に展開し、動作モード変更プログラム320が有する各プロセスを実行する。動作モード変更プログラム320は、図3に示す動作モード変更プログラム66と比べ、第1検出プロセス66Aに代えて第1検出プロセス320Aを有する点が異なる。また、動作モード変更プログラム320は、図3に示す動作モード変更プログラム66と比べ、制御プロセス66Bに代えて第1制御プロセス320Bを有する点が異なる。
第1CPU60は、第1検出プロセス320Aを実行することで、図1に示す検出部14として動作する。また、第1CPU60は、第1制御プロセス320Bを実行することで、図1に示す制御部20として動作する。
一例として図10に示すように、監視部300Bは、図3に示す監視部10Bと比べ、図1に示す第1撮影部26の一例であるインカメラ322を有する点が異なる。また、図10に示す監視部300Bは、図3に示す監視部10Bと比べ、監視プログラム85に代えて監視プログラム324が二次記憶部84に記憶されている点、及び、インカメラ用アプリ67が二次記憶部84に記憶されている点が異なる。
インカメラ322は、バス83に接続されている。従って、第2CPU80は、インカメラ322との各種情報の授受を行うことができる。
第2CPU80は、二次記憶部84から監視プログラム324を読み出して一次記憶部82に展開し、監視プログラム324が有する各プロセスを実行する。監視プログラム324は、図3に示す監視プログラム85と比べ、第2検出プロセス85Aに代えて第2検出プロセス324Aを有する点が異なる。また、監視プログラム324は、図3に示す監視プログラム85と比べ、測定プロセス85Bに代えて測定プロセス324Bを有する点が異なる。また、監視プログラム324は、図3に示す監視プログラム85と比べ、判定プロセス85Cに代えて判定プロセス324Cを有する点が異なる。更に、監視プログラム324は、図3に示す監視プログラム85と比べ、第2制御プロセス324Dを有する点が異なる。
第2CPU80は、第2検出プロセス324Aを実行することで、図1に示す検出部14として動作する。また、第2CPU80は、測定プロセス324Bを実行することで、図1に示す測定部16として動作する。また、第2CPU80は、判定プロセス324Cを実行することで、図1に示す判定部18として動作する。また、第2CPU80は、第2制御プロセス324Dを実行することで、図1に示す制御部20として動作する。更に、第2CPU80は、二次記憶部84からインカメラ用アプリ67を読み出して一次記憶部82に展開し、インカメラ用アプリ67を実行することで、図1に示す表示制御部24として動作する。
次に本第2実施形態の作用として、第2CPU80が監視プログラム324を実行することでスマートデバイス300によって行われる監視処理について、図11Aを参照して説明する。なお、以下では、説明の便宜上、スマートデバイス300が、スリープモード及び通常モードの何れかの動作モードで作動する場合について説明する。
先ず、ステップ400で、制御部20は、スマートデバイス300がスリープモードか否かを判定する。ステップ400において、スマートデバイス300がスリープモードの場合は、判定が肯定されて、ステップ402へ移行する。ステップ400において、スマートデバイス300がスリープモードでない場合は、判定が否定されて、ステップ434へ移行する。
ステップ402で、制御部20は、インカメラ322が非作動状態か否かを判定する。ステップ402において、インカメラ322が非作動状態の場合は、判定が肯定されて、ステップ404へ移行する。ステップ402において、インカメラ322が非作動状態でない場合は、判定が否定されて、ステップ432へ移行する。
ステップ404で、検出部14は、モーションセンサ30からモーションセンサ情報を取得し、その後、ステップ406へ移行する。
ステップ406で、検出部14は、ステップ404で取得したモーションセンサ情報に基づいて、スマートデバイス300が移動状態か否かを判定する。ステップ406において、スマートデバイス300が移動状態の場合は、判定が肯定されて、ステップ408へ移行する。ステップ406において、スマートデバイス300が移動状態でない場合は、判定が否定されて、ステップ412へ移行する。
ステップ408で、検出部14は、スマートデバイス300が移動状態であることを示す移動フラグがオフか否かを判定する。ステップ408において、移動フラグがオフの場合は、判定が肯定されて、ステップ410へ移行する。ステップ408において、移動フラグがオフでない場合は、判定が否定されて、ステップ432へ移行する。
ステップ410で、検出部14は、移動フラグをオンにし、その後、ステップ432へ移行する。
ステップ412で、検出部14は、移動フラグがオンか否かを判定する。ステップ412において、移動フラグがオンの場合は、判定が肯定されて、ステップ414へ移行する。ステップ412において、移動フラグがオフの場合は、判定が否定されて、ステップ432へ移行する。
ステップ414で、検出部14は、移動フラグをオフにし、その後、ステップ416へ移行する。
ステップ416で、検出部14は、ステップ404で取得したモーションセンサ情報に基づいて、スマートデバイス300が一例として図7A及び図7Bに示す特定の姿勢か否かを判定する。ステップ416において、スマートデバイス300が特定の姿勢の場合(一例として図8に示すようにスマートデバイス300が横向き姿勢で撮影者によって保持されている場合)は、判定が肯定されて、ステップ418へ移行する。ステップ416において、スマートデバイス300が特定の姿勢でない場合は、判定が否定されて、ステップ432へ移行する。
ステップ418で、測定部16は、環境センサ32から環境センサ情報を取得し、その後、ステップ420へ移行する。
ステップ420で、判定部18は、ステップ418で取得された環境センサ情報に基づいて、撮影者側の環境が撮影可能環境か否かを判定する。ステップ420において、撮影者側の環境が撮影可能環境の場合は、判定が肯定されて、ステップ422へ移行する。ステップ420において、撮影者側の環境が撮影可能環境でない場合は、判定が否定されて、ステップ432へ移行する。
ステップ422で、制御部20は、インカメラ322を起動させ、その後、ステップ424へ移行する。
ステップ424で、制御部20は、インカメラ52に対して撮影指示を行うことで、インカメラ322で撮影者側を撮影し、その後、ステップ426へ移行する。
ステップ426で、検出部14は、ステップ424で撮影して得た撮影画像に顔領域が含まれているか否かを判定する。ステップ426において、ステップ424で撮影して得た撮影画像に顔領域が含まれている場合は、判定が肯定されて、ステップ428へ移行する。ステップ426において、ステップ424で撮影して得た撮影画像に顔領域が含まれていない場合は、判定が否定されて、ステップ430へ移行する。
ステップ428で、検出部14は、解除指示フラグをオンにし、その後、ステップ432へ移行する。
ステップ430で、制御部20は、インカメラ322の作動を停止させ、その後、ステップ432へ移行する。
ステップ432で、制御部20は、監視終了条件を満足したか否かを判定する。ステップ432において、監視終了条件を満足していない場合は、判定が否定されて、ステップ400へ移行する。ステップ432において、監視終了条件を満足した場合は、判定が肯定されて、監視処理を終了する。
ステップ434で、制御部20は、解除指示フラグがオンか否かを判定する。ステップ434において、解除指示フラグがオンの場合は、判定が肯定されて、ステップ436へ移行する。ステップ434において、解除指示フラグがオンでない場合は、判定が否定されて、図11Bに示すステップ438へ移行する。
ステップ436で、制御部20は、解除指示フラグをオフにし、その後、ステップ432へ移行する。
次に、図11Bを参照して図11Aに示すフローチャートの続きを説明する。なお、図11Bに示すフローチャートは、図11Aに示すフローチャートと比べ、ステップ402及びステップ432を除いた点が異なる。また、図11Bに示すフローチャートは、図11Aに示すフローチャートと比べ、ステップ400に代えてステップ438を有する点、及び、ステップ428に代えてステップ440を有する点が異なる。また、図11Bに示すフローチャートは、図11Aに示すフローチャートと比べ、ステップ434に代えてステップ442を有する点、及び、ステップ436に代えてステップ444を有する点が異なる。更に、図11Bに示すフローチャートは、図11Aに示すフローチャートと比べ、ステップ446〜456を有する点が異なる。そのため、以下では、図11Bに示すフローチャートに含まれるステップのうち、図11Aに示すフローチャートに含まれるステップと同一のステップに同一の符号を付し、図11Aに示すフローチャートと異なる点について説明する。
図11Bに示すステップ438で、制御部20は、インカメラ322及びアウトカメラ56が共に非作動状態か否かを判定する。ステップ438において、インカメラ322及びアウトカメラ56が共に非作動状態の場合は、判定が肯定されて、ステップ404へ移行する。ステップ438において、インカメラ322及びアウトカメラ56が共に非作動状態でない場合(インカメラ322及びアウトカメラ56の少なくとも一方が非作動状態でない場合)は、判定が否定されて、ステップ442へ移行する。
ステップ440で、検出部14は、後述の撮影モード移行処理の実行を許可する許可フラグをオンにし、その後、図11Aに示すステップ432へ移行する。
ステップ442で、制御部20は、許可フラグがオフか否かを判定する。ステップ442において、許可フラグがオンの場合は、判定が肯定されて、ステップ444へ移行する。ステップ442において、許可フラグがオフの場合は、判定が否定されて、ステップ446へ移行する。
ステップ444で、制御部20は、許可フラグをオフにし、その後、ステップ446へ移行する。
ステップ446で、制御部20は、スマートデバイス300をインカメラ撮影モードへ移行させることを指示するインカメラフラグがオンか否かを判定する。なお、インカメラフラグは、後述のステップ478Cでオンにされる(図13参照)。
ステップ446において、インカメラフラグがオンの場合は、判定が肯定されて、ステップ448へ移行する。ステップ446において、インカメラフラグがオンでない場合は、判定が否定されて、ステップ452へ移行する。
ステップ448で、制御部20は、スマートデバイス300をインカメラ撮影モードへ移行させることでインカメラ322の作動を続行させ、その後、ステップ450へ移行する。ステップ448の処理が行われることによりスマートデバイス300がインカメラ撮影モードへ移行すると、制御部20は、第1撮影終了条件を満足した場合に、インカメラ322の作動を停止させる。第1撮影終了条件とは、例えば、インカメラ322を起動させてからハードキー54及びタッチパネル68の少なくとも一方が操作されることなく所定時間(例えば30秒)が経過したとの条件を指す。この他にも、第1撮影終了条件として、インカメラ322の作動の停止指示がタッチパネル68を介して入力されたとの条件が例示できる。
また、ステップ448の処理が行われることによってスマートデバイス300がインカメラ撮影モードへ移行すると、表示制御部24は、インカメラ用ファインダ表示を行う。本第2実施形態に係るインカメラ用ファインダ表示とは、例えば、インカメラ322により撮影されて得た複数の撮影画像を動画像として所定のフレームレートでディスプレイ70に表示させることを指す。
ステップ450で、制御部20は、インカメラフラグをオフにし、その後、ステップ452へ移行する。
ステップ452で、制御部20は、インカメラ322の作動を停止させることを指示する作動停止フラグがオンか否かを判定する。なお、作動停止フラグは、後述のステップ478Gでオンにされる(図13参照)。
ステップ452において、作動停止フラグがオンの場合は、判定が肯定されて、ステップ454へ移行する。ステップ452において、作動停止フラグがオンでない場合は、判定が否定されて、図11Aに示すステップ432へ移行する。
ステップ454で、制御部20は、インカメラ322の作動を停止させ、その後、ステップ456へ移行する。
ステップ456で、制御部20は、作動停止フラグをオフにし、その後、図11Aに示すステップ432へ移行する。
次に、第1CPU60が動作モード変更プログラム320を実行することでスマートデバイス300によって行われる動作モード変更処理について、図12を参照して説明する。
先ず、ステップ460で、制御部20は、スマートデバイス300がスリープモードか否かを判定する。ステップ460において、スマートデバイス300がスリープモードの場合は、判定が肯定されて、ステップ462へ移行する。ステップ460において、スマートデバイス300がスリープモードでない場合は、判定が否定されて、ステップ470へ移行する。
ステップ462で、制御部20は、ハードキー54が操作されたか否かを判定する。ステップ462において、ハードキー54が操作された場合は、判定が肯定されて、ステップ464へ移行する。ステップ462において、ハードキー54が操作されていない場合は、判定が否定されて、ステップ474へ移行する。
ステップ464で、制御部20は、スリープモードを解除し、その後、ステップ466へ移行する。
ステップ466で、制御部20は、スマートデバイス300を指示待ちモードへ移行させ、その後、ステップ468へ移行する。
ステップ468で、制御部20は、動作モード変更終了条件を満足したか否かを判定する。ステップ468において、モード変更終了条件を満足していない場合は、判定が否定されて、ステップ460へ移行する。ステップ468において、モード変更終了条件を満足した場合は、判定が肯定されて、動作モード変更処理を終了する。
ステップ470で、制御部20は、インカメラ322及びアウトカメラ56が共に非作動状態か否かを判定する。ステップ470において、インカメラ322及びアウトカメラ56が共に非作動状態の場合は、判定が肯定されて、ステップ472へ移行する。ステップ470において、インカメラ322及びアウトカメラ56が共に非作動状態でない場合(インカメラ322及びアウトカメラ56の少なくとも一方が非作動状態でない場合)は、判定が否定されて、ステップ468へ移行する。
ステップ472で、制御部20は、許可フラグがオンか否かを判定する。ステップ472において、許可フラグがオンの場合は、判定が肯定されて、ステップ478へ移行する。ステップ472において、許可フラグがオンでない場合は、判定が否定されて、ステップ468へ移行する。
ステップ474で、制御部20は、解除指示フラグがオンか否かを判定する。ステップ474において、解除指示フラグがオンの場合は、判定が肯定されて、ステップ476へ移行する。ステップ474において、解除指示フラグがオンでない場合は、判定が否定されて、ステップ468へ移行する。
ステップ476で、制御部20は、スリープモードを解除し、その後、ステップ478へ移行する。
ステップ478で、制御部20は、一例として図13に示す撮影モード移行処理を実行し、その後、ステップ468へ移行する。
図13に示す撮影モード移行処理では、先ず、ステップ478Aで、検出部14は、ステップ424で撮影して得た撮影画像内の顔領域の個数を検出し、その後、ステップ478Bへ移行する。
ステップ478Bで、制御部20は、ステップ478Aで検出された顔領域の個数が2以上か否かを判定する。ステップ478Bにおいて、ステップ478Aで検出された顔領域の個数が2以上の場合は、判定が肯定されて、ステップ478Cへ移行する。ステップ478Bにおいて、ステップ478Aで検出された顔領域の個数が2以上でない場合は、判定が否定されて、ステップ478Dへ移行する。
ステップ478Cで、制御部20は、インカメラフラグをオンにし、その後、撮影モード移行処理を終了する。
ステップ478Dで、検出部14は、ステップ424で撮影して得た撮影画像内の顔領域の面積を算出し、その後、ステップ478Eへ移行する。
ステップ478Eで、制御部20は、ステップ478Dで算出された顔領域の面積が第1閾値未満か否かを判定する。ステップ478Eにおいて、ステップ478Dで算出された顔領域の面積が第1閾値未満の場合は、判定が肯定されて、ステップ478Cへ移行する。ステップ478Eにおいて、ステップ478Dで算出された顔領域の面積が第1閾値未満でない場合は、判定が否定されて、ステップ478Fへ移行する。
ステップ478Fで、制御部20は、ステップ478Dで算出された顔領域の面積が第2閾値以上か否かを判定する。ステップ478Fにおいて、ステップ478Dで算出された顔領域の面積が第2閾値以上の場合は、判定が肯定されて、ステップ478Gへ移行する。ステップ478Fにおいて、ステップ478Dで算出された顔領域の面積が第2閾値以上でない場合は、判定が否定されて、ステップ478Iへ移行する。
ステップ478Iで、検出部14は、モーションセンサ30からモーションセンサ情報を取得し、取得したモーションセンサ情報に基づいて、スマートデバイス300の振動度を検出し、その後、ステップ478Jへ移行する。
ステップ478Jで、制御部20は、ステップ478Iで検出された振動度が第3閾値以上か否かを判定する。ステップ478Jにおいて、ステップ478Iで検出された振動度が第3閾値以上の場合は、判定が肯定されて、ステップ478Cへ移行する。ステップ478Jにおいて、ステップ478Iで検出された振動度が第3閾値以上でない場合は、判定が否定されて、ステップ478Gへ移行する。
ステップ478Gで、制御部20は、作動停止フラグをオンにし、その後、ステップ478Hへ移行する。
ステップ478Hで、制御部20は、スマートデバイス300をアウトカメラ撮影モードへ移行させることでアウトカメラ56を起動させ、その後、撮影モード移行処理を終了する。ステップ478Hの処理が行われることによってスマートデバイス300がアウトカメラ撮影モードへ移行すると、表示制御部24は、アウトカメラ用ファインダ表示を行う。
以上説明したように、スマートデバイス300では、インカメラ322を起動させる処理が第2CPU80によって行われ(ステップ422)、アウトカメラ56を起動させる処理が第1CPU60によって行われる(ステップ478H)。このように、スマートデバイス300は、インカメラ322を起動させる処理とアウトカメラ56を起動させる処理とを分散処理で行うことで、第1CPU60における演算負荷を軽減することができる。
なお、上記第2実施形態では、デバイス本体部300Aがアウトカメラ56を有し、監視部300Bがインカメラ322を有する例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、アウトカメラ56を監視部300Bに設けてもよい。この場合、動作モード変更プログラム320及びアウトカメラ用アプリ69が二次記憶部84に記憶され、第2CPU80によって読み出されて実行されるようにすればよい。
また、上記各実施形態では、制御部20が、顔領域の面積及び個数が所定条件を満足した場合にアウトカメラ56を起動させる例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、制御部20は、顔領域の個数に拘らず、顔領域の面積が所定面積の場合にアウトカメラ56を起動させてもよい。また、制御部20は、顔領域の面積に拘らず、顔領域の個数が所定個数の場合にアウトカメラ56を起動させてもよい。また、制御部20は、顔領域により示される人物の顔が特定表情の顔でない場合にアウトカメラ56を起動させ、顔領域により示される人物の顔が特定表情の顔の場合にアウトカメラ56を起動させずにインカメラ52の作動を続行させてもよい。特定表情の顔とは、例えば、笑顔が挙げられる。また、制御部20は、顔領域により示される人物の顔がインカメラ52に対して正対していない場合にアウトカメラ56を起動させ、人物の顔がインカメラ52に対して正対している場合にアウトカメラ56を起動させずにインカメラ52の作動を続行させてもよい。また、制御部20は、人物の眼を示す眼領域の面積が所定値以上の場合にアウトカメラ56を起動させ、眼領域の面積が所定値未満の場合にアウトカメラ56を起動させずにインカメラ52の作動を続行させてもよい。ここで、眼領域の面積と比較される所定値の一例としては、眼を通常時よりも開いた状態の眼領域の面積として予め定められた値(例えば、ユーザが指定した値)が挙げられる。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。