(57)【特許請求の範囲】
【請求項１】
撮影空間を撮影したときに撮像系により捉えられた各点の位置を、それぞれ、水平方向、垂直方向、奥行き方向の座標値の組として記憶するためのメモリと、
前記垂直方向および／または水平方向の座標値に基づいて前記メモリに記憶されている点の中から前記撮像系が捉えた範囲の端部に位置する複数の点を選択し、該選択された各点の水平方向および／または垂直方向の座標値と奥行き方向の座標値とを抽出する使用画素値抽出手段と、
前記使用画素値抽出手段により前記メモリから抽出された水平方向および奥行き方向の座標値を使用して水平方向の撮影画角を算出し、および／または、前記使用画素値抽出手段により前記メモリから抽出された垂直方向および奥行き方向の座標値を使用して垂直方向の撮影画角を算出する画角算出手段とを備えた撮影画角算出装置。
【請求項２】
前記使用画素値抽出手段が、水平方向の端部に位置する点の垂直方向の位置情報に基づいて、前記水平方向の端部に位置する点の中から垂直方向の中央部に位置する点を選択し、および／または、垂直方向の端部に位置する点の水平方向の位置情報に基づいて、前記垂直方向の端部に位置する点の中から水平方向の中央部に位置する点を選択し、該選択した点について前記座標値の抽出を行うことを特徴とする請求項１記載の撮影画角算出装置。
【請求項３】
前記撮像系が一の光学系により輝度画像を取得し、該一の光学系を含む２つの光学系により前記座標値を取得するものであるときに、
前記使用画素値抽出手段が、前記一の光学系と他の光学系との位置関係に基づいて、２つの光学系により重複して捉えられる範囲を推定し、該範囲に含まれる端部においてのみ前記複数の点の選択を行なうことを特徴とする請求項１または２記載の撮影画角算出装置。
【請求項４】
前記使用画素値抽出手段が、奥行き方向の座標値について所定の精度が保障される奥行き方向の範囲を設定し、該設定した範囲内の点について前記座標値の抽出を行うことを特徴とする請求項１から３のいずれか１項記載の撮影画角算出装置。
【請求項５】
前記使用画素値抽出手段が、前記撮像系を構成する２つの光学系の基線長と画角の概略値とに基づいて、前記範囲を設定することを特徴とする請求項４記載の撮影画角算出装置。
【請求項６】
前記使用画素値抽出手段が、前記撮像系を構成する２つの光学系の基線長、画角の概略値および輻輳角に基づいて、前記範囲を設定することを特徴とする請求項４記載の撮影画角算出装置。
【請求項７】
前記使用画素値抽出手段が、奥行き方向の座標値について前記精度が保障される奥行き方向の範囲を、２つの光学系により重複して捉えられる範囲に所定の範囲オフセット値を付加した範囲に設定することを特徴とする請求項４記載の撮影画角算出装置。
【請求項８】
前記範囲オフセット値が、前記範囲の境界ごとに定められることを特徴とする請求項７記載の撮影画角算出装置。
【請求項９】
前記画角算出手段が、前記使用画素値抽出手段により前記メモリから抽出された画素値を対象として次式
α＝ａｒｃｔａｎ（Σ（ｘｉ／ｚｉ）／ｎ）
（  α：  撮影画角
ｎ：  選択された画素の数
ｉ：  １〜ｎ
ｘｉ：  ｉ番目に選択された画素の水平方向または垂直方向の位置を示す画素値
ｚｉ：  ｉ番目に選択された画素の奥行き方向の位置を示す画素値  ）
に基づく演算を行うことにより、前記撮影画角を算出する手段であることを特徴とする請求項１から８のいずれか１項記載の撮影画角算出装置。
【請求項１０】
前記画角算出手段が、算出した撮影画角の値を、所定のメモリに記録することを特徴とする請求項１から９のいずれか１項記載の撮影画角算出装置。
【請求項１１】
前記画角算出手段が、算出した撮影画角の値を、前記座標値の組が記録されているファイルに記録することを特徴とする請求項１から１０のいずれか１項記載の撮影画角算出装置。
【請求項１２】
前記画角算出手段が、算出した撮影画角の値を、前記ファイル内の、画角の概略値が記録されている領域と異なる領域に記録することを特徴とする請求項１１記載の撮影画角算出装置。
【請求項１３】
請求項１から１２のいずれか１項記載の撮影画角算出装置と、
前記撮影画角算出装置に対し、前記撮像系により捉えられた各点の位置の座標値を表わす距離画像を供給する手段とを備えた距離画像生成装置。
【請求項１４】
請求項１から１２のいずれか１項記載の撮影画角算出装置と、
前記撮影画角算出装置が算出した撮影画角の値を利用して立体画像の編集を行なう編集手段とを備えた立体画像編集装置。
【請求項１５】
請求項１から１２のいずれか１項記載の撮影画角算出装置と、
前記撮影画角算出装置が算出した撮影画角の値を利用して表示用立体画像を再生する再生手段とを備えた立体画像再生装置。
【請求項１６】
請求項１から１２のいずれか１項記載の撮影画角算出装置と、
前記撮影画角算出装置が算出した撮影画角の値を利用して、表示用の立体画像を再生する再生手段と、
再生された表示用立体画像を出力する表示手段と
を備えた立体画像表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影空間の三次元情報（距離画像など）を使って、撮影画角を算出する装置に関する。
【背景技術】
【０００２】
コンピュータビジョンの分野では、撮影空間をある方向から見たときに視認できる点の位置を光学的に計測することにより、撮影空間に配置された物体の三次元形状を認識したり、撮影空間の奥行きを認識したりすることが行われている。計測の手法としては、三角測量の原理を利用したステレオ画像法、光の照射から反射光の受光までの時間を測定するＴＯＦ（Time of Flight）法、スリット光を照射したときのパターン光を調べる光切断法などが知られている。
【０００３】
視認できる点の位置を所定の座標系における座標値として表し、その座標値を画素値として記録した画像は、一般に「距離画像」、「奥行画像」などと呼ばれている。距離画像には、人間が対象を両眼視することにより認識する空間的な位置の情報が含まれている。一方、通常の撮影により得られるＲＧＢデータあるいは濃淡画像には、人間が物体を見たときに認識する色や明るさの情報が含まれている。よって、距離画像から得られる情報とＲＧＢデータなどから得られる情報とを組み合わせれば、人間が視覚により取得するのとほぼ同等の情報をコンピュータに認識させることができる。これにより、撮影空間の立体映像をモニタ上に再生したり、コンピュータにより三次元の物体を判別することが可能となる。
【０００４】
このような技術は、あらゆる産業分野において有用な技術であるため、数々の研究が進められている（例えば、特許文献１参照）。
【特許文献１】特開２００２−０９５０１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
距離画像を用いた画像処理では、撮影画角の情報が必要になることがある。このため、撮影画角の情報は、撮影が行われ距離画像が生成されたときに、距離画像とともに画像ファイル内に記録されることが多い。しかし、画像ファイルに記録される値は、多くの場合、離散的な公称値に丸められている。このため、高い精度が求められる画像処理への利用には適さない。本発明の解決課題は、撮影画角の概略値はわかるものの精度が十分でない場合に、距離画像を使って撮影画角の値を正確に算出することができる装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の撮影画角算出装置は、撮影空間を撮影したときに撮像系により捉えられた各点の位置を、それぞれ、水平方向、垂直方向、奥行き方向の座標値の組として記憶するためのメモリと、以下に説明する使用画素値抽出手段および画角算出手段を備えることを特徴とするものである。
【０００７】
使用画素値抽出手段は、垂直方向の座標値に基づいて前記メモリに記憶されている点の中から、撮像系が捉えた範囲の水平方向の端部に位置する複数の点を選択し、選択された各点の水平方向の座標値と奥行き方向の座標値とを抽出する。または、水平方向の座標値に基づいて前記メモリに記憶されている点の中から、撮像系が捉えた範囲の垂直方向の端部に位置する複数の点を選択し、選択された各点の垂直方向の座標値と奥行き方向の座標値とを抽出する。あるいは、その両方の処理を行う。
【０００８】
画角算出手段は、使用画素値抽出手段により前記メモリから抽出された水平方向および奥行き方向の座標値を使用して水平方向の撮影画角を算出する。または、使用画素値抽出手段により前記メモリから抽出された垂直方向および奥行き方向の座標値を使用して垂直方向の撮影画角を算出する。あるいは、その両方の処理を行う。
【０００９】
上記構成によれば、撮像系が捉えた各点の位置情報から、撮影画角の値を精度良く算出することができる。よって、撮影画角の概略値しかわからないときでも、撮影画角の正確な値に基づく高精度な制御処理、画像処理を実行することができる。
【００１０】
使用画素値抽出手段は、水平方向の端部に位置する点の垂直方向の位置情報に基づいて、水平方向の端部に位置する点の中から垂直方向の中央部に位置する点を選択するか、または、垂直方向の端部に位置する点の水平方向の位置情報に基づいて、垂直方向の端部に位置する点の中から水平方向の中央部に位置する点を選択するか、あるいはその両方の処理を行うことが好ましい。レンズ歪の影響が少ない中央部の画素の値のみを演算に用いることで、撮影画角の算出精度を高めることができる。
【００１１】
また、撮像系が一の光学系により輝度画像を取得し、その一の光学系を含む２つの光学系により座標値を取得するものであるときには、使用画素値抽出手段は、その一の光学系と他の光学系との位置関係に基づいて、２つの光学系により重複して捉えられる範囲を推定し、該範囲に含まれる端部においてのみ前記複数の点の選択を行なうことが好ましい。奥行き方向の座標値の精度が高い側の端部からのみ画素値を抽出することで、撮影画角の算出精度を高めることができる。
【００１２】
また、使用画素値抽出手段は、奥行き方向の座標値について所定の精度が保障される奥行き方向の範囲を設定し、設定した範囲内の点について座標値の抽出を行うことが好ましい。「所定の精度が保障される奥行き方向の範囲」は、撮像系を構成する２つの光学系の基線長と画角の概略値とに基づいて設定する。あるいは、輻輳角が０度以外である可能性があるときは、撮像系を構成する２つの光学系の基線長、画角の概略値および輻輳角に基づいて設定する。例えば、２つの光学系により重複して捉えられる範囲に、所定の範囲オフセット値を付加した範囲に設定する。範囲オフセット値は、範囲の境界ごとに、すなわち撮像系に近い側の境界と遠い側の境界とで、それぞれ定めるのがよい。奥行き方向の座標値の精度が高い範囲からのみ画素値を抽出することで、撮影画角の算出精度を高めることができる。
【００１３】
画角算出手段は、使用画素値抽出手段によりメモリから抽出された画素値を対象として、例えば次式
α＝ａｒｃｔａｎ（Σ（ｘｉ／ｚｉ）／ｎ）
（  α：  撮影画角
ｎ：  選択された画素の数
ｉ：  １〜ｎ
ｘｉ：  ｉ番目に選択された画素の水平方向または垂直方向の位置を示す画素値
ｚｉ：  ｉ番目に選択された画素の奥行き方向の位置を示す画素値  ）
に基づく演算を行うことにより、撮影画角を算出する。算出された撮影画角の値は、所定のメモリ、あるいは座標値の組が記録されているファイル、もしくはメモリとファイルの両方に記録しておくことが好ましい。次に撮影画角を利用した演算を行うときに、記憶しておいた値を参照して演算を行なえば、全体の演算量が減り、処理時間を短縮することができる。
【００１４】
算出した撮影画角の値をファイルに記録するときは、画角の概略値が記録されている領域と異なる領域に記録することが好ましい。これにより、概略値と正確な値との使い分けが可能になる。
【００１５】
また、本発明は、上記構成の撮影画角算出装置を一構成要素として含む距離画像生成装置、立体画像編集装置、立体画像再生装置および立体画像表示装置を提供する。
【００１６】
距離画像生成装置は、上記構成の撮影画角算出装置と、撮影画角算出装置に対し、前記撮像系により捉えられた各点の位置の座標値を表わす距離画像を供給する手段とを備えた装置である。立体画像編集装置は、上記構成の撮影画角算出装置と、撮影画角算出装置が算出した撮影画角の値を利用して立体画像の編集を行なう編集手段とを備えた装置である。立体画像再生装置は、上記構成の撮影画角算出装置と、撮影画角算出装置が算出した撮影画角の値を利用して表示用立体画像を再生する再生手段とを備えた装置である。立体画像表示装置は、上記構成の撮影画角算出装置と、撮影画角算出装置が算出した撮影画角の値を利用して表示用の立体画像を再生する再生手段と、再生された表示用立体画像を出力する表示手段とを備えた装置である。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態として、撮影画角算出機能を備えたステレオカメラを示す。
【００１８】
［  装置の概要  ］
図１Ａおよび図１Ｂはステレオカメラの外観図であり、図１Ａは正面側、図１Ｂは背面側の外観を示している。このステレオカメラ１は、撮影空間の奥行きをステレオ法により  測定するタイプのカメラで、２つの撮像レンズ２ａ、２ｂを備えている。ステレオカメラ１は、この他、一般のデジタルカメラと同様、シャッタレリーズボタン３、ファインダ４、操作ボタン５、液晶モニタ７、メモリカード９をセットするカードスロット８、ケーブルを接続する外部接続インタフェース１０、その他スピーカ、マイクなどを備えている。
【００１９】
図２は、ステレオカメラ１の内部構成を示すブロック図である。図に示すように、ステレオカメラ１は、撮像レンズ２ａ、２ｂ、絞り（図示せず）、ＣＣＤ１１ａ、１１ｂおよびレンズの位置や向き、絞りの開閉、ＣＣＤの電荷放出タイミングなどを制御するための機構（モータ、制御回路など：図示せず）からなる撮像系を備え、さらに撮像系により得られた信号をデジタルデータに変換する手段として、Ａ／Ｄ変換部１２ａ、１２ｂを備えている。撮像系の基線長および輻輳角は、モータの駆動により撮像レンズ２ａ、２ｂを含む光学系の位置や向きを変更することで、調整可能となっている。
【００２０】
また、ステレオカメラ１は、モニタ７への表示出力を制御する表示制御部１５、メモリカードスロット８に装填されたメモリカード９へのデータの記録およびメモリカード９からのデータの読み出しを制御する読出／書込制御部１７、外部接続インタフェース１０に接続された機器との間の入出力を制御する転送制御部１８を備える。これらの制御部は、それぞれ専用の回路もしくはドライバプログラムとして実装されている。
【００２１】
また、ステレオカメラ１は、ＳＤＲＡＭなどのメモリ２３と、カメラ全体の動作を制御する全体制御部１９を備える。全体制御部１９は、制御プログラムが記録されたＲＡＭ２１と、制御に利用する各種設定値が記録されたＥＥＰＲＯＭ２２と、制御プログラムを実行するＣＰＵ２０とにより構成され、シャッタレリーズボタン３や操作ボタン５からの入力を受け付けて、各部に対し直接またはシステムバス１４を介して指示信号を送出する。指示信号を受けた各部はメモリ２３を介して処理済みデータを交換しながら処理を行う。
【００２２】
システムバス１４には、この他、画像処理部１３ａ、１３ｂ、圧縮処理部６６、変位情報記憶部２４、距離画像生成部２５、確認用画像生成部６７および画像ファイル生成部２６が接続されている。変位情報記憶部２４は、例えばＥＥＰＲＯＭとして実装される。画像処理部１３ａ、１３ｂ、圧縮処理部６６、距離画像生成部２５、確認用画像生成部６７および画像ファイル生成部２６は、それぞれ専用のプロセッサとして実装される。但し、これらの処理部の機能を兼ね備える１つのプロセッサとして実装してもよいし、全体制御部１９のＲＡＭ２１に記憶されるプログラムの１つとして実装してもよく、実装のしかたは特に限定されない。
【００２３】
以下、ステレオカメラ１の動作について、画像処理部１３ａ、１３ｂ、変位情報記憶部２４、距離画像生成部２５、確認画像生成部６７および画像ファイル生成部２６の処理に着目しながら説明する。
【００２４】
［  撮影  ］
シャッタレリーズボタン３の押下など撮影のための操作が行われると、その操作は全体制御部１９により検出され、全体制御部１９から撮像系に対し各種指示信号が送出される。これにより、撮像系からＡ／Ｄ変換部１２ａ、１２ｂに撮影空間を表す映像信号が入力され、Ａ／Ｄ１２ａ、１２ｂから、それぞれ画像データ（輝度画像）が出力される。ここでは、ＲＧＢデータが出力されるものとする。画像処理部１３ａ、１３ｂは、それぞれ、Ａ／Ｄ変換部１２ａ、１２ｂから供給されるＲＧＢデータを、メモリ２３に格納する。例えば、図３に示すように、三角錐の形をした物体２７が配置された撮影空間を撮影した場合であれば、図４に示すように、撮像レンズ２ａを通して得られたＲＧＢデータ２８ａと、撮像レンズ２ｂを通して得られたＲＧＢデータ２８ｂとが、メモリ２３に格納される。
【００２５】
続いて、画像処理部１３ａ、１３ｂは、それぞれ、Ａ／Ｄ変換部１２ａ、１２ｂから供給されたＲＧＢデータに対しＲＧＢ−ＹＣＣ変換を施す。そして、変換により得られたＹＣＣデータをメモリ２３に格納する。その後、このＹＣＣデータは圧縮処理部６６により読み出され、圧縮された後再度メモリ２３に格納される。これにより、レンズ２ａを通して得られたＲＧＢデータと、同時刻にレンズ２ｂを通して得られたＲＧＢデータと、それらのＲＧＢデータを変換、圧縮することにより生成された２つのＹＣＣデータとが、メモリ２３に格納されることとなる。但し、ＲＧＢ−ＹＣＣ変換は行わず、ＲＧＢデータをそのまま圧縮処理部６６により圧縮してメモリ２３に保存してもよい。その場合には、以下の説明において、ＹＣＣデータはＲＧＢデータと読み替えるものとする。
【００２６】
［  距離画像の生成  ］
距離画像生成部２５は、同時刻に異なるレンズを通して取得された２つのＲＧＢデータをメモリ２３から読み出す。そして、パターンマッチングを行うことにより、２つのＲＧＢデータを構成する画素の対応づけを行う。例えば図４の例であれば、ＲＧＢデータ２８ａの画素ＰａはＲＧＢデータ２８ｂの画素Ｐｂと対応づけられる。同様にＲＧＢデータ２８ａ，２８ｂを構成する他の画素についても、同様の対応付けが行われる。
【００２７】
続いて、距離画像生成部２５は、上記画素の対応付けと撮像系の基長および輻輳角の情報を利用して、ステレオ法（三角測量法）に基づく演算を行い、撮影空間内のカメラで捉えられるすべての点の空間座標値を求める。この演算は撮像系に固有の座標系（以下、固有座標系）上で行い、各点の位置は、固有座標系における座標値として表すこととする。図５は、図３に示した撮影空間内に、ステレオカメラ１の左右方向をＸｎ軸、上下方向をＹｎ軸（図示せず）、背面から正面に向かう方向をＺｎ軸とした直交座標形式の固有座標系を配したところを示している。図の例では、固有座標系の原点は、カメラ正面側の、カメラの中心より撮像レンズ２ｂ側に少しずれた位置にある。ＲＧＢデータ２８ａの画素ＰａとＲＧＢデータ２８ｂの画素Ｐｂとが表していた、撮影空間内の点Ｐｒの位置は、（ｘｒ，ｙｒ，ｚｒ）と表される（但し、ｙｒは図示せず）。
【００２８】
演算を繰り返すことによりカメラが捉えたすべての点についての座標値（ｘ、ｙ、ｚ）が求まると、距離画像生成部２５は、各点について求めた座標値（ｘ、ｙ、ｚ）を、その撮影空間の距離画像として記録する。例えば、各点のｘ値、ｙ値、ｚ値を、それぞれ８ビットの画素データとして記録する。そして生成した距離画像を、前記ＲＧＢデータやＹＣＣデータとともに、メモリ２３に格納する。なお、距離画像も、ＹＣＣデータと同じく圧縮処理部６６により圧縮してもよい。
【００２９】
なお、ステレオカメラ１は、撮影空間を一方向から見たときに視認できる点の位置をステレオ法により求めるように構成されたカメラであるため、距離画像の画素値は（ｘ，ｙ，ｚ）座標値である。これに対し、ステレオ法以外の手法を用いるカメラの場合には、距離画像の画素値として他の値が記録されることもある。ステレオカメラ１と異なるタイプのカメラとしては、例えば、図２の破線で囲んだ部分の構成Ｓ１を、図６の破線で囲んだ構成Ｓ２に置き換えたカメラが考えられる。構成Ｓ２は、撮像レンズ２ｃ、ＣＣＤ１１ｃ、Ａ／Ｄ変換部１２ｃ、画像処理部１３ｃ、赤外線照射部２９および距離計測部３０を備えた構成である。構成Ｓ２では、赤外線照射部２９は撮影空間に対し振幅変調された赤外線を照射する。照射のタイミングや振幅変調の周波数は、距離計測部３０により制御される。照射された赤外線は撮影空間内の各所において反射され、反射光は撮像レンズ２ｃ、ＣＣＤ１１ｃにより受光される。Ａ／Ｄ変換部１２ｃは反射光を表す信号を距離計測部３０に供給する。距離計測部３０は、赤外線照射部２９に指示した照射タイミング、反射光の受光タイミングおよび照射光と反射光の位相ずれに基づいて（すなわちＴＯＦ法により）、撮影空間内のカメラが捉えられるすべての点までの距離および方向を算出する。つまり、撮影空間に極座標系を定義したときの座標値を求める。構成Ｓ２を備えたカメラの場合、距離画像生成部２５は、その極座標系の座標値（ｒ，θ，φ）を画素値とした距離画像を生成する。
【００３０】
なお、カメラの構成としては、この他、図２の構成Ｓ１と図６の構成Ｓ２とを兼ね備え、ステレオ法とＴＯＦ法を切り替えて用いることができるカメラも考えられる。図７に、２種類の構成Ｓ１、Ｓ２を兼ね備えたカメラの外観を例示する。図７に示される撮像レンズ２ｂは、図２の撮像レンズ２ｂとして機能するとともに、図６の撮像レンズ２ｃとしても機能する。
【００３１】
このように、撮影空間の三次元情報を取得するためのカメラの構成は種々考えられ、どの手法を採用するかによって得られる三次元情報の種類や精度は異なるが、撮影空間に係る三次元的な情報を取得することができれば、カメラの構成や距離画像の画素値として記録される値の種類は、どのようなものであってもよい。
【００３２】
［  画像ファイルの生成  ］
次に、画像ファイル生成部２６による画像ファイルの生成処理について説明する。画像ファイル生成部２６は、図８に示すフォーマットのファイル、すなわち、ファイルヘッダＨ、距離画像Ｄ、および１組のＹＣＣデータ（以下、視差画像Ｒ，Ｌと称する）を含む画像ファイル３１を生成する。ファイルヘッダに設定する情報は、カメラを構成する各メモリから読み出す。あるいは、カメラを構成する各処理部から供給される。もしくは、モニタ７に表示される設定画面においてユーザが選択あるいは入力した情報を取り込む。視差画像Ｒ，Ｌと距離画像Ｄは、メモリ２３に記憶されているものを読み出す。
【００３３】
なお、図示した例では、画像ファイルに格納するＹＣＣデータを一組の視差画像Ｒ，Ｌとしているが、一方の撮像レンズを通して得られた画像から生成されたＹＣＣデータのみをファイルに格納するようにしてもよい。図６を参照して説明した構造のカメラを使用した場合も撮像レンズは１つであるため、１つのＹＣＣデータが画像ファイルに格納されることとなる。
【００３４】
画像ファイル生成部２６は、生成した画像ファイルを一旦メモリ２３に保存する。メモリ２３に記憶された画像ファイルは、全体制御部１９の制御の下、読出／書込制御部１７に転送され、カードスロット８を経てメモリカード９などの記録媒体に記録される。または、同じく全体制御部１９の制御の下、転送制御部１８に転送され、外部接続インタフェース１０を介して、他の装置へと転送される。あるいは、画像ファイルは表示制御部１５に転送され、表示制御部１５によりモニタ７に表示出力される。
【００３５】
以下に、画像ファイル３１のフォーマットの詳細を示す。画像ファイル３１は、前述したとおり、ファイルヘッダＨ、距離画像Ｄおよび視差画像Ｒ，Ｌにより構成される。ファイルヘッダＨには、ファイルタイプやファイルサイズのほか、ファイル内の距離画像の位置を指し示す情報と、視差画像Ｒ，Ｌの位置を指し示す情報が含まれている。これにより、ファイルの先頭に記録されているファイルタイプの情報からヘッダ情報のフォーマットを認識し、ヘッダ情報中のオフセット情報を参照すれば、距離画像Ｄや視差画像Ｒ，Ｌを読み出すことができる。
【００３６】
また、図９Ａに示すように、ファイルヘッダＨには、距離画像に関連する情報を設定する領域として、画像を撮影したときの輻輳角を設定する領域ｈ１、基線長を設定する領域ｈ２、焦点距離を設定する領域ｈ３、撮影画角を設定する領域ｈ４、距離画像の大きさ（縦横の画素数）を設定する領域ｈ５、距離画像の各画素に割り当てられたビット数を設定する領域ｈ６が設けられている。領域ｈ３はステレオカメラ１のように撮像レンズが２つあるカメラで各撮像レンズについての焦点距離を設定できるように定義されている。領域ｈ４は、２つの撮像レンズのそれぞれについて、水平方向の画角と垂直方向の画角を設定できるように定義されている。
【００３７】
輻輳角、基線長、焦点距離、撮影画角、距離画像の大きさや一画素あたりのビット数は、撮像系に固有に定められているか、もしくは撮像系を調整したときに決定される。撮像系に固有か、調整により可変かは、カメラの仕様により異なる。例えば、輻輳角が固定されたカメラであれば輻輳角は固有の値であり、輻輳角が調整可能なカメラであれば輻輳角は可変な値となる。撮像系に固有の値は、ステレオカメラ１内の所定のメモリ（全体制御部１９のＥＥＰＲＯＭ２２、メモリ２３あるいは他の図示しないメモリでもよい）の予め決められた領域に記録されている。また、調整により決定される値は、調整を行った制御部（例えば輻輳角であれば、レンズの向きを制御する回路）により、調整が完了した時点で、所定のメモリに記録される。但し、この段階でメモリに記録される値は、通常、各設定値の目安となる離散値な値（概略値）に過ぎず、必ずしも正確な値とは限らない。画像ファイル生成部２６は、そのようにしてメモリに記憶された値を読み出し、読み出した値をファイルヘッダの上記各領域ｈ１〜ｈ６に設定する。
【００３８】
また、ファイルヘッダには、距離画像に関連する情報を設定する領域として、さらに、共通座標系の座標形式（直交座標または極座標）を設定する領域ｈ７、共通座標系の変位情報を設定する領域ｈ８、ユーザが指定した一の共通座標系を設定する領域ｈ９、ユーザが指定したオフセット原点を設定する領域ｈ１０、後述する特定エリアの位置情報を設定する領域ｈ１１が設けられている。
【００３９】
また、２つの撮像レンズ２ａ、２ｂのうち一方の撮像レンズを通して得られた画像から生成されたＹＣＣデータのみをファイルに格納するタイプのステレオカメラでは、さらに、ファイルに格納するＹＣＣデータが、撮像レンズ２ａを含む右側の光学系により生成されたデータであるか、撮像レンズ２ｂを含む左側の光学系により生成されたデータであるかを区別する情報が、ファイルヘッダＨに格納される。ここでは、ＹＣＣデータの生成に寄与した光学系を主光学系と称することとする。図９Ｂは、主光学系位置（右または左）を示す情報を格納する領域ｈ１２が設けられたファイルヘッダＨの例を示している。
【００４０】
以下、領域ｈ７〜ｈ９に設定する共通座標系の情報、領域ｈ１０に設定するオフセット原点の情報、および領域ｈ１１に設定する特定エリアの位置情報について、さらに説明する。
【００４１】
［  共通座標系  ］
図１０は、撮影空間の三次元情報（距離画像など）を取得する機能を備えた第１のカメラ３２と、立方体の物体３３が配置された撮影空間と、第１のカメラ３２の固有座標系３４と、固有座標系３４の原点３５との関係を示す図である。また、図１１は、撮影空間の三次元情報を取得する機能を備えた第２のカメラ３６と、三角錐の物体３７が配置された撮影空間と、第２のカメラ３６の固有座標系３８と、固有座標系３８の原点３９との関係を示す図である。図１０、図１１において、一点鎖線は、カメラ３２、３６を左右に分ける中心線を表している。図１０の撮像空間では、物体３３はカメラ３２の中心より左側に位置している。一方、図１１の撮像空間では、物体３７はカメラ３６の中心よりも右側に位置している。また、図１０と図１１の対比から明らかであるように、第１のカメラ３２と第２のカメラ３６とでは、固有座標系の原点の位置は大きく異なっている。なお、これらの図において、固有座標系３４、３８のＹ軸は図の紙面に垂直であり、原点３５、３９と重なって図示されている。
【００４２】
図１２は、図１０に示す位置関係で撮影を行い、図１１に示した位置関係で撮影を行い、２回の撮影により得られた２組の視差画像を合成して立体モニタ４０に表示するときの、表示座標系４１と、表示される物体３３および物体３７の関係を示す図である。従来手法では、固有座標系上で求められた距離画像の各画素値が、表示の奥行き感を表す値としてそのまま用いられる。すなわち、図１０に示した原点３５と物体３３の位置関係は、表示座標系４１における原点４２と物体３３の位置関係として、そのまま維持される。同様に、図１１に示した原点３９と物体３７の位置関係も、表示座標系４１における原点４２と物体３７の位置関係として、そのまま維持される。その結果、立体モニタ４０には、図１３に示すように、物体３７の背後に物体３３が配置された映像が表示されることとなる。
【００４３】
一方、図１１に示した位置関係で、物体３７を含む撮影空間の撮影を行うときにも、物体３３を含む撮影空間の撮影を行ったときと同じく第１のカメラ３２を使用したとすれば、物体３３はカメラの中心よりも左側に配置され、物体３７はカメラの中心よりも右側に配置され、また固有座標系のＺ軸はカメラの中心よりも左側にあるので、画像合成により得られる立体画像では、図１４に例示するように、物体３３と物体３７とが離れた状態で表示されることとなる。
【００４４】
図１３と図１４の対比として示されるように、従来手法では、複数の立体画像から合成立体画像を生成しようとした場合、撮影に用いたカメラによって、合成により得られる結果が異なってしまうという問題がある。また、同様の理由で、従来手法では、立体画像から物体の形状や位置を認識して制御を行う場合に、同じ撮像系を使い続けない限り、安定した認識を行えないという問題がある。
【００４５】
共通座標系は、固有座標系と同じく、撮影空間内に定義される座標系である。但し、固有座標系が個々のカメラにより定義されユーザに見えないものであるのに対し、共通座標系はユーザが把握できる形で定義される。
【００４６】
図１５は、図５に示したステレオカメラ１の固有座標系に、一例としての共通座標系を重ねて示した図である。この例では、共通座標系は３次元直交座標であり、そのＸｕ軸はステレオカメラ１の左方向から右方向に向かい、Ｙｕ軸はステレオカメラ１の下方向から上方向に向かい、Ｚｕ軸はＸｕ軸、Ｙｕ軸の両方に垂直で、カメラから撮影空間に向かって延びている。また、この例では、共通座標系の原点Ｏｕは、ステレオカメラ１の背面の中心にある。
【００４７】
画像ファイルを生成するときには、座標系を固有座標系から共通座標系に切り替えたときの原点の変位、すなわち固有座標系の原点Ｏｎと共通座標系の原点Ｏｕとのズレを、ファイルヘッダに記録する。言い換えれば、固有座標系の原点Ｏｎを始点、共通座標系の原点Ｏｕを終点とする変位ベクトルを記録する。例えば、固有座標系で表したときの共通座標系の原点Ｏｕの位置が（ｘｃ、ｙｃ、ｚｃ）という座標値（ベクトル）で表されるのであれば、そのｘｃ、ｙｃ、ｚｃの値を、共通座標系の変位情報としてファイルヘッダに格納する。
【００４８】
この共通座標系の変位情報を画像ファイルのヘッダに記録しておけば、立体画像処理や形状認識処理など距離画像を利用した処理を行うときに、距離画像の各画素値を、固有座標系における座標値から、共通座標系における座標値に置き換えてから、処理を行うことができる。
【００４９】
図１０〜１４を参照して説明した従来手法の問題は、第１の撮像系により取得された距離画像の各画素値を固有座標系における座標値から共通座標系における座標値に置き換え、同様に第２の撮像系により取得された距離画像の各画素値を固有座標系における座標値から共通座標系における座標値に置き換え、置き換え後の距離画像を使って画像の合成を行うことで、解決することができる。
【００５０】
同様に、継続的に行われる撮影の途中でカメラを交換した場合でも、交換前のカメラにより取得された距離画像、交換後のカメラにより取得された距離画像の画素値について、それぞれ上記のような置き換えを行えば、カメラを交換したことでそれまでの撮影が無駄になるということもない。その他、座標系がカメラに固有であるがために生じるあらゆる問題は、共通座標系の概念を取り入れることにより、解決することができる。
【００５１】
上記共通座標系の説明では、理解を容易にするため、共通座標系が１つしか定義されていない場合を例示しながら説明したが、以下、共通座標系として選択し得る座標系、すなわち共通座標系の候補が、複数定義されている場合を例示する。共通座標系が複数定義されている場合、ファイルヘッダＨには、ユーザが選択し得るすべての座標系の変位情報と、ユーザが選択した変位情報を特定するための情報とが記録される。
【００５２】
まず、領域ｈ７に設定される共通座標系の座標形式について説明する。共通座標の座標形式については、撮影を行う前に、全体制御部１９がモニタ７に表示する設定画面において、ユーザから座標形式の指定を受け付けておく。選択画面において入力されたデータは、一旦図２の変位情報記憶部２４に記憶される。画像ファイル生成部２６は、画像ファイルの生成時に変位情報記憶部２４からそのデータを読み出し、ヘッダの領域ｈ７に記録する。ここでは、領域ｈ７には、“０”、“１”または“２”のいずれかの数値データが記録されるものとする。“１”は共通座標系が３次元直交座標系であることを示し、“２”は共通座標系が極座標系であることを示し、“０”は座標形式が不明、すなわちユーザによる座標形式の指定が行われなかったことを示す。
【００５３】
続いて、領域ｈ８に設定される共通座標系の変位情報について説明する。ステレオカメラ１では、共通座標系の原点となり得る点として、固有座標系の原点Ｏｕ０、共通座標系の概念の説明において例示したカメラ本体背面の中心点Ｏｕ１を含む合計８個の点が定義されている。このうち、カメラ本体背面の中心点は、図１６に例示するように、モニタ７に基点マーク４３を表示することで、外観上認識できるようにしている。但し、基点マーク４３の表示は、ユーザが所定の操作を行ったときのみ行う。なお、図１７に例示するように、モニタが開閉するタイプのカメラで、モニタを使用するときと使用しないときとで、カメラの背面の状態が異なるようなときには、カメラの外装部材に、印刷または加工により形成される基点マーク４４ａ、４４ｂをつけてもよい。
【００５４】
このように、共通座標系の原点を外観上認識し得る部材の外観上認識し得る位置に設けておけば、例えばカメラを交換するときに、交換前と交換後とで基点マークが同じ位置にくるようにカメラを配置することで、位置あわせを行うことができる。
【００５５】
図１８は、共通座標系の原点の候補として定義されている他の点を示す図である。図に示すように、撮像レンズ２ａと２ｂの中心点Ｏｕ２、撮像レンズ２ａ、撮像レンズ２ｂそれぞれの中心点Ｏｕ３，Ｏｕ４、ＣＣＤ１１ａと１１ｂの中心点Ｏｕ５、ＣＣＤ１１ａ、ＣＣＤ１１ｂそれぞれの中心点Ｏｕ６，Ｏｕ７が、共通座標系の原点の候補として定義されている。これらの点は、外観上は認識できないが、カメラ内部の通常見えない点であっても、所定の部材の中心点、端点など何らかの特徴がある点であれば、共通座標系の原点となり得る。
【００５６】
これら８個の点Ｏｕ０〜Ｏｕ７の固有座標系における座標値、すなわち変位情報は、カメラの製造時に変位情報記憶部２４に記憶される。但し、撮像系が、焦点距離が可変なズームレンズを備えている場合には、固有座標系が撮像系の特性に応じて再定義されるため、変位情報記憶部２４に記憶されている変位情報は焦点距離の変更に応じて再設定される。全体制御部１９は、ズーム操作により設定された焦点距離を検出し、検出された焦点距離に応じて変位情報記憶部２４に記憶されている変位情報を書き換える。焦点距離と固有座標系の原点の対応付けは予めＲＡＭ２１などに登録されている。よって、その対応付けを参照することにより、検出された焦点距離に対応する固有座標系の原点を求め、その原点を基準とした変位を計算しなおせば、変位情報を再設定することができる。画像ファイル生成部２６は、上記のように記憶あるいは再設定された変位情報を変位情報記憶部２４から読み出し、ファイルヘッダの領域ｈ８に格納する。
【００５７】
図１９に、変位情報を設定する領域ｈ８の詳細フォーマットを示す。領域ｈ８は、識別子と変位情報とを対応付けて格納する複数の領域からなる。識別子は数字、アルファベットその他記号により構成される値である。図は０から始まる通し番号を識別子とした場合を例示している。各領域にどの点の変位情報を設定するかは、予め共通のルールを設けておくことが好ましい。ここでは、識別子０に対しては前述した点Ｏｕ０の変位情報（すなわち０，０，０）を、識別子１に対しては点Ｏｕ１（基点マーク位置）の変位情報を、以下識別子の番号が若い順に、図１８に示した点Ｏｕ２〜Ｏｕ７の変位情報を対応付けて記録するものとする。
【００５８】
なお、領域ｈ８にはステレオカメラ１が変位情報を設定する領域のほか、撮像レンズやＣＣＤを１つしか備えていないタイプのカメラが変位情報を設定する領域を備えている。１つの撮像レンズの中心点の変位情報を設定する領域（識別子８の領域）とその１つのＣＣＤの中心点の変位情報を設定する領域（識別子９の領域）である。また、領域ｈ８にはさらに予備の領域（識別子１０の領域）も用意されている。使用されない領域には、図に示すように、０，０，０の値が設定される。
【００５９】
続いて、図９の領域ｈ９に設定されるユーザ指定情報について説明する。ユーザ指定情報は、座標形式と同じく、撮影を行う前に、全体制御部１９がモニタ７に表示する設定画面において指定を受け付けておく。選択画面において入力されたデータは、一旦図２の変位情報記憶部２４に記憶され、画像ファイル生成部２６により読み出されて領域ｈ９に設定される。領域ｈ９には、値“０”またはユーザが選択した一の変位情報を指し示す識別子の値が設定される。値“０”はユーザが変位情報の選択を行わなかったことを意味する。
【００６０】
以上に説明したように、ファイルヘッダの構造を、複数の座標系の変位情報を格納でき且つユーザが指定した変位情報を指示す識別子および座標形式を格納できる構造としておけば、ユーザはその画像ファイルを利用した処理を行う上で最も都合のよい共通座標系を選択することができ、その共通座標系を利用することで従来手法にはない利便性を確保することができる。さらには、その共通座標系に不都合が生じた場合に他の座標系を共通座標系として指定しなおすことができるので、目的に合わせて共通座標系を使い分けることで目的を達成しやすくなる。
【００６１】
［  オフセット原点  ］
続いて、オフセット原点について説明する。共通座標系を利用した位置合わせは、所望の位置にカメラを設置できることを前提としている。しかし、実際の撮影現場では、必ずしも所望の位置にカメラを設置できるとは限らないので、共通座標系の原点の位置を、さらに調整しなければならないときがある。オフセット原点は、共通座標系の原点の位置調整が必要になったときの、調整後の原点である。オフセット原点は、共通座標系の原点を基準とする各座標軸方向のオフセット値、言い換えればオフセット原点の共通座標系における座標値として設定する。
【００６２】
オフセット原点は、撮影を行うユーザが、モニタ７に表示される所定の設定画面をみながら操作ボタン５を操作することにより設定する。モニタ７への設定画面の表示や、設定されたオフセット値の取り込みおよびファイルへの記録は、全体制御部１９により制御される。オフセット原点が設定されると、モニタ７に、オフセット値に応じて調整された画像が表示される。ユーザは、その表示をみて、設定したオフセット値が適切か否かを確認することができる。また、オフセット原点の設定を行うときに、撮影空間内の所定の箇所を特定エリアと定め、特定エリアを確認しやすい確認用画像を表示させることができる。
【００６３】
図２０は、物体６８が配置された撮影空間内に、ステレオカメラ１の左右方向をＸｕ軸、上下方向をＹｕ軸（図示せず）、背面から正面に向かう方向をＺｕ軸とし、２つの撮像レンズの中心点Ｏｕを原点とした共通座標系を配したところを示している。オフセット原点Ｏｏｆの共通座標系における座標値は、（ｘｏｆ，ｙｏｆ，ｚｏｆ）と表記する。つまり、Ｘ軸方向のオフセット値はｘｏｆ、Ｙ軸方向のオフセット値はｙｏｆ、Ｚ軸方向のオフセット値はｚｏｆと表記する。特定エリアＡは、ユーザが指定したエリアである。以下、図２０に例示した撮影空間を例示しながら、オフセット原点Ｏｏｆを設定する処理について説明する。オフセット原点Ｏｏｆは、Ｚ軸方向のオフセット値ｚｏｆを設定し、さらにＸＹ軸方向のオフセット値ｘｏｆ、ｙｏｆを設定するというように、段階的に設定する。
【００６４】
図２１に、Ｚ軸方向のオフセット値設定処理の一例を示す。全体制御部１９は、オフセット設定画面を呼び出す操作を検知すると、確認用画像生成部６７に対し確認用画像の生成を指示する。確認用画像生成部６７は、画像ファイル生成部２６が生成した画像ファイルからＲＧＢデータと距離画像を取得して右目用の視差画像を構成し、これにオフセット原点を示す数値情報を合成し、表示制御部１５に供給する。これにより、モニタ７には、確認用画像が表示される（Ｓ１０１）。このとき、オフセット原点は、初期化処理により、共通座標系の原点と同じ点に設定されている。
【００６５】
全体制御部１９は、撮影空間内の所定の点またはエリアを特定エリアＡとして指定する操作を検知すると（Ｓ１０２）、確認用画像生成部６７にその特定エリアＡを基準にして、モニタ７に表示する画像を構成するよう指示する。確認用画像生成部６７は、この指示を受けて、まず距離画像の特定エリアＡに対応する画素の平均値（ｘａ，ｙａ，ｚａ）を算出する（Ｓ１０３）。また、確認用画像生成部６７は、距離画像の特定エリアＡの中心点の共通座標系における位置座標の値を算出する（Ｓ１０４）。なお、特定エリアＡに画素が１つしか含まれていないときは、その画素の値がそのまま平均値（ｘａ，ｙａ，ｚａ）となり、その画素の位置が中心点となる。
【００６６】
続いて、確認用画像生成部６７は、中心点に特定エリアマークを合成し、さらに中心点が画面中央に配置されるように画像を平行移動した後、表示制御部１５にその画像を供給する（Ｓ１０５）。図２２に、平行移動後のモニタ画面の表示例を示す。同図に示すようにモニタ７には、画像とともに、オフセット原点を設定したとき特定エリアＡの中心点の位置座標６９が表示される。さらに、その数値の右側に、原点のオフセット値７０が表示される。なお、画像を平行移動した場合、画像領域７１がモニタ画面よりも小さくなる場合があるが、モニタ画面の画像が配置されない領域は黒く表示するものとする。
【００６７】
全体制御部１９がオフセット値を確定する操作を検知したときは（Ｓ１０６）、画像ファイル生成部２６に指示して、その時点で設定されているオフセット値ｚｏｆを、Ｚ軸方向の確定したオフセット値として画像ファイルに記録する（Ｓ１１１）。このとき、特定エリアについて算出された値（ｘａ，ｙａ，ｚａ）も、画像ファイルに記録する。
【００６８】
一方、オフセット値の確定操作が未だ検出されていなければ（Ｓ１０６）、全体制御部１９は引き続きオフセット値の設定操作を待つ。オフセット値の設定操作を受け付けたら（Ｓ１０７）、設定されたオフセット値ｚｏｆを所定のメモリに一時記憶する（Ｓ１０８）。続いて、確認用画像の表示倍率Ｅを、次式
Ｅ＝ｚａ／（ｚａ−ｚｏｆ）・・・（１）
に基づいて算出し（Ｓ１０９）、確認用画像が算出された表示倍率Ｅで表示されるように、確認用画像を拡大または縮小する（Ｓ１１０）。図２３に確認用画像拡大時の画面、図２４に確認用画像縮小時の画面を、それぞれ例示する。
【００６９】
確認用画像生成部６７は、拡大または縮小後の画像を、特定エリアの中心点が画面中央に配置されるように平行移動した後、表示制御部１５にその画像を供給して表示を更新する（Ｓ１０５）。以降、ステップＳ１０６においてオフセット値の確定操作が検出されるまで、Ｓ１０５〜Ｓ１１０の処理が繰り返し実行される。
【００７０】
次に、図２５に、Ｘ軸方向のオフセット値設定処理の一例を示す。全体制御部１９は、Ｚ軸方向のオフセット値設定処理と同様、モニタ７に確認用画像を表示させ（Ｓ２０１）、特定エリアを指定する操作を検知し（Ｓ２０２）、確認用画像生成部６７に対し、その特定エリアＡを基準にして確認用画像を構成するよう指示する。確認用画像生成部６７は、この指示を受けて、距離画像の特定エリアＡに対応する画素の平均値（ｘａ，ｙａ，ｚａ）を算出し（Ｓ２０３）、さらに、特定エリアの中心点の位置座標を算出する（Ｓ２０４）。
【００７１】
ＸＹ軸方向のオフセット値設定処理では、確認用画像生成部６７は、次に、画像ファイルの領域ｈ４に格納されている撮影画角の値α（図２０中に図示）を読み出す。あるいは、メモリ２３などステレオカメラ内部のメモリに画角の値αが記憶されている場合には、値αをメモリから読み込んでもよい。また、確認用画像生成部６７は、画像ファイルの領域ｈ８に格納されている撮影レンズの中心点のｘ座標値を参照し、特定エリアＡの中心のｘ座標値との差分Ｋｘ（図２０中に図示）を算出する。そして、次式
ｘＬ  ＝  Ｋｘ−ｚａ×ｔａｎα
ｘＲ  ＝  Ｋｘ＋ｚａ×ｔａｎα      ・・・（２）
に基づき、モニタ７に表示されている範囲の左端ＸＬおよび右端ＸＲ（図２０中に図示）の、共通座標系における座標値ｘＬ，ｘＲを算出する（Ｓ２０５）。
【００７２】
全体制御部１９は、オフセット値を確定する操作を検知したときは（Ｓ２０６）、画像ファイル生成部２６に指示して、その時点で設定されているオフセット値ｘｏｆを、Ｘ軸方向の確定したオフセット値として画像ファイルに記録する（Ｓ２１４）。このとき、特定エリアについて算出された値（ｘａ，ｙａ，ｚａ）も画像ファイルに記憶する。
【００７３】
一方、オフセット値の確定操作が未だ検出されていなければ（Ｓ２０６）、全体制御部１９は引き続きオフセット値の設定操作が行われるのを待つ。オフセット値の設定操作を受け付けたら（Ｓ２０７）、設定されたオフセット値ｘｏｆを所定のメモリに一時記憶する（Ｓ２０８）。
【００７４】
続いて、全体制御部１９は、オフセット値ｘｏｆが、モニタ７のＸ軸方向の表示幅内にある値か否かを、次の判定式
ｘＬ≦ｘｏｆ≦ｘＲ  ・・・（３）
に基づき判定する（Ｓ２０９）。
【００７５】
値ｘｏｆが判定式（３）の条件を満たすときは、確認用画像生成部６７は、図２６に例示するように、オフセット原点の位置を示唆するマーク７２（以下、基準マーク７２）を配した確認用画像を生成する。基準マーク７２は、ｘ座標値がオフセット値ｘｏｆと同じで、ｙ座標値が特定エリアのｙ座標値ｙａと同じである点に配置する。
【００７６】
例えばモニタ７の水平方向の表示画素数をＰｈとする。座標系における単位距離は、次式
ΔＰｘ＝Ｐｈ／（２・ｔａｎα・ｚａ）  ・・・（４）
で表されるΔＰｘ個の画素に対応することになる。よって、オフセット設定画面においてオフセット値が変更され、その変更量がΔｘｏｆであるときには、基準マーク７２がΔｘｏｆ・ΔＰｘ画素分ずれた位置に配置されるように表示を制御すればよい。
【００７７】
基準マーク７２と特定エリアマークの２つのマークを表示することにより、オフセット原点と特定エリアの中心点とが、Ｘ軸方向にどの程度離れているかの確認が容易になる。また、確認用画像には、特定エリアＡの中心点の座標値６９が表示される。さらに、その数値の右側に、原点のオフセット値７０が表示される。この確認用画像は表示制御部１５に供給され、モニタ７の表示が更新される（Ｓ２１１）。
【００７８】
一方、値ｘｏｆが判定式（３）の条件を満たさないときは、全体制御部１９により、さらに次式
ｘａ−ｘｏｆ≦ｘＲ−ｘＬ  ・・・（５）
に基づく判定が行われる（Ｓ２１０）。
【００７９】
判定式（５）の条件を満たす範囲では、確認用画像生成部６７は、図２７に例示するように、基準マーク７２が画面の左端（または右端）に配置されるように平行移動された画像を生成し、その画像を表示制御部１５に供給して表示を更新する。値ｘｏｆを増減させた場合、モニタ画面では、基準マーク７２は画面の左端に固定されたままで特定エリアマークを含む物体６８の画像だけが左右にΔｘｏｆ・ΔＰｘ画素分移動する（Ｓ２１２）。
【００８０】
一方、判定式（５）の条件が満たされない範囲では、確認用画像生成部６７は、図２８に例示するように、縮小された右目用視差画像に、特定エリアマークと基準マークとを配した確認用画像を生成する。ここでは、右目用視差画像は１／２に縮小されるものとする。判定式（５）の条件が満たされない範囲でも、確認用画像生成部６７は、基準マーク７２が画面の左端（または右端）に配置されるように平行移動された画像を生成し、その画像を表示制御部１５に供給して表示を更新する。（Ｓ２１３）。
【００８１】
以降、ステップＳ２０６においてオフセット値の確定操作が検出されるまで、Ｓ２０７〜Ｓ２１３の処理が繰り返し実行される。
【００８２】
全体制御部１９、確認用画像生成部６７および表示制御部１５は、図２５〜図２８を参照して説明した処理と同等の処理を、Ｙ軸方向についても実行する。これにより、Ｙ軸方向のオフセット値ｙｏｆと、オフセット値ｙｏｆを設定したときの特定エリアの座標値が、画像ファイル生成部２６により画像ファイルに記録される。
【００８３】
画像ファイル生成部２６は、ステップＳ１１１あるいはステップＳ２１４において全体制御部１９からの指示を受けると、メモリに記憶されている値ｘｏｆ、ｙｏｆ、ｚｏｆを読出し、画像ファイルのヘッダＨの領域ｈ１０に格納する。さらに、メモリに記憶されている特定エリアの位置座標を読出し、画像ファイルのヘッダＨの領域ｈ１１に格納する。
【００８４】
領域ｈ１０には、オフセット原点の有無を示すフラグと、オフセット値ｘｏｆ、ｙｏｆ、ｚｏｆとが記録される。フラグの値は、オフセット原点が設定されたときは１、設定されなかったときは０に設定される。領域ｈ１０のフラグの値が０のときは、領域ｈ１０のオフセット値も領域ｈ１１の特定エリアの座標値も記録されない。もしくは何らかの値が記録されていても、その値は無効である。なお、領域ｈ１０に格納する情報は、オフセット値ｘｏｆ、ｙｏｆ、ｚｏｆのみとしてもよい。また、領域ｈ１１への値の格納は必須ではなく、領域ｈ１１がないファイルフォーマットも考えられる。
【００８５】
［  撮影画角の算出  ］
前述のとおり、確認用画像生成部６７は、画像ファイルの領域ｈ４もしくはメモリ２３などに格納されている撮影画角の値を読み出して、演算を行う。この場合、撮影画角の値として公称値などの概略値を使用してしまうと、表示範囲や各マークの表示位置に微妙なズレが生じる可能性がある。このため、ステレオカメラ１は、距離画像を使って撮影画角の正確な値を算出する手段を備えている。本実施形態では、撮影画角の値を使用するのは確認用画像生成部６７であるため、確認用画像生成部６７を構成する手段として、撮影画角の値を算出する手段を設けることとする。但し、確認用画像生成部６７とは別に、撮影画角の値を算出する専用プロセッサなどを設けてもよい。
【００８６】
図２９は、撮影画角を算出するための手段を示した図である。図に示すように、確認用画像生成部６７は、撮影画角の算出に使用する画素（以下、使用画素）の値を抽出する使用画素値抽出手段８１と、使用画素値抽出手段８１により抽出された値を用いて画角を算出する画角算出手段８２とを備える。
【００８７】
以下、使用画素値抽出手段８１および画角算出手段８２が実行する処理として、２つの例を示す。説明にあたり、図３０Ａおよび図３０Ｂに、撮影空間に配置された物体８３、物体８４および物体８５とステレオカメラ１の共通座標系における位置関係を示す。図３０Ａは輻輳角が０度の場合、図３０Ｂは輻輳角が０度以外の角度θの場合を示している。図３１は、撮像レンズ２ａを通して取得される画像を用いて生成された確認用画像を例示した図であり、物体８４および物体８５が左右の画角端にかかる場合を示している。
【００８８】
（処理例１）
使用画素値抽出手段８１は、メモリ２３に記憶されている画像ファイルを参照して距離画像を取得した後、以下に説明する手順で撮影画角を算出する。図３２は、水平方向の撮影画角を算出する処理を示している。
【００８９】
使用画素値抽出手段８１は、距離画像を構成する画素の中から、所定の選択基準に従って使用画素を選択する。使用画素値抽出手段８１は、まず、図３１に示すように、画像の左端および右端に位置する画素で、距離画像のＹ軸方向の座標値がＹｓ１以上Ｙｓ２以下の画素群８６および画素群８７を選択する（Ｓ３０１）。境界値Ｙｓ１およびＹｓ２については、後述する。
【００９０】
使用画素値抽出手段８１は、次に、ステレオカメラ１の右側の撮影レンズの中心点を原点とする座標系を定義し、選択した画素の画素値を、その座標系で表された値に置換する（Ｓ３０２）。続いて、選択した画素の中から、さらに、置換後の奥行き方向の座標値がＺｓ１以上Ｚｓ２以下の画素群を選択する（Ｓ３０３）。ここでは、画素群８６からｎ個（ｎは整数）の画素が、画素群８７からもｎ個の画素が、それぞれ選択されたものとする。境界値Ｚｓ１およびＺｓ２については、後述する。
【００９１】
選択された画素群の画素値は、画角算出手段８２に供給される。画角算出手段８２は、次式
α１＝ａｒｃｔａｎ（Σ（ｘｌｉ／ｚｌｉ）／ｎ）
α２＝ａｒｃｔａｎ（Σ（ｘｒｉ／ｚｒｉ）／ｎ）  ・・・（６）
に示す演算を行うことにより、図３０Ａに示す画角α１（左）、画角α２（右）を算出する（Ｓ３０４）。式（６）において、ｘｌｉは画素群８６から選択されたｎ個の画素のうちｉ番目（ｉ：１からｎまでの整数）の画素のｘ値を示し、ｘｒｉは画素群８７から選択されたｎ個の画素のうちｉ番目（ｉ：１からｎまでの整数）の画素のｘ値を示す。同様に、ｚｌｉは画素群８６から選択されたｎ個の画素のうちｉ番目（ｉ：１からｎまでの整数）の画素のｚ値を示し、ｚｒｉは画素群８７から選択されたｎ個の画素のうちｉ番目（ｉ：１からｎまでの整数）の画素のｚ値を示す。
【００９２】
続いて、画角算出手段８２は、次式
α＝（α１＋α２）／２  ・・・（７）
に示す演算を行うことにより、平均画角を算出する（Ｓ３０５）。
【００９３】
以上、水平（Ｘ軸）方向の撮影画角を求める場合を例示しながら説明したが、垂直（Ｙ軸）方向の撮影画角を求めるときは、上記例示におけるＸ軸方向の処理をＹ軸方向の処理に置き換えて実行すればよい。すなわち、画像の上端および下端に位置する画素の中から、所定の条件を満たす画素群を選択して、上記と同様の演算を行なえばよい。
【００９４】
算出された画角値は、メモリ２３などの内部メモリに記録され（Ｓ３０６）、表示範囲や基準マーク７２の表示位置を求める際に利用される。一方で、画像ファイル生成部２６にも供給され、画像ファイルのヘッダの領域ｈ４に記録される。次回の確認用画像の表示では、メモリまたは画像ファイルに記録された値が利用されるため、表示処理に係る時間は大幅に短縮される。
【００９５】
なお、画角値の記録は、既に記録されている概略値に上書きする形で記録してもよいが、望ましくは概略値を格納する領域とは別の格納領域を確保しておき、概略値と算出値の両方をファイルヘッダＨに格納できるようにすることが好ましい。これにより、概略値と算出値の使い分けが可能になる。
【００９６】
（処理例２）
処理例１は、画像ファイルのファイルヘッダＨが図９Ａに示したタイプ、図９Ｂに示したタイプのいずれの場合にも適用可能であるが、次に説明する処理は、ファイルヘッダＨが図９Ｂに示したタイプの場合に適している。以下、ＹＣＣデータの生成には撮像レンズ２ａを通して得られた画像のみを使用し、距離画像の生成には撮像レンズ２ａおよび撮像レンズ２ｂを通して得られた情報を利用する場合を例示して説明する。なお、以下の例示では、輻輳角は０度であり、撮像レンズ２ａの光軸と撮像レンズ２ｂの光軸とは並行であるものとする。
【００９７】
図３０Ａに例示した位置関係では、撮像レンズ２ａは物体８３，８４，８５を捉えているが、撮像レンズ２ｂは物体８５を含む右側のエリアを捉えていない。したがって、距離画像生成部２５による処理では、物体８５を含む右側のエリアについての値が算出されないか、もしくは精度の低い値が算出されることとなる。一方、物体８４を含む左側のエリアは、撮像レンズ２ａ、２ｂの両方で捉えられているため、左側のエリアについては、正確なｚ値が算出される。この場合、左右いずれの端の画素群を演算に利用するかによって、算出される撮影画角の精度は異なることとなる。この場合、左右の画素群のうち、ｚ値の精度が高い側の画素群のみを使用して、撮影画角を算出することが好ましい。
【００９８】
図３２Ｂは、処理例２における使用画素値抽出手段８１と画角算出手段８２の処理を示すフローチャートであり、水平方向の撮影画角を算出する処理を示している。
【００９９】
使用画素値抽出手段８１は、ファイルヘッダの領域ｈ１２に格納されている情報、すなわち主光学系位置の情報を参照し（Ｓ３１１）、主光学系位置が右か左かを判断する（Ｓ３１２）。主光学系位置が右であれば、画像の左端に位置する画素で、距離画像のＹ軸方向の座標値がＹｓ１以上Ｙｓ２以下の画素群を選択する（Ｓ３１３Ｒ）。
【０１００】
使用画素値抽出手段８１は、次に、ステレオカメラ１の右側の撮影レンズの中心点を原点とする座標系を定義し、選択した画素の画素値を、その座標系で表された値に置換する（Ｓ３１４Ｒ）。続いて、選択した画素の中から、さらに、置換後の奥行き方向の座標値がＺｓ１以上Ｚｓ２以下の画素群を選択する（Ｓ３１５Ｒ）。ここでは、ステップＳ２１２Ｒで選択した画素群からｎ個（ｎは整数）の画素が、選択されるものとする。
【０１０１】
選択された画素群の画素値は、画角算出手段８２に供給される。画角算出手段８２は、次式
α１＝ａｒｃｔａｎ（Σ（ｘｌｉ／ｚｌｉ）／ｎ）・・・（６’）
に示す演算を行うことにより、図３０Ａに示すところの画角α１（左）を算出する（Ｓ３１６Ｒ）。式（６’）において、ｘｌｉは選択された画素群の中からさらに選択されたｎ個の画素のうちｉ番目（ｉ：１からｎまでの整数）の画素のｘ値を示す。同様に、ｚｌｉは選択された画素群の中から選択されたｎ個の画素のうちｉ番目（ｉ：１からｎまでの整数）の画素のｚ値を示す。
【０１０２】
一方、ステップＳ３１２において、主レンズ位置が左であれば、画像の右端に位置する画素で、距離画像のＹ軸方向の座標値がＹｓ１以上Ｙｓ２以下の画素群を選択する（Ｓ３１３Ｌ）。
【０１０３】
使用画素値抽出手段８１は、次に、ステレオカメラ１の左側の撮影レンズの中心点を原点とする座標系を定義し、選択した画素の画素値を、その座標系で表された値に置換する（Ｓ３１４Ｌ）。続いて、選択した画素の中から、さらに、置換後の奥行き方向の座標値がＺｓ１以上Ｚｓ２以下の画素群を選択する（Ｓ３１５Ｌ）。ここでは、ｎ個（ｎは整数）の画素が、選択されるものとする。
【０１０４】
選択された画素群の画素値は、画角算出手段８２に供給される。画角算出手段８２は、次式
α２＝ａｒｃｔａｎ（Σ（ｘｒｉ／ｚｒｉ）／ｎ）・・・（６”）
に示す演算を行うことにより、図３０Ａに示す画角α２（右）を算出する（Ｓ３１６Ｌ）。式（６”）において、ｘｒｉは選択されたｎ個の画素のうちｉ番目（ｉ：１からｎまでの整数）の画素のｘ値を示す。同様に、ｚｒｉは画素群８６から選択されたｎ個の画素のうちｉ番目（ｉ：１からｎまでの整数）の画素のｚ値を示す。
【０１０５】
ステップＳ３１５ＲあるいはＳ３１５Ｌにおいて算出された画角値は、画角算出手段８２により、メモリ２３などの内部メモリに記録される（Ｓ３１７）。また、算出された画角値は、画像ファイル生成部２６にも供給され、画像ファイルのヘッダの領域ｈ４に格納される。画角値を格納する領域は、処理例１と同様、概略値が記録されている領域とは別の領域とすることが好ましい。
【０１０６】
なお、上記例では左端もしくは右端の一方の画素群を選択しているが、ステレオカメラ１を９０度傾けた状態で撮影を行った場合、２つの光学系が垂直方向に並んで配置されているステレオカメラで撮影を行った場合には、上端もしくは下端の画素群の一方を選択する。ステレオカメラではなく、２台の単眼カメラを使って距離画像を生成した場合には、２台のカメラの位置関係に基づいて、２つの光学系により重複して捉えられる範囲を推定もしくは算出し、その範囲に含まれる側の端部にある画素群を選択する。
【０１０７】
（使用画素値の抽出範囲）
以下、使用画素値の抽出範囲、すなわち、境界値Ｙｓ１、Ｙｓ２、Ｚｓ１およびＺｓ２の定め方について説明する。境界値は予めメモリに記憶されているものを読み出して利用してもよいし、使用画素値抽出手段８１が行なう演算により求めてもよい。
【０１０８】
境界値Ｙｓ１およびＹｓ２は、画像を垂直方向に概ね三等分したときの中央の範囲、もしくはそれより狭い範囲を特定するように定める。図３１の例では、中央部分の１／３よりも少し狭い範囲の画素群が選択されるように境界値Ｙｓ１およびＹｓ２を定めている。レンズ歪の影響が少ない中央部分の画素の値を演算に用いることで、撮影画角の算出精度を高めるためである。但し、レンズ歪の影響度はレンズの性能にも依存するので、境界値Ｙｓ１およびＹｓ２の値は、距離画像の生成に用いられた撮像系のレンズの種類や性能に基づいて定めるのがよく、概ね三等分したときの中央部分というのは、一つの目安に過ぎない。境界値Ｙｓ１およびＹｓ２は、上記方針に基づき定めた値を、予めメモリに記憶しておき、演算の際に使用する。
【０１０９】
境界値Ｚｓ１およびＺｓ２は、奥行き方向の座標値がＺｓ１以上Ｚｓ２以下の範囲で、ｚ値について所定の精度が保障されるように定める。具体的には、ステレオカメラ１からの距離が近すぎる範囲と遠すぎる範囲が除外されるように定める。ステレオカメラ１は１つの点を２つのレンズで捉えることにより距離を測定するが、カメラに近い範囲は一方のレンズでしか捉えられないため、奥行き方向の座標値の精度を保障できない。よって、値Ｚｓ１は、この範囲を除外するように定める。
【０１１０】
ここで、一方のレンズでしか捉えられない範囲は輻輳角によって変化する。そこで、以下、輻輳角が０度の場合と、それ以外の角度θの場合とに分けて、値Ｚｓ１およびＺｓ２の決め方を説明する。
【０１１１】
図３０Ａに示す関係から明らかであるように、輻輳角が０度で、撮像レンズ２ａの光軸と撮像レンズ２ｂの光軸とが並行なときには、一方のレンズでしか捉えられない範囲は、ステレオカメラ１の基線長をＬ、撮影画角（概略値でよい）をＷとして、（Ｌ／２）／ｔａｎＷと表わすことができる。よって、値Ｚｓ１は、（Ｌ／２）／ｔａｎＷより大きな値、すなわち、次式
Ｚｓ１＝（Ｌ／２）／ｔａｎＷ＋Ｋ・・・（８）
で表わされる値とする。但し、範囲オフセット値Ｋは、ステレオカメラの仕様や性能に応じて定められる正の値である。範囲オフセット値Ｋは、固定値でもよいし、画角の概略値、基線長、輻輳角などの情報に基づいて算出した値でもよい。
【０１１２】
境界値Ｚｓ１は、画素群を選択する過程で使用画素値抽出手段８１が上記演算を行なうことにより決定する。上記演算において、基線長Ｌおよび撮影画角Ｗの値は、ファイルヘッダＨに格納されている値が使用される。
【０１１３】
なお、上記演算により境界値を決定する代わりに、基線長Ｌおよび撮影画角Ｗの値の如何に拘らずＺｓ１＞（Ｌ／２）／ｔａｎＷの条件を満たすような値（固定値）をメモリに記憶しておいて利用してもよい。上記演算により境界値を決定する場合にも、固定値をメモリに記憶しておけば、演算に失敗した場合などに固定値を利用した処理が可能になる。
【０１１４】
境界値Ｚｓ２は、何通りかの設定値を予めメモリに記憶しておき、その中から選択した値を設定する。例えば、設定値と、基線長や撮影画角とを対応づけたテーブルをメモリに記憶しておく。そして、ファイルヘッダに記録されている基線長などに対応する値をテーブルから読み出し、境界値Ｚｓ２として設定する。
【０１１５】
続いて、図３０Ｂを参照しながら、輻輳角が０度以外の角度θの場合について説明する。図の例では、右側の撮像レンズ２ａの光軸はＺ軸と並行であるものとする。輻輳角θは、図示されるように、撮像レンズ２ａの光軸と撮像レンズ２ｂの光軸が交差する角度として表わされる。
【０１１６】
この場合、２つのレンズで重複して捉えることができる範囲の近距離側の境界は、ステレオカメラ１の基線長をＬ、撮影画角（概略値でよい）をＷとすると、
Ｌ・ｔａｎβ・ｔａｎγ／（ｔａｎβ＋ｔａｎγ）
（  但し、β＝９０゜−θ−Ｗ，  γ＝９０゜−Ｗ  ）
と表わすことができる。よって、境界値Ｚｓ１は、Ｌ・ｔａｎβ・ｔａｎγ／（ｔａｎβ＋ｔａｎγ）より大きな値、すなわち、次式
Ｚｓ１＝Ｌ・ｔａｎβ・ｔａｎγ／（ｔａｎβ＋ｔａｎγ）＋Ｋ１・・・（９）
で表わされる値とすればよい。但し、範囲オフセット値Ｋ１は、ステレオカメラの仕様や性能に応じて定められた正の値である。範囲オフセット値Ｋ１は、固定値でもよいし、画角の概略値、基線長、輻輳角などの情報に基づいて算出した値でもよい。
【０１１７】
また、２つのレンズで重複して捉えることができる範囲の近距離側の境界は、
Ｌ・ｔａｎβ’・ｔａｎγ／（ｔａｎβ’＋ｔａｎγ）
（  但し、β’＝９０゜−θ＋Ｗ，  γ＝９０゜−Ｗ  ）
と表わすことができる。よって、境界値Ｚｓ２は、Ｌ・ｔａｎβ’・ｔａｎγ／（ｔａｎβ’＋ｔａｎγ）より小さい値、すなわち、次式
Ｚｓ１＝Ｌ・ｔａｎβ’・ｔａｎγ／（ｔａｎβ’＋ｔａｎγ）−Ｋ２・・・（１０）
で表わされる値とすればよい。但し、範囲オフセット値Ｋ２は、ステレオカメラの仕様や性能に応じて定められた正の値である。範囲オフセット値Ｋ２は、固定値でもよいし、画角の概略値、基線長、輻輳角などの情報に基づいて算出した値でもよい。なお、範囲オフセット値Ｋ１，Ｋ２は、同じ値としてもよいが、好ましくは、画角の概略値、基線長、輻輳角などの情報に基づいて、それぞれ適切な値を設定するのがよい。
【０１１８】
境界値Ｚｓ１、Ｚｓ２は、画素群を選択する過程で使用画素値抽出手段８１が上記演算を行なうことにより決定する。上記演算において、輻輳角θ、基線長Ｌおよび撮影画角Ｗの値は、ファイルヘッダＨに格納されている値が使用される。
【０１１９】
なお、境界値を演算により求める場合には、先にファイルヘッダの輻輳角の情報を参照し、参照された値が０度の場合には上記（８）式による演算を行い、それ以外の場合には上記（９）および（１０）式による演算を行なうようにするとよい。また、輻輳角が０度に固定されているときは、ファイルヘッダの情報を参照することなく上記（８）式に基づく演算を実行してもよい。これにより、処理時間を短縮することができる。
【０１２０】
以上に説明した手順により定められる境界値Ｙｓ１、Ｙｓ２、Ｚｓ１、Ｚｓ２は、画素値が信頼できる範囲を特定する値であるので、境界値により区切られた範囲の画素値のみを使用画素値とすることで、撮影画角の算出の精度を高めることができる。
【０１２１】
前述したとおり、本実施形態において、ステレオカメラ１のユーザは、確認用画像に表示される基準マークと特定エリアマークとの位置関係を観察しながら、Ｘ軸方向のオフセット値を調整する。撮影画角の値が正確であれば、確認用画像における各マークの表示位置も正確になり、オフセット値を正確に設定することが可能になる。これにより、画像合成時の位置ずれの問題を、確実に解消することができる。
【０１２２】
［  表示制御装置の概要  ］
以下、ステレオカメラ１が出力した画像ファイルを読み込んで、立体画像を再生、表示する表示制御装置について説明する。この表示制御装置は、１つの画像ファイルを参照して立体画像表示を行えるのみならず、複数の画像ファイルから、合成立体画像を形成して表示する画像合成装置としての機能を兼ね備える。
【０１２３】
図３３に、立体画像表示システムの概要を示す。図に示すように、この立体画像表示システム４５は、表示制御装置４６と、立体表示モニタ４７と、偏光メガネ４８により構成される。立体表示モニタ４７は、左目用、右目用の２つで一組の視差画像が表示制御装置４６から供給されたときに、左目用と右目用とで偏光方向を異ならせて、２つの画像を同時に一画面に出力するものである。偏光メガネ４８は、レンズの代わりに偏光フィルタを配したメガネで、偏光フィルタのフィルタ特性は、立体表示モニタ４７による偏光の方向と対応している。これにより、偏光メガネ４８をかけて立体表示モニタ４７を観察したときには、右目は右目用の画像のみ、左目は左目用の画像のみを認識するというしくみである。
【０１２４】
なお、立体画像表示の方式としては、図示した例のほか、メガネを用いない裸眼タイプの方式も知られている。代表的なものとしては、レンチキュラー方式、パララックスバリア方式、光源分離方式、ＤＦＤ（Depth Fused 3-D）方式などが知られている。さらに、最近では被写体からの光線角度を、実際と同等に再現させる表示方法もあり、その方法では視差画像ではない立体表示用画像の方法も提案されている。これらの方式も、表示制御に距離画像を使用するので、図３３に例示した方式に代えて、これらの方式を採用してもよい。
【０１２５】
図３４は、表示制御装置４６の構成を示す図である。表示装置はＤＶＤ（Digital Versatile Disk）、メモリカードなど複数の記録媒体用のメディアドライブ４９ａ〜４９ｃと、メディアドライブ４９ａ〜４９ｃにセットされた記録媒体からの画像ファイルの読み出しおよび記録媒体への画像ファイルの書き込みを制御する読出／書込制御部５０と、ケーブルを接続する外部接続インタフェース５１と、外部接続インタフェース５１を介した画像ファイルの転送を制御する転送制御部５２と、取得した画像ファイルその他処理中のデータを記憶するメモリ５６と、立体モニタ４７と接続するための表示インタフェース５３と、表示インタフェース５３を介した表示出力を制御する表示出力制御部５４を備える。読出／書込制御部５０、転送制御部５２、表示出力制御部５４およびメモリ５６は、システムバス５５により接続されている。
【０１２６】
システムバス５５には、さらに、再生伸長処理部５７と、距離画像変換部５８と、画像構成部５９とが接続されている。再生伸長処理部５７は、読出／書込制御部５０または転送制御部５２により取得され、メモリ５６に保存されている画像ファイルから、画像ファイル内に圧縮された状態で記録されているＹＣＣデータを取得する。そして、ＹＣＣデータを、圧縮前の状態となるように伸長し、さらにＹＣＣ−ＲＧＢ変換し、変換により得られた一組の視差画像を再びメモリ５６に保存する。
【０１２７】
距離画像変換部５８は、図３５のフローチャートが示す処理Ｐ４００を実行する。距離画像変換部５８は、メモリ内の画像ファイルを参照し、そのファイルのヘッダが図９に例示した領域ｈ１〜ｈ１０を備えた構造をしているか、確認する（Ｓ４０１）。その画像ファイルが異なる構造を有するファイルであれば、以降の処理は行われない。領域ｈ１〜ｈ１０を備えたヘッダを有するファイルであれば、距離画像Ｄと、ファイルヘッダＨの領域ｈ１〜ｈ１０に格納されている情報を取得する（Ｓ４０２）。
【０１２８】
続いて、ファイルヘッダＨの領域ｈ９に設定されている値が“０”か否かを判定することにより、ユーザが共通座標系の指定を行ったか否かを判別する（Ｓ４０３）。領域ｈ９に設定されている値が“０”以外の識別子であるときは、ファイルヘッダＨの領域ｈ９からその識別子と対応付けられている変位情報を取得する（Ｓ４０４）。ここでは、変位情報として取得された座標値を（ｘｃ，ｙｃ，ｚｃ）と表すこととする。
【０１２９】
続いて領域ｈ１０に記録されているフラグの値が“０”か否かを判定することにより、ユーザがオフセット原点の設定を行ったか否かを判別する（Ｓ４０５）。オフセット原点指定されていれば、オフセット値（ｘｏｆ，ｙｏｆ，ｚｏｆ）を取得する（Ｓ４０６）。その後、距離画像変換部５８は、以下に示す手順で、固有座標系で表される距離画像を、ユーザが指定した共通座標系で表される距離画像に変換する。
【０１３０】
オフセット原点が設定されていないときは、距離画像を構成する各画素（ｉ，ｊ）の値（ｘｄｉｊ，ｙｄｉｊ，ｚｄｉｊ）から、変位情報が示す座標値（ｘｃ，ｙｃ，ｚｃ）を減算する。但しここで、ｉおよびｊは、画素の縦横の位置を示すものとする（Ｓ４０７）。一方、オフセット原点が設定されているときは、距離画像を構成する各画素（ｉ，ｊ）の値（ｘｄｉｊ，ｙｄｉｊ，ｚｄｉｊ）から、変位情報が示す座標値（ｘｃ，ｙｃ，ｚｃ）を減算し、さらにオフセット値（ｘｏｆ，ｙｏｆ，ｚｏｆ）を減算する（Ｓ４０８）。ステップＳ４０７とＳ４０８は、それぞれ、距離画像を構成するすべての画素を対象として実行する。
【０１３１】
変換後の距離画像は、再びメモリ５６に保存される（Ｓ４０９）。なお、ステップＳ４０３においてユーザ指定情報の値が“０”であった場合には、距離画像の変換は行われず、ステップＳ４０２において取得された距離画像が、そのままメモリ５６に保存される（Ｓ４０９）。
【０１３２】
図３６は、画像構成部５９の処理を示すフローチャートである。画像構成部５９は、メモリ５６から、再生伸長処理部５７が保存した画像（ＲＧＢデータ）と、距離画像変換部５８が保存した変換後の距離画像とを取得する（Ｓ５０１）。そして、取得した画像（ＲＧＢデータ）と、変換後の距離画像とを使用して、右目用、左目用の視差画像を再構成する（Ｓ５０２）。再構成された視差画像はメモリ５６に保存される（Ｓ５０３）。表示出力制御部５４は、このときメモリ５６に保存された視差画像を立体モニタに出力する。
【０１３３】
［  合成画像の生成および表示  ］
上記説明は、画像ファイル単体の表示制御処理についての説明であるが、続いて、図３７を参照して、複数の画像ファイルを取り込んだときの表示制御処理について説明する。ユーザが図示されない操作部から、画像ファイルの連続取り込みの操作を行うと、読出／書込制御部または転送制御部もしくはその両方は、ユーザの操作に応じて画像ファイルの取り込みを、ユーザから取り込み完了を伝える入力があるまで、連続して実行する（Ｓ６０１，Ｓ６０２）。この操作により取り込まれた画像ファイルは、すべてメモリ５６に保存される。距離画像変換部５８は、図３５を参照して説明した距離画像変換処理Ｐ４００を、メモリ５６に記憶されている全画像ファイルを対象として繰り返し実行する（Ｓ６０３）。
【０１３４】
画像構成部５９は、メモリ５６に記憶されている複数の画像ファイルを対象として合成視差画像ファイルの生成処理（Ｐ７００）を実行し、生成した合成視差画像ファイルをメモリ５６に保存する（Ｓ６０４）。メモリ５６に保存された合成画像ファイルは、その後、表示出力制御部５４によりメモリ５６から読み出されて立体モニタ４６に出力される（Ｓ６０５）。また、メモリ５６に保存された合成画像ファイルは、読出／書込制御部５０を介してメモリカードなどの記録媒体に保存したり、転送制御部５２を介して他の装置に転送することもできる（Ｓ６０５）。
【０１３５】
以下、合成視差画像ファイルの生成処理（Ｐ７００）について、２つの画像ファイルから合成視差画像ファイルを生成する場合を例示しながら、さらに説明する。図３８は、合成の対象となる１つ目の画像ファイル（以下、主画像ファイル）を取得したときの、カメラ、撮影空間および共通座標系の関係を示す図である。この図が示すように、主画像ファイルは、ステレオカメラ１を用い、比較的広い画角で、物体６１、物体６３および物体６４が配された撮影空間を撮影することにより得るものとする。図３９に、この撮影により得られた視差画像をモニタに出力したときの表示例を示す。
【０１３６】
図４０は、合成の対象となる２つ目の画像ファイル（以下、副画像ファイル）を取得したときの、カメラ、撮影空間および共通座標系の関係を示す図である。この図が示すように、副画像ファイルは、ステレオカメラ６０を用い、ステレオカメラ１による撮影よりも狭い画角で、物体６２が配された撮影空間を撮影することにより得るものとする。なお、ステレオカメラ６０は、ステレオカメラ１と同じく、図８や図９を参照して説明したフォーマットの画像ファイルを出力するカメラである。図４１に、この撮影により得られた視差画像をモニタに出力したときの表示例を示す。
【０１３７】
図４２は、合成視差画像ファイル生成処理Ｐ７００を示すフローチャートである。画像構成部５９は、まず、主画像ファイルから水平方向の画角値αｈと、垂直方向の画角値αｖを読み込み、さらに副画像ファイルから水平方向の画角値βｈと、垂直方向の画角値βｖを読み込む（Ｓ７０１）。
【０１３８】
次に、画像構成部５９は、読み込んだ画角値を使って、次式（１１）により合成を行うときの主画像ＭＩ上の副画像ＳＩの配置領域を求める（Ｓ７０２）。式（１１）において、Ｈｄは主画像の水平表示画素数，Ｖｄは主画像の垂直表示画素数を表す。また、副画像の配置領域は、主画像の左下の頂点を（０、０），右上の頂点を（Ｈｄ，Ｖｄ）と表したときの、副画像の水平方向の配置範囲ｈａ１〜ｈｂ１、垂直方向の配置範囲ｖａ１〜ｖｂ１として求める。図４３に、Ｈｄ，Ｖｄ，ｈａ１，ｈｂ１，ｖａ１およびｖｂ１の関係と、それにより特定される副画像の配置領域６５を例示する。  
ｈａ１＝（Ｈｄ／２）−（Ｈｄ／２）×（ａｒｃｔａｎ βｈ／ａｒｃｔａｎ αｈ）
ｈｂ１＝（Ｈｄ／２）＋（Ｈｄ／２）×（ａｒｃｔａｎ βｈ／ａｒｃｔａｎ αｈ）
ｖａ１＝（Ｖｄ／２）−（Ｖｄ／２）×（ａｒｃｔａｎ βｖ／ａｒｃｔａｎ αｖ）
ｖｂ１＝（Ｖｄ／２）＋（Ｖｄ／２）×（ａｒｃｔａｎ βｖ／ａｒｃｔａｎ αｖ）
・ ・・（１１）
【０１３９】
画像構成部５９は、ステップＳ７０２において求めた配置領域６５にあわせて、副画像ファイル内の視差画像を縮小する（Ｓ７０３）。そして、主画像については、変換後距離画像を用いて主画像視差画像を再構成する（Ｓ７０４）。副画像についても、変換後距離画像を用いた画像の再構成を行うが、この処理は、副画像ファイルに記録されている画像ではなく、ステップＳ４０３で縮小した画像を対象として行う（Ｓ７０５）。続いて、ステップＳ４０４で再構成した主画像視差画像に、ステップＳ７０５で構成した縮小副画像の視差画像を重畳合成し、合成視差画像を生成する（Ｓ７０６）。図４４に、この処理により生成される合成視差画像をモニタに出力したときの表示例を示す。
【０１４０】
合成視差画像は以上に説明した処理により完成するが、ここでは、画像構成部５９がさらに、配置領域６５のみを対象とした拡大合成視差画像を生成するものとする。以下、この拡大合成視差画像の生成について説明する。
【０１４１】
画像構成部５９は、主画像ファイル内の視差画像、すなわち合成前の視差画像から、副画像の配置領域に相当する部分の画像を切り出す（Ｓ７０７）。以下、切り出した視差画像を部分画像と称する。続いて、切り出した部分画像を縮小される前の副画像と同じサイズまで拡大する（Ｓ７０８）。以下、拡大された視差画像を部分拡大画像と称する。続いて、画像構成部５９は、部分拡大画像の視差画像を、変換後距離画像を用いて再構成する（Ｓ７０９）。図４５に、再構成された部分拡大画像の視差画像をモニタに出力したときの表示例を示す。
【０１４２】
また、副画像についても、変換後距離画像を用いて視差画像を再構成する（Ｓ７１０）。そして、ステップＳ６０９で再構成した部分拡大画像の視差画像に、ステップＳ７１０で再構成した副画像視差画像を重畳合成する。これにより、副画像の配置領域６５のみの合成視差画像が生成される（Ｓ７１１）。図４６に、副画像の配置領域６５のみの合成視差画像をモニタに出力したときの表示例を示す。画像構成部５９は、次に、ステップＳ６０６で生成した合成視差画像、ステップＳ７１１で生成した副画像配置領域のみの合成視差画像、およびステップＳ７０２で求めた配置領域の情報を含む合成視差画像ファイルを生成する（Ｓ７１２）。
【０１４３】
３以上の画像ファイルを対象とした合成処理を行う場合には、ステップＳ７０１において読み取った画角の情報に基づいて、最も画角の広い画像を主画像とし、他を副画像として以降の処理を行うとよい。この場合、副画像に関連するステップは、副画像ごとに実行することとなる。あるいは、副画像の画角が主画像よりも広いままで合成を行うとすれば、副画像から主画像の画角を越える範囲を削除してから合成を行うことが考えられる。
【０１４４】
なお、上記例では、物体同士の位置関係を正確に再現することを優先し、図４４の合成視差画像、図４６の合成視差画像ともに、変換後距離画像に忠実な表示を行っている。これに対し、正確さよりも見易さを優先する形態も考えられる。例えば、ユーザは、副画像をよく観察したいときに、図４６の合成視差画像の表示を要求するであろう。よって、図４６の合成視差画像の表示が要求された場合には、位置関係の正確な再現よりも、副画像の見易さを優先してもよい。そのような思想に基づいて合成視差画像ファイルを生成するときは、図４６に示した表示に代えて、図４７に示すような特殊表示を行うとよい。すなわち、主画像の中に、副画像に含まれる物体を覆い隠す位置にある物体が存在する場合には、その物体のみ表示を行わないようにする。
【０１４５】
特殊表示を行うときは、ステップＳ７０９で部分拡大画像の視差画像を再構成する以前に、副画像ファイルに前述した特定エリアＡの位置座標（ｘａ、ｙａ，ｚａ）の情報が格納されているか否かを判定する。副画像ファイルが特定エリアの位置座標の情報を含んでいる場合には、奥行き方向の値ｚａを取得する。一方、副画像ファイルが特定エリアの位置座標の情報を含んでいなければ、副画像の距離画像に基づいて副画像内の物体のうち、最も手前に位置する物体の中心点などを特定エリアとみなし、その奥行き方向の位置座標の値ｚａを副画像の距離画像から取得する。
【０１４６】
そして、主画像の距離画像から、奥行き方向の座標値としてｚａ以下の値を有する画素を探索し、その画素の値を無限に遠くを指す値に置き換える。これにより置き換えを行った範囲には物体は配置されていないことになるので、ステップＳ７０９において再構成される部分拡大画像の視差画像は、図４８に示すようなものとなる。すなわち、副画像に含まれる物体を覆い隠す位置にある物体は非表示となる。以降の処理は、前述したステップＳ７１０、Ｓ７１１およびＳ７１２の処理と同じである。
【０１４７】
以下、合成視差画像ファイルのフォーマットについて説明する。図４９に示すように、合成視差画像ファイルは、ファイルヘッダＨ´、上記ステップＳ７０６で生成される画像全体の合成視差画像、および上記ステップＳ７１１で生成される副画像の配置領域のみの合成視差画像により構成される。副画像ファイルが複数あるときには、図に示すように、ファイルには、副画像の配置領域のみの合成視差画像が複数記録される。
【０１４８】
図５０に示すように、ファイルヘッダＨ´には、合成の対象となる画像ファイルの数を格納する領域ｈ´１、メモリ内の主画像ファイルのファイルナンバーを格納する領域ｈ´２、副画像ファイルのファイルナンバーを格納する領域ｈ´３、副画像配置領域のみの合成視差画像の有無を示すデータを格納する領域ｈ´４、副画像の配置領域情報ｈ´５、合成視差画像のアドレスを格納する領域ｈ´６、副画像の配置領域のみの合成視差画像のアドレスを格納する領域ｈ´７が設けられている。領域ｈ´３、ｈ´５およびｈ´７は副画像の数に相当する数の領域が設けられる。なお、これ以外に、合成に用いた元の画像ファイルへのリンク情報を格納する領域を設けてもよい。
【０１４９】
領域ｈ´１にはファイルの数を示す数値が設定される。領域ｈ´２および領域ｈ´３に設定するファイルナンバーはファイルを指定する識別子であり、アルファベットなどを含む記号でもよい。領域ｈ´４には、副画像配置領域のみの合成視差画像がファイルに含まれているときには“１”、含まれていないときには“０”という値が設定される。図４２に示したフローチャートでステップＳ７０７〜Ｓ７１１の処理が省略された場合には、領域ｈ´４には値“０”が設定される。領域ｈ´５には、ステップＳ７０２で求められた値ｈａ１，ｈｂ１，ｖａ１およびｖｂ１が格納される。領域ｈ´６および領域ｈ´７には、各合成視差画像が格納された位置を示すアドレスが設定される。ここでアドレスとは、例えば、図４９に示されるファイルの先頭から各合成視差画像までのオフセットとする。
【０１５０】
以上に説明したように、画像構成部５９は、距離画像変換部５８による変換後の距離画像を用いて画像の合成を行う。すなわち共通座標系上で視差画像の合成を行う。このため、主画像ファイルと副画像ファイルとで、ファイルヘッダで同一の共通座標系を指定しておけば、従来手法において発生していた問題は生じず、合成の対象となる各画像ファイルが同じ装置により生成されたものであるときも、異なる装置により生成されたものであるときも、合成処理の結果は同じになる。特に、上記例のように、拡大縮小を伴う複雑な合成処理は、座標系の違いによる位置ずれが生じてしまう従来手法では、安定した結果を得ることができない。上記手法によれば、座標系のずれを気にすることなく種々の画像処理を施すことができるため、上記例以上に複雑な合成処理を行ったとしても常に安定した結果を得ることができる。
【０１５１】
また、画像構成部５９は表示の度に合成処理を行うのではなく、合成処理により得られた合成視差画像および合成の過程で得られた情報を１つの画像ファイルにまとめて保存しておく。このため、後に同じ合成視差画像の表示が必要になった場合には、ファイル内の合成視差画像をモニタ上に再生するだけでよく、処理時間を大幅に短縮することができる。また、合成視差画像ファイルとして保存するようにしたことで、合成処理と表示処理とを異なる装置で分担して行うことが可能になる。合成処理を別個の装置に行わせることで、表示制御装置を構成する回路を簡略化することができるので、表示制御装置の小型化、低コスト化にもつながる。
【０１５２】
［  変形例  ］
また、上記実施形態では、撮影画角算出装置は、ステレオカメラ１の確認用画像生成部６７の一構成要素として実装されているが、本発明の撮影画角算出装置は、撮影画角の値を必要とするあらゆる処理部に組み込むことができる。また、独立した処理部あるいは装置として実装することにより、種々の画像処理に幅広く利用することができる。
【０１５３】
また、距離画像を生成する装置に限らず、他の装置において生成された距離画像を取り扱う装置にも適用可能である。例えば、上に示した表示制御装置のような装置、すなわち、撮影画角の値を利用して立体画像の編集処理を行う立体画像編集装置や、撮影画角の値を利用して表示用の立体画像を再生する再生装置にも、組み込むことができる。再生装置は、再生機能を備えた処理装置（パソコンなど）のほか、表示装置と一体になった装置でもよい。演算に用いる値の精度を高めることで、編集あるいは表示再生する画像の、ずれや歪みを低減することができる。本発明は、この他、処理の過程で撮影画角の正確な値を必要とする、あらゆる装置に適用可能である。
【図面の簡単な説明】
【０１５４】
【図１Ａ】本発明の撮影画角算出装置の一実施形態であるステレオカメラの外観図(正面側)
【図１Ｂ】本発明の撮影画角算出装置の一実施形態であるステレオカメラの外観図(背面側)
【図２】ステレオカメラの内部構成を示すブロック図
【図３】撮影空間を例示した図
【図４】視差画像（ＲＧＢデータ）を例示した図
【図５】固有座標系を例示した図
【図６】カメラの他の構成を例示した図
【図７】他の構成を有するカメラの外観を例示した図
【図８】画像ファイルのフォーマットを示す図
【図９Ａ】画像ファイルのファイルヘッダの一例を示す図
【図９Ｂ】画像ファイルのファイルヘッダの他の例を示す図
【図１０】固有座標系の問題点について説明するための図
【図１１】固有座標系の問題点について説明するための図
【図１２】固有座標系の問題点について説明するための図
【図１３】固有座標系の問題点について説明するための図
【図１４】固有座標系の問題点について説明するための図
【図１５】共通座標系を例示した図
【図１６】外観上認識し得る原点の一例を示す図
【図１７】外観上認識し得る原点の他の例を示す図
【図１８】共通座標系の原点の他の候補を示す図
【図１９】変位情報を設定する領域ｈ８の詳細フォーマットを示す図
【図２０】オフセット原点について説明するための図
【図２１】Ｚ軸方向のオフセット値設定処理の一例を示す図
【図２２】Ｚ軸方向のオフセット値設定画面の表示例を示す図
【図２３】Ｚ軸方向のオフセット値設定画面の表示例を示す図
【図２４】Ｚ軸方向のオフセット値設定画面の表示例を示す図
【図２５】Ｘ軸方向のオフセット値設定処理の一例を示す図
【図２６】Ｘ軸方向のオフセット値設定画面の表示例を示す図
【図２７】Ｘ軸方向のオフセット値設定画面の表示例を示す図
【図２８】Ｘ軸方向のオフセット値設定画面の表示例を示す図
【図２９】撮影画角の算出手段を示す図
【図３０Ａ】撮影画角の算出方法について説明するための図
【図３０Ｂ】撮影画角の算出方法について説明するための図
【図３１】撮影画角の算出方法について説明するための図
【図３２Ａ】撮影画角算出処理の一例を示すフローチャート
【図３２Ｂ】撮影画角算出処理の他の例を示すフローチャート
【図３３】立体画像表示システムの概要を示す図
【図３４】表示制御装置の構成例を示す図
【図３５】距離画像変換部の処理を例示したフローチャート
【図３６】画像構成部の処理を例示したフローチャート
【図３７】複数画像ファイル取込時の表示制御処理を例示したフローチャート
【図３８】主画像取得時のカメラ、撮影空間、共通座標系の関係を例示した図
【図３９】主画像のみの表示例を示す図
【図４０】副画像取得時のカメラ、撮影空間、共通座標系の関係を例示した図
【図４１】副画像のみの表示例を示す図
【図４２】合成視差画像ファイルの生成処理を例示したフローチャート
【図４３】副画像の配置領域について説明するための図
【図４４】合成視差画像の表示例を示す図
【図４５】主画像の部分拡大画像の表示例を示す図
【図４６】副画像の配置領域のみの合成視差画像の表示例を示す図
【図４７】副画像の配置領域のみの合成視差画像の特殊表示の例を示す図
【図４８】特殊表示のための部分拡大画像の補正例を示す図
【図４９】合成視差画像ファイルのフォーマットを示す図
【図５０】合成視差画像ファイルのヘッダの一部領域を示す図
【符号の説明】
【０１５５】
１  ステレオカメラ、  ２ａ，２ｂ，２ｃ  撮像レンズ、  
３  シャッタレリーズボタン、  ４  ファインダ、  ５  操作ボタン、  
７  モニタ、  ８  カードスロット、  ９  メモリカード、  １０  外部接続Ｉ／Ｆ、  
１１ａ，１１ｂ，１１ｃ  ＣＣＤ、  １４，５５  システムバス、
２７，３３，３７，６１，６２，６３，６４，８３，８４，８５  撮影空間に配置された物体、２８ａ，２８ｂ  ＲＧＢデータ、  ２９  赤外線照射部、  
３１  画像ファイル、  Ｈ，Ｈ´  ヘッダ、  ３２，３６  従来のステレオカメラ、
３４，３８  固有座標系、  ４０，４７  立体表示モニタ、  
４３，４４ａ，４４ｂ  基点マーク、
４５  立体表示システム、  ４６  表示制御装置、  ６５  副画像の配置領域、
Ａ  特定エリア、  ７２  基準マーク
【図１Ａ】
0004739291.tif 000002
【図１Ｂ】
0004739291.tif 000003
【図２】
0004739291.tif 000004
【図３】
0004739291.tif 000005
【図４】
0004739291.tif 000006
【図５】
0004739291.tif 000007
【図６】
0004739291.tif 000008
【図７】
0004739291.tif 000009
【図８】
0004739291.tif 000010
【図９Ａ】
0004739291.tif 000011
【図９Ｂ】
0004739291.tif 000012
【図１０】
0004739291.tif 000013
【図１１】
0004739291.tif 000014
【図１２】
0004739291.tif 000015
【図１３】
0004739291.tif 000016
【図１４】
0004739291.tif 000017
【図１５】
0004739291.tif 000018
【図１６】
0004739291.tif 000019
【図１７】
0004739291.tif 000020
【図１８】
0004739291.tif 000021
【図１９】
0004739291.tif 000022
【図２０】
0004739291.tif 000023
【図２１】
0004739291.tif 000024
【図２２】
0004739291.tif 000025
【図２３】
0004739291.tif 000026
【図２４】
0004739291.tif 000027
【図２５】
0004739291.tif 000028
【図２６】
0004739291.tif 000029
【図２７】
0004739291.tif 000030
【図２８】
0004739291.tif 000031
【図２９】
0004739291.tif 000032
【図３０Ａ】
0004739291.tif 000033
【図３０Ｂ】
0004739291.tif 000034
【図３１】
0004739291.tif 000035
【図３２Ａ】
0004739291.tif 000036
【図３２Ｂ】
0004739291.tif 000037
【図３３】
0004739291.tif 000038
【図３４】
0004739291.tif 000039
【図３５】
0004739291.tif 000040
【図３６】
0004739291.tif 000041
【図３７】
0004739291.tif 000042
【図３８】
0004739291.tif 000043
【図３９】
0004739291.tif 000044
【図４０】
0004739291.tif 000045
【図４１】
0004739291.tif 000046
【図４２】
0004739291.tif 000047
【図４３】
0004739291.tif 000048
【図４４】
0004739291.tif 000049
【図４５】
0004739291.tif 000050
【図４６】
0004739291.tif 000051
【図４７】
0004739291.tif 000052
【図４８】
0004739291.tif 000053
【図４９】
0004739291.tif 000054
【図５０】
0004739291.tif 000055