(57)【要約】  本開示は、対応点検出の不可視性を向上させることができるようにする画像処理装置および方法、データ、並びに記録媒体に関する。投影部により投影された例えば曲線１０２−１や曲線１０２−２のようなガウス関数の輝度分布を有する例えばパタン１０１−１やパタン１０１−２等が複数配置された所定の構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する。本開示は、例えば、画像処理装置、投影装置、撮像装置、投影撮像装置、制御装置、または投影撮像システム等に適用することができる。
2017104447.tif 000002
【特許請求の範囲】
【請求項１】
投影部により投影されたガウス関数の輝度分布を有するパタンが複数配置された所定の構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する対応点検出部
を備える画像処理装置。
【請求項２】
投影部により投影されたガウス関数の輝度分布を有するパタンが複数配置された所定の構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する
画像処理方法。
【請求項３】
投影部により投影された、複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された前記構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する対応点検出部
を備える画像処理装置。
【請求項４】
前記対応点検出部は、
前記パタン撮像画像に含まれる前記パタンを変数化して順列展開して符号列を求め、
前記パタン撮像画像に含まれる前記パタンに対応する前記符号列に一致する符号列に対応する前記部分領域を前記構造化光パタンにおいて検索して、前記対応点を検出する
請求項３に記載の画像処理装置。
【請求項５】
前記対応点検出部は、
前記パタン撮像画像に含まれる前記パタンに対応する前記符号列に一致する符号列を前記構造化光パタンの各部分領域に対応する符号列群の中から検索し、
符号列が一致した前記部分領域の前記構造化光パタンにおける位置に基づいて、前記対応点を検出する
請求項４に記載の画像処理装置。
【請求項６】
前記構造化光パタンの各部分領域に対応する符号列群は、互いに異なるグループに属する符号列のみにより構成され、
前記対応点検出部は、前記パタン撮像画像に含まれる前記パタンに対応する前記符号列と同一のグループに属する全ての符号列について、前記構造化光パタンの各部分領域に対応する符号列群の中から一致する符号列を検索することができるように構成される
請求項５に記載の画像処理装置。
【請求項７】
前記グループは、所定のパタン群の各パタンを変数化して順列展開した符号列、および、前記パタン群を所定の角度回転して各パタンを変数化して順列展開した符号列を含む
請求項６に記載の画像処理装置。
【請求項８】
前記対応点検出部は、前記投影部が投影した任意の画像と前記構造化光パタンとの重畳画像を前記撮像部が撮像したパタン撮像画像から前記パタンを抽出する
請求項３に記載の画像処理装置。
【請求項９】
前記対応点検出部は、前記投影部が投影した任意の画像と前記構造化光パタンのポジ画像との重畳画像を前記撮像部が撮像した第１のパタン撮像画像と、前記投影部が投影した任意の画像と前記構造化光パタンのネガ画像との重畳画像を前記撮像部が撮像した第２のパタン撮像画像とを用いて、前記パタンを抽出する
請求項８に記載の画像処理装置。
【請求項１０】
前記パタンは、ガウス関数の輝度分布を有する
請求項３に記載の画像処理装置。
【請求項１１】
前記構造化光パタンは、輝度変化方向が互いに逆向きの２種類の輝度分布と、慣性主軸が互いに異なる２方向とを組み合わせた４種類のパタンにより構成される
請求項３に記載の画像処理装置。
【請求項１２】
投影部により投影された、複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された前記構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する
画像処理方法。
【請求項１３】
ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンを生成する生成部
を備える画像処理装置。
【請求項１４】
ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンを生成する
画像処理方法。
【請求項１５】
複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための前記構造化光パタンを生成する生成部
を備える画像処理装置。
【請求項１６】
複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための前記構造化光パタンを生成する
画像処理方法。
【請求項１７】
ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンのデータ。
【請求項１８】
ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンのデータが記録された記録媒体。
【請求項１９】
複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための前記構造化光パタンのデータ。
【請求項２０】
複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための前記構造化光パタンのデータが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法、データ、並びに記録媒体に関し、特に、対応点検出の不可視性を向上させることができるようにした画像処理装置および方法、データ、並びに記録媒体に関する。
【背景技術】
【０００２】
従来、プロジェクタにより投影された投影画像の歪みの低減や、複数のプロジェクタによる各投影画像の位置合わせのために、カメラによって投影画像を撮像し、その撮像画像を用いて、プロジェクタの位置や姿勢、投影面形状等に応じた投影画像の幾何補正を行う方法があった。このような方法の場合、投影画像と撮像画像との間で対応点を求める必要があった。【０００３】
例えば、コンテンツ等の画像を投影しながらその対応点を求める技術であるオンラインセンシングとして、投影画像にグレイコードを埋め込む方式（例えば、非特許文献１参照）が提案された。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Imperceptible Structured Light Ramesh Raskar, SIGGRAPH 98
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、グレイコードは、輝度変化勾配が大きく、空間的に規則的なパタンを有し、さらに、多くのパタンを投影する必要があるため、投影画像を視るユーザに知覚され易いおそれがあった。【０００６】
本開示は、このような状況に鑑みてなされたものであり、対応点検出の不可視性を向上させることができるようにするものである。
【課題を解決するための手段】
【０００７】
本技術の第１の側面の画像処理装置は、投影部により投影されたガウス関数の輝度分布を有するパタンが複数配置された所定の構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する対応点検出部を備える画像処理装置である。【０００８】
本技術の第１の側面の画像処理方法は、投影部により投影されたガウス関数の輝度分布を有するパタンが複数配置された所定の構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する画像処理方法である。【０００９】
本技術の第２の側面の画像処理装置は、投影部により投影された、複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された前記構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する対応点検出部を備える画像処理装置である。【００１０】
前記対応点検出部は、前記パタン撮像画像に含まれる前記パタンを変数化して順列展開して符号列を求め、前記パタン撮像画像に含まれる前記パタンに対応する前記符号列に一致する符号列に対応する前記部分領域を前記構造化光パタンにおいて検索して、前記対応点を検出することができる。【００１１】
前記対応点検出部は、前記パタン撮像画像に含まれる前記パタンに対応する前記符号列に一致する符号列を前記構造化光パタンの各部分領域に対応する符号列群の中から検索し、符号列が一致した前記部分領域の前記構造化光パタンにおける位置に基づいて、前記対応点を検出することができる。【００１２】
前記構造化光パタンの各部分領域に対応する符号列群は、互いに異なるグループに属する符号列のみにより構成され、前記対応点検出部は、前記パタン撮像画像に含まれる前記パタンに対応する前記符号列と同一のグループに属する全ての符号列について、前記構造化光パタンの各部分領域に対応する符号列群の中から一致する符号列を検索することができるように構成されるようにすることができる。【００１３】
前記グループは、所定のパタン群の各パタンを変数化して順列展開した符号列、および、前記パタン群を所定の角度回転して各パタンを変数化して順列展開した符号列を含むようにすることができる。【００１４】
前記対応点検出部は、前記投影部が投影した任意の画像と前記構造化光パタンとの重畳画像を前記撮像部が撮像したパタン撮像画像から前記パタンを抽出することができる。【００１５】
前記対応点検出部は、前記投影部が投影した任意の画像と前記構造化光パタンのポジ画像との重畳画像を前記撮像部が撮像した第１のパタン撮像画像と、前記投影部が投影した任意の画像と前記構造化光パタンのネガ画像との重畳画像を前記撮像部が撮像した第２のパタン撮像画像とを用いて、前記パタンを抽出することができる。【００１６】
前記パタンは、ガウス関数の輝度分布を有するようにすることができる。【００１７】
前記構造化光パタンは、輝度変化方向が互いに逆向きの２種類の輝度分布と、慣性主軸が互いに異なる２方向とを組み合わせた４種類のパタンにより構成されるようにすることができる。【００１８】
本技術の第２の側面の画像処理方法は、投影部により投影された、複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された前記構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する画像処理方法である。【００１９】
本技術の第３の側面の画像処理装置は、ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンを生成する生成部を備える画像処理装置である。【００２０】
本技術の第３の側面の画像処理方法は、ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンを生成する画像処理方法である。【００２１】
本技術の第４の側面の画像処理装置は、複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための前記構造化光パタンを生成する生成部を備える画像処理装置である。【００２２】
本技術の第４の側面の画像処理方法は、複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための前記構造化光パタンを生成する画像処理方法である。【００２３】
本技術の第５の側面のデータは、ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンのデータである。【００２４】
本技術の第５の側面の記録媒体は、ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンのデータが記録された記録媒体である。【００２５】
本技術の第６の側面のデータは、複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための前記構造化光パタンのデータである。【００２６】
本技術の第６の側面の記録媒体は、複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための前記構造化光パタンのデータが記録された記録媒体である。【００２７】
本技術の第１の側面の画像処理装置および方法においては、投影部により投影されたガウス関数の輝度分布を有するパタンが複数配置された所定の構造化光パタンを撮像部が撮像したパタン撮像画像が用いられて、その投影部により投影された投影画像とその撮像部により撮像された撮像画像との間の対応点が検出される。【００２８】
本技術の第２の側面の画像処理装置および方法においては、投影部により投影された、複数種類のパタンが複数配置された構造化光パタンであって、その構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいてその構造化光パタンにおける部分領域の位置が一意に定まるようにパタンが配置された構造化光パタンを撮像部が撮像したパタン撮像画像が用いられて、その投影部により投影された投影画像とその撮像部により撮像された撮像画像との間の対応点が検出される。【００２９】
本技術の第３の側面の画像処理装置および方法においては、ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンが生成される。【００３０】
本技術の第４の側面の画像処理装置および方法においては、複数種類のパタンが複数配置された構造化光パタンであって、その構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、その構造化光パタンにおける部分領域の位置が一意に定まるようにパタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンが生成される。【００３１】
本技術の第５の側面のデータおよび記録媒体においては、ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンが得られる。【００３２】
本技術の第６の側面のデータおよび記録媒体においては、複数種類のパタンが複数配置された構造化光パタンであって、その構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、その構造化光パタンにおける部分領域の位置が一意に定まるようにパタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンが得られる。
【発明の効果】
【００３３】
本開示によれば、画像を処理することができる。特に、対応点検出の不可視性を向上させることができる。
【図面の簡単な説明】
【００３４】
【図１】幾何補正の様子の例を示す図である。
【図２】幾何補正の様子の例を示す図である。
【図３】幾何補正の様子の例を示す図である。
【図４】対応点検出の様子の例を示す図である。
【図５】対応点検出の様子の例を示す図である。
【図６】対応点検出の様子の例を示す図である。
【図７】ISLの例を説明する図である。
【図８】グレイコードの例を示す図である。
【図９】チェッカーパタンの例を示す図である。
【図１０】構造化光パタンの例を示す図である。
【図１１】パタンの構造例を示す図である。
【図１２】パタンの種類例を示す図である。
【図１３】構造化光パタンのポジ画像とネガ画像の例を示す図である。
【図１４】対応点検出の様子の例を説明する図である。
【図１５】対応点検出の様子の例を説明する図である。
【図１６】対応点検出単位の構造化光パタンの例を示す図である。
【図１７】順列展開の様子の例を説明する図である。
【図１８】変数識別の誤りの例を説明する図である。
【図１９】展開順序の誤りの例を説明する図である。
【図２０】構造化光パタンに採用される符号列の例を説明する図である。
【図２１】構造化光パタン生成装置の主な構成例を示すブロック図である。
【図２２】構造化光パタン生成装置が実現する機能例を示す機能ブロック図である。
【図２３】構造化光パタン生成処理の流れの例を説明するフローチャートである。
【図２４】符号列生成の様子の例を説明する図である。
【図２５】投影撮像システムの主な構成例を示すブロック図である。
【図２６】制御装置の主な構成例を示すブロック図である。
【図２７】制御装置が実現する機能例を示す機能ブロック図である。
【図２８】対応点検出部が実現する機能例を示す機能ブロック図である。
【図２９】投影撮像装置の主な構成例を示すブロック図である。
【図３０】投影部の主な構成例を示すブロック図である。
【図３１】レーザ光の走査の例を示す図である。
【図３２】幾何補正処理の流れの例を説明するフローチャートである。
【図３３】投影撮像処理の流れの例を説明するフローチャートである。
【図３４】対応点検出処理の流れの例を説明するフローチャートである。
【図３５】対応点検出処理の流れの例を説明する、図３４に続くフローチャートである。
【図３６】順列符号展開の様子の例を説明する図である。
【図３７】幾何補正の様子の例を説明する図である。
【図３８】投影撮像システムの他の構成例を示すブロック図である。
【図３９】投影撮像システムや投影撮像装置の主な構成例を示すブロック図である。
【発明を実施するための形態】
【００３５】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（構造化光パタン）
２．第２の実施の形態（構造化光パタン生成装置）
３．第３の実施の形態（投影撮像システム）
４．第４の実施の形態（投影撮像システム・投影撮像装置）
【００３６】
＜１．第１の実施の形態＞
＜対応点検出と幾何補正＞
プロジェクタの投影面（スクリーンや壁等）に対する姿勢（位置や向き等）や投影面の形状等によって、例えば図１のＡのように、投影された画像（投影画像とも称する）が歪み、見づらくなってしまう場合がある。このような場合、プロジェクタが投影する画像に対して歪みの補正等の幾何補正を施すことにより、図１のＢの例のように、投影画像の歪みを低減し、見やすくすることができる。
【００３７】
また、図２の例のように、複数のプロジェクタにより画像を投影して、１つの投影画像を形成させるシステムがある。例えば、図２のＡのように、複数のプロジェクタから互いに同位置に画像を投影することにより、コントラスト比を大きくし、ハイダイナミックレンジを実現する方法がある。また、例えば、図２のＢのように、各プロジェクタから投影された投影画像を並べることにより、１台のプロジェクタが投影する投影画像よりも大きな投影画像（１台のプロジェクタが投影する投影画像よりも高解像度の投影画像）を実現する方法がある。これらの方法の場合、各プロジェクタから投影された投影画像同士の位置関係が不適切であると、投影画像同士がずれて重畳されたり不要な隙間が生じたりして投影画像全体としての画質が低減するおそれがある。そのため、各投影画像に対する上述した歪み補正だけでなく、投影画像同士の位置合わせ等の幾何補正も必要になる場合がある。
【００３８】
このように投影する画像に対して幾何補正を行うことにより、図３の例のように、複数のプロジェクタから曲面の投影面に対して画像を投影する場合であっても、１つの画像のように投影することができる。なお、図２のＢや図３の例のように、複数の投影画像を並べて大きな投影画像を形成する場合、図３の例のように、隣接する投影画像の一部同士を重畳させる（オーバラップさせる）ことにより、その位置合わせをより容易にすることができる。
【００３９】
このような幾何補正は、プロジェクタを操作する操作者等の手動によって行うこともできるが、煩雑な作業を必要とするおそれがある。そこで、カメラを用いてプロジェクタが投影した投影画像を撮像し、その撮像画像を用いて幾何補正を行う方法が考えられた。
【００４０】
例えば、図４の例のように、プロジェクタ１１から所定の絵柄の標準化光パタン１２をスクリーン１３に投影し、カメラ１４によりその投影された標準化光パタン１２を撮像して撮像画像１５を得る。そして、その標準化光パタン１２の絵柄に基づいて標準化光パタン１２と撮像画像１５との対応点を求め、その対応点に基づいて三角測量等によりプロジェクタ１１とカメラ１４の姿勢（位置関係）やスクリーン１３の形状等を求め、その結果に基づいて幾何補正を行う。このようにすることにより、手動で行う場合よりもより容易に幾何補正を行うことができる。
【００４１】
このようにカメラを利用して幾何補正を行う場合、投影画像（投影される画像でもよい）と撮像画像との間で対応点（投影画像および撮像画像の、投影面の互いに同じ位置に対応する画素）を求める必要がある。つまり、カメラ１４（撮像画像１５）の画素とプロジェクタ１１（標準化光パタン１２）の画素との対応関係を求める必要がある。
【００４２】
また、図２や図３の例のように複数のプロジェクタを用いる場合は、各投影画像同士の位置関係も求める必要がある。
【００４３】
例えば、図５の例のように、投影部２１−１（プロジェクタ）と撮像部２２−１（カメラ）とを有する投影撮像装置２０−１と、投影部２１−２（プロジェクタ）と撮像部２２−２（カメラ）とを有する投影撮像装置２０−２とを協働させて画像を投影するとする。ここで、投影撮像装置２０−１と投影撮像装置２０−２とを互いに区別して説明する必要が無い場合、投影撮像装置２０と称する。また、投影部２１−１と投影部２１−２とを互いに区別して説明する必要が無い場合、投影部２１と称する。さらに、撮像部２２−１と撮像部２２−２とを互いに区別して説明する必要が無い場合、撮像部２２と称する。
【００４４】
図５に示されるように、投影撮像装置２０−１の投影部２１−１による投影面２３の投影領域（投影画像の範囲）は、P0L乃至P0Rの範囲である。また、投影撮像装置２０−２の投影部２１−２による投影面２３の投影領域は、P1L乃至P1Rの範囲である。つまり、両矢印２４で示される範囲（P1L乃至P0Rの範囲）が、互いの投影画像が重畳するオーバーラップ領域となる。
【００４５】
なお、投影撮像装置２０−１の撮像部２２−１による投影面２３の撮像領域（撮像画像に含まれる範囲）は、C0L乃至C0Rの範囲である。また、投影撮像装置２０−２の撮像部２２−２による投影面２３の撮像領域（撮像画像に含まれる範囲）は、C1L乃至C1Rの範囲である。
【００４６】
このようなシステムの場合、上述したように、投影画像同士の位置合わせを行うために、各投影撮像装置２０における投影部２１と撮像部２２との間の対応点を求めるだけでなく、投影撮像装置２０間において投影部２１と撮像部２２との間の対応点を求める必要がある。そこで、例えば、図６のように、投影部２１−１のある画素から照射された光（矢印２７）が、投影面２３のＸにおいて反射し、撮像部２２−２のどの画素により受光される（矢印２８）かが求められる。また、投影部２１−２と撮像部２２−１との間でも同様の画素対応関係が求められる。
【００４７】
このように、対応点を求めることができる全ての投影部２１と撮像部２２との間で対応点を求めることにより、幾何補正によって、オーバーラップ領域（両矢印２４で示される範囲）の位置合わせを行うことができる。
【００４８】
＜オンラインセンシング＞
このような幾何補正の為の対応点検出は、映像の投影を開始する前に行うことが考えられるが、初期設置後、映像を投影している最中に温度や振動などの外乱の影響等により、この対応点がずれてしまうおそれがあった。対応点がずれると、幾何補正が不適切なものとなり、投影画像に歪みや位置ずれが生じてしまうおそれがあった。
【００４９】
このような場合、対応点検出をやり直す必要があるが、そのために映像の投影を中断することは、その映像を視ているユーザにとって好ましくない（満足度を低減させるおそれがあった）。そこで、映像の投影を継続したまま対応点を検出する方法（オンラインセンシング）が考えられた。
【００５０】
オンラインセンシング技術として、例えば、Infrared等の不可視光を利用した方式、SIFT等の画像特徴量を利用した方式、ISL（Imperceptible Structured Light）方式等が考えられた。Infrared等の不可視光を利用した方式の場合、不可視光を投影するプロジェクタ（例えばInfraredプロジェクタ）がさらに必要になるためコストが増大するおそれがあった。また、SIFT等の画像特徴量を利用した方式の場合、対応点の検出精度や密度が投影する画像コンテンツに依存してしまうため、対応点検出を安定した精度で行うことが困難であった。
【００５１】
これらに対してISL方式の場合、可視光を利用するため、システム構成要素の増大（すなわちコストの増大）を抑制することができる。また、投影する画像に依存せずに安定した精度で対応点検出を行うことができる。
【００５２】
＜ISL方式＞
ISL方式は、所定のパタンの画像である構造化光パタンをポジ・ネガ反転させて投影画に埋め込み、人間に知覚されないように投影する技術である。
【００５３】
図７に示されるように、プロジェクタは、入力画像のあるフレームに対して所定の構造化光パタンを足すことにより、入力画像に構造化光パタンのポジ画像を合成したフレーム画像を生成し、入力画像のその次のフレームに対して構造化光パタンを引くことにより、入力画像に構造化光パタンのネガ画像を合成したフレーム画像を生成する。そしてプロジェクタは、それらのフレームを連続投影する。高速に切り替えられたポジ・ネガの２フレームは、積分効果により人間の目には足し合わされて知覚される。その結果、投影画像を視るユーザにとって、入力画像に埋め込まれた構造化光パタンを認識することが困難になる。
【００５４】
これに対して、カメラは、それらのフレームの投影画像を撮像し、両フレームの撮影画像の差分を求めることにより、撮像画像に含まれる構造化光パタンのみを抽出する。この抽出された構造化光パタンを用いて対応点検出が行われる。
【００５５】
このように、ISL方式では撮像画像の差分を求めるだけで容易に構造化パタンを抽出することができるので、投影する画像に依存せずに安定した精度で対応点検出を行うことができる。
【００５６】
このようなISL方式に用いられる構造化光パタンとして、例えば、グレイコードを用いる方法がある。例えば、図８のＡに示されるような所定のパターン画像を時系列に切り替えながら投影して、各パターンを撮像する。そして、全てのパターンの撮像が完了したら撮像画像の各画素において、各撮像パターンの「１」(白)または「０」(黒)を検出して、図８のＢに示されるように、その「１」と「０」の変化パターンをデコードすることでプロジェクタ画素の位置を取得する。これにより画素の対応関係を取得することができる。
【００５７】
また、例えば、構造化光パタンとして図９に示されるようなチェッカーパタンを用いる方法がある。例えば、図９に示されるようなチェッカー１枚とチェッカーの４隅のうちどれかが欠けたパターン４枚とを投影し、パターンの投影順序と欠けた隅の情報の整合を取ることでチェッカーの各コーナーがプロジェクタのどの画素に対応するかを検出する。
【００５８】
しかしながら、このようなグレイコードやチェッカーパタンは、輝度変化勾配が大きくかつ空間的に規則性の高いパタンを有するため、投影画像を見ているユーザに知覚され易く、不可視性が低減するおそれがある。このような構造化光パタンは、重畳する画像（投影中の映像）にとって（すなわちユーザにとって）不要なものである。つまり、この構造化光パタンを知覚することは、ユーザにとって投影画像（投影中の映像）の画質低減に相当する可能性がある。
【００５９】
なお、グレイコードやチェッカーパタンを用いる場合、多くの枚数を投影する必要がある。一般的に、投影する枚数が増大するほどよりユーザに知覚され易くなり、不可視性がより低減するおそれがある。
【００６０】
また、プロジェクタとカメラのベースラインが短いシステムにおいては三角測量を精度よく行うために、サブピクセル精度での対応点検出が求められるが、グレイコードやチェッカーパタンを用いる方法では、画素以下の検出精度を出せず、三角測量の精度を十分に高くすることが困難である。また、チェッカーパタンを用いる方法では、カメラから最低１つの欠けた隅が見えている必要があり、プロジェクタやカメラの設置自由度（位置や姿勢の自由度）が低減するおそれがある。
【００６１】
さらに、上述したようにグレイコードやチェッカーパタンを用いる場合、多くの枚数を投影する必要があるため、その分、対応点検出の時間が増大するおそれがある。そして、より高密度の対応点を検出するためには、より多くの枚数を投影する必要があり、対応点検出の時間がより増大するおそれがある。
【００６２】
＜構造化光パタンの構造＞
図１０に示される構造化光パタン１００は、本技術を適用した構造化光パタンの一実施の形態の例を示す。構造化光パタン１００は、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点（つまり、投影部と撮像部との画素対応関係）を検出するためのものであり、図１０に示されるように、周辺と輝度値が異なる楕円形状の輝度分布のパタン１０１を複数有する。つまり、構造化光パタン１００には複数のパタン１０１が配置（形成）されている。構造化光パタン１００のパタン１０１を検出することで対応点の検出を行うことができる。
【００６３】
パタン１０１内において輝度値は、図１１に示されるように、その周辺とその重心との間で２次元ガウス関数状に変化する。つまり、パタン１０１は、２次元ガウス関数状の輝度分布を有する。
【００６４】
このようにすることにより、グレイコードやチェッカーパタンの場合と比べて輝度変化勾配を低減させる（緩やかにする）ことができ、より知覚され難くすることができる。したがって、例えば、視線が移動したり、視界が遮られたり、投影画像のフレームレートが低かったりする等して積分効果が低減するような場合であっても、投影画像を見ているユーザがこのパタン１０１を知覚することをより困難にすることができる。つまり、不可視性を向上させることができる。
【００６５】
また、輝度分布が例えば矩形の辺や角のように直線で構成される形状の場合、自然画像に少ない構成であるためユーザに知覚され易くなるおそれがあるが、パタン１０１のように輝度分布を曲線で構成される楕円形状とすることにより、それに比べて不可視性を向上させることができる。また、形状が単純であるため、パタン１０１の検出精度を向上させることができる（投影画像の変形等の誤差やノイズに対する耐性を向上させることができる）。
【００６６】
また、構造化光パタン１００は、複数種類のパタン１０１の配置の仕方（どのような並びで配置されたか等）によって対応点検出を可能にする。つまり、構造化光パタン１００の投影画像を撮像した撮像画像に含まれるパタン１０１の並び方と一致する部分を構造化光パタン１００の中から検索することによって、撮像画像に含まれる部分が構造化光パタン１００のどの部分に相当するかが求められる。一般的に、構造化光パタン１００に含まれるパタン１０１の種類数が多い程、パタン１０１の組み合わせが増える。つまり、パタン１０１の配置の仕方（の種類）が増大する。したがって、構造化光パタン１００内に同じパタン１０１の並びを増大させずにより多くのパタン１０１を配置することができるので、より高精度に（高密度に）対応点を検出することができる。また、パタン１０１の配置の仕方が増大することにより、より少ない数のパタン１０１によって構造化パタン１００内での位置を一意に特定すること（対応点の検出）が可能となる。詳細については後述するが、対応点検出に必要なパタン１０１の数が少ないほど、対応点検出が可能な、投影部と撮像部との姿勢の自由度が向上する。なお、対応点検出に必要なパタン１０１の数が少ないほど対応点検出処理の負荷も低減する。
【００６７】
図１１に示されるように、構造化光パタン１００においては、パタン１０１の輝度変化方向が２種類存在する。例えば、図１１において、パタン１０１−１の輝度値は、曲線１０２−１のように、その周辺から重心に向かって正の方向にガウス関数状に変化する。これに対してパタン１０１−２の輝度値は、曲線１０２−２のように、その周辺から重心に向かって負の方向にガウス関数状に変化する。つまり、構造化光パタン１００は、輝度変化方向が互いに逆の２種類のパタン１０１を有する。
【００６８】
このようにパタン１０１の輝度変化方向を複数化することにより、パタン１０１の形状を変えずにパタン１０１の種類数を増大させることができる。また、このように輝度変化方向を利用することにより、全てのパタン１０１において２次元ガウス関数状の輝度分布を採用することができる。つまり、知覚されやすい輝度変化勾配や形状を用いずにパタン１０１の種類数を増大させることができる。すなわち、不可視性を低減させずにパタン１０１の種類数を増大させることができる。付言するに、図１１の例のように互いに逆方向の輝度変化方向のパタン１０１同士は、容易に識別することができる。また、どちらの方向にも輝度変化を大きくすることができるので、撮像画像から抽出された構造化光パタン１００のS/N比を大きくことができる。
【００６９】
なお、この２種類のパタン１０１（図１０のパタン１０１−１およびパタン１０１−２）は、実際には、いずれも図１１の例のようにその周辺と重心との間で輝度が変化するが、図１０においては、簡略化の為、パタン１０１−１を白の楕円で示し、パタン１０１−２を黒の楕円で示している。つまり、図１０においてパタン１０１の色は、輝度変化の種類が２種類存在することを示しているのみであり、輝度変化の様子を示すものではない。以下に説明する他の図においても、同様の理由により、図１０と同様の図示を行う場合がある。
【００７０】
また、図１０のパタン１０１の輝度分布は、所定の慣性主軸を有する。図１０や図１１に示される例の場合、パタン１０１の輝度分布は楕円形状であり、その長手方向の中心軸が慣性主軸となる。そして、図１０の構造化光パタン１００においては、この慣性主軸の方向が、図中縦方向と横方向の２種類存在する。つまり、この例の場合、構造化光パタン１００は、図１２に示されるように、輝度変化方向と慣性主軸の方向について、４種類のパタン１０１（図１２のパタン１０１−１乃至パタン１０１−４）を有する。
【００７１】
例えば、図１２において、パタン１０１−１は、その輝度値が周辺から重心に向かって正方向にガウス関数状に変化し、かつ、その慣性主軸は縦方向である。また、パタン１０１−２は、その輝度値が周辺から重心に向かって正方向にガウス関数状に変化し、かつ、その慣性主軸は横方向である。これに対して、パタン１０１−３は、その輝度値が周辺から重心に向かって負方向にガウス関数状に変化し、かつ、その慣性主軸は縦方向である。また、パタン１０１−４は、その輝度値が周辺から重心に向かって負方向にガウス関数状に変化し、かつ、その慣性主軸は横方向である。
【００７２】
このようにパタン１０１の慣性主軸の方向（パタンの姿勢）を複数化することにより、パタン１０１の形状を変えずにパタン１０１の種類数を増大させることができる。つまり、知覚されやすい形状を用いずにパタン１０１の種類数を増大させることができる。すなわち、不可視性を低減させずにパタン１０１の種類数を増大させることができる。付言するに、図１２の例のように互いに直角な慣性主軸の方向のパタン１０１同士は、容易に識別することができる。
【００７３】
また、図１２の例のように、輝度変化方向および慣性主軸の方向の両方を組み合わせることにより、パタン１０１の不可視性を低減させずにパタン１０１の種類数をさらに増大させることができる。
【００７４】
さらに、パタン１０１の輝度変化方向、慣性主軸の方向、またはその両方を用いて種類数を増大させることにより、パタン１０１の形状や大きさを変えて種類数を増大させる場合に比べて、各パタン１０１の位置や範囲の特定がより容易であり、パタン１０１の検出をより容易に行うことができる。
【００７５】
なお、以上においては、パタン１０１の輝度分布が２次元ガウス関数状であるように説明したが、パタン１０１の輝度分布は、グレイコードやチェッカーパタンの場合に比べて輝度変化勾配を低減させるような分布であればどのような関数状であってもよい。ただし、輝度値が最大（若しくは最小）となる位置（重心）をより容易に求めることができる分布とすることにより、その重心を用いて対応点検出を行うことができ、より容易により高精度な（サブピクセル精度で）対応点検出を実現することができる。なお、この輝度分布（関数）は、全てのパタン１０１において共通であってもよいし、共通でなくてもよい。
【００７６】
また、パタン１０１の（輝度分布の）形状は任意であり、楕円形状以外であってもよい。パタン１０１の大きさや慣性主軸の方向も任意である。パタン１０１内に文字、記号、絵柄、模様等が形成されるようにしてもよい。なお、これらのパラメータも、全てのパタン１０１において共通であってもよいし、共通でなくてもよい。さらに、パタン１０１の配置位置も任意である。例えば、構造化光パタン１００において、パタン１０１が略等間隔で配置されるようにしてもよいし、パタン１０１の分布に偏りが生じていてもよい。
【００７７】
また、構造化光パタン１００が、輝度分布の代わりに単数若しくは複数の色成分（若しくは色差成分）の分布により形成されるようにしてもよいし、輝度と色成分の両方の分布により形成されるようにしてもよい。さらに、構造化光パタン１００のサイズやアスペクト比は、任意であり、構造化光パタン１００が重畳される他の画像と同一であってもよいし、異なっていてもよい。つまり、パタン１０１が他の画像の全体に配置されるようにしてもよいし、一部に配置されるようにしてもよい。
【００７８】
また、パタン１０１の種類数は任意であり、３種類以下であってもよいし、５種類以上であってもよい。例えば、輝度変化方向を３方向以上に識別することによって３種類以上の分類を行うようにしてもよいし、慣性主軸を３方向以上に識別することによって３種類以上の分類を行うようにしてもよい。さらに、パタン１０１を分類するためのパラメータは任意である。例えば輝度変化方向として正の方向と負の方向以外の方向を用いるようにしてもよい。また、例えば慣性主軸として縦方向および横方向以外の方向を用いるようにしてもよい。さらに、輝度変化方向および慣性主軸の方向以外のパラメータを利用するようにしてもよい。例えば、パタン１０１の形状、色、大きさ、絵柄（模様）、配置位置（位置ずれ）、輝度変化の変化率（関数）等のパラメータの値によって、パタン１０１を分類するようにしてもよい。そして、これらのパラメータを複数組み合わせてもよいし、輝度変化方向および慣性主軸と組み合わせてもよい。
【００７９】
ISL方式の場合、このような構成の構造化光パタン１００は、他の画像に重畳して投影される。その際、図７を参照して説明した場合と同様に、他の画像のあるフレームに対して構造化光パタン１００の輝度値を加算して投影し、次のフレームに対して構造化光パタン１００の輝度値を減算して投影するようにする。つまり、構造化光パタン１００は、図１３に示されるようにポジ画像１００−１やネガ画像１００−２として、他の画像に重畳されるようにする。ネガ画像１００−２は、ポジ画像１００−１の輝度値の正負を反転させた画像である。このようなポジ画像１００−１とネガ画像１００−２とが連続する２フレームに重畳して投影することにより、積分効果により構造化光パタン１００が投影画像を見るユーザにより知覚され難くすることができる。
【００８０】
もちろん、他の画像に対してポジ画像１００−１若しくはネガ画像１００−２のみを重畳させるようにしてもよい。その場合、上述したような積分効果を得ることができないが、図１１の例のように各パタン１０１の輝度変化勾配を低減させることにより、不可視性の低減を抑制することができる。
【００８１】
なお、構造化光パタン１００をISL方式以外の対応点検出手法に利用するようにしてもよい。つまり、構造化光パタンを他の画像に重畳させずに投影して対応点検出に利用するようにしてもよい。
【００８２】
＜パタンの符号列化＞
ところで、プロジェクタ（投影部）とカメラ（撮影部）の設置の自由度（位置や姿勢の自由度）が高いほど、システム構築が容易になり、多様な構成のシステムの実現も容易になる。例えば、図１４に示されるように、プロジェクタ１１１が構造化光パタン１００を投影し、カメラ１１２がその投影画像を撮像して、撮像画像１１３を得るものとする。このようなシステムにおいてプロジェクタ１１１とカメラ１１２の設置の自由度が高いと、カメラ１１２が投影された構造化光パタン１００の全体を撮像することができず、撮像画像１１３には構造化光パタン１００の一部のみしか含まれないケースが生じる可能性がある。
【００８３】
撮像画像１１３に含まれるパタン１０１の情報が少なすぎる（パタン１０１の位置の特定に必要な範囲よりも撮像画像１１３に含まれる範囲が狭い場合）と、点線両矢印１１４や点線両矢印１１５のように、撮像画像１１３に含まれるパタン１０１の構造化光パタン１００における位置を一意に特定することができないおそれがある。
【００８４】
そこで、構造化光パタン１００におけるパタン１０１の配置を疑似ランダム配列とする。疑似ランダム配列とは、Ｎ（Ｎは任意の自然数）個の変数で構成される配列であり、ある一定のサイズのウィンドウ（部分領域）を切り抜いてその要素を順列展開したとき、その符号列が配列全体で一意であるという性質をもつ配列である。換言するに、構造化光パタン１００のパタン１０１は、全ての部分領域のパタン１０１の配置（符号列）が互いに異なるように配置されており、撮像画像に含まれる部分領域内のパタン１０１から、それらのパタン１０１が構造化光パタン１００のどの部分のパタンであるかを特定することができる。つまり、この部分領域内の情報を用いて対応点を求めることができる。なお、パタン１０１の配置を擬似ランダム配列とすることにより、構造化光パタン１００の輝度分布の規則性が低減するので、構造化光パタン１００をより知覚され難くすることができる。
【００８５】
以下においてこの部分領域を対応点検出単位とも称する。この部分領域のサイズをできるだけ小さくすることにより、プロジェクタ１１１とカメラ１１２のより高い設置の自由度にも対応することができる。
【００８６】
例えば、構造化光パタン１００におけるパタン１０１の配置を、図１５の例のように、縦３×横３（合計９個）のパタンの配置に基づいて、その配置位置を一意に特定することができるようにしてもよい。
【００８７】
例えば、図１６に示されるように、撮像画像において、処理対象の領域１２１−１を定め、その中に位置するパタン１０１−１を検出する。次に、その領域１２１−１の上に位置する領域１２１−２内においてパタン１０１−２を検出し、領域１２１−１の左に位置する領域１２１−３内においてパタン１０１−３を検出し、領域１２１−１の下に位置する領域１２１−４内においてパタン１０１−４を検出し、領域１２１−１の右に位置する領域１２１−５内においてパタン１０１−５を検出する。同様に、領域１２１−１の右上に位置する領域１２１−６内においてパタン１０１−６を検出し、領域１２１−１の左上に位置する領域１２１−７内においてパタン１０１−７を検出し、領域１２１−１の左下に位置する領域１２１−８内においてパタン１０１−８を検出し、領域１２１−１の右下に位置する領域１２１−９内においてパタン１０１−９を検出する。
【００８８】
なお、以下において領域１２１−１乃至領域１２１−９を互いに区別して説明する必要が無い場合、領域１２１と称する。
【００８９】
このように求めた３×３のパタン１０１をそれぞれ変数化し、図１７のＡに示されるように所定の順序で順列展開して、図１７のＢに示されるような符号列を生成する。図１７のＡおよび図１７のＢにおいて各領域１２１に示す数字は順列展開する順序の例を示している。
【００９０】
そして、このように求められた符号列と一致する符号列を、構造化光パタン１００の中から検索する。構造化光パタン１００の各パタン１０１は、その任意の位置の３×３のパタン１０１を変数化して順列展開した符号列が互いに異なる（一意に定まる）ような並びで配置されているので、対応点の検出が可能となる。
【００９１】
このようにすることにより、グレイ−コード等を用いる場合と比べて、より少ない構造化光パタン１００に基づいて対応点の検出が可能となるので、投影画像を見ているユーザに知覚され難くすることができ、対応点検出の不可視性を向上させることができる。また、グレイ−コード等を用いる場合と比べて、より短時間に対応点を検出することができる。
【００９２】
なお、プロジェクタ１１１やカメラ１１２の設置の自由度がより高くなると、投影画像に対して撮像画像が傾く可能性があり、この傾きによって誤った符号列を生成してしまうおそれがある。
【００９３】
例えば、各パタン１０１の変数識別の誤りが生じる可能性がある。投影画像に対して撮像画像が傾いていない場合、ある対応点検出単位においてパタン１０１が図１８のＡに示されるように配置されているとする。この場合、パタン１０１−１の慣性主軸の方向は縦方向であり、パタン１０１−４の慣性主軸の方向は横方向であると識別される。これに対して、撮像画像が図中右に４５度回転すると、この対応点検出単位のパタン１０１の配置は、図１８のＢに示されるような配置となる。この場合、図１８のＢに示されるようにパタン１０１−１およびパタン１０１−４は、４５度ずつ傾くので、パタン１０１−１の慣性主軸の方向が横方向であり、パタン１０１−４の慣性主軸の方向が縦方向であると識別される可能性がある。撮像画像の傾きがさらに大きくなると、このような誤りの可能性はさらに高くなる。
【００９４】
また、例えば、各パタン１０１を順列展開する際の展開順序の誤りが生じる可能性がある。投影画像に対して撮像画像が傾いていない場合、ある対応点検出単位の各パタン１０１が図１９のＡに示されるような順序で展開されるとする。これに対して、撮像画像が図中右に４５度回転すると、図１９のＢに示されるような順序で展開されてしまう可能性がある。撮像画像の傾きがさらに大きくなると、このような誤りの可能性はさらに高くなる。
【００９５】
つまり、撮像画像に含まれる対応点検出単位のパタン１０１から符号列を生成した場合、図２０に示されるように、符号列展開順序の不定性として４通り（つまり、対応点検出単位が、０度回転した状態で展開された可能性、９０度回転した状態で展開された可能性、１８０度回転した状態で展開された可能性、２７０度回転した状態で展開された可能性の４通り）、変数識別の不定性として２通り（つまり、慣性主軸が、０度若しくは１８０度傾いた可能性と、９０度若しくは２７０度傾いた可能性の２通り）、合計８通りの不定性が考えられるので、構造化光パタン１００にこれらの８通りの内の複数の符号列が存在すると、符号列を一意に定めることが困難になり、対応点の検出精度が低減してしまうおそれがある。
【００９６】
そこで、構造化光パタン１００の符号列群（各対応点検出単位に対応する符号列）は、互いに異なるグループに属する符号列のみにより構成されるようにする（つまり、パタン１０１の配置をそのような配置とする）。このようにすることにより、撮像画像において検出された符号列がグループに属するいずれの符号列であっても、その符号列（若しくは同グループに属する符号列）を、構造化光パタン１００において一意に求めることができ、対応点を検出することができる。
【００９７】
なお、この符号列のグループ化の基準は任意であり、どのような情報に基づいて符号列をグループ化するようにしてもよい。例えば、符号列生成の不定性に基づいて符号列をグループ化することにより、符号列の不定性による対応点の検出精度の低減を抑制することができる。例えば、このグループが、所定のパタン群の各パタンを変数化して順列展開した符号列、および、そのパタン群を所定の角度回転して各パタンを変数化して順列展開した符号列を含むようにしてもよい。また、このグループが、所定のパタン群の各パタンを変数化して順列展開した符号列、および、そのパタン群の各パタンを他の値に変数化して順列展開した符号列を含むようにしてもよい。さらに、このグループが、所定のパタン群の各パタンを変数化して順列展開した符号列、および、そのパタン群を所定の角度回転して各パタンを他の値に変数化して順列展開した符号列を含むようにしてもよい。また、このグループが、所定のパタン群の各パタンを変数化して順列展開した符号列、そのパタン群を所定の角度回転して各パタンを変数化して順列展開した符号列、並びに、そのパタン群を所定の角度回転して各パタンを他の値に変数化して順列展開した符号列を含むようにしてもよい。さらに、このグループが、所定のパタン群の各パタンを変数化して順列展開した符号列、そのパタン群の各パタンを他の値に変数化して順列展開した符号列、並びに、そのパタン群を所定の角度回転して各パタンを他の値に変数化して順列展開した符号列を含むようにしてもよい。また、図２０に示されるように、このグループが、所定のパタン群の各パタンを変数化して順列展開した符号列、そのパタン群の各パタンを他の値に変数化して順列展開した符号列、そのパタン群を所定の角度回転して各パタンを変数化して順列展開した符号列、並びに、そのパタン群を所定の角度回転して各パタンを他の値に変数化して順列展開した符号列を含むようにしてもよい。このようにすることにより、上述したような展開順序の不定性や変数識別の不定性による対応点の検出精度の低減を抑制することができる。つまり、プロジェクタ１１１とカメラ１１２のより高い設置の自由度にも対応することができるようになる。なお、図２０においては、符号列展開順序の不定性が４通り存在し、変数識別の不定性が２通り存在する場合について説明したが、これらの不定性の種類数はそれぞれ任意であり（対応点検出単位やパタン１０１の形状や構造等に依存する可能性がある）、図２０の例に限定されない。例えば、符号列展開順序の不定性の回転角度として０度、９０度、１８０度、２７０度を例に説明したが、これらの角度以外であってもよい。そして各不定性の全ての通りをグループに含めるようにしてもよいし、一部のみをグループに含めるようにしてもよい。さらに、上述した以外の不定性が存在する場合、その不定性に基づく符号列パタンをグループに含めるようにしてもよい。
【００９８】
なお、以上においては、１枚の構造化光パタン１００（のポジ画像およびネガ画像）を用いて対応点を検出するように説明したが、対応点検出の方法はこれに限定されない。例えば、１枚の構造化光パタン１００（のポジ画像およびネガ画像）を複数回繰り返し投影して、複数回撮像し、得られた複数枚の撮像画像を用いてパタン１０１抽出の際のS/N比を向上させてパタン１０１の検出精度を向上させるようにしてもよい。パタン１０１をより正確に検出することにより、対応点の検出精度を向上させることができる。
【００９９】
また、パタン１０１の配置が互いに異なる複数の構造化光パタンを用いて対応点を検出するようにしてもよい。つまり、以上においては、空間的に近傍の複数のパタンを用いて符号列を生成するように説明したが、これに限らず、時間的に近傍の複数のパタンを用いて符号列を生成するようにしてもよい。例えば、所謂コロケーテッドのように、時間的にも空間的にも近傍のパタンを用いて符号列を生成するようにしてもよい。また、空間的に近傍のパタンと時間的に近傍のパタンの両方を用いて符号列を生成するようにしてもよい。
【０１００】
なお、符号列展開の順序は任意であり、上述した例に限定されない。また、対応点検出単位とする部分領域の大きさや形状は任意であり、上述した例（３×３）に限定されない。つまり、符号列の長さも任意であり、上述した例（９個）に限定されない。
【０１０１】
＜２．第２の実施の形態＞
＜構造化光パタン生成装置＞
次に、以上のような構造化光パタン１００の生成について説明する。構造化光パタン１００は、その一部若しくは全部が、任意の装置において生成されるようにしてもよい。図２１は、本技術を適用した画像処理装置の一実施の形態である構造化光パタン生成装置の主な構成例を示すブロック図である。
【０１０２】
図２１に示されるように、構造化光パタン生成装置２００は、CPU（Central Processing Unit）２０１、ROM（Read Only Memory）２０２、RAM（Random Access Memory）２０３、バス２０４、入出力インタフェース２１０、入力部２１１、出力部２１２、記憶部２１３、通信部２１４、ドライブ２１５、および符号列データベース２３１を有する。
【０１０３】
CPU２０１、ROM２０２、RAM２０３は、バス２０４を介して相互に接続されている。バス２０４にはまた、入出力インタフェース２１０も接続されている。入出力インタフェース２１０には、入力部２１１、出力部２１２、記憶部２１３、通信部２１４、ドライブ２１５、および符号列データベース２３１が接続されている。
【０１０４】
入力部２１１は、ユーザ入力等の外部の情報を受け付ける入力デバイスよりなる。例えば、入力部２１１には、キーボード、マウス、操作ボタン、タッチパネル、カメラ、マイクロホン、入力端子等が含まれるようにしてもよい。また、加速度センサ、光センサ、温度センサ等の各種センサや、バーコードリーダ等の入力機器が入力部２１１に含まれるようにしてもよい。出力部２１２は、画像や音声等の情報を出力する出力デバイスよりなる。例えば、出力部２１２には、ディスプレイ、スピーカ、出力端子等が含まれるようにしてもよい。
【０１０５】
記憶部２１３は、プログラムやデータ等の情報を記憶する記憶媒体よりなる。例えば、記憶部２１３には、ハードディスク、RAMディスク、不揮発性メモリ等が含まれるようにしてもよい。通信部２１４は、所定の通信媒体（例えばインターネット等の任意のネットワーク）を介して外部の装置とプログラムやデータ等の情報を授受する通信を行う通信デバイスよりなる。通信部２１４は、例えば、ネットワークインタフェースよりなるようにしてもよい。例えば、通信部２１４は、構造化光パタン生成装置２００の外部の装置と通信（プログラムやデータの授受）を行う。
【０１０６】
ドライブ２１５は、自身に装着された、例えば、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア２２１に記憶されている情報（プログラムやデータ等）を読み出す。ドライブ２１５は、リムーバブルメディア２２１から読み出した情報をCPU２０１やRAM２０３等に供給する。また、ドライブ２１５は、書き込み可能なリムーバブルメディア２２１が自身に装着された場合、CPU２０１やRAM２０３等から供給される情報（プログラムやデータ等）を、そのリムーバブルメディア２２１に記憶させることができる。
【０１０７】
CPU２０１は、例えば、記憶部２１３に記憶されているプログラムを、入出力インタフェース２１０およびバス２０４を介して、RAM２０３にロードして実行することにより、各種処理を行う。RAM２０３にはまた、CPU２０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１０８】
例えば、CPU２０１は、そのようにプログラム等を実行することにより、構造化光パタン生成に関する処理を行うことができる。
【０１０９】
符号列データベース２３１は、構造化光パタン１００の各パタン１０１に対応する、対応点検出単位の符号列とその位置を関連付けて登録するデータベースである。符号列データベース２３１は、少なくとも記憶している情報に基づいて構造化光パタン１００を生成することができるものであれば、符号列とその位置の情報をどのような形式で記憶するようにしてもよい。例えば、符号列データベース２３１が、符号列の情報とその位置を示す情報とをテーブル情報等を用いて互いに紐付けて記憶するようにしてもよい。また、符号列データベース２３１が、構造化光パタン１００を例えば図１０に示されるような画像データとして記憶するようにしてもよい。さらに、符号列データベース２３１が、互いに紐付けられた符号列の情報およびその位置を示す情報と、構造化光パタン１００の画像データとの両方を記憶するようにしてもよい。また、構造化光パタン１００は、符号列データベース２３１に登録されている全ての符号列により形成されるようにしてもよい。その場合、符号列データベース２３１は、構造化光パタン１００のデータ（構造化光パタン１００と等価である）とも言える。もちろん、構造化光パタン１００が、符号列データベース２３１に登録されている一部の符号列により形成されるようにしてもよい。例えば、符号列データベース２３１が複数の構造化光パタン１００に対応するようにしてもよい。その際、符号列データベース２３１は、構造化光パタン１００毎に独立に、その符号列を登録するようにしてもよいし、複数の構造化光パタン１００に含まれる共通の符号列を１の符号列として登録することができるようにしてもよい。
【０１１０】
なお、符号列データベース２３１は、記憶部２１３の内部に形成するようにしてもよいし、構造化光パタン生成装置２００とは独立した装置として、構造化光パタン生成装置２００の外部に設けるようにしてもよい。
【０１１１】
＜機能ブロック＞
図２２は、構造化光パタン生成装置２００がプログラム等を実行することにより実現する機能の例を示す機能ブロック図である。図２２に示されるように、プログラムを実行することにより構造化光パタン生成装置２００は、構造化光パタン生成部２４０の機能を有する。
【０１１２】
構造化光パタン生成部２４０は、構造化光パタン１００の生成に関する処理を行う。構造化光パタン生成部２４０は、パタン領域設定部２４１、処理対象対応点検出単位選択部２４２、パタン設定部２４３、基本符号列生成部２４４、回転・変数スワップ符号列生成部２４５、符号列検索部２４６、および符号列登録部２４７を有する。
【０１１３】
パタン領域設定部２４１は、パタン領域の設定に関する処理を行う。処理対象対応点検出単位選択部２４２は、処理対象とする対応点検出単位の選択に関する処理を行う。パタン設定部２４３は、パタン１０１の設定に関する処理を行う。基本符号列生成部２４４は、基本符号列の生成に関する処理を行う。回転・変数スワップ符号列生成部２４５は、回転・変数スワップ符号列の生成に関する処理を行う。符号列検索部２４６は、符号列の検索に関する処理を行う。符号列登録部２４７は、符号列の登録に関する処理を行う。
【０１１４】
なお、各ブロックは、必要に応じて相互に情報（例えば命令やデータ等）を授受することが可能とされている。
【０１１５】
＜構造化光パタン生成処理の流れ＞
構造化光パタン生成部２４０は、所定のタイミングにおいて、若しくは、ユーザやプログラムの指示や要求等に基づいて、構造化光パタン生成処理を実行し、第１の実施の形態において説明したような技術的特徴を有する構造化光パタン１００を生成する。図２３のフローチャートを参照して、構造化光パタン生成処理の流れの例を説明する。
【０１１６】
構造化光パタン生成処理が開始されると、ステップＳ２０１において、パタン領域設定部２４１は、パタン領域を設定する。パタン領域は、パタン１０１を形成する領域である。１のパタン領域に１のパタン１０１が形成される。パタン領域設定部２４１は、生成する構造化光パタン１００の全領域若しくは一部の領域に対して、複数のパタン領域を設定する。なお、パタン領域の大きさや形状は任意である。各パタン領域の大きさや形状は全て同一であってもよいし、少なくとも一部が異なるようにしてもよい。また、構造化光パタン１００の領域に隙間なくパタン領域が形成されるようにしてもよいし、隣り合うパタン領域間に隙間が形成されるようにしてもよいし、隣り合うパタン領域の一部が重畳するようにしてもよい。
【０１１７】
ステップＳ２０２において、処理対象対応点検出単位選択部２４２は、処理対象とする対応点検出単位（処理対象対応点検出単位とも称する）を選択する。ステップＳ２０１においてパタン領域が設定されることにより、そのパタン領域を組み合わせて対応点検出単位も設定される。処理対象対応点検出単位選択部２４２は、その対応点検出単位の中から処理対象とする領域を選択する。
【０１１８】
ステップＳ２０３において、パタン設定部２４３は、処理対象対応点検出単位内のパタン未設定のパタン領域に２次元ガウス関数の輝度分布を有するパタン１０１を仮設定する。処理対象対応点検出単位において、パタン設定部２４３は、パタン１０１が未設定の各パタン領域に、第１の実施の形態において説明したような技術的特徴を有するパタン１０１を１つずつ仮設定する。その際、パタン設定部２４３は、予め用意されたパタン１０１の種類の内の任意の１種類を選択し、仮設定する。例えば、図１２の場合、パタン設定部２４３は、図１２に示される４種類のパタン１０１の中から、各パタン領域に仮設定する種類を選択する。
【０１１９】
なお、当該処理対象対応点検出単位内にパタン１０１を既に登録済みのパタン領域（パタン１０１の種類が決定済みのパタン領域）が存在する場合、そのパタン領域についてはその決定済みのパタン１０１を以下の処理に採用する。また、パタン１０１が未設定のパタン領域が複数存在する場合、パタン設定部２４３は、それぞれのパタン領域について互いに独立にパタン１０１の種類を選択し、仮設定する。
【０１２０】
このパタン１０１の種類の選択方法は任意である。予め定められた所定の順に選択する（すなわち、各種類に何らかの優先順を設ける）ようにしてもよいし、タイミングやデータ等の何らかの条件に基づいて優先順を設けるようにしてもよいし、ランダムに選択するようにしてもよい。ただし、当該処理対象対応点検出単位について今回が２回目以降の処理である場合、パタン設定部２４３は、前回以前の処理において仮設定したことのあるパタン１０１の配置（すなわち符号列）以外の配置（符号列）で仮設定を行う。
【０１２１】
ステップＳ２０４において、基本符号列生成部２４４は、処理対象対応点検出単位の各パタン１０１を変数に置き換えて予め定められた所定順に展開し、基本符号列を生成する。ここで、各変数を所定順に展開することを順列展開とも称する。また、各パタン１０１を変数に置き換えて所定順に展開することを順列符号展開とも称する。また、基本符号列とは、仮設定したパタン１０１を順列符号展開した符号列を示す。
【０１２２】
ステップＳ２０５において、回転・変数スワップ符号列生成部２４５は、基本符号列に対応する回転・変数スワップ符号列を生成する。ここで、回転・変数スワップ符号列は、処理対象対応点検出単位の各パタン１０１を他の変数に置き換えて順列展開した符号列、処理対象対応点検出単位を所定の角度回転してから各パタン１０１を順列符号展開した符号列、並びに、処理対象対応点検出単位を所定の角度回転してから各パタン１０１を他の変数に置き換えて順列展開した符号列を示す。つまり、ステップＳ２０４およびステップＳ２０５の処理により、互いに同一のグループに属する符号列を全て生成する。
【０１２３】
例えば、図２４のＡの下から３段目に示されるように、回転角０°の処理対象対応点検出単位を、回転角９０°、回転角１８０°、回転角２７０°で回転させた処理対象対応点検出単位をそれぞれ生成する。
【０１２４】
次に、図２４のＡの下から２段目に示されるように、回転角０°、回転角９０°、回転角１８０°、回転角２７０°のそれぞれの処理対象対応点検出単位の各パタン１０１を変数化する。なお、図２４のＡにおいて、パタン１０１は、その種類（例えば、輝度変化方向と慣性主軸の方向）に応じて変数０乃至３のいずれかに変数化される。
【０１２５】
さらに、図２４のＡの下から１段目に示されるように、回転角０°、回転角９０°、回転角１８０°、回転角２７０°のそれぞれの処理対象対応点検出単位の各パタン１０１を他の値に変数化する。
【０１２６】
そして、図２４のＢに示されるような所定の順に、各処理対象対応点検出単位の変数を順列展開することにより、基本符号列および回転・変数スワップ符号列が生成される。
【０１２７】
ステップＳ２０６において、符号列検索部２４７は、ステップＳ２０４およびステップＳ２０５の処理により生成した基本符号列および回転・変数スワップ符号列を、符号列データベース２３１で検索する。つまり、符号列検索部２４７は、基本符号列および回転・変数スワップ符号列のいずれかの符号列に一致する符号列を、符号列データベース２３１に登録されている符号列（登録符号列とも称する）の中から検索する。換言するに、符号列検索部２４７は、基本符号列と同一のグループに属する登録符号列を検索する。
【０１２８】
符号列データベース２３１には、構造化光パタン１００を構成するパタン１０１に対応する符号列が登録される。つまり、ステップＳ２０６の処理が行われる時点において、符号列データベース２３１には、その時点において構造化光パタン１００を構成するパタン１０１として決定済みのパタンに対応する符号列が登録されている。
【０１２９】
ステップＳ２０７において、符号列検索部２４７は、基本符号列若しくは回転・変数スワップ符号列のいずれかに一致する登録符号列が存在しないか否かを判定する。符号列データベース２３１には、１つのグループに属する符号列の内、１つの符号列のみを登録することができる。換言するに、いずれかの符号列が既に登録されているグループに属する符号列は、いずれも符号列データベース２３１に登録することができない。したがって、ステップＳ２０７において一致する登録符号列が存在すると判定された場合、処理はステップＳ２０３に戻り、それ以降の処理が行われる。つまり、処理対象対応点検出単位のパタン１０１の仮設定をやり直す。このように、当該グループに属する全ての符号列が符号列データベース２３１に登録されていない符号列が見つかるまで、ステップＳ２０３乃至ステップＳ２０７の処理が繰り返される。
【０１３０】
ステップＳ２０７において、一致する符号列が存在しないと判定された場合、そのグループの符号列を符号列データベース２３１に登録することができるので、処理はステップＳ２０８に進む。
【０１３１】
ステップＳ２０８において、パタン設定部２４３は、処理対象対応点検出単位について、各パタン領域のパタン１０１を決定する。つまり、基本符号列とその基本符号列の構造化光パタン１００における位置が決定される。ステップＳ２０９において、符号列登録部２４７は、決定された基本符号列を符号列データベース２３１に登録する。その際、符号列登録部２４７は、基本符号列を、その基本符号列の構造化光パタン１００における位置と紐付けて符号列データベース２３１に登録する。
【０１３２】
ステップＳ２１０において、パタン領域設定部２４１は、ステップＳ２０１において設定した全てのパタン領域にパタン１０１を設定したか否かを判定する。未設定のパタン領域が存在すると判定された場合、処理はステップＳ２０２に戻り、それ以降の処理が実行される。つまり、新たな未処理の対応点検出単位が処理対象として選択され、その処理対象対応点検出単位に対して上述した処理が実行される。このように、全てのパタン領域にパタン１０１が設定されるまで、ステップＳ２０２乃至ステップＳ２１０の処理が繰り返される。
【０１３３】
ステップＳ２１０において、全てのパタン領域にパタン１０１が設定されたと判定された場合、構造化光パタン生成処理が終了する。
【０１３４】
以上のように、第１の実施の形態において説明した構造化光パタン１００を生成することにより、構造化光パタン生成装置２００は、第１の実施の形態の場合と同様に、対応点検出の不可視性を向上させることができる。
【０１３５】
＜３．第３の実施の形態＞
＜投影撮像システム＞
次に、以上のような構造化光パタン１００を用いた対応点の検出について説明する。図２５は、本技術を適用した投影撮像システムの一実施の形態の主な構成例を示すブロック図である。図２５において、投影撮像システム３００は、画像を投影したり、投影画像を撮像したり、本技術を適用した方法で、ISL方式による対応点検出を行ったりすることができるシステムである。
【０１３６】
図２５に示されるように、投影撮像システム３００は、制御装置３０１、並びに、投影撮像装置３０２−１乃至投影撮像装置３０２−Ｎ（Ｎは任意の自然数）を有する。投影撮像装置３０２−１乃至投影撮像装置３０２−Ｎは、それぞれ、ケーブル３０３−１乃至ケーブル３０３−Ｎを介して制御装置３０１に接続されている。
【０１３７】
以下において、投影撮像装置３０２−１乃至投影撮像装置３０２−Ｎを互いに区別して説明する必要が無い場合、投影撮像装置３０２と称する。また、ケーブル３０３−１乃至ケーブル３０３−Ｎを互いに区別して説明する必要が無い場合、ケーブル３０３と称する。
【０１３８】
制御装置３０１は、ケーブル３０３を介して各投影撮像装置３０２を制御する。例えば、制御装置３０１は、各投影撮像装置３０２に対して、投影する画像を供給し、その画像を投影させることができる。また、例えば、制御装置３０１は、各投影撮像装置３０２に対して、投影画像等の撮像を指示し、その撮像画像を取得することができる。さらに、例えば、制御装置３０１は、投影画像と撮像画像の対応点の検出を行ったり、その求めた対応点に基づいて各投影撮像装置３０２に投影させる画像の幾何補正を行ったりすることができる。なお、この幾何補正には、投影させる画像に対する画像処理（例えば、拡大、縮小、変形等）の他に、各投影撮像装置３０２の光学系の制御等（例えば、投影方向や撮像方向等の制御等）も含むことができる。
【０１３９】
投影撮像装置３０２−１乃至投影撮像装置３０２−Ｎは、それぞれ、画像を投影する投影部３１１−１乃至投影部３１１−Ｎ、並びに、被写体を撮像する撮像部３１２−１乃至撮像部３１２−Ｎを有する。以下において、投影部３１１−１乃至投影部３１１−Ｎを互いに区別して説明する必要が無い場合、投影部３１１と称する。また、撮像部３１２−１乃至撮像部３１２−Ｎを互いに区別して説明する必要が無い場合、撮像部３１２と称する。
【０１４０】
投影部３１１は、所謂プロジェクタの機能を有する。つまり、投影撮像装置３０２は、投影部３１１を用いてプロジェクタとして駆動することができる。例えば、投影撮像装置３０２は、この投影部３１１を用いて、制御装置３０１から供給される画像を任意の投影面に投影することができる。
【０１４１】
撮像部３１２は、所謂カメラの機能を有する。つまり、投影撮像装置３０２は、撮像部３１２を用いてカメラとして駆動することができる。例えば、投影撮像装置３０２は、この撮像部３１２を用いて、投影部３１１により画像が投影された投影面の撮像を行い、得られた撮像画像のデータを制御装置３０１に供給することができる。
【０１４２】
投影撮像装置３０２の数は任意であり、単数でも複数でも良い。投影撮像装置３０２が複数の場合、各投影撮像装置３０２は、制御装置３０１の制御の下、互いに協働し、図２や図３を参照して説明したような画像の投影を行うことができる。つまり、その場合の投影撮像システム３００は、所謂マルチプロジェクションシステムであり、所謂プロジェクションマッピングを実現することができる。
【０１４３】
なお、投影部３１１による画像の投影方向や拡大率、並びに、投影画像の歪み補正等が制御可能としてもよい。この制御のために、例えば、投影部３１１が有する光学系や投影部３１１全体の位置や姿勢を制御可能としてもよい。
【０１４４】
また、撮像部３１２による画像の撮像方向や画角、並びに、撮像画像の歪み補正等が制御可能としてもよい。この制御のために、例えば、撮像部３１２が有する光学系や撮像部３１２全体の位置や姿勢を制御可能としてもよい。
【０１４５】
さらに、このような投影部３１１の制御と撮像部３１２の制御は、互いに独立して行うことができるようにしてもよい。また、投影撮像装置３０２の位置や姿勢を制御可能としてもよい。なお、このような投影部３１１、撮像部３１２、および投影撮像装置３０２の制御は、制御装置３０１が行うようにしてもよいし、制御装置３０１以外が行うようにしてもよい。
【０１４６】
ケーブル３０３は、制御装置３０１と投影撮像装置３０２との間の通信路となり得る任意の通信規格の電気通信ケーブルである。なお、制御装置３０１と投影撮像装置３０２とが互いに通信可能であればよく、例えば、制御装置３０１と投影撮像装置３０２とが無線通信により接続されるようにしてもよい。その場合、ケーブル３０３を省略することができる。
【０１４７】
このような投影撮像システム３００において、制御装置３０１は、画像の幾何補正のために、各投影部３１１と各撮像部３１２との間の対応点検出を行う。例えば、制御装置３０１は、オンラインセンシングのISL方式により対応点検出を行うことができる。その際、制御装置３０１は、本技術を適用した対応点検出を行うことができる。
【０１４８】
＜制御装置＞
図２６は、本技術を適用した画像処理装置の一実施の形態である制御装置３０１の主な構成例を示すブロック図である。
【０１４９】
図２６に示されるように、制御装置３０１は、CPU３２１、ROM３２２、RAM３２３、バス３２４、入出力インタフェース３３０、入力部３３１、出力部３３２、記憶部３３３、通信部３３４、ドライブ３３５、および符号列データベース２３１を有する。
【０１５０】
CPU３２１、ROM３２２、RAM３２３は、バス３２４を介して相互に接続されている。バス３２４にはまた、入出力インタフェース３３０も接続されている。入出力インタフェース３３０には、入力部３３１、出力部３３２、記憶部３３３、通信部３３４、ドライブ３３５、および符号列データベース２３１が接続されている。
【０１５１】
入力部３３１は、ユーザ入力等の外部の情報を受け付ける入力デバイスよりなる。例えば、入力部３３１には、キーボード、マウス、操作ボタン、タッチパネル、カメラ、マイクロホン、入力端子等が含まれるようにしてもよい。また、加速度センサ、光センサ、温度センサ等の各種センサや、バーコードリーダ等の入力機器が入力部２１１に含まれるようにしてもよい。出力部３３２は、画像や音声等の情報を出力する出力デバイスよりなる。例えば、出力部３３２には、ディスプレイ、スピーカ、出力端子等が含まれるようにしてもよい。
【０１５２】
記憶部３３３は、プログラムやデータ等の情報を記憶する記憶媒体よりなる。例えば、記憶部３３３には、ハードディスク、RAMディスク、不揮発性メモリ等が含まれるようにしてもよい。通信部３３４は、所定の通信媒体（例えばインターネット等の任意のネットワーク）を介して外部の装置とプログラムやデータ等の情報を授受する通信を行う通信デバイスよりなる。通信部３３４は、例えば、ネットワークインタフェースよりなるようにしてもよい。例えば、通信部３３４は、制御装置３０１の外部の装置と通信（プログラムやデータの授受）を行う。なお、通信部３３４が有線通信機能を有するようにしてもよいし、無線通信機能を有するようにしてもよいし、その両方を有するようにしてもよい。
【０１５３】
ドライブ３３５は、自身に装着された、例えば、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア３４１に記憶されている情報（プログラムやデータ等）を読み出す。ドライブ３３５は、リムーバブルメディア３４１から読み出した情報をCPU３２１やRAM３２３等に供給する。また、ドライブ３３５は、書き込み可能なリムーバブルメディア３４１が自身に装着された場合、CPU３２１やRAM３２３等から供給される情報（プログラムやデータ等）を、そのリムーバブルメディア３４１に記憶させることができる。
【０１５４】
CPU３２１は、例えば、記憶部３３３に記憶されているプログラムを、入出力インタフェース３３０およびバス３２４を介して、RAM３２３にロードして実行することにより、各種処理を行う。RAM３２３にはまた、CPU３２１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１５５】
例えば、CPU３２１は、そのようにプログラム等を実行することにより、対応点の検出に関する処理を行うことができる。
【０１５６】
符号列データベース２３１は、構造化光パタン生成装置２００により生成されたデータベースであり、上述したように構造化光パタン１００に関する情報を記憶している。なお、符号列データベース２３１は、記憶部３３３の内部に形成するようにしてもよいし、制御装置３０１とは独立した装置として、制御装置３０１の外部に設けるようにしてもよい。
【０１５７】
＜制御装置の機能ブロック＞
図２７は、制御装置３０１がプログラム等を実行することにより実現する機能の例を示す機能ブロック図である。図２７に示されるように、プログラムを実行することにより制御装置３０１は、投影撮像処理部３５１、対応点検出部３５２、姿勢推定部３５３、幾何補正部３５４、投影制御部３５５、および撮像制御部３５６の機能を有する。
【０１５８】
投影撮像処理部３５１は、各投影撮像装置３０２による投影や撮像に関する処理を行う。対応点検出部３５２は、各投影部３１１と各撮像部３１２との間の対応点検出に関する処理を行う。姿勢推定部３５３は、各投影部３１１や各撮像部３１２の姿勢推定に関する処理を行う。幾何補正部３５４は、各投影部３１１から投影させる画像の幾何補正に関する処理を行う。投影制御部３５５は、各投影部３１１の動作を制御する。撮像制御部３５６は、各撮像部３１２の動作を制御する。
【０１５９】
なお、各ブロックは、必要に応じて相互に情報（例えば命令やデータ等）を授受することが可能とされている。
【０１６０】
＜対応点検出部＞
対応点検出部３５２は、図２８において機能ブロックとして示される機能を有する。つまり、対応点検出部３５２は、制御部３６１、ノイズ低減部３６２、差分画像生成部３６３、２値化部３６４、領域分割部３６５、重心検出部３６６、変数識別部３６７、対応点検出単位処理部３６８、順列符号展開部３６９、データベース検索部３７０、回転・変数スワップ符号列処理部３７１、および位置特定部３７２の機能を有する。
【０１６１】
制御部３６１は、対応点検出の制御に関する処理を行う。ノイズ低減部３６２は、ノイズ低減に関する処理を行う。差分画像生成部３６３は、差分画像の生成に関する処理を行う。２値化部３６４は、２値化に関する処理を行う。領域分割部３６５は、領域の分割に関する処理を行う。重心検出部３６６は、重心の検出に関する処理を行う。変数識別部３６７は、変数の識別に関する処理を行う。対応点検出単位処理部３６８は、対応点検出単位に関する処理を行う。順列符号展開部３６９は、順列符号展開に関する処理を行う。データベース検索部３７０は、符号列データベース２３１での符号列の検索に関する処理を行う。回転・変数スワップ符号列処理部３７１は、回転・変数スワップ符号列に関する処理を行う。位置特定部３７２は、構造化光パタン１００における位置の特定に関する処理を行う。
【０１６２】
なお、各ブロックは、必要に応じて相互に情報（例えば命令やデータ等）を授受することが可能とされている。
【０１６３】
＜投影撮像装置＞
図２９は、投影撮像装置３０２の主な構成例を示すブロック図である。図２９に示されるように、投影撮像装置３０２は、制御部４０１、投影部３１１、撮像部３１２、入力部４１１、出力部４１２、記憶部４１３、通信部４１４、およびドライブ４１５を有する。
【０１６４】
制御部４０１は、例えば、CPU、ROM、RAM等を有し、装置内の各処理部を制御したり、例えば画像処理等、その制御に必要な各種処理を実行したりする。制御部４０１は、例えば制御装置３０１の制御に基づいて、それらの処理を行う。
【０１６５】
投影部３１１は、制御部４０１に制御されて、画像の投影に関する処理を行う。例えば、投影部３１１は、制御部４０１から供給される画像を投影撮像装置３０２の外部（例えば投影面等）に投影する。投影部３１１は、レーザ光を光源とし、MEMS（Micro Electro Mechanical Systems）ミラーを用いてそのレーザ光を走査することにより、画像を投影する。もちろん、投影部３１１の光源は任意であり、レーザ光に限らず、例えばLED（Light Emitting Diode）やキセノン等であってもよい。
【０１６６】
撮像部３１２は、制御部４０１に制御されて、装置外部（例えば投影面等）の被写体を撮像し、撮像画像を生成し、その撮像画像を制御部４０１に供給する。例えば、撮像部３１２は、投影部３１１により投影面に投影された投影画像を撮像する。撮像部３１２は、例えばCMOS（Complementary Metal Oxide Semiconductor）を用いたイメージセンサ、CCD（Charge Coupled Device）を用いたイメージセンサ等を有し、そのイメージセンサによって被写体からの光を光電変換して、撮像画像の電気信号（データ）を生成する。
【０１６７】
入力部４１１は、ユーザ入力等の外部の情報を受け付ける入力デバイスよりなる。例えば、入力部４１１には、操作ボタン、タッチパネル、カメラ、マイクロホン、入力端子等が含まれる。また、光センサ、温度センサ等の各種センサが入力部４１１に含まれるようにしてもよい。出力部４１２は、画像や音声等の情報を出力する出力デバイスよりなる。例えば、出力部４１２には、ディスプレイ、スピーカ、出力端子等が含まれる。
【０１６８】
記憶部４１３は、例えば、ハードディスク、RAMディスク、不揮発性メモリなどよりなる。通信部４１４は、例えば、ネットワークインタフェースよりなる。例えば、通信部４１４は、通信ケーブル３０３に接続され、通信ケーブル３０３を介して接続される制御装置３０１と通信を行うことができる。なお、通信部４１４が有線通信機能を有するようにしてもよいし、無線通信機能を有するようにしてもよいし、その両方を有するようにしてもよい。ドライブ４１５は、例えば磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア４２１を駆動する。
【０１６９】
＜投影部＞
図３０は、投影部３１１の主な構成例を示すブロック図である。図３０に示されるように、投影部３１１は、ビデオプロセッサ４３１、レーザドライバ４３２、レーザ出力部４３３−１、レーザ出力部４３３−２、レーザ出力部４３３−３、ミラー４３４−１、ミラー４３４−２、ミラー４３４−３、MEMSドライバ４３５、および、MEMSミラー４３６を有する。
【０１７０】
ビデオプロセッサ４３１は、制御部４０１から供給される画像を保持したり、その画像に対して必要な画像処理を行ったりする。ビデオプロセッサ４３１は、その投影する画像をレーザドライバ４３２やMEMSドライバ４３５に供給する。
【０１７１】
レーザドライバ４３２は、ビデオプロセッサ４３１から供給される画像を投影するように、レーザ出力部４３３−１乃至レーザ出力部４３３−３を制御する。レーザ出力部４３３−１乃至レーザ出力部４３３−３は、例えば、赤、青、緑等、互いに異なる色（波長域）のレーザ光を出力する。つまり、レーザドライバ４３２は、ビデオプロセッサ４３１から供給される画像を投影するように、各色のレーザ出力を制御する。なお、レーザ出力部４３３−１乃至レーザ出力部４３３−３を互いに区別して説明する必要が無い場合、レーザ出力部４３３と称する。
【０１７２】
ミラー４３４−１は、レーザ出力部４３３−１から出力されるレーザ光を反射し、MEMSミラー４３６に誘導する。ミラー４３４−２は、レーザ出力部４３３−２から出力されるレーザ光を反射し、MEMSミラー４３６に誘導する。ミラー４３４−３は、レーザ出力部４３３−３から出力されるレーザ光を反射し、MEMSミラー４３６に誘導する。なお、ミラー４３４−１乃至ミラー４３４−３を互いに区別して説明する必要が無い場合、ミラー４３４と称する。
【０１７３】
MEMSドライバ４３５は、ビデオプロセッサ４３１から供給される画像を投影するように、MEMSミラー４３６のミラーの駆動を制御する。MEMSミラー４３６は、MEMSドライバ４３５の制御に従ってMEMS上に取り付けられたミラー（鏡）を駆動することにより、例えば、図３１の例のように各色のレーザ光を走査する。このレーザ光は、投射口から装置外部に出力され、例えば投影面に照射される。これにより、ビデオプロセッサ４３１から供給される画像が投影面に投影される。
【０１７４】
なお、図３０の例においては、レーザ出力部４３３を３つ設け、３色のレーザ光を出力するように説明したが、レーザ光の数（または色数）は任意である。例えば、レーザ出力部４３３を４つ以上であってもよいし、２つ以下であってもよい。つまり、投影撮像装置３０２（投影部３１１）から出力されるレーザ光は、２本以下であってもよいし、４本以上であってもよい。そして、投影撮像装置３０２（投影部３１１）から出力されるレーザ光の色数も任意であり、２色以下であってもよいし、４色以上であってもよい。また、ミラー４３４やMEMSミラー４３６の構成も任意であり、図３０の例に限定されない。もちろん、レーザ光の走査パターンは任意である。
【０１７５】
＜幾何補正処理の流れ＞
次に、このような構成の投影撮像システム３００において実行される処理について説明する。上述したように、投影撮像システム３００においては、制御装置３０１が、各投影撮像装置３０２を制御し、ISL方式のオンラインセンシングにより、コンテンツ等の画像を投影しながら、各投影部３１１と各撮像部３１２の間の対応点検出を行い、その対応点に基づいて、各投影部および各撮像部３１２の姿勢推定や投影面形成等を行い、投影する画像の幾何補正を行う。
【０１７６】
これらの処理を実行するために制御装置３０１において実行される幾何補正処理の流れの例を、図３２のフローチャートを参照して説明する。
【０１７７】
幾何補正処理が開始されると、制御装置３０１の投影撮像処理部３５１は、投影制御部３５５および撮像制御部３５６を介して各投影撮像装置３０２を制御し、ステップＳ３０１において、構造化光パタン１００の画像の投影や撮像を行う。
【０１７８】
ステップＳ３０２において、対応点検出部３５２は、ステップＳ３０１の処理により、撮像制御部３５６を介して各投影撮像装置３０２から取得した撮像画像（撮像部３１２が投影面を撮像した撮像画像）を用いて対応点の検出を行う。
【０１７９】
ステップＳ３０３において、姿勢推定部３５３は、検出された対応点を用いて、各投影部３１１および各撮像部３１２（または各投影撮像装置３０２）の姿勢推定や投影スクリーン再構成を行う。投影スクリーン再構成とは、投影面である投影スクリーンの形状を推定する処理である。
【０１８０】
ステップＳ３０４において、幾何補正部３５４は、姿勢推定や投影スクリーン再構成の処理結果に基づいて、必要に応じて、各投影部３１１から投影させる画像についての幾何補正を行う。
【０１８１】
幾何補正が終了すると、幾何補正処理が終了する。
【０１８２】
＜投影撮像処理の流れ＞
次に、図３３のフローチャートを参照して、図３２のステップＳ３０１において実行される投影撮像処理の流れについて説明する。
【０１８３】
投影撮像処理が開始されると、投影撮像処理部３５１は、ステップＳ３２１において、処理対象とする投影部３１１（処理対象投影部）を選択する。
【０１８４】
ステップＳ３２２において、投影撮像処理部３５１は、投影する構造化光パタン１００を選択する。投影撮像処理部３５１は、投影する構造化光パタン１００を、符号列データベース２３１に登録されている構造化光パタン１００の中から選択する。つまり、投影撮像処理部３５１は、第１の実施の形態において説明したように構成される構造化光パタン１００を選択する。
【０１８５】
ステップＳ３２３において、投影撮像処理部３５１は、選択した構造化光パタン１００のポジ画像を処理対象投影部が投影する画像に重畳する（重畳画像を生成する）。すなわち、投影撮像処理部３５１は、処理対象の投影部３１１が投影する画像の輝度値に、選択した構造化光パタン１００を加算する。
【０１８６】
ステップＳ３２４において、投影撮像処理部３５１は、投影制御部３５５を介して、処理対象投影部に重畳画像を投影させ、その他の投影部に非重畳画像を投影させる。つまり、投影撮像処理部３５１は、処理対象の投影部３１１に、構造化光パタン１００のポジ画像を重畳した画像（重畳画像）を投影させ、その他の投影部３１１に、適宜、構造化光パタン１００のポジ画像を重畳していない画像（非重畳画像）を投影させる。
【０１８７】
ステップＳ３２５において、投影撮像処理部３５１は、撮像制御部３５６を介して、各撮像部３１２に投影画像（処理対象投影部が投影した重畳画像の投影画像）を撮像させ、その撮像画像（パタン撮像画像）を得る。なお、処理対象投影部が投影した重畳画像の投影画像が撮像範囲外となることが明らかな撮像部３１２については、撮像を省略させるようにしてもよい。
【０１８８】
ステップＳ３２６において、投影撮像処理部３５１は、選択した構造化光パタン１００のネガ画像を処理対象投影部が投影する画像に重畳する（重畳画像を生成する）。すなわち、投影撮像処理部３５１は、処理対象の投影部３１１が投影する画像の輝度値に、選択した構造化光パタン１００を減算する。
【０１８９】
ステップＳ３２７において、投影撮像処理部３５１は、投影制御部３５５を介して、処理対象投影部に重畳画像を投影させ、その他の投影部に非重畳画像を投影させる。つまり、投影撮像処理部３５１は、処理対象の投影部３１１に、構造化光パタン１００のネガ画像を重畳した画像（重畳画像）を投影させ、その他の投影部３１１に、適宜、構造化光パタン１００のネガ画像を重畳していない画像（非重畳画像）を投影させる。
【０１９０】
ステップＳ３２８において、投影撮像処理部３５１は、撮像制御部３５６を介して、各撮像部に投影画像（処理対象投影部が投影した重畳画像の投影画像）を撮像させ、その撮像画像（パタン撮像画像）を得る。なお、処理対象投影部が投影した重畳画像の投影画像が撮像範囲外となることが明らかな撮像部３１２については、撮像を省略させるようにしてもよい。
【０１９１】
ステップＳ３２９において、投影撮像処理部３５１は、全ての投影部３１１について、上述した処理を行ったか否かを判定する。未処理の投影部３１１が存在する場合、処理はステップＳ３２１に戻り、それ以降の処理が繰り返される。つまり、各投影部３１１を処理対象として、ステップＳ３２１乃至ステップＳ３２９の処理が実行される。そして、ステップＳ３２９において、全ての投影部３１１について処理が行われたと判定された場合、投影撮像処理が終了し、処理は図３２に戻る。
【０１９２】
以上のように、投影撮像システム３００（制御装置３０１）は、構造化光パタン１００として、第２の実施の形態において説明したように生成された構造化光パタン１００を投影させて対応点検出を行い、幾何補正を行うことができる。すなわち、投影撮像システム３００（制御装置３０１）は、第１の実施の形態において説明した構成の構造化光パタン１００を投影させて対応点検出を行い、幾何補正を行うことができる。したがって、投影撮像システム３００（制御装置３０１）は、第１の実施の形態や第２の実施の形態の場合と同様に、対応点検出の不可視性を向上させることができる。
【０１９３】
＜対応点検出処理の流れ＞
次に、図３４および図３５のフローチャートを参照して、図３２のステップＳ３０２において実行される対応点検出処理の流れについて説明する。
【０１９４】
対応点検出処理が開始されると、対応点検出部３５２の制御部３６１は、図３４のステップＳ３４１において、図３３の投影撮像処理において各撮像部３１２において得られたパタン撮像画像の内の未処理のパタン撮像画像の中から、処理対象とするパタン撮像画像（処理対象パタン撮像画像）を選択する。
【０１９５】
ステップＳ３４２において、ノイズ低減部３６２は、処理対象パタン撮像画像のノイズ低減を行う。このノイズ低減の方法は任意である。例えば、ノイズ低減部３６２が、同一の撮像部３１２において同一の構造化光パタン１００を撮像した複数のパタン撮像画像を重畳することにより、パタン１０１のS/N比を向上させるようにしてもよい。
【０１９６】
ステップＳ３４３において、差分画像生成部３６３は、連続する２フレームのパタン撮像画像の差分画像（パタン差分画像）を生成する。つまり、差分画像生成部３６３は、構造化光パタン１００のポジ画像の重畳画像と、ネガ画像の重畳画像との差分を取る。このようにすることにより、構造化光パタン１００が重畳されたコンテンツ等の画像がキャンセルされて、構造化光パタン１００の画像が抽出される。なお、その際、ポジ画像とネガ画像とではパタン１０１の輝度変化方向が互いに逆向きであるので、パタン差分画像においては、パタン１０１の輝度変化方向が同一方向となって加算されることになり、パタン１０１のS/N比を向上させることができる。
【０１９７】
ステップＳ３４４において、２値化部３６４は、パタン差分画像を２値化する。ステップＳ３４５において、領域分割部３６５は、２値化されたパタン差分画像を用いて、８近傍連結の領域分割を行い、パタン１０１の領域を特定する。なお、パタン差分画像の２値化は省略することもできるが、この２値化を行うことにより、パタン１０１の部分とそうでない部分との境界がより明確になるので、領域分割をより容易かつより正確に行うことができる。
【０１９８】
ステップＳ３４６において、重心検出部３６６は、各パタン１０１の重心を検出する。この重心は、サブピクセル精度で検出することができる。したがってこの重心を用いることにより、対応点検出をサブピクセル精度で（より高精度に）行うことができる。
【０１９９】
ステップＳ３４７において、変数識別部３６７は、各パタン１０１の変数を識別する。変数識別部３６７は、各パタン１０１の０次乃至２次モーメントを求めて慣性主軸を求め、その慣性主軸の方向と輝度変化方向とに基づいて変数を識別する。図３４のステップＳ３４７の処理が終了すると、処理は図３５のステップＳ３５１に進む。
【０２００】
図３５のステップＳ３５１において、対応点検出単位処理部３６８は、処理対象とするパタン１０１（処理対象パタン）を選択する。
【０２０１】
ステップＳ３５２において、対応点検出単位処理部３６８は、ベース姿勢を求める。ベース姿勢は、投影画像と撮像画像との間の傾きの程度を示し、例えば、図３６のＡに示されるように、パタン１０１の慣性主軸（矢印４５１）の基準方向からの角度（矢印４５２）によって表される。より具体的には、パタン撮像画像内で抽出された複数のパタン１０１の慣性主軸の値を２つに分類し、分類された片方のクラスタの慣性主軸平均値をもってベース姿勢とする。
【０２０２】
ステップＳ３５３において、対応点検出単位処理部３６８は、処理対象パタンを中心とする３×３の対応点検出単位内の、処理対象パタンの周辺のパタン１０１（周辺パタン）を特定する。つまり、対応点検出単位処理部３６８は、処理対象パタンの重心から最近傍８個の重心を特定する。
【０２０３】
ステップ３５４において、対応点検出単位処理部３６８は、参照ベクトルをベース姿勢の傾きの分だけ回転させる。参照ベクトルは、処理対象パタンが位置するパタン領域から対応点検出単位内の他のパタン領域に向かう方向を示すベクトルである。例えば図３６のＢの場合、対応点検出単位が３×３のパタン領域群により構成され、その中心のパタン領域に処理対象パタンが位置する。したがって、この場合、参照ベクトル４５３は、中心のパタン領域から周辺のパタン領域に向かう８方向（上、下、左、右、右上、右下、左上、左下）のベクトルにより構成される。これらの参照ベクトル４５３が、図３６のＣに示されるように、ベース姿勢の傾き（矢印４５２）の分だけ回転される。
【０２０４】
ステップＳ３５５において、対応点検出単位処理部３６８は、このように回転された参照ベクトルを用いて、位置カテゴリの分類を行う。つまり、対応点検出単位処理部３６８は、処理対象パタンの周辺の最近傍８個の各パタン（周辺パタン）が、処理対象パタンからみて８方向の参照ベクトルのいずれの方向に位置するかを分類する。より具体的には、処理対象パタンの重心から、各周辺パタンの重心に向かう方向ベクトルをそれぞれ求め、参照ベクトルと各方向ベクトルの内積値を求め、その参照ベクトルに対応する位置カテゴリを、その内積値が最も小さい方向ベクトルに対応する周辺パタンに割り当てる（図３６のＤ）。このような処理を各参照ベクトルについて行う。
【０２０５】
ステップＳ３５６において、順列符号展開部３６９は、対応点検出単位内の各パタン１０１を順列符号展開し、符号列を生成する。上述したようにベース姿勢の傾きの分回転された参照ベクトルを用いて位置カテゴリの分類を行っているので、順列符号展開部３６９は、ベース姿勢の傾きによる符号展開順序の誤りへの影響を抑制しながら順列符号展開を行うことができる。すなわち、符号展開順序の誤りの発生を抑制することができ、より正確に順列符号展開を行うことができる。
【０２０６】
ステップＳ３５７において、データベース検索部３７０は、この符号列と一致する符号列を、符号列データベース２３１に登録されている符号列の中から検索する。符号列データベース２３１には、第２の実施の形態において説明したような方法で符号列が登録されている。制御部３６１は、ステップＳ３５８において、一致する符号列が存在するか否かを判定する。一致する符号列が符号列データベース２３１に存在すると判定された場合、処理はステップＳ３５９に進む。
【０２０７】
ステップＳ３５９において、位置特定部３７２は、一致した符号列の構造化光パタン１００における位置を求めることにより、対応点を検出する。対応点を検出すると処理はステップＳ３６３に進む。
【０２０８】
また、ステップＳ３５８において、一致する符号列が符号列データベース２３１に存在しないと判定された場合、処理はステップＳ３６０に進む。
【０２０９】
ステップＳ３６０において、制御部３６１は、ステップＳ３５６において順列符号展開されて得られた符号列を基本符号列とする場合に、その基本符号列に対応する回転・変数スワップ符号列となる符号列を全てを処理したか否かを判定する。未処理の回転・変数スワップ符号列が存在する場合（すなわち、ステップＳ３５６において順列符号展開されて得られた符号列と同一のグループに属する未処理の符号列が存在する場合）、処理はステップＳ３６１に進む。
【０２１０】
ステップＳ３６１において、回転・変数スワップ符号列処理部３７１は、ステップＳ３５６において順列符号展開されて得られた符号列に対応する回転・変数スワップ符号列の中から未処理の回転・変数スワップ符号列を処理対象として選択し、処理をステップＳ３５７に戻す。つまり、選択された回転・変数スワップ符号列と一致する符号列の検索が行われる。このようなステップＳ３５７乃至ステップＳ３６１の一連の処理が、一致する符号列が見つかるか、若しくは、全ての回転・変数スワップ符号列について検索が終了するまで繰り返される。そして、ステップＳ３６０において、全ての回転・変数スワップ符号列を処理したと判定された場合、処理はステップＳ３６２に進む。
【０２１１】
ステップＳ３６２において、（すなわち一致する符号列が見つからなかった場合、）制御部３６１は、エラー処理を行う。このエラー処理の内容は任意である。エラー処理が終了すると、処理はステップＳ３６３に進む。以上のようなステップＳ３５７乃至ステップＳ３６２の各処理により、ステップＳ３５６において順列符号展開されて得られた符号列と同グループに属する符号列が、符号列データベース２３１に登録されている符号列の中から検索される。
【０２１２】
ステップＳ３６３において、制御部３６１は、処理対象のパタン撮像画像について、全てのパタンを処理したか否かを判定する。未処理のパタンが存在すると判定された場合、処理はステップＳ３５１に戻る。つまり、ステップＳ３５１乃至ステップＳ３６３の各処理が、各パタンについて実行される。なお、２回目以降の場合、ベース姿勢の算出や参照ベクトルの回転等の処理（ステップＳ３５２やステップＳ３５４）は省略する（初回に求めたものを利用する）ようにしてもよい。
【０２１３】
各パタン１０１についてステップＳ３５１乃至ステップＳ３６３の各処理が実行され、ステップＳ３６３において全てのパタンが処理されたと判定された場合、処理はステップＳ３６４に進む。
【０２１４】
ステップＳ３６４において、制御部３６１は、全てのパタン撮像画像を処理したか否かを判定する。未処理のパタン撮像画像が存在すると判定された場合、処理は図３４のステップＳ３４１に戻る。つまり、図３４のステップＳ３４１乃至図３５のステップＳ３６４の各処理が、各パタン撮像画像について実行される。
【０２１５】
各パタン撮像画像について図３４のステップＳ３４１乃至図３５のステップＳ３６４の各処理が実行され、図３５のステップＳ３６４において全てのパタン撮像画像が処理されたと判定された場合、対応点検出処理が終了し、処理は図３２に戻る。
【０２１６】
以上のようにして対応点を検出することにより、第２の実施の形態において生成した構造化光パタン１００（第２の実施の形態において符号列データベース２３１に登録した符号列）を用いて、対応点の検出を行うことができる。つまり、投影撮像システム３００（制御装置３０１）は、第１の実施の形態において説明した構成の構造化光パタン１００を用いて対応点検出を行うことができる。したがって、投影撮像システム３００（制御装置３０１）は、第１の実施の形態や第２の実施の形態の場合と同様に、対応点検出の不可視性を向上させることができる。
【０２１７】
また、上述したように対応点検出を行うことにより、パタン１０１の重心をサブピクセル精度で求めることができるので、グレイコードやチェッカーパタンを用いる方法の場合に比べて三角測量の精度を十分に高くすることができ、対応点検出をより高精度に行うことができる。したがって、例えば、図３７のＡに示されるように、幾何補正前において複数の投影画像が位置ずれを起こした状態で重畳されているような場合であっても、上述したように対応点検出を行って幾何補正を行うことにより、図３７のＢに示されるように、より高精度に位置合わせを行うことができるようになるので、投影画像の画質を向上させることができる。
【０２１８】
また、上述したように対応点検出を行うことにより、チェッカーパタンを用いる方法の場合に比べてより狭い部分領域において対応点を求めることができるので、プロジェクタやカメラの設置自由度（位置や姿勢の自由度）がより高い場合にも対応する（対応点を検出する）ことができる。
【０２１９】
さらに、上述したように対応点検出を行うことにより、グレイコードやチェッカーパタンを用いる場合よりも少ない枚数の構造化光パタン１００によって対応点検出を行うことができる。つまり、グレイコードやチェッカーパタンを用いる場合よりも短時間に対応点を検出することができる。
【０２２０】
＜４．第４の実施の形態＞
＜投影撮像システム、投影撮像装置の他の構成例＞
なお、本技術を適用した投影撮像システムの構成例は、上述した例に限定されない。例えば図３８のＡに示される投影撮像システム５００のように、制御装置３０１並びに各投影撮像装置３０２がネットワーク５０１を介して互いに接続されるようにしてもよい。
【０２２１】
ネットワーク５０１は、任意の通信網である。ネットワーク５０１において採用される通信方法は任意である。例えば、有線通信であってもよいし、無線通信であってもよいし、それらの両方であってもよい。また、ネットワーク５０１は、１の通信網により構成されるようにしてもよいし、複数の通信網により構成されるようにしてもよい。例えば、インターネット、公衆電話回線網、所謂3G回線や4G回線等の無線移動体用の広域通信網、WAN（Wide Area Network）、LAN（Local Area Network）、Bluetooth（登録商標）規格に準拠した通信を行う無線通信網、NFC（Near Field Communication）等の近距離無線通信の通信路、赤外線通信の通信路、HDMI（登録商標）（High-Definition Multimedia Interface）やUSB（Universal Serial Bus）等の規格に準拠した有線通信の通信網等、任意の通信規格の通信網や通信路がネットワーク５０１に含まれるようにしてもよい。
【０２２２】
制御装置３０１並びに各投影撮像装置３０２は、このネットワーク５０１に通信可能に接続されている。なお、この接続は有線（すなわち、有線通信を介した接続）であってもよいし、無線（すなわち、無線通信を介した接続）であってもよいし、その両方であってもよい。なお、各装置の数、筐体の形状や大きさ、配置位置等は任意である。
【０２２３】
制御装置３０１並びに各投影撮像装置３０２は、ネットワーク５０１を介して互いに通信を行う（情報の授受等を行う）ことができる。換言するに、制御装置３０１並びに各投影撮像装置３０２は、他の設備（装置や伝送路等）を介して互いに通信可能に接続されるようにしてもよい。
【０２２４】
このような構成の投影撮像システム５００の場合も、投影撮像システム３００の場合と同様に本技術を適用することができ、上述した作用効果を奏することができる。
【０２２５】
また、例えば図３８のＢに示される投影撮像システム５１０のように、投影部３１１と撮像部３１２とが互いに異なる装置として構成されるようにしてもよい。投影撮像システム５１０は、投影撮像装置３０２の代わりに、投影装置５１１−１乃至投影装置５１１−Ｎ（Ｎは任意の自然数）、並びに、撮像装置５１２−１乃至撮像装置５１２−Ｍ（Ｍは任意の自然数）を有する。投影装置５１１−１乃至投影装置５１１−Ｎは、それぞれ、投影部３１１（投影部３１１−１乃至投影部３１１−Ｎ）を有し、画像の投影を行う。撮像装置５１２−１乃至撮像装置５１２−Ｍは、それぞれ、撮像部３１２（撮像部３１２−１乃至撮像部３１２−Ｍ）を有し、投影面（投影部３１１が投影した投影画像）の撮像を行う。
【０２２６】
投影装置５１１−１乃至投影装置５１１−Ｎを互いに区別して説明する必要が無い場合、投影装置５１１と称する。撮像装置５１２−１乃至撮像装置５１２−Ｍを互いに区別して説明する必要が無い場合、撮像装置５１２と称する。
【０２２７】
各投影装置５１１並びに各撮像装置５１２は、それぞれ制御装置３０１と通信可能に接続されており、有線通信若しくは無線通信またはその両方により制御装置３０１と通信を行う（情報を授受する）ことができる。なお、各投影装置５１１並びに各撮像装置５１２が、制御装置３０１を介して、他の投影装置５１１若しくは他の撮像装置５１２またはその両方と通信を行うことができるようにしてもよい。
【０２２８】
また、各装置の数、筐体の形状や大きさ、配置位置等は任意である。また、図３８のＡの例のように、各装置が、ネットワーク５０１等のような他の設備（装置や伝送路）を介して互いに通信可能に接続されるようにしてもよい。
【０２２９】
このような構成の投影撮像システム５１０の場合も、投影撮像システム３００の場合と同様に本技術を適用することができ、上述した作用効果を奏することができる。
【０２３０】
また、例えば図３９のＡに示される投影撮像システム５２０のように、制御装置３０１を省略するようにしてもよい。図３９のＡに示されるように、投影撮像システム５２０は、投影撮像装置５２１−１乃至投影撮像装置５２１−Ｎ（Ｎは任意の自然数）を有する。投影撮像装置５２１−１乃至投影撮像装置５２１−Ｎを互いに区別して説明する必要が無い場合、投影撮像装置５２１と称する。各投影撮像装置５２１は、通信ケーブル５２２を介して互いに通信可能に接続されているなお、各投影撮像装置５２１が無線通信によって互いに通信可能に接続されるようにしてもよい。
【０２３１】
投影撮像装置５２１−１乃至投影撮像装置５２１−Ｎは、それぞれ、制御部５２３−１乃至制御部５２３−Ｎを有する。制御部５２３−１乃至制御部５２３−Ｎを互いに区別して説明する必要が無い場合、制御部５２３と称する。制御部５２３は、制御装置３０１と同様の機能を有し、同様の処理を行うことができる。
【０２３２】
つまり、この投影撮像システム５２０の場合、上述した制御装置３０１において行われる処理が、投影撮像装置５２１（の制御部５２３）において実行される。なお、いずれかの投影撮像装置５２１（の制御部５２３）が、制御装置３０１において行われる処理の全てを実行するようにしてもよいし、複数の投影撮像装置５２１（の制御部５２３）が、情報を授受し合う等して協働して処理を実行するようにしてもよい。
【０２３３】
このような構成の投影撮像システム５２０の場合も、投影撮像システム３００の場合と同様に本技術を適用することができ、上述した作用効果を奏することができる。
【０２３４】
また、例えば図３９のＢに示されるように、投影撮像システム３００が１つの装置として構成されるようにしてもよい。図３９のＢに示される投影撮像装置５３０は、投影部３１１（投影部３１１−１乃至投影部３１１−Ｎ（Ｎは任意の自然数））、撮像部３１２（撮像部３１２−１乃至撮像部３１２−Ｍ（Ｍは任意の自然数））、並びに、制御部５２３を有する。
【０２３５】
投影撮像装置５３０において、制御部５２３は、上述した制御装置３０１において行われる処理を実行することにより、各投影部３１１並びに各撮像部３１２を制御して対応点の検出等を行う。
【０２３６】
したがって、このような構成の投影撮像装置５３０の場合も、投影撮像システム３００の場合と同様に本技術を適用することができ、上述した作用効果を奏することができる。
【０２３７】
＜ソフトウェア＞
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０２３８】
例えば図２１の構造化光パタン生成装置２００の場合、この記録媒体は、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されているリムーバブルメディア２２１により構成される。その場合、例えば、リムーバブルメディア２２１をドライブ２１５に装着することにより、そのリムーバブルメディア２２１に記憶されているこのプログラムを読み出させ、記憶部２１３にインストールさせることができる。
【０２３９】
また、例えば図２６の制御装置３０１の場合、この記録媒体は、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されているリムーバブルメディア３４１により構成される。その場合、例えば、リムーバブルメディア３４１をドライブ３３５に装着することにより、そのリムーバブルメディア３４１に記憶されているこのプログラムを読み出させ、記憶部３３３にインストールさせることができる。
【０２４０】
また例えば図２９の投影撮像装置３０２の場合、この記録媒体は、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されているリムーバブルメディア４２１により構成される。その場合、例えば、リムーバブルメディア４２１をドライブ４１５に装着することにより、そのリムーバブルメディア４２１に記憶されているこのプログラムを読み出させ、記憶部４１３にインストールさせることができる。
【０２４１】
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。例えば図２１の構造化光パタン生成装置２００の場合、プログラムは、通信部２１４で受信し、記憶部２１３にインストールすることができる。また、例えば図２６の制御装置３０１の場合、プログラムは、通信部３３４で受信し、記憶部３３３にインストールすることができる。また、例えば図２９の投影撮像装置３０２の場合、プログラムは、通信部４１４で受信し、記憶部４１３にインストールすることができる。
【０２４２】
その他、このプログラムは、記憶部やROM等に、あらかじめインストールしておくこともできる。例えば図２１の構造化光パタン生成装置２００の場合、プログラムは、記憶部２１３やROM２０２等に予めインストールしておくこともできる。また、例えば図２６の制御装置３０１の場合、プログラムは、記憶部３３３やROM３２２等に予めインストールしておくこともできる。また、例えば図２９の投影撮像装置３０２の場合、プログラムは、記憶部４１３や制御部４０１に内蔵されるROM（図示せず）等に予めインストールしておくこともできる。
【０２４３】
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【０２４４】
また、上述した各ステップの処理は、上述した各装置、若しくは、上述した各装置以外の任意の装置において、実行することができる。その場合、その処理を実行する装置が、上述した、その処理を実行するのに必要な機能（機能ブロック等）を有するようにすればよい。また、処理に必要な情報を、適宜、その装置に伝送するようにすればよい。
【０２４５】
＜その他＞
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０２４６】
例えば、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０２４７】
また、例えば、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。
【０２４８】
また、例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２４９】
また、例えば、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２５０】
また、本技術は、装置やシステムとして実施するだけでなく、装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI（Large Scale Integration）等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等（すなわち、装置の一部の構成）として実施することもできる。
【０２５１】
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術を、他の実施の形態において説明した本技術と組み合わせて実施することもできる。また、上述した任意の本技術を、上述していない他の技術と併用して実施することもできる。
【０２５２】
なお、本技術は以下のような構成も取ることができる。
（１）  投影部により投影されたガウス関数の輝度分布を有するパタンが複数配置された所定の構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する対応点検出部
を備える画像処理装置。
（２）  投影部により投影されたガウス関数の輝度分布を有するパタンが複数配置された所定の構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する
画像処理方法。
（３）  投影部により投影された、複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された前記構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する対応点検出部
を備える画像処理装置。
（４）  前記対応点検出部は、
前記パタン撮像画像に含まれる前記パタンを変数化して順列展開して符号列を求め、
前記パタン撮像画像に含まれる前記パタンに対応する前記符号列に一致する符号列に対応する前記部分領域を前記構造化光パタンにおいて検索して、前記対応点を検出する
（３）に記載の画像処理装置。
（５）  前記対応点検出部は、
前記パタン撮像画像に含まれる前記パタンに対応する前記符号列に一致する符号列を前記構造化光パタンの各部分領域に対応する符号列群の中から検索し、
符号列が一致した前記部分領域の前記構造化光パタンにおける位置に基づいて、前記対応点を検出する
（４）に記載の画像処理装置。
（６）  前記構造化光パタンの各部分領域に対応する符号列群は、互いに異なるグループに属する符号列のみにより構成され、
前記対応点検出部は、前記パタン撮像画像に含まれる前記パタンに対応する前記符号列と同一のグループに属する全ての符号列について、前記構造化光パタンの各部分領域に対応する符号列群の中から一致する符号列を検索することができるように構成される
（５）に記載の画像処理装置。
（７）  前記グループは、所定のパタン群の各パタンを変数化して順列展開した符号列、および、前記パタン群を所定の角度回転して各パタンを変数化して順列展開した符号列を含む
（６）に記載の画像処理装置。
（８）  前記対応点検出部は、前記投影部が投影した任意の画像と前記構造化光パタンとの重畳画像を前記撮像部が撮像したパタン撮像画像から前記パタンを抽出する
（３）乃至（７）のいずれかに記載の画像処理装置。
（９）  前記対応点検出部は、前記投影部が投影した任意の画像と前記構造化光パタンのポジ画像との重畳画像を前記撮像部が撮像した第１のパタン撮像画像と、前記投影部が投影した任意の画像と前記構造化光パタンのネガ画像との重畳画像を前記撮像部が撮像した第２のパタン撮像画像とを用いて、前記パタンを抽出する
（８）に記載の画像処理装置。
（１０）  前記パタンは、ガウス関数の輝度分布を有する
（３）乃至（９）のいずれかに記載の画像処理装置。
（１１）  前記構造化光パタンは、輝度変化方向が互いに逆向きの２種類の輝度分布と、慣性主軸が互いに異なる２方向とを組み合わせた４種類のパタンにより構成される
（３）乃至（１０）のいずれかに記載の画像処理装置。
（１２）  投影部により投影された、複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された前記構造化光パタンを撮像部が撮像したパタン撮像画像を用いて、前記投影部により投影された投影画像と前記撮像部により撮像された撮像画像との間の対応点を検出する
画像処理方法。
（１３）  ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンを生成する生成部
を備える画像処理装置。
（１４）  ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンを生成する
画像処理方法。
（１５）  複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための前記構造化光パタンを生成する生成部
を備える画像処理装置。
（１６）  複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための前記構造化光パタンを生成する
画像処理方法。
（１７）  ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンのデータ。
（１８）  ガウス関数の輝度分布を有するパタンが複数配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための構造化光パタンのデータが記録された記録媒体。
（１９）  複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための前記構造化光パタンのデータ。
（２０）  複数種類のパタンが複数配置された構造化光パタンであって、前記構造化光パタンの所定の大きさの部分領域内のパタン群を変数化して順列展開した符号列に基づいて、前記構造化光パタンにおける前記部分領域の位置が一意に定まるように前記パタンが配置された、投影部により投影された投影画像と撮像部により撮像された撮像画像との間の対応点を検出するための前記構造化光パタンのデータが記録された記録媒体。
【符号の説明】
【０２５３】
１００  構造化光パタン，  １０１  パタン，  １２１  領域，  ２００  構造化光パタン生成装置，  ２３１  符号列データベース，  ２４０  構造化光パタン生成部，  ２４１  パタン領域設定部，  ２４２  処理対象対応点検出単位選択部，  ２４３  パタン設定部，  ２４４  基本符号列生成部，  ２４５  回転・変数スワップ符号列生成部，  ２４６  符号列検索部，  ２４７  符号列登録部，  ３００  投影撮像システム，  ３０１  制御装置，  ３０２  投影撮像装置，  ３１１  投影部，  ３１２  撮像部，  ３５１  投影撮像処理部，  ３５２  対応点検出部，  ３５３  姿勢推定部，  ３５４  幾何補正部，  ３５５  投影制御部，  ３５６  撮像制御部，  ３６１  制御部，  ３６２  ノイズ低減部，  ３６３  差分画像生成部，  ３６４  ２値化部，  ３６５  領域分割部，  ３６６  重心検出部，  ３６７  変数識別部，  ３６８  対応点検出単位処理部，  ３６９  順列符号展開部，  ３７０  データベース検索部，  ３７１  回転・変数スワップ符号列処理部，  ３７２  位置特定部，  ４０１  制御部，  ５００  投影撮像システム，  ５０１  ネットワーク，  ５１０  投影撮像システム，  ５１１  投影装置，  ５１２  撮像装置，  ５２０  投影撮像システム，  ５２１  投影撮像装置，  ５２３  制御部，  ５３０  投影撮像装置
【図１】
2017104447.tif 000003
【図２】
2017104447.tif 000004
【図３】
2017104447.tif 000005
【図４】
2017104447.tif 000006
【図５】
2017104447.tif 000007
【図６】
2017104447.tif 000008
【図７】
2017104447.tif 000009
【図８】
2017104447.tif 000010
【図９】
2017104447.tif 000011
【図１０】
2017104447.tif 000012
【図１１】
2017104447.tif 000013
【図１２】
2017104447.tif 000014
【図１３】
2017104447.tif 000015
【図１４】
2017104447.tif 000016
【図１５】
2017104447.tif 000017
【図１６】
2017104447.tif 000018
【図１７】
2017104447.tif 000019
【図１８】
2017104447.tif 000020
【図１９】
2017104447.tif 000021
【図２０】
2017104447.tif 000022
【図２１】
2017104447.tif 000023
【図２２】
2017104447.tif 000024
【図２３】
2017104447.tif 000025
【図２４】
2017104447.tif 000026
【図２５】
2017104447.tif 000027
【図２６】
2017104447.tif 000028
【図２７】
2017104447.tif 000029
【図２８】
2017104447.tif 000030
【図２９】
2017104447.tif 000031
【図３０】
2017104447.tif 000032
【図３１】
2017104447.tif 000033
【図３２】
2017104447.tif 000034
【図３３】
2017104447.tif 000035
【図３４】
2017104447.tif 000036
【図３５】
2017104447.tif 000037
【図３６】
2017104447.tif 000038
【図３７】
2017104447.tif 000039
【図３８】
2017104447.tif 000040
【図３９】
2017104447.tif 000041
【国際調査報告】
2017104447.tif 000042
2017104447.tif 000043
2017104447.tif 000044
2017104447.tif 000045