JP4739291B2 - 撮影画角算出装置 - Google Patents

撮影画角算出装置 Download PDF

Info

Publication number
JP4739291B2
JP4739291B2 JP2007207692A JP2007207692A JP4739291B2 JP 4739291 B2 JP4739291 B2 JP 4739291B2 JP 2007207692 A JP2007207692 A JP 2007207692A JP 2007207692 A JP2007207692 A JP 2007207692A JP 4739291 B2 JP4739291 B2 JP 4739291B2
Authority
JP
Japan
Prior art keywords
image
angle
value
view
shooting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007207692A
Other languages
English (en)
Other versions
JP2009044496A (ja
Inventor
洋一 沢地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujifilm Corp filed Critical Fujifilm Corp
Priority to JP2007207692A priority Critical patent/JP4739291B2/ja
Priority to US12/188,697 priority patent/US8326023B2/en
Publication of JP2009044496A publication Critical patent/JP2009044496A/ja
Application granted granted Critical
Publication of JP4739291B2 publication Critical patent/JP4739291B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/257Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/003Aspects relating to the "2D+depth" image format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/005Aspects relating to the "3D+depth" image format

Description

本発明は、撮影空間の三次元情報(距離画像など)を使って、撮影画角を算出する装置に関する。
コンピュータビジョンの分野では、撮影空間をある方向から見たときに視認できる点の位置を光学的に計測することにより、撮影空間に配置された物体の三次元形状を認識したり、撮影空間の奥行きを認識したりすることが行われている。計測の手法としては、三角測量の原理を利用したステレオ画像法、光の照射から反射光の受光までの時間を測定するTOF(Time of Flight)法、スリット光を照射したときのパターン光を調べる光切断法などが知られている。
視認できる点の位置を所定の座標系における座標値として表し、その座標値を画素値として記録した画像は、一般に「距離画像」、「奥行画像」などと呼ばれている。距離画像には、人間が対象を両眼視することにより認識する空間的な位置の情報が含まれている。一方、通常の撮影により得られるRGBデータあるいは濃淡画像には、人間が物体を見たときに認識する色や明るさの情報が含まれている。よって、距離画像から得られる情報とRGBデータなどから得られる情報とを組み合わせれば、人間が視覚により取得するのとほぼ同等の情報をコンピュータに認識させることができる。これにより、撮影空間の立体映像をモニタ上に再生したり、コンピュータにより三次元の物体を判別することが可能となる。
このような技術は、あらゆる産業分野において有用な技術であるため、数々の研究が進められている(例えば、特許文献1参照)。
特開2002−095018号公報
距離画像を用いた画像処理では、撮影画角の情報が必要になることがある。このため、撮影画角の情報は、撮影が行われ距離画像が生成されたときに、距離画像とともに画像ファイル内に記録されることが多い。しかし、画像ファイルに記録される値は、多くの場合、離散的な公称値に丸められている。このため、高い精度が求められる画像処理への利用には適さない。本発明の解決課題は、撮影画角の概略値はわかるものの精度が十分でない場合に、距離画像を使って撮影画角の値を正確に算出することができる装置を提供することにある。
本発明の撮影画角算出装置は、撮影空間を撮影したときに撮像系により捉えられた各点の位置を、それぞれ、水平方向、垂直方向、奥行き方向の座標値の組として記憶するためのメモリと、以下に説明する使用画素値抽出手段および画角算出手段を備えることを特徴とするものである。
使用画素値抽出手段は、垂直方向の座標値に基づいて前記メモリに記憶されている点の中から、撮像系が捉えた範囲の水平方向の端部に位置する複数の点を選択し、選択された各点の水平方向の座標値と奥行き方向の座標値とを抽出する。または、水平方向の座標値に基づいて前記メモリに記憶されている点の中から、撮像系が捉えた範囲の垂直方向の端部に位置する複数の点を選択し、選択された各点の垂直方向の座標値と奥行き方向の座標値とを抽出する。あるいは、その両方の処理を行う。
画角算出手段は、使用画素値抽出手段により前記メモリから抽出された水平方向および奥行き方向の座標値を使用して水平方向の撮影画角を算出する。または、使用画素値抽出手段により前記メモリから抽出された垂直方向および奥行き方向の座標値を使用して垂直方向の撮影画角を算出する。あるいは、その両方の処理を行う。
上記構成によれば、撮像系が捉えた各点の位置情報から、撮影画角の値を精度良く算出することができる。よって、撮影画角の概略値しかわからないときでも、撮影画角の正確な値に基づく高精度な制御処理、画像処理を実行することができる。
使用画素値抽出手段は、水平方向の端部に位置する点の垂直方向の位置情報に基づいて、水平方向の端部に位置する点の中から垂直方向の中央部に位置する点を選択するか、または、垂直方向の端部に位置する点の水平方向の位置情報に基づいて、垂直方向の端部に位置する点の中から水平方向の中央部に位置する点を選択するか、あるいはその両方の処理を行うことが好ましい。レンズ歪の影響が少ない中央部の画素の値のみを演算に用いることで、撮影画角の算出精度を高めることができる。
また、撮像系が一の光学系により輝度画像を取得し、その一の光学系を含む2つの光学系により座標値を取得するものであるときには、使用画素値抽出手段は、その一の光学系と他の光学系との位置関係に基づいて、2つの光学系により重複して捉えられる範囲を推定し、該範囲に含まれる端部においてのみ前記複数の点の選択を行なうことが好ましい。奥行き方向の座標値の精度が高い側の端部からのみ画素値を抽出することで、撮影画角の算出精度を高めることができる。
また、使用画素値抽出手段は、奥行き方向の座標値について所定の精度が保障される奥行き方向の範囲を設定し、設定した範囲内の点について座標値の抽出を行うことが好ましい。「所定の精度が保障される奥行き方向の範囲」は、撮像系を構成する2つの光学系の基線長と画角の概略値とに基づいて設定する。あるいは、輻輳角が0度以外である可能性があるときは、撮像系を構成する2つの光学系の基線長、画角の概略値および輻輳角に基づいて設定する。例えば、2つの光学系により重複して捉えられる範囲に、所定の範囲オフセット値を付加した範囲に設定する。範囲オフセット値は、範囲の境界ごとに、すなわち撮像系に近い側の境界と遠い側の境界とで、それぞれ定めるのがよい。奥行き方向の座標値の精度が高い範囲からのみ画素値を抽出することで、撮影画角の算出精度を高めることができる。
画角算出手段は、使用画素値抽出手段によりメモリから抽出された画素値を対象として、例えば次式
α=arctan(Σ(xi/zi)/n)
( α: 撮影画角
n: 選択された画素の数
i: 1〜n
xi: i番目に選択された画素の水平方向または垂直方向の位置を示す画素値
zi: i番目に選択された画素の奥行き方向の位置を示す画素値 )
に基づく演算を行うことにより、撮影画角を算出する。算出された撮影画角の値は、所定のメモリ、あるいは座標値の組が記録されているファイル、もしくはメモリとファイルの両方に記録しておくことが好ましい。次に撮影画角を利用した演算を行うときに、記憶しておいた値を参照して演算を行なえば、全体の演算量が減り、処理時間を短縮することができる。
算出した撮影画角の値をファイルに記録するときは、画角の概略値が記録されている領域と異なる領域に記録することが好ましい。これにより、概略値と正確な値との使い分けが可能になる。
また、本発明は、上記構成の撮影画角算出装置を一構成要素として含む距離画像生成装置、立体画像編集装置、立体画像再生装置および立体画像表示装置を提供する。
距離画像生成装置は、上記構成の撮影画角算出装置と、撮影画角算出装置に対し、前記撮像系により捉えられた各点の位置の座標値を表わす距離画像を供給する手段とを備えた装置である。立体画像編集装置は、上記構成の撮影画角算出装置と、撮影画角算出装置が算出した撮影画角の値を利用して立体画像の編集を行なう編集手段とを備えた装置である。立体画像再生装置は、上記構成の撮影画角算出装置と、撮影画角算出装置が算出した撮影画角の値を利用して表示用立体画像を再生する再生手段とを備えた装置である。立体画像表示装置は、上記構成の撮影画角算出装置と、撮影画角算出装置が算出した撮影画角の値を利用して表示用の立体画像を再生する再生手段と、再生された表示用立体画像を出力する表示手段とを備えた装置である。
以下、本発明の一実施形態として、撮影画角算出機能を備えたステレオカメラを示す。
[ 装置の概要 ]
図1Aおよび図1Bはステレオカメラの外観図であり、図1Aは正面側、図1Bは背面側の外観を示している。このステレオカメラ1は、撮影空間の奥行きをステレオ法により 測定するタイプのカメラで、2つの撮像レンズ2a、2bを備えている。ステレオカメラ1は、この他、一般のデジタルカメラと同様、シャッタレリーズボタン3、ファインダ4、操作ボタン5、液晶モニタ7、メモリカード9をセットするカードスロット8、ケーブルを接続する外部接続インタフェース10、その他スピーカ、マイクなどを備えている。
図2は、ステレオカメラ1の内部構成を示すブロック図である。図に示すように、ステレオカメラ1は、撮像レンズ2a、2b、絞り(図示せず)、CCD11a、11bおよびレンズの位置や向き、絞りの開閉、CCDの電荷放出タイミングなどを制御するための機構(モータ、制御回路など:図示せず)からなる撮像系を備え、さらに撮像系により得られた信号をデジタルデータに変換する手段として、A/D変換部12a、12bを備えている。撮像系の基線長および輻輳角は、モータの駆動により撮像レンズ2a、2bを含む光学系の位置や向きを変更することで、調整可能となっている。
また、ステレオカメラ1は、モニタ7への表示出力を制御する表示制御部15、メモリカードスロット8に装填されたメモリカード9へのデータの記録およびメモリカード9からのデータの読み出しを制御する読出/書込制御部17、外部接続インタフェース10に接続された機器との間の入出力を制御する転送制御部18を備える。これらの制御部は、それぞれ専用の回路もしくはドライバプログラムとして実装されている。
また、ステレオカメラ1は、SDRAMなどのメモリ23と、カメラ全体の動作を制御する全体制御部19を備える。全体制御部19は、制御プログラムが記録されたRAM21と、制御に利用する各種設定値が記録されたEEPROM22と、制御プログラムを実行するCPU20とにより構成され、シャッタレリーズボタン3や操作ボタン5からの入力を受け付けて、各部に対し直接またはシステムバス14を介して指示信号を送出する。指示信号を受けた各部はメモリ23を介して処理済みデータを交換しながら処理を行う。
システムバス14には、この他、画像処理部13a、13b、圧縮処理部66、変位情報記憶部24、距離画像生成部25、確認用画像生成部67および画像ファイル生成部26が接続されている。変位情報記憶部24は、例えばEEPROMとして実装される。画像処理部13a、13b、圧縮処理部66、距離画像生成部25、確認用画像生成部67および画像ファイル生成部26は、それぞれ専用のプロセッサとして実装される。但し、これらの処理部の機能を兼ね備える1つのプロセッサとして実装してもよいし、全体制御部19のRAM21に記憶されるプログラムの1つとして実装してもよく、実装のしかたは特に限定されない。
以下、ステレオカメラ1の動作について、画像処理部13a、13b、変位情報記憶部24、距離画像生成部25、確認画像生成部67および画像ファイル生成部26の処理に着目しながら説明する。
[ 撮影 ]
シャッタレリーズボタン3の押下など撮影のための操作が行われると、その操作は全体制御部19により検出され、全体制御部19から撮像系に対し各種指示信号が送出される。これにより、撮像系からA/D変換部12a、12bに撮影空間を表す映像信号が入力され、A/D12a、12bから、それぞれ画像データ(輝度画像)が出力される。ここでは、RGBデータが出力されるものとする。画像処理部13a、13bは、それぞれ、A/D変換部12a、12bから供給されるRGBデータを、メモリ23に格納する。例えば、図3に示すように、三角錐の形をした物体27が配置された撮影空間を撮影した場合であれば、図4に示すように、撮像レンズ2aを通して得られたRGBデータ28aと、撮像レンズ2bを通して得られたRGBデータ28bとが、メモリ23に格納される。
続いて、画像処理部13a、13bは、それぞれ、A/D変換部12a、12bから供給されたRGBデータに対しRGB−YCC変換を施す。そして、変換により得られたYCCデータをメモリ23に格納する。その後、このYCCデータは圧縮処理部66により読み出され、圧縮された後再度メモリ23に格納される。これにより、レンズ2aを通して得られたRGBデータと、同時刻にレンズ2bを通して得られたRGBデータと、それらのRGBデータを変換、圧縮することにより生成された2つのYCCデータとが、メモリ23に格納されることとなる。但し、RGB−YCC変換は行わず、RGBデータをそのまま圧縮処理部66により圧縮してメモリ23に保存してもよい。その場合には、以下の説明において、YCCデータはRGBデータと読み替えるものとする。
[ 距離画像の生成 ]
距離画像生成部25は、同時刻に異なるレンズを通して取得された2つのRGBデータをメモリ23から読み出す。そして、パターンマッチングを行うことにより、2つのRGBデータを構成する画素の対応づけを行う。例えば図4の例であれば、RGBデータ28aの画素PaはRGBデータ28bの画素Pbと対応づけられる。同様にRGBデータ28a,28bを構成する他の画素についても、同様の対応付けが行われる。
続いて、距離画像生成部25は、上記画素の対応付けと撮像系の基長および輻輳角の情報を利用して、ステレオ法(三角測量法)に基づく演算を行い、撮影空間内のカメラで捉えられるすべての点の空間座標値を求める。この演算は撮像系に固有の座標系(以下、固有座標系)上で行い、各点の位置は、固有座標系における座標値として表すこととする。図5は、図3に示した撮影空間内に、ステレオカメラ1の左右方向をXn軸、上下方向をYn軸(図示せず)、背面から正面に向かう方向をZn軸とした直交座標形式の固有座標系を配したところを示している。図の例では、固有座標系の原点は、カメラ正面側の、カメラの中心より撮像レンズ2b側に少しずれた位置にある。RGBデータ28aの画素PaとRGBデータ28bの画素Pbとが表していた、撮影空間内の点Prの位置は、(xr,yr,zr)と表される(但し、yrは図示せず)。
演算を繰り返すことによりカメラが捉えたすべての点についての座標値(x、y、z)が求まると、距離画像生成部25は、各点について求めた座標値(x、y、z)を、その撮影空間の距離画像として記録する。例えば、各点のx値、y値、z値を、それぞれ8ビットの画素データとして記録する。そして生成した距離画像を、前記RGBデータやYCCデータとともに、メモリ23に格納する。なお、距離画像も、YCCデータと同じく圧縮処理部66により圧縮してもよい。
なお、ステレオカメラ1は、撮影空間を一方向から見たときに視認できる点の位置をステレオ法により求めるように構成されたカメラであるため、距離画像の画素値は(x,y,z)座標値である。これに対し、ステレオ法以外の手法を用いるカメラの場合には、距離画像の画素値として他の値が記録されることもある。ステレオカメラ1と異なるタイプのカメラとしては、例えば、図2の破線で囲んだ部分の構成S1を、図6の破線で囲んだ構成S2に置き換えたカメラが考えられる。構成S2は、撮像レンズ2c、CCD11c、A/D変換部12c、画像処理部13c、赤外線照射部29および距離計測部30を備えた構成である。構成S2では、赤外線照射部29は撮影空間に対し振幅変調された赤外線を照射する。照射のタイミングや振幅変調の周波数は、距離計測部30により制御される。照射された赤外線は撮影空間内の各所において反射され、反射光は撮像レンズ2c、CCD11cにより受光される。A/D変換部12cは反射光を表す信号を距離計測部30に供給する。距離計測部30は、赤外線照射部29に指示した照射タイミング、反射光の受光タイミングおよび照射光と反射光の位相ずれに基づいて(すなわちTOF法により)、撮影空間内のカメラが捉えられるすべての点までの距離および方向を算出する。つまり、撮影空間に極座標系を定義したときの座標値を求める。構成S2を備えたカメラの場合、距離画像生成部25は、その極座標系の座標値(r,θ,φ)を画素値とした距離画像を生成する。
なお、カメラの構成としては、この他、図2の構成S1と図6の構成S2とを兼ね備え、ステレオ法とTOF法を切り替えて用いることができるカメラも考えられる。図7に、2種類の構成S1、S2を兼ね備えたカメラの外観を例示する。図7に示される撮像レンズ2bは、図2の撮像レンズ2bとして機能するとともに、図6の撮像レンズ2cとしても機能する。
このように、撮影空間の三次元情報を取得するためのカメラの構成は種々考えられ、どの手法を採用するかによって得られる三次元情報の種類や精度は異なるが、撮影空間に係る三次元的な情報を取得することができれば、カメラの構成や距離画像の画素値として記録される値の種類は、どのようなものであってもよい。
[ 画像ファイルの生成 ]
次に、画像ファイル生成部26による画像ファイルの生成処理について説明する。画像ファイル生成部26は、図8に示すフォーマットのファイル、すなわち、ファイルヘッダH、距離画像D、および1組のYCCデータ(以下、視差画像R,Lと称する)を含む画像ファイル31を生成する。ファイルヘッダに設定する情報は、カメラを構成する各メモリから読み出す。あるいは、カメラを構成する各処理部から供給される。もしくは、モニタ7に表示される設定画面においてユーザが選択あるいは入力した情報を取り込む。視差画像R,Lと距離画像Dは、メモリ23に記憶されているものを読み出す。
なお、図示した例では、画像ファイルに格納するYCCデータを一組の視差画像R,Lとしているが、一方の撮像レンズを通して得られた画像から生成されたYCCデータのみをファイルに格納するようにしてもよい。図6を参照して説明した構造のカメラを使用した場合も撮像レンズは1つであるため、1つのYCCデータが画像ファイルに格納されることとなる。
画像ファイル生成部26は、生成した画像ファイルを一旦メモリ23に保存する。メモリ23に記憶された画像ファイルは、全体制御部19の制御の下、読出/書込制御部17に転送され、カードスロット8を経てメモリカード9などの記録媒体に記録される。または、同じく全体制御部19の制御の下、転送制御部18に転送され、外部接続インタフェース10を介して、他の装置へと転送される。あるいは、画像ファイルは表示制御部15に転送され、表示制御部15によりモニタ7に表示出力される。
以下に、画像ファイル31のフォーマットの詳細を示す。画像ファイル31は、前述したとおり、ファイルヘッダH、距離画像Dおよび視差画像R,Lにより構成される。ファイルヘッダHには、ファイルタイプやファイルサイズのほか、ファイル内の距離画像の位置を指し示す情報と、視差画像R,Lの位置を指し示す情報が含まれている。これにより、ファイルの先頭に記録されているファイルタイプの情報からヘッダ情報のフォーマットを認識し、ヘッダ情報中のオフセット情報を参照すれば、距離画像Dや視差画像R,Lを読み出すことができる。
また、図9Aに示すように、ファイルヘッダHには、距離画像に関連する情報を設定する領域として、画像を撮影したときの輻輳角を設定する領域h1、基線長を設定する領域h2、焦点距離を設定する領域h3、撮影画角を設定する領域h4、距離画像の大きさ(縦横の画素数)を設定する領域h5、距離画像の各画素に割り当てられたビット数を設定する領域h6が設けられている。領域h3はステレオカメラ1のように撮像レンズが2つあるカメラで各撮像レンズについての焦点距離を設定できるように定義されている。領域h4は、2つの撮像レンズのそれぞれについて、水平方向の画角と垂直方向の画角を設定できるように定義されている。
輻輳角、基線長、焦点距離、撮影画角、距離画像の大きさや一画素あたりのビット数は、撮像系に固有に定められているか、もしくは撮像系を調整したときに決定される。撮像系に固有か、調整により可変かは、カメラの仕様により異なる。例えば、輻輳角が固定されたカメラであれば輻輳角は固有の値であり、輻輳角が調整可能なカメラであれば輻輳角は可変な値となる。撮像系に固有の値は、ステレオカメラ1内の所定のメモリ(全体制御部19のEEPROM22、メモリ23あるいは他の図示しないメモリでもよい)の予め決められた領域に記録されている。また、調整により決定される値は、調整を行った制御部(例えば輻輳角であれば、レンズの向きを制御する回路)により、調整が完了した時点で、所定のメモリに記録される。但し、この段階でメモリに記録される値は、通常、各設定値の目安となる離散値な値(概略値)に過ぎず、必ずしも正確な値とは限らない。画像ファイル生成部26は、そのようにしてメモリに記憶された値を読み出し、読み出した値をファイルヘッダの上記各領域h1〜h6に設定する。
また、ファイルヘッダには、距離画像に関連する情報を設定する領域として、さらに、共通座標系の座標形式(直交座標または極座標)を設定する領域h7、共通座標系の変位情報を設定する領域h8、ユーザが指定した一の共通座標系を設定する領域h9、ユーザが指定したオフセット原点を設定する領域h10、後述する特定エリアの位置情報を設定する領域h11が設けられている。
また、2つの撮像レンズ2a、2bのうち一方の撮像レンズを通して得られた画像から生成されたYCCデータのみをファイルに格納するタイプのステレオカメラでは、さらに、ファイルに格納するYCCデータが、撮像レンズ2aを含む右側の光学系により生成されたデータであるか、撮像レンズ2bを含む左側の光学系により生成されたデータであるかを区別する情報が、ファイルヘッダHに格納される。ここでは、YCCデータの生成に寄与した光学系を主光学系と称することとする。図9Bは、主光学系位置(右または左)を示す情報を格納する領域h12が設けられたファイルヘッダHの例を示している。
以下、領域h7〜h9に設定する共通座標系の情報、領域h10に設定するオフセット原点の情報、および領域h11に設定する特定エリアの位置情報について、さらに説明する。
[ 共通座標系 ]
図10は、撮影空間の三次元情報(距離画像など)を取得する機能を備えた第1のカメラ32と、立方体の物体33が配置された撮影空間と、第1のカメラ32の固有座標系34と、固有座標系34の原点35との関係を示す図である。また、図11は、撮影空間の三次元情報を取得する機能を備えた第2のカメラ36と、三角錐の物体37が配置された撮影空間と、第2のカメラ36の固有座標系38と、固有座標系38の原点39との関係を示す図である。図10、図11において、一点鎖線は、カメラ32、36を左右に分ける中心線を表している。図10の撮像空間では、物体33はカメラ32の中心より左側に位置している。一方、図11の撮像空間では、物体37はカメラ36の中心よりも右側に位置している。また、図10と図11の対比から明らかであるように、第1のカメラ32と第2のカメラ36とでは、固有座標系の原点の位置は大きく異なっている。なお、これらの図において、固有座標系34、38のY軸は図の紙面に垂直であり、原点35、39と重なって図示されている。
図12は、図10に示す位置関係で撮影を行い、図11に示した位置関係で撮影を行い、2回の撮影により得られた2組の視差画像を合成して立体モニタ40に表示するときの、表示座標系41と、表示される物体33および物体37の関係を示す図である。従来手法では、固有座標系上で求められた距離画像の各画素値が、表示の奥行き感を表す値としてそのまま用いられる。すなわち、図10に示した原点35と物体33の位置関係は、表示座標系41における原点42と物体33の位置関係として、そのまま維持される。同様に、図11に示した原点39と物体37の位置関係も、表示座標系41における原点42と物体37の位置関係として、そのまま維持される。その結果、立体モニタ40には、図13に示すように、物体37の背後に物体33が配置された映像が表示されることとなる。
一方、図11に示した位置関係で、物体37を含む撮影空間の撮影を行うときにも、物体33を含む撮影空間の撮影を行ったときと同じく第1のカメラ32を使用したとすれば、物体33はカメラの中心よりも左側に配置され、物体37はカメラの中心よりも右側に配置され、また固有座標系のZ軸はカメラの中心よりも左側にあるので、画像合成により得られる立体画像では、図14に例示するように、物体33と物体37とが離れた状態で表示されることとなる。
図13と図14の対比として示されるように、従来手法では、複数の立体画像から合成立体画像を生成しようとした場合、撮影に用いたカメラによって、合成により得られる結果が異なってしまうという問題がある。また、同様の理由で、従来手法では、立体画像から物体の形状や位置を認識して制御を行う場合に、同じ撮像系を使い続けない限り、安定した認識を行えないという問題がある。
共通座標系は、固有座標系と同じく、撮影空間内に定義される座標系である。但し、固有座標系が個々のカメラにより定義されユーザに見えないものであるのに対し、共通座標系はユーザが把握できる形で定義される。
図15は、図5に示したステレオカメラ1の固有座標系に、一例としての共通座標系を重ねて示した図である。この例では、共通座標系は3次元直交座標であり、そのXu軸はステレオカメラ1の左方向から右方向に向かい、Yu軸はステレオカメラ1の下方向から上方向に向かい、Zu軸はXu軸、Yu軸の両方に垂直で、カメラから撮影空間に向かって延びている。また、この例では、共通座標系の原点Ouは、ステレオカメラ1の背面の中心にある。
画像ファイルを生成するときには、座標系を固有座標系から共通座標系に切り替えたときの原点の変位、すなわち固有座標系の原点Onと共通座標系の原点Ouとのズレを、ファイルヘッダに記録する。言い換えれば、固有座標系の原点Onを始点、共通座標系の原点Ouを終点とする変位ベクトルを記録する。例えば、固有座標系で表したときの共通座標系の原点Ouの位置が(xc、yc、zc)という座標値(ベクトル)で表されるのであれば、そのxc、yc、zcの値を、共通座標系の変位情報としてファイルヘッダに格納する。
この共通座標系の変位情報を画像ファイルのヘッダに記録しておけば、立体画像処理や形状認識処理など距離画像を利用した処理を行うときに、距離画像の各画素値を、固有座標系における座標値から、共通座標系における座標値に置き換えてから、処理を行うことができる。
図10〜14を参照して説明した従来手法の問題は、第1の撮像系により取得された距離画像の各画素値を固有座標系における座標値から共通座標系における座標値に置き換え、同様に第2の撮像系により取得された距離画像の各画素値を固有座標系における座標値から共通座標系における座標値に置き換え、置き換え後の距離画像を使って画像の合成を行うことで、解決することができる。
同様に、継続的に行われる撮影の途中でカメラを交換した場合でも、交換前のカメラにより取得された距離画像、交換後のカメラにより取得された距離画像の画素値について、それぞれ上記のような置き換えを行えば、カメラを交換したことでそれまでの撮影が無駄になるということもない。その他、座標系がカメラに固有であるがために生じるあらゆる問題は、共通座標系の概念を取り入れることにより、解決することができる。
上記共通座標系の説明では、理解を容易にするため、共通座標系が1つしか定義されていない場合を例示しながら説明したが、以下、共通座標系として選択し得る座標系、すなわち共通座標系の候補が、複数定義されている場合を例示する。共通座標系が複数定義されている場合、ファイルヘッダHには、ユーザが選択し得るすべての座標系の変位情報と、ユーザが選択した変位情報を特定するための情報とが記録される。
まず、領域h7に設定される共通座標系の座標形式について説明する。共通座標の座標形式については、撮影を行う前に、全体制御部19がモニタ7に表示する設定画面において、ユーザから座標形式の指定を受け付けておく。選択画面において入力されたデータは、一旦図2の変位情報記憶部24に記憶される。画像ファイル生成部26は、画像ファイルの生成時に変位情報記憶部24からそのデータを読み出し、ヘッダの領域h7に記録する。ここでは、領域h7には、“0”、“1”または“2”のいずれかの数値データが記録されるものとする。“1”は共通座標系が3次元直交座標系であることを示し、“2”は共通座標系が極座標系であることを示し、“0”は座標形式が不明、すなわちユーザによる座標形式の指定が行われなかったことを示す。
続いて、領域h8に設定される共通座標系の変位情報について説明する。ステレオカメラ1では、共通座標系の原点となり得る点として、固有座標系の原点Ou0、共通座標系の概念の説明において例示したカメラ本体背面の中心点Ou1を含む合計8個の点が定義されている。このうち、カメラ本体背面の中心点は、図16に例示するように、モニタ7に基点マーク43を表示することで、外観上認識できるようにしている。但し、基点マーク43の表示は、ユーザが所定の操作を行ったときのみ行う。なお、図17に例示するように、モニタが開閉するタイプのカメラで、モニタを使用するときと使用しないときとで、カメラの背面の状態が異なるようなときには、カメラの外装部材に、印刷または加工により形成される基点マーク44a、44bをつけてもよい。
このように、共通座標系の原点を外観上認識し得る部材の外観上認識し得る位置に設けておけば、例えばカメラを交換するときに、交換前と交換後とで基点マークが同じ位置にくるようにカメラを配置することで、位置あわせを行うことができる。
図18は、共通座標系の原点の候補として定義されている他の点を示す図である。図に示すように、撮像レンズ2aと2bの中心点Ou2、撮像レンズ2a、撮像レンズ2bそれぞれの中心点Ou3,Ou4、CCD11aと11bの中心点Ou5、CCD11a、CCD11bそれぞれの中心点Ou6,Ou7が、共通座標系の原点の候補として定義されている。これらの点は、外観上は認識できないが、カメラ内部の通常見えない点であっても、所定の部材の中心点、端点など何らかの特徴がある点であれば、共通座標系の原点となり得る。
これら8個の点Ou0〜Ou7の固有座標系における座標値、すなわち変位情報は、カメラの製造時に変位情報記憶部24に記憶される。但し、撮像系が、焦点距離が可変なズームレンズを備えている場合には、固有座標系が撮像系の特性に応じて再定義されるため、変位情報記憶部24に記憶されている変位情報は焦点距離の変更に応じて再設定される。全体制御部19は、ズーム操作により設定された焦点距離を検出し、検出された焦点距離に応じて変位情報記憶部24に記憶されている変位情報を書き換える。焦点距離と固有座標系の原点の対応付けは予めRAM21などに登録されている。よって、その対応付けを参照することにより、検出された焦点距離に対応する固有座標系の原点を求め、その原点を基準とした変位を計算しなおせば、変位情報を再設定することができる。画像ファイル生成部26は、上記のように記憶あるいは再設定された変位情報を変位情報記憶部24から読み出し、ファイルヘッダの領域h8に格納する。
図19に、変位情報を設定する領域h8の詳細フォーマットを示す。領域h8は、識別子と変位情報とを対応付けて格納する複数の領域からなる。識別子は数字、アルファベットその他記号により構成される値である。図は0から始まる通し番号を識別子とした場合を例示している。各領域にどの点の変位情報を設定するかは、予め共通のルールを設けておくことが好ましい。ここでは、識別子0に対しては前述した点Ou0の変位情報(すなわち0,0,0)を、識別子1に対しては点Ou1(基点マーク位置)の変位情報を、以下識別子の番号が若い順に、図18に示した点Ou2〜Ou7の変位情報を対応付けて記録するものとする。
なお、領域h8にはステレオカメラ1が変位情報を設定する領域のほか、撮像レンズやCCDを1つしか備えていないタイプのカメラが変位情報を設定する領域を備えている。1つの撮像レンズの中心点の変位情報を設定する領域(識別子8の領域)とその1つのCCDの中心点の変位情報を設定する領域(識別子9の領域)である。また、領域h8にはさらに予備の領域(識別子10の領域)も用意されている。使用されない領域には、図に示すように、0,0,0の値が設定される。
続いて、図9の領域h9に設定されるユーザ指定情報について説明する。ユーザ指定情報は、座標形式と同じく、撮影を行う前に、全体制御部19がモニタ7に表示する設定画面において指定を受け付けておく。選択画面において入力されたデータは、一旦図2の変位情報記憶部24に記憶され、画像ファイル生成部26により読み出されて領域h9に設定される。領域h9には、値“0”またはユーザが選択した一の変位情報を指し示す識別子の値が設定される。値“0”はユーザが変位情報の選択を行わなかったことを意味する。
以上に説明したように、ファイルヘッダの構造を、複数の座標系の変位情報を格納でき且つユーザが指定した変位情報を指示す識別子および座標形式を格納できる構造としておけば、ユーザはその画像ファイルを利用した処理を行う上で最も都合のよい共通座標系を選択することができ、その共通座標系を利用することで従来手法にはない利便性を確保することができる。さらには、その共通座標系に不都合が生じた場合に他の座標系を共通座標系として指定しなおすことができるので、目的に合わせて共通座標系を使い分けることで目的を達成しやすくなる。
[ オフセット原点 ]
続いて、オフセット原点について説明する。共通座標系を利用した位置合わせは、所望の位置にカメラを設置できることを前提としている。しかし、実際の撮影現場では、必ずしも所望の位置にカメラを設置できるとは限らないので、共通座標系の原点の位置を、さらに調整しなければならないときがある。オフセット原点は、共通座標系の原点の位置調整が必要になったときの、調整後の原点である。オフセット原点は、共通座標系の原点を基準とする各座標軸方向のオフセット値、言い換えればオフセット原点の共通座標系における座標値として設定する。
オフセット原点は、撮影を行うユーザが、モニタ7に表示される所定の設定画面をみながら操作ボタン5を操作することにより設定する。モニタ7への設定画面の表示や、設定されたオフセット値の取り込みおよびファイルへの記録は、全体制御部19により制御される。オフセット原点が設定されると、モニタ7に、オフセット値に応じて調整された画像が表示される。ユーザは、その表示をみて、設定したオフセット値が適切か否かを確認することができる。また、オフセット原点の設定を行うときに、撮影空間内の所定の箇所を特定エリアと定め、特定エリアを確認しやすい確認用画像を表示させることができる。
図20は、物体68が配置された撮影空間内に、ステレオカメラ1の左右方向をXu軸、上下方向をYu軸(図示せず)、背面から正面に向かう方向をZu軸とし、2つの撮像レンズの中心点Ouを原点とした共通座標系を配したところを示している。オフセット原点Oofの共通座標系における座標値は、(xof,yof,zof)と表記する。つまり、X軸方向のオフセット値はxof、Y軸方向のオフセット値はyof、Z軸方向のオフセット値はzofと表記する。特定エリアAは、ユーザが指定したエリアである。以下、図20に例示した撮影空間を例示しながら、オフセット原点Oofを設定する処理について説明する。オフセット原点Oofは、Z軸方向のオフセット値zofを設定し、さらにXY軸方向のオフセット値xof、yofを設定するというように、段階的に設定する。
図21に、Z軸方向のオフセット値設定処理の一例を示す。全体制御部19は、オフセット設定画面を呼び出す操作を検知すると、確認用画像生成部67に対し確認用画像の生成を指示する。確認用画像生成部67は、画像ファイル生成部26が生成した画像ファイルからRGBデータと距離画像を取得して右目用の視差画像を構成し、これにオフセット原点を示す数値情報を合成し、表示制御部15に供給する。これにより、モニタ7には、確認用画像が表示される(S101)。このとき、オフセット原点は、初期化処理により、共通座標系の原点と同じ点に設定されている。
全体制御部19は、撮影空間内の所定の点またはエリアを特定エリアAとして指定する操作を検知すると(S102)、確認用画像生成部67にその特定エリアAを基準にして、モニタ7に表示する画像を構成するよう指示する。確認用画像生成部67は、この指示を受けて、まず距離画像の特定エリアAに対応する画素の平均値(xa,ya,za)を算出する(S103)。また、確認用画像生成部67は、距離画像の特定エリアAの中心点の共通座標系における位置座標の値を算出する(S104)。なお、特定エリアAに画素が1つしか含まれていないときは、その画素の値がそのまま平均値(xa,ya,za)となり、その画素の位置が中心点となる。
続いて、確認用画像生成部67は、中心点に特定エリアマークを合成し、さらに中心点が画面中央に配置されるように画像を平行移動した後、表示制御部15にその画像を供給する(S105)。図22に、平行移動後のモニタ画面の表示例を示す。同図に示すようにモニタ7には、画像とともに、オフセット原点を設定したとき特定エリアAの中心点の位置座標69が表示される。さらに、その数値の右側に、原点のオフセット値70が表示される。なお、画像を平行移動した場合、画像領域71がモニタ画面よりも小さくなる場合があるが、モニタ画面の画像が配置されない領域は黒く表示するものとする。
全体制御部19がオフセット値を確定する操作を検知したときは(S106)、画像ファイル生成部26に指示して、その時点で設定されているオフセット値zofを、Z軸方向の確定したオフセット値として画像ファイルに記録する(S111)。このとき、特定エリアについて算出された値(xa,ya,za)も、画像ファイルに記録する。
一方、オフセット値の確定操作が未だ検出されていなければ(S106)、全体制御部19は引き続きオフセット値の設定操作を待つ。オフセット値の設定操作を受け付けたら(S107)、設定されたオフセット値zofを所定のメモリに一時記憶する(S108)。続いて、確認用画像の表示倍率Eを、次式
E=za/(za−zof)・・・(1)
に基づいて算出し(S109)、確認用画像が算出された表示倍率Eで表示されるように、確認用画像を拡大または縮小する(S110)。図23に確認用画像拡大時の画面、図24に確認用画像縮小時の画面を、それぞれ例示する。
確認用画像生成部67は、拡大または縮小後の画像を、特定エリアの中心点が画面中央に配置されるように平行移動した後、表示制御部15にその画像を供給して表示を更新する(S105)。以降、ステップS106においてオフセット値の確定操作が検出されるまで、S105〜S110の処理が繰り返し実行される。
次に、図25に、X軸方向のオフセット値設定処理の一例を示す。全体制御部19は、Z軸方向のオフセット値設定処理と同様、モニタ7に確認用画像を表示させ(S201)、特定エリアを指定する操作を検知し(S202)、確認用画像生成部67に対し、その特定エリアAを基準にして確認用画像を構成するよう指示する。確認用画像生成部67は、この指示を受けて、距離画像の特定エリアAに対応する画素の平均値(xa,ya,za)を算出し(S203)、さらに、特定エリアの中心点の位置座標を算出する(S204)。
XY軸方向のオフセット値設定処理では、確認用画像生成部67は、次に、画像ファイルの領域h4に格納されている撮影画角の値α(図20中に図示)を読み出す。あるいは、メモリ23などステレオカメラ内部のメモリに画角の値αが記憶されている場合には、値αをメモリから読み込んでもよい。また、確認用画像生成部67は、画像ファイルの領域h8に格納されている撮影レンズの中心点のx座標値を参照し、特定エリアAの中心のx座標値との差分Kx(図20中に図示)を算出する。そして、次式
xL = Kx−za×tanα
xR = Kx+za×tanα ・・・(2)
に基づき、モニタ7に表示されている範囲の左端XLおよび右端XR(図20中に図示)の、共通座標系における座標値xL,xRを算出する(S205)。
全体制御部19は、オフセット値を確定する操作を検知したときは(S206)、画像ファイル生成部26に指示して、その時点で設定されているオフセット値xofを、X軸方向の確定したオフセット値として画像ファイルに記録する(S214)。このとき、特定エリアについて算出された値(xa,ya,za)も画像ファイルに記憶する。
一方、オフセット値の確定操作が未だ検出されていなければ(S206)、全体制御部19は引き続きオフセット値の設定操作が行われるのを待つ。オフセット値の設定操作を受け付けたら(S207)、設定されたオフセット値xofを所定のメモリに一時記憶する(S208)。
続いて、全体制御部19は、オフセット値xofが、モニタ7のX軸方向の表示幅内にある値か否かを、次の判定式
xL≦xof≦xR ・・・(3)
に基づき判定する(S209)。
値xofが判定式(3)の条件を満たすときは、確認用画像生成部67は、図26に例示するように、オフセット原点の位置を示唆するマーク72(以下、基準マーク72)を配した確認用画像を生成する。基準マーク72は、x座標値がオフセット値xofと同じで、y座標値が特定エリアのy座標値yaと同じである点に配置する。
例えばモニタ7の水平方向の表示画素数をPhとする。座標系における単位距離は、次式
ΔPx=Ph/(2・tanα・za) ・・・(4)
で表されるΔPx個の画素に対応することになる。よって、オフセット設定画面においてオフセット値が変更され、その変更量がΔxofであるときには、基準マーク72がΔxof・ΔPx画素分ずれた位置に配置されるように表示を制御すればよい。
基準マーク72と特定エリアマークの2つのマークを表示することにより、オフセット原点と特定エリアの中心点とが、X軸方向にどの程度離れているかの確認が容易になる。また、確認用画像には、特定エリアAの中心点の座標値69が表示される。さらに、その数値の右側に、原点のオフセット値70が表示される。この確認用画像は表示制御部15に供給され、モニタ7の表示が更新される(S211)。
一方、値xofが判定式(3)の条件を満たさないときは、全体制御部19により、さらに次式
xa−xof≦xR−xL ・・・(5)
に基づく判定が行われる(S210)。
判定式(5)の条件を満たす範囲では、確認用画像生成部67は、図27に例示するように、基準マーク72が画面の左端(または右端)に配置されるように平行移動された画像を生成し、その画像を表示制御部15に供給して表示を更新する。値xofを増減させた場合、モニタ画面では、基準マーク72は画面の左端に固定されたままで特定エリアマークを含む物体68の画像だけが左右にΔxof・ΔPx画素分移動する(S212)。
一方、判定式(5)の条件が満たされない範囲では、確認用画像生成部67は、図28に例示するように、縮小された右目用視差画像に、特定エリアマークと基準マークとを配した確認用画像を生成する。ここでは、右目用視差画像は1/2に縮小されるものとする。判定式(5)の条件が満たされない範囲でも、確認用画像生成部67は、基準マーク72が画面の左端(または右端)に配置されるように平行移動された画像を生成し、その画像を表示制御部15に供給して表示を更新する。(S213)。
以降、ステップS206においてオフセット値の確定操作が検出されるまで、S207〜S213の処理が繰り返し実行される。
全体制御部19、確認用画像生成部67および表示制御部15は、図25〜図28を参照して説明した処理と同等の処理を、Y軸方向についても実行する。これにより、Y軸方向のオフセット値yofと、オフセット値yofを設定したときの特定エリアの座標値が、画像ファイル生成部26により画像ファイルに記録される。
画像ファイル生成部26は、ステップS111あるいはステップS214において全体制御部19からの指示を受けると、メモリに記憶されている値xof、yof、zofを読出し、画像ファイルのヘッダHの領域h10に格納する。さらに、メモリに記憶されている特定エリアの位置座標を読出し、画像ファイルのヘッダHの領域h11に格納する。
領域h10には、オフセット原点の有無を示すフラグと、オフセット値xof、yof、zofとが記録される。フラグの値は、オフセット原点が設定されたときは1、設定されなかったときは0に設定される。領域h10のフラグの値が0のときは、領域h10のオフセット値も領域h11の特定エリアの座標値も記録されない。もしくは何らかの値が記録されていても、その値は無効である。なお、領域h10に格納する情報は、オフセット値xof、yof、zofのみとしてもよい。また、領域h11への値の格納は必須ではなく、領域h11がないファイルフォーマットも考えられる。
[ 撮影画角の算出 ]
前述のとおり、確認用画像生成部67は、画像ファイルの領域h4もしくはメモリ23などに格納されている撮影画角の値を読み出して、演算を行う。この場合、撮影画角の値として公称値などの概略値を使用してしまうと、表示範囲や各マークの表示位置に微妙なズレが生じる可能性がある。このため、ステレオカメラ1は、距離画像を使って撮影画角の正確な値を算出する手段を備えている。本実施形態では、撮影画角の値を使用するのは確認用画像生成部67であるため、確認用画像生成部67を構成する手段として、撮影画角の値を算出する手段を設けることとする。但し、確認用画像生成部67とは別に、撮影画角の値を算出する専用プロセッサなどを設けてもよい。
図29は、撮影画角を算出するための手段を示した図である。図に示すように、確認用画像生成部67は、撮影画角の算出に使用する画素(以下、使用画素)の値を抽出する使用画素値抽出手段81と、使用画素値抽出手段81により抽出された値を用いて画角を算出する画角算出手段82とを備える。
以下、使用画素値抽出手段81および画角算出手段82が実行する処理として、2つの例を示す。説明にあたり、図30Aおよび図30Bに、撮影空間に配置された物体83、物体84および物体85とステレオカメラ1の共通座標系における位置関係を示す。図30Aは輻輳角が0度の場合、図30Bは輻輳角が0度以外の角度θの場合を示している。図31は、撮像レンズ2aを通して取得される画像を用いて生成された確認用画像を例示した図であり、物体84および物体85が左右の画角端にかかる場合を示している。
(処理例1)
使用画素値抽出手段81は、メモリ23に記憶されている画像ファイルを参照して距離画像を取得した後、以下に説明する手順で撮影画角を算出する。図32は、水平方向の撮影画角を算出する処理を示している。
使用画素値抽出手段81は、距離画像を構成する画素の中から、所定の選択基準に従って使用画素を選択する。使用画素値抽出手段81は、まず、図31に示すように、画像の左端および右端に位置する画素で、距離画像のY軸方向の座標値がYs1以上Ys2以下の画素群86および画素群87を選択する(S301)。境界値Ys1およびYs2については、後述する。
使用画素値抽出手段81は、次に、ステレオカメラ1の右側の撮影レンズの中心点を原点とする座標系を定義し、選択した画素の画素値を、その座標系で表された値に置換する(S302)。続いて、選択した画素の中から、さらに、置換後の奥行き方向の座標値がZs1以上Zs2以下の画素群を選択する(S303)。ここでは、画素群86からn個(nは整数)の画素が、画素群87からもn個の画素が、それぞれ選択されたものとする。境界値Zs1およびZs2については、後述する。
選択された画素群の画素値は、画角算出手段82に供給される。画角算出手段82は、次式
α1=arctan(Σ(xli/zli)/n)
α2=arctan(Σ(xri/zri)/n) ・・・(6)
に示す演算を行うことにより、図30Aに示す画角α1(左)、画角α2(右)を算出する(S304)。式(6)において、xliは画素群86から選択されたn個の画素のうちi番目(i:1からnまでの整数)の画素のx値を示し、xriは画素群87から選択されたn個の画素のうちi番目(i:1からnまでの整数)の画素のx値を示す。同様に、zliは画素群86から選択されたn個の画素のうちi番目(i:1からnまでの整数)の画素のz値を示し、zriは画素群87から選択されたn個の画素のうちi番目(i:1からnまでの整数)の画素のz値を示す。
続いて、画角算出手段82は、次式
α=(α1+α2)/2 ・・・(7)
に示す演算を行うことにより、平均画角を算出する(S305)。
以上、水平(X軸)方向の撮影画角を求める場合を例示しながら説明したが、垂直(Y軸)方向の撮影画角を求めるときは、上記例示におけるX軸方向の処理をY軸方向の処理に置き換えて実行すればよい。すなわち、画像の上端および下端に位置する画素の中から、所定の条件を満たす画素群を選択して、上記と同様の演算を行なえばよい。
算出された画角値は、メモリ23などの内部メモリに記録され(S306)、表示範囲や基準マーク72の表示位置を求める際に利用される。一方で、画像ファイル生成部26にも供給され、画像ファイルのヘッダの領域h4に記録される。次回の確認用画像の表示では、メモリまたは画像ファイルに記録された値が利用されるため、表示処理に係る時間は大幅に短縮される。
なお、画角値の記録は、既に記録されている概略値に上書きする形で記録してもよいが、望ましくは概略値を格納する領域とは別の格納領域を確保しておき、概略値と算出値の両方をファイルヘッダHに格納できるようにすることが好ましい。これにより、概略値と算出値の使い分けが可能になる。
(処理例2)
処理例1は、画像ファイルのファイルヘッダHが図9Aに示したタイプ、図9Bに示したタイプのいずれの場合にも適用可能であるが、次に説明する処理は、ファイルヘッダHが図9Bに示したタイプの場合に適している。以下、YCCデータの生成には撮像レンズ2aを通して得られた画像のみを使用し、距離画像の生成には撮像レンズ2aおよび撮像レンズ2bを通して得られた情報を利用する場合を例示して説明する。なお、以下の例示では、輻輳角は0度であり、撮像レンズ2aの光軸と撮像レンズ2bの光軸とは並行であるものとする。
図30Aに例示した位置関係では、撮像レンズ2aは物体83,84,85を捉えているが、撮像レンズ2bは物体85を含む右側のエリアを捉えていない。したがって、距離画像生成部25による処理では、物体85を含む右側のエリアについての値が算出されないか、もしくは精度の低い値が算出されることとなる。一方、物体84を含む左側のエリアは、撮像レンズ2a、2bの両方で捉えられているため、左側のエリアについては、正確なz値が算出される。この場合、左右いずれの端の画素群を演算に利用するかによって、算出される撮影画角の精度は異なることとなる。この場合、左右の画素群のうち、z値の精度が高い側の画素群のみを使用して、撮影画角を算出することが好ましい。
図32Bは、処理例2における使用画素値抽出手段81と画角算出手段82の処理を示すフローチャートであり、水平方向の撮影画角を算出する処理を示している。
使用画素値抽出手段81は、ファイルヘッダの領域h12に格納されている情報、すなわち主光学系位置の情報を参照し(S311)、主光学系位置が右か左かを判断する(S312)。主光学系位置が右であれば、画像の左端に位置する画素で、距離画像のY軸方向の座標値がYs1以上Ys2以下の画素群を選択する(S313R)。
使用画素値抽出手段81は、次に、ステレオカメラ1の右側の撮影レンズの中心点を原点とする座標系を定義し、選択した画素の画素値を、その座標系で表された値に置換する(S314R)。続いて、選択した画素の中から、さらに、置換後の奥行き方向の座標値がZs1以上Zs2以下の画素群を選択する(S315R)。ここでは、ステップS212Rで選択した画素群からn個(nは整数)の画素が、選択されるものとする。
選択された画素群の画素値は、画角算出手段82に供給される。画角算出手段82は、次式
α1=arctan(Σ(xli/zli)/n)・・・(6’)
に示す演算を行うことにより、図30Aに示すところの画角α1(左)を算出する(S316R)。式(6’)において、xliは選択された画素群の中からさらに選択されたn個の画素のうちi番目(i:1からnまでの整数)の画素のx値を示す。同様に、zliは選択された画素群の中から選択されたn個の画素のうちi番目(i:1からnまでの整数)の画素のz値を示す。
一方、ステップS312において、主レンズ位置が左であれば、画像の右端に位置する画素で、距離画像のY軸方向の座標値がYs1以上Ys2以下の画素群を選択する(S313L)。
使用画素値抽出手段81は、次に、ステレオカメラ1の左側の撮影レンズの中心点を原点とする座標系を定義し、選択した画素の画素値を、その座標系で表された値に置換する(S314L)。続いて、選択した画素の中から、さらに、置換後の奥行き方向の座標値がZs1以上Zs2以下の画素群を選択する(S315L)。ここでは、n個(nは整数)の画素が、選択されるものとする。
選択された画素群の画素値は、画角算出手段82に供給される。画角算出手段82は、次式
α2=arctan(Σ(xri/zri)/n)・・・(6”)
に示す演算を行うことにより、図30Aに示す画角α2(右)を算出する(S316L)。式(6”)において、xriは選択されたn個の画素のうちi番目(i:1からnまでの整数)の画素のx値を示す。同様に、zriは画素群86から選択されたn個の画素のうちi番目(i:1からnまでの整数)の画素のz値を示す。
ステップS315RあるいはS315Lにおいて算出された画角値は、画角算出手段82により、メモリ23などの内部メモリに記録される(S317)。また、算出された画角値は、画像ファイル生成部26にも供給され、画像ファイルのヘッダの領域h4に格納される。画角値を格納する領域は、処理例1と同様、概略値が記録されている領域とは別の領域とすることが好ましい。
なお、上記例では左端もしくは右端の一方の画素群を選択しているが、ステレオカメラ1を90度傾けた状態で撮影を行った場合、2つの光学系が垂直方向に並んで配置されているステレオカメラで撮影を行った場合には、上端もしくは下端の画素群の一方を選択する。ステレオカメラではなく、2台の単眼カメラを使って距離画像を生成した場合には、2台のカメラの位置関係に基づいて、2つの光学系により重複して捉えられる範囲を推定もしくは算出し、その範囲に含まれる側の端部にある画素群を選択する。
(使用画素値の抽出範囲)
以下、使用画素値の抽出範囲、すなわち、境界値Ys1、Ys2、Zs1およびZs2の定め方について説明する。境界値は予めメモリに記憶されているものを読み出して利用してもよいし、使用画素値抽出手段81が行なう演算により求めてもよい。
境界値Ys1およびYs2は、画像を垂直方向に概ね三等分したときの中央の範囲、もしくはそれより狭い範囲を特定するように定める。図31の例では、中央部分の1/3よりも少し狭い範囲の画素群が選択されるように境界値Ys1およびYs2を定めている。レンズ歪の影響が少ない中央部分の画素の値を演算に用いることで、撮影画角の算出精度を高めるためである。但し、レンズ歪の影響度はレンズの性能にも依存するので、境界値Ys1およびYs2の値は、距離画像の生成に用いられた撮像系のレンズの種類や性能に基づいて定めるのがよく、概ね三等分したときの中央部分というのは、一つの目安に過ぎない。境界値Ys1およびYs2は、上記方針に基づき定めた値を、予めメモリに記憶しておき、演算の際に使用する。
境界値Zs1およびZs2は、奥行き方向の座標値がZs1以上Zs2以下の範囲で、z値について所定の精度が保障されるように定める。具体的には、ステレオカメラ1からの距離が近すぎる範囲と遠すぎる範囲が除外されるように定める。ステレオカメラ1は1つの点を2つのレンズで捉えることにより距離を測定するが、カメラに近い範囲は一方のレンズでしか捉えられないため、奥行き方向の座標値の精度を保障できない。よって、値Zs1は、この範囲を除外するように定める。
ここで、一方のレンズでしか捉えられない範囲は輻輳角によって変化する。そこで、以下、輻輳角が0度の場合と、それ以外の角度θの場合とに分けて、値Zs1およびZs2の決め方を説明する。
図30Aに示す関係から明らかであるように、輻輳角が0度で、撮像レンズ2aの光軸と撮像レンズ2bの光軸とが並行なときには、一方のレンズでしか捉えられない範囲は、ステレオカメラ1の基線長をL、撮影画角(概略値でよい)をWとして、(L/2)/tanWと表わすことができる。よって、値Zs1は、(L/2)/tanWより大きな値、すなわち、次式
Zs1=(L/2)/tanW+K・・・(8)
で表わされる値とする。但し、範囲オフセット値Kは、ステレオカメラの仕様や性能に応じて定められる正の値である。範囲オフセット値Kは、固定値でもよいし、画角の概略値、基線長、輻輳角などの情報に基づいて算出した値でもよい。
境界値Zs1は、画素群を選択する過程で使用画素値抽出手段81が上記演算を行なうことにより決定する。上記演算において、基線長Lおよび撮影画角Wの値は、ファイルヘッダHに格納されている値が使用される。
なお、上記演算により境界値を決定する代わりに、基線長Lおよび撮影画角Wの値の如何に拘らずZs1>(L/2)/tanWの条件を満たすような値(固定値)をメモリに記憶しておいて利用してもよい。上記演算により境界値を決定する場合にも、固定値をメモリに記憶しておけば、演算に失敗した場合などに固定値を利用した処理が可能になる。
境界値Zs2は、何通りかの設定値を予めメモリに記憶しておき、その中から選択した値を設定する。例えば、設定値と、基線長や撮影画角とを対応づけたテーブルをメモリに記憶しておく。そして、ファイルヘッダに記録されている基線長などに対応する値をテーブルから読み出し、境界値Zs2として設定する。
続いて、図30Bを参照しながら、輻輳角が0度以外の角度θの場合について説明する。図の例では、右側の撮像レンズ2aの光軸はZ軸と並行であるものとする。輻輳角θは、図示されるように、撮像レンズ2aの光軸と撮像レンズ2bの光軸が交差する角度として表わされる。
この場合、2つのレンズで重複して捉えることができる範囲の近距離側の境界は、ステレオカメラ1の基線長をL、撮影画角(概略値でよい)をWとすると、
L・tanβ・tanγ/(tanβ+tanγ)
( 但し、β=90゜−θ−W, γ=90゜−W )
と表わすことができる。よって、境界値Zs1は、L・tanβ・tanγ/(tanβ+tanγ)より大きな値、すなわち、次式
Zs1=L・tanβ・tanγ/(tanβ+tanγ)+K1・・・(9)
で表わされる値とすればよい。但し、範囲オフセット値K1は、ステレオカメラの仕様や性能に応じて定められた正の値である。範囲オフセット値K1は、固定値でもよいし、画角の概略値、基線長、輻輳角などの情報に基づいて算出した値でもよい。
また、2つのレンズで重複して捉えることができる範囲の近距離側の境界は、
L・tanβ’・tanγ/(tanβ’+tanγ)
( 但し、β’=90゜−θ+W, γ=90゜−W )
と表わすことができる。よって、境界値Zs2は、L・tanβ’・tanγ/(tanβ’+tanγ)より小さい値、すなわち、次式
Zs1=L・tanβ’・tanγ/(tanβ’+tanγ)−K2・・・(10)
で表わされる値とすればよい。但し、範囲オフセット値K2は、ステレオカメラの仕様や性能に応じて定められた正の値である。範囲オフセット値K2は、固定値でもよいし、画角の概略値、基線長、輻輳角などの情報に基づいて算出した値でもよい。なお、範囲オフセット値K1,K2は、同じ値としてもよいが、好ましくは、画角の概略値、基線長、輻輳角などの情報に基づいて、それぞれ適切な値を設定するのがよい。
境界値Zs1、Zs2は、画素群を選択する過程で使用画素値抽出手段81が上記演算を行なうことにより決定する。上記演算において、輻輳角θ、基線長Lおよび撮影画角Wの値は、ファイルヘッダHに格納されている値が使用される。
なお、境界値を演算により求める場合には、先にファイルヘッダの輻輳角の情報を参照し、参照された値が0度の場合には上記(8)式による演算を行い、それ以外の場合には上記(9)および(10)式による演算を行なうようにするとよい。また、輻輳角が0度に固定されているときは、ファイルヘッダの情報を参照することなく上記(8)式に基づく演算を実行してもよい。これにより、処理時間を短縮することができる。
以上に説明した手順により定められる境界値Ys1、Ys2、Zs1、Zs2は、画素値が信頼できる範囲を特定する値であるので、境界値により区切られた範囲の画素値のみを使用画素値とすることで、撮影画角の算出の精度を高めることができる。
前述したとおり、本実施形態において、ステレオカメラ1のユーザは、確認用画像に表示される基準マークと特定エリアマークとの位置関係を観察しながら、X軸方向のオフセット値を調整する。撮影画角の値が正確であれば、確認用画像における各マークの表示位置も正確になり、オフセット値を正確に設定することが可能になる。これにより、画像合成時の位置ずれの問題を、確実に解消することができる。
[ 表示制御装置の概要 ]
以下、ステレオカメラ1が出力した画像ファイルを読み込んで、立体画像を再生、表示する表示制御装置について説明する。この表示制御装置は、1つの画像ファイルを参照して立体画像表示を行えるのみならず、複数の画像ファイルから、合成立体画像を形成して表示する画像合成装置としての機能を兼ね備える。
図33に、立体画像表示システムの概要を示す。図に示すように、この立体画像表示システム45は、表示制御装置46と、立体表示モニタ47と、偏光メガネ48により構成される。立体表示モニタ47は、左目用、右目用の2つで一組の視差画像が表示制御装置46から供給されたときに、左目用と右目用とで偏光方向を異ならせて、2つの画像を同時に一画面に出力するものである。偏光メガネ48は、レンズの代わりに偏光フィルタを配したメガネで、偏光フィルタのフィルタ特性は、立体表示モニタ47による偏光の方向と対応している。これにより、偏光メガネ48をかけて立体表示モニタ47を観察したときには、右目は右目用の画像のみ、左目は左目用の画像のみを認識するというしくみである。
なお、立体画像表示の方式としては、図示した例のほか、メガネを用いない裸眼タイプの方式も知られている。代表的なものとしては、レンチキュラー方式、パララックスバリア方式、光源分離方式、DFD(Depth Fused 3-D)方式などが知られている。さらに、最近では被写体からの光線角度を、実際と同等に再現させる表示方法もあり、その方法では視差画像ではない立体表示用画像の方法も提案されている。これらの方式も、表示制御に距離画像を使用するので、図33に例示した方式に代えて、これらの方式を採用してもよい。
図34は、表示制御装置46の構成を示す図である。表示装置はDVD(Digital Versatile Disk)、メモリカードなど複数の記録媒体用のメディアドライブ49a〜49cと、メディアドライブ49a〜49cにセットされた記録媒体からの画像ファイルの読み出しおよび記録媒体への画像ファイルの書き込みを制御する読出/書込制御部50と、ケーブルを接続する外部接続インタフェース51と、外部接続インタフェース51を介した画像ファイルの転送を制御する転送制御部52と、取得した画像ファイルその他処理中のデータを記憶するメモリ56と、立体モニタ47と接続するための表示インタフェース53と、表示インタフェース53を介した表示出力を制御する表示出力制御部54を備える。読出/書込制御部50、転送制御部52、表示出力制御部54およびメモリ56は、システムバス55により接続されている。
システムバス55には、さらに、再生伸長処理部57と、距離画像変換部58と、画像構成部59とが接続されている。再生伸長処理部57は、読出/書込制御部50または転送制御部52により取得され、メモリ56に保存されている画像ファイルから、画像ファイル内に圧縮された状態で記録されているYCCデータを取得する。そして、YCCデータを、圧縮前の状態となるように伸長し、さらにYCC−RGB変換し、変換により得られた一組の視差画像を再びメモリ56に保存する。
距離画像変換部58は、図35のフローチャートが示す処理P400を実行する。距離画像変換部58は、メモリ内の画像ファイルを参照し、そのファイルのヘッダが図9に例示した領域h1〜h10を備えた構造をしているか、確認する(S401)。その画像ファイルが異なる構造を有するファイルであれば、以降の処理は行われない。領域h1〜h10を備えたヘッダを有するファイルであれば、距離画像Dと、ファイルヘッダHの領域h1〜h10に格納されている情報を取得する(S402)。
続いて、ファイルヘッダHの領域h9に設定されている値が“0”か否かを判定することにより、ユーザが共通座標系の指定を行ったか否かを判別する(S403)。領域h9に設定されている値が“0”以外の識別子であるときは、ファイルヘッダHの領域h9からその識別子と対応付けられている変位情報を取得する(S404)。ここでは、変位情報として取得された座標値を(xc,yc,zc)と表すこととする。
続いて領域h10に記録されているフラグの値が“0”か否かを判定することにより、ユーザがオフセット原点の設定を行ったか否かを判別する(S405)。オフセット原点指定されていれば、オフセット値(xof,yof,zof)を取得する(S406)。その後、距離画像変換部58は、以下に示す手順で、固有座標系で表される距離画像を、ユーザが指定した共通座標系で表される距離画像に変換する。
オフセット原点が設定されていないときは、距離画像を構成する各画素(i,j)の値(xdij,ydij,zdij)から、変位情報が示す座標値(xc,yc,zc)を減算する。但しここで、iおよびjは、画素の縦横の位置を示すものとする(S407)。一方、オフセット原点が設定されているときは、距離画像を構成する各画素(i,j)の値(xdij,ydij,zdij)から、変位情報が示す座標値(xc,yc,zc)を減算し、さらにオフセット値(xof,yof,zof)を減算する(S408)。ステップS407とS408は、それぞれ、距離画像を構成するすべての画素を対象として実行する。
変換後の距離画像は、再びメモリ56に保存される(S409)。なお、ステップS403においてユーザ指定情報の値が“0”であった場合には、距離画像の変換は行われず、ステップS402において取得された距離画像が、そのままメモリ56に保存される(S409)。
図36は、画像構成部59の処理を示すフローチャートである。画像構成部59は、メモリ56から、再生伸長処理部57が保存した画像(RGBデータ)と、距離画像変換部58が保存した変換後の距離画像とを取得する(S501)。そして、取得した画像(RGBデータ)と、変換後の距離画像とを使用して、右目用、左目用の視差画像を再構成する(S502)。再構成された視差画像はメモリ56に保存される(S503)。表示出力制御部54は、このときメモリ56に保存された視差画像を立体モニタに出力する。
[ 合成画像の生成および表示 ]
上記説明は、画像ファイル単体の表示制御処理についての説明であるが、続いて、図37を参照して、複数の画像ファイルを取り込んだときの表示制御処理について説明する。ユーザが図示されない操作部から、画像ファイルの連続取り込みの操作を行うと、読出/書込制御部または転送制御部もしくはその両方は、ユーザの操作に応じて画像ファイルの取り込みを、ユーザから取り込み完了を伝える入力があるまで、連続して実行する(S601,S602)。この操作により取り込まれた画像ファイルは、すべてメモリ56に保存される。距離画像変換部58は、図35を参照して説明した距離画像変換処理P400を、メモリ56に記憶されている全画像ファイルを対象として繰り返し実行する(S603)。
画像構成部59は、メモリ56に記憶されている複数の画像ファイルを対象として合成視差画像ファイルの生成処理(P700)を実行し、生成した合成視差画像ファイルをメモリ56に保存する(S604)。メモリ56に保存された合成画像ファイルは、その後、表示出力制御部54によりメモリ56から読み出されて立体モニタ46に出力される(S605)。また、メモリ56に保存された合成画像ファイルは、読出/書込制御部50を介してメモリカードなどの記録媒体に保存したり、転送制御部52を介して他の装置に転送することもできる(S605)。
以下、合成視差画像ファイルの生成処理(P700)について、2つの画像ファイルから合成視差画像ファイルを生成する場合を例示しながら、さらに説明する。図38は、合成の対象となる1つ目の画像ファイル(以下、主画像ファイル)を取得したときの、カメラ、撮影空間および共通座標系の関係を示す図である。この図が示すように、主画像ファイルは、ステレオカメラ1を用い、比較的広い画角で、物体61、物体63および物体64が配された撮影空間を撮影することにより得るものとする。図39に、この撮影により得られた視差画像をモニタに出力したときの表示例を示す。
図40は、合成の対象となる2つ目の画像ファイル(以下、副画像ファイル)を取得したときの、カメラ、撮影空間および共通座標系の関係を示す図である。この図が示すように、副画像ファイルは、ステレオカメラ60を用い、ステレオカメラ1による撮影よりも狭い画角で、物体62が配された撮影空間を撮影することにより得るものとする。なお、ステレオカメラ60は、ステレオカメラ1と同じく、図8や図9を参照して説明したフォーマットの画像ファイルを出力するカメラである。図41に、この撮影により得られた視差画像をモニタに出力したときの表示例を示す。
図42は、合成視差画像ファイル生成処理P700を示すフローチャートである。画像構成部59は、まず、主画像ファイルから水平方向の画角値αhと、垂直方向の画角値αvを読み込み、さらに副画像ファイルから水平方向の画角値βhと、垂直方向の画角値βvを読み込む(S701)。
次に、画像構成部59は、読み込んだ画角値を使って、次式(11)により合成を行うときの主画像MI上の副画像SIの配置領域を求める(S702)。式(11)において、Hdは主画像の水平表示画素数,Vdは主画像の垂直表示画素数を表す。また、副画像の配置領域は、主画像の左下の頂点を(0、0),右上の頂点を(Hd,Vd)と表したときの、副画像の水平方向の配置範囲ha1〜hb1、垂直方向の配置範囲va1〜vb1として求める。図43に、Hd,Vd,ha1,hb1,va1およびvb1の関係と、それにより特定される副画像の配置領域65を例示する。
ha1=(Hd/2)−(Hd/2)×(arctan βh/arctan αh)
hb1=(Hd/2)+(Hd/2)×(arctan βh/arctan αh)
va1=(Vd/2)−(Vd/2)×(arctan βv/arctan αv)
vb1=(Vd/2)+(Vd/2)×(arctan βv/arctan αv)
・ ・・(11)
画像構成部59は、ステップS702において求めた配置領域65にあわせて、副画像ファイル内の視差画像を縮小する(S703)。そして、主画像については、変換後距離画像を用いて主画像視差画像を再構成する(S704)。副画像についても、変換後距離画像を用いた画像の再構成を行うが、この処理は、副画像ファイルに記録されている画像ではなく、ステップS403で縮小した画像を対象として行う(S705)。続いて、ステップS404で再構成した主画像視差画像に、ステップS705で構成した縮小副画像の視差画像を重畳合成し、合成視差画像を生成する(S706)。図44に、この処理により生成される合成視差画像をモニタに出力したときの表示例を示す。
合成視差画像は以上に説明した処理により完成するが、ここでは、画像構成部59がさらに、配置領域65のみを対象とした拡大合成視差画像を生成するものとする。以下、この拡大合成視差画像の生成について説明する。
画像構成部59は、主画像ファイル内の視差画像、すなわち合成前の視差画像から、副画像の配置領域に相当する部分の画像を切り出す(S707)。以下、切り出した視差画像を部分画像と称する。続いて、切り出した部分画像を縮小される前の副画像と同じサイズまで拡大する(S708)。以下、拡大された視差画像を部分拡大画像と称する。続いて、画像構成部59は、部分拡大画像の視差画像を、変換後距離画像を用いて再構成する(S709)。図45に、再構成された部分拡大画像の視差画像をモニタに出力したときの表示例を示す。
また、副画像についても、変換後距離画像を用いて視差画像を再構成する(S710)。そして、ステップS609で再構成した部分拡大画像の視差画像に、ステップS710で再構成した副画像視差画像を重畳合成する。これにより、副画像の配置領域65のみの合成視差画像が生成される(S711)。図46に、副画像の配置領域65のみの合成視差画像をモニタに出力したときの表示例を示す。画像構成部59は、次に、ステップS606で生成した合成視差画像、ステップS711で生成した副画像配置領域のみの合成視差画像、およびステップS702で求めた配置領域の情報を含む合成視差画像ファイルを生成する(S712)。
3以上の画像ファイルを対象とした合成処理を行う場合には、ステップS701において読み取った画角の情報に基づいて、最も画角の広い画像を主画像とし、他を副画像として以降の処理を行うとよい。この場合、副画像に関連するステップは、副画像ごとに実行することとなる。あるいは、副画像の画角が主画像よりも広いままで合成を行うとすれば、副画像から主画像の画角を越える範囲を削除してから合成を行うことが考えられる。
なお、上記例では、物体同士の位置関係を正確に再現することを優先し、図44の合成視差画像、図46の合成視差画像ともに、変換後距離画像に忠実な表示を行っている。これに対し、正確さよりも見易さを優先する形態も考えられる。例えば、ユーザは、副画像をよく観察したいときに、図46の合成視差画像の表示を要求するであろう。よって、図46の合成視差画像の表示が要求された場合には、位置関係の正確な再現よりも、副画像の見易さを優先してもよい。そのような思想に基づいて合成視差画像ファイルを生成するときは、図46に示した表示に代えて、図47に示すような特殊表示を行うとよい。すなわち、主画像の中に、副画像に含まれる物体を覆い隠す位置にある物体が存在する場合には、その物体のみ表示を行わないようにする。
特殊表示を行うときは、ステップS709で部分拡大画像の視差画像を再構成する以前に、副画像ファイルに前述した特定エリアAの位置座標(xa、ya,za)の情報が格納されているか否かを判定する。副画像ファイルが特定エリアの位置座標の情報を含んでいる場合には、奥行き方向の値zaを取得する。一方、副画像ファイルが特定エリアの位置座標の情報を含んでいなければ、副画像の距離画像に基づいて副画像内の物体のうち、最も手前に位置する物体の中心点などを特定エリアとみなし、その奥行き方向の位置座標の値zaを副画像の距離画像から取得する。
そして、主画像の距離画像から、奥行き方向の座標値としてza以下の値を有する画素を探索し、その画素の値を無限に遠くを指す値に置き換える。これにより置き換えを行った範囲には物体は配置されていないことになるので、ステップS709において再構成される部分拡大画像の視差画像は、図48に示すようなものとなる。すなわち、副画像に含まれる物体を覆い隠す位置にある物体は非表示となる。以降の処理は、前述したステップS710、S711およびS712の処理と同じである。
以下、合成視差画像ファイルのフォーマットについて説明する。図49に示すように、合成視差画像ファイルは、ファイルヘッダH´、上記ステップS706で生成される画像全体の合成視差画像、および上記ステップS711で生成される副画像の配置領域のみの合成視差画像により構成される。副画像ファイルが複数あるときには、図に示すように、ファイルには、副画像の配置領域のみの合成視差画像が複数記録される。
図50に示すように、ファイルヘッダH´には、合成の対象となる画像ファイルの数を格納する領域h´1、メモリ内の主画像ファイルのファイルナンバーを格納する領域h´2、副画像ファイルのファイルナンバーを格納する領域h´3、副画像配置領域のみの合成視差画像の有無を示すデータを格納する領域h´4、副画像の配置領域情報h´5、合成視差画像のアドレスを格納する領域h´6、副画像の配置領域のみの合成視差画像のアドレスを格納する領域h´7が設けられている。領域h´3、h´5およびh´7は副画像の数に相当する数の領域が設けられる。なお、これ以外に、合成に用いた元の画像ファイルへのリンク情報を格納する領域を設けてもよい。
領域h´1にはファイルの数を示す数値が設定される。領域h´2および領域h´3に設定するファイルナンバーはファイルを指定する識別子であり、アルファベットなどを含む記号でもよい。領域h´4には、副画像配置領域のみの合成視差画像がファイルに含まれているときには“1”、含まれていないときには“0”という値が設定される。図42に示したフローチャートでステップS707〜S711の処理が省略された場合には、領域h´4には値“0”が設定される。領域h´5には、ステップS702で求められた値ha1,hb1,va1およびvb1が格納される。領域h´6および領域h´7には、各合成視差画像が格納された位置を示すアドレスが設定される。ここでアドレスとは、例えば、図49に示されるファイルの先頭から各合成視差画像までのオフセットとする。
以上に説明したように、画像構成部59は、距離画像変換部58による変換後の距離画像を用いて画像の合成を行う。すなわち共通座標系上で視差画像の合成を行う。このため、主画像ファイルと副画像ファイルとで、ファイルヘッダで同一の共通座標系を指定しておけば、従来手法において発生していた問題は生じず、合成の対象となる各画像ファイルが同じ装置により生成されたものであるときも、異なる装置により生成されたものであるときも、合成処理の結果は同じになる。特に、上記例のように、拡大縮小を伴う複雑な合成処理は、座標系の違いによる位置ずれが生じてしまう従来手法では、安定した結果を得ることができない。上記手法によれば、座標系のずれを気にすることなく種々の画像処理を施すことができるため、上記例以上に複雑な合成処理を行ったとしても常に安定した結果を得ることができる。
また、画像構成部59は表示の度に合成処理を行うのではなく、合成処理により得られた合成視差画像および合成の過程で得られた情報を1つの画像ファイルにまとめて保存しておく。このため、後に同じ合成視差画像の表示が必要になった場合には、ファイル内の合成視差画像をモニタ上に再生するだけでよく、処理時間を大幅に短縮することができる。また、合成視差画像ファイルとして保存するようにしたことで、合成処理と表示処理とを異なる装置で分担して行うことが可能になる。合成処理を別個の装置に行わせることで、表示制御装置を構成する回路を簡略化することができるので、表示制御装置の小型化、低コスト化にもつながる。
[ 変形例 ]
また、上記実施形態では、撮影画角算出装置は、ステレオカメラ1の確認用画像生成部67の一構成要素として実装されているが、本発明の撮影画角算出装置は、撮影画角の値を必要とするあらゆる処理部に組み込むことができる。また、独立した処理部あるいは装置として実装することにより、種々の画像処理に幅広く利用することができる。
また、距離画像を生成する装置に限らず、他の装置において生成された距離画像を取り扱う装置にも適用可能である。例えば、上に示した表示制御装置のような装置、すなわち、撮影画角の値を利用して立体画像の編集処理を行う立体画像編集装置や、撮影画角の値を利用して表示用の立体画像を再生する再生装置にも、組み込むことができる。再生装置は、再生機能を備えた処理装置(パソコンなど)のほか、表示装置と一体になった装置でもよい。演算に用いる値の精度を高めることで、編集あるいは表示再生する画像の、ずれや歪みを低減することができる。本発明は、この他、処理の過程で撮影画角の正確な値を必要とする、あらゆる装置に適用可能である。
本発明の撮影画角算出装置の一実施形態であるステレオカメラの外観図(正面側) 本発明の撮影画角算出装置の一実施形態であるステレオカメラの外観図(背面側) ステレオカメラの内部構成を示すブロック図 撮影空間を例示した図 視差画像(RGBデータ)を例示した図 固有座標系を例示した図 カメラの他の構成を例示した図 他の構成を有するカメラの外観を例示した図 画像ファイルのフォーマットを示す図 画像ファイルのファイルヘッダの一例を示す図 画像ファイルのファイルヘッダの他の例を示す図 固有座標系の問題点について説明するための図 固有座標系の問題点について説明するための図 固有座標系の問題点について説明するための図 固有座標系の問題点について説明するための図 固有座標系の問題点について説明するための図 共通座標系を例示した図 外観上認識し得る原点の一例を示す図 外観上認識し得る原点の他の例を示す図 共通座標系の原点の他の候補を示す図 変位情報を設定する領域h8の詳細フォーマットを示す図 オフセット原点について説明するための図 Z軸方向のオフセット値設定処理の一例を示す図 Z軸方向のオフセット値設定画面の表示例を示す図 Z軸方向のオフセット値設定画面の表示例を示す図 Z軸方向のオフセット値設定画面の表示例を示す図 X軸方向のオフセット値設定処理の一例を示す図 X軸方向のオフセット値設定画面の表示例を示す図 X軸方向のオフセット値設定画面の表示例を示す図 X軸方向のオフセット値設定画面の表示例を示す図 撮影画角の算出手段を示す図 撮影画角の算出方法について説明するための図 撮影画角の算出方法について説明するための図 撮影画角の算出方法について説明するための図 撮影画角算出処理の一例を示すフローチャート 撮影画角算出処理の他の例を示すフローチャート 立体画像表示システムの概要を示す図 表示制御装置の構成例を示す図 距離画像変換部の処理を例示したフローチャート 画像構成部の処理を例示したフローチャート 複数画像ファイル取込時の表示制御処理を例示したフローチャート 主画像取得時のカメラ、撮影空間、共通座標系の関係を例示した図 主画像のみの表示例を示す図 副画像取得時のカメラ、撮影空間、共通座標系の関係を例示した図 副画像のみの表示例を示す図 合成視差画像ファイルの生成処理を例示したフローチャート 副画像の配置領域について説明するための図 合成視差画像の表示例を示す図 主画像の部分拡大画像の表示例を示す図 副画像の配置領域のみの合成視差画像の表示例を示す図 副画像の配置領域のみの合成視差画像の特殊表示の例を示す図 特殊表示のための部分拡大画像の補正例を示す図 合成視差画像ファイルのフォーマットを示す図 合成視差画像ファイルのヘッダの一部領域を示す図
符号の説明
1 ステレオカメラ、 2a,2b,2c 撮像レンズ、
3 シャッタレリーズボタン、 4 ファインダ、 5 操作ボタン、
7 モニタ、 8 カードスロット、 9 メモリカード、 10 外部接続I/F、
11a,11b,11c CCD、 14,55 システムバス、
27,33,37,61,62,63,64,83,84,85 撮影空間に配置された物体、28a,28b RGBデータ、 29 赤外線照射部、
31 画像ファイル、 H,H´ ヘッダ、 32,36 従来のステレオカメラ、
34,38 固有座標系、 40,47 立体表示モニタ、
43,44a,44b 基点マーク、
45 立体表示システム、 46 表示制御装置、 65 副画像の配置領域、
A 特定エリア、 72 基準マーク

Claims (16)

  1. 撮影空間を撮影したときに撮像系により捉えられた各点の位置を、それぞれ、水平方向、垂直方向、奥行き方向の座標値の組として記憶するためのメモリと、
    前記垂直方向および/または水平方向の座標値に基づいて前記メモリに記憶されている点の中から前記撮像系が捉えた範囲の端部に位置する複数の点を選択し、該選択された各点の水平方向および/または垂直方向の座標値と奥行き方向の座標値とを抽出する使用画素値抽出手段と、
    前記使用画素値抽出手段により前記メモリから抽出された水平方向および奥行き方向の座標値を使用して水平方向の撮影画角を算出し、および/または、前記使用画素値抽出手段により前記メモリから抽出された垂直方向および奥行き方向の座標値を使用して垂直方向の撮影画角を算出する画角算出手段とを備えた撮影画角算出装置。
  2. 前記使用画素値抽出手段が、水平方向の端部に位置する点の垂直方向の位置情報に基づいて、前記水平方向の端部に位置する点の中から垂直方向の中央部に位置する点を選択し、および/または、垂直方向の端部に位置する点の水平方向の位置情報に基づいて、前記垂直方向の端部に位置する点の中から水平方向の中央部に位置する点を選択し、該選択した点について前記座標値の抽出を行うことを特徴とする請求項1記載の撮影画角算出装置。
  3. 前記撮像系が一の光学系により輝度画像を取得し、該一の光学系を含む2つの光学系により前記座標値を取得するものであるときに、
    前記使用画素値抽出手段が、前記一の光学系と他の光学系との位置関係に基づいて、2つの光学系により重複して捉えられる範囲を推定し、該範囲に含まれる端部においてのみ前記複数の点の選択を行なうことを特徴とする請求項1または2記載の撮影画角算出装置。
  4. 前記使用画素値抽出手段が、奥行き方向の座標値について所定の精度が保障される奥行き方向の範囲を設定し、該設定した範囲内の点について前記座標値の抽出を行うことを特徴とする請求項1から3のいずれか1項記載の撮影画角算出装置。
  5. 前記使用画素値抽出手段が、前記撮像系を構成する2つの光学系の基線長と画角の概略値とに基づいて、前記範囲を設定することを特徴とする請求項4記載の撮影画角算出装置。
  6. 前記使用画素値抽出手段が、前記撮像系を構成する2つの光学系の基線長、画角の概略値および輻輳角に基づいて、前記範囲を設定することを特徴とする請求項4記載の撮影画角算出装置。
  7. 前記使用画素値抽出手段が、奥行き方向の座標値について前記精度が保障される奥行き方向の範囲を、2つの光学系により重複して捉えられる範囲に所定の範囲オフセット値を付加した範囲に設定することを特徴とする請求項4記載の撮影画角算出装置。
  8. 前記範囲オフセット値が、前記範囲の境界ごとに定められることを特徴とする請求項7記載の撮影画角算出装置。
  9. 前記画角算出手段が、前記使用画素値抽出手段により前記メモリから抽出された画素値を対象として次式
    α=arctan(Σ(xi/zi)/n)
    ( α: 撮影画角
    n: 選択された画素の数
    i: 1〜n
    xi: i番目に選択された画素の水平方向または垂直方向の位置を示す画素値
    zi: i番目に選択された画素の奥行き方向の位置を示す画素値 )
    に基づく演算を行うことにより、前記撮影画角を算出する手段であることを特徴とする請求項1から8のいずれか1項記載の撮影画角算出装置。
  10. 前記画角算出手段が、算出した撮影画角の値を、所定のメモリに記録することを特徴とする請求項1から9のいずれか1項記載の撮影画角算出装置。
  11. 前記画角算出手段が、算出した撮影画角の値を、前記座標値の組が記録されているファイルに記録することを特徴とする請求項1から10のいずれか1項記載の撮影画角算出装置。
  12. 前記画角算出手段が、算出した撮影画角の値を、前記ファイル内の、画角の概略値が記録されている領域と異なる領域に記録することを特徴とする請求項11記載の撮影画角算出装置。
  13. 請求項1から12のいずれか1項記載の撮影画角算出装置と、
    前記撮影画角算出装置に対し、前記撮像系により捉えられた各点の位置の座標値を表わす距離画像を供給する手段とを備えた距離画像生成装置。
  14. 請求項1から12のいずれか1項記載の撮影画角算出装置と、
    前記撮影画角算出装置が算出した撮影画角の値を利用して立体画像の編集を行なう編集手段とを備えた立体画像編集装置。
  15. 請求項1から12のいずれか1項記載の撮影画角算出装置と、
    前記撮影画角算出装置が算出した撮影画角の値を利用して表示用立体画像を再生する再生手段とを備えた立体画像再生装置。
  16. 請求項1から12のいずれか1項記載の撮影画角算出装置と、
    前記撮影画角算出装置が算出した撮影画角の値を利用して、表示用の立体画像を再生する再生手段と、
    再生された表示用立体画像を出力する表示手段と
    を備えた立体画像表示装置。
JP2007207692A 2007-08-09 2007-08-09 撮影画角算出装置 Expired - Fee Related JP4739291B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007207692A JP4739291B2 (ja) 2007-08-09 2007-08-09 撮影画角算出装置
US12/188,697 US8326023B2 (en) 2007-08-09 2008-08-08 Photographing field angle calculation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007207692A JP4739291B2 (ja) 2007-08-09 2007-08-09 撮影画角算出装置

Publications (2)

Publication Number Publication Date
JP2009044496A JP2009044496A (ja) 2009-02-26
JP4739291B2 true JP4739291B2 (ja) 2011-08-03

Family

ID=40346593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007207692A Expired - Fee Related JP4739291B2 (ja) 2007-08-09 2007-08-09 撮影画角算出装置

Country Status (2)

Country Link
US (1) US8326023B2 (ja)
JP (1) JP4739291B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4995854B2 (ja) * 2009-03-11 2012-08-08 富士フイルム株式会社 撮像装置、画像補正方法および画像補正プログラム
US8340432B2 (en) 2009-05-01 2012-12-25 Microsoft Corporation Systems and methods for detecting a tilt angle from a depth image
JP2011035643A (ja) * 2009-07-31 2011-02-17 Fujifilm Corp 多眼撮影方法および装置、並びにプログラム
JP4806082B2 (ja) * 2010-03-30 2011-11-02 株式会社東芝 電子機器及び画像出力方法
KR101645465B1 (ko) * 2010-07-23 2016-08-04 삼성전자주식회사 휴대용 단말기에서 입체 영상 데이터를 생성하기 위한 장치 및 방법
JP5238767B2 (ja) * 2010-07-26 2013-07-17 株式会社東芝 視差画像生成方法及び装置
EP2608553A4 (en) * 2010-08-19 2014-04-16 Panasonic Corp STEREOSCOPIC IMAGE RECORDING DEVICE AND STEREOSCOPIC IMAGE RECORDING METHOD
JP5633259B2 (ja) * 2010-09-06 2014-12-03 ソニー株式会社 立体画像データ送信装置、立体画像データ送信方法および立体画像データ受信装置
JP5302285B2 (ja) * 2010-10-28 2013-10-02 シャープ株式会社 立体映像出力装置、立体映像出力方法、立体映像出力プログラムおよびコンピュータ読み取り可能な記録媒体、ならびに、立体映像表示装置
KR20120051308A (ko) * 2010-11-12 2012-05-22 삼성전자주식회사 3d 입체감을 개선하고 시청 피로를 저감하는 방법 및 장치
CN103959340A (zh) * 2011-12-07 2014-07-30 英特尔公司 用于自动立体三维显示器的图形呈现技术
US8971611B2 (en) * 2012-02-08 2015-03-03 JVC Kenwood Corporation Image process device, image process method, and image process program
RU2521152C1 (ru) * 2013-03-29 2014-06-27 Открытое акционерное общество "Красногорский завод им. С.А. Зверева" Установка для измерения углового поля зрения и контроля величины шага линий миры тест-объекта
US10085008B2 (en) * 2013-09-11 2018-09-25 Sony Corporation Image processing apparatus and method
US20150185308A1 (en) * 2014-01-02 2015-07-02 Katsuhiro Wada Image processing apparatus and image processing method, image pickup apparatus and control method thereof, and program
KR102312273B1 (ko) * 2014-11-13 2021-10-12 삼성전자주식회사 거리영상 측정용 카메라 및 그 동작방법
EP3565259A4 (en) * 2016-12-28 2019-11-06 Panasonic Intellectual Property Corporation of America THREE-DIMENSIONAL MODEL DISTRIBUTION METHOD, THREE-DIMENSIONAL MODEL RECEIVING METHOD, THREE-DIMENSIONAL MODEL DISTRIBUTION DEVICE, AND THREE-DIMENSIONAL MODEL RECEIVING DEVICE

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09237354A (ja) * 1996-02-29 1997-09-09 Chokosoku Network Computer Gijutsu Kenkyusho:Kk 3次元形状データ転送表示方法
JPH10224825A (ja) * 1997-02-10 1998-08-21 Canon Inc 画像表示システム及び該システムにおける画像表示装置及び情報処理装置及びそれらの制御方法及び記憶媒体
DE69940442D1 (de) * 1999-01-06 2009-04-02 Hideyoshi Horimai Vorrichtung und verfahren zur dreidimensionalen bildaufnahme und vorrichtung und verfahren zur dreidimensionalen bildwiedergabe
JP4237868B2 (ja) * 1999-05-10 2009-03-11 株式会社トプコン 画像形成システム
JP2000341720A (ja) * 1999-05-31 2000-12-08 Asahi Optical Co Ltd 3次元画像入力装置および記録媒体
JP4428761B2 (ja) * 1999-07-07 2010-03-10 Hoya株式会社 ステレオカメラ
JP2002095018A (ja) * 2000-09-12 2002-03-29 Canon Inc 画像表示制御装置及び画像表示システム、並びに画像データの表示方法
GB2370738B (en) * 2000-10-27 2005-02-16 Canon Kk Image processing apparatus
US7555157B2 (en) * 2001-09-07 2009-06-30 Geoff Davidson System and method for transforming graphical images
US20030076413A1 (en) * 2001-10-23 2003-04-24 Takeo Kanade System and method for obtaining video of multiple moving fixation points within a dynamic scene
US20040070667A1 (en) * 2002-10-10 2004-04-15 Fuji Photo Optical Co., Ltd. Electronic stereoscopic imaging system
JP2006157432A (ja) * 2004-11-29 2006-06-15 Fuji Photo Film Co Ltd 立体画像撮影装置及び立体画像の撮影方法
JP4463792B2 (ja) * 2006-09-29 2010-05-19 富士フイルム株式会社 撮影装置
US8049658B1 (en) * 2007-05-25 2011-11-01 Lockheed Martin Corporation Determination of the three-dimensional location of a target viewed by a camera
US7933512B2 (en) * 2009-03-24 2011-04-26 Patrick Campbell Stereo camera with controllable pivot point

Also Published As

Publication number Publication date
JP2009044496A (ja) 2009-02-26
US8326023B2 (en) 2012-12-04
US20090041338A1 (en) 2009-02-12

Similar Documents

Publication Publication Date Title
JP4739291B2 (ja) 撮影画角算出装置
JP4403172B2 (ja) ファイル生成方法および装置並びに立体画像の表示制御方法および装置
JP7185434B2 (ja) 複数のカメラを用いて映像を取得するための電子装置及びこれを用いた映像処理方法
JP4943270B2 (ja) 三次元座標系の設定方法および装置
CN108600576B (zh) 图像处理装置、方法和系统以及计算机可读记录介质
JP4403173B2 (ja) 立体表示用ファイルの生成方法および装置並びに表示制御方法および装置
US20130113875A1 (en) Stereoscopic panorama image synthesizing device, multi-eye imaging device and stereoscopic panorama image synthesizing method
US8373745B2 (en) Image processing apparatus, image display apparatus, image apparatus, and image processing method
JP4717853B2 (ja) ファイル生成方法および装置並びに立体画像の表示制御方法および装置
US20110157328A1 (en) Three-dimensional display device and method as well as program
JPH1127703A (ja) 表示装置及びその制御方法
JP6452360B2 (ja) 画像処理装置、撮像装置、画像処理方法およびプログラム
JP2003187261A (ja) 3次元画像生成装置、3次元画像生成方法、立体画像処理装置、立体画像撮影表示システム、立体画像処理方法及び記憶媒体
KR20150003576A (ko) 삼차원 영상 생성 또는 재생을 위한 장치 및 방법
JP2002232913A (ja) 複眼カメラ及び立体視画像観察システム
JP5567901B2 (ja) ステレオ撮影対応型の交換レンズ、撮像システム
JP2005020606A (ja) デジタルカメラ
JP2000112019A (ja) 電子3眼カメラ装置
JP5796611B2 (ja) 画像処理装置、画像処理方法、プログラムおよび撮像システム
JPH1188912A (ja) 複眼カメラ及び複眼カメラにおける表示制御方法
JPH09305796A (ja) 画像情報処理装置
JP2020191624A (ja) 電子機器およびその制御方法
JP6079838B2 (ja) 画像処理装置、プログラム、画像処理方法および撮像システム
JP5367747B2 (ja) 撮像装置および撮像方法、ならびに、撮像システム
JP2017103695A (ja) 画像処理装置、画像処理方法、及びそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100225

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110427

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees