(57)【特許請求の範囲】
【請求項１】
撮影装置と、投影装置と、前記撮影装置と前記投影装置とについての光軸及び画角を一致させる光軸一致機構と、前記撮影装置と前記投影装置との３次元空間における駆動装置とを具備するロボットに対して用いられる位置データ変換装置において、
前記撮影装置の撮影画像に写る実空間平面に配置されている基準体を画像認識し、前記基準体に基づく３次元特定方法により、前記実空間平面における特定座標について、「前記撮影装置と前記基準体との間の距離Ｌ」と、「前記撮影装置と前記基準体を結ぶ線と前記実空間平面との角度θ1」とを求める認識手段と、
前記特定座標について、前記距離Ｌと前記角度θ1とに基づいて、前記基準体と、前記撮影装置から前記平面への垂線との間の距離を表す第１の値を求める第１位置要素演算手段と、
前記特定座標について、「前記撮影装置と前記基準体とを結ぶ線と前記撮影装置の光軸との間の角度θ2」と、「前記撮影装置の画角θ3」と、前記距離Ｌと、前記角度θ1とに基づいて、前記撮影装置の前記基準体側の画角線と前記実空間平面との交点と、前記撮影装置から前記実空間平面への垂線との間の距離を表す第２の値を求める第２位置要素演算手段と、
前記特定座標について、前記撮影画像における特定の位置に基づいて、前記撮影画像における特定の位置に対応する前記実空間平面の位置と、前記撮影装置の前記基準体側の画角線と前記実空間平面との交点との間の距離を表す値ＲＲを求める画角内位置要素演算手段と、
前記第１の値と、前記第２の値と、前記値ＲＲとに基づいて、前記撮影画像における特定の位置を、前記特定座標における位置に変換した実空間位置データを求める変換手段と
を具備することを特徴とする位置データ変換装置。
【請求項２】
撮影装置と、投影装置と、前記撮影装置と前記投影装置とについての光軸及び画角を一致させる光軸一致機構と、前記撮影装置と前記投影装置との３次元空間における駆動装置とを具備するロボットに対して用いられる位置データ変換装置において、
前記投影装置の投影画像が投影される実空間平面に設置されている基準体を画像認識し、前記基準体に基づく３次元特定方法により、前記実空間平面における特定座標について、「前記投影装置と前記基準体との間の距離Ｌ」と、「前記投影装置と前記基準体を結ぶ線と前記実空間平面との角度θ1」とを求める認識手段と、
前記特定座標について、前記距離Ｌと前記角度θ1とに基づいて、前記基準体と、前記投影装置から前記平面への垂線との間の距離を表す第１の値を求める第１位置要素演算手段と、
前記特定座標について、「前記投影装置と前記基準体とを結ぶ線と前記投影装置の光軸との間の角度θ2」と、「前記投影装置の画角θ3」と、前記距離Ｌと、前記角度θ1とに基づいて、前記投影装置の前記基準体側の画角線と前記実空間平面との交点と、前記投影装置から前記実空間平面への垂線との間の距離を表す第２の値を求める第２位置要素演算手段と、
前記特定座標について、前記第１の値と、前記第２の値と、前記特定座標における特定の位置とに基づいて、前記特定座標における特定の位置と、前記投影装置の前記基準体側の画角線と前記実空間平面との交点との間の距離を表す値ＲＲを求める画角内位置要素演算手段と、
前記特定座標について、前記投影装置の前記基準体側の画角線と前記実空間平面との交点から、前記値ＲＲの距離だけ離れた前記実空間平面の位置に対応する前記投影画像における位置を表す投影画像位置データを求める変換手段と
を具備することを特徴とする位置データ変換装置。
【請求項３】
撮影装置と、投影装置と、前記撮影装置と前記投影装置とについての光軸及び画角を一致させる光軸一致機構と、前記撮影装置と前記投影装置との３次元空間における駆動装置とを具備するロボットに対して用いられる位置データ変換方法において、
第１記憶装置に記憶されている撮影画像データに基づいて、前記撮影装置の撮影画像に写る実空間平面に配置されている基準体を画像認識し、前記基準体に基づく３次元特定方法により、前記実空間平面における特定座標について、「前記撮影装置と前記基準体との間の距離Ｌ」と、「前記撮影装置と前記基準体を結ぶ線と前記実空間平面との角度θ1」とを求め、前記距離Ｌ及び前記角度θ1を第２記憶装置に記憶し、
前記第２記憶装置に記憶されている前記距離Ｌ及び前記角度θ1に基づいて、前記特定座標について、前記基準体と、前記撮影装置から前記平面への垂線との間の距離を表す第１の値を求め、前記第１の値を第３記憶装置に記憶し、
前記第２記憶装置に記憶されている「前記撮影装置と前記基準体とを結ぶ線と前記撮影装置の光軸との間の角度θ2」と、「前記撮影装置の画角θ3」と、前記距離Ｌと、前記角度θ1とに基づいて、前記特定座標について、前記撮影装置の前記基準体側の画角線と前記実空間平面との交点と、前記撮影装置から前記実空間平面への垂線との間の距離を表す第２の値を求め、前記第２の値を前記第３記憶装置に記憶し、
前記第２記憶装置に記憶されている前記撮影画像における特定の位置データに基づいて、前記特定座標について、前記撮影画像における特定の位置に対応する前記実空間平面の位置と、前記撮影装置の前記基準体側の画角線と前記実空間平面との交点との間の距離を表す値ＲＲを求め、前記値ＲＲを前記第３記憶装置に記憶し、
前記第３記憶装置に記憶されている前記第１の値と、前記第２の値と、前記値ＲＲとに基づいて、前記撮影画像における特定の位置を、前記特定座標における位置に変換した実空間位置データを求め、前記実空間位置データを第４記憶装置に記憶する
ことを特徴とする位置データ変換方法。
【請求項４】
撮影装置と、投影装置と、前記撮影装置と前記投影装置とについての光軸及び画角を一致させる光軸一致機構と、前記撮影装置と前記投影装置との３次元空間における駆動装置とを具備するロボットに対して用いられる位置データ変換方法において、
第１記憶装置に記憶されている投影画像データの示す投影画像が前記投影装置によって投影される実空間平面に設置されている基準体を画像認識し、前記基準体に基づく３次元特定方法により、前記実空間平面における特定座標について、「前記投影装置と前記基準体との間の距離Ｌ」と、「前記投影装置と前記基準体を結ぶ線と前記実空間平面との角度θ1」とを求め、前記距離Ｌ及び前記角度θ1を第２記憶装置に記憶し、
前記第２記憶装置に記憶されている前記距離Ｌ及び前記角度θ1に基づいて、前記特定座標について、前記基準体と、前記投影装置から前記平面への垂線との間の距離を表す第１の値を求め、前記第１の値を第３記憶装置に記憶し、
前記第２記憶装置に記憶されている「前記投影装置と前記基準体とを結ぶ線と前記投影装置の光軸との間の角度θ2」と、「前記投影装置の画角θ3」と、前記距離Ｌと、前記角度θ1とに基づいて、前記特定座標について、前記投影装置の前記基準体側の画角線と前記実空間平面との交点と、前記投影装置から前記実空間平面への垂線との間の距離を表す第２の値を求め、前記第２の値を前記第３記憶装置に記憶し、
前記第３記憶装置に記憶されている前記第１の値と、前記第２の値と、前記特定座標における特定の位置とに基づいて、前記特定座標について、前記特定座標における特定の位置と、前記投影装置の前記基準体側の画角線と前記実空間平面との交点との間の距離を表す値ＲＲを求め、前記値ＲＲを前記第３記憶装置に記憶し、
前記特定座標について、前記投影装置の前記基準体側の画角線と前記実空間平面との交点から、前記第３記憶装置に記憶されている前記値ＲＲの距離だけ離れた前記実空間平面の位置に対応する前記投影画像における位置を表す投影画像位置データを求め、前記投影画像位置データを第４記憶装置に記憶する
ことを特徴とする位置データ変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影画像又は投影画像の位置に関する変換を行う位置データ変換装置及び位置データ変換方法に関する。
【背景技術】
【０００２】
従来より、プロジェクタなどの映像投影装置により実空間上に映像を投影し、この投影された映像の映像情報を撮像装置により取得して種々の処理を行う映像入出力装置が開発されている。
このような従来の映像入出力装置は、映像を撮影するカメラと映像を投影するプロジェクタとを各光軸が直交するように配置し、この光軸の交点にハーフミラーを配置する構成を採用している（特許文献１、特許文献２参照）。
【０００３】
この構成により、光軸が一致するため、投影対象面までの距離などに依存せずに投影映像と撮影映像とを関連付けた処理を行うことができる。つまり、投影映像の処理及び撮影映像の処理時に投影映像と撮影映像の位置合わせを行う必要がない。
さらに、従来においては、カメラの視野に対してプロジェクタにより映像を投影する場合に、カメラの視野内にプロジェクタの投影領域を収めるための技術が提案されている（特許文献３参照）。
【０００４】
【特許文献１】特開２００１−２１１３７２号公報
【０００５】
【特許文献２】特開２００４−２３３１２６号公報
【０００６】
【特許文献３】特開２００５−３２２０５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
例えば、カメラの光軸とプロジェクタの光軸とが一致する機構を持ち、このカメラとプロジェクタとが移動可能であり、さらに光軸の方向も変更可能とした場合、カメラの撮影画像の特定の位置が管理用座標系のどの位置に対応するか、精度高く認識することは困難である。
【０００８】
また、管理用座標系の特定の位置が、プロジェクタによって投影される投影画像のどの位置に対応するか、精度高く認識することは困難である。
本発明は、以上のような実情に鑑みてなされたもので、撮影装置によって撮影された撮影画像の特定の位置を管理用座標系の位置に変換可能とし、または管理用座標系の特定の位置を投影装置によって投影される投影画像の位置に変換可能とする位置データ変換装置及び位置データ変換方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一例の位置データ変換装置は、撮影装置と、投影装置と、撮影装置と投影装置とについての光軸一致機構と、撮影装置と投影装置との３次元空間における設置状態を変更する駆動装置とを具備するロボットに対して用いられる位置データ変換装置に関する。
【００１０】
第１の態様の位置データ変換装置は、前記撮影装置の撮影画像に写る実空間平面に配置されている基準体を画像認識し、前記基準体に基づく３次元特定方法により、前記実空間平面における特定座標について、「前記撮影装置と前記基準体との間の距離Ｌ」と、「前記撮影装置と前記基準体を結ぶ線と前記実空間平面との角度θ1」とを求める認識手段と、前記特定座標について、前記距離Ｌと前記角度θ1とに基づいて、前記基準体と、前記撮影装置から前記平面への垂線との間の距離を表す第１の値を求める第１位置要素演算手段と、前記特定座標について、「前記撮影装置と前記基準体とを結ぶ線と前記撮影装置の光軸との間の角度θ2」と、「前記撮影装置の画角θ3」と、前記距離Ｌと、前記角度θ1とに基づいて、前記撮影装置の前記基準体側の画角線と前記実空間平面との交点と、前記撮影装置から前記実空間平面への垂線との間の距離を表す第２の値を求める第２位置要素演算手段と、前記特定座標について、前記撮影画像における特定の位置に基づいて、前記撮影画像における特定の位置に対応する前記実空間平面の位置と、前記撮影装置の前記基準体側の画角線と前記実空間平面との交点との間の距離を表す値ＲＲを求める画角内位置要素演算手段と、前記第１の値と、前記第２の値と、前記値ＲＲとに基づいて、前記撮影画像における特定の位置を、前記特定座標における位置に変換した実空間位置データを求める変換手段とを具備する。
第２の態様の位置データ変換装置は、前記投影装置の投影画像が投影される実空間平面に設置されている基準体を画像認識し、前記基準体に基づく３次元特定方法により、前記実空間平面における特定座標について、「前記投影装置と前記基準体との間の距離Ｌ」と、「前記投影装置と前記基準体を結ぶ線と前記実空間平面との角度θ1」とを求める認識手段と、前記特定座標について、前記距離Ｌと前記角度θ1とに基づいて、前記基準体と、前記投影装置から前記平面への垂線との間の距離を表す第１の値を求める第１位置要素演算手段と、前記特定座標について、「前記投影装置と前記基準体とを結ぶ線と前記投影装置の光軸との間の角度θ2」と、「前記投影装置の画角θ3」と、前記距離Ｌと、前記角度θ1とに基づいて、前記投影装置の前記基準体側の画角線と前記実空間平面との交点と、前記投影装置から前記実空間平面への垂線との間の距離を表す第２の値を求める第２位置要素演算手段と、前記特定座標について、前記第１の値と、前記第２の値と、前記特定座標における特定の位置とに基づいて、前記特定座標における特定の位置と、前記投影装置の前記基準体側の画角線と前記実空間平面との交点との間の距離を表す値ＲＲを求める画角内位置要素演算手段と、前記特定座標について、前記投影装置の前記基準体側の画角線と前記実空間平面との交点から、前記値ＲＲの距離だけ離れた前記実空間平面の位置に対応する前記投影画像における位置を表す投影画像位置データを求める変換手段とを具備する。
【００１１】
なお、上記の例においては、発明を装置として表現している。しかしながら、これに限らず、方法、プログラム、コンピュータ読み取り可能な記憶媒体などで表現してもよい。
【発明の効果】
【００１２】
本発明により、撮影装置によって撮影された撮影画像の特定の位置を管理用座標系の位置に変換することができ、または管理用座標系の特定の位置を投影装置によって投影される投影画像の位置に変換することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下の各図において同様の機能を実現する部分については同一の符号を付して説明を省略するか、あるいは簡単に説明を行う。
（第１の実施の形態）
本実施の形態においては、撮影装置と投影装置との光軸が一致されており、撮影装置と投影装置との３次元空間での配置状態が変更可能なロボットと連携し、撮影装置によって撮影された撮影画像の特定の位置を管理用座標系の位置に変換するとともに、管理用座標系の特定の位置を投影装置によって投影される投影画像の位置に変換する位置データ変換装置について説明する。なお、管理用座標系とは、例えば、３次元空間を管理するため、データベース上で利用される座標系である。
【００１４】
図１は、本実施の形態に係る位置データ変換装置の一例を示すブロック図である。
本実施の形態に係る位置データ変換装置６２は、ロボット６３との間でデータを送受信可能である。
ロボット６３は、撮影装置４と、投影装置５と、光軸一致機構６と、駆動装置７と、駆動制御値取得部６４とを具備する。光軸一致機構６は、撮影装置４と投影装置５とについて光軸一致を図る。駆動装置７は、撮影装置４と投影装置５との３次元空間における設置状態を変更する。駆動装置７は、例えば空間内の走行や、撮影装置４と投影装置５とのパン・チルトなどを行う。本実施の形態においては、光軸一致機構６により、撮影装置４と投影装置５とについて、光軸のみではなく画角も整合されているとする。なお、光軸及び画角の一致については、撮影装置４と投影装置５とにおいて光軸及び画角が一致する部分を処理に用いるとしてもよい。本実施の形態において、撮影装置４と投影装置５の光軸と画角とについては、一致していることが好ましいが、例えば装置又はユーザが許容する範囲でほぼ一致の状態であるとしてもよい。
【００１５】
駆動制御値取得部６４は、撮影装置４と投影装置５との３次元空間における設置状態の変更状態を示す駆動装置７の駆動制御値７３を求め、記憶装置６５に記憶する。
位置データ変換装置６２は、撮影画像記憶装置８、認識部９、記憶装置６５、表示指定部６６、変換部６７、位置管理用データベース６８、変換部６９、投影コンテンツ記憶装置１９、記憶装置７０、投影画像作成部２０、投影画像記憶装置２１を具備する。
【００１６】
撮影画像記憶装置８は、撮影装置４によって撮影された撮影画像データ２５を記憶する。
認識部９は、撮影画像記憶装置８に記憶されている撮影画像データ２５に基づいて、撮影画像データ２５の示す３次元空間の画像に配置されている基準体の位置を示す基準体位置データ７１を作成し、記憶装置６５に記憶する。
【００１７】
また、認識部９は、撮影画像データ２５の示す３次元空間の画像に配置されている認識対象物の位置を示す画像位置データ７２を作成し、記憶装置６５に記憶する。
なお、画像位置データ７２は、表示指定部６６によって作成されるとしてもよい。この場合、表示指定部６６は、撮影画像データ２５による撮影画像をユーザに対して表示し、ユーザによる撮影画像の所望の位置の指定を受け付け、この指定された位置を示す画像位置データ７２を作成する。
【００１８】
変換部６７は、撮影装置４によって撮影された撮影画像データ２５の示す撮影画像の所望の位置を示す第１の画像位置データ７２と、駆動装置７の駆動制御値７３と、基準体位置データ７１とに基づいて、所望の位置に対応する管理用座標系の位置を示す管理位置データ７４を求め、管理位置データ７４を位置管理用データベース６８に記憶する。
【００１９】
位置管理用データベース６８は、変換部６７によって求められた管理位置データ７４と、投影装置５によって投影コンテンツ１９ａを投影する管理座標系の位置を示す管理位置データ７５とを記憶する。
変換部６９は、管理位置データ７５と、駆動装置７の駆動制御値７３と、基準体位置データ７１とに基づいて、投影コンテンツ１９ａを投影する管理座標系の位置に対応する投影画像の位置を示す画像位置データ７６を求め、画像位置データ７６を記憶装置７０に記憶する。
【００２０】
投影画像作成部２０は、投影コンテンツ記憶装置１９に記憶されている投影コンテンツ１９ａを画像位置データ７６の示す位置に配置した投影画像データ２６を作成し、投影画像データ２６を投影画像記憶装置２１に記憶する。これにより、投影画像データ２６は、投影装置５に送信される。また、投影画像作成部２０は、複数の投影コンテンツの中から、投影画像に含めるべき投影コンテンツを選択し、投影画像データ２６を作成するとしてもよい。
【００２１】
以上説明した本実施の形態においては、撮影装置４によって撮影された撮影画像の特定の位置を管理用座標系の位置に変換することができる。
また、管理用座標系の特定の位置を投影装置５によって投影される投影画像の位置に変換することができる。
本実施の形態においては、撮影装置４と投影装置５との光軸の一致化が図られているため、撮影画像における位置と投影画像における位置とを一元管理でき、上記位置変換の処理を簡略化できる。
【００２２】
（第２の実施の形態）
本実施の形態に係る実空間情報付加装置は、実空間に存在する物体に情報を付加する装置である。この実空間情報付加装置を用いることにより、情報を付加したい物体が存在する場所に行かなくても情報を付加することができる。この実空間情報付加装置は、上記第１の実施の形態に係るロボット６３及び位置データ変換装置６２を組み込んでいる。
【００２３】
本実施の形態の実空間情報付加システムは、図２に示すように、実空間情報付加装置１００、データベース１２０、及び画像撮影投影装置１５０を備えている。
画像撮影投影装置１５０で取得した画像を基にして、実空間情報付加装置１００がこの画像を表示画面上で情報を付加し、実空間情報付加装置１００において、この情報を閲覧する。なお、実空間情報付加装置１００と画像撮影投影装置１５０は、一般的に遠隔に配置される。例えば、画像撮影投影装置１５０は作業員が作業をしている現場側に配置され、実空間情報付加装置１００が現場を遠隔地から支援する支援者（以下、サポート員と称する）がいるサポート側に配置される。すなわち、このサポート員は実空間情報付加装置１００のユーザである。しかし、これに限定されず、画像撮影投影装置１５０のそばに実空間情報付加装置１００を配置していても構わない。
【００２４】
実空間情報付加装置１００は、入力部１０１、入力データ処理部１０２、データベースアクセス部１０３、座標変換部１０４、表示部１０５、画像受信部１０６、制御指令値送信部１０７、情報表示処理部１０８、投影画像作成部２０を備える。実空間情報付加装置１００は、位置データ変換装置６２を組み込んでいる。例えば、入力部１０１、入力データ処理部１０２、表示部１０５は、上記第１の実施の形態に係る表示指示部６６に相当する。また、例えば、座標変換部１０４は、上記第１の実施の形態に係る変換部６７，６９に相当する。
【００２５】
画像撮影投影装置１５０は、撮影装置４、投影装置５、光軸一致機構６、駆動装置７、画像送信部１５６、制御指令値受信部１５２、現在値取得部１５４を備えている。画像撮影投影装置１５０は、上記第１の実施の形態に係るロボット６３に相当する。現在値取得部１５４は、上記第１の実施の形態に係る駆動制御値取得部６４に相当する。
【００２６】
光軸一致機構６は、撮影装置４と投影装置５とについて光軸一致を図る。駆動装置７は、撮影装置４、投影装置５、光軸一致機構６を駆動させる。
入力部１０１は、実空間情報付加装置１００のサポート員が、操作量を入力するためのものである。入力部１０１は、例えば、ジョイスティック、マウス、キーボード、マイクを備えている。サポート員は、入力部１０１を使用して、情報を付加したい物体が撮影されるように、カメラ１５５の位置姿勢を制御することができる。サポート員は、例えば、ジョイスティックからの操作量又はキーボード入力からの操作量をカメラ位置姿勢の制御量に利用する。また、サポート員は、入力部１０１のマイクを使用して音声等を入力する。
【００２７】
また、サポート員は、表示部１０５上で入力部１０１のマウスをクリックすることにより、情報を付加する位置を指定する。
撮影装置４は、現場での画像、映像を取得する。画像送信部１５６は、撮影装置４が取得した画像を実空間情報付加装置１００に送信する。画像受信部１０６は、画像撮影投影装置１５０から送信された撮影装置４が取得した画像を受信する。
【００２８】
表示部１０５は、駆動装置７としてパン・チルト駆動を用いた場合、撮影装置４は駆動装置７を制御して撮影される範囲を確認するためのものである。例えば、表示部１０５は、サポート側で、パン・チルト軸を中心として撮影装置４を回転させたときに撮影される範囲を確認するためのものである。また、表示部１０５は、情報を付加する位置を指定するために現場側の撮影装置４で撮影された画像が表示される位置指定ウィンドウ５０２と、情報が付加された仮想オブジェクトの仮想オブジェクトリスト５０３を表示する。ここで、仮想オブジェクトは情報を付加した画面上の位置に情報が付加されたことを可視化するために表示する図形のことである。位置指定ウィンドウ５０２は後に図６を参照して説明する。
【００２９】
入力データ処理部１０２は、入力部１０１から受け取った操作量を、撮影装置４の位置姿勢の制御量に変換し、制御指令値送信部１０７に出力する。また、入力データ処理部１０２は、入力部１０１のマウスのクリックが表示部１０５の表示画面内の所定のウィンドウ（図６に示す位置指定ウィンドウ５０２）内でのものであるか否かを判定し、このウィンドウ内のものである場合にはこのウィンドウ上の座標値を座標変換部１０４に送信すると共に、付加する情報として仮想オブジェクト名を入力することを促すメッセージを表示部１０５に表示させる。
【００３０】
また、入力データ処理部１０２は、サポート員が入力部１０１により仮想オブジェクト名を入力すると、付加するコンテンツが保存されている場所を示す指標であるデータパスを入力することを促すメッセージを表示部１０５に表示させる。ここで、コンテンツは、テキストデータ、音声データ、画像データ、映像データなどのコンピュータで提示可能なデータ、及びコンピュータで実行可能な実行形式のファイルである。さらに、入力データ処理部１０２は、サポート員が入力部１０１によりコンテンツのデータパスを入力すると、入力されたコンテンツが画像や映像、テキストのように表示部１０５で提示できるものであれば、コンテンツを提示する位置を指定することを促すメッセージを表示部１０５に表示させる。
【００３１】
また、入力データ処理部１０２は、サポート員が入力部１０１により位置指定画面上でマウスをクリックすることによりコンテンツを提示する位置を指定すると、この位置を、情報を付加する位置を指定されたときと同様に座標変換部１０４に送信する。さらに、入力データ処理部１０２は、入力された仮想オブジェクト名、コンテンツのデータパス、及び座標変換部１０４で変換されて得られた、仮想オブジェクトのグローバル座標値とコンテンツを提示するグローバル座標値をデータベースアクセス部１０３に送信する。ここで、位置指定ウィンドウ５０２上での座標系をローカル座標系と呼び、現場カメラ１５５が撮影できる実空間平面上の座標系をグローバル座標系（上記第１の実施の形態における管理用座標系に相当）と呼ぶ。また、サポート員が仮想オブジェクト上をダブルクリックすると、入力データ処理部１０２は、仮想オブジェクトがダブルクリックされたと判定し、仮想オブジェクト名を基にして、データベースアクセス部１０３を介してデータベース１２０から仮想オブジェクトに関連付けられているコンテンツヘのデータパスを取得する。さらに、入力データ処理部１０２は取得したコンテンツのデータパスをもとにコンテンツデータを取得し、表示部１０５に表示する。なお、コンテンツが画像、テキストの場合、入力データ処理部１０２は、データベースアクセス部１０３を介してデータベース１２０からコンテンツを提示するグローバル位置を取得し、座標変換部１０４でローカル座標系に変換してから表示部１０５のその位置に表示する。
【００３２】
入力データ処理部１０２は、仮想オブジェクトの消去を「ＹＥＳ」、「ＮＯ」の選択肢で確認する仮想オブジェクト消去確認ダイアログを表示する。サポート員が「ＹＥＳ」を選択すると、入力データ処理部１０２は、データベースアクセス部１０３を介して対象となる仮想オブジェクトをデータベース１２０から削除する。入力データ処理部１０２は、サポート員が「ＮＯ」を選択した場合、仮想オブジェクト消去確認ダイアログと、選択ダイアログを非表示にする。
【００３３】
制御指令値送信部１０７は、入力データ処理部１０２から撮影装置４の位置姿勢の制御量を受け取り、制御指令値受信部１５２に出力する。制御指令値受信部１５２は、制御指令値送信部１０７からこの制御量を受け取り、駆動装置６に出力する。駆動装置６は、受信した制御量に応じて撮影装置４及び投影装置５の位置・姿勢を制御する。駆動装置６は、走行などによる空間における位置の移動、パン・チルト駆動を行う。
【００３４】
座標変換部１０４は、ローカル座標系での座標値をグローバル座標系での座標値に変換し入力データ処理部１０２に送信する。座標変換部１０４は、グローバル座標系とローカル座標系との座標変換を行う。
データベースアクセス部１０３は、仮想オブジェクト名、コンテンツのデータパス、仮想オブジェクトのグローバル座標値、コンテンツを提示するグローバル座標値を１セットとしてデータベース１２０に登録する。なお、このとき、仮想オブジェクトを表示するための図形の形状と範囲を同時に登録することとする。
【００３５】
情報表示処理部１０８は、定期的に現場側の現在値取得部１５４に問い合わせて撮影装置４及び投影装置５の現在位置姿勢を取得し保持する。また、情報表示処理部１０８は、取得した現在位置姿勢から表示部１０５で現在表示されている実空間平面の範囲をグローバル座標系で算出する。さらに、情報表示処理部１０８は、データベースアクセス部１０３を介して、データベース１２０から現在登録されている仮想オブジェクトのグローバル座標値を取得し、これらが現在表示されている実空間平面の範囲内にあるかどうかを判定する。情報表示処理部１０８は、登録されている仮想オブジェクトの位置が現在表示されている範囲内に存在した場合、グローバル座標値を座標変換部１０４に出力する。さらに、情報表示処理部１０８は、表示部１０５に図形（仮想オブジェクト）を表示させると共に、仮想オブジェクトリスト５０３に表示されている文字を強調表示にする。なお、情報表示処理部１０８は、仮想オブジェクトを表示する際、その仮想オブジェクト名と仮想オブジェクトを表示している指定画面上の表示位置を一時的に保持する。
【００３６】
さらに、情報表示処理部１０８は、投影画像作成部２０によって作成された投影画像データに基づいて、投影装置５に投影を指示する。
現在値取得部１５４は、情報表示処理部１０８からの問い合わせに応じて、撮影装置４及び投影装置５の駆動装置７から現在の撮影装置４及び投影装置５の位置姿勢を取得し、情報表示処理部１０８に送信する。
【００３７】
なお、ネットワークを利用するためのデータ送受信部については図中において省略している。
次に、本実施形態の実空間情報付加装置１００の動作を図３を参照して説明する。 
入力データ処理部１０２又は情報表示処理部１０８が終了イベントがあるかどうか監視する（ステップＳ２０１）。終了イベントがある場合は実空間情報付加装置１００の動作を終了し、終了イベントがない場合はステップＳ２０２に進む。ステップＳ２０２では、情報表示処理部１０８が仮想オブジェクトを可視化する。すなわち、情報表示処理部１０８が、データベース１２０の内容を基にして、座標変換部１０４を利用してローカル座標を求め、仮想オブジェクトを表示部１０５に表示する。ステップＳ２０２は後に図９を参照して詳細に説明する。
【００３８】
入力データ処理部１０２が、入力部１０１から入力があるか否かを判定する（ステップＳ２０３）。入力がある場合はステップＳ２０４に進み、一方、入力がない場合はステップＳ２０１に戻る。入力データ処理部１０２が、入力部１０１でジョイスティック等から操作量が入力されたか否かを判定する（ステップＳ２０４）。操作量の入力がある場合はステップＳ２０５に進み、一方、入力がない場合はステップＳ２０６に進む。
【００３９】
ステップＳ２０５では、ステップＳ２０４で入力された操作量に基づいて、撮影装置４及び投影装置５の位置姿勢を制御する。ステップＳ２０５の詳細は後に図４を参照して説明する。ステップＳ２０５の処理が終了するとステップＳ２０１に戻る。ステップＳ２０６では、入力データ処理部１０２が、位置指定ウィンドウ５０２上で、マウスによるクリックイベントを検出したか否かを判定する。クリックイベントを検出したと判定された場合はステップＳ２０７に進み、一方、検出しないと判定された場合はステップＳ２０８に進む。
【００４０】
ステップＳ２０７では、ステップＳ２０６でクリックされたマウスの位置に基づいて、データベース１２０に情報（コンテンツ）を付加する。ステップＳ２０７の詳細は後に図５を参照して説明する。ステップＳ２０７の処理が終了するとステップＳ２０１に戻る。ステップＳ２０８では、入力データ処理部１０２が位置指定ウィンドウ５０２上でダブルクリックイベントを検出したか否かを判定する。ダブルクリックイベントを検出したと判定された場合はステップＳ２０９に進み、一方、検出しないと判定された場合はステップＳ２１０に進む。
【００４１】
ステップＳ２０９では、入力データ処理部１０２が、コンテンツデータをサポート員に提示する。すなわち、コンテンツが画像の場合は表示部１０５に表示する。ステップＳ２０９の詳細は後に図１１を参照して説明する。ステップＳ２０９の処理が終了するとステップＳ２０１に戻る。ステップＳ２１０では、入力データ処理部１０２が、表示部１０５に表示されている仮想オブジェクト上でのマウスによる右クリックイベントを検出したか否かを判定する。検出したと判定された場合はステップＳ２１１に進み、一方、検出しないと判定された場合はステップＳ２０１に戻る。
【００４２】
ステップＳ２１１では、入力データ処理部１０２がサポート員に操作選択ダイアログを提示し、コンテンツを変更したり、仮想オブジェクトを消去したりする処理を行う。ステップＳ２１１の詳細は後に図１６を参照して説明する。ステップＳ２１１の処理が終了するとステップＳ２０１に戻る。
【００４３】
次に、図３のステップＳ２０５の処理を図４を参照して説明する。
現場側の撮影装置４で撮影される映像が、画像送信部１５６、サポート側の画像受信部１０６を介して表示部１０５に送信され、サポート員に提示される。サポート員は、この画像を観察し、入力部１０１のジョイスティック等により操作する。その後、入力データ処理部１０２が入力部１０１からこの操作での操作量を取得し、この操作量を撮影装置４及び投影装置５の位置姿勢の制御量に変換し、制御指令値送信部１０７に出力する（ステップＳ３０１）。
【００４４】
制御指令値送信部１０７が、この制御量を画像取得装置１５０に送信し、制御指令値受信部１５２がこの制御量を受信する（ステップＳ３０２）。制御指令値受信部１５２は、受信した制御量を駆動装置７に送信する（ステップＳ３０３）。駆動装置７は、受信した制御量に応じて撮影装置４及び投影装置５の空間における位置及び姿勢（走行、パン、チルトなど）を制御する（ステップＳ３０４）。
【００４５】
駆動装置７が、例えば、パン・チルトの回転ステージを用いて撮影装置４及び投影装置５を制御する場合、撮影装置４及び投影装置５は水平軸及び垂直軸を中心として回転する。そして、撮影装置４が取得した映像及び画像は、画像送信部１５６及び画像受信部１０６を介して表示部１０５に表示される。サポート員は、回転ステージの軸を中心として撮影装置４が回転したときに撮影される範囲を表示部１０５で確認することが可能となる。サポート員は、図４に示したフローチャートのように、情報を付加したい物体が撮影されるように、撮影装置４の位置姿勢を制御することができる。なお、ここではジョイスティックからの操作量を撮影装置４及び投影装置５の位置姿勢の制御量に利用したが、キーボード入力からの操作量を撮影装置４及び投影装置５の位置姿勢の制御量に利用しても良い。
【００４６】
次に、図３のステップＳ２０７の処理を図５、図６及び図７を参照して説明する。図６は、表示部１０５の表示例である。表示部１０５は撮影装置４で撮影された画像が表示される位置指定ウィンドウ５０２と、情報が付加された仮想オブジェクトリスト５０３をサポート員に提示する。図７は、情報を付加する場合のＧＵＩの遷移を示す図である。
【００４７】
サポート員は、図６の位置指定ウィンドウ５０２上でマウスをクリックすることにより情報を付加する位置、すなわち仮想オブジェクトの位置を指定する。サポート員は、例えば、図７の（Ａ）に示したようなクリック位置でクリックする。入力データ処理部１０２は、マウスのクリックが位置指定ウィンドウ５０２内のクリックであれば、位置指定ウィンドウ５０２上の座標値を座標変換部１０４に送信する（ステップＳ４０１）。
【００４８】
座標変換部１０４は、位置指定ウィンドウ５０２上での座標系であるローカル座標系と、撮影装置４が撮影できる実空間平面上の座標系であるグローバル座標系との座標変換を行う（ステップＳ４０２）。すなわち、座標変換部１０４は受信したローカル座標系での座標値をグローバル座標系での座標値に変換する（ステップＳ４０２）。座標変換部１０４は、この変換された座標値を入力データ処理部１０２に送信する（ステップＳ４０３）。
【００４９】
入力データ処理部１０２は、付加する情報として仮想オブジェクト名を入力することを促すメッセージを表示部１０５に表示する（ステップＳ４０４）。入力データ処理部１０２は、例えば、図７の（Ｂ）に示すように、「仮想オブジェクト名を入力してください」と位置指定ウィンドウ５０２に表示する。サポート員が仮想オブジェクト名を入力する（ステップＳ４０５）と、入力データ処理部１０２はコンテンツを選択する処理を実行する（ステップＳ４０６）。このステップＳ４０６は後に、図８を参照して詳細に説明する。
【００５０】
次に、図５のステップＳ４０６を図７及び図８を参照して説明する。
入力データ処理部１０２は、付加するコンテンツが保存されているデータパスを入力することを促すメッセージを表示部１０５に表示する（ステップＳ７０１）。入力データ処理部１０２は、例えば、図７の（Ｃ）に示したように、表示部１０５上に「コンテンツを入力してください」を表示する。
【００５１】
サポート員は、付加する情報（コンテンツ）へのデータパスを入力する（ステップＳ７０２）。サポート員は、例えば、図７の（Ｃ）に示したように、「C:\contents\test.txt」と入力する。なお、図７の（Ｃ）では、データヘのパスを入力する例を示したが、既存のコンテンツ用ファイルの一覧を表示し、サポート員に選択させるようにしてもよい。また、テキスト入力ダイアログを表示してサポート員に直接テキストデータを入力させ、そのデータをファイル化してもよい。この場合は、作成したファイルのデータパスをコンテンツのデータパスとする。
【００５２】
入力データ処理部１０２が、サポート員が入力したコンテンツが画像や映像、テキストのようにディスプレイに提示することができるものであるか否かを判定する（ステップＳ７０３）。提示することができるものである場合にはステップＳ７０４に進み、一方、できない場合にはステップＳ７０９に進む。
【００５３】
ステップＳ７０４では、入力データ処理部１０２はコンテンツを提示する位置（コンテンツ提示位置）を指定することを促すメッセージを表示部１０５に表示する。入力データ処理部１０２は、例えば、図７の（Ｄ）のように「コンテンツを表示する位置を指定してください」と表示部１０５に表示させる。なお、コンテンツを表示する位置を仮想オブジェクトからの相対位置、あるいは画面上の絶対位置で予め登録しておき、コンテンツの提示位置を指定する手順を省略することによりサポート員の入力項目を減らしてもよい。
【００５４】
一方、ステップＳ７０９では、入力データ処理部１０２は、入力された仮想オブジェクト名、コンテンツのデータパス、及びステップＳ４０２で取得された、仮想オブジェクトのグローバル座標値をデータベースアクセス部１０３に送信する。
サポート員が、位置指定ウィンドウ５０２上でマウスをクリックすることによりコンテンツを提示する位置を指定する（ステップＳ７０５）。サポート員は、例えば、図７の（Ｄ）のクリック位置に示したような位置をクリックする。その後、ステップＳ７１０に進む。
【００５５】
入力データ処理部１０２は情報を付加する位置が指定されたときと同様に、指定された位置をローカル座標系で示した値を座標変換部１０４に送信する（ステップＳ７０６）。座標変換部１０４は、ローカル座標系での座標値をグローバル座標系での座標値に変換し入力データ処理部１０２に送信する（ステップＳ７０６）。入力データ処理部１０２は、入力された仮想オブジェクト名、コンテンツのデータパス、及び座標変換部１０４で変換された仮想オブジェクトのグローバル座標値とコンテンツを提示するグローバル座標値をデータベースアクセス部１０３に送信する（ステップＳ７０８）。データベースアクセス部１０３は、仮想オブジェクト名、コンテンツのデータパス、仮想オブジェクトのグローバル座標値、コンテンツを提示するグローバル座標値を１セットとしてデータベース１２０に登録する（ステップＳ７１０）。なお、この時、仮想オブジェクトを表示するための図形の形状と範囲を同時に登録することとする。本実施の形態では、後に図１０の仮想オブジェクト９０１として示すように、図形の形状を「楕円」とし、範囲はマウスで入力された位置指定ウィンドウ５０２上のある点を中心として、長軸の長さをａ、短軸の長さをｂとする。
【００５６】
次に、図３のステップＳ２０２を図９及び図１０を参照して説明する。ステップＳ２０２は、情報が付加されていることを可視化する処理、つまり仮想オブジェクトを表示する処理である。図１０は、上述したように、登録した仮想オブジェクト「直方体Ａ」９０２を表示した例を示す図である。図１０において直方体Ａ９０２は、位置指定ウィンドウ５０２の左側に示した図形である。
【００５７】
情報を付加した位置に楕円図形（仮想オブジェクト９０１）を表示する際、仮想オブジェクトリスト５０３内で「直方体Ａ」を強調表示する。なお、仮想オブジェクトリスト５０３内の他の仮想オブジェクトに対応する楕円図形が位置指定ウィンドウ５０２内に表示されていないのは、それらの仮想オブジェクトが位置指定ウィンドウ５０２内に存在しないからである。すなわち、これらの仮想オブジェクトに関連する実物体がカメラ１５５の視野外にあるからである。
【００５８】
現在値取得部１５４は、情報表示処理部１０８からの問い合わせがあると、駆動装置７から現在の撮影装置４及び投影装置５の位置姿勢を取得し、情報表示処理部１０８に送信する（ステップＳ８０１）。情報表示処理部１０８は、取得した撮影装置４及び投影装置５の現在位置姿勢から表示部１０５に現在表示されている実空間平面の範囲をグローバル座標系で算出する（ステップＳ８０２）。さらに、情報表示処理部１０８は、データベースアクセス部１０３を介して、現在登録されている仮想オブジェクトのグローバル座標値を取得する（ステップＳ８０３）。情報表示処理部１０８は、これらのグローバル座標値が現在表示されている実空間平面の範囲内にあるかどうかを判定する（ステップＳ８０４）。登録されている仮想オブジェクトの位置が現在表示されている範囲内に存在していると判定された場合はステップＳ８０５に進み、一方、存在していないと判定された場合はステップＳ８０８に進む。
【００５９】
ステップＳ８０５では、情報表示処理部１０８は登録されている仮想オブジェクトのグローバル座標値を座標変換部１０４に送信する。座標変換部１０４は、このグローバル座標系での座標値をローカル座標系での座標値に変換し、このローカル座標系での座標値を情報表示処理部１０８に送信する（ステップＳ８０６）。さらに、情報表示処理部１０８はこのローカル座標系での座標値に基づいて表示部１０５に図形を表示する（ステップＳ８０７）。情報表示処理部１０８は、仮想オブジェクトリスト５０３に表示されている文字のうち、図形を表示した仮想オブジェクトの名前を強調表示する（ステップＳ８０８）。なお、情報表示処理部１０８は、仮想オブジェクトを表示する際、その仮想オブジェクト名と仮想オブジェクトを表示している指定画面上の表示位置を一時的に保持する。
【００６０】
次に、図３のステップＳ２０９を図１１及び図１２を参照して説明する。このステップＳ２０９は、コンテンツを閲覧する場合である。図１２は、付加されたコンテンツを提示した例を示す図である。
サポート員が仮想オブジェクト９０１上をダブルクリックすると、入力データ処理部１０２は、仮想オブジェクトがダブルクリックされたと判定し、仮想オブジェクト名をデータベースアクセス部１０３へ送信する（ステップＳ１００１）。サポート員は例えば、図１２の仮想オブジェクト９０１上をダブルクリックする。データベースアクセス部１０３は、この仮想オブジェクトに関連付けられているコンテンツヘのデータパスを取得する（ステップＳ１００２）。データベースアクセス部１０３はこのデータパスを入力データ処理部１０２に送信する（ステップＳ１００３）。さらに、入力データ処理部１０２は取得したコンテンツのデータパスをもとにコンテンツデータを取得する（ステップＳ１００４）。
【００６１】
入力データ処理部１０２が、このコンテンツデータに音声等の音源データが含まれているか否か判定する（ステップＳ１００５）。音源データが含まれている場合にはステップＳ１００９に進み、一方、含まれていない場合にはステップＳ１００６に進む。
ステップＳ１００６では、入力データ処理部１０２は、データベースアクセス部１０３を介してデータベース１２０から、コンテンツを提示するためのグローバル座標値を取得する。座標変換部１０４が、このグローバル座標値をグローバル座標系からローカル座標系に変換する（ステップＳ１００７）。情報表示処理部１０８が、表示部１０５にこのコンテンツをその位置に表示する。図１２の例では、「この重さは１ｋｇです」というコンテンツ１１０１が表示される。一方、ステップＳ１００９では、音声等をスピーカーで再生する。
【００６２】
座標変換部１０４におけるローカル座標系からグローバル座標系への変換、及びグローバル座標系からローカル座標系への変換については、下記の第３の実施の形態以降において説明する。
次に、図３のステップＳ２１１の処理を図１３及び図１４を参照して説明する。このステップＳ２１１は、作成された仮想オブジェクトに関連付けたコンテンツを変更する処理を示す。図１４は、仮想オブジェクトに関連付けたコンテンツを変更する場合の画面遷移を示す図である。
【００６３】
サポート員が仮想オブジェクトを右クリックする（図３のステップＳ２１０）と、入力データ処理部１０２は、図１４の（Ｂ）に示すように、「コンテンツ変更」と「仮想オブジェクトの消去」と「キャンセル」の中から操作を選択させる操作選択ダイアログ１６０１を表示する（ステップＳ１５０１）。入力データ処理部１０２は、サポート員がどの項目を選択したかを判定する（ステップＳ１５０２）。
【００６４】
入力データ処理部１０２が、サポート員が「キャンセル」を選択したと判定した場合はステップＳ１５０５に進み、サポート員が「コンテンツ変更」を選択したと判定した場合はステップＳ１５０３に進み、サポート員が「仮想オブジェクトの消去」を選択したと判定した場合はステップＳ１５０６に進む。
【００６５】
ステップＳ１５０５では、入力データ処理部１０２が表示部１０５での操作選択ダイアログ１６０１を非表示にする。
ステップＳ１５０３では、入力データ処理部１０２は、変更するコンテンツのデータパスの入力を促すダイアログ６０２を表示する。以下は、図８に示したステップＳ４０６の処理を行う。すなわち、サポート員がコンテンツのデータパスを入力すると、入力されたコンテンツが画像や映像、テキストのようにディスプレイに提示できるものであれば、入力データ処理部１０２はコンテンツを提示する位置を指定することを促すメッセージ（例えば、図７の「コンテンツを表示する位置を指定して下さい」６０３）を表示部１０５に表示する。なお、コンテンツを表示する位置を仮想オブジェクトからの相対位置、あるいは画面上の絶対位置で予め登録しておき、コンテンツの提示位置を指定する手順を省略することによりサポート員の入力項目を減らしてもよい。サポート員が、位置指定ウィンドウ５０２上でマウスをクリックすることによりコンテンツを提示する位置を指定すると、入力データ処理部１０２はローカル座標系での座標値を座標変換部１０４に送信する。座標変換部１０４では、ローカル座標系での座標値をグローバル座標系での座標値に変換し入力データ処理部１０２に送信する。入力データ処理部１０２は、対象となった仮想オブジェクトの仮想オブジェクト名、コンテンツのデータパス、コンテンツを提示するグローバル座標値をデータベースアクセス部１０３に送信する。データベースアクセス部１０３は、仮想オブジェクト名をキーにして、コンテンツのデータパス、コンテンツを提示するグローバル座標値を既存のデータに上書きで登録する。その後、ステップＳ１５０５に進む。
【００６６】
一方、ステップＳ１５０６では、入力データ処理部１０２は仮想オブジェクトの消去を「ＹＥＳ」、「ＮＯ」の選択肢で確認する仮想オブジェクトの消去確認ダイアログを表示部１０５に表示させる（ステップＳ１５０６）。入力データ処理部１０２は、この消去確認ダイアログで「ＹＥＳ」が選択されたか「ＮＯ」が選択されたかを判定する（ステップＳ１５０７）。「ＹＥＳ」が選択された場合はステップＳ１５０８に進み、「ＮＯ」が選択された場合はステップＳ１５０９に進む。
【００６７】
ステップＳ１５０８では、入力データ処理部１０２は、データベースアクセス部１０３を介して対象となる仮想オブジェクトをデータベース１２０から削除し、ステップＳ１５０９に進む。ステップＳ１５０９では、入力データ処理部１０２は、仮想オブジェクト消去確認ダイアログと、選択ダイアログを非表示にし、ステップＳ１５０５に進む。
【００６８】
以上に示した本実施形態によれば、撮影した実空間画像を表示する画面上において、情報を付加したい実物体が表示されている画面上の位置に情報を関連付けた仮想オブジェクトを生成し、情報を付加したい物体と仮想オブジェクトとの対応関係を維持することにより、あたかも実物体に情報が付加されているかのようにすることを実現することができる。
【００６９】
（第３の実施の形態）
図１５は、本実施の形態に係る画像入出力装置１の一例を示すブロック図である。
画像入出力装置１は、本体（ロボット）２と、位置データ変換装置３とを具備する。なお、位置データ変換装置３の一部又は全部は、本体２に搭載されていてもよく、ネットワークを介してデータ伝送可能であるとしてもよい。
【００７０】
位置データ変換装置３は、上記第１の実施の形態に係る位置データ変換装置６２又は上記第２の実施の形態に係る実空間情報付加装置１００に相当する機能を実現する。
本体２は、撮影装置４、投影装置５、光軸一致機構６、駆動装置７を具備し、位置データ変換装置３は、撮影画像記憶装置８、認識部９、パラメータ記憶装置１０、第１位置要素演算部１１、第２位置要素演算部１２、撮影画像位置から実空間位置（管理用座標系の位置）へ変換する演算に用いられる第１画角内位置要素演算部１３、実空間位置から撮影画像位置へ変換する演算に用いられる第２画角内位置要素演算部１４、位置要素記憶装置１５、第１変換部１６、第２変換部１７、変換位置データ記憶装置１８、投影コンテンツ記憶装置１９、投影画像作成部２０、投影画像記憶装置２１を具備する。
【００７１】
図１６は、本実施の形態に係る画像入出力装置１と実空間平面２２との関係の一例を示す斜視図である。
図１７は、実空間平面２２の特定の座標軸におけるパラメータの例を示す図である。この図１７は、実空間平面２２と画像入出力装置１の本体２とを上方から見た図である。この図１７では、撮影装置４に関するパラメータを例示している。しかしながら、本実施の形態では、撮影装置４と投影装置５との光軸、画角、撮影範囲と投影範囲が光軸一致機構６により一致するように調整されているため、投影装置５に関するパラメータも図１７の撮影装置４に関するパラメータと同様に取り扱うとする。
【００７２】
図１８は、実空間平面２２の座標系Ｒと撮影画像２３の座標系Ｃとの例を示す図である。実空間平面２２の座標系Ｒは、水平（横）方向の位置をＸR、垂直（縦）方向の位置をＹRとし、位置を（ＸR，ＹR）で表す。撮影画像２３の座標系Ｃは、水平方向の位置をＸC、垂直方向の位置をＹCとし、位置を（ＸC，ＹC）で表す。投影画像２４の座標系Ｐは、水平方向の位置をＸP、垂直方向の位置をＹPとし、位置を（ＸP、ＹP）で表す。
【００７３】
本実施の形態では、説明を簡略化するために、水平方向について、撮影画像２３の特定の位置を、実空間平面２２の位置に変換し、また水平方向について、実空間平面２２の特定の位置を、投影画像２４の位置に変換する場合を例として説明する。しかしながら、水平方向ではない他の方向（例えば垂直方向など）についての位置変換を行う場合も同様である。
【００７４】
以下に、上記図１５で示した画像入出力装置１の各構成要素について説明する。
撮影装置４は、例えばカメラであり、実空間平面２２を撮影した撮影画像２３を表す撮影画像データ２５を取得し、撮影画像データ２５を記憶装置８に記憶する。
投影装置５は、例えばプロジェクタであり、投影画像記憶装置２１に記憶されている投影画像データ２６に基づいて、実空間平面２２に対して投影画像データ２６の示す投影画像２４を投影する。
【００７５】
光軸一致機構６は、撮影装置４と投影装置５とについて光軸及び画角を一致させ、さらに撮影範囲と投影範囲とを一致させるための機構である。例えば、図１９に示すように、投影装置５の光軸５ａがハーフミラー２７を経由し、撮影装置４の光軸４ａがハーフミラー２７によって反射されることで、光軸４ａ，５ａを一致させることができる。この図１９では、光軸一致機構６としてハーフミラー２７が用いられている。
【００７６】
駆動装置７によって、撮影装置４、投影装置５、光軸一致機構６は自由に空間を移動可能であり、光軸４ａ，５ａの方向（撮影方向、投影方向）を変更可能である。駆動装置７は、例えば無線又は有線による操作にしたがって動作する。
基準体２８としては、例えばＡＲツールキットが用いられる。本実施の形態においては、基準体２８の位置を実空間平面２２の座標系Ｒの原点とする。
【００７７】
認識部９は、撮影画像記憶装置８に記憶されている撮影画像データ２５を読み出し、基準体２８が設置されている実空間平面２２の撮影画像２３に基づいて、撮影装置４と実空間平面２２における基準体２８の設置位置との角度（撮影装置４の光軸４ａと実空間平面２２との角度）θ1、及び撮影装置４と実空間平面２２における基準体２８の設置位置（基準体２８の中点）との距離Ｌを求め、角度θ1及び距離Ｌをパラメータ記憶装置１０に記憶する。
【００７８】
また、認識部９は、撮影装置４によって撮影された撮影画像データ２５に基づいて、撮影画像２３内の認識対象物Ｑ1を検出し、撮影画像２３の座標系Ｃにおける認識対象物Ｑ1の位置ＸC1を示す撮影画像位置データ２９をパラメータ記憶装置１０に記憶する。
【００７９】
パラメータ記憶装置１０は、角度θ1及び距離Ｌ、さらに、撮影装置４の画角θ3、撮影装置４と基準体２８とを結ぶ線３６と撮影装置４の光軸４ａとの間の角度θ2、撮影装置４の水平方向のピクセル数Pixを記憶する。角度θ2は、本体２のパン・チルト制御によって取得される情報である。
【００８０】
本実施の形態においては、投影装置５の画角、投影装置５と基準体２８とを結ぶ線と投影装置５の光軸５ａとの間の角度についても、θ3、θ2とする。
さらに、パラメータ記憶装置１０は、投影対象画像Ｅ2を投影したい実空間平面２２の座標系Ｒの位置ＸR2を示す実空間位置データ３０を記憶する。
【００８１】
図２０は、実空間平面２２の座標系Ｒの位置の演算に用いられる位置要素値の例を示す図である。
図２１は、位置要素値の演算に用いられる角度の例を示す図である。
図２２は、撮影画像２３の各ピクセル位置についての仮想撮影平面と実空間平面２２との関係の一例を示す図である。
【００８２】
この図２０〜２２は、実空間平面２２を上方から見た図である。
第１位置要素値Ｌ・ｃｏｓθ1は、実空間平面２２における基準体２８の設置位置と、撮影装置４から実空間平面２２に対する垂線３１との間の距離（基準体２８と、実空間平面２２と垂線３１との交点３２との間の距離）を表す。
【００８３】
第２位置要素値Ｌ・ｓｉｎθ1・ｔａｎθ4は、撮影装置４の基準体２８側の画角線３３と実空間平面２２との交点３４と、撮影装置４から実空間平面２２に対する垂線３１との間の距離（交点３２と交点３４との距離）を表す。
θ5は、垂線３１と線３６との間の角度を表す。このθ5は（１）式により算出される。
【００８４】
θ5＝（π／２）−θ1  …（１）
θ4は、垂線３１と画角線３３との間の角度を表す。このθ4は（２）式により算出される。
θ4＝θ2−θ5−（θ3／２）  …（２）
仮想撮影平面３５は、撮影装置４の光軸４ａと直交し撮影装置４の基準体２８側の画角線３３と実空間平面２２との交点３４を通る仮想的な平面である。
【００８５】
θ6は、実空間平面２２と仮想撮影平面３５との間の角度を表し、θ8は、画角線３３と実空間平面２２との間の角度を表す。θ6は（３）式により算出される。
θ6＝π−（（π−θ3）／２）−θ8＝π−（(π−θ3)／２）−（（π／２）−θ4）＝（θ3／２）＋θ2−θ5−（θ3／２）＝θ2−（π／２）＋θ1  …（３）
Pixは、撮影画像２３の水平方向のピクセル数を表し、（θ3／Ｐｉｘ）は、各ピクセルについての画角に相当する。
【００８６】
θ7は、画角線３３と角度（θ3／Ｐｉｘ）で交わるとともに仮想撮影平面３５と交わる直線３７（ピクセル位置ＧＰ1のピクセルについての基準体２８と逆側の画角線）と実空間平面２２との間の角度を表す。すなわち、このθ7は、撮影画像３４のピクセル位置ＧＰ1に配置されているピクセルにおける基準体２８と逆側の画角線３７と実空間平面２２との間の角度を表し、（４）式により算出される。
【００８７】
θ7＝π−θ1−（θ2＋（θ2＋（θ3／Pix）））  …（４）
本実施の形態において、撮影画像２３のピクセル位置ＧＰ1〜ＧＰmは、画角線３３側から順に、ＧＰ1，…，ＧＰn，…，ＧＰmと並んでいるとする。また、認識対象画像Ｑ1の位置ＸC1は、ピクセル位置ＧＰnに対応するとする。
【００８８】
撮影画像２３のピクセル位置ＧＰ1〜ＧＰmは、それぞれ仮想撮影平面３５のピクセル位置Ｐ1〜Ｐmに対応する。すなわち、仮想撮影平面３５のピクセル位置Ｐ1〜Ｐmは、撮影装置４のピクセル位置ＧＰ1〜ＧＰmに配置されている各ピクセルに撮影される仮想撮影平面３５の範囲を表す。
【００８９】
実空間平面２２上の位置を表す各範囲（幅）Ｒ1〜Ｒmは、撮影装置４の各ピクセル位置ＧＰ1〜ＧＰmにおけるピクセルが各仮想撮影平面３５のピクセル位置Ｐ1〜Ｐm経由で、実空間平面２２上に割り当てられた場合の範囲を表す。すなわち、実空間平面２２上の各範囲Ｒ1〜Ｒmは、撮影装置４の各ピクセル位置ＧＰ1〜ＧＰmのピクセルが撮影する実空間平面２２の範囲を表す。
【００９０】
各ピクセルＧＰ1〜ＧＰm位置におけるピクセルの画角線の撮影装置４から実空間平面までの長さは、基準体２８側から順に、Ｘ1，…，Ｘm+1である。例えば、ピクセル位置ＧＰ1のピクセルにおける画角線の長さはＸ1，Ｘ２であり、ピクセル位置ＧＰnのピクセルにおける画角線の長さはＸn，Ｘn+1であり、ピクセル位置ＧＰnのピクセルの画角線の長さはＸn，Ｘn+1である。
【００９１】
ピクセル位置ＧＰ1，ＧＰ2，ＧＰnのピクセルにおける基準体２８側画角線の長さＸ1，Ｘ2，Ｘnは、それぞれ（５）〜（７）式で求まる。
Ｘ1＝Ｌ・ｓｉｎθ1／ｃｏｓθ4  …（５）
Ｘ2＝Ｌ・ｓｉｎθ1／ｃｏｓ（θ4＋（θ3／Pix））  …（６）
Ｘn＝Ｌ・ｓｉｎθ1／ｃｏｓ（θ4＋（ｎ−１）・θ3／Pix）  …（７）
交点３８は、直線３７と仮想撮影平面３５との交点である。交点３９は、交点３８から実空間平面３９への垂線４０と、実空間平面２２との交点である。
【００９２】
Ｌ1は、交点３８と交点３９との間の距離を表す。Ｌ2は、交点３４と交点３９との間の距離を表す。
第１位置要素演算部１１は、パラメータ記憶装置１０に記憶されている距離Ｌ、角度θ1に基づいて、第１位置要素値Ｌ・ｃｏｓθ1を求め、位置要素記憶装置１５に記憶する。
【００９３】
第２位置要素演算部１２は、パラメータ記憶装置１０に記憶されている撮影装置４の画角θ3、距離Ｌ、角度θ1、角度θ2に基づいて、第２位置要素値Ｌ・ｓｉｎθ1・ｔａｎθ4を求め、位置要素記憶装置１５に記憶する。
第１画角内位置要素演算部１３は、パラメータ記憶装置１０に記憶されている距離Ｌ，角度θ1，角度θ2，角度θ3，ピクセル数Pix，認識対象物Ｑ1の撮影されていたピクセル位置ＧＰn（＝Ｘc1）に基づいて、第１画角内要素値ＲＲを求め、第１画角内要素値ＲＲを位置要素記憶装置１５に記憶する。
【００９４】
第１画角内要素値ＲＲは、例えば、撮影装置４のピクセル位置ＧＰnによって撮影される実空間平面２２上の範囲Ｒnと、交点３４との間の距離を表す。より具体的には、第１画角内要素値ＲＲとしては、実空間平面２２上の範囲Ｒnの基準体２８側の境界４１と交点３４との距離ＲＲn-1（Ｒ1＋…＋Ｒn-1）から、実空間平面２２上の範囲Ｒnの基準体２８と逆側の境界４２と交点３４との距離ＲＲn（Ｒ1＋…＋Ｒn）までの間の値を用いる。この場合、第１画角内要素値ＲＲは、Ｒ1からＲnまでを順次求め、Ｒ1からＲnまでの和を算出することで求められる。
【００９５】
なお、ＲＲとして、単に、距離ＲＲn（＝Ｒ1＋…＋Ｒn）を用いるとしてもよく、距離ＲＲn-1（＝Ｒ1＋…＋Ｒn-1）を用いるとしてもよい。
以下に、Ｒ1、ＲnとＲn+1の関係式について説明する。
ｌ1＝Ｐ1sinθ6  …（８）
ｌ2＝Ｐ1ｃｏｓθ6  …（９）
ｔａｎθ7＝ｌ1／（Ｒ1−ｌ2）  …（１０）
ｔａｎθ7＝（Ｐ1・ｓｉｎθ6）／（Ｒ1−Ｐ・ｃｏｓθ6）  …（１１）
Ｒ1＝（Ｐ1（ｓｉｎθ6＋ｃｏｓθ6・ｔａｎθ7））／ｔａｎθ7  …（１２）
ここで、
Ｐ1＝（２／Pix）・（Ｘ1・ｓｉｎ（θ3／２））  …（１３）
を、上記（１２）式に代入すると、Ｒ1を算出する（１４）式が得られる。
【００９６】
【数１】
0004594272.tif 000002
図２３は、Ｒn+1の演算を説明するための図である。この図２３で示されるように、Ｘn，Ｘn+2，Ｒn，Ｒn+1の間には、（１５）式の関係が得られる。
Ｘn：Ｘn+2＝Ｒn：Ｒn+1  …（１５）
したがって、Ｘn、Ｘn+2、Ｒnに基づいてＲn+1を求めるための（１６）式が得られる。
【００９７】
【数２】
0004594272.tif 000003
Ｒ2を求める場合、上記（１５）式より、（１７）式が得られる。
Ｒ2＝（Ｘ3・Ｒ1）／Ｘ1  …（１７）
この（１７）式に、上記（１４）式のＲ1を代入すると、（１８）式が得られる。
この（１８）式に対して、上記（７）式から得られるＸ3の値を代入することにより、（１９）式に示すＲ2の値を求めることができる。
【００９８】
【数３】
0004594272.tif 000004
【数４】
0004594272.tif 000005
上記のＲ1、及びＲnとＲn+1との関係式を用いて同様の演算を繰り返すことで、Ｒ1〜Ｒnまでを算出することができ、Ｒ1からＲnまでの値を累積して加算した値を求めることもできる。
第１変換部１６は、位置要素記憶装置１５に記憶されている第１位置要素値Ｌ・ｃｏｓθ1、第２位置要素値Ｌ・ｓｉｎθ1・ｔａｎθ4、第１画角内要素値ＲＲに基づいて、実空間平面２２の位置を表す実空間位置データＸR1を求め、実空間位置データＸR1を変換位置データ記憶装置１８に記憶する。
【００９９】
例えば、第１変換部１６は、第１位置要素値Ｌ・ｃｏｓθ1、第２位置要素値Ｌ・ｓｉｎθ1・ｔａｎθ4、第１画角内要素値ＲＲの和を、撮影画像２３のピクセル位置を実空間平面２２の位置に変換した結果として求める。
続いて、実空間平面２２の位置Ｐnを、投影画像２４のピクセル位置に変換する場合について、上記図１５、図１６、図１８、図２０を用いて説明する。なお、この場合、図１８及び図２０の仮想撮影平面３５は、仮想投影平面となる。各パラメータについては、上記撮影画像２３のピクセル位置ＧＰnを実空間平面２２の位置Ｐnに変換する場合と同様のものを用いて説明する。
【０１００】
第２画角内位置要素演算部１４は、パラメータ記憶装置１０に記憶されている実空間位置データ３０と、位置要素記憶装置１５に記憶されている第１位置要素値Ｌ・ｃｏｓθ1、第２位置要素値Ｌ・ｓｉｎθ1・ｔａｎθ4を読み出す。
第２画角内位置要素演算部１４は、実空間位置データ３０の示す投影対象画像Ｅ2を投影したい実空間平面２２の位置ＸR2から、第１位置要素値Ｌ・ｃｏｓθ1と、第２位置要素値Ｌ・ｓｉｎθ1・ｔａｎθ4とを引き算して第２画角内要素値ＲＲを求め、第２画角内要素値ＲＲを位置要素記憶装置１５に記憶する。
【０１０１】
第２変換部１７は、位置要素記憶装置１５に記憶されている第２画角内要素値ＲＲと、パラメータ記憶装置１０に記憶されている距離Ｌ，角度θ1，角度θ2，角度θ3，ピクセル数Pixに基づいて、上記（８）〜（１６）式などを用いて、順次、投影画像２４のピクセル位置に対応する実空間平面２２上の範囲を求め、求めた範囲を累積して加算した値が第２画角内要素値ＲＲの所定範囲となる場合に、この実空間平面２２上の範囲Ｒnに対応する投影画像２４のピクセルＧＰnを求める。
【０１０２】
そして、第２変換部１７は、この変換後のピクセル位置ＧＰnの位置を示す投影画像位置データＸP2を変換位置データ記憶装置１８に記憶する。
投影画像作成部２０は、変換位置データ記憶装置１８に記憶されている投影画像位置データＸP2の示すピクセルＧＰnの位置に、投影コンテンツ記憶装置１９に記憶されている投影コンテンツ１９ａを表示するための投影画像データ２６を作成し、投影画像データ２６を投影画像記憶装置２１に記憶する。
【０１０３】
図２４は、本実施の形態に係る画像入出力装置１による認識対象物Ｑ1の認識状態及び投影対象画像Ｅ2の投影状態の一例を示す図である。この図２４は、上方から画像入出力装置１と実空間平面２２とを見ている。画像入出力装置１は、認識対象物Ｑ1が実空間平面２２のどの位置に存在するかを正確に認識することができる。また、画像入出力装置１は、実空間平面２２の希望の位置に投影対象画像Ｅ2を正確に投影することができる。
【０１０４】
図２５は、本実施の形態に係る画像入出力装置１による実空間平面２２の位置認識処理の一例を示すフローチャートである。
ステップＳ１において、画像入出力装置１の本体２は、駆動装置７により空間位置移動を行う。
ステップＳ２において、撮影装置４は、撮影画像データ２５を撮影画像記憶装置８に記憶する。
【０１０５】
ステップＳ３において、認識部９は、撮影画像データ２５の示す撮影画像に基準体２８が写っているか判断する。
基準体２８が写っていない場合、ステップＳ４において、駆動装置７は、撮影装置４の光軸４ａの方向を切り替え、処理は上記ステップＳ２に戻る。
【０１０６】
基準体２８が写っている場合、ステップＳ５において、認識部９は、角度θ1、距離Ｌをパラメータ記憶装置１０に記憶する。
ステップＳ６において、駆動装置７は、撮影装置４の光軸４ａの方向を切り替える。
ステップＳ７において、撮影装置４は、光軸４ａの方向切り替え後の撮影画像データ２５を撮影画像記憶装置８に記憶するとともに、画像入出力装置１は、角度θ2をパラメータ記憶装置１０に記憶する。
【０１０７】
ステップＳ８において、認識部９は、撮影画像データ２５の示す撮影画像２３に認識対象物Ｑ1が写っているか判断する。
認識対象物Ｑ1が写っていない場合、処理は、上記ステップＳ６に戻る。
認識対象物Ｑ1が写っている場合、ステップＳ９において、認識部９は、認識対象物Ｑ1のピクセル位置ＧＰnを示す撮影画像位置データ２９をパラメータ記憶装置１０に記憶する。
【０１０８】
ステップＳ１０ａにおいて、第１位置要素演算部１１は、パラメータ記憶装置１０に記憶されている距離Ｌと角度ｃｏｓθ1とに基づいて、第１位置要素値Ｌ・ｃｏｓθ1を求め、第１位置要素値Ｌ・ｃｏｓθ1を位置要素記憶装置１５に記憶する。
ステップＳ１０ｂにおいて、第２位置要素演算部１２は、パラメータ記憶装置１０に記憶されている画角θ3、距離Ｌ、角度θ1、角度θ2に基づいて、第２位置要素値Ｌ・ｓｉｎθ1・ｔａｎθ4を求め、第２位置要素値Ｌ・ｓｉｎθ1・ｔａｎθ4を位置要素記憶装置１５に記憶する。
【０１０９】
ステップＳ１０ｃにおいて、第１画角内位置要素演算部１３は、パラメータ記憶装置１０に記憶されている距離Ｌ，角度θ1，角度θ2，角度θ3，ピクセル数Pix，認識対象物Ｑ1の撮影されていたピクセル位置ＧＰn（＝Ｘc1）に基づいて、第１画角内要素値ＲＲを求め、第１画角内要素値ＲＲを位置要素記憶装置１５に記憶する。
【０１１０】
ステップＳ１１において、第１変換部１５は、位置要素記憶装置１５に記憶されている第１位置要素値Ｌ・ｃｏｓθ1、第２位置要素値Ｌ・ｓｉｎθ1・ｔａｎθ4、第１画角内要素値ＲＲを足し算し、認識対象画像Ｑ1の撮影されたピクセル位置ＧＰnに対応する実空間平面２２の位置Ｒnを表す実空間位置データＸR1を求め、実空間位置データＸR1を変換位置データ記憶装置１８に記憶する。
【０１１１】
図２６は、本実施の形態に係る画像入出力装置１による実空間平面２２の所定位置への投影対象画像の投影処理の一例を示すフローチャートである。
ステップＴ１〜Ｔ５は、上記図２５のステップＳ１〜Ｓ５と同様である。
ステップＴ６において、駆動装置７は、投影装置５の光軸５ａの方向を切り替える。
【０１１２】
ステップＴ７において、画像入出力装置１は、角度θ2をパラメータ記憶装置１０に記憶する。
ステップＴ８ａ，Ｔ８ｂは、上記図２５のステップＳ１０ａ，Ｓ１０ｂと同様である。
ステップＴ９において、第２画角内位置要素演算部１４は、パラメータ記憶装置１０に記憶されている実空間位置データ３０の示す投影対象画像Ｅ2を投影したい実空間位置から、位置要素記憶装置１５に記憶されている第１位置要素値Ｌ・ｃｏｓθ1と第２位置要素値Ｌ・ｓｉｎθ1・ｔａｎθ4とを引き算して第２画角内要素値ＲＲを求め、第２画角内要素値ＲＲを位置要素値記憶装置１５に記憶する。
【０１１３】
ステップＴ１０において、第２変換部１７は、位置要素値記憶装置１５に記憶されている第２画角内要素値ＲＲと、パラメータ記憶装置１０に記憶されている距離Ｌ，角度θ1，角度θ2，角度θ3，ピクセル数Pixに基づいて、投影画像２４のピクセル位置に対応する実空間平面２２上の範囲を求め、交点３４から第２画角内要素値ＲＲだけ離れている実空間平面２２の範囲Ｒnに対応する投影画像２４のピクセルＧＰnを求め、この変換後のピクセルＧＰnの位置を示す投影画像位置データＸP2を変換位置データ記憶装置１８に記憶する。
【０１１４】
ステップＴ１１において、投影画像作成部２０は、変換後のピクセルＧＰnの位置が投影画像２４内か否か判断する。
変換後のピクセルＧＰnの位置が投影画像２４内でない場合、処理は終了する。
変換後のピクセルＧＰnの位置が投影画像２４内の場合、ステップＴ１２において、投影画像作成部２０は、変換位置データ記憶装置１８に記憶されている投影画像位置データＸP2の示すピクセルＧＰnの位置に、投影コンテンツ記憶装置１９に記憶されている投影コンテンツを表示するための投影画像データ２６を作成し、投影画像データ２６を投影画像記憶装置２１に記憶する。
【０１１５】
ステップＴ１３において、投影装置２６は、投影画像記憶装置２１に記憶されている投影画像データ２６の示す投影画像２４を投影する。
以上説明した本実施の形態においては、撮影装置４と投影装置５とに対して光軸一致機構６が適用されるため、撮影画像２３の座標系Ｃと投影画像２４の座標系Ｐのとの一致性を確保できる。これにより、画像入出力装置１において座標系を一つにして管理することができ、処理の簡略化、高速化を実現することができる。
【０１１６】
本実施の形態においては、例えばＡＲツールキットなどのような基準体２８の画像認識による３次元位置特定手法が用いられ、本体２と基準体２８との距離及び方向などの関係を取得することができる。
本実施の形態においては、認識対象物Ｑ1のある実空間平面２２、投影対象画像Ｅ2を投影する実空間平面２２に基準体２８が設置され、撮影画像２３、投影画像２４の座標系Ｃ，Ｐを実空間平面２２の座標系Ｒで管理することができる。
【０１１７】
本実施の形態においては、撮影装置４及び投影装置５が２軸（パン・チルト）の駆動軸を持ち、さらに本体２の空間位置が移動可能であっても、認識対象物Ｑ1の位置認識及び投影対象画像Ｅ2の投影位置について誤差発生を防止でき、高精度の位置管理を行うことができる。
【０１１８】
（第４の実施の形態）
本実施の形態においては、上記第１の実施の形態の変形例について説明する。
図２７は、本実施の形態に係る画像入出力装置の構成の一例を示すブロック図である。
本実施の形態に係る画像入出力装置４３では、ネットワーク４４経由で、本体４５、設定情報記憶部４６、指示者側システム４７が設置されている。
【０１１９】
本体４５は、撮影装置４、投影装置５、光軸一致機構６、駆動装置７、画像送信部４８、表示・処理制御部４９、算出部５０を具備する。
駆動装置７は、撮影装置４及び投影装置５の光軸方向を変えるパン・チルト駆動部７Ａと、本体４５の空間における位置を変える移動駆動部７Ｂとを具備する。
【０１２０】
画像送信部４８は、撮影装置４によって得られた撮影画像データ２５をネットワーク４４経由で指示者側システム４７に送信する。
表示・処理制御部４９は、指示位置取得部５１より、作業者５２が指示具５３により指示した位置データを入力する。この表示・処理制御部４９は、上記第１の実施の形態における投影画像作成部２０として機能する。
【０１２１】
算出部５０は、上記第１の実施の形態における第１位置要素演算部１１、第２位置要素演算部１２、第１画角内位置要素演算部、第２画角内位置要素演算部１４、第１変換部１６、第２変換部１７として機能する。
設定情報記憶部４６は、上記第１の実施の形態におけるパラメータ記憶装置１０、位置要素記憶装置１５、変換位置データ記憶装置１８、投影コンテンツ記憶装置１９として用いられる。
【０１２２】
指示者５４は、指示者側システム４７を用いて設定情報記憶部４７への情報の記憶、本体４５への各種指示を行う。指示者側システム４７は、画像受信部５５、画像認識部５６、表示部５７、データ入力部５８、キーボード５９、マウス６０、ファイル記憶部６１を具備する。
【０１２３】
画像受信部５５は、画像送信部４８からネットワーク４４経由で撮影画像データ２５を受信する。
画像認識部５６は、上記第１の実施の形態における認識部９としての機能を持つ。
例えば、本実施の形態に係る画像入出力装置４３は、撮影装置４によって撮影された位置を登録する登録処理を実行し、また、登録された位置に投影対象画像Ｅ2を投影する投影処理を実行する。指示者５４は、指示者側システム４７により登録指示、駆動指示、投影指示を入力する。
【０１２４】
図２８は、本実施の形態に係る登録処理と投影処理との関係の一例を示すフローチャートである。
ステップＵ１において、画像入出力装置４３の表示・処理制御部４９は、投影対象画像Ｅ2の投影位置の登録が指示されたか否か判断する。
登録指示がなされた場合、ステップＵ２において、画像認識部５６及び算出部５０は、登録処理を実行する。
【０１２５】
登録指示がなされていない場合、ステップＵ３において、本体４５は、移動駆動部７ｂにより、空間を移動する。
また、ステップＵ４において、パン・チルト駆動部７ａは、撮影装置４及び投影装置５の光軸４ａ，５ａを切り替える。
次に、ステップＵ５において、画像入出力装置４３の表示・処理制御部４９は、投影対象画像Ｅ2の投影が指示されたか否か判断する。
【０１２６】
投影指示がなされた場合、ステップＵ６において、算出部５０及び表示・処理制御部４９は、投影処理を実行する。
投影指示がなされていない場合、ステップＵ７において、本体４５は、移動駆動部７ｂにより、空間を移動する。
また、ステップＵ８において、パン・チルト駆動部７ａは、撮影装置４及び投影装置５の光軸４ａ，５ａを切り替える。
【０１２７】
そして、ステップＵ９において、処理は終了か否か判断される。終了しない場合、処理は上記ステップＵ１に戻る。
図２９は、本実施の形態に係る画像入出力装置４３による登録処理の一例を示すフローチャートである。
ステップＶ１において、移動駆動部７ｂは、本体４５の空間移動を停止する。
【０１２８】
ステップＶ２において、画像認識部５６は、撮影画像２３内に基準体２８が存在するか否か判断する。
基準体２８が撮影画像２３内に存在しない場合、ステップＶ３において、パン・チルト駆動部７ａは撮影装置４の光軸４ａを変化させ、処理は上記ステップＶ２に戻る。
【０１２９】
基準体２８が撮影画像２３内に存在する場合、ステップＶ４において、画像認識部５６は、基準体２８の認識処理を実行する。
ステップＶ５において、画像認識部５６は、撮影装置４と基準体２８との距離Ｌ、撮影装置４と基準体２８との角度θ1を取得する。
【０１３０】
ステップＶ６において、パン・チルト駆動部７ａは、登録される実空間平面２２の位置が撮影画像２３内に収まるように、撮影装置４の光軸４ａの方向を変化させる。
ステップＶ７において、キーボード５９、マウス６０、データ入力部５８は、指示者５４から、撮影画像２３内の登録される位置の指定を入力する。
【０１３１】
ステップＶ８において、投影装置５は、指定された位置に、投影対象画像Ｅ2を投影する。
ステップＶ９において、算出部５０は、指定された撮影画像２３のピクセル位置を、実空間平面２２の位置に変換する。
ステップＶ１０において、設定情報記憶装置４６は、指定された撮影画像２３のピクセル位置に対応する実空間平面２２の位置を、設定情報記憶部４６に記憶する。
【０１３２】
図３０は、本実施の形態に係る画像入出力装置４３による撮影画像２３のピクセル位置から基準体２８を基準として定まる実空間平面の位置への変換処理の一例を示すフローチャートである。
ステップＷ１において、算出部５０は、指定された撮影画像２３のピクセル位置nを取得する。
【０１３３】
ステップＷ２において、算出部５０は、ループ変数ｋに１を代入する。
ステップＷ３において、算出部５０は、上記（１）式、（７）式、（１６）式を用いて、Ｒk，Ｘk，Ｘk+2，Ｒk+1を算出する。
ステップＷ４において、算出部５０は、ｋ＝nか判断する。
【０１３４】
ｋ＝nではない場合、ステップＷ５において、算出部５０はｋ＝ｋ＋１とし、処理は上記ステップＷ３に戻る。
ｋ＝nの場合、ステップＷ６において、算出部５０は、第１位置要素値Ｌ・ｃｏｓθ1、第２位置要素値Ｌ・ｓｉｎθ1・ｔａｎθ4、Ｒ1〜Ｒnを足し合わせた変換後の実空間平面２２の位置を求める。
【０１３５】
図３１は、本実施の形態に係る画像入出力装置４３による投影処理の一例を示すフローチャートである。
ステップＺ１〜Ｚ５は、上記ステップＶ１〜Ｖ５と同様である。
ステップＺ６において、パン・チルト駆動部７ａは、投影装置５の光軸５ａの方向を変化させる。
【０１３６】
ステップＺ７において、算出部５０は、投影画像２４の各ピクセル位置に対応する実空間平面２２の範囲を算出する。
ステップＺ８において、算出部５０は、算出された実空間平面２２の範囲を投影位置とする投影対象画像Ｅ2があるか否か判断する。
算出された実空間平面２２の範囲を投影位置とする投影対象画像Ｅ2がない場合、処理はステップＺ１１に移動する。
【０１３７】
算出された実空間平面２２の範囲を投影位置とする投影対象画像Ｅ2がある場合、ステップＺ９において、算出部５０は、この投影対象画像Ｅ2を投影するように登録された実空間平面２２の位置を、投影画像２４のピクセル位置に変換する。
ステップＺ１０において、表示・処理制御部４９は、変換によって得られた投影画像２４のピクセル位置に、投影対象画像Ｅ2を表示する投影画像データ２６を作成し、投影装置５は、作成された投影画像データ２６に基づく投影画像２４を投影する。
【０１３８】
ステップＺ１１において、処理を終了するか否か判断される。処理を終了しない場合、処理は上記ステップＺ６に戻る。
図３２は、投影画像２４の各ピクセル位置に対応する実空間平面２２の範囲の算出処理の一例を示すフローチャートである。
ステップＡ１において、算出部５０は、投影画像２４の端部のピクセル位置１，Pixを取得する。
【０１３９】
ステップＡ２において、算出部５０は、ループ変数ｋに１を代入する。
ステップＡ３において、算出部５０は、上記（１）式、（７）式、（１６）式を用いて、Ｒk，Ｘk，Ｘk+2，Ｒk+1を算出する。
ステップＡ４において、算出部５０は、ｋ＝Pixか判断する。
【０１４０】
ｋ＝Pixではない場合、ステップＡ５において、算出部５０はｋ＝ｋ＋１とし、処理は上記ステップＡ３に戻る。
ｋ＝nの場合、ステップＡ６において、算出部５０は、Ｒ1〜ＲPixを記憶する
図３３は、投影対象画像Ｅ2の投影される実空間平面２２の位置を、投影画像２４のピクセル位置に変換する処理の一例を示すフローチャートである。
【０１４１】
ステップＢ１において、算出部５０は、設定情報記憶部４６から、投影対象画像Ｅ2を投影するように登録された実空間平面２２の位置を取得する。
ステップＢ２において、算出部５０は、取得された実空間平面２２の位置から第１位置要素値Ｌ・ｃｏｓθ1と第２位置要素値Ｌ・ｓｉｎθ1・ｔａｎθ4とを引きた値ＲＲを求める。
【０１４２】
ステップＢ３において、算出部５０は、ループ変数ｋに１を代入する。
ステップＢ４において、算出部５０は、上記（１）式、（７）式、（１６）式を用いて、Ｒk，Ｘk，Ｘk+2，Ｒk+1を算出する。
ステップＢ５において、算出部５０は、投影画像２４のピクセル位置に対応する実空間平面２２の範囲について投影画像２４の端からの累積加算値を算出し、累積加算値がＲＲより大きいか否か判断する。
【０１４３】
累積加算値がＲＲより大きくない場合、ステップＢ６において、算出部５０はｋ＝ｋ＋１とし、処理は上記ステップＢ３に戻る。
累積加算値がＲＲより大きい場合、ステップＢ７において、算出部５０は、この時点でのｋの値を、投影対象画像Ｅ2を投影する投影画像２４のピクセル位置として記憶する。
【０１４４】
以上説明した本実施の形態においては、指示者５４によって指示された撮影画像２３のピクセル位置を、実空間平面２２における位置に変換し、投影対象画像Ｅ2を投影する位置として登録することができる。
また、本実施の形態においては、投影装置４の投影範囲に登録された投影対象画像Ｅ2があるか否か判断し、投影範囲内に投影対象画像Ｅ2が登録されている場合に、この投影対象画像Ｅ2に対応する実空間平面２２の位置を、投影画像２４のピクセル位置に変換し、投影対象画像Ｅ2を登録された位置に投影することができる。
【０１４５】
なお、上記各実施の形態においては、同一の機能が実現可能であれば、様々に変更してもよい。例えば、撮影画像記憶装置８、パラメータ記憶装置１０、位置要素記憶装置１５、変換位置データ記憶装置１８、投影コンテンツ記憶装置１９、投影画像記憶装置２１は、自由に統合又は分割することができる。
【０１４６】
また、認識部９、第１位置要素演算部１１、第２位置要素演算部１２、第１画角内一要素演算部１３、第２画角内位置要素演算部１４、第１変換部１６、第２変換部１７、投影画像作成部２０の各処理についても、自由に統合又は分割することができる。
また、上記位置データの変換に用いる各種の数式に代えて近似式を用いるとしてもよい。
【０１４７】
上記各実施の形態に係る各構成要素の機能は、例えばプログラムによって制御されるプロセッサにより実現されるとしてもよい。
この場合におけるプログラムは、例えば磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記憶媒体に書き込んで、プロセッサを持つコンピュータに適用可能である。また、プログラムは、通信媒体により伝送してコンピュータに適用することも可能である。コンピュータは、プログラムを読み込み、このプログラムによって動作が制御されることにより、上記各実施の形態に係る機能を実現する。プログラムは、複数のコンピュータに分散して配置され、複数のコンピュータ間で互いに連携しつつ処理が実行されるとしてもよい。
【図面の簡単な説明】
【０１４８】
【図１】本発明の第１の実施の形態に係る位置データ変換装置の一例を示すブロック図。
【図２】本発明の第２の実施の形態に係る実空間情報付加システムのブロック図。
【図３】図２の実空間情報付加システムの全体の動作を示すフローチャート。
【図４】図３のステップＳ２０５の処理を示すフローチャート。
【図５】図３のステップＳ２０７の処理を示すフローチャート。
【図６】図５に示した処理での表示部の表示例を示す図。
【図７】図５に示した処理での表示部上のＧＵＩ（Graphical User Interface）の遷移を示す図。
【図８】図５のステップＳ４０６の処理を示すフローチャート。
【図９】図３のステップＳ２０２の処理を示すフローチャート。
【図１０】図９に示した処理での表示部の表示例を示す図。
【図１１】図３のステップＳ２０９の処理を示すフローチャート。
【図１２】図１１に示した処理での表示部の表示例を示す図。
【図１３】図３のステップＳ２１１の処理を示すフローチャート。
【図１４】図１３に示した処理での表示部上のＧＵＩの遷移を示す図。
【図１５】本発明の第３の実施の形態に係る画像入出力装置の一例を示すブロック図。
【図１６】第３の実施の形態に係る画像入出力装置と実空間平面との関係の一例を示す斜視図。
【図１７】実空間平面の特定の座標軸のパラメータの例を示す図。
【図１８】実空間平面の座標系Ｒと撮影画像の座標系との例を示す図
【図１９】光軸一致機構の一例を示す図。
【図２０】実空間平面の座標系Ｒの位置の演算に用いられる位置要素値の例を示す図。
【図２１】位置要素値の演算に用いられる角度の例を示す図。
【図２２】撮影画像の各ピクセルについての仮想撮影平面と実空間平面との関係の一例を示す図。
【図２３】Ｒnの演算を説明するための図。
【図２４】第３の実施の形態に係る画像入出力装置による認識対象物の認識状態及び投影対象画像の投影状態の一例を示す図。
【図２５】第３の実施の形態に係る画像入出力装置による実空間平面の位置認識処理の一例を示すフローチャート。
【図２６】第３の実施の形態に係る画像入出力装置による実空間平面の所定位置への投影対象画像の投影処理の一例を示すフローチャート。
【図２７】本発明の第４の実施の形態に係る画像入出力装置の構成の一例を示すブロック図。
【図２８】第４の実施の形態に係る登録処理と投影処理との関係の一例を示すフローチャート。
【図２９】第４の実施の形態に係る画像入出力装置による登録処理の一例を示すフローチャート。
【図３０】第４の実施の形態に係る画像入出力装置による撮影画像のピクセル位置から基準体を基準として定まる実空間平面の位置への変換処理の一例を示すフローチャート。
【図３１】第４の実施の形態に係る画像入出力装置による投影処理の一例を示すフローチャート。
【図３２】撮影画像の各ピクセル位置に対応する実空間平面の範囲の算出処理の一例を示すフローチャート。
【図３３】投影対象画像の投影される実空間平面の位置を、投影画像のピクセル位置に変換する処理の一例を示すフローチャート。
【符号の説明】
【０１４９】
１，４３…画像入出力装置、２，４５…本体、３，６２…位置データ変換装置、４…撮影装置、５…投影装置、６…光軸一致機構、７…駆動装置、８…撮影画像記憶装置、９…認識部、１０…パラメータ記憶装置、１１…第１位置要素演算部、１２…第２位置要素演算部、１３…第１画角内位置要素演算部、１４…第２画角内位置要素演算部、１５…位置要素記憶装置、１６…第１変換部、１７…第２変換部、１８…変換位置データ記憶装置、１９…投影コンテンツ記憶装置、１９ａ…投影コンテンツ、２０…投影画像作成部、２１…投影画像記憶装置、２２…実空間平面、２３…撮影画像、２４…投影画像、２６…投影画像データ、２８…基準体、４６…設定情報記憶部、４７…指示者側システム、４９…表示・処理制御部、５０…算出部、５６…画像認識部、６３…ロボット、６４…駆動制御値取得部、６５，７０…記憶装置、６６…表示指定部、６７，６９…変換部、６８…位置管理用データベース、７１…基準体位置データ、７２…画像位置データ、７３…駆動制御値、７４，７５…管理位置データ、７６…画像位置データ
【図１】
0004594272.tif 000006
【図２】
0004594272.tif 000007
【図３】
0004594272.tif 000008
【図４】
0004594272.tif 000009
【図５】
0004594272.tif 000010
【図６】
0004594272.tif 000011
【図７】
0004594272.tif 000012
【図８】
0004594272.tif 000013
【図９】
0004594272.tif 000014
【図１０】
0004594272.tif 000015
【図１１】
0004594272.tif 000016
【図１２】
0004594272.tif 000017
【図１３】
0004594272.tif 000018
【図１４】
0004594272.tif 000019
【図１５】
0004594272.tif 000020
【図１６】
0004594272.tif 000021
【図１７】
0004594272.tif 000022
【図１８】
0004594272.tif 000023
【図１９】
0004594272.tif 000024
【図２０】
0004594272.tif 000025
【図２１】
0004594272.tif 000026
【図２２】
0004594272.tif 000027
【図２３】
0004594272.tif 000028
【図２４】
0004594272.tif 000029
【図２５】
0004594272.tif 000030
【図２６】
0004594272.tif 000031
【図２７】
0004594272.tif 000032
【図２８】
0004594272.tif 000033
【図２９】
0004594272.tif 000034
【図３０】
0004594272.tif 000035
【図３１】
0004594272.tif 000036
【図３２】
0004594272.tif 000037
【図３３】
0004594272.tif 000038