JP5628819B2 - コンピュータ・グラフィックス映像合成装置と方法、及び表示装置 - Google Patents

コンピュータ・グラフィックス映像合成装置と方法、及び表示装置 Download PDF

Info

Publication number
JP5628819B2
JP5628819B2 JP2011534967A JP2011534967A JP5628819B2 JP 5628819 B2 JP5628819 B2 JP 5628819B2 JP 2011534967 A JP2011534967 A JP 2011534967A JP 2011534967 A JP2011534967 A JP 2011534967A JP 5628819 B2 JP5628819 B2 JP 5628819B2
Authority
JP
Japan
Prior art keywords
video
data
eye
mapping
stereoscopic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011534967A
Other languages
English (en)
Other versions
JPWO2011105048A1 (ja
Inventor
上崎 亮
亮 上崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2011534967A priority Critical patent/JP5628819B2/ja
Publication of JPWO2011105048A1 publication Critical patent/JPWO2011105048A1/ja
Application granted granted Critical
Publication of JP5628819B2 publication Critical patent/JP5628819B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は、コンピュータ・グラフィックス(CG)映像に立体視映像を合成して表示する技術に関する。
近年のビデオゲーム機やデジタルテレビには、ビューワー機能やスライドショー機能を搭載したものがある。それらの機能を利用すれば、ユーザがデジタルカメラで撮影した写真/動画をディスプレイの画面に表示することができる。特に、写真/動画にはCG映像との合成によって様々な視覚効果が加えられる。例えば、複数の写真や複数の動画のサムネイル映像を画面に一覧表示し、ユーザにグラフィックス・ユーザ・インターフェース(GUI)を利用させて、いずれかの写真/動画を選択させる。更に、その選択の操作に伴う一覧表示の画面から特定の写真/動画の表示画面への切り換えを、CG映像によるアニメーションで表現する。このように、写真/動画をCG映像と合成することによって、ユーザの操作に娯楽性を与え、かつ、GUIの操作性を向上させることができる。
写真/動画とCG映像との合成は次のように行われる。まず、「オブジェクト」と呼ばれるCG映像が、点、線、ポリゴン(多角形)等の図形の集合体で表現される。それらの図形は、2次元(2D)画面に描かれたものとして表現されても、3次元(3D)仮想空間に配置されたものとして表現されてもよい。次に、写真/動画の1フレームを表す2次元映像(テクスチャ)がオブジェクトの表面に射影される。この操作を「マッピング」という。オブジェクトが3D仮想空間に配置されている場合は更に、そのオブジェクトを特定の視点から見たときの「平面視映像」、すなわち、そのオブジェクトとその視点との間に置かれた一つの平面に投影されたそのオブジェクトの映像が算出される。このように写真/動画の1フレームをオブジェクトに合成して得られた平面視映像がディスプレイの画面に表示される。オブジェクトを2D画面上、又は3D仮想空間内で変形させ、又は変位させると、それに合わせて、そのオブジェクトの表面に映る写真/動画が同様に変形し、又は変位する。
一方、近年、立体視映像の表示機能を搭載したデジタルカメラやデジタルテレビが一般家庭に普及し始めている。「立体視映像」とは、一つのシーンを表す左目用の映像と右目用の映像との組み合わせであって、視聴者にはそのシーンの立体的な映像として一体的に見えるものをいう。「左目用の映像(レフトビュー)」とは、視聴者の左目に映る平面視映像をいい、「右目用の映像(ライトビュー)」とは、視聴者の右目に映る平面視映像をいう。左目用の映像と右目用の映像との間には、その視聴者の両眼視差に起因する違いがある。立体視映像の表示方式としては、「フレーム・シーケンシャル方式」が一般的である。その方式では、ディスプレイの画面に左目用の映像と右目用の映像とが交互に表示される。視聴者はシャッター眼鏡を通してその画面を見る。シャッター眼鏡は、画面に左目用の映像が表示される期間では左のレンズのみを透明にし、右目用の映像が表示される期間では右のレンズのみを透明にする。その結果、その視聴者の左目には左目用の映像のみが映り、右目には右目用の映像のみが映る。その場合、その視聴者には左目用の映像と右目用の映像との間の違いが一つのシーンの両眼視差として錯覚されるので、それら二つの平面視映像が一つの立体視映像に見える。
現実の物体の立体視映像を撮影するには、2台のデジタルカメラを視聴者の両目に見立てて並置し、それらのカメラで同時に撮影を行えばよい。また、CG映像を立体視映像に変換する技術も知られている。例えば特許文献1に開示された技術では、オブジェクトの2D画面上での表示位置を左右にずらすことによって、そのオブジェクトの左目用の映像と右目用の映像とを作成する。このような写真/動画及びCG映像を立体視映像として表現する技術は、上記のビューワー機能やスライドショー機能への応用が望まれている。立体視映像を利用すれば、平面視映像では表現できない臨場感が得られ、かつ、新しい視覚効果の可能性が開かれると期待されている。
特開2005−267655号公報
3D仮想空間に配置されたオブジェクトの立体視映像を作成する技術としては次のものが開発されている。まず、視聴者の左目に相当する視点からそのオブジェクトを見たときの平面視映像、すなわち左目用のCG映像を作成し、右目に相当する別の視点から見たときの平面視映像、すなわち右目用のCG映像を作成する。次に、左目用のCG映像には左目用の写真/動画をマッピングし、右目用のCG映像には右目用の写真/動画をマッピングする。
左目用と右目用との各写真/動画は、カメラの方向から見たときに被写体が最も立体的に見えるように撮影されている。従って、オブジェクトの表面が板のような平面状であって、かつ視方向に対して垂直に近い傾きであれば、その表面にマッピングされた立体視映像はその表面から浮かび上がって、又は沈み込んで見える。しかし、オブジェクトの表面が起伏に富み、若しくは比較的高い曲率の曲面状である場合、又はその表面が視方向に対して大きく傾いている場合、その表面にマッピングされた立体視映像は歪むので立体的には見えにくい。また、オブジェクトが、3D仮想空間内の立体形状ではなく、2D画面上に射影された平面形状で表現されている場合であっても、比較的高速で動いていれば、その表面にマッピングされた立体視映像は立体的には見えにくい。
一方、マッピング処理に要求される計算量は一般に大きい。従って、写真/動画にCG映像が合成された映像の画質を更に向上させるには、写真/動画が立体的には見えにくい条件ではマッピング処理に必要な負荷を可能な限り軽減して、合成処理を更に円滑にすることが望ましい。
本発明の目的は上記の問題点を解消することにあり、特にオブジェクトの形状及び動きに応じてマッピング処理を調整することによって、合成映像の画質を更に向上させることのできるCG映像合成装置を提供することにある。
本発明によるCG映像合成装置は、オブジェクトに映像をマッピングして一つのCG映像に合成する装置であって、メモリ部、判断部、及びマッピング部を備えている。メモリ部は形状データと映像データの対とを記憶している。形状データはオブジェクトの形状を表す。映像データの対は、一つの立体視映像を表す左目用と右目用との映像データから成る。判断部は、形状データから、オブジェクトが立体視映像のマッピングに適しているか否かを判断する。マッピング部は、オブジェクトが立体視映像のマッピングに適していると判断部が判断した場合、左目用の映像データを形状データに合成して左目用のCGデータを作成すると共に、右目用の映像データを形状データに合成して右目用のCGデータを作成する。マッピング部は更に、オブジェクトが立体視映像のマッピングに適していないと判断部が判断した場合、左目用の映像データと右目用の映像データとのいずれかのみを形状データに合成して左目用のCGデータと右目用のCGデータとを作成する。
形状データが、オブジェクトの2D画面上での形状を表す2Dデータである場合、判断部は、オブジェクトが立体視映像のマッピングに適しているか否かを次のように判断してもよい。判断部は、CG映像のフレームごとに2Dデータからオブジェクトの代表点を求め、連続する二つのフレームの間でオブジェクトの代表点の変位の大きさが所定の閾値未満である場合、オブジェクトが立体視映像のマッピングに適していると判断し、変位の大きさが閾値を超えている場合、オブジェクトが立体視映像のマッピングに適していないと判断する。
形状データが、オブジェクトの3D仮想空間内での形状を表す3Dデータである場合、判断部は、オブジェクトが立体視映像のマッピングに適しているか否かを以下の三つの方法のいずれかで判断してもよい。
第一の方法では、判断部はまず、3Dデータから、オブジェクトを構成する各ポリゴンの法線ベクトルを計算し、計算された法線ベクトルの集合からオブジェクトの表面の曲率を評価する。判断部は次に、曲率が所定の閾値未満である場合、オブジェクトが立体視映像のマッピングに適していると判断し、曲率が閾値を超えている場合、オブジェクトが立体視映像のマッピングに適していないと判断する。
第二の方法では、判断部はまず、3Dデータから、オブジェクトを構成する各ポリゴンの頂点における照度を計算する。判断部は次に、計算された照度全体での最大値と最小値との間の差が所定の閾値未満である場合、オブジェクトが立体視映像のマッピングに適していると判断し、差が閾値を超えている場合、オブジェクトが立体視映像のマッピングに適していないと判断する。
第三の方法では、判断部はまず、CG映像のフレームごとに、オブジェクトを構成する各ポリゴンの頂点からオブジェクトの代表点を求める。判断部は次に、連続する二つのフレームの間でオブジェクトの代表点の変位の大きさが所定の閾値未満である場合、オブジェクトが立体視映像のマッピングに適していると判断し、変位の大きさが閾値を超えている場合、オブジェクトが立体視映像のマッピングに適していないと判断する。
本発明による上記のCG映像合成装置は、オブジェクトの形状データから、そのオブジェクトが立体視映像のマッピングに適しているか否かを判断する。それにより、このCG映像合成装置は、オブジェクトの形状及び動きに応じてマッピング処理を調整することができるので、合成映像の画質を更に向上させることができる。
本発明の実施形態1による表示装置の機能ブロック図である。 図1に示されているCG映像合成部160のハードウェア構成を示すブロック図である。 本発明の実施形態1による表示装置が立体視映像の写真/動画をオブジェクトのCG映像にマッピングして右目用と左目用との各フレームを作成する処理のフローチャートである。 (a)−(c)はそれぞれ、オブジェクトの形状を構成するポリゴンの集合体の異なる表現形式を示す模式図である。 図1に示されているステップS11、すなわち、本発明の実施形態1による表示装置10が右目用のフレームを作成する処理のフローチャートである。 視野座標変換を表す模式図である。 図5に示されているステップS25のフローチャートである。 (a)は、図4の(a)に示されている三角形ストリップでポリゴンの集合体が表現されている場合の法線ベクトルを示す模式図である。(b)は、図4の(b)に示されている三角形ファンでポリゴンの集合体が表現されている場合の法線ベクトルを示す模式図である。(c)は、図4の(c)に示されている三角形メッシュでポリゴンの集合体が表現されている場合の法線ベクトルを示す模式図である。 ポリゴン・バッファの一例を示す表である。 図3に示されているステップS12のフローチャートである。 図5に示されているステップS27、及び図10に示されているステップS45のフローチャートである。 (a)は、表面が平面的なオブジェクトPOBのCG映像を示す模式図である。(b)は、そのオブジェクトPOBの左目用の平面視CG映像POLを表し、(c)は、右目用の平面視CG映像PORを表す。(d)は、そのオブジェクトPOBの表面にマッピングされるべき立体視映像の写真/動画の1フレームを構成する左目用の平面視映像を表し、(e)は、同じフレームの右目用の平面視映像を表す。(f)は、そのオブジェクトの左目用CG映像POLと“木”の左目用映像LVとの合成映像を表し、(g)は、そのオブジェクトの右目用CG映像PORと“木”の右目用映像RVとの合成映像を表す。(h)は、(f)、(g)に示されている各合成映像を視聴者の各目に見せたときに、その視聴者に見える立体視映像を示す模式図である。 (a)は、表面が曲面的であるオブジェクトCOBのCG映像を示す模式図である。(b)は、そのオブジェクトCOBの左目用の平面視CG映像COLを表し、(c)は、右目用の平面視CG映像CORを表す。(d)は、そのオブジェクトCOBの表面にマッピングされるべき立体視映像の写真/動画の1フレームを構成する左目用の平面視映像を表し、(e)は、同じフレームの右目用の平面視映像を表す。(f)は、そのオブジェクトの左目用CG映像COLと“木”の右目用映像RVとの合成映像を表し、(g)は、そのオブジェクトの右目用CG映像CORと“木”の右目用映像RVとの合成映像を表す。(h)は、(f)、(g)に示されている各合成映像を視聴者の各目に見せたときに、その視聴者に見える立体視映像を示す模式図である。 本発明の実施形態2による表示装置が、図5に示されているステップS25を行う際のフローチャートである。 (a)は、オブジェクトの表面の一部を構成する三角形メッシュに属するポリゴンの法線ベクトルと頂点の法線ベクトルとを示す模式図である。(b)は、平板状のオブジェクトのCG映像を示す模式図である。(c)は、3枚の平板状のオブジェクトの立体視CG映像BO1、BO2、BO3と、それぞれにマッピングされた“星”、“木”、“円”の立体視映像VST、VTR、VCRとを示す模式図である。 本発明の実施形態3による表示装置が、図5に示されているステップS25を行う際のフローチャートである。 (a)は、平板状のオブジェクトの立体視CG映像PL1、及び、それにマッピングされた“木”の立体視映像TR1とを示す模式図である。(b)は、(a)に示されているフレームの次のフレームにおけるオブジェクトの立体視CG映像PL2と“木”の立体視映像TR2とを示す模式図である。(c)は、(b)に示されているフレームから数フレーム後におけるオブジェクトの立体視CG映像PL3と“木”の立体視映像TR3とを示す模式図である。 本発明の実施形態4による表示装置が、図3に示されているステップS11を行う際のフローチャートである。 図18に示されているステップS84のフローチャートである。 (a)は、矩形状のオブジェクトの平面視CG映像MV1、及び、それにマッピングされた“木”の立体視映像ST1とを示す模式図である。(b)は、(a)に示されているフレームの次のフレームにおけるオブジェクトの平面視CG映像MV2と“木”の立体視映像ST2とを示す模式図である。(c)は、(b)に示されているフレームから数フレーム後におけるオブジェクトの平面視CG映像MV3と“木”の立体視映像ST3とを示す模式図である。 表示装置が一つのフレームに複数のオブジェクトを表示する場合において、立体視映像の写真/動画をオブジェクトのCG映像にマッピングして右目用と左目用との各フレームを作成する処理のフローチャートである。 オブジェクトの形状データが2Dデータである場合に、表示装置が写真/動画も平面視映像としてそのオブジェクトの平面視CG映像にマッピングする処理のフローチャートである。
以下、本発明の好適な実施形態について、図面を参照しながら説明する。
《実施形態1》
[表示装置の構成]
図1は、本発明の実施形態1による表示装置の機能ブロック図である。この表示装置はデジタルテレビ受像器である。表示装置10はその他に、携帯電話機、携帯情報端末、パーソナルコンピュータ、デジタルスチルカメラ、デジタルビデオカメラ、カーナビゲーション・システム等、多様な電子機器に組み込まれたものであってもよい。図1を参照するに、表示装置10は、映像データの入力部、操作部140、システムバス150、CG映像合成部160、表示部170,及び左右信号送信部180を備えている。映像データの入力部は、受信部100、光ディスクドライブ110、カードリーダ120、及びハードディスクドライブ(HDD)130を含む。
受信部100は、アンテナ190又はケーブルテレビ等の外部ネットワーク191を通して地上デジタルテレビ放送波を受信する。受信部100は更に、その放送波から所望のチャネルの映像データを抽出してCG映像合成部160へ送出する。光ディスクドライブ110は表示装置10に内蔵され、DVD又はBD(Blu−rayDisc、ブルーレイ・ディスク(登録商標))等の光ディスク192から映像データを読み出してCG映像合成部160へ送出する。光ディスクドライブ110はその他に、表示装置10に外付けされた単体のもの、又は光ディスク再生装置に内蔵されたものであってもよい。カードリーダ120は、SDカード等の半導体メモリカード193から映像データを読み出してCG映像合成部160へ送出する。HDD130は表示装置10に内蔵され、受信部100、光ディスクドライブ110、又はカードリーダ120から送出される映像データを保存する。また、HDD130は、保存された映像データをCG映像合成部160へ送出する。
操作部140は、リモコン194又は表示装置10のフロントパネルを通してユーザの操作を検出し、その操作の種類に対応する処理をCG映像合成部160へ依頼する。ここで、リモコン105は複数のボタンを含む。各ボタンは、表示装置10の電源のオンオフ、選局、又は音量の調節等、表示装置10の各機能に対応付けられている。リモコン194はユーザによる各ボタンの押下を検出し、そのボタンの識別情報を赤外線又は無線による信号IRで表示装置10へ伝える。操作部140はその信号IRから、識別情報の示すボタンに対応付けられた機能を特定してCG映像合成部160へ通知する。
システムバス150は、映像データの入力部100−130と操作部140とをCG映像合成部160へデータ交換可能に接続する。システムバス150はPCI−Express規格に準拠している。システムバス150はその他に、PCI規格又はAGP規格に準拠していてもよい。図1には示されていないが、システムバス150はチップセットを含む。そのチップセットは特に、入力部100−130から送出される映像データを、CG映像合成部160が処理可能な形式へ変換する。
CG映像合成部160は制御部161とレンダリング部162とを含む。制御部161とレンダリング部162とはそれぞれ、一つの集積回路に実装されている。各集積回路は専用回路として構成されても、汎用のプロセッサを利用して構成されていてもよい。その他に、制御部161とレンダリング部162とが一つのLSIに集約されていてもよい。
制御部161は、ファームウェア等のプログラムに従って、表示装置10の各機能部を制御する。制御部161は特にレンダリング部162を制御して、入力部100−130から受信される映像データの表す映像をオブジェクトのCG映像にマッピングさせる。
図1を参照するに、制御部161は判断部161Aとメモリ部161Bとを含む。判断部161Aは、映像データが立体視映像を表す場合、オブジェクトが立体視映像のマッピングに適しているか否かを、そのオブジェクトの形状データから判断する。「形状データ」とは、オブジェクトの形状を表すデータをいう。メモリ部161Bは制御部161に内蔵のメモリ装置であって、ファームウェア等のプログラムを保存し、かつ、作業用メモリ領域として利用される。メモリ部161Bはその他に、オブジェクトの形状データを保存し、また、入力部100−130からマッピング対象の映像データを取得して一時的に保持する。映像データが立体視映像を表す場合、その立体視映像を表す左目用と右目用との映像データの対がメモリ部161Bによって保持される。
レンダリング部162は制御部161に従って、映像データをメモリ部162Aからフレーム・バッファ162Bに転送する処理(bitBLT)を行い、かつ、スケーリング、CGによる視覚効果等、様々な処理を映像データに施す。レンダリング部162は特に、その映像データの表す映像をオブジェクトのCG映像にマッピングする。図1を更に参照するに、レンダリング部162は、マッピング部162A、フレーム・バッファ162B、及び出力部162Cを含む。マッピング部162Aは、判断部161Aによる判断結果に応じて、メモリ部161Bに保持された左目用又は右目用の映像データをオブジェクトの形状データに合成する。具体的には、オブジェクトが立体視映像のマッピングに適していると判断部161Aが判断した場合、マッピング部162Aは、左目用の映像データを形状データに合成して左目用のCGデータを作成すると共に、右目用の映像データを形状データに合成して右目用のCGデータを作成する。一方、オブジェクトが立体視映像のマッピングに適していないと判断部161Aが判断した場合、右目用の映像データのみを形状データに合成して左目用のCGデータと右目用のCGデータとを作成する。それらの詳細については後述する。フレーム・バッファ162Bはレンダリング部162に内蔵のメモリ素子の一領域であって、マッピング部162Aによって合成されたCGデータを1フレームずつ保持する。出力部162Cはフレーム・バッファ162Bからフレームを読み出して、NTSC、PAL、又はSECAMの出力形式に変換して表示部170へ送出する。出力部162Cはまた、映像データに様々な処理を施す。その処理の種類には、スケーリング、IP変換、ノイズ・リダクション、及びフレームレート変換が含まれる。スケーリングは、映像のサイズを拡大/縮小する処理である。IP変換は、プログレッシブ方式とインターレース方式との間で走査方式を変換する処理である。ノイズ・リダクションは、映像からノイズを除去する処理である。フレームレート変換は、フレームレートを変換する処理である。
表示部170は、CG映像合成部160によって作成されたフレームを表示パネル172に表示させる。表示部170は、特に映像データが立体視映像を表す場合、左目用のCGデータの表す左目用のCG映像と、前記右目用のCGデータの表す右目用のCG映像とを交互に表示パネル172に表示させる。図1を参照するに、表示部170は表示駆動部171と表示パネル172とを含む。表示駆動部171は出力部162Cからの信号に従って表示パネル172を制御する。表示パネル172は液晶表示パネル(LCD)である。表示パネル172はその他に、プラズマ表示パネル、有機EL表示パネル等、他方式のものであってもよい。
左右信号送信部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の画面を見たとき、左目用フレームはその視聴者の左目だけに映り、右目用フレームはその右目だけに映る。そのとき、その視聴者には、各目に映る映像間の違いが同じ立体的物体に対する両眼視差として知覚されるので、その映像が立体的に見える。
[CG映像合成部の構成]
図2は、CG映像合成部160のハードウェア構成を示すブロック図である。図2を参照するに、制御部161は、第1内部バス210、第1入出力インタフェース(I/O)211、CPU212、及びメインメモリ213を含む。レンダリング部162は、出力部162Cの他に、第2内部バス220、第2I/O221、グラフィックス処理専用プロセッサ(GPU:Graphic Processor Unit)222、及びビデオメモリ(VRAM)223を含む。
第1内部バス210は制御部161の機能部211、212、213の間をデータ交換可能に接続する。第1I/O211は、第1内部バス210をシステムバス150に接続するバスブリッジである。I/O211はPCI−Express規格に準拠している。第1I/O211はその他にPCI規格又はAGP規格に準拠していてもよい。
CPU212は、メインメモリ213に記憶されているプログラムを実行し、そのプログラムに従ってレンダリング部162に処理対象の映像データを与え、かつ、レンダリング部162の各機能部の動作を制御する。CPU212は特にレンダリング部162に、メインメモリ213からVRAM223へ映像データを転送させる。CPU212は更に、図1に示されている判断部161Aとして機能する。
メインメモリ213はシンクロナスDRAM(SDRAM)であり、好ましくは、DDR(Double−Data−Rate)−SDRAMである。メインメモリ213は、図1に示されているメモリ部161Bとして利用される。
第2内部バス220はレンダリング部162の機能部221、222、162C、223の間をデータ交換可能に接続する。第2I/O221は、第2内部バス220をシステムバス150に接続するバスブリッジである。第2I/O221はPCI−Express規格に準拠している。第2I/O221はその他にPCI規格又はAGP規格に準拠していてもよい。
GPU222は、グラフィックス表示に必要な演算処理に特化したチップ等の論理回路である。GPU222の行うCG処理にはジオメトリ処理とレンダリング処理とがある。ジオメトリ処理では幾何学的演算、特に座標変換により、3D仮想空間の中に配置された各オブジェクトを2D画面に投影したときの配置が決定される。レンダリング処理では、ジオメトリ処理で決定された2D画面上での各オブジェクトの配置に基づき、表示パネル172の画面に実際に表示されるべき映像を表す映像データが作成される。レンダリング処理には、隠面消去、シェーディング、シャドウイング、テクチャ・マッピング等が含まれる。GPU222は特に、図1に示されているマッピング部162Aとして機能する。
図2を参照するに、GPU222は頂点シェーダ222Aとピクセル・シェーダ222Bとを含む。頂点シェーダ222Aはジオメトリ処理専用の演算器であり、ジオメトリ処理に必要な幾何学的演算、特に座標変換に関する演算に利用される。頂点シェーダ222Aは、幾何学的演算の種類別に用意された演算器であっても、プログラムによって種々の幾何学的演算を処理可能な演算器であってもよい。ピクセル・シェーダ222Bはレンダリング処理専用の演算器であり、レンダリング処理に必要な各画素の色情報、すなわちピクセル・データの処理に関する演算に利用される。ピクセル・シェーダ222BはVRAM223から映像データを画素単位で読み出し、その成分間の和及び積を画素単位で計算する。ピクセル・シェーダ222Bは、ピクセル・データの処理に関する演算の種類別に用意された演算器であっても、プログラムによって種々の演算を画素単位で処理可能な演算器であってもよい。更に、一つのプログラム可能な演算器が、プログラムに応じて、頂点シェーダ222Aとピクセル・シェーダ222Bとの両方として使い分けられてもよい。
VRAM223は、レンダリング部162に内蔵のSDRAMであり、好ましくはDDR−SDRAM又はGDDR(Graphic−DDR)−SDRAMである。VRAM223は特に、図1に示されているフレーム・バッファ162Bを含む。フレーム・バッファ162Bに含まれるVRAM223のメモリセルがそれぞれ表示パネル172の一つの画素に対応付けられ、その画素についてのピクセル・データを記憶する。
[CG映像合成部の動作]
表示装置10は、図1、2に示されている要素を利用して、ビューワー機能又はスライドショー機能に立体視効果を与える。具体的には、表示装置10は入力部100−130を通して立体視映像の写真/動画を取得し、CG映像合成部160を利用してその写真/動画をオブジェクトのCG映像にマッピングして表示パネル172の画面に表示する。そのとき、実施形態1による表示装置10は、以下に説明するように、マッピング先のオブジェクトの形状に応じてマッピング対象の写真/動画の表す映像を立体視映像と平面視映像との間で切り換える。
図3は、表示装置10が立体視映像の写真/動画をオブジェクトのCG映像にマッピングして右目用と左目用との各フレームを作成する処理のフローチャートである。表示装置10は、操作部140を通してビューワー機能又はスライドショー機能の実行をユーザに指示されたときに、この処理を開始する。ステップS11では、表示装置10は、入力部100−130を通して取得された立体視映像の写真/動画から右目用のフレームを作成する。続くステップS12では、表示装置10はそれらの写真/動画から左目用のフレームを作成する。ステップS11、S12で作成されたフレームのデータは表示部170へ送出される。表示部170はそれらのフレームを交互に、表示パネル172の画面に表示する。それらのフレームの切換と同期して、制御部161は左右信号送信部180に左右信号LRの状態を切り換えさせる。続くステップS13では、表示装置10は、それらの写真/動画の中に次のフレームが存在するかを調べる。次のフレームが存在する場合、処理はステップS11から繰り返される。次のフレームが存在しない場合、処理は終了する。
[オブジェクトの形状データ]
形状データの種類には2Dデータと3Dデータとがある。2Dデータはオブジェクトの2D画面上での形状を表す。3Dデータはオブジェクトの3D仮想空間内での形状を表す。
形状データはオブジェクトの形状を、「ポリゴン」と呼ばれる三角形の集合体で表す。その集合体の表現形式は三つに分類される。図4の(a)−(c)は、それら三つの表現形式を示す模式図である。図4の(a)−(c)を参照するに、いずれの表現形式においても、ポリゴンP0、P1、P2、…はそれぞれ、三つの頂点Ve[m](m=0、1、2、…)を含む。各頂点Ve[m]には、「インデックス」と呼ばれるシリアル番号mが0から順に一つずつ割り当てられている。形状データは、各フレームに表示されるポリゴンの集合を、各頂点Ve[m]の座標と、各ポリゴンの含む頂点のインデックスとで規定する。各頂点Ve[m]の座標は、2Dデータでは2Dベクトル(x,y)で表され、3Dデータでは3Dベクトル(x,y,z)で表される。その他に、各頂点Ve[m]の座標が4次元同次座標(x,y,z,1)で表されてもよい。
図4の(a)に示されている七つのポリゴンP0、P1、P2、…、P6は、「三角形ストリップ」と呼ばれる第1の表現形式で表される。三角形ストリップP0−P7は、隣接する二つのポリゴンが一辺を共有するように連結されたものである。例えば、第1ポリゴンP0と第2ポリゴンP1とは、2番目の頂点Ve[1]と3番目の頂点Ve[2]とを結ぶ辺L0を共有し、第2ポリゴンP1と第3ポリゴンP2とは、3番目の頂点Ve[2]と4番目の頂点Ve[3]とを結ぶ辺L1を共有している。図4の(b)に示されている四つのポリゴンP0、P1、P2、P3は、「三角形ファン」と呼ばれる第2の表現形式で表される。三角形ファンP0−P3は、複数のポリゴンが一つの頂点Ve[0]を共有するように連結されたものである。形状データは三角形ストリップと三角形ファンとを次のように規定する。まず、第1ポリゴンP0が三つの頂点Ve[0]、Ve[1]、Ve[2]で定義される。次に、他のポリゴンP1、P2、…が、既出の頂点とは異なる一つの頂点で定義される。例えば、第2ポリゴンP1は4番目の頂点Ve[3]で定義され、第3ポリゴンP2は5番目の頂点Ve[4]で定義される。
図4の(c)に示されている七つのポリゴンP0、P1、P2、…、P6は、「三角形メッシュ」と呼ばれる第3の表現形式で表される。三角形メッシュは、いずれのポリゴンも三つの頂点Ve[p]、Ve[q]、Ve[r]のインデックスの組(p、q、r)で定義したものである。例えば、第1ポリゴンP0は、1番目の頂点Ve[0]、2番目の頂点Ve[1]、3番目の頂点Ve[2]のインデックスの組(0、1、2)で定義され、第2ポリゴンP1は、1番目の頂点Ve[0]、3番目の頂点Ve[2]、4番目の頂点Ve[3]のインデックスの組(0、2、3)で定義される。
形状データは更に、各頂点に与えられた属性値を含む。その属性値には法線ベクトルとテクスチャ座標とが含まれる。法線ベクトルは、その頂点を共有するポリゴンの法線ベクトルを平均したものである。この法線ベクトルはポリゴンの照度の計算に利用される。テクスチャ座標は、ポリゴンにマッピングされる平面視映像、すなわちテクスチャの中で、その頂点にマッピングされる部分の2D座標を表す。尚、形状データには、法線ベクトルに代えて頂点カラー値が含まれていてもよい。頂点カラー値は各頂点の色座標値を表す。形状データには更に、頂点シェーダ222Aで処理される任意の属性が含まれていてもよい。
[右目用フレームの作成]
図5は、図1に示されているステップS11、すなわち、表示装置10が右目用のフレームを作成する処理のフローチャートである。
ステップS21では、制御部161はメモリ部161Bに各オブジェクトの形状データを用意する。その後、処理はステップS22へ進む。
ステップS22では制御部161は、入力部100−130を通して受信される映像データから右目用の映像データと右目用のカメラ・パラメータとを取得する。カメラ・パラメータは、映像データに付与された補助データに含まれたパラメータであって、その映像データを撮影する際のカメラの位置、向き、画角を表す。カメラ・パラメータは特に座標変換行列を含む。その座標変換行列は、視聴者の視点と視方向とを規定するものとして、視野座標変換に利用される。「視野座標変換」とは、グローバル座標系から視野座標系への変換をいう。「グローバル座標系」とは、3D仮想空間内に定義された直交座標系をいう。「視野座標系」とは、3D仮想空間内のオブジェクトを投影する2D画面上で直交する二つの軸と、その画面に垂直な軸とで構成される直交座標系をいう。ポリゴンの頂点の座標が4次元同次座標で表される場合、カメラ・パラメータの表す座標変換行列は4×4の行列で表現される。立体視映像のデータには、視聴者の左目の視点を規定する左目用カメラ・パラメータと、右目の視点を規定する右目用カメラ・パラメータとが付与されている。制御部161は映像データから右目用のカメラ・パラメータを抽出してメモリ部161Bに格納する。一方、制御部161は映像データから右目用の映像データを抽出してマッピング部162Aへ送出する。その後、処理はステップS23へ進む。
図6は、視野座標変換を表す模式図である。図6を参照するに、オブジェクトOBJが配置される3D仮想空間にグローバル座標系(x,y,z)が定義され、左目用2D画面SCLと右目用2D画面SCRとのそれぞれに視野座標系(u,v,n)が定義される。各画面SCL、SCRは、視聴者の各目の視点VPL、VPRから見える画面を表す。各画面SCL、SCRに対して垂直なn軸は、各画面SCL、SCRから各視点VPL、VPRへ向かう。オブジェクトOBJの各頂点のグローバル座標(x,y,z)は、左目用カメラ・パラメータを利用して、左目用2D画面SCLへ投影されたそのオブジェクトOBLの頂点の視野座標(u,v,n)へ変換され、右目用カメラ・パラメータを利用して、右目用2D画面SCLへ投影されたそのオブジェクトOBRの頂点の視野座標(u,v,n)へ変換される。
図5を再び参照するに、ステップS23では、判断部161Aは、メモリ部161Bに用意されたオブジェクトの形状データを参照し、その形状データが2Dデータであるか否かを判別する。形状データが2Dデータである場合、処理はステップS24へ進み、形状データが2Dデータでない場合、処理はステップS25へ進む。
ステップS24では、判断部161Aはテクスチャ・モードを“左目用”に設定する。テクスチャ・モードは、ステップS12で左目用のフレームを作成する際に参照される環境変数であり、オブジェクトの左目用のCG映像にマッピングされるべき映像が左目用と右目用とのいずれの写真/動画であるかを規定する。オブジェクトが2D形状である場合、その上にマッピングされた立体視映像は正しく立体的に見える。ステップS24ではオブジェクトの形状データが2Dデータであるので、オブジェクトの左目用のCG映像に左目用の写真/動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理はステップS26へ進む。
ステップS25では、形状データは3Dデータであるので、判断部161Aは、オブジェクトの形状データから、そのオブジェクトの形状が立体視映像のマッピングに適しているか否かを更に判断する。判断部161Aはその判断結果に応じてテクスチャ・モードを設定する。その判断の詳細については後述する。ステップS25の後、処理はステップS26へ進む。
ステップS26では、制御部161はレンダリング部162に右目用カメラ・パラメータを利用させて、オブジェクトの形状データに視野座標変換を施させる。具体的には、制御部161はレンダリング部162に、まず、形状データの表す頂点の座標値を4次元同次座標値に変換させる。形状データが2Dデータである場合、(i+1)番目の頂点Ve[i](i=0、1、2、…)の2D座標値(x[i],y[i])T(文字“T”は転置を表す。)は4次元同次座標値Vh[i]=(x[i],y[i],0,1)Tに変換される。形状データが3Dデータである場合、(i+1)番目の頂点Ve[i](i=0、1、2、…)の3D座標値(x[i],y[i],z[i])Tは4次元同次座標値Vh[i]=(x[i],y[i],z[i],1)Tに変換される。次に、制御部161はレンダリング部162に、右目用カメラ・パラメータの表す座標変換行列Mvと各頂点の4次元同次座標値Vh[i]=(x[i],y[i],z[i],1)Tとの積Mv*Vh[i]を計算させる(演算子“*”は行列と列ベクトルとの積を表す)。これらの演算には頂点シェーダ222Aが利用される。その後、処理はステップS27へ進む。
ステップS26では、2Dデータも4次元同次座標に変換しているが、その限りではない。2Dデータに対しては2次元座標変換しか行わないことが予め明らかである場合、2Dデータを2次元座標で表したままで処理してもよい。
ステップS27では、制御部161はマッピング部162Aに、視野座標値で表された形状データを利用させて、右目用の写真/動画をオブジェクトのCG映像にマッピングさせる。そのマッピング処理の詳細については後述する。こうして、右目用の写真/動画がオブジェクトのCG映像に合成されて、右目用のフレームが作成される。
[立体視映像のマッピングの適否判断]
図7は、図5に示されているステップS25のフローチャートである。ステップS25では、オブジェクトの形状が立体視映像のマッピングに適しているか否かを判断部161Aが判断する。本発明の実施形態1では、判断部161Aはその適否判断に、以下のように、オブジェクトの表面の曲率を利用する。
ステップS31では、判断部161Aはレンダリング部162にオブジェクトの3Dデータを参照させて、各ポリゴンPkの法線ベクトルN[k]を算定させる(k=0、1、2、3、…)。その具体的な算定方法については後述する。その後、処理はステップS32へ進む。
ステップS32では、判断部161Aはレンダリング部162に、各ポリゴンPkの法線ベクトルN[k]からオブジェクトの表面の曲率を評価させる。その具体的な評価方法については後述する。その後、処理はステップS33へ進む。
ステップS33では、判断部161Aは、ステップS32で評価された曲率値を所定の閾値と比較して、その閾値以上であるか否かを判別する。ここで、その閾値は、オブジェクトの表面の曲率を0から徐々に増大させた場合、その表面にマッピングされた立体視映像が立体的には見えなくなるときの曲率値を表す。その閾値は制御部161により、予めメモリ部161Bに保存されている。曲率がその閾値以上である場合、処理はステップS34へ進み、その閾値未満である場合、処理はステップS35へ進む。
ステップS34では、判断部161Aはテクスチャ・モードを“右目用”に設定する。オブジェクトの表面の曲率は閾値以上であるので、その表面にマッピングされた立体視映像は立体的には見えない。従って、オブジェクトの左目用のCG映像に、右目用のCG映像と同じ右目用の写真/動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図5に示されているステップS26へ進む。
ステップS35では、判断部161Aはテクスチャ・モードを“左目用”に設定する。オブジェクトの表面の曲率は閾値未満であるので、その表面にマッピングされた立体視映像は正しく立体的に見える。従って、オブジェクトの左目用のCG映像に左目用の写真/動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図5に示されているステップS26へ進む。
[ポリゴンの法線ベクトルの算定]
図7に示されているステップS31では、各ポリゴンの法線ベクトルが次の二つの方法のいずれかで算定される。
第1の方法は、各頂点の座標値から各ポリゴンの法線ベクトルを算定する。具体的には、一つのポリゴンP0を構成する3個の頂点Ve[0]、Ve[1]、Ve[2]の4次元同次座標値が次のとおりである場合を想定する: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。その場合、まず、1番目の頂点Ve[0]から2番目の頂点Ve[1]へ向かう第1ベクトルv0と、1番目の頂点Ve[0]から3番目の頂点Ve[2]へ向かう第2ベクトルv1とをそれぞれ、次の3次元ベクトル値で表す: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]の長さは1に等しい。
第2の方法は、3Dデータが各頂点の属性として法線ベクトルを規定している場合、その法線ベクトルから各ポリゴンの法線ベクトルを算定する。具体的には、一つのポリゴンP0を構成する3個の頂点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]の長さは1に等しい。
尚、各ポリゴンの法線ベクトルの算定には、上記二つの方法以外が利用されてもよい。例えば、第2の方法と同様にして求められた法線ベクトルNh[i]のいずれか一つが、ポリゴンP0の法線ベクトルN[0]として選択されてもよい。
[オブジェクトの表面の曲率の評価]
図7に示されているステップS32では、オブジェクトの表面の曲率が、(1)隣接する二つのポリゴンの法線ベクトルの成す角度、又は、(2)ポリゴンの法線ベクトルの各成分の最大値のいずれかを利用して評価される。
(1)オブジェクトの表面の曲率が、隣接する二つのポリゴンの法線ベクトルの成す角度から評価される場合、各角度の算定順は、以下に示すように、オブジェクトの表面を構成するポリゴンの集合体の表現形式に合わせて決定される。
図8の(a)は、図4の(a)に示されている三角形ストリップでポリゴンの集合体が表現されている場合を示す模式図である。その場合、まず、1番目のポリゴンの法線ベクトルN[0]と2番目のポリゴンの法線ベクトルN[1]との成す角度θ[0]が次式で算定される:θ[0]=arccos(N[0]・N[1]/|N[0]||N[1]|)。ここで、演算子“・”はベクトルの内積を表す。次に、2番目のポリゴンの法線ベクトルN[1]と3番目のポリゴンの法線ベクトル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])。
図8の(b)は、図4の(b)に示されている三角形ファンでポリゴンの集合体が表現されている場合を示す模式図である。その場合、まず、1番目のポリゴンの法線ベクトルN[0]と2番目のポリゴンの法線ベクトル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]は(P−1)種類であり、三角形ファンが閉じている場合、角度θ[i]はP種類である。続いて、法線ベクトルの成す角度θ[i]の平均値が、その三角形ファンで構成されるオブジェクトの表面部分の曲率Cとみなされる:C=(θ[0]+θ[1]+…+θ[Q])/Q(Q=P−2、又はP−1)。その他に、角度θ[i]の最大値がオブジェクトの表面の曲率Cとみなされてもよい:C=max(θ[0]、θ[1]、…、θ[Q])。
図8の(c)は、図4の(c)に示されている三角形メッシュでポリゴンの集合体が表現されている場合を示す模式図である。その場合、判断部161Aはまず、オブジェクトの3Dデータを参照してポリゴン・バッファをメモリ部161Bに構成する。
「ポリゴン・バッファ」は、各ポリゴンを定義するインデックスの組とそのポリゴンの法線ベクトルとの対応表である。図9は、ポリゴン・バッファの一例を示す表である。図9を参照するに、各ポリゴンには固有のIDとして、シリアル番号0、1、2、…、P−1が1つずつ割り当てられている。ここで、文字Pは、オブジェクトの一つの表面を構成するポリゴンの総数を表す。各ポリゴンIDに、対応するポリゴンを構成する頂点のインデックスの組と、そのポリゴンの法線ベクトルとが一つずつ対応付けられている。例えば、ポリゴンID=0にはインデックスの組(0,1,2)と法線ベクトルN[0]=(N[0]x,N[0]y,N[0]z)とが対応付けられ、ポリゴンID=1にはインデックスの組(0,3,6)と法線ベクトルN[1]=(N[1]x,N[1]y,N[1]z)とが対応付けられている。
判断部161Aは次に、ポリゴン・バッファの中からインデックスの組を一つ選択し、その組を構成する3個のインデックスのいずれか2個を含む別の組をポリゴン・バッファから検索する。例えば、図9に示されているポリゴンID=0のインデックスの組(0,1,2)が選択された場合、ポリゴンID=2のインデックスの組(0,2,3)が検索される。それらの2組ではインデックス“0”、“2”が重複している。図8の(c)を参照するに、それらのインデックスの重複は次のことを表す:ポリゴンID=0のポリゴンP0とポリゴンID=1のポリゴンP1とは、1番目の頂点Ve[0]と3番目の頂点Ve[2]とを結ぶ辺L0を共有する。
判断部161Aは続いて、インデックスの各組に対応付けられた法線ベクトルをポリゴン・バッファから検索し、それらの法線ベクトルの成す角を算定する。図8の(c)、図9の例では、ポリゴンID=0、2のそれぞれに対応付けられた法線ベクトル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とみなす。
(2)判断部161Aは、ポリゴンの法線ベクトルの各成分の最大値を利用してオブジェクトの表面の曲率を評価する場合、まず、ステップS31で算定された法線ベクトルのいずれか一つを選択して、そのx軸成分を最大値maxNxとして想定する。判断部161Aは次に、別の法線ベクトルを選択して、そのx軸成分Nxを最大値maxNxと比較する。そのx軸成分Nxが最大値maxNxよりも大きい場合、判断部161Aはそのx軸成分Nxで最大値maxNxを置き換える。この処理が、オブジェクトの一つの表面を構成する全てのポリゴンの法線ベクトルについて繰り返されることにより、x軸成分の真の最大値が求められる。同様にして、法線ベクトルのy軸成分の最大値maxNyとz軸成分の最大値maxNzとが求められる。判断部161Aは続いて、各軸成分の最大値を成分とするベクトルNmax=(maxNx,maxNy,maxNz)の長さ|Nmax|=sqrt(maxNx2+maxNy2+maxNz2)をオブジェクトの表面の曲率Cとみなす。
[左目用フレームの作成]
図10は、図3に示されているステップS12のフローチャートである。ステップS12では、表示装置10が、以下のように、左目用のフレームを作成する。
ステップS41では、制御部161はメモリ部161Bからテクスチャ・モードを読み出して、それが“左目用”に設定されているか否かを判別する。そのテクスチャ・モードが“左目用”に設定されている場合、処理はステップS42へ進み、設定されていない場合、ステップS43へ進む。
ステップS42では、テクスチャ・モードが“左目用”に設定されているので、オブジェクトの左目用のCG映像には左目用の写真/動画がマッピングされるべきである。従って、制御部161は、入力部100−130を通して受信される映像データから左目用の映像データを抽出してマッピング部162Aへ送出する。その後、処理はステップS43へ進む。
ステップS43では、制御部161は映像データから左目用のカメラ・パラメータを抽出してメモリ部161Bに格納する。その後、処理はステップS44へ進む。
ステップS44では、制御部161はレンダリング部162に左目用カメラ・パラメータを利用させて、オブジェクトの形状データに視野座標変換を施させる。その後、処理はステップS45へ進む。
ステップS45では、制御部161はマッピング部162Aに、視野座標値で表された形状データを利用させて、写真/動画をオブジェクトのCG映像にマッピングさせる。テクスチャ・モードが“左目用”に設定されている場合、ステップS42により、マッピング処理には左目用の映像データが利用される。一方、テクスチャ・モードが“右目用”に設定されている場合、マッピング部162Aには左目用の映像データは送出されないので、マッピング処理には既存の右目用の映像データが利用される。マッピング処理の詳細については後述する。こうして、テクスチャ・モードが“左目用”に設定されている場合には左目用の写真/動画がオブジェクトのCG映像に合成され、テクスチャ・モードが“右目用”に設定されている場合には右目用の写真/動画がオブジェクトのCG映像に合成される。その合成映像が左目用のフレームとして送出される。
[マッピング処理の詳細]
図11は、図5に示されているステップS27、及び図10に示されているステップS45のフローチャートである。ステップS27とステップS45とでは処理対象のデータは異なる。しかし、いずれのステップも具体的な処理は共通である。
ステップS51では、レンダリング部162は頂点シェーダ222Aを利用して、オブジェクトを構成する各ポリゴンの頂点に対する処理を行い、各頂点の属性値を算定する。その属性値には、例えば照度及び色座標値が含まれる。特に照度の算定では、ランバート(Lambert)モデル、フォン(Phong)モデル、又は頂点シェーダ222Aで記述される独自のシェーディング・モデルが利用される。その後、処理はステップS52へ進む。
ステップS52では、レンダリング部162は頂点シェーダ222Aを利用して、オブジェクトの形状データにビューポート変換を施す。「ビューポート」とは、表示パネル172の画面に表示されるウィンドウ内において映像が実際に表示される領域をいう。「ビューポート変換」とは、2D画面に投影されたオブジェクトのCG映像を求め、更にそのCG映像を、ビューポートに表示するための映像に変換する処理をいう。ビューポート変換には、3DCGの技術分野では周知の方法のいずれが利用されてもよく、例えばOpenGLで規定されている方法が利用される。レンダリング部162は更に、ビューポート変換が施された形状データについて傾きパラメータを算定する。「傾きパラメータ」は、ビューポートに表示されるべきオブジェクトのCG映像のうち、ポリゴンの各辺に相当する直線の傾きを表すパラメータである。その後、処理はステップS53へ進む。
ステップS53では、レンダリング部162はピクセル・シェーダ222Bに、ステップS51で算定された各頂点の属性値、及びステップS52で計算された形状データと傾きパラメータを利用させて、その形状データに対するラスタライズ処理を実行させる。すなわち、レンダリング部162はビューポート内の各画素の色情報(ピクセル・データ)を計算し、ビューポートに表示されるべきオブジェクトのCG映像をラスタ・データとして表現する。そのラスタライズには3DCGの技術分野では周知の方法のいずれが利用されてもよく、例えばDDA(Digital Differential Analyzer)が利用される。得られたラスタ・データはフレーム・バッファ162Bに書き込まれる。その後、処理はステップS54へ進む。
ステップS54では、レンダリング部162はピクセル・シェーダ222Bに、メモリ部161Bから転送される映像データの表す映像をテクスチャとして、オブジェクトのCG映像にマッピングさせる。そのテクスチャ・マッピングには3DCGの技術分野では周知の方法のいずれが利用されてもよい。例えば、レンダリング部162は、まず、ステップS53でピクセル・データが書き込まれた各画素についてテクスチャ座標を求める。レンダリング部162は次に、各ピクセル・データのテクスチャ座標が示す映像データの部分をそのピクセル・データに合成する。その合成処理には3DCGの技術分野では周知の方法のいずれが利用されてもよく、例えばOpenGLで規定されている方法が利用される。合成されたピクセル・データはフレーム・バッファ162Bに書き込まれる。ステップS53でフレーム・バッファ162Bに書き込まれた全てのピクセル・データについて、上記の合成処理が繰り返される。こうして、映像データの表す映像がオブジェクトのCG映像にマッピングされた合成映像を表すラスタ・データが、右目用又は左目用のフレームとしてフレーム・バッファ162Bに構成される。
[実施形態1の効果]
図12の(a)は、表面が平面的なオブジェクトのCG映像を示す模式図である。図12の(a)を参照するに、そのオブジェクトPOBは、3D仮想空間内に置かれた三角錐であって、表面はいずれも平たい三角形である。上記のとおり、その三角錐POBを右目用2D画面SCRに投影した平面視CG映像PORは、視聴者の右目の視点VPRに対応する右目用カメラ・パラメータから計算される。一方、その三角錐POBを左目用2D画面SCLに投影した平面視CG映像POLは、視聴者の左目の視点VPLに対応する左目用カメラ・パラメータから計算される。
図12の(b)は、上記の三角錐POBの左目用の平面視CG映像POLを表し、(c)は、右目用の平面視CG映像PORを表す。ここで、その三角錐POBの奥行きは画面よりも奥である場合を想定する。その場合、図12の(b)、(c)に示されているように、左目用のCG映像POLと画面SCRの左端との間の距離DL1は、右目用のCG映像PORと画面SCRの左端との間の距離DR1よりも小さい。
図12の(d)は、上記の三角錐POBの表面にマッピングされるべき立体視映像の写真/動画の1フレームを構成する左目用の平面視映像を表し、(e)は、同じフレームの右目用の平面視映像を表す。ここで、その1フレームに写る“木”の立体視映像の奥行きは画面よりも手前である場合を想定する。その場合、図12の(d)、(e)に示されているように、“木”の左目用映像LVと画面SCRの左端との間の距離DL2は、その“木”の右目用映像RVと画面SCRの左端との間の距離DR2よりも大きい。
上記の三角錐POBの表面は平面的であるので、図8に示されている、隣接する二つのポリゴン間での法線ベクトルの成す角度θ[k]はいずれも十分に小さい(k=0、1、2、…)。従って、その三角錐POBの表面の曲率は閾値よりも小さいので、図5に示されているステップS25ではテクスチャ・モードが“左目用”に設定される。その結果、図12の(b)に示されている三角錐の左目用CG映像POLには、(d)に示されている“木”の左目用映像LVがマッピングされ、(c)に示されている三角錐の右目用CG映像PORには、(e)に示されている“木”の右目用映像RVがマッピングされる。
図12の(f)は、三角錐の左目用CG映像POLと“木”の左目用映像LVとの合成映像を表し、(g)は、三角錐の右目用CG映像PORと“木”の右目用映像RVとの合成映像を表す。図12の(f)、(g)に示されているように、左目用CG映像PORの左端と左目用映像LVとの間の距離DL3は、右目用CG映像PORの左端と右目用映像RVとの間の距離DR3よりも大きい。図12の(h)は、(f)、(g)に示されている各合成映像を視聴者の各目に見せたときに、その視聴者に見える立体視映像を示す模式図である。図12の(h)に示されているように、“木”の立体視映像SV1は三角錐の立体視映像SV2よりも手前に飛び出しているように見える。
図13の(a)は、表面が曲面的であるオブジェクトのCG映像を示す模式図である。図13の(a)を参照するに、そのオブジェクトCOBは、3D仮想空間内に置かれた楕円柱であって、表面はいずれも大きく湾曲している。上記のとおり、その楕円柱COBを右目用2D画面SCRに投影した平面視CG映像CORは、視聴者の右目の視点VPRに対応する右目用カメラ・パラメータから計算される。一方、その楕円柱COBを左目用2D画面SCLに投影した平面視CG映像POLは、視聴者の左目の視点VPLに対応する左目用カメラ・パラメータから計算される。
図13の(b)は、上記の楕円柱COBの左目用の平面視CG映像COLを表し、(c)は、右目用の平面視CG映像CORを表す。ここで、その楕円柱COBの奥行きは画面よりも奥である場合を想定する。その場合、図13の(b)、(c)に示されているように、左目用のCG映像COLと画面SCRの左端との間の距離DL4は、右目用のCG映像PORと画面SCRの左端との間の距離DR4よりも小さい。
図13の(d)は、上記の楕円柱COBの表面にマッピングされるべき立体視映像の写真/動画の1フレームを構成する左目用の平面視映像を表し、(e)は、同じフレームの右目用の平面視映像を表す。ここで、その1フレームに写る“木”の立体視映像の奥行きは画面よりも手前である場合を想定する。その場合、図13の(d)、(e)に示されているように、“木”の左目用映像LVと画面SCRの左端との間の距離DL2は、その“木”の右目用映像RVと画面SCRの左端との間の距離DR2よりも大きい。
上記の楕円柱COBの表面は曲面的であるので、図8に示されている、隣接する二つのポリゴン間での法線ベクトルの成す角度θ[k]のいずれかは十分に大きい(k=0、1、2、…)。従って、その楕円柱COBの表面の曲率は閾値よりも大きいので、図5に示されているステップS25ではテクスチャ・モードが“右目用”に設定される。その結果、図13の(b)に示されている楕円柱の左目用CG映像COLと、(c)に示されている右目用CG映像CORとのいずれにも、(e)に示されている“木”の右目用映像RVがマッピングされる。
図13の(f)は、楕円柱の左目用CG映像COLと“木”の右目用映像RVとの合成映像を表し、(g)は、楕円柱の右目用CG映像CORと“木”の右目用映像RVとの合成映像を表す。図13の(f)、(g)に示されているように、左目用CG映像CORの左端と右目用映像RVとの間の距離DL5は、右目用CG映像CORの左端と右目用映像RVとの間の距離DR5とほぼ等しい。図13の(h)は、(f)、(g)に示されている各合成映像を視聴者の各目に見せたときに、その視聴者に見える立体視映像を示す模式図である。図13の(h)に示されているように、“木”の立体視映像SV3は楕円柱の立体視映像SV4と同じ奥行きに位置しており、特にその表面に貼り付いているように見える。
図12、13の各(h)に示されているように、本発明の実施形態1による表示装置10は、写真/動画の映像をオブジェクトの表面にマッピングする場合、その表面の曲率が比較的低いときには、その表面に写真/動画の立体視映像をマッピングし、比較的高いときには(右目用の)平面視映像をマッピングする。それにより、その表示装置10は、オブジェクトの表面が平面的であれば、写真/動画をその表面から浮かび上がるように、又は沈み込むように見せることができる。一方、そのオブジェクトの表面が起伏に富み、若しくは曲面的であって、立体視映像をその表面にマッピングしても立体的には見えないほどであれば、表示装置10は右目用の写真/動画のみをレンダリング部162に処理させればよい。それにより、マッピング処理に必要な負荷、特にメモリ部161Bからレンダリング部162へのbitBLTに必要な負荷が軽減されるので、写真/動画をオブジェクトのCG映像に合成する処理が更に円滑化される。その結果、表示装置10はそれらの合成映像の画質を更に向上させることができる。
《実施形態2》
本発明の実施形態2による表示装置は、実施形態1によるものとは異なり、図5に示されているステップS25による立体視映像のマッピングの適否判断において、オブジェクトの表面の曲率ではなく、その表面を構成する各ポリゴンの頂点の照度を評価する。その点を除き、実施形態2による表示装置は実施形態1によるものと構成及び機能が等しい。従って、以下では、実施形態2による表示装置のうち、実施形態1によるものからの変更部分及び拡張部分について説明する。実施形態1による表示装置と同様な部分については、上記の実施形態1についての説明を援用する。
図14は、図5に示されているステップS25のフローチャートである。本発明の実施形態2では実施形態1とは異なり、判断部161Aは以下のように、オブジェクトの表面を構成するポリゴンの頂点の照度に応じて、その表面への写真/動画のマッピングの適否を判断する。以下の説明では、各頂点の法線ベクトルを上記の第1の方法で算定する場合を想定する。オブジェクトの3Dデータが各頂点の法線ベクトルを規定している場合、ステップS61及びS62はスキップされる。
ステップS61では、判断部161Aはレンダリング部162にオブジェクトの3Dデータを参照させて、各ポリゴンの法線ベクトルを算定させる。その後、処理はステップS62へ進む。
ステップS62では、判断部161Aはレンダリング部162に各ポリゴンの法線ベクトルを平均させることによって、各頂点の法線ベクトルを算定させる。その具体的な評価方法については後述する。その後、処理はステップS63へ進む。
ステップS63では、判断部161Aはレンダリング部162に、所定の反射光モデルを利用させて、各頂点の法線ベクトルからその頂点の照度を算定させる。その反射光モデルとしてはランバート・モデル又はフォン・モデルが利用される。その後、処理はステップS64へ進む。
ステップS64では、判断部161Aは、各頂点の照度の中から最大値と最小値とを決定して、それらの間の差を計算する。その後、処理はステップS65へ進む。
ステップS65では、判断部161Aは、ステップS64で計算された差を所定の閾値と比較して、その閾値以上であるか否かを判別する。ここで、その閾値は、制御部161によって予めメモリ部161Bに保存されたものであり、オブジェクトの表面が次のいずれかの状態であるときにおける、各頂点の照度の中での最大値と最小値との間の差を表す。第1の状態は、オブジェクトの表面の曲率を0から徐々に増大させた場合、その表面にマッピングされた立体視映像が立体的には見えなくなるときの状態を表す。表面の曲率が十分に大きい場合、その表面を構成するポリゴンのいずれかの頂点はその表面自体の影に隠れる。頂点の照度の最大値と最小値との間の差は、その影の濃さで表面の曲率を評価するものとみなせる。第2の状態は、オブジェクトの表面を、視方向に対して垂直な状態から徐々に傾けた場合、その表面にマッピングされた立体視映像が立体的には見えなくなるほど傾いた状態を表す。表面の傾きが十分に大きい場合、その表面のうち、視点に近い部分に位置する頂点と、視点から遠い部分に位置する頂点とでは照度が大きく異なる。頂点の照度の最大値と最小値との間の差は、各頂点と視点との間の距離の差で表面の傾きを評価するものとみなせる。頂点の照度の最大値と最小値との間の差が上記の閾値以上である場合、処理はステップS66へ進み、その閾値未満である場合、処理はステップS67へ進む。
ステップS66では、判断部161Aはテクスチャ・モードを“右目用”に設定する。頂点の照度の最大値と最小値との間の差は閾値以上であるので、オブジェクトの表面は大きく湾曲し、又は視方向に対して大きく傾いている。従って、その表面にマッピングされた立体視映像は立体的には見えない。それ故、オブジェクトの左目用のCG映像に、右目用のCG映像と同じ右目用の写真/動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図5に示されているステップS26へ進む。
ステップS67では、判断部161Aはテクスチャ・モードを“左目用”に設定する。頂点の照度の最大値と最小値との間の差は閾値未満であるので、その表面にマッピングされた立体視映像は正しく立体的に見える。従って、オブジェクトの左目用のCG映像に左目用の写真/動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図5に示されているステップS26へ進む。
[頂点の法線ベクトルの算定]
図14に示されているステップS61では、頂点の法線ベクトルが次のように算定される。図15の(a)は、オブジェクトの表面の一部を構成する三角形メッシュに属するポリゴンの法線ベクトルと頂点の法線ベクトルとを示す模式図である。レンダリング部162はまず、頂点シェーダ222Aを利用して、オブジェクトの3Dデータから各頂点の座標値を読み取り、更にそれらの座標値から各ポリゴンの法線ベクトルN[k]を求める(k=0、1、2、…)。レンダリング部162は次に、一つの頂点を共有するポリゴンの間で法線ベクトルを平均して、その頂点の法線ベクトルとして決定する。図15の(a)に示されている例では1番目の頂点Ve[0]が6個のポリゴンに共有されている。従って、まず、それらのポリゴンの法線ベクトルN[k](k=0、1、2、…、5)の平均値が1番目の頂点Ve[0]の法線ベクトルNv[0]として決定される:Nv[0]=Normalize{(N[0]+N[1]+…+N[5])/6}。同様に、2番目の頂点Ve[1]と3番目の頂点Ve[2]とのそれぞれを共有するポリゴンの法線ベクトルの平均値が、各頂点Ve[1]、Ve[2]の法線ベクトルNv[1]、Nv[2]として決定される。
[実施形態2の効果]
図15の(b)は、平板状のオブジェクトのCG映像を示す模式図である。図15の(b)を参照するに、そのオブジェクトBOBは、3D仮想空間内では、視点VPからの視方向に対して大きく傾いている。すなわち、視点VPに面したオブジェクトBOBの表面は、その視点VPに対する投影面SCRに対して大きく傾いている。その結果、その表面の中では、例えば、視点VPに最も近い角CR1の照度が最大であり、視点VPから最も遠い角CR2の照度が最小である。このように、オブジェクトの表面の形状が平面的であっても、視方向からの傾きが十分に大きければ、その表面の各部の照度に差が生じる。更に、一般には、その傾きが大きいほどその差は大きい。従って、照度の最大値と最小値との間の差からオブジェクトの表面の傾きを評価することができる。
図15の(c)は、3枚の平板状のオブジェクトの立体視CG映像BO1、BO2、BO3と、それぞれにマッピングされた“星”、“木”、“円”の立体視映像VST、VTR、VCRとを示す模式図である。図15の(c)に示されているように、第1のオブジェクトの立体視CG映像B01と第3のオブジェクトの立体視CG映像B03とは画面SCRに対して大きく傾いている。その場合、それらのCG映像BO1、BO3には、“星”、“円”の各右目用の映像のみがマッピングされるので、“星”、“円”の各立体視映像VST、VCRは、各オブジェクトの立体視映像BO1、BO3と同じ奥行きに位置しており、特に各表面に貼り付いているように見える。一方、第2のオブジェクトの立体視CG映像B02は画面SCRに対してほぼ平行である。その場合、第2のオブジェクトの右目用CG映像には“木”の右目用映像がマッピングされ、第2のオブジェクトの左目用CG映像には“木”の左目用映像がマッピングされる。その結果、“木”の立体視映像VTRは、図15の(c)に示されているように、第2のオブジェクトの立体視映像BO2よりも手前に飛び出しているように見える。
図15の(c)に示されているように、本発明の実施形態2による表示装置は、写真/動画の映像をオブジェクトの表面にマッピングする場合、その表面を構成するポリゴンの頂点間での照度の差が比較的小さいときには、その表面に写真/動画の立体視映像をマッピングし、比較的大きいときには(右目用の)平面視映像をマッピングする。それにより、その表示装置は、オブジェクトの表面が画面に対して比較的平行であれば、写真/動画をその表面から浮かび上がるように、又は沈み込むように見せることができる。一方、そのオブジェクトの表面が平面的であっても画面に対して傾き、立体視映像をその表面にマッピングしても立体的には見えない状態であれば、その表示装置は右目用の写真/動画のみをレンダリング部162に処理させればよい。それにより、マッピング処理に必要な負荷、特にメモリ部161Bからレンダリング部162へのbitBLTに必要な負荷が軽減されるので、写真/動画をオブジェクトのCG映像に合成する処理が更に円滑化される。その結果、その表示装置はそれらの合成映像の画質を更に向上させることができる。
《実施形態3》
本発明の実施形態3による表示装置は、実施形態1によるものとは異なり、図5に示されているステップS25による立体視映像のマッピングの適否判断において、オブジェクトの表面の曲率ではなく、その重心の動きを評価する。その点を除き、実施形態3による表示装置は実施形態1によるものと構成及び機能が等しい。従って、以下では、実施形態3による表示装置のうち、実施形態1によるものからの変更部分及び拡張部分について説明する。実施形態1による表示装置と同様な部分については、上記の実施形態1についての説明を援用する。
図16は、図5に示されているステップS25のフローチャートである。本発明の実施形態3では実施形態1とは異なり、判断部161Aは以下のように、連続する二枚のフレーム間でのオブジェクトの重心の変位量に応じて、そのオブジェクトの表面への写真/動画のマッピングの適否を判断する。
ステップS71では、判断部161Aはレンダリング部162にオブジェクトの3Dデータを参照させて、カレント・フレームにおける各頂点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に格納される。その後、処理はステップS72へ進む。
ステップS72では、判断部161Aはまず、メモリ部161Bから、カレント・フレームの一つ前のフレームにおけるオブジェクトの重心の座標値VG0を読み出す。判断部161Aは次に、その読み出された座標値VG0と、ステップS71で算定された座標値VG1との間の差の大きさ|VG1−VG0|を求める。その差は、前のフレームとカレント・フレームとの間におけるオブジェクトの重心の変位量を表す。その後、処理はステップS73へ進む。
ステップS73では、判断部161Aは、ステップS72で計算された変位量|VG1−VG0|を所定の閾値と比較して、その閾値以上であるか否かを判別する。ここで、その閾値は、制御部161によって予めメモリ部161Bに保存されたものであり、オブジェクトの表面にマッピングされた立体視映像が立体的には見えなくなるときの、1フレーム期間でのそのオブジェクトの重心の変位量、すなわちオブジェクトの重心速度を表す。ステップS72で計算された変位量|VG1−VG0|が上記の閾値以上である場合、処理はステップS74へ進み、その閾値未満である場合、処理はステップS75へ進む。
ステップS74では、判断部161Aはテクスチャ・モードを“右目用”に設定する。オブジェクトの重心速度は閾値以上であるので、そのオブジェクトの表面の動きは、その表面にマッピングされた立体視映像を立体的に見るには速すぎる。それ故、オブジェクトの左目用のCG映像に、右目用のCG映像と同じ右目用の写真/動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図5に示されているステップS26へ進む。
ステップS75では、判断部161Aはテクスチャ・モードを“左目用”に設定する。オブジェクトの重心速度は閾値未満であるので、その表面にマッピングされた立体視映像は正しく立体的に見える。従って、オブジェクトの左目用のCG映像に左目用の写真/動画がマッピングされるようにテクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図5に示されているステップS26へ進む。
[実施形態3の効果]
図17の(a)は、平板状のオブジェクトの立体視CG映像PL1と、それにマッピングされた“木”の立体視映像TR1とを示す模式図である。オブジェクトの立体視CG映像PL1は画面SCRに対して静止している。その場合、連続するフレーム間でそのオブジェクトの立体視CG映像PL1の重心は変位していない。従って、そのオブジェクトの右目用CG映像には“木”の右目用映像がマッピングされ、そのオブジェクトの左目用CG映像には“木”の左目用映像がマッピングされる。その結果、“木”の立体視映像TR1は、図17の(a)に示されているように、そのオブジェクトの立体視映像PL1よりも手前に飛び出しているように見える。
図17の(b)は、(a)に示されているフレームの次のフレームにおけるオブジェクトの立体視CG映像PL2と“木”の立体視映像TR2とを示す模式図である。図17の(b)に矢印AR1で示されているように、オブジェクトの立体視CG映像PL2の重心は、前のフレームでの立体視CG映像PL1の重心から大きく変位している。その場合、そのオブジェクトの左目用CG映像と右目用CG映像とのいずれにも、“木”の右目用映像のみがマッピングされる。従って、“木”の立体視映像TR2は、オブジェクトの立体視CG映像PL2と同じ奥行きに位置しており、特にその表面に貼り付いているように見える。同様に、フレームが切り換えられる度にオブジェクトの立体視CG映像の重心が大きく変位する間、その立体視CG映像には“木”の右目用映像のみがマッピングされる。それ故、その間、“木”の立体視映像はオブジェクトの立体視CG映像に貼り付いた状態で、その立体視CG映像と共に移動するように見える。
図17の(c)は、(b)に示されているフレームから数フレーム後におけるオブジェクトの立体視CG映像PL3と“木”の立体視映像TR3とを示す模式図である。オブジェクトの立体視CG映像PL3は再び、画面SCRに対して静止している。その場合、連続するフレーム間でそのオブジェクトの立体視CG映像PL3の重心は変位していない。従って、そのオブジェクトの右目用CG映像には“木”の右目用映像がマッピングされ、そのオブジェクトの左目用CG映像には“木”の左目用映像がマッピングされる。その結果、“木”の立体視映像TR3は、図17の(c)に示されているように、そのオブジェクトの立体視映像PL3よりも手前に飛び出しているように見える。
図17の(a)−(c)に示されているように、本発明の実施形態3による表示装置は、写真/動画の映像をオブジェクトの表面にマッピングする場合、連続する二枚のフレーム間でそのオブジェクトの重心の変位が比較的小さいときには、そのオブジェクトの表面に写真/動画の立体視映像をマッピングし、比較的大きいときには(右目用の)平面視映像をマッピングする。それにより、その表示装置は、オブジェクトの動きが比較的ゆっくりであれば、写真/動画をその表面から浮かび上がるように、又は沈み込むように見せることができる。一方、そのオブジェクトの動きが速く、立体視映像をその表面にマッピングしても立体的には見えない状態であれば、その表示装置は右目用の写真/動画のみをレンダリング部162に処理させればよい。それにより、マッピング処理に必要な負荷、特にメモリ部161Bからレンダリング部162へのbitBLTに必要な負荷が軽減されるので、写真/動画をオブジェクトのCG映像に合成する処理が更に円滑化される。その結果、その表示装置はそれらの合成映像の画質を更に向上させることができる。
《実施形態4》
本発明の実施形態4による表示装置は、実施形態1によるものとは異なり、図3に示されいてる右目用のフレームを作成するステップS11において、図5に示されているステップS24に代えて、オブジェクトの平面視映像の動きを判定するステップを行う。その点を除き、実施形態4による表示装置は実施形態1によるものと構成及び機能が等しい。従って、以下では、実施形態4による表示装置のうち、実施形態1によるものからの変更部分及び拡張部分について説明する。実施形態1による表示装置と同様な部分については、上記の実施形態1についての説明を援用する。
図18は、本発明の実施形態4による表示装置が、図3に示されているステップS11を行う際のフローチャートである。図18を参照するに、ステップS23では、判断部161Aはオブジェクトの形状データを参照して、その形状データが2Dデータであるか否かを判別する。形状データが2Dデータである場合、処理はステップS84へ進み、形状データが2Dデータでない場合、処理はステップS25へ進む。
ステップS84では、オブジェクトは平面視CG映像であり、全体が画面と同じ奥行きに見える平面的なものである。判断部161Aは、以下に示すように、連続する二枚のフレーム間におけるオブジェクトの代表点の変位量からテクスチャ・モードを決定する。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理はステップS26へ進む。
図19は、図18に示されているステップS84のフローチャートである。本発明の実施形態4では実施形態1とは異なり、判断部161Aは、形状データが2Dデータであっても、以下のように、連続する二枚のフレーム間でのオブジェクトの代表点、例えば重心の変位量に応じて、そのオブジェクトの表面への写真/動画のマッピングの適否を判断する。ここで、代表点は重心の他に、オブジェクトの境界等、いずれかの部分に固定された点であってもよい。
ステップS91では、判断部161Aはレンダリング部162にオブジェクトの2Dデータを参照させて、カレント・フレームにおける各頂点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に格納される。その後、処理はステップS92へ進む。
ステップS92では、判断部161Aはまず、メモリ部161Bから、カレント・フレームの一つ前のフレームにおけるオブジェクトの重心の座標値VG0を読み出す。判断部161Aは次に、その読み出された座標値VG0と、ステップS91で算定された座標値VG1との間の差の大きさ|VG1−VG0|を求める。その差は、前のフレームとカレント・フレームとの間におけるオブジェクトの重心の変位量を表す。その後、処理はステップS93へ進む。
ステップS93では、判断部161Aは、ステップS92で計算された変位量|VG1−VG0|を所定の閾値と比較して、その閾値以上であるか否かを判別する。ここで、その閾値は、制御部161によって予めメモリ部161Bに保存されたものであり、オブジェクトの表面にマッピングされた立体視映像が立体的には見えなくなるときのオブジェクトの重心速度を表す。ステップS92で計算された変位量|VG1−VG0|が上記の閾値以上である場合、処理はステップS94へ進み、その閾値未満である場合、処理はステップS95へ進む。
ステップS94では、判断部161Aはテクスチャ・モードを“右目用”に設定する。オブジェクトの重心速度は閾値以上であるので、そのオブジェクトの表面の動きは、その表面にマッピングされた立体視映像を立体的に見るには速すぎる。それ故、オブジェクトの左目用のCG映像に、右目用のCG映像と同じ右目用の写真/動画がマッピングされるように、テクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後、処理は、図18に示されているステップS26へ進む。
ステップS95では、判断部161Aはテクスチャ・モードを“左目用”に設定する。オブジェクトの重心速度は閾値未満であるので、その表面にマッピングされた立体視映像は正しく立体的に見える。従って、オブジェクトの左目用のCG映像に左目用の写真/動画がマッピングされるようにテクスチャ・モードが設定される。そのテクスチャ・モードはメモリ部161Bに保存される。その後処理は、図18に示されているステップS26へ進む。
[実施形態4の効果]
図20の(a)は、矩形状のオブジェクトの平面視CG映像MV1と、それにマッピングされた“木”の立体視映像ST1とを示す模式図である。オブジェクトの平面視CG映像MV1は画面SCR上に静止している。その場合、連続するフレーム間でそのオブジェクトの平面視CG映像MV1の重心は変位していない。従って、そのオブジェクトのCG映像に“木”の右目用映像がマッピングされて右目用の平面視映像が合成される。一方、同じオブジェクトのCG映像に“木”の左目用映像がマッピングされて左目用の平面視映像が合成される。その結果、“木”の立体視映像ST1は、図20の(a)に示されているように、そのオブジェクトの平面視CG映像MV1よりも手前に飛び出しているように見える。
図20の(b)は、(a)に示されているフレームの次のフレームにおけるオブジェクトの平面視CG映像MV2と“木”の立体視映像ST2とを示す模式図である。図20の(b)に矢印AR2で示されているように、オブジェクトの平面視CG映像MV2の重心は、前のフレームでの平面視CG映像MV1の重心から大きく変位している。その場合、そのオブジェクトのCG映像には“木”の右目用映像のみがマッピングされて、左目用と右目用との各平面視映像が合成される。従って、“木”の立体視映像ST2は、オブジェクトの平面視CG映像MV2と同じく、画面に貼り付いているように見える。同様に、フレームが切り換えられる度にオブジェクトの平面視CG映像の重心が大きく変位する間、その平面視CG映像には“木”の右目用映像のみがマッピングされる。それ故、その間、“木”の立体視映像はオブジェクトの平面視CG映像と共に、画面上を移動するように見える。
図20の(c)は、(b)に示されているフレームから数フレーム後におけるオブジェクトの平面視CG映像MV3と“木”の立体視映像ST3とを示す模式図である。オブジェクトの立体視CG映像MV3は再び、画面SCR上に静止している。その場合、連続するフレーム間でそのオブジェクトの平面視CG映像MV3の重心は変位していない。従って、そのオブジェクトのCG映像には“木”の右目用映像がマッピングされて右目用の平面視映像が合成され、そのオブジェクトのCG映像に“木”の左目用映像がマッピングされて左目用の平面視映像が合成される。その結果、“木”の立体視映像ST3は、図20の(c)に示されているように、そのオブジェクトの平面視CG映像MV3よりも手前に飛び出しているように見える。
図20の(a)−(c)に示されているように、本発明の実施形態4による表示装置は、写真/動画の映像をオブジェクトの表面にマッピングする場合、連続するフレーム間でそのオブジェクトの重心の変位が比較的小さいときには、そのオブジェクトの表面に写真/動画の立体視映像をマッピングし、比較的大きいときには(右目用の)平面視映像をマッピングする。それにより、その表示装置は、オブジェクトの動きが比較的ゆっくりであれば、写真/動画をその表面から浮かび上がるように、又は沈み込むように見せることができる。一方、そのオブジェクトの表面が平面的であっても、そのオブジェクトの動きが速く、立体視映像をその表面にマッピングしても立体的には見えない状態であれば、その表示装置は右目用の写真/動画のみをレンダリング部162に処理させればよい。それにより、マッピング処理に必要な負荷、特にメモリ部161Bからレンダリング部162へのbitBLTに必要な負荷が軽減されるので、写真/動画をオブジェクトのCG映像に合成する処理が更に円滑化される。その結果、その表示装置はそれらの合成映像の画質を更に向上させることができる。
《変形例》
(A)本発明の上記の実施形態では、図3に示されているように、1フレームの立体視映像を表示する際に右目用のフレームを左目用のフレームよりも先に生成する。その他に、左目用のフレームを右目用のフレームよりも先に生成してもよい。その場合、テクスチャ・モードの設定は上記の例とは逆である。例えば、図5に示されているステップS24では、オブジェクトの右目用のCG映像には右目用の写真/動画がマッピングされるべきであるので、テクスチャ・モードが“右目用”に設定される。また、図7では、オブジェクトの表面の曲率が閾値以上である場合、処理はステップS35へ進み、その閾値未満である場合、処理はステップS34へ進む。ステップS35では、オブジェクトの表面の曲率は閾値以上であるので、判断部161Aはテクスチャ・モードを“左目用”に設定して、そのオブジェクトの右目用CG映像に、左目用CG映像と同じ左目用の写真/動画がマッピングされるようにする。一方、ステップS34では、オブジェクトの表面の曲率は閾値未満であるので、判断部161Aはテクスチャ・モードを“右目用”に設定して、そのオブジェクトの右目用CG映像に右目用の写真/動画がマッピングされるようにする。
(B)本発明の上記の実施形態はフレーム・シーケンシャル方式を前提とする。その他に、偏光表示方式、又はレンチキュラー方式が利用されてもよい。「偏光表示方式」は、左目用のフレームの表示領域(例えば奇数番目のライン)と右目用のフレームの表示領域(例えば偶数番目のライン)とのそれぞれに、異なる偏光方向のフィルタを設置する。そのとき、視聴者には偏光眼鏡を通して画面を見させる。ここで、その偏光眼鏡では、各レンズに異なる偏光方向のフィルタが設置されている。従って、左目用と右目用とのフレームが視聴者のそれぞれの目だけに見えるので、視聴者に3D映像を見せることができる。「レンチキュラー方式」は、左目用と右目用との各フレームを、縦方向に細長い短冊形の小領域に分割し、一つの画面の中にそれらのフレームの各小領域を横方向に交互に並べて同時に表示する。ここで、画面の表面はレンチキュラーレンズで覆われている。レンチキュラーレンズは、細長い蒲鉾レンズを複数平行に並べて一枚のシート状にしたものである。各蒲鉾レンズは画面の表面を縦方向に延びている。レンチキュラーレンズを通して上記のフレームを視聴者に見せるとき、左目用フレームの表示領域からの光は視聴者の左目だけに結像し、右目用フレームの表示領域からの光は右目だけに結像する。こうして、左右の目に映る映像間での両眼視差により、視聴者には3D映像が見える。尚、この方式では、レンチキュラーレンズに代えて、同様な機能を持つ液晶素子等の他の光学部品が利用されてもよい。
図1に示されている出力部162Cはフレームの出力形式を、表示部170による3D映像の表示方式に合わせて変換する。表示部170が偏光表示方式を利用するとき、出力部162Cは内蔵のバッファ・メモリを利用して、左目用のフレームと右目用のフレームとの対を一つのフレームに合成する。具体的には、出力部162Cは、先に合成された右目用のフレームを一旦そのバッファ・メモリに格納して保持する。出力部162Cは続いて左目用のフレームを合成して、バッファ・メモリに保持された右目用のフレームと更に合成する。その合成では、左目用のフレームと右目用のフレームとがライン単位で交互に並べられて一つのフレームに再構成される。表示部170がレンチキュラー方式を利用するときも同様に、出力部162Cは内蔵のバッファ・メモリを利用して、左目用のフレームと右目用のフレームとの対を一つのフレームに合成する。具体的には、出力部162Cは、先に合成された右目用のフレームを一旦そのバッファ・メモリに格納して保持する。出力部162Cは続いて左目用のフレームを合成して、バッファ・メモリに保持された右目用のフレームと更に合成する。その合成では、左目用のフレームと右目用のフレームとがそれぞれ、縦方向に細長い短冊形の小領域に分割され、各小領域が一つのフレームの中に横方向に交互に並べられて一つのフレームに再構成される。こうして、合成された一つのフレームが表示部170へ送出される。
(C)一つのフレームに複数のオブジェクトが表示される場合、表示装置は次のように、各オブジェクトについて個別にテクスチャ・モードを決定してもよい。図21は、その表示装置が立体視映像の写真/動画をオブジェクトのCG映像にマッピングして右目用と左目用との各フレームを作成する処理のフローチャートである。表示装置は、図1に示されている操作部140を通してビューワー機能又はスライドショー機能の実行をユーザに指示されたときに、この処理を開始する。
ステップS101では、表示装置は、整数値変数Nを“1”に初期化する。次のステップS11では、表示装置は、N番目のオブジェクトの右目用CG映像に右目用の写真/動画をマッピングした映像を作成し、右目用のフレームに合成する。続くステップS102では、表示装置は、変数Nがオブジェクトの総数に達しているか否かを判別する。変数Nがオブジェクトの総数よりも小さい場合、処理はステップS103へ進む。変数Nがオブジェクトの総数に等しい場合、処理はステップS104へ進む。ステップS103では、変数Nに1を加えた値を新たな変数Nとする。その後、処理はステップS11から繰り返される。こうして、ステップS11−S103が反復されることにより、全てのオブジェクトの右目用CG映像に右目用の写真/動画がマッピングされ、それらが一つの右目用のフレームに合成される。そのフレームのデータは表示部170へ送出される。更に、全てのオブジェクトに対するテクスチャ・モードの一覧がメモリ部161Bに保存される。
ステップS104では、表示装置は、整数値変数Nを再び“1”に初期化する。次のステップS12では、表示装置はまず、テクスチャ・モードの一覧を参照して、N番目のオブジェクトの左目用CG映像に、左目用と右目用とのいずれの写真/動画をマッピングすべきか判断する。表示装置は次に、その判断の結果が示す写真/動画をN番目のオブジェクトの左目用CG映像にマッピングし、得られた映像を左目用のフレームに合成する。続くステップS105では、表示装置は、変数Nがオブジェクトの総数に達しているか否かを判別する。変数Nがオブジェクトの総数よりも小さい場合、処理はステップS106へ進む。変数Nがオブジェクトの総数に等しい場合、処理はステップS13へ進む。ステップS106では、変数Nに1を加えた値を新たな変数Nとする。その後、処理はステップS12から繰り返される。こうして、ステップS12−S106が反復されることにより、全てのオブジェクトの左目用CG映像に写真/動画がマッピングされ、それらが一つの左目用のフレームに合成される。そのフレームのデータは表示部170へ送出される。ステップS13では、表示装置は写真/動画の中に次のフレームが存在するかを調べる。次のフレームが存在する場合、処理はステップS101から繰り返される。次のフレームが存在しない場合、処理は終了する。
(D)本発明の上記の実施形態では、図5に示されているとおり、オブジェクトの形状データが2Dデータである場合、写真/動画は立体視映像として、そのオブジェクトの平面視CG映像にマッピングされる。その他に、オブジェクトの形状データが2Dデータである場合には、写真/動画も平面視映像として、そのオブジェクトの平面視CG映像にマッピングされてもよい。その場合、オブジェクトのCG映像と写真/動画とは同じ奥行きで表示される。
図22は、上記の場合において、表示装置が写真/動画をオブジェクトのCG映像にマッピングする処理のフローチャートである。表示装置は、図1に示されている操作部140を通してビューワー機能又はスライドショー機能の実行をユーザに指示されたときに、この処理を開始する。図22に示されているフローチャートは、図3、5に示されているものとは異なり、ステップS24に代えて、平面視映像のフレーム、すなわち2Dフレームを作成するステップS111、S112を含む。その点を除き、図22に示されているフローチャートは、図3、5に示されているものと共通する。従って、以下では、図22に示されているステップのうち、実図3、5に示されているものからの変更部分及び拡張部分について説明する。図3、5に示されているステップと同様なステップについては、図3、5についての説明を援用する。
図22を参照するに、ステップS23では、判断部161Aはオブジェクトの形状データを参照して、その形状データが2Dデータであるか否かを判別する。形状データが2Dデータである場合、処理はステップS111へ進み、形状データが2Dデータでない場合、処理はステップS25へ進む。
ステップS111では、制御部161はレンダリング部162に右目用カメラ・パラメータを利用させて、オブジェクトの2Dデータに視野座標変換を施させる。具体的には、制御部161はレンダリング部162に、まず、2Dデータの表す頂点の座標値を4次元同次座標値に変換させる。すなわち、(i+1)番目の頂点Ve[i](i=0、1、2、…)の2D座標値(x[i],y[i])Tは4次元同次座標値Vh[i]=(x[i],y[i],0,1)Tに変換される。次に、制御部161はレンダリング部162に、右目用カメラ・パラメータの表す座標変換行列Mvと各頂点の4次元同次座標値Vh[i]=(x[i],y[i],0,1)Tとの積Mv*Vh[i]を計算させる。これらの演算には頂点シェーダ222Aが利用される。その後、処理はステップS112へ進む。
ステップS112では、制御部161はマッピング部162Aに、視野座標値で表された形状データを利用させて、右目用の写真/動画をオブジェクトのCG映像にマッピングさせる。そのマッピング処理の詳細は上記のものと同様である。こうして、右目用の写真/動画がオブジェクトのCG映像に合成されて2Dフレームが作成される。その後、処理は、左目用のフレームを作成するステップS12をスキップして、図3に示されているステップS13へ進む。
図22に示されている例では、オブジェクトの形状データが2Dデータである場合に、写真/動画とオブジェクトとの合成映像が自動的に平面視映像として表示される。その他に、表示装置は操作部140を利用して、写真/動画とオブジェクトとの合成映像を立体視映像として表示すべきか否かをユーザに選択させてもよい。
本発明は立体視映像の表示技術に関し、上記のとおり、オブジェクトのCG映像に他の映像をマッピングして合成する。このように、本発明は明らかに産業上利用可能である。
POB オブジェクト
POL オブジェクトPOBの左目用の平面視CG映像
POR オブジェクトPOBの右目用の平面視CG映像
SCL 左目用2D画面
SCR 右目用2D画面
VPL 視聴者の左目の視点
VPR 視聴者の右目の視点
LV “木”の左目用映像
RV “木”の右目用映像
SV1 “木”の立体視映像
SV2 オブジェクトの立体視CG映像

