JP2016136306A - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2016136306A
JP2016136306A JP2015010968A JP2015010968A JP2016136306A JP 2016136306 A JP2016136306 A JP 2016136306A JP 2015010968 A JP2015010968 A JP 2015010968A JP 2015010968 A JP2015010968 A JP 2015010968A JP 2016136306 A JP2016136306 A JP 2016136306A
Authority
JP
Japan
Prior art keywords
information
detection
unit
determining
filter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015010968A
Other languages
English (en)
Inventor
山野 郁男
Ikuo Yamano
郁男 山野
顕博 小森
Akihiro Komori
顕博 小森
佑輔 中川
Yusuke Nakagawa
佑輔 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2015010968A priority Critical patent/JP2016136306A/ja
Priority to PCT/JP2016/050735 priority patent/WO2016117417A1/ja
Priority to US15/542,192 priority patent/US11068063B2/en
Priority to EP16740024.1A priority patent/EP3249500B1/en
Publication of JP2016136306A publication Critical patent/JP2016136306A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/014Force feedback applied to GUI
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0384Wireless input, i.e. hardware and software details of wireless interface arrangements for pointing devices

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】ユーザのジェスチャに基づいて動作する装置において、臨場感を高める等の目的で装置に振動が与えられた場合であっても、ユーザの意図に沿った機能を実現する情報処理装置、方法及びプログラムを提供する。【解決手段】対象物10−1(指示装置)に動きを与える駆動部104を制御するための駆動情報を取得する駆動情報取得部128と、対象物により指示される指示位置を決定するための情報を対象物の動き検出に基づいて得る検出情報取得部106と、検出情報取得部106で取得された検出情報及び駆動情報取得部128により取得された駆動情報に基づいて指示位置を決定するための情報を特定する調整部110と、を備える。【選択図】図5

Description

