(58)【調査した分野】(Int.Cl.,DB名)
前記仮想空間内において前記仮想レンズアレイを挟んで前記仮想撮像素子とは反対の側に存在する仮想奥行き制御レンズの属性を示す仮想奥行き制御レンズ属性情報を記憶する仮想奥行き制御レンズ属性記憶部、
をさらに備え、
前記レンズ処理部は、前記仮想奥行き制御レンズ属性記憶部から読み出した前記仮想奥行き制御レンズ属性情報に基づき、前記仮想レンズアレイを透過して前記仮想撮像素子に入射する光線が前記仮想奥行き制御レンズを透過するときの屈折のしかたを演算する、
ことを特徴とする請求項1又は請求項2のいずれか一項に記載の画像生成装置。
仮想空間内に存在する仮想レンズアレイの位置及び屈折特性を少なくとも含む仮想レンズアレイ属性情報と、前記仮想空間内に存在する仮想撮像素子の位置を少なくとも含む撮像素子属性情報とを記憶する仮想カメラ属性記憶部を備え、前記仮想空間内のオブジェクトのインテグラルフォトグラフィ画像を生成する画像生成装置における画像生成方法であって、
前記仮想空間内における前記オブジェクトの位置を含むオブジェクト属性情報を取得するオブジェクト属性取得過程と、
前記仮想撮像素子に入射する光線が前記仮想レンズアレイを透過するときの屈折のしかたを、前記仮想カメラ属性記憶部から読み出す前記仮想レンズアレイ属性情報に基づいて演算するレンズ処理過程と、
前記オブジェクト属性取得過程において取得される前記オブジェクト属性情報に基づいて、且つ前記レンズ処理過程における演算結果に基づいて、前記仮想撮像素子に入射する光線の元の位置にあるオブジェクトをレンダリングして前記インテグラルフォトグラフィ画像の画像データを生成するレンダリング処理過程と、
を含むことを特徴とする画像生成方法。
仮想空間内に存在する仮想レンズアレイの位置及び屈折特性を少なくとも含む仮想レンズアレイ属性情報と、前記仮想空間内に存在する仮想撮像素子の位置を少なくとも含む撮像素子属性情報とを記憶する仮想カメラ属性記憶部を備え、前記仮想空間内のオブジェクトのインテグラルフォトグラフィ画像を生成する画像生成装置のコンピュータに、
前記仮想空間内における前記オブジェクトの位置を含むオブジェクト属性情報を取得するオブジェクト属性取得手順、
前記仮想撮像素子に入射する光線が前記仮想レンズアレイを透過するときの屈折のしかたを、前記仮想カメラ属性記憶部から読み出す前記仮想レンズアレイ属性情報に基づいて演算するレンズ処理手順、
前記オブジェクト属性取得手順において取得される前記オブジェクト属性情報に基づいて、且つ前記レンズ処理手順における演算結果に基づいて、前記仮想撮像素子に入射する光線の元の位置にあるオブジェクトをレンダリングして前記インテグラルフォトグラフィ画像の画像データを生成するレンダリング処理手順、
を実行させるためのプログラム。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら本発明の実施形態について説明する。
(第1の実施形態)
本発明の第1の実施形態について説明する。
まず、
図1を参照して、本実施形態の概要について説明する。
図1は、本実施形態に係る画像生成装置10(
図3)による処理の概念図である。
画像生成装置10は、仮想空間内のオブジェクトをレンダリングしてIP画像の画像(映像)データを生成する装置であり、例えば、パーソナルコンピュータ又はサーバ装置などの電子機器である。
【0016】
画像生成装置10は、仮想空間内におけるオブジェクト40の位置を含むオブジェクト属性情報を取得するオブジェクト属性取得部155(
図3)と、仮想空間内に存在する仮想レンズアレイ220の位置及び屈折特性を少なくとも含む仮想レンズアレイ属性情報と、仮想空間内に存在する仮想撮像素子210の位置を少なくとも含む仮想撮像素子属性情報とを記憶する仮想カメラ属性記憶部141(
図3)と、を含んで構成される。これにより、画像生成装置10は、オブジェクト属性取得部155が取得するオブジェクト属性情報に基づいて、仮想空間内にオブジェクト40を配置する。また、画像生成装置10は、仮想カメラ属性記憶部141に記憶されている仮想レンズアレイ属性情報と仮想撮像素子属性情報とに基づいて、仮想撮像素子210及び仮想レンズアレイ220を備える仮想カメラ20を仮想空間内に配置する。
【0017】
また、画像生成装置10は、仮想撮像素子210に入射する光線が仮想レンズアレイを透過するときの屈折のしかたを、仮想カメラ属性記憶部141から読み出す仮想レンズアレイ属性情報に基づいて演算するレンズ処理部152と、オブジェクト属性取得部155が取得するオブジェクト属性情報に基づいて、且つレンズ処理部152による演算結果に基づいて、仮想撮像素子に入射する光線の元の位置にあるオブジェクト40をレンダリングして画像(映像)データを生成するレンダリング処理部154と、を含んで構成される。これにより、画像生成装置10は、仮想カメラ20が備える仮想レンズアレイ220における光線の屈折のしかたを演算して、オブジェクト40をレンダリングし、IP画像の画像(映像)データを生成する。
【0018】
なお、映像データとは、フレームと画像データとを対応付けたデータである。換言すると、映像データとは、画像データの時系列データである。画像生成装置10は、IP画像の画像データ及び映像データのいずれを生成してもよい。以下では、画像生成装置10がIP画像の映像データを生成する態様について説明するが、説明を簡潔にするため、映像データを構成する各フレームの画像データの生成について説明し、画像データの時系列化については説明を省略する。
【0019】
画像生成装置10が生成したIP画像の映像信号は、実際の装置であるIP立体映像表示装置30に出力される。このIP立体映像表示装置30は、表示素子310とレンズアレイ320とを備える。そして、IP立体映像表示装置30の表示素子310は、画像生成装置10から取得されたIP画像の映像信号が示すIP画像を表示する。表示素子310に表示されたIP画像からの光線は、レンズアレイ320を介することにより、オブジェクト40に対応する立体像50を結像する。
なお、IP立体映像表示装置30は、仮想の装置であってもよい。
【0020】
次に、
図2を参照して、仮想撮像素子210と、仮想レンズアレイ220とについて説明する
図2は、仮想レンズアレイ220とIP画像とを示す模式図である。
仮想撮像素子210及び仮想レンズアレイ220の属性は、それぞれ任意に設定可能である。仮想撮像素子210及び仮想レンズアレイ220の属性は、例えば、IP立体映像表示装置30(
図1)を仮想空間上に配置した場合の表示素子310及びレンズアレイ320の属性に合わせて設定される。
仮想撮像素子210の属性には、位置、サイズ、及び画素数等があり、それぞれ、表示素子310の位置、サイズ、及び画素数等と同様の値に設定される。換言すると、仮想撮像素子210の仮想撮像面は、仮想空間にIP立体映像表示装置30を配置したときに、表示部11によりIP画像が表示される表示面の位置に対応する。
【0021】
上述したように、仮想レンズアレイ220の属性は、例えば、IP立体映像表示装置30のレンズアレイ320の属性に合わせて設定される。レンズアレイ320は、例えば、同一の属性を有するN個の仮想要素レンズを、その主面が同一平面上に位置するように配列して構成される。従って、仮想レンズアレイ220は、同一の属性を有するN個の仮想要素レンズ22−1〜22−Nを、その主面が同一平面上に位置するように配列して構成される。
【0022】
仮想レンズアレイ220の属性には、仮想レンズアレイ220の位置、仮想レンズアレイ220のサイズ、仮想要素レンズ22−1〜22−Nの数、仮想要素レンズ22−1〜22−Nの配列、及び仮想要素レンズ22−1〜22−Nの形状等がある。仮想レンズアレイ220の位置、仮想レンズアレイ220のサイズ、仮想要素レンズ22−1〜22−Nの数、仮想要素レンズ22−1〜22−Nの配列、及び仮想要素レンズ22−1〜22−Nの形状等は、それぞれ、レンズアレイ320の位置、レンズアレイ320のサイズ、レンズアレイ320を構成する要素レンズの数、レンズアレイ320を構成する要素レンズの配列、及びレンズアレイ320を構成する要素レンズの形状等と同様の値に設定される。そして、仮想レンズアレイ220の仮想要素レンズ22−1〜22−Nの主点の位置は、仮想空間にIP立体映像表示装置30を配置したときに、IP立体映像表示装置30のレンズアレイ320を構成する要素レンズ各々の主点の位置に対応する。
【0023】
また、IP立体映像表示装置30は、例えば、それぞれの表示面又は主面のサイズが揃った表示素子310とレンズアレイ320とを備える。また、IP立体映像表示装置30は、例えば、それぞれの表示面又は主面の中心を通る法線が一致し、且つ、レンズアレイ320を構成する要素レンズ各々の焦点距離だけ離れた距離に、表示素子310とレンズアレイ320とを配置する。この場合、画像生成装置10は、仮想カメラ20において、仮想撮像素子210の撮像面のサイズと仮想レンズアレイ220の主面のサイズとを揃えて設定する。また、画像生成装置10は、仮想撮像素子210と仮想レンズアレイ220とは、それぞれの面の中心を通る法線が一致するように、且つ、仮想レンズアレイ220を構成する仮想要素レンズ22−1〜22−N各々の焦点距離だけ離れた距離に配置されるように設定する。
【0024】
これにより、仮想要素レンズ22−1〜22−N各々を透過する光線は、それぞれ、仮想撮像素子210の撮像面上に要素画像21−1〜21−Nを結像する。つまり、これら要素画像21−1〜21−Nは、被写体からの光線を記録した画像であり、記録できる光線数は、仮想撮像素子210の解像度に依存する。画像生成装置10(
図3)は、要素画像21−1〜22−Nの画像を示すIP画像データを生成する。
なお、仮想レンズアレイ220を構成する仮想要素レンズ22−1〜22−Nの主点の位置及び仮想撮像素子210の仮想撮像面の位置は、仮想空間における時間の経過とともに変化してもよい。
【0025】
次に、
図3を参照して、画像生成装置10の構成について説明する。
図3は、画像生成装置10の概略機能構成を示すブロック図である。
画像生成装置10は、表示部11と、入力部12と、通信部13と、記憶部14と、制御部15と、を含んで構成される。
表示部11は、仮想カメラ20の属性の入力を受け付けるためのユーザインターフェイスを表示する。表示部11は、例えば、液晶ディスプレイや有機EL(Electro−Luminescence)ディスプレイなどの表示装置を備える。
入力部12は、ユーザから仮想カメラ20の属性の入力を受け付ける。入力部12は、例えば、マウス、キーボード、又はタッチパネルなどの入力装置を備える。入力部12が受け付け可能な操作の内容は、例えば、表示部11が備える表示装置により表示される。
通信部13は、通信用インターフェイスを備え、IP立体映像表示装置30に制御部15から出力された映像信号を送信する。
【0026】
記憶部14は、例えば、ROM(Read Only Memory)、及びRAM(Random Access Memory)等を備える。また、記憶部14は、HDD(Hard Disc Drive)、EEPROM(Electrically Erasable Programmable Read Only Memory)、及びフラッシュメモリ等を備えてもよい。記憶部14は、画像生成装置10が備えるCPU(Central Processing Unit、不図示)が実行するための各種プログラムやCPUが実行した処理の結果などを記憶する。
【0027】
また、記憶部14は、仮想カメラ属性記憶部141、オブジェクト属性記憶部145、及び映像信号記憶部146として機能する。
仮想カメラ属性記憶部141は、仮想カメラ20(
図1)の属性を示す仮想カメラ属性情報を記憶する。
仮想カメラ20の属性情報は、仮想カメラ20が備える仮想撮像素子210の属性を表す仮想撮像素子属性情報、及び仮想レンズアレイ220の属性を表す仮想レンズアレイ属性情報を含む情報である。
【0028】
仮想カメラ属性記憶部141は、仮想撮像素子属性記憶部142、仮想レンズアレイ属性記憶部143、及び光線方向記憶部144として機能する。
仮想撮像素子属性記憶部142は、仮想カメラ属性情報が含む情報のうち、仮想撮像素子属性情報を記憶する。仮想撮像素子属性情報が表す仮想撮像素子210の属性は、例えば、仮想撮像素子210の水平方向及び垂直方向の画素数、仮想撮像素子210のアスペクト比、仮想撮像素子210の各々の画素のアスペクト比、仮想撮像素子210の水平方向及び垂直方向のオフセット、及び仮想撮像素子210のサイズ等である。
【0029】
仮想レンズアレイ属性記憶部143は、仮想カメラ属性情報のうち、仮想レンズアレイ属性情報を記憶する。仮想レンズアレイ属性情報が表す仮想レンズアレイ220の属性は、例えば、要素レンズ22−1〜22−Nの焦点距離、要素レンズ22−1〜22−Nの水平方向及び垂直方向の数、隣接する要素レンズ22−1〜22−Nの距離(ピッチ)、要素レンズ22−1〜22−Nの配列、要素レンズ22−1〜22−Nの形状、並びに仮想レンズアレイ220と仮想撮像素子210との距離等である。
【0030】
光線方向記憶部144は、仮想撮像素子210における画素に対応する仮想空間内の光線の方向を表す光線方向情報を記憶する。
光線方向情報は、仮想撮像素子210の各画素に入射する光線であって、仮想カメラ20が備える仮想レンズのうち、仮想撮像素子210から最も遠い位置にある仮想レンズにおける光線の方向を示す情報である。換言すると、光線方向情報は、仮想撮像素子210の各画素から見た光線が、仮想カメラ20が備える各レンズにおいて屈折しながら透過して、仮想カメラ20から射出するときの方向を示す情報である。本実施形態において、仮想カメラ20が備える仮想レンズのうち、仮想撮像素子210から最も遠い位置にある仮想レンズは、仮想レンズアレイ220である。従って、本実施形態において、光線方向記憶部144は、仮想撮像素子210の各画素に対応する光線が仮想レンズアレイ220を構成する要素レンズ22−1〜22−Nから射出する方向を、画素毎に記憶する。
【0031】
オブジェクト属性記憶部145は、オブジェクト40(
図1)の属性を示すオブジェクト属性情報を記憶する。
オブジェクト属性情報は、仮想空間におけるオブジェクト40の属性を表す情報であり、例えば、位置、形状、光学的特性、及び色等を表す情報である。オブジェクト属性情報が表すオブジェクト40の仮想空間における位置及び形状は、例えば、ポリゴン(多角形)又は自由曲面等により表現される。また、そのデータ形式は、任意であってよく、例えば、CAD(Computer Assisted Drafting)データとして表現される。
【0032】
なお、オブジェクト40の仮想空間における位置、形状、光学的な特性、色等の属性は、仮想空間における時間の経過とともに変化してよい。すなわち、オブジェクト属性情報は、オブジェクト40の属性を表す時系列の情報であってもよい。
映像信号記憶部146は、映像を構成する各フレームにおけるIP画像データを記憶する。
【0033】
制御部15が有する機能の一部又は全ては、例えば、画像生成装置10が備えるCPU(不図示)が記憶部14に記憶されているプログラムを実行することにより実現される。
制御部15は、表示処理部151、レンズ処理部152、レンダリング処理部154、及び映像信号出力部156として機能する。
表示処理部151は、仮想カメラ20の属性の入力を受け付けるためのユーザインターフェイスを、表示部11に表示させる。
【0034】
レンズ処理部152は、入力部12を介してユーザから受け付けた仮想カメラ20の属性についての情報を、仮想レンズアレイ属性記憶部143に記憶させる。具体的には、レンズ処理部152は、入力部12がユーザから受け付けた仮想撮像素子210の属性についての入力に基づいて、仮想撮像素子210の属性を示す仮想撮像素子属性情報を仮想撮像素子属性記憶部142に記憶させる。また、レンズ処理部152は、入力部12がユーザから受け付けた仮想レンズアレイ220の属性についての入力に基づいて、仮想レンズアレイ220の属性を示す仮想レンズアレイ属性情報を仮想レンズアレイ属性記憶部143に記憶させる。
【0035】
また、レンズ処理部152は、仮想撮像素子210に入射する光線の仮想空間内における進み方を演算する。このとき、レンズ処理部152は、例えば、仮想レンズアレイ処理部153として機能する。
仮想レンズアレイ処理部153は、仮想撮像素子210に入射する光線が仮想レンズアレイ220を透過するときの屈折のしかたを、仮想カメラ属性記憶部141の仮想レンズアレイ属性記憶部143から読み出す仮想レンズアレイ属性情報に基づいて演算する。仮想レンズアレイ処理部153は、演算された仮想レンズアレイ220における屈折のしかたに基づいて、仮想撮像素子210の各々の画素に対応する光線の方向を演算し、仮想撮像素子210の各々の画素と、光線の方向との対応関係を光線方向記憶部144に記憶させる。
【0036】
レンダリング処理部154は、オブジェクト属性情報を取得するオブジェクト属性取得部155として機能する。本実施形態において、オブジェクト属性取得部155は、オブジェクト属性記憶部145からオブジェクト属性情報を読み出すことにより取得する。
レンダリング処理部154は、光線方向記憶部144から光線方向情報を読み出し、読み出した光線方向情報と、オブジェクト属性情報とに基づいて、仮想撮像素子210に入射する光線の元の位置にあるオブジェクト40をレンダリングしてIP画像の画像データを生成する。本実施形態において、レンダリング処理部154は、光線追跡(レイ・トレーシング)法に基づいてオブジェクト40をレンダリングする。
なお、光線追跡法については、公知の技術を適用可能であるため、詳細は省略する。また、本実施形態では、説明を簡潔にするため、光線とは、主光線であるとするが、画像生成装置10は、副光線についても演算してよい。
【0037】
映像信号出力部156は、映像信号記憶部146から映像を構成する各フレームにおけるIP画像データを順次読み出して、読み出したIP画像データを示す映像信号を、通信部13を介して、順次IP立体映像表示装置30に送信する。
【0038】
次に、
図4を参照して、表示部11が表示する仮想カメラ20の属性を入力するためのユーザインターフェイスについて説明する。
図4は、画像生成装置10における仮想レンズアレイ220用パラメータの入力画面を示す模式図である。
図4に示される例において、表示部11の表示領域111には、仮想レンズアレイ220(
図1)の属性として「1」〜「6」までの6項目の情報を設定可能に示している。
【0039】
項目「1」は、仮想レンズアレイ220を構成する要素レンズ22−1〜22−Nの焦点距離の入力を受け付けて設定するための項目である。要素レンズ22−1〜22−Nの焦点距離は、光線の出射角及び入射角に影響する属性であり、IP立体映像表示装置30により表示される立体像50の視域及び解像度に影響する。項目「2」は、仮想レンズアレイ220を構成する要素レンズ22−1〜22−Nの数の入力を受け付けて設定するための項目である。
図4に示される例において、要素レンズ22−1〜22−Nについて、水平方向のレンズ数と、垂直方向のレンズ数とが指定可能に示されている。
【0040】
項目「3」は、仮想レンズアレイ220を構成する要素レンズ22−1〜22−N各々の間隔の入力を受け付けて設定するための項目である。項目「4」は、仮想レンズアレイ220を構成する要素レンズ22−1〜22−Nの配列の指定を受け付けて設定するための項目である。
図4に示される例において、項目「4」では、仮想レンズアレイ220の配列として、「デルタ配列」と「正方配列」とが指定可能に示されている。
【0041】
項目「5」は、仮想レンズアレイ220と仮想撮像素子210との位置関係を調整するための項目である。具体的には、項目「5」は、例えば、仮想レンズアレイ220と、仮想撮像素子210との距離を、任意の距離に設定可能とするための項目である。仮想レンズアレイ220と仮想撮像素子210との距離を要素レンズ22−1〜22−Nの焦点距離に比して短く設定した場合、IP立体映像表示装置30が表示する立体像50は、仮想レンズアレイ220に対して表示素子310側の像がより鮮明になる。また、仮想レンズアレイ220と仮想撮像素子210との距離を要素レンズ22−1〜22−Nの焦点距離に比して長く設定した場合、IP立体映像表示装置30が表示する立体像50は、仮想レンズアレイ220に対して表示素子310と反対側の像がより鮮明になる。また、最も鮮明になる奥行き位置は仮想レンズアレイ200と撮像素子210との距離によって異なる。
【0042】
項目「6」は、要素画像21−1〜21−Nの形状についての入力を受け付けて設定するための項目である。要素画像21−1〜21−Nの形状は、要素レンズ22−1〜22−Nの形状に大きく依存するため、項目「6」は、要素レンズ22−1〜22−Nの形状についての入力を受け付けて設定するための項目でもある。
図4に示される例では、項目「6」は、要素画像21−1〜21−Nの形状として、「円」、「六角形」、「正方形」、又は「長方形」等のいずれかを指定可能に示している。
なお、上述した項目「1」〜項目「6」は、基本的に、IP立体映像表示装置30の属性と対応させて設定されるが、IP立体映像表示装置30の属性とは異なる値に設定されてもよい。
【0043】
次に、
図5を参照して、画像生成装置10の動作について説明する。
図5は、画像生成装置10の制御部15(
図3)による処理の流れを示すフローチャートである。
(ステップS101)まず、制御部15のレンダリング処理部154(
図3)は、光線方向記憶部144に光線方向情報が記憶されているか否かを判定する。光線方向記憶部144に光線方向情報が記憶されている場合(ステップS101;YES)、制御部15は、ステップS107に処理を進める。また、光線方向記憶部144に光線方向情報が記憶されていない場合(ステップS101;NO)、制御部15は、ステップS102に処理を進める。
(ステップS102)次に、制御部15のレンズ処理部152(
図3)は、仮想撮像素子210の各々の画素についてステップS103〜S106の処理を実行する。レンズ処理部152は、未処理の画素がなくなるまでステップS103〜S106の処理を繰り返す。その後、レンズ処理部152は、
図5に示される処理を終了する。
【0044】
(ステップS103)次に、レンズ処理部152は、仮想レンズアレイ220を構成する要素レンズ22−1〜22−Nのうち、計算対象の画素に対応する要素レンズを特定する。計算対象の画素に対応する要素レンズとは、計算対象の画素から追跡される光線(以下、「画素対応光線」という。)を透過する要素レンズである。レンズ処理部152は、例えば、要素レンズ22−1〜22−Nのうち、その主点と計算対象の画素との距離が最も近い要素レンズを計算対象の画素に対応する要素レンズとして特定する。その後、レンズ処理部152は、ステップS104に処理を進める。
(ステップS104)次に、レンズ処理部152は、仮想レンズアレイ属性記憶部143(
図3)に記憶されている仮想レンズアレイ属性情報を参照して、仮想レンズアレイ220の主面の中心座標から計算対象の画素に対応する要素レンズの位置を算出する。その後、レンズ処理部152は、ステップS105に処理を進める。
【0045】
(ステップS105)次に、レンズ処理部152は、要素レンズの中心と、計算対象の画素との位置関係から、要素レンズ透過時における画素対応光線の方向と透過位置とを演算する。その後、レンズ処理部152は、ステップS106に処理を進める。
(ステップS106)次に、レンズ処理部152は、計算対象の画素の識別情報と、ステップS105において演算した画素対応光線の方向及び透過位置とを対応付け、この対応関係を示す光線方向情報を光線方向記憶部144(
図3)に記憶させる。
(ステップS107)次に、レンダリング処理部154は、光線方向記憶部144から読み出した光線方向情報と、オブジェクト属性記憶部145から取得したオブジェクト属性情報を読み出し、光線追跡法によりオブジェクト40をレンダリングしてIP画像の画像データを生成する。そして、制御部15は、
図5に示される処理を終了する。
【0046】
なお、画素対応光線の方向は、例えば、2つの角度により表される。この2つの角度は、例えば、仮想撮像素子210の仮想撮像面に平行でそれぞれが直行する2つの軸X及びYと、仮想撮像素子210の仮想撮像面に垂直な軸Zとによる直交3軸座標系を基準とした場合、画素対応光線がZX方向になす角度と、ZY方向になす角度とにより表される。
なお、画素対応光線の透過位置は、例えば、上述した直交3軸座標系における座標により表される。
【0047】
以上説明したように、本実施形態に係る画像生成装置10は、3次元仮想空間内に配置され、仮想撮像素子210と仮想レンズアレイ220とを備える仮想カメラ20によって仮想的に撮像されるオブジェクト40のIP画像の画像データを生成する。
これにより、画像生成装置10は、仮想カメラ20とオブジェクト40との位置関係が変化した場合であっても、仮想カメラ20内の仮想撮像素子210と仮想レンズアレイ220との位置関係は変化しないため、仮想カメラ20内部における光線の屈折のしかた等を改めて計算しなくてよい。例えば、複数フレームのレンダリングを行う場合であっても、画像生成装置10は、最初の1回のみ計算を行えばよい。従って、画像生成装置10は、少ない計算量でIP画像の画像データを生成することができる。
【0048】
(第2の実施形態)
本発明の第2の実施形態について説明する。
上述した実施形態と同一の構成については、同一の符号を付して説明を援用する。
まず、
図6を参照して、本実施形態の概要について説明する。
図6は、本実施形態に係る画像生成装置10a(
図7)による処理の概念図である。
画像生成装置10aは、第1の実施形態に係る画像生成装置10(
図3)と同様に仮想空間内のオブジェクトをレンダリングしてIP画像の画像データを生成する装置である。ただし、画像生成装置10は、仮想撮像素子210及び仮想レンズアレイ220を備える仮想カメラ20が仮想的に撮像したIP画像の画像データを生成するのに対し、画像生成装置10aは、仮想奥行き制御レンズ230、仮想レンズアレイ220、及び仮想撮像素子210を備える仮想カメラ20aが仮想的に撮像したIP画像の画像データを生成する。
【0049】
なお、奥行き制御レンズとは、IP画像の撮像において、レンズアレイを挟んで撮像素子の反対側に配置されるレンズである。通常、レンズアレイよりも撮像面側に被写体を置いて撮像することはできないため、IP立体映像表示装置の表示面から突出した立体像の情報を取得することはできない。しかしながら、奥行き制御レンズを用いることで、被写体の光学像の位置を撮像面付近にシフトすることができるため、レンズアレイよりも撮像面側に被写体を配置して撮像したと仮定した場合と同じ光線空間を等価的に取得することができる。このように、奥行き制御レンズは、再生像の奥行き位置を調節することができる。上述した機能は、仮想空間においても同様であり、画像生成装置10aは、仮想奥行き制御レンズ230を備えた仮想カメラ20aが仮想的に撮像するIP画像の画像データを生成することにより、IP立体映像表示装置30が表示する立体像50の奥行き位置を調節することができる。
【0050】
次に、
図7を参照して、画像生成装置10aの構成について説明する。
図7は、画像生成装置10aの概略機能構成を示すブロック図である。
画像生成装置10aは、画像生成装置10(
図3)における記憶部14(
図3)に代えて記憶部14aを含んで構成される。また、画像生成装置10aは、画像生成装置10における制御部15(
図3)に代えて制御部15aを含んで構成される。
【0051】
記憶部14aは、記憶部14における仮想カメラ属性記憶部141(
図3)に代えて仮想カメラ属性記憶部141aとして機能する。仮想カメラ属性記憶部141aは、仮想カメラ属性記憶部141と同様に、仮想撮像素子属性記憶部142、仮想レンズアレイ属性記憶部143、及び光線方向記憶部144として機能することに加え、仮想奥行き制御レンズ属性記憶部147として機能する。
仮想奥行き制御レンズ属性記憶部147は、仮想奥行き制御レンズ230(
図6)の属性を表す仮想奥行き制御レンズ属性情報を記憶する。仮想奥行き制御レンズ属性情報が表す仮想奥行き制御レンズ230の属性は、例えば、仮想奥行き制御レンズ230の直径、仮想奥行き制御レンズ230の撮像素子側及び被写体側の焦点距離、及び仮想奥行き制御レンズ230の主点の位置、仮想奥行き制御レンズ230の枚数等である。
【0052】
制御部15aは、制御部15におけるレンズ処理部152(
図3)に代えてレンズ処理部152aとして機能する。
レンズ処理部152aは、仮想レンズアレイ処理部153(
図3)に代えて仮想レンズアレイ処理部153aとして機能することに加え、仮想奥行き制御レンズ処理部157として機能する。
【0053】
仮想レンズアレイ処理部153aは、仮想レンズアレイ処理部153(
図3)と同様に、仮想撮像素子210に入射する光線が仮想レンズアレイ220を透過するときの屈折のしかたを、仮想カメラ属性記憶部141aの仮想レンズアレイ属性記憶部143から読み出す仮想レンズアレイ属性情報に基づいて演算する。仮想レンズアレイ処理部153aは、演算した仮想レンズアレイ220における光線の屈折のしかたを示す情報を仮想奥行き制御レンズ処理部157に出力する。
【0054】
仮想奥行き制御レンズ処理部157は、仮想撮像素子210に入射する光線が仮想奥行き制御レンズ230を透過するときの屈折のしかたを、仮想カメラ属性記憶部141aの仮想奥行き制御レンズ属性記憶部147から読み出す仮想奥行き制御レンズ属性情報に基づいて演算する。仮想奥行き制御レンズ処理部157は、演算された仮想奥行き制御レンズ230における光線の屈折のしかたと、仮想レンズアレイ処理部153aから取得した仮想レンズアレイ220における光線の屈折のしかたとに基づいて、仮想撮像素子210の各々の画素に対応する光線の方向を演算し、仮想撮像素子210の各々の画素と、光線の方向との対応関係を光線方向記憶部144に記憶させる。
【0055】
次に、
図8を参照して、表示部11が表示する仮想カメラ20a(
図6)の属性を入力するためのユーザインターフェイスについて説明する。
図8は、画像生成装置10aにおける仮想奥行き制御レンズ230用パラメータの入力画面を示す模式図である。
図8に示される例において、表示部11の表示領域112には、仮想奥行き制御レンズ230(
図6)の属性として「1」〜「3」までの3項目の情報を設定可能に示している。
項目「1」は、仮想奥行き制御レンズ230の焦点距離の入力を受け付けて設定するための項目である。項目「2」は、仮想奥行き制御レンズ230の大きさの入力を受け付けて設定するための項目である。項目「3」は、仮想奥行き制御レンズ230と仮想レンズアレイ220との距離の入力を受け付けて設定するための項目である。
なお、仮想カメラ20aに複数枚の仮想奥行き制御レンズ230を含ませる場合、画像生成装置10aは、上述した項目「1」〜「3」を、複数枚の仮想奥行き制御レンズ230各々について設定可能に示してもよい。
【0056】
次に、
図9を参照して、画像生成装置10a(
図7)の動作について説明する。
図9は、画像生成装置10aの制御部15(
図7)による処理の流れを示すフローチャートである。
図9に示されるステップS201〜S209の処理のうち、ステップS201、S203〜S205、S208、S209の処理は、それぞれ、
図5に示されるステップS101、S103〜S105、S106、S107と同様であるため、説明を援用する。
(ステップS202)制御部15aのレンズ処理部152a(
図7)は、仮想撮像素子の全ての画素についてステップS203〜S208の処理を実行する。レンズ処理部152aは、未処理の画素がなくなるまで、ステップS203〜S208の処理を繰り返す。その後、制御部15aは、ステップS209に処理を進める。
【0057】
(ステップS206)レンズ処理部152aは、仮想カメラ20aが備える各仮想奥行き制御レンズについてステップS207の処理を実行する。レンズ処理部152aは、未処理の仮想奥行き制御レンズがなくなるまでステップS207の処理を繰り返す。その後、制御部15aは、ステップS208に処理を進める。
(ステップS207)次に、レンズ処理部152aは、仮想奥行き制御レンズの中心位置と、前の仮想レンズ透過時における画素対応光線の位置との位置関係、及び、画素対応光線の前のレンズ透過時における方向から、仮想奥行き制御レンズ透過時における画素対応光線の方向と透過位置とを演算する。
(ステップS208)次に、レンズ処理部152aは、ステップS106(
図5)におけるレンズ処理部152と同様に、計算対象の画素の識別情報と、ステップS206において演算した画素対応光線の方向及び透過位置とを対応付け、この対応関係を示す光線方向情報を光線方向記憶部144(
図7)に記憶させる。
【0058】
以上説明したように、本実施形態に係る画像生成装置10aは、3次元仮想空間内に配置され、仮想撮像素子210、仮想レンズアレイ220、及び仮想奥行き制御レンズ230を備える仮想カメラ20によって仮想的に撮像されるオブジェクト40のIP画像の画像データを生成する。
これにより、画像生成装置10aは、画像生成装置10と同様に、仮想カメラ20aとオブジェクト40との位置関係が変化した場合であっても、仮想カメラ20a内の仮想撮像素子210と仮想レンズアレイ220との位置関係は変化しないため、仮想カメラ20内部における光線の屈折のしかた等を改めて計算しなくてよい。従って、画像生成装置10aは、少ない計算量でIP画像の画像データを生成することができる。また、画像生成装置10aは、仮想奥行き制御レンズ230における屈折のしかたを演算するため、IP立体映像表示装置30に表示させたときに、その表示画面の手前に突出する立体像50を再生するためのIP画像の画像データを生成することができる。
【0059】
(第3の実施形態)
本発明の第3の実施形態について説明する。
本実施形態では、第2の実施形態に係る画像生成装置10aにおいて、特定の設定を用いる態様について説明する。従って、以下では、本実施形態の各構成には、第2の実施形態と同一の符号を付し、説明を援用する。
【0060】
IP方式では撮像時と表示時において奥行き情報の反転が起こることを防止するために、撮像時のレンズアレイを構成する各要素レンズを凹レンズにすること、波長の3/4周期のGRINレンズの機能を有するレンズアレイにすること、又はレンズアレイの各要素レンズによって取得される要素画像に対して画像の反転処理をすることが行われている。本実施形態に係る画像生成装置10aのレンズ処理部152a(
図7)は、仮想カメラ20aが備える仮想レンズアレイ220の各要素レンズ22−1〜22−Nの主点と仮想撮像素子210の各画素とを結ぶ光線について、各要素レンズ22−1〜22−Nの主点を通る光軸を基準として180回転させた方向を、各光線が各要素レンズ22−1〜22−Nの主点を通った後の方向として演算する。この演算により、画像生成装置10aは、光線の方向について、上記の凹レンズ及び3/4周期のGRINレンズと光学的に等価な演算結果を得ることができるため、IP立体映像表示装置30での表示時において、立体像50の奥行きが反転することを防止することができる。
【0061】
また、本実施形態に係る画像生成装置10aの仮想奥行き制御レンズ属性記憶部147は、4f光学系を構成する2枚の仮想奥行き制御レンズ230−1、230−2の属性を表す仮想奥行き制御レンズ属性情報を記憶する。
図10を参照して、4f光学系について説明する。
図10に示される例において、2枚の同一の属性を有する仮想奥行き制御レンズ230−1、230−2、及び仮想レンズアレイ220がそれぞれの光軸を一致させて、仮想撮像素子210の仮想撮像面と平行に配置されている。仮想撮像素子210と仮想レンズアレイ220との間の距離は、仮想レンズアレイ220の要素レンズの焦点距離fである。2枚の仮想奥行き制御レンズ230−1と230−2との間の距離は、それぞれの焦点距離f1の2倍(2×f1)である。すなわち、2枚の仮想奥行き制御レンズ230−1と230−2とは、それぞれの焦平面を平面A1において一致させて配置される。また、仮想撮像素子210に近い仮想奥行き制御レンズ230−1と、仮想レンズアレイ220との間の距離は、焦点距離f1である。4f光学系では、奥行き位置の圧縮が行われないため、仮想奥行き制御レンズ230−1の右側の焦平面A2と仮想奥行き制御レンズ230−2の左側の焦平面A3とでは、仮想奥行き制御レンズ230−1、230−2を透過する光線について、光学的に等価な光線を取得することができる。
図10に示される例において、仮想奥行き制御レンズ230−1の右側の焦平面A2には、仮想レンズアレイ220が配置されているため、仮想レンズアレイ220が焦平面A3に配置されていることと、光学的に等価である。
【0062】
従って、
図10に示される4f光学系を備える仮想カメラ20aにおいて、オブジェクト40(
図6)を仮想カメラ20a(
図6)の外側に配置する場合、焦平面A3(
図10)を基準として仮想カメラ20aに近いオブジェクト40の部分は、IP立体映像表示装置30(
図6)に表示させたときに、IP立体映像表示装置30の表示面より突出する。また、焦平面A3を基準として仮想カメラ20aから遠いオブジェクト40の部分は、IP立体映像表示装置30に表示させたときに、IP立体映像表示装置30の表示面より奥まる。
【0063】
本実施形態に係る画像生成装置10aの表示処理部151は、仮想空間内におけるオブジェクト40の位置の入力をユーザから受け付けるときに、仮想空間内における焦平面A2を表す補助的な線又は面を表示する機能を有する。これにより、ユーザは、仮想レンズアレイ220に対するオブジェクト40の奥行き位置を容易に把握することができる。
【0064】
次に、
図11から
図14を参照して、画素対応光線の方向の演算方法の具体例について説明する。
図11から
図13は、それぞれ、画像生成装置10、10aによる画素対応光線の方向の演算方法を説明するための図である。また、
図11から
図13は、
図10に示す仮想的な4f光学系における画素対応光線の一例を示す。
【0065】
以下では、一例として、画素対応光線のXZ方向の演算について説明するが、YZ方向についても同様に演算することができる。XZ方向は、画素対応光線がXZ平面において、Z軸となす角度により表される。なお、
図11から
図13に示される図において、仮想空間における座標軸は
図10に示される座標軸と同一である。
図10から
図13に示される例において、仮想レンズアレイ220の要素レンズは、半径Lx1、焦点距離fのレンズであり、ピッチ間隔Dで配列されている。また、
図10〜
図13に示される例において、仮想奥行き制御レンズ230−1、230−2は、半径DLx、焦点距離f1のレンズである。
【0066】
まず、
図11を参照して、仮想レンズアレイ220(
図10)を透過する画素対応光線の方向の演算について説明する。
図11は、
図10に示される仮想レンズアレイ220を透過する画素対応光線の一例を示す。
図11に示される例において、仮想撮像素子210の画素211−1に、仮想レンズアレイ220の要素レンズ22−1が対応している。従って、画素211−1の画素対応光線61は、画素211−1から要素レンズ22−1の主点221−1の方向に進む。そして、画素211−1の画素対応光線61は、要素レンズ22−1では屈折せずに直進する。従って、仮想レンズアレイ220において、画素211−1の画素対応光線の透過位置の座標(tx2,tz2)及び方向(tdx2)は、画素211−1の位置(tx1,tz1)及び要素レンズ22−1の主点221−1の位置(Lx1,f)に基づいて、以下の式(1)〜(3)により表される。
【0068】
レンズ処理部152aは、上述の式(1)〜(3)に基づいて、仮想レンズアレイ220の主面における画素対応光線の透過位置及び方向を演算する。レンズ処理部152aは、演算結果を示す光線方向情報を光線方向記憶部144に記憶させる。
なお、レンズ処理部152aは、画素211−1の位置(tx1,tz1)を、仮想撮像素子属性記憶部142に記憶されている仮想撮像素子属性情報に基づいて取得する。また、レンズ処理部152aは、要素レンズ22−1の主点221−1の位置(Lx1,f)を仮想レンズアレイ属性記憶部143に記憶されている仮想レンズアレイ属性情報に基づいて取得する。
【0069】
なお、
図10〜
図13に示される例において、仮想レンズアレイ220のピッチはDである。従って、レンズ処理部152aは、要素レンズ22−1に隣接する要素レンズ22−2を透過する画素対応光線については、要素レンズ22−2の主点の位置(tx1+D,tz1)に基づいて、その透過位置及び方向を演算する。このように、レンズ処理部152aは、仮想撮像素子210の各画素の画素対応光線について、仮想レンズアレイ220の主面における画素対応光線の透過位置及び方向を演算し、当該演算結果を示す光線方向情報を光線方向記憶部144に記憶させる。
【0070】
次に、
図12を参照して、仮想奥行き制御レンズ230−1(
図10)を透過する画素対応光線の方向の演算について説明する。
図12は、
図10に示される仮想奥行き制御レンズ230−1を透過する画素対応光線の一例を示す。
仮想レンズアレイ220の要素レンズ22−1から射出した画素211−1(
図11)の画素対応光線61は、仮想奥行き制御レンズ230−1に入射する。このとき、画素211−1の画素対応光線61は、仮想奥行き制御レンズ230−1の主面と、点232−1において交わる。そして、画素211−1の画素対応光線61は、仮想奥行き制御レンズ230−1により屈折して、点71の方向に進む。点71は、仮想奥行き制御レンズ230−1の左側の焦平面A1と、直線62との交点である。直線62は、仮想奥行き制御レンズ230−1に入射する画素対応光線61に平行な直線であって、仮想奥行き制御レンズ230−1の主点231−1を通る直線である。従って、仮想奥行き制御レンズ230−1の主面における画素211−1の画素対応光線61の透過位置の座標(tx3,tz3)及び方向(tdx3)は、画素対応光線61の仮想レンズアレイ220の主面における透過位置(tx2、tz2)及び方向(tdx2)と、仮想奥行き制御レンズ230の主点の位置(DLx、tz2+f1)とに基づいて、以下の式(4)〜(6)により表される。
【0072】
レンズ処理部152aは、上述の式(4)〜(6)に基づいて、仮想奥行き制御レンズ230−1の主面における画素対応光線の透過位置及び方向を演算する。レンズ処理部152aは、演算結果を示す光線方向情報を光線方向記憶部144に記憶させる。このとき、レンズ処理部152aは、仮想レンズアレイ220の主面における画素対応光線の透過位置及び方向についての光線方向情報を、仮想奥行き制御レンズ230−1の主面における画素対応光線の透過位置及び方向についての光線方向情報で上書きしてもよい。
【0073】
次に、
図13を参照して、仮想奥行き制御レンズ230−2(
図10)を透過する画素対応光線の方向の演算について説明する。
図13は、
図10に示される仮想奥行き制御レンズ230−2を透過する画素対応光線の一例を示す。
仮想奥行き制御レンズ230−1から射出した画素211−1(
図11)の画素対応光線61は、仮想奥行き制御レンズ230−2に入射する。このとき、画素211−1の画素対応光線61は、仮想奥行き制御レンズ230−2の主面と、点232−2において交わる。そして、画素211−1の画素対応光線61は、仮想奥行き制御レンズ230−2により屈折して、点72の方向に進む。点72は、仮想奥行き制御レンズ230−2の左側の焦平面A3と、直線63との交点である。直線63は、仮想奥行き制御レンズ230−2に入射する画素対応光線61に平行な直線であって、仮想奥行き制御レンズ230−2の主点231−2を通る直線である。従って、仮想奥行き制御レンズ230−2における画素211−1の画素対応光線61の透過位置の座標(tx4,tz4)及び方向(tdx4)は、画素対応光線61の仮想奥行き制御レンズ230−1の主面における透過位置(tx3、tz3)及び方向(tdx3)と、仮想奥行き制御レンズ230−2の主点の位置(DLx、tz3+2f1)とに基づいて、以下の式(7)〜(9)により表される。
【0075】
レンズ処理部152aは、上述の式(7)〜(9)に基づいて、仮想奥行き制御レンズ230−2の主面における画素対応光線の透過位置及び方向を演算する。レンズ処理部152aは、演算結果を示す光線方向情報を光線方向記憶部144に記憶させる。このとき、レンズ処理部152aは、仮想奥行き制御レンズ230−1の主面における画素対応光線の透過位置及び方向についての光線方向情報を、仮想奥行き制御レンズ230−2の主面における画素対応光線の透過位置及び方向についての光線方向情報で上書きしてよい。
なお、各レンズ(仮想レンズアレイ220、仮想奥行き制御レンズ230−1、仮想奥行き制御レンズ230−2)における画素対応光線の透過位置の演算結果が、各レンズの外側であり、当該レンズを透過しない場合、レンダリング処理部154aは、その画素対応光線に対応する画素については出力がないものとして処理する。
【0076】
図14は、
図10に示される仮想的な4f光学系における各レンズ(仮想レンズアレイ220、仮想奥行き制御レンズ230−1、仮想奥行き制御レンズ230−2)に対応する光線方向情報の例を示す図である。
図14に示される例において、光線方向情報は、画素識別情報(画素ID)、入力X座標情報(入力X座標)、入力Y座標情報(入力Y座標)、入力Z座標情報(入力Z座標)、入力ZX角情報(入力ZX角)、入力ZY角情報(入力ZY角)、出力X座標情報(出力X座標)、出力Y座標情報(出力Y座標)、出力Z座標情報(出力Z座標)、出力ZX角情報(出力ZX角)、及び出力ZY角情報(出力ZY角)を含み、これらを対応付けて構成される。このうち、入力X座標情報、入力Y座標情報、入力Z座標情報、入力ZX角情報、及び入力ZY角情報は、各レンズにおける屈折のしかたを演算するために用いる入力情報であり、出力X座標情報、出力Y座標情報、出力Z座標情報、出力ZX角情報、及び出力ZY角情報は、当該入力情報に基づく各レンズにおける屈折のしかたの演算結果を示す出力情報である。なお、光線方向記憶部144には、入力情報は記憶されなくてもよい。
【0077】
画素識別情報は、仮想撮像素子210(
図10)が有する各画素を識別するための識別情報である。
入力X座標情報は、画素識別情報が示す画素に対応する画素対応光線の射出元の位置のX座標を表す情報である。
入力Y座標情報は、画素識別情報が示す画素に対応する画素対応光線の射出元の位置のY座標を表す情報である。
入力Z座標情報は、画素識別情報が示す画素に対応する画素対応光線の射出元の位置のZ座標を表す情報である。
入力ZX角情報は、画素識別情報が示す画素に対応する画素対応光線の射出元の位置において、当該画素対応光線がZX平面においてZ軸となす角度を表す情報である。
入力ZY角情報は、画素識別情報が示す画素に対応する画素対応光線の射出元の位置において、当該画素対応光線がZY平面においてZ軸となす角度を表す情報である。なお、本実施形態において、射出元の位置が仮想撮像素子210である場合、入力ZX角情報及び入力ZY角情報は、NULL(−)とする。
【0078】
出力X座標情報は、画素識別情報が示す画素に対応する画素対応光線について、そのレンズにおける透過位置のX座標を表す情報である。
出力Y座標情報は、画素識別情報が示す画素に対応する画素対応光線について、そのレンズにおける透過位置のY座標を表す情報である。
出力Z座標情報は、画素識別情報が示す画素に対応する画素対応光線について、そのレンズにおける透過位置のZ座標を表す情報である。
出力ZX角情報は、画素識別情報が示す画素に対応する画素対応光線が、そのレンズからの射出時に、ZX平面においてZ軸となす角度を表す情報である。
出力ZY角情報は、画素識別情報が示す画素に対応する画素対応光線が、そのレンズからの射出時に、ZY平面においてZ軸となす角度を表す情報である。
【0079】
図14(a)、(b)、(c)は、それぞれ、仮想レンズアレイ220(
図10)、仮想奥行き制御レンズ230−1(
図10)、仮想奥行き制御レンズ230−2(
図10)の主面における画素対応光線の透過位置及び方向を示す光線方向情報を示す。
図14(a)に示される光線方向情報の出力情報は、
図11を参照して説明した仮想レンズアレイ220の主面における画素対応光線についての演算結果を示す。仮想レンズアレイ220に入射する画素対応光線は、仮想撮像素子210から射出するため、入力X座標情報、入力Y座標情報、及び入力Z座標情報の値は、それぞれ、各画素の座標の値である。また、入力ZX角情報及び入力ZY角情報の値は、いずれの画素についてもNULL(−)である。
【0080】
図14(b)に示される光線方向情報の出力情報は、
図12を参照して説明した仮想奥行き制御レンズ230−1の主面における画素対応光線についての演算結果を示す。仮想奥行き制御レンズ230−1に入射する画素対応光線は、仮想レンズアレイ220から射出するため、入力情報は、
図14(a)に示される出力情報に対応する。
図14(c)に示される光線方向情報の出力情報は、
図13を参照して説明した仮想奥行き制御レンズ230−2の主面における画素対応光線についての演算結果を示す。仮想奥行き制御レンズ230−2に入射する画素対応光線は、仮想レンズアレイ220から射出するため、入力情報は、
図14(b)に示される出力情報に対応する。
【0081】
動画の場合、被写体が移動したり変形したりするように、カメラも移動したり焦点距離を変える。そして、IP画像を撮影可能なカメラの場合は、再生像の奥行き位置を変える場合がある。この処理を画像生成装置10aにより行う場合、仮想カメラ20aでは、仮想奥行き制御レンズ230の位置が変わるが、仮想撮像素子210から仮想レンズアレイ220までの画素対応光線についての演算結果を記憶しておくことにより、仮想レンズアレイ220における画素対応光線の屈折のしかたの演算を省略し、仮想奥行き制御レンズ230の位置変更に対する演算のみで再生像の奥行き位置の変更に対応することができる。つまり、画像生成装置10aは、仮想カメラ20aの各レンズについての光線方向情報を光線方向記憶部144に記憶しておくことにより、仮想カメラ20a内のレンズの位置が変更された場合でも、少ない計算量でIP画像の画像データを生成することができる。
【0082】
また、例えば、撮像と表示との両者に液晶レンズを用いた液晶レンズアレイにより実現可能であるように、撮像と表示との両者のレンズアレイが連動して焦点距離を変更できる場合、仮想撮像素子210の各画素と仮想レンズアレイ220の要素レンズ22−1〜22−Nとの対応関係を記録しておけば、焦点距離の違いによる光線方向の違いのみを演算すればよい。つまり、画像生成装置10、10aは、仮想レンズアレイ属性記憶部143に、例えば、仮想撮像素子210の各画素の識別情報と、要素レンズの識別情報とを対応付けて記憶することにより、少ない計算量でIP画像の画像データを生成することができる。
【0083】
なお、上述の各実施形態において、仮想レンズアレイ属性記憶部143が記憶する仮想レンズアレイ220の要素レンズ22−1〜22−Nの配列は、デルタ配置でも正方配列でもよい。また、仮想レンズアレイ属性記憶部143が記憶する仮想レンズアレイ220の種類は、2次元上に要素レンズを配列したレンズアレイだけでなく、水平方向に縦長のレンチキュラーレンズを配列したものであってもよい。
【0084】
なお、上述した各実施形態において、画像生成装置10、10aが仮想カメラ20、20aに含ませる仮想的なレンズの枚数は任意であってよい。例えば、画像生成装置10aは、仮想奥行き制御レンズ230を仮想カメラ20aに3枚以上の複数枚含ませてもよい。
【0085】
なお、上述した各実施形態において、仮想空間内に配置されるオブジェクト40の数は、複数であってもよい。オブジェクト40は、例えば、仮想的なレンズ等であってもよい。
なお、上述した各実施形態において、例示した仮想カメラ20、20aの各種属性は、あくまで一例であり、その他の属性を含んでもよい。
なお、上述した各実施形態において、オブジェクト属性取得部155は、オブジェクト属性記憶部145からオブジェクト属性情報を読み出すことによりオブジェクト属性情報を取得したが、オブジェクト属性取得部155によるオブジェクト属性情報は、別の経路で取得されてもよい。例えば、オブジェクト属性取得部155は、画像生成装置10、10aと通信可能な外部装置から、通信を介して、オブジェクト属性情報を取得してもよい。
【0086】
なお、上述した各実施形態において、光線方向記憶部144が記憶する光線方向情報は、仮想カメラ20、20aが備える仮想レンズのうち、仮想撮像素子210から最も遠い仮想レンズにおける画素対応光線の方向を表すとしたが、光線方向情報は、仮想カメラ20、20aが備える別の仮想レンズにおける画素対応光線の方向を表してもよい。例えば、画像生成装置10aにおいて、光線方向情報は、仮想レンズアレイ220における画素対応光線の方向を表してもよい。ただし、仮想撮像素子210から遠い仮想レンズを透過する方向を表す光線方向情報を光線方向記憶部144に記憶させた場合の方が、仮想カメラ20、20a内における光線の屈折のしかたを演算する量が少なくなるため望ましい。
【0087】
なお、上述した実施形態における画像生成装置10、10aの一部、例えば、制御部15、15aなどをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、画像生成装置10、10aに内蔵されたコンピュータシステムであって、OS(Operating System)や周辺機器等のハードウェアを含むものとする。
【0088】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0089】
また、上述した実施形態における画像生成装置10、10aの一部、又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。画像生成装置10、10aの各機能部は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0090】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。