"入射瞳形状および撮像素子共役面形状により規定される仮想的な撮像系の特性を有する撮像装置の画像を処理する情報処理装置であって、複数の撮像手段の各々が撮像する範囲を制御する複数の制御手段を備え、前記制御手段は、前記複数の撮像手段の各々が撮像する範囲を、前記入射瞳形状を有する前記仮想的な撮像系の入射瞳と、前記撮像素子共役面形状を有する前記仮想的な撮像系の撮像素子に共役な面とを、ともに通過する光線の量を、より大きくなるよう制御することを特徴とする情報処理装置。前記制御手段は、各撮像手段の被写体に対する画角と方向とを制御することを特徴とする請求項1に記載の情報処理装置。ユーザーから入射瞳形状および撮像素子共役面形状を設定するパラメータを受信する受信手段をさらに備えたことを特徴とする請求項1または2に記載の情報処理装置。前記制御手段は、前記仮想的な撮像系の合焦距離を前側焦点から無限遠焦点まで変化させたときの各撮像素子共役面形状について、前記入射瞳形状を有する前記仮想的な撮像系の入射瞳と、前記撮像素子共役面形状を有する前記仮想的な撮像系の撮像素子に共役な面とを、ともに通過する光線の量を、より大きくなるよう制御することを特徴とする請求項1ないし3のいずれかに記載の情報処理装置。前記仮想的な撮像系の合焦距離を変化させたときに前記仮想的な撮像系の撮像素子に共役な面が描く軌跡の形状を設定する撮像素子共役面軌跡形状設定手段をさらに備えたことを特徴とする請求項4に記載の情報処理装置。入射瞳形状および撮像素子共役面形状により規定される仮想的な撮像系の特性を有する撮像装置の画像を処理する情報処理装置であって、複数の撮像手段の各々が撮像する範囲を制御する複数の制御手段とを備え、前記制御手段は、前記複数の撮像手段の各々が撮像する範囲を、前記入射瞳形状を有する前記仮想的な撮像系の入射瞳と、前記撮像素子共役面形状を有する前記仮想的な撮像系の撮像素子に共役な面とを、ともに通過する光線のうち、前記複数の撮像手段の各々が撮像する領域に含まれない光線がより少なくなるよう制御することを特徴とする情報処理装置。前記制御手段は、各撮像手段の被写体に対する画角と方向とを制御することを特徴とする請求項6に記載の情報処理装置。ユーザーから入射瞳形状および撮像素子共役面形状を設定するパラメータを受信する受信手段をさらに備えたことを特徴とする請求項6または7に記載の情報処理装置。前記制御手段は、前記仮想的な撮像系の合焦距離を前側焦点から無限遠焦点まで変化させたときの各撮像素子共役面形状について前記入射瞳形状を有する前記仮想的な撮像系の入射瞳と、前記撮像素子共役面形状を有する前記仮想的な撮像系の撮像素子に共役な面とを、ともに通過する光線のうち、前記複数の撮像手段の各々が撮像する領域に含まれない光線がより少なくなるよう制御することを特徴とする請求項6ないし8のいずれかに記載の情報処理装置。前記仮想的な撮像系の合焦距離を変化させたときに前記仮想的な撮像系の撮像素子に共役な面が描く軌跡の形状を設定する撮像素子共役面軌跡形状設定手段をさらに備えたことを特徴とする請求項9に記載の情報処理装置。コンピュータを請求項1から10のいずれか1項に記載の情報処理装置の制御手段として機能させるためのプログラム。しかしながら、特許文献1記載の方法では、前述の制限を超えるような画像のうち画角を広くすることは可能だが、画面全体に焦点があった画像しか得られず、有限な大きさの瞳をもつカメラで撮像したかのようなボケ味を再現することができない。また、視差画像間の対応点の関係に基づいて仮想カメラの画像を合成するため、被写体ぶれまたは透明被写体若しくはコントラストの低い被写体の撮影などでは、合成に失敗する可能性がある。一方、非特許文献1記載の方法では、一定の大きさの開口を持った光学系からなる仮想カメラで撮像したかのような画像を再現することができ、被写体ぶれまたは透明被写体若しくはコントラストの低い被写体の撮影などにおける合成の失敗もない。しかしながら、仮想カメラの開口の大きさの変更に伴い、各カメラが撮像する範囲に過不足が生じるため、分解能、ノイズ、ボケ味の自然さといった画質面の特性が劣化するという問題がある。本発明の目的は、非特許文献1のように複数のカメラの画像を用いて、一定の大きさの開口を持つ光学系からなる仮想カメラで撮像したかのような画像を合成する場合、各カメラの向きと画角を最適に制御することで、より高い画質を得る手段を提供することにある。このような課題を解決するため、本発明の情報処理装置は、入射瞳形状および撮像素子共役面形状により規定される仮想的な撮像系の特性を有する撮像装置の画像を処理する情報処理装置であって、複数の撮像手段の各々が撮像する範囲を制御する複数の制御手段を備え、制御手段は、複数の撮像手段の各々が撮像する範囲を、入射瞳形状を有する仮想的な撮像系の入射瞳と、撮像素子共役面形状を有する仮想的な撮像系の撮像素子に共役な面とを、ともに通過する光線の量を、より大きくなるよう制御することを特徴とする。本発明は、複数のカメラの画像を用いて、一定の大きさの開口を持つ光学系からなる仮想カメラで撮像したかのような画像を合成する場合、各カメラの向きと画角を最適に制御することで、制御を行わない場合に比べて画質を向上させることができる。[実施例1]<撮像装置の全体構成>図1は、本発明における実施例1である複数のカメラを備えた撮像装置の模式図である。カメラボディ101の、が前面の図であり、が背面の図である。カメラ105ないし129は、前面aに格子状に配置されている。カメラボディ101には、撮影ボタン102、ディスプレイ103および操作ボタン104が配置してある。操作ボタン104およびディスプレイ103を用いて撮影に関する種々の設定を行い、撮影ボタン102を押下することで、カメラ105~129による撮像が行われる。取得した複数の画像を用いて画像合成を行った結果は、ディスプレイ103に1枚の画像として表示される。以降このような複数のカメラからなる撮像装置を多眼カメラと呼ぶ。図2は、図1の多眼カメラの各処理部を表している。撮像部201~225は、図1のカメラ105~129のそれぞれの撮像部に相当し、各々バス226を介して受信した制御情報と撮像指示とに基づいて撮像を行い、取得した画像データをバス226に出力する。図3を用いて撮像部201~225を詳細に説明する。撮像部201~225は各々、制御部301、AD変換部302、バッファ303、撮像素子304、シャッター305、レンズ306、開口絞り307、レンズ308、カメラ方向駆動部309、レンズ駆動部310およびレンズ駆動部311より構成される。レンズ306、絞り307およびレンズ308は光学系を構成し、撮影対象の被写体の像を結像する。結像した像は、撮像素子304によって電気信号に変換され、AD変換部302によってデジタル画像データに変換される。変換されたデジタル画像データは、バッファ303に格納される。格納されたデータは、バス226を介して適宜読みだされる。制御部301は、バス226を介して撮像の指示を受け取ることで、シャッター305を開閉して撮像素子304を制御し撮像を実行する。また、カメラ方向駆動部309は、カメラの向きを変える機械装置であり、後述するように最適な光軸の方向に光学系を向ける。レンズ駆動部310、311はレンズの光軸方向の位置を変える機械装置であり、2枚のレンズと撮像素子との位置関係から、ピント位置と焦点距離をコントロールする。各駆動部309~311はそれぞれ図示しないモーターなどによって駆動され、その駆動量は、バス226を介して受け取ったピント位置、画角、カメラ向きの情報に基づいて、制御部301によって制御される。CPU229は、各構成の処理全体を制御するプロセッサであり、ROM227やRAM228に格納された命令を順に読み込み、解釈し、その結果に従って処理を実行する。また、ROM227とRAM228は、その処理に必要なプログラム、データ、作業領域などをCPU229に提供する。表示部231は一般的には液晶ディスプレイが広く用いられており、例えば図1に示すようなカメラボディ101の背面ディスプレイ103などを使用することができる。表示部231は、表示制御部230により制御され、CG生成部235や後述の画像合成部240から受け取った文字や画像の表示を行う。操作部232は、ボタンやダイヤルなどを用いることができ、例えば図1の操作ボタン104、撮影ボタン102などである。CPU229は、これらの操作部232を介してユーザー指示を受け取る。後述する合成や撮像についてのパラメータ設定は、ROM227、RAM228、CPU229、表示制御部230、表示部231、操作部232およびCG生成部235などが連携することで実現されるユーザーインターフェースを介して行われる。外部メモリ制御部233は、PCその他メディア234例えば、ハードディスク、メモリーカード、CFカード、SDカード、USBメモリに接続してデータの入出力をするためのインターフェースである。外部メモリ制御部233は、CPU229から出力指示を受け取ることで、RAM228に格納されているデータなどを外部のPCその他メディアに出力する。CG生成部235は、ユーザーインターフェースを実現するための文字やグラフィックなどを生成する。デジタル信号処理部236は各撮像部から得られたデジタル画像データに対して、ノイズ低減処理、ホワイトバランス処理、色変換処理、ガンマ処理を施す。デジタル信号処理部236の構成を図4に示す。撮像部201~225によって撮像し取得したままのデジタル画像データに対しては、画素値を輝度に比例する出力とし、撮像素子依存のノイズを低減することで、物理的に忠実になるようデータに変換を施す。また、画像合成後の画像は、好ましい画質になるよう調整する。圧縮伸張部237は、撮像し信号処理を施した画像や、画像合成により生成した画像をJpegやMpegなどのファイルフォーマットに変換する処理を行う。制御情報算出部238はユーザーにより設定されたパラメータに基づいて、撮像部201~225の画角、向きの制御情報を算出する。画角と向きの制御情報の算出方法、およびパラメータについては後で詳述する。キャリブレーション部239は、制御情報算出部238によって算出された制御情報や、撮像部201~225によって撮像され、デジタル信号処理部236により信号処理を施された画像に基づいて、各カメラの個々の内部パラメータを算出する。同様に、キャリブレーション部239は、制御情報や、信号処理を施された画像に基づいて、各カメラの個々の外部パラメータの算出を行う。また、画像の歪曲の補正もキャリブレーション部239にて行う。画像合成部240は撮像部201~225によって撮像され、デジタル信号処理部236により信号処理を施された画像を、ユーザーにより設定されたパラメータに基づいて合成し、仮想カメラによって撮像したかのような画像を生成する。なお、実際の装置の構成要素は上記以外にも存在するが、本件発明を明瞭に説明するため、その説明を省略する。本件発明の撮像装置は、撮像部201~225および制御情報算出部238に特徴がある。<撮影時の処理の流れ>図5は、多眼カメラによる撮影時の全体の処理の流れを示すフローチャートである。各処理のうち、本件発明に特徴的な処理である、ステップS502の制御情報の算出およびステップS507のキャリブレーションについては、後に詳述する。まず、ステップS501にてユーザーによりパラメータの設定が行われる。パラメータとは合成や撮像の際の挙動を制御する基礎となる数値であり、後で詳述する。パラメータの設定はROM227、RAM228、CPU229、表示制御部230、表示部231、操作部232およびCG生成部235などが連携することで実現されるユーザーインターフェースを介して行われる。設定されたパラメータは、バス226を介してRAM228に格納される。ステップS502では設定されたパラメータに基づいて、各カメラの制御情報の算出が行われる。すなわち、パラメータの設定が終わると、制御情報算出部238が、RAM228よりパラメータを読み出して、各カメラを制御するための値を算出し、RAM228に格納する後述の制御情報の算出。ステップS503では、算出された制御情報に従って各カメラの制御を行う。すなわち、バス226を介して撮像部201~225の制御部301に制御情報が渡され、それぞれ受け取った値に基づいてカメラ方向駆動部309並びにレンズ駆動部310および311を制御する。制御情報に基づいて制御が完了した時点で、撮像可能な待ち受け状態となる。ステップS504では、ユーザーによる撮像の指示を、操作部232を介してユーザーから受ける。撮像の指示は、受け取られるとバス226を介して撮像部201~225の制御部301に伝達される。撮像の指示が伝達されると、S505では撮像の実行が行われる。すなわち、制御部301により、撮像素子304のリセット、シャッター305の開、シャッター305の閉および撮像素子304からの画像信号の読み出しという順に制御が行われる。読み出された信号は、AD変換部302によりデジタル化され、バッファ303へ格納して撮像の処理は終了する。ステップS506で、デジタル信号処理部236は、撮像部201~225の各々のバッファ303から画像データを読み出し、デジタル信号処理を行ってRAM228に格納する。S507で、キャリブレーション部239は、RAM228に格納された制御情報と、画像データとに基づいて各カメラのキャリブレーション処理を行うとともに各カメラの内部パラメータおよび外部パラメータを求める。キャリブレーションの結果によって歪曲補正された画像並びにキャリブレーションにより求めた各カメラの内部パラメータおよび外部パラメータは、RAM228に格納される。ステップS508で画像合成部240は、RAM228に格納されたパラメータ、歪曲補正済み画像並びに各カメラの内部パラメータおよび外部パラメータに基づいて、仮想カメラ画像の合成を行う。合成された画像はRAM228に格納される。ステップS509でデジタル信号処理部236は、RAM228に格納された合成画像に対して画像処理を行う。ステップS510で圧縮伸張部237は、RAM228に画像処理済みの合成画像の圧縮を行い、圧縮された画像はRAM228に格納される。ステップS511で外部メモリ制御部233は、圧縮済みの画像を外部メモリに保存する。ステップS512で、合成画像を、表示制御部230を介して表示部231に表示する。<制御情報算出の概要>ユーザーにより設定されたパラメータに従って、制御情報算出部238にて多眼カメラを構成する各カメラの画角と向きを制御するための情報、すなわち制御情報の算出について以下に詳述する。ここではまず説明を簡単にため、実際は3次元で行われる処理を2次元で説明する。本発明では、仮想的な撮像系を仮定し、その撮像系で撮像したかのように画像を合成する際の画質が最良となる、多眼カメラを構成するように各カメラの制御を行う。実際のカメラは、種々の特性のレンズ、絞り、シャッターおよび撮像素子などを様々に組み合わせて構成され、結果極めて多様な種類が存在するが、本実施例では撮像部として共通する属性により仮想的な撮像計を特定する。すなわち、例えば種々のレンズを組み合わせた複数のカメラがあったとしても撮像系として設定された属性が同じであれば、異なるレンズの組合せを使用したとしても光学系としては同一として考えるのである。このように設定された属性がパラメータであり、仮想的な撮像系を表現する情報となる。したがって、画質を最良とするためには、仮想的な撮像系で撮像した場合の画像に寄与する光線を過不足のなく取得するように各カメラを制御するためのパラメータが必要になる。図6を用いて、仮想的な撮像系で撮像した場合の画像に寄与する光線について説明する。この撮像系はカメラのレンズに相当する光学系612と、撮像素子に相当する撮像素子面601とからなる。すなわち、光学系612は、実際のカメラではレンズ603、604や、開口絞り605などの構成要素からなる。光学系の性質は、前側焦点609、後側焦点608、前側主点611、後側主点612、入射瞳606および射出瞳607で表すことができる。光学系の特性として影響を与えるのは、この各点および各瞳であり、どのような点と動を選択するかが決定すれば、実際の光学系の構造としては本実施例以外の構造であっても構わない。さらに、撮像素子面601、焦点608、609、主点611、612から撮像素子面601に共役な面として、撮像素子共役面602を求めることができる。この撮像系で撮像した場合に画像に寄与する光線の条件は、屈折されながら開口絞り605を通過し撮像素子面601に到達するというものである。換言すると、撮像素子共役面602と入射瞳606を通るような直線が、この撮像系で撮像した場合に画像に寄与する光線ということになる。図6においては、光線A613は入射瞳606を通るが、撮像素子共役面602を通らないため、撮像素子面601上に到達しない。光線B614は撮像素子共役面602を通るが入射瞳606を通らないため、開口絞り605によって遮られてしまう。光線C615は撮像素子共役面602、入射瞳606を共に通るので撮像素子面601上に到達する。したがって、入射瞳および撮像素子共役面という2つの平面図形を通ることが、合成画像を作成する場合に寄与することとなる光線の条件である。つまり、ユーザーにより設定されるパラメータとは、本質的には仮想カメラ入射瞳の形状と位置、仮想カメラ撮像素子共役面の形状と位置に関する情報である。実際のシステムではこのような情報は直感的に理解しにくいので、ユーザーにも理解しやすいような項目を選択させる。例えば、撮像素子の形状、ピント位置、焦点距離、F値、仮想カメラに用いる仮想的なレンズの種類などとしてユーザーに示し、このような情報からパラメータを算出するようにしてもかまわない。図7を用いてカメラの制御方法を概念的に説明する。前述の撮像する画像に寄与する光線の条件より、図7に示すように撮像素子共役面602と入射瞳606とを通るように各カメラを制御することで、効率よく光線情報を取得できる。つまり、あるカメラの位置をr、撮像素子共役面602の端部の位置をf1、f2、入射瞳606の端部の位置をp1、p2、カメラの画角をα、カメラのx軸からの角度をβとすると、式1および式2のような関係になる。なお、ここではx軸方向の単位ベクトルをe1、y軸方向の単位ベクトルをe2とする。従って、各カメラで効率よく光線情報を取得するためには、各カメラについて以下の式3および式4で求められる画角αと向きβとなるように制御すれば良い。実際の多眼カメラは、アレイ上に並んでおり三次元的に向きを変えるため、式3、式4ように単純にはカメラの画角や向きの最適値を求めることはできない。この場合、まず、入射瞳606と撮像素子共役面602とを制御情報を求めたいカメラに透視投影して得られる形状の共通部分を求める。そして、これを覆うことができる最小の画角を評価値として算出し、算出された評価値が小さくなるようカメラの回転量を最適化することで制御情報を求めれば良い。この点を図8を用いて説明する。制御情報を求めようとするカメラの光学中心の位置をtとし、長方形の撮像素子601上の座標軸を辺に沿ってu軸,v軸とする。多眼カメラの世界座標の軸をx軸,y軸,z軸とし、初期状態ではu軸とx軸、v軸とy軸が平行になっているとする。ここで、対象としているカメラ方向駆動部が、光学中心位置を保ったまま、y軸周りの回転θ、z軸周りの回転φによってカメラの向きを変えられる機構とすると、距離1の平面上への透視カメラ行列Mpは式5のようになる。入射瞳形状、撮像素子共役面形状を多角形で表すとし、それぞれの3次元空間上でのN個の頂点の斉次座標をpn、fnと置く。このとき、距離1の平面上に透視投影したときの2次元座標、は、式8のようになる。共通部分を求めて多角形として表したときのN’個の頂点をとし、撮像素子のu軸方向と、v軸方向の大きさをsu、svとすると最小化すべき評価値Eは式9のようになる。Eを最小化するθとφが回転角度の最適値であり、この時のEをEminとするとu軸方向の画角αu、v軸方向の画角αvそれぞれの最適値は式10のようになる。最小化の方法はランダムに回転角度を変えながら、距離1の平面上に置いたの射影変換を繰り返し、評価値を最小化する回転角度を探索する方法などを用いることができる。なお、本実施例で示したカメラの動き方は一例であり、パラメータの取り方は実施時の機械的機構に即して設定すれば良く、本実施例はそれを限定するものではない。また、各カメラの向きと画角は、入射瞳と撮像素子共役面とを通過する光線をとらえ、撮像に寄与する光線情報を取得できるよう設定されていればよく、本実施例1はその算出方法を限定するものではない。また、各カメラの向きを変えるかわりに、撮像素子とレンズの相対位置を光軸と垂直方向に変化させることで光学中心をずらし、撮像の範囲を変える構成としてもかまわない。<制御情報算出部の構成>図9を用いて制御情報算出部238の構成について説明する。制御情報算出部238はバス226と接続されており、バス226を介してRAM228に格納された情報を取得する。入射瞳形状設定部901は、RAM228から取得した仮想的な撮像系を表現するようなパラメータに基づいて、入射瞳形状の三次元形状を設定する。パラメータによる入射瞳の設定方法の一例としては、パラメータごとにあらかじめ入射瞳形状がわかっている仮想的撮像系をROM227にIDと関連付けて格納しておく方法がある。このようにして格納しておいて、ROM227に格納された入射瞳形状からパラメータに合致するものを読み込む方法などがある。他にも多眼カメラに対する仮想撮像系の位置、仮想撮像系内での入射瞳の位置、大きさなどをパラメータとし、多眼カメラの座標での入射瞳形状に変換するなどの方法もある。撮像素子共役面形状設定部902は、仮想的な撮像系を規定するパラメータをRAM228から取得し、撮像素子共役面の三次元形状を設定する。パラメータとしては仮想的な撮像系を識別するIDと合焦距離とを用いて撮像素子共役面を算出しても良い。また、多眼カメラに対する仮想撮像系の位置、仮想撮像系の撮像素子サイズ、焦点距離、主点位置、合焦距離などをパラメータとし、撮像素子共役面形状を算出しても良い。本実施例は、仮想的な撮像系を規定するパラメータの表現を限定するものではなく、入射瞳形状および撮像素子共役面形状を取得することができる情報があればどのような表現でもかまわない。入射瞳形状射影部903は、まず、予めキャリブレーションを行って求めてある、制御情報を算出する対象であるカメラの外部パラメータをRAM228から読み込む。そして、読み込んだ対象カメラの位置、姿勢を用いて入射瞳形状設定部901で設定された入射瞳形状を射影する。撮像素子共役面射影部904は、まず、予めキャリブレーションで求めてある、制御情報の算出対象のカメラの外部パラメータをRAM228から読み込む。そして、読み込んだ対象カメラの位置、姿勢を用いて入射瞳形状設定部902で設定された撮像素子共役面形状を射影する。共通部分形状算出部905は、入射瞳形状射影部903と撮像素子共役面形状射影部904とによって求めた2次元形状の共通部分形状を算出する。最適制御値算出部906は、共通部分形状算出部905で求めた共通部分形状と、RAM228から読み込んだカメラの外部パラメータとを用いて、カメラの最適な画角と向きを算出する。以上の構成により行われる制御情報算出処理の流れを以下に説明する。<制御情報算出処理の流れ>図10を用いて制御所法算出処理の流れについて説明する。ステップS1001では仮想撮像系を規定するパラメータを取得する。あらかじめユーザーにより設定された、仮想撮像系を規定するパラメータは、入射瞳形状設定部901と撮像素子共役面形状設定部902とにより、RAM228から読み込まれる。ステップS1002では制御情報算出の対象となっているカメラの外部パラメータを取得する。カメラの外部パラメータは、入射瞳形状射影部903、撮像素子共役面形状射影部904および最適制御値算出部906により、RAM228から読み込まれる。ここで、外部パラメータは、あらかじめキャリブレーション部239により算出され、RAM228内に格納されているが、これに限られない。ステップS1003では入射瞳形状設定部903が、ステップ1001で取得した仮想撮像系を規定するパラメータに基づいて入射瞳形状を設定する。ステップS1004では撮像素子共役面形状設定部904が、ステップ1001で取得した仮想撮像系を規定するパラメータに基づいて撮像素子共役面形状を設定する。ステップS1005ではステップS1003で設定した入射瞳形状を、ステップS1002で取得したカメラの外部パラメータに従って射影する。射影は上述の式5および式8によって説明した方法で入射瞳形状射影部903が行う。ステップS1006では、ステップS1004で設定した撮像素子共役面形状を、ステップS1002で取得した外部パラメータに従って射影する。射影は上述の式5および式8を用いて説明した方法で撮像素子共役面形状射影部904が行う。ステップS1007では、ステップS1005で求めた射影された入射瞳形状と、ステップS1005で求めた射影された撮像素子共役面形状との共通部分形状を、共通部分形状算出部905が算出する。ステップS1008では最適制御値としてのカメラの向きと画角を、ステップS1007で算出した共通部分形状と、ステップS1002で取得した外部パラメータとを用いて、式9および式10を用いて説明した方法で行う。この最適制御値の算出は、最適制御値算出部906が行う。<キャリブレーションの処理>キャリブレーション部239にて実行するキャリブレーション処理について説明する。ここで、キャリブレーションとは、カメラの内部パラメータ、外部パラメータ、歪曲収差の係数などを求めることである。各カメラが予め決められた位置に高精度に設置され、向きや画角も高精度に制御され、光学系も無収差ないしはあらかじめ求めたテーブルから収差補正が可能ならば、キャリブレーションは必要ない。このような高精度の設置や制御などができない場合、キャリブレーションを行う必要があるが、このような技術は本技術分野で知られたものを使用することができる。すなわち、例えば非特許文献2に開示されている技術により、カメラの向き画角の制御後に、既知のパターンが印刷されたチャートを複数回撮影することによって、カメラの内部パラメータ、外部パラメータ、歪曲収差の係数を求めることができる。また、歪曲収差が無視できる場合、非特許文献3に開示されている技術により、3視点以上の画像を撮像することで、チャートを用いなくても内部パラメータを求めることができる。さらに、カメラの向きと相対的な位置も、各カメラ間の基本行列から求めることができる。この場合、カメラの位置はスケールの不定性があるため、任意の2つのカメラの間隔を基準の長さとして用いることで、不定性を解消する。<画像合成の処理>撮像部201~224で撮像され、デジタル信号処理部236で処理された複数の撮像画像を、画像合成部240により、あたかも所定のパラメータで規定される仮想カメラで撮像したかのように合成する処理について説明する。ここでは図1に示すような格子状に配列されたカメラカメラアレイによって得た光線情報から、理想光学系の属性を持つ仮想撮像系で撮像された画像となるよう合成を行う。図11に示すように、横倍率をMとすると仮想撮像系においては、撮像素子面601上のの位置にある画素に入射する光線は、すべて撮像素子共役面602上のの位置を通過する。したがって、各カメラによって撮像した画像を撮像素子共役面602上に投影したものを重ね合わせて、仮想カメラの画素数に従いサンプリングすることで、仮想撮像系で撮像される画像が得られる。まず、各カメラによって撮像した画像を撮像素子共役面602上に投影する方法について説明する。ここで座標は、x軸、y軸をカメラアレイ面内でそれぞれ撮像素子共役面602の横方向と縦方向に平行にとり、z軸を仮想撮像系の光軸上に沿ってカメラアレイから撮像素子共役面602に向かってとる。n番目のカメラの横画角をθxn、縦画角をθyn、横画素数をsxn、縦画素数をsyn、および画像上の光学中心位置をとすると、内部パラメータ行列Anは式11となる。このとき、画像座標xyを用いると、各パラメータは図12のように示される。また、各カメラ座標を、x軸が画面左方向、y軸が画面上方向、z軸が光軸方向になるようにとり、世界座標から見た各カメラ座標のx,y,z軸方向の単位ベクトルをそれぞれ、vxn、vyn、vznとする。このとき、各カメラの位置をtnとすると、各カメラ座標から世界座標への座標変換行列Mnは式12となる。各カメラ座標軸と世界座標軸の関係を図13に示す。各カメラにおけるある画像座標をとしたときに、撮像素子共役面上のに対応する点の位置を求める。求める点の斉次座標をhnは式13となる。ここで、kはn番目のカメラにおける画像座標を撮像素子共役面上に投影した時の、深度を表す。λは定数倍の不定性を表す係数である。世界座標の原点から撮像素子共役面602までの距離をdとすると、式14が成り立つ。この式14を、1kについて解き、Bnを用いて式15のように示す。式13および式15を用いると、撮像素子共役面上に投影された点の座標は2次元斉次座標で記述すると式16となる。すなわち、式16に従って射影変換することで、各カメラの画像を撮像素子共役面上に投影することができる。一般に変換対処である画像データは離散的な位置でサンプリングされた画像であるので、射影変換の際にはバイリニア補間や、キュービック補間でデータのない部分を埋める。次に入射瞳を考慮すると、現実の有限の大きさの瞳を有する光学系では焦点が合わない部分は当然ボケるので、複数の画像を合成して仮想的な撮像系による画像を取得する場合、自然なボケを再現する必要がある。このようなボケを再現するために、本発明では入射瞳を通る光線のみを撮像素子共役面上に重ね合わせる。ここで、図8に示すように入射瞳606の形状をM個の点の集まりPを直線で繋いだものとして考える図8ではMは8。Pに属する各点を、n番目のカメラから撮像素子共役面602上に投影した時の斉次座標P’nを、Pのn番目のカメラへの透視投影に式16を適用することで、式17が得られる。得られたP’nから、n番目のカメラによって撮像素子共役面上に投影されたPに、囲まれた位置では1を、それ以外の位置では0を持つマスクDnを考える。式16に基づいて作った画像をInとすると、合成により得られる画像Iは式18により計算することができる。以上、仮想カメラで撮像したかのような画像を合成する処理について説明したが、本実施例で示した方法は一例であり、本実施例は画像の合成方法を限定するものではない。従って、実施例1によれば、多眼カメラによる複数の画像を合成して有限な大きさの瞳を持つ単一の仮想カメラで撮像したかのような画像を生成することができる。すなわち、多眼カメラを構成する各カメラの向きと画角を最適にすることで、より高画質な仮想カメラ画像を得ることが可能になる。[実施例2]実施例1では、仮想カメラ画像においてピントの合っている位置が、撮像時に指定されるものとして、多眼カメラ上の各カメラの向きと画角を最適に制御するものとした。しかしながら、撮像後に仮想カメラのピント位置を指定したいという要求も存在する。本実施例では、撮像後の仮想カメラのピント位置の変更に対応できる範囲での、多眼カメラ上の各カメラの向きと画角を最適に制御するよう処理を行う。実施例2は実施例1と比較して、図2における制御情報算出部238に差異がある。本実施例では、制御情報算出の方法における実施例1と実施例2の差異を中心に説明する。撮像後に仮想カメラのピント位置を指定するためには、図14に示すように撮像素子共役面の位置が前側焦点から無限遠までのどの位置であっても、各カメラが不足なく光線を取得できるように向きと画角を設定する必要がある。撮像素子共役面が前側焦点609から無限遠焦点まで変化することを考慮すると、撮像素子共役面の軌跡は無限遠平面と前側焦点609からなる四角錐1401を形成する。この四角錐1401および入射瞳606をともに通る光線を捉えられるように、多眼カメラ上の各カメラの向きと画角を制御するための制御情報を、本実施例の制御情報算出部238で算出する。ここで、実施例1では撮像素子共役面形状を多角形602で表し、その三次元空間上での頂点の斉次座標をfnと表した。本実施例2ではこれに替えて、無限遠にピントを合わせた際の撮像素子共役面形状1501の頂点の斉次座標finfn、および前側焦点609の斉次座標fpointを用いる。この時の座標軸と撮像素子共役面および入射瞳606頂点の位置関係を図15に示す。finfn、fpointを式5の透視投影行列を用いて透視投影すると、その結果得られる2次元座標、は式19として求まる。との凸包を求めれば、これが画像に寄与する光線が通過する撮像素子共役面軌跡の錐体1401を、Z1の平面上に透視投影した際の図形である。この図形と、式8により得られる入射瞳形状の共通部分とを求め、その頂点をc’un,c’vnと置けば、最小化すべき評価値は式20のようになる。式20に基づいて実施例1における制御情報の算出と同様に、評価値の最小化を行い、最小となるカメラ向きと画角を求めれば、実施例2における最適なカメラ向きと画角を求めることができる。実施例2における制御情報算出部の構成を図16に示す。実施例1における制御情報算出部238と比較して、撮像素子共役面形状設定部902が撮像素子共役面形状設定部1601に、撮像素子共役面軌跡形状設定部903が撮像素子共役面軌跡形状設定部1602となっている。すなわち、撮像素子共役面軌跡形状設定部1601は、仮想撮像系の合焦距離が焦点から無限遠まで変化することで形成される撮像素子共役面軌跡の立体1401を、仮想的な撮像系を表すパラメータから設定する。撮像素子共役面軌跡形状射影部1602は、撮像素子共役面軌跡形状設定部1601で設定した軌跡の立体1401を射影する。実施例2における制御情報算出処理の流れを図17に示す。実施例1における制御情報算出処理と比較して、ステップS1004およびステップS1006が、それぞれステップS1701およびステップS1702となっている。ステップS1701では撮像素子共役面軌跡形状設定部1601が仮想撮像系の合焦距離が焦点から無限遠まで変化することで形成される撮像素子共役面軌跡の立体1401を算出する。ステップS1702では、撮像素子共役面軌跡形状射影部1602がステップS1701で設定した立体1401を、式19で説明される方法に基づいて射影する。以上説明したように、実施例2によれば、撮像後に仮想カメラのピント位置の変更を可能にすることができる。すなわち、多眼カメラを構成する各カメラの向きと画角を前側焦点から無限までの範囲の撮像素子共役面で最適になるようにすることで、より高画質な仮想カメラ画像を得ることが可能になる。[その他の実施形態]また、本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施例の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。また、本発明は、複数のプロセッサが連携して処理を行うことによっても実現できるものである。"