WO2019035349A1 - 通信装置及び通信方法 - Google Patents

通信装置及び通信方法 Download PDF

Info

Publication number
WO2019035349A1
WO2019035349A1 PCT/JP2018/028553 JP2018028553W WO2019035349A1 WO 2019035349 A1 WO2019035349 A1 WO 2019035349A1 JP 2018028553 W JP2018028553 W JP 2018028553W WO 2019035349 A1 WO2019035349 A1 WO 2019035349A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
motion
communication
time
unit
Prior art date
Application number
PCT/JP2018/028553
Other languages
English (en)
French (fr)
Inventor
典之 鈴木
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Publication of WO2019035349A1 publication Critical patent/WO2019035349A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports

Abstract

本技術は、事象の検出結果を含む通信データの送信先で事象の検出時刻を容易に検出することができるようにする通信装置及び通信方法に関する。 通信装置は、所定の事象の検出結果を含む通信データが後段の装置に到着するまでに要する所要時間を推定する所要時間推定部と、前記通信データ、及び、前記所要時間を含む所要時間情報を前記後段の装置へ送信する送信部とを備える。本技術は、例えば、ユーザに装着されたセンサからのセンサデータに基づいて、ユーザのモーションを検出するシステムに適用できる。

Description

通信装置及び通信方法
 本技術は、通信装置及び通信方法に関し、特に、事象の検出結果を含む通信データの送受信を行う場合に用いて好適な通信装置及び通信方法に関する。
 従来、動作関連演算装置が、複数のユーザにそれぞれ装着したセンサ装置からの運動情報に基づいて、各ユーザの運動リズムを推定し、各ユーザの運動リズムと基本となる運動リズムとの間の相違度や、ユーザ間の運動リズムの相違度を計算し、その結果をユーザにフィードバックするシステムが提案されている(例えば、特許文献1参照)。
特開2011-87794号公報
 ところで、特許文献1に記載の発明において、動作関連演算装置が、各センサ装置における運動情報の検出時刻を正確に検出しようとした場合、例えば、各センサ装置の時計を同期させる必要がある。しかし、各センサ装置の時計を同期させるためには、例えば、センサ装置の電源を投入する毎に、各センサ装置と動作関連演算装置との間、又は、各センサ装置間で通信を行い、同期処理を行う必要が生じる。
 本技術は、このような状況に鑑みてなされたものであり、事象の検出結果を含む通信データの送信先で事象の検出時刻を容易に検出できるようにするものである。
 本技術の第1の側面の通信装置は、所定の事象の検出結果を含む通信データが後段の装置に到着するまでに要する第1の所要時間を推定する所要時間推定部と、前記通信データ、及び、前記第1の所要時間を含む所要時間情報を前記後段の装置へ送信する送信部とを備える。
 本技術の第1の側面の通信方法は、通信装置が、所定の事象の検出結果を含む通信データが後段の装置に到着するまでに要する所要時間を推定し、前記通信データ、及び、前記所要時間を含む所要時間情報を前記後段の装置へ送信する。
 本技術の第2の側面の通信装置は、所定の事象の検出結果を含む通信データ、及び、前記通信データが到着するまでに要する所要時間を含む所要時間情報を受信する受信部と、前記所要時間情報に基づいて、前記事象が検出された時刻を算出する時刻算出部とを備える。
 本技術の第2の側面の通信方法は、通信装置が、所定の事象の検出結果を含む通信データ、及び、前記通信データが到着するまでに要する所要時間を含む所要時間情報を受信し、前記所要時間情報に基づいて、前記事象が検出された時刻を算出する。
 本技術の第1の側面においては、所定の事象の検出結果を含む通信データが後段の装置に到着するまでに要する所要時間が推定され、前記通信データ、及び、前記所要時間を含む所要時間情報が前記後段の装置へ送信される。
 本技術の第2の側面においては、所定の事象の検出結果を含む通信データ、及び、前記通信データが到着するまでに要する所要時間を含む所要時間情報が受信され、前記所要時間情報に基づいて、前記事象が検出された時刻が算出される。
 本技術の第1の側面又は第2の側面によれば、事象の検出結果を含む通信データの送信先で事象の検出時刻を容易に検出することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載された何れかの効果であってもよい。
