(58)【調査した分野】(Int.Cl.,DB名)
前記第1検出手段は、前記第1部分画像における前記物体についての第1物体画像の第1位置と、前記第2部分画像における前記物体についての第2物体画像の第2位置に基づいて、前記物体の位置を検出する、請求項1記載の情報処理システム。
少なくとも、前記第1部分画像と前記第2部分画像の境界と、当該第1部分画像における前記物体についての第1物体画像の第1位置関係を検出する第2検出手段をさらに備え、
前記第1検出手段は、前記第2検出手段によって検出された前記第1位置関係に応じて、前記物体の位置を検出する、請求項1記載の情報処理システム。
前記第1検出手段は、前記第1位置関係が前記境界に前記第1物体画像が接触していることを示すかどうかと、前記第2位置関係に基づいて、前記物体の位置を検出する、請求項4記載の情報処理システム。
前記カメラ画像のうち、前記第1部分画像の基準位置を通る直線上における、当該第1部分画像における前記物体についての第1物体画像の第1位置および前記第2部分画像における前記物体についての第2物体画像の第2位置を検出する第3検出手段をさらに備え、
前記第1検出手段は、前記第3検出手段によって検出された前記第1位置と前記第2位置に基づいて、前記物体の位置を検出する、請求項1記載の情報処理システム。
前記第1部分画像および前記第2部分画像の両方に前記カメラの周囲に存在する物体の画像が含まれるように、当該カメラと前記ミラーの相対的な位置関係および当該ミラーの形状が決定される、請求項1ないし8のいずれかに記載の情報処理システム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、この背景技術では、全方位のステレオ画像と、被写体の形状および構造を表す3次元座標値が抽出されるに留まっている。
【0005】
この発明の主たる目的は、新規な、情報処理システム、情報処理プログラム、情報処理方法および撮像装置を提供することである。
【0006】
また、この発明の他の目的は、カメラ画像のうち、曲面ミラーに相当する部分画像と、曲面ミラーに相当しない部分画像を用いることにより新規な情報処理を実行可能な、情報処理システム、情報処理プログラム、情報処理方法および撮像装置を提供することである。
【課題を解決するための手段】
【0007】
第1の発明の情報処理システムは、カメラ、ミラー
、第1検出手段
、および接触判定手段を備える。ミラーは、カメラに対向して設置される。第1検出手段は、カメラによって撮像されたカメラ画像のうち、ミラーに相当する第1部分画像と、第1部分画像に隣接し、ミラーに相当しない第2部分画像とに基づいて、当該カメラの周囲に存在する物体の位置を検出する。
接触判定手段は、ミラー側を設置面に設置させるとき、第1部分画像における物体についての第1物体画像と、当該第1部分画像と第2部分画像の境界とが接触するかどうかで、物体が当該設置面と接触するかどうかを判定する。ミラー側を設置面に設置させるとき、当該設置面に平行な方向に当該設置面に沿って進行する光が当該ミラーの少なくとも一部で反射されるように、カメラとミラーとの位置関係および当該ミラーの形状が決定される。
【0008】
第1の発明によれば、
カメラ画像のうち、ミラーに相当する第1部分画像とミラーに相当しない第2部分画像の境界がカメラを設置した設置面に相当するので、第2部分画像におけるオブジェクトが当該境界に接触しているかどうかに応じて、オブジェクトが設置面に接触しているかどうかを判定することができる。
【0009】
第2の発明は、第1の発明に従属し、第1検出手段は、第1部分画像における物体についての第1物体画像の第1位置と、第2部分画像における物体についての第2物体画像の第2位置に基づいて、物体の位置を検出する。
【0010】
第2の発明によれば、第1部分画像および第2部分画像に基づいて物体の位置を算出することができる。
【0011】
第3の発明は、第1の発明に従属し、第2検出手段をさらに備える。第2検出手段は、少なくとも、第1部分画像と第2部分画像の境界線と、当該第1部分画像における物体についての第1物体画像の第1位置関係を検出する。第1物体画像が境界線に接触している場合には、境界線に相当するカメラが設けられた面に物体が接触していることが分かる。第1検出手段は、第2検出手段によって検出された第1位置関係に応じて、物体の位置を検出する。つまり、物体がカメラの設けられた面に接触している場合には、高さを0として、第2部分画像の第2位置に基づいてカメラの設けられた面における2次元座標が算出される。また、物体がカメラの設けられた面に接触していない場合には、第1部分画像および第2部分画像に基づいて物体の3次元位置が算出される。
【0012】
第3の発明によれば、物体がカメラの設けられた面に接触しているかどうかに応じて、適切な方法で物体の位置を算出することができる。
【0013】
第4の発明は、第3の発明に従属し、第2検出手段は、第1部分画像の基準位置と第2部分画像における物体についての第2物体画像の第2位置関係をさらに検出する。また、第1検出手段は、第2検出手段によって検出された第1位置関係と第2位置関係に基づいて、物体の位置を検出する。
【0014】
第4の発明によれば、第2位置関係をさらに検出するので、適切な方法で物体の位置を算出することができる。
【0015】
第5の発明は、第4の発明に従属し、第1検出手段は、第1位置関係が境界線に第1物体画像が接触していることを示すかどうかと、第2位置関係に基づいて、物体の位置を検出する。
【0016】
第5の発明によれば、物体が境界線に相当するカメラが設置された面に接触しているかどうかに応じて、適切な方法で物体の位置を算出することができる。
【0017】
第6の発明は、第1の発明に従属し、第3検出手段をさらに備える。第3検出手段は、カメラ画像のうち、第1部分画像の基準位置を通る直線上における、当該第1部分画像における物体についての第1物体画像の第1位置および第2部分画像における物体についての第2物体画像の第2位置を検出する。第1検出手段は、第3検出手段によって検出された第1位置と第2位置に基づいて、物体の位置を検出する。
【0018】
第6の発明によれば、第1部分画像と第2部分画像とに基づいて、物体の位置を算出することができる。
【0025】
第
7の発明は、第1ないし第
6の発明のいずれかに従属し、カメラの画角は180度である。
【0026】
第
7の発明によれば、カメラの光軸に対して垂直な方向を撮影することができる。
【0027】
第
8の発明は、第1ないし第
7の発明のいずれかに従属し、カメラは周囲の360度を撮影可能である。
【0028】
第
8の発明によれば、カメラの周囲に存在する物体を撮影可能である。
【0029】
第
9の発明は、第1ないし第
8の発明のいずれかに従属し、第1部分画像および第2部分画像の両方にカメラの周囲に存在する物体の画像が含まれるように、当該カメラとミラーの相対的な位置関係および当該ミラーの形状が決定される。
【0030】
第
9の発明によれば、第1部分画像および第2部分画像に基づいて、物体の位置を検出することができる。
【0031】
第
10の発明は、第1ないし第
9の発明のいずれかに従属し、ミラーは曲面を有する。
【0032】
第
10の発明によれば、第1部分画像にもカメラの周囲の画像を含めることができる。
【0033】
第
11の発明は、第
10の発明に従属し、曲面はカメラ側に突出する双曲面、円錐面、楕円面またはこれらのいずれか2つの複合面である。
【0034】
第
11の発明によれば、用途に応じた曲面のミラーを用いることができる。
【0035】
第
12の発明は、第1ないし第
11の発明のいずれかに従属し、カメラとミラーを含む撮像装置は携帯型である。
【0036】
第
12の発明によれば、撮像装置を任意の設置面に設置して物体の位置を検出することができる。
【0037】
第
13の発明は、第1ないし第
12の発明のいずれかに従属し、カメラとミラーを含む撮像装置は円筒形状に形成される。
【0038】
第
13の発明によれば、撮像装置自体の形状に起因して画像を補正する処理が不要である。
【0039】
第
14の発明は、第1ないし第
13の発明のいずれかに従属し、ミラーは曲面ミラーであり、第1検出手段は、第1部分画像を所定のアルゴリズムで補正した画像と、第2部分画像とに基づいて、物体の位置を検出する。
【0040】
第
14の発明によれば、曲面ミラーによる画像の歪みを補正するので、歪みによる誤差を低減または無くして物体の位置を検出することができる。
【0041】
第15の発明は、カメラ、およびカメラに対向して設置されるミラーを備える情報処理システムのコンピュータで実行される情報処理プログラムであって、情報処理システム
のミラー側を設置面に設置させるとき、当該設置面に平行な方向に当該設置面に沿って進行する光が当該ミラーの少なくとも一部で反射されるように、カメラとミラーとの位置関係および当該ミラーの形状が決定され、コンピュータを、カメラによって撮像されたカメラ画像のうち、ミラーに相当する第1部分画像と、第1部分画像に隣接し、ミラーに相当しない第2部分画像とに基づいて、当該カメラの周囲に存在する物体の位置を検出する検出手段、および情報処理システム
のミラー側を設置面に設置させるとき、第1部分画像における物体についての第1物体画像と、当該第1部分画像と第2部分画像の境界とが接触するかどうかで、物体が当該設置面と接触するかどうかを判定する接触判定手段として機能させる、情報処理プログラムである。
【0042】
第
15の発明においても、第1の発明と同様に、
第2部分画像におけるオブジェクトが当該境界に接触しているかどうかに応じて、オブジェクトが設置面に接触しているかどうかを判定することができる。
【0043】
第16の発明は、カメラ、およびカメラに対向して設置されるミラーを備える情報処理システムの情報処理方法であって、情報処理システム
のミラー側を設置面に設置させるとき、当該設置面に平行な方向に当該設置面に沿って進行する光が当該ミラーの少なくとも一部で反射されるように、カメラとミラーとの位置関係および当該ミラーの形状が決定され、(a)カメラによって撮像されたカメラ画像のうち、ミラーに相当する第1部分画像と、第1部分画像に隣接し、ミラーに相当しない第2部分画像とに基づいて、当該カメラの周囲に存在する物体の位置を検出するステップと、(b)情報処理システム
のミラー側を設置面に設置させるとき、第1部分画像における物体についての第1物体画像と、当該第1部分画像と第2部分画像の境界とが接触するかどうかで、物体が当該設置面と接触するかどうかを判定するステップを含む、情報処理方法である。
【0044】
第
16の発明においても、第1の発明と同様に、
第2部分画像におけるオブジェクトが当該境界に接触しているかどうかに応じて、オブジェクトが設置面に接触しているかどうかを判定することができる。
【0045】
第17の発明は、カメラ、カメラに対向して設置されるミラー、およびカメラによって撮影されたカメラ画像に基づいて、当該カメラの周囲に存在する物体が所定の面に接触しているかどうかを判定する接触判定手段を備え、カメラによって撮像されたカメラ画像が、ミラーに相当する第1部分画像と、第1部分画像に隣接し、ミラーに相当しない第2部分画像を含むように、カメラとミラーとを配置し、
ミラー側を所定の面に設置させるとき、当該所定の面に平行な方向に当該所定の面に沿って進行する光が当該ミラーの少なくとも一部で反射されるように、カメラとミラーとの位置関係および当該ミラーの形状が決定され、接触判定手段は、ミラー側を所定の面に設置させるとき、第1部分画像における物体についての第1物体画像と、当該第1部分画像と第2部分画像の境界とが接触するかどうかで、物体が当該所定の面と接触するかどうかを判定する、情報処理システムである。
【0046】
第
17の発明によれば、物体が所定の面に接触したかどうかを容易に判定することができる。
【0051】
第18の発明は、周囲の360度を撮影可能な広角カメラ
、広角カメラに対向して配置され、所定の面に平行であり、当該所定の面に沿って進行する光線方向となる形状に形成されたミラー
、および広角カメラによって撮影されたカメラ画像に基づいて、当該広角カメラの周囲に存在する物体が所定の面に接触しているかどうかを判定する接触判定手段を備え、広角カメラによってミラーに相当する第1部分画像と、当該第1部分画像に隣接し、ミラーに相当しない第2部分画像を含むカメラ画像を撮影可能に、広角カメラとミラーを配置し、
接触判定手段は、ミラー側を所定の面に設置させるとき、第1部分画像における物体についての第1物体画像と、当該第1部分画像と第2部分画像の境界とが接触するかどうかで、物体が当該所定の面と接触するかどうかを判定す
る、撮像装置である。
【0052】
第
18の発明によれば、物体が所定の面に接触したかどうかを簡単に判定できるカメラ画像を撮影することができる。
【発明の効果】
【0059】
この発明によれば、カメラ画像のうち、ミラーに相当する第1部分画像とミラーに相当しない第2部分画像
の境界がカメラを設置した設置面に相当するので、第2部分画像におけるオブジェクトが当該境界に接触しているかどうかに応じて、オブジェクトが設置面に接触しているかどうかを判定することができる。
【0060】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施形態の詳細な説明から一層明らかとなろう。
【発明を実施するための形態】
【0062】
図1を参照して、この発明の一実施例である情報処理システム10は、撮像装置12およびコンピュータ14を含み、撮像装置12およびコンピュータ14は無線通信可能に接続される。ただし、撮像装置12とコンピュータ14は、有線により通信可能に接続されてもよい。
【0063】
図2からも分かるように、撮像装置12は、カメラユニット12a、ミラー部12bおよびこれらを固定する固定部材12cによって構成され、カメラユニット12aおよびミラー部12bによって両端部が閉じられた円筒形状に形成される。
【0064】
カメラユニット12aは、上面視で円形に形成され、CCDやCMOSのような撮像素子を用いたカメラ20を含む。カメラ20は、後述するように、撮像処理および通信処理を行う電子部品と電気的に接続され、このような電子部品などがカメラユニット12aの筐体内に収納される。ミラー部12bは、上面視で円形に形成され、曲面ミラー30および当該曲面ミラー30を固定する固定部材32を含む。曲面ミラー30は、上面視で円形に形成され、カメラ20に対向して設けられる。また、曲面ミラー30は、カメラ20側に突出する凸面(この実施例では、双曲面)を有している。固定部材12cは、円筒形状であり、透明の樹脂またはガラスで形成される。固定部材12cの高さ(長さ)は、所定の長さに決定される。後述するように、撮像装置12を所定の面上に置いた場合に、当該所定の面に平行な光線方向で当該所定の面に沿って進む光が曲面ミラー30の端部で反射されるように、カメラ20と曲面ミラー30との位置関係および曲面ミラー30の形状(面の形状)が決定される。したがって、このような位置関係となるように、固定部材12cの高さが決定される。ただし、曲面ミラー30で反射された光は、カメラ20の広角レンズ22を介して撮像素子に入射される。
【0065】
図3は、カメラユニット12aの電気的な構成を示すブロック図である。カメラユニット12aは、CPU100を含み、CPU100は、内部バス102を介して、上述したカメラ20に接続されるとともに、ROM104、RAM106および通信モジュール108に接続される。
【0066】
CPU100は、カメラユニット12aの全体的な制御を司る。ROM104には、カメラユニット12aの制御プログラムが記憶される。RAM106は、CPU100のワーク領域およびバッファ領域として使用される。通信モジュール108は、たとえば、無線LANに接続する機能を有する。したがって、撮像装置12は、外部のコンピュータ(この実施例では、コンピュータ14)と直接またはネットワークを介して通信することができる。
【0067】
図1に戻って、コンピュータ14は、汎用のパーソナルコンピュータやサーバ等であり、この実施例では、撮像装置12のホストコンピュータとして機能する。詳細な説明は省略するが、コンピュータ14は、CPU14aおよびRAM14bとともに、通信モジュールやHDDなどのコンポーネントを備えている。
【0068】
たとえば、撮像装置12は、机上や壁面(白板などを含む)のような所定の面上に載置ないし設置され、コンピュータ14は、撮像装置12の周囲に存在する物体(オブジェクト)の位置を算出(検出)する。この実施例では、ユーザの指が所定の面に接触(タッチ)しているかどうかを判定し、当該指の位置(現実空間における3次元位置)を算出するようにしてある。
【0069】
なお、この実施例では、撮像装置12の周囲に存在するオブジェクトの位置を算出するようにしてあるが、単に、撮像装置12の周囲に存在するオブジェクトが所定の面に接触しているかどうか、撮像装置12の周囲にオブジェクトが存在するかどうかを判断することもできる。
【0070】
図4(A)は撮像装置12が或る設置面に設置された場合にカメラ20の広角レンズ22に入射される光(光線)の光路の一部を示す。この実施例では、カメラ20の画角は180度に設定される。したがって、光路L1で示すように、カメラ20の光軸に対して垂直な光も広角レンズ22を介して撮像素子に入射される。また、曲面ミラー30で反射された光も広角レンズ22を介して撮像素子に入射される。この実施例では、曲面ミラー30は、上述したように、カメラ20側に突出した双曲面を有し、設置面に平行であり、この設置面に沿って進む光も広角レンズ22を介して撮像素子に入射可能な形状にされる。ただし、光路L2で示すように、設置面に平行であり、この設置面に沿って進む光は、曲面ミラー30の端部(最外周)で反射される。
【0071】
したがって、カメラ20で撮影される撮影画像のうち、曲面ミラー30に相当する部分の部分画像C1(
図4(B)参照)には、その中央にカメラ20自体が写り、中央から曲面ミラー30の端部まで、撮像装置12の周囲の環境が写る。撮像装置12の周囲とは、円筒の側面方向についての全方位(360度の方位)を意味する。以下、同様である。また、曲面ミラー30以外の部分に相当する部分画像C2(
図4(B)参照)には、曲面ミラー30の固定部材32と、撮像装置12の周囲(円筒の側面方向)の環境が写る。
【0072】
カメラ20は、広角レンズ22を有し、この広角レンズ22によって撮像素子(イメージセンサ)に被写体像を結像させる。撮像素子は、結像された被写体像に対応する光学像を電気信号に変換し、これによって、撮像画像信号が得られる。撮像画像信号に対してA/D変換、YUV変換、ガンマ補正、色補正などの所定の画像処理が施され、これによって撮影画像に対応する撮影画像データが生成される。この撮影画像データがカメラ20からCPU100に与えられ、CPU100は撮影画像データをRAM106に一時記憶した後、通信モジュール108を用いてコンピュータ14に送信する。
【0073】
図4(B)は、
図4(A)に示す撮像装置12に設けられるカメラ20の撮影画像(カメラ画像)の一例を示す。撮影画像は、二重の円で示される円形の画像を含む。撮影画像のうち、円形の部分画像C1は曲面ミラー30の部分についての画像(ミラー画像)であり、部分画像C1に隣接し、この部分画像C1を囲む、ドーナツ状の部分画像C2は曲面ミラー30以外の部分についての画像である。つまり、部分画像C2は、曲面ミラー30で反射された被写体像ではなく、カメラ20で直接的に撮影された被写体像についての画像である。
【0074】
このように、この実施例の撮像装置12は、部分画像C1および部分画像C2の両方に、撮像装置12の周囲に存在するオブジェクトの画像が含まれるように(
図2、
図5(A)、(B)参照)、カメラ20と曲面ミラー30の位置関係および曲面ミラー30の形状が決定される。
【0075】
なお、
図4(B)では、簡単のため、部分画像C1および部分画像C2の具体的な内容については省略してある。実際には、撮像装置12が配置される部屋に存在する物(たとえば、机、壁、扉)および人間などが撮影され、その撮影された画像が表示される。これらのことは、後述する他の撮影画像についても同様である。
【0076】
また、撮影画像において、部分画像C2よりも大きい四角枠は、カメラ20の撮像素子の撮像面の全範囲に相当する。また、撮影画像の全範囲のうち、この実施例の撮像装置12に設けられるカメラ20で撮影されない範囲(画角を超える範囲)については黒色となるが、図面では斜線を付して示してある。他の図面においては、撮影画像のうち、黒色となる範囲については省略することにする。
【0077】
この実施例では、部分画像C1および部分画像C2を用いることにより、撮像装置12の周囲に存在するオブジェクト(たとえば、ユーザの指)が、この撮像装置12を設置している設置面に接触(タッチ)しているかどうかを判定するとともに、オブジェクトの位置(現実空間における3次元位置)を算出することができる。ただし、オブジェクトの位置は、撮像装置12が設置されている設置面上の所定の位置を基準にして算出されたローカル座標系の3次元位置である(
図6(A)、
図7(A)参照)。たとえば、基準となる所定の位置は、カメラ20の光軸と設置面の交点に設定されるが、これに限定される必要はない。ただし、カメラ20の光軸と設置面の交点を基準にすると、オブジェクトの3次元位置の算出が比較的簡単である。また、ローカル座標系のX軸およびY軸の向きは、カメラ20の撮影面(撮像素子)のX軸(横)およびY軸(縦)の向きとそれぞれ一致される。
【0078】
図5(A)は、ユーザが指で、撮像装置12を設置した面をタッチした場合(タッチ時)の撮影画像の一例であり、
図5(B)は、ユーザが指で、撮像装置12を設置した面をタッチしていない場合(非タッチ時)の撮影画像の一例である。ただし、
図5(A)および
図5(B)においては、部分画像C1内の指の画像は一部のみを示してある。
【0079】
図5(A)に示すように、タッチ時では、部分画像C1に表示される指の画像が曲面ミラー30の画像の端部に触れている。また、
図5(B)に示すように、非タッチ時では、部分画像C1に表示される指の画像が曲面ミラー30の画像の端部から離れている。これは、上述したように、設置面と平行であり、この設置面に沿って進行する光が曲面ミラー30の端部で反射され、広角レンズ22を介して撮像素子に入射されるからである。
【0080】
次に、タッチ時および非タッチ時のそれぞれについて、ローカル座標系の3次元位置を算出方法について説明する。たとえば、ローカル座標系のXY平面は、撮像装置12を設置した設置面に設定され、その中心は撮影画像の中心すなわちカメラ20の光軸と設置面との交点に設定される。また、撮影画像の横方向がX軸に設定され、撮影画像の縦方向がY軸に設定される。そして、XY平面に対して垂直な方向にZ軸が設定される。
【0081】
図6(A)および
図6(B)は、撮像装置12の設置面をタッチしている場合(タッチ時)の部分画像C1および部分画像C2に設定されたローカル座標系および部分画像C1内のオブジェクトの画像(オブジェクト画像)の位置Uおよび部分画像C2内のオブジェクト画像の位置Tを示す。ただし、オブジェクト画像の位置は、撮像装置12の設置面に、接触している位置または最も接近している位置であり、具体的には、指先に相当する位置である。
【0082】
ここでは、簡単のため、オブジェクト画像の位置Uおよび位置TがX軸上である場合について説明する。ただし、位置Uおよび位置TがX軸上に無い場合には、設置面(XY平面)上の2次元座標については、X軸を基準として、X軸と位置Uおよび位置Tを通る直線とがなす角度(局座標の回転角)θを用いて表される。後述する
図7(A)、(B)についても同様である。
【0083】
また、ここでは、カメラ20の広角レンズ22に歪みが無いと仮定し、双曲面の曲面ミラー30に代えて円錐面の曲面ミラー30が設けられているものと仮定する。また、撮像装置12の設置面と、曲面ミラー30の端(最外周)の高さが同じであると仮定する。後述する
図7(A)、(B)についても同様である。なお、実際には、広角レンズ22や曲面ミラー30の歪みによって、撮影画像にも歪みが発生しているため、この歪みが補正された後に、3次元位置が算出される。ただし、3次元位置の算出を行うときに、歪み補正も行うようにしてもよい。したがって、歪みによる誤差を低減または無くして、オブジェクトの3次元位置を検出することができる。
【0084】
図6(A)に示すように、部分画像C1内のオブジェクト画像(位置U)が部分画像C1の端部に接触している場合には、上述したように、ユーザが指で設置面をタッチしていることが判定される。したがって、この場合には、オブジェクトのローカル座標系における高さ(Z座標)は0(z=0)である。
【0085】
この場合、ローカル座標系における3次元座標は、数1に従って算出される。ただし、上述したように、設置面をユーザが指でタッチしているため、Z座標は算出する必要はない。また、
図6(A)に示すように、ローカル座標系の原点(中心)から部分画像C2におけるオブジェクト画像の位置Tまでの長さをr(ピクセル)とし、中心から部分画像C2の外周までの長さをR(ピクセル)とする。また、
図6(B)に示すように、カメラ20の画角をαとし、画角αの基点である点Mから設置面までの距離(固定の長さ(高さ))h(mm)としてある。実際のオブジェクトの位置Tまでの距離p(mm)が算出され、これを用いてオブジェクトの3次元位置が算出される。
【0087】
ただし、上述したように、この実施例のカメラ20の画角αは180度であるが、これをそのまま使用すると、数1においては、距離p(mm)が無限大になってしまうため、たとえば、αは179度またはこの近傍の値(180度未満の値)に設定される。ただし、撮像装置12が設置された設置面の範囲内だけでオブジェクトの位置を算出する場合には、この設置面の大きさ(たとえば、机の広さ)に応じてαの値を適宜設定してもよい。したがって、画角αは180度に限定される必要はない。
【0088】
図7(A)に示すように、部分画像C1内のオブジェクト画像(位置U)が部分画像C1の端部に接触していない場合には、上述したように、ユーザが指で設置面をタッチしていないことが判定される。この場合には、
図7(A)および
図7(B)に示すように、実際の(現実空間における)オブジェクトの位置Tよりも中心から離れているように写る。かかる場合には、数2に従ってオブジェクトの3次元位置が算出される。ただし、部分画像C1の半径(中心からミラー画像の端部までの距離)をb(ピクセル)とし、部分画像C1におけるオブジェクト画像の位置Uと部分画像C1の端部の距離をa(ピクセル)とする。また、曲面ミラー30の高さをd(mm)とし、部分画像C1における中心から部分画像C2における見かけのオブジェクト画像の位置T´までの距離をr´(ピクセル)とし、そして、部分画像C1における中心から部分画像C2における見かけのオブジェクト画像の位置T´までの距離をp´(mm)としてある。
【0090】
このように、オブジェクトが撮像装置12の設置面に接触している場合と接触していない場合とで、当該オブジェクトのローカル座標系における3次元位置の算出方法が異なる。この実施例では、このような算出処理は、撮像装置12からの撮影画像データを受信したコンピュータ14で実行される。
【0091】
なお、撮影命令は、コンピュータ14から撮像装置12に与えられ、これに応じて、撮像装置12は撮影処理を実行し、撮影画像に対応する撮影画像データをコンピュータ14に送信する。また、コンピュータ14からの撮影命令によらず、撮像装置12において所定時間毎に撮影処理を実行し、撮影画像に対応する撮影画像データをコンピュータ14に送信してもよい。
【0092】
また、この実施例では、部分画像C1(撮影画像)の中心を基準位置として、ローカル座標系におけるオブジェクトの3次元座標を算出するようにしてあるが、基準位置は部分画像Cの外周上の点、すなわち部分画像C1と部分画像C2の境界上の点であってもよい。このとき、部分画像C1の外周上の点のうち、オブジェクト画像の位置Uと最短距離となる点の位置が基準位置となる。また、同様に、部分画像C1に含まれるカメラ20自体の画像の外周上の点の位置が基準位置に設定されてもよい。
【0093】
図8は
図1に示したコンピュータ14に内蔵されるRAM14bのメモリマップ300の一例を示す。
図8に示すように、RAM14bは、プログラム記憶領域302およびデータ記憶領域304を含む。
【0094】
プログラム記憶領域302には、情報処理プログラムが記憶され、情報処理プログラムは、通信プログラム302a、画像取得プログラム302b、歪み補正プログラム302c、接触判定プログラム302dおよび位置検出プログラム302eなどを含む。
【0095】
通信プログラム302aは、撮像装置12や他のコンピュータと通信するためのプログラムである。画像取得プログラム302bは、撮像装置12から送信される撮影画像データを受信して、データ記憶領域304に記憶するためのプログラムである。
【0096】
歪み補正プログラム302cは、撮影画像の歪みを補正するためのプログラムである。広角レンズ22による歪みや曲面ミラー30による歪みを補正する処理であり、画素の位置が補正される。補正するための係数は、画素単位で、使用する広角レンズ22および曲面ミラー30に応じて予め試験等により経験的に得られている。
【0097】
接触判定プログラム302dは、オブジェクトが撮像装置12の設置面に接触しているかどうかを判定するためのプログラムである。なお、詳細な説明は省略するが、たとえば、撮像装置12が設置面に設置されたときに、オブジェクトが写り込まない状態で撮影画像(ここでは、「基準画像」という)を取得しておき、オブジェクトが撮像装置12の周囲に存在するかどうか(オブジェクトの有無)は、予め取得しておいた基準画像と、その後に撮影される撮影画像との差分により、検出することができる。ただし、この実施例では、ユーザの指の位置を算出するので、肌色検出により、オブジェクト(指)の有無を検出するようにしてもよい。
【0098】
位置検出プログラム302eは、撮像装置12の周囲に存在するオブジェクトの現実空間における3次元位置を算出するプログラムである。上述したように、位置検出プログラム302eは、接触判定プログラム302dの判定結果に応じて、ローカル座標系の3次元位置を算出する。
【0099】
図示は省略するが、プログラム記憶領域302には、コンピュータ14で実行される各種のアプリケーションについてのプログラムが記憶される。
【0100】
データ記憶領域304には、撮影画像データ304a、位置データ304bおよび基準画像データ304cが記憶される。
【0101】
撮影画像データ304aは、撮像装置12から受信した撮影画像データまたは受信した撮影画像データを歪み補正した撮影画像データである。位置データ304bは、撮影画像データに基づいて算出した撮像装置12の周囲に存在するオブジェクトの3次元位置についての位置(座標)データである。したがって、複数のオブジェクトが撮像装置12の周囲に存在する場合には、各オブジェクトについて3次元位置が算出され、オブジェクト毎の位置データが記憶される。基準画像データ304cは、上述した基準画像に対応する画像データである。
【0102】
なお、図示は省略するが、データ記憶領域304には、情報処理プログラム等のプログラムを実行するために必要な、他のデータが記憶されたり、フラグやタイマ(カウンタ)が設けられたりする。
【0103】
図9および
図10は、
図1に示したコンピュータ14に内蔵されるCPU14aの位置算出処理の一例を示すフロー図である。
図9に示すように、CPU14aは、位置算出処理を開始すると、ステップS1で、撮影画像を取得する。つまり、CPU14aは、撮像装置12から送信された撮影画像データを受信して、データ記憶領域304に記憶する。
【0104】
次のステップS3では、撮影画像の歪みを補正する。したがって、データ記憶領域304に記憶された撮影画像データは、歪みを補正されて、更新される。次のステップS5では、オブジェクトを検出する。ここでは、基準画像と撮影画像との差分からオブジェクトが検出される。ただし、複数(N個)のオブジェクトが検出された場合には、これ以降の処理において、各オブジェクトは識別可能に管理される。たとえば、各オブジェクトに、識別情報として、シリアルの番号(1、2、…、N)が付される。
【0105】
なお、基準画像に対応する基準画像データ304cは、予め取得され、データ記憶領域304に記憶されている。
【0106】
続くステップS7では、オブジェクトが有るかどうかを判断する。ステップS7で“NO”であれば、つまりオブジェクトが無ければ、そのまま位置算出処理を終了する。一方、ステップS7で“YES”であれば、つまりオブジェクトが有れば、ステップS9で、変数iを初期化する(i=1)。
【0107】
続いて、
図10に示すステップS11では、ミラー画像(部分画像C1)に基づいて、オブジェクトiが設置面に接触しているかどうかを判定する。つまり、CPU14aは、着目しているオブジェクトiのオブジェクト画像が部分画像C1の端部(外周)に接しているかどうかを判断する。
【0108】
次のステップS13では、判定結果が接触であるかどうかを判断する。ステップS13で“YES”であれば、つまりオブジェクトiが設置面に接触している場合には、ステップS15で、ミラー画像外の画像(部分画像C2)に基づいて、オブジェクトiの3次元位置を算出する。ここでは、CPU14aは、数1に従って、オブジェクトiの3次元位置を算出する。ただし、オブジェクトiは設置面に接触しているため、Z座標(高さ)は0である。このとき、算出された3次元位置の位置データは、当該オブジェクトiの識別情報に関連付けて、データ記憶領域304に記憶される。後述するステップS17においても同じである。
【0109】
一方、ステップS13で“NO”であれば、つまりオブジェクトiが設置面に接触していない場合には、ステップS17で、ミラー画像(部分画像C1)とミラー画像外の画像(部分画像C2)に基づいて、オブジェクトiの3次元位置を算出する。ここでは、CPU14aは、数2に従って、オブジェクトiの3次元位置を算出する。
【0110】
そして、ステップS19で、変数iがN以上である(i≧N)かどうかを判断する。つまり、CPU14aは、すべてのオブジェクトiについて、接触判定を行うとともに、3次元位置を算出したかどうかを判断する。
【0111】
ステップS19で“NO”であれば、つまり変数iがN未満であれば、ステップS21で、変数iを1加算して(i=i+1)、次のオブジェクトiについてステップS11−S17の処理を実行する。一方、ステップS19で“YES”であれば、つまり変数iがN以上であれば、位置算出処理を終了する。
【0112】
なお、
図9および
図10に示した位置算出処理は、アプリケーションからの要求に応じて実行されたり、所定の時間間隔で実行されたりする。また、コンピュータ14(CPU14a)は、位置算出処理の実行に先立って、撮像装置12に撮影命令を送信することがある。
【0113】
この実施例によれば、広角レンズを備えるカメラに対向して曲面ミラーを配置し、カメラの撮影画像に含まれるミラー部の画像とそれに隣接するミラー部外の画像の境界が撮像装置を設置した設置面に相当するので、ミラー部の画像におけるオブジェクトが当該画像の端部(外周)すなわち境界に接触しているかどうかに応じて、適切な算出方法でオブジェクトの3次元位置を算出することができる。
【0114】
また、この実施例によれば、オブジェクトが撮像装置の設置面に接触しているかどうかを判定するので、ユーザの指で設置面をタッチしているかどうかを判定することができる。かかる場合には、撮像装置およびコンピュータを含む情報処理システムをポインティングデバイスとして使用することができる。
【0115】
なお、この実施例では、撮像装置から撮影画像データを外部のコンピュータに送信し、当該コンピュータで接触の判定および位置の算出を行うようにしたが、これに限定される必要はない。CPU100の処理能力およびRAM106の容量が十分であれば、接触の判定および位置の算出を撮像装置12(カメラユニット12a)で行うようにしてもよい。かかる場合には、単体の撮像装置12(カメラユニット12a)が情報処理装置として機能する。また、かかる場合には、上述したような情報処理プログラムやデータ等はRAM106に記憶され、
図9および
図10に示した位置算出処理がCPU100によって実行される。
【0116】
また、この実施例では、撮像装置とコンピュータが無線または有線で通信可能に接続される旨を説明したが、これらはインターネットのようなネットワークを介して接続されてもよい。かかる場合には、コンピュータは、複数の撮像装置から撮影画像データを取得して、各撮像装置について、接触の判定および位置の算出を行うようにしてもよい。
【0117】
さらに、この実施例では、撮像装置が配置される環境が照明されていることを前提としたが、暗所においてもオブジェクトおよびオブジェクトの位置を検出できるように、ミラー部12bおよび撮像装置12の設置面に白色光を照明する照明装置を撮像装置に設けるようにしてもよい。
【0118】
さらにまた、この実施例では、CCDやCMOSのような撮像素子を用いたカメラを用いる場合について説明したが、これに限定される必要はない。たとえば、IRカメラを用いることもできる。IRカメラを用いる場合には、撮像装置の周囲に存在するオブジェクトおよびオブジェクトの位置を検出する場合に、撮像装置が設置される場所の明るさによる影響を低減することができる。また、IRカメラがミラー部12bおよび撮像装置12の設置面に赤外線を放射するIR−LEDを備えるようにすれば、暗所においても撮像装置の周囲に存在するオブジェクトおよびオブジェクトの位置を検出することができる。
【0119】
また、この実施例では、撮像装置の設置面と、曲面ミラーの端(最外周)の高さが同じであると仮定して説明したが、これに限定される必要はない。撮像装置の設置面と曲面ミラーの端の高さが異なる場合には、指の画像が曲面ミラーの画像(部分画像C1)において予め設定している基準線(部分画像C1と部分画像C2の境界とは異なる)に触れているか否かで、ユーザの指が設置面に接触(タッチ)しているかどうかを判定するようにしてもよい。
【0120】
さらに、この実施例では、撮像装置12を机上のような水平の設置面上に置くようにしたが、これに限定される必要はない。撮像装置12は、壁面やホワイトボードのような垂直の面に引っ付けてもよい。たとえば、壁面やホワイトボードには、両面テープやマグネットを用いて貼り付ければ(設置すれば)よい。たとえば、マグネットを用いる場合には、固定部材32をマグネットで構成すればよい。このようにすれば、壁面やホワイトボードのような垂直な面に対するオブジェクトの接触の有無や当該面をXY平面とした場合のオブジェクトの3次元位置を算出(検出)することができる。
【0121】
さらにまた、この実施例では、撮像装置を曲面ミラー側が設置面に設置されるように配置する場合に、全周に亘って設置面に平行な光を反射するようにしたが、これに限定される必要はない。曲面ミラーの一部(たとえば、1/4周、半周など)で設置面に平行な光を反射するように、カメラと曲面ミラーとの位置関係および曲面ミラーの形状が決定されてもよい。たとえば、設置面に平行な光を反射する部分が曲面ミラーの1/4周である場合には、その部分以外の部分をホワイトボードのいずれか1つの角部に合わせるように撮像装置を設置すれば、撮影画像に基づいて、ホワイトボード上のオブジェクトの有無やオブジェクトの位置を検出することができる。また、設置面に平行な光を反射する部分が曲面ミラーの半周である場合には、その部分以外の部分をホワイトボードのいずれかの辺の外側に向けるように撮像装置を当該辺上または当該辺の近傍に設置すれば、撮影画像に基づいて、ホワイトボード上のオブジェクトの有無やオブジェクトの位置を検出することができる。
【0122】
また、この実施例では、オブジェクトとしてユーザの指を検出するようにしたが、これに限定される必要はない。たとえば、
図11に示すように、フィギュアのような他のオブジェクトを検出するようにしてもよい。ただし、
図11では、一例として、2つのフィギュア200、202が撮像装置12の周囲に配置されている。撮影画像を用いて、オブジェクトの有無を判断する方法、オブジェクトが設置面に接触しているかどうかを判定する方法およびオブジェクトの位置を算出する方法は、上記の実施例と同様である。ただし、オブジェクトの有無を判断する場合には、撮影画像において、フィギュア(200、202)の色または模様の有無を検出するようにすればよい。ただし、色または模様に代えて、または、これらとともに、フィギュア(200、202)に付された特定の文字や図形を撮影画像から認識して、フィギュア(200、202)の有無を検出するようにしてもよい。また、特定の色、模様、文字または図形或いはこれらのいずれか2つ以上の組み合わせを認識することにより、フィギュア(200、202)の種類を特定することもできる。
【0123】
さらに、
図12に示すような用紙210を用いることにより、情報処理システム10をユーザインターフェイス(UI)として使用することができる。たとえば、用紙210には、操作ボタンに相当するボタン図柄が描画されている。また、撮像装置12および用紙210の向きおよび位置は、予め決定された相対的な向きおよび位置に設定される。上述の実施例で示したように、コンピュータ14は、ユーザの指が撮像装置12の設置面に接触したかどうかを判定する。コンピュータ14は、接触したことを判定すると、接触している指の位置を算出して、用紙210上のタッチされたボタン図柄を判定する。そして、コンピュータ14は、ユーザの指が接触していることが判断されたボタン図柄(操作ボタン)に設定されたコマンドをアプリケーションに出力する。
【0124】
また、用紙210に描画する内容を変えることにより、他のUIとして使用することもできる。たとえば、仮想のゲーム空間で実行されるロールプレイングゲームのマップと同様のマップを用紙210に描画し、用紙210上に
図11に示したようなフィギュア(200、202)を配置したり、用紙210上でフィギュア(200、202)を移動させたりする。コンピュータ14は、用紙210上におけるフィギュア(200、202)の位置を算出して、算出した位置を仮想のゲーム空間におけるプレイヤキャラクタなどのキャラクタの位置に反映する。
【0125】
また、
図13に示すように、専用のディスプレイ220を設けて、当該ディスプレイ220を用いてタッチ操作を実行することもできる。ただし、
図13では、異なる2人のユーザの手を図示してある。たとえば、ディスプレイ220は、コンピュータ14に接続され、CPU14aの指示の下、コンピュータ14に内蔵される表示コントローラによって表示を制御される。
図13に示す例のディスプレイ220は、円筒形状に形成され、撮像装置12上に設置される。たとえば、ディスプレイ220の表示領域を分割せずに、1人のユーザまたは複数のユーザで使用することができる。また、ユーザの数に応じてディスプレイ220の表示領域を分割して個別に使用することもできる。
【0126】
また、
図14に示すように、撮像装置12に、ディスプレイ(230a、232a)を着脱可能に設けるようにしてもよい。ただし、
図14では、異なる2人のユーザの手を図示してある。たとえば、
図14に示す例では、スマートフォンやタブレットPCのような、ディスプレイ(230a、232a)が一体型の電子機器(以下、「携帯端末」という)(230、232)が撮像装置12上に設置される。携帯端末(230、232)は、コンピュータ14と通信可能であり、コンピュータ14から送信される操作データに従ってアプリケーションの処理を実行し、実行結果をディスプレイ(230a、232a)に表示する。つまり、この場合には、撮像装置12およびコンピュータ14で構成される情報処理システム10が共通のポインティングデバイスとして使用され、コンピュータ14はユーザ毎のタッチ操作を検出して、検出したタッチ操作に応じた操作データを対応する携帯端末に送信(入力)するのである。つまり、かかる場合には、情報処理システム10を携帯端末(230、232)の入力装置として用いることができ、携帯端末(230、232)の画面の全体を見ながら入力することができる。
【0127】
ただし、複数のユーザで情報処理システム10(撮像装置12)を共通に使用するため、使用に先立って、ユーザと携帯端末(230、232)とを対応付ける処理が必要である。
【0128】
さらに、
図15(A)に示すように、電気的な構成を有していない樹脂性の操作部240を用いることにより、情報処理システム10をコントローラとして使用することもできる。たとえば、操作部240には、ハンドル240aおよびレバー240bが設けられ、
図15(A)に示す操作部240の背面側には、
図15(B)に示すような表示窓240cが設けられる。
図15(B)に示すように、ハンドル240aの操作に連動して左右に移動するマーカ242が操作部240の筐体内であって、表示窓240cが設けられる位置に配置される。具体的には、ユーザがハンドル240aを右に切ると、
図15(B)において、マーカ242が右に移動される。したがって、表示窓240cを通して見えるマーカ242の長さが短くなる。一方、ユーザがハンドル240aを左に切ると、
図15(B)において、マーカ242が左に移動される。したがって、表示窓240cを通して見えるマーカ242の長さが長くなる。コンピュータ14は、撮像装置12で撮影される撮影画像のうち、表示窓240の縦方向の長さに対する、表示窓240cを通して見えるマーカ242の縦方向の長さに応じて、ハンドル240aが左右のどちらにどの程度切られているか(回転角度)を知ることができる。
【0129】
図示は省略するが、レバー240bについても同様に、その傾きに連動して上下に移動するマーカ(マーカ242とは異なる)が操作部240の内部に設けられる。このマーカも表示窓(表示部240cとは異なる)を通して見える。したがって、レバー240bの傾き方向および傾き量についても撮影画像から知ることができる。
【0130】
したがって、コンピュータ14は、撮影画像から、ハンドル240aを切っている方向および切っている量を検出するとともに、レバー240bの傾き方向および傾き量を検出して、検出した情報をカーレースゲームのようなアプリケーションに与える。たとえば、操作部240を用いると、情報処理システム10によって、タッチ操作以外の操作を行うことができる。また、操作部240に電気的な構成を設ける必要がないため、電池(一次電池または二次電池)を内蔵するなどの電力供給が不要である。
【0131】
また、
図16(A)に示す例では、撮像装置12が上述の実施例で示した場合と上下逆向きに設置面に設置される。このようにしても、180度の画角を有するカメラ20を備えるので、撮影画像に基づいて、ユーザが設置面をタッチしているかどうかを判定することができる。これは、カメラ20の画角が180度であり、水平な設置面に撮像装置12を置いた場合に、当該設置面に平行な方向の光を撮影(取得)することができるからである。
【0132】
たとえば、
図16(A)に示すように、ユーザが設置面をタッチすると、
図16(B)に示すような撮影画像が得られる。この場合には、ユーザが設置面をタッチしたかどうかは、部分画像C2において、ユーザの指の画像が部分画像C2の端部(外周)に接しているかどうかで判断される。
【0133】
図16(B)は、ユーザが撮像装置12の設置面をタッチしている場合の撮影画像の位置を示す。部分画像C2には、ユーザの指先に相当する部分の画像は撮影されない。これは、
図16(A)に示すように、カメラユニット12aの厚みの分だけ、カメラ20の撮影範囲が設置面の上方に平行移動されるからである。
【0134】
したがって、厳密に言うと、ユーザの指が設置面にタッチしたかどうかを判定することはできない。このため、
図16(A)に示した状態で撮像装置12を使用する場合には、コンピュータ14は、部分画像C2の端部に指の画像が接したことによって、ユーザが設置面にタッチしたと判定するようにしてある。このように、上述の実施例とは逆向きに撮像装置12を設置した場合であっても、タッチの有無を判定することができる。
【0135】
また、
図16(A)に示すように、撮像装置12を設置した場合においても、曲面ミラー30の端部には設置面に平行な光線が入射されるため、部分画像C1と部分画像C2の境界(部分画像C1の端部)に接触するオブジェクト画像が存在する場合には、設置面に平行な面に接触するオブジェクトが存在することを検出することができる。したがって、たとえば、
図11に示したようなフィギュア(200、202)が置かれていることは、部分画像C1に基づいて判断することもできる。
【0136】
また、上述の実施例では、双曲面の曲面ミラー30を用いるようにしたが、これに限定される必要はない。たとえば、
図17(A)−(D)に示すように、楕円面、円錐面または複合面の曲面ミラー(30a、30b、30c)を用いることもできる。
【0137】
上述の実施例で示した双曲面の曲面ミラー30は、その端で撮像装置12の設置面と平行な光線になるように設計し、当該設置面よりも上空のものが曲面ミラー30に映り込むことになる。したがって、双曲面の曲面ミラー30は、
図11で示したようなフィギュア(200、202)など、設置面上に配置された立体物を認識したい場合に有効である。
【0138】
図17(A)に示す楕円面の曲面ミラー30aは、双曲面の曲面ミラー30の場合と同様に、曲面ミラー30aの端で設置面と平行な光線になるように設計すると、設置面を俯瞰するように曲面ミラー30aに像が映り込むことになる。そのため、設置面上の平らなオブジェクト(たとえば、カードや
図12に示した用紙210)を読み取る際には有効である。
【0139】
また、
図17(B)に示す円錐面の曲面ミラー30bは、平坦な斜面を有するため、高さ方向に歪みが発生しない。このため、上述の実施例でも説明したように、曲面ミラー30bの反射像から測定点(たとえば、指先)の高さを算出するのが簡単である。ただし、円錐面の曲面ミラー30bについても、その端で撮像装置12の設置面と平行な光線になるように設計される。
【0140】
このように、想定される使用状況に応じて、双曲面、楕円面または円錐面のいずれかを選択して撮像装置12を構成することになるが、
図17(C)および
図17(D)に示すように、曲面を合成(複合)することも可能である。
【0141】
図17(C)に示す複合面の曲面ミラー30cでは、設置面(固定部材32)付近では双曲面であり、カメラ20の方向に突出する(上方に向かう)に従って楕円面となるように、曲面が合成される。このようにすれば、双曲面の場合の利点と楕円面の場合の利点を有する曲面ミラー30cが形成される。ただし、これは一例であり、同じ複合面の曲面ミラー30cであっても、
図17(D)に示すように、設置面付近と上方で、異なる角度で傾斜する円錐面を合成してもよい。
【0142】
また、上述の実施例では、全方位を撮影可能なカメラ20を設けるようにしたが、一方向を撮影するカメラであっても、同様に、タッチの有無を検出することができる。
図18(A)は、携帯電話機のようなカメラ付きの携帯端末250を充電台260に置いた状態を示す。ただし、
図18(A)では、携帯端末250の筐体の一部および筐体内に設けられるカメラ252のみを示し、充電台260についても筐体の一部および筐体内に設けられるミラー262aおよびミラー262bのみを示してある。
【0143】
図18(A)に示すように、携帯端末250は充電台260に横にして載置される。このとき、カメラ252は、たとえば、携帯端末250の底面から水平方向を撮影する。また、充電台260の筐体の一部には、この充電台260を設置した設置面に平行な光をカメラ252で撮影するための開口260aが形成され、開口260aの近傍には、上記の平行な光をカメラ252の画角内に導くためのミラー262aおよびミラー262bが配置される。また、充電台260の筐体の他の一部には、この充電台260に装着(載置)した携帯端末250のカメラ252の撮影方向と対向する位置に開口260bが形成される。
【0144】
たとえば、開口260aは、
図18(A)に示す状態において、ミラー262aの下端部からミラー262bの下端部までの縦幅を有し、横幅はカメラ252の水平方向の画角によって決定される。また、開口260bは、ミラー262bで反射された光をカメラ252に導く大きさに決定される。さらに、
図18(A)からも分かるように、ミラー262aおよびミラー262bは、いずれも平面のミラーであり、反射面が互いに対向するように配置される。
【0145】
図18(A)に示すような構成では、カメラ252の画角の略下半分において、ミラー262aおよびミラー262bで反射された光が入射される。また、カメラ252の画角略上半分においては、充電台260の筐体で撮影方向が遮蔽されていないため、直接光が入射される。したがって、カメラ250では、
図18(B)に示すように、ミラー262bに相当する部分の部分画像C1およびミラー262bに相当しない部分の部分画像C2を含む撮影画像が撮影される。ただし、
図18(B)では、指の画像以外の画像については省略してある。また、
図18(B)では、簡単のため、部分画像C2を斜線で示してあるが、
図18(A)に示すような状況においては、たとえば、部分画像C2には、指の第2関節から指の付け根についての画像が含まれる。
【0146】
図18(B)に示すように、撮影画像のうち、部分画像C1(撮影画像)の下端部が充電台260を設置している設置面に相当し、部分画像C1の下端部に指の画像が接触している場合に、設置面にタッチしていることが判定される。また、部分画像C1の下端部に指の画像が接触していない場合には、設置面にタッチしていないことが判定される。
【0147】
この場合、携帯端末250および充電台260が、上述の実施例で示した撮像装置12として機能する。
【0148】
なお、たとえば、所定の位置をタッチしている場合に、カメラ252で撮影された撮影画像において、部分画像C1の指の画像の大きさ(指の太さ)や部分画像C2の指の画像の大きさ(指の太さ)を予め検出しておく。そして、今回の撮影画像から上記の所定の位置を基準としてカメラ252側から見た場合の指の左右の位置を検出し、また、今回の撮影画像における指の画像の大きさと比較することによって、上記の所定の位置を基準としてカメラ252側から見た場合の指の奥行き方向の位置を検出することができる。
【0149】
また、
図19(A)に示すように、携帯電話機のような携帯端末270を縦置きで充電台280に挿し込んでいる場合にも、
図18(A)および
図18(B)に示した場合と同様に、タッチの有無を検出することができる。ただし、
図19(A)では、携帯端末270の概略を示し、充電台280については筐体の一部および筐体内に設けられる曲面ミラー282および広角レンズ284のみを示してある。
【0150】
図19(A)に示すように、携帯端末270は充電台280に縦(少し斜め向き)にして挿し込まれる。このとき、カメラ272(
図19(A)ではレンズのみを示す)は、たとえば、携帯端末270の底面から下向きに撮影する。また、充電台280の筐体の一部には、この充電台280を設置した設置面に平行な光をカメラ272で撮影するための開口270aが形成される。また、筐体の内部には、上記の平行な光をカメラ272に導くための曲面ミラー282が設けられる。また、筐体の内部には、携帯端末270を充電台280に挿し込んだ場合に、カメラ272の画角を拡大するための広角レンズ284が設けられる。
【0151】
たとえば、開口280aは、
図19(A)に示す状態において、充電台280の筐体内部の底面から天井面までの縦幅を有し、充電台280の横幅(
図19(A)では、紙面に対して垂直な方向の幅)と略同じ幅の横幅を有している。
【0152】
図19(A)に示すような構成では、
図19(B)に示すように、曲面ミラー282の部分の部分画像C1と曲面ミラー282以外の部分の部分画像C2とを含む撮影画像がカメラ272で撮影される。
図19(B)に示すように、部分画像C1と部分画像C2の境界が充電台270を設置した設置面に相当する。ただし、
図19(B)では、指の画像以外の画像については省略してある。
【0153】
したがって、部分画像C1において、部分画像C2との境界(部分画像C1の下端部)に指の画像が接触している場合に、ユーザの指が設置面にタッチしていることが判定される。また、部分画像C1の下端部に指の画像が接触していない場合には、ユーザの指が設置面にタッチしていないことが判定される。
【0154】
また、
図19(B)に示す撮影画像において、部分画像C2の指の画像の先端と部分画像C1との境界までの距離が、
図19(A)における指先と曲面ミラー282の下端までの距離に相当する。
【0155】
したがって、上述の実施例で示した場合と同様に、部分画像C1および部分画像C2を用いて、タッチしているか否かを判定し、判定結果に応じて指の位置を算出することができる。
【0156】
この場合、携帯端末270および充電台280が、上述の実施例で示した撮像装置12として機能する。
【0157】
なお、
図19(A)および
図19(B)に示す例では、曲面ミラー282を用いるようにしたが、平面ミラーを用いるようにしてもよい。
【0158】
また、上述の実施例では、曲面ミラー30を用いて全方位を撮影可能な撮像装置12を構成した場合について説明したが、他の実施例として、プロジェクタ装置16を構成することも可能である。
【0159】
図20(A)に示すように、プロジェクタ装置16は、プロジェクタユニット16a、ミラー部16bおよびこれらを固定する固定部材16cによって構成され、プロジェクタユニット16aおよびミラー部16bによって両端部が閉じられた円筒形状に形成される。
【0160】
プロジェクタユニット12aは、上面視で円形に形成され、RGBの三原色をそれぞれ発光する光源および当該光源を駆動する駆動装置を備え、これらを含む電子部品が筐体内に収納される。プロジェクタユニット16aのブロック図は省略するが、
図3に示したカメラユニット12aのブロック図において、カメラ20を駆動装置に置き換えて、駆動装置に光源を接続すればよい。
【0161】
曲面ミラー50は、プロジェクタユニット16a側に突出し、楕円面を有している。固定部材16cは、円筒形状であり、透明の樹脂またはガラスで形成される。固定部材16cの高さ(長さ)は、所定の長さに決定される。たとえば、プロジェクタ装置16を所定の面上に置いた場合に、当該所定の面に所望の画像を投影するように、プロジェクタユニット16a(光源)と曲面ミラー50との位置関係および曲面ミラー50の形状(面の形状)が決定される。したがって、このような位置関係となるように、固定部材16cの高さが決定される。
【0162】
ただし、
図20(A)に示す例では、プロジェクタユニット16aには、広角レンズ40が設けられるため、プロジェクタ装置16の周囲(円筒の側面方向)にも画像を投影することができる。つまり、プロジェクタ装置16は、自身が設置された設置面と、この設置面と交差する面に、画像を投影することができる。
【0163】
たとえば、ホストコンピュータであるコンピュータ14から投影するための画像データ(以下、「投影画像データ」という)を送信することにより、プロジェクタ装置16がこれを受信して、投影画像データに対応する画像を投影することができる。ただし、プロジェクタ装置16内のROM(フラッシュメモリなどでもよい)に予め投影画像データを記憶しておくことにより、この予め記憶しておいた投影画像データに対応する画像を投影することもできる。したがって、プロジェクタ装置16およびコンピュータ14を備える情報処理システムが構成されたり、プロジェクタ装置16が情報処理システムとして機能したりする。
【0164】
また、
図20(B)に示すように、上述の実施例で示した撮像装置12と、
図20(A)に示したプロジェクタ装置16とを含む電子機器60を構成することも可能である。
図20(B)に示す例では、撮像装置12上にプロジェクタ装置16が設置される。たとえば、撮像装置12のカメラ20の光軸とプロジェクタユニット16aの光源の光軸とは一致される。また、撮像装置12およびプロジェクタ装置16は、それぞれ、コンピュータ14と通信可能に接続される。つまり、コンピュータ14と電子機器60を備える情報処理システムが構成される。
【0165】
このような情報処理システムでは、たとえば、
図12に示したような用紙210に代えて、ボタンの図柄をプロジェクタ装置16によって電気機器60の設置面に投影することができる。そして、コンピュータ14は、撮像装置12の撮影画像を取得し、この撮影画像に基づいて、ユーザがタッチした位置を検出し、タッチしたボタン図柄を決定して、決定したボタン図柄(操作ボタン)に設定されたコマンドをアプリケーションに出力する。したがって、電子機器60およびコンピュータ14によってコントローラが実現される。
【0166】
また、ボタンの図柄に代えて、ゲームマップをプロジェクタ装置16によって設置面に投影し、設置面上で
図11に示したようなフィギュア(200、202)を移動させるようにしてもよい。かかる場合には、撮像装置12の撮影画像からゲームマップ上のフィギュア(200、202)の位置を算出して、アプリケーション(ゲーム)の処理に反映することもできる。