(57)【要約】【課題】指示器の指示方向が表示面に対して斜め方向であった場合でも指示器の指示方向が表示面と交差する交点座標を入力座標として算出することができる座標入力システム、座標入力装置、座標入力方法およびプログラムを提供する。【解決手段】本発明に係る座標入力システムは、画像を表示する表示面を有する本体部と、表示面を指示する指示器とを含む座標入力システムである。指示器は、センサが出力する指示器の３次元姿勢を示す３次元姿勢情報を取得する姿勢情報取得部と、３次元姿勢情報を本体部に送信する送信部と、を備え、本体部は、２以上のカメラで取得した画像から世界座標系における指示器の特徴点の３次元座標を算出する３次元座標算出部と、３次元姿勢情報を受信する受信部と、特徴点の３次元座標と、３次元姿勢情報とを用いて、指示器の特徴点が指示する指示方向の延長線が表示面と交差する交点座標を算出する交点座標算出部と、を備える。【選択図】図１
2017027472.tif 000002
【特許請求の範囲】
【請求項１】
画像を表示する表示面を有する本体部と、前記表示面を指示する指示器とを含む座標入力システムであって、
前記指示器は、
前記指示器の３次元姿勢を示す３次元姿勢情報を出力するセンサと、
前記３次元姿勢情報を取得する姿勢情報取得部と、
前記３次元姿勢情報を前記本体部に送信する送信部と、
を備え、
前記本体部は、
２以上のカメラで取得した画像から前記指示器を含む画像を時系列に抽出して世界座標系における前記指示器の特徴点の３次元座標を算出する３次元座標算出部と、
前記３次元姿勢情報を受信する受信部と、
前記特徴点の３次元座標と、前記３次元姿勢情報とを用いて、前記指示器の特徴点が指示する指示方向の延長線が前記表示面と交差する交点座標を算出する交点座標算出部と、を備える、
ことを特徴とする座標入力システム。
【請求項２】
前記本体部は、前記３次元姿勢情報が所定の閾値より小さいか否かを判定する判定部と、
前記３次元姿勢情報が所定の閾値より小さいと判定された場合に、算出された第２の交点座標と、１つ前に算出された第１の交点座標との差分が小さくなる補正を当該第２の交点座標の値に対して行う補正部と、をさらに備える、
ことを特徴とする請求項１に記載の座標入力システム。
【請求項３】
前記指示器は、前記３次元姿勢情報を前記送信部から前記本体部に送信させるボタンと、
前記ボタンが押下されたことを検出する検出部と、をさらに備え、
前記送信部は、前記検出部で前記ボタンが押下されたことを検出している間だけ前記３次元姿勢情報を送信する、
ことを特徴とする請求項１に記載の座標入力システム。
【請求項４】
前記本体部は、
前記指示器の前記交点座標の軌跡で描画された軌跡画像を生成する軌跡画像生成部と、
生成した前記軌跡画像を前記表示面に表示させる表示制御部と、をさらに備える、
ことを特徴とする請求項１に記載の座標入力システム。
【請求項５】
前記特徴点は、前記指示器の先端部である、
ことを特徴とする請求項１に記載の座標入力システム。
【請求項６】
前記センサは、３軸加速度センサ、３軸角速度センサ、３軸地磁気センサの何れか１つ以上である、
ことを特徴とする請求項１に記載の座標入力システム。
【請求項７】
画像を表示する表示面と、
２以上のカメラで取得した画像から指示器を含む画像を時系列に抽出して世界座標系における前記指示器の特徴点の３次元座標を算出する３次元座標算出部と、
前記指示器が有するセンサが出力した前記指示器の３次元姿勢を示す３次元姿勢情報を受信する受信部と、
前記特徴点の３次元座標と、前記３次元姿勢情報とを用いて、前記指示器の特徴点が指示する指示方向の延長線が前記表示面と交差する交点座標を算出する交点座標算出部と、
前記指示器の前記交点座標の軌跡で描画された軌跡画像を生成する軌跡画像生成部と、
生成した前記軌跡画像を前記表示面に表示させる表示制御部と、を備える、
ことを特徴とする座標入力装置。
【請求項８】
画像を表示する表示面を有する本体部と、前記表示面を指示する指示器とを含む座標入力システムの座標入力方法であって、
前記指示器が有するセンサが出力した前記指示器の３次元姿勢を示す３次元姿勢情報を取得する姿勢情報取得ステップと、
取得した前記３次元姿勢情報を前記本体部に送信する送信ステップと、
前記指示器の３次元姿勢情報を受信する受信ステップと、
２以上のカメラで取得した画像から前記指示器を含む画像を時系列に抽出して世界座標系における前記指示器の特徴点の３次元座標を算出する３次元座標算出ステップと、
前記特徴点の３次元座標と、前記３次元姿勢情報とを用いて、前記指示器の特徴点が指示する指示方向の延長線が前記表示面と交差する交点座標を算出する交点座標算出ステップと、
を含むことを特徴とする座標入力方法。
【請求項９】
座標入力装置に、
２以上のカメラで取得した画像から指示器を含む画像を時系列に抽出して世界座標系における前記指示器の特徴点の３次元座標を算出する３次元座標算出ステップと、
前記指示器が有するセンサが出力した前記指示器の３次元姿勢を示す３次元姿勢情報を取得する姿勢情報取得ステップと、
前記特徴点の３次元座標と、前記３次元姿勢情報とを用いて、前記指示器の特徴点が指示する指示方向の延長線が表示面と交差する交点座標を算出する交点座標算出ステップと、
前記指示器の前記交点座標の軌跡で描画された軌跡画像を生成する軌跡画像生成ステップと、
生成した前記軌跡画像を前記表示面に表示させる表示制御ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、座標入力システム、座標入力装置、座標入力方法およびプログラムに関する。
【背景技術】
【０００２】
電子ペン等のポインティングデバイスや指先などを用いて表示面の指示位置を移動させた軌跡を表示面に表示させることができる座標入力装置がある。このような座標入力装置では、ユーザが表示面から離れた位置から指示してユーザ操作を行う技術が知られている。
【０００３】
特許文献１には、指先をディスプレイ画面に触れることなく、指先の動きに応じた画像を階層的にディスプレイ画面に表示する画像表示装置が開示されている。特許文献１に記載の画像表示装置は、ディスプレイ画面の周囲に２台のカメラを設置し、カメラが撮影した画像から指先の３次元座標を算出して指先の３次元座標をディスプレイ画面上の２次元座標に変換して対応付ける。画像表示装置は、対応付けられたディスプレイ画面上の２次元座標と、指先とディスプレイ画面との間の距離に応じてユーザ操作を行うものである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の画像表示装置では、指先やペン先などの指示物が表示面に対して斜め方向から指示した時に、指示物の指示方向が表示面と交差する交点座標が表示面の入力座標とならない、という問題があった。すなわち、指示物の指示方向が表示面と交差する交点座標が、指示物の３次元座標から変換された表示面の２次元座標とずれてしまう、という問題があった。
【０００５】
例えば、従来技術では、図１０に示すように、表示面から離れた場所から、レーザ光線などのポインタを使わないで指示物の先端で表示面を指示する場合であって、指示物の先端の指示方向が表示面に対して略垂直に指示した時には、指示物の指示方向が表示面と交差する交点座標（ｘ，ｙ，０）と、指示物の３次元座標（ｘ，ｙ，ｚ）から変換された表示面の算出（２次元）座標（ｘ，ｙ，０）が一致する。しかしながら、図１１に示すように、指示物の先端の指示方向が表示面に対して斜め方向から指示した時には、指示物の指示方向が表示面と交差する交点座標（ｘ＊，ｙ＊，０）と、指示物の３次元座標（ｘ，ｙ，ｚ）から変換された表示面の算出（２次元）座標（ｘ，ｙ，０）が一致しないでずれてしまう、という問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、指示器の指示方向が表示面に対して斜め方向であった場合でも指示器の指示方向が表示面と交差する交点座標を入力座標として算出することができる座標入力システム、座標入力装置、座標入力方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る座標入力システムは、画像を表示する表示面を有する本体部と、前記表示面を指示する指示器とを含む座標入力システムであって、前記指示器は、前記指示器の３次元姿勢を示す３次元姿勢情報を出力するセンサと、前記３次元姿勢情報を取得する姿勢情報取得部と、前記３次元姿勢情報を前記本体部に送信する送信部と、を備え、前記本体部は、２以上のカメラで取得した画像から前記指示器を含む画像を時系列に抽出して世界座標系における前記指示器の特徴点の３次元座標を算出する３次元座標算出部と、前記３次元姿勢情報を受信する受信部と、前記特徴点の３次元座標と、前記３次元姿勢情報とを用いて、前記指示器の特徴点が指示する指示方向の延長線が前記表示面と交差する交点座標を算出する交点座標算出部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、指示器の指示方向が表示面と交差する交点座標を入力座標として算出することができる、という有利な効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施形態に係る座標入力システムの全体システム構成の一例を示す図である。
【図２】図２は、座標入力装置と指示器との軸の向きを説明する図である。
【図３】図３は、座標入力装置のハードウェア構成の一例を示す図である。
【図４】図４は、指示器のハードウェア構成の一例を示す図である。
【図５】図５は、本実施形態に係る座標入力装置及び指示器の機能構成の一例を示す機能ブロック図である。
【図６】図６は、変換行列計算部の詳細な機能構成の一例について説明する図である。
【図７】図７は、変換行列計算部及び３次元座標算出部で実行する処理フローの一例を説明する図である。
【図８】図８は、座標入力システムの処理動作の一例を説明する図である。
【図９】図９は、判定部及び補正部での処理動作を説明するフローチャート図である。
【図１０】図１０は、従来の指示物の指示方向と交点座標の関係を説明する図である。
【図１１】図１１は、従来の指示物の指示方向と交点座標の関係を説明する図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら、本発明に係る座標入力システム、座標入力装置、座標入力方法およびプログラムの一実施形態を詳細に説明する。
【００１１】
本実施形態の座標入力システムは、画像を表示する表示面を有する本体部と、表示面を指示する指示器とを含む。指示器は、自身の３次元姿勢を示す３次元姿勢情報を出力するセンサを有し、３次元姿勢情報を取得して本体部に送信する。本体部は、指示器を含む所定範囲の画像を時系列に取得する２以上のカメラを有し、２以上のカメラで取得した画像から指示器を含む画像を時系列に抽出して世界座標系における指示器の特徴点の３次元座標を算出する。また、本体部は、指示器から３次元姿勢情報を受信する。本体部は、指示器の特徴点の３次元座標と、指示器の３次元姿勢情報とを用いて、指示器の特徴点が指示する指示方向の延長線が表示面と交差する交点座標を算出する。これにより、座標入力システムは、指示器の指示方向が表示面に対して斜め方向であった場合でも指示器の指示方向が表示面と交差する交点座標を入力座標として算出することができる。
【００１２】
なお、本実施形態における指示器は、ユーザが手に持って表示面から離れた場所から、レーザ光線などのポインタを使わないで指示器の先端で表示面の所望の位置を指示するものであれば、その具体的な形態を限定するものではなく、好ましくは、ペン型の形状とすることができる。以下においては、ペン型の形状を備える指示器を採用した場合を一例にとって説明する。なお、指示器としては、レーザ光線などで表示面の所望の位置をポインティングできるものであっても適用できる。
【００１３】
以下では、本実施形態の座標入力システムを、指示器と、座標入力装置（本体部）とを備えた座標入力システムとして実現する一例を説明する。なお、本実施形態の座標入力装置の一例として、電子黒板に適用した例を挙げて説明するがこれに限られるものではない。本発明が適用される座標入力装置の種類は任意であり、例えば、液晶表示パネルに画像を表示する液晶モニターまたは液晶テレビ、ＰＤＰ（プラズマディスプレイパネル）に画像を表示するモニター装置またはテレビ受像機、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ−ｅｍｉｔｔｉｎｇ−ｄｉｏｄｅ）、ＯＥＬ（Ｏｒｇａｎｉｃ  Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）等と呼ばれる有機ＥＬ表示パネルに画像を表示するモニター装置またはテレビ受像機等の自発光型の表示装置、プロジェクタなどであってもよい。
【００１４】
図１は、本実施形態に係る座標入力システムの全体システム構成の一例を示す図である。本実施形態の座標入力システム１００は、図１に示すように、座標入力装置１０と、指示器２０とを備える。座標入力装置１０は、例えば、液晶ディスプレイなどの表示面１４に表示する画像を生成して、表示面１４に画像を表示させる電子黒板である。指示器２０は、例えば、ユーザによって操作されるペン型の指示デバイスである。なお、座標入力装置１０と指示器２０は、各種無線通信等により接続されている。図１の例では、座標入力装置１０と指示器２０とが、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）で無線接続されている一例を示している。なお、座標入力装置１０は請求項の「本体部」に対応する。
【００１５】
座標入力装置（本体部）１０は、表示面１４から離れた場所から、レーザ光線などのポインタを使わないで指示器２０の先端で表示面１４を指示する指示器２０を含む画像を時系列に取得する２台のカメラ１１ａ、１１ｂと、表示面１４上部の左右端に配置された２台のカメラ１１ａ、１１ｂで取得した画像から世界座標系における指示器２０の特徴点（先端）の３次元座標（ｘ，ｙ，ｚ）、及び指示器２０の特徴点（先端）が指示する指示方向の延長線が表示面１４と交差する交点座標（ｘ＊，ｙ＊，０）を算出する情報処理部１２と、指示器２０から指示器２０の３次元姿勢情報を受信する受信装置１３と、情報処理部１２又は外部装置で生成した画像を表示する表示面１４とを備えて構成されている。上記各構成部の詳細については後述する。図１の例では、カメラ１１ａ、１１ｂは表示面１４の横辺方向にｘ軸を、縦辺方向にｙ軸を、表示面１４に対して略垂直に交わる方向にｚ軸を合わせて設置されている。以下では、カメラ１１ａ、１１ｂを区別する必要がない場合、単にカメラ１１と表記する。
【００１６】
指示器２０は、指示器２０の３次元姿勢を示す３次元姿勢情報を計測するセンサ２１と、３次元姿勢情報を本体部１０に送信する送信部２２と、３次元姿勢情報を送信部２２から本体部１０に送信させるボタン２３と、指示器２０の特徴点（先端）を示す発光部２４とを備えて構成されている。上記各構成部の詳細については後述する。図１の例では、指示器２０の特徴点（先端）の指示方向が表示面１４に対して斜め方向から指示した場合を示している。なお、本実施形態における指示器２０の発光部２４とは、レーザを出力して表示面１４にポインタを表示させるものではなく、画像から指示器２０の特徴点（先端）を解析して抽出するために赤外線を点灯（発光）するものである。
【００１７】
図２は、座標入力装置と指示器との軸の向きを説明する図である。本実施形態の座標入力システム１００は、例えば、出荷時には予めカメラ１１のｘ軸と指示器２０のセンサ２１のｖｘ軸、カメラ１１のｙ軸と指示器２０のセンサ２１のｖｙ軸、カメラ１１のｚ軸と指示器２０のセンサ２１のｖｚ軸の向きが一致するようにセンサ２１が取り付けられる。また、座標入力システム１００の使用時には、座標入力装置１０と指示器２０の軸の向きを調整するキャリブレーションモードを備えている。図２に示すように、例えば、座標入力システム１００の使用初期、及び使用途中では、座標入力装置１０でキャリブレーションモードを起動させてカメラ１１ａ、１１ｂの各軸と指示器２０のセンサ２１の各軸との向きが一致するように調整される。
【００１８】
次に、図３を用いて、座標入力装置１０のハードウェア構成について説明する。図３は、座標入力装置のハードウェア構成の一例を示す図である。図３に示すように、座標入力装置１０は、システムバス５０に接続された、入力装置３１と、表示装置３２と、ドライブ装置３３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３４と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３５と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３６と、インタフェース装置３７と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）３８とを備える。ドライブ装置３３には記録媒体３９が接続される。
【００１９】
入力装置３１は、キーボード、マウス、ディスプレイ等で構成され、ユーザの様々な操作指示を受け付けるユーザインタフェースである。また、入力装置３１は、座標入力装置１０に各操作信号、各種データを入力する入力インタフェースである。入力装置３１は、例えば、タッチパネル、音声入力装置、画像入力装置を入力装置３１とすることもできる。なお、入力装置３１は、図１で示した、カメラ１１と捉えることもできる。
【００２０】
表示装置３２は、プログラムによるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等を表示する。表示装置３２は、例えば、画像などを表示するディスプレイなどを含み、座標入力装置１０による処理結果などを表示する。ディスプレイは、例えば、液晶や有機ＥＬなどのＦＰＤ（Ｆｌａｔ  Ｐａｎｅｌ  Ｄｉｓｐｌａｙ）である。なお、表示装置３２は、図１で示した、表示面１４と捉えることもできる。
【００２１】
ドライブ装置３３は、着脱可能な記録媒体３９とのインタフェースである。座標入力装置１０は、ドライブ装置３３を介して、記録媒体３９の読み取り及び／又は書き込みを行うことができる。記録媒体３９には、例えば、フロッピー（登録商標）ディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＳＤメモリカード（ＳＤ  ｍｅｍｏｒｙ  ｃａｒｄ）、ＵＳＢメモリ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  ｍｅｍｏｒｙ）などがある。
【００２２】
ＲＡＭ３４は、各種プログラムやデータを一時記憶する揮発性の半導体メモリ（記憶装置）である。また、ＲＡＭ３４は、ＣＰＵ３６がデータ処理時に使用するメモリでもある。なお、ＲＡＭ３４の代わりに、ＳＤＲＡＭ、ＤＲＡＭ、ＳＲＡＭなどを使用してもよい。
【００２３】
ＲＯＭ３５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ３５には、座標入力装置１０の起動時に実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、情報処理システム設定、及びネットワーク設定などのプログラムやデータが格納されている。
【００２４】
ＣＰＵ３６は、座標入力装置１０の動作を統括的に制御する。ＣＰＵ３６は、ＲＯＭ３５やＨＤＤ３８に格納されたプログラムやデータをＲＡＭ（メモリ）３４上に読み出し、処理を実行することで、座標入力装置１０全体の動作を制御する。また、ＣＰＵ３６は、各種機能を実現する。
【００２５】
インタフェース装置３７は、例えば、ネットワークに接続するためのインタフェースである。また、インタフェース装置３７は、指示器２０と通信するためのインタフェースでもある。これにより、座標入力装置１０は、インタフェース装置３７を介して、指示器２０及び外部装置とデータ通信を行う。なお、インタフェース装置３７は、上述の受信装置１３と捉えることもできる。
【００２６】
ＨＤＤ３８は、座標入力装置１０で実行される各種のプログラムやデータを格納する不揮発性の記憶装置である。また、ＨＤＤ３８は、座標入力装置１０の各種機能を実現するために必要なプログラムやデータ等を格納する。格納されるプログラムやデータには、座標入力装置１０全体を制御する情報処理システム（例えば「Ｗｉｎｄｏｗｓ（登録商標）」や「ＵＮＩＸ（登録商標）」などの基本ソフトウェアであるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ））、及びシステム上において各種機能を提供するアプリケーションなどがある。また、ＨＤＤ３８は、格納しているプログラムやデータを、所定のファイルシステム及び／又はＤＢ（Ｄａｔａ  Ｂａｓｅ）により管理している。
【００２７】
なお、上記の座標入力装置１０用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、記録メディア等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【００２８】
次に、図４を用いて、指示器２０のハードウェア構成について説明する。図４は、指示器のハードウェア構成の一例を示す図である。図４に示すように、指示器２０は、センサ２１と、送信部２２と、ボタン２３と、発光部２４と、ＣＰＵ２０１と、ＲＡＭ２０２と、Ｆｌａｓｈメモリ２０３と、Ｉ／Ｏコントローラ２０４と、ＡＤＣ（Ａｎａｌｏｇ−ｔｏ−Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）２０５と、電池２０６と、電圧レギュレータ２０７とを備える。
【００２９】
センサ２１は、例えば、指示器２０の３次元姿勢を示す３次元姿勢情報を計測する。センサ２１は、例えば、ｘｙｚ軸の３方向の加速度を計測可能な３軸加速度センサである。この場合、３次元姿勢情報としてセンサ２１はｘｙｚ軸の３方向の加速度を計測する。３軸加速度センサとしては、ｘｙｚ軸の３方向の加速度を１デバイスで計測できる、例えば、ＭＥＭＳセンサを用いることができる。また、センサ２１として、指示器２０の３次元姿勢を示す３次元姿勢情報（方向ベクトルが得られる情報）を計測できるものであれば３軸加速度センサに限ることはなく、３軸角速度センサ、３軸地磁気センサなども適用できるし、複数のセンサ２１を組み合わせて用いることもできる。
【００３０】
送信部２２は、無線信号生成器２０８と、無線アンテナ２０９とを備える。無線信号生成器２０８は、例えば、指示器２０の３次元姿勢を示す３次元姿勢情報（加速度の情報）を無線信号データとして生成する。無線アンテナ２０９は、生成した無線信号データを送出する。送信部２２は、後述する検出部２１２でボタン２３が押下されたことを検出している間だけ３次元姿勢情報を送信する。
【００３１】
ボタン２３は、ユーザによって押下された場合に３次元姿勢情報を送信部２２から座標入力装置（本体部）１０に送信させる。
【００３２】
発光部２４は、ボタン２３が押下された場合に発光（点灯）する。発光部２４は、例えば、赤外線を発光する。また、発光部２４は、例えば、指示器２０の特徴点を示す先端部に設けられる。
【００３３】
ＣＰＵ２０１は、指示器２０の動作を統括的に制御する。ＣＰＵ２０１は、Ｆｌａｓｈメモリ２０３に格納されたプログラムやデータをＲＡＭ２０２上に読み出し、処理を実行することで、指示器２０全体の動作を制御する。また、ＣＰＵ２０１は、各種機能を実現する。
【００３４】
ＲＡＭ２０２は、各種プログラムやデータを一時記憶する揮発性の半導体メモリ（記憶装置）である。また、ＲＡＭ２０２は、ＣＰＵ２０１がデータ処理時に使用するメモリでもある。なお、ＲＡＭ２０２の代わりに、ＳＤＲＡＭ、ＤＲＡＭ、ＳＲＡＭなどを使用してもよい。
【００３５】
Ｆｌａｓｈメモリ２０３は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。Ｆｌａｓｈメモリ２０３には、指示器２０の起動時に実行されるシステム設定などのプログラムやデータが格納されている。
【００３６】
Ｉ／Ｏコントローラ２０４は、周辺機器の入出力を制御する。Ｉ／Ｏコントローラ２０４は、例えば、センサ２１からの信号の入力、ボタン２３が押下されたことを示す信号の入力、発光部２４の発光を制御する信号の出力、ＡＤＣ２０５との信号の入出力などを制御する。
【００３７】
ＡＤＣ２０５は、アナログ信号をデジタル信号に変換する電子回路である。ＡＤＣ２０５は、連続量であるアナログ電気信号の強度を一定時間ごとにサンプリングし、デジタル信号に変換（量子化）する。
【００３８】
電池２０６は、指示器２０を動作させるための電力を供給する電源である。電池２０６は、電圧レギュレータ２０７に接続される。
【００３９】
電圧レギュレータ２０７は、電池２０６から入力された電圧を変換して出力端子側に必要な電圧を発生させ、指示器２０の各部に電力を供給する。
【００４０】
次に、図５を用いて、座標入力装置１０及び指示器２０の機能について説明する。図５は、本実施形態に係る座標入力装置及び指示器の機能構成の一例を示す機能ブロック図である。
【００４１】
まず、指示器２０の機能構成について説明する。図５に示すように、指示器２０は、姿勢情報取得部２１１と、送信部２２と、検出部２１２と、発光制御部２１３とを備える。
【００４２】
姿勢情報取得部２１１は、指示器２０が有するセンサ２１が出力した指示器２０の３次元姿勢を示す３次元姿勢情報を取得する。センサ２１が、例えば、３軸加速度センサであった場合、指示器２０の３次元姿勢情報としてｘ軸、ｙ軸、ｚ軸方向の加速度から方向ベクトル（ｖｘ，ｖｙ，ｖｚ）を取得する。なお、図２を用いて説明したように、予めカメラ１１ａ、１１ｂのｘ軸と指示器２０のセンサ２１のｖｘ軸、カメラ１１ａ、１１ｂのｙ軸と指示器２０のセンサ２１のｖｙ軸、カメラ１１ａ、１１ｂのｚ軸と指示器２０のセンサ２１のｖｚ軸の向きが一致するようにセンサ２１が取り付けられているので、指示器２０のｘ軸、ｙ軸、ｚ軸方向の加速度から方向ベクトルが取得できれば、表示面１４に対する３次元姿勢を特定することができる。また、センサ２１が、例えば、３軸角速度センサ、３軸地磁気センサであってもｘ軸、ｙ軸、ｚ軸方向の情報から方向ベクトルが取得できれば表示面１４に対する３次元姿勢を特定することができる。
【００４３】
送信部２２は、姿勢情報取得部２１１で取得した指示器２０の３次元姿勢を示す３次元姿勢情報を座標入力装置（本体部）１０に対して送信する。なお、送信部２２が送信する３次元姿勢情報としては、例えば、ｘ軸、ｙ軸、ｚ軸方向の加速度の情報及び加速度の情報から得られる３次元の方向ベクトルの情報である。
【００４４】
検出部２１２は、３次元姿勢情報を送信部２２から座標入力装置（本体部）１０に送信させるボタン２３が押下されたことを検出する。そして、検出部２１２は、ボタン２３が押下されたことを検出した情報を送信部２２、発光制御部２１３に通知する。
【００４５】
発光制御部２１３は、検出部２１２からボタン２３が押下されたことを検出した情報を受け取って発光部２４を発光（点灯）させる制御を行う。
【００４６】
本実施形態では、上述の姿勢情報取得部２１１、送信部２２、検出部２１２、発光制御部２１３の各々の機能は、ＣＰＵ２０１がＦｌａｓｈメモリ２０３等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上述の姿勢情報取得部２１１、送信部２２、検出部２１２、発光制御部２１３の各々の機能のうちの少なくとも一部が専用のハードウェア回路（半導体集積回路等）により実現されてもよい。
【００４７】
次に、座標入力装置（本体部）１０の機能構成について説明する。図５に示すように、座標入力装置１０は、画像取得部１１１と、画像処理部１１２と、変換行列計算部１１３と、３次元座標算出部１１４と、受信部１１５と、交点座標算出部１１６と、判定部１１７と、補正部１１８と、軌跡画像生成部１１９と、表示制御部１２０と、記憶部１２１とを備える。
【００４８】
なお、上述の情報処理部１２は、画像処理部１１２、変換行列計算部１１３、３次元座標算出部１１４、交点座標算出部１１６、判定部１１７、補正部１１８、軌跡画像生成部１１９及び表示制御部１２０で主に構成されている。
【００４９】
画像取得部１１１は、２以上のカメラ１１で所定範囲を撮像した画像を時系列に取得する。所定範囲は、予め設定された範囲であり、表示面１４から離れた場所から表示面１４を指示する指示器２０が含まれる範囲である。画像取得部１１１は、時系列に取得した画像を画像処理部１１２に出力する。
【００５０】
画像処理部１１２は、画像取得部１１１から入力された画像から指示器２０の画像特徴などを解析する。例えば、画像処理部１１２は、画像取得部１１１から入力された画像から指示器２０の特徴点（先端部）を解析して抽出し、その解析結果を後述の３次元座標算出部１１４に出力する。なお、後述する記憶部１２１には、表示面１４に設定した校正点の世界座標系における３次元座標が格納されており、画像処理部１１２では、カメラ１１ａ、１１ｂと、表示面１４との間の相対的位置の校正を可能としている。
【００５１】
変換行列計算部１１３は、画像処理部１１２が取得した校正点に関する画像情報と、校正点情報とを使用して、カメラ１１を基準としたカメラ座標系と、世界座標系における指示器２０の特徴点（先端部）の座標との間の変換行列を計算し、各座標系の間の座標変換を可能としている。変換行列計算部１１３は、生成した変換行列を後述する記憶部１２１に格納する。
【００５２】
３次元座標算出部１１４は、２以上のカメラ１１で取得した画像から指示器２０を含む画像を時系列に抽出して世界座標系における指示器２０の特徴点の３次元座標を算出する。すなわち、３次元座標算出部１１４は、画像処理部１１２の画像解析の結果および変換行列計算部１１３で計算した変換行列を使用して画像から指示器２０の特徴点の世界座標系における３次元座標を算出する。世界座標系における３次元座標の算出方法の詳細については後述する。
【００５３】
受信部１１５は、指示器２０から指示器２０の３次元姿勢を示す３次元姿勢情報を受信する。３次元姿勢情報としては、例えば、ｘ軸、ｙ軸、ｚ軸方向の加速度の情報及び加速度の情報から得られる３次元の方向ベクトルの情報である。
【００５４】
交点座標算出部１１６は、指示器２０の特徴点（先端）の３次元座標と、指示器２０の３次元姿勢を示す３次元姿勢情報（方向ベクトルの情報）とを用いて、指示器２０の特徴点が指示する指示方向の延長線が表示面１４と交差する交点座標を算出する。交点座標の算出方法の詳細については後述する。
【００５５】
判定部１１７は、指示器２０の３次元姿勢を示す３次元姿勢情報（加速度の情報）が所定の閾値より小さいか否かを判定する。なお、所定の閾値は任意である。本実施形態では、センサ２１が３軸加速度センサである一例について説明しており、３次元方向の加速度が、所定の閾値より小さいか否かを判定する。
【００５６】
補正部１１８は、判定部１１７で指示器２０の３次元姿勢を示す３次元姿勢情報（加速度の情報）が所定の閾値より小さいと判定された場合に、交点座標算出部１１６で算出された第２の交点座標と、１つ前に算出された第１の交点座標との差分が小さくなる補正を当該第２の交点座標の値に対して行う。なお、補正の方法については後述する。
【００５７】
軌跡画像生成部１１９は、指示器２０の交点座標の軌跡で描画された軌跡画像を生成して、後述の表示制御部１２０に出力する。
【００５８】
表示制御部１２０は、軌跡画像生成部１１９で生成した軌跡画像を表示面１４に表示させる制御を行う。
【００５９】
記憶部１２１は、各種のデータを記憶する。例えば、記憶部１２１は、表示面１４に設定した校正点の世界座標系における３次元座標を記憶する。また、例えば、記憶部１２１は、３次元座標算出部１１４で算出した世界座標系における指示器２０の特徴点（先端）の３次元座標を記憶する。また、例えば、記憶部１２１は、変換行列計算部１１３で算出したカメラ１１を基準としたカメラ座標系と、世界座標系における指示器２０の特徴点（先端部）の座標との間の変換行列を記憶する。
【００６０】
本実施形態では、上述の画像取得部１１１、画像処理部１１２、変換行列計算部１１３、３次元座標算出部１１４、受信部１１５、交点座標算出部１１６、判定部１１７、補正部１１８、軌跡画像生成部１１９、表示制御部１２０、記憶部１２１の各々の機能は、ＣＰＵ３６がＲＯＭ３５等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上述の画像取得部１１１、画像処理部１１２、変換行列計算部１１３、３次元座標算出部１１４、受信部１１５、交点座標算出部１１６、判定部１１７、補正部１１８、軌跡画像生成部１１９、表示制御部１２０、記憶部１２１の各々の機能のうちの少なくとも一部が専用のハードウェア回路（半導体集積回路等）により実現されてもよい。
【００６１】
次に、図６を用いて、変換行列計算部１１３の詳細な機能構成について説明する。図６は、変換行列計算部の詳細な機能構成の一例について説明する図である。図６の例では、２つのカメラ１１ａ、１１ｂで所定範囲を撮像した画像を取得する一例について説明する。カメラ１１ａ、１１ｂは、各々が時系列に取得した画像を画像処理部１１２に対して出力する。画像処理部１１２は、カメラ１１ａ、１１ｂから入力された画像情報を受領して、各画像の情報を変換行列計算部１１３に出力する。
【００６２】
変換行列計算部１１３は、読取部１１３ａおよび演算部１１３ｂを備えており、入力された各カメラ１１ａ、１１ｂの画像データを使用して世界座標における位置誤差を最小とするようにして、同時に各カメラ１１ａ、１１ｂに対する変換行列を計算する。３次元座標算出部１１４は、計算された変換行列を使用して世界座標系における３次元座標を算出し、記憶部１２１に格納すると共に交点座標算出部１１６に出力する。
【００６３】
＜変換行列及び世界座標系の３次元座標の算出＞
次に、図７を用いて、変換行列及び世界座標系における３次元座標の算出方法について説明する。図７は、変換行列計算部及び３次元座標算出部で実行する処理フローの一例を説明する図である。
【００６４】
変換行列計算部１１３は、ボックス３１１でユーザ指示された校正点の画像を取得する。取得された画像は、ボックス３１２で画像解析され、指示された校正点の世界座標系の３次元座標とカメラ座標系の２次元座標とが対応付けられる。カメラ座標系の２次元座標と世界座標系の３次元座標との間の対応付けは、各カーテシアン座標系の回転行列および各画像中心の並進ベクトルによって行われる。
【００６５】
この対応付けにより、ボックス３１３で変換行列Ｈが計算される。なお、Ｈ行列の計算についてはより詳細に後述する。計算されたＨ行列は、周知のデータ・フォーマットとして、記憶部１２１の適切な記憶領域に格納される。また、計算されたＨ行列は、Ｐ行列を計算するためにボックス３１４に出力される。
【００６６】
一方、変換行列計算部１１３は、ボックス３１５で下記式（９）の内部パラメータであるＡ行列を測定し、記憶部１２１の適切な記憶領域に記憶させる。このＡ行列は、Ｈ行列の計算が終了した後、ボックス３１４に出力される。ボックス３１４では、Ｈ行列の値およびＡ行列の値からＰ行列を計算する。
【００６７】
３次元座標算出部１１４は、ボックス３５１で、ユーザが指示器２０で表示面１４を指示する画像を取得する。ボックス３５２では、取得した画像から指示器２０の特徴点（先端）のカメラ座標系の２次元座標を取得する。
【００６８】
そして、変換行列計算部１１３で算出されたＰ行列を読み出して変換行列として使用し、ボックス３５３で指示器２０の特徴点（先端）の世界座標系における３次元座標を算出する。
【００６９】
次に、より具体的な算出方法について説明する。以下では、校正点及び特徴点の世界座標系の３次元座標を（Ｘｗｏｒｌｄ，Ｙｗｏｒｌｄ，Ｚｗｏｒｌｄ）として世界座標と定義し、校正点及び特徴点を撮影した時のカメラ座標系の２次元座標を（ｘｃａｍｅｒａ，ｙｃａｍｅｒａ）としてカメラ座標と定義する。
【００７０】
世界座標と、カメラ座標との間は、座標系の回転行列および座標中心のずれに対応する並進ベクトルは下記式（１）により定義される。
【００７１】
【数１】
2017027472.tif 000003
【００７２】
上記式（１）中、λは、世界座標とカメラ座標との間のサイズの違いを対応付ける比例定数であり、ｒｉｊが回転行列の要素であり、ｔｌｍが並進ベクトルの要素である。ここで、回転並進同時変換の行列Ｐを下記式（２）で定義する。
【００７３】
【数２】
2017027472.tif 000004
【００７４】
上記式（２）中、ｒｉは、ｉ（ｉ＝Ｘ，Ｙ，Ｚ）軸回りの回転角に関連する回転の列ベクトルであり、ｔは、座標系間の並進ベクトルである。
【００７５】
まず、ユーザが指示器２０で直接に表示面１４上をタッチして位置を示す場合、Ｚｗｏｒｌｄは、０に等しい。このため、上記式（１）からは、Ｚｗｏｒｌｄが関連する要素を無視することができ、上記の行列Ｐは、３×３の行列Ｈとして下記式（３）に変換できる。
【００７６】
【数３】
2017027472.tif 000005
【００７７】
行列Ｈを以降の処理を記述するために各軸Ｘ，Ｙ，Ｚにそれぞれ付すサフィックスとして１，２，３を割り当て、ｈｉとして列ベクトルで表記すると、下記式（４）のように記述できる。
【００７８】
【数４】
2017027472.tif 000006
【００７９】
ここで、上記式（３）を要素計算し、λを消去して９次元の行および列ベクトルの積の形式に変形すると、下記式（５）が得られる。
【００８０】
【数５】
2017027472.tif 000007
【００８１】
ここでは、Ｚｗｏｒｌｄ＝０を想定しているため、Ｈ３３を定数１に設定する。このとき未知変数が８つとなり、上記式（５）を解くためには、最低４個の校正点の情報が得られれば良く、４点以上の情報が使用できる場合、最小二乗法を使用してＨ１１〜Ｈ３３をフィッティングすることで、変換行列の要素を得ることができる。
【００８２】
世界座標の算出は、以下の通りに行うことができる。上記式（３）のＸ軸およびＹ軸について要素を計算し、Ｘｗｏｒｌｄ，Ｙｗｏｒｌｄを変数として行列表示すると、下記式（６）が得られる。
【００８３】
【数６】
2017027472.tif 000008
【００８４】
上記式（６）の左から逆行列を乗じてＸｗｏｒｌｄ，Ｙｗｏｒｌｄを解くと、下記式（７）が得られる。
【００８５】
【数７】
2017027472.tif 000009
【００８６】
上記式（７）中、画像処理部１１２の解析において、ｘｃａｍｅｒａ，ｙｃａｍｅｒａは解析できるので、世界座標（Ｘｗｏｒｌｄ，Ｙｗｏｒｌｄ，０）を得ることができる。なお、２つのカメラ１１を用いて、三角測量の解析方法を使用することで、より正確な世界座標を取得することが可能となる。
【００８７】
上述した算出方法では、Ｚｗｏｒｌｄ＝０を想定したが、指示器２０で直接に表示面１４をタッチして位置を示すより、実際には表示面１４から離れた位置から指示器２０で指示することが多い。その場合、上記式（２）の行列Ｐを再計算することでも算出できるが、上記で算出した行列Ｈを使用して座標系の回転を校正した後、幾何光学的関係を適用して画像情報からＺｗｏｒｌｄを決定する。
【００８８】
この処理は、行列Ｈから行列Ｐの要素を計算する処理で実現でき、すでに計算済みの行列Ｈを使用し、以下の通り算出する。行列Ｈは、下記式（８）
【００８９】
【数８】
2017027472.tif 000010
で記述でき、行列Ａは、カメラ１１の内部パラメータであり、下記式（９）で与えられる。
【００９０】
【数９】
2017027472.tif 000011
【００９１】
上記式（９）中、（ｃｘ，ｃｙ）は、画像中心であり、（ｆｘ，ｆｙ）は、ピクセル単位で表される焦点距離である。この内部パラメータ行列Ａは、例えば、「A  Flexible  New  Technique  for  Camera  Calibration,  Zhengyou  Zhang.  December  2,  1998」の方法により予め決定することができる。
【００９２】
また、λ１、λ３は、上記式（１）および上記式（３）から、下記式（１０）で与えられる。
【００９３】
【数１０】
2017027472.tif 000012
【００９４】
上記式（８）中の［ｈ１  ｈ２  ｈ３］と、［ｒ１  ｒ２  ｒ３  ｔ］に関し、ｒ３は、ｒ１，ｒ２と直交関係にあるので、ベクトルの外積としてｒ３＝ｒ１×ｒ２となる。この関係を使用し、上記式（８）の左からＡ−１を乗じると、下記式（１１）の関係が得られ、Ｈ行列からＰ行列を計算することができる。
【００９５】
【数１１】
2017027472.tif 000013
【００９６】
なお、上記式（１１）中、λは、下記式（１２）で与えられる規格化定数である。
【００９７】
【数１２】
2017027472.tif 000014
【００９８】
以上のようにして得られたＰ行列は、表示面１４から離れた位置から指示器２０で指示した場合の指示器２０の特徴点（先端）の世界座標を算出するための校正パラメータとして記憶部１２１の適切な記憶領域に記憶する。
【００９９】
＜交点座標の算出＞
次に、交点座標算出部１１６で、指示器２０の特徴点（先端）が指示する指示方向の延長線が表示面１４と交差する交点座標を算出する方法について説明する。以下では、指示器２０の特徴点（先端）の世界座標系における３次元座標を（ｘ１，ｙ１，ｚ１）と定義し、指示器２０の３次元姿勢を示す３次元姿勢情報（方向ベクトル）を（ｖｘ，ｖｙ，ｖｚ）と定義し、指示器２０の特徴点（先端）が指示する指示方向の延長線が表示面１４と交差する交点座標を（ｘ＊，ｙ＊，０）と定義する。
【０１００】
３次元座標（ｘ１，ｙ１，ｚ１）を通り、ベクトル（ｖｘ，ｖｙ，ｖｚ）で向きが表されている空間での直線（すなわち、指示器２０の特徴点（先端）が指示する指示方向の直線）は媒介変数（パラメータ）ｔを用いて下記式（１３）〜（１５）で表される。
【０１０１】
ｘ＝ｘ１＋ｖｘ×ｔ      ・・・（１３）
ｙ＝ｙ１＋ｖｙ×ｔ      ・・・（１４）
ｚ＝ｚ１＋ｖｚ×ｔ      ・・・（１５）
【０１０２】
上記式（１３）〜（１５）中、ｔは媒介変数を表す。
【０１０３】
表示面１４は、平面ｚ＝０で表されるので、上記式（１５）にｚ＝０を代入して下記式（１６）が算出される。
【０１０４】
ｔ＝−ｚ１／ｖｚ      ・・・（１６）
【０１０５】
上記式（１６）を、上記式（１３）、（１４）に代入して下記式（１７）、（１８）が算出される。
【０１０６】
ｘ＊＝ｘ１＋ｖｘ×（−ｚ１／ｖｚ）      ・・・（１７）
ｙ＊＝ｙ１＋ｖｙ×（−ｚ１／ｖｚ）      ・・・（１８）
【０１０７】
このように、上記式（１７）、（１８）の計算値から、指示器２０の特徴点（先端）が指示する指示方向の延長線が表示面１４と交差する交点座標（ｘ＊，ｙ＊，０）を算出できる。
【０１０８】
次に、図８を用いて、座標入力システム１００の処理動作について説明する。図８は、座標入力システムの処理動作の一例を説明する図である。
【０１０９】
ユーザは指示器２０の先端（特徴点）で表示面１４の任意の点を指示しながらボタン２３を押下する（ステップＳ１）。指示器２０のセンサ２１は、指示器２０の３次元姿勢を示す３次元姿勢情報を出力する（ステップＳ２）。それと共に発光制御部２１３は、発光部（先端）２４が点灯するように制御する（ステップＳ３）。
【０１１０】
指示器２０の発光部（先端）２４が点灯すると、座標入力装置（本体部）１０の画像取得部１１１は、２以上のカメラ１１で所定範囲を撮像した画像を時系列に取得する（ステップＳ４）。画像処理部１１２は、画像取得部１１１から入力された画像から指示器２０の画像特徴などを解析する。すなわち、画像処理部１１２は、画像取得部１１１から入力された画像から指示器２０の特徴点（発光部（先端）２４）を解析して抽出し、その解析結果を３次元座標算出部１１４に出力する。３次元座標算出部１１４は、画像処理部１１２の画像解析の結果および変換行列計算部１１３で計算した変換行列を使用して画像の指示器２０の特徴点（発光部（先端）２４）の世界座標系における３次元座標を算出する（ステップＳ５）。
【０１１１】
ステップＳ２の後、指示器２０の姿勢情報取得部２１１は、センサ２１が出力した指示器２０の３次元姿勢を示す３次元姿勢情報を取得し（ステップＳ６）、送信部２２は、取得した３次元姿勢情報を座標入力装置（本体部）１０に対して送信する（ステップＳ７）。
【０１１２】
座標入力装置１０の受信部１１５は、指示器２０から指示器２０の３次元姿勢を示す３次元姿勢情報を受信する（ステップＳ８）。交点座標算出部１１６は、３次元座標算出部１１４で算出した指示器２０の特徴点（発光部（先端）２４）の３次元座標と、指示器２０から受信した指示器２０の３次元姿勢を示す３次元姿勢情報とを用いて、指示器２０の特徴点（発光部（先端）２４）が指示する指示方向の延長線が表示面１４と交差する交点座標を算出する（ステップＳ９）。軌跡画像生成部１１９は、指示器２０の交点座標の軌跡で描画された軌跡画像を生成して表示制御部１２０に出力する（ステップＳ１０）。表示制御部１２０は、軌跡画像生成部１１９で生成した軌跡画像を表示面１４に表示させる制御を行う（ステップＳ１１）。
【０１１３】
次に、上記のステップＳ８〜ステップＳ９における処理動作の詳細について説明する。すなわち、上述した判定部１１７、補正部１１８での処理動作のフローである。図９は、判定部及び補正部での処理動作を説明するフローチャート図である。
【０１１４】
座標入力装置１０の受信部１１５は、指示器２０から指示器２０の３次元姿勢を示す３次元姿勢情報を受信する（ステップＳ２１）。次に、判定部１１７では、指示器２０から受信した３次元姿勢情報が所定の閾値以下であるか否かを判定する（ステップＳ２２）。本実施形態では、センサ２１が３軸加速度センサである一例について説明しており、具体的には、判定部１１７は、ｘ軸、ｙ軸方向の加速度が所定の閾値以下であるか否か（閾値より小さいか否か）を判定する。加速度が所定の閾値より小さいとは、例えば、指示器２０が任意の距離を移動した場合、指示器２０の移動速度が遅いことを意味し、加速度が所定の閾値より大きいとは、指示器２０が任意の距離を移動した場合、指示器２０の移動速度が速いことを意味する。
【０１１５】
所定の閾値以下でない場合（ステップＳ２２：Ｎｏ）、処理を終了する。つまり、図８で示したステップＳ１０に移行する。
【０１１６】
所定の閾値以下であった場合（ステップＳ２２：Ｙｅｓ）、すなわち、判定部１１７が、任意の距離を指示器２０がゆっくり移動したと判定した時には、補正部１１８は、算出された第２の交点座標と、１つ前に算出された第１の交点座標との差分が小さくなる補正を当該第２の交点座標に対して行う（ステップＳ２３）。つまり、補正部１１８は、算出された第２の交点座標に対して、１つ前に算出された第１の交点座標からの移動量が少なくなるように（差分が小さくなるように）補正処理を行う。次に、補正部１１８は、補正後の第２の交点座標を、新たな交点座標とし（ステップＳ２４）、処理を終了する。つまり、図８で示したステップＳ１０に移行する。
【０１１７】
＜補正の方法＞
次に、補正部１１８での交点座標の補正の方法について説明する。以下では、３次元姿勢情報として３次元方向の加速度（ａｘ，ａｙ，ａｚ）と定義し、算出した補正前の第２の交点座標（ｘ＊，ｙ＊，０）と定義し、１つ前に算出した第１の交点座標（ｘｐｒｅｖ，ｙｐｒｅｖ，０）と定義し、補正後の交点座標（Ｘ＊，Ｙ＊，０）と定義し、略静止時を判断する加速度の閾値Ｔｈｒｅｓｈｏｌｄ＿ｍｉｎと定義する。
【０１１８】
補正後の交点座標（Ｘ＊，Ｙ＊，０）のＸ＊，Ｙ＊は、以下で算出する。
【０１１９】
【数１３】
2017027472.tif 000015
【０１２０】
である場合、すなわち、所定の閾値より小さい場合は、下記式（１９）、（２０）によりＸ＊，Ｙ＊が算出できる。
【０１２１】
【数１４】
2017027472.tif 000016
【０１２２】
【数１５】
2017027472.tif 000017
【０１２３】
上記式（１９）、（２０）中、
【０１２４】
【数１６】
2017027472.tif 000018
【０１２５】
は１より小さい（＜１）減衰率を表す。
【０１２６】
【数１７】
2017027472.tif 000019
【０１２７】
である場合、すなわち、所定の閾値以上の場合は、下記式（２１）、（２２）によりＸ＊，Ｙ＊が算出できる。
【０１２８】
【数１８】
2017027472.tif 000020
【０１２９】
【数１９】
2017027472.tif 000021
【０１３０】
すなわち、上記式（２１）、（２２）では、略静止時ではないので交点座標の補正は行わない。
【０１３１】
上記で説明したように補正部１１８で交点座標を補正処理することで、例えば、指示器２０が略静止時では手ぶれを抑制することができる。また、加速度マウスと同様に、任意の距離での移動速度が遅い場合には交点座標の移動量が小さくなる制御、任意の距離での移動速度が速い場合には交点座標の移動量が大きくなる制御を行うことができる。
【０１３２】
以上で説明した処理動作を本実施形態の座標入力システム１００に実行させることで、座標入力システム１００は、指示器２０が有するセンサ２１が出力した指示器２０の３次元姿勢を示す３次元姿勢情報を受信する。また、座標入力システム１００は、２以上のカメラ１１で取得した画像から指示器２０を含む画像を時系列に抽出して解析した結果および計算した変換行列を使用して指示器２０の特徴点（先端）の世界座標系における３次元座標を算出する。座標入力システム１００は、指示器２０の特徴点（先端）の３次元座標と、指示器２０の３次元姿勢情報とを用いて、指示器２０の特徴点（先端）が指示する指示方向の延長線が表示面１４と交差する交点座標を算出する。これにより、本実施形態の座標入力システム１００は、指示器２０の指示方向が表示面１４に対して斜め方向であった場合でも指示器２０の指示方向が表示面１４と交差する交点座標を入力座標として算出することができる。
【０１３３】
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【０１３４】
また、上述した実施形態の座標入力システム１００で実行されるソフトウェア（プログラム）は、インストール可能な形式または実行可能な形式のファイルでフロッピー（登録商標）ディスク、ＣＤ（Compact  Disc）、ＣＤ−Ｒ（Compact  Disc-Recordable）、ＣＤ−ＲＯＭ（Compact  Disc  Read  Only  Memory）、ＤＶＤ（Digital  Versatile  Disc）、ＳＤメモリカード（SD  memory  card）、ＵＳＢメモリ（Universal  Serial  Bus  memory）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１３５】
さらに、本実施形態の座標入力システム１００で実行されるソフトウェア（プログラム）を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の座標入力システム１００で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【符号の説明】
【０１３６】
１０  座標入力装置（本体部）
１１、１１ａ、１１ｂ  カメラ
１２  情報処理部
１３  受信装置
１４  表示面
２０  指示器（指示デバイス）
２１  センサ
２２  送信部
２３  ボタン
２４  発光部
３１  入力装置
３２  表示装置
３３  ドライブ装置
３４  ＲＡＭ
３５  ＲＯＭ
３６  ＣＰＵ
３７  インタフェース装置
３８  ＨＤＤ
３９  記録媒体
５０  システムバス
１１１  画像取得部
１１２  画像処理部
１１３  変換行列計算部
１１３ａ  読取部
１１３ｂ  演算部
１１４  ３次元座標算出部
１１５  受信部
１１６  交点座標算出部
１１７  判定部
１１８  補正部
１１９  軌跡画像生成部
１２０  表示制御部
１２１  記憶部
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  Ｆｌａｓｈメモリ
２０４  Ｉ／Ｏコントローラ
２０５  ＡＤＣ
２０６  電池
２０７  電圧レギュレータ
２０８  無線信号生成器
２０９  無線アンテナ
２１１  姿勢情報取得部
２１２  検出部
２１３  発光制御部
３１１〜３１５  ボックス
３５１〜３５３  ボックス
【先行技術文献】
【特許文献】
【０１３７】
【特許文献１】特開２００８−２１０３４８号公報
【図１】
2017027472.tif 000022
【図２】
2017027472.tif 000023
【図３】
2017027472.tif 000024
【図４】
2017027472.tif 000025
【図５】
2017027472.tif 000026
【図６】
2017027472.tif 000027
【図７】
2017027472.tif 000028
【図８】
2017027472.tif 000029
【図９】
2017027472.tif 000030
【図１０】
2017027472.tif 000031
【図１１】
2017027472.tif 000032