本技術を適用したモーション認識システムの第1の実施の形態を示すブロック図である。 ウエアラブルセンサの装着位置の例を示す図である。 ウエアラブルセンサの第1の実施の形態を示すブロック図である。 ウエアラブルセンサが備えるセンサの仕様例を示す表である。 モーション認識装置の第1の実施の形態を示すブロック図である。 ウエアラブルセンサの処理の第1の実施の形態を説明するためのフローチャートである。 通信パケットのフォーマットの第1の実施の形態を示す図である。 動き検出データの構成例を示す表である。 モーション認識装置の処理の第1の実施の形態を説明するためのフローチャートである。 フィギュアスケートにおいてモーションの認識を行う場合の例を示す図である。 ダンスの技の例を示す図である。 ダンスの技の例を示す図である。 本技術を適用した学習システムの構成例を示すブロック図である。 情報処理装置の構成例を示すブロック図である。 学習処理部の構成例を示すブロック図である。 モーション登録処理を説明するためのフローチャートである。 モーション登録処理のユーザインタフェースの例を示す図である。 ダンスのジャンルの階層構造を示す図である。 ダンスの技の階層構造を示す図である。 学習データの例を示す図である。 データ欠損率とモーションの認識精度の関係を示すグラフである。 通信パケットの再送回数、データ欠損率、最大遅延時間、及び、モーションの認識精度の関係を示す表である。 モーション認識のリアルタイム性に寄与する要素を説明するための図である。 本技術を適用したモーション認識システムの第2の実施の形態を示すブロック図である。 ウエアラブルセンサの第2の実施の形態を示すブロック図である。 モーション認識装置の第2の実施の形態を示すブロック図である。 モーション認識装置の処理の第2の実施の形態を説明するためのフローチャートである。 ウエアラブルセンサの処理の第2の実施の形態を説明するためのフローチャートである。 通信パケットのフォーマットの第2の実施の形態を示す図である。 モーション認識装置と各ウエアラブルセンサとの間の通信を示すシーケンス図である。 本技術を適用したモーション認識システムの第3の実施の形態を示すブロック図である。 ウエアラブルセンサの第3の実施の形態を示すブロック図である。 モーション認識装置の第3の実施の形態を示すブロック図である。 ウエアラブルセンサの処理の第3の実施の形態を説明するためのフローチャートである。 通信パケットのフォーマットの第3の実施の形態を示す図である。 モーション認識装置の処理の第3の実施の形態を説明するためのフローチャートである。 本技術を適用したモーション認識システムの第4の実施の形態を示すブロック図である。 中継器の構成例を示すブロック図である。 中継器の処理を説明するためのフローチャートである。 通信パケットのフォーマットの第4の実施の形態を示す図である。 本技術を適用した演出システムの構成例を示すブロック図である。 演出制御部の構成例を示すブロック図である。 演出制御処理を説明するためのフローチャートである。 モーションの遷移と効果音の関係を示す遷移図である。 効果音が出力されるタイミングの例を示す図である。 本技術を適用した解析システムの構成例を示すブロック図である。 解析処理部の構成例を示すブロック図である。 解析処理を説明するためのフローチャートである。 解析処理の提示方法の第1の例を示す図である。 行動解析部の表示内容を拡大した図である。 解析処理の提示方法の第2の例を示す図である。 解析処理の提示方法の第3の例を示す図である。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.第1の実施の形態(モーション認識システム及び学習システム)
 2.第2の実施の形態(モーション認識システム)
 3.第3の実施の形態(モーション認識システム)
 4.第4の実施の形態(モーション認識システム)
 5.第5の実施の形態(演出システム)
 6.第6の実施の形態(解析システム)
 7.適用例
 8.変形例
 9.その他
 <<1.第1の実施の形態>>
 まず、図1乃至図23を参照して、本技術の第1の実施の形態について説明する。
 <モーション認識システムの第1の実施の形態>
 図1は、本技術を適用したモーション認識システムの第1の実施の形態であるモーション認識システム100の構成例を示している。
 モーション認識システム100は、ユーザのモーションの認識処理を行うシステムである。
 ここで、モーションとは、例えば、所定の分類に基づく、ユーザ(人)の行動を構成する動きの単位のことである。従って、モーションは、行動よりも短時間のユーザの動きとなる。また、モーションは、ユーザの全身の動きであってもよいし、ユーザの体の一部の動きであってもよい。
 一方、行動とは、所定の分類に基づく、一連のモーションの集合体であり、複数のモーションの組み合わせからなる。例えば、所定の目的を達成するための一連のモーションの集合体が行動となる。
 なお、本技術において、行動及びモーションの分類は、任意に設定したり変更したりすることが可能である。例えば、ダンス、アイススケート、ラグビー、トライアスロン、水泳、登山等のスポーツの種目に基づいて、モーションを認識する対象となる行動が分類される。この場合、例えば、体操総合のように複数の種目を組み合わせたスポーツを、1つの行動とみなすことも可能である。
 また、例えば、通勤、運転、仕事、勉強、育児、睡眠、料理、食べる、TVを観る、歌う、演奏する、撮影する等の日常生活の行動に基づいて、モーションを認識する対象となる行動が分類される。
 一方、例えば、ダンスという行動に対して、スライド、ジャーク、ビズマーキー等のダンスの技に基づいて、認識対象となるモーションが分類される。或いは、ダンスという行動に対して、回転、跳躍、ステップ、横揺れ、縦揺れ等のダンスの動きに基づいて、認識対象となるモーションが分類される。なお、ダンスの技及び動きの両方に基づいて、認識対象となるモーションが分類されてもよい。
 例えば、フィギュアスケートという行動に対して、アクセル、ルッツ、サルコウ等のフィギュアスケートの技に基づいて、認識対象となるモーションが分類される。或いは、フィギュアスケートという行動に対して、滑る、回転する、跳ぶ、ステップする等のフィギュアスケートの動きに基づいて、認識対象となるモーションが分類される。なお、フィギュアスケートの技及び動きの両方に基づいて、認識対象となるモーションが分類されてもよい。
 例えば、ラグビーという行動に対して、スクラム、トライ、ラン、パス、タックル等のラグビー特有の動きに基づいて、認識対象となるモーションが分類される。或いは、例えば、ラグビーという行動に対して、走る、跳ぶ、投げる、捕る、ぶつかる等の一般的な動きに基づいて、認識対象となるモーションが分類される。なお、ラグビー特有の動き及び一般的な動きの両方に基づいて、認識対象となるモーションが分類されてもよい。
 例えば、水泳という行動に対して、クロール、平泳ぎ、バタフライ、背泳ぎ等の水泳の泳法に基づいて、認識対象となるモーションが分類される。或いは、例えば、水泳という行動に対して、飛び込み、ターン、息継ぎ、キック等の水泳の動きに基づいて、認識対象となるモーションが分類される。なお、水泳の泳法及び動きの両方に基づいて、認識対象となるモーションが分類されてもよい。
 例えば、トライアスロンという行動に対して、スイミング、サイクリング、ランニングのトライアスロンの種目に基づいて、認識対象となるモーションが分類される。
 例えば、体操総合という行動に対して、あん馬、床、吊り輪等の体操の種目に基づいて、認識対象となるモーションが分類される。
 例えば、通勤という行動に対して、歩く、休む、電車に乗る、階段を登る等の通勤時の動きに基づいて、認識対象となるモーションが分類される。
 例えば、運転という行動に対して、アクセル、ブレーキ、ギア変更、後方確認等の運転時の動きに基づいて、認識対象となるモーションが分類される。
 例えば、仕事という行動に対して、話す、聞く、書く、電話、PCを使う、打合せ等の仕事時の動きに基づいて、認識対象となるモーションが分類される。
 なお、同じユーザの動きが、分類の違いにより、行動にもモーションにもなり得る。例えば、トライアスロンの各種目(スイミング、サイクリング、ランニング)は、それぞれ単独でモーションを認識する対象となる行動にもなり得る。すなわち、スイミング、サイクリング、又は、ランニングが行動に分類され、各行動に対してモーションの認識処理が行われる場合がある。
 モーション認識システム100は、ウエアラブルセンサ101-1乃至ウエアラブルセンサ101-6、及び、モーション認識装置102を備える。
 なお、以下、ウエアラブルセンサ101-1乃至ウエアラブルセンサ101-6を個々に区別する必要がない場合、単にウエアラブルセンサ101と称する。
 各ウエアラブルセンサ101は、モーションを認識する対象となるユーザの互いに異なる位置(以下、検出ポイント又は検出位置と称する)に装着され、各検出ポイントの動きを検出するセンサ装置である。各ウエアラブルセンサ101は、各検出ポイントの動きの検出結果を示す動き検出データを含む通信パケットをモーション認識装置102に送信する。
 モーション認識装置102は、例えば、ユーザから離れた位置に設置される。そして、モーション認識装置102は、各ウエアラブルセンサ101により検出されたユーザの各検出ポイントの動きに基づいて、ユーザのモーションの認識処理を行う。モーション認識装置102は、ユーザのモーションに対応する処理の制御に用いる制御データ(以下、モーション制御データと称する)を後段の装置に送信する。
 なお、各ウエアラブルセンサ101とモーション認識装置102との間の通信には、例えば、任意の方式の低遅延の近距離無線通信が採用される。近距離無線通信を採用することにより、ウエアラブルセンサ101の消費電力を削減するとともに、ウエアラブルセンサ101を小型化することが可能になる。
 また、モーション認識装置102と後段の装置との間の通信には、例えば、任意の方式の無線通信又は有線通信が採用される。
 <各ウエアラブルセンサ101の装着位置の例>
 図2は、各ウエアラブルセンサ101の装着位置(検出ポイント)の例を模式的に示している。なお、図中、各ウエアラブルセンサ101の装着位置を円で示している。
 例えば、ウエアラブルセンサ101-1は、ユーザの頭部に装着され、頭部の動きを検出する。ウエアラブルセンサ101-2は、ユーザの腰に装着され、腰の動きを検出する。すなわち、ウエアラブルセンサ101-1及びウエアラブルセンサ101-2により、ユーザの体幹の動き、重心、姿勢等が検出される。
 ウエアラブルセンサ101-3は、ユーザの左手首に装着され、左手首の動きを検出する。ウエアラブルセンサ101-4は、ユーザの右手首に装着され、右手首の動きを検出する。すなわち、ウエアラブルセンサ101-3及びウエアラブルセンサ101-4により、ユーザの両手の動きや手首のスナップ等が検出される。
 ウエアラブルセンサ101-5は、ユーザの左足首に装着され、左足首の動きを検出する。ウエアラブルセンサ101-6は、ユーザの右足首に装着され、右足首の動きを検出する。すなわち、ウエアラブルセンサ101-5及びウエアラブルセンサ101-6により、ユーザの両足の動きやステップ等が検出される。
 そして、ユーザの体幹、両手、及び、両足の相互の動きの連動性に基づいて、ユーザのモーションが認識される。
 なお、図1及び図2のウエアラブルセンサ101の装着数及び装着位置は、その一例であり、認識対象となるモーションの種類等により適宜変更される。例えば、ウエアラブルセンサ101は、ユーザの頭部、胴体、左手、右手、左足、及び、右足のうちの2カ所以上に装着される。
 なお、一般的に、ウエアラブルセンサ101の装着数が多くなるほど、モーションの認識精度が向上する一方、ユーザに与える負荷が大きくなる。一方、ウエアラブルセンサ101の装着数が少なくなるほど、ユーザに与える負荷が小さくなる一方、モーションの認識精度が低下する。
 また、ウエアラブルセンサ101の装着方法は、特に限定されない。例えば、バンド、ベルト、サポータ、テープ、クリップ等が用いられる。なお、各検出ポイントの動きを高精度に検出できるように、ユーザの動きを阻害したり、ユーザに不快感を与えたりしない程度に、できる限り各ウエアラブルセンサ101の装着位置が動かないようにすることが望ましい。
 <ウエアラブルセンサ101の構成例>
 図3は、図1のウエアラブルセンサ101の構成例を示している。また、図4は、ウエアラブルセンサ101の各センサの仕様の例を示している。
 ウエアラブルセンサ101は、HDR(High Dynamic Range)加速度センサ131、LDR(Low Dynamic Range)加速度センサ132、HDR(High Dynamic Range)ジャイロセンサ133、LDR(Low Dynamic Range)ジャイロセンサ134、地磁気センサ135、歪みセンサ136、気圧センサ137、時刻情報取得部138、センサデータ取得部139、マージ処理部140、姿勢検出部141、補正部142、バッファ143、パケット生成部144、送信制御部145、及び、送信部146を備える。
 HDR加速度センサ131は、ウエアラブルセンサ101が装着されている位置(検出ポイント)のピッチ軸(x軸)、ロール軸(y軸)、及び、ヨー軸(z軸)の3軸方向の加速度の検出を行う。例えば、HDR加速度センサ131は、1024Hzのサンプリング周波数で検出ポイントの加速度をサンプリングし、16ビット×3軸のセンサデータ(以下、HDR加速度データと称する)を出力する。
 LDR加速度センサ132は、検出ポイントのピッチ軸、ロール軸、及び、ヨー軸の3軸方向の加速度の検出を行う。例えば、LDR加速度センサ132は、1024Hzのサンプリング周波数で検出ポイントの加速度をサンプリングし、16ビット×3軸のセンサデータ(以下、LDR加速度データと称する)を出力する。
 なお、HDR加速度センサ131の方がLDR加速度センサ132より検出可能な加速度のダイナミックレンジが広い。例えば、HDR加速度センサ131は±32G、LDR加速度センサ132は±16Gでセンサデータを出力する。
 HDRジャイロセンサ133は、検出ポイントのピッチ軸回り、ロール軸回り、及び、ヨー軸回りの3軸回りの角速度の検出を行う。例えば、HDRジャイロセンサ133は、1024Hzのサンプリング周波数で検出ポイントの角速度をサンプリングし、16ビット×3軸のセンサデータ(以下、HDR角速度データと称する)を出力する。
 LDRジャイロセンサ134は、検出ポイントのピッチ軸回り、ロール軸回り、及び、ヨー軸回りの3軸回りの角速度の検出を行う。例えば、LDRジャイロセンサ134は、1024Hzのサンプリング周波数で検出ポイントの角速度をサンプリングし、16ビット×3軸のセンサデータ(以下、LDR角速度データと称する)を出力する。
 なお、HDRジャイロセンサ133の方がLDRジャイロセンサ134より検出可能な角速度のダイナミックレンジが広い。例えば、HDRジャイロセンサ133は±4000dps、LDRジャイロセンサ134は±2000dpsでセンサデータを出力する。
 地磁気センサ135は、検出ポイント周辺のピッチ軸、ロール軸、及び、ヨー軸の3軸方向の地磁気の検出を行う。例えば、地磁気センサ135は、128Hzのサンプリング周波数で検出ポイント周辺の地磁気をサンプリングし、16ビット×3軸のセンサデータ(以下、地磁気データと称する)を出力する。
 歪みセンサ136は、検出ポイントのピッチ軸及びロール軸の2軸方向の歪み(例えば、検出ポイントの伸縮等)を検出する。例えば、歪みセンサ136は、256Hzのサンプリング周波数で検出ポイントの歪みをサンプリングし、16ビット×2軸のセンサデータ(以下、歪みデータと称する)を出力する。
 気圧センサ137は、検出ポイント周辺の気圧を検出する。例えば、検出ポイント周辺の気圧に基づいて、検出ポイントの高さ方向の位置が検出される。例えば、気圧センサ137は、128Hzのサンプリング周波数で検出ポイント周辺の気圧をサンプリングし、24ビットのセンサデータ(以下、気圧データと称する)を出力する。
 時刻情報取得部138は、例えば時計等により構成され、現在時刻を示す時刻情報を取得し、センサデータ取得部139に供給する。
 センサデータ取得部139は、HDR加速度センサ131、LDR加速度センサ132、HDRジャイロセンサ133、及び、LDRジャイロセンサ134からそれぞれHDR加速度データ、LDR加速度データ、HDR角速度データ、及び、LDR角速度データを取得し、取得したデータに取得した時刻を付加してマージ処理部140に供給する。また、センサデータ取得部139は、地磁気センサ135から地磁気データを取得し、取得したデータに取得した時刻を付加して姿勢検出部141に供給する。さらに、センサデータ取得部139は、歪みセンサ136及び気圧センサ137からそれぞれ歪みデータ及び気圧データを取得し、取得したデータに取得した時刻を付加して補正部142に供給する。
 マージ処理部140は、HDR加速度データとLDR加速度データのマージ処理、及び、HDR角速度データとLDR角速度データのマージ処理を行う。マージ処理部140は、マージ後の加速度データ及び角速度データを姿勢検出部141及びバッファ143に供給する。
 姿勢検出部141は、加速度データ、角速度データ、及び、地磁気データに基づいて、検出ポイントの姿勢の検出を行う。検出ポイントの姿勢は、例えば、オイラー角により表される。姿勢検出部141は、計算結果を示すデータ(以下、姿勢データと称する)をバッファ143に供給する。
 補正部142は、歪みデータ及び気圧データの補正を行い、補正後の歪みデータ及び気圧データをバッファ143に供給する。
 バッファ143は、姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データを一時的に蓄積する。
 パケット生成部144は、バッファ143に蓄積されている姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データを含むデータ(以下、動き検出データと称する)を送信するための通信パケットを生成し、送信制御部145に供給する。
 送信制御部145は、送信部146による通信パケットの送信を制御する。
 送信部146は、所定の方式の無線通信により通信パケットをモーション認識装置102に送信する。
 なお、図示を省略しているが、ウエアラブルセンサ101の各部は、例えば、バッテリにより駆動される。
 <モーション認識装置102の構成例>
 図5は、モーション認識装置102の構成例を示している。
 モーション認識装置102は、受信部161、パケット復元部162、バッファ163、サンプルデータ生成部164、モーション認識部165、送信制御部166、及び、送信部167を備える。
 受信部161は、各ウエアラブルセンサ101の送信部146と対応する方式の無線通信により、各ウエアラブルセンサ101から通信パケットを受信し、パケット復元部162に供給する。
 パケット復元部162は、各ウエアラブルセンサ101の通信パケットの復元を行い、通信パケットに含まれる動き検出データとタイムスタンプを関連付けて、バッファ163に供給する。
 バッファ163は、各ウエアラブルセンサ101の通信パケットから抽出された動き検出データ及びタイムスタンプを一時的に蓄積する。
 サンプルデータ生成部164は、バッファ163に蓄積されている動き検出データを用いて、モーション認識処理に用いるサンプルデータを生成し、モーション認識部165に供給する。
 モーション認識部165は、ユーザのモーションの認識に用いるモデルであるモーション認識モデルを用いて、サンプルデータに基づいて、ユーザのモーションの認識処理を行う。モーション認識部165はユーザのモーションの認識結果を送信制御部166に供給する。
 送信制御部166は、ユーザのモーションの認識結果に基づいて、モーション制御データを生成し、送信部167によるモーション制御データの送信を制御する。すなわち、送信制御部166は、モーション認識装置102からのモーション制御データの出力を制御する。
 送信部167は、所定の方式の無線通信又は有線通信により、モーション制御データを後段の装置に送信する。
 <ウエアラブルセンサ101の処理>
 次に、図6のフローチャートを参照して、ウエアラブルセンサ101の処理について説明する。この処理は、例えば、ウエアラブルセンサ101の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS1において、センサデータ取得部139は、センサデータの取得を開始する。
 具体的には、センサデータ取得部139は、HDR加速度センサ131、LDR加速度センサ132、HDRジャイロセンサ133、及び、LDRジャイロセンサ134からそれぞれHDR加速度データ、LDR加速度データ、HDR角速度データ、及び、LDR角速度データを取得し、取得したデータに取得した時刻を付加してマージ処理部140に供給する処理を開始する。また、センサデータ取得部139は、地磁気センサ135から地磁気データを取得し、取得したデータに取得した時刻を付加して姿勢検出部141に供給する処理を開始する。さらに、センサデータ取得部139は、歪みセンサ136及び気圧センサ137からそれぞれ歪みデータ及び気圧データを取得し、取得したデータに取得した時刻を付加して補正部142に供給する処理を開始する。
 ステップS2において、マージ処理部140は、加速度データ及び角速度データのマージ処理を開始する。
 具体的には、マージ処理部140は、HDR加速度データとLDR加速度データをマージし(合成し)、マージ後の加速度データをバッファ143に供給し、蓄積させる処理を開始する。
 なお、マージ後の加速度データのうち、LDR加速度データのダイナミックレンジの範囲内のデータには、LDR加速度データに基づくデータが使用され、それ以外の範囲のデータには、HDR加速度データに基づくデータが使用される。これにより、マージ後の加速度データにおいて、LDR加速度データのダイナミックレンジの範囲内の加速度の検出精度が向上する。
 また、マージ処理部140は、HDR角速度データとLDR角速度データをマージし(合成し)、マージ後の角速度データをバッファ143に供給し、蓄積させる処理を開始する。
 なお、マージ後の角速度データのうち、LDR角速度データのダイナミックレンジの範囲内のデータには、LDR角速度データに基づくデータが使用され、それ以外の範囲のデータには、HDR角速度データに基づくデータが使用される。これにより、マージ後の角速度データにおいて、LDR角速度データのダイナミックレンジの範囲内の角速度の検出精度が向上する。
 ステップS3において、姿勢検出部141は、姿勢の検出を開始する。具体的には、姿勢検出部141は、加速度データ、角速度データ、及び、地磁気データに基づいて、検出ポイントの姿勢を示すピッチ軸回り、ロール軸回り、及び、ヨー軸回りの3軸回りのオイラー角を検出する処理を開始する。また、姿勢検出部141は、検出結果を示す姿勢データをバッファ143に供給し、蓄積させる処理を開始する。
 ステップS4において、補正部142は、歪みデータ及び気圧データの補正を開始する。例えば、補正部142は、歪みデータ及び気圧データのノイズ除去、データサイズの変換等の処理を開始する。また、補正部142は、補正後の歪みデータ及び気圧データをバッファ143に供給し、蓄積させる処理を開始する。
 ステップS5において、パケット生成部144は、通信パケットを送信するタイミングであるか否かを判定する。この判定処理は、通信パケットを送信するタイミングであると判定されるまで繰り返し実行され、通信パケットを送信するタイミングであると判定された場合、処理はステップS6に進む。
 なお、例えば、通信パケットは、所定の間隔で送信される。例えば、通信パケットは、128Hzの送信頻度で(すなわち、1秒間に128回)送信される。この場合、通信パケットに含まれる動き検出データのサンプリング周波数は128Hzとなる。
 ステップS6において、パケット生成部144は、通信パケットを生成する。例えば、パケット生成部144は、最新の姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データをバッファ143から読み出す。また、パケット生成部144は、現在時刻を示す時刻情報を時刻情報取得部138から取得する。そして、パケット生成部144は、バッファ143から読み出した姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データを含む通信パケットを生成する。
 図7は、パケット生成部144により生成される通信パケットのフォーマットの例を示している。通信パケットは、ヘッダ、タイムスタンプ、及び、動き検出データを含む。
 タイムスタンプには、例えば、センサデータを取得した時刻が設定される。なお、センサデータを取得した時刻には、例えば、通信パケット内の動き検出データに用いられた各センサデータの取得時刻のうち、最も早い時刻が設定される。また、例えば、動き検出データに含まれる各データの取得タイミングが異なる場合、データ毎にタイムスタンプ(センサデータを取得した時刻)を通信パケットに格納するようにしてもよい。この場合、通信パケットのフォーマットは、例えば、ヘッダ、タイムスタンプ1、動き検出データに含まれるデータ1(例えば、姿勢データ)、タイムスタンプ2、動き検出データに含まれるデータ2(例えば、加速度データ)、・・・のようになる。
 動き検出データには、バッファ143から読み出された姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データが含まれる。なお、動き検出データは、例えば、所定の方式により暗号化される。
 図8は、動き検出データに含まれる各データの仕様例を示している。
 姿勢データのサイズは、例えば、16ビット×3軸とされる。通信パケットの送信頻度が128Hzの場合、姿勢データのサンプリング周波数は128Hzとなり、ビットレートは6,144bps(bit per second)となる。
 加速度データのサイズは、例えば、20ビット×3軸とされる。通信パケットの送信頻度が128Hzの場合、加速度データのサンプリング周波数は128Hzとなり、ビットレートは7,680bpsとなる。
 角速度データのサイズは、例えば、20ビット×3軸とされる。通信パケットの送信頻度が128Hzの場合、角速度データのサンプリング周波数は128Hzとなり、ビットレートは7,680bpsとなる。
 歪みデータのサイズは、例えば、16ビット×2軸とされる。通信パケットの送信頻度が128Hzの場合、歪みデータのサンプリング周波数は128Hzとなり、ビットレートは4,096bpsとなる。
 気圧データのサイズは、例えば、24ビットとされる。通信パケットの送信頻度が128Hzの場合、気圧データのサンプリング周波数は128Hzとなり、ビットレートは2,048bpsとなる。
 パケット生成部144は、通信パケットを送信制御部145に供給する。また、パケット生成部144は、通信パケットにより送信する各データ、及び、それより古いデータをバッファ143から削除する。
 ステップS7において、送信部146は、送信制御部145の制御の下に、通信パケットをモーション認識装置102に送信する。
 その後、処理はステップS5に戻り、ステップS5以降の処理が実行される。
 <モーション認識装置102の処理>
 次に、図9のフローチャートを参照して、図6の各ウエアラブルセンサ101の処理に対応してモーション認識装置102により実行される処理について説明する。この処理は、例えば、モーション認識装置102の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS31において、受信部161は、通信パケットの受信を開始する。すなわち、受信部161は、各ウエアラブルセンサ101から送信されてくる通信パケットを受信し、受信した通信パケットをパケット復元部162に供給する処理を開始する。
 ステップS32において、パケット復元部162は、通信パケットの復元を開始する。例えば、パケット復元部162は、各ウエアラブルセンサ101から受信した通信パケットに含まれる動き検出データの復号等を行った後、動き検出データと通信パケットに含まれるタイムスタンプとを関連付けて、バッファ163に供給し、蓄積させる処理を開始する。
 ステップS33において、サンプルデータ生成部164は、モーション認識処理を行うタイミングであるか否かを判定する。この判定処理は、モーション認識処理を行うタイミングであると判定されるまで繰り返し実行され、モーション認識処理を行うタイミングであると判定された場合、処理はステップS34に進む。
 なお、例えば、モーション認識処理は、所定の間隔で実行される。例えば、モーション認識処理は、通信パケットの送信頻度と同じ頻度で(例えば、1秒間に128回)実行される。
 ステップS34において、サンプルデータ生成部164は、タイムスタンプが近い動き検出データを抽出する。
 例えば、サンプルデータ生成部164は、バッファ163に蓄積されている各動き検出データのタイムスタンプに基づいて、現在の時刻から過去の方向に遡りながら、全ての検出ポイントの動き検出データのタイムスタンプが所定の時間(例えば、数ミリ秒)の範囲内に収まる時間帯を検出する。そして、サンプルデータ生成部164は、タイムスタンプがその時間帯に含まれる動き検出データを抽出する。これにより、タイムスタンプが近い動き検出データが検出ポイント毎に1つずつ抽出される。すなわち、各検出ポイントにおいてほぼ同じタイミングで検出された動きに対応する動き検出データが抽出される。
 なお、全ての検出ポイントの動き検出データのタイムスタンプが所定の時間の範囲内に収まる時間帯が検出されなかった場合、例えば、検出データの数が最大になる時間帯を検出し、その時間帯の動き検出データを抽出するようにしてもよい。この場合、一部の検出ポイントの動き検出データが欠落した状態になる。或いは、全ての検出ポイントの動き検出データが抽出されるように、動き検出データを抽出する時間帯の幅を広げるようにしてもよい。
 ステップS35において、サンプルデータ生成部164は、抽出した動き検出データを用いてサンプルデータを生成する。具体的には、サンプルデータ生成部164は、ステップS34の処理で抽出した各検出ポイントの動き検出データを含むサンプルデータを生成し、モーション認識部165に供給する。また、サンプルデータ生成部164は、抽出した動き検出データ、及び、抽出した動き検出データよりタイムスタンプが古い動き検出データをバッファ163から削除する。
 ステップS36において、モーション認識部165は、サンプルデータに基づいて、モーション認識処理を行う。例えば、モーション認識部165は、モーション認識モデルを用いて、ユーザの各検出ポイントの姿勢、加速度、角速度、歪み(伸縮)、及び、気圧(高さ)に基づいて、ユーザのモーションを認識する。
 なお、モーション認識モデルは、例えば、ユーザの各検出ポイント間の動きの関係(例えば、各検出ポイントの連動性等)に基づいて、ユーザのモーションの認識を行うモデルである。モーション認識モデルは、例えば、事前の学習処理により生成される。モーション認識モデルの学習方法には、再帰型ニューラルネットワーク(RNN)等の任意の方法を採用することが可能である。
 モーション認識部165は、ユーザのモーションの認識結果を送信制御部166に供給する。
 ステップS37において、モーション認識装置102は、認識結果を送信する。具体的には、送信制御部166は、ユーザのモーションの認識結果に基づいて、モーション制御データを生成し、送信部167に供給する。
 なお、モーション制御データは、例えば、ユーザのモーションの認識結果、及び、認識されたモーションに対応する処理の制御情報のうち少なくとも1つを含む。
 また、モーション制御データに、モーション認識に用いられた各検出ポイントの動き検出データを含ませるようにしてもよい。これにより、後段の装置において、動き検出データに基づいて、認識されたモーションの詳細を検出することが可能になる。
 そして、送信部167は、モーション制御データを後段の装置、例えば、スマートフォン、パーソナルコンピュータ、各種のシステム等に送信する。
 なお、モーション制御データの送信を、間欠送信により行うようにしてもよい。例えば、モーションの認識結果が変化したタイミングで、モーション制御データを送信するようにしてもよい。これにより、モーション認識装置102の消費電力を削減することができる。
 また、モーション制御データの送信プロトコルには、例えば、HID(Human Interface Device)やMIDI(Music Instrument Digital Interface)等の汎用のプロトコルを用いてもよい。これにより、後段の装置において、既存のソフトウエア等を使用することが可能になる。
 その後、処理はステップS33に戻り、ステップS33以降の処理が実行される。
 以上のようにして、ユーザのモーションを容易かつ正確に認識することができる。
 例えば、図10に示されるように、ユーザがフィギュアスケートを行っている場合に、トリプルアクセル等の個々の技を認識するとともに、その技を行っている期間を検出することができる。
 或いは、例えば、ユーザの行動を構成する「立つ」、「かがむ」、「座る」、「起き上がる」、「寝ころぶ」、「歩く」、「走る」、「止まる」、「跳ねる」、「這う」、「くぐる」、「振る」、「投げる」、「蹴る」等の個々の動きを容易かつ正確に認識することができる。
 なお、モーション認識システム100は、ユーザのモーションの種類(例えば、モーションの意味情報)までを認識し、各モーションの詳細な動きの認識は行わない。
 例えば、ユーザがダンスを行っている場合、図11及び図12に示されるように、ポップコーン、スライド、ラコステ、バートシンプソン、フォーシング、ブルックリン、ジャーク、ビズマーキー、ワーム、フロントグルーブ、ジャンプ等のダンスの個々の技の種類が認識される。一方、個々の技における動きの違いまでは認識されない。すなわち、ユーザが同じダンスの技を手足の動きやリズムを変えて行っても、同じダンスの技として認識され、それ以上の違いは認識されない。
 なお、このように、所定の分類に基づくユーザのモーションの種類までの認識に限定することにより、ウエアラブルセンサ101の装着数を少なくすることができる。その結果、CG(Computer Graphics)等で用いられる従来のモーションキャプチャシステムと比較して、ユーザの負担を軽減することができる。例えば、ユーザは、ウエアラブルセンサ101を装着しても、動きがほとんど制約されずに、ほぼ普段通りの動きをすることが可能になる。
 また、従来のモーションキャプチャシステムでは、ユーザの全身の位置や姿勢の情報が出力される。そして、例えば、アプリケーションプログラムの開発者は、その情報に基づいてユーザのモーションを認識するためのアルゴリズムを独自に開発して、アプリケーションプログラムに組み込む必要がある。
 一方、モーション認識システム100では、モーションの種類まで認識され出力されるため、アプリケーションプログラムの開発者の負荷が軽減される。
 また、例えば、カメラを設置して撮影された映像に基づいて、ユーザのモーションを認識する方法と比較して、モーション認識を行う場所や環境等の制約が少なくなる。
 例えば、カメラの設置位置、撮影範囲、撮影条件等を気にせずに、モーション認識を行うことが可能になる。例えば、カメラの撮影範囲やオクルージョンを気にせずに、ユーザが自由に行動しながら、モーション認識を行うことが可能になる。例えば、暗所、海上(例えば、ウインドサーフィン等)等におけるユーザのモーションを認識することができる。また、例えば、認識対象となるユーザは、ステージのセットや背景等との関係を気にせずに、所望の色やデザインの服装やコスチュームを身に付けることができる。また、例えば、ステージの構造や演出等によりカメラの設置位置が制限され、その結果、ユーザのモーションの認識可能な範囲が制限されることもない。
 また、ユーザ毎にモーション認識システム100を設けることにより、他のユーザの影響を受けることなく、各ユーザのモーションを個別に認識することができる。例えば、集団でのダンスパフォーマンスにおいて、個々のパフォーマのモーションを認識したり、特定のパフォーマのモーションを認識したりすることができる。
 また、ウエアラブルセンサ101の各センサのサンプリング周波数が、一般的なカメラのフレームレートより高速であるため、より高速なユーザのモーションを認識することが可能である。例えば、ダンスのターンやステップ等の高速な動きを正確に認識することができる。
 なお、モーション認識システム100にカメラを設けて、カメラで撮影した映像に基づいて、ユーザの位置を検出するようにしてもよい。或いは、ウエアラブルセンサ101の少なくとも1つに、GNSS(Global Navigation Satellite System)受信機等のユーザの位置情報を検出可能なデバイスを設け、ユーザの位置を検出するようにしてもよい。これにより、モーションの認識結果と位置情報の検出結果に基づいて、ユーザの動きをより詳細に検出することが可能になる。
 <学習システムの構成例>
 図13は、本技術を適用した学習システムの一実施の形態である学習システム200の構成例を示している。なお、図中、図1のモーション認識システム100と対応する部分には同じ符号を付してあり、その説明は適宜省略する。
 学習システム200は、モーション認識装置102のモーション認識部165に適用するモーション認識モデルの学習処理を行うシステムである。
 学習システム200は、ウエアラブルセンサ101-1乃至ウエアラブルセンサ101-6及び学習処理装置201を備える。
 学習処理装置201は、各ウエアラブルセンサ101から送信されてくる通信パケットに含まれる動き検出データに基づいて、モーション認識モデルの学習処理を行う。
 <情報処理装置の構成例>
 図14は、図13の学習処理装置201に適用可能な情報処理装置220の構成例を示している。
 情報処理装置220は、例えば、パーソナルコンピュータ、スマートフォン、タブレット等により構成される。情報処理装置220は、CPU(Central Processing Unit)221、ROM(Read Only Memory)222、RAM(Random Access Memory)223、バス224、入出力インタフェース225、入力部226、出力部227、記憶部228、通信部229、ドライブ230、及び、リムーバブルメディア231を備える。
 CPU221、ROM222、及び、RAM223は、バス224により相互に接続されている。バス224には、さらに、入出力インタフェース225が接続されている。入出力インタフェース225には、入力部226、出力部227、記憶部228、通信部229、及び、ドライブ230が接続されている。
 入力部226は、例えば、キーボード、マウス、マイクロフォン等を備える。
 出力部227は、例えば、ディスプレイ、スピーカ等を備える。
 記憶部228は、例えば、ハードディスクや不揮発性のメモリ等を備える。
 通信部229は、例えば、無線又は有線の通信装置、ネットワークインタフェース等を備える。
 ドライブ230は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア231を駆動する。
 情報処理装置220では、CPU221が、例えば、記憶部228に記憶されているプログラムを、入出力インタフェース225及びバス224を介して、RAM243にロードして実行することにより、各種の処理が行われる。
 情報処理装置220(CPU221)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア231に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 情報処理装置220では、プログラムは、リムーバブルメディア231をドライブ230に装着することにより、入出力インタフェース225を介して、記憶部228にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部229で受信し、記憶部228にインストールすることができる。その他、プログラムは、ROM202や記憶部228に、あらかじめインストールしておくことができる。
 なお、以下、バス224及び入出力インタフェース225の記載を適宜省略する。例えば、CPU221と通信部229が、バス224及び入出力インタフェース225を介してデータの送受信を行う場合、単に、CPU221と通信部229がデータの送受信を行うと記載する。
 <学習処理部の構成例>
 図15は、情報処理装置220のCPU221が所定の制御プログラムを実行することにより実現される学習処理部251の構成例を示している。
 学習処理部251は、パケット復元部261、バッファ262、サンプルデータ生成部263、バッファ264、学習データ生成部265、学習部266、及び、UI(ユーザインタフェース)制御部267を備える。
 パケット復元部261は、図5のパケット復元部162と同様に、各ウエアラブルセンサ101の通信パケットの復元を行い、通信パケットに含まれる動き検出データとタイムスタンプを関連付けて、バッファ262に供給する。
 バッファ262は、各ウエアラブルセンサ101の通信パケットから抽出された動き検出データを一時的に蓄積する。
 サンプルデータ生成部263は、図5のサンプルデータ生成部164と同様に、バッファ262に蓄積されている動き検出データを用いて、サンプルデータを生成し、バッファ264に供給する。
 バッファ264は、サンプルデータを一時的に蓄積する。
 学習データ生成部265は、バッファ264に蓄積されているサンプルデータにラベルを付加することにより学習データを生成し、学習部266に供給する。ラベルは、例えば、サンプルデータに含まれる動き検出データが検出されたときのユーザのモーションの種類を示す。
 学習部266は、学習データに基づいて、モーション認識モデルの学習処理を行う。なお、モーション認識モデルの学習処理には、任意の学習方法を採用することが可能である。
 UI制御部267は、入力部226を介して入力されるユーザ入力等に基づいて、出力部227を制御して、モーション認識モデルの学習処理を行う際のユーザインタフェースの制御を行う。
 <モーション登録処理>
 次に、図16のフローチャートを参照して、学習システム200により実行される学習処理の一例として、モーション登録処理ついて説明する。モーション登録処理とは、モーション認識モデルに新たに認識させるモーションを登録する処理である。以下では、新たなダンスの技を認識対象として登録する場合を例に挙げて説明する。
 ステップS101において、学習処理部251は、着目ポイントの選択を受け付ける。
 例えば、出力部227は、UI制御部267の制御の下に、図17のウインドウW1を表示する。ウインドウW1には、ユーザがウエアラブルセンサ101を装着している部位(検出ポイント)が円で示されている。そして、ユーザは、入力部226を介して、検出ポイントの中から着目ポイントを選択する。
 ここで、着目ポイントとは、登録するモーションにおいて特に着目する検出ポイント(部位)のことである。例えば、登録するモーションの特徴を特に顕著に表す部位における検出ポイントが、着目ポイントに選択される。そして、例えば、学習処理において、着目ポイントの動きが、他の検出ポイントの動きより重視される。
 例えば、両手を大きく振るダンスの技を新しいモーションとして登録する場合、両手の動きが重要であり、それ以外の部位の動きはあまり重要ではない。従って、この場合、例えば、図17のウインドウW1に示されるように、両手首が着目ポイントに選択される。
 UI制御部267は、入力部226から着目ポイントの選択結果を取得し、学習部266に供給する。
 なお、必ずしも着目ポイントを選択する必要はない。
 ステップS102において、学習処理部251は、テンポの設定を受け付ける。
 例えば、出力部227は、UI制御部267の制御の下に、図17のウインドウW2を表示する。ウインドウW2には、モーションを登録する際のクリック音のテンポを設定するためのスライダ281が表示されている。例えば、ユーザは、入力部226を介して、スライダ281を左右に動かすことにより、モーションを登録する際のテンポを設定する。この例では、テンポが120bpm(beats per minute)に設定されている。
 UI制御部267は、入力部226からテンポの設定結果を取得する。
 ステップS103において、学習処理部251は、モーションを登録するタイミングの設定を受け付ける。
 例えば、出力部227は、UI制御部267の制御の下に、図17のウインドウW3を表示する。ウインドウW3には、4拍子のクリック音を示す1から4の丸数字が表示されている。なお、ウインドウW3、並びに、後述するウインドウW5及びウインドウW6において、丸数字の上の”ピッ”等の文字は、各拍子において出力されるクリック音を示しており、実際には表示されない。
 例えば、ユーザは、入力部226を介して、モーションを登録するタイミングを設定する。この例では、1拍目と2拍目のクリック音の間にモーションを登録するように設定した例が示されている。すなわち、1拍目のクリック音が出力されてから2拍目のクリック音が出力されるまでの期間が、モーションの登録期間に設定されている。この場合、例えば、1拍目と2拍目のクリック音の音量が大きくなり、3拍目と4拍目のクリック音の音量が小さくなる。
 UI制御部267は、入力部226からテンポの設定結果を取得する。
 ステップS104において、モーション認識システム100は、モーションの登録を受け付ける。
 例えば、出力部227は、UI制御部267の制御の下に、図17のウインドウW4を表示し、モーションの登録を開始するタイミングを提示する。そして、出力部227は、UI制御部267の制御の下に、モーションの登録を開始するタイミングになった時点で、図17のウインドウW5を表示するとともに、設定されたテンポでクリック音の出力を開始する。上述したように、クリック音は、1拍目と2拍目で音量が大きくなり、3拍目と4拍目で音量が小さくなる。
 なお、例えば、一部のウエアラブルセンサ101にスピーカを内蔵して、そのスピーカからクリック音を出力するようにしてもよい。
 例えば、ユーザは、ウエアラブルセンサ101を装着した状態で、1拍目と2拍目のクリック音の間のモーション登録期間中に登録対象となるモーションを行う。例えば、ユーザは、1拍目のクリック音が出力されたとき、モーションを開始し、2拍目のクリック音が出力されたとき、モーションを終了する。これにより、ユーザは、学習システム200に対して、確実にモーションを入力することができる。また、ユーザは、ゲーム感覚で楽しみながら、モーションの登録を行うことができる。なお、ユーザがより楽しみながらモーションを登録できるように、ユーザの所望の楽曲に合わせてクリック音が出力されるようにしてもよい。
 各ウエアラブルセンサ101は、図6を参照して上述した処理により、各検出ポイントの動きを示す動き検出データを含む通信パケットを所定の周期で送信する処理を開始する。
 情報処理装置220(学習処理装置201)の通信部229は、各ウエアラブルセンサ101から通信パケットを受信し、パケット復元部261に供給する処理を開始する。
 パケット復元部261は、図9のステップS32と同様の処理により、各ウエアラブルセンサ101の通信パケットを復元し、通信パケットに含まれる動き検出データをタイムスタンプと関連付けて、バッファ262に供給し、蓄積させる処理を開始する。
 サンプルデータ生成部263は、図9のステップS34及びステップS35と同様の処理により、バッファ262に蓄積されている動き検出データを用いて、サンプルデータを生成し、バッファ264に供給し、蓄積させる処理を開始する。なお、このとき、例えば、1拍目と2拍目のクリック音の間に検出された動き検出データのみ用いて、サンプルデータが生成される。
 ステップS105において、学習処理部251は、モーションの学習を行う。具体的には、学習データ生成部265は、バッファ264に蓄積されているサンプルデータに新たに登録するモーションの種類を示すラベルを付加することにより学習データを生成し、学習部206に供給する処理を開始する。
 学習部206は、取得した学習データに基づいて、モーション認識モデルに新たなモーションを登録するための学習処理を開始する。このとき、着目ポイントが選択されている場合、例えば、学習部206は、着目ポイントの動き検出データに対する重みを、他の検出ポイントの動き検出データに対する重みより大きくして学習処理を行う。すなわち、学習部206は、検出ポイント間で重みをつけて学習処理を行う。
 そして、新たなモーションの登録が完了したとき、出力部227は、UI制御部267の制御の下に、図17のウインドウW6を表示し、モーションの登録の完了を通知するとともに、登録時のクリック音と異なる”ピピッ”というクリック音を出力する。
 ステップS106において、情報処理装置220(学習処理装置201)は、信頼度を提示する。具体的には、学習部206は、所定の方法により、今回登録したモーションの信頼度を算出する。モーションの信頼度は、例えば、モーションの登録に用いられた学習データの量や、学習データに含まれるサンプルデータの分散、他のモーションに誤判定する確率等に基づいて算出される。そして、モーションの信頼度が高いほど、そのモーションの認識精度が高くなり、モーションの信頼度が高いほど、そのモーションの認識精度が低くなる。
 また、出力部227は、UI制御部267の制御の下に、図17のウインドウW7を表示し、今回登録したモーションの信頼度を提示する。また、モーションの信頼度が十分でない場合には、例えば、もう少し学習データが必要な旨のメッセージが表示される。これにより、例えば、ユーザは、これ以上学習させる必要があるか否か、或いは、他のモーションとの差異を明確にするためにモーションを変更すべきか否か等の判断を行うことができる。
 その後、モーション登録処理は終了する。
 このように、ユーザは、分かりやすいユーザインタフェースに従って、簡単に楽しみながら新しいモーションを登録することができる。また、着目ポイントを設定することにより、モーションの登録が効率化され、例えば、新しいモーションを、より少ない学習データで高い認識精度で登録することが可能になる。
 <モーション認識モデルの認識精度を向上させる方法>
 次に、モーション認識モデルの認識精度を向上させる方法の一例について説明する。具体的には、ダンスの個々の技をモーションとして認識するモーション認識モデルの認識精度を向上させる場合の例について説明する。
 図18は、ダンスのジャンルを整理した例を示す図である。この図に示されるように、ダンスのジャンルは、階層構造により表される。すなわち、図内の下のジャンルほど発生時期が古く、上のジャンルほど発生時期が新しい。そして、古いジャンルをベースにして新しいジャンルが生み出される。
 例えば、古いジャンルの技を組み合わせたり、改良したりすることにより、新しいジャンルの技の一部が生み出される。そのため、新しいジャンルの技の一部に、古いジャンルのダンスの技の特徴が含まれるようになる。従って、古いジャンルほど他のジャンルに対する影響力が大きくなり、新しいジャンルほど他のジャンルに対する影響力は小さくなる。
 例えば、ジャズ、ロック、ポップ、ブレイクは、それぞれソウルをベースにして生みだされたジャンルである。ミドルスクールは、ジャズ、ロック、ポップ、ブレイクをベースにして生みだされたジャンルである。ガールズ、ハウスは、それぞれミドルスクールをベースにして生みだされたジャンルである。ニュースクールは、ガールズ、ハウスをベースにして生みだされたジャンルである。
 また、古いジャンルのダンスの技に基づいて新しいジャンルのダンスの技が生み出されるため、図19に示されるように、ダンスの技も階層構造により表すことができる。なお、図19では、ダンスの技の間の関係を矢印で示している。すなわち、矢印で結ばれている技のうち、矢印の元の技は、矢印の先の技の影響を受けている。例えば、ジャークは、スライドとワームの影響を受けている。より具体的には、スライドとワームを組み合わせた技がジャークである。
 このように、ダンスの技を階層化し、主従関係を整理することにより、各ダンスの技の特徴の関係を明確にし、各技の間の特徴の違いを明確にすることができる。そして、この整理した結果を用いて、ダンスの技を認識するモーション認識モデルの学習を行うことにより、ダンスの技の認識精度を向上させることができる。
 <モーション認識のリアルタイム性を向上させる方法>
 次に、図20及び図23を参照して、モーション認識システム100において、モーション認識のリアルタイム性を向上させる方法について説明する。
 例えば、モーションの認識結果を利用するケースによっては、モーション認識のリアルタイム性が求められる場合がある。すなわち、ユーザがあるモーションを行ってから、そのモーションが認識されるまでの所要時間(以下、遅延時間と称する)をできる限り短くすることが求められる場合がある。例えば、パフォーマの動きに追従して舞台演出を行う場合、スポーツのトレーニング等で選手の動きの認識結果を即座にフィードバックする場合、リアルタイム性が重視されるゲームにおいてプレイヤーの動きによりコマンドを入力する場合等である。
 一方、従来の無線通信では、一般的に確実にデータの送受信を行うことが重視され、通信エラーが発生した場合、データの再送を行う仕様が組み込まれている。しかし、例えば、ウエアラブルセンサ101とモーション認識装置102との間で通信エラーが発生し、通信パケットの再送が繰り返されると、その分遅延時間が長くなってしまう。そして、例えば、全ての検出ポイントの通信パケットが揃ってからモーション認識処理を行おうとすると、ユーザがモーションを行ってから認識されるまでの時間(遅延時間)が長くなり、リアルタイム性が担保されなくなる。
 これに対して、例えば、リアルタイム性を重視するために、通信パケットの再送回数を制限してしまうと、一部のウエアラブルセンサ101からの通信パケット(動き検出データ)が欠損した状態が発生する確率が高くなる。すなわち、一部の検出ポイントの動きがモーション認識装置102に通知されない確率が高くなる。
 しかし、モーション認識装置102のモーション認識部165は、ユーザの複数の検出ポイントの動きに基づいて、ユーザのモーションの認識を行う。従って、いくつかの検出ポイントの通信パケットが欠損し、それらの検出ポイントの動きが通知されなくても、他の検出ポイントの動きに基づいて、ユーザのモーションを正確に認識できる場合も少なくない。
 そこで、認識精度を下げずに、モーション認識のリアルタイム性を確保するために、例えば、学習システム200において、通信パケット(動き検出データ)の欠損を前提にして、モーション認識モデルの学習を行うとともに、モーション認識システム100において、通信パケットの再送回数を制限することが考えられる。
 具体的には、例えば、学習システム200の学習部266において、ドロップアウト等の手法に従って、各検出ポイントの動き検出データが部分的に欠損した学習データを用いてモーション認識モデルの学習処理を行うことが考えられる。
 例えば、図20は、そのような学習データの例の一部を示している。具体的には、図20は、学習データに含まれる各検出ポイントの動き検出データのうち、角速度データ及び加速度データの波形の例を示している。各グラフの横軸は時間を示し、縦軸は角速度又は加速度を示している。また、この図では、各検出ポイントの角速度データの波形及び加速度データの波形がほぼ同じになっているが、実際には各検出ポイント間で異なる波形となる。
 なお、図内の各グラフの斜線で消された部分は、動き検出データが欠損している部分を示す。このように、各検出ポイントの動き検出データが部分的に欠損した学習データを用いて学習処理を行うことにより、動き検出データの欠損に対してロバストなモーション認識モデルが構築される。
 なお、例えば、各ウエアラブルセンサ101とモーション認識装置102との間の通信状況を実測し、通信エラーの発生傾向を分析した結果に基づいて、より実際の状況に近くなるように動き検出データを欠損させた学習データを用いるようにすることが望ましい。
 そして、モーション認識システム100において、動き検出データの欠損に対してロバストなモーション認識モデルを用いた上で、各ウエアラブルセンサ101とモーション認識装置102との間の通信パケットの再送回数が制限される。
 例えば、通信パケットの送信頻度が128Hzである場合、通信パケットの送信間隔は約7.8ミリ秒となる。この場合、例えば、約7.8ミリ秒の間に、通信パケットの送信が完了するように再送回数を制限することが考えられる。
 ただし、通信パケットの再送回数と動き検出データの欠損率とはトレードオフの関係にある。また、動き検出データの欠損率とモーションの認識精度ともトレードオフの関係にある。
 具体的には、図21は、動き検出データの欠損率とモーションの認識精度(F値)との関係を示すグラフである。横軸はデータ欠損率(単位は%)を示し、縦軸は認識精度を示している。
 このグラフに示されるように、動き検出データの欠損率が低くなるほど、モーションの認識精度が高くなり、動き検出データの欠損率が高くなるほど、モーションの認識精度が低くなる。
 また、図22は、通信パケットの再送回数の上限値と、動き検出データの欠損率、通信パケットの最大遅延時間、及び、モーションの認識精度(F値)との関係の例を示している。
 例えば、通信パケットの再送回数を3回に制限した場合、動き検出データの欠損率は2.5%となり、最大遅延時間は11.7ミリ秒となり、モーションの認識精度は0.90となる。
 一方、通信パケットの再送回数を2回に制限した場合、動きデータの欠損率は5.0%に上昇し、モーションの認識精度は0.85に低下する。一方、最大遅延時間は7.8ミリ秒に短縮される。
 さらに通信パケットの再送回数を1回に制限した場合、動きデータの欠損率は8.0%に上昇し、モーションの認識精度は0.80に低下する。一方、最大遅延時間は3.9ミリ秒に短縮される。
 そこで、例えば、モーションの認識結果を利用するケースに応じて、各ウエアラブルセンサ101の通信パケットの再送回数を変更できるようにすることが望ましい。
 例えば、モーション認識のリアルタイム性が重視される場合には、通信パケットの再送回数が1回に制限される。これにより、モーションの認識精度が多少低下するが、ユーザのモーションに迅速に追従するアプリケーションを実現することができる。
 一方、例えば、モーション認識のリアルタイム性があまり重視されない場合には、モーションの再送回数が3回に増やされる。これにより、ユーザのモーションの認識精度が向上し、ユーザのモーションにより適切に追従するアプリケーションを実現することができる。
 なお、再送回数の他に、モーション認識のリアルタイム性に寄与する要素として、例えば、図23に示されるように、ウエアラブルセンサ101の装着数、動き検出データのサイズ、及び、動き検出データのサンプリング周波数(通信パケットの送信頻度)がある。
 例えば、ウエアラブルセンサ101の装着数を減らすと、時分割収容数が減少するため、通信パケットの再送回数を変えずに、動き検出データのサンプリング周波数(通信パケットの送信頻度)を上げることができる。その結果、モーション認識処理の周期が短くなり、遅延時間が減少するため、モーション認識のリアルタイム性が向上する。一方、ウエアラブルセンサ101の装着数を減らすと、検出ポイントが減少するため、モーションの認識精度が低下する。逆に、ウエアラブルセンサ101の装着数を増やすと、モーション認識のリアルタイム性は低下するが、モーションの認識精度は向上する。
 また、例えば、動き検出データのサイズを小さくすると、通信パケットのペイロードサイズが減少するため、通信パケットの再送回数を変えずに、動き検出データのサンプリング周波数(通信パケットの送信頻度)を上げることができる。その結果、モーション認識処理の周期が短くなり、遅延時間が減少するため、モーション認識のリアルタイム性が向上する。一方、動き検出データのサイズを小さくすると、動き検出データに含まれる各データのサイズが小さくなり、加速度、角速度等の分解能が低下する。その結果、モーションの認識精度が低下する。逆に、動き検出データのサイズを大きくすると、モーション認識のリアルタイム性は低下するが、モーションの認識精度は向上する。
 さらに、動き検出データのサンプリング周波数(通信パケットの送信頻度)を上げると、モーション認識処理の周期が短くなり、遅延時間が減少するため、モーション認識のリアルタイム性が向上する。一方、通信パケットの送信周期が短くなるため、遅延時間を通信パケットの送信周期内に収めようとした場合、通信パケットの再送回数を減らす必要が生じる。その結果、データ欠損率が大きくなり、モーションの認識精度が低下する。逆に、動き検出データのサンプリング周波数を下げると、モーション認識のリアルタイム性は低下するが、モーションの認識精度は向上する。
 従って、モーション認識のリアルタイム性、及び、モーションの認識精度のどちらを重視するかに基づいて、通信パケット再送回数、ウエアラブルセンサ101の装着数、動き検出データのサイズ、及び、動き検出データのサンプリング周波数のうち1つ以上を調整できるようにすることが望ましい。これにより、モーション認識システム100が、リアルタイム性が要求されるアプリケーション、及び、認識精度が要求されるアプリケーションのいずれにも適切に対応することが可能になる。
 <<2.第2の実施の形態>>
 次に、図24乃至図30を参照して、本技術の第2の実施の形態について説明する。
 上述したように、モーション認識システム100では、ユーザの検出ポイント間の動きの関係に基づいて、モーションの認識が行われる。従って、モーションの認識精度を向上させるためには、各検出ポイントの動きを検出するタイミングをできる限り同期させることが重要になる。或いは、できる限り同じタイミングで各検出ポイントにおいて検出された動き検出データを用いて、モーション認識処理を行うことが重要になる。
 これに対して、モーション認識システム100では、各通信パケットのタイムスタンプに基づいて、できる限り同じタイミングで各検出ポイントにおいて検出された動き検出データを用いて、モーション認識処理が行われる。
 しかし、この場合、各ウエアラブルセンサ101の時刻情報取得部138の時刻にズレが生じると、各検出ポイント間の動き検出データの検出タイミングの差が大きくなる。その結果、モーションの認識精度が低下する。
 従って、何らかの方法により、各ウエアラブルセンサ101の時刻情報取得部138間の時刻の同期処理が必要になる。しかし、この時刻の同期処理は、例えば、各ウエアラブルセンサ101の電源がオンされる度に行う必要があり、処理の負荷が高くなる。また、モーション認識システム100の使用中の時刻のズレに対応するには、より複雑な処理が必要になる。
 一方、モーション認識処理に用いる各検出ポイントの動き検出データの検出タイミングは、必ずしも厳密に同時である必要はなく、ある程度のズレ(例えば、数ミリ秒単位、或いは、1サンプル以内)が許容される場合も多い。
 そこで、この第2の実施の形態では、モーション認識装置側で、各ウエアラブルセンサが動き検出データを検出するタイミングを制御することにより、各検出ポイントにおいて、できる限り同じタイミングで検出された動き検出データを用いて、モーション認識処理を行うようにするものである。
 <モーション認識システムの第2の実施の形態>
 図24は、本技術を適用したモーション認識システムの第2の実施の形態であるモーション認識システム300の構成例を示している。
 モーション認識システム300は、ウエアラブルセンサ301-1乃至ウエアラブルセンサ301-6、及び、モーション認識装置302を備える。
 なお、以下、ウエアラブルセンサ301-1乃至ウエアラブルセンサ301-6を個々に区別する必要がない場合、単にウエアラブルセンサ301と称する。
 各ウエアラブルセンサ301は、図1の各ウエアラブルセンサ101と同様に、ユーザの互いに異なる検出ポイントに装着される。各ウエアラブルセンサ301は、モーション認識装置302の制御の下に、各検出ポイントの動きを検出し、検出結果を含む通信パケットをモーション認識装置302に送信する。
 モーション認識装置302は、各ウエアラブルセンサ301から受信した通信パケットに含まれる各検出ポイントの動き検出データに基づいて、ユーザのモーションの認識処理を行う。モーション認識装置302は、ユーザのモーションの認識結果に基づくモーション制御データを後段の装置に送信する。
 <ウエアラブルセンサ301の構成例>
 図25は、図24のウエアラブルセンサ301の構成例を示している。なお、図中、図3のウエアラブルセンサ101と対応する部分には、同じ符号を付してあり、その説明は適宜省略する。
 ウエアラブルセンサ301は、ウエアラブルセンサ101と比較して、パケット生成部144及び送信制御部145の代わりに、パケット生成部331及び送信制御部334が設けられ、バッファ332及び受信部333が追加され、時刻情報取得部138が削除されている点が異なる。
 パケット生成部331は、バッファ143に蓄積されている姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データを含む動き検出データを送信するための通信パケットを生成し、バッファ332に供給する。
 バッファ332は、通信パケットを一時的に蓄積する。
 受信部333は、送信部146と同じ方式の無線通信により、通信パケットの送信を要求する送信要求信号をモーション認識装置302から受信し、送信制御部334に供給する。
 送信制御部334は、送信部146による通信パケットの送信を制御する。
 <モーション認識装置302の構成例>
 図26は、図24のモーション認識装置302の構成例を示している。なお、図中、図5のモーション認識装置102と対応する部分には、同じ符号を付してあり、その説明は適宜省略する。
 モーション認識装置302は、モーション認識装置102と比較して、通信制御部361及び送信部362が追加され、バッファ163が削除されている点が異なる。
 通信制御部361は、各ウエアラブルセンサ301に通信パケットの送信を要求する送信要求信号を生成し、送信部362に供給する。また、通信制御部361は、受信部161から供給される各ウエアラブルセンサ301からの通信パケットをパケット復元部162に供給する。
 送信部362は、各ウエアラブルセンサ301の受信部333と対応する方式の無線通信により、送信要求信号を各ウエアラブルセンサ301に送信する。
 <モーション認識装置302の処理>
 次に、図27のフローチャートを参照して、モーション認識装置302の処理について説明する。
 この処理は、例えば、モーション認識装置302の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS201において、通信制御部361は、変数iの値を1に設定する。
 ステップS202において、モーション認識装置302は、i番目のウエアラブルセンサ(ウエアラブルセンサ301-i)に通信パケットの送信を要求する。具体的には、通信制御部361は、ウエアラブルセンサ301-iに通信パケットの送信を要求するための送信要求信号を生成し、送信部362に供給する。送信部362は、ウエアラブルセンサ301-iに送信要求信号を送信する。
 これに対して、ウエアラブルセンサ301-iは、後述する図28のステップS236において、送信要求信号を受信し、ステップS237において、通信パケットを送信する。
 ステップS203において、受信部161は、i番目のウエアラブルセンサ(ウエアラブルセンサ301-i)から通信パケットを受信する。受信部161は、受信した通信パケットを通信制御部361に供給する。通信制御部361は、通信パケットをパケット復元部162に供給する。
 ステップS204において、パケット復元部162は、通信パケットの復元を行う。例えば、パケット復元部162は、取得した通信パケットに含まれる動き検出データの復号等を行った後、動き検出データをサンプルデータ生成部164に供給する。
 ステップS205において、通信制御部361は、変数iの値を1つインクリメントする。
 ステップS206において、通信制御部361は、変数iの値が定数M以下であるか否かを判定する。ここで、定数Mはウエアラブルセンサ301の台数を示し、現在の例では、M=6となる。変数iの値が定数M以下であると判定された場合、すなわち、まだ通信パケットの送信を要求していないウエアラブルセンサ301がある場合、処理はステップS202に戻る。
 その後、ステップS206において、変数iの値が定数Mを超えたと判定されるまで、ステップS202乃至ステップS206の処理が繰り返し実行される。これにより、全てのウエアラブルセンサ301に対して順番に通信パケットの送信が要求され、各ウエアラブルセンサ301から順番に通信パケットが受信される。
 なお、例えば、ステップS204において通信パケットの復元を行うのと並行して、次のウエアラブルセンサ301に通信パケットの送信を要求するようにしてもよい。
 一方、ステップS206において、変数iの値が定数Mを超えたと判定された場合、処理はステップS207に進む。
 ステップS207において、サンプルデータ生成部164は、サンプルデータを生成する。すなわち、サンプルデータ生成部164は、パケット復元部162から供給された各ウエアラブルセンサ301からの動き検出データを含むサンプルデータを生成する。サンプルデータ生成部164は、生成したサンプルデータをモーション認識部165に供給する。
 そして、ステップS208及びステップS209において、図9のステップS36及びステップS37と同様の処理が実行される。その後、処理はステップS201に戻り、ステップS201以降の処理が実行される。
 <ウエアラブルセンサ301の処理>
 次に、図28のフローチャートを参照して、図27のモーション認識装置302の処理に対応してウエアラブルセンサ301により実行される処理について説明する。
 この処理は、例えば、ウエアラブルセンサ301の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS231乃至ステップS234において、図6のステップS1乃至ステップS4と同様の処理が実行される。
 ステップS235において、パケット生成部331は、通信パケットの生成を開始する。具体的には、パケット生成部331は、最新の姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データをバッファ143から読み出し、読み出したデータを含む通信パケットを生成し、バッファ332に蓄積する処理を開始する。
 図29は、パケット生成部331により生成される通信パケットのフォーマットの例を示している。
 この通信パケットは、図7の通信パケットと比較して、タイムスタンプが削除されている点が異なる。すなわち、モーション認識装置302が、各ウエアラブルセンサ301が通信パケットを送信するタイミングを制御するため、タイムスタンプが不要になる。
 ステップS236において、送信制御部334は、通信パケットの送信が要求されたか否かを判定する。この判定処理は、通信パケットの送信が要求されたと判定されるまで、所定のタイミングで繰り返し実行される。
 そして、送信制御部334は、受信部333を介して、モーション認識装置302から送信要求信号を受信した場合、通信パケットの送信が要求されたと判定し、処理はステップS237に進む。
 ステップS237において、ウエアラブルセンサ301は、通信パケットを送信する。具体的には、送信制御部145は、通信パケットをバッファ332から読み出し、送信部146に供給する。送信制御部145は、読み出した通信パケットをバッファ332から削除する。送信部146は、通信パケットをモーション認識装置302に送信する。
 その後、処理はステップS236に戻り、ステップS236以降の処理が実行される。
 図30は、図27及び図28の処理における、モーション認識装置302と各ウエアラブルセンサ301との間の通信を示すシーケンス図である。
 このように、モーション認識装置302から各ウエアラブルセンサ301に順番に送信要求信号(REQ)が送信され、各ウエアラブルセンサ301から順番に通信パケット(ACK)が送信される。従って、同期信号やタイムスタンプ等を使用せずに、モーション認識処理に用いる各ウエアラブルセンサ301の動き検出データの検出タイミングを合わせることができる。従って、モーション認識処理の精度を向上させることができる。また、モーション認識装置302において、各ウエアラブルセンサ301からの通信パケットが揃うまで、通信パケットをバッファリングして待ち合わせる処理が不要となる。
 また、図29を参照して上述したように、通信パケットにタイムスタンプを付加する必要がなくなり、通信パケットのデータ量が削減される。これにより、通信パケットの通信時間が短縮され、消費電力が削減される。また、通信エラー時の通信パケットの再送回数を増やすことができ、通信の安定性が向上する。
 そして、モーション認識装置302は、各ウエアラブルセンサ301から通信パケットを受信した後、サンプルデータを生成し、モーション認識処理を実行する。例えば、モーション認識処理が1秒間に128回行われる場合、以上の処理が、7.8ミリ秒の周期で実行される。
 なお、例えば、ウエアラブルセンサ301が、モーション認識装置302から送信要求情報を受信したとき、通信パケットを生成し、生成した通信パケットを送信するようにしてもよい。
 <<3.第3の実施の形態>>
 次に、図31乃至図36を参照して、本技術の第3の実施の形態について説明する。
 第3の実施の形態は、第2の実施の形態と異なる方法により、できる限り同じタイミングで各検出ポイントにおいて検出された動き検出データを用いて、モーション認識処理を行うようにするものである。
 <モーション認識システムの第3の実施の形態>
 図31は、本技術を適用したモーション認識システムの第3の実施の形態であるモーション認識システム400の構成例を示している。
 モーション認識システム400は、ウエアラブルセンサ401-1乃至ウエアラブルセンサ401-6、及び、モーション認識装置402を備える。
 なお、以下、ウエアラブルセンサ401-1乃至ウエアラブルセンサ401-6を個々に区別する必要がない場合、単にウエアラブルセンサ401と称する。
 各ウエアラブルセンサ401は、図1の各ウエアラブルセンサ101と同様に、ユーザの互いに異なる検出ポイントに装着され、各検出ポイントの動きを検出し、検出結果を含む通信パケットをモーション認識装置402に送信する。
 モーション認識装置402は、各ウエアラブルセンサ401から受信した通信パケットに含まれる各検出ポイントの動き検出データに基づいて、ユーザのモーションの認識処理を行う。モーション認識装置402は、ユーザのモーションの認識結果に基づくモーション制御データを後段の装置に送信する。
 <ウエアラブルセンサ401の構成例>
 図32は、図31のウエアラブルセンサ401の構成例を示している。なお、図中、図3のウエアラブルセンサ101と対応する部分には、同じ符号を付してあり、その説明は適宜省略する。
 ウエアラブルセンサ401は、ウエアラブルセンサ101と比較して、パケット生成部144の代わりにパケット生成部433が設けられ、クロック生成部431及び所要時間推定部432が追加されている点が異なる。
 クロック生成部431は、所定の周波数のクロック信号を生成し、所要時間推定部432等のウエアラブルセンサ401の各部に供給する。なお、図3のウエアラブルセンサ101及び図25のウエアラブルセンサ301においてもクロック生成部431は設けられるが、特に処理の説明に必要がないため、図示を省略している。
 所要時間推定部432は、モーション認識装置402に送信する姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データをバッファ143から読み出し、パケット生成部433に供給する。また、所要時間推定部432は、クロック信号に基づいて、それらのデータの送信に要する時間(以下、送信所要時間と称する)を推定し、推定結果を示す情報をパケット生成部433に供給する。
 パケット生成部433は、所要時間推定部432から供給されるデータを送信するための通信パケットを生成し、送信制御部145に供給する。
 <モーション認識装置402の構成例>
 図33は、図31のモーション認識装置402の構成例を示している。なお、図中、図5のモーション認識装置102と対応する部分には、同じ符号を付してあり、その説明は適宜省略する。
 モーション認識装置402は、モーション認識装置102と比較して、時刻情報取得部461及び検出時刻算出部462が追加されている点が異なる。
 時刻情報取得部461は、例えば、時計等により構成され、現在時刻を示す時刻情報を取得し、検出時刻算出部462に供給する。
 検出時刻算出部462は、各ウエアラブルセンサ401から受信した通信パケットに含まれる動き検出データ及び送信所要時間をパケット復元部162から取得する。そして、検出時刻算出部462は、現在時刻及び送信所要時間に基づいて、動き検出データに対応する検出ポイントの動きが検出された時刻(以下、動き検出時刻と称する)を算出する。検出時刻算出部462は、動き検出データと動き検出時刻を関連付けて、バッファ163に供給する。
 <ウエアラブルセンサ401の処理>
 次に、図34のフローチャートを参照して、ウエアラブルセンサ401の処理について説明する。この処理は、例えば、ウエアラブルセンサ401の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS301乃至ステップS304において、図6のステップS1乃至ステップS4と同様の処理が実行される。
 ステップS305において、所要時間推定部432は、通信パケットを送信するタイミングであるか否かを判定する。この判定処理は、通信パケットを送信するタイミングであると判定されるまで繰り返し実行され、通信パケットを送信するタイミングであると判定された場合、処理はステップS306に進む。
 ステップS306において、所要時間推定部432は、送信所要時間を推定する。具体的には、所要時間推定部432は、最新の姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データを、モーション認識装置402に送信するデータとしてバッファ143から読み出す。そして、所要時間推定部432は、それらのデータを含む動き検出データの送信に要する送信所要時間を推定する。
 送信所要時間は、例えば、検出ポイントの動きが検出されてから、検出された動きに対応する動き検出データを含む通信パケットがモーション認識装置402に到着するまでの所要時間とされる。
 また、検出ポイントの動きが検出された時刻(動き検出時刻)は、例えば、検出ポイントの動きの検出が開始された時刻とされる。より具体的には、例えば、動き検出時刻は、動き検出データに用いられるセンサデータのうち、センサデータ取得部139により最初に取得されたセンサデータの取得時刻とされる。例えば、動き検出データには、HDR加速度データ、LDR加速度データ、HDR角速度データ、LDR角速度データ、地磁気データ、歪みデータ、及び、気圧データのセンサデータが用いられる。そして、モーション認識装置402に送信する動き検出データに用いられる各センサデータの取得時刻のうち、最も早い時刻が動き検出時刻とされる。
 例えば、所要時間推定部432は、検出ポイントの動きが検出されてから、検出された動きに対応する動き検出データを含む通信パケットが生成されるまでの所要時間(以下、パケット生成時間と称する)を推定する。パケット生成時間は、例えば、検出ポイントの動きの検出が開始された時刻(動き検出時刻)と、検出された動きに対応する動き検出データを含む通信パケットの生成が完了する時刻(以下、パケット生成時刻と称する)との間の時間とされる。
 例えば、所要時間推定部432は、各センサデータのサイズ等に基づいて、所定の計算式を用いて、パケット生成時間を算出する。パケット生成時間の計算式は、例えば、センサデータ取得部139がセンサデータを取得するタイミング、センサデータを取得してから通信パケットを生成するまでの処理内容、及び、ウエアラブルセンサ401の処理能力等に基づいて、事前に作成される。
 また、例えば、所要時間推定部432は、通信パケットが生成されてからモーション認識装置402に到着するまでの所要時間(以下、パケット送信時間と称する)を推定する。パケット送信時間は、例えば、パケット生成時刻と、モーション認識装置402に通信パケットが到着する時刻(以下、パケット到着時刻と称する)との間の時間とされる。
 例えば、所要時間推定部432は、通信パケットのサイズ、及び、ウエアラブルセンサ401とモーション認識装置402との間の通信状況等に基づいて、所定の計算式を用いて、パケット送信時間を算出する。パケット送信時間の計算式は、例えば、ウエアラブルセンサ401とモーション認識装置402との間の通信方式及び通信経路、並びに、ウエアラブルセンサ401及びモーション認識装置402の処理能力等に基づいて、事前に作成される。
 なお、例えば、事前にウエアラブルセンサ401とモーション認識装置402との間で通信パケットを送受信した場合の実測時間に基づいて、パケット送信時間を算出するようにしてもよい。
 そして、所要時間推定部432は、パケット生成時間とパケット送信時間を加算することにより、送信所要時間を算出する。
 なお、通信エラー等により、通信パケットが再送される場合には、その再送に要する時間も送信所要時間に加算される。例えば、通信エラーの検出に要する時間、再送を行うまでの待ち時間、再送処理に要する時間等が送信所要時間に加算される。
 所要時間推定部432は、バッファ143から読み出した姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データ、並びに、送信所要時間の推定結果をパケット生成部433に供給する。また、パケット生成部144は、通信パケットにより送信する各データ、及び、それより古いデータをバッファ143から削除する。
 ステップS307において、パケット生成部433は、通信パケットを生成する。
 図35は、パケット生成部433により生成される通信パケットのフォーマットの例を示している。この通信パケットは、図7の通信パケットと比較して、タイムスタンプの代わりに送信所要時間を含む点が異なる。すなわち、所要時間推定部432により推定された送信所要時間が通信パケットに含まれる。
 そして、パケット生成部433は、通信パケットを送信制御部145に供給する。
 ステップS308において、送信部146は、送信制御部145の制御の下に、通信パケットをモーション認識装置402に送信する。
 その後、処理はステップS305に戻り、ステップS305以降の処理が実行される。
 <モーション認識装置402の処理>
 次に、図36のフローチャートを参照して、図34の各ウエアラブルセンサ401の処理に対応してモーション認識装置402により実行される処理について説明する。
 この処理は、例えば、モーション認識装置402の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS331において、受信部161は、通信パケットの受信を開始する。すなわち、受信部161は、各ウエアラブルセンサ401から送信されてくる通信パケットを受信し、受信した通信パケットをパケット復元部162に供給する処理を開始する。
 ステップS332において、パケット復元部162は、通信パケットの復元を開始する。例えば、パケット復元部162は、各ウエアラブルセンサ101から受信した通信パケットに含まれる動き検出データの復号等を行った後、復元後の通信パケットを検出時刻算出部462に供給する処理を開始する。
 ステップS333において、検出時刻算出部462は、検出ポイントの動きが検出された時刻の算出を開始する。具体的には、検出時刻算出部462は、パケット復元部162から供給される通信パケットに含まれる動き検出データに対応する検出ポイントの動きが検出された時刻(動き検出時刻)の算出を開始する。また、検出時刻算出部462は、動き検出データと動き検出時刻を関連付けてバッファ163に供給し、蓄積させる処理を開始する。
 ここで、動き検出時刻の算出方法の例について説明する。
 例えば、検出時刻算出部462は、通信パケットが受信部161により受信されてから(通信パケットがモーション認識装置402に到着してから)、パケット復元部162により復元されるまでの所要時間(以下、パケット復元時間と称する)を推定する。
 例えば、検出時刻算出部462は、通信パケットのサイズ等に基づいて、所定の計算式を用いて、パケット復元時間を算出する。パケット復元時間の計算式は、例えば、通信パケットの復元処理の内容、及び、モーション認識装置402の処理能力等に基づいて、事前に作成される。
 そして、検出時刻算出部462は、時刻情報取得部461から現在時刻を示す時刻情報を取得し、通信パケットに含まれる送信所要時間、及び、推定したパケット復元時間を現在時刻から引くことにより、動き検出時刻を算出する。
 ステップS334において、図9のステップS3の処理と同様に、モーション認識処理を行うタイミングであるか否かが判定される。この判定処理は、所定のタイミングで繰り返し実行され、モーション認識処理を行うタイミングであると判定された場合、処理はステップS335に進む。
 ステップS335において、サンプルデータ生成部164は、検出時刻が近い動き検出データを抽出する。すなわち、サンプルデータ生成部164は、タイムスタンプの代わりに動き検出時刻を用いて、図9のステップS34の処理と同様の方法により、動き検出データを抽出する。これにより、動き検出時刻が近い動き検出データが検出ポイント毎に1つずつ抽出される。すなわち、各検出ポイントにおいてほぼ同じタイミングで検出された動きに対応する動き検出データが抽出される。
 そして、ステップS336乃至ステップS338において、図9のステップS35乃至ステップS37と同様の処理が実行される。
 その後、処理はステップS334に戻り、ステップS334以降の処理が実行される。
 以上のようにして、モーション認識装置402において、容易かつ正確に動き検出時刻を検出することができる。そして、できる限り同じタイミングで各検出ポイントにおいて検出された動き検出データを用いて、モーション認識処理が行われ、その結果、モーションの認識精度が向上する。
 また、各ウエアラブルセンサ401及びモーション認識装置402の電源投入後に、所要時間の測定や時刻の同期を行うことなく、すぐに通信を開始することができる。さらに、例えば、通信経路が不安定になり、一時的に通信パケットの送信を中止しても、通信経路が復旧したタイミングで、所要時間の測定や時刻の同期を行うことなく、すぐに通信を再開することができる。
 <<4.第4の実施の形態>>
 次に、図37乃至図40を参照して、本技術の第4の実施の形態について説明する。
 第4の実施の形態は、ウエアラブルセンサ401とモーション認識装置402とが中継器を介して通信を行う場合の実施の形態である。
 <モーション認識システムの第4の実施の形態>
 図37は、本技術を適用したモーション認識システムの第4の実施の形態であるモーション認識システム500の構成例を示している。
 なお、図中、図31のモーション認識システム400と対応する部分には、同じ符号を付してあり、その説明は適宜省略する。
 モーション認識システム500は、モーション認識システム400と比較して、中継器501-1及び中継器501-2が追加されている点が異なる。
 中継器501-1は、ウエアラブルセンサ401-1乃至ウエアラブルセンサ401-3とモーション認識装置402との間において通信パケットの中継を行う。すなわち、中継器501-1は、ウエアラブルセンサ401-1乃至ウエアラブルセンサ401-3から通信パケットを受信し、モーション認識装置402に転送する。
 中継器501-2は、ウエアラブルセンサ401-4乃至ウエアラブルセンサ401-6とモーション認識装置402との間において通信パケットの中継を行う。すなわち、中継器501-2は、ウエアラブルセンサ401-4乃至ウエアラブルセンサ401-6から通信パケットを受信し、モーション認識装置402に転送する。
 なお、以下、中継器501-1及び中継器501-2を個々に区別する必要がない場合、単に中継器501と称する。
 <中継器501の構成例>
 図38は、中継器501の構成例を示している。
 中継器501は、受信部531、バッファ532、クロック生成部533、所要時間推定部534、パケット更新部535、送信制御部536、及び、送信部537を備える。
 受信部531は、各ウエアラブルセンサ401の送信部146に対応する方式の無線通信により、各ウエアラブルセンサ401から通信パケットを受信し、バッファ532に供給する。
 バッファ532は、通信パケットを一時的に蓄積する。
 クロック生成部533は、所定の周波数のクロック信号を生成し、所要時間推定部534等の中継器501の各部に供給する。
 所要時間推定部534は、モーション認識装置402に転送する通信パケットをバッファ532から読み出し、パケット更新部535に供給する。また、所要時間推定部432は、クロック信号に基づいて、通信パケットの中継に要する時間(以下、中継所要時間と称する)を推定し、推定結果を示す情報をパケット更新部535に供給する。
 パケット更新部535は、所要時間推定部534により推定された中継所要時間を通信パケットに付加することにより、通信パケットを更新する。パケット更新部535は、更新後の通信パケットを送信制御部536に供給する。
 送信制御部536は、送信部537による通信パケットの送信を制御する。
 送信部537は、モーション認識装置402の受信部161と対応する方式の無線通信により、通信パケットをモーション認識装置402に送信する。
 <中継器501の処理>
 次に、図39のフローチャートを参照して、中継器501の処理について説明する。
 この処理は、例えば、中継器501の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS401において、受信部531は、通信パケットを受信したか否かを判定する。この判定処理は、通信パケットを受信したと判定されるまで繰り返し実行される。そして、受信部531が、ウエアラブルセンサ401から送信された通信パケットを受信したと判定した場合、処理はステップS402に進む。受信部531は、受信した通信パケットをバッファ532に蓄積する。
 ステップS402において、所要時間推定部534は、中継所要時間を推定する。具体的には、所要時間推定部534は、通信パケットをバッファ532から読み出す。そして、所要時間推定部534は、通信パケットの中継に要する中継所要時間を推定する。
 中継所要時間は、例えば、受信部531が通信パケットを受信してから(通信パケットが中継器501に到着してから)、その通信パケットがモーション認識装置402に到着するまでの所要時間とされる。
 例えば、所要時間推定部534は、通信パケットのサイズ、及び、中継器501とモーション認識装置402との間の通信状況等に基づいて、所定の計算式を用いて、中継所要時間を算出する。中継所要時間の計算式は、例えば、中継器501とモーション認識装置402との間の通信方式及び通信経路、並びに、中継器501及びモーション認識装置402の処理能力等に基づいて、事前に作成される。
 なお、例えば、事前に中機器501とモーション認識装置402との間で通信パケットを送受信した場合の実測時間に基づいて、中継所要時間を算出するようにしてもよい。
 また、例えば、中継器501において通信エラー等により通信パケットが再送される場合、その再送に要する時間が中継所要時間に加算される。さらに、中継器501において通信パケットが一時保管される場合、その保管される時間が中継所要時間に加算される。
 所要時間推定部534は、バッファ532から読み出した通信パケット、及び、中継所要時間の推定結果をパケット更新部535に供給する。さらに、所要時間推定部534は、読み出した通信パケットをバッファ532から削除する。
 ステップS403において、パケット更新部535は、通信パケットに中継所要時間を付加する。
 図40は、中継所要時間を付加した後の通信パケットのフォーマットの例を示している。
 図40の通信パケットは、図35の通信パケットと比較して、ヘッダと送信所要時間の間に中継所要時間が追加されている点が異なる。
 なお、図50の通信パケットの送信所要時間には、ウエアラブルセンサ401とモーション認識装置402の間の送信所要時間ではなく、ウエアラブルセンサ401と中継器501の間の送信所要時間が設定される。
 そして、送信所要時間及び中継所要時間を含む情報が、全体の所要時間情報となる。すなわち、送信所要時間と中継所要時間と加算した時間が、ウエアラブルセンサ401で検出ポイントの動きが検出されてから、検出された動きに対応する動き検出データを含む通信パケットがモーション認識装置402に到着するまでのトータルの所要時間となる。
 そして、パケット更新部535は、中継所要時間を付加することにより更新した通信パケットを送信制御部536に供給する。
 ステップS404において、送信部537は、送信制御部536の制御の下に、通信パケットをモーション認識装置402に送信する。
 その後、処理はステップS401に戻り、ステップS401以降の処理が実行される。
 なお、モーション認識装置402の検出時刻算出部462は、上述した図36のステップS333において、送信所要時間及びパケット復元時間に加えて、通信パケットに含まれる中継所要時間を現在時刻から引くことにより、動き検出時刻を算出する。
 このように、ウエアラブルセンサ401とモーション認識装置402の間に中継器501を設けても、モーション認識装置402において、容易かつ正確に動き検出時刻を検出することができる。
 例えば、ウエアラブルセンサ401を装着したユーザが空間内を自由に移動する場合、ウエアラブルセンサ401とモーション認識装置402との間の通信経路(中継器501)が動的に変更され、通信速度や通信状況が変化する場合が想定される。例えば、最も通信状態がよい通信経路を選択したり、通信エラーが発生している経路を回避したり、ウエアラブルセンサ401に最も近い中継器501を選択する場合等である。
 これに対して、この第4の実施の形態の技術を用いれば、通信経路が変更されたり、又は、通信経路がメッシュ状に複数存在する場合など、使用する通信経路を予め知ることが困難な場合でも、通信経路上のウエアラブルセンサ401、中継器501、及び、モーション認識装置402の間で、所要時間の測定や時刻の同期を行うことなく、すぐに通信を開始することができる。また、モーション認識装置402において、各ウエアラブルセンサ401の動き検出時刻を容易かつ正確に検出することができる。
 そして、できる限り同じタイミングで各検出ポイントにおいて検出された動き検出データを用いて、モーション認識処理が行われ、その結果、モーションの認識精度が向上する。
 なお、ウエアラブルセンサ401とモーション認識装置402の間に中継器501を2段以上設けることも可能である。この場合、例えば、各中継器501において、中継所要時間が通信パケットに付加される。
 <<5.第5の実施の形態>>
 次に、図41乃至図45を参照して、本技術の第5の実施の形態について説明する。
 この第5の実施の形態では、上述したモーション認識システムを、コンサート、ダンス、演劇等の各種のパフォーマンスの演出に用いる場合の例を示している。
 <演出システム600の構成例>
 図41は、本技術を適用した演出システム600の構成例を示している。
 演出システム600は、各パフォーマの動きに合わせて映像、音、照明等を制御することにより、パフォーマンス演出を行うシステムである。
 演出システム600は、モーション認識システム601-1乃至モーション認識システム601-n、受信機602、カメラ603、パッドコントローラ604、演出制御装置605、シンセサイザ606、オーディオミキサ607、パワーアンプ608、音響装置609、映像装置610、DMXコントローラ611、及び、照明装置612を備える。
 なお、以下、モーション認識システム601-1乃至モーション認識システム601-nを個々に区別する必要がない場合、モーション認識システム601と称する。
 各モーション認識システム601は、例えば、上述したモーション認識システム100、モーション認識システム300、モーション認識システム400、又は、モーション認識システム500のいずれかにより構成される。
 また、モーション認識システム601は、モーションを認識する対象となるパフォーマの数だけ設けられ、それぞれ個別に各パフォーマのモーションの認識処理を行う。各モーション認識システム601は、各パフォーマのモーションの認識結果に基づくモーション制御データを受信機602に送信する。
 なお、例えば、パフォーマが1人だけの場合、モーション認識システム601は1つのみでも構わない。
 受信機602は、各モーション認識システム601からモーション制御データを受信し、演出制御装置605に供給する。
 なお、各モーション認識システム601と受信機602との間の通信には、例えば、任意の方式の無線通信又は有線通信が採用される。また、受信機602と演出制御装置605との間の通信には、例えば、任意の方式の無線通信又は有線通信が採用される。
 カメラ603は、例えば、各パフォーマやステージ等の撮影を行い、撮影の結果得られた映像データを演出制御装置605に供給する。
 パッドコントローラ604は、例えば、鍵盤や打楽器等の演奏データの入力に用いられる入力装置であり、入力された演奏データを演出制御装置605に供給する。パッドコントローラ604から出力される演奏データは、例えば、MIDI(Musical Instrument Digital Interface)の規格に従ったデータとされる。
 演出制御装置605は、例えば、パーソナルコンピュータ、タブレット、スマートフォン等により構成される。なお、以下、演出制御装置605が、図14の情報処理装置220により構成される場合を例に挙げて説明する。
 演出制御装置605には、上述したデータ以外に、例えば、パフォーマンス演出に用いる映像データ、音響データ、並びに、映像、音声、又は、照明のエフェクトパターン等を示す制御データ等が入力される。
 演出制御装置605は、例えば、VJ(Video Jockey)用のソフトウエアを実行することにより、パフォーマンス演出に関わる各種の処理を実行する。例えば、演出制御装置605は、映像のリミックス、映像や音声のエフェクト処理、オーディオ解析、BPM(Beats Per Minute)検知等を行う。また、例えば、演出制御装置605は、MIDIデータ、OSC(Open Sound Control)データ、及び、DMX(Digital Multiplexing)データの処理や出力等を行う。
 そして、演出制御装置605は、演出用の音声を生成するための音響制御データをシンセサイザ606に供給し、演出用の音声を出力するための音響データをオーディオミキサ607に供給する。また、演出制御装置605は、演出用の映像を出力するための映像データを映像装置610に供給する。さらに、演出制御装置605は、演出用の照明を制御するためのDMXデータを照明装置612に供給する。
 シンセサイザ606は、演出制御装置605からの音響制御データに基づいて、演出用の各種の音声を生成し、生成した音声を出力するための音響データをオーディオミキサ607に供給する。
 オーディオミキサ607は、演出制御装置605からの音響データとシンセサイザ606からの音響データのミキシングを行い、ミキシング後の音響データをパワーアンプ608に供給する。また、オーディオミキサ607は、図示せぬマイクロフォンを介して入力された音声データを演出制御装置605に供給する。
 パワーアンプ608は、音響データの増幅を行い、増幅後の音響データを音響装置609に供給する。
 音響装置609は、例えばスピーカ等により構成され、音響データに基づく音声を出力する。
 映像装置610は、例えば、プロジェクタやモニタ等により構成され、映像データに基づく映像をステージ等に投影したり、表示したりする。
 DMXコントローラ611は、照明装置612を制御するための装置である。DMXコントローラ611は、ユーザ入力等に従って、照明装置612を制御するためのDMXデータを生成し、照明装置612に供給する。
 照明装置612は、例えば、各種のライトや光源等により構成される。照明装置612は、演出制御装置605及びDMXコントローラ611からのDMXデータに基づいて、各種の照明演出を行う。
 <演出制御部631の構成例>
 図42は、演出制御装置605が図14の情報処理装置220により構成される場合に、情報処理装置220のCPU221が所定の制御プログラムを実行することにより実現される演出制御部631の構成例を示している。
 演出制御部631は、楽曲及び各パフォーマの動きに基づいて、パフォーマンス演出の制御を行う。例えば、演出制御部631は、複数のパフォーマが楽曲に合わせてダンスをする場合に、楽曲及び各パフォーマのダンスに基づいて、パフォーマンス演出の制御を行う。
 演出制御部631は、楽曲入力部641、楽曲解析部642、モーション入力部643、割り込み制御部644、シナリオ生成部645、音響制御部646、映像制御部647、及び、照明制御部648を備える。
 楽曲入力部641は、外部から入力される楽曲データを取得し、楽曲解析部642に供給する。
 楽曲解析部642は、楽曲データの解析処理を行う。楽曲解析部642は、楽曲データ及び解析結果をシナリオ生成部645に供給する。
 モーション入力部643は、各モーション認識システム601から送信されるモーション制御データを受信機602から取得し、割り込み制御部644に供給する。
 割り込み制御部644は、各モーション認識システム601からのモーション制御データに基づいて、割り込み制御を行う。例えば、割り込み制御部644は、各パフォーマが所定のモーションを行ったことが検出された場合、そのモーションが検出されたことをシナリオ生成部645に通知し、楽曲データの解析結果に基づく演出シナリオに、各パフォーマのモーションに対応する演出を追加させる。
 シナリオ生成部645は、外部から供給される制御データ、楽曲データの解析結果、及び、各パフォーマのモーションの認識結果に基づいて、パフォーマンス演出用の演出シナリオを生成する。シナリオ生成部645は、生成した演出シナリオを音響制御部646、映像制御部647、及び、照明制御部648に供給する。また、シナリオ生成部645は、楽曲データを音響制御部646に供給する。
 音響制御部646は、シナリオ生成部645から供給される楽曲データ、及び、外部から供給される音響データを、演出シナリオに基づいて加工して、演出用の音響データを生成し、オーディオミキサ607に供給する。また、音響制御部646は、演出シナリオに基づいて音響制御データを生成し、シンセサイザ606に供給する。
 映像制御部647は、カメラ603から供給される映像データ、及び、外部から供給される映像データを演出シナリオに基づいて加工して、演出用の映像データを生成する。映像制御部647は、映像データを映像装置610に供給する。
 照明制御部648は、演出シナリオに基づいて、演出用のDMXデータを生成し、照明装置612に供給する。
 なお、例えば、図42の演出制御部631をプラグインソフトウエアにより実現することにより、ホールやライブハウス等のステージに設置されている既存の演出装置を用いて、モーション認識システム601を用いた演出システムを構築することができる。また、例えば、パーソナルコンピュータやタブレット等を用いて、本番のステージ環境をシミュレートすることが可能になる。
 <演出制御処理>
 次に、図43のフローチャートを参照して、演出システム600により実行される演出制御処理について説明する。
 この処理は、例えば、情報処理装置220(演出制御装置605)の入力部226を介して、パフォーマンス演出の実行の指令が入力されたとき開始される。
 ステップS501において、演出制御部631は、楽曲の解析を開始する。
 具体的には、楽曲入力部641は、外部から入力される楽曲データを取得し、楽曲解析部642に供給する処理を開始する。
 楽曲解析部642は、楽曲データに基づく楽曲のコード進行、テンポ、ビート、構造、含まれる楽器音等を解析し、解析結果をシナリオ生成部645に供給する処理を開始する。
 ステップS502において、シナリオ生成部645は、演出シナリオの生成を開始する。具体的には、シナリオ生成部645は、外部から供給される制御データ、及び、楽曲データの解析結果に基づいて、楽曲に合わせて音響、映像、及び、照明を制御し、パフォーマンス演出を行うための演出シナリオを生成し、音響制御部646、映像制御部647、及び、照明制御部648に供給する処理を開始する。また、シナリオ生成部645は、楽曲データを音響制御部646に供給する処理を開始する。
 ステップS503において、演出制御部631は、音響、映像、照明の制御を開始する。
 具体的には、音響制御部646は、シナリオ生成部645から供給される楽曲データ、及び、外部から供給される音響データを、演出シナリオに基づいて加工して、演出用の音響データを生成し、オーディオミキサ607に供給する処理を開始する。また、音響制御部646は、演出シナリオに基づいて音響制御データを生成し、シンセサイザ606に供給する処理を開始する。
 シンセサイザ606は、音響制御データに基づいて、演出用の各種の音声を生成し、生成した音声を出力するための音響データをオーディオミキサ607に供給する処理を開始する。
 オーディオミキサ607は、演出制御装置605からの音響データとシンセサイザ606からの音響データのミキシングを行い、ミキシング後の音響データをパワーアンプ608に供給する処理を開始する。
 パワーアンプ608は、音響データの増幅を行い、増幅後の音響データを音響装置609に供給する処理を開始する。
 音響装置609は、音響データに基づく音声を出力する処理を開始する。
 映像制御部647は、カメラ603から供給される映像データ、及び、外部から供給される映像データを演出シナリオに基づいて加工して、演出用の映像データを生成し、映像装置610に供給する処理を開始する。
 映像装置610は、映像データに基づく映像をステージ等に投影したり、表示したりする処理を開始する。
 照明制御部648は、演出シナリオに基づいて、演出用のDMXデータを生成し、照明装置612に供給する処理を開始する。
 DMXコントローラ611は、ユーザ入力等に従って、DMXデータを生成し、照明装置612に供給する処理を開始する。
 照明装置612は、照明制御部648及びDMXコントローラ611からのDMXデータに基づいて、各種の照明演出を行う処理を開始する。
 ステップS504において、各モーション認識システム601は、各パフォーマのモーションの認識処理を開始する。そして、各モーション認識システム601は、各パフォーマのモーションの認識結果に基づくモーション制御データの受信機602への送信を開始する。
 受信機602は、各モーション認識システム601からモーション制御データを受信し、情報処理装置220(演出制御装置605)の通信部229(図14)に送信する処理を開始する。
 通信部229は、各モーション認識システム601のモーション制御データをモーション入力部643に供給する処理を開始する。
 モーション入力部643は、各モーション認識システム601のモーション制御データを割り込み制御部644に供給する処理を開始する。
 ステップS505において、割り込み制御部644は、各モーション認識システム601のモーション制御データに基づいて、所定のモーションが検出されたか否かを判定する。所定のモーションが検出されたと判定された場合、処理はステップS506に進む。
 ステップS506において、演出制御部631は、割り込み処理を行う。
 例えば、割り込み制御部644は、所定のモーションが検出されたことをシナリオ生成部645に通知する。
 シナリオ生成部645は、外部から供給される制御データ、及び、楽曲データの解析結果に基づいて生成している演出シナリオに、検出されたモーションに対応した演出を追加する。
 これにより、例えば、パフォーマのダンスのステップに合わせて映像や照明が制御されるようになる。例えば、パフォーマの全身のリズムや動きの激しさ、手足の緩急等に応じて、照明の色や明るさが制御される。例えば、パフォーマと同じダンスの技を行うCGキャラクタが表示されたり、パフォーマのダンスのステップに合わせて照明が点滅したりする。
 その後、処理はステップS507に進む。
 一方、ステップS505において、所定のモーションが検出されていないと判定された場合、ステップS506の処理はスキップされ、処理はステップS507に進む。
 ステップS507において、シナリオ生成部645は、演出を終了するか否かを判定する。演出を終了しないと判定された場合、処理はステップS505に戻る。
 その後、ステップS507において、演出を終了すると判定されるまで、ステップS505乃至ステップS507の処理が繰り返し実行される。
 一方、ステップS507において、シナリオ生成部645は、情報処理装置220(演出制御装置605)の入力部226を介して、パフォーマンス演出の終了の指令が入力された場合、演出を終了すると判定し、演出制御処理は終了する。
 以上のようにして、楽曲データの解析結果や外部からの制御データに基づく演出を行いつつ、パフォーマのモーションに合わせた演出を行うことができる。
 <パフォーマンス演出の具体例>
 ここで、図44及び図45を参照して、演出システム600によるパフォーマンス演出の具体例について説明する。具体的には、空手の選手(パフォーマ)による空手の型に合わせて効果音を出力する場合の例について説明する。
 図44は、認識対象となるモーション(空手の技)と出力される効果音の関係を示す遷移図である。
 例えば、構え、右手突き、左手突き、右足蹴り、左足蹴りが認識対象となるモーションとされる。
 そして、モーションの遷移に基づいて、効果音が選択され出力される。すなわち、遷移前のモーションと遷移後のモーションの組み合わせに基づいて、演出内容(効果音)が選択され、出力される。
 例えば、選手が構えた状態から右手突き又は左手突きを行った場合、効果音Aが出力され、選手が構えた状態から右手蹴り又は左手蹴りを行った場合、効果音Eが出力される。
 選手が右手突きを行った後に構えに戻った場合、効果音Bが出力され、選手が右手突きを行った後に左手突きを行った場合、効果音Cが出力される。選手が左手突きを行った後に構えに戻った場合、効果音Bが出力され、選手が左手突きを行った後に右手突きを行った場合、効果音Dが出力される。
 選手が右足蹴りを行った後に構えに戻った場合、効果音Fが出力され、選手が右足蹴りを行った後に左足蹴りを行った場合、効果音Gが出力される。選手が左足蹴りを行った後に構えに戻った場合、効果音Fが出力され、選手が左足蹴りを行った後に右足蹴りを行った場合、効果音Hが出力される。
 これにより、選手の一連の動きの中で、動きの遷移に基づいて効果音を動的に変化させることができる。その結果、より効果的な演出を行うことができる。例えば、より粒度の細かい演出が実現され、より選手の動きにあった演出や、より臨場感の高い演出を実現することが可能になる。
 図45は、効果音が出力されるタイミングの例を示している。
 図45の上の図は、効果音、モーション認識、及び、センサデータの波形の時系列の推移の例を示している。
 この例では、選手のモーションが完了し、その認識が完了した時点で効果音が出力される。例えば、選手が右手突きを行い、右手突きが完了し、その認識が完了した時点で、「ダンッ」という効果音が出力される。次に、選手が右手突きを行った状態から構えに戻り、構えが完了し、その認識が完了した時点で、「シャッ」という効果音が出力される。次に、選手が構えた状態から右足蹴りを行い、右足蹴りが完了し、その認識が完了した時点で、「ドドーンッ」という効果音が出力される。
 一方、モーションの完了前、すなわち、モーションの途中で効果音を出力させたい場合も想定される。これに対して、例えば、図45の下の図に示されるように、モーション認識システム601のモーション認識部165においてモーション認識の予測を行い、その結果に基づいて、エフェクトタイミング(すなわち、効果音の出力タイミング)を早めるようにしてもよい。
 例えば、選手が右手突きを行っている最中に、右手突きの認識の予測が完了した時点で、「ダンッ」という効果音が出力される。次に、選手が右手突きを行った状態から構えに戻っている最中に、構えの認識の予測が完了した時点で、「シャッ」という効果音が出力される。次に、選手が構えた状態から右足蹴りを行っている最中に、右足蹴りの予測が完了した時点で、「ドドーンッ」という効果音が出力される。
 このように、モーション認識の予測を用いることにより、モーションが完了する前の途中の段階で、実行中のモーションに対する演出を行うことが可能になる。
 なお、ユーザのモーションの遷移に基づいて、効果音以外の演出内容の制御を行うことも可能である。
 また、例えば、モーションの遷移ではなく、モーションの種類毎に効果音等の演出内容を制御するようにしてもよい。例えば、選手が右手突きを行った場合に効果音Aを出力し、左手突きを行った場合に効果音Bを出力し、右足蹴りを行った場合に効果音Cを出力し、左足蹴りを行った場合に効果音Dを出力するようにしてもよい。
 <<6.第6の実施の形態>>
 次に、図46乃至図52を参照して、本技術の第6の実施の形態につい説明する。
 この第6の実施の形態では、上述したモーション認識システムを、人の行動の解析処理に用いた場合の例を示している。
 <解析システム700の構成例>
 図46は、本技術を適用した解析システム700の構成例を示している。なお、図中、図41の演出システム600と対応する部分には、同じ符号を付してあり、その説明は適宜省略する。
 解析システム700は、1人以上のユーザの行動の解析を行うシステムである。
 解析システム700は、モーション認識システム601-1乃至モーション認識システム601-n、受信機602、カメラ603、及び、解析処理装置701を備える。
 モーション認識システム601は、行動の解析対象となるユーザの数だけ設けられる。なお、解析対象となるユーザが1人のみの場合、モーション認識システム601は1つのみでも構わない。
 解析処理装置701は、例えば、パーソナルコンピュータ、タブレット、スマートフォン等により構成される。なお、以下、解析処理装置701が、図14の情報処理装置220により構成される場合を例に挙げて説明する。
 解析処理装置701は、受信機602から供給される各モーション認識システム601のモーション制御データ、及び、カメラ603から供給される映像データに基づいて、各ユーザの行動の解析処理を行う。
 <解析処理部731の構成例>
 図47は、解析処理装置701が図14の情報処理装置220により構成される場合に、情報処理装置220のCPU221が所定の制御プログラムを実行することにより実現される解析処理部731の構成例を示している。
 解析処理部731は、解析部741及びUI(User Interface)制御部742を備える。
 解析部741は、受信機602から供給される各モーション認識システム601のモーション制御データ、及び、カメラ603から供給される映像データに基づいて、各ユーザの行動の解析を行う。
 UI制御部742は、情報処理装置220の入力部226を介して入力されるユーザ入力等に基づいて、出力部227を制御して、各ユーザの行動の解析結果を提示する際のユーザインタフェースの制御を行う。
 <解析処理>
 次に、図48のフローチャートを参照して、解析システム700により実行される解析処理について説明する。
 この処理は、例えば、情報処理装置220(解析処理装置701)の入力部226を介して、解析処理の実行の指令が入力されたとき開始される。
 ステップS601において、各モーション認識システム601は、各ユーザのモーションの認識処理を行う。そして、各モーション認識システム601は、各ユーザのモーションの認識結果に基づくモーション制御データを受信機602に送信する。
 受信機602は、各モーション認識システム601からモーション制御データを受信し、情報処理装置220の通信部229(図14)に送信する。
 通信部229は、受信した各ユーザのモーション制御データを記憶部228に記憶させる。
 また、カメラ603は、各ユーザが行動する様子を撮影し、その結果得られた映像データを記憶部228に記憶させる。
 ステップS602において、解析部741は、各ユーザの行動の解析を行う。具体的には、解析部741は、記憶部228に記憶されている各ユーザのモーション制御データ、及び、カメラ603により撮影された映像データに基づいて、各ユーザの行動の解析を行う。解析部741は、解析結果を示す解析データを記憶部228に記憶させる。
 なお、この解析処理は、各ユーザのモーションの認識処理と並行して行うようにしてもよいし、各ユーザの行動が終了し、各ユーザのモーションの認識処理が終了した後に行うようにしてもよい。
 ステップS603において、出力部227は、UI制御部742の制御の下に、記憶部228に記憶されている解析データに基づいて、解析結果を提示する。
 その後、解析処理は終了する。
 ここで、図49乃至図52を参照して、解析結果の提示方法の例について説明する。具体的には、ラグビーの試合の各選手の行動の解析結果を提示する場合の例について説明する。
 この場合、例えば、ステイ、ウォーク、ラン、パス、キック、キャッチ、タックル、スクラム、ターン、トライ等の各選手のラグビー特有の動きがモーションとして認識される。
 そして、例えば、出力部227において、図49に示されるような解析画面が表示される。この解析画面は、映像表示部871、操作部872、時間表示部873、ポジション解析部874、及び、行動解析部875に大きく分かれる。
 映像表示部871には、カメラ603により撮影されたラグビーの試合の映像が表示される。
 操作部872には、映像表示部871に表示される映像に対して、再生、停止、早送り、巻き戻し等の操作を行うためのボタン等が表示される。
 時間表示部873には、映像表示部871に表示されている映像の時間に関する情報が表示される。
 ポジション解析部874には、映像表示部871に表示されている映像の時刻における各選手のポジジョンの解析結果が表示される。
 なお、各選手のポジション(位置情報)は、例えば、カメラ603により撮影される映像データや、GNSS受信機等を用いて検出される。
 行動解析部875には、各選手の行動の解析結果が表示される。図50は、行動解析部875の表示内容を拡大した図である。
 具体的には、行動解析部875には、複数の選手のモーションの認識結果が縦方向に並べて表示される。例えば、図50の例では、選手A乃至選手Dのモーションの認識結果が縦方向に並べて表示されている。例えば、行動解析部875内の表示を縦方向にスクロールすることにより、表示する選手を変更することができる。
 また、選手毎のモーション(動き)の遷移が横方向に時系列に並べて表示されている。例えば、選手Aのモーションが、スクラム、キャッチ、ラン、パス、ラン、タックル、ランの順に遷移していることが示されている。
 また、各選手のモーションのうち、パス、キャッチ、トライ等のボールの移動や得点に関わるモーションが、他のモーションと区別できるように、異なる色等で表示されている。
 さらに、各選手の行動の解析結果に基づいて、ボールの位置がトラッキングされ、その結果が、トラッキングライン881により表示されている。
 また、映像表示部871に表示されている映像の時刻に対応するタイムライン882が表示されている。このタイムライン882を左右にスライドさせることにより、映像表示部871に表示される映像の時刻を調整することができる。これにより、各選手が各モーションを行ったときの映像を容易に検索することができる。
 このように、図49及び図50の解析画面により、映像だけでは分からない個々の選手の動きや選手間のコンビネーション等を把握し、詳細に分析することが可能になる。
 図51は、各選手のモーションの認識結果及び位置情報に基づいて、各選手のモーションの実行位置を解析した結果を提示した例を示している。具体的には、図51の解析画面には、選手Aがキックを行った回数が表示されるとともに、キックを行った位置がヒートマップの形式で表示されている。例えば、選手Aがキックを行った回数が多い領域が強調して表示されている。
 図51の解析画面は、例えば、解析対象とする選手を切り替えたり、解析対象とするモーションを切り替えたりすることが可能である。また、例えば、複数の選手を一度に解析対象に設定したり、複数のモーションを一度に解析対象にしたりすることも可能である。
 これにより、各選手のモーションとその実行位置の関係を詳細に把握することができる。
 図52は、各選手のモーションの認識結果に基づいて、各選手のリロードに要する時間(例えば、選手が倒れてからプレイに復帰するまでの時間)を解析した結果を提示した例を示している。
 具体的には、図52のウインドウ891には、選手Aがリロードを行った時刻、及び、リロードに要した時間の一覧が表示されている。
 また、ウインドウ892には、リロードに要した時間の変化を示す折れ線グラフが表示されている。グラフの横軸はリロードの回数、すなわち何回目のリロードかを示し、縦軸は各回のリロードに要した時間を示している。
 なお、以上の例では、ラグビーの試合の解析結果を提示する例を示したが、もちろん他のスポーツに適用することも可能である。例えば、図51のヒートマップを、サッカーのボールを蹴った位置、バスケットボールのシュートを打った位置、ハンドボールのパスを行った位置等に適用することが可能である。
 <<7.適用例>>
 次に、上述した例以外の本技術の適用例について説明する。
 <モーション認識処理の適用例>
 例えば、本技術のモーション認識処理により認識されたモーションにより、各種の装置の操作やコマンドの入力等を行うことが可能である。
 具体的には、例えば、各種の装置や、VR(Virtual Reality)又はAR(Augmented Reality)を用いたシステムの操作を行うことが可能である。
 例えば、バーチャル格闘ゲームにおいて、プレイヤーの技の認識に本技術のモーション認識処理を用いることが可能である。そして、例えば、認識した技が相手のプレイヤーにヒットした場合、攻撃したプレイヤーのシステムに振動をフィードバックするようにしてもよい。
 例えば、ARを用いたゲームにおいて、ユーザがボールを投げるモーションが認識された場合、その速度や方向に応じてボールがヒットする地点が計算され、その地点のアイテムが取得されるようにしてもよい。
 例えば、ARを用いたシステムにおいて、ドアを開けるモーションが認識された場合、表示されているドアが開いたり、箱を開けるモーションが認識された場合、表示されている箱が開いたりするようにしてもよい。
 例えば、認識されたユーザのモーションによりドローン等を操作するようにしてもよい。
 また、例えば、スポーツ等の動きの評価に本技術のモーション認識処理を適用することが可能である。
 具体的には、例えば、ダンス教室やヨガ教室において、先生と生徒のモーションの認識結果を比較して、その比較結果を音声や振動等でリアルタイムに生徒にフィードバックすることが可能である。これにより、例えば、生徒は、先生が見えない位置にいても、自分の動きやポーズが正しいか否かを即座に認識することができる。なお、この場合、クラスのレベルに応じて、モーションの認識精度を変えるようにしてもよい。例えば、上級クラスでは、個々のモーションが正確に認識されるように認識精度を厳しくし、初級クラスでは、認識精度を甘くして、ユーザの1つの動きに対して複数のモーションの候補が認識されるようにしてもよい。
 さらに、例えば、パフォーマのモーションの認識結果に基づいて、ダンスを撮影した映像の特定の技を行った部分を切り取って繋げることにより、自動的にプロモーションビデオを生成することが可能である。また、ダンスの技の種類に応じて、カットチェンジやクロスフェード等の効果を自動的に入れることが可能である。
 また、例えば、ゲームの開発環境用ソフトウエアに対して、モーションの認識結果を利用するプラグインソフトウエアを作成し、プレイヤーの体の動きを用いたゲームの開発に適用することができる。
 また、例えば、病院等でのリハビリテーションを行う場合に、本技術のモーション認識処理を適用することが可能である。
 具体的には、例えば、正しいリハビリテーションの動きの手順を示すプログラム及び映像を事前に準備し、患者は映像を見ながらリハビリテーションを行う。そして、リハビリテーションを実行中の患者のモーションを認識し、プログラムの動きと患者の動きを比較することにより、リハビリテーションの達成度を検出するようにしてもよい。そして、例えば、患者がプログラムの手順通りにリハビリテーションを実行できた場合、次のステージに自動的に進めるようにしてもよい。これにより、各患者が、1人でプログラムに従って正確なリハビリテーションを実行することが可能になる。また、各患者のリハビリテーションの実行記録を自動的に生成し、蓄積することができ、病院側で各患者のリハビリテーションの進捗状況を自動的に管理することが可能になる。
 また、例えば、色、明るさ等が可変のペンライト又はリストバンドを携帯又は装着した観客のモーションに合わせて、ペンライトやリストバンドの色や明るさを制御するようにしてもよい。これにより、ステージと観客席で連携した演出等が可能になる。
 <モーションデータ及び演出データの流通>
 また、例えば、プロのパフォーマや振付師が、手本となる動き(振付やダンス等)を撮影した映像、及び、その動きに対応するモーション制御データを含むモーションデータをインターネット等で流通させるようにしてもよい。なお、モーション制御データは、本技術のモーション認識システムを用いて取得される。
 そして、例えば、クリエータが、その映像の動きに合わせた演出を行うための演出データをインターネット等で流通させるようにしてもよい。演出データは、例えば、映像の動きに合わせて流す映像又は音声、並びに、映像、音声又は照明の制御に用いる制御データ等を含む。
 これに対して、例えば、演出家は、モーションデータと映像データを入手し、入手したデータを用いて、オフラインでステージの演出を制作することができる。また、他のパフォーマやユーザは、演出データを入手して、各自が行うパフォーマンスの演出に用いることができる。
 <モーションの認識対象>
 なお、以上の説明では、人のモーションを認識する場合に本技術を適用する例を示したが、人以外のオブジェクトのモーションを認識する場合にも本技術を適用することが可能である。認識対象となるオブジェクトは、動物等の生物、又は、ロボット等の無生物のいずれであってもよい。また、認識対象が無生物である場合、ロボット等のように自律的或いはユーザ操作により動く無生物、又は、海の浮き等の波や風等の外部からの力により動く無生物のいずれであってもよい。
 <<8.変形例>>
 以下、上述した本開示に係る技術の実施の形態の変形例について説明する。
 <ウエアラブルセンサの装着数、装着位置に関する変形例>
 上述したように、ウエアラブルセンサの装着数や装着位置(検出ポイント)は、認識対象となるモーションや、要求される認識精度等により変更することが可能である。
 例えば、上述したダンスの技を認識する例において、頭部及び腰の代わりに、バンド等を用いて、背中にウエアラブルセンサを装着するようにしてもよい。
 例えば、ユーザがARアイウエアを装着して、体を使ったインタラクションを行う際に本技術を適用する場合、例えば、ウエアラブルセンサは、頭部及び両手首の3か所に装着される。なお、頭部にウエアラブルセンサを装着する代わりに、ARアイウエアにセンサを内蔵させてもよい。また、両手首には、例えば、軽量なバンドを用いてウエアラブルセンサが装着される。
 例えば、全身を使ったコマンド入力に本技術を適用する場合、軽量なバンドを用いて両手首及び両足首の4か所にウエアラブルセンサが装着される。
 例えば、上述したリハビリテーションにモーション認識システムを適用する場合、リハビリテーションの対象となる行動や体の部位に応じて、ウエアラブルセンサの装着数及び装着位置が設定される。例えば、腕のリハビリテーションを行う場合、巻き付け型のベルトを用いて、上腕及び手首の2か所にウエアラブルセンサが装着される。例えば、歩行動作のリハビリテーションを行う場合、巻き付け型のベルトを用いて、両太もも及び両足首の4か所にウエアラブルセンサが装着される。
 <第3の実施の形態及び第4の実施の形態の変形例>
 また、上述した第3の実施の形態及び第4の実施の形態の技術は、ウエアラブルセンサとモーション認識装置との間の通信だけでなく、一般的な送信機と受信機の間の通信に適用することが可能である。
 これにより、送信機、中継器、及び、受信機の間の所要時間の測定や時刻の同期を行うことなく、すぐに通信を開始したり、再開したりすることができる。また、受信機において、所定の事象が検出された時刻を正確に検出することができる。
 なお、検出時刻を検出する対象となる事象は、特に限定されない。例えば、ウエアラブルセンサの各センサにより検出される加速度、角速度等も、事象の一種である。
 また、送信機と受信機の間の通信経路が動的に変更されても、送信機、中継器、及び、受信機の間の所要時間の測定や時刻の同期を行うことなく、すぐに通信を開始することができる。また、受信機において、所定の事象が検出された時刻を正確に検出することができる。
 さらに、例えば、送信機が、省電力等の目的によりデータの送信を遅らせたり、データの送信を間引いたりしても、受信機において、所定の事象が検出された時刻を正確に検出することができる。
 なお、例えば、送信機と受信機の間の通信頻度が低い場合(例えば、1日1回等)に、送信機、中継器、及び、受信機の間の所要時間の測定や時刻の同期を行った場合、実データの送信にかかるコストに比較して、所要時間の測定や時刻の同期にかかるコストが大きくなる。ここで、コストとは、例えば、通信ネットワークの通信帯域の確保や時計のメインテナンスにかかるコスト、消費電力等である。一方、本技術を用いれば、そのようなコストの無駄を削減することができる。
 また、例えば、送信機、又は、送信機を備える装置に検出データを蓄積し、送信機と受信機又は中継器とが通信可能な状態になったときに、送信機から受信機又は中継器に検出データを送信する場合にも、本技術を適用することができる。この場合、送信機は、各検出データに送信所要時間を付加して送信するが、この送信所要時間には、各検出データが蓄積されていた時間が含まれる。従って、検出データが検出された時刻に応じて、各検出データに付加する送信所要時間が異なるようになる。
 以下、この適用例の具体例について説明する。
 例えば、水泳の選手が、複数の部位に各種のセンサを備える送信機を装着した状態で練習を行う。送信機は、水中にある場合など中継器又は受信機と通信できない場合、定期的に取得されるセンサデータを内部に蓄積する。そして、送信機は、受信機と通信可能になったとき、蓄積している各センサデータを、センサデータ毎の蓄積時間を含む送信所要時間情報とともに送信する。そして、例えば、センサデータ、並びに、送信所要時間に基づいて、選手の各事象の発生時刻が検出される。また、検出結果に基づいて、選手の各事象を時系列に並べたグラフを表示したり、選手のフォームをCGによりアニメーション化したりすることができる。
 例えば、複数のダンサーが、それぞれ複数の部位に各種のセンサを備える送信機を装着した状態で演技を行う。各送信機は、演技中に定期的に取得されるセンサデータを内部に蓄積し、演技終了後に蓄積している各センサデータを、センサデータ毎の蓄積時間を含む送信所要時間情報とともに受信機に送信する。そして、例えば、センサデータ及び送信所要時間に基づいて、各ダンサーの各事象の発生時刻が検出される。この検出結果に基づいて、各ダンサーの動きのタイミングや正確さ等の確認を行うことができる。また、例えば、各ダンサーの演技を撮影した映像のタイムラインと各事象の発生時刻を同期させて、表示させることができる。
 例えば、車両に設けられたセンサが、車両の各部品の走行中の状態を定期的に検出し、検出したセンサデータが車両に蓄積される。そして、車両が車庫に駐車され、車両に設けられている送信機と車庫に設けられている受信機とが通信可能な状態になったとき、送信機は、車両に蓄積されている各センサデータを、センサデータ毎の蓄積時間を含む送信所要時間情報とともに受信機に送信する。そして、センサデータ及び送信所要時間に基づいて、車両の各部品の事象の発生時刻が検出される。また、例えば、車両の各部品の事象の検出結果に基づいて、車両の部品の不具合、不具合の発生時刻、発生原因等が検出される。
 例えば、各積み荷にそれぞれセンサデバイスが装着され、各センサデバイスは、輸送中の各積み荷の温度、湿度、衝撃等を定期的に検出し、検出したセンサデータを内部に蓄積する。そして、各積み荷がそれぞれ送り先に到着したとき、積み荷に装着されているセンサデバイスは、蓄積している各センサデータを、センサデータ毎の蓄積時間を含む送信所要時間情報とともに、送り先の受信機に送信する。そして、センサデータ及び送信所要時間に基づいて、輸送中に積み荷に発生した事象及び発生時刻が検出される。
 例えば、患者にセンサデバイスが装着され、センサデバイスは、患者のバイタルサインを定期的に検出し、検出したセンサデータを内部に蓄積する。センサデバイスは、受信機に近づけられたとき、蓄積している各センサデータを、センサデータ毎の蓄積時間を含む送信所要時間情報とともに、受信機に送信する。そして、センサデータ及び送信所要時間に基づいて、患者の各事象及び発生時刻が検出される。
 <その他の変形例>
 上述した各装置やシステムの機能の分担はその一例であり、適宜変更することが可能である。例えば、図15の学習処理部251、図42の演出制御部631、又は、図47の解析処理部731の機能の一部又は全部をモーション認識装置に設けるようにしてもよい。
 また、例えば、モーション認識装置をユーザが装着するようにしてもよい。この場合、モーション認識装置とウエアラブルセンサを一体化してもよい。
 <<9.その他>>
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータ(例えば、情報処理装置220)にインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 <構成の組み合わせ例>
 本技術は、以下のような構成をとることもできる。