本開示は、情報処理装置、情報処理方法及びプログラムに関する。
近年、直観的な操作を実現するために、ユーザのジェスチャに基づいて動作する装置が利用されている。
例えば、特許文献1には、姿勢の変化を検出することによりユーザのジェスチャを判定し、ユーザのジェスチャに基づく制御信号を送信する装置を利用した技術が開示されている。
特開2009−37582号公報
しかしながら、ユーザのジェスチャに基づいて動作する装置を利用した技術において、ユーザの意図に沿った機能を実現することが困難である場合が少なくない。例えば、特許文献1に開示されている技術では、臨場感を高める等の目的でユーザに振動が与えられた場合に、検出される装置の姿勢が当該振動により影響を与えられ得るため、ユーザの意図に沿った機能を実現することが困難である。
そこで、本開示では、ユーザの意図に沿った機能を実現することが可能な、新規かつ改良された情報処理装置、情報処理方法及びプログラムを提案する。
本開示によれば、対象物に動きを与える駆動装置を制御するための駆動情報を取得する取得部と、前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び前記取得部により取得された前記駆動情報に基づいて特定する特定部と、を備える情報処理装置が提供される。
また、本開示によれば、対象物に動きを与える駆動装置を制御するための駆動情報を情報処理装置により取得することと、前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び取得された前記駆動情報に基づいて特定することと、を含む情報処理方法が提供される。
また、本開示によれば、情報処理装置を制御するコンピュータを、対象物に動きを与える駆動装置を制御するための駆動情報を取得する取得部と、前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び前記取得部により取得された前記駆動情報に基づいて特定する特定部と、として機能させるためのプログラムが提供される。
以上説明したように本開示によれば、ユーザの意図に沿った機能を実現することが可能である。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、又は上記の効果に代えて、本明細書に示されたいずれかの効果又は本明細書から把握され得る他の効果が奏されてもよい。
本開示の実施形態に係る情報処理システムの具体例を示す説明図である。 本開示の実施形態に係る表示装置の論理的機能の構成の具体例を示す説明図である。 表示装置に表示されるウィンドウの具体例を示す説明図である。 第1の比較例においてバイブレータの駆動が指示位置へ与える影響を説明するための説明図である。 本開示の第1の実施形態に係る指示装置の論理的機能の構成の具体例を示す説明図である。 本開示の第1の実施形態に係る指示装置が行う検出情報調整処理の具体例を説明するための説明図である。 本開示の第1の実施形態に係る指示装置が行う処理の流れの具体例を示すフローチャートである。 本開示の第1の実施形態に係る指示装置が行う検出情報調整処理の流れの具体例を示すフローチャートである。 応用例に係る情報処理装置の論理的機能の構成の具体例を示す説明図である。 第2の比較例においてバイブレータの駆動が指示位置へ与える影響を説明するための説明図である。 第2の比較例においてバイブレータの駆動が指示位置へ与える影響を説明するための説明図である。 本開示の第2の実施形態に係る指示装置の論理的機能の構成の具体例を示す説明図である。 本開示の第2の実施形態に係る指示装置が行う検出情報調整処理の具体例を説明するための説明図である。 本開示の第2の実施形態に係る指示装置が行う検出情報調整処理の流れの具体例を示すフローチャートである。 本開示の第3の実施形態に係る指示装置の論理的機能の構成の具体例を示す説明図である。 指示装置に与えられる振動の周波数特性の具体例を示す説明図である。 フィルタ処理に用いられるフィルタの周波数特性の具体例を示す説明図である。 本開示の第3の実施形態に係る指示装置が行う検出情報調整処理の流れの具体例を示すフローチャートである。 本開示の変形例に係る指示装置の論理的機能の構成の具体例を示す説明図である。 本開示に係る指示装置のハードウェア構成の具体例を示す説明図である。 ある振動呈示装置の具体例を示す外観図である。 図21に示した振動呈示装置の使用例を示す説明図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.本開示の実施形態に係る情報処理システムの概要
2.第1の実施形態に係る指示装置
2−1.第1の比較例
2−2.機能構成
2−3.動作
2−4.応用例
3.第2の実施形態に係る指示装置
3−1.第2の比較例
3−2.機能構成
3−3.動作
4.第3の実施形態に係る指示装置
4−1.機能構成
4−2.動作
4−3.変形例
5.ハードウェア構成
6.むすび
<1.本開示の実施形態に係る情報処理システムの概要>
まず、図1〜図3を参照して、本開示の実施形態に係る情報処理システム1の概要について説明する。
図1は、本開示の実施形態に係る情報処理システム1の具体例を示す説明図である。図1に示したように、情報処理システム1は、指示装置10と、表示装置20と、により構成される。
指示装置10は、本開示に係る情報処理装置の一例である。指示装置10は、ユーザに把持された状態で使用され、表示装置20の画面上に表示されるカーソルA1の表示位置をユーザの手の動きに応じて制御する。具体的には、指示装置10は、指示装置10により指示される画面上の指示位置を決定するための情報を表示装置20へ送信することにより、カーソルA1の表示位置を制御する。また、指示装置10は、指示装置10のピッチ方向D1及びヨー方向D3の動きを検出することにより、ユーザの手の動きに応じたカーソルA1の表示位置の制御を行う。
なお、指示装置10は、さらに指示装置10のロール方向D5及び並進方向の動き検出に基づいてカーソルA1の表示位置を制御してもよい。例えば、図示しない撮像装置を利用した撮像により得られた画像から指示装置10の一部である特定のオブジェクト、例えばマーカを認識し、得られた画像における認識されたマーカの位置及び大きさに基づいて指示装置10の空間上の位置を算出することにより、指示装置10の並進方向の動き検出が行われる。
指示装置10により送信される指示位置を決定するための情報は、例えば、画面上の指示位置を直接的に示す情報であってもよい。また、指示装置10により送信される指示位置を決定するための情報は、指示装置10のピッチ方向D1及びヨー方向D3の角度又は角速度を示す情報であってもよい。
また、指示装置10は、指示装置10に振動を与えるバイブレータを備える。バイブレータは、表示装置20により制御される。例えば、バイブレータは、表示装置20により指示装置10へのユーザの操作に応じて駆動させられ、指示装置10に振動を与える。それにより、ユーザへ各種情報を報知することが可能となる。
また、指示装置10は、ユーザによるコマンドを受け付けるボタンB1を備え、ボタンB1がユーザにより押下されているか否かの情報を表示装置20へ送信する。なお、指示装置10の詳細については、次節以降で説明する。
表示装置20は、画像を表示する画面を有し、画面上に各種画像を表示する。また、表示装置20は、指示装置10によって表示位置が制御されるカーソルA1を画面上に表示する。例えば、画面上において、カーソルA1は、指示装置10のピッチ方向D1及びヨー方向D3の動きに応じてそれぞれY軸方向D10及びX軸方向D30へ移動する。また、表示装置20は、各種ウィジェットを画面上にさらに表示してもよい。それにより、ユーザは、指示装置10を操作することにより、表示装置20に各種機能を発揮させることが可能となる。以下、図2を参照して、表示装置20の構成について詳細に説明する。
図2は、表示装置20の論理的機能の構成の具体例を示す説明図である。図2に示したように、表示装置20は、通信部12と、制御部14と、表示部16と、を備える。
通信部12は、表示装置20の外部の装置と通信を行う。例えば、通信部12は、有線又は無線の情報ネットワーク5を介して指示装置10と通信する。また、通信部12は、通信部12により受信された指示位置を決定するための情報及びボタンB1がユーザにより押下されているか否かの情報を制御部14へ出力する。また、通信部12は、バイブレータを制御するための駆動情報を指示装置10へ送信する。
制御部14は、表示制御部34と、振動装置制御部54を含み、表示装置20が行う各種処理を制御する。
表示制御部34は、各種画像を表示部16に表示させる。例えば、表示制御部34は、通信部12により入力された指示位置を決定するための情報に基づいて指示装置10により指示される画面上の指示位置を決定し、決定された指示位置にカーソルA1を表示させる。指示位置を決定するための情報が画面上の指示位置を直接的に示す情報である場合、表示制御部34は、当該情報が示す位置を指示位置として決定する。一方、指示位置を決定するための情報が画面上の指示位置を直接的に示す情報でない場合、表示制御部34は、指示位置を決定するための情報に変換処理を行うことにより指示位置を決定する。
振動装置制御部54は、バイブレータを制御するための駆動情報を通信部12に送信させることにより、バイブレータを制御する。例えば、振動装置制御部54は、ユーザによる指示装置10の操作に応じてバイブレータを制御する。具体的には、振動装置制御部54は、画面上に表示される特定のプッシュボタンが選択された場合にバイブレータを駆動させてもよい。また、振動装置制御部54は、画面上に表示される複数のプッシュボタンの中から選択されたプッシュボタンに応じた周波数でバイブレータを振動させてもよい。
また、振動装置制御部54は、カーソルA1が特定の位置に表示されている場合にバイブレータを駆動させてもよい。さらに、振動装置制御部54は、カーソルA1の表示位置に応じてバイブレータの振動強度を制御してもよい。具体的には、振動装置制御部54は、カーソルA1により選択可能なオブジェクトの密度が高い位置にカーソルA1が表示される場合に、カーソルA1により選択可能なオブジェクトの密度が低い位置にカーソルA1が表示される場合と比較し、バイブレータの振動の振幅が大きくなるようにバイブレータを制御してもよい。
また、カーソルA1が特定の位置に表示されている場合にバイブレータが駆動する例において、振動装置制御部54は、カーソルA1の移動方向に応じてバイブレータを制御してもよい。具体的には、振動装置制御部54は、カーソルA1の進行方向に対応する指示装置10の回転方向に与える動きが、カーソルの進行方向の反対方向に対応する指示装置10の回転方向に与える動きと比較し、小さくなるようにバイブレータを制御してもよい。
表示部16は、各種画像を画面上に表示する。例えば、表示部16は、表示制御部34により決定された指示位置にカーソルA1を表示する。当該機能は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置又はプロジェクタ(Projector)装置により実現される。
また、表示部16は、各種ウィジェットを画面上にさらに表示してもよい。例えば、表示部16は、図3に示したように、YESボタンA3及びNOボタンA5が表示されるウィンドウW1を画面上に表示してもよい。ユーザは、ウィンドウW1において、YESボタンA3又はNOボタンA5の表示領域内にカーソルA1を移動させ、指示装置10のボタンB1を操作することにより、新着メッセージを閲覧するか否かの選択をすることができる。
なお、通信部12及び制御部14としての機能と、表示部16としての機能とは、各々異なる装置により実現されてもよい。その場合、例えば、装置の各々は、相互に通信可能な有線又は無線の通信ネットワークを介して通信を行う。
<2.第1の実施形態に係る指示装置>
前節では、本開示の実施形態に係る情報処理システム1の概要について説明した。続いて、図4〜図9を参照して、本開示の第1の実施形態に係る指示装置10−1について説明する。本節において、図3に示したYESボタンA3又はNOボタンA5の表示領域内にカーソルA1が位置する状態において、指示装置10のボタンB1が押下された場合、表示装置20は、バイブレータを一定時間駆動させる例について説明する。また、本節において、YESボタンA3又はNOボタンA5の表示領域内にカーソルA1が位置する状態において、指示装置10のボタンB1の押下が解除された場合、表示装置20は、ユーザによりYES又はNOが選択されたと判断する例について説明する。
[2−1.第1の比較例]
まず、本開示の第1の実施形態に係る指示装置10−1の技術的意義を明らかにするために、第1の比較例について説明した後に、本発明の第1の実施形態に係る指示装置10−1について詳細に説明する。
図4は、バイブレータの駆動が指示位置へ与える影響を説明するための説明図である。図4において、角速度及び指示位置の成分の一例としてピッチ方向D1の角速度及び指示位置のY座標をそれぞれ例示する。
図4のAは、指示装置10により取得された指示装置10のピッチ方向D1の角速度を示す情報における指示装置10のピッチ方向D1の角速度の時間変化を示す。図4のBは、表示装置20により決定された指示位置のY座標の時間変化を示す。また、図4のBにおいて、Y1及びY2はそれぞれ図3におけるYESボタンA3又はNOボタンA5の表示領域の上端及び下端のY座標である。図4のCは、指示装置10のボタンの押下状態の時間変化を示す。図4のDは、バイブレータの駆動状態の時間変化を示す。
図4のB及び図4のCに示したように、時刻T11において、図3におけるYESボタンA3又はNOボタンA5の表示領域内にカーソルA1が位置する状態で、指示装置10のボタンが押下されると、図4のDに示したように、バイブレータが一定時間(時刻T11から時刻T12の間)駆動する。そして、指示装置10はバイブレータにより振動を与えられ、図4のAに示したように、指示装置10のピッチ方向D1の角速度の時間変化は振動波形を示す。
そして、図4のBに示した指示位置の時間変化に従って、図3におけるカーソルA1が移動する。その結果、図4のB及び図4のCに示したように、指示装置10のボタンB1の押下が解除される時刻T13において、カーソルA1はYESボタンA3又はNOボタンA5の表示領域外に位置する。ゆえに、表示装置20は、ユーザによるYES又はNOの選択がなされたと判断しない。
以上説明したように、第1の比較例において、ユーザによるコマンド入力に伴うバイブレータの駆動に起因して、予期しない指示位置の変動が生ずる。ゆえに、ユーザによる選択操作が認識されない。従って、第1の比較例において、ユーザの意図に沿った機能を実現することが困難である。
また、バイブレータにより与えられる指示装置10の加速度がセンサの基準値を超える場合、指示装置10の加速度が正確に検出されないため、指示装置10の加速度が正確に検出された場合と比較し、指示位置の変動量は大きくなり得る。このような検出エラーもまた、ユーザの意図に沿った機能の実現に悪影響を与え得る。
[2−2.機能構成]
続いて、図5及び図6を参照して、ユーザの意図に沿った操作を実現することが可能な本開示の第1の実施形態に係る指示装置10−1の論理的機能の構成を説明する。
図5は、本開示の第1の実施形態に係る指示装置10−1の論理的機能の構成の具体例を示す説明図である。図5に示したように、指示装置10−1は、入力部102と、振動部104と、検出情報取得部106と、通信部108と、調整部110と、を備える。
(入力部)
入力部102は、ユーザからのコマンドを受け付ける。入力部102の機能は、例えば、図1に示したボタンB1により実現される。なお、入力部102の機能は、タッチセンサ又はスイッチなどの入力デバイスにより実現されてもよい。入力部102は、受け付けられたコマンドを示す情報を通信部108へ出力する。
(振動部)
振動部104は、駆動情報取得部128から入力される駆動情報に応じて、指示装置10−1に振動を与える。振動部104の機能は、例えば、ERM(Eccentric Rotating Mass)、LRA(Linear Resonant Actuator)又はVCM(Voice Coil Motor)などの入力される駆動情報に応じて振動するバイブレータにより実現される。なお、バイブレータは、指示装置10−1に動きを与える駆動装置の一例に過ぎず、指示装置10−1に振動以外の動き(例えば、ハプティック技術における触覚呈示による動き)を与える駆動装置が振動部104に適用されてもよい。
なお、指示装置10−1の外部の駆動装置によってユーザへの各種情報の報知が実現されてもよく、その場合、指示装置10−1の内部構成から振動部104は省略され得る。例えば、ユーザへ各種情報を報知する外部の駆動装置は、ユーザの腕や足等に装着されるバイブレータ、ユーザを乗せる台状のバイブレータ、空気等の媒体を通じてユーザへ振動を与える装置等であってもよい。また、これら装置はユーザに把持される指示装置10−1に対しても動きを与え得る。また、指示装置10−1の外部の駆動装置によってユーザへの各種情報の報知が実現される場合、表示装置20は、駆動情報を指示装置10−1の外部の駆動装置及び指示装置10−1へ送信する。
(検出情報取得部)
検出情報取得部106は、角速度情報取得部126と、絶対角度情報取得部136と、を含む。検出情報取得部106は、指示装置10−1の動き検出に基づいて検出情報を取得し、取得された検出情報を調整部110へ出力する。
角速度情報取得部126は、指示装置10−1の動き検出に基づいて指示装置10−1の角速度を示す情報を検出情報として取得する。例えば、角速度情報取得部126の機能は、ジャイロセンサにより実現される。具体的には、角速度情報取得部126は、ジャイロセンサによる指示装置10−1の動き検出に基づいて指示装置10−1のピッチ方向D1及びヨー方向D3の角速度を示す情報を検出情報として取得する。
絶対角度情報取得部136は、指示装置10−1の動き検出に基づいて指示装置10−1の絶対角度を示す情報を検出情報として取得する。例えば、絶対角度情報取得部136の機能は、加速度センサ及び地磁気センサにより実現される。具体的には、絶対角度情報取得部136は、加速度センサ及び地磁気センサによる指示装置10−1の動き検出に基づいてそれぞれ指示装置10−1のピッチ方向D1及びヨー方向D3の絶対角度を示す情報を取得する。
なお、検出情報取得部106は、角速度情報取得部126により取得された指示装置10−1の角速度を示す情報を積算することによって、指示装置10−1の角度を示す情報を検出情報として取得してもよい。また、検出情報取得部106は、さらに指示装置10−1のロール方向D5及び並進方向の動き検出に基づいて、指示装置10−1のロール方向D5の角速度を示す情報及び絶対角度を示す情報並びに指示装置10−1の並進方向の位置を示す情報を検出情報として取得してもよい。
(通信部)
通信部108は、指示装置10−1の外部の装置と通信する。具体的には、通信部108は、有線又は無線の情報ネットワーク5を介して表示装置20と通信する。例えば、通信部108は、入力部102から入力されたコマンドを示す情報及び調整部110から入力された指示位置を決定するための情報を表示装置20へ送信する。また、通信部108は、表示装置20から送信された駆動情報を取得する駆動情報取得部128を含む。駆動情報取得部128は、取得された駆動情報を振動部104及び調整部110へ出力する。なお、通信部108は、情報ネットワーク5を介さずに表示装置20と直接的に通信してもよい。
(調整部)
調整部110は、指示装置10−1により指示される指示位置を決定するための情報を、検出情報取得部106から入力された検出情報及び駆動情報取得部128から入力された駆動情報に基づいて特定する特定部としての機能を有する。また、調整部110は、特定された指示位置を決定するための情報を通信部108へ出力する。駆動情報取得部128から入力される駆動情報は、例えば、バイブレータが振動しているか否かの情報を含み、調整部110は、バイブレータが駆動している間の検出情報を調整することにより、指示位置を決定するための情報を特定する。
例えば、調整部110は、バイブレータが駆動している間の指示装置10−1の角速度を示す情報を調整する。そして、調整部110は、調整された指示装置10−1の角速度を示す情報に積分演算を行うことにより、指示装置10−1の角度を示す情報を取得する。そして、調整部110は、取得された指示装置10−1の角度を示す情報に基づいて画面上の指示位置を直接的に示す情報を特定する。また、調整部110は、取得された指示装置10−1の角度情報を指示装置10−1の絶対角度を示す情報を用いて校正した後に、画面上の指示位置を直接的に示す情報を特定してもよい。
第1の実施形態において、調整部110は、バイブレータが駆動している間の検出情報の変化量を減少させることにより、指示位置を決定するための情報を特定する。例えば、調整部110は、バイブレータが駆動している間の指示装置10−1の角速度を示す情報の変化量を減少させることにより、画面上の指示位置を直接的に示す情報を特定する。また、調整部110により検出情報の変化量が減少させられる度合いの設定値は変更可能であってもよい。また、検出情報の変化量が減少させられることにより、検出情報の変化量はゼロとなってもよい。
また、調整部110は、検出情報取得部106による指示装置10−1の動き検出における検出方向に応じた度合いで検出情報を調整することにより、指示位置を決定するための情報を特定してもよい。例えば、調整部110は、バイブレータが駆動している間のピッチ方向D1の角速度を示す情報の変化量を、ヨー方向D3の角速度を示す情報の変化量と比較し、強い度合いで減少させてもよい。
図6は、調整部110が行う検出情報調整処理の具体例を説明するための説明図である。図6において、角速度及び指示位置の成分の一例としてピッチ方向D1の角速度及び指示位置のY座標を例示する。図6のAは、検出情報取得部106により取得された指示装置10−1のピッチ方向D1の角速度を示す情報における指示装置10−1のピッチ方向D1の角速度の時間変化を示す。図6のBは、調整部110により調整されたピッチ方向D1の角速度を示す情報における指示装置10−1のピッチ方向D1の角速度の時間変化を示す。図6のCは、調整部110により特定された画面上の指示位置を直接的に示す情報における指示位置のY座標の時間変化を示す。また、図6のCにおいて、Y1及びY2はそれぞれ図3におけるYESボタンA3又はNOボタンA5の表示領域の上端及び下端のY座標である。図6のDは、指示装置10−1のボタンB1の押下状態の時間変化を示す。図6のEは、バイブレータの駆動状態の時間変化を示す。
図6のC及び図6のDに示したように、時刻T11において、図3におけるYESボタンA3又はNOボタンA5の表示領域内にカーソルA1が位置する状態で、指示装置10−1のボタンB1が押下されると、図6のEに示したように、バイブレータが一定時間(時刻T11から時刻T12の間)駆動する。そして、指示装置10−1はバイブレータにより振動を与えられ、図6のAに示したように、検出情報取得部106により取得される指示装置10−1のピッチ方向D1の角速度を示す情報における指示装置10−1のピッチ方向D1の角速度の時間変化は振動波形を示す。
そして、第1の実施形態によれば、調整部110はバイブレータが駆動している間のピッチ方向D1の角速度を示す情報の変化量を減少させる。例えば、図6のBに示したように、時刻T11から時刻T12の間において、調整されたピッチ方向D1の角速度を示す情報における指示装置10−1のピッチ方向D1の角速度は一定の値となる。また、時刻T11から時刻T12の間において、調整後のピッチ方向D1の角速度はゼロであるため、図3におけるカーソルA1は図6のCに示した指示位置に固定される。その結果、指示装置10−1のボタンB1の押下が解除される時刻T13において、図3におけるカーソルA1はYESボタンA3又はNOボタンA5の表示領域内に位置する。ゆえに、表示装置20は、ユーザによるYES又はNOの選択がなされたと判断する。
[2−3.動作]
続いて、図7及び図8を参照して、本開示の第1の実施形態に係る指示装置10−1が行う処理の流れを説明する。
図7は、本開示の第1の実施形態に係る指示装置10−1が行う処理の流れの具体例を示すフローチャートである。図7に示したように、まず、検出情報取得部106は、指示装置10−1の角速度を示す情報を取得すると(ステップS102)、取得された角速度を示す情報を調整部110へ出力する。そして、調整部110は、バイブレータが駆動していると判定した場合(ステップS104/YES)、検出情報調整処理を行う(ステップS106)。一方、調整部110がバイブレータが駆動していると判定しない場合(ステップS104/NO)、ステップS106はスキップされる。
次に、調整部110は、調整されたピッチ方向D1の角速度を示す情報に積分処理を行うことにより、指示装置10−1の角度を示す情報を取得する(ステップS107)。そして、調整部110は、取得された指示装置10−1の角度を示す情報に基づいて画面上の指示位置を直接的に示す情報を特定し(ステップS108)、特定された指示位置を直接的に示す情報を通信部108へ出力する。そして、通信部108は、指示位置を直接的に示す情報を表示装置20へ送信する(ステップS110)。その後、上述した処理が繰り返される。
図8は、図7のステップS106において実行される検出情報調整処理の流れの具体例を示すフローチャートである。図8に示したように、まず、調整部110は、検出情報取得部106による動き検出における検出方向に応じて調整の度合いを決定する(ステップS152)。次に、調整部110は、バイブレータが駆動している間の角速度を示す情報の変化量をステップS152において決定された度合いで減少させる(ステップS154)。そして、検出情報調整処理は終了する。
上述した実施形態によれば、調整部110は、検出情報取得部106から入力された検出情報及び駆動情報取得部128から入力された駆動情報に基づいて指示装置10−1により指示される指示位置を決定するための情報を特定する。それにより、駆動装置の駆動に影響されることなく、ユーザの意図に沿った機能を実現することが可能となる。
また、上述した実施形態によれば、調整部110は、駆動装置が駆動している間の検出情報を調整することにより、指示位置を決定するための情報を特定する。それにより、駆動装置の駆動によってもたらされる、ユーザの意図に沿った機能の実現への悪影響を抑制することが可能である。
また、ある実施形態によれば、調整部110は、駆動装置が駆動している間の検出情報の変化量を減少させることにより、指示位置情報を特定する。従って、ユーザによるコマンド入力に伴う駆動装置の駆動に起因する予期しない指示位置の変動を低減することが可能である。
また、ある実施形態によれば、調整部110は、検出情報取得部106による指示装置10−1の動き検出における検出方向に応じた度合いで検出情報を調整することにより、指示位置を決定するための情報を特定する。従って、駆動装置の駆動により指示位置が変動させられやすい方向の予期しない指示位置の変動をより効果的に抑制することが可能である。
[2−4.応用例]
以上、指示装置10により指示される指示位置を決定するための情報を指示装置10が特定する例について説明した。本開示は係る例に限定されず、指示装置10により指示される指示位置を決定するための情報を特定する機能は、指示装置10及び表示装置20の各々と通信する情報処理装置により実現されてもよい。以下、図9を参照して、このような情報処理装置を説明する。
図9は、応用例に係る情報処理装置90の論理的機能の構成の具体例を示す説明図である。図9に示したように、情報処理装置90は、通信部908と、調整部910と、を備える。
通信部908は、通信部908は検出情報取得部906と、駆動情報取得部928と、を含み、情報処理装置90の外部の装置と通信する。具体的には、通信部908は、有線又は無線の情報ネットワーク9を介して指示装置10及び表示装置20と通信する。例えば、通信部908は、調整部910から入力された指示位置を決定するための情報を表示装置20へ送信する。
検出情報取得部906は、指示装置10から送信される検出情報を取得し、取得された検出情報を調整部910へ出力する。駆動情報取得部928は、表示装置20から送信される駆動情報を取得し、取得された駆動情報を調整部910へ出力する。なお、通信部908は、情報ネットワーク9を介さずに情報処理装置90の外部の装置と直接的に通信してもよい。
調整部910は、通信部908から入力された検出情報及び駆動情報に基づいて指示装置10により指示される指示位置を決定するための情報を特定し、特定された指示位置を決定するための情報を通信部908へ出力する。
<3.第2の実施形態に係る指示装置>
前節では、本開示の第1の実施形態に係る指示装置10−1を説明した。続いて、ユーザの意図に沿った指示位置を特定することを可能とする本開示の第2の実施形態に係る指示装置10−2を説明する。本節において、図3に示したYESボタンA3又はNOボタンA5の表示領域外から表示領域内にカーソルA1が侵入した場合、表示装置20は、バイブレータを一定時間駆動させる例について説明する。また、本節において、YESボタンA3又はNOボタンA5の表示領域内にカーソルA1が位置する状態において、指示装置10のボタンB1が押下された場合、表示装置20は、ユーザによりYES又はNOが選択されたと判断する例について説明する。
[3−1.第2の比較例]
まず、本開示の第2の実施形態に係る指示装置10−2の技術的意義を明らかにするために、第2の比較例について説明した後に、本発明の第2の実施形態に係る指示装置10−2について詳細に説明する。
図10及び図11は、バイブレータの駆動が指示位置へ与える影響の第1の例及び第2の例をそれぞれ説明するための説明図である。図10及び図11において、角速度及び指示位置の成分の一例としてピッチ方向D1の角速度及び指示位置のY座標を例示する。
図10及び図11のAは、指示装置10により取得されたピッチ方向D1の角速度を示す情報における指示装置10のピッチ方向D1の角速度の時間変化を示す。図10及び図11のBは、表示装置20により決定された指示位置のY座標の時間変化を示す。また、図10及び図11のBにおいて、Y1及びY2はそれぞれ図3におけるYESボタンA3又はNOボタンA5の表示領域の上端及び下端のY座標である。図10及び図11のCは、バイブレータの駆動状態の時間変化を示す。
まず、第1の例によれば、図10のBに示したように、時刻T21において、YESボタンA3又はNOボタンA5の表示領域外から表示領域内にカーソルA1が侵入すると、図10のCに示したように、バイブレータは一定時間(時刻T21から時刻T22の間)駆動する。そして、指示装置10はバイブレータにより振動を与えられ、図10のAに示したように、指示装置10のピッチ方向D1の角速度の時間変化は振動波形を示す。
そして、図10のBに示した指示位置の時間変化に従って、図3におけるカーソルA1はYESボタンA3又はNOボタンA5の表示領域から遠ざかる方向へ移動する。その結果、図10のBに示したように、時刻T22において、カーソルA1はYESボタンA3又はNOボタンA5の表示領域外に位置する。ゆえに、時刻T22において、ユーザは、YES又はNOを選択することができない。
次に、第2の例によれば、図11のBに示したように、時刻T21において、YESボタンA3又はNOボタンA5の表示領域外から表示領域内にカーソルA1が侵入すると、図11のCに示したように、バイブレータは駆動を開始する。そして、指示装置10はバイブレータにより振動を与えられ、図11のAに示したように、指示装置10のピッチ方向D1の角速度の時間変化は振動波形を示す。
そして、図11のBに示した指示位置の時間変化に従って、図3におけるカーソルA1はYESボタンA3又はNOボタンA5の表示領域から遠ざかる方向へ移動する。次に、時刻T23において、YESボタンA3又はNOボタンA5の表示領域外から表示領域内にカーソルA1が再度侵入すると、表示装置20は再度駆動情報を送信し、バイブレータは駆動を継続する。その結果、カーソルA1はYESボタンA3又はNOボタンA5の表示領域から遠ざかる方向へ再度移動する。その後、時刻T24〜T26において、同様にYESボタンA3又はNOボタンA5の表示領域へのカーソルA1による侵入が繰り返される。ゆえに、ユーザは、YES又はNOを選択することができない。
以上説明したように、第2の比較例において、画面上におけるカーソルの移動に伴うバイブレータの駆動に起因して、予期しない指示位置の変動が生ずる。ゆえに、画面上においてユーザが意図したカーソルの移動が実現されない。従って、第2の比較例において、ユーザの意図に沿った機能を実現することが困難である。
[3−2.機能構成]
続いて、図12及び図13を参照して、本開示の第2の実施形態に係る指示装置10−2の論理的機能の構成を説明する。
図12は、本開示の第2の実施形態に係る指示装置10−2の論理的機能の構成の具体例を示す説明図である。図12に示したように、本開示の第2の実施形態に係る指示装置10−2において、調整部210は推定部250を含む。
本開示の第2の実施形態において、駆動情報は、バイブレータにより指示装置10−2に与えられる動きを制御するための動き制御情報を含み、推定部250は、検出情報取得部106により取得された検出情報におけるバイブレータにより与えられる動きによる成分を動き制御情報に応じて推定する。また、調整部210は、推定された検出情報におけるバイブレータにより与えられる動きによる成分を検出情報取得部106により取得された検出情報から減算することにより指示位置を決定するための情報を特定する。また、調整部210は、特定された指示位置を決定するための情報を通信部108へ出力する。
動き制御情報は、例えば、バイブレータに印加される電圧の値を示す情報を含み、推定部250は、検出情報取得部106により取得された指示装置10−2の角速度を示す情報におけるバイブレータにより与えられる動きによる成分をバイブレータに印加される電圧の値を示す情報に応じて推定する。具体的には、推定部250は、バイブレータに印加される電圧の値に変換倍率を乗算することにより、バイブレータにより与えられる指示装置10−2の加速度を算出する。そして、推定部250は、算出された指示装置10−2の加速度に積分演算を行うことにより、指示装置10−2の速度を取得する。そして、推定部250は、取得された指示装置10−2の速度に指示装置10−2の重心とバイブレータとの距離を除算することにより、指示装置10−2の角速度を示す情報におけるバイブレータにより与えられる動きによる成分を推定する。
図13は、調整部210が行う検出情報調整処理の具体例を説明するための説明図である。図13において、角速度及び指示位置の成分の一例としてピッチ方向D1の角速度及び指示位置のY座標を例示する。図13のAは、検出情報取得部106により取得されたピッチ方向D1の角速度を示す情報における指示装置10−2のピッチ方向D1の角速度の時間変化を示す。図13のBは、調整部210により調整されたピッチ方向D1の角速度を示す情報における指示装置10−2のピッチ方向D1の角速度の時間変化を示す。図13のCは、調整部210により特定された画面上の指示位置を直接的に示す情報における指示位置のY座標の時間変化を示す。また、図13のCにおいて、Y1及びY2はそれぞれ図3におけるYESボタンA3又はNOボタンA5の上端及び下端のY座標である。図13のDは、バイブレータの駆動状態の時間変化を示す。図13のEは、バイブレータに印加される電圧の値の時間変化を示す。
図13のCに示したように、時刻T21において、YESボタンA3又はNOボタンA5の表示領域外から表示領域内にカーソルA1が侵入すると、図13のDに示したように、バイブレータが駆動する。そして、指示装置10−2はバイブレータにより振動を与えられ、図13のAに示したように、検出情報取得部106により取得される指示装置10−2のピッチ方向D1の角速度を示す情報における指示装置10−2のピッチ方向D1の角速度の時間変化は振動波形を示す。
そして、第2の実施形態によれば、調整部210は、ピッチ方向D1の角速度を示す情報におけるバイブレータにより与えられる動きによる成分を図13のEに示したバイブレータに印加される電圧の値を示す情報に応じて推定する。そして、調整部210は、推定されたピッチ方向D1の角速度を示す情報におけるバイブレータにより与えられる動きによる成分を検出情報取得部106により取得されたピッチ方向D1の角速度を示す情報から減算することにより、画面上の指示位置を直接的に示す情報を特定する。ゆえに、図13のBに示したように、時刻T21から時刻T22の間において、調整されたピッチ方向D1の角速度を示す情報におけるピッチ方向D1の角速度において、バイブレータにより与えられる動きによる成分は低減される。そして、図13のCに示したように、カーソルA1はYESボタンA3又はNOボタンA5の表示領域へ侵入した後、時刻T21と時刻T22の間、侵入方向と同一方向へ移動する。そして、時刻T22にバイブレータは振動を終了する。
[3−3.動作]
続いて、図14を参照して、本開示の第2の実施形態に係る指示装置10−2が行う検出情報調整処理の流れを説明する。以下、調整部210は角速度情報及び駆動情報に基づいて指示位置情報そのものを特定する例について説明する。
図14は、本開示の第2の実施形態に係る指示装置10−2が行う検出情報調整処理の流れの具体例を示すフローチャートである。図14に示したように、まず、調整部210は、バイブレータに印加される電圧の値を示す情報を駆動情報取得部128から取得する(ステップS252)。次に、推定部250は、検出情報取得部106により取得された指示装置10−2の角速度を示す情報におけるバイブレータにより与えられる動きによる成分をバイブレータに印加される電圧の値を示す情報に応じて推定する(ステップS254)。次に、調整部210は、推定された上記成分を検出情報取得部106により取得された角速度を示す情報から減算する(ステップS256)。そして、検出情報調整処理は終了する。
上述した実施形態によれば、調整部210は、検出情報における駆動装置により与えられる動きによる成分を動き制御情報に応じて推定し、推定された検出情報における駆動装置により与えられる動きによる成分を検出情報から減算することにより指示位置を決定するための情報を特定する。それにより、ユーザの意図に沿った指示位置を特定することが可能である。
<4.第3の実施形態に係る指示装置>
前節では、本開示の第2の実施形態に係る指示装置10−2を説明した。続いて、フィルタ処理によって、ユーザの意図に沿った指示位置を特定することを可能とする本開示の第3の実施形態に係る指示装置10−3を説明する。
[4−1.機能構成]
まず、図15〜図17を参照して、本開示の第3の実施形態に係る指示装置10−3の論理的機能の構成を説明する。
図15は、本開示の第3の実施形態に係る指示装置10−3の論理的機能の構成の具体例を示す説明図である。図15に示したように、本開示の第3の実施形態に係る指示装置10−3は、フィルタ処理部310と、記憶部370と、を含む。
フィルタ処理部310は、検出情報取得部106により取得されたバイブレータが駆動している間の検出情報にフィルタ処理を行うことにより指示位置を決定するための情報を特定する特定部としての機能を有する。具体的には、フィルタ処理部310は、バイブレータが駆動している間の検出情報にバイブレータにより指示装置10−3に与えられる振動の周波数成分を減衰させるフィルタを用いてフィルタ処理を行うことにより、指示位置を決定するための情報を特定する。また、フィルタ処理部310は、特定された指示位置を決定するための情報を通信部108へ出力する。
図16は、バイブレータにより指示装置10−3に与えられる振動の周波数特性の具体例を示す説明図である。図16に示した周波数特性は、周波数F1、F2及びF3にピークを有する。図17は、フィルタ処理部310によるフィルタ処理に用いられるフィルタの周波数特性の具体例を示す説明図である。図17に示した周波数特性もまた、図16に示した周波数特性と同様に、周波数F1、F2及びF3にピークを有する。ゆえに、図17に示した周波数特性を有するフィルタは、図16に示した周波数特性を有する振動の周波数成分を減衰させることが可能である。例えば、フィルタ処理部310は、検出情報に図17に示した周波数特性を有するフィルタを用いてフィルタ処理を行う。それにより、検出情報におけるバイブレータにより与えられる振動による成分を低減させることが可能となる。
フィルタ処理に用いられるフィルタに適用されるフィルタ係数データは記憶部370に予め記憶されており、フィルタ処理部310は、フィルタ係数データを記憶部370から取得することによりフィルタ処理を行う。
また、駆動情報は、例えば、バイブレータにより指示装置10−3に与えられる振動を制御するための振動制御情報を含み、フィルタ処理部310は、振動制御情報に応じたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報を特定してもよい。
例えば、振動制御情報の各々について事前に決定されるフィルタ候補に適用されるフィルタ係数データが記憶部370に予め記憶されており、フィルタ処理部310は、振動制御情報に応じて複数のフィルタ候補からフィルタを選択し、選択されたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報を特定してもよい。具体的には、フィルタ処理部310は、選択されたフィルタに適用されるフィルタ係数データを記憶部370から取得することによりフィルタ処理を行う。
[4−2.動作]
続いて、図18を参照して、本開示の第3の実施形態に係る指示装置10−3が行う検出情報調整処理の流れを説明する。
図18は、本開示の第3の実施形態に係る指示装置10−3が行う検出情報調整処理の流れの具体例を示すフローチャートである。図18に示したように、まず、フィルタ処理部310は、記憶部370からフィルタ係数データを取得する(ステップS352)。次に、フィルタ処理部310は、取得されたフィルタ係数データが適用されたフィルタを用いて、指示装置10−3の角速度を示す情報にフィルタ処理を行う(ステップS354)。そして、検出情報調整処理は終了する。
上述した実施形態によれば、フィルタ処理部310は、駆動装置により指示装置10−3に与えられる振動の周波数成分を減衰させるフィルタを用いてフィルタ処理を行うことにより、指示位置を決定するための情報を特定する。従って、検出情報における駆動装置により与えられる振動による成分を低減させることにより、ユーザの意図に沿った指示位置を特定することが可能である。
また、ある実施形態によれば、フィルタ処理部310は、振動制御情報に応じたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報を特定する。それにより、駆動装置により与えられる振動の周波数特性が固定的でない場合であっても、ユーザの意図に沿った指示位置を特定することが可能である。
また、ある実施形態によれば、フィルタ処理部310は、振動制御情報に応じて事前に決定される複数のフィルタ候補からフィルタを選択し、選択されたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報を特定する。ゆえに、駆動装置が振動を開始した場合、迅速にフィルタ処理を行うことができる。従って、少ない遅延と共に指示位置を決定するための情報を特定することが可能である。
[4−3.変形例]
前節では、予め記憶されたフィルタ係数データを用いてフィルタ処理を行う例を説明した。以下、フィルタ候補を事前に決定し得ない場合であっても、ユーザの意図に沿った指示位置を特定することが可能な変形例を説明する。
図19は、本開示の変形例に係る指示装置10−4の論理的機能の構成の具体例を示す説明図である。図19に示したように、変形例に係る指示装置10−4において、フィルタ処理部410は生成部450を含む。
フィルタ処理部410は、振動制御情報に応じてフィルタを生成し、生成されたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報を特定してもよい。例えば、フィルタ処理部410は、駆動情報取得部128から入力されるバイブレータの振動波形を制御するための信号を高速フーリエ変換することによって、バイブレータにより指示装置10−4に与えられる振動の周波数成分を減衰させるフィルタを生成する。
以上説明したように、変形例によれば、フィルタ処理部410は、振動制御情報に応じてフィルタを生成し、生成されたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報を特定する。それにより、フィルタ候補を事前に決定し得ない場合であっても、ユーザの意図に沿った指示位置を特定することが可能である。また、フィルタ係数データを記憶しておかなくてよいため、メモリを節約することが可能である。
<5.ハードウェア構成>
以上、本開示の実施形態を説明した。上述した指示装置10の処理は、ソフトウェアと、以下に説明する指示装置10のハードウェアとの協働により実現される。
図20は、本開示に係る指示装置10のハードウェア構成を示した説明図である。図20に示したように、指示装置10は、CPU(Central Processing Unit)142と、ROM(Read Only Memory)144と、RAM(Random Access Memory)146と、ブリッジ148と、バス150と、インターフェース152と、入力装置154と、出力装置156と、ストレージ装置158と、通信装置160とを備える。
CPU142は、演算処理装置として機能し、各種プログラムと協働して指示装置10−1の調整部110、指示装置10−2の調整部210、指示装置10−3のフィルタ処理部310又は指示装置10−4のフィルタ処理部410の動作を実現する。また、CPU142は、マイクロプロセッサであってもよい。ROM144は、CPU142が使用するプログラムまたは演算パラメータ等を記憶する。RAM146は、CPU142の実行にいて使用するプログラムまたは実行において適宜変化するパラメータ等を一時記憶する。CPU142、ROM144およびRAM146は、CPUバスなどから構成される内部バスにより相互に接続されている。
入力装置154は、指示装置10の入力部102の一例として、例えば、ボタン、タッチセンサ又はスイッチなどを含むユーザが情報を入力するための入力手段であり、ユーザによる入力に基づいて入力信号を生成し、CPU142に出力する入力制御回路などから構成されている。ユーザは、入力装置154を操作することにより、指示装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置156は、指示装置10の振動部104の一例として、例えば、ERM(Eccentric Rotating Mass)、LRA(Linear Resonant Actuator)又はVCM(Voice Coil Motor)などの装置を含む。
ストレージ装置158は、データ格納用の装置である。ストレージ装置158は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置158は、CPU142が実行するプログラムや各種データを格納する。
通信装置160は、例えば、ネットワークに接続するための通信デバイスで構成された通信インターフェースである。また、通信装置160は、赤外線通信対応装置であっても、無線LAN(Local Area Network)対応通信装置であっても、LTE(Long Term Evolution)対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
<6.むすび>
以上説明したように、本開示の実施形態によれば、対象物の動き検出に基づいて得られる検出情報及び対象物に動きを与える駆動装置を制御するための駆動情報に基づいて対象物により指示される指示位置を決定するための情報が特定される。それにより、駆動装置の駆動に影響されることなく、ユーザの意図に沿った機能を実現することが可能となる。
また、本開示の実施形態によれば、駆動装置が駆動している間の検出情報を調整することにより、指示位置を決定するための情報が特定される。それにより、駆動装置の駆動によってもたらされる、ユーザの意図に沿った機能の実現への悪影響を抑制することが可能である。
また、ある実施形態によれば、駆動装置が駆動している間の検出情報の変化量を減少させることにより、指示位置情報が特定される。従って、ユーザによるコマンド入力に伴う駆動装置の駆動に起因する予期しない指示位置の変動を抑制することが可能である。
また、ある実施形態によれば、対象物の動き検出における検出方向に応じた度合いで検出情報を調整することにより、指示位置を決定するための情報が特定される。従って、駆動装置の駆動により指示位置が変動させられやすい方向の予期しない指示位置の変動をより効果的に抑制することが可能である。
また、ある実施形態によれば、検出情報における駆動装置により与えられる動きによる成分を動き制御情報に応じて推定し、推定された検出情報における駆動装置により与えられる動きによる成分を検出情報から減算することにより指示位置を決定するための情報が特定される。それにより、ユーザの意図に沿った指示位置を特定することが可能である。
また、ある実施形態によれば、駆動装置により対象物に与えられる振動の周波数成分を減衰させるフィルタを用いてフィルタ処理を行うことにより、指示位置を決定するための情報が特定される。従って、検出情報における駆動装置により与えられる振動による成分を低減させることにより、ユーザの意図に沿った指示位置を特定することが可能である。
また、ある実施形態によれば、振動制御情報に応じたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報が特定される。それにより、駆動装置により与えられる振動の周波数特性が固定的でない場合であっても、ユーザの意図に沿った指示位置を特定することが可能である。
また、ある実施形態によれば、振動制御情報に応じて事前に決定される複数のフィルタ候補からフィルタを選択し、選択されたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報が特定される。ゆえに、駆動装置が振動を開始した場合、迅速にフィルタ処理を行うことができる。従って、少ない遅延と共に指示位置を決定するための情報を特定することが可能である。
また、ある変形例によれば、振動制御情報に応じてフィルタを生成し、生成されたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報が特定される。それにより、フィルタ候補を事前に決定し得ない場合であっても、ユーザの意図に沿った指示位置を特定することが可能である。また、フィルタ係数データを記憶しておかなくてよいため、メモリを節約することが可能である。
なお、本明細書において説明した各装置による一連の制御処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。ソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記憶媒体(非一時的な媒体:non-transitory media)に予め格納される。そして、各プログラムは、例えば、実行時にRAMに読み込まれ、CPUなどのプロセッサにより実行される。
また、本明細書において説明した指示位置を決定するための情報の特定処理は、ゴルフのスイングを改善するために用いられる振動呈示装置にも適用可能である。図21は、ユーザに装着される振動呈示装置10−9の具体例を示す外観図である。
例えば、振動呈示装置10−9は、振動呈示装置10−9の動き検出に基づいて得られる検出情報に基づいてクラブヘッド位置を示す情報を特定する。また、振動呈示装置10−9は、特定されたクラブヘッド位置を示す情報と基準軌道を示す情報とを比較し、比較結果に基づいて振動し、ユーザに振動を呈示する。例えば、振動呈示装置10−9は、図22における特定されたクラブヘッド位置からなる軌道P1と基準軌道P2とを比較する。そして、振動呈示装置10−9は、例えば、軌道P1におけるクラブヘッド位置が基準軌道P2から一定距離以内の領域に位置する場合にユーザに振動を呈示する。
振動呈示装置10−9において、振動呈示装置10−9により呈示される振動に起因して、予期しないクラブヘッドの位置の変動が生じる。ゆえに、クラブヘッドの位置は、基準軌道P2から一定距離以内の領域から外れ得る。従って、振動呈示装置10−9により呈示される振動は、ユーザの意図に沿った機能に悪影響を与え得る。ゆえに、本明細書において説明した指示位置を決定するための情報の特定処理と同様に、振動呈示装置10−9の動き検出に基づいて得られる検出情報及び振動呈示装置10−9を制御するための駆動情報に基づいてクラブヘッド位置を示す情報を特定することにより、ユーザの意図に沿った機能を実現することが可能となる。
また、本明細書においてフローチャートを用いて説明した処理は、必ずしもフローチャートに示された順序で実行されなくてもよい。いくつかの処理ステップは、並列的に実行されてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
対象物に動きを与える駆動装置を制御するための駆動情報を取得する取得部と、
前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び前記取得部により取得された前記駆動情報に基づいて特定する特定部と、
を備える情報処理装置。
(2)
前記駆動情報は、前記駆動装置が駆動しているか否かの情報を含み、
前記特定部は、前記駆動装置が駆動している間の前記検出情報を調整することにより、前記指示位置を決定するための情報を特定する、
前記(1)に記載の情報処理装置。
(3)
前記特定部は、前記駆動装置が駆動している間の前記検出情報の変化量を減少させることにより、前記指示位置を決定するための情報を特定する、前記(2)に記載の情報処理装置。
(4)
前記駆動情報は、前記駆動装置により前記対象物に与えられる動きを制御するための動き制御情報を含み、
前記特定部は、前記検出情報における前記駆動装置により与えられる動きによる成分を前記動き制御情報に応じて推定し、推定された前記成分を前記検出情報から減算することにより、前記指示位置を決定するための情報を特定する、前記(2)に記載の情報処理装置。
(5)
前記特定部は、前記駆動装置により前記対象物に与えられる振動の周波数成分を減衰させるフィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定する、前記(2)に記載の情報処理装置。
(6)
前記駆動情報は、前記駆動装置により前記対象物に与えられる振動を制御するための振動制御情報を含み、
前記特定部は、前記振動制御情報に応じた前記フィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定する、
前記(5)に記載の情報処理装置。
(7)
前記特定部は、前記振動制御情報に応じて複数のフィルタ候補から前記フィルタを選択し、選択された前記フィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定し、
前記情報処理装置は、前記振動制御情報の各々について事前に決定される前記フィルタ候補に適用されるフィルタ係数データを記憶する記憶部を備える、
前記(6)に記載の情報処理装置。
(8)
前記特定部は、前記振動制御情報に応じて前記フィルタを生成し、生成された前記フィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定する、前記(6)に記載の情報処理装置。
(9)
前記特定部は、前記動き検出における検出方向に応じた度合いで前記検出情報を調整することにより、前記指示位置を決定するための情報を特定する、前記(2)から前記(8)のいずれか一項に記載の情報処理装置。
(10)
対象物に動きを与える駆動装置を制御するための駆動情報を情報処理装置により取得することと、
前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び取得された前記駆動情報に基づいて特定することと、
を含む情報処理方法。
(11)
情報処理装置を制御するコンピュータを、
対象物に動きを与える駆動装置を制御するための駆動情報を取得する取得部と、
前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び前記取得部により取得された前記駆動情報に基づいて特定する特定部と、
として機能させるためのプログラム。
1 情報処理システム
5、9 情報ネットワーク
10、10−1、10−2、10−3、10−4 指示装置
12 通信部
14 制御部
16 表示部
20 表示装置
34 表示制御部
54 振動装置制御部
90 情報処理装置
102 入力部
104 振動部
106、906 検出情報取得部
108、908 通信部
110、210、910 調整部
126 角速度情報取得部
128、928 駆動情報取得部
136 絶対角度情報取得部
142 CPU
144 ROM
146 RAM
148 ブリッジ
150 バス
152 インターフェース
154 入力装置
156 出力装置
158 ストレージ装置
160 通信装置
250 推定部
310、410 フィルタ処理部
370 記憶部
450 生成部

