図1は、本発明の実施形態に係る動画表示システム1の全体的な構成を示している。本実施形態の動画表示システム1は、バーチャルインストラクターによるエアロビクスレッスンを行うスポーツクラブ等の施設に設置されており、各種データベースを記憶するサーバ装置10に端末ユニット30および受付端末装置2がネットワークケーブルL1、L2で接続された構成になっている。端末ユニット30は、端末装置31、大型モニタ装置32、入力操作器33、およびスピーカ34を含み、ユーザUがレッスンを受けるブースBに設置されている。本実施形態の動画表示システム1は、バーチャルインストラクターを正面方向から見た内容の主動画S1を大型モニタ装置32に表示すると共に、正面以外の方向からバーチャルインストラクターを見た内容の第1副動画S21および第2副動作S22を大型モニタ装置32の画面隅に小さいサイズで表示して、複数の方向からバーチャルインストラクターのエクササイズ動作を同時に確認できることが特徴になっている。
なお、図1の動画表示システム1では、1箇所のブースBに設置された端末ユニット30のみを示しているが、実際のシステムでは、複数のブースを設けて、ブース毎に端末ユニット30を配置してサーバ装置10に接続した仕様になっており、配置する端末ユニット数は施設の規模等に応じて適宜増減することが可能である。
動画表示システム1に含まれる受付端末装置2は、一般的なパーソナルコンピュータが適用されており、端末本体2aにディスプレイ装置3および各種情報の入力用の入力デバイス4(キーボード)が接続されている。受付端末装置2は、サーバ装置10から送られてくる各種データに基づいてメニュー等をディスプレイ装置3の画面3aに表示すると共に、表示したメニューに対して入力デバイス4を通じて入力された情報をサーバ装置10へ送る処理などを行う。なお、受付端末装置2は、スポーツクラブ等の施設の入り口における受付に設置されるものである。
図2は、サーバ装置10の主要な内部構成等を表したブロック図を示している。本実施形態のサーバ装置10は、汎用のサーバーコンピュータを適用しており、サーバ本体10aに、ディスプレイ装置16、ならびにシステム管理者からの各種入力操作を受け付けるキーボード17およびマウス18を接続している。サーバ装置10は、受付端末装置2で表示させるメニュー等のデータ、受付端末装置2で入力を受け付けたユーザの情報に基づいてユーザ個人に合ったパーソナルメニューを作成するための元になるデータ等をサーバ本体10aに記憶している。以下、サーバ装置10について詳説する。
サーバ装置10は、各種制御処理を行うMPU11(プロセッサ)に、RAM12、ROM13、通信インタフェース14およびハードディスク装置15を内部バス10bで接続した構成になっている。なお、内部バス10bには、ディスプレイ装置16、キーボード17およびマウス18も繋がれており、MPU11の処理に伴う各種内容をディスプレイ装置16へ表示できると共に、キーボード17またはマウス18で入力を受け付けた操作内容をMPU11へ伝えるようにしている。
サーバ装置10のRAM12は、MPU11の処理に従うデータ及びフォルダ等を一時的に記憶するものであり、ROM13はMPU11が行う基本的な処理内容を規定したプログラム等を予め記憶している。
通信インタフェース14は、ネットワークケーブルL1、L2の接続部であり、サーバ装置10からネットワークケーブルL1、L2の接続先である端末ユニット30および受付端末装置2へデータ等の送信処理をMPU11の制御に基づき行うと共に、接続先から送られたデータ等の受信処理を行う。
ハードディスク装置15は、サーバ装置10が行う各種処理を規定したプログラムおよび各種データを格納したデータベース等を記憶するものである。具体的に、本実施形態のハードディスク装置15は、システムプログラム19、サーバプログラム20、メニューデータベース21、体力レベルテーブル22、ユーザデータベース23、動作データベース24、運動目的テーブル25、パターンデータベース26およびリズムデータベース27等を記憶している。
ハードディスク装置15に記憶されるシステムプログラム19は、MPU11がサーバとして行う各種基本的な処理内容を規定したプログラムである。また、サーバプログラム20は、本発明においてサーバ装置10のMPU11が行う必要のある各種処理内容を規定したものである。具体的な処理内容としては、図3(a)〜(c)に示すような各種メニュー21a〜21cを受付端末装置2で表示させてユーザから入力される情報を受け付ける処理、受け付けたユーザの情報に基づいてユーザの体力レベルを判定する処理、受け付けたユーザの情報に基づきユーザデータベース23を構築する処理、ユーザデータベース23に登録された情報に基づいてユーザに合ったパーソナルメニューを作成する処理、そのパーソナルメニューに含まれる内容に応じた動作データ等をユーザが利用するブースに設置された端末ユニット30へ送る処理等が規定されている。
メニューデータベース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などと同じである。また、上述したメニュー以外にも、ユーザの氏名、身長、体重等の入力を受け付けるメニューが存在し、これらの氏名等の情報も受付端末装置2を通じてサーバ装置10に受け付けられる。
このようなメニュー21a〜21c等での情報入力は、ユーザが初めて施設を利用する際に受付端末装置2で行われるものである。これらの情報の入力が各種メニューで受け付けられて、サーバ装置10がユーザの情報を通信インタフェース14で取得すると、サーバプログラム20の規定内容に従って、サーバ装置10は、取得した情報に対応付ける会員番号(識別番号)をMPU11が発行し、その発行した会員番号と共に、取得した情報をユーザデータベース23に登録する。
また、2回目以降の利用の際は、既に入力した情報内容を変更する場合(例えば、運動目的を変更する場合など)にのみ情報の入力を行うことになる。また、2回目以降に施設を利用する場合は、受付端末装置2で会員番号を入力すれば、利用するブース番号が受付端末装置2で示されて、ユーザは、そのブース番号のブースでレッスンを受けることになる。
図4は、ハードディスク装置15に記憶される体力レベルテーブル22の中身を示している。体力レベルテーブル22は、入力を受け付けた情報に基づいて、情報の入力を行ったユーザの体力レベルの判定をMPU11が行う際に参照されるものである。体力レベルテーブル22は、年齢を18〜29歳、30〜45歳、46歳以上の三段階に分けると共に、段階ごとに図3(b)のメニュー21bで示す計5種類の運動習慣の項目を対応付けることで、ユーザからの情報に基づきユーザの体力レベルを3種類に分けられるようにしている。
例えば、年齢が18〜29歳の範囲に含まれて、運動習慣が「四:週に2日」のユーザは、体力レベルとして「L3:体力有り」と判定される。また、年齢が30〜45歳の範囲に含まれて、運動習慣が「三:週に1日」のユーザは、体力レベルとして「L2:体力普通」と判定される。さらに、年齢が46歳以上であり、運動習慣が「二:月に2〜3日」のユーザは、体力レベルとして「L1:体力無し」と判定される。このような判定は、サーバプログラム20の規定内容に従って、図3(b)のメニュー21bで運動習慣の入力選択を受け付けるごとにMPU11が行っており、MPU11は判定した結果を、そのユーザの会員番号に対応付けてユーザデータベース23に登録する処理も行う。
図5は、ユーザデータベース23の中身を示している。ユーザデータベース23は、会員登録を行ったユーザの情報が登録格納されたものであり、MPU11が発行した会員番号に対応付けて、ユーザから入力を受け付けた情報が登録されると共に、図4の体力レベルテーブル22に基づき判定された結果も登録されている。また、施設利用中のユーザは、利用中のブース番号も会員番号に対応付けて格納されるので、ブースの使用状況もユーザデータベース23を参照すれば分かるようになっている。
図6は、動作データベース24の中身を示している。動作データベース24は、三次元上におけるバーチャルインストラクターが表すエアロビクス用の各種運動動作を規定したモーションデータ(動作データに該当)のファイルを複数種類格納したものであり、動作の内容ごとにID番号を対応付けている。このようなモーションデータを組み合わせることで、バーチャルインストラクターの一連の動作を行う内容が進行する動画が作り上げられる。
動作データベース24が格納するモーションデータの種類の一例を説明すると、ID番号が「A」のモーションデータは、動作の種類が「マーチ」であり、モーションデータのファイル名が「Data-A」になっている。また、ID番号が「B1」のモーションデータは、動作の種類が「ゆっくりサイドステップ」であり、モーションデータのファイル名が「Data-B1」になっている。さらに、ID番号が「C1」のモーションデータは、動作の種類が「サイドステップ」であり、モーションデータのファイル名が「Data-C1」になっている。
なお、動作データベース24に格納されるモーションデータは、マーカを付して各種エアロビクス用の運動動作を行う実際のインストラクターを撮像した映像データからモーションキャプチャ技術を用いて取得した三次元空間におけるマーカの座標等に基づきコンピュータグラフィックス技術により生成されたものであり、バーチャルインストラクター(動体に相当)の運動動作を規定した内容になっている。1つのモーションデータは、8カウント(約4秒)の時間帯における各マーカの座標の変動内容を規定している。
図7(a)は、具体的なモーションデータのイメージを示したものである。動体である人体画像5(バーチャルインストラクターに相当)が、モーションデータに基づいて三次元コンピュータグラフィクス技術によりX軸、Y軸、Z軸で構成される三次元のXYZ座標系に位置するように作成されることになる。なお、このXYZ座標系とは相違するカメラ(カメラ6a〜6e)の撮像方向(バーチャルインストラクターが見られる方向に相当)および位置を定めるためのUVW座標系を設け、XYZ座標系とUVW座標系との相対関係を規定することで、様々な方向からバーチャルインストラクターを見た内容の動画が生成可能になる。
本発明では、撮像に使用するカメラ6a〜6eに応じた撮像方向(ユーザがバーチャルインストラクターを見ると云う視線方向を意味)を、後述するようにユーザがエクササイズを行う際に指定することで、ユーザの所望する方向からの動画が得られる。なお、本発明では、同時に複数のカメラ6a〜6eを用いて人体画像5を異なる方向から撮像する(見る)ことが可能となっており、人体画像5に対して正面方向となる撮像方向以外の「右側面」、「左側面」、「背面」、「俯瞰」となる各方向の中からユーザが所望する撮像方向を、一または複数指定可能になっている。
三次元コンピュータグラフィックス技術により生成される人体画像5は、図7(b)に示すように、人体の骨に相当するボーンBと云う棒状のリンク部材を連結したものに、人体の皮膚に相当するスキンを被せて作成されている。図7(b)に示すボーンBの各所に付された点P1〜P17が、実際のインストラクターに付されたマーカ位置に相当し、インストラクターの各種動作を行った所定時間(8カウント分)の各点P1〜P17の座標位置が各モーションデータに含まれている。なお、図7(b)に示す各点P1〜P17の位置及び個数は一例であり、生成する人体画像5の仕様、要求精度およびハード的なスペック等に応じてマーカの位置及び個数は適宜変更できる。
また、図6に示す動作データベース24に格納される複数種類のモーションデータの中には、運動目的に応じたモーションデータも含まれている。すなわち、本発明の発明者は、実際のインストラクターの動作に基づく複数種類のモーションデータの中身を研究し、エアロビクスの一連の動きの中で、各モーションデータが果たす役割がそれぞれ相異することに気付いた。さらに、研究を進めた結果、図3(c)のメニュー21cで挙がっている計6種類の運動目的を達成することに関連が大きいモーションデータがあることも本発明の発明者は突き止めた。本発明では、このような研究結果に基づき、ある種の運動目的とモーションデータとの関係を図8の運動目的テーブル25に整理し、ユーザにマッチしたパーソナルメニューを作成する際にサーバ装置10が参照できるように、ハードディスク装置15に記憶している。
図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〜8は、生成するレッスン内容(レッスンコンテンツの動画)における時系列の順序に応じた各時間帯に対応付けるモーションデータを規定すると共に、規定するモーションデータの中に達成すべき運動目的に関連するモーションデータを含ませた内容になっている。さらに、各パターン1〜8は、達成すべき運動目的に関連するモーションデータと同じ部位を動かすモーションデータを、運動目的に関連するモーションデータより時系列の順序で前方となる時間帯に含ませることを規定している。
本発明の発明者は、エアロビクスのレッスンに含まれる一連の動作と運動目的との因果関係などの研究を進めた結果、運動目的の達成のため、運動目的に関連するモーションデータの動作を行うまでに最低限必要となる動作があることを突き止めた。具体的には、運動目的に関連するモーションデータで動作対象となる人体の部位を予め動かしておくと、スムーズに運動目的に関連する動作を行えることから、運動目的に関連する動作対象となる部位と同じ部位を緩やかに動かす動作が好適となることを本発明者は解明した。
また、本発明者は、ユーザの体力レベルに応じて、運動目的を達成するための動作を運動負荷に応じて相異させることが好ましいことにも気付いた。そのため、各パターン1〜8は、生成するレッスン内容における複数の時間帯のいずれかの時間帯に運動負荷レベルが異なる複数のモーションデータを含ませ、各運動負荷レベルが異なるモーションデータごとに、図4の体力レベルテーブル22が示す各体力レベルとの対応付けを規定する。
図10は、パターンデータベース26に含まれる複数のパターン1〜8の一例として、パターン1が規定する具体的な内容を示したものである。パターン1は、図9のパターンデータベース26でも示すように、ストレス解消(M5)を運動目的とするものであり、エアロビクスのレッスン中のメインコンテンツの総時間を最初の時間1から最後の時間40までの計40時間単位(計40個の時間帯)に分けて、時間単位ごとに対応付けるモーションデータを規定したものになっている。なお、1時間単位は、モーションデータの8カウント(約4秒)に対応した時間長さになっており、時間1〜40までの時系列の順序でモーションデータが並んでいる。
さらに、パターン1は、最初の時間1〜時間4の範囲に対応する第1クールの時間帯では、体力レベルとして「体力有り」に応じたモーションデータと、「体力普通」に応じたモーションデータとをそれぞれ対応付けており、次の第2クールの時間帯(時間5〜時間8)では、「体力普通」に応じたモーションデータと、「体力無し」に応じたモーションデータとをそれぞれ対応付けている。以下、第4クールの時間帯(時間13〜時間16)から第7クールの時間帯(時間25〜時間28)では、「体力有り」に応じたモーションデータと、「体力普通」に応じたモーションデータとをパターン1は対応付けると共に、第8クールの時間帯(時間29〜時間32)では、「体力普通」に応じたモーションデータと、「体力無し」に応じたモーションデータとをパターン1は対応付けている。
なお、パターン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クール等に含ませている。また、パターン1は、「サイドステップ+手」の中で「手の動作」を動作対象とするID番号がD1のモーションデータ(マーチ+手ゆっくり)を体力レベルに関係なく第4クールに含ませている。そのため、パターン1では、ストレス解消に関連する動作(サイドステップ+手)を行う前の時間帯に同様な動作を含ませているので、スムーズにストレス解消に関連する動作を行えるようになっている。
パターン1において、「体力有り」に対応するモーションデータが規定されていない時間帯(たとえば、第2クール、第3クール等)は、「体力普通」に規定されているモーションデータを共用するようになっており、同様に、「体力無し」に対応するモーションデータが規定されていない時間帯(たとえば、第1クール、第3クール等)も、「体力普通」に規定されているモーションデータを共用するようになっている。なお、図9のパターンデータベース26に含まれる他のパターン2〜8等も、図10に示すパターン1と同様、所定の運動目的を達成するために時間単位ごとにモーションデータを対応付けた内容になっている。
また、ハードディスク装置15に記憶されるリズムデータベース27は、エアロビクスのレッスン用の各種音楽データを格納したものであり、これらの音楽データは、端末ユニットで生成表示される動画と共に、所定のリズム(BPM :Beat Per Minute )で再生される。
図11に示す第1フローチャートは、ハードディスク装置15に記憶されるサーバプログラム20が規定する内容に従ってサーバ装置10が行う一連の処理(動画表示方法の一部の処理)を示したものである。この第1フローチャートはサーバ装置10が既にメニュー表示用のデータを受付端末装置2へ送って、各種メニューが受付端末装置2で表示された状態からの処理を示したものになっており、基本的にユーザが初めて施設を利用する場合に対応した内容を示している。以下、この第1フローチャートに従ってサーバ装置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」に対応付けられたパターンをパターンデータベース26から特定することになる。
そして、MPU11は、特定したパターンが規定する中で体力レベルに応じたモーションデータを特定する処理を行う(S4)。例えば、特定したパターンが図10のパターン1であれば、対象となるユーザの体力レベルが「体力有り」と判定された場合、MPU11は、「体力有り」で用いるID番号がA、C1、D1、E1、F1の計5種類のモーションデータを特定することになる。
さらに、MPU11は、特定したパターンを参照してパーソナルメニューを作成する(S5)。すなわち、MPU11は、例えば、図10のパターン1の「体力有り」に応じた第1クールから第10クールまでのモーションデータの並び方を参照し、その内容をユーザのパーソナルメニューとする。
最後に、サーバ装置10(MPU11)は、特定したモーションデータと、作成したパーソナルメニューの内容を表すデータ(パターンが規定する各モーションデータの並び方を規定したデータ。以下、「メニュー内容のデータ」と称す)、リズムデータベース27に含まれる音楽データ、およびレッスンを受けるユーザのユーザ情報と共に、ユーザが利用するブースに応じた端末ユニットへ送信する(S6)。
また、本実施形態では、エアロビクスのレッスン内容は、前から順に、ウォーミングアップ、第1インターバル、メインコンテンツ、第2インターバル、アクティブレスト、第3インターバル、およびクールダウンと云う計7種類の内容を組み合わせて1つのレッスンにしており、これらの中のメインコンテンツの中身が上記フローチャートにより作成されたパーソナルメニューに応じたものになる。その他のウォーミングアップ等の中身は固定にしており、これらの固定の内容に応じたモーションデータ、メニュー内容も、上記のパーソナルメニューの内容と一緒に、サーバ装置10は端末ユニットへ送信している。
なお、図11の第1フローチャートは、初めて施設をユーザが利用する場合に対応した内容を示しているが、2回目以降の利用の場合、ユーザは受付端末装置2で自身の会員番号さえ入力すれば、既に必要な情報はユーザデータベース23に登録されているので、登録されている情報に基づき、フローチャート中の所定のステップ以降の処理が行われることになる。さらに、2回目以降の利用時に、ユーザデータベース23の登録情報が更新された場合(例えば、運動目的が変更になった場合)、新たに入力を受け付けた情報がユーザデータベース23に上書きされると共に、新たに入力を受け付けた情報に基づき、所定のステップ以降の処理が行われることになる。
図12は、ブースBに設置される端末ユニット30の主要な構成を示したブロック図である。端末ユニット30に含まれる端末装置31は、汎用のパーソナルコンピュータを用いており、CPU31aに通信インタフェース31b、RAM31c、ROM31d、操作インタフェース31e、表示処理部31f、音出力処理部31g、およびハードディスク装置31hを内部バス31iで接続した構成になっている。
通信インタフェース31bは、ネットワークケーブルL1でサーバ装置10と接続されており、サーバ装置10から送られてくるモーションデータのファイル、メニュー内容のデータ、および音楽データ等を受信する。また、RAM31cは、CPU31aの処理に伴うデータおよびファイル等を一次的に記憶し、ROM31dは、CPU31aが行う基本的な処理を規定したプログラムを予め記憶している。
操作インタフェース31eは、ユーザからの操作を受け付ける入力操作器33と接続されている。入力操作器33は、スタートボタン、一時停止ボタン、中止ボタン、上下左右キー、決定キー等を備えており、操作インタフェース31eは、入力操作器33で入力された操作内容を受け付けて、CPU31aへ送る処理を行う。
また、表示処理部31fは、大型モニタ装置32と接続されており、CPU31aの制御処理に従って、サーバ装置10から受信したモーションデータをメニュー内容のデータが規定する時系列の順序で用いてバーチャルインストラクターが各種動作を行う動画を生成して、大型モニタ装置32へ出力するための表示処理を行う。なお、本実施形態の表示処理部31fは、複数の動画を同時的に生成することが要求されるため、動画生成用グラフィックチップと動画生成処理に用いるバッファメモリ等を複数具備して、最大計5つの動画を並列的に生成して表示処理を行える仕様になっている。さらに、音出力処理部31gは、スピーカ34と接続されており、CPU31aの制御処理に従って、サーバ装置10から受信した音楽データを、表示処理部31fでの表示処理に合わせて再生出力する処理を行う。
ハードディスク装置31hは、OSプログラム35、動画表示プログラム36および複数のメニュー画面に応じた画面データを格納するメニュー画面テーブル37等を記憶すると共に、通信インタフェース31bで受信したサーバ装置10からのモーションデータのファイル、およびメニューデータ等の各種ファイル、データ等を記憶することも行う。なお、OSプログラム35は、オペーレーティングシステムに係る処理内容を規定したプログラムであり、また、動画表示プログラム36は、サーバ装置10から送られたモーションデータに基づく動画生成および表示に関するCPU31aの制御処理内容を規定したものである。
動画表示プログラム36は、入力操作器33でユーザからスタートボタンの押し下げ操作を受け付けると、図13(a)に示す表示パターン選択メニュー40をハードディスク装置31に記憶されるメニュー画面テーブル37から読み出して、表示処理部31fより出力することで、大型モニタ装置32の画面32aに表示させることを規定している。
表示パターン選択メニュー40は、バーチャルインストラクターを正面方向から見た内容を示す主動画のみの表示パターン、またはバーチャルインストラクターを正面以外の他の方向から見た内容を示す副動画を主動画と共に表示する表示パターンのいずれかを選択するためのメニューであり、選択可能な第1ボタン40aおよび第2ボタン40bを有する。これらの各ボタン40a、40bは、入力操作器33の上下キーの操作により移動するカーソル40cで選択対象となるボタンが選ばれた状態となり、その状態で入力操作器33の決定キーが操作されることで、カーソル40cが位置するボタンが選択され、選択された内容がCPU31aへ伝えられるようになっている。
第1ボタン40aは、主動画のみを表示する場合に選択されるものであり、第1ボタン40aが選択されると、動画表示プログラム36は、CPU31aに主動画のみの生成表示処理を開始させることを規定しており、それにより、正面方向からバーチャルインストラクターを見た内容によるレッスンが始まる。
具体的には、まず、第1ボタン41が選択されたことがCPU31aへ伝えられると、CPU31aは、サーバ装置10から送信されたメニュー内容のデータが規定する時系列の順序に応じた各モーションデータを用いて動画を生成し、生成した内容を順次大型モニタ装置32へ出力することになる。
すなわち、サーバ装置10から送信されたメニュー内容のデータが、図10に示すパターン1の「体力普通」に応じた内容である場合、CPU31aは、第1クールの時間1の時間1、2に、ID番号が「B1」のモーションデータに基づき動画(主動画)を生成するように表示処理部31fの制御を行う。また、CPU31aは、第1クールの時間3〜第2クールの時間6まで、ID番号が「C1」のモーションデータで主動画を生成する制御を行い、以下同様に、メニューデータが規定するパターン1の「体力普通」の欄に時系列の順序で並ぶモーションデータを順次用いて主動画を生成するように表示処理部31fの制御を行う。この場合、生成される主動画は、図7(a)において、人体画像5に対して正面方向に位置する撮像するカメラ6aで人体画像5を撮像した内容に応じたものになる。
CPU31aは、上述したような処理で主動画を生成すると、生成した主動画が大型モニタ装置32で動画として表示されるように表示処理部31fで生成した主動画に応じたフレーム画像を順次、大型モニタ装置32へ出力する内容の制御を表示処理部31fに対して行う。
その結果、図14に示すように、大型モニタ装置32の画面32aの全体に、正面方向から見られたバーチャルインストラクターの人体画像が各種動作を行う内容の動画のフレーム画像f1〜f6が順次表示されるようになり、ユーザは、エアロビクスの動作を最も把握しやすい場合が多い正面方向から見たバーチャルインストラクターの動きに合わせてエアロビクスの各種動作を行うことになる。
一方、図13(a)に示す表示パターン選択メニュー40で第2ボタン40bが選択されると、動画表示プログラム36は次に、メニュー画面テーブル37の中から、図13(b)に示す視線方向選択メニュー41をCPU31eに読み出させて表示処理部31fの処理により、視線方向選択メニュー41を大型モニタ装置32の画面32aに表示させることを規定している。
視線方向選択メニュー41は方向受付手段に相当し、副動画用の視線方向の選択指定を受け付けるためのメニューであり、バーチャルインストラクターを右側面方向から見る場合の第1選択欄41a、左側面方向から見る場合の第2選択欄41b、背面方向から見る場合の第3選択欄41c、および俯瞰方向から見る場合の第4選択欄41dを有すると共に、決定ボタン41eおよび戻るボタン41fを有している。第1選択欄41a〜第4選択欄41dは、入力操作器33の上下キーおよび決定キーの入力操作により一または複数の指定選択を受け付けた状態にすることが可能になっており、各選択欄41a〜41dの少なくとも一つの指定選択を受け付けた状態で決定ボタン41eが、入力操作器33の上下キーおよび決定キーの操作により選択されると、指定選択を受け付けた状態の視線方向がCPU31aへ伝えられるようになっている。なお、戻るボタン41fが選択された場合は、図13(a)に示す表示パターン選択メニュー40へ表示するメニュー内容が切り替わるようにCPU31aは制御を行う。
図13(b)の視線方向選択メニュー41で、右側面方向に応じた第1選択欄41aが選択された場合、CPU31aは、図7(a)に示す人体画像5に対して右側面方向に位置するカメラ6bを用いて撮像した内容の副動画を主動画の生成処理と並列的に行うように表示処理部31fを制御する。なお、表示処理部31fは、メインとなる主動画の方を副動画に比べて大きいサイズで生成するようにしているので、副動画の生成の際には、各モーションデータに含まれる画素データを適宜間引き、主動画より少ない画素数で副動画を生成することで、副動画の生成に係る処理負担を低減する(他の方向からの副画像でも同様)。
また、図15(a)に示すように、表示処理部31fは、生成した右側面方向の副動画S21を、主動画S1の左下隅S1bに配置して、主動画S1と副動画S21とを組み合わせた状態のフレーム画像を生成して表示処理を行う。これにより、ユーザは、正面方向の主動画S1をメインにしてエアロビクス用の各種動作を確認できると共に、右側面方向の副動画S21で、補足的に右側面方向からエアロビクス用の動作も確認でき、二方向から見た内容で各種動作を把握してエクササイズを行えるようになる。
図13(b)の視線方向選択メニュー41で、左側面方向に応じた第2選択欄41bが選択された場合、CPU31aは、図7(a)に示す人体画像5に対して左側面方向に位置するカメラ6cを用いて撮像した内容の副動画を主動画の生成処理と並列的に行うように表示処理部31fを制御する。この場合、図15(a)に示すように、表示処理部31fは、生成した左側面方向の副動画S22を、主動画S1の右下隅S1aに配置して、主動画S1および副動画S22を組み合わせた状態のフレーム画像を生成して表示処理を行う。
また、図13(b)の視線方向選択メニュー41で、背面方向に応じた第3選択欄41cが選択された場合、CPU31aは、図7(a)に示す人体画像5に対して背面方向に位置するカメラ6dを用いて撮像した内容の副動画を主動画の生成処理と並列的に行うように表示処理部31fを制御する。この場合、図15(a)に示すように、表示処理部31fは、生成した背面方向の副動画S23を、主動画S1の左上隅S1cに配置して、主動画S1および副動画S23を組み合わせた状態のフレーム画像を生成して表示処理を行う。
さらに、図13(b)の視線方向選択メニュー41で、俯瞰方向に応じた第4選択欄41dが選択された場合、CPU31aは、図7(a)に示す人体画像5に対して俯瞰方向に位置するカメラ6eを用いて撮像した内容の副動画を主動画の生成処理と並列的に行うように表示処理部31fを制御する。この場合、図15(a)に示すように、表示処理部31fは、生成した俯瞰方向の副動画S24を、主動画S1の右上隅S1dに配置して、主動画S1および副動画S24を組み合わせた状態のフレーム画像を生成して表示処理を行う。
なお、図13(b)の視線方向選択メニュー41では、各選択欄41a〜41dはユーザが所望する方向の数だけ選択することができ、例えば、第2選択欄41bのみを選択した場合、図15(b)に示すように、主動画S1の右下隅S1aに左側面方向からバーチャルインストラクターを見た内容の副動画S22が配置されたフレーム画像が大型モニタ装置32の画面32aに表示される。また、図13(b)の視線方向選択メニュー41で第1選択欄41aおよび第2選択欄41bの2つを選択した場合、図1に示すように、主動画S1の左下隅および右下隅に右側面方向および左側面方向からそれぞれバーチャルインストラクターを見た内容の副動画S21および副動画S22が配置されたフレーム画像が大型モニタ装置32に表示される。
さらに、図13(b)の視線方向選択メニュー41で第1選択欄41a〜第3選択欄41cの計3つを選択した場合、図15(c)に示すように、主動画S1の右下隅S1a、左下隅S1bおよび左上隅S1cに、左側面方向、右側面方向および背面方向からそれぞれバーチャルインストラクターを見た内容の副動画S21〜S23が配置されたフレーム画像が大型モニタ装置32の画面32aに表示される。なお、図1および図15(a)〜図15(c)に示すフレーム画像は一例にすぎず、視線方向選択メニュー41の各選択欄41a〜41dの選択状況に応じて、様々なパターンで副動画が主動画S1に組み合わされて表示されることになる。
図16に示す第2フローチャートは、端末装置31(CPU31a)が行う表示処理に係る一連の処理内容(動画表示方法の内容)を整理したものである。なお、第2フローチャートは、端末装置31(端末ユニット30)がサーバ装置10から、動画生成に必要なデータ等を受信して、図13(a)の表示パターン選択メニュー40が大型モニタ装置32の画面32aに表示された状態からの処理内容を示している。
この第2フローチャートで、まず、端末装置31は、表示パターン選択メニュー40で、主動画のみを表示するパターンの第1ボタン40aまたは主動画および副動画を表示するパターンの第2ボタン40bのいずれのボタンが選択されたかを判断する(S10)。第1ボタン40aが選択された場合(S10:主動画のみ)、端末装置31は、サーバ装置10から送信されたメニュー内容のデータにおいて最初の時間単位で規定されるモーションデータに基づき正面方向からバーチャルインストラクターを見た内容の主動画S1のみを生成する(S14)。
また、第2ボタン40bが選択された場合(S10:主動画+副動画)、端末装置31は、図13(b)の視線方向選択メニュー41を大型モニタ装置32の画面32aに表示して、いずれの視線方向が選択欄41a〜41dを介して選択されたかを判断する(S11)。いずれの視線方向も選択されていない場合(S11:NO)、端末装置31は、選択待ちの状態となる。
また、いずれかの視線方向が選択された場合(S11:YES)、端末装置31は、主動画S1と、選択された視線方向に応じた副動画(副動画S21〜S24の中の少なくともいずれか1つ)を生成し(S12)、生成した副動画を例えば図15(a)〜図15(c)に示すように、主動画S1の中に配置した組合動画(フレーム画像)を生成する(S13)。それから、端末装置31は、S13の段階またはS14の段階で生成した動画の表示処理を行い(S15)、メニュー内容のデータが規定する最後の時間帯まで処理が終了したか否かを判断する(S16)。最後の時間帯まで処理が終了すれば(S16:YES)、端末装置31は一連の処理を終了する。
また、最後の時間帯まで処理が終了しておらず(S16:NO)、最初のS10の段階で、主動画のみが選択されていると(S10が「主動画のみ」のとき)、端末装置31は次の処理対象となる時間単位に対応付けられたモーションデータに基づき主動画を生成する(S14)。さらに、最後の時間帯まで処理が終了しておらず(S16:NO)、S11の段階で、いずれかの視線方向が選択されていると(S11がYESのとき)、端末装置31hは次の処理対象となる時間単位に対応付けられたモーションデータに基づき主動画および副動画を生成する(S12)。
以上のような処理を、端末装置31が行うので、ユーザが望めば、バーチャルインストラクターを正面方向から見た主画像に加えて、正面方向以外の方向からバーチャルインストラクターを見た副画像も同時に表示でき、正面方向からでは分かりにくい動作等も副画像で確認でき、ユーザがエアロビクス動作を効率的に習得することに役立てられる。なお、上述した説明ではメインコンテンツに係る表示処理を述べたが、表示するエクササイズの内容が固定であるウォーミングアップ等については、規定された内容に従って端末装置31のCPU31aは動画の生成および表示処理を行うことになる。
また、本発明は、上述した説明内容に限定されるものではなく種々の変形例の適用が考えられる。例えば、エクササイズの種類はエアロビクスに限定されるものではなく、ストレッチ、ヨガ、ストリートダンスなどにも適用することが可能である。
また、図1に示すように、サーバ装置10は、有線のネットワークケーブルで受付端末装置2と接続されているが、各種メニューを表示する装置とは無線のネットワークまたはインターネットのような広域のネットワークを用いてサーバ装置10と接続するようにしてもよい。このようにすれば、自宅のパーソナルコンピュータまたは携帯電話機を用いて必要な情報の入力、施設利用の予約等をサーバ装置10に対して行えるようになり、ユーザの利便性を高められる。
一方、システム仕様の簡易化を図る場合は、メニュー表示を行う受付端末装置2、サーバ装置10および端末ユニット30が行う処理を、単一の装置(コンピュータ)で行うようにしてもよい。この場合、単一の装置に接続されたモニタに図3(a)〜(c)に示すような各種メニューが表示されてユーザから情報の入力を受け付けると共に、動作データベース(図6参照)およびパターンデータベース(図9参照)を単一の装置が備えることになる。さらに、単一の装置に記憶されたコンピュータプログラムが、単一の装置に、各種メニューで入力を受け付けた情報の内容に対応付けられたパターンをパターンデータベースから特定させる処理、特定されたパターンから各時間単位のモーションデータを読み出す処理、読み出したモーションデータに基づき異なる複数の方向から人体画像5(バーチャルインストラクター)が見られた内容の動画(主動画および副動画)を方向ごとにそれぞれ生成させる処理、生成させた方向ごとの動画(主動画および副動画)の表示処理等を行わせることになる。
また、副動画の表示を行うか否かは、図13(a)の表示パターン選択画面40でユーザの選択に委ねているが、ユーザの選択に係る処理の簡略化を図る仕様にする場合は、常に主動画および副動画を表示する仕様にしてもよい。さらに、副動画に応じた視線方向は、図13(b)の視線方向選択メニュー41でユーザの選択に委ねているが、このようなユーザの選択に係る処理の簡略化を図る場合には、正面方向以外のいずれかの視線方向に固定して副動画を生成する仕様にすることも可能である。
さらにまた、ユーザの選択に係る処理の簡略化を図った上で、さまざまな視線方向からの副動画をユーザに提示できるようにする変形例も考えられる。この変形例の場合は、端末装置31のCPU31aが方向選択手段として、正面方向以外の図7(a)に示す「右側面」「左側面」「背面」「俯瞰」の方向の中から少なくとも1つの方向を順次切り替えて選択し、選択した方向を他方向にして副動画を生成する。
このようにCPU31aが順次方向を選択する変形例の場合でも、フレーム画像の形態としては、図15(b)に示すように1つの副動画を表示する形態、図1に示すように2つの副動画を表示する形態、または図15(c)に示すように計3つの副動画を表示する形態のいずれかをユーザが指定するようにしてもよく、または形態を固定にしてもよい。この際、図15(b)に示す形態では、1つの副動画が「右側面」「左側面」「背面」「俯瞰」から見たバーチャルインストラクターの内容に自動で順次(たとえば、図10のパターン1で示す時間単位毎に)切り替えられる。
同様に、図1に示す形態では、「右側面」「左側面」「背面」「俯瞰」の順の中より、連続する2つの方向が順次選択されて、計2つの副動画が、2つの選択された方向から見たバーチャルインストラクターの内容に自動で切り替えられることになる。さらに、図15(c)に示す形態では、「右側面」「左側面」「背面」「俯瞰」の順の中より、連続する3つの方向が順次選択されて、計3つの副動画が、3つの選択された方向から見たバーチャルインストラクターの内容に自動で切り替えられることになる。
また、各視線方向(ユーザが動体を見る各方向)に応じた副動画の主動画S1の中における配置箇所は、図1および図15(a)〜(c)のような位置に限定されるものではなく、適宜配置箇所を入れ替えることも可能であり、主動画S1の隅以外に、上中央、下中央、左中央、右中央等にも配置するようにしてもよい。さらに、副動画の配置箇所は、ユーザが選択できるようにしてもよく、この場合、図13(b)の視線方向選択メニュー41で、視線方向が選択された後に、副動画の配置箇所を選択する配置箇所選択メニューを大型モニタ装置32に表示する。この配置箇所選択メニューでは、副動画の配置箇所として、主動画S1の右上隅、上中央、左上隅、左中央、左下隅、下中央、右下隅、右中央などの中からいずれかを入力操作器33の操作で選択できるようになっており、選択された箇所がCPU31aに伝えられると、CPU31aは選択された箇所に副動画を配置するように表示処理部31fを制御する。それにより、ユーザが所望する箇所に所望する視線方向の副動画を配置でき、ユーザの使い勝手に応じた表示形態を提示できる。
さらに、バーチャルインストラクターを見る方向は、図7(a)に示すように「右側面」「左側面」「背面」「俯瞰」以外にも、正面に対して右斜め方向、正面に対して左斜め方向、俯瞰から右斜め方向などように、正面方向以外の様々な方向をユーザが自由に指定できるようにしてもよい。これらの方向を指定するには、図7(a)のような内容のメニュー画面を表示して、入力操作器33の上下左右キーでカメラ位置をユーザに指定させるようにすることが方向を指定しやすく好適となる。また、方向以外にも、人体画像5からカメラまでの距離、カメラのZ軸方向における上下の角度(チルト)、Z軸周りの左右の角度(パン)などをユーザが指定できるようにして、より詳細にユーザが所望する条件でバーチャルインストラクターを見た内容の副動画を生成するようにしてもよい。
さらにまた、図17(a)は、生成した主動画S1および副動画S21、S22の配置に関する別の変形例を示している。この変形例では、大型モニタ装置32の画面32aを計3つのエリア61、62、63に区切ると共に、第1エリア61のみを他のエリア62、63より大きくして区別して大きいサイズの主動画S1を配置し、第2エリア62には、図13(b)の視線方向選択メニュー41で選択された右側面方向からの副動画S21を配置し、第3エリア63には左側面方向からの副動画S22を配置する。それにより、この変形例では、主動画S1が副動画S21、S22と並べて配置されるので両者は一切重ならなくなり、主動画S1を常に全て見ることができる。なお、図17(a)の場合でも、配置する副動画の数は適宜増減可能であり、副動画の数が2つより多くなれば、エリア62、63を合わせた領域を、選択された視線方向の数で分割して各副動画を配置することになる。
また、図17(b)は、主動画S1および副動画S21〜S23の配置に関する更に別の変形例を示している。この変形例では、主動画S1および副動画S21〜S23が同じサイズで生成されており、それにより端末装置31の表示処理部31fの主動画S1の生成に係る処理負担が低減される。また、図17(b)では、大型モニタ装置32の画面32aが計4つのエリア65〜68に均等に四分割されて、同サイズの主動画S1および副動画S21〜S23が配置されているので、複数の異なる方向から、バーチャルインストラクターの動作内容を同等のレベルでユーザが確認したい場合に、図17(b)は好適な表示形態となる。なお、図17(b)でも、配置する副動画の数は適宜増減可能である。なお、図17(a)、図17(b)の変形例でも、主動画S1、副動画S21、S22等の配置箇所を選択できるメニューまたは操作ウインドウ等を設けて、ユーザによる入力操作器33の操作により、主動画S1、副動画S21、S22等の配置箇所を適宜入れ替え可能にしてもよい。
図18(a)(b)は、2台のモニタ装置70、71を、生成した動画の表示出力先として使用する場合の変形例を示している。この変形例の場合、端末装置31′は、表示処理部31f′に接続される主出力部38′および副出力部39′を新たに設けると共に、主出力部38′に主出力先となる主モニタ装置70を接続し、副出力部39′に副出力先となる副モニタ装置71を接続した仕様にする。そして、端末装置31′は、生成した主動画S1を主出力部38′から出力して主モニタ装置70に表示させる処理を行うと共に、複数の副動画(たとえば計4つの副動画S21〜S24)を生成して、これら複数の副動画を組み合わせた状態で副出力部39′から出力して副モニタ装置71の四分割したエリアに、各副動画をそれぞれ表示させる処理を行う。この変形例では、ハード的に別のモニタ装置70、71に分けて主動画S1と複数の副動画(副動画S21〜S24)が表示されるので、一段と主動画S1を中心にバーチャルインストラクターの動作を確認しやすくなると共に、各副動画も補助的に利用できるようになる。
さらに、ユーザからの操作の受付は入力操作器33で行う以外に、遠隔操作が可能なリモコン装置で行えるようにすること、または大型モニタ装置32(変形例のモニタ装置70、71も同等)の画面32aにタッチパネル方式のものを採用して、画面32aのタッチ動作で行えるようにしてもよい。このようにすることで、運動動作中もユーザは操作入力を行いやすくなるので、図15(a)〜(c)等に示す副動画の位置を、リモコン操作または画面32aに対するタッチ動作で指定可能にして、運動中に副動画の配置を変更できるようにしてもよく、同様に図17(a)(b)および図18(b)等に示す場合でも、運動中に副動画等の配置箇所を入れ替えられるようにしてもよい。また、上述した各種変形例の内容は、適宜組み合わせて適用することも勿論可能である。