(1)
 所定の事象の検出結果を含む通信データが後段の装置に到着するまでに要する第1の所要時間を推定する所要時間推定部と、
 前記通信データ、及び、前記第1の所要時間を含む所要時間情報を前記後段の装置へ送信する送信部と
 を備える通信装置。
(2)
 前記第1の所要時間は、前記事象が検出されてから前記通信データが前記後段の装置に到着するまでの時間である
 前記(1)に記載の通信装置。
(3)
 前記通信装置は、人に装着され、
 前記事象は、前記人の動きである
 前記(2)に記載の通信装置。
(4)
 前記通信データを受信する受信部を
 さらに備え、
 前記第1の所要時間は、前記通信データが前記通信装置に到着してから前記後段の装置に到着するまでの時間である
 前記(1)に記載の通信装置。
(5)
 前記受信部は、前記通信データ、及び、前記通信データが前記通信装置に到着するまでに要する第2の所要時間を含む前記所要時間情報を受信し、
 前記送信部は、前記通信データ、並びに、前記第1の所要時間及び前記第2の所要時間を含む前記所要時間情報を前記後段の装置へ送信する
 前記(4)に記載の通信装置。
(6)
 前記第2の所要時間は、前段の装置において前記事象が検出されてから前記通信データが前記通信装置に到着するまでの時間である
 前記(5)に記載の通信装置。