Claims (12)

  1. オブジェクトに映像をマッピングして一つのコンピュータ・グラフィックス(CG)映像に合成する装置であって、
    前記オブジェクトの形状を表す形状データ、及び、一つの立体視映像を表す左目用と右目用との映像データの対を記憶しているメモリ部、
    前記形状データから、前記オブジェクトが前記立体視映像のマッピングに適しているか否かを判断する判断部、並びに、
    前記オブジェクトが前記立体視映像のマッピングに適していると前記判断部が判断した場合、前記左目用の映像データを前記形状データに合成して左目用のCGデータを作成すると共に、前記右目用の映像データを前記形状データに合成して右目用のCGデータを作成し、前記オブジェクトが前記立体視映像のマッピングに適していないと前記判断部が判断した場合、前記左目用の映像データと前記右目用の映像データとのいずれかのみを前記形状データに合成して左目用のCGデータと右目用のCGデータとを作成するマッピング部、
    を備えているCG映像合成装置。
  2. 前記形状データは、前記オブジェクトの3次元(3D)仮想空間内での形状を表す3Dデータであり、
    前記判断部は、前記3Dデータから、前記オブジェクトを構成する各ポリゴンの法線ベクトルを計算し、計算された法線ベクトルの集合から前記オブジェクトの表面の曲率を評価し、前記曲率が所定の閾値未満である場合、前記オブジェクトが前記立体視映像のマッピングに適していると判断し、前記曲率が前記閾値を超えている場合、前記オブジェクトが前記立体視映像のマッピングに適していないと判断する、
    請求項1に記載のCG映像合成装置。
  3. 前記形状データは、前記オブジェクトの3D仮想空間内での形状を表す3Dデータであり、
    前記判断部は、前記3Dデータから、前記オブジェクトを構成する各ポリゴンの頂点における照度を計算し、計算された照度全体での最大値と最小値との間の差が所定の閾値未満である場合、前記オブジェクトが前記立体視映像のマッピングに適していると判断し、前記差が前記閾値を超えている場合、前記オブジェクトが前記立体視映像のマッピングに適していないと判断する、
    請求項1に記載のCG映像合成装置。
  4. 前記形状データは、前記オブジェクトの3D仮想空間内での形状を表す3Dデータであり、
    前記判断部は、前記CG映像のフレームごとに、前記オブジェクトを構成する各ポリゴンの頂点から前記オブジェクトの代表点を求め、連続する二つのフレームの間で前記オブジェクトの代表点の変位の大きさが所定の閾値未満である場合、前記オブジェクトが前記立体視映像のマッピングに適していると判断し、前記変位の大きさが前記閾値を超えている場合、前記オブジェクトが前記立体視映像のマッピングに適していないと判断する、
    請求項1に記載のCG映像合成装置。
  5. 前記形状データは、前記オブジェクトの2次元(2D)画面上での形状を表す2Dデータであり、
    前記判断部は、前記CG映像のフレームごとに前記2Dデータから前記オブジェクトの代表点を求め、連続する二つのフレームの間で前記オブジェクトの代表点の変位の大きさが所定の閾値未満である場合、前記オブジェクトが前記立体視映像のマッピングに適していると判断し、前記変位の大きさが前記閾値を超えている場合、前記オブジェクトが前記立体視映像のマッピングに適していないと判断する、
    請求項1に記載のCG映像合成装置。
  6. 前記形状データは、前記オブジェクトの2D画面上での形状を表す2Dデータと、前記オブジェクトの3D仮想空間内での形状を表す3Dデータとのいずれかであり、
    前記判断部は、前記形状データが前記2Dデータと前記3Dデータとのいずれであるかを識別し、前記形状データが前記2Dデータである場合、前記オブジェクトが前記立体視映像のマッピングには適していると判断し、前記形状データが前記3Dデータである場合、前記3Dデータから、前記オブジェクトが前記立体視映像のマッピングに適しているか否かを更に判断する、
    請求項1に記載のCG映像合成装置。
  7. 平面視映像と立体視映像とのいずれが前記オブジェクトにマッピングされるべきかを示すユーザ操作を受け付ける操作部を更に備え、
    前記判断部は、前記平面視映像が前記オブジェクトにマッピングされるべきことを前記ユーザ操作が示す場合、前記オブジェクトが前記立体視映像のマッピングには適していないと判断する、
    請求項1に記載のCG映像合成装置。
  8. オブジェクトに映像をマッピングして一つのCG映像に合成する方法であって、
    前記オブジェクトの形状を表す形状データから、前記オブジェクトが、左目用と右目用との映像データの対で表される立体視映像のマッピングに適しているか否かを判断するステップ、
    前記オブジェクトが前記立体視映像のマッピングに適していると判断された場合、前記左目用の映像データを前記形状データに合成して左目用のCGデータを作成すると共に、前記右目用の映像データを前記形状データに合成して右目用のCGデータを作成するステップ、及び、
    前記オブジェクトが前記立体視映像のマッピングに適していないと判断された場合、前記左目用の映像と前記右目用の映像データとのいずれかのみを前記形状データに合成して左目用のCGデータと右目用のCGデータとを作成するステップ、
    を有するCG映像合成方法。
  9. オブジェクトに映像をマッピングして一つのCG映像に合成する処理をコンピュータに実行させるためのプログラムであって、前記処理が、
    前記オブジェクトの形状を表す形状データから、前記オブジェクトが、左目用と右目用との映像データの対で表される立体視映像のマッピングに適しているか否かを判断するステップ、
    前記オブジェクトが前記立体視映像のマッピングに適していると判断された場合、前記左目用の映像データを前記形状データに合成して左目用のCGデータを作成すると共に、前記右目用の映像データを前記形状データに合成して右目用のCGデータを作成するステップ、及び、
    前記オブジェクトが前記立体視映像のマッピングに適していないと判断された場合、前記左目用の映像と前記右目用の映像データとのいずれかのみを前記形状データに合成して左目用のCGデータと右目用のCGデータとを作成するステップ、
    を有するプログラム。
  10. オブジェクトに映像をマッピングして一つのCG映像に合成する処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記処理が、
    前記オブジェクトの形状を表す形状データから、前記オブジェクトが、左目用と右目用との映像データの対で表される立体視映像のマッピングに適しているか否かを判断するステップ、
    前記オブジェクトが前記立体視映像のマッピングに適していると判断された場合、前記左目用の映像データを前記形状データに合成して左目用のCGデータを作成すると共に、前記右目用の映像データを前記形状データに合成して右目用のCGデータを作成するステップ、及び、
    前記オブジェクトが前記立体視映像のマッピングに適していないと判断された場合、前記左目用の映像と前記右目用の映像データとのいずれかのみを前記形状データに合成して左目用のCGデータと右目用のCGデータとを作成するステップ、
    を有する記録媒体。
  11. オブジェクトに映像をマッピングして一つのCG映像に合成する装置に搭載される集積回路であって、
    前記オブジェクトの形状を表す形状データ、及び、一つの立体視映像を表す左目用と右目用との映像データの対を記憶しているメモリ部、
    前記形状データから、前記オブジェクトが前記立体視映像のマッピングに適しているか否かを判断する判断部、並びに、
    前記オブジェクトが前記立体視映像のマッピングに適していると前記判断部が判断した場合、前記左目用の映像データを前記形状データに合成して左目用のCGデータを作成すると共に、前記右目用の映像データを前記形状データに合成して右目用のCGデータを作成し、前記オブジェクトが前記立体視映像のマッピングに適していないと前記判断部が判断した場合、前記左目用の映像と前記右目用の映像データとのいずれかのみを前記形状データに合成して左目用のCGデータと右目用のCGデータとを作成するマッピング部、
    を備えている集積回路。
  12. オブジェクトに映像をマッピングして一つのCG映像として表示する装置であって、
    前記オブジェクトの形状を表す形状データ、及び、一つの立体視映像を表す左目用と右目用との映像データの対を記憶しているメモリ部、
    前記形状データから、前記オブジェクトが前記立体視映像のマッピングに適しているか否かを判断する判断部、
    前記オブジェクトが前記立体視映像のマッピングに適していると前記判断部が判断した場合、前記左目用の映像データを前記形状データに合成して左目用のCGデータを作成すると共に、前記右目用の映像データを前記3Dデータに合成して右目用のCGデータを作成し、前記オブジェクトが前記立体視映像のマッピングに適していないと前記判断部が判断した場合、前記左目用の映像と前記右目用の映像データとのいずれかのみを前記形状データに合成して左目用のCGデータと右目用のCGデータとを作成するマッピング部、並びに、
    表示パネルを含み、前記左目用のCGデータの表す左目用のCG映像と、前記右目用のCGデータの表す右目用のCG映像とを交互に前記表示パネルに表示させる表示部、
    を備えている表示装置。
