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