(7)
 前記前段の装置は、人に装着され、
 前記事象は、前記人の動きである
 前記(6)に記載の通信装置。
(8)
 前記第2の所要時間は、前記通信データが前段の装置に到着してから前記通信装置に到着するまでの時間である
 前記(5)に記載の通信装置。
(9)
 通信装置が、
 所定の事象の検出結果を含む通信データが後段の装置に到着するまでに要する所要時間を推定し、
 前記通信データ、及び、前記所要時間を含む所要時間情報を前記後段の装置へ送信する
 通信方法。
(10)
 所定の事象の検出結果を含む通信データ、及び、前記通信データが到着するまでに要する所要時間を含む所要時間情報を受信する受信部と、
 前記所要時間情報に基づいて、前記事象が検出された時刻を算出する時刻算出部と
 を備える通信装置。
(11)
 前記所要時間は、前記事象が検出されてから前記通信データが前記通信装置に到着するまでに要する時間である
 前記(10)に記載の通信装置。
(12)
 前記所要時間は、前記通信データが前段の装置に到着してから前記通信装置に到着するまでに要する時間を含む
 前記(11)に記載の通信装置。
(13)
 前記所要時間は、前段の装置において前記事象が検出されてから前記通信データが前記通信装置に到着するまでに要する時間である
 前記(11)に記載の通信装置。