Claims (11)

  1. 対象物に動きを与える駆動装置を制御するための駆動情報を取得する取得部と、
    前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び前記取得部により取得された前記駆動情報に基づいて特定する特定部と、
    を備える情報処理装置。
  2. 前記駆動情報は、前記駆動装置が駆動しているか否かの情報を含み、
    前記特定部は、前記駆動装置が駆動している間の前記検出情報を調整することにより、前記指示位置を決定するための情報を特定する、
    請求項1に記載の情報処理装置。
  3. 前記特定部は、前記駆動装置が駆動している間の前記検出情報の変化量を減少させることにより、前記指示位置を決定するための情報を特定する、請求項2に記載の情報処理装置。
  4. 前記駆動情報は、前記駆動装置により前記対象物に与えられる動きを制御するための動き制御情報を含み、
    前記特定部は、前記検出情報における前記駆動装置により与えられる動きによる成分を前記動き制御情報に応じて推定し、推定された前記成分を前記検出情報から減算することにより、前記指示位置を決定するための情報を特定する、請求項2に記載の情報処理装置。
  5. 前記特定部は、前記駆動装置により前記対象物に与えられる振動の周波数成分を減衰させるフィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定する、請求項2に記載の情報処理装置。
  6. 前記駆動情報は、前記駆動装置により前記対象物に与えられる振動を制御するための振動制御情報を含み、
    前記特定部は、前記振動制御情報に応じた前記フィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定する、
    請求項5に記載の情報処理装置。
  7. 前記特定部は、前記振動制御情報に応じて複数のフィルタ候補から前記フィルタを選択し、選択された前記フィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定し、
    前記情報処理装置は、前記振動制御情報の各々について事前に決定される前記フィルタ候補に適用されるフィルタ係数データを記憶する記憶部を備える、
    請求項6に記載の情報処理装置。
  8. 前記特定部は、前記振動制御情報に応じて前記フィルタを生成し、生成された前記フィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定する、請求項6に記載の情報処理装置。
  9. 前記特定部は、前記動き検出における検出方向に応じた度合いで前記検出情報を調整することにより、前記指示位置を決定するための情報を特定する、請求項2に記載の情報処理装置。
  10. 対象物に動きを与える駆動装置を制御するための駆動情報を情報処理装置により取得することと、
    前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び取得された前記駆動情報に基づいて特定することと、
    を含む情報処理方法。
  11. 情報処理装置を制御するコンピュータを、
    対象物に動きを与える駆動装置を制御するための駆動情報を取得する取得部と、
    前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び前記取得部により取得された前記駆動情報に基づいて特定する特定部と、
    として機能させるためのプログラム。
