(57)【要約】【課題】複数人のユーザが、容易に、手本の運動動作のタイミングに合わせて運動動作を行うことができる運動支援装置、運動支援方法およびプログラムを提供する。【解決手段】複数人のユーザそれぞれの身体部位に装着した検出器から、各ユーザの加速度の検出値を取得する。各ユーザそれぞれの検出値に基づき、手本の運動動作における動作区間（静止ポイント間）においてユーザが動作状態にあれば、評価値として１ポイントを付与する。また、手本の運動動作における静止ポイントにおいてユーザが静止状態にあれば、評価値に１ポイントを加算する。評価値の平均値を求め、平均値が高ければ、手本の運動動作の動作速度を早め、平均値が低ければ、手本の運動動作の動作速度を遅くする調整を行う。【選択図】図４
2012065943.tif 000002
【特許請求の範囲】
【請求項１】
身体部位を動作させる運動動作を行う速さの目標となる目標信号を所定の出力部へ出力して前記運動動作の支援を行う運動支援装置であって、
前記運動動作を表す複数種類の運動情報を組合せてなるレッスン情報と、前記運動情報に関連付けられ、前記運動動作を行う基準の速さである第１速度と、を記憶する記憶手段と、
前記レッスン情報に表される運動レッスンに参加する複数人のユーザのうち少なくとも２人以上の前記ユーザのそれぞれが行う前記運動動作のタイミングを示すタイミング情報、およびそのタイミングにおける前記運動動作の状態を示す状態情報を取得する取得手段と、
前記第１速度で前記運動動作が行われる場合に前記取得手段によって取得される前記タイミング情報および前記状態情報に基づき、所定のタイミングにおける前記運動動作の状態が静止状態であるか動作状態であるかに応じて、前記第１速度で行われる前記運動動作に対する前記ユーザの追従状態を示す追従情報を決定する決定手段と、
前記決定手段によって決定された前記追従情報に基づいて、前記運動動作を行う速さを第２速度に変更する第１変更手段と、
前記第１変更手段によって変更された前記第２速度で前記運動動作が行われるように、前記目標信号の出力速度を変更する第２変更手段と、
を備えることを特徴とする運動支援装置。
【請求項２】
前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得される前記ユーザのうちの少なくとも２人以上の前記ユーザの前記タイミング情報および前記状態情報に基づいて、所定の期間における前記運動動作の状態が動作状態である場合に、前記追従情報として、前記第１速度で行われる前記運動動作に前記ユーザが追従していることを示す情報を決定することを特徴とする請求項１に記載の運動支援装置。
【請求項３】
前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得される前記ユーザのうちの少なくとも２人以上の前記ユーザの前記タイミング情報および前記状態情報に基づいて、所定のタイミングにおける前記運動動作の状態が静止状態である場合に、前記追従情報として、前記第１速度で行われる前記運動動作に前記ユーザが追従していることを示す情報を決定することを特徴とする請求項１または２に記載の運動支援装置。
【請求項４】
前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得されるすべての前記ユーザの前記タイミング情報および前記状態情報に基づいて、所定の期間における前記運動動作の状態が動作状態であり、且つ、所定のタイミングにおける前記運動動作の状態が静止状態である場合に、前記追従情報として、前記ユーザが前記第１速度で行われる前記運動動作に追従していることを示す情報を決定することを特徴とする請求項１に記載の運動支援装置。
【請求項５】
前記追従情報は、所定のタイミングにおける前記運動動作の状態が静止状態である場合よりも、所定の期間における前記運動動作の状態が動作状態である場合に、優先して、点数が付与される評価値によって表される情報であることを特徴とする請求項１から４のいずれかに記載の運動支援装置。
【請求項６】
前記記憶手段は、前記評価値と、前記第１速度を前記評価値の大きさに応じて調整する調整値とを関連付けた調整情報をさらに記憶し、
前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得される前記ユーザごとに前記評価値を求めるとともに、前記評価値の平均値を求め、
前記第１変更手段は、前記調整情報に基づいて前記評価値の平均値に応じた前記調整値を取得するとともに、前記運動動作を行う速さを、前記第１速度に前記調整値を適用した前記第２速度に変更することを特徴とする請求項５に記載の運動支援装置。
【請求項７】
前記記憶手段は、前記調整値の上限値および下限値であり、前記運動動作の種類に応じて異なる前記上限値および前記下限値を設定するため、前記調整情報に適用される制限情報をさらに記憶し、
前記第１変更手段は、前記制限情報を適用した前記調整情報の参照により、前記上限値および前記下限値の範囲内の値の前記調整値を取得して、前記運動動作を行う速さを前記第２速度に変更することを特徴とする請求項６に記載の運動支援装置。
【請求項８】
前記調整情報は、前記評価値が小さいほど、前記第２速度が遅くなるように、前記評価値と前記調整値とが関連付けられていることを特徴とする請求項５から７のいずれかに記載の運動支援装置。
【請求項９】
前記記憶手段は、前記レッスン情報に含まれる前記運動情報のそれぞれに関連付けられ、１単位の前記運動動作を複数回数繰返して行う繰返情報をさらに記憶し、
前記レッスン情報に表される前記運動レッスンが行われる期間を示すレッスン時間を、前記第１速度の前記第２速度への変更に応じて変更可能とするか否かを設定する設定手段と、
前記設定手段によって前記レッスン時間が変更不可と設定された場合に、前記運動動作を前記第２速度で前記繰返情報に基づく回数分繰返して行った場合にかかる第２時間が、前記運動動作を前記第１速度で前記繰返情報に基づく回数分繰返して行った場合にかかる第１時間以下で、且つ、回数が最大となるように、前記運動動作を繰り返す回数を変更する第３変更手段と、
をさらに備えることを特徴とする請求項１から８のいずれかに記載の運動支援装置。
【請求項１０】
前記レッスン情報は、
前記運動レッスンの開始時期に行われるウォーミングアップ運動に対応する前記運動動作を示す前記運動情報と、
前記運動レッスンの終了時期に行われるクールダウン運動に対応する前記運動動作を示す前記運動情報と、
前記運動レッスンにおける主要な運動であるメイン運動に対応する前記運動動作を示す前記運動情報と、
を含み、
前記第１変更手段は、前記メイン運動に対応する前記運動動作の速さを変更することを特徴とする請求項１から９のいずれかに記載の運動支援装置。
【請求項１１】
身体部位を動作させる運動動作を表す複数種類の運動情報を組合せてなるレッスン情報と、前記運動情報に関連付けられ、前記運動動作を行う基準の速さである第１速度と、を記憶する記憶手段を備えるコンピュータで実行され、前記運動動作を行う速さの目標となる目標信号を所定の出力部へ出力して前記運動動作の支援を行う運動支援方法であって、
前記レッスン情報に表される運動レッスンに参加する複数人のユーザのうち少なくとも２人以上の前記ユーザのそれぞれが行う前記運動動作のタイミングを示すタイミング情報、およびそのタイミングにおける前記運動動作の状態を示す状態情報を取得する取得ステップと、
前記第１速度で前記運動動作が行われる場合に前記取得ステップによって取得される前記タイミング情報および前記状態情報に基づき、所定のタイミングにおける前記運動動作の状態が静止状態であるか動作状態であるかに応じて、前記第１速度で行われる前記運動動作に対する前記ユーザの追従状態を示す追従情報を決定する決定ステップと、
前記決定ステップによって決定された前記追従情報に基づいて、前記運動動作を行う速さを第２速度に変更する第１変更ステップと、
前記第１変更ステップによって変更された前記第２速度で前記運動動作が行われるように、前記目標信号の出力速度を変更する第２変更ステップと、
を含む運動支援方法。
【請求項１２】
身体部位を動作させる運動動作を表す複数種類の運動情報を組合せてなるレッスン情報と、前記運動情報に関連付けられ、前記運動動作を行う基準の速さである第１速度と、を記憶する記憶手段を備え、前記運動動作を行う速さの目標となる目標信号を所定の出力部へ出力して前記運動動作の支援を行う運動支援装置として機能させるためのプログラムであって、
コンピュータに、
前記レッスン情報に表される運動レッスンに参加する複数人のユーザのうち少なくとも２人以上の前記ユーザのそれぞれが行う前記運動動作のタイミングを示すタイミング情報、およびそのタイミングにおける前記運動動作の状態を示す状態情報を取得する取得ステップと、
前記第１速度で前記運動動作が行われる場合に前記取得ステップによって取得される前記タイミング情報および前記状態情報に基づき、所定のタイミングにおける前記運動動作の状態が静止状態であるか動作状態であるかに応じて、前記第１速度で行われる前記運動動作に対する前記ユーザの追従状態を示す追従情報を決定する決定ステップと、
前記決定ステップによって決定された前記追従情報に基づいて、前記運動動作を行う速さを第２速度に変更する第１変更ステップと、
前記第１変更ステップによって変更された前記第２速度で前記運動動作が行われるように、前記目標信号の出力速度を変更する第２変更ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、身体部位を動作させる運動動作を支援する運動支援装置、運動支援方法およびプログラムに関する。
【背景技術】
【０００２】
従来、身体部位を動作させる運動動作の映像（運動映像）を、例えばモニタやスクリーンなどの所定の表示部に表示し、ユーザの運動を支援する運動支援装置が知られている。表示部に表示される運動映像には、例えば、コンピュータグラフィックス（ＣＧ）により生成したキャラクタに運動の模範動作をさせて生成した映像が用いられる。また、運動映像の表示とともに、運動動作に応じたテンポ（動作の節となるタイミング）の楽曲が再生され、ユーザは、楽曲に合わせてタイミングを取りながら、運動映像に従い運動を行う。
【０００３】
ところで、例えばユーザが初心者である場合、運動映像をみて、キャラクタの動作に合わせて自身の運動動作を行うため、ユーザの運動動作を行うタイミングが、キャラクタが運動動作を行うタイミングよりも遅れることがある。そこで、ユーザの運動動作を検出し、ユーザの行う運動動作のタイミングが手本となる運動動作のタイミングよりも遅れたら、運動映像や楽曲の再生速度を遅くする技術が公開されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１３６６０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１はユーザが一人である場合について考慮されたものである。運動支援装置は、例えばフィットネスクラブなどのスポーツ施設に設置されるため、ユーザが複数人であっても、手本となる運動動作のタイミングに各ユーザが追従して各自の運動動作を行うことができる運動支援装置が望まれていた。
【０００６】
本発明は、上記の問題点を解決するためになされたものであり、複数人のユーザが、容易に、手本の運動動作のタイミングに合わせて運動動作を行うことができる運動支援装置、運動支援方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１態様によれば、身体部位を動作させる運動動作を行う速さの目標となる目標信号を所定の出力部へ出力して前記運動動作の支援を行う運動支援装置であって、前記運動動作を表す複数種類の運動情報を組合せてなるレッスン情報と、前記運動情報に関連付けられ、前記運動動作を行う基準の速さである第１速度と、を記憶する記憶手段と、前記レッスン情報に表される運動レッスンに参加する複数人のユーザのうち少なくとも２人以上の前記ユーザのそれぞれが行う前記運動動作のタイミングを示すタイミング情報、およびそのタイミングにおける前記運動動作の状態を示す状態情報を取得する取得手段と、前記第１速度で前記運動動作が行われる場合に前記取得手段によって取得される前記タイミング情報および前記状態情報に基づき、所定のタイミングにおける前記運動動作の状態が静止状態であるか動作状態であるかに応じて、前記第１速度で行われる前記運動動作に対する前記ユーザの追従状態を示す追従情報を決定する決定手段と、前記決定手段によって決定された前記追従情報に基づいて、前記運動動作を行う速さを第２速度に変更する第１変更手段と、前記第１変更手段によって変更された前記第２速度で前記運動動作が行われるように、前記目標信号の出力速度を変更する第２変更手段と、を備える運動支援装置が提供される。
【０００８】
第１態様では、基準の速さで行われる運動動作に対するユーザの追従状態に基づいて、運動動作を行う速さを変更することで、ユーザの追従状態を、より高めることができる。運動レッスンには複数人のユーザが参加するため、それぞれのユーザに適した運動動作の速さは異なる場合があるが、速さの変更を、少なくとも２人以上のユーザの追従状態に基づいて行うので、各ユーザのそれぞれに適した運動動作の速さに近づけることができる。
【０００９】
第１態様において、前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得される前記ユーザのうちの少なくとも２人以上の前記ユーザの前記タイミング情報および前記状態情報に基づいて、所定の期間における前記運動動作の状態が動作状態である場合に、前記追従情報として、前記第１速度で行われる前記運動動作に前記ユーザが追従していることを示す情報を決定してもよい。例えば、ユーザが運動動作に対してまったく追従できずに運動動作を停止してしまうと、所定の期間における運動動作の状態が静止状態となる場合がある。追従情報として、所定の期間における運動動作の状態が動作状態である場合にユーザが追従していることを示す情報を決定すれば、このような静止状態が生じた場合に、確実に、追従できていないと決定することができ、追従状態の決定をより精度よく行うことができる。
【００１０】
第１態様において、前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得される前記ユーザのうちの少なくとも２人以上の前記ユーザの前記タイミング情報および前記状態情報に基づいて、所定のタイミングにおける前記運動動作の状態が静止状態である場合に、前記追従情報として、前記第１速度で行われる前記運動動作に前記ユーザが追従していることを示す情報を決定してもよい。例えば、ユーザが運動動作に追従するものの、追従に遅れを生じてしまうと、運動動作のタイミングがずれる場合がある。この場合、所定のタイミングにおける運動動作の状態が静止状態であるにも関わらず、そのタイミングにおけるユーザの運動動作の状態が動作状態となってしまう。追従情報として、所定のタイミングにおけるユーザの運動動作の状態が静止状態である場合にそのユーザが追従していることを示す情報を決定すれば、このような動作状態が生じた場合にユーザが追従できていないと決定することができ、追従状態の決定をより精度よく行うことができる。
【００１１】
第１態様において、前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得されるすべての前記ユーザの前記タイミング情報および前記状態情報に基づいて、所定の期間における前記運動動作の状態が動作状態であり、且つ、所定のタイミングにおける前記運動動作の状態が静止状態である場合に、前記追従情報として、前記ユーザが前記第１速度で行われる前記運動動作に追従していることを示す情報を決定してもよい。追従情報を、すべてのユーザの運動動作の状態に基づいて決定することで、各ユーザのそれぞれに適した運動動作の速さに近づけることができる。
【００１２】
第１態様において、前記追従情報は、所定のタイミングにおける前記運動動作の状態が静止状態である場合よりも、所定の期間における前記運動動作の状態が動作状態である場合に、優先して、点数が付与される評価値によって表される情報であってもよい。このようにすれば、例えば、ユーザが運動動作に対してまったく追従できずに運動動作を停止してしまった場合よりも、ユーザが運動動作に追従するものの、追従に遅れを生じてしまった場合において、評価値として、より高い点数を得ることができる。よって、評価値として、より実態に沿った点数を得ることができ、追従情報としての精度を高めることができる。
【００１３】
第１態様において、前記記憶手段は、前記評価値と、前記第１速度を前記評価値の大きさに応じて調整する調整値とを関連付けた調整情報をさらに記憶してもよく、前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得される前記ユーザごとに前記評価値を求めるとともに、前記評価値の平均値を求めてもよい。前記第１変更手段は、前記調整情報に基づいて前記評価値の平均値に応じた前記調整値を取得するとともに、前記運動動作を行う速さを、前記第１速度に前記調整値を適用した前記第２速度に変更してもよい。評価値の平均値に応じた調整値によって運動動作を行う速さを調整すれば、各ユーザのそれぞれに適した運動動作の速さに近づけることができる。
【００１４】
第１態様において、前記記憶手段は、前記調整値の上限値および下限値であり、前記運動動作の種類に応じて異なる前記上限値および前記下限値を設定するため、前記調整情報に適用される制限情報をさらに記憶してもよい。前記第１変更手段は、前記制限情報を適用した前記調整情報の参照により、前記上限値および前記下限値の範囲内の値の前記調整値を取得して、前記運動動作を行う速さを前記第２速度に変更してもよい。調整値に上限値および下限値を設定することができるので、運動動作の速さの変更後の速さが、各ユーザのそれぞれに適した運動動作の速さから、大きくずれてしまうことがない。
【００１５】
第１態様において、前記調整情報は、前記評価値が小さいほど、前記第２速度が遅くなるように、前記評価値と前記調整値とが関連付けられていてもよい。評価値が大きければ複数人のユーザの追従状態が良好であり、その場合には第２速度を速くすることができるので、より高度な運動動作に挑戦することができる。一方、評価値が小さければ複数人のユーザの追従状態が好ましくなく、その場合には第２速度を遅くすることができるので、各ユーザが、より確実に、運動動作をこなすことができる。
【００１６】
第１態様において、前記記憶手段は、前記レッスン情報に含まれる前記運動情報のそれぞれに関連付けられ、１単位の前記運動動作を複数回数繰返して行う繰返情報をさらに記憶してもよい。第１態様は、前記レッスン情報に表される前記運動レッスンが行われる期間を示すレッスン時間を、前記第１速度の前記第２速度への変更に応じて変更可能とするか否かを設定する設定手段と、前記設定手段によって前記レッスン時間が変更不可と設定された場合に、前記運動動作を前記第２速度で前記繰返情報に基づく回数分繰返して行った場合にかかる第２時間が、前記運動動作を前記第１速度で前記繰返情報に基づく回数分繰返して行った場合にかかる第１時間以下で、且つ、回数が最大となるように、前記運動動作を繰り返す回数を変更する第３変更手段と、をさらに備えてもよい。運動動作の速さを変更すれば、レッスン時間が長引いたり、あるいは短縮されたりする場合が生ずるが、運動動作を繰り返す回数を変更し、第２時間を第１時間以下としつつ、繰り返す回数が最大となるようにすれば、レッスン時間が、変更前のレッスン時間に近づくようにすることができる。これにより、運動レッスンを実施する計画を、予定を管理する時間割に沿って立てやすくすることができる。
【００１７】
第１態様において、前記レッスン情報は、前記運動レッスンの開始時期に行われるウォーミングアップ運動に対応する前記運動動作を示す前記運動情報と、前記運動レッスンの終了時期に行われるクールダウン運動に対応する前記運動動作を示す前記運動情報と、前記運動レッスンにおける主要な運動であるメイン運動に対応する前記運動動作を示す前記運動情報と、を含んでもよい。前記第１変更手段は、前記メイン運動に対応する前記運動動作の速さを変更してもよい。ウォーミングアップ運動に対応する運動動作は、運動を行う準備のための運動であり、クールダウン運動に対応する運動動作は、運動を終了する準備のための運動である。これらの運動動作は確実に行われる必要があり、通常、ユーザが追従しやすい速さで行われる。一方、運動の主目的であるメイン運動に対応する運動動作は、ユーザの運動に対する興味を最も引き立てる運動動作であり、運動動作の速さを速めて運動に対するモチベーションを高めたり、あるいは運動動作の速さを遅くして確実に追従できるようにしたりすることで、運動レッスンの効果を高めることができる。
【００１８】
本発明の第２態様によれば、身体部位を動作させる運動動作を表す複数種類の運動情報を組合せてなるレッスン情報と、前記運動情報に関連付けられ、前記運動動作を行う基準の速さである第１速度と、を記憶する記憶手段を備えるコンピュータで実行され、前記運動動作を行う速さの目標となる目標信号を所定の出力部へ出力して前記運動動作の支援を行う運動支援方法であって、前記レッスン情報に表される運動レッスンに参加する複数人のユーザのうち少なくとも２人以上の前記ユーザのそれぞれが行う前記運動動作のタイミングを示すタイミング情報、およびそのタイミングにおける前記運動動作の状態を示す状態情報を取得する取得ステップと、前記第１速度で前記運動動作が行われる場合に前記取得ステップによって取得される前記タイミング情報および前記状態情報に基づき、所定のタイミングにおける前記運動動作の状態が静止状態であるか動作状態であるかに応じて、前記第１速度で行われる前記運動動作に対する前記ユーザの追従状態を示す追従情報を決定する決定ステップと、前記決定ステップによって決定された前記追従情報に基づいて、前記運動動作を行う速さを第２速度に変更する第１変更ステップと、前記第１変更ステップによって変更された前記第２速度で前記運動動作が行われるように、前記目標信号の出力速度を変更する第２変更ステップと、を含む運動支援方法が提供される。
【００１９】
本発明の第３態様によれば、身体部位を動作させる運動動作を表す複数種類の運動情報を組合せてなるレッスン情報と、前記運動情報に関連付けられ、前記運動動作を行う基準の速さである第１速度と、を記憶する記憶手段を備え、前記運動動作を行う速さの目標となる目標信号を所定の出力部へ出力して前記運動動作の支援を行う運動支援装置として機能させるためのプログラムであって、コンピュータに、前記レッスン情報に表される運動レッスンに参加する複数人のユーザのうち少なくとも２人以上の前記ユーザのそれぞれが行う前記運動動作のタイミングを示すタイミング情報、およびそのタイミングにおける前記運動動作の状態を示す状態情報を取得する取得ステップと、前記第１速度で前記運動動作が行われる場合に前記取得ステップによって取得される前記タイミング情報および前記状態情報に基づき、所定のタイミングにおける前記運動動作の状態が静止状態であるか動作状態であるかに応じて、前記第１速度で行われる前記運動動作に対する前記ユーザの追従状態を示す追従情報を決定する決定ステップと、前記決定ステップによって決定された前記追従情報に基づいて、前記運動動作を行う速さを第２速度に変更する第１変更ステップと、前記第１変更ステップによって変更された前記第２速度で前記運動動作が行われるように、前記目標信号の出力速度を変更する第２変更ステップと、を実行させるプログラムが提供される。
【００２０】
第２態様に係る運動支援方法に従う処理をコンピュータで実行することによって、あるいは、第３態様に係るプログラムを実行してコンピュータを運動支援装置として機能させることで、第１態様と同様の効果を得ることができる。
【図面の簡単な説明】
【００２１】
【図１】運動支援装置１の全体の構成を模式的に示す図である。
【図２】レッスン情報テーブル３３を示す図である。
【図３】運動基本情報テーブル３４を示す図である。
【図４】検出値記録テーブル３５に記録される情報について説明するためのグラフである。
【図５】調整関数について説明するためのグラフである。
【図６】運動支援プログラムのフローチャートである。
【図７】分析処理のフローチャートである。
【図８】運動情報変更処理のフローチャートである。
【図９】運動支援プログラムの変形例のフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明を具体化した一実施の形態について、運動支援装置１を例に、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
【００２３】
まず、図１を参照し、運動支援装置１の概略的な構成について説明する。図１に示す、運動支援装置１は、例えばフィットネスクラブなどのスポーツ施設４に設置される。運動支援装置１は、モニタ２の表示部２１に運動映像を表示して、複数人（本実施の形態では３人）のユーザＵ１，Ｕ２，Ｕ３がそれぞれの身体部位を動作させる運動動作を支援する。
【００２４】
運動支援装置１は、後述する運動支援プログラムの実行に従って、運動動作を行うキャラクタを映し出した運動映像を生成し、モニタ２の表示部２１に表示する。スポーツ施設４のユーザＵ１，Ｕ２，Ｕ３は、表示部２１に表示された運動映像を手本に、各自の身体部位を動作させる運動を行う。また、各ユーザＵ１，Ｕ２，Ｕ３は、後述する検出器７を、例えば各自の腕部に装着した状態で運動動作を行う。
【００２５】
運動支援装置１は、周知のパーソナルコンピュータ（ＰＣ）により構成され、ＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４により構成される制御部１１を備える。ＣＰＵ１２は、運動支援装置１の制御を司る。ＲＯＭ１３は、ＣＰＵ１２が実行するＢＩＯＳ等のプログラムを記憶する読出し専用の記憶装置である。ＲＡＭ１４は、データを一時的に記憶する読み書き可能な記憶装置である。
【００２６】
制御部１１には、ディスクドライブ１８、出力制御部１５、入力制御部１６、通信制御部１７、およびハードディスクドライブ（ＨＤＤ）３が、電気的に接続されている。ディスクドライブ１８は、例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなど、データが記憶された記憶媒体であるディスクＲＯＭ１９が挿入されると、ディスクＲＯＭ１９からデータやプログラム等の読み込みを行うものである。ＰＣを運動支援装置１として稼働させるためのＯＳやプログラム等が、ディスクＲＯＭ１９に記憶されて提供される。また、後述する運動支援プログラムも、ディスクＲＯＭ１９に記憶されて提供される。
【００２７】
出力制御部１５は、運動支援装置１で稼働されるＯＳやプログラム等の操作画面や、キャラクタを映し出した運動映像を、スポーツ施設４に設置されるモニタ２の表示部２１に表示するための描画処理を行う。また、出力制御部１５は、キャラクタを映し出した運動映像に合わせて再生される楽曲をモニタ２のスピーカ２２から出力する制御を行う。
【００２８】
入力制御部１６は、運動支援装置１の操作を行うキーボードやマウス等の入力デバイスが接続される。本実施の形態においては、感圧式あるいは静電容量式のタッチパネル２３が接続される。タッチパネル２３は、モニタ２の表示部２１に設けられ、後述する運動支援プログラムの実行においては、情報の入力やプログラムにおける操作に用いられる。
【００２９】
通信制御部１７は、検出器７との通信を行うためのプロトコル制御を行う。本実施の形態では、例えばＢｌｕｅｔｏｏｔｈ（登録商標）やＷｉＦｉ（登録商標）などによる無線通信を介し、運動支援装置１と検出器７との間での情報の送受信が行われる。なお、通信制御部１７は、ＵＳＢ等による有線通信のインタフェイスとして機能してもよい。
【００３０】
記憶装置であるＨＤＤ３には、ディスクＲＯＭ１９から読み出されたＯＳやプログラム等がインストールされる。なお、ＯＳやプログラム等は、フラッシュＲＯＭなど、その他の記憶媒体に記憶されて提供されてもよく、運動支援装置１は、これらの記憶媒体の読取装置を備えてもよい。あるいは、通信制御部１７を介して図示しないネットワークに接続し、ネットワーク上の端末からダウンロードにより提供されてもよい。
【００３１】
また、ＨＤＤ３には、プログラム記憶エリア３１、モーションデータ記憶エリア３２の各記憶エリアが設けられている。また、ＨＤＤ３には、データベース用の記憶エリアが設けられ、レッスン情報テーブル３３、運動基本情報テーブル３４、検出値記録テーブル３５の各テーブルが関連付けられてデータベースが構築されている。また、ＨＤＤ３には、図示しない、各種記憶エリアが設けられている。図示しないが、運動映像とともに再生される楽曲のデータ（ＭＩＤＩやＷＡＶ、ＭＰ３等の形式のデータ）も、所定の記憶エリアに記憶されている。ＨＤＤ３の記憶エリアの詳細については、後述する。
【００３２】
次に、検出器７について説明する。検出器７は、ユーザＵ１，Ｕ２，Ｕ３が身体に装着可能な機器であり、本実施の形態では、例えばユーザＵ１，Ｕ２，Ｕ３の腕部にそれぞれ装着される。検出器７は、ユーザＵ１，Ｕ２，Ｕ３の運動動作の状態を検出するためのセンサ６と、センサ６の検出値を運動支援装置１に送信するための通信装置５を内蔵する。センサ６としては、例えば公知の３軸加速度センサが用いられる。本実施の形態では、ユーザＵ１，Ｕ２，Ｕ３が、所定のタイミングにおいて、動いている状態（動作状態）にあるか、静止している状態（静止状態）にあるかを判別するために、センサ６が用いられる。
【００３３】
通信装置５は、図示しない、ＣＰＵ、ＲＯＭ、ＲＡＭを有する公知のマイクロコンピュータからなり、通信装置５の制御を司る制御部５１を備える。制御部５１には、入力制御部５６と通信制御部５７とが電気的に接続されている。入力制御部５６にはセンサ６が接続される。入力制御部５６は、センサ６に駆動電流を流し、センサ６の検出値を増幅して制御部５１に出力する。通信制御部５７は、運動支援装置１の通信制御部１７と同様に、運動支援装置１との無線通信を行うためのプロトコル制御を行う。通信装置５の制御部５１は、運動支援装置１からの指示に従い、所定時間ごとにセンサ６から検出信号を取得し、入力制御部５６によってＡ／Ｄ変換および増幅を行い、通信制御部５７を介して運動支援装置１に出力する。
【００３４】
次に、図１〜図４を参照し、ＨＤＤ３の記憶エリアの詳細について説明する。上記したように、図１に示す、運動支援装置１のＨＤＤ３には、プログラム記憶エリア３１、モーションデータ記憶エリア３２、およびデータベース用の記憶エリアが設けられている。データベースは、レッスン情報テーブル３３、運動基本情報テーブル３４、検出値記録テーブル３５の各テーブルが関連付けられることによって、構築されている。
【００３５】
プログラム記憶エリア３１には、後述する運動支援プログラムや、運動支援プログラムで使用されるデータやフラグの初期値などが記憶される。モーションデータ記憶エリア３２には、図示しない、三次元仮想空間内に配置されるキャラクタに、具体的な運動動作を行わせるためのモーションデータが記憶される。例えば、その場で足踏みをする運動動作のモーションデータは、キャラクタに、「右足を上げる」、「右足を下ろす」、「左足を上げる」、「左足を下ろす」という小単位の各動作を順に繰り返して行わせるデータである。モーションデータには、キャラクタの各身体部位の座標データ、同様に各身体部位に対応した細部の座標データ、細部に対応したテクスチャデータなども含まれる。
【００３６】
レッスン情報テーブル３３は、運動レッスンの種類や内容に応じて運動動作を組合せた情報を示すテーブルである。具体的には、図２に示すように、レッスン情報テーブル３３では、運動レッスンを表すレッスン情報と、運動レッスンに含まれる運動動作を表す運動情報と、運動動作を運動レッスンにおける役割に分類する分類情報とが関連付けられている。運動レッスンとは、所定の運動目的を達成するために効果的な１つ以上の運動動作を組合せ、実行順を指定することで、一連の運動動作が行われるようにしたものである。
【００３７】
レッスン情報は、運動レッスンを表す情報であり、具体的には運動レッスンを特定する名称（ＩＤ番号などでもよい）をいう。運動情報は、運動動作を表す情報であり、具体的には運動動作を特定する名称（ＩＤ番号などでもよい）をいう。分類情報は、運動動作をその運動内容に応じて分類したもので、運動レッスンにおける役割を示す情報である。具体的に、「ウォーミングアップ運動」には、運動レッスンの開始時期に行われる運動動作に応じた運動情報が分類される。「クールダウン運動」には、レッスンの終了時期に行われる運動動作に応じた運動情報が分類される。そして「メイン運動」には、運動レッスンにおける主要な運動動作に応じた運動情報が分類される。
【００３８】
例えば、「エクササイズＡ」という運動レッスンには、「ウォーミングアップ運動」として、「準備体操Ａ」と「準備体操Ｂ」の運動動作が分類される。また、「メイン運動」として、「主目的運動Ａ」、「主目的運動Ｂ」、「主目的運動Ｃ」の運動動作が分類される。「クールダウン運動」として、「ストレッチＡ」、「ストレッチＢ」の運動動作が分類される。なお、レッスン情報テーブル３３は、後述する運動支援プログラムにおいて、運動支援装置１のオペレータ（ユーザや図示しないインストラクタなど）が作成可能であるが、あらかじめ作成されディスクＲＯＭ１９に記憶されて提供されてもよい。
【００３９】
運動基本情報テーブル３４は、運動動作ごとに設定されている情報を示すテーブルである。具体的には、図３に示すように、運動基本情報テーブル３４では、運動情報、テンポ情報、拍数情報、繰返情報、および制限情報（上限値および下限値）が関連付けられている。テンポ情報は、運動動作の標準の動作速度を示す情報であり、動作の節となるタイミングを拍として数え、１分間あたりの拍数（ＢＰＭ：Ｂｅａｔｓ  Ｐｅｒ  Ｍｉｎｕｔｅ）で動作速度を表したものである。拍数情報は、１回の運動動作を行うのに必要な拍数を示す情報である。繰返情報は、運動動作を繰返し行う回数（繰返回数）を示す情報である。制限情報は、後述する運動支援プログラムにおいて、運動動作の標準のテンポ（ＢＰＭ値）が調整される場合に、調整可能なテンポ（調整値）の上限値および下限値を示す情報である。
【００４０】
例えば、「主目的運動Ａ」という運動動作が行われる場合には、「１２０ＢＰＭ」の動作速度で「３２拍」を１回の運動動作として、「１２」回繰り返される。また、「主目的運動Ａ」の動作速度が調整（変更）される場合には、上限値が「＋３０ＢＰＭ」、下限値が「−３０ＢＰＭ」の範囲、すなわち、１５０ＢＰＭ〜９０ＢＰＭの範囲に収まるように、動作速度が調整される。なお、後述する運動支援プログラムでは、動作速度の調整を、メイン運動に分類される運動動作に対して行うため、ウォーミングアップ運動やクールダウン運動に分類される運動動作には制限情報が設定されていない。
【００４１】
検出値記録テーブル３５は、後述する検出器７から取得される情報を、各ユーザＵ１，Ｕ２，Ｕ３についてそれぞれ記録（保存）するテーブルである。具体的に、検出器７からは、一定時間ごとに、時間（タイミング）を示すタイミング情報と、各タイミングにおいて検出器７のセンサ６により検出される検出値を示す状態情報とが取得される。本実施の形態では、状態情報として、加速度の検出値が取得される。検出値記録テーブル３５では、各ユーザＵ１，Ｕ２，Ｕ３に、タイミング情報と、状態情報とが関連付けられて記録され、一時的に保存される。
【００４２】
図４は、検出値記録テーブル３５に記録される情報の内容についての説明を容易にするため、タイミング情報（横軸に時間の経過を示す）と状態情報（縦軸に加速度の大きさを示す）とを、ユーザＵ１，Ｕ２，Ｕ３ごとの比較ができるように並べたグラフを示したものである。検出値記録テーブル３５には、検出器７から定期的（所定時間ごと）に送信される、センサ６による加速度の検出値が、状態情報として記録される。タイミング情報は、例えば同期信号であり、個々の状態情報とともに送信されてもよいし、あるいは所定回数の状態情報が送信されるたびに、送信されてもよい。検出値記録テーブル３５に記録される情報は、後述する運動支援プログラムの分析処理（図７参照）において使用される。
【００４３】
また、運動支援プログラムにおいて運動映像の再生中に、検出値記録テーブル３５には、手本となるキャラクタの運動動作における拍のタイミングを示す情報が、検出値とともに送信される同期信号に同期して、記録される。これにより、検出値記録テーブル３５では、手本のキャラクタの運動動作における拍のタイミングに関連付けられて、各ユーザＵ１，Ｕ２，Ｕ３それぞれ運動動作の状態が、検出値の大きさとして表されて記録される。したがって、検出値記録テーブル３５では、所定のタイミングにおいてキャラクタの運動動作が静止している静止ポイント（例えば図４においてＴ１，Ｔ２，Ｔ３で示す）と、各ユーザＵ１，Ｕ２，Ｕ３それぞれの運動動作の状態とを、関連付けることができる。また、検出値記録テーブル３５では、静止ポイント間である動作区間（例えば図４ではＴ０−Ｔ１、Ｔ１−Ｔ２、Ｔ２−Ｔ３）と、各ユーザＵ１，Ｕ２，Ｕ３それぞれの運動動作の状態とについても、関連付けることができる。なお、図４のＴ０は、検出値記録テーブル３５において記録の開始されたタイミングとする。
【００４４】
ここで、ユーザＵ１，Ｕ２，Ｕ３の運動動作の状態（動作状態または静止状態）を判定する方法について説明する。図４の検出値記録テーブル３５に記録された検出値の大きさが、所定のタイミング（静止ポイント）において、０もしくは０に近い値（０±α以下の値：αはあらかじめ定められた値とする）であれば、そのタイミングにおいて、ユーザＵ１，Ｕ２，Ｕ３は静止状態にあると判定される。一方、動作状態については、身体部位の動きの方向によっては瞬間的に検出値が小さい値となる場合もあるため、所定の期間（動作区間）における検出値の総和が、所定値以上であるか否かによって判定される。
【００４５】
例えば、図４において、ユーザＵ１は、静止ポイント（Ｔ１，Ｔ２，Ｔ３）において、いずれも検出値が０であり、ユーザＵ１は静止ポイントにおいて静止状態にあると判定される。また、ユーザＵ１は、動作区間（Ｔ０−Ｔ１、Ｔ１−Ｔ２、Ｔ２−Ｔ３）においては比較的大きな値の検出値が記録されている。動作区間の検出値の総和があらかじめ定められた所定値よりも大きければ、ユーザＵ１は、動作区間において動作状態にあると判定される。
【００４６】
一方、ユーザＵ３は、いずれの静止ポイント（Ｔ１，Ｔ２，Ｔ３）においても検出値として大きな値が記録されており、静止状態にないと判定される。また、ユーザＵ３は、動作区間（Ｔ０−Ｔ１、Ｔ１−Ｔ２）においては比較的大きな値の検出値が記録されており、これらの動作区間においては動作状態にあると判定され得る。しかし、動作区間Ｔ２−Ｔ３においては値の大きな検出値がほとんど記録されておらず、この動作区間においては動作状態にないと判定され得る。
【００４７】
次に、後述する運動支援プログラムにおいて参照される調整関数について説明する。運動支援プログラムでは、検出器７から取得される加速度の検出値に基づいて、手本となる運動映像、すなわち、キャラクタの運動動作にユーザＵ１，Ｕ２，Ｕ３が追従できているかについて、評価が行われる。そして評価の結果（評価値）をもとに、手本のキャラクタが運動動作を行う動作速度の調整が行われる。図５に示す、調整関数は、評価値（横軸）をもとに、動作速度の調整を行う調整値（縦軸）を求めるための関数である。
【００４８】
本実施の形態において、調整関数は、具体的には評価値と調整値とを対応付けた参照テーブルとして提供される。図５に示すグラフは、調整関数の参照テーブルをグラフ化したものである。調整関数の参照テーブルはあらかじめ作成され、運動支援プログラムとともに提供されて、プログラム記憶エリア３１に記憶される。調整値の上限値および下限値は、運動基本情報テーブル３４の参照により、調整の対象となる運動動作に応じて適宜設定され、参照テーブルに適用される。評価値は、後述するが、運動支援プログラムの実行によって０〜２の範囲の値で求められる。図５に示すように、評価値が０．６以下では調整値は下限値となり、評価値が１．６以上では調整値は上限値となる。そして評価値が０．６〜１．６の値を採る場合、調整値は、グラフに従い、下限値から上限値の間の値となる。評価値が１．４の場合は、調整値は上限値と下限値の中間値となる。なお、調整関数は、上記のように参照テーブルとして提供されてもよいし、あるいは評価値と上限値および下限値とを代入すれば調整値を算出可能な近似式（あるいはプログラム）により提供されてもよい。
【００４９】
次に、評価値について説明する。モーションデータに基づくキャラクタの運動動作は、拍数情報に示される拍数を１回の運動動作とし、拍を基準に行われるものである。運動動作において、キャラクタは常に動作しているとは限らず、所定のタイミングにおいては静止状態であったり、動作状態であったりする。キャラクタの運動動作が動作状態にあるときに、ユーザＵ１，Ｕ２，Ｕ３の運動動作が動作状態にあるか否かが得点によって評価され、動作が一致するとみなされる場合、１ポイントの得点が与えられる。さらに、キャラクタの運動動作が静止状態にあるときに、ユーザＵ１，Ｕ２，Ｕ３の運動動作が静止状態にあるか否かについても評価され、動作が一致するとみなされれば、さらに１ポイントの得点が与えられる。評価値は、このように、手本となるキャラクタの運動動作にユーザＵ１，Ｕ２，Ｕ３が追従できているかについて、得点によって評価したものである。
【００５０】
具体的に、例えば、ユーザが手本のキャラクタの運動動作に追従できず、運動動作を停止した場合には、動作区間において動作状態にないが、静止ポイントにおいては静止状態にある。したがって、静止ポイントにおける状態の如何にかかわらず、動作区間においてユーザが動作状態になければ、評価値は０ポイントとされる。ユーザが手本のキャラクタの運動動作に少し遅れながらも追従できている場合には、動作区間において動作状態にあるが、静止ポイントにおいては静止状態にない。このような場合、評価値は１ポイントとされる。ユーザが手本のキャラクタの運動動作に追従できている場合には、動作区間において動作状態にあり、静止ポイントにおいて静止状態にある。このような場合、評価値は２ポイントとされる。このように、評価値では、動作区間における動作状態の有無の判定が、静止ポイントにおける静止状態の有無の判定よりも、優先的に評価される。
【００５１】
次に、運動支援装置１において運動映像が生成される過程について簡単に説明する。運動映像の生成は、以下のように行われる。図示しない三次元仮想空間内にキャラクタを配置させ、モーションデータに基づく運動動作を行わせる。キャラクタが運動動作を行う動作速度は、運動基本情報テーブル３４の参照により、運動動作ごとに取得されるテンポ情報に基づき設定される。図示しない仮想カメラによって運動動作を行うキャラクタを所定の時間ごとに撮影し、公知のアフィン変換によって、二次元の画像に変換する。運動映像とは、このように運動動作を行うキャラクタを撮影した画像が、時系列に沿って連続的に表示されたものである。
【００５２】
以下、図１〜図５を適宜参照しながら、図６〜図８を参照し、運動支援装置１において実行される運動支援プログラムの動作について説明する。以下、フローチャートの各ステップを「Ｓ」と略記する。なお、以下の処理は制御部１１のＣＰＵ１２により実行される。また、プログラムの実行中に一時的に生成されるデータは、ＲＡＭ１４やＨＤＤ３に確保されるデータ処理用の記憶エリアに一時的に記憶される。
【００５３】
運動支援装置１のオペレータ（ユーザや図示しないインストラクタなど）によって運動支援装置１が操作され、図６に示す、運動支援プログラムの実行が開始されると、図示しない初期設定処理が行われる。初期設定処理では、ＲＡＭ１４に、運動支援プログラムの各処理に応じた記憶エリアが確保される。また、プログラム内で使用される変数（例えば後述する変数Ｘ，Ｙ）やフラグ、カウンタ等の初期化が行われる。
【００５４】
モニタ２の表示部２１に運動支援プログラムの操作画面が表示され、オペレータの操作（タッチパネル２３による入力）による指示待ちがなされる（Ｓ１０：ＮＯ，Ｓ１１：ＮＯ，Ｓ３２：ＮＯ）。操作画面では、運動レッスンの開始指示、運動レッスンの作成指示、運動支援プログラムの終了指示を行うことができる。運動レッスンの作成が行われる場合（Ｓ１１：ＹＥＳ）、操作画面には、運動基本情報テーブル３４にデータのある運動情報の一覧が表示される。オペレータは、所望する運動情報を選択し、所望の分類情報に分類し、所望の順番に並べることで、所望の運動動作を組合せた運動レッスンを作成することができる（Ｓ１２）。オペレータが、操作画面において運動レッスンの名称を入力し、保存の操作を行うことで、作成された運動レッスンがレッスン情報テーブル３３に追加（登録）される（Ｓ１３）。そしてＳ３２に進み、操作画面における指示待ちの状態に戻る。
【００５５】
次に、操作画面において運動レッスンの開始指示がなされた場合には（Ｓ１０：ＹＥＳ）、操作画面に、レッスン情報テーブル３３にデータのあるレッスン情報の一覧が表示される。オペレータによって所望のレッスン情報が選択されると（Ｓ１５）、操作画面には、運動レッスンの実施にかかる時間（レッスン時間）の変動を許容するかしないかを設定する選択肢が表示される。
【００５６】
上記したように、運動支援プログラムでは、ユーザＵ１，Ｕ２，Ｕ３の追従の状態に応じて、調整関数に基づいて、手本のキャラクタが運動動作を行う動作速度の調整がなされる。動作速度の調整がなされた場合、運動レッスンに含まれる運動動作が開始され、繰返情報の回数繰り返されて終了するまでにかかる時間が変動する。すなわち、レッスン時間が、動作速度の調整がなされない場合と比べ、長引いたり、あるいは早く終わったりするなど、変動することになる。よってここでは、レッスン時間の延長あるいは短縮がなされてもよいとする（変動を許容する）選択肢と、延長あるいは短縮を望まない（変動を許容しない）選択肢とが提示され、オペレータによって、いずれか一方の選択肢が選択される（Ｓ１６）。
【００５７】
レッスン情報テーブル３３の参照により、Ｓ１５で選択されたレッスン情報に含まれる運動情報で未選択のものが、その運動レッスンにおける実行順に選択される。そして、運動基本情報テーブル３４が参照され、選択された運動情報に対応する各種情報、すなわち、テンポ情報、拍数情報、繰返情報、制限情報が取得され、ＲＡＭ１４に記憶される（Ｓ２０）。選択された運動情報の分類情報が確認され、ウォーミングアップ運動であれば（Ｓ２１：ＹＥＳ）、加速度の取得が開始される（Ｓ２２）。すなわち、各ユーザＵ１，Ｕ２，Ｕ３それぞれの検出器７から送信されるセンサ６の検出値を、検出値記録テーブル３５に記録する処理が開始される。上記したように、検出値は、検出器７から定期的（所定時間ごと）に送信される。検出値の記録は、検出値とともに送信される同期信号に基づき、各ユーザＵ１，Ｕ２，Ｕ３間で同期して行われる。
【００５８】
次に、選択された運動情報に表される運動動作の運動映像がモニタ２の表示部２１に表示される（Ｓ２３）。すなわち、モーションデータ記憶エリア３２から運動情報に対応するモーションデータが読み出され、モーションデータに基づく運動動作を行うキャラクタを撮影した運動映像が生成される。キャラクタの運動動作は、運動情報に対応して取得されＲＡＭ１４に記憶された、拍数情報に指定される拍数で行われる一通りの動作が、テンポ情報によって指定される標準の動作速度で、繰返情報で指定される回数、繰り返して行われる。また、運動情報に対応付けられ、テンポ情報に示されるテンポと同じもしくはそれに近いテンポを有する楽曲が運動映像とともに再生され、スピーカ２２から出力される。なお、楽曲は、運動動作のテンポ情報に応じてランダムに選択されてもよいし、あるいは、レッスン情報テーブル３３において、あらかじめ、各運動情報あるいは各運動分類に対応付けられていてもよい。
【００５９】
運動映像の再生中は、センサ６の検出値の記録が継続される。このとき、上記したように、キャラクタの運動動作における拍のタイミングを示す情報が検出値記録テーブル３５に記録される。そして、Ｓ２０で選択され情報の取得された運動情報に表される運動動作に対応する運動映像の生成および再生が終了すると、加速度の取得（検出値の記録）が終了される（Ｓ２５）。次いで、図７に示す、分析処理のサブルーチンがコールされる（Ｓ２６）。
【００６０】
図７に示す、分析処理では、検出値記録テーブル３５が参照され、ユーザＵ１，Ｕ２，Ｕ３それぞれの検出値のうち、運動動作の状態の分析が未処理のユーザの検出値が取得され、ＲＡＭ１４に読み込まれる（Ｓ４０）。次に、分析が未処理の１組の動作区間と静止ポイントが、分析対象の区間として選択される（Ｓ４１）。上記したように、検出値は拍のタイミングに関連付けられている。また、あらかじめ、モーションデータに基づいて、静止ポイントとなる拍が設定されている。例えば、運動動作の１回の動作が１６拍であり、同じ拍数で割り振られた４つの小単位の動作ごとに静止ポイントが設定された場合、４、８、１２、１６拍が、静止ポイントとなる。また、動作区間は、０〜４拍、４〜８拍、８〜１２拍、１２〜１６拍の各間の期間（拍のタイミングは含まれない）となる。Ｓ４１では分析対象の区間から、分析が未処理の１組の動作区間と静止ポイントが、選択される。
【００６１】
分析対象として選択された区間において、動作区間における検出値の総和が求められ、求められた総和が所定値以上であるか否か判定される（Ｓ４２）。判定の結果、動作区間における検出値の総和が所定値未満であった場合（Ｓ４２：ＮＯ）、分析対象の区間において、分析対象のユーザは動作状態にないと判断される。評価値を求めるために一時的に設けられる変数Ｘにポイントは加算されず、後の処理において変数Ｘの平均値を求めるため処理数をカウントする変数Ｙに１が加算される（Ｓ４７）。そしてＳ４８に進む。
【００６２】
一方、Ｓ４２における判定の結果、動作区間における検出値の総和が所定値以上であれば（Ｓ４２：ＹＥＳ）、次に静止ポイントにおける検出値が、０±α以下であるか否かが判定される（Ｓ４３）。静止ポイントにおける検出値が０±αより大きい場合（Ｓ４３：ＮＯ）、分析対象の区間において、動作区間では動作状態であったが、静止ポイントにおいて静止状態になかったと判断される。変数Ｘには１ポイントが加算され、変数Ｙには１が加算される（Ｓ４６）。そしてＳ４８に進む。
【００６３】
Ｓ４３における判定の結果、静止ポイントにおける検出値が０±α以下であれば（Ｓ４３：ＹＥＳ）、分析対象の区間において、動作区間では動作状態にあり、静止ポイントでは静止状態にあったと判断される。変数Ｘには２ポイントが加算され、変数Ｙには１が加算される（Ｓ４５）。そしてＳ４８に進む。
【００６４】
Ｓ４１〜Ｓ４７処理は、Ｓ４８で、ＲＡＭ１４に検出値が読み込まれた、分析対象のユーザの、分析対象の全区間に対して行われる。よって、分析対象のユーザに未処理の区間があれば（Ｓ４８：ＮＯ）、Ｓ４１に戻る。Ｓ４１〜Ｓ４８が繰り返され、分析対象のユーザの、分析対象の全区間に対して運動動作の状態の分析が行われ、評価値が決定されたら（Ｓ４８：ＹＥＳ）、Ｓ５０に進む。そして、次の分析対象のユーザに対して同様に、Ｓ４１〜Ｓ４８の処理による運動動作の状態の分析が行われる（Ｓ５０：ＮＯ）。
【００６５】
このようにしてＳ４０〜Ｓ５０の処理が繰り返され、すべてのユーザＵ１，Ｕ２，Ｕ３の、すべての区間に対し、運動動作の状態の分析が行われたら（Ｓ５０：ＹＥＳ）、評価値の平均値が求められる（Ｓ５１）。すなわち、変数Ｘを変数Ｙで割った値が算出され、評価値としてＲＡＭ１４に記憶される。そして分析処理を終え、図６のメインルーチンのＳ３１に進む。
【００６６】
選択されたレッスン情報に含まれる運動情報で未選択のものがあれば（Ｓ３１：ＮＯ）、まだ運動レッスンは終了していないとして、Ｓ２０に戻る。レッスン情報テーブル３３の参照により、運動レッスンにおける実行順に、未選択の運動情報が選択されて各種情報が取得され（Ｓ２０）、分類情報がウォーミングアップ運動であれば（Ｓ２１：ＹＥＳ）、上記同様に運動映像が生成される。そして、手本のキャラクタの運動動作にユーザＵ１，Ｕ２，Ｕ３が追従できているかについて、評価が行われる。なお、分析処理（図７参照）は再度実行されることとなり、ユーザＵ１，Ｕ２，Ｕ３の評価値（平均値）は、Ｓ５１で求められる最新の評価値に更新される。
【００６７】
Ｓ２０において選択されて情報が取得された運動情報の分類情報がメイン運動であり、すなわちウォーミングアップ運動でなく（Ｓ２１：ＮＯ）、クールダウン運動でもなければ（Ｓ２７：ＮＯ）、図８に示す、運動情報変更処理のサブルーチンがコールされる（Ｓ２８）。
【００６８】
図８に示す、運動情報変更処理では、運動基本情報テーブル３４が参照され、選択された運動情報に関連付けられたテンポ情報と制限情報（上限値および下限値）が取得される（Ｓ６０）。そして、調整関数の参照テーブル（図５参照）に、上限値および下限値が適用され、分析処理（図７参照）において求められた評価値（平均値）に対応する調整値が求められる。さらに、テンポ情報に示される標準のテンポ（ＢＰＭ値）に調整値が加算され、調整されたＢＰＭ値が算出される（Ｓ６１）。
【００６９】
次に、Ｓ１６において「変動を許容しない」とする選択肢が設定された場合には（Ｓ６２：ＮＯ）、Ｓ６５に進み、選択中の運動情報について取得され、ＲＡＭ１４に記憶されたテンポ情報が、調整されたＢＰＭ値に更新される（Ｓ６５）。そして運動情報変更処理を終え、図６のメインルーチンのＳ３０に進む。
【００７０】
Ｓ３０では、Ｓ２３と同様に、選択された運動情報に表される運動動作の運動映像が生成され、モニタ２の表示部２１に表示される（Ｓ３０）。このときの運動映像におけるキャラクタの運動動作は、Ｓ６１において調整されたＢＰＭ値で指定される動作速度で行われ、繰返回数は、Ｓ２０において運動基本情報テーブル３４から取得された回数で行われる。運動映像の生成および再生が終了するとＳ３１に進み、さらに次の未選択の運動情報が選択されて、Ｓ２１〜Ｓ３０の処理が行われる。このとき、選択された運動情報の分類情報がクールダウン運動に分類されるものであれば（Ｓ２１：ＮＯ、Ｓ２７：ＹＥＳ）、Ｓ２８の運動情報変更処理は行われない。Ｓ３０では、Ｓ２３と同様に、標準のＢＰＭ値で指定される動作速度によるキャラクタの運動動作を撮影した運動映像が生成され、モニタ２の表示部２１に表示される（Ｓ３０）。そして、Ｓ１５において選択されたレッスン情報に含まれるすべての運動情報に対し、Ｓ２１〜Ｓ３０の処理が行われたら（Ｓ３１：ＹＥＳ）、運動レッスンが終了される。Ｓ３２に進んで初期の操作画面にもどり、オペレータの操作による指示待ちがなされる。そしてオペレータによって運動支援プログラムの終了指示がなされたら（Ｓ３２：ＹＥＳ）、運動支援プログラムの実行が終了される。
【００７１】
ところで、Ｓ１６において、「変動を許容する」とする選択肢が設定された場合において、図８の運動情報変更処理が実行された場合には、Ｓ６１で調整されたＢＰＭ値が算出された後、Ｓ６２においてＳ６３に進む（Ｓ６２：ＹＥＳ）。Ｓ６３では、標準のＢＰＭ値に指定される動作速度で運動動作が行われる場合にかかる時間（「標準時間」という）を基準にして、調整されたＢＰＭ値に指定される動作速度で運動動作が行われる場合にかかる時間（「調整時間」という）を調整する処理が行われる（Ｓ６３）。
【００７２】
より具体的に、標準時間は、拍数情報に指定される拍数で行われる一通りの運動動作が、標準のＢＰＭ値に指定される動作速度で、繰返情報で指定される回数、繰り返して行われた場合にかかる時間である。調整時間は、運動動作の動作速度が調整されたＢＰＭ値に変更されることにより、標準時間よりも長くなったり、あるいは短くなったりする。ゆえに、調整時間の時間調整が、標準時間を基準にして、運動動作の繰返回数の増減によって行われる。その際に、調整時間が標準時間以下で、且つ、繰返回数が最大となることが条件付けられている。
【００７３】
具体的には、以下の（１）式を満たす、繰返回数が求められる。
［調整された繰返回数］≦［繰返情報に指定される繰返回数］×（［調整されたＢＰＭ値］／［標準のＢＰＭ値］）・・・（１）  （ただし、小数点以下は切り捨てとする。）
【００７４】
例えば、図３に示す、運動基本情報テーブル３４に例示された「主目的運動Ａ」は、上記したように、「１２０ＢＰＭ」の動作速度で「３２拍」を１回の運動動作として、「１２」回繰り返される。したがって、「主目的運動Ａ」の標準時間は、（６０／１２０［ＢＰＭ］）×３２［拍］×１２［回］で求められ、１９２秒となる。調整値が下限値の「−３０ＢＰＭ」であった場合、調整時間は、（６０／９０）×３２×１２で求められ、２５６秒となる。（１）式を適用し、調整された繰返回数を求めると、１２×（９０／１２０）で求められ、９［回］となる。したがって、調整された繰返回数を９回に変更した調整時間は、（６０／９０）×３２×９で求められ、１９２秒となり、標準時間以内に収まり、且つ、繰返回数（調整された繰返回数）を最大とすることができる。
【００７５】
同様に、「主目的運動Ａ」の調整値が上限値の「＋３０ＢＰＭ」であった場合、調整時間は、（６０／１５０）×３２×１２＝１５３．６［秒］となる。（１）式を適用して調整された繰返回数を求めると、１２×（１５０／１２０）＝１５［回］となる。したがって、調整された繰返回数を１５回に変更した調整時間は、（６０／１５０）×３２×１５＝１９２秒となり、上記同様、標準時間以内に収まり、且つ、繰返回数を最大とすることができる。
【００７６】
このように、Ｓ６３において、（１）式の適用により調整された繰返回数が求められたら、Ｓ６５に進み、ＲＡＭ１４に記憶されたテンポ情報が調整されたＢＰＭ値に更新されるとともに、繰返回数が、調整された繰返回数に更新される（Ｓ６５）。そして運動情報変更処理を終え、図６のメインルーチンのＳ３０に進む。
【００７７】
Ｓ３０において生成される運動映像では、キャラクタの行う運動動作が、調整されたＢＰＭ値で指定される動作速度で、調整された繰返回数、繰り返して行われる。運動動作は、調整時間が標準時間以下で、且つ、繰返回数が最大となるようにして行われる。よって、運動動作にかかる時間は、標準時間を超えず、最も標準時に近い時間となり、運動レッスンの全体でかかる時間も、運動動作の動作速度が標準で行われる運動レッスンにかかる時間と比べ、大きく異なることがない。
【００７８】
以上説明したように、本実施の形態の運動支援装置１では、標準の動作速度で行われる運動動作に対するユーザの追従状態に基づいて、動作速度を変更することで、ユーザの追従状態を、より高めることができる。運動レッスンには複数人のユーザが参加するため、それぞれのユーザに適した動作速度は異なる場合があるが、動作速度の変更を、少なくとも２人以上のユーザの追従状態に基づいて行うので、各ユーザのそれぞれに適した運動動作の動作速度に近づけることができる。
【００７９】
例えば、ユーザが運動動作に対してまったく追従できずに運動動作を停止してしまうと、動作区間における運動動作の状態が静止状態となる場合がある。動作区間における運動動作の状態が動作状態である場合にユーザが追従しているとして評価値にポイントを付与すれば、このような静止状態が生じた場合に、確実に、追従できていないと評価することができ、評価値による追従状態の評価をより精度よく行うことができる。また、例えば、ユーザが運動動作に追従するものの、追従に遅れを生じてしまうと、運動動作のタイミングがずれる場合がある。この場合、静止ポイントにおける運動動作の状態が静止状態となるべきであるにも関わらず、その静止ポイントにおけるユーザの運動動作の状態が動作状態となってしまう。よって、静止ポイントにおける運動動作の状態が静止状態である場合にユーザが追従しているとして評価値にポイントを付与すれば、このような動作状態が生じた場合に、追従できていないと評価することができ、評価値による追従状態の評価をより精度よく行うことができる。
【００８０】
評価値による評価を、すべてのユーザの運動動作の状態に基づいて行うことで、各ユーザのそれぞれに適した運動動作の動作速度に近づけることができる。また、静止ポイントで静止状態にある場合よりも、動作区間に動作状態である場合に、優先的に評価値にポイントを付与すれば、例えば、ユーザが運動動作に対してまったく追従できずに運動動作を停止してしまった場合よりも、ユーザが運動動作に追従するものの、追従に遅れを生じてしまった場合において、評価値として、より高い点数を得ることができる。よって、評価値として、より実態に沿った点数を得ることができ、追従情報としての精度を高めることができる。
【００８１】
また、評価値の平均値に応じた調整値によって運動動作を行う速さを調整すれば、各ユーザのそれぞれに適した運動動作の動作速度に近づけることができる。また、調整値に上限値および下限値を設定することができるので、運動動作の動作速度の変更後の動作速度が、各ユーザのそれぞれに適した運動動作の動作速度から、大きくずれてしまうことがない。また、評価値が大きければユーザの追従状態が良好であり、その場合には運動動作の動作速度を速くすることができるので、ユーザはより高度な運動動作に挑戦することができる。一方、評価値が小さければユーザの追従状態が好ましくなく、その場合には運動動作の動作速度を遅くすることができるので、各ユーザが、より確実に、運動動作をこなすことができる。
【００８２】
また、運動動作の動作速度を変更すれば、レッスン時間が長引いたり、あるいは短縮されたりする場合が生ずるが、運動動作の繰返回数を変更し、調整時間を標準時間以下としつつ、繰返回数が最大となるようにすれば、レッスン時間が、変更前のレッスン時間に近づくようにすることができる。これにより、運動レッスンを実施する計画を、予定を管理する時間割に沿って立てやすくすることができる。
【００８３】
また、ウォーミングアップ運動に対応する運動動作は、運動を行う準備のための運動であり、クールダウン運動に対応する運動動作は、運動を終了する準備のための運動である。これらの運動動作は確実に行われる必要があり、通常、ユーザが追従しやすい速さで行われる。一方、運動の主目的であるメイン運動に対応する運動動作は、ユーザの運動に対する興味を最も引き立てる運動動作であり、運動動作の動作速度を速めて運動に対するモチベーションを高めたり、あるいは運動動作の動作速度を遅くして確実に追従できるようにしたりすることで、運動レッスンの効果を高めることができる。
【００８４】
なお、上記の実施形態に示される運動支援装置１の構成は例示であり、本発明は各種の変形が可能なことは言うまでもない。本実施の形態では、ウォーミングアップ運動に分類される運動動作において、手本のキャラクタの運動動作に対するユーザＵ１，Ｕ２，Ｕ３の運動動作の追従状態に応じて評価値（平均値）を求め、メイン運動に分類される運動動作の動作速度の調整に用いた。そして、ウォーミングアップ運動に分類される運動動作が複数ある場合には、最後に行った運動動作（最新の運動動作）の評価値の平均値が、メイン運動に分類される運動動作の動作速度の調整に用いられることとした。これに限らず、例えば、ウォーミングアップ運動に分類されるすべての運動動作から評価値の平均値を求め、メイン運動に分類される運動動作の動作速度の調整に用いてもよい。
【００８５】
あるいは、個々の運動動作においてそれぞれ評価値を求め、求めた評価値を、次の運動動作の動作速度の調整に用いてもよい。具体的には、図９に示す運動支援プログラムの変形例のように行えばよい。なお、本変形例における各処理の具体的な内容は、本実施の形態と同一であり、本変形例における各処理は、本実施の形態の各処理に対し、処理順が異なるものである。よって、以下において、各処理の処理内容についての説明は省略または簡略化して行うものとする。また、処理順、処理内容ともに同一であるものについては、図９において、同じステップ番号を付している。具体的には、オペレータの指示待ちが行われるＳ１０、Ｓ１１、Ｓ３２の処理や、オペレータの指示に従い運動レッスンの作成が行われるＳ１０〜Ｓ１３の処理については本実施の形態と同一であるので、説明を省略する。また、オペレータにより運動レッスンの開始指示がなされ、運動レッスンの選択が行われるＳ１５の処理、レッスン時間の変動の許容または拒否についての設定が行われるＳ１６の処理についても、本実施の形態と同一であり、説明を省略する。
【００８６】
図９に示すように、Ｓ１６においてレッスン時間の変動の許容または拒否の設定が行われると、Ｓ８０に進む。Ｓ８０ではＳ２２と同様に、加速度の取得（すなわち検出器７から送信されるセンサ６の検出値の記録）が開始される（Ｓ８０）。Ｓ８１ではＳ２２と同様に、レッスン情報テーブル３３の参照により、運動レッスンにおける実行順に、未選択の運動情報が選択されて各種情報が取得される（Ｓ８１）。Ｓ８２では、選択された運動情報の分類がメイン運動でなく、すなわちウォーミングアップ運動またはクールダウン運動であれば（Ｓ８２：ＹＥＳ）、Ｓ８６に進む。Ｓ８６ではＳ２３と同様に、標準のＢＰＭ値で指定される動作速度によるキャラクタの運動動作を撮影した運動映像が生成され、モニタ２の表示部２１に表示される（Ｓ８６）。次のＳ８７ではＳ３１と同様に、選択されたレッスン情報に含まれる運動情報で未選択のものがあれば（Ｓ８７：ＮＯ）、Ｓ８１に戻る。そして、次の未選択の運動情報が運動レッスンの実行順に選択される。
【００８７】
Ｓ８２において、選択された運動情報の分類がメイン運動であった場合（Ｓ８２：ＮＯ）、Ｓ８３に進み、分析処理（図７参照）のサブルーチンがコールされる（Ｓ８３）。Ｓ８０において記録が開始された検出値は、ウォーミングアップ運動に分類される運動動作が行われる間、継続して、記録されている。したがって、分析処理では、ウォーミングアップ運動中に行われたすべての運動動作におけるユーザＵ１，Ｕ２，Ｕ３の追従状態に応じた評価値の平均値が求められる。
【００８８】
分析処理が終わると、次に、運動情報変更処理（図８参照）のサブルーチンがコールされる（Ｓ８５）。運動情報変更処理では、本実施の形態と同様に、分析処理において求められた評価値（平均値）に基づいて、調整関数から調整値が求められ、調整されたＢＰＭ値が算出される。また、レッスン時間の変動を許容する設定がなされている場合には、調整された繰返回数も求められる。そしてＳ８６で、調整されたＢＰＭ値で指定される動作速度によるキャラクタの運動動作を撮影した運動映像が生成されて再生され、Ｓ８７でＳ８１に戻り、次の未選択の運動情報が選択される。
【００８９】
検出値は、上記のメイン運動における運動動作が行われる間も記録されている。選択された次の運動情報の分類がメイン運動であった場合（Ｓ８２：ＮＯ）、上記同様、分析処理（Ｓ８３）が行われる。この分析処理において分析対象となる、分析が未処理の区間の検出値は、上記のメイン運動における運動動作中に記録された検出値である。このように、運動レッスンの実行順における前の運動動作中に記録された検出値に基づいて求められる評価値が、次の運動動作の動作速度の調整に用いられる。
【００９０】
そして、選択された次の運動情報の分類がクールダウン運動であれば（Ｓ８２：ＹＥＳ）、ウォーミングアップ運動の場合と同様にＳ８６に進み、標準のＢＰＭ値で指定される動作速度によるキャラクタの運動動作を撮影した運動映像が生成されて再生される。選択されたレッスン情報に含まれるすべての運動情報に対しＳ８１〜Ｓ８６の処理が行われたら（Ｓ８７：ＹＥＳ）、Ｓ８８において加速度の取得（検出値の記録）が終了される（Ｓ８８）。Ｓ３２に進んで初期の操作画面にもどり、運動支援プログラムの終了指示がなされたら（Ｓ３２：ＹＥＳ）、運動支援プログラムの実行が終了される。
【００９１】
以上、本変形例のように、個々の運動動作においてそれぞれ評価値を求め、求めた評価値を、次の運動動作の動作速度の調整に用いれば、運動レッスンを進めるうちにユーザの身体が温まって軽快に動作できるようになり、手本の運動動作に対する追従状態が向上した場合に、それを次の運動動作に反映させることができる。
【００９２】
また、本実施の形態では、センサ６として加速度センサを用いたが、これに限らず、位置情報を取得可能な位置センサを用いてもよい。例えば、所定位置に固定されたカメラでユーザの身体に記したマーカーを撮影し、位置情報を解析することにより、ユーザが動作状態にあるか静止状態にあるかを判別するシステム等であってもよい。また、検出器７は、身体部位への装着を１箇所に限らず、複数箇所に装着してもよい。また、運動レッスンに参加するユーザのうちの一部のユーザが検出器７を装着し、その検出値に基づいて、追従状態の評価を行ってもよい。また、検出器７を装着したユーザのうちの一部のユーザから得られる加速度の検出値を、追従状態の評価に用いてもよい。
【００９３】
また、運動映像は、三次元仮想空間内に配置したキャラクタに運動動作を行わせ、それを撮影することにより生成したが、あらかじめ、例えばインストラクタによる運動動作を撮影して用いてもよい。この場合、動作速度の調整は、運動映像の再生速度の変更により行えばよい。また、運動映像や楽曲以外にも、例えば拍に合わせてナレーションや信号音などでタイミングを報せる信号や、光の点滅によりタイミングを報せる信号を出力し、これらの出力タイミングを変更することで、動作速度の調整を行ってもよい。
【００９４】
また、評価値を求める際に、動作状態の判断基準とする所定値について、一律に一定値としてもよいし、あるいは、動作区間ごとにそれぞれしきい値を設定してもよい。所定値については、あらかじめ、例えばベテランのユーザやインストラクタなどに運動動作を行ってもらい、取得した検出値のサンプルを基準にして適宜設定すればよい。静止状態の判断基準の値（α）についても同様である。また、評価値を求める際に、動作区間における動作状態の有無の判定を、静止ポイントにおける静止状態の有無の判定よりも優先的に評価したが、優先の度合いを同程度に評価を行ってもよい。
【００９５】
なお、本実施の形態においては、運動映像を表示させる映像信号や、楽曲を演奏させる音声信号が「目標信号」に相当し、モニタ２の表示部２１やスピーカ２２が、「出力部」に相当する。標準のＢＰＭ値が「第１速度」に相当し、調整されたＢＰＭ値が「第２速度」に相当する。ＨＤＤ３が「記憶手段」に相当する。検出器７が「取得手段」に相当する。評価値が「追従情報」に相当する。分析処理を行うＣＰＵ１２が「決定手段」に相当する。Ｓ６５において、Ｓ６１で算出した調整されたＢＰＭ値で標準のＢＰＭ値を更新するＣＰＵ１２が「第１変更手段」に相当する。Ｓ２３で運動映像を生成する際に、キャラクタの運動動作が、調整されたＢＰＭ値に指定される動作速度で行われるようにするＣＰＵ１２が「第２変更手段」に相当する。調整関数の参照テーブルが「調整情報」に相当する。標準時間が「第１時間」に相当し、調整時間が「第２時間」に相当する。
【符号の説明】
【００９６】
１    運動支援装置
２    モニタ
３    ＨＤＤ
６    センサ
７    検出器
１２    ＣＰＵ
１４    ＲＡＭ
２１    表示部
２２    スピーカ
３３    レッスン情報テーブル
３４    運動基本情報テーブル
３５    検出値記録テーブル
【図１】
2012065943.tif 000003
【図２】
2012065943.tif 000004
【図３】
2012065943.tif 000005
【図４】
2012065943.tif 000006
【図５】
2012065943.tif 000007
【図６】
2012065943.tif 000008
【図７】
2012065943.tif 000009
【図８】
2012065943.tif 000010
【図９】
2012065943.tif 000011