(14)
 前記前段の装置は、人に装着され、
 前記事象は、前記人の動きである
 前記(13)に記載の通信装置。
(15)
 前記時刻算出部は、現在の時刻から前記所要時間を引くことにより、前記事象が検出された時刻を算出する
 前記(10)乃至(14)のいずれかに記載の通信装置。
(16)
 前記事象は、人の動きである
 前記(10)に記載の通信装置。
(17)
 通信装置が、
 所定の事象の検出結果を含む通信データ、及び、前記通信データが到着するまでに要する所要時間を含む所要時間情報を受信し、
 前記所要時間情報に基づいて、前記事象が検出された時刻を算出する
 通信方法。
 100 モーション認識システム, 101 ウエアラブルセンサ, 102 モーション認識装置, 139 センサデータ取得部, 144 パケット生成部, 145 送信制御部, 161 受信部, 165 モーション認識部, 166 送信制御部, 167 送信部, 200 学習システム, 201 学習処理装置, 220 情報処理装置, 221 CPU, 229 通信部, 265 学習データ生成部, 266 学習部, 267 UI制御部, 300 モーション認識システム, 301 ウエアラブルセンサ, 302 モーション認識装置, 331 パケット生成部, 334 送信制御部, 361 通信制御部, 400 モーション認識システム, 401 ウエアラブルセンサ, 402 モーション認識装置, 432 所要時間推定部, 433 パケット生成部, 462 検出時刻算出部, 501 中継器, 531 受信部, 534 所要時間推定部, 535 パケット更新部, 536 送信制御部, 537 送信部, 600 演出システム, 601 モーション認識システム, 605 演出制御装置, 631 演出制御部, 645 シナリオ生成部, 646 音響制御部, 647 映像制御部, 648 照明制御部, 700 解析システム, 701 解析処理装置, 731 解析処理部, 741 解析部, 742 UI制御部

