(57)【特許請求の範囲】
【請求項１】
仮想対象物をユーザに表示する表示装置、及び前記仮想対象物に対してパフォーマンスを行うユーザを撮影する撮影装置を備えた画像生成システムであって、
現実空間の前記撮影装置の位置に対応する仮想空間上の位置を取得する撮影位置取得手段と、
前記撮影位置取得手段が取得した位置から視た仮想対象物の画像を生成する仮想画像生成手段と、
前記撮影装置が撮影した画像と、前記仮想画像生成手段が生成した仮想対象物の画像とを合成する合成画像生成手段とを備えることを特徴とする画像生成システム。
【請求項２】
現実空間のユーザの視点位置に対応する仮想空間上の位置を取得する視点位置取得手段をさらに備え、
前記仮想画像生成手段は、前記視点位置取得手段が取得した位置から視た仮想対象物の画像を生成して、前記表示装置に表示させることを特徴とする請求項１に記載の画像生成システム。
【請求項３】
前記撮影装置によって撮影されたユーザの画像に基づき、ユーザのモーションに関する情報を取得するモーション認識手段をさらに備え、
前記仮想画像生成手段は、前記モーション認識手段が取得した情報に基づき、仮想対象物の動きを設定することを特徴とする請求項１又は２に記載の画像生成システム。
【請求項４】
前記仮想対象物に対するユーザのパフォーマンスを評価する評価手段をさらに備え、
前記評価手段は、前記合成画像生成手段が生成した画像に基づき、ユーザが所定の動作を行った時点を特定し、当該時点における仮想対象物の動作に応じて、ユーザのパフォーマンスを評価することを特徴とする請求項１乃至３のいずれか１項に記載の画像生成システム。
【請求項５】
前記合成画像生成手段は、ユーザが所定の動作を行う以前の時刻から前記所定の動作を完了する時刻までの時間に得られた合成画像を、ユーザに対して表示することを特徴とする請求項１乃至４のいずれか１項に記載の画像生成システム。
【請求項６】
前記合成画像生成手段は、仮想対象物が所定の動作を行う時間に得られた合成画像を、ユーザに対して表示することを特徴とする請求項１乃至５のいずれか１項に記載の画像生成システム。
【請求項７】
仮想対象物をユーザに表示する表示装置、及び前記仮想対象物に対してパフォーマンスを行うユーザを撮影する撮影装置を備えた画像生成システムの制御プログラムであって、
現実空間の前記撮影装置の位置に対応する仮想空間上の位置を取得する撮影位置取得手順と、
前記撮影位置取得手順で取得された位置から視た仮想対象物の画像を生成する仮想画像生成手順と、
前記撮影装置が撮影した画像と、前記仮想画像生成手順で生成された仮想対象物の画像とを合成する合成画像生成手順とを画像生成システムに実行させることを特徴とする制御プログラム。
【請求項８】
現実空間のユーザの視点位置に対応する仮想空間上の位置を取得する視点位置取得手順をさらに有し、
前記仮想画像生成手順では、前記視点位置取得手順で取得された位置から視た仮想対象物の画像が生成されて、前記表示装置に表示されることを特徴とする請求項７に記載の制御プログラム。
【請求項９】
前記撮影装置によって撮影されたユーザの画像に基づき、ユーザのモーションに関する情報を取得するモーション認識手順をさらに有し、
前記仮想画像生成手順では、前記モーション認識手順で取得された情報に基づき、仮想対象物の動きが設定されることを特徴とする請求項７又は８に記載の制御プログラム。
【請求項１０】
仮想対象物に対するユーザのパフォーマンスを評価する評価手順をさらに有し、
前記評価手順では、前記合成画像生成手順で生成された画像に基づき、前記ユーザが所定の動作を行った時点が特定され、当該時点における仮想対象物の動作に応じて、ユーザのパフォーマンスが評価されることを特徴とする請求項７乃至９のいずれか１項に記載の制御プログラム。
【請求項１１】
前記合成画像生成手順では、ユーザが所定の動作を行う以前の時刻から前記所定の動作を完了する時刻までの時間に得られた合成画像が、ユーザに対して表示されることを特徴とする請求項７乃至１０のいずれか１項に記載の制御プログラム。
【請求項１２】
前記合成画像生成手順では、仮想対象物が所定の動作を行う時間に得られた合成画像が、ユーザに対して表示されることを特徴とする請求項７乃至１１のいずれか１項に記載の制御プログラム。
【請求項１３】
請求項７乃至１２のいずれか１項に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スポーツの練習等に用いられる画像生成システム、及び画像生成システムの制御プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
近年、仮想空間に配置された仮想対象物とユーザとがインタラクティブにスポーツを行うバーチャルスポーツシステムが、開発されている。
【０００３】
例えば非特許文献１には、バッティング練習を行うためのバーチャルスポーツシステムが開示されている。このバーチャルスポーツシステムでは、ＣＧ（Computer Graphics）によってピッチャーやボールが表現され、ユーザは、このピッチャー等の動きを目視して、バットを振るようになっている。そして、ユーザがバットを振るタイミングやスピードがフォトセンサによって計測され、この計測値に基づき、ユーザのバッティングが評価される。
【０００４】
また非特許文献２には、ＣＧによって表現された相手選手とボクシングを行うバーチャルスポーツシステムが開示されている。このバーチャルスポーツシステムでは、力覚デバイスが用いられて、ユーザのモーションデータがキャプチャリングされる。そして、このモーションデータに基づき生成されたアバタが、相手選手と仮想空間内でボクシングを行う。
【０００５】
また特許文献１には、テニスを行うためのバーチャルスポーツシステムが開示されている。このバーチャルスポーツシステムは、ＣＧによってボールや相手選手が表現され、ユーザは、このボール等の動きを目視して、発光ダイオードからなるマーカが取り付けられたラケットを動かす。そして、カメラによってマーカが撮影され、この撮影画像に基づき、ユーザが行ったスイングが、フォアハンドスイングとバックハンドスイングとのいずれであるか判定される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２１８７５７号公報
【非特許文献】
【０００７】
【非特許文献１】Proceedings of ACM Symposium on Applied Computing 2002 pp.1060-1065
【非特許文献２】ACM Computers in Entertainment,vol.4,No.3,Article No.9(2006)
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、スポーツに取り組む者は、「自分のパフォーマンスを客観的に見たい」という欲求を持っている。現実のスポーツでは、カメラの撮影画像によって、ユーザは、相手選手等の動きに応じて自身が如何なるパフォーマンスを行ったかを確認することができる。この結果、ユーザのスキル向上が図られる。すなわち運動学習においては自らの動きを知覚あるいは観測し、それ故、修正していく試みの中からスキルを習得していく。このとき運動結果に関する情報を練習者が得ることをフィードバックという。
【０００９】
しかしながら、バーチャルスポーツシステムでは、相手選手やボール等が３次元空間に実際に存在するわけではない。すなわち、ユーザは、ＣＧ画像を目視することで、相手選手等に対する３次元的な位置関係等をイメージして、パフォーマンスを行うものであり、例えば、相手選手等が投影されるディスプレイとユーザとを一緒に撮影したとしても、この撮影で得られた画像は、相手選手等とユーザとの３次元的な位置関係を認識させるものではない。このため、ユーザは、上記撮影画像を確認したとしても、スキル向上に役立つ情報を得ることはできない。
【００１０】
また、非特許文献２に開示されたバーチャルスポーツシステムでは、ユーザのモーションデータを得るために、ユーザの身体に多くのセンサを取り付ける必要がある。このため、ユーザは思い通りの動きができず、スポーツ本来のメリットが著しく損なわれる虞れがある。また、上述のキャプチャリングによっては、ユーザの表情など細かな情報のモデル化は不可能であるため、ユーザは、自身に関する詳細な情報をＣＧ画像から得ることはできない。
【００１１】
本発明は、こうした状況に鑑みてなされたものであり、ユーザのパフォーマンスのスキル向上に役立つ情報が得られる画像が得られるとともに、当該画像を生成するために、ユーザの身体に多くのセンサやセンシング補助器具を取り付ける必要がなく、さらに、前記画像によって、ユーザの表情などユーザに関する詳細な情報が得られる画像生成システム、制御プログラム、及び記録媒体を提供することを目的とする。すなわち、本発明は、運動を行う練習者を撮影した映像から得られるパフォーマンス知識のフィードバックを効果的に行うことを目的とし、複合現実感(Mixed Reality;MR)技術を用いて、ＣＧによって表現された相手選手、ボール、環境等とのインタラクションの中で発揮される練習者の運動パフォーマンスを、上述のＣＧによって表現された相手選手等を含めて映像化し、これをフィードバックするシステム等を提供するものである。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明の第１の観点にかかる画像生成システムは、仮想対象物をユーザに表示する表示装置、及び前記仮想対象物に対してパフォーマンスを行うユーザを撮影する撮影装置を備えた画像生成システムであって、現実空間の前記撮影装置の位置に対応する仮想空間上の位置を取得する撮影位置取得手段と、前記撮影位置取得手段が取得した位置から視た仮想対象物の画像を生成する仮想画像生成手段と、前記撮影装置が撮影した画像と、前記仮想画像生成手段が生成した仮想対象物の画像とを合成する合成画像生成手段とを備えることを特徴とする。
【００１３】
好ましくは、現実空間のユーザの視点位置に対応する仮想空間上の位置を取得する視点位置取得手段をさらに備え、前記仮想画像生成手段は、前記視点位置取得手段が取得した位置から視た仮想対象物の画像を生成して、前記表示装置に表示させることを特徴とする。
【００１４】
好ましくは、前記撮影装置によって撮影されたユーザの画像に基づき、ユーザのモーションに関する情報を取得するモーション認識手段をさらに備え、前記仮想画像生成手段は、前記モーション認識手段が取得した情報に基づき、仮想対象物の動きを設定することを特徴とする。
【００１５】
好ましくは、前記仮想対象物に対するユーザのパフォーマンスを評価する評価手段をさらに備え、前記評価手段は、前記合成画像生成手段が生成した画像に基づき、ユーザが所定の動作を行った時点を特定し、当該時点における仮想対象物の動作に応じて、ユーザのパフォーマンスを評価することを特徴とする。
【００１６】
好ましくは、前記合成画像生成手段は、ユーザが所定の動作を行う以前の時刻から前記所定の動作を完了する時刻までの時間に得られた合成画像を、ユーザに対して表示することを特徴とする。
【００１７】
好ましくは、前記合成画像生成手段は、仮想対象物が所定の動作を行う時間に得られた合成画像を、ユーザに対して表示することを特徴とする。
【００１８】
また、本発明の第２の観点にかかる制御プログラムは、仮想対象物をユーザに表示する表示装置、及び前記仮想対象物に対してパフォーマンスを行うユーザを撮影する撮影装置を備えた画像生成システムの制御プログラムであって、現実空間の前記撮影装置の位置に対応する仮想空間上の位置を取得する撮影位置取得手順と、前記撮影位置取得手順で取得された位置から視た仮想対象物の画像を生成する仮想画像生成手順と、前記撮影装置が撮影した画像と、前記仮想画像生成手順で生成された仮想対象物の画像とを合成する合成画像生成手順とを画像生成システムに実行させることを特徴とする。
【００１９】
好ましくは、現実空間のユーザの視点位置に対応する仮想空間上の位置を取得する視点位置取得手順をさらに有し、前記仮想画像生成手順では、前記視点位置取得手順で取得された位置から視た仮想対象物の画像が生成されて、前記表示装置に表示されることを特徴とする。
【００２０】
好ましくは、前記撮影装置によって撮影されたユーザの画像に基づき、ユーザのモーションに関する情報を取得するモーション認識手順をさらに有し、前記仮想画像生成手順では、前記モーション認識手順で取得された情報に基づき、仮想対象物の動きが設定されることを特徴とする。
【００２１】
好ましくは、前記仮想対象物に対するユーザのパフォーマンスを評価する評価手順をさらに有し、前記評価手順では、前記合成画像生成手順で生成された画像に基づき、ユーザが所定の動作を行った時点が特定され、当該時点における仮想対象物の動作に応じて、ユーザのパフォーマンスが評価されることを特徴とする。
【００２２】
好ましくは、前記合成画像生成手順では、ユーザが所定の動作を行う以前の時刻から前記所定の動作を完了する時刻までの時間に得られた合成画像が、ユーザに対して表示されることを特徴とする。
【００２３】
好ましくは、前記合成画像生成手順では、仮想対象物が所定の動作を行う時間に得られた合成画像が、ユーザに対して表示されることを特徴とする。
【００２４】
また、本発明の第３の観点にかかる記録媒体は、前記制御プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２５】
本発明によれば、現実空間の撮影装置の位置に対応する仮想空間上の位置が取得されて、当該取得された位置から視た仮想対象物の画像が生成される。そして、この仮想対象物の画像と、撮影装置が撮影したユーザの画像とが合成される。この結果、仮想対象物とユーザとの位置関係を認識可能な合成画像が得られる。これにより、ユーザは、パフォーマンスのスキル向上に役立つ情報を得ることができる。
【００２６】
また、撮影装置によって撮影されたユーザの画像が用いられて、合成画像が生成される。このことから、合成画像を生成するために、ユーザの身体に多くのセンサやセンシング補助器具を取り付ける必要がないため、ユーザは、思い通りの動きができる。また、合成画像にユーザの表情などが表現されるようになるため、ユーザは、自身に関する詳細な情報を得ることができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態に係る画像生成システムが配置された空間を示す概略図である。
【図２】画像生成システムの構成を示すブロック図である。
【図３】画像生成システム全体の処理を概略的に示すフローチャートである。
【図４】ＨＭＤに表示されるＣＧ画像の例を示す図である。
【図５】ビデオカメラからＰＣに送信される撮影画像の例を示す図である。
【図６】表示部に表示される合成画像の例を示す図である。
【図７】ＰＣにおける処理の詳細を示すフローチャートである。
【図８】ＰＣにおいて図７の処理に続いて実行される処理の詳細を示すフローチャートである。
【図９】ＰＣにおいて図８の処理に続いて実行される処理の詳細を示すフローチャートである。
【図１０】仮想画像生成部によって決定される相手選手のモーションの遷移を示す図である。
【図１１】相手選手の位置とユーザの拳の加速度との時間変化を示す図である。
【発明を実施するための形態】
【００２８】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。この実施形態は、非接触型の対人競技である空手道競技（ノンコンタクトルール）において基本的な突き技のスキルを習得支援するためのバーチャル空手システムに係るものであり、基本的な突き技である「先の上段突き」と呼ばれる技が、運動課題として行われる。この技は、相手選手が急速に前進した瞬間に顔面めがけて突く技である。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。図１は、本発明の実施の形態に係る画像生成システム１が配置された空間を示す概略図であり、図２は、画像生成システム１の構成を示すブロック図である。
【００２９】
画像生成システム１は、ＨＭＤ（Head Mounted Display）２と、ビデオカメラ３と、加速度センサ４と、ＰＣ（Personal Computer）５とを備えている。
【００３０】
ＨＭＤ２は、ユーザ(練習者)の頭部に装着されて、ＣＧにより表現された仮想対象物としての相手選手を、ユーザに目視させる。このＨＭＤ２として、例えば、iWear VR920TM(VUZIX社製）を使用することができる。
【００３１】
ビデオカメラ３は、ユーザや世界座標系を表わすマーカ６を撮影するために設置される。このビデオカメラ３として、例えば、Lu075cC-Io 112fps（Lumenera社製）を使用することができる。世界座標系はユーザが位置する空間を表す座標系であり、マーカ６によって、その原点が示される。
【００３２】
加速度センサ４は、ユーザの腕に取り付けられて、ユーザの突きのタイミングを計測する。この加速度センサ４として、例えば、WAA-001（ワイヤレステクノロジー株式会社製）を使用することができる。
【００３３】
上記構成を有する画像生成システム１では、マーカ６によって原点が示される世界座標系にて表される現実空間に、ユーザと、ユーザを撮影するビデオカメラ３とを設置するとともに、世界座標系に一致する仮想世界座標系を有する仮想空間内に、相手選手のＣＧ画像が、運動課題にて決められた初期位置に配置される。この相手選手の位置及び姿勢は、ユーザの位置及び練習課題に従って、時間経過に伴って移動する。相手選手の画像は、あたかも現実のユーザの視点（Ａ点）及び現実のビデオカメラ３の位置（Ｂ点）に配置されたカメラによって撮影された画像のように生成され、Ａ点から視た相手選手画像はＨＭＤ２へ送られ、Ｂ点から視た相手選手のＣＧ画像は、ビデオカメラ３にて撮影された現実のユーザ画像と合成されて、フィードバック用の画像シーケンスに追加されるのである。
【００３４】
ＰＣ５は、物理的な構成として、制御部５０と、記憶部５１と、表示部５２とを備えており、ＨＭＤ２やビデオカメラ３と有線通信を介して画像の送受信が可能であり、加速度センサ４と無線通信を介してデータの送受信が可能である。
【００３５】
制御部５０は、ＣＰＵ（Central Processing Unit）等から構成され、記憶部５１に記憶されているプログラムに従って処理を実行する。この制御部５０として、例えば、AMD OpteronＴＭプロセッサ 2．99GHzを使用することができる。
【００３６】
記憶部５１は、ＲＡＭ（Random-Access Memory）等から構成される主記憶部と、フラッシュメモリ、ハードディスク等の不揮発性メモリから構成される外部記憶部とを含んでいる。主記憶部は、制御部５０の作業領域として用いられ、例えば4．0GBの容量を有するＲＡＭによって構成される。外部記憶部は、制御部５０に行わせるためのプログラムを予め記憶し、また、制御部５０の指示に従って、このプログラムのデータを制御部５０に供給し、制御部５０から供給されたデータを記憶する。
【００３７】
表示部５２は、例えば液晶表示装置から構成され、任意の画像を表示することが可能である。
【００３８】
図３は、画像生成システム１全体の処理を概略的に示すフローチャートである。図３に示す処理は、複合現実感（Mixed Reality: MR）手法を用いて、現実空間の撮影画像に仮想空間に存在する相手選手の画像を重畳した合成画像を生成するものである。
【００３９】
図３に示す処理が行われる前提として、図１に示すように、世界座標系を表わすマーカ６が、運動課題の行われる場所に設置され、マーカ６の座標系で決められた位置に、ユーザとビデオカメラ３とが配置される。
【００４０】
まず、ビデオカメラ３は、マーカ６やユーザを撮影した画像を、ＰＣ５に送信する（ステップＳ１０１）。
【００４１】
そして、ＰＣ５は、ビデオカメラ３の撮影画像に含まれるマーカ６の画像に基づき、世界座標系に対するビデオカメラ３の位置姿勢の情報を取得する（ステップＳ１０３）。
【００４２】
次に、ＰＣ５は、ステップＳ１０３で取得された情報に基づき、現実空間のビデオカメラ３の位置に対応する仮想空間上の位置の座標を取得する（ステップＳ１０４）。
【００４３】
次に、ＰＣ５は、ビデオカメラ３の撮影画像に含まれるマーカ６とユーザの画像に基づき、現実空間のユーザの視点位置に対応する仮想空間上の位置の座標を取得する（ステップＳ１０５）。
【００４４】
次に、ＰＣ５は、ステップＳ１０４，Ｓ１０５で取得した仮想空間上の座標に基づき、仮想空間における相手選手の初期位置姿勢を決定する（ステップＳ１０６）。
【００４５】
これ以降、ステップＳ１０７からのループ処理が開始される。この当初において、ビデオカメラ３は、ユーザの撮影画像をＰＣ５に送信し、加速度センサ４は、ユーザの突きのタイミングを示すデータを、ＰＣ５に送信する（ステップＳ１０２）。
【００４６】
なお、ステップＳ１０７に示す処理は、ループ初回時には、実行されない。
【００４７】
次に、ＰＣ５は、ユーザの視点位置に対応する仮想空間上の位置（ステップＳ１０５で取得された座標）から視た相手選手のＣＧ画像を生成する（ステップＳ１０８）。ループ初回におけるステップＳ１０８では、ステップＳ１０６で決定された初期位置姿勢に従って、ＣＧ画像が生成される。
【００４８】
次に、ＰＣ５は、ビデオカメラ３の位置に対応する仮想空間上の位置（ステップＳ１０４で取得された位置）から視た相手選手のＣＧ画像を生成する（ステップＳ１０９）。ループ初回におけるステップＳ１０９では、ステップＳ１０６で決定された初期位置姿勢に従って、ＣＧ画像が生成される。
【００４９】
次に、ＰＣ５は、ステップＳ１０８で生成されたＣＧ画像を、ＨＭＤ２に送信する（ステップＳ１１０）。
【００５０】
次に、ＨＭＤ２は、ＰＣ５から受信したＣＧ画像を表示する（ステップＳ１１１）。図４は、ステップＳ１１１によりＨＭＤ２に表示されるＣＧ画像の例を示しており、ユーザは、このＣＧ画像に表された相手選手を目視して、「先の上段突き」等の動作を行う。
【００５１】
このユーザの様子は、ビデオカメラ３によって撮影されて、この撮影画像がＰＣ５に送信される。また、ユーザの突きのタイミングデータが、加速度センサ４によって取得されてＰＣ５に送信される。図５は、ビデオカメラ３からＰＣ５に送信される撮影画像の例を示している。図５の画像では、ＨＭＤ２を装着したユーザが、「先の上段突き」を行っている状態が示されている。
【００５２】
そして図３のステップＳ１１０が実行された後では、ＰＣ５は、ビデオカメラ３の撮影画像と、ステップＳ１０９で生成した相手選手のＣＧ画像とを合成して記憶する（ステップＳ１１２）。
【００５３】
次に、ＰＣ５は、相手選手が運動課題のモーション終点に達しているか否か、或いはユーザが突きを完了したか否かを判断する（ステップＳ１１３）。
【００５４】
相手選手が運動課題のモーション終点に達していない、或いはユーザが突きを完了していないと判断された場合には（ステップＳ１１３でＮＯ）、ステップＳ１０７の処理に復帰する。この復帰により、ステップＳ１０７〜Ｓ１１３の処理が実行される。このステップＳ１０７〜Ｓ１１３の処理は、ステップＳ１１３でＹＥＳと判断されるまで繰り返される。このループの２回目以降の各回では、ＰＣ５は、Δt時間経過後の相手選手の位置姿勢を決定し（ステップＳ１０７）、この位置姿勢に基づき、相手選手のＣＧ画像を生成して（ステップＳ１０８，Ｓ１０９）、ステップＳ１０８で生成した相手選手のＣＧ画像をＨＭＤ２に送信する。この結果、ＨＭＤ２に表示される相手選手に動きが与えられ、この動きに応じて、ユーザは、空手の突き等の動作を行う。そして、このユーザの様子がビデオカメラ３によって撮影されて、この撮影画像とステップＳ１０９で生成された相手選手のＣＧ画像とが、合成されて記憶される（ステップＳ１１２）。
【００５５】
そして、ステップＳ１１３で、相手選手が運動課題のモーション終点に達している、或いは、ユーザが突きを完了したと判断された場合には（ステップＳ１１３でＹＥＳ）、ＰＣ５は、ステップＳ１１２で記憶した合成画像を、表示部５２（図２参照）に表示する（ステップＳ１１４）。図６は、ステップＳ１１４で表示される合成画像の例を示している。図６に示す合成画像は、図５の撮影画像に相手選手の画像が重畳されたものである。ユーザは、この合成画像によって、相手選手との位置関係や、相手選手の動きに応じた自身のパフォーマンスや、パフォーマンス中における自身の表情を確認することができる。なお、ステップＳ１１４では、相手選手が前進を開始してから後退を行って元の位置に戻るまでの時間、或いは、ユーザが突きを開始してから完了するまでの時間に記憶された複数の合成画像が連続して表示される。これにより、上記の時間においてユーザや相手選手が行った動きを示す動画が、表示される。
【００５６】
次に、ＰＣ５は、ステップＳ１１２で記憶した合成画像に基づき、ユーザが行った突きの評価を行う（ステップＳ１１５）。
【００５７】
図７，８，９は、ＰＣ５における処理を示すフローチャートである。以下、これらの図を用いて、ＰＣ５における処理の詳細について説明する。
【００５８】
ここで図２に示すように、ＰＣ５では、モーション認識部５ａと、合成画像生成部５ｂと、仮想画像生成部５ｃと、評価部５ｄとが論理的に構成される。
【００５９】
図７に示す処理は、モーション認識部５ａと、合成画像生成部５ｂと、仮想画像生成部５ｃとによって実行される処理である。Ｓ２０１〜Ｓ２０３は図３のＳ１０７に対応し、Ｓ２０４はＳ１０８に対応し、Ｓ２０５はＳ１０９に対応し、Ｓ２０６はＳ１１０に対応し、Ｓ２０７〜Ｓ２１０はＳ１１２に対応している。
【００６０】
また、図８に示す処理は、図７の処理に続いて合成画像生成部５ｂによって実行される処理である。Ｓ２１１〜Ｓ２１３、Ｓ２１１〜Ｓ２２０は図３のＳ１１３に対応し、Ｓ２１４、Ｓ２２１は、Ｓ１１４に対応している。
【００６１】
また、図９の処理は、図８の処理に続いて評価部５ｄによって実行される処理であり、図３のＳ１１５に対応している。
【００６２】
なお、モーション認識部５ａ、合成画像生成部５ｂ、仮想画像生成部５ｃ、及び評価部５ｄは、図２に示す制御部５０が、記憶部５１の外部記憶部に記憶されたプログラムを、記憶部５１の主記憶部に読み出して実行することによって構成される。
【００６３】
図７の処理では、まず、モーション認識部５ａは、ユーザのモーションデータを取得する（ステップＳ２０１）。このモーションデータは、加速度センサ４から受信したタイミングデータやビデオカメラ３から受信した撮影画像に基づき取得され、モーションデータには、ユーザの拳の位置情報と、突きのタイミング情報とが含まれる。
【００６４】
次に、モーション認識部５ａは、ユーザのモーションデータを、合成画像生成部５ｂと仮想画像生成部５ｃとに送る（ステップＳ２０２）。
【００６５】
次に、仮想画像生成部５ｃは、ユーザのモーションデータに基づき、相手選手のモーション系列を決定する（ステップＳ２０３）。
【００６６】
図１０は、仮想画像生成部５ｃによって決定される相手選手のモーションの遷移を示す図である。相手選手は、“ディフェンス姿勢のジャンプ”、“前進”、“フェイントの前進”、“後退”のいずれかの動作を行うものであって、仮想画像生成部５ｃは、相手選手のモーションを、“ディフェンス姿勢のジャンプ”を中心として、他の３つの状態に確率的に遷移させる。図中の矢印に付けた記号Ｐ（ｉ）（ｉ＝０、１、２、３；  Σｐ（ｉ）＝１）あるいは数値（１．０）は、相手選手が異なる動作に遷移する確率を示しており、例えば、“ディフェンス姿勢のジャンプ”に続く動作として、ｐ（１）の確率で前進が決定され、ｐ（２）の確率でフェイントの前進が決定され、ｐ（３）の確率で後退が決定される。
【００６７】
そして図７のステップＳ２０３が実行された後では、仮想画像生成部５ｃは、ステップＳ２０３で決定したモーション系列に従って、ユーザの視点位置から視た相手選手のＣＧ画像と、ビデオカメラ３の位置から視た相手選手のＣＧ画像とを生成する（ステップＳ２０４，Ｓ２０５）。これらの画像に示される相手選手の動きは、予め記憶部５１に記憶された空手選手のモーションデータに基づき表現される。
【００６８】
次に、仮想画像生成部５ｃは、ステップＳ２０４で生成したユーザの視点位置から視た相手選手のＣＧ画像を、ＨＭＤ２へ送信する（ステップＳ２０６）。この処理により、ＨＭＤ２では、図４に示すような画像が表示される。
【００６９】
次に、仮想画像生成部５ｃは、ステップＳ２０５で生成したビデオカメラ３の位置から視た相手選手のＣＧ画像を、合成画像生成部５ｂに送る（ステップＳ２０７）。
【００７０】
次に、モーション認識部５ａは、ビデオカメラ３が撮影した画像を、合成画像生成部５ｂに送る（ステップＳ２０８）。
【００７１】
次に、合成画像生成部５ｂは、ステップＳ２０７で受け取った相手選手のＣＧ画像と、ステップＳ２０８で受け取ったビデオカメラ３の撮影画像とを同期して合成する（ステップＳ２０９）。この処理により、図６に示すような合成画像が生成される。
【００７２】
次に、合成画像生成部５ｂは、ステップＳ２０９で合成した画像を記憶部５１に記憶する（ステップＳ２１０）。
【００７３】
次に、ステップＳ２１０に続いて実行される図８の処理について説明する。
【００７４】
合成画像生成部５ｂは、現時点が、ユーザが突きを出すべき時間Ｔ１であるか否かを判断する（ステップＳ２１１）。具体的には、合成画像生成部５ｂは、ステップＳ２０７で受け取った相手選手のＣＧ画像において、相手選手が前進を始めてから元の位置に戻るまでの状態が示されているか否かを判断する。
【００７５】
以下では、まず、現時点がユーザが突きを出すべき時間Ｔ１にあると判断された場合（ステップＳ２１１でＹＥＳ）の処理の流れについて説明する。
【００７６】
この場合には、合成画像生成部５ｂは、現時点で記憶部５１に記憶された合成画像（直前のステップＳ２１０で記憶された合成画像）に、マーキングを行う（ステップＳ２１２）。このマーキングは、後述のステップＳ２１４で表示部５２に表示させる合成画像を選定するために行われる。
【００７７】
そして、合成画像生成部５ｂは、現時点が、相手選手が運動課題のモーション終点に達した時点であるか否かを判断する（ステップＳ２１３）。具体的には、合成画像生成部５ｂは、ステップＳ２０７で受け取った相手選手のＣＧ画像に基づき、相手選手が、前進を行った後、後退を行うことで、元の位置に戻ったか否かを判断する。
【００７８】
ステップＳ２１３で、現時点が、モーション終点に達した時点ではないと判断された場合には（ステップＳ２１３でＮＯ）、図７のステップＳ２０１の処理に復帰する。この復帰により、新たに加速度センサ４やビデオカメラ３から受信されたデータや撮影画像に基づき、ステップＳ２０１〜Ｓ２１３の処理が実行される。このステップＳ２０１〜Ｓ２１３の処理は、ステップＳ２１３でＹＥＳと判断されるまで繰り返される。この繰り返しの各回では、モーション終点に達するまでの相手選手のＣＧ画像が生成されて（ステップＳ２０４，Ｓ２０５）、ステップＳ２０４で生成された相手選手のＣＧ画像がＨＭＤ２に表示される。ユーザは、このＣＧ画像を目視して突き等の動作を行い、このユーザの様子が、ビデオカメラ３によって撮影される。そして、この撮影画像とステップＳ１０９で生成された相手選手の画像とが合成されて記憶部５１に記憶される（ステップＳ２１０）。そして、この際に記憶される合成画像は、ユーザが突きを出すべき時間Ｔ１（相手選手が前進を始めてから元の位置に戻るまでの時間）に生成されたものであるから（ステップＳ２１１でＹＥＳ）、ステップＳ２１２でマーキングが行われる。
【００７９】
そして、ステップＳ２１３で、相手選手がモーション終点に達していると判断された場合には（ステップＳ２１３でＹＥＳ）、合成画像生成部５ｂは、これまでのステップＳ２１２でマーキングが行われた合成画像を、表示部５２に表示する（ステップＳ２１４）。この結果、ユーザが突きを行うべき時間Ｔ１において、ステップＳ２１０で記憶された合成画像が連続して表示される。なお、ステップＳ２１４では、時間Ｔ１でユーザが突きを行ったか否かにかかわらず、合成画像が表示される。
【００８０】
次に、ステップＳ２１１で、現時点がユーザが突きを行うべき時間Ｔ１ではないと判断された場合（ステップＳ２１１でＮＯ）について説明する。
【００８１】
この場合には、合成画像生成部５ｂは、現時点においてユーザが突きを行っているか否かを判断する（ステップＳ２１５）。この処理は、ステップＳ２０２やＳ２０８で受け取ったモーションデータやビデオカメラ３の撮影画像に基づき実行される。
【００８２】
ユーザが突きを行っていないと判断された場合には（ステップＳ２１５でＮＯ）、ステップＳ２０１の処理に復帰する。この復帰により、新たに加速度センサ４やビデオカメラ３から受信されたデータや撮影画像に基づき、ステップＳ２０１〜Ｓ２１５の処理が、Ｓ２１５でＹＥＳと判断されるまで繰り返される。
【００８３】
そして、ユーザが突きを行ったときには（ステップＳ２１５でＹＥＳ）、合成画像生成部５ｂは、現時点が、ユーザが突きを開始した時点teであるか否かを判断する（ステップＳ２１６）。この処理は、ステップＳ２０２で受け取ったモーションデータに基づき実行される。
【００８４】
そして、現時点が、ユーザが突きを開始した時点teであるときには（ステップＳ２１６でＹＥＳ）、合成画像生成部５ｂは、現時点で、記憶部５１に記憶された合成画像（直前のステップＳ２１０で記憶された合成画像）に、マーキングを行う（ステップＳ２１７）。
【００８５】
次に、合成画像生成部５ｂは、突きが開始される以前のte−Δe時刻から現時点（teに相当）までにステップＳ２１０で記憶された合成画像に、マーキングを行う（ステップＳ２１８）。
【００８６】
次に、合成画像生成部５ｂは、ステップＳ２０１の処理に復帰する。この復帰により、新たに加速度センサ４やビデオカメラ３から受信されたデータや撮影画像に基づき、ステップＳ２０１〜Ｓ２１６の処理が繰り返される。
【００８７】
そして再度、ステップＳ２１６が実行される際（ステップＳ２１６が２回目となるとき）には、ユーザが突きを開始してから時間が経過していることから、合成画像生成部５ｂは、ＮＯと判断して、現時点で記憶された合成画像に、マーキングを行う（ステップＳ２１９）。
【００８８】
次に、合成画像生成部５ｂは、現時点は、ユーザが突きを完了した時点tfであるか否かを判断する（ステップＳ２２０）。この処理は、ステップＳ２０２で受け取ったモーションデータに基づき実行される。
【００８９】
ユーザが突きを完了していないことから、ステップＳ２２０でＮＯと判断される場合には、合成画像生成部５ｂは、ステップＳ２０１の処理に復帰する。この復帰により、新たに加速度センサ４やビデオカメラ３から受信されたデータや撮影画像に基づき、ステップＳ２０１〜Ｓ２２０の処理が、Ｓ２２０でＹＥＳと判断されるまで実行される。この繰り返しの各回では、ユーザが突きを完了するまでの様子がビデオカメラ３によって撮影され、これらの撮影画像とステップＳ１０９で生成された相手選手の画像とが、合成されて記憶される（ステップＳ２１０）。そして、これらの合成画像に対して、ステップＳ２１９でマーキングが行われる。
【００９０】
そして、ユーザが突きを完了したときには（ステップＳ２２０でＹＥＳ）、合成画像生成部５ｂは、これまでのステップＳ２１７、Ｓ２１８、Ｓ２１９でマーキングを行った合成画像を、表示部５２に表示する（ステップＳ２２１）。この結果、このステップＳ２２１では、ユーザが突きを開始する以前の時刻te−Δeからユーザが突きを完了する時刻tfまでの時間Ｔ２において、ステップＳ２１０で記憶部５１に記憶された合成画像が、連続して表示される。
【００９１】
以上の処理によれば、現実空間のビデオカメラ３の位置に対応する仮想空間上の位置が取得されて、当該取得された位置から視た相手選手の画像が生成される。そしてこの相手選手の画像と、ビデオカメラ３が撮影したユーザの画像とが合成される。この結果、図６に示したような相手選手とユーザとの位置関係を認識可能な合成画像が得られる。これにより、ユーザは、空手の突きのスキル向上を図る上で有効な情報を得ることができる。
【００９２】
また、ビデオカメラ３によって撮影されたユーザの画像が用いられて、合成画像が生成される。このことから、合成画像を生成するために、ユーザの身体に多くのセンサやセンシング補助器具を取り付ける必要がないため、ユーザは思い通りの動きができる。また、合成画像において、ユーザの表情などが表現されるようになるため、ユーザは、自身に関する詳細な情報を得ることができる。
【００９３】
また、ユーザが突きを行った場合には、突きが開始される以前のte−Δe時刻から突きが完了した時刻tfまでの時間Ｔ２に記憶された合成画像が表示される。これにより、ユーザは、自身が突きを行った前後の状況を確認することができるため、ユーザは、突きを行った判断が妥当であったか否かを検討することができる。なお、Δeは、上記前後の状況を確認する上で好ましい時間に設定される。
【００９４】
また、te−Δe時刻以前に記憶された合成画像は表示されないため、ユーザが、スキル向上を図る上で必要ではない情報を得てしまうことを回避することができる。
【００９５】
また、相手選手が前進を始めてから元の位置に戻るまでの時間Ｔ１は、ユーザが突きを行うべき時間であるが、この時間Ｔ１に記憶された合成画像は、時間Ｔ１においてユーザが突きを行ったか否かに関わらず、表示される。このため、ユーザは、時間Ｔにおいて、自身が空手の突きを行っていなかったことや、突きが相手選手に届いていないこと等を確認することができる。これにより、ユーザは自身が行った判断や動作が誤りであったことを確認することができる。
【００９６】
次に図９を用いて、評価部５ｄによって実行される処理について説明する。
【００９７】
まず、評価部５ｄは、ユーザの拳と相手選手との距離が、所定値以下となる時間を特定する（ステップＳ２２２）。具体的には、記憶部５１に記憶された合成画像のうち、ユーザの拳と相手選手との距離が所定値以下となる合成画像を抽出して、これらが記憶された時間を特定する。
【００９８】
次に、評価部５ｄは、ステップＳ２２２で特定した時間において、ユーザの拳の加速度が負のピークとなる時（突いた拳を引き戻す時点、すなわち寸止めの時点）に、相手選手が前進を開始してから後退を完了するまでの動作を行っていたか否かを判断する（ステップＳ２２３）。以下では、ユーザの拳の加速度が負のピークとなる時点を、「負のピークとなる時点」と略して記す。
【００９９】
図１１は、相手選手の位置とユーザの拳の加速度との時間変化を示す図である。図１１に示すＬ１〜Ｌ３は、相手選手が前進を開始してから後退を完了するまでの時間を示している。このうち、Ｌ３は、相手選手が前進を開始してから後退を開始する直前までの時間である。また、Ｌ２とＬ１とは、相手選手が後退を開始してから完了するまでの時間が２等分に分割されたものであって、Ｌ２は、前半の時間であり、Ｌ１は、後半の時間である。また、Ｌ４は、Ｌ１〜Ｌ３以外の時間である。このＬ４の時間では、相手選手は、例えば、フェイントの前進を行っていたり、ディフェンス姿勢のジャンプを行っている状態にある。
【０１００】
図９のステップＳ２２３では、負のピークとなる時点が、Ｌ１〜Ｌ３の時間と、Ｌ４の時間とのいずれに生じたかを判別することで、相手選手が前進を開始してから後退を完了するまでの動作を行っていたか否かを判断する。
【０１０１】
負のピークとなる時点がＬ１〜Ｌ３の時間に生じていたときには、相手選手は前進を開始してから後退を完了するまでの動作を行っていたと判断されて（ステップＳ２２３でＹＥＳ）、ステップＳ２２４に移行する。
【０１０２】
このステップＳ２２４では、評価部５ｄは、ユーザが行った突きの評価点をカウントする。
【０１０３】
具体的には、評価部５ｄは、負のピークとなる時点がＬ３の時間に生じていた場合（負のピークとなる時点で相手選手が前進を行っていた場合）には、突きの評価点として、３点をカウントする。また、負のピークとなる時点がＬ２の時間に生じていた場合（負のピークとなる時点で相手選手が後退の初期段階の動作を行っていた場合）には、突きの評価点として、２点をカウントする。また、負のピークとなる時点がＬ１の時間に生じていた場合（負のピークとなる時点で相手選手が後退の完了段階の動作を行っていた場合）には、突きの評価点として、１点をカウントする。
【０１０４】
そして、評価部５ｄは、ステップＳ２２４でカウントした突きの評価点を、記憶部５１に記憶する（ステップＳ２２５）。
【０１０５】
一方、負のピークとなる時点が、Ｌ４の時間に生じていたときには、ステップＳ２２３で、相手選手は前進を開始してから後退を完了するまでの動作を行っていないと判断されて（ステップＳ２２３でＮＯ）、ステップＳ２２６の処理に移行する。
【０１０６】
ここで、ステップＳ２２３でＮＯと判断される状況は、相手選手が、フェイントの前進を行っているときなどに、ユーザが突きを行った結果として生じる。これに基づき、ステップＳ２２６では、突きのタイミングが適切でなかったことを示す値として、１点のエラー値がカウントされる。
【０１０７】
そして、評価部５ｄは、ステップＳ２２６でカウントしたエラー値を、記憶部５１に記憶する（ステップＳ２２７）。
【０１０８】
以上により、図９に示す処理は終了し、ステップＳ２２５，Ｓ２２７で記憶部５１に記憶された突きの評価点やエラー値は、ユーザがＰＣ５に所定の操作を行うことによって、表示部５２に表示されて、ユーザに確認される。
【０１０９】
以上の処理によれば、ユーザのパフォーマンスに関する情報に基づき、ユーザの拳の加速度が負のピークとなる時点が特定され、さらに当該時点における相手選手の動作に基づき、ユーザのパフォーマンスが評価される。この評価結果により、ユーザは、自身が行った動作が妥当であったか否かを判断することができる。また、ユーザは、所望の評価が得られるまで練習を繰り返すことで、目標とするスキルに達することができる。
【０１１０】
本発明は、上述した実施形態に限定されず、特許請求の範囲において種々改変することができる。
【０１１１】
例えば、加速度センサ４は、画像生成システム１から省略されてもよい。この場合、ユーザが突きを行ったタイミングを示すデータは、ビデオカメラ３の撮影画像に基づき取得される。このようにすることで、ユーザは、腕に加速度センサ４を取り付ける必要がなくなるため、より一層思い通りの動きができるようになる。
【０１１２】
また、ビデオカメラ３は複数設置されてもよい。この場合には、各ビデオカメラ３が撮影した画像に基づき、図３に示す処理が実行される。この結果、多視点からのユーザの撮影画像が得られ、これら撮影画像の各々が用いられて、ユーザと相手選手とが対峙した合成画像が生成される。これにより、多視点から視たユーザと相手選手との位置関係が確認可能となる。
【０１１３】
また、合成画像生成部５ｂによって生成された合成画像は、ＰＣ５とは別途設けられるモニタやスクリーンに表示されるようにしてもよい。
【０１１４】
また、仮想画像生成部５ｃによって生成された相手選手のＣＧ画像は、ＨＭＤ２に代えて、ユーザの近傍に配置されるモニタやスクリーンに表示されるようにしてもよい。
【０１１５】
また、ＰＣ５では、ＨＭＤ２やビデオカメラ３と無線通信を介して画像の送受信が行われてもよい。
【０１１６】
また本発明の画像生成システム１は、ボクシング、テニス、野球などの空手以外のスポーツの練習、ゲーム、リハビリのために使用され得る。例えば、テニスの練習に用いられる際には、ＰＣ５によって相手選手やボール等を含むＣＧ画像が生成されて、このＣＧ画像がスクリーンに投影される。そして、ユーザは、スクリーンに投影されたボール等の動きを確認して、ラケットを持った腕を動かす。そして、このユーザの様子がビデオカメラ３によって撮影されて、この撮影画像とＰＣ５によって生成されたＣＧ画像とが合成される。
【０１１７】
また、本実施形態の画像生成システム１における各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。ここで、上記プログラムは、例えばフレキシブルディスクやＣＤ−ＲＯＭ等のコンピュータ読取可能な情報記録媒体によって提供されてもよい。この場合、コンピュータ読取可能な情報記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送されて記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、装置の一機能としてその装置のソフトウェアに組み込まれてもよい。
【０１１８】
次に、本発明の効果を確認するために行った実験について説明する。
【０１１９】
本実験では、男子学生（２１歳、運動部所属）２名を被験者とし、上記実施形態の画像生成システム１を用いて「先の上段突き」の練習を行った。一方の被験者Ａには、合成画像生成部５ｂによって生成される合成画像（図６参照）を確認させ、他方の被験者Ｂには、合成画像を確認させなかった。
【０１２０】
また、相手選手がモーションを遷移する確率については、図１０に示すｐ（０）を０．７に設定し、ｐ（１），ｐ（２），ｐ（３）を、いずれも０．１に設定した。
【０１２１】
また、図８のステップＳ２１８における「突きが開始される以前のte−Δe時刻」を定めるにあたって、ユーザが突きを行った時刻teから過去へさかのぼる時間Δeを、５００msecに設定した。
【０１２２】
そして本実験では、図９のステップＳ２２５，Ｓ２２７で記憶された突きの評価点とエラー値とを、各回の練習後にＰＣ５において出力して確認した。
【０１２３】
練習は、１回１０分とし、エラー値が１点以下、かつ、突きの評価点の平均が２．５点以上の成績が３回連続して得られるまで、ほぼ毎日１〜４回の頻度で行った。
【０１２４】
目標成績に達するまで行った練習の回数は、被験者Ａが４４回、被験者Ｂが５５回であり、合成画像を確認した被験者Ａは、合成画像を確認しなかった被験者Ｂに比して、練習の回数が２０％程度少なくなった。このことから、合成画像を確認することによって、目標スキルへの到達に要する練習の回数が少なく抑えられることが確認された。
【産業上の利用可能性】
【０１２５】
本発明は、スポーツの練習、リハビリ、コンピュータゲームに用いる機器に適用することができる。
【符号の説明】
【０１２６】
１  画像生成システム
２  ＨＭＤ
３  ビデオカメラ
４  加速度センサ
５  ＰＣ
５ａ  モーション認識部
５ｂ  合成画像生成部
５ｃ  仮想画像生成部
５ｄ  評価部
６  マーカ
５０  制御部
５１  記憶部
５２  表示部
【図２】
0005446572.tif 000002
【図３】
0005446572.tif 000003
【図７】
0005446572.tif 000004
【図８】
0005446572.tif 000005
【図９】
0005446572.tif 000006
【図１０】
0005446572.tif 000007
【図１１】
0005446572.tif 000008
【図１】
0005446572.tif 000009
【図４】
0005446572.tif 000010
【図５】
0005446572.tif 000011
【図６】
0005446572.tif 000012