(57)【要約】【課題】本発明は、被写体を撮像した複数の画像データを基に視聴者と画像表示面との３次元的な位置関係に応じて適切に表示画像を生成し画像表示面に表示することにより、任意の視点位置から撮像被写体を眺めた様子を画像表示面に表示することを目的とする。【解決手段】本発明に係る画像処理装置は、ライトフィールドを用いることにより、複数の仮想視点位置に対応する複数の仮想視点画像データを生成する画像処理部２０４と、視聴者の視点位置を取得する位置情報取得部２０５と、前記視点位置を基に前記複数の仮想視点画像データから出力画像データを選択する出力部２０６とを備えたことを特徴とする。【選択図】図２
2014135006.tif 000002
【特許請求の範囲】
【請求項１】
ライトフィールドを用いることにより、複数の仮想視点位置に対応する複数の仮想視点画像データを生成する画像処理手段と、
視聴者の視点位置を取得する位置情報取得手段と、
前記視点位置を基に前記複数の仮想視点画像データから出力画像データを選択する出力手段と
を備えたことを特徴とする画像処理装置。
【請求項２】
前記出力手段は、前記出力画像データを出力デバイスに出力することにより、前記出力デバイスの画像表示面に表示させ、
前記画像処理手段は、前記画像表示面に対応する平面上にサンプリング点を設定し、前記サンプリング点と前記仮想視点位置とを基に、前記ライトフィールドから前記仮想視点画像データを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記位置情報取得手段は、視聴者の左右の目に対応する複数の視点位置を取得し、
前記出力手段は、前記複数の仮想視点画像データから前記複数の視点位置に対応する複数の画像データを選択することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記画像処理手段は、被写体の奥行に応じて画像をぼかすことを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記画像処理手段は、複数の撮像位置と前記撮像位置に対応する複数の撮像画像データを基に前記ライトフィールドを生成することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
画像処理手段が、ライトフィールドを用いることにより、複数の仮想視点位置に対応する複数の仮想視点画像データを生成するステップと、
位置情報取得手段が、視聴者の視点位置を取得するステップと、
出力手段が、前記視点位置を基に前記複数の仮想視点画像データから出力画像データを選択するステップと
を備えたことを特徴とする画像処理方法。
【請求項７】
コンピュータを請求項１乃至５の何れか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、およびプログラムに関する。具体的には、本発明は、視聴者と画像表示面との位置関係に基づき立体的に画像を表示するための画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、ディスプレイなどの画像表示面と視聴者との相対的な位置関係に応じて画像を切り替えて表示することにより、画像中のシーンを立体的に提示する方法があった。この方法では、画像表示面に対する視点の位置を基に表示画面を適切に生成・表示する必要がある。例えば、画像表示面に対して視点が近い場合は近くから眺めた様子を表示し、画像表示面に対して視点が遠い場合は遠くから眺めた様子を表示する必要がある。また、画像表示面に対して視点が正対していない場合はその傾きに応じた角度から眺めた様子を表示する必要がある。
【０００３】
このための従来技術として、視点位置と画像表示面の位置との関係に応じて３次元モデルをレンダリングする方法（例えば特許文献１）や、視点位置と画像表示面の位置との関係に応じて撮像被写体を表示する方法（例えば特許文献２）が知られている。
【０００４】
特許文献１には、仮想３次元空間において視聴者の視点位置から画像表示面の頂点への４つのベクトルを求め、これらのベクトルに囲まれる範囲をレンダリング領域として設定することにより、視聴者の位置に応じた画像生成処理を実行する技術が開示されている。
【０００５】
特許文献２では、様々な角度から被写体を撮像した複数の画像データに対し、角度に応じた変形処理をそれぞれ施す。そして、変形後の複数の画像データの中から、視聴者と画像表示面との角度に応じて適切な画像データを選択し、表示する。これにより、表示画面の傾きに応じた角度から撮像被写体を眺めた様子を表示させる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２１６５３２号公報
【特許文献２】特願２０１２−４３３４５
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の方法は、コンピュータグラフィックスを対象とした方法であり、３次元モデルが存在する場合にのみ適用可能である。そのため特許文献１に記載の方法は、３次元モデルを持たない実写画像などに対しては適用できないという課題があった。
【０００８】
特許文献２に記載の方法は、実写画像を対象とした方法であるが、視点位置に対して表示画面が傾く場合にのみ対応しており、視点位置が画像表示面に対して前後に動く場合などに対応できないという課題があった。
【０００９】
そこで本発明では、被写体を撮像した複数の画像データを基に視聴者と画像表示面との３次元的な位置関係に応じて適切に表示画像を生成し画像表示面に表示することにより、任意の視点位置から撮像被写体を眺めた様子を画像表示面に表示することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、画像処理装置であって、ライトフィールドを用いることにより、複数の仮想視点位置に対応する複数の仮想視点画像データを生成する画像処理手段と、視聴者の視点位置を取得する位置情報取得手段と、前記視点位置を基に前記複数の仮想視点画像データから出力画像データを選択する出力手段とを備えたことを特徴とする。
【発明の効果】
【００１１】
本発明により、任意の視点位置から撮像被写体を眺めた様子を画像表示面に表示することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例１に係る画像処理装置のシステム構成を表すブロック図である。
【図２】本発明の実施例１に係る概要機能構成を表す図である。
【図３】本発明の実施例１に係る全体の処理の流れを表すフローチャートである。
【図４】本発明の実施例１に係る撮影位置の例を表す図である。
【図５】本発明の実施例１に係る撮像処理の流れを表すフローチャートである。
【図６】本発明の実施例１に係る仮想視点位置の例を表す図である。
【図７】本発明の実施例１に係る視点位置の例を表す図である。
【図８】本発明の実施例１に係るライトフィールドの例を表す図である。
【図９】本発明の実施例１に係る仮想視点画像データ生成処理の流れを表すフローチャートである。
【図１０】本発明の実施例１に係るサンプリング点の例を表す図である。
【図１１】本発明の実施例１に係るシステム構成の概要を表す図である。
【図１２】本発明の実施例１に係る撮像装置の例を表す図である。
【図１３】本発明の実施例２に係るシステム構成の概要を表す図である。
【図１４】本発明の実施例２に係る出力画像の例を表す図である。
【図１５】本発明の実施例２に係る出力デバイスの例を表す図である。
【図１６】本発明の実施例３に係る撮像装置と被写体との位置関係の例を表す図である。
【発明を実施するための形態】
【００１３】
［実施例１］
以下、本発明の第１の実施例（実施例１）について説明する。なお、本明細書では、同一の参照番号は、同一の要素を指し示すので留意されたい。
【００１４】
本実施例では、まず姿勢制御装置１０９を用いて撮像装置１０７を移動させることにより被写体を複数の位置から撮像する（図１１を参照）。そして、得られた複数の撮像画像データ２０８を基に、複数の仮想視点位置に対応する仮想視点画像データ２１０を生成する。そして、位置検出装置１１５によって取得した視点位置を基に、複数の仮想視点画像データ２１０の中から出力画像データ２１２を選択する。最後に、選択した出力画像データ２１２を出力デバイス１１３に出力し、画像を画像表示面に表示させる。これにより、画像表示面を任意の位置から見た際に、その位置から被写体を眺めた様子を提示することを可能とする。なお、画像表示面とは出力デバイス１１３を用いて実際に画像が表示される面であり、例えばモニタの画面やプロジェクタで画像を投影するスクリーンである。
【００１５】
まず、本実施例における画像処理装置のシステム構成例について、図１を用いて説明する。図１において、ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとして、ＲＯＭ１０３およびハードディスクドライブ（ＨＤＤ）１０５に格納されたプログラムを実行し、システムバス１１６を介して後述する各構成を制御する。これにより、後述する様々な処理が実行される。ＨＤＤインタフェイス（Ｉ／Ｆ）１０４は、ＨＤＤ１０５や光ディスクドライブなどの二次記憶装置を接続する、例えばシリアルＡＴＡ（ＳＡＴＡ）等のインタフェイスである。ＣＰＵ１０１は、ＨＤＤＩ／Ｆ１０４を介して、ＨＤＤ１０５からのデータ読み出しおよびＨＤＤ１０５へのデータ書き込みが可能である。さらにＣＰＵ１０１は、ＨＤＤ１０５に格納されたデータをＲＡＭ１０２に展開し、同様に、ＲＡＭ１０２に展開されたデータをＨＤＤ１０５に保存することが可能である。そしてＣＰＵ１０１は、ＲＡＭ１０２に展開したデータをプログラムとみなし、実行することができる。撮像インタフェイス（Ｉ／Ｆ）１０６は、デジタルカメラなどの撮像装置１０７を接続する、例えばＵＳＢやＩＥＥＥ１３９４などのシリアルバスインタフェイスである。ＣＰＵ１０１は、撮像Ｉ／Ｆ１０６を介して撮像装置１０７を制御し、撮像を行うことが可能である。さらにＣＰＵ１０１は、撮像Ｉ／Ｆ１０６を介して撮像装置１０７から撮像したデータを読み込むことが可能である。姿勢制御インタフェイス（Ｉ／Ｆ）１０８は、ロボットアームや位置決めステージなどの姿勢制御装置１０９を接続する、例えばＵＳＢ、イーサネット（登録商標）、ＲＳ２３２Ｃなどのインタフェイスである。姿勢制御装置１０９には撮像装置１０７が固定されており、ＣＰＵ１０１は姿勢制御Ｉ／Ｆ１０８を介して姿勢制御装置１０９を制御することで、撮像装置１０７の位置および姿勢を変更可能である。入力インタフェイス（Ｉ／Ｆ）１１０は、キーボードやマウスなどの入力デバイス１１１を接続する、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスインタフェイスである。ＣＰＵ１０１は、入力Ｉ／Ｆ１１０を介して入力デバイス１１１からデータを読み込むことが可能である。出力インタフェイス（Ｉ／Ｆ）１１２は、モニタやプロジェクタなどの出力デバイス１１３を接続する、例えばＤＶＩやディスプレイポート等のインタフェイスである。ＣＰＵ１０１は、出力Ｉ／Ｆ１１２を介して出力デバイス１１３にデータを送り、表示を実行させることができる。位置検出インタフェイス（Ｉ／Ｆ）１１４は、画像表示面に対する視点位置の相対的な位置情報を検出可能な位置検出装置１１５を接続する、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスインタフェイスである。位置検出装置１１５は、出力デバイス１１３の画像表示面に対して予め定めた位置を原点として視聴者の視点位置を検出することが可能な、磁気式位置センサや光学式位置センサなどの位置センサである。ＣＰＵ１０１は、位置検出Ｉ／Ｆ１１４を介して位置検出装置１１５から視点位置を読み込むことが可能である。さらに、予め定めた原点に対する画像表示面の位置情報を用いることにより、画像表示面に対する視点位置の相対的な位置情報を取得することが可能である。
【００１６】
次に、本実施例に係る一連の処理を行う際の概要機能構成について、図２を用いて説明する。ＣＰＵ１０１の機能部としての撮像パラメータ入力部２０１は、被写体を撮像する際に用いる撮像パラメータ２０７を、入力デバイス１１１あるいはＲＯＭ１０３、ＨＤＤ１０５などの記憶装置から取得する。また、撮像装置１０７および姿勢制御装置１０９を含む撮像部２０２は、撮像パラメータ２０７に基づき撮像を実行し、撮像画像データ２０８を取得する。ＣＰＵ１０１の機能部としての画像処理パラメータ入力部２０３は、仮想視点位置と、ウインドウサイズと、生成画像サイズとを含む画像処理パラメータ２０９を、入力デバイス１１１あるいはＲＯＭ１０３、ＨＤＤ１０５などの記憶装置から取得する。さらに、ＣＰＵ１０１の機能部としての画像処理部２０４は、撮像パラメータ２０７に含まれる撮像位置情報と撮像画像データ２０８とを基に画像処理パラメータ２０９に含まれる仮想視点位置に対応する仮想視点画像データ２１０を生成する。そして、ＣＰＵ１０１の機能部としての位置情報取得部２０５は、画像表示面に対する視聴者の視点位置を含む位置パラメータ２１１を位置検出装置１１５から取得する。最後に、ＣＰＵ１０１の機能部としての出力部２０６は、位置パラメータ２１１に基づき、複数の仮想視点画像データ２１０の中から出力画像データ２１２を決定し出力デバイス１１３へ出力する。
【００１７】
図３は、本実施例に係る画像処理装置における一連の処理の動作手順を示すフローチャートである。詳細には、図３のフローチャートに示す手順を記述したコンピュータ実行可能なプログラムを、ＲＯＭ１０３あるいはＨＤＤ１０５からＲＡＭ１０２上に読み込んだ後に、ＣＰＵ１０１によって該プログラムを実行することによって当該処理が実施される。以下、図３に示す各処理について説明する。
【００１８】
まず、ステップＳ３０１において、撮像パラメータ入力部２０１は、複数の撮像パラメータ２０７を入力デバイス１１１から取得する。撮像パラメータ２０７には、露光時間、レンズＦ値、センサ感度、画角、撮像素子の画素数などの撮像条件に加え、撮像位置が含まれる。ここで、撮像位置は、３次元的な位置情報と姿勢情報とを含む。本実施例における撮像位置について図４を用いて説明する。本実施例では、ｙ軸４０２の負の方向を上向き、ｚ軸４０３の正の方向を光軸方向としたまま、ｚ軸４０３に垂直なｘ軸４０１とｙ軸４０２とがなすｘｙ平面上を平行移動するように撮像装置１０７を制御する。このため、全撮像パラメータにおいてｚ軸方向の座標値と姿勢情報とは同一であるが、ｘ軸方向およびｙ軸方向の座標値はそれぞれ異なる値に設定される。撮像パラメータ２０７は、予めＲＯＭ１０３やＨＤＤ１０５などの記憶装置に保持しておき、これを撮像パラメータ入力部２０１が取得するようにしてもよい。撮像パラメータ入力部２０１が取得した撮像パラメータ２０７は、ＲＡＭ１０２などに記憶される。
【００１９】
次にステップＳ３０２において、撮像部２０２は、ステップＳ３０１で取得された撮像パラメータ２０７を用いて撮像処理を行う。以下、図５に示すフローチャートを用い、撮像処理の詳細を説明する。まずステップＳ５００では、撮像部２０２は、全ての撮像パラメータ２０７について画像を撮像したか否かを判断する。全ての撮像パラメータ２０７について画像を撮像した場合、撮像処理は終了し、全ての撮像パラメータ２０７について画像を撮像していない場合、撮像処理はステップＳ５０１に進む。ステップＳ５０１では、撮像パラメータ２０７に含まれる撮像位置に応じて、姿勢制御装置１０９が撮像装置１０７の位置を制御する。具体的には、撮像装置１０７をｙ軸４０２の負の方向を上、ｚ軸４０３の正の方向を光軸方向にしたまま、ｘ軸４０１やｙ軸４０２の方向に平行移動することにより撮像装置１０７が撮像位置に置かれるように制御する。次にステップＳ５０２では、撮像装置１０７は、撮像パラメータに含まれる露光時間、レンズＦ値、センサ感度などの撮像条件に従い被写体を撮像する。続くステップＳ５０３で、得られた撮像画像データは、撮像パラメータ２０７と対応付けられ、ＲＡＭ１０２やＨＤＤ１０５などの記憶装置に記憶される。以上、ステップＳ５００からステップＳ５０３までの処理を撮像パラメータ２０７ごとに行い、全ての撮像パラメータ２０７に対して撮像画像データを記憶すると、撮像部２０２は、撮像処理を終了する。
【００２０】
次にステップＳ３０３において、画像処理パラメータ入力部２０３は、複数の画像処理パラメータ２０９を入力デバイス１１１から取得する。画像処理パラメータ２０９は、仮想視点位置（ｘ１、ｙ１、ｚ１）と、ウインドウサイズと、生成画像サイズとを含む。本実施例において、ウインドウサイズ、生成画像サイズは画像処理パラメータ間で同一であるが、仮想視点位置はそれぞれ異なる値を設定する。例えば、図６に示すようにｘ軸４０１、ｙ軸４０２、ｚ軸４０３からなる空間に原点を中心とした直方体領域を設定しこれを仮想視点移動範囲６０１とする。次いで、仮想視点移動範囲６０１の内部を等間隔でサンプリングするように複数の仮想視点位置を設定してもよい。なお、画像処理パラメータ２０９を予めＲＯＭ１０３やＨＤＤ１０５などの記憶装置に保持しておき、これを画像処理パラメータ入力部２０３が取得するようにしてもよい。画像処理パラメータ２０９は、ＲＡＭ１０２などに記憶される。
【００２１】
次にステップＳ３０４において、画像処理部２０４はＳ３０１で記憶した撮像パラメータ２０７、Ｓ３０２で記憶した撮像画像データ２０８、及びＳ３０３で記憶した画像処理パラメータ２０９を用い、仮想視点画像データ２１０を生成する。ここでは、複数の撮像画像データ２０８とそれに対応する撮像パラメータ２０７とを基にライトフィールドを生成する。そして、ライトフィールドを用いて仮想視点位置に応じた仮想視点画像データ２１０を生成する。得られた仮想視点画像データ２１０は、画像処理パラメータ２０９と対応付けられ、ＲＡＭ１０２やＨＤＤ１０５などの記憶装置に記憶される。この処理を複数の画像処理パラメータ２０９に対して行うことで、複数の仮想視点画像データ２１０を記憶する。これにより、様々な視点位置から被写体を眺めた様子を、複数の仮想視点画像データ２１０として記憶する。ライトフィールドおよびステップＳ３０４の処理については後に詳述する。
【００２２】
次にステップＳ３０５において、位置情報取得部２０５は、位置検出装置１１５より視聴者の視点位置を含む位置パラメータ２１１を取得する。本実施例における視聴者の視点位置（ｘ２、ｙ２、ｚ２）の例を図７に示す。ここでは、出力デバイス１１３の画像表示面の中心から画像表示面の法線方向に沿って距離ｄだけ離れた点を原点Ｏ’とし、水平方向をｘ’軸７０１、垂直方向をｙ’軸７０２、画像表示面に垂直な方向をｚ’軸７０３とする。なお、この座標系において、画像表示面の中心の位置は、（０、０、ｄ）となる。本実施例において、ｘ’軸７０１、ｙ’軸７０２、ｚ’軸７０３はそれぞれ、ｘ軸４０１、ｙ軸４０２、ｚ軸４０３に対応する。そして、仮想視点移動範囲６０１に対応する領域を視点移動可能範囲７０４とする。視点位置（ｘ２、ｙ２、ｚ２）が視点移動可能範囲７０４内にある場合は、視点位置から被写体を眺めた様子を画像表示面に提示することができる。取得した位置パラメータ２１１は、ＲＡＭ１０２などに記憶される。
【００２３】
最後にステップＳ３０６において、出力部２０６は、ステップＳ３０５で記憶した位置パラメータ２１１に含まれる視点位置を基に、ステップＳ３０４で生成した複数の仮想視点画像データ２１０の中から出力画像データ２１２を選択し、出力する。具体的に、各仮想視点画像データ２１０に対応付けられた仮想視点位置（ｘ１、ｙ１、ｚ１）を参照し、視点位置（ｘ２、ｙ２、ｚ２）と仮想視点位置（ｘ１、ｙ１、ｚ１）との距離が最も小さくなる仮想視点画像データ２１０を出力画像データ２１２として選択する。そして、この出力画像データ２１２を出力デバイス１１３へ出力し、画像を表示させる。
【００２４】
＜ライトフィールド＞
ここでは、複数の撮像画像データ２０８とそれに対応する撮像パラメータ２０７とを基に生成するライトフィールドについて説明する。ライトフィールドとは、光線の強度を２つの平面上の座標で表す関数である。本実施例では、撮像画像の画素値を光線の強度とみなし、図８に示すｘｙ平面上の座標（ｘ、ｙ）とｕｖ平面上の座標（ｕ，ｖ）とを、撮像画像の画素値と対応付けた関数をライトフィールドＬ（ｘ、ｙ、ｕ、ｖ）として扱う。ここで、ｘｙ平面は、ｘ軸４０１とｙ軸４０２とからなる平面である。ｕｖ平面は、ｘ軸４０１に平行なｕ軸８０１とｙ軸４０２に平行なｖ軸８０２とからなり、ｘｙ平面からｚ軸４０３に沿ってｄだけ離れた距離にあるｚ軸４０３に垂直な平面である。ライトフィールドＬ（ｘ、ｙ、ｕ、ｖ）は、ｘｙ平面上の点（ｘ、ｙ）とｕｖ平面上の点（ｕ，ｖ）とを通過する光線の強度を表す。また、本実施例において、ｘｙ平面は撮像装置１０７が存在する平面に対応し、ｕｖ平面は画像表示面の存在する平面に対応する。
【００２５】
以下、ライトフィールドＬ（ｘ、ｙ、ｕ、ｖ）と画素値Ｉ（ｉ，ｊ）とを対応付ける方法について述べる。本実施例では、撮像画像に対応する撮像位置はｘｙ平面上に存在する。このためＬ（ｘ、ｙ、ｕ、ｖ）の変数のうち（ｘ、ｙ）は撮像位置に対応する。そこで、まずは複数の撮像画像データ２０８の中から撮像位置が（ｘ、ｙ）であるものを求める。次に、求めた撮像画像データ２０８から（ｕ，ｖ）に対応する画素（ｉ、ｊ）を求める。撮像位置（ｘ、ｙ）で撮像された撮像画像の画素（ｉ、ｊ）とｕｖ平面上の座標（ｕ、ｖ）との関係は下記の式により算出される。
【００２６】
【数１】
2014135006.tif 000003
【００２７】
【数２】
2014135006.tif 000004
【００２８】
ここで、θｗは撮像装置１０７の水平画角を表し、θｈは撮像装置１０７の垂直画角を表す。また、ｗは撮像画像の水平画素数を表し、ｈは撮像画像の垂直画素数を表す。これより、Ｌ（ｘ、ｙ、ｕ、ｖ）から画素値Ｉ（ｉ、ｊ）への参照は、下記のように表すことができる。
【００２９】
【数３】
2014135006.tif 000005
【００３０】
このように、Ｌ（ｘ、ｙ、ｕ、ｖ）から撮像画像内の画素値Ｉ（ｉ，ｊ）への参照が可能となる。以上、複数の撮像画像データ２０８とそれに対応する撮像パラメータ２０７とを基にライトフィールドを生成する方法について述べた。
【００３１】
なお、撮像位置（ｘ，ｙ）に対応する撮像画像データ２０８が存在しない場合は、（ｘ，ｙ）に最も近い撮像位置で撮像された撮像画像データ２０８を用いてもよい。あるいは、（ｘ，ｙ）の周囲で撮像された撮像位置に対応する撮像画像データ２０８から、（ｘ，ｙ）に対応する画像を補間処理等により求めてもよい。
【００３２】
また、本実施例では、撮像画像データ２０８を用いてライトフィールドを生成したが、相対的な位置関係が本実施例と同じになるように設定した仮想カメラを用いて３Ｄモデルをレンダリングした複数のＣＧ画像を用いてもよい。
【００３３】
＜仮想視点画像生成処理＞
ここでは、図３のステップＳ３０４で行う仮想視点画像生成処理について詳しく説明する。ステップＳ３０４では、ステップＳ３０１で記憶した撮像パラメータ２０７、ステップＳ３０２で記憶した撮像画像データ２０８、およびステップＳ３０３で記憶した画像処理パラメータ２０９を用い、仮想視点位置に対応する仮想視点画像データ２１０を生成する。ここでは、複数の撮像画像データ２０８とそれに対応する撮像パラメータ２０７とを基にライトフィールドを生成する。次いで、ｕｖ平面上に設定したサンプリング点と仮想視点位置とを基に仮想視点画像の各画素に対応する光線を選択することで仮想視点画像データ２１０を生成する。以下、図９に示すフローチャートを用い、仮想視点画像生成処理の詳細を説明する。
【００３４】
まず、ステップＳ９００では、画像処理部２０４は、全ての画像処理パラメータ２０９について仮想視点画像データ２１０を生成したか否かを判断する。全ての画像処理パラメータ２０９について仮想視点画像データ２１０を生成した場合、仮想視点画像生成処理は終了し、全ての画像処理パラメータ２０９について仮想視点画像データ２１０を生成していない場合、仮想視点画像生成処理はステップＳ９０１に進む。
【００３５】
ステップＳ９０１において、画像処理部２０４は、画像処理パラメータ２０９に含まれるウインドウサイズ（ｓ、ｔ）および生成画像サイズ（ｗ’、ｈ’）を基に、仮想視点画像の各画素に対応するｕｖ平面上のサンプリング点を設定する。図１０に示すように、ｕｖ平面の原点を中心としてｕ軸方向に幅ｓを持ち、ｖ軸方向に幅ｔ持つ矩形領域を設定する。次いで、矩形領域内においてｕ軸方向に等間隔になるようにｗ’個、ｖ軸方向に等間隔になるようにｈ’個のサンプリング点を設定する。なお、ここで設定した各サンプリング点は、仮想視点画像の各画素に対応している。以降、仮想視点画像の画素ｐ＝（ｉｐ，ｊｐ）に対応するサンプリング点を（ｕｐ、ｖｐ）とする。設定したサンプリング点は、ＲＡＭ１０２やＨＤＤ１０５などの記憶装置に記憶される。
【００３６】
次にステップＳ９０２において、画像処理部２０４は、Ｓ９０１で設定した複数のサンプリング点に対応するｘｙ平面上の点をそれぞれ算出し、各サンプリング点に対応した画素値を算出する。ｕｖ平面上のサンプリング点（ｕｐ、ｖｐ）に対するｘｙ平面上の点（ｘｐ、ｙｐ）は、仮想視点位置（ｘ１、ｙ１、ｚ１）を用いて以下の式に従い算出する。
【００３７】
【数４】
2014135006.tif 000006
【００３８】
【数５】
2014135006.tif 000007
【００３９】
そして、これまでに得られた（ｕｐ、ｖｐ）および（ｘｐ、ｙｐ）を用いて、仮想視点画像の画素値Ｈ（ｉｐ，ｊｐ）は、以下の式を用いて算出することができる。
【００４０】
【数６】
2014135006.tif 000008
【００４１】
上記の処理を全てのサンプリング点に対して行うことにより、画像処理部２０４は、仮想視点画像データ２１０を生成する。
【００４２】
次にステップＳ９０３において、画像処理部２０４は、ステップＳ９０２で生成した仮想視点画像データ２１０を画像処理パラメータ２０９と対応付け、ＲＡＭ１０２やＨＤＤ１０５などの記憶装置に記憶する。次いで、仮想視点画像生成処理は、ステップＳ９００に戻る。
【００４３】
以上、ステップＳ９０１からステップＳ９０３までの処理を画像処理パラメータ２０９ごとに行い、全ての画像処理パラメータ２０９に対して仮想視点画像データ２１０を記憶すると、仮想視点画像生成処理は、終了する。
【００４４】
以上説明した処理制御を行うことで、任意の視点位置から撮像被写体を眺めた様子を画像表示面に表示することが可能となる。
【００４５】
なお、ステップＳ３０５の位置情報取得処理を定期的に行い、視点位置（ｘ２、ｙ２、ｚ２）の値が変化する度にステップＳ３０６の画像表示処理を行い出力画像データ２１２を変更すれば、視聴者の視点位置の変化に応じて表示画像を逐次切り替えることができる。また、本実施例では複数の位置から被写体を撮像するために、姿勢制御装置１０９を用いて撮像装置１０７を平行移動させたが、撮像方法はこれに限らない。例えば、図１２に示すような複数のカメラユニット１２０１〜１２０９からなる撮像装置１０７を用いても構わない。ただし、カメラユニットの数はこれに限るものではない。あるいは、撮像装置１０７を固定し、相対的な位置関係が本実施例と同じになるように姿勢制御装置１０９を用いて被写体の位置を変更しても同様の効果が得られる。
【００４６】
また、本実施例では予め記録しておいた複数の仮想視点画像データ２１０の中から出力画像データ２１２を選択しているが、ステップＳ３０５で得られる視点位置を基にステップＳ３０４の方法を用いて出力画像データを生成してもよい。
【００４７】
［実施例２］
以下、本発明の第２の実施例（実施例２）について説明する。実施例１では１つの視点位置に応じて仮想視点画像データ２１０から出力画像データ２１２を選択した。実施例２では、視聴者の左右の目に対応する２つの視点位置に応じた仮想視点画像データ２１０から出力画像データ２１２を生成する。
【００４８】
実施例２は実施例１と比較すると、位置検出装置１１５で検出する視点位置の数、出力デバイス１１３、ステップＳ３０６の処理（画像表示処理）が異なる。以下、実施例２と実施例１との相違点について述べる。
【００４９】
図１３に示すように、位置検出装置１１５は、視聴者の左右の目に対応する２つの視点位置をそれぞれ検出する。そして、検出した２つの視点位置を含む位置パラメータ２１１がステップＳ３０５において位置情報取得部２０５から入力される。出力デバイス１１３は、画像表示面の偶数ラインと奇数ラインとにそれぞれ異なる偏光特性を有する偏光フィルタを備える。また、視聴者は左右で異なる偏光特性を有する偏光メガネを装着して画像表示面を観察する。本実施例では、偏光メガネの左目と画像表示面の奇数ラインとが同じ偏光特性を有し、偏光メガネの右目と画像表示面の偶数ラインとが同じ偏光特性を有し、右目では偶数ラインのみが見え、左目では奇数ラインのみが見えるものとする。以上、本実施例に係る位置検出装置１１５および出力デバイス１１３に関する実施例１との相違点について述べた。以下、本実施例に係るステップＳ３０６の処理について述べる。
【００５０】
ステップＳ３０６では、ステップＳ３０５において位置情報取得部２０５から取得した位置パラメータ２１１に含まれる左右の目に対応する２つの位置情報をもとに、それぞれ実施例１と同様の方法で２つの仮想視点画像データ２１０を選択する。そして、選択した２つの仮想視点画像データ２１０を用いて出力画像データ２１２を生成する。ここで、左目の位置情報に対応する仮想視点画像を仮想視点画像Ａ、右目の位置情報に対応する仮想視点画像を仮想視点画像Ｂとする。
【００５１】
出力画像データ２１２の生成方法について図１４を用いて説明する。ここでは、仮想視点画像Ａの奇数ラインを出力画像の奇数ラインに、仮想視点画像Ｂの偶数ラインを出力画像の偶数ラインにすることで出力画像データ２１２を生成する。そして、生成した出力画像データ２１２を出力デバイス１１３へ出力し、画像を表示する。
【００５２】
以上説明した処理制御を行うことで、任意の視点位置から撮像被写体を眺めた様子をステレオ３Ｄで画像表示面に表示することが可能となる。
【００５３】
なお、本実施例では、出力デバイス１１３は、画像表示面の偶数ラインと奇数ラインとにそれぞれ異なる偏光特性を有する偏光フィルタを備えるものとしたが、出力デバイス１１３の形態はこれにかぎらない。例えば、図１５に示すような２台の画像投影装置を用いて同一の画像表示面に映像を投影する出力デバイス１１３を用いても構わない。ここで画像投影装置Ａは偏光フィルムＡ越しに画像表示面に対して画像を投影し、画像投影装置Ｂは偏光フィルムＢ越しに画像表示面に対して画像を投影するものとする。この場合は、ステップＳ３０６において仮想視点画像Ａと仮想視点画像Ｂとを出力画像として選択する。そして、画像投影装置Ａに仮想視点画像Ａを、画像投影装置Ｂに仮想視点画像Ｂをそれぞれ表示する。以上の方法によっても、任意の視点位置から撮像被写体を眺めた様子をステレオ３Ｄで画像表示面に表示することが可能となる。
【００５４】
また、画像表示面にレンチキュラーレンズを備えた出力デバイス１１３を用いても構わない。この場合は、仮想視点画像Ａと仮想視点画像Ｂとを縦方向のライン毎に交互に配置した出力画像データ２１２を生成し出力する。これにより、偏光メガネを使用することなく、任意の視点位置から撮像被写体を眺めた様子をステレオ３Ｄで画像表示面に表示することが可能となる。
【００５５】
［実施例３］
以下、本発明の第３の実施例（実施例３）について説明する。実施例１、２では、仮想視点画像の各画素に対しライトフィールドから１つの光線を選択した。実施例３では、仮想視点画像の各画素に対しライトフィールドから複数の光線を選択し被写体の奥行に応じてぼけを付与する。このぼけ付与の処理を行うことにより、被写体を任意の深度で表示できるとともに、被写体と背景との距離が大きい場合においても仮想視点画像の画質を保つことができる。
【００５６】
実施例１、２と比べて、実施例３は、ステップＳ９０２における画素値Ｈ（ｉｐ，ｊｐ）の算出方法が異なる。具体的には下記の式を用いて画素値Ｈ（ｉｐ，ｊｐ）を算出する。
【００５７】
【数７】
2014135006.tif 000009
【００５８】
ここでα、βは光線を積分する範囲を決めるための値であり、αはｘ軸方向の積分範囲を表し、βはｙ軸方向の積分範囲を表す。Ａ（ｓ、ｔ）はボケの形状を決めるための関数である。例えば、関数Ａ（ｓ、ｔ）を原点を中心として半径ｒの範囲だけ１となり、そのほかの範囲は０となる関数にすることにより、円形のぼけを付与することができる。Ｂは光線の強度を正規化するための値である。例えば、Ａ（ｓ、ｔ）の内、値が１となる領域の面積をＢとしてもよい。以上の処理により、図８に示すｕｖ平面から離れるほど大きなぼけを付与することができる。具体的に説明すると、例えば、図１６に示すように撮像装置１０７からｚ軸方向に距離ｄだけ離れた位置に被写体を置いて撮影した場合、被写体をぼかさずに背景のみをぼかすことができる。ステップＳ９０２で生成する仮想視点画像は、背景が被写体から離れるほど画質の劣化が生じるが、本処理によって背景をぼかすことにより画質の劣化を抑制することができる。
【００５９】
なお、α、βの値は仮想視点位置に応じて変化させても構わない。例えば、仮想視点位置がｘｙ平面から離れるほどα、βの値を大きくするなどしてもよい。
【００６０】
以上説明した処理制御を行うことで、任意の視点位置から撮像被写体を眺めた様子を任意の深度で画像表示面に表示することが可能となる。
【００６１】
なお、本実施例では複数の光線を積分することで奥行に応じてぼけを付与したが、ぼけを付与する方法はこれに限らない。例えば、予め複数の撮像画像データ２０８に対し奥行に応じてボケを付与する処理を施しておくなどしても構わない。具体的な処理としては、まず複数の撮像画像データ２０８に対してステレオマッチングを行い被写体と背景との間の距離を推定する。そして、被写体からの距離に応じて異なる大きさのフィルタを用いてフィルタリングをすることでボケを付与するなどしてもよい。あるいは、撮像パラメータ２０７に含まれるＦ値を小さな値に設定することで背景をぼかして撮像してもよい。
【００６２】
［その他の実施例］
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【図１】
2014135006.tif 000010
【図２】
2014135006.tif 000011
【図３】
2014135006.tif 000012
【図４】
2014135006.tif 000013
【図５】
2014135006.tif 000014
【図６】
2014135006.tif 000015
【図７】
2014135006.tif 000016
【図８】
2014135006.tif 000017
【図９】
2014135006.tif 000018
【図１０】
2014135006.tif 000019
【図１１】
2014135006.tif 000020
【図１２】
2014135006.tif 000021
【図１３】
2014135006.tif 000022
【図１４】
2014135006.tif 000023
【図１５】
2014135006.tif 000024
【図１６】
2014135006.tif 000025