JP2011534967A 2010-02-23 2011-02-22 コンピュータ・グラフィックス映像合成装置と方法、及び表示装置 Expired - Fee Related JP5628819B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011534967A JP5628819B2 (ja) 2010-02-23 2011-02-22 コンピュータ・グラフィックス映像合成装置と方法、及び表示装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2010036794 2010-02-23
JP2010036794 2010-02-23
JP2010182039 2010-08-17
JP2010182039 2010-08-17
PCT/JP2011/000978 WO2011105048A1 (ja) 2010-02-23 2011-02-22 コンピュータ・グラフィックス映像合成装置と方法、及び表示装置
JP2011534967A JP5628819B2 (ja) 2010-02-23 2011-02-22 コンピュータ・グラフィックス映像合成装置と方法、及び表示装置

Publications (2)

Publication Number Publication Date
JPWO2011105048A1 JPWO2011105048A1 (ja) 2013-06-20
JP5628819B2 true JP5628819B2 (ja) 2014-11-19

Family

ID=44506481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011534967A Expired - Fee Related JP5628819B2 (ja) 2010-02-23 2011-02-22 コンピュータ・グラフィックス映像合成装置と方法、及び表示装置

Country Status (4)

Country Link
US (1) US8866887B2 (ja)
JP (1) JP5628819B2 (ja)
CN (1) CN102362294B (ja)
WO (1) WO2011105048A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9165393B1 (en) * 2012-07-31 2015-10-20 Dreamworks Animation Llc Measuring stereoscopic quality in a three-dimensional computer-generated scene
JP6116164B2 (ja) * 2012-09-11 2017-04-19 株式会社キーエンス 形状測定装置、形状測定方法および形状測定プログラム
US9965893B2 (en) * 2013-06-25 2018-05-08 Google Llc. Curvature-driven normal interpolation for shading applications
CN105378573B (zh) 2013-07-19 2017-12-22 富士通株式会社 信息处理装置、检查范围的计算方法
JP2015169684A (ja) * 2014-03-05 2015-09-28 カシオ計算機株式会社 画像表示装置、画像表示方法、およびプログラム
CN105741344A (zh) * 2014-12-10 2016-07-06 富泰华工业(深圳)有限公司 点云精简方法及系统
US10388069B2 (en) * 2015-09-09 2019-08-20 Futurewei Technologies, Inc. Methods and systems for light field augmented reality/virtual reality on mobile devices
CN106971384A (zh) * 2017-03-16 2017-07-21 福建中金在线信息科技有限公司 一种图像处理方法及装置
CN111489411B (zh) * 2019-01-29 2023-06-20 北京百度网讯科技有限公司 线条绘制方法、装置、图像处理器、显卡及车辆

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11234703A (ja) * 1998-02-09 1999-08-27 Toshiba Corp 立体表示装置
JP2001076180A (ja) * 1999-09-07 2001-03-23 Nec Corp 3次元グラフィックス表示装置
JP2004178581A (ja) * 2002-11-12 2004-06-24 Namco Ltd 画像生成システム、画像生成方法、プログラム及び情報記憶媒体
JP2007075630A (ja) * 2006-11-02 2007-03-29 Sophia Co Ltd 遊技機

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267655A (ja) 2002-08-29 2005-09-29 Sharp Corp コンテンツ再生装置、コンテンツ再生方法、コンテンツ再生プログラム、コンテンツ再生プログラムを記録した記録媒体、および携帯通信端末
JP2004145832A (ja) 2002-08-29 2004-05-20 Sharp Corp コンテンツ作成装置、コンテンツ編集装置、コンテンツ再生装置、コンテンツ作成方法、コンテンツ編集方法、コンテンツ再生方法、コンテンツ作成プログラム、コンテンツ編集プログラム、および携帯通信端末
US7321682B2 (en) 2002-11-12 2008-01-22 Namco Bandai Games, Inc. Image generation system, image generation method, program, and information storage medium
JP4365573B2 (ja) 2002-11-13 2009-11-18 株式会社ソフィア 遊技機
US20070236493A1 (en) * 2003-05-27 2007-10-11 Keiji Horiuchi Image Display Apparatus and Program
WO2004107271A1 (ja) * 2003-05-30 2004-12-09 Lattice Technology, Inc. 3次元グラフィックスデータ表示装置
JP4764305B2 (ja) 2006-10-02 2011-08-31 株式会社東芝 立体画像生成装置、方法およびプログラム
JP4836814B2 (ja) 2007-01-30 2011-12-14 株式会社東芝 3dディスプレイ用cg画像生成装置、3dディスプレイ用cg画像生成方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11234703A (ja) * 1998-02-09 1999-08-27 Toshiba Corp 立体表示装置
JP2001076180A (ja) * 1999-09-07 2001-03-23 Nec Corp 3次元グラフィックス表示装置
JP2004178581A (ja) * 2002-11-12 2004-06-24 Namco Ltd 画像生成システム、画像生成方法、プログラム及び情報記憶媒体
JP2007075630A (ja) * 2006-11-02 2007-03-29 Sophia Co Ltd 遊技機

