上述のように、従来から、様々な距離にある被写体を鮮明に撮影したいという要望は多い。
しかしながら、特許文献1に記載の技術は、ハーフミラーを使用した特殊な構成を用いており、光量の低下や、構成が複雑で通常のモジュールを用いる事が出来ないといった問題がある。
また、特許文献2に記載の技術においては、様々な距離にある被写体に合焦した画像を取得することができるが、各撮像光学系で撮像した画像から該当する画像を特定する必要があり、全ての被写体に合焦した映像を得る事は出来ない。
また、特許文献3に記載の技術においては、複数の撮像光学系を備え、撮影用の撮像光学系と焦点調節用の撮像光学系を分離する事で素早く被写体に合焦させているが、合焦させるまでに多少の時間は要するという問題がある上に、特許文献2と同様に、全ての被写体に合焦した映像を得ることは難しい。
本発明は、以上のような問題点を解決するためになされたものであって、より簡易な構成で、全ての距離の被写体に合焦したぼけのない鮮明な映像を取得する撮像装置を提供することを目的とする。
本発明の一観点によれば、第1の撮像部及び第2の撮像部の2つの撮像部を少なくとも有し、前記第1の撮像部と前記第2の撮像部のそれぞれの焦点位置を制御する焦点制御部と、前記第1の撮像部と前記第2の撮像部とによりそれぞれ撮像された第1の画像と第2の画像とを含む画像データを画像処理する画像処理装置と、を有する撮像装置であって、前記第1の画像と第2の画像から被写体までの距離情報を算出する距離情報算出部と、前記第1の画像と前記第2の画像とを合成する画像合成部と、を有し、前記焦点制御部は、前記第1の撮像部と前記第2の撮像部の焦点距離を異なる合焦位置に制御し、前記画像合成部は、前記距離情報に基づいて画像を合成することを特徴とする撮像装置が提供される。
前記第1の画像と前記第2の画像を補正する画像補正部をさらに有し、前記画像補正部により被写体の大きさが同一となるよう補正し、前記第1の画像と前記第2の画像を置き換えることを特徴とする。
第1の画像と第2の画像のエピポーラ線を水平化することで、画角の違いも補正され、各撮像部で撮像された被写体の大きさは同一のサイズとなり、両画像間の対応点が同一ライン上に位置することとなる。
前記画像合成部は、前記補正後の第1の画像と前記補正後の第2の画像とのいずれを合成するかを合焦範囲と算出した前記距離情報とに基づいて判定する画像判定部と、前記判定結果に基づいて、合焦画像を作成する合焦画像生成部と、を有することが好ましい。
まず近景に合焦している方の画像から、視差情報を利用して合焦している近景の被写体を抽出する。その際の撮像装置の焦点位置に応じて、被写体の合焦範囲が予めわかるため、この合焦範囲に該当する視差値を保持しておく。その合焦範囲を視差に基づいて規定すると、画像判定部は、この視差値を保持しておき、この値に基づいて視差値が規定の値以上の領域を判定することができる。
前記画像判定部は、被写体の周辺部に関して、前記第1の画像と前記第2の画像との間で合焦状態を検出し、焦点の合っている方の画像を抽出することが好ましい。
前記画像判定部は、画像を合成する境界付近において合成する画像を判別する際に、合成する複数の画像の合焦状態を検出し、両者の合焦状態に差がない場合には、近景に合焦している画像を優先して合成することが好ましい。
視差の膨張領域が存在する為、コントラストを判別する際にカメラ画像を拡大しているため、エッジの位置が一致していない。そこで、拡大率に応じて合成する境界付近で判定処理を行う領域を拡大する。これにより、計算量を抑えつつ合成の境界付近で自然な合成画像とすることが可能となる。
前記距離情報算出部は、距離情報の算出前に画像を縮小する画像縮小部と、距離情報の算出後に画像を拡大する視差拡大部と、をさらに備えるようにしても良い。
縮小して算出した視差マップなどの距離マップを、元画像における各画素の視差に対応するよう視差拡大部により拡大処理を行う。
前記画像合成部は、前記距離情報と前記縮小率とに基づいて、前記第1又は第2の画像のうち近景に合焦している領域を拡大して抽出する画像拡大部と、前記画像拡大部において拡大された画像と、前記第1又は第2の画像のうち遠景に合焦している画像との合成境界の周辺でどちらの画像を合成するかを判定する処理を行う画像判定部と、前記画像判定部により判定された判定情報に従い、前記拡大された画像と拡大されていない画像との合成画像を生成する合焦画像生成部と、を有することが好ましい。
複数の撮像光学系の撮像画像を合成する際に、近景に合焦している画像を拡大して合成することができる。
前記画像判定部は、合成する画像の判定時に、合成する複数の画像の合焦状態に加え、色情報を用いて判定することが好ましい。
拡大画像の使用によりエッジが一致していないことから単純にコントラストのみでどちらの画像を使用するかを判定すると、判断を誤る可能性がある。そこで、画像判定部は、コントラストに優先する形で色情報を利用する。撮像画像間で色情報の差分をとり、色情報があらかじめ設定した閾値以下の差しかない場合には、コントラストの高い方の画像を判定する。一方、閾値以上の差がある場合には、近景を撮影した画像を合成画像として判定する。色情報の差分はRGBの画素値の差分を取り、この絶対値の合計値でよい。あるいは輝度と色差信号に分けて、色差で判断しても良く、他にも様々な方法がある。
このように、コントラストだけでは判断できない可能性がある場合に、色情報を用いることにより、近景を撮影した画像を確実に選定することが可能となり、合成する境界で画像が不自然になるのを防止することができる。
前記焦点制御部により、前記第1の撮像部及び第2の撮像部との合焦位置を同一、あるいは異なる状態に制御を切り替える動作設定部を有することが好ましい。
これにより、前記動作設定部において3D撮影モードが選択された場合には、前記焦点制御部は前記第1の撮像装置と前記第2の撮像装置の合焦位置を同一の設定とし、前記画像合成部は画像の合成を行わず3D撮影が可能となり、全焦点カメラモード設定時は全焦点画像の生成が可能となるなど、様々な動作を撮像装置に備える事が可能となる。
また、本発明は、第1の撮像部及び第2の撮像部と、前記第1の撮像部と前記第2の撮像部との焦点位置を制御する焦点制御部と、を有する撮像装置によりそれぞれ撮像された第1の画像と第2の画像とを含む画像データを画像処理する画像処理装置であって、前記第1の画像と前記第2の画像との2枚の画像から距離情報を算出する距離情報算出部と、前記第1の画像と第2の画像との2枚の画像を合成する画像合成部とを更に有し、前記撮像装置により撮像された入力画像の合焦状態が異なる際に、前記距離情報算出部は、前記第1の画像と前記第2の画像から距離情報を算出すると共に、前記画像合成部は、前記距離情報に基づいて、前記第1の画像と前記第2の画像とを合成することを特徴とする画像処理装置である。
本発明の他の観点によれば、第1の撮像部及び第2の撮像部の2つの撮像部を少なくとも有し、前記第1の撮像部と前記第2の撮像部のそれぞれの焦点位置を制御する焦点制御部と、前記第1の撮像部と前記第2の撮像部とによりそれぞれ撮像された第1の画像と第2の画像とを含む画像データを画像処理する画像処理方法であって、前記第1の画像と第2の画像から被写体までの距離情報を算出する距離情報算出ステップと、前記第1の画像と前記第2の画像とを合成する画像合成ステップと、を有し、前記焦点制御部は、前記第1の撮像部と前記第2の撮像部の焦点距離を異なる合焦位置に制御し、前記画像合成ステップにおいて、前記距離情報に基づいて画像を合成することを特徴とする画像処理方法が提供される。
前記第1の画像と前記第2の画像を補正する画像補正ステップをさらに有し、前記画像補正ステップにより被写体の大きさが同一となるよう補正し、前記第1の画像と前記第2の画像を置き換えることが好ましい。
さらに、前記補正後の第1の画像と前記補正後の第2の画像とのいずれを合成するかを合焦範囲と算出した前記距離情報とに基づいて判定する画像判定ステップを有し、前記画像判定ステップは、被写体の周辺部に関して、前記補正後の第1の画像と前記補正後の第2の画像との間で合焦状態を検出し、合焦している方の画像を抽出する画像と判定することが好ましい。
本発明は、上記に記載の画像処理方法を、コンピュータに実行させるためのプログラムであっても良く、当該プログラムを記録するコンピュータ読み取り可能な記録媒体であっても良い。
本発明の撮像装置によれば、簡易な構成で全ての距離における被写体に合焦した鮮明な映像を生成することが可能となる。
以下に、本発明の実施形態について、図面を参照しながら説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態における撮像装置100の一構成例を示す機能ブロック図である。また、図11は、全焦点カメラモードにおける処理の流れを示すフローチャート図である。図12は、図11の合成画像作成処理の流れを示すフローチャート図である。図13は、図12の右画像と遠景に合焦している左画像との合成処理の流れを示すフローチャート図である。画像処理は、例えば、図1の撮像装置100のうち、左カメラ101、右カメラ102による撮像部分を除く画像データの処理装置により実行される。
図1において、撮像装置100は、例えば、2つのカメラを備えた携帯電話機やスマートフォン、デジタルカメラなどである。固定焦点のレンズとフォーカス調整機能(合焦機能)を持ち、左側に配置される左カメラ101と、左カメラ101と同様の機能を持ち、右側に配置される右カメラ102と、左右のカメラ画像をそれぞれ補正する画像補正部103と、各カメラ101、102のレンズを調整する等してフォーカスを制御する焦点制御部104と、左右カメラ画像を補正した画像から、撮像装置100から被写体までの距離情報を算出する距離情報算出部の一例である視差を算出する視差算出部105と、左右カメラ画像を合成する画像合成部106と、撮像装置100の動作モードを設定する動作設定部107と、を有している。
まず、処理を開始する(図11:ステップS1)ため、動作設定部107により動作モードを設定する。動作設定部107で設定する動作モードは、ここでは3D撮影モードと全焦点カメラモードとを有する。3D撮影モードについては後述する。以下では、全焦点カメラモードについて説明を行う。
焦点制御部104は、動作設定部107により全焦点カメラモードが設定された場合には、左カメラ101と右カメラ102のレンズを制御し合焦位置を変更する(図11:ステップS2)。左カメラ101と右カメラ102は、その内部にレンズ調整用のモータを備えている。本実施の形態では、制御用モータはVCM(ボイスコイルモータ)であるとするが、これ以外のモータ、例えばステッピングモータやピエゾモータなどであっても良い。このVCMを制御することにより、レンズを前後に移動することができ、カメラの合焦位置を変更することが可能となる。合焦位置とは被写体を鮮明に撮影する事が出来るカメラと被写体の位置とする。
焦点制御部104は、左カメラ101の合焦位置を遠景に、右カメラ102の合焦位置を近景に設定する。このときVCMにより設定する各カメラのレンズ位置はあらかじめ決められた固定値であるものとし、焦点制御部104はこの情報保持しているものとし、該当位置にそれぞれレンズを移動する。
左カメラ101はカメラから遠い距離にある被写体に合焦した画像を、右カメラ102はカメラから近い距離にある被写体に合焦した画像を出力する。図2は、この撮像画像例を示した図2である。図2(a)が左カメラ画像であり(b)が右カメラ画像である。四角で示す被写体108と円形で示す被写体109とが各カメラ画像上に撮影されていることを示しており、焦点の合っている被写体を実線で、焦点が合っておらず、ぼけている被写体を点線で示している。また、背景部分には被写体109の後方に一様な壁が存在しているものとし、充分遠景にあり視差は0であるとする。
右カメラ102の方が手前の距離に合焦している為、像距離が長くなる。像距離とは、レンズの焦点距離とレンズの繰り出し量を加えた長さである。焦点距離は、レンズ中心から無限遠の位置にある被写体に対してピントが合う位置までの距離であり、被写体が近くなるほどレンズを繰り出す必要があるため像距離は長くなる。そのため、画角が狭くなり被写体が大きく撮像される。図における被写体を除く横方向の点線はこれを示すためのものである。左カメラ画像上の被写体における特定の点に着目すると、その対応点が右カメラ画像上の同一ライン上になく、被写体が大きく撮影されている事がわかる。
この合焦位置の違いによる画角の違いがあると、視差算出部105で実施する視差算出処理が複雑となるため、画像補正部103はレクティフィケーションと呼ばれるエピポーラ線の平行化処理を行う。ここでエピポーラ線について図3を参照しながら説明する。
エピポーラ線とは、2つのカメラがあった場合に、図3に示すように空間中の特徴点110と、2つのカメラのレンズ中心111、112の3点によってできる平面(エピポーラ平面)113と、それぞれのカメラの画像平面114、115との交線が対応する線であり、図3では、符号116、117で示す点線である。カメラの光軸を平行に配置する平行配置で、配置される高さや特性が同じであるカメラ2眼の場合は、このエピポーラ線116、117は、同じ高さの水平な直線となり、2つの画像において1ライン上で対応点探索を行えばよい。しかし、平行配置でなく輻輳がある場合や焦点距離が異なる場合、上下方向の位置ずれや傾き等が存在する場合等には、エピポーラ線は水平にならず、同一直線上にならない。そこで、水平の同一直線上になるように画像を補正する処理を画像補正部103で行う。
この補正処理は、カメラパラメータを使用して行う。カメラパラメータは、各カメラの焦点距離やレンズ歪みパラメータなどの内部パラメータ、および各カメラ間の位置関係を表す外部パラメータであり、この情報を画像補正部103で予め保持しているものとする。これらのカメラパラメータは、キャリブレーションと呼ばれる処理を利用して算出可能である。格子模様や等間隔ドットを印刷したキャリブレーションパターンを撮影し、特徴点抽出により各パラメータを算出することができる。画像補正部103は、カメラパラメータを使用して画像の幾何学変換(座標変換)を行い、左カメラ画像と右カメラ画像のエピポーラ線を水平化する(図11:ステップS3)。これにより、図2に示した画角の違いも補正され、図4に示すように各カメラで撮像された被写体の大きさは同一のサイズとなり、両画像間の対応点が同一ライン上に位置することとなる。そして、この補正後の左右カメラ画像を視差算出部105と画像合成部106へと送る。
視差算出部105は、画像補正部103より送られる補正後の左右カメラ画像から視差の算出を行う(図11:ステップS4)。視差はカメラの基線長や焦点距離といった情報を元にカメラからの距離に換算可能な距離情報である。ここで視差の算出方法の例について説明する。視差を算出する方法としては、ステレオマッチングと呼ばれる手法が一般的に知られており、SAD(Sum of Absolute Differences)やSSD(Sum of Squared Difference)と呼ばれる手法がある。
図5を参照しながら、ステレオマッチングの一種であるSADによるブロックマッチングについて説明する。図5(a)に示す左カメラ画像118と右カメラ画像119において、エピポーラ線は画像補正部103における補正により一致しているので、左右カメラ画像上の対応点は水平方向に同一ライン上にあるものとして対応点探索を行う。対応点探索では、左カメラ画像118上で視差を算出したい画素を中心に3×3のサイズを持つウインドウ120を設定する。ウインドウ120は、左カメラ画像118の右端からL画素の位置とする。右カメラ画像119において、このウインドウ120と同一ライン上で画像右端からL+Nの距離離れた位置のウインドウ121から、画像右端からLの位置にあるウインドウ122まで、1画素ずつウインドウの位置をずらしながら左カメラ画像のウインドウ120に対する相関値を計算することにより、対応点を特定することが可能となる。
図5(b)、(c)は、それぞれウインドウ120、121を示しており、X0、X’0などXやX’に数値を付与した記号は、各画素におけるGの画素値を示している。図5(d)に示す数式に従い、ウインドウごとの相関値であるSAD値を算出する。これを、ウインドウ120は固定し、右カメラ画像上でウインドウを移動しながら相関値を算出していき、SAD値が最も小さくなる位置がウインドウ120に対する対応点となり、この位置情報から視差が算出される。このような操作を、左カメラ画像118の全ての画像に対して行うことで、左カメラ画像118における視差マップを算出することができる。視差マップとは、画像の各画素に対して視差を算出したマップである。
なお、ここではウインドウサイズは3×3で説明したが、5×5、9×9など、より大きなサイズのものを用いてもよく、ウインドウの重心位置が中央からはずれるが4×4などの偶数のウインドウでもよく、縦横でサイズが異なっていてもよく、ここで示したサイズに限定されるものではない。
探索範囲であるNは、カメラ基線長や被写体の距離などの条件に従い、任意に設定することが可能である。また、探索方向も、ここではウインドウ121からウインドウ122の方向へ探索を行っているが、ウインドウ122からウインドウ121の方向へ探索を行うようにしても良い。探索範囲は、左カメラ画像118を基準に探索しているため、ウインドウ121からウインドウ122までの範囲としているが、この範囲に限定されるものではない。また、図5(b)において、X0等の値はGの画素値としたが、R(赤)やB(青)など他の色のいずれか1つや合計値、あるいは各画素の輝度値、またRGB3色全ての値を用いてもよく、これに限定されるものではない。
視差算出部105は、上述のようにステレオマッチングにより対応点を探索し視差の算出を行う。ここでは、ウインドウサイズを15×15で行うものとする。SADにより視差を算出する場合、被写体のエッジと視差の切替り位置が一致せず、視差の切替り位置が被写体の外側に位置する可能性がある。これはウインドウサイズが大きいほど、被写体よりも広い範囲が被写体の視差値となる傾向にあるためである。SADにより算出した視差マップの例を図6に示す。図6(a)において、近景にある被写体に対応する視差値ほど大きく(色の濃淡が薄い)、遠景にあるカメラからの距離が遠い被写体の視差値ほど小さくなる(色の濃淡が濃い)ことを示しており、被写体108(領域123)の視差値は50、被写体109(領域124)の視差値は10、背景(領域123、124を除く領域)の視差値は0とする。図6(b)に、図4で示した画像補正後の被写体108の撮影サイズと、視差マップ上の被写体108に対応した視差値の算出された領域123のサイズとを比較して示す。図6(b)に示すように、領域123は被写体108よりも大きく、視差値が算出された領域が被写体に対して膨張していることがわかる。この算出した視差情報(視差マップとウインドウサイズ等)を視差算出部105は画像合成部106に送る。
画像合成部106は、補正後の左カメラ画像と右カメラ画像とを画像補正部103から取得し、視差情報を視差算出部105から取得する。画像合成部106は、視差情報を利用して補正後の左カメラ画像と右カメラ画像から、全ての距離の被写体に合焦した1枚の画像を生成する(図11:ステップS5)。
以下に、画像合成処理の詳細について説明する。図7は、画像合成部106の詳細な構成例を示す機能ブロック図であり、画像合成部106は、画像判定部125と合焦画像生成部126とを有している。画像判定部125は、視差情報や後述するコントラスト等によって各カメラ画像のうちどちらを合成するかを判定し、合焦画像生成部126は、画像判定部125の出力である判定情報に従って画像の合成を行う。
まず近景に合焦している右カメラ画像から、視差情報を利用して合焦している近景の被写体を抽出する(図12:ステップS11)。右カメラの焦点距離に応じて、被写体の合焦距離が予めわかるため、この合焦範囲に該当する視差値を保持しておくものとする(図12:ステップS12)。例えば、右カメラ画像の合焦範囲が視差30以上であったとすると、画像判定部125はこの視差値を保持しておき、この値に基づいて視差値30以上の領域を判定する(図12:ステップS13)。すなわち、図6における領域123で示す視差領域が選択される。視差マップは、左カメラ画像基準の視差マップが算出されているため、領域123で示す領域の各座標から視差値分左方向に移動させた座標の右カメラ画像を抽出することで、右カメラ画像から合焦した近景の被写体を抽出することが可能となる(図12:ステップS13)。図8は、これを説明する図であり、上側の図は左カメラ画像であり、下側の図が右カメラ画像を示している。図8中に示す被写体108の各画像間の視差dは50である。このようにして、右カメラ画像から近景の領域を抽出し、左カメラ画像と合成する(図12:ステップS14)。
しかし、このように視差情報のみで判定を行い合成した画像は、図6(b)で説明したように視差マップが被写体よりも膨張しているため、近景の被写体108の周囲は合焦している左カメラ画像ではなくぼけている右カメラ画像が合成されてしまう。図9に示すように、そのままでは被写体108の周辺、被写体108と視差50の領域123との間の部分はボケており違和感のある不自然な画像となってしまう。よって、画像判定部125は以下の処理を行いこの不自然さを解消する。
まず、処理を開始し(図13:ステップS21)、画像の合成を行う被写体の周辺部は、単純に置き換えを行う前に左カメラ画像と右カメラ画像との間で合焦状態の判別を行う。合焦状態を判別する手法としてコントラストの検出を行う(図13:ステップS22)。コントラストの検出方法としては、注目画素の画素値と周辺の画素の視差値の差分の絶対値をとり、この値の合計値で比較する方法がある。例えば、注目画素の左右上下の画素値と注目画素の画素値において、差分の絶対値をとって合計値を算出し、左カメラ画像と右カメラ画像でそれぞれ比較を行い、値が大きい方のカメラ画像の方がコントラストが大きいと判断できる。このコントラストの比較を行う領域は、膨張している領域のみで比較すればよいため、ユーザが視差値により抽出した領域の内側5ピクセルなどと自由に設定できるようにしてもよく、ウインドウサイズの大きさにより膨張領域の幅はほぼ特定できウインドウサイズの半分が膨張する傾向にあるため、ウインドウサイズの半分、あるいは余裕を持ってウインドウサイズ分の領域で比較するようにすれば良い。このように比較領域を限定することにより、計算量の増加を防止するとともに、必要ない領域で比較を行い誤って合成することも防止することが可能となる。ここでは視差情報から得られたウインドウサイズの約半分とし、8ピクセルにおいて比較を行うこととする。
被写体周辺8ピクセルにおいて、コントラストを比較し、コントラストの高いほうの画像、すなわち合焦している画像を抽出するようにする(図13:ステップS23)。このように合焦領域を優先して処理することにより、被写体周辺のボケを抑制することが可能である。なお、両者のコントラスト値に差がない場合、右カメラ画像を合成すればよい(図13:ステップS24)。差がないかどうかを判断するには、あらかじめ閾値を決めておき、閾値以下の差の場合に差がないと判断する方法がある。なお、コントラスト値に差がない場合に右カメラ画像を優先することにより、オクルージョンの影響を低減することができる。オクルージョンとは、各カメラの視点位置の違いにより発生するもので、片方のカメラのみで撮像されている領域である。図10に示すように、上側の左カメラ映像には映っていないが、下側の右カメラ映像には映っている斜線の領域127がオクルージョン領域である。このオクルージョン領域においては、左カメラ画像は背景で、右カメラ画像では手前の被写体側面となる為、コントラスト計算の際にどちらもコントラスト値が高く検出される場合があるが、右カメラ画像、すなわち近景を優先して合成することにより、この領域での誤った合成を防止し、自然な画像とすることが可能となる。
なお、図1における動作設定部107において3D撮影モードが選択された場合には、焦点制御部104は左カメラ101、右カメラ102の合焦位置を同一の設定とし、画像合成部106は画像の合成を行わず、視差情報と左カメラ画像と右カメラ画像を出力するものとする。これにより、3D撮影と視差情報の算出が可能となる。
以上のように、2つのカメラの合焦範囲を変え、視差によって2つの画像を合成することにより、幅広い範囲で合焦した被写界深度の深い画像を得ることが可能となる。また、合成時にコントラストの高い画像を合成するとともに、差がない場合は右カメラ画像を優先することにより、自然な合成画像を得ることが可能となる。
なお、ここでは視差算出のため画像補正部103においてレクティフィケーションをすることとしたが、各カメラの光軸が平行で、上下方向の高さが一致している場合には、左右カメラ画像は大きさが異なるだけである。焦点制御部による各制御値により大きさがどれだけ異なるかはあらかじめ計算により算出しておくことが可能なため、レンズ位置に応じた位置あわせのための縮小、あるいは拡大率を保持しておき、単純に拡大・縮小で位置補正をするようにしても良い。上下方向の高さが異なる場合も、各カメラの光軸が平行であれば拡大縮小で両者の大きさをあわせた後、上下方向に画像の切り出し位置を変え、高さ方向の違いを吸収するようにすることが可能である。
また、本実施の形態において、視差算出にSADを使用する例について説明したが、視差算出に用いるのはSADに限ることはなく、この改良手法やSSD、あるいはグラフカットと呼ばれる領域毎に視差を算出する手法など、様々な手法を利用可能である。
また、ここでは固定焦点のレンズを持つカメラ2眼としたが、固定焦点に限らずズームレンズなどを用いた2眼であっても良い。
以上に説明したように、本実施の形態によれば、簡易な構成で全ての距離における被写体に合焦した鮮明な映像を生成することが可能となる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について、図面を参照しながら説明する。図14は、本実施の形態における撮像装置200の一構成例を示す機能ブロック図である。なお、図14において、第1の実施の形態と同様の機能を有するものについては同一の記号を付与している。図18及び図19は、本実施の形態における処理の流れを示すフローチャート図である。
本実施の形態における撮像装置200は、2眼カメラ部201とパーソナルコンピュータ(PC)で構成される画像処理部202と、を有している。この画像処理部が、第1の実施の形態の画像処理装置Aに対応する。2眼カメラ部201は、フォーカス調整機能を持つ左カメラ101と、同様の機能を持つ右カメラ102と、各カメラのレンズを調整しフォーカスを制御する焦点制御部104と、を有して構成される。画像処理部202は、左右カメラ画像を補正する画像補正部103と、左右カメラ画像を補正した画像から視差を算出する視差算出部203と、左右カメラ画像を合成する画像合成部204と、撮像装置100の動作モードを設定する動作設定部107と、を有している。
本実施の形態では、2眼カメラ部201と画像処理部202とに分割して構成されているが、基本的な処理の流れは第1の実施の形態の場合と同様であるため、その説明を省略する。以下に、第1の実施の形態と異なる動作を行う視差算出部203と画像合成部204との動作について説明する。
処理が開始されると(図18:ステップS31)視差算出部203は、画像補正部103から補正左カメラ画像と補正右カメラ画像を取得する(図18:ステップS32)。この二つの映像を第1の実施の形態と同様にステレオマッチングによって視差を算出するが、この際に、画像を縮小して視差の算出を行う(図18:ステップS33)。
図15は、視差算出部203の一構成例を示す機能ブロック図であり、画像縮小部205により画像を縮小して一般的な視差算出部206で視差マップ算出を行う。例えば、入力される画像サイズが1920×1080ピクセルであるとすると、画像縮小部205は、入力画像を480×270ピクセルに縮小する。このときの縮小率は、あらかじめ固定しておいても良く、ユーザにより設定できるように構成されていても良い。
左カメラ画像と右カメラ画像とは、第1の実施の形態でも説明したように、距離に応じて合焦状態が異なっている。そのため、片方のカメラにおけるぼけた領域と、他方のカメラの鮮明な領域とでステレオマッチングをすることとなる。この際、ぼけの影響により、視差を正しく算出できないことがある。この影響を低減するために、画像の縮小処理を行う。縮小処理を行うことで、数画素の情報が1画素に統合されるため、ぼけていた画像のエッジが鮮明になり視差が算出しやすくなるほか、計算量も低減することができるという効果がある。しかしながら、一方で、縮小することにより視差の算出精度が低下する。ピクセル精度で視差の算出を行うとすると、480×270の画像サイズで算出した視差値1は、1920×1080上で、視差値4ずつの精度で算出することと等価であり、±2ピクセルの誤差が存在することとなる。例えば、被写体の元画像サイズでの視差値が50とすると、縮小画像上での視差値はその1/4となる12.5である。しかし、ピクセル精度で算出すると視差は12、あるいは13と算出され、これを元画像サイズの視差値に直すと48、もしくは52となる。そこで、画像合成時にはこの誤差を考慮する必要がある。
視差算出部203は、縮小して算出した視差マップを、元画像における各画素の視差に対応するよう視差拡大部207により拡大処理を行い(図18:ステップS34)、視差情報と視差マップを算出した際の縮小率を画像合成部204へと送る(図18:ステップS35)。なおこの際の視差値の補間方法としては、画像の拡大と同様にニアレストネイバー補間やバイリニア補間、バイキュービック補間といった周囲の値を元にした補間方法を用いればよい。これにより、元画像の画像サイズと同一の視差マップとなる。また、視差値自体の拡大も行う。元画像サイズ1920×1080、視差算出画像サイズが480×270とすると、算出された視差1は元画像サイズ上で4に相当する為、視差値を4倍する。これにより、元画像における視差値に換算できる。
画像合成部204は、画像補正部103から補正後左カメラ画像と補正後の右カメラ画像を取得し、視差算出部203から取得した視差情報と縮小率に関する情報を使用して画像の合成を行う(図18:ステップS36)。
図16は画像合成部204の一構成例を示した図であり、画像拡大部208と画像判定部209、合焦画像生成部210により構成される。図19は画像合成処理のフローを示し、ステップS36−1で処理が開始される。
画像拡大部208は、視差情報に基づいて近景に合焦している領域を抽出する(ステップS36−2)。この動作は第1の実施の形態の画像判定部で行う動作と同様であり、補正後の画像が図4で視差が図6であったとすると、視差30以上の領域を特定する。この領域を右カメラ画像から切出して画像判定部209へと送るが、この際、縮小率の情報に基づき画像の拡大を行う(ステップS36−3)。これは、前述の通り、視差精度が縮小処理により低下しているため、正確な視差が算出出来ていないために、合成位置がずれ、画像が不自然になるのを防ぐ効果がある。例えば、前述のように±2画素の視差精度低下がある場合、合成する画像をこの±2画素の誤差をカバーするようなサイズに拡大して合成することとなる。図17(a)はこれを示す図であり、領域211は右カメラ画像から抽出した被写体108を示しており、点線の領域212は左カメラ画像のぼけた被写体108を示している。図に示すように視差の誤差によりエッジが一致せず合成画像が不自然になる可能性があるが、図17(b)に示すように、被写体108を領域213のように拡大し、後述の画像判定部209で適切に判別して合成する事により、これを防止することが可能となる。尚、近景の画像の拡大は視差マップを縮小して算出していない際にも効果があり、拡大して合成することにより被写体エッジ周辺で視差に誤りがあった際にも、被写体エッジ周辺で合成画像が不自然になるのを防止する効果がある。
画像判定部209は、左カメラ画像と拡大した近景の右カメラ画像を取得する(ステップS36−4)。視差情報から近景の右カメラ画像を合成する位置を決定する(ステップS36−5)。そして、合成境界の周辺でどちらの画像を合成するかを判定する処理を行う。第1の実施の形態と同様に、視差の膨張領域が存在する為、同様にコントラストの判別を行うが、右カメラ画像を拡大している為エッジの位置が一致していない。そのため、拡大率に応じて合成する境界付近で判定処理を行う領域を拡大する(ステップS36−6)。これにより、計算量を抑えつつ合成の境界付近で自然な合成画像とすることが可能となる(ステップS36−7)。また、拡大画像の使用によりエッジが一致していないことから単純にコントラストのみでどちらの画像を使用するかを判定すると、判断を誤る可能性がある。そこで、画像判定部209は、コントラストに優先する形で色情報を利用する。左カメラ画像と右カメラ画像で色情報の差分をとり、色情報があらかじめ設定した閾値以下の差しかない場合には、コントラストの高い方の画像を判定する。一方、閾値以上の差がある場合には、右カメラ画像の画像を合成画像として判定する。色情報の差分はRGBの画素値の差分を取り、この絶対値の合計値でよい。あるいは輝度と色差信号に分けて、色差で判断しても良く、他にも様々な方法がある。このように、コントラスト情報のみで判断すると左カメラ画像の被写体エッジ外側周辺では、左カメラ画像では合焦した背景が、右カメラ画像では拡大された被写体が存在することになることから、コントラストだけでは判断できない可能性があるが、色情報を用いる事により、右カメラ画像を確実に選定する事が可能となり、合成する境界で画像が不自然になるのを防止することが可能となる。
合焦画像生成部210は、画像判定部209により判別された判定情報に従い、各画素毎に拡大された右カメラ画像と左カメラ画像との合成を行い、全ての距離における被写体が合焦した鮮明な画像を生成することが可能となる。
尚、ここでは、画像の縮小処理を行い、ぼけの影響を低減するようにしたが、SADを用いて視差を算出する場合には、代わりにウインドウサイズを大きくするようにしても良い。このようにすると、計算量が増加するが幅広い領域の情報から対応点を判断する為、対応点を検出し易くするという効果がある。
尚、本発明の各実施形態では、2眼のカメラによって構成される例を示したが、3眼のカメラなど、より多くのカメラを用いたシステムであっても良い。例えば、3眼でそれぞれ合焦範囲を変えた画像を用いる場合、基準カメラを一つ決めておき、基準カメラに対して視差情報を他の2つのカメラに対してそれぞれ算出する。そして、視差情報を元に各カメラのどの映像を使用するかを本実施形態と同様に判別して合成する事で実現できる。数が多いほど、より被写体が鮮明になった合成画像を生成できる。
また、視差情報を2眼カメラから算出する手法を示しているが、距離情報を取得する特殊なカメラを用いて、距離情報から視差情報に変換しても良い、距離情報を取得するカメラとしては、赤外線方式のカメラなどがあり、赤外線を照射し出た光が対象物で反射し、センサに届くまでの光の飛行時間と光の速度から、被写体までの距離を得るTOF(Time of flight)法の距離センサなどがある。距離がわかれば、カメラの基線長と焦点距離から視差情報に変換することが出来る。
また、ここでは視差値を縮小して算出したあと、元画像サイズの視差値になるよう視差値を縮小の倍率をかけて戻す例を記載したが、戻さず縮小して算出した視差値で処理しても良い。右カメラの合焦範囲が元画像サイズで30以上とすると、縮小画像上での視差値は実施形態2の場合では1/4にすると7.5となり、すなわち縮小画像で算出した視差値8以上の視差値を持つ領域を合成することとなる。
また、ここでは右カメラの合焦範囲は視差30以上、近距離の被写体の視差値は50として、近距離の被写体全体が合焦範囲にあるものとしたが、この境界の視差値30をまたがる形で被写体が存在する事もある。例えば、平面上のノートのような被写体が斜めに置かれている場合、最も手前側の視差値が35、奥側の視差値が25といった形になりうる。このような場合、視差値30以上の部分を抽出して合成すると、特に縮小画像で視差値を算出している場合視差の誤差が存在する可能性が高いため、この境界付近で不自然に合成されてしまう可能性がある。連続的に視差値が変化する領域が存在する場合には、この部分を合成処理の対象から外すようにしてもよい。このようにする事で、多少のボケが残ってしまうものの、全体としての不自然さを抑える効果がある。
また、合焦位置を変えても大きさが同一となるよう撮像装置側で補正されて出力される場合には、画像処理による補正は不要となる。
また、本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的部を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
また、本実施の形態で説明した機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。尚、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また前記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。