(57)【要約】【課題】マーカを常時表示することなく、スクリーン上の投影画像に対するポインティング位置を正確に検出する。【解決手段】ポインティング装置１１は、プロジェクタ１２によってスクリーン１５上に投影された画像の任意の位置Ｐをポインティングする。このポインティング装置１１は、特定のモードが設定されたときのみ、ＰＣ１３に投影画像の四隅にマーカを表示させ、そのマーカ付きの投影画像をその周辺画像を含めてカメラ１０にて撮影した第１の画像と、通常のモードで撮影した第２の画像との対応関係から現在のポインティング位置Ｐを算出する。【選択図】      図１
2008003802.tif 000002
【特許請求の範囲】
【請求項１】
スクリーン上に投影された画像の任意の位置をポインティングするポインティング装置において、
特定のモードを設定するモード設定手段と、
このモード設定手段によって前記特定のモードが設定されたときのみ、前記スクリーン上の投影画像の四箇所にマーカを表示させるマーカ表示手段と、
このマーカ表示手段によって表示されたマーカ付きの投影画像をその周辺画像を含めて撮影した第１の画像を取得する第１の画像取得手段と、
前記第１の画像に含まれる前記周辺画像から特徴点を抽出する第１の特徴点抽出手段と、
通常のモードにおいて、前記スクリーン上の投影画像をその周辺画像を含めて撮影した第２の画像を取得する第２の画像取得手段と、
前記第２の画像に含まれる前記周辺画像から特徴点を抽出する第２の特徴点抽出手段と、
前記第１の画像上の前記各マーカの位置と、前記第１の特徴点抽出手段によって抽出された特徴点と前記第２の特徴点抽出手段によって抽出された特徴点との対応関係に基づいて、現在のポインティング位置を検出する位置検出手段と
を具備したことを特徴とするポインティング装置。
【請求項２】
前記モード設定手段は、本装置の電源投入直後に前記特定のモードを設定することを特徴とする請求項１記載のポインティング装置。
【請求項３】
前記特定のモードを任意に設定するための操作手段を備え、
前記モード設定手段は、前記操作手段が操作されたときに前記特定のモードを設定することを特徴とする請求項１記載のポインティング装置。
【請求項４】
前記モード設定手段は、前記位置検出手段によってポインティング位置を検出できなかった場合に前記特定のモードを設定することを特徴とする請求項１記載のポインティング装置。
【請求項５】
前記第１の画像取得手段によって得られた第１の画像上の前記各マーカの位置が所定の条件を満たす場合に当該画像が位置検出用として適切な画像であると判定する位置検出用画像判定手段をさらに備えることを特徴とする請求項１記載のポインティング装置。
【請求項６】
前記所定の条件は、前記各マーカの重心が当該画像の中心付近にあり、かつ、前記各マーカのそれぞれが当該画像の外側付近にないことであることを特徴とする請求項５記載のポインティング装置。
【請求項７】
前記位置検出用画像判定手段による判定結果に基づいて、前記スクリーン上の投影画像を正しく認識できているか否かを表示する表示手段をさらに具備したことを特徴とする請求項１記載のポインティング装置。
【請求項８】
前記位置検出用画像判定手段による判定結果に基づいて、前記スクリーン上の投影画像を正しく認識できているか否かを表示する表示手段をさらに具備したことを特徴とする請求項５記載のポインティング装置。
【請求項９】
スクリーン上に投影された画像をポインティングしている位置を検出するポインティング位置検出方法において、
特定のモードを設定するステップと、
前記特定のモードが設定されたときのみ、前記スクリーン上の投影画像の四箇所にマーカを表示させるステップと、
マーカ付きの投影画像をその周辺画像を含めて撮影した第１の画像を取得するステップと、
前記第１の画像に含まれる前記周辺画像から特徴点を抽出するステップと、
通常のモードにおいて、前記スクリーン上の投影画像をその周辺画像を含めて撮影した第２の画像を取得するステップと、
前記第２の画像に含まれる前記周辺画像から特徴点を抽出するステップと、
前記第１の画像上の前記各マーカの位置と、前記第１の画像から抽出された特徴点と前記第２の画像から抽出された特徴点との対応関係に基づいて、現在のポインティング位置を検出するステップと
を備えたことを特徴とするポインティング位置検出方法。
【請求項１０】
コンピュータによって読み取られ、スクリーン上に投影された画像をポインティングしている位置を検出するプログラムであって、
前記コンピュータに、
特定のモードを設定する機能と、
前記特定のモードが設定されたときのみ、前記スクリーン上の投影画像の四箇所にマーカを表示させる機能と、
マーカ付きの投影画像をその周辺画像を含めて撮影した第１の画像を取得する機能と、
前記第１の画像に含まれる前記周辺画像から特徴点を抽出する機能と、
通常のモードにおいて、前記スクリーン上の投影画像をその周辺画像を含めて撮影した第２の画像を取得する機能と、
前記第２の画像に含まれる前記周辺画像から特徴点を抽出する機能と、
前記第１の画像上の前記各マーカの位置と、前記第１の画像から抽出された特徴点と前記第２の画像から抽出された特徴点との対応関係に基づいて、現在のポインティング位置を検出する機能と
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ画面をプロジェクタによりスクリーン上に投影するシステムに用いられ、その投影画像上の任意の位置をポインティングしてコンピュータ画面に反映させる機能を備えたポインティング装置と、同装置に用いられるポインティング位置検出方法及びプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータ画面をプロジェクタによりスクリーン上に投影するシステムにおいて、投影画像上の任意の位置をポインティングすることにより、例えばコンピュータ画面上のカーソル位置を制御したり、そのポインティング位置を基準にして画面の拡大／縮小などを行うポインティング装置が注目されている。
【０００３】
このようなポインティング装置では、カメラにて投影画像を撮影し、その撮影画像からコンピュータ画面の特徴点を複数抽出し、これらの特徴点の位置関係から現在のポインティング位置を検出する方法が知られている（例えば、特許文献１参照）。
【０００４】
また、別の方法として、予めコンピュータ画面の四隅にマーカを表示して、これらのマーカの位置を基準にして現在のポインティング位置を検出する方法もある（例えば、特許文献２参照）。
【特許文献１】特開２００１−１６６８８１号公報
【特許文献２】特開平７−１２１２９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記特許文献１の方法では、例えばスクリーン上に投影された画像が暗く、コンピュータ画面の特徴点を抽出できない場合にはポインティング位置を検出できないといった問題がある。
【０００６】
また、前記特許文献２の方法では、コンピュータ画面の四隅に位置検出用のマーカを常に表示しておく必要があるため、これらのマーカが目障りとなり、ポインティング操作がしづらいなどの問題がある。
【０００７】
本発明は前記のような点に鑑みなされたもので、マーカを常時表示することなく、スクリーン上の投影画像に対するポインティング位置を正確に検出することのできるポインティング装置、ポインティング位置検出方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のポインティング装置は、スクリーン上に投影された画像の任意の位置をポインティングするポインティング装置において、特定のモードを設定するモード設定手段と、このモード設定手段によって前記特定のモードが設定されたときのみ、前記スクリーン上の投影画像の四箇所にマーカを表示させるマーカ表示手段と、このマーカ表示手段によって表示されたマーカ付きの投影画像をその周辺画像を含めて撮影した第１の画像を取得する第１の画像取得手段と、前記第１の画像に含まれる前記周辺画像から特徴点を抽出する第１の特徴点抽出手段と、通常のモードにおいて、前記スクリーン上の投影画像をその周辺画像を含めて撮影した第２の画像を取得する第２の画像取得手段と、前記第２の画像に含まれる前記周辺画像から特徴点を抽出する第２の特徴点抽出手段と、前記第１の画像上の前記各マーカの位置と、前記第１の特徴点抽出手段によって抽出された特徴点と前記第２の特徴点抽出手段によって抽出された特徴点との対応関係に基づいて、現在のポインティング位置を検出する位置検出手段として構成される。
【発明の効果】
【０００９】
本発明によれば、特定のモードでマーカ付きの画像を位置検出用に登録しておくことで、マーカの常時表示を必要とせずに、スクリーン上の投影画像に対するポインティング位置を正確に検出することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。
【００１１】
図１は本発明の一実施形態に係るポインティング装置を用いた投影システムの構成を示す図である。
【００１２】
本システムは、ポインティング装置１１、プロジェクタ１２、ＰＣ（Personal Computer）１３からなる。プロジェクタ１２とＰＣ１３とは通信ケーブル１４を介して接続されており、プロジェクタ１２はＰＣ画面を投影対象としてスクリーン１５上に投影表示する。
【００１３】
なお、プロジェクタ１２やＰＣ１３は一般的に用いられているものであり、その具体的な構成については省略するものとする。
【００１４】
また、プロジェクタ１２とＰＣ１３との接続形態は、図１の例では通信ケーブル１４を用いているが、無線通信を利用することも可能である。スクリーン１５は、例えばホワイトボードなどであり、プロジェクタ１２と対向させて設置される。図中の１６は、このスクリーン１５に対するプロジェクタ１２の投影領域を示している。
【００１５】
ポインティング装置１１は、プロジェクタの投影領域１６内の任意の位置Ｐをポインティング操作するためのものである。このポインティング装置１１の先端部には、カメラ１０が設置されており、このカメラ１０で撮影された画像を用いて現在のポインティング位置Ｐが検出され、ワイヤレス通信などでＰＣ１３に伝えられる。これにより、ＰＣ１３では、ポインティング位置Ｐに基づいて画面上のカーソルの移動制御や、画面の拡大／縮小などの表示制御を行う。
【００１６】
図２はＰＣ画面に表示させるマーカの一例を示す図である。
【００１７】
本システムでは、後述するキャリブレーションモードが設定されたときに、ＰＣ画面の四隅にマーカ１７ａ〜１７ｄを表示させる。ただし、このマーカ１７ａ〜１７ｄは、キャリブレーションモードのときだけ表示されるものであり、通常のモードである実動作モードに移行した後は表示されない。
【００１８】
次に、ポインティング装置１１の構成について説明する。  
図３はポインティング装置１１の構成を示すブロック図である。
【００１９】
ポインティング装置１１は、光学レンズ装置２１と、イメージセンサ２２と、メモリ２３と、画像処理装置２４と、ＣＰＵ２５と、プログラムコード記憶装置２６と、操作部２７と、コンピュータインタフェース部２８と、投影領域検出表示部２９とを備える。
【００２０】
光学レンズ装置２１とイメージセンサ２２は、カメラ１０の構成要素である。光学レンズ装置２１は、フォーカスレンズやズームレンズを含む撮影レンズと、この撮影レンズを光軸方向に駆動するための駆動部とを備え、ＣＰＵ２５によって制御され、イメージセンサ２２上に撮影対象からの光を集光させて像を結像させる。
【００２１】
イメージセンサ２２は、結像した画像をデジタル化した画像データとして取り込むためのものであり、例えばＣＣＤ(charge coupled device：電荷結合素子）等によって構成される。このイメージセンサ２２は、ＣＰＵ２５によって制御され、デジタルの画像データを所定の周期で生成して、これを秒間１００枚程度の間隔でメモリ２３に送出する。
【００２２】
メモリ２３は、イメージセンサ２２によって得られる複数枚の画像データを記憶すると共に、画像処理装置２４が処理対象とする元画像のデータや処理後の画像データを一時的に記憶する。このメモリ２３は、イメージセンサ２２から得られる撮影画像を取り込んだり、ＣＰＵ２５や画像処理装置２４によって一時記憶されたデータなどを読み書きできるように構成されている。
【００２３】
画像処理装置２４は、ＣＰＵ２５の制御の下で、メモリ２３に記憶された撮影画像を用いてポインティング位置Ｐの計算処理などを行う。
【００２４】
ＣＰＵ２５は、プログラムコード記憶装置２６に記憶されたプログラムを読み込むことにより、このプログラムに記述された手順に従って各種処理を実行する。なお、メモリ２３は、このＣＰＵ２５の作業メモリとしても用いられる。
【００２５】
プログラムコード記億装置２６は、ＣＰＵ２５が実行するプログラムを記憶するためのものであり、例えばＲＯＭやフラッシュメモリなどからなる。
【００２６】
操作部２７は、電源ボタン２７ａ、キャリブレーションボタン２７ｂなどを含む各種操作ボタンからなる。電源ボタン２７ａは、ポインティング装置１１の電源をＯＮ／ＯＦＦするためのボタンである。キャリブレーションボタン２７ｂは、ユーザがキャリブレーションモードを任意に設定するための操作ボタンである。
【００２７】
コンピュータインタフェース部２８は、ＰＣ１３との間でデータの送受信を行う。このコンピュータインタフェース部２８としては、例えばＢｌｕｅｔｏｏｔｈ（登録商標）や無線ＬＡＮ（Local Area Network）などが用いられる。このコンピュータインタフェース部２８は、画像処理装置２４によって算出された現在のポインティング位置Ｐの座標情報をＰＣ１３に送信する。
【００２８】
また、投影領域検出表示部２９は、ポインティング装置１１がスクリーン１５上の投影画像を正しく認識できているか否かを表示する。この投影領域検出表示部２９としては、例えばＬＥＤ（Light Emitting Diode）が用いられ、図１の例のように装置本体の上面などに設置される。
【００２９】
次に、ポインティング装置１１の処理動作について説明する。
【００３０】
図４は本実施形態におけるポインティング装置１１の処理動作を示すフローチャートである。なお、このフローチャートで示される各処理は、コンピュータであるＣＰＵ２５がプログラムコード記憶装置２６に記憶されたプログラムを読み込むことにより実行される。
【００３１】
（ＣＰＵ２５の基本動作）
ポインティング装置１１を使用するに際し、まず、ユーザが操作部２７に設けられた電源ボタン２７ａを押下して電源をＯＮする。このとき、プロジェクタ１２とＰＣ１３の電源はＯＮ状態にあり、ＰＣ画面がプロジェクタ１２によってスクリーン１５上に投影表示されているものとする。
【００３２】
ポインティング装置１１の電源がＯＮされると、キャリブレーションモードと呼ばれる特定のモードが設定され、以下のような処理が実行される。
【００３３】
まず、ＣＰＵ２５は、初期設定として、投影領域検出表示部２９をＯＦＦしておく（ステップＳ１００）。
【００３４】
次に、ＣＰＵ２５は、イメージセンサ２２を制御して、ポインティング装置１１が向けられた方向の撮影画像を読み込み、これを画像１としてメモリ２３の所定の領域に格納する（ステップＳ１０１）。この場合、ポインティング装置１１がスクリーン１５上の投影画像に正しく向けられていれば、前記画像１には、ＰＣ画面の投影画像とその周辺の画像が含まれていることになる。なお、周辺の画像とは、例えばスクリーン１５の枠や、スクリーン１５が置かれた部屋の照明器具などである。
【００３５】
次に、ＣＰＵ２５は、図２に示すようなマーカ１７ａ〜１７ｄを表示させるためのコマンドをコンピュータインタフェース部２８を介してＰＣ１３に送信する（ステップＳ１０２）。
【００３６】
ＰＣ１３には、前記コマンドを受け取ったら、ＰＣ画面の四隅にマーカ１７ａ〜１７ｄを表示するソフトウェアが予めインストールされている。また、ＰＣ１３は、前記コマンドによりマーカ１７ａ〜１７ｄを表示すると、その旨をポインティング装置１１に通知する。このマーカ表示通知はコンピュータインタフェース部２８を介してＣＰＵ２５に与えられる。これにより、ＣＰＵ２５はマーカ１７ａ〜１７ｄが表示されたことを確認できる。
【００３７】
マーカ１７ａ〜１７ｄの表示後、ＣＰＵ２５は、再び、イメージセンサ２２を制御して、ポインティング装置１１が向けられた方向の撮影画像を読み込み、これをマーカ画像としてメモリ２３の所定の領域に格納する（ステップＳ１０３）。前記マーカ画像には、マーカ１７ａ〜１７ｄを有するＰＣ画面の投影画像とその周辺の画像が含まれている。
【００３８】
また、ＣＰＵ２５は、ＰＣ１３に対してマーカ表示の停止コマンドを送信することにより、ＰＣ画面を元の状態に戻しておく（ステップＳ１０４）。
【００３９】
このようにして、メモリ２３には、マーカなしで撮影した画像（画像１）とマーカありで撮影した画像（マーカ画像）が保存されたことになる。ＣＰＵ２５は、この２枚の画像から後述するポインティング位置計算処理に必要なデータを抽出させるために、画像処理装置２４に対して投影領域登録処理を実行させる（ステップＳ１０５）。なお、この投影領域登録処理については、後に図５を参照して詳しく説明する。
【００４０】
次に、ＣＰＵ２５は、画像処理装置２４の処理結果レジスタをアクセスして登録処理が正常に終了したか否かを確認する（ステップＳ１０６）。その結果、登録処理が正常に終了していなかった場合には（ステップＳ１０６のＮｏ）、ＣＰＵ２５は、電源ボタン２７ａがＯＦＦされていないことを確認し（ステップＳ１０７のＮｏ）、再度２枚の画像（マーカなしの画像１とマーカ撮影）を得るためにステップＳ１０１に戻る。
【００４１】
この間、投影領域検出表示部２９はＯＦＦしているので、ユーザは登録失敗の原因がポインティング装置１１の向きにあることを認識できる。
【００４２】
ポインティング装置１１が投影画像に対して正しく向けられると、画像処理装置２４による投影領域登録処理が正常に終了する（ステップＳ１０６のＹｅｓ）。これにより、ＣＰＵ２５は、投影領域検出表示部２９を点灯した後（ステップＳ１１４）、電源ボタン２７ａがＯＦＦされていないことを確認して（ステップＳ１１５のＮｏ）、通常時の実動作モードへ移行する。
【００４３】
なお、前記ステップＳ１０７あるいは前記ステップＳ１１５において、ユーザが電源ボタン２７ａの操作により電源をＯＦＦした場合には、ＣＰＵ２５は、直ちに終了処理を行うことになる。
【００４４】
実動作モードに移行すると、ＣＰＵ２５は、まず、キャリブレーションボタン２７ｂの状態を確認する（ステップＳ１０９）。キャリブレーションボタン２７ｂが押下されていなければ（ステップＳ１０９のＮｏ）、ＣＰＵ２５は、前記ステップＳ１０１のとき同様に、イメージセンサ２２を制御してポインティング装置１１が向けられた方向の撮影画像を読み込み、これを画像１としてメモリ２３の所定の領域に格納する（ステップＳ１０３）。
【００４５】
続いて、ＣＰＵ２５は、投影領域座標系においてポインティング装置１１が向けられている座標を画像処理装置２４に求めさせる（ステップＳ１１１）。「投影領域座標系においてポインティング装置１１が向けられている座標」とは、図１に示すように、カメラ１０の光軸が投影領域１６と交差する位置、つまり、スクリーン１５上の投影画像（ＰＣ画面）に対してポインティング装置１１が指し示しているポインティング位置Ｐの座標のことを言う。なお、ここでのポインティング位置計算処理については後に図６を参照して詳しく説明する。
【００４６】
次に、ＣＰＵ２５は、画像処理装置２４の処理結果レジスタをアクセスして計算処理が正常に終了したか否かを確認する（ステップＳ１１２）。その結果、ポインティング装置１１が投影画像に向けられていないなどの理由で、ポインティング位置Ｐの座標が取得されなかった場合には（ステップＳ１１２のＮｏ）、ＣＰＵ２５は、投影領域検出表示部２９の点灯を消した後（ステップＳ１１６）、電源ボタン２７ａがＯＦＦされていないことを確認し、次の撮影画像を得るためにステップ１０９に戻る。
【００４７】
一方、ポインティング装置１１が投影画像に正しく向けられていれば、画像処理装置２４によるポインティング位置Ｐの計算処理が正常に終了する。正常に終了した場合には（ステップＳ１１２のＹｅｓ）、ＣＰＵ２５は、得られたポインティング位置Ｐの座標情報をＰＣ１３に送信する（ステップＳ１１３）。ＰＣ１３では、このポインティング位置Ｐの座標情報に基づいてカーソルの移動制御などを行うことになる。
【００４８】
また、ポインティング位置Ｐの座標が取得できた場合には、その旨をユーザに知らせるために投影領域検出表示部２９を点灯させておく（ステップＳ１１４）。以後、ＣＰＵ２５は、ユーザが操作するポインティング装置１１の動きに応答させるために、前記同様のポインティング処理を繰り返し行うことになる。
【００４９】
ところで、例えばユーザがキャリブレーションモード時にマーカ画像を登録した場所から違う場所に移動すると、ポインティング装置１１をどの方向に向けても、マーカ画像との対応が取れないため、ポインティング位置Ｐを求めることができない。このような場合に、キャリブレーションボタン２７ｂを用いる。
【００５０】
キャリブレーションボタン２７ｂが押下されると（ステップＳ１０９のＹｅｓ）、ＣＰＵ２５は、キャリブレーションモードを再設定し、投影領域登録処理を画像処理装置２４に実行させて、新たなマーカ画像を位置検出用として再登録する。
【００５１】
（画像処理装置２４の投影領域登録処理）
図５は前記ステップＳ１０５で実行される画像処理装置２４の投影領域登録処理の詳細を示すフローチャートである。
【００５２】
画像処理装置２４には、マーカなしの画像１とマーカ画像の２枚が与えられている。この２枚の画像は同じ向きで連続して撮影されたものであり、その画像間の動きによる位置ずれはないものとみなせる。よって、この２枚の撮影画像の差分を求めれば、マーカ部分のみを簡単に抽出することができる。
【００５３】
詳しく説明すると、画像処理装置２４は、画像１とマーカ画像との差分画像を作成し（ステップＳ２０１）、その差分画像を二値化して、マーカ１７ａ〜１７ｄの抽出を行う（ステップＳ２０２）。
【００５４】
ここで、画像処理装置２４は、４つのマーカ１７ａ〜１７ｄの位置を調べ、これらが所定の条件を満たしているか否かを判断する（ステップＳ２０３）。前記所定の条件とは、４つのマーカ１７ａ〜１７ｄの重心が撮影画像の中心部付近にあり、かつ、各マーカ１７ａ〜１７ｄのそれぞれが撮影画像の外側付近にないことである。
【００５５】
具体的には、図７に示すように、マーカ画像の横サイズをＷ、縦サイズをＨとすると、マーカ１７ａ〜１７ｄの重心がＥ１の範囲内にあり、かつ、マーカ１７ａ〜１７ｄのそれぞれがＥ２の範囲内にないことを条件とする。このような条件を定めておくのは、ポインティング装置１１のカメラ１０を通じて投影画像を中心にして、その周辺の画像を偏りなく撮影した画像を得るためであり、このようなマーカ画像を位置検出に用いることで、後のポインティング位置Ｐの計算精度が高くなるからである。
【００５６】
マーカ１７ａ〜１７ｄの座標が前記所定の条件を満たす場合には（ステップＳ２０３でＹｅｓ）、画像処理装置２４は、当該マーカ画像を位置検出用としてメモリ２３に登録すると共に、その画像から特徴点の抽出を行う（ステップＳ２０４）。
【００５７】
特徴点としては、ユーザがポインティング装置１１を動かしたときに得られる前後２枚の画像間で対応が取り易い点を選ぶ。特徴点の抽出方法には、例えばＫＬＴ法、ＳＵＳＡＮ法などが知られている。このような手法によって特徴点を抽出する（ステップＳ２０４）。なお、特徴点として好ましいものは、どの方向から見ても輝度勾配の大きい点であり、孤立点や物体の角に対応する点である。このような特徴点を当該マーカ画像の全体から偏りなく抽出するものとする。
【００５８】
ただし、ここで得られた特徴点には、投影領域１６つまりＰＣ画面の投影画像から抽出されたものも含まれている。これらの特徴点は、投影内容が変わると変化してしまうため、特徴点の候補から除外するものとする（ステップＳ２０５）。
【００５９】
残った特徴点が投影画像の周辺の画像に対応したものである。画像処理装置２４は、その周辺画像の特徴点の数が規定数以上あるか否かを確認する（ステップＳ２０６）。実際の動作を考えると、特徴点の数は５０以上あるのが望ましい。特徴点の数が規定数に満たない場合には（ステップＳ２０６でＮｏ）、特徴点をさらに検索することが望ましい（ステップＳ２０７）。
【００６０】
画像処理装置２４は、このようにして選ばれた特徴点の座標リストを作成し、これをメモリ２３に保存しておく（ステップＳ２０８）。そして、画像処理装置２４内に設けられた処理結果レジスタに処理が成功したことを記録する（ステップＳ２０９）。
【００６１】
一方、前記ステップＳ２０３で、マーカ画像から抽出された４つのマーカ１７ａ〜１７ｄの位置が前記所定の条件を満たさない場合には（ステップＳ２０３のＮｏ）、画像処理装置２４は、当該マーカ画像を不適切であると判断して、処理結果レジスタに処理が失敗したことを記録する（ステップＳ２１０）。
【００６２】
（画像処理装置２４のポインティング位置計算処理）
図６は前記ステップＳ１１１で実行される画像処理装置２４のポインティング位置計算処理の詳細を示すフローチャートである。
【００６３】
ポインティング位置Ｐの計算は、位置検出用として登録されたマーカ画像と今回撮影された画像との間で特徴点の対応を取ることで行う。本実施形態では、２枚の画像間の対応に２次元モデルを用いるものとする。
【００６４】
通常、ＰＣ１３の画像はスクリーンやホワイトボードなどの２次元平面状に投影されるので、これらの平面状や、近傍の柱や枠などは近似的に２次元平面上にあると仮定できる。よって、これらの部分から抽出された特徴点は２次元上にある。なお、これらの平面状以外で特徴点が選ばれることがあるが、ポインティング装置１１を視差が出るように移動しない限りにおいては特に問題ない。
【００６５】
もちろん３次元モデルを用いてもかまわない。ただし、ポインティング位置Ｐを特定できる適応範囲が広くなるが、その一方で演算処理時間が増えることになる。
【００６６】
画像処理装置２４は、前記ステップＳ２０４〜Ｓ２０７と同様にして、今回撮影された画像から投影画像の周辺の画像に対応した特徴点を抽出する（ステップＳ３０１）。そして、これらの特徴点とマーカ画像から抽出された特徴点との対応処理を行う（ステップＳ３０２）。
【００６７】
この特徴点の対応処理には、ＲＡＮＳＡＣ(Random Sample Consensus Argorithm)などにより誤った対応点（ＯＵＴＬＩＥＲ）をはじきながら正しい対応点のみを抽出する手法が知られている。ＯＵＴＬＩＥＲが除外された対応付けを用いて、さらに各特徴点の精度の高いトラッキングを行う。すなわち、２枚の画像間で特徴点の近傍の画像においてＳＳＤ(Sum of Square Difference)を利用してテンプレートマッチングを行い、さらに精度の高い特徴点の対応を求める（ステップＳ３０３）。その際、ＳＳＤの値が予め決められた値より小さくならない場合は、ミス対応と考えられるので特徴点のリストから除外するものとする。
【００６８】
このようにして、画像間で特徴点を追跡することで、互いに対応する数を検査する（ステップＳ３０４）。２次元モデルの場合、少なくとも４点以上の対応がないと、２枚の画像間の移動を推定できない。実際には、誤差などを考慮して１５点以上の対応が必要である。十分に対応点がある場合には（ステップＳ３０４のＹｅｓ）、これらの対応点からポインティング装置１１が向いている座標つまりスクリーン１５上の投影画像に対するポインティング位置Ｐの座標を求めることができる（ステップＳ３０５）。
【００６９】
前記ステップＳ３０５での求め方は以下の通りである。
【００７０】
すなわち、マーカ画像から得られた４点のマーカ１７ａ〜１７ｄの位置座標ベクトル（マーカ画像の座標系）をｕ１，ｕ２，ｕ３，ｕ４とする。これらのマーカ１７ａ〜１７ｄのＰＣ画面上での座標値は既知であるので、これらの座標（ＰＣ画面の座標系）をｘ１，Ｘ２，ｘ３，ｘ４とすると、対応点が４点あるので、マーカ画像の任意の座標ベクトルｕをＰＣ画面の座標系の座標ベクトルｘに変換する２次元の線形変換Ｈｕｘを求めることができる。
【００７１】
次に、前記ステップＳ３０２で求めた特徴点の対応により、マーカ画像の特徴点の座標ベクトル（マーカ画像の座標系）をｆ１，ｆ２，ｆ３，…，ｆｎとし、現在の入力画像の対応する特徴点の座標ベクトル（画像１の座標系）をｇ１，ｇ２，ｇ３，…，ｇｎとする。これらの対応から、画像１からマーカ画像への線形変換Ｈｇｆを最小２乗法で求めることができる。
【００７２】
ここで、現在のポインティング装置１１が指し示している方向は画像１の中心点である。画像１の中心点の座標（画像１の座標系）をｙとすると、この座標から線形変換Ｈｇｆを行うと、マーカ画像での対応座標ｕｙが求まる。
【００７３】
ｕｙ＝Ｈｇｆ・ｙ
さらに、マーカ画像の座標値ｕｙを線形変換Ｈｕｘで変換すると、ＰＣ画面の座標系の座標値ｘｙ＝Ｈ・ｙに変換することができる。
【００７４】
ｘｙ＝Ｈｕｘ・ｕｙ
これが求めるポインティング位置Ｐの座標になる。
【００７５】
以上の例は２次元モデルを用いた場合であるが、３次元モデルを用いても可能である。この場合は、対応点などの数が増やさなければならないが、前記同様の手法を用いることができる。
【００７６】
画像処理装置２４は、このようにして求めたポインティング位置Ｐの座標をポインティングレジスタに保存し（ステップＳ３０６）、処理結果レジスタに処理が成功したことを記録する（ステップＳ３０７）。
【００７７】
一方、対応点が少なく、精度の高い座標が計算できない場合には（ステップＳ３０４のＮｏ）、画像処理装置２４は処理結果レジスタに処理が失敗したことを記録する（ステップＳ３０８）。
【００７８】
以上のように、本実施形態によれば、キャリブレーションモード時にマーカを表示して位置検出用の画像を登録した後は、そのマーカを表示しなくとも、ポインティング位置Ｐを求めることができる。したがって、ユーザはマーカに煩わされることなく、投影画像上の任意の位置をポインティング操作することができる。
【００７９】
また、投影画像の周囲の画像に着目して画像間の対応付けを行うことで、例えばスクリーン上に表示されたＰＣ画面の投影画像が不鮮明で、その投影画像から四隅の特徴点を抽出できないような環境下であっても、ポインティング位置Ｐを正確に検出することができる。
【００８０】
また、ポインティング装置１１が投影画像を正しく認識できているか否かが表示されるので、ユーザはその表示を見ながら、ポインティング装置１１を投影画像に正しく向けて操作することができる。
【００８１】
なお、前記実施形態では、特定のボタン操作（キャリブレーションボタン２７ｂ）によってキャリブレーションモードを再設定するものとしたが（図４のステップＳ０９参照）、ポインティング装置１１の向きが悪いなどの理由でポインティング位置Ｐを検出できなかった場合に、自動的にキャリブレーションモードを再設定して登録動作をやり直すような構成にしても良い。これは、画像処理装置２４によってポインティング位置Ｐを検出できなかった場合に、その旨のエラー信号をＣＰＵ２５に入力することで実現できる。
【００８２】
また、投影領域検出表示部２９としては、ＬＥＤ等の発光体に限らない。例えばＬＣＤ（Liquid Crystal Display）を用いて、その画面上に投影画像の認識状態を示すメッセージを表示するようにして良い。
【００８３】
また、画像処理装置２４にて実現される各機能をＣＰＵ２５に持たせて、ＣＰＵ２５にてすべての処理を行うような構成にしても良い。
【００８４】
さらに、前記実施形態では、画面の四隅にマーカ１７ａ〜１７ｄを配置したが、図８（ａ），（ｂ）に示すような配置でも良い。この場合、表示領域の周辺部分に、重心がずれないように点対称で四箇所に配置すれば、前記実施形態に示したアルゴリズムおよび計算方法をそのまま使える。また、重心計算に関する部分を若干変更すれば、マーカ１７ａ〜１７ｄが点対称でなくとも本発明は実施可能である。
【００８５】
要するに、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００８６】
【図１】図１は本発明の一実施形態に係るポインティング装置を用いた投影システムの構成を示す図である。
【図２】図２は同実施形態におけるＰＣ画面に表示させるマーカの一例を示す図である。
【図３】図３は同実施形態におけるポインティング装置の構成を示すブロック図である。
【図４】図４は同実施形態におけるポインティング装置の処理動作を示すフローチャートである。
【図５】図５は同実施形態におけるポインティング装置の画像処理装置によって実行される投影領域登録処理の詳細を示すフローチャートである。
【図６】図６は同実施形態におけるポインティング装置の画像処理装置によって実行されるポインティング位置計算処理の詳細を示すフローチャートである。
【図７】図７は同実施形態におけるポインティング装置のマーカ画像の登録条件を説明するための図である。
【図８】図８は同実施形態におけるＰＣ画面に表示させるマーカの他の配置例を示す図である。
【符号の説明】
【００８７】
１０…カメラ、１１…ポインティング装置、１２…プロジェクタ、１３…ＰＣ、１４…通信ケーブル、１５…スクリーン、１６…投影領域、１７ａ〜１７ｄ…マーカ、２１…光学レンズ装置、２２…イメージセンサ、２３…メモリ、２４…画像処理装置、２５…ＣＰＵ、２６…プログラムコード記憶装置、２７…操作部、２８…コンピュータインタフェース部、２９…投影領域検出表示部。
【図１】
2008003802.tif 000003
【図２】
2008003802.tif 000004
【図３】
2008003802.tif 000005
【図４】
2008003802.tif 000006
【図５】
2008003802.tif 000007
【図６】
2008003802.tif 000008
【図７】
2008003802.tif 000009
【図８】
2008003802.tif 000010