Claims (17)

  1.  所定の事象の検出結果を含む通信データが後段の装置に到着するまでに要する第1の所要時間を推定する所要時間推定部と、
     前記通信データ、及び、前記第1の所要時間を含む所要時間情報を前記後段の装置へ送信する送信部と
     を備える通信装置。
  2.  前記第1の所要時間は、前記事象が検出されてから前記通信データが前記後段の装置に到着するまでの時間である
     請求項1に記載の通信装置。
  3.  前記通信装置は、人に装着され、
     前記事象は、前記人の動きである
     請求項2に記載の通信装置。
  4.  前記通信データを受信する受信部を
     さらに備え、
     前記第1の所要時間は、前記通信データが前記通信装置に到着してから前記後段の装置に到着するまでの時間である
     請求項1に記載の通信装置。
  5.  前記受信部は、前記通信データ、及び、前記通信データが前記通信装置に到着するまでに要する第2の所要時間を含む前記所要時間情報を受信し、
     前記送信部は、前記通信データ、並びに、前記第1の所要時間及び前記第2の所要時間を含む前記所要時間情報を前記後段の装置へ送信する
     請求項4に記載の通信装置。
  6.  前記第2の所要時間は、前段の装置において前記事象が検出されてから前記通信データが前記通信装置に到着するまでの時間である
     請求項5に記載の通信装置。
  7.  前記前段の装置は、人に装着され、
     前記事象は、前記人の動きである
     請求項6に記載の通信装置。
  8.  前記第2の所要時間は、前記通信データが前段の装置に到着してから前記通信装置に到着するまでの時間である
     請求項5に記載の通信装置。
  9.  通信装置が、
     所定の事象の検出結果を含む通信データが後段の装置に到着するまでに要する所要時間を推定し、
     前記通信データ、及び、前記所要時間を含む所要時間情報を前記後段の装置へ送信する
     通信方法。
  10.  所定の事象の検出結果を含む通信データ、及び、前記通信データが到着するまでに要する所要時間を含む所要時間情報を受信する受信部と、
     前記所要時間情報に基づいて、前記事象が検出された時刻を算出する時刻算出部と
     を備える通信装置。
  11.  前記所要時間は、前記事象が検出されてから前記通信データが前記通信装置に到着するまでに要する時間である
     請求項10に記載の通信装置。
  12.  前記所要時間は、前記通信データが前段の装置に到着してから前記通信装置に到着するまでに要する時間を含む
     請求項11に記載の通信装置。
  13.  前記所要時間は、前段の装置において前記事象が検出されてから前記通信データが前記通信装置に到着するまでに要する時間である
     請求項11に記載の通信装置。
  14.  前記前段の装置は、人に装着され、
     前記事象は、前記人の動きである
     請求項13に記載の通信装置。
  15.  前記時刻算出部は、現在の時刻から前記所要時間を引くことにより、前記事象が検出された時刻を算出する
     請求項10に記載の通信装置。
  16.  前記事象は、人の動きである
     請求項10に記載の通信装置。
  17.  通信装置が、
     所定の事象の検出結果を含む通信データ、及び、前記通信データが到着するまでに要する所要時間を含む所要時間情報を受信し、
     前記所要時間情報に基づいて、前記事象が検出された時刻を算出する
     通信方法。
