(57)【要約】    【構成】  ＶＲテニスゲームシステム（図４：１００）は２つのサイトにそれぞれ設置されたＶＲテニスゲーム装置（１０）をインタネット（図４：５４）で結合する。各ＶＲテニスゲーム装置のコンピュータ（図３：４２）は、プロジェクタ（１４）によってスクリーン（１２）にボール図形（図２：４０）を含むゲーム画面を表示させる。プレイヤ（１６）は、スクリーンの前方の実空間でラケット（１８）をスイングする。コンピュータは、そのプレイヤのスイング（返球動作）に応じて、返球データを作成する。返球データは、そのときのボール図形位置とボール速度とを含む。したがって、各コンピュータはその返球データに基づいてボール図形の軌道を計算し、それに従ってスクリーン上に飛翔するボール図形を表示する。このとき、メモリ（図３：４８または５２）に予め蓄積しておいた相手プレイヤのスイング動作の動画像をも併せてゲーム画面に表示する。    【効果】  少ない通信量でもリアリティを確保することができる。【選択図】  図１
2005253871.tif 000002
【特許請求の範囲】
【請求項１】
２つのサイトにそれぞれバーチャルリアリティテニスゲーム装置を設置し、各バーチャルリアリティテニスゲーム装置には、コンピュータと、前記コンピュータによる画像処理に従ってゲーム画面を表示する表示手段とを設け、プレイヤは前記表示手段に表示されるボール図形を打つように実空間でラケットをスイングすることによってゲームを進行させ、さらに、前記各バーチャルリアリティテニスゲーム装置の前記コンピュータ同士を通信回線で結合した、通信対戦型バーチャルリアリティステニスゲームシステムであって、
前記各バーチャルリアリティテニスゲーム装置にカメラを設け、このカメラによって前記プレイヤのスイング動作を撮影し、
前記コンピュータは前記カメラで前記プレイヤのスイング動作を撮影したカメラ画像に基づいて、少なくともボール位置データとボール速度データとを含む返球データを作成し、その返球データを相手コンピュータに送信し、
前記コンピュータはさらに、前記相手コンピュータから送信された返球データに基づいて前記ボール図形の軌道を計算して前記表示手段に表示させる、通信対戦型バーチャルリアリティテニスゲームシステム。
【請求項２】
前記コンピュータは前記表示手段上でコート図形を固定的に表示させるとともに、相手プレイヤの動画像をそのコート図形と重畳して表示させる、請求項１記載の通信対戦型バーチャルリアリティテニスゲームシステム。
【請求項３】
前記各バーチャルリアリティテニスゲーム装置は記憶手段をさらに有し、前記記憶手段に前記相手プレイヤの動画像を蓄積しておき、
前記コンピュータは相手コンピュータからの前記返球データを受信したとき前記記憶手段から前記相手プレイヤの動画像を読み出して前記表示手段に表示させる、請求項２記載の通信対戦型バーチャルリアリティテニスゲームシステム。
【請求項４】
前記カメラで前記プレイヤのスイング動作を撮影し、それによってプレイヤの動画像を作成し、ゲーム開始前もしくはゲーム開始後に相手コンピュータから前記返球データが送信されてくるまでに、当該プレイヤの動画像を相手コンピュータに送信するようにし、それによって前記各バーチャルリアリティテニスゲーム装置において前記記憶手段に前記プレイヤの動画像を予め蓄積するようにした、請求項３記載の通信対戦型バーチャルリアリティテニスゲームシステム。
【請求項５】
前記カメラで前記プレイヤのスイング動作を撮影し、それによってプレイヤの動画像を作成し、リアルタイムで当該プレイヤの動画像を相手コンピュータに送信する、請求項２記載の通信対戦型バーチャルリアリティテニスゲームシステム。
【請求項６】
前記カメラで前記プレイヤの顔画像を撮影し、その顔画像をリアルタイムで相手コンピュータに送信し、それによって前記各バーチャルリアリティテニスゲーム装置において前記プレイヤの動画像とともに顔画像を表示手段に表示させるようにした、請求項２ないし５のいずれかに記載の通信対戦型バーチャルリアリティテニスゲームシステム。
【請求項７】
２つのサイトにそれぞれバーチャルリアリティテニスゲーム装置を設置し、各バーチャルリアリティテニスゲーム装置には、コンピュータと、前記コンピュータによる画像処理に従ってゲーム画面を表示する表示手段とを設け、プレイヤは前記表示手段に表示されるボール図形を打つように実空間でラケットをスイングすることによってゲームを進行させ、さらに、前記各バーチャルリアリティテニスゲーム装置の前記コンピュータ同士を通信回線で結合した、通信対戦型バーチャルリアリティステニスゲームシステムにおける制御方法であって、
前記各バーチャルリアリティテニスゲーム装置にカメラを設け、このカメラによって前記プレイヤの動画像を撮影し、
ゲーム開始前もしくはゲーム開始初期に前記プレイヤの動画像を相手コンピュータに送信し、それによって前記各バーチャルリアリティテニスゲーム装置において記憶手段に前記プレイヤの動画像を予め蓄積し、
前記各バーチャルリアリティテニスゲーム装置において前記コンピュータはゲーム中必要に応じて前記記憶手段に蓄積した前記プレイヤの動画像を読み出して前記表示手段に表示させる、通信対戦型バーチャルリアリティテニスゲームシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はバーチャルリアリティテニスゲームシステムに関し、特にたとえばインタネットなどのネットワーク（通信回線）で結合した２つのバーチャルリアリティテニスゲーム装置を用いてプレイヤが実空間内で実際にラケットを振ることによってテニスゲームを進行させる、通信対戦型バーチャルリアリティ（Virtual Reality：仮想現実。以下、「ＶＲ」とする。）テニスゲームシステムに関する。
【背景技術】
【０００２】
本件発明者等は、特許文献１において、リハビリテーションのためのＶＲビデオテニスゲームシステムを提案している。この特許文献１では、特に、図２や図６で、遠隔地に設置したコンピュータでテニスゲームを行う技術を提案している。
【０００３】
特許文献１では、自分プレイヤをカメラで撮影してその撮影した映像を直接通信部から相手方のコンピュータへ送るか、あるいは、撮影した映像をＣＧ（コンピュータグラフィックス）に変換して相手方のコンピュータへ送るようにしている。
【特許文献１】特開２００３−１８０８９６号公報〔A63B 69/00 504 69/38 A63F 13/00〕
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１の従来技術では、相手プレイヤの動きのパラメータのみを伝送することによって通信する情報量を大幅に削減できるとしているが、具体的には何も記述していない。また、ＣＧによって相手プレイヤを表示するときはリアリティが欠如する。
【０００５】
それゆえに、この発明の主たる目的は、新規な、通信対戦型ＶＲテニスゲームシステムを提供することである。
【０００６】
この発明の他の目的は、リアリティを或る程度確保しながらも通信情報量を大幅に減じることができる、通信対戦型ＶＲテニスゲームシステムを提供することである。
【課題を解決するための手段】
【０００７】
請求項１の発明は、２つのサイトにそれぞれバーチャルリアリティテニスゲーム装置を設置し、各バーチャルリアリティテニスゲーム装置には、コンピュータと、コンピュータによる画像処理に従ってゲーム画面を表示する表示手段とを設け、プレイヤは表示手段に表示されるボール図形を打つように実空間でラケットをスイングすることによってゲームを進行させ、さらに、各バーチャルリアリティテニスゲーム装置のコンピュータ同士を通信回線で結合した、通信対戦型バーチャルリアリティステニスゲームシステムであって、各バーチャルリアリティテニスゲーム装置にカメラを設け、このカメラによってプレイヤのスイング動作を撮影し、コンピュータはカメラでプレイヤのスイング動作を撮影したカメラ画像に基づいて、少なくともボール位置データとボール速度データとを含む返球データを作成し、その返球データを相手コンピュータに送信し、コンピュータはさらに、相手コンピュータから送信された返球データに基づいてボール図形の軌道を計算して表示手段に表示させる、通信対戦型バーチャルリアリティテニスゲームシステムである。
【０００８】
請求項１の発明では、２つのＶＲテニスゲーム装置（１０：実施例において相当する部分を示す参照符号。以下、同様。）がインタネット（５４）で結合される。各ＶＲテニスゲーム装置は、コンピュータ（４２）および表示手段（１２，１４）を備える。表示手段によって表示されるゲーム画面中にボール図形が表示され、各サイトのプレイヤはそのボール図形を見て、それを打つように、実際にラケットを振る。プレイヤのこの返球動作はたとえば、カメラ（２４）によって撮影される。具体的には、ラケット（１８）にマーカ（２０）を儲け、そのマーカをカメラで撮影することによって、コンピュータは返球動作が行われたことを検出し、そのときのボール図形位置とボール速度とを含む返球データを作成し、送信する。
【０００９】
各コンピュータは、その返球データに含まれるボール位置データや速度データによってボール図形の軌道を計算し、それぞれの表示手段によってそのボール図形を表示させる。
【００１０】
この請求項１の発明では、２つのサイト間では返球データだけをリアルタイムで通信すればよいので、通信量を大幅に減じることができ、したがって、対戦型ＶＲテニスゲームが違和感なくスムーズにプレイできる。
【００１１】
請求項２の発明は、コンピュータは表示手段上でコート図形を固定的に表示させるとともに、相手プレイヤの動画像をそのコート図形と重畳して表示させる、請求項１記載の通信対戦型バーチャルリアリティテニスゲームシステムである。
【００１２】
請求項２の発明では、表示手段上には、コート図形（３０）やネット図形（３２）などがコンピュータ（４２）によって固定的に表示されるとともに、相手プレイヤの返球動作の動画像も表示されるので、臨場感やリアリティを一層向上できる。
【００１３】
請求項３の発明は、各バーチャルリアリティテニスゲーム装置は記憶手段をさらに有し、記憶手段に相手プレイヤの動画像を蓄積しておき、コンピュータは相手コンピュータからの返球データを受信したとき記憶手段から相手プレイヤの動画像を読み出して表示手段に表示させる、請求項２記載の通信対戦型バーチャルリアリティテニスゲームシステムである。
【００１４】
請求項３の発明では、相手プレイヤの動画像の表示データは記憶手段に蓄積しておくので、必要なとき、つまり相手プレイヤの返球動作に合わせて読み出してゲーム画面に相手プレイヤの動画像を表示することができる。
【００１５】
請求項４の発明は、カメラでプレイヤのスイング動作を撮影し、それによってプレイヤの動画像を作成し、ゲーム開始前もしくはゲーム開始後に相手コンピュータから返球データが送信されてくるまでに、当該プレイヤの動画像を相手コンピュータに送信するようにし、それによって各バーチャルリアリティテニスゲーム装置において記憶手段にプレイヤの動画像を予め蓄積するようにした、請求項３記載の通信対戦型バーチャルリアリティテニスゲームシステムである。
【００１６】
請求項４の発明では、相手プレイヤの動画像データをゲーム中に通信し合う必要がないので、非常に少ない通信量で相手プレイヤの動画像を表示できる。
【００１７】
請求項５の発明は、カメラでプレイヤのスイング動作を撮影し、それによってプレイヤの動画像を作成し、リアルタイムで当該プレイヤの動画像を相手コンピュータに送信する、請求項２記載の通信対戦型バーチャルリアリティテニスゲームシステムである。
【００１８】
請求項５の発明では、プレイヤ動画像はリアルタイムで通信する。ただし、この場合、たとえば背景差分法などで抽出したプレイヤ画像だけを送信すればよい。
【００１９】
請求項６の発明は、カメラでプレイヤの顔画像を撮影し、その顔画像をリアルタイムで相手コンピュータに送信し、それによって各バーチャルリアリティテニスゲーム装置においてプレイヤの動画像とともに顔画像を表示手段に表示させるようにした、請求項２ないし５のいずれかに記載の通信対戦型バーチャルリアリティテニスゲームシステムである。
【００２０】
請求項６の発明では、相手プレイヤの顔画像が表示手段に表示されるので、相手の表情も見ることができる。
【００２１】
請求項７の発明は、２つのサイトにそれぞれバーチャルリアリティテニスゲーム装置を設置し、各バーチャルリアリティテニスゲーム装置には、コンピュータと、コンピュータによる画像処理に従ってゲーム画面を表示する表示手段とを設け、プレイヤは表示手段に表示されるボール図形を打つように実空間でラケットをスイングすることによってゲームを進行させ、さらに、各バーチャルリアリティテニスゲーム装置のコンピュータ同士を通信回線で結合した、通信対戦型バーチャルリアリティステニスゲームシステムにおける制御方法であって、各バーチャルリアリティテニスゲーム装置にカメラを設け、このカメラによってプレイヤの動画像を撮影し、ゲーム開始前もしくはゲーム開始初期にプレイヤの動画像を相手コンピュータに送信し、それによって各バーチャルリアリティテニスゲーム装置において記憶手段にプレイヤの動画像を予め蓄積し、各バーチャルリアリティテニスゲーム装置においてコンピュータはゲーム中必要に応じて記憶手段に蓄積したプレイヤの動画像を読み出して表示手段に表示させる、通信対戦型バーチャルリアリティテニスゲームシステムの制御方法である。
【００２２】
請求項７の発明では、請求項４の発明と同様に、相手プレイヤの動画像データをゲーム中に通信し合うことなく、相手プレイヤの動画像を表示できる。
【発明の効果】
【００２３】
この発明によれば、サイト間では返球データだけを通信するので、通信データ量を大幅に削減でき、したがって、あまり高速ではない通信回線を用いても通信対戦型ＶＲテニスゲームをスムーズにブレイできる。
【００２４】
各ＶＲテニスゲーム装置でテニスコート図形を固定的に表示し、それに重ねてプレイヤ動画像を表示するようにすれば、通信量を削減してもリアリティを或る程度確保することができる。
【００２５】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２６】
この発明の通信対戦型ＶＲテニスゲームシステムの１つの実施例では、２台の、図１に示すＶＲテニスゲーム装置１０を用いる。したがって、まず、この図１のＶＲテニスゲーム装置１０について詳細に説明する。
【００２７】
ＶＲテニスゲーム装置１０は、スクリーン１２を含み、このスクリーン１２上にプロジェクタ１４によってＶＲテニスゲームのための映像を表示する。コイルのすく１２とプロジェクタ１４とによって表示装置ないし表示手段を構成する。この実施例では、床面上の空きスペースを十分確保するために天吊り型のプロジェクタ１４を用いたが、床面据置型のプロジェクタが利用されてもよい。さらに、この実施例では、スクリーン１２とプロジェクタ１４との組み合わせからなる映像表示装置を用いるが、たとえば大画面テレビジョンなどの他の映像表示装置が利用されてもよい。ただし、このスクリーン１２にはゲーム画面が表示されるので、参照番号「１２」はゲーム画面を指示する場合もある。
【００２８】
この実施例のＶＲテニスゲーム装置１０は、リハビリにおける主として上肢の運動のために利用でき、訓練者はプレイヤ１６として、スクリーン１２の前方の実空間でラケット１８を実際に振る。ラケット１８にはたとえば赤色のような可視光発光ダイオード（ＬＥＤ）のような光マーカ２０が設けられる。
【００２９】
なお、このような光マーカ２０を設けるためには、図示しないが、ラケット１８に、電池とその電池からの電源を光マーカ（ＬＥＤ）２０へ与えるためのスイッチを設ける必要がある。ただし、このスイッチとしては、プレイヤがラケット１８を握ったときオンとなり、離したときオフとなるものが利用可能である。
【００３０】
他方、スクリーン１２の左右に１台ずつ、第１カメラとしての、ＵＳＢカメラ２２Ｌおよび２２Ｒを設け、ラケット１８の光マーカ２０をＵＳＢカメラ２２ＬＲおよび２２Ｌで撮影することによって、後述のようにして、プレイヤ１６がラケット１８を振ったか（スイングしたか）どうかを検出する。
【００３１】
なお、ＵＳＢカメラとは、コンピュータのＵＳＢ（Universal Serial Bus：共通のコネクタでさまざまな周辺機器を接続することができるインタフェース規格）端子に接続されて、たとえば水平角度が５０度、画素数が２５−４５万画素程度でＷｅｂカメラとも呼ばれる比較的安価なカメラである。ただし、もっと画素数の大きいカメラを用いてもよいが、発明者等の実験によれば、実施例のテニスゲームでは、この程度の画素数で十分対応できた。画素数が少ない分、コンピュータ処理量が少なくて済み、全体として安価にシステムを構築できる。
【００３２】
また、スクリーン１２の下方中央に１台、第２カメラとしての、ＵＳＢカメラ２４を設ける。他方、プレイヤ１６の左右の足の足首に、互いに異なる色、たとえば黄色と青の色マーカ２６Ｌおよび２６Ｒが装着される。ＵＳＢカメラ２４で２つの色マーカ２６Ｌおよび２６Ｒを撮影することによって、後述のように、フォアハンドまたはバックハンドのときの姿勢（返球方向）を判定する。
【００３３】
なお、図１のＶＲテニスゲーム装置１０にはステレオスピーカ２８Ｒおよび２８Ｌが設けられていて、このスピーカ２８Ｒおよび２８Ｌによって打球音や観衆の声援あるいはその他適宜のＢＧＭ等が発音される。
【００３４】
図１実施例のＶＲテニスゲーム装置１０でテニスゲームを実行する場合のスクリーン１２上のゲーム画面の表示例が図２に示される。すなわち、コンピュータ４２（図３）によって、仮想空間内にテニスコート図形３０やネット図形３２、さらには観衆図形３４が固定的に表示される。この固定表示されるコート図形３０やネット図形３２、観衆図形３４の表示データは、図３に示す後述の内部メモリ４８あるいは外部メモリ５２等の記憶手段に予め格納されているので、コンピュータ４２は必要なときそれらを読み出して表示できる。
【００３５】
コンピュータ４２はさらに、コート手前側にプレイヤ１６によって実空間内で振られたラケット１８を表すラケット図形３６を表示し、相手方コート内に相手方プレイヤの図形（相手方プレイヤ図形）３８を動画で表示し、さらにはラケット図形３６と相手方プレイヤ図形３８との間を飛翔するようにテニスボール図形４０を移動表示する。ラケット図形３６は、上記固定表示図形の表示データと同様に各記憶手段に設定しておいた、表示データを用いて表示することができる。
【００３６】
図１実施例のＶＲテニスゲーム装置１０のブロック図が図３に示される。ＶＲテニスゲーム装置１０はコンピュータ４２を含み、このコンピュータ４２は、ＵＳＢカメラ２２Ｌおよび２２Ｒならびに２４からのカメラ信号を受ける。そして、グラフィックボード４４から映像信号をプロジェクタ１４に与え、サウンドボード４６からスピーカ２８Ｒおよび２８Ｌに音声信号を与える。
【００３７】
コンピュータ４２の内部メモリ４８には後述のフロー図で示すプログラムが記憶されているとともに、この内部メモリ４８はワーキングメモリやレジスタなどとしても利用される。特に、内部メモリ４８には、画像処理においてコンピュータ４２が抽出処理または獲得処理すべき色（マーカの色）を示す色相値（実施例では、黄および青）を予め設定しておくための色相レジスタ（図示せず）が形成される。
【００３８】
コンピュータ４２にはメモリインタフェース５０を介して外部メモリ５２が結合される。この外部メモリ５２は、たとえばハードディスクまたはＣＤ−ＲＷ、ＤＶＤ−ＲＷなどのディスクあるいは半導体メモリなど任意の記録媒体または記憶媒体であり、ここではそれらを便宜上「メモリ」と呼ぶことにする。外部メモリ５２には、リハビリテーションに必要な、訓練者（プレイヤ）やそれらの症状などを含むマスタデータなどが記憶または記録されている。
【００３９】
実施例のＶＲテニスゲームシステムでは、図４に示すように、図１および図３に示すＶＲテニスゲーム装置１０をサイトＡの装置およびサイトＢの装置として利用する。したがって、図１および図３に示すコンポーネントは同じ番号で示すが、特に区別する必要があるときには、その番号に「Ａ」または「Ｂ」を付してサイトＡのものか、サイトＢのものかを区別する。
【００４０】
そして、図４のＶＲテニスゲームシステム１００では、サイトＡコンピュータ４２ＡおよびサイトＢコンピュータ４２Ｂがインタネット５４を通してロビーサーバ５６にアクセスできるように設定されている。サイトＡのプレイヤ（図示せず）とサイトＢのプレイヤ（図示せず）がそれぞれ図１に示す自分側の装置１０を利用することによって、２人のプレイヤが、ともに、自分プレイヤとして、ＶＲテニスゲームをプレイすることができる。
【００４１】
このＶＲテニスゲームシステム１００では、対戦相手プレイヤの装置１０のコンピュータのＩＰアドレスが既知で互いに接続可能な状態である場合には、インタネット５４を介して互いのコンピュータ４２Ａおよび４２Ｂを直接接続する。この場合には、図５の最初のステップＳ１０１で“ＹＥＳ”と判断し、次のステップＳ１０３で、自分側のコンピュータ４２をサーバとして機能させるかどうか、決定する。自分側のコンピュータ４２Ａまたは４２Ｂをサーバとして機能させるときには、ステップＳ１０３で“ＹＥＳ”となり、ステップＳ１０５で、クライアントとして機能する相手側のコンピュータ４２Ｂまたは４２Ａから送信されてくる接続要求の受信を待機する。そして、ステップＳ１０７で相手側コンピュータからの接続要求を受信したと判断したときには、このステップＳ１０７で“ＹＥＳ”となり、図６に進む。
【００４２】
ステップＳ１０３で、サーバにはならないことを決めた場合には、このステップＳ１０３で“ＮＯ”が判断され、続くステップＳ１０９で、クライアントとして、サーバとなるべき相手側コンピュータのＩＰアドレスを指定して、ステップＳ１１１で接続可能が判断されるまで、接続要求を相手側コンピュータに送信する。そして、ステップＳ１１１で接続可能と判断すれば，そのまま、図６に進む。
【００４３】
対戦プレイヤのＩＰアドレスを知らないときには、対戦相手を探すために、ステップＳ１０１で“ＮＯ”が判断され、次のステップＳ１１３で、自分側のコンピュータ４２は、図4に示すインタネット５４を介して、ロビーサーバ５６にアクセスする。このロビーサーバ５６は、通信対戦を希望するプレイヤの仮想的な待合室を運営している。したがって、ステップＳ１１５で、このロビーサーバ５６のメモリ（図示せず）に蓄えられている通信対戦待機プレイヤの一覧（リスト）を獲得することができる。
【００４４】
なお、サーバ５６では、この一覧リストの送信をサーバ５６に要求したプレイヤのコンピュータを一覧リストに追加して登録する。したがって、サーバ５６にアクセスしたプレイヤも他のプレイヤからの選考の対象となる。
【００４５】
一覧リストを見て、対戦したい相手がいる場合には、ステップＳ１１７で“ＹＥＳ”が判断され、ステップＳ１１９において、ステップＳ１２１で接続許可が与えられるまで、選択した相手に接続要求を送信する。ステップＳ１２１で接続許可が与えられると、図６に進む。
【００４６】
ステップＳ１１７で“ＮＯ”が判断されたとき、つまり、対戦希望プレイヤが一覧リストにない場合には、次のステップＳ１２３で他のプレイヤのサイト（コンピュータ）から接続要求が送信されてきたかどうか、判断する。他のサイトからの接続要求に応える場合には、次のステップＳ１２５で対戦を許可して、図６に進む。
【００４７】
図５のステップＳ１０７，Ｓ１１１，Ｓ１２１またはＳ１２５のいずれかで“ＹＥＳ”を判断したとき、つまり対戦相手プレイヤと通信対戦テニスゲームを行うときには、図６の最初のステップＳ１２７で相手コンピュータと接続する。
【００４８】
そして、次のステップＳ１２９において、スイングパターンを作成し、相手側コンピュータへ送信する。このステップＳ１２９は、具体的には、図７に示すサブルーチンとして実行できる。ただし、このステップＳ１２９は、後述のリアルタイム画像送受信を行う場合には、処理しない。
【００４９】
図７の最初のステップＳ１３１では、プレイヤは、まず、たとえば図１に示すカメラ２４を用いて、図８に示すような背景画像（これからプレイヤが実際にスイングしようとしている場所の）を撮影する。続いて、ステップＳ１３３において、コンピュータたとえば４２Ａの指示に従って、プレイヤはラケットを持ってたとえばフォアハンドのスイングを開始する。そして、次のステップＳ１３５で、同じカメラ２４によって、図９に示すようなプレイヤ画像を撮影する。プレイヤ画像は、この図９に示すように、当然、背景画像（図８）と一緒に撮影されてしまうものである。
【００５０】
その後、ステップＳ１３7において、コンピュータ４２Ａは、背景差分法を用いて、プレイヤ画像領域だけを抜き出す。具体的には、ステップＳ１３１で撮影した図８の画像と、ステップＳ１３５で撮影した図９の画像とを重ね合わせて、ほぼ同じ明るさの領域（画素）を破棄することによって、結果的に、プレイヤ画像だけが残る。
【００５１】
続くステップＳ１３９において、コンピュータ４２Ａは、ステップＳ１３７で抽出したプレイヤ画像をスイングパターンファイルに追加する。スイングパターン映像は連続した静止画の集合であるため、１コマずつ、パターンファイルに加えていく。なお、他パターンファイルは、たとえば図２に示す内部メモリ４８に蓄積される。
【００５２】
ステップＳ１３３−Ｓ１３９は、ステップＳ１４１でスイングの完了を検出するまで繰り返し実行され、ステップＳ１４１で“ＹＥＳ”が判断されたときには、パターンファイルに、たとえばフォアハンドスイングやバックハンドを示す多数の静止画集合が蓄積されている。
【００５３】
図７の最後のステップＳ１４３では、コンピュータ４２Ａは、内部メモリ４８のパターンファイルを相手方コンピュータ４２Ｂへ送信する。このとき同時に、相手コンピュータ４２Ｂで利用可能なように、先のステップＳ１３１で撮影した図８に示す背景画像も同時に相手コンピュータ４２Ｂへ送る。
【００５４】
なお、実施例では、各コンピュータ４２Ａ，４２Ｂにマイクロソフト社のDirectPlay(商品名)をインストールしている。このDirectPlayというアプリケーションソフトは、通信に関する機能をまとめたＡＰＩ（application programming interface）の集まりであり、マルチプレイヤゲームなどのネットワークアプリケーションの記述を可能にする。そして、DirectPlay(商品名)は、プレイヤの接続およびセッションの管理に関連する難しい作業をすべて行い、１度コンピュータ同士を接続すると、このDirectPlayを使って、互いに保証付または無保証のデータ送信を行うことができる。実施例では、先のステップＳ１４３などでのデータ送信では、すべてこの機能を利用して実行する。
【００５５】
そして、図６の続くステップＳ１４５において、相手コンピュータ４２Ｂから送信されてくる相手プレイヤのスイングパターンファイルを受信する。ただし、リアルタイム画像の送受信を行う場合には、このステップＳ１４５は、先のステップＳ１２９とともに省略される。
【００５６】
なお、ステップＳ１４５で受信した対戦相手のプレイヤのスイングパターンファイルは、図２の内部メモリ４８または外部メモリ５２の適宜の領域に蓄積、格納される。したがって、自分側のコンピュータ４２は必要なとき相手プレイヤのスイングパターンを引き出す（読み出す）ことができる。
【００５７】
図６の続くステップＳ１４７で対戦を開始し、次のステップＳ１４９で、リアルタイム画像送信を実行する。ただし、先のステップＳ１２９およびＳ１４５で、対戦の開始に先立ってスイングパターンを送受信する仕様のシステムでは、このステップＳ１４９（およびステップＳ１６３）は省略される。
【００５８】
つまり、この図４のシステム１００では、２つのタイプのどちらかを選択的に設定できるように設計されていて、１つのタイプは、比較的低速の通信回線を使用する場合に相手プレイヤのスイングパターンを前もって自分側のメモリに蓄積しておいて、自分側にゲーム画面にそのメモリから読み出した相手プレイヤのスイングパターンを重畳表示する方式である。別の１つのタイプは、比較的高速の通信回線を使用する場合に相手プレイヤのスイングパターンをその都度相手コンピュータから受け取って、自分側にゲーム画面にそのときリアルタイムで受信した相手プレイヤのスイングパターンを重畳表示する方式である。
【００５９】
後者のタイプを選択したときには、ステップＳ１４９でスイングパターンのリアルタイム送信が実行される。ただし、具体的には、このステップＳ１４９は、図１０のサブルーチンとして実行される。
【００６０】
図１０の最初のステップＳ１５１、Ｓ１５３およびＳ１５５は、先に説明した図７のステップＳ１３１、Ｓ１３５およびＳ１３７と同様である。つまり、ステップＳ１５１で図８に示す背景を撮影し、ステップＳ１５３でその背景の中で、図１１に示すプレイヤを撮影し、ステップＳ１５５で背景差分法で図１２に示すようにプレイヤ領域を抜き出す。このようにして、プレイヤの動画像が作成される。
【００６１】
次のステップＳ１５７では、コンピュータ４２Ａは図１３に示すようにプレイヤの顔領域だけを抜き出す。たとえば、ステップＳ１５５で抽出したプレイヤ画像の高さを計測し、顔が存在するであろうと予測した特定の割合の高さを中心とした領域を顔領域として抽出する。このようにして、プレイヤの顔画像が生成される。
【００６２】
その後、ステップＳ１５９でプレイヤ領域や顔領域の動画データを符号化する。つまり、プレイヤ動画像および顔画像データを符号化する。ただし、相手側コンピュータで滑らかに再生できるように、通信環境に応じて圧縮率を変更し、そのときの通信状態に最適の圧縮率で圧縮符号化する。そして、その圧縮符号化したデータ（プレイヤ動画像および顔画像）をステップＳ１６１で、通信回線を介して、相手コンピュータ４２Ｂに送信する。
【００６３】
ステップＳ１６３で相手コンピュータから送信されてくるリアルタイム画像を受信する場合、実際には、図１４のサブルーチンが実行される。最初のステップＳ１６５で、相手コンピュータから送信されてくる符号データを受信し、それを必要に応じて、内部メモリ４８（図３）に蓄積する。続くステップＳ１６７で、その符号データを復号し、その復号データ、すなわち相手プレイヤの動画データを内部メモリ４８の別の領域に蓄積する。そして、最後のステップＳ１６９で、再生した相手プレイヤの動画データを図１５に示すように、自分側のディスプレイで表示されているゲーム画面１２中に合成して表示する。つまり、リアルタイム画像送受信タイプのシステムの場合、図６のステップＳ１４９およびステップＳ１６３を実行することによって、図１５に示す、相手プレイヤの動画像を含むゲーム画面が表示できる。このとき、画面上には相手プレイヤの動画像だけでなく、顔画像３９も表示されるので、自分プレイヤはそのときの相手プレイヤの顔、たとえば相手プレイヤが打ち損じたときの顔や、うまく返球できたときの顔などをリアルタイムで見ることができ、ゲームのリアリティや興趣が一層向上する。
【００６４】
図６の続くステップＳ１７１において、コンピュータ４２Ａは、相手コンピュータ４２Ｂから何かデータが送られているかチェックする。上述のDirectPlay（商品名）を利用する場合、コンピュータ間で送受信するデータの形成は、［Type, Option, Data…］とする。
【００６５】
ここで、Type, Optionには，ある意味を持つ数値を入れる。Typeには送受信する情報の種類を入れる。たとえばType1＝ゲーム開始、Type2＝ボール情報、Type3＝ポイント判定、などである。
【００６６】
OptionにはTypeに付随する内容を加える。たとえば、Type＝２のとき、Option0＝フォアハンド、Option1＝バックハンド。Type＝３のとき、Option0＝自分プレイヤのポイント、Option1＝対戦相手プレイヤのポイント)。
【００６７】
また，DataにはTypeによって必要な数値情報を入れる。たとえば、Type＝２のとき、ボール位置。
【００６８】
たとえば、打球直前のボールの位置をX，Y，Z，ボール速度をVx，Vy，Vzとする。プレイヤが打球すると、後述の方法で検出したラケットのスイング方向によって、返球するボール速度Vx’，Vy’，Vz’ が得られる。このとき、フォアハンドで打球したとすると、送信するデータは、[2, 0, X, Y, Z, Vx’, Vy’, Vz’] となる。このデータを通信相手が受信すると、このボール位置X, Y, Zとボール速度Vx’, Vy’, Vz’ とをゲームに反映させ、相手が返球するように描画を行う。
【００６９】
また、ポイント（得点）が発生するとき、たとえばサイトＡのプレイヤが空振りをし、ボールが２バウンドした場合は、サイトＡの相手プレイヤにポイントを付加し、[3, 1]を送信する。このデータをサイトＢで受信すると，サイトＢの相手プレイヤが空振りしたと判定し、自分プレイヤにポイントを付加する。また，サイトＡにおいて相手プレイヤの打球がアウトであったとき、サイトＡの自プレイヤにポイントを付加し、[3, 0] を送信する。このデータをサイトＢで受信すると、サイトＢの自プレイヤの打球がアウトであると判定し、相手プレイヤにポイントを付加する。
【００７０】
詳細に説明すると、図６のステップＳ１７１で相手コンピュータからの送信データの受信を検出すると、次のステップＳ１７３において、その受信データに含まれるTypeおよびOptionの値を獲得する。
【００７１】
そして、次のステップＳ１７５で、コンピュータ４２Ａは、Typeが「１」かどうか判断する。そして、Type＝１なら、次のステップＳ１７７で、ゲーム開始判定を「ＯＫ」として、ゲームを初期化する。その後、ステップＳ１７９で開始判定（フラグ）がＯＫかどうか判断する。“ＹＥＳ”なら、図１６のステップＳ１８１に進む。
【００７２】
図１６のステップＳ１８１では、先のステップＳ１７３（図６）で獲得した、相手サイトからの送信データに含まれるTypeが「３」かどうか判断する。このステップＳ１８１で“ＹＥＳ”が判断されるということは、先に説明したように、次はポイン判定をする必要があるので、続くステップＳ１８３で、そのTypeに後続するOptionの値が「１」か「０」か判断する。つまり、ステップＳ１８３でOptionの値が「０」かどうか判断し、“ＹＥＳ”なら、先に説明したように相手プレイヤにポイントを付与するために、次のステップＳ１８５を実行し、次のステップＳ１８７で、開始判定フラグを「ＮＧ」にセットするとともに、ゲーム初期化して、次のラリーに備える。
【００７３】
逆に、ステップＳ１８３で“ＮＯ”が判断されると、次のステップＳ１８９で、自分プレイヤに得点を加算する。そして、ステップＳ１８７またはＳ１８９の後、プロセスは、図６のステップＳ１４９に戻る。
【００７４】
図１６のステップＳ１８１で“ＮＯ”が判断されると、続くステップＳ１９１において、コンピュータ４２Ａは、Typeの値が「２」かどうか判断する。Type＝２であるということは、相手プレイヤのスイングがフォアハンドかバックハンドかを示すデータが送信されてきていることを意味し、次のステップＳ１９３で、スイングパターンの再生ステップを実行する。
【００７５】
スイングパターンの再生処理とは、リアルタイム送受信でない場合に、先に図６のステップＳ１６３で予め受信しておいた相手プレイヤのスイングパターンを、フォアハンドかバックハンドかに応じて、内部メモリ４８（図３）から読み出して自分側のサイトのスクリーン１２上のゲーム画面に表示することである。
【００７６】
具体的には、図１７のステップＳ１９５において、まず、Type＝２に後続するOptionの値が「０」かどうか判断する。“ＹＥＳ”であれば、先に説明したように、相手プレイヤのスイングパターンはフォアハンドであるので、続くステップＳ１９７において、コンピュータ４２Ａは、内部メモリ４８から、フォアハンドのパターンファイルを読み出す。ステップＳ１９３で“ＮＯ”なら、相手プレイヤのスイングパターンはバックハンドであるので、続くステップＳ１９９において、コンピュータ４２Ａは、内部メモリ４８から、パックハンドのパターンファイルを読み出す。
【００７７】
いずれの場合にも、ステップＳ２０１において、読み出したパターンファイルをゲーム画面中に合成表示する。つまり、ゲーム画面を再描画するタイミング（毎秒３０回）に合わせて、ファイルから１枚ずつ相手プレイヤのスイング画像（静止画）を読み込み、それをゲーム画面中に、たとえば図２に示すように、重畳させて表示する。つまり、図２のゲーム画面１２において、テニスコート図形３０やネット図形３２、観衆図形３４が固定的に表示され、相手方プレイヤ図形３８がフォアハンドまたはバックハンドスイングをしている動画として、表示される。
【００７８】
その後、ステップＳ２０３において、先のステップＳ１７３（図６）で受信した相手プレイヤの返球データに含まれるボール位置X,Y,Zとボール速度Vx’，Vy’，Vz’とに応じて、図２に示すゲーム画面中のボール図形４０の軌道を計算するとともに、その軌道上をボール図形４０が動くように、ボール図形４０を描画する。
【００７９】
続くステップＳ２０５において、コンピュータ４２Ａは、プレイヤ１６（図１）が打球可能な位置にボールが存在しているかどうか判断する。詳しく言うと、プレイヤ１６によってボール図形４０（図２）を打球可能な位置ないし領域を予め設定しておき、その位置または領域にボール図形が到達したとき、このステップＳ２０５で“ＹＥＳ”が判断される。
【００８０】
ステップＳ２０５で“ＹＥＳ”が判断されると、コンピュータ４２Ａは、次のステップＳ２０７において、ラケット１８のスイングを判定する。このステップＳ２０７は、具体的には、図１８のサブルーチンとして実行される。
【００８１】
図１８の最初のステップＳ１１では、コンピュータ４２Ａは、２つのＵＳＢカメラ２２Ｌおよび２２Ｒからの画像信号（第１カメラ信号）を取り込む。ただし、スイング判定においては、ラケット１８に設けた光マーカ２０（図１）が検出できればよいだけであるので、ＵＳＢカメラ２２Ｌおよび２２Ｒの露光時間は極端に短く設定するとともに、ＵＳＢカメラ２２Ｌおよび２２Ｒからはモノクロの画像信号を入力するようにしておく。つまり、ＵＳＢカメラ２２Ｌおよび２２Ｒからは輝度信号だけが入力される。
【００８２】
コンピュータ４２Ａは、次のステップＳ１３において、ＵＳＢカメラ２２Ｌおよび２２Ｒからの輝度信号を２値化し、光マーカ２０と思われる明るさの領域を検出できるようにする。
【００８３】
続くステップＳ１５では、コンピュータ４２Ａは膨張処理（分割された領域や穴のあいた領域を埋めて一連の領域とする処理）を実行する。
【００８４】
そして、ステップＳ１７において、コンピュータ４２Ａは面積フィルタ処理を行なう。つまり、このステップＳ１７では、コンピュータ４２Ａは、ステップＳ１３によって２値化されかつステップＳ１５で膨張処理した後の、高輝度領域を検出し、それの面積の小さい領域をノイズと判定して除去し、所定の閾値以上の面積を持つ領域を検出する。そして、その閾値以上の面積の領域のうち最大面積の領域を光マーカ２０と判定する。
【００８５】
ステップＳ１７で光マーカ２０の位置を検出した後、ステップＳ１９で、重心座標を計測する。すなわち、コンピュータ４２Ａは、画像上での重心座標を計測するとともに、画像の中心を原点として設定する。ただし、「重心」とは、画素値を密度とみなすときの質量分布の中心をいうものとする。
【００８６】
ステップＳ１９で重心座標を計測した後、ステップＳ２１で、コンピュータ４２Ａは、前回（前フレーム）の重心位置と、今回（現フレーム）の重心位置とに基づいて、重心の移動量を計算する。次いで、ステップＳ２３において、コンピュータ４２Ａは、この移動量が所定の閾値以上かどうかを判断する。
【００８７】
ステップＳ２３で“ＮＯ”が判断されると、つまり、前フレームの重心位置からの移動量が所定値より小さいときには、コンピュータ４２Ａは、プレイヤ１６がラケット１８をスイングしていないと判断し、ステップＳ２５において、スイングフラグＳＦをリセットする（ＳＦ＝０）。ただし、このスイングフラグＳＦは、図示してはいないが、後述のフォアハンドフラグＦＨＦ、バックハンドフラグＢＨＦ、およびサーブフラグＳＶＦと同様、図３に示す内部メモリ４８に設けられる。
【００８８】
ステップＳ２３で“ＹＥＳ”が判断されると、つまり、前フレームの重心位置からの移動量が所定値以上のときには、コンピュータ４２Ａは、ステップＳ２７において、プレイヤ１６がラケット１８をスイングしたと判断し、スイングフラグＳＦをセットする（ＳＦ＝１）。
【００８９】
このように、カメラ２２Ｌおよび２２Ｒでラケット１８の光マーカ２０を撮影し、そのカメラ信号を処理するだけで、プレイヤ１６が実際にラケット１８を振ったかどうか検出することができる。したがって、従来技術で用いていたセンサが不要となり、それに伴って複雑な信号処理をする必要がない。したがって、簡単な構成でかつ簡単な処理で、プレイヤ１６がラケット１８をスイングしたかどうか検出することができる。
【００９０】
ただし、実施例では検出精度を上げるために、つまり、検出ミスを可及的回避するために、２台のＵＳＢカメラ２２Ｌおよび２２Ｒを用いた。しかしながら、ラケットスイング検出のためには、１台のＵＳＢカメラだけが用いられてもよい。
【００９１】
そして、次のステップＳ２９において、コンピュータ４２Ａは、光マーカ２０（図３）が右から左（図１のスクリーン１２に向かって）へ移動したのかどうか判断する。つまり、ステップＳ２１で、現フレームでの、前フレームからの光マーカ２０の重心移動量を計算するが、この計算過程において、重心がスクリーン１２の左右方向において、向かって右から左へ移動したのか、向かって左から右へ移動したのかを併せて判別できる。そして、光マーカ２０が右から左に移動したということは、ラケット１８が右から左へ移動したことを意味し、この場合には、プレイヤ１６がラケット１８を右手で振っているのであれば、フォアハンドスイングと判定できる。したがって、ステップＳ２９で“ＹＥＳ”が判断されたとき、コンピュータ４２Ａは、続くステップＳ３１で、フォアハンドフラグＦＨＦをセット（ＦＨＦ＝１）する。
【００９２】
ステップＳ２９で“ＮＯ”のとき、次のステップＳ３３で、コンピュータ４２Ａは、光マーカ２０（図３）が、スクリーン１２に向かって左から右へ移動したのかどうか判断する。このステップＳ３３もステップＳ２９と同様に、ステップＳ２１の計算結果から判断できる。たとえば、光マーカ２０が左から右に移動したということは、ラケット１８が左から右へ移動したことを意味し、この場合には、右手でラケットを振っているのであれば、バックハンドスイングと判定できる。したがって、ステップＳ３３で“ＹＥＳ”が判断されたとき、コンピュータ４２Ａは、続くステップＳ３５で、バックハンドフラグＢＨＦをセット（ＢＨＦ＝１）する。
【００９３】
ステップＳ３３で“ＮＯ”が判断されたとき、コンピュータ４２Ａは、次のステップＳ３７で、光マーカ２０が、スクリーン１２の上から下へ移動したのかどうか判断する。前述のように、ステップＳ２１で、前フレームからの光マーカ２０の重心移動量を計算するが、この計算過程において、重心がスクリーン１２の上下方向において、上から下へ移動したのかどうかも併せて判別できる。そして、光マーカ２０が上から下に移動したということは、右手で振っていても左手で振っていても、ラケット１８が上から下へ振り下ろされたことを意味し、この場合には、サーブスイングと判定できる。したがって、ステップＳ３７で“ＹＥＳ”が判断されたとき、コンピュータ４２Ａは、続くステップＳ３９で、サーブフラグＳＶＦをセット（ＳＶＦ＝１）する。
【００９４】
なお、右利きか左利きかを特に区別する必要はない。つまり、右手でラケットを振ったときのフォアハンドが左手でラケットを振ったときのバックハンドとなり、右手でラケットを振ったときのバックハンドが左手でラケットを振ったときのフォアハンドとなり、前者のときにはフォアハンドフラグＦＨＦがセットされ、後者のときにはバックハンドフラグＢＨＦがセットされるだけで、後の処理を変更する必要はない。
【００９５】
その後、ステップＳ２０９（図１６）において、先のスイング判定の結果に基づいて、自分プレイヤがスイングしたかどうか判断する。スイングしなかったときは、見逃したのであるから、そのまま、次のステップＳ２１７（図１９）に進む。
【００９６】
ステップＳ２０９において、所定のタイミングでスイングがあったと判断したときは、続くステップＳ２１１（図１６）において、コンピュータ４２Ａは、自分プレイヤ１６（図１）の体の向きを検出する。このステップＳ２１１は、詳細には、図２０に示される。
【００９７】
図２０の最初のステップＳ４１では、コンピュータ４２Ａは、内部メモリ４８（図３）のフラグ領域を参照して、フォアハンドフラグＦＨＦが「１」かどうか判断する。“ＹＥＳ”なら、次のステップＳ４３で、コンピュータ４２Ａは、左足色マーカ２６Ｌ（図示せず）を検出する。つまり、プレイヤの右手によるラケットのスイングの方向をフォアハンドであると判定したとき、前に位置する足は左足になる、つまり、スクリーン１２に近いほうの足は左足になるため、ステップＳ４３で左足色マーカ２６Ｌ（図１）を検出する。
【００９８】
たとえばフォアハンドの場合、前足、すなわち左足が、スクリーン１２に向かって右側にある状態を想定すると、その状態では、プレイヤ１６の体の正面は右方向に向いていると考えられる。逆に、フォアハンドで左足が左側にある状態では、プレイヤ１６の体の正面は左方向に向いていると考えられる。左足が真中（中央）にある状態では、プレイヤ１６の体はスクリーン１２に正対していると考えられる。
【００９９】
フォアハンドで、プレイヤ１６の体の正面が右方向に向いているときには、実際のテニスゲームの場合、その右向きの体勢でラケット１８がボールに当ったと考えられ、その状態では、単純には、ボールは相手コートの右側へ打ち返されると考えてよい。
【０１００】
これに対して、フォアハンドで、プレイヤ１６の体の正面が左方向に向いているときには、実際のテニスゲームの場合、左向きの体勢でラケット１８がボールに当ったと考えられ、その状態では、ボールは相手コートの左側へ打ち返されると考えてよい。
【０１０１】
フォアハンドで、プレイヤ１６の体がスクリーン１２に正対しているときには、実際のテニスゲームの場合、単純には、ボールは相手コートの中央へ打ち返されると考えてよい。
【０１０２】
このように、フォアハンドまたは場合の左足の位置が右か、左か、中央かによってプレイヤ１６が打ち返すボールの方向を変更することが考えられる。そこで、この実施例では、フォアハンドの場合、左足の位置を検出するために、ステップＳ４３で左足色マーカ２６Ｌを検出する。
【０１０３】
左足色マーカ２６Ｌを検出するために、図２１に示すサブルーチンが実行される。すなわち、最初のステップＳ５１において、コンピュータ４２Ａはスクリーン１２の下方に設置しているＵＳＢカメラ２４からの画像信号（第２カメラ信号）を取り込む。その画像信号にはプレイヤ１６の左足色マーカ２６Ｌの画像以外にプレイヤの背景の画像も含まれる。そこで、次のステップＳ５３では、コンピュータ４２Ａはそのようなノイズを除去するために、左足色マーカ２６Ｌが存在すると考えられる領域以外の領域にマスクをかけ、そのマスクした領域すなわち左足色マーカ存在領域以外の領域の画像信号は処理の対象から除外してコンピュータの負担軽減を図る。
【０１０４】
続くステップＳ５５では、コンピュータ４２Ａは、マスクから露出した領域すなわち左足色マーカ存在領域の画像のＲＧＢ信号から、色相レジスタ（図示せず）に設定されている色相値（０〜２５５のうちの適宜の値）によって示される特定の色（この実施例では左足色マーカ２６Ｌが黄色であるため、黄色）の領域（部分）を抽出する。
【０１０５】
そして、ステップＳ５７において、ステップＳ５５で獲得した特定の色領域から左マーカと思われる色の領域を検出するために、２値化処理を行なう。続くステップＳ５９で、コンピュータ４２Ａは膨張処理を実行する。
【０１０６】
ステップＳ６１において、コンピュータ４２Ａは面積フィルタ処理を行なう。つまり、このステップＳ６１では、コンピュータ４２Ａは、ステップＳ５７によって２値化されかつステップＳ５９で膨張処理した後の、左足色マーカ２６Ｌ（図１）と同じまたは類似の色相の領域のうち、面積の小さい領域をノイズと判定して除去し、所定の閾値以上の面積を持つ領域を検出する。そして、その閾値以上の面積の領域のうち最大面積の領域を左足色マーカと判定する。このステップＳ６１の面積フィルタ処理を施した後に図６のステップＳ４５にリターンする。
【０１０７】
図２０のステップＳ４５では、ステップＳ２９（図５）と同様にして、面積フィルタ処理後の画像信号から重心座標を計測する。その重心座標位置が左足色マーカ２６Ｌの位置であり、次のステップＳ４７では、その位置（左、真中、右）の検出結果を戻して、ステップＳ２１３（図１６）にリターンする。
【０１０８】
なお、図２０のステップＳ４１で“ＮＯ”が判断されたときには、次のステップＳ４９で、コンピュータ４２Ａは、バックハンドフラグＢＨＦが「１」かどうか判断する。このステップＳ４９で“ＹＥＳ”のときには、次のステップＳ６３で、ステップＳ４３および図２１で左足色マーカを検出したと同じ方法で、右足色マーカ２６Ｒ（図１）を検出する。
【０１０９】
つまり、プレイヤの右手によるラケットのスイングの方向をバックハンドであると判定したとき、前に位置する足は右足になるため、つまり、スクリーン１２に近いほうの足は右足になるため、ステップＳ６３で右足色マーカ２６Ｒを検出する。
【０１１０】
たとえばバックハンドの場合、前足、すなわち右足が、スクリーン１２に向かって右側にある状態を想定すると、その状態では、プレイヤ１６の体はスクリーン１２に対して向かって右側にあると考えられる。逆に、バックハンドで右足が左側にある状態では、プレイヤ１６の体はスクリーン１２に向かって左側にあると考えられる。右足が真中（中央）にある状態では、プレイヤ１６の体はスクリーン１２に向かって中央にあると考えられる。
【０１１１】
バックハンドで、プレイヤ１６の体が右側にあるときには、実際のテニスゲームの場合、その状態では、単純には、ボールは相手コートの右側へ打ち返されると考えてよい。
【０１１２】
これに対して、バックハンドで、プレイヤ１６の体が左側にあるときには、実際のテニスゲームの場合、ボールは相手コートの左側へ打ち返されると考えてよい。
【０１１３】
バックハンドで、プレイヤ１６の体がスクリーン１２の左右方向中央にあるときには、実際のテニスゲームの場合、単純には、ボールは相手コートの中央へ打ち返されると考えてよい。
【０１１４】
このように、バックハンドの場合の右足の位置が右か、左か、中央かによってプレイヤ１６が打ち返すボールの方向を変更することが考えられる。そこで、この実施例では、バックハンドの場合、右足の位置を検出するために、ステップＳ６３で右足色マーカ２６Ｒを検出する。
【０１１５】
右足色マーカ２６Ｒを検出するために、図２１に示すサブルーチンが実行されるが、その検出方法は左色マーカ２６Ｌのときと同様であるので、ここでは重複する説明は省略する。その後、ステップＳ４５およびＳ４７を実行した後、右足色マーカ２６Ｒの位置（左、真中、右）の検出結果を戻して、ステップＳ２１３（図１６）にリターンする。
【０１１６】
図２０のステップＳ４７からリターンした図１６のステップＳ２１３では、コンピュータ４２Ａは、スイング判定ステップ（Ｓ２０７）で判定したフォアハンドまたはバックハンドの位置でラケット図形３６（図２）に表示するとともに、自分プレイヤ１６の打球の結果として、ボール図形４０（図２）を、ステップＳ４７で判定した位置（右、左、中央）の方向に返球する。
【０１１７】
このように、フォアハンドかバックハンドかに応じて、そのときに前になる足の位置をカメラで検出することによって、簡易的に、プレイヤ１６からの返球方向を決定することができる。したがって、ラケットとボールとの当り角度や軌道計算のような複雑な計算処理が不要となる。
【０１１８】
なお、実施例の説明では、ラケット１８のスイング判断やフォアハンドまたはバックハンド判定のためのカメラ２２Ｌおよび２２Ｒと、色マーカ２６Ｌおよび２６Ｒの位置検出のためのカメラ２４とを別に準備した。しかしながら、１台のカメラのカメラ信号でラケットのスイングと、前足の位置とを検出または判定するようにしてもよい。ただし、この場合でも、便宜上、スイング判断やフォアハンドまたはバックハンド判定のためのカメラを第１カメラといい、前足位置検出のためのカメラを第２カメラと呼ぶことにする。
【０１１９】
色マーカ２６Ｌおよび２６Ｒはカラーバンドのようなものを足首に装着するようにしたが、任意の変形が可能である。たとえば、プレイヤの靴の色を左右で違えるようにしても色マーカとして機能する。
【０１２０】
さらに、上述の実施例では、ラケット１８に光マーカ２０を設け、それを第１カメラ２２で撮影してラケット１８のスイングやその方向を検出するようにした。しかしながら、この光マーカ２０は、プレイヤの足と同様の色マーカに代えられてもよい。たとえば、ラケット１８のガットの両面に色シートを設け、その色シートをカメラで撮影することによっても、ラケット１８のスイングの判断、フォアハンドまたはバックハンドの区別は可能である。
【０１２１】
図１６の次のステップＳ２１５では、コンピュータ４２Ａは、自分プレイヤのスイングの結果としての返球データ[1,0,X,Y,X,Vx’,Vy’,Vz’]を相手コンピュータ４２Ｂへ送信する。ただし、この送信データは、自分プレイヤがフォアハンドスイングをした場合を示しているが、もしバックハンドであるなら、２番目の数字が「１」に変更される。
【０１２２】
その後、図１９のステップＳ２１７でボール図形４０（図２）とコート地面との接触の有無を判断し、“ＹＥＳ”のときには、続くステップＳ２１９において、コート地面と接触したボール図形は相手プレイヤから返球されたボールであるのか、自分プレイヤが返球したボールであるのかを判断する。これらのステップＳ２１７またはＳ２１９で“ＮＯ”が判断されたときには、プロセスは、図６のステップＳ１７９で“ＮＯ”が判断されたときと同様に、図６のステップＳ１４９に戻る。
【０１２３】
ステップＳ２１９で“ＹＥＳ”が判断されると、つまり、相手返球ボールがコート地面と接触したときには、次のステップＳ２２１において、コンピュータ４２Ａは、バウンド数が「１」かどうか判断する。バウンド数が「１」であれば、次のステップＳ２２３で、コート外に落下したのかどうか判断する。ただし、このアウト／インの判断は、自分側のコート内でのみ判断し、相手側コート内は相手コンピュータ４２Ｂが判断する。
【０１２４】
コート内での落下であれば、自分プレイヤのミスであるので、図６のステップＳ１４９に戻るが、コート外への落下なら、相手プレイヤのミスであるので、次のステップＳ２２５で自分側に得点を計上するとともに、ステップＳ２２７でデータ[3,1]を相手コンピュータ４２Ｂに送信する。つまり、自分側のポイントを示すように、Type＝３で、Option＝０のデータを送信する。
【０１２５】
バウンド数が「１」でなければ、次のステップＳ２２９で、自分プレイヤのミスであるので、次のステップＳ２３１で相手側に得点を計上するとともに、ステップＳ２３３でデータ[3,0]を相手コンピュータ４２Ｂに送信する。つまり、相手側のポイントを示すように、Type＝３で、Option＝１のデータを送信する。
【０１２６】
ステップＳ２２７またはＳ２３３の後、ステップＳ２３５において開始判定フラグに「ＮＧ」を設定してゲームを初期化し、さらにその後図６のステップＳ１４９に戻る。
【０１２７】
通信対戦型ＶＲテニスゲームシステム１００においては、ネットワーク５４（図４）の状態によっては，データ遅延やパケットロスが起こり得るが、実施例のシステムでは、発明者等の実験によれば、２００ｍｓ以下の遅延ならば違和感なくプレイすることができ、現在一般的な高速回線の場合は十分にこの条件をクリアすることができる。
【０１２８】
ただし、パケットロスが発生すると、重要なデータの送受信が妨げられることがある。そのため、通常、送受信を確実に行うためには、保証付きのデータ送信を行う。これは、データ送信の際に、受信側からデータを受け取ったことを通知されるまで、データの再送を行う方式である。しかしながら、データ再送の繰り返しが生じると、データの受け渡しまでに多くの時間が必要となる。そのため、パケットロスによる遅延を回避するために、実施例のシステム１００では、保証なしのデータ送信を複数回繰り返す。保証なしのデータ送信では、確実性はないが、相手からの通知がないため高速な通信が可能である。この確実性を向上させるために、同一データを複数個短時間で連続送信し、その複数個の内の１つでも受信すれば、データを受け取ったと判定するようにしている。
【０１２９】
さらに、この実施例のＶＲテニスゲームシステム１００では、ラケットを実際に振っているプレイヤをカメラにより撮影し、その動画データを、ネットワーク接続された対戦プレイヤのコンピュータ４２Ｂに送信する。このとき、画像処理(背景差分法など)によりプレイヤのみを抜き出した映像を送信する。対戦プレイヤ側のコンピュータは受信した動画データを、ＶＲテニスのゲーム画面上に合成して描画する。つまり、コンピュータで作られたテニスコート上の相手コートに、遠隔地で実際にテニスを行っているプレイヤが映し出される。
【０１３０】
また、この実施例のシステム１００では、対戦プレイヤの表情が確認できるように、ゲーム画面上にウィンドウを設け、そこにはプレイヤの顔のアップのみを表示させる。このとき、顔の位置は画像処理により自動的に検出される。
【０１３１】
ネットワークが高速ではない環境においては、リアルタイムに動画データを送信しても、動画データはデータ量が大きいため、通信データの欠落が発生し、滑らかな動画再生が難しい。また、ゲーム中に大容量のデータ通信を行うと、通信対戦データも欠落してしまう恐れがある。そのため、サイトＡ（自分側サイト）で予めスイングをしている動画を複数パターン（フォアまたはバックなど）撮影し、そのスイングのパターンをサイトＢ（相手側サイト）のコンピュータ４２Ｂにゲーム開始前、またはゲーム開始初期段階、たとえば相手コンピュータ４２Ｂから返球データが送信されてくるより前の段階で、バックグラウンドで、データの欠落が起こらないように送信する。サイトＢのコンピュータにはこのスイングパターンが保存され、サイトＢ側のゲーム画面には、相手プレイヤの返球の様子に合わせて、サイトＡのプレイヤがスウィングしている映像を再生する。これにより、ゲーム中の通信負荷を除去することができる。
【０１３２】
なお、上述の実施例では、プレイヤ動画像をリアルタイム送信する場合にのみプレイヤ顔画像を併せて送信するようにした。しかしながら、上記したようにプレイヤ動画像を予め記憶手段に蓄積しておく実施例であっても、プレイヤ顔画像だけはリアルタイム送信するようにしてもよい。プレイヤ顔画像だけであればデータ量もあまり多くならないので、比較的低速の通信回線であっても、ゲーム進行の妨げになることはない。プレイヤ顔画像をリアルタイム送信するようにすれば、そのときの相手プレイヤの顔の表情を見ることができ、臨場感やリアリティさらにはゲームの興趣が一層向上する。
【図面の簡単な説明】
【０１３３】
【図１】図１はこの発明の１つの実施例に用いられ得るＶＲテニスゲーム装置を示す図解図である。
【図２】図２は図１のＶＲテニスゲーム装置で表示されるゲーム画面の表示例を示す図解図である。
【図３】図３は図１のＶＲテニスゲーム装置の電気的構成を示すブロック図である。
【図４】図４はこの発明の一実施例を示す図解図である。
【図５】図５はこの一実施例における自分側コンピュータの動作を示すフロー図である。
【図６】図６は図５に後続する動作を示すフロー図である。
【図７】図７は図６のステップＳ１２９のサブルーチンを示すフロー図である。
【図８】図８は図７動作において撮影した背景画像を示す図解図である。
【図９】図９は図７動作において撮影した背景画像とプレイヤ画像とを示す図解図である。
【図１０】図１０は図６のステップＳ１４９のサブルーチンを示すフロー図である。
【図１１】図１１は図９動作において撮影した背景画像を示す図解図である。
【図１２】図１２は図９動作において撮影した背景画像とプレイヤ画像とを示す図解図である。
【図１３】図１３は図９動作において抜き出した顔画像を示す図解図である。
【図１４】図１４は図６のステップＳ１６３のサブルーチンを示すフロー図である。
【図１５】図１５は図１４動作において相手プレイヤ画像および顔画像をゲーム画面上に合成表示した状態を示す図解図である。
【図１６】図１６は図６に後続する自分側コンピュータの動作を示すフロー図である。
【図１７】図１７は図１６のステップＳ１９３のサブルーチンを示すフロー図である。
【図１８】図１７は図１６のステップＳ２０７のサブルーチンを示すフロー図である。
【図１９】図１９は図１６に後続する自分側コンピュータの動作を示すフロー図である。
【図２０】図２０は図１６のステップＳ２１１のサブルーチンを示すフロー図である。
【図２１】図２１は図２０のステップＳ４３のサブルーチンを示すフロー図である。
【符号の説明】
【０１３４】
１００  …対戦型ＶＲテニスゲームシステム
１０  …ＶＲテニスゲーム装置
１２  …スクリーン
１４  …プロジェクタ
１６  …プレイヤ
１８  …ラケット
２０  …光マーカ
２２Ｌ、２２Ｒ、２４  …ＵＳＢカメラ
４２  …コンピュータ
４８  …内部メモリ
【図１】
2005253871.tif 000003
【図２】
2005253871.tif 000004
【図３】
2005253871.tif 000005
【図４】
2005253871.tif 000006
【図５】
2005253871.tif 000007
【図６】
2005253871.tif 000008
【図７】
2005253871.tif 000009
【図８】
2005253871.tif 000010
【図９】
2005253871.tif 000011
【図１０】
2005253871.tif 000012
【図１１】
2005253871.tif 000013
【図１２】
2005253871.tif 000014
【図１３】
2005253871.tif 000015
【図１４】
2005253871.tif 000016
【図１５】
2005253871.tif 000017
【図１６】
2005253871.tif 000018
【図１７】
2005253871.tif 000019
【図１８】
2005253871.tif 000020
【図１９】
2005253871.tif 000021
【図２０】
2005253871.tif 000022
【図２１】
2005253871.tif 000023