JP2015010968A 2015-01-23 2015-01-23 情報処理装置、情報処理方法及びプログラム Pending JP2016136306A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015010968A JP2016136306A (ja) 2015-01-23 2015-01-23 情報処理装置、情報処理方法及びプログラム
PCT/JP2016/050735 WO2016117417A1 (ja) 2015-01-23 2016-01-12 情報処理装置、情報処理方法及びプログラム
US15/542,192 US11068063B2 (en) 2015-01-23 2016-01-12 Information processing apparatus and method for adjusting detection information based on movement imparted by a vibrator
EP16740024.1A EP3249500B1 (en) 2015-01-23 2016-01-12 Information processing device, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015010968A JP2016136306A (ja) 2015-01-23 2015-01-23 情報処理装置、情報処理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2016136306A true JP2016136306A (ja) 2016-07-28

Family

ID=56416964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015010968A Pending JP2016136306A (ja) 2015-01-23 2015-01-23 情報処理装置、情報処理方法及びプログラム

Country Status (4)

Country Link
US (1) US11068063B2 (ja)
EP (1) EP3249500B1 (ja)
JP (1) JP2016136306A (ja)
WO (1) WO2016117417A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021067877A (ja) 2019-10-25 2021-04-30 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、ヘッドマウントディスプレイ、および画像表示方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07284166A (ja) * 1993-03-12 1995-10-27 Mitsubishi Electric Corp 遠隔操作装置
US6020876A (en) * 1997-04-14 2000-02-01 Immersion Corporation Force feedback interface with selective disturbance filter
US6252579B1 (en) * 1997-08-23 2001-06-26 Immersion Corporation Interface device and method for providing enhanced cursor control with force feedback
US6067077A (en) * 1998-04-10 2000-05-23 Immersion Corporation Position sensing for force feedback devices
JP2004070920A (ja) 2002-06-11 2004-03-04 Sony Computer Entertainment Inc 情報処理プログラム、情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体、情報処理方法、及び情報処理装置
US9317108B2 (en) * 2004-11-02 2016-04-19 Pierre A. Touma Hand-held wireless electronic device with accelerometer for interacting with a display
EP1967942A1 (en) * 2005-10-26 2008-09-10 Sony Computer Entertainment America, Inc. System and method for interfacing and computer program
US7969418B2 (en) * 2006-11-30 2011-06-28 Cherif Atia Algreatly 3-D computer input device and method
TWI317498B (en) * 2006-12-12 2009-11-21 Ind Tech Res Inst Inertial input apparatus with six-axial detection ability and the opearting method thereof
KR100818990B1 (ko) * 2006-12-28 2008-04-04 삼성전자주식회사 움직임 신호를 변환하는 장치 및 방법
US9174122B2 (en) * 2007-07-09 2015-11-03 Sony Corporation Game controller
JP4892443B2 (ja) 2007-07-09 2012-03-07 株式会社ソニー・コンピュータエンタテインメント ゲームコントローラ
JP2009289015A (ja) 2008-05-29 2009-12-10 Sharp Corp 力覚付与型入力装置
KR20100018125A (ko) * 2008-08-06 2010-02-17 삼성전자주식회사 휴대용 단말기의 마우스 포인팅 방법 및 장치
US20100295667A1 (en) * 2009-05-22 2010-11-25 Electronics And Telecommunications Research Institute Motion based pointing apparatus providing haptic feedback and control method thereof
CN103649872A (zh) * 2012-07-13 2014-03-19 索尼电脑娱乐公司 输入装置、信息处理***、信息处理装置及信息处理方法
US10254838B2 (en) * 2014-12-23 2019-04-09 Immersion Corporation Architecture and communication protocol for haptic output devices
JP6083910B1 (ja) * 2015-11-24 2017-02-22 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
EP3249500B1 (en) 2021-09-01
WO2016117417A1 (ja) 2016-07-28
US11068063B2 (en) 2021-07-20
EP3249500A1 (en) 2017-11-29
US20180267616A1 (en) 2018-09-20
EP3249500A4 (en) 2018-08-22

