(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024155166
(43)【公開日】2024-10-31
(54)【発明の名称】制御プログラム、端末装置、及び制御方法
(51)【国際特許分類】
G06F 3/01 20060101AFI20241024BHJP
G10K 15/00 20060101ALI20241024BHJP
G06F 3/0488 20220101ALI20241024BHJP
G06F 3/0346 20130101ALI20241024BHJP
G01S 15/52 20060101ALI20241024BHJP
G01V 1/00 20240101ALI20241024BHJP
【FI】
G06F3/01 570
G10K15/00 L
G06F3/0488
G06F3/0346 424
G01S15/52
G01V1/00 A
G10K15/00 N
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023069625
(22)【出願日】2023-04-20
(71)【出願人】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】池松 香
【テーマコード(参考)】
2G105
5B087
5E555
5J083
【Fターム(参考)】
2G105AA01
2G105BB02
2G105CC01
2G105DD03
2G105EE01
2G105GG03
2G105HH02
2G105KK06
5B087AA07
5B087AA09
5B087AB02
5B087BC06
5B087BC08
5B087BC31
5B087CC02
5B087CC21
5B087CC31
5B087DD02
5E555AA13
5E555BA05
5E555BA06
5E555BA85
5E555BB05
5E555BB06
5E555BC07
5E555CA12
5E555CA13
5E555CA29
5E555CA47
5E555CB07
5E555CB16
5E555CB17
5E555CB22
5E555CB66
5E555CC24
5E555CC25
5E555CC26
5E555DB55
5E555DC19
5E555DC26
5E555DC27
5E555EA19
5E555EA27
5E555FA00
5J083AA02
5J083AB14
5J083AD19
5J083AE08
5J083BA14
(57)【要約】
【課題】音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な制御プログラム、端末装置、及び制御方法を提供すること。
【解決手段】本開示に係る制御プログラムは、端末装置が有するスピーカーを介して、非可聴域の音響信号を出力させる出力手順と、端末装置が有するマイクを介して、前記音響信号の反響音を取得する取得手順と、反響音と利用者の手の動作との間の関係性を学習させたモデルを用いて、前記取得手順により取得された反響音から、所定の三次元領域内における利用者の手の動作を推定する推定手順と、起動中のアプリケーションに応じて、推定手順により推定された手の動作に基づいて、操作内容を決定する決定手順と、をコンピュータに実行させる。
【選択図】
図7
【特許請求の範囲】
【請求項1】
端末装置が有するスピーカーを介して、非可聴域の音響信号を出力させる出力手順と、
端末装置が有するマイクを介して、前記音響信号の反響音を取得する取得手順と、
反響音と利用者の手の動作との間の関係性を学習させたモデルを用いて、前記取得手順により取得された反響音から、所定の三次元領域内における利用者の手の動作を推定する推定手順と、
起動中のアプリケーションに応じて、推定手順により推定された手の動作に基づいて、操作内容を決定する決定手順と、
をコンピュータに実行させるための制御プログラム。
【請求項2】
前記アプリケーションは、地図情報表示アプリケーションであって、
前記決定手順においては、前記推定手順により推定された手の動作が、手を浮かせて人差し指で画面を指して水平方向に移動させる動作を示す場合に、人差し指の移動量に所定の係数を掛けた値を地図の移動量として移動させることを決定する、
請求項1に記載の制御プログラム。
【請求項3】
前記アプリケーションは、地図情報表示アプリケーションであって、
前記決定手順においては、前記推定手順により推定された手の動作が、手を浮かせて人差し指で画面を指しながら親指、中指のうちの少なくとも一つを広げた状態で、手を水平方向に移動させる動作を示す場合に、地図の表示モードを変更させることを決定する、
請求項1に記載の制御プログラム。
【請求項4】
前記アプリケーションは、地図情報表示アプリケーションであって、
前記決定手順においては、前記推定手順により推定された手の動作が、手を浮かせた状態で親指と人差し指の間隔を開閉させる動作を示す場合に、親指と人差し指の間隔の開閉に応じて、地図を拡大又は縮小させることを決定する、
請求項1に記載の制御プログラム。
【請求項5】
前記決定手順においては、前記推定手順により推定された手の動作が、親指を浮かせた状態で所定の時間に亘って待機する動作を示す場合に、親指の位置から所定の距離だけ離れた位置に表示されるカーソルを移動させるカーソルモードを起動することを決定する、
請求項1に記載の制御プログラム。
【請求項6】
端末装置が有するスピーカーを介して、非可聴域の音響信号を出力させる出力部と、
端末装置が有するマイクを介して、前記音響信号の反響音を取得する取得部と、
反響音と利用者の手の動作との間の関係性を学習させたモデルを用いて、前記取得部により取得された反響音から、所定の三次元領域内における利用者の手の動作を推定する推定部と、
起動中のアプリケーションに応じて、前記推定部により推定された手の動作に基づいて、操作内容を決定する決定部と、
を備える、端末装置。
【請求項7】
端末装置が有するスピーカーを介して、非可聴域の音響信号を出力させる出力手順と、
端末装置が有するマイクを介して、前記音響信号の反響音を取得する取得手順と、
反響音と利用者の手の動作との間の関係性を学習させたモデルを用いて、前記取得手順により取得された反響音から、所定の三次元領域内における利用者の手の動作を推定する推定手順と、
起動中のアプリケーションに応じて、推定手順により推定された手の動作に基づいて、操作内容を決定する決定手順と、
を含む、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御プログラム、端末装置、及び制御方法に関する。
【背景技術】
【0002】
音響、すなわち振動を発生させて、物体からの振動の反射に基づいて、物体の状態を検出する技術が知られている。例えば、物体に振動を与えて、物体の存在による振動の変化に基づいて、物体の状態を検出する技術が開発されている。
【0003】
下記の特許文献1には、載置板の第1位置に配置され、前記載置板に振動を付与する加振器と、前記載置板の前記第1位置と相違する第2位置に配置され、前記載置板の振動を検出する振動検出器と、前記振動検出器の検出結果に基づいて、前記載置板の載置面上に載置される物体の状態を検出する物体検出部とを備える、物体検出装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の特許文献1に記載の物体検出装置は、スマートフォンなどにより実行されるアプリケーションの操作に用いることができなかった。スマートフォンに触れることなく、手の動きを検出して、検出された手の動きに応じて、アプリケーションの操作ができると、利用者の操作性が向上すると考えられる。
【0006】
本開示は上記課題を鑑み、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な制御プログラム、端末装置、及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本開示に係る情報処理プログラムは、端末装置が有するスピーカーを介して、非可聴域の音響信号を出力させる出力手順と、端末装置が有するマイクを介して、前記音響信号の反響音を取得する取得手順と、反響音と利用者の手の動作との間の関係性を学習させたモデルを用いて、前記取得手順により取得された反響音から、所定の三次元領域内における利用者の手の動作を推定する推定手順と、起動中のアプリケーションに応じて、推定手順により推定された手の動作に基づいて、操作内容を決定する決定手順と、をコンピュータに実行させる。
【発明の効果】
【0008】
本開示によれば、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な制御プログラム、端末装置、及び制御方法を提供することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る情報処理の概要を示す図である。
【
図2】
図2は、実施形態に係る端末装置が検出する利用者の手の動きの第一態様、及び第二態様を示す図である。
【
図3】
図3は、実施形態に係る端末装置が検出する利用者の手の動きの第三態様、及び第四態様を示す図である。
【
図4】
図4は、実施形態に係る端末装置が検出する利用者の手の動きの第五態様、及び第六態様を示す図である。
【
図5】
図5は、実施形態に係る端末装置が検出する利用者の手の動きの第七態様から第九態様を示す図である。
【
図6】
図6は、実施形態に係る情報処理システムの構成例を示す図である。
【
図7】
図7は、実施形態に係る端末装置の構成例を示す図である。
【
図8】
図8は、実施形態に係る端末装置のモデル記憶部に記憶される情報の一例を示す図である。
【
図9】
図9は、実施形態に係る端末装置の操作情報記憶部に記憶される情報の一例を示す図である。
【
図10】
図10は、実施形態に係るサーバ装置の構成例を示す図である。
【
図11】
図11は、実施形態に係る情報処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、本開示に係る制御プログラム、端末装置、及び制御方法を実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本開示に係る制御プログラム、端末装置、及び制御方法が限定されるものではない。
【0011】
(実施形態)
〔1.実施形態に係る情報処理〕
〔1-1.実施形態に係る情報処理の一例〕
まず、
図1を用いて、実施形態に係る情報処理の一例について説明する。
図1は、実施形態に係る情報処理の一例を示す図である。
図1では、実施形態に係る情報処理が端末装置100により実行される例を示す。以下、実施形態に係る情報処理についてステップごとに順を追って説明する。
【0012】
まず、端末装置100は、非可聴域の音響信号を出力する(ステップS1)。例えば、端末装置100は、端末装置100が有するスピーカー140を介して、非可聴域の音響信号を出力させる。この場合の音響信号の周波数は、例えば、20kHzから37.5kHzであってよい。このような周波数の音は、超音波と呼ばれ、人間が定常音として耳に感じない音である。なお、端末装置100は、掃引、言い換えるとスイープさせた音響信号をスピーカー140に出力させる。具体的には、20msの間に20kHzから37.5kHzまで上昇し、次の20msの間に20kHzまで戻るという変化を繰り返す音響信号を出力させるようにしてよい。これにより、20kHzから37.5kHzまでの周波数の音響信号に対する手の動きの反響音の周波数特性を把握することができる。
【0013】
次に、端末装置100は、音響信号の反射音を取得する(ステップS2)。例えば、端末装置100は、端末装置100が有するマイク150を介して、音響信号の反響音を取得する。なお、マイクロフォンの種類によっては、反響音の振動を電気信号に変換した後の電圧が小さいことがあることから、アンプ機能を備えたオーディオインターフェースによって電圧を増幅したものを取得してもよい。
【0014】
次に、端末装置100は、利用者の手の動作を推定する(ステップS3)。例えば、端末装置100は、反響音と利用者の手の動作との間の関係性を学習させたモデルを用いて、取得部132により取得された反響音から、所定の三次元領域内における利用者の手の動作を推定する。ここで、所定の三次元領域とは、端末装置100の画面の上方の空間を指しており、端末装置100から発せられた音響信号が利用者の手に当たって、反響音が端末装置100にまで届くことができる空間である。この場合の学習用のモデルには、例えば、SVM(Support Vector Machine)や、DNN(Deep Neural Network)などの機械学習モデルを用いてよい。また、学習用のデータには、利用者の手の動きを分類して、分類ごとにスピーカーから発せられた音響信号に対する反響音をマイクによって集音された音声データに対して、FFT(Fast Fourier Transform)解析を行って、音声データを周波数スペクトルに変換したものを用いてよい。また、当該の学習用データには、FFT解析後に20kHzから37.5kHzの値以外の値を取り除いて正規化を行ったものを用いてよい。
【0015】
次に、端末装置100は、推定された手の動作に基づいて、操作内容を決定する(ステップS4)。例えば、端末装置100は、起動中のアプリケーションに応じて、ステップS3により推定された手の動作に基づいて、操作内容を決定する。すなわち、端末装置100において起動されているアプリケーションを確認して、起動中のアプリケーションに応じて、利用者の手の動きと、操作内容を対応付けて記憶された操作情報記憶部122から操作内容を読み出すことにより、操作内容を決定してよい。
【0016】
次に、端末装置100は、決定された操作内容に応じて、操作を実行する。
【0017】
これによれば、非可聴域の音響信号の反響音に基づいて、利用者の手の動きを検出して、手の動きに対応付けられた操作内容を実行することができる。そのため、利用者は端末装置100に触れることなく操作を実行することができることから、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な端末装置100を提供することができる。
【0018】
〔1-2.実施形態に係る情報処理の他の例〕
端末装置100の操作対象のアプリケーションは、地図情報表示アプリケーションであって、端末装置100は、推定された手の動作が、手を浮かせて人差し指で画面を指して水平方向に移動させる動作を示す場合に、人差し指の移動量に所定の係数を掛けた値を地図の移動量として移動させることを決定する。
【0019】
この情報処理について順を追って説明する。まず、端末装置100は、
図1に示したステップS1からS3と同じ処理を実行する。ステップS1からS3は、上述した処理と同じであるから説明を省略する。
【0020】
次に、端末装置100は、推定された手の動作が、手を浮かせて人差し指で画面を指して水平方向に移動させる動作を示す場合に、人差し指の移動量に所定の係数を掛けた値を地図の移動量として移動させることを決定する(ステップS4-1)。このような端末装置100の処理について、
図2を用いて説明する。
図2は、実施形態に係る端末装置が検出する利用者の手の動きの第一態様、及び第二態様を示す図である。例えば、端末装置100は、
図2に示すように人差し指で端末装置100の画面に触れながら移動する動作である動作Aを検出した場合は、通常通り指の移動方向に沿って、地図をスクロールさせる処理を実行する。一方、
図2に示すように、手を浮かせて人差し指で画面を指して水平方向に移動させる動作である動作Bが検出された場合は、人差し指の移動量に所定の係数を掛けた値を地図の移動量として移動させることを決定する。例えば、通常操作の場合と比較して、人差し指の移動量に対する地図の移動量の比率を示す所定の係数であるゲインを2に変更して、スクロールさせることを決定してよい。
【0021】
次に、端末装置100は、決定された操作内容に応じて、起動中のアプリケーションの操作を実行する。
【0022】
これによれば、利用者は画面を触れることなく、定められた手の動きをすることにより、地図情報表示アプリケーションの操作を行うことができる。そのため、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な端末装置100を提供することができる。
【0023】
〔1-3.実施形態に係る情報処理の他の例〕
端末装置100の操作対象のアプリケーションは、地図情報表示アプリケーションであって、推定された手の動作が、手を浮かせて人差し指で画面を指して親指または中指を広げた状態で、手を水平方向に移動させる動作を示す場合に、地図の表示モードを変更させることを決定する。
【0024】
この情報処理について順を追って説明する。まず、端末装置100は、
図1に示したステップS1からS3と同じ処理を実行する。ステップS1からS3は、上述した処理と同じであるから説明を省略する。
【0025】
次に、端末装置100は、推定手順により推定された手の動作が、手を浮かせて人差し指で画面を指しながら親指、中指のうちの少なくとも一つを広げた状態で、手を水平方向に移動させる動作を示す場合に、地図の表示モードを変更させることを決定する(ステップS4-2)。このような端末装置100の処理について、
図3を用いて説明する。
図3は、実施形態に係る端末装置が検出する利用者の手の動きの第三態様、及び第四態様を示す図である。
図3に示すように、手を浮かせて人差し指で画面を指しながら親指を広げた状態で、手を水平方向に移動させる動作Cが検出された場合は、航空写真モードに地図の表示モードを変更させることを決定する。また、同時に動作Cにおける手の移動量に応じて、地図をスクロールさせることを決定する。また、
図3に示すように、手を浮かせて人差し指で画面を指しながら親指、及び中指を広げた状態で、手を水平方向に移動させる動作である動作Dが検出された場合は、路線図モードに地図の表示モードを変更させることを決定する。また、同時に動作Dにおける手の移動量に応じて、地図をスクロールさせることを決定する。
【0026】
次に、端末装置100は、決定された操作内容に応じて、起動中のアプリケーションの操作を実行する。
【0027】
これによれば、利用者は画面に触れることなく手の動きによって地図の表示モードの変更を行うことができる。そのため、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な端末装置100を提供することができる。
【0028】
〔1-4.実施形態に係る情報処理の他の例〕
端末装置100の操作対象のアプリケーションは、地図情報表示アプリケーションであって、推定された手の動作が、手を浮かせた状態で親指と人差し指の間隔を開閉させる動作を示す場合に、親指と人差し指の間隔の開閉に応じて、地図を拡大又は縮小させることを決定する。
【0029】
この情報処理について順を追って説明する。まず、端末装置100は、
図1に示したステップS1からS3と同じ処理を実行する。ステップS1からS3は、上述した処理と同じであるから説明を省略する。
【0030】
なお、端末装置100は、推定手順により推定された手の動作が、手を浮かせた状態で親指と人差し指の間隔を開閉させる動作を示す場合に、親指と人差し指の間隔の開閉に応じて、地図を拡大又は縮小させることを決定する(ステップS4-3)。このような端末装置100の処理について、
図4を用いて説明する。
図4は、実施形態に係る端末装置が検出する利用者の手の動きの第五態様、及び第六態様を示す図である。
図4に示すように、手を浮かせた状態で親指と人差し指の間隔を広げる動作である動作Eが検出された場合は、地図を拡大させることを決定する。また、
図4に示すように、手を浮かせた状態で親指と人差し指の間隔を狭める動作である動作Fが検出された場合は、地図を縮小させることを決定する。
【0031】
次に、端末装置100は、決定された操作内容に応じて、起動中のアプリケーションの操作を実行する。
【0032】
これによれば、利用者は画面に触れることなく手の動きによって地図の拡大縮小の操作を行うことができる。そのため、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な端末装置100を提供することができる。
【0033】
〔1-5.実施形態に係る情報処理の他の例〕
端末装置100は、推定された手の動作が、親指を浮かせた状態で所定の時間に亘って待機する動作を示す場合に、親指の位置から所定の距離だけ離れた位置に表示されるカーソルを移動させるカーソルモードを起動することを決定する。
【0034】
この情報処理について順を追って説明する。まず、端末装置100は、
図1に示したステップS1からS3と同じ処理を実行する。ステップS1からS3は、上述した処理と同じであるから説明を省略する。
【0035】
次に、端末装置100は、推定手順により推定された手の動作が、親指を浮かせた状態で所定の時間に亘って待機する動作を示す場合に、親指の位置から所定の距離だけ離れた位置に表示されるカーソルを移動させるカーソルモードを起動することを決定する(ステップS4-3)。このような端末装置100の処理について、
図5を用いて説明する。
図5は、実施形態に係る端末装置が検出する利用者の手の動きの第七態様から第九態様を示す図である。
図5に示すように、親指を浮かせた状態で所定の時間に亘って待機する動作である動作Gが検出された場合は、親指の位置から所定の距離だけ離れた位置に表示されるカーソルを移動させるカーソルモードを起動することを決定する。なお、この場合のカーソルの位置は、画面の右下の隅から親指の先端の延長線上であって、親指から所定の距離だけ離れた位置であってよい。なお、
図5に示すように、前述した動作Gの後に、親指を浮かせた状態で移動させる動作である動作Hが検出された場合は、親指の移動方向に沿ってカーソルを移動させることを決定する。また、
図5に示すように、前述した動作G、又は動作Hの後に、親指をタッチさせる動作を検出した場合は、カーソルモードを解除することを決定する。なお、
図5に示すように、左手での操作であってもよく、この場合は、画面の左下の隅から左手の親指の先端に向かって伸びる直線の延長線上にカーソルを位置するように配置してよい。
【0036】
次に、端末装置100は、決定された操作内容に応じて、起動中のアプリケーションの操作を実行する。
【0037】
これによれば、利用者は手が届きにくい位置のカーソルを画面に触れることなく手の動きによって操作することができる。そのため、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な端末装置100を提供することができる。
【0038】
〔2.情報処理システムの構成〕
次に、
図6を用いて実施形態に係る情報処理システム1の構成について説明する。
図6は、実施形態に係る情報処理システムの構成例を示す図である。
図6に示すように、実施形態に係る情報処理システム1は、端末装置100と、サーバ装置200と、ネットワークNを有する。以下、これらの構成について簡単に順を追って説明する。
【0039】
端末装置100は、利用者が利用する情報処理装置である。端末装置100は、例えば、スマートフォン、タブレット型端末、デスクトップ型PC、ノート型PC、携帯電話機、PDA(Personal Digital Assistant)等の情報処理装置であってよい。なお、
図1に示す例においては、端末装置100がスマートフォンである場合を示している。
【0040】
サーバ装置200は、例えばPC(Personal Computer)、WS(Work Station)、サーバの機能を備えるコンピュータなどの情報処理装置であってよい。サーバ装置200は、例えば、端末装置100からネットワークNを介して送信されてきた情報に基づいて処理を行う。
【0041】
ネットワークNは、端末装置100と、サーバ装置200を有線、又は無線により相互に通信可能に接続する。ネットワークNが有線の場合は、IEEE802.3に規定されるイーサネット(登録商標)(ETHERNET(登録商標))により実現されてよい。また、ネットワークNが無線の場合は、IEEE802.11に規定される無線LAN(Local Area Network)により実現されてよい。
【0042】
〔3.端末装置の構成〕
次に、
図7を用いて、端末装置100の構成について説明する。
【0043】
図7は、実施形態に係る端末装置の構成例を示す図である。
図7に示すように、端末装置100は、通信部110と、記憶部120と、制御部130と、スピーカー140と、マイク150と、表示部160と、を有する。以下、これらの構成について、順を追って説明する。
【0044】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)、無線LAN(Local Area Network)カード等によって実現される。そして、通信部110は、ネットワークNと有線または無線で接続され、サーバ装置200などとの間で情報の送受信を行う。
【0045】
(記憶部120について)
記憶部120は、主記憶装置と外部記憶装置とを備える。主記憶装置は、制御部130が実行するプログラム、あるいは制御部130が処理するデータを記憶する。主記憶装置は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)等のような半導体メモリ素子によって実現されてよい。外部記憶装置は、制御部130が処理するデータを保存する。外部記憶装置は、例えば、ハードディスクやSSD(Solid State Drive)、磁気テープ、光ディスク等によって実現されてよい。
【0046】
図7に示すように、記憶部120は、モデル記憶部121と、操作情報記憶部122を有する。以下、これらの構成について順を追って説明する。
【0047】
(モデル記憶部121について)
モデル記憶部121は、反響音と手の動作との関係を学習させた機械学習モデルに関係する情報を記憶する。ここで、
図8を用いて、モデル記憶部121が記憶する情報の一例を説明する。
図8は、実施形態に係る端末装置のモデル記憶部に記憶される情報の一例を示す図である。
【0048】
図8に示す例において、モデル記憶部121は、「モデルID」、「モデルデータ」という項目に係る情報を紐付けて記憶する。
【0049】
「モデルID」は、機械学習モデルを識別する識別子であり文字列や番号などによって表される。「モデルデータ」は、機械学習モデルのモデルデータを示す。例えば、機械学習モデルは、SVMやニューラルネットワークなどであってよい。
【0050】
すなわち、
図8においては、モデルID「M#1」で識別されるモデルは、機械学習モデルM#1を示す。また、モデルデータ「MDT#1」は、機械学習モデルM#1のモデルデータを示す。
【0051】
ここで、機械学習モデルがニューラルネットワークである場合は、モデルデータ「MDT#1」には、例えば、ニューラルネットワークを構成する複数の層のそれぞれに含まれるノードが互いにどのように結合するかという結合情報や、結合されたノード間で入出力される数値に掛け合わされる結合係数などの各種情報が含まれる。
【0052】
なお、モデル記憶部121に記憶される情報は、「モデルID」、「モデルデータ」という項目に係る情報に限定されるものではなく、その他の任意の機械学習モデルに関係する情報が記憶されてよい。
【0053】
(操作情報記憶部122について)
操作情報記憶部122は、利用者の手の動きに対応付けられた操作内容を記憶する。ここで、
図9を用いて、操作情報記憶部122が記憶する情報の一例を説明する。
図9は、実施形態に係る端末装置の操作情報記憶部に記憶される情報の一例を示す図である。
【0054】
図9に示す例において、操作情報記憶部122は、「アプリケーション」、「動作種別」、「操作内容」という項目に係る情報を紐付けて記憶する。
【0055】
「アプリケーション」は、端末装置100において起動中のアプリケーションのことを指している。「動作種別」は、利用者の手の動きの種別を示し、例えば、手の親指と人差し指の間隔を広げる動作や、人差し指で位置を示しながら手を移動させる動作などが含まれてよい。「操作内容」は、「動作種別」が示す手の動きの種別に対応付けられた操作内容を示し、例えば、地図情報表示アプリケーションにおける地図の拡大、又は縮小などであってよい。
【0056】
すなわち、
図9においては、アプリケーション「AP#1」において、利用者の手の動きの動作種別「MTYP#1」に対応付けられた操作内容が「OP#1-1」であるとして記憶されている例が示されている。
【0057】
なお、操作情報記憶部122に記憶される情報は、「アプリケーション」、「動作種別」、「操作内容」という項目に係る情報に限定されるものではなく、その他の任意の利用者の手の動きに対応付けられた操作内容に関係する情報が記憶されてよい。
【0058】
(制御部130について)
次に、
図7に戻って、制御部130について説明する。制御部130は、端末装置100を制御するコントローラ(Controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、端末装置100の記憶部120に記憶されている各種プログラムを読み出して、RAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array))等の集積回路により実現されてもよい。
【0059】
制御部130は、
図7に示すように、出力部131と、取得部132と、推定部133と、決定部134と、操作部135を有する。制御部130は、記憶部120からプログラムを読み出して、RAMを作業領域として実行することで、これらの機能を実現して、以下に説明する情報処理の機能や作用を実現または実行する。以下、これらの処理を、順を追って説明する。
【0060】
(出力部131について)
出力部131は、端末装置100が有するスピーカー140を介して、非可聴域の音響信号を出力させる。この場合の音響信号の周波数は、例えば、20kHzから37.5kHzであってよい。このような周波数の音は、超音波と呼ばれ、人間が定常音として耳に感じない音である。なお、端末装置100は、掃引、言い換えるとスイープさせた音響信号をスピーカー140に出力させる。具体的には、20msの間に20kHzから37.5kHzまで上昇し、次の20msの間に20kHzまで戻るという変化を繰り返す音響信号を出力させるようにしてよい。これにより、20kHzから37.5kHzまでの周波数の音響信号に対する手の動きの反響音の周波数特性を把握することができる。
【0061】
(取得部132について)
取得部132は、端末装置100が有するマイク150を介して、音響信号の反響音を取得する。なお、マイク150を構成するマイクロフォンの種類によっては、反響音の振動を電気信号に変換した後の電圧が小さいことがあることから、アンプ機能を備えたオーディオインターフェースによって電圧を増幅したものを取得してもよい。
【0062】
(推定部133について)
推定部133は、反響音と利用者の手の動作との間の関係性を学習させたモデルを用いて、取得部132により取得された反響音から、所定の三次元領域内における利用者の手の動作を推定する。例えば、推定部133は、反響音と利用者の手の動作との間の関係性を学習させたモデルを用いて、取得部132により取得された反響音から、所定の三次元領域内における利用者の手の動作を推定する。ここで、所定の三次元領域とは、端末装置100の画面の上方の空間を指しており、端末装置100から発せられた音響信号が利用者の手に当たって、反響音が端末装置100にまで届くことができる空間である。
【0063】
この場合の学習用のモデルには、例えば、SVMや、DNNなどの機械学習モデルを用いてよい。また、学習用のデータには、利用者の手の動きを分類して、分類ごとにスピーカーから発せられた音響信号に対する反響音をマイクによって検出された音声データに対して、FFT解析を行って、音声データを周波数スペクトルに変換したものを用いてよい。また、当該の学習用データには、FFT解析後に20kHzから37.5kHzの値以外の値を取り除いて正規化を行ったものを用いてよい。
【0064】
(決定部134について)
決定部134は、起動中のアプリケーションに応じて、推定部133により推定された手の動作に基づいて、操作内容を決定する。例えば、決定部134は、起動中のアプリケーションに応じて、推定部133により推定された手の動作に基づいて、操作内容を決定する。すなわち、決定部134は、端末装置100において起動されているアプリケーションを確認して、起動中のアプリケーションに応じて、利用者の手の動きと、操作内容を対応付けて記憶された操作情報記憶部122から操作内容を読み出すことにより、操作内容を決定する。以下、具体的に起動中のアプリケーションが地図情報表示アプリケーションである場合の決定部134の処理について説明する。
【0065】
決定部134は、推定部133により推定された手の動作が、手を浮かせて人差し指で画面を指して水平方向に移動させる動作を示す場合に、人差し指の移動量に所定の係数を掛けた値を地図の移動量として移動させることを決定する。このような決定部134の処理について、
図2を用いて説明する。例えば、決定部134は、推定部133により
図2に示すように人差し指で端末装置100の画面に触れながら移動する動作である動作Aが推定された場合は、通常通り指の移動方向に沿って、地図をスクロールさせる処理を実行する。一方、
図2に示すように、手を浮かせて人差し指で画面を指して水平方向に移動させる動作である動作Bが推定された場合は、人差し指の移動量に所定の係数を掛けた値を地図の移動量として移動させることを決定する。例えば、通常操作の場合と比較して、人差し指の移動量に対する地図の移動量の比率を示す所定の係数であるゲインを2に変更して、スクロールさせることを決定してよい。
【0066】
また、決定部134は、推定部133により推定された手の動作が、手を浮かせて人差し指で画面を指しながら親指、中指のうちの少なくとも一つを広げた状態で、手を水平方向に移動させる動作を示す場合に、地図の表示モードを変更させることを決定する。このような決定部134の処理について、
図3を用いて説明する。
図3に示すように、推定部133により手を浮かせて人差し指で画面を指しながら親指を広げた状態で、手を水平方向に移動させる動作Cが推定された場合は、航空写真モードに地図の表示モードを変更させることを決定する。また、同時に動作Cにおける手の移動量に応じて、地図をスクロールさせることを決定する。また、
図3に示すように、推定部133により手を浮かせて人差し指で画面を指しながら親指、及び中指を広げた状態で、手を水平方向に移動させる動作である動作Dが検出された場合は、路線図モードに地図の表示モードを変更させることを決定する。また、同時に動作Dにおける手の移動量に応じて、地図をスクロールさせることを決定する。
【0067】
また、決定部134は、推定部133により推定された手の動作が、手を浮かせた状態で親指と人差し指の間隔を開閉させる動作を示す場合に、親指と人差し指の間隔の開閉に応じて、地図を拡大又は縮小させることを決定する。このような決定部134の処理について、
図4を用いて説明する。
図4に示すように、手を浮かせた状態で親指と人差し指の間隔を広げる動作である動作Eが検出された場合は、地図を拡大させることを決定する。また、
図4に示すように、手を浮かせた状態で親指と人差し指の間隔を狭める動作である動作Fが検出された場合は、地図を縮小させることを決定する。
【0068】
また、決定部134は、推定部133により推定された手の動作が、親指を浮かせた状態で所定の時間に亘って待機する動作を示す場合に、親指の位置から所定の距離だけ離れた位置に表示されるカーソルを移動させるカーソルモードを起動することを決定する。このような決定部134の処理について、
図5を用いて説明する。
図5に示すように、推定部133により親指を浮かせた状態で所定の時間に亘って待機する動作である動作Gが推定された場合は、親指の位置から所定の距離だけ離れた位置に表示されるカーソルを移動させるカーソルモードを起動することを決定する。なお、この場合のカーソルの位置は、画面の右下の隅から親指の先端の延長線上であって、親指から所定の距離だけ離れた位置であってよい。なお、
図5に示すように、前述した動作Gの後に、親指を浮かせた状態で移動させる動作である動作Hが検出された場合は、親指の移動方向に沿ってカーソルを移動させることを決定する。また、
図5に示すように、前述した動作G、又は動作Hの後に、親指をタッチさせる動作を検出した場合は、カーソルモードを解除することを決定する。なお、
図5に示すように、左手での操作であってもよく、この場合は、画面の左下の隅から左手の親指の先端に向かって伸びる直線の延長線上にカーソルを位置するように配置してよい。
【0069】
(操作部135について)
操作部135は、決定部134により決定された操作内容に基づいて、起動中のアプリケーションの操作を実行する。すなわち、操作部135は、決定部134によって起動中のアプリケーションに応じて決定された操作内容に沿って、起動中のアプリケーションの操作を実行する。例えば、起動中のアプリケーションが地図情報表示アプリケーションであって、決定部134により人差し指の移動量に所定の係数を掛けた値を地図の移動量として移動させることが決定された場合は、地図情報表示アプリケーションにおいて人差し指の移動量に所定の係数を掛けた値だけ地図を移動させる操作を実行する。
【0070】
また、操作部135は、起動中のアプリケーションが地図情報表示アプリケーションであって、推定部133により推定された手の動作が、手を浮かせて人差し指で画面を指しながら親指、中指のうちの少なくとも一つを広げた状態で、手を水平方向に移動させる動作を示す場合に、決定部134により地図の表示モードを変更させることを決定された場合は、地図情報表示アプリケーションにおいて地図の表示モードを変更させる操作を実行する。
【0071】
また、操作部135は、起動中のアプリケーションが地図情報表示アプリケーションであって、推定部133により推定された手の動作が、手を浮かせた状態で親指と人差し指の間隔を開閉させる動作を示す場合に、決定部134により親指と人差し指の間隔の開閉に応じて、地図を拡大又は縮小させることを決定された場合は、地図情報表示アプリケーションにおいて地図の拡大又は縮小させる操作を実行する。
【0072】
また、操作部135は、推定部133により推定された手の動作が、親指を浮かせた状態で所定の時間に亘って待機する動作を示す場合に、決定部134により親指の位置から所定の距離だけ離れた位置に表示されるカーソルを移動させるカーソルモードを起動することを決定された場合は、親指の位置から所定の距離だけ離れた位置に表示されるカーソルを移動させるカーソルモードを起動する操作を実行する。
【0073】
(スピーカー140について)
スピーカー140は、音響信号を出力する。スピーカー140は電気信号をダイヤフラムにより音に変換する。すなわち、スピーカー140は、電気信号により与えられる制御指令に基づいて、ダイヤフラムを所定の振幅、振動数によって振動させることにより、ダイヤフラムに接している空気を振動させて音を出力する。なお、スピーカー140は、ピエゾ素子などを用いたアクチュエータによって、表示部160のガラス板を振動させることにより、音響信号を出力する画面スピーカーであってもよい。これにより、画面に対して垂直方向の物体からの音響信号の反響音を取得することができる。
【0074】
(マイク150について)
マイク150は、反響音を電気信号に変換する。マイク150は、マイクロフォンによって実現されてよく、マイクロフォンはダイヤフラムによって音による振動を受け止めて、ダイヤフラムの振動を電気信号に変換する。なお、マイクロフォンの種類によっては、反響音の振動を電気信号に変換した後の電圧が小さいことがあることから、マイク150はアンプ機能を備えたオーディオインターフェースを備えてもよい。
【0075】
(表示部160について)
表示部160は、利用者に向けて各種の情報を表示する。表示部160は、例えば、各種のアプリケーションの画面を表示する。表示部160は、例えば液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、マイクロLED(Light Emitting Diode)ディスプレイ等によって実現されてよい。
【0076】
〔4.サーバ装置の構成〕
次に、
図10を用いて、実施形態に係るサーバ装置200の構成について説明する。
図10は、実施形態に係るサーバ装置の構成例を示す図である。
図10に示すように、サーバ装置200は、通信部210と、記憶部220と、制御部230を有する。
【0077】
通信部210は、例えば、NIC、無線LANカード等によって実現される。そして、通信部210は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、端末装置100との間で各種の情報の送受信を行う。
【0078】
記憶部220は、各種の情報を記憶する記憶装置である。記憶部220は、主記憶装置と補助記憶装置とを備える。主記憶装置は、例えばRAM、ROM、フラッシュメモリ等のような半導体メモリ素子によって実現されてよい。また、補助記憶装置は、例えばハードディスクやSSD、光ディスク等によって実現されてよい。
【0079】
図10に示すように、記憶部220は、アプリケーション記憶部221を備える。
【0080】
アプリケーション記憶部221には、各種のアプリケーションのプログラムが記憶されている。例えば、地図情報提供アプリケーションや、乗換案内アプリケーション、天気予報アプリケーション、ニュース情報提供アプリケーション、オークションサイトアプリケーション、メールアプリケーション、ショッピングアプリケーションなどのプログラムが記憶されていてよい。
【0081】
制御部230は、例えば、CPUやMPU等によって、サーバ装置200に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部230は、例えば、ASICやFPGA等の集積回路により実現されてもよい。
【0082】
図10に示すように、制御部230は、受付部231と、提供部232と、を有する。
【0083】
受付部231は、端末装置100からアプリケーションの提供要求を受け付ける。例えば、受付部231は、端末装置100に利用者が求めるアプリケーションの受け付け画面を表示させて、利用者が端末装置100に入力したアプリケーションの指定を受け付ける。
【0084】
提供部232は、アプリケーションを提供する。例えば、提供部232は、受付部231が受け付けたアプリケーションの提供要求に沿って、アプリケーション記憶部221からアプリケーションプログラムを読み出して、ネットワークNを介して読み出したアプリケーションプログラムを端末装置100に提供してよい。
【0085】
〔5.情報処理のフロー〕
次に、
図11を用いて、実施形態に係る情報処理の手順について説明する。
図11は、実施形態に係る情報処理の一例を示すフローチャートである。以下、
図11に示すフローチャートに沿って、実施形態に係る情報処理の手順について説明する。
【0086】
まず、端末装置100は、非可聴域の音響信号を出力させる(ステップS101)。次に、端末装置100は、音響信号の反響音を取得させる(ステップS102)。そして、端末装置100は、利用者の手の動作を推定する(ステップS103)。そして、端末装置100は、推定された手の動作に基づいて、操作内容を決定する(ステップS104)。
【0087】
これによれば、非可聴域の音響信号の反響音に基づいて、利用者の手の動きを検出して、手の動きに対応付けられた操作内容を実行することができる。そのため、利用者は端末装置100に触れることなく操作を実行することができることから、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な制御プログラムを提供することができる。
【0088】
〔6.構成と効果〕
本開示に係る制御プログラムは、端末装置100が有するスピーカーを介して、非可聴域の音響信号を出力させる出力手順と、端末装置100が有するマイクを介して、音響信号の反響音を取得する取得手順と、反響音と利用者の手の動作との間の関係性を学習させたモデルを用いて、取得手順により取得された反響音から、所定の三次元領域内における利用者の手の動作を推定する推定手順と、起動中のアプリケーションに応じて、推定手順により推定された手の動作に基づいて、操作内容を決定する決定手順と、をコンピュータに実行させる。
【0089】
この構成によれば、非可聴域の音響信号の反響音に基づいて、利用者の手の動きを検出して、手の動きに対応付けられた操作内容を実行することができる。そのため、利用者は端末装置100に触れることなく操作を実行することができることから、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な制御プログラムを提供することができる。
【0090】
本開示に係る制御プログラムの操作対象のアプリケーションは、地図情報表示アプリケーションであって、決定手順においては、推定手順により推定された手の動作が、手を浮かせて人差し指で画面を指して水平方向に移動させる動作を示す場合に、人差し指の移動量に所定の係数を掛けた値を地図の移動量として移動させることを決定する。
【0091】
この構成によれば、利用者は画面を触れることなく、定められた手の動きをすることにより、地図情報表示アプリケーションの操作を行うことができる。そのため、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な制御プログラムを提供することができる。
【0092】
本開示に係る制御プログラムの操作対象のアプリケーションは、地図情報表示アプリケーションであって、決定手順においては、推定手順により推定された手の動作が、手を浮かせて人差し指で画面を指しながら親指、中指のうちの少なくとも一つを広げた状態で、手を水平方向に移動させる動作を示す場合に、地図の表示モードを変更させることを決定する。
【0093】
この構成によれば、利用者は画面に触れることなく手の動きによって地図の表示モードの変更を行うことができる。そのため、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な制御プログラムを提供することができる。
【0094】
本開示に係る制御プログラムの操作対象のアプリケーションは、地図情報表示アプリケーションであって、決定手順においては、推定手順により推定された手の動作が、手を浮かせた状態で親指と人差し指の間隔を開閉させる動作を示す場合に、親指と人差し指の間隔の開閉に応じて、地図を拡大又は縮小させることを決定する。
【0095】
この構成によれば、利用者は画面に触れることなく手の動きによって地図の拡大縮小の操作を行うことができる。そのため、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な制御プログラムを提供することができる。
【0096】
本開示に係る制御プログラムの決定手順においては、推定手順により推定された手の動作が、親指を浮かせた状態で所定の時間に亘って待機する動作を示す場合に、親指の位置から所定の距離だけ離れた位置に表示されるカーソルを移動させるカーソルモードを起動することを決定する。
【0097】
この構成によれば、利用者は手が届きにくい位置のカーソルを画面に触れることなく手の動きによって操作することができる。そのため、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な制御プログラムを提供することができる。
【0098】
本開示に係る端末装置100は、端末装置100が有するスピーカーを介して、非可聴域の音響信号を出力させる出力部131と、端末装置100が有するマイクを介して、音響信号の反響音を取得する取得部132と、反響音と利用者の手の動作との間の関係性を学習させたモデルを用いて、取得部132により取得された反響音から、所定の三次元領域内における利用者の手の動作を推定する推定部133と、起動中のアプリケーションに応じて、推定部133により推定された手の動作に基づいて、操作内容を決定する決定部134と、を備える。
【0099】
この構成によれば、非可聴域の音響信号の反響音に基づいて、利用者の手の動きを検出して、手の動きに対応付けられた操作内容を実行することができる。そのため、利用者は端末装置100に触れることなく操作を実行することができることから、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な端末装置100を提供することができる。
【0100】
本開示に係る制御方法は、端末装置100が有するスピーカーを介して、非可聴域の音響信号を出力させる出力手順と、端末装置100が有するマイクを介して、音響信号の反響音を取得する取得手順と、反響音と利用者の手の動作との間の関係性を学習させたモデルを用いて、取得手順により取得された反響音から、所定の三次元領域内における利用者の手の動作を推定する推定手順と、起動中のアプリケーションに応じて、推定手順により推定された手の動作に基づいて、操作内容を決定する決定手順と、を含む。
【0101】
この構成によれば、非可聴域の音響信号の反響音に基づいて、利用者の手の動きを検出して、手の動きに対応付けられた操作内容を実行することができる。そのため、利用者は端末装置100に触れることなく操作を実行することができることから、操作の利便性を向上させることができる。したがって、音響を用いて手の動きを検出して、手の動きに応じた操作を行うことが可能な制御方法を提供することができる。
【0102】
以上、本願の実施形態を図面に基づいて詳細に説明したが、これは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0103】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、出力部131は、出力手段や出力回路に読み替えることができる。
【符号の説明】
【0104】
1 情報処理システム
100 端末装置
110 通信部
120 記憶部
121 モデル記憶部
122 操作情報記憶部
130 制御部
131 出力部
132 取得部
133 推定部
134 決定部
135 操作部
140 スピーカー
150 マイク
160 表示部
200 サーバ装置
210 通信部
220 記憶部
221 アプリケーション記憶部
230 制御部
231 受付部
232 提供部
N ネットワーク