以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.情報処理装置の機能構成
2.アクション検出処理の例
2-1.ジャンプの検出-1
2-2.ジャンプの検出-2
2-3.ターンの検出
3.付加的な処理の例
3-1.アクションスコアの算出
3-2.クラスタリング処理
3-3.センサ装着状態の推定
4.マップ表現の例
4-1.マップ表現の例
4-2.安全マップの生成
4-3.ナビゲーションの提供
4-4.アクション検出設定の変更
4-5.施設レベルの算出
5.ハードウェア構成
6.補足
7.機器制御の例
7-1.第1の例
7-2.第2の例
7-3.第3の例
7-4.第4の例
7-5.第5の例
7-6.第6の例
7-7.ユーザのプロファイルについて
8.ハードウェア構成
9.補足
(1.情報処理装置の機能構成)
図1は、本開示の一実施形態に係る情報処理装置の概略的な機能構成を示すブロック図である。図1を参照すると、情報処理装置100は、送信部101と、受信部102と、センサデバイス制御部103と、センサデータ解析部104と、解析結果処理部107と、検出区間情報保持部110と、付加的情報保持部111と、サービス制御部112とを含む。
情報処理装置100は、例えば後述するいくつかの具体的な例において示されるように、ネットワーク上のサーバを構成する単一の装置、または装置の集合体でありうる。また、情報処理装置100は、ネットワークを介してサーバと通信する端末装置、または単独で動作する端末装置であってもよい。あるいは、情報処理装置100の機能は、ネットワークを介して互いに通信するサーバと端末装置とに分散して実現されてもよい。情報処理装置100、または情報処理装置100の機能を実現する複数の装置のそれぞれのハードウェア構成については後述する。
送信部101および受信部102は、例えば有線または無線の各種通信方式によってセンサデバイスと通信する通信装置によって実現される。センサデバイスは、ユーザまたはユーザによって使用される器具に装着された少なくとも1つのセンサを含む。送信部101は、センサデバイス制御部103が出力する制御信号をセンサデバイスに送信する。受信部102は、センサデバイスからセンサデータおよび時刻情報(タイムスタンプ)を受信し、これらをセンサデバイス制御部103に入力する。図示された例において、受信部102は、ユーザまたはユーザによって使用される器具に装着されたセンサによって提供されるセンサデータを受信するセンサデータ受信部を実現する。なお、例えば情報処理装置100が、少なくとも1つのセンサを備える端末装置、より具体的にはモバイルデバイスやウェアラブルデバイスであるような場合には、センサからセンサデータを受信するドライバプログラムを実行するCPU(Central Processing Unit)などのプロセッサによってセンサデータ受信部が実現されてもよい。また、本実施形態に係る情報処理装置は、例えば、センサを備える外部の装置からセンサデータを取得する取得部を備えていてもよい。ここで、取得部は、例えば、“送信部101および受信部102を実現する上記通信装置などを介して、センサを備える外部の装置からセンサデータを受信するドライバプログラム”を実行するCPUなどのプロセッサによって、実現される。なお、取得部を備える場合、本実施形態に係る情報処理装置は、センサデータ受信部を備えない構成をとることも可能である
センサデバイス制御部103は、例えばCPUなどのプロセッサが、メモリに格納されたプログラムに従って動作することによって実現される。センサデバイス制御部103は、受信部102からセンサデータおよび時刻情報を取得する。センサデバイス制御部103は、これらのデータをセンサデータ解析部104および解析結果処理部107に提供する。センサデバイス制御部103は、必要に応じて、データの前処理を実施してもよい。また、センサデバイス制御部103は、センサデバイスの制御信号を送信部101に出力する。いくつかの実施形態において、センサデバイス制御部103は、センサデータ解析部104または解析結果処理部107における処理の結果のフィードバックに基づいて、制御信号を出力してもよい。
センサデータ解析部104は、例えばCPUなどのプロセッサが、メモリに格納されたプログラムに従って動作することによって実現される。センサデータ解析部104は、センサデバイス制御部103から提供されたセンサデータを用いた種々の解析を実行する。図示された例において、センサデータ解析部104は、特徴量抽出部105と、アクション検出部106とを含む。特徴量抽出部105は、センサデータから各種の特徴量を抽出する。アクション検出部106は、特徴量抽出部105によってセンサデータから抽出された特徴量に基づいて、ユーザのアクションを検出する。本実施形態において、アクション検出部106が検出するユーザのアクションには、ユーザのターンおよび/またはジャンプが含まれる。さらに、アクション検出部106は、歩く、走る、静止する、乗り物で移動するなどといった、その他のユーザのアクションを検出してもよい。ユーザのアクションは、それが発生した区間(アクション区間)を示す時刻情報(タイムスタンプ)に関連付けて検出されうる。センサデータ解析部104は、解析結果、より具体的には例えばアクション検出部106によって検出されたユーザのアクション区間を含む情報を、検出区間情報保持部110に格納する。また、センサデータ解析部104は、解析結果を、解析結果処理部107に提供する。
解析結果処理部107は、例えばCPUなどのプロセッサが、メモリに格納されたプログラムに従って動作することによって実現される。解析結果処理部107は、センサデータ解析部104の解析結果、より具体的にはアクション検出部106によって検出されたユーザのアクションの情報に基づいて、後段のサービス制御部112によって利用される各種の付加的な情報を生成する。図示された例において、解析結果処理部107は、クラスタリング処理部108と、スコアリング処理部109とを含む。例えば、検出されたユーザのアクションが同じ種類の複数のアクションを含む場合、クラスタリング処理部108が、これらのアクションをその特徴量(特徴量抽出部105によって抽出された特徴量であってもよいし、アクション検出部106によって算出された中間的な特徴量であってもよい)に基づいてクラスタリングしてもよい。また、同じ場合、スコアリング処理部109が、特徴量に基づいてアクションの評価を示すスコアを算出してもよい。また、クラスタリング処理部108および/またはスコアリング処理部109は、センサデバイス制御部103から提供されたセンサデータに基づいて、新たに特徴量を算出してもよい。解析結果処理部107は、処理結果、より具体的にはクラスタリング処理部108によるクラスタリングの結果や、スコアリング処理部109によって算出されたスコアの情報を、時刻情報(タイムスタンプ)とともに付加的情報保持部111に格納する。
検出区間情報保持部110および付加的情報保持部111は、例えば各種のメモリまたはストレージ装置によって実現される。検出区間情報保持部110および付加的情報保持部111は、上記のようにセンサデータ解析部104および解析結果処理部107から提供された情報を、一時的または永続的に格納する。検出区間情報保持部110に格納された情報と、付加的情報保持部111に格納された情報とは、例えば時刻情報(タイムスタンプ)によって互いに対応付けることが可能でありうる。また、検出区間情報保持部110および付加的情報保持部111には、複数のユーザのそれぞれに関する情報が格納されてもよい。
サービス制御部112は、例えばCPUなどのプロセッサが、メモリに格納されたプログラムに従って動作することによって実現される。サービス制御部112は、検出区間情報保持部110および/または付加的情報保持部111に格納された情報を利用して、サービス113を制御する。より具体的には、例えば、サービス制御部112は、検出区間情報保持部110および/または付加的情報保持部111から読み出した情報に基づいて、サービス113においてユーザに提供される情報を生成する。なお、例えば情報処理装置100がサーバであるような場合、サービス制御部112によって出力された情報は、通信装置を介して端末装置に送信されうる。また、例えば情報処理装置100が端末装置であるような場合、サービス制御部112によって出力された情報は、端末装置が備えるディスプレイ、スピーカ、またはバイブレータなどの出力装置に提供されうる。
(2.アクション検出処理の例)
以下では、本開示の一実施形態において実行されるアクション検出処理の例について説明する。これらの例では、ユーザがスノーボードをしている場合に発生するジャンプおよびターンが検出される。例えば、スノーボードの場合、加速度センサおよび角速度センサなどを含むセンサデバイスは、ウェアに埋め込まれたり、ウェアラブル端末装置やモバイル端末装置に組み込まれたりすることによって、ユーザに直接的に装着されてもよい。あるいは、センサデバイスは、スノーボードの用具、例えばボードに装着されてもよい。
なお、本実施形態で実行されるアクション検出処理はスノーボードで発生するジャンプやターンには限られず、例えばスノーボード以外のスポーツで発生するジャンプやターンについてアクション検出処理が実行されてもよい。ジャンプやターンは、さまざまなスポーツで共通して発生しうるアクションであるため、例えば以下で説明するような検出処理によって、スポーツの種類に関わらずジャンプやターンを検出することが可能でありうる。また、本実施形態で実行されるアクション検出処理では、ジャンプやターン以外のアクションが検出されてもよい。そのようなアクション検出処理には、例えば特開2010-198595号公報などに記載された行動認識の技術において利用されている様々な技術を応用することが可能である。
(2-1.ジャンプの検出-1)
図2は、本開示の一実施形態において、ユーザのアクションに含まれるジャンプを検出するための処理の第1の例を示すフローチャートである。図示された処理は、例えば上記の情報処理装置100に含まれるセンサデータ解析部104において実行される。
まず、センサデータ解析部104は、所定のタイムフレームごとに、ハイインパクト検出処理(S110)と、自由落下検出処理(S120)とを実行する。なお、これらの処理の詳細については後述する。これらの処理の結果を受けて、センサデータ解析部104に含まれるアクション検出部106は、2つのハイインパクト区間(踏み切りおよび着地と推定される)に挟まれた区間が発生したか否かを判定する(S101)。そのような区間が発生した場合、アクション検出部106は、区間の持続時間(duration)が2つの閾値(TH1,TH2)の間にあるか否かを判定する(S102)。これらの閾値は、例えば、ジャンプとしては長すぎる区間や短すぎると判断される区間を除外する目的で設定される。
S102の判定において持続時間が2つの閾値の間にあった場合、さらに、アクション検出部106は、当該区間における自由落下区間の比率が閾値(TH)を超えるか否かを判定する(S103)。自由落下区間の比率が閾値を超える場合、当該区間(2つのハイインパクト区間に挟まれた区間)がジャンプ区間であることが検出される(S104)。
図3は、図2に示したハイインパクト検出処理(S110)の例を示すフローチャートである。図3を参照すると、ハイインパクト検出処理では、センサデータに含まれる加速度(D111)が利用される。まず、センサデータ解析部104に含まれる特徴量抽出部105が、加速度のノルムを算出し(S112)、さらにノルムをLPF(Low Pass Filter)によってスムージングする(S113)。続いて、特徴量抽出部105は、スムージングされた加速度のノルムについて、所定のタイムフレームで振幅のパワーを算出する(S114)。アクション検出部106は、パワーが閾値(TH)を上回るか否かを判定し(S115)、パワーが閾値を上回る場合、当該タイムフレームがハイインパクト区間であることを検出する(S116)。
なお、本明細書および図面において、TH、TH1またはTH2などとして表記される閾値には、それぞれの処理において適切な値が設定される。つまり、これらの閾値がいずれもTHなどとして表記されていることは、これらの閾値が同じ値であることを示すものではない。
図4は、図2に示した自由落下検出処理(S120)の第1の例を示すフローチャートである。図4を参照すると、第1の例に係る自由落下検出処理では、センサデータに含まれる加速度(D121)および角速度(D125)が利用される。まず、特徴量抽出部105が加速度のノルムを算出し(S122)、アクション検出部106が各区間におけるノルムが閾値(TH)を下回るか否かを判定する(S123)。アクション検出部106は、加速度のノルムが閾値を下回った区間について、当該区間が自由落下区間であることを検出する(S124)。
一方、特徴量抽出部105は、角速度についてもノルムを算出し(S126)、さらに所定のタイムフレームにおけるノルムの分散を算出する(S127)。アクション検出部106は、角速度のノルムの分散が閾値(TH)を下回るか否かを判定し(S128)、分散が閾値を下回る場合、S124において検出された自由落下区間をマスクする(つまり、自由落下区間としての判定を取り消す)(S129)。このような角速度に基づくマスク処理は、ユーザがジャンプした場合には角速度の変化が発生するため、角速度の変化(分散)が小さい自由落下区間はジャンプ以外の原因で発生している、という知見に基づく。
なお、上記の処理において、S126~S129におけるマスクの処理は、必ずしもS121~S124における自由落下区間の判定処理の後に実行されなくてもよい。例えば、アクション検出部106は、マスクの処理を先行して実行し、マスクする区間として特定された区間については自由落下区間の判定処理を実行しなくてもよい。あるいは、マスクの処理は、図2に示したジャンプ区間の検出処理(S104)の後に実行され、一旦ジャンプ区間として検出された区間がマスクされてもよい。さらにいえば、図4などに示す自由落下処理(S120)は、必ずしも図2に示した区間の発生判定(S101)の前に実行される必要はなく、区間の発生判定の後、例えば自由落下区間の比率に関する判定(S103)の前に、当該区間について自由落下検出処理が実行されてもよい。
図5は、図2に示した自由落下検出処理(S120)の第2の例を示すフローチャートである。図5を参照すると、第2の例に係る自由落下検出処理では、ユーザまたはユーザによって使用される器具に装着された加速度センサによって提供されるセンサデータに含まれる加速度(D121)が利用される。S122~S124では、特徴量抽出部105およびアクション検出部106が上記の第1の例と同様の処理を実行し、自由落下区間を検出する。
一方、本例において、特徴量抽出部105は、加速度のX軸成分およびY軸成分を抽出し(S132)、さらに加速度のX軸成分とY軸成分との間での共分散を算出する(S133)。より具体的には、例えば、特徴量抽出部105は、ユーザが基準面(水平面には限らず、傾斜面であってもよい)上を歩いたり走ったりしている場合に、加速度センサの座標軸のうちユーザの進行方向に最も近い軸をX軸、基準面の法線方向に最も近い軸をY軸とし、これらの軸方向の加速度成分(X軸成分、Y軸成分)の共分散を算出する。アクション検出部106は、共分散が閾値(TH)を下回るか否かを判定し(S134)、共分散が閾値を下回る場合、S124において検出された自由落下区間をマスクする(S129)。このような加速度の共分散に基づくマスク処理は、例えば、検出したいジャンプが専ら基準面の法線方向の変位を伴ういわゆる垂直跳びではなく、ユーザの進行方向への変位を伴うジャンプである場合に有効である。
(2-2.ジャンプの検出-2)
図6は、本開示の一実施形態において、ユーザのアクションに含まれるジャンプを検出するための処理の第2の例を示すフローチャートである。図示された処理は、上記の第1の例と同様に、例えば情報処理装置100に含まれるセンサデータ解析部104において実行される。
まず、センサデータ解析部104は、候補セクション検出処理(S140)を実行する。なお、この処理の詳細については後述する。処理の結果を受けて、センサデータ解析部104に含まれるアクション検出部106は、候補区間が発生したか否かを判定する(S105)。候補区間が発生した場合、アクション検出部106は、上記の第1の例と同様に、区間の持続時間(duration)が2つの閾値(TH1,TH2)の間にあるか否かを判定する(S102)。持続時間が2つの閾値の間にあった場合、さらに、アクション検出部106は、区間における鉛直方向および水平方向の加速度の平均値(mean)がそれぞれの閾値(THs)を超えるか否かを判定する(S106)。加速度の平均値がそれぞれの閾値を超える場合、当該候補区間がジャンプ区間であることが検出される(S104)。
図7は、図6に示した候補区間検出処理(S140)の例を示すフローチャートである。図7を参照すると、候補区間検出処理では、まず、上記で図3を参照して説明したハイインパクト検出処理(S110)と、鉛直方向加速度算出処理(S141)と、水平方向加速度算出処理(S142)とが実行される。さらに、センサデータ解析部104に含まれる特徴量抽出部105は、各区間について、S141,S142で算出された鉛直方向加速度と水平方向加速度との差分を算出する(S143)。その上で、アクション検出部106が、2つのハイインパクト区間(踏み切りおよび着地と推定される)に挟まれた区間が発生したか否かを判定する(S144)。そのような区間が発生した場合、アクション検出部106は、S143で算出された鉛直方向加速度と水平方向加速度との差分が、当該区間において閾値(TH)を超えるか否かを判定する(S145)。差分が閾値を超える場合、当該区間(2つのハイインパクト区間に挟まれた区間)がジャンプ区間の候補区間であることが検出される(S146)。
図8は、図7に示した鉛直方向加速度算出処理(S141)の例を示すフローチャートである。図8を参照すると、鉛直方向加速度算出処理では、センサデータに含まれる加速度(D151)が利用される。まず、センサデータ解析部104に含まれる特徴量抽出部105が、加速度の平均値(mean)を算出する(S152)。ここで算出される平均値は、例えば移動平均でありうる。S152で算出された加速度の平均値に基づいて、特徴量抽出部105は重力成分加速度算出処理を実行する(S153)。さらに、特徴量抽出部105は、算出された重力成分加速度のノルムを算出する(S154)。なお、重力成分加速度は、移動平均などの平均値に基づいて算出されてもよいし、LPFなどのフィルタを用いて算出されてもよい。
一方、特徴量抽出部105は、上記のS152~S154の処理とは別に、加速度(D151)をBPF(Band Pass Filter)で処理する(S155)。図示された例において、BPFは、低周波領域のフィルタによって加速度に含まれるDC成分(つまり、重力成分)を除去し、さらに高周波領域のフィルタによって加速度をスムージングすることを目的として用いられる。なお、S155のBPFは、例えばLPFやHPF(High Pass Filter)など、他の種類のフィルタの組み合わせによって代替されてもよい。特徴量抽出部105は、BPFによって処理された加速度について、S153で算出された重力成分加速度との内積を算出する(S156)。
さらに、特徴量抽出部105は、S156で算出された内積を、S154で算出された重力成分加速度のノルムで割る(S157)。これによって、鉛直方向加速度(V158)が得られる。図示された例において、鉛直方向加速度は、BPF(S155)によって重力成分を除去した加速度を、重力成分加速度の方向に射影することによって算出されている。
図9は、図7に示した水平方向加速度算出処理(S142)の例を示すフローチャートである。図9を参照すると、水平方向加速度算出処理でも、センサデータに含まれる加速度(D151)が利用される。また、水平方向加速度算出処理では、上記で図8を参照して説明した鉛直方向加速度算出処理(S141)において算出された鉛直方向加速度が利用される。より具体的には、センサデータ解析部104に含まれる特徴量抽出部105は、鉛直方向加速度を2乗して利用する(S161)。
その一方で、特徴量抽出部加速度(D151)をBPFで処理し(S162)、加速度に含まれるDC成分を除去するとともに加速度をスムージングする。なお、S162のBPFも、例えばLPFやHPFなど、他の種類のフィルタの組み合わせによって代替されてもよい。特徴量抽出部105は、BPFによって処理された加速度のノルムを算出し(S163)、これを2乗する(S164)。さらに、特徴量抽出部105は、S161で算出された鉛直方向加速度の2乗と、S164で算出された水平方向加速度の2乗との差分を算出し(S165)、差分の平方根(S166)によって水平方向加速度(V167)を得る。
以上で説明したような、本開示の一実施形態におけるジャンプ検出では、ジャンプ検出の第1の例(図2)で自由落下検出処理に第1の例(図4)を採用する場合と、同じくジャンプ検出の第1の例(図2)で自由落下検出処理に第2の例(図5)を採用する場合と、ジャンプ検出の第2の例(図6)の場合とで、合計3種類のジャンプ検出処理が可能である。アクション検出部106を含むセンサデータ解析部104は、これらの3種類のジャンプ検出処理をそれぞれ実行した上で、それらの結果に基づいて最終的なジャンプ区間を検出してもよい。より具体的には、例えば、アクション検出部106は、3種類のジャンプ検出処理のうちの少なくとも1つでジャンプ区間が検出された場合に、当該区間を最終的なジャンプ区間として検出してもよい。あるいは、アクション検出部106は、3種類のジャンプ検出処理のうちの2つ以上、または3種類すべてでジャンプ区間が検出された場合に、当該区間を最終的なジャンプ区間として検出してもよい。
(2-3.ターンの検出)
図10は、本開示の一実施形態において、ユーザのアクションに含まれるターン区間を検出するための処理の例を示すフローチャートである。図示された処理は、例えば上記の情報処理装置100に含まれるセンサデータ解析部104において実行される。以下の処理では、センサデータ解析部104が、ユーザのアクションに含まれる回転を検出し(S210)、さらにその回転に含まれる非ターン性の回転を検出し(S230)、回転から非ターン性の回転を除いたものの中からターンを検出する(S250)。
ここで、非ターン性の回転は、例えば、センサがユーザの頭部、またはユーザの頭部に装着される器具に装着されるセンサを含む場合に、ユーザの首振りによって発生する回転を含む。非ターン性の回転は、他にも、ユーザの体動によって発生する回転、より具体的には、センサがユーザの腕部、またはユーザの腕部に装着される器具に装着されるセンサを含む場合に、ユーザの腕振りや腕回しによって発生する回転などを含みうる。
本実施形態では、センサデータ解析部104が、このような非ターン性の回転を除いた上でターン区間を検出することで、より精度の高いターン区間の検出が可能になる。そのような意味で、非ターン性の回転は、検出対象であるターンに対するノイズであるともいえ、本実施形態において、センサデータ解析部104は、ユーザのアクションに含まれる回転を検出し、さらにその回転に含まれるノイズを検出し、回転からノイズを除いたものの中からターンを検出するともいえる。
まず、センサデータ解析部104は、回転区間検出処理(S210)を実行する。本実施形態において、回転区間は、水平面方向の角速度が閾値を超える区間として定義される。センサデータ解析部104は、回転区間が発生したか否かを判定する(S201)。回転区間が発生した場合、まず、センサデータ解析部104は、首振り(HEAD SHAKE)検出処理(S230)を実行する。さらに、センサデータ解析部104は、首振りが検出されたか否かを判定し(S203)、首振りが検出されなかった場合に、さらにターン検出処理(S250)を実行する。このような処理によって、回転区間からユーザの首振り(例えば、センサが頭部装着型のウェアラブル端末装置に搭載されている場合などに発生する)によって生じた区間が除かれ、さらに回転半径や角速度、持続時間などが所望の条件を満たすターン区間を抽出することができる。
図11は、図10に示した回転区間検出処理(S210)の例を示すフローチャートである。図11を参照すると、回転区間検出処理では、センサデータに含まれる加速度(D211)および角速度(D214)が利用される。まず、センサデータ解析部104に含まれる特徴量抽出部105が、加速度の平均値(mean)を算出する(S212)。ここで算出される平均値は、例えば移動平均でありうる。S212で算出された加速度の平均値に基づいて、特徴量抽出部105は重力成分加速度算出処理を実行する(S213)。さらに、特徴量抽出部105は、S213で算出された重力成分加速度と、角速度(D214)との内積を算出する(S215)。これによって、重力成分加速度の方向への角速度の射影、つまり水平面方向(鉛直軸回り)の角速度(V216)が得られる。
ここで、特徴量抽出部105は、算出された角速度を一旦積分して(S217)、水平面方向の角変位(V218)を算出する。特徴量抽出部105は、角変位をLPFで処理する(S219)。さらに、特徴量抽出部105は、角変位を微分して(S220)、水平面方向の角速度(V221)にする。V221の角速度は、V218の角速度と比較して、S217で一旦積分され、さらに積分後の角変位がS219でLPFによって処理されたことによってスムージングされ、波形からノイズが除去されている。センサデータ解析部104に含まれるアクション検出部106は、水平面方向の角速度(V221)が閾値を上回るか否かを判定し(S222)、角速度が閾値を上回る区間を回転区間として検出する(S223)。
図12は、図10に示した首振り検出処理(S230)の例を示すフローチャートである。図12を参照すると、首振り検出処理では、図11に示した回転区間検出処理で算出された、スムージング後の水平面方向の角速度(V221)を利用する。特徴量抽出部105は、角速度の符号を取得する(S231)。回転の向きに対する符号の定義はどのようなものでもよいが、図示された例において、角速度(V221)の符号として、時計回りの回転(V232)と、反時計回りの回転(V233)とを定義する。さらに、特徴量抽出部105は、逆向きの回転が発生した時間間隔を算出する(S234)。つまり、図示された例において、特徴量抽出部105は、時計回りの回転(V232)が発生してから反時計回りの回転(V233)が発生するまでの時間間隔、および反時計回りの回転(V233)が発生してから時計回りの回転(V232)が発生するまでの時間間隔を算出する。アクション検出部106は、S234で算出された時間間隔が閾値(TH)を下回るか否かを判定し(S235)、時間間隔が閾値を下回る場合に、首振りが発生していることを検出する(S236)。
図13は、図10に示したターン検出処理(S250)の例を示すチャートである。ターン検出処理では、特徴量抽出部105によって複数の特徴量が算出され、それぞれの特徴量に基づいてアクション検出部106が閾値による判定を実施する。図13には、特徴量抽出部105がそれぞれの特徴量を算出するための処理が示されている。なお、以下の説明ではそれぞれの特徴量の算出の処理を順を追って説明するが、特徴量抽出部105による処理は必ずしも説明の順序に実行されなくてもよく、前提になる量が取得または算出されていれば、任意の順序で処理が実行されうる。
まず、特徴量抽出部105は、センサデータに含まれる加速度(D251)のノルムを算出し(S252)、さらに所定のタイムフレームにおけるノルムの平均値を算出する(S253)。このようにして算出された加速度ノルム平均(V254)は、ターン検出のための特徴量の1つとして利用される。
一方、特徴量抽出部105は、加速度(D251)を第1のLPFで処理し(S273)、重力成分加速度(V274)を算出する。さらに、特徴量抽出部105は、センサデータに含まれる角速度(D255)と重力成分加速度との内積を算出する(S256)。これによって、重力成分加速度の方向への角速度の射影、つまり水平面方向(鉛直軸回り)の角速度(V257)が得られる。特徴量抽出部105は、算出された角速度を積分して(S258)、水平面方向の角変位(V259)を算出する。角変位(V259)も、ターン検出のための特徴量の1つとして利用される。
さらに、特徴量抽出部105は、角変位(V259)と、処理の対象になっている回転区間の持続時間(duration)(V260)とに基づいて、角速度(V261)を算出する。V261の角速度は、例えばD255の角速度と比べて、より長いタイムフレーム(例えば回転区間全体でスムージングされたものでありうる。回転区間の持続時間(V260)および角変化率(V261)も、ターン検出のための特徴量の1つとして利用される。
また、特徴量抽出部105は、角変位(V259)を所定のタイムフレームについて解析する(S262)ことによって、いくつかの特徴量を算出する。より具体的には、特徴量抽出部105は、タイムフレーム内での角速度の最大値(S263,V268)、平均値(S264,V269)、分散(S265,V270)、尖度(S266,V271)、および歪度(S267,V272)を算出する。これらの特徴量も、ターン検出のための特徴量として利用される。
一方で、特徴量抽出部105は、加速度(D251)を第2のLPFで処理する(S275)。図示された例では、第1のLPF(S273)が、加速度に含まれるDC成分である重力成分加速度(V274)を抽出するために用いられたのに対して、第2のLPF(S275)は、高周波領域をフィルタすることによって加速度をスムージングするために用いられる。従って、これらのLPFの通過帯域設定は異なりうる。
特徴量抽出部105は、第2のLPF(S275)によってスムージングされた加速度と、第1のLPF(S273)によって抽出された重力成分加速度(V274)との内積を算出する(S276)。これによって、鉛直方向加速度(V277)が得られる。さらに、特徴量抽出部105は、重力成分加速度(V274)と鉛直方向加速度(V277)とを合成した加速度ベクトルの、第2のLPF(S275)によってスムージングされた加速度との差分を算出する(S278)。これによって、水平方向加速度(V279)が得られる。特徴量抽出部105は、水平方向加速度の平均値を算出する(S280).このようにして算出された水平方向加速度の平均値(V281)も、ターン検出のための特徴量として利用される。
アクション検出部106は、例えば上記のようにしてセンサデータから抽出された特徴量に基づいて、ターンが発生したか否かの判定を実施する。図示された例において、アクション検出部106は、回転区間の持続時間(V260)、水平面方向の角変位(V259)、スムージングされた角速度(V261)、加速度ノルム平均(V254)、水平方向加速度の平均値(V281)、タイムフレーム内での角速度の最大値(V268)、平均値(V269)、分散(V270)、尖度(V271)、および歪度(V272)に基づいて判定を実施する。
なお、判定に用いられる特徴量は上記の例には限られず、例えば上記の例以外の特徴量が用いられてもよいし、上記の例の特徴量の一部が用いられなくてもよい。例えば、センサデータから抽出可能な様々な種類の特徴量の中から、実際にターンが発生したときのセンサデータに基づく主成分分析によって、ターン検出に使用する特徴量の種類が決定されてもよい。あるいは、実際にターンが発生したときに現れるセンサデータの傾向に基づいて、判定に用いられる特徴量が決定されてもよい。例えば、上記の例のうち、加速度ノルム平均(V254)および水平方向加速度の平均値(V281)は、ターンの回転半径に関係する特徴量である。
また、アクション検出部106による判定において適用される各特徴量の閾値は、例えば、実際にターンが発生した時のセンサデータに基づく機械学習の結果に従って決定される。このとき、実際にターンが発生したか否かは、例えば、センサデータと同時に取得されたアクションの映像を参照してマニュアルで決定されてもよい。また、単にターンが発生したか否かだけではなく、どのようなターンかを示すラベルが与えられてもよい。より具体的には、例えば、映像を参照した結果、サービス提供者側で、ターンとして検出したい、ターンとして検出したくない、またはどちらでもよいと判定されたアクションについて、それぞれの属性を示すラベルが与えられてもよい。
以上、本開示の一実施形態において実行されるアクション検出処理のいくつかの例について説明した。既に説明した通り、本実施形態で実行されるアクション検出処理はスノーボードで発生するジャンプやターンには限られず、例えばスノーボード以外のスポーツ、またはスポーツ以外のシーンで発生するジャンプやターンについてアクション検出処理が実行されてもよい。また、本実施形態で実行されるアクション検出処理では、ジャンプやターン以外のアクションが検出されてもよい。一例として、アクション検出部106は、スノーボードなどで発生する転倒を検出してもよい。この場合、特徴量抽出部105が上述したジャンプやターンの検出と同様にして加速度のノルムを算出し、アクション検出部106が、加速度のノルムが閾値(例えば、通常の滑走では発生しない程度の大きな値でありうる)を上回った場合に、転倒の発生を検出してもよい。
(3.付加的な処理の例)
(3-1.アクションスコアの算出)
例えば、解析結果処理部107に含まれるスコアリング処理部109は、上記で図2~図13を参照して説明したような処理によって検出されるジャンプ区間および/またはターン区間を含むアクション区間について、発生したアクションを評価するスコア(アクションスコア)を算出する。アクションスコアは、例えばアクション区間におけるセンサデータから、アクションの良し悪しや特徴を表す物理量(特徴量)を抽出し、それらを重みづけ加算することによって算出されうる。サービス制御部112は、このようにして算出されたスコアに基づいて、アクション(例えばジャンプまたはターン)に関する情報を生成する。
例えば、ジャンプ区間の場合、区間の持続時間(duration)、区間におけるX軸/Y軸/Z軸回りの角変位)、自由落下区間の割合、踏切時/着地時の衝撃の大きさなどが、スコアを算出するための特徴量として抽出されうる。また、例えば、ターン区間の場合、区間の持続時間、変位角、各速度の平均値、最大値、および標準偏差、角加速度の最大値および標準偏差などが、スコアを算出するための特徴量として抽出されうる。
なお、重みづけ加算の係数は、例えば、情報処理装置100によって提供されるサービス113において重視されるアクションの性質に応じて設定されうる。また、特徴量からアクションのスコアを算出するための方法は重みづけ加算には限られず、他の計算方法が用いられてもよい。例えば、線形回帰モデルなど、機械学習のアルゴリズムを適用することによってアクションスコアを算出してもよい。
(3-2.クラスタリング処理)
また、例えば、解析結果処理部107に含まれるクラスタリング処理部108は、上記で図2~図13を参照して説明したような処理によって検出されるジャンプ区間および/またはターン区間を含むアクション区間について、スコアリングのために抽出した特徴量などを利用してk-means法などのクラスタリングアルゴリズムを適用し、検出されたアクションをクラスタに分類する。ジャンプ区間やターン区間の場合、例えば、区間の持続時間の長短や、回転の大小によってアクションがクラスタに分類されてもよい。クラスタリングの結果は、例えば、サービスとしてダイジェスト動画を提供するような場合に、様々な種類のジャンプやターンなどのアクションが動画に含まれるようにアクション区間を抽出するために利用される。また、良かったアクションとそうでなかったアクションとを別々のクラスタに分類することによって、ユーザ自身がアクションを振り返ったり、アクションの改善のためのコーチングに役立てたりしてもよい。
なお、解析結果処理部107は、クラスタリングと同様の処理として、特徴量の相関係数に基づいてアクション区間同士の類似度を算出してもよい(類似度が高いアクション区間は、同じクラスタに分類されたアクション区間と同様に扱うことができる)。また、例えば、解析結果処理部107は、典型的なタイプのアクションの特徴量パターンを予め用意しておき、k-NN法などによって、新たに発生したアクションがどのタイプに該当するかを判定してもよい。
(3-3.センサ装着状態の推定)
図14は、本開示の一実施形態において、センサ装着状態を推定するための処理の例を示すブロック図である。より具体的には、図示された構成によって、センサデータを提供するセンサがユーザの身体に直接的に装着されているか、ユーザによって使用される器具に装着されているかが判定される。図示された処理は、例えば上記の情報処理装置100に含まれるセンサデータ解析部104において実行される。なお、図示された例では、フィルタの遮断周波数(Fc)やタイムフレームの長さが具体的に説明されているが、これらの数値は一例であり、実際のセンサの特性などに応じて適宜変更されうる。
図示された例において、情報処理装置100の受信部102は、3軸(u,v,w)の加速度センサ121によって提供されるセンサデータを受信する。センサデータ解析部104は、センサデバイス制御部103を介してこのセンサデータを取得する。センサデータ解析部104は、まず、センサデータに含まれる加速度を1段のHPF122(Fc=0.5Hz)で処理し、その後ノルム算出123を実行する。さらに、センサデータ解析部104は、ノルムを2段のLPF124(Fc=2Hz)および2段のHPF(Fc=7Hz)でそれぞれ処理した結果について、タイムフレーム2secでの振幅(最大値と最小値の差)を算出する(125,127)。これらの結果(AおよびB)について、A/Bを演算する(128)。その結果を1段のHPF129(Fc=0.25Hz)で処理し、閾値判定130を実施する。
上記のような判定の処理は、センサがユーザの身体に直接的に装着されている場合、身体がLPFとして機能することによって加速度の高周波成分が減衰することに基づいている。上記の例におけるA(LPF124を通過した低周波成分の振幅)/B(HPFを通過した高周波成分の振幅)は、元の加速度において高周波成分が減衰しているほど大きな値になる。従って、閾値判定130では、A/BをHPF129で処理した値が閾値よりも大きい場合にはセンサがユーザの身体に直接的に装着されていると判定し、そうでない場合にはセンサが器具に装着されていると判定することができる。
上記のような推定の結果は、例えば、センサデータ解析部104の内部で利用されてもよい。この場合、センサデータ解析部104は、上述したようなユーザのアクションの検出の処理において、閾値やフィルタの設定値などを、センサが身体に装着されているか器具に装着されているかによって変更してもよい。あるいは、上記のような推定の結果は、センサデバイス制御部103にフィードバックされ、センサデバイスの測定に関するパラメータなどの設定や、センサデバイス制御部103によるセンサデータの前処理方法などを決定するために利用されてもよい。
本実施形態では、例えば上記のセンサ装着状態の推定のように、センサデータの提供側の状態に関する推定に基づいて、センサデータの処理に関する適応的な制御が実施されてもよい。他の例として、センサデータ解析部104は、加速度センサなどによって検出された衝撃の強さや動きのパターンなどから、機械学習などのアルゴリズムを用いてアクションが発生しているスポーツの種類を推定してもよい。スポーツは、一般的に認識されている種目ごとに推定されてもよいし、ボードスポーツ、水上スポーツ、自転車競技、モータースポーツなどの系統ごとに推定されてもよい。また、例えば、センサデータ解析部104は、センサが器具に装着されている場合に、器具の種類(例えばスキーの場合、スキー板に装着されているか、ストックに装着されているか、など)を推定してもよい。推定の結果は、上記のセンサ装着状態の推定結果と同様に、例えばアクションの検出などにおける閾値やフィルタの設定値の制御に利用されてもよいし、センサデバイス制御部103にフィードバックされて、センサデバイスの制御やセンサデータの前処理方法の決定に利用されてもよい。
(4.マップ表現の例)
ここで、再び図1を参照して、本実施形態に係る情報処理装置のマップ表現に関する構成について説明する。本実施形態では、情報処理装置100において、ユーザのアクション情報、およびアクション情報に関連付けられる空間情報ならびに時間情報を取得する情報取得部と、アクション情報を空間情報に基づいてマップ表現するにあたり時間情報を考慮するマップ表現処理部とが実現される。
例えば、情報処理装置100において、受信部102は、センサデバイスから、センサデータおよび時刻情報(タイムスタンプ)に加えて、ユーザの位置情報を受信する。このとき、センサデータ解析部104に含まれるアクション検出部106は、センサデータに基づいて検出したユーザのアクションに上記のタイムスタンプおよび位置情報を関連付けた情報を、検出区間情報保持部110に格納する。これによって、サービス制御部112は、検出区間情報保持部110から、ユーザのアクション情報と、アクション情報に関連付けられる空間情報(位置情報)および時間情報(タイムスタンプ)とを取得することができる。
なお、受信部102によるセンサデータの受信からアクション検出部106によるアクションの検出までの時間差が小さいような場合、アクション検出部106は、アクションが検出された時点での時刻情報(タイムスタンプ)を、センサデータとともに受信されるタイムスタンプの代わりに用いてもよい。また、アクション検出部106がユーザによって携帯または装着される端末装置において実現される場合、アクション検出部106は、アクションが検出された時点で当該端末装置によって取得された位置情報を、センサデータとともに受信される位置情報の代わりに用いてもよい。
上記の通り、サービス制御部112は、検出区間情報保持部110から、ユーザのアクション情報と、アクション情報に関連付けられる空間情報(位置情報)および時間情報(タイムスタンプ)を取得することができる。あるいは、解析結果処理部107が、アクション検出部106からアクションの検出結果とともに提供されたタイムスタンプおよび位置情報を、アクションの検出結果に基づいて生成した付加的な情報に関連付けて付加的情報保持部111に格納する場合、サービス制御部112は、付加的情報保持部111から、生成された付加的な情報と、アクション情報に関連付けられる空間情報(位置情報)および時間情報(タイムスタンプ)を取得することができる。
なお、本明細書において、アクション情報は、アクション検出部106によって検出されたユーザのアクションを直接的に示す情報に限らず、検出されたユーザのアクションに関連する様々な情報を含みうる。従って、上記の例において、アクション検出部106によって提供されるアクションの検出結果だけではなく、解析結果処理部107によって生成される付加的な情報も、アクション情報に含まれる。また、アクション情報は、センサデータに基づいてアクション検出部106によって検出されたものには限らず、例えばユーザが自らの状況を入力することによって検出されたものが含まれてもよい。
上記のように、ユーザのアクション情報と、アクション情報に関連付けられる空間情報(位置情報)および時間情報(タイムスタンプ)を取得したサービス制御部112は、アクション情報を空間情報に基づいてマップ表現する。マップ表現は、例えば、アクション情報に対応するテキスト、グラフィック、アイコン、またはテクスチャなどの表示要素を、空間情報に基づいてマップ上に配置することを含む。このとき、表示要素は、単一のアクション情報に対応していてもよいし、複数のアクション情報、例えば複数のユーザがそれぞれ提供したセンサデータに基づいて生成されたアクション情報や、単一のユーザが時系列で順次提供したセンサデータに基づいて生成されたアクション情報に対応していてもよい。
さらに、サービス制御部112は、アクション情報をマップ表現するにあたり、アクション情報に関連付けられた時間情報を考慮する。より具体的には、例えば、サービス制御部112は、互いに異なる時間情報に関連付けられた2つのアクション情報に対応する表示要素を、時間情報によって示される時刻の前後関係を考慮して決定してもよい。また、例えば、サービス制御部112は、ある時間情報に関連付けられたアクション情報に対応する表示要素を、当該時間情報によって示される時刻と現在時刻との関係を考慮して決定してもよい。このようなアクション情報のマップ表現のいくつかの例について、以下でさらに説明する。
図15は、本開示の一実施形態におけるアクション情報のマップ表現のいくつかの例を含む処理を示すフローチャートである。
図示された例では、まず、センサデータ解析部104に含まれるアクション検出部106が、アクション区間を検出する(S301)。アクション区間は、例えば、上記で図2~図13を参照して説明したような処理によって検出されるジャンプ区間および/またはターン区間を含んでもよい。また、アクション区間は、歩く、走る、静止する、乗り物で移動するなどといった、センサデータに基づいて検出されるその他のユーザのアクションが発生した区間を含んでもよい。
次に、付加的な処理として、解析結果処理部107に含まれるスコアリング処理部109が、S301で検出されたアクション区間についてアクションスコアを算出する(S302)。さらに、アクション区間やアクションスコアに関するアクション情報と、ユーザID、位置情報、別途取得されたアクションの映像データなどを含むデータがアップロードされる(S303)。S303におけるアップロードは、例えば、センサデータ解析部104や解析結果処理部107の機能を実現するサーバから、サービス制御部112を実現するサーバへのアップロードであってもよい。あるいは、S303におけるアップロードは、センサデータ解析部104や解析結果処理部107の機能を実現する端末装置から、サービス制御部112を実現するサーバへのアップロードであってもよい。これらのサーバまたは端末装置が同じものである場合、アップロードは、例えば内部的なデータベースへの登録と読み替えられる。
S303において、例えば個々のユーザに関して検出されたアクション区間およびアクションスコアのアップロードを受け付けたサービス制御部112は、付加的な処理として、当該ユーザのスキルレベルを算出する(S304)。スキルレベルは、例えば各ユーザについて算出されたアクションスコアの履歴に基づいて算出される。従って、図示された例において、サービス制御部112を実現するサーバでは、ユーザのアクションスコアの履歴を保持するデータベースが利用可能である。また、このサーバでは、ユーザのスキルレベルを保持するデータベースが利用可能であってもよく、S304でスキルレベルを算出したサービス制御部112は、スキルレベルのデータベースを更新してもよい。
いくつかの例において、サービス制御部112は、S304までの処理の結果に基づいて、場所DBを更新する(S305)。場所DBは、例えばサービス制御部112を含む情報処理装置が利用可能なメモリまたはストレージ(ネットワークで接続された外部のストレージであってもよい)において実現され、サービス制御部112による情報の提供の対象になる地理的な領域内における場所の情報を格納する。場所DBにおいて、アクション情報は場所を定義する空間情報に関連付けられる。ここでいう場所は、例えばマップ上で定義される任意の場所であってもよいし、所定のサイズのグリッドであってもよいし、予め定義された離散的なスポットであってもよい。場所の定義は、例えば後述する場所情報の利用形態によっても異なる。以下、場所情報を利用した例についてさらに説明する。
(4-1.マップ表現の例)
例えば、サービス制御部112は、場所DBにおいて空間情報に関連付けられたアクション情報を利用して、拡張されたマップ情報を作成する(S306)。さらに、サービス制御部112は、例えばユーザのリクエストに応じて、作成されたマップを描画する(S307)。マップでは、単一または複数のユーザについてのアクション情報に基づいて、それぞれの場所において最も高い頻度で発生しているアクションが場所の特性として表示される。ここで、サービス制御部112は、拡張されたマップ情報の作成にあたり、アクション情報に関連付けられた時間情報を考慮する。
図16は、本開示の一実施形態におけるアクション情報のマップ表現の第1の例を示す図である。図示された例では、マップ画面1100において、それぞれの場所で高い頻度で発生しているアクションを示すパターン1101(歩行を示すパターン1101a、電車に乗っていることを示すパターン1101b、滞留を示すパターン1101c、および買い物を示すパターン1101d)と、それぞれのアクションのラベル1103(上記のパターン1101a~1101dに対応して、ラベル1103a~1103d)と、属性選択1105とが表示されている。
図示された例におけるマップ画面1100では、パターン1101と、ラベル1103とによって、それぞれの場所で発生しているアクションを直感的に把握することができる。また、本例において、サービス制御部112は、マップ画面1100を描画するためのマップ情報を作成するにあたり、時間情報によって示される時刻と基準時刻との関係を考慮する。例えば、サービス制御部112は、時間情報によって示される時刻が基準時刻から離れるほど、マップ表現におけるアクション情報の影響が小さくなるような制御を実施する。
より具体的には、図16に示された例では、アクション情報が、ユーザのアクションを複数のカテゴリのいずれかに分類するときの各カテゴリのスコアを含んでもよい(さらに具体的にいえば、スコアは、アクション検出部106において特定されたアクションのカテゴリについて1、他のカテゴリについて0であってもよいし、アクション検出部106が算出した各カテゴリのアクションの発生確率がスコアとして扱われてもよい)。このような場合、サービス制御部112は、共通の空間情報(位置情報)に関連付けられたアクション情報に含まれるスコアに、時間情報によって示される時刻が現在時刻(マップ情報が生成される時刻)から離れるほど小さくなる重みをつけて足し合わせることによって、マップ画面1100によるマップ表現において共通の空間情報に関連付けられる代表アクションのカテゴリを決定してもよい。
つまり、サービス制御部112は、マップ画面1100に含まれるそれぞれのグリッドについて、グリッド内の空間情報に関連付けられたアクション情報によって示される各カテゴリ(例えば、歩行、電車、滞留、買い物など)についてのスコアを、上記のような時間情報に基づく重みをつけて足し合わせる。その結果、最も高いスコアが算出されたカテゴリが、当該グリッドに関連付けられる代表アクションのカテゴリになる。マップ画面1100に表示されているパターン1101およびラベル1103は、上記のようにして決定された代表のアクションのカテゴリに対応する。
あるいは、サービス制御部112は、利用可能なアクション情報のうち、現在時刻との差が閾値を下回る時刻を示す時間情報に関連付けられたアクション情報に基づいて、マップ画面1100内においてパターン1101やラベル1103を表示させてもよい。この場合、現在時刻と時間情報によって示される時刻との差に基づいて抽出されたアクション情報は、一様に扱われてもよいし、上記の例のように現在時刻と時間情報によって示される時刻との関係に応じてさらにスコアの重みづけなどの処理が実行されてもよい。
上記のような構成によって、マップ画面1100では、リアルタイムに発生しているアクションがパターン1101やラベル1103によって表示されやすくなり、期間限定のイベントや突発的なイベントなどで発生するユーザのアクションを適切に表現することができる。なお、現在時刻は、マップ情報が生成される時刻として自動的に決定されてもよいし、過去の任意の時刻が、現在時刻に代わる時刻としてユーザ操作などによって決定されてもよい。従って、本明細書中で説明される現在時刻は、マップ情報の生成の基準時刻と読み替えられてもよい。
また、例えば、サービス制御部112は、マップ画面1100内においてパターン1101やラベル1103を表示させるにあたり、現在時刻(マップ情報が生成される時刻)と共通する属性を有する時間情報に関連付けられたアクション情報、より具体的には例えば現在時刻と同じ時間帯や季節などに発生したアクションを示すアクション情報の、マップ表現における影響が大きくなるような制御を実施してもよい。上記の例と同様に、サービス制御部112は、アクション情報に含まれるスコアに、現在時刻との属性の共通性が高いほど大きくなる重みをつけてもよい。あるいは、サービス制御部112は、利用可能なアクション情報のうち、現在時刻との属性の共通性が閾値を上回る時間情報に関連付けられたアクション情報に基づいて、マップ画面1100内においてパターン1101やラベル1103を表示させてもよい。
より具体的には、サービス制御部112は、現在時刻と同じ時間帯(例えば朝、昼、夕方、夜など)に関連付けられたアクション情報を選択的に利用してマップ情報を生成してもよい。また、サービス制御部112は、現在と同じ季節(例えば春、夏、バケーションシーズンなど)に関連付けられたアクション情報を選択的に利用してマップ情報を生成してもよい。なお、時間帯や季節などは、次で説明する属性選択1105によって任意に選択可能であってもよい。つまり、属性選択1105は、アクション情報に関連付けられたユーザの属性を選択することには限られず、アクション情報に関連付けられた時間情報の属性を選択するために利用されてもよい。
また、図示された例では、属性選択1105によって、パターン1101やラベル1103によってアクションを表示する対象になるユーザの属性を選択することが可能である。例えば、図示されているように、属性選択1105によってユーザの年代を選択することが可能であってもよい(20代が選択されている)。この場合、サービス制御部112は、選択された属性を有するユーザのアクション情報によってマップ情報を生成する。他の例では、ユーザの他の属性、より具体的には性別や職業などが属性選択1105によって選択可能であってもよい。あるいは、サービス制御部112は、マップ情報を提供するユーザの属性などに応じて、マップ情報においてアクションを表示する対象になるユーザの属性を自動的に選択してもよい。
図17は、図16に示す例において、マップ表現がリアルタイムで変化した例を示す図である。図示された例では、図16に示した例と同様のマップ画面1100aにおいて、事故のために中央に表示された駅(STATION)から先の鉄道(RWY)の運行が中止された結果、マップ画面1100bに示すように、パターン1101およびラベル1103によって表示されるアクションが変化している。より具体的には、鉄道(RWY)に沿って表示されていた電車に乗っていることを示すパターン1101が表示されなくなり、代わりに他の場所(バス路線)に沿って、バスに乗っていることを示すパターン1101およびラベル1103が新たに表示されている。
さらに、この場合、マップ画面1100cに示すように、予め設定された、またはユーザが入力した条件1107に基づくルートナビゲーション1109が表示されてもよい。ルートナビゲーション1109は、例えばマップ画面1100bに示されたような直近のユーザのアクション検出結果から、条件1107に合うようなアクションの組み合わせを抽出することによって表示される。より具体的には、図示された例のルートナビゲーション1109は、駅からの歩行と、滞留と、その後のバス乗車の組み合わせとして表示されている。サービス制御部112は、例えば図示された鉄道(RWY)がユーザの移動予定ルート(事前に実行したルート検索の結果や、スケジュール、習慣的に移動するルートなどに基づいて判定されうる)に含まれているような場合に、そこでマップ画面1100bに示されるように電車に乗っている他のユーザのアクションが検出されなくなったことに基づいて、自動的にマップ画面1100cに示すようなルートナビゲーションを提供してもよい。
図18は、本開示の一実施形態におけるアクション情報のマップ表現の第2の例を示す図である。図示された例では、マップ画面1200において、それぞれの場所で高い頻度で発生しているアクションを示すアイコン1201,1203,1205が表示されている。より具体的には、マップ画面1200は、例えば屋外で開催される音楽フェスティバルの会場におけるアクションを示すものでありうる。また、アイコン1201,1203は会場に集まったユーザの盛り上がりを、アイコン1205は会場間のユーザの移動を、それぞれ示す。マップ画面1200でも、アイコン1201,1203,1205によって、それぞれの場所で発生しているアクションを直観的に把握することができる。また、本例でも、サービス制御部112は、マップ画面1200を描画するためのマップ情報を作成するにあたり、それぞれのアクション情報に関連付けられた時間情報を考慮する。
より具体的には、例えば、サービス制御部112は、上記の第1の例と同様に、現在時刻(マップが生成される時刻)により近い時刻に発生したアクションがより強く反映されるように重みづけをしてもよい。あるいは、サービス制御部112は、それぞれの場所でのアクションを特定するときに用いるアクション情報を、現在時刻から所定の範囲の時間に関連付けられた直近のものに限定してもよい。上記の通りマップ画面1200は音楽フェスティバルの会場におけるアクションを示すため、フェスティバルの開催中に発生するアクションは他の時期に発生するアクションとは大きく異なりうる。このような場合、現在時刻により近い時刻に発生したアクションがより強くマップ情報に反映されることは有効である。
また、例えば、サービス制御部112は、それぞれの場所でのアクションを特定するときに、現在時刻(マップ情報が生成される時刻)と共通する属性を有する時刻、より具体的には前回や前々回の音楽フェスティバルの開催中に発生したアクションがより強く反映されるように、アクション情報に重みづけをしてもよい。上記の第1の例と同様に、サービス制御部112は、時間帯や季節などによってさらにアクション情報を重みづけしてもよい。マップ画面1200において属性選択のための要素は図示されていないが、第1の例における属性選択1105と同様の要素が表示され、表示するアクション情報に関連付けられた時間情報の属性やユーザの属性を選択することが可能であってもよい。
さらに、マップ画面1200の例では、それぞれの場所でのアクション(アイコン1201,1203,1205によって表示される)を特定するにあたり、アクション情報に関連付けられた時間情報によって示される時刻の前後関係が考慮されている。例えば、アイコン1205によって示されるユーザの移動は、一連のタイムスタンプにそれぞれ関連付けられた複数のアクション情報が、ユーザの移動経路に沿って変化する位置情報に関連付けられていることによって判定されてもよい。
このとき、アクション情報に関連付けられた時間情報によって示される時刻の前後関係に基づいて、移動の向きが特定されうる。例えば、図18に示された位置P1(第1の空間情報によって示される位置)に関連付けられた第1のアクション情報と、位置P2(第2の空間情報によって示される位置)に関連付けられた第2のアクション情報を想定する。この場合、第2のアクション情報に関連付けられた時間情報が第1のアクション情報に関連付けられた時間情報よりも後の時刻を示すときに、位置P1から位置P2へのユーザに移動が発生したことが判定される
なお、移動の判定にあたっては、アクション情報自体も歩行や走行などの移動に伴って発生するアクションを示すことが条件とされてもよいし、アクション情報は滞留やジャンプなど他のアクションを示していてもよい。フェスティバル会場などではユーザの移動が緩慢である場合も多いため、上記の例のようにアクション情報に関連付けられた空間情報によって示される位置と、時間情報によって示される時刻の前後関係とに基づいてユーザの移動を検出することが適切である場合もありうる。
また、マップ画面1200の例では、それぞれの場所でのアクションを特定するにあたり、解析結果処理部107に含まれるスコアリング処理部109がアクション情報に基づいて算出したアクションスコアが利用されている。例えば、アイコン1201,1203はいずれも会場に集まったユーザの盛り上がりを示す。ユーザの盛り上がりは、例えば、会場にある程度の数のユーザが集まっていることによって検出される。このとき、スコアリング処理部109がジャンプのアクションスコアを算出し、サービス制御部112は、より活発にジャンプしているユーザが多い場合に大きな盛り上がりを示すアイコン1201を表示させてもよい。また、アクションスコアによって、控えめにジャンプしているユーザや、集まっているがジャンプしていないユーザが多いことが示される場合、サービス制御部112は、静かな盛り上がりを示すアイコン1203を表示させてもよい。また、ユーザの盛り上がりの検出には、上述した例のような加速度センサなどの検出値に基づくアクション検出だけではなく、ユーザに装着された生体センサによって検出される脈拍や発汗などの情報が利用されてもよい。さらに、本実施形態ではアクション情報が時間情報に関連付けられているため、集まっているユーザやジャンプをしているユーザが増えつつあるのか、減りつつあるのかに基づいて、瞬間的な盛り上がりの程度は同じであっても、これから盛り上がる会場と、既に盛り上がりのピークを過ぎた会場とを区別して表示することも可能である。
本実施形態では、上記で図16~図18を参照して説明した2つの例について、既に述べた以外にもさまざまな変形例が可能である。例えば、アクションは、例示されたようなパターンやテキスト、アイコンには限らず、ヒートマップや、アバターを用いたアニメーションなどによってマップ上に表示されてもよい。また、図18に示した例のようなアイコンの表示だけではなく、図16および図17に示した例におけるパターンの濃さやテキストのフォントなどにも、アクションスコアが反映されてもよい。また、マップ上に表示されるアクションは、予め与えられたカテゴリに分類されてもよいし、解析結果処理部107に含まれるクラスタリング処理部108によるクラスタリングの結果に従って分類されてもよい。
また、上記の例は、図16~図18に示したような市街地やフェスティバル会場の例には限られず、さまざまな場所のマップに適用可能である。例えば、花火大会の場合、会場への移動手段(徒歩、自転車など)や、会場での過ごし方(立っている、座っている、食事をしているなど)を示すマップを提供することができる。また、例えば、スキー場(terrain park)の場合、滑っているユーザが多いことに基づいて斜面が混雑していることを表示したり、リフトの待ち時間が長い(リフトに乗るアクションの前に、滞留のアクションが長い時間検出される場合など)ことを表示したり、ジャンプしているユーザが多いことに基づいて雪でできた凹凸(日ごとに変化するため、直近のアクションに基づくマップ表示が有効)の存在を表示したりすることができる。また、滞空時間が長いジャンプを通常のジャンプとは別に検出し、そのようなジャンプが多く検出されているスキー場を、上級者向けの施設として特定してもよい。この場合、施設の特定にあたってユーザのスキルレベルが考慮されてもよい。
(4-2.安全マップの生成)
再び図15を参照して、例えば、サービス制御部112は、場所DBにおいて空間情報に関連付けられたアクション情報を利用して、場所ごとの安全度および/または危険度を算出する(S308)。さらに、サービス制御部112は、算出された安全度および/または危険度に基づいて安全マップDBを更新し(S309)、さらに例えばユーザのリクエストに応じて、安全マップDBの内容に基づく安全マップを描画する(S310)。
ここで、安全度および/または危険度は、例えばスキーやスノーボードのコースや、ランニングコースなどのように、特定のスポーツが実施されるコース上の場所について算出されてもよい。より具体的には、例えば、スキーやスノーボードで転倒のアクションが多く検出されている場所について、危険度が高いと判定されてもよい。このとき、転倒のアクションに関連付けられたユーザのスキルレベルが考慮されてもよい。同様に、スキーやスノーボードで成功したアクションが多く検出されている場所について、安全度が高いと判定されてもよい。このときも、成功したアクションに関連付けられたユーザのスキルレベルが考慮されてもよい。
例えば、スキーやスノーボードの場合、スキルレベルの高いユーザの転倒が発生している場所は、危険度が高いと推定される。一方、スキルレベルの低いユーザの転倒は発生しているものの、スキルレベルの高いユーザの転倒が発生していない場所は、スキルレベルの高いユーザにとっては危険度が低いと推定される。また、スキルレベルの低いユーザでも転倒せず、ジャンプやターンを成功させていることが検出される場所や、危険度が低い、または安全度が高いと推定される。
ここで、上述の通り、スキルレベルは、センサデータの解析結果に対する付加的な処理として、サービス制御部112によってアクションスコアに基づいて算出されうる。アクションスコアは、解析結果処理部107に含まれるスコアリング処理部109によって算出されうる。従って、本実施形態において、安全マップの作成にあたってアクションを実行したユーザのスキルレベルを考慮する場合、サービス制御部112は、アクション情報に含まれる、アクションのスコアに関する情報をさらに考慮しているともいえる。
また、例えば、ランニングの場合、ユーザに装着された生体センサによって検出される脈拍や発汗などの情報を付加的に利用して、危険度を推定することができる。より具体的には、アクション検出部106は、一定のテンポの走りをアクションとして検出してもよい。この場合、サービス制御部112は、ユーザが一定のテンポで走るアクションが、スピードダウンや歩きへの移行などを伴わずに急に終了し(ランニングが突然中断された)、同時に脈拍や発汗などの情報によってユーザの緊張状態が示された(ユーザが動揺した)場合に、ランニングコースにおいて危険な事象が発生した(例えば、自動車、自転車、他のランナーなどと接触しそうになった)と推定することができる。サービス制御部112は、このようにして検出される危険な事象が多発する場所について、危険度が高いと推定することができる。同様にして、スポーツに限らず、ドライブルートや歩行ルート上の安全度および/または危険度が算出されてもよい。
例えばスキーやスノーボードの場合、コース内の危険度または安全度は、気温や天候などの気象条件によって刻々と変化する。例えば、コース内の同じ場所でも、前日には安全であったものが危険である場合もあるし、朝には危険であったものが昼に気温が上がったことによって危険ではなくなる場合もある。同様に、ランニングコースやドライブコースでも、気象条件や交通状況などによって危険度または安全度は刻々と変化しうる。このため、安全マップを生成する本例でも、例えば上記で図16~図18を参照して説明した例のように、現在時刻により近い時刻に発生したアクションがより強くマップ情報に反映されることは有効である。
図19は、本開示の一実施形態における安全マップ生成の例を示す図である。図19には、例えばスキーやスノーボードのコースのように、危険度または安全度が連続的に分布する場合に、限られた場所で検出されたアクションからコース全体の危険度または安全度を推定する方法の例が示されている。図中で、R1,R2は転倒が発生した位置を、S1はアクションが成功した位置を、Xは危険度または安全度を算出する対象になる任意の位置を、それぞれ示す。以下、図示された例において安全マップを生成するための処理について、さらに説明する。
まず、サービス制御部112は、位置R1,R2における危険度スコアPR1,PR2と、位置S1における安全度スコアPS1とを、例えば以下の式1~式3によって算出する。
ここで、WLVは、転倒または成功したアクションに関連付けられたユーザのスキルレベルに対応する重みづけ係数である。危険度スコアPR1,PR2(アクションのネガティブな評価)では、WLVがかけ合わされるため、ユーザのスキルレベルが高いほどスコアが上方修正される。一方、安全度スコアPS1(アクションのポジティブな評価)では、WLVの逆数がかけ合わされるため、ユーザのスキルレベルが高いほどスコアが下方修正される。PowerR1,PowerR2は、転倒時に検出された衝撃の強さである。この例では、衝撃の強さが、転倒のアクションスコアに対応するものとして扱われている。ScoreS1は、成功したアクション(例えばジャンプやターン)について算出されたアクションスコアである。
また、WRおよびWSは、危険度スコアに対応するアクション(例えば転倒)と、安全度スコアに対応するアクション(例えば成功したジャンプやターン)について、それぞれ設定される重みづけ係数である。tPASS_R1,tPASS_R2,tPASS_S1は、それぞれのアクションが発生してから安全マップの生成時(例えば現在時刻)までの経過時間である。PR1,PR2,PS1のそれぞれでこれらの時間の逆数がかけ合わされていることからわかるように、本例では、アクションが発生してから時間が経過するほど、当該アクションが安全度スコアおよび危険度スコアに及ぼす影響は小さくなる。なお、図示された例では、安全度スコアおよび危険度スコアが経過時間に反比例することとしているが、スコアは経過時間を含む任意の関数に反比例することとしてもよい。
次に、サービス制御部112は、算出された危険度スコアおよび安全度スコアを、式4に示すように位置R1,R2,S1のそれぞれから算出対象の位置Xまでの距離に応じて平均した上で足し合わせ、位置XのスコアPXを算出する。
ここで、DR1,DR2,DS1は、図19に示されているように、位置R1,R2,S1から位置Xまでの距離である。上記の例におけるスコアPXの算出にあたっては、安全度スコアがプラス、危険度スコアがマイナスとして足し合わされる。なお、図示された例では、足し合わされる安全度スコアおよび危険度スコアの大きさが距離に反比例して小さくなるが、スコアは距離を含む任意の関数に反比例して小さくなってもよい。この場合、スコアPXがプラスの値であれば位置Xは相対的に安全であり、スコアPXがマイナスの値であれば位置Xは相対的に危険であるという判断が可能になるように、上記の重みづけ係数WRおよびWSの値を調整してもよい。
なお、上記の式4に示すようなスコアPXの算出は、転倒が発生した位置R1~Rm(m=1,2,…)、およびアクションが成功した位置S1~Sn(n=1,2,…)がある場合に、以下の式5のように一般化することができる。式5の場合において、位置Xでは安全度スコアまたは危険度スコアが与えられるようなアクションが発生していない(位置Xを示す空間情報はアクション情報に関連付けられていない)とすると、位置Xを示す空間情報に関連付けられるアクション情報は、安全度スコアまたは危険度スコアが与えられるようなアクションが発生した位置SkまたはRj(アクション情報に関連付けられた空間情報によって示される位置)と位置Xとの間の距離に基づいて推定されているといえる。
例えば、上記のような安全マップの生成をスキー場で実施する場合、最新のアクション情報に基づいてマップを生成することによって、斜面における環境変化を安全マップに反映させることができる。また、安全マップを参照するユーザのスキルレベルに応じて危険度スコアおよび安全度スコアを算出してもよい。この場合、例えば上述したユーザのスキルレベルに対応する重みづけ係数WLVを、安全マップを参照するユーザのスキルレベルに応じて変動させてもよい(例えば、係数WLVは、アクションを実行したユーザのスキルレベルが安全マップを参照するユーザのスキルレベルと同程度であった場合に1になるように設定されてもよい)。
このような構成によって、例えば、時間帯や気候などの環境状態とユーザごとのスキルレベルに合わせた安全マップを作成し、それぞれのユーザが安全に滑降できるコースを提示することができる。例えば、朝にはアイスバーンが発生してスキルレベルの高いユーザ(上級ユーザ)でも転倒していた場所が、昼にはさらに雪が降り積もることによってスキルレベルの低いユーザ(初級ユーザ)でも安全に滑れるようになっているような場合を考える。本実施形態では、このような場所を含むコースを、朝のうちには少なくとも初級ユーザには安全なコースとしては提示しない一方で、昼からは初級ユーザにも安全なコースとして提示することが可能である。
上記の例で説明されたような安全マップは、必ずしもスキーなどのスポーツのコースで生成されるとは限らず、例えば日常生活において生成されてもよい。より具体的には、例えば、雨や雪のために路面の状態が悪い道路がある場合に、そのような道路(例えば、実際に他のユーザの転倒などが発生していることによって危険と判定される)を避けて安全に目的地まで移動するためのルートと、危険を承知で、最短距離で目的地まで移動できる可能性のあるルートとが検索可能であってもよい。
また、上記の例における安全と危険という基準は、他のポジティブ/ネガティブな基準、具体的には例えば快適と不快という基準に置き換えられてもよい。このような例として、例えば、電車移動の場合に、車内の混雑が検出された場合にこれを不快なアクションとして捉え、そのような混雑した路線を避けて快適に目的地まで移動するためのルートと、混雑があっても最短時間で目的地まで移動できるルートが検索可能であってもよい。
(4-3.ナビゲーションの提供)
再び図15を参照して、例えば、サービス制御部112は、場所DBにおいて空間情報に関連付けられたアクション情報を利用して、他のユーザの過去のアクション履歴に基づくナビゲーションを提供してもよい。より具体的には、サービス制御部112は、ある時点までに検出された第1のユーザのアクション履歴について、他のユーザ(第2のユーザ)の過去のアクション履歴との空間情報に基づくマッチングを実施する(S311)。例えば、このマッチングでは、第1のユーザのある時点までの移動ルートと同様の移動ルートと共に検出された第2のユーザのアクション履歴が抽出されうる。このとき、アクション履歴は、関連付けられたユーザのスキルレベルを考慮して抽出されてもよい。また、アクション履歴は、過去に検出された第1のユーザ自身のアクション履歴を考慮して抽出されてもよい。サービス制御部112は、第1のユーザのアクション履歴と第2のユーザのアクション履歴とを、共起確率と遷移確率とを考慮してマッチングしてもよい。サービス制御部112は、抽出されたアクション履歴に基づいてルートを計算し(S312)、第1のユーザにナビゲーションを提示する(S313)。
図20は、本開示の一実施形態におけるスキルレベルおよびアクション履歴を考慮したナビゲーションの例について説明するための図である。図20には、スキー場における(A)~(C)の3種類のナビゲーションの例が示されている。例えば、第1のユーザがスキー場に到着し、Aリフトに乗車しているとする。このとき、第1のユーザが、スキルレベルが低い初級ユーザである場合、サービス制御部112は、図示された(A)のルートを提示する。(A)のルートは、例えば同じく初級ユーザである第2のユーザの過去のアクション履歴に基づいて抽出されるルートであり、Bコースの滑降を含む。
その後、第1のユーザが実際にBコースを滑降し、ターンやジャンプなどのアクションを実行したとする。ここで、それぞれのアクションのアクションスコアが高くなかったり、失敗(転倒など)が検出されたりした場合、サービス制御部112は、次も繰り返してBコースの滑降を含む(A)のルートを第1のユーザに提示する。第1のユーザが実際にBコースを滑降したときに実行したターンやジャンプなどのアクションのスコアが高く、失敗(転倒など)も検出されなかった場合、サービス制御部112は、再びAリフトに乗車した第1のユーザに対して、スキルレベルが高い中級ユーザである第2のユーザの過去のアクションに基づいて抽出された(B)または(C)のルートを提示する。これらのルートには、Dコースの滑降が含まれる。
ここで、例えば、第1のユーザがBコースを滑降したときのアクションスコアが、特にターンについて高かった場合、サービス制御部112は、Dコースの中でもターンが多く発生した場所を通過するコース内のナビゲーションを含む(B)のルートを提示する。また、第1のユーザのアクションスコアが、特にジャンプについて高かった場合、サービス制御部112は、Dコースの中でもジャンプが多く発生した場所を通過するコース内のナビゲーションを含む(C)のルートを提示する。(B)および(C)で提供されるコース内のナビゲーションは、例えば、過去にDコースを滑降したユーザの中で、特にターンを多く実行したユーザと、特にジャンプを多く実行したユーザとが滑降したルートに基づいて提供される。なお、第1のユーザが(B)または(C)のルートの提示に従って実際にDコースを滑降したときに実行したターンやジャンプなどのアクションにおいて失敗(転倒など)が検出されたような場合、サービス制御部112は、再び第1のユーザに対して(A)のルートを提示してもよい。
なお、上記の例において、第1のユーザが、スキルレベルが高い中級ユーザである場合、サービス制御部112は、最初から(B)または(C)のルートを第1のユーザに提示してもよい。この場合、ターンを多く実行するのに適した(B)のルートを提示するか、ジャンプを多く実行するのに適した(C)のルートを提示するかは、第1のユーザの過去のアクション履歴(位置情報には関わらない)において実行されたアクションにおけるターンとジャンプとの割合、またはアクション履歴におけるターンとアクションとのそれぞれのアクションスコアに基づいて判定されうる。
上記のようなナビゲーションを提供するための処理は、以下のように説明することもできる。上記の例において、サービス制御部112によって取得されるアクション情報は、空間情報の第1の系列(スキー場に到着してから、Aリフトに乗車するまでのルートに対応する)に関連付けられた第1のアクション情報系列(第1のユーザのアクションに対応する)と、空間情報の第2の系列((A)、(B)、または(C)のルート)に関連付けられた第2のアクション情報系列(第2のユーザのアクションに対応する)とを含む。第2のアクション情報系列は、第1のアクション情報系列よりも前の時刻を示す時間情報に関連付けられている。このとき、サービス制御部112は、空間情報の第1の系列によって示される第1の移動経路が空間情報の第2の系列によって示される第2の移動経路に部分的に(スキー場に到着してから、Aリフトに乗車するまでの部分で)一致することに基づいて、第2の移動経路の残りの部分(Aリフトを降りた後の部分)を示す空間情報の第2の系列に関連付けられた第2のアクション情報系列に基づいて、第1のアクション系列に対応付けられたユーザ(第1のユーザ)へのナビゲーションを提供する。
以上で説明したような構成によって、本実施形態では、例えば現在地から目的地までの最短経路をダイクストラ法などによって検出するナビゲーションとは異なり、他のユーザがどのようなルートを選択し、そこでどのようなアクションが発生したかに基づいてナビゲーションが提供される。従って、本実施形態では、同じ場所でユーザに提供されるナビゲーションでも、目的によって異なるルートを提示することが可能になる。
スキー場以外の例として、山から下るルートを提示する場合に、第1のユーザが歩いて下っている(ハイキングしている)場合には、過去に歩いて山を下った第2のユーザのアクション履歴に基づくナビゲーションを提供し、第1のユーザが走って下っている(トレイルランしている)場合には、過去に走って山を下った第2のユーザのアクション履歴に基づくナビゲーションを提供することができる。また、第1のユーザが実際にそれまで実行したアクションの履歴には限らず、第1のユーザのスキルレベルを含む属性や嗜好に基づいて、第2のユーザのアクション履歴を検索するときの条件が設定されてもよい。さらに、時間帯や季節、天候などの条件が合致している第2のユーザのアクション履歴が検出されやすいように重みづけなどを設定することによって、第1のユーザの現在の状況に適合したナビゲーションを提供できる可能性が高くなる。
(4-4.アクション検出設定の変更)
再び図15を参照して、例えば、サービス制御部112は、場所DBにおいて空間情報に関連付けられたアクション情報を利用して、アクション検出のための設定を変更してもよい。より具体的には、サービス制御部112は、場所DBに格納された情報から、空間情報によって示される位置ごとのアクション検出傾向を抽出する(S314)。抽出されたアクション検出傾向に応じて、サービス制御部112は、アクションを検出するための設定を調整する。より具体的には、サービス制御部112は、例えばセンサデータ解析部104に含まれるアクション検出部106が参照するパラメータテーブルを更新する(S315)。
図21および図22は、本開示の一実施形態におけるアクション検出設定の変更の例について説明するための図である。(A)は、図示された道路1301の領域におけるアクション検出設定の変更の例である。この例では、場所DBにおいて道路1301の領域を示す空間情報に関連付けられたアクション情報の多くが「ドライブ」を示すことから、時折検出される「ジャンプ」を誤検出であるものと推定し、この領域におけるアクション種類ごとの発生確率のパラメータの設定において「ジャンプ」の確率を下げ、「ドライブ」の確率を上げている。これによって、道路1301の領域では、例えば「ジャンプ」か「ドライブ」かが紛らわしいアクションについては「ドライブ」と判定される確率が高くなり、結果的に誤検出である「ジャンプ」が検出される確率が下がる。
(B)は、図示された領域1303におけるアクション検出設定の変更の例である。領域1303にはナイトクラブがあり、提供される音楽に興じたユーザによる鉛直方向で持続時間の短いジャンプが連続して検出される傾向がある。この場合、持続時間ごとのジャンプの検出確率について、持続時間が短いジャンプの検出確率を上げてもよい。これによって、ジャンプが確実に検出されるようになり、例えばジャンプの頻度やジャンプしているユーザの数などによって、ナイトクラブの盛り上がりをマップ上に表現することができる(この例は、例えば図18に示した音楽フェスティバルの例にも同じように適用できる)。
(C)は、スキー場のコース内に設けられたキッカー1305の場所におけるアクション検出設定の変更の例である。このようなキッカーでは、アクションとして回転を含むジャンプが検出される傾向がある。例えばスノーボードのジャンプには、通常時には発生しないような大きな回転(例えば360度を超える)がしばしば伴われる。そこで、キッカー1305の場所が予め与えられていたり、アクションの検出結果(スノーボードで滑降中のジャンプが多く検出されている)に基づいてキッカー1305の存在が推定されていたりする場合には、アクション検出において検出可能な回転量の範囲を拡大し(例えば、通常時には360度が上限のところを、720度や1080度を含む範囲まで拡大してもよい)、その上でジャンプの検出確率を上げてもよい。
(4-5.施設レベルの算出)
再び図15を参照して、例えば、サービス制御部112は、S303でアップロードされたデータに含まれる位置情報から、アクションが検出された施設のIDを検索し(S316)、当該施設において検出されたアクションのアクションスコアと、それぞれのアクションを実行したユーザのスキルレベルとの分布に基づいて施設レベルを算出し(S317)、施設レベルの情報を含む施設データを提供する(S318)。
施設レベルの算出にあたっては、例えば、スキルレベルに関係なく多くのユーザについてスコアの高いアクションが検出されている施設には、低いレベル(難易度が低いことを示す)が与えられてもよい。一方、スキルレベルの高いユーザだけについてスコアの高いアクションが検出されている施設には、高いレベル(難易度が高いことを示す)が与えられてもよい。また、転倒などのアクション(試みたアクションに失敗したことを示す)が検出されたことも、施設レベルに反映されてもよい。上記のような難易度を示すレベルに限らず、アクションが検出されたユーザの数に応じて人気度を示すレベルを算出することも可能である。
なお、施設は、例えばコースやコート、フィールドなど、アクションが発生しているスポーツの種類によって様々な形態でありうる。また、スキーの例でいえば、複数のコースを含むパークや、コース内の特定のジャンプ台などのように、様々な単位で施設を定義することができる。他のスポーツについても同様に、様々な単位で施設が定義されうる。また、図示された例では、位置情報に基づいて施設のIDを検索することとしているが、サービス制御部112は、場所DBを参照して、アクション情報に関連付けられた空間情報から施設のIDを特定してもよい。
(5.ハードウェア構成)
次に、図23を参照して、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。図23は、本開示の実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
情報処理装置900は、CPU(Central Processing unit)901、ROM(Read Only Memory)903、およびRAM(Random Access Memory)905を含む。また、情報処理装置900は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、通信装置925を含んでもよい。さらに、情報処理装置900は、必要に応じて、撮像装置933、およびセンサ935を含んでもよい。情報処理装置900は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などの処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置900内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりする。
出力装置917は、取得した情報をユーザに対して視覚や聴覚、触覚などの感覚を用いて通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)または有機EL(Electro-Luminescence)ディスプレイなどの表示装置、スピーカまたはヘッドフォンなどの音声出力装置、もしくはバイブレータなどでありうる。出力装置917は、情報処理装置900の処理により得られた結果を、テキストもしくは画像などの映像、音声もしくは音響などの音声、またはバイブレーションなどとして出力する。
ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。ストレージ装置919は、例えばCPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
接続ポート923は、機器を情報処理装置900に接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどでありうる。また、接続ポート923は、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、情報処理装置900と外部接続機器929との間で各種のデータが交換されうる。
通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、有線または無線のLAN(Local Area Network)、Bluetooth(登録商標)、NFC(Near Field Communication)、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などを含みうる。
撮像装置933は、例えば、CMOS(Complementary Metal Oxide Semiconductor)またはCCD(Charge Coupled Device)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置933は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
センサ935は、例えば、加速度センサ、角速度センサ、地磁気センサ、照度センサ、温度センサ、気圧センサ、圧力センサ、距離センサ、または音センサ(マイクロフォン)などの各種のセンサである。センサ935は、例えば情報処理装置900の筐体の姿勢など、情報処理装置900自体の状態に関する情報や、情報処理装置900の周辺の明るさや騒音など、情報処理装置900の周辺環境に関する情報を取得する。また、センサ935は、GNSS(Global Navigation Satellite System)信号を受信して装置の緯度、経度および高度を測定するGNSS受信機を含んでもよい。
以上、情報処理装置900のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
(6.補足)
本開示の実施形態は、例えば、上記で説明したような情報処理装置、システム、情報処理装置またはシステムで実行される情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された一時的でない有形の媒体を含みうる。
(7.機器制御の例)
以下、本開示の一実施形態に含まれる機器制御のいくつかの例について説明する。
(7-1.第1の例)
図24は、本開示の一実施形態に含まれる機器制御の第1の例における処理を示すフローチャートである。本例では、アクション(より具体的にはジャンプ)の検出結果に基づいて、アクションを捉えた画像または映像の撮影が実行される。本例で検出されるアクションは、ユーザの一連の状態(例えばスノーボードの滑走)の中で発生するアクションであり、サービス制御部112は、アクションが検出されている区間に対応する第1の区間と、そうでない第2の区間との間で異なる機器の制御を実施する。より具体的には、サービス制御部は、第1の区間では撮影された映像または画像を記録し、第2の区間では映像または画像を記録しないように機器を制御する。サービス制御部は、例えば、第1の区間では撮影された映像または画像を特定するように機器を制御して、第1の区間では撮影された映像または画像を記録するように機器を制御する。
図示された例では、まず、センサデータ解析部104に含まれるアクション検出部106が、ジャンプの踏み切りを検出する(S301)。踏み切りが検出された場合、サービス制御部112は、センサデバイスとペアリングされたデジタルビデオカメラなどの撮像装置による連続的な撮影を実行する(S303)。なお、連続的な撮影は、例えば連続した静止画像の撮影であってもよく、映像の撮影であってもよい。アクション検出部106がジャンプの着地を検出する(S305)まで撮影は継続される。
より具体的な処理として、アクション検出部106は、例えば図2や図6に示したようなジャンプ検出処理をリアルタイムで実行する。サービス制御部112は、アクション(ジャンプ)の撮影を継続的に実行し、所定の時間(ジャンプの持続時間よりも長い)に撮影された画像または映像をバッファするように撮像装置を制御している。アクション検出部106によってジャンプ区間が検出された場合、サービス制御部112は、ジャンプ区間の始点(踏み切り)から終点(着地)までに撮影された画像または映像を記録するように、撮像装置を制御する。このようなバッファを利用した制御を実施する場合、踏み切りよりも少し前から画像または映像の記録を開始することも可能である。同様に、着地の少し後まで画像または映像の記録を継続してもよい。
以下の例でも同様に、アクション検出部106によってアクションが検出されている区間に対応する第1の区間は、必ずしもアクション区間とは厳密に一致せず、例えば上記の例のようにアクション区間の前後を含んでもよいし、アクション区間と対応しているものの、時間軸上ではずれた区間であってもよい。
図25は、本開示の一実施形態に含まれる機器制御の第1の例で撮影される画像または映像についてさらに説明するための図である。図示された例では、アクション検出部106によって検出されたジャンプの踏み切りから着地までの間に、静止画像P1~P8が撮影されている。このようにして撮影された画像を合成することによって、例えば図示されているような連続写真を得ることもできる。
付加的な構成として、センサデータから抽出されるユーザの高度情報が利用可能である場合、ジャンプ中のユーザの高度に基づいて撮影を制御することが可能である。より具体的には、サービス制御部112は、ユーザの高度のピーク(ジャンプの頂点)で静止画像が撮影されるように、撮像装置を制御してもよい。より具体的には、サービス制御部112は、撮像装置が連続的に撮影しているフレーム画像の中から、ジャンプの頂点で撮影された画像(静止画像P5)を基準にして、所定の間隔で静止画像を抽出してもよい。なお、高度情報は、例えば気圧センサによって検出された気圧や、RTK-GPS(Real Time Kinematic-Global Positioning System)によって取得される情報などから抽出されうる。気圧を利用する場合、ジャンプの頂点は、上記のように高度が最大になる時点として検出されてもよいし、気圧が上がり始める時点として検出されてもよい。
(7-2.第2の例)
図26は、本開示の一実施形態に含まれる機器制御の第2の例について説明するための図である。図示された例では、アクション(より具体的にはジャンプ)の検出結果に基づいて、アクションを捉えた映像の圧縮率が制御される。本例で検出されるアクションは、ユーザの一連の状態(例えばスノーボードの滑走)の中で発生するアクションであり、サービス制御部112は、アクションが検出されている区間に対応する第1の区間と、そうでない第2の区間との間で異なる機器の制御を実施する。
図示された例において、サービス制御部112は、アクション検出部106がジャンプ区間を検出した場合、この区間(ジャンプ動作)ではその前後の区間(通常状態)とは異なる圧縮率で映像が記録されるように、センサデバイスとペアリングされたデジタルビデオカメラなどの撮像装置を制御する。これによって、ジャンプ動作中は、通常状態よりも低い圧縮率で映像が記録される。ジャンプ区間に限って圧縮率を低くすることで、映像全体としてのデータサイズを抑制しつつ、映像のハイライトになりうるジャンプ区間の画質を向上させることができる。さらに、サービス制御部112は、ジャンプ区間に含まれる踏み切り動作および着地動作の区間と、滞空状態の区間とで、異なる圧縮率を設定してもよい。この場合、図示されているように、サービス制御部112は、踏み切り動作および着地動作の区間で、一時的に圧縮率をさらに低くしてもよい。
より具体的な処理として、アクション検出部106は、例えば図2や図6に示したようなジャンプ検出処理をリアルタイムで実行する。サービス制御部112は、アクション(ジャンプ)の撮影を継続的に実行し、所定の時間(ジャンプの持続時間よりも長い)に撮影された映像を、無圧縮または低圧縮の状態でバッファするように撮像装置を制御している。アクション検出部106によってジャンプ区間が検出された場合、サービス制御部112は、ジャンプ区間の始点(踏み切り)から終点(着地)までの映像を低い圧縮率で記録し、それ以外の区間(通常状態)の映像を高い圧縮率で記録するように、撮像装置を制御する。さらに、サービス制御部112は、ジャンプ区間の開始直後と終了直前の所定の長さの区間を踏み切り動作および着地動作の区間として、この区間でさらに低い圧縮率で映像を記録させてもよい。あるいは、アクション検出部106が例えば図3に示したようなハイインパクト検出処理を実行し、そこで検出されたハイインパクト区間が、ジャンプ区間に含まれる踏み切り動作および着地動作の区間として扱われてもよい。
図27も、本開示の一実施形態に含まれる機器制御の第2の例について説明するための図である。図示された例では、アクション(具体的にはジャンプ)の検出結果に基づいて、アクションを捉えた映像のフレームレートまたはサイズが制御される。
図示された例において、サービス制御部112は、アクション検出部106がジャンプ区間を検出した場合、この区間(ジャンプ動作)ではその前後の区間(通常状態)と異なるフレームレート(fps)および/またはサイズで映像が記録されるように、センサデバイスとペアリングされたデジタルビデオカメラなどの撮像装置を制御する。ジャンプ動作中は、通常状態よりも高いフレームレート、または通常状態よりも大きいサイズで、映像が記録される。上記で図26に示した例と同様に、ジャンプ区間に限ってフレームレートやサイズを大きくすることで、映像全体としてのデータサイズを抑制しつつ、映像のハイライトになりうるジャンプ区間の画質を向上させることができる。さらに、サービス制御部112は、ジャンプ区間に含まれる踏み切り動作および着地動作の区間と、滞空状態の区間とで、異なるフレームレートまたは画像サイズを設定してもよい。この場合、図示されているように、サービス制御部112は、踏み切り動作および着地動作の区間で、一時的にフレームレートまたはサイズをさらに大きくしてもよい。
より具体的な処理として、アクション検出部106は、例えば図2や図6に示したようなジャンプ検出処理をリアルタイムで実行する。サービス制御部112は、アクション(ジャンプ)の撮影を継続的に実行し、所定の時間(ジャンプの持続時間よりも長い)に撮影された映像を、最大のフレームレートまたは最大の(オリジナルの)サイズでバッファするように撮像装置を制御している。アクション検出部106によってジャンプ区間が検出された場合、サービス制御部112は、ジャンプ区間の始点(踏み切り)から終点(着地)までの映像を高いフレームレートおよび/または大きいサイズで記録し、それ以外の区間(通常状態)の映像を低いフレームレートおよび/または小さいサイズで記録するように、撮像装置を制御する。さらに、サービス制御部112は、ジャンプ区間の開始直後と終了直前の所定の長さの区間を踏み切り動作および着地動作の区間として、この区間でさらに高いフレームレートおよび/またはさらに大きいサイズで映像を記録させてもよい。あるいは、アクション検出部106が図3に示したようなハイインパクト検出処理を実行し、そこで検出されたハイインパクト区間が、ジャンプ区間に含まれる踏み切り動作および着地動作の区間として扱われてもよい。
他の例として、サービス制御部112は、上記のような圧縮率やフレームレート、サイズの制御と同様にして、映像に含まれる音声の集音レベルを制御してもよい。例えば、ジャンプ区間に含まれる踏み切りおよび着地の区間や、また、サービス制御部112は、ジャンプ区間に限らず、上記の図10に示したようなターン検出処理で検出されたターン区間などについても、同様の制御を実施してもよい。検出されるアクション区間と、それに応じた制御の例を、以下の表1に示す。
また、さらに別の例として、サービス制御部112は、解析結果処理部107に含まれるスコアリング処理部109が算出したアクションスコアに基づいて、映像の品質を制御してもよい。より具体的には、例えば、サービス制御部112は、アクションスコアが高いアクションほど、低い圧縮率、高いフレームレート、大きい画像サイズ、および/または大きい集音レベルを設定してもよい。このとき、例えば、アクションスコアがアクション区間内で逐次変化するものである場合には、アクション区間内でもアクションスコアに応じて映像の品質を変化させてもよい。あるいは、そのような場合でも、同じアクション区間内では映像の品質を一定にしてもよい。
(7-3.第3の例)
図28は、本開示の一実施形態に含まれる機器制御の第3の例について説明するための図である。図示された例では、アクション(具体的にはジャンプ)の検出結果に基づいて、センサデータの記録や、センサデバイスそのものが制御される。本例で検出されるアクションは、ユーザの一連の状態(例えばスノーボードの滑走)の中で発生するアクションであり、センサデバイス制御部103は、アクション検出部106がジャンプ区間を検出した場合、センサデバイスによって提供されるセンサデータ、またはセンサデバイスの制御について、この区間(ジャンプ動作)ではその前後の区間(通常状態)とは異なる制御を実施する。
例えば、(a)に示すように、センサデバイス制御部103は、センサデータに含まれる加速度や角速度などのデータについて、ジャンプ動作中はセンサデータ解析部104での解析後に解析結果とともにデータを記録する一方で、通常状態では解析後にデータを破棄するように制御する。あるいは、(b)に示すように、センサデバイス制御部103は、センサデータに含まれる加速度や角速度などのデータについて、センサデータ解析部104での解析後に解析結果とともにデータを記録するにあたり、ジャンプ動作中は高いサンプリングレートでデータを記録し、通常状態では低いサンプリングレートでデータを記録するように制御してもよい。
さらに、上記の(a)または(b)において、センサデバイス制御部103は、ジャンプ区間に含まれる踏み切り動作および着地動作の区間と、滞空状態の区間とで、異なるサンプリングレートでデータを記録してもよい。より具体的には、センサデバイス制御部103は、踏み切り動作および着地動作の区間において、より高いサンプリングレートでデータを記録してもよい。
本実施形態において、センサデータに含まれる加速度データや角速度データは、センサデータ解析部104における解析に用いられる。解析後に解析結果とともにセンサデータを記録しておくことによって、例えばアクション画像の再生時にセンサデータに基づいて波形を表示させたり、事後的に再度解析を実施したりすることができる。しかしながら、例えば多くの種類のセンサデータを高いサンプリングレートで記録すると、センサデータのサイズが大きくなってしまう。そこで、本例では、情報の表示や再度の解析に用いられる可能性が高い、アクション区間(上記のジャンプ区間には限らず、ターン区間やその他の区間でもよい)で取得されたセンサデータに限って記録したり、アクション区間とそれ以外の区間では記録されるセンサデータのサンプリングデータを低くしたりすることによって、センサデータのサイズを抑制する。
さらに、例えば、(c)に示すように、センサデバイス制御部103は、センサデバイスに搭載されたGPS受信機などについて、通常状態ではスリープモードに設定し、ジャンプ動作中には起動するように、センサデバイスを制御してもよい。例えば、GPS受信機の起動中に取得された位置情報は、センサデバイス制御部103を介して解析結果処理部107、またはサービス制御部112に提供される。あるいは、位置情報は、センサデータ解析部104に提供され、アクション区間の検出結果とともに検出区間情報保持部110に格納されてもよい。
なお、例えば、アクション検出部106が図2または図6に示すようなジャンプ検出処理を実行する場合、ジャンプ区間が検出されるのは、ジャンプの着地よりも後になる。このような場合、センサデバイス制御部103は、ジャンプ区間が検出された時点でGPS受信機などのセンサを起動するようにセンサデバイスに制御信号を送信し、それから所定の時間、より具体的には例えば正確な位置情報を取得するのに十分な時間だけセンサを起動させた後、再びセンサをスリープモードに設定するようにセンサデバイスに制御信号を送信してもよい。この場合、ジャンプ区間の検出後にセンサが起動されていた区間が、アクションが検出されている区間に対応する区間になる(ジャンプ区間とセンサが起動されていた区間とは、必ずしも重なっていない)。
例えば、解析結果処理部107がアクションに関する付加的な情報(アクションスコアやクラスタの情報など)を生成するにあたっては、アクションが発生した位置を細密に(例えば、アクション区間におけるユーザの軌跡が描けるほどに)特定する必要は必ずしもなく、例えばアクションが発生した施設が特定できる程度に位置が特定できればよい場合も多い。そのような場合には、上記のように、アクションの検出後にセンサを起動しても、情報の生成のために十分な情報を得ることができる。
本実施形態において、位置情報は、センサデータ解析部104における解析には必ずしも用いられないが、解析結果処理部107における付加的な情報の生成や、サービス制御部112における情報の生成には用いられる場合がある。ここで、上記の通り、本実施形態において、解析結果処理部107やサービス制御部112は、図示された例におけるジャンプ区間のようなアクション区間について情報を生成する。従って、位置情報のような直接的にはアクション検出に関与しないセンサデータについては、センサデバイスでそのようなセンサデータを提供するセンサ自体をアクション区間に限って起動させることによって、例えばセンサデバイスの消費電力を節減してもよい。なお、このようなセンサデータについても、上記の(a)または(b)の例と同様に、継続的に提供されるセンサデータをアクション区間に限って記録したり、センサデータを継続的に記録するにあたってアクション区間に限ってサンプリングレートを上げたりする制御が実施されてもよい。
なお、(a)、(b)、または(c)のような制御の対象になるセンサデータの種類は上記の例には限られず、センサデバイスから提供されるセンサデータの種類や、アクションの検出に用いられるセンサデータの種類、付加的な情報の生成に用いられるセンサデータの種類などによって異なりうる。例えば、加速度または角速度についても、上記の(c)のような制御が可能である場合もありうる。また、制御の対象は、例えば気圧や地磁気など、他のあらゆる種類のセンサデータを含みうる。
(7-4.第4の例)
図29は、本開示の一実施形態に含まれる機器制御の第4の例について説明するための図である。図示された例では、アクション検出の直近の履歴を過去の履歴と比較することによって、適切な機器制御が実現される。
図示された例では、センサデータ解析部104に含まれるアクション検出部106によって、滞在、ドライブ、歩行などを含む直近のアクション履歴Rが検出されている。そして、現時点(Now)で、情報処理装置100とペアリングされたデジタルカメラなどの撮像装置によって映像の記録が開始されている。ここで、サービス制御部112は、検出区間情報保持部110から、直近のアクション履歴Rに類似した過去のアクション履歴を検索する。検索は、例えば、映像の記録の開始前のアクション履歴であって、滞在とドライブの繰り返しの後に歩行が検出されている、といったような条件を用いて実行される。あるいは、HMM(Hidden Markov Model)やk-NN(k-Nearest Neighbor)法などのアルゴリズムを用いて、アクション履歴間の類似度が算出されてもよい。また、結果として検出されたアクションだけではなく、センサデータ、より具体的には位置情報や気圧(高度)などを付加的に利用することによって、類似判定の幅を広げてもよい。
図示された例では、検索の結果、直近のアクション履歴Rに類似した過去のアクション履歴P1が発見された。そこで、サービス制御部112は、過去のアクション履歴P1で映像を記録したときの撮像装置の設定を読み出し(設定の情報は、例えば検出されたアクション区間の情報とともに検出区間情報保持部110に格納されている)、現時点(Now)で映像の記録を開始した撮像装置に同様の設定を適用する。より具体的には、サービス制御部112は、読み出された設定情報に従って撮像装置を制御する。例えば、直近のアクション履歴Rと過去のアクション履歴P1とは、いずれも屋外でハイキングなどをしているときのアクション履歴でありうる。このような場合に適切な撮像装置の設定は、例えば図示された過去のアクション履歴P2(滞在が主体)が発生したときのように屋内で過ごしていた場合に適切であった設定とは異なりうる。本例において、サービス制御部112は、予めそのような状況の相違をアクション履歴に基づいて検出して自動的に撮像装置の設定を変更することによって、ユーザが最初から適切な設定で映像を記録することを可能にする。
(7-5.第5の例)
図30および図31は、本開示の一実施形態に含まれる機器制御の第5の例について説明するための図である。図示された例では、アクションの検出結果に基づいて、スノーボードをしているユーザが装着しているHMD(Head Mounted Display)における画像の表示が制御される。
図30に示されたHMDの画面1100aでは、コミュニケーションウインドウ1101、および施設ナビゲーション1103が表示されている。これらの画像は、画面1100aにおいて、ユーザが視認する実空間の像に透過的に重畳されている。一方、図31に示されたHMDの画面1100bでは、コース内の設備(図示された例ではキッカー)のガイド1105、およびコースナビゲーション1107が表示されている。
本例において、サービス制御部112は、センサデータ解析部104に含まれるアクション検出部106によるユーザのアクションの検出結果に基づいて、例えば上記のような画面1100a,1100bを選択的にHMDに表示させる。より具体的には、例えば、アクション検出部106が上述したようなジャンプ区間やターン区間を継続的に検出している場合、サービス制御部112はユーザがスノーボードで滑走中(注意力を要求される状況)であると判断して、画面1100bのような、滑走中のユーザの状況に関連する情報を提示する。一方、アクション検出部106が所定の時間以上ジャンプ区間やターン区間を検出していない場合、サービス制御部112はユーザが滑走中ではない(移動中、または休憩中である)と判断して、画像1100aのような情報を提示する。
例えば、画面1100aで提供されるような情報は、ユーザにとって有用ではあるものの、滑走中はユーザの注意をそらす可能性があるために提供することが適切ではない。ユーザは、滑走の開始時にはマニュアルでHMDの表示をオフにしてもよいが、操作が面倒であったり、滑走の終了後に表示をオンにするのを忘れたりする可能性がある。それゆえ、本例のように自動的にHMDに表示される情報が切り替えられることは有用である。サービス制御部112は、上記の例のように滑走中には滑走に適した情報を提供してもよいし、滑走中はHMDに画像を表示せず、実質的に表示をオフにしてもよい。また、サービス制御部112は、滑走中にHMDの表示が切り替えられることによって提供されなくなる情報を、音声またはバイブレーションでユーザに通知してもよい。
他の例として、サービス制御部112は、アクションの検出結果に基づいて、HMDに限らず、さまざまな装置による情報の提示を制御してもよい。例えば、サービス制御部112は、アクションの検出結果に基づいてユーザが滑走中であると判断される場合には、ユーザの携帯電話の音声またはバイブレーションによる着信通知を抑制してもよい。なお、滑走中に限らず、アクションの検出結果に基づいてユーザがアクションに集中していると推定される場合には、同様の制御が可能でありうる。
(7-6.第6の例)
図32は、本開示の一実施形態に含まれる機器制御の第6の例を概念的に説明するための図である。図32を参照すると、スノーボードのコース142(施設の例)において、施設に設置されたカメラ161が、スノーボードで滑走しているユーザ143の映像を取得している。本例では、カメラ161が、複数のカメラ161a~161eを含む。カメラ161a~161eは、施設に設置されたカメラを含んでもよいし、ユーザやその友人などが所持しているスマートフォンやデジタルカメラなどを含んでもよい。これらのカメラによってそれぞれ取得された映像を組み合わせれば、アクションを実行中のユーザの自由視点映像が得られる。
図33は、本開示の一実施形態に含まれる情報出力の第6の例における処理を示すフローチャートである。図示された例では、まず、情報処理装置100のセンサデバイス制御部103が、図32に示したカメラ161として用いられる機器(デジタルカメラやスマートフォンなど。以下、カメラデバイスともいう)と、センサデバイスとの間のペアリングを実施する(S361)。ペアリングは、例えば、Bluetooth(登録商標)や無線LANなどの通信手段によって実施される。なお、カメラデバイスは、ペアリングの時点でアクションが実行される予定地点に向けて配置されていてもよいし、ペアリングの後、アクションが実行されるまでに予定地点に向けて配置されてもよい。
ペアリングの終了後、例えばセンサデバイスを起動したタイミングなどで、センサデバイス制御部103がそれぞれのカメラデバイスに同期信号を送信し(S362)、センサデバイスとそれぞれのカメラデバイスとの時刻(センサデータや映像データに与えられるタイムスタンプ)を同期させる。同期の完了後、センサデバイス制御部103は、それぞれのカメラデバイスに撮影開始信号を送信する(S363)。撮影開始信号を受信したカメラデバイスは、撮影による映像データの取得を開始する。
撮影中に、センサデバイスによって提供されるセンサデータによってアクション検出部106がアクション区間を検出した場合(S364)、例えば検出区間情報保持部110にアクション情報が記録される(S365)。撮影の終了は、例えばユーザ操作によって決定されてもよいし、アクション区間が所定の時間以上検出されない場合やセンサデバイスがオフにされた場合などにセンサデバイス制御部103が自動的に撮影の終了を決定してもよい。撮影の終了が決定された場合、センサデバイス制御部103は、それぞれのカメラデバイスに撮影終了信号を送信する(S366)。撮影の終了後、それぞれのカメラデバイスは、取得した映像データを情報処理装置100にアップロードする(S367)。
S367のアップロード後、情報処理装置100のサービス制御部112は、アクション検出部106が検出したアクション区間の情報に従って、アクション区間に対応する第1の区間(例えば、アクション区間の前後を含んでもよい)の映像を切り出す(S368)。さらに、サービス制御部112は、第1の区間について、それぞれのカメラデバイスから提供された映像データを用いて、自由視点映像を生成する(S369)。より具体的には、例えば、サービス制御部112は、それぞれのカメラデバイスから提供された映像データからポイントクラウドデータを生成する。なお、ポイントクラウドデータを用いる方法以外にも自由視点映像を提供するための手法は多くあり、サービス制御部112はそのような手法で自由視点映像を提供するためのデータを生成してもよい。自由視点映像を提供するための技術については、例えば特開2007-133660号公報などに記載されている。
図34は、図33に示した処理によって生成された自由視点映像を閲覧するためのユーザインターフェースについて説明するための図である。図示された例では、端末装置148(図示された例ではタブレットまたはスマートフォンのようなモバイルデバイス)のディスプレイ149に、自由視点映像1630が表示されている。ユーザは、例えばディスプレイ149上に設けられたタッチパネルなどを介した操作入力によって自由視点映像の視点を変更し、例えば図示されている映像1630a~映像1630eのような映像を、ディスプレイ149に表示させることが可能である。
本例の変形として、自由視点映像に代えて、またはこれとともに、アクション区間の3次元オブジェクトデータが提供されてもよい。この場合、情報処理装置100のサービス制御部112が、それぞれのカメラデバイスから提供された映像からアクション区間の映像を切り出すまでの処理は、上記で図33に示した処理のS361~S368と同様である。3次元オブジェクトデータの生成も、オブジェクトを含む3次元空間をモデリングするという点では自由視点映像の生成と同様である。従って、上述したような複数のカメラデバイス(図32に示したカメラ161)で取得された映像や、カメラデバイスにおいて付加的に測定された映像内のデプスの情報などに基づいて、3次元オブジェクトデータを生成することができる。
3次元オブジェクトデータを提供する場合、例えば、アクション区間内でユーザが指定した時刻の3次元オブジェクトデータを、そのままユーザの端末装置に送信してもよい。あるいは、指定された時刻の3次元オブジェクトデータを3次元プリンタを用いて出力し、出力されたオブジェクトをユーザに提供(その場で配布してもよいし、送付してもよい)してもよい。例えば、3次元オブジェクトデータとともに自由視点映像を生成し、図34に示したようなユーザインターフェースによって自由視点映像をユーザに提示しながら、3次元オブジェクトとして出力するアクション区間中のシーンを選択させてもよい。
(7-7.ユーザのプロファイルについて)
上述したような本開示の一実施形態では、過去に検出されたアクションの種類によって、ユーザのプロファイルを作成することができる。例えば、ジャンプのアクションで、高いアクションスコアが安定的に算出されているユーザについては、「ジャンプの上級者」というプロファイルが与えられる。また、ジャンプのアクションスコアが低く、またジャンプの途中で転倒が検出されることが多いユーザについては、「ジャンプの初級者」というプロファイルが与えられる。
例えば、上記のようなプロファイルを利用して、本実施形態における機器制御の処理を異ならせてもよい。例えば、図28に示した例でセンサデータの記録の有無や記録方法を決定するにあたり、ユーザのプロファイルを反映させてもよい。より具体的には、ユーザがジャンプの上級者である場合、まれに発生する転倒が検出されたジャンプのセンサデータを、より高いサンプリングレートで詳細に記録してもよい。上級者はジャンプに成功するのが当たり前であるため、まれな失敗を詳細に分析することによって、さらなる上達の支援になると考えられるためである。逆に、ユーザがジャンプの初級者である場合、転倒が検出されない、成功したジャンプのセンサデータを、より高いサンプリングレートで詳細に記録してもよい。初級者は、成功したジャンプを振り返ることで、安定してジャンプに成功できるようになるヒントをつかめる可能性があるためである。
(5.ハードウェア構成)
次に、図35を参照して、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。図35は、本開示の実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
情報処理装置900は、CPU(Central Processing unit)901、ROM(Read Only Memory)903、およびRAM(Random Access Memory)905を含む。また、情報処理装置900は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、通信装置925を含んでもよい。さらに、情報処理装置900は、必要に応じて、撮像装置933、およびセンサ935を含んでもよい。情報処理装置900は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などの処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置900内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりする。
出力装置917は、取得した情報をユーザに対して視覚や聴覚、触覚などの感覚を用いて通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)または有機EL(Electro-Luminescence)ディスプレイなどの表示装置、スピーカまたはヘッドフォンなどの音声出力装置、もしくはバイブレータなどでありうる。出力装置917は、情報処理装置900の処理により得られた結果を、テキストもしくは画像などの映像、音声もしくは音響などの音声、またはバイブレーションなどとして出力する。
ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。ストレージ装置919は、例えばCPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
接続ポート923は、機器を情報処理装置900に接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどでありうる。また、接続ポート923は、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、情報処理装置900と外部接続機器929との間で各種のデータが交換されうる。
通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、有線または無線のLAN(Local Area Network)、Bluetooth(登録商標)、NFC(Near Field Communication)、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などを含みうる。
撮像装置933は、例えば、CMOS(Complementary Metal Oxide Semiconductor)またはCCD(Charge Coupled Device)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置933は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
センサ935は、例えば、加速度センサ、角速度センサ、地磁気センサ、照度センサ、温度センサ、気圧センサ、圧力センサ、距離センサ、または音センサ(マイクロフォン)などの各種のセンサである。センサ935は、例えば情報処理装置900の筐体の姿勢など、情報処理装置900自体の状態に関する情報や、情報処理装置900の周辺の明るさや騒音など、情報処理装置900の周辺環境に関する情報を取得する。また、センサ935は、GNSS(Global Navigation Satellite System)信号を受信して装置の緯度、経度および高度を測定するGNSS受信機を含んでもよい。
以上、情報処理装置900のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
(6.補足)
本開示の実施形態は、例えば、上記で説明したような情報処理装置、システム、情報処理装置またはシステムで実行される情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された一時的でない有形の媒体を含みうる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)ユーザのアクション情報、および前記アクション情報に関連付けられる空間情報ならびに時間情報を取得する情報取得部と、
前記空間情報に基づく前記アクション情報のマップ表現を実行するにあたり、前記時間情報を考慮するマップ表現処理部と
を備える情報処理装置。
(2)前記マップ表現処理部は、前記時間情報によって示される時刻と基準時刻との関係を考慮する、前記(1)に記載の情報処理装置。
(3)前記マップ表現処理部は、前記時間情報によって示される時刻が前記基準時刻から離れるほど、前記マップ表現における前記アクション情報の影響を小さくする、前記(2)に記載の情報処理装置。
(4)前記アクション情報は、前記ユーザのアクションを複数のカテゴリのいずれかに分類するときの前記各カテゴリのスコアを含み、
前記マップ表現処理部は、共通の前記空間情報に関連付けられた前記アクション情報に含まれる前記スコアに前記時間情報によって示される時刻が前記基準時刻から離れるほど小さくなる重みをつけて足し合わせることによって、前記マップ表現において前記共通の空間情報に関連付けられる代表アクションのカテゴリを決定する、前記(3)に記載の情報処理装置。
(5)前記マップ表現処理部は、前記基準時刻との差が閾値を下回る時刻を示す前記時間情報に関連付けられた前記アクション情報に基づいて前記マップ表現を実行する、前記(3)に記載の情報処理装置。
(6)前記マップ表現処理部は、前記時間情報が前記基準時刻と共通する属性を有する場合に、前記マップ表現における前記アクション情報の影響を大きくする、前記(2)に記載の情報処理装置。
(7)前記アクション情報は、第1の時間情報に関連付けられた第1のアクション情報と第2の時間情報に関連付けられた第2のアクション情報とを含み、
前記マップ表現処理部は、前記第1のアクション情報または前記第2のアクション情報の少なくともいずれかの前記マップ表現を実行するにあたり、前記第1の時間情報によって示される時刻と前記第2の時間情報によって示される時刻との前後関係を考慮する、前記(1)~(6)のいずれか1項に記載の情報処理装置。
(8)前記第1のアクション情報は、第1の空間情報に関連付けられ、
前記第2のアクション情報は、前記第1の空間情報とは異なる第2の空間情報に関連付けられ、
前記マップ表現処理部は、前記第2の時間情報が前記第1の時間情報よりも後の時刻を示す場合に、前記マップ表現において前記第1の空間情報によって示される位置から前記第2の空間情報によって示される位置への移動を表現する、前記(7)に記載の情報処理装置。
(9)前記アクション情報は、アクションを評価するアクションのスコアに関する情報を含み、
前記マップ表現処理部は、前記マップ表現を実行するにあたり、前記アクションのスコアに関する情報をさらに考慮する、前記(1)~(8)のいずれか1項に記載の情報処理装置。
(10)前記アクション情報は、前記スコアに基づいて推定される前記ユーザのスキルレベルに関する情報を含み、
前記マップ表現処理部は、前記マップ表現を実行するにあたり、前記スキルレベルに関する情報をさらに考慮する、前記(9)に記載の情報処理装置。
(11)前記アクション情報は、前記ユーザのアクションのネガティブな評価を示すスコアに関する情報を含み、
前記マップ表現処理部は、前記ネガティブな評価については前記スキルレベルが高いほどスコアを上方修正する、前記(10)に記載の情報処理装置。
(12)前記アクション情報は、前記ユーザのアクションのポジティブな評価を示すスコアに関する情報を含み、
前記マップ表現処理部は、前記ポジティブな評価については前記スキルレベルが高いほどスコアを下方修正する、前記(10)または(11)に記載の情報処理装置。
(13)前記マップ表現処理部は、前記空間情報に基づいて、前記アクション情報によって示されるアクションが実行された施設を特定し、前記ユーザのスキルレベルの高さに応じて前記施設ごとの評価を含む情報を生成する、前記(10)~(12)のいずれか1項に記載の情報処理装置。
(14)前記マップ表現処理部は、前記アクション情報に関連付けられた第1の空間情報によって示される位置と、前記アクション情報に関連付けられていない第2の空間情報によって示される位置との間の距離に基づいて前記第2の空間情報に関連付けられるアクション情報を推定する、前記(1)~(13)のいずれか1項に記載の情報処理装置。
(15)前記アクション情報は、前記空間情報の第1の系列に関連付けられた第1のアクション情報系列と、前記空間情報の第2の系列に関連付けられた第2のアクション情報系列とを含み、前記第2のアクション情報系列は、前記第1のアクション情報系列よりも前の時刻を示す時間情報に関連付けられ、
前記マップ表現処理部は、前記空間情報の第1の系列によって示される第1の移動経路が、前記空間情報の第2の系列によって示される第2の移動経路に部分的に一致する場合に、前記第2の移動経路の残りの部分を示す前記空間情報の第2の系列に関連付けられた前記第2のアクション情報系列に基づいて前記第1のアクション情報系列に関連付けられたユーザへのナビゲーションを提供する、前記(1)~(14)のいずれか1項に記載の情報処理装置。
(16)前記アクション情報は、前記ユーザの検出されたアクションを示す情報を含み、
前記マップ表現処理部は、前記マップ表現の結果によって示される前記空間情報によって示される位置ごとの前記検出されたアクションの傾向に基づいて、前記ユーザのアクションを検出するための設定を調整する、前記(1)~(15)のいずれか1項に記載の情報処理装置。
(17)ユーザのアクション情報、および前記アクション情報に関連付けられる空間情報ならびに時間情報を取得することと、
プロセッサが、前記空間情報に基づく前記アクション情報のマップ表現を実行するにあたり、前記時間情報を考慮することと
を含む情報処理方法。
(18)ユーザのアクション情報、および前記アクション情報に関連付けられる空間情報ならびに時間情報を取得する機能と、
前記空間情報に基づく前記アクション情報のマップ表現を実行するにあたり、前記時間情報を考慮する機能と
をコンピュータに実現させるためのプログラム。
また、以下のような構成も本開示の技術的範囲に属する。
(1)ユーザまたは前記ユーザによって使用される器具に装着されたセンサによって提供されるセンサデータを受信するセンサデータ受信部と、
前記センサデータに基づいて前記ユーザのアクションを検出するアクション検出部と、
前記検出されたアクションに応じて、前記ユーザまたは前記アクションに関連する機器を制御する機器制御部と
を備える情報処理装置。
(2)前記アクション検出部は、前記ユーザの一連の状態の中で発生する前記アクションを検出する、前記(1)に記載の情報処理装置。
(3)前記機器制御部は、前記一連の状態の中で、前記アクションが検出されている区間に対応する第1の区間と、そうでない第2の区間との間で異なる前記機器の制御を実行する、前記(2)に記載の情報処理装置。
(4)前記機器は、前記アクションの映像または画像を記録する機能を有し、
前記機器制御部は、前記第1の区間で前記映像または前記画像を特定するように前記機器を制御する、前記(3)に記載の情報処理装置。
(5)前記センサデータは、前記ユーザの高度を示すデータを含み、
前記アクションは、ジャンプを含み、
前記機器制御部は、前記ジャンプが検出されている前記第1の区間で、少なくとも前記ユーザの高度のピークで前記画像を記録するように前記機器を制御する、前記(4)に記載の情報処理装置。
(6)前記機器は、前記アクションの映像または画像を記録する機能を有し、
前記機器制御部は、前記第1の区間では前記映像または前記画像を第1の品質で記録し、前記第2の区間では前記映像または前記画像を前記第1の品質よりも低い第2の品質で記録するように前記機器を制御する、前記(3)に記載の情報処理装置。
(7)前記第1の品質は、第1の圧縮率、第1のフレームレート、第1のフレームサイズ、または第1の集音レベルを含み、
前記第2の品質は、前記第1の圧縮率よりも高い第2の圧縮率、前記第1のフレームレートよりも低い第2のフレームレート、前記第1のフレームサイズよりも小さい第2のフレームサイズ、または前記第1の集音レベルよりも低い第2の集音レベルを含む、前記(6)に記載の情報処理装置。
(8)前記機器は、前記センサデータを記録する機能を有し、
前記機器制御部は、前記第1の区間で前記センサデータを記録するように前記機器を制御する、前記(3)~(7)のいずれか1項に記載の情報処理装置。
(9)前記機器は、前記センサデータを記録する機能を有し、
前記機器制御部は、前記第1の区間では前記センサデータを第1のサンプリングレートで記録し、前記第2の区間では前記センサデータを前記第1のサンプリングレートよりも低い第2のサンプリングレートで記録するように前記機器を制御する、前記(3)~(7)のいずれか1項に記載の情報処理装置。
(10)前記機器は、前記アクションに関する情報を生成するために用いられる付加的なセンサデータを提供する機能を有し、
前記機器制御部は、前記第1の区間で前記付加的なセンサデータが提供されるように前記機器を制御する、前記(3)~(9)のいずれか1項に記載の情報処理装置。
(11)前記機器制御部は、前記検出されたアクションの履歴に応じて前記機器を制御する、前記(1)~(10)のいずれか1項に記載の情報処理装置。
(12)前記機器制御部は、前記機器が新たに起動されるまでに検出された前記アクションの直近履歴を、前記機器が過去に起動されるまでに検出された前記アクションの過去履歴と比較し、前記直近履歴に類似する前記過去履歴に対応する前記機器の設定を、新たに起動される前記機器にも適用する、前記(11)に記載の情報処理装置。
(13)前記機器は、前記ユーザに情報を提示する機能を有し、
前記アクションは、ユーザに注意力が要求される状況で発生する特定の種類のアクションを含み、
前記機器制御部は、前記特定の種類のアクションが検出された場合に、前記情報の内容または提示方法が変化するように前記機器を制御する、前記(1)~(12)のいずれか1項に記載の情報処理装置。
(14)前記機器制御部は、前記情報の内容が前記状況に関連するものに変更されるように前記機器を制御する、前記(13)に記載の情報処理装置。
(15)前記機器制御部は、画像によって提示されていた前記情報を、音声またはバイブレーションによって提示するか、または提示しないように前記機器を制御する、前記(13)に記載の情報処理装置。
(16)前記機器は、前記アクションの映像または画像を加工する機能を有し、
前記機器制御部は、前記アクションが検出されている区間に対応する区間で前記映像または画像を加工するように前記機器を制御する、前記(1)~(15)のいずれか1項に記載の情報処理装置。
(17)前記機器による前記映像または前記画像の加工は、前記映像または前記画像に基づいて、自由視点映像もしくは自由視点画像を提供するためのデータ、または3次元オブジェクトデータを生成することを含む、前記(16)に記載の情報処理装置。
(18)ユーザまたは前記ユーザによって使用される器具に装着されたセンサによって提供されるセンサデータを受信することと、
前記センサデータに基づいて前記ユーザのアクションを検出することと、
プロセッサが、前記検出されたアクションに応じて、前記ユーザまたは前記アクションに関連する機器を制御することと
を含む情報処理方法。
(19)ユーザまたは前記ユーザによって使用される器具に装着されたセンサによって提供されるセンサデータを受信する機能と、
前記センサデータに基づいて前記ユーザのアクションを検出する機能と、
前記検出されたアクションに応じて、前記ユーザまたは前記アクションに関連する機器を制御する機能と
をコンピュータに実現させるためのプログラム。