PCT/JP2018/028553 2017-08-14 2018-07-31 通信装置及び通信方法 WO2019035349A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017156550A JP2019033868A (ja) 2017-08-14 2017-08-14 通信装置及び通信方法
JP2017-156550 2017-08-14

Publications (1)

Publication Number Publication Date
WO2019035349A1 true WO2019035349A1 (ja) 2019-02-21

Family

ID=65362597

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/028553 WO2019035349A1 (ja) 2017-08-14 2018-07-31 通信装置及び通信方法

Country Status (2)

Country Link
JP (1) JP2019033868A (ja)
WO (1) WO2019035349A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023189649A1 (ja) * 2022-03-30 2023-10-05 ソニーグループ株式会社 情報処理システム、プログラムおよび情報処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0936898A (ja) * 1995-07-18 1997-02-07 Tokyo Electric Power Co Inc:The 遠隔計測通信装置
WO2015019808A1 (ja) * 2013-08-07 2015-02-12 株式会社村田製作所 体幹筋収縮検出装置
JP2016097200A (ja) * 2014-11-26 2016-05-30 カシオ計算機株式会社 信号処理装置、信号処理方法及び信号処理プログラム
EP3072440A1 (en) * 2015-03-24 2016-09-28 Gradient Technologies S.L. Method and portable device for tracking sports activity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0936898A (ja) * 1995-07-18 1997-02-07 Tokyo Electric Power Co Inc:The 遠隔計測通信装置
WO2015019808A1 (ja) * 2013-08-07 2015-02-12 株式会社村田製作所 体幹筋収縮検出装置
JP2016097200A (ja) * 2014-11-26 2016-05-30 カシオ計算機株式会社 信号処理装置、信号処理方法及び信号処理プログラム
EP3072440A1 (en) * 2015-03-24 2016-09-28 Gradient Technologies S.L. Method and portable device for tracking sports activity