Also Published As

Publication number Publication date
CN102362294B (zh) 2015-07-22
US8866887B2 (en) 2014-10-21
WO2011105048A1 (ja) 2011-09-01
JPWO2011105048A1 (ja) 2013-06-20
CN102362294A (zh) 2012-02-22
US20120013616A1 (en) 2012-01-19

Similar Documents

Publication Publication Date Title
JP5628819B2 (ja) コンピュータ・グラフィックス映像合成装置と方法、及び表示装置
US8750599B2 (en) Stereoscopic image processing method and apparatus
US8791989B2 (en) Image processing apparatus, image processing method, recording method, and recording medium
US7982733B2 (en) Rendering 3D video images on a stereo-enabled display
Tsai et al. A real-time 1080p 2D-to-3D video conversion system
US9106906B2 (en) Image generation system, image generation method, and information storage medium
US8611642B2 (en) Forming a steroscopic image using range map
JP2011090400A (ja) 画像表示装置および方法、並びにプログラム
WO2015196791A1 (zh) 双目三维图形渲染方法及相关系统
TW201921921A (zh) 基於紋理圖與網格之3d影像資訊的處理
US11417060B2 (en) Stereoscopic rendering of virtual 3D objects
US20210382313A1 (en) Image generation appratus, head-mounted display, content processing system, and image display method
US10771758B2 (en) Immersive viewing using a planar array of cameras
WO2018069570A1 (en) Display of visual data with a virtual reality headset
US8976171B2 (en) Depth estimation data generating apparatus, depth estimation data generating method, and depth estimation data generating program, and pseudo three-dimensional image generating apparatus, pseudo three-dimensional image generating method, and pseudo three-dimensional image generating program
JP6166985B2 (ja) 画像生成装置および画像生成プログラム
CN114513646A (zh) 一种三维虚拟场景中全景视频的生成方法及设备
TWM630947U (zh) 立體影像播放裝置
JP7365183B2 (ja) 画像生成装置、ヘッドマウントディスプレイ、コンテンツ処理システム、および画像表示方法
Ludé New Standards for Immersive Storytelling through Light Field Displays
CN116708737A (zh) 立体影像播放装置及其立体影像产生方法
Stone Omnidirectional Stereoscopic Projections for VR.
TW202332263A (zh) 立體影像播放裝置及其立體影像產生方法
JP2012059009A (ja) プログラム、情報記憶媒体及び画像生成システム
Chang et al. A real-time augmented view synthesis system for transparent car pillars

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130621

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141002

LAPS Cancellation because of no payment of annual fees