以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.位相シフト法
2.第1の実施の形態(投影制御と対応点検出)
3.第2の実施の形態(投影撮像装置)
4.第3の実施の形態(応用例)
<1.位相シフト法>
<アクティブステレオセンシングの対応点検出>
近年、複数台のプロジェクタを利用し、非平面(複数平面からなる立体面やプラネタリウムのような曲面、さらには室内や建築物のようなより複雑な形状)へ映像を投影する技術が非常に注目を浴びている。例えば、このような投影の場合、投影対象の形状に合わせて幾何補正等を行い投影する必要がある。また、プロジェクタを投影面に対して任意の姿勢で設置しても幾何補正等によって投影画像の歪みを低減させる技術が考えられた。
従来、このような幾何補正等のために、プロジェクタにより投影面に投影された投影画像をカメラで撮像する方法があった。この方法の場合、カメラにより得られた投影画像の撮像画像を用いて、投影する画像に対する補正が行われる。
このような投影画像の撮像画像を用いて補正を行う方法の場合、正しく補正を行うために、プロジェクタが投影した投影画像と、カメラにより得られた撮像画像との間(つまり、プロジェクタの画素とカメラの画素との間)で対応点を予め検出しておく必要がある。この対応点の検出方法として、多種多様な手法が提案されてきているが、大枠の分類として、信号レベルの観点から粗く量子化した離散値を利用するかアナログ的な連続値を利用するという違いがあり、さらに投影画像内に一意に識別可能なパターンを埋め込む空間codingか時間的な変化によってパターンを埋め込む時間codingの違いに分けられる。
離散値+空間codingを利用したものは、離散的であることにより信号の分離が簡単でノイズに強いが、パターンマッチングが発生するため信号処理としては負荷が非常に高く、さらに対応点の取得が疎になることやオクルージョンによる誤認識が発生する。
離散値+時間codingを利用したものは、ノイズに強く、画素ごとの時間変化を見るだけで信号処理が軽いが、対応点を密に取得するには投影画像枚数が非常に多くなってしまう。
連続値+時間codingを利用したものは、ノイズやデバイスの入出力応答特性などに影響を受けやすいが、対応点を密に取得することができ、また投影画像枚数は比較的少なく、信号処理としても負荷が低い。
この連続値+時間codingを利用する手法として、位相シフト法(PS(Phase-Shift))やマルチ位相シフト法(MPS(Multi-Phase-Shift))が考えられた。位相シフト法やマルチ位相シフト法は、上述した特徴を持つことから、上述したプロジェクタ・カメラシステムの他、業務用の3次元計測機器など、近距離で高精度な物体形状計測が必要とされる場面においても利用されている。
<位相シフト法の概要>
以下に、位相シフト法の概要を説明する。位相シフト法では、図1に示されるように、所定の方向の輝度の正弦波パターン(所定の方向に正弦波のパターンで変化する輝度のパターン)がプロジェクタ(PJ)11により投影面13に投影され、その投影面13に投影された投影画像がカメラ(CAM)12により撮像され、その投影画像の撮像画像を用いて対応点が検出される。
<対応点検出>
まず水平方向の輝度の正弦波パターンを用いて処理が行われる。プロジェクタ11は、例えば、図2のAに示される正弦波パターン21−1(k=0)、正弦波パターン21−2(k=1)、正弦波パターン21−3(k=2)のように、水平方向に輝度が互いに同一の周期で正弦波状に変化する、互いの位相差が120度の(互いの位相が120度ずれている)3パターンを投影する。以下においてこれらを区別して説明する必要が無い場合、正弦波パターン21と称する。
プロジェクタ11の各画素を(x
pj,y
pj)とし、この正弦波パターン21をI
pj,kとし、正弦波パターン21の最大画素値をx
pj,maxとし、各正弦波パターン21における正弦波の本数(繰り返し回数)をNとすると、この正弦波パターン21における画素(x
pj,y
pj)の画素値I
pj,k(x
pj,y
pj)は、以下の式(1)のように表すことができる。
・・・(1)
ここで、座標x
pjにおける位相φ(x
pj)は、以下の式(2)のように表すことができる。
・・・(2)
ただし、k=0,1,2
I
pj,k(すなわち、I
pj,0,I
pj,1,I
pj,2)
カメラ12は、これらの正弦波パターン21の投影画像を撮像し、例えば、図2のBに示される撮像画像22−1(k=0)、撮像画像22−2(k=1)、撮像画像22−3(k=2)を得る。以下において、これらを区別して説明する必要が無い場合、撮像画像22と称する。このカメラ12で撮像した撮像画像22の画素値をI
cam,k(すなわち、I
cam,0,I
cam,1,I
cam,2)とし、カメラ12の各画素を(x
cam,y
cam)とすると、各画素(x
cam,y
cam)における撮像画像22の画素値I
cam,k(x
cam,y
cam)を用いて、各画素(x
cam,y
cam)における位相φ'(x
cam,y
cam)を、以下の式(3)乃至式(5)のように求めることができる。
・・・(3)
・・・(4)
・・・(5)
このカメラ12の各画素における位相の分布は、図2のCに示される位相分布23のようになる。つまり、正弦波パターン21における正弦波の繰り返しに対応して、0乃至2πの位相分布が水平方向にN回繰り返される。
次に垂直方向の輝度の正弦波パターンを用いて同様の処理が行われる。プロジェクタ11は、例えば、図3のAに示される正弦波パターン24−1(k=0)、正弦波パターン24−2(k=1)、正弦波パターン24−3(k=2)のように、垂直方向に輝度が互いに同一の周期で正弦波状に変化する、互いの位相差が120度の(互いの位相が120度ずれている)3パターンを投影する。以下においてこれらを区別して説明する必要が無い場合、正弦波パターン24と称する。
カメラ12は、これらの正弦波パターン24の投影画像を撮像し、例えば、図3のBに示される撮像画像25−1(k=0)、撮像画像25−2(k=1)、撮像画像25−3(k=2)を得る。以下において、これらを区別して説明する必要が無い場合、撮像画像25と称する。上述した水平方向の場合と同様の方法によって、この撮像画像25を用いて、カメラ12の各画素(xcam,ycam)における位相φ'(xcam,ycam)を求めることができる。
この場合、カメラ12の各画素における位相の分布は、図3のCに示される位相分布26のようになる。つまり、正弦波パターン24における正弦波の繰り返しに対応して、0乃至2πの位相分布が垂直方向にN回繰り返される。
<位相アンラッピング>
この位相φ'は元の正弦波の位相Nφに0乃至2πの制約をかけたもの(図4のAのグラフの各実線)となるため、図4のAのように近隣画素の位相との接続性を解決する位相アンラッピングという処理を行うことで本来の位相Nφ(図4のAのグラフの点線)を得ることができる。例えば、図2のCに示される位相分布23に対して、水平方向についての位相アンラッピングを施すと、図4のBに示されるような位相分布27が得られる。同様に、図3のCに示される位相分布26に対して、垂直方向についての位相アンラッピングを施すと、図4のCに示されるような位相分布28が得られる。
これにより、カメラ12の画素(x
cam,y
cam)とプロジェクタ11の画素(x
pj,y
pj)とが1対1に対応付けられる。例えば、位相分布27に基づいて、カメラ12の画素(x
cam,y
cam)に対応するプロジェクタ11の水平画素x
pjを以下の式(6)のように求めることができる。
・・・(6)
当然、垂直方向の座標も、位相分布28に基づいて同様に求めることができる。
位相シフト法の注目すべきポイントとしては、滑らかに連続したパターンを使うことによって、プロジェクタ画素がサブピクセル単位で求まる点、プロジェクタやカメラのフォーカスの影響を受けにくい点、そして位相を使用していることで原理的に投影面の反射光量の影響を受けず、ある程度の振幅さえ取れていればよいという点である。ただし、カメラの輝度飽和や、プロジェクタ・カメラのガンマ応答特性の影響を受けやすいため、安定した環境の確保が重要となる。
<マルチ位相シフト法の概要>
次に、マルチ位相シフト法について説明する。マルチ位相シフト法の場合、正弦波の本数N0,N1が互いに素となるような繰返し周期のパターンの組を使って位相シフト法で2度測定を行う。これにより、互いの位相φ0、φ1の制約条件から不定性を持つことなく位相アンラッピングを行うことができる。
<対応点検出>
例えば、水平方向の対応点検出では、プロジェクタ11は、図5のAに示される正弦波パターン群21−4−1(正弦波の本数N0,k=0乃至2)の各正弦波パターン21と、正弦波パターン群21−4−2(正弦波の本数N1,k=0乃至2)の各正弦波パターン21とを投影する。
カメラ12は、これらの正弦波パターン21の投影画像を撮像し、例えば図5のBに示される撮像画像群22−4−1(正弦波の本数N0,k=0乃至2)と撮像画像群22−4−2(正弦波の本数N1,k=0乃至2)とを得る。
そして、撮像画像群22−4−1から位相φ'0の位相分布23−4−1が求められ、撮像画像群22−4−2から位相φ'1の位相分布23−4−2が求められる。
水平方向についても同様にして位相φ'0および位相φ'1を求めることができる。例えば、プロジェクタ11が、図5のEに示される正弦波パターン群24−4−1(正弦波の本数N0,k=0乃至2)の各正弦波パターン24と、正弦波パターン群24−4−2(正弦波の本数N1,k=0乃至2)の各正弦波パターン21とを投影し、カメラ12が、これらの正弦波パターン21の投影画像を撮像し、例えば図5のFに示される撮像画像群25−4−1(正弦波の本数N0,k=0乃至2)と撮像画像群25−4−2(正弦波の本数N1,k=0乃至2)とを得る。そして、撮像画像群25−4−1から位相φ'0の位相分布26−4−1が求められ、撮像画像群25−4−2から位相φ'1の位相分布26−4−2が求められる。
N0=2、N1=3とすると、対応点を一意に求めるための位相φと、これらの位相φ'0および位相φ'1との関係は、図6のAに示されるグラフのようになる。つまり、位相φ'0および位相φ'1から位相φを一意に求めることができる。
位相φと、位相φ'
0および位相φ'
1との関係は、以下の式(7)のように表すことができる。
・・・(7)
この位相φ'0と位相φ'1との関係を2次元位相平面上にプロットすると図6のBの左のグラフのようになり複数の直線群で表される。さらに位相φを加えた3軸で表現すると図6のBの右のような3次元空間上の直線になるが、N0とN1とが互いに素である場合、上記の関係を満たすi、jは一組しか存在し得ない。したがって、位相φ'0および位相φ'1に対して位相φを一意に求めることができ、不定性を持たない位相アンラッピングが実現される。
つまり、図5の例の場合、位相分布23−4−1および位相分布23−4−2(図5のC)に基づいて、位相φの水平方向の位相分布27−4(図5のD)を求めることができる。また、位相分布26−4−1および位相分布26−4−2(図5のG)に基づいて、位相φの垂直方向の位相分布28−4(図5のH)を求めることができる。
<非同期ノイズ>
次に、このような位相シフト法において起こり得るエラーについて説明する。まず、非同期ノイズについて説明する。DLP(Digital Light Processing)(登録商標)などに代表されるプロジェクタデバイスは、非常に短い周期でRGBの明滅を繰り返している。また、CMOS(Complementary Metal Oxide Semiconductor)に代表されるカメラデバイスでは、ローリングシャッタと呼ばれる現象が起こり、垂直方向の位置によって露光される時間が異なる。このような要因でプロジェクタとカメラの露光タイミングがずれることによって撮像結果にランダムに帯状のノイズ(非同期ノイズ)が発生し、そのノイズ発生エリアで位相を正しく計測することができない可能性があった(図7のA)。
この非同期ノイズは、プロジェクタとカメラの同期をとることにより、その発生を抑制することができる。しかしながら、プロジェクタとカメラの同期をとるには特別なシステム構成が必要となり、コストが増大するおそれがある。特に、プロジェクタとカメラからなるユニットを複数組み合わせたプロジェクタシステムでは、別ユニットにまたがったプロジェクタとカメラの同期をとることは困難であった。
簡易な対策としては、図7のAの最下段のように、カメラの感度を下げて露出時間を長くする方法がある。このようにすることにより、プロジェクタの投影画像が時間的に平均化され、ノイズの発生を抑制することができる。しかしながら、この方法の場合、カメラの露出時間が長くなることにより計測時間が増大する可能性があった。場合によっては、実装上許容される期間内に対応点の検出を完了させることができない可能性もあった。
<相互反射現象>
次に相互反射現象について説明する。投影面が複数の平面・曲面で構成される場合、通常のスクリーンとは異なり面間での相互反射が発生する可能性がある。図7のBの例の場合、投影面51に照射された光の一部がその投影面51において反射し、その反射光が投影面52に照射されている。
一般的に反射光は拡散するので、第1の投影面の反射光が十分に拡散すれば、その反射光が他の第2の投影面に照射されるとしても、第1の投影面に投影されたパターンが第2の投影面に転写されない。したがって、第1の投影面おいて検出されるパターンが第2の投影面において検出されず、エラーは発生しない。
しかしながら、図7のBの例のように、投影面51と投影面52との距離が短いと、その拡散が十分でなく、投影面51に投影されるパターンが投影面52に転写され、投影面51において検出されるパターンが投影面52においても検出される可能性がある。特に、位相シフト法で用いられるような単純なパターンは、その転写の可能性が高い。このようにパターンが転写されると複数の位置に同一パターンが発生することになり、それによって誤検出や、計測誤差の発生を引き起こす可能性がある。
対策としては、プロジェクタから投影する正弦波パターンの空間周波数を高くする方法が考えられるが、プロジェクとカメラ双方に高解像度なデバイスが要求され、コストが増大する可能性があった。また、投影面の材質によっては散乱・吸収等の影響で高い周波数のパターンがぼけてしまう可能性もあった。
<2.第1の実施の形態>
<正弦波パターンの周期的位相反転>
そこで、パターンの投影制御において、投影部と撮像部との間の画素の対応関係を求めるために、第1の方向に第1の周期で繰り返される第1のパターンをその第1の方向と直交する第2の方向に第2の周期で位相反転した第2のパターンを投影部に投影させるようにしてもよい。
なお、この第1のパターンは任意であるが、例えば所定のパラメータが正弦波状に変化するパターンであるようにしてもよい。
また、このパラメータは、任意であるが、例えば画像に関する任意のパラメータとしてもよい。例えばこのパラメータが輝度であるようにしてもよいし、色であるようにしてもよいし、その他のパラメータであるようにしてもよい。
例えば、図8のAに示されるような、輝度(すなわちパラメータ)が水平方向に正弦波状に変化するパターン(すなわち第1のパターン)が、水平方向(すなわち第1の方向)に所定の周期(すなわち第1の周期)で繰り返される正弦波パターン(すなわち第1のパターン)101に対して、図8のBに示されるような位相反転パターン102を用いて、垂直方向(すなわち第2の方向)に所定の周期(すなわち第2の周期)で位相反転させた、図8のCに示されるような投影パターン103(すなわち、第2のパターン)を、投影部に画像として投影させる。
図8のBにおいて、位相反転パターン102は、白色の領域と黒色の領域(2値)が垂直方向(すなわち第2の方向)に所定の周期(すなわち第2の周期)で並ぶ縞模様として示されている。例えば、この白色の領域が位相を反転させる領域(位相反転領域)を示しており、黒色の領域が位相を反転させない領域(位相非反転領域)を示している。つまり、正弦波パターン101は、正弦波パターン101と位相反転パターン102とを同じサイズとして重ねた状態においてその位相反転パターン102の白色の領域に重畳する部分において、その位相が反転される。このようにして正弦波パターン101の位相を反転させた結果が投影パターン103である。この位相反転パターン102の周期(第2の周期)は、正弦波パターン101の周期(第1の周期)と同じであってもよいし、異なっていてもよい。なお、図8のBにおいては、位相反転パターン102の、位相反転領域と位相非反転領域とが白色と黒色で示されているが、両領域を互いに識別することができればよいので、互いに識別可能な2値であればどのような値で位相反転パターン102を形成するようにしてもよい。
図8に示されるように、投影パターン103の方が正弦波パターン101よりも絵柄が細かいので、投影パターン103を投影する場合の方が、正弦波パターン101を投影する場合よりも、投影面で反射された反射光が拡散し易くなる。つまり、反射光が照射される他の投影面において、この投影パターン103が検出される可能性が低減される(投影パターンの転写が抑制される)。したがって、相互反射現象による誤検出や、計測誤差の発生を抑制することができる(対応点検出精度の低減を抑制することができる)。
また、対応点の検出において、投影部が投影面に投影した、第1の方向に第1の周期で繰り返される第1のパターンを第1の方向と直交する第2の方向に第2の周期で位相反転した第2のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、投影部と撮像部との間の画素の対応点を検出するようにしてもよい。
対応点の検出は、投影画像の撮像画像におけるパラメータの変化を位相として求め、その位相に基づいて行うようにしてもよい。
また、第2のパターンにおいて位相が反転される領域については、位相を反転して対応点を検出するようにしてもよい。
例えば、図8のAに示されるような、輝度(すなわちパラメータ)が水平方向に正弦波状に変化するパターン(すなわち第1のパターン)が、水平方向(すなわち第1の方向)に所定の周期(すなわち第1の周期)で繰り返される正弦波パターン(すなわち第1のパターン)101に対して、図8のBに示されるような位相反転パターン102を用いて、垂直方向(すなわち第2の方向)に所定の周期(すなわち第2の周期)で位相反転させた、図8のCに示されるような投影パターン103(すなわち、第2のパターン)を、投影部が投影面に投影した場合、その投影パターン103の投影画像を撮像した撮像画像を用いて、影部と撮像部との間の画素の対応点を検出するようにする。
つまり、正弦波パターン101は、正弦波パターン101と位相反転パターン102とを同じサイズとして重ねた状態においてその位相反転パターン102の白色の領域に重畳する部分において、その位相が反転される。このようにして正弦波パターン101の位相を反転させた結果が投影パターン103であり、この投影パターン103の投影画像を撮像した撮像画像を用いて対応点の検出が行われる。
投影パターン103において、位相が反転してないエリアでは、上述した式(7)を満たす。これに対して、位相が反転しているエリアでは、本来の位相φ'に位相反転分が加えられる。したがってこのエリアでは、検出位相をφ''とすると、以下の式(8)乃至(10)で表される関係性を満たすことになる。
・・・(8)
・・・(9)
・・・(10)
ここでN
0、N
1パラメータに式(11)の条件を加えると、式(12)の関係が成り立つ。
・・・(11)
・・・(12)
これは実際に観測された位相φ'
meas,0および位相φ'
meas,1が位相反転領域であるか不明であったとしても、((N
0+1)φ'
meas,0−N
0,measφ'
1)/πが偶数であれば位相非反転領域であり、奇数であれば位相反転領域であると判別できることを示している。したがって位相反転判別式DetInverseを以下の式(13)のように定義することができる。
・・・(13)
例えば、N0=2、N1=3とすると、位相が反転されていない位相非反転領域においては、位相φ'0と位相φ'1との関係は、図9のAのグラフのようになり、位相が反転された位相反転領域においては、位相φ'0と位相φ'1との関係は、図9のBのグラフのようになる。つまり、両領域において、初期位相が(π,π)になる以外は、互いに同様の直線群となる。従って、図9のCのグラフに示されるように、両領域で観測される直線群は交わることがなく、観測値から位相反転領域と位相非反転領域とを識別することができる。つまり、領域判定をせずに位相アンラッピングを行うことができる。
例えば、図10のAに示されるような2平面(グラフの濃い部分)を投影面とすると、正弦波パターン101(図8のA)を投影して位相シフト法(若しくはマルチ位相シフト法)を行う場合、図10のBのように投影面が検出される。図10のBは、図10のAに示される3次元グラフを上から見たときの平面図である。図10のBに示されるように、この場合、2つの投影面の接合部近傍において、相互反射による誤検出が発生しており、投影面の形状を正しく検出することができていない。これに対して、投影パターン103(図8のC)を投影して位相シフト法(若しくはマルチ位相シフト法)を行う場合、図10のCのように投影面が検出される。図10のCは、図10のAに示される3次元グラフを上から見たときの平面図である。図10のCに示されるように、この場合、2つの投影面の接合部近傍において発生する相互反射による誤検出が図10のBの場合よりも抑制されており、投影面の形状をより正確に検出することができている。つまり、対応点検出精度の低減を抑制することができる。
なお、上述した位相非反転領域と位相反転領域とが予め設定されているようにしてもよい。また、対応点検出を行う前に、位相非反転領域と位相反転領域とを設定するようにしてもよい。例えば、パターンの投影制御において、第2のパターンを投影させる前に、第2の方向に第2の周期で繰り返される第3のパターン、並びに、第3のパターンと位相が逆の第4のパターンを投影部に投影させるようにしてもよい。
換言するに、対応点の検出において、撮像部により得られた、投影部が第2のパターンを投影する前に投影した第2の方向に第2の周期で繰り返される第3のパターンの投影画像、並びに、第3のパターンと位相が逆の第4のパターンの投影画像のそれぞれの撮像画像を用いて、第2のパターンにおいて位相が反転される領域を求めるようにしてもよい。
この第3のパターンおよび第4のパターンは、位相が互いに逆の2値が第2の方向に第2の周期で繰り返されるパターンであるようにしてもよい。
より具体的には、例えば、投影パターン103を投影する前に、図11のAに示されるような領域設定パターン141(すなわち第3のパターン)と、図11のBに示されるような領域設定パターン142(すなわち第4のパターン)とを投影し、これらの領域設定パターンに基づいて、位相非反転領域と位相反転領域とを設定するようにしてもよい。
図11において、この領域設定パターン141と領域設定パターン142は、白色の領域と黒色の領域(2値)が垂直方向(すなわち第2の方向)に所定の周期(すなわち第2の周期)で並ぶ縞模様として示されている。そして、領域設定パターン141と領域設定パターン142とで、その縞模様を構成する2値が反転している。つまり、白色の領域と黒色の領域の位置が入れ替わっている。
このような2つの領域設定パターンを投影部から画像として投影し、撮像部によりそれぞれの投影画像を撮像して撮像画像を得る。そして、領域設定パターン141の投影画像の撮像画像の画素値と、領域設定パターン142の投影画像の撮像画像の画素値との差分を算出し、その差分値に基づいて、以下の式(14)のように、位相非反転領域と位相反転領域とを設定する。
・・・(14)
上述したように、領域設定パターン141と領域設定パターン142は、白色の領域の位置と黒色の領域の位置とが入れ替わっている。そのため、撮像画像に現れる両パターンの差分は、符号が正の領域と負の領域とにより構成される。この差分値の違いに基づいて位相非反転領域と位相反転領域とを識別する。実際には誤差も生じるので、所定の閾値thを用いて、3つの領域に識別する。つまり、差分値が所定の閾値thより大きい領域を位相非反転領域として設定し、差分値が所定の閾値-thより小さい領域を位相反転領域として設定し、その他の領域を無効領域として設定する。
このようにすることにより、上述したように観測値から領域を判定する場合よりも、ノイズに対する耐性を向上させることができ、対応点検出精度の低減を抑制することができる。
なお、領域設定パターン141と領域設定パターン142とにおいて、縞模様の周期(第2の周期)は、正弦波パターン101の周期(第1の周期)と同じであってもよいし、異なっていてもよい。また、縞模様は、白色と黒色に限らず、互いに識別可能な2値であればどのようなパラメータや値により構成されるようにしてもよい。
なお、パターンの投影制御において、第2の方向に第1の周期で繰り返される第1のパターンを第1の方向に第2の周期で位相反転した第5のパターンを投影部にさらに投影させるようにしてもよい。
換言するに、対応点の検出において、投影部が投影面に投影した、第2の方向に第1の周期で繰り返される第1のパターンを第1の方向に第2の周期で位相反転した第5のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、対応点を検出するようにしてもよい。
つまり、図8乃至図11を参照して、水平方向の位相検出についてのみ説明したが、垂直方向の位相検出についても同様の方法で対応点の検出を行うことができる。ただし、この場合、各パターンの繰り返しの方向が変わる。
例えば、正弦波パターン101においては、輝度が正弦波状に変化するパターン(すなわち第1のパターン)の繰り返しの方向が垂直方向(第2の方向)になる。また、位相反転パターン102においては、縞の方向(2値の繰り返しの方向)が水平方向(第1の方向)になる。したがって、投影パターン103は、輝度が垂直方向に正弦波状に変化するパターンが垂直方向に所定の周期で繰り返される正弦波パターンを、水平方向に所定の周期で位相反転させたパターン(すなわち第5のパターン)により構成される。
また、例えば、領域設定パターン141や領域設定パターン142においては、白色の領域と黒色の領域(2値)の繰り返し方向が水平方向(すなわち第1の方向)になる。
このようにすることにより、複数方向(例えば水平方向と垂直方向)について、対応点を検出することができる。
なお、パターンの投影制御において、第1のパターンの位相が互いにずれた複数の第2のパターンを投影部に投影させるようにしてもよい。例えば、第1のパターンの位相が互いに120度ずれた3つの第2のパターンを投影部に投影させるようにしてもよい。
換言するに、対応点の検出において、投影部が投影面に投影した、第1のパターンの位相が互いにずれた複数の第2のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、対応点を検出するようにしてもよい。例えば、投影部が投影面に投影した、第1のパターンの位相が互いに120度ずれた3つの第2のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、対応点を検出するようにしてもよい。
つまり、図2や図3の例の場合と同様に、複数(例えば3つ)の投影パターンを投影させ、その投影パターンの投影画像の撮像画像を用いて対応点を検出するようにしてもよい。このようにすることにより、より正確に対応点を検出することができる。
また、パターンの投影制御において、第1の周期が互いに異なる複数の第2のパターンの画像を投影部に投影させるようにしてもよい。
換言するに、対応点の検出において、投影部が投影面に投影した、第1の周期が互いに異なる複数の第2のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、対応点を検出するようにしてもよい。
つまり、図5および図6の例の場合と同様に、互いに異なる周期の複数の投影パターン群を投影させ、その投影パターンの投影画像の撮像画像を用いて、対応点を検出するようにしてもよい。すなわち、以上に説明した本技術を、マルチ位相シフト法にも適用することができる。このようにすることにより、より正確に対応点を検出することができる。
<正弦波パターンの回転>
また、他の方法として、パターンの投影制御において、投影部と撮像部との間の画素の対応関係を求めるために、位相を検出する方向と異なる第1の方向に所定の周期で繰り返される所定のパターンを投影部に投影させるようにしてもよい。
なお、この所定のパターンは任意であるが、例えば所定のパラメータが正弦波状に変化するパターンであるようにしてもよい。
また、このパラメータは、任意であるが、例えば画像に関する任意のパラメータとしてもよい。例えばこのパラメータが輝度であるようにしてもよいし、色であるようにしてもよいし、その他のパラメータであるようにしてもよい。
例えば、垂直方向について位相を検出する場合、図12のAに示されるような、輝度(すなわちパラメータ)が正弦波状に変化するパターン(すなわち所定のパターン)がその垂直方向と異なる斜め方向(すなわち第1の方向)に所定の周期で繰り返される投影パターン151を、投影部に画像として投影させる。図12のAに示される投影パターン151は、例えば図3のAに示される正弦波パターン24のような、輝度変化の繰り返し方向が垂直方向の正弦波パターンを回転し、その繰り返し方向を斜め方向(第1の方向)にしたパターン(回転正弦波パターン)である。
図12のBに示されるように、正弦波パターン24のような繰り返し方向が垂直方向の正弦波パターンの投影画像の撮像画像152の所定のラインにおいて非同期ノイズが発生すると(その所定のライン全体が非同期ノイズ発生領域153となると)、そのラインの輝度値がすべて誤差を含んでしまうことになる。
例えば、投影部の画素y
pjのラインの正弦波パターンI
pj,k(y
pj)と、位相φ(y
pj)は、以下の式(15)と式(16)のように表される。ただし、Nは正弦波の本数、y
pj,maxはy
pjのとる最大画素値を表す。
・・・(15)
・・・(16)
したがって、図12のCに示されるように、その撮像画像152を用いて生成された位相分布154においては、そのライン全体に相当する領域が非同期ノイズ発生領域155となってしまう。つまり、この場合、広範囲で正しく位相を検出することができなくなる可能性がある。
これに対して、図12のDに示されるように、投影パターン151の投影画像の撮像画像156の所定のラインにおいて非同期ノイズが発生すると、そのライン全体が非同期ノイズ発生領域157となる。しかしながら、投影パターン151の輝度変化の繰り返し方向は、その非同期ノイズ発生領域157に対して垂直でない。したがって、投影パターン151の場合、投影部の画素(x
pj,y
pj)の正弦波パターンI
pj,k(x
pj,y
pj)と、位相φ(x
pj,y
pj)は、以下の式(17)と式(18)のように表される。
・・・(17)
・・・(18)
つまり、非同期ノイズ発生領域157には、輝度が高い領域だけでなく輝度が低い領域も含まれることになる。輝度が低い領域ではノイズ量が低減するため、図12のEに示されるように、その撮像画像156を用いて生成された位相分布158においては、非同期ノイズ発生領域159のように、断続的な領域となる。
つまり、非同期ノイズ発生領域159が小さくなるので、位相分布に対する非同期ノイズの影響を抑制することができる。したがって、撮像部の露光時間を長くする必要も無く、計測時間やコストを増大させずに、対応点検出精度の低減を抑制することができる。
なお、この繰り返し方向を回転させた回転正弦波パターンにおける繰り返し方向(すなわち第1の方向)は、位相を検出する方向以外であれば任意である。例えば、撮像部が撮像して得る撮像画像における垂直方向に対して所定の範囲内の角度に傾斜した方向であるようにしてもよい。また、例えば、その範囲は40度乃至50度であるようにしてもよい。また、例えば、その垂直方向から45度傾斜した方向としてもよい。
また、対応点の検出において、投影部が投影面に投影した位相を検出する方向と異なる第1の方向に所定の周期で繰り返される所定のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、投影部と撮像部との間の画素の対応点を検出するようにしてもよい。
対応点の検出は、投影画像の撮像画像におけるパラメータの変化を位相として求め、その位相に基づいて行うようにしてもよい。
なお、パターンの投影制御において、第1の方向に直交する第2の方向に所定の周期で繰り返される所定のパターンを投影部にさらに投影させるようにしてもよい。
換言するに、対応点の検出において、投影部が投影面に投影した、第1の方向に直交する第2の方向に所定の周期で繰り返される所定のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、対応点を検出するようにしてもよい。
つまり、図12を参照して、第1の方向の位相検出についてのみ説明したが、第1の方向に直交する第2の方向の位相検出についても同様の方法で対応点の検出を行うことができる。この場合の投影パターンの繰り返しの方向は、投影パターン151の繰り返しの方向と直交することになる。
このようにすることにより、複数方向について、対応点を検出することができる。
なお、パターンの投影制御において、位相が互いにずれた複数の所定のパターンを投影部に投影させるようにしてもよい。例えば、位相が互いに120度ずれた3つの所定のパターンの画像を投影させるようにしてもよい。
換言するに、対応点の検出において、投影部が投影面に投影した、位相が互いにずれた複数の所定のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、対応点を検出するようにしてもよい。例えば、投影部が投影面に投影した、位相が互いに120度ずれた3つの所定のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、対応点を検出するようにしてもよい。
つまり、図2や図3の例の場合と同様に、複数(例えば3つ)の投影パターンを投影させ、その投影パターンの投影画像の撮像画像を用いて対応点の検出を行うようにしてもよい。このようにすることにより、より正確に対応点を検出することができる。
また、パターンの投影制御において、繰り返し周期が互いに異なる複数の所定のパターンを投影部に投影させるようにしてもよい。
換言するに、対応点の検出において、投影部が投影面に投影した、繰り返し周期が互いに異なる複数の所定のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、対応点を検出するようにしてもよい。
つまり、図5および図6の例の場合と同様に、互いに異なる周期の複数の投影パターン群を投影させ、その投影パターンの投影画像の撮像画像を用いて対応点の検出を行うようにしてもよい。すなわち、以上に説明した本技術を、マルチ位相シフト法にも適用することができる。このようにすることにより、より正確に対応点を検出することができる。
なお、例えば、図8のCに示されるように、正弦波パターンを周期的に位相反転させる投影パターン103の場合も、所定のラインにより構成される非同期ノイズ発生領域には、輝度が高い領域だけでなく輝度が低い領域も含まれることになる。したがって、この投影パターン103を投影させて対応点を検出する場合も、位相分布において非同期ノイズ発生領域が断続的な領域となり、小さくなる。したがって、この場合も、位相分布に対する非同期ノイズの影響を抑制することができる。したがって、撮像部の露光時間を長くする必要も無く、計測時間やコストを増大させずに、対応点検出精度の低減を抑制することができる。
<正弦波パターンの周期的位相反転と回転>
さらに他の方法として、上述した正弦波パターンを周期的に位相反転させる方法と、正弦波パターンを回転させる方法とを組み合わせて用いるようにしてもよい。
つまり、パターンの投影制御において、投影部と撮像部との間の画素の対応関係を求めるために、位相を検出する方向と異なる方向である第1の方向に第1の周期で繰り返される第1のパターンをその第1の方向と直交する第2の方向に第2の周期で位相反転した第2のパターンを投影部に投影させるようにしてもよい。
換言するに、対応点の検出において、投影部が投影面に投影した、位相を検出する方向と異なる方向である第1の方向に第1の周期で繰り返される第1のパターンをその第1の方向と直交する第2の方向に第2の周期で位相反転した第2のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、投影部と撮像部との間の画素の対応点を検出するようにしてもよい。
なお、この所定のパターンは任意であるが、例えば所定のパラメータが正弦波状に変化するパターンであるようにしてもよい。
また、このパラメータは、任意であるが、例えば画像に関する任意のパラメータとしてもよい。例えばこのパラメータが輝度であるようにしてもよいし、色であるようにしてもよいし、その他のパラメータであるようにしてもよい。
なお、この繰り返し方向を回転させた回転正弦波パターンにおける繰り返し方向(すなわち第1の方向)は、位相を検出する方向以外であれば任意である。例えば、撮像部が撮像して得る撮像画像における垂直方向に対して所定の範囲内の角度に傾斜した方向であるようにしてもよい。また、例えば、その範囲は40度乃至50度であるようにしてもよい。また、例えば、その垂直方向から45度傾斜した方向としてもよい。
また、対応点の検出は、投影画像の撮像画像におけるパラメータの変化を位相として求め、その位相に基づいて行うようにしてもよい。
また、第2のパターンにおいて位相が反転される領域については、位相を反転して対応点を検出するようにしてもよい。
例えば、輝度変化の繰り返し方向が水平方向の正弦波パターン171(図13のA)が45度回転された回転正弦波パターン172(図13のB)に対して、繰り返し方向が回転正弦波パターン172の繰り返し方向と直交する位相反転パターン173(図13のC)を用いて、その繰り返し方向(すなわち第2の方向)に所定の周期(すなわち第2の周期、例えばD)で位相反転させた投影パターン174(すなわち、第2のパターン)(図13のD)を、投影部に画像として投影させる。
この位相反転パターン173は、図8のBの位相反転パターン102と同様のパターンである。つまり、白色の領域と黒色の領域(2値)が第2の方向に第2の周期で並ぶ縞模様として示されている。例えば、この白色の領域が位相反転領域を示しており、黒色の領域が位相非反転領域を示している。つまり、回転正弦波パターン172は、回転正弦波パターン172と位相反転パターン173とを同じサイズとして重ねた状態においてその位相反転パターン173の白色の領域に重畳する部分において、その位相が反転される。このようにして回転正弦波パターン172の位相を反転させた結果が投影パターン174である。この位相反転パターン173の周期(第2の周期)は、正弦波パターン171(すなわち回転正弦波パターン172)の周期(第1の周期)と同じであってもよいし、異なっていてもよい。なお、図13のCにおいては、位相反転パターン173の、位相反転領域と位相非反転領域とが白色と黒色で示されているが、両領域を互いに識別することができればよいので、互いに識別可能な2値であればどのような値で位相反転パターン173を形成するようにしてもよい。
この場合の、位相反転パターン173の繰り返し周期(第2の周期)を2Dとすると(つまり、投影パターン174における1つの位相反転領域若しくは位相非反転領域の、位相反転パターン173の繰り返し方向の長さをDとすると)、投影部の画素(x
pj,y
pj)の正弦波パターンI
pj,k(x
pj,y
pj)と、位相φ(x
pj,y
pj)は、以下の式(19)と式(20)のように表される。
・・・(19)
・・・(20)
このようにすることにより、図13のDに示されるように、投影パターン174の絵柄が、正弦波パターン171よりも絵柄が細かくなる(2次元周波数空間においてパターンがより高周波側に変調される)ので、相互反射現象による投影パターンの転写を抑制することができる。したがって、相互反射現象による誤検出や、計測誤差の発生を抑制することができる(対応点検出精度の低減を抑制することができる)。
また、この投影パターン174の場合も、投影パターン103の場合と同様に、各ライン上に輝度が高い領域と輝度が低い領域の両方が含まれる。つまり、所定のラインにより構成される非同期ノイズ発生領域には、輝度が高い領域だけでなく輝度が低い領域も含まれることになる。したがって、この場合も、位相分布において非同期ノイズ発生領域が断続的な領域となり、小さくなる。したがって、この場合も、位相分布に対する非同期ノイズの影響を抑制することができる。したがって、撮像部の露光時間を長くする必要も無く、計測時間やコストを増大させずに、対応点検出精度の低減を抑制することができる。
特に、投影パターン174の場合、繰り返し方向が斜め方向(水平方向や垂直方向でない方向)とされているため、ライン方向のパターン(輝度が高い領域と低い領域のそれぞれの長さ)がライン毎に異なり、より複雑な構成となる。したがって、投影パターン174の場合の方が、投影パターン103の場合よりも、非同期ノイズが目立たなくなる。したがって、位相分布に対する非同期ノイズの影響をより抑制することができる。
なお、対応点検出の際に、位相の観測値から位相反転領域と位相非反転領域とを識別するようにしてもよいし、位相非反転領域と位相反転領域とが予め設定されているようにしてもよい。また、対応点検出を行う前に、位相非反転領域と位相反転領域とを設定するようにしてもよい。例えば、パターンの投影制御において、第2のパターンを投影させる前に、第2の方向に第2の周期で繰り返される第3のパターン、並びに、第3のパターンと位相が逆の第4のパターンを投影部に投影させるようにしてもよい。
換言するに、対応点の検出において、撮像部により得られた、投影部が第2のパターンを投影する前に投影した第2の方向に第2の周期で繰り返される第3のパターンの投影画像、並びに、第3のパターンと位相が逆の第4のパターンの投影画像のそれぞれの撮像画像を用いて、第2のパターンにおいて位相が反転される領域を求めるようにしてもよい。
この第3のパターンおよび第4のパターンは、位相が互いに逆の2値が第2の方向に第2の周期で繰り返されるパターンであるようにしてもよい。
より具体的には、例えば、投影パターン174(図13のD)を投影する前に、図14のAに示されるような領域設定パターン181(すなわち第3のパターン)と、図14のBに示されるような領域設定パターン182(すなわち第4のパターン)とを投影し、これらの領域設定パターンに基づいて、位相非反転領域と位相反転領域とを設定するようにしてもよい。
領域設定パターン181および領域設定パターン182は、白色の領域と黒色の領域(2値)が第2の方向に第2の周期で並ぶ縞模様として示されている。そして、領域設定パターン181と領域設定パターン182とで、その縞模様を構成する2値が反転している。つまり、白色の領域と黒色の領域の位置が入れ替わっている。
これらのパターンの繰り返し周期(第2の周期)を2Dとすると、投影部の各画素(x
pj,y
pj)における領域設定パターン181の画素値I
pj.pos(x
pj,y
pj)は、例えば、以下の式(21)のように表される。
・・・(21)
領域設定パターン181(I
pj,pos)と領域設定パターン182(I
pj,neg)の投影画像の撮像画像(I
cam,pos)および(I
cam,neg)の画素差分を取り、以下の式(22)のように所定の閾値th(若しくは-th)と比較することで、位相反転領域(true)、位相非反転領域(false)、無効(不定)領域(undef)の3状態の領域を識別することができる。
・・・(22)
この結果を用いて位相φ'は、以下の式(23)乃至(25)のように求めることができる。
・・・(23)
・・・(24)
・・・(25)
このようにすることにより、上述したように観測値から領域を判定する場合よりも、ノイズに対する耐性を向上させることができ、対応点検出精度の低減を抑制することができる。
なお、領域設定パターン181と領域設定パターン182とにおいて、縞模様の周期(第2の周期)は、正弦波パターン101の周期(第1の周期)と同じであってもよいし、異なっていてもよい。また、縞模様は、白色と黒色に限らず、互いに識別可能な2値であればどのようなパラメータや値により構成されるようにしてもよい。
なお、パターンの投影制御において、第2の方向に第1の周期で繰り返される第1のパターンを第1の方向に第2の周期で位相反転した第5のパターンを投影部にさらに投影させるようにしてもよい。換言するに、対応点の検出において、投影部が投影面に投影した、第2の方向に第1の周期で繰り返される第1のパターンを第1の方向に第2の周期で位相反転した第5のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、対応点を検出するようにしてもよい。このようにすることにより、複数方向について、対応点を検出することができる。
なお、パターンの投影制御において、第1のパターンの位相が互いにずれた複数の第2のパターンを投影部に投影させるようにしてもよい。例えば、第1のパターンの位相が互いに120度ずれた3つの第2のパターンを投影部に投影させるようにしてもよい。換言するに、対応点の検出において、投影部が投影面に投影した、第1のパターンの位相が互いにずれた複数の第2のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、対応点を検出するようにしてもよい。例えば、投影部が投影面に投影した、第1のパターンの位相が互いに120度ずれた3つの第2のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、対応点を検出するようにしてもよい。
つまり、図2や図3の例の場合と同様に、複数(例えば3つ)の投影パターンを投影させ、その投影パターンの投影画像の撮像画像を用いて対応点を検出するようにしてもよい。このようにすることにより、より正確に対応点を検出することができる。
また、パターンの投影制御において、第1の周期が互いに異なる複数の第2のパターンの画像を投影部に投影させるようにしてもよい。換言するに、対応点の検出において、投影部が投影面に投影した、第1の周期が互いに異なる複数の第2のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、対応点を検出するようにしてもよい。
つまり、図5および図6の例の場合と同様に、互いに異なる周期の複数の投影パターン群を投影させ、その投影パターンの投影画像の撮像画像を用いて、対応点を検出するようにしてもよい。すなわち、以上に説明した本技術を、マルチ位相シフト法にも適用することができる。このようにすることにより、より正確に対応点を検出することができる。
<3.第2の実施の形態>
<投影撮像装置>
次に、第1の実施の形態において説明した各種方法を実現する構成について説明する。本技術を適用した情報処理装置の一実施の形態である投影撮像装置の主な構成例を、図15に示す。
図15に示される投影撮像装置200は、投影部201を有し、その投影部201により画像を投影面210に投影する。投影部201は、画像の投影に関する処理を行う。例えば、投影部201は、投影光を発光し、供給される画像データの画像を投影撮像装置200の外部(例えば投影面210等)に投影する。つまり、投影部201は、投影機能を実現する。投影部201の光源は任意であり、LED(Light Emitting Diode)やキセノン等であってもよい。また、投影部201が投影光としてレーザ光を発光するようにしてもよい。なお、投影部201が、例えば複数のレンズや絞り等からなり、投影光の焦点距離、露出、投影方向、投影画角等を制御する光学系を有するようにしてもよい。
なお、投影部201の画素は、この投影部201により投影される画像の画素に対応する。例えば、光源をレーザ光とする場合、そのレーザ光の走査の制御単位を投影部201の画素としてもよい。
また、投影撮像装置200は、撮像部202をさらに有し、投影面210を撮像し、撮像画像を得る。撮像部202は、イメージセンサを有し、そのイメージセンサにより入射光を光電変換することにより、装置外部の被写体を撮像し、撮像画像を生成する。つまり、撮像部202は、撮像機能(センサ機能)を実現する。なお、撮像部202が有するイメージセンサは任意であり、例えば、CMOS(Complementary Metal Oxide Semiconductor)を用いたCMOSイメージセンサであってもよいし、CCD(Charge Coupled Device)を用いたCCDイメージセンサであってもよいし、それら以外であってもよい。
なお、撮像部202の画素は、撮像部202により得られる撮像画像の画素に対応する。例えば、撮像部202が有するイメージセンサの単位画素を撮像部202の画素としてもよい。
図15に示されるように、投影面210における撮像部202の撮像範囲212は、その投影面210における投影部201の投影範囲211を内包する。したがって、撮像部202が得る撮像画像には、投影部201によって投影面210に投影された投影画像が含まれる。投影撮像装置200は、この撮像画像を用いて(すなわち、投影面210に投影された様子を参照して)、投影部201により投影される画像の幾何補正等を行い、投影面210における投影画像の歪みを低減させることができる。
投影撮像装置200が投影する画像は、動画像であってもよいし、静止画像であってもよい。また、投影撮像装置200が撮像して得られる撮像画像は、動画像であってもよいし、静止画像であってもよい。また、投影撮像装置200にスピーカ等を設け、投影撮像装置200が音声を出力することができるようにしてもよい。例えば、投影撮像装置200が、投影する画像に合わせた音声(例えばBGM(Back Ground Music)等)を出力することができるようにしてもよいし、操作確認用の音声(例えばビープ音やメッセージ等)を出力することができるようにしてもよい。
投影面210は、投影撮像装置200が画像を投影する面である。投影面210は、平面であってもよいし、曲面であってもよいし、一部若しくは全部に凹凸を有する面であってもよいし、複数の面により構成されていてもよい。また、投影面210の色は任意であり、複数色により構成されるようにしてもよい。
投影面210は、任意の物体に形成されるようにしてもよい。例えば、投影面210は、所謂スクリーンや壁面のような面状の物体に形成されるようにしてもよい。また、投影面210は、立体構造物に形成されるようにしてもよい。例えばビルディング、駅舎、城等の建造物の壁面等に形成されるようにしてもよいし、例えば、岩等の自然物、看板や銅像等の人造物、箪笥、椅子、机等の家具等に形成されるようにしてもよいし、例えば人や動植物等の生物に形成されるようにしてもよい。また、投影面210は、例えば部屋空間の壁、床、天井等のように、複数の面に形成されるようにしてもよい。
また、投影面210は、固体に形成されるようにしてもよいし、液体や気体に形成されるようにしてもよい。例えば、池やプール等の水面、滝や噴水等の流水面、霧やガス等の気体に形成されるようにしてもよい。また、投影面210は、移動してもよいし、変形してもよいし、変色してもよい。また、投影面210は、例えば、部屋の壁と家具と人物、複数のビルディング、城壁と噴水等のように、複数の物体に形成されるようにしてもよい。
<投影撮像装置の構成>
図16は、投影撮像装置200の主な構成例を示すブロック図である。図16に示されるように、投影撮像装置200は、投影部201および撮像部202の他に、それらを制御する制御部221を有する。
制御部221は、投影部201による投影を制御する。また、制御部221は、撮像部202による撮像を制御する。さらに制御部221は、投影部201と撮像部202との間の画素の対応関係を求める処理(対応点を求める処理)を行う。
図16に示されるように、制御部221は、CPU(Central Processing Unit)231、ROM(Read Only Memory)232、RAM(Random Access Memory)233、バス234、入出力インタフェース240、入力部241、出力部242、記憶部243、通信部244、およびドライブ245を有する。
CPU231、ROM232、RAM233は、バス234を介して相互に接続されている。バス234にはまた、入出力インタフェース240も接続されている。入出力インタフェース240には、投影部201および撮像部202の他、例えば、入力部241、出力部242、記憶部243、通信部244、およびドライブ245が接続されている。
入力部241は、ユーザ入力等の外部の情報を受け付ける入力デバイスよりなる。例えば、入力部241には、キーボード、マウス、操作ボタン、タッチパネル、カメラ、マイクロホン、入力端子等が含まれる。また、加速度センサ、光センサ、温度センサ等の各種センサや、バーコードリーダ等の入力機器が入力部241に含まれるようにしてもよい。出力部242は、画像や音声等の情報を出力する出力デバイスよりなる。例えば、出力部242には、ディスプレイ、スピーカ、出力端子等が含まれる。
記憶部243は、プログラムやデータ等の情報を記憶する記憶媒体よりなる。例えば、記憶部243には、ハードディスク、RAMディスク、不揮発性メモリ等が含まれる。通信部244は、所定の通信媒体を介して外部の装置とプログラムやデータ等の情報を授受する通信を行う通信デバイスよりなる。通信部244は、例えば、ネットワークインタフェースよりなる。例えば、通信部244は、投影撮像装置200の外部の装置と通信(プログラムやデータの授受)を行う。
ドライブ245は、自身に装着された、例えば、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア251に記憶されている情報(プログラムやデータ等)を読み出す。ドライブ245は、リムーバブルメディア251から読み出した情報をCPU231やRAM233等に供給する。また、ドライブ245は、書き込み可能なリムーバブルメディア251が自身に装着された場合、CPU231やRAM233等から供給される情報(プログラムやデータ等)を、そのリムーバブルメディア251に記憶させることができる。
CPU201は、例えば、記憶部243に記憶されているプログラムを、入出力インタフェース240およびバス234を介して、RAM233にロードして実行することにより、各種処理を行う。RAM233にはまた、CPU231が各種の処理を実行する上において必要なデータなども適宜記憶される。
例えば、CPU201は、そのようにプログラム等を実行することにより、投影部201や撮像部202の制御や、対応点の検出に関する処理等を行うことができる。
<投影部の構成例>
レーザ光を光源とする場合の投影部201の主な構成例を図17に示す。図17において、投影部201は、ビデオプロセッサ261、レーザドライバ262、レーザ出力部263−1、レーザ出力部263−2、レーザ出力部263−3、ミラー264−1、ミラー264−2、ミラー264−3、MEMS(Micro Electro Mechanical Systems)ドライバ265、および、MEMSミラー266を有する。
ビデオプロセッサ261は、制御部221から供給される画像を保持したり、その画像に対して必要な画像処理を行ったりする。ビデオプロセッサ261は、その投影する画像をレーザドライバ262やMEMSドライバ265に供給する。
レーザドライバ262は、ビデオプロセッサ261から供給される画像を投影するように、レーザ出力部263−1乃至レーザ出力部263−3を制御する。レーザ出力部263−1乃至レーザ出力部263−3は、例えば、赤、青、緑等、互いに異なる色(波長域)のレーザ光を出力する。つまり、レーザドライバ262は、ビデオプロセッサ261から供給される画像を投影するように、各色のレーザ出力を制御する。なお、レーザ出力部263−1乃至レーザ出力部263−3を互いに区別して説明する必要が無い場合、レーザ出力部263と称する。
ミラー264−1は、レーザ出力部263−1から出力されるレーザ光を反射し、MEMSミラー266に誘導する。ミラー264−2は、レーザ出力部263−2から出力されるレーザ光を反射し、MEMSミラー266に誘導する。ミラー264−3は、レーザ出力部263−3から出力されるレーザ光を反射し、MEMSミラー266に誘導する。なお、ミラー264−1乃至ミラー264−3を互いに区別して説明する必要が無い場合、ミラー264と称する。
MEMSドライバ265は、ビデオプロセッサ261から供給される画像を投影するように、MEMSミラー266のミラーの駆動を制御する。MEMSミラー266は、MEMSドライバ265の制御に従ってMEMS上に取り付けられたミラー(鏡)を駆動することにより、例えば、図18の例のように各色のレーザ光を走査する。このレーザ光は、投影撮像装置200の外部に出力され、例えば投影面210に照射される。これにより、ビデオプロセッサ261から供給される画像が投影面210に投影される。
なお、図17の例においては、レーザ出力部263を3つ設け、3色のレーザ光を出力するように説明したが、レーザ光の数(または色数)は任意である。例えば、レーザ出力部263を4つ以上であってもよいし、2つ以下であってもよい。つまり、投影撮像装置200(投影部201)から出力されるレーザ光は、2本以下であってもよいし、4本以上であってもよい。そして、投影撮像装置200(投影部201)から出力されるレーザ光の色数も任意であり、2色以下であってもよいし、4色以上であってもよい。また、ミラー264やMEMSミラー266の構成も任意であり、図17の例に限定されない。もちろん、レーザ光の走査パターンは任意であり、図18の例に限定されない。
<機能ブロックの構成>
図19は、制御部221において実現される主な機能の例を示す機能ブロック図である。図19に示されるように、制御部221は、パターン回転量設定部301、パターン生成部302、投影制御部303、撮像制御部304、および、対応点検出部305等の機能ブロックを実現する。
パターン回転量設定部301は、パターンの回転について、その回転量の設定に関する処理を行う。パターン生成部302は、投影するパターンの生成に関する処理を行う。投影制御部303は投影部201による画像の投影の制御に関する処理を行う。撮像制御部304は、撮像部202による撮像の制御に関する処理を行う。対応点検出部305は、投影部と撮像部との間の画素の対応点の検出に関する処理を行う。
制御部221のCPU231がRAM233や記憶部243等から読み出したプログラムを、RAM233を利用して実行したり、プログラムを実行して生成したり、RAM233や記憶部243等から読み出したりしたデータを、RAM233を利用して処理したりすることにより、これらの機能が実現される。
なお、制御部221が実現する機能の例は、上述した機能ブロックの例に限定されない。制御部221が、上述した機能以外の機能を実現するようにしてもよいし、上述した機能ブロックの一部を省略するようにしてもよい。
<対応点検出処理の流れ>
次に、制御部221が、これらの機能ブロックを用いて実行する対応点検出処理の流れの例を、図20のフローチャートを参照して説明する。
対応点検出処理が開始されると、パターン回転量設定部301乃至撮像制御部304は、ステップS101において、パターン回転量を設定する。パターン生成部302が、正弦波パターンを回転させて、図12を参照して説明した「正弦波パターンの回転」の例や、図13および図14を参照して説明した「正弦波パターンの周期的位相反転と回転」の例のような投影パターンを生成する場合、パターン回転量設定部301乃至撮像制御部304は、この処理を行う。
パターン生成部302が異なる方法を用いてそのような投影パターンを生成する場合、パターン生成部302が図8乃至図11を参照して説明した「正弦波パターンの周期的位相反転」の例のような投影パターンを生成する場合、または、パターン生成部302が投影パターンを生成しない場合は、この処理を省略することができる。この処理の詳細については後述する。
ステップS102において、パターン生成部302は、投影パターンを生成する。この投影パターンの生成方法は任意である。例えば、正弦波パターンを回転させて、図12を参照して説明した「正弦波パターンの回転」の例や、図13および図14を参照して説明した「正弦波パターンの周期的位相反転と回転」の例のような投影パターンを生成する場合、パターン生成部302は、ステップS101において設定されたパターン回転量だけ所定の方向に繰り返す正弦波パターンを回転させる等して、投影パターンを生成するようにしてもよい。
また、例えば、図8乃至図11を参照して説明した「正弦波パターンの周期的位相反転」の例のような投影パターンや、図13および図14を参照して説明した「正弦波パターンの周期的位相反転と回転」の例のような投影パターンを生成する場合、パターン生成部302は、位相反転パターンに基づいて、正弦波パターンの位相を反転させる等して、投影パターンを生成するようにしてもよい。
例えば、図13および図14を参照して説明した「正弦波パターンの周期的位相反転と回転」の例のような投影パターンを生成する場合、パターン生成部302は、所定の方向に繰り返す正弦波パターンを回転させ、さらに、位相反転パターンに基づいて、その回転正弦波パターンの位相を反転させる等して、投影パターンを生成するようにしてもよい。
なお、パターン生成部302が投影パターンの生成に用いる正弦波パターン等のデータは、ROM232や記憶部243等に記憶されているようにしてもよいし、リムーバブルメディア251に記憶されているようにしてもよいし、通信部244を介して他の装置等から取得するようにしてもよい。また、このデータは、画像データであってもよいし、正弦波パターンの画像を生成することができる画像データ以外のデータであってもよい。
さらに、パターン生成部302が生成した投影パターンのデータを、記憶部243等に記憶させるようにしてもよい。また、このデータは、画像データであってもよいし、投影パターンの画像を生成することができる画像データ以外のデータであってもよい。
なお、パターン生成部302が投影パターンを生成しない場合、この処理を省略することができる。例えば、投影部201が投影する投影パターンのデータが、ROM232や記憶部243等に記憶されているようにしてもよい。また、例えば、投影部201が投影する投影パターンのデータが、通信部244を介して投影撮像装置200の外部から供給されるようにしてもよい。また、例えば、投影部201が投影する投影パターンのデータが、ドライブ245によってリムーバブルメディア251から読み出されるようにしてもよい。例えばこれらの場合、投影パターンの生成を省略することができる。
ステップS103において、パターン生成部302乃至撮像制御部304は、領域設定処理を行い、位相反転領域や位相非反転領域を設定する。例えば、パターン生成部302が、図8乃至図11を参照して説明した「正弦波パターンの周期的位相反転」の例のような投影パターンや、図13および図14を参照して説明した「正弦波パターンの周期的位相反転と回転」の例のような投影パターンを生成する場合、この処理を行って、位相反転領域や位相非反転領域を設定するようにしてもよい。これらの領域の設定方法は任意である。例えば、上述した領域設定パターンを用いてこの処理を行うようにしてもよい。その場合の処理の詳細については後述する。
換言するに、例えば、パターン生成部302が、図12を参照して説明した「正弦波パターンの回転」の例のような投影パターンを生成する場合や、投影パターンを生成しない場合等は、この処理を省略することができる。
ステップS104において、投影制御部303は、パターンを投影させる。投影制御部303は、ステップS102の処理により生成された投影パターン、ROM232、記憶部243、若しくはリムーバブルメディア251等から読み出された投影パターン、または、通信部244を介して投影撮像装置200の外部から供給された投影パターンを投影部201に供給し、その投影部201を制御して、その投影パターンを画像として投影面210に投影させる。
例えば、投影制御部303は、図8乃至図11を参照して説明した「正弦波パターンの周期的位相反転」の例のような投影パターン、図12を参照して説明した「正弦波パターンの回転」の例のような投影パターン、または、図13および図14を参照して説明した「正弦波パターンの周期的位相反転と回転」の例のような投影パターンを、投影部201に投影させる。
なお、投影撮像装置200において投影パターンを投影しない場合(例えば、対応点検出に関する処理のみ行う場合や、投影画像の撮像と対応点検出に関する処理を行う場合等)は、この処理を省略することができる。
ステップS105において、撮像制御部304は、投影画像を撮像させる。例えば、撮像制御部304は、撮像部202を制御し、投影面210に投影された、図8乃至図11を参照して説明した「正弦波パターンの周期的位相反転」の例のような投影パターン、図12を参照して説明した「正弦波パターンの回転」の例のような投影パターン、または、図13および図14を参照して説明した「正弦波パターンの周期的位相反転と回転」の例のような投影パターンの投影画像を撮像させ、その投影画像の撮像画像を得る。
なお、投影撮像装置200において投影画像を撮像しない場合(例えば、投影パターンの生成や投影制御に関する処理を行う場合、対応点検出に関する処理のみ行う場合等)は、この処理を省略することができる。
ステップS106において、対応点検出部305は、撮像画像の各位置の位相を求め、対応点を検出する。例えば、対応点検出部305は、図8乃至図14を参照して説明したような各種方法により、投影パターンの投影画像を撮像した撮像画像を用いて、対応点を検出する。
以上のように対応点が検出されると、ステップS106の処理が終了すると、対応点検出処理が終了する。
以上のように、図8乃至図14を参照して説明したような各例の投影パターンを用いて、図8乃至図14を参照して説明したような方法で対応点を求めることにより、投影撮像装置200は、対応点検出精度の低減を抑制することができる。
<パターン回転量設定処理の流れ>
次に、図21のフローチャートを参照して、図20のステップS101において実行されるパターン回転量設定処理の流れの例について説明する。パターン回転量設定部301は、この処理を行うことにより、投影画像の投影パターンの繰り返し方向の角度が、撮像画像(例えば撮像画像の水平方向)に対して所望の角度(所望の範囲内の角度)になるように、パターン回転量θを設定する。
パターン回転量設定処理が開始されると、パターン回転量設定部301は、ステップS121において、投影画像に対する撮像画像の回転方向の相対角度が未知であるか否かを判定する。つまり、パターン回転量設定部301は、投影パターンを投影する投影部と、その投影画像を撮像する撮像部との間の回転方向の相対姿勢が既知であるか否かを判定する。
例えば、投影部と撮像部が別体として構成される場合のように、投影部に対する撮像部の回転方向の相対姿勢が予め定まっていない場合(任意の相対姿勢で設置することができる場合)、この相対角度は未知である。つまり、撮像画像において投影画像がどのような角度で傾くかが不明である。
このように相対角度が未知であると判定された場合、処理はステップS122に進む。ステップS122において、パターン回転量設定部301は、パターン回転量θを初期値に設定する。このパターン回転量θは、投影パターンを生成する際にパターン(例えば正弦波パターン)を回転する角度を示す。この初期値は任意である。例えば、「0度」としてもよいし、それ以外の角度であってもよい。
ステップS123において、パターン生成部302は、パターン回転量θでパターンを回転する。つまり、パターン生成部302は、例えば、予め用意された正弦波パターンを、このパターン回転量θで指定される角度だけ回転する。もちろん、このような、予め用意されたパターンからパターン回転量θの分だけ回転されたパターンの生成方法は任意である。
ステップS124において、投影制御部303は、ステップS123において生成されたパターンを投影パターンとして投影部201に供給し、投影部201を制御して、その投影パターンを画像として投影面210に投影させる。
ステップS125において、撮像制御部304は、撮像部202を制御し、ステップS124の処理により投影面210に投影された投影画像を撮像させ、その投影画像の撮像画像を得る。
ステップS126において、パターン回転量設定部301は、ステップS125の処理により得られた撮像画像に含まれる投影画像の投影パターンの繰り返し方向の、撮像画像に対する回転量を求める。例えば、パターン回転量設定部301は、投影画像の投影パターンの繰り返し方向の角度が、撮像画像における水平方向に対してどの程度傾いているかを求める。もちろん、この回転量の基準となる方向は任意であり、撮像画像における水平方向以外であってもよい。
ステップS127において、パターン回転量設定部301は、ステップS126の処理により求められた回転量が所定の目標範囲内であるか否かを判定する。この目標範囲は任意である。例えば、撮像画像における水平方向に対して40度乃至50度を目標範囲としてもよい。その場合、例えば、撮像画像における投影画像の投影パターンの繰り返し方向の角度が撮像画像における水平方向に対して45度傾いているとき、パターン回転量設定部301は、目標範囲内であると判定する。
なお、目標範囲の代わりに目標値を用いてもよい。その場合、パターン回転量設定部301は、ステップS126の処理により求められた回転量が所定の目標値であるか否かを判定する。もちろん、この目標値も任意である。例えば、撮像画像における水平方向に対して45度としてもよい。
撮像画像における投影画像の投影パターンの繰り返し方向の角度が目標範囲外であると判定された場合、処理はステップS128に進む。
ステップS128において、パターン回転量設定部301は、パターン回転量θを所定の角度(例えば10度)分、インクリメントする。もちろん、デクリメントでもよい。ステップS128の処理が終了すると、処理はステップS123に戻り、それ以降の処理を繰り返す。つまり、新たなパターン回転量θで上述した各処理を再度行う。
また、ステップS127において、ステップS126の処理により求められた回転量が目標範囲内であると判定された場合、処理はステップS129に進む。
ステップS129において、パターン回転量設定部301は、パターン回転量θをその時点の値に設定する。つまり、投影パターン生成の際に、このように設定されたパターン回転量θの分、正弦波パターンを回転することにより、撮像画像における投影パターンの繰り返し方向の角度が、所望の角度(所望の範囲の角度)となるようにすることができる。ステップS129の処理が終了すると、パターン回転量設定処理が終了し、処理は図20に戻る。
また、図21のステップS121において、投影画像に対する撮像画像の相対角度が既知であると判定された場合、処理はステップS130に進む。例えば、投影部に対して撮像部が固定されており、設置時の相対姿勢が予め既知であるような場合、パターン回転量θはその相対姿勢に応じて決定することができる。
したがって、ステップS130において、パターン回転量設定部301は、その既知の相対角度に基づいて、パターン回転量θを設定する。投影パターン生成の際に、このように設定されたパターン回転量θの分、正弦波パターンを回転することにより、撮像画像における投影パターンの繰り返し方向の角度が、所望の角度(所望の範囲の角度)となるようにすることができる。ステップS130の処理が終了すると、パターン回転量設定処理が終了し、処理は図20に戻る。
以上のようにパターン回転量設定処理を行うことにより、投影部と撮像部の相対姿勢に関わらずに、撮像画像における投影パターンの繰り返し方向を所望の角度(所望の範囲の角度)にすることができる。つまり、このような処理を行うことにより、投影撮像装置200は、図12を参照して説明した「正弦波パターンの回転」の例のような投影パターン、または、図13および図14を参照して説明した「正弦波パターンの周期的位相反転と回転」の例のような投影パターンをより確実に生成することができる。
<領域設定処理の流れの例>
次に、図22のフローチャートを参照して、図20のステップS103において実行される領域設定処理の流れの例について説明する。
領域設定処理が開始されると、投影制御部303は、ステップS151において、例えば領域設定パターン141や領域設定パターン181等のような、1つ目の領域設定パターンを投影部201に供給し、その投影部201を制御して、その領域設定パターンを画像として投影面210に投影させる。
ステップS152において、撮像制御部304は、ステップS152において、撮像部202を制御し、ステップS151の処理により投影面210に投影された投影画像を撮像させ、その撮像画像を得る。
ステップS153において、投影制御部303は、ステップS151において、例えば領域設定パターン142や領域設定パターン182等のような、2つ目の領域設定パターン(1つ目の領域設定パターンの各領域が反転されたパターン)を投影部201に供給し、その投影部201を制御して、その領域設定パターンを画像として投影面210に投影させる。
ステップS154において、撮像制御部304は、ステップS152において、撮像部202を制御し、ステップS151の処理により投影面210に投影された投影画像を撮像させ、その撮像画像を得る。
ステップS155において、パターン生成部302は、ステップS152の処理により得られた撮像画像と、ステップS154の処理により得られた撮像画像との差分を求め、その差分を用いて、例えば図14や図18を参照して説明した例のように、位相非反転領域と位相反転領域とを設定する。この設定方法は任意であり、上述した例に限定されない。
ステップS155の処理が終了すると、領域設定処理が終了し、処理は図20に戻る。
以上のように領域設定処理を行い、位相非反転領域と位相反転領域とを設定することにより、投影撮像装置200は、対応点検出におけるノイズに対する耐性を向上させることができる。
<4.第3の実施の形態>
<応用例>
本技術を適用した投影撮像装置の構成は、上述した例に限定されない。つまり、上述した例以外の構成の投影撮像装置においても、本技術を適用することができる。
例えば、投影部201や撮像部202の数は任意であり、複数であってもよい。また投影部201の数と撮像部202の数とが互いに一致していなくてもよい。例えば、図23のAに示される投影撮像装置400のように、投影部201を3つ(投影部201−1、投影部201−2、投影部201−3)有し、撮像部202を2つ(撮像部202−1および撮像部202−2)有する場合であっても、本技術を適用することができる。
このような投影撮像装置400のように、投影部201や撮像部202が複数存在する場合、それらの投影部201と撮像部202との全ての組み合わせについて、第1の実施の形態や第2の実施の形態等において上述した各種方法で、互いの対応点を検出するようにすればよい。
なお、投影部201と撮像部202の位置関係は当然任意であり、図15や図23のAの例に限定されない。
また、投影撮像装置200の制御部221を、投影部201や撮像部202から独立した1つの装置として構成するようにしてもよい。例えば、図23のBに示されるような投影撮像システム410においても、本技術を適用することができる。
図23のBに示される投影撮像システム410は、投影撮像装置401と制御装置402とにより構成されるシステムであり、システム全体で、投影撮像装置200と同様の処理を行う。投影撮像装置401は、投影部201と撮像部202を有する。制御装置402は、投影撮像装置200の制御部221と同等の構成を有し、制御部221と同等の処理を行う。つまり、制御装置402は、ケーブル等を介して投影撮像装置401に接続され、投影撮像装置401の投影部201や撮像部202を制御したり、投影部201と撮像部202との間の画素の対応点の検出に関する処理を行ったり、投影パターンの生成を行ったりすることができる。
さらに、投影部201と撮像部202とを互いに独立した装置として構成するようにしてもよい。例えば、図23のCに示されるような投影撮像システム410においても、本技術を適用することができる。
図23のCに示される投影撮像システム410は、投影装置411と撮像装置412と制御装置413とにより構成されるシステムであり、システム全体で、投影撮像装置200と同様の処理を行う。投影装置411は投影部201を有する。撮像装置412は撮像部202を有する。制御装置413は、制御装置402と同様の装置であり、投影撮像装置200の制御部221と同等の構成を有し、制御部221と同等の処理を行う。つまり、制御装置413は、ケーブル等を介して投影装置411および撮像装置412に接続され、投影装置411の投影部201や撮像装置412の撮像部202を制御したり、それらの投影部201と撮像部202との間の画素の対応点の検出に関する処理を行ったり、投影パターンの生成を行ったりすることができる。
もちろん、投影撮像システム410の場合も、投影部201や撮像部202の数は任意であり、複数であってもよいし、互いに同数でなくてもよい。また、投影部201や撮像部202を有する装置が複数システムに含まれる場合、各装置の構成が互いに異なっていてもよい。例えば、投影撮像装置401、投影装置411、撮像装置412が混在するようにしてもよい。また、投影撮像装置200や投影撮像装置400もシステムに含まれるようにしてもよい。もちろん、これらの例以外の構成の投影装置や、撮像装置や、投影撮像装置がシステムに含まれるようにしてもよい。
いずれの構成の場合であっても、投影部201と撮像部202との全ての組み合わせについて、第1の実施の形態や第2の実施の形態等において上述した各種方法で、互いの対応点を検出するようにすればよい。この投影部201と撮像部202の組み合わせは、互いに同一の装置に含まれる者同士で無くてもよい。例えば、図23のCの例の場合、投影装置411の投影部201と、撮像装置412の撮像部202との間で、上述した各種方法で対応点を検出すればよい。
また、図24のAに示される投影撮像システム420のように、複数の投影撮像装置200(投影撮像装置200−1乃至投影撮像装置200−N(Nは2以上の整数))がケーブル421により互いに通信可能に接続されるシステムにおいても、本技術を適用することができる。つまり、制御部221が複数存在してもよい。その場合、各装置の制御部221同士が協働し、1つの制御部221として処理を実行するようにしてもよいし、いずれかの制御部221がマスタとして主導的に動作し、その他の制御部221がスレーブとして従属的に動作するようにしてもよい。
また、図24のBに示される投影撮像システム420のように、各投影撮像装置200と独立した制御装置423を設け、その制御装置423が、各投影撮像装置200を制御するようにしてもよい。図24のBの例の場合、制御装置423は、所定のネットワーク422(例えばインターネットやLAN等)を介して複数の投影撮像装置200(投影撮像装置200−1乃至投影撮像装置200−N(Nは2以上の整数))のそれぞれと通信可能に接続されている。この制御装置423が、上述した各種方法で、全ての投影部201と撮像部202との間で、対応点を検出すればよい。
例えば、以上のような、投影撮像装置400、投影撮像システム410、投影撮像システム420では、複数の投影部201を用いて互いに協働して画像を投影することができる。
<協働した投影>
例えば、解像度4K(例えば4096x2160)、フレームレート60fps、プログレッシブ走査方式の画像(4K@60P)を含むコンテンツデータが投影撮像システム420(図24のA)に供給されるとする。各投影撮像装置200は、その画像(4K@60P)の内の、自身に割り当てられた部分画像(例えば、解像度フルHD、フレームレート60fps、プログレッシブ走査方式の画像(1080@60P))を切り出して、投影面に投影する。
例えば、投影撮像システム420の投影撮像装置200−1、投影撮像装置200−2、投影撮像装置200−3、投影撮像装置200−4が、図25のAのような配置で画像を投影するとする。図25のAに示される例では、これらの投影撮像装置200の投影画像が投影面450上で縦に2つ、横に2つ(2x2)並ぶ位置に投影されている。より具体的には、投影撮像装置200−1の投影画像451−1は、投影面450の左上に投影され、投影撮像装置200−2の投影画像451−2は、投影面450の右上に投影され、投影撮像装置200−3の投影画像451−3は、投影面450の左下に投影され、投影撮像装置200−4の投影画像451−4は、投影面450の右下に投影されている。
図25のAに示されるように、これらの投影画像451(投影画像451−1乃至投影画像451−4)は、その一部が互いに重なり、1つの領域を形成している。これらの投影画像451には、上述した部分画像(1080@60P)が含まれており、図25のAのように投影された状態において、投影面450上に画像(4K@60P)の投影画像452が形成されるようになされている。より具体的には、投影画像451−1には、投影画像452(4K@60P)の左上の部分画像が含まれており、投影画像451−2には、投影画像452(4K@60P)の右上の部分画像が含まれており、投影画像451−3には、投影画像452(4K@60P)の左下の部分画像が含まれており、投影画像451−4には、投影画像452(4K@60P)の右下の部分画像が含まれている。上述したようにこれらの投影画像451同士はその一部が重なり合うので、各投影画像451に含まれる部分画像は、フルHDよりも高解像度(つまり、広範囲)の画像であってもよい。
このように、各投影撮像装置200を協働させることにより、投影撮像システム420は、解像度4Kの画像(4K@60P)を、解像度を落とさずに(画質を低減させずに)投影することができる。
なお、このような投影画像452を実現するためには、各投影画像451の位置合わせや幾何補正等を行う必要がある。各投影撮像装置200は、その撮像部202を用いて各投影撮像装置200の投影部201が投影した投影画像451をセンシングすることができる。図25のBの例では、投影撮像装置200−1のと撮像部202が、投影撮像装置200−4の投影画像451−4(部分画像452−4)を撮像している。制御部221は、このセンサデータを基に、各種補正を行うことにより、投影面450上において、各部分画像がより自然な形で合成され、1つの投影画像452が形成されるようにすることができる。
画像補正の内容としては、例えば、図25のBに示されるように、プロジェクタ個体差補正、オーバーラップ補正、スクリーン形状補正等がある。プロジェクタ個体差補正は、例えば、輝度、ガンマ、ブライトネス、コントラスト、ホワイトバランス、色味等に対する補正である。オーバーラップ補正は、投影画像451同士が重なり合う領域であるオーバーラップ領域に対する補正である。例えば、レベル補正や歪み補正等がある。スクリーン形状補正は、投影面450の形状や姿勢に対応するための補正である。例えば、射影変換(平面、球形、シリンドリカル(円柱状)、多項式曲線)がある。もちろん、これら以外の補正が行われるようにしてもよい。
例えば図26に示されるように、投影面450が投影撮像装置200に対して斜め方向に向いている場合、補正をしないと投影画像が歪んでしまうが、射影変換等によりその歪みを低減させることができる。また、例えば、図27の例のように曲面に複数の画像を投影する場合も、射影変換等により、1つの画像のように投影することができる。
このような各種補正を行うためには、各投影部201と各撮像部202との間で、画素の対応点を検出しておく必要がある。その際、本技術を適用することにより、すなわち、第1の実施の形態や第2の実施の形態において上述した各種方法を用いることにより、対応点検出精度の低減を抑制することができる。すなわち、これらの各種補正をより正確に行うことができ、投影画像の画質の低減を抑制することができる。
<投影撮像システムの利用例>
このような投影撮像システムを用いることにより、様々な投影が可能になる。例えば、図28のAのように複数の投影画像を並べることにより、投影画像の解像度を増大させることができる。また、図28のBの例のように、各投影撮像装置200が投影する各投影画像(部分画像)の並べ方によって、投影画像(画像全体)のアスペクト比を、各投影撮像装置200のスペックに依存せずに自由に設定することができる。
また、図28のCの例のように、複数の壁や天井に(つまり、複数の方向を向いたスクリーン(換言するに立体構造))に対して画像を歪みなく投影させることができる。さらに、図28のDの例のように、視聴者を取り囲むような広範囲かつ曲面のスクリーンに対して画像を歪みなく投影させることもできる。
このような投影面の自由度が向上することにより、投影画像の表現力が増大するので、例えば臨場感や視認性を向上させることができ、表現の娯楽性や芸術性を向上させることができる。
このような多様な投影を行う様々な投影撮像システムにおいて、本技術を適用することができる。換言するに、本技術を適用することにより、このような多様な投影方法において、各種補正をより正確に行うことができるようになり、投影画像の画質の低減を抑制することができるようになる。
なお、以上においては、本技術を、画像を投影する投影撮像装置や投影撮像システムに適用するように説明したが、本技術は、投影部と撮像部との間で画素の対応点の検出を行う任意の装置やシステムに適用することができる。例えば、物体形状を計測する装置やシステム等にも適用することができる。また、以上においては、本技術を位相シフト法(マルチ位相シフト法)に適用する場合について説明したが、本技術は、例えば、グレーコード等、位相シフト法(マルチ位相シフト法)以外の対応点検出方法にも適用することができる。
<ソフトウェア>
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図16に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されているリムーバブルメディア251により構成される。このリムーバブルメディア251には、磁気ディスク(フレキシブルディスクを含む)や光ディスク(CD-ROMやDVDを含む)が含まれる。さらに、光磁気ディスク(MD(Mini Disc)を含む)や半導体メモリ等も含まれる。その場合、例えば、リムーバブルメディア251をドライブ245に装着することにより、そのリムーバブルメディア251に記憶されているこのプログラムを読み出させ、記憶部243にインストールさせることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、例えば、プログラムは、通信部244で受信し、記憶部243にインストールすることができる。
その他、このプログラムは、記憶部やROM等に、あらかじめインストールしておくこともできる。例えば、プログラムは、記憶部243やROM232等に、あらかじめインストールしておくこともできる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、上述した各ステップの処理は、上述した各装置、若しくは、上述した各装置以外の任意の装置において、実行することができる。その場合、その処理を実行する装置が、上述した、その処理を実行するのに必要な機能(機能ブロック等)を有するようにすればよい。また、処理に必要な情報を、適宜、その装置に伝送するようにすればよい。
<その他>
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
なお、本技術は以下のような構成も取ることができる。
<投影制御:位相反転>
(1) 投影部と撮像部との間の画素の対応関係を求めるために、第1の方向に第1の周期で繰り返される第1のパターンを前記第1の方向と直交する第2の方向に第2の周期で位相反転した第2のパターンを前記投影部に投影させる投影制御部
を備える情報処理装置。
(2) 前記第1のパターンは、所定のパラメータが正弦波状に変化するパターンである
(1)に記載の情報処理装置。
(3) 前記パラメータは、輝度である
(2)に記載の情報処理装置。
(4) 前記第1の方向は、位相を検出する方向と異なる方向である
(1)乃至(3)のいずれかに記載の情報処理装置。
(5) 前記第1の方向は、前記撮像部が撮像して得る撮像画像における垂直方向に対して所定の範囲内の角度に傾斜した方向である
(1)乃至(4)のいずれかに記載の情報処理装置。
(6) 前記範囲は40度乃至50度である
(5)に記載の情報処理装置。
(7) 前記投影制御部は、前記第2のパターンを投影させる前に、前記第2の方向に前記第2の周期で繰り返される第3のパターン、並びに、前記第3のパターンと位相が逆の第4のパターンを前記投影部に投影させる
(1)乃至(6)のいずれかに記載の情報処理装置。
(8) 前記第3のパターンおよび前記第4のパターンは、位相が互いに逆の2値が前記第2の方向に前記第2の周期で繰り返されるパターンである
(7)に記載の情報処理装置。
(9) 前記投影制御部は、前記第2の方向に前記第1の周期で繰り返される前記第1のパターンを前記第1の方向に第2の周期で位相反転した第5のパターンを前記投影部にさらに投影させる
(1)乃至(8)のいずれかに記載の情報処理装置。
(10) 前記投影制御部は、前記第1のパターンの位相が互いにずれた複数の前記第2のパターンを前記投影部に投影させる
(1)乃至(9)のいずれかに記載の情報処理装置。
(11) 前記投影制御部は、前記第1のパターンの位相が互いに120度ずれた3つの前記第2のパターンを前記投影部に投影させる
(10)に記載の情報処理装置。
(12) 前記投影制御部は、前記第1の周期が互いに異なる複数の前記第2のパターンの画像を前記投影部に投影させる
(1)乃至(11)のいずれかに記載の情報処理装置。
(13) 前記第2のパターンを生成する生成部をさらに備え、
前記投影制御部は、前記生成部により生成された前記第2のパターンを前記投影部に投影させる
(1)乃至(12)のいずれかに記載の情報処理装置。
(14) 前記生成部は、前記第1の方向に前記第1の周期で繰り返される前記第1のパターンを前記第2の方向に前記第2の周期で位相反転することにより、前記第2のパターンを生成する
(13)に記載の情報処理装置。
(15) 前記生成部は、前記第1の周期で繰り返される前記第1のパターンの繰り返しの方向を前記第1の方向に変え、さらに、前記第2の方向に前記第2の周期で位相反転することにより、前記第2のパターンを生成する
(13)に記載の情報処理装置。
(16) 前記第1のパターンのデータを記憶する記憶部をさらに備え、
前記生成部は、前記記憶部に記憶されている前記第1のパターンのデータを用いて、前記第2のパターンを生成する
(11)乃至(15)のいずれかに記載の情報処理装置。
(17) 前記投影部をさらに備え、
前記投影部は、前記投影制御部の制御に従って、前記第2のパターンを投影面に投影する
(1)乃至(16)のいずれかに記載の情報処理装置。
(18) 前記撮像部をさらに備え、
前記撮像部は、前記投影部が投影した前記第2のパターンの投影画像を撮像し、撮像画像を得る
(1)乃至(17)のいずれかに記載の情報処理装置。
(19) 前記撮像部により得られる、前記投影部が投影した前記第2のパターンの投影画像の撮像画像を用いて、前記投影部と前記撮像部との間の画素の対応点を検出する対応点検出部をさらに備える
(1)乃至(18)のいずれかに記載の情報処理装置。
(20) 投影部と撮像部との間の画素の対応関係を求めるために、第1の方向に第1の周期で繰り返される第1のパターンを前記第1の方向と直交する第2の方向に第2の周期で位相反転した第2のパターンを前記投影部に投影させる
情報処理方法。
<対応点検出:位相反転>
(21) 投影部が投影面に投影した、第1の方向に第1の周期で繰り返される第1のパターンを前記第1の方向と直交する第2の方向に第2の周期で位相反転した第2のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、前記投影部と前記撮像部との間の画素の対応点を検出する対応点検出部
を備える情報処理装置。
(22) 前記第1のパターンは、所定のパラメータが正弦波状に変化するパターンである
(21)に記載の情報処理装置。
(23) 前記パラメータは、輝度である
(22)に記載の情報処理装置。
(24) 前記対応点検出部は、前記パラメータの変化を位相として求め、前記位相に基づいて、前記対応点を検出する
(22)または(23)に記載の情報処理装置。
(25) 前記対応点検出部は、前記第2のパターンにおいて位相が反転される領域については、前記位相を反転して前記対応点を検出する
(24)に記載の情報処理装置。
(26) 前記対応点検出部は、前記撮像部により得られた、前記投影部が前記第2のパターンを投影する前に投影した前記第2の方向に前記第2の周期で繰り返される第3のパターンの投影画像、並びに、前記第3のパターンと位相が逆の第4のパターンの投影画像のそれぞれの撮像画像を用いて、前記第2のパターンにおいて位相が反転される領域を求める
(25)に記載の情報処理装置。
(27) 前記第3のパターンおよび前記第4のパターンは、位相が互いに逆の2値が前記第2の方向に前記第2の周期で繰り返されるパターンである
(26)に記載の情報処理装置。
(28) 前記第1の方向は、位相を検出する方向と異なる方向である
(21)乃至(27)のいずれかに記載の情報処理装置。
(29) 前記第1の方向は、前記撮像部が撮像して得る撮像画像における垂直方向に対して所定の範囲内の角度に傾斜した方向である
(21)乃至(28)のいずれかに記載の情報処理装置。
(30) 前記範囲は40度乃至50度である
(29)に記載の情報処理装置。
(31) 前記対応点検出部は、さらに、前記投影部が前記投影面に投影した、前記第2の方向に前記第1の周期で繰り返される前記第1のパターンを前記第1の方向に第2の周期で位相反転した第5のパターンの投影画像を前記撮像部が撮像して得られた撮像画像を用いて、前記対応点を検出する
(21)乃至(30)のいずれかに記載の情報処理装置。
(32) 前記対応点検出部は、前記投影部が前記投影面に投影した、前記第1のパターンの位相が互いにずれた複数の前記第2のパターンの投影画像を前記撮像部が撮像して得られた撮像画像を用いて、前記対応点を検出する
(21)乃至(31)のいずれかに記載の情報処理装置。
(33) 前記対応点検出部は、前記投影部が前記投影面に投影した、前記第1のパターンの位相が互いに120度ずれた3つの前記第2のパターンの投影画像を前記撮像部が撮像して得られた撮像画像を用いて、前記対応点を検出する
(32)に記載の情報処理装置。
(34) 前記対応点検出部は、前記投影部が前記投影面に投影した、前記第1の周期が互いに異なる複数の前記第2のパターンの投影画像を前記撮像部が撮像して得られた撮像画像を用いて、前記対応点を検出する
(21)乃至(33)のいずれかに記載の情報処理装置。
(35) 前記撮像部をさらに備える
(21)乃至(34)のいずれかに記載の情報処理装置。
(36) 前記投影部をさらに備える
(21)乃至(35)のいずれかに記載の情報処理装置。
(37) 前記投影部を制御する投影制御部をさらに備える
(21)乃至(36)のいずれかに記載の情報処理装置。
(38) 前記第2のパターンを生成する生成部をさらに備え、
前記投影制御部は、前記生成部により生成された前記第2のパターンを前記投影部に投影させる
(37)に記載の情報処理装置。
(39) 前記生成部は、前記第1の方向に前記第1の周期で繰り返される前記第1のパターンを前記第2の方向に前記第2の周期で位相反転することにより、前記第2のパターンを生成する
(38)に記載の情報処理装置。
(40) 前記生成部は、前記第1の周期で繰り返される前記第1のパターンの繰り返しの方向を前記第1の方向に変え、さらに、前記第2の方向に前記第2の周期で位相反転することにより、前記第2のパターンを生成する
(38)に記載の情報処理装置。
(41) 前記第1のパターンのデータを記憶する記憶部をさらに備え、
前記生成部は、前記記憶部に記憶されている前記第1のパターンのデータを用いて、前記第2のパターンを生成する
(38)乃至(40)のいずれかに記載の情報処理装置。
(42) 投影部が投影面に投影した、第1の方向に第1の周期で繰り返される第1のパターンを前記第1の方向と直交する第2の方向に第2の周期で位相反転した第2のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、前記投影部と前記撮像部との間の画素の対応点を検出する
情報処理方法。
<投影制御:パターン回転>
(51) 投影部と撮像部との間の画素の対応関係を求めるために、位相を検出する方向と異なる第1の方向に所定の周期で繰り返される所定のパターンを前記投影部に投影させる投影制御部
を備える情報処理装置。
(52) 前記所定のパターンは、所定のパラメータが正弦波状に変化するパターンである
(51)に記載の情報処理装置。
(53) 前記パラメータは、輝度である
(52)に記載の情報処理装置。
(54) 前記第1の方向は、前記撮像部が撮像して得る撮像画像における垂直方向に対して所定の範囲内の角度に傾斜した方向である
(51)乃至(53)のいずれかに記載の情報処理装置。
(55) 前記範囲は40度乃至50度である
(54)に記載の情報処理装置。
(56) 前記投影制御部は、前記第1の方向に直交する第2の方向に前記所定の周期で繰り返される前記所定のパターンを前記投影部にさらに投影させる
(51)乃至(55)のいずれかに記載の情報処理装置。
(57) 前記投影制御部は、位相が互いにずれた複数の前記所定のパターンを前記投影部に投影させる
(51)乃至(56)のいずれかに記載の情報処理装置。
(58) 前記投影制御部は、位相が互いに120度ずれた3つの前記所定のパターンの画像を投影させる
(57)に記載の情報処理装置。
(59) 前記投影制御部は、前記所定の周期が互いに異なる複数の前記所定のパターンを前記投影部に投影させる
(51)乃至(58)のいずれかに記載の情報処理装置。
(60) 前記第1の方向に前記所定の周期で繰り返される前記所定のパターンを生成する生成部をさらに備え、
前記投影制御部は、前記生成部により生成された前記第1の方向に前記所定の周期で繰り返される前記所定のパターンを前記投影部に投影させる
(51)乃至(59)のいずれかに記載の情報処理装置。
(61) 前記生成部は、第2の方向に前記所定の周期で繰り返される前記所定のパターンの繰り返しの方向を前記第1の方向に変えることにより、前記第1の方向に前記所定の周期で繰り返される前記所定のパターンを生成する
(60)に記載の情報処理装置。
(62) 前記所定のパターンのデータを記憶する記憶部をさらに備え、
前記生成部は、前記記憶部に記憶されている前記所定のパターンのデータを用いて、前記第1の方向に前記所定の周期で繰り返される前記所定のパターンを生成する
(60)または(61)に記載の情報処理装置。
(63) 前記投影部をさらに備え、
前記投影部は、前記投影制御部の制御に従って、前記第1の方向に前記所定の周期で繰り返される前記所定のパターンを投影面に投影する
(51)乃至(62)のいずれかに記載の情報処理装置。
(64) 前記撮像部をさらに備え、
前記撮像部は、前記投影部が投影した前記第1の方向に前記所定の周期で繰り返される前記所定のパターンの投影画像を撮像して前記撮像画像を得る
(51)乃至(63)のいずれかに記載の情報処理装置。
(65) 前記撮像部により得られる、前記投影部が投影した前記第1の方向に前記所定の周期で繰り返される前記所定のパターンの投影画像の前記撮像画像を用いて、前記投影部と前記撮像部との間の画素の対応点を検出する対応点検出部をさらに備える
(51)乃至(64)のいずれかに記載の情報処理装置。
(66) 投影部と撮像部との間の画素の対応関係を求めるために、位相を検出する方向と異なる第1の方向に所定の周期で繰り返される所定のパターンを前記投影部に投影させる
情報処理方法。
<対応点検出:パターン回転>
(71) 投影部が投影面に投影した位相を検出する方向と異なる第1の方向に所定の周期で繰り返される所定のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、前記投影部と前記撮像部との間の画素の対応点を検出する対応点検出部
を備える情報処理装置。
(72) 前記所定のパターンは、所定のパラメータが正弦波状に変化するパターンである
(71)に記載の情報処理装置。
(73) 前記パラメータは、輝度である
(72)に記載の情報処理装置。
(74) 前記対応点検出部は、前記パラメータの変化を位相として求め、前記位相に基づいて、前記対応点を検出する
(72)または(73)に記載の情報処理装置。
(75) 前記第1の方向は、位相を検出する方向と異なる方向である
(71)乃至(74)のいずれかに記載の情報処理装置。
(76) 前記第1の方向は、前記撮像部が撮像して得る撮像画像における垂直方向に対して所定の範囲内の角度に傾斜した方向である
(71)乃至(75)のいずれかに記載の情報処理装置。
(77) 前記範囲は40度乃至50度である
(76)に記載の情報処理装置。
(78) 前記対応点検出部は、さらに、前記投影部が前記投影面に投影した、前記第1の方向に直交する第2の方向に前記所定の周期で繰り返される前記所定のパターンの投影画像を前記撮像部が撮像して得られた撮像画像を用いて、前記対応点を検出する
(71)乃至(77)のいずれかに記載の情報処理装置。
(79) 前記対応点検出部は、前記投影部が前記投影面に投影した、位相が互いにずれた複数の前記所定のパターンの投影画像を前記撮像部が撮像して得られた撮像画像を用いて、前記対応点を検出する
(71)乃至(78)のいずれかに記載の情報処理装置。
(80) 前記対応点検出部は、前記投影部が前記投影面に投影した、位相が互いに120度ずれた3つの前記所定のパターンの投影画像を前記撮像部が撮像して得られた撮像画像を用いて、前記対応点を検出する
(79)に記載の情報処理装置。
(81) 前記対応点検出部は、前記投影部が前記投影面に投影した、前記所定の周期が互いに異なる複数の前記所定のパターンの投影画像を前記撮像部が撮像して得られた撮像画像を用いて、前記対応点を検出する
(71)乃至(80)のいずれかに記載の情報処理装置。
(82) 前記撮像部をさらに備える
(71)乃至(81)のいずれかに記載の情報処理装置。
(83) 前記投影部をさらに備える
(71)乃至(82)のいずれかに記載の情報処理装置。
(84) 前記投影部を制御する投影制御部をさらに備える
(71)乃至(83)のいずれかに記載の情報処理装置。
(85) 前記第1の方向に前記所定の周期で繰り返される前記所定のパターンを生成する生成部をさらに備え、
前記投影制御部は、前記生成部により生成された前記第1の方向に前記所定の周期で繰り返される前記所定のパターンを前記投影部に投影させる
(84)に記載の情報処理装置。
(86) 前記生成部は、第2の方向に前記所定の周期で繰り返される前記所定のパターンの繰り返しの方向を前記第1の方向に変えることにより、前記第1の方向に前記所定の周期で繰り返される前記所定のパターンを生成する
(85)に記載の情報処理装置。
(87) 前記所定のパターンのデータを記憶する記憶部をさらに備え、
前記生成部は、前記記憶部に記憶されている前記所定のパターンのデータを用いて、前記第1の方向に前記所定の周期で繰り返される前記所定のパターンを生成する
(85)または(86)に記載の情報処理装置。
(88) 投影部が投影面に投影した位相を検出する方向と異なる第1の方向に所定の周期で繰り返される所定のパターンの投影画像を撮像部が撮像して得られた撮像画像を用いて、前記投影部と前記撮像部との間の画素の対応点を検出する
情報処理方法。