Similar Documents

Publication Publication Date Title
JP5675627B2 (ja) 身振り認識を伴うモバイルデバイス
JP6008331B2 (ja) 触覚提示装置および触覚提示装置の駆動方法、駆動プログラム
JP5594733B2 (ja) 情報処理装置、情報処理方法、情報記憶媒体及びプログラム
US10572017B2 (en) Systems and methods for providing dynamic haptic playback for an augmented or virtual reality environments
JP2018516422A (ja) スマートホームのためのジェスチャ制御システム及び方法
JP2016521894A (ja) 検出されたジェスチャーに基づいてデバイス動作を実行するためのシステムおよび方法
US8922351B2 (en) Display apparatus, information processing system, recording medium and television receiver
JP2015099574A (ja) 認識装置、認識方法、認識プログラム及び端末装置
US10949069B2 (en) Shake event detection system
WO2013031134A1 (en) Information processing apparatus, information processing method, and program
JPWO2017030193A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2015007832A (ja) 画像処理装置、画像処理方法及びプログラム
WO2016117417A1 (ja) 情報処理装置、情報処理方法及びプログラム
KR102248741B1 (ko) 디스플레이 장치 및 그 제어 방법
CN107957781A (zh) 信息显示方法及装置
JP2016015078A (ja) 表示制御装置、表示制御方法、及び、プログラム
JP5247907B1 (ja) データ取得装置、データ取得システム、データ取得装置の制御方法、及びプログラム
JPWO2019043787A1 (ja) 振動制御装置
WO2016035621A1 (ja) 情報処理装置、情報処理方法およびプログラム
JP2010146358A (ja) 情報表示装置および方法
JP2017045472A (ja) タッチパネル式装置によるヘッドマウントディスプレイ上のポインタ操作が可能なシステム、プログラム、及び方法
JP5475163B2 (ja) データ取得装置、データ取得システム、データ取得装置の制御方法、及びプログラム
JP2016003899A (ja) 電子機器、および制御プログラム
JP2015156135A (ja) 表示装置、方法及びプログラム
JP2015032019A (ja) 電子機器、および電子機器の制御プログラム