(57)【要約】  撮影された再帰反射シート１３（剣１１）の最大Ｘ座標ｍａｘＸ、最小Ｘ座標ｍｉｎＸ、最大Ｙ座標ｍａｘＹ、及び最小Ｙ座標ｍｉｎＹを求める。Ｘ座標が最大Ｘ座標ｍａｘＸである複数のピクセルから、最大輝度値を有するピクセルを検出して、そのピクセルのＹ座標ＡＹ［ｍａｘＸ］を取得するとともに、Ｘ座標が最小Ｘ座標ｍｉｎＸである複数のピクセルから、最大輝度値を有するピクセルを検出して、そのピクセルのＹ座標ＡＹ［ｍｉｎＸ］を取得する。ＡＹ［ｍａｘＸ］とＡＹ［ｍｉｎＸ］とを比較して、比較結果に応じて、第１特定点（Ｘ１，Ｙ１）及び第２特定点（Ｘ２，Ｙ２）を決定し、剣１１の傾き角度Ａｎを算出する。
2008512643.tif 000002
【特許請求の範囲】
【請求項１】
オペレータに保持されて動きが与えられる操作物の傾きを検出する傾き検出方法であって、
反射体を有する前記操作物に、予め定められた周期で、光を照射するステップと、
前記光の発光時において、前記操作物を撮影して、各々輝度値を含む複数のピクセルデータからなる発光時画像データを取得するステップと、
前記光の消灯時において、前記操作物を撮影して、各々輝度値を含む複数のピクセルデータからなる消灯時画像データを取得するステップと、
前記発光時画像データと前記消灯時画像データとの差分を求めて、差分画像データを生成するステップと、
前記差分画像データに基づく差分画像上の前記操作物の最大Ｘ座標を求めるステップと、
前記差分画像上の前記操作物の最小Ｘ座標を求めるステップと、
前記差分画像上の前記操作物の最大Ｙ座標を求めるステップと、
前記差分画像上の前記操作物の最小Ｙ座標を求めるステップと、
前記差分画像データを構成する複数のピクセルデータのうち、Ｘ座標が前記最大Ｘ座標である複数のピクセルデータから、最大輝度値を有するピクセルデータを検出して、そのピクセルデータのＹ座標を取得するステップと、
前記差分画像データを構成する前記複数のピクセルデータのうち、Ｘ座標が前記最小Ｘ座標である複数のピクセルデータから、最大輝度値を有するピクセルデータを検出して、そのピクセルデータのＹ座標を取得するステップと、
Ｘ座標が前記最大Ｘ座標である最大輝度値を有する前記ピクセルデータの前記Ｙ座標と、Ｘ座標が前記最小Ｘ座標である最大輝度値を有する前記ピクセルデータの前記Ｙ座標と、を比較して、その大小を判別するステップと、
前記判別の結果、並びに、前記最大Ｘ座標、前記最小Ｘ座標、前記最大Ｙ座標、及び、前記最小Ｙ座標に基づいて、前記差分画像上の前記操作物の第１特定点の座標及び第２特定点の座標を求めるステップと、
前記第１特定点の座標及び前記第２特定点の座標に基づいて、前記差分画像上の前記操作物の傾きを求めるステップと、を含む傾き検出方法。
【請求項２】
前記最大Ｘ座標と前記最小Ｘ座標との差を求めるステップと、
前記最大Ｙ座標と前記最小Ｙ座標との差を求めるステップと、
前記最大Ｘ座標と前記最小Ｘ座標との前記差と、前記最大Ｙ座標と前記最小Ｙ座標との前記差と、の比に応じて、前記差分画像上の前記操作物の前記傾きを求めるステップと、をさらに含む請求項１記載の傾き検出方法。
【請求項３】
過去に求めた、前記差分画像上の前記操作物の方向と、今回求めた、前記差分画像上の前記操作物の前記傾きと、に基づいて、前記差分画像上の前記操作物の方向を求めるステップをさらに含む請求項１記載の傾き検出方法。
【請求項４】
過去に求めた、前記差分画像上の前記操作物の方向と、今回求めた、前記差分画像上の前記操作物の前記傾きと、に基づいて、前記差分画像上の前記操作物の方向を求めるステップをさらに含む請求項２記載の傾き検出方法。
【請求項５】
エンタテインメント・システムであって、
前記エンタテインメント・システムを利用する際に、ユーザーが操作する操作物と、
前記操作物に光を照射する発光装置と、前記操作物で反射した光を検出することにより異なる時間における前記操作物の画像を取得するイメージセンサとからなる撮影装置と、
前記イメージセンサに接続され、前記イメージセンサから前記操作物の画像を受け取り、前記操作物の画像に基づいて、前記操作物の方向を決定する情報処理装置とを備え、
前記操作物の方向の傾きは、前記イメージセンサで取得された前記操作物の対応する画像に基づいて算出され、
前記撮影装置で取得された現時点の画像における前記操作物の方向の向きの決定は、同じ傾きを持つ２つの方向の候補の夫々と、前記撮影装置で取得され、時間的に先行する前記操作物の画像に基づいて決定された前回の方向との角度差を算出し、この角度差が小さい候補を選択することによって行われるエンタテインメント・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は、反射体を備えた操作物をストロボ撮影して、その操作物の傾きを検出する傾き検出方法及びその関連技術に関する。
【背景技術】
【０００２】
本件出願人による特開２００４−８５５２４号公報に開示されているゴルフゲームシステムは、ゲーム機及びゴルフクラブ型入力装置（操作物）を含み、ゲーム機のハウジングの内部には撮像ユニットが収納され、この撮像ユニットは、イメージセンサ及び赤外発光ダイオード等から構成される。赤外発光ダイオードによって撮像ユニットの上方の所定範囲に赤外光が間欠的に照射され、したがって、イメージセンサは、その範囲内で移動するゴルフクラブ型入力装置に設けられた反射体を間欠的に撮影する。このような反射体のストロボ映像を処理することによって、ゴルフクラブ型入力装置の位置や速度を検出する。
【発明の開示】
【０００３】
そこで、本発明の目的は、操作物に取り付けられた反射体のストロボ映像を処理することにより、操作物の傾きを検出する傾き検出方法及びその関連技術を提供することである。
【０００４】
本発明の観点によれば、傾き検出方法は、オペレータに保持されて動きが与えられる操作物の傾きを検出する傾き検出方法であって、反射体を有する前記操作物に、予め定められた周期で、光を照射するステップと、前記光の発光時において、前記操作物を撮影して、各々輝度値を含む複数のピクセルデータからなる発光時画像データを取得するステップと、前記光の消灯時において、前記操作物を撮影して、各々輝度値を含む複数のピクセルデータからなる消灯時画像データを取得するステップと、前記発光時画像データと前記消灯時画像データとの差分を求めて、差分画像データを生成するステップと、前記差分画像データに基づく差分画像上の前記操作物の最大Ｘ座標を求めるステップと、前記差分画像上の前記操作物の最小Ｘ座標を求めるステップと、前記差分画像上の前記操作物の最大Ｙ座標を求めるステップと、前記差分画像上の前記操作物の最小Ｙ座標を求めるステップと、前記差分画像データを構成する複数のピクセルデータのうち、Ｘ座標が前記最大Ｘ座標である複数のピクセルデータから、最大輝度値を有するピクセルデータを検出して、そのピクセルデータのＹ座標を取得するステップと、前記差分画像データを構成する前記複数のピクセルデータのうち、Ｘ座標が前記最小Ｘ座標である複数のピクセルデータから、最大輝度値を有するピクセルデータを検出して、そのピクセルデータのＹ座標を取得するステップと、Ｘ座標が前記最大Ｘ座標である最大輝度値を有する前記ピクセルデータの前記Ｙ座標と、Ｘ座標が前記最小Ｘ座標である最大輝度値を有する前記ピクセルデータの前記Ｙ座標と、を比較して、その大小を判別するステップと、前記判別の結果、並びに、前記最大Ｘ座標、前記最小Ｘ座標、前記最大Ｙ座標、及び、前記最小Ｙ座標に基づいて、前記差分画像上の前記操作物の第１特定点の座標及び第２特定点の座標を求めるステップと、前記第１特定点の座標及び前記第２特定点の座標に基づいて、前記差分画像上の前記操作物の傾きを求めるステップと、を含む。
【０００５】
この構成によれば、操作物が有する反射体のストロボ映像を基に、操作物の傾きを検出できる。
【０００６】
上記傾き検出方法は、前記最大Ｘ座標と前記最小Ｘ座標との差を求めるステップと、前記最大Ｙ座標と前記最小Ｙ座標との差を求めるステップと、前記最大Ｘ座標と前記最小Ｘ座標との前記差と、前記最大Ｙ座標と前記最小Ｙ座標との前記差と、の比に応じて、前記差分画像上の前記操作物の前記傾きを求めるステップと、をさらに含む。
【０００７】
この構成によれば、操作物が特定の傾きで撮影された場合、特定の傾きであることを適切に判別できる。特に、特定の傾きが、垂直あるいは水平の場合に有効である。
【０００８】
上記傾き検出方法は、過去に求めた、前記差分画像上の前記操作物の方向と、今回求めた、前記差分画像上の前記操作物の前記傾きと、に基づいて、前記差分画像上の前記操作物の方向を求めるステップをさらに含む。
【０００９】
この構成によれば、操作物の傾きだけでなく、操作物の方向をも検出できる。
【００１０】
本発明の別の観点によれば、エンタテインメント・システムは、前記エンタテインメント・システムを利用する際に、ユーザーが操作する操作物と、前記操作物に光を照射する発光装置と、前記操作物で反射した光を検出することにより異なる時間における前記操作物の画像を取得するイメージセンサとからなる撮影装置と、前記イメージセンサに接続され、前記イメージセンサから前記操作物の画像を受け取り、前記操作物の画像に基づいて、前記操作物の方向を決定する情報処理装置とを備え、前記操作物の方向の傾きは、前記イメージセンサで取得された前記操作物の対応する画像に基づいて算出され、前記撮影装置で取得された現時点の画像における前記操作物の方向の向きの決定は、同じ傾きを持つ２つの方向の候補の夫々と、前記撮影装置で取得され、時間的に先行する前記操作物の画像に基づいて決定された前回の方向との角度差を算出し、この角度差が小さい候補を選択することによって行われる。
【００１１】
この構成によれば、操作物の方向の向きの決定を、高速に行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。ここで、本実施の形態では、操作物１１の１例として、剣型の操作物１１（以下、本実施の形態では、「剣１１」と呼ぶ。）を挙げている。
【００１３】
剣１１の刀身部の両面には、縦長の再帰反射シート１３が取り付けられる。また、剣１１の鍔部の両面には、半円柱状部材が取り付けられ、この半円柱状部材の曲面には、再帰反射シート１５が取り付けられる。
【００１４】
ゲーム機１は、Ａ／Ｖケーブル９により、テレビジョンモニタ７に接続される。さらに、ゲーム機１には、図示していないが、ＡＣアダプタあるいは電池により電源電圧が供給される。
【００１５】
ゲーム機１は、その前面側に、赤外光のみを透過する赤外線フィルタ５が設けられ、さらに、赤外線フィルタ５を囲むように、赤外光を発生する４つの赤外発光ダイオード３が露出している。赤外線フィルタ５の背面側には、後述のイメージセンサ１９が配置される。
【００１６】
４つの赤外発光ダイオード３は、間欠的に赤外光を発光する。そして、赤外発光ダイオード３からの赤外光は、剣１１に貼付された再帰反射シート１３あるいは１５により反射され、赤外線フィルタ５の背面側に設けられたイメージセンサ１９に入力される。このようにして、イメージセンサ１９により、剣１１が撮影される。赤外光は間欠的に照射されるところ、赤外光の非照射時においても、イメージセンサ１９による撮影処理は行われている。ゲーム機１は、プレイヤ１７により動かされた剣１１の、赤外光照射時の画像信号と非照射時の画像信号との差分を求めて、この差分信号を基に、剣１１の位置、面積、傾き、及び方向などを検出する。
【００１７】
図２は、図１のゲーム機１の電気的構成を示す図である。図２に示すように、ゲーム機１は、イメージセンサ１９、赤外発光ダイオード３、高速プロセッサ２３、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）２５、及びバス２７を含む。
【００１８】
剣１１は、赤外発光ダイオード３の赤外光に照射され、その赤外光を再帰反射シート１３あるいは１５で反射する。この再帰反射シート１３あるいは１５からの反射光がイメージセンサ１９によって撮影され、したがって、イメージセンサ１９からは再帰反射シート１３あるいは１５の画像信号が出力される。イメージセンサ１９からのこのアナログ画像信号は高速プロセッサ２３に内蔵されたＡ／Ｄコンバータ（図示せず）によってデジタルデータに変換される。赤外光消灯時も同様の処理が行われる。このようなストロボ撮影のために、高速プロセッサ２３は、赤外発光ダイオード３を間欠的に点滅する。
【００１９】
高速プロセッサ２３は、図示しないが、ＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、グラフィックプロセッサ、サウンドプロセッサおよびＤＭＡプロセッサ等の各種プロセッサを含むとともに、アナログ信号を取り込むときに用いられるＡ／Ｄコンバータや、キー操作信号のような入力信号を受けかつ出力信号を外部機器に与える入出力制御回路を含む。イメージセンサ１９や赤外発行ダイオード３は、入出力制御回路を介してＣＰＵにより制御される。ＣＰＵは、ＲＯＭ２５に格納されたゲームプログラムを実行し、演算結果をグラフィックプロセッサ及びサウンドプロセッサに与える。したがって、グラフィックプロセッサやサウンドプロセッサはその演算結果に応じた画像処理や音声処理を実行する。
【００２０】
高速プロセッサ２３には、図示しないが内部メモリが設けられ、この内部メモリは、例えば、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）により構成される。内部メモリは、ワーキング領域、カウンタ領域、レジスタ領域、テンポラリデータ領域、及び／又はフラグ領域等として利用される。
【００２１】
高速プロセッサ２３は、バス２７を通じて、ＲＯＭ２５にアクセスできる。従って、高速プロセッサ２３は、ＲＯＭ２５に格納されたゲームプログラムを実行し、また、ＲＯＭ２５に格納された画像データや音声データをリードして処理する。
【００２２】
高速プロセッサ２３は、イメージセンサ１９からＡ／Ｄコンバータを介して入力されるデジタル画像信号を処理して、剣１１の位置、面積、傾き、及び方向などを検出するとともに、他の演算、グラフィック処理、及びサウンド処理等を実行し、ビデオ信号およびオーディオ信号を出力する。ビデオ信号およびオーディオ信号は、Ａ／Ｖケーブル９によりテレビジョンモニタ７に与えられ、応じて、テレビジョンモニタ７に映像が表示され、そのスピーカ（図示せず）から音声が出力される。
【００２３】
図３は、図１のゲーム機１の全体の処理の流れの一例を示すフローチャートである。図３に示すように、ステップＳ１にて、高速プロセッサ２３は、システムの初期設定を実行する。ステップＳ２にて、高速プロセッサ２３は、赤外発光ダイオード３を駆動して、剣１１の撮影処理を行う。
【００２４】
図４は、図３のステップＳ２の撮影処理の流れの一例を示すフローチャートである。図４に示すように、ステップＳ２０において、高速プロセッサ２３は、赤外発光ダイオード３を点灯する。ステップＳ２１で、高速プロセッサ２３は、イメージセンサ１９から、赤外光点灯時の画像データを取得して、内部メモリに格納する。
【００２５】
ここで、本実施の形態では、イメージセンサ１９の例として、３２ピクセル×３２ピクセルのＣＭＯＳイメージセンサを使用する。そして、水平方向をＸ軸、垂直方向をＹ軸とする。従って、イメージセンサ１９からは、画像データとして、３２ピクセル×３２ピクセルのピクセルデータ（ピクセル単位の輝度データ）が出力される。このピクセルデータは、Ａ／Ｄコンバータにより、デジタルデータに変換されて、内部メモリ上の配列Ｐ１［Ｘ］［Ｙ］に格納される。
【００２６】
ステップＳ２２で、高速プロセッサ２３は、赤外発光ダイオード３を消灯する。ステップＳ２３にて、高速プロセッサ２３は、イメージセンサ１９から、赤外光消灯時の画像データ（３２ピクセル×３２ピクセルのピクセルデータ（ピクセル単位の輝度データ））を取得して、内部メモリに格納する。この場合、赤外光消灯時の画像データは、内部メモリ上の配列Ｐ２［Ｘ］［Ｙ］に格納される。
【００２７】
以上のようにして、ストロボ撮影が行われる。なお、本実施の形態では、３２ピクセル×３２ピクセルのイメージセンサ１９を用いているため、Ｘ＝０〜３１、Ｙ＝０〜３１であり、左上角を原点とする。
【００２８】
図３に戻って、ステップＳ３にて、高速プロセッサ２３は、赤外発光ダイオード３の点灯時のピクセルデータＰ１［Ｘ］［Ｙ］と、赤外発光ダイオード３の消灯時のピクセルデータＰ２［Ｘ］［Ｙ］と、の差分を算出して、差分データを、配列Ｄｉｆ［Ｘ］[Ｙ］に代入する。
【００２９】
このように、差分データ（差分画像）を求めることで、剣１１（再帰反射シート１３及び１５）からの反射光以外の光によるノイズを極力除去でき、精度良く剣１１（再帰反射シート１３及び１５）を検出できる。
【００３０】
ステップＳ４では、高速プロセッサは、差分データつまり配列Ｄｉｆ［Ｘ］[Ｙ］をスキャンして、剣１１の位置、面積、最小Ｘ座標ｍｉｎＸ、最大Ｘ座標ｍａｘＸ、最小Ｙ座標ｍｉｎＹ、及び最大Ｙ座標ｍａｘＹ等を算出する。
【００３１】
ステップＳ５にて、高速プロセッサ２３は、剣１１が垂直になっているか、あるいは、剣１１が水平になっているか、を判定する。ステップＳ６にて、高速プロセッサ２３は、剣１１の傾き（水平／垂直を除く。）を判断する。ステップＳ７にて、高速プロセッサ２３は、剣１１が向いている方向を判断する。
【００３２】
ここで、剣１１の「傾き」は、傾きの大きさだけを持つスカラ量であり、剣１１の「方向」は、傾きの大きさと向きを持つベクトル量である。
【００３３】
ステップＳ８にて、高速プロセッサ２３は、ステップＳ４〜Ｓ７の処理結果を利用した情報処理を実行する。
【００３４】
高速プロセッサ２３は、ステップＳ９にて、「ＹＥＳ」であれば、即ち、ビデオ同期の割込み待ちであれば（ビデオ同期信号による割り込みがなければ）、同じステップＳ９に戻る。一方、ステップＳ９で「ＮＯ」であれば、即ち、ビデオ同期の割込み待ちでなければ（ビデオ同期信号による割り込みがあれば）、ステップＳ１０に進む。ステップＳ１０では、高速プロセッサ２３は、テレビジョンモニタ７に表示される画面の更新処理を実行して、ステップＳ２に進む。
【００３５】
ステップＳ１１の音声処理は、音声割り込みが発生したときに実行され、それによって、音楽や効果音を出力する。
【００３６】
図５は、図３のステップＳ４の差分Ｄｉｆ［Ｘ］［Ｙ］スキャンの流れの一例を示すフローチャートである。図５に示すように、ステップＳ３０にて、高速プロセッサ２３は、変数Ｘ，Ｙ，ｍａｘＸ，ｍａｘＹ，ＡＹ［Ｘ］，ＣＭＡＸ，ＬＭＡＸ，Ｘｍ，Ｙｍ，Ｃａに「０」を代入する。また、同じステップＳ３０にて、変数ｍｉｎＸ，ｍｉｎＹに「３１」を代入する。
【００３７】
ステップＳ３１にて、高速プロセッサ２３は、配列Ｄｉｆ［Ｘ］[Ｙ］の要素を所定の閾値ＴｈＬと比較する。ステップＳ３２にて、高速プロセッサ２３は、配列Ｄｉｆ［Ｘ］[Ｙ］の要素が所定の閾値ＴｈＬより大きい場合は、ステップＳ３３に進み、所定の閾値ＴｈＬ以下の場合は、ステップＳ４３に進む。
【００３８】
ステップＳ３１，Ｓ３２の処理は、再帰反射シート１３あるいは１５が撮影されたか否かを検出するための処理である。再帰反射シート１３あるいは１５が撮影されると、差分画像上では、再帰反射シートに相当するピクセルの輝度値が大きくなるため、閾値ＴｈＬにより、輝度値の大小を峻別して、閾値ＴｈＬより大きい輝度値を持つピクセルを、撮影された再帰反射シート１３あるいは１５の一部であると認識する。
【００３９】
ステップＳ３３にて、高速プロセッサ２３は、所定の閾値ＴｈＬを超えた差分データ（配列Ｄｉｆ［Ｘ］[Ｙ］の要素）の数を計数すべく、カウント値Ｃａを１つインクリメントする。
【００４０】
ステップＳ３４にて、高速プロセッサ２３は、上記差分データＤｉｆ［Ｘ］［Ｙ］に基づく差分画像上の剣１１の最小Ｘ座標ｍｉｎＸ、最大Ｘ座標ｍａｘＸ、最小Ｙ座標ｍｉｎＹ、及び最大Ｙ座標ｍａｘＹの算出処理を実行する。この点を図面を用いて説明する。
【００４１】
図６は、図２のイメージセンサ１９の撮影に基づく差分画像上の剣１１の概念図である。図６では、剣１１の再帰反射シート１３が撮影された例を示している。図６に示すように、図５のステップＳ３４の処理は、差分画像（３２×３２ピクセル）上の剣１１の最小Ｘ座標ｍｉｎＸ、最大Ｘ座標ｍａｘＸ、最小Ｙ座標ｍｉｎＹ、及び最大Ｙ座標ｍａｘＹを求めるための処理であり、図５のステップＳ４７でＸ＝３２と判断されたときに、最終的にこれらの値が確定する。
【００４２】
図７は、図５のステップＳ３４のｍｉｎＸ，ｍａｘＸ，ｍｉｎＹ，ｍａｘＹ算出処理の流れの一例を示すフローチャートである。図７に示すように、ステップＳ５０にて、高速プロセッサ２３は、カウント値Ｃａが「１」か否かを判断して、「１」である場合は、ステップＳ５１に進み、それ以外はステップＳ５２に進む。
【００４３】
ステップＳ５１では、高速プロセッサ２３は、最小Ｘ座標ｍｉｎＸに、現在のＸ座標を代入する。つまり、スキャンは、Ｙ＝０から開始して、Ｙ＝３１まで行い、Ｘをインクリメントして、再び、Ｙ＝０から開始して、Ｙ＝３１まで行う、という処理を繰り返すので（図５のステップＳ４３〜Ｓ４７参照）、最初に閾値ＴｈＬを超えた配列Ｄｉｆ［Ｘ］[Ｙ］（つまりピクセル）の「Ｘ」が最小Ｘ座標ｍｉｎＸとなる。
【００４４】
ステップＳ５２では、高速プロセッサ２３は、現在の最大Ｘ座標ｍａｘＸと現在のＸ座標とを比較する。ステップＳ５３にて、高速プロセッサ２３は、現在のＸ座標が大きい場合は、ステップＳ５４に進み、それ以外はステップＳ５５に進む。ステップＳ５４では、高速プロセッサ２３は、最大Ｘ座標ｍａｘＸに、現在のＸ座標を代入する。
【００４５】
ステップＳ５５では、高速プロセッサ２３は、現在の最小Ｙ座標ｍｉｎＹと現在のＹ座標とを比較する。ステップＳ５６にて、高速プロセッサ２３は、現在のＹ座標が小さい場合は、ステップＳ５７に進み、それ以外はステップＳ５８に進む。ステップＳ５７では、高速プロセッサ２３は、最小Ｙ座標ｍｉｎＹに、現在のＹ座標を代入する。
【００４６】
ステップＳ５８では、高速プロセッサ２３は、現在の最大Ｙ座標ｍａｘＹと現在のＹ座標とを比較する。ステップＳ５９にて、高速プロセッサ２３は、現在のＹ座標が大きい場合は、ステップＳ６０に進み、それ以外はリターンする。ステップＳ６０では、高速プロセッサ２３は、最大Ｙ座標ｍａｘＹに、現在のＹ座標を代入する。
【００４７】
上記ステップＳ５０〜Ｓ６０を繰り返すことにより、Ｘ＝３２となった時点で（図５のステップＳ４７参照）、最小Ｘ座標ｍｉｎＸ、最大Ｘ座標ｍａｘＸ、最小Ｙ座標ｍｉｎＹ、及び最大Ｙ座標ｍａｘＹが全て確定する。
【００４８】
図５に戻って、ステップＳ３５にて、高速プロセッサ２３は、現在の最大輝度値ＣＭＡＸと配列Ｄｉｆ［Ｘ］[Ｙ］とを比較する。ステップＳ３６にて、高速プロセッサ２３は、現在の配列Ｄｉｆ［Ｘ］[Ｙ］の要素が大きかった場合、つまり、現在のＸ座標及びＹ座標に位置するピクセルの輝度値が大きかった場合、ステップＳ３７に進み、そうでない場合は、ステップＳ３９に進む。
【００４９】
ステップＳ３７では、高速プロセッサ２３は、配列ＡＹ［Ｘ］に、現在のＹ座標を格納する。図６を参照して、この配列ＡＹ［Ｘ］の要素数は「３２」であり、Ｘ座標（０〜３１）に対応しており、Ｙ＝３２になった時点では（ステップＳ４４参照）、同じＸ座標に位置する（同じ列の）３２個のピクセルのうち、最大の輝度値を持つピクセルのＹ座標が、配列ＡＹ［Ｘ］に代入される。ステップＳ３８では、最大輝度値ＣＭＡＸに現在の配列Ｄｉｆ［Ｘ］[Ｙ］の要素を代入する。
【００５０】
図５に戻って、ステップＳ３９では、高速プロセッサ２３は、現在の最大輝度値ＬＭＡＸと、配列Ｄｉｆ［Ｘ］[Ｙ］とを比較する。ステップＳ４０にて、配列Ｄｉｆ［Ｘ］[Ｙ］が大きい場合はステップＳ４１に進み、それ以外はステップＳ４３に進む。ステップＳ４１では、高速プロセッサ２３は、座標Ｘｍ及びＹｍにそれぞれ、現在のＸ座標及びＹ座標を代入する。ステップＳ４２では、高速プロセッサ２３は、現在の最大輝度値ＬＭＡＸに、配列Ｄｉｆ［Ｘ］[Ｙ］の要素を代入する。Ｘ＝３２になった時点では（ステップＳ４７参照）、３２×３２のピクセルのうち、最大の輝度値を持つピクセルのＸ座標及びＹ座標がそれぞれ、座標Ｘｍ及びＹｍに代入される。そして、座標Ｘｍを剣１１の中心Ｘ座標、座標Ｙｍを剣１１の中心Ｙ座標とする。
【００５１】
ステップＳ４３では、高速プロセッサ２３は、「Ｙ」を１つインクリメントする。ステップＳ４４にて、高速プロセッサ２３は、Ｙ＝３２のときは（つまり、差分画像のピクセル１列分の処理が終了したときは）ステップＳ４５に進み、それ以外はステップＳ３１に進む。
【００５２】
ステップＳ４５では、高速プロセッサ２３は、「Ｙ」及び「ＣＭＡＸ」に「０」を代入する。ステップＳ４６にて、高速プロセッサ２３は、「Ｘ」を１つインクリメントする。ステップＳ４５，Ｓ４６の処理は、差分画像の１列分の処理が終了したため、次の１列分の処理を進めるために実行される。
【００５３】
ステップＳ４７にて、高速プロセッサ２３は、Ｘ＝３２のときは（つまり、差分画像の３２×３２ピクセル分の処理が終了したときは）ステップＳ４８に進み、それ以外はステップＳ３１に進む。
【００５４】
ステップＳ４８では、高速プロセッサ２３は、カウント値Ｃａが、所定値ＴｈＡより大きいか否かを判断して、大きいときはリターンし、それ以外は図３のステップＳ８に進む。最終的なカウント値Ｃａは、閾値ＴｈＬを超えた輝度値を持つピクセルの数であり、再帰反射シート１３あるいは１５の差分画像上の面積に相当する。従って、カウント値Ｃａが所定値ＴｈＡより大きい場合は、面積の大きい再帰反射シート１３が撮影されたと判断し（再帰反射シート１３がイメージセンサ１９に向けられたと判断し）、カウント値Ｃａが所定値ＴｈＡ以下の場合は、面積の小さい再帰反射シート１５が撮影されたと判断（再帰反射シート１５がイメージセンサ１９に向けられたと判断）する。
【００５５】
図３のステップＳ５〜Ｓ７の処理は、高速プロセッサ２３が、再帰反射シート１３が撮影されたと判断した場合の処理である。再帰反射シート１５が撮影されたと判断した場合は、ステップＳ８において、再帰反射シート１５の中心座標（Ｘｍ，Ｙｍ）を基に、プレイヤ１７が剣１１を振ったときの速さや動きの方向などが算出され、さらに、その結果に基づく情報処理が実行される。
【００５６】
図８は、図３のステップＳ５の垂直／水平判定の流れの一例を示すフローチャートである。図８に示すように、ステップＳ７０にて、高速プロセッサ２３は、ｍａｘＸ−ｍｉｎＸを実行して、座標（ｍｉｎＸ，ｍｉｎＹ）、座標（ｍｉｎＸ，ｍａｘＹ）、座標（ｍａｘＸ，ｍｉｎＹ）、および座標（ｍａｘＸ，ｍａｘＹ）により形成される矩形の水平方向の幅ｗＸを求める。また、高速プロセッサ２３は、ｍａｘＹ−ｍｉｎＹを実行して、上記矩形の垂直方向の幅ｗＹを求める。
【００５７】
ステップＳ７１にて、高速プロセッサ２３は、水平幅ｗＸと所定値ＣＸ１とを比較する。ステップＳ７２にて、水平幅ｗＸが小さい場合はステップＳ７３に進み、それ以外はステップＳ７７に進む。ステップＳ７３では、高速プロセッサ２３は、垂直幅ｗＹと所定値ＣＹ１とを比較する。ステップＳ７４にて、垂直幅ｗＹが大きい場合はステップＳ７５に進み、それ以外はステップＳ７７に進む。
【００５８】
ここで、ＣＸ１＜ＣＹ１であるため、ｗＸ＜ＣＸ１、かつ、ｗＹ＞ＣＹ１の場合は、剣１１が、垂直な状態で撮影されたと判断できる。なぜなら、再帰反射シート１３の形状は、剣１１の長手方向に長く、幅方向に短くなっているからである。従って、ステップＳ７５では、高速プロセッサ２３は、剣１１の傾き角度Ａｎに、９０度を示す「９０」を代入し、図３のステップＳ７に進む。
【００５９】
一方、ステップＳ７７にて、高速プロセッサ２３は、水平幅ｗＸと所定値ＣＸ２とを比較する。ステップＳ７８にて、水平幅ｗＸが大きい場合はステップＳ７９に進み、それ以外はリターンする。ステップＳ７９では、高速プロセッサ２３は、垂直幅ｗＹと所定値ＣＹ２とを比較する。ステップＳ８０にて、垂直幅ｗＹが小さい場合はステップＳ８１に進み、それ以外はリターンする。
【００６０】
ここで、ＣＸ２＞ＣＹ２であるため、ｗＸ＞ＣＸ２、かつ、ｗＹ＜ＣＹ２の場合は、剣１１が、水平な状態で撮影されたと判断できる。なぜなら、再帰反射シート１３の形状は、剣１１の長手方向に長く、幅方向に短くなっているからである。なお、ＣＸ１＝ＣＹ２、ＣＸ２＝ＣＹ１とする。従って、ステップＳ８１では、高速プロセッサ２３は、剣１１の傾き角度Ａｎに、０度を示す「０」を代入し、図３のステップＳ７に進む。
【００６１】
図９は、図３のステップＳ６の剣１１の傾き算出の流れの一例を示すフローチャートである。図９に示すように、ステップＳ９０にて、高速プロセッサ２３は、Ｘが最大Ｘ座標ｍａｘＸの場合の配列ＡＹ［Ｘ］の要素ＡＹ［ｍａｘＸ］と、Ｘが最小Ｘ座標ｍｉｎＸの場合の配列ＡＹ［Ｘ］の要素ＡＹ［ｍｉｎＸ］と、を比較する。
【００６２】
ここで、要素ＡＹ［ｍａｘＸ］は、Ｘ座標が最大Ｘ座標ｍａｘＸである３２個のピクセルのうち、最大輝度値ＣＭＡＸを持つピクセルのＹ座標である。要素ＡＹ［ｍｉｎＸ］は、Ｘ座標が最小Ｘ座標ｍｉｎＸである３２個のピクセルのうち、最大輝度値ＣＭＡＸを持つピクセルのＹ座標である。
【００６３】
ステップＳ９１では、高速プロセッサ２３は、要素ＡＹ［ｍａｘＸ］が大きい場合は、ステップＳ９２に進み、それ以外は、ステップＳ９３に進む。
【００６４】
ここで、要素ＡＹ［ｍａｘＸ］が要素ＡＹ［ｍｉｎＸ］より大きいということは、剣１１（再帰反射シート１３）が右上がりになっていることを意味する（図６に示す再帰反射シート１３のような場合）。従って、ステップＳ９２では、傾き角度Ａｎ算出のための第１特定点の座標（Ｘ１，Ｙ１）及び第２特定点の座標（Ｘ２，Ｙ２）をそれぞれ、（ｍａｘＸ，ｍｉｎＹ）及び（ｍｉｎＸ，ｍａｘＹ）とする（図６参照）。
【００６５】
一方、要素ＡＹ［ｍａｘＸ］が要素ＡＹ［ｍｉｎＸ］より小さいということは、剣１１（再帰反射シート１３）が右下がりになっていることを意味する（図６に示す再帰反射シート１３を左右反転したような場合）。従って、ステップＳ９３では、傾き角度Ａｎ算出のための座標（Ｘ１，Ｙ１）及び（Ｘ２，Ｙ２）をそれぞれ、（ｍｉｎＸ，ｍｉｎＹ）及び（ｍａｘＸ，ｍａｘＹ）とする。
【００６６】
ステップＳ９４にて、高速プロセッサ２３は、座標（Ｘ１，Ｙ１）及び（Ｘ２，Ｙ２）を基に、剣１１の傾き角度Ａｎを算出する。本実施の形態では、傾き角度Ａｎは、水平から反時計回りの角度として算出する。傾き角度Ａｎについて図面を用いて説明する。
【００６７】
図１０は、図１のゲーム機１が判断する剣１１の傾き及び方向の説明図である。図１０に示すように、本実施の形態では、３６０度を３２分割し、１１．２５度に１つの方向を割り当てる。つまり、３２の方向ａ０〜ａ３１を定めている。ただし、図９の処理では、剣１１の傾きを判断できても、剣１１の向きまでは分からない。例を挙げる。
【００６８】
図１１Ａは、図１０の方向ａ１３を向いている剣１１の図、図１１Ｂは、方向ａ２９を向いている剣１１の図である。これらから分かるように、剣１１の傾きは同じであるが、その向きが異なることがある。図９の処理では、剣１１の向きを判別することはできない。
【００６９】
つまり、座標（Ｘ１，Ｙ１）及び（Ｘ２，Ｙ２）から算出した傾き角度Ａｎは、０〜１８０度の範囲で求められる。従って、例えば、傾き角度Ａｎが、１００度の場合は、１００度に対応する方向は、方向ａ９と方向ａ２５とが存在し、両者を判別することはできない。そこで、図３のステップＳ７を実行する。
【００７０】
図１２は、図３のステップＳ７の剣１１の方向検出の流れの一例を示すフローチャートである。図１２に示すように、ステップＳ１００にて、高速プロセッサ２３は、前回の剣１１の方向ＤｒＰと今回の傾き角度Ａｎとの差の絶対値を、角度差Ａｎ１に代入する。ただし、角度差Ａｎ１が１８０度より大きくなった場合は、角度差Ａｎ１を、（３６０−Ａｎ１）とする。
【００７１】
ここで、方向ＤｒＰは、０〜３６０度の範囲で求められており、角度で示される（ステップＳ１０６参照）。つまり、方向ＤｒＰは、前回の剣１１の方向（傾きと向き）を示す。従って、ステップＳ１００の処理は、前回の剣１１の方向ＤｒＰと、今回の剣１１の方向Ｄｒの第１の候補（つまり傾き角度Ａｎ）と、の角度差を求める処理である。
【００７２】
ステップＳ１０１にて、高速プロセッサ２３は、前回の剣１１の方向ＤｒＰと、今回の傾き角度Ａｎに１８０度を加算したものと、の差の絶対値を、角度差Ａｎ２に代入する。ただし、角度差Ａｎ２が１８０度より大きくなった場合は、角度差Ａｎ２を、（３６０−Ａｎ２）とする。
【００７３】
ここで、今回の傾き角度Ａｎに１８０度を加算したものは、今回の剣１１の方向Ｄｒの第２の候補である。従って、ステップＳ１０１の処理は、前回の剣１１の方向ＤｒＰと、今回の剣１１の方向Ｄｒの第２の候補（つまり傾き角度Ａｎ＋１８０度）と、の角度差を求める処理である。
【００７４】
ステップＳ１０２では、高速プロセッサ２３は、角度差Ａｎ１とＡｎ２とを比較して、角度差Ａｎ１が小さい場合は、ステップＳ１０４に進み、それ以外はステップＳ１０３に進む。角度差Ａｎ１が角度差Ａｎ２より小さいということは、今回の剣１１の方向Ｄｒの第１の候補が、第２の候補よりも、前回の剣１１の方向に近いことを意味する。従って、ステップＳ１０４では、高速プロセッサ２３は、今回の方向Ｄｒに、第１の候補（傾き角度Ａｎ）を代入する。
【００７５】
一方、角度差Ａｎ２が角度差Ａｎ１より小さいということは、今回の剣１１の方向Ｄｒの第２の候補が、第１の候補よりも、前回の剣１１の方向に近いことを意味する。従って、ステップＳ１０３では、高速プロセッサ２３は、今回の方向Ｄｒに、第２の候補（傾き角度Ａｎ＋１８０）を代入する。
【００７６】
ステップＳ１０５では、高速プロセッサ２３は、剣１１の方向を示す方向フラグＤＦを、方向Ｄｒに応じた値にセットする。つまり、方向Ｄｒが、図１０の方向ａ０〜ａ３１のいずれに属するかを判断して、属する方向ａ０，…，ａ３０あるいはａ３１に応じた値に、方向フラグＤＦをセットする。
【００７７】
ステップＳ１０６では、高速プロセッサ２３は、方向ＤｒＰに、今回の方向Ｄｒを代入して、方向ＤｒＰを、次回の方向Ｄｒの算出に使用する。
【００７８】
なお、方向ＤｒＰには、初期値として、０〜１８０度の範囲のいずれかの角度が代入される（図３のステップＳ１）。
【００７９】
図３に戻って、ステップＳ８では、高速プロセッサ２３は、再帰反射シート１３が検出された場合、方向フラグＤＦに応じた、帯状オブジェクトの格納位置情報と、再帰反射シート１３の中心座標（Ｘｍ，Ｙｍ）と、を内部メモリに格納する。つまり、再帰反射シート１３が検出された場合に、剣１１の方向Ｄｒに応じた帯状オブジェクトをテレビジョンモニタ７に表示すべく、このような処理を行う。なお、この処理は、ステップＳ８での一部の処理に過ぎない。
【００８０】
図１３は、本実施の形態でＲＯＭ２５に用意される帯状オブジェクトＡ０〜Ａ８の例示図である。図１３の帯状オブジェクトＡ０〜Ａ８はそれぞれ、図１０の方向ａ０〜ａ８に対応している。従って、剣１１の方向フラグＤＦが方向ａ０〜ａ８のいずれかを示している場合は、対応する帯状オブジェクトＡ０〜Ａ８がそのまま使用・表示される。剣１１の方向フラグＤＦが方向ａ９〜ａ１６のいずれかを示している場合は、対応する帯状オブジェクトＡ７〜Ａ０が左右反転して使用・表示される。剣１１の方向フラグＤＦが方向ａ１７〜ａ２３のいずれかを示している場合は、対応する帯状オブジェクトＡ１〜Ａ７が左右反転かつ上下反転して使用・表示される。剣１１の方向フラグＤＦが方向ａ２４〜ａ３１のいずれかを示している場合は、対応する帯状オブジェクトＡ８〜Ａ１を上下反転して使用・表示される。
【００８１】
図３に戻って、ステップＳ１０では、高速プロセッサ２３は、ステップＳ８で内部メモリに格納された帯状オブジェクトの格納位置情報を基に、ＲＯＭ２５から帯状オブジェクトの画像情報を読み出して、必要な処理を行い、剣１１の中心座標（Ｘｍ，Ｙｍ）に応じた位置に、帯状オブジェクトを表示する。この場合、帯状オブジェクトの中心位置が、剣１１の中心座標（Ｘｍ，Ｙｍ）に応じた位置に合わせられる。ここでは、帯状オブジェクトを中心に説明したが、背景画像やその他のオブジェクト画像の表示処理も行われる。
【００８２】
図１４は、図１のテレビジョンモニタ７に表示された帯状オブジェクトＡ２の例示図である。図１４に示すように、テレビジョンモニタ７には、帯状オブジェクトＡ２を左右反転したものが表示されている。従って、この例では、剣１１が、図１１Ａに示した状態であり、方向フラグＤＦが、方向ａ１３を示している場合の表示例ということになる。このように、方向フラグＤＦが示す方向（つまり剣１１の方向）に応じた帯状オブジェクトがテレビジョンモニタ７に表示される。
【００８３】
さて、以上のように、本実施の形態によれば、差分画像上の剣１１の最大Ｘ座標ｍａｘＸ、最小Ｘ座標ｍｉｎＸ、最大Ｙ座標ｍａｘＹ、及び最小Ｙ座標ｍｉｎＹを求める。そして、Ｘ座標が最大Ｘ座標ｍａｘＸである複数のピクセルから、最大輝度値を有するピクセルを検出して、そのピクセルのＹ座標ＡＹ［ｍａｘＸ］を取得するとともに、Ｘ座標が最小Ｘ座標ｍｉｎＸである複数のピクセルから、最大輝度値を有するピクセルを検出して、そのピクセルのＹ座標ＡＹ［ｍｉｎＸ］を取得する。さらに、Ｙ座標ＡＹ［ｍａｘＸ］とＹ座標ＡＹ［ｍｉｎＸ］とを比較して、比較結果に応じて、第１特定点（Ｘ１，Ｙ１）及び第２特定点（Ｘ２，Ｙ２）を決定し、剣１１の傾き角度Ａｎを算出する。このようにして、本実施の形態では、剣１１が有する再帰反射シート１３のストロボ映像を基に、剣１１の傾きを検出できる。
【００８４】
また、本実施の形態では、座標（ｍｉｎＸ，ｍｉｎＹ）、座標（ｍｉｎＸ，ｍａｘＹ）、座標（ｍａｘＸ，ｍｉｎＹ）、および座標（ｍａｘＸ，ｍａｘＹ）により形成される矩形の水平幅ｗＸ及び垂直幅ｗＹを求める。そして、これらの比ｗＸ／ｗＹに応じて、剣１１が、垂直な状態か、あるいは、水平な状態か、を決定する。このように、剣１１が特定の傾き（水平／垂直）で撮影された場合、特定の傾きであることを適切に判別できる。
【００８５】
さらに、本実施の形態では、過去に求めた、差分画像上の剣１１の方向ＤｒＰと、今回求めた、差分画像上の剣１１の傾き角度Ａｎと、に基づいて、差分画像上の剣１１の方向を求める。このように、剣１１の傾きだけでなく、剣１１の方向をも検出できる。
【００８６】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【００８７】
（１）上記では、操作物として剣型の操作物１１を例に挙げたが、操作物の形状はこれに限定されない。また、操作物の傾きや方向を求めるための再帰反射シートの形状は、図１の再帰反射シート１３の形状に限定されない。従って、全体のアスペクト比（縦横比）が１でなければ、細部の形状は任意であってもよい。
【００８８】
（２）上記では、剣１１の方向に応じた帯状オブジェクトをテレビジョンモニタ７に表示した。ただし、剣１１の方向に応じて表示するオブジェクトはこれに限定されず、任意の形状や形態のオブジェクト（例えば、剣の形状のオブジェクト等）を表示できる。
【００８９】
（３）図９では、傾き角度Ａｎとして、角度そのものを求め、図１２では、角度を直接代入して、角度差Ａｎ１，Ａｎ２や方向Ｄｒを求めたが、角度の表現方法は、これに限定されず、角度を間接的に表すものを用いることもできる。
【００９０】
前述した実施例の説明は、例示説明の目的のために提示された。それは、説明された厳密な形式に発明を限定することを意図しておらず、上記教示を踏まえた変形が可能である。実施例は、発明の原理を最も明瞭に説明するために選択され、それによって当業者は、その現実的な適用が可能になり、意図された特定使用に向けられた様々な変形と形態で発明を最も効果的に利用することができる。
【図面の簡単な説明】
【００９１】
付随する図面を使用した好ましい実施例の下記説明を参照することによって、本発明の前述の及び他の特徴と目的並びにそれらの達成方法は、より明らかになり、そして、その発明そのものも、最も良く理解できるであろう。
【００９２】
【図１】図１は、本発明の実施の形態によるゲームシステムの全体構成を示すブロック図である。
【図２】図２は、図１のゲーム機１の電気的構成を示す図である。
【図３】図３は、図１のゲーム機１の全体の処理の流れの一例を示すフローチャートである。
【図４】図４は、図３のステップＳ２の撮影処理の流れの一例を示すフローチャートである。
【図５】図５は、図３のステップＳ４の差分Ｄｉｆ［Ｘ］［Ｙ］スキャンの流れの一例を示すフローチャートである。
【図６】図６は、図２のイメージセンサ１９の撮影に基づく差分画像上の剣１１の概念図である。
【図７】図７は、図５のステップＳ３４のｍｉｎＸ，ｍａｘＸ，ｍｉｎＹ，ｍａｘＹ算出処理の流れの一例を示すフローチャートである。
【図８】図８は、図３のステップＳ５の垂直／水平判定の流れの一例を示すフローチャートである。
【図９】図９は、図３のステップＳ６の剣１１の傾き算出の流れの一例を示すフローチャートである。
【図１０】図１０は、図１のゲーム機１が判断する図１の剣１１の傾き及び方向の説明図である。
【図１１】図１１Ａは、図１０の方向ａ１３を向いている剣１１の図である。図１１Ｂは、図１０の方向ａ２９を向いている剣１１の図である。
【図１２】図１２は、図３のステップＳ７の剣１１の方向検出の流れの一例を示すフローチャートである。
【図１３】図１３は、図１のゲーム機１が生成する帯状オブジェクトＡ０〜Ａ８の例示図である。
【図１４】図１４は、図１のテレビジョンモニタ７に表示された帯状オブジェクトＡ２の例示図である。
【図１】
2008512643.tif 000003
【図２】
2008512643.tif 000004
【図３】
2008512643.tif 000005
【図４】
2008512643.tif 000006
【図５】
2008512643.tif 000007
【図６】
2008512643.tif 000008
【図７】
2008512643.tif 000009
【図８】
2008512643.tif 000010
【図９】
2008512643.tif 000011
【図１０】
2008512643.tif 000012
【図１１】
2008512643.tif 000013
【図１２】
2008512643.tif 000014
【図１３】
2008512643.tif 000015
【図１４】
2008512643.tif 000016
【国際調査報告】
2008512643.tif 000017