(57)【要約】【課題】被写体の輝度レンジ情報を適切に取得し、画質劣化が抑制された被写体画像を取得する。【解決手段】画像処理装置１００は、第一撮像画像における被写体の輝度分布に基づいて、第一撮像画像の画質特性を解析する解析手段と、解析手段により解析された画質特性の特徴に応じて、投影信号の輝度値を初期値に対して変化させることで、被写体に投影する投影パターンを生成する生成手段と、生成手段により生成された投影パターンが投影された被写体を撮像した第二撮像画像を取得する取得手段と、取得手段により取得された第二撮像画像における、投影信号の輝度値が初期値とは異なる位置に対応する画素の輝度値を、投影信号の輝度値に基づいて補正する補正手段と、を備える。【選択図】      図１
2018190201.tif 000002
【特許請求の範囲】
【請求項１】
第一撮像画像における被写体の輝度分布に基づいて、前記第一撮像画像の画質特性を解析する解析手段と、
前記解析手段により解析された前記画質特性の特徴に応じて、投影信号の輝度値を初期値に対して変化させることで、前記被写体に投影する投影パターンを生成する生成手段と、
前記生成手段により生成された投影パターンが投影された前記被写体を撮像した第二撮像画像を取得する取得手段と、
前記取得手段により取得された第二撮像画像における、前記投影信号の輝度値が前記初期値とは異なる位置に対応する画素の輝度値を、前記投影信号の輝度値に基づいて補正する補正手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記補正手段は、
前記投影信号の輝度値が前記初期値よりも大きい場合、前記投影信号の輝度値の前記初期値に対する輝度変化量に基づいて、前記第二撮像画像における前記画素の輝度値を下げるゲイン補正を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記補正手段は、
前記投影信号の輝度値が前記初期値よりも小さい場合、前記投影信号の輝度値の前記初期値に対する輝度変化量に基づいて、前記第二撮像画像における前記画素の輝度値を上げるゲイン補正を行うことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記解析手段は、
前記第一撮像画像の暗部領域における黒潰れの有無、および前記第一撮像画像の明部領域における白飛びの有無の少なくとも一方を解析し、
前記生成手段は、
前記第一撮像画像において前記黒潰れが発生している画素に対応する位置における前記投影信号の輝度値を、前記初期値よりも大きく設定し、前記第一撮像画像において前記白飛びが発生している画素に対応する位置における前記投影信号の輝度値を、前記初期値よりも小さく設定することで、前記投影パターンを生成することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記解析手段は、
前記第一撮像画像の暗部領域におけるノイズ評価値を算出し、前記ノイズ評価値を所定の閾値と比較することで前記暗部領域におけるノイズの有無を解析し、
前記生成手段は、
前記第一撮像画像において前記ノイズが発生している画素に対応する位置における前記投影信号の輝度値を、前記初期値よりも大きく設定することで、前記投影パターンを生成することを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記初期値は、前記第一撮像画像の撮像時に前記被写体に投影された投影画像の輝度値であることを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記補正手段は、
前記取得手段により取得された第二撮像画像における、前記投影信号の輝度値が前記初期値と等しい位置に対応する第一画素の輝度値と、前記第一撮像画像における前記第一画素に対応する第二画素の輝度値との変化量を算出し、
前記第二撮像画像における各画素の輝度値を、前記変化量の分だけ補正することを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記第一撮像画像は、全面均一な輝度値を有する投影画像が投影された前記被写体を撮像した画像であることを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記第一撮像画像は、周期的に輝度値が変化する縞状のパターンを有する投影画像が投影された前記被写体を撮像した画像であることを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項１０】
第一撮像画像における被写体の輝度分布に基づいて、前記第一撮像画像の画質特性を解析するステップと、
前記画質特性の特徴に応じて、投影信号の輝度値を初期値に対して変化させることで、前記被写体に投影する投影パターンを生成するステップと、
前記投影パターンが投影された前記被写体を撮像した第二撮像画像を取得するステップと、
前記第二撮像画像における、前記投影信号の輝度値が前記初期値とは異なる位置に対応する画素の輝度値を、前記投影信号の輝度値に基づいて補正するステップと、を含むことを特徴とする画像処理方法。
【請求項１１】
コンピュータを、請求項１から９のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１２】
請求項１１に記載のプログラムを記録した、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ダイナミックレンジの広いハイダイナミックレンジ（ＨＤＲ）画像が扱われる機会が増加している。特許文献１には、露光時間を変化させて得られる複数枚の画像（多段露光画像）を合成することにより、ＨＤＲ画像を取得する方法が開示されている。また、特許文献２には、撮像素子に異なる露光時間の画素を設定し、短時間露光により得られる画像信号と長時間露光により得られる画像信号とを合成することでＨＤＲ画像を取得する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２１５０７３号公報
【特許文献２】特開２０１１−２４４３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、プロジェクタ等の照明光源の経時変動に起因して、合成を行う撮像画像間で露出にバラツキが発生する場合があり、被写体の輝度レンジ情報を適切に取得できないおそれがある。また、特許文献２に記載の技術では、照明光源の経時変動による悪影響は回避できるものの、多段露出画像を合成して得られるＨＤＲ画像と比較すると、画素の配置に起因する解像度の劣化や、各画素に設定する感度の限界により画質面に課題を有する。
そこで、本発明は、被写体の輝度レンジ情報を適切に取得し、画質劣化が抑制された被写体画像を取得することを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る画像処理装置の一態様は、第一撮像画像における被写体の輝度分布に基づいて、前記第一撮像画像の画質特性を解析する解析手段と、前記解析手段により解析された前記画質特性の特徴に応じて、投影信号の輝度値を初期値に対して変化させることで、前記被写体に投影する投影パターンを生成する生成手段と、前記生成手段により生成された投影パターンが投影された前記被写体を撮像した第二撮像画像を取得する取得手段と、前記取得手段により取得された第二撮像画像における、前記投影信号の輝度値が前記初期値とは異なる位置に対応する画素の輝度値を、前記投影信号の輝度値に基づいて補正する補正手段と、を備える。
【発明の効果】
【０００６】
本発明によれば、被写体の輝度レンジ情報を適切に取得し、画質劣化が抑制された被写体画像を取得することができる。
【図面の簡単な説明】
【０００７】
【図１】第一の実施形態における画像処理装置が実行する処理の全体像を示す図。
【図２】画像処理装置の構成を示す機能ブロック図。
【図３】画像処理装置のハードウェア構成の一例。
【図４】画像処理装置の処理の流れを示すフローチャート。
【図５】画像解析処理の流れを示すフローチャート。
【図６】投影パターン生成処理の流れを示すフローチャート。
【図７】画像補正処理の流れを示すフローチャート。
【図８】輝度補正処理の流れを示すフローチャート。
【図９】第二の実施形態における投影パターンの一例。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【０００９】
（第一の実施形態）
図１は、本実施形態における画像処理装置が実行する処理の全体像を説明するための図である。
本実施形態では、投影装置（プロジェクタ）を照明光源として使用する場合について説明する。まず、画像処理装置は、投影装置に対して投影信号を出力し、（Ａ）に示すように、投影装置から被写体５０１に対して全面均一な輝度値を有するパターン生成前の投影画像５０２を投影させる。ここで、投影信号は、投影画像における位置（投影座標位置）に関する情報と、当該位置における輝度値とを含む。次に画像処理装置は、撮像装置（カメラ）に対して撮像指示を出力する。これにより、撮像装置は、投影画像５０２が投影された被写体５０１をプレ撮像し、画像処理装置は、（Ｂ）に示すように、プレ撮像画像５０３を取得する。そして、画像処理装置は、プレ撮像画像５０３を解析し、その解析結果に基づいて投影パターンを生成する。
【００１０】
例えば、画像処理装置は、プレ撮像画像５０３の画素値の度数分布を解析することで、プレ撮像画像５０３における被写体５０１の輝度分布５０４を算出する。また、画像処理装置は、輝度分布５０４をもとに、プレ撮像画像の画質特性を解析し、プレ撮像画像５０３の暗部領域における階調潰れ（黒潰れ）といった画質劣化の有無を解析する。そして、画像処理装置は、解析した画質特性の特徴に応じて、被写体５０１に投影する投影パターンを生成する。具体的には、画像処理装置は、階調潰れが発生していると判定した場合、次の撮像において階調潰れが発生しないように投影パターンを生成する。つまり、画像処理装置は、階調潰れが発生している画素に対応する位置における投影信号の輝度値を、初期値に対して大きく設定する（画質劣化を低減させる方向に変化させる）ことで投影パターンを生成する。
そして、画像処理装置は、投影装置に対して上記投影パターンを示す投影信号を出力し、（Ｃ）に示すように、投影装置から被写体５０１に対してパターン生成後の投影画像５０５を投影させる。次に画像処理装置は、撮像装置に対して撮像指示を出力する。これにより、撮像装置は、投影画像５０５が投影された被写体５０１を撮像し、画像処理装置は、（Ｄ）に示すように、撮像画像５０６を取得する。この撮像画像５０６は、符号５０７に示すように、暗部領域において階調潰れのない画像となっている。
【００１１】
最後に、画像処理装置は、投影パターンの投影信号に基づいて、パターン投影された撮像画像５０６の輝度補正を行い、補正画像５０８を取得する。具体的には、符号５０９に示すように、画像処理装置は、投影パターンの投影信号に基づいて、パターン投影によって明るく照明された画素値の輝度を、明るく制御した分だけ下げる補正を行う。取得された補正画像５０８は、被写体５０１の輝度レンジに忠実な、階調潰れのないハイダイナミックレンジ（ＨＤＲ）画像となる。
このように、本実施形態における画像処理装置は、被写体の輝度分布に基づいて投影装置に出力する投影信号を制御し、投影信号の制御情報に基づいて撮像画像の輝度を画素毎に補正することで、被写体の輝度レンジ情報を適切に取得し、ＨＤＲ画像を取得する。
【００１２】
以下、本実施形態における画像処理装置の具体的構成について説明する。
図２は、画像処理装置１００の構成を示す機能ブロック図である。画像処理装置１００は、画像取得部１０１と、画像解析部１０２と、投影パターン生成部１０３と、出力部１０４と、画像補正部１０５と、保持部１０６と、を備える。
画像取得部１０１は、カメラに代表される撮像装置２００に対して撮像指示を出力し、撮像装置２００によって撮像された被写体の画像を取得する。画像解析部１０２は、画像取得部１０１によって取得された画像を解析する。投影パターン生成部１０３は、画像解析部１０２による解析結果に基づいて、被写体に対して投影する投影パターンを生成する。出力部１０４は、投影パターン生成部１０３によって生成された投影パターンを示す投影信号を、プロジェクタに代表される投影装置３００に出力する。画像補正部１０５は、パターン投影された被写体の画像を、投影信号に基づいて補正する。保持部１０６は、バッファメモリに一時的なデータを保持する。
【００１３】
図３は、画像処理装置１００のハードウェア構成の一例である。
画像処理装置１００は、ＣＰＵ１１と、ＲＡＭ１２と、ＲＯＭ１３と、外部メモリ１４と、通信Ｉ／Ｆ１５と、システムバス１６と、を備える。
ＣＰＵ１１は、画像処理装置１００における動作を統括的に制御するプロセッサであり、システムバス１６を介して、各構成部（１２〜１５）を制御する。ＲＡＭ１２は、ＣＰＵ１１のメインメモリやワークエリアとして機能するメモリである。ＲＯＭ１３は、ＣＰＵ１１が処理を実行するために必要なプログラムを記憶する不揮発性メモリである。ＣＰＵ１１は、処理の実行に際してＲＯＭ１３から必要なプログラムをＲＡＭ１２にロードし、ロードしたプログラムを実行することで各種の機能動作を実現することができる。なお、ＲＯＭ１３の機能は、後述の外部メモリ１４によっても実現可能である。
【００１４】
外部メモリ１４は、ＣＰＵ１１がプログラムを用いた処理を行う際に必要な各種データや各種情報を記憶することができる。また、外部メモリ１４は、ＣＰＵ１１がプログラムを用いた処理を行うことにより得られる各種データや各種情報等を記憶することができる。通信Ｉ／Ｆ１５は、外部装置（本実施形態では、撮像装置２００、投影装置３００）と通信するためのインタフェースである。通信Ｉ／Ｆ１５は、例えばＬＡＮインタフェースとすることができる。システムバス１６は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、外部メモリ１４および通信Ｉ／Ｆ１５を通信可能に接続する。
【００１５】
図２に示す画像処理装置１００の各部の機能は、ＣＰＵ１１がプログラムを実行することで実現することができる。ただし、図２に示す画像処理装置１００の各部のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、ＣＰＵ１１の制御に基づいて動作する。
画像処理装置１００は、例えばパーソナルコンピュータ（ＰＣ）により構成することができるが、画像処理装置１００、撮像装置２００および投影装置３００が一体的に１台の投影機能付きの撮像装置として構成されていてもよい。また、撮像装置２００のみが画像処理装置１００と一体的に構成されていてもよいし、投影装置３００のみが画像処理装置１００と一体的に構成されていてもよいし、他の機器が画像処理装置１００として動作してもよい。
【００１６】
図４は、画像処理装置１００の全体動作を説明するフローチャートである。
この図４の処理は、例えばユーザによる指示入力に応じて開始される。ただし、図４の処理の開始タイミングは、上記のタイミングに限らない。画像処理装置１００は、ＣＰＵ１１が必要なプログラムを読み出して実行することにより、図４に示す各処理を実現することができる。ただし、上述したように、図２に示す画像処理装置１００の各要素のうち少なくとも一部が専用のハードウェアとして動作することで図４の処理が実現されるようにしてもよい。この場合、専用のハードウェアは、ＣＰＵ１１の制御に基づいて動作する。以降、アルファベットＳはフローチャートにおけるステップを意味するものとする。
【００１７】
まずＳ１において、画像処理装置１００は、撮像装置２００の撮像座標位置と投影装置３００の投影座標位置とを対応付けるためのキャリブレーションを行う。キャリブレーションには、例えば、形状が既知であるチェスボードを複数枚撮像し、投影装置３００の座標情報を持つグレーコードによる対応点情報を用いて、焦点距離や画像中心等の内部パラメータと位置姿勢を表す外部パラメータとを算出する方法を用いる。このキャリブレーションにより、撮像座標位置と投影座標位置とを対応付ける行列式を算出することができる。算出された行列式は、以降の説明で撮像画像と投影画像とで対応する画素の座標を相互に求める際に使用される。
【００１８】
Ｓ２では、画像処理装置１００は、プレ撮像を行う。まず、出力部１０４は、投影装置３００へ投影信号を出力することで、投影装置３００に対する投影指示を行う。このとき、出力部１０４は、全面均一な輝度値を有する投影画像を示す投影信号を投影装置３００へ出力する。これにより、投影装置３００は、全面均一な輝度値を有する投影画像を被写体に投影する。この状態で、画像取得部１０１は、撮像装置２００へ撮像指示を出力し、当該撮像指示を受けて撮像装置２００が撮像した画像（プレ撮像画像）を取得する。
Ｓ３では、画像解析部１０２は、Ｓ２において取得されたプレ撮像画像を解析する。このＳ３において画像解析部１０２が実行する画像解析処理の詳細については後述する。
【００１９】
Ｓ４では、投影パターン生成部１０３は、Ｓ３における画像解析処理の解析結果に基づいて、被写体に投影する投影パターンを生成する。このＳ４において投影パターン生成部１０３が実行する投影パターン生成処理の詳細については後述する。
Ｓ５では、出力部１０４は、Ｓ４において生成された投影パターンを示す投影信号を投影装置３００へ出力し、投影装置３００に対する投影指示を行う。これにより、投影装置３００は、上記投影パターンを被写体に投影する。この状態で、画像取得部１０１は、撮像装置２００へ撮像指示を出力し、当該撮像指示を受けて撮像装置２００が撮像した画像（撮像画像）を取得する。
Ｓ６では、画像補正部１０５は、Ｓ４において生成された投影パターンの投影信号に基づいて、Ｓ５において取得された撮像画像を補正する。このＳ６において画像補正部１０５が実行する画像補正処理の詳細については後述する。
【００２０】
（画像解析処理）
以下、図４のＳ３において画像解析部１０２が実行する画像解析処理について、図５を参照しながら具体的に説明する。
まずＳ３１において、画像解析部１０２は、図４のＳ２において画像取得部１０１が取得したプレ撮像画像を取得する。次にＳ３２において、画像解析部１０２は、Ｓ３１において取得されたプレ撮像画像の輝度分布を作成する。本実施形態では、上記輝度分布は、画素値の度数分布であってよい。例えば、画像解析部１０２は、プレ撮像画像の画素値の中のＧ値を用いて度数分布を作成する。なお、度数分布の作成に用いる画素値はＧ値に限定されるものではなく、他のプレーンの画素値を用いてよいし、ＲＧＢ画素値から輝度値を換算し、換算された輝度値を用いて輝度分布を作成してもよい。
【００２１】
Ｓ３３では、画像解析部１０２は、プレ撮像画像から１画素分の画素値を取得する。Ｓ３４では、画像解析部１０２は、Ｓ３３において取得された画素値が暗部領域に分布する色かどうかを判定する。具体的には、画像解析部１０２は、画素値を所定の閾値と比較し、画素値が閾値未満である場合には、当該画素値が暗部領域に分布する色であると判定してＳ３５に移行する。一方、画素値が閾値以上である場合には、画像解析部１０２は、当該画素値は暗部領域に分布する色ではないと判定してＳ３３に戻る。
ここで、上記の所定の閾値は、Ｓ３２において作成されたＧ値の度数分布の下側５％の値とすることができる。ただし、上記閾値は、下側５％の値に限定されるものではなく、他の割合の値であってもよい。また、Ｇ値ではなくＲＧＢ値から輝度値を換算し、輝度値を用いて輝度分布を作成した場合には、輝度値を用いて閾値判定を行ってもよい。
【００２２】
Ｓ３５では、画像解析部１０２は、Ｓ３４における判定により暗部領域に分布すると判定された画素値に対して、階調潰れ（黒潰れ）が発生しているか否かの判定を行う。具体的には、画像解析部１０２は、判定対象である画素値とその周辺の画素値との差分値を算出し、算出した差分値を予め設定された閾値と比較する。そして、画像解析部１０２は、差分値が閾値未満であると判定した場合、階調潰れが発生していると判定してＳ３６に移行し、差分値が閾値以上であると判定した場合には、階調潰れは発生していないと判定してＳ３３に戻る。
本実施形態では、画像解析部１０２は、階調潰れの判定に用いる画素値としてＲＧＢ画素値から輝度値を換算した値を用い、５×５の近傍領域の範囲の画素値を参照して上記差分値を算出するものとする。また、本実施形態では、上記閾値を１とする。ただし、参照する画素範囲や閾値の値は上記に限定されるものではない。
【００２３】
Ｓ３６では、画像解析部１０２は、Ｓ３４およびＳ３５の処理を通して、暗部領域に分布し、かつ階調潰れが発生していると判定された画素の画素値を、補正対象の画素の画素値として保持部１０６に出力する。これにより、補正対象の画素の画素値がバッファメモリに保存される。また、このとき保持部１０６は、補正対象の画素のプレ撮像画像における位置（撮像座標位置）に関連付けて、Ｆｌａｇ情報＝１を保持するものとする。なお、Ｆｌａｇ情報の初期値は０であり、補正対象でない画素にはＦｌａｇ情報＝０が保持される。
Ｓ３７では、画像解析部１０２は、プレ撮像画像中の全ての画素について処理を終了したか否かを判定し、終了していなければＳ３３へ戻って未処理の画素についてＳ３３以降の処理を実行し、終了していれば図５の処理を終了する。
【００２４】
（投影パターン生成処理）
以下、図４のＳ４において投影パターン生成部１０３が実行する投影パターン生成処理について、図６を参照しながら具体的に説明する。
まずＳ４１において、投影パターン生成部１０３は、被写体の輝度分布に応じた投影パターンを示す投影信号Ｉ´（Ｘ，Ｙ）を初期化する。ここで、投影信号Ｉ´（Ｘ，Ｙ）の初期値は、プレ撮像時に被写体に対して投影するパターン生成前の投影信号Ｉ（Ｘ，Ｙ）とする。投影信号Ｉ（Ｘ，Ｙ）は、投影座標位置（Ｘ，Ｙ）における輝度値Ｉを表す信号である。本実施形態では、上記初期値は、投影座標位置によらずに一定の値であり、例えば１８％グレイの輝度値に相当する信号値とすることができる。ただし、初期値は、上記に限定されるものではなく、任意の輝度値とすることができる。
【００２５】
Ｓ４２では、投影パターン生成部１０３は、投影座標位置としてＸ＝１、Ｙ＝１を設定する。Ｓ４３では、投影パターン生成部１０３は、投影座標位置（Ｘ、Ｙ）に対応する撮像座標位置（Ｘ，Ｙ）のＦｌａｇ情報を取得する。このとき、投影パターン生成部１０３は、図４のＳ１のキャリブレーションにおいて算出された行列式を用いて、投影座標位置から撮像座標位置を取得し、撮像座標位置に関連付けられたＦｌａｇ情報を取得する。
Ｓ４４では、投影パターン生成部１０３は、Ｓ４３において取得されたＦｌａｇ情報が１であるか否かを判定し、Ｆｌａｇ＝１である場合にはＳ４５に移行し、Ｆｌａｇ＝０である場合にはＳ４６に移行する。
【００２６】
Ｓ４５では、投影パターン生成部１０３は、現時点で設定されている投影座標位置（Ｘ，Ｙ）について、投影信号Ｉ´（Ｘ，Ｙ）を設定する。本実施形態では、投影パターン生成部１３０は、投影信号Ｉ´（Ｘ，Ｙ）を、初期値である投影信号Ｉ（Ｘ，Ｙ）に対して１段分露出が大きくなるように、つまり、投影画像における投影座標位置（Ｘ，Ｙ）の輝度値が初期値の２倍になるように設定する。なお、本実施形態では、投影信号Ｉ´（Ｘ，Ｙ）が初期値に対して露出１段分大きい輝度値となるように設定する場合について説明するが、１段よりも大きい段数であってもよい。
【００２７】
Ｓ４６では、投影パターン生成部１０３は、投影座標位置（Ｘ，Ｙ）のＸ座標値を１加算する。Ｓ４７では、投影パターン生成部１０３は、Ｓ４６において設定されたＸ座標値が、投影画像の幅の大きさ（Ｘ方向の画素数）Ｗを超えているか否かを判定し、Ｘ≦Ｗである場合にはＳ４３に戻り、Ｘ＞Ｗである場合にはＳ４８に移行する。
Ｓ４８では、投影パターン生成部１０３は、投影座標位置（Ｘ，Ｙ）のＹ座標値を１加算し、Ｘ座標値を１に初期化する。Ｓ４９では、投影パターン生成部１０３は、Ｓ４８において設定されたＹ座標値が、投影画像の高さの大きさ（Ｙ方向の画素数）Ｈを超えているか否かを判定し、Ｙ≦Ｈである場合にはＳ４３に戻り、Ｙ＞Ｈである場合には図６の処理を終了する。
【００２８】
（画像補正処理）
以下、図４のＳ６において画像補正部１０５が実行する画像補正処理について説明する。
画像補正部１０５は、Ｆｌａｇ情報に基づいて、撮像画像の画素毎に異なる輝度補正を行う。具体的には、画像補正部１０５は、Ｆｌａｇ＝０の画素については露光差補正のための輝度補正を行い、Ｆｌａｇ＝１の画素については、露光差補正を行ったうえで投影信号を制御した分だけ輝度値を補正する輝度補正を行う。図４のＳ２におけるプレ撮像時とＳ５における撮像時とで投影信号を変化させなかった場合であっても、投影装置３００の継時変動によって投影画像の明るさが変わっているおそれがある。上記の露光差補正は、投影装置３００の継時変動に起因する露光差を補正し、所望の結果を得るための処理である。
【００２９】
図７は、図４のＳ６において画像補正部１０５が実行する画像補正処理の流れを示すフローチャートである。
Ｓ６１において、画像補正部１０５は、図４のＳ５において画像取得部１０１が取得した撮像画像を取得する。Ｓ６２では、画像補正部１０５は、Ｓ６１において取得された撮像画像から着目画素とする１画素分の画素値を取得する。Ｓ６３では、画像補正部１０５は、着目画素の撮像座標位置（Ｘ，Ｙ）に対応する投影座標位置（Ｘ，Ｙ）を取得する。Ｓ６４では、画像補正部１０５は、着目画素の撮像座標位置（Ｘ，Ｙ）に関連付けられたＦｌａｇ情報を参照し、Ｆｌａｇ＝１であるか否かを判定する。そして、画像補正部１０５は、Ｆｌａｇ＝１である場合にはＳ６５に移行し、Ｆｌａｇ＝０である場合にはＳ６６に移行する。
【００３０】
図８は、画像補正部１０５がＳ６５において実行する輝度補正処理の流れを示すフローチャートである。このＳ６５では、画像補正部１０５は、着目画素に対して、露光差補正を行ったうえで投影信号を制御した分だけ輝度値を補正する輝度補正を行う。
まずＳ６５１において、画像補正部１０５は、図７のＳ６１において取得された撮像画像のうち、補正対象とされなかった画素（Ｆｌａｇ＝０の画素）の画素値をそれぞれ取得する。次にＳ６５２では、画像補正部１０５は、図４のＳ２において画像取得部１０１が取得したプレ撮像画像を取得し、プレ撮像画像のうち、Ｓ６５１において画素値を取得した画素の撮像座標位置に対応する画素の画素値をそれぞれ取得する。
【００３１】
Ｓ６５３では、画像補正部１０５は、プレ撮像画像と撮像画像との間の露光差を算出する。具体的には、画像補正部１０５は、Ｓ６５１において取得された画素値と、Ｓ６５２において取得された画素値とに基づいて、補正対象とされなかった画像領域におけるプレ撮像画像と撮像画像との間の輝度値の変化量を算出する。画像補正部１０５は、撮像画像のうち、補正対象とされなかった画素の輝度値の平均値ａと、プレ撮像画像のうち、補正対象とされなかった画素の輝度値の平均値ｂとに基づいて、上記輝度値の変化量に相当する補正係数ｂ／ａを算出し、露光差補正に用いる。ここで、平均値ａ、ｂは、次式によって表される。
【００３２】
【数１】
2018190201.tif 000003
【００３３】
上記（１）式において、Ｃ（Ｘ，Ｙ）は、撮像画像のうち、補正対象とされなかった座標（Ｘ，Ｙ）における画素の輝度値、Ｄ（Ｘ，Ｙ）は、プレ撮像画像のうち、補正対象とされなかった座標（Ｘ，Ｙ）における画素の輝度値である。また、ｎは、撮像画像のうち、補正対象とされなかった画素の総数である。
Ｓ６５４では、画像補正部１０５は、図７のＳ６２において取得された着目画素の画素値を、Ｓ６５３において算出された補正係数ｂ／ａに基づいて補正する。具体的には、画像補正部１０５は、着目画素の画素値Ｒ（Ｘ，Ｙ）、Ｇ（Ｘ，Ｙ）、Ｂ（Ｘ，Ｙ）に、補正係数ｂ／ａをそれぞれ乗算し、露光差補正後の画素値Ｒ´（Ｘ，Ｙ）、Ｇ´（Ｘ，Ｙ）、Ｂ´（Ｘ，Ｙ）を算出する。
【００３４】
【数２】
2018190201.tif 000004
【００３５】
以上のＳ６５１からＳ６５４までの処理により、露光差補正が完了する。このように、本実施形態では、図４のＳ２におけるプレ撮像とＳ５における撮像とで投影信号を変えていない領域における画素値（輝度値）を参照することで、投影装置３００の継時変動に起因する露光差を補正する。
【００３６】
次に画像補正部１０５は、Ｓ６５５において、Ｓ６３において取得された、着目画素の撮像座標位置（Ｘ，Ｙ）に対応する投影座標位置（Ｘ，Ｙ）の投影信号Ｉ´（Ｘ，Ｙ）を取得する。Ｓ６５６では、画像補正部１０５は、Ｓ６５５において取得された投影信号Ｉ´（Ｘ，Ｙ）に基づいて、投影信号の制御量である輝度変化量を算出する。ここで、輝度変化量は、Ｓ６５５において取得された投影信号Ｉ´（Ｘ，Ｙ）と、初期値である投影信号Ｉ（Ｘ，Ｙ）との比（Ｉ´（Ｘ，Ｙ）／Ｉ（Ｘ，Ｙ））とすることができる。
Ｓ６５７では、画像補正部１０５は、Ｓ６５６において算出された輝度変化量に基づいて、Ｓ６５４において算出された露光差補正後の画素値Ｒ´（Ｘ，Ｙ）、Ｇ´（Ｘ，Ｙ）、Ｂ´（Ｘ，Ｙ）に対し、次式をもとにゲイン補正を行う。ゲイン補正後の画素値Ｒ″（Ｘ，Ｙ）、Ｇ″（Ｘ，Ｙ）、Ｂ″（Ｘ，Ｙ）は、露光差補正と、投影信号を制御した分の輝度値を補正とを行った画素値となる。
【００３７】
【数３】
2018190201.tif 000005
【００３８】
図７に戻って、Ｓ６６では、画像補正部１０５は、着目画素がＦｌａｇ＝０の画素である場合の輝度補正を行う。つまり、このＳ６６では、画像補正部１０５は、着目画素に対して露光差補正のみを行う。具体的には、Ｓ６６では、画像補正部１０５は、図８のＳ６５１からＳ６５４までの処理を実行する。
Ｓ６７では、画像補正部１０５は、撮像画像中の全ての画素について処理を終了したか否かを判定し、終了していなければＳ６２へ戻って未処理の画素についてＳ６２以降の処理を実行し、終了していれば図７の処理を終了する。
【００３９】
以上のように、本実施形態における画像処理装置１００は、全面均一な輝度値を有する投影画像が投影された被写体を撮像したプレ撮像画像を取得し、プレ撮像画像における被写体の輝度分布に基づいて、プレ撮像画像の画質特性を解析する。また、画像処理装置１００は、解析した画質特性の特徴に応じて、被写体に投影する投影パターンを生成する。そして、画像処理装置１００は、生成された投影パターンが投影された被写体を撮像した撮像画像を取得し、上記投影パターンを示す投影信号に基づいて、取得された撮像画像を補正する。
【００４０】
具体的には、画像処理装置１００は、プレ撮像画像における被写体の輝度分布を算出し、当該輝度分布に基づいて、プレ撮像画像の画質特性の特徴として、例えば暗部領域における階調潰れ（黒潰れ）といった画質劣化の有無を解析する。そして、画像処理装置１００は、上記の解析結果に基づいて、画質劣化が発生している画素に対応する位置における投影信号の輝度値を、初期値に対して画質劣化を低減させる方向に変化させることで投影パターンを生成する。つまり、画像処理装置１００は、プレ撮像画像における階調潰れが発生している画素に対応する位置における投影信号の輝度値を、初期値よりも大きく設定することで、投影パターンを生成する。ここで、上記初期値は、プレ撮像画像の撮像時に被写体に投影された投影画像の輝度値である。
【００４１】
これにより、階調潰れが発生している暗部領域に対応する位置については、被写体はプレ撮像時よりも明るく照明されて撮像され、階調潰れが発生していない領域については、被写体はプレ撮像時と同等の照明で撮像される。そのため、上記投影パターンが投影された被写体を撮像した撮像画像は、階調潰れが解消された画像となる。このように、画像処理装置１００は、被写体の輝度分布を解析し、その解析結果に基づいて投影装置３００の投影信号を領域毎に制御する。そして、画像処理装置１００は、制御された投影パターンが投影された被写体の撮像画像に対して、投影信号を制御した領域の輝度値を、投影信号を制御した分だけ補正する輝度補正処理を行う。
【００４２】
画像処理装置１００は、撮像画像の輝度補正に際し、撮像画像の着目画素に対応する位置における投影信号の輝度値が、プレ撮像時の投影信号である初期値とは異なるか否かを判定する。そして、投影信号の輝度値が初期値とは異なる場合、画像処理装置１００は、当該投影信号の輝度値の初期値に対する輝度変化量を算出し、算出した輝度変化量に基づいて、撮像画像における着目画素の輝度値を下げるゲイン補正を行う。つまり、撮像画像に対して、プレ撮像時よりも明るく照明された領域の輝度値を、投影画像の輝度値を上げた分だけ下げる補正を行う。これにより、全体的に被写体の輝度レンジに忠実な、階調潰れのないＨＤＲ画像を得ることができる。
【００４３】
また、画像処理装置１００は、撮像画像の輝度補正に際し、プレ撮像画像と撮像画像との露光差を算出し、当該露光差を補正する処理を行う。具体的には、画像処理装置１００は、プレ撮像画像と撮像画像とについて、それぞれプレ撮像とパターン投影した撮像とで投影信号を変化させていない領域に対応する画素の輝度値を取得し、輝度値の変化量を算出する。そして、画像処理装置１００は、撮像画像における各画素の輝度値を、上記変化量の分だけ補正する。したがって、投影装置１００の継時変動に起因する露光差を適切に補正することができ、被写体の輝度レンジ情報を精度良く取得することができる。
以上説明したように、本実施形態によれば、被写体の輝度分布に応じて投影装置３００投影パターンを制御し、投影パターンの制御情報である投影信号に基づいて撮像画像の輝度補正を行うことで、画質劣化の少ないＨＤＲ画像を取得する効果を有する。
【００４４】
（第二の実施形態）
次に、本発明の第二の実施形態について説明する。
上述した第一の実施形態では、撮像時に被写体に対して投影された投影パターンの投影信号に基づいて、撮像画像の輝度補正を行う場合について説明した。この第二の実施形態では、被写体の形状を取得する位相シフト法と呼ばれる方法において用いられる縞状パターンの投影に、上述した第一の実施形態において説明した手法を適用させる場合について説明する。
【００４５】
位相シフト法は、周期的に輝度が変化する縞状のパターンを被写体に投影しながら撮像し、撮像された画像上の縞状パターンを解析することで、被写体の３次元形状を測定する方法である。この位相シフト法では、輝度が正弦波状に変化する縞状パターンを、位相を変化させて複数回投影し、被写体を撮像する。例えば、縞状パターンを３回投影する場合であれば、１つ目の正弦波パターンに対して位相を１／３×２π、２／３×２πずらしたパターンを投影し、撮像することで３種類の画像（以降、「正弦波画像」と呼ぶ。）を取得する。なお、上記の位相をずらした量を「初期位相」と呼ぶ。
【００４６】
そして、撮像された複数の画像における同一画素位置の画素値から、逆正接関数を用いて演算処理することにより、各画素の位相が得られる。ここで、各画素での位相は、初期位相がゼロである場合の「各画素に対して投影される縞状パターンの位相値」を指す。位相は、プロジェクタにおける投影角度に対応するため、プロジェクタとカメラとの位置関係が既知であれば、三角測量の原理から対象物（被写体）の３次元形状が測定できる。縞状パターンの投影回数は、少なくとも３回以上であれば、位相値を算出することができる。
上記のように縞状パターンを投影し撮像した場合に、撮像画像に白飛びや黒潰れが存在すると、位相を適切に算出できないおそれがある。例えば、露出を変えながら複数回撮像することで上記問題を回避することもできるが、その場合、撮像枚数が多くなってしまうという課題を有する。
【００４７】
そこで、本実施形態では、図９（ａ）に示すような、位相シフト法において従来用いられている縞状の投影パターンに替えて、図９（ｂ）に示すように、被写体の輝度分布に応じた投影パターンを生成し、投影する。
つまり、本実施形態における画像処理装置１００は、被写体に投影する投影信号が異なる点を除いては、上述した第一の実施形態の画像処理装置１００と同様の構成を有する。画像処理装置１００は、図４のＳ２において、全面均一の輝度値を有する投影画像ではなく、図９（ａ）に示すような周期的に輝度が変化する縞状の投影パターンを有する投影画像を投影し、プレ撮像を行う。そして、上述した第一の実施形態において説明した処理を用いることで、画像処理装置１００は、Ｓ４の投影パターン生成処理において、図９（ｂ）に示すように被写体の輝度分布に基づく投影パターンを生成する。
【００４８】
以上のように、本実施形態における画像処理装置１００は、プレ撮像画像として、周期的に輝度値が変化する縞状のパターンを有する投影画像が投影された被写体を撮像した画像を取得する。そして、画像処理装置１００は、上記縞状のパターンを示す投影信号を初期値として、被写体の輝度分布に応じた位相シフト法用の投影パターンを制御し、投影パターンの制御情報である投影信号に基づいて撮像画像の輝度を補正する。したがって、位相シフト法を用いた形状推定において、位相を適切に算出することができ、被写体の３次元形状を精度良く取得することができる。
【００４９】
（変形例）
上記各実施形態においては、画像解析部１０２において、撮像された画像の暗部領域における階調潰れ（黒潰れ）の有無を解析する画像解析処理を行う場合について説明した。しかしながら、画像解析処理は上記に限定されるものではなく、画像解析部１０２は、撮像された画像のハイライト領域（明部領域）における階調飛び（白飛び）の有無を解析する画像解析処理を行ってもよい。
この場合、図５のＳ３４において、画像解析部１０２は、例えばＳ３３において取得された画素値のＧ値がＳ３２において作成されたＧ値の度数分布の上側５％の値を上回っているか否かを判定する。そして、画素値が上記閾値を上回っている場合、画像解析部１０２は、Ｓ３３において取得された画素値が明部領域に分布する色であると判定し、Ｓ３５における差分値の閾値判定により階調飛びが発生しているか否かを判定する。
また、投影パターン生成部１０３は、ハイライト領域に階調飛びが有ると判定された場合、図６のＳ４５において、その領域の投影信号値（輝度値）を初期値に対して低く設定するように投影パターンを制御する。そして、画像補正部１０５は、補正対象となる画素について、図７のＳ６５の輝度補正において、投影信号を初期値に対して低く制御した分だけ輝度値を上げるゲイン補正を行う。これにより、ハイライト領域の画質障害に対応することができる。
【００５０】
なお、画像処理装置１００は、画像解析処理により、画質特性の特徴として、階調飛びや階調潰れ以外の画質劣化を解析し、その解析結果に基づいて投影パターンの生成を行ってもよい。例えば、撮像画像の露出設定が低いことに起因する暗部領域のノイズの問題は、図５のＳ３５の判定にて、暗部領域におけるノイズ評価値を算出し閾値判定することで、ノイズが多く含まれるかどうかを判定することで対応することができる。ここで、ノイズ評価値としては、画像のＳ／Ｎ比の程度を示すＳ／Ｎ評価値を用いることができる。
この場合、投影パターン生成部１０３は、ノイズ評価値が所定の閾値よりも大きい領域（画素）については、ノイズが多く含まれる領域（画素）であると判定し、投影信号の輝度値を初期値に対して大きく設定することで投影パターンを生成する。そして、画像補正部１０５は、輝度補正処理にて、投影信号値を大きく制御した分だけ輝度値を下げる補正を行う。これにより、ノイズが低減された補正画像を取得することができる。
【００５１】
また、上記各実施形態においては、図４のＳ５において、出力部１０４は、投影パターン生成部１０３によって生成された投影パターンを示す投影信号を投影装置３００に出力する場合について説明した。しかしながら、投影パターンの投影によって撮像画像のエッジ領域にボケが生じる場合には、投影パターンの投影信号に対して補正を行ってもよい。例えば、撮像画像のエッジ領域において投影信号の設定を切り替える場合、撮像画像に対して投影画像の画素数が少ないと、エッジ領域に投影光が重複し、撮像画像のエッジにボケが生じる場合がある。そこで、このような場合には、投影信号値に対して、フィルタサイズ１０×１０、σ＝１のガウシアンフィルタを用いたフィルタ処理を施すことで、投影光に起因する撮像画像のボケを低減するようにしてもよい。
【００５２】
なお、上記フィルタ処理には、ガウシアンフィルタとは別のフィルタパラメータを用いてもよいし、移動平均や加重平均といった他のローパスフィルタを用いてよい。また、フィルタ処理を用いず、予め投影信号の撮像画像上の広がりを算出し、投影信号値のエッジ領域において算出した広がりに相当する位置座標には投影信号の明るさの制御を行わないようにしてもよい。この場合にも、投影に起因する撮像画像上のボケの発生を低減することができる。
【００５３】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５４】
１００…画像処理装置、１０１…画像取得部、１０２…画像解析部、１０３…投影パターン生成部、１０４…出力部、１０５…画像補正部、１０６…保持部、２００…撮像装置、３００…投影装置
【図１】
2018190201.tif 000006
【図２】
2018190201.tif 000007
【図３】
2018190201.tif 000008
【図４】
2018190201.tif 000009
【図５】
2018190201.tif 000010
【図６】
2018190201.tif 000011
【図７】
2018190201.tif 000012
【図８】
2018190201.tif 000013
【図９】
2018190201.tif 000014