以下、本開示の実施形態について、図面に基づいて詳細に説明する。なお、以下の実施形態において、同一の部位には同一の符号を付することにより、重複する説明を省略する。
[第1の実施形態]
(各実施形態に適用可能な情報処理システム)
図1は、本開示に適用可能な情報処理システムの例を概略的に示す図である。図1において、複数の端末装置1がインターネットなどのネットワーク2を介してサーバ3に接続される。サーバ3は、ハードディスクドライブやフラッシュメモリを利用した大容量の記憶媒体であるストレージ4が接続される。
各端末装置1は、例えばサーバ3が提供するSNS(Social Networking Service)を利用するためのアプリケーションソフトウェア5(以下、SNSアプリ5)が搭載される。サーバ3が提供するSNSは、例えば、各端末装置1間でネットワーク2を介して、音声メッセージを含むメッセージの送受信が可能なサービスである。端末装置1のユーザは、例えばストレージ4に格納されるSNSアプリ5をサーバ3から受け取って端末装置1に搭載(インストール)し、サーバ3に対してアカウント情報の登録を行うことで、当該SNSアプリ5から、サーバ3が提供するSNSを利用することが可能となる。
また、ストレージ4には、本開示の各実施形態およびその変形例による、後述する機能を実現するためプログラムを格納しておくことができる。例えば、ユーザは、端末装置1を用いてサーバ3にアクセスし、サーバ3を介してストレージ4に格納される当該プログラムを取得して、当該端末装置1に搭載することができる。
端末装置1は、小型軽量に構成され、携帯容易とされた情報処理装置であって、例えば多機能型携帯電話端末(スマートフォン)や、タブレット型コンピュータである。以下では、端末装置1がスマートフォンであるものとして説明を行う。
図2は、各実施形態に適用可能な端末装置1の外観の例を示す図である。図2において、端末装置1は、表示部10と、ホームボタン11と、マイクロフォン12と、スピーカ13と、第1のセンサ14と、第2のセンサ15と、が配置される。表示部10は、例えば表示デバイスと入力デバイスとが一体的に形成されたタッチパネルである。表示デバイスとしては、LCD(Liquid Crystal Display)や有機EL(Electro-Luminescence)が用いられる。入力デバイスは、接触した位置に応じた制御信号を出力する。
ホームボタン11は、例えば、この端末装置1の全体の動作を制御するためのユーザ操作を受け付けるためのボタンである。例えば、表示部10の表示がロック状態とされ、表示部10に対するユーザ操作が制限されている場合、ホームボタン11を操作することで、表示ロック状態を解除することができる。マイクロフォン12は、例えばユーザの声を収音して音声信号に変換する。スピーカ13は、音声信号を音出力に変換する。
第1のセンサ14は、例えば、測距を行うための素子が適用される。本開示では、第1のセンサ14として、レーザ光を照射した照射光とそのレーザ光が測距対象において反射した反射光との差分に基づき測距を行う、ToF(Time of Flight)センサを用いている。例えば、ユーザが、端末装置1を第1のセンサ14が設けられる側を自分の顔に向けて保持し、第1のセンサ14により顔の各部までの距離(デプス)を測定する。端末装置1は、この第1のセンサ14に取得された顔の各部のデプス情報と、予め登録された顔のデプス情報とに基づき、当該ユーザに対する顔認証を行うことが可能である。
第2のセンサ15は、例えば、撮像を行い画像を取得するイメージセンサが適用される。
このような情報処理システムにおいて、各端末装置1のユーザは、各端末装置1においてSNSアプリ5を起動させることで、自分の保持する端末装置1と、他のユーザが保持する端末装置1との間で、音声メッセージを含むメッセージの送受信を実行することができる。
(既存技術による音声メッセージ通信)
第1の実施形態の説明に先立って、上述のSNSにおける、既存技術による通信について概略的に説明する。以下では、2台の端末装置1間で音声メッセージの送受信を行う例を中心に説明を行う。なお、2台の端末装置1をそれぞれ端末装置1(A)、端末装置1(B)とし、端末装置1(A)および端末装置1(B)のユーザをユーザAおよびユーザBとする。
図3は、既存技術による音声メッセージの送信手順を概略的に示す一例のフローチャートである。例えばユーザAは、端末装置1(A)においてSNSアプリ5を起動させる(ステップS1000)。その後、同じく端末装置1(B)においてSNSアプリ5を起動させたユーザBにより、端末装置1(A)に対して例えばテキストデータによるメッセージが送信される。このメッセージは、端末装置1(A)に受信される(ステップS1001)。
図4Aは、メッセージが受信された端末装置1(A)の表示部10の表示の例を示す図である。表示部10の表示は、例えば画面の上から下に向けて時間の経過を示し、受信されたメッセージ20が画面の上端側に表示される。また、図4Aの例では、画面の下端側に、音声メッセージ送信のためのボタン21が表示されている。
ユーザAは、ステップS1001で受信されたメッセージに対して音声によりメッセージを返信する場合、ボタン21を操作(タップ)する。端末装置1(A)は、ボタン21の操作に応じて、表示部10に表示される画面を、音声メッセージ送信のための画面に切り替える。図4Bは、音声メッセージの送信を行うために表示部10に表示される画面の例を示す図である。表示部10の画面に対し、会話ボタン31が配される会話領域30が表示される。
端末装置1(A)は、この会話ボタン31の操作(例えばタップ)を検知すると(ステップS1002)、マイクロフォン12により収音された音の録音を開始する(ステップS1003)。録音は、会話ボタン31に対する操作が継続されている間、継続して行われる。端末装置1(A)は、会話ボタン31に対する操作の解除を検知すると(ステップS1004)、録音を終了させ、録音内容を端末装置1(B)に送信する(ステップS1005)。
このように、既存技術による音声メッセージの送信においては、会話ボタン31を操作し、その操作が継続されている間、送信したい音声が録音される。そのため、音声メッセージの送信を行いたいユーザAは、片手で端末装置1を保持し、もう片方の手で会話ボタン31を操作することになり、例えば片手に荷物を持っている場合など、操作が大変煩わしくなっていた。
なお、上述では、会話ボタン31に対する操作の継続中に録音を行い、当該操作が解除された時点で録音された音声メッセージを送信しているが、これはこの例に限定されず、会話ボタン31に対する操作の継続中に、音声メッセージの送信を行う方法も考えられる。しかしながら、この方法であっても、片手で端末装置1を保持し、もう片方の手で会話ボタン31を操作することには変わりはない。
(第1の実施形態に係る音声メッセージ通信)
次に、第1の実施形態に係る音声メッセージ通信について、概略的に説明を行う。図5は、第1の実施形態に係る音声メッセージの送信手順を概略的に示す一例のフローチャートである。なお、以下において、例えばユーザAは、端末装置1(A)に対して、自身の顔を第1のセンサ14により取得させて、顔認証を行っているものとする。認証された顔の情報は、端末装置1(A)に記憶される。
例えばユーザAは、端末装置1(A)においてSNSアプリ5を起動させる(ステップS1100)。その後、同じく端末装置1(B)においてSNSアプリ5を起動させたユーザBにより、端末装置1(A)に対して例えばテキストデータによるメッセージが送信される。このメッセージは、端末装置1(A)に受信される(ステップS1101)。
ユーザAは、メッセージが受信されると、端末装置1(A)を、第1のセンサ14を自身の顔に向けて、自身に顔に近付ける。端末装置1(A)は、第1のセンサ14による顔の検出結果に基づき、検出された顔が認証済みの顔であるか否かを判定する。検出された顔が認証済みの顔であると判定された場合(ステップS1102)、マイクロフォン12により収音された音の録音を開始する(ステップS1103)。録音は、第1のセンサ14の検出結果に基づき顔が離脱したと判定されるまで、継続して行われる。端末装置1(A)は、第1のセンサの検出結果に基づき顔が端末装置1(A)から所定以上の距離に離れ、顔が端末装置1(A)から離脱したことを検知すると(ステップS1104)、録音を終了させ、録音内容を端末装置1(B)に送信する(ステップS1105)。
このように、第1の実施形態では、端末装置1(A)に対してボタン操作など行うこと無く、端末装置1(A)に顔を近付けるだけで、音声メッセージの送信を行うことが可能である。したがって、ユーザAは、ユーザBからのメッセージ対し、片手のみを用いて容易に音声メッセージによる返信を実行できる。
なお、上述では、顔を端末装置1(A)に近付けている間、録音を行い、顔が端末装置1(A)から所定距離以上に離れた時点で録音された音声メッセージを送信しているが、これはこの例に限定されない。すなわち、顔を端末装置1(A)に近付けている間、音声メッセージの送信を行う方法も考えられる。この場合であっても、片手のみを用いて容易に音声メッセージによる返信を実行可能である点は、変わりはない。
(第1の実施形態のより詳細な説明)
次に、第1の実施形態について、より詳細に説明する。
(第1の実施形態に係る端末装置のより具体的な構成)
先ず、第1の実施形態に係る端末装置1について、より具体的に説明する。図6は、第1の実施形態に適用可能な端末装置1のハードウェア構成を示す一例のブロック図である。図6において、端末装置1は、それぞれバス1020に接続される、CPU(Central Processing Unit)1000と、ROM(Read Only Memory)1001と、RAM(Random Access Memory)1002と、撮像部1003と、測距部1004と、ストレージ1006と、入力デバイス1007と、表示制御部1009と、データI/F(インタフェース)1010と、通信I/F1011と、オーディオI/F1012と、姿勢検知部1013と、を含む。また、端末装置1は、端末装置1のこれら各部に電源を供給する電源ユニット1060を含む。
また、測距部1004に対して光源部1005が接続される。電源ユニット1060は、これら測距部1004に対して光源部1005に対して、それぞれスイッチ1061aおよび1061bを介して電源を供給する。また、電源ユニット1060は、撮像部1003に対してスイッチ1062を介して電源を供給する。スイッチ1061aおよび1061b、ならびに、スイッチ1062は、オン(閉)およびオフ(開)を、例えばCPU1000により制御される。
ストレージ1006は、フラッシュメモリやハードディスクドライブといった不揮発性の記憶媒体である。CPU1000は、ストレージ1006やROM1001に記憶されるプログラムに従い、RAM1002をワークメモリとして用いて、この端末装置1の全体の動作を制御する。
入力デバイス1007は、ユーザ操作に応じた制御信号を出力する。表示制御部1009は、CPU1000から渡される表示制御信号に基づき表示デバイス1008が表示可能な表示信号を生成する。ここで、入力デバイス1007および表示デバイス1008は、一体的に形成され、タッチパネル1030として機能する。
データI/F1010は、端末装置1が外部の機器とデータ通信を行うためのインタフェースであって、例えばUSB(Universal Serial Bus)やBluetooth(登録商標)を適用できる。通信I/F1011は、ネットワーク2に対する通信を行う。オーディオI/F1012は、マイクロフォン12およびスピーカ13が接続される。オーディオI/F1012は、マイクロフォン12が収音した音に基づくアナログ方式による音信号をAD(Analog to Digital)変換してディジタル方式の音データを出力する。また、オーディオI/F1012は、バス1020を介して供給された音データをDA(Digital to Analog)変換してアナログ方式の音信号とし、スピーカ13に供給する。
姿勢検知部1013は、この端末装置1の姿勢を検知する。例えば、姿勢検知部1013は、それぞれx,y,zの3軸にて検知を行うジャイロセンサ(角速度センサ)、加速度センサ、地磁気センサを含む9軸センサを適用することができる。
撮像部1003は、第2のセンサ15に対応し、照射された光に応じた画像信号を出力するイメージセンサと、被写体からの光をイメージセンサの受光面に導く光学系と、イメージセンサから出力された画像信号に対して所定の信号処理および画像処理を施す処理部と、を含む。イメージセンサとしては、CMOS(Complementary Metal Oxide Semiconductor)を用いた固体撮像素子(CIS:CMOS Image Sensor)を適用することができる。
ここで、この固体撮像素子は、画素がアレイ状に配列されたイメージセンサ部と、処理部とを1の半導体チップ上に形成した構成とすることができる。さらに、この固体撮像素子は、イメージセンサ部が形成される層と、処理部が形成される層と、を貼り合わせた2層構造とすることができる。これに限らず、この固体撮像素子は、イメージセンサ部が形成される層および処理部が形成される層に加えて、メモリが形成される層をさらに貼り合わせた3層構造としてもよい。
測距部1004および光源部1005は、第1のセンサ14であるToFセンサを構成する。詳細は後述するが、光源部1005は、例えば赤外光(IR)の光源を含む。測距部1004は、光源部1005から対象に照射された赤外光の反射光を受光する受光素子と、受光素子の出力に基づき各点がデプス情報(光軸方向に沿った距離情報)を持つ点群情報を生成する信号処理部と、を含む。
図7は、第1のセンサ14の構成例をより詳細に示す図である。第1のセンサ14において、光源部1005は、光変調部1050と、VCSEL(Vertical Cavity-Surface Emitting Laser)1051と、投光レンズ1052を含む。また、測距部1004は、受光レンズ1040と、ToFセンサ1041と、記憶部1042と、無影情報生成部1043と、演算処理部1044と、出力部1045とを含む。
光変調部1050は、VCSEL1051から出力される光を、例えば、10MHz程度の高周波で変調させるための変調信号を、VCSEL1051に供給する。また、光変調部1050は、VCSEL1051の光が変調するタイミングを示すタイミング信号を、ToFセンサ1041および無影情報生成部1043に供給する。
VCSEL1051は、光変調部1050から供給される変調信号に従って、例えば、赤外光などのような不可視域の光を高速で変調させながら発光し、その光を、第1のセンサ14により距離の計測が行われる対象となる対象物体に向かって照射する。なお、第1の実施形態では、対象物体に向かって光を照射する光源を、VCSEL1051として説明するが、レーザダイオードなど他の光源を用いてもよい。
投光レンズ1052は、VCSEL1051から照射される光が所望の照射角度となるように、光の配光を調節する狭角のレンズにより構成される。
受光レンズ1040は、第1のセンサ14により距離の計測を行うために受光される受光範囲を視野に収める広角のレンズにより構成される。そして、受光レンズ1040は、受光範囲の画角で集光した光を、ToFセンサ1041のセンサ面に結像させる。
ToFセンサ1041は、VCSEL1051から照射される光の波長域に感度を有する受光素子(画素)により構成され、受光レンズ1040によって結像される光を、センサ面にアレイ状に配置される複数の受光素子により受光する。例えば、ToFセンサ1041は、180個×240個程度の配列で受光素子を備える。ToFセンサ1041は、VCSEL1051の近傍に配置され、VCSEL1051により光が照射される照射範囲を含む受光範囲からの光を受光する。そして、ToFセンサ1041は、それぞれの受光素子が受光した光の光量を計測値としたRAW信号を出力する。
記憶部1042は、ToFセンサ1041から出力されるRAW信号により構築される点群情報を記憶する。例えば、記憶部1042は、受光範囲内で変化があったときの最新の点群情報を記憶したり、受光範囲内に対象物体が存在していない状態の点群情報を背景情報として記憶したりすることができる。
無影情報生成部1043は、光変調部1050から供給されるタイミング信号に従って、ToFセンサ1041から供給されるRAW信号から環境光の影響を排除する。これにより、無影情報生成部1043は、VCSEL1051から照射された光(変調光)に対応する反射光成分のみを計測値とする点群情報(以下、無影情報と称する)を生成して、演算処理部1044に供給する。また、無影情報生成部1043は、記憶部1042に記憶されている背景情報を読み出して、ToFセンサ1041から供給されるRAW信号により構築される点群情報との差分を求めることで、受光範囲における対象物体だけの無影情報を生成することができる。
演算処理部1044は、無影情報生成部1043から無影情報が供給される毎に、無影情報の点毎に対象物体までの距離を求める演算を行い、その演算により求められる距離を示すデプス信号を出力部1045に供給する。また、演算処理部1044は、必要に応じて、記憶部1042に記憶されている最新の点群情報を読み出し、その点群情報を用いて対象物体までの距離を求めてもよい。
出力部1045は、演算処理部1044から供給されるデプス信号に基づいて、被写体までの距離が受光素子の配置に応じて並べられたデプス情報を生成し、そのデプス情報をバス1020に対して出力する。
なお、上述では、光源部1005に用いられる光源素子がVCSELであるとして説明したが、これはこの例に限定されない。例えば、光源部1005に用いられる光源素子として、LED(Light Emitting Diode)を適用することもできる。
図8を参照して、第1のセンサ14において距離を計測する原理について説明する。例えば、VCSEL1051から対象物体に向かって照射光が照射され、その照射光が対象物体で反射した反射光は、対象物体までの距離に応じて照射光が照射されたタイミングから時間φだけ遅れてToFセンサ1041により受光される。このとき、ToFセンサ1041では、VCSEL1051が照射光を照射している間隔で受光を行う受光部Aと、受光部Aの受光が終了したときから同じ間隔で受光を行う受光部Bとにより反射光が受光され、それぞれ電荷が蓄積される。
従って、受光部Aが蓄積した電荷と、受光部Bが蓄積した電荷との比率に基づいて、反射光が受光されるまでの時間φを求めることができ、光の速度に従って、対象物体までの距離を算出することができる。このように、電荷の比率に基づき対象物体までの距離を算出するToF方式を、インダイレクトToFと呼ぶ。
これに対して、照射光と反射光との時間差に基づき対象物体までの距離を算出するToF方式を、ダイレクトToFと呼ぶ。本開示には、これらインダイレクトToFおよびダイレクトToFの何れも適用することができる。
図9は、第1の実施形態に係る第1のセンサ14により出力されたデプス情報の例を示す図である。図9の例では、デプス情報を、各点の間を補間してグラデーションとして表している。図9において、背景部分を除き、より色の濃い(黒い)部分がより近い距離を示し、より色の薄い(白い)部分がより遠い距離を示している。
より具体的には、図9に示される横向きの顔において、側頭部50、耳介の外縁部51aおよび耳飾り部52がより色が濃く、最も近距離にあるのが分かる。また、顎部53は、側頭部50に比べて色が薄く、側頭部50に対してより遠距離にあることが分かる。さらに、後頭部の髪部54は、最も色が薄く、顔の他の領域に対して最も遠距離にあることが分かる。さらにまた、耳介の外縁部51aと内側部51bとで色の濃さが異なり、外縁部51aに比べて内側部51bの方がより遠距離であることが分かる。
このように、第1のセンサ14による測距結果に基づき、対象の凹凸形状を詳細に取得することが可能である。
図10は、第1の実施形態に係る端末装置1の機能を説明するための一例の機能ブロック図である。図10において、端末装置1は、SNSアプリ部100と、検出・制御部110と、全体制御部120と、通信部121と、表示部122と、入力受付部123と、認証部124と、ユーザ情報記憶部125と、を含む。
これらのうち、SNSアプリ部100は、上述したサーバ3により提供されるSNSアプリ5に対応するもので、サーバ3から取得したインストールプログラムを端末装置1にインストールすることで、端末装置1上に形成される。また、検出・制御部110は、第1の実施形態に係る処理を実行するためのもので、サーバ3あるいは他のサーバから取得したインストールプログラムを端末装置1にインストールすることで、端末装置1上に形成される。これに限らず、SNSアプリ部100を形成するためのインストールプログラムに、検出・制御部110を形成するためのインストールプログラムを含めてもよい。
一方、全体制御部120、通信部121、表示部122、入力受付部123および認証部124は、端末装置1に予め搭載される。また、ユーザ情報記憶部125は、例えばストレージ1006の所定領域が用いられる。
全体制御部120は、例えば、端末装置1の全体の動作を制御するOS(Operating System)である。通信部121は、ネットワーク2を介した通信を制御する。表示部122は、表示デバイス1008に表示させるための表示制御信号を生成する。入力受付部123は、入力デバイス1007に対するユーザ操作を受け付ける。
認証部124は、ユーザ情報記憶部125に記憶されたユーザ情報に基づき、端末装置1を使用するユーザの認証を行う。認証部124がユーザ認証に用いるユーザ情報は、ユーザID、パスワード、PIN(Personal Identification Number)コード、後述する第1顔検出部112により検出されたデプス情報に基づく顔情報、後述する第2顔検出部114により検出された撮像画像に基づく顔情報などを含む。
SNSアプリ部100は、UI(User Interface)部101と、通信処理部102と、音処理部103と、を含む。UI部101は、ユーザが端末装置1を走査するためのユーザインタフェースを提供するもので、表示部122により表示デバイス1008に表示される表示画面の構成と、入力受付部123が受け付ける入力デバイス1007に対するユーザ操作を定義する。通信処理部102は、当該SNSによる通信に関する処理を行う。音処理部103は、当該SNSによる音声メッセージの送受信に関する処理を行う。
検出・制御部110は、測距処理部111と、第1顔検出部112と、撮像処理部113と、第2顔検出部114と、動き推測部115と、アプリ制御部116と、を含む。
測距処理部111は、第1のセンサ14、すなわち、測距部1004および光源部1005により測距を行い、デプス情報を取得する。第1顔検出部112は、測距処理部111で取得されたデプス情報に基づき顔を検出する。第1顔検出部112は、時系列に沿って取得された複数のデプス情報を比較することで、顔の動きを検出することもできる。
撮像処理部113は、撮像部1003により撮像を行い、撮像画像を取得する。第2顔検出部114は、撮像処理部113により取得された撮像画像に基づき顔を検出する。第2顔検出部114は、時系列に沿って取得された複数の撮像画像を比較することで、顔の動きを検出することもできる。
動き推測部115は、姿勢検知部1013の出力に基づき、端末装置1の動きを推測する。例えば、ユーザが端末装置1を手で保持して移動させた場合に、動き推測部115による、姿勢検知部1013の出力に基づく動きの推測結果に基づき、移動されたことを検知できる。
アプリ制御部116は、SNSアプリ部100の動作の制御、および、SNSアプリ部100の状態の取得を行う。アプリ制御部116は、例えば、第1顔検出部112および第2顔検出部114による顔検出の結果に基づき、SNSアプリ部100の動作を制御する。
これら端末装置1におけるSNSアプリ部100および検出・制御部110に係る処理を実行するための各プログラムは、インターネットなどのネットワーク2に接続されたコンピュータ(例えばサーバ3)上に格納し、当該ネットワーク2を介してダウンロードさせることにより提供される。また、当該各プログラムをインターネットなどのネットワーク2を経由して提供または配布するように構成してもよい。さらに、当該各プログラムを、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。
当該各プログラムのうち、SNSアプリ部100を構成するためのプログラム(SNSアプリ5)は、UI部101、通信処理部102および音処理部103を含むモジュール構成となっている。また、検出・制御部110を構成するためのプログラム(制御プログラム)は、測距処理部111、第1顔検出部112、撮像処理部113、第2顔検出部114およびアプリ制御部116を含むモジュール構成となっている。実際のハードウェアとしては、CPU1000がROM1001やストレージ1006などの記憶媒体から当該各プログラムを読み出して実行することにより、上述した各部がRAM1002などの主記憶装置上にロードされ、当該各部が主記憶装置上に生成されるようになっている。
なお、検出・制御部110に含まれる各機能において、端末装置1が予め備える機能と共通する機能については、端末装置1の当該機能を適用させることができる。例えば、端末装置1がデプス情報に基づく顔認証を行う機能を予め備える場合、この顔認証に用いる機能を、測距処理部111および第1顔検出部112に適用させることができる。
(第1の実施形態に係る処理の詳細)
次に、第1の実施形態に係る端末装置1における処理について、より詳細に説明する。図11は、第1の実施形態に係る端末装置1における音声メッセージ送信処理を示す一例のフローチャートである。なお、図11のフローチャートによる処理の開始時には、スイッチ1061aおよび1061bがオフ(開)状態とされているものとする。これにより、測距部1004および光源部1005に電源が供給されず、測距部1004および光源部1005の機能が無効とされる。同様に、スイッチ162がオフ状態とされ、撮像部1003に電源が供給されず、撮像部1003の機能が無効とされる。
ステップS100で、アプリ制御部116は、SNSアプリ部100の状態を取得し、SNSアプリ5が起動中であるか否かを判定する。アプリ制御部116は、起動中ではないと判定した場合(ステップS100、「No」)、処理をステップS100に戻し、起動中であると判定した場合(ステップS100、「Yes」)、処理をステップS101に移行する。
ステップS101で、アプリ制御部116は、設定において音声入力自動検出モードがオン(ON)となっているか否かを判定する。これは、例えば全体制御部120により提示される設定画面により設定される項目であって、音声入力自動検出モードがオンの状態で、検出・制御部110による音声入力に対する自動検出機能が有効となる。アプリ制御部116は、設定で音声入力自動検出モードがオンとなっていないと判定した場合(ステップS101、「No」)、処理をステップS120に移行させる。
ステップS120で、アプリ制御部116は、SNSアプリ部100に対して、メッセージを入力するための動作モードを通常の文字入力モードで維持するように指示する。アプリ制御部116は、ステップS120の処理の後、この図11のフローチャートによる一連の処理を終了させる。
ステップS101で、アプリ制御部116は、設定で音声入力自動検出モードがオンとなっていると判定した場合(ステップS101、「Yes」)、処理をステップS102に移行する。ステップS102で、アプリ制御部116は、SNSアプリ部100において、他の端末装置1からSNSアプリ5を用いて送信されたメッセージが受信されたか否かを判定する。この場合、メッセージは、文字入力によるテキストメッセージと、音声入力による音声メッセージとを含む。
アプリ制御部116は、SNSアプリ部100においてメッセージが受信されていないと判定した場合(ステップS102、「No」)、処理をステップS102に戻す。一方、アプリ制御部116は、SNSアプリ部100においてメッセージが受信されていると判定した場合(ステップS102、「Yes」)、処理をステップS103に移行させる。
ステップS103で、アプリ制御部116は、測距部1004と、光源部1005とをオンとする。より具体的には、アプリ制御部116は、例えば全体制御部120に対して、スイッチ1061aおよび1061bをオン(閉)状態に制御するように指示する。スイッチ1061aおよび1061bがオンとなることで、測距部1004および光源部1005に電源ユニット1060から電源が供給され、測距部1004および光源部1005の機能が有効とされる。測距部1004および光源部1005の機能が有効とされると、測距部1004から出力されたデプス情報に基づき、測距処理部111による測距処理が開始される。
次のステップS104で、アプリ制御部116は、当該端末装置1が、ステップS102でメッセージが受信された時点から所定時間が経過するまでの間に移動されたか否かを判定する。アプリ制御部116は、例えば、動き推測部115の出力に基づき、端末装置1の移動を判定することができる。
なお、ここでは、ステップS104において端末装置1が移動されたか否かを判定するように説明するが、これはこの例に限定されない。例えば、ステップS104では、測距処理部111により取得されたデプス情報に基づき顔を検出し、検出された顔が端末装置1に近付いたか否かを判定することもできる。この場合、端末装置1と、測距対象としての顔との相対的な位置関係の変化を求めることになる。
アプリ制御部116は、ステップS104で端末装置1が所定時間内に移動していないと判定した場合(ステップS104、「No」)、処理をステップS112に移行させる。一方、アプリ制御部116は、ステップS104で端末装置1が所定時間内に移動したと判定した場合(ステップS104、「Yes」)、処理をステップS105に移行させる。
ステップS105で、アプリ制御部116は、第1顔検出部112による顔検出結果に基づき、物体(顔)との距離を取得する。次のステップS106で、アプリ制御部116は、ステップS105で取得された距離に基づき、物体(顔)が所定時間を経過する間に所定距離内に近付いたか否かを判定する。
アプリ制御部116は、ステップS106で、物体(顔)が所定時間を経過する間に所定距離内に近付かなかったと判定した場合(ステップS106、「No」)、処理をステップS112に移行させる。すなわち、この場合、ユーザに、音声入力を行い音声メッセージを送信する意志が無いと考えることができる。そのため、以降の音声メッセージ送信に係る処理をキャンセルする。
アプリ制御部116は、ステップS106で、物体(顔)が所定時間が経過する間に所定距離内に近付いたと判定した場合(ステップS106、「Yes」)、処理をステップS107に移行させる。
なお、図11では、ステップS105およびステップS106の処理が1回の処理で完結しているが、実際には、ステップS105およびステップS106は、ステップS106の条件を満たすまで繰り返すループ処理となる。
ステップS107で、アプリ制御部116は、SNSアプリ部100に対して、動作モードを音声入力モードとする(音声入力モードをオンとする)ように指示する。SNSアプリ部100は、この指示を受けて、動作モードを音声入力モードとし、音処理部103においてマイクロフォン12により収音された音に基づく音声入力処理を開始させる。
次のステップS108で、SNSアプリ部100において、通信処理部102により、音処理部103により処理された音声データを、音声メッセージとして、ステップS102で受信したメッセージの送信元に送信する。
次のステップS109で、アプリ制御部116は、第1顔検出部112による顔検出結果に基づき、物体(顔)が端末装置1に対して所定距離から離れたか否かを判定する。アプリ制御部116は、物体(顔)が所定距離から離れていないと判定した場合(ステップS109、「No」)、処理をステップS108に戻す。
一方、アプリ制御部116は、ステップS109で、物体(顔)が所定距離から離れたと判定した場合(ステップS109、「Yes」)、処理をステップS110に移行させる。すなわち、この場合、ユーザが音声メッセージの送信を中断または終了させる意志があると考えることができる。ステップS110で、アプリ制御部116は、SNSアプリ部100に対して、音声入力モードを終了(オフ)させるよう指示する。SNSアプリ部100は、この指示を受けて、音処理部103における音声入力処理と、通信処理部102における音声メッセージの送信処理とを終了させる。
次のステップS111で、アプリ制御部116は、ステップS110で音声入力モードを終了させてから所定時間内に次のメッセージを受信したか否かを判定する。アプリ制御部116は、受信したと判定した場合(ステップS111、「Yes」)、処理をステップS104に戻す。一方、アプリ制御部116は、当該所定時間内に次のメッセージを受信しなかったと判定した場合(ステップS111、「No」)、処理をステップS112に移行させる。
ステップS112で、アプリ制御部116は、測距部1004と、光源部1005とをオフとする。より具体的には、アプリ制御部116は、例えば全体制御部120に対して、スイッチ1061aおよび1061bをオフ(開)状態に制御するように指示する。スイッチ1061aおよび1061bがオフとなることで、測距部1004および光源部1005に対する電源ユニット1060からの電源の供給が停止され、測距部1004および光源部1005の機能が無効とされる。
ステップS112の処理が終了すると、図11のフローチャートによる一連の処理が終了される。
このように、第1の実施形態では、SNSアプリ部100による音声入力モードをオンおよびオフとする処理を、端末装置1と顔との距離に基づき制御している。そのため、ユーザは、音声入力モードをオンあるいはオフとするために、端末装置1のタッチパネル1030をタップするといった操作を行う必要が無く、例えば片手で端末装置1を保持し顔に近付けるという動作のみで、音声メッセージの送信を実行できる。すなわち、ユーザは、端末装置1を保持する以外は無接触で、音声メッセージの送信を実行することが可能である。
また、第1の実施形態では、SNSアプリ部100による音声入力モードのオン/オフを、赤外光を光源として用いたToFセンサ1041の出力に基づき制御している。そのため、夜間など周囲が暗い環境でも音声入力モードのオン/オフ制御が可能である。例えば、CISなどのイメージセンサを用いて当該制御を行う場合、ある程度の明るさの外光が必要となり、暗い環境での使用には適さない。
さらにまた、第1の実施形態では、音声メッセージ送信のための音声入力の際に、顔までの距離を計測している。そのため、マイクロフォン12の感度(マイクロフォン12の出力に対するゲイン)を、顔までの距離に基づき調整することが可能であり、適切な音量による音声メッセージの送信が可能である。
[第1の実施形態の第1の変形例]
次に、第1の実施形態の第1の変形例について説明する。上述した第1の実施形態では、SNSアプリ部100における音声入力モードの制御を、端末装置1に対する顔の距離に基づき行っていた。これに対して、第1の実施形態の第1の変形例では、SNSアプリ部100における音声入力モードの制御を、デプス情報に基づき口の動きを検出することで行う。
なお、第1の実施形態の第1の変形例では、上述の第1の実施形態において図6~図10などを用いて説明した端末装置1の構成をそのまま適用できる。
図12は、第1の実施形態の第1の変形例に係る端末装置1における音声メッセージ送信処理を示す一例のフローチャートである。なお、図12において、上述した図11のフローチャートと共通する処理には同一の符号を付し、適宜、簡略な説明とする。また、図12のフローチャートにおいて、処理の開始時には、スイッチ1061aおよび1061bがオフ状態とされているものとする。同様に、スイッチ162がオフ状態とされ、撮像部1003に電源が供給されず、撮像部1003の機能が無効とされる。
図12のフローチャートにおいて、ステップS100~ステップS107の処理は、上述した図11のフローチャートのステップS100~ステップS107と共通の処理である。すなわち、ステップS100で、アプリ制御部116は、SNSアプリ5が起動中であるか否かを判定し、起動中ではないと判定した場合(ステップS100、「No」)、処理をステップS100に戻し、起動中であると判定した場合(ステップS100、「Yes」)、処理をステップS101に移行する。
ステップS101で、アプリ制御部116は、設定において音声入力自動検出モードがオン(ON)となっているか否かを判定する。アプリ制御部116は、設定で音声入力自動検出モードがオンとなっていないと判定した場合(ステップS101、「No」)、処理をステップS120に移行させる。ステップS120で、アプリ制御部116は、SNSアプリ部100に対して、メッセージを入力するための動作モードを通常の文字入力モードで維持するように指示し、この図12のフローチャートによる一連の処理を終了させる。
ステップS101で、アプリ制御部116は、設定で音声入力自動検出モードがオンとなっていると判定した場合(ステップS101、「Yes」)、処理をステップS102に移行する。ステップS102で、アプリ制御部116は、SNSアプリ部100において、他の端末装置1からSNSアプリ5を用いて送信されたメッセージが受信されたか否かを判定し、メッセージが受信されていないと判定した場合(ステップS102、「No」)、処理をステップS102に戻す。
一方、アプリ制御部116は、SNSアプリ部100においてメッセージが受信されていると判定した場合(ステップS102、「Yes」)、処理をステップS103に移行させ、測距部1004と、光源部1005とをオンとする。
次のステップS104で、アプリ制御部116は、ジャイロなどを用いて当該端末装置1の動きを検出し、当該端末装置1が、ステップS102でメッセージが受信された時点から所定時間が経過するまでの間に移動されたか否かを判定し、移動していないと判定した場合(ステップS104、「No」)、処理をステップS205に移行させる。
一方、アプリ制御部116は、ステップS104で端末装置1が所定時間内に移動したと判定した場合(ステップS104、「Yes」)、処理をステップS105に移行させ、第1顔検出部112による顔検出結果に基づき、物体(顔)との距離を取得する。
次のステップS106で、アプリ制御部116は、ステップS105で取得された距離に基づき、物体(顔)が所定時間が経過する間に所定距離内に近付いたか否かを判定する。図11における説明と同様に、実際には、ステップS105およびステップS106は、ステップS106の条件を満たすまで繰り返すループ処理となる。
アプリ制御部116は、ステップS106で、物体(顔)が所定時間を経過する間に所定距離内に近付かなかったと判定した場合(ステップS106、「No」)、処理をステップS205に移行させ、以降の音声メッセージ送信に係る処理をキャンセルする。
アプリ制御部116は、ステップS106で、物体(顔)が所定時間を経過する間に所定距離内に近付いたと判定した場合(ステップS106、「Yes」)、処理をステップS107に移行させ、SNSアプリ部100に対して、音声入力モードをオンとするように指示する。
次のステップS200で、アプリ制御部116は、第1顔検出部112に対し、デプス情報に基づく顔検出結果を用いた、顔における口の動きの検出を開始するよう指示する。第1顔検出部112は、この指示に応じて、口の動きを、例えば時系列に沿って取得された複数のデプス情報を比較することで検出する。
次のステップS201で、SNSアプリ部100において、通信処理部102により、音処理部103により処理された音声データを、音声メッセージとして、ステップS102で受信したメッセージの送信元に送信する。
次のステップS202で、アプリ制御部116は、ステップS200で開始された、第1顔検出部112による口の動きの検出結果に基づき、所定時間の間、口の動きが止まったか否かを判定する。ステップS202で、アプリ制御部116は、口の動きが所定時間の間止まっていないと判定した場合(ステップS202、「No」)、処理をステップS201に戻す。一方、アプリ制御部116は、所定時間の間、口の動きが止まっていると判定した場合(ステップS202、「Yes」)、処理をステップS203に移行させる。
なお、図12では、ステップS201およびステップS202の処理が1回の処理で完結しているが、実際には、ステップS201およびステップS202の処理は、ステップS202の条件を満たすまで繰り返すループ処理となる。
ステップS203以降の処理は、第1の実施形態による図11のフローチャートにおけるステップS110以降の処理と共通である。すなわち、ステップS203で、アプリ制御部116は、SNSアプリ部100に対して、音声入力モードを終了(オフ)させるよう指示する。SNSアプリ部100は、この指示を受けて、音処理部103における音声入力処理と、通信処理部102における音声メッセージの送信処理とを終了させる。
次のステップS204で、アプリ制御部116は、ステップS203で音声入力モードを終了させてから所定時間内に次のメッセージを受信したか否かを判定し、受信したと判定した場合(ステップS203、「Yes」)、処理をステップS104に戻す。
一方、アプリ制御部116は、当該所定時間内に次のメッセージを受信しなかったと判定した場合(ステップS204、「No」)、処理をステップS205に移行させる。ステップS205で、アプリ制御部116は、測距部1004と、光源部1005とをオフとする。ステップS205の処理が終了すると、図11のフローチャートによる一連の処理が終了される。
このように、第1の実施形態の第1の変形例では、音声入力モードをオフとする制御を、デプス情報に基づく口の動きの検出結果に応じて行っている。そのため、音声メッセージの送信を、より高精度に制御できる。
また、第1の実施形態の第1の変形例では、上述した第1の実施形態と同様に、ユーザは、音声入力モードをオンあるいはオフとするために、端末装置1のタッチパネル1030をタップするといった操作を行う必要が無く、例えば片手で端末装置1を保持し顔に近付けるという動作のみで、音声メッセージの送信を実行できる。
さらに、第1の実施形態の第1の変形例では、上述した第1の実施形態と同様に、SNSアプリ部100による音声入力モードのオン/オフを、赤外光を光源として用いたToFセンサ1041の出力に基づき制御しているため、夜間など周囲が暗い環境でも音声入力モードのオン/オフ制御が可能である。
[第1の実施形態の第2の変形例]
次に、第1の実施形態の第2の変形例について説明する。上述した第1の実施形態の第1の変形例では、SNSアプリ部100における音声入力モードの制御を、デプス情報に基づき口の動きを検出することで行っていた。これに対して、第1の実施形態の第2の変形例では、撮像画像に基づき口の動きを検出することで、SNSアプリ部100における音声入力モードの制御を行う。
なお、第1の実施形態の第1の変形例では、上述の第1の実施形態において図6~図10などを用いて説明した端末装置1の構成をそのまま適用できる。
図13は、第1の実施形態の第2の変形例に係る端末装置1における音声メッセージ送信処理を示す一例のフローチャートである。なお、図13において、上述した図11のフローチャートと共通する処理には同一の符号を付し、適宜、簡略な説明とする。また、図13のフローチャートにおいて、処理の開始時には、スイッチ1061aおよび1061bがオフ状態とされる。同様に、スイッチ162がオフ状態とされ、撮像部1003に電源が供給されず、撮像部1003の機能が無効とされる。
図13のフローチャートにおいて、ステップS100~ステップS107の処理は、上述した図11のフローチャートのステップS100~ステップS107と共通の処理である。すなわち、ステップS100で、アプリ制御部116は、SNSアプリ5が起動中であるか否かを判定し、起動中ではないと判定した場合(ステップS100、「No」)、処理をステップS100に戻し、起動中であると判定した場合(ステップS100、「Yes」)、処理をステップS101に移行する。
ステップS101で、アプリ制御部116は、設定において音声入力自動検出モードがオンとなっているか否かを判定し、音声入力自動検出モードがオンとなっていないと判定した場合(ステップS101、「No」)、処理をステップS120に移行させる。ステップS120で、アプリ制御部116は、SNSアプリ部100に対して、メッセージを入力するための動作モードを通常の文字入力モードで維持するように指示し、この図13のフローチャートによる一連の処理を終了させる。
ステップS101で、アプリ制御部116は、設定で音声入力自動検出モードがオンとなっていると判定した場合(ステップS101、「Yes」)、処理をステップS102に移行する。ステップS102で、アプリ制御部116は、SNSアプリ部100において、他の端末装置1からSNSアプリ5を用いて送信されたメッセージが受信されたか否かを判定し、メッセージが受信されていないと判定した場合(ステップS102、「No」)、処理をステップS102に戻す。
一方、アプリ制御部116は、SNSアプリ部100においてメッセージが受信されていると判定した場合(ステップS102、「Yes」)、処理をステップS103に移行させ、測距部1004と、光源部1005とをオンとする。
次のステップS104で、アプリ制御部116は、動き推測部115の出力に基づき当該端末装置1の動きを検出し、当該端末装置1が、ステップS102でメッセージが受信された時点から所定時間が経過するまでの間に移動されたか否かを判定し、移動していないと判定した場合(ステップS104、「No」)、処理をステップS306に移行させる。
一方、アプリ制御部116は、ステップS104で端末装置1が所定時間内に移動したと判定した場合(ステップS104、「Yes」)、処理をステップS105に移行させ、第1顔検出部112による顔検出結果に基づき、物体(顔)との距離を取得する。
次のステップS106で、アプリ制御部116は、ステップS105で取得された距離に基づき、物体(顔)が所定時間が経過する間に所定距離内に近付いたか否かを判定する。図11における説明と同様に、実際には、ステップS105およびステップS106は、ステップS106の条件を満たすまで繰り返すループ処理となる。
アプリ制御部116は、ステップS106で、物体(顔)が所定時間を経過する間に所定距離内に近付かなかったと判定した場合(ステップS106、「No」)、処理をステップS306に移行させ、以降の音声メッセージ送信に係る処理をキャンセルする。
アプリ制御部116は、ステップS106で、物体(顔)が所定時間を経過する間に所定距離内に近付いたと判定した場合(ステップS106、「Yes」)、処理をステップS107に移行させ、SNSアプリ部100に対して、音声入力モードをオンとするように指示する。
次のステップS300で、アプリ制御部116は、撮像部1003の機能をオンとする。より具体的には、アプリ制御部116は、例えば全体制御部120に対して、撮像部1003に対する電源の供給を開始するように指示する。全体制御部120は、この指示に応じて、スイッチ1062をオン状態とし、電源ユニット1060から撮像部1003への電源の供給を開始する。これにより、撮像部1003の機能がオンとされて撮像が開始され、撮像処理部113による撮像画像の取得が開始される。
次のステップS301で、アプリ制御部116は、第2顔検出部114に対し、撮像画像に基づく顔検出結果を用いた、顔における口の動きの検出を開始するよう指示する。第2顔検出部114は、この指示に応じて、口の動きを、例えば時系列に沿って取得された複数の撮像画像を比較することで検出する。
次のステップS302で、SNSアプリ部100において、通信処理部102により、音処理部103により処理された音声データを、音声メッセージとして、ステップS102で受信したメッセージの送信元に送信する。
次のステップS303で、アプリ制御部116は、ステップS301で開始された、第2顔検出部114による口の動きの検出結果に基づき、所定時間の間、口の動きが止まったか否かを判定する。ステップS303で、アプリ制御部116は、口の動きが所定時間の間止まっていないと判定した場合(ステップS303、「No」)、処理をステップS302に戻す。一方、アプリ制御部116は、所定時間の間、口の動きが止まっていると判定した場合(ステップS303、「Yes」)、処理をステップS304に移行させる。
なお、図13では、ステップS302およびステップS303の処理が1回の処理で完結しているが、実際には、ステップS302およびステップS303の処理は、ステップS303の条件を満たすまで繰り返すループ処理となる。
ステップS304以降の処理は、第1の実施形態による図11のフローチャートにおけるステップS110以降の処理と共通である。すなわち、ステップS304で、アプリ制御部116は、SNSアプリ部100に対して、音声入力モードを終了(オフ)させるよう指示する。SNSアプリ部100は、この指示を受けて、音処理部103における音声入力処理と、通信処理部102における音声メッセージの送信処理とを終了させる。
次のステップS304で、アプリ制御部116は、ステップS304で音声入力モードを終了させてから所定時間内に次のメッセージを受信したか否かを判定し、受信したと判定した場合(ステップS304、「Yes」)、処理をステップS104に戻す。
一方、アプリ制御部116は、当該所定時間内に次のメッセージを受信しなかったと判定した場合(ステップS305、「No」)、処理をステップS306に移行させる。ステップS306で、アプリ制御部116は、撮像部1003、測距部1004および光源部1005をオフとする。より具体的には、アプリ制御部116は、例えば全体制御部120に対して、撮像部1003、測距部1004および光源部1005に対する電源の供給を停止するように指示する。全体制御部120は、この指示に応じて、スイッチ1061a、1061bおよび1062をオフ状態とし、電源ユニット1060から撮像部1003、測距部1004および光源部1005への電源の供給を停止する。
ステップS306の処理が終了すると、図13のフローチャートによる一連の処理が終了される。
このように、第1の実施形態の第2の変形例では、音声入力モードをオフとする制御を、撮像画像に基づく口の動きの検出結果に応じて行っている。ここで、ToFセンサ1041は、あくまで点群情報に基づくデプス情報を取得するものであるのに対し、撮像部1003が有するイメージセンサは、例えばR(赤)色、G(緑)色およびB(青)色を用いたフルカーラ画像による撮像画像を出力できる。したがって、口の動きをより高精度に検出することが可能になる。これにより、第1の実施形態の第2の変形例では、音声メッセージの送信を、第1の実施形態の第1の変形例と比べてより高精度に制御できる。
また、第1の実施形態の第2の変形例では、上述した第1の実施形態と同様に、ユーザは、音声入力モードをオンあるいはオフとするために、端末装置1のタッチパネル1030をタップするといった操作を行う必要が無く、例えば片手で端末装置1を保持し顔に近付けるという動作のみで、音声メッセージの送信を実行できる。
[第2の実施形態]
次に、第2の実施形態について説明する。第2の実施形態は、OS(全体制御部120)による表示ロック中にSNSアプリ5によりメッセージが受信された際に、デプス情報に基づく顔認証を行い当該表示ロックを解除する例である。
なお、第2の実施形態では、上述の第1の実施形態において図6~図10などを用いて説明した端末装置1の構成をそのまま適用できる。
図14は、第2の実施形態に係る端末装置1における音声メッセージ送信処理を示す一例のフローチャートである。なお、図124フローチャートにおいて、処理の開始時には、スイッチ1061aおよび1061b、ならびに、スイッチ1062がオフ状態とされているものとする。
図14のフローチャートにより処理に先立って、端末装置1は、OS(全体制御部120)により、表示部10の表示がロック状態とされ、例えば入力デバイス1007に対するユーザ操作において、入力受付部123が受け付ける操作が制限される。また、SNSアプリ5は、表示ロック状態において、例えば一部の機能(例えば通信処理部102)が起動され、バックグラウンドで実行される。
ステップS500で、アプリ制御部116は、SNSアプリ部100において、他の端末装置1からSNSアプリ5を用いて送信されたメッセージが受信されたか否かを判定し、メッセージが受信されていないと判定した場合(ステップS500、「No」)、処理をステップS500に戻す。一方、アプリ制御部116は、メッセージが受信されたと判定した場合(ステップS500、「Yes」)、処理をステップS501に移行させる。
このとき、例えばSNS100部におけるUI部101は、表示部10に対して、メッセージが受信されたことを示すバナー画像を表示させる。図15Aは、表示ロック中の表示部10に表示されるバナー画像16の例を示す図である。図15Aの例では、表示部10の上端に、受信したメッセージの概要を含むバナー画像16が表示されている。既存技術では、例えばこのバナー画像16をタップ(手指にて接触)することで、表示ロックを解除するための情報を入力するための表示ロック解除画面が表示部10に表示される。図15Bは、既存技術による、顔認証により表示ロック解除を行う表示ロック解除画面17の例を示す図である。
ステップS501で、アプリ制御部116は、設定において音声入力自動検出モードがオン(ON)となっているか否かを判定する。アプリ制御部116は、設定で音声入力自動検出モードがオンとなっていないと判定した場合(ステップS501、「No」)、処理をステップS520に移行させる。ステップS520で、アプリ制御部116は、SNSアプリ部100に対して、メッセージを入力するための動作モードを通常の文字入力モードで維持するように指示し、この図14のフローチャートによる一連の処理を終了させる。
一方、アプリ制御部116は、設定で音声入力自動検出モードがオンとなっていると判定した場合(ステップS501、「Yes」)、処理をステップS502に移行させる。ステップS502で、アプリ制御部116は、測距部1004と、光源部1005とをオンとする。
次のステップS503で、アプリ制御部116は、認証部124に対して、第1顔検出部112により取得されるデプス情報に基づく顔認証を実行するよう指示する。このとき、アプリ制御部116は、全体制御部120に対して、上述した図15Bに示したような表示ロック解除画面17を表示するように指示し、顔認証の実行をユーザに促すようにすると好ましい。
次のステップS504で、アプリ制御部116は、認証部124による顔に認証が成功したか否かを判定する。アプリ制御部116は、認証が失敗したと判定した場合(ステップS504、「No」)、図14のフローチャートによる一連の処理を終了させる。一方、アプリ制御部116は、認証が成功したと判定した場合(ステップS504、「Yes」)、処理をステップS505に移行させる。ステップS505で、アプリ制御部116は、全体制御部120に対して、表示ロックを解除するよう指示する。次のステップS506で、アプリ制御部116は、SNSアプリ5の本体(UI部101、通信処理部102および音処理部103を含む、SNSアプリ部100の全体)を起動させる。
次のステップS507以降の処理は、上述した第1の実施形態による図11のステップS104以降の処理と共通である。すなわち、ステップS507で、アプリ制御部116は、動き推測部115の出力に基づき当該端末装置1の動きを検出し、当該端末装置1が、ステップS102でメッセージが受信された時点から所定時間が経過するまでの間に移動されたか否かを判定し、移動していないと判定した場合(ステップS507、「No」)、処理をステップS515に移行させる。
一方、アプリ制御部116は、ステップS507で端末装置1が所定時間内に移動したと判定した場合(ステップS507、「Yes」)、処理をステップS508に移行させ、第1顔検出部112による顔検出結果に基づき、物体(顔)との距離を取得する。
次のステップS509で、アプリ制御部116は、ステップS508で取得された距離に基づき、物体(顔)が所定時間が経過する間に所定距離内に近付いたか否かを判定する。なお、図14では、ステップS508およびステップS509の処理が1回の処理で完結しているが、実際には、ステップS508およびステップS509は、ステップS509の条件を満たすまで繰り返すループ処理となる。
アプリ制御部116は、ステップS509で、物体(顔)が所定時間を経過する間に所定距離内に近付かなかったと判定した場合(ステップS509、「No」)、処理をステップS515に移行させ、以降の音声メッセージ送信に係る処理をキャンセルする。
アプリ制御部116は、ステップS509で、物体(顔)が所定時間が経過する間に所定距離内に近付いたと判定した場合(ステップS509、「Yes」)、処理をステップS510に移行させ、SNSアプリ部100に対して、音声入力モードをオンとするように指示する。次のステップS511で、SNSアプリ部100において、通信処理部102により、音処理部103により処理された音声データを、音声メッセージとして、ステップS500で受信したメッセージの送信元に送信する。
次のステップS512で、アプリ制御部116は、第1顔検出部112による顔検出結果に基づき、物体(顔)が端末装置1に対して所定距離から離れたか否かを判定する。アプリ制御部116は、物体(顔)が所定距離から離れていないと判定した場合(ステップS512、「No」)、処理をステップS511に戻す。一方、アプリ制御部116は、ステップS512で、物体(顔)が所定距離から離れたと判定した場合(ステップS512、「Yes」)、処理をステップS513に移行させる。
なお、図14では、ステップS511およびステップS512の処理が1回の処理で完結しているが、実際には、ステップS511およびステップS512の処理は、ステップS512の条件を満たすまで繰り返すループ処理となる。
ステップS513で、アプリ制御部116は、SNSアプリ部100に対して、音声入力モードを終了(オフ)させるよう指示する。SNSアプリ部100は、この指示を受けて、音処理部103における音声入力処理と、通信処理部102における音声メッセージの送信処理とを終了させる。
次のステップS514で、アプリ制御部116は、ステップS513で音声入力モードを終了させてから所定時間内に次のメッセージを受信したか否かを判定し、受信したと判定した場合(ステップS513、「Yes」)、処理をステップS507に戻す。
一方、アプリ制御部116は、当該所定時間内に次のメッセージを受信しなかったと判定した場合(ステップS514、「No」)、処理をステップS515に移行させる。ステップS515で、アプリ制御部116は、測距部1004と、光源部1005とをオフとする。ステップS515の処理が終了すると、図14のフローチャートによる一連の処理が終了される。
このように、第2の実施形態では、表示ロックの状態においてバックグラウンドで動作するSNSアプリ5によりメッセージを受信した場合に、デプス情報を用いた顔認証により表示ロックを解除して、SNSアプリ5の本体を起動させる。したがって、ユーザは、表示ロック状態においてSNSアプリ5によりメッセージが受信された場合であっても、端末装置1のタッチパネル1030をタップするといった操作無しに、例えば片手で端末装置1を保持し顔認証を行うという動作のみで、表示ロックを解除してSNSアプリ5による音声メッセージの送信を行うことが可能である。
このとき、顔認証を、赤外光を光源として用いたToFセンサ1041の出力に基づき行っている。そのため、夜間など周囲が暗い環境でも、表示ロック状態におけるSNSアプリ5によるメッセージ受信の際の表示ロック解除を実行できる。また、SNSアプリ部100による音声入力モードのオン/オフについても、赤外光を光源として用いたToFセンサ1041の出力に基づき制御しているため、夜間など周囲が暗い環境でも音声入力モードのオン/オフ制御が可能である。
また、第2の実施形態では、上述した第1の実施形態と同様に、SNSアプリ部100による音声入力モードをオンおよびオフとする処理を、端末装置1と顔との距離に基づき制御している。そのため、ユーザは、音声入力モードをオンあるいはオフとするために、端末装置1のタッチパネル1030をタップするといった操作を行う必要が無く、例えば片手で端末装置1を保持し顔に近付けるという動作のみで、音声メッセージの送信を実行できる。
さらにまた、第2の実施形態では、音声メッセージ送信のための音声入力の際に、顔までの距離を計測している。そのため、マイクロフォン12の感度(マイクロフォン12の出力に対するゲイン)を、顔までの距離に基づき調整することが可能であり、適切な音量による音声メッセージの送信が可能である。
[第2の実施形態の第1の変形例]
次に、第2の実施形態の第1の変形例について説明する。第2の実施形態の第1の変形例は、OS(全体制御部120)による表示ロック中にSNSアプリ5によりメッセージが受信された際に、デプス情報に基づく顔認証を行い当該表示ロックを解除する。それと共に、上述した第1の実施形態の第1の変形例と同様に、SNSアプリ部100における音声入力モードの制御を、デプス情報に基づき口の動きを検出することで行うようにした例である。
なお、第2の実施形態の第1の変形例では、上述の第1の実施形態において図6~図10などを用いて説明した端末装置1の構成をそのまま適用できる。
図16は、第2の実施形態の第1の変形例に係る端末装置1における音声メッセージ送信処理を示す一例のフローチャートである。なお、図16において、上述した図14のフローチャートと共通する処理には同一の符号を付して、適宜、簡略な説明とする。また、図16フローチャートにおいて、処理の開始時には、スイッチ1061aおよび1061b、ならびに、スイッチ1062がオフ状態とされているものとする。
図16のフローチャートによる処理に先立って、端末装置1は、OS(全体制御部120)により、表示部10の表示がロック状態とされ、SNSアプリ5は、例えば一部の機能がバックグラウンドで実行される。
ステップS500~ステップS510の処理は、図14のフローチャートのステップS500~ステップS510と共通の処理である。すなわち、ステップS500で、アプリ制御部116は、SNSアプリ部100において、他の端末装置1からSNSアプリ5を用いて送信されたメッセージが受信されたか否かを判定し、メッセージが受信されていないと判定した場合(ステップS500、「No」)、処理をステップS500に戻す。
一方、アプリ制御部116は、メッセージが受信されたと判定した場合(ステップS500、「Yes」)、処理をステップS501に移行させる。このとき、例えばSNS100部におけるUI部101は、表示部10に対して、図15Aに例示したような、メッセージが受信されたことを示すバナー画像16を表示させる。
ステップS501で、アプリ制御部116は、設定において音声入力自動検出モードがオン(ON)となっているか否かを判定する。判定の結果、音声入力自動検出モードがオンとなっていないと判定した場合(ステップS501、「No」)、処理をステップS520に移行させ、SNSアプリ部100に対して、メッセージを入力するための動作モードを通常の文字入力モードで維持するように指示し、この図16のフローチャートによる一連の処理を終了させる。
一方、アプリ制御部116は、設定で音声入力自動検出モードがオンとなっていると判定した場合(ステップS501、「Yes」)、処理をステップS502に移行させ、測距部1004と、光源部1005とをオンとする。
次のステップS503で、アプリ制御部116は、認証部124に対して、第1顔検出部112により取得されるデプス情報に基づく顔認証を実行するよう指示する。このとき、アプリ制御部116は、全体制御部120に対して、上述した図15Bに示したような表示ロック解除画面17を表示するように指示し、顔認証の実行をユーザに促すようにすると好ましい。
次のステップS504で、アプリ制御部116は、認証部124による顔に認証が成功したか否かを判定し、認証が失敗したと判定した場合(ステップS504、「No」)、図16のフローチャートによる一連の処理を終了させる。一方、アプリ制御部116は、認証が成功したと判定した場合(ステップS504、「Yes」)、処理をステップS505に移行させ、全体制御部120に対して、表示ロックを解除するよう指示する。次のステップS506で、アプリ制御部116は、SNSアプリ5の本体を起動させる。
次のステップS507以降の処理は、上述した第1の実施形態の第1の変形例による図12のステップS104以降の処理と共通である。すなわち、ステップS507で、アプリ制御部116は、動き推測部115の出力に基づき当該端末装置1の動きを検出し、当該端末装置1が、ステップS500でメッセージが受信された時点から所定時間が経過するまでの間に移動されたか否かを判定し、移動していないと判定した場合(ステップS507、「No」)、処理をステップS535に移行させる。
一方、アプリ制御部116は、ステップS507で端末装置1が所定時間内に移動したと判定した場合(ステップS507、「Yes」)、処理をステップS508に移行させ、第1顔検出部112による顔検出結果に基づき、物体(顔)との距離を取得する。
次のステップS509で、アプリ制御部116は、ステップS508で取得された距離に基づき、物体(顔)が所定時間が経過する間に所定距離内に近付いたか否かを判定する。図11における説明と同様に、実際には、ステップS508およびステップS509は、ステップS509の条件を満たすまで繰り返すループ処理となる。
アプリ制御部116は、ステップS509で、物体(顔)が所定時間を経過する間に所定距離内に近付かなかったと判定した場合(ステップS509、「No」)、処理をステップS535に移行させ、以降の音声メッセージ送信に係る処理をキャンセルする。
アプリ制御部116は、ステップS509で、物体(顔)が所定時間を経過する間に所定距離内に近付いたと判定した場合(ステップS509、「Yes」)、処理をステップS510に移行させ、SNSアプリ部100に対して、音声入力モードをオンとするように指示する。
次のステップS530で、アプリ制御部116は、第1顔検出部112に対し、デプス情報に基づく顔検出結果を用いた、顔における口の動きの検出を開始するよう指示する。第1顔検出部112は、この指示に応じて、口の動きを、例えば時系列に沿って取得された複数のデプス情報を比較することで検出する。
次のステップS531で、SNSアプリ部100において、通信処理部102により、音処理部103により処理された音声データを、音声メッセージとして、ステップS500で受信したメッセージの送信元に送信する。
次のステップS532で、アプリ制御部116は、ステップS530で開始された、第1顔検出部112による口の動きの検出結果に基づき、所定時間の間、口の動きが止まったか否かを判定する。ステップS532で、アプリ制御部116は、口の動きが所定時間の間止まっていないと判定した場合(ステップS532、「No」)、処理をステップS531に戻す。一方、アプリ制御部116は、所定時間の間、口の動きが止まっていると判定した場合(ステップS532、「Yes」)、処理をステップS533に移行させる。
なお、図16では、ステップS531およびステップS532の処理が1回の処理で完結しているが、実際には、ステップS531およびステップS532の処理は、ステップS202の条件を満たすまで繰り返すループ処理となる。
ステップS533以降の処理は、第1の実施形態による図11のフローチャートにおけるステップS110以降の処理と共通である。すなわち、ステップS533で、アプリ制御部116は、SNSアプリ部100に対して、音声入力モードを終了(オフ)させるよう指示する。SNSアプリ部100は、この指示を受けて、音処理部103における音声入力処理と、通信処理部102における音声メッセージの送信処理とを終了させる。
次のステップS534で、アプリ制御部116は、ステップS533で音声入力モードを終了させてから所定時間内に次のメッセージを受信したか否かを判定し、受信したと判定した場合(ステップS533、「Yes」)、処理をステップS507に戻す。
一方、アプリ制御部116は、当該所定時間内に次のメッセージを受信しなかったと判定した場合(ステップS534、「No」)、処理をステップS535に移行させる。ステップS535で、アプリ制御部116は、測距部1004と、光源部1005とをオフとする。ステップS535の処理が終了すると、図16のフローチャートによる一連の処理が終了される。
このように、第2の実施形態の第1の変形例では、上述した第2の実施形態と同様に、表示ロックの状態においてバックグラウンドで動作するSNSアプリ5によりメッセージを受信した場合に、デプス情報を用いた顔認証により表示ロックを解除して、SNSアプリ5の本体を起動させる。したがって、ユーザは、表示ロック状態においてSNSアプリ5によりメッセージが受信された場合であっても、端末装置1のタッチパネル1030をタップするといった操作無しに、例えば片手で端末装置1を保持し顔認証を行うという動作のみで、表示ロックを解除してSNSアプリ5による音声メッセージの送信を行うことが可能である。
また、第2の実施形態の第1の変形例では、音声入力モードをオフとする制御を、デプス情報に基づく口の動きの検出結果に応じて行っている。そのため、音声メッセージの送信を、より高精度に制御できる。
また、第2の実施形態の第1の変形例では、上述した第2の実施形態と同様に、ユーザは、音声入力モードをオンあるいはオフとするために、端末装置1のタッチパネル1030をタップするといった操作を行う必要が無く、例えば片手で端末装置1を保持し顔に近付けるという動作のみで、音声メッセージの送信を実行できる。
さらに、第2の実施形態の第1の変形例では、上述した第2の実施形態と同様に、SNSアプリ部100による音声入力モードのオン/オフを、赤外光を光源として用いたToFセンサ1041の出力に基づき制御しているため、夜間など周囲が暗い環境でも音声入力モードのオン/オフ制御が可能である。
また、第2の実施形態の第1の変形例では、上述した第2の実施形態と同様に、音声メッセージ送信のための音声入力の際に、顔までの距離を計測しているため、マイクロフォン12の感度(マイクロフォン12の出力に対するゲイン)を、顔までの距離に基づき調整することが可能であり、適切な音量による音声メッセージの送信が可能である。
[第2の実施形態の第2の変形例]
次に、第2の実施形態の第2の変形例について説明する。第2の実施形態の第2の変形例は、OS(全体制御部120)による表示ロック中にSNSアプリ5によりメッセージが受信された際に、デプス情報に基づく顔認証を行い当該表示ロックを解除する。それと共に、上述した第1の実施形態の第2の変形例と同様に、SNSアプリ部100における音声入力モードの制御を、撮像画像に基づき口の動きを検出することで行うようにした例である。
なお、第2の実施形態の第2の変形例では、上述の第1の実施形態において図6~図10などを用いて説明した端末装置1の構成をそのまま適用できる。
図17は、第2の実施形態の第2の変形例に係る端末装置1における音声メッセージ送信処理を示す一例のフローチャートである。なお、図17において、上述した図14のフローチャートと共通する処理には同一の符号を付して、適宜、簡略な説明とする。また、図17フローチャートにおいて、処理の開始時には、スイッチ1061aおよび1061b、ならびに、スイッチ1062がオフ状態とされているものとする。
図17のフローチャートによる処理に先立って、端末装置1は、OS(全体制御部120)により、表示部10の表示がロック状態とされ、SNSアプリ5は、例えば一部の機能がバックグラウンドで実行される。
ステップS500~ステップS510の処理は、図14のフローチャートのステップS500~ステップS510と共通の処理である。すなわち、ステップS500で、アプリ制御部116は、SNSアプリ部100において、他の端末装置1からSNSアプリ5を用いて送信されたメッセージが受信されたか否かを判定し、メッセージが受信されていないと判定した場合(ステップS500、「No」)、処理をステップS500に戻す。
一方、アプリ制御部116は、メッセージが受信されたと判定した場合(ステップS500、「Yes」)、処理をステップS501に移行させる。このとき、例えばSNS100部におけるUI部101は、表示部10に対して、図15Aに例示したような、メッセージが受信されたことを示すバナー画像16を表示させる。
ステップS501で、アプリ制御部116は、設定において音声入力自動検出モードがオン(ON)となっているか否かを判定する。判定の結果、音声入力自動検出モードがオンとなっていないと判定した場合(ステップS501、「No」)、処理をステップS520に移行させ、SNSアプリ部100に対して、メッセージを入力するための動作モードを通常の文字入力モードで維持するように指示し、この図16のフローチャートによる一連の処理を終了させる。
一方、アプリ制御部116は、設定で音声入力自動検出モードがオンとなっていると判定した場合(ステップS501、「Yes」)、処理をステップS502に移行させ、測距部1004と、光源部1005とをオンとする。
次のステップS503で、アプリ制御部116は、認証部124に対して、第1顔検出部112により取得されるデプス情報に基づく顔認証を実行するよう指示する。このとき、アプリ制御部116は、全体制御部120に対して、上述した図15Bに示したような表示ロック解除画面17を表示するように指示し、顔認証の実行をユーザに促すようにすると好ましい。
次のステップS504で、アプリ制御部116は、認証部124による顔に認証が成功したか否かを判定し、認証が失敗したと判定した場合(ステップS504、「No」)、図17のフローチャートによる一連の処理を終了させる。一方、アプリ制御部116は、認証が成功したと判定した場合(ステップS504、「Yes」)、処理をステップS505に移行させ、全体制御部120に対して、表示ロックを解除するよう指示する。次のステップS506で、アプリ制御部116は、SNSアプリ5の本体を起動させる。
次のステップS507以降の処理は、上述した第1の実施形態の第2の変形例による図13のステップS104以降の処理と共通である。すなわち、ステップS507で、アプリ制御部116は、動き推測部115の出力に基づき当該端末装置1の動きを検出し、当該端末装置1が、ステップS500でメッセージが受信された時点から所定時間が経過するまでの間に移動されたか否かを判定し、移動していないと判定した場合(ステップS507、「No」)、処理をステップS546に移行させる。
一方、アプリ制御部116は、ステップS507で端末装置1が所定時間内に移動したと判定した場合(ステップS507、「Yes」)、処理をステップS508に移行させ、第1顔検出部112による顔検出結果に基づき、物体(顔)との距離を取得する。
次のステップS509で、アプリ制御部116は、ステップS508で取得された距離に基づき、物体(顔)が所定時間が経過する間に所定距離内に近付いたか否かを判定する。図13における説明と同様に、実際には、ステップS508およびステップS509は、ステップS509の条件を満たすまで繰り返すループ処理となる。
アプリ制御部116は、ステップS509で、物体(顔)が所定時間を経過する間に所定距離内に近付かなかったと判定した場合(ステップS509、「No」)、処理をステップS546に移行させ、以降の音声メッセージ送信に係る処理をキャンセルする。
アプリ制御部116は、ステップS509で、物体(顔)が所定時間を経過する間に所定距離内に近付いたと判定した場合(ステップS509、「Yes」)、処理をステップS510に移行させ、SNSアプリ部100に対して、音声入力モードをオンとするように指示する。
次のステップS540以降の処理は、第1の実施形態の第2の変形例による図13のフローチャートにおけるステップS300以降の処理と共通である。すなわち、ステップS540で、アプリ制御部116は、撮像部1003の機能をオンとし、撮像処理部113による撮像画像の取得を開始させる。次のステップS541で、アプリ制御部116は、第2顔検出部114に対し、撮像画像に基づく顔検出結果を用いた、顔における口の動きの検出を開始するよう指示する。
次のステップS542で、SNSアプリ部100において、通信処理部102により、音処理部103により処理された音声データを、音声メッセージとして、ステップS102で受信したメッセージの送信元に送信する。
次のステップS543で、アプリ制御部116は、ステップS541で開始された、第2顔検出部114による口の動きの検出結果に基づき、所定時間の間、口の動きが止まったか否かを判定する。ステップS543で、アプリ制御部116は、口の動きが所定時間の間止まっていないと判定した場合(ステップS543、「No」)、処理をステップS542に戻す。一方、アプリ制御部116は、所定時間の間、口の動きが止まっていると判定した場合(ステップS543、「Yes」)、処理をステップS544に移行させる。
なお、上述した図13の説明と同様に、実際には、ステップS542およびステップS543の処理は、ステップS543の条件を満たすまで繰り返すループ処理となる。
ステップS544で、アプリ制御部116は、SNSアプリ部100に対して、音声入力モードを終了(オフ)させるよう指示する。SNSアプリ部100は、この指示を受けて、音処理部103における音声入力処理と、通信処理部102における音声メッセージの送信処理とを終了させる。
次のステップS544で、アプリ制御部116は、ステップS544で音声入力モードを終了させてから所定時間内に次のメッセージを受信したか否かを判定し、受信したと判定した場合(ステップS544、「Yes」)、処理をステップS507に戻す。
一方、アプリ制御部116は、当該所定時間内に次のメッセージを受信しなかったと判定した場合(ステップS545、「No」)、処理をステップS546に移行させる。ステップS546で、アプリ制御部116は、撮像部1003、測距部1004および光源部1005をオフとする。ステップS546の処理が終了すると、図17のフローチャートによる一連の処理が終了される。
このように、第2の実施形態の第2の変形例では、上述した第2の実施形態と同様に、表示ロックの状態においてバックグラウンドで動作するSNSアプリ5によりメッセージを受信した場合に、デプス情報を用いた顔認証により表示ロックを解除して、SNSアプリ5の本体を起動させる。したがって、ユーザは、表示ロック状態においてSNSアプリ5によりメッセージが受信された場合であっても、端末装置1のタッチパネル1030をタップするといった操作無しに、例えば片手で端末装置1を保持し顔認証を行うという動作のみで、表示ロックを解除してSNSアプリ5による音声メッセージの送信を行うことが可能である。
また、第2の実施形態の第2の変形例では、音声入力モードをオフとする制御を、撮像画像に基づく口の動きの検出結果に応じて行っている。ここで、ここで、ToFセンサ1041が点群情報に基づくデプス情報を取得するものであるのに対し、撮像部1003が有するイメージセンサは、例えばRGB各色を用いたフルカーラ画像による撮像画像を出力できる。したがって、口の動きをより高精度に検出することが可能になる。これにより、第2の実施形態の第2の変形例では、音声メッセージの送信を、第2の実施形態の第1の変形例と比べてより高精度に制御できる。
さらに、第2の実施形態の第2の変形例では、上述した第2の実施形態と同様に、ユーザは、音声入力モードをオンあるいはオフとするために、端末装置1のタッチパネル1030をタップするといった操作を行う必要が無く、例えば片手で端末装置1を保持し顔に近付けるという動作のみで、音声メッセージの送信を実行できる。
[第3の実施形態]
次に、第3の実施形態について説明する。第3の実施形態は、他の端末装置1aからのSNSアプリ5によるメッセージ受信の通知を、OS(全体制御部120)による表示ロック中にプッシュ通知により受け取る場合の例である。図18は、第3の実施形態に適用可能な、プッシュ通知を実施する場合の情報処理システムの例を概略的に示す図である。図18において、複数の端末装置1aがインターネットなどのネットワーク2を介してSNSシステム3aに接続される。ネットワーク2に対して、さらに、既知のプッシュ通知サービスを提供するプッシュ通知サーバ6が接続される。
(第3の実施形態に適用可能な構成)
端末装置1aは、ハードウェア構成は、図6および図7を用いて説明した構成をそのまま適用できる。端末装置1aは、SNSシステム3aにより提供されるSNSを利用するためのSNSアプリ5と、第3の実施形態に係るドライバプログラム500とが搭載される。ドライバプログラム500は、SNSアプリ5と連携して動作し、端末装置1aにおいてOS(Operating System)と測距部1004とを仲介して、測距部1004を制御する。
SNSシステム3aは、SNSサーバ300と、ストレージ301と、通知サーバ310と、メッセージサーバ311と、を含む。SNSサーバ300は、上述したサーバ3と同等の機能を有し、例えば、各端末装置1a間でネットワーク2を介して、音声メッセージを含むメッセージの送受信が可能なサービスを提供する。ストレージ301は、図1のストレージ4に対応する。
通知サーバ310およびメッセージサーバ311は、プッシュ通知を行うための構成である。各端末装置1aからSNSアプリ5によりSNSシステム3aに対して送信されたメッセージは、メッセージサーバ311に受信される。通知サーバ310は、メッセージサーバ311にメッセージが受信されると、プッシュ通知サーバ6に対して、当該メッセージのプッシュ通知を依頼する。
既知のプッシュ通知について、図18の構成を例にとって概略的に説明する。プッシュ通知は、プッシュ通知サーバ6から、プッシュ通知に対応するアプリケーションプログラムが搭載された機器(端末装置1a)に対して行われる。第3の実施形態では、SNSアプリ5がプッシュ通知に対応するアプリケーションプログラムであるものとする。SNSアプリ5は、ユーザ操作により、当該端末装置1aに搭載されるSNSアプリ5に対するプッシュ通知が許可されると、端末装置1aや当該SNSアプリ5の起動時など所定のタイミングで、プッシュ通知サーバ6にSNSアプリ5自身を識別する識別情報を送信し、通知IDを要求する。
プッシュ通知サーバ6は、要求に応じて、端末装置1aに固有の通知IDを発行し、発行した通知IDを記憶すると共に、通知IDを、SNSアプリの識別情報と共に通知IDの要求元の機器に送信する。通知IDは、プッシュ通知を許可するSNSアプリ5および当該SNSアプリ5が搭載される端末装置1aをプッシュ通知サーバ6が識別するための識別情報である。通知IDは、機器のOS(Operating System)が米国Apple社により提供されるiOS(登録商標)である場合は、デバイストークンである。
SNSアプリ5は、取得した通知IDを当該端末装置1aの記憶部(例えばRAM1002)に記憶する。また、SNSアプリ5は、当該通知IDを、SNSアプリ5の提供元、あるいは、SNSアプリ5にプッシュ通知するためのメッセージを提供するプロバイダであるSNSシステム3aに送信する。SNSシステム3aは、送信された通知IDを通知サーバ310に記憶する。
SNSシステム3aにおいて通知サーバ310は、例えば特定の機器に対してプッシュ通知を行いたい場合、当該機器に対応する通知IDをプッシュ通知サーバ6に送信すると共に、プッシュ通知したいメッセージをメッセージサーバ311から受け取ってプッシュ通知サーバ6に送信し、プッシュ通知をプッシュ通知サーバ6に依頼する。プッシュ通知サーバ6は、依頼に応じて、通知IDにて識別される端末装置1aに対して、通知IDとメッセージとを送信する。
端末装置1aは、これら通知IDおよびメッセージを受信すると、SNSアプリ5が起動中であれば、端末装置1aのOSにより通知IDに対応するSNSアプリ5が検出され、検出されたSNSアプリ5により、所定の方法でメッセージの表示が行われる。また、端末装置1aは、OSにより表示部10の表示がロック状態とされており、SNSアプリ5が起動していない状態であれば、ロック中の表示部10に、メッセージの受信を示すバナー画像16(図15A参照)を、例えばOSにより表示させる。
図19は、第3の実施形態に係る端末装置1aの機能を説明するための一例の機能ブロック図である。端末装置1aにおいて、検出・制御部110’は、図10を用いて説明した検出・制御部110に対して、起動制御部117が追加されている。起動制御部117は、図18を用いて説明したドライバプログラム500に対応するもので、全体制御部120と測距部1004とを仲介して測距部1004の動作を制御する。起動制御部117は、ネットワーク2を介してダウンロードされる、あるいは、CD、FD、DVDといったコンピュータに読み取り可能な記録媒体に記録されるドライバインストールプログラムを端末装置1aにインストールすることで、端末装置1a上に形成される。
なお、第3の実施形態では、端末装置1aのハードウェア構成は、上述の第1の実施形態において図6、図7などを用いて説明した端末装置1の構成をそのまま適用できる。
(第3の実施形態の処理の詳細)
図20は、第3の実施形態に係る端末装置1aにおける音声メッセージ送信処理を示す一例のフローチャートである。
なお、図20のフローチャートにおいて、処理の開始時には、スイッチ1061aおよび1061b、ならびに、スイッチ1062がオフ状態とされているものとする。また、この図20のフローチャートによる処理に先立って、端末装置1aにおいて、OS(全体制御部120)により、表示部10の表示がロック状態とされているものとする。このとき、SNSアプリ5は、バックグラウンドにおいても実行されていないものとする。
ステップS600で、起動制御部117は、全体制御部120に対して、プッシュ通知によるメッセージ受信の通知の有無を問い合わせる。起動制御部117は、この問い合わせの結果、通知が無いと判定した場合(ステップS600、「No」)、起動制御部117は、処理をステップS600に戻す。一方、起動制御部117は、問い合わせの結果、メッセージ受信の通知があったと判定した場合(ステップS600、「Yes」)、処理をステップS601に移行させる。このとき、例えば全体制御部120は、表示部10に対して、メッセージが受信されたことを示すバナー画像16を表示させる(図15A参照)。
ステップS601で、起動制御部117は、全体制御部120に対して、設定において音声入力自動検出モードがオン(ON)となっているか否かを問い合わせる。起動制御部117は、この問い合わせの結果、設定で音声入力自動検出モードがオンとなっていないと判定した場合(ステップS601、「No」)、この図20のフローチャートにおける一連の処理を終了させる。
この場合、全体制御部120の通常の制御に従い、例えば表示部10に表示されるバナー画像16の位置をタップすることで、全体制御部120により表示ロック解除画面が表示部10に表示される。全体制御部120は、所定の表示ロック解除操作に応じてSNSアプリ5を起動する。これにより、SNSアプリ5によるメッセージ送受信が可能になる。
一方、起動制御部117は、問い合わせの結果、設定で音声入力自動検出モードがオンとなっていると判定した場合(ステップS601、「Yes」)、処理をステップS602に移行させる。ステップS602で、起動制御部117は、測距部1004と、光源部1005とをオンとする。
次のステップS603で、起動制御部117は、全体制御部120に対して、認証部124による、第1顔検出部112により取得されるデプス情報に基づく顔認証を実行するよう依頼する。全体制御部120は、この依頼に応じて、デプス情報に基づく顔認証を実行する。このとき、全体制御部120は、上述した図15Bに例示したような表示ロック解除画面17を表示部10に表示させて顔認証の実行をユーザに促すことができる。
次のステップS604で、起動制御部117は、全体制御部120に対して、認証部124による顔に認証が成功したか否かを問い合わせる。起動制御部117は、問い合わせの結果、認証が失敗したと判定した場合(ステップS604、「No」)、図20のフローチャートによる一連の処理を終了させる。一方、起動制御部117は、問い合わせの結果、認証が成功したと判定した場合(ステップS604、「Yes」)、処理をステップS605に移行させる。
ステップS605で、起動制御部117は、全体制御部120に対して、表示ロックを解除するよう依頼する。全体制御部120は、この依頼に応じて、表示ロックを解除する。次のステップS606で、起動制御部117は、SNSアプリ5の本体を起動させる。SNSアプリ5の本体の起動は、全体制御部120が行うこともできる。
次のステップS607以降の処理は、上述した第1の実施形態による図11のステップS104以降の処理と共通である。すなわち、ステップS607で、アプリ制御部116は、動き推測部115の出力に基づき当該端末装置1aの動きを検出し、当該端末装置1aが、例えばステップS600でメッセージが受信された時点から所定時間が経過するまでの間に移動されたか否かを判定し、移動していないと判定した場合(ステップS607、「No」)、処理をステップS615に移行させる。
一方、アプリ制御部116は、ステップS607で端末装置1aが所定時間内に移動したと判定した場合(ステップS607、「Yes」)、処理をステップS608に移行させ、第1顔検出部112による顔検出結果に基づき、物体(顔)との距離を取得する。
次のステップS609で、アプリ制御部116は、ステップS608で取得された距離に基づき、物体(顔)が所定時間が経過する間に所定距離内に近付いたか否かを判定する。なお、図20では、ステップS608およびステップS609の処理が1回の処理で完結しているが、実際には、ステップS608およびステップS609は、ステップS609の条件を満たすまで繰り返すループ処理となる。
アプリ制御部116は、ステップS609で、物体(顔)が所定時間を経過する間に所定距離内に近付かなかったと判定した場合(ステップS609、「No」)、処理をステップS615に移行させ、以降の音声メッセージ送信に係る処理をキャンセルする。
アプリ制御部116は、ステップS609で、物体(顔)が所定時間を経過する間に所定距離内に近付いたと判定した場合(ステップS609、「Yes」)、処理をステップS610に移行させ、SNSアプリ部100に対して、音声入力モードをオンとするように指示する。次のステップS611で、SNSアプリ部100において、通信処理部102により、音処理部103により処理された音声データを、音声メッセージとして、ステップS600で受信したメッセージの送信元に送信する。
次のステップS612で、アプリ制御部116は、第1顔検出部112による顔検出結果に基づき、物体(顔)が端末装置1aに対して所定距離から離れたか否かを判定する。アプリ制御部116は、物体(顔)が所定距離から離れていないと判定した場合(ステップS612、「No」)、処理をステップS611に戻す。一方、アプリ制御部116は、ステップS612で、物体(顔)が所定距離から離れたと判定した場合(ステップS612、「Yes」)、処理をステップS613に移行させる。
なお、図20では、ステップS611およびステップS612の処理が1回の処理で完結しているが、実際には、ステップS611およびステップS612の処理は、ステップS612の条件を満たすまで繰り返すループ処理となる。
ステップS613で、アプリ制御部116は、SNSアプリ部100に対して、音声入力モードを終了(オフ)させるよう指示する。SNSアプリ部100は、この指示を受けて、音処理部103における音声入力処理と、通信処理部102における音声メッセージの送信処理とを終了させる。
次のステップS614で、アプリ制御部116は、ステップS613で音声入力モードを終了させてから所定時間内に次のメッセージを受信したか否かを判定し、受信したと判定した場合(ステップS613、「Yes」)、処理をステップS607に戻す。
一方、アプリ制御部116は、当該所定時間内に次のメッセージを受信しなかったと判定した場合(ステップS614、「No」)、処理をステップS615に移行させる。ステップS615で、起動制御部117は、測距部1004と、光源部1005とをオフとする。ステップS615の処理が終了すると、図20のフローチャートによる一連の処理が終了される。
このように、第3の実施形態では、プッシュ通知に応じて測距部1004および光源部1005がオンとされ、デプス情報に基づく顔認証が行われる。したがって、ユーザは、表示ロック状態において他の端末装置1aからSNSアプリ5を用いて送信されたメッセージが受信された場合であっても、端末装置1aのタッチパネル1030をタップするといった操作無しに、例えば片手で端末装置1aを保持し顔認証を行うという動作のみで、表示ロックを解除してSNSアプリ5による音声メッセージの送信を行うことが可能である。
また、第3の実施形態では、上述した第1の実施形態と同様に、SNSアプリ部100による音声入力モードをオンおよびオフとする処理を、端末装置1aと顔との距離に基づき制御している。そのため、ユーザは、音声入力モードをオンあるいはオフとするために、端末装置1aのタッチパネル1030をタップするといった操作を行う必要が無く、例えば片手で端末装置1aを保持し顔に近付けるという動作のみで、音声メッセージの送信を実行できる。
さらにまた、第3の実施形態では、音声メッセージ送信のための音声入力の際に、顔までの距離を計測している。そのため、マイクロフォン12の感度(マイクロフォン12の出力に対するゲイン)を、顔までの距離に基づき調整することが可能であり、適切な音量による音声メッセージの送信が可能である。
[第3の実施形態の第1の変形例]
次に、第3の実施形態の第1の変形例について説明する。第3の実施形態の第1の変形例は、他の端末装置1aからのSNSアプリ5によるメッセージ受信の通知を、OS(全体制御部120)による表示ロック中にプッシュ通知により受け取る場合の例である。それと共に、上述した第1の実施形態の第1の変形例と同様に、SNSアプリ部100における音声入力モードの制御を、デプス情報に基づき口の動きを検出することで行うようにした例である。
なお、第3の実施形態の第1の変形例において、端末装置1aは、ハードウェア構成は、図6および図7を用いて説明した構成をそのまま適用できる。
図21は、第3の実施形態の第1の変形例に係る端末装置1aにおける音声メッセージ送信処理を示す一例のフローチャートである。
なお、図21において、上述した図20のフローチャートと共通する処理には同一の符号を付して、適宜、簡略な説明とする。また、図21フローチャートにおいて、処理の開始時には、スイッチ1061aおよび1061b、ならびに、スイッチ1062がオフ状態とされているものとする。また、上述した図20のフローチャートと同様に、この図21のフローチャートによる処理に先立って、端末装置1aにおいて、OS(全体制御部120)により、表示部10の表示がロック状態とされているものとする。このとき、SNSアプリ5は、バックグラウンドにおいても実行されていないものとする。
図21において、ステップS600~ステップS606の処理は、上述した図20のフローチャートにおけるステップS600~ステップS606の処理と同様である。すなわち、ステップS600で、起動制御部117は、全体制御部120に対して、プッシュ通知によるメッセージ受信の通知の有無の問い合わせを行い、その結果、通知が無いと判定した場合(ステップS600、「No」)、処理をステップS600に戻す。一方、起動制御部117は、問い合わせの結果、メッセージ受信の通知があったと判定した場合(ステップS600、「Yes」)、処理をステップS601に移行させる。このとき、例えば全体制御部120は、表示部10に対して、メッセージが受信されたことを示すバナー画像16を表示させる(図15A参照)。
ステップS601で、起動制御部117は、全体制御部120に対して、設定において音声入力自動検出モードがオン(ON)となっているか否かの問い合わせを行い、その結果、設定で音声入力自動検出モードがオンとなっていないと判定した場合(ステップS601、「No」)、この図20のフローチャートにおける一連の処理を終了させる。
この場合、全体制御部120の通常の制御に従い、例えば表示部10に表示されるバナー画像16の位置をタップすることで、全体制御部120により表示ロック解除画面が表示部10に表示される。全体制御部120は、所定の表示ロック解除操作に応じてSNSアプリ5を起動する。これにより、SNSアプリ5によるメッセージ送受信が可能になる。
一方、起動制御部117は、問い合わせの結果、設定で音声入力自動検出モードがオンとなっていると判定した場合(ステップS601、「Yes」)、処理をステップS602に移行させる。ステップS602で、起動制御部117は、測距部1004と、光源部1005とをオンとする。
次のステップS603で、起動制御部117は、全体制御部120に対して、認証部124による、第1顔検出部112により取得されるデプス情報に基づく顔認証を実行するよう依頼する。全体制御部120は、この依頼に応じて、デプス情報に基づく顔認証を実行する。
次のステップS604で、起動制御部117は、全体制御部120に対して、認証部124による顔に認証が成功したか否かを問い合わせる。起動制御部117は、問い合わせの結果、認証が失敗したと判定した場合(ステップS604、「No」)、図20のフローチャートによる一連の処理を終了させる。一方、起動制御部117は、問い合わせの結果、認証が成功したと判定した場合(ステップS604、「Yes」)、処理をステップS605に移行させる。
ステップS605で、起動制御部117は、全体制御部120に対して、表示ロックを解除するよう依頼する。全体制御部120は、この依頼に応じて、表示ロックを解除する。次のステップS606で、起動制御部117は、SNSアプリ5の本体を起動させる。SNSアプリ5の本体の起動は、全体制御部120が行うこともできる。
次のステップS607以降の処理は、上述した第1の実施形態の第1の変形例による図12のステップS104以降の処理と共通である。すなわち、ステップS607で、アプリ制御部116は、動き推測部115の出力に基づき当該端末装置1の動きを検出し、当該端末装置1が、ステップS600でメッセージが受信された時点から所定時間が経過するまでの間に移動されたか否かを判定し、移動していないと判定した場合(ステップS607、「No」)、処理をステップS625に移行させる。
一方、アプリ制御部116は、ステップS607で端末装置1が所定時間内に移動したと判定した場合(ステップS607、「Yes」)、処理をステップS608に移行させ、第1顔検出部112による顔検出結果に基づき、物体(顔)との距離を取得する。
次のステップS609で、アプリ制御部116は、ステップS608で取得された距離に基づき、物体(顔)が所定時間が経過する間に所定距離内に近付いたか否かを判定する。図11における説明と同様に、実際には、ステップS608およびステップS609は、ステップS609の条件を満たすまで繰り返すループ処理となる。
アプリ制御部116は、ステップS609で、物体(顔)が所定時間を経過する間に所定距離内に近付かなかったと判定した場合(ステップS609、「No」)、処理をステップS625に移行させ、以降の音声メッセージ送信に係る処理をキャンセルする。
アプリ制御部116は、ステップS609で、物体(顔)が所定時間を経過する間に所定距離内に近付いたと判定した場合(ステップS609、「Yes」)、処理をステップS610に移行させ、SNSアプリ部100に対して、音声入力モードをオンとするように指示する。
次のステップS620で、アプリ制御部116は、第1顔検出部112に対し、デプス情報に基づく顔検出結果を用いた、顔における口の動きの検出を開始するよう指示する。第1顔検出部112は、この指示に応じて、口の動きを、例えば時系列に沿って取得された複数のデプス情報を比較することで検出する。
次のステップS621で、SNSアプリ部100において、通信処理部102により、音処理部103により処理された音声データを、音声メッセージとして、ステップS600で受信したメッセージの送信元に送信する。
次のステップS622で、アプリ制御部116は、ステップS620で開始された、第1顔検出部112による口の動きの検出結果に基づき、所定時間の間、口の動きが止まったか否かを判定する。ステップS622で、アプリ制御部116は、口の動きが所定時間の間止まっていないと判定した場合(ステップS622、「No」)、処理をステップS621に戻す。一方、アプリ制御部116は、所定時間の間、口の動きが止まっていると判定した場合(ステップS622、「Yes」)、処理をステップS623に移行させる。
なお、図21では、ステップS621およびステップS622の処理が1回の処理で完結しているが、実際には、ステップS621およびステップS622の処理は、ステップS202の条件を満たすまで繰り返すループ処理となる。
ステップS623以降の処理は、第1の実施形態による図11のフローチャートにおけるステップS110以降の処理と共通である。すなわち、ステップS623で、アプリ制御部116は、SNSアプリ部100に対して、音声入力モードを終了(オフ)させるよう指示する。SNSアプリ部100は、この指示を受けて、音処理部103における音声入力処理と、通信処理部102における音声メッセージの送信処理とを終了させる。
次のステップS624で、アプリ制御部116は、ステップS623で音声入力モードを終了させてから所定時間内に次のメッセージを受信したか否かを判定し、受信したと判定した場合(ステップS623、「Yes」)、処理をステップS607に戻す。
一方、アプリ制御部116は、当該所定時間内に次のメッセージを受信しなかったと判定した場合(ステップS624、「No」)、処理をステップS625に移行させる。ステップS625で、起動制御部117は、測距部1004と、光源部1005とをオフとする。ステップS625の処理が終了すると、図21のフローチャートによる一連の処理が終了される。
このように、第3の実施形態の第1の変形例では、プッシュ通知に応じて測距部1004および光源部1005がオンとされ、デプス情報に基づく顔認証が行われる。したがって、ユーザは、表示ロック状態において他の端末装置1aからSNSアプリ5を用いて送信されたメッセージが受信された場合であっても、端末装置1aのタッチパネル1030をタップするといった操作無しに、例えば片手で端末装置1aを保持し顔認証を行うという動作のみで、表示ロックを解除してSNSアプリ5による音声メッセージの送信を行うことが可能である。
また、第3の実施形態の第1の変形例では、音声入力モードをオフとする制御を、デプス情報に基づく口の動きの検出結果に応じて行っている。そのため、音声メッセージの送信を、より高精度に制御できる。
また、第3の実施形態の第1の変形例では、上述した第2の実施形態と同様に、ユーザは、音声入力モードをオンあるいはオフとするために、端末装置1のタッチパネル1030をタップするといった操作を行う必要が無く、例えば片手で端末装置1を保持し顔に近付けるという動作のみで、音声メッセージの送信を実行できる。
さらに、第3の実施形態の第1の変形例では、上述した第2の実施形態と同様に、SNSアプリ部100による音声入力モードのオン/オフを、赤外光を光源として用いたToFセンサ1041の出力に基づき制御しているため、夜間など周囲が暗い環境でも音声入力モードのオン/オフ制御が可能である。
また、第3の実施形態の第1の変形例では、上述した第2の実施形態と同様に、音声メッセージ送信のための音声入力の際に、顔までの距離を計測しているため、マイクロフォン12の感度(マイクロフォン12の出力に対するゲイン)を、顔までの距離に基づき調整することが可能であり、適切な音量による音声メッセージの送信が可能である。
[第3の実施形態の第2の変形例]
次に、第3の実施形態の第2の変形例について説明する。第3の実施形態の第2の変形例は、他の端末装置1aからのSNSアプリ5によるメッセージ受信の通知を、OS(全体制御部120)による表示ロック中にプッシュ通知により受け取る場合の例である。それと共に、上述した第1の実施形態の第2の変形例と同様に、SNSアプリ部100における音声入力モードの制御を、撮像画像に基づき口の動きを検出することで行うようにした例である。
なお、第3の実施形態の第2の変形例において、端末装置1aは、ハードウェア構成は、図6および図7を用いて説明した構成をそのまま適用できる。
図22は、第3の実施形態の第2の変形例に係る端末装置1aにおける音声メッセージ送信処理を示す一例のフローチャートである。
なお、図22において、上述した図20のフローチャートと共通する処理には同一の符号を付して、適宜、簡略な説明とする。また、図22フローチャートにおいて、処理の開始時には、スイッチ1061aおよび1061b、ならびに、スイッチ1062がオフ状態とされているものとする。また、上述した図20のフローチャートと同様に、この図21のフローチャートによる処理に先立って、端末装置1aにおいて、OS(全体制御部120)により、表示部10の表示がロック状態とされているものとする。このとき、SNSアプリ5は、バックグラウンドにおいても実行されていないものとする。
図21において、ステップS600~ステップS606の処理は、上述した図20のフローチャートにおけるステップS600~ステップS606の処理と同様である。すなわち、ステップS600で、起動制御部117は、全体制御部120に対して、プッシュ通知によるメッセージ受信の通知の有無の問い合わせを行い、その結果、通知が無いと判定した場合(ステップS600、「No」)、処理をステップS600に戻す。一方、起動制御部117は、問い合わせの結果、メッセージ受信の通知があったと判定した場合(ステップS600、「Yes」)、処理をステップS601に移行させる。このとき、例えば全体制御部120は、表示部10に対して、メッセージが受信されたことを示すバナー画像16を表示させる(図15A参照)。
ステップS601で、起動制御部117は、全体制御部120に対して、設定において音声入力自動検出モードがオン(ON)となっているか否かの問い合わせを行い、その結果、設定で音声入力自動検出モードがオンとなっていないと判定した場合(ステップS601、「No」)、この図22のフローチャートにおける一連の処理を終了させる。
この場合、全体制御部120の通常の制御に従い、例えば表示部10に表示されるバナー画像16の位置をタップすることで、全体制御部120により表示ロック解除画面が表示部10に表示される。全体制御部120は、所定の表示ロック解除操作に応じてSNSアプリ5を起動する。これにより、SNSアプリ5によるメッセージ送受信が可能になる。
一方、起動制御部117は、問い合わせの結果、設定で音声入力自動検出モードがオンとなっていると判定した場合(ステップS601、「Yes」)、処理をステップS602に移行させる。ステップS602で、起動制御部117は、測距部1004と、光源部1005とをオンとする。
次のステップS603で、起動制御部117は、全体制御部120に対して、認証部124による、第1顔検出部112により取得されるデプス情報に基づく顔認証を実行するよう依頼する。全体制御部120は、この依頼に応じて、デプス情報に基づく顔認証を実行する。
次のステップS604で、起動制御部117は、全体制御部120に対して、認証部124による顔に認証が成功したか否かを問い合わせる。起動制御部117は、問い合わせの結果、認証が失敗したと判定した場合(ステップS604、「No」)、図22のフローチャートによる一連の処理を終了させる。一方、起動制御部117は、問い合わせの結果、認証が成功したと判定した場合(ステップS604、「Yes」)、処理をステップS605に移行させる。
ステップS605で、起動制御部117は、全体制御部120に対して、表示ロックを解除するよう依頼する。全体制御部120は、この依頼に応じて、表示ロックを解除する。次のステップS606で、起動制御部117は、SNSアプリ5の本体を起動させる。SNSアプリ5の本体の起動は、全体制御部120が行うこともできる。
次のステップS607以降の処理は、上述した第1の実施形態の第2の変形例による図13のステップS104以降の処理と共通である。すなわち、ステップS607で、アプリ制御部116は、動き推測部115の出力に基づき当該端末装置1aの動きを検出し、当該端末装置1aが、ステップS600でメッセージが受信された時点から所定時間が経過するまでの間に移動されたか否かを判定し、移動していないと判定した場合(ステップS607、「No」)、処理をステップS636に移行させる。
一方、アプリ制御部116は、ステップS607で端末装置1aが所定時間内に移動したと判定した場合(ステップS607、「Yes」)、処理をステップS608に移行させ、第1顔検出部112による顔検出結果に基づき、物体(顔)との距離を取得する。
次のステップS609で、アプリ制御部116は、ステップS608で取得された距離に基づき、物体(顔)が所定時間が経過する間に所定距離内に近付いたか否かを判定する。図13における説明と同様に、実際には、ステップS608およびステップS609は、ステップS609の条件を満たすまで繰り返すループ処理となる。
アプリ制御部116は、ステップS609で、物体(顔)が所定時間を経過する間に所定距離内に近付かなかったと判定した場合(ステップS609、「No」)、処理をステップS636に移行させ、以降の音声メッセージ送信に係る処理をキャンセルする。
アプリ制御部116は、ステップS609で、物体(顔)が所定時間を経過する間に所定距離内に近付いたと判定した場合(ステップS609、「Yes」)、処理をステップS610に移行させ、SNSアプリ部100に対して、音声入力モードをオンとするように指示する。
次のステップS630以降の処理は、第1の実施形態の第2の変形例による図13のフローチャートにおけるステップS300以降の処理と共通である。すなわち、ステップS630で、アプリ制御部116は、撮像部1003の機能をオンとし、撮像処理部113による撮像画像の取得を開始させる。次のステップS631で、アプリ制御部116は、第2顔検出部114に対し、撮像画像に基づく顔検出結果を用いた、顔における口の動きの検出を開始するよう指示する。
次のステップS632で、SNSアプリ部100において、通信処理部102により、音処理部103により処理された音声データを、音声メッセージとして、ステップS600で受信したメッセージの送信元に送信する。
次のステップS633で、アプリ制御部116は、ステップS631で開始された、第2顔検出部114による口の動きの検出結果に基づき、所定時間の間、口の動きが止まったか否かを判定する。ステップS633で、アプリ制御部116は、口の動きが所定時間の間止まっていないと判定した場合(ステップS633、「No」)、処理をステップS632に戻す。一方、アプリ制御部116は、所定時間の間、口の動きが止まっていると判定した場合(ステップS633、「Yes」)、処理をステップS634に移行させる。
なお、上述した図13の説明と同様に、実際には、ステップS632およびステップS633の処理は、ステップS633の条件を満たすまで繰り返すループ処理となる。
ステップS634で、アプリ制御部116は、SNSアプリ部100に対して、音声入力モードを終了(オフ)させるよう指示する。SNSアプリ部100は、この指示を受けて、音処理部103における音声入力処理と、通信処理部102における音声メッセージの送信処理とを終了させる。
次のステップS634で、アプリ制御部116は、ステップS634で音声入力モードを終了させてから所定時間内に次のメッセージを受信したか否かを判定し、受信したと判定した場合(ステップS634、「Yes」)、処理をステップS607に戻す。
一方、アプリ制御部116は、当該所定時間内に次のメッセージを受信しなかったと判定した場合(ステップS635、「No」)、処理をステップS636に移行させる。ステップS636で、起動制御部117は、撮像部1003、測距部1004および光源部1005をオフとする。ステップS636の処理が終了すると、図22のフローチャートによる一連の処理が終了される。
このように、第3の実施形態の第2の変形例では、プッシュ通知に応じて測距部1004および光源部1005がオンとされ、デプス情報に基づく顔認証が行われる。したがって、ユーザは、表示ロック状態において他の端末装置1aからSNSアプリ5を用いて送信されたメッセージが受信された場合であっても、端末装置1aのタッチパネル1030をタップするといった操作無しに、例えば片手で端末装置1aを保持し顔認証を行うという動作のみで、表示ロックを解除してSNSアプリ5による音声メッセージの送信を行うことが可能である。
また、第3の実施形態の第2の変形例では、音声入力モードをオフとする制御を、撮像画像に基づく口の動きの検出結果に応じて行っている。ここで、ここで、ToFセンサ1041が点群情報に基づくデプス情報を取得するものであるのに対し、撮像部1003が有するイメージセンサは、例えばRGB各色を用いたフルカーラ画像による撮像画像を出力できる。したがって、口の動きをより高精度に検出することが可能になる。これにより、第3の実施形態の第2の変形例では、音声メッセージの送信を、第3の実施形態の第1の変形例と比べてより高精度に制御できる。
さらに、第3の実施形態の第2の変形例では、上述した第3の実施形態と同様に、ユーザは、音声入力モードをオンあるいはオフとするために、端末装置1aのタッチパネル1030をタップするといった操作を行う必要が無く、例えば片手で端末装置1aを保持し顔に近付けるという動作のみで、音声メッセージの送信を実行できる。
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
なお、本技術は以下のような構成も取ることができる。
(1)
マイクロフォンと、
ネットワークを介した通信を行う通信部と、
デプス情報を取得する第1のセンサと、
前記デプス情報に基づき顔および該顔までの距離を検出する第1の顔検出を行う第1の顔検出部と、
プロセッサと、
を備え、
前記プロセッサは、
音声メッセージを含むメッセージの送受信を前記プロセッサに実行させるための通信プログラムであって、前記マイクロフォンによる音の収音および収音された該音による該音声メッセージの送信が可能な音入力モードを有する該通信プログラムを実行し、実行中の該通信プログラムに従った制御に基づき前記通信部によりメッセージが受信された場合に、
前記第1の顔検出部による前記第1の顔検出を行い、該第1の顔検出の結果に応じて前記音入力モードのオンおよびオフを制御する
端末装置。
(2)
前記プロセッサは、
前記第1の顔検出部により所定距離未満の前記距離が検出された場合に、前記音入力モードをオンに制御する
前記(1)に記載の端末装置。
(3)
前記プロセッサは、
前記第1の顔検出部により所定距離以上の前記距離が検出された場合に、前記音入力モードをオフに制御する
前記(1)または(2)に記載の端末装置。
(4)
前記第1の顔検出部により検出された前記顔に基づき認証を行う顔認証部をさらに備え、
前記プロセッサは、
前記通信プログラムが実行され、且つ、当該端末装置による表示に対して該プロセッサにより表示制限が掛けられた状態で、前記通信部により前記メッセージが受信された場合に、前記顔認証部による顔認証を行い、
前記顔認証により顔が認証された場合に、前記表示制限を解除する
前記(1)乃至(3)の何れかに記載の端末装置。
(5)
前記プロセッサは、
前記通信部により前記メッセージが受信された場合に、前記第1のセンサの機能をオンに制御する
前記(1)乃至(4)の何れかに記載の端末装置。
(6)
当該端末装置の動きを検出する動き検出を行う動き検出部をさらに備え、
前記プロセッサは、
前記動き検出部による前記動き検出により所定の動きが検出された場合に、前記第1の顔検出部による前記第1の顔検出を行い、該第1の顔検出の結果に応じて前記音入力モードのオンおよびオフを制御する
前記(1)乃至(5)の何れかに記載の端末装置。
(7)
画像情報を取得する第2のセンサと、
前記画像情報に基づき顔を検出する第2の顔検出を行う第2の顔検出部と、
をさらに備え、
前記プロセッサは、
前記第1の顔検出部により所定距離未満の前記距離が検出され前記音入力モードがオンに制御された場合に、前記第2の顔検出部により前記第2の顔検出を行い顔における口の動きを検出し、該口の動きが所定時間検出されなかった場合に、該音入力モードをオフに制御する
前記(1)に記載の端末装置。
(8)
前記プロセッサは、
前記第1の顔検出部により所定距離未満の前記距離が検出され前記音入力モードがオンに制御された場合に、前記第1の顔検出部により前記第1の顔検出を行う顔における口の動きを検出し、該口の動きが所定時間検出されなかった場合に、該音入力モードをオフに制御する
前記(1)に記載の端末装置。
(9)
第1のセンサによりデプス情報を取得するデプス情報取得ステップと、
前記デプス情報取得ステップにより取得された前記デプス情報に基づき顔および該顔までの距離を検出する第1の顔検出を行う第1の顔検出ステップと、
音声メッセージを含むメッセージの送受信をプロセッサに実行させるための通信プログラムであって、マイクロフォンによる音の収音および収音された該音による該音声メッセージの送信が可能な音入力モードを有する該通信プログラムを実行する実行ステップと、
前記実行ステップにより実行された前記通信プログラムに基づきメッセージが受信されたか否かを、該プロセッサが判定する判定ステップと、
前記判定ステップにより前記メッセージが受信されたと判定された場合に、前記第1の顔検出ステップによる前記第1の顔検出を行い、該第1の顔検出の結果に応じて前記音入力モードのオンおよびオフを前記プロセッサが制御する制御ステップと、
を有する
端末装置の制御方法。
(10)
前記制御ステップは、
前記第1の顔検出ステップにより所定距離未満の前記距離が検出された場合に、前記音入力モードをオンに制御する
前記(9)に記載の端末装置の制御方法。
(11)
前記制御ステップは、
前記第1の顔検出ステップにより所定距離以上の前記距離が検出された場合に、前記音入力モードをオフに制御する
前記(9)または(10)に記載の端末装置の制御方法。
(12)
前記第1の顔検出ステップにより検出された前記顔に基づき認証を行う顔認証ステップをさらに備え、
前記制御ステップは、
前記通信プログラムが実行され、且つ、当該端末装置による表示に対して該プロセッサにより表示制限が掛けられた状態で、ネットワークを介した通信を行う通信部により前記メッセージが受信された場合に、前記顔認証ステップによる顔認証を行い、
前記顔認証により顔が認証された場合に、前記表示制限を解除する
前記(9)乃至(11)の何れかに記載の端末装置の制御方法。
(13)
前記制御ステップは、
ネットワークを介した通信を行う通信部により前記メッセージが受信された場合に、前記第1のセンサの機能をオンに制御する
前記(9)乃至(12)の何れかに記載の端末装置の制御方法。
(14)
当該端末装置の動きを検出す動き検出を行う動き検出ステップをさらに有し、
前記制御ステップは、
前記動き検出ステップによる前記動き検出により所定の動きが検出された場合に、前記第1の顔検出ステップによる前記第1の顔検出を行い、該第1の顔検出の結果に応じて前記音入力モードのオンおよびオフを制御する
前記(9)乃至(13)の何れかに記載の端末装置の制御方法。
(15)
第2のセンサにより画像情報を取得する画像情報取得ステップと、
前記画像情報取得ステップにより取得された画像情報に基づき顔を検出する第2の顔検出を行う第2の顔検出ステップと、
をさらに有し、
前記制御ステップは、
前記第1の顔検出ステップにより所定距離未満の前記距離が検出され前記音入力モードがオンに制御された場合に、前記第2の顔検出ステップにより前記第2の顔検出を行い顔における口の動きを検出し、該口の動きが所定時間検出されなかった場合に、該音入力モードをオフに制御する
前記(9)に記載の端末装置の制御方法。
(16)
前記制御ステップは、
前記第1の顔検出ステップにより所定距離未満の前記距離が検出され前記音入力モードがオンに制御された場合に、前記第1の顔検出ステップにより前記第1の顔検出を行う顔における口の動きを検出し、該口の動きが所定時間検出されなかった場合に、該音入力モードをオフに制御する
前記(9)に記載の端末装置の制御方法。
(17)
センサに取得されたデプス情報に基づき顔および該顔までの距離を検出する顔検出を行う顔検出ステップと、
音声メッセージを含むメッセージの送受信をプロセッサに実行させるための通信プログラムであって、該プロセッサ上で実行される際の動作モードとしてマイクロフォンによる音の収音および収音された該音による該音声メッセージの送信が可能な音入力モードを有する該通信プログラムを実行する実行ステップと、
前記実行ステップにより実行された前記通信プログラムに基づき該メッセージが受信されたか否かを判定する判定ステップと、
前記判定ステップにより前記メッセージが受信されたと判定された場合に、前記顔検出ステップによる前記顔検出を行い、該顔検出の結果に応じて前記音入力モードのオンおよびオフを制御する制御ステップと、
を前記プロセッサに実行させるための制御プログラムが記憶された、コンピュータに読み取り可能な記憶媒体。