(57)【要約】【課題】選択動作が行われた位置をより正確に認識することを課題とする。【解決手段】情報処理装置は、取得部と、指示位置算出部と、選択動作検出部と、選択位置算出部と、出力部とを有する。取得部は、認識対象の動きに関する時系列情報を取得する。指示位置算出部は、取得された時系列情報から、画面上の位置を指示する指示位置を算出する。選択動作検出部は、画面に表示された操作対象を選択する選択動作を検出する。選択位置算出部は、選択動作が検出された時刻よりも前の時刻に算出された指示位置を、該選択動作が行われた位置を表す選択位置として算出する。出力部は、算出された選択位置を出力する。【選択図】図３
2017162054.tif 000002
【特許請求の範囲】
【請求項１】
認識対象の動きに関する時系列情報を取得する取得部と、
取得された前記時系列情報から、画面上の位置を指示する指示位置を算出する指示位置算出部と、
画面に表示された操作対象を選択する選択動作を検出する選択動作検出部と、
前記選択動作が検出された時刻よりも前の時刻に算出された前記指示位置を、該選択動作が行われた位置を表す選択位置として算出する選択位置算出部と、
算出された前記選択位置を出力する出力部と
を有する情報処理装置。
【請求項２】
前記選択位置算出部は、前記選択動作が検出された時刻から所定時間前の前記指示位置を、該選択動作に対する前記選択位置として算出する請求項１に記載の情報処理装置。
【請求項３】
前記選択位置算出部は、前記選択動作が検出された時刻よりも前の時刻で、前記認識対象の動きに関する特徴量が閾値未満となる時刻での前記指示位置を、該選択動作に対する前記選択位置として算出する請求項１に記載の情報処理装置。
【請求項４】
前記選択位置算出部は、前記選択動作が検出された時刻よりも前の時刻で、前記時系列情報の変化又は変動が閾値未満となる時刻での前記指示位置を、該選択動作に対する前記選択位置として算出する請求項１に記載の情報処理装置。
【請求項５】
前記選択位置算出部は、前記選択動作が検出された時刻よりも前の時刻で、前記認識対象の傾きの変化又は変動が閾値未満となる時刻での前記指示位置を、該選択動作に対する前記選択位置として算出する請求項１に記載の情報処理装置。
【請求項６】
前記選択位置算出部は、前記選択動作が検出された時刻よりも前の時刻で、前記認識対象の位置の変化又は変動が閾値未満となる時刻での前記指示位置を、該選択動作に対する前記選択位置として算出する請求項１に記載の情報処理装置。
【請求項７】
前記選択位置算出部は、前記選択動作が検出された時刻よりも前の時刻で、所定時間にわたって前記認識対象の傾きの変化又は変動が閾値未満となる時刻での前記指示位置を、該選択動作に対する前記選択位置として算出する請求項１に記載の情報処理装置。
【請求項８】
前記選択位置算出部は、前記選択動作が検出された時刻よりも前の時刻で、所定時間にわたって前記認識対象の位置の分散が閾値未満となる時刻での前記指示位置を、該選択動作に対する前記選択位置として算出する請求項１に記載の情報処理装置。
【請求項９】
前記指示位置算出部は、前記時系列情報から得られた前記認識対象の傾きから前記指示位置を算出する請求項１〜８の何れか一つに記載の情報処理装置。
【請求項１０】
前記指示位置算出部は、前記時系列情報から得られた前記認識対象の加速度を累積して前記指示位置を算出する請求項１〜８の何れか一つに記載の情報処理装置。
【請求項１１】
認識対象の動きに関する時系列情報を取得する取得部と、
取得された前記時系列情報から、画面上の位置を指示する指示位置を算出する指示位置算出部と、
画面に表示された操作対象を選択する選択動作を検出する選択動作検出部と、
前記選択動作が検出された時刻よりも前の時刻に算出された前記指示位置を、該選択動作が行われた位置を表す選択位置として算出する選択位置算出部と、
算出された前記選択位置をもとに、表示部に対する画面表示を制御する表示制御部と
を有する出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置及び出力装置に関する。
【背景技術】
【０００２】
従来、身体に装着されたセンサから取得した測定値をもとに、該センサの３次元的な傾きを算出する技術が存在する。センサの３次元的な傾きは、例えばセンサを腕に装着する場合に、疑似的に腕の傾きに対応する。これにより、センサの３次元的な傾きを画面の相対位置に対応付けることで、遠隔に存在する画面上のカーソルを、ユーザの腕の傾きに対応させて動かすことが可能となる。また、カーソルを動かし、画面上のコンテンツがポインティングされた状態で、打指（例えば、摘むような形で親指と中指とを軽く打ちつける動作）等の特定の動作が行われた場合に、該コンテンツを選択するといったことも可能となる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｔ．  Ｉｋｅ，  Ｔ．  Ｎａｋａｓｕ  ａｎｄ  Ｙ．  Ｙａｍａｕｃｈｉ：“Ｃｏｎｔｅｎｔｓ−Ａｗａｒｅ  ｇｅｓｔｕｒｅ  ｉｎｔｅｒａｃｔｉｏｎ  ｕｓｉｎｇ  ｗｅａｒａｂｌｅ  ｍｏｔｉｏｎ  ｓｅｎｓｏｒ”，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １８ｔｈ  Ａｎｎｕａｌ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｗｅａｒａｂｌｅ  Ｃｏｍｐｕｔｅｒｓ  （ＩＳＷＣ），  Ｖｏｌ．２，  ｐｐ．５−８，  ２０１４．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術は、ユーザが選択したいコンテンツの位置からずれてしまう場合がある。例えば、コンテンツを選択する打指等の選択動作が行われた場合に、手がぶれてしまうと、正確な位置で選択されない場合がある。画面上のコンテンツがポインティングされた状態で、打指された場合に、打指の勢いによって手がぶれてしまい、手がぶれることでユーザが選択したいコンテンツの位置からずれた位置で選択動作が認識されてしまう可能性がある。選択動作された位置を誤って認識してしまうことで、誤動作につながる。
【０００５】
本発明が解決しようとする課題は、選択動作が行われた位置をより正確に認識することができる情報処理装置及び出力装置を提供することである。
【課題を解決するための手段】
【０００６】
実施形態の情報処理装置は、取得部と、指示位置算出部と、選択動作検出部と、選択位置算出部と、出力部とを有する。取得部は、認識対象の動きに関する時系列情報を取得する。指示位置算出部は、取得された時系列情報から、画面上の位置を指示する指示位置を算出する。選択動作検出部は、画面に表示された操作対象を選択する選択動作を検出する。選択位置算出部は、選択動作が検出された時刻よりも前の時刻に算出された指示位置を、該選択動作が行われた位置を表す選択位置として算出する。出力部は、算出された選択位置を出力する。
【図面の簡単な説明】
【０００７】
【図１】実施形態１に係る認識システムのシステム構成を示す図。
【図２】実施形態１に係る情報処理装置のハードウェア構成を示すブロック図。
【図３】実施形態１に係る情報処理装置の機能構成を示すブロック図。
【図４】装着型センサを装着した特定部位の上下方向の傾きを説明する図。
【図５】装着型センサを装着した特定部位の左右方向の傾きを説明する図。
【図６】装着型センサを装着した特定部位の右回り、左回りの傾きを説明する図。
【図７Ａ】打指のジェスチャが行われたときの手首の垂直上方向の加速度を示す図。
【図７Ｂ】下方向に手を払うジェスチャが行われたときの手首の垂直上方向の加速度を示す図。
【図８】実施形態１に係るマウスカーソルの位置変動を示す図。
【図９】実施形態１に係る情報処理装置による処理の流れを示すフローチャート。
【図１０】実施形態２に係る情報処理装置の機能構成を示すブロック図。
【図１１】実施形態２に係る選択位置を説明する図。
【図１２】実施形態２に係る情報処理装置による処理の流れを示すフローチャート。
【図１３】実施形態２に係る情報処理装置による処理の流れを示すフローチャート。
【図１４】実施形態３に係る情報処理装置の機能構成を示すブロック図。
【図１５】実施形態３に係る情報処理装置による処理の流れを示すフローチャート。
【図１６】実施形態４に係る認識システムのシステム構成を示す図。
【図１７】実施形態４に係る情報処理装置の機能構成を示すブロック図。
【図１８】時系列で取得される特定部位の位置を示す図。
【図１９】実施形態４に係る情報処理装置による処理の流れを示すフローチャート。
【図２０】実施形態５に係る認識システムのシステム構成を示す図。
【図２１】実施形態５に係る出力装置のハードウェア構成を示すブロック図。
【図２２】実施形態５に係る出力装置の機能構成を示すブロック図。
【図２３】実施形態５に係る出力装置による処理の流れを示すフローチャート。
【発明を実施するための形態】
【０００８】
（実施形態１）
図１は、実施形態１に係る認識システム１のシステム構成例を示す図である。図１に示すように、認識システム１には、情報処理装置１００と、装着型センサ２００と、出力装置３００とが含まれる。認識システム１において、各装置は、無線又は有線により通信可能である。認識システム１は、ユーザによる動作であるジェスチャに応じて画面（例えば、出力装置３００の画面）を操作するために用いられる。例えば、装着型センサ２００をユーザの手（手首）に装着する場合には、ユーザの手の動きに追従するように画面内のマウスカーソルを動かすように処理し、また、打指によって画面内の操作対象を選択（クリック）するように処理する。これらの他にも、ユーザの手の動きに追従して、操作対象の拡大・縮小、操作対象の移動（ドラッグ）等の各種操作を行なうことができる。
【０００９】
装着型センサ２００は、ユーザの特定部位に装着して使用されるセンサであり、特定部位の動きに応じて測定される測定値を出力する。測定値は、情報処理装置１００や出力装置３００に対して出力される。一つの様態として、装着型センサ２００は、加速度や角速度、地磁気等を測定するための各種センサを有していても良い。特定部位は、例えば、ユーザの腕、手首、指、頭、足等である。本実施形態では、ユーザの手首に装着型センサ２００を装着する場合を例に挙げる。すなわち、測定値である装着型センサ２００の加速度等は、装着型センサ２００が装着されたユーザの手の加速度等として利用できる。本実施形態において、ユーザの手等の特定部位は、その動きが認識される対象となる「認識対象」に対応する。
【００１０】
情報処理装置１００は、ＰＣやサーバ装置等の情報処理装置である。かかる情報処理装置１００は、装着型センサ２００によって出力された認識対象の動きに関する時系列情報を取得し、取得した時系列情報から、出力装置３００の画面上のマウスカーソルの指示位置を算出する。また、情報処理装置１００は、出力装置３００の画面に表示された操作対象を選択する選択動作を検出する。そして、情報処理装置１００は、選択動作が検出された時刻よりも前の時刻に算出された指示位置を、該選択動作が行われた位置を表す選択位置として算出する。その後、情報処理装置１００は、算出した選択位置を出力する。選択位置は、出力装置３００に対して出力される。
【００１１】
出力装置３００は、ＰＣやテレビジョン受信装置、タブレット端末等の表示装置を有する機器である。かかる出力装置３００は、装着型センサ２００によって出力された測定値をもとに、画面上のマウスカーソルの移動や操作対象の選択等の操作を認識し、操作の認識に応じて画面の表示を制御する。また、出力装置３００は、情報処理装置１００によって出力された選択位置をもとに、自装置で認識しているマウスカーソルの指示位置を補正し、補正した指示位置で選択動作に対応する処理を実行する。図１に示した例において、マウスカーソルは矢印で表しており、操作対象は矩形Ａ〜矩形Ｆで表している。
【００１２】
つまり、出力装置３００の画面をジェスチャによって操作する状況において、打指等のジェスチャの検出時に、打指による手のぶれによって選択位置にずれが生じ、ユーザが所望する操作が実現できないことを抑制するために、打指による選択動作が検出された場合に、選択動作が行われたときよりも前の時刻における指示位置を選択位置として採用する。例えば、ジェスチャによっては手がぶれる可能性があり、手がぶれることで、ユーザが操作しようとした位置とは異なる位置でジェスチャが行われたこととして認識される場合があるため、打指等の所定動作が検出された場合に、検出された時刻よりも前の時刻の指示位置で所定動作が行われたこととする。例を挙げると、矩形Ｃの位置で打指された場合に手のぶれにより矩形Ｆが選択されることを抑制するために、打指が検出された時刻よりも前の時刻の指示位置（矩形Ｃの位置）を選択動作に対する選択位置として採用する。換言すると、操作対象をクリックするためにマウスカーソルを移動させ、静止させた状態のときの位置を採用することで、手のぶれによる誤操作を抑制する。
【００１３】
図２は、実施形態１に係る情報処理装置１００のハードウェア構成例を示すブロック図である。図２に示すように、情報処理装置１００は、ＣＰＵ（Central  Processing  Unit）１２と、ＲＯＭ（Read  Only  Memory）１３と、ＲＡＭ（Random  Access  Memory）１４と、通信部１５とを有する。上記各部は、バス１１により互いに接続される。
【００１４】
ＣＰＵ１２は、情報処理装置１００全体の動作を制御する。ＣＰＵ１２は、ＲＡＭ１４等を作業領域として、ＲＯＭ１３等に記憶されたプログラムを実行することで、情報処理装置１００全体の動作を制御する。ＲＡＭ１４は、各種処理に関する情報等を一時的に記憶するとともに、ＲＯＭ１３等に格納されたプログラムの実行時の作業領域として使用される。ＲＯＭ１３は、情報処理装置１００による処理を実現するためのプログラムを記憶する。通信部１５は、ネットワークを介して、装着型センサ２００や出力装置３００等の外部装置と通信する。
【００１５】
図３は、実施形態１に係る情報処理装置１００の機能構成例を示すブロック図である。図３に示すように、情報処理装置１００は、取得部１１０と、指示位置算出部１２０と、選択動作検出部１３０と、選択位置算出部１４０と、出力部１５０とを有する。上記各部は、これらの一部又は全てがソフトウェア（プログラム）で実現されても良いし、ハードウェア回路で実現されても良い。
【００１６】
取得部１１０は、認識対象の動きに関する時系列情報を取得する。より具体的には、取得部１１０は、認識対象の動きに応じて装着型センサ２００によって測定された測定値の時系列情報を取得する。例えば、装着型センサ２００は、加速度や角速度、地磁気等を測定するための各種センサを有していても良い。認識対象となる特定部位は、ユーザの腕、手首、指、頭、足等である。本実施形態では、ユーザの手首に装着型センサ２００を装着する場合を例に挙げる。すなわち、測定値である装着型センサ２００の加速度等は、装着型センサ２００が装着されたユーザの手の加速度等として利用できる。
【００１７】
指示位置算出部１２０は、画面上の位置を指示する指示位置を算出する。指示位置とは、マウスカーソル等の指示画像の位置である。より具体的には、指示位置算出部１２０は、取得部１１０によって取得された測定値の時系列情報から、装着型センサ２００の傾きを算出し、移動するマウスカーソルの相対的な指示位置を算出する。装着型センサ２００の傾きは、認識対象であるユーザの手の傾きとして利用できる。
【００１８】
手の３次元的な傾きは、各種センサによって測定された３次元の加速度、角速度、地磁気の測定値をもとに算出することができる。ここで、３次元とは、センサの左右を軸とした上下方向の回転角であるピッチ、上下を軸とした左右方向の回転角であるヨー、センサの前後を軸とした回転角であるロールで表現できるものとする。これらは、装着する位置や角度によって異なるため、例えば、腕時計のように腕に装着し、ユーザから見て上下方向、左右方向、右回り・左回りの回転角になるように算出すれば良い。
【００１９】
図４は、装着型センサ２００を装着した特定部位の上下方向の傾きの例を説明する図である。例えば、図４に示すように、ユーザから見て上下方向の手の動きをもとに、下方向（図４に示す「＋」の方向）を正として、操作を開始した位置からの相対的な傾きを回転角として算出すれば良い。
【００２０】
図５は、装着型センサ２００を装着した特定部位の左右方向の傾きの例を説明する図である。例えば、図５に示すように、ユーザから見て左右方向の手の動きをもとに、右方向（図５に示す「＋」の方向）を正として、操作を開始した位置からの相対的な傾きを回転角として算出すれば良い。
【００２１】
図６は、装着型センサ２００を装着した特定部位の右回り、左回りの傾きの例を説明する図である。例えば、図６に示すように、ユーザから見て右回り、左回りの手の動きをもとに、右回り（図６に示す「＋」の方向）を正として、操作を開始した位置からの相対的な傾きを回転角として算出すれば良い。
【００２２】
選択動作検出部１３０は、選択動作を検出する。より具体的には、選択動作検出部１３０は、取得部１１０によって取得された測定値の時系列情報から、ユーザが打指等のジェスチャを行なったことを検出する。本実施形態において、打指は、出力装置３００の画面に表示された操作対象の何れかを選択する選択動作であるものとする。例えば、選択動作である打指が行われたことについては、測定値の時系列情報をもとに、加速度の時間変化や変化量が特定の条件を満たすときに検出するものとする。例を挙げると、選択動作検出部１３０は、加速度の大きさが所定の閾値以上になった場合や、時間当たりの加速度の変化量の大きさが所定の閾値以上になった場合等に、選択動作である打指が行われたものとして検出する。なお、打指とは、摘むような形で親指と中指とを軽く打ちつけるジェスチャを指す。
【００２３】
加速度はセンサに対して３軸方向でそれぞれの値を取得することができるが、特定の軸の値を利用して打指等のジェスチャを判定しても良い。例えば、ユーザの手首に装着した装着型センサ２００から出力された測定値の一つである加速度のうち、図５に示したジェスチャが行われたときの腕に対して垂直上向き方向の加速度を利用しても良い。
【００２４】
図７Ａは、打指のジェスチャが行われたときの手首の垂直上方向の加速度の例を示す図である。また、図７Ｂは、下方向に手を払うジェスチャ（下方向へのフリップ）が行われたときの手首の垂直上方向の加速度の例を示す図である。図７Ａ及び図７Ｂに示すように、打指のジェスチャは、下方向に手を払うジェスチャと比較して、加速度の波形が検出される時間が短く、急峻な形状となることがわかる。
【００２５】
そこで、以下で説明する第１条件と第２条件とから、選択動作が行われたことを検出しても良い。第１条件は、過去の所定時間の加速度の平均値を基準値として、加速度の変化量が所定の閾値「Ａ１」以上であるという条件である。第２条件は、基準値からの加速度の変化量が最大となる時刻を「Ｔｍａｘ」、所定の時間間隔を「Ｔ１」，「Ｔ２」として、時刻「Ｔｍａｘ−Ｔ２」から時刻「Ｔｍａｘ−Ｔ１」までの間と、時刻「Ｔｍａｘ＋Ｔ１」から時刻「Ｔｍａｘ＋Ｔ２」までの間とにおける、加速度の変化量が所定の閾値「Ａ２」未満であるという条件である。なお、時間間隔「Ｔ１」，「Ｔ２」は、「Ｔ２＞Ｔ１」の関係を有する。また、所定の閾値「Ａ１」，「Ａ２」は、「Ａ１＞Ａ２」の関係を有する。例えば、所定の閾値「Ａ２」は、「Ａ１」の半分程度、又は半分以下の値をとれば良く、基準値よりも大きい値とする。過去の所定時間は、例えば、１００〜３００ｍｓ（ミリセック）程度の時間である。あまり長い時間における加速度の平均値を基準値とした場合、打指のジェスチャが繰り返し行われた場合の検出が困難になる可能性があるため、ユーザによって適宜変更すると良い。また、「Ａ１」は、例えば「０．５×重力加速度」と定義をしても良いし、打指の動作を初期設定時に行ない、ピークの値をもとに決めても良い。
【００２６】
詳細には、時刻「Ｔｍａｘ−Ｔ２」から時刻「Ｔｍａｘ−Ｔ１」までの間と、時刻「Ｔｍａｘ＋Ｔ１」から時刻「Ｔｍａｘ＋Ｔ２」までの間とは、加速度の変化量が最大となる時刻「Ｔｍａｘ」の前後の時間間隔である。上述したように、打指のジェスチャの波形は、加速度の波形が検出される時間が短く、急峻な形状となる。このため、加速度の変化量が最大となる時刻の前後の波形が、基準値と同様の値となっていれば、打指のジェスチャが行われたものとして検出して良い。第１条件及び第２条件を採用することで、図７Ｂに示したような下方向に手を払うジェスチャ等の、打指ではないジェスチャが選択動作として検出されることを抑制できる。
【００２７】
また、第１条件及び第２条件に、第３条件をさらに加えても良い。第３条件は、時刻「Ｔｍａｘ」の前後の時間間隔において、手首の位置が一定の範囲におさまるような静止状態であるという条件である。手首の位置が時系列で算出可能な場合には、第３条件をさらに加えて判定することにより、より高精度に選択動作が行われたことを検出することができる。なお、選択動作のジェスチャについては、打指に限られるものではなく、例えば、手を握る（掴む）、手首から先を下に振る、前方に手のひらを押し出す、指を鳴らす等の任意のジェスチャを採用しても良い。
【００２８】
選択位置算出部１４０は、選択動作が行われた位置を表す選択位置を算出する。より具体的には、選択位置算出部１４０は、選択動作検出部１３０によって打指等の選択動作が検出された場合に、選択動作が検出された時刻よりも前の時刻に算出された指示位置を、選択動作に対する選択位置として算出する。出力装置３００の画面において、選択したい位置にマウスカーソルを合わせる場合には、ある程度の時間はマウスカーソルの動きが小さくなる。そして、打指等の選択動作が行われる場合には、打指前の振りかぶりや打指後の勢いに伴い、腕がぶれることでマウスカーソルが素早く動く傾向がある。このことから、選択位置算出部１４０は、打指等の選択動作が検出されると、打指時の腕のぶれが発生していない過去の指示位置を、選択動作に対する選択位置として算出する。例えば、選択位置算出部１４０は、選択動作検出部１３０によって選択動作が検出された時刻よりも所定時間だけ前の時刻における指示位置を、選択動作に対する選択位置として算出する。所定時間前の指示位置は、指示位置算出部１２０によって時系列に算出された指示位置を利用すれば良い。
【００２９】
図８は、実施形態１に係るマウスカーソルの位置変動の例を示す図である。図８において、太線は出力装置３００の画面上のマウスカーソルの位置（上下方向の成分）の時間変化を表し、細線は装着型センサ２００によって出力された加速度のうち、手首に対して垂直上向きの成分の時間変化を表している。図８に示すように、打指された場合には、急峻な加速度のパターン１００１が出現する。このとき、打指によって腕が下に沈み込み、マウスカーソルの位置が下に沈む。パターン１００１が検出されると、検出された時点１００２でのマウスカーソルの位置１００３で選択動作に対する選択位置となってしまう。このため、ユーザが実際にマウスカーソルを合わせたかった位置１００４よりも下に移動した位置で選択動作が検出されることになり、誤動作につながる。このような誤動作を抑制するために、選択位置算出部１４０は、選択動作が検出された時刻よりも所定時間だけ前の時刻における指示位置（例えば、位置１００４）を、選択動作に対する選択位置として算出する。
【００３０】
出力部１５０は、選択位置を出力する。より具体的には、出力部１５０は、選択位置算出部１４０によって算出された選択位置を、出力装置３００に対して出力する。これにより、出力装置３００は、選択位置をもとに、現在の指示位置を選択動作が行われた位置に補正するとともに、選択動作に応じた画面制御を実行する。選択動作に応じた画面制御は、例えば、選択対象の拡大や縮小、選択対象の選択（クリック）による画面遷移等である。
【００３１】
図９は、実施形態１に係る情報処理装置１００による処理の流れの例を示すフローチャートである。図９に示すように、情報処理装置１００は、装着型センサ２００によって測定された測定値の時系列情報を取得する（ステップＳ１０１）。そして、情報処理装置１００は、取得された測定値の時系列情報から、装着型センサ２００の傾きを算出し、出力装置３００の画面上を移動するマウスカーソルの相対的な指示位置を算出する（ステップＳ１０２）。装着型センサ２００がユーザの手首に装着されている場合は、ユーザの手の動きに応じて装着型センサ２００によって測定された加速度等が測定値として出力される。すなわち、装着型センサ２００の加速度は、ユーザの手の動きに応じた加速度として利用される。
【００３２】
続いて、情報処理装置１００は、測定値の時系列情報から、ユーザが打指等の選択動作を行なったことを検出する（ステップＳ１０３）。打指は、測定値の時系列情報をもとに、加速度の時間変化や変化量が特定の条件を満たすときに検出される。その後、情報処理装置１００は、打指等の選択動作が検出された場合に、選択動作が検出された時刻の所定時間前の指示位置を、選択動作に対する選択位置として算出する（ステップＳ１０４）。所定時間前の指示位置は、時系列に算出された指示位置を利用する。そして、情報処理装置１００は、算出した選択位置を、出力装置３００に対して出力する（ステップＳ１０５）。
【００３３】
実施形態によれば、選択動作が検出された時刻の所定時間前の指示位置を、該選択動作に対する選択位置とするので、選択動作が行われた位置をより正確に認識することができる。
【００３４】
（実施形態２）
図１０は、実施形態２に係る情報処理装置１００ａの機能構成例を示すブロック図である。実施形態２では、実施形態１に係る情報処理装置１００の機能構成と同様の構成については同一の符号を付し、その詳細な説明を省略する場合がある。具体的には、以下に説明する選択位置算出部１４０ａ以外の各部の機能は、実施形態１に係る各部の機能と同様である。なお、実施形態２に係るシステム構成や情報処理装置１００ａのハードウェア構成は、実施形態１に係るシステム構成や情報処理装置１００のハードウェア構成と同様である。
【００３５】
図１０に示すように、情報処理装置１００ａは、取得部１１０と、指示位置算出部１２０と、選択動作検出部１３０と、選択位置算出部１４０ａと、出力部１５０とを有する。上記各部は、これらの一部又は全てがソフトウェア（プログラム）で実現されても良いし、ハードウェア回路で実現されても良い。
【００３６】
選択位置算出部１４０ａは、選択動作が行われた位置を表す選択位置を算出する。より具体的には、選択位置算出部１４０ａは、選択動作検出部１３０によって選択動作が検出された場合に、選択動作が検出された時刻よりも前の時刻で、認識対象の動きに関する特徴量が閾値未満となる最新の時刻における指示位置を、選択動作に対する選択位置として算出する。ここで、選択動作が検出された時刻よりも前の時刻で、認識対象の動きに関する特徴量が閾値未満となる最新の時刻とは、選択動作が検出された時刻（現在時刻）により近い時刻を指す。上述したように、出力装置３００の画面において、選択したい位置にマウスカーソルを合わせる場合には、ある程度の時間はマウスカーソルの動きが小さくなる。また、打指等の選択動作が行われる場合には、打指前の振りかぶりや打指後の勢いに伴い、腕がぶれることでマウスカーソルが素早く動く傾向がある。このことから、選択動作が検出された時刻よりも前の時刻で、動きに関する特徴量が閾値未満となる時刻での指示位置（選択動作に伴って腕がぶれる前の位置）を、選択動作に対する選択位置として算出する。
【００３７】
動きに関する特徴量が閾値未満である箇所は、取得部１１０によって取得された測定値に含まれる加速度の変化や変動が閾値未満となる場合とすれば良い。例えば、加速度は時系列に得られる値であり、時刻ｔのときの値をＡｔとし、ある時刻ｔ０の後にサンプリングされる時刻をｔ１としたとき、加速度の変化は｜Ａｔ１−Ａｔ０｜となり、変動は所定時間での分散値として良い。また、Ａｔは、そのまま使用するとノイズが含まれる可能性があるため、過去複数フレームで平均した値としても良い。なお、加速度ではなく、角速度や、指示位置算出部１２０によって算出された認識対象の傾きや位置等を使用しても良い。
【００３８】
上記のほかにも、以下のように、選択動作に対する選択位置を算出するようにしても良い。例えば、選択位置算出部１４０ａは、選択動作検出部１３０によって選択動作が検出された場合に、選択動作が検出された時刻よりも前の時刻で、認識対象の動きに関する特徴量が所定時間にわたって閾値未満となる箇所を検出する。そして、選択動作検出部１３０は、所定時間で最新の時刻における指示位置を、選択動作に対する選択位置として算出する。
【００３９】
図１１は、実施形態２に係る選択位置の例を説明する図である。図１１では、実施形態１で説明したマウスカーソルの位置変動に加えて、上述した所定時間１００５と、所定時間１００５で最新の時刻における指示位置１００６とを追加している。図１１に示すように、選択位置算出部１４０ａは、選択動作検出部１３０によって選択動作が検出された場合に（パターン１００１が出現した場合に）、検出された時点１００２よりも前の時刻で、太線で表された特徴量が所定時間１００５にわたって閾値未満となる箇所を検出する。そして、選択位置算出部１４０ａは、所定時間で最新の時刻における指示位置１００６を、選択動作に対する選択位置（位置１００４）として算出する。これにより、選択位置算出部１４０ａは、打指によるぶれが発生する直前での位置を、選択動作に対する選択位置として算出する。
【００４０】
図１２は、実施形態２に係る情報処理装置１００ａによる処理の流れの例を示すフローチャートである。なお、図１２では、認識対象の動きに関する特徴量が閾値未満となる最新の時刻における指示位置を選択動作に対する選択位置とする場合を例に挙げる。
【００４１】
図１２に示すように、情報処理装置１００ａは、装着型センサ２００によって測定された測定値の時系列情報を取得する（ステップＳ２０１）。そして、情報処理装置１００ａは、取得された測定値の時系列情報から、装着型センサ２００の傾きを算出し、出力装置３００の画面上を移動するマウスカーソルの相対的な指示位置を算出する（ステップＳ２０２）。続いて、情報処理装置１００ａは、測定値の時系列情報から、ユーザが打指等の選択動作を行なったことを検出する（ステップＳ２０３）。その後、情報処理装置１００ａは、打指等の選択動作が検出された場合に、選択動作が検出された時刻よりも前の時刻で、認識対象の動きに関する特徴量が閾値未満となる最新の時刻における指示位置を、選択動作に対する選択位置として算出する（ステップＳ２０４）。そして、情報処理装置１００ａは、算出した選択位置を、出力装置３００に対して出力する（ステップＳ２０５）。
【００４２】
図１３は、実施形態２に係る情報処理装置１００ａによる処理の流れの例を示すフローチャートである。なお、図１３では、認識対象の動きに関する特徴量が所定時間にわたって閾値未満となる箇所での最新の時刻における指示位置を選択動作に対する選択位置とする場合を例に挙げる。
【００４３】
図１３に示すように、情報処理装置１００ａは、装着型センサ２００によって測定された測定値の時系列情報を取得する（ステップＳ３０１）。そして、情報処理装置１００ａは、取得された測定値の時系列情報から、装着型センサ２００の傾きを算出し、出力装置３００の画面上を移動するマウスカーソルの相対的な指示位置を算出する（ステップＳ３０２）。続いて、情報処理装置１００ａは、測定値の時系列情報から、ユーザが打指等の選択動作を行なったことを検出する（ステップＳ３０３）。その後、情報処理装置１００ａは、打指等の選択動作が検出された場合に、選択動作が検出された時刻よりも前の時刻で、認識対象の動きに関する特徴量が所定時間にわたって閾値未満となる箇所での最新の時刻における指示位置を、選択動作に対する選択位置として算出する（ステップＳ３０４）。そして、情報処理装置１００ａは、算出した選択位置を、出力装置３００に対して出力する（ステップＳ３０５）。
【００４４】
実施形態によれば、選択動作が検出された時刻よりも前の時刻で、認識対象の動きに関する特徴量が閾値未満となる最新の時刻における指示位置を選択動作に対する選択位置として算出するので、選択動作が行われた位置をより正確に認識することができる。また、実施形態によれば、選択動作が検出された時刻よりも前の時刻で、認識対象の動きに関する特徴量が所定時間にわたって閾値未満となる箇所での最新の時刻における指示位置を選択動作に対する選択位置として算出するので、選択動作が行われた位置をより正確に認識することができる。
【００４５】
（実施形態３）
図１４は、実施形態３に係る情報処理装置１００ｂの機能構成例を示すブロック図である。実施形態３では、実施形態１に係る情報処理装置１００の機能構成と同様の構成については同一の符号を付し、その詳細な説明を省略する場合がある。具体的には、以下に説明する選択動作検出部１３０ｂ、選択位置算出部１４０ｂ以外の各部の機能は、実施形態１に係る各部の機能と同様である。なお、実施形態３に係るシステム構成や情報処理装置１００ｂのハードウェア構成は、実施形態１に係るシステム構成や情報処理装置１００のハードウェア構成と同様である。
【００４６】
図１４に示すように、情報処理装置１００ｂは、取得部１１０と、指示位置算出部１２０と、選択動作検出部１３０ｂと、選択位置算出部１４０ｂと、出力部１５０とを有する。上記各部は、これらの一部又は全てがソフトウェア（プログラム）で実現されても良いし、ハードウェア回路で実現されても良い。
【００４７】
選択動作検出部１３０ｂは、選択動作を検出する。より具体的には、選択動作検出部１３０ｂは、取得部１１０によって取得された測定値の時系列情報から、ユーザが手首を捻る動作等のジェスチャを行なったことを検出する。本実施形態において、手首を捻る動作は、出力装置３００の画面に表示された操作対象の何れかを選択する選択動作であるものとする。手首を捻る動作は、図６に示したものである。例えば、選択動作である手首を捻る動作については、指示位置算出部１２０によって算出されたセンサのロール角が閾値以上変化したときに検出するものとする。ここで、手首を捻る動作に伴い、センサ上の位置が変動するため、選択動作が検出された時点では、ユーザが選択しようとした操作対象の位置からずれている可能性がある。
【００４８】
選択位置算出部１４０ｂは、選択動作が行われた位置を表す選択位置を算出する。より具体的には、選択位置算出部１４０ｂは、選択動作検出部１３０ｂによって手首を捻る動作等の選択動作が検出された場合に、選択動作が検出された時刻よりも前の時刻で、ロール角の単位時間あたりの変化量が閾値未満となる最新の時刻における指示位置を、選択動作に対する選択位置として算出する。ここで、選択動作が検出された時刻よりも前の時刻で、ロール角の単位時間あたりの変化量が閾値未満となる最新の時刻とは、選択動作が検出された時刻（現在時刻）により近い時刻を指す。なお、選択位置算出部１４０ｂによる処理は、実施形態１と同様であっても良い。
【００４９】
図１５は、実施形態３に係る情報処理装置１００ｂによる処理の流れの例を示すフローチャートである。図１５に示すように、情報処理装置１００ｂは、装着型センサ２００によって測定された測定値の時系列情報を取得する（ステップＳ４０１）。そして、情報処理装置１００ｂは、取得された測定値の時系列情報から、装着型センサ２００の傾きを算出し、出力装置３００の画面上を移動するマウスカーソルの相対的な指示位置を算出する（ステップＳ４０２）。続いて、情報処理装置１００ｂは、センサのロール角が閾値以上変化したことに応じて、手首を捻る動作である選択動作を検出する（ステップＳ４０３）。その後、情報処理装置１００ｂは、手首を捻る選択動作が検出された時刻よりも前の時刻で、ロール角の単位時間あたりの変化量が閾値未満となる最新の時刻における指示位置を、選択動作に対する選択位置として算出する（ステップＳ４０４）。そして、情報処理装置１００ｂは、算出した選択位置を、出力装置３００に対して出力する（ステップＳ４０５）。
【００５０】
実施形態によれば、手首を捻る動作を選択動作として、センサのロール角が閾値以上変化したときに選択動作を検出し、選択動作が検出された時刻よりも前の時刻で、ロール角の単位時間当たりの変化量が閾値未満となる時刻の指示位置を、選択動作に対する選択位置として算出するので、手のぶれが発生し得る様々な選択動作に対して、選択動作が行われた位置をより正確に認識することができる。
【００５１】
（実施形態４）
図１６は、実施形態４に係る認識システム１ａのシステム構成例を示す図である。図１６に示すように、認識システム１ａには、情報処理装置１００ｃと、出力装置３００ａとが含まれる。認識システム１ａにおいて、各装置は、無線又は有線により通信可能である。認識システム１ａは、ユーザによる動作であるジェスチャに応じて画面（例えば、出力装置３００ａの画面）を操作するために用いられる。画面の操作は、出力装置３００ａ等に搭載されたカメラ等の撮像装置を利用して認識されたユーザの特定部位（例えば、手や指等）の動きに応じて、ユーザの手の動きに追従するように画面内のマウスカーソルを動かすように処理し、また、打指又は手を握る動作等によって画面内の操作対象を選択（クリック）するように処理する。これらの他にも、ユーザの手の動きに追従して、操作対象の拡大・縮小、操作対象の移動（ドラッグ）等の各種操作を行なうことができる。図１６では、出力装置３００ａの画面の上部に撮像装置を搭載した例を示しており、撮像装置による撮影範囲を破線で示している。すなわち、実施形態４では、カメラ画像での手の位置を時系列情報として、時系列情報から画面内でのマウスカーソルの位置を算出する。
【００５２】
図１７は、実施形態４に係る情報処理装置１００ｃの機能構成例を示すブロック図である。図１７に示すように、情報処理装置１００ｃは、取得部１１０ｃと、指示位置算出部１２０ｃと、選択動作検出部１３０ｃと、選択位置算出部１４０ｃと、出力部１５０ｃとを有する。上記各部は、これらの一部又は全てがソフトウェア（プログラム）で実現されても良いし、ハードウェア回路で実現されても良い。
【００５３】
取得部１１０ｃは、ユーザの特定部位の位置を時系列で取得する。より具体的には、取得部１１０ｃは、出力装置３００ａのカメラによって撮像された時系列の画像に対して、ユーザの手や指等の特定部位を画像毎に検出して、時系列に追跡することにより、ユーザの特定部位の位置を時系列で取得する。例えば、特定部位の位置は、手や指等の特定部位の検出領域の重心とする。また、取得する特定部位の位置は、画像上で規定されているピクセル位置等の座標で表現しても良いし、検出されたユーザの顔等の部位の位置からの相対座標で表現しても良い。これらのほかにも、ユーザの顔や最初に検出されたある部位のサイズによって正規化した座標値としても良い。また、特定部位の位置は、画像上の位置に限られるものではなく、距離センサや複数の撮像装置から推定された奥行き情報を座標軸の一つとして利用しても良い。また、特定部位は、手や指の他にも、頭、レーザポインタの発光部等でも良い。また、特定部位の位置を取得する取得部１１０ｃによる処理は、特開２００６−２６８８２５号公報で開示されているパターン認識法や、特許第３７７７６５０号公報で開示されている背景差分法等を利用して、ユーザの特定部位の位置を時系列で取得しても良い。
【００５４】
また、位置だけでなく、各位置を取得した時刻も保存しても良い。時刻は、出力装置３００ａや情報処理装置１００ｃの起動時、又は、位置取得の開始時を「０」として、開始時からの経過時間、経過クロック数、経過フレーム数等で表現される。例えば、画像上の（ｘ，ｙ）座標で位置を表現する場合、ｉ番目のフレームで取得した位置（ｘｉ，ｙｉ）と、取得時の時刻「Ｔｉ」とを対応付けて保存する。
【００５５】
図１８は、時系列で取得される特定部位の位置の例を示す図である。図１８に示すように、特定部位の動きは、「Ｐ１」、「Ｐ２」、「Ｐ３」、「Ｐ４」、「Ｐ５」、「Ｐ６」、「Ｐ７」、「Ｐ８」の順に、破線の矢印で表されるように連続した軌跡を辿る。取得部１１０ｃでは、撮像によってサンプリングされた離散的な点それぞれとして、「Ｐ１」〜「Ｐ８」それぞれの位置が取得される。
【００５６】
指示位置算出部１２０ｃは、画面上の位置を指示する指示位置を算出する。より具体的には、指示位置算出部１２０ｃは、取得部１１０ｃによって取得された特定部位の位置の時系列情報をもとに、画像の所定領域を出力装置３００ａの画面に対応させることで、画面内でのマウスカーソルの位置を算出する。
【００５７】
選択動作検出部１３０ｃは、選択動作を検出する。例えば、ユーザが打指又は手を握る動作を行なうことで選択動作を実現するものとする。より具体的には、選択動作検出部１３０ｃは、ユーザの手の形状を認識することで、選択動作のジェスチャが行われたことを検出する。例えば、手の形状の認識は、サポートベクタマシン等の機械学習によって最適化された識別器を用いて、特定の形状（打指又は手を握る）か否かにより識別しても良い。その際、直前のフレームでの手の位置の近傍で様々な大きさの探索領域を設け、所定の閾値以上で上記形状の尤度が出力された場合に、特定形状であると判定して良い。なお、選択動作とする手の形状は、上記のものに限られるものではない。
【００５８】
選択位置算出部１４０ｃは、選択動作が行われた位置を表す選択位置を算出する。より具体的には、選択位置算出部１４０ｃは、選択動作検出部１３０ｃによって打指又は手を握る動作等の選択動作が検出された場合に、選択動作が検出された時刻よりも前の時刻に算出された指示位置を、選択動作に対する選択位置として算出する。選択位置算出部１４０ｃによる処理は、上述してきた実施形態と同様で良い。出力装置３００ａの画面において、選択したい位置にマウスカーソルを合わせる場合には、ある程度の時間はマウスカーソルの動きが小さくなる。また、選択動作を表す手の形状が検出される際には、選択動作検出部１３０ｃによって、手の形状の識別器の尤度が高くなる位置で検出されることになるため、その瞬間に手の位置が修正され、マウスカーソルが素早く動く傾向にある。例えば、選択位置算出部１４０ｃは、選択動作検出部１３０ｃによって選択動作が検出された時刻よりも所定時間だけ前の時刻における指示位置を、選択動作に対する選択位置として算出することで、ぶれる前の指示位置を選択動作に対する選択位置として算出することができる。
【００５９】
出力部１５０ｃは、選択位置を出力する。より具体的には、出力部１５０ｃは、選択位置算出部１４０ｃによって算出された選択位置を、出力装置３００ａに対して出力する。これにより、出力装置３００ａは、現在の指示位置を選択動作が行われた選択位置に補正するとともに、選択動作に応じた画面制御を実行する。
【００６０】
図１９は、実施形態４に係る情報処理装置１００ｃによる処理の流れの例を示すフローチャートである。図１９に示すように、情報処理装置１００ｃは、出力装置３００ａのカメラによって撮像された時系列の画像に対して、ユーザの特定部位を画像毎に検出し、時系列に追跡することにより、ユーザの特定部位の位置を時系列で取得する（ステップＳ５０１）。そして、情報処理装置１００ｃは、取得した特定部位の位置の時系列情報をもとに、画像の所定領域を出力装置３００ａの画面に対応させることで、画面内のマウスカーソルの位置（指示位置）を算出する（ステップＳ５０２）。続いて、情報処理装置１００ｃは、ユーザの手の形状を認識することで、打指等の選択動作が行われたことを検出する（ステップＳ５０３）。その後、情報処理装置１００ｃは、選択動作が検出された時刻よりも所定時間だけ前の時刻における指示位置を、選択動作に対する選択位置として算出する（ステップＳ５０４）。そして、情報処理装置１００ｃは、算出した選択位置を、出力装置３００ａに対して出力する（ステップＳ５０５）。
【００６１】
実施形態によれば、ユーザの手の動きを撮像した時系列の画像をもとに指示位置を算出し、打指又は手を握る動作等の選択動作を手の形状を認識することで検出し、選択動作が検出された時刻よりも前の時刻に算出された指示位置を、選択動作に対する選択位置として算出するので、カメラを用いてジェスチャを認識する場合においても、選択動作が行われた位置をより正確に認識することができる。
【００６２】
（実施形態５）
図２０は、実施形態５に係る認識システム１ｂのシステム構成例を示す図である。図２０に示すように、認識システム１ｂには、装着型センサ２００と、出力装置３００ｂとが含まれる。認識システム１ｂにおいて、各装置は、無線又は有線により通信可能である。認識システム１ｂは、ユーザによる動作であるジェスチャに応じて画面（例えば、出力装置３００ｂの画面）を操作するために用いられる。例えば、装着型センサ２００をユーザの手（手首）に装着する場合には、ユーザの手の動きに追従するように画面内のマウスカーソルを動かすように処理し、また、打指によって画面内の操作対象を選択（クリック）するように処理する。これらの他にも、ユーザの手の動きに追従して、操作対象の拡大・縮小、操作対象の移動（ドラッグ）等の各種操作を行なうことができる。
【００６３】
装着型センサ２００は、ユーザの特定部位に装着して使用されるセンサであり、特定部位の動きに応じて測定される測定値を出力する。本実施形態において、測定値は、出力装置３００ｂに対して出力される。一つの様態として、装着型センサ２００は、加速度や角速度、地磁気等を測定するための各種センサを有していても良い。特定部位は、例えば、ユーザの腕、手首、指、頭、足等である。本実施形態では、ユーザの手首に装着型センサ２００を装着する場合を例に挙げる。すなわち、測定値である装着型センサ２００の加速度等は、装着型センサ２００が装着されたユーザの手の加速度等として利用できる。
【００６４】
出力装置３００ｂは、装着型センサ２００によって出力された認識対象の動きに関する時系列情報を取得し、取得した時系列情報から、出力装置３００ｂの画面上のマウスカーソルの指示位置を算出する。また、出力装置３００ｂは、出力装置３００の画面に表示された操作対象を選択する選択動作を検出する。そして、出力装置３００ｂは、選択動作が検出された時刻よりも前の時刻に算出された指示位置を、該選択動作が行われた位置を表す選択位置として算出する。その後、出力装置３００ｂは、算出した選択位置をもとに、マウスカーソルの指示位置を補正し、補正した位置で選択動作に対する画面制御処理を実行する。すなわち、本実施形態では、情報処理装置１００等で実行されていた処理を、出力装置３００ｂで実現する。図２０に示した例において、マウスカーソルは矢印で表しており、操作対象は矩形Ａ〜矩形Ｆで表している。
【００６５】
図２１は、実施形態５に係る出力装置３００ｂのハードウェア構成例を示すブロック図である。図２１に示すように、出力装置３００ｂは、ＣＰＵ３２と、ＲＯＭ３３と、ＲＡＭ３４と、表示部３５と、通信部３６とを有する。上記各部は、バス３１により互いに接続される。
【００６６】
ＣＰＵ３２は、出力装置３００ｂ全体の動作を制御する。ＣＰＵ３２は、ＲＡＭ３４等を作業領域として、ＲＯＭ３３等に記憶されたプログラムを実行することで、出力装置３００ｂ全体の動作を制御する。ＲＡＭ３４は、各種処理に関する情報等を一時的に記憶するとともに、ＲＯＭ３３等に格納されたプログラムの実行時の作業領域として使用される。ＲＯＭ３３は、出力装置３００ｂによる処理を実現するためのプログラムを記憶する。表示部３５は、液晶ディスプレイ等を備え、各種情報を表示出力する。なお、表示部３５は、液晶ディスプレイにタッチパネルを積層した操作パネルや各種操作キー等を備えていても良い。通信部３６は、ネットワークを介して、装着型センサ２００等の外部装置と通信する。
【００６７】
図２２は、実施形態５に係る出力装置３００ｂの機能構成例を示すブロック図である。図２２に示すように、出力装置３００ｂは、取得部３１０と、指示位置算出部３２０と、選択動作検出部３３０と、選択位置算出部３４０と、表示制御部３５０とを有する。上記各部は、これらの一部又は全てがソフトウェア（プログラム）で実現されても良いし、ハードウェア回路で実現されても良い。
【００６８】
取得部３１０は、認識対象の動きに関する時系列情報を取得する。より具体的には、取得部３１０は、認識対象の動きに応じて装着型センサ２００によって測定された測定値の時系列情報を取得する。
【００６９】
指示位置算出部３２０は、画面上の位置を指示する指示位置を算出する。より具体的には、指示位置算出部３２０は、取得部３１０によって取得された測定値の時系列情報から、装着型センサ２００の傾きを算出し、移動するマウスカーソルの指示位置を算出する。装着型センサ２００の傾きは、認識対象であるユーザの手の傾きとして利用できる。
【００７０】
例えば、認識対象である特定部位の傾きそれぞれを、上下方向の回転角ピッチを「α」、左右方向の回転角ヨーを「β」、前後を軸とした回転角ロールを「γ」とする。まず、画面領域内の所定の基準点が、特定部位の所定の傾きに対応するように事前に設定しておく。例えば、操作が開始されたときの特定部位の傾き（αｃ，βｃ，γｃ）が、画面領域内の中央（Ｘｃ，Ｙｃ）等の所定位置に対応するように設定する。なお、処理を簡易にするために、左右方向の傾き「β」と上下方向の傾き「α」のみを使用して、それぞれが画面領域上のｘ軸、ｙ軸の変化を表すように変換しても良い。このとき、特定部位の傾きが（βｃ，αｃ）である場合には、上述した画面領域上の点（Ｘｃ，Ｙｃ）が対応することになる。
【００７１】
また、画面領域内の所定距離が手の傾きの所定の変化量に対応するように設定する。例えば、左右方向の回転角ヨー「β」の「４０°」分の変化量を画面領域の横サイズ「Ｌｘ」とし、上下方向の回転角ピッチ「α」の「４０°」分の変化量を画面領域の縦サイズ「Ｌｙ」となるように設定する。これにより、特定部位の傾き（β，α）に対して、線形補間により画面領域上の位置（Ｘ，Ｙ）を、以下の数式により算出できる。
Ｘ＝Ｘｃ＋Ｌｘ（β−βｃ）／４０
Ｙ＝Ｙｃ＋Ｌｙ（α−αｃ）／４０
【００７２】
装着型センサ２００を装着するユーザと画面領域との距離や、ユーザの手が移動可能な範囲等を考慮して各パラメータを設定することにより、装着型センサ２００を装着した手でユーザが画面領域を遠隔から指すと、その延長上の位置にマウスカーソルが配置されるようにできる。これにより、ユーザは、遠隔からポインティングできているように感じることができる。
【００７３】
また、画面領域内は「０≦Ｘ≦Ｌｘ」，「０≦Ｙ≦Ｌｙ」であり、この画面領域に位置（Ｘ，Ｙ）が含まれない場合には、マウスカーソルが画面領域外に位置するものとして、マウスカーソルの表示をしないようにしても良い。また、画面領域に位置（Ｘ，Ｙ）が含まれない場合であっても、特定部位の位置が画面領域の端に留まるように、画面領域の中央に対応する特定部位の傾きを（αｃ’，βｃ’，γｃ’）に更新しても良い。特定部位の位置が画面領域の端に留まるようにすれば、ユーザの手がどの位置にあってもマウスカーソルを見失うことなくポインティングすることができる。
【００７４】
選択動作検出部３３０は、選択動作を検出する。より具体的には、選択動作検出部３３０は、取得部３１０によって取得された測定値の時系列情報から、ユーザが打指等のジェスチャを行なったことを検出する。本実施形態において、打指は、出力装置３００ｂの画面に表示された操作対象の何れかを選択する選択動作であるものとする。例えば、選択動作である打指が行われたことについては、測定値の時系列情報をもとに、加速度の時間変化や変化量が特定の条件を満たすときに検出するものとする。例を挙げると、選択動作検出部３３０は、加速度の大きさが所定の閾値以上になった場合や、時間当たりの加速度の変化量の大きさが所定の閾値以上になった場合等に、選択動作である打指が行われたものとして検出する。
【００７５】
選択位置算出部３４０は、選択動作が行われた位置を表す選択位置を算出する。より具体的には、選択位置算出部３４０は、選択動作検出部３３０によって打指等の選択動作が検出された場合に、選択動作が検出された時刻よりも前の時刻に算出された指示位置を、選択動作に対する選択位置として算出する。一つの様態として、選択位置算出部３４０は、選択動作検出部３３０によって選択動作が検出された時刻よりも所定時間だけ前の時刻における指示位置を、選択動作に対する選択位置として算出する。所定時間前の指示位置は、指示位置算出部３２０によって時系列に算出された指示位置を利用すれば良い。
【００７６】
表示制御部３５０は、算出された選択位置をもとに、表示部３５に対して画面表示を制御する。より具体的には、表示制御部３５０は、選択位置算出部３４０によって算出された選択位置をもとに、現在の指示位置の補正と、選択動作に対する画面表示の制御とを実行する。例えば、選択動作に対する画面表示の制御は、選択された操作対象の拡大・縮小、又は、操作対象が選択されたことによる画面遷移等の処理となる。
【００７７】
図２３は、実施形態５に係る出力装置３００ｂによる処理の流れの例を示すフローチャートである。図２３に示すように、出力装置３００ｂは、装着型センサ２００によって測定された測定値の時系列情報を取得する（ステップＳ６０１）。そして、出力装置３００ｂは、取得された測定値の時系列情報から、装着型センサ２００の傾きを算出し、出力装置３００ｂの画面上を移動するマウスカーソルの指示位置を算出する（ステップＳ６０２）。続いて、出力装置３００ｂは、測定値の時系列情報から、ユーザが打指等の選択動作を行なったことを検出する（ステップＳ６０３）。その後、出力装置３００ｂは、打指等の選択動作が検出された場合に、選択動作が検出された時刻の所定時間前の指示位置を、選択動作に対する選択位置として算出する（ステップＳ６０４）。そして、出力装置３００ｂは、算出した選択位置をもとに、現在の指示位置を補正し、選択動作に対する画面の表示制御を実行する（ステップＳ６０５）。
【００７８】
実施形態によれば、選択動作が検出された時刻の所定時間前の指示位置を、該選択動作に対する選択位置とし、選択位置をもとに、現在の指示位置の補正と、選択動作に対する画面表示の制御とを実行するので、選択動作が行われた位置をより正確に認識することができる。また、実施形態によれば、選択動作が行われた位置をより正確に認識し、より正確な位置で画面制御処理を実行するので、手のぶれ等を起因とする誤操作を抑制することができる。
【００７９】
上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメータ等を含む情報は、特記する場合を除いて任意に変更することができる。また、図示した装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散又は統合の具体的形態は、図示のものに限られず、その全部又は一部を各種の負担や使用状況等に応じて、任意の単位で機能的又は物理的に、分散又は統合することができる。
【００８０】
例えば、情報処理装置１００に係る機能を、装着型センサ２００に実行させ、装着型センサ２００が選択位置を出力装置３００に対して出力するようにしても良い。また、装着型センサ２００を装着した複数のユーザによって出力装置３００の画面操作を行なう場合には、装着型センサ２００に備え付けのスイッチ又は起動した順等により事前にＩＤを割り当て、ＩＤが最初に割り当てられたユーザのみが操作できるようにしても良い。また、各ユーザに対応したマウスカーソルを表示し、各ユーザが操作できるようにしても良い。このとき、同一の操作対象を複数ユーザが操作しようとしたときには、操作対象に対して最初に選択をしたユーザのみが操作できるようにしても良い。
【００８１】
また、装着型センサ２００を両腕に装着する等して、１のユーザが複数の装着型センサ２００を装着して操作する場合には、ペアリング等により各ユーザの装着した装着型センサ２００を認識するようにしても良い。操作については、各センサでそれぞれ操作できるようにしても良いし、何れか一つのセンサだけを操作可能としても良い。また、複数のセンサの融合により操作を実現しても良い。例えば、複数のセンサの融合により、２のセンサの相対的な距離変化によってピンチインやピンチアウトを実現することができる。
【００８２】
また、上記実施形態では、加速度の大きさが閾値以上になった場合や、時間当たりの加速度の変化量の大きさが閾値以上になった場合に、選択動作である打指が行われたものとして検出し、選択動作が検出された時刻よりも所定時間前の時刻の指示位置を選択動作に対する選択位置とする場合を例に挙げた。このほかにも、選択動作である打指の加速度パターン（図７Ａ参照）を認識し、打指の加速度パターンが開始される時刻よりも前の時刻で、上述してきたように選択位置を算出するようにしても良い。
【００８３】
また、選択動作のジェスチャとして、打指や手首を捻る動作、手を握る動作等を例に挙げたが、装着型センサ２００に搭載されたスイッチが押下されたことを選択動作の一つとしても良い。装着型センサ２００に搭載されたスイッチが押下されると、上述してきた選択動作時と同様に、スイッチ押下に伴う勢いで腕のぶれが発生する。このため、上述した実施形態と同様に、選択位置を算出することが有用となる。
【００８４】
また、上記実施形態では、装着型センサ２００のセンサの傾きを算出し、移動するマウスカーソルの相対的な指示位置を算出する場合を例に挙げたが、センサの傾きを算出することなく、加速度のみから指示位置を算出するようにしても良い。加速度を累積して指示位置を算出すれば良く、例えば、センサの動きに応じて得られる加速度を２回積分することによって指示位置を算出する。このとき、所定のアプリ開始時刻において指示位置を操作画面中央に設定し、そこからの加速度変動に応じて指示位置を変化させるようにすれば良い。
【００８５】
また、上記実施形態に係る情報処理装置１００や出力装置３００は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることで実現することが可能である。実行されるプログラムは、上述してきた各機能を含むモジュール構成となっている。また、実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供しても、ＲＯＭ等に予め組み込んで提供しても良い。
【００８６】
また、上述した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。また、各実施形態は、内容を矛盾させない範囲で適宜組み合わせることが可能である。また、各実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８７】
１      認識システム
１００  情報処理装置
１１０  取得部
１２０  指示位置算出部
１３０  選択動作検出部
１４０  選択位置算出部
１５０  出力部
２００  装着型センサ
３００  出力装置
【図１】
2017162054.tif 000003
【図２】
2017162054.tif 000004
【図３】
2017162054.tif 000005
【図４】
2017162054.tif 000006
【図５】
2017162054.tif 000007
【図６】
2017162054.tif 000008
【図７Ａ】
2017162054.tif 000009
【図７Ｂ】
2017162054.tif 000010
【図８】
2017162054.tif 000011
【図９】
2017162054.tif 000012
【図１０】
2017162054.tif 000013
【図１１】
2017162054.tif 000014
【図１２】
2017162054.tif 000015
【図１３】
2017162054.tif 000016
【図１４】
2017162054.tif 000017
【図１５】
2017162054.tif 000018
【図１６】
2017162054.tif 000019
【図１７】
2017162054.tif 000020
【図１８】
2017162054.tif 000021
【図１９】
2017162054.tif 000022
【図２０】
2017162054.tif 000023
【図２１】
2017162054.tif 000024
【図２２】
2017162054.tif 000025
【図２３】
2017162054.tif 000026