以下、本発明の一実施形態を図面に基づいて説明する。図面では同様な構成および機能を有する部分に同じ符号が付され、下記説明では重複説明が省略される。また、各図面は模式的に示されたものであり、例えば、各図面における画像上の表示物のサイズおよび位置関係等は正確に図示されたものではない。
また、画像データと、該画像データに基づいて表示される画像とをまとめて「画像」と適宜総称する。更に、各図面では、画像の左上の画素が原点とされ、該画像の長辺に沿った方向(ここでは、横方向)がX軸方向とされ、該画像の短辺に沿った方向(ここでは縦方向)がY軸方向とされる。そして、各画像の右方向が+X方向とされ、各画像の下方向が+Y方向とされる。なお、図1、図2、図7、図8、図14および図15には、直交するXYZの3軸が付されている。また、本願において、単に「分布幅」という用語が使用される場合には、該「分布幅」は、評価対象の値についての統計的な分布幅と、空間的な分布幅とのうち「統計的な分布幅」を指している。
<実施形態について:>
<(1)画像処理装置100Aの外観構成について>
図1、図2は、本発明の実施形態に係る画像処理装置100Aの外観構成の概略を示す模式図である。画像処理装置100Aは、携帯電話、カメラ、およびサーバ装置との間で無線通信等により各種情報の送受信を行う端末装置などとして機能する折り畳み式の携帯型情報端末として構成されている。画像処理装置100A、筐体200Aと、筐体200Bと、ヒンジ部400とを主に有している。ヒンジ部400は、筐体200Aと筐体200Bとを機械的に回動可能に接続するとともに、筐体200Aと筐体200Bとを電気的にも接続している。ヒンジ部400によって画像処理装置100Aは、折り畳み可能となっている。
図1、図2は、画像処理装置100Aが開かれた外観をそれぞれ示している。図1には、画像処理装置100Aが折り畳まれたときに画像処理装置100Aの外面となる面(「うら面」とも称される)が示されている。また、図2には、画像処理装置100Aが開かれた状態における該うら面以外の面(「おもて面」とも称される)が示されている。
筐体200Aおよび筐体200Bは、それぞれ板状の部材であり、各種電子部材を格納する筐体としての役割を有している。具体的には、筐体200Aは、そのうら面側に第1カメラ61および第2カメラ62を備えたステレオカメラ300(図3)を有するとともに、そのおもて面に表示部43を有している。また、筐体200Bは、ボタン等の操作部42をそのおもて面に有するともに、画像処理装置100Aを電気的に制御するCPU(Central Processing Unit)11A(図4)などをその内部に有している。
また、画像処理装置100Aは、ステレオカメラ300によって撮影された被写体の画像に基づいて観察者が立体視可能な立体視画像を生成し、表示部43に表示する。
<(2)画像処理装置100Aの機能構成について>
図3は、実施形態に係る画像処理装置100Aの主な構成を例示するブロック図である。図3に示されるように、情報処理装置100Aは、CPU11A、入出力部41、操作部42、表示部43、ROM44、RAM45、記憶装置46およびステレオカメラ300を主に備えて構成されている。
<(2−1)ステレオカメラ300の構成と動作>
図3に示されるように、ステレオカメラ300(「撮像系」とも称される)は、第1カメラ61と第2カメラ62とを主に備えて構成されている。また、第1カメラ61および第2カメラ62は、それぞれ、不図示の撮影光学系と、所定の画素数の撮像素子を有する制御処理回路とを主に備えて構成されている。該撮像素子は、例えば、3456×2592画素サイズなどの有効画素数を持つCCDイメージセンサやCMOSイメージセンサなどによって構成された撮像素子である。該撮像素子は、撮像素子に結像された光像の強度に応じた画像信号を生成して制御処理回路に供給する。該制御処理回路は、供給された画像信号を処理することによって、撮像素子の有効画素数に応じた画素サイズのデジタル画像を生成する。
ステレオカメラ300の各種動作は、CPU11Aから入出力部41およびデータ線DLを介して供給される制御信号に基づいて制御される。ステレオカメラ300は、被写体からの光線情報を第1カメラ61と第2カメラ62とで同期して処理することによって、被写体のステレオ画像を構成する第1画像21および第2画像22を生成する。第1画像21および第2画像22は、互いに異なる視点から被写体がそれぞれ撮影された画像であり、入力立体画像23を構成する。生成された第1画像21および第2画像22は、データ線DLを介して入出力部41へと供給される。
第1カメラ61と第2カメラ62とのそれぞれの撮影光学系は、互いに所定の基線長bを隔てて設けられている。各撮影光学系の光軸は互いに平行であり、焦点距離frは互いに等しい。また、各撮影光学系における主点などの光学中心は、各光軸のそれぞれに垂直な同一平面上にある。さらに、それぞれの撮影光学系の撮像素子もまた、各光軸のそれぞれに垂直な同一平面上にある。第1画像21および第2画像22の相互間での対応点探索処理が容易に行えるように、各撮像素子は、それぞれの走査線が互いに平行になるように設置されている。
実際の構成においては、通常、上述した構成条件に対して誤差があるが、第1カメラ61および第2カメラ62からそれぞれ供給される第1画像21および第2画像22に対して、CPU11Aがカメラパラメータなどを用いた処理(「平行化処理」とも称される)を行うことによってステレオカメラ300の各機能要素が上述した構成条件を満たす場合と同等の状態が実現される。
平行化処理が行われた場合には、各カメラの撮影光学系の主平面と被写体との距離Dは、視差d、焦点距離fr、および基線長bを用いて(1)式によって与えられる。視差dは、後述するように、第1画像21および第2画像22に基づいて取得される。
(1)式に示されるように、視差は、被写体上の点のステレオカメラ300からの距離に関する指標値となっている。
なお、第1画像21と第2画像22とのそれぞれの撮影時におけるステレオカメラ300に対する被写体の位置関係が同じであれば、第1画像21と第2画像22とは、同時刻に撮影されていなくても良い。また、ステレオカメラ300は、第1カメラ61と第2カメラ62との同期をとりつつ被写体を時間順次に連続的に撮影することによって、複数の第1画像21(「第1の時系列画像群」とも称される)および複数の第2画像22(「第2の時系列画像群」とも称される)を生成することもできる。そして、第1の時系列画像群と、第2の時系列画像群とは、「時系列立体画像群」を構成する。この場合、該複数の第1画像21のうち1つの第1画像21は、第1の時系列画像群の要素画像であり、該1つの第1画像21と同期して撮影された1つの第2画像22は、第2の時系列画像群の要素画像となる。
また、ステレオカメラ300が、オートフォーカス機能を有しているとしても、有してないとしても本発明の有用性を損なうものではない。ステレオカメラ300がオートフォーカス機能を有している場合には、ステレオカメラ300は、合焦時のレンズ繰り出し量などに基づいて、ステレオカメラ300に対する被写体の距離を取得できる。
<(2−2)情報処理装置100Aの構成(ステレオカメラ300以外)>
○入出力部41:
図3に示されるように、入出力部41は、例えば、ステレオカメラ300と電気的に接続されたデータ線DLと、信号線49とを電気的に接続するコネクタなどによって構成され、ステレオカメラ300とCPU11Aなどとの間でデータの授受を行うものである。具体的には、入出力部41は、例えば、CPU11Aがステレオカメラ300を制御するための各種の制御信号を、データ線DLなどを介して入出力部41に接続されたステレオカメラ300へと供給する。
また、入出力部41は、ステレオカメラ300が撮影した第1画像21および第2画像22をRAM45およびCPU11Aなどへとそれぞれ供給する。なお、入出力部41は、USBインタフェースなどの外部機器用のインタフェースもまた備えている。このため、情報処理装置100Aは、予め撮影されてコンピューターなどの外部機器に記憶された第1画像21および第2画像22を入出力部41を介して取得することもできる。
○操作部42:
操作部42は、例えば、筐体200Bのおもて面に設けられた各種の操作ボタンなどによって構成されており、操作者が操作部42を操作することによって、該操作に対応した操作信号52が操作部42からCPU11Aへと供給される。CPU11Aは、供給された操作信号52に基づいて情報処理装置100Aの各種制御パラメータおよび各種動作モードの設定などを行う。また、情報処理装置100Aの各機能部は、操作部42を介して設定された各動作モードに応じた処理を行う。
○表示部43:
表示部43は、例えば、パララックスバリア方式などの3次元表示方式に対応した3次元表示用の液晶表示画面などによって構成される。また、表示部43は、左目用画像27と右目用画像28とによって構成される出力立体画像29を表示部43における3次元表示方式に対応した画像形式に変換する不図示の画像処理部を備えている。表示部43は、該画像処理部によって必要な変換処理が施された該立体画像をその表示画面に表示する。
表示部43における3次元表示方式として、例えば、左目用画像および右目用画像を交互に高速で切り替えて表示部43に表示するとともに、該切り替えに同期して、左目および右目にそれぞれ対応した各シャッター部を交互に開閉可能な専用めがねを介して表示部43に表示された立体画像が観察される三次元表示方式が採用されてもよい。なお、表示部43は、ステレオカメラ300から供給される第1画像21、第2画像22、および情報処理装置100Aに関する各種設定情報など、および制御用GUI(Graphical User Interface)などを、二次元の画像や文字情報として観察者に視認され得るように表示することもできる。
○ROM44:
ROM(Read Only Memory)44は、読出し専用メモリであり、CPU11Aを動作させるプログラムPG1などを格納している。なお、読み書き自在の不揮発性メモリ(例えば、フラッシュメモリ)が、ROM44に代えて使用されてもよい。
○RAM45:
RAM(Random Access Memory)45は、読み書き自在の揮発性メモリである。RAM45は、ステレオカメラ300が撮影した各種画像、情報処理装置100Aが生成した出力立体画像29などを一時的に記憶する画像格納部として機能する。また、RAM45は、CPU11Aの処理情報を一時的に記憶するワークメモリなどとしても機能する。なお、後述するCPU11Aにおける各機能部の間での画像(画像データ)等の授受は、RAM45を介して行なわれる。
○記憶装置46:
記憶装置46は、例えば、フラッシュメモリなどの読み書き自在な不揮発性メモリや小型のハードディスク装置等によって構成されており、情報処理装置100Aの各種制御パラメータや各種動作モードなどの情報を恒久的に記録する。また、記憶装置46には、情報処理装置100Aが生成した出力立体画像29、操作部42などを介して設定された立体画像29の表示観察条件なども恒久的に記憶される。
○CPU11A:
CPU(Central Processing Unit)11Aは、情報処理装置100Aの各機能部を統轄制御する制御処理装置であり、ROM44に格納されたプログラムPG1に従った制御および処理を実行する。CPU11Aは、図4を用いて後述するように、第1取得部12、第2取得部13、第3取得部14、第4取得部15、および生成部16としても機能する。
CPU11Aは、これらの各機能部などによって、ステレオカメラ300によって撮影された被写体の第1画像21および第2画像22から、被写体についての出力立体画像29を構成する左目用画像27および右目用画像28を生成する。出力立体画像29の生成に際して、CPU11Aは、被写体を撮影したステレオカメラ300から被写体の各点までの距離である被写体距離にそれぞれ対応した各距離情報を取得する。
そして、CPU11Aは、第1画像21と第2画像22との双方を用いて出力立体画像29を生成する第1生成処理と、第1画像21と第2画像22とのうちの何れか一方を用いて出力立体画像29を生成する第2生成処理とを、取得した各距離情報に応じて選択的に行うことにより、出力立体画像29を生成する。CPU11Aは、ステレオカメラ300の撮像動作の制御を行うとともに、表示部43を制御して、各種画像、算出結果、および各種制御情報などを表示部43に表示させる。
また、CPU11A、入出力部41、操作部42、表示部43、ROM44、RAM45、記憶装置46等のそれぞれは、信号線49を介して電気的に接続されている。したがって、CPU11Aは、例えば、入出力部41を介したステレオカメラ300の制御およびステレオカメラ300からの画像情報の取得、および表示部43への表示等を所定のタイミングで実行できる。なお、図4に示される構成例では、第1取得部12、第2取得部13、第3取得部14、第4取得部15、および生成部16などの各機能部は、CPU11Aで所定のプログラムを実行することによって実現されているが、これらの各機能部はそれぞれ、例えば、専用のハードウェア回路などによって実現されてもよい。
<(2−3)画像処理装置100Aの要部の機能構成について>
図4は、実施形態に係る画像処理装置100Aの主な機能構成を例示するブロック図である。
○第1取得部12:
図4に示される第1取得手段の一例である第1取得部12は、互いに異なる視点から被写体がそれぞれ撮影された第1画像と第2画像とを入出力部41を介して取得する。取得された第1画像21および第2画像22は、第2取得部13、および生成部16へと供給される。
○第2取得部13:
第2取得手段の一例である第2取得部13は、第1画像21および第2画像22に対して対応点探索処理を施すことなどにより、第1画像21と第2画像22との間での各視差を、ステレオカメラ300から被写体の各点までの距離(「被写体距離」)にそれぞれ対応した各距離情報31として取得する。
第2取得部13は、NCC(Normalized Cross Correlation)法、SAD(Sum of Absolute Difference)法、またはPOC(Phase Only Correlation)法などの相関演算手法を用いたパターンマッチング処理により該対応点探索処理を行う。より詳細には、第2取得部13は、第1画像21と第2画像22との間で互いに対応づけられる各領域を該パターンマッチング処理によって特定し、特定した各領域の代表点を、第1画像21と第2画像22との間で互いに対応する画素の組みとして特定する。
該対応点探索処理が行われた結果、第1画像21における各注目画素と、該各注目画素にそれぞれ対応した第2画像22における各対応画素とが特定される。そして、第2取得部13は、注目画素と対応画素との組合せ毎に、第1画像21における注目画素のX座標XLと、第2画像22における対応画素のX座標XRとから(2)式を用いて視差dを算出し、算出した各視差を各距離情報31として取得する。
また、第2取得部13は、動作モードに応じて、ステレオカメラ300のオートフォーカス機能によって得られる被写体距離情報、または他の三次元測定機などによって被写体が測定された情報を入出力部41を介して取得し、該情報に基づいてステレオカメラ300から被写体の各点までの被写体距離を各距離情報31として取得することもできる。なお、本願においては、視差と距離との総称として「距離情報」という用語を使用する。取得された各距離情報31は、第3取得部14、第4取得部15、および生成部16へと供給される。
○第3取得部14:
第3取得手段の一例である第3取得部14は、立体画像の表示観察条件を記憶装置46から読出して後述する適正視差範囲32(図4)を算出する。また、第3取得部14は、取得した表示観察条件および適正視差範囲32などに基づいて、出力立体画像29の目標視差範囲W2(図4)を、目標視差範囲W2が適正視差範囲32(図4)の範囲内となるように設定する。適正視差範囲32と目標視差範囲W2とは、第4取得部15、生成部16、および記憶装置46へと供給される。
○第4取得部15:
第4取得手段の一例である第4取得部15は、供給された各距離情報31、適正視差範囲32(目標視差範囲W2)とに基づいて、各距離情報31の統計的な分布状態に関する基準値TH1(図4)を設定する。基準値TH1は、生成部16および記憶装置46に供給され、生成部16において第1生成処理と第2生成処理との何れか一方の生成処理の選択に用いられる。
○生成部16:
生成手段の一例である生成部16は、第1画像21と第2画像22との双方を用いて出力立体画像29を生成する第1生成処理と、第1画像21と第2画像22とのうちの何れか一方を用いて出力立体画像29を生成する第2生成処理とを、取得した各距離情報に応じて選択的に行うことにより、出力立体画像29を生成する。なお、生成部16は、各距離情報31の統計的な分布状態、例えば、各距離情報31の統計的な分布幅である原視差範囲W1(図27)と基準値TH1との関係を判定条件として第1生成処理と第2生成処理との選択を切り替える。
図27は、視差の統計的な分布状態である原視差範囲W1の一例を示す図である。図27に示されるように、生成部16は、第2取得部13から供給された各距離情報31についてのヒストグラムを作成している。該ヒストグラムの横軸には、区分けされた視差(距離情報)が変数として示され、縦軸には、区分けされた視差の各区間に属する画素の度数(個数)が示されている。
生成部16は、例えば、度数分布の所定範囲(例えば、上位5%および下位5%以外)に入る各画素に対応した視差(距離情報)の分布幅を原視差範囲W1として採用する。なお、該上位5%および下位5%に入る画素の除去は、基準画像21と参照画像22との間での対応点探索の誤りに起因して、取得された距離情報が実際の距離情報とは大きく異なっている画素を除くために行われる。また、例えば、各距離情報31のうち最大値に相当する視差と最小値に相当する視差との差を求めることによって、原視差範囲W1を算出してもよい。
また、生成部16は、動作モードに応じて、入力立体画像23に撮影された近景被写体像の視差などの各距離情報31の代表値を各距離情報31の統計的な分布幅として第1生成処理と第2生成処理との選択を行うこともできる。生成された出力立体画像29は、目標視差範囲W2の範囲内の視差分布を有しており、表示部43に表示される。
また、生成部16は、設定された動作モードに応じて、後述する繰り返し部17、接続部18、および不能化部19(それぞれ図4)としても機能する。
画像処理装置100Aによれば、第1生成処理と第2生成処理とのうちステレオカメラ300から被写体の各点までの距離にそれぞれ対応した各距離情報31に応じて選択される一方の生成処理が行なわれて、被写体の出力立体画像29が生成される。すなわち、画像処理装置100Aによれば、第1画像21と第2画像22との双方を用いて出力立体画像29を生成する第1生成処理と、第1画像21と第2画像22とのうちの何れか一方を用いて出力立体画像29を生成する第2生成処理とが、撮像系から被写体の各点までの距離にそれぞれ対応した各距離情報に応じて選択的に行われて、該被写体の出力立体画像29が生成される。従って、撮影される被写体の距離に関わらず観察者が違和感を覚えることなく立体視可能な立体画像が生成される可能性が高められ得る。
<(3)立体画像について>
<(3−1)立体画像および立体画像の視差について>
次に、立体画像と、立体画像の視差とについて説明する。立体画像(ステレオ画像)を構成する左目用画像と右目用画像とは、物体の同一部分に対応した画素の位置が互いに左右方向(図7、図8のX軸方向)にずれている関係を有している。本願においては、左眼用画像と右眼用画像との間における物体の同一部分を捉えた画素の位置のずれ量は「視差」と称される。
より詳細には、視差は、物体の同一部分にそれぞれ対応した左目用画像における注目画素と右目用画像における対応画素とにおいて、左目用画像の画像空間における注目画素の位置(X座標)から右目用画像の画像空間における対応画素の位置(X座標)が、例えば、(2)式によって減算された減算結果として求められる。なお、本願において視差の値の符号(正、負)を用いた説明がされる場合には、視差が(2)式によって算出されているとの前提で説明がされている。
立体画像が表示部43の表示画面に表示された場合、視差の値が正であれば、左目用画像における注目画素および右目用画像における対応画素に対応した物体の同一部分は、表示画面よりも近方に観察される。また、視差の値が零であれば、該同一部分は、表示画面と同じ位置に観察される。また、視差の値が負であれば、該同一部分は、表示画面よりも遠方に観察される。
図7は、第1カメラ61によって取得された入力立体画像23を構成する第1画像(「左画像」とも称される)21と、第2カメラ62によって取得された第2画像(「右画像」とも称される)22との一例を示す模式図である。なお、第1カメラ61と第2カメラ62とは、互いに水平方向に所定の基線長bを隔てて配置されている。第1画像21と第2画像22とは、入力立体画像23を構成している。
図7において、第1画像21と、第2画像22とには、ステレオカメラ300に対して+Z方向に位置する同一の近側被写体についての近景被写体像66cおよび66dがそれぞれ撮影されている。また、第1画像21と、第2画像22とには、ステレオカメラ300に対して+Z方向に該近側被写体より遠方にある同一の遠側被写体についての遠景被写体像67cおよび67dがそれぞれ撮影されている。図7と後述する図8とにおいては、説明を容易にするために、各被写体像のそれぞれにおける各特徴部のエッジ(輪郭)のみが表示されている。
また、近景被写体像66c上の画素68cおよび近景被写体像66d上の画素68dは、近側被写体の同一の点にそれぞれ対応した画素であり、遠景被写体像67c上の画素69cおよび遠景被写体像67d上の画素69dは、遠側被写体の同一の点にそれぞれ対応した画素である。また、視差9aは、画素68cと画素68dとについての正の視差であり、視差9bは、画素69cと画素69dとについての正の視差である。なお、図7においては、第1画像21と第2画像22とは、視差の把握を容易にするため該両画像の左端(右端)のX座標が等しくなるように図7のY軸方向に並べて表示されている。また、後述する図8においても同様に表示されている。
図7に示されるように、視差9aおよび視差9bは、水平方向(X軸方向)に生じている。また、ステレオカメラ300に対する近側被写体と遠側被写体とのそれぞれの距離の差異に起因して視差9aと視差9bとは異なった値となっている。より詳細には、近側被写体に対応した視差9aの方が遠側被写体に対応した視差9bよりも視差の大きさが大きくなっている。このように視差の大きさは、画像上の画素に対応した被写体上の点のステレオカメラ300からの距離に応じて変動する。また、ステレオカメラ300によって撮影された入力立体画像23を構成する第1画像21と第2画像22との視差の値は、(1)式にも示されるように、0以上の値となる。被写体がステレオカメラ300に対して無限遠に位置するときに、視差は0となり、被写体がステレオカメラ300に近づけば近づくほど、視差の値は大きくなる。
図8は、第1画像21および第2画像22(図7)から生成された左目用画像27および右目用画像28の一例を示す模式図である。左目用画像27と右目用画像28とは出力立体画像29を構成している。左目用画像27および右目用画像28は、CPU11Aが第1画像21および第2画像22の間での視差の値を調整することによって生成されている。
図8において、近景被写体像66e、66fは、図7の第1画像21および第2画像22にそれぞれ撮影された近側被写体に対応した画像である。同様に、遠景被写体像67eおよび67fは、第1画像21および第2画像22にそれぞれ撮影された遠側被写体に対応した画像である。画素68eおよび68fは、画素68cおよび68d(図7)がそれぞれ対応した近側被写体上の同一の点にそれぞれ対応した画素である。画素69eと69fは、画素69cおよび69d(図7)がそれぞれ対応した遠側被写体上の同一の点にそれぞれ対応した画素である。従って、画素68eおよび68fの間での視差9cは、視差9a(図7)に対応した視差であり、画素69eおよび69fの間での視差9dは、視差9b(図7)に対応した視差である。
図7、図8に示されるように、生成部16によって視差9cは、対応する視差9aよりも小さくなるように調整されており、視差9dも、対応する視差9bよりも小さくなるように調整されている。このように、CPU11Aは、表示部43に表示された左目用画像27および右目用画像28の観察者が、二重像などを観察することなく、左目用画像27と右目用画像28とを融合させて立体像を快適に認識できるようにするために、入力立体画像23における視差の調整を行って出力立体画像29を生成する。
<(3−2)立体画像の適正視差範囲について>
図16および図17は、立体画像の適正視差範囲について説明するための図である。左目用画像の注目点3と、注目点3に対応した右目用画像の対応点4とは、表示部43の表示画面にそれぞれ表示されている。立体画像の観察者は、表示部43から観察距離Sdを隔てたところから該立体画像を観察する。観察者の左目1と右目2とは、瞳孔間隔IODを隔てており、注目点3は左目1によって観察され、対応点4は右目2によって観察される。図16における注目点3と対応点4との視差dPは正の値を有し、図17における注目点3と対応点4との視差dMは負の値を有している。
中点5は、注目点3と対応点4との中点である。飛び出し側の立体像の位置6(図16)は、図16における注目点3および対応点4を観察者が観察したときに、観察者に認識される立体像の位置である。位置6は、表示部43に対して観察者側に長さS1飛び出している。また、引っ込み側の立体像の位置7は、図17における注目点3および対応点4を観察者が観察したときに、観察者に認識される立体像の位置である。位置7は、表示部43に対して観察者の反対側に長さS2引っ込んでいる。
図16において、観察者が中点5を見たときの両眼の視線の輻輳角θ2と、観察者が表示画面に表示された立体画像に係る立体を位置6に認識したときの輻輳角θ1との差の絶対値は、「視差角」とも称される。同様に、図17における視差角は、観察者が中点5を見たときの両眼の視線の輻輳角θ2と、観察者が表示画面に表示された立体画像に係る立体を位置7に認識したときの輻輳角θ3との差の絶対値となる。
一般に、視差角が1度以内であれば、観察者は、表示画面に焦点を合わせつつ表示画面の前後(表示画面よりも近方または遠方)に立体画像に係る立体を快適に認識することができる。本願において、視差角が1度となる視差dP(図16)は、「近側限界視差」LdPとも称され、視差角が1度となる視差dM(図17)は、「遠側限界視差」LdMとも称される。
1度以内の視差角に相当する立体画像の視差範囲、すなわち、近側限界視差LdPから遠側限界視差LdMにわたる視差範囲は、「適正視差範囲」32(図4)とも称される。適正視差範囲32は、表示画面のサイズ、観察者と表示画面との距離、および表示画面に表示される立体画像の画素数などの画像の表示観察条件に基づいて決定される。近側限界視差LdPと遠側限界視差LdMとは、正負が反転するものの、それぞれの大きさは、ほぼ等しくなる。
例えば、瞳孔間隔IODが65mm、観察距離Sdが400mmであり、水平1980画素×垂直1080画素のハイビジョン画像が、画面高さが観察距離Sdの1/3になる表示画面に表示された場合には、近側限界視差LdPの値は、ほぼ+57画素であり、遠側限界視差LdMの値は、ほぼ−57画素となる。この場合、適正視差範囲32は−57〜+57画素にわたり、その幅は、約114画素となる。
<(4)画像処理装置100Aにおける出力立体画像の生成処理について>
第1画像21と第2画像22との各点における視差の分布が、適正視差範囲32に入っている場合には、入力立体画像23である第1画像21および第2画像22をそのまま、出力立体画像29である左目用画像27および右目用画像28として、表示部43に表示すれば、出力立体画像29の観察者は、立体像が二重に見えるなどの不快感を覚えることなく快適に立体像を認識できる。
しかしながら、第1画像21と第2画像22との視差の分布幅が、適正視差範囲32よりも大きい場合には、立体画像の観察者は、二重像などの認識による不快感を覚えるこことなる。このため、出力立体画像29の生成においては、入力立体画像23における各視差の値に関わらず、出力立体画像29における各視差が適正視差範囲32に入るように視差の調整が行われる必要がある。
一方、入力立体画像23から出力立体画像29が生成される過程で、画素値が設定されない空白部分(「オクルージョン領域」とも称される)が生じた場合には、一般に、オクルージョン領域の周囲の画素の画素値に基づいた画素値の補間処理などが行われるが、補正のできるオクルージョン領域の大きさには限度がある。
オクルージョン領域の大きさが該限度を超えた場合には、補間処理が施されたオクルージョン領域には、同じ画素値の領域が長く続いたり、縦線が歪むなどの不自然な画像の歪みが生ずる場合があり、観察者は違和感を覚えることとなる。このため、出力立体画像29の生成においては、入力立体画像23における各視差の値に関わらず、出力立体画像29の生成過程で生ずるオクルージョン領域の大きさが、補正可能な限度内に抑制される必要もある。
そこで、画像処理装置100A(より厳密には、図4の生成部16)は、第1画像21と第2画像22とのそれぞれを処理対象とした第1生成処理と、第1画像21と第2画像22との何れか一方を処理対象とした第2生成処理とのうち、一方の生成処理を選択して行うことにより、出力立体画像29を生成する。すなわち、画像処理装置100A(生成部16)は、第1画像21と第2画像22との双方を用いて出力立体画像29を生成する第1生成処理と、第1画像21と第2画像22とのうちの何れか一方を用いて出力立体画像29を生成する第2生成処理とを、取得した各距離情報に応じて選択的に行うことにより、出力立体画像29を生成する。
生成処理の選択は、被写体を撮影した撮像系であるステレオカメラ300から被写体の各点までの距離(「被写体距離」とも称される)にそれぞれ対応した各距離情報に応じて行われる。該各距離情報としては、実測に基づくステレオカメラ300から被写体の各点までの距離、または第2取得部13が対応点探索処理などにより取得した第1画像21と第2画像22との間での各視差などが採用される。
<(4−1)第1生成処理>
第1生成処理において、画像処理装置100Aは、入力立体画像23の各部の視差の値に応じて、調整後の視差の分布が適正視差範囲32に入るように視差を調整する。図5は、第1生成処理における入力立体画像23と、出力立体画像29との対応関係を説明するための図である。図5に示されるように、画像処理装置100Aは、第1画像21と第2画像22とのそれぞれを処理対象、すなわちソース画像として出力立体画像29を生成する。具体的には、画像処理装置100Aは、第1画像21に対する画素ずらし処理などによって第1画像21から派生した左目用画像27を生成し、第2画像22に対する画素ずらし処理などによって第2画像22から派生した右目用画像28を生成する。
具体的には、画像処理装置100Aは、先ず、出力立体画像29の視差の分布幅(「目標視差範囲」とも称される)W2を、適正視差範囲32の範囲に入るように設定する。そして、画像処理装置100Aは、入力立体画像23の各視差d1に対して(3)式、(4)式を用いて、各視差の分布幅の圧縮処理と、視差の分布の平行移動処理とを行う視差調整を行い、出力立体画像29における各視差d2を求める。
図9は、入力立体画像23の視差d1から生成された出力立体画像29の視差d2の一例を示す図である。図9において座標XaLは、第1画像(左画像)21における注目画素のX座標であり、座標XaRは、該注目画素に対応した第2画像(右画像)22における対応画素のX座標である。図9においては、4組みの注目画素と対応画素とに対して、視差d1の演算結果が示されている。
第1行目における視差d1(=20)が入力立体画像23の視差の最小値d1minであり、第4行目における視差d1(=80)が入力立体画像23の視差の最大値である。従って、(3)、(4)式における入力立体画像23の視差の分布範囲(「原視差範囲」とも称される)W1の分布幅は値60である。ここで、出力立体画像29の視差の分布幅、すなわち目標視差範囲W2の幅を30と設定し、出力立体画像29の視差の最小値d2minとして−10を設定すると、(3)、(4)式から、図9の各行の視差d2が得られる。
次に、画像処理装置100Aは、生成された出力立体画像29における各視差d2に基づいて、第1画像21と第2画像22とをそれぞれ画素ずらし処理を用いて変形することによって左目用画像27と右目用画像28とを生成する。画像処理装置100Aは、(5)、(6)式を用いて左目用画像27の画素に対する画素ずらし値ZLと、右目用画像28の画素に対する画素ずらし値ZRとを算出する。
次に、画像処理装置100Aは、(7)、(8)式を用いて左目用画像27の画素のX座標である座標XbLと、右目用画像28の画素のX座標である座標XbRとを算出する。
図10は、第1生成処理により生成される出力立体画像29において互いに対応する各画素のX座標である座標XbL、XbRの一例を示す図である。図10では、図9に示された座標XaL、XaR、視差d1、d2に対して(5)式〜(8)式によって、画素ずらし値ZL、ZR、座標XbL、XbRがそれぞれ求められている。画素ずらしの分担率rL、rRは必要に応じて適宜決定されればよいが、ここでは、rL=rR=0.5としている。また、図10の第5列目に示された視差dは、算出された座標XbL、XbRから(2)式によって求められた視差である。図10に示されるように、視差dは、図9における視差d2と一致している。
次に、画素ずらしによって、入力立体画像23から出力立体画像29の全体を作成する手順について、左目用画像27の生成を例として説明する。画素ずらしは、ソース画像の画素値を画素単位で空間的にシフトさせる処理でもある。
図12は、ソース画像(第1画像21)の上端(−Y方向端)の水平走査方向(X軸方向)の1ライン分の部分画像58aの一部の各画素7a〜7jと、ソース画像に対応した左目用画像27の上端(−Y方向端)の水平走査方向の1ライン分の部分画像58bの一部の各画素8a〜8jとの対応関係の一例を示す図である。また、部分画像58aと部分画像58bとは、被写体の同一部分にそれぞれ対応している。なお、該対応関係の把握を容易にするために、各画素7a〜7jと、各画素8a〜8jとは、画素値に応じた濃淡によって画素毎に区分されて表示されている。
図13は、ソース画像(第1画像21)の部分画像58a(図12)の各画素7a〜7jの画素座標および画素ずらし値と、出力立体画像29の左目用画像27の部分画像58b(図12)の各画素8a〜8jの画素座標との対応関係の一例を示す図である。図13の第1行目と第5行目には、部分画像58aの各画素7a〜7jをそれぞれ特定する画素番号と、部分画像58bの各画素8a〜8jをそれぞれ特定する画素番号とが示されている。また、図13の第2行目には、各画素7a〜7jのX座標が第1行目に示された画素番号に対応づけられて示されている。また、図13の第3行目には各画素7a〜7jに対応した画素ずらし値が第1行目に示された画素番号に対応づけられて示されている。
なお、本願においては、画像空間における空間的な変形を施されることにより被写体の立体視画像29を構成する画像として用いられる画像の名称として「ソース画像」という用語が適宜使用される。
図31は、情報処理装置100Aが画素ずらしによって出力立体画像29を生成する動作フローS10の一例を示す図である。図31の動作フローS10の処理が開始されると、ソース画像(第1画像21)の上端(−Y方向端)における水平走査方向(X軸方向)の1ライン分の部分画像58a(図12)が選択される(ステップS20)。
図31のステップS20において、ソース画像の1ライン分の部分画像58aが選択されると、選択された部分画像58aの各画素について、左目用画像27において対応する画素、すなわち部分画像58bの各画素8a〜8jの水平走査方向(X軸方向)の画素座標(X座標)が取得される(ステップS30)。
既述したように部分画像58bの各画素のX座標は、(5)式によって算出される画素ずらし値を用いて(7)式によって算出される。図13の第4行目には、(7)式によって算出された各画素8a〜8jのX座標がそれぞれ第5行目に示された各画素番号に対応づけられて示されている。
左目用画像27の水平方向の1ライン分の部分画像58bにおける各画素の画素座標が取得されると、次に、部分画像58bの各画素の画素値がそれぞれ取得される。すなわち、1ライン分の部分画像58bの画像が生成される(ステップS40)。次に、ステップS40における処理を、図12に示された部分画像58aの各画素7a〜7jと、部分画像58bの各画素8a〜8jを例として説明する。
図13の第4行目に示された各画素8a〜8jのX座標によれば、部分画像58aの各画素7a、7b、7c、7d、7e、7f、7g、7h、7i、7jは、部分画像58bの各画素8a、8b、8b、8c、8d、8d、8e、8g、8i、8jにそれぞれ対応している。すなわち、各画素8a〜8jには、各画素7a〜7jのうち1つの画素が対応している第1種の画素、2つの画素が対応している第2種の画素、および各画素7a〜7jの何れの画素も対応していない第3種の画素の3種類の画素が存在している。
図31のステップS40の処理においては、該第1種の画素の画素値として、該画素に対応する部分画像58aの画素の画素値が採用され、また、該第2種の画素の画素値として、該画素に対応する部分画像58aの2つの画素の画素値の代表値、例えば、平均値が採用される。また、該第3種の画素は、部分画像58aにおける対応画素が存在しないために画素値が設定されない画素となる。
なお、該第3種の画素が複数連続した領域は、オクルージョン領域である。このため、該第3種の画素の画素値としては、例えば、部分画像58aとの対応関係に基づいて画素値が取得された部分画像58bの画素のうち該第3種の画素に最も空間的に近い画素の画素値などが採用される。すなわち、オクルージョン領域の画素値は、オクルージョン領域の周囲の領域における画素の画素値を用いた補間処理などによって設定される。このように、部分画像58bの画像は、部分画像58bの各画素についてそれぞれ特定された画素座標(X座標)と、画素値とによって特定される。
ステップS40の処理が終了すると、ソース画像の水平方向(X軸方向)の全てのラインについて、対応する左目用画像27の部分画像を生成する処理(ステップS30〜S40)が終了したか否かが確認される(ステップS50)。ステップS50での確認の結果、水平方向の全てのラインについて処理が終了していなければ、基準画像21のうち、処理されたラインの+Y方向の次のラインが新たな処理対象として選択されて(ステップS60)、処理はステップS30へと戻される。また、ステップS50での確認の結果、水平方向の全てのラインについて左目用画像27の部分画像を生成する処理が終了していれば、左目用画像27の生成処理は終了される。
なお、視差に基づいたソース画像の変形は、画素サイズを最小単位として行えばよい。従って、画素サイズ単位で視差が取得されれば立体視画像を取得できるが、例えば、視差を求めるための対応点探索を画素サイズ以下のサブピクセル単位で実施することにより視差をサブピクセル単位で取得したとしても、視差に基づいたソース画像の変形の際に、該変形量を画素単位で行えば立体視画像が取得できるので、本発明の有用性を損なうものではない。
なお、画素ずらし値を求める式と、立体視画像における画素のX座標を求める式とが図31を用いて上述した手順で用いた(5)および(7)式とは異なるものの、画素ずらしによって第1生成処理におけるソース画像(第2画像22)から右目用画像28を生成する処理、および後述する第2生成処理において画素ずらしによってソース画像から左目用画像27および右目用画像28を生成する処理についても、図31を用いて上述した手順によって実現される。
上述したように、第1生成処理は、各距離情報31の統計的な分布状態に応じて、出力立体画像29の各視差が目標視差範囲W2の範囲に含まれるように第1画像21と第2画像22との間での各視差を調整することによって出力立体画像29を生成する処理である。そして、画像処理装置100Aは、第1生成処理を行うことによって、入力立体画像23の各視差の値に関わらず、視差の分布が適正視差範囲32に含まれる出力立体画像29を生成することができる。
<(4−2)第2生成処理>
図6は、第2生成処理における入力立体画像23と出力立体画像29との対応関係を例示する図である。図6に示されるように、画像処理装置100Aは、第1画像21と第2画像22との何れか一方の画像(図6では、第1画像21)を処理対象、すなわちソース画像として、該一方の画像からそれぞれ派生した左目用画像27と右目用画像28とを画素ずらし処理などによって生成することにより出力立体画像29を生成する。なお、第1画像21と第2画像22とのどちらをソース画像とするかの選択は、例えば、観察者が操作部42を介して設定することなどによって行われる。
具体的には、画像処理装置100Aは、先ず、第1生成処理と同様に、(3)式、(4)式を用いて出力立体画像29における各視差d2を求める。
次に、画像処理装置100Aは、生成された出力立体画像29における各視差d2に基づいて、ソース画像(図6では、第1画像21)を画素ずらし処理を用いて変形することによって左目用画像27と右目用画像28とを生成する。画像処理装置100Aは、(9)、(10)式を用いて左目用画像27の画素に対する画素ずらし値ZLと、右目用画像28の画素に対する画素ずらし値ZRとを算出する。
次に、画像処理装置100Aは、(11)、(12)式を用いて左目用画像27の画素のX座標である座標XbLと、右目用画像28の画素のX座標である座標XbRとを算出する。
図11は、第1生成処理により生成される出力立体画像29において互いに対応する各画素のX座標である座標XbL、XbRの一例を示す図である。図11では、図9に示された座標XaL、XaR、視差d1、d2に対して(9)式〜(12)式によって、画素ずらし値ZL、ZR、座標XbL、XbRがそれぞれ求められている。ここで、画素ずらしの分担率rL、rRは共に0.5としている。
また、図11の第5列目に示された視差dは、算出された座標XbL、XbRから(2)式によって求められた視差である。図11に示される出力立体画像29の座標XbL、XbRは、図10に示された第1生成処理における座標XbL、XbRとは異なるが、視差dは、図10における視差d2と同様に、図9における視差d2に一致している。
<(4−3)出力立体画像29のオクルージョン領域>
図14は、第1生成処理によって生成された出力立体画像29に生ずるオクルージョン領域69e、69fの一例を示す図である。図15は、第2生成処理によって生成された出力立体画像29に生ずるオクルージョン領域69g、69hの一例を示す図である。
図14において、第1画像21における近景被写体像66cと、第2画像22における近景被写体像66dとは、入力立体画像23に撮影された被写体のうちステレオカメラ300に最も近い被写体70が撮影された画像である。また、第1画像21における遠景被写体像68cと、第2画像22における遠景被写体像68dとは、撮影された被写体のうちステレオカメラ300から最も遠い被写体71が撮影された画像である。同様に、図15において、第1画像21における近景被写体像66cは、被写体70が撮影された画像であり、遠景被写体像68cは、被写体71が撮影された画像である。
なお、図14、図15に関する説明においては、便宜上、ステレオカメラ300に対する被写体70の各部の距離は相互に等しく、また、被写体71の各部の距離も相互に等しいものとして説明がなされる。また、第1生成処理および第2生成処理のそれぞれにおける画素ずらし処理において、左目用画像27と右目用画像28とのそれぞれの画素ずらしの分担率rLとrR((5)、(6)式、(9)、(10)式)は、ともに等しく0.5である。
図14において、左目用画像27における近景被写体像66eと、右目用画像28における66fとは、近景被写体像66c、66dが第1生成処理における画素ずらし処理によってそれぞれ移動された画像である。同様に、遠景被写体像68e、遠景被写体像68fは、遠景被写体像68c、68dがそれぞれ移動された画像である。
オクルージョン領域69eは、被写体70と被写体71とのステレオカメラ300に対する距離の差異に起因して、近景被写体像66cと遠景被写体像68cとのそれぞれについての画素ずらし値ZL((5)式)に差異が生じたことにより発生している。また、オクルージョン領域69fは、該距離の差異に起因して、近景被写体像66dと遠景被写体像68dとのそれぞれについての画素ずらし値ZR((6)式)に差異が生じたことにより発生している。
図15において、左目用画像27における近景被写体像66eと、右目用画像28における66fとは、近景被写体像66cが第2生成処理における画素ずらし処理によって互いに異なる2方向のそれぞれに移動された画像である。また、遠景被写体像68eと、遠景被写体像68fとは、遠景被写体像68cが同様に異なる2方向のそれぞれに移動された画像である。
オクルージョン領域69gは、被写体70と被写体71とのステレオカメラ300に対する距離の差異に起因して、近景被写体像66cと遠景被写体像68cとのそれぞれについての画素ずらし値ZL((9)式)に差異が生じたことにより発生している。また、オクルージョン領域69hは、該距離の差異に起因して、近景被写体像66cと遠景被写体像68cとのそれぞれについての画素ずらし値ZR((10)式)に差異が生じたことにより発生している。
被写体70と被写体71とは、それぞれ、ステレオカメラ300に対してそれぞれ最も近い被写体と、最も遠い被写体である。従って、オクルージョン領域69e、69f(図14)は、出力立体画像29において第1生成処理により生じた最大サイズのオクルージョン領域である。また、オクルージョン領域69g、69h(図15)は、出力立体画像29において第2生成処理により生じた最大サイズのオクルージョン領域である。
第1生成処理の説明に関する図14において、入力立体画像23における近景被写体像66c(66d)と、遠景被写体像68c(68d)との境界を挟んで隣接する画素間での画素ずらし値ZL(ZR)の差ΔZ1は、(13)式によって求められる。また、該画素間のずれ、すなわち1画素は、画像のサイズに比べると非常に小さいので、オクルージョン領域69e、69fのX方向の幅WO1も(13)式によって求められるとみなせる。
同様に、第2生成処理の説明に関する図15において、入力立体画像23における近景被写体像66cと、遠景被写体像68cとの境界を挟んで隣接する画素間での画素ずらし値ZL(ZR)の差ΔZ2は、(14)式によって求められる。また、オクルージョン領域69g、69hのX方向の幅WO2も(14)式によって求められるとみなせる。
従って、第1生成処理において、出力立体画像29についての目標視差範囲W2((3)、(4)式)が一定であれば、入力立体画像23の原視差範囲W1((3)、(4)式)が大きくなればなるほど、オクルージョン領域69e(69f)の幅WO1も大きくなる。
一方、第2生成処理においては、出力立体画像29についての目標視差範囲W2が一定であれば、入力立体画像23の原視差範囲W1の値に関わらず、オクルージョン領域69g(69h)の幅WO2は一定の値となる。
ところで、第1および第2生成処理におけるオクルージョン領域の補正時に、補正後のオクルージョン領域に同じ画素値の領域が長く続いたり、縦線が歪むなどの不自然な画像の歪みが生じないためのオクルージョン領域の許容限界幅WOLimは、近側限界視差LdP(図16)の値Aを用いて(15)式で与えられる。従って、第1および第2生成処理におけるオクルージョン領域が補正可能となるためには、オクルージョン領域の幅WO1、WO2が(16)式を満たす必要がある。
既述したように、第2生成処理におけるオクルージョン領域の幅WO2は、目標視差範囲W2が一定であれば一定であるのに対して、第1生成処理におけるオクルージョン領域の幅WO1は、目標視差範囲W2が一定であっても原視差範囲W1の変動に応じて変動する。また、補正の容易性の観点からは、オクルージョン領域の幅WO1、WO2が小さければ小さいほど好ましい。
そこで、画像処理装置100Aの生成部16は、オクルージョン領域の幅WO1が(16)式を満たす範囲では、第1生成処理を選択的に行う。また、幅WO1が(16)式を満たさない範囲では、画像処理装置100Aは、オクルージョン領域の幅WO2が(16)式を満たすように目標視差範囲W2を制限しつつ第2生成処理を選択的に行う。
<(4−4)第1生成処理と第2生成処理との切り替えの基準値>
次に、第1生成処理におけるオクルージョン領域の幅WO1が(16)式を満たすための条件を説明する。オクルージョン領域の幅WO1に関する(13)、(15)式を(16)式に代入すると、原視差範囲W1と目標視差範囲W2とについて(17)式の関係が得られる。なお、左目用画像27と右目用画像28とのそれぞれの画素ずらしの分担率rLとrRがそれぞれ0.5であれば、(17)式は、(18)式となる。
従って、原視差範囲W1と目標視差範囲W2とが(17)式((18)式)を満たせば、第1生成処理によって生成された出力立体画像29に生ずるオクルージョン領域は、同じ画素値の領域が長く続いたり、縦線が歪むなどの不自然な画像の歪みを生ずることなく補正可能となる。また、(17)式、(18)式により、画素ずらしの分担率rLとrRが等しい場合に原視差範囲W1の上限が最も大きくなる。
そこで、次に、画像処理装置100Aが、原視差範囲W1が(18)式を満たす範囲で、第1生成処理を選択する処理について説明する。画像処理装置100Aでは、第3取得部14が、目標視差範囲W2を設定する。また、第4取得部15は、生成部16によって第1生成処理と第2生成処理との切り替えの判定に用いられる基準値TH1を設定する。
原視差範囲W1が(18)式を満たすためには、(19)式を満たす基準値TH1を用いて、原視差範囲W1が(20)式を満たすようにすればよい。従って、第4取得部15は、目標視差範囲W2の視差の分布幅と、近側限界視差LdPの大きさとの和以下の値となる基準値TH1を取得する。また、生成部16は、各距離情報31の統計的な分布幅である原視差範囲W1が基準値TH1よりも小さい場合には第1生成処理を選択し、原視差範囲W1が基準値TH1よりも大きい場合には第2生成処理を選択する。
ここで、出力立体画像29が二重像などを生ずることなく観察者によって観察されるためには、目標視差範囲W2が適正視差範囲32に含まれなければならない、すなわち、目標視差範囲W2は、近側限界視差LdP(図16)の値Aを用いた(21)式を満たす必要がある。なお、(21)式は、図16、図17を用いて説明したように、適正視差範囲32の幅が、該値Aのほぼ2倍であることに基づいた式である。
そして、目標視差範囲W2が(21)式を満たすためには、(19)、(20)式により、原視差範囲W1が(22)式を満たす必要がある。また、基準値TH1は、値3Aとなる。
図18〜図21は、それぞれ、入力立体画像23についての原視差範囲W1が(22)式を満たし、出力立体画像29についての目標視差範囲W2が(21)式を満たす場合において、原視差範囲W1と目標視差範囲W2との対応関係の一例を示す図である。
図18において、目標視差範囲W2は、値2Aの幅を有する適正視差範囲32に等しい。原視差範囲W1における視差の分布幅は、値3Aであり、原視差範囲W1の最小の視差は、正の値を有している。従って、第3取得部14が目標視差範囲W2における視差の分布幅を値2Aに設定したときには、第4取得部15は、基準値TH1を値3Aに設定する。
図19において、目標視差範囲W2は、出力立体画像29の全域が表示部43に対して観察者側に飛び出して観察されるように、適正視差範囲32のうち視差が0以上の範囲に設定されている。原視差範囲W1における視差の分布幅は、値2Aであり、原視差範囲W1の最小の視差は、正の値を有している。そして、第3取得部14は、基準値TH1を値2Aに設定する。
図20において、目標視差範囲W2は、出力立体画像29の全域が表示部43に対して観察者と反対側に引っ込んで観察されるように、適正視差範囲32のうち視差が0以下の範囲に設定されている。原視差範囲W1における視差の分布幅は、値2Aであり、原視差範囲W1の最小の視差は、正の値を有している。そして、第3取得部14は、基準値TH1を値2Aに設定する。
図19〜図20に示される何れの例においても、生成部16は、原視差範囲W1、すなわちステレオカメラ300から被写体の各点までの被写体距離に対応した各距離情報31についての統計的な分布幅と、基準値TH1とを比較した結果、第1生成処理を選択して出力立体画像29を生成する。従って、例えば、無限遠を基準とした原視差範囲W1が判定条件に用いられる場合に比べて、より近い距離で撮影された近景被写体の画像を含む入力立体画像23から第1生成処理によって出力立体画像29が生成され得る。
上述した図18〜図20の例では、原視差範囲W1として各距離情報31の統計的な分布幅を用いた。一方、図21に示される例においては、生成部16は、各距離情報31の統計的な分布幅の代わりに各距離情報31(図4)の代表値を用いる。
より具体的には、目標視差範囲W2としては、適正視差範囲32の全部の範囲が採用されている。仮の原視差範囲W1Tとして、各距離情報の代表値の例である、無限遠の被写体に対応した値0の視差から最近接の被写体の距離情報に対応する視差の値までの範囲を設定する。なお、該代表値としては、該最近接の被写体の距離情報以外に、例えば、近景被写体の各部に対応した各距離情報の平均値などが採用されたとしても本発明の有用性を損なうものではない。
そして、生成部16は、最近接の被写体の距離情報に対応する視差の値と値0の視差との幅である仮の原視差範囲W1Tを、図19〜図20で説明した各例における原視差範囲W1として用いることによって、第1生成処理を選択する判定を行っている。なお、第4取得部15は、基準値TH1を値3Aに設定しており、生成部16は、生成処理の選択の結果、仮の原視差範囲W1Tが基準値TH1(=3A)以下の場合、第1生成処理を選択的に行うことにより出力立体画像29を生成している。
図21の例に示されるように、各距離情報31の代表値である無限遠の被写体から最近接の被写体までの範囲の距離情報が、各距離情報31の統計的な分布幅として用いられれば、各距離情報31の統計的な分布幅が実際に統計処理によって取得される場合に比べて、より簡単な処理によって出力立体画像29の生成に用いられる生成処理が選択され得る。
なお、基準値TH1として、例えば、目標視差範囲W2と近側限界視差LdPの値Aとを用いた(23)式に示される基準値TH1が採用されたとしても本発明の有用性を損なうものではない。この場合、原視差範囲W1が、目標視差範囲W2から基準値TH1までの範囲であれば、第1生成処理が生成部16によって選択される。従って、目標視差範囲W2以下の基準値TH1が採用される場合に比べて、より大きな視差分布を有する原視差範囲W1を有する入力立体画像23に対しても第1生成処理が選択され得る。
<(5)画像処理装置100Aの動作説明>
<(5−1)出力立体画像29の生成処理>
以下に、画像処理装置100Aが行う出力立体画像29の生成動作について説明する。図28は、実施形態に係る画像処理装置画100Aが行う被写体の立体画像(出力立体画像29)の生成処理に係る動作フローS100を例示する図である。
動作フローS100の開始に先立って、先ず、操作者による操作部42を介した操作等に応じてステレオカメラ300が被写体を撮影する。該撮影動作によって、互いに異なる視点から被写体がそれぞれ撮影された第1画像21および第2画像22、すなわち入力立体画像23が取得されると、第1取得部12は、入出力部41を介して入力立体画像23を取得する(ステップS110:第1取得工程)。取得された入力立体画像23は、第2取得部13と生成部16とに供給される。
第2取得部13は、入力立体画像23を供給されると、第1画像21と第2画像22との間でパターンマッチング処理を行うことにより、第1画像21と第2画像22との間での各視差を各距離情報31として取得する(ステップS120:第2取得工程)。各距離情報31は、被写体を撮影したステレオカメラ300(撮像系)から被写体の各点までの被写体距離にそれぞれ対応している。
また、第2取得部13は、外部の三次元測定機などが予め測定した被写体の距離を各距離情報31として入出力部41を介して取得することもできるし、ステレオカメラ300のオートフォーカス機能によって得られる被写体距離情報を各距離情報31として取得することもできる。取得された各距離情報31は、生成部16などに供給される。
生成部16は、第1画像21と第2画像22との双方を用いて出力立体画像29(図4)を生成する第1生成処理と、第1画像21と第2画像22とのうちの何れか一方を用いて出力立体画像29を生成する第2生成処理とのうち一方の生成処理を選択する(ステップS130)。なお、生成部16は、第2取得部13から供給された各距離情報31に応じて出力立体画像29の生成に用いる生成処理を選択する。
用いられる生成処理が選択されると、生成部16は、第1画像21と第2画像22とのうち選択した一方の処理を行うことにより、入力立体画像23から被写体の立体画像(出力立体画像29)を生成し、動作フローS100を終了する。
<(5−2)出力立体画像29を生成する生成処理の選択について>
図29、図30は、実施形態に係る画像処理装置100Aが行う図28のステップS130の動作フローS130を例示する図である。
ステップS130が開始されると、第3取得部14は、記憶装置46に記憶された出力立体画像29の画像表示条件を読出し、出力立体画像29が立体視され得る視差の範囲に相当する適正視差範囲32を算出する(ステップS210)。適正視差範囲32は、1度以内の視差角に相当する出力立体画像29の視差の範囲である。また、第3取得部14は、適正視差範囲32に基づいて、適正視差範囲32の両端部の視差のうち対応する被写体距離がより短い方の視差である近側限界視差LdPを算出する。
適正視差範囲32を算出すると、第3取得部14は、生成される出力立体画像29の視差の範囲を規定した目標視差範囲W2を、目標視差範囲W2が適正視差範囲32の範囲内となるように算出する(ステップS220)。第3取得部14によって算出された適正視差範囲32および目標視差範囲W2は、第4取得部15、生成部16に供給されるとともに、記憶装置46にも供給されて記憶される。また、近側限界視差LdPは、第4取得部15に供給される。
目標視差範囲W2、近側限界視差LdPを供給されると、第4取得部15は、生成部16によって第1生成処理と第2生成処理とのうち一方の生成処理の選択に用いられる基準値TH1(図4)を設定する(ステップS230)。基準値TH1は、例えば、(19)式に基づいて目標視差範囲W2の視差の分布幅と、近側限界視差LdPの大きさとの和以下の値として取得される。基準値TH1は、生成部16に供給されて、各距離情報31の統計的な分布状態と比較されることにより出力立体画像29の生成に使用される生成処理の選択に用いられる。すなわち、基準値TH1は、各距離情報31の統計的な分布状態に関する基準値である。
各距離情報31、目標視差範囲W2、適正視差範囲32、および基準値TH1を供給されると、生成部16は、先ず、動作モードが、入力立体画像23の各視差(各距離情報31)の代表値を生成処理の選択に用いる動作モードに設定されている否かを判定する(ステップS240)。
該判定の結果、動作モードが該代表値を用いるモードに設定されていない場合には、生成部16は、入力立体画像23の各視差の分布範囲である原視差範囲W1を取得する。そして、生成部16は、原視差範囲W1の分布幅を、基準値TH1と比較される各距離情報31の統計的な分布幅として取得し(ステップS250)、処理をステップS280に移す。なお、例えば、入力立体画像23における各視差の最大値から最小値にわたる範囲の視差などが原視差範囲W1として取得される。
ステップS240での判定の結果、動作モードが該代表値を用いるモードに設定されている場合は、生成部16は、入力立体画像23における各視差の代表値を取得する(ステップS260)。該代表値としては、例えば、最近接の被写体の距離、すなわち入力立体画像23における視差の最大値と、無限遠の被写体、すなわち視差=0が採用される。該代表値が取得されると、生成部16は、取得した該代表値、すなわち視差の最大値と視差=0とを、入力立体画像23の各視差、すなわち基準値TH1と比較される各距離情報31の統計的な分布幅として設定し(ステップS270)、処理をステップS280に移す。
ステップS280において、生成部16は、各距離情報31の統計的な分布幅と、基準値TH1とを比較する。そして、生成部16は、該比較の結果、各距離情報31の統計的な分布幅が基準値TH1よりも小さいか否かを判定する(ステップS290)。
ステップS290での判定の結果、該分布幅が、基準値TH1よりも小さければ、生成部16は、第1生成処理と第2生成処理とのうち第1生成処理を選択し(ステップS300)、動作フローS130を終了して処理を図28のステップS140に移す。一方、ステップS290での判定の結果、該分布幅が、基準値TH1以上であれば、生成部16は、第1生成処理と第2生成処理とのうち第2生成処理を選択し(ステップS310)、動作フローS130を終了して処理を図28のステップS140に移す。
上述したように、動作フローS130において、生成部16は、各距離情報31の統計的な分布状態と、基準値TH1との関係を判定条件として第1生成処理と第2生成処理との選択を切り替える。また、ステップS140において、生成部16によって生成される出力立体画像29は、目標視差範囲W2の範囲内の視差の分布を有する立体画像となる。ステップS130および140は、生成工程として機能する。
なお、既述したように、ステレオカメラ300は、動作モードに応じて、第1カメラ61と第2カメラ62との同期をとりつつ被写体を時間順次に連続的に撮影することによって、複数の第1画像21(第1の時系列画像群)および複数の第2画像22(第2の時系列画像群)を生成することができる。そして、第1の時系列画像群と、第2の時系列画像群とは、時系列の入力立体画像群を構成している。該複数の第1画像21のうち1つの第1画像21は、第1の時系列画像群の要素画像であり、該1つの第1画像21と同期して撮影された1つの第2画像22は、第2の時系列画像群の要素画像となる。
第1の時系列画像群と、第2の時系列画像群とが取得される場合には、画像処理装置100Aは、設定された動作モードに応じて、時系列の出力立体画像群を生成する。時系列の出力立体画像群は、個々の入力立体画像23に対して画像処理装置100Aの各機能部が、動作フローS100を繰り返して行うことによって生成される。なお、繰り返し手段の一例であり、生成部16の有する機能部である繰り返し部17(図4)は、時系列の出力立体画像の生成において、第1生成処理と第2生成処理との選択判断を、各時系列の進行に伴って時間順次に繰り返して実行する。
<(5−3)被写体が相対的に移動している場合の基準値について>
次に、入力立体画像23に撮影された被写体がステレオカメラ300に対して相対的に移動している場合において、画像処理装置100A(生成部16)が、使用される生成処理の選択の際に、互いに異なる基準値TH1と基準値TH2とを選択的に用いる処理について説明する。
撮影される被写体(主要被写体)が、ステレオカメラ300に対して相対的に移動している場合には、通常、該主要被写体と、該主要被写体の背景被写体との間の距離も変動する。従って、入力立体画像23の各距離情報31の原視差範囲W1と、各距離情報31の代表値は、それぞれ時間的に変動する。
図25は、異なる基準値TH1とTH2との一例を示す図である。図25に示される曲線HR1は、時系列の入力立体画像群の各要素の入力立体画像について、各要素の入力立体画像がそれぞれ撮影された各時刻と、該各時刻における入力立体画像の各視差の代表値との関係を示している。点p1〜p3は、それぞれ時刻t1〜t3における曲線HR1上の点である。点p1およびp3に対応した入力立体画像の各視差の代表値は、視差D1である。また、点p2に対応した各視差の代表値は、視差D2である。
視差D1は、視差D2よりも大きい、すなわち、時刻t1、t3における被写体は、時刻t2における被写体よりもステレオカメラ300により近い位置にある。また、曲線HR1において、時刻0〜時刻T1の区間および時刻T2以降の区間では、入力立体画像の各視差の代表値は増加しており、被写体の被写体距離は時間的に減少している。また、時刻T1〜T2の区間では、該代表値は減少しており、被写体の被写体距離は時間的に増加している。
第4取得部15は、被写体の被写体距離が時間的に減少している場合と、増加している増加している場合とのそれぞれにおける出力立体画像29の生成処理の選択に使用される基準値として、互いに異なる基準値TH1と基準値TH2を取得することができる。
図25の例では、基準値TH1として視差D1が採用され、基準値TH2として視差D2が採用されている。従って基準値TH1は基準値TH2よりも大きい。そして、時刻0〜t1までは、第1生成処理が選択され、時刻t1〜t2までは、第2生成処理が選択される。また、時刻t2〜t3では、第1生成処理が選択され、時刻t3以降では、第2生成処理が選択される。
この場合、常に同一の基準値が採用される場合に比べて、第1生成処理が連続して適用される区間(時間)と、第2生成処理が連続して適用される区間(時間)が長くなる。従って、常に同一の基準値が採用される場合に比べて、観察者が生成処理の切り替わりの際に覚える違和感がより抑制され得る。また、基準値TH1が基準値TH2よりも小さく設定される場合でも、基準値TH1が基準値TH2よりも大きい場合と同様に、各生成処理が適用される時間をより長く取ることができるので、本発明の有用性を損なうものではない。
また、基準値TH1が基準値TH2よりも大きい場合には、基準値TH1が基準値TH2よりも小さい場合に比べて、第1生成処理が適用される時間がより長くなる。一方、既述したように、第1生成処理の方が、第2生成処理よりもオクルージョン領域がより小さくなり得る。従って、基準値TH1が基準値TH2よりも大きい場合には、基準値TH1が基準値TH2よりも小さい場合に比べて、より画質の良い出力立体画像29を取得できる可能性が高くなる。
<(5−4)第1生成処理の選択機能の不能化について>
画像処理装置100Aが、時系列の入力立体画像群から時系列の出力立体画像群を生成する場合には、不能化手段の一例である生成部16における不能化部19(図4)は、動作モードに応じて、生成部16がいったん第2生成処理を選択した後に、生成部16による第1生成処理の選択機能を不能化する処理を行うことができる。
より詳細には、不能化部19は、第1生成処理の選択機能の不能化を、第2生成処理が選択された後、出力立体画像29の生成に係る各時系列上の時間に換算したときに、少なくとも予め設定された時間が経過するまで維持する。または、不能化部19は、該不能化を時系列の出力立体画像群の生成が終了されるまで維持することもできる。
図26は、不能化部19の動作を説明するための図である。図26に示される曲線HR2は、時系列の入力立体画像群の各要素の入力立体画像について、各要素の入力立体画像がそれぞれ撮影された各時刻と、該各時刻における入力立体画像の各視差の分布幅との関係を示している。点p4、p5は、それぞれ時刻t4、t5における曲線HR2上の点である。時刻t5は、時刻t4から時間Δtが経過した時刻である。点p4に対応した入力立体画像23についての各視差の分布幅が、基準値TH1である。
図26に示される例において、時系列の出力立体画像の生成が開始された時刻0では第1生成処理の選択機能は不能化されていない。時刻0の入力立体画像23の各視差の分布幅は、基準値TH1よりも小さいが、時間経過に従って該分布幅が増加し、時刻t4における入力立体画像の各視差の分布幅は、基準値TH1に達している。時刻0〜t4において、生成部16は、第1生成処理を選択し、出力立体画像29を生成する。
そして、時刻t4以降は、生成部16は、第2生成処理を選択している。不能化部19は、第2生成処理が時刻t4において選択された後、生成部16による第1生成処理の選択機能を不能化し、時刻t5までの所定の時間Δtの期間は、該不能化を維持している。そして、不能化部19は、時刻t5において生成部16による第1生成処理の選択機能を能動化している。
不能化部19による該不能化動作によれば、時刻t4から時刻t5までの間に、入力立体画像23の各視差の代表値が基準値TH1よりも小さくなったとしても、第1生成処理が選択されることなく、第2生成処理の選択が維持される。さらに、第1生成処理の選択機能が能動化された時刻t5以降においては、入力立体画像23の各視差の代表値が基準値TH1よりも大きくなっているので、時刻t5以降も第2生成処理が選択される。従って、不能化部19による該不能化動作が行われない場合に比べて、第1生成処理と第2生成処理との切り替え回数が抑制されるので、出力立体画像の観察者が覚える違和感もより抑制され得る。
<(5−5)生成処理の切り替え時の出力立体画像29の接続について>
画像処理装置100Aが、時系列の入力立体画像群から時系列の出力立体画像群を生成する場合には、接続手段の一例である生成部16における接続部18(図4)は、動作モードに応じて、第1生成処理と第2生成処理との切り替えの際に、出力立体画像29を構成する左右画像のうちの少なくとも一方を、切り替え前後で同じ画像とする処理を行う。
図22は、生成処理の切り替えの際に、入力立体画像23の視差から生成される出力立体画像29の視差の一例を示す図である。また、図23は、生成処理の切り替えの際に、出力立体画像29の互いに対応する各画素のX座標の一例を示す図である。また、図24は、生成処理の切り替えの際に、出力立体画像29の互いに対応する各画素のX座標の一例を示す図である。
なお、図22、図23、および図24は、図9、図10、および図11にそれぞれ対応している。図22、図23、および図24における各数値は、設定されている座標の値等は図9、図10、および図11と異なるものの、それぞれ図9、図10、および図11と同じ数式を用いた処理によって設定されている。
具体的には、図22においては、原視差範囲W1の分布幅は値80である。そして、図22〜図24に示される例においては、接続部18が機能することにより、生成部16が採用する出力立体画像29の視差の分布幅、すなわち目標視差範囲W2の幅として値40が設定されている。また、出力立体画像29の視差の最小値d2minとして値10が設定されている。
接続部18による上述した設定によって、図22〜図24に示されるように、第1生成処理によって生成された出力立体画像29のうち左目用画像27のX座標である座標XbL(図23の太線枠)と、第2生成処理によって生成された出力立体画像29のうち右目用画像28のX座標である座標XbR(図24の太線枠)とは、各行毎に、等しくなっている。
すなわち、接続部18の動作によって、第1生成処理と第2生成処理との切り替えの際に、出力立体画像29を構成する左右画像のうちの少なくとも一方が、切り替え前後で同じ画像とされ得る。従って、接続部18による該動作が行われない場合に比べて、第1生成処理と第2生成処理との切り替え時の出力立体画像29の変化が抑制されるので、出力立体画像の観察者が覚える違和感もより抑制され得る。
<変形例について:>
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
例えば、上述した情報処理装置100Aが、例えば、ステレオカメラ300を備えた携帯電話、デジタルスチルカメラ、またはデジタルビデオカメラであったとしても本発明の有用性を損なうものではない。