(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024166789
(43)【公開日】2024-11-29
(54)【発明の名称】デプスマップの生成装置、生成方法、及びプログラム
(51)【国際特許分類】
G06T 7/55 20170101AFI20241122BHJP
G06V 10/30 20220101ALI20241122BHJP
H04N 23/55 20230101ALI20241122BHJP
H04N 23/60 20230101ALI20241122BHJP
【FI】
G06T7/55
G06V10/30
H04N23/55
H04N23/60 500
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023083130
(22)【出願日】2023-05-19
(71)【出願人】
【識別番号】502356528
【氏名又は名称】株式会社ジャパンディスプレイ
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】田中 仁
(72)【発明者】
【氏名】青木 良朗
(72)【発明者】
【氏名】仲戸川 博人
【テーマコード(参考)】
5C122
5L096
【Fターム(参考)】
5C122DA13
5C122DA30
5C122EA06
5C122EA22
5C122FA06
5C122FH10
5C122FH11
5C122FH15
5C122FH23
5C122HA13
5C122HA35
5C122HA88
5C122HB01
5C122HB05
5C122HB06
5C122HB10
5L096AA09
5L096CA18
5L096EA05
5L096FA66
5L096GA19
5L096GA51
5L096JA03
(57)【要約】 (修正有)
【課題】本来表示されるべき推定デプスがデプスマップから除かれるという問題を抑えることができるデプスマップ生成装置を提供する。
【解決手段】デプスマップ生成装置において、制御部11のデプス算出部11cは、デプスマップを構成する複数の単位領域(例えば、画素)のそれぞれについて、デプスを算出する。分割部11dは、キャプチャ画像に対応する画像領域を複数の部分領域に分割する。ノイズ除去部11eは、第1部分領域に含まれる複数の単位領域について算出された推定デプスd
0から、第1パラメータを利用してノイズを除去する。また、ノイズ除去部11eは、第2部分領域A2に含まれる複数の単位領域について算出された推定デプスd
0から、第2パラメータを利用してノイズを除去する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
符号化開口を通してキャプチャされたキャプチャ画像からデプスマップを生成するデプスマップの生成装置であって、
前記デプスマップを構成する複数の単位領域のそれぞれについて、デプスを算出するデプス算出部と、
前記キャプチャ画像に対応する画像領域を、少なくとも第1部分領域と第2部分領域とを含む複数の部分領域に分割する分割部と、
前記第1部分領域に含まれる複数の単位領域について算出されたデプスから、第1パラメータを利用してノイズを除去し、前記第2部分領域に含まれる複数の単位領域について算出されたデプスから、第2パラメータを利用してノイズを除去するノイズ除去部と
を含むデプスマップの生成装置。
【請求項2】
前記ノイズ除去部は、
各単位領域について算出されたデプスの精度を示す精度評価値を算出し、
前記第1部分領域中の各単位領域について算出された前記精度評価値と前記第1パラメータとに基づいて、前記第1部分領域の各単位領域について算出されたデプスがノイズであるか否かを判定し、
前記第2部分領域中の各単位領域について算出された前記精度評価値と前記第2パラメータとに基づいて、前記第2部分領域の各単位領域について算出されたデプスがノイズであるか否かを判定する
請求項1に記載されるデプスマップの生成装置。
【請求項3】
前記第1パラメータと前記第2パラメータはノイズ判定のための閾値であり、
前記ノイズ除去部は、
前記第1部分領域中の各単位領域について算出された前記精度評価値と前記第1パラメータとの比較結果に基づいて、前記第1部分領域の各単位領域について算出されたデプスがノイズであるか否かを判定し、
前記第2部分領域中の各単位領域について算出された前記精度評価値と前記第2パラメータとの比較結果に基づいて、前記第2部分領域の各単位領域について算出されたデプスがノイズであるか否かを判定する
請求項2に記載されるデプスマップの生成装置。
【請求項4】
前記ノイズ除去部は、
前記第1部分領域中の複数の単位領域について算出された複数の前記精度評価値に基づいて前記第1パラメータを設定し、
前記第2部分領域中の複数の単位領域について算出された複数の前記精度評価値に基づいて前記第2パラメータを設定する
請求項2に記載されるデプスマップの生成装置。
【請求項5】
前記デプス算出部は、
離散的に設定された複数の参照デプスにそれぞれ対応し且つ前記符号化開口の開口パターンに対応している複数のPSFを取得し、
前記複数のPSFをそれぞれ利用して前記キャプチャ画像から再生された複数の参照デプス復元画像と、前記キャプチャ画像とに基づいて、前記参照デプスと実際のデプスとの乖離度合いを表す乖離値を、各単位領域について算出し、
前記乖離値に基づいて、各単位領域についてデプスを算出する
請求項1に記載されるデプスマップの生成装置。
【請求項6】
前記ノイズ除去部は、各単位領域について算出されたデプスの精度を示す精度評価値を、各単位領域について算出された前記乖離値に基づいて算出する
請求項5に記載されるデプスマップの生成装置。
【請求項7】
前記ノイズ除去部は、各単位領域について算出された複数の前記乖離値の、前記参照デプスによる変化の幅に基づいて、前記精度評価値を算出する
請求項6に記載されるデプスマップの生成装置。
【請求項8】
前記ノイズ除去部は、
前記第1部分領域中の複数の単位領域について算出された複数の精度評価値に基づいて前記第1パラメータを設定し、
前記第2部分領域中の複数の単位領域について算出された複数の精度評価値に基づいて前記第2パラメータを設定する
請求項7に記載されるデプスマップの生成装置。
【請求項9】
符号化開口を通してキャプチャされたキャプチャ画像からデプスマップを生成する方法であって、
前記デプスマップを構成する複数の単位領域のそれぞれについて、デプスを算出するデプス算出工程と、
前記キャプチャ画像に対応する画像領域を、少なくとも第1部分領域と第2部分領域とを含む複数の部分領域に分割する分割工程と、
前記第1部分領域に含まれる複数の単位領域について算出されたデプスから、第1パラメータを利用してノイズを除去し、前記第2部分領域に含まれる複数の単位領域について算出されたデプスから、第2パラメータを利用してノイズを除去するノイズ除去工程と
を含むデプスマップの生成方法。
【請求項10】
符号化開口を通してキャプチャされたキャプチャ画像からデプスマップを生成する装置としてコンピュータを機能させるプログラムであって、
前記デプスマップを構成する複数の単位領域のそれぞれについて、デプスを算出するデプス算出手段と、
前記キャプチャ画像に対応する画像領域を、少なくとも第1部分領域と第2部分領域とを含む複数の部分領域に分割する分割手段と、
前記第1部分領域に含まれる複数の単位領域について算出されたデプスから、第1パラメータを利用してノイズを除去し、前記第2部分領域に含まれる複数の単位領域について算出されたデプスから、第2パラメータを利用してノイズを除去するノイズ除去手段
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデプスマップの生成装置、生成方法、及びプログラムに関する。
【背景技術】
【0002】
非特許文献1では、符号化開口を通してキャプチャした画像からデプスマップを生成する技術が提案されている。この文献では、開口パターン(透光領域と遮光領域の形状)が異なる2つの符号化開口が利用されている。2つの符号化開口を組み合わせて利用することで、デプスマップの生成過程で使用するフィルタ(復元画像を生成するためのフィルタ)に、パワースペクトルが0になる周波数帯が生じることを抑えている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】C.Zhou, S.Lin, and S.Nayar: Coded Aperture Pairs for Depth from Defocus, IEEE international conference on computer vision, 2009
【発明の概要】
【発明が解決しようとする課題】
【0004】
マップの生成過程においては、デプスマップ中のドット(画素)が、被写体までの距離を表すドットであるか否かを判定するノイズ判定が必要となる。そして、ノイズと判定されたドットは、デプスマップから除去される必要がある。ところが、コントラストが少ない領域や、コントラストが高い領域など、性状が異なる複数の領域が混在する画像の全域に同じノイズ除去処理を適用すると、ノイズ除去が正しく実行されないことがある。
【課題を解決するための手段】
【0005】
本開示で提案するデプスマップの生成装置は、符号化開口を通してキャプチャされたキャプチャ画像からデプスマップを生成するデプスマップの生成装置である。前記生成装置は、前記デプスマップを構成する複数の単位領域のそれぞれについて、デプスを算出するデプス算出部と、前記キャプチャ画像に対応する画像領域を、少なくとも第1部分領域と第2部分領域とを含む複数の部分領域に分割する分割部と、前記第1部分領域に含まれる複数の単位領域について算出されたデプスから、第1パラメータを利用してノイズを除去し、前記第2部分領域に含まれる複数の単位領域について算出されたデプスから、第2パラメータを利用してノイズを除去するノイズ除去部とを含む。
【0006】
本開示で提案するデプスマップの生成方法は、符号化開口を通してキャプチャされたキャプチャ画像からデプスマップを生成する方法である。前記生成方法は、前記デプスマップを構成する複数の単位領域のそれぞれについて、デプスを算出するデプス算出工程と、前記キャプチャ画像に対応する画像領域を、少なくとも第1部分領域と第2部分領域とを含む複数の部分領域に分割する分割工程と、前記第1部分領域に含まれる複数の単位領域について算出されたデプスから、第1パラメータを利用してノイズを除去し、前記第2部分領域に含まれる複数の単位領域について算出されたデプスから、第2パラメータを利用してノイズを除去するノイズ除去工程とを含む。
【0007】
本開示で提案するプログラムは、符号化開口を通してキャプチャされたキャプチャ画像からデプスマップを生成する装置としてコンピュータを機能させるプログラムである。前記プログラムは、前記デプスマップを構成する複数の単位領域のそれぞれについて、デプスを算出するデプス算出手段と、前記キャプチャ画像に対応する画像領域を、少なくとも第1部分領域と第2部分領域とを含む複数の部分領域に分割する分割手段と、前記第1部分領域に含まれる複数の単位領域について算出されたデプスから、第1パラメータを利用してノイズを除去し、前記第2部分領域に含まれる複数の単位領域について算出されたデプスから、第2パラメータを利用してノイズを除去するノイズ除去手段、としてコンピュータを機能させる。
【0008】
本開示で提案する生成装置、生成方法、及びプログラムによると、本来表示されるべき推定デプスがデプスマップから除かれるという問題を抑えることができる。
【図面の簡単な説明】
【0009】
【
図1】デプスマップ生成装置の撮像系の例を示す断面図である。
【
図2】デプスマップ生成装置のハードウェアを示すブロック図である。
【
図3】デプスマップ生成装置が有している制御部の機能を示すブロック図である。
【
図4A】符号化開口部の第1開口パターンの例を示す図である。
【
図4B】符号化開口部の第2開口パターンの例を示す図である。
【
図5】制御部が実行する処理の例を示すフロー図である。
【
図7】推定デプスの算出処理を説明するための図である。
【
図8】ノイズの除去処理を説明するための図である。
【
図9A】キャプチャ画像に対応する画像領域を分割する処理の例を説明するための図である。
【
図10】ノイズ除去処理の変形例を説明するための図である。
【
図11】制御部が実行する処理の別の例を示すフロー図である。
【発明を実施するための形態】
【0010】
以下、本開示で提案するデプスマップの生成装置、生成方法、及びプログラムについて説明する。
【0011】
図1は、本開示で提案するデプスマップの生成装置の一例である生成装置10の撮像系Nを示す断面図である。同図に示すように、生成装置10は、液晶パネル14と、撮像素子13とを有している。
【0012】
撮像素子13は、CMOS(Complementary Metal Oxide Semiconductor)センサや、CCD(Charge Coupled Device)などのイメージセンサである。
【0013】
液晶パネル14は複数の画素を含んでいる。液晶パネル14は、その一部に符号化開口14aを有している。後述する制御部11は、予め規定した開口パターンを構成するように、符号化開口14aの液晶を駆動する。開口パターンについては、後において詳説する。
【0014】
図1に示すように、生成装置10は、符号化開口14aと撮像素子13との間に配置されるレンズ15とを有している。符号化開口14aとレンズ15とを通過した光が撮像素子13に入射する。
【0015】
図2は、デプスマップ生成装置10のハードウェアを示すブロック図である。生成装置10は、
図1で示した液晶パネル14、撮像素子13、及びレンズ15の他に、制御部11と、記憶部12と、入力部16とを有している。
【0016】
制御部11は、例えば、CPU(Central Processing Unit)や、GPU(Graphical Processing Unit)など少なくとも1つのプロセッサを含んでいる。撮像素子13で取得した画像データは、制御部11に提供される。制御部11は、この画像データを利用して、被写体までの距離を示すデプスマップを生成する。
【0017】
記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAM(Random Access Memory)などの揮発性メモリであり、補助記憶部は、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。制御部11は、記憶部12に格納されているプログラムを実行して、液晶パネル14を制御したり、デプス(被写体までの距離)を算出したりする。制御部11が実行する処理については後において説明する。生成装置10は、例えば、スマートフォンや、タブレットPC(Personal Computer)などの携帯装置であったり、カメラに接続しているパーソナルコンピュータであってよい。
【0018】
入力部16は、撮像した画像を表示する画像表示装置に取り付けられているタッチセンサであってよい。また、入力部16は、キーボードや、マウスなどのポインティングデバイスであってよい。入力部16は、ユーザの操作に応じた信号を制御部11に入力する。
【0019】
[機能ブロック]
図3は、制御部11が有している機能を示すブロック図である。制御部11は、その機能として、画像取得部11a及びデプス算出部11cを有している。また、画像取得部11aは開口制御部11bを含んでいる。デプス算出部11cは、分割部11d、及びノイズ除去部11eを含んでいる。これらの機能は、制御部11が記憶部12に格納されているプログラムに従って動作することで実現される。
【0020】
[開口制御部]
開口制御部11bは、予め規定された開口パターンを形成するように液晶パネル14の符号化開口14aの液晶を制御する。
図4Aと
図4Bは符号化開口14aが形成する開口パターンの例を示す図である。これらの図において、白領域が光透過領域R1であり、黒領域が遮光領域R2・R3である。
【0021】
図4A及び
図4Bで示す開口パターンB1・B2では、矩形の遮光領域R3の内側に円形の光透過領域R1が形成されている。また、この光透過領域R1の内側に円形の遮光領域R2が形成されている。また、第1開口パターンB1の遮光領域R2と第2開口パターンB2の遮光領域R2は、異なる位置に形成されている。図で示す例では、これら2つの遮光領域R2は線対称の位置に形成されている。この2つの開口パターンB1・B2によると、非特許文献1で説明されるように、開口パターンに対応する点広がり関数の空間周波数特性において、パワースペクトルが0となる周波数帯の発生を抑えることができる。このような開口パターンB1・B2は、例えば遺伝的アルゴリズムによって、探索され得る。開口制御部11bが形成する開口パターンは、
図4A及び
図4Bで示す例に限られない。
【0022】
[画像取得部]
画像取得部11aは、撮像素子13及び符号化開口14aを制御し、2つの開口パターンB1・B2を使用して、2つの画像f1・f2を連続撮影する。(以下では、この画像f1・f2をキャプチャ画像と称する。)このとき、第1開口パターンB1による撮像と、第2開口パターンB2による撮像との間隔は、数百ミリ秒、或いは数十ミリ秒であってよい。
【0023】
なお、開口制御部11bが形成する開口パターンの数は、2つよりも多くてもよい。この場合、画像取得部11aは、2つより多い開口パターンの数だけ画像を連続撮影してよい。開口制御部11bは、撮像素子13による受光と同期しながら複数の開口パターンを順番に切り換える。
【0024】
[デプス算出部]
デプス算出部11cは、画像取得部11aよって得られたキャプチャ画像f1・f2から、デプスマップを生成する。デプス算出部11cは、デプスマップを構成する複数の単位領域のそれぞれについて、キャプチャ画像f1・f2のデプス(撮像系Nから被写体までの距離)を算出する。デプスマップの単位領域は、例えば、キャプチャ画像f1・f2の画素であってよい。これとは異なり、デプスマップの単位領域は、キャプチャ画像の画素より大きくてよい。例えば、隣接する複数の画素(例えば、2×2)が、単位領域であってよい。
【0025】
図5は、デプス算出部11cの処理の例を示すフロー図である。
図5で示すデプス算出部11cの処理は、画像取得部11aによるキャプチャ画像f
1・f
2が取得された後に開始される。
【0026】
まず、デプス算出部11cは、キャプチャ画像f1・f2を二次元フーリエ変換する(S101)。以下では、二次元フーリエ変換により得られた、キャプチャ画像f1・f2の周波数特性をF1・F2として表す。なお、高周波成分が画像に含まれると、参照デプス復元画像を算出する際にノイズの影響が過大となることがある。そこで、周波数特性F1・F2から高周波成分を除去してもよい。例えば、サンプリング周波数の半分(ナイキスト周波数)以下の周波数のみを透過するローパスフィルタが利用されてもよい。そして、高周波成分が除去された周波数特性F1・F2を後述の処理において利用してもよい。
【0027】
[参照デプス復元画像の生成]
生成装置10では、離散的に設定された複数の参照デプスにそれぞれ対応する複数の点広がり関数(PSF)が用意されている。参照デプスは、100mmや、300mm、700mmなど、被写体までの距離の候補値である。各PSFは、符号化開口14aの開口パターンB1・B2に対応した形状を有している。また、各PSFは、対応する参照デプスに応じたサイズを有している。具体的には、PSFのサイズは、参照デプスが大きくなるに従って、小さくなる。複数のPSFは、これらを二次元フーリエ変換して得られる周波数特性として記憶部12に格納されている。デプス算出部11cは、記憶部12から、周波数特性としてこのPSFを取得する。この周波数特性は、光学伝達関数(OTF)とも称される。
【0028】
デプス算出部11cは、キャプチャ画像f1・f2とPSFとを利用して、複数の参照デプスのそれぞれについて、参照デプスに応じた復元画像を生成する(S102)。以下では、この復元画像を「参照デプス復元画像」と称する。デプス算出部11cは、具体的には、以下の数1を利用して、キャプチャ画像f1・f2の周波数特性F
1・F
2と、PSFの周波数特性とに応じた、参照デプス復元画像の周波数特性を算出する。
【数1】
【0029】
数1はウィーナ・フィルタを、2つの開口パターンB1・B2に適用できるように一般化したものである。数1において、各文字は次の要素を意味する。
・F0_d:周波数領域で表す参照デプス復元画像
・F1:第1開口パターンB1により得られたキャプチャ画像f1の周波数特性
・F2:第2開口パターンB2により得られたキャプチャ画像f2の周波数特性
・K1_d:第1開口パターンB1に対応する形状を有し、参照デプス(d)のサイズに対応したPSFの周波数特性(光学伝達関数)
・K2_d:第2開口パターンB2に対応する形状を有し、参照デプス(d)のサイズに対応したPSFの周波数特性(光学伝達関数)
・C:SN比のマトリックスであり、ゆらぎによるノイズを考慮した正則化項である。例えば、画像ノイズの分散σ、自然画像の周波数分布Sによって求めることができる。
・横線が付されたK1_d・K2_d:PSFの周波数特性K1_d・K2_dの共役複素数
【0030】
PSFのサイズは撮像系Nから被写体までの距離(デプス)が大きくなるに従って小さくなる。そのため、PSFの周波数特性K1_d・K2_dも、撮像系Nから被写体までの距離に応じて定まる。数1において、K1・K2に付されている添え字「d」は、100mmや、300mmなどの参照デプスに対応している。例えば、関数K1_100・K2_100は、撮像系Nからの距離が100mmの被写体についての点広がり関数の周波数特性である。参照デプスの数は、2つより多くてよく、例えば10や、20、30などでもよい。
【0031】
S102において、デプス算出部11cは、数1を利用して、キャプチャ画像f1・f2の周波数特性F1・F2と、PSFの周波数特性K1_d・K2_dとに応じた、参照デプス復元画像の周波数特性F0_dを算出する。デプス算出部11cは、複数の参照デプス(d)のそれぞれについて、参照デプス復元画像中の周波数特性F0_dを算出する。例えば、デプス算出部11cは、周波数特性K1_100・K2_100と、キャプチャ画像f1・f2の周波数特性F1・F2とに基づいて、参照デプス復元画像の周波数特性F0_100を算出する。
【0032】
数1によると、撮像系Nからの距離が参照デプスに等しい被写体は、参照デプス復元画像においてボケが無い状態で表れる。例えば、撮像系Nから100mmにある被写体は、周波数特性K1_100・K2_100によって得られた参照デプス復元画像では、ボケが無い状態で表れる。一方で、300mmや、700mmなど、他の参照デプスに対応したPSFの周波数特性K1_d・K2_dによって得られた参照デプス復元画像では、この被写体についてボケ(画素値のずれ)が表れる。ボケは、被写体の実際のデプスと、参照デプスとの差が大きくなるに従って、強く表れる。そこで、デプス算出部11cは、以降の処理において、このボケの程度を利用して、被写体までの距離(デプス)を算出する。
【0033】
[乖離値マップの算出]
デプス算出部11cは、参照デプス復元画像の周波数特性F0_dと、キャプチャ画像f1・f2の周波数特性F1・F2とに基づいて、乖離値マップMdを算出する(S103)。乖離値マップMdは、複数の参照デプス(d)のそれぞれについて算出される。各乖離値マップMdでは、参照デプス(d)と、実際のデプスとの乖離度合い(乖離値)が、各画素(デプスマップの単位領域)について示される。
【0034】
デプス算出部11cは、例えば、以下の数2を参照して、乖離値マップM
dを算出する。
【数2】
【0035】
数2において、各文字は次の要素を意味する。
・Md:参照デプス(d)についての乖離値マップ
・IFFT:2次元逆フーリエ変換
・F0_d:参照デプス(d)についての、参照デプス復元画像の周波数特性
・K1_d:第1開口パターンB1に対応する形状を有し、参照デプス(d)のサイズに対応したPSFの周波数特性(光学伝達関数)
・K2_d:第2開口パターンB2に対応する形状を有し、参照デプス(d)のサイズに対応したPSFの周波数特性(光学伝達関数)
・F1:第1開口パターンB1により得られたキャプチャ画像f1の周波数特性
・F2:第2開口パターンB2により得られたキャプチャ画像f2の周波数特性
【0036】
図6は、乖離値マップM
dの例を示す図である。同図で示すように、乖離値マップM
dは、実際のデプス(撮像系Nから被写体までの実際の距離)と、参照デプスとの乖離値wを、各画素について示す。例えば、乖離値マップM
100は、実際のデプスと参照デプス(100mm)の乖離値wを示す。実際のデプスが100mmであれば、乖離値マップM
100で示される乖離値w
100は実質的に0となり、実際のデプスが200mmであれば、参照デプス(100mm)に対応する乖離値マップM
100において、乖離値w
100は0よりも大きな値となる。
【0037】
このように、デプス算出部11cは、S102の処理において、周波数特性K1_d・K2_dで表された複数のPSFをそれぞれ利用して、キャプチャ画像f1・f2(より具体的には、それらの周波数特性F1・F2)から、複数の参照デプス復元画像(より具体的には、それらの周波数特性F0_d)を生成する。そして、S103において、周波数特性F0_dで表された複数の参照デプス復元画像と、周波数特性F1・F2で表されたキャプチャ画像f1・f2とを利用して、参照デプスと実際のデプスとの乖離値wdを算出する。
【0038】
[各単位領域のデプスの算出]
デプス算出部11cは、複数の乖離値マップM
dを参照し、各画素(デプスマップの単位領域)についてデプス(撮像系Nから被写体までの距離)を算出する(S104)。
図7は、デプス算出部11cによるこの処理を説明するための図である。
図7において、横軸は参照デプスであり、縦軸は、ある画素での乖離値w
dを示している。以下では、デプス算出部11cが算出するデプスを推定デプスd
0と称する。
【0039】
乖離値w
dは、実際のデプスと同じ、又は実際のデプスに近しい参照デプス(d)において、最小となる。
図7の例では、参照デプス:2000mmの位置で乖離値w
dは最小となっている。従って、この画素に表れる被写体は撮像系Nから2000mmの位置にあると推定される。そこで、デプス算出部11cは、S104において、乖離値w
dが最小となる参照デプスを探索し、得られた参照デプスを推定デプスd
0とする。デプス算出部11cは、この探索を全画素(デプスマップの全単位領域)について実行し、これにより後述するノイズ除去がなされる前のデプスマップが得られる。
【0040】
なお、デプスマップの算出処理は、ここで説明する例に限られない。上述した処理において、デプス算出部11cは、乖離値wdを最小にする乖離値マップMdの参照デプス(d)を、その画素の推定デプスd0としている。これとは異なり、デプス算出部11cは、デプスと乖離値wdとの関係を示す関数を求め、その関数の極小値を算出してもよい。そして、その極小値を得るデプスを、その画素の推定デプスd0として算出してもよい。
【0041】
デプス算出部11cによるこの処理は、例えば、次のように行うことができる。デプス算出部11cは、
図7で示す参照デプス(d)と乖離値w
dとの関係に、例えば3次関数をフィッティングさせる。すなわち、デプス算出部11cは、乖離値w
dの最小を得る点と、その近傍の複数の点とに、次の数3をフィッティングさせ、係数a
1・a
2、a
3、a
4を求める。数3において、関数W(d)は、a
1・a
2、a
3、a
4を係数とする3次関数である。
【数3】
【0042】
そして、デプス算出部11cは数3の極小を求める。すなわち、デプス算出部11cは、δW/δd=0を解くことで、関数W(d)を極小にするデプスを算出する。そして、デプス算出部11cは、このように算出したデプスを推定デプスd0とする。このような処理によれば、参照デプスの数(PSFの数)を増すことなく、デプスについての解像度を増すことができる。
【0043】
[精度評価値]
上述した数2によると、PSFで畳み込み積分を行ってボケが発生する位置で、推定デプスd0を算出することができる。例えば、被写体の外縁と背景との境界(画素値の変化が表れる位置)で、推定デプスd0を算出することができる。その一方で、PSFで畳み込み積分を行ってもボケが発生しない領域、正確なデプスを算出することは難しい。ボケが発生しない領域では、画素値の変化が小さいので(コントラストが低いので)、乖離値wdの変化の幅が小さくなる。言い換えれば、乖離値wdの変化の幅が小さい画素について得られた推定デプスd0は、ノイズである可能性がある。そこで、デプス算出部11cは、そのような推定デプスd0をノイズと判断して、S104で得られたデプスマップから除去する。デプス算出部11cの処理は、例えば次のように行われる。
【0044】
デプス算出部11cは、各画素(デプスマップの単位領域)について得られた推定デプスd
0の精度を示す精度評価値を、その画素について算出された乖離値w
dに基づいて算出する。例えば、デプス算出部11cは、各画素について算出された複数の乖離値w
dの変化の幅に基づいて、精度評価値を算出する。デプス算出部11cは、このような精度評価値を全画素について算出する。精度評価値は、例えば、以下の数4で表される。
【数4】
β:精度評価値
Δw:乖離値w
dの変化量
d
0:S104の処理により得られた各画素のデプス
【0045】
変化量Δwは、乖離値w
dの変化の幅であり、例えば、
図7で示すように、各画素での乖離値w
dの最大と最小との差である。数4で示すように、デプス算出部11cは、複数の乖離値w
dの最大と最小との差に基づいて評価値を算出する。
【0046】
一般に、ノイズ等の影響により、近距離にある被写体については誤った測距結果が出ることが多い。そこで、数4では、そのような被写体については変化量ΔWを小さく評価するために(ノイズとして除去されやすくするために)、推定デプスd0で重み付けされてよい。
【0047】
デプス算出部11cは、精度評価値βがノイズ判定閾値よりも低い画素について得られた推定デプスd0を、ノイズと判断し、デプスマップから除去する。言い換えれば、デプス算出部11cは、精度評価値βがノイズ判定閾値よりも高い画素について得られた推定デプスd0だけを、デプスマップに表示する。
【0048】
図8は、ノイズ除去部11eのこの処理を説明するための図である。同図において、横軸は、デプスマップのX方向座標を示し、縦軸は精度評価値βを示している。この図において、領域R1の画素群では乖離値w
dの変化量Δwが相対的に大きいので、この画素群の精度評価値βはノイズ判定閾値Nthよりも高い。その一方で、領域R2の画素群では乖離値w
dの変化量Δwが相対的に小さいので、その精度評価値βはノイズ判定閾値Nthよりも低い。この場合、デプス算出部11cは、領域R1の画素群について算出されたデプスd
0をデプスマップに表示する一方で、領域R2の画素群について算出されたデプスd
0をデプスマップには表示しない。
【0049】
図8で示す処理を行う場合、ノイズ判定閾値Nthをどのように設定するかが課題となる。全画素について算出した精度評価値βのうちの最大値に、所定の割合(例えば、50%)を乗じた値が、ノイズ判定閾値Nthの例として考えられる。ところが、このようなノイズ判定閾値Nthを利用すると、本来、デプスマップに表示されるべき推定デプスd
0も、ノイズと判断されるという問題が生じる。例えば、キャプチャ画像が部分的に暗い領域を有する場合、その暗い領域での乖離値w
dの変化量Δwは小さくなる。そのため、その領域について算出される精度評価値βはノイズ判定閾値Nthよりも小さくなり、その結果、その領域の推定デプスd
0はデプスマップから除かれる。
【0050】
そこで、デプス算出部11cは、キャプチャ画像に対応する画像領域を複数の部分領域に分割する。そして、相互に異なる複数のパラメータをそれぞれ利用して、複数の部分領域についてノイズ除去処理を実行する。以下において、このノイズ処理をより具体的に説明する。
【0051】
分割部11dは、キャプチャ画像f1・f2に対応する画像領域を複数の部分領域に分割する。例えば、分割部11dは、S104で算出したノイズ除去前のデプスマップを複数の部分領域に分割する(S105)。
図9Aは、分割部11dの処理の例を説明するための図である。同図ではデプスマップの元となったキャプチャ画像が示されている。
図9Aに示すように、分割部11dは、ノイズ除去前のデプスマップを、例えば予め規定した複数の部分領域に分割する。より具体的には、分割部11dは、ノイズ除去前のデプスマップを、予め規定したサイズを有する複数の矩形の部分領域に分割する。
【0052】
[ノイズ除去]
ノイズ除去部11eは、第1部分領域A1(
図9A参照)に含まれる画素について算出された推定デプスd
0から、第1部分領域A1について設定された第1パラメータを利用してノイズを除去する。同様に、ノイズ除去部11eは、第2部分領域A2(
図9A参照)に含まれる画素について算出された推定デプスd
0から、第2部分領域A2について設定された第2パラメータを利用してノイズを除去する。このような処理を、複数の部分領域A1~A15(
図9A参照)のそれぞれについて実行する。このような処理によれば、各部分領域に適したパラメータを利用して、ノイズ除去が実行される。その結果、本来表示されるべき推定デプスd
0がデプスマップから除かれるという問題を抑えることができる。
【0053】
ノイズ除去部11eの処理は、例えば次のようになされる。分割部11dがその分割処理を実行した後、ノイズ除去部11eは、まず、各部分領域中の画素について算出された複数の精度評価値βに基づいて、ノイズ判定のためのパラメータを設定する(S106)。例えば、ノイズ除去部11eは、各部分領域中の複数の画素について算出された精度評価値βの最大値を算出する。そして、精度評価値βの最大値に対して所定の割合(A%)を乗じ、その乗算結果(β×A%)を、その部分領域のノイズ判定で用いるパラメータ(ノイズ判定閾値)とする。ノイズ除去部11eは、複数の部分領域A1~A15(
図9A参照)のそれぞれについて、ノイズ判定閾値を算出する。ノイズ判定閾値の算出方法は、適宜変更されてよい。
【0054】
次に、ノイズ除去部11eは、各部分領域に設定したパラメータ(ノイズ判定閾値)と、各部分領域に含まれる各画素の精度評価値βとを比較し、その比較結果に基づいてノイズと判断された推定デプスd
0を、デプスマップから除去する(S107)。例えば、ノイズ除去部11eは、精度評価値βがノイズ判定閾値よりも低い画素について算出された推定デプスd
0を、ノイズと判断し、デプスマップから除去する。ノイズ除去部11eは、複数の部分領域A1~A15(
図9A参照)のそれぞれについて、S107のノイズ除去処理を実行する。これにより、
図9Bで例示するようなデプスマップが得られる。
【0055】
このように、ノイズ除去部11eは、複数の部分領域中の各画素について算出された精度評価値βと、各部分領域A1~A15について設定されたパラメータ(ノイズ判定閾値)とに基づいて、各部分領域の画素の推定デプスd0がノイズであるか否かを判定する。
【0056】
なお、ノイズ除去部11eの処理は、ここで説明する例に限られない。例えば、各部分領域A1~A15について設定されたパラメータは、ノイズ判定閾値でなくてもよい。
図10は、ノイズ除去部11eの変形例を説明するための図である。
図10に示すように、ノイズ除去部11eは、例えば、第1部分領域A1(
図9A参照)の各画素について算出された乖離値wの変化量Δwに、第1部分領域A1について設定された第1パラメータα
1を乗じてもよい。そして、さらに各画素について算出された推定デプスd
0を乗じ、この乗算結果(Δw×d
0×α
1)を精度評価値βとしてもよい。そして、この精度評価値βと、複数の部分領域について共通のノイズ判定閾値Nthとを比較してもよい。精度評価値βがノイズ判定閾値よりも低い場合、その画素の推定デプスd
0を、デプスマップから除去してもよい。ノイズ除去部11eは、このような処理を、複数の部分領域A1~A15のそれぞれについて実行してよい。
【0057】
この場合、各部分領域A1~A15に適用されるパラメータα1~α15は、部分領域のコントラストに基づいて設定されてよい。例えば、コントラストが小さい部分領域(例えば、部分領域の全体が暗い領域)では、相対的に大きなパラメータが利用されてよい。より具体的には、コントラストが小さい部分領域(例えば、部分領域の全体が暗い領域)のパラメータは、この部分領域中の複数の画素の乖離値Δwの最大が、コントラストが相対的に大きい部分領域中の画素の乖離値Δwの最大に一致するように、設定されてよい。このような処理によっても、本来表示されるべき推定デプスd0がデプスマップから除かれるという問題を抑えることができる。
【0058】
[まとめ]
(1)生成装置10では、デプス算出部11cは、デプスマップを構成する複数の単位領域(例えば、画素)のそれぞれについて、デプスを算出する。分割部11dは、キャプチャ画像に対応する画像領域を複数の部分領域A1~A15に分割する。ノイズ除去部11eは、第1部分領域A1に含まれる複数の単位領域について算出された推定デプスd0から、第1パラメータを利用してノイズを除去する。また、ノイズ除去部11eは、第2部分領域A2に含まれる複数の単位領域について算出された推定デプスd0から、第2パラメータを利用してノイズを除去する。この生成装置10によれば、本来表示されるべき推定デプスd0がデプスマップから除かれるという問題を抑えることができる。
【0059】
(2)(1)において、ノイズ除去部11eは、各単位領域について算出された推定デプスd0の精度を示す精度評価値βを算出する。そして、ノイズ除去部11eは、第1部分領域A1中の各単位領域について算出された精度評価値βと第1パラメータとに基づいて、第1部分領域A1の各単位領域について算出された推定デプスd0がノイズであるか否かを判定する。また、ノイズ除去部11eは、第2部分領域A2中の各単位領域について算出された精度評価値βと第2パラメータとに基づいて、第2部分領域A2の各単位領域について算出された推定デプスd0がノイズであるか否かを判定する。これによれば、精度が低い推定デプスd0をデプスマップから除去できる。
【0060】
(3)(2)において、第1パラメータと第2パラメータはノイズ判定閾値である。ノイズ除去部11eは、第1部分領域A1中の各単位領域について算出された精度評価値と第1パラメータとの比較結果に基づいて、第1部分領域A1の各単位領域について算出された推定デプスd0がノイズであるか否かを判定する。また、ノイズ除去部11eは、第2部分領域A2中の各単位領域について算出された精度評価値と第2パラメータとの比較結果に基づいて、第2部分領域A2の各単位領域について算出された推定デプスd0がノイズであるか否かを判定する。これによれば、精度評価値が低い推定デプスd0をデプスマップから除去できる。
【0061】
(4)(2)又は(3)において、ノイズ除去部11eは、第1部分領域A1中の複数の単位領域について算出された複数の精度評価値βに基づいて第1パラメータを設定する。同様に、ノイズ除去部11eは、第2部分領域A2中の複数の単位領域について算出された複数の精度評価値βに基づいて第2パラメータを設定する。これによれば、精度評価値が低い画素が集まる部分領域と、精度評価値が高い画素が集まる部分領域とでは、パラメータを変えることができる。
【0062】
(5)(1)乃至(4)において、デプス算出部11cは、離散的に設定された複数の参照デプスにそれぞれ対応し且つ符号化開口の開口パターンに対応している複数のPSFを取得する。そして、デプス算出部11cは、複数のPSFをそれぞれ利用してキャプチャ画像から再生された複数の参照デプス復元画像と、キャプチャ画像とに基づいて、参照デプスと実際のデプスとの乖離度合いを表す乖離値wdを、各単位領域について算出する(S103)。デプス算出部11cは、乖離値wdに基づいて、各単位領域について推定デプスd0を算出する(S104)。
【0063】
(6)(5)において、ノイズ除去部11eは、各単位領域について算出された推定デプスd0の精度を示す精度評価値βを、各単位領域について算出された乖離値wdに基づいて算出する。
【0064】
(7)(5)又は(6)において、ノイズ除去部11eは、各単位領域について算出された複数の乖離値wdの、参照デプスによる変化の幅に基づいて、精度評価値βを算出している。
【0065】
(8)(5)乃至(7)において、ノイズ除去部11eは、第1部分領域A1中の複数の単位領域について算出された複数の精度評価値βに基づいて第1パラメータを設定し、第2部分領域A2中の複数の単位領域について算出された複数の精度評価値βに基づいて第2パラメータを設定する。
【0066】
[その他の例]
なお、本開示で提案するデプスマップの生成装置、生成方法、プログラムは、上述した例に限られない。
【0067】
上述した例では、
図4で示したように、各画素について推定デプスd
0を算出した後に、キャプチャ画像f
1・f
2に対応する画像領域を複数の部分領域A1~A15に分割していた。しかしながら、これとは異なり、制御部11は、推定デプスd
0を算出する前に、キャプチャ画像f
1・f
2に対応する画像領域を複数の部分領域A1~A15に分割してもよい。そして、分割した部分領域A1~A15のそれぞれについて、
図4で示したS101~S104の処理を実行してよい。
【0068】
図11は、このような処理の例を示すフロー図である。
【0069】
まず、キャプチャ画像f
1・f
2が取得された後、分割部11dは、キャプチャ画像f
1・f
2のそれぞれを、複数の部分領域A1~A15に分割する(S201)。この部分領域A1~A15は、例えば、
図9Aを参照しながら説明したように、予め規定されたサイズの矩形領域であってよい。次に、デプス算出部11cは、複数の部分領域A1~A15のそれぞれを2次元フーリエ変換し、各部分領域A1~A15の周波数特性を算出する(S202)。次に、デプス算出部11cは、数1を利用して、周波数特性で表された各部分領域の画像と、周波数特性K
1_d・K
2_dで表されたPSFとに応じた参照デプス復元画像を、複数の参照デプス(d)のそれぞれについて、生成する(S203)。そして、デプス算出部11cは、数2を利用して、各部分領域について得られた参照デプス復元画像の周波数特性F
0_dと、キャプチャ画像f
1・f
2の部分領域について得られた周波数特性F
1・F
2とに基づいて、各部分領域A1~A15のそれぞれについて乖離値マップM
dを算出する(S204)。デプス算出部11cは、各部分領域A1~A15について得られた複数の乖離値マップM
dを参照し、各画素について推定デプスd
0を算出する(S205)。例えば、デプス算出部11cは、乖離値w
dが最も小さくなる乖離値マップM
dの参照デプスを、その画素の推定デプスd
0とする。これにより、ノイズ除去前のデプスマップが生成される。
【0070】
ノイズ除去部11eは、各部分領域A1~A15中の画素について算出された精度評価値βに基づいて、ノイズ判定のためのパラメータ(ノイズ判定閾値)を設定する(S206)。例えば、ノイズ除去部11eは、各部分領域A1~A15中の画素について算出された精度評価値βの最大値に対して所定の割合(例えば50%)を乗じ、その乗算結果をノイズ判定のためのパラメータ(ノイズ判定閾値)として設定する。そして、ノイズ除去部11eは、各部分領域A1~A15に設定したパラメータ(ノイズ判定閾値)と、各部分領域A1~A15に含まれる画素の精度評価値βとを比較する。そして、その比較結果に基づいてノイズと判定された推定デプスd0を、デプスマップから除去する(S207)。例えば、精度評価値βが、例えばノイズ判定閾値よりも低い画素について算出された推定デプスd0をノイズと判断し、デプスマップから除去する。
【0071】
デプスマップ生成装置10において、制御部11は、相互に異なる2つの符号化開口によって2つのキャプチャ画像f1・f2を取得していた。これとは異なり、制御部11は、相互に異なる3つの符号化開口によって3つのキャプチャ画像を取得してもよい。さらに他の例として、制御部11は、1種類の符号化開口によってキャプチャ画像を取得してもよい。
【0072】
制御部11は、推定デプスd0の精度評価値βを、各画素について算出された乖離値wdの最大と最小との差に基づいて算出していた。精度評価値βの算出は、これに限られない。例えば、制御部11は、測距の精度が下がる可能性はあるものの、推定デプスd0の精度評価値βを、各画素について算出された乖離値wdの最小に基づいて算出してもよい。
【0073】
また、デプス算出部11cは、キャプチャ画像f1・f2について種々の画像処理を行ってもよい。例えば、分割部11dによる分割処理を行った後に、デプス算出部11cは、各部分領域のコントラストを算出してもよい。そして、コントラストが所定値より低く、且つ、輝度の最大が所定値よりも低い部分領域がある場合には、その部分領域に対して、或いはキャプチャ画像f1・f2の全体に対して、ヒストグラムを拡張する画像処理を実行してよい。これによれば、暗い部分領域についても推定デプスd0を算出できるようになる。
【符号の説明】
【0074】
10:デプスマップ生成装置、11:制御部、11a:画像取得部、11b:開口制御部、11c:デプス算出部、11d:分割部、11e:ノイズ除去部、12:記憶部、13:撮像素子、14:液晶パネル、14a:符号化開口、15:レンズ、16:入力部、A1~A15:部分領域、B1:第1開口パターン、B2:第2開口パターン、F0_d:参照デプス復元画像の周波数特性、F1・F2:キャプチャ画像の周波数特性、K1_d・K2_d:PSFの周波数特性、Md:乖離値マップ、R1:光透過領域、R2・R3:遮光領域、d0:推定デプス、f1・f2:キャプチャ画像、wd:乖離値、Δw:変化量。