(57)【要約】【課題】モーションキャプチャ技術を利用してキャプチャした複数の動作主体の動きをブレンドし、ブレンドした動きを仮想空間上のアバター等によってリアルタイムで再現することができるプログラム、情報処理装置、及び情報処理方法を提供する。【解決手段】仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御機能を、コンピュータに実現させるためのプログラムであって、前記制御機能は、前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御するプログラムを提供する。【選択図】図２７
2019203190.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御機能を、コンピュータに実現させるためのプログラムであって、
前記制御機能は、
前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、
前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、
前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する、
プログラム。
【請求項２】
前記制御機能は、
前記各動作主体に装着された前記モーションセンサから前記各動作主体の少なくとも１つの部位に相当するモーションをキャプチャし、
前記複数の動作主体の前記部位のモーションを前記所定のアルゴリズムに基づいてブレンドし、
前記ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する、
請求項１に記載のプログラム。
【請求項３】
前記部位は、前記動作主体の身体の一部である、請求項２に記載のプログラム。
【請求項４】
前記身体の一部は、上半身、下半身、頭部、関節、腰、手首、足首のうちの少なくとも１つを含む、請求項３に記載のプログラム。
【請求項５】
前記動作主体は、パフォーマ、オーディエンスのうちの少なくとも一人を含む、請求項１に記載のプログラム。
【請求項６】
前記所定のアルゴリズムは、
予め前記各動作主体に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
請求項２に記載のプログラム。
【請求項７】
前記所定のアルゴリズムは、
前記実空間上において予め設定された基準点からの前記各動作主体までの距離に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
請求項１に記載のプログラム。
【請求項８】
前記所定のアルゴリズムは、
前記実空間上における前記各動作主体の加速度、速度又は変位量に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
請求項１に記載のプログラム。
【請求項９】
前記所定のアルゴリズムは、
前記実空間上における前記各動作主体の間の動作の同期性の度合いに応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
請求項１に記載のプログラム。
【請求項１０】
前記所定のアルゴリズムは、
前記各動作主体の生体情報に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
請求項１に記載のプログラム。
【請求項１１】
前記所定のアルゴリズムは、
前記各動作主体の周囲の環境情報に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
請求項１に記載のプログラム。
【請求項１２】
前記重みづけは、オペレータが所定の設定用画面を操作することにより予め設定される、請求項６に記載のプログラム。
【請求項１３】
前記オペレータが、前記設定用画面における、第１の前記動作主体の第１の部位と第２の前記動作主体の第２の部位とを結ぶ線分上のカーソルを移動させる操作を行うことにより、前記重みづけは設定される、請求項１２に記載のプログラム。
【請求項１４】
前記オペレータが、前記設定用画面における、前記各動作主体の所定の前記部位を結ぶ多角形内のカーソルを移動させる操作を行うことにより、前記重みづけは設定される、請求項１２に記載のプログラム。
【請求項１５】
前記各動作主体のモーションをキャプチャする際に、前記各動作主体の２箇所以上の前記部位に装着された２以上の前記モーションセンサにより取得されたセンサデータに対して第１の処理を施して得られた第１の出力と、前記センサデータに対して第２の処理を施して得られた第２の出力とを参照して、前記モーションセンサが装着された前記部位の位置情報の補正を行う補正機能を、前記コンピュータに実現させる、
請求項２に記載のプログラム。
【請求項１６】
仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御部を備え、
前記制御部は、
前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、
前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、
前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する、
情報処理装置。
【請求項１７】
実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャすることと、
前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドすることと、
仮想空間におけるアバター又は実空間上のロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御することと、を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プログラム、情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
近年、身体の動き情報を取得するためのモーションキャプチャ技術が盛んに開発されている。取得された身体の動き情報は、例えばスポーツにおいてフォーム改善に用いられたり、ＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）やＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）等のアプリケーションに用いられたりしている。【０００３】
身体の動き情報を取得するため、例えば慣性航法（ＩＮＳ：Ｉｎｅｒｔｉａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓｙｓｔｅｍ）を用いて、身体に装着されたモーションセンサにより取得されたセンサデータ（センシングデータ）からモーションセンサの位置を計算することが行われている（例えば下記特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１７／２１７０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、モーションキャプチャ技術の利用方法としては、例えば仮想空間上のアバターによって、上記モーションセンサを用いて取得されたユーザ（パフォーマ、動作主体）の動き（モーション）を可視化することが挙げられる。このような場合、キャプチャしたユーザの動きをリアルタイムで再現するだけでなく、ライブ等のパフォーマンスにおいては、効果的な演出を狙って、アバターに対してはミニマルな表現が求められることがある。【０００６】
そこで、本開示では、上記事情に鑑みて、モーションキャプチャ技術を利用してキャプチャした複数の動作主体の動きをブレンドし、ブレンドした動きを仮想空間上のアバター等によってリアルタイムで再現することができる、新規且つ改良されたプログラム、情報処理装置、及び情報処理方法を提案する。
【課題を解決するための手段】
【０００７】
本開示によれば、仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御機能を、コンピュータに実現させるためのプログラムであって、前記制御機能は、前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御するプログラムが提供される。【０００８】
また、本開示によれば、仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御部を備え、前記制御部は、前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する情報処理装置が提供される。【０００９】
さらに、本開示によれば、実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャすることと、前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドすることと、仮想空間におけるアバター又は実空間上のロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御することとを含む情報処理方法が提供される。
【発明の効果】
【００１０】
以上説明したように本開示によれば、モーションキャプチャ技術を利用してキャプチャした複数の動作主体の動きをブレンドし、ブレンドした動きを仮想空間上のアバター等によってリアルタイムで再現することができる。【００１１】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１２】
【図１】本開示の第１の実施形態の概要を説明するためのイメージ図である。
【図２】順運動学計算を用いた既存のモーションキャプチャ技術について説明するための説明図である。
【図３】順運動学計算について説明するための説明図である。
【図４】逆運動学計算を用いたアプローチについて説明するための説明図である。
【図５】逆運動学計算について説明するための説明図である。
【図６】同実施形態にかかる第１のステップを説明するための説明図である。
【図７】同実施形態にかかる第２のステップを説明するための説明図である。
【図８】慣性航法に基づく位置推定処理の概略を示す模式図である。
【図９】慣性航法に基づく位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。
【図１０】運動モデルに基づく位置推定処理の概略を示す模式図である。
【図１１】運動モデルに基づく位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。
【図１２】同実施形態にかかる位置推定処理の概略を示す模式図である。
【図１３】同実施形態にかかる位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。
【図１４】同実施形態にかかるシステムの装置構成の一例を示す図である。
【図１５】同実施形態にかかるシステムの機能構成の一例を示す図である。
【図１６】装着部位の組み合わせと運動モデルの例を示す説明図である。
【図１７】信頼度特定部５５０による信頼度の特定の一例を示す図である。
【図１８】同実施形態にかかるシステムの動作例を示すフローチャート図である。
【図１９】第１の変形例にかかるシステムの機能構成例を示す図である。
【図２０】第２の変形例にかかるシステムの機能構成例を示す図である。
【図２１】第３の変形例にかかるシステムの機能構成例を示す図である。
【図２２】非トラッキング型運動モデルの概要を説明するための説明図である。
【図２３】トラッキング型運動モデルの概要を説明するための説明図である。
【図２４】第４の変形例にかかるシステムの機能構成例を示す図である。
【図２５】第５の変形例にかかるシステムの装置構成例を示す図である。
【図２６】本開示の第２の実施形態の概要を説明するためのイメージ図である。
【図２７】同実施形態に係るシステムの機能構成の一例を示す図である。
【図２８】同実施形態に係るシステムの動作例を示すフローチャート図である。
【図２９】図２８のステップＳ２００での動作を説明するためのフローチャート図である。
【図３０】同実施形態に係るブレンド率決定手法例１の概要を説明するためのイメージ図である。
【図３１】同実施形態に係るブレンド率決定手法例１の動作を説明するためのイメージ図（その１）である。
【図３２】同実施形態に係るブレンド率決定手法例１の動作を説明するためのイメージ図（その２）である。
【図３３】同実施形態に係るブレンド率決定手法例２の動作を説明するためのイメージ図である。
【図３４】同実施形態に係るブレンド率決定手法例３の概要を説明するためのイメージ図である。
【図３５】同実施形態に係るブレンド率決定手法例４の動作を説明するためのイメージ図（その１）である。
【図３６】同実施形態に係るブレンド率決定手法例４の動作を説明するためのイメージ図（その２）である。
【図３７】同実施形態に係るブレンド率決定手法例４の動作を説明するための表である。
【図３８】同実施形態に係るブレンド率決定手法例４の動作を説明するためのイメージ図（その３）である。
【図３９】同実施形態に係るブレンド率決定手法例５の動作を説明するためのイメージ図である。
【図４０】同実施形態に係るブレンド率決定手法例６の動作を説明するためのイメージ図である。
【図４１】同実施形態に係るＵＩ例１を説明するためのイメージ図（その１）である。
【図４２】同実施形態に係るＵＩ例１を説明するためのイメージ図（その２）である。
【図４３】同実施形態に係るＵＩ例２を説明するためのイメージ図である。
【図４４】同実施形態に係るＵＩ例３を説明するためのイメージ図である。
【図４５】ハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なるアルファベットを付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
【００１５】
なお、説明は以下の順序で行うものとする。
＜＜１．第１の実施形態の概要＞＞
＜＜２．本技術の原理＞＞
＜＜３．構成例＞＞
＜＜４．動作例＞＞
＜＜５．変形例＞＞
＜＜６．第２の実施形態の概要＞＞
＜＜７．ハードウェア構成例＞＞
＜＜８．むすび＞＞
【００１６】
＜＜１．第１の実施形態の概要＞＞
人間や動物等の身体の動きの情報を可視化するため、例えば身体の構造を示すスケルトン構造により表現されるスケルトン情報が用いられる。スケルトン構造は、部位の情報と、部位間を結ぶ線分であるボーンを含む。なお、スケルトン構造における部位は、例えば身体の末端部位や関節部位等に対応する。また、スケルトン構造におけるボーンは例えば人間の骨に相当し得るが、ボーンの位置や数は必ずしも実際の人間の骨格と整合していなくてもよい。
【００１７】
スケルトン情報における部位の位置は、例えば対応する身体の各部位にマーカを装着したり、モーションセンサを装着したりすることにより取得することができる。例えば、身体の各部位にマーカを装着して、外部のカメラ等を用いてマーカの位置を取得する技術や、身体の部位にモーションセンサを装着し、モーションセンサにより取得されたセンサデータに基づいてモーションセンサの位置情報を取得する技術が存在する。
【００１８】
身体に装着されたマーカを用いる技術と比べると、身体に装着したモーションセンサを用いた技術では、外部のカメラ、光源、及びマーカが不要であり、持ち運び可能でセットアップが容易であるという利点がある。また、身体に装着したモーションセンサを用いた技術は、カメラの撮像範囲による制限を受けないため、広い屋外空間や、死角の発生し易い複雑な形状の空間、狭小空間等でも利用可能であるという利点がある。
【００１９】
しかし、身体に装着したモーションセンサを用いた技術において全身のスケルトンを推定するためには、各関節にモーションセンサを装着する必要があり、ユーザへの負荷が大きい場合があった。また、多数のモーションセンサをユーザの各部位に適切に装着するための専用スーツも開発されているが、専用スーツは製造コストが高い場合があった。
【００２０】
そこで、本発明者らは、上記事情を一着眼点にして本開示の第１の実施形態を創作するに至った。本開示の第１の実施形態によるシステムでは、装着されるモーションセンサの数を削減しつつ、装着されるモーションセンサより多くの部位の位置情報を取得することが可能である。なお、本明細書においてモーションセンサとは、身体の動きをセンシングするデバイスであり、慣性センサ（加速度センサ、角速度センサ）、地磁気センサ、気圧センサ、イメージセンサ等を含み得る。以下では、モーションセンサとして、少なくとも慣性センサが身体に装着される例について主に説明を行う。
【００２１】
本実施形態の概要について、図１を参照して説明する。図１は、本実施形態の概要を説明するためのイメージ図である。図１に示す例では、ユーザＵ１の身体の６箇所の部位に、６つのセンサ装置１０Ａ〜１０Ｆが装着されている。センサ装置１０Ａ〜１０Ｆは、例えば加速度（Ａｃｃｅｌｅｒａｔｉｏｎ）を取得する加速度センサや角速度（Ａｎｇｕｌａｒ  ｖｅｌｏｃｉｔｙ）を取得するジャイロセンサ（角速度センサ）等の慣性センサ（ＩＭＵ：Ｉｎｅｒｔｉａｌ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｕｎｉｔ）を含む。センサ装置１０Ａ〜１０Ｆは、身体の基準となる関節部位（例えば腰や頭部）、あるいは身体の末端近傍（手首、足首、頭部等）に装着されることが望ましい。図１に示す例では、ユーザＵ１の腰にセンサ装置１０Ａが、手首にセンサ装置１０Ｂ、１０Ｅが、足首にセンサ装置１０Ｃ、１０Ｄが、頭部にセンサ装置１０Ｆが装着されている。なお、以下の説明において、センサ装置１０Ａ〜１０Ｆを特に区別する必要がない場合には、まとめて単にセンサ装置１０と呼ぶ場合がある。また、以下では、センサ装置１０が装着された身体の部位を装着部位とも称する場合がある。また、センサ装置１０の数や装着位置（装着部位の位置）は図１に示す例に限定されるものではない。
【００２２】
本実施形態によるシステムは、センサ装置１０により取得されたセンサデータに基づいて、各装着部位の位置（Ｐｏｓｉｔｉｏｎ）及び姿勢（Ｏｒｉｅｎｔａｔｉｏｎ）の情報を取得する。図１には、センサ装置１０Ａ〜１０Ｆが装着された装着部位Ｐ１０１〜Ｐ１０６に関する情報（以下、装着部位情報とも称する）として、位置情報及び姿勢情報を含む装着部位情報ＰＤ１００が示されている。
【００２３】
また、本実施形態によるシステムは、センサ装置１０Ａ〜１０Ｆが装着された装着部位Ｐ１０１〜Ｐ１０６の位置情報及び姿勢情報に基づいて、スケルトン構造における各部位の位置情報及び姿勢情報を含むスケルトン情報を推定する。ここで、本実施形態では、スケルトン構造における部位のうち、センサ装置１０が装着された装着部位だけでなく、センサ装置１０が装着されていない部位（以下、非装着部位とも称する）の位置情報及び姿勢情報を推定する。
【００２４】
図１の例では、スケルトン構造における各部位の位置情報及び姿勢情報を含むスケルトン情報ＳＤ１００が示されている。スケルトン情報ＳＤ１００には、装着部位Ｐ１０１に対応する装着部位ＳＰ１０１や装着部位Ｐ１０２に対応する装着部位ＳＰ１０２の情報だけでなく、非装着部位ＳＰ１０７の情報が含まれる。
【００２５】
なお、スケルトン情報には、部位の情報に加え、ボーンの情報（位置情報、姿勢情報等）も含まれ得る。例えば図１に示す例において、スケルトン情報ＳＤ１００には、ボーンＳＢ１０１の情報が含まれ得る。例えば、スケルトン構造における部位の位置情報及び姿勢情報に基づいて、部位間のボーンの情報を特定することが可能である。
【００２６】
上述したように本実施形態によれば、モーションセンサが装着された装着部位の情報に基づいて、モーションセンサが装着されていない非装着部位の情報を推定することで、情報を取得したい部位の数を維持しつつ、装着されるモーションセンサの数を削減することが可能である。以下、上述した効果を実現するための本実施形態にかかる技術の原理について説明する。
【００２７】
＜＜２．本技術の原理＞＞
＜２−１．本実施形態のアプローチ＞
既存のモーションキャプチャ技術として、順運動学（ＦＫ：Ｆｏｒｗａｒｄ  Ｋｉｎｅｍａｔｉｃｓ）計算によりスケルトン情報を取得する技術が存在する。順運動学計算とは、各関節部位の姿勢に基づいて、末端部位の位置を計算する手法である。
【００２８】
図２は、順運動学計算を用いた既存のモーションキャプチャ技術について説明するための説明図である。図２には、スケルトン構造で表現されたスケルトン情報ＳＤ９０が示されている。
【００２９】
図２に示すスケルトン情報ＳＤ９０において、慣性センサを含むセンサ装置が装着された装着部位には丸印が付されており、すなわち部位ＳＰ９１〜ＳＰ９６は装着部位である。ここで、センサ装置に角速度センサが含まれる場合、ＡＨＲＳ（Ａｔｔｉｔｕｄｅ  ａｎｄ  Ｈｅａｄｉｎｇ  Ｒｅｆｅｒｅｎｃｅ  Ｓｙｓｔｅｍ）等の姿勢計測技術を用いることで、装着部位の姿勢情報（角度情報）を特定することが可能である。
【００３０】
例えば、身体の腰に対応する部位ＳＰ９１を基準（原点）とした身体座標系を設定した場合、部位ＳＰ９１〜ＳＰ９５の姿勢情報に基づいて順運動学計算を行うことで、身体座標系における部位ＳＰ９２〜ＳＰ９６の位置情報を特定することができる。なお、身体座標系において基準とされる部位を以下ではルート部位と称する場合がある。
【００３１】
ここで、順運動学計算について図３を参照して説明を行う。図３は、順運動学計算について説明するための説明図である。説明を簡単にするため、図３には、腕を２自由度の単純なリンク機構とみなした場合の例が示されている。
【００３２】
図３に示す例では、部位ＳＰ８１がルート部位であり、部位ＳＰ８１を基準（原点）としたｘｙ座標系（平面座標系）が示されている。順運動学計算において、上述したように各部位の姿勢情報が既知であり、図３に示す例では部位ＳＰ８１の姿勢に基づくボーンＳＢ８１とｘ軸のなす角の角度θ１、及び部位ＳＰ８２の姿勢に基づくボーンＳＢ８１とボーンＳＢ８２のなす角の角度θ２が既知である。また、順運動学計算において、部位間の距離、すなわちボーンの長さも既知であり、図３に示す例では、ボーンＳＢ８１の長さｌ１、及びボーンＳＢ８２の長さｌ２が既知である。
【００３３】
順運動学計算によれば、上記のような既知の情報を用いて、部位ＳＰ８３の位置（ｘ１，ｙ１）を計算することができる。具体的には、部位ＳＰ８３の位置（ｘ１，ｙ１）は以下の数式（１）、（２）のように表現される。
【００３４】
【数１】
2019203190.tif 000003
【００３５】
図３に示したのは平面的かつ単純な機構の例であるが、三次元的かつより複雑な機構の場合であっても、同様に順運動学計算を行うことが可能である。すなわち、基準となるルート部位から末端部位までの間の関節部位の姿勢情報と部位間の距離の情報を用いて、末端部位の位置情報を特定することが可能である。また、末端部位に限らず、スケルトン構造においてルート部位から末端部位までの間に位置する関節部位の位置情報（例えば図３に示す例では部位ＳＰ８２の位置情報）についても順運動学計算により特定される。
【００３６】
以上、順運動学計算を用いた既存のモーションキャプチャ技術の一例について説明した。しかし、図２、図３を参照して説明したように順運動学計算を用いて各部位の位置情報を特定するためには、各関節部位の姿勢情報が必要であり、順運動学計算を用いることは身体に装着されるモーションセンサの数が多くなる要因となっていた。
【００３７】
そこで、本実施形態においては、上述した順運動学計算ではなく、逆運動学（ＩＫ：Ｉｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃｓ）計算を用いてスケルトン情報を取得する。逆運動学計算とは、末端部位の位置に基づいて、各関節部位の姿勢を計算する手法である。
【００３８】
図４は、逆運動学計算を用いたアプローチについて説明するための説明図である。図４には、図２と同様にスケルトン構造で表現されたスケルトン情報ＳＤ９０が示されている。
【００３９】
図４に示すスケルトン情報ＳＤ９０において、慣性センサを含むセンサ装置が装着された装着部位には丸印が付されており、すなわち部位ＳＰ９１と部位ＳＰ９６は装着部位である。一方、図４に示すスケルトン情報ＳＤ９０において、慣性センサを含むセンサ装置が装着されていない部位にはバツ印が付されており、すなわち部位ＳＰ９１と部位ＳＰ９６の間の部位ＳＰ９２〜ＳＰ９５は非装着部位である。
【００４０】
ここで、身体の腰に対応する部位ＳＰ９１を基準（原点）とした身体座標系が設定され、身体座標系における部位ＳＰ９６の位置情報が得られているものとする。かかる場合、末端部位である部位ＳＰ９６の位置情報に基づいて逆運動学計算を行うことで、身体座標系における部位ＳＰ９２〜ＳＰ９５の姿勢情報、及び位置情報を特定することができる。
【００４１】
ここで、逆運動学計算について図５を参照して説明を行う。図５は、逆運動学計算について説明するための説明図である。説明を簡単にするため、図５には、腕を２自由度の単純なリンク機構とみなした場合の例が示されている。
【００４２】
図５に示す例では、部位ＳＰ８１がルート部位であり、部位ＳＰ８１を基準（原点）としたｘｙ座標系（平面座標系）が示されている。ここで、図５の左上に示すように、部位ＳＰ８１を一方の端点とするボーンＳＢ８１の長さｌ１、及び部位ＳＰ８３を一方の端点とするボーンＳＢ８２の長さｌ２が既知であるものとする。
【００４３】
逆運動学計算においては、上記のような既知の情報を用いて、ボーンＳＢ８１とｘ軸のなす角、及びボーンＳＢ８１とボーンＳＢ８２のなす角の角度を計算する。ただし、逆運動学計算では、解が複数存在し得る。図５の例では、図５の右上に示すように、ボーンＳＢ８１とｘ軸のなす角が角度θ１１、ボーンＳＢ８１とボーンＳＢ８２のなす角が角度θ２１である解と、図５の右下に示すように、ボーンＳＢ８１とｘ軸のなす角が角度θ１２、ボーンＳＢ８１とボーンＳＢ８２のなす角が角度θ２２である解が得られる。なお、図５に示したのは平面的かつ単純な機構の例であり、例えば三次元的な機構の場合や、より多くの関節部位が存在する場合には、より多数の解が存在し得る。
【００４４】
以上、逆運動学計算を用いたアプローチについて説明した。続いて、本実施形態にかかる処理の概略について説明する。本実施形態では、上述したように逆運動学計算を用いてスケルトン情報（関節部位の位置及び姿勢）を取得するため、以下に説明する図６、図７にそれぞれ示すように大きく分けて２つのステップで処理が行われ得る。
【００４５】
図６は、本実施形態にかかる第１のステップを説明するための説明図である。図１を参照して説明したように、本実施形態において、身体の２以上の部位に装着された２以上の慣性センサから、加速度、及び角速度の情報が取得され得る。また、慣性センサから取得された加速度、及び角速度の情報から、グローバル座標系の加速度（３次元）と姿勢（４次元）の情報を得ることが可能である。なお、グローバル座標系とは、例えば複数のセンサやデバイス等において共通して用いられる座標系であり、実空間に対応する座標系であってもよい。図６に示す装着部位情報ＰＤ１０には、慣性センサにより取得された装着部位Ｐ１１〜Ｐ１６の加速度と姿勢の情報が含まれるため、合計６×７＝４２次元の情報が含まれる。
【００４６】
第１のステップでは装着部位情報ＰＤ１０に基づいて装着部位の位置推定が行われることで（Ｓ１００）、装着部位Ｐ１１〜Ｐ１６の位置（３次元）を示す位置情報を含む装着部位情報ＰＤ１２が得られる。なお、装着部位情報ＰＤ１２が装着部位Ｐ１１をルート部位とした身体座標系で表現される場合、装着部位Ｐ１１の位置情報は不要であるため、装着部位情報ＰＤ１２には、合計５×３＝１５次元の位置情報が含まれる。また、装着部位情報ＰＤ１２は、装着部位情報ＰＤ１０に含まれていたグローバル座標系における各部位の姿勢情報を含んでもよい。かかる場合、装着部位情報ＰＤ１２には、合計６×４＝２４次元の姿勢情報が含まれる。
【００４７】
図７は、本実施形態にかかる第２のステップを説明するための説明図である。図７に示す装着部位情報ＰＤ１２は、図６に示した装着部位情報ＰＤ１２と同様であるためここでの説明は省略する。
【００４８】
第２のステップでは装着部位情報ＰＤ１２に基づいて非装着部位の位置推定（補間）が行われることで（Ｓ２００）、装着部位の位置情報に加え、慣性センサが装着されていない非装着部位の位置情報を含むスケルトン情報ＳＤ１０が得られる。図７に示す例では、例えば部位ＳＰ１１、ＳＰ１２が装着部位であり、部位ＳＰ２０が非装着部位である。
【００４９】
ここで、第２のステップである非装着部位の位置推定は、上述したように逆運動学計算により行われ得るが、非装着部位の位置推定を高精度に行うためには、その入力となる装着部位情報ＰＤ１２が第１のステップにより高精度に得られていることが望ましい。第１のステップである装着部位の位置推定は、例えば慣性航法により実現可能ではあるが、慣性航法により装着部位の位置推定が行われた場合、推定される位置の誤差が時間に応じて大きくなってしまう恐れがある。そこで、本実施形態においては、慣性航法により推定される装着部位の位置情報を補正して、より高精度に装着部位の位置情報を取得する。以下、本実施形態にかかる装着部位の位置情報の補正について説明する。
【００５０】
＜２−２．装着部位の位置情報の補正＞
まず、慣性航法に基づく位置推定処理について説明する。慣性航法は、角速度及び加速度を複数回積分（Ｉｎｔｅｇｒａｔｉｏｎ）することでセンサ位置を計算する技術であり、例えば船舶又は航空機等に採用されている。図８は、慣性航法に基づく位置推定処理の概略を示す模式図である。
【００５１】
慣性航法では、まずセンサ装置に含まれるジャイロセンサにより取得されたローカル座標系における角速度（センサデータの一例）を積分する（Ｓ１１１）ことで、グローバル座標系におけるセンサ装置の姿勢が計算される。次いで、グローバル座標系におけるセンサ装置の姿勢に基づいて、センサ装置に含まれる加速度センサにより取得されたローカル座標系（センサ装置毎に設定された座標系）におけるセンサ装置の加速度（センサデータの一例）をグローバル座標系におけるセンサ装置の加速度へ座標系変換する（Ｓ１１２）。そして、座標系変換されたグローバル座標系におけるセンサ装置の加速度を積分する（Ｓ１１３）ことで、グローバル座標系におけるセンサ装置の速度が計算される。次に、グローバル座標系におけるセンサ装置の速度を積分する（Ｓ１１４）ことで、センサ装置の移動距離が計算される。ここで、グローバル座標系における移動距離を細分点ごとに合成していくことにより、初期位置を起点とした相対的な位置情報が得られる。初期位置が既知であれば、上記の情報によりセンサ装置の絶対的な位置情報（即ち、グローバル座標系における三次元座標）を計算することができる。上記のようにして、慣性航法に基づく位置推定処理により、センサ装置の姿勢情報と位置情報が出力される。
【００５２】
図８に示した慣性航法に基づく位置推定処理は、比較的処理負荷が小さく高速に実行され得る。
【００５３】
ここで、慣性航法では、姿勢情報を得るために角速度に対して施される積分はステップＳ１１１の１回のみであり、また、ＡＨＲＳ等の周知技術を組み合わせることで、姿勢情報を高精度に取得することが可能であった。一方、位置情報を得るためにはステップＳ１１３とステップＳ１１４の２回の積分が加速度に対して施されるため、加速度センサにより取得される加速度に誤差が含まれる場合には、出力される位置情報に誤差が蓄積され得る。
【００５４】
図９は、慣性航法に基づく位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。図９に示すように、慣性航法により位置情報を推定し始めてから短い時間の間であれば、位置誤差は小さく、位置情報を高精度に推定可能である。しかし、慣性航法により推定される位置情報に含まれる誤差は図９に示すように時間に応じて大きくなり得るため、長時間継続して実行された場合に、非常に大きな誤差が位置情報に含まれてしまう恐れがある。
【００５５】
そこで、本実施形態においては、運動モデル（Ｄｙｎａｍｉｃｓ  Ｍｏｄｅｌ）に基づいて、回帰による装着部位の位置推定を行う。図１０は、運動モデルに基づく位置推定処理の概略を示す模式図である。
【００５６】
図１０に示すステップＳ１２１〜Ｓ１２２の処理は、図８を参照して説明したステップＳ１１１〜Ｓ１１２の処理と同様であるためここでの説明は省略する。図１０に示すように運動モデルに基づく位置推定処理においては、加速度の積分を行うことなく、センサ装置の位置情報を回帰により推定する（Ｓ１２３）。ステップＳ１２３の回帰推定処理では、グローバル座標系におけるセンサ装置の姿勢と加速度を、事前に用意された運動モデルに当てはめる回帰により、位置情報が推定される。ここで、運動モデルは、例えば事前に運動制約情報（例えば過去に取得されたポーズや一連の動きにおける各部位の位置と姿勢のサンプルを複数含む情報）を学習することで生成することが可能である。なお、ステップＳ１２３の回帰推定処理には、多様な回帰分析手法を用いることが可能であり、例えばＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）やＲａｎｄｏｍ  Ｆｏｒｅｓｔ等の手法が単独で、あるいは組み合わせて用いられてもよい。
【００５７】
ここで、図１０に示される処理では、加速度が積分されないため、図８、図９を参照して説明した慣性航法の場合のように位置誤差が時間に応じて大きくなり難い。図１１は、運動モデルに基づく位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。図１０に示すように、運動モデルに基づく位置推定処理においても位置誤差は発生しているが、時間に応じて大きくならないため、長時間継続して実行された場合であっても、大きな誤差が発生し難い。
【００５８】
したがって、図１０に示した運動モデルに基づく位置推定処理により、より高精度に位置情報を推定可能であると考えられる。ただし、運動モデルに基づく位置推定処理では、回帰による統計的な推定が行われるため、入力の変化が連続的な場合であっても出力（推定結果）の変化が非連続的になりやすい。その結果、例えば最終的に得られるスケルトン情報を可視化した際に違和感を与えやすくなる恐れがある。また、図１０に示した運動モデルに基づく位置推定処理は、図８に示した慣性航法に基づく位置推定処理と比較すると処理負荷が大きく、慣性航法に基づく位置推定処理よりも高速な実行は困難である。
【００５９】
上述したように、慣性航法に基づく位置推定処理と運動モデルに基づく位置推定処理には、各々の特長がある。そこで、本実施形態においては、慣性航法に基づく位置推定処理と運動モデルに基づく位置推定処理の両方を組み合わせて、推定される位置情報を補正することで、より高精度に位置情報を推定する。なお、以下では、慣性航法に基づく位置推定処理を第１の処理、運動モデルに基づく位置推定処理を第２の処理と称する場合がある。
【００６０】
図１２は、本実施形態にかかる位置推定処理の概略を示す模式図である。なお、図１２に示したのは概略であり、本実施形態にかかる位置推定処理は図１２に示されていない処理も含んでもよい。
【００６１】
図１２に示すように、本実施形態にかかる位置推定処理は、慣性航法に基づく第１の処理（Ｓ１１１〜Ｓ１１４）と運動モデルに基づく第２の処理（Ｓ１２１〜Ｓ１２３）に加え、補正処理（Ｓ１３０）をも含む。ステップＳ１３０の補正処理では、第１の処理の出力（以下、第１の出力とも称する）、及び第２の処理の出力（以下、第２の出力とも称する）を参照して、補正が行われる。なお、第１の出力は装着部位の姿勢情報と位置情報を含み、第２の出力は位置情報を含む。そして、ステップＳ１３０においては、第１の出力に含まれる位置情報を第１の出力に含まれる姿勢情報と第２の出力に含まれる位置情報に基づいて補正する。なお、ステップＳ１３０において、第１の出力に含まれる姿勢情報については位置情報の補正に用いられると共に、そのまま出力されてもよい。また、ステップＳ１３０の補正処理は、例えばカルマンフィルタにより実現され得る。
【００６２】
また、上述したように、第１の処理は、第２の処理よりも高速に実行され得る。したがって、補正処理（Ｓ１３０）は、第２の出力が得られたタイミングで実行され、第２の出力が得られず第１の出力のみが得られた場合には、第１の出力が本実施形態にかかる位置推定処理の出力としてそのまま出力されてもよい。
【００６３】
図１３は、本実施形態にかかる位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。図１３に示す例では、時刻ｔ１１において第２の出力が得られ、第２の出力に基づく補正が行われるものとする。図１３に示すように、本実施形態にかかる位置推定処理では、処理の開始から、時刻ｔ１１までの間は時間に応じて位置誤差が大きくなるが、時刻ｔ１１において第２の出力に基づく補正が行われた結果、位置誤差が抑制される。
【００６４】
このように、本実施形態にかかる位置推定処理によれば、補正が行われる度に位置誤差が抑制されるため、誤差が時間に応じて大きくなりにくく、長時間継続して実行された場合であっても、大きな誤差が発生し難い。また、本実施形態にかかる位置推定処理では、第２の出力が得られない場合には第１の出力がそのまま出力されるため、運動モデルに基づく第２の処理のみにより位置推定を行う場合と比べて、高頻度に位置情報を推定することが可能となる。
【００６５】
＜＜３．構成例＞＞
以上、本実施形態にかかる技術の原理について説明した。続いて、本実施形態の構成例について説明する。以下では、本実施形態の装置構成例、及び機能構成例を順次に説明する。
【００６６】
＜３−１．装置構成例＞
図１４は、本実施形態にかかるシステムの装置構成の一例を示す図である。図１４に示すように、本実施形態にかかるシステムは、センサ装置１０Ａ〜１０Ｆ、ハブ装置２０、情報処理装置３０、及び出力装置４０を含む。
【００６７】
センサ装置１０は少なくともモーションセンサを備え、身体の部位に装着される装置である。センサ装置１０Ａ〜１０Ｆが装着される部位については、図１を参照して説明したため、個々での説明は省略する。センサ装置１０は、例えば図１４に示すように、ジャイロセンサ１２、加速度センサ１４、制御部１６、及び通信部１８を備える。なお、センサ装置１０が備えるモーションセンサは、慣性センサ（ジャイロセンサ１２、及び加速度センサ１４）に限定されない。例えば、センサ装置１０は、慣性センサに代えて、または慣性センサに加えて、地磁気センサ、気圧センサ、イメージセンサ等のモーションセンサを備えてもよい。また、図１４では、センサ装置１０Ａの構成のみが示されているが、センサ装置１０Ａ〜１０Ｆの構成は同一であってもよい。
【００６８】
ジャイロセンサ１２は、センサデータとして角速度を取得する慣性センサである。ジャイロセンサ１２により取得される角速度は、ローカル座標系におけるセンサ装置１０の角速度であり得る。
【００６９】
また、加速度センサ１４は、センサデータとして加速度を取得する慣性センサである。加速度センサ１４により取得される加速度は、センサ装置１０ごとに設定されたローカル座標系におけるセンサ装置１０の加速度であり得る。
【００７０】
制御部１６は、センサ装置１０の動作を制御する。例えば、制御部１６は、通信部１８による通信を制御し、ジャイロセンサ１２及び加速度センサ１４により取得されたセンサデータ（角速度、及び加速度）をハブ装置２０へ送信させてもよい。あるいは、制御部１６は、ジャイロセンサ１２及び加速度センサ１４により取得されたセンサデータに対して処理を施してもよく、当該処理により得られた処理結果をハブ装置２０へ送信させてもよい。
【００７１】
通信部１８は有線または無線により他の装置との間でデータの送受信を行うための通信モジュールである。通信部１８は、例えば有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ、登録商標）、赤外線通信、Ｂｌｕｅｔｏｏｔｈ（登録商標）、近距離／非接触通信等の方式で、外部機器と直接またはネットワークアクセスポイントを介して無線通信する。
【００７２】
ハブ装置２０は、複数のセンサ装置１０から情報を受信して集約する情報処理装置である。なお、センサ装置１０とハブ装置２０との間は、有線接続されていてもよいし、無線接続されていてもよい。ハブ装置２０は、例えば図１４に示すように通信部２２と制御部２４とを備える。
【００７３】
通信部２２は有線または無線により他の装置との間でデータの送受信を行うための通信モジュールである。通信部２２は、例えば有線ＬＡＮ、無線ＬＡＮ、Ｗｉ−Ｆｉ、赤外線通信、Ｂｌｕｅｔｏｏｔｈ、近距離／非接触通信等の方式で、外部機器と直接またはネットワークアクセスポイントを介して無線通信する。
【００７４】
制御部２４は、ハブ装置２０の動作を制御する。例えば、制御部２４は、通信部２２による通信を制御し、センサ装置１０から受信した情報を、そのまま情報処理装置３０へ送信させてもよい。あるいは、制御部２４は、センサ装置１０から受信した情報に対して処理を施してもよく、当該処理により得られた処理結果を情報処理装置３０へ送信させてもよい。
【００７５】
情報処理装置３０は、ハブ装置２０から情報を受信して処理する情報処理装置である。なお、ハブ装置２０と情報処理装置３０との間は、有線接続されていてもよいし、無線接続されていてもよい。情報処理装置３０は、例えば図１４に示すように通信部３２と制御部３４とを備える。
【００７６】
通信部３２は有線または無線により他の装置との間でデータの送受信を行うための通信モジュールである。通信部３２は、例えば有線ＬＡＮ、無線ＬＡＮ、Ｗｉ−Ｆｉ、赤外線通信、Ｂｌｕｅｔｏｏｔｈ、近距離／非接触通信等の方式で、外部機器と直接またはネットワークアクセスポイントを介して無線通信する。
【００７７】
制御部３４は、情報処理装置３０の動作を制御する。例えば、制御部３４は、通信部３２が受信した情報に対する処理を行う。また、制御部３４は、通信部３２を制御して、当該処理の結果を情報処理装置３０に接続された出力装置４０に送信させることで、出力装置４０の表示を制御し得る。例えば、制御部３４は、処理の結果得られたスケルトン情報に基づいて、可視化されたスケルトン情報や、スケルトン情報を反映させた３Ｄモデル等を出力装置４０に表示させてもよい。
【００７８】
出力装置４０は、少なくとも表示機能を有する装置であり、情報処理装置３０の制御部３４の制御に従って表示を行う。出力装置４０は、例えば設置型のディスプレイであってもよいし、ユーザに装着されるＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）であってもよい。また、出力装置４０と情報処理装置３０とは、一体の装置であってもよい。
【００７９】
＜３−２．機能構成例＞
以上、本実施形態にかかるシステムの装置構成例を説明した。続いて、本実施形態にかかるシステムの機能構成例について説明する。図１５は、本実施形態にかかるシステムの機能構成の一例を示す図である。なお、図１５には、主に本実施形態の特徴を示す機能構成のみを示しており、本実施形態にかかるシステムは図１５に示されない機能構成を含んでもよい。
【００８０】
図１５を参照すると、本実施形態にかかるシステムは、グローバル運動加速度姿勢計算部５１０、積分計算部５２０、選択部５３０、装着位置回帰推定部５４０、信頼度特定部５５０、接地検出部５６０、補正部５７０、及び補間部５８０としての機能を有する。
【００８１】
なお、以下に説明する図１５の各機能構成は、図１４に示したいずれかの装置により実現されてもよい。例えば、センサ装置１０の制御部１６またはハブ装置２０の制御部２４がグローバル運動加速度姿勢計算部５１０としての機能を有し、情報処理装置３０の制御部３４がそれ以外の積分計算部５２０〜補間部５８０としての機能を有してもよい。ただし、いずれの装置がいずれの機能を有するかはかかる例に限定されるものではない。
【００８２】
グローバル運動加速度姿勢計算部５１０は、図１４に示したセンサ装置１０Ａ〜１０Ｆにより取得されたセンサデータ（角速度と加速度）に基づいて処理を行う機能を有する。なお、グローバル運動加速度姿勢計算部５１０は、センサ装置１０Ａ〜１０Ｆの各々により取得されたセンサデータを独立に処理してもよい。
【００８３】
例えば、グローバル運動加速度姿勢計算部５１０は、センサデータに含まれるローカル座標系におけるセンサ装置１０の角速度を積分してグローバル座標系におけるセンサ装置１０の姿勢を計算する処理（図１２のステップＳ１１１、Ｓ１２１に相当）を行う。グローバル運動加速度姿勢計算部５１０はＡＨＲＳによりセンサ装置１０の姿勢を計算してもよい。なお、センサ装置１０が地磁気センサを含む場合、グローバル運動加速度姿勢計算部５１０は、ＡＨＲＳによるセンサ装置１０の姿勢計算に、地磁気センサにより取得されるセンサデータを用いてもよい。
【００８４】
また、グローバル運動加速度姿勢計算部５１０は、計算されたグローバル座標系におけるセンサ装置１０の姿勢を、グローバル座標系における当該センサ装置１０が装着された装着部位の姿勢へ変換する処理を行う。グローバル運動加速度姿勢計算部５１０は、事前のキャリブレーション結果を用いてセンサ装置１０の姿勢を装着部位の姿勢へ変換してもよい。
【００８５】
また、グローバル運動加速度姿勢計算部５１０は、グローバル座標系における装着部位の姿勢に基づいて、センサデータに含まれるにローカル座標系における加速度をグローバル座標系における加速度へ変換する処理（図１２のステップＳ１１２、Ｓ１２２に相当）を行う。
【００８６】
また、グローバル運動加速度姿勢計算部５１０は、上述のように得られたグローバル座標系における加速度から重力成分を除去する処理を行う。例えば、グローバル運動加速度姿勢計算部５１０は、グローバル座標系における装着部位の姿勢に基づいてグローバル座標系における加速度から重力成分を除去してもよい。
【００８７】
グローバル運動加速度姿勢計算部５１０は、上述の処理により得られたグローバル座標系における装着部位の姿勢情報と、重力成分が除去されたグローバル座標系における加速度を、積分計算部５２０、選択部５３０、及び装着位置回帰推定部５４０へ出力する。
【００８８】
積分計算部５２０は、グローバル運動加速度姿勢計算部５１０から入力された重力成分が除去されたグローバル座標系における加速度を２回積分する処理（図１２のステップＳ１１３、Ｓ１１４に相当）により、グローバル座標系における装着部位の位置情報を計算する。積分計算部５２０は、計算されたグローバル座標系における装着部位の位置情報、及びグローバル運動加速度姿勢計算部５１０から入力されたグローバル座標系における装着部位の姿勢情報を補正部５７０へ出力する。
【００８９】
なお、上述したグローバル運動加速度姿勢計算部５１０、及び積分計算部５２０により、上述した慣性航法に基づく第１の処理が行われ得る。そして、積分計算部５２０から出力される位置情報、及び姿勢情報が第１の出力に相当する。
【００９０】
選択部５３０は、装着位置回帰推定部５４０が装着部位の位置情報を回帰により推定するための運動モデルの選択を行う。例えば、運動モデルは、センサ装置１０が装着される部位のパターンに応じて複数用意されて不図示の記憶部に記憶されていてもよく、選択部５３０は、かかる複数の運動モデルの中から、装着位置回帰推定部５４０により用いられる運動モデルを選択する。
【００９１】
運動モデルは、例えば装着部位の組み合わせごとに予め用意されてよい。そして、選択部５３０は、グローバル運動加速度姿勢計算部５１０から入力される情報に基づいて、装着部位の組み合わせを特定して、適切な運動モデルを選択してよい。かかる構成により、例えばユーザがシステムの動作途中で一部のセンサ装置１０を着脱したり、一部のセンサ装置１０のバッテリ（不図示）の電力供給が失われたりしたとしても、選択部５３０が動的に適切な運動モデルを選択することができる。なお、図１５では、グローバル運動加速度姿勢計算部５１０から入力される情報に基づいて装着部位の組み合わせが特定される例を示したが、選択部５３０はセンサデータそのものを入力として、あるいは他の情報を用いて装着部位の組み合わせを特定してもよい。
【００９２】
図１６は、装着部位の組み合わせと運動モデルの例を示す説明図である。図１６に示されるスケルトン情報ＳＤ１０１〜ＳＤ１０５の各々において、センサ装置１０が装着された装着部位には丸印が付されている。また、運動モデルごとに異なるルート部位が設定されて得る。
【００９３】
例えば、全身モデルに対応するスケルトン情報ＳＤ１０１において、腰に相当する装着部位ＳＰ１０１がルート部位であり、６箇所の装着部位ＳＰ１０１〜ＳＰ１０６にセンサ装置１０が装着される。上肢モデルに対応するスケルトン情報ＳＤ１０２において、頭部に相当する装着部位ＳＰ１０６がルート部位であり、３箇所の装着部位ＳＰ１０２、ＳＰ１０５、ＳＰ１０６にセンサ装置１０が装着される。また、頭−腕モデルに対応するスケルトン情報Ｄ１０３において、頭部に相当する装着部位ＳＰ１０６がルート部位であり、２箇所の装着部位ＳＰ１０２、ＳＰ１０６にセンサ装置１０が装着される。また、腰−腕モデルに対応するスケルトン情報Ｄ１０４において、腰に相当する装着部位ＳＰ１０１がルート部位であり、２箇所の装着部位ＳＰ１０１、ＳＰ１０５にセンサ装置１０が装着される。また、下肢モデルに対応するスケルトン情報Ｄ１０５において、腰に相当する装着部位ＳＰ１０１がルート部位であり、３箇所の装着部位ＳＰ１０１、ＳＰ１０３、ＳＰ１０４にセンサ装置１０が装着される。
【００９４】
なお、後述する装着位置回帰推定部５４０だけでなく、後述する補正部５７０や補間部５８０も、装着部位の組み合わせに応じて処理を行うため、装着部位の組み合わせに応じて（つまり運度モデルに応じて）、推定される非装着部位の組み合わせも異なり得る。本実施形態にかかるシステムにより位置情報、及び姿勢情報を推定可能な部位は、装着部位、及び所定のスケルトン構造において複数の装着部位の間に位置する非装着部位であり得る。図１６のスケルトン情報ＳＤ１０１〜ＳＤ１０５には、本実施形態において装着部位の組み合わせに応じた、位置情報、及び姿勢情報を推定可能な部位（装着部位と非装着部位を含む）がハッチングにより示されている。
【００９５】
なお、図１６に示したのは一例であって本実施形態において用いられ得る運動モデルにおける装着部位の組み合わせは図１６に示した例に限定されるものではない。
【００９６】
装着位置回帰推定部５４０は、選択部５３０により選択された運動モデルを用いて、グローバル座標系における装着部位の姿勢情報と、重力成分が除去されたグローバル座標系における加速度とに基づいて、装着部位の位置情報を回帰により推定する回帰推定処理（図１２のステップＳ１２３に相当）を行う。なお、本実施形態にかかる装着位置回帰推定部５４０は、装着部位の位置情報を、運動モデルごとに設定されたルート部位を基準とした身体座標系において推定する。装着位置回帰推定部５４０は、推定された身体座標系における装着部位の位置情報を信頼度特定部５５０と補正部５７０へ出力する。
【００９７】
なお、上述したグローバル運動加速度姿勢計算部５１０、及び装着位置回帰推定部５４０により、上述した運動モデルに基づく第２の処理が行われ得る。そして、装着位置回帰推定部５４０から出力される位置情報が第２の出力に相当する。
【００９８】
信頼度特定部５５０は、装着位置回帰推定部５４０により推定された装着部位の位置情報（第２の出力に含まれる位置情報とも称する）の信頼度を特定する信頼度特定機能を有する。信頼度特定部５５０により特定される信頼度は、後述する補正部５７０による補正において用いられ得る。例えば、後述する補正部５７０は、第２の出力に含まれる位置情報の信頼度が高い場合には第１の出力に含まれる位置情報よりも第２の出力に含まれる位置情報をより重視（信頼）して補正を行い、当該信頼度が低い場合には第２の出力に含まれる位置情報よりも第１の出力に含まれる位置情報をより重視して補正を行う。
【００９９】
例えば、信頼度特定部５５０は、第２の出力に含まれる位置情報の尤度分布がより小さい場合により高い信頼度を設定してもよい。図１７は、信頼度特定部５５０による信頼度の特定の一例を示す図である。図１７には、装着位置回帰推定部５４０により推定された位置と、その尤度分布Ｒ１０が示されている。例えば、尤度分布Ｒ１０の上限Ｌ１と下限Ｌ２との差がより小さい場合により高い信頼度が特定される。図１７に示す例では、時刻ｔ２１〜時刻ｔ２２の区間と時刻ｔ２３〜時刻ｔ２４の区間において高い信頼度が特定され、すなわち第２の出力に含まれる位置情報がより重視される。また、図１７に示す例では、時刻ｔ２２〜時刻ｔ２３の区間において低い信頼度が特定され、すなわち第１の出力に含まれる位置情報がより重視される。
【０１００】
信頼度特定部５５０は、特定した信頼度を補正部５７０へ出力する。
【０１０１】
接地検出部５６０は、センサ装置１０Ａ〜１０Ｆにより取得されたセンサデータ（角速度と加速度）に基づいて、身体の足元の接地検出処理を行う。かかる構成により、後述する補正部５７０が、装着位置回帰推定部５４０により推定された身体座標系における位置情報をグローバル座標系に変換することが可能である。
【０１０２】
接地検出部５６０は、例えば所謂ゼロ速度更新（ＺＵＰＴ：Ｚｅｒｏ  Ｖｅｌｏｃｉｔｙ  Ｕｐｄａｔｅ）における接地検出を行ってもよい。なお、ＺＵＰＴは速度がゼロの状態を接地状態として検出して位置を補正する手法であり、このＺＵＰＴが用いられる場合、後述する補正部５７０による位置情報の補正機能もＺＵＰＴにより実現され得る。また、接地検出部５６０による接地検出の方法はかかる例に限定されず、他の手法により身体の足元の接地検出が行われてもよい。
【０１０３】
補正部５７０は、積分計算部５２０から入力される第１の出力と、装着位置回帰推定部５４０から入力される第２の出力とを参照して、第１の出力に含まれる装着部位の位置情報の補正を行う。なお、以下では、補正部５７０の機能を補正機能と称する場合がある。かかる補正機能により、図１２、図１３を参照して説明したように誤差が時間に応じて大きくなりにくく、より高精度に装着部位の位置情報を推定することが可能である。
【０１０４】
上述したように、補正部５７０は、信頼度特定部５５０により特定された信頼度に基づいて、装着部位の位置情報を補正してもよい。かかる構成により、より高精度に装着部位の位置情報を推定することが可能である。
【０１０５】
また、補正部５７０は、接地検出部５６０による接地検出結果に基づいて、装着位置回帰推定部５４０により推定された身体座標系における装着部位の位置情報（第２の出力）をグローバル座標系における装着部位の位置情報へ変換する。かかる構成により、座標系をグローバル座標系に統一して補正を行うことが可能となる。
【０１０６】
なお、補正部５７０の補正機能は、カルマンフィルタにより実現されてもよい。さらに、上述した積分計算部５２０による積分機能と補正部５７０による補正機能を合わせてカルマンフィルタにより実現することが可能である。ここでは、例えば、各装着部位の速度と位置を内部状態として有するカルマンフィルタを想定する。かかるカルマンフィルタは、グローバル運動加速度姿勢計算部５１０から出力されるグローバル座標系における装着部位の加速度を積分することにより装着部位の速度と位置を予測する。そして、かかるカルマンフィルタは、第２の出力に含まれる位置情報をグローバル座標系に変換して得られる位置を観測として内部状態を更新することにより、位置情報の補正を行うことが可能である。
【０１０７】
補間部５８０は、補正部５７０の補正機能により補正された装着部位の位置情報に基づいて、非装着部位の位置情報を推定してスケルトン情報を生成する。補間部５８０は、図１６を参照して説明したように、所定のスケルトン構造において、複数の装着部位の間に位置する非装着部位の位置情報を推定してもよい。なお、以下では、補間部５８０の機能を補間機能と称する場合がある。かかる補間機能は、例えば図４、図５を参照して説明した逆運動学計算により実現され得る。
【０１０８】
図４、図５を参照して説明したように、逆運動学計算では、一般に複数の解が存在し、例えば関節部位の数によっては非常に多数の解が存在する場合がある。したがって、より高精度なスケルトン情報を得るためには、存在する多数の解のうち、より適切な解を特定可能な仕組みが求められる。そこで、本実施形態にかかる補間部５８０は、非装着部位の位置情報を予め用意された逆運動学モデルに当てはめる回帰により推定する。
【０１０９】
ここで、逆運動学モデルは、例えば事前に運動制約情報（例えば過去に取得されたポーズや一連の動きにおける各部位の位置と姿勢のサンプルを複数含む情報）を学習することで生成することが可能である。なお、補間部５８０の補間機能には、多様な回帰分析手法を用いることが可能であり、例えばＤＮＮやＲａｎｄｏｍ  Ｆｏｒｅｓｔ等の手法が単独で、あるいは組み合わせて用いられてもよい。
【０１１０】
なお、上記では補間部５８０が各部位の位置情報を推定する説明したが、本実施形態はかかる例に限定されない。各部位の位置情報、または姿勢情報のいずれか一方が得られれば、スケルトン構造に従って他方を特定することが可能である。したがって、補間部５８０は、非装着部位の位置情報及び姿勢情報のうち少なくともいずれか一方を推定すればよい。
【０１１１】
＜＜４．動作例＞＞
以上、本実施形態の装置構成例、及び機能構成例について説明した。続いて、本実施形態の動作例について説明する。図１８は、本実施形態にかかるシステムの動作例を示すフローチャート図である。なお、図１８には、主に本実施形態の特徴を示す処理のみを示しており、本実施形態にかかるシステムは図１８に示されない処理を実行してもよい。
【０１１２】
図１８に示すように、まずグローバル運動加速度姿勢計算部５１０が、ジャイロセンサ１２により取得された角速度に基づいて、グローバル座標系におけるセンサ装置１０の姿勢をＡＨＲＳにより計算する（Ｓ５０２）。なお、ステップＳ５０２は、図１２のステップＳ１１１、Ｓ１２１に相当する。
【０１１３】
続いて、グローバル運動加速度姿勢計算部５１０は、ステップＳ５０２で得られたグローバル座標系におけるセンサ装置１０の姿勢を、グローバル座標系における当該センサ装置１０が装着された装着部位の姿勢へ変換する（Ｓ５０４）。
【０１１４】
続いて、グローバル運動加速度姿勢計算部５１０は、ステップＳ５０４で得られたグローバル座標系における装着部位の姿勢に基づいて、加速度センサ１４により取得されたローカル座標系における加速度をグローバル座標系における加速度へ変換する（Ｓ５０６）。なお、ステップＳ５０６は、図１２のステップＳ１１２、Ｓ１２２に相当する。
【０１１５】
続いて、グローバル運動加速度姿勢計算部５１０は、ステップＳ５０４で得られたグローバル座標系における装着部位の姿勢に基づいて、ステップＳ５０６で得られたグローバル座標系における加速度から重力成分を除去する（Ｓ５０８）。
【０１１６】
続いて、積分計算部５２０が、ステップＳ５０８で得られた重力成分が除去されたグローバル座標系における加速度を２回積分することにより、グローバル座標系における装着部位の位置情報を計算する（Ｓ５１０）。なお、ステップＳ５１０は、図１２のステップＳ１１３、Ｓ１１４に相当する。
【０１１７】
続いて、ステップＳ５１０の補正を行うか否かが判定される（Ｓ５１２）。上述したように、運動モデルに基づく位置推定処理は、慣性航法に基づく位置推定処理よりも処理負荷が大きい。したがって、運動モデルに基づく位置推定処理（Ｓ５１４）の実行頻度は慣性航法に基づく位置推定処理（Ｓ５０２〜Ｓ５１０）の実行頻度よりも少ない。そこで、ステップＳ５１２において、図１８に示した処理が所定の回数行われるごとに１回補正を行うと判定されてもよい。ただし、本実施形態はかかる例に限定されず、例えば、センサデータに基づいて装着部位が静止していないと判定可能な場合には補正を行うと判定し、静止していると判定可能な場合には補正を行わないと判定してもよい。
【０１１８】
補正を行うと判定された場合（Ｓ５１２においてＹＥＳ）、装着位置回帰推定部５４０は、運動モデルを用いた回帰推定により、身体座標系における装着部位の位置情報を推定する（Ｓ５１４）。なお、ステップＳ５１４は、図１２のステップＳ１２３に相当する。
【０１１９】
続いて、補正部５７０は、接地検出部５６０による接地検出結果に基づいて、ステップＳ５１４で推定された身体座標系における装着部位の位置情報をグローバル座標系における装着部位の位置情報へ変換する（Ｓ５１６）。
【０１２０】
そして、補正部５７０は、ステップＳ５１６で得られたグローバル座標系における装着部位の位置情報に基づいて、ステップＳ５１０で得られたグローバル座標系における装着部位の位置情報を補正する（Ｓ５１８）。
【０１２１】
続いて、補間部５８０は、グローバル座標系における装着部位の位置情報に基づいて、非装着部位の位置情報を逆運動学モデルに当てはめる回帰により推定（補間）する（Ｓ５２０）。なお、ステップＳ５２０において非装着部位の位置情報の回帰推定に用いられる装着部位の位置情報は、ステップＳ５１２における判定結果に応じて異なり得る。ステップＳ５１２において補正を行うと判定された場合、ステップＳ５１８で補正された装着部位の位置情報がステップＳ５２０における回帰推定に用いられる。一方、ステップＳ５１２において補正を行わないと判定された場合、ステップＳ５１０で得られたグローバル座標系における装着部位の位置情報がステップＳ５２０における回帰推定に用いられる。
【０１２２】
以上、本実施形態に係るシステムの動作について説明した。なお、図１８に示した処理は、ジャイロセンサ１２及び加速度センサ１４によりセンサデータが取得される度に、あるいは所定の頻度で、繰り返し実行されてもよい。
【０１２３】
＜＜５．変形例＞＞
以上、本開示の一実施形態を説明した。以下では、本実施形態の幾つかの変形例を説明する。なお、以下に説明する各変形例は、単独で本実施形態に適用されてもよいし、組み合わせで本実施形態に適用されてもよい。また、各変形例は、本実施形態で説明した構成に代えて適用されてもよいし、本実施形態で説明した構成に対して追加的に適用されてもよい。
【０１２４】
＜５−１．第１の変形例＞
上記実施形態では、装着位置回帰推定部５４０が、グローバル運動加速度姿勢計算部５１０により計算されたグローバル座標系における装着部位の姿勢情報と、重力成分が除去されたグローバル座標系における加速度とに基づいて回帰推定処理を行う例を説明した。しかし、本技術はかかる例に限定されない。例えば、ジャイロセンサ１２及び加速度センサ１４により取得された角速度や加速度がかかる回帰推定処理への入力として用いられてもよい。かかる例について、第１の変形例として説明を行う。
【０１２５】
図１９は、第１の変形例にかかるシステムの機能構成例を示す図である。図１９に示す構成のうち、図１５に示した構成と実質的に同一の構成については、同一の符号を付してあるため、ここでの説明は省略し、図１５に示したシステムと相違する点について以下では説明を行う。図１９を参照すると、本変形例にかかるシステムは、装着位置回帰推定部５４０に代えて装着位置回帰推定部５４１を含む点において図１５に示したシステムと相違する。
【０１２６】
本変形例にかかる装着位置回帰推定部５４１は、グローバル運動加速度姿勢計算部５１０により計算された情報に加え、または代えて、ジャイロセンサ１２及び加速度センサ１４により取得された角速度や加速度を入力として用いて、回帰推定処理を行う。かかる回帰推定に用いられる運動モデルは、当該回帰推定に用いられる情報と同種の情報（角速度や加速度）を含んだ運動制約情報を学習することにより事前に用意され得る。
【０１２７】
以上、第１の変形例について説明した。本変形例によれば、より多くの情報を用いることで、より高精度に装着部位の位置情報を推定することが可能となり得る。なお、上記では角速度や加速度が装着位置回帰推定部５４１による回帰推定処理への入力として用いられる例を説明したが、さらに他の情報が入力として用いられてもよい。例えば、センサ装置１０が、ジャイロセンサ１２と加速度センサ１４に加えて、地磁気センサや気圧センサを備える場合、地磁気や気圧の情報が、かかる回帰推定処理への入力として用いられてもよい。
【０１２８】
＜５−２．第２の変形例＞
続いて、第２の変形例として、補正部が信頼度の特定を行う例を説明する。図２０は、本変形例にかかるシステムの機能構成例を示す図である。図２０に示す構成のうち、図１５に示した構成と実質的に同一の構成については、同一の符号を付してあるため、ここでの説明は省略し、図１５に示したシステムと相違する点について以下では説明を行う。図２０を参照すると、本変形例にかかるシステムは、信頼度特定部５５０と補正部５７０に代えて補正部５７２を含む点において図１５に示したシステムと相違する。
【０１２９】
補正部５７２は、図１５を参照して説明した補正部５７０の機能に加え、積分計算部５２０、及び装着位置回帰推定部５４０のそれぞれから入力される装着部位の位置情報の少なくともいずれか一方の信頼度を特定する機能を有する。かかる機能は、例えばカルマンフィルタにより実現されてもよいし、予め定められたルールに基づいて行うように実現されてもよいし、あるいは学習により事前に用意されたモデルを用いた回帰推定により実現されてもよい。
【０１３０】
＜５−３．第３の変形例＞
続いて、第３の変形例として、非装着部位の位置推定（補間）処理の後に補正処理を行う例を説明する。図２１は、本変形例にかかるシステムの機能構成例を示す図である。図２１に示す構成のうち、図１５に示した構成と実質的に同一の構成については、同一の符号を付してあるため、ここでの説明は省略し、図１５に示したシステムと相違する点について以下では説明を行う。図２１を参照すると、本変形例にかかるシステムは、信頼度特定部５５０、補正部５７０、及び補間部５８０に代えて補正部５７３、及び補間部５８３を含む点において図１５に示したシステムと相違する。
【０１３１】
本変形例にかかる補間部５８３は、グローバル運動加速度姿勢計算部５１０により計算されたグローバル座標系における装着部位の姿勢情報と装着位置回帰推定部５４０により推定された装着部位の位置情報に基づいて、非装着部位の位置情報、及び姿勢情報のうち少なくとも一方を回帰により推定する。なお、補間部５８３による回帰推定は、入力される情報が異なる点を除いて、補間部５８０による非装着部位の回帰推定と同様であってよい。補間部５８３により推定された非装着部位の位置情報あるいは姿勢情報は、補正部５７３へ出力される。
【０１３２】
なお、本変形例にかかる第２の処理は、上述した補間部５８３が非装着部位の位置情報及び姿勢情報のうち少なくともいずれか一方を推定する補間処理を含む。そして、本変形例にかかる第２の出力（第２の処理の出力）は、補間部５８３により推定された非装着部位の位置情報及び姿勢情報のうち少なくともいずれか一方を含む。さらに、本変形例にかかる第２の出力は、グローバル運動加速度姿勢計算部５１０あるいは装着位置回帰推定部５４０により得られた装着部位の位置情報あるいは姿勢情報を含んでもよい。つまり、本変形例にかかる第２の出力は推定対象となる全ての部位の位置情報、及び姿勢情報のうち少なくともいずれか一方を含む。
【０１３３】
本変形例にかかる補正部５７３は、積分計算部５２０から入力される第１の出力（装着部位の姿勢情報と位置情報）に基づいて、補間部５８３から入力される第２の出力に含まれる非装着部位の位置情報及び姿勢情報のうち少なくともいずれか一方を補正する。本変形例では、装着部位の速度及び位置と、非装着部位の位置または姿勢の関係が非線形であるため、本変形例にかかる補正部５７３の補正機能は、例えば、拡張カルマンフィルタにより実現され得る。以下では拡張カルマンフィルタにより、非装着部位の姿勢情報を補正する補正機能が実現される例について説明する。
【０１３４】
かかる拡張カルマンフィルタは内部状態として、全装着部位の速度と位置、及び推定対象となる全ての部位（装着部位と非装着部位を含む）の姿勢を有する。かかる拡張カルマンフィルタは、グローバル運動加速度姿勢計算部５１０から出力されるグローバル座標系における装着部位の加速度を積分することにより装着部位の速度と位置を予測する。そして、かかる拡張カルマンフィルタは、第２の出力に含まれる推定対象となる全ての部位の姿勢情報を観測として内部状態を更新することにより、姿勢情報の補正を行うことが可能である。なお、拡張カルマンフィルタが内部的に持つ誤差の共分散行列の予測には、逆運動学計算で用いられる装着部位の速度と非装着部位の姿勢の関係を記述するヤコビアンが用いられてもよい。
【０１３５】
なお、図２１では、装着位置回帰推定部５４０と補間部５８３を別個の機能構成として示したが、装着位置回帰推定部５４０と補間部５８３の機能を統合してもよい。かかる場合、グローバル運動加速度姿勢計算部５１０から入力される情報に基づく回帰により直接的に推定対象の全ての部位の位置情報及び姿勢情報が推定されてもよい。かかる場合、回帰推定のために事前に用意するモデルの数が少なく済むという効果がある。
【０１３６】
＜５−４．第４の変形例＞
上記実施形態では、装着位置回帰推定部５４０が、非トラッキング型運動モデルを用いた回帰推定を行う例を説明したが、トラッキング型運動モデルが用いられてもよい。以下、図２２、図２３を参照して、非トラッキング型運動モデルとトラッキング型運動モデルの概要について説明する。
【０１３７】
図２２は、非トラッキング型運動モデルの概要を説明するための説明図である。図２２に示すように、非トラッキング型運動モデルを用いた回帰推定では、加速度と姿勢の情報が入力されて、位置情報が出力され得る。
【０１３８】
図２３は、トラッキング型運動モデルの概要を説明するための説明図である。図２３に示すように、トラッキング型運動モデルを用いた回帰推定においても、加速度と姿勢の情報が入力されて、位置情報が出力され得る。ただし、トラッキング型運動モデルを用いた回帰推定では、加速度と姿勢の情報に加え、遅延器Ｄにより１サンプル分遅延させられた位置情報（すなわち前回の回帰推定処理の出力）が、次の回帰推定処理へ入力される。トラッキング型運動モデルには、追従性が向上し得るという利点がある。
【０１３９】
このようなトラッキング型運動モデルを用いた回帰により装着部位の位置情報を推定する例について、第４の実施形態として説明する。図２４は、本変形例にかかるシステムの機能構成例を示す図である。図２４に示す構成のうち、図１５に示した構成と実質的に同一の構成については、同一の符号を付してあるため、ここでの説明は省略し、図１５に示したシステムと相違する点について以下では説明を行う。図２４を参照すると、本変形例にかかるシステムは、装着位置回帰推定部５４０、及び補正部５７０に代えて装着位置回帰推定部５４４及び補正部５７４を含む点において図２４に示したシステムと相違する。
【０１４０】
装着位置回帰推定部５４４は、グローバル運動加速度姿勢計算部５１０により計算された情報に加え、過去の回帰推定処理により推定された装着部位の位置情報を用いて補正部５７４により補正された装着部位の位置情報を入力として用いて、回帰推定処理を行う。かかる回帰推定に用いられる運動モデルは、上述したトラッキング型運動モデルであり、例えば１サンプル分遅延させられた位置情報を含む運動制約情報を学習することにより事前に用意され得る。
【０１４１】
上述した第４の変形例によれば、様々な動きへの追従性が向上し、より高精度に装着部位の位置情報を推定することが可能となり得る。
【０１４２】
＜５−５．第５の変形例＞
上記実施形態では、図１４を参照して装置構成例を説明したが、本技術はかかる例に限定されない。以下では第５の変形例として、ハブ装置２０を備えないシステムの装置構成例を説明する。図２５は、本変形例にかかるシステムの装置構成例を示す図である。
【０１４３】
図２５に示すように、本変形例にかかるシステムは、センサ装置１０Ａ〜１０Ｆ、情報処理装置３０、及び出力装置４０を含む。図２５に示すように、本変形例において、センサ装置１０は、ハブ装置２０を介することなく、直接的に情報処理装置３０と接続される。なお、センサ装置１０と情報処理装置３０との間は、有線接続されていてもよいし、無線接続されていてもよい。かかる接続の関係を除いて、図２５に示す各装置の構成は、図１４に示した同一の符号が付された各装置の構成と同様であってよい。
【０１４４】
＜５−６．第６の変形例＞
上記実施形態では、運動モデル、及び逆運動学モデルを用いて回帰推定を行う例を説明した。この回帰推定の推定結果は、運動モデル、及び逆運動学モデルを生成するための学習に用いられる運動制約情報に応じて大きく異なり得る。例えば特徴的な姿勢や動作をセンシングして得られた運動制約情報が、学習に用いられた場合、推定結果は実際の身体の動きよりも、学習に用いられた動きに近い特徴を有し易くなる。
【０１４５】
特徴的な姿勢や動作の例としては、ゾンビのようなキャラクタ独特の姿勢や、格闘シーンに典型的なダイナミックな動作、シューティングゲーム等のゲーム中に頻出する姿勢、ダンスのジャンルごとに特徴的な振り付け動作、あるいはスポーツごとの個別ルールに応じた動作等が挙げられるが、かかる例に限定されるものではない。
【０１４６】
上記のような運動制約情報をアプリケーションに応じて適宜用意して、運動モデル、及び逆運動学モデルを生成するための学習に用いることで、アプリケーションに応じたスケルトン情報を推定することが可能となる。そのため、例えばスケルトン情報に基づいてアニメーションを作成する場合においては、上述した一連の処理により推定されたスケルトン情報に対して後処理を要することなく、特徴的なアニメーションを生成することも可能となる。
【０１４７】
＜＜６．第２の実施形態の概要＞＞
＜６−１．本実施形態の概要について＞
ところで、上述した本開示の第１の実施形態に係るモーションキャプチャ技術は、ユーザ（動作主体、パフォーマ）に装着されるセンサ装置１０の数の増加を抑えつつ、センサ装置の装着位置を高精度に得ることができる。さらに、当該モーションキャプチャ技術は、処理の負荷が小さいことから、複数のユーザのモーション（動作、姿勢）をリアルタイムでキャプチャすることに適しているといえる。
【０１４８】
また、例えば仮想空間上のアバターによってユーザのモーションを可視化する際には、キャプチャしたユーザのモーションをリアルタイムで再現するだけでなく、ライブ等のパフォーマンスにおいては、効果的な演出を狙って、アバターに対してはミニマルな表現が求められることがある。
【０１４９】
そこで、上述のような状況を鑑みて、本発明者らは、上述した本開示の第１の実施形態に係るモーションキャプチャ技術を利用してキャプチャした複数のユーザのモーションをブレンドし、ブレンドした動きを仮想空間上のアバター等によってリアルタイムで再現する手法を創作するに至った。以下に、本発明者らが創作した上記手法を、本開示の第２の実施形態として説明する。まずは、図２６を参照して、本開示の第２の実施形態の概要について説明する。図２６は、本実施形態の概要を説明するための説明図である。
【０１５０】
詳細には、本実施形態においては、例えば、図２６に示すように、舞台上でパフォーマンス（ダンス等）を行う複数のパフォーマ（図２６では、パフォーマ１、パフォーマ２）（動作主体）のモーション（動作、姿勢）を上述した本開示の第１の実施形態に係るモーションキャプチャ技術によってキャプチャする。さらに、本実施形態においては、キャプチャした複数のパフォーマのモーションを所定のアルゴリズムに基づいてブレンドし、ブレンドしたモーションを仮想空間上のアバター等によってリアルタイムで再現する。
【０１５１】
なお、本実施形態においては、ブレンドしたモーションを再現する主体は、仮想空間上のアバター(人の形状に限定されない)、すなわちアニメーションであってもよく、実空間上のロボットであってもよく、特に限定されるものではない。
【０１５２】
さらに、本実施形態においては、モーションがキャプチャされる主体（動作主体）は、舞台上でパフォーマンス（ダンス等）を行うパフォーマ（例えば、ダンサー、シンガー等）に限定されるものではなく、パフォーマンスを鑑賞するオーディエンスであってもよい。また、本実施形態においては、動作主体は、人間に限定されるものではなく、例えば、動物であってもよく、もしくは予め準備された、人物等が動作を行うアニメーションであってもよく、特に限定されるものではない。以下に、本開示の第２の実施形態の詳細を順次説明する。
【０１５３】
＜６−２．機能構成例＞
次に、第２の実施形態に係るシステム機能構成について、図２７を参照して説明する。図２７は、本実施形態に係るシステムの機能構成の一例を示す図である。なお、図２７は、主に本実施形態の特徴を示す機能構成のみを示しており、本実施形態に係るシステムは図１５に示される機能構成を含んでもよい。
【０１５４】
本実施形態にかかるシステムの情報処理装置３０の制御部３４は、仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御することができる。図２７を参照すると、当該制御部３４は、情報取得部６１０と、ブレンド率決定部６２０と、ブレンド部６３０と、動作制御部６４０と、としての機能を有する。また、以下に説明する図２７の各機能構成は、図１４に示したいずれかの装置により実現されてもよく、特に限定されるものではない。
【０１５５】
詳細には、情報取得部６１０は、実空間上の複数のパフォーマ（ユーザ、動作主体）に装着されたセンサ装置（モーションセンサ）１０を用いて当該各パフォーマの少なくとも１つの部位に相当するモーションをキャプチャする。より具体的には、上述の実施形態で説明したように、例えば、情報取得部６１０は、パフォーマの身体の６か所の部位に装着された複数のセンサ装置１０のそれぞれを用いて、当該パフォーマの各部位のモーションをキャプチャする。すなわち、情報取得部６１０は、上述の第１の実施形態のスケルトン情報を取得することができる。そして、情報取得部６１０は、取得した情報を後述するブレンド部６３０に出力する。
【０１５６】
なお、本実施形態においては、上記部位は、パフォーマ（動作主体）の身体の一部であり、具体的には、パフォーマの上半身、下半身、頭部、関節、腰、手首、足首等のことを意味する。
【０１５７】
ブレンド率決定部６２０は、所定のアルゴリズムに基づいて、各パフォーマの部位のモーションに動的に付されたブレンド率（重みづけ）を決定する。そして、ブレンド率決定部６２０は、決定したブレンド率を後述するブレンド部６３０に出力する。ここで、ブレンド率とは、アバター等で再現されるモーションにおける、異なるパフォーマの部位のモーションの混合の割合のことをいう。なお、当該ブレンド率の決定方法の詳細については、後述する。
【０１５８】
ブレンド部６３０は、上述したブレンド率決定部６２０によって決定されたブレンド率に基づいて、各パフォーマの部位のモーションをブレンドする。そして、ブレンド部６３０は、ブレンドしたモーションの情報を後述する動作制御部６４０に出力する。
【０１５９】
動作制御部６４０は、アバター又はロボットが複数のパフォーマの部位のモーションが反映されたモーションを行うように、ブレンドしたモーションの情報（ブレンド結果）に基づいて、アバター又はロボットのモーションを動的に制御する。すなわち、動作制御部６４０は、アバター又はロボットのモーションを動的に制御するために、出力装置４０を制御することができる。
【０１６０】
＜６−３．動作例＞
以上、本実施形態に係る機能構成例について説明した。続いて、本実施形態の動作例（情報処理方法）について、図２８及び図２９を参照して説明する。図２８は、本実施形態に係るシステムの動作例を示すフローチャート図である。なお、図２８には、主に本実施形態の特徴を示す処理のみを示しており、本実施形態にかかるシステムは図２８に示されない処理を実行してもよい。さらに、図２９は、図２８のステップＳ２００での動作を説明するためのフローチャート図である。
【０１６１】
詳細には、本実施形態に係るシステムは、図２８に示すように、大きく３つの段階を経て、アバター又はロボットのモーションを動的に制御する。詳細には、本実施形態においては、まず、各パフォーマの部位のモーションに対するブレンド率（重みづけ）又はブレンド率の決定方法を予め設定する（Ｓ１００）。次に、本実施形態においては、アバター等のモーションを再現するために、上述のステップＳ１００で設定された設定条件に基づいて、各パフォーマの部位のモーションをキャプチャし、フレームごとに、各パフォーマの部位のモーションをブレンドする処理を実行する（Ｓ２００）。さらに、本実施形態においては、上述のステップＳ２００での処理結果に基づいて、アバターを描画する（Ｓ３００）。なお、例えば、ロボットの場合には、本実施形態においてはロボットの動作を制御することとなる。
【０１６２】
より具体的には、本実施形態においては、アバター等の部位（関節）の姿勢（θ）や位置（ｐｏｓｉｔｉｏｎ）（Ｐ）は、ブレンド率α、βによって、以下の数式（３）によって示すことができる。なお、以下の数式（３）は、二人のパフォーマの部位のモーションをブレンドする場合を示している。
【０１６３】
【数２】
2019203190.tif 000004
【０１６４】
なお、ブレンド率α、βは、相関係を鑑みて、以下の数式（４）を満たしていることが好ましい。なお、ブレンド率の決定方法の詳細については後述する。
【０１６５】
【数３】
2019203190.tif 000005
【０１６６】
さらに、二人のパフォーマの部位モーションにおいて、例えばブレンド率α１、α２がゼロとなった場合には、本実施形態に係るシステムは、アバター等の部位の姿勢（θ）や位置（Ｐ）の算出を停止するようにする。さらに、上記ブレンド率α１、α２がゼロ以外となった場合には、本実施形態に係るシステムは、再びアバター等の部位の姿勢（θ）や位置（Ｐ）の算出を開始するようにする。本実施形態においては、このようにすることで、アバター等の部位の姿勢（θ）や位置（Ｐ）の算出に係る処理の負荷を軽減することができる。
【０１６７】
また、本実施形態においては、本実施形態に係るシステムにおける処理の負荷を以下のようにして軽減するようにしてもよい。例えば、ブレンド率はあらかじめオペレータによって設定するケースにおいて、オペレータによって、アバター等の上半身は、パフォーマ１及びパフォーマ２の上半身のモーションをブレンドしたモーションを再現し、アバター等の下半身は、パフォーマ１の下半身のモーションのみを再現するように設定されたとする。このような場合、本実施形態においては、パフォーマ２の下半身のモーションキャプチャを停止することにより、本実施形態に係るシステムにおける処理の負荷を軽減することができる。
【０１６８】
なお、本実施形態においては、二人のパフォーマの部位のモーションをブレンドすることに限定されるものではなく、Ｍ人のパフォーマの部位のモーションをブレンドしてもよい。このような場合、アバター等の部位（関節）の姿勢（θ）や位置（ｐｏｓｉｔｉｏｎ）（Ｐ）は、ブレンド率α、βによって、以下の数式（５）及び数式（６）によって示すことができる。
【０１６９】
【数４】
2019203190.tif 000006
【０１７０】
【数５】
2019203190.tif 000007
【０１７１】
さらに、本実施形態においては、レンド率α、βは、固定された値でなくてもよく、例えば、時間とともに動的に変化する値であってもよい。このような場合、アバター等の部位（関節）の姿勢（θ）や位置（ｐｏｓｉｔｉｏｎ）（Ｐ）は、ブレンド率α、βによって、以下の数式（７）によって示すことができる。
【０１７２】
【数６】
2019203190.tif 000008
【０１７３】
次に、ブレンド率を決定し、アバー等のモーションを決定する図２８のステップＳ２００の詳細について、図２９を参照して説明する。詳細には、本実施形態に係るシステムは、各パフォーマの部位のモーションをキャプチャし、キャプチャした情報に基づき、ブレンド率を決定するための様々なファクタ（距離、加速度等）を算出する（Ｓ２０１）。次に、当該システムは、各パフォーマについて、上記ファクタに基づいて、仮の単体ブレンド率（α＿ｔｅｍｐ）を算出する（Ｓ２０３）。さらに、当該システムは、各パフォーマについて算出された仮の単体ブレンド率（α＿ｔｅｍｐ）に基づいて、相関を考慮し、最終ブレンド率αを算出する（Ｓ２０５）。そして、当該システムは、最終ブレンド率αに基づいて、各パフォーマの部位のモーションをブレンドする処理を行い、アバターの再生するためのアニメーションを生成する（Ｓ２０７）。
【０１７４】
なお、本実施形態においては、先に説明したように、ブレンドしたモーションを再現する主体は、仮想空間上のアバターであってもよく、実空間上のロボットであってもよく、特に限定されるものではない。また、アバターを用いる場合であっても、人型であっても、動物の形であってもよく、数分前ごとのモーションと重ねて表示する形態（例えば、パーティクル表示等）で表現されていてもよい。
【０１７５】
本実施形態においては、ブレンド率αの決定手法については、様々な例を挙げることができる。そこで、以下に、本実施形態に係るブレンド率αの決定手法の例について説明する。なお、本実施形態は、以下の説明するブレンド率αの決定手法に限定されるものではない。
【０１７６】
＜６−４．ブレンド率決定手法例１＞
以下に説明するブレンド率決定手法例１におけるブレンド率決定手法に係るアルゴリズムは、実空間上において予め設定された基準点からの各パフォーマまでの距離に応じて、各パフォーマの部位のモーションに付されたブレンド率αを動的に決定し、決定したブレンド率αに基づいて、各パフォーマの部位のモーションをブレンドする。このようなブレンド率決定手法例１の詳細を、図３０から図３２を参照して説明する。図３０は、本実施形態に係るブレンド率決定手法例１の概要を説明するためのイメージ図である。図３１及び図３２は、本実施形態に係るブレンド率決定手法例１の動作を説明するためのイメージ図である。
【０１７７】
例えば、本手法においては、ダンスバトル等の舞台で中央に寄って行ったパフォーマのモーションにアバターのモーションを近づけていくケース、あるいは、アイドルグループのライブで、歌唱中にメンバのフォーメンション（立ち位置）の変更が行われるが、舞台で中央に立ったメンバのモーションにアバターのモーションを近づけていくケースを想定している。
【０１７８】
（事前準備）
例えば、本手法においては、図３０に示すように、実空間上の舞台における基準点（例えば、舞台の中心点）Ｃを予め設定しておく。さらに、本手法においては、図３１に示すように、実空間上の舞台における基準点Ｃからの最小距離ｄ＿ｍｉｎと最大距離ｄ＿ｍａｘを予め設定しておく。詳細には、最小距離ｄ＿ｍｉｎは、パフォーマの歩幅等を参照して設定することができ、例えば１ｍ程度に設定することができる。また、最小距離ｄ＿ｍａｘは、舞台のサイズ等を参照して設定することができ、例えば１０ｍ程度に設定することができる。そして、本手法においては、図３１に示すように、例えば、基準点Ｃからパフォーマまでの距離が最小距離ｄ＿ｍｉｎであった場合には、当該パフォーマのモーションに付される仮の単体ブレンド率α＿ｔｅｍｐを１と設定し、基準点Ｃからパフォーマまでの距離が最大距離ｄ＿ｍａｘであった場合には、当該パフォーマのモーションに付される仮の単体ブレンド率α＿ｔｅｍｐを０と設定してもよい。
【０１７９】
（Ｆｒａｍｅ処理）
例えば、本手法においては、全てのパフォーマについて、基準点Ｃからの距離ｄ＿ｎを取得する。なお、距離ｄの取得は、特に限定されるものではないが、上述したセンサ装置１０、撮像装置、パフォーマに装着された測位センサ(例えば、センサ装置１０に内蔵される)、舞台に設けられた圧力センサ等によって実施することができる。なお、上記測位センサは、例えば、ＧＮＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ）受信機等であることができる。この場合、測位センサは、ＧＮＳＳ衛星からの信号に基づいて、パフォーマの現在地の緯度・経度を示すセンシングデータを生成することができる。また、本手法においては、例えば、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、Ｗｉ−Ｆｉのアクセスポイント、無線基地局の情報等からパフォーマの相対的な位置関係を検出することが可能なため、このような通信装置を上記測位センサとして利用することも可能である。
【０１８０】
さらに、本手法においては、取得した距離ｄに基づいて、図３２に示すグラフを参照して、当該パフォーマのモーションに付される仮の単体ブレンド率α＿ｔｅｍｐ＿ｎを算出する。算出式は、例えば下記の数式（８）で示すことができる。
【０１８１】
【数７】
2019203190.tif 000009
【０１８２】
なお、本手法においては、距離＿ｎが、最小距離ｄ＿ｍｉｎから最大距離ｄ＿ｍａｘの範囲外である場合には、図３２に示すように、仮の単体ブレンド率α＿ｔｅｍｐ＿ｎは、１又は０であるものとする。
【０１８３】
そして、本手法においては、算出した単体ブレンド率α＿ｔｅｍｐ＿ｎがすべてゼロであった場合には、アバター等の表示を停止する。一方、本手法においては、算出した単体ブレンド率α＿ｔｅｍｐ＿ｎがすべてゼロでない場合には、算出された体ブレンド率α＿ｔｅｍｐ＿ｎに基づいて、相関を考慮し、各最終ブレンド率αｎを算出する。より具体的には、本手法においては、下記の数式（９）に基づき各最終ブレンド率αｎを算出する。
【０１８４】
【数８】
2019203190.tif 000010
【０１８５】
さらに、本手法においては、算された各最終ブレンド率αｎに基づき、上記数式（５）等を参照して、各パフォーマの部位のモーションをブレンドする処理を行う。
【０１８６】
＜６−５．ブレンド率決定手法例２＞
以下に説明するブレンド率決定手法例２におけるブレンド率決定手法に係るアルゴリズムは、実空間上における各パフォーマの部位の加速度、速度又は変位量に応じて、各パフォーマの部位のモーションに付されたブレンド率αを動的に決定し、決定したブレンド率αに基づいて、各パフォーマの部位のモーションをブレンドする。このようなブレンド率決定手法例２の詳細を、図３３を参照して説明する。図３３は、本実施形態に係るブレンド率決定手法例２の動作を説明するためのイメージ図である。
【０１８７】
例えば、本手法においては、ダンスバトル等の舞台で激しく動作するパフォーマのモーションにアバターのモーションを近づけていくケースを想定している。すなわち、以下においては、パフォーマの所定の部位の加速度に応じて、ブレンド率αを動的に決定する例を説明する。しかしながら、本手法においては、加速度に限定されるものではなく、パフォーマの所定の部位の速度や変位量に応じて、ブレンド率αを動的に決定してもよい。
【０１８８】
（事前準備）
例えば、本手法においては、最小加速度ｆ＿ｍｉｎと最大加速度ｆ＿ｍａｘを予め設定しておく。そして、本手法においては、例えば、パフォーマの所定の部位の加速度ｆが最小加速度ｆ＿ｍｉｎであった場合には、当該パフォーマの部位のモーションに付される仮の単体ブレンド率α＿ｔｅｍｐを０と設定し、パフォーマの所定の部位の加速度ｆが最大加速度ｆ＿ｍａｘであった場合には、当該パフォーマの部位のモーションに付される仮の単体ブレンド率α＿ｔｅｍｐを１と設定してもよい。
【０１８９】
（Ｆｒａｍｅ処理）
例えば、本手法においては、全てのパフォーマの部位について加速度ｆを取得する。なお、加速度ｆの取得は、特に限定されるものではないが、上述したセンサ装置１０等によって実施することができる。さらに、本手法においては、取得した加速度ｆに基づいて、図３３に示すグラフを参照して、当該パフォーマのモーションに付される仮の単体ブレンド率α＿ｔｅｍｐ＿ｎを算出する。算出式は、例えば下記の数式（１０）で示すことができる。なお、数式（１０）においては、一人のパフォーマにおける１７個の関節（０〜１６）の加速度の最大値を、パフォーマの加速度ｆとしている。
【０１９０】
【数９】
2019203190.tif 000011
【０１９１】
なお、本手法においては、加速ｆｎが、最小加速度ｆ＿ｍｉｎから最大加速度ｆ＿ｍａｘの範囲外である場合には、図３３に示すように、仮の単体ブレンド率α＿ｔｅｍｐ＿ｎは、１又は０であるものとする。
【０１９２】
なお、上述の説明においては、一人のパフォーマにおける１７個の関節の加速度の最大値を、パフォーマの加速度ｆとしていたが、本手法においてはこれに限定されるものではなく、所定の部位の加速度であってもよく、複数の部位の加速度の平均値であってもよい。
【０１９３】
そして、本手法においては、算出した単体ブレンド率α＿ｔｅｍｐ＿ｎがすべてゼロであった場合には、アバター等の表示を停止する。一方、本手法においては、算出した単体ブレンド率α＿ｔｅｍｐ＿ｎがすべてゼロでない場合には、算出された体ブレンド率α＿ｔｅｍｐ＿ｎに基づいて、相関を考慮し、各最終ブレンド率αｎを算出する。より具体的には、本手法においても、上記数式（９）に基づき各最終ブレンド率αｎを算出する。
【０１９４】
さらに、本手法においても、算出された各最終ブレンド率αｎに基づき、上記数式（５）等を参照して、各パフォーマの部位のモーションをブレンドする処理を行う。
【０１９５】
＜６−６．ブレンド率決定手法例３＞
以下に説明するブレンド率決定手法例３においては、舞台上のパフォーマではなく、パフォーマによるパフォーマンスを鑑賞するオーディエンスのモーションの同期性に応じて、ブレンド率を決定してもよい。すなわち、ブレンド率決定手法例３におけるブレンド率決定手法に係るアルゴリズムは、実空間上における各オーディエンスの間のモーションの同期性に応じて、二人のパフォーマの部位のモーションに付されたブレンド率αを動的に決定し、決定したブレンド率αに基づいて、各パフォーマの部位のモーションをブレンドする。このようなブレンド率決定手法例３の詳細を、図３４を参照して説明する。図３４は、本実施形態に係るブレンド率決定手法例３の概要を説明するためのイメージ図である。
【０１９６】
例えば、本手法においては、全てのオーディエンスの部位について加速度ａを取得する。なお、加速度ａの取得は、特に限定されるものではないが、上述したセンサ装置１０等をオーディエンスの身体の一部に装着してもらうことによって実施することができる。そして、本手法においては、全てのオーディエンスの部位について加速度ａを取得し、各加速度ａを積分して速度に変換し、速度のｙ成分の平均値Ｖｙを下記式（１１）により算出する。
【０１９７】
【数１０】
2019203190.tif 000012
【０１９８】
さらに、本手法においては、算出た速度のｙ成分の平均値Ｖｙに基づいて、最終ブレンド率αを算出する。なお、本手法においては、速度のｙ成分の平均値Ｖｙと最終ブレンド率αとの相関は、予め実験的に決定することができる。そして、本手法においても、算出された最終ブレンド率に基づき、上記数式（３）、（４）等を参照して、各パフォーマの部位のモーションをブレンドする処理を行う。
【０１９９】
より具体的には、例えば、オーディエンスのジャンプのタイミングが同期した場合には、図３４の左側に示すように、速度のｙ成分の平均値Ｖｙの振幅が大きくなり、最終ブレンド率αは、大きく変化する。その結果、アバターのモーションは、パフォーマ１とパフォーマ２との間で大きく切り替わり、メリハリの利いた状態になる。
【０２００】
また、例えば、オーディエンスのジャンプのタイミングがずれた場合や、ジャンプの飛躍高さ自体が小さい場合には、図３４の右側に示すように、速度のｙ成分の平均値Ｖｙの振幅が小さくなる。その結果、最終ブレンド率αは、０．５前後に落ち着き、アバターのモーションは、パフォーマ１とパフォーマ２との間で大きく切り替わることがなく、静かな状態になる。
【０２０１】
＜６−７．ブレンド率決定手法例４＞
以下に説明するブレンド率決定手法例４においても、舞台上のパフォーマではなく、パフォーマによるパフォーマンスを鑑賞するオーディエンスのモーションの同期性に応じて、ブレンド率を決定してもよい。なお、本手法においては、二人のパフォーマの部位のモーションをブレンドするのではなく、実空間上のパフォーマのモーションと、予め準備された人物等が動作を行うアニメーション（スペシャル  ダンス  アニメーション）とをブレンドする。このようなブレンド率決定手法例４の詳細を、図３５から図３８を参照して説明する。図３５、図３６及び図３８は、本実施形態に係るブレンド率決定手法例４の動作を説明するためのイメージ図である。また、図３７は、本実施形態に係るブレンド率決定手法例４の動作を説明するための表である。
【０２０２】
例えば、本手法においては、全てのオーディエンスの保持するサイリウム（化学反応によって蛍光色を発する器具）の動きを、会場に設置された撮像装置によって取得する。なお、本手法においては、アバターのモーションは、オーディエンスの保持するサイリウムの動きが会場全体で同期すると、徐々にスペシャル  ダンス  アニメーションに寄っていく。一方、本手法においては、アバターのモーションは、サイリウムの動きが会場全体で同期しなくなったり、サイリウムの動き自体が小さくなると、徐々に実空間上のパフォーマのモーションに寄っていく。
【０２０３】
詳細には、本手法においては、撮像装置の各画素において、所定の閾値以上の明るさを持った点Ｐを検出した場合、下記数式（１２）に従い、Ｐ点のｘ座標の位置、すなわち、画素のＸ座標を取得する。なお、図３５及び図３６の右側上に示すように、以下の説明においては、上記撮像装置は、８×４のマトリックスで設けられた画素を持つものとする。
【０２０４】
【数１１】
2019203190.tif 000013
【０２０５】
より具体的には、図３５の例で、オーディエンス１、２の保持するサイリウム５００ａ、５００ｂは、両者ともに右から左へ動いており、サイリウム５００ａ、５００ｂの動きが同期しているものとする。このような場合、本手法においては、各時間ｔ１、ｔ２、ｔ３において、サイリウム５００ａ、５００ｂのＸ座標の積算を算出する。
【０２０６】
例えば、図３５の例では、時間ｔ１において、サイリウム５００ａ、５００ｂのＸ座標が、５と２であることから、図３７の表の上段に示すように、Ｘ座標の積算値は７となる。また、図３５の例では、時間ｔ２において、サイリウム５００ａ、５００ｂのＸ座標が、４と１であることから、図３７の表の上段に示すように、Ｘ座標の積算値は５となる。さらに、図３５の例では、時間ｔ２において、サイリウム５００ａ、５００ｂのＸ座標が、３と０であることから、図３７の表の上段に示すように、Ｘ座標の積算値は３となる。
【０２０７】
そして、本手法においては、時間ｔ１から時間ｔ３までの積算値の最大値Ｘ＿ｍａｘと最小値Ｘ_ｍｉｎの差分を、下記式（１３）に従って算出する。本手法においては、算出された差分が、変数Ａｍｐとなり、図３５の例では、４となる。
【０２０８】
【数１２】
2019203190.tif 000014
【０２０９】
また、図３６の例では、オーデエンス１、２の保持するサイリウム５００ａ、５００ｂは、ばらばらに右から左、左から右へ動いており、サイリウム５００ａ、５００ｂの動きが同期していないものとする。このような場合においても、各時間ｔ１、ｔ２、ｔ３において、サイリウム５００ａ、５００ｂのＸ座標の積算を算出する。
【０２１０】
例えば、図３６の例では、時間ｔ１において、サイリウム５００ａ、５００ｂのＸ座標が、５と０であることから、図３７の表の下段に示すように、Ｘ座標の積算値は５となる。また、図３６の例では、時間ｔ２において、サイリウム５００ａ、５００ｂのＸ座標が、４と１であることから、図３７の表の下段に示すように、Ｘ座標の積算値は５となる。さらに、図３６の例では、時間ｔ２において、サイリウム５００ａ、５００ｂのＸ座標が、３と２であることから、図３７の表の下段に示すように、Ｘ座標の積算値は５となる。
【０２１１】
そして、本手法においては、時間ｔ１から時間ｔ３までの積算値の最大値Ｘ＿ｍａｘと最小値Ｘ_ｍｉｎの差分を、上記式（１３）に従って算出する。本手法においては、算出された差分が、変数Ａｍｐとなり、図３６の例では、０となる。
【０２１２】
さらに、本手法においては、算出した変数Ａｍｐに基づいて、図３８に示すグラフを参照して、最終ブレンド率αを算出する。そして、本手法においては、例えば、変数Ａｍｐがあらかじめ設定された最小変数Ａｍｐ＿ｍｉｎであった場合には、最終ブレンド率αを０と設定し、アバターのモーションがパフォーマのモーション（リアルタイムモーション）に寄っていくようにする。一方、本手法においては、例えば、変数Ａｍｐがあらかじめ設定された最大変数Ａｍｐ＿ｍａｘであった場合には、最終ブレンド率αを１と設定し、アバターのモーションがスペシャル  ダンス  アニメーションに寄っていくようにする。
【０２１３】
なお、上述の説明においては、時間ｔ１から時間ｔ３までのサイリウム５００ａ、５００ｂの動きに基づいて、最終ブレンド率αを算出していたが、本手法においてはこれに限定されるものではなく、過去の所定の時間範囲、例えば、５秒間のサイリウム５００ａ、５００ｂの動きに基づいて、最終ブレンド率αを算出してもよい。
【０２１４】
＜６−８．ブレンド率決定手法例５＞
以下に説明するブレンド率決定手法例５におけるブレンド率決定手法に係るアルゴリズムは、パフォーマの周囲の環境情報に応じて、各パフォーマの部位のモーションに付されたブレンド率αを動的に決定し、決定したブレンド率αに基づいて、各パフォーマの部位のモーションをブレンドする。このようなブレンド率決定手法例５の詳細を、図３９を参照して説明する。図３９は、本実施形態に係るブレンド率決定手法例５の動作を説明するためのイメージ図である。
【０２１５】
本手法においては、例えば、図３９に示すように、環境情報として、パフォーマのパフォーマンスを鑑賞するオーディエンスの立つフロア全体の振動ｖを検知し、振動ｖに応じて最終ブレンド率αを決定してもよい。
【０２１６】
本手法においては、あらかじめ音楽（リズム、周波数、大きさ等）に応じて変化するように最終ブレンド率αのアルゴリズムを設定しておき、パフォーマのパフォーマンス中に再生される音楽に同期して、最終ブレンド率αを動的に変化させてもよい。また、本手法においては、音楽の代わりに、会場の歓声音に同期させてもよい。
【０２１７】
なお、本手法における環境情報は、パフォーマの周囲の音、光、温度、湿度等の情報を含むことができる。
【０２１８】
また、本手法においては、オペレータの操作により、最終ブレンド率αを動的に変化させてもよい。
【０２１９】
＜６−９．ブレンド率決定手法例６＞
以下に説明するブレンド率決定手法例６におけるブレンド率決定手法に係るアルゴリズムは、実空間上の各パフォーマの生体情報に応じて、各パフォーマの部位のモーションに付されたブレンド率αを動的に決定し、決定したブレンド率αに基づいて、各パフォーマの部位のモーションをブレンドする。このようなブレンド率決定手法例６の詳細を、図４０を参照して説明する。図４０は、本実施形態に係るブレンド率決定手法例６の動作を説明するためのイメージ図である。
【０２２０】
詳細には、本手法においては、あらかじめ音楽（リズム、周波数、大きさ等）に応じて変化するように最終ブレンド率αのアルゴリズムを設定しておく。例えば、最終ブレンド率αは、図４０に実線に示されるように変化するように設定される。さらに、本手法においては、予め設定した変化に対して、パーリンノイズ（図４０の破線）として、オーディエンスの生体情報である血流アルコール濃度を乗せる。本手法においては、このようにすることで、オーディエンスの酔いに応じて、アバターのモーションを揺れることとなる。
【０２２１】
なお、上述の説明においては、生体情報としてオーディエンスの血流アルコール濃度を上げたが、本手法においてはこれに限定されるものではなく、パフォーマ又はオーディエンスの他の生体情報を用いてもよい。本手法においては、生体情報の取得は、特に限定されるものではないが、下記に挙げる各種の生体情報センサをパフォーマ又はオーディエンスの身体の一部に装着してもらうことによって実施することができる。例えば、上記生体情報センサは、例えば、筋電センサ、心拍センサ、脈拍センサ（血流センサ（血圧センサも含む）、血中アルコール濃度センサ、呼吸センサ、脳波センサ、皮膚温度センサ、皮膚導電率センサ、発汗センサ等の生体情報センサであることができる。
【０２２２】
また、本手法においては、予め設定した変化に対して乗せるノイズは、特に限定されるものではなく、例えばフラクタル性を加味した乱数等であってもよい。
【０２２３】
＜６−１０．ＵＩ例１＞
先に説明したように、本実施形態においては、オペレータの操作により、最終ブレンド率αを動的に変化させてもよい。そこで、以下においては、最終ブレンド率αを動的に変化させるためのユーザインターフェス（ＵＩ）（所定の設定用画面）の各種の例について説明する。なお、本実施形態は、以下の説明するＵＩ例に限定されるものではない。
【０２２４】
まずは、二人のパフォーマの部位のモーションに付されたブレンド率αを動的に変化させるＵＩ例１を、図４１及び図４２を参照して説明する。図４１及び図４２は、本実施形態に係るＵＩ例１を説明するためのイメージ図である。
【０２２５】
例えば、本ＵＩ例においては、オペレータの保持するスマートフォンやタブレット等のタッチパネルと重畳された表示装置に、図４１に示されるような画面８００が表示される。当該画面８００においては、ブレンドされ得るパフォーマ１、２（第１の動作主体、第２の動作主体）の部位（第１の部位、第２の部位）がマーカ８０２で示されている。本ＵＩ例においては、オペレータは、ブレンドしようとするフォーマ１、２の部位を結んで線分を作成し、線分上のカーソル８０４を移動させる操作を行うことにより、最終ブレンド率αを変化させることができる。
【０２２６】
なお、本ＵＩ例においては、カーソル８０４を移動させると、マーカ８０２の色や大きさが変化してもよく、オペレータによって結ばれたマーカ８０２の色や大きさが変化してもよく、特に限定されるものではない。また、本ＵＩ例においては、必ずしもパフォーマ１、２の同一に部位のモーションをブレンドすることに限定されるものではなく、異なる部位のモーションをブレンドしてもよい。
【０２２７】
また、本ＵＩ例においては、図４２に示すように、複数の部位をグルーピングしてもよく、このような場合、パフォーマ１のグルーピングされた複数の部位のモーションと、パフォーマ２のグルーピングされた複数の部位のモーションとがそれぞれブレンドされることとなる。この場合、例えば、本ＵＩ例においては、上記表示装置に、図４２に示されるような画面８１０が表示される。当該画面８１０においては、パフォーマ１の各部位の示すマーカ８０２ｂと、マーカ８０２ｆと、マーカ８０２ｅとが破線によって結ばれることによりグルーピングされる。また、当該画面８１０においては、パフォーマ２の各部位の示すマーカ８０２ａと、マーカ８０２ｃと、マーカ８０２ｄとが破線によって結ばれることによりグルーピングされる。
【０２２８】
＜６−１１．ＵＩ例２＞
次に、三人のパフォーマの部位のモーションに付されたブレンド率αを動的に変化させるＵＩ例２を、図４３を参照して説明する。図４３は、本実施形態に係るＵＩ例２を説明するためのイメージ図である。
【０２２９】
例えば、本ＵＩ例においては、上記表示装置に、図４３に示されるような画面８２０が表示される。当該画面８２０においては、ブレンドされ得るパフォーマ１、２、３の部位がマーカ８２２で示されており、マーカの色を変えることにより、オペレータはブレンドする部位を指定することができる。
【０２３０】
さらに、当該画面８２０においては、パフォーマ１、２、３を結ぶ三角形内のカーソル８２４を移動させる操作を行うことにより、最終ブレンド率αを変化させることができる。より具体的には、三角形の各頂点は、パフォーマ１、２、３のそれぞれに紐づけられており、各頂点からカーソル８２４までの距離をｒ１、ｒ２、ｒ３とする。そして、本ＵＩ例においては、下記の数式（１４）に従って、パフォーマ１、２、３のモーションに係る最終ブレンド率α１、α２、α３を算出する。
【０２３１】
【数１３】
2019203190.tif 000015
【０２３２】
＜６−１２．ＵＩ例３＞
らに、複数のパフォーマの部位のモーションに付されたブレンド率αを動的に変化させるＵＩ例３を、図４４を参照して説明する。図４４は、本実施形態に係るＵＩ例３を説明するためのイメージ図である。
【０２３３】
例えば、本ＵＩ例においては、上記表示装置に、図４４に示されるような画面８３０が表示される。当該画面８３０においては、ブレンドされ得る複数のパフォーマの部位がマーカ８３２で示されており、マーカの色を変えることにより、オペレータはブレンドする部位を指定することができる。
【０２３４】
さらに、当該画面８３０においては、複数のパフォーマを結ぶ多角形内のカーソル８３４を移動させる操作を行うことにより、最終ブレンド率αを変化させることができる。より具体的には、多角形の各頂点は、パフォーマのそれぞれに紐づけられており、各頂点からカーソル８３４までの距離をｒｎとする。そして、本ＵＩ例においては、下記の数式（１５）に従って、パフォーマのモーションに係る最終ブレンド率αｎを算出する。
【０２３５】
【数１４】
2019203190.tif 000016
【０２３６】
以上のように、本実施形態におては、モーションキャプチャ技術を利用してキャプチャした複数のユーザのモーションをブレンドし、ブレンドした動きを仮想空間上のアバター等によってリアルタイムで再現することが可能である。
【０２３７】
＜＜７．ハードウェア構成例＞＞
以上、本開示の実施形態を説明した。最後に、図４５を参照して、本開示の実施形態にかかる情報処理装置のハードウェア構成について説明する。図４５は、本開示の実施形態にかかる情報処理装置のハードウェア構成の一例を示すブロック図である。なお、図４５に示す情報処理装置９００は、例えば、図１４に示したセンサ装置１０、ハブ装置２０、及び情報処理装置３０を実現し得る。本開示の実施形態にかかるセンサ装置１０、ハブ装置２０、及び情報処理装置３０による情報処理は、ソフトウェアと、以下に説明するハードウェアとの協働により実現される。
【０２３８】
図４５に示すように、情報処理装置９００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３及びホストバス９０４ａを備える。また、情報処理装置９００は、ブリッジ９０４、外部バス９０４ｂ、インタフェース９０５、入力装置９０６、出力装置９０７、ストレージ装置９０８、ドライブ９０９、接続ポート９１１、通信装置９１３、及びセンサ９１５を備える。情報処理装置９００は、ＣＰＵ９０１に代えて、又はこれとともに、ＤＳＰ若しくはＡＳＩＣ等の処理回路を有してもよい。
【０２３９】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置９００内の動作全般を制御する。また、ＣＰＵ９０１は、マイクロプロセッサであってもよい。ＲＯＭ９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。ＣＰＵ９０１は、例えば、制御部１６、制御部２４、制御部３４を形成し得る。
【０２４０】
ＣＰＵ９０１、ＲＯＭ９０２及びＲＡＭ９０３は、ＣＰＵバスなどを含むホストバス９０４ａにより相互に接続されている。ホストバス９０４ａは、ブリッジ９０４を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９０４ｂに接続されている。なお、必ずしもホストバス９０４ａ、ブリッジ９０４および外部バス９０４ｂを分離構成する必要はなく、１つのバスにこれらの機能を実装してもよい。
【０２４１】
入力装置９０６は、例えば、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ及びレバー等、ユーザによって情報が入力される装置によって実現される。また、入力装置９０６は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置９００の操作に対応した携帯電話やＰＤＡ等の外部接続機器であってもよい。さらに、入力装置９０６は、例えば、上記の入力手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などを含んでいてもよい。情報処理装置９００のユーザは、この入力装置９０６を操作することにより、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０２４２】
出力装置９０７は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で形成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置９０７は、例えば、情報処理装置９００が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置９００が行った各種処理により得られた結果を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
【０２４３】
ストレージ装置９０８は、情報処理装置９００の記憶部の一例として形成されたデータ格納用の装置である。ストレージ装置９０８は、例えば、ＨＤＤ等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により実現される。ストレージ装置９０８は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置９０８は、ＣＰＵ９０１が実行するプログラムや各種データ及び外部から取得した各種のデータ等を格納する。
【０２４４】
ドライブ９０９は、記憶媒体用リーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９０９は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、ＲＡＭ９０３に出力する。また、ドライブ９０９は、リムーバブル記憶媒体に情報を書き込むこともできる。
【０２４５】
接続ポート９１１は、外部機器と接続されるインタフェースであって、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などによりデータ伝送可能な外部機器との接続口である。
【０２４６】
通信装置９１３は、例えば、ネットワーク９２０に接続するための通信デバイス等で形成された通信インタフェースである。通信装置９１３は、例えば、有線若しくは無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）又はＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９１３は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ又は各種通信用のモデム等であってもよい。この通信装置９１３は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。通信装置９１３は、例えば、通信部１８、通信部２２、通信部３２を形成し得る。
【０２４７】
センサ９１５は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサ、測距センサ、力センサ等の各種のセンサである。センサ９１５は、情報処理装置９００の姿勢、移動速度等、情報処理装置９００自身の状態に関する情報や、情報処理装置９００の周辺の明るさや騒音等、情報処理装置９００の周辺環境に関する情報を取得する。また、センサ９１５は、ＧＰＳ信号を受信して装置の緯度、経度及び高度を測定するＧＰＳセンサを含んでもよい。センサ９１５は、例えば、ジャイロセンサ１２、加速度センサ１４を形成し得る。
【０２４８】
なお、ネットワーク９２０は、ネットワーク９２０に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク９２０は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ｅｔｈｅｒｎｅｔ（登録商標）を含む各種のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを含んでもよい。また、ネットワーク９２０は、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）などの専用回線網を含んでもよい。
【０２４９】
以上、本開示の実施形態にかかる情報処理装置９００の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて実現されていてもよいし、各構成要素の機能に特化したハードウェアにより実現されていてもよい。従って、本開示の実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【０２５０】
なお、上述のような本開示の実施形態にかかる情報処理装置９００の各機能を実現するためのコンピュータプログラムを作製し、ＰＣ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
【０２５１】
＜＜８．むすび＞＞
以上説明したように、本開示の実施形態によれば、モーションセンサが装着された身体の部位の位置情報をより高精度に得ることが可能である。さらに、本開示の実施形態によれば、モーションセンサが装着されていない部位の位置情報、及び姿勢情報をも得ることが可能であるため、より少ないモーションセンサを用いて、スケルトン情報を得ることが可能である。
【０２５２】
さらに、本開示の実施形態によれば、モーションキャプチャ技術を利用してキャプチャした複数の動作主体の動きをブレンドし、ブレンドした動きを仮想空間上のアバター等によってリアルタイムで再現することが可能である。
【０２５３】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２５４】
例えば、上記実施形態では、モーションセンサとして、慣性センサが身体に装着される例を主に説明したが、本技術はかかる例に限定されない。モーションセンサは、身体の動きをセンシングするセンサであればよく、上述したように地磁気センサ、気圧センサ、イメージセンサ等であってもよい。
【０２５５】
また、上記実施形態における各ステップは、必ずしもフローチャート図として記載された順序に沿って時系列に処理される必要はない。例えば、上記実施形態の処理における各ステップは、フローチャート図として記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
【０２５６】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示にかかる技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０２５７】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御機能を、コンピュータに実現させるためのプログラムであって、
前記制御機能は、
前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、
前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、
前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する、
プログラム。
（２）
前記制御機能は、
前記各動作主体に装着された前記モーションセンサから前記各動作主体の少なくとも１つの部位に相当するモーションをキャプチャし、
前記複数の動作主体の前記部位のモーションを前記所定のアルゴリズムに基づいてブレンドし、
前記ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する、
上記（１）に記載のプログラム。
（３）
前記部位は、前記動作主体の身体の一部である、上記（２）に記載のプログラム。
（４）
前記身体の一部は、上半身、下半身、頭部、関節、腰、手首、足首のうちの少なくとも１つを含む、上記（３）に記載のプログラム。
（５）
前記動作主体は、パフォーマ、オーディエンスのうちの少なくとも一人を含む、上記（１）〜（４）のいずれか１つに記載のプログラム。
（６）
前記所定のアルゴリズムは、
予め前記各動作主体に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
上記（２）に記載のプログラム。
（７）
前記所定のアルゴリズムは、
前記実空間上において予め設定された基準点からの前記各動作主体までの距離に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
上記（１）〜（５）のいずれか１つに記載のプログラム。
（８）
前記所定のアルゴリズムは、
前記実空間上における前記各動作主体の加速度、速度又は変位量に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
上記（１）〜（５）のいずれか１つに記載のプログラム。
（９）
前記所定のアルゴリズムは、
前記実空間上における前記各動作主体の間の動作の同期性の度合いに応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
上記（１）〜（５）のいずれか１つに記載のプログラム。
（１０）
前記所定のアルゴリズムは、
前記各動作主体の生体情報に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
上記（１）〜（５）のいずれか１つに記載のプログラム。
（１１）
前記所定のアルゴリズムは、
前記各動作主体の周囲の環境情報に応じて前記各動作主体に動的に付された重みづけに基づいて、前記複数の動作主体のモーションをブレンドする、
上記（１）〜（５）のいずれか１つに記載のプログラム。
（１２）
前記重みづけは、オペレータが所定の設定用画面を操作することにより予め設定される、上記（６）に記載のプログラム。
（１３）
前記オペレータが、前記設定用画面における、第１の前記動作主体の第１の部位と第２の前記動作主体の第２の部位とを結ぶ線分上のカーソルを移動させる操作を行うことにより、前記重みづけは設定される、上記（１２）に記載のプログラム。
（１４）
前記オペレータが、前記設定用画面における、前記各動作主体の所定の前記部位を結ぶ多角形内のカーソルを移動させる操作を行うことにより、前記重みづけは設定される、上記（１２）に記載のプログラム。
（１５）
前記各動作主体のモーションをキャプチャする際に、前記各動作主体の２箇所以上の前記部位に装着された２以上の前記モーションセンサにより取得されたセンサデータに対して第１の処理を施して得られた第１の出力と、前記センサデータに対して第２の処理を施して得られた第２の出力とを参照して、前記モーションセンサが装着された前記部位の位置情報の補正を行う補正機能を、前記コンピュータに実現させる、
上記（２）に記載のプログラム。
（１６）
仮想空間におけるアバター又は実空間上のロボットのモーションを動的に制御する制御部を備え、
前記制御部は、
前記実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャし、
前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドし、
前記アバター又は前記ロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御する、
情報処理装置。
（１７）
実空間上の複数の動作主体に装着されたモーションセンサのそれぞれから当該各動作主体のモーションをキャプチャすることと、
前記複数の動作主体のモーションを所定のアルゴリズムに基づいてブレンドすることと、
仮想空間におけるアバター又は実空間上のロボットが前記複数の動作主体のモーションが反映されたモーションを行うように、ブレンド結果に基づいて、前記アバター又は前記ロボットのモーションを動的に制御することと、を含む情報処理方法。
【符号の説明】
【０２５８】
１０、１０Ａ、１０Ｂ、１０Ｃ、１０Ｄ、１０Ｅ、１０Ｆ  センサ装置
１２  ジャイロセンサ
１４  加速度センサ
１６  制御部
１８、３２  通信部
２０  ハブ装置
２２  通信部
２４、３４  制御部
３０  情報処理装置
４０  出力装置
５００ａ、５００ｂ  サイリウム
５１０  グローバル運動加速度姿勢計算部
５２０  積分計算部
５３０  選択部
５４０、５４１、５４４  装着位置回帰推定部
５５０  信頼度特定部
５６０  接地検出部
５７０、５７２、５７３、５７４  補正部
５８０、５８３  補間部
６１０  情報取得部
６２０  ブレンド率決定部
６３０  ブレンド部
６４０  動作制御部
８００、８１０、８２０、８３０  画面
８０２、８２２、８３２  マーカ
８０４、８２４、８３４  カーソル
９００  情報処理装置
９０１  ＣＰＵ
９０２  ＲＯＭ
９０３  ＲＡＭ
９０４  ブリッジ
９０４ａ  ホストバス
９０４ｂ  外部バス
９０５  インタフェース
９０６  入力装置
９０８  ストレージ装置
９０９  ドライブ
９１１  接続ポート
９１３  通信装置
９１５  センサ
９２０  ネットワーク
【図１】
2019203190.tif 000017
【図２】
2019203190.tif 000018
【図３】
2019203190.tif 000019
【図４】
2019203190.tif 000020
【図５】
2019203190.tif 000021
【図６】
2019203190.tif 000022
【図７】
2019203190.tif 000023
【図８】
2019203190.tif 000024
【図９】
2019203190.tif 000025
【図１０】
2019203190.tif 000026
【図１１】
2019203190.tif 000027
【図１２】
2019203190.tif 000028
【図１３】
2019203190.tif 000029
【図１４】
2019203190.tif 000030
【図１５】
2019203190.tif 000031
【図１６】
2019203190.tif 000032
【図１７】
2019203190.tif 000033
【図１８】
2019203190.tif 000034
【図１９】
2019203190.tif 000035
【図２０】
2019203190.tif 000036
【図２１】
2019203190.tif 000037
【図２２】
2019203190.tif 000038
【図２３】
2019203190.tif 000039
【図２４】
2019203190.tif 000040
【図２５】
2019203190.tif 000041
【図２６】
2019203190.tif 000042
【図２７】
2019203190.tif 000043
【図２８】
2019203190.tif 000044
【図２９】
2019203190.tif 000045
【図３０】
2019203190.tif 000046
【図３１】
2019203190.tif 000047
【図３２】
2019203190.tif 000048
【図３３】
2019203190.tif 000049
【図３４】
2019203190.tif 000050
【図３５】
2019203190.tif 000051
【図３６】
2019203190.tif 000052
【図３７】
2019203190.tif 000053
【図３８】
2019203190.tif 000054
【図３９】
2019203190.tif 000055
【図４０】
2019203190.tif 000056
【図４１】
2019203190.tif 000057
【図４２】
2019203190.tif 000058
【図４３】
2019203190.tif 000059
【図４４】
2019203190.tif 000060
【図４５】
2019203190.tif 000061
【国際調査報告】
2019203190.tif 000062
2019203190.tif 000063
2019203190.tif 000064
2019203190.tif 000065