Also Published As

Publication number Publication date
JP2019033868A (ja) 2019-03-07

Similar Documents

Publication Publication Date Title
CN110997093B (zh) 信息处理装置、信息处理方法和程序
JP7424456B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN108369646B (zh) 多传感器事件检测和标记系统
JP2014187481A (ja) 情報処理装置、記録媒体および情報処理システム
US20200365126A1 (en) Information processing method
KR20170129716A (ko) 성능 센서 데이터에 기초한 적응 훈련 프로그램의 공급을 포함하는 쌍방향 기능 훈련내용을 제공할 수 있도록 하는 구조, 장치 및 방법
US11682157B2 (en) Motion-based online interactive platform
KR20080003738A (ko) 쌍방향 비디오·오디오 플레이 시스템 및 그 방법
US20190089886A1 (en) Information processing apparatus, information processing method, and program
JP2019136493A (ja) 運動の採点方法、システム及びプログラム
JP2018522361A (ja) パフォーマンスセンサユニットから得られるユーザパフォーマンス属性に基づいてメディアデータの自動化された分類及び/又は検索を可能にするように構成されたフレームワーク、デバイス及び方法論
WO2019035349A1 (ja) 通信装置及び通信方法
JP2010125253A (ja) 運動支援システム、方法、装置及び指導情報生成装置
JP2018165925A (ja) 情報処理システム、情報処理方法、情報処理プログラム
JP2005034195A (ja) 講習支援システム及び講習支援方法
JP2010136864A (ja) 運動支援装置
US10511398B2 (en) Electronic device for improving cooperation among a plurality of members
KR20190038748A (ko) 성능 모니터링 하드웨어를 통한 사용자 성능 모니터링에 기초하여 기능 훈련 데이터의 실시간 적응 공급을 가능하게 하는 구조 및 방법
JP2019103728A (ja) プログラム及びゲームシステム
JPWO2018179664A1 (ja) 情報処理装置、情報処理方法及びプログラム
US20240135617A1 (en) Online interactive platform with motion detection
JP6977857B2 (ja) 報知システム、報知方法及びプログラム
US11167206B2 (en) Portable music playing game device
EP4306192A1 (en) Information processing device, information processing terminal, information processing method, and program
JP2019103729A (ja) プログラム及びゲームシステム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18846167

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18846167

Country of ref document: EP

Kind code of ref document: A1