(57)【特許請求の範囲】
【請求項１】
オブジェクトに映像をマッピングして一つのコンピュータ・グラフィックス（ＣＧ）映像に合成する装置であって、
前記オブジェクトの形状を表す形状データ、及び、一つの立体視映像を表す左目用と右目用との映像データの対を記憶しているメモリ部、
前記形状データから、前記オブジェクトが前記立体視映像のマッピングに適しているか否かを判断する判断部、並びに、
前記オブジェクトが前記立体視映像のマッピングに適していると前記判断部が判断した場合、前記左目用の映像データを前記形状データに合成して左目用のＣＧデータを作成すると共に、前記右目用の映像データを前記形状データに合成して右目用のＣＧデータを作成し、前記オブジェクトが前記立体視映像のマッピングに適していないと前記判断部が判断した場合、前記左目用の映像データと前記右目用の映像データとのいずれかのみを前記形状データに合成して左目用のＣＧデータと右目用のＣＧデータとを作成するマッピング部、
を備えているＣＧ映像合成装置。
【請求項２】
前記形状データは、前記オブジェクトの３次元（３Ｄ）仮想空間内での形状を表す３Ｄデータであり、
前記判断部は、前記３Ｄデータから、前記オブジェクトを構成する各ポリゴンの法線ベクトルを計算し、計算された法線ベクトルの集合から前記オブジェクトの表面の曲率を評価し、前記曲率が所定の閾値未満である場合、前記オブジェクトが前記立体視映像のマッピングに適していると判断し、前記曲率が前記閾値を超えている場合、前記オブジェクトが前記立体視映像のマッピングに適していないと判断する、
請求項１に記載のＣＧ映像合成装置。
【請求項３】
前記形状データは、前記オブジェクトの３Ｄ仮想空間内での形状を表す３Ｄデータであり、
前記判断部は、前記３Ｄデータから、前記オブジェクトを構成する各ポリゴンの頂点における照度を計算し、計算された照度全体での最大値と最小値との間の差が所定の閾値未満である場合、前記オブジェクトが前記立体視映像のマッピングに適していると判断し、前記差が前記閾値を超えている場合、前記オブジェクトが前記立体視映像のマッピングに適していないと判断する、
請求項１に記載のＣＧ映像合成装置。
【請求項４】
前記形状データは、前記オブジェクトの３Ｄ仮想空間内での形状を表す３Ｄデータであり、
前記判断部は、前記ＣＧ映像のフレームごとに、前記オブジェクトを構成する各ポリゴンの頂点から前記オブジェクトの代表点を求め、連続する二つのフレームの間で前記オブジェクトの代表点の変位の大きさが所定の閾値未満である場合、前記オブジェクトが前記立体視映像のマッピングに適していると判断し、前記変位の大きさが前記閾値を超えている場合、前記オブジェクトが前記立体視映像のマッピングに適していないと判断する、
請求項１に記載のＣＧ映像合成装置。
【請求項５】
前記形状データは、前記オブジェクトの２次元（２Ｄ）画面上での形状を表す２Ｄデータであり、
前記判断部は、前記ＣＧ映像のフレームごとに前記２Ｄデータから前記オブジェクトの代表点を求め、連続する二つのフレームの間で前記オブジェクトの代表点の変位の大きさが所定の閾値未満である場合、前記オブジェクトが前記立体視映像のマッピングに適していると判断し、前記変位の大きさが前記閾値を超えている場合、前記オブジェクトが前記立体視映像のマッピングに適していないと判断する、
請求項１に記載のＣＧ映像合成装置。
【請求項６】
前記形状データは、前記オブジェクトの２Ｄ画面上での形状を表す２Ｄデータと、前記オブジェクトの３Ｄ仮想空間内での形状を表す３Ｄデータとのいずれかであり、
前記判断部は、前記形状データが前記２Ｄデータと前記３Ｄデータとのいずれであるかを識別し、前記形状データが前記２Ｄデータである場合、前記オブジェクトが前記立体視映像のマッピングには適していると判断し、前記形状データが前記３Ｄデータである場合、前記３Ｄデータから、前記オブジェクトが前記立体視映像のマッピングに適しているか否かを更に判断する、
請求項１に記載のＣＧ映像合成装置。
【請求項７】
平面視映像と立体視映像とのいずれが前記オブジェクトにマッピングされるべきかを示すユーザ操作を受け付ける操作部を更に備え、
前記判断部は、前記平面視映像が前記オブジェクトにマッピングされるべきことを前記ユーザ操作が示す場合、前記オブジェクトが前記立体視映像のマッピングには適していないと判断する、
請求項１に記載のＣＧ映像合成装置。
【請求項８】
オブジェクトに映像をマッピングして一つのＣＧ映像に合成する方法であって、
前記オブジェクトの形状を表す形状データから、前記オブジェクトが、左目用と右目用との映像データの対で表される立体視映像のマッピングに適しているか否かを判断するステップ、
前記オブジェクトが前記立体視映像のマッピングに適していると判断された場合、前記左目用の映像データを前記形状データに合成して左目用のＣＧデータを作成すると共に、前記右目用の映像データを前記形状データに合成して右目用のＣＧデータを作成するステップ、及び、
前記オブジェクトが前記立体視映像のマッピングに適していないと判断された場合、前記左目用の映像と前記右目用の映像データとのいずれかのみを前記形状データに合成して左目用のＣＧデータと右目用のＣＧデータとを作成するステップ、
を有するＣＧ映像合成方法。
【請求項９】
オブジェクトに映像をマッピングして一つのＣＧ映像に合成する処理をコンピュータに実行させるためのプログラムであって、前記処理が、
前記オブジェクトの形状を表す形状データから、前記オブジェクトが、左目用と右目用との映像データの対で表される立体視映像のマッピングに適しているか否かを判断するステップ、
前記オブジェクトが前記立体視映像のマッピングに適していると判断された場合、前記左目用の映像データを前記形状データに合成して左目用のＣＧデータを作成すると共に、前記右目用の映像データを前記形状データに合成して右目用のＣＧデータを作成するステップ、及び、
前記オブジェクトが前記立体視映像のマッピングに適していないと判断された場合、前記左目用の映像と前記右目用の映像データとのいずれかのみを前記形状データに合成して左目用のＣＧデータと右目用のＣＧデータとを作成するステップ、
を有するプログラム。
【請求項１０】
オブジェクトに映像をマッピングして一つのＣＧ映像に合成する処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記処理が、
前記オブジェクトの形状を表す形状データから、前記オブジェクトが、左目用と右目用との映像データの対で表される立体視映像のマッピングに適しているか否かを判断するステップ、
前記オブジェクトが前記立体視映像のマッピングに適していると判断された場合、前記左目用の映像データを前記形状データに合成して左目用のＣＧデータを作成すると共に、前記右目用の映像データを前記形状データに合成して右目用のＣＧデータを作成するステップ、及び、
前記オブジェクトが前記立体視映像のマッピングに適していないと判断された場合、前記左目用の映像と前記右目用の映像データとのいずれかのみを前記形状データに合成して左目用のＣＧデータと右目用のＣＧデータとを作成するステップ、
を有する記録媒体。
【請求項１１】
オブジェクトに映像をマッピングして一つのＣＧ映像に合成する装置に搭載される集積回路であって、
前記オブジェクトの形状を表す形状データ、及び、一つの立体視映像を表す左目用と右目用との映像データの対を記憶しているメモリ部、
前記形状データから、前記オブジェクトが前記立体視映像のマッピングに適しているか否かを判断する判断部、並びに、
前記オブジェクトが前記立体視映像のマッピングに適していると前記判断部が判断した場合、前記左目用の映像データを前記形状データに合成して左目用のＣＧデータを作成すると共に、前記右目用の映像データを前記形状データに合成して右目用のＣＧデータを作成し、前記オブジェクトが前記立体視映像のマッピングに適していないと前記判断部が判断した場合、前記左目用の映像と前記右目用の映像データとのいずれかのみを前記形状データに合成して左目用のＣＧデータと右目用のＣＧデータとを作成するマッピング部、
を備えている集積回路。
【請求項１２】
オブジェクトに映像をマッピングして一つのＣＧ映像として表示する装置であって、
前記オブジェクトの形状を表す形状データ、及び、一つの立体視映像を表す左目用と右目用との映像データの対を記憶しているメモリ部、
前記形状データから、前記オブジェクトが前記立体視映像のマッピングに適しているか否かを判断する判断部、
前記オブジェクトが前記立体視映像のマッピングに適していると前記判断部が判断した場合、前記左目用の映像データを前記形状データに合成して左目用のＣＧデータを作成すると共に、前記右目用の映像データを前記３Ｄデータに合成して右目用のＣＧデータを作成し、前記オブジェクトが前記立体視映像のマッピングに適していないと前記判断部が判断した場合、前記左目用の映像と前記右目用の映像データとのいずれかのみを前記形状データに合成して左目用のＣＧデータと右目用のＣＧデータとを作成するマッピング部、並びに、
表示パネルを含み、前記左目用のＣＧデータの表す左目用のＣＧ映像と、前記右目用のＣＧデータの表す右目用のＣＧ映像とを交互に前記表示パネルに表示させる表示部、
を備えている表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・グラフィックス（ＣＧ）映像に立体視映像を合成して表示する技術に関する。
【背景技術】
【０００２】
近年のビデオゲーム機やデジタルテレビには、ビューワー機能やスライドショー機能を搭載したものがある。それらの機能を利用すれば、ユーザがデジタルカメラで撮影した写真／動画をディスプレイの画面に表示することができる。特に、写真／動画にはＣＧ映像との合成によって様々な視覚効果が加えられる。例えば、複数の写真や複数の動画のサムネイル映像を画面に一覧表示し、ユーザにグラフィックス・ユーザ・インターフェース（ＧＵＩ）を利用させて、いずれかの写真／動画を選択させる。更に、その選択の操作に伴う一覧表示の画面から特定の写真／動画の表示画面への切り換えを、ＣＧ映像によるアニメーションで表現する。このように、写真／動画をＣＧ映像と合成することによって、ユーザの操作に娯楽性を与え、かつ、ＧＵＩの操作性を向上させることができる。
【０００３】
写真／動画とＣＧ映像との合成は次のように行われる。まず、「オブジェクト」と呼ばれるＣＧ映像が、点、線、ポリゴン（多角形）等の図形の集合体で表現される。それらの図形は、２次元（２Ｄ）画面に描かれたものとして表現されても、３次元（３Ｄ）仮想空間に配置されたものとして表現されてもよい。次に、写真／動画の１フレームを表す２次元映像（テクスチャ）がオブジェクトの表面に射影される。この操作を「マッピング」という。オブジェクトが３Ｄ仮想空間に配置されている場合は更に、そのオブジェクトを特定の視点から見たときの「平面視映像」、すなわち、そのオブジェクトとその視点との間に置かれた一つの平面に投影されたそのオブジェクトの映像が算出される。このように写真／動画の１フレームをオブジェクトに合成して得られた平面視映像がディスプレイの画面に表示される。オブジェクトを２Ｄ画面上、又は３Ｄ仮想空間内で変形させ、又は変位させると、それに合わせて、そのオブジェクトの表面に映る写真／動画が同様に変形し、又は変位する。
【０００４】
一方、近年、立体視映像の表示機能を搭載したデジタルカメラやデジタルテレビが一般家庭に普及し始めている。「立体視映像」とは、一つのシーンを表す左目用の映像と右目用の映像との組み合わせであって、視聴者にはそのシーンの立体的な映像として一体的に見えるものをいう。「左目用の映像（レフトビュー）」とは、視聴者の左目に映る平面視映像をいい、「右目用の映像（ライトビュー）」とは、視聴者の右目に映る平面視映像をいう。左目用の映像と右目用の映像との間には、その視聴者の両眼視差に起因する違いがある。立体視映像の表示方式としては、「フレーム・シーケンシャル方式」が一般的である。その方式では、ディスプレイの画面に左目用の映像と右目用の映像とが交互に表示される。視聴者はシャッター眼鏡を通してその画面を見る。シャッター眼鏡は、画面に左目用の映像が表示される期間では左のレンズのみを透明にし、右目用の映像が表示される期間では右のレンズのみを透明にする。その結果、その視聴者の左目には左目用の映像のみが映り、右目には右目用の映像のみが映る。その場合、その視聴者には左目用の映像と右目用の映像との間の違いが一つのシーンの両眼視差として錯覚されるので、それら二つの平面視映像が一つの立体視映像に見える。
【０００５】
現実の物体の立体視映像を撮影するには、２台のデジタルカメラを視聴者の両目に見立てて並置し、それらのカメラで同時に撮影を行えばよい。また、ＣＧ映像を立体視映像に変換する技術も知られている。例えば特許文献１に開示された技術では、オブジェクトの２Ｄ画面上での表示位置を左右にずらすことによって、そのオブジェクトの左目用の映像と右目用の映像とを作成する。このような写真／動画及びＣＧ映像を立体視映像として表現する技術は、上記のビューワー機能やスライドショー機能への応用が望まれている。立体視映像を利用すれば、平面視映像では表現できない臨場感が得られ、かつ、新しい視覚効果の可能性が開かれると期待されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２６７６５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
３Ｄ仮想空間に配置されたオブジェクトの立体視映像を作成する技術としては次のものが開発されている。まず、視聴者の左目に相当する視点からそのオブジェクトを見たときの平面視映像、すなわち左目用のＣＧ映像を作成し、右目に相当する別の視点から見たときの平面視映像、すなわち右目用のＣＧ映像を作成する。次に、左目用のＣＧ映像には左目用の写真／動画をマッピングし、右目用のＣＧ映像には右目用の写真／動画をマッピングする。
【０００８】
左目用と右目用との各写真／動画は、カメラの方向から見たときに被写体が最も立体的に見えるように撮影されている。従って、オブジェクトの表面が板のような平面状であって、かつ視方向に対して垂直に近い傾きであれば、その表面にマッピングされた立体視映像はその表面から浮かび上がって、又は沈み込んで見える。しかし、オブジェクトの表面が起伏に富み、若しくは比較的高い曲率の曲面状である場合、又はその表面が視方向に対して大きく傾いている場合、その表面にマッピングされた立体視映像は歪むので立体的には見えにくい。また、オブジェクトが、３Ｄ仮想空間内の立体形状ではなく、２Ｄ画面上に射影された平面形状で表現されている場合であっても、比較的高速で動いていれば、その表面にマッピングされた立体視映像は立体的には見えにくい。
【０００９】
一方、マッピング処理に要求される計算量は一般に大きい。従って、写真／動画にＣＧ映像が合成された映像の画質を更に向上させるには、写真／動画が立体的には見えにくい条件ではマッピング処理に必要な負荷を可能な限り軽減して、合成処理を更に円滑にすることが望ましい。
【００１０】
本発明の目的は上記の問題点を解消することにあり、特にオブジェクトの形状及び動きに応じてマッピング処理を調整することによって、合成映像の画質を更に向上させることのできるＣＧ映像合成装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明によるＣＧ映像合成装置は、オブジェクトに映像をマッピングして一つのＣＧ映像に合成する装置であって、メモリ部、判断部、及びマッピング部を備えている。メモリ部は形状データと映像データの対とを記憶している。形状データはオブジェクトの形状を表す。映像データの対は、一つの立体視映像を表す左目用と右目用との映像データから成る。判断部は、形状データから、オブジェクトが立体視映像のマッピングに適しているか否かを判断する。マッピング部は、オブジェクトが立体視映像のマッピングに適していると判断部が判断した場合、左目用の映像データを形状データに合成して左目用のＣＧデータを作成すると共に、右目用の映像データを形状データに合成して右目用のＣＧデータを作成する。マッピング部は更に、オブジェクトが立体視映像のマッピングに適していないと判断部が判断した場合、左目用の映像データと右目用の映像データとのいずれかのみを形状データに合成して左目用のＣＧデータと右目用のＣＧデータとを作成する。
【００１２】
形状データが、オブジェクトの２Ｄ画面上での形状を表す２Ｄデータである場合、判断部は、オブジェクトが立体視映像のマッピングに適しているか否かを次のように判断してもよい。判断部は、ＣＧ映像のフレームごとに２Ｄデータからオブジェクトの代表点を求め、連続する二つのフレームの間でオブジェクトの代表点の変位の大きさが所定の閾値未満である場合、オブジェクトが立体視映像のマッピングに適していると判断し、変位の大きさが閾値を超えている場合、オブジェクトが立体視映像のマッピングに適していないと判断する。
【００１３】
形状データが、オブジェクトの３Ｄ仮想空間内での形状を表す３Ｄデータである場合、判断部は、オブジェクトが立体視映像のマッピングに適しているか否かを以下の三つの方法のいずれかで判断してもよい。
【００１４】
第一の方法では、判断部はまず、３Ｄデータから、オブジェクトを構成する各ポリゴンの法線ベクトルを計算し、計算された法線ベクトルの集合からオブジェクトの表面の曲率を評価する。判断部は次に、曲率が所定の閾値未満である場合、オブジェクトが立体視映像のマッピングに適していると判断し、曲率が閾値を超えている場合、オブジェクトが立体視映像のマッピングに適していないと判断する。
【００１５】
第二の方法では、判断部はまず、３Ｄデータから、オブジェクトを構成する各ポリゴンの頂点における照度を計算する。判断部は次に、計算された照度全体での最大値と最小値との間の差が所定の閾値未満である場合、オブジェクトが立体視映像のマッピングに適していると判断し、差が閾値を超えている場合、オブジェクトが立体視映像のマッピングに適していないと判断する。
【００１６】
第三の方法では、判断部はまず、ＣＧ映像のフレームごとに、オブジェクトを構成する各ポリゴンの頂点からオブジェクトの代表点を求める。判断部は次に、連続する二つのフレームの間でオブジェクトの代表点の変位の大きさが所定の閾値未満である場合、オブジェクトが立体視映像のマッピングに適していると判断し、変位の大きさが閾値を超えている場合、オブジェクトが立体視映像のマッピングに適していないと判断する。
【発明の効果】
【００１７】
本発明による上記のＣＧ映像合成装置は、オブジェクトの形状データから、そのオブジェクトが立体視映像のマッピングに適しているか否かを判断する。それにより、このＣＧ映像合成装置は、オブジェクトの形状及び動きに応じてマッピング処理を調整することができるので、合成映像の画質を更に向上させることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態１による表示装置の機能ブロック図である。
【図２】図１に示されているＣＧ映像合成部160のハードウェア構成を示すブロック図である。
【図３】本発明の実施形態１による表示装置が立体視映像の写真／動画をオブジェクトのＣＧ映像にマッピングして右目用と左目用との各フレームを作成する処理のフローチャートである。
【図４】（ａ）−（ｃ）はそれぞれ、オブジェクトの形状を構成するポリゴンの集合体の異なる表現形式を示す模式図である。
【図５】図１に示されているステップＳ１１、すなわち、本発明の実施形態１による表示装置10が右目用のフレームを作成する処理のフローチャートである。
【図６】視野座標変換を表す模式図である。
【図７】図５に示されているステップＳ２５のフローチャートである。
【図８】（ａ）は、図４の（ａ）に示されている三角形ストリップでポリゴンの集合体が表現されている場合の法線ベクトルを示す模式図である。（ｂ）は、図４の（ｂ）に示されている三角形ファンでポリゴンの集合体が表現されている場合の法線ベクトルを示す模式図である。（ｃ）は、図４の（ｃ）に示されている三角形メッシュでポリゴンの集合体が表現されている場合の法線ベクトルを示す模式図である。
【図９】ポリゴン・バッファの一例を示す表である。
【図１０】図３に示されているステップＳ１２のフローチャートである。
【図１１】図５に示されているステップＳ２７、及び図１０に示されているステップＳ４５のフローチャートである。
【図１２】（ａ）は、表面が平面的なオブジェクトPOBのＣＧ映像を示す模式図である。（ｂ）は、そのオブジェクトPOBの左目用の平面視ＣＧ映像POLを表し、（ｃ）は、右目用の平面視ＣＧ映像PORを表す。（ｄ）は、そのオブジェクトPOBの表面にマッピングされるべき立体視映像の写真／動画の１フレームを構成する左目用の平面視映像を表し、（ｅ）は、同じフレームの右目用の平面視映像を表す。（ｆ）は、そのオブジェクトの左目用ＣＧ映像POLと“木”の左目用映像LVとの合成映像を表し、（ｇ）は、そのオブジェクトの右目用ＣＧ映像PORと“木”の右目用映像RVとの合成映像を表す。（ｈ）は、（ｆ）、（ｇ）に示されている各合成映像を視聴者の各目に見せたときに、その視聴者に見える立体視映像を示す模式図である。
【図１３】（ａ）は、表面が曲面的であるオブジェクトCOBのＣＧ映像を示す模式図である。（ｂ）は、そのオブジェクトCOBの左目用の平面視ＣＧ映像COLを表し、（ｃ）は、右目用の平面視ＣＧ映像CORを表す。（ｄ）は、そのオブジェクトCOBの表面にマッピングされるべき立体視映像の写真／動画の１フレームを構成する左目用の平面視映像を表し、（ｅ）は、同じフレームの右目用の平面視映像を表す。（ｆ）は、そのオブジェクトの左目用ＣＧ映像COLと“木”の右目用映像RVとの合成映像を表し、（ｇ）は、そのオブジェクトの右目用ＣＧ映像CORと“木”の右目用映像RVとの合成映像を表す。（ｈ）は、（ｆ）、（ｇ）に示されている各合成映像を視聴者の各目に見せたときに、その視聴者に見える立体視映像を示す模式図である。
【図１４】本発明の実施形態２による表示装置が、図５に示されているステップＳ２５を行う際のフローチャートである。
【図１５】（ａ）は、オブジェクトの表面の一部を構成する三角形メッシュに属するポリゴンの法線ベクトルと頂点の法線ベクトルとを示す模式図である。（ｂ）は、平板状のオブジェクトのＣＧ映像を示す模式図である。（ｃ）は、３枚の平板状のオブジェクトの立体視ＣＧ映像BO1、BO2、BO3と、それぞれにマッピングされた“星”、“木”、“円”の立体視映像VST、VTR、VCRとを示す模式図である。
【図１６】本発明の実施形態３による表示装置が、図５に示されているステップＳ２５を行う際のフローチャートである。
【図１７】（ａ）は、平板状のオブジェクトの立体視ＣＧ映像PL1、及び、それにマッピングされた“木”の立体視映像TR1とを示す模式図である。（ｂ）は、（ａ）に示されているフレームの次のフレームにおけるオブジェクトの立体視ＣＧ映像PL2と“木”の立体視映像TR2とを示す模式図である。（ｃ）は、（ｂ）に示されているフレームから数フレーム後におけるオブジェクトの立体視ＣＧ映像PL3と“木”の立体視映像TR3とを示す模式図である。
【図１８】本発明の実施形態４による表示装置が、図３に示されているステップＳ１１を行う際のフローチャートである。
【図１９】図１８に示されているステップＳ８４のフローチャートである。
【図２０】（ａ）は、矩形状のオブジェクトの平面視ＣＧ映像MV1、及び、それにマッピングされた“木”の立体視映像ST1とを示す模式図である。（ｂ）は、（ａ）に示されているフレームの次のフレームにおけるオブジェクトの平面視ＣＧ映像MV2と“木”の立体視映像ST2とを示す模式図である。（ｃ）は、（ｂ）に示されているフレームから数フレーム後におけるオブジェクトの平面視ＣＧ映像MV3と“木”の立体視映像ST3とを示す模式図である。
【図２１】表示装置が一つのフレームに複数のオブジェクトを表示する場合において、立体視映像の写真／動画をオブジェクトのＣＧ映像にマッピングして右目用と左目用との各フレームを作成する処理のフローチャートである。
【図２２】オブジェクトの形状データが２Ｄデータである場合に、表示装置が写真／動画も平面視映像としてそのオブジェクトの平面視ＣＧ映像にマッピングする処理のフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の好適な実施形態について、図面を参照しながら説明する。
【００２０】
《実施形態１》
［表示装置の構成］
図１は、本発明の実施形態１による表示装置の機能ブロック図である。この表示装置はデジタルテレビ受像器である。表示装置10はその他に、携帯電話機、携帯情報端末、パーソナルコンピュータ、デジタルスチルカメラ、デジタルビデオカメラ、カーナビゲーション・システム等、多様な電子機器に組み込まれたものであってもよい。図１を参照するに、表示装置10は、映像データの入力部、操作部140、システムバス150、ＣＧ映像合成部160、表示部170，及び左右信号送信部180を備えている。映像データの入力部は、受信部100、光ディスクドライブ110、カードリーダ120、及びハードディスクドライブ（ＨＤＤ）130を含む。
【００２１】
受信部100は、アンテナ190又はケーブルテレビ等の外部ネットワーク191を通して地上デジタルテレビ放送波を受信する。受信部100は更に、その放送波から所望のチャネルの映像データを抽出してＣＧ映像合成部160へ送出する。光ディスクドライブ110は表示装置10に内蔵され、ＤＶＤ又はＢＤ（Blu−rayDisc、ブルーレイ・ディスク（登録商標））等の光ディスク192から映像データを読み出してＣＧ映像合成部160へ送出する。光ディスクドライブ110はその他に、表示装置10に外付けされた単体のもの、又は光ディスク再生装置に内蔵されたものであってもよい。カードリーダ120は、ＳＤカード等の半導体メモリカード193から映像データを読み出してＣＧ映像合成部160へ送出する。ＨＤＤ130は表示装置10に内蔵され、受信部100、光ディスクドライブ110、又はカードリーダ120から送出される映像データを保存する。また、ＨＤＤ130は、保存された映像データをＣＧ映像合成部160へ送出する。
【００２２】
操作部140は、リモコン194又は表示装置10のフロントパネルを通してユーザの操作を検出し、その操作の種類に対応する処理をＣＧ映像合成部160へ依頼する。ここで、リモコン105は複数のボタンを含む。各ボタンは、表示装置10の電源のオンオフ、選局、又は音量の調節等、表示装置10の各機能に対応付けられている。リモコン194はユーザによる各ボタンの押下を検出し、そのボタンの識別情報を赤外線又は無線による信号IRで表示装置10へ伝える。操作部140はその信号IRから、識別情報の示すボタンに対応付けられた機能を特定してＣＧ映像合成部160へ通知する。
【００２３】
システムバス150は、映像データの入力部100−130と操作部140とをＣＧ映像合成部160へデータ交換可能に接続する。システムバス150はＰＣＩ−Ｅｘｐｒｅｓｓ規格に準拠している。システムバス150はその他に、ＰＣＩ規格又はＡＧＰ規格に準拠していてもよい。図１には示されていないが、システムバス150はチップセットを含む。そのチップセットは特に、入力部100−130から送出される映像データを、ＣＧ映像合成部160が処理可能な形式へ変換する。
【００２４】
ＣＧ映像合成部160は制御部161とレンダリング部162とを含む。制御部161とレンダリング部162とはそれぞれ、一つの集積回路に実装されている。各集積回路は専用回路として構成されても、汎用のプロセッサを利用して構成されていてもよい。その他に、制御部161とレンダリング部162とが一つのＬＳＩに集約されていてもよい。
【００２５】
制御部161は、ファームウェア等のプログラムに従って、表示装置10の各機能部を制御する。制御部161は特にレンダリング部162を制御して、入力部100−130から受信される映像データの表す映像をオブジェクトのＣＧ映像にマッピングさせる。
【００２６】
図１を参照するに、制御部161は判断部161Aとメモリ部161Bとを含む。判断部161Aは、映像データが立体視映像を表す場合、オブジェクトが立体視映像のマッピングに適しているか否かを、そのオブジェクトの形状データから判断する。「形状データ」とは、オブジェクトの形状を表すデータをいう。メモリ部161Bは制御部161に内蔵のメモリ装置であって、ファームウェア等のプログラムを保存し、かつ、作業用メモリ領域として利用される。メモリ部161Bはその他に、オブジェクトの形状データを保存し、また、入力部100−130からマッピング対象の映像データを取得して一時的に保持する。映像データが立体視映像を表す場合、その立体視映像を表す左目用と右目用との映像データの対がメモリ部161Bによって保持される。
【００２７】
レンダリング部162は制御部161に従って、映像データをメモリ部162Aからフレーム・バッファ162Bに転送する処理（ｂｉｔＢＬＴ）を行い、かつ、スケーリング、ＣＧによる視覚効果等、様々な処理を映像データに施す。レンダリング部162は特に、その映像データの表す映像をオブジェクトのＣＧ映像にマッピングする。図１を更に参照するに、レンダリング部162は、マッピング部162A、フレーム・バッファ162B、及び出力部162Cを含む。マッピング部162Aは、判断部161Aによる判断結果に応じて、メモリ部161Bに保持された左目用又は右目用の映像データをオブジェクトの形状データに合成する。具体的には、オブジェクトが立体視映像のマッピングに適していると判断部161Aが判断した場合、マッピング部162Aは、左目用の映像データを形状データに合成して左目用のＣＧデータを作成すると共に、右目用の映像データを形状データに合成して右目用のＣＧデータを作成する。一方、オブジェクトが立体視映像のマッピングに適していないと判断部161Aが判断した場合、右目用の映像データのみを形状データに合成して左目用のＣＧデータと右目用のＣＧデータとを作成する。それらの詳細については後述する。フレーム・バッファ162Bはレンダリング部162に内蔵のメモリ素子の一領域であって、マッピング部162Aによって合成されたＣＧデータを１フレームずつ保持する。出力部162Cはフレーム・バッファ162Bからフレームを読み出して、ＮＴＳＣ、ＰＡＬ、又はＳＥＣＡＭの出力形式に変換して表示部170へ送出する。出力部162Cはまた、映像データに様々な処理を施す。その処理の種類には、スケーリング、ＩＰ変換、ノイズ・リダクション、及びフレームレート変換が含まれる。スケーリングは、映像のサイズを拡大／縮小する処理である。ＩＰ変換は、プログレッシブ方式とインターレース方式との間で走査方式を変換する処理である。ノイズ・リダクションは、映像からノイズを除去する処理である。フレームレート変換は、フレームレートを変換する処理である。
【００２８】
表示部170は、ＣＧ映像合成部160によって作成されたフレームを表示パネル172に表示させる。表示部170は、特に映像データが立体視映像を表す場合、左目用のＣＧデータの表す左目用のＣＧ映像と、前記右目用のＣＧデータの表す右目用のＣＧ映像とを交互に表示パネル172に表示させる。図１を参照するに、表示部170は表示駆動部171と表示パネル172とを含む。表示駆動部171は出力部162Cからの信号に従って表示パネル172を制御する。表示パネル172は液晶表示パネル（ＬＣＤ）である。表示パネル172はその他に、プラズマ表示パネル、有機ＥＬ表示パネル等、他方式のものであってもよい。
【００２９】
左右信号送信部180は左右信号LRを赤外線又は無線でシャッター眼鏡195へ送出する。左右信号LRは、現時点で表示パネル172の画面に表示される映像が左目用と右目用とのいずれのフレームであるかを示す。立体視映像の再生時、制御部161は、映像データに付随する同期信号等の制御信号や補助データから左目用のフレームと右目用のフレームとを識別することによって、フレームの切り換えを検知する。制御部161は更に左右信号送信部180に、検知されたフレームの切り換えに同期して左右信号LRを変化させる。シャッター眼鏡195は二枚の液晶表示パネル195L、195Rと左右信号受信部とを含む。各液晶表示パネル195L、195Rは左右の各レンズ部分を構成している。左右信号受信部は左右信号LRを受信し、その変化に応じて左右の液晶表示パネル195L、195Rに、光をその全体で一様に透過させ、又は遮断させる。特に左右信号LRが左目用フレームの表示を示すとき、左目側の液晶表示パネル195Lは光を透過させ、右目側の液晶表示パネル195Rは光を遮断する。左右信号LRが右目用フレームの表示を示すときはその逆である。このように、二枚の液晶表示パネル195L、195Rはフレームの切り換えと同期して交互に光を透過させる。その結果、視聴者がシャッター眼鏡195をかけて表示パネル172の画面を見たとき、左目用フレームはその視聴者の左目だけに映り、右目用フレームはその右目だけに映る。そのとき、その視聴者には、各目に映る映像間の違いが同じ立体的物体に対する両眼視差として知覚されるので、その映像が立体的に見える。
【００３０】
［ＣＧ映像合成部の構成］
図２は、ＣＧ映像合成部160のハードウェア構成を示すブロック図である。図２を参照するに、制御部161は、第１内部バス210、第１入出力インタフェース（Ｉ／Ｏ）211、ＣＰＵ212、及びメインメモリ213を含む。レンダリング部162は、出力部162Cの他に、第２内部バス220、第２Ｉ／Ｏ221、グラフィックス処理専用プロセッサ（ＧＰＵ：Graphic Processor Unit）222、及びビデオメモリ（ＶＲＡＭ）223を含む。
【００３１】
第１内部バス210は制御部161の機能部211、212、213の間をデータ交換可能に接続する。第１Ｉ／Ｏ211は、第１内部バス210をシステムバス150に接続するバスブリッジである。Ｉ／Ｏ211はＰＣＩ−Ｅｘｐｒｅｓｓ規格に準拠している。第１Ｉ／Ｏ211はその他にＰＣＩ規格又はＡＧＰ規格に準拠していてもよい。
【００３２】
ＣＰＵ212は、メインメモリ213に記憶されているプログラムを実行し、そのプログラムに従ってレンダリング部162に処理対象の映像データを与え、かつ、レンダリング部162の各機能部の動作を制御する。ＣＰＵ212は特にレンダリング部162に、メインメモリ213からＶＲＡＭ223へ映像データを転送させる。ＣＰＵ212は更に、図１に示されている判断部161Aとして機能する。
【００３３】
メインメモリ213はシンクロナスＤＲＡＭ（ＳＤＲＡＭ）であり、好ましくは、ＤＤＲ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ）−ＳＤＲＡＭである。メインメモリ213は、図１に示されているメモリ部161Bとして利用される。
【００３４】
第２内部バス220はレンダリング部162の機能部221、222、162C、223の間をデータ交換可能に接続する。第２Ｉ／Ｏ221は、第２内部バス220をシステムバス150に接続するバスブリッジである。第２Ｉ／Ｏ221はＰＣＩ−Ｅｘｐｒｅｓｓ規格に準拠している。第２Ｉ／Ｏ221はその他にＰＣＩ規格又はＡＧＰ規格に準拠していてもよい。
【００３５】
ＧＰＵ222は、グラフィックス表示に必要な演算処理に特化したチップ等の論理回路である。ＧＰＵ222の行うＣＧ処理にはジオメトリ処理とレンダリング処理とがある。ジオメトリ処理では幾何学的演算、特に座標変換により、３Ｄ仮想空間の中に配置された各オブジェクトを２Ｄ画面に投影したときの配置が決定される。レンダリング処理では、ジオメトリ処理で決定された２Ｄ画面上での各オブジェクトの配置に基づき、表示パネル172の画面に実際に表示されるべき映像を表す映像データが作成される。レンダリング処理には、隠面消去、シェーディング、シャドウイング、テクチャ・マッピング等が含まれる。ＧＰＵ222は特に、図１に示されているマッピング部162Aとして機能する。
【００３６】
図２を参照するに、ＧＰＵ222は頂点シェーダ222Aとピクセル・シェーダ222Bとを含む。頂点シェーダ222Aはジオメトリ処理専用の演算器であり、ジオメトリ処理に必要な幾何学的演算、特に座標変換に関する演算に利用される。頂点シェーダ222Aは、幾何学的演算の種類別に用意された演算器であっても、プログラムによって種々の幾何学的演算を処理可能な演算器であってもよい。ピクセル・シェーダ222Bはレンダリング処理専用の演算器であり、レンダリング処理に必要な各画素の色情報、すなわちピクセル・データの処理に関する演算に利用される。ピクセル・シェーダ222BはＶＲＡＭ223から映像データを画素単位で読み出し、その成分間の和及び積を画素単位で計算する。ピクセル・シェーダ222Bは、ピクセル・データの処理に関する演算の種類別に用意された演算器であっても、プログラムによって種々の演算を画素単位で処理可能な演算器であってもよい。更に、一つのプログラム可能な演算器が、プログラムに応じて、頂点シェーダ222Aとピクセル・シェーダ222Bとの両方として使い分けられてもよい。
【００３７】
ＶＲＡＭ223は、レンダリング部162に内蔵のＳＤＲＡＭであり、好ましくはＤＤＲ−ＳＤＲＡＭ又はＧＤＤＲ（Ｇｒａｐｈｉｃ−ＤＤＲ）−ＳＤＲＡＭである。ＶＲＡＭ223は特に、図１に示されているフレーム・バッファ162Bを含む。フレーム・バッファ162Bに含まれるＶＲＡＭ223のメモリセルがそれぞれ表示パネル172の一つの画素に対応付けられ、その画素についてのピクセル・データを記憶する。
【００３８】
［ＣＧ映像合成部の動作］
表示装置10は、図１、２に示されている要素を利用して、ビューワー機能又はスライドショー機能に立体視効果を与える。具体的には、表示装置10は入力部100−130を通して立体視映像の写真／動画を取得し、ＣＧ映像合成部160を利用してその写真／動画をオブジェクトのＣＧ映像にマッピングして表示パネル172の画面に表示する。そのとき、実施形態１による表示装置10は、以下に説明するように、マッピング先のオブジェクトの形状に応じてマッピング対象の写真／動画の表す映像を立体視映像と平面視映像との間で切り換える。
【００３９】
図３は、表示装置10が立体視映像の写真／動画をオブジェクトのＣＧ映像にマッピングして右目用と左目用との各フレームを作成する処理のフローチャートである。表示装置10は、操作部140を通してビューワー機能又はスライドショー機能の実行をユーザに指示されたときに、この処理を開始する。ステップＳ１１では、表示装置10は、入力部100−130を通して取得された立体視映像の写真／動画から右目用のフレームを作成する。続くステップＳ１２では、表示装置10はそれらの写真／動画から左目用のフレームを作成する。ステップＳ１１、Ｓ１２で作成されたフレームのデータは表示部170へ送出される。表示部170はそれらのフレームを交互に、表示パネル172の画面に表示する。それらのフレームの切換と同期して、制御部161は左右信号送信部180に左右信号LRの状態を切り換えさせる。続くステップＳ１３では、表示装置10は、それらの写真／動画の中に次のフレームが存在するかを調べる。次のフレームが存在する場合、処理はステップＳ１１から繰り返される。次のフレームが存在しない場合、処理は終了する。
【００４０】
［オブジェクトの形状データ］
形状データの種類には２Ｄデータと３Ｄデータとがある。２Ｄデータはオブジェクトの２Ｄ画面上での形状を表す。３Ｄデータはオブジェクトの３Ｄ仮想空間内での形状を表す。
【００４１】
形状データはオブジェクトの形状を、「ポリゴン」と呼ばれる三角形の集合体で表す。その集合体の表現形式は三つに分類される。図４の（ａ）−（ｃ）は、それら三つの表現形式を示す模式図である。図４の（ａ）−（ｃ）を参照するに、いずれの表現形式においても、ポリゴンP0、P1、P2、…はそれぞれ、三つの頂点Ve[m]（m＝0、1、2、…）を含む。各頂点Ve[m]には、「インデックス」と呼ばれるシリアル番号mが０から順に一つずつ割り当てられている。形状データは、各フレームに表示されるポリゴンの集合を、各頂点Ve[m]の座標と、各ポリゴンの含む頂点のインデックスとで規定する。各頂点Ve[m]の座標は、２Ｄデータでは２Ｄベクトル（ｘ,ｙ）で表され、３Ｄデータでは３Ｄベクトル（ｘ，ｙ，ｚ）で表される。その他に、各頂点Ve[m]の座標が４次元同次座標（ｘ，ｙ，ｚ，１）で表されてもよい。
【００４２】
図４の（ａ）に示されている七つのポリゴンP0、P1、P2、…、P6は、「三角形ストリップ」と呼ばれる第１の表現形式で表される。三角形ストリップP0−P7は、隣接する二つのポリゴンが一辺を共有するように連結されたものである。例えば、第１ポリゴンP0と第２ポリゴンP1とは、２番目の頂点Ve[1]と３番目の頂点Ve[2]とを結ぶ辺L0を共有し、第２ポリゴンP1と第３ポリゴンP2とは、３番目の頂点Ve[2]と４番目の頂点Ve[3]とを結ぶ辺L1を共有している。図４の（ｂ）に示されている四つのポリゴンP0、P1、P2、P3は、「三角形ファン」と呼ばれる第２の表現形式で表される。三角形ファンP0−P3は、複数のポリゴンが一つの頂点Ve[0]を共有するように連結されたものである。形状データは三角形ストリップと三角形ファンとを次のように規定する。まず、第１ポリゴンP0が三つの頂点Ve[0]、Ve[1]、Ve[2]で定義される。次に、他のポリゴンP1、P2、…が、既出の頂点とは異なる一つの頂点で定義される。例えば、第２ポリゴンP1は４番目の頂点Ve[3]で定義され、第３ポリゴンP2は５番目の頂点Ve[4]で定義される。
【００４３】
図４の（ｃ）に示されている七つのポリゴンP0、P1、P2、…、P6は、「三角形メッシュ」と呼ばれる第３の表現形式で表される。三角形メッシュは、いずれのポリゴンも三つの頂点Ve[p]、Ve[q]、Ve[r]のインデックスの組（p、q、r）で定義したものである。例えば、第１ポリゴンP0は、１番目の頂点Ve[0]、２番目の頂点Ve[1]、３番目の頂点Ve[2]のインデックスの組（0、1、2）で定義され、第２ポリゴンP1は、１番目の頂点Ve[0]、３番目の頂点Ve[2]、４番目の頂点Ve[3]のインデックスの組（0、2、3）で定義される。
【００４４】
形状データは更に、各頂点に与えられた属性値を含む。その属性値には法線ベクトルとテクスチャ座標とが含まれる。法線ベクトルは、その頂点を共有するポリゴンの法線ベクトルを平均したものである。この法線ベクトルはポリゴンの照度の計算に利用される。テクスチャ座標は、ポリゴンにマッピングされる平面視映像、すなわちテクスチャの中で、その頂点にマッピングされる部分の２Ｄ座標を表す。尚、形状データには、法線ベクトルに代えて頂点カラー値が含まれていてもよい。頂点カラー値は各頂点の色座標値を表す。形状データには更に、頂点シェーダ222Aで処理される任意の属性が含まれていてもよい。
【００４５】
［右目用フレームの作成］
図５は、図１に示されているステップＳ１１、すなわち、表示装置10が右目用のフレームを作成する処理のフローチャートである。
【００４６】
ステップＳ２１では、制御部161はメモリ部161Bに各オブジェクトの形状データを用意する。その後、処理はステップＳ２２へ進む。
【００４７】
ステップＳ２２では制御部161は、入力部100−130を通して受信される映像データから右目用の映像データと右目用のカメラ・パラメータとを取得する。カメラ・パラメータは、映像データに付与された補助データに含まれたパラメータであって、その映像データを撮影する際のカメラの位置、向き、画角を表す。カメラ・パラメータは特に座標変換行列を含む。その座標変換行列は、視聴者の視点と視方向とを規定するものとして、視野座標変換に利用される。「視野座標変換」とは、グローバル座標系から視野座標系への変換をいう。「グローバル座標系」とは、３Ｄ仮想空間内に定義された直交座標系をいう。「視野座標系」とは、３Ｄ仮想空間内のオブジェクトを投影する２Ｄ画面上で直交する二つの軸と、その画面に垂直な軸とで構成される直交座標系をいう。ポリゴンの頂点の座標が４次元同次座標で表される場合、カメラ・パラメータの表す座標変換行列は４×４の行列で表現される。立体視映像のデータには、視聴者の左目の視点を規定する左目用カメラ・パラメータと、右目の視点を規定する右目用カメラ・パラメータとが付与されている。制御部161は映像データから右目用のカメラ・パラメータを抽出してメモリ部161Bに格納する。一方、制御部161は映像データから右目用の映像データを抽出してマッピング部162Aへ送出する。その後、処理はステップＳ２３へ進む。
【００４８】
図６は、視野座標変換を表す模式図である。図６を参照するに、オブジェクトOBJが配置される３Ｄ仮想空間にグローバル座標系（ｘ，ｙ，ｚ）が定義され、左目用２Ｄ画面SCLと右目用２Ｄ画面SCRとのそれぞれに視野座標系（ｕ，ｖ，ｎ）が定義される。各画面SCL、SCRは、視聴者の各目の視点VPL、VPRから見える画面を表す。各画面SCL、SCRに対して垂直なｎ軸は、各画面SCL、SCRから各視点VPL、VPRへ向かう。オブジェクトOBJの各頂点のグローバル座標（ｘ，ｙ，ｚ）は、左目用カメラ・パラメータを利用して、左目用２Ｄ画面SCLへ投影されたそのオブジェクトOBLの頂点の視野座標（ｕ，ｖ，ｎ）へ変換され、右目用カメラ・パラメータを利用して、右目用２Ｄ画面SCLへ投影されたそのオブジェクトOBRの頂点の視野座標（ｕ，ｖ，ｎ）へ変換される。
【００４９】
図５を再び参照するに、ステップＳ２３では、判断部161Aは、メモリ部161Bに用意されたオブジェクトの形状データを参照し、その形状データが２Ｄデータであるか否かを判別する。形状データが２Ｄデータである場合、処理はステップＳ２４へ進み、形状データが２Ｄデータでない場合、処理はステップＳ２５へ進む。
【００５０】
ステップＳ２４では、判断部161Aはテクスチャ・モードを“左目用”に設定する。テクスチャ・モードは、ステップＳ１２で左目用のフレームを作成する際に参照される環境変数であり、オブジェクトの左目用のＣＧ映像にマッピングされるべき映像が左目用と右目用とのいずれの写真／動画であるかを規定する。オブジェクトが２Ｄ形状である場合、その上にマッピングされた立体視映像は正しく立体的に見える。ステップＳ２４ではオブジェクトの形状データが２Ｄデータであるので、オブジェクトの左目用のＣＧ映像に左目用の写真／動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理はステップＳ２６へ進む。
【００５１】
ステップＳ２５では、形状データは３Ｄデータであるので、判断部161Aは、オブジェクトの形状データから、そのオブジェクトの形状が立体視映像のマッピングに適しているか否かを更に判断する。判断部161Aはその判断結果に応じてテクスチャ・モードを設定する。その判断の詳細については後述する。ステップＳ２５の後、処理はステップＳ２６へ進む。
【００５２】
ステップＳ２６では、制御部161はレンダリング部162に右目用カメラ・パラメータを利用させて、オブジェクトの形状データに視野座標変換を施させる。具体的には、制御部161はレンダリング部162に、まず、形状データの表す頂点の座標値を４次元同次座標値に変換させる。形状データが２Ｄデータである場合、（ｉ＋１）番目の頂点Ve[i]（i＝0、1、2、…）の２Ｄ座標値（x[i],y[i])T（文字“T”は転置を表す。）は４次元同次座標値Vh[i]＝(x[i],y[i],0,1)Tに変換される。形状データが３Ｄデータである場合、（ｉ＋１）番目の頂点Ve[i]（i＝0、1、2、…）の３Ｄ座標値（x[i],y[i],z[i])Tは４次元同次座標値Vh[i]＝(x[i],y[i],z[i],1)Tに変換される。次に、制御部161はレンダリング部162に、右目用カメラ・パラメータの表す座標変換行列Mvと各頂点の４次元同次座標値Vh[i]＝(x[i],y[i],z[i],1)Tとの積Mv＊Vh[i]を計算させる（演算子“＊”は行列と列ベクトルとの積を表す）。これらの演算には頂点シェーダ222Aが利用される。その後、処理はステップＳ２７へ進む。
【００５３】
ステップＳ２６では、２Ｄデータも４次元同次座標に変換しているが、その限りではない。２Ｄデータに対しては２次元座標変換しか行わないことが予め明らかである場合、２Ｄデータを２次元座標で表したままで処理してもよい。
【００５４】
ステップＳ２７では、制御部161はマッピング部162Aに、視野座標値で表された形状データを利用させて、右目用の写真／動画をオブジェクトのＣＧ映像にマッピングさせる。そのマッピング処理の詳細については後述する。こうして、右目用の写真／動画がオブジェクトのＣＧ映像に合成されて、右目用のフレームが作成される。
【００５５】
［立体視映像のマッピングの適否判断］
図７は、図５に示されているステップＳ２５のフローチャートである。ステップＳ２５では、オブジェクトの形状が立体視映像のマッピングに適しているか否かを判断部161Aが判断する。本発明の実施形態１では、判断部161Aはその適否判断に、以下のように、オブジェクトの表面の曲率を利用する。
【００５６】
ステップＳ３１では、判断部161Aはレンダリング部162にオブジェクトの３Ｄデータを参照させて、各ポリゴンPkの法線ベクトルN[k]を算定させる（k＝0、1、2、3、…）。その具体的な算定方法については後述する。その後、処理はステップＳ３２へ進む。
【００５７】
ステップＳ３２では、判断部161Aはレンダリング部162に、各ポリゴンPkの法線ベクトルN[k]からオブジェクトの表面の曲率を評価させる。その具体的な評価方法については後述する。その後、処理はステップＳ３３へ進む。
【００５８】
ステップＳ３３では、判断部161Aは、ステップＳ３２で評価された曲率値を所定の閾値と比較して、その閾値以上であるか否かを判別する。ここで、その閾値は、オブジェクトの表面の曲率を０から徐々に増大させた場合、その表面にマッピングされた立体視映像が立体的には見えなくなるときの曲率値を表す。その閾値は制御部161により、予めメモリ部161Bに保存されている。曲率がその閾値以上である場合、処理はステップＳ３４へ進み、その閾値未満である場合、処理はステップＳ３５へ進む。
【００５９】
ステップＳ３４では、判断部161Aはテクスチャ・モードを“右目用”に設定する。オブジェクトの表面の曲率は閾値以上であるので、その表面にマッピングされた立体視映像は立体的には見えない。従って、オブジェクトの左目用のＣＧ映像に、右目用のＣＧ映像と同じ右目用の写真／動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図５に示されているステップＳ２６へ進む。
【００６０】
ステップＳ３５では、判断部161Aはテクスチャ・モードを“左目用”に設定する。オブジェクトの表面の曲率は閾値未満であるので、その表面にマッピングされた立体視映像は正しく立体的に見える。従って、オブジェクトの左目用のＣＧ映像に左目用の写真／動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図５に示されているステップＳ２６へ進む。
【００６１】
［ポリゴンの法線ベクトルの算定］
図７に示されているステップＳ３１では、各ポリゴンの法線ベクトルが次の二つの方法のいずれかで算定される。
【００６２】
第１の方法は、各頂点の座標値から各ポリゴンの法線ベクトルを算定する。具体的には、一つのポリゴンP0を構成する３個の頂点Ve[0]、Ve[1]、Ve[2]の４次元同次座標値が次のとおりである場合を想定する：Vh[0]＝(x[0],y[0],z[0],1)T、Vh[1]＝(x[1],y[1],z[1],1)T、Vh[2]＝(x[2],y[2],z[2],1)T。その場合、まず、１番目の頂点Ve[0]から２番目の頂点Ve[1]へ向かう第１ベクトルv0と、１番目の頂点Ve[0]から３番目の頂点Ve[2]へ向かう第２ベクトルv1とをそれぞれ、次の３次元ベクトル値で表す：v0＝(x[1]−x[0],y[1]−y[0],z[1]−z[0])、v1＝(x[2]−x[0],y[2]−y[0],z[2]−z[0])。次に、それらのベクトル値v0、v1からポリゴンP0の法線ベクトルN[0]を次式で求める：N[0]＝Normalize(v0×v1)。ここで、演算子“×”はベクトル積を表す。関数“Normalize(V)”はベクトルVの正規化を表し、次式で定義される：Normalize(V)＝V／｜V｜（演算子“｜・｜”はベクトルの長さを表す）。従って、法線ベクトルN[0]の長さは１に等しい。
【００６３】
第２の方法は、３Ｄデータが各頂点の属性として法線ベクトルを規定している場合、その法線ベクトルから各ポリゴンの法線ベクトルを算定する。具体的には、一つのポリゴンP0を構成する３個の頂点Ve[0]、Ve[1]、Ve[2]にそれぞれ、法線ベクトルNe[0]、Ne[1]、Ne[2]が規定されている場合を想定する。その場合、まず、各法線ベクトルNe[i]（i＝0、1、2、3）を視野座標系での表現Nh[i]に変換する。すなわち、右目用カメラ・パラメータの表す座標変換行列Mvの逆行列の転置と各法線ベクトルNe[i]との積Nh[i]を求める：Nh[i]＝Mv-T＊Ne[i]。次に、それらの法線ベクトルNh[i]の平均値N[0]を次式で求める：N[0]＝Normalize{(Nh[0]＋Nh[1]＋Nh[2])／3}。ここで、演算子“＋”はベクトル和を表し、演算子“／”はベクトルの成分ごとの商を表す。法線ベクトルN[0]の長さは１に等しい。
【００６４】
尚、各ポリゴンの法線ベクトルの算定には、上記二つの方法以外が利用されてもよい。例えば、第２の方法と同様にして求められた法線ベクトルNh[i]のいずれか一つが、ポリゴンP0の法線ベクトルN[0]として選択されてもよい。
【００６５】
［オブジェクトの表面の曲率の評価］
図７に示されているステップＳ３２では、オブジェクトの表面の曲率が、（１）隣接する二つのポリゴンの法線ベクトルの成す角度、又は、（２）ポリゴンの法線ベクトルの各成分の最大値のいずれかを利用して評価される。
【００６６】
（１）オブジェクトの表面の曲率が、隣接する二つのポリゴンの法線ベクトルの成す角度から評価される場合、各角度の算定順は、以下に示すように、オブジェクトの表面を構成するポリゴンの集合体の表現形式に合わせて決定される。
【００６７】
図８の（ａ）は、図４の（ａ）に示されている三角形ストリップでポリゴンの集合体が表現されている場合を示す模式図である。その場合、まず、１番目のポリゴンの法線ベクトルN[0]と２番目のポリゴンの法線ベクトルN[1]との成す角度θ[0]が次式で算定される：θ[0]＝arccos(N[0]・N[1]／｜N[0]｜｜N[1]｜)。ここで、演算子“・”はベクトルの内積を表す。次に、２番目のポリゴンの法線ベクトルN[1]と３番目のポリゴンの法線ベクトルN[2]との成す角度θ[1]が次式で算定される：θ[1]＝arccos(N[1]・N[2]／｜N[1]｜｜N[2]｜)。以下、同様にして、隣接する二つのポリゴンの法線ベクトルN[i]、N[i＋1]の成す角度θ[i]が算定される（i＝0、1、2、…、P−2)。ここで、文字Pは、三角形ストリップを構成するポリゴンの総数を表す。続いて、法線ベクトルの成す角度θ[i]の平均値が、その三角形ストリップで構成されるオブジェクトの表面部分の曲率Cとみなされる：C＝(θ[0]＋θ[1]＋…＋θ[P−2])／(P−2)。その他に角度θ[i]の最大値がその表面部分の曲率Cとみなされてもよい：C＝max(θ[0]、θ[1]、…、θ[P−2])。
【００６８】
図８の（ｂ）は、図４の（ｂ）に示されている三角形ファンでポリゴンの集合体が表現されている場合を示す模式図である。その場合、まず、１番目のポリゴンの法線ベクトルN[0]と２番目のポリゴンの法線ベクトルN[1]との成す角度θ[0]が次式で算定される：θ[0]＝arccos(N[0]・N[1]／｜N[0]｜｜N[1]｜)。以下、同様にして、隣接する二つのポリゴンの法線ベクトルN[i]、N[i＋1]の成す角度θ[i]が算定される（i＝0、1、2、…、P−2、又はP−1)。ここで、文字Pは、三角形ファンを構成するポリゴンの総数を表す。三角形ファンが開いている場合、角度θ[i]は（Ｐ−１）種類であり、三角形ファンが閉じている場合、角度θ[i]はＰ種類である。続いて、法線ベクトルの成す角度θ[i]の平均値が、その三角形ファンで構成されるオブジェクトの表面部分の曲率Cとみなされる：C＝(θ[0]＋θ[1]＋…＋θ[Q])／Q（Q＝P−2、又はP−1)。その他に、角度θ[i]の最大値がオブジェクトの表面の曲率Cとみなされてもよい：C＝max(θ[0]、θ[1]、…、θ[Q])。
【００６９】
図８の（ｃ）は、図４の（ｃ）に示されている三角形メッシュでポリゴンの集合体が表現されている場合を示す模式図である。その場合、判断部161Aはまず、オブジェクトの３Ｄデータを参照してポリゴン・バッファをメモリ部161Bに構成する。
【００７０】
「ポリゴン・バッファ」は、各ポリゴンを定義するインデックスの組とそのポリゴンの法線ベクトルとの対応表である。図９は、ポリゴン・バッファの一例を示す表である。図９を参照するに、各ポリゴンには固有のＩＤとして、シリアル番号０、１、２、…、Ｐ−１が１つずつ割り当てられている。ここで、文字Ｐは、オブジェクトの一つの表面を構成するポリゴンの総数を表す。各ポリゴンＩＤに、対応するポリゴンを構成する頂点のインデックスの組と、そのポリゴンの法線ベクトルとが一つずつ対応付けられている。例えば、ポリゴンＩＤ＝０にはインデックスの組（０，１，２）と法線ベクトルN[0]＝(N[0]x，N[0]y，N[0]z)とが対応付けられ、ポリゴンＩＤ＝１にはインデックスの組（０，３，６）と法線ベクトルN[1]＝(N[1]x，N[1]y，N[1]z)とが対応付けられている。
【００７１】
判断部161Aは次に、ポリゴン・バッファの中からインデックスの組を一つ選択し、その組を構成する３個のインデックスのいずれか２個を含む別の組をポリゴン・バッファから検索する。例えば、図９に示されているポリゴンＩＤ＝０のインデックスの組（０，１，２）が選択された場合、ポリゴンＩＤ＝２のインデックスの組（０，２，３）が検索される。それらの２組ではインデックス“０”、“２”が重複している。図８の（ｃ）を参照するに、それらのインデックスの重複は次のことを表す：ポリゴンＩＤ＝０のポリゴンP0とポリゴンＩＤ＝１のポリゴンP1とは、１番目の頂点Ve[0]と３番目の頂点Ve[2]とを結ぶ辺L0を共有する。
【００７２】
判断部161Aは続いて、インデックスの各組に対応付けられた法線ベクトルをポリゴン・バッファから検索し、それらの法線ベクトルの成す角を算定する。図８の（ｃ）、図９の例では、ポリゴンＩＤ＝０、２のそれぞれに対応付けられた法線ベクトルN[0]＝(N[0]x，N[0]y，N[0]z)、N[2]＝(N[2]x，N[2]y，N[2]z)の成す角度θ[0]が求められる：θ[0]＝arccos(N[0]・N[2]／｜N[0]｜｜N[2]｜)。
【００７３】
以下、同様にして、ポリゴン・バッファの中からインデックスの組が一つ選択される度に、その組の頂点で構成されるポリゴンと一辺を共有するポリゴンが検索され、それらのポリゴンの法線ベクトルの成す角度θ[k]（k＝0、1、2、…、M−1）が算定される（文字Mは、角度θ[k]の総数を表す）。その後、判断部161Aはそれらの角度θ[k]の平均値又は最大値をオブジェクトの表面の曲率Cとみなす。
【００７４】
（２）判断部161Aは、ポリゴンの法線ベクトルの各成分の最大値を利用してオブジェクトの表面の曲率を評価する場合、まず、ステップＳ３１で算定された法線ベクトルのいずれか一つを選択して、そのｘ軸成分を最大値maxNxとして想定する。判断部161Aは次に、別の法線ベクトルを選択して、そのｘ軸成分Nxを最大値maxNxと比較する。そのｘ軸成分Nxが最大値maxNxよりも大きい場合、判断部161Aはそのｘ軸成分Nxで最大値maxNxを置き換える。この処理が、オブジェクトの一つの表面を構成する全てのポリゴンの法線ベクトルについて繰り返されることにより、ｘ軸成分の真の最大値が求められる。同様にして、法線ベクトルのｙ軸成分の最大値maxNyとｚ軸成分の最大値maxNzとが求められる。判断部161Aは続いて、各軸成分の最大値を成分とするベクトルNmax＝(maxNx,maxNy,maxNz)の長さ｜Nmax｜＝sqrt(maxNx2＋maxNy2＋maxNz2)をオブジェクトの表面の曲率Cとみなす。
【００７５】
［左目用フレームの作成］
図１０は、図３に示されているステップＳ１２のフローチャートである。ステップＳ１２では、表示装置10が、以下のように、左目用のフレームを作成する。
【００７６】
ステップＳ４１では、制御部161はメモリ部161Bからテクスチャ・モードを読み出して、それが“左目用”に設定されているか否かを判別する。そのテクスチャ・モードが“左目用”に設定されている場合、処理はステップＳ４２へ進み、設定されていない場合、ステップＳ４３へ進む。
【００７７】
ステップＳ４２では、テクスチャ・モードが“左目用”に設定されているので、オブジェクトの左目用のＣＧ映像には左目用の写真／動画がマッピングされるべきである。従って、制御部161は、入力部100−130を通して受信される映像データから左目用の映像データを抽出してマッピング部162Aへ送出する。その後、処理はステップＳ４３へ進む。
【００７８】
ステップＳ４３では、制御部161は映像データから左目用のカメラ・パラメータを抽出してメモリ部161Bに格納する。その後、処理はステップＳ４４へ進む。
【００７９】
ステップＳ４４では、制御部161はレンダリング部162に左目用カメラ・パラメータを利用させて、オブジェクトの形状データに視野座標変換を施させる。その後、処理はステップＳ４５へ進む。
【００８０】
ステップＳ４５では、制御部161はマッピング部162Aに、視野座標値で表された形状データを利用させて、写真／動画をオブジェクトのＣＧ映像にマッピングさせる。テクスチャ・モードが“左目用”に設定されている場合、ステップＳ４２により、マッピング処理には左目用の映像データが利用される。一方、テクスチャ・モードが“右目用”に設定されている場合、マッピング部162Aには左目用の映像データは送出されないので、マッピング処理には既存の右目用の映像データが利用される。マッピング処理の詳細については後述する。こうして、テクスチャ・モードが“左目用”に設定されている場合には左目用の写真／動画がオブジェクトのＣＧ映像に合成され、テクスチャ・モードが“右目用”に設定されている場合には右目用の写真／動画がオブジェクトのＣＧ映像に合成される。その合成映像が左目用のフレームとして送出される。
【００８１】
［マッピング処理の詳細］
図１１は、図５に示されているステップＳ２７、及び図１０に示されているステップＳ４５のフローチャートである。ステップＳ２７とステップＳ４５とでは処理対象のデータは異なる。しかし、いずれのステップも具体的な処理は共通である。
【００８２】
ステップＳ５１では、レンダリング部162は頂点シェーダ222Aを利用して、オブジェクトを構成する各ポリゴンの頂点に対する処理を行い、各頂点の属性値を算定する。その属性値には、例えば照度及び色座標値が含まれる。特に照度の算定では、ランバート（Lambert）モデル、フォン（Phong）モデル、又は頂点シェーダ222Aで記述される独自のシェーディング・モデルが利用される。その後、処理はステップＳ５２へ進む。
【００８３】
ステップＳ５２では、レンダリング部162は頂点シェーダ222Aを利用して、オブジェクトの形状データにビューポート変換を施す。「ビューポート」とは、表示パネル172の画面に表示されるウィンドウ内において映像が実際に表示される領域をいう。「ビューポート変換」とは、２Ｄ画面に投影されたオブジェクトのＣＧ映像を求め、更にそのＣＧ映像を、ビューポートに表示するための映像に変換する処理をいう。ビューポート変換には、３ＤＣＧの技術分野では周知の方法のいずれが利用されてもよく、例えばＯｐｅｎＧＬで規定されている方法が利用される。レンダリング部162は更に、ビューポート変換が施された形状データについて傾きパラメータを算定する。「傾きパラメータ」は、ビューポートに表示されるべきオブジェクトのＣＧ映像のうち、ポリゴンの各辺に相当する直線の傾きを表すパラメータである。その後、処理はステップＳ５３へ進む。
【００８４】
ステップＳ５３では、レンダリング部162はピクセル・シェーダ222Bに、ステップＳ５１で算定された各頂点の属性値、及びステップＳ５２で計算された形状データと傾きパラメータを利用させて、その形状データに対するラスタライズ処理を実行させる。すなわち、レンダリング部162はビューポート内の各画素の色情報（ピクセル・データ）を計算し、ビューポートに表示されるべきオブジェクトのＣＧ映像をラスタ・データとして表現する。そのラスタライズには３ＤＣＧの技術分野では周知の方法のいずれが利用されてもよく、例えばＤＤＡ（Digital Differential Analyzer）が利用される。得られたラスタ・データはフレーム・バッファ162Bに書き込まれる。その後、処理はステップＳ５４へ進む。
【００８５】
ステップＳ５４では、レンダリング部162はピクセル・シェーダ222Bに、メモリ部161Bから転送される映像データの表す映像をテクスチャとして、オブジェクトのＣＧ映像にマッピングさせる。そのテクスチャ・マッピングには３ＤＣＧの技術分野では周知の方法のいずれが利用されてもよい。例えば、レンダリング部162は、まず、ステップＳ５３でピクセル・データが書き込まれた各画素についてテクスチャ座標を求める。レンダリング部162は次に、各ピクセル・データのテクスチャ座標が示す映像データの部分をそのピクセル・データに合成する。その合成処理には３ＤＣＧの技術分野では周知の方法のいずれが利用されてもよく、例えばＯｐｅｎＧＬで規定されている方法が利用される。合成されたピクセル・データはフレーム・バッファ162Bに書き込まれる。ステップＳ５３でフレーム・バッファ162Bに書き込まれた全てのピクセル・データについて、上記の合成処理が繰り返される。こうして、映像データの表す映像がオブジェクトのＣＧ映像にマッピングされた合成映像を表すラスタ・データが、右目用又は左目用のフレームとしてフレーム・バッファ162Bに構成される。
【００８６】
［実施形態１の効果］
図１２の（ａ）は、表面が平面的なオブジェクトのＣＧ映像を示す模式図である。図１２の（ａ）を参照するに、そのオブジェクトPOBは、３Ｄ仮想空間内に置かれた三角錐であって、表面はいずれも平たい三角形である。上記のとおり、その三角錐POBを右目用２Ｄ画面SCRに投影した平面視ＣＧ映像PORは、視聴者の右目の視点VPRに対応する右目用カメラ・パラメータから計算される。一方、その三角錐POBを左目用２Ｄ画面SCLに投影した平面視ＣＧ映像POLは、視聴者の左目の視点VPLに対応する左目用カメラ・パラメータから計算される。
【００８７】
図１２の（ｂ）は、上記の三角錐POBの左目用の平面視ＣＧ映像POLを表し、（ｃ）は、右目用の平面視ＣＧ映像PORを表す。ここで、その三角錐POBの奥行きは画面よりも奥である場合を想定する。その場合、図１２の（ｂ）、（ｃ）に示されているように、左目用のＣＧ映像POLと画面SCRの左端との間の距離DL1は、右目用のＣＧ映像PORと画面SCRの左端との間の距離DR1よりも小さい。
【００８８】
図１２の（ｄ）は、上記の三角錐POBの表面にマッピングされるべき立体視映像の写真／動画の１フレームを構成する左目用の平面視映像を表し、（ｅ）は、同じフレームの右目用の平面視映像を表す。ここで、その１フレームに写る“木”の立体視映像の奥行きは画面よりも手前である場合を想定する。その場合、図１２の（ｄ）、（ｅ）に示されているように、“木”の左目用映像LVと画面SCRの左端との間の距離DL2は、その“木”の右目用映像RVと画面SCRの左端との間の距離DR2よりも大きい。
【００８９】
上記の三角錐POBの表面は平面的であるので、図８に示されている、隣接する二つのポリゴン間での法線ベクトルの成す角度θ[k]はいずれも十分に小さい（k＝0、1、2、…）。従って、その三角錐POBの表面の曲率は閾値よりも小さいので、図５に示されているステップＳ２５ではテクスチャ・モードが“左目用”に設定される。その結果、図１２の（ｂ）に示されている三角錐の左目用ＣＧ映像POLには、（ｄ）に示されている“木”の左目用映像LVがマッピングされ、（ｃ）に示されている三角錐の右目用ＣＧ映像PORには、（ｅ）に示されている“木”の右目用映像RVがマッピングされる。
【００９０】
図１２の（ｆ）は、三角錐の左目用ＣＧ映像POLと“木”の左目用映像LVとの合成映像を表し、（ｇ）は、三角錐の右目用ＣＧ映像PORと“木”の右目用映像RVとの合成映像を表す。図１２の（ｆ）、（ｇ）に示されているように、左目用ＣＧ映像PORの左端と左目用映像LVとの間の距離DL3は、右目用ＣＧ映像PORの左端と右目用映像RVとの間の距離DR3よりも大きい。図１２の（ｈ）は、（ｆ）、（ｇ）に示されている各合成映像を視聴者の各目に見せたときに、その視聴者に見える立体視映像を示す模式図である。図１２の（ｈ）に示されているように、“木”の立体視映像SV1は三角錐の立体視映像SV2よりも手前に飛び出しているように見える。
【００９１】
図１３の（ａ）は、表面が曲面的であるオブジェクトのＣＧ映像を示す模式図である。図１３の（ａ）を参照するに、そのオブジェクトCOBは、３Ｄ仮想空間内に置かれた楕円柱であって、表面はいずれも大きく湾曲している。上記のとおり、その楕円柱COBを右目用２Ｄ画面SCRに投影した平面視ＣＧ映像CORは、視聴者の右目の視点VPRに対応する右目用カメラ・パラメータから計算される。一方、その楕円柱COBを左目用２Ｄ画面SCLに投影した平面視ＣＧ映像POLは、視聴者の左目の視点VPLに対応する左目用カメラ・パラメータから計算される。
【００９２】
図１３の（ｂ）は、上記の楕円柱COBの左目用の平面視ＣＧ映像COLを表し、（ｃ）は、右目用の平面視ＣＧ映像CORを表す。ここで、その楕円柱COBの奥行きは画面よりも奥である場合を想定する。その場合、図１３の（ｂ）、（ｃ）に示されているように、左目用のＣＧ映像COLと画面SCRの左端との間の距離DL4は、右目用のＣＧ映像PORと画面SCRの左端との間の距離DR4よりも小さい。
【００９３】
図１３の（ｄ）は、上記の楕円柱COBの表面にマッピングされるべき立体視映像の写真／動画の１フレームを構成する左目用の平面視映像を表し、（ｅ）は、同じフレームの右目用の平面視映像を表す。ここで、その１フレームに写る“木”の立体視映像の奥行きは画面よりも手前である場合を想定する。その場合、図１３の（ｄ）、（ｅ）に示されているように、“木”の左目用映像LVと画面SCRの左端との間の距離DL2は、その“木”の右目用映像RVと画面SCRの左端との間の距離DR2よりも大きい。
【００９４】
上記の楕円柱COBの表面は曲面的であるので、図８に示されている、隣接する二つのポリゴン間での法線ベクトルの成す角度θ[k]のいずれかは十分に大きい（k＝0、1、2、…）。従って、その楕円柱COBの表面の曲率は閾値よりも大きいので、図５に示されているステップＳ２５ではテクスチャ・モードが“右目用”に設定される。その結果、図１３の（ｂ）に示されている楕円柱の左目用ＣＧ映像COLと、（ｃ）に示されている右目用ＣＧ映像CORとのいずれにも、（ｅ）に示されている“木”の右目用映像RVがマッピングされる。
【００９５】
図１３の（ｆ）は、楕円柱の左目用ＣＧ映像COLと“木”の右目用映像RVとの合成映像を表し、（ｇ）は、楕円柱の右目用ＣＧ映像CORと“木”の右目用映像RVとの合成映像を表す。図１３の（ｆ）、（ｇ）に示されているように、左目用ＣＧ映像CORの左端と右目用映像RVとの間の距離DL5は、右目用ＣＧ映像CORの左端と右目用映像RVとの間の距離DR5とほぼ等しい。図１３の（ｈ）は、（ｆ）、（ｇ）に示されている各合成映像を視聴者の各目に見せたときに、その視聴者に見える立体視映像を示す模式図である。図１３の（ｈ）に示されているように、“木”の立体視映像SV3は楕円柱の立体視映像SV4と同じ奥行きに位置しており、特にその表面に貼り付いているように見える。
【００９６】
図１２、１３の各（ｈ）に示されているように、本発明の実施形態１による表示装置10は、写真／動画の映像をオブジェクトの表面にマッピングする場合、その表面の曲率が比較的低いときには、その表面に写真／動画の立体視映像をマッピングし、比較的高いときには（右目用の）平面視映像をマッピングする。それにより、その表示装置10は、オブジェクトの表面が平面的であれば、写真／動画をその表面から浮かび上がるように、又は沈み込むように見せることができる。一方、そのオブジェクトの表面が起伏に富み、若しくは曲面的であって、立体視映像をその表面にマッピングしても立体的には見えないほどであれば、表示装置10は右目用の写真／動画のみをレンダリング部162に処理させればよい。それにより、マッピング処理に必要な負荷、特にメモリ部161Bからレンダリング部162へのｂｉｔＢＬＴに必要な負荷が軽減されるので、写真／動画をオブジェクトのＣＧ映像に合成する処理が更に円滑化される。その結果、表示装置10はそれらの合成映像の画質を更に向上させることができる。
【００９７】
《実施形態２》
本発明の実施形態２による表示装置は、実施形態１によるものとは異なり、図５に示されているステップＳ２５による立体視映像のマッピングの適否判断において、オブジェクトの表面の曲率ではなく、その表面を構成する各ポリゴンの頂点の照度を評価する。その点を除き、実施形態２による表示装置は実施形態１によるものと構成及び機能が等しい。従って、以下では、実施形態２による表示装置のうち、実施形態１によるものからの変更部分及び拡張部分について説明する。実施形態１による表示装置と同様な部分については、上記の実施形態１についての説明を援用する。
【００９８】
図１４は、図５に示されているステップＳ２５のフローチャートである。本発明の実施形態２では実施形態１とは異なり、判断部161Aは以下のように、オブジェクトの表面を構成するポリゴンの頂点の照度に応じて、その表面への写真／動画のマッピングの適否を判断する。以下の説明では、各頂点の法線ベクトルを上記の第１の方法で算定する場合を想定する。オブジェクトの３Ｄデータが各頂点の法線ベクトルを規定している場合、ステップＳ６１及びＳ６２はスキップされる。
【００９９】
ステップＳ６１では、判断部161Aはレンダリング部162にオブジェクトの３Ｄデータを参照させて、各ポリゴンの法線ベクトルを算定させる。その後、処理はステップＳ６２へ進む。
【０１００】
ステップＳ６２では、判断部161Aはレンダリング部162に各ポリゴンの法線ベクトルを平均させることによって、各頂点の法線ベクトルを算定させる。その具体的な評価方法については後述する。その後、処理はステップＳ６３へ進む。
【０１０１】
ステップＳ６３では、判断部161Aはレンダリング部162に、所定の反射光モデルを利用させて、各頂点の法線ベクトルからその頂点の照度を算定させる。その反射光モデルとしてはランバート・モデル又はフォン・モデルが利用される。その後、処理はステップＳ６４へ進む。
【０１０２】
ステップＳ６４では、判断部161Aは、各頂点の照度の中から最大値と最小値とを決定して、それらの間の差を計算する。その後、処理はステップＳ６５へ進む。
【０１０３】
ステップＳ６５では、判断部161Aは、ステップＳ６４で計算された差を所定の閾値と比較して、その閾値以上であるか否かを判別する。ここで、その閾値は、制御部161によって予めメモリ部161Bに保存されたものであり、オブジェクトの表面が次のいずれかの状態であるときにおける、各頂点の照度の中での最大値と最小値との間の差を表す。第１の状態は、オブジェクトの表面の曲率を０から徐々に増大させた場合、その表面にマッピングされた立体視映像が立体的には見えなくなるときの状態を表す。表面の曲率が十分に大きい場合、その表面を構成するポリゴンのいずれかの頂点はその表面自体の影に隠れる。頂点の照度の最大値と最小値との間の差は、その影の濃さで表面の曲率を評価するものとみなせる。第２の状態は、オブジェクトの表面を、視方向に対して垂直な状態から徐々に傾けた場合、その表面にマッピングされた立体視映像が立体的には見えなくなるほど傾いた状態を表す。表面の傾きが十分に大きい場合、その表面のうち、視点に近い部分に位置する頂点と、視点から遠い部分に位置する頂点とでは照度が大きく異なる。頂点の照度の最大値と最小値との間の差は、各頂点と視点との間の距離の差で表面の傾きを評価するものとみなせる。頂点の照度の最大値と最小値との間の差が上記の閾値以上である場合、処理はステップＳ６６へ進み、その閾値未満である場合、処理はステップＳ６７へ進む。
【０１０４】
ステップＳ６６では、判断部161Aはテクスチャ・モードを“右目用”に設定する。頂点の照度の最大値と最小値との間の差は閾値以上であるので、オブジェクトの表面は大きく湾曲し、又は視方向に対して大きく傾いている。従って、その表面にマッピングされた立体視映像は立体的には見えない。それ故、オブジェクトの左目用のＣＧ映像に、右目用のＣＧ映像と同じ右目用の写真／動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図５に示されているステップＳ２６へ進む。
【０１０５】
ステップＳ６７では、判断部161Aはテクスチャ・モードを“左目用”に設定する。頂点の照度の最大値と最小値との間の差は閾値未満であるので、その表面にマッピングされた立体視映像は正しく立体的に見える。従って、オブジェクトの左目用のＣＧ映像に左目用の写真／動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図５に示されているステップＳ２６へ進む。
【０１０６】
［頂点の法線ベクトルの算定］
図１４に示されているステップＳ６１では、頂点の法線ベクトルが次のように算定される。図１５の（ａ）は、オブジェクトの表面の一部を構成する三角形メッシュに属するポリゴンの法線ベクトルと頂点の法線ベクトルとを示す模式図である。レンダリング部162はまず、頂点シェーダ222Aを利用して、オブジェクトの３Ｄデータから各頂点の座標値を読み取り、更にそれらの座標値から各ポリゴンの法線ベクトルN[k]を求める（k＝0、1、2、…）。レンダリング部162は次に、一つの頂点を共有するポリゴンの間で法線ベクトルを平均して、その頂点の法線ベクトルとして決定する。図１５の（ａ）に示されている例では１番目の頂点Ve[0]が６個のポリゴンに共有されている。従って、まず、それらのポリゴンの法線ベクトルN[k]（k＝0、1、2、…、5）の平均値が１番目の頂点Ve[0]の法線ベクトルNv[0]として決定される：Nv[0]＝Normalize{(N[0]＋N[1]＋…＋N[5])／6}。同様に、２番目の頂点Ve[1]と３番目の頂点Ve[2]とのそれぞれを共有するポリゴンの法線ベクトルの平均値が、各頂点Ve[1]、Ve[2]の法線ベクトルNv[1]、Nv[2]として決定される。
【０１０７】
［実施形態２の効果］
図１５の（ｂ）は、平板状のオブジェクトのＣＧ映像を示す模式図である。図１５の（ｂ）を参照するに、そのオブジェクトBOBは、３Ｄ仮想空間内では、視点VPからの視方向に対して大きく傾いている。すなわち、視点VPに面したオブジェクトBOBの表面は、その視点VPに対する投影面SCRに対して大きく傾いている。その結果、その表面の中では、例えば、視点VPに最も近い角CR1の照度が最大であり、視点VPから最も遠い角CR2の照度が最小である。このように、オブジェクトの表面の形状が平面的であっても、視方向からの傾きが十分に大きければ、その表面の各部の照度に差が生じる。更に、一般には、その傾きが大きいほどその差は大きい。従って、照度の最大値と最小値との間の差からオブジェクトの表面の傾きを評価することができる。
【０１０８】
図１５の（ｃ）は、３枚の平板状のオブジェクトの立体視ＣＧ映像BO1、BO2、BO3と、それぞれにマッピングされた“星”、“木”、“円”の立体視映像VST、VTR、VCRとを示す模式図である。図１５の（ｃ）に示されているように、第１のオブジェクトの立体視ＣＧ映像B01と第３のオブジェクトの立体視ＣＧ映像B03とは画面SCRに対して大きく傾いている。その場合、それらのＣＧ映像BO1、BO3には、“星”、“円”の各右目用の映像のみがマッピングされるので、“星”、“円”の各立体視映像VST、VCRは、各オブジェクトの立体視映像BO1、BO3と同じ奥行きに位置しており、特に各表面に貼り付いているように見える。一方、第２のオブジェクトの立体視ＣＧ映像B02は画面SCRに対してほぼ平行である。その場合、第２のオブジェクトの右目用ＣＧ映像には“木”の右目用映像がマッピングされ、第２のオブジェクトの左目用ＣＧ映像には“木”の左目用映像がマッピングされる。その結果、“木”の立体視映像VTRは、図１５の（ｃ）に示されているように、第２のオブジェクトの立体視映像BO2よりも手前に飛び出しているように見える。
【０１０９】
図１５の（ｃ）に示されているように、本発明の実施形態２による表示装置は、写真／動画の映像をオブジェクトの表面にマッピングする場合、その表面を構成するポリゴンの頂点間での照度の差が比較的小さいときには、その表面に写真／動画の立体視映像をマッピングし、比較的大きいときには（右目用の）平面視映像をマッピングする。それにより、その表示装置は、オブジェクトの表面が画面に対して比較的平行であれば、写真／動画をその表面から浮かび上がるように、又は沈み込むように見せることができる。一方、そのオブジェクトの表面が平面的であっても画面に対して傾き、立体視映像をその表面にマッピングしても立体的には見えない状態であれば、その表示装置は右目用の写真／動画のみをレンダリング部162に処理させればよい。それにより、マッピング処理に必要な負荷、特にメモリ部161Bからレンダリング部162へのｂｉｔＢＬＴに必要な負荷が軽減されるので、写真／動画をオブジェクトのＣＧ映像に合成する処理が更に円滑化される。その結果、その表示装置はそれらの合成映像の画質を更に向上させることができる。
【０１１０】
《実施形態３》
本発明の実施形態３による表示装置は、実施形態１によるものとは異なり、図５に示されているステップＳ２５による立体視映像のマッピングの適否判断において、オブジェクトの表面の曲率ではなく、その重心の動きを評価する。その点を除き、実施形態３による表示装置は実施形態１によるものと構成及び機能が等しい。従って、以下では、実施形態３による表示装置のうち、実施形態１によるものからの変更部分及び拡張部分について説明する。実施形態１による表示装置と同様な部分については、上記の実施形態１についての説明を援用する。
【０１１１】
図１６は、図５に示されているステップＳ２５のフローチャートである。本発明の実施形態３では実施形態１とは異なり、判断部161Aは以下のように、連続する二枚のフレーム間でのオブジェクトの重心の変位量に応じて、そのオブジェクトの表面への写真／動画のマッピングの適否を判断する。
【０１１２】
ステップＳ７１では、判断部161Aはレンダリング部162にオブジェクトの３Ｄデータを参照させて、カレント・フレームにおける各頂点Ve[i]（i＝0、1、2、…、NV−1。文字NVは頂点の総数を表す。）の座標値（x[i],y[i],z[i])Tから、そのフレームにおけるオブジェクトの重心の座標値VG1を算定させる：VG1＝（x[0]＋x[1]＋x[2]＋…＋x[NV−1],y[0]＋y[1]＋y[2]＋…＋y[NV−1],z[0]＋z[1]＋z[2]＋…＋z[NV−1])T／NV。得られた重心の座標値はメモリ部161Bに格納される。その後、処理はステップＳ７２へ進む。
【０１１３】
ステップＳ７２では、判断部161Aはまず、メモリ部161Bから、カレント・フレームの一つ前のフレームにおけるオブジェクトの重心の座標値VG0を読み出す。判断部161Aは次に、その読み出された座標値VG0と、ステップＳ７１で算定された座標値VG1との間の差の大きさ｜VG1−VG0｜を求める。その差は、前のフレームとカレント・フレームとの間におけるオブジェクトの重心の変位量を表す。その後、処理はステップＳ７３へ進む。
【０１１４】
ステップＳ７３では、判断部161Aは、ステップＳ７２で計算された変位量｜VG1−VG0｜を所定の閾値と比較して、その閾値以上であるか否かを判別する。ここで、その閾値は、制御部161によって予めメモリ部161Bに保存されたものであり、オブジェクトの表面にマッピングされた立体視映像が立体的には見えなくなるときの、１フレーム期間でのそのオブジェクトの重心の変位量、すなわちオブジェクトの重心速度を表す。ステップＳ７２で計算された変位量｜VG1−VG0｜が上記の閾値以上である場合、処理はステップＳ７４へ進み、その閾値未満である場合、処理はステップＳ７５へ進む。
【０１１５】
ステップＳ７４では、判断部161Aはテクスチャ・モードを“右目用”に設定する。オブジェクトの重心速度は閾値以上であるので、そのオブジェクトの表面の動きは、その表面にマッピングされた立体視映像を立体的に見るには速すぎる。それ故、オブジェクトの左目用のＣＧ映像に、右目用のＣＧ映像と同じ右目用の写真／動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図５に示されているステップＳ２６へ進む。
【０１１６】
ステップＳ７５では、判断部161Aはテクスチャ・モードを“左目用”に設定する。オブジェクトの重心速度は閾値未満であるので、その表面にマッピングされた立体視映像は正しく立体的に見える。従って、オブジェクトの左目用のＣＧ映像に左目用の写真／動画がマッピングされるようにテクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図５に示されているステップＳ２６へ進む。
【０１１７】
［実施形態３の効果］
図１７の（ａ）は、平板状のオブジェクトの立体視ＣＧ映像PL1と、それにマッピングされた“木”の立体視映像TR1とを示す模式図である。オブジェクトの立体視ＣＧ映像PL1は画面SCRに対して静止している。その場合、連続するフレーム間でそのオブジェクトの立体視ＣＧ映像PL1の重心は変位していない。従って、そのオブジェクトの右目用ＣＧ映像には“木”の右目用映像がマッピングされ、そのオブジェクトの左目用ＣＧ映像には“木”の左目用映像がマッピングされる。その結果、“木”の立体視映像TR1は、図１７の（ａ）に示されているように、そのオブジェクトの立体視映像PL1よりも手前に飛び出しているように見える。
【０１１８】
図１７の（ｂ）は、（ａ）に示されているフレームの次のフレームにおけるオブジェクトの立体視ＣＧ映像PL2と“木”の立体視映像TR2とを示す模式図である。図１７の（ｂ）に矢印AR1で示されているように、オブジェクトの立体視ＣＧ映像PL2の重心は、前のフレームでの立体視ＣＧ映像PL1の重心から大きく変位している。その場合、そのオブジェクトの左目用ＣＧ映像と右目用ＣＧ映像とのいずれにも、“木”の右目用映像のみがマッピングされる。従って、“木”の立体視映像TR2は、オブジェクトの立体視ＣＧ映像PL2と同じ奥行きに位置しており、特にその表面に貼り付いているように見える。同様に、フレームが切り換えられる度にオブジェクトの立体視ＣＧ映像の重心が大きく変位する間、その立体視ＣＧ映像には“木”の右目用映像のみがマッピングされる。それ故、その間、“木”の立体視映像はオブジェクトの立体視ＣＧ映像に貼り付いた状態で、その立体視ＣＧ映像と共に移動するように見える。
【０１１９】
図１７の（ｃ）は、（ｂ）に示されているフレームから数フレーム後におけるオブジェクトの立体視ＣＧ映像PL3と“木”の立体視映像TR3とを示す模式図である。オブジェクトの立体視ＣＧ映像PL3は再び、画面SCRに対して静止している。その場合、連続するフレーム間でそのオブジェクトの立体視ＣＧ映像PL3の重心は変位していない。従って、そのオブジェクトの右目用ＣＧ映像には“木”の右目用映像がマッピングされ、そのオブジェクトの左目用ＣＧ映像には“木”の左目用映像がマッピングされる。その結果、“木”の立体視映像TR3は、図１７の（ｃ）に示されているように、そのオブジェクトの立体視映像PL3よりも手前に飛び出しているように見える。
【０１２０】
図１７の（ａ）−（ｃ）に示されているように、本発明の実施形態３による表示装置は、写真／動画の映像をオブジェクトの表面にマッピングする場合、連続する二枚のフレーム間でそのオブジェクトの重心の変位が比較的小さいときには、そのオブジェクトの表面に写真／動画の立体視映像をマッピングし、比較的大きいときには（右目用の）平面視映像をマッピングする。それにより、その表示装置は、オブジェクトの動きが比較的ゆっくりであれば、写真／動画をその表面から浮かび上がるように、又は沈み込むように見せることができる。一方、そのオブジェクトの動きが速く、立体視映像をその表面にマッピングしても立体的には見えない状態であれば、その表示装置は右目用の写真／動画のみをレンダリング部162に処理させればよい。それにより、マッピング処理に必要な負荷、特にメモリ部161Bからレンダリング部162へのｂｉｔＢＬＴに必要な負荷が軽減されるので、写真／動画をオブジェクトのＣＧ映像に合成する処理が更に円滑化される。その結果、その表示装置はそれらの合成映像の画質を更に向上させることができる。
【０１２１】
《実施形態４》
本発明の実施形態４による表示装置は、実施形態１によるものとは異なり、図３に示されいてる右目用のフレームを作成するステップＳ１１において、図５に示されているステップＳ２４に代えて、オブジェクトの平面視映像の動きを判定するステップを行う。その点を除き、実施形態４による表示装置は実施形態１によるものと構成及び機能が等しい。従って、以下では、実施形態４による表示装置のうち、実施形態１によるものからの変更部分及び拡張部分について説明する。実施形態１による表示装置と同様な部分については、上記の実施形態１についての説明を援用する。
【０１２２】
図１８は、本発明の実施形態４による表示装置が、図３に示されているステップＳ１１を行う際のフローチャートである。図１８を参照するに、ステップＳ２３では、判断部161Aはオブジェクトの形状データを参照して、その形状データが２Ｄデータであるか否かを判別する。形状データが２Ｄデータである場合、処理はステップＳ８４へ進み、形状データが２Ｄデータでない場合、処理はステップＳ２５へ進む。
【０１２３】
ステップＳ８４では、オブジェクトは平面視ＣＧ映像であり、全体が画面と同じ奥行きに見える平面的なものである。判断部161Aは、以下に示すように、連続する二枚のフレーム間におけるオブジェクトの代表点の変位量からテクスチャ・モードを決定する。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理はステップＳ２６へ進む。
【０１２４】
図１９は、図１８に示されているステップＳ８４のフローチャートである。本発明の実施形態４では実施形態１とは異なり、判断部161Aは、形状データが２Ｄデータであっても、以下のように、連続する二枚のフレーム間でのオブジェクトの代表点、例えば重心の変位量に応じて、そのオブジェクトの表面への写真／動画のマッピングの適否を判断する。ここで、代表点は重心の他に、オブジェクトの境界等、いずれかの部分に固定された点であってもよい。
【０１２５】
ステップＳ９１では、判断部161Aはレンダリング部162にオブジェクトの２Ｄデータを参照させて、カレント・フレームにおける各頂点Ve[i]（i＝0、1、2、…、NV−1。文字NVは頂点の総数を表す。）の座標値（x[i],y[i])Tから、そのフレームにおけるオブジェクトの重心の座標値VG1を算定させる：VG1＝（x[0]＋x[1]＋x[2]＋…＋x[NV−1],y[0]＋y[1]＋y[2]＋…＋y[NV−1])T／NV。得られた重心の座標値はメモリ部161Bに格納される。その後、処理はステップＳ９２へ進む。
【０１２６】
ステップＳ９２では、判断部161Aはまず、メモリ部161Bから、カレント・フレームの一つ前のフレームにおけるオブジェクトの重心の座標値VG0を読み出す。判断部161Aは次に、その読み出された座標値VG0と、ステップＳ９１で算定された座標値VG1との間の差の大きさ｜VG1−VG0｜を求める。その差は、前のフレームとカレント・フレームとの間におけるオブジェクトの重心の変位量を表す。その後、処理はステップＳ９３へ進む。
【０１２７】
ステップＳ９３では、判断部161Aは、ステップＳ９２で計算された変位量｜VG1−VG0｜を所定の閾値と比較して、その閾値以上であるか否かを判別する。ここで、その閾値は、制御部161によって予めメモリ部161Bに保存されたものであり、オブジェクトの表面にマッピングされた立体視映像が立体的には見えなくなるときのオブジェクトの重心速度を表す。ステップＳ９２で計算された変位量｜VG1−VG0｜が上記の閾値以上である場合、処理はステップＳ９４へ進み、その閾値未満である場合、処理はステップＳ９５へ進む。
【０１２８】
ステップＳ９４では、判断部161Aはテクスチャ・モードを“右目用”に設定する。オブジェクトの重心速度は閾値以上であるので、そのオブジェクトの表面の動きは、その表面にマッピングされた立体視映像を立体的に見るには速すぎる。それ故、オブジェクトの左目用のＣＧ映像に、右目用のＣＧ映像と同じ右目用の写真／動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図１８に示されているステップＳ２６へ進む。
【０１２９】
ステップＳ９５では、判断部161Aはテクスチャ・モードを“左目用”に設定する。オブジェクトの重心速度は閾値未満であるので、その表面にマッピングされた立体視映像は正しく立体的に見える。従って、オブジェクトの左目用のＣＧ映像に左目用の写真／動画がマッピングされるようにテクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後処理は、図１８に示されているステップＳ２６へ進む。
【０１３０】
［実施形態４の効果］
図２０の（ａ）は、矩形状のオブジェクトの平面視ＣＧ映像MV1と、それにマッピングされた“木”の立体視映像ST1とを示す模式図である。オブジェクトの平面視ＣＧ映像MV1は画面SCR上に静止している。その場合、連続するフレーム間でそのオブジェクトの平面視ＣＧ映像MV1の重心は変位していない。従って、そのオブジェクトのＣＧ映像に“木”の右目用映像がマッピングされて右目用の平面視映像が合成される。一方、同じオブジェクトのＣＧ映像に“木”の左目用映像がマッピングされて左目用の平面視映像が合成される。その結果、“木”の立体視映像ST1は、図２０の（ａ）に示されているように、そのオブジェクトの平面視ＣＧ映像MV1よりも手前に飛び出しているように見える。
【０１３１】
図２０の（ｂ）は、（ａ）に示されているフレームの次のフレームにおけるオブジェクトの平面視ＣＧ映像MV2と“木”の立体視映像ST2とを示す模式図である。図２０の（ｂ）に矢印AR2で示されているように、オブジェクトの平面視ＣＧ映像MV2の重心は、前のフレームでの平面視ＣＧ映像MV1の重心から大きく変位している。その場合、そのオブジェクトのＣＧ映像には“木”の右目用映像のみがマッピングされて、左目用と右目用との各平面視映像が合成される。従って、“木”の立体視映像ST2は、オブジェクトの平面視ＣＧ映像MV2と同じく、画面に貼り付いているように見える。同様に、フレームが切り換えられる度にオブジェクトの平面視ＣＧ映像の重心が大きく変位する間、その平面視ＣＧ映像には“木”の右目用映像のみがマッピングされる。それ故、その間、“木”の立体視映像はオブジェクトの平面視ＣＧ映像と共に、画面上を移動するように見える。
【０１３２】
図２０の（ｃ）は、（ｂ）に示されているフレームから数フレーム後におけるオブジェクトの平面視ＣＧ映像MV3と“木”の立体視映像ST3とを示す模式図である。オブジェクトの立体視ＣＧ映像MV3は再び、画面SCR上に静止している。その場合、連続するフレーム間でそのオブジェクトの平面視ＣＧ映像MV3の重心は変位していない。従って、そのオブジェクトのＣＧ映像には“木”の右目用映像がマッピングされて右目用の平面視映像が合成され、そのオブジェクトのＣＧ映像に“木”の左目用映像がマッピングされて左目用の平面視映像が合成される。その結果、“木”の立体視映像ST3は、図２０の（ｃ）に示されているように、そのオブジェクトの平面視ＣＧ映像MV3よりも手前に飛び出しているように見える。
【０１３３】
図２０の（ａ）−（ｃ）に示されているように、本発明の実施形態４による表示装置は、写真／動画の映像をオブジェクトの表面にマッピングする場合、連続するフレーム間でそのオブジェクトの重心の変位が比較的小さいときには、そのオブジェクトの表面に写真／動画の立体視映像をマッピングし、比較的大きいときには（右目用の）平面視映像をマッピングする。それにより、その表示装置は、オブジェクトの動きが比較的ゆっくりであれば、写真／動画をその表面から浮かび上がるように、又は沈み込むように見せることができる。一方、そのオブジェクトの表面が平面的であっても、そのオブジェクトの動きが速く、立体視映像をその表面にマッピングしても立体的には見えない状態であれば、その表示装置は右目用の写真／動画のみをレンダリング部162に処理させればよい。それにより、マッピング処理に必要な負荷、特にメモリ部161Bからレンダリング部162へのｂｉｔＢＬＴに必要な負荷が軽減されるので、写真／動画をオブジェクトのＣＧ映像に合成する処理が更に円滑化される。その結果、その表示装置はそれらの合成映像の画質を更に向上させることができる。
【０１３４】
《変形例》
（A）本発明の上記の実施形態では、図３に示されているように、１フレームの立体視映像を表示する際に右目用のフレームを左目用のフレームよりも先に生成する。その他に、左目用のフレームを右目用のフレームよりも先に生成してもよい。その場合、テクスチャ・モードの設定は上記の例とは逆である。例えば、図５に示されているステップＳ２４では、オブジェクトの右目用のＣＧ映像には右目用の写真／動画がマッピングされるべきであるので、テクスチャ・モードが“右目用”に設定される。また、図７では、オブジェクトの表面の曲率が閾値以上である場合、処理はステップＳ３５へ進み、その閾値未満である場合、処理はステップＳ３４へ進む。ステップＳ３５では、オブジェクトの表面の曲率は閾値以上であるので、判断部161Aはテクスチャ・モードを“左目用”に設定して、そのオブジェクトの右目用ＣＧ映像に、左目用ＣＧ映像と同じ左目用の写真／動画がマッピングされるようにする。一方、ステップＳ３４では、オブジェクトの表面の曲率は閾値未満であるので、判断部161Aはテクスチャ・モードを“右目用”に設定して、そのオブジェクトの右目用ＣＧ映像に右目用の写真／動画がマッピングされるようにする。
【０１３５】
（B）本発明の上記の実施形態はフレーム・シーケンシャル方式を前提とする。その他に、偏光表示方式、又はレンチキュラー方式が利用されてもよい。「偏光表示方式」は、左目用のフレームの表示領域（例えば奇数番目のライン）と右目用のフレームの表示領域（例えば偶数番目のライン）とのそれぞれに、異なる偏光方向のフィルタを設置する。そのとき、視聴者には偏光眼鏡を通して画面を見させる。ここで、その偏光眼鏡では、各レンズに異なる偏光方向のフィルタが設置されている。従って、左目用と右目用とのフレームが視聴者のそれぞれの目だけに見えるので、視聴者に３Ｄ映像を見せることができる。「レンチキュラー方式」は、左目用と右目用との各フレームを、縦方向に細長い短冊形の小領域に分割し、一つの画面の中にそれらのフレームの各小領域を横方向に交互に並べて同時に表示する。ここで、画面の表面はレンチキュラーレンズで覆われている。レンチキュラーレンズは、細長い蒲鉾レンズを複数平行に並べて一枚のシート状にしたものである。各蒲鉾レンズは画面の表面を縦方向に延びている。レンチキュラーレンズを通して上記のフレームを視聴者に見せるとき、左目用フレームの表示領域からの光は視聴者の左目だけに結像し、右目用フレームの表示領域からの光は右目だけに結像する。こうして、左右の目に映る映像間での両眼視差により、視聴者には３Ｄ映像が見える。尚、この方式では、レンチキュラーレンズに代えて、同様な機能を持つ液晶素子等の他の光学部品が利用されてもよい。
【０１３６】
図１に示されている出力部162Cはフレームの出力形式を、表示部170による３Ｄ映像の表示方式に合わせて変換する。表示部170が偏光表示方式を利用するとき、出力部162Cは内蔵のバッファ・メモリを利用して、左目用のフレームと右目用のフレームとの対を一つのフレームに合成する。具体的には、出力部162Cは、先に合成された右目用のフレームを一旦そのバッファ・メモリに格納して保持する。出力部162Cは続いて左目用のフレームを合成して、バッファ・メモリに保持された右目用のフレームと更に合成する。その合成では、左目用のフレームと右目用のフレームとがライン単位で交互に並べられて一つのフレームに再構成される。表示部170がレンチキュラー方式を利用するときも同様に、出力部162Cは内蔵のバッファ・メモリを利用して、左目用のフレームと右目用のフレームとの対を一つのフレームに合成する。具体的には、出力部162Cは、先に合成された右目用のフレームを一旦そのバッファ・メモリに格納して保持する。出力部162Cは続いて左目用のフレームを合成して、バッファ・メモリに保持された右目用のフレームと更に合成する。その合成では、左目用のフレームと右目用のフレームとがそれぞれ、縦方向に細長い短冊形の小領域に分割され、各小領域が一つのフレームの中に横方向に交互に並べられて一つのフレームに再構成される。こうして、合成された一つのフレームが表示部170へ送出される。
【０１３７】
（C）一つのフレームに複数のオブジェクトが表示される場合、表示装置は次のように、各オブジェクトについて個別にテクスチャ・モードを決定してもよい。図２１は、その表示装置が立体視映像の写真／動画をオブジェクトのＣＧ映像にマッピングして右目用と左目用との各フレームを作成する処理のフローチャートである。表示装置は、図１に示されている操作部140を通してビューワー機能又はスライドショー機能の実行をユーザに指示されたときに、この処理を開始する。
【０１３８】
ステップＳ１０１では、表示装置は、整数値変数Ｎを“１”に初期化する。次のステップＳ１１では、表示装置は、Ｎ番目のオブジェクトの右目用ＣＧ映像に右目用の写真／動画をマッピングした映像を作成し、右目用のフレームに合成する。続くステップＳ１０２では、表示装置は、変数Ｎがオブジェクトの総数に達しているか否かを判別する。変数Ｎがオブジェクトの総数よりも小さい場合、処理はステップＳ１０３へ進む。変数Ｎがオブジェクトの総数に等しい場合、処理はステップＳ１０４へ進む。ステップＳ１０３では、変数Ｎに１を加えた値を新たな変数Ｎとする。その後、処理はステップＳ１１から繰り返される。こうして、ステップＳ１１−Ｓ１０３が反復されることにより、全てのオブジェクトの右目用ＣＧ映像に右目用の写真／動画がマッピングされ、それらが一つの右目用のフレームに合成される。そのフレームのデータは表示部170へ送出される。更に、全てのオブジェクトに対するテクスチャ・モードの一覧がメモリ部161Bに保存される。
【０１３９】
ステップＳ１０４では、表示装置は、整数値変数Ｎを再び“１”に初期化する。次のステップＳ１２では、表示装置はまず、テクスチャ・モードの一覧を参照して、Ｎ番目のオブジェクトの左目用ＣＧ映像に、左目用と右目用とのいずれの写真／動画をマッピングすべきか判断する。表示装置は次に、その判断の結果が示す写真／動画をＮ番目のオブジェクトの左目用ＣＧ映像にマッピングし、得られた映像を左目用のフレームに合成する。続くステップＳ１０５では、表示装置は、変数Ｎがオブジェクトの総数に達しているか否かを判別する。変数Ｎがオブジェクトの総数よりも小さい場合、処理はステップＳ１０６へ進む。変数Ｎがオブジェクトの総数に等しい場合、処理はステップＳ１３へ進む。ステップＳ１０６では、変数Ｎに１を加えた値を新たな変数Ｎとする。その後、処理はステップＳ１２から繰り返される。こうして、ステップＳ１２−Ｓ１０６が反復されることにより、全てのオブジェクトの左目用ＣＧ映像に写真／動画がマッピングされ、それらが一つの左目用のフレームに合成される。そのフレームのデータは表示部170へ送出される。ステップＳ１３では、表示装置は写真／動画の中に次のフレームが存在するかを調べる。次のフレームが存在する場合、処理はステップＳ１０１から繰り返される。次のフレームが存在しない場合、処理は終了する。
【０１４０】
（D）本発明の上記の実施形態では、図５に示されているとおり、オブジェクトの形状データが２Ｄデータである場合、写真／動画は立体視映像として、そのオブジェクトの平面視ＣＧ映像にマッピングされる。その他に、オブジェクトの形状データが２Ｄデータである場合には、写真／動画も平面視映像として、そのオブジェクトの平面視ＣＧ映像にマッピングされてもよい。その場合、オブジェクトのＣＧ映像と写真／動画とは同じ奥行きで表示される。
【０１４１】
図２２は、上記の場合において、表示装置が写真／動画をオブジェクトのＣＧ映像にマッピングする処理のフローチャートである。表示装置は、図１に示されている操作部140を通してビューワー機能又はスライドショー機能の実行をユーザに指示されたときに、この処理を開始する。図２２に示されているフローチャートは、図３、５に示されているものとは異なり、ステップＳ２４に代えて、平面視映像のフレーム、すなわち２Ｄフレームを作成するステップＳ１１１、Ｓ１１２を含む。その点を除き、図２２に示されているフローチャートは、図３、５に示されているものと共通する。従って、以下では、図２２に示されているステップのうち、実図３、５に示されているものからの変更部分及び拡張部分について説明する。図３、５に示されているステップと同様なステップについては、図３、５についての説明を援用する。
【０１４２】
図２２を参照するに、ステップＳ２３では、判断部161Aはオブジェクトの形状データを参照して、その形状データが２Ｄデータであるか否かを判別する。形状データが２Ｄデータである場合、処理はステップＳ１１１へ進み、形状データが２Ｄデータでない場合、処理はステップＳ２５へ進む。
【０１４３】
ステップＳ１１１では、制御部161はレンダリング部162に右目用カメラ・パラメータを利用させて、オブジェクトの２Ｄデータに視野座標変換を施させる。具体的には、制御部161はレンダリング部162に、まず、２Ｄデータの表す頂点の座標値を４次元同次座標値に変換させる。すなわち、（ｉ＋１）番目の頂点Ve[i]（i＝0、1、2、…）の２Ｄ座標値（x[i],y[i])Tは４次元同次座標値Vh[i]＝(x[i],y[i],0,1)Tに変換される。次に、制御部161はレンダリング部162に、右目用カメラ・パラメータの表す座標変換行列Mvと各頂点の４次元同次座標値Vh[i]＝(x[i],y[i],0,1)Tとの積Mv＊Vh[i]を計算させる。これらの演算には頂点シェーダ222Aが利用される。その後、処理はステップＳ１１２へ進む。
【０１４４】
ステップＳ１１２では、制御部161はマッピング部162Aに、視野座標値で表された形状データを利用させて、右目用の写真／動画をオブジェクトのＣＧ映像にマッピングさせる。そのマッピング処理の詳細は上記のものと同様である。こうして、右目用の写真／動画がオブジェクトのＣＧ映像に合成されて２Ｄフレームが作成される。その後、処理は、左目用のフレームを作成するステップＳ１２をスキップして、図３に示されているステップＳ１３へ進む。
【０１４５】
図２２に示されている例では、オブジェクトの形状データが２Ｄデータである場合に、写真／動画とオブジェクトとの合成映像が自動的に平面視映像として表示される。その他に、表示装置は操作部140を利用して、写真／動画とオブジェクトとの合成映像を立体視映像として表示すべきか否かをユーザに選択させてもよい。
【産業上の利用可能性】
【０１４６】
本発明は立体視映像の表示技術に関し、上記のとおり、オブジェクトのＣＧ映像に他の映像をマッピングして合成する。このように、本発明は明らかに産業上利用可能である。
【符号の説明】
【０１４７】
POB      オブジェクト
POL      オブジェクトPOBの左目用の平面視ＣＧ映像
POR      オブジェクトPOBの右目用の平面視ＣＧ映像
SCL      左目用２Ｄ画面
SCR      右目用２Ｄ画面
VPL      視聴者の左目の視点
VPR      視聴者の右目の視点
LV      “木”の左目用映像
RV      “木”の右目用映像
SV1      “木”の立体視映像
SV2      オブジェクトの立体視ＣＧ映像
【図１】
0005628819.tif 000002
【図２】
0005628819.tif 000003
【図３】
0005628819.tif 000004
【図４】
0005628819.tif 000005
【図５】
0005628819.tif 000006
【図６】
0005628819.tif 000007
【図７】
0005628819.tif 000008
【図８】
0005628819.tif 000009
【図９】
0005628819.tif 000010
【図１０】
0005628819.tif 000011
【図１１】
0005628819.tif 000012
【図１２】
0005628819.tif 000013
【図１３】
0005628819.tif 000014
【図１４】
0005628819.tif 000015
【図１５】
0005628819.tif 000016
【図１６】
0005628819.tif 000017
【図１７】
0005628819.tif 000018
【図１８】
0005628819.tif 000019
【図１９】
0005628819.tif 000020
【図２０】
0005628819.tif 000021
【図２１】
0005628819.tif 000022
【図２２】
0005628819.tif 000023