JP4635164B2 - 傾き検出方法、コンピュータプログラム、及びエンタテインメント・システム - Google Patents

傾き検出方法、コンピュータプログラム、及びエンタテインメント・システム Download PDF

Info

Publication number
JP4635164B2
JP4635164B2 JP2006013949A JP2006013949A JP4635164B2 JP 4635164 B2 JP4635164 B2 JP 4635164B2 JP 2006013949 A JP2006013949 A JP 2006013949A JP 2006013949 A JP2006013949 A JP 2006013949A JP 4635164 B2 JP4635164 B2 JP 4635164B2
Authority
JP
Japan
Prior art keywords
endpoint
end point
coordinates
coordinate
inclination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006013949A
Other languages
English (en)
Other versions
JP2006236326A5 (ja
JP2006236326A (ja
Inventor
拓 上島
伸也 勝又
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SSD Co Ltd
Original Assignee
SSD Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SSD Co Ltd filed Critical SSD Co Ltd
Priority to JP2006013949A priority Critical patent/JP4635164B2/ja
Publication of JP2006236326A publication Critical patent/JP2006236326A/ja
Publication of JP2006236326A5 publication Critical patent/JP2006236326A5/ja
Application granted granted Critical
Publication of JP4635164B2 publication Critical patent/JP4635164B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、反射体を備えた操作物をストロボ撮影して、その操作物の傾きを検出する傾き検出方法、エンタテインメント・システム及びその関連技術に関する。
本件出願人による特許文献1に開示されているゴルフゲームシステムは、ゲーム機及びゴルフクラブ型入力装置(操作物)を含み、ゲーム機のハウジングの内部には撮像ユニットが収納され、この撮像ユニットは、イメージセンサ及び赤外発光ダイオード等から構成される。赤外発光ダイオードによって撮像ユニットの上方の所定範囲に赤外光が間欠的に照射され、したがって、イメージセンサは、その範囲内で移動するゴルフクラブ型入力装置に設けられた反射体を間欠的に撮影する。このような反射体のストロボ映像を処理することによって、ゴルフクラブ型入力装置の位置や速度を検出する。
特開2004−85524号公報
そこで、本発明の目的は、操作物に取り付けられた反射体のストロボ映像を処理することにより、操作物の傾きを検出する傾き検出方法及びその関連技術を提供することである。
本発明の観点によれば、傾き検出方法は、オペレータに保持されて動きが与えられる操作物の傾きを検出する傾き検出方法であって、反射体を有する前記操作物に、予め定められた周期で、光を照射するステップと、前記光の発光時において、前記操作物を撮影して、各々輝度値を含む複数のピクセルデータからなる発光時画像データを取得するステップと、前記光の消灯時において、前記操作物を撮影して、各々輝度値を含む複数のピクセルデータからなる消灯時画像データを取得するステップと、前記発光時画像データと前記消灯時画像データとの差分を求めて、差分画像データを生成するステップと、前記差分画像データに基づく差分画像上の前記操作物の像を構成するピクセルのうち、最大水平座標を持つピクセルの座標を求めるステップと、前記操作物の前記像を構成するピクセルのうち、最小水平座標を持つピクセルの座標を求めるステップと、前記操作物の前記像を構成するピクセルのうち、最大垂直座標を持つピクセルの座標を求めるステップと、前記操作物の前記像を構成するピクセルのうち、最小垂直座標を持つピクセルの座標を求めるステップと、前記最大水平座標を持つ前記ピクセルを第1端点とし、前記最小水平座標を持つ前記ピクセルを第2端点とし、前記最大垂直座標を持つ前記ピクセルを第3端点とし、及び前記最小垂直座標を持つ前記ピクセルを第4端点としたときに、前記第1端点、前記第2端点、前記第3端点、及び前記第4端点に基づいて選択された第1の参照端点および第2の参照端点に基づいて前記操作物の傾きを算出するステップと、を含み、前記操作物の傾きを算出する前記ステップでは、前記第1端点、前記第2端点、前記第3端点、及び前記第4端点を頂点とする四角形の四辺のうち、最も短い辺およびその次に短い辺が、前記第1端点、前記第2端点、前記第3端点、及び前記第4端点のうち、いずれかの端点を共有している場合は、当該端点を前記第1の参照端点とし、その第1の参照端点に対向する端点を前記第2の参照端点とし、前記第1端点、前記第2端点、前記第3端点、及び前記第4端点を頂点とする前記四角形の四辺のうち、最も短い辺およびその次に短い辺が、前記第1端点、前記第2端点、前記第3端点、及び前記第4端点のうち、いずれの端点も共有していない場合は、その最も短い辺の中点を前記第1の参照端点とし、その次に短い辺の中点を前記第2の参照端点とするものである。
この構成によれば、簡易かつ的確に、操作物の傾きを検出することができる。
上記傾き検出方法において、前記最大水平座標を持つ前記ピクセルの座標を求める前記ステップでは、前記最大水平座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの垂直座標の平均値を前記第1端点の垂直座標とし、前記最小水平座標を持つ複数存在ピクセルの座標を求める前記ステップでは、前記最小水平座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの垂直座標の平均値を前記第2端点の垂直座標とし、前記最大垂直座標を持つ前記ピクセルの座標を求める前記ステップでは、前記最大垂直座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの水平座標の平均値を前記第3端点の水平座標とし、前記最小垂直座標を持つ前記ピクセルの座標を求める前記ステップでは、前記最小垂直座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの水平座標の平均値を前記第4端点の水平座標とする。
この構成によれば、最大水平座標を持つピクセル、最小水平座標を持つピクセル、最大垂直座標を持つピクセル、及び/又は最小垂直座標を持つピクセルが複数存在する場合でも、第1端点、第2端点、第3端点、及び第4端点を決定できる。
上記傾き検出方法は、前記第1端点の垂直座標と、前記第2端点の垂直座標と、が同一であり、かつ、前記第3端点の水平座標と、前記第4端点の水平座標と、が同一である場合、前記第1端点と前記第2端点との間の距離を求めるステップと、前記第1端点の垂直座標と、第2端点の垂直座標と、が同一であり、かつ、前記第3端点の水平座標と、前記第4端点の水平座標と、が同一である場合、前記第3端点と前記第4端点との間の距離を求めるステップと、前記第1端点の垂直座標と、第2端点の垂直座標と、が同一であり、かつ、前記第3端点の水平座標と、前記第4端点の水平座標と、が同一である場合、前記第1の参照端点及び前記第2の参照端点に基づいて前記操作物の傾きを算出する前記ステップに代わって、前記第1端点と前記第2端点との間の前記距離と、前記第3端点と前記第4端点との間の前記距離と、の間の大小関係に応じて、前記第1端点及び前記第2端点の座標に基づいて、あるいは、前記第3端点及び前記第4端点の座標に基づいて、前記操作物の傾きを算出するステップと、をさらに含む。
この構成によれば、第1端点の垂直座標と、第2端点の垂直座標と、が同一であり、かつ、第3端点の水平座標と、第4端点の水平座標と、が同一である場合でも、的確に操作物の傾きを検出できる。
上記傾き検出方法は、前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第1端点の水平座標と前記第2端点の水平座標との間の距離を求めるステップと、前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第3端点の垂直座標と前記第4端点の垂直座標との間の距離を求めるステップと、前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第1の参照端点及び前記第2の参照端点に基づいて前記操作物の傾きを算出する前記ステップに代わって、前記第1端点の水平座標と前記第2端点の水平座標との間の前記距離と、前記第3端点の垂直座標と前記第4端点の垂直座標との間の前記距離と、の間の比に応じて、前記第1端点及び前記第2端点の座標に基づいて、あるいは、前記第3端点及び前記第4端点の座標に基づいて、前記操作物の傾きを算出するステップと、をさらに含む。
この構成によれば、第1端点の垂直座標及び第2端点の垂直座標が同一でない場合、及び/又は、第3端点の水平座標及び第4端点の水平座標が同一でない場合において、より的確に操作物の傾きを検出できる。
一方、上記傾き検出方法は、前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第1端点の水平座標と前記第2端点の水平座標との間の距離を求めるステップと、前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第3端点の垂直座標と前記第4端点の垂直座標との間の距離を求めるステップと、前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第1の参照端点及び前記第2の参照端点に基づいて前記前記操作物の傾きを算出する前記ステップに代わって、前記第1端点の水平座標と前記第2端点の水平座標との間の前記距離と、前記第3端点の垂直座標と前記第4端点の垂直座標との間の前記距離と、の間の比が、「1」を超える第1の定数よりも大きいときは、前記第1端点及び前記第2端点の座標に基づいて、前記操作物の傾きを算出するステップと、第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第1の参照端点及び前記第2の参照端点に基づいて前記前記操作物の傾きを算出する前記ステップに代わって、前記比が、「1」より小さい第2の定数よりも小さい場合には、前記第3端点及び前記第4端点の座標に基づいて、前記操作物の傾きを算出するステップと、をさらに含むことができる。
この構成によれば、第1端点の垂直座標及び第2端点の垂直座標が同一でない場合、及び/又は、第3端点の水平座標及び第4端点の水平座標が同一でない場合において、更に的確に操作物の傾きを検出できる。
本発明の別の観点によれば、エンタテインメント・システムは、前記エンタテインメント・システムを利用する際に、ユーザーが操作する操作物と、前記操作物を撮像することにより前記操作物の画像を取得する撮影装置と、前記撮影装置に接続され、前記撮影装置から前記操作物の画像を受け取り、前記操作物の画像に基づいて、前記操作物の傾きを決定する情報処理装置と、を備え、前記情報処理装置は、前記操作物の画像から、前記操作物のプロファイルを代表する4つの代表点を算出する手段と、前記4つの代表点の1つを、前記4つの代表点を頂点とする四角形の最も短い辺およびその次に短い辺が共有するか否かを判断する手段と、前記共有する代表点が存在した場合には、前記共有する代表点と、これに対向する代表点を通る直線の傾きに基づいて、前記操作物の傾きを算出し、前記共有する代表点が存在しない場合には、前記四角形の最も短い辺の中心と、前記四角形の次に短い辺の中心を通る直線の傾きに基づいて、前記操作物の傾きを算出する手段と、を含む。
この構成によれば、エンタテインメント・システムにおいて、簡易かつ的確に、操作物の傾きを検出することができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
図1は、本発明の実施の形態によるゲームシステムの全体構成を示すブロック図である。図1に示すように、このゲームシステムは、ゲーム機1、操作物11、及びテレビジョンモニタ7を備える。
ここで、本実施の形態では、プレイヤ17が操作物11を操作して、テレビジョンモニタ7に映し出された敵オブジェクトを斬り倒すゲームを例に挙げるので、以下、操作物11を「剣11」と呼ぶ。
剣11は、基端から先端へ向かって徐々に細くなるような円柱状に形成される。そして、剣11は、プレイヤ17に把持されるグリップ部13、及び再帰反射シート15が取り付けられた刀身部からなる。再帰反射シート15は、剣11の刀身部の表面全体にわたって取り付けられる。
ゲーム機1は、A/Vケーブル9により、テレビジョンモニタ7に接続される。さらに、ゲーム機1には、図示していないが、ACアダプタあるいは電池により電源電圧が供給される。
ゲーム機1は、その前面側に、赤外光のみを透過する赤外線フィルタ5が設けられ、さらに、赤外線フィルタ5を囲むように、赤外光を発生する4つの赤外発光ダイオード3が露出している。赤外線フィルタ5の背面側には、後述のイメージセンサ19が配置される。
4つの赤外発光ダイオード3は、間欠的に赤外光を発光する。そして、赤外発光ダイオード3からの赤外光は、剣11に取り付けられた再帰反射シート15により反射され、赤外線フィルタ5の背面側に設けられたイメージセンサ19に入力される。このようにして、イメージセンサ19により、剣11が撮影される。赤外光は間欠的に照射されるところ、赤外光の消灯時においても、イメージセンサ19による撮影処理は行われている。ゲーム機1は、プレイヤ17により動かされた剣11の、赤外光点灯時の画像信号と消灯時の画像信号との差分を求めて、この差分信号を基に、剣11の位置、面積、及び傾き等を検出する。
図2は、図1のゲーム機1の電気的構成を示す図である。図2に示すように、ゲーム機1は、イメージセンサ19、赤外発光ダイオード3、高速プロセッサ21、ROM(readonlymemory)23、及びバス25を含む。
剣11は、赤外発光ダイオード3の赤外光に照射され、その赤外光を再帰反射シート15で反射する。この再帰反射シート15からの反射光がイメージセンサ19によって撮影され、したがって、イメージセンサ19からは再帰反射シート15の画像信号が出力される。イメージセンサ19からのこのアナログ画像信号は高速プロセッサ21に内蔵されたA/Dコンバータ(図示せず)によってデジタルデータに変換される。赤外光消灯時も同様の処理が行われる。このようなストロボ撮影のために、高速プロセッサ21は、赤外発光ダイオード3を間欠的に点滅する。
高速プロセッサ21は、図示しないが、CPU(centralprocessingunit)、グラフィックプロセッサ、サウンドプロセッサおよびDMAコントローラ等の各種機能ブロックを含むとともに、アナログ信号を取り込むときに用いられる上記A/Dコンバータや、外部の電子回路や電子部品等から入力信号を受け、かつ出力信号をそれらに与える入出力制御回路を含む。イメージセンサ19や赤外発光ダイオード3は、入出力制御回路を介してCPUにより制御される。CPUは、ROM23に格納されたゲームプログラムを実行し、各種演算を行う。グラフィックプロセッサやサウンドプロセッサは、CPUによる演算結果に従って、ROM23に格納された画像データや音声データを読み込んで、ビデオ信号やオーディオ信号を生成し、A/Vケーブル9に出力する。
さらに、高速プロセッサ21には、図示しないが内部メモリが設けられ、この内部メモリは、例えば、RAM(randomaccessmemory)により構成される。内部メモリは、ワーキング領域、カウンタ領域、レジスタ領域、テンポラリデータ領域、及び/又はフラグ領域等として利用される。
高速プロセッサ21は、イメージセンサ19からA/Dコンバータを介して入力されるデジタル画像信号を処理して、剣11の位置、面積、及び傾き等を検出するとともに、他の演算、グラフィック処理、及びサウンド処理等を実行し、ビデオ信号およびオーディオ信号を生成する。ビデオ信号およびオーディオ信号は、A/Vケーブル9によりテレビジョンモニタ7に与えられ、応じて、テレビジョンモニタ7に映像が表示され、そのスピーカ(図示せず)から音声が出力される。
図3は、図1のゲーム機1の全体の処理の流れの一例を示すフローチャートである。図3に示すように、ステップS1にて、高速プロセッサ21は、システムの初期設定を実行する。ステップS2にて、高速プロセッサ21は、赤外発光ダイオード3を駆動して、剣11の撮影処理を行う。
図4は、図3のステップS2の撮影処理の流れの一例を示すフローチャートである。図4に示すように、ステップS20において、高速プロセッサ21は、赤外発光ダイオード3を点灯する。ステップS21で、高速プロセッサ21は、イメージセンサ19から、赤外光点灯時の画像データを取得して、内部メモリに格納する。
ここで、本実施の形態では、イメージセンサ19の例として、32ピクセル × 32ピクセルのCMOSイメージセンサを使用する。従って、イメージセンサ19からは、画像データとして、32ピクセル × 32ピクセルのピクセルデータが出力される。このピクセルデータは、A/Dコンバータにより、デジタルデータに変換されて、内部メモリ上の二次元配列P1[X][Y]に格納される。
ステップS22で、高速プロセッサ21は、赤外発光ダイオード3を消灯する。ステップS23にて、高速プロセッサ21は、イメージセンサ19から、赤外光消灯時の画像データ(32ピクセル × 32ピクセルのピクセルデータ)を取得して、内部メモリに格納する。この場合、このピクセルデータは、内部メモリ上の二次元配列P2[X][Y]に格納される。
以上のようにして、ストロボ撮影が行われる。ここで、イメージセンサ19による画像を構成する各ピクセルの位置を表す二次元座標系では、水平方向をX軸、垂直方向をY軸とする。そして、1ピクセルを座標値の1単位とする。本実施の形態では、32ピクセル × 32ピクセルのイメージセンサ19を用いているため、X=0〜31、Y=0〜31である。また、ピクセルデータは輝度値である。
図3に戻って、ステップS3にて、高速プロセッサ21は、赤外発光ダイオード3の点灯時のピクセルデータ(つまり配列P1[X][Y]の要素)と、赤外発光ダイオード3の消灯時のピクセルデータ(つまり配列P2[X][Y]の要素)と、の差分を算出して、差分データを二次元配列Dif[X][Y]に代入する。
このように、差分データ(つまり差分画像)を求めることで、剣11(つまり再帰反射シート15)からの反射光以外の光によるノイズを極力除去でき、精度良く剣11を検出できる。この差分画像を構成する各ピクセルの位置を表す座標系は、イメージセンサ19による画像を構成する各ピクセルの位置を表す座標系と同じである。
ここで、配列P1[X][Y]の要素(つまり点灯時のピクセルデータ)をピクセルデータP1[X][Y]、配列P2[X][Y]の要素(つまり消灯時のピクセルデータ)をピクセルデータP2[X][Y]、及び配列Dif[X][Y]の要素(つまり差分データ)を差分データDif[X][Y]と表記することもある。
ステップS4では、高速プロセッサ21は、ステップS3で求めた配列Dif[X][Y]の各要素を2値化するための閾値ThBを算出する。具体的には、高速プロセッサ21は、配列Dif[X][Y]の全要素から、最大輝度値を示す要素(差分データ)を検出して、最大輝度値に所定値(例えば0.6)を乗算し、その結果を今回の閾値ThBとする。図3から明らかなように、このような閾値ThBの計算は、テレビジョンモニタ7の表示画面を更新するたびに毎回実行される。
図5は、図3のステップS4で算出した閾値ThBによる2値化画像の概念図である。図5に示すように、配列Dif[X][Y]の全要素を閾値ThBにより2値化すると、2値化画像27(32ピクセル × 32ピクセル)を得ることができる。2値化画像27には、剣11に取り付けられた再帰反射シート15の像IMが写っている。ただし、後述のフローチャートで明らかになるが、本実施の形態では、配列Dif[X][Y]の各要素と閾値ThBとの比較処理を行いながら各処理を実行するので、実際には図5のような2値化画像27の生成は行わない。なお、2値化画像を構成する各ピクセルの位置を表す座標系は、イメージセンサ19による画像を構成する各ピクセルの位置を表す座標系と同じである。座標原点Oは図に示したとおりである。
図3に戻って、ステップS5の詳細を説明する前に、そこでの処理の概要を説明する。ステップS5では、再帰反射シート15の像IMの、上端点の座標(XU,YU)、下端点の座標(XB,YB)、左端点の座標(XL,YL)、及び右端点の座標(XR,YR)を求める。上端点、下端点、左端点、及び右端点をそれぞれ、端点と呼ぶこともある。
上端点とは、最も小さいY座標を持つ、像IMを構成する単数または複数のピクセルを意味する。下端点とは、最も大きいY座標を持つ、像IMを構成する単数または複数のピクセルを意味する。左端点とは、最も小さいX座標を持つ、像IMを構成する単数または複数のピクセルを意味する。右端点とは、最も大きいX座標を持つ、像IMを構成する単数または複数のピクを意味する。
上端点が1つの場合は、当該上端点の座標を、上端点の座標(XU,YU)とし、上端点が複数存在する場合は、その中点を上端点の座標(XU,YU)とする。下端点が1つの場合は、当該下端点の座標を、下端点の座標(XB,YB)とし、下端点が複数存在する場合は、その中点を下端点の座標(XB,YB)とする。左端点が1つの場合は、当該左端点の座標を、左端点の座標(XL,YL)とし、左端点が複数存在する場合は、その中点を左端点の座標(XL,YL)とする。右端点が1つの場合は、当該右端点の座標を、右端点の座標(XR,YR)とし、右端点が複数存在する場合は、その中点を右端点の座標(XR,YR)とする。これらのことを図面を用いて説明する。
図6は、図3のステップS5の上下左右端の座標算出処理の説明図である。図6において、再帰反射シート15の像IMを構成する各矩形は、1つのピクセルに対応している。例えば、図6(a)に示すように、高速プロセッサ21は、像IMの、矢印UAが示すピクセルの座標を上端点の座標(XU,YU)、矢印BAが示すピクセルの座標を下端点の座標(XB,YB)、矢印LAが示すピクセルの座標を左端点の座標(XL,YL)、及び矢印RAが示すピクセルの座標を右端点の座標(XR,YR)とする。
また、例えば、図6(b)に示すように、高速プロセッサ21は、像IMの、上端点が複数存在する場合は、それらの中点である矢印UAが示すピクセルの座標を上端点の座標(XU,YU)とし、左端点が複数存在する場合は、それらの中点である矢印LAが示すピクセルの座標を左端点の座標(XL,YL)とする。
図7は、図3のステップS5の上下左右端の座標算出処理の流れの一例を示すフローチャートである。図7に示すように、高速プロセッサ21は、変数X,Y,maxX,maxY,XL,YL,XR,YR,XU,YU,XB,YB,Ca,Cl,Cr,Cu及びCbに「0」を代入する。また、変数minX,minYに「31」を代入する。
ステップS31にて、高速プロセッサ21は、配列Dif[X][Y]の要素を所定の閾値ThBと比較する。ステップS32にて、高速プロセッサ21は、配列Dif[X][Y]の要素が所定の閾値ThBより大きい場合は、ステップS33に進み、所定の閾値ThB以下の場合は、ステップS38に進む。
つまり、ステップS31及びS32の処理は、再帰反射シート15が撮影されたか否かを検出するための処理である。再帰反射シート15が撮影されると、配列Dif[X][Y]に基づく差分画像上では、再帰反射シート15に相当するピクセルの輝度値が大きくなるため、閾値ThBにより、輝度値の大小を峻別して、閾値ThBより大きい輝度値を持つピクセルを、撮影された再帰反射シート15の一部であると認識する。
ステップS33にて、高速プロセッサ21は、所定の閾値ThBを超えた配列Dif[X][Y]の要素の数を計数すべく、カウント値Caを1つインクリメントする。後述のステップS42で、X=32と判断された時点でのカウント値Ca、つまり、差分画像の全ピクセルについて、ステップS31〜S42の処理が終了した時点でのカウント値Caは、閾値ThBを超えた輝度値を持つピクセルの数であり、再帰反射シート15の差分画像上の面積に相当する。
ステップS34にて、高速プロセッサ21は、再帰反射シート15の像IMの左端点の座標(XL,YL)を算出する。
図8は、図7のステップS34の左端座標算出処理の流れの一例を示すフローチャートである。図8に示すように、ステップS50にて、高速プロセッサ21は、最小X座標minXと座標Xとを比較する。ステップS51にて、高速プロセッサ21は、XがminX以下であれば、ステップS52に進み、それ以外は、図7のステップS35に進む。
ステップS52にて、高速プロセッサ21は、minXにXを代入して、新たなminXとする。ステップS53にて、新たなminXと、直前のminX(つまりステップS52の処理を行う前のminX)と、を比較して、両者が同一か否かを判断し、同一であれば(ステップS51でminX=X)、ステップS56に進み、異なれば(ステップS51でminX>X)、ステップS54に進む。ステップS54では、高速プロセッサ21は、変数YLに「0」を代入し、ステップS55で、X座標が同一のminXであるピクセルの数を示すカウント値Clに「0」を代入して、ステップS56に進む。
ステップS56では、高速プロセッサ21は、カウント値Clを1つインクリメントする。ステップS57にて、高速プロセッサ21は、変数XLにminXを代入して、変数XLの新たな値を得るとともに、変数YLにYを加算して、変数YLの新たな値を得る。変数YLの値は、X座標が同一のminXであるピクセルのY座標の合計値となる。
図7に戻って、ステップS35にて、高速プロセッサ21は、再帰反射シート15の像IMの右端点の座標(XR,YR)を算出する。
図9は、図7のステップS35の右端座標算出処理の流れの一例を示すフローチャートである。図9に示すように、ステップS60にて、高速プロセッサ21は、最大X座標maxXと座標Xとを比較する。ステップS61にて、高速プロセッサ21は、XがmaxX以上であれば、ステップS62に進み、それ以外は、図7のステップS36に進む。
ステップS62にて、高速プロセッサ21は、maxXにXを代入して、新たなmaxXとする。ステップS63にて、新たなmaxXと、直前のmaxX(つまりステップS62の処理を行う前のmaxX)と、を比較して、両者が同一か否かを判断し、同一であれば(ステップS61でmaxX=X)、ステップS66に進み、異なれば(ステップS61でmaxX<X)、ステップS64に進む。
ステップS64では、高速プロセッサ21は、変数YRに「0」を代入し、ステップS65で、X座標が同一のmaxXであるピクセルの数を示すカウント値Crに「0」を代入して、ステップS66に進む。
ステップS66では、高速プロセッサ21は、カウント値Crを1つインクリメントする。ステップS67にて、高速プロセッサ21は、変数XRにmaxXを代入して、変数XRの新たな値を得るとともに、変数YRにYを加算して、変数YRの新たな値を得る。変数YRの値は、X座標が同一のmaxXであるピクセルのY座標の合計値となる。
図7に戻って、ステップS36にて、高速プロセッサ21は、再帰反射シート15の像IMの上端点の座標(XU,YU)を算出する。
図10は、図7のステップS36の上端座標算出処理の流れの一例を示すフローチャートである。図10に示すように、ステップS70にて、高速プロセッサ21は、最小Y座標minYと座標Yとを比較する。ステップS71にて、高速プロセッサ21は、YがminY以下であれば、ステップS72に進み、それ以外は、図7のステップS37に進む。
ステップS72にて、高速プロセッサ21は、minYにYを代入して、新たなminYとする。ステップS73にて、新たなminYと、直前のminY(つまりステップS72の処理を行う前のminY)と、を比較して、両者が同一か否かを判断し、同一であれば(ステップS71でminY=Y)、ステップS76に進み、異なれば(ステップS71でminY>Y)、ステップS74に進む。
ステップS74では、高速プロセッサ21は、変数XUに「0」を代入し、ステップS75で、Y座標が同一のminYであるピクセルの数を示すカウント値Cuに「0」を代入して、ステップS76に進む。
ステップS76では、高速プロセッサ21は、カウント値Cuを1つインクリメントする。ステップS77にて、高速プロセッサ21は、変数XUにXを加算して、変数XUの新たな値を得るとともに、変数YUにminYを代入して、変数YUの新たな値を得る。変数XUの値は、Y座標が同一のminYであるピクセルのX座標の合計値となる。
図7に戻って、ステップS37にて、高速プロセッサ21は、再帰反射シート15の像IMの下端点の座標(XB,YB)を算出する。
図11は、図7のステップS37の下端座標算出処理の流れの一例を示すフローチャートである。図11に示すように、ステップS80にて、高速プロセッサ21は、最大Y座標maxYと座標Yとを比較する。ステップS81にて、高速プロセッサ21は、YがmaxY以上であれば、ステップS82に進み、それ以外は、図7のステップS38に進む。
ステップS82にて、高速プロセッサ21は、maxYにYを代入して、新たなmaxYとする。ステップS83にて、新たなmaxYと、直前のmaxY(つまりステップS82の処理を行う前のmaxY)と、を比較して、両者が同一か否かを判断し、同一であれば(ステップS81でmaxY=Y)、ステップS86に進み、異なれば(ステップS81でmaxY<Y)、ステップS84に進む。
ステップS84では、高速プロセッサ21は、変数XBに「0」を代入し、ステップS85で、Y座標が同一のmaxYであるピクセルの数を示すカウント値Cbに「0」を代入して、ステップS86に進む。
ステップS86では、高速プロセッサ21は、カウント値Cbを1つインクリメントする。ステップS87にて、高速プロセッサ21は、変数XBにXを加算して、変数XBの新たな値を得るとともに、変数YBにmaxYを代入して、変数YBの新たな値を得る。変数XBの値は、Y座標が同一のmaxYであるピクセルのX座標の合計値となる。
図7に戻って、ステップS38にて、高速プロセッサ21は、差分画像上の処理中のピクセルのY座標を示す変数Yを1つインクリメントする。ステップS39にて、高速プロセッサ21は、変数Yの値が「32」になったか否かを判断し、「YES」の場合はステップS40に進み、「NO」の場合はステップS31に進む。ステップS39でY=32ということは、差分画像の一列分のピクセルについて、ステップS31〜S37の処理が完了したことを意味する。
高速プロセッサ21は、ステップS40にて、変数Yに「0」を代入し、ステップS41にて、差分画像上のピクセルのX座標を示す変数Xを1つインクリメントする。これらの処理により、次の一列分のピクセルについて、ステップS31〜S37の処理が実行される。
ステップS42にて、高速プロセッサ21は、変数Xの値が「32」になったか否かを判断し、「YES」の場合はステップS43に進み、「NO」の場合はステップS31に進む。ステップS42でX=32ということは、差分画像の全ピクセル(32 × 32ピクセル)について、ステップS31〜S37の処理が完了したことを意味する。
ステップS43にて、高速プロセッサ21は、変数YLにYL/Clを代入して、変数YLの新たな値を取得し(式(1))、変数YRにYR/Crを代入して、変数YRの新たな値を取得し(式(2))、変数XUにXU/Cuを代入して、変数XUの新たな値を取得し(式(3))、変数XBにXB/Cbを代入して、変数XBの新たな値を取得する(式(4))。
YL=YL/Cl …(1)
YR=YR/Cr …(2)
XU=XU/Cu …(3)
XB=XB/Cb …(4)
以上のようにして、高速プロセッサ21は、左端点の座標(XL,YL)、右端点の座標(XR,YL)、上端点の座標(XU,YU)、および下端点の座標(XB,YB/Cb)を取得する。
ステップS44にて、高速プロセッサ21は、次式により、像IMの上下左右端の中心(以下、「注目点」と呼ぶ。)の座標(Xc,Yc)を求め、メインルーチンにリターンする。
Xc=(XL+XR)/2 …(5)
Yc=(YU+YB)/2 …(6)
図3に戻って、ステップS6にて、高速プロセッサ21は、剣軌跡オブジェクトをテレビジョンモニタ7に表示するための条件が満たされたか否かを判断する。剣軌跡オブジェクトは、剣11の実空間での移動軌跡(斬り跡)をテレビジョンモニタ7上で表現するための帯状のオブジェクト(後述の図22参照)である。剣軌跡オブジェクトをテレビジョンモニタ7に出現させるための上記条件は、剣11が、一定速さを超える速さで振られたことである。
図12は、図3のステップS6の剣軌跡の出現可否の判定処理の流れの一例を示すフローチャートである。図12に示すように、ステップS90にて、高速プロセッサ21は、剣軌跡オブジェクトをテレビジョンモニタ7に表示するための条件が満たされているか否かを示す剣フラグをチェックして、剣フラグがオンならば(当該条件満足)、ステップS91に進み、オフならば、ステップS98に進む。
ステップS98では、高速プロセッサ21は、今回及び前回の注目点(Xc,Yc)の存否をチェックして、双方の注目点が存在する場合は、速度ベクトルの計算が可能であるため、ステップS99に進み、それ以外は、ステップS103に進んで、剣フラグをオフにし、メインルーチンにリターンする。
ステップS99では、今回のステップS44で求めた注目点を終点とし、前回のステップS44で求めた注目点を始点とした速度ベクトルv(今回の注目点のX座標−前回の注目点のX座標,今回の注目点のY座標−前回の注目点のY座標)を算出する。ステップS100にて、高速プロセッサ21は、剣11の速度ベクトルvの絶対値|v|、つまり剣11の速さ|v|を算出する。
ステップS101にて、高速プロセッサ21は、剣11の速さ|v|が閾値ThVを超えているか否かを判断し(剣軌跡オブジェクトをテレビジョンモニタ7に表示するための条件)、超えている場合はステップS102に進み、それ以外はステップS103に進んで、剣フラグをオフにし、メインルーチンにリターンする。一方、ステップS102では、高速プロセッサ21は、剣フラグをオンにして、メインルーチンにリターンする。
ただし、剣フラグがオンになれば、直ちに次のビデオフレームで、剣軌跡オブジェクトを表示するわけではなく、ステップS91〜S97の処理に従うことになる。剣フラグがオンであれば、高速プロセッサ21は、ステップS90からステップS91に進み、今回の注目点の存否をチェックし、存在する場合はステップS92に進み、存在しない場合はステップS94に進む。
ステップS92では、今回のステップS44で求めた注目点を終点とし、前回のステップS99で求めた速度ベクトルvの始点を始点として、新たに速度ベクトルvを算出する。ステップS93にて、高速プロセッサ21は、テレビジョンモニタ7に現在表示中のビデオフレームが、剣フラグがオンになった時点で表示されていたビデオフレームから4フレーム目か否かを判断して、4フレーム目であればステップS95に進み、それ以外はメインルーチンにリターンする。なお、剣フラグがオンになった時点で表示されていたビデオフレームを0フレーム目とする。
一方、ステップS94では、高速プロセッサ21は、テレビジョンモニタ7に現在表示中のビデオフレームが、剣フラグがオンになった時点で表示されていたビデオフレームから1フレーム目か否かを判断して、1フレーム目であればメインルーチンにリターンし、それ以外はステップS95に進む。
ステップS95では、高速プロセッサ21は、テレビジョンモニタ7に現在表示中のビデオフレームの次のビデオフレームで、最新の速度ベクトルvに応じた剣軌跡オブジェクトを表示することを示す軌跡フラグをオンにする。
ここで、ステップS95の前にステップS93の処理を行うことにより、最大で6フレーム分の注目点から速度ベクトルvが算出されることになる。なぜなら、剣フラグがオンになった時点では、2フレーム分の注目点により速度ベクトルvを算出しており(ステップS99参照)、また、ステップS90で最初に「YES」が判断されたときは、剣フラグがオンになった時点で表示されていたビデオフレームから1フレーム目だからである。
一方、ステップS95の前にステップS94の処理を行うことにより、剣フラグがオンになった時点で表示されていたビデオフレームから1フレーム目以降では(ステップS94で「NO」)、今回の注目点が存在しなければ、4フレーム目でなくとも(ステップS93参照)、軌跡フラグがオンされる。剣フラグがオンになった時点で表示されていたビデオフレームから1フレーム目では(ステップS94で「YES」)、今回の注目点が存在しなければ、軌跡フラグがオンされるとこはなく、メインルーチンにリターンする。
さて、ステップS96では、高速プロセッサ21は、剣フラグをオフにする。ステップS97にて、高速プロセッサ21は、速度ベクトルvの方向を8つの方向d0〜d7のいずれかに分類して、分類結果に応じた値を剣方向フラグにセットして、メインルーチンにリターンする。ステップS97での速度ベクトルvの方向の分類について詳しく説明する。
図13は、図2の高速プロセッサ21が判断する剣11の方向の説明図である。図13において、方向d0及びd4と、差分画像のX軸は平行であり、方向d2及びd6と、差分画像のY軸は平行である。図13に示すように、360度を均等に8分割して、各々45度の8つの角度範囲を想定し、それぞれの範囲に、方向d0〜d7のうちの1つを割り当てている。従って、剣11の速度ベクトルvの方向が属する角度範囲に割り当てられた方向に応じた値が剣方向フラグにセットされる。例えば、速度ベクトルvの方向が、方向d5が割り当てられた角度範囲に属するときは、方向d5に応じた値が、剣方向フラグにセットされる。
図3に戻って、ステップS7では、高速プロセッサ21は、帯状の盾オブジェクトをテレビジョンモニタ7に表示するための条件が満たされたか否かを判断する。盾オブジェクトをテレビジョンモニタ7に出現させるための上記条件は、剣11の差分画像上の面積が一定値を超えてから、剣11の注目点が、一定期間同じ領域に留まっていることである。
図14は、図3のステップS7の盾の出現可否の判定処理の流れの一例を示すフローチャートである。図14に示すように、ステップS110にて、高速プロセッサ21は、再帰反射シート15の差分画像上の面積に相当するカウント値Caと、閾値ThAと、を比較する。ステップS111にて、高速プロセッサ21は、カウント値Ca(つまり再帰反射シート15の差分画像上の面積)が閾値ThAより大きい場合は、ステップS114に進み、それ以外は、ステップS112に進む。
ステップS114では、高速プロセッサ21は、盾オブジェクトをテレビジョンモニタ7に表示するための条件が満たされているか否かを示す盾フラグの状態を判断し、オフの場合はステップS115に進み、オンの場合はメインルーチンにリターンする。ステップS115にて、高速プロセッサ21は、剣11の注目点が、後述の矩形領域Arに留まっている期間をフレーム数で示すカウント値Csをチェックし、このカウント値Csが「0」であれば、ステップS116に進み、それ以外は、ステップS118に進む。
ステップS116では、高速プロセッサ21は、剣11の注目点(Xc,Yc)を中心とした矩形領域Arを設定する。この矩形領域Arは、カウント値Csが「0」になるたびに更新される(ステップS115及びS116)。ステップS117にて、高速プロセッサ21は、カウント値Csを1つインクリメントして、メインルーチンにリターンする。
一方、ステップS118では、高速プロセッサ21は、矩形領域Arに、注目点が存在するか否かを判断し、存在する場合は、ステップS119に進み、それ以外は、ステップS123に進む。
ステップS119では、高速プロセッサ21は、カウント値Csを1つインクリメントする。ステップS120にて、高速プロセッサ21は、カウント値Csが所定値(例えば、「3」)と等しくなったか否かを判断し、等しい場合はステップS121に進み、それ以外は、メインルーチンにリターンする。
ステップS121では、高速プロセッサ21は、盾フラグをオンにし、ステップS122で、カウント値Csに「0」を代入して、メインルーチンにリターンする。
一方、ステップS112では、面積を示すカウント値Caが閾値ThAを超えていないので、カウント値Csに「0」を代入し、ステップS113で、盾フラグをオフにして、メインルーチンにリターンする。
また、ステップS123では、注目点が矩形領域Arに留まっていないので、カウント値Csに「0」を代入し、ステップS124で、盾フラグをオフにして、メインルーチンにリターンする。
ここで、盾フラグが一旦オンになると(ステップS121)、注目点の位置に関係なく、ステップS114により、面積が閾値ThA以下になるまで、盾フラグのオンが維持される。
図3に戻って、ステップS8〜S10において、剣11の傾きを判定するための前処理が実行される。まず、ステップS10で使用する第3ルールを説明する。傾き判定の第3ルールは、上端点、下端点、左端点、及び右端点を頂点とする四角形の四辺のうち、最も短い辺およびその次に短い辺が、4つの端点のうちのいずれかを共有しているときは、共有されている端点およびその端点に対向する端点の座標を、剣11の傾き判定のための座標として設定する。一方、最も短い辺およびその次に短い辺が、端点を共有していないときは、その最も短い辺の中点及びその次に短い辺の中点の座標を、剣11の傾き判定のための座標として設定する。このような第3ルールを例を挙げて説明する。
図15は、本実施の形態による傾き判定のための第3ルールの説明図である。図15(a)の例では、上端点up、下端点bp、左端点lp、及び右端点rpを頂点とする四角形の四辺s1〜s4のうち、最も短い辺s1およびその次に短い辺s2が、1つの端点lpを共有しているので、共有されている端点lpおよびその端点lpに対向する端点rpの座標が、剣11の傾き判定のための座標として設定される。従って、後述の図3のステップS11では、この端点lp及びrpを通る直線SLの傾きに基づいて剣11の傾きを決定する。図15(b)の例では、最も短い辺s1およびその次に短い辺s3が、いずれの端点up,bp,lp及びrpも共有していないので、その最も短い辺s1の中点p1及びその次に短い辺s3の中点p2の座標が、剣11の傾き判定のための座標として設定される。従って、後述の図3のステップS11では、この中点p1及びp2を通る直線SLの傾きに基づいて剣11の傾きを決定する。
ただし、この第3ルールだけでは、不都合が発生する場合があるので、第1ルール及び第2ルールが設けられている。つまり、まず、第1ルールの適用の可否が判断され、それが適用されるのであれば、第1ルールに基づく傾き判定が実行され、不適用の場合は、次に、第2ルールの適用の可否が判断され、それが適用される場合は、第2ルールに基づく傾き判定が実行され、不適用の場合は、次に、第3ルールに基づく傾き判定が実行される。
図16は、本実施の形態による傾き判定の第1ルールの説明図である。図16に示すように、第1ルールは、上端点upのX座標及び下端点bpのX座標が同一であり、かつ、左端点lpのY座標及び右端点rpのY座標が同一である場合に適用される。そして、左端点lpと右端点rpとを結ぶ直線SHの長さHと、上端点upと下端点bpとを結ぶ直線SVの長さVと、の比、つまり、H/Vが、「1」より大きいか否かにより、剣11の傾き判定のための座標を設定する。つまり、H/Vが、「1」より大きい場合は、左端点lp及び右端点rpの座標が、剣11の傾き判定のための座標として設定される。従って、後述の図3のステップS11では、この左端点lp及び右端点rpを通る直線SLの傾きに基づいて剣11の傾きを決定する。一方、H/Vが、「1」より大きくない場合(図16のような場合)は、上端点up及び下端点bpの座標が、剣11の傾き判定のための座標として設定される。従って、後述の図3のステップS11では、この上端点up及び下端点bpを通る直線SLの傾きに基づいて剣11の傾きを決定する。
仮に、図16のような端点up,bp,lp及びrpが得られた場合に、第3ルールを適用すると、最も短い辺s1およびその次に短い辺s4が、1つの端点rpを共有しているので、共有されている端点rpおよびその端点rpに対向する端点lpを通る直線SL(図16で直線SH)の傾きが剣11の傾きとみなされる。この場合、図から明らかなように、実際の剣11の傾きと異なってくる。
図17は、本実施の形態による傾き判定の第2ルールの説明図である。図17(a)に示すように、第2ルールは、左端点lpのX座標と右端点rpのX座標との差の絶対値Hと、上端点upのY座標と下端点bpのY座標との差の絶対値Vと、の比、つまり、H/Vが、所定値HV1(例えば、3/2)より大きい場合、あるいは、所定値HV2(例えば、2/3)より小さい場合に適用される。なお、HV1=1/HV2である。
比H/Vが、所定値HV1より大きい場合は、左端点lp及び右端点rpの座標が、剣11の傾き判定のための座標として設定される。従って、後述の図3のステップS11では、この左端点lp及び右端点rpを通る直線SLの傾きに基づいて剣11の傾きを決定する。一方、比H/Vが、所定値HV2より小さい場合は、上端点up及び下端点bpの座標が、剣11の傾き判定のための座標として設定される。従って、後述の図3のステップS11では、この上端点up及び下端点bpを通る直線SLの傾きに基づいて剣11の傾きを決定する。
仮に、図17(a)のような端点up,bp,lp及びrpが得られた場合に、第3ルールを適用すると、図17(b)に示すように、最も短い辺s1およびその次に短い辺s3が、いずれの端点up,bp,lp及びrpも共有していないので、その最も短い辺s1の中点及びその次に短い辺s3の中点を通る直線SLの傾きが剣11の傾きとみなされる。そうすると、図17(a)から明らかなように、実際の剣11の傾きと異なってくる。なお、図17の例では、第1ルールが適用されないことは明らかである。
図18は、図3のステップS8の第1ルールによる前処理の流れの一例を示すフローチャートである。図18に示すように、ステップS130にて、高速プロセッサ21は、盾フラグの状態をチェックして、オンであればステップS131に進み、オフであれば図3のステップS11に進む。
ステップS131では、高速プロセッサ21は、上端点のX座標XUと下端点のX座標XBとが一致するか否かを判断し、不一致の場合はメインルーチンにリターンし、一致する場合は、ステップS132に進む。
ステップS132では、高速プロセッサ21は、左端点のY座標YLと右端点のY座標YRとが一致するか否かを判断し、不一致の場合はメインルーチンにリターンし、一致する場合は、ステップS133に進む。以上のように、ステップS131及びS132により、第1ルールの適用の可否が判定される。
ステップS133では、高速プロセッサ21は、次式により、左端点のX座標XLと右端点のX座標XRとの間の距離(つまり幅H)及び上端点のY座標YUと下端点のY座標YBとの間の距離(つまり高さV)を求める。
H=XR−XL …(7)
V=YB−YU …(8)
ステップS134にて、高速プロセッサ21は、H/Vを算出する。ステップS135にて、高速プロセッサ21は、H/Vが「1」より大きいか否かを判定し、大きい場合はステップS136に進み、それ以外はステップS137に進む。
ステップS136では、高速プロセッサ21は、左端点及び右端点の座標を、剣11の傾きを決定するための座標として、内部メモリにセットし、図3のステップS11に進む。一方、ステップS137では、高速プロセッサ21は、上端点及び下端点の座標を、剣11の傾きを決定するための座標として、内部メモリにセットし、図3のステップS11に進む。
図19は、図3のステップS9の第2ルールによる前処理の流れの一例を示すフローチャートである。図19に示すように、ステップS140にて、高速プロセッサ21は、式(7)及び式(8)により、左端点のX座標XLと右端点のX座標XRとの間の距離(つまり幅H)及び上端点のY座標YUと下端点のY座標YBとの間の距離(つまり高さV)を求める。
ステップS141にて、高速プロセッサ21は、H/Vを算出する。ステップS142にて、高速プロセッサ21は、H/Vが所定値HV1より大きいか否かを判定し、大きい場合は、ステップS143に進み、それ以外はステップS144に進む。ステップS144では、高速プロセッサ21は、H/Vが所定値HV2より小さいか否かを判定し、小さい場合はステップS145に進み、それ以外はメインルーチンにリターンする。以上のように、ステップS142及びS144において、第2ルールの適用の可否が判断される。
ステップS143では、高速プロセッサ21は、左端点及び右端点の座標を、剣11の傾きを決定するための座標として、内部メモリにセットし、図3のステップS11に進む。一方、ステップS145では、高速プロセッサ21は、上端点及び下端点の座標を、剣11の傾きを決定するための座標として、内部メモリにセットし、図3のステップS11に進む。
図20は、図3のステップS10の第3ルールによる前処理の流れの一例を示すフローチャートである。図20に示すように、ステップS150にて、高速プロセッサ21は、上端点up、下端点bp、左端点lp、及び右端点rpを頂点とする四角形の四辺s1〜s4の長さを算出する。ステップS151にて、高速プロセッサ21は、四辺のうち、最も短い辺およびその次に短い辺が、1つの端点を共有しているか否かを判定する。
ステップS152にて、高速プロセッサ21は、1つの端点を共有している場合はステップS153に進み、それ以外はステップS154に進む。ステップS153では、共有されている端点およびその端点に対向する端点の座標を、剣11の傾きを決定するための座標として、内部メモリにセットし、メインルーチンにリターンする。一方、ステップS154では、最も短い辺およびその次に短い辺が、いずれの端点も共有していないので、その最も短い辺の中点及びその次に短い辺の中点の座標を、剣11の傾きを決定するための座標として、内部メモリにセットし、メインルーチンにリターンする。
図3に戻って、ステップS11にて、高速プロセッサ21は、ステップS8〜S10で内部メモリにセットされた2点の座標(ステップS136,S137,S143,S145,S153,S154)を通る直線SLの傾きを算出する。そして、高速プロセッサ21は、算出した直線SLの傾きを、傾きa0〜a7のいずれかに分類し、盾傾斜フラグを、その分類結果に応じた値にセットする。
図21は、図2の高速プロセッサ21が判断する剣11の傾きの説明図である。図21において、傾きa0は、差分画像のX軸に平行であり、傾きa4は、差分画像のY軸に平行である。図21に示すように、本実施の形態では、剣11の傾きを表す直線SLの傾きを、傾きa0〜a7のいずれかに分類する。つまり、傾きa0〜a7のそれぞれを基準として、時計回りに11.25度及び反時計回りに11.25度の角度範囲を想定し、22.5度の角度範囲を8個定義し、いずれの角度範囲に直線SLの傾きが属するかを判定し、直線SLの傾きが属する角度範囲の基準となった傾きを、剣11の傾きとする。例えば、直線SLの傾きが、傾きa0を基準とする角度範囲に属する場合は、剣11の傾きを傾きa0に分類する。
図3に戻って、ステップS12にて、高速プロセッサ21は、ステップS3〜S11の処理結果を利用した情報処理を実行する。この場合の情報処理のうち、画像表示に関する処理について説明する。
高速プロセッサ21は、軌跡フラグ(図12のステップS95参照)がオンの場合は、剣方向フラグにセットされた値に応じた剣軌跡オブジェクトの格納位置情報を内部メモリに格納する。さらに、この場合、高速プロセッサ21は、剣方向フラグにセットされた値に応じた剣軌跡オブジェクトが、最新の注目点の座標(Xc,Yc)をスクリーン座標系に変換した座標(xc,yc)を通るように、スクリーン座標系の剣軌跡オブジェクトの座標を算出する。ここで、テレビジョンモニタ7への実際の表示に用いられる二次元座標系をスクリーン座標系と呼ぶ。
また、高速プロセッサ21は、軌跡フラグがオフの場合であって、かつ、盾フラグがオンの場合に、盾傾斜フラグにセットされた値に応じた盾オブジェクトの格納位置情報を内部メモリに格納する。さらに、この場合、高速プロセッサ21は、盾傾斜フラグにセットされた値に応じた盾オブジェクトが、最新の注目点の座標(Xc,Yc)をスクリーン座標系に変換した座標(xc,yc)を通るように、スクリーン座標系の盾オブジェクトの座標を算出する。
その他、高速プロセッサ21は、テレビジョンモニタ7に表示する背景や他のオブジェクト(例えば、敵オブジェクト等)の格納位置情報の内部メモリへの格納やスクリーン座標系の座標を算出する。
さて、ステップS13において、高速プロセッサ21は、「YES」であれば、即ち、ビデオ同期の割込み待ちであれば(ビデオ同期信号による割り込みがなければ)、同じステップS13に戻る。一方、ステップS13で「NO」であれば、即ち、ビデオ同期の割込み待ちでなければ(ビデオ同期信号による割り込みがあれば)、ステップS14に進む。
ステップS14では、高速プロセッサ21は、ステップS12の処理結果に応じて、テレビジョンモニタ7に表示される画面(ビデオフレーム)の更新処理を実行し、ステップS2に進む。つまり、高速プロセッサ21は、ステップ12で格納された背景や各オブジェクトの格納位置情報及びスクリーン座標系の座標に基づいて、ROM23からそれらの画像データを読み出し、必要な処理を行い、背景や各オブジェクト表すビデオ信号を生成する。これにより、ステップS12の処理結果に応じた、剣軌跡オブジェクトや盾オブジェクト等がテレビジョンモニタ7に表示される。
ステップS15の音声処理は、音声割り込みが発生したときに実行され、それによって、高速プロセッサ21は、音楽や効果音を出力する。
図22は、図1の剣11を振った方向に対応して表示される剣軌跡オブジェクトのアニメーションの説明図である。図22に示すように、最初は幅wの狭い帯状の画像(剣軌跡オブジェクト)が、コマ(時間t)が進むに従って、幅wが広くなり、さらに、コマが進むに従って、幅wが小さくなる。この例は、剣方向フラグに図13の方向d4を示す値がセットされたときに表示される剣軌跡オブジェクトの1例である。
この例では、1コマを1フレームだけ表示するため、12コマを12フレームで表示する。なお、フレームの更新は、例えば、1/60秒ごとに行われる。以上のように、コマ(時間t)の進行とともに、剣軌跡オブジェクトの幅wを、小→大→小、と変化させることで、剣11が振られたことに応じて、鋭い閃光が走ったような剣軌跡の表現が可能となる。
なお、図22において、黒く塗りつぶした部分は、透明であることを意味する。また、ハッチングを施した部分や白色で表している部分が存在するが、実際には、所望の色(白色含む。)が付される。
ここで、図13の方向d0を示す値が剣方向フラグにセットされた場合は、図22の剣軌跡オブジェクトが左右反転して使用・表示される。また、方向d2のために、図22と同様の画像(90度回転)が、別途用意され、方向d6のために、上下反転して使用・表示される。また、方向d1のために、図22と同様の画像(45度回転)が、別途用意され、方向d3,d5及びd7のために、上下左右反転して使用・表示される。
図23は、図21 の方向a0〜a4に対応して表示される盾オブジェクトA0〜A4の例示図である。図23の盾オブジェクトA0〜A4はそれぞれ、図21の傾きa0〜a4に対応している。従って、盾傾斜フラグが方向a0〜a4のいずれかを示している場合は、対応する盾オブジェクトA0〜A4がそのまま使用・表示される。盾傾斜フラグが傾きa5〜a7のいずれかを示している場合は、対応する盾オブジェクトA3〜A1が左右反転して使用・表示される。
図24は、図1のテレビジョンモニタ7に表示された盾オブジェクトの例示図である。図24に示すように、テレビジョンモニタ7には、図23の盾オブジェクトA1を左右反転した盾オブジェクトA1rが表示されている。従って、この例では、剣11の傾きが、図21の傾きa7ということになる。このように、盾傾斜フラグが示す傾き(つまり剣11の傾き)に応じた盾オブジェクトがテレビジョンモニタ7に表示される。なお、図24から明らかなように、盾オブジェクトは、画面のある辺から他の辺にわたって表示される。この点は、剣軌跡オブジェクト(図22(k)(l)除く)も同様である。
ここで、盾オブジェクトの色彩は、透明色あるいは半透明色にすることが望ましい。なぜなら、盾オブジェクトの奥に位置するオブジェクト(例えば、敵オブジェクト等)が、透けて見えるので、プレイヤ17は、奥に位置するオブジェクトを視認しながら、剣11の操作を行うことができるからである。
さて、以上のように、本実施の形態によれば、経験的に規定された第1ルール〜第3ルールに従って、剣11の傾きを算出するための2点の座標を決定する。従って、簡易かつ的確に、剣11の傾きを検出できる。
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
(1)上記では、操作物として剣11を例に挙げたが、操作物の形状はこれに限定されない。また、操作物に取り付ける再帰反射シートの形状は、再帰反射シート15の形状に限定されない。
(2)上記では、剣11の方向に応じた盾オブジェクトをテレビジョンモニタ7に表示した。ただし、剣11の方向に応じて表示するオブジェクトはこれに限定されず、任意の形状や形態のオブジェクトを表示できる。
以上、本発明を実施例により詳細に説明したが、当業者にとっては、本発明が本願中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本願の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
図1は、本発明の実施の形態によるゲームシステムの全体構成を示すブロック図である。 図2は、図1のゲーム機1の電気的構成を示す図である。 図3は、図1のゲーム機1の全体の処理の流れの一例を示すフローチャート。 図4は、図3のステップS2の撮影処理の流れの一例を示すフローチャート。 図5は、図3のステップS4で算出した閾値ThBによる2値化画像の概念図である。 図6は、図3のステップS5の上下左右端の座標算出処理の説明図である。 図7は、図3のステップS5の上下左右端の座標算出処理の流れの一例を示すフローチャート。 図8は、図7のステップS34の左端座標算出処理の流れの一例を示すフローチャート。 図9は、図7のステップS35の右端座標算出処理の流れの一例を示すフローチャート。 図10は、図7のステップS36の上端座標算出処理の流れの一例を示すフローチャート。 図11は、図7のステップS37の下端座標算出処理の流れの一例を示すフローチャート。 図12は、図3のステップS6の剣軌跡の出現可否の判定処理の流れの一例を示すフローチャート。 図13は、図2の高速プロセッサ21が判断する剣11の方向の説明図である。 図14は、図3のステップS7の盾の出現可否の判定処理の流れの一例を示すフローチャート。 図15は、本実施の形態による傾き判定の第3ルールの説明図である。 図16は、本実施の形態による傾き判定の第1ルールの説明図である。 図17は、本実施の形態による傾き判定の第2ルールの説明図である。 図18は、図3のステップS8の第1ルールによる前処理の流れの一例を示すフローチャート。 図19は、図3のステップS9の第2ルールによる前処理の流れの一例を示すフローチャート。 図20は、図3のステップS10の第3ルールによる前処理の流れの一例を示すフローチャート。 図21は、図2の高速プロセッサ21が判断する剣11の傾きの説明図である。 図22は、図1の剣11を振った方向に対応して表示される剣軌跡のアニメーションの説明図である。 図23は、図21の方向a0〜a4に対応して表示される盾オブジェクトA0〜A4の例示図である。 図24は、図1のテレビジョンモニタ7に表示された盾オブジェクトA1rの例示図である。
符号の説明
1…ゲーム機、3…赤外発光ダイオード、11…剣(操作物)、15…再帰反射シート、19…イメージセンサ、21…高速プロセッサ、23…ROM、25…バス。

Claims (11)

  1. オペレータに保持されて動きが与えられる操作物の傾きを検出する傾き検出方法であって、
    前記操作物を撮影するステップと、
    前記撮影により得られた画像上の前記操作物の像を構成するピクセルのうち、最大水平座標を持つピクセルの座標を求めるステップと、
    前記操作物の前記像を構成するピクセルのうち、最小水平座標を持つピクセルの座標を求めるステップと、
    前記操作物の前記像を構成するピクセルのうち、最大垂直座標を持つピクセルの座標を求めるステップと、
    前記操作物の前記像を構成するピクセルのうち、最小垂直座標を持つピクセルの座標を求めるステップと、
    前記最大水平座標を持つ前記ピクセルを第1端点とし、前記最小水平座標を持つ前記ピクセルを第2端点とし、前記最大垂直座標を持つ前記ピクセルを第3端点とし、及び前記最小垂直座標を持つ前記ピクセルを第4端点としたときに、前記第1端点、前記第2端点、前記第3端点、及び前記第4端点に基づいて選択された第1の参照端点および第2の参照端点に基づいて前記操作物の傾きを算出するステップと、を含み、
    前記操作物の傾きを算出する前記ステップでは、
    前記第1端点、前記第2端点、前記第3端点、及び前記第4端点を頂点とする四角形の四辺のうち、最も短い辺およびその次に短い辺が、前記第1端点、前記第2端点、前記第3端点、及び前記第4端点のうち、いずれかの端点を共有している場合は、当該端点を前記第1の参照端点とし、その第1の参照端点に対向する端点を前記第2の参照端点とし、前記第1端点、前記第2端点、前記第3端点、及び前記第4端点を頂点とする前記四角形の四辺のうち、最も短い辺およびその次に短い辺が、前記第1端点、前記第2端点、前記第3端点、及び前記第4端点のうち、いずれの端点も共有していない場合は、その最も短い辺の中点を前記第1の参照端点とし、その次に短い辺の中点を前記第2の参照端点とする、傾き検出方法。
  2. 前記最大水平座標を持つ前記ピクセルの座標を求める前記ステップでは、前記最大水平座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの垂直座標の平均値を前記第1端点の垂直座標とし、
    前記最小水平座標を持つ複数存在ピクセルの座標を求める前記ステップでは、前記最小水平座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの垂直座標の平均値を前記第2端点の垂直座標とし、
    前記最大垂直座標を持つ前記ピクセルの座標を求める前記ステップでは、前記最大垂直座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの水平座標の平均値を前記第3端点の水平座標とし、
    前記最小垂直座標を持つ前記ピクセルの座標を求める前記ステップでは、前記最小垂直座標を持つ前記ピクセルが複数存在する場合、その複数のピクセルの水平座標の平均値を前記第4端点の水平座標とする、請求項1記載の傾き検出方法。
  3. 前記第1端点の垂直座標と、前記第2端点の垂直座標と、が同一であり、かつ、前記第3端点の水平座標と、前記第4端点の水平座標と、が同一である場合、前記第1端点と前記第2端点との間の距離を求めるステップと、
    前記第1端点の垂直座標と、第2端点の垂直座標と、が同一であり、かつ、前記第3端点の水平座標と、前記第4端点の水平座標と、が同一である場合、前記第3端点と前記第4端点との間の距離を求めるステップと、
    前記第1端点の垂直座標と、第2端点の垂直座標と、が同一であり、かつ、前記第3端点の水平座標と、前記第4端点の水平座標と、が同一である場合、前記第1の参照端点及び前記第2の参照端点に基づいて前記操作物の傾きを算出する前記ステップに代わって、前記第1端点と前記第2端点との間の前記距離と、前記第3端点と前記第4端点との間の前記距離と、の間の大小関係に応じて、前記第1端点及び前記第2端点の座標に基づいて、あるいは、前記第3端点及び前記第4端点の座標に基づいて、前記操作物の傾きを算出するステップと、をさらに含む請求項1又は2記載の傾き検出方法。
  4. 前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第1端点の水平座標と前記第2端点の水平座標との間の距離を求めるステップと、
    前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第3端点の垂直座標と前記第4端点の垂直座標との間の距離を求めるステップと、
    前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第1の参照端点及び前記第2の参照端点に基づいて前記操作物の傾きを算出する前記ステップに代わって、前記第1端点の水平座標と前記第2端点の水平座標との間の前記距離と、前記第3端点の垂直座標と前記第4端点の垂直座標との間の前記距離と、の間の比に応じて、前記第1端点及び前記第2端点の座標に基づいて、あるいは、前記第3端点及び前記第4端点の座標に基づいて、前記操作物の傾きを算出するステップと、をさらに含む請求項1から3記載の傾き検出方法。
  5. 前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第1端点の水平座標と前記第2端点の水平座標との間の距離を求めるステップと、
    前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第3端点の垂直座標と前記第4端点の垂直座標との間の距離を求めるステップと、
    前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第1の参照端点及び前記第2の参照端点に基づいて前記前記操作物の傾きを算出する前記ステップに代わって、前記第1端点の水平座標と前記第2端点の水平座標との間の前記距離と、前記第3端点の垂直座標と前記第4端点の垂直座標との間の前記距離と、の間の比が、「1」を超える第1の定数よりも大きいときは、前記第1端点及び前記第2端点の座標に基づいて、前記操作物の傾きを算出するステップと、
    前記第1端点の垂直座標及び前記第2端点の垂直座標が同一でない場合、及び/又は、前記第3端点の水平座標及び前記第4端点の水平座標が同一でない場合、前記第1の参照端点及び前記第2の参照端点に基づいて前記前記操作物の傾きを算出する前記ステップに代わって、前記比が、「1」より小さい第2の定数よりも小さい場合には、前記第3端点及び前記第4端点の座標に基づいて、前記操作物の傾きを算出するステップと、をさらに含む請求項1から3記載の傾き検出方法。
  6. 前記操作物に、予め定められた周期で、光を照射するステップをさらに含み、
    前記光の発光時に前記撮影により得られた画像と、前記光の消灯時に前記撮影により得られた画像と、の差分画像に基づいて、前記最大水平座標を持つピクセルの座標を求める前記ステップ、前記最小水平座標を持つピクセルの座標を求める前記ステップ、前記最大垂直座標を持つピクセルの座標を求める前記ステップ、及び、前記最小垂直座標を持つピクセルの座標を求める前記ステップが、実行される、請求項1から5のいずれかに記載の傾き検出方法。
  7. オペレータに保持されて動きが与えられる操作物の傾きを検出する傾き検出方法であって、
    前記操作物を撮影するステップと、
    前記撮影により得られた画像から、前記操作物のプロファイルを代表する4つの代表点を算出するステップと、
    前記4つの代表点の1つを、前記4つの代表点を頂点とする四角形の最も短い辺およびその次に短い辺が共有するか否かを判断するステップと、
    前記共有する代表点が存在した場合には、前記共有する代表点と、これに対向する代表点を通る直線の傾きに基づいて、前記操作物の傾きを算出するステップと、
    前記共有する代表点が存在しない場合には、前記四角形の最も短い辺の中心と、前記四角形の次に短い辺の中心を通る直線の傾きに基づいて、前記操作物の傾きを算出するステップと、を含む傾き検出方法。
  8. 請求項1から7のいずれか一に記載の傾き検出方法をコンピュータに実行させるコンピュータプログラム。
  9. エンタテインメント・システムであって、
    前記エンタテインメント・システムを利用する際に、ユーザーが操作する操作物と、
    前記操作物を撮像することにより前記操作物の画像を取得する撮影装置と、
    前記撮影装置に接続され、前記撮影装置から前記操作物の画像を受け取り、前記操作物の画像に基づいて、前記操作物の傾きを決定する情報処理装置と、を備え、
    前記情報処理装置は、
    前記操作物の画像から、前記操作物のプロファイルを代表する4つの代表点を算出する手段と、
    前記4つの代表点の1つを、前記4つの代表点を頂点とする四角形の最も短い辺およびその次に短い辺が共有するか否かを判断する手段と、
    前記共有する代表点が存在した場合には、前記共有する代表点と、これに対向する代表点を通る直線の傾きに基づいて、前記操作物の傾きを算出し、前記共有する代表点が存在しない場合には、前記四角形の最も短い辺の中心と、前記四角形の次に短い辺の中心を通る直線の傾きに基づいて、前記操作物の傾きを算出する手段と、を含むエンタテインメント・システム。
  10. 前記撮影装置は、前記操作物に、予め定められた周期で、光を照射する発光手段を含み、
    前記情報処理装置は、前記光の発光時に前記撮影により得られた画像と、前記光の消灯時に前記撮影により得られた画像と、の差分画像に基づいて、前記操作物の傾きを決定する、請求項9記載のエンタテインメント・システム
  11. 前記操作物は、再帰反射手段を含む、請求項9又は10記載のエンタテインメント・システム
JP2006013949A 2005-01-27 2006-01-23 傾き検出方法、コンピュータプログラム、及びエンタテインメント・システム Expired - Fee Related JP4635164B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006013949A JP4635164B2 (ja) 2005-01-27 2006-01-23 傾き検出方法、コンピュータプログラム、及びエンタテインメント・システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005019064 2005-01-27
JP2006013949A JP4635164B2 (ja) 2005-01-27 2006-01-23 傾き検出方法、コンピュータプログラム、及びエンタテインメント・システム

Publications (3)

Publication Number Publication Date
JP2006236326A JP2006236326A (ja) 2006-09-07
JP2006236326A5 JP2006236326A5 (ja) 2009-03-12
JP4635164B2 true JP4635164B2 (ja) 2011-02-16

Family

ID=37043847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006013949A Expired - Fee Related JP4635164B2 (ja) 2005-01-27 2006-01-23 傾き検出方法、コンピュータプログラム、及びエンタテインメント・システム

Country Status (1)

Country Link
JP (1) JP4635164B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005071945A1 (en) * 2004-01-22 2005-08-04 Ssd Company Limited An image pickup apparatus and an object
JP2009242045A (ja) * 2008-03-31 2009-10-22 Mitsubishi Electric Corp ドア装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004085524A (ja) * 2002-06-27 2004-03-18 Shinsedai Kk ストロボスコープを使った入力システムを備える情報処理装置
JP2008512643A (ja) * 2004-09-09 2008-04-24 新世代株式会社 傾き検出方法及びエンタテインメント・システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512445A (ja) * 1991-06-28 1993-01-22 Toyo Commun Equip Co Ltd 物体の位置、傾き角度検出方法及びその装置
JPH1040393A (ja) * 1996-07-23 1998-02-13 Sony Corp 画像認識方法およびこの方法を用いた画像認識装置ならびに電子部品実装装置
JP3685596B2 (ja) * 1997-07-07 2005-08-17 富士通株式会社 物体傾斜角計測方法及び装置並びに記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004085524A (ja) * 2002-06-27 2004-03-18 Shinsedai Kk ストロボスコープを使った入力システムを備える情報処理装置
JP2008512643A (ja) * 2004-09-09 2008-04-24 新世代株式会社 傾き検出方法及びエンタテインメント・システム

Also Published As

Publication number Publication date
JP2006236326A (ja) 2006-09-07

Similar Documents

Publication Publication Date Title
US8705868B2 (en) Computer-readable storage medium, image recognition apparatus, image recognition system, and image recognition method
US7969413B2 (en) Storage medium having stored thereon program for adjusting pointing device, and pointing device
US10204404B2 (en) Image processing device and image processing method
US8699749B2 (en) Computer-readable storage medium, image processing apparatus, image processing system, and image processing method
US8625898B2 (en) Computer-readable storage medium, image recognition apparatus, image recognition system, and image recognition method
US20030210407A1 (en) Image processing method, image processing system and image processing apparatus
TW202014929A (zh) 結構光投射器的控制方法、深度相機和電子裝置
US8571266B2 (en) Computer-readable storage medium, image processing apparatus, image processing system, and image processing method
JP4825473B2 (ja) 顔向き判別装置
JP7023696B2 (ja) 情報処理装置、情報処理方法及びプログラム
US8718325B2 (en) Computer-readable storage medium, image processing apparatus, image processing system, and image processing method
JP2009009266A (ja) 画像処理プログラムおよび画像処理装置
JP2007072627A (ja) サングラス検出装置及び顔中心位置検出装置
JP2008512643A (ja) 傾き検出方法及びエンタテインメント・システム
JP2007004318A (ja) 画像処理方法、画像処理を実行するためのプログラム、及び、当該プログラムが記憶された記憶媒体
JP4635164B2 (ja) 傾き検出方法、コンピュータプログラム、及びエンタテインメント・システム
JP6650739B2 (ja) 発光デバイス調整装置および駆動電流調整方法
JP2002008041A (ja) 動作検出装置、動作検出方法および情報記憶媒体
US8705869B2 (en) Computer-readable storage medium, image recognition apparatus, image recognition system, and image recognition method
JP6538871B2 (ja) 操作検出装置、操作検出方法、及び映像表示システム
JP2019021333A (ja) 画像処理装置及び画像処理方法及びプログラム
US20180124381A1 (en) Structured-light-based three-dimensional scanning method, apparatus and system thereof
JP2007295990A (ja) 移動方向算出装置および移動方向算出プログラム
JP2008076765A (ja) 演奏システム
WO2006080546A1 (en) Tilt detection method and entertainment system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090123

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101025

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101025

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees