Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5882367B2 - 立体視3dへの平面視3dのランタイム変換 - Google Patents
[go: Go Back, main page]

JP5882367B2 - 立体視3dへの平面視3dのランタイム変換 - Google Patents

立体視3dへの平面視3dのランタイム変換 Download PDF

Info

Publication number
JP5882367B2
JP5882367B2 JP2013558122A JP2013558122A JP5882367B2 JP 5882367 B2 JP5882367 B2 JP 5882367B2 JP 2013558122 A JP2013558122 A JP 2013558122A JP 2013558122 A JP2013558122 A JP 2013558122A JP 5882367 B2 JP5882367 B2 JP 5882367B2
Authority
JP
Japan
Prior art keywords
projection matrix
view
model view
view projection
content
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
JP2013558122A
Other languages
English (en)
Other versions
JP2014516427A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2014516427A publication Critical patent/JP2014516427A/ja
Application granted granted Critical
Publication of JP5882367B2 publication Critical patent/JP5882367B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the three-dimensional [3D] impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping
    • 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 three-dimensional [3D] object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/286Image signal generators having separate monoscopic and stereoscopic modes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Description

本開示は、グラフィックスデータ処理に関し、より詳細には、立体視ビューのためのグラフィックスデータ処理に関する。
立体視ビューは、3次元(3D)ボリュームを包含するように見える知覚画像を指す。立体視ビューを生成するために、機器が、表示器の2次元(2D)エリア上に2つの画像を表示する。これらの2つの画像は、実質的に同様のコンテンツを含むが、2つの画像中の1つ以上の対応する画素の水平軸に沿ったわずかな変位を伴う。2Dエリア上のこれらの2つの画像の同時視認は、2つの画像を表示している2D表示器から飛び出すか、又は2D表示器に押し込まれる画像を視聴者に知覚させる。このようにして、2つの画像が表示器の2Dエリア上に表示されるが、視聴者は、3Dボリュームを包含するように見える画像を知覚する。
立体視ビューの2つの画像は、それぞれ、左眼画像及び右眼画像と呼ばれる。左眼画像は視聴者の左眼によって視認可能であり、右眼画像は視聴者の左眼によって視認可能でない。同様に、右眼画像は視聴者の右眼によって視認可能であり、左眼画像は視聴者の右眼によって視認可能でない。例えば、視聴者は特殊な眼鏡を着用し得、その眼鏡の左レンズは右眼画像を遮断し、左眼画像を通過させ、その眼鏡の右レンズは左眼画像を遮断し、右眼画像を通過させる。
左眼画像と右眼画像とは、水平軸に沿ったわずかな変位をもつ実質的に同様のコンテンツを含むが、(例えば、特殊な眼鏡のために)視聴者の両眼によって同時に視認可能でないので、視聴者の脳は、2つの画像を混合する(commingle)ことによって、対応する画素間のわずかな変位を解決する。混合することにより、視聴者は、2つの画像を、3Dボリュームをもつ画像として知覚することになる。
本出願は、そのそれぞれの内容全体が参照により本明細書に組み込まれる、2011年3月14日に出願された米国仮出願第61/452,289号、及び2011年4月12日に出願された米国仮出願第61/474,638号の利益を主張する。
本開示では、機器に、3次元(3D)グラフィックスコンテンツを立体視3Dにおいてレンダリングさせることができる方法で、アプリケーションプログラムインターフェース(API)呼を修正するための技法について説明する。本開示の技法は、API呼自体は修正されるが、API自体及びGPUハードウェアは修正されない方法で実施され得る。
一例では、非立体視3DコンテンツをS3Dコンテンツに変換する方法は、アプリケーションプログラムインターフェース(API)呼(application program interface (API) call)を横取りすることと、API呼から、非立体視3Dコンテンツのためのモデルビュー射影行列を決定することと、修正モデルビュー射影行列を生成するためにモデルビュー射影行列を修正することと、修正モデルビュー射影行列に基づいて、左ビュークリッピング座標(left view clipping coordinates)を生成することと、修正モデルビュー射影行列に基づいて、右ビュークリッピング座標(right view clipping coordinates)を生成することと、左ビュークリッピング座標に基づいて、左ビューを生成することと、右ビュークリッピング座標に基づいて、右ビューを生成することと、左ビューと右ビューとに基づいて、S3D画像をレンダリングすることとを含む。
別の例では、機器は、命令を記憶するメモリと、グラフィックス処理ユニット(GPU)と、プロセッサとを含む。プロセッサは、命令の実行時に、アプリケーションプログラムインターフェース(API)呼を横取りすることと、API呼から、非立体視3Dコンテンツのためのモデルビュー射影行列を決定することと、修正モデルビュー射影行列を生成するためにモデルビュー射影行列を修正することと、GPUに、修正モデルビュー射影行列に基づいて左ビュークリッピング座標を生成させることと、GPUに、修正モデルビュー射影行列に基づいて右ビュークリッピング座標を生成させることと、GPUに、左ビュークリッピング座標に基づいて左ビューを生成させることと、GPUに、右ビュークリッピング座標に基づいて右ビューを生成させることと、GPUに、左ビューと右ビューとに基づいてS3D画像をレンダリングさせることとを行うように動作可能である。
別の例では、非立体視3Dコンテンツ(non-stereoscopic 3D content)をS3Dコンテンツに変換するための装置は、アプリケーションプログラムインターフェース(API)呼を横取りするための手段と、API呼から、非立体視3Dコンテンツのためのモデルビュー射影行列を決定するための手段と、修正モデルビュー射影行列を生成するためにモデルビュー射影行列を修正するための手段と、修正モデルビュー射影行列に基づいて左ビュークリッピング座標を生成するための手段と、修正モデルビュー射影行列に基づいて右ビュークリッピング座標を生成するための手段と、左ビュークリッピング座標に基づいて左ビューを生成するための手段と、右ビュークリッピング座標に基づいて右ビューを生成するための手段と、左ビューと右ビューとに基づいてS3D画像をレンダリングするための手段とを含む。
別の例では、コンピュータ可読記憶媒体は、実行されたとき、1つ以上のプロセッサに、アプリケーションプログラムインターフェース(API)呼を横取りすることと、API呼から、非立体視3Dコンテンツのためのモデルビュー射影行列を決定することと、修正モデルビュー射影行列を生成するためにモデルビュー射影行列を修正することと、修正モデルビュー射影行列に基づいて、左ビュークリッピング座標を生成することと、修正モデルビュー射影行列に基づいて、右ビュークリッピング座標を生成することと、左ビュークリッピング座標に基づいて、左ビューを生成することと、右ビュークリッピング座標に基づいて、右ビューを生成することと、左ビューと右ビューとに基づいて、S3D画像をレンダリングすることとを行わせる命令を記憶する。
本開示の1つ以上の態様の詳細を添付の図面及び以下の説明に記載する。本開示の他の特徴、目的、及び利点は、これらの説明及び図面、ならびに特許請求の範囲から明らかになろう。
本開示で説明する1つ以上の例示的な技法を実施し得る例示的なシステムの機能を示すブロック図。 本開示で説明する1つ以上の例示的な技法を実施し得る機器の一例を示すブロック図。 本開示の技法を使用して生成されるS3D視認エリアの幾何学的表現を示す図。 本開示の技法に従って実行され得るビューポートシフトの幾何学的表現を示す図。 図2の例示的な機器を更に詳細に示すブロック図。 本開示で説明する1つ以上の例示的な技法による例示的な動作を示すフローチャート。
本開示で説明する例示的な技法は、実行中又はランタイム中に立体視3次元(S3D)グラフィックをレンダリングすることを対象とする。従来の3Dグラフィックスレンダリングでは、グラフィックス処理ユニット(GPU)が、単一の視点(例えば、モノビュー)から3Dグラフィックスを生成する。この単一の視点は、視聴者の右眼と左眼の両方によって視認可能である単一の画像を意味し得る。
S3Dグラフィックスは、S3Dグラフィックスが立体視ビューを生成するという点で3Dグラフィックスとは異なる。立体視ビューという用語は、両眼視点から生成される画像を指す。両眼視点では、2つの画像があり得、1つの画像は、一方の眼によって視認可能であり、他方の眼によって視認可能でなく、その逆も同様である。例えば、視聴者が双眼鏡を着用したとき、双眼鏡の左レンズを通って入る光は、左眼によって視認可能であり、右眼によって視認可能でなく、その逆も同様である。両眼視点は立体視ビューと呼ばれることがある。
例えば、S3Dグラフィックスでは、GPUは、左眼のための画像と右眼のための別の画像とを生成し得、即ち、立体視ビューを生成し得る。立体視ビューという用語は、表示器上にそれぞれ表示される2つの画像(例えば、左眼画像及び右眼画像)を指すが、モノビューは、表示器上に表示される単一の画像を指す。左眼画像と右眼画像との組合せは、視聴者にとっては、画像が、画像を表示している表示器から飛び出しているか、又は表示器に押し込まれているかのように見え得る。これにより、より現実的でよりリッチな視認経験を生じ得る。
本開示では、S3D画像(例えば、立体視ビュー)及び3D画像(例えば、モノビュー)の概念は、混同されるべきでない。3D画像は、表示器の2次元(2D)エリアに制限される画像である。例えば、3D画像内の物体は、3D画像内の他の物体よりも遠く離れているか、又は近接しているように見え得る。しかしながら、これらの物体の全ては、表示器の2Dエリアに限定される。S3D画像は、視聴者の脳が右眼画像と左眼画像とを組み合わせることから生じる知覚画像である。得られた画像(即ち、S3D画像)は、表示器の2Dエリアに制限されないように見える。そうではなく、S3D画像は、画像が表示器から飛び出すか、表示器に押し込まれるように見える3Dボリュームを包含するように見える。例えば、S3D画像内の物体は、3Dボリューム内の他の物体よりも遠く離れているか、又は近接しているように見え、3D画像の場合のように2Dエリアでないように見える。
S3D画像を互いに形成する右眼画像と左眼画像とは、3D画像であり得る。視聴者の脳が3D右眼画像と3D左眼画像とを組み合わせたとき、視聴者にS3D画像を知覚させるのは、その脳である。右眼画像と左眼画像とのコンテンツは、単一の3D画像のコンテンツと実質的に同様であり得る。本開示では、3DグラフィックスコンテンツをS3Dコンテンツに変換するための技法について説明する。本開示の技法を使用することによって、多くの既存の3Dグラフィックスコンテンツは、S3Dグラフィックスコンテンツに変換され、立体視表示器上に表示され得る。
本開示はまた、GPUに、説明する3D−S3D変換を実行させることができる方法で、アプリケーションプログラムインターフェース(API)呼を修正するための技法について説明する。本開示の技法は、API又はGPUが修正されるのとは反対に、API呼自体のみが修正される方法で実施され得る。
天然3Dコンテンツ(native 3D content)からS3Dコンテンツを生成するために、本開示の技法は、3D−S3D変換のための技法を含む。本技法は、3Dアプリケーションから3DグラフィックスAPIへの選択されたAPI呼を横取り(インターセプト)するためのソフトウェアを含む。横取りされたAPI呼は、グラフィックを生成するためのシステムに、ランタイム中にS3D表示器上に表示され得る両眼ビューを作成させる方法で修正され得、それにより、レンダリングされたコンテンツを視認するユーザに対してS3D効果を作成し得る。2つの画像、即ち左眼画像と右眼画像とは、天然3Dコンテンツの分析に基づいて、同じグラフィックスパイプラインによってレンダリングされ得る。2つの画像は、視認する位置及び/又は方向について異なるセットアップを使用して生成され得る。本開示の技法を実施しているシステムは、モバイル機器において使用されるOpenGL ES APIなど、グラフィックスAPIの右上に配置され得、3DグラフィックスアプリケーションからのAPI呼が横取りされることを可能にする。幾つかの実施形態では、3D−S3D変換システムは、ソフトウェアを使用してのみ実施され得、GPUハードウェア、グラフィックスドライバコードに対する変更、又は3Dグラフィックスアプリケーションコンテンツに対する変更を必要とすることなしに実施され得る。本開示の技法は、OpenGL、OpenGL ES、及び他のグラフィックスAPIとともに適用され得る。
天然3DコンテンツをS3Dコンテンツに変換するための技法は、現在、当技術分野に存在するが、これらの技法のうちの多くは、それらが、常に知られているとは限らない情報の知識をAPI呼に要求するので、適用例が限られているか、又はそれらが、常に正確であるとは限らないS3D視認空間に関する仮定を行うので、S3D画質が不十分になる。本開示では、幾つかの事例において、広く使用可能であり、及び良好な画質を生じる3D−S3D変換技法について説明する。
図1は、本開示の技法を実施することができる例示的な3D−S3D変換システム100の機能図である。図1のシステム100は機能的概観を与えるものである。システム100は、3Dグラフィックスコンテンツ112と、3D−S3D変換を使用可能にするためのシステムコマンド116と、イネーブルS3Dモジュール120と、3D−S3D変換モジュール124と、API128と、頂点処理モジュール132と、左ビニングユニット136(left binning unit)と、右ビニングユニット(right binning unit)140と、画素処理モジュール144と、左フレームバッファ148と、右フレームバッファ152と、左画像156と、右画像160とを含む。システム100の部分について、より詳細に、追加のハードウェア及びソフトウェア構成要素に関して、本開示の後半で説明する。更に、以下でより詳細に説明するように、頂点処理モジュール132、左ビニングユニット136、右ビニングユニット140、及び画素処理モジュール144など、システム100の幾つかの部分がGPUの一部として実施され得る。
3Dグラフィックスコンテンツ112及びシステムコマンド116は、コンピュータコードの形態でシステムメモリに記憶され得る。3Dグラフィックスコンテンツ112は、例えば、3D画像を生成するために使用されるグラフィックスコマンドを含むことができる。OpenGL ES APIを使用するときに、例えば、グラフィックスコマンドは、glDrawArrays()及びglDrawElements()などのglDrawコマンドを含むことができ、グラフィックスコマンドについては、以下でより詳細に説明する。
3D−S3D変換は、システムコマンド116によって使用可能にされ得る。システムコマンド116は、例えば、ユーザ入力コマンドを表し得るか、又はアプリケーションプロセッサによって実行されているアプリケーション内に含まれているコマンドであり得る。3D−S3Dが使用可能にされないとき、3Dグラフィックスコンテンツ112は、3D画像を生成するための通常の方法で処理され得る。そのような場合、点線で示すシステム100の部分は、利用されないことがあるか、又は存在しないことがあるが、システム100の他の部分は、左画像と右画像とは反対に単一のモノビュー画像を処理する。3D−S3D変換が使用可能にされなかった(例えば、120のいいえを参照)とき、修正されていないAPI呼がAPI128に送られる。修正されていないAPI呼は、概して、それらの元の形態でAPI128に送られる、3Dグラフィックスコンテンツ112からのAPI呼を指す。
3D−S3D変換が使用可能にされたとき(例えば、120のはいを参照)、3D−S3D変換モジュール124は、グラフィックスコンテンツ112のAPI呼を横取りし、それらに単一のモノビューとは反対に左眼ビューと右眼ビューとを生成させる方法でAPI呼を修正することができる。次いで、3D−S3D変換モジュール124によって生成された修正API呼は、GPUに左眼画像と右眼画像とをレンダリングさせるために、API128によって必要とされ得る。修正API呼は、左フレームバッファ148に記憶されるべき左眼画像と、右フレームバッファ152に記憶されるべき右眼画像とを生成するために、頂点処理モジュール132と、左ビニングユニット136と、右ビニングユニット140と、画素処理モジュール144とによって実行され得る。システム100の例では、3D−S3D変換モジュール124は、API呼を横取りし、それらのAPI呼への修正を実行するように構成された、アプリケーションプロセッサ上で動作するアプリケーションを表す。API呼への修正は、3Dグラフィックスコンテンツが、GPUによってS3Dグラフィックスコンテンツとしてレンダリングされることを可能にする。
典型的な3Dグラフィックスパイプラインでは、3Dグラフィックスコンテンツは、第1に、幾何学的基本形(geometries primitives)を記述する基本形データの形態である。左画像と右画像の両方について、頂点処理ユニット132は、幾何学的基本形データに基づいて2D表示平面内の画素位置のセットを生成することができる。左ビニングユニット136は、タイルごとに左画像に関連する幾何学的基本形を組み立てることができ、タイルは左画像の一部分に対応する。同様に、右ビニングユニット140は、タイルごとに右画像に関連する幾何学的基本形を組み立てることができる。左画像のタイルと右画像のタイルとの各々について、画素処理ユニット144は、頂点処理ユニット132によって決定された画素についての属性を計算することができる。画素処理モジュール144は、左画像(例えば、左画像156)を左フレームバッファ148に出力することができ、右画像(例えば、右画像160)を右フレームバッファ152に出力することができる。左画像156と右画像160とは、S3D画像を生成するために、S3D表示器上に同時に表示され得る。このようにして、3Dグラフィックスコンテンツ112はS3Dグラフィックスコンテンツを含まないが、システム100の出力は、依然としてS3D画像であり得る。
頂点処理モジュール132と、左ビニングユニット136と、右ビニングユニット140と、画素処理モジュール144とによって実行される機能は、図2に関して以下でより詳細に説明する。幾つかの構成では、システムは、右眼画像に専用の様々なハードウェア構成要素と、左眼画像に専用の様々なハードウェア構成要素とを含み得る。しかしながら、他の実施形態では、右眼画像と左眼画像の両方について、同じ構成要素が使用され得る。図1のシステム100では、例えば、頂点処理モジュール132と画素処理モジュール144とはソフトウェアで実施され得るが、左ビニングユニット136と、右ビニングユニット140と、左フレームバッファ148と、右フレームバッファ150とはハードウェアで実施される。しかしながら、他の構成では、頂点処理モジュール132と、画素処理モジュール144とはハードウェアで実施され得るか、又は左フレームバッファ148と右フレームバッファ152とは、左画像と右画像の両方を保持する単一のフレームバッファによって置き換えられ得る。更に、前述のように、システム100は、本開示の技法を実施することができるシステムの機能的概観を与えるものにすぎず、グラフィックスパイプラインの幾つかの態様は、説明のために簡略化又は省略されている。
図2は、本開示で説明する1つ以上の例示的な技法を実施し得る機器の一例を示すブロック図である。例えば、図2は機器210を示す。機器210の例には、限定はしないが、モバイルワイヤレス電話、携帯情報端末(PDA)、ビデオ表示器を含むビデオゲーミングコンソール、モバイルビデオ会議ユニット、ラップトップコンピュータ、デスクトップコンピュータ、テレビジョンセットトップボックスなどがある。図2に示すように、機器210は、アプリケーションプロセッサ212と、グラフィックス処理ユニット(GPU)220と、システムメモリ226とを含み得る。機器210は、図2に示す構成要素に加えて、構成要素を含み得る。本開示の部分では、概して、アプリケーションプロセッサとGPUの両方を利用するシステムに関する3D−S3D変換技法について説明するが、本開示で説明する技法は、必ずしもそのようなシステムに限定されるとは限らない。例えば、本開示の3D−S3D変換技法の一部は、幾つかの事例では、GPUなしにアプリケーションプロセッサによってのみ実行され得る。
アプリケーションプロセッサ212は、機器210の中央処理ユニット(CPU)であり得る。GPU220は、表示器上のプレゼンテーションのためのグラフィックスデータを出力するように動作可能な処理ユニットであり得る。アプリケーションプロセッサ212及びGPU220の例には、限定はしないが、デジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路又は個別論理回路(discrete logic circuitry.)がある。
システムメモリ226はコンピュータ可読記憶媒体の一例であり得る。例えば、システムメモリ226は、本開示では、アプリケーションプロセッサ212とGPU220とに、各々に起因する機能を実行させる命令を記憶し得る。このようにして、システムメモリ226は、1つ以上のプロセッサ、例えば、アプリケーションプロセッサ212又はGPU220に様々な機能を実行させる命令を備えるコンピュータ可読記憶媒体と見なされ得る。
システムメモリ226の例には、限定はしないが、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、電気的消去可能ROM(EEPROM)、CD−ROM又は他の光ディスク記憶装置、磁気ディスク記憶装置、又は他の磁気記憶装置、フラッシュメモリ、又は命令若しくはデータ構造の形態の所望のプログラムコードを搬送又は記憶するために使用され得、コンピュータ又はプロセッサによってアクセスされ得る、任意の他の媒体がある。システムメモリ226は、幾つかの例では、非一時的記憶媒体と見なされ得る。「非一時的」という用語は、記憶媒体が、搬送波又は伝搬信号では実施されないことを示し得る。ただし、「非一時的」という用語は、システムメモリ226が非可動であることを意味するものと解釈されるべきでない。一例として、システムメモリ226は、機器210から取り外され、別の機器に移され得る。別の例として、システムメモリ226と実質的に同様の記憶装置機器が、機器210中に挿入され得る。幾つかの例では、非一時的記憶媒体は、時間経過に伴って変動し得るデータを(例えば、RAMに)記憶し得る。
GPU220は、固定機能パイプラインをもつGPUの一例を示すが、本開示の技法はまた、プログラム可能な要素を含むGPUを使用して実施され得る。GPU220は、頂点プロセッサ222と画素プロセッサ224とを含む。頂点プロセッサ222は、頂点処理機能を実行するハードウェアユニットを含み得るが、画素プロセッサは、画素処理機能を実行するハードウェアユニットを含み得る。言い換えれば、頂点プロセッサ222と画素プロセッサ224とは、固定機能と最小機能的フレキシビリティとをもつハードウェアユニットを含み得る。しかしながら、前述のように、本開示の技法は、固定機能パイプラインをもつGPUに限定されるものではない。
本開示で説明する例示的な技法は、API呼を横取りし、修正API呼を生成するためにAPI呼を修正するためにアプリケーションプロセッサ212によって実行されるソフトウェアアプリケーションを利用し得る。このソフトウェアアプリケーションをグラフィックスドライバラッパー216として図2に示す。修正API呼を使用して、GPU220はS3Dグラフィックスをレンダリングすることができる。
上記で説明したように、立体視ビューは、左眼画像と右眼画像とを含む。左眼画像と右眼画像とは、モノビュー画像として実質的に同様の画像コンテンツを含むが、しかしながら、左眼画像と右眼画像との1つ以上の対応する画素は、互いに対する水平軸上に沿って変位させられ得る。例えば、右眼画像が左眼画像の上に配置されることを考える。この場合、右眼画像中のコンテンツの全ては、左眼画像中の同等のコンテンツとともに完全に整列しないことがある。そうではなく、右眼における1つ以上の物体は、左眼画像中の同等の物体の左側又は右側にあり得る。
左眼画像は視聴者の左眼によって視認可能であり、右眼画像は視聴者の左眼から遮断される。右眼画像は視聴者の右眼によって視認可能であり、左眼画像は視聴者の右眼から遮断される。幾つかの例では、視聴者は、左眼画像が右眼によって視認可能であることを阻止し、右眼画像が左眼によって視認可能であることを阻止する特殊な眼鏡を着用し得る。しかしながら、本開示の態様は、必ずしも、視聴者に特殊な眼鏡を着用するように要求するとは限らない。例えば、幾つかの表示器は、立体視ビューを経験するために、視聴者に特殊な眼鏡を着用するように要求しない。本開示の技法は、そのような状況に拡張され得る。
視聴者が左眼画像と右眼画像の両方を同時に視認するときに、視聴者の脳が、視聴者に、2つの画像を表示している表示器の中から飛び出すか、表示器に押し込まれる画像を知覚させる(例えば、表示器の前方に、又は表示器の後ろにあるように見える)ように、GPU220は、左眼画像と右眼画像とのためのグラフィックスデータを生成し得る。この飛び出すか、又は押し込まれることは、視聴者の脳が、実質的に同様のコンテンツをもつ立体視ビューの2つの画像中の水平方向不一致を解決することによる。
一例として、アプリケーションプロセッサ212は、システムメモリ226に記憶されたアプリケーション232など、1つ以上のアプリケーションを実行し得る。アプリケーション232の例には、限定はしないが、ウェブブラウザ、電子メールアプリケーション、スプレッドシート、ビデオゲーム、又は表示するための視認可能物体を生成する他のアプリケーションがある。例えば、アプリケーション232は、実行されたとき、表示器上に表示される3Dグラフィカルコンテンツを出力するビデオゲームであり得る。
アプリケーション232は、モノビューのために開発者によって設計され得る。例えば、アプリケーション232は、実行されると、3Dグラフィックスコンテンツを生成し得、3Dグラフィックスコンテンツは、表示器の2Dエリアに制限される。アプリケーション232は、アプリケーションプロセッサ212上で実行されると、生成された3Dグラフィックスコンテンツを三角形、矩形、又は他のタイプの多角形などの基本形に分割し得る。これらの基本形の各々は、表示器上に表示されるべき画素をレンダリングするために使用され得る。アプリケーション232はまた、アプリケーションプロセッサ212上で実行されると、基本形の頂点の各々についての画素値をレンダリングし得る。例えば、その値は、頂点の3D座標と、頂点のカラー値と、頂点の透過性値とを含み得る。その値は、本開示のあらゆる態様において上記の例示的な構成要素の全てを含む必要はない。
次いで、アプリケーションプロセッサ212は、更なる処理のために、頂点についての画素値をGPU220に転送し得る。例えば、アプリケーションプロセッサ212は、アプリケーションプロセッサ212上で実行されるソフトウェアであり得るグラフィックスドライバ214を含み得る。グラフィックスドライバ214は、コマンドをGPU220に送信するように設計され得、それに応答して、GPU220は、受信したコマンドに従って機能を実行し得る。例えば、グラフィックスドライバ214は、GPU220とアプリケーションプロセッサ212との間のインターフェースとして機能する。アプリケーションプロセッサ212がコマンドをGPU220に発行するとき、GPU220がコマンドを受信するのは、グラフィックスドライバ214を通してである。例えば、アプリケーションプロセッサ212上で実行されるアプリケーション232は、GPU220に、特定のタスクを実行するように命令し得る。この場合、グラフィックスドライバ214は、アプリケーション232から特定のタスクのための命令を受信し得、その命令をGPU220に与え得る。それに応答して、GPU220はタスクを実行し得る。
幾つかの例では、グラフィックスドライバ214は特定のAPIに従って設計され得る。例えば、グラフィックスドライバ214は、KhronosグループのAPIであるOpenGL又はOpenGL ES(組込みシステム)APIに従って設計され得、それらの仕様は公的に入手可能である。しかしながら、本開示の技法は、DirectX9、10、又は11など、マイクロソフトのDirectXシステム、又は他のグラフィックスシステム及びAPIに拡張可能であり得る。説明のために、本開示の技法について、APIがOpenGL EX 1.1 APIであるコンテキストにおいて説明する。しかしながら、本開示の態様は、そのように限定されず、他のAPI又はグラフィックスシステムに拡張され得る。
アプリケーションプロセッサ212から受信した基本形をレンダリングするために、GPU220は、頂点プロセッサ222などの1つ以上の頂点プロセッサと、表示器の画素についての画素値を生成するための画素プロセッサ224などの1つ以上の画素プロセッサとを含み得る。GPU220はまた、図示していない他の要素を含み得る。本開示の技法は、特定のGPUアーキテクチャに限定されない。開発者は、頂点プロセッサ222と画素プロセッサ224との能力に応じて、及び説明のために本開示で使用されるOpenGL EX 1.1 APIなどのAPIに応じてグラフィックスアプリケーションを開発し得る。
アプリケーション232は、基本形の頂点についての座標を生成し得る。これらの座標は、ワールド座標系と呼ばれることがあり、アプリケーション232に固有であり得る。言い換えれば、アプリケーション232によって定義された頂点の座標は、必ずしも、その上に基本形が表示される表示器の座標とは限らないことがあり、また場合によっては、可視領域の外部にある頂点についての座標であり得る。頂点プロセッサ222は、3Dであり得るワールド座標系を表示器の2D座標(例えば、表示座標)に変換するように設計され得る。この機能を実行するために、頂点プロセッサ222は、ワールド座標系を眼座標に変換し、次いでクリッピング座標に変換し得る。例えば、頂点プロセッサ222の出力は、実行されたとき、頂点のクリッピング座標であり得る。最終表示座標、例えば、表示器の座標は、その後画素プロセッサ224によって決定され得る。
クリッピング座標は視野錐台(view frustum)を定義し得る。視野錐台は、3Dグラフィックスコンテンツの可視領域を定義し得る。GPU220は、視野錐台の外部に存在する画素を選別するために、視野錐台を利用し得る。例えば、(画素プロセス224などの)GPU220の固定機能ユニットは、アプリケーション232によって生成されたクリッピング座標によって定義された視野錐台の外部に存在する画素を選別し得る。
ワールド座標系からクリッピング座標系を計算する式は、次の通りであり得る。
Figure 0005882367
上式で、Vclipは頂点クリップ座標系であり、Veyeは頂点眼座標であり、Vworldは、アプリケーション232によって与えられる頂点ワールド座標系であり、PRJは射影行列であり、MVTはモデルビュー変換行列(又はワールドビュー変換行列)である。幾つかの例では、PRJ行列とMVT行列とは、式1で上記に示したモデルビュー射影行列又はMVPと呼ばれることがある単一の行列に組み合わせられ得、MVP=PRJ*MVTである。
射影行列(PRJ)及びモデルビュー、又はワールドビュー、変換行列(MVT)は、APIによって定義され得る。モデルビュー及びワールドビューという用語は、互換的に使用され得る。Vclip、Veye、及びVworldは、4つの成分(例えば、x座標、y座標、z座標、及びw座標)を含み得る。例えば、Vclip、Veye、及びVworldは、次のように表され得る。
Figure 0005882367
OpenGL及びOpenGL ES APIは、次のようにPRJ行列を定義する。
Figure 0005882367
上式で、L及びRは、左垂直クリッピング平面及び右垂直クリッピング平面についての座標を指定し、B及びTは、下部水平クリッピング平面及び上部水平クリッピング平面についての座標を指定し、znear及びzfarは、近い深度クリッピング平面及び遠い深度クリッピング平面までの距離を指定する。このようにして、L及びRはビューポートの幅を指定するが、B及びTはビューポートの高さを指定する。対称的ビューポートの場合、−LはRに等しくなることができ、−BはTに等しくなることができる。
幾つかの例では、クリッピング平面は対称的であり得る。例えば、−LはRに等しくなることができ、−BはTに等しくなることができる。これらの事例では、PRJ行列は次のように簡略化し得る。
Figure 0005882367
OpenGL及びOpenGL ES APIは、次のようにMVT行列を定義する。
Figure 0005882367
PRJ行列とMVT行列との変数の全ては、アプリケーションプロセッサ212上で実行されるアプリケーション232によって定義され得、グラフィックスドライバ214は、これらの変数を頂点プロセッサ222に与え得る。式1、式4、及び式5からわかるように、これらの変数を用いて、頂点プロセッサ222は、頂点の各々についてVclip座標を決定し得る。GPU220は、表示のために画像をレンダリングするために、頂点についてのクリップ座標を利用し、更なる機能を実行し得る。このようにして、GPU220は、アプリケーション232によって生成された3Dグラフィックスコンテンツのためのモノビューを生成し得る。
本開示で説明する1つ以上の例示的な技法では、アプリケーションプロセッサ212上で実行されるソフトウェアであり得るグラフィックスドライバラッパー216は、立体視ビューについてのクリッピング座標(例えば、左眼画像についてのクリッピング座標及び右眼画像についてのクリッピング座標)を定義するために、モノビューについてのクリッピング座標を定義するAPI呼を修正し得る。また、グラフィックスドライバラッパー216は、クリッピング座標を定義するAPI呼を修正することに加えて、立体視ビューについてのビューポートを定義するために、モノビューについてのビューポートを定義するAPI呼を修正し得る。例えば、アプリケーション232は、画像を表示する表示器上の単一の画像(例えば、モノビュー)のサイズ及び位置を定義し得る。グラフィックスドライバラッパー216は、単一の画像のサイズ及び位置を定義するAPI呼を、左眼画像と右眼画像とのサイズ及び位置を定義する修正API呼(例えば、左眼画像についてのビューポートと右眼画像についてのビューポートとのための命令)に修正し得る。このようにして、グラフィックスドライバラッパー216は、モノビューのための単一のAPI呼を横取りし、左ビューと右ビューの両方のための修正API呼を生成し得る。
グラフィックスドライバラッパー216がAPI呼を修正することができる方法の一例として、グラフィックスドライバラッパーは、上記で説明したPRJとMVTとについての変数をもつAPI呼を横取りすることができる。上記で説明したように、PRJとMVTとについての変数は、クリッピング座標Vclipをもつモノ3Dビューをレンダリングするために、GPU220によって使用され得る。グラフィックスドライバラッパー216は、クリッピング座標Vclipleft_eyeをもつ左画像とクリッピング座標Vclipright_eyeをもつ右画像とを生成するようにAPI呼を修正することができる。
上記で式(1)に示すように、Vclip=PRJ*Veye=PRJ*MVT*Vworldである。Vclipについての式は、左眼についてのクリッピング座標と右眼についてのクリッピング座標とを生成するように修正され得る。例えば、左眼と右眼とについてのクリッピング座標は、次の通りであり得る。
Figure 0005882367
Figure 0005882367
VTleft_eye及びVTright_eyeは、モノビューからの左眼と右眼との仮定された距離に基づく4×4ビュー変換行列であり得る。例えば、モノビューの座標が(0,0,0)であると仮定される場合、左眼は、(−D,0,0)に位置すると見なされ得、右眼は、(D,0,0)に位置すると見なされ得る。言い換えれば、(0,0,0)位置は、視聴者の右眼と左眼との中間にあるものと見なされ得る。左眼が、右眼と左眼との中間から−Dだけ離れて位置すると見なされ、右眼が、右眼と左眼との中間から+Dだけ離れて位置すると見なされる場合、Dは、視聴者の右眼と左眼との間の距離の1/2を示す。
VTleft_eye及びVTright_eyeのためのビュー変換行列は、次のように定義され得る。
Figure 0005882367
Figure 0005882367
VTleft_eye及びVTright_eyeは、2つの行列の和として書き直され得る。例えば、VTleft_eyeは、次のように書き直され得る。
Figure 0005882367
VTright_eyeは、次のように書き直され得る。
Figure 0005882367
VTleft_eye行列をVclipleft_eyeについての式(式6)に置換することによって、Vclipleft_eyeは、次の式に等しくなる。
Figure 0005882367
VTright_eye行列をVclipright_eyeについての式(式7)に置換することによって、Vclipright_eyeは、次の式に等しくなる。
Figure 0005882367
式10と式11の両方において、例えば、Vclipleft_eye及びVclipright_eyeについては次の通りである。
Figure 0005882367
式1で上述したように、PRJ*MVT*Vworldは、MVP*Vworldに等しい。したがって、Vclipleft_eye及びVclipright_eyeの式(例えば、それぞれ、式10及び式11)は、次のように書き直され得る。
Figure 0005882367
及び
Figure 0005882367
PRJ(式3又は式4)及びMVT(式5)のための行列を置換し、式10の行列乗算を実行することによって、Vclipleft_eyeについての式は、次のように簡略化し得る。
Figure 0005882367
より詳細には、次の通りである。
Figure 0005882367
Vclipleft_eyeについての置換と同様の置換を用いて、Vclipright_eyeの式は、次のように簡略化し得る。
Figure 0005882367
上記で説明した左ビュー変換行列(VTleft_eye)を使用して、グラフィックスドライバラッパー216は、左眼3D画像を生成するために、3D画像のためのAPI呼を修正することができる。同様に、上記で説明した右ビュー変換行列(VTright_eye)を使用して、グラフィックスドライバラッパー216は、右眼3D画像を生成するために、3D画像のためのAPI呼を修正することができる。左眼3D画像と右眼3D画像とを同時に表示することによって、機器210は、S3D画像をレンダリングすることができる。
式7〜式16に関して上記で説明した技法は、API呼を修正することによって、GPU220又はグラフィックスドライバ214への修正なしに実施され得る。式7〜式16に関して説明した技法は、錐台独立S3Dレンダリング近似(frustum-independent S3D rendering approximation)のために使用され得る。説明した技法は、それらが、glFrustum()呼中に含まれ得るパラメータなどの特定の錐台パラメータの知識を必要としないので、錐台独立であると見なされる。本開示の技法は、右ビューと左ビューとについて、それぞれ、D及びDだけ視認位置をシフトすることを除いて、Vclipleft_eyeとVclipright_eyeとを決定するときに、元のコンテンツによって定義された同じ視野錐台を使用することを含む。各眼について平行な視認方向を仮定した結果として、左ビュー変換と右ビュー変換の両方は、式8a及び式8bと、式9a及び式9bとに関して上記で説明したように、水平方向でのシフトをもつ単位行列に近いと仮定され得る。同じ射影行列(例えば、上記の式3又は式4のいずれかによって説明したPRJ)は、左眼と右眼の両方について決定及び使用され得る。本開示の技法に従ってS3D画像を作成するために、PRJ又はPRJについての実効値を決定するために使用されるパラメータを知ることは必要でない。同様に、本開示の技法によれば、MVT又はMVTについての実効値を決定するために使用されるパラメータを知ることは必要でない。PRJ及びMVTがどんなパラメータを含んでいるとしても、パラメータは、1つの行列、即ちMVPとして扱われ得る。S3D画像を作成するために、定数、即ち2*Znear*D/(R−L)は、MVP行列の第1の行及び第4の列における要素に加算されるか、又はそれから減算され得る。所与の3Dコンテンツについて、Znear/(R−L)の値は、定数であり得る。したがって、Znear/(R−L)をDと組み合わせることにより、更に定数を生じる。幾つかの実施形態では、異なる定数は、正しく快適なS3D効果を作成する定数を見つけるまで試みられ得る。MVPのみが修正されるので、本開示の技法は、PRJとMVTとについて別個の行列を受信して又は受信せずに動作することができる。
図3Aに示すように、表示平面330上にレンダリングされるときに、左画像320の一部分と、右画像310の一部分とは最終S3D画像からクロップされ得る。明快のために、図3Aは、表示平面330のわずかに前の左画像320と、表示平面330のわずかに後ろの右画像310とを示す。しかしながら、これは、左画像320と右画像310とが表示平面330上に実際にレンダリングされるように図3Aを作成することにすぎない。同じ視野錐台が左画像320と右画像310とを生成するために使用されるように、S3D画像のゼロ視差平面(ZDP:zero disparity plane)は、表示平面330の前にあるように見えることがあり、視聴者に、飛び出し効果(popped out effect)を知覚させる。以下で更に詳細に説明するように、左眼画像と右眼画像とのビューポートオフセットをシフトすることによって、この効果は逆転させられ得る。
幾つかの実施形態では、左眼画像と右眼画像とのビューポートオフセットに適用されるシフトの量は、ユーザ入力パラメータに基づき得る。対称的射影行列(symmetrical projection matrix)と、平行な視認方向と、ビューポートオフセットのシフトとを使用することによって、S3D画像のための左眼ビューと右眼ビューとを生成することを含む本開示の技法は、幾つかの事例では、ランタイム環境において高品質S3D画像をレンダリングすることができ、表示器の2Dエリアによって制限された画像を視認することと比較して、よりリッチでより完全な経験であるS3D経験を視聴者に提供できる。
図3Bに、物体(物体A)が、本開示で説明する技法を使用してシフトされ得る方法の一例を示す。図3Bに、対応するビューポートシフトをもつZDP変化の図を示す。図3Bにおいて、ライン301A及び301Bは、ビューポートシフトより前の右眼ビューポートを表し、ライン303A及び303Bは、ビューポートシフトの後の右眼ビューポートを表す。ライン302A及び302Bは、ビューポートシフトの前の左眼ビューポートを表し、ライン304A及び304Bは、ビューポートシフトの後のビューポートを表す。ビューポートのシフトの深度変化の数学的関係は、次のように導出され得る。
Δは、ポイントAに位置する物体の射影ビューポート距離の1/2を示し、
VPsは、ビューポートについてのビューポートシフト量を示し、
Eは、眼間隔の1/2の距離を示す。
第1に、点A、点A’ならびに左眼の位置及び右眼の位置の三角法に基づいて、次のようになる。
Figure 0005882367
Figure 0005882367
上記の式17と式18とを組み合わせて、ビューポートシフトの後の視聴者空間における物体距離は、次のように導出され得る。
Figure 0005882367
上記の式19に基づいて、視聴者空間における新しいZDP位置を式20に基づいて得ることができる。
Figure 0005882367
図4は、図2の例示的な機器を更に詳細に示すブロック図である。例えば、図4に、図2の機器210を更に詳細に示す。例えば、上記のように、機器210の例には、限定はしないが、モバイルワイヤレス電話、PDA、ビデオ表示器を含むビデオゲーミングコンソール、モバイルビデオ会議ユニット、ラップトップコンピュータ、デスクトップコンピュータ、テレビジョンセットトップボックスなどがある。
図4に示すように、機器210は、アプリケーションプロセッサ412と、GPU420と、フレームバッファ452を含むシステムメモリ426と、トランシーバモジュール456と、ユーザインターフェース458と、表示器460と、表示プロセッサ462とを含み得る。アプリケーションプロセッサ412、GPU、及びシステムメモリ426は、それぞれ、図2のアプリケーションプロセッサ212、GPU220、及びシステムメモリ226と実質的に同様であり得る。簡潔のために、図4に示したが図2に示されていない構成要素のみについて、詳細に説明する。
図4に示す機器210は、明快のために図4に示されていない追加のモジュール又はユニットを含み得る。例えば、機器210は、機器210がモバイルワイヤレス電話である例において電話通信を実現するために、そのいずれも図4に示されていないスピーカー及びマイクロフォン、又は機器210がメディアプレーヤであるスピーカーを含み得る。更に、機器210に示す様々なモジュール及びユニットは、機器210のあらゆる例において必要であるとは限らない。例えば、ユーザインターフェース458及び表示器460は、機器210がデスクトップコンピュータ、又は外部ユーザインターフェース又は表示器とインターフェースする能力がある他の機器である例において、機器210の外部にあり得る。
ユーザインターフェース458の例には、限定はしないが、トラックボール、マウス、キーボード、及び他のタイプの入力機器がある。ユーザインターフェース458はまた、タッチスクリーンであり得、表示器460の一部として組み込まれ得る。トランシーバモジュール456は、機器410と別の機器又はネットワークとの間のワイヤレス又はワイヤード通信を可能にするための回路を含み得る。トランシーバモジュール46は、ワイヤード又はワイヤレス通信のための変調器、復調器、増幅器及び他のそのような回路を含み得る。表示器460は、液晶表示器(LCD)、有機発光ダイオード表示器(OLED)、陰極線管(CRT)表示器、プラズマ表示器、分極表示器、又は別のタイプの表示器機器を備え得る。
表示器プロセッサ462は、表示器460に立体視ビューを表示させるように構成され得る。表示器プロセッサ462が表示器460に立体視ビューを表示させるために利用し得る様々な技法があり得、本開示の態様は、これらの技法のいずれかを利用し得る。例えば、表示器プロセッサ462は、立体視ビューを与えるために、フレームバッファ452の左半分から左眼画像を取り出し、フレームバッファ452の右半分から右眼画像を取り出し、2つの画像を互いにインターリーブし得る。
別の例として、表示器プロセッサ462は、表示器460のリフレッシュ速度を制御し得る。この例では、各リフレッシュサイクル中に、表示器プロセッサ462は、左眼画像と右眼画像との間で循環し得る。例えば、表示器プロセッサ462は、フレームバッファ452の左半分から左眼画像を取り出し、表示器460の全体に左眼画像を拡張し、1つのリフレッシュサイクルの間表示器460上に左眼画像を表示し得る。次いで、次のリフレッシュサイクルの間、表示器プロセッサ462は、フレームバッファ452の右半分に記憶された右眼画像がなければ、実質的に同様の機能を実行し得る。言い換えれば、表示器460は、左眼画像を表示し、次いで右眼画像を表示し、次いで左眼画像を表示し得、以下同様である。
視聴者は、表示器プロセッサ462のリフレッシュ速度と同期する特殊な眼鏡を着用していることがある。例えば、表示器460が左眼画像を表示している間、特殊な眼鏡は、視聴者の左眼のみが左眼画像をキャプチャするように右レンズをシャッタークローズし得る。次いで、表示器460が右眼画像を表示している間、特殊な眼鏡は、視聴者の右眼のみが右眼画像をキャプチャするように左レンズをシャッタークローズし得、以下同様である。リフレッシュ速度が十分に速い場合、視聴者は、画像が表示器460から飛び出し3Dボリュームを包含する立体視ビューを知覚する。
幾つかの例では、幾つかの従来の表示器プロセッサは、表示器460に立体視ビューを表示させるように構成されないことがある。これらの例では、視聴者は、機器210を、表示器に立体視ビューを提示させるように構成された、表示器プロセッサ462などの表示器プロセッサを含む表示器に結合し得る。例えば、視聴者は、機器210を、トランシーバモジュール456を介して立体視ビュー対応テレビジョンに結合し得る。例えば、視聴者は、トランシーバモジュール456を、高解像度マルチメディアインターフェース(HDMI(登録商標))ワイヤを介してテレビジョンに結合し得る。この例では、アプリケーションプロセッサ412又はGPU420は、トランシーバモジュール456に、フレームバッファ452に記憶された画素値をテレビジョンの表示器プロセッサに送信するように命令し得る。次いで、このテレビジョンの表示器プロセッサは、テレビジョンに、立体視ビューを形成するように左眼画像と右眼画像とを表示させ得る。
これらの例では、機器210の表示器が左眼画像と右眼画像とを表示することは、依然として可能であり得る。しかしながら、機器210の表示器プロセッサ462が、機器410の表示器460に立体視ビューを提示させることが可能でないことがあるので、この例では、表示器460は、左眼画像と右眼画像とを並列に表示し得る。例えば、表示器460の左半分は左眼画像を表示し得、表示器460の右半分は右眼画像を表示し得る。これは、上記で説明したビューポート変換のためであり得る。この場合、特殊な眼鏡を用いた場合でも、視聴者は、単に表示器460を視認することによって立体視ビューを経験し得ないが、立体視ビュー対応テレビジョンを視聴することによって立体視ビューを経験することになる。
図5は、本開示で説明する1つ以上の例示的な技法による例示的な3D−S3D変換動作を示すフローチャートである。上記で説明したように、図5の技法を含む、本開示で説明する3D−S3D変換技法は、上記で説明した図2及び図4の機器210など、GPUをもつシステムによって実行され得る。
図5の技法によれば、図2のグラフィックスドライバラッパー214などのグラフィックスドライバラッパーは、API呼を横取りする(510)。API呼は、例えば、3Dグラフィックスコンテンツ(即ち、非立体視3Dコンテンツ)を生成するように構成されたアプリケーションからであり得る。API呼から、グラフィックスドライバラッパー216は、3Dコンテンツのためのモデルビュー射影行列を決定する(520)。上記で説明したように、モデルビュー射影行列のエントリについての値は、それらの値を決定するために使用される個々のパラメータが特に知られていない場合でも決定され得る。幾つかの事例では、グラフィックスドライバラッパー216は、上記で説明したようにPRJ*MVTに基づいてモデルビュー射影行列を決定し得る。しかしながら、他の例では、PRJ及びMVTは、グラフィックスドライバラッパー216に知られていないことがある。グラフィックスドライバラッパー216は、修正モデルビュー射影行列を生成するためにモデルビュー射影行列を修正する(530)。
グラフィックスドライバラッパー216は、修正モデルビュー射影行列に基づいて左ビュークリッピング座標を生成する(540)。左ビュークリッピング座標は、例えば、上記で説明した式6に従って決定され得、ただし、PRJ*MVTはMVPに等しい。グラフィックスドライバラッパー216は、修正モデルビュー射影行列に基づいて右ビュークリッピング座標を生成する(550)。右ビュークリッピング座標は、例えば、上記で説明した式7に従って決定され得、ただし、PRJ*MVT=MVPである。GPU220は、左ビュークリッピング座標に基づいて左ビューを生成し(560)、GPU220は、右ビュークリッピング座標に基づいて右ビューを生成する(570)。GPU220は、左ビューと右ビューとに基づいてS3D画像をレンダリングする(580)。表示器上にレンダリングする前に、GPU220は、左ビューにビューポートシフトを適用し、右ビューにビューポートシフトを適用することができる。
1つ以上の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実施され得る。ソフトウェアで実施した場合、機能は、1つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶され得る。コンピュータ可読媒体はコンピュータデータ記憶媒体を含み得る。データ記憶媒体は、本開示で説明した技法の実施のための命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータあるいは1つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく、例として、そのようなコンピュータ可読媒体は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、EEPROM、CD−ROM又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置機器、あるいは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
コードは、1つ以上のデジタル信号プロセッサ(DSP)などの1つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技法の実施に好適な他の構造のいずれかを指し得る。また、本技法は、1つ以上の回路又は論理要素中に十分に実施され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実施され得る。本開示では、開示する技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明した1つ以上のプロセッサを含めて、ハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[1] 非立体視3次元(3D)コンテンツを立体視3D(S3D)コンテンツに変換する方法であって、アプリケーションプログラムインターフェース(API)呼を横取りすることと、前記API呼から、前記非立体視3Dコンテンツのためのモデルビュー射影行列を決定することと、修正モデルビュー射影行列を生成するために前記モデルビュー射影行列を修正することと、前記修正モデルビュー射影行列に基づいて、左ビュークリッピング座標を生成することと、前記修正モデルビュー射影行列に基づいて、右ビュークリッピング座標を生成することと、前記左ビュークリッピング座標に基づいて、左ビューを生成することと、前記右ビュークリッピング座標に基づいて、右ビューを生成することと、前記左ビューと前記右ビューとに基づいて、S3D画像をレンダリングすることとを備える方法。
[2] 前記左ビューにビューポートシフトを適用することと、前記右ビューにビューポートシフトを適用することとを更に備える、請求項1に記載の方法。
[3] 前記左ビューへの前記ビューポートシフトについての量と、前記右ビューへの前記ビューポートシフトについての量とが、1つ以上のユーザ入力パラメータに基づいて決定される、請求項2に記載の方法。
[4] 前記左ビューへの前記ビューポートシフトについての量と、前記右ビューへの前記ビューポートシフトについての量とが、前に生成された画像のシーンについての深度範囲を決定することに基づいて決定される、請求項2に記載の方法。
[5] 前記修正モデルビュー射影行列を生成するために前記モデルビュー射影行列を修正することが、前記モデルビュー射影行列に定数を加算することを備える、請求項1に記載の方法。
[6] 前記定数が、前記モデルビュー射影行列の第1の行、第4の列における要素に加算される、請求項5に記載の方法。
[7] 前記モデルビュー射影行列が前記非立体視3Dコンテンツについて定義される、請求項1に記載の方法。
[8] システムコマンドを受信することを更に備え、前記システムコマンドは、3DコンテンツがS3Dコンテンツに変換される動作モードを可能にする、請求項1に記載の方法。
[9] 前記左ビュークリッピング座標を生成するために使用される前記修正モデルビュー射影行列についての値が、前記右ビュークリッピング座標を生成するために使用される前記修正モデルビュー射影行列についての値と同じである、請求項1に記載の方法。
[10] 命令を記憶するメモリと、グラフィックス処理ユニット(GPU)と、前記命令の実行時に、アプリケーションプログラムインターフェース(API)呼を横取りすることと、前記API呼から、非立体視3Dコンテンツのためのモデルビュー射影行列を決定することと、修正モデルビュー射影行列を生成するために前記モデルビュー射影行列を修正することと、前記GPUに、前記修正モデルビュー射影行列に基づいて左ビュークリッピング座標を生成させることと、前記GPUに、前記修正モデルビュー射影行列に基づいて右ビュークリッピング座標を生成させることと、前記GPUに、前記左ビュークリッピング座標に基づいて左ビューを生成させることと、前記GPUに、前記右ビュークリッピング座標に基づいて右ビューを生成させることと、前記GPUに、前記左ビューと前記右ビューとに基づいてS3D画像をレンダリングさせることとを行うように動作可能なプロセッサとを備える装置。
[11] 前記プロセッサが、前記GPUに、前記左ビューにビューポートシフトを適用することと、前記右ビューにビューポートシフトを適用することとを行わせるように更に動作可能である、請求項10に記載の装置。
[12] 前記左ビューへの前記ビューポートシフトについての量と、前記右ビューへの前記ビューポートシフトについての量とが、1つ以上のユーザ入力パラメータに基づいて決定される、請求項11に記載の装置。
[13] 前記左ビューへの前記ビューポートシフトについての量と、前記右ビューへの前記ビューポートシフトについての量とが、前に生成された画像のシーンについての深度範囲を決定することに基づいて決定される、請求項11に記載の装置。
[14] 前記プロセッサが、前記モデルビュー射影行列に定数を加算することによって前記モデルビュー射影行列を修正する、請求項10に記載の装置。
[15] 前記定数が、前記モデルビュー射影行列の第1の行、第4の列における要素に加算される、請求項14に記載の装置。
[16] 前記モデルビュー射影行列が前記非立体視3Dコンテンツについて定義される、請求項10に記載の装置。
[17] 前記プロセッサが、システムコマンドを受信することを行うように更に動作可能であり、前記システムコマンドは、3DコンテンツがS3Dコンテンツに変換される動作モードを可能にする、請求項10に記載の装置。
[18] 前記左ビュークリッピング座標を生成するために使用される前記修正モデルビュー射影行列についての値が、前記右ビュークリッピング座標を生成するために使用される前記修正モデルビュー射影行列についての値と同じである、請求項10に記載の装置。
[19] 非立体視3次元(3D)コンテンツを立体視3D(S3D)コンテンツに変換するための装置であって、アプリケーションプログラムインターフェース(API)呼を横取りするための手段と、前記API呼から、前記非立体視3Dコンテンツのためのモデルビュー射影行列を決定するための手段と、修正モデルビュー射影行列を生成するために前記モデルビュー射影行列を修正するための手段と、前記修正モデルビュー射影行列に基づいて左ビュークリッピング座標を生成するための手段と、前記修正モデルビュー射影行列に基づいて右ビュークリッピング座標を生成するための手段と、前記左ビュークリッピング座標に基づいて左ビューを生成するための手段と、前記右ビュークリッピング座標に基づいて右ビューを生成するための手段と、前記左ビューと前記右ビューとに基づいてS3D画像をレンダリングするための手段とを備える装置。
[20] 前記左ビューにビューポートシフトを適用するための手段と、前記右ビューにビューポートシフトを適用するための手段とを更に備える、請求項19に記載の装置。
[21] 前記左ビューへの前記ビューポートシフトについての量と、前記右ビューへの前記ビューポートシフトについての量とが、1つ以上のユーザ入力パラメータに基づいて決定される、請求項20に記載の装置。
[22] 前記左ビューへの前記ビューポートシフトについての量と、前記右ビューへの前記ビューポートシフトについての量とが、前に生成された画像のシーンについての深度範囲を決定することに基づいて決定される、請求項20に記載の装置。
[23] 前記修正モデルビュー射影行列を生成するために前記モデルビュー射影行列を修正するための手段が、前記モデルビュー射影行列に定数を加算するための手段を備える、請求項19に記載の装置。
[24] 前記定数を加算するための手段が、前記定数を、前記モデルビュー射影行列の第1の行、第4の列における要素に加算する、請求項23に記載の装置。
[25] 前記モデルビュー射影行列が前記非立体視3Dコンテンツについて定義される、請求項19に記載の装置。
[26] システムコマンドを受信するための手段を更に備え、前記システムコマンドは、3DコンテンツがS3Dコンテンツに変換される動作モードを可能にする、請求項19に記載の装置。
[27] 前記左ビュークリッピング座標を生成するために使用される前記修正モデルビュー射影行列についての値が、前記右ビュークリッピング座標を生成するために使用される前記修正モデルビュー射影行列についての値と同じである、請求項19に記載の装置。
[28] 実行されたとき、1つ以上のプロセッサに、アプリケーションプログラムインターフェース(API)呼を横取りすることと、前記API呼から、前記非立体視3Dコンテンツのためのモデルビュー射影行列を決定することと、修正モデルビュー射影行列を生成するために前記モデルビュー射影行列を修正することと、前記修正モデルビュー射影行列に基づいて、左ビュークリッピング座標を生成することと、前記修正モデルビュー射影行列に基づいて、右ビュークリッピング座標を生成することと、前記左ビュークリッピング座標に基づいて、左ビューを生成することと、前記右ビュークリッピング座標に基づいて、右ビューを生成することと、前記左ビューと前記右ビューとに基づいて、S3D画像をレンダリングすることとを行わせる命令を記憶したコンピュータ可読記憶媒体。
[29] 実行されたとき、前記1つ以上のプロセッサに、前記左ビューにビューポートシフトを適用することと、前記右ビューにビューポートシフトを適用することとを行わせる更なる命令を記憶した、請求項28に記載のコンピュータ可読記憶媒体。
[30] 前記左ビューへの前記ビューポートシフトについての量と、前記右ビューへの前記ビューポートシフトについての量とが、1つ以上のユーザ入力パラメータに基づいて決定される、請求項29に記載のコンピュータ可読記憶媒体。
[31] 前記左ビューへの前記ビューポートシフトについての量と、前記右ビューへの前記ビューポートシフトについての量とが、前に生成された画像のシーンについての深度範囲を決定することに基づいて決定される、請求項29に記載のコンピュータ可読記憶媒体。
[32] 前記1つ以上のプロセッサが、前記モデルビュー射影行列に定数を加算することによって前記モデルビュー射影行列を修正する、請求項28に記載のコンピュータ可読記憶媒体。
[33] 前記定数が、前記モデルビュー射影行列の第1の行、第4の列における要素に加算される、請求項32に記載のコンピュータ可読記憶媒体。
[34] 前記モデルビュー射影行列が前記非立体視3Dコンテンツについて定義される、請求項28に記載のコンピュータ可読記憶媒体。
[35] 実行されたとき、前記1つ以上のプロセッサに、システムコマンドを受信することを行わせる更なる命令を記憶し、前記システムコマンドは、3DコンテンツがS3Dコンテンツに変換される動作モードを可能にする、請求項28に記載のコンピュータ可読記憶媒体。
[36] 前記左ビュークリッピング座標を生成するために使用される前記修正モデルビュー射影行列についての値が、前記右ビュークリッピング座標を生成するために使用される前記修正モデルビュー射影行列についての値と同じである、請求項28に記載のコンピュータ可読記憶媒体。

