(57)【要約】【課題】パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、対象物の３次元情報を取得する技術において、その３次元情報を取得するためにパターン画像に適用される閾値を設定する技術を改良する。【解決手段】パターン画像の各部分における空間周波数特性に基づき、各部分に対応する空間フィルタ（例えば、可変窓ＶＷの列方向サイズである幅）をパターン画像の各部分ごとに設定する。さらに、パターン画像の各部分に対して空間フィルタを施して取得される画像情報に基づき、対象物の３次元情報を取得するためにパターン画像の各部分に適用される閾値ＴＨを各部分ごとに設定する。【選択図】図１９
2006098252.tif 000002
【特許請求の範囲】
【請求項１】
パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、前記対象物の３次元情報を取得する３次元情報取得方法であって、
前記パターン画像の各部分における空間周波数特性に基づき、前記各部分に対応する空間フィルタを前記各部分ごとに設定する空間フィルタ設定工程と、
前記各部分に対して前記空間フィルタを施して取得される画像情報に基づき、前記３次元情報を取得するために前記各部分に適用される閾値を前記各部分ごとに設定する閾値設定工程と
を含む３次元情報取得方法。
【請求項２】
前記空間フィルタ設定工程は、窓関数によって前記パターン画像から取り出された各部分の画像情報に基づき、前記空間周波数特性を前記各部分ごとに取得し、その取得された空間周波数特性に基づき、前記空間フィルタを前記各部分ごとに設定する請求項１に記載の３次元情報取得方法。
【請求項３】
前記空間フィルタは、可変係数のマトリクスである請求項１または２に記載の３次元情報取得方法。
【請求項４】
前記空間フィルタは、可変幅を持つ方形窓と、遮断周波数が可変であるローパスフィルタとの少なくとも一方の特性を含む請求項１ないし３のいずれかに記載の３次元情報取得方法。
【請求項５】
前記パターン光は、明部と暗部とが交互に並んで構成されており、
前記パターン画像は、そのパターン光に対応し、明部と暗部とが交互に並んで構成されており、
前記空間周波数特性は、前記パターン画像の各部分において、前記明部と前記暗部との繰り返しについての空間周波数を反映する請求項１ないし４のいずれかに記載の３次元情報取得方法。
【請求項６】
前記空間フィルタ設定工程は、前記パターン画像の各部分の前記空間周波数特性が複数個の空間周波数において強度極大値を有することを示す場合に、それら複数の強度極大値を有する空間周波数の少なくとも一つに基づき、前記空間フィルタを前記各部分ごとに設定する請求項５に記載の３次元情報取得方法。
【請求項７】
前記空間フィルタ設定工程は、前記パターン画像の輝度分布に対してフーリエ変換を施すことにより、前記空間周波数特性を特定する請求項６に記載の３次元情報取得方法。
【請求項８】
前記空間フィルタは、可変幅を持つ方形窓であり、
前記空間フィルタ設定工程は、前記複数の強度極大値を有する空間周波数のうち強度が最大であるものに基づき、前記方形窓の幅を決定する窓幅決定工程を含む請求項６または７に記載の３次元情報取得方法。
【請求項９】
前記空間フィルタは、遮断周波数が可変であるローパスフィルタであり、
前記空間フィルタ設定工程は、前記複数の強度極大値を有する空間周波数のうち強度が最大であるものに基づき、その空間周波数より低い空間周波数に前記遮断周波数を決定する遮断周波数決定工程を含む請求項６または７に記載の３次元情報取得方法。
【請求項１０】
前記空間フィルタ設定工程は、前記パターン画像を構成する複数個の画素のそれぞれにつき、各画素を含んでそれの近傍に位置する複数個の画素の輝度情報に基づいて前記空間周波数特性を演算する空間周波数特性演算工程を含む請求項１ないし９のいずれかに記載の３次元情報取得方法。
【請求項１１】
前記空間フィルタ設定工程は、前記パターン画像を構成する複数個の画素のうち互いに離散するように選択された複数個の離散画素のそれぞれについて、各離散画素を含んでそれの近傍に位置する複数個の画素の輝度情報に基づいて前記空間周波数特性を演算する空間周波数特性演算工程を含む請求項１ないし９のいずれかに記載の３次元情報取得方法。
【請求項１２】
前記空間フィルタ設定工程は、さらに、前記複数個の画素のうち前記選択された複数個の離散画素以外の各非選択画素についての前記空間周波数特性を、前記複数個の離散画素のうち各非選択画素の周辺に位置するものについて前記空間周波数特性演算工程によって演算された前記空間周波数特性を用いて推定する空間周波数特性推定工程を含む請求項１１に記載の３次元情報取得方法。
【請求項１３】
前記パターン光は、明部と暗部とが交互に並んで構成されており、
前記パターン画像は、そのパターン光に対応し、明部と暗部とが交互に並んで構成されており、
前記パターン光は、前記明部と前記暗部との繰り返しについての空間周波数が互いに異なる複数種類のパターン光を含み、
前記パターン画像は、それら複数種類のパターン光にそれぞれ対応する複数種類のパターン画像を含み、
前記空間フィルタ設定工程は、それら複数種類のパターン画像のいずれかとして選択された選択パターン画像を用いて前記空間フィルタを設定し、
前記閾値設定工程は、前記閾値を前記複数種類のパターン画像に共通に割り当てる請求項１ないし１２のいずれかに記載の３次元情報取得方法。
【請求項１４】
前記選択パターン画像は、前記複数種類のパターン光のうち、前記明部と前記暗部との繰り返しについての周期が実質的に最小であるものに対応する請求項１３に記載の３次元情報取得方法。
【請求項１５】
さらに、前記設定された閾値を用いることによって前記パターン画像を２値化し、それにより、そのパターン画像を２値化画像に変換する２値化工程を含む請求項１ないし１４のいずれかに記載の３次元情報取得方法。
【請求項１６】
前記閾値設定工程は、前記パターン画像を構成する複数個の画素のそれぞれについて前記閾値を割り当てることにより、閾値画像を生成する閾値画像生成工程を含み、
前記２値化工程は、その生成された閾値画像と前記パターン画像とを輝度値に関して各画素ごとに互いに比較することにより、前記２値化画像を生成する２値化画像生成工程を含む請求項１５に記載の３次元情報取得方法。
【請求項１７】
さらに、前記２値化画像に基づき、かつ、予め定められた空間コード化規則に従い、前記２値化画像から空間コード画像を算出する空間コード画像算出工程を含む請求項１５または１６に記載の３次元情報取得方法。
【請求項１８】
さらに、前記算出された空間コード画像に基づき、前記対象物を構成する複数の画素のそれぞれに対応する３次元位置を前記３次元情報として演算する３次元位置演算工程を含む請求項１７に記載の３次元情報取得方法。
【請求項１９】
請求項１ないし１８のいずれかに記載の３次元情報取得方法を実施するためにコンピュータによって実行されるプログラム。
【請求項２０】
請求項１９に記載のプログラムをコンピュータ読取り可能に記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、対象物の３次元情報を取得する技術に関するものであり、特に、その３次元情報を取得するためにパターン画像に適用される閾値を設定する技術の改良に関するものである。
【背景技術】
【０００２】
対象物の３次元形状を計測することなどを目的として、パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、対象物の３次元情報を取得する技術が既に存在する。
【０００３】
この技術の一例は、空間コード化法である。この空間コード化法においては、ｎ種類のストライプ状のパターン光が順次、対象物に投影され、各パターン光ごとに、その対象物が撮像される。その結果、その対象物が置かれている空間が２ｎ個の細い扇状領域に分割され、それにより、ｎ枚のパターン画像、すなわち、ストライプ状の輝度画像または濃淡画像が取得される。
【０００４】
この空間コード化法においては、さらに、それら取得されたｎ枚のパターン画像が、それぞれに対して閾値処理が行われることにより、ｎ枚の２値化画像に変換され、さらに、各画素ごとに、それらｎ枚の２値化画像の輝度値（０または１）が順次、空間コードを構成する最下位ビットＬＳＢから最上位ビットＭＳＢまでのｎ個のビットに割り当てられる。
【０００５】
その結果、各画素ごとに空間コードが割り当てられた空間コード画像が取得され、その取得された空間コード画像に基づき、かつ、三角測量の原理に従うことにより、対象物を構成する複数の画素のそれぞれの３次元位置を始めとする３次元情報が取得される。
【０００６】
この空間コード化法においては、閾値処理が、一般に、パターン画像と閾値画像とを輝度値に関して各画素ごとに互いに比較されるように行われる。その閾値画像を取得する一従来例が特許文献１に開示されている。
【０００７】
具体的には、その従来例によれば、８種類の基本スリットパターンにつき、ポジ画像を撮影するための８種類のポジ画像用スリットパターンと、ネガ画像を撮影するための８種類のネガ画像用スリットパターンであって８種類のポジ画像用スリットパターンが反転されたものとが使用される。この従来例によれば、同じ対象物につき、８種類のポジ画像用スリットパターンが順次用いられてポジ画像が８枚撮影され、さらに、８種類のネガ画像用スリットパターンが順次用いられてネガ画像が８枚撮影される。
【０００８】
この従来例によれば、さらに、各基本スリットパターンごとに、ポジ画像からネガ画像を差分した差分画像と、ネガ画像からポジ画像から差分した差分画像とを組み合わせて閾値画像が合成される。そのため、この従来例を実施する場合には、対象物へのパターン光の投影および撮影を、基本スリットパターンの数の２倍の回数、すなわち、通常の空間コード化法を実施するために投影および撮影が行われる回数の２倍の回数、行わなければならない。
【０００９】
別の従来例によれば、パターン画像における複数本のパターンライン（パターン画像のうちの明部の一例）が２本入るように幅が固定された長方形のマスクが使用される。このマスクは、パターン画像の各部分に個別に適用され、各部分ごとに、マスク内に存在する複数個の画素の輝度値の平均値が、ローカルな閾値として算出される。すなわち、この従来例は、対象物の明るさの空間的変化に適応するように閾値をローカルに設定する閾値設定技術の一従来例なのである。
【特許文献１】特許第２９２１７４８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述の閾値設定技術においては、マスクの幅が、実際のパターン画像における複数本のパターンラインの間隔の整数倍とちょうど一致することが要求される。この要求が充足されないと、同じマスク中に明部と暗部とが面積に関して均等に存在しなくなり、その結果、同じマスク中に存在する複数の画素の輝度値の平均値が、実際の明部と実際の暗部とのそれぞれの真の輝度値の平均値から外れてしまう。しかしながら、この要求を常に充足することは現実的には困難である。以下、このことを具体的に説明する。
【００１１】
複数本のパターンラインが等間隔で並んだパターン光が投影された対象物の撮像によって取得されるパターン画像においても、複数本のパターンラインが並ぶ。パターン画像におけるパターンラインの間隔は、パターン光におけるパターンラインの間隔が同じであっても、対象物と、その対象物にパターン光を投影するプロジェクタと、その対象物を撮像するカメラとの間における相対的な幾何学的配置・配向（例えば、パターン光が対象物に投影される向き、その対象物が撮像される向き、その対象物の表面の向き、プロジェクタと対象物との距離、カメラと対象物との距離）に依存して変化する。
【００１２】
また、プロジェクタから投光されるパターン光においては、各パターンラインの間隔が等間隔であるのに対し、そのようなパターン光が投影された対象物の撮像によって取得されるパターン画像においては、パターンラインの間隔が空間的に変化する可能性がある。
【００１３】
この理由を具体的に説明するに、対象物のうちパターン光が投影される部分が単一の平面によって構成される場合には、その部分からパターン光が反射した光によって形成されるパターン画像においても、パターンラインの間隔が空間的に変化しない。
【００１４】
しかしながら、対象物のうちパターン光が投影される部分が、例えば、凹凸を有する場合など、単一もしくは複数の曲面または複数の平面によって構成される場合には、その部分からパターン光が反射した光によって形成されるパターン画像においては、パターンラインの間隔が空間的に変化する。
【００１５】
以上要するに、パターン画像においてパターンライン間隔が空間的に変化する可能性があるのであるが、その可能性にもかかわらず、前述の閾値設定技術によれば、閾値をローカルに設定するためのパターン画像に設定されるマスクの幅は固定されている。
【００１６】
そのため、この閾値設定技術では、空間的に変化しているパターンライン間隔を持つパターン画像上においてマスクが空間的に順次シフトさせられると、マスクに入るパターンラインの数が増減を繰り返し、その結果、マスクに入る画素の輝度値の平均値が空間的に振動してしまう。そのように振動する平均値に基づいて閾値が設定されると、この閾値も空間的に振動してしまうことになる。
【００１７】
ところで、一般に、対象物に一様な光を投影すると、その対象物の各部分の明るさはその各部分からの反射光の輝度値として表現される。そのため、各部分に投影される光の強度が他の部分と同じであっても、各部分においては、それの面の傾き、表面反射率、プロジェクタからの距離、カメラからの距離等が他の部分とは異なれば、明るさも他の部分とは異なる。
【００１８】
このような性質が存在することを前提にして、パターン光が対象物に投影された結果取得されるパターン画像を考察するに、そのパターン画像における複数本のパターンライン間において輝度値が互いに共通するとは限らない。すなわち、同じパターン画像中に明るいパターンライン（明るい明部）と暗いパターンライン（暗い明部）とが併存する可能性があるのである。しかし、それらパターンラインは、このように絶対的な輝度値に違いがあるにもかかわらず、２値化処理においては、いずれも明部であると判定されることが、２値化の精度を向上させるために必要である。したがって、対象物の反射光のそもそもの明るさの空間的変化に追従するように閾値をトラッキングすることが望ましい。
【００１９】
もっとも、現実的には、対象物の表面が投影するパターンに依存して振動的に変化を繰り返すことは稀である。そのため、前述の閾値設定技術によって設定される閾値が、パターン画像において振動的に変化することは、２値化の精度を悪化させる要因であると考えるのが自然である。
【００２０】
以上の説明から明らかなように、上述の閾値設定技術では、対象物からの反射光のそもそもの明るさの空間的変化に正確に追従するように閾値を設定することが困難であるという問題があったのである。
【００２１】
このような事情を背景とし、本発明は、パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、対象物の３次元情報を取得する技術において、その３次元情報を取得するためにパターン画像に適用される閾値を設定する技術を改良することを課題としてなされたものである。
【課題を解決するための手段】
【００２２】
本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本発明が採用し得る技術的特徴の一部およびそれの組合せの理解を容易にするためであり、本発明が採用し得る技術的特徴およびそれの組合せが以下の態様に限定されると解釈すべきではない。すなわち、下記の態様には記載されていないが本明細書には記載されている技術的特徴を本発明の技術的特徴として適宜抽出して採用することは妨げられないと解釈すべきなのである。
【００２３】
さらに、各項を他の項の番号を引用する形式で記載することが必ずしも、各項に記載の技術的特徴を他の項に記載の技術的特徴から分離させて独立させることを妨げることを意味するわけではなく、各項に記載の技術的特徴をその性質に応じて適宜独立させることが可能であると解釈すべきである。
【００２４】
（１）  パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、前記対象物の３次元情報を取得する３次元情報取得方法であって、
前記パターン画像の各部分における空間周波数特性に基づき、前記各部分に対応する空間フィルタを前記各部分ごとに設定する空間フィルタ設定工程と、
前記各部分に対して前記空間フィルタを施して取得される画像情報に基づき、前記３次元情報を取得するために前記各部分に適用される閾値を前記各部分ごとに設定する閾値設定工程と
を含む３次元情報取得方法。
【００２５】
この方法においては、パターン画像の各部分ごとに適用される閾値を各部分ごとに設定するために、パターン画像の各部分における空間周波数特性に基づき、各部分に対応する空間フィルタが各部分ごとに設定される。そのようにして設定された空間フィルタが各部分ごとにパターン画像に対して施されることにより、閾値が各部分ごとに設定される。すなわち、この方法においては、パターン画像上における位置に応じてフィルタ特性が可変である可変空間フィルタの採用により、パターン画像についてローカルな閾値が設定されるのである。
【００２６】
したがって、この方法によれば、パターン画像の各部分に個別に設定される空間フィルタが、各部分の空間周波数特性に適応するように設定される。その結果、パターン画像の各部分に個別に設定される閾値も、各部分の空間周波数特性に適応するように設定される。
【００２７】
したがって、この方法によれば、パターン画像の各部分に対して、固定フィルタ特性を持つ空間フィルタ（例えば、固定幅を持つ固定窓）を施すことによって各部分ごとに閾値が設定される場合とは異なり、設定された閾値がパターン画像について空間的に振動する傾向を抑制することが容易となる。
【００２８】
本項における「３次元情報」は、通常、対象物を構成する複数の画素のそれぞれの３次元位置に関する情報を含むが、それに限定されず、例えば、対象物の各画素の色またはテクスチャに関する情報、対象物の表面を少なくとも近似的に表現するポリゴンを定義する幾何学的情報（例えば、そのポリゴンにおける複数の頂点とそれら頂点を結ぶ複数の面とに関する情報）等を含むことが可能である。
【００２９】
（２）  前記空間フィルタ設定工程は、窓関数によって前記パターン画像から取り出された各部分の画像情報に基づき、前記空間周波数特性を前記各部分ごとに取得し、その取得された空間周波数特性に基づき、前記空間フィルタを前記各部分ごとに設定する（１）項に記載の３次元情報取得方法。
【００３０】
この方法によれば、パターン画像の各部分ごとに空間フィルタを設定するために取得することが必要な空間周波数特性が、パターン画像について全体的に取得されるのではなく、パターン画像の各部分ごとに個別に取得される。したがって、この方法によれば、パターン画像の各部分の空間周波数特性を精度よく取得することが容易となる。
【００３１】
（３）  前記空間フィルタは、可変係数のマトリクスである（１）または（２）項に記載の３次元情報取得方法。
【００３２】
（４）  前記空間フィルタは、可変幅を持つ方形窓と、遮断周波数が可変であるローパスフィルタとの少なくとも一方の特性を含む（１）ないし（３）項のいずれかに記載の３次元情報取得方法。
【００３３】
（５）  前記パターン光は、明部と暗部とが交互に並んで構成されており、
前記パターン画像は、そのパターン光に対応し、明部と暗部とが交互に並んで構成されており、
前記空間周波数特性は、前記パターン画像の各部分において、前記明部と前記暗部との繰り返しについての空間周波数を反映する（１）ないし（４）項のいずれかに記載の３次元情報取得方法。
【００３４】
（６）  前記空間フィルタ設定工程は、前記パターン画像の各部分の前記空間周波数特性が複数個の空間周波数において強度極大値を有することを示す場合に、それら複数の強度極大値を有する空間周波数の少なくとも一つに基づき、前記空間フィルタを前記各部分ごとに設定する（５）項に記載の３次元情報取得方法。
【００３５】
パターン画像が複数の強度極大値を持つ空間周波数を備えている場合には、それら空間周波数のうち優勢なものを考慮して空間フィルタを設定すれば、パターン画像についてローカルな閾値がそのパターン画像の空間周波数特性に十分に適応するように取得される傾向が強まる。
【００３６】
このような知見に基づき、本項に係る方法においては、パターン画像の各部分の空間周波数特性が複数個の空間周波数において強度極大値を有することを示す場合に、それら複数の強度極大値を有する空間周波数の少なくとも一つに基づき、空間フィルタをパターン画像の各部分ごとに設定される。
【００３７】
（７）  前記空間フィルタ設定工程は、前記パターン画像の輝度分布に対してフーリエ変換を施すことにより、前記空間周波数特性を特定する（６）項に記載の３次元情報取得方法。
【００３８】
この方法によれば、フーリエ変換により、パターン画像の空間周波数特性をより正確に取得することが容易となる。
【００３９】
（８）  前記空間フィルタは、可変幅を持つ方形窓であり、
前記空間フィルタ設定工程は、前記複数の強度極大値を有する空間周波数のうち強度が最大であるものに基づき、前記方形窓の幅を決定する窓幅決定工程を含む（６）または（７）項に記載の３次元情報取得方法。
【００４０】
（９）  前記空間フィルタは、遮断周波数が可変であるローパスフィルタであり、
前記空間フィルタ設定工程は、前記複数の強度極大値を有する空間周波数のうち強度が最大であるものに基づき、その空間周波数より低い空間周波数に前記遮断周波数を決定する遮断周波数決定工程を含む（６）または（７）項に記載の３次元情報取得方法。
【００４１】
（１０）  前記空間フィルタ設定工程は、前記パターン画像を構成する複数個の画素のそれぞれにつき、各画素を含んでそれの近傍に位置する複数個の画素の輝度情報に基づいて前記空間周波数特性を演算する空間周波数特性演算工程を含む（１）ないし（９）項のいずれかに記載の３次元情報取得方法。
【００４２】
この方法によれば、パターン画像の各画素ごとに、ローカルな空間周波数特性を精度よく演算することが容易となる。
【００４３】
（１１）  前記空間フィルタ設定工程は、前記パターン画像を構成する複数個の画素のうち互いに離散するように選択された複数個の離散画素のそれぞれについて、各離散画素を含んでそれの近傍に位置する複数個の画素の輝度情報に基づいて前記空間周波数特性を演算する空間周波数特性演算工程を含む（１）ないし（９）項のいずれかに記載の３次元情報取得方法。
【００４４】
この方法によれば、パターン画像を構成する複数個の画素が、互いに離散した複数個の離散画素によって代表される。それら複数個の離散画素のそれぞれについては、前記（１０）項に係る方法と同様にして、ローカルな空間周波数特性が演算される。これに対し、残りの複数個の画素のそれぞれについては、各画素に近接する離散画素について先に演算されたローカルな空間周波数に基づき、ローカルな空間周波数特性を演算することが可能である。例えば、残りの複数個の画素のそれぞれについては、各画素を隔てて互いに近接する複数の離散画素について先に演算されたそれぞれのローカルな空間周波数から推定することにより、ローカルな空間周波数特性を演算することが可能である。
【００４５】
したがって、この方法によれば、パターン画像を構成する複数個の画素のそれぞれにつき、先に演算されたローカルな空間周波数特性を用いることなく、ローカルな空間周波数特性を演算する場合より、その演算に必要な計算負荷を軽減することが容易となる。
【００４６】
（１２）  前記空間フィルタ設定工程は、さらに、前記複数個の画素のうち前記選択された複数個の離散画素以外の各非選択画素についての前記空間周波数を、前記複数個の離散画素のうち各非選択画素の周辺に位置するものについて前記空間周波数特性演算工程によって演算された前記空間周波数特性を用いて推定する空間周波数特性推定工程を含む（１１）項に記載の３次元情報取得方法。
【００４７】
この方法によれば、選択された複数個の離散画素について前記空間周波数特性演算工程によって演算された空間周波数特性を利用することにより、複数個の画素のうち、選択された複数個の離散画素以外の各非選択画素についての空間周波数特性が推定される。
【００４８】
（１３）  前記パターン光は、明部と暗部とが交互に並んで構成されており、
前記パターン画像は、そのパターン光に対応し、明部と暗部とが交互に並んで構成されており、
前記パターン光は、前記明部と前記暗部との繰り返しについての空間周波数が互いに異なる複数種類のパターン光を含み、
前記パターン画像は、それら複数種類のパターン光にそれぞれ対応する複数種類のパターン画像を含み、
前記空間フィルタ設定工程は、それら複数種類のパターン画像のいずれかとして選択された選択パターン画像を用いて前記空間フィルタを設定し、
前記閾値設定工程は、前記閾値を前記複数種類のパターン画像に共通に割り当てる（１）ないし（１２）項のいずれかに記載の３次元情報取得方法。
【００４９】
この方法によれば、各パターン画像ごとに閾値設定を行わずに済む。この方法は、複数種類のパターン画像がそもそも、対象物の３次元情報を取得するために利用されるものであって、それらパターン画像のいずれかである上記選択パターン画像がもっぱら閾値設定のために利用されるものではない態様で実施することが可能である。この態様によれば、閾値を設定することのみを目的として、パターン光の投影および対象物の撮像を行わずに済む。
【００５０】
（１４）  前記選択パターン画像は、前記複数種類のパターン光のうち、前記明部と前記暗部との繰り返しについての周期が実質的に最小であるものに対応する（１３）項に記載の３次元情報取得方法。
【００５１】
この方法によれば、選択パターン画像が、複数種類のパターン光のうち、明部と暗部とが交互に繰り返す周期が実質的に最小ではないものに対応する場合に比較し、例えば、空間フィルタの一例である可変窓の幅が小さくて済む。その可変窓は、例えば、パターン画像におけるパターンラインの間隔の整数倍とちょうど一致する幅を有するように設定され、その幅は、パターンラインの間隔が短いほど、すなわち、上記周期が短いほど、小さい。一方、可変窓の幅が小さいほど、その可変窓によって部分的に切り出されるパターン画像のデータ量が少なくなる。よって、この方法によれば、閾値設定のための計算負荷を軽減することが容易となる。
【００５２】
（１５）  さらに、前記設定された閾値を用いることによって前記パターン画像を２値化し、それにより、そのパターン画像を２値化画像に変換する２値化工程を含む（１）ないし（１４）項のいずれかに記載の３次元情報取得方法。
【００５３】
この方法によれば、可変空間フィルタの採用によって精度の高い閾値をローカルに決定することができるため、パターン画像を２値化する精度が向上する。
【００５４】
（１６）  前記閾値設定工程は、前記パターン画像を構成する複数個の画素のそれぞれについて前記閾値を割り当てることにより、閾値画像を生成する閾値画像生成工程を含み、
前記２値化工程は、その生成された閾値画像と前記パターン画像とを輝度値に関して各画素ごとに互いに比較することにより、前記２値化画像を生成する２値化画像生成工程を含む（１５）項に記載の３次元情報取得方法。
【００５５】
この方法によれば、可変空間フィルタの採用によって精度の高い閾値をローカルに決定することができるため、閾値画像の精度が向上し、ひいては、２値化画像の精度も向上する。
【００５６】
（１７）  さらに、前記２値化画像に基づき、かつ、予め定められた空間コード化規則に従い、前記２値化画像から空間コード画像を算出する空間コード画像算出工程を含む（１５）または（１６）項に記載の３次元情報取得方法。
【００５７】
この方法によれば、可変空間フィルタの採用によって精度の高い閾値をローカルに決定することができるため、２値化画像の精度が向上し、ひいては、空間コード画像を取得する精度も向上する。
【００５８】
（１８）  さらに、前記算出された空間コード画像に基づき、前記対象物を構成する複数の画素のそれぞれに対応する３次元位置を前記３次元情報として演算する３次元位置演算工程を含む（１７）項に記載の３次元情報取得方法。
【００５９】
この方法によれば、空間コード化法により、対象物の３次元位置を計測することが可能となる。
【００６０】
（１９）  （１）ないし（１８）項のいずれかに記載の３次元情報取得方法を実施するためにコンピュータによって実行されるプログラム。
【００６１】
このプログラムがコンピュータにより実行されれば、前記（１）ないし（１８）項のいずれかに係る方法におけると基本的に同じ原理に従い、同様な効果が実現され得る。
【００６２】
本項に係るプログラムは、それの機能を果たすためにコンピュータにより実行される指令の組合せのみならず、各指令に従って処理されるファイルやデータをも含むように解釈することが可能である。
【００６３】
また、このプログラムは、それ単独でコンピュータにより実行されることにより、所期の目的を達するものとしたり、他のプログラムと共にコンピュータにより実行されることにより、所期の目的を達するものとすることができる。後者の場合、本項に係るプログラムは、データを主体とするものとすることができる。
【００６４】
（２０）  （１９）項に記載のプログラムをコンピュータ読取り可能に記録した記録媒体。
【００６５】
この記録媒体に記録されているプログラムがコンピュータにより実行されれば、前記（１）ないし（１８）項のいずれかに係る方法と同じ作用効果が実現され得る。
【００６６】
この記録媒体は種々な形式を採用可能であり、例えば、フレキシブル・ディスク等の磁気記録媒体、ＣＤ、ＣＤ−ＲＯＭ等の光記録媒体、ＭＯ等の光磁気記録媒体、ＲＯＭ等のアンリムーバブル・ストレージ等のいずれかを採用し得る。
【発明を実施するための最良の形態】
【００６７】
以下、本発明のさらに具体的な実施の形態のいくつかを図面に基づいて詳細に説明する。
【００６８】
図１には、本発明の一実施形態に従う３次元情報取得方法を実施するのに好適な画像入出力装置１が外観斜視図で示されている。この画像入出力装置１は、画像を表す画像光（「画像信号光」ともいう。）の投影面（例えば、平面、スクリーン、机上面など）への投影（通常の投影）およびストライプ状のパターン光の被写体への投影（３次元情報取得のための投影）と、被写体の撮像と、その撮像結果に基づき、被写体の３次元情報（３次元位置情報を含む。）をコンピュータによって取得する処理とを行うように設計されている。そのため、この画像入出力装置１は、図２に示すように、投影部１３と、撮像部１４と、処理部１５とを含むように構成されている。
【００６９】
この画像入出力装置１は、複数種類のモードのうちユーザによって選択されたものに従って作動する。それらモードは、この画像入出力装置１がデジタルカメラとして機能するデジカメモードと、ウェブカメラとして機能するｗｅｂｃａｍモードと、被写体の３次元形状を検出して立体画像を取得するための立体画像モードと、湾曲した原稿等の被写体の立体画像を平面化した平面化画像を取得するための平面化画像モードとを含んでいる。
【００７０】
図１には、この画像入出力装置１が、特に、立体画像モードや平面化画像モードにおいて、被写体としての原稿Ｐの３次元形状を検出するために、明部と暗部とが交互に並んで成るストライプ状のパターン光を投影部１３から原稿Ｐに投影している状態で示されている。
【００７１】
図１に示すように、この画像入出力装置１は、略箱状を成す撮像ヘッド２と、一端においてその撮像ヘッド２に連結されたパイプ状のアーム部材３と、そのアーム部材３の他端に連結されたベース４であって、平面視において略Ｌ字状を成すように形成されたものとを備えている。それらアーム部材３とベース４とは互いに共同して、撮像ヘッド２を片持ち状で保持するスタンドとして機能する。
【００７２】
撮像ヘッド２は、図２に示すように、投影部１３や撮像部１４がケース内に収容されて構成されている。図１に示すように、この撮像ヘッド２は、鏡筒５と、ファインダ６と、フラッシュ７とを、それぞれが部分的に撮像ヘッド２の正面において露出する姿勢で備えている。この撮像ヘッド２は、さらに、撮像部１４の一部である撮像光学系２１を、それのレンズの一部が撮像ヘッド２の正面において露出する姿勢で備えている。その撮像光学系２１は、それの露出部分において、被写体を表す画像光を受光する。
【００７３】
鏡筒５は、図１に示すように、撮像ヘッド２の正面から突出しており、その内部において、図２に示すように、投影部１３の一部である投影光学系２０を収容している。この鏡筒５は投影光学系２０を、焦点調節のために全体的に移動可能である状態で保持し、さらに、この鏡筒５は、投影光学系２０を損傷から保護している。鏡筒５の露出端面から、投影部１３の一部である投影光学系２０のレンズの一部が露出している。投影光学系２０は、それの露出部分において、投影面または被写体に向かって画像光またはパターン光を投影する。
【００７４】
ファインダ６は、撮像ヘッド２の正面から入射した光をそれの背面まで誘導するように配設される光学レンズによって構成されている。ユーザがファインダ６を画像入出力装置１の背面からのぞき込むと、ユーザが、撮像光学系２１のうちのイメージセンサの一例であるＣＣＤ２２（結像面）上に画像が結像する領域とほぼ一致する領域内においてその画像を視認できるようになっている。
【００７５】
フラッシュ７は、例えば、デジカメモードにおいて、不足光量を補充するために発光する光源であり、キセノンガスが充填された放電管を用いて構成されている。したがって、このフラッシュ７は、撮像ヘッド２に内蔵されているコンデンサ（図示しない）の放電により繰り返し使用することができる。
【００７６】
撮像ヘッド２は、さらに、それの上面において、レリーズボタン８と、モード切替スイッチ９と、モニタＬＣＤ１０とを備えている。
【００７７】
レリーズボタン８は、画像入出力装置１を作動させるためにユーザによって操作される。このレリーズボタン８は、ユーザの操作状態（押下状態）が「半押し状態」である場合と「全押し状態」である場合とで異なる指令を発令できる２段階の押しボタン式のスイッチによって構成されている。レリーズボタン８の操作状態は処理部１５によって監視される。処理部１５によって「半押し状態」が検出されれば、よく知られたオートフォーカス（ＡＦ）および自動露出（ＡＦ）の機能が起動し、ピント、絞りおよびシャッタスピードが自動的に調節される。これに対し、処理部１５によって「全押し状態」が検出されれば、撮像等が行われる。
【００７８】
モード切替スイッチ９は、画像入出力装置１の作動モードを、前述のデジカメモード、ｗｅｂｃａｍモード、立体画像モード、および平面化画像モードと、オフモード等を含む複数種類のモードのいずれかとして設定するためにユーザによって操作される。このモード切替スイッチ９の操作状態は処理部１５によって監視されており、モード切替スイッチ９の操作状態が処理部１５によって検出されると、その検出された操作状態に対応するモードでの処理が画像入出力装置１に対して行われる。
【００７９】
モニタＬＣＤ１０は、液晶ディスプレイ（Liquid Crystal Display）を用いて構成されており、処理部１５から画像信号を受けて、画像をユーザに表示する。このモニタＬＣＤ１０は、例えば、デジカメモードやｗｅｂｃａｍモードにおける撮像画像、立体画像モードにおける３次元形状検出結果画像、平面化画像モードにおける平面化画像等を表示する。
【００８０】
図１に示すように、撮像ヘッド２は、さらに、ＲＦ（無線）インターフェイスとしてのアンテナ１１と、撮像ヘッド２とアーム部材３とを互いに連結する連結部材１２とを備えている。
【００８１】
アンテナ１１は、図５に示すように、ＲＦドライバ２４に接続されている。このアンテナ１１は、デジカメモードで取得した撮像画像データ、立体画像モードで取得した立体画像データ等を、ＲＦドライバ２４を介して、図示しない外部インターフェイスに無線によって送信する。
【００８２】
連結部材１２は、撮像ヘッド２とアーム部材３の一端部とを、ねじ機構により、着脱可能であり、かつ、相対取付け角度が調節可能である状態で互いに連結する。具体的には、この連結部材１２は、例えば、内周面に雌ねじが形成されたリングとして形成され、撮像ヘッド２の一側面に回転可能かつ離脱不能に保持されている。その雌ねじに対応し、アーム部材３の一端部に雄ねじが形成されている。それら雌ねじと雄ねじとが互いに螺合されることにより、撮像ヘッド２とアーム部材３とが着脱可能に互いに連結される。したがって、撮像ヘッド２は、アーム部材３から取り外せば、通常のデジタルカメラとして使用することができる。さらに、それら雌ねじと雄ねじとが互いに螺合されることにより、撮像ヘッド２を、アーム部材３の一端部に任意の角度で固定することができる。
【００８３】
図１に示すように、アーム部材３は、任意の形状に屈曲可能であり、かつ、外力が加えられない限りその形状が復元しない素材または機構によって構成されている。これにより、アーム部材３は、それに装着された撮像ヘッド２を、それの位置および向きを任意に調整可能に保持することができる。このアーム部材３は、例えば、任意の形状に屈曲可能な蛇腹状のパイプによって構成される。
【００８４】
図１に示すうように、ベース４は、前述のように、アーム部材３の他端に連結されている。このベース４は、机等の載置台に載置され、撮像ヘッド２とアーム部材３とを支持する。このベース４は、平面視において略Ｌ字状を成すように形成されているため、重量の割に高い安定度で撮像ヘッド２およびアーム部材３を支持することができる。さらに、それらアーム部材３とベース４とは着脱可能に互いに連結されているため、例えば搬送や収納の先立ち、それらアーム部材３とベース４とを互いに分離することにより、それらアーム部材３とベース４とが占めるスペースの形態を任意に変更することが可能となり、よって、搬送し易さの向上および収納スペースの削減を容易に図り得る。
【００８５】
図２には、撮像ヘッド２の内部構成が概念的に表されている。撮像ヘッド２は、前述のように、投影部１３と、撮像部１４と、処理部１５とを主に内蔵している。
【００８６】
投影部１３は、投影面または被写体に任意の画像光（投影画像）またはパターン光を投影するためのユニットである。この投影部１３は、図２に示すように、基板１６と、複数個のＬＥＤ１７（以下、それらのアレイを「ＬＥＤアレイ１７Ａ」という。）と、光源レンズ１８と、投影ＬＣＤ１９と、投影光学系２０とを、投影方向に沿って直列に備えている。この投影部１３の詳細は、後に図３を参照して説明する。
【００８７】
撮像部１４は、被写体としての原稿Ｐを撮像するためのユニットである。この撮像部１４は、図２に示すように、撮像光学系２１と、ＣＣＤ２２とを、画像光の入射方向に沿って直列に備えている。
【００８８】
撮像光学系２１は、図２に示すように、複数枚のレンズを用いて構成されている。この撮像光学系２１は、よく知られたオートフォーカス機能により、焦点距離および絞りを自動調整して外部からの光をＣＣＤ２２上に結像する。
【００８９】
ＣＣＤ（Charge Coupled Device）２２は、フォトダイオード素子などの光電変換素子をマトリクス状に配列して構成されている。このＣＣＤ２２は、撮像光学系２１を介してこのＣＣＤ２２の表面に結像される画像の光の色および強さに応じた信号を各画素ごとに生成する。その生成された信号は、デジタルデータに変換されて処理部１５に出力される。
【００９０】
図５にブロック図で示すように、処理部１５は、フラッシュ７、レリーズボタン８およびモード切替スイッチ９にそれぞれ電気的に接続されている。処理部１５は、さらに、モニタＬＣＤ１０にはモニタＬＣＤドライバ２３を介して、アンテナ１１にはＲＦドライバ２４を介して、バッテリ２６には電源インターフェイス２５を介してそれぞれ電気的に接続されている。処理部１５は、さらに、外部メモリ２７およびキャッシュメモリ２８にそれぞれ電気的に接続されている。処理部１５は、さらに、ＬＥＤアレイ１７Ａには光源ドライバ２９を介して、投影ＬＣＤ１９には投影ＬＣＤドライバ３０を介して、ＣＣＤ２２にはＣＣＤインターフェイス３１を介してそれぞれ電気的に接続されている。それらフラッシュ７等は、処理部１５によって制御される。
【００９１】
外部メモリ２７は、着脱可能なフラッシュＲＯＭであり、デジカメモードやｗｅｂｃａｍモード、さらに立体画像モードにおいて撮像された撮像画像や３次元情報を記憶することが可能である。外部メモリ２７を構成するために、例えば、ＳＤカード、コンパクトフラッシュ（登録商標）カード等を使用することができる。
【００９２】
キャッシュメモリ２８は、データの読み書きを高速で行い得る記憶装置である。キャッシュメモリ２８は、例えば、デジカメモードにおいて撮像された撮像画像を高速でキャッシュメモリ２８に転送し、処理部１５で画像処理を行ってから外部メモリ２７に格納することを可能にするために使用される。キャッシュメモリ２８を構成するために、例えば、ＳＤＲＡＭ、ＤＤＲＲＡＭ等を使用することができる。
【００９３】
電源インターフェイス２５、光源ドライバ２９、投影ＬＣＤドライバ３０およびＣＣＤインターフェイス３１はそれぞれ、バッテリ２６、ＬＥＤアレイ１７Ａ、投影ＬＣＤ１９およびＣＣＤ２２を制御する各種の集積回路ＩＣ（Integrated Circuit）によって構成されている。
【００９４】
ここで、投影部１３の詳細を図１３を参照することによって説明する。図３（ａ）は投影部１３の拡大図であり、図３（ｂ）は光源レンズ１８の正面図であり、図３（ｃ）は投影ＬＣＤ１９とＣＣＤ２２との配置関係を説明するための正面図である。
【００９５】
前述のように、投影部１３は、図３（ａ）に示すように、基板１６と、ＬＥＤアレイ１７Ａと、光源レンズ１８と、投影ＬＣＤ１９と、投影光学系２０とをパターン光の投影方向に沿って直列に備えている。
【００９６】
基板１６は、それにＬＥＤアレイ１７Ａが装着されることにより、その装着されたＬＥＤアレイ１７Ａとの間において電気的な配線を行う。基板１６は、例えば、アルミニウム製基板に絶縁性合成樹脂を塗布してから無電解メッキにてパターンを形成したものや、ガラスエポキシ基材をコアとする単層または多層構造の基板を使用して製作することができる。
【００９７】
ＬＥＤアレイ１７Ａは、投影ＬＣＤ１９に向けて放射状の光を発光する光源である。このＬＥＤアレイ１７Ａにおいては、基板１６上に複数個のＬＥＤ（発光ダイオード）１７が、図３（ｂ）に示すように、千鳥状配列のもとに、銀ペーストを介して接着されている。それら基板１６と複数個のＬＥＤ１７とは、ボンディングワイヤを介して電気的に結線されている。複数個のＬＥＤ１７を千鳥状に配列することによる効果は、後に図４を参照して詳細に説明する。
【００９８】
このように、本実施形態においては、投影部１３の光源として複数個のＬＥＤ１７が使用されているため、光源として白熱電球、ハロゲンランプ等が使用される場合に比べて、電気が光に変換される電気光変換効率の向上や、赤外線や紫外線の発生の抑制を容易に行い得る。よって、画像入出力装置１の節電、長寿命化、発熱抑制等を容易に図り得る。
【００９９】
このように、ＬＥＤ１７はハロゲンランプ等に比べて熱線の発生率が極めて低いため、光源レンズ１８や投影光学系２０に合成樹脂製のレンズを採用することができる。よって、ガラス製のレンズを採用する場合に比べて、光源レンズ１８および投影光学系２０を安価で軽量に構成することができる。
【０１００】
さらに、本実施形態においては、ＬＥＤアレイ１７Ａを構成する各ＬＥＤ１７が、互いに同じ色の光を発光し、具体的には、材料にＡｌ、Ｉｎ、ＧａおよびＰの４元素を用いたアンバー色を発光するように構成されている。したがって、複数色の光を発光させる場合に考慮しなければならない問題である色収差の補正を考慮する必要がなく、よって、色収差を補正するために投影光学系２０に色消しレンズを採用する必要もない。その結果、投影光学系２０の設計の自由度を向上させることができる。
【０１０１】
さらに、本実施形態においては、電気光変換効率が約８０［ｌｕｍｅｎ／Ｗ］というように他の発光色に比べて高い４元素材料のアンバー色ＬＥＤが採用されるため、画像入出力装置１の高輝度化、節電および長寿命化を容易に図り得る。
【０１０２】
本実施形態においては、具体的には、ＬＥＤアレイ１７Ａが５９個のＬＥＤ１７によって構成され、各ＬＥＤ１７は５０［ｍＷ］（２０［ｍＡ］，２．５［Ｖ］）で駆動され、結局、５９個のＬＥＤ１７の全体は略３［Ｗ］の消費電力で駆動される。
【０１０３】
さらに、本実施形態においては、各ＬＥＤ１７から発光される光が光源レンズ１８および投影ＬＣＤ１９を通過して投影光学系２０から出射する場合の光束値としての明るさが、全面照射の場合であっても２５ＡＮＳＩルーメン程度に設定されている。
【０１０４】
本実施形態においては、画像入出力装置１の投影部１３からの出射光の明るさがその程度に選定されるため、例えば、被写体が人や動物の顔である場合に、立体画像モードにおいて、その被写体の３次元形状を検出するためにその被写体にパターン光を投影しても、被写体に眩しさを与えずに済む。したがって、本実施形態によれば、被写体が人や動物である場合に、その被写体が目をつぶらない状態でその被写体の３次元形状を検出することが容易となる。
【０１０５】
図３に示すように、光源レンズ１８は、ＬＥＤアレイ１７Ａから放射状に発光される光を集光するレンズであり、その材質はアクリルに代表される光学樹脂である。
【０１０６】
図３（ａ）に示すように、光源レンズ１８は、複数個の凸状のレンズ部１８ａと、それらレンズ部１８ａを支持するベース部１８ｂと、エポキシ封止材１８ｃと、複数本の位置決めピン１８ｄとを備えている。
【０１０７】
図３（ａ）に示すように、各レンズ部１８ａは、ベース部１８ｂのうちＬＥＤアレイ１７Ａの各ＬＥＤ１７に対向する位置に、ベース部１８ｂから投影ＬＣＤ１９に向かって突設されている。エポキシ封止材１８ｃは、ベース部１８ｂのうちＬＥＤアレイ１７Ａが気密に収容されるべき凹部１８ｅ内に充填され、それにより、その凹部１８ｅ内においてＬＥＤアレイ１７Ａが封止される。このエポキシ封止材１８ｃは、ＬＥＤアレイ１７Ａの封止機能を有するのであり、さらに、基板１６と光源レンズ１８とを互いに接着する機能も有する。
【０１０８】
図３（ａ）に示すように、複数本の位置決めピン１８ｄは、光源レンズ１８と基板１６とを相対的に位置決めするために、光源レンズ１８に、その光源レンズ１８から基板１６に向かって突設されている。図３（ｂ）に示すように、複数本の位置決めピン１８ｄのうちの一部は、基板１６に穿設された長穴１６ａに挿入される一方、残りは、基板１６に穿設された真円穴１６ｂに挿入され、それにより、基板１６に光源レンズ１８ががたなく正規の位置に固定される。
【０１０９】
このように、本実施形態においては、光源レンズ１８と、ＬＥＤアレイ１７Ａと、基板１６とが、投影方向に空間的に詰めて互いに積層されているため、それら光源レンズ１８等の組立体のコンパクト化および省スペース化が容易となる。
【０１１０】
さらに、本実施形態においては、基板１６が、ＬＥＤアレイ１７Ａを保持するという基本的な機能の他に、光源レンズ１８を保持するという付随的な機能をも果たしている。したがって、本実施形態によれば、光源レンズ１８を専ら保持する部品の追加を省略でき、その結果、画像入出力装置１の部品点数の削減が容易となる。
【０１１１】
さらに、本実施形態においては、各レンズ部１８ａが、図３（ａ）に示すように、ＬＥＤアレイ１７Ａの各ＬＥＤ１７に１対１の関係で正対するように配置されている。よって、各ＬＥＤ１７から発光される放射状の光は、各ＬＥＤ１７に対向する各レンズ部１８によって効率良く集光され、図３（ａ）に示すように、指向性の高い放射光として投影ＬＣＤ１９に照射される。
【０１１２】
このように指向性を高めたのは、投影ＬＣＤ１９に略垂直に光が入射すれば、その投影ＬＣＤ１９の面内における透過率むらが抑制されて画質が向上し得るという理由からである。
【０１１３】
投影光学系２０は、投影ＬＣＤ１９を通過した光を投影面または被写体に向かって投影するための複数枚のレンズである。それらレンズは、ガラス製レンズと合成樹脂製レンズとの組合せから成るテレセントリックレンズによって構成されている。テレセントリックとは、投影光学系２０を通過する主光線は、入射側の空間では光軸に平行になり、射出瞳の位置は無限になる構成をいう。
【０１１４】
投影光学系２０は、上述のようにテレセントリック特性を持ち、その入射ＮＡが０．１程度であるため、垂直±５°以内の光のみが投影光学系２０の内部の絞りを通過できるように、投影光学系２０の光路が規制されている。
【０１１５】
したがって、本実施形態においては、投影光学系２０のテレセントリック性により、投影ＬＣＤ１９を垂直±５°で通過する光のみを投影光学系２０に投影し得る構成と相俟って、画質の向上を容易に図り得る。
【０１１６】
よって、本実施形態においては、画質向上のために、各ＬＥＤ１７からの出射光が投影ＬＣＤ１９０に略垂直に入射するように各ＬＥＤ１７からの光の出射角度を揃え、かつ、各ＬＥＤ１７からの出射光のほとんどが投影光学系２０に垂直±５°の入射角度範囲内で入射させることが重要である。
【０１１７】
図３（ｃ）に示すように、投影ＬＣＤ１９は、光源レンズ１８を通過して集光された光に空間変調を施して、投影光学系２０に向けてパターン光を出力する空間変調素子である。この投影ＬＣＤ１９は、具体的には、縦横比が１：１ではない板状の液晶ディスプレイ（Liquid Crystal Display）によって構成されている。
【０１１８】
図３（ｃ）に示すように、この投影ＬＣＤ１９においては、その投影ＬＣＤ１９を構成する複数個の画素が一平面上において千鳥状に配列されている。具体的には、この投影ＬＣＤ１９においては、その液晶ディスプレイの長手方向（横方向）に複数個の画素が予め定められた画素ピッチで等間隔に並んだ画素列が複数並列に配置され、かつ、互いに隣接する２つの画素列が、その画素ピッチより短い長さで、その液晶ディスプレイの長手方向にずらされている。
【０１１９】
このように、本実施形態においては、投影ＬＣＤ１９を構成する複数個の画素が千鳥状に配列されているため、投影ＬＣＤ１９によって空間変調が施される光を投影ＬＣＤ１９の長手方向において前記画素ピッチの１／２のピッチで制御することができる。したがって、本実施形態によれば、細いピッチで投影パターン光を制御することができ、よって、被写体の３次元の形状を高い分解能で高精度に検出することができる。
【０１２０】
特に、後に詳述する立体画像モードや平面化画像モードにおいては、被写体の３次元形状を検出すべく、図１に示すように、明部と暗部とが交互に並んで成るストライプ状のパターン光が被写体に向けて投影される。本実施形態においては、そのパターン光において複数本のストライプ（明部または暗部）が並ぶ方向（各ストライプの幅方向）が投影ＬＣＤ１９の長手方向に一致するようにパターン光が予め定義されている。したがって、パターン光において明部と暗部との境界を１／２ピッチで制御することができ、よって、同様に高精度に３次元の形状を検出することができる。
【０１２１】
図３（ｃ）においては、投影ＬＣＤ１９とＣＣＤ２２とが横に並んで示されているが、それら投影ＬＣＤ１９とＣＣＤ２２とは、紙面手前側に撮像ヘッド２の正面が存在し、紙面裏側から光が投影ＬＣＤ１９に入射し、紙面手間側から光がＣＣＤ２２に入射してそのＣＣＤ２２に被写体像が結像される状態で、配置されている。
【０１２２】
それら投影ＬＣＤ１９とＣＣＤ２２とは、撮像ヘッド２の内部においては、図３（ｃ）に示すレイアウトで配置される。具体的には、それら投影ＬＣＤ１９とＣＣＤ２２とは、投影ＬＣＤ１９の幅広面とＣＣＤ２２の幅広面とが略同一の方向を向くように配置されている。したがって、本実施形態によれば、投影ＬＣＤ１９がパターン光を投影している被写体からの反射光を画像入出力装置１内においてＣＣＤ２２に結像させることによって被写体の３次元形状を検出するために、投影ＬＣＤ１９の中心とＣＣＤ２２の中心とを結ぶ一直線を、三角測量を行う際に着目される３辺のうちの１辺として利用することができる。
【０１２３】
また、ＣＣＤ２２は、投影ＬＣＤ１９の長手方向に位置する側（画素列が延びる方向に位置する側）に配置されている。よって、特に、立体画像モードや平面化画像モードにおいて、三角測量の原理を利用して被写体の３次元形状を検出する場合には、ＣＣＤ２２と被写体とのなす傾きを１／２ピッチで制御することができるため、同様に高精度に被写体の３次元形状を検出することができる。
【０１２４】
本実施形態においては、投影ＬＣＤ１９が画素配列として千鳥配列を採用するため、画素列において画素が並ぶ間隔と等しい間隔で複数本のストライプが並んだパターン光、すなわち、千鳥配列を利用せずに形成される複数種類の標準的なパターン光のうちストライプ間の間隔が最も狭いものよりストライプ間の間隔が狭い別のパターン光を形成することが可能となる。したがって、本実施形態によれば、標準的なパターン光の種類がｎ種類である場合に、（ｎ＋１）ビットの空間コードを扱うことが可能となり、このことによっても、被写体の３次元形状を検出する精度が向上する。
【０１２５】
よって、本実施形態によれば、投影ＬＣＤ１９における画素ピッチ間の間隔、すなわち、投影ＬＣＤ１９の解像度の割に多数のビットの空間コードを扱うことが可能となる。
【０１２６】
以下、図４を参照することにより、ＬＥＤアレイ１７Ａの配列をさらに詳しく説明する。図４（ａ）は、光源レンズ１８から出射する光の３次元形状を示す側面図である。図４（ｂ）は、１個のＬＥＤ１７から投影ＬＣＤ１９の入射面１９ａに入射した光の照度分布を示すグラフである。図４（ｃ）は、ＬＥＤアレイ１７Ａの配列を部分的に拡大して示す正面図である。図４（ｄ）は、複数個のＬＥＤ１７から投影ＬＣＤ１９の入射面１９ａに入射した複数の光の合成照度分布を示すグラフである。
【０１２７】
図４（ａ）に示すように、光源レンズ１８からの出射光が、半値拡がり半角θが略５°である状態で、図４（ｂ）に示すような照度分布を有する光として、投影ＬＣＤ１９の入射面１９ａに到達するように光源レンズ１８が設計されている。
【０１２８】
また、図４（ｃ）に示すように、複数個のＬＥＤ１７は、投影ＬＣＤ１９における画素の千鳥配列に合わせて、基板上１６に千鳥状に配列されている。具体的には、複数個のＬＥＤ１７がピッチｄで横方向に直列に並んで成るＬＥＤ列が複数、ピッチｄの√３／２倍と等しいピッチで縦方向に並列に並んでいる。さらに、縦方向において互いに隣接する２つのＬＥＤ列は、ピッチｄと等しい長さで、横方向に互いにずらされている。
【０１２９】
すなわち、本実施形態においては、それらＬＥＤ１７の配列が三角格子配列とされ、いずれのＬＥＤ１７も、それに隣接する別のいずれのＬＥＤ１７からもピッチｄと等しい距離離れているのである。
【０１３０】
そして、本実施形態においては、ピッチｄの長さが、１個のＬＥＤ１７から出射した光によって投影ＬＣＤ１９について与えられる照度分布の半値全幅（ＦＷＨＭ（Full  Width  Half  Maximun））以下となるように、予め設定されている。
【０１３１】
よって、本実施形態においては、光源レンズ１８を通過して投影ＬＣＤ１９の入射面１９ａに到達する光の合成照度分布が、図４（ｄ）に示すように、小さなリップルを有する略直線状のグラフで表され、その結果、投影ＬＣＤ１９の入射面１９ａの全体に略均一に光が照射される。したがって、本実施形態によれば、投影ＬＣＤ１９における照度むらが抑制され、その結果、画像光が投影面に高品質で投影され、さらに、パターン光が被写体に高品質で投影される。
【０１３２】
図５には、画像入出力装置１の電気的な構成がブロック図で表されている。処理部１５はコンピュータを主体として構成されており、そのコンピュータは、ＣＰＵ３５と、ＲＯＭ３６と、ＲＡＭ３７とを含むように構成されている。
【０１３３】
ＣＰＵ３５は、ＲＯＭ３６に記憶されたプログラムをＲＡＭ３７を利用しつつ実行することにより、レリーズボタン８の操作状態の検出、ＣＣＤ２２からの画像データの取込み、その取り込まれた画像データの転送および格納、モード切替スイッチ９の操作状態の検出等の各種処理を行う。
【０１３４】
ＲＯＭ３６には、カメラ制御プログラム３６ａと、パターン光撮影プログラム３６ｂと、輝度画像生成プログラム３６ｃと、コード画像生成プログラム３６ｄと、コード境界抽出プログラム３６ｅと、レンズ収差補正プログラム３６ｆと、三角測量演算プログラム３６ｇと、原稿姿勢演算プログラム３６ｈと、平面変換プログラム３６ｉとが格納されている。
【０１３５】
カメラ制御プログラム３６ａは、画像入出力装置１全体の制御を実行するために実行され、その制御には、図６にフローチャートで概念的に表されているメイン処理が含まれる。
【０１３６】
パターン光撮影プログラム３６ｂは、原稿Ｐの３次元形状を検出するためにパターン光が投影された被写体を撮像してパターン光有画像を取得し、さらに、パターン光が投影されていない被写体を撮像してパターン光無画像を取得するために実行される。
【０１３７】
輝度画像生成プログラム３６ｃは、パターン光撮影プログラム３６ｂの実行によって同じ被写体について取得されたパターン光有画像とパターン光無画像との差分をとり、パターン光が投影された被写体を表す輝度画像を生成するために実行される。
【０１３８】
本実施形態においては、同じ被写体に対して複数種類のパターン光が時系列に順次投影され、各パターン光が投影されるごとに被写体が撮像される。そのようにして撮像された複数枚のパターン光有画像の各々とパターン光無画像との差分がとられ、その結果、パターン光の種類と同数の輝度画像が生成される。
【０１３９】
コード画像生成プログラム３６ｄは、輝度画像生成プログラム３６ｃの実行によって生成された複数枚の輝度画像それぞれに対する閾値処理により生成される２値化画像から、各画素毎に空間コードが割り当てられたコード画像を生成するために実行される。
【０１４０】
概略的に説明するに、このコード画像生成プログラム３６ｄが実行されると、複数種類のパターン光のうちパターンライン間の間隔が最も狭いものが投影された被写体の輝度画像におけるパターンライン間の間隔が周期として取得され、その周期の輝度画像全体における分布が周期分布として取得される。このコード画像生成プログラム３６ｄが実行されると、さらに、その取得された周期分布に従ってサイズが変化する可変窓が各パターン光ごとの輝度画像にローカルに設定されることにより、前記可変窓を用いたフィルタ処理により輝度画像全体に対して閾値がローカルに算出されて設定される。そのようにして設定された閾値の分布を表す閾値画像と各パターン光ごとの輝度画像との関係から、各パターン光ごとに２値化画像が生成される。
【０１４１】
コード境界抽出プログラム３６ｅは、コード画像生成プログラム３６ｄの実行によって生成されたコード画像と、輝度画像生成プログラム３６ｃの実行によって生成された輝度画像とを利用することにより、コードの境界座標をサブピクセル精度で求めるために実行される。
【０１４２】
レンズ収差補正プログラム３６ｆは、コード境界抽出プログラム３６ｅの実行によってサブピクセル精度で求められたコードの境界座標に対して、撮像光学系２０の収差補正を行うために実行される。
【０１４３】
三角測量演算プログラム３６ｇは、レンズ収差補正プログラム３６ｆの実行によって収差補正が行われたコードの境界座標から、その境界座標に関する実空間の３次元座標を演算するために実行される。
【０１４４】
原稿姿勢演算プログラム３６ｈは、三角測量演算プログラム３６ｇの実行によって演算された３次元座標から原稿Ｐの３次元形状を推定して求めるために実行される。
【０１４５】
平面変換プログラム３６ｉは、原稿姿勢演算プログラム３６ｈの実行によって演算された原稿Ｐの３次元形状に基づき、原稿Ｐをその正面から撮像した場合に生成される如き平面化画像を生成するために実行される。
【０１４６】
図５に示すように、ＲＡＭ３７には、パターン光有画像格納部３７ａと、パターン光無画像格納部３７ｂと、輝度画像格納部３７ｃと、コード画像格納部３７ｄと、コード境界座標格納部３７ｅと、収差補正座標格納部３７ｇと、３次元座標格納部３７ｈと、原稿姿勢演算結果格納部３７ｉと、平面変換結果格納部３７ｊと、投影画像格納部３７ｋと、ワーキングエリア３７ｌと、周期分布格納部３７ｐと、閾値画像格納部３７ｑと、２値化画像格納部３７ｒとがそれぞれ記憶領域として割り当てられている。
【０１４７】
パターン光有画像格納部３７ａは、パターン光撮影プログラム３６ｂの実行によって撮像されたパターン光有画像を表すパターン光有画像データを格納する。パターン光無画像格納部３７ｂは、パターン光撮影プログラム３６ｂの実行によって撮像されたパターン光無画像を表すパターン光無画像データを格納する。
【０１４８】
輝度画像格納部３７ｃは、輝度画像生成プログラム３６ｃの実行によって生成された輝度画像を表すデータを格納する。コード画像格納部３７ｄは、コード画像生成プログラム３６ｄの実行によって生成されたコード画像を表すデータを格納する。コード境界座標格納部３７ｅは、コード境界抽出プログラム３６ｅの実行によってサブピクセル精度で抽出された各コードの境界座標を表すデータを格納する。
【０１４９】
収差補正座標格納部３７ｇは、レンズ収差補正プログラム３６ｆの実行によって収差補正が行われたコードの境界座標を表すデータを格納する。３次元形状座標格納部３７ｈは、三角測量演算プログラム３６ｇの実行によって演算された実空間の３次元座標を表すデータを格納する。
【０１５０】
原稿姿勢演算結果格納部３７ｉは、原稿姿勢演算プログラム３６ｈの実行によって演算された原稿Ｐの３次元形状に関するパラメータを格納する。平面変換結果格納部３７ｊは、平面変換プログラム３６ｉの実行によって取得された平面変換結果を表すデータを格納する。投影画像格納部３７ｋは、投影部１３が被写体に投影する投影画像すなわちパターン光に関する情報を格納する。ワーキングエリア３７ｌは、ＣＰＵ１５がその動作のために一時的に使用するデータを格納する。
【０１５１】
周期分布格納部３７ｐ、閾値画像格納部３７ｑおよび２値化画像格納部３７ｒは、コード画像生成プログラム３６ｄの実行によって取得された周期分布、閾値画像および２値化画像を表すデータをそれぞれ格納する。
【０１５２】
ここで、図６を参照することにより、カメラ制御プログラム３６ａを説明する。このカメラ制御プログラム３６ａが前記コンピュータによって実行されることにより、前述のメイン処理が実行される。
【０１５３】
このメイン処理においては、まず、ステップＳ６０１（以下、単に「Ｓ６０１」で表す。他のステップについても同じとする。）において、バッテリ２６を含む電源がＯＮされる。次に、Ｓ６０２において、処理部１５、周辺インターフェイス等が初期化される。
【０１５４】
続いて、Ｓ６０３において、モード切替スイッチ９の操作状態を判別するためにキースキャンが行われ、その後、Ｓ６０４において、モード切替スイッチ９の操作によってデジカメモードが選択されたか否かが判定される。今回は、デジカメモードが選択されたと仮定すれば、判定がＹｅｓとなり、Ｓ６０５において、後述のデジカメ処理が実行される。
【０１５５】
これに対し、今回は、モード切替スイッチ９の操作によってデジカメモードが選択されなかったと仮定すれば、Ｓ６０４の判定がＮｏとなり、Ｓ６０６において、モード切替スイッチ９の操作によってｗｅｂｃａｍモードが選択されたか否かが判定される。今回は、ｗｅｂｃａｍモードが選択されたと仮定すれば、判定がＹｅｓとなり、Ｓ６０７において、後述のｗｅｂｃａｍ処理が実行される。
【０１５６】
これに対し、今回は、モード切替スイッチ９の操作によってｗｅｂｃａｍモードが選択されなかったと仮定すれば、Ｓ６０６の判定がＮｏとなり、Ｓ６０８において、モード切替スイッチ９の操作によって立体画像モードが選択されたか否かが判定される。今回は、立体画像モードが選択されたと仮定すれば、判定がＹｅｓとなり、Ｓ６０９において、後述の立体画像処理が実行される。
【０１５７】
これに対し、今回は、モード切替スイッチ９の操作によって立体画像モードが選択されなかったと仮定すれば、Ｓ６０８の判定がＮｏとなり、Ｓ６１０において、モード切替スイッチ９の操作によって平面化画像モードが選択されたか否かが判定される。今回は、平面化画像モードが選択されたと仮定すれば、判定がＹｅｓとなり、Ｓ６１１において、後述の平面化画像処理が実行される。
【０１５８】
これに対し、今回は、モード切替スイッチ９の操作によって平面化画像モードが選択されなかったと仮定すれば、Ｓ６１０の判定がＮｏとなり、Ｓ６１２において、モード切替スイッチ９の操作によってオフモードが選択されたか否かが判定される。今回は、モード切替スイッチ９の操作によってオフモードが選択されたと仮定すれば、判定がＹｅｓとなり、直ちに今回のメイン処理が終了するが、今回は、モード切替スイッチ９の操作によってオフモードが選択されなかったと仮定すれば、判定がＹｅｓとなり、Ｓ６０３に戻る。
【０１５９】
図７には、図６におけるＳ６０５がデジカメ処理ルーチンとしてフローチャートで概念的に表されている。このデジカメ処理ルーチンの実行により、撮像部１４によって撮像された画像を取得するデジカメ処理が実行される。
【０１６０】
このデジカメ処理においては、まず、Ｓ７０１において、ＣＣＤ２２に高解像度設定信号が送信される。これにより、高品質の撮像画像をユーザに提供することができる。
【０１６１】
次に、Ｓ７０２において、ファインダ画像、すなわち、ファインダ６を通して見える範囲の画像と同じ画像がモニタＬＣＤ１０に表示される。よって、ユーザは、ファインダ６をのぞき込むことなく、モニタＬＣＤ１０に表示された画像を見ることにより、実際の撮像前に、撮像画像（撮像範囲）を確認することができる。
【０１６２】
続いて、Ｓ７０３ａにおいて、レリーズボタン８の操作状態がスキャンされ、その後、Ｓ７０３ｂにおいて、そのスキャン結果に基づき、レリーズボタン８が半押し状態にあるか否かが判定される。半押し状態にあれば、判定がＹｅｓとなり、Ｓ７０３ｃにおいて、オートフォーカス（ＡＦ）および自動露出（ＡＥ）機能が起動し、それにより、ピント、絞りおよびシャッタスピードが調節される。Ｓ７０３ｂにおいては、レリーズボタン８が半押し状態に移行しているか否かが判定され、移行していなければ、このＳ７０３ｂの判定がＮｏとなってＳ７０３ａに戻る。
【０１６３】
Ｓ７０３ｃの実行後、Ｓ７０３ｄにおいて、再度、レリーズボタン８の操作状態がスキャンされ、その後、Ｓ７０３ｅにおいて、そのスキャン結果に基づき、レリーズボタン８が全押し状態にあるか否かが判定される。このＳ７０３ｅにおいては、レリーズボタン８が全押し状態に移行しているか否かが判定され、移行していなければ、このＳ７０３ｅの判定がＮｏとなってＳ７０３ａに戻る。
【０１６４】
レリーズボタン８が半押し状態から全押し状態に移行すれば、Ｓ７０３ｅの判定がＹｅｓとなり、Ｓ７０４において、フラッシュモードが選択されているか否かが判定される。フラッシュモードが選択されていれば、判定がＹｅｓとなり、Ｓ７０５において、フラッシュ７が発光させられるが、フラッシュモードが選択されていなければ、Ｓ７０４の判定がＮｏとなり、Ｓ７０５がスキップされる。
【０１６５】
いずれにしても、その後、Ｓ７０６において、被写体が撮像される。続いて、Ｓ７０７において、被写体が撮像された撮像画像がＣＣＤ２２からキャッシュメモリ２８に転送されて記憶される。その後、Ｓ７０８において、キャッシュメモリ２８に記憶された撮像画像がモニタＬＣＤ１０に表示される。本実施形態においては、撮像画像がキャッシュメモリ２８に転送されるため、メインメモリに転送される場合に比較して、撮像画像を高速にモニタＬＣＤ１０に表示させることができる。続いて、Ｓ７０９において、その撮像画像が外部メモリ２７に格納される。
【０１６６】
その後、Ｓ７１０において、モード切替スイッチ９の操作状態に変化が無いか否かが判定される。変化が無ければ、判定がＹｅｓとなり、Ｓ７０２に戻るが、変化が有れば、Ｓ７１０の判定がＮｏとなり、今回のデジカメ処理が終了する。
【０１６７】
図８には、図６におけるＳ６０７がｗｅｂｃａｍ処理ルーチンとしてフローチャートで概念的に表されている。このｗｅｂｃａｍ処理ルーチンの実行により、撮像部１４によって撮像された撮像画像（静止画および動画を含む。）を外部ネットワークに送信するｗｅｂｃａｍ処理が実行される。本実施形態においては、撮像画像として動画が、図示しない外部ネットワーク（例えば、インターネット）に送信される場合が想定されている。
【０１６８】
このｗｅｂｃａｍ処理においては、まず、Ｓ８０１において、ＣＣＤ２２に低解像度設定信号が送信される。次に、Ｓ８０２において、オートフォーカスおよび自動露出の機能が起動し、それにより、ピント、絞りおよびシャッタスピードが調節される。続いて、Ｓ８０３において、被写体が撮像される。
【０１６９】
その後、Ｓ８０４において、撮像された撮像画像がＣＣＤ２２からキャッシュメモリ２８に転送され、続いて、Ｓ８０５において、その撮像画像がモニタＬＣＤ１０に表示される。
【０１７０】
その後、Ｓ８０６において、その撮像画像が投影画像格納部３７ｋに格納される。続いて、Ｓ８０７において、後述の投影処理が実行され、それにより、投影画像格納部３７ｋに格納されている画像が投影面に投影される。
【０１７１】
その後、Ｓ８０８において、キャッシュメモリ２８に転送された撮像画像が図示しないＲＦインターフェイスを介して前記外部ネットワークに送信される。
【０１７２】
続いて、Ｓ８０９において、モード切替スイッチ９の操作状態に変化が無いか否かが判定される。変化が無ければ、判定がＹｅｓとなり、Ｓ８０２に戻るが、変化が有れば、Ｓ８０９の判定がＮｏとなり、今回のｗｅｂｃａｍ処理が終了する。
【０１７３】
図９には、図８におけるＳ８０６が投影ルーチンとしてフローチャートで概念的に表されている。この投影ルーチンの実行により、投影画像格納部３７ｋに格納されている画像を投影部１３から投影面に投影する投影処理が実行される。
【０１７４】
この投影処理においては、まず、Ｓ９０１において、投影画像格納部３７ｋに画像が格納されているか否かが判定される。格納されていない場合には、判定がＮｏとなり、直ちに今回の投影処理が終了する。これに対し、格納されている場合には、判定がＹｅｓとなり、Ｓ９０２において、投影画像格納部３７ｋに格納されている画像が投影ＬＣＤドライバ３０に転送される。続いて、Ｓ９０３において、その格納されている画像に応じた画像信号が投影ＬＣＤドライバ３０から投影ＬＣＤ１９に送出され、それにより、その投影ＬＣＤ１９に画像が表示される。
【０１７５】
その後、Ｓ９０４において、光源ドライバ２９が駆動され、続いて、Ｓ９０５において、その光源ドライバ２９からの電気信号によってＬＥＤアレイ１７Ａが発光する。以上で、今回の投影処理が終了する。
【０１７６】
ＬＥＤアレイ１７Ａから発光した光は、光源レンズ１８を経て投影ＬＣＤ１９に到達する。その投影ＬＣＤ１９においては、投影ＬＣＤドライバ３０から送信された画像信号に応じた空間変調が施され、その結果、投影ＬＣＤ１９への入射光が画像信号光に変換されて出力される。その投影ＬＣＤ１９から出力される画像信号光は、投影光学系２０を経て投影面に投影画像として投影される。
【０１７７】
図１０には、図６におけるＳ６０９が立体画像処理ルーチンとしてフローチャートで概念的に表されている。この立体画像処理ルーチンの実行により、被写体の３次元形状を検出し、その立体画像としての３次元形状検出結果画像を取得し、表示し、投影する立体画像処理が実行される。
【０１７８】
この立体画像処理においては、まず、Ｓ１００１において、ＣＣＤ２２に高解像度設定信号が送信される。次に、Ｓ１００２ないしＳ１００３ｈが、図７におけるＳ７０２ないしＳ７０６と同様にして実行される。
【０１７９】
具体的には、Ｓ１００２において、モニタＬＣＤ１０にファインダ画像が表示される。続いて、Ｓ１００３ａにおいて、レリーズボタン８の操作状態がスキャンされ、その後、Ｓ１００３ｂにおいて、そのスキャン結果に基づき、レリーズボタン８が半押し状態にあるか否かが判定される。半押し状態にあれば、判定がＹｅｓとなり、Ｓ１００３ｃにおいて、オートフォーカス（ＡＦ）および自動露出（ＡＥ）機能が起動する。
【０１８０】
Ｓ１００３ｃの実行後、Ｓ１００３ｄにおいて、再度、レリーズボタン８の操作状態がスキャンされ、その後、Ｓ１００３ｅにおいて、そのスキャン結果に基づき、レリーズボタン８が全押し状態にあるか否かが判定される。
【０１８１】
レリーズボタン８が半押し状態から全押し状態に移行すれば、Ｓ１００３ｅの判定がＹｅｓとなり、Ｓ１００３ｆにおいて、フラッシュモードが選択されているか否かが判定される。フラッシュモードが選択されていれば、判定がＹｅｓとなり、Ｓ１００３ｇにおいて、フラッシュ７が発光させられるが、フラッシュモードが選択されていなければ、Ｓ１００３ｆの判定がＮｏとなり、Ｓ１００３ｇがスキップされる。いずれにしても、その後、Ｓ１００３ｈにおいて、被写体が撮像される。
【０１８２】
続いて、Ｓ１００６において、後述の３次元形状検出処理が実行され、それにより、被写体の３次元形状が検出される。
【０１８３】
その後、Ｓ１００７において、その３次元形状検出処理による３次元形状検出結果が外部メモリ２７に格納され、続いて、Ｓ１００８において、その３次元形状検出結果が３次元コンピュータグラフィック画像としてモニタＬＣＤ１０に表示される。ここに、３次元形状検出結果とは、後述の空間コード画像において検出される複数の空間コード境界画像を３次元座標に変換した結果取得される頂点座標の集合体を意味する。
【０１８４】
その後、Ｓ１００９において、その３次元形状検出結果としての複数個の計測頂点を通過するポリゴン図形が想定され、その想定されたポリゴン図形のサーフェスを表現する立体画像（３次元のコンピュータグラフィック画像）としての３次元形状検出結果画像が投影画像格納部３７ｋに格納される。この投影画像の生成処理については、後に図１８を参照して説明する。
【０１８５】
続いて、Ｓ１０１０において、図８におけるＳ８０６の投影処理と同様な投影処理が実行される。
【０１８６】
その後、Ｓ１０１１において、モード切替スイッチ９の操作状態に変化が無いか否かが判定される。変化が無ければ、判定がＹｅｓとなり、Ｓ１００２に戻るが、変化が有れば、Ｓ１０１１の判定がＮｏとなり、今回の立体画像処理が終了する。
【０１８７】
図１０のＳ１００６において実行される３次元形状検出処理においては、空間コード化法を用いて被写体の３次元形状が検出される。以下、図１１を参照することにより、空間コード化法を説明する。図１１（ａ）には、３次元座標系ＸＹＺが設定された実空間をＹ座標軸方向に見た図と、Ｘ座標軸方向に見た図と、純２進コードによる３種類のマスクＡ，ＢおよびＣのパターンとが示されている。これに対し、図１１（ｂ）には、グレイコードによる３種類のマスクＡ，ＢおよびＣのパターンと、複数個の空間コードとが示されている。
【０１８８】
図１１（ａ）に示すように、空間コード化法は、観察対象である被写体の像である観察画像と、その被写体に光（拡散光）を投影する投影光源（例えば、プロジェクタ）と、被写体を観測する観測器（例えば、カメラ）との間に三角測量の原理を適用することによって被写体の３次元形状を検出する手法の一種である。この空間コード化法においては、図１１（ａ）に示すように、投影光源Ｌ（PROJECTOR）と観測器Ｏ（CAMERA）とが距離ｄだけ離して設置される。したがって、観測空間内の任意の点Ｐは、投影光の向きψと、観測器Ｏから見える向きθとが計測できれば、特定できる。この空間コード化法においては、さらに、被写体表面上の任意の位置を特定するため、観測空間が複数個の細長い扇状領域に分割されてコード化されている。
【０１８９】
被写体表面上の任意の位置のコードを観測画像から取得するために、複数種類のストライプ状のパターン光が時系列的に被写体に投影される。パターン光の切換えは、パターン光の種類と同数のマスクを用意し、マスクを機械的に交換する機械式として実施したり、電気光学効果を有する材料を用いてストライプ状の光シャッタ列を構成し、その光シャッタ列における各ストライプの光透過率を電子的に制御する電子式として実施することが可能である。もっとも、本実施形態においては、後者の電子式が採用され、具体的には、投影ＬＣＤ１９によって複数種類のマスクパターンが時系列的に再現すなわち表示される。
【０１９０】
図１１（ａ）に示す例においては、投影光源Ｌと被写体（四角柱と円柱）との間にマスクが交換可能に設置される。この例においては、パターンが互いに異なる３種類のマスクＡ，ＢおよびＣが用意されており、よって、３種類のパターン光が時系列的に被写体に投影される。
【０１９１】
各マスクＡ，Ｂ，Ｃによって生成されたパターン光を被写体に投影すると、８個の扇状領域のそれぞれが、明領域「１」と暗領域「０」とのいずれかにコード化される。３枚のマスクＡ，Ｂ，Ｃを経た光をそれらの順に被写体に投影すると、各扇状領域には、３ビットから成るコードが割り当てられる。それら３ビットは、最初のマスクＡに対応する最上位ビットＭＳＢから、最後のマスクＣに対応する最下位ビットＬＳＭまで順に並んでいる。例えば、図１１（ａ）に示す例においては、点Ｐが属する扇状領域は、マスクＡ，Ｂによって光が遮られるのに対し、マスクＣによってのみ光が通過して明領域になるため、「００１（Ａ＝０、Ｂ＝０、Ｃ＝１）」としてコード化される。
【０１９２】
このように、各扇状領域には、投影光源Ｌからの向きψに相当するコードが割り当てられる。一方、各パターン光が投影された被写体の明暗パターンを各マスクごとに２値化してメモリの各ビットプレーンを構成すれば、各ビットプレーン画像の横方向の位置（アドレス）は、観測器Ｏからの向きθに相当する。また、３枚のマスクにそれぞれ対応する３枚のビットプレーンのメモリ内容を各ビット（各画素）ごとに注目すれば、各画素ごとに３ビットのコードが取得される。このコードから、各扇状領域の投影光源Ｌからの向きψが特定される。そして、距離ｄが既知である状況において、向きψおよびθが特定されれば、三角測量の原理により、被写体表面上の注目点の３次元座標が特定される。
【０１９３】
図１１（ａ）には、マスクＡ，ＢおよびＣの如き複数のマスクを用いることにより、空間を純２進コードを用いてコード化する例が示されているが、図１１（ｂ）には、マスクＡ，ＢおよびＣの如き複数のマスクを用いることにより、隣接するコード間のハミング距離が常に１であるグレイコードを空間コードとして用いて空間をコード化する例が示されている。
【０１９４】
本実施形態においては、前述の３次元形状検出処理において、純２進コードによる空間コード化法を採用しても、グレイコードによる空間コード化法を採用してもよい。
【０１９５】
この空間コード化法の詳細は、例えば、佐藤宏介、他１名、「空間コード化による距離画像入力」、電子通信学会論文誌、８５／３Ｖｏｌ．Ｊ  ６８−Ｄ  Ｎｏ３  ｐ３６９〜３７５に詳細に開示されている。
【０１９６】
図１２（ａ）には、図１０におけるＳ１００６が３次元形状検出処理ルーチンとしてフローチャートで概念的に表されている。
【０１９７】
この３次元形状検出処理ルーチンにおいては、まず、Ｓ１２１０において、撮像処理が実行される。この撮像処理が実行されれば、例えば、図１１（ｂ）に示す複数枚のグレイコードのマスクパターンを利用して投影部１３からストライプ状のパターン光（図１参照）が時系列的に被写体に投影される。さらに、複数種類のパターン光が投影されている被写体をそれぞれ撮像した複数枚のパターン光有画像と、パターン光が投影されていない同じ被写体を撮像した１枚のパターン光無画像とが取得される。
【０１９８】
撮像処理が終了すると、Ｓ１２２０において、３次元計測処理が実行される。この３次元計測処理が実行されると、上述の撮像処理によって取得された複数枚のパターン光有画像と１枚のパターン光無画像とが利用されて、実際に被写体の３次元形状が計測される。この３次元計測処理が終了すると、今回の３次元形状検出処理が終了する。
【０１９９】
図１２（ｂ）には、図１２（ａ）におけるＳ１２１０が撮像処理サブルーチンとしてフローチャートで概念的に表されている。
【０２００】
この撮像処理サブルーチンにおいては、まず、Ｓ１２１１において、パターン光撮影プログラム３６ａの実行により、投影部１３からパターン光を被写体に投影することなく、撮像部１４によって被写体を撮像することにより、１枚のパターン光無画像が取得される。その取得されたパターン光無画像はパターン光無画像格納部３７ｂに格納される。
【０２０１】
次に、Ｓ１２１２において、パターン光を形成するために使用されるマスクパターンの番号を表すパターン番号ＰＮが０に初期化される。続いて、Ｓ１２１３において、そのパターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さいか否かが判定される。その最大値ＰＮｍａｘは、使用されるマスクパターンの合計数に応じて決定される。例えば、８種類のマスクパターンが使用される場合には、最大値ＰＮｍａｘが８に設定される。
【０２０２】
今回は、パターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さいと仮定すれば、Ｓ１２１３の判定がＹｅｓとなり、その後、Ｓ１２１４において、使用される複数種類のマスクパターンのうち、パターン番号ＰＮの現在値と等しい番号が付されたＰＮ番目のマスクパターンが投影ＬＣＤ１９に表示される。このＳ１２１４においては、さらに、そのＰＮ番目のマスクパターンによって形成されるＰＮ番目のパターン光が被写体に投影される。続いて、Ｓ１２１５において、そのＰＮ番目のパターン光が投影されている被写体が撮像部１４によって撮像される。
【０２０３】
その撮像により、ＰＮ番目のパターン光が投影されている被写体を撮像したＰＮ番目のパターン光有画像が取得される。その取得されたパターン光有画像は、対応するパターン番号ＰＮに関連付けてパターン光有画像格納部３７ａに格納される。
【０２０４】
その撮像が終了すると、Ｓ１２１６において、ＰＮ番目のパターン光の投影が終了し、続いて、Ｓ１２１７において、次のパターン光を投影すべく、パターン番号ＰＮが１だけインクリメントされ、その後、Ｓ１２１３に戻る。
【０２０５】
Ｓ１２１３ないしＳ１２１７の実行がパターン光の種類の数と同数回繰り返された結果、パターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さくはない値になると、Ｓ１２１３の判定がＮｏとなり、今回の撮像処理が終了する。したがって、一回の撮像処理により、１枚のパターン光無画像と、最大値ＰＮｍａｘと同数枚のパターン光有画像とが取得されることになる。
【０２０６】
図１２（ｃ）には、図１２（ａ）におけるＳ１２２０が３次元計測処理サブルーチンとしてフローチャートで概念的に表されている。
【０２０７】
この３次元計測処理サブルーチンにおいては、まず、Ｓ１２２１において、輝度画像生成プログラム３６ｃの実行により、輝度画像が生成される。このＳ１２２１においては、輝度値が、ＹＣｂＣｒ空間におけるＹ値として定義されており、各画素のＲＧＢ値より、Ｙ＝０．２９８９・Ｒ＋０．５８６６・Ｇ＋０．１１４５・Ｂなる式を用いて計算される。各画素についてＹ値を求めることにより、複数枚のパターン光有画像と１枚のパターン光無画像とに関する複数枚の輝度画像が生成される。それら生成された輝度画像は、パターン番号ＰＮに関連付けて輝度画像格納部３７ｃに格納される。ただし、輝度値の算出に用いられる式は、上記式に限定されるものではなく、他の式に適宜変更することが可能である。
【０２０８】
次に、Ｓ１２２２において、コード画像生成プログラム３６ｄが実行される。このコード画像生成プログラム３６ｄが実行されると、生成された複数枚の輝度画像が前述の空間コード化法を利用して組み合わされることにより、各画素ごとに空間コードが割り当てられたコード画像が生成される。そのコード画像は、輝度画像格納部３７ｃに格納された複数種類のパターン光有画像に関する輝度画像と、各画素ごとに輝度閾値が割り当てられた閾値画像との比較による２値化処理によって生成される。その生成されたコード画像はコード画像格納部３７ｄに格納される。
【０２０９】
図１３には、このコード画像生成プログラム３６ｄの詳細がフローチャートで概念的に表されている。以下、図１３を参照することにより、このコード画像生成プログラム３６ｄを時系列的に説明するが、それに先立ち、図１４ないし図２１を参照することにより、原理的に説明する。
【０２１０】
本実施形態においては、同じ被写体（３次元対象物）につき、複数種類のパターン光のもとにそれぞれ複数枚の輝度画像が生成される。それらパターン光はいずれも、明部、すなわち、幅を有する明るいパターンラインと、暗部、すなわち、幅を有する暗いパターンラインとが交互に一定の周期で繰り返すように形成される。それらパターン光は、その周期に関して互いに異なっており、それぞれ、パターン番号ＰＮを有するパターン光と称される。それらパターン光のうち最も短い周期を有するパターン光が、パターン番号ＰＮが０であるパターン光であり、最も長い周期を有するパターン光が、パターン番号ＰＮが（ＰＮｍａｘ−１）であるパターン光である。
【０２１１】
いずれの輝度画像も、対応するパターン光のもとに取得されるため、例えば図１４に示すように、明部としての明るいパターンラインと、暗部としての暗いパターンラインとが交互に並んで成るパターン画像として形成される。パターンライン間の間隔すなわち周期は、画像入出力装置１と被写体との間における相対的な幾何学的関係（位置および向きに関する関係）に依存するため、各輝度画像内のすべての位置において一定であるとは限らない。複数種類のパターン光のもとにそれぞれ取得される複数枚の輝度画像は、対応するパターン光のパターン番号ＰＮを用いて特定される。
【０２１２】
本実施形態においては、それら複数枚の輝度画像のうちのいずれかが代表パターン画像に選択される。その代表パターン画像の一典型例は、複数種類のパターン光のうちパターンライン周期が最小であるものに対応する輝度画像であり、これは、パターン番号ＰＮが０である輝度画像である。図１４には、パターン番号ＰＮが０である輝度画像が代表パターン画像の一例として示されている。
【０２１３】
図１５には、パターン光が投影された被写体を撮像した輝度画像の一例において輝度値が画素列の方向において空間的にかつ周期的に変化する様子が説明の便宜上強調されて実線グラフで表されている。
【０２１４】
図１５には、さらに、その実線グラフにそれの複数個の下ピーク点（最低輝度点）において接する包絡線が二点鎖線グラフで表されている。この包絡線は、同じ被写体を無照射状態で撮像した輝度画像における輝度値、すなわち、被写体の背景光の輝度値の空間的変化を表している。このような包絡線が存在する輝度画像については、各画素の輝度値を閾値処理によって正確に２値化するためには、閾値を画素位置に応じて変化させることが望ましい。すなわち、輝度画像の実際の輝度値変化をトラッキングすることによって閾値を適応的に変化させることが望ましいのである。
【０２１５】
このような知見に基づき、本実施形態においては、輝度画像に対してフィルタ処理を行うことによって閾値を算出するフィルタ窓がローカルに設定され、フィルタ処理されることによりその位置に適した閾値が、輝度画像に対してローカルに設定される。輝度画像のうちのあるローカル位置に窓が設定されれば、輝度画像を構成する複数本のパターンラインのうちその窓内に存在する画素の輝度値が取り出されて参照されることにより、そのあるローカル位置に対応する閾値が設定される。
【０２１６】
本実施形態において使用される窓は、方形窓である。この方形窓を採用する場合には、その方形窓内に存在する複数本のパターンラインを構成する画素の輝度値が取り出され、それら輝度値に対して同一の重み係数が用いられて閾値が算出される。その重み係数により、方形窓の窓関数が定義される。
【０２１７】
さらに、方形窓を採用する場合には、その方形窓の、パターンラインが延びるライン方向におけるライン方向サイズに応じて、その方形窓内においてライン方向に存在する画素の数を可変とすることができる。一方、その方形窓の、複数本のパターンラインが列を成して並ぶ列方向における列方向サイズに応じて、その方形窓内において列方向に存在するパターンラインの数も画素の数も可変とすることができる。
【０２１８】
したがって、方形窓を採用する場合には、その方形窓の列方向サイズにより、輝度画像に窓を設定することによってその輝度画像から算出される閾値が変化することになる。よって、その閾値を適応的に変化させることが必要である場合には、方形窓の列方向サイズを適応的に変化させればよい。
【０２１９】
もっとも、本実施形態において採用される窓を、ハニング窓、ハミング窓等、非方形窓に変更することが可能である。この非方形窓を採用する場合には、その非方形窓を定義する窓関数中の係数（例えば、可変係数のマトリクス）により、輝度画像に対して設定された窓を用いたフィルタ処理によってその輝度画像から算出される閾値の特性を変化させることができる。例えば、非方形窓を採用する場合には、その非方形窓のライン方向サイズも列方向サイズも固定しても、上記係数を適応的に変化させれれば、輝度画像に対して設定された非方形窓を用いたフィルタ処理によってその輝度画像から算出される閾値の特性を変化させることができる。
【０２２０】
本実施形態においては、方形窓として構成される窓のサイズが、その窓内に存在するパターンラインの数がそれらパターンラインの間隔すなわち周期（例えば、明るいパターンラインが繰り返される周期）の整数倍であるように設定することが望ましい。すなわち、窓内に、明るいパターンラインと暗いパターンラインとが同数ずつ存在するように窓のサイズを設定することが望ましいのである。このように設定すれば、窓内に存在する複数本のパターンラインの輝度値の平均値を算出することにより、望ましい閾値を高精度に取得することができる。
【０２２１】
しかしながら、同じ輝度画像上であっても、パターンラインの周期は場所によって異なる可能性がある。そのため、窓のサイズを固定した場合には、窓内に存在するパターンラインの数が場所によって変動してしまい、閾値の設定精度が低下してしまう。
【０２２２】
図１４には、ある輝度画像において、それを構成する複数本のパターンラインが列を成す列方向に並んだ２つの部分がそれぞれ「Ａ」および「Ｂ」という記号で示されている。図１６（ａ）には、図１４中、部分Ａにおける複数本のパターンラインのうちの一部が取り出されて拡大されて示されている。その部分Ａにおいては、同色のパターンラインがある周期で並んでいる。これに対し、図１６（ｂ）には、図１４中、部分Ｂにおける複数本のパターンラインのうちの一部が取り出されて拡大されて示されている。その部分Ｂにおいては、同色のパターンラインが正規の周期とは異なる周期、具体的には、上記ある周期より短い周期で並んでいる。
【０２２３】
図１６（ａ）および（ｂ）には、本実施形態との比較例として、サイズが固定された固定窓であって、図１４に示す輝度画像に対して設定されるものが、説明の便宜上可視化されて示されている。図１６（ａ）には、図１４における部分Ａが部分的に拡大して示されており、この部分Ａにおいては、固定窓内に存在する同色のパターンラインの数がほぼちょうど２本である。これに対し、図１６（ｂ）には、図１４における部分Ｂが部分的に拡大して示されており、この部分Ｂにおいては、固定窓内に存在する同色のパターンラインの数が２本よりは多く、３本よりは少ない。
【０２２４】
そのため、図１６（ａ）に示す部分Ａについては、固定窓によって捕捉される複数個の画素の輝度値の平均値として算出された閾値が、図１７にグラフで表すように、輝度画像の列方向に関して安定している。これに対し、図１６（ｂ）に示す部分Ｂについては、窓によって捕捉される複数個の画素の輝度値の平均値として算出された閾値が、図１８にグラフで表すように、輝度画像の列方向に関して振動している。暗部または明部の包絡の形状に合った閾値が算出されることが望ましく、閾値の算出値が振動することは、通常、閾値の算出値が誤差を含んでいることを意味し、よって、そのような閾値の算出値を用いて輝度画像を２値化しても、その２値化の精度を向上させることは困難である。
【０２２５】
本実施形態においては、複数枚の輝度画像のうち、パターンラインの周期が最小であるパターン光のもとに撮像されたもの、すなわち、パターン番号ＰＮが０である輝度画像が代表パターン画像として選択される。さらに、本実施形態においては、図１９に示すように、その代表パターン画像に対してローカルに設定される窓ＶＷが、それのサイズが可変である可変窓として構成されている。それにより、その可変窓ＶＷのサイズが、代表パターン画像の実際のパターンライン周期に適応して変化させられる。
【０２２６】
したがって、本実施形態によれば、図１９に示すように、代表パターン画像におけるパターンライン周期が列方向位置に応じて変動しても、それに追従するように可変窓ＶＷのサイズが変更され、その結果、パターンライン周期の変動にもかかわらず、可変窓ＶＷ内に存在する明部と暗部のパターンラインの数が一定に維持される。本実施形態においては、代表パターン画像に対して可変窓ＶＷが設定される各ローカル位置ごとに閾値ＴＨが取得される。各ローカル位置ごとの閾値ＴＨは、各ローカル位置に最適なサイズを有する可変窓ＶＷのもとに精度よく取得されることになる。
【０２２７】
また、明部と暗部のパターンラインの数が一定に維持されるような可変窓ＶＷのサイズは、パターン番号ＰＮが０である輝度画像において最小となる。したがって、パターン番号ＰＮが０である輝度画像を代表パターン画像として選択することにより、最小の可変窓ＶＷのサイズが可能になり、可変窓ＶＷを用いた後のフィルタ処理の計算負荷を抑えることが可能になる。
【０２２８】
本実施形態においては、その可変窓ＶＷが、サイズが可変である方形窓として構成されている。その可変窓ＶＷのサイズは、代表パターン画像の列方向には可変であるが、ライン方向には固定であるように設定されている。
【０２２９】
本実施形態においては、その可変窓ＶＷのサイズ、すなわち、代表パターン画像の列方向におけるサイズが、その代表パターン画像の実際のパターンライン周期を適応的に反映するように設定される。そのため、可変窓ＶＷのサイズを設定するために、代表パターン画像の実際のパターンライン周期分布が事前に判明していることが必要である。
【０２３０】
よって、本実施形態においては、可変窓ＶＷのサイズの設定に先立ち、サイズが固定された固定窓が代表パターン画像に対して設定される。その設定された固定窓によって捕捉される複数個の連続画素が複数個の注目画素として選択され、それら選択された注目画素の輝度値に基づき、代表パターン画像の実際のパターンライン周期分布が取得される。
【０２３１】
図２０には、代表パターン画像のパターンライン周期分布を取得するためにその代表パターン画像に対して固定窓が設定される様子の一例が示されている。この代表パターン画像においては、複数個の画素が、代表パターン画像のライン方向と列方向とに沿って平面的に並んでいる。
【０２３２】
この代表パターン画像においては、列方向に並んだ複数個の画素が順次、注目画素に選定され、各注目画素ごとに固定窓が設定される。この固定窓は、２５６個の画素を捕捉するサイズを有しており、各注目画素を中心としてそれの前後に跨るように代表パターン画像に対して設定される。図２０の例においては、注目画素の上下にそれぞれ位置する２本の矢印によって１個の固定窓が概念的に表されている。
【０２３３】
本実施形態においては、さらに、代表パターン画像における複数個の注目画素の輝度値に対してＦＦＴ(Fast Fourier Transform：高速フーリエ変換）処理が施され、それにより、代表パターン画像の列方向において輝度値変化の周波数成分のそれぞれについて強度（例えば、パワースペクトル）が取得される。ここに、「周波数成分」は、１個の固定窓によって捕捉される複数個の注目画素を列方向に辿った場合に、輝度値の変化が反復される反復回数を意味する。
【０２３４】
図２１には、そのＦＦＴ処理による周波数分析結果の一例がグラフで表されている。図２１においては、横軸に、周波数（反復回数）が取られており、一方、縦軸に、パワースペクトルが取られている。図２１には、各々強度極大値を有する複数の空間周波数が存在することがグラフで表されており、これが、前記（１）項における「空間周波数特性」の一例である。
【０２３５】
図２１に示す例は、２５６個の画素が連続する今回の領域において、同じ輝度値が７回反復的に出現する傾向が最大であったことを示している。このことは、同色のパターンラインが、２５６／７、すなわち、約３７画素分の長さをパターンライン周期として反復する傾向が最大であったことを意味する。したがって、前述の可変窓ＶＷのサイズは、例えば、パターンライン周期に相当する約３７画素分の長さに設定したり、パターンライン周期の２倍に相当する約７３画素分の長さ、またはパターンライン周期の整数倍の長さに設定することが望ましい。
【０２３６】
なお付言するに、本実施形態においては、代表パターン画像のパターンライン周期を取得するためにフーリエ変換が実施されるが、フーリエ変換を用いない他のアプローチによってパターンライン周期を取得することが可能である。例えば、各注目画素ごとに、それの列方向前後近傍に位置する設定複数個の連続画素に注目し、その注目されている複数個の連続画素が持っているそれぞれの輝度値において極大値が反復的に出現する間隔を画素数を単位として求め、その求められた間隔からパターンライン周期を取得することが可能である。
【０２３７】
さらに付言するに、本実施形態においては、代表パターン画像において列方向に連続的に並んだ複数個の連続画素のそれぞれが順次注目画素に選定され、その選定された各注目画素ごとにパターンライン周期が、代表パターン画像の輝度値分布に基づいて取得される。
【０２３８】
これに対し、パターンライン周期を取得する別のアプローチによれば、代表パターン画像において列方向に連続的に並んだ複数個の連続画素から、少なくとも１画素おきに並んだ複数個の離散画素が選択される。それら選択された複数個の離散画素のそれぞれが順次注目画素に選定され、その選定された各注目画素ごとにパターンライン周期が、代表パターン画像の輝度値分布に基づいて取得される。複数個の連続画素のうち、注目画素として選定されなかった複数個の非注目画素のそれぞれのパターンライン周期は、各非注目画素に隣接する注目画素について取得されたパターンライン周期を参照（例えば、補間）することにより、取得される。このアプローチによれば、複数個の連続画素のすべてについてそれぞれ、いちいち複雑な演算をしなくても、パターンライン周期が取得される。
【０２３９】
また、パラメータが可変である窓を用いる場合には、算出されたパターンライン周期分布を元に、パターンライン周期を遮断周期として、窓のパラメータが決定される。遮断周期から窓のパラメータを決定するためには、広く一般に知られているデジタルローパスフィルタ設計手法を用いればよい。
【０２４０】
以上、図１４ないし図２１を参照することにより、このコード画像生成プログラム３６ｄを原理的に説明したが、以下、図１３を参照することにより、時系列的に説明する。
【０２４１】
このコード画像生成プログラム３６ｄにおいては、まず、Ｓ１０１において、パターン番号ＰＮが０であるパターン光が投影された被写体が撮像された輝度画像が輝度画像格納部３７ｃから、代表パターン画像として読み込まれる。
【０２４２】
次に、Ｓ１０２において、その代表パターン画像につき、前記読み込まれた輝度画像に基づき、前述のＦＦＴ変換によるアプローチにより、代表パターン画像において列方向に連続的に並んだ各画素ごとにパターンライン周期が演算される。演算された複数個のパターンライン周期は各画素（各列方向画素位置）に関連付けて周期分布格納部３７ｐに格納される。
【０２４３】
続いて、Ｓ１０３において、演算された複数個のパターンライン周期に基づき、可変窓ＶＷの特性がローカルに設定される。本実施形態においては、可変窓ＶＷのライン方向サイズは、その可変窓ＶＷが設定される代表パターン画像上の位置にかかわらず、変化しないように設定されるのに対し、可変窓ＶＷの列方向サイズは、各列方向画素位置に関連付けて演算されたパターンライン周期の整数倍に相当するように設定される。
【０２４４】
その後、Ｓ１０４において、代表パターン画像に対して可変窓ＶＷが、ライン方向と列方向とに沿って平面的に、かつ、各画素に関連付けて設定される。それにより、各画素ごとに、可変窓ＶＷ内に存在する複数個の画素の輝度値の平均値がローカルな閾値として演算される。このＳ１０４においては、さらに、演算された閾値が各画素に割り当てられた閾値画像が生成される。生成された閾値画像は閾値画像格納部３７ｑに格納される。
【０２４５】
続いて、Ｓ１０５において、パターン番号ＰＮが０に初期化され、その後、Ｓ１０６において、パターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さいか否かが判定される。今回は、パターン番号ＰＮの現在値が０であるため、判定がＮｏとなり、Ｓ１０７に移行する。
【０２４６】
このＳ１０７においては、パターン番号ＰＮの現在値と等しいパターン番号ＰＮが割り当てられた輝度画像の輝度値と、前記生成された閾値画像の閾値とが、各画素ごとに互いに比較される。その比較結果は、各画素ごとに２値化画像に反映される。具体的には、輝度画像の輝度値が閾値より大きい場合には、「１」を表すデータが、２値化画像のうち対応する画素位置に関連付けて２値化画像格納部３７ｒに格納され、一方、輝度画像の輝度値が閾値より大きくはない場合には、「０」を表すデータが、２値化画像のうち対応する画素位置に関連付けて２値化画像格納部３７ｒに格納される。
【０２４７】
その後、Ｓ１０８において、パターン番号ＰＮが１だけインクリメントされる。続いて、Ｓ１０６に戻り、パターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さいか否かが判定される。今回も、最大値ＰＮｍａｘより小さい場合には、判定がＮｏとなり、Ｓ１０７に移行する。
【０２４８】
Ｓ１０６ないしＳ１０８の実行がパターン光の種類の数と同数回繰り返された結果、パターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さくはない値になると、Ｓ１０６の判定がＹｅｓとなり、Ｓ１０９に移行する。
【０２４９】
このＳ１０９においては、各画素ごとに、最大値ＰＮｍａｘと同数枚の２値化画像から画素値（「１」または「０」）が、パターン番号ＰＮが０である輝度画像に対応する２値化画像から、パターン番号ＰＮが（ＰＮｍａｘ−１）である輝度画像に対応する２値化画像に至る順序に従って抽出され、最下位ビットＬＳＭから最上位ビットＭＳＢに至る順序に従って並んだ空間コードが生成される。各画素ごとの空間コードのビット数は、最大値ＰＮｍａｘと同数である。各画素ごとに空間コードが生成されることにより、今回の被写体に対応する空間コード画像が生成される。生成された空間コードは、各画素位置に関連付けて空間コード格納部３７ｄに格納される。
【０２５０】
以上で、このコード画像生成プログラム３６ｄの一回の実行が終了する。
【０２５１】
その後、図１２（ｃ）におけるＳ１２２３において、コード境界抽出プログラム３６ｅの実行により、コード境界座標検出処理が実施される。前述の空間コード化法によるコード化は、各画素単位で行われるため、実際のパターン光における明暗の境界線と、前記生成されたコード画像における空間コードの境界線（ある空間コードが割り当てられた領域と別の空間コードが割り当てられた領域との間の境界線）との間にサブピクセル精度の誤差が生ずる。そのため、このコード境界座標検出処理は、空間コードの境界座標値をサブピクセル精度で検出することを目的として実施される。
【０２５２】
検出されたコード境界座標値はコード境界座標格納部３７ｅに格納される。コード境界座標値は、ＣＣＤ２２の結像面に設定された２次元座標系であるＣＣＤ座標系ｃｃｄｘ−ｃｃｄｙにおいて定義される。
【０２５３】
続いて、Ｓ１２２４において、レンズ収差補正プログラム３６ｆの実行により、レンズ収差補正処理が実施される。このレンズ収差補正処理は、撮像光学系２１に入射した光束の実際の結像位置であってその撮像光学系２１の収差の影響を受けたものを、その撮像光学系２１が理想レンズであったならば結像されるはずである理想結像位置に近づくように補正する処理である。
【０２５４】
このレンズ収差補正処理により、Ｓ１２２３において検出されたコード境界座標値が、撮像光学系２１の歪みなどに起因した誤差が除去されるように補正される。そのようにして補正されたコード境界座標は収差補正座標格納部３７ｇに格納される。
【０２５５】
それらコード境界座標検出処理およびレンズ収差補正処理はいずれも、本発明を理解するために不可欠な事項ではなく、しかも、本出願人の特願２００４−１０５４２６号明細書に詳細に開示されているため、それを参照することによって引用することにより、本明細書においては詳細な説明を省略する。
【０２５６】
その後、Ｓ１２２５において、三角測量演算プログラム３６ｇの実行により、三角測量の原理による実空間変換処理が実施される。この実空間変換処理が実施されれば、三角測量の原理により、前述の、ＣＣＤ座標系ｃｃｄｘ−ｃｃｄｙ上のコード境界座標値であって収差補正が施されたものが、実空間に設定された３次元座標系である実空間座標系Ｘ−Ｙ−Ｚ上の３次元座標値に変換され、その結果、３次元形状検出結果としての３次元座標値が取得される。その取得された３次元座標値は３次元座標格納部３７ｈに格納される。
【０２５７】
ここで、図２２を参照することにより、三角測量の原理により、ＣＣＤ座標系ｃｃｄｘ−ｃｃｄｙ上の２次元座標値を実空間座標系Ｘ−Ｙ−Ｚ上の３次元座標値に変換する手法を詳細に説明する。
【０２５８】
本実施形態においては、実空間座標系Ｘ−Ｙ−Ｚが画像入出力装置１に固定され、この実空間座標系Ｘ−Ｙ−Ｚ上において、図１に示すように、撮像対象である原稿Ｐであって横方向に湾曲したものが撮像される。図２２に示すように、この実空間座標系Ｘ−Ｙ−Ｚは画像入出力装置１に対し、Ｘ軸は水平方向に延び、Ｙ軸は垂直方向に延び、Ｚ軸は撮像光学系２１の光軸方向に延びるように位置決めされている。図２２（ａ）には、実空間座標系Ｘ−Ｙ−ＺがＸ軸方向に観察された状態で示され、図２２（ｂ）には、実空間座標系Ｘ−Ｙ−ＺがＹ軸方向に観察された状態で示されている。この実空間座標系Ｘ−Ｙ−Ｚは画像入出力装置１に対し、原点が、撮像光学系２１の入力瞳位置からＺ軸に沿って距離ＶＰＺ離れた位置に位置するように設定されている。
【０２５９】
この実空間座標系Ｘ−Ｙ−Ｚにおいては、投影部１３から原稿Ｐへの投影角度が「θｐ」で表記され、撮像光学系２１の光軸と投影部１３の光軸との距離が「Ｄ」で表記されている。投影角度θｐは、各画素ごとに割り当てられた空間コードによって一義的に特定される。
【０２６０】
この実空間座標系Ｘ−Ｙ−Ｚにおいては、さらに、原稿Ｐ上の対象点ｔａｒｇｅｔからの反射光がＣＣＤ２２に入射する光路が逆向きに延長された直線とＸ−Ｙ平面との交点のＹ座標値が「Ｙｔａｒｇｅｔ」、Ｘ座標値が「Ｘｔａｒｇｅｔ」でそれぞれ表記されている。この実空間座標系Ｘ−Ｙ−Ｚにおいては、さらに、撮像光学系２１のＹ方向の視野が、「Ｙｆｔｏｐ」で示す表記される点から「Ｙｆｂｏｔｔｏｍ」で表記される点までの領域として定義され、Ｘ方向の視野が、「Ｘｆｓｔａｒｔ」で表記される点から「Ｘｆｅｎｄ」で表記される点までの領域として定義されている。さらに、ＣＣＤ２２のＹ軸方向における長さ（高さ）が「Ｈｃ」で表記され、Ｘ軸方向における長さ（幅）が「Ｗｃ」で表記されている。
【０２６１】
このように定義された実空間座標系Ｘ−Ｙ−Ｚ上においては、ＣＣＤ２２のＣＣＤ座標系上の任意座標値（ｃｃｄｘ，ｃｃｄｙ）に対応する実空間座標系上の３次元座標値（Ｘ，Ｙ，Ｚ）は、
【０２６２】
（ａ）原稿Ｐ上の対象点ｔａｒｇｅｔ（Ｘ，Ｙ，Ｚ）（図２２において引出し線を付して「（ａ）」示す。）と、
【０２６３】
（ｂ）撮像光学系２１の入力瞳位置（図２２において引出し線を付して「（ｂ）」示す。）と、
【０２６４】
（ｃ）投影光学系２０の出力瞳位置（図２２において引出し線を付して「（ｃ）」示す。）と、
【０２６５】
（ｄ）撮像光学系２１の入力瞳位置と原稿Ｐ上の対象点を通る直線とＸ−Ｙ平面との交点（Ｘｔａｒｇｅｔ，Ｙｔａｒｇｅｔ）（図２２において引出し線を付して「（ｄ）」示す。）と、
【０２６６】
（ｅ）投影光学系２０の出力瞳位置と原稿Ｐ上の対象点を通る直線とＸ−Ｙ平面との交点（図２２において引出し線を付して「（ｅ）」示す。）と
【０２６７】
に関する関係を示す次の５つの式を解くことにより、取得される。
【０２６８】
（１）Ｙ＝（ＰＰＺ−Ｚ）・ｔａｎθｐ−Ｄ＋ｃｍｐ（Ｘｔａｒｇｅｔ）
【０２６９】
（２）Ｙ＝−（Ｙｔａｒｇｅｔ／ＶＰＺ）Ｚ＋Ｙｔａｒｇｅｔ
【０２７０】
（３）Ｘ＝−（Ｘｔａｒｇｅｔ／ＶＰＺ）Ｚ＋Ｘｔａｒｇｅｔ
【０２７１】
（４）Ｙｔａｒｇｅｔ＝Ｙｆｔｏｐ−（ｃｃｄｃｙ／Ｈｃ）×（Ｙｆｔｏｐ−Ｙｆｂｏｔｔｏｍ）
【０２７２】
（５）Ｘｔａｒｇｅｔ＝Ｘｆｓｔａｒｔ＋（ｃｃｄｃｘ／Ｗｃ）×（Ｘｆｅｎｄ−Ｘｆｓｔａｒｔ）
【０２７３】
ただし、式（１）における「ｃｍｐ（Ｘｔａｒｇｅｔ）」は、撮像光学系２０と投影部１３とのズレを補正する関数であり、ズレが無い理想的な場合には、０とみなすことができる。
【０２７４】
さらに、この実空間変換処理においては、実画像における任意点の座標値（ｃｃｄｘ，ｃｃｄｙ）が、理想カメラで撮像された画像における座標値（ｃｃｄｃｘ，ｃｃｄｃｙ）に変換される。この変換は、次の３つの式、すなわち、カメラキャリブレーションのための近似式を用いて行われる。
【０２７５】
（６）ｃｃｄｃｘ＝（ｃｃｄｘ−Ｃｅｎｔｘ）／（１＋ｄｉｓｔ／１００）＋Ｃｅｎｔｘ
【０２７６】
（７）ｃｃｄｃｙ＝（ｃｃｄｙ−Ｃｅｎｔｙ）／（１＋ｄｉｓｔ／１００）＋Ｃｅｎｔｙ
【０２７７】
（８）ｈｆａ＝ａｒｃｔａｎ［（（（ｃｃｄｘ−Ｃｅｎｔｘ）２    ＋（ｃｃｄｙ−Ｃｅｎｔｙ）２）０．５）×ｐｉｘｅｌｌｅｎｇｔｈ／ｆｏｃａｌｌｅｎｇｔｈ］
【０２７８】
ただし、収差量ｄｉｓｔ（％）は、半画角ｈｆａ（ｄｅｇ）の関数ｆを用いてｄｉｓｔ＝ｆ（ｈｆａ）と記述される。また、撮像光学系２１の焦点距離は、「ｆｏｃａｌｌｅｎｇｔｈ（ｍｍ）」で表記され、ｃｃｄ画素長は、「ｐｉｘｅｌｌｅｎｇｔｈ（ｍｍ）」で表記され、ＣＣＤ２２におけるレンズの中心の座標値は、（Ｃｅｎｔｘ，Ｃｅｎｔｙ）として定義されている。
【０２７９】
この実空間変換処理においては、上述のように、ＣＣＤ座標系を実空間座標系に変換する処理のみならず、３次元の空間座標系上の任意の３次元座標値（Ｘ，Ｙ，Ｚ）を、投影部１３内の投影ＬＣＤ１９の面上に設定された２次元座標系であるＬＣＤ座標系上の２次元座標値（ｌｃｄｃｘ，ｌｃｄｃｙ）に変換する処理も実施可能である。
【０２８０】
それら２次元座標値（ｌｃｄｃｘ，ｌｃｄｃｙ）と３次元座標値（Ｘ，Ｙ，Ｚ）との間における幾何学的な関係は、次の４つの式によって記述することができる。
【０２８１】
（９）Ｙ＝−（Ｙｐｔａｒｇｅｔ／ＰＰＺ）Ｚ＋Ｙｐｔａｒｇｅｔ
【０２８２】
（１０）Ｘ＝−（Ｘｐｔａｒｇｅｔ／ＰＰＺ）Ｚ＋Ｘｐｔａｒｇｅｔ
【０２８３】
（１１）Ｙｐｔａｒｇｅｔ＝Ｙｐｆｔｏｐ−（ｌｃｄｃｙ／Ｈｐ）×（Ｘｐｆｔｏｐ−Ｘｐｆｂｏｔｔｏｍ）
【０２８４】
（１２）Ｘｐｔａｒｇｅｔ＝Ｘｐｆｓｔａｒｔ＋（ｌｃｄｃｘ／Ｗｐ）×（Ｘｐｆｅｎｄ−Ｘｐｆｓｔａｒｔ）
【０２８５】
ただし、この実空間座標系Ｘ−Ｙ−Ｚにおいては、図２２に示すように、光束が投影部１３から原稿Ｐ上の対象点ｔａｒｇｅｔに入射する光路が同じ向きに延長された直線とＸ−Ｙ平面との交点のＹ座標値が「Ｙｐｔａｒｇｅｔ」、Ｘ座標値が「Ｘｐｔａｒｇｅｔ」でそれぞれ表記されている。さらに、投影部１３の出力瞳位置が（０，０，ＰＰＺ）として定義されている。さらに、投影部１３のＹ方向の視野が、「Ｙｐｆｔｏｐ」で表記される点から「Ｙｐｆｂｏｔｔｏｍ」で表記される点までの領域として定義され、Ｘ方向の視野が、「Ｘｐｆｓｔａｒｔ」で表記される点から「Ｘｐｆｅｎｄ」で表記される点までの領域として定義されている。さらに、投影ＬＣＤ１９のＹ軸方向における長さ（高さ）が「Ｈｐ」で表記され、Ｘ軸方向における長さ（幅）が「Ｗｐ」で表記されている。
【０２８６】
上記式（９）ないし（１２）で記述される関係を利用するために、３次元座標値（Ｘ，Ｙ，Ｚ）をそれら式（９）ないし（１２）に代入すると、ＬＣＤ座標系上の２次元座標値（ｌｃｄｃｘ，ｌｃｄｃｙ）を算出することができる。したがって、例えば、任意の３次元形状を有する投影面上に文字、図形等の画像を投影するための投影ＬＣＤ１９の投影光パターンを算出することができる。
【０２８７】
以上、図６におけるＳ６０９において実行される立体画像処理を説明したが、以下、Ｓ６１１において実行される平面化画像処理を説明する。
【０２８８】
この平面化画像処理によれば、例えば、原稿Ｐが実際には図１に示すように湾曲している状態で撮像されたにもかかわらず、あたかも湾曲していない状態で同じ原稿Ｐが撮像されたかのように、実際に撮像された画像が平面化される。さらに、この平面化画像処理によれば、正面視において長方形を成す原稿Ｐが実際には斜めから撮像されたにもかかわらず、あたかも正面から同じ原稿Ｐが撮像されたかのように、実際に撮像された画像が平面化される。
【０２８９】
この平面化画像処理は、本発明を理解するために不可欠な事項ではなく、しかも、前記特願２００４−１０５４２６号明細書に詳細に開示されているため、それを参照することによって引用することにより、本明細書においては詳細な説明を省略する。
【０２９０】
以上の説明から明らかなように、本実施形態においては、可変窓ＶＷが前記（１）項における「空間フィルタ」の一例を構成し、図１３におけるＳ１０１ないしＳ１０３が互いに共同して同項における「空間フィルタ設定工程」の一例を構成し、Ｓ１０４が同項における「閾値設定工程」の一例を構成し、輝度値情報が同項における「画像情報」の一例を構成しているのである。
【０２９１】
さらに、本実施形態においては、図２０を用いて説明した固定窓が前記（２）項における「窓関数」の一例を構成し、可変窓ＶＷの列方向サイズが前記（４）項における「可変幅」の一例を構成しているのである。
【０２９２】
さらに、本実施形態においては、図１３におけるＳ１０２が前記（１０）項における「空間周波数特性演算工程」の一例を構成し、代表パターン画像が前記（１３）および（１４）項における「選択パターン画像」の一例を構成しているのである。
【０２９３】
さらに、本実施形態においては、図１３におけるＳ１０５ないしＳ１０８が互いに共同して前記（１５）における「２値化工程」の一例を構成し、Ｓ１０３およびＳ１０４が互いに共同して前記（１６）項における「閾値画像生成工程」の一例を構成し、Ｓ１０７が同項における「２値化画像生成工程」の一例を構成し、図１３におけるＳ１０９が前記（１７）項における「空間コード画像算出工程」の一例を構成し、図１２（ｃ）におけるＳ１２２５が前記（１８）項における「３次元位置情報演算工程」の一例を構成しているのである。
【０２９４】
さらに、本実施形態においては、コード画像生成プログラム３６ｄが前記（１９）項に係るプログラムの一例を構成し、ＲＯＭ３６のうちそのコード画像生成プログラム３６ｄを記憶する部分が前記（２０）項に係る「記録媒体」の一例を構成しているのである。
【０２９５】
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記［発明の開示］の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【図面の簡単な説明】
【０２９６】
【図１】本発明の一実施形態に従う３次元情報取得方法を実施するのに好適な画像入出力装置１を示す外観斜視図である。
【図２】図１における撮像ヘッド２の内部構成を示す平面図である。
【図３】図２における投影部１３を拡大して示す平面図、図２における光源レンズ１８を拡大して示す正面図、および図２における投影ＬＣＤ１９およびＣＣＤ２２を拡大して示す正面図である。
【図４】図３における複数個のＬＥＤ１７の配列を説明するための側面図、１個のＬＥＤ１７によって個別的に実現される照度分布を示すグラフ、それら複数個のＬＥＤ１７を示す正面図、およびそれら複数個のＬＥＤ１７により総合的に実現される合成照度分布を示グラフである。
【図５】図１に示す画像入出力装置１の電気的構成を概念的に表すブロック図である。
【図６】図５におけるカメラ制御プログラムにおいて実行されるメイン処理を概念的に表すフローチャートである。
【図７】図６におけるＳ６０５において実行されるデジカメ処理を概念的に表すフローチャートである。
【図８】図６におけるＳ６０７において実行されるｗｅｂｃａｍ処理を概念的に表すフローチャートである。
【図９】図８におけるＳ８０６において実行される投影処理を概念的に表すフローチャートである。
【図１０】図６におけるＳ６０９において実行される立体画像処理を概念的に表すフローチャートである。
【図１１】図１０の立体画像処理において採用される空間コード化法の原理を説明するための平面図および側面図と、２組のマスクパターンを示す平面図とである。
【図１２】図１０におけるＳ１００６において実行される３次元形状検出処理を３次元形状検出処理ルーチンとして概念的に表すフローチャートと、その３次元形状検出処理ルーチンにおけるＳ１２１０を撮像処理サブルーチンとして概念的に表すフローチャートと、その３次元形状検出処理ルーチンにおけるＳ１２２０を３次元計測処理サブルーチンとして概念的に表すフローチャートとである。
【図１３】図１２におけるＳ１２２２において実行されるコード画像生成プログラム３６ｄを概念的に表すフローチャートである。
【図１４】図１３におけるＳ１０１において使用される代表パターン画像の一例を示す正面図である。
【図１５】図１４に示す代表パターン画像において輝度値がパターンラインの列方向において空間的に変化する様子を説明するためのグラフである。
【図１６】図１４における部分Ａと固定窓との関係を説明するための平面図と、図１４における部分Ｂと固定窓との関係を説明するための平面図とである。
【図１７】図１４における部分Ａについて固定窓を用いて取得される閾値がパターンラインの列方向において空間的に変化する様子を説明するためのグラフである。
【図１８】図１４における部分Ｂについて固定窓を用いて取得される閾値がパターンラインの列方向において空間的に変化する様子を説明するためのグラフである。
【図１９】図１４における代表パターン画像について２値化処理のための閾値ＴＨをローカルに設定するためにその代表パターン画像に対してローカルに設定される可変窓ＶＷを示す平面図である。
【図２０】図１４に示す代表パターン画像においてパターンライン周期を取得するためにその代表パターン画像に対して設定される固定窓を説明するための正面図である。
【図２１】図２０における固定窓を用いることにより、図１４に示す代表パターン画像について取得された輝度値の周波数特性の一例を示すグラフである。
【図２２】図１２におけるＳ１２２５の実行によって２次元のＣＣＤ座標系と３次元の実空間座標系との間において行われる座標変換と、２次元のＬＣＤ座標系と３次元の実空間座標系との間とにおいて座標変換とを説明するための側面図および平面図である。
【符号の説明】
【０２９７】
１  画像入出力装置
１３  投影部
１４  撮像部
１８，５０  光源レンズ
１９  投影ＬＣＤ
２０  投影光学系
２１  撮像光学系
２２  ＣＣＤ
【図１】
2006098252.tif 000003
【図２】
2006098252.tif 000004
【図３】
2006098252.tif 000005
【図４】
2006098252.tif 000006
【図５】
2006098252.tif 000007
【図６】
2006098252.tif 000008
【図７】
2006098252.tif 000009
【図８】
2006098252.tif 000010
【図９】
2006098252.tif 000011
【図１０】
2006098252.tif 000012
【図１１】
2006098252.tif 000013
【図１２】
2006098252.tif 000014
【図１３】
2006098252.tif 000015
【図１４】
2006098252.tif 000016
【図１５】
2006098252.tif 000017
【図１６】
2006098252.tif 000018
【図１７】
2006098252.tif 000019
【図１８】
2006098252.tif 000020
【図１９】
2006098252.tif 000021
【図２０】
2006098252.tif 000022
【図２１】
2006098252.tif 000023
【図２２】
2006098252.tif 000024