(57)【要約】      （修正有）【課題】ユーザのジェスチャに基づいて動作する装置において、臨場感を高める等の目的で装置に振動が与えられた場合であっても、ユーザの意図に沿った機能を実現する情報処理装置、方法及びプログラムを提供する。【解決手段】対象物１０−１（指示装置）に動きを与える駆動部１０４を制御するための駆動情報を取得する駆動情報取得部１２８と、対象物により指示される指示位置を決定するための情報を対象物の動き検出に基づいて得る検出情報取得部１０６と、検出情報取得部１０６で取得された検出情報及び駆動情報取得部１２８により取得された駆動情報に基づいて指示位置を決定するための情報を特定する調整部１１０と、を備える。【選択図】図５
2016136306.tif 000002
【特許請求の範囲】
【請求項１】
対象物に動きを与える駆動装置を制御するための駆動情報を取得する取得部と、
前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び前記取得部により取得された前記駆動情報に基づいて特定する特定部と、
を備える情報処理装置。
【請求項２】
前記駆動情報は、前記駆動装置が駆動しているか否かの情報を含み、
前記特定部は、前記駆動装置が駆動している間の前記検出情報を調整することにより、前記指示位置を決定するための情報を特定する、
請求項１に記載の情報処理装置。
【請求項３】
前記特定部は、前記駆動装置が駆動している間の前記検出情報の変化量を減少させることにより、前記指示位置を決定するための情報を特定する、請求項２に記載の情報処理装置。
【請求項４】
前記駆動情報は、前記駆動装置により前記対象物に与えられる動きを制御するための動き制御情報を含み、
前記特定部は、前記検出情報における前記駆動装置により与えられる動きによる成分を前記動き制御情報に応じて推定し、推定された前記成分を前記検出情報から減算することにより、前記指示位置を決定するための情報を特定する、請求項２に記載の情報処理装置。
【請求項５】
前記特定部は、前記駆動装置により前記対象物に与えられる振動の周波数成分を減衰させるフィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定する、請求項２に記載の情報処理装置。
【請求項６】
前記駆動情報は、前記駆動装置により前記対象物に与えられる振動を制御するための振動制御情報を含み、
前記特定部は、前記振動制御情報に応じた前記フィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定する、
請求項５に記載の情報処理装置。
【請求項７】
前記特定部は、前記振動制御情報に応じて複数のフィルタ候補から前記フィルタを選択し、選択された前記フィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定し、
前記情報処理装置は、前記振動制御情報の各々について事前に決定される前記フィルタ候補に適用されるフィルタ係数データを記憶する記憶部を備える、
請求項６に記載の情報処理装置。
【請求項８】
前記特定部は、前記振動制御情報に応じて前記フィルタを生成し、生成された前記フィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定する、請求項６に記載の情報処理装置。
【請求項９】
前記特定部は、前記動き検出における検出方向に応じた度合いで前記検出情報を調整することにより、前記指示位置を決定するための情報を特定する、請求項２に記載の情報処理装置。
【請求項１０】
対象物に動きを与える駆動装置を制御するための駆動情報を情報処理装置により取得することと、
前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び取得された前記駆動情報に基づいて特定することと、
を含む情報処理方法。
【請求項１１】
情報処理装置を制御するコンピュータを、
対象物に動きを与える駆動装置を制御するための駆動情報を取得する取得部と、
前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び前記取得部により取得された前記駆動情報に基づいて特定する特定部と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、直観的な操作を実現するために、ユーザのジェスチャに基づいて動作する装置が利用されている。
【０００３】
例えば、特許文献１には、姿勢の変化を検出することによりユーザのジェスチャを判定し、ユーザのジェスチャに基づく制御信号を送信する装置を利用した技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−３７５８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ユーザのジェスチャに基づいて動作する装置を利用した技術において、ユーザの意図に沿った機能を実現することが困難である場合が少なくない。例えば、特許文献１に開示されている技術では、臨場感を高める等の目的でユーザに振動が与えられた場合に、検出される装置の姿勢が当該振動により影響を与えられ得るため、ユーザの意図に沿った機能を実現することが困難である。
【０００６】
そこで、本開示では、ユーザの意図に沿った機能を実現することが可能な、新規かつ改良された情報処理装置、情報処理方法及びプログラムを提案する。
【課題を解決するための手段】
【０００７】
本開示によれば、対象物に動きを与える駆動装置を制御するための駆動情報を取得する取得部と、前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び前記取得部により取得された前記駆動情報に基づいて特定する特定部と、を備える情報処理装置が提供される。
【０００８】
また、本開示によれば、対象物に動きを与える駆動装置を制御するための駆動情報を情報処理装置により取得することと、前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び取得された前記駆動情報に基づいて特定することと、を含む情報処理方法が提供される。
【０００９】
また、本開示によれば、情報処理装置を制御するコンピュータを、対象物に動きを与える駆動装置を制御するための駆動情報を取得する取得部と、前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び前記取得部により取得された前記駆動情報に基づいて特定する特定部と、として機能させるためのプログラムが提供される。
【発明の効果】
【００１０】
以上説明したように本開示によれば、ユーザの意図に沿った機能を実現することが可能である。
【００１１】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、又は上記の効果に代えて、本明細書に示されたいずれかの効果又は本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１２】
【図１】本開示の実施形態に係る情報処理システムの具体例を示す説明図である。
【図２】本開示の実施形態に係る表示装置の論理的機能の構成の具体例を示す説明図である。
【図３】表示装置に表示されるウィンドウの具体例を示す説明図である。
【図４】第１の比較例においてバイブレータの駆動が指示位置へ与える影響を説明するための説明図である。
【図５】本開示の第１の実施形態に係る指示装置の論理的機能の構成の具体例を示す説明図である。
【図６】本開示の第１の実施形態に係る指示装置が行う検出情報調整処理の具体例を説明するための説明図である。
【図７】本開示の第１の実施形態に係る指示装置が行う処理の流れの具体例を示すフローチャートである。
【図８】本開示の第１の実施形態に係る指示装置が行う検出情報調整処理の流れの具体例を示すフローチャートである。
【図９】応用例に係る情報処理装置の論理的機能の構成の具体例を示す説明図である。
【図１０】第２の比較例においてバイブレータの駆動が指示位置へ与える影響を説明するための説明図である。
【図１１】第２の比較例においてバイブレータの駆動が指示位置へ与える影響を説明するための説明図である。
【図１２】本開示の第２の実施形態に係る指示装置の論理的機能の構成の具体例を示す説明図である。
【図１３】本開示の第２の実施形態に係る指示装置が行う検出情報調整処理の具体例を説明するための説明図である。
【図１４】本開示の第２の実施形態に係る指示装置が行う検出情報調整処理の流れの具体例を示すフローチャートである。
【図１５】本開示の第３の実施形態に係る指示装置の論理的機能の構成の具体例を示す説明図である。
【図１６】指示装置に与えられる振動の周波数特性の具体例を示す説明図である。
【図１７】フィルタ処理に用いられるフィルタの周波数特性の具体例を示す説明図である。
【図１８】本開示の第３の実施形態に係る指示装置が行う検出情報調整処理の流れの具体例を示すフローチャートである。
【図１９】本開示の変形例に係る指示装置の論理的機能の構成の具体例を示す説明図である。
【図２０】本開示に係る指示装置のハードウェア構成の具体例を示す説明図である。
【図２１】ある振動呈示装置の具体例を示す外観図である。
【図２２】図２１に示した振動呈示装置の使用例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
なお、説明は以下の順序で行うものとする。
１．本開示の実施形態に係る情報処理システムの概要
２．第１の実施形態に係る指示装置
２−１．第１の比較例
２−２．機能構成
２−３．動作
２−４．応用例
３．第２の実施形態に係る指示装置
３−１．第２の比較例
３−２．機能構成
３−３．動作
４．第３の実施形態に係る指示装置
４−１．機能構成
４−２．動作
４−３．変形例
５．ハードウェア構成
６．むすび
【００１５】
＜１．本開示の実施形態に係る情報処理システムの概要＞
まず、図１〜図３を参照して、本開示の実施形態に係る情報処理システム１の概要について説明する。
【００１６】
図１は、本開示の実施形態に係る情報処理システム１の具体例を示す説明図である。図１に示したように、情報処理システム１は、指示装置１０と、表示装置２０と、により構成される。
【００１７】
指示装置１０は、本開示に係る情報処理装置の一例である。指示装置１０は、ユーザに把持された状態で使用され、表示装置２０の画面上に表示されるカーソルＡ１の表示位置をユーザの手の動きに応じて制御する。具体的には、指示装置１０は、指示装置１０により指示される画面上の指示位置を決定するための情報を表示装置２０へ送信することにより、カーソルＡ１の表示位置を制御する。また、指示装置１０は、指示装置１０のピッチ方向Ｄ１及びヨー方向Ｄ３の動きを検出することにより、ユーザの手の動きに応じたカーソルＡ１の表示位置の制御を行う。
【００１８】
なお、指示装置１０は、さらに指示装置１０のロール方向Ｄ５及び並進方向の動き検出に基づいてカーソルＡ１の表示位置を制御してもよい。例えば、図示しない撮像装置を利用した撮像により得られた画像から指示装置１０の一部である特定のオブジェクト、例えばマーカを認識し、得られた画像における認識されたマーカの位置及び大きさに基づいて指示装置１０の空間上の位置を算出することにより、指示装置１０の並進方向の動き検出が行われる。
【００１９】
指示装置１０により送信される指示位置を決定するための情報は、例えば、画面上の指示位置を直接的に示す情報であってもよい。また、指示装置１０により送信される指示位置を決定するための情報は、指示装置１０のピッチ方向Ｄ１及びヨー方向Ｄ３の角度又は角速度を示す情報であってもよい。
【００２０】
また、指示装置１０は、指示装置１０に振動を与えるバイブレータを備える。バイブレータは、表示装置２０により制御される。例えば、バイブレータは、表示装置２０により指示装置１０へのユーザの操作に応じて駆動させられ、指示装置１０に振動を与える。それにより、ユーザへ各種情報を報知することが可能となる。
【００２１】
また、指示装置１０は、ユーザによるコマンドを受け付けるボタンＢ１を備え、ボタンＢ１がユーザにより押下されているか否かの情報を表示装置２０へ送信する。なお、指示装置１０の詳細については、次節以降で説明する。
【００２２】
表示装置２０は、画像を表示する画面を有し、画面上に各種画像を表示する。また、表示装置２０は、指示装置１０によって表示位置が制御されるカーソルＡ１を画面上に表示する。例えば、画面上において、カーソルＡ１は、指示装置１０のピッチ方向Ｄ１及びヨー方向Ｄ３の動きに応じてそれぞれＹ軸方向Ｄ１０及びＸ軸方向Ｄ３０へ移動する。また、表示装置２０は、各種ウィジェットを画面上にさらに表示してもよい。それにより、ユーザは、指示装置１０を操作することにより、表示装置２０に各種機能を発揮させることが可能となる。以下、図２を参照して、表示装置２０の構成について詳細に説明する。
【００２３】
図２は、表示装置２０の論理的機能の構成の具体例を示す説明図である。図２に示したように、表示装置２０は、通信部１２と、制御部１４と、表示部１６と、を備える。
【００２４】
通信部１２は、表示装置２０の外部の装置と通信を行う。例えば、通信部１２は、有線又は無線の情報ネットワーク５を介して指示装置１０と通信する。また、通信部１２は、通信部１２により受信された指示位置を決定するための情報及びボタンＢ１がユーザにより押下されているか否かの情報を制御部１４へ出力する。また、通信部１２は、バイブレータを制御するための駆動情報を指示装置１０へ送信する。
【００２５】
制御部１４は、表示制御部３４と、振動装置制御部５４を含み、表示装置２０が行う各種処理を制御する。
【００２６】
表示制御部３４は、各種画像を表示部１６に表示させる。例えば、表示制御部３４は、通信部１２により入力された指示位置を決定するための情報に基づいて指示装置１０により指示される画面上の指示位置を決定し、決定された指示位置にカーソルＡ１を表示させる。指示位置を決定するための情報が画面上の指示位置を直接的に示す情報である場合、表示制御部３４は、当該情報が示す位置を指示位置として決定する。一方、指示位置を決定するための情報が画面上の指示位置を直接的に示す情報でない場合、表示制御部３４は、指示位置を決定するための情報に変換処理を行うことにより指示位置を決定する。
【００２７】
振動装置制御部５４は、バイブレータを制御するための駆動情報を通信部１２に送信させることにより、バイブレータを制御する。例えば、振動装置制御部５４は、ユーザによる指示装置１０の操作に応じてバイブレータを制御する。具体的には、振動装置制御部５４は、画面上に表示される特定のプッシュボタンが選択された場合にバイブレータを駆動させてもよい。また、振動装置制御部５４は、画面上に表示される複数のプッシュボタンの中から選択されたプッシュボタンに応じた周波数でバイブレータを振動させてもよい。
【００２８】
また、振動装置制御部５４は、カーソルＡ１が特定の位置に表示されている場合にバイブレータを駆動させてもよい。さらに、振動装置制御部５４は、カーソルＡ１の表示位置に応じてバイブレータの振動強度を制御してもよい。具体的には、振動装置制御部５４は、カーソルＡ１により選択可能なオブジェクトの密度が高い位置にカーソルＡ１が表示される場合に、カーソルＡ１により選択可能なオブジェクトの密度が低い位置にカーソルＡ１が表示される場合と比較し、バイブレータの振動の振幅が大きくなるようにバイブレータを制御してもよい。
【００２９】
また、カーソルＡ１が特定の位置に表示されている場合にバイブレータが駆動する例において、振動装置制御部５４は、カーソルＡ１の移動方向に応じてバイブレータを制御してもよい。具体的には、振動装置制御部５４は、カーソルＡ１の進行方向に対応する指示装置１０の回転方向に与える動きが、カーソルの進行方向の反対方向に対応する指示装置１０の回転方向に与える動きと比較し、小さくなるようにバイブレータを制御してもよい。
【００３０】
表示部１６は、各種画像を画面上に表示する。例えば、表示部１６は、表示制御部３４により決定された指示位置にカーソルＡ１を表示する。当該機能は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）装置又はプロジェクタ（Ｐｒｏｊｅｃｔｏｒ）装置により実現される。
【００３１】
また、表示部１６は、各種ウィジェットを画面上にさらに表示してもよい。例えば、表示部１６は、図３に示したように、ＹＥＳボタンＡ３及びＮＯボタンＡ５が表示されるウィンドウＷ１を画面上に表示してもよい。ユーザは、ウィンドウＷ１において、ＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域内にカーソルＡ１を移動させ、指示装置１０のボタンＢ１を操作することにより、新着メッセージを閲覧するか否かの選択をすることができる。
【００３２】
なお、通信部１２及び制御部１４としての機能と、表示部１６としての機能とは、各々異なる装置により実現されてもよい。その場合、例えば、装置の各々は、相互に通信可能な有線又は無線の通信ネットワークを介して通信を行う。
【００３３】
＜２．第１の実施形態に係る指示装置＞
前節では、本開示の実施形態に係る情報処理システム１の概要について説明した。続いて、図４〜図９を参照して、本開示の第１の実施形態に係る指示装置１０−１について説明する。本節において、図３に示したＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域内にカーソルＡ１が位置する状態において、指示装置１０のボタンＢ１が押下された場合、表示装置２０は、バイブレータを一定時間駆動させる例について説明する。また、本節において、ＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域内にカーソルＡ１が位置する状態において、指示装置１０のボタンＢ１の押下が解除された場合、表示装置２０は、ユーザによりＹＥＳ又はＮＯが選択されたと判断する例について説明する。
【００３４】
［２−１．第１の比較例］
まず、本開示の第１の実施形態に係る指示装置１０−１の技術的意義を明らかにするために、第１の比較例について説明した後に、本発明の第１の実施形態に係る指示装置１０−１について詳細に説明する。
【００３５】
図４は、バイブレータの駆動が指示位置へ与える影響を説明するための説明図である。図４において、角速度及び指示位置の成分の一例としてピッチ方向Ｄ１の角速度及び指示位置のＹ座標をそれぞれ例示する。
【００３６】
図４のＡは、指示装置１０により取得された指示装置１０のピッチ方向Ｄ１の角速度を示す情報における指示装置１０のピッチ方向Ｄ１の角速度の時間変化を示す。図４のＢは、表示装置２０により決定された指示位置のＹ座標の時間変化を示す。また、図４のＢにおいて、Ｙ１及びＹ２はそれぞれ図３におけるＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域の上端及び下端のＹ座標である。図４のＣは、指示装置１０のボタンの押下状態の時間変化を示す。図４のＤは、バイブレータの駆動状態の時間変化を示す。
【００３７】
図４のＢ及び図４のＣに示したように、時刻Ｔ１１において、図３におけるＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域内にカーソルＡ１が位置する状態で、指示装置１０のボタンが押下されると、図４のＤに示したように、バイブレータが一定時間（時刻Ｔ１１から時刻Ｔ１２の間）駆動する。そして、指示装置１０はバイブレータにより振動を与えられ、図４のＡに示したように、指示装置１０のピッチ方向Ｄ１の角速度の時間変化は振動波形を示す。
【００３８】
そして、図４のＢに示した指示位置の時間変化に従って、図３におけるカーソルＡ１が移動する。その結果、図４のＢ及び図４のＣに示したように、指示装置１０のボタンＢ１の押下が解除される時刻Ｔ１３において、カーソルＡ１はＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域外に位置する。ゆえに、表示装置２０は、ユーザによるＹＥＳ又はＮＯの選択がなされたと判断しない。
【００３９】
以上説明したように、第１の比較例において、ユーザによるコマンド入力に伴うバイブレータの駆動に起因して、予期しない指示位置の変動が生ずる。ゆえに、ユーザによる選択操作が認識されない。従って、第１の比較例において、ユーザの意図に沿った機能を実現することが困難である。
【００４０】
また、バイブレータにより与えられる指示装置１０の加速度がセンサの基準値を超える場合、指示装置１０の加速度が正確に検出されないため、指示装置１０の加速度が正確に検出された場合と比較し、指示位置の変動量は大きくなり得る。このような検出エラーもまた、ユーザの意図に沿った機能の実現に悪影響を与え得る。
【００４１】
[２−２．機能構成]
続いて、図５及び図６を参照して、ユーザの意図に沿った操作を実現することが可能な本開示の第１の実施形態に係る指示装置１０−１の論理的機能の構成を説明する。
【００４２】
図５は、本開示の第１の実施形態に係る指示装置１０−１の論理的機能の構成の具体例を示す説明図である。図５に示したように、指示装置１０−１は、入力部１０２と、振動部１０４と、検出情報取得部１０６と、通信部１０８と、調整部１１０と、を備える。
【００４３】
（入力部）
入力部１０２は、ユーザからのコマンドを受け付ける。入力部１０２の機能は、例えば、図１に示したボタンＢ１により実現される。なお、入力部１０２の機能は、タッチセンサ又はスイッチなどの入力デバイスにより実現されてもよい。入力部１０２は、受け付けられたコマンドを示す情報を通信部１０８へ出力する。
【００４４】
（振動部）
振動部１０４は、駆動情報取得部１２８から入力される駆動情報に応じて、指示装置１０−１に振動を与える。振動部１０４の機能は、例えば、ＥＲＭ（Ｅｃｃｅｎｔｒｉｃ  Ｒｏｔａｔｉｎｇ  Ｍａｓｓ）、ＬＲＡ（Ｌｉｎｅａｒ  Ｒｅｓｏｎａｎｔ  Ａｃｔｕａｔｏｒ）又はＶＣＭ（Ｖｏｉｃｅ  Ｃｏｉｌ  Ｍｏｔｏｒ）などの入力される駆動情報に応じて振動するバイブレータにより実現される。なお、バイブレータは、指示装置１０−１に動きを与える駆動装置の一例に過ぎず、指示装置１０−１に振動以外の動き（例えば、ハプティック技術における触覚呈示による動き）を与える駆動装置が振動部１０４に適用されてもよい。
【００４５】
なお、指示装置１０−１の外部の駆動装置によってユーザへの各種情報の報知が実現されてもよく、その場合、指示装置１０−１の内部構成から振動部１０４は省略され得る。例えば、ユーザへ各種情報を報知する外部の駆動装置は、ユーザの腕や足等に装着されるバイブレータ、ユーザを乗せる台状のバイブレータ、空気等の媒体を通じてユーザへ振動を与える装置等であってもよい。また、これら装置はユーザに把持される指示装置１０−１に対しても動きを与え得る。また、指示装置１０−１の外部の駆動装置によってユーザへの各種情報の報知が実現される場合、表示装置２０は、駆動情報を指示装置１０−１の外部の駆動装置及び指示装置１０−１へ送信する。
【００４６】
（検出情報取得部）
検出情報取得部１０６は、角速度情報取得部１２６と、絶対角度情報取得部１３６と、を含む。検出情報取得部１０６は、指示装置１０−１の動き検出に基づいて検出情報を取得し、取得された検出情報を調整部１１０へ出力する。
【００４７】
角速度情報取得部１２６は、指示装置１０−１の動き検出に基づいて指示装置１０−１の角速度を示す情報を検出情報として取得する。例えば、角速度情報取得部１２６の機能は、ジャイロセンサにより実現される。具体的には、角速度情報取得部１２６は、ジャイロセンサによる指示装置１０−１の動き検出に基づいて指示装置１０−１のピッチ方向Ｄ１及びヨー方向Ｄ３の角速度を示す情報を検出情報として取得する。
【００４８】
絶対角度情報取得部１３６は、指示装置１０−１の動き検出に基づいて指示装置１０−１の絶対角度を示す情報を検出情報として取得する。例えば、絶対角度情報取得部１３６の機能は、加速度センサ及び地磁気センサにより実現される。具体的には、絶対角度情報取得部１３６は、加速度センサ及び地磁気センサによる指示装置１０−１の動き検出に基づいてそれぞれ指示装置１０−１のピッチ方向Ｄ１及びヨー方向Ｄ３の絶対角度を示す情報を取得する。
【００４９】
なお、検出情報取得部１０６は、角速度情報取得部１２６により取得された指示装置１０−１の角速度を示す情報を積算することによって、指示装置１０−１の角度を示す情報を検出情報として取得してもよい。また、検出情報取得部１０６は、さらに指示装置１０−１のロール方向Ｄ５及び並進方向の動き検出に基づいて、指示装置１０−１のロール方向Ｄ５の角速度を示す情報及び絶対角度を示す情報並びに指示装置１０−１の並進方向の位置を示す情報を検出情報として取得してもよい。
【００５０】
（通信部）
通信部１０８は、指示装置１０−１の外部の装置と通信する。具体的には、通信部１０８は、有線又は無線の情報ネットワーク５を介して表示装置２０と通信する。例えば、通信部１０８は、入力部１０２から入力されたコマンドを示す情報及び調整部１１０から入力された指示位置を決定するための情報を表示装置２０へ送信する。また、通信部１０８は、表示装置２０から送信された駆動情報を取得する駆動情報取得部１２８を含む。駆動情報取得部１２８は、取得された駆動情報を振動部１０４及び調整部１１０へ出力する。なお、通信部１０８は、情報ネットワーク５を介さずに表示装置２０と直接的に通信してもよい。
【００５１】
（調整部）
調整部１１０は、指示装置１０−１により指示される指示位置を決定するための情報を、検出情報取得部１０６から入力された検出情報及び駆動情報取得部１２８から入力された駆動情報に基づいて特定する特定部としての機能を有する。また、調整部１１０は、特定された指示位置を決定するための情報を通信部１０８へ出力する。駆動情報取得部１２８から入力される駆動情報は、例えば、バイブレータが振動しているか否かの情報を含み、調整部１１０は、バイブレータが駆動している間の検出情報を調整することにより、指示位置を決定するための情報を特定する。
【００５２】
例えば、調整部１１０は、バイブレータが駆動している間の指示装置１０−１の角速度を示す情報を調整する。そして、調整部１１０は、調整された指示装置１０−１の角速度を示す情報に積分演算を行うことにより、指示装置１０−１の角度を示す情報を取得する。そして、調整部１１０は、取得された指示装置１０−１の角度を示す情報に基づいて画面上の指示位置を直接的に示す情報を特定する。また、調整部１１０は、取得された指示装置１０−１の角度情報を指示装置１０−１の絶対角度を示す情報を用いて校正した後に、画面上の指示位置を直接的に示す情報を特定してもよい。
【００５３】
第１の実施形態において、調整部１１０は、バイブレータが駆動している間の検出情報の変化量を減少させることにより、指示位置を決定するための情報を特定する。例えば、調整部１１０は、バイブレータが駆動している間の指示装置１０−１の角速度を示す情報の変化量を減少させることにより、画面上の指示位置を直接的に示す情報を特定する。また、調整部１１０により検出情報の変化量が減少させられる度合いの設定値は変更可能であってもよい。また、検出情報の変化量が減少させられることにより、検出情報の変化量はゼロとなってもよい。
【００５４】
また、調整部１１０は、検出情報取得部１０６による指示装置１０−１の動き検出における検出方向に応じた度合いで検出情報を調整することにより、指示位置を決定するための情報を特定してもよい。例えば、調整部１１０は、バイブレータが駆動している間のピッチ方向Ｄ１の角速度を示す情報の変化量を、ヨー方向Ｄ３の角速度を示す情報の変化量と比較し、強い度合いで減少させてもよい。
【００５５】
図６は、調整部１１０が行う検出情報調整処理の具体例を説明するための説明図である。図６において、角速度及び指示位置の成分の一例としてピッチ方向Ｄ１の角速度及び指示位置のＹ座標を例示する。図６のＡは、検出情報取得部１０６により取得された指示装置１０−１のピッチ方向Ｄ１の角速度を示す情報における指示装置１０−１のピッチ方向Ｄ１の角速度の時間変化を示す。図６のＢは、調整部１１０により調整されたピッチ方向Ｄ１の角速度を示す情報における指示装置１０−１のピッチ方向Ｄ１の角速度の時間変化を示す。図６のＣは、調整部１１０により特定された画面上の指示位置を直接的に示す情報における指示位置のＹ座標の時間変化を示す。また、図６のＣにおいて、Ｙ１及びＹ２はそれぞれ図３におけるＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域の上端及び下端のＹ座標である。図６のＤは、指示装置１０−１のボタンＢ１の押下状態の時間変化を示す。図６のＥは、バイブレータの駆動状態の時間変化を示す。
【００５６】
図６のＣ及び図６のＤに示したように、時刻Ｔ１１において、図３におけるＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域内にカーソルＡ１が位置する状態で、指示装置１０−１のボタンＢ１が押下されると、図６のＥに示したように、バイブレータが一定時間（時刻Ｔ１１から時刻Ｔ１２の間）駆動する。そして、指示装置１０−１はバイブレータにより振動を与えられ、図６のＡに示したように、検出情報取得部１０６により取得される指示装置１０−１のピッチ方向Ｄ１の角速度を示す情報における指示装置１０−１のピッチ方向Ｄ１の角速度の時間変化は振動波形を示す。
【００５７】
そして、第１の実施形態によれば、調整部１１０はバイブレータが駆動している間のピッチ方向Ｄ１の角速度を示す情報の変化量を減少させる。例えば、図６のＢに示したように、時刻Ｔ１１から時刻Ｔ１２の間において、調整されたピッチ方向Ｄ１の角速度を示す情報における指示装置１０−１のピッチ方向Ｄ１の角速度は一定の値となる。また、時刻Ｔ１１から時刻Ｔ１２の間において、調整後のピッチ方向Ｄ１の角速度はゼロであるため、図３におけるカーソルＡ１は図６のＣに示した指示位置に固定される。その結果、指示装置１０−１のボタンＢ１の押下が解除される時刻Ｔ１３において、図３におけるカーソルＡ１はＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域内に位置する。ゆえに、表示装置２０は、ユーザによるＹＥＳ又はＮＯの選択がなされたと判断する。
【００５８】
[２−３．動作]
続いて、図７及び図８を参照して、本開示の第１の実施形態に係る指示装置１０−１が行う処理の流れを説明する。
【００５９】
図７は、本開示の第１の実施形態に係る指示装置１０−１が行う処理の流れの具体例を示すフローチャートである。図７に示したように、まず、検出情報取得部１０６は、指示装置１０−１の角速度を示す情報を取得すると（ステップＳ１０２）、取得された角速度を示す情報を調整部１１０へ出力する。そして、調整部１１０は、バイブレータが駆動していると判定した場合（ステップＳ１０４／ＹＥＳ）、検出情報調整処理を行う（ステップＳ１０６）。一方、調整部１１０がバイブレータが駆動していると判定しない場合（ステップＳ１０４／ＮＯ）、ステップＳ１０６はスキップされる。
【００６０】
次に、調整部１１０は、調整されたピッチ方向Ｄ１の角速度を示す情報に積分処理を行うことにより、指示装置１０−１の角度を示す情報を取得する（ステップＳ１０７）。そして、調整部１１０は、取得された指示装置１０−１の角度を示す情報に基づいて画面上の指示位置を直接的に示す情報を特定し（ステップＳ１０８）、特定された指示位置を直接的に示す情報を通信部１０８へ出力する。そして、通信部１０８は、指示位置を直接的に示す情報を表示装置２０へ送信する（ステップＳ１１０）。その後、上述した処理が繰り返される。
【００６１】
図８は、図７のステップＳ１０６において実行される検出情報調整処理の流れの具体例を示すフローチャートである。図８に示したように、まず、調整部１１０は、検出情報取得部１０６による動き検出における検出方向に応じて調整の度合いを決定する（ステップＳ１５２）。次に、調整部１１０は、バイブレータが駆動している間の角速度を示す情報の変化量をステップＳ１５２において決定された度合いで減少させる（ステップＳ１５４）。そして、検出情報調整処理は終了する。
【００６２】
上述した実施形態によれば、調整部１１０は、検出情報取得部１０６から入力された検出情報及び駆動情報取得部１２８から入力された駆動情報に基づいて指示装置１０−１により指示される指示位置を決定するための情報を特定する。それにより、駆動装置の駆動に影響されることなく、ユーザの意図に沿った機能を実現することが可能となる。
【００６３】
また、上述した実施形態によれば、調整部１１０は、駆動装置が駆動している間の検出情報を調整することにより、指示位置を決定するための情報を特定する。それにより、駆動装置の駆動によってもたらされる、ユーザの意図に沿った機能の実現への悪影響を抑制することが可能である。
【００６４】
また、ある実施形態によれば、調整部１１０は、駆動装置が駆動している間の検出情報の変化量を減少させることにより、指示位置情報を特定する。従って、ユーザによるコマンド入力に伴う駆動装置の駆動に起因する予期しない指示位置の変動を低減することが可能である。
【００６５】
また、ある実施形態によれば、調整部１１０は、検出情報取得部１０６による指示装置１０−１の動き検出における検出方向に応じた度合いで検出情報を調整することにより、指示位置を決定するための情報を特定する。従って、駆動装置の駆動により指示位置が変動させられやすい方向の予期しない指示位置の変動をより効果的に抑制することが可能である。
【００６６】
[２−４．応用例]
以上、指示装置１０により指示される指示位置を決定するための情報を指示装置１０が特定する例について説明した。本開示は係る例に限定されず、指示装置１０により指示される指示位置を決定するための情報を特定する機能は、指示装置１０及び表示装置２０の各々と通信する情報処理装置により実現されてもよい。以下、図９を参照して、このような情報処理装置を説明する。
【００６７】
図９は、応用例に係る情報処理装置９０の論理的機能の構成の具体例を示す説明図である。図９に示したように、情報処理装置９０は、通信部９０８と、調整部９１０と、を備える。
【００６８】
通信部９０８は、通信部９０８は検出情報取得部９０６と、駆動情報取得部９２８と、を含み、情報処理装置９０の外部の装置と通信する。具体的には、通信部９０８は、有線又は無線の情報ネットワーク９を介して指示装置１０及び表示装置２０と通信する。例えば、通信部９０８は、調整部９１０から入力された指示位置を決定するための情報を表示装置２０へ送信する。
【００６９】
検出情報取得部９０６は、指示装置１０から送信される検出情報を取得し、取得された検出情報を調整部９１０へ出力する。駆動情報取得部９２８は、表示装置２０から送信される駆動情報を取得し、取得された駆動情報を調整部９１０へ出力する。なお、通信部９０８は、情報ネットワーク９を介さずに情報処理装置９０の外部の装置と直接的に通信してもよい。
【００７０】
調整部９１０は、通信部９０８から入力された検出情報及び駆動情報に基づいて指示装置１０により指示される指示位置を決定するための情報を特定し、特定された指示位置を決定するための情報を通信部９０８へ出力する。
【００７１】
＜３．第２の実施形態に係る指示装置＞
前節では、本開示の第１の実施形態に係る指示装置１０−１を説明した。続いて、ユーザの意図に沿った指示位置を特定することを可能とする本開示の第２の実施形態に係る指示装置１０−２を説明する。本節において、図３に示したＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域外から表示領域内にカーソルＡ１が侵入した場合、表示装置２０は、バイブレータを一定時間駆動させる例について説明する。また、本節において、ＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域内にカーソルＡ１が位置する状態において、指示装置１０のボタンＢ１が押下された場合、表示装置２０は、ユーザによりＹＥＳ又はＮＯが選択されたと判断する例について説明する。
【００７２】
[３−１．第２の比較例]
まず、本開示の第２の実施形態に係る指示装置１０−２の技術的意義を明らかにするために、第２の比較例について説明した後に、本発明の第２の実施形態に係る指示装置１０−２について詳細に説明する。
【００７３】
図１０及び図１１は、バイブレータの駆動が指示位置へ与える影響の第１の例及び第２の例をそれぞれ説明するための説明図である。図１０及び図１１において、角速度及び指示位置の成分の一例としてピッチ方向Ｄ１の角速度及び指示位置のＹ座標を例示する。
【００７４】
図１０及び図１１のＡは、指示装置１０により取得されたピッチ方向Ｄ１の角速度を示す情報における指示装置１０のピッチ方向Ｄ１の角速度の時間変化を示す。図１０及び図１１のＢは、表示装置２０により決定された指示位置のＹ座標の時間変化を示す。また、図１０及び図１１のＢにおいて、Ｙ１及びＹ２はそれぞれ図３におけるＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域の上端及び下端のＹ座標である。図１０及び図１１のＣは、バイブレータの駆動状態の時間変化を示す。
【００７５】
まず、第１の例によれば、図１０のＢに示したように、時刻Ｔ２１において、ＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域外から表示領域内にカーソルＡ１が侵入すると、図１０のＣに示したように、バイブレータは一定時間（時刻Ｔ２１から時刻Ｔ２２の間）駆動する。そして、指示装置１０はバイブレータにより振動を与えられ、図１０のＡに示したように、指示装置１０のピッチ方向Ｄ１の角速度の時間変化は振動波形を示す。
【００７６】
そして、図１０のＢに示した指示位置の時間変化に従って、図３におけるカーソルＡ１はＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域から遠ざかる方向へ移動する。その結果、図１０のＢに示したように、時刻Ｔ２２において、カーソルＡ１はＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域外に位置する。ゆえに、時刻Ｔ２２において、ユーザは、ＹＥＳ又はＮＯを選択することができない。
【００７７】
次に、第２の例によれば、図１１のＢに示したように、時刻Ｔ２１において、ＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域外から表示領域内にカーソルＡ１が侵入すると、図１１のＣに示したように、バイブレータは駆動を開始する。そして、指示装置１０はバイブレータにより振動を与えられ、図１１のＡに示したように、指示装置１０のピッチ方向Ｄ１の角速度の時間変化は振動波形を示す。
【００７８】
そして、図１１のＢに示した指示位置の時間変化に従って、図３におけるカーソルＡ１はＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域から遠ざかる方向へ移動する。次に、時刻Ｔ２３において、ＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域外から表示領域内にカーソルＡ１が再度侵入すると、表示装置２０は再度駆動情報を送信し、バイブレータは駆動を継続する。その結果、カーソルＡ１はＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域から遠ざかる方向へ再度移動する。その後、時刻Ｔ２４〜Ｔ２６において、同様にＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域へのカーソルＡ１による侵入が繰り返される。ゆえに、ユーザは、ＹＥＳ又はＮＯを選択することができない。
【００７９】
以上説明したように、第２の比較例において、画面上におけるカーソルの移動に伴うバイブレータの駆動に起因して、予期しない指示位置の変動が生ずる。ゆえに、画面上においてユーザが意図したカーソルの移動が実現されない。従って、第２の比較例において、ユーザの意図に沿った機能を実現することが困難である。
【００８０】
[３−２．機能構成]
続いて、図１２及び図１３を参照して、本開示の第２の実施形態に係る指示装置１０−２の論理的機能の構成を説明する。
【００８１】
図１２は、本開示の第２の実施形態に係る指示装置１０−２の論理的機能の構成の具体例を示す説明図である。図１２に示したように、本開示の第２の実施形態に係る指示装置１０−２において、調整部２１０は推定部２５０を含む。
【００８２】
本開示の第２の実施形態において、駆動情報は、バイブレータにより指示装置１０−２に与えられる動きを制御するための動き制御情報を含み、推定部２５０は、検出情報取得部１０６により取得された検出情報におけるバイブレータにより与えられる動きによる成分を動き制御情報に応じて推定する。また、調整部２１０は、推定された検出情報におけるバイブレータにより与えられる動きによる成分を検出情報取得部１０６により取得された検出情報から減算することにより指示位置を決定するための情報を特定する。また、調整部２１０は、特定された指示位置を決定するための情報を通信部１０８へ出力する。
【００８３】
動き制御情報は、例えば、バイブレータに印加される電圧の値を示す情報を含み、推定部２５０は、検出情報取得部１０６により取得された指示装置１０−２の角速度を示す情報におけるバイブレータにより与えられる動きによる成分をバイブレータに印加される電圧の値を示す情報に応じて推定する。具体的には、推定部２５０は、バイブレータに印加される電圧の値に変換倍率を乗算することにより、バイブレータにより与えられる指示装置１０−２の加速度を算出する。そして、推定部２５０は、算出された指示装置１０−２の加速度に積分演算を行うことにより、指示装置１０−２の速度を取得する。そして、推定部２５０は、取得された指示装置１０−２の速度に指示装置１０−２の重心とバイブレータとの距離を除算することにより、指示装置１０−２の角速度を示す情報におけるバイブレータにより与えられる動きによる成分を推定する。
【００８４】
図１３は、調整部２１０が行う検出情報調整処理の具体例を説明するための説明図である。図１３において、角速度及び指示位置の成分の一例としてピッチ方向Ｄ１の角速度及び指示位置のＹ座標を例示する。図１３のＡは、検出情報取得部１０６により取得されたピッチ方向Ｄ１の角速度を示す情報における指示装置１０−２のピッチ方向Ｄ１の角速度の時間変化を示す。図１３のＢは、調整部２１０により調整されたピッチ方向Ｄ１の角速度を示す情報における指示装置１０−２のピッチ方向Ｄ１の角速度の時間変化を示す。図１３のＣは、調整部２１０により特定された画面上の指示位置を直接的に示す情報における指示位置のＹ座標の時間変化を示す。また、図１３のＣにおいて、Ｙ１及びＹ２はそれぞれ図３におけるＹＥＳボタンＡ３又はＮＯボタンＡ５の上端及び下端のＹ座標である。図１３のＤは、バイブレータの駆動状態の時間変化を示す。図１３のＥは、バイブレータに印加される電圧の値の時間変化を示す。
【００８５】
図１３のＣに示したように、時刻Ｔ２１において、ＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域外から表示領域内にカーソルＡ１が侵入すると、図１３のＤに示したように、バイブレータが駆動する。そして、指示装置１０−２はバイブレータにより振動を与えられ、図１３のＡに示したように、検出情報取得部１０６により取得される指示装置１０−２のピッチ方向Ｄ１の角速度を示す情報における指示装置１０−２のピッチ方向Ｄ１の角速度の時間変化は振動波形を示す。
【００８６】
そして、第２の実施形態によれば、調整部２１０は、ピッチ方向Ｄ１の角速度を示す情報におけるバイブレータにより与えられる動きによる成分を図１３のＥに示したバイブレータに印加される電圧の値を示す情報に応じて推定する。そして、調整部２１０は、推定されたピッチ方向Ｄ１の角速度を示す情報におけるバイブレータにより与えられる動きによる成分を検出情報取得部１０６により取得されたピッチ方向Ｄ１の角速度を示す情報から減算することにより、画面上の指示位置を直接的に示す情報を特定する。ゆえに、図１３のＢに示したように、時刻Ｔ２１から時刻Ｔ２２の間において、調整されたピッチ方向Ｄ１の角速度を示す情報におけるピッチ方向Ｄ１の角速度において、バイブレータにより与えられる動きによる成分は低減される。そして、図１３のＣに示したように、カーソルＡ１はＹＥＳボタンＡ３又はＮＯボタンＡ５の表示領域へ侵入した後、時刻Ｔ２１と時刻Ｔ２２の間、侵入方向と同一方向へ移動する。そして、時刻Ｔ２２にバイブレータは振動を終了する。
【００８７】
[３−３．動作]
続いて、図１４を参照して、本開示の第２の実施形態に係る指示装置１０−２が行う検出情報調整処理の流れを説明する。以下、調整部２１０は角速度情報及び駆動情報に基づいて指示位置情報そのものを特定する例について説明する。
【００８８】
図１４は、本開示の第２の実施形態に係る指示装置１０−２が行う検出情報調整処理の流れの具体例を示すフローチャートである。図１４に示したように、まず、調整部２１０は、バイブレータに印加される電圧の値を示す情報を駆動情報取得部１２８から取得する（ステップＳ２５２）。次に、推定部２５０は、検出情報取得部１０６により取得された指示装置１０−２の角速度を示す情報におけるバイブレータにより与えられる動きによる成分をバイブレータに印加される電圧の値を示す情報に応じて推定する（ステップＳ２５４）。次に、調整部２１０は、推定された上記成分を検出情報取得部１０６により取得された角速度を示す情報から減算する（ステップＳ２５６）。そして、検出情報調整処理は終了する。
【００８９】
上述した実施形態によれば、調整部２１０は、検出情報における駆動装置により与えられる動きによる成分を動き制御情報に応じて推定し、推定された検出情報における駆動装置により与えられる動きによる成分を検出情報から減算することにより指示位置を決定するための情報を特定する。それにより、ユーザの意図に沿った指示位置を特定することが可能である。
【００９０】
＜４．第３の実施形態に係る指示装置＞
前節では、本開示の第２の実施形態に係る指示装置１０−２を説明した。続いて、フィルタ処理によって、ユーザの意図に沿った指示位置を特定することを可能とする本開示の第３の実施形態に係る指示装置１０−３を説明する。
【００９１】
[４−１．機能構成]
まず、図１５〜図１７を参照して、本開示の第３の実施形態に係る指示装置１０−３の論理的機能の構成を説明する。
【００９２】
図１５は、本開示の第３の実施形態に係る指示装置１０−３の論理的機能の構成の具体例を示す説明図である。図１５に示したように、本開示の第３の実施形態に係る指示装置１０−３は、フィルタ処理部３１０と、記憶部３７０と、を含む。
【００９３】
フィルタ処理部３１０は、検出情報取得部１０６により取得されたバイブレータが駆動している間の検出情報にフィルタ処理を行うことにより指示位置を決定するための情報を特定する特定部としての機能を有する。具体的には、フィルタ処理部３１０は、バイブレータが駆動している間の検出情報にバイブレータにより指示装置１０−３に与えられる振動の周波数成分を減衰させるフィルタを用いてフィルタ処理を行うことにより、指示位置を決定するための情報を特定する。また、フィルタ処理部３１０は、特定された指示位置を決定するための情報を通信部１０８へ出力する。
【００９４】
図１６は、バイブレータにより指示装置１０−３に与えられる振動の周波数特性の具体例を示す説明図である。図１６に示した周波数特性は、周波数Ｆ１、Ｆ２及びＦ３にピークを有する。図１７は、フィルタ処理部３１０によるフィルタ処理に用いられるフィルタの周波数特性の具体例を示す説明図である。図１７に示した周波数特性もまた、図１６に示した周波数特性と同様に、周波数Ｆ１、Ｆ２及びＦ３にピークを有する。ゆえに、図１７に示した周波数特性を有するフィルタは、図１６に示した周波数特性を有する振動の周波数成分を減衰させることが可能である。例えば、フィルタ処理部３１０は、検出情報に図１７に示した周波数特性を有するフィルタを用いてフィルタ処理を行う。それにより、検出情報におけるバイブレータにより与えられる振動による成分を低減させることが可能となる。
【００９５】
フィルタ処理に用いられるフィルタに適用されるフィルタ係数データは記憶部３７０に予め記憶されており、フィルタ処理部３１０は、フィルタ係数データを記憶部３７０から取得することによりフィルタ処理を行う。
【００９６】
また、駆動情報は、例えば、バイブレータにより指示装置１０−３に与えられる振動を制御するための振動制御情報を含み、フィルタ処理部３１０は、振動制御情報に応じたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報を特定してもよい。
【００９７】
例えば、振動制御情報の各々について事前に決定されるフィルタ候補に適用されるフィルタ係数データが記憶部３７０に予め記憶されており、フィルタ処理部３１０は、振動制御情報に応じて複数のフィルタ候補からフィルタを選択し、選択されたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報を特定してもよい。具体的には、フィルタ処理部３１０は、選択されたフィルタに適用されるフィルタ係数データを記憶部３７０から取得することによりフィルタ処理を行う。
【００９８】
[４−２．動作]
続いて、図１８を参照して、本開示の第３の実施形態に係る指示装置１０−３が行う検出情報調整処理の流れを説明する。
【００９９】
図１８は、本開示の第３の実施形態に係る指示装置１０−３が行う検出情報調整処理の流れの具体例を示すフローチャートである。図１８に示したように、まず、フィルタ処理部３１０は、記憶部３７０からフィルタ係数データを取得する（ステップＳ３５２）。次に、フィルタ処理部３１０は、取得されたフィルタ係数データが適用されたフィルタを用いて、指示装置１０−３の角速度を示す情報にフィルタ処理を行う（ステップＳ３５４）。そして、検出情報調整処理は終了する。
【０１００】
上述した実施形態によれば、フィルタ処理部３１０は、駆動装置により指示装置１０−３に与えられる振動の周波数成分を減衰させるフィルタを用いてフィルタ処理を行うことにより、指示位置を決定するための情報を特定する。従って、検出情報における駆動装置により与えられる振動による成分を低減させることにより、ユーザの意図に沿った指示位置を特定することが可能である。
【０１０１】
また、ある実施形態によれば、フィルタ処理部３１０は、振動制御情報に応じたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報を特定する。それにより、駆動装置により与えられる振動の周波数特性が固定的でない場合であっても、ユーザの意図に沿った指示位置を特定することが可能である。
【０１０２】
また、ある実施形態によれば、フィルタ処理部３１０は、振動制御情報に応じて事前に決定される複数のフィルタ候補からフィルタを選択し、選択されたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報を特定する。ゆえに、駆動装置が振動を開始した場合、迅速にフィルタ処理を行うことができる。従って、少ない遅延と共に指示位置を決定するための情報を特定することが可能である。
【０１０３】
[４−３．変形例]
前節では、予め記憶されたフィルタ係数データを用いてフィルタ処理を行う例を説明した。以下、フィルタ候補を事前に決定し得ない場合であっても、ユーザの意図に沿った指示位置を特定することが可能な変形例を説明する。
【０１０４】
図１９は、本開示の変形例に係る指示装置１０−４の論理的機能の構成の具体例を示す説明図である。図１９に示したように、変形例に係る指示装置１０−４において、フィルタ処理部４１０は生成部４５０を含む。
【０１０５】
フィルタ処理部４１０は、振動制御情報に応じてフィルタを生成し、生成されたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報を特定してもよい。例えば、フィルタ処理部４１０は、駆動情報取得部１２８から入力されるバイブレータの振動波形を制御するための信号を高速フーリエ変換することによって、バイブレータにより指示装置１０−４に与えられる振動の周波数成分を減衰させるフィルタを生成する。
【０１０６】
以上説明したように、変形例によれば、フィルタ処理部４１０は、振動制御情報に応じてフィルタを生成し、生成されたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報を特定する。それにより、フィルタ候補を事前に決定し得ない場合であっても、ユーザの意図に沿った指示位置を特定することが可能である。また、フィルタ係数データを記憶しておかなくてよいため、メモリを節約することが可能である。
【０１０７】
＜５．ハードウェア構成＞
以上、本開示の実施形態を説明した。上述した指示装置１０の処理は、ソフトウェアと、以下に説明する指示装置１０のハードウェアとの協働により実現される。
【０１０８】
図２０は、本開示に係る指示装置１０のハードウェア構成を示した説明図である。図２０に示したように、指示装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１４２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４４と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１４６と、ブリッジ１４８と、バス１５０と、インターフェース１５２と、入力装置１５４と、出力装置１５６と、ストレージ装置１５８と、通信装置１６０とを備える。
【０１０９】
ＣＰＵ１４２は、演算処理装置として機能し、各種プログラムと協働して指示装置１０−１の調整部１１０、指示装置１０−２の調整部２１０、指示装置１０−３のフィルタ処理部３１０又は指示装置１０−４のフィルタ処理部４１０の動作を実現する。また、ＣＰＵ１４２は、マイクロプロセッサであってもよい。ＲＯＭ１４４は、ＣＰＵ１４２が使用するプログラムまたは演算パラメータ等を記憶する。ＲＡＭ１４６は、ＣＰＵ１４２の実行にいて使用するプログラムまたは実行において適宜変化するパラメータ等を一時記憶する。ＣＰＵ１４２、ＲＯＭ１４４およびＲＡＭ１４６は、ＣＰＵバスなどから構成される内部バスにより相互に接続されている。
【０１１０】
入力装置１５４は、指示装置１０の入力部１０２の一例として、例えば、ボタン、タッチセンサ又はスイッチなどを含むユーザが情報を入力するための入力手段であり、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ１４２に出力する入力制御回路などから構成されている。ユーザは、入力装置１５４を操作することにより、指示装置１０に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０１１１】
出力装置１５６は、指示装置１０の振動部１０４の一例として、例えば、ＥＲＭ（Ｅｃｃｅｎｔｒｉｃ  Ｒｏｔａｔｉｎｇ  Ｍａｓｓ）、ＬＲＡ（Ｌｉｎｅａｒ  Ｒｅｓｏｎａｎｔ  Ａｃｔｕａｔｏｒ）又はＶＣＭ（Ｖｏｉｃｅ  Ｃｏｉｌ  Ｍｏｔｏｒ）などの装置を含む。
【０１１２】
ストレージ装置１５８は、データ格納用の装置である。ストレージ装置１５８は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置１５８は、ＣＰＵ１４２が実行するプログラムや各種データを格納する。
【０１１３】
通信装置１６０は、例えば、ネットワークに接続するための通信デバイスで構成された通信インターフェースである。また、通信装置１６０は、赤外線通信対応装置であっても、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）対応通信装置であっても、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
【０１１４】
＜６．むすび＞
以上説明したように、本開示の実施形態によれば、対象物の動き検出に基づいて得られる検出情報及び対象物に動きを与える駆動装置を制御するための駆動情報に基づいて対象物により指示される指示位置を決定するための情報が特定される。それにより、駆動装置の駆動に影響されることなく、ユーザの意図に沿った機能を実現することが可能となる。
【０１１５】
また、本開示の実施形態によれば、駆動装置が駆動している間の検出情報を調整することにより、指示位置を決定するための情報が特定される。それにより、駆動装置の駆動によってもたらされる、ユーザの意図に沿った機能の実現への悪影響を抑制することが可能である。
【０１１６】
また、ある実施形態によれば、駆動装置が駆動している間の検出情報の変化量を減少させることにより、指示位置情報が特定される。従って、ユーザによるコマンド入力に伴う駆動装置の駆動に起因する予期しない指示位置の変動を抑制することが可能である。
【０１１７】
また、ある実施形態によれば、対象物の動き検出における検出方向に応じた度合いで検出情報を調整することにより、指示位置を決定するための情報が特定される。従って、駆動装置の駆動により指示位置が変動させられやすい方向の予期しない指示位置の変動をより効果的に抑制することが可能である。
【０１１８】
また、ある実施形態によれば、検出情報における駆動装置により与えられる動きによる成分を動き制御情報に応じて推定し、推定された検出情報における駆動装置により与えられる動きによる成分を検出情報から減算することにより指示位置を決定するための情報が特定される。それにより、ユーザの意図に沿った指示位置を特定することが可能である。
【０１１９】
また、ある実施形態によれば、駆動装置により対象物に与えられる振動の周波数成分を減衰させるフィルタを用いてフィルタ処理を行うことにより、指示位置を決定するための情報が特定される。従って、検出情報における駆動装置により与えられる振動による成分を低減させることにより、ユーザの意図に沿った指示位置を特定することが可能である。
【０１２０】
また、ある実施形態によれば、振動制御情報に応じたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報が特定される。それにより、駆動装置により与えられる振動の周波数特性が固定的でない場合であっても、ユーザの意図に沿った指示位置を特定することが可能である。
【０１２１】
また、ある実施形態によれば、振動制御情報に応じて事前に決定される複数のフィルタ候補からフィルタを選択し、選択されたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報が特定される。ゆえに、駆動装置が振動を開始した場合、迅速にフィルタ処理を行うことができる。従って、少ない遅延と共に指示位置を決定するための情報を特定することが可能である。
【０１２２】
また、ある変形例によれば、振動制御情報に応じてフィルタを生成し、生成されたフィルタを用いて検出情報にフィルタ処理を行うことにより、指示位置を決定するための情報が特定される。それにより、フィルタ候補を事前に決定し得ない場合であっても、ユーザの意図に沿った指示位置を特定することが可能である。また、フィルタ係数データを記憶しておかなくてよいため、メモリを節約することが可能である。
【０１２３】
なお、本明細書において説明した各装置による一連の制御処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。ソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記憶媒体（非一時的な媒体：non-transitory  media）に予め格納される。そして、各プログラムは、例えば、実行時にＲＡＭに読み込まれ、ＣＰＵなどのプロセッサにより実行される。
【０１２４】
また、本明細書において説明した指示位置を決定するための情報の特定処理は、ゴルフのスイングを改善するために用いられる振動呈示装置にも適用可能である。図２１は、ユーザに装着される振動呈示装置１０−９の具体例を示す外観図である。
【０１２５】
例えば、振動呈示装置１０−９は、振動呈示装置１０−９の動き検出に基づいて得られる検出情報に基づいてクラブヘッド位置を示す情報を特定する。また、振動呈示装置１０−９は、特定されたクラブヘッド位置を示す情報と基準軌道を示す情報とを比較し、比較結果に基づいて振動し、ユーザに振動を呈示する。例えば、振動呈示装置１０−９は、図２２における特定されたクラブヘッド位置からなる軌道Ｐ１と基準軌道Ｐ２とを比較する。そして、振動呈示装置１０−９は、例えば、軌道Ｐ１におけるクラブヘッド位置が基準軌道Ｐ２から一定距離以内の領域に位置する場合にユーザに振動を呈示する。
【０１２６】
振動呈示装置１０−９において、振動呈示装置１０−９により呈示される振動に起因して、予期しないクラブヘッドの位置の変動が生じる。ゆえに、クラブヘッドの位置は、基準軌道Ｐ２から一定距離以内の領域から外れ得る。従って、振動呈示装置１０−９により呈示される振動は、ユーザの意図に沿った機能に悪影響を与え得る。ゆえに、本明細書において説明した指示位置を決定するための情報の特定処理と同様に、振動呈示装置１０−９の動き検出に基づいて得られる検出情報及び振動呈示装置１０−９を制御するための駆動情報に基づいてクラブヘッド位置を示す情報を特定することにより、ユーザの意図に沿った機能を実現することが可能となる。
【０１２７】
また、本明細書においてフローチャートを用いて説明した処理は、必ずしもフローチャートに示された順序で実行されなくてもよい。いくつかの処理ステップは、並列的に実行されてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。
【０１２８】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１２９】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１３０】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
対象物に動きを与える駆動装置を制御するための駆動情報を取得する取得部と、
前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び前記取得部により取得された前記駆動情報に基づいて特定する特定部と、
を備える情報処理装置。
（２）
前記駆動情報は、前記駆動装置が駆動しているか否かの情報を含み、
前記特定部は、前記駆動装置が駆動している間の前記検出情報を調整することにより、前記指示位置を決定するための情報を特定する、
前記（１）に記載の情報処理装置。
（３）
前記特定部は、前記駆動装置が駆動している間の前記検出情報の変化量を減少させることにより、前記指示位置を決定するための情報を特定する、前記（２）に記載の情報処理装置。
（４）
前記駆動情報は、前記駆動装置により前記対象物に与えられる動きを制御するための動き制御情報を含み、
前記特定部は、前記検出情報における前記駆動装置により与えられる動きによる成分を前記動き制御情報に応じて推定し、推定された前記成分を前記検出情報から減算することにより、前記指示位置を決定するための情報を特定する、前記（２）に記載の情報処理装置。
（５）
前記特定部は、前記駆動装置により前記対象物に与えられる振動の周波数成分を減衰させるフィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定する、前記（２）に記載の情報処理装置。
（６）
前記駆動情報は、前記駆動装置により前記対象物に与えられる振動を制御するための振動制御情報を含み、
前記特定部は、前記振動制御情報に応じた前記フィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定する、
前記（５）に記載の情報処理装置。
（７）
前記特定部は、前記振動制御情報に応じて複数のフィルタ候補から前記フィルタを選択し、選択された前記フィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定し、
前記情報処理装置は、前記振動制御情報の各々について事前に決定される前記フィルタ候補に適用されるフィルタ係数データを記憶する記憶部を備える、
前記（６）に記載の情報処理装置。
（８）
前記特定部は、前記振動制御情報に応じて前記フィルタを生成し、生成された前記フィルタを用いて前記検出情報にフィルタ処理を行うことにより、前記指示位置を決定するための情報を特定する、前記（６）に記載の情報処理装置。
（９）
前記特定部は、前記動き検出における検出方向に応じた度合いで前記検出情報を調整することにより、前記指示位置を決定するための情報を特定する、前記（２）から前記（８）のいずれか一項に記載の情報処理装置。
（１０）
対象物に動きを与える駆動装置を制御するための駆動情報を情報処理装置により取得することと、
前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び取得された前記駆動情報に基づいて特定することと、
を含む情報処理方法。
（１１）
情報処理装置を制御するコンピュータを、
対象物に動きを与える駆動装置を制御するための駆動情報を取得する取得部と、
前記対象物により指示される指示位置を決定するための情報を前記対象物の動き検出に基づいて得られる検出情報及び前記取得部により取得された前記駆動情報に基づいて特定する特定部と、
として機能させるためのプログラム。
【符号の説明】
【０１３１】
１  情報処理システム
５、９  情報ネットワーク
１０、１０−１、１０−２、１０−３、１０−４  指示装置
１２  通信部
１４  制御部
１６  表示部
２０  表示装置
３４  表示制御部
５４  振動装置制御部
９０  情報処理装置
１０２  入力部
１０４  振動部
１０６、９０６  検出情報取得部
１０８、９０８  通信部
１１０、２１０、９１０  調整部
１２６  角速度情報取得部
１２８、９２８  駆動情報取得部
１３６  絶対角度情報取得部
１４２  ＣＰＵ
１４４  ＲＯＭ
１４６  ＲＡＭ
１４８  ブリッジ
１５０  バス
１５２  インターフェース
１５４  入力装置
１５６  出力装置
１５８  ストレージ装置
１６０  通信装置
２５０  推定部
３１０、４１０  フィルタ処理部
３７０  記憶部
４５０  生成部
【図１】
2016136306.tif 000003
【図２】
2016136306.tif 000004
【図３】
2016136306.tif 000005
【図４】
2016136306.tif 000006
【図５】
2016136306.tif 000007
【図６】
2016136306.tif 000008
【図７】
2016136306.tif 000009
【図８】
2016136306.tif 000010
【図９】
2016136306.tif 000011
【図１０】
2016136306.tif 000012
【図１１】
2016136306.tif 000013
【図１２】
2016136306.tif 000014
【図１３】
2016136306.tif 000015
【図１４】
2016136306.tif 000016
【図１５】
2016136306.tif 000017
【図１６】
2016136306.tif 000018
【図１７】
2016136306.tif 000019
【図１８】
2016136306.tif 000020
【図１９】
2016136306.tif 000021
【図２０】
2016136306.tif 000022
【図２１】
2016136306.tif 000023
【図２２】
2016136306.tif 000024