Claims (28)

  1. 非立体視3次元(3D)コンテンツを立体視3D(S3D)コンテンツに変換する方法であって、
    アプリケーションプログラムインターフェース(API)呼を横取りすることと、
    前記API呼から、前記非立体視3Dコンテンツのためのモデルビュー射影行列を決定することと、
    第1の修正モデルビュー射影行列を生成するために前記モデルビュー射影行列をシフトすることと、
    第2の修正モデルビュー射影行列を生成するために前記モデルビュー射影行列をシフトすることと、
    前記第1の修正モデルビュー射影行列に基づいて、左ビュークリッピング座標を生成することと、
    前記第2の修正モデルビュー射影行列に基づいて、右ビュークリッピング座標を生成することと、
    前記左ビュークリッピング座標に基づいて、左ビューを生成することと、
    前記右ビュークリッピング座標に基づいて、右ビューを生成することと、ここで、前記左ビューの視認方向は、前記右ビューの視認方向と平行である、
    前記左ビューと前記右ビューとに基づいて、S3D画像をレンダリングすることと、
    前記左ビューに第1のビューポートシフトを適用することと、
    前記右ビューに第2のビューポートシフトを適用することと
    を備える方法。
  2. 前記左ビューへの前記第1のビューポートシフトについての量と、前記右ビューへの前記第2のビューポートシフトについての量とが、1つ以上のユーザ入力パラメータに基づいて決定される、請求項に記載の方法。
  3. 前記左ビューへの前記第1のビューポートシフトについての量と、前記右ビューへの前記第2のビューポートシフトについての量とが、前に生成された画像のシーンについての深度範囲を決定することに基づいて決定される、請求項に記載の方法。
  4. 前記第1の修正モデルビュー射影行列を生成するために前記モデルビュー射影行列をシフトすることが、前記モデルビュー射影行列に第1の定数を加算することを備え、前記第2の修正モデルビュー射影行列を生成するため前記モデルビュー射影行列をシフトすることは前記モデルビュー射影行列に第2の定数を加算することを備える、請求項1に記載の方法。
  5. 前記第1の定数が、前記モデルビュー射影行列の第1の行、第4の列における要素に加算され、前記第2の定数が、前記モデルビュー射影行列の第1の行、第4の列における前記要素に加算される、請求項に記載の方法。
  6. 前記モデルビュー射影行列が前記非立体視3Dコンテンツについて定義される、請求項1に記載の方法。
  7. システムコマンドを受信することを更に備え、前記システムコマンドは、3DコンテンツがS3Dコンテンツに変換される動作モードを可能にする、請求項1に記載の方法。
  8. 命令を記憶するメモリと、
    グラフィックス処理ユニット(GPU)と、
    前記命令の実行時に、
    アプリケーションプログラムインターフェース(API)呼を横取りすることと、
    前記API呼から、非立体視3Dコンテンツのためのモデルビュー射影行列を決定することと、
    第1の修正モデルビュー射影行列を生成するために前記モデルビュー射影行列をシフトすることと、
    第2の修正モデルビュー射影行列を生成するために前記モデルビュー射影行列をシフトすることと、
    前記GPUに、前記第1の修正モデルビュー射影行列に基づいて左ビュークリッピング座標を生成させることと、
    前記GPUに、前記第2の修正モデルビュー射影行列に基づいて右ビュークリッピング座標を生成させることと、
    前記GPUに、前記左ビュークリッピング座標に基づいて左ビューを生成させることと、
    前記GPUに、前記右ビュークリッピング座標に基づいて右ビューを生成させることと、ここで、前記左ビューの視認方向は、前記右ビューの視認方向と平行である、
    前記GPUに、前記左ビューと前記右ビューとに基づいて立体視3D(S3D画像をレンダリングさせることと
    前記GPUに、前記左ビューに第1のビューポートシフトを適用することと、前記右ビューに第2のビューポートシフトを適用することと
    を行うように動作可能なプロセッサと
    を備える装置。
  9. 前記左ビューへの前記第1のビューポートシフトについての量と、前記右ビューへの前記第2のビューポートシフトについての量とが、1つ以上のユーザ入力パラメータに基づいて決定される、請求項に記載の装置。
  10. 前記左ビューへの前記第1のビューポートシフトについての量と、前記右ビューへの前記第2のビューポートシフトについての量とが、前に生成された画像のシーンについての深度範囲を決定することに基づいて決定される、請求項に記載の装置。
  11. 前記プロセッサが、前記モデルビュー射影行列に第1の定数を加算することによって前記第1の修正モデルビュー射影行列を生成するため前記モデルビュー射影行列をシフトし、前記プロセッサが、前記モデルビュー射影行列に第2の定数を加算することによって前記第2の修正モデルビュー射影行列を生成するため前記モデルビュー射影行列をシフトする、請求項に記載の装置。
  12. 前記第1の定数が、前記モデルビュー射影行列の第1の行、第4の列における要素に加算され、前記第2の定数が、前記モデルビュー射影行列の第1の行、第4の列における要素に加算される、請求項11に記載の装置。
  13. 前記モデルビュー射影行列が前記非立体視3Dコンテンツについて定義される、請求項に記載の装置。
  14. 前記プロセッサが、
    システムコマンドを受信することを行うように更に動作可能であり、前記システムコマンドは、3DコンテンツがS3Dコンテンツに変換される動作モードを可能にする、請求項に記載の装置。
  15. 非立体視3次元(3D)コンテンツを立体視3D(S3D)コンテンツに変換するための装置であって、
    アプリケーションプログラムインターフェース(API)呼を横取りするための手段と、
    前記API呼から、前記非立体視3Dコンテンツのためのモデルビュー射影行列を決定するための手段と、
    第1の修正モデルビュー射影行列を生成するために前記モデルビュー射影行列をシフトするための手段と、
    第2の修正モデルビュー射影行列を生成するために前記モデルビュー射影行列をシフトするための手段と、
    前記第1の修正モデルビュー射影行列に基づいて左ビュークリッピング座標を生成するための手段と、
    前記第2の修正モデルビュー射影行列に基づいて右ビュークリッピング座標を生成するための手段と、
    前記左ビュークリッピング座標に基づいて左ビューを生成するための手段と、
    前記右ビュークリッピング座標に基づいて右ビューを生成するための手段と、ここで、前記左ビューの視認方向は、前記右ビューの視認方向と平行である、
    前記左ビューと前記右ビューとに基づいてS3D画像をレンダリングするための手段と
    前記左ビューに第1のビューポートシフトを適用するための手段と、
    前記右ビューに第2のビューポートシフトを適用するための手段と
    を備える装置。
  16. 前記左ビューへの前記第1のビューポートシフトについての量と、前記右ビューへの前記第2のビューポートシフトについての量とが、1つ以上のユーザ入力パラメータに基づいて決定される、請求項15に記載の装置。
  17. 前記左ビューへの前記第1のビューポートシフトについての量と、前記右ビューへの前記第2のビューポートシフトについての量とが、前に生成された画像のシーンについての深度範囲を決定することに基づいて決定される、請求項15に記載の装置。
  18. 前記第1の修正モデルビュー射影行列を生成するために前記モデルビュー射影行列をシフトするための手段が、前記モデルビュー射影行列に第1の定数を加算するための手段を備え、前記第2の修正モデルビュー射影行列を生成するために前記モデルビュー射影行列をシフトするための手段が、前記モデルビュー射影行列に第2の定数を加算するための手段を備える、請求項15に記載の装置。
  19. 前記第1の定数を加算するための手段が、前記第1の定数を、前記モデルビュー射影行列の第1の行、第4の列における要素に加算し、前記第2の定数を、前記モデルビュー射影行列の第1の行、第4の列における前記要素に加算する、請求項18に記載の装置。
  20. 前記モデルビュー射影行列が前記非立体視3Dコンテンツについて定義される、請求項15に記載の装置。
  21. システムコマンドを受信するための手段を更に備え、前記システムコマンドは、3DコンテンツがS3Dコンテンツに変換される動作モードを可能にする、請求項15に記載の装置。
  22. 実行されたとき、1つ以上のプロセッサに、
    アプリケーションプログラムインターフェース(API)呼を横取りすることと、
    前記API呼から、非立体視3Dコンテンツのためのモデルビュー射影行列を決定することと、
    第1の修正モデルビュー射影行列を生成するために前記モデルビュー射影行列をシフトすることと、
    第2の修正モデルビュー射影行列を生成するために前記モデルビュー射影行列をシフトすることと、
    前記第1の修正モデルビュー射影行列に基づいて、左ビュークリッピング座標を生成することと、
    前記第2の修正モデルビュー射影行列に基づいて、右ビュークリッピング座標を生成することと、
    前記左ビュークリッピング座標に基づいて、左ビューを生成することと、
    前記右ビュークリッピング座標に基づいて、右ビューを生成することと
    記左ビューと前記右ビューとに基づいて、立体視3D(S3D画像をレンダリングすることと
    前記左ビューに第1のビューポートシフトを適用することと、
    前記右ビューに第2のビューポートシフトを適用することと
    を行わせる命令を記憶したコンピュータ可読記憶媒体。
  23. 前記左ビューへの前記第1のビューポートシフトについての量と、前記右ビューへの前記第2のビューポートシフトについての量とが、1つ以上のユーザ入力パラメータに基づいて決定される、請求項22に記載のコンピュータ可読記憶媒体。
  24. 前記左ビューへの前記第1のビューポートシフトについての量と、前記右ビューへの前記第2のビューポートシフトについての量とが、前に生成された画像のシーンについての深度範囲を決定することに基づいて決定される、請求項22に記載のコンピュータ可読記憶媒体。
  25. 前記1つ以上のプロセッサが、前記モデルビュー射影行列に第1の定数を加算することによって前記モデルビュー射影行列をシフトし、前記モデルビュー射影行列に第2の定数を加算することによって前記モデルビュー射影行列をシフトする、請求項22に記載のコンピュータ可読記憶媒体。
  26. 前記第1の定数が、前記モデルビュー射影行列の第1の行、第4の列における要素に加算され、前記第2の定数が、前記モデルビュー射影行列の第1の行、第4の列における要素に加算される、請求項25に記載のコンピュータ可読記憶媒体。
  27. 前記モデルビュー射影行列が前記非立体視3Dコンテンツについて定義される、請求項22に記載のコンピュータ可読記憶媒体。
  28. 実行されたとき、前記1つ以上のプロセッサに、
    システムコマンドを受信することを行わせる更なる命令を記憶し、前記システムコマンドは、3DコンテンツがS3Dコンテンツに変換される動作モードを可能にする、請求項22に記載のコンピュータ可読記憶媒体。
JP2013558122A 2011-03-14 2012-03-13 立体視3dへの平面視3dのランタイム変換 Expired - Fee Related JP5882367B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161452289P 2011-03-14 2011-03-14
US61/452,289 2011-03-14
US201161474638P 2011-04-12 2011-04-12
US61/474,638 2011-04-12
US13/418,206 US9219902B2 (en) 2011-03-14 2012-03-12 3D to stereoscopic 3D conversion
US13/418,206 2012-03-12
PCT/US2012/028941 WO2012125648A1 (en) 2011-03-14 2012-03-13 Run -time conversion of native monoscopic 3d into stereoscopic 3d

Publications (2)

Publication Number Publication Date
JP2014516427A JP2014516427A (ja) 2014-07-10
JP5882367B2 true JP5882367B2 (ja) 2016-03-09

Family

ID=46828080

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013558086A Expired - Fee Related JP5694577B2 (ja) 2011-03-14 2012-03-12 シェーダベースのグラフィックスコンテンツのための立体視コンバージョン
JP2013558122A Expired - Fee Related JP5882367B2 (ja) 2011-03-14 2012-03-13 立体視3dへの平面視3dのランタイム変換

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013558086A Expired - Fee Related JP5694577B2 (ja) 2011-03-14 2012-03-12 シェーダベースのグラフィックスコンテンツのための立体視コンバージョン

Country Status (6)

Country Link
US (2) US9578299B2 (ja)
EP (2) EP2686833B1 (ja)
JP (2) JP5694577B2 (ja)
KR (2) KR101556835B1 (ja)
CN (2) CN103493102B (ja)
WO (2) WO2012125545A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020524331A (ja) * 2017-06-09 2020-08-13 株式会社ソニー・インタラクティブエンタテインメント テンポラル・アンチエイリアシングの中心窩適合

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010121945A2 (en) * 2009-04-21 2010-10-28 International Business Machines Corporation Method and system for interaction with unmodified 3d graphics applications
KR20130081569A (ko) * 2012-01-09 2013-07-17 삼성전자주식회사 3d 영상을 출력하기 위한 장치 및 방법
US9538164B2 (en) * 2013-01-10 2017-01-03 Qualcomm Incorporated Stereoscopic conversion with viewing orientation for shader based graphics content
WO2014139105A1 (en) * 2013-03-13 2014-09-18 Intel Corporation Improved techniques for three-dimensional image editing
US20140375663A1 (en) * 2013-06-24 2014-12-25 Alexander Pfaffe Interleaved tiled rendering of stereoscopic scenes
US10134170B2 (en) * 2013-09-26 2018-11-20 Intel Corporation Stereoscopic rendering using vertix shader instancing
KR102082132B1 (ko) * 2014-01-28 2020-02-28 한국전자통신연구원 2d 동영상으로부터 새로운 3d 입체 동영상 제작을 위한 장치 및 방법
US20150281679A1 (en) 2014-03-28 2015-10-01 Qualcomm Incorporated Pixel data generation for autostereoscopy images
CN104134231B (zh) * 2014-07-11 2017-02-01 南京乐飞航空技术有限公司 一种基于图像识别的海岸线构造方法
CN105635707A (zh) * 2014-11-06 2016-06-01 福州瑞芯微电子股份有限公司 一种图像生成方法和装置
US9626733B2 (en) * 2014-11-24 2017-04-18 Industrial Technology Research Institute Data-processing apparatus and operation method thereof
CN104486611A (zh) * 2014-12-29 2015-04-01 北京极维客科技有限公司 一种图像转换方法及装置
GB2536964B (en) * 2015-04-02 2019-12-25 Ge Aviat Systems Ltd Avionics display system
US10186008B2 (en) * 2015-05-28 2019-01-22 Qualcomm Incorporated Stereoscopic view processing
KR102459850B1 (ko) 2015-12-03 2022-10-27 삼성전자주식회사 3d 이미지 처리 방법 및 장치, 및 그래픽 처리 장치
US10203747B2 (en) 2016-03-22 2019-02-12 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Workload placement based on heterogeneous compute performance per watt
US10860499B2 (en) 2016-03-22 2020-12-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Dynamic memory management in workload acceleration
US10884761B2 (en) 2016-03-22 2021-01-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Best performance delivery in heterogeneous computing unit environment
US10460513B2 (en) 2016-09-22 2019-10-29 Advanced Micro Devices, Inc. Combined world-space pipeline shader stages
WO2018140223A1 (en) * 2017-01-25 2018-08-02 Advanced Micro Devices, Inc. Stereo rendering
US20180211434A1 (en) * 2017-01-25 2018-07-26 Advanced Micro Devices, Inc. Stereo rendering
CN106993179A (zh) * 2017-02-24 2017-07-28 杭州电子科技大学 一种3d模型转立体双视点视图的方法
WO2021081568A2 (en) * 2021-02-23 2021-04-29 Innopeak Technology, Inc. Advanced stereoscopic rendering
EP4330925A4 (en) * 2021-04-30 2024-11-27 Google LLC Intermediate view synthesis between wide-baseline panoramas
JP7799430B2 (ja) * 2021-10-25 2026-01-15 キヤノン株式会社 画像処理装置、制御方法及びプログラム
KR102814414B1 (ko) * 2021-12-29 2025-05-30 한국전자통신연구원 3차원 데이터의 획득 가이드를 제공하는 방법 및 장치
US12458466B2 (en) * 2022-04-02 2025-11-04 Mantis Health, Inc. Flexible and tensioned camera apparatus with electronic module system for enabling maneuverable stereoscopic field of view
US12125132B2 (en) * 2022-08-25 2024-10-22 Acer Incorporated Method and computer device for 3D scene generation
CN115457200B (zh) * 2022-08-31 2023-04-14 北京四维远见信息技术有限公司 2.5维图像自动真立体显示方法、装置、设备及存储介质
TWI812566B (zh) * 2022-12-28 2023-08-11 宏碁股份有限公司 立體影像深度調整方法與裝置
KR102855419B1 (ko) * 2023-12-21 2025-09-04 인천대학교 산학협력단 스마트 공간정보를 이용한 디지털 트윈 메타버스 모델링 시스템 및 방법
KR102837833B1 (ko) * 2024-02-01 2025-07-23 주식회사 에이모 영상 이미지에서 가상 배경 생성 및 객체 렌더링 방법
KR102780065B1 (ko) * 2024-10-15 2025-03-12 주식회사 루미플로 분산 렌더링을 활용한 다중 디스플레이 기반 몰입형 스테이지 시스템 및 그 동작 방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496183B1 (en) 1998-06-30 2002-12-17 Koninklijke Philips Electronics N.V. Filter for transforming 3D data in a hardware accelerated rendering architecture
FR2532267B1 (fr) 1982-08-31 1988-05-27 Lely Nv C Van Der Tracteur comportant une pluralite de roues motrices
US6104405A (en) 1997-02-26 2000-08-15 Alternate Realities Corporation Systems, methods and computer program products for converting image data to nonplanar image data
US5982375A (en) 1997-06-20 1999-11-09 Sun Microsystems, Inc. Floating point processor for a three-dimensional graphics accelerator which includes single-pass stereo capability
GB2358980B (en) 2000-02-07 2004-09-01 British Broadcasting Corp Processing of images for 3D display
GB0010685D0 (en) 2000-05-03 2000-06-28 Koninkl Philips Electronics Nv Autostereoscopic display driver
US20020154214A1 (en) 2000-11-02 2002-10-24 Laurent Scallie Virtual reality game system using pseudo 3D display driver
US20040085310A1 (en) 2002-11-04 2004-05-06 Snuffer John T. System and method of extracting 3-D data generated for 2-D display applications for use in 3-D volumetric displays
AU2002952872A0 (en) 2002-11-25 2002-12-12 Dynamic Digital Depth Research Pty Ltd Image generation
US20040212612A1 (en) 2003-04-28 2004-10-28 Michael Epstein Method and apparatus for converting two-dimensional images into three-dimensional images
GB0410551D0 (en) 2004-05-12 2004-06-16 Ller Christian M 3d autostereoscopic display
US8004515B1 (en) * 2005-03-15 2011-08-23 Nvidia Corporation Stereoscopic vertex shader override
WO2007017834A2 (en) * 2005-08-09 2007-02-15 Koninklijke Philips Electronics N.V. Disparity value generator
JP4931038B2 (ja) 2005-11-22 2012-05-16 シャープ株式会社 立体視画像装置、ゲーム装置、立体視画像映写装置、立体視画像データ生成方法、制御プログラムおよび可読記録媒体
US8284204B2 (en) * 2006-06-30 2012-10-09 Nokia Corporation Apparatus, method and a computer program product for providing a unified graphics pipeline for stereoscopic rendering
US8237739B2 (en) * 2006-09-12 2012-08-07 Qualcomm Incorporated Method and device for performing user-defined clipping in object space
US8149242B2 (en) * 2006-11-10 2012-04-03 Sony Computer Entertainment Inc. Graphics processing apparatus, graphics library module and graphics processing method
US7982733B2 (en) 2007-01-05 2011-07-19 Qualcomm Incorporated Rendering 3D video images on a stereo-enabled display
JP4836814B2 (ja) 2007-01-30 2011-12-14 株式会社東芝 3dディスプレイ用cg画像生成装置、3dディスプレイ用cg画像生成方法、及びプログラム
US7884823B2 (en) 2007-06-12 2011-02-08 Microsoft Corporation Three dimensional rendering of display information using viewer eye coordinates
JP2009064355A (ja) 2007-09-07 2009-03-26 Cellius Inc プログラム、情報記憶媒体及び画像生成システム
JP4982862B2 (ja) 2007-09-07 2012-07-25 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び画像生成システム
US8279222B2 (en) 2008-03-14 2012-10-02 Seiko Epson Corporation Processing graphics data for a stereoscopic display
US7675513B2 (en) * 2008-03-14 2010-03-09 Evans & Sutherland Computer Corp. System and method for displaying stereo images
WO2010079921A2 (ko) 2009-01-12 2010-07-15 엘지 전자 주식회사 뎁스 정보를 이용한 비디오 신호 처리 방법 및 장치
US9001157B2 (en) 2009-03-25 2015-04-07 Nvidia Corporation Techniques for displaying a selection marquee in stereographic content
WO2010121945A2 (en) 2009-04-21 2010-10-28 International Business Machines Corporation Method and system for interaction with unmodified 3d graphics applications
GB2470759A (en) 2009-06-03 2010-12-08 Sony Comp Entertainment Europe Displaying videogame on 3D display by generating stereoscopic version of game without modifying source code
US10021377B2 (en) 2009-07-27 2018-07-10 Koninklijke Philips N.V. Combining 3D video and auxiliary data that is provided when not reveived
US8773449B2 (en) 2009-09-14 2014-07-08 International Business Machines Corporation Rendering of stereoscopic images with multithreaded rendering software pipeline
KR101631514B1 (ko) 2009-11-19 2016-06-17 삼성전자주식회사 전자기기에서 3차원 컨텐츠 생성 방법 및 장치
US8964013B2 (en) 2009-12-31 2015-02-24 Broadcom Corporation Display with elastic light manipulator

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020524331A (ja) * 2017-06-09 2020-08-13 株式会社ソニー・インタラクティブエンタテインメント テンポラル・アンチエイリアシングの中心窩適合

Also Published As

Publication number Publication date
KR20130136536A (ko) 2013-12-12
CN103444190B (zh) 2016-06-08
US9219902B2 (en) 2015-12-22
JP2014512032A (ja) 2014-05-19
US20120235999A1 (en) 2012-09-20
EP2686833B1 (en) 2018-06-20
JP2014516427A (ja) 2014-07-10
US20120236002A1 (en) 2012-09-20
WO2012125648A1 (en) 2012-09-20
EP2687018A1 (en) 2014-01-22
CN103444190A (zh) 2013-12-11
KR20130131480A (ko) 2013-12-03
WO2012125545A1 (en) 2012-09-20
JP5694577B2 (ja) 2015-04-01
KR101529812B1 (ko) 2015-06-17
KR101556835B1 (ko) 2015-10-01
US9578299B2 (en) 2017-02-21
CN103493102B (zh) 2016-11-09
CN103493102A (zh) 2014-01-01
EP2686833A1 (en) 2014-01-22

Similar Documents

Publication Publication Date Title
JP5882367B2 (ja) 立体視3dへの平面視3dのランタイム変換
JP6227668B2 (ja) シェーダベースのグラフィックスコンテンツのための視線方向による立体視変換
US20130293547A1 (en) Graphics rendering technique for autostereoscopic three dimensional display
EP3304896B1 (en) Stereoscopic view processing
US11880920B2 (en) Perspective correct vector graphics with foveated rendering
EP4328657B1 (en) Method and computer device for 3d scene generation
KR101227183B1 (ko) 3d 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150309

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151124

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20151202

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: 20160105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160203

R150 Certificate of patent or registration of utility model

Ref document number: 5882367

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees