(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024166790
(43)【公開日】2024-11-29
(54)【発明の名称】デプスマップの生成装置、生成方法、及びプログラム
(51)【国際特許分類】
G06T 7/55 20170101AFI20241122BHJP
G06V 10/40 20220101ALI20241122BHJP
【FI】
G06T7/55
G06V10/40
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023083131
(22)【出願日】2023-05-19
(71)【出願人】
【識別番号】502356528
【氏名又は名称】株式会社ジャパンディスプレイ
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】田中 仁
(72)【発明者】
【氏名】仲戸川 博人
(72)【発明者】
【氏名】青木 良朗
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA09
5L096CA18
5L096FA66
5L096JA03
(57)【要約】 (修正有)
【課題】デプスマップに表示されるデプスの精度を向上することができるデプスマップ生成装置を提供する。
【解決手段】液晶パネル、撮像素子及びレンズの他に、制御部と、記憶部と、入力部とを有するデスマップ生成装置において、制御部の画素選択部11dは、開口パターンに対応する点広がり関数(PSF)を利用して、キャプチャ画像と、キャプチャ画像から再生された参照デプス復元画像と、に基づいて、参照デプスと実際のデプスとの乖離度合いを表す乖離値を、各画素について算出する。画素選択部11dは、画素走査方向に沿って並ぶ画素の乖離値の変化に基づいて、デプス表示画素を選択する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
符号化開口を通してキャプチャされたキャプチャ画像から、それぞれがデプスを表す複数の画素を含むデプスマップを生成するデプスマップの生成装置であって、
前記複数の画素についてデプスを算出するデプス算出部と、
前記デプスマップにおいてデプスを示す画素であるデプス表示画素を選択する画素選択部と、
予め規定された参照デプスに対応し且つ前記符号化開口の開口パターンに対応しているPSFを記憶している記憶部と
を含み、
前記画素選択部は、前記PSFを利用して前記キャプチャ画像から再生された参照デプス復元画像と前記キャプチャ画像とに基づいて、前記参照デプスと実際のデプスとの乖離度合いを表す乖離値を、各画素について算出し、所定の方向に沿って並ぶ画素の前記乖離値の変化に基づいて、前記デプス表示画素を選択する
デプスマップの生成装置。
【請求項2】
前記記憶部は、離散的に設定された複数の参照デプスにそれぞれ対応し且つ前記符号化開口の開口パターンに対応している複数のPSFを記憶し、
前記複数の参照デプスは、少なくとも、第1参照デプスと第2参照デプスとを含み、
前記複数のPSFは、第1参照デプスに対応している第1PSFと、第2参照デプスに対応している第2PSFとを含み、
前記画素選択部は、
前記第1PSFを利用して前記キャプチャ画像から再生された第1参照デプス復元画像と、前記キャプチャ画像とに基づいて、前記第1参照デプスと実際のデプスとの乖離度合いを表す第1乖離値を、各画素について算出し、
所定の方向に沿って並ぶ画素の前記第1乖離値の変化に基づいて、1又は複数の画素を第1候補画素として選択し、
前記第2PSFを利用して前記キャプチャ画像から再生された第2参照デプス復元画像と、前記キャプチャ画像とに基づいて、前記第2参照デプスと実際のデプスとの乖離度合いを表す第2乖離値を、各画素について算出し、
前記所定の方向に沿って並ぶ前記画素の前記第2乖離値の変化に基づいて、1又は複数の画素を第2候補画素として選択し、
前記第1候補画素と前記第2候補画素とが所定の条件を満たす場合に、前記第1候補画素と前記第2候補画素とを前記デプス表示画素として選択する
請求項1に記載されるデプスマップの生成装置。
【請求項3】
前記候補画素は、前記所定の方向に沿って並ぶ前記画素の前記乖離値の極大を与える画素である
請求項1に記載されるデプスマップの生成装置。
【請求項4】
前記画素選択部は、複数の参照デプス復元画像から、前記第1候補画素と前記第2候補画素とを含む複数の候補画素をそれぞれ選択し、
前記画素選択部は、前記複数の候補画素に含まれる所定数の候補画素の位置が一致しているときに、その一致している候補画素を前記デプス表示画素として選択する
請求項2に記載されるデプスマップの生成装置。
【請求項5】
前記符号化開口は第1開口パターンと第2開口パターンとを含み、
前記デプスマップ生成装置は、前記第1開口パターンを通してキャプチャされた第1キャプチャ画像と、前記第2開口パターンを通してキャプチャされた第2キャプチャ画像とから、前記デプスマップを生成する
請求項1に記載されるデプスマップ生成装置。
【請求項6】
前記所定の方向は前記第1開口パターンと前記第2開口パターンとに応じて決まる方向である
請求項1に記載されるデプスマップ生成装置。
【請求項7】
前記第1開口パターンと前記第2開口パターンは、直線に対して互いに対称であり、
前記所定の方向は前記直線に対して交差する方向である
請求項6に記載されるデプスマップ生成装置。
【請求項8】
符号化開口を通してキャプチャされたキャプチャ画像から、それぞれがデプスを表す複数の画素を含むデプスマップを生成するデプスマップの生成方法であって、
前記複数の画素についてデプスを算出するデプス算出工程と、
前記デプスマップにおいてデプスを示す画素であるデプス表示画素を選択する画素選択工程と、
予め規定された参照デプスに対応し且つ前記符号化開口の開口パターンに対応しているPSFを記憶部から取得する工程と
を含み、
前記画素選工程では、前記PSFを利用して前記キャプチャ画像から再生された参照デプス復元画像と前記キャプチャ画像とに基づいて、前記参照デプスと実際のデプスとの乖離度合いを表す乖離値を各画素について算出し、所定の方向に沿って並ぶ画素の前記乖離値の変化に基づいて、前記デプス表示画素を選択する
デプスマップの生成方法。
【請求項9】
符号化開口を通してキャプチャされたキャプチャ画像から、それぞれがデプスを表す複数の画素を含むデプスマップを生成するデプスマップの生成装置として、コンピュータを機能させるプログラムであって、
前記複数の画素についてデプスを算出するデプス算出手段、
前記デプスマップにおいてデプスを示す画素であるデプス表示画素を選択する画素選択手段、及び
予め規定された参照デプスに対応し且つ前記符号化開口の開口パターンに対応しているPSFを記憶部から取得する手段
としてコンピュータを機能させ、
前記画素選択手段が、前記PSFを利用して前記キャプチャ画像から再生された参照デプス復元画像と前記キャプチャ画像とに基づいて、前記参照デプスと実際のデプスとの乖離度合いを表す乖離値を、各画素について算出し、所定の方向に沿って並ぶ画素の前記乖離値の変化に基づいて、前記デプス表示画素を選択する
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデプスマップの生成装置、生成方法、及びプログラムに関する。
【背景技術】
【0002】
非特許文献1では、符号化開口を通してキャプチャした画像からデプスマップを生成する技術が提案されている。この文献では、開口パターン(透光領域と遮光領域の形状)が異なる2つの符号化開口が利用されている。2つの符号化開口を組み合わせて利用することで、デプスマップの生成過程で使用するフィルタ(復元画像を生成するためのフィルタ)に、パワースペクトルが0になる周波数帯が生じることを抑えている。
【0003】
非特許文献1においては、次のようにして、デプスが算出される。(1)100mmや300mmなど予め規定された参照デプスに応じたサイズを有し且つ符号化開口の開口パターンに応じたPSFが、用意される。(2)2つの符号化開口を通してそれぞれ取得した2つのキャプチャ画像とPSFとを利用して、複数の参照デプスのそれぞれについて、復元画像を生成する。(3)キャプチャ画像の各画素の階調値と、復元画像の各画素の階調値との乖離を算出し、小さな乖離を得ることのできるPSFに対応する参照デプスが、被写体が表示されている各画素のデプスとして算出される。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】C.Zhou, S.Lin, and S.Nayar: Coded Aperture Pairs for Depth from Defocus, IEEE international conference on computer vision, 2009
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に開示されている方法で算出されるデプスには、精度の低いデプス(実際のデプスとの差が大きいデプス)が含まれる場合があった。
【課題を解決するための手段】
【0006】
本開示で提案するデプスマップの生成装置は、符号化開口を通してキャプチャされたキャプチャ画像から、それぞれがデプスを表す複数の画素を含むデプスマップを生成するデプスマップの生成装置である。前記生成装置は、前記複数の画素についてデプスを算出するデプス算出部と、前記デプスマップにおいてデプスを示す画素であるデプス表示画素を選択する画素選択部と、予め規定された参照デプスに対応し且つ前記符号化開口の開口パターンに対応しているPSFを記憶している記憶部とを含む。前記画素選択部は、前記PSFを利用して前記キャプチャ画像から再生された参照デプス復元画像と前記キャプチャ画像とに基づいて、前記参照デプスと実際のデプスとの乖離度合いを表す乖離値を、各画素について算出し、所定の方向に沿って並ぶ画素の前記乖離値の変化に基づいて、前記デプス表示画素を選択する。
【0007】
本開示で提案するデプスマップの生成方法は、符号化開口を通してキャプチャされたキャプチャ画像から、それぞれがデプスを表す複数の画素を含むデプスマップを生成するデプスマップの生成方法である。前記生成方法は、前記複数の画素についてデプスを算出するデプス算出工程と、前記デプスマップにおいてデプスを示す画素であるデプス表示画素を選択する画素選択工程と、予め規定された参照デプスに対応し且つ前記符号化開口の開口パターンに対応しているPSFを記憶部から取得する工程とを含む。前記画素選工程では、前記PSFを利用して前記キャプチャ画像から再生された参照デプス復元画像と前記キャプチャ画像とに基づいて、前記参照デプスと実際のデプスとの乖離度合いを表す乖離値を各画素について算出し、所定の方向に沿って並ぶ画素の前記乖離値の変化に基づいて、前記デプス表示画素を選択する。
【0008】
本開示で提案するプログラムは、符号化開口を通してキャプチャされたキャプチャ画像から、それぞれがデプスを表す複数の画素を含むデプスマップを生成するデプスマップの生成装置として、コンピュータを機能させるプログラムである。このプログラムは、前記複数の画素についてデプスを算出するデプス算出手段、前記デプスマップにおいてデプスを示す画素であるデプス表示画素を選択する画素選択手段、及び、予め規定された参照デプスに対応し且つ前記符号化開口の開口パターンに対応しているPSFを記憶部から取得する手段、としてコンピュータを機能させる。前記画素選択手段が、前記PSFを利用して前記キャプチャ画像から再生された参照デプス復元画像と前記キャプチャ画像とに基づいて、前記参照デプスと実際のデプスとの乖離度合いを表す乖離値を、各画素について算出し、所定の方向に沿って並ぶ画素の前記乖離値の変化に基づいて、前記デプス表示画素とを選択する。
【0009】
本開示で提案するデプスマップの生成装置、生成方法、及びプログラムによると、デプスマップに表示されるデプスの精度を向上できる。
【図面の簡単な説明】
【0010】
【
図1】デプスマップ生成装置の撮像系の例を示す模式図である。
【
図2】デプスマップ生成装置のハードウェアを示すブロック図である。
【
図3】デプスマップ生成装置が有している制御部の機能を示すブロック図である。
【
図4】符号化開口部の2つの開口パターンの例を示す図である。
【
図5】
図3で示すデプス算出部、画素選択部、及び生成部が実行する処理の例を示すフロー図である。
【
図6】デプス算出部が生成する乖離値マップを説明するための図である。
【
図8】
図7で例示する2つの画素について算出される乖離値の変化を示す図である。
【
図9】画素選択部の処理を実行することなく、全画素のデプスを表示したデプスマップを説明するための図である。
【
図10】画素選択部による画素の走査を説明するための図である。
【
図11】画素選択部によってなされる、デプス表示画素を選択する処理を説明するための図である。
【
図12】デプス算出部によってなされる、デプス表示画素のデプスを算出する処理を説明するための図である。
【
図13】
図12を参照して説明する処理の結果として生成されるデプスマップの例を示す図である。
【
図14】符号化開口部の2つの開口パターンの変形例を示す図である。
【
図15】
図14で示す開口パターンを通してキャプチャ画像が取得された場合に実行される処理を説明するための図である。
【発明を実施するための形態】
【0011】
以下、本開示で提案するデプスマップの生成装置、生成方法、及びプログラムについて説明する。
【0012】
[デプスマップ生成装置のハードウェア]
図1は、本開示で提案するデプスマップの生成装置の一例である生成装置10の撮像系Nを示す断面図である。同図に示すように、生成装置10は、液晶パネル14と、撮像素子13とを有している。
【0013】
撮像素子13は、CMOS(Complementary Metal Oxide Semiconductor)センサや、CCD(Charge Coupled Device)などのイメージセンサである。
【0014】
液晶パネル14は複数の画素を含んでいる。液晶パネル14は、その一部に符号化開口14aを有している。後述する制御部11は、予め規定した開口パターンを構成するように、符号化開口14aの液晶を駆動する。開口パターンについては、後において詳説する。
【0015】
図1に示すように、生成装置10は、符号化開口14aと撮像素子13との間に配置されるレンズ15を有している。符号化開口14aとレンズ15とを通過した光が撮像素子13に入射する。
【0016】
図2は、デプスマップ生成装置10のハードウェアを示すブロック図である。生成装置10は、
図1で示した液晶パネル14、撮像素子13、及びレンズ15の他に、制御部11と、記憶部12と、入力部16とを有している。
【0017】
制御部11は、例えば、CPU(Central Processing Unit)や、GPU(Graphical Processing Unit)など少なくとも1つのプロセッサを含んでいる。撮像素子13で取得した画像データは、制御部11に提供される。制御部11は、この画像データを利用して、被写体までの距離を示すデプスマップを生成する。
【0018】
記憶部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)などの携帯装置であったり、カメラに接続しているパーソナルコンピュータであってよい。
【0019】
入力部16は、液晶パネル14に取り付けられているタッチセンサであってよい。また、入力部16は、キーボードや、マウスなどのポインティングデバイスであってよい。入力部16は、ユーザの操作に応じた信号を制御部11に入力する。
【0020】
[制御部が行う処理]
図3は、制御部11が有している機能を示すブロック図である。制御部11は、その機能として、画像取得部11a、デプス算出部11c、画素選択部11d、及びマップ生成部11gとを有している。画像取得部11aは開口制御部11bを含んでいる。これらの機能は、制御部11が記憶部12に格納されているプログラムに従って動作することで実現される。
【0021】
[開口制御部]
開口制御部11bは、予め規定された開口パターンを形成するように液晶パネル14の符号化開口14aの液晶を制御する。
図4は符号化開口14aが形成する開口パターンの例を示す図である。これらの図において、白領域が光透過領域R1であり、黒領域が遮光領域R2・R3である。
【0022】
図4で示す開口パターンB1・B2では、矩形の遮光領域R3の内側に円形の光透過領域R1が形成されている。また、この光透過領域R1の内側に円形の遮光領域R2が形成されている。また、第1開口パターンB1の遮光領域R2と、第2開口パターンB2の遮光領域R2は、異なる位置に形成されている。図で示す例では、これら2つの遮光領域R2は線対称の位置に形成されている。この2つの開口パターンB1・B2によると、非特許文献1で説明されるように、開口パターンに対応する点広がり関数(PSF)の空間周波数特性において、パワースペクトルが0となる周波数帯の発生を抑えることができる。このような開口パターンB1・B2は、例えば遺伝的アルゴリズムによって、探索され得る。
【0023】
画像取得部11aは、撮像素子13及び符号化開口14aを制御し、2つの開口パターンB1・B2を使用して、2つの画像f1・f2を連続撮影する。(以下では、この画像f1・f2をキャプチャ画像と称する。)このとき、第1開口パターンB1による撮像と、第2開口パターンB2による撮像との間隔は、数百ミリ秒、或いは数十ミリ秒であってよい。
【0024】
なお、開口制御部11bが形成する開口パターンの数は、2つよりも多くてもよい。この場合、画像取得部11aは、2つより多い開口パターンの数だけ画像を連続撮影してよい。開口制御部11bは、撮像素子13による受光と同期しながら複数の開口パターンを順番に切り換える。
【0025】
[デプス算出部]
デプス算出部11cは、デプスマップを構成する各画素について、デプス(撮像系Nから被写体までの距離)を算出する。デプスマップの各画素は、例えば、キャプチャ画像f1・f2の1つの画素に対応していてよい。これとは異なり、デプスマップの各画素は、キャプチャ画像において隣接する複数の画素(例えば、2×2)に対応していてもよい。
【0026】
後述するように、生成装置10において、デプス算出部11cは、画素選択部11dが選択した画素(デプス表示画素)についてだけデプスを算出する。そして、マップ生成部11gは、デプスマップのデプス表示画素に、算出されたデプスを表示する。これとは異なり、デプス算出部11cは全画素についてデプスを算出してもよい。そして、マップ生成部11gは、画素選択部11dが選択した画素(デプス表示画素)についてのみ、算出されたデプスを表示してもよい。
【0027】
図5は、デプス算出部11c、画素選択部11d、及びマップ生成部11gの処理の例を示すフロー図である。この図で示す処理は、画像取得部11aによるキャプチャ画像f
1・f
2が取得された後に開始される。
【0028】
まず、デプス算出部11cは、キャプチャ画像f1・f2を二次元フーリエ変換する(S101)。以下では、二次元フーリエ変換により得られた、キャプチャ画像f1・f2の周波数特性をF1・F2として表す。なお、高周波成分が画像に含まれると、参照デプス復元画像を算出する際にノイズの影響が過大となることがある。そこで、周波数特性F1・F2から高周波成分を除去してもよい。例えば、サンプリング周波数の半分(ナイキスト周波数)以下の周波数のみを透過するローパスフィルタが利用されてもよい。そして、高周波成分が除去された周波数特性F1・F2を後述の処理において利用してもよい。
【0029】
生成装置10では、離散的に設定された複数の参照デプスにそれぞれ対応する複数の点広がり関数(PSF)が用意されている。参照デプスは、100mmや、300mm、700mmなど、被写体までの距離の候補値である。各PSFは、符号化開口14aの開口パターンB1・B2に対応した形状を有している。また、各PSFは、参照デプスに応じたサイズを有している。具体的には、PSFのサイズは、参照デプスが大きくなるに従って、小さくなる。複数のPSFは、これらを二次元フーリエ変換して得られる周波数特性として記憶部12に格納されている。デプス算出部11cは、記憶部12から、PSFの周波数特性を取得する。この周波数特性は、光学伝達関数(OTF)とも称される。
【0030】
デプス算出部11cは、キャプチャ画像f1・f2とPSFとを利用して、複数の参照デプスのそれぞれについて、参照デプスに応じた復元画像を生成する(S102)。以下では、この復元画像を「参照デプス復元画像」と称する。デプス算出部11cは、具体的には、以下の数1を利用して、キャプチャ画像f1・f2の周波数特性F1・F2と、PSFの周波数特性とに応じた、参照デプス復元画像の周波数特性を算出する。
【0031】
【0032】
数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の共役複素数
【0033】
PSFのサイズは撮像系Nから被写体までの距離(デプス)が大きくなるに従って小さくなる。そのため、PSFの周波数特性K1_d・K2_dも、撮像系Nから被写体までの距離に応じて定まる。数1において、K1・K2に付されている添え字「d」は、100mmや、300mmなどの参照デプスに対応している。例えば、関数K1_100・K2_100は、撮像系Nからの距離が100mmの被写体についてのPSFの周波数特性である。参照デプスの数は、2つより多くてよく、例えば10や、20、30などでもよい。
【0034】
S102において、デプス算出部11cは、数1を利用して、キャプチャ画像f1・f2の周波数特性F1・F2と、PSFの周波数特性K1_d・K2_dとに応じた、参照デプス復元画像の周波数特性F0_dを算出する。デプス算出部11cは、複数の参照デプスのそれぞれについて、参照デプス復元画像の周波数特性F0_dを算出する。例えば、デプス算出部11cは、周波数特性K1_100・K2_100と、キャプチャ画像f1・f2の周波数特性F1・F2とに基づいて、参照デプス復元画像の周波数特性F0_100を算出する。また、デプス算出部11cは、周波数特性K1_300・K2_300と、キャプチャ画像f1・f2の周波数特性F1・F2とに基づいて、参照デプス復元画像の周波数特性F0_300を算出する。
【0035】
数1によると、撮像系Nからの距離が参照デプスに等しい被写体は、参照デプス復元画像においてボケが無い状態で表れる。例えば、撮像系Nから100mmにある被写体は、PSFの周波数特性K1_100・K2_100によって得られた参照デプス復元画像では、ボケが無い状態で表れる。一方で、300mmや、700mmなど、他の参照デプスに対応したPSFの周波数特性K1_d・K2_dによって得られた参照デプス復元画像では、この被写体についてボケ(階調値のずれ)が表れる。ボケは、被写体の実際のデプスと、参照デプスとの差が大きくなるに従って、強く表れる。そこで、デプス算出部11cは、以降の処理において、このボケの程度を利用して、被写体までの距離(デプス)を算出する。
【0036】
[乖離値マップ]
デプス算出部11cは、参照デプス復元画像の周波数特性F0_dと、キャプチャ画像f1・f2の周波数特性F1・F2とに基づいて、乖離値マップMdを算出する(S103)。乖離値マップMdは、複数の参照デプス(100mm、300mmなど)のそれぞれについて算出される。各乖離値マップMdでは、参照デプスと、実際のデプスとの乖離度合い(乖離値)が、デプスマップの各画素について示される。
【0037】
デプス算出部11cは、例えば、以下の数2を参照して、乖離値マップMdを算出する。
【0038】
【0039】
数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の周波数特性
【0040】
図6は、乖離値マップM
dの例を示す図である。同図で示すように、乖離値マップM
dは、実際のデプス(撮像系Nから被写体までの実際の距離)と、参照デプスとの乖離値wを、各画素について示す。例えば、乖離値マップM
100は、実際のデプスと「参照デプス:100mm」の乖離値wを示す。実際のデプスが100mmであれば、乖離値マップM
100で示される乖離値w
100は最小となり、実際のデプスが200mmであれば、「参照デプス:100mm」に対応する乖離値マップM
100において、乖離値w
100は最小よりも大きな値となる。
【0041】
このように、デプス算出部11cは、S102の処理において、周波数特性K1_d・K2_dで表された複数のPSFをそれぞれ利用して、キャプチャ画像f1・f2(より具体的には、それらの周波数特性F1・F2)から、複数の参照デプス復元画像(より具体的には、それらの周波数特性F0_d)を生成する。そして、S103において、周波数特性F0_dで表された複数の参照デプス復元画像と、周波数特性F1・F2で表されたキャプチャ画像f1・f2とを利用して、参照デプスと実際のデプスとの乖離値wを算出する。
【0042】
[画素選択部]
画素選択部11dは、S104~S106において、複数の乖離値マップMdを参照し、デプス表示画素を選択する。デプス表示画素は、デプスマップにおいてデプス(撮像系Nから被写体までの距離)を示す画素である。そして、デプス算出部11cは、S107において、デプス表示画素についてデプスを算出する。
【0043】
なお、ここで説明する例とは異なり、デプス算出部11cは、全ての画素についてデプスを算出してもよい。そして、画素選択部11dが選択したデプス表示画素だけに、算出されたデプスを表示してもよい。
【0044】
以下では、
図7で例示するチェッカーパターンが画像取得部11aの処理において撮影された場合を例にして、画素選択部11d及びデプス算出部11cの処理を説明する。
図8は、画素選択部11d及びデプス算出部11cの処理を説明するための図であり、同図の横軸は100mmや、300mmなど参照デプスであり、縦軸は各画素での乖離値wを示している。以下では、デプス算出部11cが算出するデプスを推定デプスd
0と称する。
【0045】
乖離値wは、実際のデプスと同じ参照デプス、又は実際のデプスに近しい参照デプスにおいて、最小となる。例えば、
図8の線Aは、
図7で示す領域Pa中の画素について算出される乖離値wを示している。線Aで示すように、乖離値wは参照デプスに応じて変化している。領域Pa中の画素はチェッカーパターンの白と黒の境界に位置する画素である。線Aで示す乖離値wは、「参照デプス:1500mm」の位置で最小となっている。従って、この画素に表れる被写体(
図7で示すチェッカーパターン)は撮像系Nから1500mmの位置にあると推定される。すなわち、この画素については1500mmが推定デプスd
0として算出される。
【0046】
ところが、白と黒との境界から離れた領域では複数の画素の階調値が実質的に同じになるので、キャプチャ画像f1・f2においてボケが発生しにくい。そのため、そのような領域にある画素では、参照デプスに応じた乖離値wの変化が小さくなる。従って、そのような領域では、乖離値wが最小となる参照デプスが、実際のデプス(被写体までの距離)に一致しにくい。言い換えれば、そのような領域では、乖離値wが最小となる参照デプスと実際のデプスとの誤差が大きくなる。
【0047】
例えば、
図8の線Bは、
図7で示す領域Pb中の画画について算出される乖離値wの参照デプスに応じた変化を示している。領域Pbはチェッカーパターンの白領域の中心に位置している。線Bで示す乖離値wの変化量Δwbは、線Aで示す乖離値wの変化量Δwaよりも小さい。また、
図7で示すチェッカーパターンの全体が撮像系Nから等距離にあるので、線Bで示す乖離値wは、本来は線Aと同様に「参照デプス:1500mm」の位置で最小となるべきところ、「参照デプス:2000mm」の位置で最小となっている。
【0048】
このように、白領域や黒領域など、階調値の変化が小さい領域では、正しい推定デプスd0が算出されにくい。そのため、
図9の上図で示すように、白領域及び黒領域の画素については、1000mmや、2000mmなど、実際のデプスである1500mm」とは異なるデプスが、推定デプスd
0として算出されることが多くなる。
【0049】
また、
図9の下図で示すように、白領域と黒領域との境界の近くであっても、実際のデプス(1500mm)とは異なるデプスが推定デプスとして算出されることがある。
【0050】
[候補画素、共通候補画素、及びデプス表示画素の選択]
そこで、画素選択部11dは、正しい推定デプスd0が算出される蓋然性の高い画素をデプス表示画素として選択する。デプス算出部11cは、そのデプス表示画素について、デプスを算出する。
【0051】
具体的には、画素選択部11dは、各乖離値マップMdを参照し、所定の方向に沿って並ぶ画素の乖離値wの変化に基づいて、正しい推定デプスd0が算出される蓋然性の高い画素を探索する。(以下では、この所定の方向を画素走査方向と称する。)更に具体的には、画素選択部11dは、画素走査方向に沿って並ぶ画素から、乖離値wが極大となる画素を探索する。そして、探索によって得られた画素を候補画素とする(S104)。
【0052】
例えば、乖離値マップM100において画素走査方向に沿って並ぶ画素から、乖離値wが極大となる1又は複数の画素を候補画素として選択する。また、乖離値マップM300において画素走査方向に沿って並ぶ画素から、乖離値wが極大となる1又は複数の画素を候補画素として選択する。画素選択部11dは、他の乖離値マップMdについて同様の処理を行う。
【0053】
そして、画素選択部11dは、複数の乖離値マップMdからそれぞれ選択された複数の候補画素が所定の条件を満たす場合に、その条件を満たす画素をデプス表示画素として選択する。例えば、画素選択部11dは、位置が同じ候補画素の数が所定数以上である場合に、その候補画素をデプス表示画素の1つとして選択する。言い換えれば、所定数以上の乖離値マップMdから候補画素として選択された画素(共通候補画素)を、デプス表示画素の1つとして選択する(S105)。
【0054】
図10及び
図11を参照して、画素選択部11dの処理について詳説する。
図10の左図は、乖離値マップM
100中の一部の領域の乖離値wの例を示している。
図10の中央図は、乖離値マップM
300中の同じ領域の乖離値wを例示している。同様に、
図10の右図は、乖離値マップM
700中の同じ領域の乖離値wを例示している。また、
図10中の各図の左側に記載されるm-2、m-1、m等は画素の行番号である。
図10の上側に記載されるn-2、n-1、n等は画素の列番号である。
図11は、各乖離値マップにおける乖離値wを示している。同図において、縦軸は乖離値であり、横軸は画素の行番号(mや、m+1など)である。
【0055】
画素選択部11dは、画素走査方向に沿って画素の乖離値wを走査する。画素走査方向は、2種類の開口パターンB1・B2に応じた方向であり、具体的には縦方向である。画素選択部11dは、S104において、例えば、縦方向で並ぶ複数の画素(例えば、3つ以上、7つ以下の画素)の乖離値wを相互に比較し、乖離値wが極大となる画素(候補画素)を探索する。画素選択部11dは、この探索を、画素領域の縦方向における一方の端部(上端の画素)から反対側の端部(下端の画素)に向けて順番に行う。画素選択部11dは、見つかった候補画素を記憶部12に記録する。
【0056】
画素選択部11dは、第n列において縦方向に並ぶ所定数の画素、又は第n列の全画素の乖離値wに関数をフィッティングさせてもよい。そして、画素選択部11dは、その関数の微分(1回微分の値と2回微分の値)を利用して、乖離値wが極大となる候補画素を特定してもよい。
【0057】
図10の左図、及び
図11で例示する乖離値マップM
100では、画素(n、m-1)において乖離値wは極大となっている。そのため、画素選択部11dは、この画素(n、m-1)を候補画素の1つとして記憶部12に記録する。
【0058】
図10の中央図、及び
図11で示す乖離値マップM
300では、画素(n、m)において乖離値wは極大となっている。そのため、画素選択部11dは、この画素(n、m)を候補画素の1つとして記憶部12に記録する。更に、
図10の右図、及び
図11で示す乖離値マップM
700では、画素(n、m)において乖離値wは極大となっており、画素選択部11dは、この画素(n、m)を候補画素の1つとして記憶部12に記録する。画素選択部11dは、この他の乖離値マップについても、同様の処理を行う。
【0059】
画素選択部11dは第n列において並ぶ全画素を参照する。その結果、キャプチャ画像によっては、
図11で示すように、各乖離値マップM
dの第n列において並ぶ複数の画素から、複数の候補画素が選択される場合がある。
【0060】
画素選択部11dは、S105において、記憶部12に記録された複数の候補画素の位置(座標)を参照する。そして、所定数以上(例えば、3つ以上)の乖離値マップM
dにおいて候補画素となっている画素を、共通候補画素として選択する。
図11で示す例では、画素(n、m)が乖離値マップM
300・M
700・M
1000において候補画素となっているので、画素選択部11dは、画素(n、m)を共通候補画素として選択する。つまり、所定数以上の乖離値マップM
dにおいて候補画素として選択された画素は、精度の高い推定デプスd0が算出される蓋然性が高い。そこで、そのような画素を共通候補画素として選択している。
【0061】
画素選択部11dは、
図11で示すように、この共通候補画素をデプス表示画素として選択する(S106)。また、画素選択部11dは、画素走査方向(
図10の例において縦方向)において共通候補画素を挟む所定数の画素をも、デプス表示画素として選択する(S106)。例えば、画素選択部11dは、画素走査方向において共通候補画素を挟む2つ或いは3つの画素をも、デプス表示画素として選択する。
【0062】
なお、共通候補画素の選択方法は、上述した例に限られない。例えば、上述した例とは反対に、所定数より少ない乖離値マップMdにおいてのみ候補画素として選択された画素は、候補画素から除外され、残った候補画素が共通候補画素として選択してもよい。例えば、1つ或いは2つの乖離値マップMdだけで候補画素として選択された画素は、候補画素から除外され、残りの候補画素が全て共通候補画素として選択されてもよい。
【0063】
[画素走査方向]
上述したように、画素選択部11dは、デプス表示画素の選択処理において、画素を縦方向(画素走査方向)に走査した。これは次の理由による。
【0064】
図4で例示した第1開口パターンB1と第2開口パターンB2は、画像の横方向に沿った線Lcに対して対称である。この場合、キャプチャ画像f1に表れる横方向に沿った境界線のボケと、キャプチャ画像f2に表れる横方向に沿った境界線のボケには、比較的大きな違いが生じる。このため、横方向に沿った境界線の近くの画素については、正しい推定デプスd
0が算出される。これに対して、キャプチャ画像f1に表れる縦方向に沿った境界線のボケと、キャプチャ画像f2に表れる縦方向に沿った境界線のボケとの間の相違は小さくなる。このため、上述した数2を利用して乖離値マップM
dを算出すると、縦方向の境界線に対応する画素については、参照デプスに応じた乖離値wの変化が小さくなる。その結果、それらの画素については、実際のデプスと推定デプスd
0との差が大きくなる。
【0065】
そこで、画素選択部11dは、デプス表示画素の選択処理において、縦方向に画素を走査し、乖離値wが極大となる画素を探索している。言い換えれば、開口パターンB1・B2によると縦方向での境界線について正しい推定デプスd0を算出するのが難しいというデメリットを逆に有効利用し、画素を縦方向に走査している。
【0066】
なお、画素走査方向は縦方向に限られない。例えば、符号化開口14aの開口パターンが
図4で例示するパターンB1・B2である場合であっても、画素選択部11dは、縦方向に画素を走査して候補画素を選択した後、さらに別の方向に画素を走査して候補画素を選択してもよい。つまり、画素選択部11dは、複数の方向に画素を走査してもよい。
【0067】
また、第1開口パターンB1と第2開口パターンB2とによっては、縦方向とは異なる方向(例えば横方向や斜め方向)に走査してもよい。そして、乖離値wが極大となる画素(候補画素)を探索してもよい。
【0068】
例えば、第1開口パターンB1と第2開口パターンB2とが縦方向の線に対して対称である場合、画素選択部11dは、この線に対して直交する方向(横方向)において並ぶ画素を走査し、候補画素を探索してもよい。
【0069】
また、例えば、第1開口パターンB1と第2開口パターンB2とが横方向と縦方向とに対して傾斜した線に対して対称である場合、画素選択部11dは、この線に対して直交する方向に画素を走査し、候補画素を探索してもよい。
【0070】
[デプス表示画素でのデプス算出]
デプス算出部11cは、複数の乖離値マップM
dを参照し、選択したデプス表示画素についてデプス(撮像系Nから被写体までの距離)を算出する(S107)。具体的には、
図12で示すように、複数の乖離値マップM
dを参照し、デプス表示画素について算出された乖離値wが最小になる参照デプスを探索する。そして、デプス算出部11cは、探索により見つかった参照デプスを推定デプスd
0とする。デプス算出部11cは、この探索を全デプス表示画素について実行する。なお、
図12において、横軸は参照デプスであり、縦軸は、デプス表示画素での乖離値である。
【0071】
なお、デプスの算出処理は、ここで説明する例に限られない。上述した処理において、デプス算出部11cは、乖離値wdを最小にする乖離値マップMdに対応する参照デプスを、そのデプス表示画素の推定デプスd0としている。これとは異なり、デプス算出部11cは、参照デプスと乖離値wdとの関係を示す関数を求め、その関数の極小値を算出してもよい。そして、その極小値を得るデプスを、その画素の推定デプスd0として算出してもよい。
【0072】
デプス算出部11cによるこの処理は、例えば、次のように行うことができる。デプス算出部11cは、
図12で示す参照デプスと乖離値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次関数である。
【0073】
【0074】
そして、デプス算出部11cは数3の極小を求める。すなわち、デプス算出部11cは、δW/δd=0を解くことで、関数W(d)を極小にするデプスを算出する。そして、デプス算出部11cは、このように算出したデプスを推定デプスd0とする。このような処理によれば、参照デプスの数(PSFの数)を増すことなく、デプスについての解像度を増すことができる。
【0075】
デプス算出部11cは、キャプチャ画像f1・f2の全ての列について、S104~S107の処理を行ったか否かを判断する(S108)。そして、未だ、処理を行っていない列が存在する場合(S108において「No」)、デプス算出部11cはS104に戻り、S104~S107の処理を実行する。
【0076】
[デプスマップの表示]
全部の列についてS104~S107の処理が終了すると(S108において「Yes」)、マップ生成部11gは、算出された推定デプスd0をデプスマップに表示する。
【0077】
図13は、このような処理の結果、表示されるデプスマップの例を示す図である。この図は、
図7で例示するチェッカーパターンについての処理の結果を示している。
図13の下図で示すように、白領域と黒領域との境界に対応する3つの画素(デプス表示画素)について算出された推定デプスがデプスマップに表示されている。また、表示されている推定デプスd
0は1500mm(被写体であるチェッカーパターンまでの距離)で実質的に統一されている。これに対して、デプス表示画素としては選択されなかった画素については、デプスは表示されていない。このため、精度の高いデプスだけがデプスマップに表示されることとなる。
【0078】
[変形例]
本開示で提案するデプスマップ生成装置は、上述した生成装置10の例に限られない。
【0079】
生成装置10では、デプス表示画素の選択処理において、乖離値マップにおいて画素を縦方向に走査し、候補画素を探索していた。画素走査方向は、縦方向に限られず、第1開口パターンと第2開口パターンとに応じて定められてよい。
【0080】
図14は、開口パターンの変形例を示す図である。この図で示す第1開口パターンB3及び第2開口パターンB4は、
図4で示した例と同様に、矩形の遮光領域R3と、円形の光透過領域R1と、円形の遮光領域R2とを有している。
図4の例とは異なり、第1開口パターンB3の遮光領域R2と、第2開口パターンB4の遮光領域R2は、画像の縦方向と横方向の双方に対して傾斜した線Leに対して対称となっている。
【0081】
このような開口パターンB3・B4を通して
図15で例示するようなチェッカーパターンを撮影した場合、キャプチャ画像f
1において線Le(
図14参照)に沿った方向に伸びている境界線のボケと、キャプチャ画像f
2において線Le(
図14参照)に沿った方向に伸びている境界線のボケとの間には、大きな相違が生じる。そのため、この境界線の位置については、精度の高いデプスが算出され得る。これに対して、線Leに対して直交する方向に伸びている境界線Lb(
図15参照)のボケの相違は、小さくなる。この場合、画素選択部11dは、各乖離値マップにおいて、線Leに対して直交する方向S1(
図15参照)に画素を走査し、乖離値が極大になる画素(すなわち、候補画素)を探索してよい(S104)。
【0082】
以降の処理は、上述した生成装置10の例と同様である。すなわち、画素選択部11dは、所定数以上の乖離値マップMdにおいて候補画素となる画素を共通候補画素として選択する(S105)。そして、共通候補画素と、共通候補画素を画素走査方向S1で挟む所定数の画素とを、デプス表示画素として選択する(S106)。デプス算出部11cは、選択されたデプス表示画素について、推定デプスを算出する(S107)。S108において、画素走査方向S1に沿った画素列の全てについてS104~S107の処理を行ったと判断された場合、マップ生成部11gは、算出した推定デプスをデプスマップとして表示する(S109)。
【0083】
[まとめ]
(1)デプスマップ生成装置10は、複数の画素についてデプスを算出するデプス算出部11cと、デプスマップにおいてデプスを示す画素であるデプス表示画素を選択する画素選択部11dと、予め規定された参照デプスに対応し且つ符号化開口の開口パターンに対応しているPSFを記憶している記憶部12とを含んでいる。画素選択部11dは、PSFを利用してキャプチャ画像f
1・f
2から再生された参照デプス復元画像とキャプチャ画像f
1・f
2とに基づいて、参照デプスと実際のデプスとの乖離度合いを表す乖離値wを、各画素について算出し、画素走査方向に沿って並ぶ画素の乖離値の変化に基づいて、デプス表示画素を選択する。
(1)のデプスマップ生成装置10によると、画素走査方向に沿って並ぶ画素の乖離値wの変化に基づいてデプス表示画素が選択されるので、デプスマップに表示されるデプスの精度を向上できる。例えば乖離値wの最大と最小との差(例えば、
図8のΔwa・Δwb)が大きい画素をデプス表示画素として選択する形態に比して、デプスマップに表示されるデプスの精度を向上できる。
【0084】
(2)(1)の生成装置10において、画素選択部11dは、第1PSFを利用してキャプチャ画像f1・f2から再生された第1参照デプス復元画像と、キャプチャ画像f1・f2とに基づいて、第1参照デプスと実際のデプスとの乖離度合いを表す第1乖離値を、各画素について算出する。そして、画素選択部11dは、画素走査方向に沿って並ぶ画素の第1乖離値の変化に基づいて、1又は複数の画素を第1候補画素として選択する。また、画素選択部11dは、第2PSFを利用してキャプチャ画像f1・f2から再生された第2参照デプス復元画像と、キャプチャ画像f1・f2とに基づいて、第2参照デプスと実際のデプスとの乖離度合いを表す第2乖離値を、各画素について算出する。そして、画素選択部11dは、画素走査方向に沿って並ぶ画素の第2乖離値の変化に基づいて、1又は複数の画素を第2候補画素として選択する。画素選択部11dは、第1候補画素と第2候補画素とが所定の条件を満たす場合に、第1候補画素と第2候補画素とをデプス表示画素として選択する。
【0085】
(2)の生成装置10によると、2つの参照デプス復元画像から算出される2つの候補画素を利用してデプス表示画素が選択される。そのため、例えば、1つの参照デプス復元画像から算出された候補画素だけを利用してデプス表示画素を選択する場合に比して、デプスマップに表示されるデプスの精度を向上できる。
【0086】
(3)(1)又は(2)の生成装置10において、候補画素は、画素走査方向に沿って並ぶ画素の乖離値の極大を与える画素である。精度が高いデプスが算出される画素では、乖離値が大きくなる。(3)の生成装置10によると、このことを利用して、候補画素を選択できる。
【0087】
(4)(2)の生成装置10において、画素選択部11dは、複数の参照デプス復元画像から、第1候補画素と第2候補画素とを含む複数の候補画素をそれぞれ選択する。画素選択部11dは、複数の候補画素に含まれる所定数の候補画素の位置(座標)が一致しているときに、位置の一致している候補画素をデプス表示画素として選択する。これによると、デプスマップに表示されるデプスの精度を、更に向上できる。
【0088】
(5)(1)乃至(4)の生成装置10において、符号化開口14aは第1開口パターンB1・B3と第2開口パターンB2・B4とを含む。デプスマップ生成装置10は、第1開口パターンB1・B3を通してキャプチャされた第1キャプチャ画像f1と、第2開口パターンB2・B4を通してキャプチャされた第2キャプチャ画像f2とから、デプスマップを生成する。これによると、開口パターンの数が1つの場合に比してデプスマップに表示されるデプスの精度を向上できる。
【0089】
(6)(1)乃至(5)の生成装置10において、画素走査方向は第1開口パターンB1・B3と第2開口パターンB2・B4とに応じて決まる方向である。これによると、開口パターンと画素走査方向との関係によっては正しいデプスが算出するのが難しいというデメリットを逆に有効利用して、デプスを算出できる。
【0090】
(7)(6)の生成装置10において、第1開口パターンB1・B3と第2開口パターンB2・B4は、直線Lc・Leに対して互いに対称である。画素走査方向は直線Lc・Leに対して交差する方向である。
【符号の説明】
【0091】
10:デプスマップ生成装置、11:制御部、11a:画像取得部、11b:開口制御部、11c:デプス算出部、11d:画素選択部、11g:マップ生成部、12:記憶部、13:撮像素子、14:液晶パネル、14a:符号化開口、15:レンズ、16:入力部、B1・B2・B3・B4:開口パターン、R1:光透過領域、R2:遮光領域、R3:遮光領域。