(57)【要約】【課題】  ディスプレイの種類によらず、画像上の指し示した位置の検出を行えるようにする。【解決手段】  ディスプレイに表示されている画像の所望の位置を位置検出端末で指し示し、位置検出を開始するためのスイッチを操作すると、ディスプレイに位置パターン画像が挿入される。位置パターン画像は固有の位置情報を有する複数の位置マークを配置したもので、位置検出端末で指し示した位置を中心とした所定の撮影範囲を撮影し、撮影範囲内の複数の位置マークの位置情報を取得して、位置検出端末で指し示した位置を求める。【選択図】        図１
2005052306.tif 000002
【特許請求の範囲】
【請求項１】
画像を表示する表示手段と、前記表示手段に表示された画像の任意の位置を指し示す位置指示手段とを備え、前記位置指示手段で指し示した画像の位置を求める位置検出システムにおいて、
同心で径の異なる円形のリングを組み合わせて構成した複数の位置マークが指定された画角の全面に配置され、各位置マークが固有の位置情報を有する位置パターン画像を前記表示手段に表示する表示制御手段と、
前記表示手段に表示されている画像に前記位置パターン画像の挿入を指示する表示指示手段と、
前記位置指示手段に設けられ、該位置指示手段で指し示した所定の範囲を撮影する撮影手段と、
前記撮影手段で撮影した画像データから、複数の前記位置マークの位置情報を検出し、前記複数の位置マークの位置情報から、前記位置指示手段で指し示した位置を求める演算手段と
を備えたことを特徴とする位置検出システム。
【請求項２】
前記表示制御手段は、前記位置パターン画像を構成する各位置マークを、前記位置パターン画像の挿入が指示される直前の画像に多重して表示する
ことを特徴とする請求項１記載の位置検出システム。
【請求項３】
前記位置パターン画像に表示される位置マークの配置を変更する調整手段を備えた
ことを特徴とする請求項１記載の位置検出システム。
【請求項４】
前記調整手段は、前記位置指示手段と前記表示手段との間の距離に応じて前記位置マークの配置を変更する
ことを特徴とする請求項３記載の位置検出システム。
【請求項５】
前記調整手段は、前記表示手段に表示される画像の大きさに応じて前記位置マークの配置を変更する
ことを特徴とする請求項３記載の位置検出システム。
【請求項６】
前記演算手段は、前記位置マークの中心付近を走査する画像データから、該当位置マークの位置情報を検出する
ことを特徴とする請求項１記載の位置検出システム。
【請求項７】
前記位置パターン画像は、前記位置マークが縦横等間隔に配置される
ことを特徴とする請求項１記載の位置検出システム。
【請求項８】
前記位置マークは、サンプリングパルスを生成する同期リングを外周に有し、前記位置情報を示すコードリングを前記同期リングの内側に有し、中心位置を特定する中心リングを最内周に有する
ことを特徴とする請求項１記載の位置検出システム。
【請求項９】
前記演算手段は、前記中心リングを中心とした前記コードリングの対称性を確認して、位置情報を検出する
ことを特徴とする請求項８記載の位置検出システム。
【請求項１０】
前記演算手段は、前記同期リングからサンプリングパルスを生成し、前記サンプリングパルスの周期で前記コードリングおよび前記中心リングを検出する
ことを特徴とする請求項８記載の位置検出システム。
【請求項１１】
前記演算手段は、前記中心リングを走査する画像データから前記位置マークの位置を検出する
ことを特徴とする請求項８記載の位置検出システム。
【請求項１２】
前記位置パターン画像は、黒の背景に白のリングで前記位置マークが表示される
ことを特徴とする請求項１記載の位置検出システム。
【請求項１３】
前記位置パターン画像が多重された撮影画像と位置パターン画像が多重されていない挿入直前の撮影画像からフレーム相関のあるデータを除去して位置パターンを再生する
ことを特徴とする請求項２記載の位置検出システム。
【請求項１４】
前記位置パターン画像の挿入直前の画像の平均輝度に、前記位置パターン画像の平均輝度を合わせた
ことを特徴とする請求項１記載の位置検出システム。
【請求項１５】
前記表示手段は、フラットパネルディスプレイである
ことを特徴とする請求項１記載の位置検出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像上の指し示された位置を求める位置検出システムに関する。詳しくは、固有の位置情報を有する複数の位置マークを配置した位置パターン画像を挿入し、この位置パターン画像を撮影して撮像画像に含まれる位置マークの位置を認識することで、指し示した位置を検出できるようにしたものである。
【背景技術】
【０００２】
従来より、テレビゲーム等ではゲーム用の銃で画像の任意の位置に照準を合わせ、トリガを引いた際の着弾位置を検出するシステムが考案されている（例えば、特許文献１参照。）。
【０００３】
従来の位置検出システムとして、このようなテレビゲームでの画像位置検出方式を説明する。図２６は従来の位置検出システムの構成例を示すブロック図である。以下の説明では、ゲーム用銃を指示端末と称す。
【０００４】
従来の位置検出システムは、指示端末１００に内蔵されたスイッチ１０１を閉じることで、位置検出動作を開始する。指示端末１００のスイッチ１０１が閉じたことをゲーム機器本体１０２が検出すると、ゲーム機器本体１０２はディスプレイ１０３に白画像を表示させる。ディスプレイ１０３に狙い定めている指示端末１００に内蔵されているフォトセンサ１０４は、ディスプレイ１０３の走査による白への輝度変化を検出する。指示端末１００内の位置検出ブロック１０５では位置算出プロセスが行われ、フォトセンサ１０４で白への輝度変化を検出した時と、ディスプレイ１０３へのビデオ信号から同期分離回路１０６で分離した入力映像信号の同期信号タイミングデータから、ディスプレイ１０３上の指し示した位置が算出される。位置データはゲーム機器本体１０２に送られ、位置データに対応したアプリケーション・プログラムがゲーム・プロセッサ１０７で実行される。
【０００５】
【特許文献１】特開平９−３１３７３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の位置検出システムでは、ディスプレイへの白画像の入力映像信号の同期とディスプレイの走査が同一方式である必要があり、さらにディスプレイでの映像信号の遅延量は一定である必要がある。このため走査変換や複数の画像を表示するマルチウインドウでの画像サイズ変換等、映像信号の入力と表示間の遅延時間が不定のディスプレイでは、従来の位置検出システムを使用することができない。
【０００７】
また、ディスプレイの走査線の輝度変化点を検出するため、ある一定面積の輝度変化をフォトセンサで検出する。このためディスプレイとフォトセンサの距離が大きくなるにつれ位置検出精度が悪化する。また表示が小さい小型ディスプレイでは位置検出精度が保証されない。
【０００８】
残像方式の陰極線管を用いたディスプレイでは、挿入された白映像信号によりフレーム周期で白輝度が変化する。この白輝度変化をフォトセンサで検出することで位置検出を行っている。しかしながら、液晶ディスプレイではフレーム周期で白輝度の変化が起こらない。このため、白輝度の変化が少なくフォトセンサは輝度変化を検出できず、結果として位置検出が行えない。また、輝度変化を起こさせるため白画像を挿入するので、ディスプレイの輝度変化が大きく、利用者が違和感を感じる。
【０００９】
さらに、位置検出を指示端末側で行う場合、同期信号を指示端末へ送るためのケーブルが必要となり、指示端末の無線化が困難である。
【００１０】
本発明はこのような課題を解決するためになされたもので、ディスプレイとの距離やディスプレイの種類等によらず、高い位置検出精度を得ることができる位置検出システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決するため、本発明に係る位置検出システムは、画像を表示する表示手段と、表示手段に表示された画像の任意の位置を指し示す位置指示手段とを備え、位置指示手段で指し示した画像の位置を求める位置検出システムにおいて、同心で径の異なる円形のリングを組み合わせて構成した複数の位置マークが指定された画角の全面に配置され、各位置マークが固有の位置情報を有する位置パターン画像を表示手段に表示する表示制御手段と、表示手段に表示されている画像に位置パターン画像の挿入を指示する表示指示手段と、位置指示手段に設けられ、該位置指示手段で指し示した所定の範囲を撮影する撮影手段と、撮影手段で撮影した画像データから、複数の位置マークの位置情報を検出し、検出された複数の位置マークの位置情報から、位置指示手段で指し示した位置を求める演算手段とを備えたものである。
【００１２】
本発明に係る位置検出システムでは、表示手段に表示されている画像の所望の位置を位置指示手段で指し示して表示指示手段を操作すると、位置パターン画像の表示が指示される。表示制御手段は、位置パターン画像の表示の指示を受けると、表示手段に画像に代えて位置パターン画像を数フレーム挿入する。位置指示手段は、位置パターン画像の表示の指示を出すと、撮影手段で位置指示手段が指し示す所定の範囲の画像を撮影する。
【００１３】
演算手段は、撮影手段が撮影した画像データから、複数の位置マークの位置情報を取得する。位置マークはそれぞれが固有の位置情報を有することから、画像上の位置を認識できる。そして、演算手段は複数の位置マークの位置情報から、位置指示手段が指し示した位置を求める。
【発明の効果】
【００１４】
本発明は、円形の位置マークにより構成される位置パターン画像を撮影し、位置指示手段で指し示した位置を検出するので、位置指示手段の向きによらず、高い位置検出精度を保つことができる。
【００１５】
また、表示手段の画面のサイズが変更になった場合や、画面と位置指示手段の距離が変化する場合でも、位置マークの径の大きさや表示される数等、位置マークの配置を変えることで、位置検出精度を保つことができる。
【００１６】
さらに、表示手段に表示された位置パターン画像を撮影して位置検出を行うので、表示手段の走査方式を選ぶことなく高精度な位置検出が行え、液晶ディスプレイや陰極線管を用いたディスプレイ等、様々な表示手段で動作可能である。
【００１７】
また、表示手段内の画像処理で画像サイズを変化させるような場合でも、位置パターン画像は単に画像として表示するだけなので、撮影手段で撮影して位置検出を行うことができる。そして、同期信号を使用しないため、位置指示手段の無線化が可能である。なお、位置パターン画像は背景が黒の画面として構成することで、挿入画像の輝度変化を少なく抑えることができ、利用者が違和感を感じることはない。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の位置検出システムの実施の形態について説明する。
【００１９】
＜位置検出システムの概要＞
図１は本実施の形態の位置検出システムの概要を示す説明図である。本実施の形態の位置検出システムは、コンピュータ・プレゼンテーションに使用されるレーザポインタやゲーム機器の銃等で指し示したディスプレイ上の位置データを、パターン認識で得るシステムである。
【００２０】
すなわち、ディスプレイに表示されている例えばゲーム画像の所望の位置を位置検出端末で指し示し、位置検出を開始するためのスイッチを操作すると、ディスプレイに位置パターン画像が挿入される。位置パターン画像は固有の位置情報を有する複数の位置マークを配置したもので、位置検出端末で指し示した位置を含む所定の撮影範囲を撮影し、撮影範囲内の複数の位置マークの位置情報を取得して、位置検出端末で指し示した位置を求めるものである。
【００２１】
＜位置検出システムの構成＞
図２は本実施の形態の位置検出システムの構成例を示すブロック図である。位置検出システム１は、ディスプレイ２、位置検出端末３および装置本体４を備える。ディスプレイ２は表示手段の一例で、例えば液晶ディスプレイ２ａ（LCD:liquid crystal display）を備える。ディスプレイとしては、液晶ディスプレイ以外のプラズマディスプレイや有機ＥＬ（エレクトロ・ルミネッセンス）ディスプレイ等の他のフラットパネルディスプレイでも良い。本実施の形態の位置検出システム１では、使用するディスプレイの走査方式は特に問わない。表示手段としては、残像方式の陰極線管を用いたディスプレイでも良い。また、ディスプレイ２にアナログデジタル変換ブロック２ｂや画素数変換ブロック２ｃを備えて、画像サイズを変更できる構成としたものや、画像位置を可変とできる構成としたものでもよい。
【００２２】
位置検出端末３は位置指示手段の一例で、２次元画像センサ３ａ、カメラプロセスブロック３ｂ、位置算出プロセスブロック３ｃ、Ｉ／Ｆブロック３ｄ、スイッチ３ｅ等を備える。この位置検出端末３は、具体的にはレーザポインタやゲーム機器の銃である。
【００２３】
スイッチ３ｅは表示指示手段の一例で、位置検出動作を開始させるための信号を発生させる。以下の説明では、スイッチ閉をオンとして説明する。２次元画像センサ３ａは撮影手段の一例で、例えばＣＣＤ（charge coupled device）であり、位置検出端末３が指し示した液晶ディスプレイ２ａの所定の範囲を撮影する。位置検出端末３には、２次元画像センサ３ａに合焦点させるためのレンズ３ｆが備えられ、２次元画像センサ３ａおよびレンズ３ｆ等によりカメラ３ｇが構成される。なお、この２次元画像センサ３ａの走査は、液晶ディスプレ２ａの走査と非同期の状態で可能である。カメラプロセスブロック３ｂは、撮影画像データの２値化等の周知のカメラプロセスを行う。
【００２４】
位置算出プロセスブロック３ｃは演算手段の一例で、カメラプロセスブロック３ｂから出力される撮影画像データから、位置検出端末３が指し示した位置を求める。以下の説明では、位置検出端末３が指し示した位置をターゲット位置とも呼ぶ。この位置算出プロセスブロック３ｃは、ＤＳＰ（digital signal processor）等でプログラムを実行することで実現される。
【００２５】
Ｉ／Ｆブロック３ｄは、位置検出端末３から装置本体４へコマンドおよびデータを転送する。すなわち、位置検出端末３のスイッチ３ｅの閉により位置パターン挿入コマンドが装置本体４に出力される。この位置パターン挿入コマンドには、位置パターン画像に含まれる位置マーク数を指定するデータが含まれる。また、転送データとして、位置算出プロセスブロック３ｃで求めたターゲット位置の位置データが装置本体４に出力される。
【００２６】
なお、位置検出端末３にはターゲット位置を照射するレーザポインタ３ｈを備えてもよい。レーザポインタ３ｈはポインタスイッチ３ｉを備え、ポインタスイッチ３ｉの閉によりレーザポインタ３ｈが発光し、所定の位置を照射する。このレーザポインタ３ｈの照射位置をターゲット位置として認識するため、初期設定時にレーザポインタ３ｈで示す場所をカメラプロセスブロック３ｂの出力から位置算出プロセスブロック３ｃで検出し、ターゲット位置の位置データとして記録する。
【００２７】
装置本体４は、プロセッサ４ａとディスプレイＩ／Ｆ４ｂを備える。プロセッサ４ａは、例えばゲーム等のアプリケーション・プログラムを実行する。プロセッサ４ａは、アプリケーション・プログラムを実行することで、表示制御手段として画像データへの画像挿入機能を備え、位置検出端末３から位置パターン挿入コマンドを受け取ると、コマンドに含まれる位置マーク数に対応した位置パターン画像をディスプレイＩ／Ｆ４ｂを介してディスプレイ２に数フレーム送出する。また、プロセッサ４ａは、位置検出端末３から転送データとしてターゲット位置データを受け取ると、それに対応したアプリケーション・プログラムを実行する。さらに、装置本体４にはコントローラ４ｃが接続される。このコントローラ４ｃは、プロセッサ４ａで実行される各種アプリケーション・プログラムを操作する。
【００２８】
＜位置パターン画像の構成＞
次に、ディスプレイ２に表示される位置パターン画像の構成について説明する。図３は位置パターン画像の構成例を示す説明図である。位置パターン画像５は、撮影するカメラ３ｇの撮影角度や撮影距離が変化しても、ディスプレイ２の指し示された位置を確実に特定できるように、ＩＤを有する円形のバーコード状の位置マーク６が等間隔に配置された画像で、例えば複数の位置マーク６を縦横ともに等間隔で全面に配置したものである。通常、ディスプレイ２には図１に示すように全面に画像が表示されるので、位置パターン画像５もディスプレイ２の全面に表示される。また、マルチウインドウを実現できる構成では、位置検出を行うため指定された画像の画角の全面に位置パターン画像５が表示される。位置マーク６は、同心で径の異なる円形のリングを組み合わせて構成される。ここで、図３は白を背景に黒のリングで位置マーク６が記載されているが、図２に示すディスプレイ２に表示された画像に位置パターン画像５を挿入した際の輝度の変化を抑えるため、黒の背景に白のリングで位置マーク６を設ける構成とするとよい。本例では、図面の煩雑化を防ぐため、白を背景に黒のリングで位置マーク６を設けた例で説明を行う。
【００２９】
図４は位置マークＩＤの構成例を示す説明図である。位置パターン画像５に表示される複数の位置マーク６は、それぞれ固有の位置情報を有する。すなわち、位置マーク６は位置情報としてＩＤコードが含まれており、各位置マーク６のＩＤは、位置パターン画像５上での位置を特定するためユニークなコードとなっている。図４の例では、位置パターン画像５の左上の位置マーク６のＩＤを原点として、ＩＤを縦横番号の［Ｌ，Ｍ］行列としている。
【００３０】
図５は位置マークの構成例を示す説明図である。位置マーク６は複数のリングから構成され、位置マーク６の最外周から２本のリングは、後述する円内部のＩＤコードをサンプリングするためのサンプリングパルスを作成するための同期リング７である。２本の同期リング７の半径差はサンプリング・クロック周期を表している。
【００３１】
同期リング７から内周に向け、例えば６個のリングはコードリングとしてのＩＤリング８であり、ＩＤコードを表している。ＩＤリング８の外側の３リングはＩＤ縦番号ビット（Ｌ）を表し、内周の３リングはＩＤ横番号ビット（Ｍ）を表している。
【００３２】
ＩＤリング８の内側であって、位置マーク６の中心には中心リングとして最内周リング９が設けられる。この最内周リング９は、位置マーク６の中心位置検出とＩＤ検出で使用され中が埋まった円となっている。
【００３３】
同期リング７の幅はＩＤリング８の半分となっており、同期リング７のパルスの立ち上がり周期がサンプリング周期Ｔｓとなっている。この同期リング７に続くＩＤリング８のサンプリング点は、各ＩＤリングの幅の中央となっている。また、最内周リング９の半径は１．５サンプリング周期で構成されている。
【００３４】
そして、最内周リング９の中心はサンプリング点に一致している。図５ではＫ−Ｋ′走査でサンプリングパルスの１２回目の立ち上がりが位置マーク６の中心となっている。
【００３５】
ここで、図５の位置マーク６は６ビットのＩＤを表しているが、位置パターン画像５に表示する位置マーク６の数の増加により６ビット以上のＩＤを表す場合は、ＩＤリング８の数を増加させた位置マークを使用する。また、ＩＤ検出時のデータエラーを防ぐため、データのエラー訂正コードを含んだＩＤで構成する構成も考えられる。
【００３６】
本例では、最内周リング９の中心位置はサンプリング回数１２回目となっているが、ＩＤリング８の数を増加させた場合等は、最内周リング９の中心位置のサンプリング数は変化する。このような場合でも、円外周から数えて固定されたサンプリング回数の位置に最内周リング９の中心を配置すれば、位置マーク６の中心を求めることができる。この場合の固定されたサンプリング回数とは整数以外も含み、サンプリングパルスの立下りを最内周の中心位置とする場合の例として、サンプリング回数１２．５回等も可能である。
【００３７】
＜撮影画像とターゲット位置＞
図６はカメラの撮影範囲と座標例を示す説明図で、位置パターン画像５を図２で説明したカメラ３ｇで撮影した場合の撮影範囲の一例を示している。図２で説明したカメラ３ｇは、位置検出端末３で指し示した所定の範囲を撮影できるように画角が設定される。なお、ディスプレイ２の画面である液晶ディスプレイ２ａの平面と、カメラ３ｇの２次元画像センサ３ａの撮影平面は３次元の関係であるので撮影範囲は各種の四角形となるが、本例では一例として撮影範囲を長方形で示している。また、撮影範囲は図１に示すように位置マークの並びと平行となる場合もあれば、図６に示すように、位置マーク５の並びに対して傾斜する場合もある。以下の説明では、撮影範囲は位置マーク５の並びに対して傾斜している場合を例にする。この図６に示すＸＹ座標系を位置パターン座標系と称す。
【００３８】
図７は撮影画像の一例を示す説明図である。カメラ３ｇで位置パターン画像５を撮影すると、複数の位置マーク６を含む撮影画像データが得られる。図８は２次元画像センサの走査例を示す説明図である。カメラ３ｇを構成する２次元画像センサ３ａは、実線の矢印で示すように順次水平走査で撮影画像データを出力する。この水平走査に沿った軸を座標Ｂとする。また、座標Ｂに直交する座標軸を座標Ａとする。このＡＢ座標系の原点は、２次元画像センサ３ａの走査開始点（０，０）である。座標（Ｖ，Ｈ）まで走査すると、例えば図７に示すような撮影画像データが取得できる。そして、図７に示す任意の位置マーク６の中心の垂直座標Ａ１２および水平座標Ｂ１２は、このＡＢ座標系で求められる。このＡＢ座標系をカメラ座標系と称す。
【００３９】
＜初期設定＞
図６において、位置検出端末３で指し示すターゲット位置を星印で示す。レーザポインタ３ｈを備えた位置検出端末３では、初期設定時にレーザポインタ３ｈの照射によるディスプレイ２からの反射光をカメラ３ｇで受光し、図８に示すカメラ座標系でターゲット位置Ｔ（ａ，ｂ）として記録する。レーザポインタ３ｈを備えていない位置検出端末３では、撮影画像の中心をターゲット位置Ｔとする。または、位置検出端末３の製造時に、位置検出端末３でターゲットを狙う位置からディスプレイ２にレーザを照射して、照射された位置をターゲット位置Ｔとして記録する。
【００４０】
ディスプレイ２のサイズやディスプレイ２と位置検出端末３までの距離により、位置検出端末３のカメラ３ｇの画角内に収まる位置マーク６の個数は変化する。このため、図９に示すように位置マーク６の径を変えて個数を異ならせた位置パターン画像が数種類、装置本体４の図示しないメモリに記録されている。この図９は位置パターン画像の変形例を示し、例えば、図９（ａ）の位置パターン画像５はディスプレイ２と位置検出端末３の距離が遠い場合に表示され、図９（ｂ）の位置パターン画像５はディスプレイ２と位置検出端末３の距離が近い場合に表示される。初期設定時には位置検出端末３でディスプレイ２の撮影動作を行い位置マーク数の判断を行う。そして、表示される位置マーク６の個数が最適となる位置パターン画像を選択する。この最適な位置マーク個数の位置パターン画像を使用するため、装置本体４へ出力する位置パターン挿入コマンドに、位置マークの個数を指示するデータを付加している。以上のように、位置検出端末３および装置本体４でプログラムを実行する機能により、調整手段が実現される。
【００４１】
＜位置検出動作＞
図１０は位置検出動作の処理の流れを示すフローチャートである。まず、位置検出動作の全体の全体の流れについて説明する。ステップＳＡ１は位置検出端末３の動作であり、まず、ディスプレイ２に表示されている画像の所望の位置を位置検出端末３で指し示し、スイッチ３ｅを閉じることで、位置検出動作が開始される。
【００４２】
ステップＳＡ２は装置本体４の動作であり、位置検出端末３のスイッチ３ｅが閉じられると、図３等で説明した位置パターン画像５をディスプレイ２に数フレーム挿入する。
【００４３】
ステップＳＡ３は位置検出端末３の動作であり、ディスプレイ２の所定の範囲をカメラ３ｇで撮影し、複数の位置マーク６を含む画像データを取得する。ステップＳＡ４は位置検出端末３の動作であり、カメラ３ｇで撮影した画像データから複数の位置マーク６を検出し、各位置マーク６の位置およびＩＤを求める。
【００４４】
ステップＳＡ５は位置検出端末３の動作であり、ステップＳＡ４で検出した位置マークの中から、ターゲット位置に近い２箇所以上の位置マークを選択する。ステップＳＡ６は位置検出端末３の動作であり、カメラ座標系で求めた位置マークの位置を、位置パターン座標系に変換する。ステップＳＡ７は位置検出端末３の動作であり、ディスプレイ２上でのターゲット位置を求める。
【００４５】
ステップＳＡ８は位置検出端末３の動作であり、ターゲット位置の位置データを装置本体４に転送する。ステップＳＡ９は装置本体４の動作であり、位置検出端末３で指し示したターゲット位置に対応したアプリケーション・プログラムを実行する。
【００４６】
以下に各処理ステップの詳細について説明する。ステップＳＡ１では、装置本体４で実行されているアプリケーション・プログラムによりディスプレイ２に表示されている画像、例えばゲーム画像の所望の位置が位置検出端末３で指し示される。そして、スイッチ３ｅが閉じることで、位置検出端末３は位置パターン挿入コマンドを装置本体４へ出力する。
【００４７】
ステップＳＡ２では、装置本体４は位置検出端末３から位置パターン挿入コマンドを受けると、プロセッサ４ａは現在表示しているゲーム画像の次から例えば２フレーム位置パターン画像５を表示できるように、データをディスプレイ２に出力する。
【００４８】
位置パターン挿入コマンドには、初期設定時に設定される位置マークの表示個数を指定するコマンドが含まれる。また、装置本体４は図示しないメモリに位置パターン画像をプログラム等で記録している。これにより、プロセッサ４ａは位置パターン挿入コマンドで指定された個数の位置マーク６を含む位置パターン画像５をディスプレイ２に表示する。
【００４９】
図１１は位置パターン画像の挿入タイミング例を示すタイムチャートである。スイッチ３ｅが閉じると、ゲーム画像に位置パターン画像５が２フレーム挿入される。位置検出端末３にレーザポインタ３ｈを備える場合は、スイッチ３ｅが閉じると、ポインタスイッチ３ｉの状態によらずレーザポインタ３ｈの発光を停止し、ターゲット位置データの出力後に再発光可能とする。
【００５０】
ステップＳＡ３では、位置検出端末３はスイッチ３ｅが閉じられた直後からカメラ３ｇでディスプレイ２を撮影する。位置検出端末３にレーザポインタ３ｈが備えられている場合、レーザポインタ３ｈのレーザ光で指し示した位置を中心にした所定の画角内を撮影する。レーザポインタ３ｈが備えられていない場合、位置検出端末３で指し示した所定の画角内を撮影する。２次元画像センサ３ａで撮影した画像データは、カメラプロセスブロック３ｂにより、２値化等の処理が行われ、順次位置算出プロセスブロック３ｃに出力される。
【００５１】
図１２はカメラで撮影した画像例を示す説明図である。この図１２では、２次元画像センサ３ａとしてＩＴ（インターライントランスファ）方式のＣＣＤを用いた場合の撮影画像例とタイムチャートを示している。
【００５２】
ここで、２次元画像センサ３ａの走査周期は、ディスプレイ２の走査周期より長く設定する。すなわち、上述したように、位置検出端末３のスイッチ３ｅを閉じることで、図３等で説明した位置パターン画像５が２フレーム挿入されるが、ディスプレイ２と２次元画像センサ３ａの画像走査は一致していないため、例えば撮影画像のフレーム１では、挿入された位置パターン画像５の前の画像が下方に表示されている。これに対して、フレーム２の画像では、画角内の全面に位置マーク６が撮影されている。本例では、撮影画像データ中の少なくとも２個の位置マークを検出できる必要があるので、フレーム２に示すように、位置マーク６が全体に撮影された画像データが取得できることが望ましい。なお、後述する処理手順によれば、フレーム１の撮影画像データからでも、２個の位置マーク６は検出できる。
【００５３】
ステップＳＡ４では、撮影画像データから位置マークを探す処理、位置マークのＩＤを求める処理、位置マークの中心位置を求める処理が行われる。図１３は位置検出処理で使用されるデータ例で、図２に示す位置演算プロセスブロック３ｃを実行するＤＳＰが使用するカウンタおよびレジスタの構成例を示す。なお、カウンタおよびレジスタの内容の説明は、後述するフローチャートで行う。
【００５４】
＜位置マーク構造体の定義＞
撮影画像データには、図７に示すように複数の位置マーク６が存在している。そして、図８に示す撮影画像の水平走査ごとに複数の位置マーク６のデータを処理する必要がある。このため各位置マーク６ごとに各種パラメータを格納する位置マーク構造体を作成して管理している。位置マーク構造体の成分の３ビットのステータスＦで、位置マークのパラメータ収集状況が表されている。そして、最終的には、ステータスＦが１１１に設定された複数の位置マーク構造体を求める。
【００５５】
位置マーク構造体のデータ構成を以下に示す。
Ｆ          ：ステータス
ＩＤｃｏｍｐ：ＩＤ検出ステータス
Ｂ１２ｍ    ：サンプリング回数１２回での水平位置（カメラＡＢ座標系）
Ａｈ        ：最内周リング９の上淵垂直位置（カメラＡＢ座標系）
Ａｌ        ：最内周リング９の下淵垂直位置（カメラＡＢ座標系）
ＣＥＮＴｂ  ：位置マーク中心水平位置（カメラＡＢ座標系）
ＣＥＮＴａ  ：位置マーク中心垂直位置（カメラＡＢ座標系）
ＩＤ        ：位置マークＩＤ
【００５６】
位置マーク構造体のFの３ビットは以下のステータスとして利用される。
Ｆ＝０００：以前に位置マーク候補になった
Ｆ＝００１：位置マーク候補を続行
Ｆ＝０１０：以前に位置マークのＩＤ検出完了
Ｆ＝０１１：位置マークのＩＤ検出完了
Ｆ＝１１１：位置マークの位置及びＩＤ検出完了
【００５７】
＜位置マークを探す＞
撮影画像走査は２次元画像センサ３ａで撮影した画像上部より行われ、水平走査毎に撮影画像からのデータが位置マークのデータか否かを位置算出プロセスブロック３ｃで判定する。この処理では、カメラプロセスブロック３ｂから出力されるデータ中のパルス間隔を計測し、計測したパルス間隔でデータのサンプリングを行ってサンプリングデータを生成するとともに、位置マークの中心付近の走査で位置マーク６を検出する。以下の例では、図５で説明したようにサンプリングパルスの１２回目の立ち上がりが位置マーク６の中心となる構成を例に説明する。
【００５８】
図１４は位置マーク検出処理の動作例を示すフローチャートで、図１３等を適宜参照しながら、以下に位置マークを探す処理の詳細を説明する。ステップＳＢ１では、サンプリング周期をセットするレジスタに充分長いサンプリング周期Ｔｓをセットする。次に、ステップＳＢ２では、立上がり周期カウンタで撮影画像のデータから立上がり周期Ｔをカウントする。次のステップＳＢ３およびステップＳＢ４では、立上がり周期Ｔがサンプリング周期Ｔｓの１０パーセント増より小さく、かつ、１０パーセント減より大きいか否かを判断する。
【００５９】
すなわち、ステップＳＢ３で立上がり周期Ｔがサンプリング周期Ｔｓの１０パーセント増より小さいと判断し、ステップＳＢ４で立上がり周期Ｔがサンプリング周期Ｔｓの１０パーセント減よりも小さいと判断すると、ステップＳＢ５で立上がり周期Ｔを新たなサンプリング周期Ｔｓとしてセットする。そして、サンプリング・カウンタＮをリセットするため、ステップＳＢ６でレジスタにサンプリングＥＮ＝０をセットする。
【００６０】
以上の動作は、図５で説明した位置マーク６の同期リング７からサンプリング周期Ｔｓを取得するために行われる。すなわち、位置マーク６のＩＤリング８の立上がり周期の最小値は、同期リング７の立上がり周期、すなわちサンプリング周期の２倍としてある。よって、常に撮影画像データの立ち上がり周期を監視し、常に立ち上がり周期の最小値がサンプリング周期Ｔｓとしてレジスタに設定することで、同期リング７からサンプリング周期Ｔｓを取得することができる。
【００６１】
ステップＳＢ３で立上がり周期Ｔがサンプリング周期Ｔｓの１０パーセント増以上であると判断すると、データの取り込みを行うため、ステップＳＢ７でレジスタにサンプリングＥＮ＝１をセットする。
【００６２】
ステップＳＢ８ではサンプリングの回数、すなわち、サンプリングパルスのカウント数が１２回であるか否かを判断しており、サンプリング回数が１２回である場合は、ステップＳＢ９でサンプリング回数が１２回目の撮影画像データの垂直走査位置データをＡ１２レジスタに一時記憶し、水平走査位置データをＢ１２レジスタに一時記憶する。以下の説明では、サンプリング回数が１２回目の撮影画像データの垂直走査位置データを垂直走査位置データＡ１２、水平走査位置データを水平走査位置データＢ１２と称す。そして、ステップＳＢ１０でレジスタにサンプリングを１２回行ったことを示すステータスであるサンプリング１２ｃｏｍｐ＝１をセットし、一時記憶したデータをサンプルデータ候補とする。
【００６３】
ここで、フローチャートの表記では、サンプリング・カウントＮは「０」からカウントしているため、例えば、ステップＳＢ９におけるｉｆ（Ｎ＝１１）の判断は、サンプリング回数が１２回目であるか否かを示している。
【００６４】
ステップＳＢ８でサンプリング回数が１２回ではないと判断すると、ステップＳＢ１１でサンプリング回数が２３回以上であるか判断する。ステップＳＢ１１でサンプリング回数が２３回以上であると判断すると、撮影画像データは位置マークではないと判断し、レジスタにサンプリングＥＮ＝０をセットして、サンプリングを中止する。ステップＳＢ８でサンプリング回数が１２回目ではなく、かつ、ステップＳＢ１１でサンプリング回数が２３回以上でもない場合は、ステップＳＢ２に戻り、立上がり周期の監視を続ける。
【００６５】
ステップＳＢ３で立上がり周期Ｔがサンプリング周期Ｔｓの１０パーセント増より小さいと判断し、ステップＳＢ４で立上がり周期Ｔがサンプリング周期Ｔｓの１０パーセント減よりも大きいと判断すると、ステップＳＢ１４で、サンプリング回数が２３回であるか否かを判断する。
【００６６】
すなわち、撮影画像データの立上がり周期とサンプリング周期Ｔｓの一致は±１０％以内を一致としている。ステップＳＢ１４で、サンプリング回数が２３回目に撮影画像データの立上がり周期とサンプリング周期Ｔｓの一致が検出されることは、位置マーク６の同期リング７の周期を検出したことになる。これにより、ステップＳＢ１５でレジスタにサンプリング２３ｃｏｍｐ＝１をセットし、ステップＳＢ６でサンプリングＥＮをリセットしサンプリングを完了する。ここで、「サンプリング２３ｃｏｍｐ＝１」とは、位置マーク６のほぼ中心、すなわち、図５においてＫ−Ｋ′走査をしている状況を示している。
【００６７】
ステップＳＢ１４で、サンプリング回数が２３回ではないと判断すると、撮影画像データは位置マークでないと判断して、ステップＳＢ１６でサンプリング１２ｃｏｍｐをリセットし、ステップＳＢ６でサンプリングＥＮをリセットしサンプリングを完了する。
【００６８】
＜データサンプリング＞
図１５はデータサンプリング処理の動作例を示すフローチャートで、次に、サンプリングカウンタの更新とデータサンプリングの処理について説明する。撮影画像データのサンプリング動作は、レジスタにセットされたサンプリング周期Ｔｓ毎に行われる。ステップＳＣ１で、サンプリングカウンタのカウント値Ｎをリセットする。ステップＳＣ２で、サンプリング周期カウンタのカウント値をリセットする。
【００６９】
ステップＳＣ３で、サンプリングＥＮ＝０の間はステップＳＣ１に戻りサンプリングカウントＮおよびサンプリング周期カウントのリセットを繰り返す。サンプリングＥＮ＝１になると、ステップＳＣ４に進みサンプリング周期カウントが開始される。
【００７０】
ステップＳＣ４で、サンプリング周期カウンタをインクリメントする。ステップＳＣ５で、カウントしたサンプリング周期が、レジスタにセットされているサンプリング周期Ｔｓになったと判断すると、ステップＳＣ６でサンプリングカウンタのカウント値Ｎをインクリメントする。
【００７１】
ステップＳＣ６でサンプリングカウンタのカウント値Ｎをインクリメントすると、ステップＳＣ７でレジスタにサンプリングＥＮ＝１がセットされているか否かを判断する。ステップＳＣ７で、サンプリングＥＮ＝０がセットされていると判断すると、ステップＳＣ１に戻り、サンプリングカウンタをリセットする。
【００７２】
また、ステップＳＣ７で、サンプリングＥＮ＝１がセットされていると判断すると、ステップＳＣ８でサンプリングカウンタのカウント値Ｎが３〜１９に入っているか否か判断する。ステップＳＣ８で、サンプリングカウンタＮが３〜１９に入っていないと判断すると、ステップＳＣ２に戻り、サンプリングカウンタのカウントを続ける。
【００７３】
ステップＳＣ８でサンプリングカウンタＮが３〜１９に入っていると判断すると、ステップＳＣ９で、撮影画像データから２値のサンプリングデータに変換されたサンプリング４回から２０回間の収集データがレジスタのサンプリングデータＳ［３］〜Ｓ［１９］に記録される。
【００７４】
＜位置マークの位置検出＞
図１６は位置検出処理の動作例を示すフローチャートで、位置マーク６の位置およびＩＤを検出する処理の全体動作をまず説明する。ステップＳＤ１で「サンプリングＥＮ」が１から０に変化したと判断し、ステップＳＤ２で「サンプリング１２ｃｏｍｐ＝１」が成立したと判断すると、この図１６のフロー処理が行われる。
【００７５】
ステップＳＤ３で位置マーク候補の検索が行われる。ステップＳＤ３の処理は図１８で詳細するが、図１４のステップＳＢ９で記録したサンプリング回数が１２回目の位置データＡ１２およびＢ１２から位置マーク構造体を検索し、該当の位置マークを探す。
【００７６】
ステップＳＤ４で位置マーク６のＩＤを検出し、ステップＳＤ５で位置マークの水平位置を求め、ステップＳＤ６で位置マークの垂直位置を求め、ステップＳＤ７で非該当候補の削除が行われる。
【００７７】
非該当候補の削除は、図８で説明した２次元画像センサ３ａ水平走査の最大画素（右端）の処理完了後、水平走査帰還区間で該当水平走査内で位置マークのデータが検出できなかった位置マーク構造体を削除する。ただし構造体のステータスＦが１１１で示される位置マークは検出完了のため削除はされない。
【００７８】
以上の処理で、位置マークの位置が検出されると、ステップＳＤ８でサンプリング１２ｃｏｍｐがリセットされ、ステップＳＤ９でサンプリング２３ｃｏｍｐがリセットされ、ステップＳＤ１０でサンプリングデータがリセットされる。
【００７９】
＜位置マーク候補の検索＞
図１７は位置マークの検出原理を示す説明図である。サンプリングデータが位置マークデータか否かの判断は、図１７に示すように、サンプリング回数が１２回目の位置データが走査ごとに連続した軌跡を描くことを利用している。すなわち、図１７において位置マーク６の左上から順次水平走査を行い、同期リング７で得られた周期で生成したサンプリングパルスの１２回目の位置の軌跡は放物線状となる。よって、位置マーク構造体のリストの中からサンプリング回数が１２回目の水平走査位置データに近いＢ１２成分を有する位置マーク構造体を探し出す検索を実行する。
【００８０】
図１８は位置マーク候補の検索処理の動作例を示すフローチャートで、次に位置マークの候補を検索する処理の詳細を説明する。ステップＳＥ１では、検索対象となっているサンプリング回数が１２回目の水平走査位置データＢ１２に対して、この水平走査位置データＢ１２を取得したときのサンプリング周期をＴｓ、位置マークＭ［］リストでサンプリング回数が１２回目の水平走査位置データをＢ１２ｍとしたとき、Ｂ１２−Ｔｓ＜Ｂ１２ｍ＜Ｂ１２＋Ｔｓで、かつ、ステータスＦが０００または０１０である位置マーク構造体を検索する。
【００８１】
ステップＳＥ２では、位置マークＭ［］リストで該当する位置マーク構造体の有無を判断する。そして、ステップＳＥ２で検索対象の水平走査位置データＢ１２の前後±Ｔｓの間に含まれる水平走査位置データＢ１２ｍを記録した位置マーク構造体が見つかった場合、ステップＳＥ３でステータスＦの最下位ビットを１にセットする。例えば、ステータスＦが０００の位置マーク構造体では、Ｆ＝００１に更新される。また、ステータスＦが０１０の位置マーク構造体では、Ｆ＝０１１に更新される。
【００８２】
ステップＳＥ２で検索対象の水平走査位置データＢ１２の前後±Ｔｓの間に該当する位置マークの構造体が無いと判断すると、ステップＳＥ４で、サンプリング回数が１２回目のデータＳ［１１］に「１」がセットされているか「０」がセットされているか、すなわち、サンプリング回数が１２回目のデータが黒であるか白であるかを判断する。
【００８３】
ステップＳＥ４の判断で、データＳ［１１］＝０、すなわち、サンプリング回数が１２回目のデータが「白」であると判断すると、ステップＳＥ５で、新たな位置マーク構造体を作成する。この新位置マーク構造体では、ステータスＦの最下位ビットは１がセットされる。
【００８４】
このステップＳＥ４でサンプリング回数が１２回目のデータが黒であるか白であるかを判断する理由は、サンプリング回数が１２回目のときの位置データの連続した軌跡の開始点を、データが「白」の箇所として、データが「白」の箇所からサンプリング回数が１２回目の位置データの軌跡追跡を開始するためである。
【００８５】
すなわち、サンプリング回数が１２回目の位置データの追跡開始点でのデータが「黒」であると、位置データの追跡開始点が位置マーク６の最内周リング９内となり、この最内周リング９内で位置マーク６の垂直位置を検出することができないためである。
【００８６】
よって、ステップＳＥ４の判断で、データＳ［１１］＝１、すなわち、サンプリング回数が１２回目のデータが「黒」であると判断すると、位置マークの垂直位置、位置マークのＩＤ検出、位置マークの水平位置、非該当候補の削除の処理ブロックはパスされ、レジスタに記録されているサンプリング回数が１２回目の位置データ等は破棄される。
【００８７】
＜位置マークのＩＤデータ取得＞
位置マークのＩＤデータは、図１７に示す位置マーク６の最内周リング９を含む走査、例えばＫ−Ｋ′走査で取得できる。位置マーク６のほぼ中心を走査したことを示すステータス「サンプリング２３ｃｏｍｐ＝１」の状態で、位置マーク６のＩＤリング８のデータが位置マーク６の中心を基準に左右対称となっていることを確認して、ＩＤデータを取得する。これによりＩＤデータの取得精度を高めている。
【００８８】
図１９は位置マークのＩＤデータ取得処理の動作例を示すフローチャートで、次にＩＤを取得する処理の詳細を説明する。まず、ステップＳＦ１で、位置マークＭ［］リストの中でステータスＦが００１、すなわち、ＩＤが検出されていない位置マーク構造体を検索する。
【００８９】
ステップＳＦ１でステータスＦが００１の位置マーク構造体があると判断すると、ステップＳＦ２でサンプリング２３ｃｏｍｐ＝１か否か判断する。ステップＳＦ２で位置マーク６のほぼ中心が走査されたと判断すると、ステップＳＦ３でサンプリング回数が１１回目と１２回目と１３回目のデータが共に「黒」であるか否か判断する。
【００９０】
本実施の形態では、位置マーク６の最内周リング９の半径は１．５サンプリング周期で構成されているため、位置マーク６のほぼ中心、例えば図１７のＫ−Ｋ′線近傍が走査されると、サンプリング回数が１１回目におけるデータ、サンプリング回数が１２回目におけるデータ、およびサンプリング回数が１３回目におけるデータは共に「１」となるはずである。よって、サンプリング回数が１１回目から１３回目のデータが共に「１」であって、最内周リング９を検出できたことを確認して、ＩＤ検出精度を高めている。
【００９１】
ステップＳＦ３で、最内周リング９を検出できたと判断すると、ステップＳＦ４で、最内周リング９を基準に対称の位置にあるデータが等しいか否か確認する。このステップＳＦ４では、ＩＤリング８のデータが、位置マーク６の中心を基準に左右対称となっていることを確認している。例えば、サンプリング回数が４回目と２０回目の位置は最内周リング９を基準に対称の位置にある。ステップＳＦ４では、ＩＤリング８のデータが位置マーク６の中心を基準に左右対称となっていると、ＩＤの取得ステータスは、ＩＤｄｅｔ＝１がセットされる。
【００９２】
ステップＳＦ５で、ＩＤｄｅｔ＝１がセットされたと判断すると、該当する位置マーク構造体のＩＤデータを記録し、ステータスＦを０１１に更新し、ＩＤｃｏｍｐ＝１をセットする。
【００９３】
＜位置マークの水平位置取得＞
位置マーク６の中心水平位置は、最内周リング９内のサンプリング回数が１２回目の位置軌跡のうち、水平位置最小値を位置マーク６の中心水平位置データとする。さらに、位置マーク６の最内周リング９である確認とＩＤ検出する条件を付加して位置データの検出信頼性を高めている。
【００９４】
図２０は位置マークの水平位置取得処理の動作例を示すフローチャートで、次に位置マーク６の水平位置を取得する処理の詳細を説明する。ここで、上述したように、位置マーク６の中心は同期リング７の周期で１２回目の位置が位置マーク６の中心となるように、位置マーク６の各リングは構成されている。
【００９５】
まず、ステップＳＧ１で位置マークＭ［］リストでステータスＦが００１か００１１の位置マーク構造体を検索する。すなわち、図１８で候補となった位置マーク構造体が対象となる。
【００９６】
次に、ステップＳＧ２でＩＤｃｏｍｐ＝１がセットされているか、すなわち、ＩＤの検出が終了しているか否かを判断する。ステップＳＧ２でＩＤｃｏｍｐ＝１がセットされていると判断すると、ステップＳＧ３でサンプリング回数が１２回目の水平位置データＢ１２が、位置マーク構造体の水平位置データＢ１２ｍより小さいか否かを判断する。ステップＳＧ３でサンプリング回数が１２回目の水平位置データＢ１２が、位置マーク構造体の水平位置データＢ１２ｍより小さいと判断すると、ステップＳＧ４で位置構造体の水平位置データＢ１２ｍを検索対象の水平位置データＢ１２に更新する。この処理により、サンプリング回数が１２回目の位置軌跡が水平位置の最小値に向かって移動していくことになる。そして、最終的には、水平位置データＢ１２ｍの値はサンプリング回数が１２回目の水平位置の最小値となる。
【００９７】
ステップＳＧ３で、位置マーク構造体の水平位置データＢ１２ｍが、検索対象のサンプリング回数が１２回目の水平位置データＢ１２以下であると判断すると、ステップＳＧ５でサンプリング回数が１２回目の時のデータが「０」であるか否かを判断する。
【００９８】
ステップＳＧ５でサンプリング回数が１２回目の時のデータが「０」、すなわち「白」を検出したと判断すると、サンプリング回数が１２回目の位置軌跡が位置マーク６の最内周リング９から抜けたことになる。よって、ステップＳＧ６で、水平位置データＢ１２ｍを位置マークの中心水平位置データＣＥＮＴｂとして確定する。
【００９９】
＜位置マークの垂直位置＞
位置マーク６の中心の垂直位置は、最内周リング９の上下淵の垂直位置より算術平均で求める。さらに位置マーク６の最内周リング９の円である確認とＩＤ検出する条件を付加して位置データの検出信頼性を高めている。
【０１００】
図２１は位置マークの垂直位置取得処理の動作例を示すフローチャートで、次に位置マーク６の垂直位置を取得する処理の詳細を説明する。まず、ステップＳＨ１で位置マークＭ［］リストでステータスＦが００１か０１１の位置マーク構造体を検索する。すなわち、図１８で候補となった位置マーク構造体が対象となる。
【０１０１】
次に、ステップＳＨ２でＩＤｃｏｍｐ＝１がセットされているか、すなわち、ＩＤの検出が終了しているか否かを判断する。ステップＳＨ２でＩＤｃｏｍｐ＝１がセットされていないと判断すると、ステップＳＨ３でサンプリング回数が１２回目の時のデータが「１」であるか否かを判断する。
【０１０２】
ステップＳＨ３でサンプリング回数が１２回目の時のデータが「０」、すなわち「白」の部分を検出したと判断すると、ステップＳＨ４で上淵垂直位置データＡｈを、このサンプリング回数が１２回目の時の新しい垂直位置データＡ１２に更新する。これに対して、ステップＳＨ３でサンプリング回数が１２回目の時のデータが「１」、すなわち「黒」の部分を検出したと判断すると、該当垂直位置データによる処理はパスする。
【０１０３】
図１７において、ＩＤが検出される前のサンプリング回数が１２回目の軌跡を、Ｊ−Ｊ′走査を一例として位置マーク６の右上部に示している。図１７のサンプリング回数が１２回目の位置軌跡では、サンプリング回数が１２回目のデータＳ［１１］が白部分（サンプリングデータ＝０）では走査ごとに上淵垂直位置データＡｈを新しい位置データＡ１２＋１に更新し、黒部分（サンプリングデータ＝１）では位置データの更新を中断する。これにより、サンプリング回数が１２回目の位置軌跡は、位置マーク６の最内周リング９に向かって垂直位置データが更新されて行き、最内周リング９の上淵の垂直位置データＡｈが確定する。
【０１０４】
ステップＳＨ２でＩＤｃｏｍｐ＝１がセットされていると判断すると、ステップＳＨ５でサンプリング回数が１２回目の時のデータが「１」であるか否かを判断する。
【０１０５】
ステップＳＨ５でサンプリング回数が１２回目の時のデータが「１」、すなわち「黒」の部分を検出したと判断すると、ステップＳＨ６で最内周リング９の下淵の垂直位置データＡｌがカメラ垂直最大値以上であるか否か判断する。
【０１０６】
ステップＳＨ６で最内周リング９の下淵の垂直位置データＡｌがカメラ垂直最大値より小さい、すなわち、カメラの画角内にあると判断すると、ステップＳＨ７で、下淵垂直位置データＡｌを、サンプリング回数が１２回目の時の新しい垂直位置データＡ１２に更新する。そして、後述するようにＳ［１１］＝０を検出した段階で、最内周リング９の下淵垂直位置Ａｌが確定する。
【０１０７】
ステップＳＨ６で最内周リング９の下淵の垂直位置データＡｌが撮影画像走査の最大値に達していると判断すると、最内周リング９の下淵垂直位置を求めることができないため、ステップＳＩ８で位置マーク構造体のステータスＦの最下位ビットをリセットする。この位置マーク構造体は後述する図２１の非該当候補の削除のフローで削除される。
【０１０８】
ステップＳＨ５でサンプリング回数が１２回目の時のデータが「０」、すなわち「白」の部分を検出したと判断すると、最内周リング９の下淵垂直位置Ａｌが確定する。これにより、ステップＳＨ９で位置マーク６の中心の垂直位置ＣＥＮＴａを求める。
【０１０９】
すなわち、上淵垂直位置Ａｈと下淵垂直位置Ａｌの平均値を求めることで、位置マーク６の中心の垂直位置ＣＥＮＴａを求めることができ、上淵垂直位置Ａｈと下淵垂直位置Ａｌの平均値を中心垂直位置ＣＥＮＴａにセットする。
【０１１０】
そして、ステップＳＨ１０で該当する位置マーク構造体のステータスＦを１１１に設定し、位置マークの位置とＩＤが求まったことを記録する。
【０１１１】
＜非該当候補の削除＞
任意のラインで水平走査が最大画素（右端）まで行われ、処理が完了すると、該当水平走査内で位置マークのデータが検出できなかった位置マーク構造体を水平走査帰還区間中に削除する。
【０１１２】
図２２は非該当候補の削除処理の動作例を示すフローチャートで、次に非該当候補を削除する処理の詳細を説明する。まず、ステップＳＪ１で水平走査帰還区間であるか否か判断し、ステップＳＪ２で位置マークＭ［］リストの中でステータスＦの最下位ビットが「０」、すなわち、ステータスＦが０００の位置マーク構造体と、ステータスＦが０１０の位置マーク構造体を削除する。これにより、該当水平走査中で位置マークのデータが検出できなかった位置マーク構造体が削除される。
【０１１３】
また、次のラインの水平走査の位置マークデータ処理のため、ステップＳＪ３では、位置マークＭリスト［］の中でステータスＦが００１と０１１の位置マーク構造体のこのステータスＦの最下位ビットをリセットする。但し、ステータスＦが１１１で示される位置マーク構造体は、位置マークの位置およびＩＤの検出が完了しているので、該当位置マーク構造体のステータスＦは無変更とする。
【０１１４】
以上説明した図１４〜図１６および図１８〜図２２の処理で、複数の位置マークの中心位置およびＩＤを取得することができる。
【０１１５】
図１０に戻り、ステップＳＡ５では、中心位置およびＩＤを取得できた複数の位置マーク６の中から、ターゲット位置に近い位置マーク６を２個以上選択する。すなわち、ステータスＦが１１１の位置マーク構造体を検索し、垂直位置ＣＥＮＴａおよび水平位置ＣＥＮＴｂがあらかじめ設定されている画像データ上でのターゲット位置の座標に近い２個以上の位置マークを選択する。
【０１１６】
図２３は位置マークの選択例を示す説明図で、位置マーク６が例えば図４に示す配置である場合に、ＩＤ（１，２）の位置マーク６とＩＤ（１，３）の位置マーク６を選択したものとする。カメラ座標系であるＡＢ座標系では、ターゲット位置Ｔの座標を(ａ，ｂ)とする。ＩＤ（１，２）の位置マーク６の中心垂直位置をＣＥＮＴａ、水平中心位置をＣＥＮＴｂとすると、ＩＤ（１，２）の位置マーク６を原点とした場合のターゲット位置ＴのＡ座標はＡ１＝ａ−ＣＥＮＴａ、Ｂ座標はＢ１＝ｂ−ＣＥＮＴｂとなる。
【０１１７】
なお、本例では、２次元画像センサ３ａの走査はディスプレイ２の走査と非同期のため撮影画像データにおいて、一部の位置マークが撮影されない場合がある。もし、中心位置およびＩＤを取得できた位置マーク６が１個である場合は、処理を終了する。
【０１１８】
ステップＳＡ６では、ステップＳＡ５で選択した２個以上の位置マークの中心位置およびＩＤを用いて、カメラ座標系を位置パターン座標系に変換する。図２４は座標変換例を示す説明図で、位置マーク６を２個検出した場合の例を説明する。この例は、ディスプレイ２上の位置マーク６の間隔に比べ、ディスプレイ２と位置検出端末３までの撮影距離が十分大きい場合に使用する。撮影した位置マーク６の１個を原点とした座標系をＣＤ座標系とする。ＣＤ座標系は図６に示す位置パターン座標ＸＹを平行移動した座標系である。
【０１１９】
原点の位置マーク６と他方の位置マーク６のＩＤ［Ｌ，Ｍ］間でＭが同一でＬの変化がある場合、２つの位置マーク中心を通る軸をＣ座標軸に設定する。Ｃ座標と直角で原点の位置マーク６を通る軸をＤ座標軸とする。
【０１２０】
ＩＤ［Ｌ，Ｍ］間でＬが同一でＭの変化がある場合、２つの位置マーク中心を通る軸をＤ座標軸に設定する。Ｄ座標と直角をなし原点の位置マーク６を通る軸をＣ座標軸とする。ＩＤ［Ｌ，Ｍ］間でＬ，Ｍの双方に変化がある場合、位置マーク双方のＬ，Ｍの差値に対応してＣ，Ｄ座標軸を決定する。
【０１２１】
そして、図２３で示すカメラ座標Ａ，Ｂで表現されているターゲット位置Ｔを、位置マーク６を通るＣ，Ｄ座標へ変換を行う。ＣＤ座標系のスケールは、Ｃ，Ｄ座標上に展開した位置マーク６のピッチであり、位置パターン座標上での位置マーク間隔であるｍａｒｋＰＰである。ターゲット位置Ｔと位置マーク６との位置関係は維持した状態でカメラ座標であるＡＢ座標系から位置パターン座標であるＣＤ座標系へターゲット位置Ｔを変換する。
【０１２２】
例えば、カメラ座標であるＡＢ座標を平行移動した座標系でのターゲット位置Ｔ（Ａ１，Ｂ１）を回転し、位置マーク間隔で座標スケール調整をした位置パターン座標であるＣＤ座標系におけるターゲット位置Ｔ（ｃ，ｄ）として近似する。
【０１２３】
図示しないが、位置マークを４点検出でき、各位置マークのＩＤ［Ｌ，Ｍ］のＬ，ｍそれぞれが異なる場合は、３次元計算を行って１つの位置マークを原点にしたＣ，Ｄ座標系でのターゲットの位置を求めることができる。
【０１２４】
ステップＳＡ７では、図６に示すように位置マーク中心位置とターゲット位置Ｔ（ｃ，ｄ）から位置パターン座標上のターゲット位置Ｔ（ｘ、ｙ）を求める。
【０１２５】
ここで
Ｔ（ｘ、ｙ）    ：ディスプレイ２の位置パターン画像上のターゲット位置
ｏｆｆｓｅｔ  ｙ：水平方向の位置マーク開始位置
ｏｆｆｓｅｔ  ｘ：垂直方向の位置マーク開始位置
ｍａｒｋＰＰ    ：位置マーク画素間隔
ＩＤ（Ｉｏ）    ：ターゲット位置（ｃ，ｄ）の座標原点の位置マークのＩＤの                  縦方向番号
ＩＤ（ｍｏ）    ：ターゲット位置（ｃ，ｄ）の座標原点の位置マークのＩＤの                  横方向番号
ｄ              ：ＩＤ（Ｉｏ，ｍｏ）の位置マークからのターゲット水平位置
ｃ              ：ＩＤ（Ｉｏ，ｍｏ）の位置マークからのターゲット垂直位置
である。
【０１２６】
ターゲット位置は以下の式（１）および式（２）により求められる。
ｙ＝ｏｆｆｓｅｔ  ｙ＋ｍａｒｋＰＰ×ＩＤ（ｍｏ）＋ｄ・・・（１）
ｘ＝ｏｆｆｓｅｔ  ｘ＋ｍａｒｋＰＰ×ＩＤ（Ｉｏ）＋ｃ・・・（２）
ステップＳＡ８では、位置検出端末３で得られたターゲットの位置データＴ（ｘ，ｙ）を本体に転送する。そして、ステップＳＡ９では、装置本体４のプロセッサ４ａは、ターゲット位置データＴ（ｘ，ｙ）に対応したアプリケーション・プログラムを実行する。
【０１２７】
上述した例では、位置マーク６は等間隔で並んでいるが、位置マーク６の並びを市松状で並べると位置マーク６の配置が高密度化し位置検出精度が向上する。
【０１２８】
上述した位置検出システムの変形例としては、位置パターン画像の挿入直後、白黒反転させた位置パターン画像を挿入することで、視覚的な位置マークの検知を減少させることができる。
【０１２９】
位置パターン画像５の変形例として、位置パターン画像５の挿入直前の画像の平均輝度に位置パターン画像５の平均輝度を合わせてこの位置パターン画像５を挿入することで、視覚的な位置マーク６の検知を減少させることができる。
【０１３０】
また、位置パターン画像５の変形例として、位置パターン画像の挿入が指示される直前の画像に、位置パターン画像を構成する各位置マーク６を多重した画像を数フレーム挿入してディスプレイ２に表示する。この表示を位置検出端末３のカメラ３ｇで撮像し、位置マーク挿入直前の撮像画像データを基準として、位置マーク６を多重された画像からフレーム相関のあるデータを除去して位置マーク６のデータを再生して撮像データとすることで、さらに視覚的な位置マーク６の検知を減少させることができる。
【０１３１】
また、位置検出端末３と装置本体４の間は、同期信号の送受が不要であるので、Ｂｌｕｅｔｏｏｔｈ通信等の無線でコマンドと位置データを転送できる。
【０１３２】
位置マークの変形例を図２５に示す。例えば、同期リング７は青のリング、ＩＤリング８は緑のリング、最内周リング９は赤のリングとし、位置検出端末３で２次元画像センサとしてカラーセンサを使用することにより、位置マーク６の検出精度が向上する。また、カラーの位置マークの挿入直後、各カラーの補色で構成するカラー位置マークを挿入して、視覚的な位置マークの検知を減少させることができる。
【産業上の利用可能性】
【０１３３】
本発明は、プロジェクタによる大画面の表示手段を利用したシステムで、レーザポインタを使用した位置指定、および指定された位置に応じた処理が可能となる。
【図面の簡単な説明】
【０１３４】
【図１】本実施の形態の位置検出システムの概要を示す説明図である。
【図２】本実施の形態の位置検出システムの構成例を示すブロック図である。
【図３】位置パターン画像の構成例を示す説明図である。
【図４】位置マークＩＤの構成例を示す説明図である。
【図５】位置マークの構成例を示す説明図である。
【図６】カメラの撮影範囲および座標例を示す説明図である。
【図７】撮影画像の一例を示す説明図である。
【図８】２次元画像センサの走査例を示す説明図である。
【図９】位置パターン画像の変形例を示す説明図である。
【図１０】位置検出動作の処理の流れを示すフローチャートである。
【図１１】位置パターン画像の挿入タイミング例を示すタイムチャートである。
【図１２】カメラで撮影した画像例を示す説明図である。
【図１３】位置検出処理で使用されるデータ例を示す説明図である。
【図１４】位置マーク検出処理の動作例を示すフローチャートである。
【図１５】データサンプリング処理の動作例を示すフローチャートである。
【図１６】位置検出処理の動作例を示すフローチャートである。
【図１７】位置マークの検出原理を示す説明図である。
【図１８】位置マーク候補の検索処理の動作例を示すフローチャートである。
【図１９】位置マークのＩＤデータ取得処理の動作例を示すフローチャートである。
【図２０】位置マークの水平位置取得処理の動作例を示すフローチャートである。
【図２１】位置マークの垂直位置取得処理の動作例を示すフローチャートである。
【図２２】非該当候補の削除処理の動作例を示すフローチャートである。
【図２３】位置マークの選択例を示す説明図である。
【図２４】座標変換例を示す説明図である。
【図２５】位置マークの変形例を示す説明図である。
【図２６】従来の位置検出システムの構成例を示すブロック図である。
【符号の説明】
【０１３５】
１・・・位置検出システム、２・・・ディスプレイ、３・・・位置検出端末、３ａ・・・２次元画像センサ、３ｃ・・・位置算出プロセスブロック、３ｅ・・・スイッチ、３ｇ・・・カメラ、４・・・装置本体、４ａ・・・プロセッサ、５・・・位置パターン画像、６・・・位置マーク、７・・・同期リング、８・・・ＩＤリング、９・・・最内周リング
【図１】
2005052306.tif 000003
【図２】
2005052306.tif 000004
【図３】
2005052306.tif 000005
【図４】
2005052306.tif 000006
【図５】
2005052306.tif 000007
【図６】
2005052306.tif 000008
【図７】
2005052306.tif 000009
【図８】
2005052306.tif 000010
【図９】
2005052306.tif 000011
【図１０】
2005052306.tif 000012
【図１１】
2005052306.tif 000013
【図１２】
2005052306.tif 000014
【図１３】
2005052306.tif 000015
【図１４】
2005052306.tif 000016
【図１５】
2005052306.tif 000017
【図１６】
2005052306.tif 000018
【図１７】
2005052306.tif 000019
【図１８】
2005052306.tif 000020
【図１９】
2005052306.tif 000021
【図２０】
2005052306.tif 000022
【図２１】
2005052306.tif 000023
【図２２】
2005052306.tif 000024
【図２３】
2005052306.tif 000025
【図２４】
2005052306.tif 000026
【図２５】
2005052306.tif 000027
【図２６】
2005052306.tif 000028