(本発明の基礎となった知見)
近年、店舗に頻繁に来館できないユーザのために、トレーナがインターネットを介してトレーニングメニューを提示し、ユーザがトレーニングメニューに提示されたトレーニングを自宅等で行う、オンライントレーニングシステムが展開されている。このオンライントレーニングシステムは、トレーナがユーザごとに適したトレーニングメニューを作成し、これをユーザに通知する。そして、ユーザは、都合のよい時間帯にトレーニングメニューとして通知されたコンテンツを再生してトレーニングを実施する。ここで、トレーニングとは、フィットネスやリハビリ、スポーツトレーニングといった運動についてだけでなく、装置の取り扱い説明、学習塾等の学習である。
一般的なオンライントレーニングでは、ユーザに効果的で、かつオンライントレーニングを継続させるために、トレーニングの運動負荷レベルとユーザの体力レベルとを比較し、この差異に応じた指示、激励を与える方法が知られている。
このような、トレーニングメニューにおいて、トレーニングを正しく行わない場合、トレーニングを正しく行った場合に比べ、トレーニングの効果が小さい。トレーニングを正しく行うためには、姿勢、呼吸法、重心の位置などといった数多くの留意点(指導内容)が存在する。
このようなオンライントレーニングでは、トレーナによる見本映像と、見本映像に同期したトレーナによる留意点である解説音声とをユーザに提供するが、コンテンツの再生時間内でユーザに伝えられる留意点の数は限られており、全ての留意点を伝えることはできない。
また、ユーザが店舗でトレーニングを実施する場合には、トレーナがユーザのトレーニングの状況をリアルタイムに見ることができるため、トレーナがトレーニングを正しく行うための数多くの留意点のうち、ユーザに最も適した留意点を提供することができる。しかし、オンライントレーニングシステムでは、トレーナがユーザのトレーニングの状況をリアルタイムに見ることができないため、ユーザのトレーニングの状況に応じて適切な留意点を提供し難いという課題がある。
このため、トレーニングの運動負荷レベルとユーザの体力レベルとの差異に応じた指示を与えるだけでなく、ユーザのトレーニングの状況に応じて適切な留意点を提供する必要がある。これら全ての留意点を提供し、正しいトレーニングを行うことで、高いトレーニング効果を得たいという要望がある。このような要望を満たすための技術的な解決策に関して、検討はされていなかった。
このような課題を解決するために、ユーザがオンラインでトレーニング用のコンテンツを再生しながらトレーニングを実施するためのオンライントレーニングのサーバ装置であって、前記コンテンツとして配信する映像データ及び前記映像データに対応する複数の音声データを格納している記憶部と、前記記憶部から前記トレーニング用のコンテンツとして、前記映像データと前記複数の音声データのうち1つの音声データとを選択する制御部とを備えている。そして、前記制御部は、前記コンテンツの選択において、前記ユーザが再生した前記複数の音声データの各々の再生回数に基づく前記ユーザのトレーニングの習得度に応じ、前記映像データに対応する前記複数の音声データの中から1つの音声データを選択する。
この構成によれば、複数の音声データの各々の再生回数に基づくユーザの習得度に応じ、複数の音声データの中から1つの音声データを制御部が選択する。このため、ユーザは、同一のトレーニングを行う場合でも、異なる留意点を含む音声データを聞くことができるため、トレーナが行うユーザに対する応答が減少し、正しいトレーニングを行うことができる。このため、より高いトレーニング効果を得ることができる。
したがって、トレーナの負担削減と、ユーザに対して効果的なトレーニングを行わせることができる。
なお、映像データや音声データを記憶部に格納していけば、オンライントレーニングで用いる映像データや音声データの制作工数を削減することができる。
また、このオンライントレーニングのサーバ装置を用いてトレーニングを継続することで、より高いトレーニング効果を得ることができる。
また、このオンライントレーニング方法では、ユーザがオンラインでトレーニング用のコンテンツを再生しながらトレーニングを実施することを支援するオンライントレーニング方法であって、前記コンテンツとして配信する映像データ及び前記映像データに対応する複数の音声データを格納する記憶ステップと、前記記憶部から前記トレーニング用のコンテンツとして、前記映像データと前記複数の音声データのうち1つの音声データとを選択する制御ステップとを含む。前記制御ステップは、前記コンテンツの選択において、前記ユーザが再生した前記複数の音声データの各々の再生回数に基づく前記ユーザのトレーニングの習得度に応じ、前記映像データに対応する前記複数の音声データの中から1つの音声データを選択する。
この方法においても同様の作用効果を奏する。
また、このオンライントレーニングのプログラムでは、オンライントレーニング方法をコンピュータに実行させる。
このプログラムにおいても同様の作用効果を奏する。
また、このオンライントレーニングのサーバ装置では、前記習得度は、前記ユーザが再生した音声データの再生回数を、前記ユーザがトレーニングを習得するために、選択された1つの音声データに依存して定まる値である習得再生回数で除算して算出される。
この構成によれば、音声データに応じた習得再生回数が設定されているため、ユーザが自己の習得度を確認しながらトレーニングを行うことができる。このため、ユーザは、トレーニングを確実に習得することができる。
また、このオンライントレーニングのサーバ装置では、前記習得度は、前記ユーザが再生した音声データの再生回数に、前記ユーザが店舗に来館してトレーナから直接指導を受けて前記トレーニングを行った回数を加算した値を、前記ユーザがトレーニングを習得するために、選択された1つの音声データに依存して定まる値である習得再生回数で除算して算出される。
この構成によれば、オンラインによるトレーニングと、店舗で行ったトレーニングも習得再生回数に加算されて習得度が算出されるため、ユーザの利用環境に合わせ易い。また、このような習得度が自動的に算出されるため、店舗側にとっても、習得再生回数に加算する作業を削減することができる。このため、このオンライントレーニングのサーバ装置では、利便性が高い。
また、このオンライントレーニングのサーバ装置では、前記映像データに対応する前記複数の音声データは、予め順序付けされた自然数N個の音声データである。また、前記制御部は、N以下の値である自然数M番目の音声データの前記習得度が一定値未満であるか否かを判断し、M番目の音声データの前記習得度が前記一定値未満である場合に、M番目の音声データを選択し、M番目の音声データの前記習得度が前記一定値以上である場合で、M+1>Nの場合に、1番目の音声データを選択し、M番目の音声データの前記習得度が前記一定値以上である場合で、M+1≦Nの場合に、M+1番目の音声データの前記習得度が一定値未満であるか否かを判断する。
この構成によれば、トレーニングを正しく行うための数多くの留意点を、複数の音声データとして1つの映像データに紐付けることで、ユーザが同一のトレーニングを行う場合でも、異なる留意点を音声として聞くことができる。音声データごとにユーザの習得度を取得し、習得度が一定値未満の一番目の音声データを決定し、映像データとともに決定した音声データを自動的に配信することができる。
また、このオンライントレーニングのサーバ装置では、前記制御部は、前記映像データに対応する前記複数の音声データのうち、前記習得度の最も低い音声データを選択する。
この構成によれば、音声データごとにユーザの習得度を取得し、習得度が一定値未満である音声データの中から習得度が一番低い音声データを決定し、映像データとともに決定した音声データを自動的に配信することができる。
また、このオンライントレーニングのサーバ装置では、前記制御部は、さらに、前記ユーザに関する情報であるユーザ属性が、所定のユーザを対象とするトレーナに関する情報である対象属性を満たしているか否かを判断し、前記ユーザ属性が前記対象属性を満たしている場合に、前記ユーザ属性が前記対象属性を満たし、かつ、前記習得度が一定値未満の中から、1つの音声データを決定し、前記ユーザ属性が前記対象属性を満たしていない場合に、前記N個の音声データから1つの音声データを決定する。
この構成によれば、予め順序付けされた音声データから、1つの音声データを決定し、映像データとともに決定した音声データを自動的に配信することができる。
また、このオンライントレーニングのサーバ装置では、前記記憶部には、前記トレーニングを実施したユーザが行ったトレーニングの履歴を保存する。前記制御部は、前記履歴から前回実施したトレーニングと今回実施するトレーニングとの期間が一定期間以内であるか否かを判断し、前記期間が一定期間以内でなければ、前記前回実施したトレーニングの音声データを選択する。
この構成によれば、音声データについて再生を行った後に、一定期間経過して2回目の再生を行った場合では、ユーザが1回目の内容を忘れてしまっており、2回目の再生で習得できない可能性がある。このため、一定期間が経過していれば、前回実施したトレーニングの音声データを選択するため、ユーザは、トレーニングを正しく行うことができる。
また、このオンライントレーニングのサーバ装置では、前記制御部は、取得した前記映像データの再生時間と選択した1つの前記音声データの再生時間とが一致しているか否かを判断する。前記映像データの再生時間と前記音声データの再生時間とが異なる場合に、前記映像データの再生時間と等しくなるように前記音声データの再生時間を変更する。
この構成によれば、映像データの再生時間と音声データの再生時間とが異なっていても、映像データの再生時間と等しくなるように音声データの再生時間を変更するため、ユーザは、違和感なくトレーニングを行うことができる。
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示す。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。
(提供するサービスの全体像)
まず、本実施の形態におけるオンライントレーニングシステムが提供するサービスの全体像について、図1A、図1B及び図1Cを用いて説明する。
図1Aは、オンライントレーニングシステムが提供するサービスの全体像を示す図である。図1Bは、機器メーカがデータセンタ運営会社に該当する例を示す図である。図1Cは、機器メーカ及び管理会社の両者又はいずれか一方がデータセンタ運営会社に該当する例を示す図である。
図1Aに示すように、オンライントレーニングシステムは、コーチンググループ100、データセンタ運営会社110、ユーザグループ120を備える。コーチンググループ100は、1つ以上存在している。また、ユーザグループ120も、1つ以上存在している。
コーチンググループ100は、例えばフィットネスクラブなどの企業、団体又は個人事業であり、その規模を問わない。コーチンググループ100には、1名以上のトレーナ101が所属する。トレーナ101は、1台以上のトレーナ機器102を所有する。このトレーナ機器102は、インターネットと接続可能な機器(例えば、スマートフォン、タブレット、パーソナルコンピュータ(PC)又はテレビ等)を含む。このトレーナ機器102は、それ自身ではインターネットと接続不可能であってもよく、ホームゲートウェイ(図示せず)を介してインターネットと接続可能となる機器を含んでいてもよい。
ユーザグループ120は、例えば企業、団体又は家庭等であり、その規模を問わない。ユーザグループ120には、1名以上のユーザ121が属する。
ユーザ121は、1台以上のユーザ機器122を所有する。ユーザ機器122は、インターネットと接続可能な機器(例えば、スマートフォン、タブレット、パーソナルコンピュータ(PC)又はテレビ等)を含む。
データセンタ運営会社110は、クラウドサーバ111(サーバ装置の一例)を備える。クラウドサーバ111は、インターネットを介して様々な機器と連携する仮想化サーバである。クラウドサーバ111は、主に通常のデータベース管理ツール等で扱うことが困難な巨大なデータ(ビッグデータ)等を管理する。データセンタ運営会社110は、データの管理、クラウドサーバ111の管理、及びそれらを行うデータセンタの運営等を行っている。データセンタ運営会社110が行っている役務の詳細については後述する。
なお、データセンタ運営会社110が管理するサーバは、仮想化サーバに限定されず、CPU、メモリ、HDD等の外部記憶装置を物理的に備えるコンピュータでもよく、パーソナルコンピュータであってもよい。
ここで、データセンタ運営会社110は、データの管理又はクラウドサーバ111の管理のみを行っている会社に限らない。例えば、図1Bに示すように、複数の機器のうちの一つの機器を開発又は製造している機器メーカが、データの管理又はクラウドサーバ111の管理等を行っている場合は、この機器メーカがデータセンタ運営会社110に該当する。また、データセンタ運営会社110は、一つの会社に限らない。例えば、図1Cに示すように、機器メーカ及び管理会社が共同又は分担してデータの管理又はクラウドサーバ111の管理を行っている場合は、両者又はいずれか一方がデータセンタ運営会社110に該当する。
次に、上記のオンライントレーニングシステムにおける情報の伝達について説明する。
まず、トレーナ101は、トレーナ機器102を用いて、ユーザがトレーニングに使用するコンテンツである映像ファイル(映像データの一例)と音声ファイル(映像デファイルの一例)とをクラウドサーバ111に登録する(矢印134)。本実施の形態で言うコンテンツとは、音声を含まない映像と、この映像に対応した音声とからなり、トレーナがスタジオ等で録画及び録音を行った映像のデータ及び音声のデータであり、クラウドサーバ111から配信される動画のデータである。本実施の形態で言う映像とは、トレーナ101の動きを録画した動画像そのものであり、音声を含まない動画像である。また、本実施の形態で言う音声とは、映像を録画する際に同時に録音されるトレーナ101の音声である。
次に、ユーザ121は、このコンテンツを取得する前に、ユーザ機器122を用いて、データセンタ運営会社110のクラウドサーバ111から初期登録を行う。ユーザ機器122は、初期登録を行うための後述する新規会員情報登録画面をクラウドサーバ111から取得し、ユーザ機器122上に新規会員情報登録画面を表示する(矢印131)。ユーザ121は、この新規会員情報登録画面上で会員情報を入力する。ユーザ121がユーザ機器122上で入力した会員情報は、クラウドサーバ上で管理される(矢印132)。会員情報の登録は、オンライントレーニングサービスへの入会時に行うことを想定している。
次に、トレーナ101は、トレーニングメニューを作成するため、トレーナ機器102を用いて、データセンタ運営会社110のクラウドサーバ111に入力を行うための登録画面と、ユーザ121が入力した会員情報とを取得する(矢印133)。つまり、トレーナ機器102は、トレーナ機器102上に登録画面と、ユーザ121が入力した会員情報とを表示する(矢印133)。トレーナ101は、トレーナ機器102から、ユーザ121の会員情報等を参照し、ユーザ121に適したトレーニングメニューを作成するための操作を行う。トレーナ101がトレーナ機器102上で入力した会員情報は、クラウドサーバ111上で管理される(矢印134)。
次に、ユーザ121は、ユーザ機器122を用いて、データセンタ運営会社110のクラウドサーバ111からトレーニングメニューを取得し、ユーザ機器122上にアプリケーションの画面を表示する(矢印131)。ユーザ121は、トレーナ101が入力したパーソナルトレーニングメニューをユーザ機器122に表示させ、提示されたトレーニングメニューから、再生したいコンテンツを選択して再生(視聴)を指示する(矢印132)。
ユーザ121がコンテンツの再生を指示すると、クラウドサーバ111が指示されたコンテンツの再生に必要な映像ファイルと音声ファイルとを取得し、ユーザ機器122に配信する(矢印131)。ユーザ機器122は、コンテンツを再生することができる状態となる。
ユーザ121がコンテンツを再生すると、再生した履歴がクラウドサーバ111に送信される(矢印132)。なお、ユーザ121がこのオンライントレーニングサービスを利用するためにクラウドサーバへアクセスした履歴及び、アプリケーション上で操作した操作履歴等をクラウドサーバに保存してもよい(矢印132)。
(実施の形態)
本実施の形態は、オンラインフィットネスサービスにおいて、ユーザがトレーニングメニューのコンテンツを再生する際に、ユーザに適した留意点を音声ファイルとして提供する技術に関する。
本実施の形態におけるオンライントレーニングシステムで用いるサーバ装置、オンライントレーニング方法及びオンライントレーニングのプログラムについて説明する。
図2は、オンラインフィットネスシステムの構成の一例を示すブロック図である。
図2に示すように、オンラインフィットネスシステムは、会員情報やコンテンツを管理するクラウドサーバ111、トレーニングメニューのコンテンツとして映像ファイルや音声ファイルを登録したり、ユーザ毎のトレーニングメニューを入力したりするために主にトレーナが使用するトレーナ機器102、トレーナが作成したトレーニングメニューを参照したり、コンテンツを再生したりするために主にユーザが使用するユーザ機器122から構成される。
クラウドサーバ111は、会員情報記憶部201、映像音声記憶部202(記憶部の一例)、コンテンツメタ記憶部203、音声メタ記憶部204、店舗履歴記憶部205、トレーニングメニュー記憶部206、トレーニング履歴記憶部207、店舗プログラム情報記憶部208、映像音声登録制御部209(制御部の一例)、映像音声配信制御部210(制御部の一例)、動画配信部220、画面情報記憶部221、通信部222及び主制御部223(制御部の一例)を有している。
会員情報記憶部201は、オンラインフィットネスサービスに入会している会員の会員情報を管理する。映像音声記憶部202は、トレーニングメニューとして配信するコンテンツの映像ファイルと音声ファイルとを管理する。コンテンツメタ記憶部203は、個々のトレーニングのコンテンツのメタデータと映像メタデータとを管理する。音声メタ記憶部204は、コンテンツの音声メタデータを管理する。店舗履歴記憶部205は、各ユーザがフィットネスジム等を行う店舗におけるトレーニングの履歴(トレーニング履歴)を管理する。トレーニングメニュー記憶部206は、各ユーザ向けに作成された後述するパーソナルトレーニングメニュー一覧表501を管理する。トレーニング履歴記憶部207は、パーソナルトレーニングメニュー一覧表501に従ってユーザがトレーニングした実績を管理する。店舗プログラム情報記憶部208は、フィットネスジムが店舗で実施している店舗プログラムのスケジュール情報や店舗プログラムの構成情報を管理する。映像音声登録制御部209は、トレーニングとして配信するコンテンツの映像ファイルと音声ファイルの登録を制御する。映像音声配信制御部210は、トレーニングメニューの動画配信時に映像ファイルとともに配信する音声ファイルを決定して映像ファイルと音声ファイルとを動画として配信するための制御を行う。動画配信部220は、ユーザ機器122にコンテンツを配信する。画面情報記憶部221は、トレーナ101が使用するトレーナ機器102やユーザ121が使用するユーザ機器122に表示するためのアプリケーション画面やWebサイトの画面を作成するための画面情報を管理する。通信部222は、トレーナ向け端末であるトレーナ機器102および会員向け端末であるユーザ機器122と通信する。主制御部223は、映像音声配信制御部210、トレーナ機器102、ユーザ機器122からの入力を受け付け、会員情報記憶部201、映像音声記憶部202、コンテンツメタ記憶部203、音声メタ記憶部204、店舗履歴記憶部205、トレーニングメニュー記憶部206、トレーニング履歴記憶部207、店舗プログラム情報記憶部208にデータを受け渡したり、入力に応じた画面を作成して通信部222を介してトレーナ機器102、ユーザ機器122に受け渡したりする。
なお、トレーナ機器102、及びユーザ機器122は、クラウドサーバ111の主制御部223が作成したアプリケーション画面や、Webサイトの画面もしくはその画面を生成するためのHTMLファイルを取得して表示すればよい。トレーナ機器102、及びユーザ機器122は、通信機能とブラウザ機能を持つTV、PC、タブレット、スマートフォン、携帯電話等の汎用機器により実現可能であるため詳細な説明は省略する。
図3は、会員情報を模式的に示した図である。
図3に示すように、会員情報一覧表301は、会員情報記憶部が保持している。会員情報一覧表301は、複数のユーザを識別するための「ユーザID」を含む。また、ユーザの基本情報として、「ユーザ氏名」、ユーザの「生年月日」、ユーザの「性別」、ユーザの「会員種別」を含む。なお、会員情報一覧表301におけるこれらの項目は、一例でありこれらの項目に限定されない。
ユーザには、フィットネスジムを行っている店舗に通いながらオンラインフィットネスサービスを実施する(店舗のトレーナから直接指導を受ける)ユーザと、店舗には通わずにオンラインフィットネスを実施するユーザとが存在する。ここでは、店舗に通わないユーザには会員種別として「オンライン」を適用し、店舗に通うユーザの会員種別として「レギュラー」、「プレミアム」などの店舗で利用している会員種別を適用する。また、ユーザの基本情報には、店舗に通うユーザがどの店舗に通っているかという「店舗識別」を含んでいてもよい。図3の1行目の項目と、項目に対応する2行目からが、1人のユーザの情報となっており、図3の例では5人分のユーザの情報が管理されている。
図4は、ユーザが会員情報を登録する新規会員情報登録画面の一例を示す図である。
図2及び図4に示すように、新規会員情報登録画面302は、画面情報記憶部221が保持している。新規会員情報登録画面302は、ユーザが初期登録を行うための初期登録画面であり、会員情報を入力するための入力枠を含む。本実施の形態では、会員情報として、「ユーザ氏名」、ユーザの「生年月日」、ユーザの「性別」、ユーザの「会員種別」、ユーザの通う「店舗識別」を管理しており、これらの情報を入力するための入力枠を含む。なお、新規会員情報登録画面302におけるこれらの項目は、一例でありこれらの項目に限定されない。
本実施の形態では、ユーザは、オンラインフィットネスサービス入会時に会員情報を入力する。店舗に通うユーザは、この店舗への入会時にオンラインフィットネスサービスにも入会する。
ユーザは、オンラインフィットネスサービスに入会する際に、会員情報を入力するため、ユーザ機器122を用いてクラウドサーバ111にアクセスする。例えば、クラウドサーバ111が管理しているユーザ向けオンラインフィットネスのWebサイトにアクセスし、新規会員情報登録画面302にアクセスする。具体的には、クラウドサーバ111の主制御部223は、新規会員情報登録画面302へのアクセスを検知し、画面情報記憶部221から、画面を作成するために必要なHTMLファイルを取得して新規会員情報登録画面302を作成して通信部222を介してユーザ機器122に送信する。そして、ユーザ機器122は、ブラウザ等を用いて新規会員情報登録画面302を表示する。
ユーザは、ユーザ機器122が具備しているキーボード、ソフトウェアキーボード、テンキー、マウス等を用いて、新規会員情報登録画面302で「ユーザ氏名」、「生年月日」、「性別」、「会員種別」、「店舗識別」を入力し、登録ボタン303を押す。すると、入力された「ユーザ氏名」、「生年月日」、「性別」、「会員種別」、「店舗識別」といったユーザの会員情報がユーザ機器122からネットワーク300及び通信部222を介して主制御部223に送信される。
会員種別で「オンライン」が選択された場合では、「店舗識別」情報を入力不可、又は入力可能としてもよく、この入力された会員情報が会員情報一覧表301に登録されないようにしてもよい。
主制御部223は、会員情報記憶部201に管理されている会員情報一覧表301を参照し、使用されていない「ユーザID」を付与し、「ユーザID」、「ユーザ氏名」、「生年月日」、「性別」、「会員種別」、「店舗識別」を会員情報記憶部201に追加する。
登録ボタン303押下により、新規会員情報登録画面302のスクリプトが呼び出されて、ユーザ機器122の新規会員情報登録画面302で入力した会員情報一覧表301が、クラウドサーバのデータベースである会員情報記憶部201に格納される手順は、クラウドサービスの一般的な技術であるため、詳細な説明は省略する。
店舗に通うユーザの会員情報登録については、この店舗への入会時に、トレーナ101がトレーナ機器102を用いてユーザの会員情報の登録を行ってもよい。
図5は、コンテンツメタデータ情報を模式的に示した一例である。
本実施の形態では、トレーナは1つ以上のトレーニングコンテンツを組み合わせてトレーニングメニューを作成する。言い換えれば、トレーニングメニューは1つ以上のトレーニングコンテンツから構成される。そして、ユーザがトレーニングメニューを実施する際には、トレーニングの手本となるトレーニングのコンテンツを再生しながら行う。トレーニングコンテンツの構成要素として、1つの映像ファイルと複数の音声ファイルとが存在する。コンテンツの再生時に、ユーザに適した音声ファイルが選択され、映像ファイルと選択された音声ファイルとが動画としてユーザに再生されることとなる。トレーニングコンテンツの構成要素としては、1つの映像及び選択された1つの音声、すなわち映像ファイルと音声ファイルとは1対1で対応する。本実施の形態では、コンテンツメタデータ情報としては、トレーニングコンテンツに関するメタデータと、映像ファイルに関するメタデータとを含む。
図2及び図5に示すように、コンテンツメタデータ情報320は、コンテンツメタ記憶部203が保持している。コンテンツメタデータ情報320は、映像ファイルを識別する「映像ID」、「タイトル」、「再生時間」、「ジャンル」、「強化部位」を含む。なお、コンテンツメタデータ情報320におけるこれらの項目は、一例でありこれらの項目に限定されない。
「ジャンル」は、トレーニングメニューの作成時にトレーナが参照するための情報として、運動の種別を示すトレーニング特性に関する情報である。「強化部位」は、身体のどの部分を鍛えるかを示すトレーニング特性に関する情報である。なお、トレーニング特性はこれらに限定されず、例えばトレーニングコンテンツを再生してトレーニングするために、ユーザに望まれる熟練度合いを示す「熟練度」や、ユーザに望まれる体力の度合いを示す「運度強度」などを含んでいてもよい。
図5の1行目の項目と、この項目に対応する2行目からが、1つのコンテンツメタデータ情報となっており、配信可能なトレーニングコンテンツの数だけメタデータ情報が存在する。
図6は、音声メタデータ情報を模式的に示した一例である。
本実施の形態では、トレーニングメニューは1つ以上のコンテンツから構成されている。コンテンツの構成要素としては、1つの映像ファイルと1つ以上の音声ファイルとが存在する。ユーザがトレーニングを実施のためにコンテンツを再生する際には、1つ以上の音声ファイルからユーザに適した留意点が録音されている音声ファイルを選択する必要がある。このため、音声メタデータ情報には、対応する映像ファイルを特定するための情報と、ユーザに適した留意点が録音されている音声ファイルを選択するための情報とが含まれる。
図2及び図6に示すように、音声メタデータ情報330は、音声メタ記憶部204が保持している。音声メタデータ情報330は、「音声ID」、「対応映像ID」、「録音日時」、「録音店舗」、「スタジオ識別」、「プログラム識別」、「トレーナ識別」、「習得再生回数」、「対象属性」を含んでいる。なお、音声メタデータ情報330におけるこれらの項目は、一例でありこれらに限定されない。
「音声ID」は、音声ファイルを識別する識別子である。「対応映像ID」は、音声ファイルに対応する映像ファイルを特定する識別子である。「録音日時」は、音声が録音された日時を示す情報である。「録音店舗」は、音声が録音された店舗を示す情報である。「スタジオ識別」は、音声が録音されたスタジオを示す情報である。「プログラム識別」は、どのようなトレーニングプログラムで実施された際に録音されたトレーニングプログラムであるかを示す情報である。「トレーナ識別」は、どのトレーナが発声した音声であるかを示す情報、すなわち、「プログラム識別」を担当していたトレーナを示す情報である。「習得再生回数」は、ユーザがトレーニングを習得するために、選択された1つの音声データに依存して定まり、音声で解説されている留意点を習得するために必要な再生回数を示す情報である。「習得再生回数」は、トレーナにより任意で設定することができる。「対象属性」は、この音声で解説されている留意点がどのようなユーザ向け(ユーザ属性)の留意点であるかを示す情報である。本実施の形態において「対象属性」は、ユーザの年代を使用しているが、これに限定されず、例えば、性別や、運動目的などとしてもよい。
「対象属性」の値が「30代」のものは、30歳から39歳までのユーザに適した留意点であることを示す。また、対象属性の値が「全員」とは、全てのユーザに適した留意点であることを示す。
本実施の形態では、オンライントレーニングで用いる映像ファイルや音声ファイルの制作工数を削減するため、店舗のスタジオやジムエリアで行われているトレーニングプログラムを撮影(録画及び録音)して映像ファイル、音声ファイルとして利用することを想定している。また、トレーナの留意点についての音声の録音のみを行って、音声ファイルとして利用することも想定している。ここで、映像ファイルとは、録画された映像のデータであり、音声要素が含まれていない無音の映像のファイルを示す。ここで、音声ファイルとは、録音された音声のデータであり、映像要素が含まれていないファイルを示す。
店舗で行われているトレーニングプログラムは、トレーナが行う複数のトレーニングから構成されている。つまり、トレーニングプログラムを個々に分割したものがオンライントレーニングにおける1つのトレーニングである。なお、本実施の形態でいうトレーナが行うトレーニングとは、トレーナがスタジオ等で録画及び録音を行うための動作及び動作に伴う音声である。また、同一のトレーニングプログラムは、複数の店舗で実施されたり、同じ店舗でも同一の又は異なる日時で複数回実施されたりする。その際、店舗や日時によって指導するトレーナが異なるため、トレーニングプログラム中に発する留意点も変化する。
本実施の形態では、同一のトレーニングプログラムについては、初回のみ、ビデオカメラ等を用いて映像と音声(初回で録音した音声)とを撮影する。そして、トレーナによって、プログラム中に発する留意点が異なるため、初回で録音した音声とは異なる留意点について音声のみを録音(2回目以降の録音は音声のみを録音)して、初回に撮影した映像ファイルにこの音声ファイルを対応付けていくことで、1つの映像ファイルに対して複数の音声ファイルを管理する。
図7Aは、トレーナが映像ファイル及び音声ファイルを登録するための映像音声登録画面の一例を示す図である。図7Bは、トレーナが音声ファイルを登録する音声登録画面の一例を示す図である。映像音声登録画面は、トレーナが録画した映像ファイルと音声ファイルとを登録することができる画面である。
本実施の形態において、トレーニングコンテンツとしてユーザに動画を提供する際には、ビデオカメラ等を用いてトレーナが行うトレーニング(映像と音声)を撮影してコンテンツを作成する。この撮影時には、音声データも存在しているため、映像ファイルと音声ファイルとを両方とも登録することとなる。その後、映像ファイルに対応させる音声を録音する際には、音声のみを録音し、すでに登録済みの映像ファイルと対応付けて登録することとなる。
図2及び図7Aに示すように、映像音声登録画面401は、撮影したコンテンツ(動画ファイル)の名称である「動画ファイル名」を入力するための入力枠と、コンテンツの検索を開始するための検索ボタン402とを含む。最初に、トレーナが検索ボタン402を押下すると、トレーナ機器102もしくはクラウドサーバ111に配置されているコンテンツを閲覧することができ、そこからコンテンツを指定することで、「動画ファイル名」の入力枠に指定した「動画ファイル名」が入力される。端末内やネットワーク上のコンテンツを閲覧して指定する手順は、一般的なWebの機能であるため、ここでは説明を省略する。
映像音声登録画面401は、画面情報記憶部221に格納されている。映像音声登録画面401は、コンテンツメタデータ情報として「タイトル」、「ジャンル」、「強化部位」を管理している画面であり、これらの情報を入力するための入力枠を含む。また、音声メタデータ情報330として「録音店舗」、「スタジオ識別」、「プログラム識別」、「トレーナ識別」、「習得再生回数」、「対象属性」を管理しているため、これらの情報を入力するための入力枠を含む。また、映像音声登録画面401は、映像ファイル及び音声ファイルの登録を指示する映像音声登録ボタン403を含む。なお、映像音声登録画面401におけるこれらの項目は、一例でありこれらに限定されない。
映像音声登録画面401の全ての入力枠に情報が入力された後に映像音声登録ボタン403が押下されると、主制御部223が映像ファイルと音声ファイルとを映像音声記憶部202に登録し、主制御部223がコンテンツメタデータ情報をコンテンツメタ記憶部203に登録し、主制御部223が音声メタデータ情報330を音声メタ記憶部204に登録する。詳細な手順については、フローチャートを用いて後述する。
図2及び図7Bに示すように、映像音声登録画面401は、画面情報記憶部221に格納されている。音声登録画面410は、音声メタデータ情報330として「対応映像ID」を含む。「対応映像ID」は、トレーナが直接値を入力してもよい。また、コンテンツメタ記憶部203から「対応映像ID」と組となっているタイトルとを取得して一覧表示し、トレーナが組となっている「タイトル」から1つの「タイトル」を選択してもよい。
音声登録画面410は、登録する音声ファイルのファイル名である「音声ファイル名」を入力するための入力枠と、音声ファイルの検索を開始するための検索ボタン411とを含む。この「音声ファイル名」は、トレーナによって、プログラム中に発する留意点が異なることから、初回の音声ファイルとは異なる留意点について録音した音声ファイルの名称である。
検索ボタン411を押下すると、トレーナ機器102内もしくはクラウドサーバ111に配置されているファイルを閲覧することができ、そこから「音声ファイル名」を指定することで、「音声ファイル名」の入力枠に指定した「音声ファイル名」が入力される。トレーナ機器102内やネットワーク上の「音声ファイル名」を閲覧して指定する手順は、一般的なWebの機能であるため、ここでは説明を省略する。
音声登録画面410は、音声メタデータ情報330として、「録音店舗」、「スタジオ識別」、「プログラム識別」、「トレーナ識別」、「習得再生回数」、「対象属性」を管理している画面であり、これらの情報を入力するための入力枠を含む。また、音声ファイルの登録を指示する音声登録ボタン412を含む。音声登録画面410の全ての入力枠に情報が入力された後に音声登録ボタン412が押下されると、主制御部223が音声ファイルを映像音声記憶部202に登録し、主制御部223が音声メタデータ情報330を音声メタ記憶部204に登録する。詳細な手順については、フローチャートを用いて後述する。なお、音声登録画面410におけるこれらの項目は、一例でありこれらに限定されない。
図8は、パーソナルトレーニングメニューを模式的に示す図である。
図2及び図8に示すように、パーソナルトレーニングメニュー一覧表501は、トレーニングメニュー記憶部206が保持している。パーソナルトレーニングメニュー一覧表501とは、トレーナがユーザに適するようにトレーニングを組み込んだ、ユーザ専用のトレーニングメニューである。パーソナルトレーニングメニュー一覧表501は、「ユーザID」、「メニュー名」、「映像ID」を含む。なお、パーソナルトレーニングメニュー一覧表501におけるこれらの項目は、一例でありこれらに限定されない。
「ユーザID」は、当該パーソナルトレーニングメニュー一覧表501がどのユーザのために作成したものかを識別する。「メニュー名」は、パーソナルトレーニングメニュー一覧表501を識別したり、ユーザに表示したりする。「実施期間」は、ユーザに対してパーソナルトレーニングメニュー一覧表501の実施期間を指定する。「映像ID」は、パーソナルトレーニングメニュー一覧表501を構成するトレーニングコンテンツである。
パーソナルトレーニングメニュー一覧表501は、個々のユーザのパーソナルトレーニングメニュー502、503、504で構成されている。パーソナルトレーニングメニュー502は、「AA0001」の「ユーザID」を持つユーザのトレーニングメニューである。パーソナルトレーニングメニュー503は、「AA0002」の「ユーザID」を持つユーザのトレーニングメニューである。パーソナルトレーニングメニュー503は、「AA0003」の「ユーザID」を持つユーザのトレーニングメニューである。
図9A、及び図9Bは、トレーナがパーソナルトレーニングメニューを入力する画面の一例を示す図である。図9Aは、ユーザ選択画面の一例を示している。図9Bは、パーソナルトレーニングメニュー作成画面の一例を示す図である。
本実施の形態では、トレーナは、一定期間おきに、オンラインフィットネスサービスに入会しているユーザに対して、パーソナルトレーニングメニューを作成、更新する。一定時間は、トレーナが任意に決定する期間であり、例えば、1週間、2週間、1カ月間、3カ月間、6カ月間、1年間等の期間である。オンラインフィットネスサービスには複数のユーザが入会しているため、トレーナは、複数のユーザから1人のユーザを選択した後に、選択したこのユーザに対してパーソナルトレーニングメニューの作成を行う。
図2に示すように、トレーナは、パーソナルトレーニングメニューを作成するため、トレーナ機器102を用いてクラウドサーバ111にアクセスする。例えば、クラウドサーバ111が管理しているトレーナ向けオンラインフィットネスのWebサイトにおける図9Aのユーザ選択画面510にアクセスする。
図2及び図9Aに示すように、クラウドサーバ111の主制御部223は、ユーザ選択画面510へのアクセスを検知し、画面情報記憶部221から、画面を作成するために必要なHTMLファイルを取得し、さらに画面に表示するために会員情報を会員情報記憶部201の会員情報一覧表301から取得する。さらに、主制御部223は、パーソナルトレーニングメニューが作成されていないユーザや、一定期間パーソナルトレーニングメニューが更新されていないユーザを特定するために、トレーニングメニュー記憶部206が管理しているパーソナルトレーニングメニューを参照することで、ユーザ選択画面510を生成する。主制御部223は、生成したユーザ選択画面510を、通信部222を介してトレーナ機器102に送信する。そして、トレーナ機器102は、ブラウザ等を用いてユーザ選択画面510を表示する。
ユーザ選択画面510を表示について、主制御部223は、ユーザ選択画面510を生成するためのHTMLファイルの初期起動時にスクリプトが呼び出され、会員情報を会員情報記憶部201の会員情報一覧表301から取得する。主制御部223は、トレーニングメニュー記憶部206が管理しているパーソナルトレーニングメニューを参照し、パーソナルトレーニングメニューが作成されていないユーザや一定期間パーソナルトレーニングが更新されていないユーザを特定する。そして、主制御部223は、パーソナルトレーニングメニューが作成されているユーザとは区別して表示する。このような手順は、Webサービスの一般的な技術であるため、詳細な説明は省略する。
ユーザ選択画面510には、ユーザ一覧513と、パーソナルトレーニングメニューの作成が必要か否かを示す作成要否印511と、ユーザを選択するための選択ボタン512、514が表示されている。
ユーザ一覧513には、会員情報記憶部201の会員情報一覧表301から取得した会員情報として、トレーナがパーソナルトレーニングメニューを作成するために参照する情報である、「ユーザID」、「ユーザ氏名」、「生年月日」、「性別」、「会員種別」、「店舗」が表示されている。また、トレーナは、トレーニングメニュー記憶部206が管理しているパーソナルトレーニングメニューを参照し、パーソナルトレーニングメニューが作成されていないユーザを確認するためには、「ユーザID」の左側に示されている作成要否印511を見る。作成要否印511は、ユーザの入会後、一度もパーソナルトレーニングメニューが作成されていない、もしくは一定期間パーソナルトレーニングメニューが作成されていないユーザであり、かつ、パーソナルトレーニングメニューを作成すべきユーザであることを意味している。つまり、作成要否印511は、トレーニングメニューの作成が必要であると、トレーナが素早く判断できるようにする印である。
図9A及び図9Bに示すように、トレーナは、ユーザ選択画面510の選択ボタン512を押下することで、作成要否印511の付いたユーザのパーソナルトレーニングメニュー作成画面520に遷移する。
図2及び図9Bに示すように、クラウドサーバ111の主制御部223は、パーソナルトレーニングメニュー作成画面520へのアクセスを検知し、画面情報記憶部221から、画面を作成するために必要なHTMLファイルを取得し、さらに画面に表示するためにコンテンツメタデータ情報320をコンテンツメタ記憶部203から取得することで、パーソナルトレーニングメニュー作成画面520が生成される。主制御部223は、生成したパーソナルトレーニングメニュー作成画面520を、通信部222を介してトレーナ機器102に送信する。そして、トレーナ機器102は、ブラウザ等を用いてパーソナルトレーニングメニュー作成画面520を表示する。
図2及び図9Aに示すように、トレーナ機器102は、ユーザ選択画面510の選択ボタン512押下により、スクリプトが呼び出され、パーソナルトレーニングメニュー作成画面520のHTMLファイルが呼び出され、HTMLファイルの初期起動時にスクリプトが呼び出され、映像メタデータ情報を取得して表示する。このような手順は、Webサービスの一般的な技術であるため、詳細な説明は省略する。
図9Bに示すように、パーソナルトレーニングメニュー作成画面520には、トレーナが「メニュー名」を入力するためのメニュー名入力枠521、コンテンツメタ記憶部203から取得した映像情報メタデータをトレーナに提示するためのコンテンツ一覧522、パーソナルトレーニングメニューを作成後にトレーニングメニュー記憶部206へ登録するための登録ボタン523が表示されている。なお、コンテンツが1つの画面上に収まりきらない場合、クロール操作により表示されるようにしてもよい。
また、コンテンツ一覧522には、パーソナルトレーニングメニューとしてコンテンツを選択(チェック)するために、1つのコンテンツにつき1つのコンテンツチェック欄(コンテンツ一覧522における右端の1列)が表示されている。
トレーナは、メニュー名入力枠521にトレーナ機器102のキーボードやソフトウェアキーボードを用いてメニュー名を入力する。そして、トレーナは、マウスのクリック動作や画面へのタッチ動作によりトレーニング用のコンテンツを1つ以上選択する。
トレーナがパーソナルトレーニングメニュー作成画面520でコンテンツを選択すると、選択されたコンテンツをトレーナに提示するためのチェック印524が表示される。コンテンツ選択後にトレーナが登録ボタン523を押下すると、主制御部223は、「ユーザID」が「AA0002」であるユーザのパーソナルトレーニングメニューとして、例えば実施期間として本日から1週間である「2016/3/1〜2016/3/7」という値を付与する。また、主制御部223は、メニュー名入力枠521の値であるメニュー名を「1週間で動ける体へ」とする。さらに、主制御部223は、コンテンツ一覧522のタイトルにチェック印524がついている「鳩のポーズ」およびチェック印525がついている「英雄のポーズ」から「映像ID」を取得する。このように、主制御部223は、「ユーザID」、「メニュー名」、「実施期間」及び「映像ID」を含むパーソナルトレーニングメニューをトレーニングメニュー記憶部206に登録する。
上記の処理により、図8に示すようなパーソナルトレーニングメニュー502が登録される。なお、パーソナルトレーニングメニュー503、504についても同様である。
本実施の形態では、パーソナルトレーニングメニューの実施期間を1週間としているため、実施期間に本日から1週間である「2016/3/1〜2016/3/7」が付与されたが、実施期間はこれに限定されず、例えば3日間や1ヶ月でもよい。また、トレーナが「実施期間」を直接入力してもよい。
本実施の形態では、トレーナが新規入会時にパーソナルトレーニングメニューを作成し、その後は定期的、もしくは不定期に、トレーナがパーソナルトレーニングメニューを更新する。
なお、トレーナは、新規入会時でなく、かつ、パーソナルメニューを作成後に一定期間が経過していない場合以外でも、パーソナルトレーニングメニューを任意に更新してもよい。この場合には、図8及び図9Aに示すように、作成要否印511のついていないユーザ、例えばユーザ一覧513において「ユーザID」が「AA0001」であるユーザの選択ボタン514を押下して、「ユーザID」が「AA0001」であるユーザのパーソナルトレーニングメニュー502に遷移する。
なお、初回のパーソナルトレーニングメニュー作成時以外では、すでにパーソナルトレーニングメニューが存在する。このため、主制御部223は、「ユーザID」が「AA0001」であるユーザのパーソナルトレーニングメニュー502をトレーニングメニュー記憶部206から取得する。そして、主制御部223は、「メニュー名」をトレーニング名の初期値とし、「タイトル」に含まれるコンテンツが選択された状態をコンテンツ一覧の初期値とし、「メニュー名」及び「タイトル」をパーソナルトレーニングメニュー502に表示する。
また、新規入会時でない場合には、すでにユーザのトレーニング履歴が存在するため、トレーナがトレーニング履歴を参照しながらパーソナルトレーニングメニューを作成できるように、図9Bのパーソナルトレーニング画面520にユーザのトレーニング履歴およびその分析結果を表示してもよい。
ユーザは、トレーナがパーソナルトレーニングを作成後に、ユーザ機器122を用いてパーソナルトレーニングメニューを実施する。
図10A、図10Bは、ユーザがパーソナルトレーニングメニューを実施する画面の一例を示す図である。図10Aは、パーソナルトレーニング画面の一例を示している。図10Bは、コンテンツ再生画面の一例を示している。
図1A及び図10Aに示すように、ユーザは、パーソナルトレーニングメニューで指定されたコンテンツを再生するため、ユーザ機器122を用いてクラウドサーバ111にアクセスする。例えば、クラウドサーバ111が管理しているユーザ向けオンラインフィットネスのWebサイトのパーソナルトレーニング画面530にアクセスする。パーソナルトレーニング画面530は、画面情報記憶部221に格納されている。
図2及び図10Aに示すように、この際、主制御部223は、パーソナルトレーニング画面530へのアクセスを検知し、画面情報記憶部216から、パーソナルトレーニング画面530を作成するために必要なHTMLファイルを取得し、さらにパーソナルトレーニング画面530に表示するために会員情報を会員情報記憶部201の会員情報一覧表301から取得する。さらに、主制御部223は、クラウドサーバ111にアクセスしたユーザに対応するパーソナルトレーニングメニューをトレーニングメニュー記憶部206の図8のパーソナルトレーニングメニュー一覧表501から取得する。ユーザの特定は、ログイン時に「ユーザID」を入力させるなどして行う。
図8に示すように、例えば、「ユーザID」が「AA0002」であるユーザからのアクセスであれば、パーソナルトレーニングメニュー一覧表501から、「ユーザID」が「AA0002」であるパーソナルトレーニングメニュー503を取得する。
これにより、図10Aに示す、パーソナルトレーニング画面530が生成される。主制御部223は、生成したパーソナルトレーニング画面530を、通信部222を介してユーザ機器122に送信する。そして、図1のユーザ機器122は、ブラウザ等を用いてパーソナルトレーニング画面530を表示する。
パーソナルトレーニング画面530を生成するためのHTMLファイルの初期起動時にスクリプトが呼び出されて、アクセスした「ユーザID」を特定し、「ユーザID」に対応するパーソナルトレーニングメニューをトレーニングメニュー記憶部206から取得して表示する。このような手順は、Webサービスの一般的な技術であるため、詳細な説明は省略する。
パーソナルトレーニング画面530には、パーソナルトレーニング情報531と、全て再生ボタン532と再生ボタン533、534とが表示されている。
パーソナルトレーニング情報531は、ユーザにパーソナルトレーニングメニューの内容を説明するための情報である。全て再生ボタン532は、パーソナルトレーニングに含まれる全てのコンテンツを連続して再生する指示を行うボタンである。再生ボタン533、534はコンテンツを個別に再生するためボタンであり、再生ボタン533は鳩のポーズのタイトルに対応し、再生ボタン534は英雄のポーズのタイトルに対応している。
パーソナルトレーニング情報531には、パーソナルトレーニングメニュー503から取得した情報として、「メニュー名」、「実施期間」、及び「タイトル」が表示されている。「タイトル」は、図8のパーソナルトレーニングメニュー503から取得した「映像ID」をキーとして図5のコンテンツメタデータ情報320から取得している。
ユーザがパーソナルトレーニング画面530の再生ボタン533を押下すると、HTMLのスクリプトが呼び出され、鳩のポーズの「映像ID」と「ユーザID」を引数としたコンテンツの再生指示がなされる。クラウドサーバ111の主制御部223は、このコンテンツの再生指示を受付け、映像音声配信制御部210が映像ファイルとともに配信する「音声ID」を決定する。主制御部223は、「映像ID」に対応する映像ファイルと、「音声ID」に対応する音声ファイルとの配信を動画配信部220に指示する。動画配信部220は、映像音声記憶部202から対応する映像ファイルと音声ファイルとを取得し、通信部222を介してコンテンツとしてユーザ機器122に配信する。ユーザ機器122は、配信されたコンテンツをユーザ機器122に搭載されているブラウザ機能やプレーヤ機能により再生する。クラウドサーバ111がコンテンツを配信し、ユーザ機器122がブラウザ機能やプレーヤ機能で受信してコンテンツを再生する。このような手順は、Webサービスの一般的な技術であるため説明を省略する。
図10A及び図10Bに示すように、コンテンツ再生画面540では、全て再生ボタン532に対応するコンテンツが、全画面で再生されている状態を示している。ユーザは、再生されているコンテンツを手本として同じ動きをすることにより、トレーナが近くにいなくともトレーニングを実施することができる。再生の停止や早送り等のトリックプレイは、TVであればリモコンにより操作可能である。また、スマートフォンやPCにおいて、このトリックプレイは、画面上のスライドバー(図示せず)等により操作可能である。ユーザが再生の停止を指示すると、主制御部223が再生の停止を動画配信部220に指示することで再生が停止する。
図11は、店舗プログラムの構成情報を模式的に示した一例の図である。店舗プログラムとは、店舗で実施されるトレーニングプログラムである。一般的には、プログラムの実施時間やトレーニングプログラムの構成は予め決まっている。店舗プログラムには、例えば、「ヨガ初級」、「ヨガ中級」、「筋トレ初級」、「筋トレ中級」などがある。
店舗プログラムの構成情報701は、店舗プログラム情報記憶部208が保持している。この構成情報701とは、店舗で実施されるトレーニングプログラムがどのトレーニングから構成されているかを示す情報である。例えば、「ヨガ初級」のトレーニングプログラムは「フォームアップ」、「鳩のポーズ」、「英雄のポーズ」、「立ち木のポーズ」、「クールダウン」から構成されている。なお、トレーニングプログラムは、一例でありこれらに限定されない。
構成情報701は、「プログラム識別」、「タイトル」、「プログラム実施時間」、「トレーニング実施時間」を含んでいる。なお、構成情報701におけるこれらの項目は、一例でありこれらに限定されない。
「プログラム識別」は、トレーニングプログラムを識別するための情報である。「タイトル」は、トレーニングプログラムを構成するトレーニングを識別するための情報である。「プログラム実施時間」は、トレーニングプログラムの所要時間を示す情報である。「トレーニング実施時間」は、トレーニングのタイトルごとに振り分けられている、個々のトレーニングの所要時間である。つまり、「プログラム実施時間」は、「プログラム識別」における「トレーニング実施時間」の総和に等しい。
1つのトレーニングプログラムは、1つ以上のトレーニングから構成されるため、1つのプログラム識別に対して、1つ以上のタイトルが紐付けられている。例えば、「プログラム識別」が「筋トレ中級」である1つの構成情報702は、「ウォームアップ」、「クランチ」、「ベンチプレス」、「レッグカール」、「クールダウン」の5つのトレーニングから構成されている。
本実施の形態では、同一店舗及び同一トレーナにおいて、店舗でのトレーニングプログラムにおける個々のトレーニングと、オンライントレーニングのトレーニングプログラムにおける個々のトレーニングとは、同様の内容であることを想定している。また、同一店舗及び同一トレーナにおいて、店舗で行うトレーニングプログラムと、オンライントレーニングで行うトレーニングプログラムとは、同様の内容、もしくは一部が同様の内容であることを想定している。
図12は、店舗プログラムのスケジュール情報を模式的に示した一例の図である。
図2及び図12に示すように、店舗プログラムのスケジュール情報710は、店舗プログラム情報記憶部208に格納されている。スケジュール情報710は、「店舗識別」、「スタジオ識別」、「プログラム識別」、「トレーナ識別」、「実施曜日」、「開始時間」、「終了時間」を含んでいる。なお、スケジュール情報710におけるこれらの項目は、一例でありこれらに限定されない。
「店舗識別」は、どの店舗で実施されるかを示す情報である。「スタジオ識別」は、店舗内の複数のスタジオのうちどのスタジオで実施されるかを示す情報である。「プログラム識別」は、実施するプログラムを示す情報である。「トレーナ識別」は、プログラムを担当するトレーナを示す情報である。「実施曜日」は、実施される曜日を示す情報である。「開始時間」は、プログラムの開始時間を示す情報である。「終了時間」は、プログラムの終了時間を示す情報である。
例えば、一点鎖線で示すスケジュール情報711からは、「梅田」の店舗において、スタジオ「B」で毎週「日曜日」の「17:00」から「18:00」までのスケジュールで、トレーナの「テツヤ」が「筋トレ中級」のトレーニングプログラムが実施されることが判る。
同一の構成情報701を持つトレーニングプログラムが別店舗、もしくは別の日に実施される場合には、同一のトレーニングプログラム識別を持つプログラムが重複して記載されている。
本実施例では、店舗のトレーニングプログラムは、毎週同様のスケジュールを繰り返し実施することとしており、実施日を特定するために実施曜日を使用しているが、実施日の指定方法はこれに限定されない。
図13は、店舗履歴情報を模式的に示した一例の図である。
図2及び図13に示すように、店舗履歴情報730は、店舗履歴記憶部205に格納されている。店舗履歴記憶部205は、ユーザがトレーニングを行う店舗への来館時間、退館時間、および来館時に参加したトレーニングプログラムの履歴を店舗履歴情報730として管理している。
店舗履歴情報730は、「ユーザID」、「店舗識別」、「スタジオ識別」、「プログラム識別」、「トレーナ識別」、「実施日」、「開始時間」、「終了時間」を含む。なお、店舗履歴情報730におけるこれらの項目は、一例でありこれらに限定されない。
「ユーザID」は、ユーザを示す識別子である。「店舗識別」は、ユーザの店舗の履歴を示す情報である。「スタジオ識別」は、参加したトレーニングプログラムが行われるスタジオを示す情報である。「プログラム識別」は、参加したトレーニングプログラムを示す情報である。「トレーナ識別」は、参加したトレーニングプログラムを行うトレーナを示す情報である。「実施日」、「開始時間」、及び「終了時間」は、トレーニングの開始から終了まで日時を示す情報である。
ユーザが店舗でトレーニングプログラムに参加する場合の履歴として、前述の全ての項目が入力される。
例えば、店舗履歴情報730では、「ユーザID」が「AA0002」であるユーザが、実施日「2016/2/20」の開始時間「9:30」に「新宿」の店舗に来館し、同日の終了時間「12:30」に退館したことを示している。
また、例えば、店舗履歴情報730の次の行では、「ユーザID」が「AA0002」であるユーザが、実施日「2016/2/20」の開始時間「10:00」から終了時間「11:00」まで、スタジオ「A」でトレーナ「アイコ」によって実施された「ヨガ初級」のトレーニングプログラムに参加したことを示している。
ユーザの来館、および退館に関する履歴として、前述の項目のうち「ユーザID」、「店舗識別」、「実施日」、「開始時間」、「終了時間」が入力される。
図14A、および図14Bは、店舗履歴管理サイトの画面の一例を示す図である。図14Aは、店舗履歴管理サイトのトップ画面の一例である。図14Bは、店舗履歴管理サイトのプログラム予約画面の一例である。
図2、図14A、および図14Bに示すように、店舗履歴管理サイトは、画面情報記憶部221に格納されており、ユーザが店舗への来館や、店舗で参加したトレーニングプログラムの履歴を管理するために使用する。
ユーザは、店舗に来館した際に、来館した履歴や店舗で参加したトレーニングプログラムの履歴を登録するために、ユーザ機器122を用いて来館登録、退館登録、及びトレーニングプログラムの予約登録を実行する。
図2及び図14Aに示すように、ユーザは、店舗履歴管理サイトを利用するには、ユーザ機器122を用いてクラウドサーバ111にアクセスする。例えば、クラウドサーバ111が管理している店舗履歴管理サイトのWebサイトのトップ画面800にアクセスする。
クラウドサーバ111の主制御部223は、トップ画面800へのアクセスを検知し、画面情報記憶部216から、画面を作成するために必要なHTMLファイルを取得し、さらに画面に表示するために会員情報を会員情報記憶部201の会員情報一覧表301から取得する。ユーザの特定は、ログイン時に「ユーザID」を入力させるなどして行う。
これにより、ユーザ機器122にトップ画面800が生成される。主制御部223は、生成したパーソナルトレーニング画面530を、通信部222を介してユーザ機器122に送信する。そして、ユーザ機器122は、ブラウザ等を用いてトップ画面800を表示する。
主制御部223は、トップ画面800を生成するためのHTMLファイルの初期起動時に呼び出されたスクリプトから、アクセスした「ユーザID」を特定して、「ユーザID」に対応する「会員種別」と「店舗」とを会員情報記憶部201から取得する。このような手順は、Webサービスの一般的な技術であるため、詳細な説明は省略する。
図14Aは、店舗履歴管理サイトのトップ画面の一例を示す図である。図14Bは、トップ画面800で「プログラム予約画面移動」ボタンが押下された場合に表示されるプログラム予約画面の一例を示す図である。
図14Aに示すよう、トップ画面800は、ユーザが自身の来館情報を登録するための来館ボタン801、ユーザが自身の退館情報を登録するための退館ボタン802、店舗のプログラム予約画面に遷移するためのトレーニングプログラムのプログラム予約ボタン803等から構成される。また、トップ画面800は、ユーザの来館状況を表示するための来館状況表示枠804を含んでいる。
なお、ユーザの来館状況表示枠804には、例えば、来館中であれば来館時間や予約中のトレーニングプログラムの情報、来館中でなければ最終来館日時などの情報を表示してもよい。また、現在の日時を表示してもよい。また、予約したトレーニングプログラムまでの時間を表示してもよい(図示せず)。
図2、図14Aおよび図14Bに示すよう、プログラム予約管理画面810は、ユーザが来館している店舗でその日に実施されるトレーニングプログラムの一覧を表示したプログラム一覧811、予約ボタン814、815、予約済みのボタン813、トップ画面へ戻るボタン816を含む。プログラム予約管理画面810は、画面情報記憶部221に格納されている。ユーザが来館している店舗は、会員情報一覧表301から、「ユーザID」に対応する店舗を参照することで取得可能である。プログラム一覧811の各行が個々のトレーニングプログラムである。各行の右側には、予約ボタン814、815、もしくは、予約済みのボタン813が配置される。当該トレーニングプログラムをユーザが予約していない場合には、プログラム一覧811の右側に予約ボタン814、815が配置される。ユーザが予約ボタン814、815を押下してプログラムを予約する。
当該トレーニングプログラムをユーザが予約している場合には、プログラム一覧811の右側に予約済みのボタン813が配置される。この場合、ユーザはトレーニングプログラムを予約することはできない。
ユーザがトップ画面へ戻るボタンが押下すると、トップ画面800が表示される。
ユーザが店舗履歴管理サイトにアクセスすると、クラウドサーバ111の主制御部223は、ユーザは店舗履歴管理サイトのトップ画面800へのアクセスを検知し、画面情報記憶部221から、画面を作成するために必要なHTMLファイルを取得することで、トップ画面800を生成する。主制御部223は、生成したトップ画面800を、通信部222を介してユーザ機器122に送信し、ユーザ機器122はブラウザ等を用いてトップ画面800を表示する。トップ画面800のHTMLファイルが呼び出され、ユーザ機器122にて画面が表示される手順は、Webサービスの一般的な技術であるため、詳細な説明は省略する。
トップ画面800にて来館ボタン801が押下されると、HTMLのスクリプトが呼ばれ、「ユーザID」を引数として来館した履歴を登録する指示(来館履歴登録指示)がクラウドサーバ111に送信される。
クラウドサーバ111の主制御部223は、来館履歴登録指示があると、会員情報一覧表301を参照して来館履歴登録指示のあった「ユーザID」に対応する「店舗識別」を取得し、現在の日、時刻を取得する。そして、「ユーザID」、「店舗識別」、「実施日」を、図13の店舗履歴情報730の項目に追加する。
一方、トップ画面800にて退館ボタン802が押下されると、HTMLのスクリプトが呼ばれ、「ユーザID」を引数として退館した履歴を登録する指示(退館履歴登録指示)がクラウドサーバ111に送信される。
クラウドサーバ111の主制御部223は、退館履歴登録指示があると、店舗履歴情報730を参照して当該「ユーザID」に関する本日の来館履歴、すなわち、「ユーザID」の欄に当該「ユーザID」、「実施日」の欄に本日の日付、「開始時間」の欄に来館した時刻が入力されており、「スタジオ識別」と「プログラム識別」と「トレーナ識別」とが空欄である店舗履歴情報730を取得する。そして、現在の時刻を取得し、本日の退館履歴の「終了時間」に取得した現在の時刻を追加する。
トップ画面800にてトレーニングプログラムのプログラム予約ボタン803が押下されると、HTMLのスクリプトが呼ばれ、クラウドサーバ111の主制御部223は、店舗履歴管理サイトのプログラム予約管理画面810へのアクセスを検知し、画面情報記憶部221から、画面を作成するために必要なHTMLファイルを取得する。さらに、主制御部223は、プログラム予約管理画面810の作成を指示した「ユーザID」と現在の日と時刻とを取得する。そして、主制御部223は、会員情報一覧表301を参照し、「ユーザID」に対応する「店舗識別」を取得する。そして、主制御部223は、店舗プログラム情報記憶部208が保持しているスケジュール情報710を参照し、スケジュール情報710から、「店舗識別」、「実施日」、「開始時間」などの情報を取得してプログラム一覧811を生成する。そして、プログラム予約管理画面810が生成される。主制御部223は、生成したプログラム予約管理画面810を、通信部222を介してユーザ機器122に送信する。ユーザ機器122は、ブラウザ等を用いてプログラム予約管理画面810を表示する。
プログラム予約管理画面810にて、予約ボタン814が押下されると、HTMLのスクリプト呼ばれ、「ユーザID」、保持している「店舗識別」、予約ボタンに対応する「スタジオ識別」、「トレーナ識別」、「開始時間」、「終了時間」を引数としてトレーニングプログラムの履歴を登録する指示(プログラム履歴登録指示)がクラウドサーバ111に送信される。
クラウドサーバ111の主制御部223は、プログラム履歴登録指示があると、現在の日を取得する。そして、主制御部223は、店舗履歴情報730に、取得した「ユーザID」、指示された「ユーザID」、取得した「店舗識別」、指示された「店舗識別」、指示された「スタジオ識別」、指示された「プログラム識別」、指示された「トレーナ識別」、取得した日である「実施日」、指示された時間である「開始時間」、指示された時間である「終了時間」を項目として店舗履歴情報730に追加する。
以上のように、ユーザの来館、退館、及び店舗でのトレーニングプログラムの参加が店舗履歴情報730に追加される。
なお、本実施の形態では、店舗履歴管理サイトのトップ画面800およびプログラム予約管理画面810にて、ユーザがボタンを押下することで、来館した履歴の登録、退館した履歴の登録、店舗でのトレーニングプログラムの参加した履歴の登録を行ったが、履歴の取得方法はこれに限定されない。例えば、ユーザを識別するための非接触端末をユーザが保持しており、館内の入り口やスタジオの入り口に非接触端末のリーダを設置することで、ユーザが非接触端末のリーダの付近を通過することにより、自動的に来館した履歴、退館した履歴、店舗でのトレーニングプログラムの参加したトレーニング履歴を取得することとしてもよい。
図15A、図15B、図15Cは、トレーニング履歴を模式的に示した一例である。図15Aのトレーニング履歴901は「ユーザID」が「AA0001」であるユーザのトレーニング履歴、図15Bのトレーニング履歴902は「ユーザID」が「AA0002」であるユーザのトレーニング履歴、図15Cのトレーニング履歴903は「ユーザID」が「AA0003」であるユーザのトレーニング履歴である。
図15A、図15B、図15Cに示すように、トレーニング履歴901、トレーニング履歴902、トレーニング履歴903は、トレーニング履歴記憶部207が保持している。トレーニング履歴901、トレーニング履歴902、トレーニング履歴903は、トレーニングを実施したユーザを識別するための「ユーザID」とパーソナルトレーニングメニューで指定されたコンテンツのうち、どのコンテンツを実施したかを示すコンテンツの「タイトル」、当該タイトルの再生に使用した映像ファイルの「映像ID」、音声ファイルの「音声ID」、トレーニングを実施した「実施日」や「実施時刻」を含む。なお、「タイトル」と「映像ID」とは一対一で対応しているため、「タイトル」もしくは「映像ID」を省略してもよく、「実施日」もしくは「実施時刻」を省略してもよい。また、トレーニング履歴901には、パーソナルトレーニングメニューを識別するための「メニュー名」や「実施期間」を含んでいてもよい(図示せず)。
図2及び図10Aに示すように、トレーニングを実施したトレーニング履歴は、例えばパーソナルトレーニング画面530にて、ユーザが全て再生ボタン532を押下すると、主制御部223は、ユーザの「ユーザID」、再生ボタンに対応するコンテンツの「タイトル」、トレーニングの「メニュー名」および「実施期間」を主制御部223が取得する。また、主制御部223は、動画コンテンツ配信に使用した「映像ID」と「音声ID」を取得し、さらに全て再生ボタン532が押された日時から「実施日」、「実施時刻」を取得して、トレーニング履歴記憶部207にトレーニング履歴として登録することにより管理する。
図16は、映像音声登録時のデータ登録手順の一例を示すフローチャートである。図16は、トレーナが映像音声登録指示をした際に、クラウドサーバに映像ファイル、音声ファイル、映像メタデータ情報、および音声メタデータ情報330が登録される手順の一例を示している。
図7Aに示すように、トレーナが映像音声登録画面401にて、全ての項目が入力し、映像音声登録ボタン403が押下すると、HTMLファイルのスクリプトが呼び出され、映像音声登録画面401にて入力された値を引数とし、映像音声登録画面401の動画ファイル名にて指定された動画ファイルの映像音声登録指示がなされる。そして、図16のフローを開始する。
図2、図5、図6および図16に示すように、始めに、映像音声登録制御部209は、主制御部223から映像音声登録指示を受け、トレーナ機器102から通信部222を介してコンテンツを取得する(ステップS1001)。
次に、映像音声登録制御部209は、トレーナ機器102から通信部222、主制御部223を介して、引数である「タイトル」、「ジャンル」、「強化部位」、「録音店舗」、「スタジオ識別」、「プログラム識別」、「トレーナ識別」、「習得再生回数」、および「対象属性」を取得する(ステップS1002)。
次に、映像音声登録制御部209は、ステップS1001で取得したコンテンツを解析して「再生時間」を取得する(ステップS1003)。
次に、映像音声登録制御部209は、ステップS1001で取得したコンテンツを解析し、音声が録音された日時である「録音日時」を取得する(ステップS1004)。
次に、映像音声登録制御部209は、コンテンツメタ記憶部203が保持しているコンテンツメタデータ情報を参照し、使用していない「映像ID」を取得する(ステップS1005)。
次に、映像音声登録制御部209は、音声メタ記憶部204が保持している音声メタデータ情報330を参照し、使用していない「音声ID」を取得する(ステップS1006)。
次に、映像音声登録制御部209は、ステップS1005で取得した「映像ID」、ステップS1002で取得した「タイトル」、「ジャンル」および「強化部位」、ステップS1003で取得した「再生時間」を、コンテンツメタ記憶部203が保持しているコンテンツメタデータ情報に追加登録する(ステップS1007)。
次に、映像音声登録制御部209は、ステップS1005にて取得した「映像ID」を音声ファイルの「対応映像ID」に対応付ける。映像音声登録制御部209は、この「対応映像ID」、ステップS1006にて取得した「音声ID」、ステップS1004で取得した「録音日時」、ステップS1002で取得した「録音店舗」、「スタジオ識別」、「プログラム識別」、「トレーナ識別」、習得再生回数を「習得再生回数」、および「対象属性」として、音声メタ記憶部204に音声メタデータ情報330を追加登録する(ステップS1008)。
次に、映像音声登録制御部209は、ステップS1001で取得したコンテンツから映像要素を抽出した映像ファイルを取得する。ここで、取得した映像ファイルが配信形式と異なる場合、例えば、ファイルのエンコードのフォーマット、解像度、ビットレートが異なる場合には、配信に適した形式に映像音声登録制御部209がエンコードする。そして、配信に適した形式にエンコードされた映像ファイルを映像音声記憶部202に登録する(ステップS1009)。なお、登録する映像ファイルとステップS1007で登録したコンテンツメタデータとが対応付けられるようにしておく。例えば、映像ファイル名を「映像ID」とすることで対応付けることができる。
次に、映像音声登録制御部209は、ステップS1001で取得した動画ファイルから音声要素を抽出した音声ファイルを取得する。ここで、取得した音声ファイルが配信形式と異なる場合、例えば、ファイルのエンコードのフォーマット、サンプリング周波数、ビットレートが異なる場合には、配信に適した形式に映像音声登録制御部209がエンコードする。そして、配信に適した形式にエンコードされた音声ファイルを映像音声記憶部202に登録する(ステップS1010)(ステップS1001〜ステップS1010が記憶ステップの一例)。なお、登録する音声ファイルとステップS1008で登録した音声メタデータとが対応付けられるようにしておく。例えば、音声ファイル名を「音声ID」とすることで対応付けることができる。こうして、このフローは終了する。
図17は、音声登録指示時のデータ登録手順の一例を示すフローチャートである。図17は、トレーナが音声登録指示をした際に、クラウドサーバに音声ファイルおよび音声メタデータ情報330が登録される手順の一例を示している。
図7Bに示すように、トレーナが音声登録画面410にて、全ての項目が入力し、音声登録ボタン412が押下すると、HTMLファイルのスクリプトが呼び出され、音声登録画面410にて入力された値を引数とし、音声登録画面410の音声ファイル名にて指定された音声ファイルの音声登録指示がなされる。そして、図17のフローを開始する。
図2、図6および図17に示すように、始めに、映像音声登録制御部209は、主制御部223からの音声登録指示を受け、トレーナ機器102から通信部222を介して音声ファイルを取得する(ステップS1101)。
次に、映像音声登録制御部209は、トレーナ機器102から通信部222、主制御部223を介して、引数である「対応映像ID」、「録音店舗」、「スタジオ識別」、「プログラム識別」、「トレーナ識別」、「習得再生回数」、および「対象属性」を取得する(ステップS1102)。
次に、映像音声登録制御部209は、ステップS1101で取得した音声ファイルを解析して「再生時間」を取得する(ステップS1103)。
次に、映像音声登録制御部209は、ステップS1101で取得した音声ファイルを解析し、音声が録音された日時である「録音日時」を取得する(ステップS1104)。
次に、映像音声登録制御部209は、音声メタ記憶部204が保持している音声メタデータ情報330を参照し、使用していない「音声ID」を取得する(ステップS1105)。
次に、映像音声登録制御部209は、コンテンツメタ記憶部203が管理しているコンテンツメタデータを参照し、ステップS1102で取得した「対応映像ID」の再生時間を取得する(ステップS1106)。
次に、映像音声登録制御部209は、ステップS1105にて取得した「対応映像ID」、ステップS1105にて取得した「音声ID」、ステップS1104で取得した「録音日時」、ステップS1102で取得した「録音店舗」、「スタジオ識別」、「プログラム識別」、「トレーナ識別」、「習得再生回数」、「対象属性」として、音声メタ記憶部204に音声メタデータ情報330を追加登録する(ステップS1107)。
次に、映像音声登録制御部209は、ステップS1106で取得した「対応映像ID」に係る映像ファイルの再生時間が、ステップS1103で取得した音声ファイルの再生時間より長いか否かを判定する(ステップS1108)。
ステップS1108において、「対応映像ID」に係る映像ファイルの再生時間がステップS1103で取得した音声ファイルの再生時間より長い場合は、判定結果がYESとなり、ステップS1109に進む。
次に、ステップS1109では、ステップS1101で取得した音声ファイルの再生時間が「対応映像ID」に係る映像ファイルの再生時間と等しくなるように再生時間を引き延ばす(ステップS1109)。例えば、「対応映像ID」の再生時間と等しくなるように当該音声ファイルの前、もしくは後、もしくは前後両方に無音区間を挿入する。また、例えば、音声ファイルがゆっくり再生されるようにエンコードをしなおして、再生時間を引き延ばす。
一方、ステップS1108において、「対応映像ID」に係る映像ファイルの再生時間が音声ファイルの再生時間より短い場合は、判定結果がNOとなり、ステップS1110に進む。この場合、映像音声登録制御部209は、ステップS1106で取得した「対応映像ID」に係る映像ファイルの再生時間がステップS1103で取得した音声ファイルの再生時間より短いか否かを判定する(ステップS1110)。
次に、ステップS1110において、「対応映像ID」に係る映像ファイルの再生時間がステップS1103で取得した音声ファイルの再生時間より短い場合は、判定結果がYESとなり、ステップS1111に進む。
次に、ステップS1111では、ステップS1101で取得した音声ファイルの再生時間が「対応映像ID」に係る映像ファイルの再生時間と等しくなるように再生時間を短縮する(ステップS1111)。例えば、「対応映像ID」の再生時間と等しくなるように当該音声ファイルの前、もしくは後、もしくは前後両方を削除する。また、例えば、音声ファイルを再生して、無音区間や音量の小さい区間を検索してその区間を削除する。また、例えば、音声ファイルが速く再生されるようにエンコードをしなおして、再生時間を短縮する。また、例えば、前述の処理を組み合わせて再生時間を短縮する。
次に、映像音声登録制御部209は、ステップS1109の処理が終了した場合や、ステップS1111の処理が終了した場合に、音声ファイルを映像音声記憶部202に登録する(ステップS1112)。ここで、登録予定の音声ファイルが配信形式と異なる場合(例えば、ファイルのエンコードのフォーマット、サンプリング周波数、ビットレートが異なる場合)には、配信に適した形式にエンコードする。そして、配信に適した形式にエンコードされた音声ファイルを映像音声記憶部202に登録する。なお、登録する音声ファイルとステップS1107で登録した音声メタデータが対応付けられるようにしておく。例えば、音声ファイル名を「音声ID」とすることで対応付ける。
一方、ステップS1110において、「対応映像ID」に係る映像ファイルの再生時間がステップS1103で取得した音声ファイルの再生時間と同一の場合は、判定結果がNOとなり、ステップS1112に進む。「対応映像ID」に係る映像ファイルの再生時間がステップS1103で取得した音声ファイルの再生時間と同一の場合は、無音区間の検索、音声ファイルの一部削除、エンコード等を行う必要が無い。このため、映像音声記憶部202に登録するこの音声ファイルとステップS1107で登録した音声メタデータとが対応付けられるようにしておく。例えば、音声ファイル名を「音声ID」とすることで対応付ける(ステップS1112)(ステップS1101〜ステップS1112が記憶ステップの一例)。こうして、このフローは終了する。
図18は、コンテンツを再生する指示時の映像ファイルと音声ファイルとを配信する手順の一例を示すフローチャートである。図18は、ユーザがトレーニングメニューのコンテンツの再生を指示した際に映像ファイルと音声ファイルとを配信する手順の一例を示している。
図10Aに示すように、ユーザがパーソナルトレーニング画面530にて、再生ボタン533、534を押下すると、HTMLファイルのスクリプトが呼び出され、コンテンツの再生が指示された「映像ID」と「ユーザID」を引数とし、コンテンツの再生が指示される。そして、図18のフローを開始する。
図2、図15A、図15B、図15Cおよび図18に示すように、始めに、主制御部223は、コンテンツを再生する指示を受け、トレーナ機器102から通信部222を介して引数である「ユーザID」と「映像ID」とを取得する(ステップS1201)。
次に、主制御部223は、映像ファイルとともに配信すべき音声ファイルを決定するよう映像音声配信制御部210に指示し、「音声ID」を決定する(ステップS1202)。映像音声配信制御部210が「音声ID」を決定する手順の詳細は、後述の図19で説明する。
次に、主制御部223は、所定の「映像ID」の映像ファイルと、ステップS1202で取得した所定の「音声ID」の音声ファイルとからなるコンテンツの配信(動画配信)を動画配信部220に指示する。動画配信部220は、指示された映像IDに対応する映像ファイルと、音声IDに対応する音声ファイルととからなるコンテンツを配信する(ステップS1203)。この際、映像ファイルと音声ファイルとを1つのコンテンツとして配信する必要がある場合には、映像ファイルと音声ファイルとを多重化し、配信に適したフォーマットにエンコードした後に配信する。
次に、主制御部223は、トレーニング履歴の更新を行う(ステップS1204)。具体的には、引数で指定された「ユーザID」、引数で指定された「映像ID」、「映像ID」に対応する「タイトル」、ステップS1202で決定された「音声ID」、トレーニングプログラムを実施する日を「実施日」、現在の時間を「実施時刻」として、トレーニング履歴記憶部207のトレーニング履歴に追加する。こうして、このフローは終了する。
図19は、ユーザの「音声ID」を決定する手順の一例を示すフローチャートである。
図2、および図19に示すように、始めに、映像音声配信制御部210は、主制御部223の指示により、再生指示の引数である「ユーザID」、「映像ID」を取得する(ステップS1301)。
次に、映像音声配信制御部210は、トレーニング履歴記憶部207で管理しているトレーニング履歴から、ステップS1301で取得した「ユーザID」に関するトレーニング履歴を取得する(ステップS1302)。なお、全てのトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得してもよいし、一定期間におけるトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得してもよい。本実施の形態では、最新の一か月分のトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得するものとする。
次に、映像音声配信制御部210は、音声メタ記憶部204で管理している音声メタデータ情報330から、「対応映像ID」がステップS1301で取得した「映像ID」と等しい音声メタデータを全て取得する(ステップS1303)。
次に、映像音声配信制御部210は、ステップS1302で取得したトレーニング履歴を参照し、「対応映像ID」がステップS1301で取得した「映像ID」と等しいトレーニング履歴があるか否かを判定する(ステップS1304)。
「対応映像ID」がステップS1301で取得した「映像ID」と等しいトレーニング履歴がない場合は、判定結果がNOとなり、ステップS1305に進む。この場合、映像音声配信制御部210は、ステップS1303で取得した音声メタデータ情報330のうち、対象属性がユーザ属性を満たす「音声ID」が存在するか否かを判定する(ステップS1305)(ステップS1332は制御ステップの一例)。
「対象属性」がユーザ属性を満たす「音声ID」が存在する場合には、判定結果がYESとなり、ステップS1331に進む。この場合では、映像音声配信制御部210は、「対象属性」がユーザ属性を満たす1番目の「音声ID」に決定する(ステップS1331)(ステップS1332は制御ステップの一例)。映像音声配信制御部210は、映像ファイルに対応する複数の音声ファイルは予め順序付けされており、この順序付けされた1番目の「音声ID」を有する音声ファイルに決定する。そして、このフローは終了する。
例えば、「対象属性」がユーザ属性を満たすかどうかは、「会員情報」から当該「ユーザID」に対する生年月日を参照して年代を取得することで、音声メタデータ情報330の「対象属性」にこれを満たすものが存在するかどうかを判定することができる。
一方、「対象属性」がユーザ属性を満たす「音声ID」が存在しない場合には、判定結果がNOとなり、ステップS1332に進む。この場合では、映像音声配信制御部210は、映像ファイルの「映像ID」に対応する「対応映像ID」を有する音声ファイルに決定する(ステップS1332)(ステップS1332は制御ステップの一例)。
例えば、図5の「映像ID」が「1002」の場合、この「映像ID」に対応する、図6の「対応映像ID」の「1002」を有する「音声ID」は、「2003」、「2004」、および「2005」である。順序付けされた音声ファイルの1番目の音声メタデータ情報330の「音声ID」は「2003」であるため、映像音声配信制御部210は、この「音声ID」の「2003」を映像ファイルに対応する音声ファイルに決定する。そして、このフローは終了する。
「対応映像ID」がステップS1301で取得した「映像ID」と等しいトレーニング履歴がある場合は、判定結果がYESとなり、ステップS1306に進む。
「対応映像ID」がステップS1301で取得した「映像ID」と等しいトレーニング履歴がある場合は、判定結果がYESとなり、映像音声配信制御部210は、「対応映像ID」がステップS1301で取得した「映像ID」と等しいトレーニング履歴のうち、最新のトレーニング履歴の「音声ID」を取得する(ステップS1306)。
次に、映像音声配信制御部210は、ステップS1306で取得した「音声ID」を有する音声ファイルの習得度を取得する(ステップS1307)。習得度を取得する手順の詳細については、後述する。ここで習得度とは、各留意点をユーザがどれだけ習得しているかを示す度合いである。
次に、映像音声配信制御部210は、ステップS1307で取得した習得度が一定値未満であるか否かを判定する(ステップS1308)。本実施の形態では、習得度が1.0未満であるか否かで、習得度が一定値未満か否かを判定する。
習得度が一定値未満である場合には、判定結果がYESとなり、ステップS1309に進む。この場合には、映像音声配信制御部210は、ステップS1306で取得した最新のトレーニング履歴と同じ「音声ID」を有する音声ファイルに決定する(ステップS1309)。そして、このフローは終了する。
習得度が一定値以上である場合には、判定結果がNOとなり、ステップS1310に進む。この場合には、変数Mに「1」を代入する(ステップS1310)。変数のMとは、映像ファイルに対応する複数ある音声ファイルの個数を自然数Nとした場合に、N以下の自然数であり、予め順序付けされたN個の音声ファイルのうち、M番目の「音声ID」を有する音声ファイルである。
次に、映像音声配信制御部210は、ステップS1303で取得した音声メタデータ情報330のうち、M番目の音声メタデータ情報330の「音声ID」について、習得度を取得する(ステップS1311)。習得度を取得する手順の詳細については、後述する。
次に、映像音声配信制御部210は、変数Mに値「1」を加算する(ステップS1312)。
次に、M+1>Nであるか否かを判定する。言い換えれば、M+1番目の音声メタデータ情報330が存在しないか否かを判定する(ステップS1313)。
M+1>Nを満たさない場合、判定結果がNOとなり、ステップS1311に戻る。M+1>Nを満たさない場合とは、M+1≦Nであることを意味し、M+1番目以降の音声が存在していることを意味している。
映像音声配信制御部210は、M+1>Nを満たす場合、判定結果がYESとなり、ステップS1303で取得した音声メタデータ情報330のうち、「対象属性」がユーザ属性を満たし、かつ習得度が一定値未満となる「音声ID」が存在するか否かを判定する(ステップS1314)。
「対象属性」がユーザ属性を満たし、かつ習得度が一定値未満となる「音声ID」が存在する場合には、映像音声配信制御部210は、「対象属性」がユーザ属性を満たし、かつ習得度が一定値未満となる1番目の音声メタデータ情報330の「音声ID」を有する音声ファイル決定する(ステップS1333)。そして、このフローは終了する。
一方、「対象属性」がユーザ属性を満たし、かつ習得度が一定値未満となる「音声ID」が存在しない場合には、映像音声配信制御部210は、習得度が一定値未満となる「音声ID」が存在しているか否かを判定する(ステップS1334)。
習得度が一定値未満となる「音声ID」が存在している場合には、判定結果がYESとなり、映像音声配信制御部210は、習得度が一定値未満となる「音声ID」において、順序付けされた1番目の音声メタデータ情報330の「音声ID」を有する音声ファイルに決定する(ステップS1335)(ステップS1307〜ステップS1314、およびステップS1333〜ステップS1336は、制御ステップの一例)。そして、このフローは終了する。
一方、習得度が一定値未満となる「音声ID」が存在していない場合には、判定結果がNOとなり、映像音声配信制御部210は、1番目の音声メタデータ情報330の「音声ID」を有する音声ファイルに決定する(ステップS1336)。そして、このフローは終了する。
なお、本実施の形態において、条件を満たす「音声ID」が複数存在する場合には、ステップS1331、S1332、S1333、S1335、S1336のように1番目の「音声ID」に決定することとしているが、これはあくまでも一例であり、これらに限定されない。例えば、条件を満たす「音声ID」の中から1つの「音声ID」をランダムに選択(決定)してもよい。
以上のようにして、映像音声配信制御部210は、ユーザ属性である年代やユーザのトレーニング履歴による各音声への習得度から「音声ID」を決定し、「音声ID」を取得する。
図20は、図19の変形例において映像音声配信制御部210が行うユーザの「音声ID」を決定する手順の一例を示すフローチャートである。図20は、図19とは異なる手順の一例を示している。
図20に示すフローを開始する。始めに、映像音声配信制御部210は、主制御部223の指示により、再生指示の引数である「ユーザID」、「映像ID」を取得する(ステップS1301)。
次に、映像音声配信制御部210は、トレーニング履歴記憶部207で管理しているトレーニング履歴から、ステップS1301で取得した「ユーザID」に関するトレーニング履歴を取得する(ステップS1302)。なお、全てのトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得してもよいし、一定期間におけるトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得してもよい。本実施の形態では、最新の一か月分のトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得するものとする。
次に、映像音声配信制御部210は、音声メタ記憶部204で管理している音声メタデータ情報330から、「対応映像ID」の値がステップS1301で取得した「映像ID」と等しい音声メタデータを全て取得する(ステップS1303)。
次に、映像音声配信制御部210は、変数Mに「1」を代入する(ステップS1321)。
次に、映像音声配信制御部210は、M番目の「音声ID」について、習得度を取得する(ステップS1322)。習得度取得の手順の詳細については、後述する。
次に、映像音声配信制御部210は、変数Mに値「1」を加算する(ステップS1323)。
次に、映像音声配信制御部210は、M+1>Nであるか否かを判定する。言い換えれば、映像音声配信制御部210は、M+1番目の音声メタデータ情報330が存在しないか否かを判定する(ステップS1324)。
次に、M+1>Nを満たさない場合には、判定結果がNOとなり、ステップS1322に戻る。
一方、M+1>Nを満たす場合には、判定結果がYESとなり、ステップS1325に進む。
次に、映像音声配信制御部210は、ステップS1322で取得した各「音声ID」に対する習得度を比較し、習得度の一番低い「音声ID」を有する音声ファイルに決定する(ステップS1325)(ステップS1321〜ステップS1325は制御ステップの一例)。そして、このフローは終了する。
以上のようにして、映像音声配信制御部210は、ユーザのトレーニング履歴による各音声への習得度から「音声ID」を決定し、「音声ID」を取得する。
ここで、ステップS1307、ステップS1311、ステップS1322における「音声ID」に対する習得度の取得手順について説明する。なお、例えば、ステップS1308、ステップS1314、ステップS1334等において、本実施の形態では、「音声ID」の習得度が一定値未満であるか否かにより判断を行っているが、単純に再生回数と習得回数とを比較して再生回数が習得回数よりも大きいか否かを判断してもよく、このような判断のステップを挿入してもよい。また、「音声ID」の習得度が一定値未満であるか否かにより判断するステップは、図19に限らず、図20等で存在してもよい。
本実施の形態では、トレーニングを正しく行うための数多くの留意点を、複数の音声ファイルとして1つの映像ファイルに紐付けることで、ユーザが同一のトレーニングを行う場合でも、異なる留意点を音声として聞くことができる。「音声ID」ごとにユーザの習得度を取得し、習得度が一定値未満である「音声ID」や習得度が一番低い「音声ID」を決定し、映像とともに決定した「音声ID」の音声を配信することが目的である。
図21は、音声IDに対する習得度を取得する手順の一例を示すフローチャートである。
図21に示すフローを開始する。始めに、映像音声配信制御部210は、主制御部223の指示により、ステップS1302で取得した一定期間におけるトレーニング履歴から、指定された「音声ID」を含む再生回数をトレーニング履歴記憶部207から取得する(ステップS1401)。
次に、映像音声配信制御部210は、ステップS1303で取得した音声メタデータ情報330を参照し、指定された「音声ID」の習得再生回数の値をトレーニング履歴記憶部207から取得する(ステップS1402)。
次に、映像音声配信制御部210は、習得度としてステップS1401で取得した再生回数をステップS1402で取得した習得再生回数で割った値を取得する(ステップS1403)。そして、このフローは終了する。
以上のように、映像音声配信制御部210は、同一の「音声ID」におけるユーザの再生回数と「音声ID」の留意点を習得するために必要な習得再生回数とから、習得度を算出する。
図22は、音声IDに対する習得度を取得する手順の一例を示すフローチャートである。図22は、図21とは異なる手順の一例を示している。また、図22は、トレーニング履歴だけでなく、来館履歴を用いて習得度を算出している部分が図21と異なる。
図22に示すフローを開始する。始めに、映像音声配信制御部210は、ステップS1302で取得した一定期間におけるトレーニング履歴から、指定された「音声ID」を含む再生回数を取得する(ステップS1401)。
次に、映像音声配信制御部210は、来館履歴から、指定の「音声ID」、「トレーナ識別」、「音声ID」、および「対応映像ID」の店舗運動履歴数を取得する(ステップS1404)。
具体的には、映像音声配信制御部210は、音声メタデータ情報330を参照し、「音声ID」、「対応映像ID」、「録音店舗」、および「トレーナ識別」を取得する。そして、映像音声配信制御部210は、コンテンツメタデータ情報320を参照し、「対応映像ID」に対応する「映像ID」の「タイトル」を取得する。そして、映像音声配信制御部210は、店舗プログラムの構成情報701を参照し、取得した「タイトル」が含まれている「プログラム識別」を全て取得する。そして、映像音声配信制御部210は、ユーザの店舗履歴情報730のうち、「プログラム識別」、「店舗識別」、および「トレーナ識別」に基づく店舗履歴情報730の数を店舗運動履歴数として取得する。
なお、本実施の形態では、「プログラム識別」、「店舗識別」、および「トレーナ識別」に基づく店舗履歴情報730の数を店舗運動履歴数として取得したが、これに限定されない。
例えば、「プログラム識別」、「トレーナ識別」に基づく店舗履歴情報730の数を店舗運動履歴数として取得してもよい。また、例えば、「スタジオ識別」を取得し、「プログラム識別」、「店舗識別」、「スタジオ識別」、「トレーナ識別」に基づく店舗履歴情報730の数を店舗運動履歴数として取得してもよい。
次に、映像音声配信制御部210は、ステップS1303で取得した音声メタデータ情報330を参照し、指定された「音声ID」の習得再生回数を取得する(ステップS1402)。
次に、映像音声配信制御部210は、ステップS1401で取得した再生回数と、ステップS1404で取得した店舗運動回数とを加算した値を算出し、この値をステップS1402で取得した習得再生回数で除算して習得度を算出し、習得度を取得する(ステップS1405)。そして、このフローは終了する。店舗運動回数とは、ユーザが店舗に訪れ、トレーナから直接指導を受けてトレーニングを行った回数で、1回のトレーニングにつきこのトレーニングに対応する「音声ID」の習得再生回数が1回加算される。
以上のように、映像音声配信制御部210は、オンラインのトレーニング履歴と来館履歴とから習得度を算出する。
図23は、図21の変形例において「音声ID」に対する習得度を取得する手順を示すフローチャートである。図23は、図21及び図22とは異なる手順の一例を示す変形例である。
例えば、習得再生回数が2回の音声について、トレーニング履歴が2回である場合でも、1回目の再生と2回目の再生との間に一定期間(例えば1週間以上)のインターバルがあった場合には、1回目の内容を忘れてしまっており、2回目の再生で習得できない可能性がある。そこで、図23では、トレーニング履歴の間隔を考慮して、単純に再生回数を取得するのではなく有効再生回数を取得している点で図21、22と異なる。
図23に示すフローを開始する。始めに、映像音声配信制御部210は、変数Mに「1」、変数Kに「0」、変数Lに「0」を代入する(ステップS1501)。
次に、映像音声配信制御部210は、M>Nであるか否かを判定する。言い換えれば、映像音声配信制御部210は、ステップS1302で取得したトレーニング履歴に指定された「音声ID」のM番目のトレーニング履歴が存在しないか否かを判定する(ステップS1502)。
M>Nを満たさない場合には、判定結果がNOとなり、ステップS1503に進む。この場合には、映像音声配信制御部210は、変数Lに「1」を代入する(ステップS1503)。
次に、映像音声配信制御部210は、変数Kに「1」を代入する(ステップS1504)。
次に、映像音声配信制御部210は、変数Mの値に「1」を加算する(ステップS1505)。
次に、映像音声配信制御部210は、M+1>Nであるか否かを判定する。言い換えれば、映像音声配信制御部210は、ステップS1302で取得したトレーニング履歴に指定された「音声ID」を含むM+1番目のトレーニング履歴が存在しないか否かを判定する(ステップS1506)。
M+1>Nを満たさない場合は、判定結果がNOとなり、ステップS1507に進む。この場合、映像音声配信制御部210は、指定された「音声ID」のM−1番目のトレーニング履歴(M−1番目の実施日)と、N番目のトレーニング履歴(N番目の実施日)を参照して間隔(M−1番目の実施日からN番目の実施日までの期間)を算出する。そして、映像音声配信制御部210は、この間隔が一定期間以内(例えば1週間以内)であるか否かを判定する(ステップS1507)。
間隔が一定期間以内の場合は、判定結果がYESとなり、ステップS1508に進む。この場合、映像音声配信制御部210は、Kの値に「1」を加算する(ステップS1508)。そして、ステップS1505に戻る。
一方、間隔が一定期間を経過している場合は、判定結果がNOとなり、ステップS1509に進む。この場合、映像音声配信制御部210は、K>Lを満たすか否かを判定する(ステップS1509)。K>Lを満たす場合は、判定結果がNOとなり、ステップS1504に戻る。
K>Lを満たさない場合は、判定結果がYESとなり、映像音声配信制御部210がLにKの値を代入し、ステップS1504に戻る(ステップS1510)。
ステップS1506においてM+1>Nを満たす場合、判定結果はYESとなり、ステップS1511に進む。この場合、映像音声配信制御部210は、K>Lを満たすか否かを判定する(ステップS1511)。
K>Lを満たす場合、判定結果はYESとなり、ステップS1512に進む。この場合、映像音声配信制御部210がLにKの値を代入し、ステップS1513に進む(ステップS1512)。
K>Lを満たさない場合、判定結果はNOとなり、ステップS1513に進む。また、ステップS1502において、M>Nを満たす場合にも、判定結果がYESとなり、ステップS1513に進む。
映像音声配信制御部210は、ステップS1303で取得した音声メタデータ情報330を参照し、指定された「音声ID」の習得再生回数を取得する(ステップS1513)。
次に、映像音声配信制御部210は、有効な連続再生回数であるLの値をステップS1513で取得した習得再生回数で除算した値を算出して取得する。そして、このフローは終了する。
ここで、「ユーザID」が「AA0003」、会員種別がオンラインであるユーザが再生指示を行った際に、音声ファイルが決定されて、映像ファイルに音声ファイルが付随したコンテンツが再生される流れを、図2、図6、図18、図19、図21、図23のフローチャートと実際のデータを用いて説明する。
「ユーザID」が「AA0003」であるユーザは、自身のパーソナルトレーニング画面530にアクセスすると、トレーナが「ユーザID」の「AA0003」向けに作成したトレーニングメニュー503がパーソナルトレーニング画面530に表示される。ユーザは、トレーニングメニューである「英雄のポーズ」と「プッシュアップ」のうち、「英雄のポーズ」の再生を指示することで、クラウドサーバ111に「ユーザID」と「映像ID」とを引数としたコンテンツを再生する指示が送られる。
始めに、映像音声配信制御部210は、コンテンツを再生する指示を受け、トレーナ機器102から通信部222を介して引数である「ユーザID」の「AA0003」と「映像ID」の「1002」を取得する(ステップS1201)。
次に、映像音声配信制御部210は、映像ファイルとともに配信すべき音声ファイルを決定するよう音声配信制御部210に指示し、「音声ID」を決定する(ステップS1202)。
ここで、図19と実際のデータとを用いて、音声配信制御部210が「音声ID」を決定する手順について説明する。
始めに、音声配信制御部210は、映像音声配信制御部210からの再生指示である「ユーザID」の「AA0003」、「映像ID」の「1002」を取得する(ステップS1301)。
次に、映像音声配信制御部210は、トレーニング履歴記憶部207で管理しているトレーニング履歴から、ステップS1301で取得した「ユーザID」の「AA0003」に関するトレーニング履歴903を取得する(ステップS1302)。本実施の形態では、最新の一か月分のトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得するものとする。
次に、映像音声配信制御部210は、音声メタ記憶部204で管理している音声メタデータ情報330から、「対応映像ID」の値がステップS1301で取得した「映像ID」の「1002」と等しい音声ファイルのメタデータ情報、すなわち、「音声ID」が「2003」、「2004」、「2005」である音声ファイルのメタデータ情報を取得する(ステップS1303)。
次に、映像音声配信制御部210は、ステップS1302で取得したトレーニング履歴903を参照し、「映像ID」がステップS1301で取得した「映像ID」の「1002」と等しいトレーニング履歴があるか否かを判定する(ステップS1304)。
図15Cのトレーニング履歴903における項目「映像ID」の「1002」は、2つのトレーニング履歴が存在しているため、判定結果はYESである。この場合、「映像ID」がステップS1301で取得した「映像ID」の「1002」と等しいトレーニング履歴のうち、最新のトレーニング履歴の「音声ID」を取得する(ステップS1306)。図15Cのトレーニング履歴903において、「映像ID」の「1002」における2つのトレーニング履歴のうち、実施日が2016/3/1(項目を入れて3行目)が最新である。映像音声配信制御部210は、この最新の実施日のトレーニング履歴における「音声ID」の「2003」を取得する。
次に、映像音声配信制御部210は、ステップS1306で取得した「音声ID」の「2003」について、習得度を取得する(ステップS1307)。ここで、図21と実際のデータを用いて習得度取得の手順を説明する。
始めに、映像音声配信制御部210は、ステップS1302で取得した一定期間におけるトレーニング履歴903から、指定された「音声ID」の「2003」を含む再生回数を取得する(ステップS1401)。トレーニング履歴903には、「音声ID」の「2003」である履歴が2つ存在するため、再生回数は「2」となる。
次に、映像音声配信制御部210は、ステップS1303で取得した音声メタデータ情報330を参照し、指定された「音声ID」の「2003」の習得再生回数の値である「2」を取得する(ステップS1402)。
次に、映像音声配信制御部210は、習得度としてステップS1401で取得した再生回数「2」をステップS1402で取得した習得再生回数「2」で除算した値から「1.0」を取得する。(ステップS1403)。ここで、図19のフローチャートに戻る。
次に、ステップS1307で取得した習得度「1.0」が一定値未満か否かを判定する(ステップS1308)。本実施の形態では、映像音声配信制御部210は、習得度が1.0未満であるか否かで、一定値未満か否かを判定する。
ステップS1308の判定結果がNOであるため、ステップS1310に進む。この場合、変数Mに「1」を代入する(ステップS1310)。
次に、映像音声配信制御部210は、ステップS1303で取得した音声メタデータ情報330、すなわち「対応映像ID」が「1002」である音声メタデータ情報330のうち、M番目(ここではM=1番目)の音声メタデータ情報330の「音声ID」の「2003」について、習得度を取得する(ステップS1311)。現在の習得度は「0.5」である。
次に、Mの値に「1」を加算して「2」とする(ステップS1312)。
次に、映像音声配信制御部210は、2>Nであるか否かを判断する。言い換えれば、映像音声配信制御部210は、2番目の音声メタデータ情報330が存在しないか否かを判定する(ステップS1313)。
ステップS1313の判定結果がNOである場合、ステップS1311に戻る。
次に、映像音声配信制御部210は、ステップS1303で取得した音声メタデータ情報330、すなわち「対応映像ID」が「1002」である音声メタデータ情報330のうち、M番目(M=2番目)の音声メタデータ情報330の「音声ID」の「2003」について、習得度を取得する(ステップS1311)。
図21のフローチャートでも、同様に習得度「1.0」を取得する。
次に、映像音声配信制御部210は、ステップS1311で取得した習得度が一定値未満か否かを判定する(ステップS1312)。本実施の形態では、映像音声配信制御部210は、1.0未満であるか否かで、一定値未満か否かを判定する。
判定結果がYESであるため、M番目(ここではM=2番目)の「音声ID」である「2004」に決定し、処理を終了する(ステップS1313)。
以上のようにして、「音声ID」の「2003」が決定される。そして、図18に戻る。
次に、主制御部223は、引数である「映像ID」の「1002」と、ステップS1202で取得した「音声ID」の「2003」とから、コンテンツの配信を行うように動画配信部220に指示する。動画配信部220は、指示された「映像ID」に対応する映像ファイルと、「音声ID」に対応する音声ファイルとを用いて、コンテンツを配信する(ステップS1203)。
この際、映像ファイルと、音声ファイルとを1つのコンテンツとして配信する必要がある場合には、映像ファイルと音声ファイルとを多重化し、配信に適したフォーマットにエンコードした後に配信する。
次に、主制御部223は、トレーニング履歴903の更新を行う(ステップS1204)。具体的には、主制御部223は、引数で指定された「ユーザID」である「AA0003」、引数で指定された「映像ID」である「1002」、「映像ID」に対応するタイトルである「英雄のポーズ」、ステップS1202で決定された「音声ID」である「2003」を、トレーニング履歴記憶部207のトレーニング履歴903に追加する。また、主制御部223は、現在の日時が2016年の3月6日の20時であれば、「実施日」である「2016/3/6」、「実施時刻」である「20:00:00」を、トレーニング履歴記憶部207のトレーニング履歴903に追加する。
ここで、前述のステップS1307において、図21とは異なる「音声ID」の決定手順である図23のフローチャートと実際のデータとを用いて、習得度を決定する手順について説明する。
始めに、変数Mに「1」、変数Kに「0」、変数Lに「0」を代入する(ステップS1501)。
次に、映像音声配信制御部210は、M>Nを満たすか否かを判断する。言い換えれば、ステップS1302で取得したトレーニング履歴903に指定された「音声ID」の「2003」のM番目(ここではM=1番目)のトレーニング履歴が存在しないか否かを判定する(ステップS1502)。
1>Nとなり、ステップS1302で取得した図15Cのトレーニング履歴903における項目「音声ID」の「2003」は、2つのトレーニング履歴が存在しているため(N=2である)、判定結果はNOである。この場合、変数Lに「1」を代入する(ステップS1503)。
次に、映像音声配信制御部210は、変数Kに「1」を代入する(ステップS1504)。
次に、映像音声配信制御部210は、変数Mの値に「1」を加算して「2」とする(ステップS1505)。
次に、映像音声配信制御部210は、M+1>Nを満たすか否かを判定する。言い換えれば、映像音声配信制御部210は、ステップS1302で取得したトレーニング履歴に指定された「音声ID」の「2003」を含む2番目のトレーニング履歴が存在しないか否かを判定する(ステップS1506)。
そして、2>2では、M+1>Nを満たさないため、ステップS1506の判定結果がNOとなり、ステップS1507に進む。この場合、映像音声配信制御部210は、指定された「音声ID」の「2003」のM−1(=1)番目のトレーニング履歴の実施日とM(=2)番目のトレーニング履歴の実施日を参照し、間隔が一定期間以内、例えば1週間以内か否かを判定する(ステップS1507)。1番目のトレーニング履歴の実施日が「2016年2月18日」であり、2番目のトレーニング履歴の実施日が「2016年3月1日であるため、判定結果はNOとなり、ステップS1509に進む。
この場合、映像音声配信制御部210は、K(=1)>L(=1)を満たすか否かを判定する(ステップS1509)。
1=1であるため、判定結果がNOとなり、ステップS1504に戻る。
次に、映像音声配信制御部210は、変数Kに「1」を代入する(ステップS1504)。
次に、映像音声配信制御部210は、変数Mの値に「1」を加算して「3」とする(ステップS1505)。
次に、映像音声配信制御部210は、3>Nを満たすか否かを判定する。言い換えれば、映像音声配信制御部210は、ステップS1302で取得したトレーニング履歴に指定された「音声ID」の「2003」を含む3番目のトレーニング履歴が存在しないか否かを判定する(ステップS1506)。
N=2であり、判定結果がYESとなるため、ステップS1511に進む。この場合、映像音声配信制御部210は、K(=1)>L(=1)を満たすか否かを判定する(ステップS1511)。1=1であるため、ステップS1513に進む。
次に、映像音声配信制御部210は、ステップS1303で取得した音声メタデータ情報330を参照し、指定された「音声ID」の習得再生回数として「2」を取得する(ステップS1513)。
次に、映像音声配信制御部210は、有効な連続再生回数であるLの値である「1」をステップS1513で取得した習得再生回数である「2」で割った値として「0.5」を算出する。
図19に戻り、映像音声配信制御部210は、ステップS1307で取得した習得度「0.5」が一定値未満か否かを判定する(ステップS1308)。本実施の形態では、習得度が1.0未満であるか否かで、一定値未満か否かを判定する。この場合、判定結果がYESとなり、ステップS1309に進む。この場合、ステップS1306で取得した最新のトレーニング履歴と同じ「音声ID」である「2003」に決定し、処理を終了する(ステップS1309)。
以上のように、前述のステップS1307において、図21とは異なる「音声ID」を」決定する手順である図23のフローチャートを用いた場合には、「音声ID」は「2003」に決定し、「映像ID」の「1002」、「音声ID」の「2003」のコンテンツがユーザに配信される。
ここで、「ユーザID」が「AA0002」、会員種別がレギュラー会員であるユーザが再生指示を行った際に、音声ファイルが決定された映像ファイルに、音声ファイルが付随したコンテンツが再生される流れを図2、図6、図15B、図18、図20、および図22のフローチャートと実際のデータを用いて説明する。
会員情報記憶部201は、会員情報一覧表301を保持している。音声メタ記憶部204は、コンテンツメタ記憶部203は、コンテンツメタデータ情報320を保持している。音声メタデータ情報330を保持している。トレーニングメニュー記憶部206は、パーソナルトレーニングメニュー一覧表501を保持している。店舗プログラム情報記憶部208は、店舗プログラムの構成情報701およびスケジュール情報710を保持している。店舗履歴記憶部205は、店舗履歴情報730を保持している。トレーニング履歴記憶部207は、トレーニング履歴901、トレーニング履歴902、トレーニング履歴903を保持している。
「ユーザID」が「AA0002」であるユーザがパーソナルトレーニング画面530にて、「鳩のポーズ」を再生するための再生ボタン533を押下すると、HTMLファイルのスクリプトが呼び出され、再生が指示された「映像ID」の「1001」と「ユーザID」の「AA0002」を引数とし、コンテンツの再生指示がなされる。
始めに、主制御部223は、コンテンツを再生する指示を受け、トレーナ機器102から通信部222を介して引数である「ユーザID」の「AA0002」と「映像ID」の「1001」を取得する(ステップS1201)。
次に、主制御部223は、映像ファイルとともに配信すべき音声ファイルを決定するよう音声配信制御部210に指示し、「音声ID」を決定する(ステップS1202)。
ここで、図20のフローチャートと実際のデータを用いて、「音声ID」を決定する手順について説明する。
始めに、再生指示の引数である「ユーザID」の「AA0002」、「映像ID」の「1001」を取得する(ステップS1301)。
次に、トレーニング履歴記憶部207で管理しているトレーニング履歴から、ステップS1301で取得した「ユーザID」の「AA0002」に関するトレーニング履歴902を取得する(ステップS1302)。なお、全てのトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得してもよいし、一定期間におけるトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得してもよい。本実施の形態では、最新の一か月分のトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得するものとする。
次に、音声メタ記憶部204で管理している音声メタデータ情報330から、「対応映像ID」の値がステップS1301で取得した「映像ID」の「1001」と等しい音声メタデータ、すなわち、「音声ID」が「2001」、「2002」である音声メタデータ情報330を取得する(ステップS1303)。
次に、映像音声配信制御部210は、変数Mに「1」を代入する(ステップS1321)。
次に、映像音声配信制御部210は、M番目(ここではM=1番目)の「音声ID」の「2001」について、習得度を取得する(ステップS1322)。
ここで、図22のフローチャートと実際のデータを用いて、習得度を取得する手順について説明する。
始めに、ステップS1302で取得した一定期間におけるトレーニング履歴902から、指定された「音声ID」の「2001」を含む再生回数を取得する(ステップS1401)。
トレーニング履歴902には、「音声ID」の「2001」である履歴が1つ存在するため、再生回数は「1」である。
次に、来館履歴から、「音声ID」に対応する「トレーナ識別」、および「対応映像ID」と同一の「タイトル」の店舗運動履歴数を取得する(ステップS1404)。
具体的には、音声メタデータ情報330を参照し、指定の「音声ID」である「2001」の「対応映像ID」である「1001」と、「録音店舗」である「梅田」と、「トレーナ識別」である「ユミ」とを取得する。そして、コンテンツメタデータ情報320を参照し、「対応映像ID」のタイトルである「鳩のポーズ」を取得する。そして、店舗プログラムの構成情報701を参照し、取得した「タイトル」を含む「プログラム識別」を全て、すなわち、「ヨガ初級」、「ヨガ中級」取得する。そして、店舗履歴情報730を参照し、当該「ユーザID」の「AA0002」の店舗履歴情報730のうち、「プログラム識別」が「ヨガ初級」もしくは「ヨガ中級」と等しく、かつ、「店舗識別」が「梅田」と等しく、かつ、「トレーナ識別」が「ユミ」と等しい店舗履歴情報730の数を店舗運動履歴数として取得する。条件を満たす店舗履歴情報730は「0」であるため、店舗運動履歴数は「0」である。
次に、ステップS1303で取得した音声メタデータ情報330を参照し、指定された「音声ID」の「2001」の習得再生回数の値である「2」を取得する(ステップS1402)。
次に、習得度としてステップS1401で取得した再生回数「1」とステップS1404で取得した店舗運動回数である「0」を足した値である「1」を、ステップS1402で取得した習得再生回数である「2」で割った値として「0.5」を取得して終了する(ステップS1405)。そして、図20に戻る。
次に、Mの値「1」を加算して「2」とする(ステップS1323)。
次に、映像音声配信制御部210は、M+1>Nを満たすか否かを判断する。言い換えれば、映像音声配信制御部210は、M+1番目(ここではM=2番目)の音声メタデータ情報330が存在しないか否かを判定する(ステップS1324)。
2=2であるため、ステップS1324の判定結果がNOとなり、ステップS1322に戻る。
次に、映像音声配信制御部210は、M番目(ここではM=2番目)の「音声ID」の「2002」について、習得度を取得する(ステップS1322)。そして、図22に戻る。
図22では、フローチャートと実際のデータを用いて、習得度を取得する手順について説明する。
図22に示すように、始めに、図20のステップS1302で取得した図15Bの一定期間におけるトレーニング履歴902から、指定された「音声ID」の「2002」を含む再生回数を取得する(ステップS1401)。トレーニング履歴902には、「音声ID」の「2001」である履歴が存在しないため、再生回数は「0」である。
次に、来館履歴から、指定の「音声ID」の「トレーナ識別」を持ち、かつ、指定の「音声ID」の「対応映像ID」と同一の「タイトル」の店舗運動履歴数を取得する(ステップS1404)。
具体的には、図6の音声メタデータ情報330を参照し、指定の「音声ID」である「2002」の「対応映像ID」である「1001」と、「録音店舗」である「新宿」と、「トレーナ識別」である「アイコ」とを取得する。そして、図5のコンテンツメタデータ情報320を参照し、「対応映像ID」のタイトルである「鳩のポーズ」を取得する。そして、店舗プログラムの構成情報701を参照し、取得したタイトルを含むプログラム識別を全て、すなわち、「ヨガ初級」、「ヨガ中級」取得する。そして、図13の店舗履歴情報730を参照し、当該「ユーザID」の「AA0002」の店舗履歴情報のうち、「プログラム識別」が「ヨガ初級」もしくは「ヨガ中級」であり、かつ、「店舗識別」が「新宿」であり、かつ、「トレーナ識別」が「アイコ」である店舗履歴情報の数を店舗運動履歴数として取得する。図13によれば、条件を満たす店舗履歴情報は「2」であるため、店舗運動履歴数は「2」となる。
次に、図20のステップS1303で取得した図6の音声メタデータ情報330を参照し、指定された「音声ID」の「2002」の習得再生回数の値である「3」を取得する(ステップS1402)。
次に、習得度としてステップS1401で取得した再生回数「0」とステップS1404で取得した店舗運動回数である「2」とを加算した値である「2」を、ステップS1402で取得した習得再生回数である「3」で除算した値として「0.67」を取得する。(ステップS1405)。そして、図20に戻る。
次に、Mの値「1」を加算して「3」とする(ステップS1323)。
次に、映像音声配信制御部210は、M+1>Nを満たすか否かを判定する。言い換えれば、映像音声配信制御部210は、M+1番目(ここではM+1=3番目)の音声メタデータ情報330が存在しないか否かを判定する(ステップS1324)。ここでは、ステップS1324の判定結果がNOとなるため、ステップS1322に戻る。
次に、映像音声配信制御部210は、M番目(ここではM=3番目)の「音声ID」の「2002」について、習得度を取得する(ステップS1322)。
次に、映像音声配信制御部210は、Mの値「1」を加算して「4」とする(ステップS1323)。
次に、映像音声配信制御部210は、M+1>Nを満たすか否かを判定する。言い換えれば、映像音声配信制御部210は、M+1番目(ここではM+1=4番目)の音声メタデータ情報330が存在しないか否かを判定する(ステップS1324)。ここでは、ステップS1324の判定結果がYESとなるため、ステップS1325に進む。この場合、映像音声配信制御部210は、ステップS1322で取得した各「音声ID」に対する習得度を比較し、それぞれの習得度を算出する。「音声ID」の「2001」における習得度は「0.5」であり、音声ID」の「2002」における習得度は「1.0」である。このため、習得度の一番低い「音声ID」の「2001」に決定する(ステップS1325)。そして、図18に戻る。なお、例えば、習得度が「0.5」以外に「0.2」、「0.7」等が存在している場合では、習得度の一番低い「0.2」に対応する「音声ID」に決定する。
図18に示すように、主制御部223は、引数である「映像ID」の「1001」とステップS1202で取得した「音声ID」の「2001」にて動画配信を行うように動画配信部220に指示する。そして、動画配信部220は、主制御部223で指示された「映像ID」に対応する映像ファイルと「音声ID」に対応する音声ファイルとを用いて、コンテンツを配信する(ステップS1203)。
この際、映像ファイルと音声ファイルとを1つのコンテンツとして配信する必要がある場合には、映像ファイルと音声ファイルとを多重化し、配信に適したフォーマットにエンコードした後に配信する。
次に、主制御部223は、トレーニング履歴の更新を行う(ステップS1204)。具体的には、図15Bおよび図18に示すように、「ユーザID」である「AA0002」、「映像ID」である「1001」、「映像ID」に対応する「タイトル」である「鳩のポーズ」、ステップS1202で決定された「音声ID」である「2001」、現在の日時が2016年3月6日の20時であれば、「実施日」を「2016/3/6」、「実施時刻」を「20:00:00」として、トレーニング履歴記憶部207のトレーニング履歴902に追加する(ステップS1205)。
以上のように、オンラインのトレーニング履歴と店舗でトレーニングプログラムに参加した店舗履歴とから、各「音声ID」に対する習得度を取得することで、映像ファイルとともに配信する「音声ID」に対応する音声ファイルを決定することができる。
ここで、「ユーザID」が「AA0001」であるユーザが再生指示を行った際に、音声ファイルが決定されて、映像ファイルに音声ファイルが付随したコンテンツが再生される流れを図18、図19のフローチャートと実際のデータを用いて説明する。
会員情報記憶部201は、会員情報一覧表301を保持している。コンテンツメタ記憶部203は、コンテンツメタデータ情報320を保持している。音声メタ記憶部204は、音声メタデータ情報330を保持している。トレーニングメニュー記憶部206は、パーソナルトレーニングメニュー一覧表501を保持している。トレーニング履歴記憶部207は、トレーニング履歴901、トレーニング履歴902、トレーニング履歴903を保持している。
図8に示すように、「ユーザID」が「AA0001」であるユーザは、自身のパーソナルトレーニング画面530にアクセスすると、トレーナが「ユーザID」の「AA0001」向けに作成したトレーニングメニュー503がパーソナルトレーニング画面530に表示される。ユーザは、トレーニングメニューである「プッシュアップ」と「クランチ」のうち、「プッシュアップ」の再生を指示することで、クラウドサーバ111に「ユーザID」と「映像ID」を引数としたコンテンツを再生する指示が送られる。
図18に示すように、始めに、主制御部223は、コンテンツを再生する指示を受け、トレーナ機器102から通信部222を介して引数である「ユーザID」の「AA0001」と「映像ID」の「1007」を取得する(ステップS1201)。
次に、主制御部223は、映像ファイルとともに配信すべき音声ファイルを決定するよう音声配信制御部210に指示し、「音声ID」を決定する(ステップS1202)。
ここで、図19と実際のデータを用いて、音声配信制御部210が「音声ID」を決定する手順について説明する。
始めに、再生指示の引数である「ユーザID」の「AA0001」、映像ID」の「1007」を取得する(ステップS1301)。
次に、トレーニング履歴記憶部207で管理しているトレーニング履歴から、ステップS1301で取得した「ユーザID」の「AA0001」に関するトレーニング履歴901を取得する(ステップS1302)。なお、全てのトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得してもよいし、一定期間におけるトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得してもよい。本実施の形態では、最新の一か月分のトレーニング履歴から「ユーザID」に関するトレーニング履歴を取得するものとする。
次に、音声メタ記憶部204で管理している音声メタデータ情報330から、「対応映像ID」の値がステップS1301で取得した図6の「映像ID」の「1007」と等しい音声メタデータ、すなわち、図6の「音声ID」が「2010」、「2011」、「2012」である音声メタデータ情報330を取得する(ステップS1303)。
次に、ステップS1302で取得した図15Aのトレーニング履歴901を参照し、「映像ID」がステップS1301で取得した図6の「映像ID」の「1007」と等しいトレーニング履歴があるか否かを判定する(ステップS1304)。
図15Aでは、「映像ID」の「1007」と等しいトレーニング履歴が存在しないため、ステップS1304の判定結果がNOとなり、ステップS1305に進む。
この場合、ステップS1303で取得した音声メタデータ情報330のうち「対象属性」がユーザ属性を満たす「音声ID」を検索する。
図6に示すように、映像音声配信制御部210は、音声メタデータ情報330を参照し、「ユーザID」の「AA0001」のユーザが「30代」であることが分かるため、取得した「音声ID」の「2010」、「2011」、「2012」から、「対象属性」を満たす「音声ID」を検索する。「音声ID」が「2011」の対象属性は、「30代」であり「対象属性」を満たしている。また、「音声ID」が「2012」の「対象属性」は、「全員」であり「対象属性」を満たしている。ここでは、主制御部223は、「音声ID」の並び順で若い番号である「2011」に決定し、処理を終了する。そして、図18に戻る。
図18に示すように、次に、主制御部223は、引数である図6の「映像ID」の「1007」とステップS1202で取得した図6の「音声ID」の「2011」にてコンテンツの配信を動画配信部220に指示する。動画配信部220は、指示された「映像ID」に対応する映像ファイルと「音声ID」に対応する音声ファイルとを用いて、コンテンツを配信する(ステップS1203)。
この際、映像ファイルと音声ファイルとを1つのコンテンツとして配信する必要がある場合には、映像ファイルと音声ファイルとを多重化し、配信に適したフォーマットにエンコードした後に配信する。
次に、主制御部223は、トレーニング履歴901の更新を行う(ステップS1204)。具体的には、図15Cに示すように、引数で指定された「ユーザID」である「AA0001」、引数で指定された「映像ID」である「1007」、「映像ID」に対応するタイトルである「プッシュアップ」、ステップS1202で決定された「音声ID」である「2011」、現在の日時が2016年の3月6日の20時であれば、「実施日」である「2016/3/6」、「実施時刻」である「20:00:00」を、トレーニング履歴記憶部207のトレーニング履歴903に追加する(ステップS1205)。
以上のように、ユーザの属性に合わせて、映像ファイルとともに配信する音声ファイルを決定することができる。
以上のように、ユーザに最適な音声が決定されることで、同一のトレーニングであっても映像ファイルに毎回異なる音声ファイルが付随したコンテンツを再生することになるため、ユーザにとっては、同一のトレーニングを行う場合でも、異なる留意点を音声データとして聞くことができるため、トレーニングを継続することでより正しくトレーニングを行えるようになり、正しく行わない場合に比べてより高いトレーニング効果を得ることができる。
本実施の形態では、オンライントレーニングで用いる映像ファイルや音声ファイルの制作工数を削減するため、店舗のスタジオやジムエリアで行われているプログラムを撮影、録音して映像ファイル、音声ファイルとして利用することを想定している。
図7B、および図17では、2回目以降、音声のみを録音してトレーナが手動で音声メタデータ情報330を入力して登録する場合の登録画面およびその処理手順について説明したが、2回目以降の音声ファイルおよび音声メタデータ情報330の登録は、自動化することができる。
図24は、音声ファイルが映像音声記憶部に自動的に登録される手順の一例を示すフローチャートである。
本実施の形態では、トレーナが店舗のトレーニングプログラムを実施する際に、ヘッドセットを装着してヘッドセットにてトレーニングプログラムの実施中に、トレーナの音声を自動で録音する。トレーニングプログラムの終了後にトレーナ機器102にログインし、録音した音声ファイルをトレーナ機器102にコピーすることで、トレーナ機器102がクラウドサーバ111に音声ファイルを送信し、音声ファイルの自動登録処理がされる。
なお、音声の録音方法やトレーナ機器102への音声ファイルの送信方法はこれに限定されない。例えば、ヘッドセットにWi−Fi(登録商標)等の無線通信機能や非接触通信機能を搭載して、トレーナ機器102に自動送信しても良い。
主制御部223が音声ファイルを取得すると、映像音声登録制御部209が音声登録処理を指示して、自動登録処理が開始される。
図24に示すように、初めに、映像音声登録制御部209は、主制御部223の指示により、音声ファイルを取得する(ステップS1601)。
次に、映像音声登録制御部209が音声メタ記憶部204から「トレーナ識別」を取得する(ステップS1602)。トレーナがトレーナ機器102にログインして音声ファイルをコピーする際に、音声ファイルと「トレーナ識別」とを紐付けて管理しておけば、音声ファイルとともに「トレーナ識別」をクラウドサーバ111に送信することで、「トレーナ識別」を取得することができる。音声ファイルを自動送信する場合には、トレーナごとに個別のヘッドセットを装着することで、トレーナ機器102が音声ファイルを取得する際に送信元のヘッドセットの機器を認証することにより、「トレーナ識別」を取得することができる。
次に、映像音声登録制御部209が店舗プログラムのスケジュール情報710を取得する(ステップS1603)。
次に、映像音声登録制御部209が音声ファイルの録音日時を取得する(ステップS1604)。
次に、映像音声登録制御部209がスケジュール情報710を参照し、音声ファイルの録音日時とトレーナ識別からどのプログラムかを特定し、店舗識別、スタジオ識別、プログラム識別を取得する(ステップS1605)。図12に示すように、例えば、スケジュール情報711のように、音声ファイルの録音日時が2016年2月28日の日曜日の18:00であり、「トレーナ識別」がテツヤである場合、音声ファイルの録音日時は一般的には録音を停止した時間であるため、録音日時がプログラムの終了時間と等しなる。また、「録音店舗」として「梅田」、および「プログラム識別」として「筋トレ中級」の音声メタデータ情報330を映像音声登録制御部209が取得する。
次に、図24に示すように、映像音声登録制御部209が習得再生回数を取得する(ステップS1606)。本実施の形態では、トレーナごとに習得再生回数を予め設定しておきその値を使用する。例えば、予め習得再生回数を「2」と設定している場合には習得再生回数「2」を取得する。
次に、映像音声登録制御部209が店舗履歴情報730を取得する(ステップS1607)。
次に、映像音声登録制御部209が「対象属性」を取得する(ステップS1608)。トレーナは店舗でのプログラム実施時に、プログラム出席者のユーザ属性や習得度合わせて、異なる留意点を発声する。言い換えれば、あるユーザ属性の出席者が多いプログラムで発声された留意点は、同じユーザ属性のユーザに適した留意点であると言える。例えば、同一プログラムにおいて、20代の女性が多く参加する回と40代女性が多く参加する回があった場合、オンライントレーニングを実施する40代女性は、40代女性が多く参加する回の音声の方が、より適している。本実施の形態では、店舗履歴情報730から、プログラムの参加者のユーザ属性を統計し、比率の多いユーザ属性を対象属性として取得することとする。
具体的には、映像音声登録制御部209は、店舗履歴情報730を参照し、ステップS1605で特定したプログラムに参加した全てのユーザの「ユーザID」を取得し、取得した全「ユーザID」について会員情報一覧表301を参照して生年月日から年代を取得する。そして、映像音声登録制御部209は、全「ユーザID」の年代を統計して、どの年代が多いかを特定し、比率の多い年代を「対象属性」として取得する。どの年代も比率が大きく変わらない場合には、「対象属性」を「全員」とする。
例えば、音声ファイルの録音日時が2016年2月28日の日曜日の18:00であり、ステップS1605で特定したプログラムが図12のスケジュール情報711であった場合、図13の店舗履歴情報730を参照して、スケジュール情報711に参加した「ユーザID」を取得する。すなわち、「店舗識別」が「梅田」、「スタジオ識別」が「B」、「プログラム識別」が「筋トレ中級」、「トレーナ識別」が「テツヤ」、「実施日」が「2016/2/28」、「終了時間」が「18:00」の条件を満たす店舗履歴情報730の「ユーザID」として、「AA0004」、「AA0005」を取得する。そして、図3に示すように、会員情報一覧表301を参照して、「ユーザID」の「AA0004」のユーザが30代、「ユーザID」の「AA0005」のユーザが30代であるため、対象属性として「30代」を取得する。
次に、図24に示すように、映像音声登録制御部209がステップS1605で取得した「プログラム識別」の構成情報を取得する(ステップS1609)。例えば、ステップS1605で取得した「プログラム識別」が「筋トレ中級」であれば、図11のトレーニングプログラムの構成情報702を取得する。
次に、ステップS1609で取得した構成情報のトレーニング実施時間を参照して、音声ファイルを分割する(ステップS1610)。例えば、ステップS1609で取得した構成情報702は、最初のトレーニング実施時間20分間がウォームアップ、次の6分30秒間がクランチ、次の7分15秒間がベンチプレス、次の5分10がレッグカール、最後の12分05秒間がクールダウンという構成であるため、音声ファイルを先頭から20分00秒までと、20分00秒から26分30秒までと、26分30秒から33分45秒までと、33分45秒から38分55秒までと、38分55秒から最後までの5つに分割する。
なお、本実施の形態では、構成情報のトレーニング実施時間で音声ファイルを分割しているが、音声ファイルの分割方法はこれに限定されない。
例えば、構成情報のトレーニング実施時間を音声ファイルの分割点の基本情報として利用し、さらに、音声ファイルの特性を利用してこの分割点を補正してもよい。例えば、構成情報のトレーニング実施時間である音声ファイルの分割点の前後で無音や音声が小さくなった箇所を分割点としてもよいし、トレーニングの終わりの発声である「はい終了です」などの決まり文句を音声認識により検出し、分割点を補正してもよい。
また、例えば、音声ファイルに対応する映像ファイル、および音声ファイルを編集した際の編集情報を利用してもよい。例えば、初回の撮影で、店舗プログラムについてビデオカメラ等を用いて映像と音声を撮影し、1つ1つの運動に分割して映像ファイルと音声ファイルとを登録した際の編集情報である分割点を利用してもよい。
次に、変数Mに「1」を代入する(ステップS1611)。
次に、コンテンツメタデータ情報320を参照し、ステップS1609で取得した構成情報のM番目のトレーニングのタイトルと等しいタイトルが存在するか否かを判定する(ステップS1612)。
例えば、映像音声登録制御部209は、ステップS1609で取得した構成情報702のMの値が「1」である場合、図5のコンテンツメタデータ情報320にタイトルが「ウォームアップ」であるコンテンツメタデータ情報が存在するか否かを判定する。図5のコンテンツメタデータ情報320のタイトルには、「ウォームアップ」が存在しないため、この場合、判定結果はNOとなる。この場合、ステップS1623に進む。
一方、例えば、映像音声登録制御部209は、Mの値が「2」である場合、コンテンツメタデータ情報320にタイトルが「クランチ」であるコンテンツメタデータ情報が存在するか否かを判定する。図5のコンテンツメタデータ情報320のタイトルには、「クランチ」が存在するため、判定結果はYESとなり、ステップS1613に進む。この場合、コンテンツメタデータ情報320を参照し、ステップS1609で取得した構成情報のM番目のトレーニングのタイトルと等しいタイトルの「映像ID」を「対応映像ID」として取得する(ステップS1613)。例えば、「タイトル」が「クランチ」であれば、図5のコンテンツメタデータ情報320を参照し、「タイトル」が「クランチ」である「映像ID」の「1008」を取得する。
次に、映像音声登録制御部209は、分割した音声ファイルの録音時間を取得する(ステップS1614)。例えば、分割前の音声ファイルの「録音日時」が「2016年2月28日18:00」だった場合、その値を分割した音声ファイルの「録音日時」としてもよい。
次に、分割したファイルの再生時間を取得する(ステップS1615)。分割した音声ファイルを解析して再生時間を取得してもよいし、ステップS1610で音声ファイルを分割する時に、分割情報を管理しておき、その値を使ってもよい。
次に、コンテンツメタデータ情報320を参照し、ステップS1613で取得した「対応映像ID」の再生時間を取得する(ステップS1616)。例えば、取得した「対応映像ID」が「1008」であれば、再生時間は6分30秒である。
次に、音声メタデータ情報330を音声メタ記憶部に登録する(ステップS1617)。具体的には、映像音声登録制御部209は、音声メタデータ情報330を参照して使用していない「音声ID」、ステップS1613で取得した「対応映像ID」、ステップS1614で取得した「録音日時」、ステップS1605で取得した「録音店舗」、「スタジオ識別」、および「プログラム識別」、ステップS1602で取得した「トレーナ識別」、ステップS1606で取得した「習得再生回数」、ステップS1608で取得した「対象属性」を入力値として、音声メタデータ情報330に追加する。
次に、映像音声登録制御部209は、「対応映像ID」の再生時間が分割した音声の再生時間より大きいか否かを判定する(ステップS1618)。
ステップS1618において再生時間が分割した音声ファイルの再生時間より大きい場合、判定結果がYESとなり、ステップS1109に進む。この場合、ステップS1109の処理は、図17と同様であるため説明を省略する。
ステップS1618において再生時間が分割した音声ファイルの再生時間以下の場合、判定結果がNOとなり、「対応映像ID」の再生時間が分割した音声ファイルの再生時間よりも小さいか否かを判定する(ステップS1620)。
ステップS1620において「対応映像ID」の再生時間が分割した音声ファイルの再生時間よりも小さい場合、判定結果がYESとなり、ステップS1111に進む。この場合のステップS1111の処理は、図17と同様であるため説明を省略する。
ステップS1109の処理を終了した場合や、ステップS1111の処理を終了した場合や、ステップS1620において「対応映像ID」の再生時間が分割した音声ファイルの再生時間と同一の場合(ステップS1620の判定結果がNOの場合)には、分割した音声ファイルを映像音声記憶部202に登録する(ステップS1622)。
次に、映像音声登録制御部209は、Mの値「1」を加算する(ステップS1623)。ここで、ステップS1612において、ステップS1609で取得した構成情報のM番目のトレーニングのタイトルと等しいタイトルが存在しない場合も、Mの値「1」を加算する(ステップS1623)。
次に、映像音声登録制御部209は、ステップS1610で分割した音声ファイルについて、M+1>Nを満たすか否かを判定する。言い換えれば、映像音声登録制御部209は、M+1番目の音声ファイルが存在しないか否かを判定する(ステップS1624)。
M+1>Nを満たさない場合、判定結果がNOとなり、ステップS1612に戻る。
一方、M+1>Nを満たす場合、判定結果がYESとなり、このフローは終了する。
以上のように、店舗でのプログラムを録音して自動的に登録することで、トレーナの工数をさくことなく、トレーニングに対応する音声ファイルを増やすことができる。
なお、習得再生回数は予め決めておくこととしたが、音声ファイル登録後に編集できるようにしてもよい。また、他の音声メタデータ情報についても、登録後に編集した値を変更できるようにしてもよい。
なお、本実施の形態はオンラインフィットネスサービスを例に説明したが、本発明にかかる、オンライントレーニングシステムは、コンテンツを再生してトレーニングを実施するトレーニングシステムにおいて、トレーニングに使用するコンテンツの音声のみを変更するようなサービス、すなわち、リハビリ、スポーツトレーニング、教育のためのレッスン等のサービスに利用することができる。
(効果等)
オンライントレーニングのクラウドサーバ111では、複数の音声ファイルの各々の再生回数に基づくユーザの習得度に応じ、複数の音声ファイルの中から1つの音声ファイルを主映像音声配信制御部210が選択する。このため、ユーザは、同一のトレーニングを行う場合でも、異なる留意点を含む音声ファイルを聞くことができるため、トレーナが行うユーザに対する応答が減少し、正しいトレーニングを行うことができる。このため、より高いトレーニング効果を得ることができる。
したがって、トレーナの負担削減と、ユーザに対して効果的なトレーニングを行わせることができる。
なお、映像ファイルや音声ファイルを映像音声記憶部202に格納していけば、オンライントレーニングで用いる映像ファイルや音声ファイルの制作工数を削減することができる。
また、このオンライントレーニングのクラウドサーバ111を用いてトレーニングを継続することで、より高いトレーニング効果を得ることができる。
また、このオンライントレーニング方法、およびオンライントレーニングのプログラムにおいても同様の作用効果を奏する。
また、このオンライントレーニングのクラウドサーバ111によれば、音声ファイルに応じた習得再生回数が設定されているため、ユーザが自己の習得度を確認しながらトレーニングを行うことができる。このため、ユーザは、トレーニングを確実に習得することができる。
また、このオンライントレーニングのクラウドサーバ111によれば、オンラインによるトレーニングと、店舗で行ったトレーニングも習得再生回数に加算されて習得度が算出されるため、ユーザの利用環境に合わせ易い。また、このような習得度が自動的に算出されるため、店舗側にとっても、習得再生回数に加算する作業を削減することができる。このため、このオンライントレーニングのクラウドサーバ111では、利便性が高い。
また、このオンライントレーニングのクラウドサーバ111によれば、トレーニングを正しく行うための数多くの留意点を、複数の音声ファイルとして1つの映像ファイルに紐付けることで、ユーザが同一のトレーニングを行う場合でも、異なる留意点を音声として聞くことができる。音声ファイルごとにユーザの習得度を取得し、習得度が一定値未満の一番目の音声ファイルを決定し、映像ファイルとともに決定した音声ファイルを自動的に配信することができる。
また、このオンライントレーニングのクラウドサーバ111によれば、音声ファイルごとにユーザの習得度を取得し、習得度が一定値未満である音声ファイルの中から習得度が一番低い音声ファイルを決定し、映像ファイルとともに決定した音声ファイルを自動的に配信することができる。
また、このオンライントレーニングのクラウドサーバ111によれば、予め順序付けされた音声データから、1番目の音声データに決定し、映像データとともに決定した音声データを自動的に配信することができる。
また、このオンライントレーニングのクラウドサーバ111によれば、音声ファイルについて再生を行った後に、一定期間経過して2回目の再生を行った場合では、ユーザが1回目の内容を忘れてしまっており、2回目の再生で習得できない可能性がある。このため、一定期間が経過していれば、前回実施したトレーニングの音声ファイルを選択するため、ユーザは、トレーニングを正しく行うことができる。
また、このオンライントレーニングのクラウドサーバ111によれば、映像ファイルの再生時間と音声ファイルの再生時間とが異なっていても、映像ファイルの再生時間と等しくなるように音声ファイルの再生時間を変更するため、ユーザは、違和感なくトレーニングを行うことができる。
なお、上記態様において説明された技術は、例えば、以下のクラウドサービスの類型において実現されうる。しかし、上記態様において説明された技術が実現されるクラウドサービスの類型はこれらに限られない。
(サービスの類型1:自社データセンタ型クラウドサービス)
図25、サービスの類型1(自社データセンタ型クラウドサービス)におけるオンラインコーチングシステムが提供するサービスの全体像を示す図である。
図25に示すように、本類型では、サービスプロバイダ3120がコーチンググループ100から情報を取得し、ユーザに対してサービスを提供する。本類型では、サービスプロバイダ3120が、データセンタ運営会社の機能を有している。すなわち、サービスプロバイダ3120が、ビッグデータを管理するクラウドサーバ111を保有している。したがって、データセンタ運営会社は存在しない。
本類型では、サービスプロバイダ3120は、データセンタ(クラウドサーバ)3203を運営及び管理している。また、サービスプロバイダ3120は、オペレーティングシステム(OS)3202及びアプリケーション3201を管理する。サービスプロバイダ3120は、サービスプロバイダ3120が管理するOS3202及びアプリケーション3201を用いてサービスを提供する(矢印3204)。
(サービスの類型2:IaaS利用型クラウドサービス)
図26、サービスの類型2(IaaS利用型クラウドサービス)におけるオンラインコーチングシステムが提供するサービスの全体像を示す図である。ここで、IaaSとは、インフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築および稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
図26に示すように、本類型では、データセンタ運営会社110が、データセンタ(クラウドサーバ)3203を運営及び管理している。また、サービスプロバイダ3120は、OS3202及びアプリケーション3201を管理する。サービスプロバイダ3120は、サービスプロバイダ3120が管理するOS3202及びアプリケーション3201を用いてサービスを提供する(矢印3204)。
(サービスの類型3:PaaS利用型クラウドサービス)
図27、サービスの類型3(PaaS利用型クラウドサービス)におけるオンラインコーチングシステムが提供するサービスの全体像を示す図である。ここで、PaaSとは、プラットフォーム・アズ・ア・サービスの略であり、ソフトウェアを構築および稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
図27に示すように、本類型では、データセンタ運営会社110は、OS3202を管理し、データセンタ(クラウドサーバ)3203を運営及び管理している。また、サービスプロバイダ3120は、アプリケーション3201を管理する。サービスプロバイダ3120は、データセンタ運営会社110が管理するOS3202及びサービスプロバイダ3120が管理するアプリケーション3201を用いてサービスを提供する(矢印3204)。
(サービスの類型4:SaaS利用型クラウドサービス)
図28、サービスの類型4(SaaS利用型クラウドサービス)におけるオンラインコーチングシステムが提供するサービスの全体像を示す図である。ここで、SaaSとは、ソフトウェア・アズ・ア・サービスの略である。
図28に示すように、SaaS利用型クラウドサービスは、例えば、データセンタ(クラウドサーバ)を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ(クラウドサーバ)を保有していない会社又は個人などのユーザがインターネットなどのネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
本類型では、データセンタ運営会社110は、アプリケーション3201を管理し、OS3202を管理し、データセンタ(クラウドサーバ)3203を運営及び管理している。また、サービスプロバイダ3120は、データセンタ運営会社110が管理するOS3202及びアプリケーション3201を用いてサービスを提供する(矢印3204)。
以上、いずれのクラウドサービスの類型においても、サービスプロバイダ3120がサービスを提供する。また、例えば、サービスプロバイダ又はデータセンタ運営会社は、OS、アプリケーション又はビックデータのデータベース等を自ら開発してもよいし、また、第三者に外注させてもよい。
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
また、上述の実施の形態は、本開示における技術を例示するためであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。