(57)【要約】      （修正有）【課題】操作物に取り付けられた反射体のストロボ映像を処理することにより、操作物の傾きを検出する傾き検出方法を提供する。【解決手段】イメージセンサが撮影した剣の像の端点ｕｐ，ｂｐ，ｌｐ及びｒｐを頂点とする四角形の四辺のうち、最も短い辺および次に短い辺が、４つの端点のうちのいずれかを共有しているときは、共有されている端点およびその端点に対向する端点の座標を通る直線ＳＬの傾きに基づき、剣の傾きを求める。一方、最も短い辺および次に短い辺が、端点を共有していないときは、その最も短い辺の中点及びその次に短い辺の中点の座標を通る直線ＳＬの傾きに基づき、剣の傾きを求める。【選択図】図１５
2006236326.tif 000002
【特許請求の範囲】
【請求項１】
オペレータに保持されて動きが与えられる操作物の傾きを検出する傾き検出方法であって、
反射体を有する前記操作物に、予め定められた周期で、光を照射するステップと、
前記光の発光時において、前記操作物を撮影して、各々輝度値を含む複数のピクセルデータからなる発光時画像データを取得するステップと、
前記光の消灯時において、前記操作物を撮影して、各々輝度値を含む複数のピクセルデータからなる消灯時画像データを取得するステップと、
前記発光時画像データと前記消灯時画像データとの差分を求めて、差分画像データを生成するステップと、
前記差分画像データに基づく差分画像上の前記操作物の像を構成するピクセルのうち、最大水平座標を持つピクセルの座標を求めるステップと、
前記操作物の前記像を構成するピクセルのうち、最小水平座標を持つピクセルの座標を求めるステップと、
前記操作物の前記像を構成するピクセルのうち、最大垂直座標を持つピクセルの座標を求めるステップと、
前記操作物の前記像を構成するピクセルのうち、最小垂直座標を持つピクセルの座標を求めるステップと、
前記最大水平座標を持つ前記ピクセルを第１端点とし、前記最小水平座標を持つ前記ピクセルを第２端点とし、前記最大垂直座標を持つ前記ピクセルを第３端点とし、及び前記最小垂直座標を持つ前記ピクセルを第４端点としたときに、前記第１端点、前記第２端点、前記第３端点、及び前記第４端点に基づいて選択された第１の参照端点および第２の参照端点に基づいて前記操作物の傾きを算出するステップと、を含み、
前記操作物の傾きを算出する前記ステップでは、
前記第１端点、前記第２端点、前記第３端点、及び前記第４端点を頂点とする四角形の四辺のうち、最も短い辺およびその次に短い辺が、前記第１端点、前記第２端点、前記第３端点、及び前記第４端点のうち、いずれかの端点を共有している場合は、当該端点を前記第１の参照端点とし、その第１の参照端点に対向する端点を前記第２の参照端点とし、前記第１端点、前記第２端点、前記第３端点、及び前記第４端点を頂点とする前記四角形の四辺のうち、最も短い辺およびその次に短い辺が、前記第１端点、前記第２端点、前記第３端点、及び前記第４端点のうち、いずれの端点も共有していない場合は、その最も短い辺の中点を前記第１の参照端点とし、その次に短い辺の中点を前記第２の参照端点とする、傾き検出方法。
【請求項２】
前記最大水平座標を持つ前記ピクセルの座標を求める前記ステップでは、前記最大水平座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの垂直座標の平均値を前記第１端点の垂直座標とし、
前記最小水平座標を持つ複数存在ピクセルの座標を求める前記ステップでは、前記最小水平座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの垂直座標の平均値を前記第２端点の垂直座標とし、
前記最大垂直座標を持つ前記ピクセルの座標を求める前記ステップでは、前記最大垂直座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの水平座標の平均値を前記第３端点の水平座標とし、
前記最小垂直座標を持つ前記ピクセルの座標を求める前記ステップでは、前記最小垂直座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの水平座標の平均値を前記第４端点の水平座標とする、請求項１記載の傾き検出方法。
【請求項３】
前記第１端点の垂直座標と、前記第２端点の垂直座標と、が同一であり、かつ、前記第３端点の水平座標と、前記第４端点の水平座標と、が同一である場合、前記第１端点と前記第２端点との間の距離を求めるステップと、
前記第１端点の垂直座標と、第２端点の垂直座標と、が同一であり、かつ、前記第３端点の水平座標と、前記第４端点の水平座標と、が同一である場合、前記第３端点と前記第４端点との間の距離を求めるステップと、
前記第１端点の垂直座標と、第２端点の垂直座標と、が同一であり、かつ、前記第３端点の水平座標と、前記第４端点の水平座標と、が同一である場合、前記第１の参照端点及び前記第２の参照端点に基づいて前記操作物の傾きを算出する前記ステップに代わって、前記第１端点と前記第２端点との間の前記距離と、前記第３端点と前記第４端点との間の前記距離と、の間の大小関係に応じて、前記第１端点及び前記第２端点の座標に基づいて、あるいは、前記第３端点及び前記第４端点の座標に基づいて、前記操作物の傾きを算出するステップと、をさらに含む請求項１又は２記載の傾き検出方法。
【請求項４】
前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第１端点の水平座標と前記第２端点の水平座標との間の距離を求めるステップと、
前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第３端点の垂直座標と前記第４端点の垂直座標との間の距離を求めるステップと、
前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第１の参照端点及び前記第２の参照端点に基づいて前記操作物の傾きを算出する前記ステップに代わって、前記第１端点の水平座標と前記第２端点の水平座標との間の前記距離と、前記第３端点の垂直座標と前記第４端点の垂直座標との間の前記距離と、の間の比に応じて、前記第１端点及び前記第２端点の座標に基づいて、あるいは、前記第３端点及び前記第４端点の座標に基づいて、前記操作物の傾きを算出するステップと、をさらに含む請求項１から３記載の傾き検出方法。
【請求項５】
前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第１端点の水平座標と前記第２端点の水平座標との間の距離を求めるステップと、
前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第３端点の垂直座標と前記第４端点の垂直座標との間の距離を求めるステップと、
前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第１の参照端点及び前記第２の参照端点に基づいて前記前記操作物の傾きを算出する前記ステップに代わって、前記第１端点の水平座標と前記第２端点の水平座標との間の前記距離と、前記第３端点の垂直座標と前記第４端点の垂直座標との間の前記距離と、の間の比が、「１」を超える第１の定数よりも大きいときは、前記第１端点及び前記第２端点の座標に基づいて、前記操作物の傾きを算出するステップと、
前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第１の参照端点及び前記第２の参照端点に基づいて前記前記操作物の傾きを算出する前記ステップに代わって、前記比が、「１」より小さい第２の定数よりも小さい場合には、前記第３端点及び前記第４端点の座標に基づいて、前記操作物の傾きを算出するステップと、をさらに含む請求項１から３記載の傾き検出方法。
【請求項６】
エンタテインメント・システムであって、
前記エンタテインメント・システムを利用する際に、ユーザーが操作する操作物と、
前記操作物を撮像することにより前記操作物の画像を取得する撮影装置と、
前記撮影装置に接続され、前記撮影装置から前記操作物の画像を受け取り、前記操作物の画像に基づいて、前記操作物の傾きを決定する情報処理装置と、を備え、
前記情報処理装置は、
前記操作物の画像から、前記操作物のプロファイルを代表する４つの代表点を算出する手段と、
前記４つの代表点の１つを、前記４つの代表点を頂点とする四角形の最も短い辺およびその次に短い辺が共有するか否かを判断する手段と、
前記共有する代表点が存在した場合には、前記共有する代表点と、これに対向する代表点を通る直線の傾きに基づいて、前記操作物の傾きを算出し、前記共有する代表点が存在しない場合には、前記四角形の最も短い辺の中心と、前記四角形の次に短い辺の中心を通る直線の傾きに基づいて、前記操作物の傾きを算出する手段と、を含むエンタテインメント・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、反射体を備えた操作物をストロボ撮影して、その操作物の傾きを検出する傾き検出方法、エンタテインメント・システム及びその関連技術に関する。
【背景技術】
【０００２】
本件出願人による特許文献１に開示されているゴルフゲームシステムは、ゲーム機及びゴルフクラブ型入力装置（操作物）を含み、ゲーム機のハウジングの内部には撮像ユニットが収納され、この撮像ユニットは、イメージセンサ及び赤外発光ダイオード等から構成される。赤外発光ダイオードによって撮像ユニットの上方の所定範囲に赤外光が間欠的に照射され、したがって、イメージセンサは、その範囲内で移動するゴルフクラブ型入力装置に設けられた反射体を間欠的に撮影する。このような反射体のストロボ映像を処理することによって、ゴルフクラブ型入力装置の位置や速度を検出する。
【０００３】
【特許文献１】特開２００４−８５５２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで、本発明の目的は、操作物に取り付けられた反射体のストロボ映像を処理することにより、操作物の傾きを検出する傾き検出方法及びその関連技術を提供することである。
【課題を解決するための手段】
【０００５】
本発明の観点によれば、傾き検出方法は、オペレータに保持されて動きが与えられる操作物の傾きを検出する傾き検出方法であって、反射体を有する前記操作物に、予め定められた周期で、光を照射するステップと、前記光の発光時において、前記操作物を撮影して、各々輝度値を含む複数のピクセルデータからなる発光時画像データを取得するステップと、前記光の消灯時において、前記操作物を撮影して、各々輝度値を含む複数のピクセルデータからなる消灯時画像データを取得するステップと、前記発光時画像データと前記消灯時画像データとの差分を求めて、差分画像データを生成するステップと、前記差分画像データに基づく差分画像上の前記操作物の像を構成するピクセルのうち、最大水平座標を持つピクセルの座標を求めるステップと、前記操作物の前記像を構成するピクセルのうち、最小水平座標を持つピクセルの座標を求めるステップと、前記操作物の前記像を構成するピクセルのうち、最大垂直座標を持つピクセルの座標を求めるステップと、前記操作物の前記像を構成するピクセルのうち、最小垂直座標を持つピクセルの座標を求めるステップと、前記最大水平座標を持つ前記ピクセルを第１端点とし、前記最小水平座標を持つ前記ピクセルを第２端点とし、前記最大垂直座標を持つ前記ピクセルを第３端点とし、及び前記最小垂直座標を持つ前記ピクセルを第４端点としたときに、前記第１端点、前記第２端点、前記第３端点、及び前記第４端点に基づいて選択された第１の参照端点および第２の参照端点に基づいて前記操作物の傾きを算出するステップと、を含み、前記操作物の傾きを算出する前記ステップでは、前記第１端点、前記第２端点、前記第３端点、及び前記第４端点を頂点とする四角形の四辺のうち、最も短い辺およびその次に短い辺が、前記第１端点、前記第２端点、前記第３端点、及び前記第４端点のうち、いずれかの端点を共有している場合は、当該端点を前記第１の参照端点とし、その第１の参照端点に対向する端点を前記第２の参照端点とし、前記第１端点、前記第２端点、前記第３端点、及び前記第４端点を頂点とする前記四角形の四辺のうち、最も短い辺およびその次に短い辺が、前記第１端点、前記第２端点、前記第３端点、及び前記第４端点のうち、いずれの端点も共有していない場合は、その最も短い辺の中点を前記第１の参照端点とし、その次に短い辺の中点を前記第２の参照端点とするものである。
【０００６】
この構成によれば、簡易かつ的確に、操作物の傾きを検出することができる。
【０００７】
上記傾き検出方法において、前記最大水平座標を持つ前記ピクセルの座標を求める前記ステップでは、前記最大水平座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの垂直座標の平均値を前記第１端点の垂直座標とし、前記最小水平座標を持つ複数存在ピクセルの座標を求める前記ステップでは、前記最小水平座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの垂直座標の平均値を前記第２端点の垂直座標とし、前記最大垂直座標を持つ前記ピクセルの座標を求める前記ステップでは、前記最大垂直座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの水平座標の平均値を前記第３端点の水平座標とし、前記最小垂直座標を持つ前記ピクセルの座標を求める前記ステップでは、前記最小垂直座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの水平座標の平均値を前記第４端点の水平座標とする。
【０００８】
この構成によれば、最大水平座標を持つピクセル、最小水平座標を持つピクセル、最大垂直座標を持つピクセル、及び／又は最小垂直座標を持つピクセルが複数存在する場合でも、第１端点、第２端点、第３端点、及び第４端点を決定できる。
【０００９】
上記傾き検出方法は、前記第１端点の垂直座標と、前記第２端点の垂直座標と、が同一であり、かつ、前記第３端点の水平座標と、前記第４端点の水平座標と、が同一である場合、前記第１端点と前記第２端点との間の距離を求めるステップと、前記第１端点の垂直座標と、第２端点の垂直座標と、が同一であり、かつ、前記第３端点の水平座標と、前記第４端点の水平座標と、が同一である場合、前記第３端点と前記第４端点との間の距離を求めるステップと、前記第１端点の垂直座標と、第２端点の垂直座標と、が同一であり、かつ、前記第３端点の水平座標と、前記第４端点の水平座標と、が同一である場合、前記第１の参照端点及び前記第２の参照端点に基づいて前記操作物の傾きを算出する前記ステップに代わって、前記第１端点と前記第２端点との間の前記距離と、前記第３端点と前記第４端点との間の前記距離と、の間の大小関係に応じて、前記第１端点及び前記第２端点の座標に基づいて、あるいは、前記第３端点及び前記第４端点の座標に基づいて、前記操作物の傾きを算出するステップと、をさらに含む。
【００１０】
この構成によれば、第１端点の垂直座標と、第２端点の垂直座標と、が同一であり、かつ、第３端点の水平座標と、第４端点の水平座標と、が同一である場合でも、的確に操作物の傾きを検出できる。
【００１１】
上記傾き検出方法は、前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第１端点の水平座標と前記第２端点の水平座標との間の距離を求めるステップと、前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第３端点の垂直座標と前記第４端点の垂直座標との間の距離を求めるステップと、前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第１の参照端点及び前記第２の参照端点に基づいて前記操作物の傾きを算出する前記ステップに代わって、前記第１端点の水平座標と前記第２端点の水平座標との間の前記距離と、前記第３端点の垂直座標と前記第４端点の垂直座標との間の前記距離と、の間の比に応じて、前記第１端点及び前記第２端点の座標に基づいて、あるいは、前記第３端点及び前記第４端点の座標に基づいて、前記操作物の傾きを算出するステップと、をさらに含む。
【００１２】
この構成によれば、第１端点の垂直座標及び第２端点の垂直座標が同一でない場合、及び／又は、第３端点の水平座標及び第４端点の水平座標が同一でない場合において、より的確に操作物の傾きを検出できる。
【００１３】
一方、上記傾き検出方法は、前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第１端点の水平座標と前記第２端点の水平座標との間の距離を求めるステップと、前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第３端点の垂直座標と前記第４端点の垂直座標との間の距離を求めるステップと、前記第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第１の参照端点及び前記第２の参照端点に基づいて前記前記操作物の傾きを算出する前記ステップに代わって、前記第１端点の水平座標と前記第２端点の水平座標との間の前記距離と、前記第３端点の垂直座標と前記第４端点の垂直座標との間の前記距離と、の間の比が、「１」を超える第１の定数よりも大きいときは、前記第１端点及び前記第２端点の座標に基づいて、前記操作物の傾きを算出するステップと、第１端点の垂直座標及び前記第２端点の垂直座標が同一でない場合、及び／又は、前記第３端点の水平座標及び前記第４端点の水平座標が同一でない場合、前記第１の参照端点及び前記第２の参照端点に基づいて前記前記操作物の傾きを算出する前記ステップに代わって、前記比が、「１」より小さい第２の定数よりも小さい場合には、前記第３端点及び前記第４端点の座標に基づいて、前記操作物の傾きを算出するステップと、をさらに含むことができる。
【００１４】
この構成によれば、第１端点の垂直座標及び第２端点の垂直座標が同一でない場合、及び／又は、第３端点の水平座標及び第４端点の水平座標が同一でない場合において、更に的確に操作物の傾きを検出できる。
【００１５】
本発明の別の観点によれば、エンタテインメント・システムは、前記エンタテインメント・システムを利用する際に、ユーザーが操作する操作物と、前記操作物を撮像することにより前記操作物の画像を取得する撮影装置と、前記撮影装置に接続され、前記撮影装置から前記操作物の画像を受け取り、前記操作物の画像に基づいて、前記操作物の傾きを決定する情報処理装置と、を備え、前記情報処理装置は、前記操作物の画像から、前記操作物のプロファイルを代表する４つの代表点を算出する手段と、前記４つの代表点の１つを、前記４つの代表点を頂点とする四角形の最も短い辺およびその次に短い辺が共有するか否かを判断する手段と、前記共有する代表点が存在した場合には、前記共有する代表点と、これに対向する代表点を通る直線の傾きに基づいて、前記操作物の傾きを算出し、前記共有する代表点が存在しない場合には、前記四角形の最も短い辺の中心と、前記四角形の次に短い辺の中心を通る直線の傾きに基づいて、前記操作物の傾きを算出する手段と、を含む。
【００１６】
この構成によれば、エンタテインメント・システムにおいて、簡易かつ的確に、操作物の傾きを検出することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
【００１８】
図１は、本発明の実施の形態によるゲームシステムの全体構成を示すブロック図である。図１に示すように、このゲームシステムは、ゲーム機１、操作物１１、及びテレビジョンモニタ７を備える。
【００１９】
ここで、本実施の形態では、プレイヤ１７が操作物１１を操作して、テレビジョンモニタ７に映し出された敵オブジェクトを斬り倒すゲームを例に挙げるので、以下、操作物１１を「剣１１」と呼ぶ。
【００２０】
剣１１は、基端から先端へ向かって徐々に細くなるような円柱状に形成される。そして、剣１１は、プレイヤ１７に把持されるグリップ部１３、及び再帰反射シート１５が取り付けられた刀身部からなる。再帰反射シート１５は、剣１１の刀身部の表面全体にわたって取り付けられる。
【００２１】
ゲーム機１は、Ａ／Ｖケーブル９により、テレビジョンモニタ７に接続される。さらに、ゲーム機１には、図示していないが、ＡＣアダプタあるいは電池により電源電圧が供給される。
【００２２】
ゲーム機１は、その前面側に、赤外光のみを透過する赤外線フィルタ５が設けられ、さらに、赤外線フィルタ５を囲むように、赤外光を発生する４つの赤外発光ダイオード３が露出している。赤外線フィルタ５の背面側には、後述のイメージセンサ１９が配置される。
【００２３】
４つの赤外発光ダイオード３は、間欠的に赤外光を発光する。そして、赤外発光ダイオード３からの赤外光は、剣１１に取り付けられた再帰反射シート１５により反射され、赤外線フィルタ５の背面側に設けられたイメージセンサ１９に入力される。このようにして、イメージセンサ１９により、剣１１が撮影される。赤外光は間欠的に照射されるところ、赤外光の消灯時においても、イメージセンサ１９による撮影処理は行われている。ゲーム機１は、プレイヤ１７により動かされた剣１１の、赤外光点灯時の画像信号と消灯時の画像信号との差分を求めて、この差分信号を基に、剣１１の位置、面積、及び傾き等を検出する。
【００２４】
図２は、図１のゲーム機１の電気的構成を示す図である。図２に示すように、ゲーム機１は、イメージセンサ１９、赤外発光ダイオード３、高速プロセッサ２１、ＲＯＭ（ｒｅａｄｏｎｌｙｍｅｍｏｒｙ）２３、及びバス２５を含む。
【００２５】
剣１１は、赤外発光ダイオード３の赤外光に照射され、その赤外光を再帰反射シート１５で反射する。この再帰反射シート１５からの反射光がイメージセンサ１９によって撮影され、したがって、イメージセンサ１９からは再帰反射シート１５の画像信号が出力される。イメージセンサ１９からのこのアナログ画像信号は高速プロセッサ２１に内蔵されたＡ／Ｄコンバータ（図示せず）によってデジタルデータに変換される。赤外光消灯時も同様の処理が行われる。このようなストロボ撮影のために、高速プロセッサ２１は、赤外発光ダイオード３を間欠的に点滅する。
【００２６】
高速プロセッサ２１は、図示しないが、ＣＰＵ（ｃｅｎｔｒａｌｐｒｏｃｅｓｓｉｎｇｕｎｉｔ）、グラフィックプロセッサ、サウンドプロセッサおよびＤＭＡコントローラ等の各種機能ブロックを含むとともに、アナログ信号を取り込むときに用いられる上記Ａ／Ｄコンバータや、外部の電子回路や電子部品等から入力信号を受け、かつ出力信号をそれらに与える入出力制御回路を含む。イメージセンサ１９や赤外発光ダイオード３は、入出力制御回路を介してＣＰＵにより制御される。ＣＰＵは、ＲＯＭ２３に格納されたゲームプログラムを実行し、各種演算を行う。グラフィックプロセッサやサウンドプロセッサは、ＣＰＵによる演算結果に従って、ＲＯＭ２３に格納された画像データや音声データを読み込んで、ビデオ信号やオーディオ信号を生成し、Ａ／Ｖケーブル９に出力する。
【００２７】
さらに、高速プロセッサ２１には、図示しないが内部メモリが設けられ、この内部メモリは、例えば、ＲＡＭ（ｒａｎｄｏｍａｃｃｅｓｓｍｅｍｏｒｙ）により構成される。内部メモリは、ワーキング領域、カウンタ領域、レジスタ領域、テンポラリデータ領域、及び／又はフラグ領域等として利用される。
【００２８】
高速プロセッサ２１は、イメージセンサ１９からＡ／Ｄコンバータを介して入力されるデジタル画像信号を処理して、剣１１の位置、面積、及び傾き等を検出するとともに、他の演算、グラフィック処理、及びサウンド処理等を実行し、ビデオ信号およびオーディオ信号を生成する。ビデオ信号およびオーディオ信号は、Ａ／Ｖケーブル９によりテレビジョンモニタ７に与えられ、応じて、テレビジョンモニタ７に映像が表示され、そのスピーカ（図示せず）から音声が出力される。
【００２９】
図３は、図１のゲーム機１の全体の処理の流れの一例を示すフローチャートである。図３に示すように、ステップＳ１にて、高速プロセッサ２１は、システムの初期設定を実行する。ステップＳ２にて、高速プロセッサ２１は、赤外発光ダイオード３を駆動して、剣１１の撮影処理を行う。
【００３０】
図４は、図３のステップＳ２の撮影処理の流れの一例を示すフローチャートである。図４に示すように、ステップＳ２０において、高速プロセッサ２１は、赤外発光ダイオード３を点灯する。ステップＳ２１で、高速プロセッサ２１は、イメージセンサ１９から、赤外光点灯時の画像データを取得して、内部メモリに格納する。
【００３１】
ここで、本実施の形態では、イメージセンサ１９の例として、３２ピクセル × ３２ピクセルのＣＭＯＳイメージセンサを使用する。従って、イメージセンサ１９からは、画像データとして、３２ピクセル × ３２ピクセルのピクセルデータが出力される。このピクセルデータは、Ａ／Ｄコンバータにより、デジタルデータに変換されて、内部メモリ上の二次元配列Ｐ１［Ｘ］［Ｙ］に格納される。
【００３２】
ステップＳ２２で、高速プロセッサ２１は、赤外発光ダイオード３を消灯する。ステップＳ２３にて、高速プロセッサ２１は、イメージセンサ１９から、赤外光消灯時の画像データ（３２ピクセル × ３２ピクセルのピクセルデータ）を取得して、内部メモリに格納する。この場合、このピクセルデータは、内部メモリ上の二次元配列Ｐ２［Ｘ］［Ｙ］に格納される。
【００３３】
以上のようにして、ストロボ撮影が行われる。ここで、イメージセンサ１９による画像を構成する各ピクセルの位置を表す二次元座標系では、水平方向をＸ軸、垂直方向をＹ軸とする。そして、１ピクセルを座標値の１単位とする。本実施の形態では、３２ピクセル × ３２ピクセルのイメージセンサ１９を用いているため、Ｘ＝０〜３１、Ｙ＝０〜３１である。また、ピクセルデータは輝度値である。
【００３４】
図３に戻って、ステップＳ３にて、高速プロセッサ２１は、赤外発光ダイオード３の点灯時のピクセルデータ（つまり配列Ｐ１［Ｘ］［Ｙ］の要素）と、赤外発光ダイオード３の消灯時のピクセルデータ（つまり配列Ｐ２［Ｘ］［Ｙ］の要素）と、の差分を算出して、差分データを二次元配列Ｄｉｆ［Ｘ］[Ｙ]に代入する。
【００３５】
このように、差分データ（つまり差分画像）を求めることで、剣１１（つまり再帰反射シート１５）からの反射光以外の光によるノイズを極力除去でき、精度良く剣１１を検出できる。この差分画像を構成する各ピクセルの位置を表す座標系は、イメージセンサ１９による画像を構成する各ピクセルの位置を表す座標系と同じである。
【００３６】
ここで、配列Ｐ１［Ｘ］［Ｙ］の要素（つまり点灯時のピクセルデータ）をピクセルデータＰ１［Ｘ］［Ｙ］、配列Ｐ２［Ｘ］［Ｙ］の要素（つまり消灯時のピクセルデータ）をピクセルデータＰ２［Ｘ］［Ｙ］、及び配列Ｄｉｆ［Ｘ］[Ｙ]の要素（つまり差分データ）を差分データＤｉｆ［Ｘ］[Ｙ]と表記することもある。
【００３７】
ステップＳ４では、高速プロセッサ２１は、ステップＳ３で求めた配列Ｄｉｆ［Ｘ］[Ｙ]の各要素を２値化するための閾値ＴｈＢを算出する。具体的には、高速プロセッサ２１は、配列Ｄｉｆ［Ｘ］[Ｙ]の全要素から、最大輝度値を示す要素（差分データ）を検出して、最大輝度値に所定値（例えば０．６）を乗算し、その結果を今回の閾値ＴｈＢとする。図３から明らかなように、このような閾値ＴｈＢの計算は、テレビジョンモニタ７の表示画面を更新するたびに毎回実行される。
【００３８】
図５は、図３のステップＳ４で算出した閾値ＴｈＢによる２値化画像の概念図である。図５に示すように、配列Ｄｉｆ［Ｘ］[Ｙ]の全要素を閾値ＴｈＢにより２値化すると、２値化画像２７（３２ピクセル × ３２ピクセル）を得ることができる。２値化画像２７には、剣１１に取り付けられた再帰反射シート１５の像ＩＭが写っている。ただし、後述のフローチャートで明らかになるが、本実施の形態では、配列Ｄｉｆ［Ｘ］[Ｙ]の各要素と閾値ＴｈＢとの比較処理を行いながら各処理を実行するので、実際には図５のような２値化画像２７の生成は行わない。なお、２値化画像を構成する各ピクセルの位置を表す座標系は、イメージセンサ１９による画像を構成する各ピクセルの位置を表す座標系と同じである。座標原点Ｏは図に示したとおりである。
【００３９】
図３に戻って、ステップＳ５の詳細を説明する前に、そこでの処理の概要を説明する。ステップＳ５では、再帰反射シート１５の像ＩＭの、上端点の座標（ＸＵ，ＹＵ）、下端点の座標（ＸＢ，ＹＢ）、左端点の座標（ＸＬ，ＹＬ）、及び右端点の座標（ＸＲ，ＹＲ）を求める。上端点、下端点、左端点、及び右端点をそれぞれ、端点と呼ぶこともある。
【００４０】
上端点とは、最も小さいＹ座標を持つ、像ＩＭを構成する単数または複数のピクセルを意味する。下端点とは、最も大きいＹ座標を持つ、像ＩＭを構成する単数または複数のピクセルを意味する。左端点とは、最も小さいＸ座標を持つ、像ＩＭを構成する単数または複数のピクセルを意味する。右端点とは、最も大きいＸ座標を持つ、像ＩＭを構成する単数または複数のピクを意味する。
【００４１】
上端点が１つの場合は、当該上端点の座標を、上端点の座標（ＸＵ，ＹＵ）とし、上端点が複数存在する場合は、その中点を上端点の座標（ＸＵ，ＹＵ）とする。下端点が１つの場合は、当該下端点の座標を、下端点の座標（ＸＢ，ＹＢ）とし、下端点が複数存在する場合は、その中点を下端点の座標（ＸＢ，ＹＢ）とする。左端点が１つの場合は、当該左端点の座標を、左端点の座標（ＸＬ，ＹＬ）とし、左端点が複数存在する場合は、その中点を左端点の座標（ＸＬ，ＹＬ）とする。右端点が１つの場合は、当該右端点の座標を、右端点の座標（ＸＲ，ＹＲ）とし、右端点が複数存在する場合は、その中点を右端点の座標（ＸＲ，ＹＲ）とする。これらのことを図面を用いて説明する。
【００４２】
図６は、図３のステップＳ５の上下左右端の座標算出処理の説明図である。図６において、再帰反射シート１５の像ＩＭを構成する各矩形は、１つのピクセルに対応している。例えば、図６（ａ）に示すように、高速プロセッサ２１は、像ＩＭの、矢印ＵＡが示すピクセルの座標を上端点の座標（ＸＵ，ＹＵ）、矢印ＢＡが示すピクセルの座標を下端点の座標（ＸＢ，ＹＢ）、矢印ＬＡが示すピクセルの座標を左端点の座標（ＸＬ，ＹＬ）、及び矢印ＲＡが示すピクセルの座標を右端点の座標（ＸＲ，ＹＲ）とする。
【００４３】
また、例えば、図６（ｂ）に示すように、高速プロセッサ２１は、像ＩＭの、上端点が複数存在する場合は、それらの中点である矢印ＵＡが示すピクセルの座標を上端点の座標（ＸＵ，ＹＵ）とし、左端点が複数存在する場合は、それらの中点である矢印ＬＡが示すピクセルの座標を左端点の座標（ＸＬ，ＹＬ）とする。
【００４４】
図７は、図３のステップＳ５の上下左右端の座標算出処理の流れの一例を示すフローチャートである。図７に示すように、高速プロセッサ２１は、変数Ｘ，Ｙ，ｍａｘＸ，ｍａｘＹ，ＸＬ，ＹＬ，ＸＲ，ＹＲ，ＸＵ，ＹＵ，ＸＢ，ＹＢ，Ｃａ，Ｃｌ，Ｃｒ，Ｃｕ及びＣｂに「０」を代入する。また、変数ｍｉｎＸ，ｍｉｎＹに「３１」を代入する。
【００４５】
ステップＳ３１にて、高速プロセッサ２１は、配列Ｄｉｆ［Ｘ］[Ｙ]の要素を所定の閾値ＴｈＢと比較する。ステップＳ３２にて、高速プロセッサ２１は、配列Ｄｉｆ［Ｘ］[Ｙ]の要素が所定の閾値ＴｈＢより大きい場合は、ステップＳ３３に進み、所定の閾値ＴｈＢ以下の場合は、ステップＳ３８に進む。
【００４６】
つまり、ステップＳ３１及びＳ３２の処理は、再帰反射シート１５が撮影されたか否かを検出するための処理である。再帰反射シート１５が撮影されると、配列Ｄｉｆ［Ｘ］[Ｙ]に基づく差分画像上では、再帰反射シート１５に相当するピクセルの輝度値が大きくなるため、閾値ＴｈＢにより、輝度値の大小を峻別して、閾値ＴｈＢより大きい輝度値を持つピクセルを、撮影された再帰反射シート１５の一部であると認識する。
【００４７】
ステップＳ３３にて、高速プロセッサ２１は、所定の閾値ＴｈＢを超えた配列Ｄｉｆ［Ｘ］[Ｙ]の要素の数を計数すべく、カウント値Ｃａを１つインクリメントする。後述のステップＳ４２で、Ｘ＝３２と判断された時点でのカウント値Ｃａ、つまり、差分画像の全ピクセルについて、ステップＳ３１〜Ｓ４２の処理が終了した時点でのカウント値Ｃａは、閾値ＴｈＢを超えた輝度値を持つピクセルの数であり、再帰反射シート１５の差分画像上の面積に相当する。
【００４８】
ステップＳ３４にて、高速プロセッサ２１は、再帰反射シート１５の像ＩＭの左端点の座標（ＸＬ，ＹＬ）を算出する。
【００４９】
図８は、図７のステップＳ３４の左端座標算出処理の流れの一例を示すフローチャートである。図８に示すように、ステップＳ５０にて、高速プロセッサ２１は、最小Ｘ座標ｍｉｎＸと座標Ｘとを比較する。ステップＳ５１にて、高速プロセッサ２１は、ＸがｍｉｎＸ以下であれば、ステップＳ５２に進み、それ以外は、図７のステップＳ３５に進む。
【００５０】
ステップＳ５２にて、高速プロセッサ２１は、ｍｉｎＸにＸを代入して、新たなｍｉｎＸとする。ステップＳ５３にて、新たなｍｉｎＸと、直前のｍｉｎＸ（つまりステップＳ５２の処理を行う前のｍｉｎＸ）と、を比較して、両者が同一か否かを判断し、同一であれば（ステップＳ５１でｍｉｎＸ＝Ｘ）、ステップＳ５６に進み、異なれば（ステップＳ５１でｍｉｎＸ＞Ｘ）、ステップＳ５４に進む。ステップＳ５４では、高速プロセッサ２１は、変数ＹＬに「０」を代入し、ステップＳ５５で、Ｘ座標が同一のｍｉｎＸであるピクセルの数を示すカウント値Ｃｌに「０」を代入して、ステップＳ５６に進む。
【００５１】
ステップＳ５６では、高速プロセッサ２１は、カウント値Ｃｌを１つインクリメントする。ステップＳ５７にて、高速プロセッサ２１は、変数ＸＬにｍｉｎＸを代入して、変数ＸＬの新たな値を得るとともに、変数ＹＬにＹを加算して、変数ＹＬの新たな値を得る。変数ＹＬの値は、Ｘ座標が同一のｍｉｎＸであるピクセルのＹ座標の合計値となる。
【００５２】
図７に戻って、ステップＳ３５にて、高速プロセッサ２１は、再帰反射シート１５の像ＩＭの右端点の座標（ＸＲ，ＹＲ）を算出する。
【００５３】
図９は、図７のステップＳ３５の右端座標算出処理の流れの一例を示すフローチャートである。図９に示すように、ステップＳ６０にて、高速プロセッサ２１は、最大Ｘ座標ｍａｘＸと座標Ｘとを比較する。ステップＳ６１にて、高速プロセッサ２１は、ＸがｍａｘＸ以上であれば、ステップＳ６２に進み、それ以外は、図７のステップＳ３６に進む。
【００５４】
ステップＳ６２にて、高速プロセッサ２１は、ｍａｘＸにＸを代入して、新たなｍａｘＸとする。ステップＳ６３にて、新たなｍａｘＸと、直前のｍａｘＸ（つまりステップＳ６２の処理を行う前のｍａｘＸ）と、を比較して、両者が同一か否かを判断し、同一であれば（ステップＳ６１でｍａｘＸ＝Ｘ）、ステップＳ６６に進み、異なれば（ステップＳ６１でｍａｘＸ＜Ｘ）、ステップＳ６４に進む。
【００５５】
ステップＳ６４では、高速プロセッサ２１は、変数ＹＲに「０」を代入し、ステップＳ６５で、Ｘ座標が同一のｍａｘＸであるピクセルの数を示すカウント値Ｃｒに「０」を代入して、ステップＳ６６に進む。
【００５６】
ステップＳ６６では、高速プロセッサ２１は、カウント値Ｃｒを１つインクリメントする。ステップＳ６７にて、高速プロセッサ２１は、変数ＸＲにｍａｘＸを代入して、変数ＸＲの新たな値を得るとともに、変数ＹＲにＹを加算して、変数ＹＲの新たな値を得る。変数ＹＲの値は、Ｘ座標が同一のｍａｘＸであるピクセルのＹ座標の合計値となる。
【００５７】
図７に戻って、ステップＳ３６にて、高速プロセッサ２１は、再帰反射シート１５の像ＩＭの上端点の座標（ＸＵ，ＹＵ）を算出する。
【００５８】
図１０は、図７のステップＳ３６の上端座標算出処理の流れの一例を示すフローチャートである。図１０に示すように、ステップＳ７０にて、高速プロセッサ２１は、最小Ｙ座標ｍｉｎＹと座標Ｙとを比較する。ステップＳ７１にて、高速プロセッサ２１は、ＹがｍｉｎＹ以下であれば、ステップＳ７２に進み、それ以外は、図７のステップＳ３７に進む。
【００５９】
ステップＳ７２にて、高速プロセッサ２１は、ｍｉｎＹにＹを代入して、新たなｍｉｎＹとする。ステップＳ７３にて、新たなｍｉｎＹと、直前のｍｉｎＹ（つまりステップＳ７２の処理を行う前のｍｉｎＹ）と、を比較して、両者が同一か否かを判断し、同一であれば（ステップＳ７１でｍｉｎＹ＝Ｙ）、ステップＳ７６に進み、異なれば（ステップＳ７１でｍｉｎＹ＞Ｙ）、ステップＳ７４に進む。
【００６０】
ステップＳ７４では、高速プロセッサ２１は、変数ＸＵに「０」を代入し、ステップＳ７５で、Ｙ座標が同一のｍｉｎＹであるピクセルの数を示すカウント値Ｃｕに「０」を代入して、ステップＳ７６に進む。
【００６１】
ステップＳ７６では、高速プロセッサ２１は、カウント値Ｃｕを１つインクリメントする。ステップＳ７７にて、高速プロセッサ２１は、変数ＸＵにＸを加算して、変数ＸＵの新たな値を得るとともに、変数ＹＵにｍｉｎＹを代入して、変数ＹＵの新たな値を得る。変数ＸＵの値は、Ｙ座標が同一のｍｉｎＹであるピクセルのＸ座標の合計値となる。
【００６２】
図７に戻って、ステップＳ３７にて、高速プロセッサ２１は、再帰反射シート１５の像ＩＭの下端点の座標（ＸＢ，ＹＢ）を算出する。
【００６３】
図１１は、図７のステップＳ３７の下端座標算出処理の流れの一例を示すフローチャートである。図１１に示すように、ステップＳ８０にて、高速プロセッサ２１は、最大Ｙ座標ｍａｘＹと座標Ｙとを比較する。ステップＳ８１にて、高速プロセッサ２１は、ＹがｍａｘＹ以上であれば、ステップＳ８２に進み、それ以外は、図７のステップＳ３８に進む。
【００６４】
ステップＳ８２にて、高速プロセッサ２１は、ｍａｘＹにＹを代入して、新たなｍａｘＹとする。ステップＳ８３にて、新たなｍａｘＹと、直前のｍａｘＹ（つまりステップＳ８２の処理を行う前のｍａｘＹ）と、を比較して、両者が同一か否かを判断し、同一であれば（ステップＳ８１でｍａｘＹ＝Ｙ）、ステップＳ８６に進み、異なれば（ステップＳ８１でｍａｘＹ＜Ｙ）、ステップＳ８４に進む。
【００６５】
ステップＳ８４では、高速プロセッサ２１は、変数ＸＢに「０」を代入し、ステップＳ８５で、Ｙ座標が同一のｍａｘＹであるピクセルの数を示すカウント値Ｃｂに「０」を代入して、ステップＳ８６に進む。
【００６６】
ステップＳ８６では、高速プロセッサ２１は、カウント値Ｃｂを１つインクリメントする。ステップＳ８７にて、高速プロセッサ２１は、変数ＸＢにＸを加算して、変数ＸＢの新たな値を得るとともに、変数ＹＢにｍａｘＹを代入して、変数ＹＢの新たな値を得る。変数ＸＢの値は、Ｙ座標が同一のｍａｘＹであるピクセルのＸ座標の合計値となる。
【００６７】
図７に戻って、ステップＳ３８にて、高速プロセッサ２１は、差分画像上の処理中のピクセルのＹ座標を示す変数Ｙを１つインクリメントする。ステップＳ３９にて、高速プロセッサ２１は、変数Ｙの値が「３２」になったか否かを判断し、「ＹＥＳ」の場合はステップＳ４０に進み、「ＮＯ」の場合はステップＳ３１に進む。ステップＳ３９でＹ＝３２ということは、差分画像の一列分のピクセルについて、ステップＳ３１〜Ｓ３７の処理が完了したことを意味する。
【００６８】
高速プロセッサ２１は、ステップＳ４０にて、変数Ｙに「０」を代入し、ステップＳ４１にて、差分画像上のピクセルのＸ座標を示す変数Ｘを１つインクリメントする。これらの処理により、次の一列分のピクセルについて、ステップＳ３１〜Ｓ３７の処理が実行される。
【００６９】
ステップＳ４２にて、高速プロセッサ２１は、変数Ｘの値が「３２」になったか否かを判断し、「ＹＥＳ」の場合はステップＳ４３に進み、「ＮＯ」の場合はステップＳ３１に進む。ステップＳ４２でＸ＝３２ということは、差分画像の全ピクセル（３２ × ３２ピクセル）について、ステップＳ３１〜Ｓ３７の処理が完了したことを意味する。
【００７０】
ステップＳ４３にて、高速プロセッサ２１は、変数ＹＬにＹＬ／Ｃｌを代入して、変数ＹＬの新たな値を取得し（式（１））、変数ＹＲにＹＲ／Ｃｒを代入して、変数ＹＲの新たな値を取得し（式（２））、変数ＸＵにＸＵ／Ｃｕを代入して、変数ＸＵの新たな値を取得し（式（３））、変数ＸＢにＸＢ／Ｃｂを代入して、変数ＸＢの新たな値を取得する（式（４））。
【００７１】
ＹＬ＝ＹＬ／Ｃｌ …（１）
ＹＲ＝ＹＲ／Ｃｒ …（２）
ＸＵ＝ＸＵ／Ｃｕ …（３）
ＸＢ＝ＸＢ／Ｃｂ …（４）
【００７２】
以上のようにして、高速プロセッサ２１は、左端点の座標（ＸＬ，ＹＬ）、右端点の座標（ＸＲ，ＹＬ）、上端点の座標（ＸＵ，ＹＵ）、および下端点の座標（ＸＢ，ＹＢ／Ｃｂ）を取得する。
【００７３】
ステップＳ４４にて、高速プロセッサ２１は、次式により、像ＩＭの上下左右端の中心（以下、「注目点」と呼ぶ。）の座標（Ｘｃ，Ｙｃ）を求め、メインルーチンにリターンする。
【００７４】
Ｘｃ＝（ＸＬ＋ＸＲ）／２ …（５）
Ｙｃ＝（ＹＵ＋ＹＢ）／２ …（６）
【００７５】
図３に戻って、ステップＳ６にて、高速プロセッサ２１は、剣軌跡オブジェクトをテレビジョンモニタ７に表示するための条件が満たされたか否かを判断する。剣軌跡オブジェクトは、剣１１の実空間での移動軌跡（斬り跡）をテレビジョンモニタ７上で表現するための帯状のオブジェクト（後述の図２２参照）である。剣軌跡オブジェクトをテレビジョンモニタ７に出現させるための上記条件は、剣１１が、一定速さを超える速さで振られたことである。
【００７６】
図１２は、図３のステップＳ６の剣軌跡の出現可否の判定処理の流れの一例を示すフローチャートである。図１２に示すように、ステップＳ９０にて、高速プロセッサ２１は、剣軌跡オブジェクトをテレビジョンモニタ７に表示するための条件が満たされているか否かを示す剣フラグをチェックして、剣フラグがオンならば（当該条件満足）、ステップＳ９１に進み、オフならば、ステップＳ９８に進む。
【００７７】
ステップＳ９８では、高速プロセッサ２１は、今回及び前回の注目点（Ｘｃ，Ｙｃ）の存否をチェックして、双方の注目点が存在する場合は、速度ベクトルの計算が可能であるため、ステップＳ９９に進み、それ以外は、ステップＳ１０３に進んで、剣フラグをオフにし、メインルーチンにリターンする。
【００７８】
ステップＳ９９では、今回のステップＳ４４で求めた注目点を終点とし、前回のステップＳ４４で求めた注目点を始点とした速度ベクトルｖ（今回の注目点のＸ座標−前回の注目点のＸ座標，今回の注目点のＹ座標−前回の注目点のＹ座標）を算出する。ステップＳ１００にて、高速プロセッサ２１は、剣１１の速度ベクトルｖの絶対値｜ｖ｜、つまり剣１１の速さ｜ｖ｜を算出する。
【００７９】
ステップＳ１０１にて、高速プロセッサ２１は、剣１１の速さ｜ｖ｜が閾値ＴｈＶを超えているか否かを判断し（剣軌跡オブジェクトをテレビジョンモニタ７に表示するための条件）、超えている場合はステップＳ１０２に進み、それ以外はステップＳ１０３に進んで、剣フラグをオフにし、メインルーチンにリターンする。一方、ステップＳ１０２では、高速プロセッサ２１は、剣フラグをオンにして、メインルーチンにリターンする。
【００８０】
ただし、剣フラグがオンになれば、直ちに次のビデオフレームで、剣軌跡オブジェクトを表示するわけではなく、ステップＳ９１〜Ｓ９７の処理に従うことになる。剣フラグがオンであれば、高速プロセッサ２１は、ステップＳ９０からステップＳ９１に進み、今回の注目点の存否をチェックし、存在する場合はステップＳ９２に進み、存在しない場合はステップＳ９４に進む。
【００８１】
ステップＳ９２では、今回のステップＳ４４で求めた注目点を終点とし、前回のステップＳ９９で求めた速度ベクトルｖの始点を始点として、新たに速度ベクトルｖを算出する。ステップＳ９３にて、高速プロセッサ２１は、テレビジョンモニタ７に現在表示中のビデオフレームが、剣フラグがオンになった時点で表示されていたビデオフレームから４フレーム目か否かを判断して、４フレーム目であればステップＳ９５に進み、それ以外はメインルーチンにリターンする。なお、剣フラグがオンになった時点で表示されていたビデオフレームを０フレーム目とする。
【００８２】
一方、ステップＳ９４では、高速プロセッサ２１は、テレビジョンモニタ７に現在表示中のビデオフレームが、剣フラグがオンになった時点で表示されていたビデオフレームから１フレーム目か否かを判断して、１フレーム目であればメインルーチンにリターンし、それ以外はステップＳ９５に進む。
【００８３】
ステップＳ９５では、高速プロセッサ２１は、テレビジョンモニタ７に現在表示中のビデオフレームの次のビデオフレームで、最新の速度ベクトルｖに応じた剣軌跡オブジェクトを表示することを示す軌跡フラグをオンにする。
【００８４】
ここで、ステップＳ９５の前にステップＳ９３の処理を行うことにより、最大で６フレーム分の注目点から速度ベクトルｖが算出されることになる。なぜなら、剣フラグがオンになった時点では、２フレーム分の注目点により速度ベクトルｖを算出しており（ステップＳ９９参照）、また、ステップＳ９０で最初に「ＹＥＳ」が判断されたときは、剣フラグがオンになった時点で表示されていたビデオフレームから１フレーム目だからである。
【００８５】
一方、ステップＳ９５の前にステップＳ９４の処理を行うことにより、剣フラグがオンになった時点で表示されていたビデオフレームから１フレーム目以降では（ステップＳ９４で「ＮＯ」）、今回の注目点が存在しなければ、４フレーム目でなくとも（ステップＳ９３参照）、軌跡フラグがオンされる。剣フラグがオンになった時点で表示されていたビデオフレームから１フレーム目では（ステップＳ９４で「ＹＥＳ」）、今回の注目点が存在しなければ、軌跡フラグがオンされるとこはなく、メインルーチンにリターンする。
【００８６】
さて、ステップＳ９６では、高速プロセッサ２１は、剣フラグをオフにする。ステップＳ９７にて、高速プロセッサ２１は、速度ベクトルｖの方向を８つの方向ｄ０〜ｄ７のいずれかに分類して、分類結果に応じた値を剣方向フラグにセットして、メインルーチンにリターンする。ステップＳ９７での速度ベクトルｖの方向の分類について詳しく説明する。
【００８７】
図１３は、図２の高速プロセッサ２１が判断する剣１１の方向の説明図である。図１３において、方向ｄ０及びｄ４と、差分画像のＸ軸は平行であり、方向ｄ２及びｄ６と、差分画像のＹ軸は平行である。図１３に示すように、３６０度を均等に８分割して、各々４５度の８つの角度範囲を想定し、それぞれの範囲に、方向ｄ０〜ｄ７のうちの１つを割り当てている。従って、剣１１の速度ベクトルｖの方向が属する角度範囲に割り当てられた方向に応じた値が剣方向フラグにセットされる。例えば、速度ベクトルｖの方向が、方向ｄ５が割り当てられた角度範囲に属するときは、方向ｄ５に応じた値が、剣方向フラグにセットされる。
【００８８】
図３に戻って、ステップＳ７では、高速プロセッサ２１は、帯状の盾オブジェクトをテレビジョンモニタ７に表示するための条件が満たされたか否かを判断する。盾オブジェクトをテレビジョンモニタ７に出現させるための上記条件は、剣１１の差分画像上の面積が一定値を超えてから、剣１１の注目点が、一定期間同じ領域に留まっていることである。
【００８９】
図１４は、図３のステップＳ７の盾の出現可否の判定処理の流れの一例を示すフローチャートである。図１４に示すように、ステップＳ１１０にて、高速プロセッサ２１は、再帰反射シート１５の差分画像上の面積に相当するカウント値Ｃａと、閾値ＴｈＡと、を比較する。ステップＳ１１１にて、高速プロセッサ２１は、カウント値Ｃａ（つまり再帰反射シート１５の差分画像上の面積）が閾値ＴｈＡより大きい場合は、ステップＳ１１４に進み、それ以外は、ステップＳ１１２に進む。
【００９０】
ステップＳ１１４では、高速プロセッサ２１は、盾オブジェクトをテレビジョンモニタ７に表示するための条件が満たされているか否かを示す盾フラグの状態を判断し、オフの場合はステップＳ１１５に進み、オンの場合はメインルーチンにリターンする。ステップＳ１１５にて、高速プロセッサ２１は、剣１１の注目点が、後述の矩形領域Ａｒに留まっている期間をフレーム数で示すカウント値Ｃｓをチェックし、このカウント値Ｃｓが「０」であれば、ステップＳ１１６に進み、それ以外は、ステップＳ１１８に進む。
【００９１】
ステップＳ１１６では、高速プロセッサ２１は、剣１１の注目点（Ｘｃ，Ｙｃ）を中心とした矩形領域Ａｒを設定する。この矩形領域Ａｒは、カウント値Ｃｓが「０」になるたびに更新される（ステップＳ１１５及びＳ１１６）。ステップＳ１１７にて、高速プロセッサ２１は、カウント値Ｃｓを１つインクリメントして、メインルーチンにリターンする。
【００９２】
一方、ステップＳ１１８では、高速プロセッサ２１は、矩形領域Ａｒに、注目点が存在するか否かを判断し、存在する場合は、ステップＳ１１９に進み、それ以外は、ステップＳ１２３に進む。
【００９３】
ステップＳ１１９では、高速プロセッサ２１は、カウント値Ｃｓを１つインクリメントする。ステップＳ１２０にて、高速プロセッサ２１は、カウント値Ｃｓが所定値（例えば、「３」）と等しくなったか否かを判断し、等しい場合はステップＳ１２１に進み、それ以外は、メインルーチンにリターンする。
【００９４】
ステップＳ１２１では、高速プロセッサ２１は、盾フラグをオンにし、ステップＳ１２２で、カウント値Ｃｓに「０」を代入して、メインルーチンにリターンする。
【００９５】
一方、ステップＳ１１２では、面積を示すカウント値Ｃａが閾値ＴｈＡを超えていないので、カウント値Ｃｓに「０」を代入し、ステップＳ１１３で、盾フラグをオフにして、メインルーチンにリターンする。
【００９６】
また、ステップＳ１２３では、注目点が矩形領域Ａｒに留まっていないので、カウント値Ｃｓに「０」を代入し、ステップＳ１２４で、盾フラグをオフにして、メインルーチンにリターンする。
【００９７】
ここで、盾フラグが一旦オンになると（ステップＳ１２１）、注目点の位置に関係なく、ステップＳ１１４により、面積が閾値ＴｈＡ以下になるまで、盾フラグのオンが維持される。
【００９８】
図３に戻って、ステップＳ８〜Ｓ１０において、剣１１の傾きを判定するための前処理が実行される。まず、ステップＳ１０で使用する第３ルールを説明する。傾き判定の第３ルールは、上端点、下端点、左端点、及び右端点を頂点とする四角形の四辺のうち、最も短い辺およびその次に短い辺が、４つの端点のうちのいずれかを共有しているときは、共有されている端点およびその端点に対向する端点の座標を、剣１１の傾き判定のための座標として設定する。一方、最も短い辺およびその次に短い辺が、端点を共有していないときは、その最も短い辺の中点及びその次に短い辺の中点の座標を、剣１１の傾き判定のための座標として設定する。このような第３ルールを例を挙げて説明する。
【００９９】
図１５は、本実施の形態による傾き判定のための第３ルールの説明図である。図１５（ａ）の例では、上端点ｕｐ、下端点ｂｐ、左端点ｌｐ、及び右端点ｒｐを頂点とする四角形の四辺ｓ１〜ｓ４のうち、最も短い辺ｓ１およびその次に短い辺ｓ２が、１つの端点ｌｐを共有しているので、共有されている端点ｌｐおよびその端点ｌｐに対向する端点ｒｐの座標が、剣１１の傾き判定のための座標として設定される。従って、後述の図３のステップＳ１１では、この端点ｌｐ及びｒｐを通る直線ＳＬの傾きに基づいて剣１１の傾きを決定する。図１５（ｂ）の例では、最も短い辺ｓ１およびその次に短い辺ｓ３が、いずれの端点ｕｐ，ｂｐ，ｌｐ及びｒｐも共有していないので、その最も短い辺ｓ１の中点ｐ１及びその次に短い辺ｓ３の中点ｐ２の座標が、剣１１の傾き判定のための座標として設定される。従って、後述の図３のステップＳ１１では、この中点ｐ１及びｐ２を通る直線ＳＬの傾きに基づいて剣１１の傾きを決定する。
【０１００】
ただし、この第３ルールだけでは、不都合が発生する場合があるので、第１ルール及び第２ルールが設けられている。つまり、まず、第１ルールの適用の可否が判断され、それが適用されるのであれば、第１ルールに基づく傾き判定が実行され、不適用の場合は、次に、第２ルールの適用の可否が判断され、それが適用される場合は、第２ルールに基づく傾き判定が実行され、不適用の場合は、次に、第３ルールに基づく傾き判定が実行される。
【０１０１】
図１６は、本実施の形態による傾き判定の第１ルールの説明図である。図１６に示すように、第１ルールは、上端点ｕｐのＸ座標及び下端点ｂｐのＸ座標が同一であり、かつ、左端点ｌｐのＹ座標及び右端点ｒｐのＹ座標が同一である場合に適用される。そして、左端点ｌｐと右端点ｒｐとを結ぶ直線ＳＨの長さＨと、上端点ｕｐと下端点ｂｐとを結ぶ直線ＳＶの長さＶと、の比、つまり、Ｈ／Ｖが、「１」より大きいか否かにより、剣１１の傾き判定のための座標を設定する。つまり、Ｈ／Ｖが、「１」より大きい場合は、左端点ｌｐ及び右端点ｒｐの座標が、剣１１の傾き判定のための座標として設定される。従って、後述の図３のステップＳ１１では、この左端点ｌｐ及び右端点ｒｐを通る直線ＳＬの傾きに基づいて剣１１の傾きを決定する。一方、Ｈ／Ｖが、「１」より大きくない場合（図１６のような場合）は、上端点ｕｐ及び下端点ｂｐの座標が、剣１１の傾き判定のための座標として設定される。従って、後述の図３のステップＳ１１では、この上端点ｕｐ及び下端点ｂｐを通る直線ＳＬの傾きに基づいて剣１１の傾きを決定する。
【０１０２】
仮に、図１６のような端点ｕｐ，ｂｐ，ｌｐ及びｒｐが得られた場合に、第３ルールを適用すると、最も短い辺ｓ１およびその次に短い辺ｓ４が、１つの端点ｒｐを共有しているので、共有されている端点ｒｐおよびその端点ｒｐに対向する端点ｌｐを通る直線ＳＬ（図１６で直線ＳＨ）の傾きが剣１１の傾きとみなされる。この場合、図から明らかなように、実際の剣１１の傾きと異なってくる。
【０１０３】
図１７は、本実施の形態による傾き判定の第２ルールの説明図である。図１７（ａ）に示すように、第２ルールは、左端点ｌｐのＸ座標と右端点ｒｐのＸ座標との差の絶対値Ｈと、上端点ｕｐのＹ座標と下端点ｂｐのＹ座標との差の絶対値Ｖと、の比、つまり、Ｈ／Ｖが、所定値ＨＶ１（例えば、３／２）より大きい場合、あるいは、所定値ＨＶ２（例えば、２／３）より小さい場合に適用される。なお、ＨＶ１＝１／ＨＶ２である。
【０１０４】
比Ｈ／Ｖが、所定値ＨＶ１より大きい場合は、左端点ｌｐ及び右端点ｒｐの座標が、剣１１の傾き判定のための座標として設定される。従って、後述の図３のステップＳ１１では、この左端点ｌｐ及び右端点ｒｐを通る直線ＳＬの傾きに基づいて剣１１の傾きを決定する。一方、比Ｈ／Ｖが、所定値ＨＶ２より小さい場合は、上端点ｕｐ及び下端点ｂｐの座標が、剣１１の傾き判定のための座標として設定される。従って、後述の図３のステップＳ１１では、この上端点ｕｐ及び下端点ｂｐを通る直線ＳＬの傾きに基づいて剣１１の傾きを決定する。
【０１０５】
仮に、図１７（ａ）のような端点ｕｐ，ｂｐ，ｌｐ及びｒｐが得られた場合に、第３ルールを適用すると、図１７（ｂ）に示すように、最も短い辺ｓ１およびその次に短い辺ｓ３が、いずれの端点ｕｐ，ｂｐ，ｌｐ及びｒｐも共有していないので、その最も短い辺ｓ１の中点及びその次に短い辺ｓ３の中点を通る直線ＳＬの傾きが剣１１の傾きとみなされる。そうすると、図１７（ａ）から明らかなように、実際の剣１１の傾きと異なってくる。なお、図１７の例では、第１ルールが適用されないことは明らかである。
【０１０６】
図１８は、図３のステップＳ８の第１ルールによる前処理の流れの一例を示すフローチャートである。図１８に示すように、ステップＳ１３０にて、高速プロセッサ２１は、盾フラグの状態をチェックして、オンであればステップＳ１３１に進み、オフであれば図３のステップＳ１１に進む。
【０１０７】
ステップＳ１３１では、高速プロセッサ２１は、上端点のＸ座標ＸＵと下端点のＸ座標ＸＢとが一致するか否かを判断し、不一致の場合はメインルーチンにリターンし、一致する場合は、ステップＳ１３２に進む。
【０１０８】
ステップＳ１３２では、高速プロセッサ２１は、左端点のＹ座標ＹＬと右端点のＹ座標ＹＲとが一致するか否かを判断し、不一致の場合はメインルーチンにリターンし、一致する場合は、ステップＳ１３３に進む。以上のように、ステップＳ１３１及びＳ１３２により、第１ルールの適用の可否が判定される。
【０１０９】
ステップＳ１３３では、高速プロセッサ２１は、次式により、左端点のＸ座標ＸＬと右端点のＸ座標ＸＲとの間の距離（つまり幅Ｈ）及び上端点のＹ座標ＹＵと下端点のＹ座標ＹＢとの間の距離（つまり高さＶ）を求める。
【０１１０】
Ｈ＝ＸＲ−ＸＬ …（７）
Ｖ＝ＹＢ−ＹＵ …（８）
【０１１１】
ステップＳ１３４にて、高速プロセッサ２１は、Ｈ／Ｖを算出する。ステップＳ１３５にて、高速プロセッサ２１は、Ｈ／Ｖが「１」より大きいか否かを判定し、大きい場合はステップＳ１３６に進み、それ以外はステップＳ１３７に進む。
【０１１２】
ステップＳ１３６では、高速プロセッサ２１は、左端点及び右端点の座標を、剣１１の傾きを決定するための座標として、内部メモリにセットし、図３のステップＳ１１に進む。一方、ステップＳ１３７では、高速プロセッサ２１は、上端点及び下端点の座標を、剣１１の傾きを決定するための座標として、内部メモリにセットし、図３のステップＳ１１に進む。
【０１１３】
図１９は、図３のステップＳ９の第２ルールによる前処理の流れの一例を示すフローチャートである。図１９に示すように、ステップＳ１４０にて、高速プロセッサ２１は、式（７）及び式（８）により、左端点のＸ座標ＸＬと右端点のＸ座標ＸＲとの間の距離（つまり幅Ｈ）及び上端点のＹ座標ＹＵと下端点のＹ座標ＹＢとの間の距離（つまり高さＶ）を求める。
【０１１４】
ステップＳ１４１にて、高速プロセッサ２１は、Ｈ／Ｖを算出する。ステップＳ１４２にて、高速プロセッサ２１は、Ｈ／Ｖが所定値ＨＶ１より大きいか否かを判定し、大きい場合は、ステップＳ１４３に進み、それ以外はステップＳ１４４に進む。ステップＳ１４４では、高速プロセッサ２１は、Ｈ／Ｖが所定値ＨＶ２より小さいか否かを判定し、小さい場合はステップＳ１４５に進み、それ以外はメインルーチンにリターンする。以上のように、ステップＳ１４２及びＳ１４４において、第２ルールの適用の可否が判断される。
【０１１５】
ステップＳ１４３では、高速プロセッサ２１は、左端点及び右端点の座標を、剣１１の傾きを決定するための座標として、内部メモリにセットし、図３のステップＳ１１に進む。一方、ステップＳ１４５では、高速プロセッサ２１は、上端点及び下端点の座標を、剣１１の傾きを決定するための座標として、内部メモリにセットし、図３のステップＳ１１に進む。
【０１１６】
図２０は、図３のステップＳ１０の第３ルールによる前処理の流れの一例を示すフローチャートである。図２０に示すように、ステップＳ１５０にて、高速プロセッサ２１は、上端点ｕｐ、下端点ｂｐ、左端点ｌｐ、及び右端点ｒｐを頂点とする四角形の四辺ｓ１〜ｓ４の長さを算出する。ステップＳ１５１にて、高速プロセッサ２１は、四辺のうち、最も短い辺およびその次に短い辺が、１つの端点を共有しているか否かを判定する。
【０１１７】
ステップＳ１５２にて、高速プロセッサ２１は、１つの端点を共有している場合はステップＳ１５３に進み、それ以外はステップＳ１５４に進む。ステップＳ１５３では、共有されている端点およびその端点に対向する端点の座標を、剣１１の傾きを決定するための座標として、内部メモリにセットし、メインルーチンにリターンする。一方、ステップＳ１５４では、最も短い辺およびその次に短い辺が、いずれの端点も共有していないので、その最も短い辺の中点及びその次に短い辺の中点の座標を、剣１１の傾きを決定するための座標として、内部メモリにセットし、メインルーチンにリターンする。
【０１１８】
図３に戻って、ステップＳ１１にて、高速プロセッサ２１は、ステップＳ８〜Ｓ１０で内部メモリにセットされた２点の座標（ステップＳ１３６，Ｓ１３７，Ｓ１４３，Ｓ１４５，Ｓ１５３，Ｓ１５４）を通る直線ＳＬの傾きを算出する。そして、高速プロセッサ２１は、算出した直線ＳＬの傾きを、傾きａ０〜ａ７のいずれかに分類し、盾傾斜フラグを、その分類結果に応じた値にセットする。
【０１１９】
図２１は、図２の高速プロセッサ２１が判断する剣１１の傾きの説明図である。図２１において、傾きａ０は、差分画像のＸ軸に平行であり、傾きａ４は、差分画像のＹ軸に平行である。図２１に示すように、本実施の形態では、剣１１の傾きを表す直線ＳＬの傾きを、傾きａ０〜ａ７のいずれかに分類する。つまり、傾きａ０〜ａ７のそれぞれを基準として、時計回りに１１．２５度及び反時計回りに１１．２５度の角度範囲を想定し、２２．５度の角度範囲を８個定義し、いずれの角度範囲に直線ＳＬの傾きが属するかを判定し、直線ＳＬの傾きが属する角度範囲の基準となった傾きを、剣１１の傾きとする。例えば、直線ＳＬの傾きが、傾きａ０を基準とする角度範囲に属する場合は、剣１１の傾きを傾きａ０に分類する。
【０１２０】
図３に戻って、ステップＳ１２にて、高速プロセッサ２１は、ステップＳ３〜Ｓ１１の処理結果を利用した情報処理を実行する。この場合の情報処理のうち、画像表示に関する処理について説明する。
【０１２１】
高速プロセッサ２１は、軌跡フラグ（図１２のステップＳ９５参照）がオンの場合は、剣方向フラグにセットされた値に応じた剣軌跡オブジェクトの格納位置情報を内部メモリに格納する。さらに、この場合、高速プロセッサ２１は、剣方向フラグにセットされた値に応じた剣軌跡オブジェクトが、最新の注目点の座標（Ｘｃ，Ｙｃ）をスクリーン座標系に変換した座標（ｘｃ，ｙｃ）を通るように、スクリーン座標系の剣軌跡オブジェクトの座標を算出する。ここで、テレビジョンモニタ７への実際の表示に用いられる二次元座標系をスクリーン座標系と呼ぶ。
【０１２２】
また、高速プロセッサ２１は、軌跡フラグがオフの場合であって、かつ、盾フラグがオンの場合に、盾傾斜フラグにセットされた値に応じた盾オブジェクトの格納位置情報を内部メモリに格納する。さらに、この場合、高速プロセッサ２１は、盾傾斜フラグにセットされた値に応じた盾オブジェクトが、最新の注目点の座標（Ｘｃ，Ｙｃ）をスクリーン座標系に変換した座標（ｘｃ，ｙｃ）を通るように、スクリーン座標系の盾オブジェクトの座標を算出する。
【０１２３】
その他、高速プロセッサ２１は、テレビジョンモニタ７に表示する背景や他のオブジェクト（例えば、敵オブジェクト等）の格納位置情報の内部メモリへの格納やスクリーン座標系の座標を算出する。
【０１２４】
さて、ステップＳ１３において、高速プロセッサ２１は、「ＹＥＳ」であれば、即ち、ビデオ同期の割込み待ちであれば（ビデオ同期信号による割り込みがなければ）、同じステップＳ１３に戻る。一方、ステップＳ１３で「ＮＯ」であれば、即ち、ビデオ同期の割込み待ちでなければ（ビデオ同期信号による割り込みがあれば）、ステップＳ１４に進む。
【０１２５】
ステップＳ１４では、高速プロセッサ２１は、ステップＳ１２の処理結果に応じて、テレビジョンモニタ７に表示される画面（ビデオフレーム）の更新処理を実行し、ステップＳ２に進む。つまり、高速プロセッサ２１は、ステップ１２で格納された背景や各オブジェクトの格納位置情報及びスクリーン座標系の座標に基づいて、ＲＯＭ２３からそれらの画像データを読み出し、必要な処理を行い、背景や各オブジェクト表すビデオ信号を生成する。これにより、ステップＳ１２の処理結果に応じた、剣軌跡オブジェクトや盾オブジェクト等がテレビジョンモニタ７に表示される。
【０１２６】
ステップＳ１５の音声処理は、音声割り込みが発生したときに実行され、それによって、高速プロセッサ２１は、音楽や効果音を出力する。
【０１２７】
図２２は、図１の剣１１を振った方向に対応して表示される剣軌跡オブジェクトのアニメーションの説明図である。図２２に示すように、最初は幅ｗの狭い帯状の画像（剣軌跡オブジェクト）が、コマ（時間ｔ）が進むに従って、幅ｗが広くなり、さらに、コマが進むに従って、幅ｗが小さくなる。この例は、剣方向フラグに図１３の方向ｄ４を示す値がセットされたときに表示される剣軌跡オブジェクトの１例である。
【０１２８】
この例では、１コマを１フレームだけ表示するため、１２コマを１２フレームで表示する。なお、フレームの更新は、例えば、１／６０秒ごとに行われる。以上のように、コマ（時間ｔ）の進行とともに、剣軌跡オブジェクトの幅ｗを、小→大→小、と変化させることで、剣１１が振られたことに応じて、鋭い閃光が走ったような剣軌跡の表現が可能となる。
【０１２９】
なお、図２２において、黒く塗りつぶした部分は、透明であることを意味する。また、ハッチングを施した部分や白色で表している部分が存在するが、実際には、所望の色（白色含む。）が付される。
【０１３０】
ここで、図１３の方向ｄ０を示す値が剣方向フラグにセットされた場合は、図２２の剣軌跡オブジェクトが左右反転して使用・表示される。また、方向ｄ２のために、図２２と同様の画像（９０度回転）が、別途用意され、方向ｄ６のために、上下反転して使用・表示される。また、方向ｄ１のために、図２２と同様の画像（４５度回転）が、別途用意され、方向ｄ３，ｄ５及びｄ７のために、上下左右反転して使用・表示される。
【０１３１】
図２３は、図２１ の方向ａ０〜ａ４に対応して表示される盾オブジェクトＡ０〜Ａ４の例示図である。図２３の盾オブジェクトＡ０〜Ａ４はそれぞれ、図２１の傾きａ０〜ａ４に対応している。従って、盾傾斜フラグが方向ａ０〜ａ４のいずれかを示している場合は、対応する盾オブジェクトＡ０〜Ａ４がそのまま使用・表示される。盾傾斜フラグが傾きａ５〜ａ７のいずれかを示している場合は、対応する盾オブジェクトＡ３〜Ａ１が左右反転して使用・表示される。
【０１３２】
図２４は、図１のテレビジョンモニタ７に表示された盾オブジェクトの例示図である。図２４に示すように、テレビジョンモニタ７には、図２３の盾オブジェクトＡ１を左右反転した盾オブジェクトＡ１ｒが表示されている。従って、この例では、剣１１の傾きが、図２１の傾きａ７ということになる。このように、盾傾斜フラグが示す傾き（つまり剣１１の傾き）に応じた盾オブジェクトがテレビジョンモニタ７に表示される。なお、図２４から明らかなように、盾オブジェクトは、画面のある辺から他の辺にわたって表示される。この点は、剣軌跡オブジェクト（図２２（ｋ）（ｌ）除く）も同様である。
【０１３３】
ここで、盾オブジェクトの色彩は、透明色あるいは半透明色にすることが望ましい。なぜなら、盾オブジェクトの奥に位置するオブジェクト（例えば、敵オブジェクト等）が、透けて見えるので、プレイヤ１７は、奥に位置するオブジェクトを視認しながら、剣１１の操作を行うことができるからである。
【０１３４】
さて、以上のように、本実施の形態によれば、経験的に規定された第１ルール〜第３ルールに従って、剣１１の傾きを算出するための２点の座標を決定する。従って、簡易かつ的確に、剣１１の傾きを検出できる。
【０１３５】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０１３６】
（１）上記では、操作物として剣１１を例に挙げたが、操作物の形状はこれに限定されない。また、操作物に取り付ける再帰反射シートの形状は、再帰反射シート１５の形状に限定されない。
【０１３７】
（２）上記では、剣１１の方向に応じた盾オブジェクトをテレビジョンモニタ７に表示した。ただし、剣１１の方向に応じて表示するオブジェクトはこれに限定されず、任意の形状や形態のオブジェクトを表示できる。
【０１３８】
以上、本発明を実施例により詳細に説明したが、当業者にとっては、本発明が本願中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本願の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
【図面の簡単な説明】
【０１３９】
【図１】図１は、本発明の実施の形態によるゲームシステムの全体構成を示すブロック図である。
【図２】図２は、図１のゲーム機１の電気的構成を示す図である。
【図３】図３は、図１のゲーム機１の全体の処理の流れの一例を示すフローチャート。
【図４】図４は、図３のステップＳ２の撮影処理の流れの一例を示すフローチャート。
【図５】図５は、図３のステップＳ４で算出した閾値ＴｈＢによる２値化画像の概念図である。
【図６】図６は、図３のステップＳ５の上下左右端の座標算出処理の説明図である。
【図７】図７は、図３のステップＳ５の上下左右端の座標算出処理の流れの一例を示すフローチャート。
【図８】図８は、図７のステップＳ３４の左端座標算出処理の流れの一例を示すフローチャート。
【図９】図９は、図７のステップＳ３５の右端座標算出処理の流れの一例を示すフローチャート。
【図１０】図１０は、図７のステップＳ３６の上端座標算出処理の流れの一例を示すフローチャート。
【図１１】図１１は、図７のステップＳ３７の下端座標算出処理の流れの一例を示すフローチャート。
【図１２】図１２は、図３のステップＳ６の剣軌跡の出現可否の判定処理の流れの一例を示すフローチャート。
【図１３】図１３は、図２の高速プロセッサ２１が判断する剣１１の方向の説明図である。
【図１４】図１４は、図３のステップＳ７の盾の出現可否の判定処理の流れの一例を示すフローチャート。
【図１５】図１５は、本実施の形態による傾き判定の第３ルールの説明図である。
【図１６】図１６は、本実施の形態による傾き判定の第１ルールの説明図である。
【図１７】図１７は、本実施の形態による傾き判定の第２ルールの説明図である。
【図１８】図１８は、図３のステップＳ８の第１ルールによる前処理の流れの一例を示すフローチャート。
【図１９】図１９は、図３のステップＳ９の第２ルールによる前処理の流れの一例を示すフローチャート。
【図２０】図２０は、図３のステップＳ１０の第３ルールによる前処理の流れの一例を示すフローチャート。
【図２１】図２１は、図２の高速プロセッサ２１が判断する剣１１の傾きの説明図である。
【図２２】図２２は、図１の剣１１を振った方向に対応して表示される剣軌跡のアニメーションの説明図である。
【図２３】図２３は、図２１の方向ａ０〜ａ４に対応して表示される盾オブジェクトＡ０〜Ａ４の例示図である。
【図２４】図２４は、図１のテレビジョンモニタ７に表示された盾オブジェクトＡ１ｒの例示図である。
【符号の説明】
【０１４０】
１…ゲーム機、３…赤外発光ダイオード、１１…剣（操作物）、１５…再帰反射シート、１９…イメージセンサ、２１…高速プロセッサ、２３…ＲＯＭ、２５…バス。
【図１】
2006236326.tif 000003
【図２】
2006236326.tif 000004
【図３】
2006236326.tif 000005
【図４】
2006236326.tif 000006
【図５】
2006236326.tif 000007
【図６】
2006236326.tif 000008
【図７】
2006236326.tif 000009
【図８】
2006236326.tif 000010
【図９】
2006236326.tif 000011
【図１０】
2006236326.tif 000012
【図１１】
2006236326.tif 000013
【図１２】
2006236326.tif 000014
【図１３】
2006236326.tif 000015
【図１４】
2006236326.tif 000016
【図１５】
2006236326.tif 000017
【図１６】
2006236326.tif 000018
【図１７】
2006236326.tif 000019
【図１８】
2006236326.tif 000020
【図１９】
2006236326.tif 000021
【図２０】
2006236326.tif 000022
【図２１】
2006236326.tif 000023
【図２２】
2006236326.tif 000024
【図２３】
2006236326.tif 000025
【図２４】
2006236326.tif 000026