図1は、本発明の実施形態に係る動画表示システム1の全体的な構成を示している。本実施形態の動画表示システム1は、バーチャルインストラクターによるエアロビクスレッスンを行うスポーツクラブ等の施設に設置されるものであり、各種データベースを記憶するサーバ装置10に複数の端末ユニット30、40、50等および受付端末装置2がネットワークケーブルL1〜L4等で接続された構成になっている。
本実施形態の動画表示システム1は、受付端末装置2で入力されたユーザの情報に基づきユーザの体力および運動目的に応じた運動レベルが決定され、その決定された運動レベルでバーチャルインストラクターが運動動作を行うエクササイズ動画がユーザの利用する端末ユニットの大型ディスプレイ装置に表示されるようになっている。さらに、動画表示システム1は、表示するエクササイズ動画の場面に応じた運動動作を表す音声を出力して音声でもエクササイズ動作のガイダンスを行っており、特に、バーチャルインストラクターが左右方向のいずれかまたは後方向を向くような特定の動作を行うことで、ユーザが大型ディスプレイ装置の方を見ることが困難になるときに、そのような動作に先行して動作内容を音声で案内することが特徴になっている。以下、動画表示システム1を構成する各端末ユニット30〜50、受付端末装置2およびサーバ装置10について説明する。
端末ユニット30、40、50は、端末装置31、41、51、大型モニタ装置32、42、52、入力操作器33、43、53およびスピーカ34、44、54を含み、各ユーザU1、U2、U3がレッスンを受けるブースB1、B2、B3ごとに設置されている。なお、図1の動画表示システム1では、計3セットの端末ユニット30、40、50を示しているが、システム規模に応じてユニット台数は適宜増減可能になっている。
また動画表示システム1に含まれる受付端末装置2は、一般的なパーソナルコンピュータが適用されており、端末本体2aにディスプレイ装置3および各種情報の入力用の入力デバイス4(キーボード)が接続されている。受付端末装置2は、サーバ装置10から送られてくる各種データに基づいてメニュー等をディスプレイ装置3の画面3aに表示すると共に、表示したメニューに対して入力デバイス4を通じて入力された情報をサーバ装置10へ送る処理などを行う。
図2は、サーバ装置10の主要な内部構成等を表したブロック図を示している。本実施形態のサーバ装置10は、汎用のサーバーコンピュータを適用しており、サーバ本体10aに、ディスプレイ装置16、ならびにシステム管理者からの各種入力操作を受け付けるキーボード17およびマウス18を接続している。サーバ装置10は、受付端末装置2で表示させるメニュー等のデータ、受付端末装置2で入力を受け付けたユーザの情報に基づいてユーザ個人に合ったパーソナルメニューを作成するための元になるデータ、バーチャルインストラクターの動画を生成するためのデータ、エクササイズ動作を音声で表すデータ等をサーバ本体10aに記憶している。
サーバ装置10は、各種制御処理を行うMPU11(プロセッサ)に、RAM12、ROM13、通信インタフェース14およびハードディスク装置15を内部バス10bで接続した構成になっている。なお、内部バス10bには、システム管理者が閲覧するディスプレイ装置16に加えて、システム管理者の操作インタフェースとなるキーボード17およびマウス18も繋がれており、MPU11の処理に伴う各種内容をディスプレイ装置16へ表示できると共に、キーボード17またはマウス18で入力を受け付けた操作内容をMPU11へ伝えるようにしている。
サーバ装置10のRAM12は、MPU11の処理に従うデータ及びフォルダ等を一時的に記憶するものであり、ROM13はMPU11が行う基本的な処理内容を規定したプログラム等を予め記憶している。
通信インタフェース14は、ネットワークケーブルL1〜L4(図1ではL1、L2のみを示す)等の接続部であり、サーバ装置10からネットワークケーブルL1〜L4等の接続先の端末装置または各端末ユニットへデータ等の送信処理をMPU11の制御に基づき行うと共に、接続先の端末装置または各端末ユニットから送られたデータ等の受信処理を行う。
ハードディスク装置15は、サーバ装置10が行う各種処理を規定したプログラムおよび各種データを格納したデータベース等を記憶するものである。具体的に、本実施形態のハードディスク装置15は、システムプログラム19、サーバプログラム20、メニューデータベース21、体力レベルテーブル22、ユーザデータベース23、動作音声データベース24、運動目的テーブル25、パターンデータベース26およびリズムデータベース27等を記憶している。
システムプログラム19は、MPU11がサーバとして行う各種基本的な処理内容を規定したプログラムである。また、サーバプログラム20は、サーバ装置10のMPU11が行う本発明特有の各種処理内容を規定したものである。サーバプログラム20の具体的な処理内容としては、図3(a)〜(c)に示すような各種メニュー21a〜21cを受付端末装置2で表示させてユーザから入力される情報を受け付ける処理、受け付けたユーザの情報に基づいてユーザの体力レベルを判定する処理、受け付けたユーザの情報に基づきユーザデータベース23を構築する処理、ユーザデータベース23に登録された情報に基づいてユーザに合ったパーソナルメニューを作成する処理、そのパーソナルメニューに含まれる内容に応じた動作データ等をユーザが利用するブースに設置された端末ユニット30、40、50等へ送る処理などがある。
メニューデータベース21は、各種メニューに応じたデータを格納したものであり、これらのデータが受付端末装置2へ送られると、ユーザから情報の入力をアンケート形式で受け付ける各種メニュー(入力受付手段に相当)が受付端末装置2のディスプレイ装置3に表示される。このような各種メニューでユーザから入力を受け付ける情報の内容としては、ユーザの氏名、性別、年齢、身長、体重、運動目的、運動習慣などがある。
図3(a)〜(c)のメニュー21a〜21cは、メニューデータベース21の各種メニュー用のデータに基づき表示されたメニュー内容を示す一例である。図3(a)のメニュー21aは、ユーザの年齢の入力を受け付けるものであり、入力欄21a−1に年齢の数値が入力された状態で決定ボタン21a−2が選択されると、入力欄21a−1に入力された数値が受付端末装置2からサーバ装置10へ送られるようになっている。
また、図3(b)のメニュー21bは、ユーザの運動習慣の入力を受け付けるものであり、受け付ける運動習慣の項目としては「一:していない(やめて1ヶ月以上)」「二:月に2〜3日」「三:週に1日」「四:週に2日」「五:週に3日以上」と云う計5種類の運動頻度を挙げている。メニュー21bは、これらの運動習慣の項目ごとに選択用のチェックボックス21b−1〜21b−5を設けて、ユーザが自身の運動習慣を選択できるようにしている。なお、メニュー21bにおいて、チェックボックス21b−1〜21b−5のいずれか1つが選択(チェック)された状態で、決定ボタン21b−6が選択されると、チェックされた運動習慣を示す情報が受付端末装置2からサーバ装置10へ送られる。
さらに、図3(c)のメニュー21cは、ユーザの運動目的の入力を受け付けるものであり、受け付ける運動目的として「M1:全身ダイエット」「M2:上半身ダイエット」「M3:腹部ダイエット」「M4:下半身ダイエット」「M5:ストレス解消」「M6:老化防止」の計6種類を挙げている。メニュー21cは、これらの運動目的ごとにチェックボックス21c−1〜21c−6を設け、ユーザが自身の運動目的を選択できるようにしている。なお、チェックボックス21c−1〜21c−6のいずれか1つがチェックされた状態で、決定ボタン21c−7が選択されると、チェックされた運動目的を示す情報が受付端末装置2からサーバ装置10へ送られるようになっているのは、メニュー21bなどと同じである。
このようなメニュー21a〜21c等での情報入力は、ユーザが初めて施設を利用する際に受付端末装置2で行われるものである。これらの情報の入力が各種メニューで受け付けられて、サーバ装置10がユーザの各種情報を通信インタフェース14で取得すると、サーバプログラム20の規定内容に従って、サーバ装置10は、取得した情報に対応付ける会員番号(識別番号)をMPU11が発行し、その発行した会員番号と共に、取得した情報をユーザデータベース23に登録する。
また、2回目以降の利用の際は、既に入力した情報内容を変更する場合(例えば、運動目的を変更する場合など)にのみ情報の入力を行うことになる。また、2回目以降に施設を利用する場合は、受付端末装置2で会員番号を入力すれば、利用するブース番号(B1〜B3等)が受付端末装置2で示されて、ユーザは、そのブース番号のブースでレッスンを受けることになる。
図4は、ハードディスク装置15に記憶される体力レベルテーブル22の中身を示している。体力レベルテーブル22は、入力を受け付けた情報に基づいて、情報の入力を行ったユーザの体力レベル(運動に係るレベルに相当)の判定をMPU11が行う際に参照されるものである。体力レベルテーブル22は、年齢を18〜29歳、30〜45歳、46歳以上の三段階に分けると共に、段階ごとに図3(b)のメニュー21bで示す計5種類の運動習慣の項目を対応付けることで、ユーザからの情報に基づきユーザの体力レベルを3種類に分けられるようにしている。
例えば、年齢が18〜29歳の範囲に含まれて、運動習慣が「四:週に2日」のユーザは、体力レベルとして「L1:体力有り」と判定される。また、年齢が30〜45歳の範囲に含まれて、運動習慣が「三:週に1日」のユーザは、体力レベルとして「L2:体力普通」と判定される。さらに、年齢が46歳以上であり、運動習慣が「二:月に2〜3日」のユーザは、体力レベルとして「L3:体力無し」と判定される。このような判定は、サーバプログラム20の規定内容に従って、図3(a)のメニュー21aおよび図3(b)のメニュー21bの両方で、年令および運動習慣の入力選択を受け付けるごとにMPU11が行っており、MPU11は判定した結果を、そのユーザの会員番号に対応付けてユーザデータベース23に登録する処理を行う。
図5は、ユーザデータベース23の中身を示している。ユーザデータベース23は、会員登録を行ったユーザの情報が登録格納されたものであり、MPU11が発行した会員番号に対応付けて、ユーザから入力を受け付けた情報が登録されると共に、図4の体力レベルテーブル22に基づき判定された結果(体力レベル)も登録されている。また、施設利用中のユーザは、利用中のブース番号も会員番号に対応付けて格納されるので、ブースの使用状況もユーザデータベース23を参照すれば分かるようになっている。
図6は、動作音声データベース24の中身の一部を示している。動作音声データベース24はデータ記憶手段に相当し、バーチャルインストラクターが表すエアロビクス用の各種動作を規定したモーションデータ(動作データに該当)と、それぞれの動作を音声で説明するための音声データとを対応付けた状態で記憶したものであり、これらのモーションデータおよび音声データは、エアロビクスのレッスンを構成する各エクササイズ動作に応じて複数種類のデータがファイル形式で格納されている。動作音声データベース24に格納される音声データは、「いずれの方向を向いて、どのようなエクササイズ動作を行うか」を表した音声内容になっている。なお、動作音声データベース24は、格納する各ファイルをエクササイズ動作ごとに管理できるように、エクササイズ動作の種類ごとにID番号を付しており、このようなファイルが時系列で繋ぎ合わせられることで、バーチャルインストラクターが連続的にエクササイズ動作を行う内容のレッスン動画が作り上げられる。
動作音声データベース24が含むファイルの種類の例として、ID番号が「A」のモーションデータは、動作の種類が「マーチ」の動作ファイル(M-data-A)であり、その動作ファイルに対応付けられるID番号が「A」の音声データは、「マーチ」の運動動作の内容を表した音声(たとえば、「正面を向いた状態で、ゆっくり足踏み」)の音声ファイル(S-data-A)になっている。また、ID番号が「B1」のモーションデータは、動作の種類が「ゆっくりサイドステップ」と云う動作ファイル(M-data-B1)であり、それに対応付けられたID番号が「B1」の音声データは、たとえば「正面を向いた状態で、右へゆっくり2回サイドステップ、次に左へ2回サイドステップ」と云う音声内容の音声ファイル(S-data-B1)になっている。
さらに、ID番号が「C2」のモーションデータは、動作の種類が「右向いて、その場ジョグ」の動作ファイル(M-data-C2)であり、その動作ファイルに対応付けられるID番号が「C2」の音声データは、たとえば「右を向いて、その場ジョグ10回」と云う音声内容の音声ファイル(S-data-C2)になっている。さらにまた、ID番号が「C3」のモーションデータは、動作の種類が「左向いて、その場ジョグ」の動作ファイル(M-data-C3)であり、その動作ファイルに対応付けられるID番号が「C3」の音声データは、たとえば「左を向いて、その場ジョグ10回」と云う音声内容の音声ファイル(S-data-C3)になっている。そして、ID番号が「C4」のモーションデータは、動作の種類が「後ろを向いて、その場ジャンプ」の動作ファイル(M-data-C3)であり、その動作ファイルに対応付けられるID番号が「C4」の音声データは、たとえば「後ろを向いて、その場で大きく5回ジャンプ」と云う音声内容の音声ファイル(S-data-C4)になっている。
上述した動作音声データベース24に記憶される複数のモーションデータの中で、正面以外を向いた状態でエクササイズ動作を行う動作ファイルには、音声出力識別子として音声フラグが付されており(音声フラグ用のビットが「1」になった状態を意味)、これらの音声フラグが付された動作ファイルのモーションデータは、特定の動作データとして区別される。たとえば、図6に示す中では、ID番号が「C2」、「C3」、「C4」のモーションデータは特定の動作データに該当し、各動作ファイルには音声フラグが付されている。なお、バーチャルインストラクターが正面以外を向いた状態で行うエクササイズ動作には、上述した右を向いた動作(右を向いて、その場ジョグ)、左を向いた動作(右を向いて、その場ジョグ)、後ろを向いた動作(後ろを向いて、その場ジャンプ)の他にも、上を向いた動作(上を向いて上体をのけぞった姿勢でのストレッチ)および下を向いた動作(下を向いて背中を丸めた姿勢でのストレッチ)などがあり、これらのエクササイズ動作に応じたモーションデータおよび音声データも、図6の動作音声データベース24にファイルで記憶されている。
一方、動作音声データベース24に記憶される複数のモーションデータの中で、正面を向いた状態でエクササイズ動作を行う動作ファイルには、音声出力識別子(音声フラグ)が付されておらず、これらの音声フラグが付されていない動作ファイルのモーションデータは、一般の動作データに該当する。一般の動作データに該当するモーションデータは、図6に示す中で、ID番号が「A」、「B1」、「B2」等の動作ファイルのデータになる。
また、図6に示す動作音声データベース24に格納される複数種類のモーションデータの中には、運動目的に応じたモーションデータも含まれている。すなわち、本発明の発明者は、実際のインストラクターの動作に基づく複数種類のモーションデータの中身を研究し、エアロビクスの一連の動きの中で、各モーションデータが果たす役割および機能がそれぞれ相異することに気付いた。さらに、研究を進めた結果、図3(c)のメニュー21cで挙がっている計6種類の運動目的を達成することに関連が大きいモーションデータがあることも本発明の発明者は突き止めた。
本発明では、このような研究結果に基づき、ある種の運動目的とモーションデータとの関係を、後述する図8の運動目的テーブル25に整理し、ユーザにマッチしたパーソナルメニューを作成する際にサーバ装置10のMPU11が参照できるように、ハードディスク装置15に記憶している。なお、図6の動作音声データベース24の中で、運動目的達成に関連するモーションデータは、ID番号が「F1」、「F2」、「F3」の動作ファイルであり、これらは順に「ストレス解消(M5)」、「上半身ダイエット(M2)」、「全身ダイエット(M1)」と云う運動目的達成に関連する。
なお、動作音声データベース24に格納されるモーションデータは、マーカを付した実際のインストラクターが行う動作に対し、モーションキャプチャ技術を用いることにより取得された三次元空間におけるマーカの座標等に応じた内容、すなわちバーチャルインストラクタ(動体)の動作を規定した内容になっている。1つのモーションデータは、8カウント(たとえば8秒間)の時間帯における各マーカの座標の変動内容を規定している。
図7(a)は、具体的なモーションデータの中身のイメージを示したものである。バーチャルインストラクターを表す人体画像5が、モーションデータに基づいて三次元コンピュータグラフィクス技術によりX軸、Y軸、Z軸で構成されるXYZ座標系に位置するように作成されることになる。なお、このXYZ座標系とは相違するカメラ6の撮像方向(動画表示時の視点方向に相当)および位置を定めるためのUVW座標系を設け、XYZ座標系とUVW座標系との相対関係を規定することで、ユーザが所望する方向及び位置からの動画表示が可能になる。
三次元コンピュータグラフィックス技術により生成される人体画像5は、図7(b)に示すように、人体の骨に相当するボーンBと云う棒状のリンク部材を連結したものに、人体の皮膚に相当するスキンを被せて作成されている。図7(b)に示すボーンBの各所に付された点P1〜P17が、実際のインストラクターに付されたマーカ位置に相当し、インストラクターの各種動作を行った所定時間(8秒間)における各点P1〜P17の座標位置の変化が各モーションデータの内容になっている。なお、図7(b)に示す各点P1〜P17の位置及び個数は一例であり、生成する人体画像5の仕様、要求精度およびハード的なスペック等に応じてマーカの位置及び個数は適宜変更できる。
図8は、運動目的テーブル25の中身を示しており、発明者が突き止めた内容に従って運動目的ごとに関連する動作の種類と、その動作の種類に応じたモーションデータのファイルのID番号を、運動目的に係る番号ごとに対応付けた内容になっている。具体的な運動目的テーブル25の中身としては、全身ダイエット(運動目的番号はM1)には、ID番号が「F3」のファイルのモーションデータの動作となる「サイドステップと手を後ろに早くプッシュする動作の組み合わせ」と、ID番号が「G1」のファイルのモーションデータの動作となる「ヒップシェイクと手を徐々に下ろす動作の組み合わせ」を対応付けている。
上半身ダイエット(運動目的番号はM2)には、ID番号が「F2」のファイルのモーションデータの動作となる「サイドステップと手をひろげてひねる動作の組み合わせ」と、ID番号が「F3」のファイルのモーションデータの動作となる「サイドステップと手を後ろに早くプッシュする動作の組み合わせ」を対応付けている。また、腹部ダイエット(運動目的番号はM3)には、ID番号が「E2」のファイルのモーションデータの動作となる「ひねりニーアップと手の動作の組み合わせ」と、ID番号が「G1」のファイルのモーションデータの動作となる「ヒップシェイクおよび手を徐々に下ろす動作の組み合わせ」を対応付けている。さらに、下半身ダイエット(運動目的番号はM4)には、ID番号が「E1」のファイルのモーションデータの動作となる「バックキック」と、ID番号が「D1」のファイルのモーションデータの動作となる「フロントランジ右から右」を対応付けている。
また、ストレス解消(運動目的番号はM5)には、ID番号が「F1」のファイルのモーションデータの動作となる「サイドステップと手の動作の組み合わせ」と、ID番号が「G2」のファイルのモーションデータの動作となる「Vステップと早いVステップの組み合わせ」を対応付けている。さらに、老化防止(運動目的番号はM6)には、ID番号が「F4」のファイルのモーションデータの動作となる「Vステップ」と、ID番号が「J1」のファイルのモーションデータの動作となる「ニーアップをキープする動作」を対応付けている
なお、上述したような各種運動目的に関連するモーションデータは、図6の運動目的テーブル25の中で、関連する内容の運動目的を表す番号(運動目的番号)が対応付けられている。例えば、ID番号が「F1」のファイルのモーションデータ(サイドステップ+手)には、ストレス解消の運動目的番号である「M5」が対応付けられている。
図9は、ハードディスク装置15に記憶されるパターンデータベース26(順序データベースに相当)の中身の一部を示している。パターンデータベース26は、エアロビクスのレッスン内容の中でユーザの特性にあったメインコンテンツに応じたパーソナルメニューの中身を規定した複数種類のパターン(パターン1、2・・・)を含んだものである。各パターンのそれぞれが順序データに相当し、図3(c)のメニュー21cで挙がっている計6種類の運動目的の達成に対応した中身になっている。パターンデータベース26では、各運動目的の種類を表す運動目的番号(図3(c)のメニュー21cで入力を受け付ける情報の内容に相当)、および各運動目的に関連するモーションデータのファイルのID番号が、パターンの種類ごとに対応付けられている。
パターンデータベース26に含まれる各パターン1、2・・・は、各種モーションデータの時系列の順序を規定すると共に、規定に係るモーションデータの中に達成すべき運動目的に関連するモーションデータを含ませた内容になっている。
また、各パターン1、2・・・は、達成すべき運動目的に関連するモーションデータと同じ部位を動かすモーションデータを、運動目的に関連するモーションデータより時系列の順序で前方となる時間帯に含ませることを規定している。これは、本発明の発明者は、エアロビクスに含まれる一連の動作と運動目的との因果関係などの研究を進めた結果、運動目的の達成のため、運動目的に関連するモーションデータの動作を行うまでに最低限必要となる動作があることを突き止めたことに起因している。具体的には、運動目的に関連するモーションデータで動作対象となる人体の部位を予め動かしておくと、スムーズに運動目的に関連する動作を行えることから、運動目的に関連する動作対象となる部位と同じ部位を緩やかに動かす動作が好適となることを本発明者は解明した。
また、本発明者は、ユーザの体力レベルに応じて、運動目的を達成するための動作を運動負荷に応じて相異させることが好ましいことにも気付いた。そのため、各パターン1、2・・・は、同一の時間帯に運動負荷レベルが異なる複数のモーションデータを含むと共に、各運動負荷レベルが異なるモーションデータごとに、図4の体力レベルテーブル22が示す各体力レベルとの対応付けを規定している。
図10は、パターンデータベース26に含まれる複数のパターン1、2・・・の中で、パターン1が規定する具体的な内容を示したものである。パターン1は、図9のパターンデータベース26でも示すように、ストレス解消(M5)を運動目的とするものであり、エアロビクスのレッスン中の一部であるメインコンテンツの総時間を最初の時間1から最後の時間40までの計40時間単位に分けて、時間単位ごとに対応付けるモーションデータを規定したものになっている。なお、1つの時間単位は、モーションデータの8カウント(たとえば8秒間)に対応した時間長さ(時間帯)になっており、時間1〜40までの時系列の順序でモーションデータが並んでいる。
さらに、パターン1は、最初の時間1〜時間4の範囲に対応する第1クールの時間帯に、体力レベルとして「体力有り」に応じたモーションデータと「体力普通」に応じたモーションデータをそれぞれ含み、次の第2クールの時間帯(時間5〜時間8)では、「体力普通」に応じたモーションデータと「体力無し」に応じたモーションデータをそれぞれ含んでいる。以下、パターン1は、第3クールおよび第4クールの時間帯に対して「体力普通」に応じたモーションデータを含み、第5クールの時間帯から第7クールの時間帯では「体力有り」に応じたモーションデータと「体力普通」に応じたモーションデータを含み、さらに、第8クールの時間帯では「体力普通」に応じたモーションデータと「体力無し」に応じたモーションデータを含み、第9クール以降は「体力普通」に応じたモーションデータ含んでいる。
さらにまた、パターン1は、第4クールの時間13で、特定の動作データであるID番号が「C2」のモーションデータ(右向いて、その場ジョグ)を規定し、第4クールの時間16で、「体力有り」および「体力普通」の両方で、音声フラグが付加された特定の動作データであるID番号が「C3」のモーションデータ(左向いて、その場ジョグ)を規定している。なお、パターン1は、時間13および時間16以外で規定するモーションデータには、一般の動作データ(音声フラグが付されていない動作データ)を規定している。
パターン1の規定内容を、第1クールで具体的に説明すると、パターン1は「体力有り」の場合に対して、第1クールの時間1から時間4まで、連続的に「サイドステップ(図6のID番号が「C1」のモーションデータの内容)」を行うことを規定する。一方、「体力無し」の場合、パターン1は、第1クールの時間1から時間2まで、運動負荷が「サイドステップ」より低いレベルの「ゆっくりサイドステップ(図6のID番号が「B1」のモーションデータの内容)」を規定し、それから時間3から時間4で「サイドステップ(図6のID番号が「C1」のモーションデータの内容)」を規定する。
また、パターン1は、運動目的であるストレス解消に関連する「サイドステップ+手」のモーションデータ(ID番号は「F1」)を、「体力有り」に対応するところでは第7クールの時間25、26に含ませており、「体力普通」に対応するところでは第8クールの時間29、30、第9クールの時間33、34、および第10クールの時間37、38にそれぞれ含ませている。
さらにまた、パターン1は、ストレス解消に関連する動作である「サイドステップ+手」の中で「サイドステップ」を行う足を動作対象とするID番号が「B1」のモーションデータ(ゆっくりサイドステップ)を「体力普通」の第1クールに含ませると共に、ID番号が「C1」のモーションデータ(サイドステップ)を体力レベルに関係なく第1クール、第2クール等の複数のクールに含ませている。また、パターン1は、「サイドステップ+手」の中で「手の動作」を動作対象とするID番号が「E1(図6に示さず)」のモーションデータ(マーチ+手ゆっくり)を第5クールおよび「体力普通」の第6クールに含ませている。このように、そのため、パターン1は、ストレス解消に関連する動作(サイドステップ+手)を行う前の時間帯に、「サイドステップ」および「手の動作」を含ませているので、スムーズにストレス解消に関連する動作を行えるようになっている。
また図2に示すハードディスク装置15に記憶されるリズムデータベース27は、エアロビクスのレッスン時に出力される楽曲リズムデータ28a、28b・・・と、テンポ音声データ29a、29b・・・を含んでいる。楽曲リズムデータ28a、28b等は、各端末ユニットで生成表示される動画に合わせた所定のリズムスピード(BPM :Beat Per Minute )で再生されるものであり、ユーロビート系の楽曲、ヒップホップ系の楽曲など複数種類のデータになっている。また、テンポ音声データ29a、29b等は、運動動作のテンポを音声で表すデータであり、具体的な音声の種類としては、「いちに、いちに・・・」と云った数字を繰り返す音声や、「はい、はい、はい、はい・・・」と云った掛け声などがある。
図11に示す第1フローチャートは、ハードディスク装置15に記憶されるサーバプログラム20が規定する内容に従ってサーバ装置10が行う一連の処理(動画表示方法の一部の処理)を示したものである。このフローチャートはサーバ装置10が既にメニュー表示用のデータを受付端末装置2へ送って、各種メニューが受付端末装置2で表示された状態からの処理を示したものになっており、基本的にユーザが初めて施設を利用する場合の内容を示している。以下、このフローチャートに従ってサーバ装置10(MPU11)が行う処理を説明する。
先ず、サーバ装置10は、受付端末装置2で表示するメニューでユーザから必要な情報の入力を受け付けたか否かを判断する(S1)。必要な情報(氏名、性別、年齢、身長、体重、運動目的、運動習慣、エクササイズで使用する楽曲の種類、音声の種類など)の入力を全て受け付けていない場合(S1:NO)、サーバ装置10は、情報入力の受付待ちの状態となる。また、必要な情報の入力を全て受け付けると(S1:YES)、サーバ装置10のMPU11はレベル判定手段として、図4の体力レベルテーブル22を参照して、情報の入力を行ったユーザの体力レベルを判定する(S2)。なお、判定した結果は、受け付けた情報と共に図5のユーザデータベース23に、発行された会員番号と対応付けて登録される。
それから、MPU11は、受け付けた情報の中で運動目的に合致するパターンを、図8の運動目的テーブル25を参照して図9のパターンデータベース26から特定する(S3)。なお、運動目的テーブル25では、運動目的ごとに2種類の動作種類を対応付けているが、エアロビクスのレッスンを受講回数が10回未満であれば上段の動作種類をMPU11は特定し、受講回数が10回を越えると、その内容に慣れたと判断して、下段の動作種類を特定するようになる。また、パターンの具体的な特定の仕方としては、入力を受け付けた運動目的は「全身ダイエット」であれば、運動目的テーブル25を参照して、「全身ダイエット」の運動目的番号「M1」を確認し、その運動目的番号「M1」に対応付けられたパターンを図9のパターンデータベース26から特定することになる。
そして、MPU11は、特定したパターンが規定する中で体力レベルに応じたモーションデータを特定する処理を行う(S4)。例えば、特定したパターンが図10のパターン1であり、対象となるユーザの体力レベルが「体力有り」と判定した場合、MPU11は、「体力有り」で用いるID番号がA、C1、C2、C3、E1、F1の計6種類のファイルのモーションデータを特定することになる。また、MPU11が、対象となるユーザの体力レベルを「体力普通」または「体力無し」と判定した場合、ID番号がA、B1、C1、C2、C3、E1、F1の計7種類のファイルのモーションデータを特定することになる。
さらに、MPU11は、判定した体力レベルに応じた内容のパーソナルメニューを、特定したパターンを参照して作成する(S5)。すなわち、対象となるユーザの体力レベルを「体力有り」と判定した場合、MPU11は、例えば、図10のパターン1において、第1クールから第10クールまでのモーションデータの並び方に対して、「体力有り」に対応付けたところを参照し、その参照した内容をユーザのパーソナルメニューとする。なお、「体力有り」に対応付けたモーションデータが規定されていない時間帯(例えば、第2クール)は、「体力普通」に対応付けられたモーションデータを用いることになる(他の体力レベルでも同様)。
最後に、サーバ装置10(MPU11)は、特定したモーションデータのファイルと、そのモーションデータに対応付けられた音声データのファイルを動作音声データベース24から読み出して、作成したパーソナルメニューの内容のデータと共に、ユーザが利用するブースに応じた端末ユニットへ送信する(S6)。なお、本実施形態では、エアロビクスのレッスン内容は、前から順に、ウォーミングアップ、第1インターバル、メインコンテンツ、第2インターバル、アクティブレスト、第3インターバル、およびクールダウンと云う計7種類の内容を組み合わせて1つのレッスン内容にしており、これらの中のメインコンテンツの中身が上記フローチャートにより作成されたパーソナルメニューに応じたものになる。その他のウォーミングアップ等の中身は固定であり、これらの固定の内容に応じたモーションデータのファイル、そのモーションデータに対応付けられた音声データ、メニュー内容、ユーザに指定されたエクササイズで使用する楽曲の種類に応じた楽曲リズムデータ(リズムデータベース27に記憶されているもの)、および音声の種類に応じたテンポ音声データ(リズムデータベース27に記憶されているもの)なども上記のパーソナルメニューの内容(パターンデータベース26から読み出したパターン等のデータ)と一緒に、サーバ装置10は端末ユニットへ送信している。
また、図11の第1フローチャートは、初めて施設をユーザが利用する場合に対応した内容を示しているが、2回目以降の利用の場合、ユーザは受付端末装置2で自身の会員番号さえ入力すれば、既に必要な情報は図5のユーザデータベース23に登録されているので、登録されている情報に基づき、フローチャート中の所定のステップ以降の処理が行われることになる。さらに、2回目以降の利用時に、ユーザデータベース23の登録情報が更新された場合(例えば、運動目的が変更になった場合)、新たに入力を受け付けた情報がユーザデータベース23に上書きされると共に、新たに入力を受け付けた情報に基づき、所定のステップ以降の処理が行われることになる。
図12は、ブースB1に設置される端末ユニット30の主要な構成を示したブロック図である。端末ユニット30に含まれる端末装置31は、汎用のパーソナルコンピュータを用いており、CPU31aに通信インタフェース31b、RAM31c、ROM31d、操作インタフェース31e、表示処理部31f、音出力処理部31g、およびハードディスク装置31hを内部バス31iで接続した構成になっている。
通信インタフェース31bは、ネットワークケーブルL1でサーバ装置10と接続されており、サーバ装置10から送られてくるモーションデータのファイル、音声データのファイル、楽曲リズムデータ、テンポ音声データおよびパーソナルメニューのデータ等を受信する。また、RAM31cは、CPU31aの処理に伴うデータおよびファイル等を一次的に記憶し、ROM31dは、CPU31aが行う基本的な処理を規定したプログラムを予め記憶している。
操作インタフェース31eは、ユーザからの操作を受け付ける入力操作器33と接続されている。入力操作器33は、スタートボタン、一時停止ボタン、中止ボタン、および、図7(a)に示すカメラ6の位置および方向等を設定する設定キー等を備えており、操作インタフェース31eは、入力操作器33で入力された操作内容を受け付けて、CPU31aへ送る処理を行う。
また、表示処理部31fは、大型モニタ装置32と接続されており、CPU31aの制御処理に従って、サーバ装置10から受信したモーションデータをパーソナルメニューのパターンで規定された時系列の順序で用いてバーチャルインストラクターが各種動作を行う動画を生成し、生成した動画を大型モニタ装置32へ表示出力する処理を行う。さらに、音出力処理部31gは、スピーカ34と接続されており、CPU31aの制御処理に従って、サーバ装置10から受信した楽曲リズムデータを、表示処理部31fでの動画の表示出力の開始と共に再生出力する処理を行う。なお、音出力処理部31gは、動画の表示出力中、継続的に楽曲リズムデータをスピーカ34から出力させる処理を行う。また、音出力処理部31gは、CPU31aの制御処理に従って、サーバ装置10から受信したモーションデータと対応付けられている音声データおよびテンポ音声データの出力処理も行っており、所定の複合処理、増幅処理等を行って、音声データおよびテンポ音声データに応じた音声をスピーカ34から再生出力する処理を行う。
ハードディスク装置31hは、OSプログラム35および動画生成プログラム36等のプログラムを記憶すると共に、通信インタフェース31bで受信したサーバ装置10からのモーションデータのファイル、音声データのファイルおよびパーソナルメニューのデータ等を記憶することも行う。OSプログラム35は、オペーレーティングシステムに係る処理内容を規定したプログラムであり、また、動画生成プログラム36は、サーバ装置10から送られたモーションデータに基づく動画生成および動画表示等に対するCPU31aの制御処理内容を規定したものである。
動画生成等においてCPU31aは、入力操作器33のスタートボタンがユーザに操作されることに伴って、パーソナルメニューの中の固定内容(一定のエクササイズ動作)であるウォーミングアップ等についての動画生成、およびリズム楽曲、音声出力等の処理を開始する。また、パーソナルメニューの中のユーザ個々の特性に応じたメインコンテンツの動画生成では、サーバ装置10から送信されたパーソナルメニュー中のパターンのデータが規定する時系列の順序に応じた各モーションデータを用いて動画を生成し、生成した内容を順次大型モニタ装置32へ出力すると共に、生成した動画表示処理に合わせて音声出力の制御処理も行うことになる。
具体的には、サーバ装置10から送信されたパーソナルメニューの内容が、図10に示すパターン1の「体力有り」の場合に応じたものであれば、CPU31aは、第1クールの時間1から第2クールの時間6まで、ID番号が「C1」のファイルのモーションデータに基づき動画を生成し、大型モニタ装置32へ生成した動画の場面を表示するように表示処理部31fの制御を行う。また、CPU31aは、第2クールの時間7、8では、ID番号が「A」のファイルのモーションデータ、第3クールの時間9、10では、ID番号が「C1」のファイルのモーションデータに基づいて、それぞれ動画を生成し、生成した動画の場面を大型モニタ装置32へ表示するように表示処理部31fの制御を行う。時間10以降も、CPU31aは、パーソナルメニューのパターン1が規定する時系列の順序に応じたモーションデータに基づき動画を生成して表示出力を行うように表示処理部31fの制御を行う。
その結果、図13に示すようなバーチャルインストラクターの人体画像が各種動作を行う内容の動画のフレーム画像f1〜f6が大型モニタ装置32に順次表示されるようになり、ユーザは、このバーチャルインストラクターの動作に合わせてエアロビクス(エクササイズ動作)を行えば、自己の体力レベルおよび運動目的に応じた運動負荷でエクササイズを行えることになる。
さらに、CPU31aは、動画生成プログラム36の規定内容に従って、音出力処理部31gが音声データおよびテンポ音声データの音声出力処理を行うことも制御している。音声データの出力については、基本的にモーションデータに基づく動画場面の表示出力時に、そのモーションデータに対応付けられた音声データの音声がスピーカ34から出力されるように、CPU31aは制御を行うが、生成した動画場面に係るモーションデータに音声フラグが付されていれば(そのモーションデータが特定の動画データあれば)、その特定の動画データに係る前後の時間帯について、音声出力の時期を変更する制御をCPU31aは行う。
図14は、動画の生成および表示に合わせて音声データの音声出力を行うCPU31aの一連の処理(動画表示方法の処理の一部)を示した第2フローチャートである。この第2フローチャートに従って、音声出力に係る処理を説明すると、先ず、CPU31aは、上述したように、モーションデータに基づき動画場面を生成する制御処理を行う(S10)。なお、S10の段階における動画場面の生成は、スムーズに一定長さの動画表示を行えるように、パターン(順序データ)が規定する時系列の順序で複数のモーションデータを用いて行い、生成した複数の動画場面をRAM31cに一時的に記憶(バッファリング)し、動画表示の際にはRAM31cから、バッファリングされている動画場面が順次読み出すようにしている。
次に、CPU31aは、生成された各動画場面に係るモーションデータに音声フラグが有るか否か(ビットが立っているか否か)により、そのモーションデータが特定の動画データであるか否かを時系列の順序で検出する(S11)。
音声フラグが無い場合(S11:NO)、CPU31aは、その音声フラグが無いことを検出したモーションデータに基づく動画場面の表示処理を行うときに、そのモーションデータ(動画データ)に対応付けられた音声データに係る音声を出力させる制御処理を行う(S12)。具体的には、動画場面の表示開始に合わせて、音声出力処理を行うことになる。なお、この場合は、表示処理を行えば、次に後述するS18の段階へCPU31aの処理は進行する。
一方、音声フラグが有る場合(S11:YES)、CPU31aは、その音声フラグが有ることを検出したモーションデータ(特定の動作データ)より、パターン(順次データ)が規定する時系列の順序で前側となるモーションデータの動画場面の表示処理を行うときに、その音声フラグが有るモーションデータ(特定の動作データ)に対応付けられた音声データに係る音声を出力させる制御処理を行う(S13)。なお、このように一つ前の動画場面を表示する段階で音声出力を行う際は、表示処理に係る動画場面の表示処理時間中の後半の時間帯で音声出力が行われるようになっており、本実施形態では、各モーションデータに係る時間は8秒間であることから、そのモーションデータに基づく動画場面が表示されてから5秒が経過したときに合わせたタイミングで音声出力処理が行われる。
そして、CPU31aは、S13の段階における動画場面の表示処理が終了すると、パターン(順次データ)が規定する時系列の順序で、その音声フラグが有ることを検出したモーションデータ(特定の動作データ)に基づく動画場面の表示処理を行うときに、サーバ装置10から受信したテンポ音声データと、その音声フラグが有ることを検出したモーションデータ(特定の動作データ)より、パターン(順次データ)が規定する時系列の順序で後側となるモーションデータに対応付けられた音声データに係る音声を順次出力させる制御処理を行う(S14)。なお、この場合も、音声フラグが有ることを検出したモーションデータ(特定の動作データ)に基づく動画場面の表示処理の時間中の後半の時間帯に、後側のモーションデータに対応付けられた音声データの出力処理が行われる。
さらに、CPU31aは、S14の段階で表示処理を行ったモーションデータ(特定の動作データ)の時系列順で次(後側)のモーションデータに、音声フラグが有るか否か(特定の動作データであるか否か)を検出する(S15)。音声フラグが有る場合(S15:YES)、S14の段階に係る音声データに対応付けられるモーションデータに基づく動画場面の表示処理を行うとき(表示処理時間中の後半の時間帯)に、音声フラグが有る次のモーションデータに対応付けられた音声データとテンポ音声データの音声出力の制御処理をCPU31aは行う(S16)。なお、この後は、S15の段階へ戻り、時系列順でS16の表示処理に係るモーションデータの次(後側)のモーションデータに、音声フラグが有るか否か(特定の動作データであるか否か)を検出することになる。
また、音声フラグが無い場合(S15:NO)、S14の段階に係る音声データに対応付けられるモーションデータに基づく動画場面の表示処理をCPU31aは行う(S17)。そして、CPU31aは、メニューデータで規定される時系列順で最後のモーションデータの動画場面まで表示処理を行ったか否かを判断し(S18)、最後まで表示処理を行った場合(S18:YES)、一連の処理を終了し、最後まで表示処理を行っていない場合(S18:NO)、最初の段階(S10)へ戻る。
図15は、上述した第2フローチャートの音声出力処理の具体例を示すタイムチャートであり、図10のパターン1における第3クールの時間12から第4クールの時間15までの動画場面の表示および音声出力のタイミングを示している。このタイムチャートに基づいて時間12から時間15までの動画表示処理および音声出力処理を説明すると、先ず、時間T1でID番号が「A」のモーションデータに基づく動画画面(動作の種類は「マーチ」)の表示処理が開始される。また、ID番号が「A」のモーションデータは、正面を向いた状態でのエクササイズであるため、音声フラグが付加されていない一般の動作データに該当するので、時間T1からの表示に合わせて、ID番号が「A」の音声データの音声(「正面を向いた状態で、ゆっくり足踏み」)が出力される。なお、ID番号が「A」の音声データの出力処理は、音声内容の語数の関係から約3秒を要するので、図15中に示す音声出力に要する時間T1から時間T11までの時間も約3秒間になっている。
また、パターン(順次データ)が規定する時系列の順序で、ID番号が「A」のモーションデータの次(後側)となるID番号が「C2」のモーションデータは、上述したように音声フラグが付加された特定の動作データに該当するため、ID番号が「A」のモーションデータに基づく動画場面の表示時間(T1〜T2の8秒間)の後半の時間帯である時間T12から時間T2でID番号が「C2」の音声データの音声(「右を向いて、その場でジョグ10回」)が出力される。なお、ID番号が「C2」の音声データの音声出力処理が開始される時間T12は、時間T1から5秒を経過した時点にしている。
このように、本発明では、バーチャルインストラクターが右を向いて(正面を向かないで)動作を行う動画場面の表示直前の時間(時間T12)に、その動作内容を示す音声が出力されるので、ユーザは大型モニタ装置32を見ることができない姿勢になる前に、次のエクササイズ動作を把握できることになり、スムーズに大型モニタ装置32を見ることができない姿勢のエクササイズ動作を行える。
また、時間T2になると、ID番号が「C2」のモーションデータに基づく動画場面が表示されると共に、テンポ音声データに基づくテンポ音声(たとえば、「いちに、いちに・・・」と云うテンポをきざむ音声)が出力される。これにより、ユーザは大型モニタ装置32を見ることができない動作中(右を向いて、その場ジョグ)であっても、テンポ音声に合わせてエクササイズ動作を行うことができ、ユーザに提示される動画内容がテンポ音声で補助されるようになる。さらに、時間T21になると、音声内容が切り替わり、パターン(順次データ)が規定する時系列の順序で後側となるID番号が「A」の音声データの音声(「正面を向いた状態で、ゆっくり足踏み」)が出力される。そのため、ユーザが、右を向いて、その場でジョグ10回を行っている最中に(大型モニタ装置32を見ることができない状態)であっても、次のエクササイズ動作を把握できるようになる。
そして、時間T3になると、ID番号が「A」のモーションデータに基づく動画画面(動作の種類は「マーチ」)の表示処理が開始され、時間T4までの8秒間、その動画画面が表示される。なお、時間T4から時間T5までのモーションデータは、依然として、ID番号が「A」のモーションデータ(一般の動作データ)であるため、ユーザは続けて大型モニタ装置32を見ることができるため、時間T4になった段階で、ID番号が「A」のモーションデータに対応付けられた音声データの音声(ID番号が「A」の「正面を向いた状態で、ゆっくり足踏み」と云う音声)が時間T41まで出力される。
なお、上述した動画表示処理および音声出力処理は、図1のブースB1のブースB1に設置される端末ユニット30で行う場合で説明したが、他のブースB2、B3の端末ユニット40、50もブースB1の端末ユニット30と同等の構成であるため、上記と同様な動画表示処理および音声出力処理を行うことが可能になっている。また、動画表示処理および音声出力処理は図10のパターン1に基づいて説明したが、他のパターンでも同等な処理が行われ、特定の動作データに相当するID番号が「C3」「C4」の音声データに関して、上述したような音声出力処理が行われる。
なお、本実施形態では各モーションデータの時間単位を8秒間としているので、音声データの出力を、各時間単位の開始から5秒を経過した後半の時間帯にしているが、これは一例であって、上記の数値に限定される必要はなく、各モーションデータの時間単位の変化に応じて、音声出力の開始時期を変更することができる。但し、次のエクササイズ動作を把握しやすいタイミングを考慮すれば、各モーションデータの時間単位の後半の時間帯に音声出力を行うことが好適である。
また、本発明は、上述した説明内容に限定されるものではなく種々の変形例の適用が考えられる。例えば、エクササイズの種類はエアロビクスに限定されるものではなく、ストレッチ、ヨガ、ストリートダンスなどにも適用することが可能である。
また、図1に示すように、サーバ装置10は、有線のネットワークケーブルで受付端末装置2と接続されているが、各種メニューを表示する装置とは無線のネットワークまたはインターネットのような広域のネットワークを用いてサーバ装置10と接続するようにしてもよい。このようにすれば、自宅のパーソナルコンピュータまたは携帯電話機を用いて必要な情報の入力、施設利用の予約等をサーバ装置10に対して行えるようになり、ユーザの利便性を高められる。
一方、システム仕様の簡易化を図る場合は、メニュー表示を行う受付端末装置2、サーバ装置10および端末ユニット30が行う処理を、単一の装置(コンピュータ)で行うようにしてもよい。この場合、単一の装置に接続されたモニタに図3(a)〜(c)に示すような各種メニューが表示されてユーザから情報の入力を受け付けると共に、動作音声データベース24(図6参照)およびパターンデータベース26(図9参照)等を単一の装置が備えることになる。さらに、単一の装置に記憶されたコンピュータプログラムが、単一の装置に、上述したメニュー作成処理、動画生成処理、動画表示処理および音声出力処理等を行わせることになる。