説明

データ処理方法、コンピューター読み取り可能な媒体およびリアルタイム3D画像装置

【課題】立体ディスプレイ上の表示向けにグラフィックスデータを処理すること。
【解決手段】グラフィックスアプリケーションからグラフィックスライブラリーへの第1
投影行列呼び出しを途中で押さえ、前記第1投影行列を前記グラフィックスライブラリー
に転送し、前記グラフィックスアプリケーションから前記グラフィックスライブラリーへ
の第1視点を有する第1図面呼び出しを途中で押さえ、第2視点、第3視点を有する第2
図面、第3図面呼び出しを生成し、それらを前記グラフィックスライブラリーに転送する

【発明の詳細な説明】
【技術分野】
【0001】
本発明は立体ディスプレイに関する。より具体的に、発明の実施形態は立体ディスプレ
イ上の表示向けにグラフィックスデータを処理することに関する。
【背景技術】
【0002】
三次元(3D)の場面を立体ディスプレイ上で呈示するためには場面の、複数の各々多
少異なる視点による2次元(2D)投影を生成する必要がある。例えば3Dの場面につい
て、1つは左側の視点を有するものおよび1つは右側の視点を有するものという2つ2D
投影を生成することができる(たとえば特許文献1参照)。
【0003】
従来ビデオゲームソフトウェアアプリケーションなど、リアルタイムのグラフィックス
アプリケーションは3Dの場面から複数の2D投影を生成するためにカスタム表現コード
を含む必要がある。従って従来のリアルタイムグラフィックスアプリケーションは立体表
現に対応できるよう特有に構築されなければならない。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第6965386号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
立体表現において遭遇する1つの問題は3Dコンテンツおよび2Dのないよう双方を含
む場面を表現する場合に起こる。図5を参照すると、従来のビデオゲームからの場面例1
00が開示される。図5に開示されるように、場面例100は人間役102、車両104
、および建物106など3Dコンテンツを含む。場面例100はさらに場面例100の上
に重ねられるヘッドアップディスプレイ(以降、HUDという)108からなる2Dコン
テンツも含む。HUD108はプレーヤーが蓄積した点および命およびゲーム終了までど
れだけの時間が残るかを表示する。
【0006】
従来のリアルタイムグラフィックスアプリケーションは場面の2Dコンテンツおよび3
Dコンテンツを本質的に区別することができる。従ってこのようなアプリケーションがカ
スタム立体表現コードを含む場合、アプリケーションは既知の2Dコンテンツに対し単一
の2D投影を生成し、既知の3Dコンテンツに対し複数の2D投影を生成することができ
る。これらの投影は次にグラフィックスライブラリーに送信され、これが立体ディスプレ
イ上の投影表現を円滑にする。
【0007】
カスタム立体表現コードを従来のリアルタイムグラフィックスアプリケーションに組み
入れる際、1つの問題はアプリケーションを異なるさまざまな立体ディスプレイと互換性
を持たせることである。各製造者の立体ディスプレイは各々独自の明確な表現要件のセッ
トを有するかもしれないので互換性を達成することは困難であり得る。従って、カスタム
立体表現コードを各製造者の立体ディスプレイについて提供する必要がある。従ってカス
タム立体表現コードの量が増えるに従いグラフィックスアプリケーションのコストと複雑
さが増加する。従ってさまざまな立体ディスプレイと幅広く互換性を持たせることは法外
に高価になり得る。
【0008】
加えて、グラフィックスアプリケーションのリリース後に新規立体ディスプレイが製造
された場合、新規立体ディスプレイと互換性を持たせるためには新規立体ディスプレイ向
けにカスタマイズされた新しい立体表現コードでグラフィックスアプリケーションを更新
する必要がある。新規立体ディスプレイとの互換性のためにこのようにグラフィックスア
プリケーションを更新することも法外に高価になり得る。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、本発明のデータ処理方法は、立体ディスプレイ上の表示
向けにグラフィックスデータを処理するデータ処理方法であって、a)グラフィックスア
プリケーションからグラフィックスライブラリーへの第1投影行列呼び出しを途中で押さ
えるステップと、b)前記第1投影行列呼び出しは透視投影行列をもたらすことを判定す
るステップと、c)前記第1投影行列を前記グラフィックスライブラリーに転送するステ
ップと、d)前記グラフィックスアプリケーションから前記グラフィックスライブラリー
への第1視点を有する第1図面呼び出しを途中で押さえるステップと、e)第2視点を有
する第2図面呼び出しを生成するステップと、f)第3視点を有する第3図面呼び出しを
生成するステップと、g)前記第2図面および前記第3図面呼び出しを前記グラフィック
スライブラリーに転送するステップとを有することを特徴とする。
【0010】
また本発明のデータ処理方法において、前記ステップb)は、前記第1投影行列呼び出
しが前記グラフィックスライブラリーの透視関数への呼び出しであることを判定するステ
ップを有することを特徴とする。
【0011】
また本発明のデータ処理方法において、前記グラフィックスライブラリーはOpenG
L(登録商標)であり、前記透視関数はglFrustumであることを特徴とする。
【0012】
また本発明のデータ処理方法において、前記ステップe)は、前記第1図面呼び出しの
多角形における各頂点のZ座標を「−1」から「1」の範囲から、「0」から「1」の範
囲にマップするステップと、前記マップされた各Z座標に第1分離値を掛けて前記頂点の
オフセット値を計算するステップと、前記各頂点のX座標およびY座標を前記頂点の対応
オフセット値の関数として変更し、前記頂点を前記第2視点に配置するステップとを有し
、前記ステップf)は、前記第1図面呼び出しにおける多角形の各頂点のZ座標を「−1
」から「1」の範囲から、「0」から「1」の範囲にマップするステップと、前記マップ
された各Z座標に第2分離値を掛けて前記頂点のオフセット値を計算するステップと、前
記各頂点のX座標およびY座標を前記頂点の対応オフセット値の関数として変更し、前記
頂点を前記第3視点に配置するステップとを有することを特徴とする。
【0013】
また本発明のデータ処理方法において、前記第2視点は前記第1視点の左にあり、前記
第3視点は前記第1視点の右にあることを特徴とする。
【0014】
また本発明のデータ処理方法において、h)前記グラフィックスアプリケーションから
前記グラフィックスライブラリーへの第2投影行列呼び出しを途中で押さえるステップと
、i)前記第2投影行列呼び出しは正射図投影行列をもたらすことを判定するステップと
、j)前記グラフィックスアプリケーションから前記グラフィックスライブラリーへの前
記第1視点を有する第4図面呼び出しを途中で押さえるステップと、k)前記第4図面呼
び出しを前記グラフィックスライブラリーに転送するステップとをさらに有することを特
徴とする。
【0015】
また本発明のデータ処理方法において、前記ステップi)は、前記第2投影行列呼び出
しが前記グラフィックスライブラリーの正射図関数への呼び出しであることを判定するス
テップを有することを特徴とする。
【0016】
また本発明のデータ処理方法において、前記グラフィックスライブラリーはOpenG
L(登録商標)であり、前記正射図関数はglOrthoであることを特徴とする。
【0017】
また本発明のデータ処理方法において、前記ステップi)は、前記第2投影行列呼び出
しの結果生成された投影行列を検査するステップと、前記投影行列は正射図投影行列であ
ることを判定するステップとを有することを特徴とする。
【0018】
また本発明のデータ処理方法において、前記グラフィックスライブラリーはOpenG
L(登録商標)であり、前記第2投影行列呼び出しはglLoadIdentity、g
lLoadMatrix、glMultMatrix、glRotate、glTran
slate、またはglScaleの1つであることを特徴とする。
【0019】
ここで本発明のデータ処理方法は、立体ディスプレイ上の表示向けにグラフィックスデ
ータを処理するデータ処理方法であって、a)グラフィックスアプリケーションからグラ
フィックスライブラリーへの第1視点を有する第1図面呼び出しを途中で押さえるステッ
プと、b)投影行列により前記第1図面呼び出しの多角形におけるすべての頂点を変換す
るステップと、c)前記変換された多角形における頂点のZ座標のすべてが互いの所定閾
値内にあるのではないことを判定するステップと、d)第2視点を有する第2図面呼び出
しを生成するステップと、e)第3視点を有する第3図面呼び出しを生成するステップと
、f)前記第2図面および前記第3図面呼び出しを前記グラフィックスライブラリーに転
送するステップとを有することを特徴とする。
【0020】
また本発明のデータ処理方法において、前記ステップd)は、前記第1図面呼び出しの
多角形における各頂点のZ座標を「−1」から「1」の範囲から、「0」から「1」の範
囲にマップするステップと、前記マップされた各Z座標に第1分離値を掛けて前記頂点の
オフセット値を計算するステップと、前記各頂点のX座標およびY座標を前記頂点の対応
オフセット値の関数として変更し、前記頂点を第2視点に配置するステップとを有し、前
記ステップe)は、前記第1図面呼び出しにおける多角形の各頂点のZ座標を「−1」か
ら「1」の範囲から、「0」から「1」の範囲にマップするステップと、前記マップされ
た各Z座標に第2分離値を掛けて前記頂点のオフセット値を計算するステップと、前記各
頂点のX座標およびY座標を前記頂点の対応オフセット値の関数として変更し、前記頂点
を第3視点に配置するステップとを有することを特徴とする。
【0021】
また本発明のデータ処理方法において、前記第2視点は前記第1視点の左にあり、前記
第3視点は前記第1視点の右にあることを特徴とする。
【0022】
また本発明のデータ処理方法において、g)グラフィックスアプリケーションからグラ
フィックスライブラリーへの第1視点を有する第1図面呼び出しを途中で押さえるステッ
プと、h)投影行列により前記第1図面呼び出しの多角形におけるすべての頂点を変換す
るステップと、i)前記変換された多角形における頂点のZ座標のすべてが互いの所定閾
値内にあることを判定するステップと、j)第4図面呼び出しを前記グラフィックスライ
ブラリーに転送するステップとをさらに有することを特徴とする。
【0023】
ここで本発明のコンピューター読み取り可能な媒体は、実行されると立体ディスプレイ
上の表示向けにグラフィックスデータを処理する方法を実施するコンピューター読み取り
可能な命令を有する1つ以上のコンピューター読み取り可能な媒体であって、前記データ
を処理する方法は、a)グラフィックスアプリケーションからグラフィックスライブラリ
ーへの第1投影行列呼び出しを途中で押さえるステップと、b)前記第1投影行列呼び出
しは透視投影行列をもたらすことを判定するステップと、c)前記第1投影行列を前記グ
ラフィックスライブラリーに転送するステップと、d)前記グラフィックスアプリケーシ
ョンから前記グラフィックスライブラリーへの第1視点を有する第1図面呼び出しを途中
で押さえるステップと、e)第2視点を有する第2図面呼び出しを生成するステップと、
f)第3視点を有する第3図面呼び出しを生成するステップと、g)前記第2図面および
前記第3図面呼び出しを前記グラフィックスライブラリーに転送するステップとを有する
ことを特徴とする。
【0024】
さらに本発明のリアルタイム3D画像装置は、プロセッサーと、前記に記載のコンピュ
ーター読み取り可能な媒体であって、前記プロセッサーにより実行されるよう構成される
コンピューター読み取り可能な命令を有する媒体とを有することを特徴とする。
【0025】
また前記リアルタイム3D画像装置は専用のビデオゲーム機を有していることを特徴と
する。
【0026】
一方、本発明のコンピューター読み取り可能な媒体は、実行されると立体ディスプレイ
上の表示向けにグラフィックスデータを処理する方法を実施するコンピューター読み取り
可能な命令を有する1つ以上のコンピューター読み取り可能な媒体であって、前記データ
を処理する方法は、a)グラフィックスアプリケーションからグラフィックスライブラリ
ーへの第1視点を有する第1図面呼び出しを途中で押さえるステップと、b)投影行列に
より前記第1図面呼び出しの多角形におけるすべての頂点を変換するステップと、c)前
記変換された多角形における頂点のZ座標のすべてが互いの所定閾値内にあるのではない
ことを判定するステップと、d)第2視点を有する第2図面呼び出しを生成するステップ
と、e)第3視点を有する第3図面呼び出しを生成するステップと、f)前記第2図面お
よび前記第3図面呼び出しを前記グラフィックスライブラリーに転送するステップを有す
ることを特徴とする。
【0027】
さらに本発明のリアルタイム3D画像装置は、プロセッサーと、前記に記載されるコン
ピューター読み取り可能な媒体であって、前記プロセッサーにより実行されるよう構成さ
れるコンピューター読み取り可能な命令を有する媒体とを有することを特徴とする。
【図面の簡単な説明】
【0028】
【図1】リアルタイム3D画像装置例および立体ディスプレイ装置例の概略図。
【図2】グラフィックスアプリケーション例およびグラフィックスライブラリー間に配置されたインターセプター例の概略図。
【図3】立体ディスプレイ上の表示向けにグラフィックスデータを処理する方法例のフローチャート。
【図4】立体ディスプレイ上の表示向けにグラフィックスデータを処理する方法例のフローチャート。
【図5】従来のビデオゲームからの場面例を表す図。
【発明を実施するための形態】
【0029】
上記および発明の実施形態例における別の態様をさらに展開するために、添付図面に開
示される発明の具体的な実施形態を参照することにより発明のより詳しい説明がなされる
。これらの図面は発明の実施形態例を描写するだけで、従ってその範囲を限定するものと
はみなされないことが理解されよう。発明の実施形態例は添付図面を用いることによりさ
らに具体的かつ詳細に開示され説明される。
【0030】
全般的に、実施形態例は立体ディスプレイ上の表示用にグラフィックスデータを処理す
ることに関する。本明細書に開示される実施形態例はグラフィックスアプリケーションか
らの3Dグラフィックスデータを、グラフィックスアプリケーションを変更することなく
立体ディスプレイ上の表示向けに変更できるようにする。
【0031】
第1の実施形態例で、立体ディスプレイ上の表示向けにグラフィックスデータを処理す
る方法がいくつかのステップを含む。まず、グラフィックスアプリケーションからグラフ
ィックスライブラリーへの第1投影行列呼び出しが途中で押さえられる。次に第1投影行
列が透視投影行列をもたらすことが判定される。次に第1投影行列呼び出しがグラフィッ
クスライブラリーに転送される。次に、グラフィックスアプリケーションからグラフィッ
クスライブラリーへの第1視点を有する第1図面の呼び出しが途中で押さえられる。次に
、第2視点を有する第2図面の呼び出しが生成される。次に、第3視点を有する第3図面
の呼び出しが生成される。最後に、第2図面および第3図面の呼び出しがグラフィックス
ライブラリーに転送される。
【0032】
第2の実施形態例で、立体ディスプレイ上の表示向けにグラフィックスデータを処理す
る方法がいくつかのステップを含む。まず、グラフィックスアプリケーションからグラフ
ィックスライブラリーへの第1視点を有する第1図面の呼び出しが途中で押さえられる。
次に第1図面の呼び出しの多角形における頂点がすべて投影行列により変換される。次に
、多角形の変換された頂点のZ座標がすべて互いの所定閾値内にあるのではないことが判
定される。次に、第2視点を有する第2図面の呼び出しが生成される。次に、第3視点を
有する第3図面の呼び出しが生成される。最後に、第2図面および第3図面の呼び出しが
グラフィックスライブラリーに転送される。
【0033】
第3の実施形態例で、1つ以上のコンピューター読み取り可能な媒体が実行されると第
1の実施形態例に関連して上述した立体ディスプレイ上の表示向けにグラフィックスデー
タを処理する方法が実施されるコンピューター読み取り可能な命令を有する。
【0034】
第4の実施形態例で、1つ以上のコンピューター読み取り可能な媒体が実行されると第
2の実施形態例に関連して上述した立体ディスプレイ上の表示向けにグラフィックスデー
タを処理する方法が実施されるコンピューター読み取り可能な命令を有する。
【0035】
上記は以下の説明においてさらに詳細に説明されるいくつかの概念を簡単な形で紹介す
るために提供される。これはクレームされる主題の主要な特徴または不可欠な特徴を特定
することを意図せず、またクレームされる主題の範囲を判断する手掛かりとして用いられ
ることを意図していない。
【0036】
さらなる特徴は続く説明に記載され、ある程度説明から明らかとなり、または本明細書
の教示を実施することにより知ることができる。発明の特徴は添付クレームで詳しく指摘
される手段および組み合わせにより実現し、取得することができる。本発明の特徴は続く
説明および添付クレームからより詳しく明らかになり、または本明細書で以下に記載され
る発明の実施により知ることができる。
【0037】
全般的に、実施形態例は立体ディスプレイ上の表示用にグラフィックスデータを処理す
ることに関する。本明細書に開示される実施形態例はグラフィックスアプリケーションか
らの3Dグラフィックスデータを、グラフィックスアプリケーションを変更することなく
立体ディスプレイ上の表示向けに変更できるようにする。
【0038】
本明細書で開示される実施形態例はグラフィックスソフトウェアアプリケーション基盤
ではなく、グラフィックスライブラリー基盤のインターセプターを用いることを含む。イ
ンターセプターは任意のリアルタイムグラフィックスソフトウェアアプリケーションおよ
びリアルタイムグラフィックスソフトウェアアプリケーションにより使用されるグラフィ
ックスライブラリー間に配置することができる。グラフィックスライブラリーの例はOp
enGL(登録商標)およびDIRECT3D(登録商標)を含むが、本明細書で開示さ
れる実施形態例はこれらのグラフィックスライブラリー例に限定されない。
【0039】
リアルタイムグラフィックスソフトウェアアプリケーションはグラフィックスライブラ
リーを用いてソフトウェアアプリケーションからの場面を表現する。インターセプターは
グラフィックスライブラリーにより最終的に出力される画像が特定の立体ディスプレイま
たはディスプレイ装置と互換性があるようアプリケーションによる呼び出しを変更するた
めにグラフィックスソフトウェアアプリケーションと同時に実行できる、ファイルなどソ
フトウェアの別個の構成要素であることができる。本明細書で開示されるインターセプタ
ーに基づく実施形態はグラフィックスソフトウェアアプリケーションおよびビデオドライ
バーの制作者にとり、これらのアプリケーションおよびドライバーが特定の立体ディスプ
レイと互換性を持たせるために変更する必要がないのでコストがかからず、負担にならな
い。従って従来の非立体型ディスプレイのみと互換性があるように制作されたソフトウェ
アアプリケーションはソフトウェアアプリケーションまたはそれらに対応する非立体ビデ
オドライバーを何ら変更することなくさまざまな異なる立体または裸眼立体ディスプレイ
と互換性があるようにすることができる。
【0040】
次に図1を参照すると、本明細書で開示される方法例が実施され得る環境例200が開
示される。環境例200は3D画像装置202および立体ディスプレイ装置204を含む

【0041】
一般的に、3D画像装置202は任意の汎用または特殊用途のコンピューターであって
良い。汎用コンピューターの例はデスクトップコンピューター、ラップトップコンピュー
ター、およびサーバーを含むが、これらに限定されない。特殊用途のコンピューターは任
天堂(登録商標)Wii(登録商標)およびDS Lite(登録商標)、ならびにゲー
ムボーイMICRO(登録商標)およびゲームボーイADVANCE(登録商標) SP
、マイクロソフト(登録商標)XBOX 360(登録商標)およびXBOX 360(
登録商標) Elite、ならびにソニー(登録商標)PlayStation 3(登
録商標)およびPSP2000を含むが、これらに限定されない。
【0042】
図5に開示されるように、3D画像装置202はプロセッサー206、メモリー208
、および介在するインターフェイス210を含む。プロセッサー206はメモリー208
およびインターフェイス210双方と通信する。プロセッサー206は介在するインター
フェイス210経由で立体ディスプレイ装置204とデータを交換することができる。例
えば3D画像装置202により生成された3Dグラフィックスデータは立体ディスプレイ
装置204に送信され、立体ディスプレイ装置204上で表示されることができる。
【0043】
一般的に、メモリー208はコンピューター実行可能な命令またはデータ構造を搭載し
、または有する任意のコンピューター読み取り可能な媒体であって良い。このようなコン
ピューター読み取り可能な媒体はプロセッサー206がアクセスできる任意の入手可能な
媒体であって良い。限定ではなく例として、このようなコンピューター読み取り可能な媒
体はRAM、ROM、EEPROM、CD−ROMまたは他の光ディスク記憶装置、磁気
ディスク記憶装置もしくは他の磁気記憶装置、またはコンピューター実行可能な命令もし
くはデータ構造の形でプログラムコードを搭載し、または記憶するために用いることがで
き、プロセッサー206がアクセスできる他の任意の媒体であることができる。上述の組
み合わせもコンピューター読み取り可能な媒体の範囲に含まれるべきである。
【0044】
コンピューター実行可能な命令は例えばプロセッサー206に特定の機能または機能の
グループを行わせる命令およびデータを有してなる。本明細書で開示される方法例は方法
ステップ特有の言葉で説明されるが、添付クレームに定義される主題は必ずしも本明細書
に説明される具体的なステップに限定されるものではないことが理解される。逆に、本明
細書で説明される具体的なステップはクレームを実施する形態の例として開示される。
【0045】
プロセッサー206は例えばメモリー208に記憶されるコンピューター実行可能な命
令を用いて本明細書で開示される方法例などの特定機能または機能のグループを実施する
。例えば3Dグラフィックスアプリケーションおよびグラフィックスライブラリーがメモ
リー208に記憶されている場合、プロセッサー206は3Dグラフィックスアプリケー
ションの方法ステップを実施してグラフィックスライブラリーへの呼び出しを生成するこ
とができる。これに応答してグラフィックスライブラリーはプロセッサー206が立体デ
ィスプレイ装置204上の表示向けに介在するインターフェイス210を通して送信する
2D画像を生成する。
【0046】
一般的に、立体ディスプレイ装置204は立体ディスプレイ装置204上で表示される
2D画像において奥行きの錯覚を作り出すことができる任意の装置であって良い。図1で
開示されるように、立体ディスプレイ装置204はリアルタイム3D画像装置としての3
D画像装置202から2D画像を受信することができる。3D画像装置からの画像におけ
る奥行きの錯覚は一般的にユーザーの各々の目にやや異なる画像を呈示することにより作
り出される。
【0047】
立体ディスプレイ装置204はさらに裸眼立体ディスプレイ装置であって良い。例えば
、立体ディスプレイ装置204は2006年2月14日に申請された米国特許出願公開第
2006/0209371A1号明細書で開示される画像装置1に実質的に類似している
ことができ、同出願の開示は引用により全体として本明細書に組み入れられる。
【0048】
本明細書で開示される方法例は環境例200における実施のみに限定されず、代わりに
他の環境で実施し得ることが理解されよう。例えば、本明細書で開示される方法例は3D
画像装置202および立体ディスプレイ装置204の要素を組み合わせた独立型立体装置
で実施することができる。本明細書で開示される方法例は本明細書で開示されるようなソ
フトウェアアプリケーション、インターセプター、およびグラフィックスライブラリーを
実行し得る他の環境で実施することができる。
【0049】
次に図2を参照すると、グラフィックスアプリケーション304およびグラフィックス
ライブラリー306間に配置されたインターセプター302が開示される。インターセプ
ター302、グラフィックスアプリケーション304、およびグラフィックスライブラリ
ー306は図1の3D画像装置202など単独の3D画像装置において記憶され実行され
ることができる。
【0050】
本明細書で開示される方法例はインターセプター302により実施することができる。
インターセプター302はグラフィックスアプリケーション304からグラフィックスラ
イブラリー306への呼び出しを途中で押さえることができる。インターセプター302
は一般的に場面における3Dの内容(例えば図5の場面例100における人間役102、
車両104、および建物106)と場面における2Dの内容(例えば図5の場面例100
におけるHUD108)を区別することができ、場面における3Dの内容のみを立体表示
向けに変更する。インターセプター302を用いることにより、任意のリアルタイムグラ
フィックスアプリケーションがアプリケーションのソースコードを変更することなく立体
ディスプレイと互換性を持たせることができる。図2で開示されるように、インターセプ
ター302は投影行列呼び出し308を変更するすべての呼び出し、すべての図面呼び出
し、およびすべてのEnd Frame(フレーム終了)呼び出し(ダブルバッファーリ
ング方式が用いられる場合、この呼び出しはOpenGL(登録商標)のSwapBuf
fers呼び出しであることができる)を捕捉する。End Frame(フレーム終了
)呼び出しを捕捉することによりインターセプター302は任意のブレンディング操作、
およびディスプレイ装置固有の操作を行なうことができる。インターセプター302はさ
らに1つのフレームバッファーを用いて複数の視点の画像を表現することができる。
【0051】
次に図3、図4を参照すると、立体ディスプレイ上の表示向けにグラフィックスデータ
を処理する方法400が開示される。次に図2に関連して方法400を考察する。
【0052】
ステップS402において、グラフィックスアプリケーション304はグラフィックス
ライブラリーに投影行列呼び出し308を送信する。ステップS404において、インタ
ーセプター302は投影行列呼び出し308を途中で押さえる。
【0053】
ステップS406において、インターセプター302は投影行列呼び出し308がグラ
フィックスライブラリー306の透視関数への呼び出しか判定する。例えばグラフィック
スライブラリー306がOpenGL(登録商標)の場合、インターセプター302は投
影行列呼び出し308が透視関数glFrustumへの呼び出しか判定することができ
る。インターセプター302が投影行列呼び出し308はグラフィックスライブラリー3
06の透視関数への呼び出しであると判定した場合、インターセプター302は正射図フ
ラグを下げるステップS408に進む。インターセプター302は次にグラフィックスラ
イブラリー306に投影行列呼び出し308を転送するステップS410に進む。ステッ
プS412において、グラフィックスライブラリー306は見変更の投影行列呼び出し3
08を受信する。
【0054】
しかしインターセプター302が投影行列呼び出し308はグラフィックスライブラリ
ー306の透視関数への呼び出しではないと判定した場合、インターセプター302は投
影行列呼び出し308がグラフィックスライブラリー306の正射図関数への呼び出しで
あるか判定するステップS414に進む。例えば、グラフィックスライブラリー306が
OpenGL(登録商標)である場合、インターセプター302は投影行列呼び出し30
8がグラフィックスライブラリー306の奥行き関数glOrthoへの呼び出しか判定
することができる。インターセプター302が投影行列呼び出し308はグラフィックス
ライブラリー306の正射図関数への呼び出しであると判定した場合、インターセプター
302は正射図フラグを揚げるステップS416に進む。インターセプター302は次に
投影行列呼び出し308をグラフィックスライブラリー306に転送するステップS41
0に進み、ステップS412においてグラフィックスライブラリー306は未変更の投影
行列呼び出し308を受信する。
【0055】
しかしインターセプター302が投影行列呼び出し308はグラフィックスライブラリ
ー306の透視関数または正射図関数のいずれへの呼び出しでもないと判定した場合、イ
ンターセプター302は投影行列呼び出し308の結果生成された投影行列を検査し、投
影行列が正射図の投影行列であるかを判定するステップS418に進む。例えば、グラフ
ィックスライブラリー306がOpenGL(登録商標)である場合、投影行列呼び出し
308はglLoadIdentity、glLoadMatrix、glMultMa
trix、glRotate、glTranslate、またはglScaleを含むが
これらに限定されず、さまざまな他の関数の1つへの呼び出しかもしれない。
【0056】
検査の後インターセプター302が投影行列は正射図の投影行列であると判定した場合
、インターセプター302はステップS416に進み正射図フラグを揚げる。インターセ
プター302は次に投影行列呼び出し308をグラフィックスライブラリー306に転送
するステップS410に進み、ステップS412においてグラフィックスライブラリー3
06は未変更の投影行列呼び出し308を受信する。
【0057】
しかし検査の後インターセプター302が投影行列は正射図の投影行列であるか決定的
でないと判定した場合、インターセプター302はステップS420に進みフラグを中立
に設定する。インターセプター302は次に投影行列呼び出し308をグラフィックスラ
イブラリー306に転送するステップS410に進み、ステップS412においてグラフ
ィックスライブラリー306は未変更の投影行列呼び出し308を受信する。
【0058】
続いてステップS422において、グラフィックスアプリケーション304によりグラ
フィックスライブラリー306に図面呼び出し310が送信される。上述の投影行列呼び
出し308と同じく、図面呼び出し310はステップS424においてインターセプター
302により同様に途中で押さえられる。図面呼び出し310は第1視点を有する。第1
視点は例えば図5で開示される場面例100n視点であることができる。
【0059】
ステップS426において、インターセプター302は正射図フラグが揚げられている
か判定する。インターセプター302が正射図フラグは揚げられていると判定した場合、
インターセプター302は未変更の図面呼び出し310をグラフィックスライブラリー3
06に転送するステップS428に進む。ステップS430において、グラフィックスラ
イブラリーは未変更の図面呼び出し310を受信する。
【0060】
しかしインターセプター302が正射図フラグは揚げられていないと判定した場合、イ
ンターセプター302は正射図フラグが下げられているかを判定するステップS432に
進む。正射図フラグが下げられている場合、インターセプター302は第2視点を有する
第2図面呼び出しを生成し、第3視点を有する第3図面呼び出しを生成するステップS4
34に進む。例えば、第2視点は第1視点のやや左寄りであることができ、第3視点は第
1視点のやや右寄りであることができる。
【0061】
第2視点の生成は例えば図面呼び出し310における多角形の各頂点のZ座標を「−1
」から「1」の範囲から「0」から「1」の範囲にマップし、マップされた各Z座標に第
1分離値を掛けて頂点のオフセット値を計算し、各頂点のX座標およびY座標を頂点の対
応オフセット値の関数として変更し頂点を第2視点において配置することにより達成され
る。本例における第1分離値は第2視点が第1視点よりやや左寄りにシフトされた視点に
するかもしれない。第3視点の生成は、第3視点が第1視点よりやや左寄りにシフトされ
た視点になるような第2分離値を用い得ることを除き例えば第2視点の生成と同じような
形で達成できる。
【0062】
インターセプター302がステップS434において第2図面および第3図面呼び出し
を生成すると、インターセプター302は第2図面および第3図面呼び出しをグラフィッ
クスライブラリーに転送するステップS436に進む。ステップS438において、グラ
フィックスライブラリーは第2図面および第3図面呼び出しを受信する。
【0063】
しかしインターセプター302が正射図フラグは揚げられてもいなく、下げられてもい
ないことを判定した場合、インターセプター302は図面呼び出し310における多角形
のすべての頂点を投影行列により変換するステップS440に進む。次にステップS44
2において、インターセプター302は多角形の変換された頂点のZ座標すべてが互いに
所定の閾値内にあるか判定する。インターセプター302が多角形の変換された頂点のZ
座標すべてが互いに所定の閾値内にあると判定した場合、インターセプター302は上述
のステップS428に進み、これは上述のステップS430をもたらす。
【0064】
しかしインターセプター302が多角形の変換された頂点のZ座標すべてが互いに所定
の閾値内にないと判定した場合、インターセプター302は上述のステップS434およ
びステップS436に進み、これは上述のステップS438をもたらす。
【0065】
本明細書で開示される実施形態例は他の具体的な形に具現されることができる。本明細
書で開示される実施形態例はすべての面で限定的ではなく、単に例示的とみなされる。
【符号の説明】
【0066】
200…環境例、202…リアルタイム3D画像装置としての3D画像装置、204…
立体ディスプレイ装置、206…プロセッサー、208…メモリー、210…インターフ
ェイス、304…グラフィックスアプリケーション、306…グラフィックスライブラリ
ー。

【特許請求の範囲】
【請求項1】
立体ディスプレイ上の表示向けにグラフィックスデータを処理するデータ処理方法であ
って、
a)グラフィックスアプリケーションからグラフィックスライブラリーへの第1投影行
列呼び出しを途中で押さえるステップと、
b)前記第1投影行列呼び出しは透視投影行列をもたらすことを判定するステップと、
c)前記第1投影行列を前記グラフィックスライブラリーに転送するステップと、
d)前記グラフィックスアプリケーションから前記グラフィックスライブラリーへの第
1視点を有する第1図面呼び出しを途中で押さえるステップと、
e)第2視点を有する第2図面呼び出しを生成するステップと、
f)第3視点を有する第3図面呼び出しを生成するステップと、
g)前記第2図面および前記第3図面呼び出しを前記グラフィックスライブラリーに転
送するステップとを有することを特徴とするデータ処理方法。
【請求項2】
前記ステップb)は、前記第1投影行列呼び出しが前記グラフィックスライブラリーの
透視関数への呼び出しであることを判定するステップを有することを特徴とする請求項1
に記載のデータ処理方法。
【請求項3】
前記グラフィックスライブラリーはOpenGL(登録商標)であり、前記透視関数は
glFrustumであることを特徴とする請求項2に記載のデータ処理方法。
【請求項4】
前記ステップe)は、
前記第1図面呼び出しの多角形における各頂点のZ座標を「−1」から「1」の範囲か
ら、「0」から「1」の範囲にマップするステップと、
前記マップされた各Z座標に第1分離値を掛けて前記頂点のオフセット値を計算するス
テップと、
前記各頂点のX座標およびY座標を前記頂点の対応オフセット値の関数として変更し、
前記頂点を前記第2視点に配置するステップとを有し、
前記ステップf)は、
前記第1図面呼び出しにおける多角形の各頂点のZ座標を「−1」から「1」の範囲か
ら、「0」から「1」の範囲にマップするステップと、
前記マップされた各Z座標に第2分離値を掛けて前記頂点のオフセット値を計算するス
テップと、
前記各頂点のX座標およびY座標を前記頂点の対応オフセット値の関数として変更し、
前記頂点を前記第3視点に配置するステップとを有することを特徴とする請求項1に記載
のデータ処理方法。
【請求項5】
前記第2視点は前記第1視点の左にあり、前記第3視点は前記第1視点の右にあること
を特徴とする請求項4に記載のデータ処理方法。
【請求項6】
h)前記グラフィックスアプリケーションから前記グラフィックスライブラリーへの第
2投影行列呼び出しを途中で押さえるステップと、
i)前記第2投影行列呼び出しは正射図投影行列をもたらすことを判定するステップと

j)前記グラフィックスアプリケーションから前記グラフィックスライブラリーへの前
記第1視点を有する第4図面呼び出しを途中で押さえるステップと、
k)前記第4図面呼び出しを前記グラフィックスライブラリーに転送するステップとを
さらに有することを特徴とする請求項1に記載のデータ処理方法。
【請求項7】
前記ステップi)は、前記第2投影行列呼び出しが前記グラフィックスライブラリーの
正射図関数への呼び出しであることを判定するステップを有することを特徴とする請求項
6に記載のデータ処理方法。
【請求項8】
前記グラフィックスライブラリーはOpenGL(登録商標)であり、前記正射図関数
はglOrthoであることを特徴とする請求項7に記載のデータ処理方法。
【請求項9】
前記ステップi)は、前記第2投影行列呼び出しの結果生成された投影行列を検査する
ステップと、前記投影行列は正射図投影行列であることを判定するステップとを有するこ
とを特徴とする請求項6に記載のデータ処理方法。
【請求項10】
前記グラフィックスライブラリーはOpenGL(登録商標)であり、前記第2投影行
列呼び出しはglLoadIdentity、glLoadMatrix、glMult
Matrix、glRotate、glTranslate、またはglScaleの1
つであることを特徴とする請求項9に記載のデータ処理方法。
【請求項11】
立体ディスプレイ上の表示向けにグラフィックスデータを処理するデータ処理方法であ
って、
a)グラフィックスアプリケーションからグラフィックスライブラリーへの第1視点を
有する第1図面呼び出しを途中で押さえるステップと、
b)投影行列により前記第1図面呼び出しの多角形におけるすべての頂点を変換するス
テップと、
c)前記変換された多角形における頂点のZ座標のすべてが互いの所定閾値内にあるの
ではないことを判定するステップと、
d)第2視点を有する第2図面呼び出しを生成するステップと、
e)第3視点を有する第3図面呼び出しを生成するステップと、
f)前記第2図面および前記第3図面呼び出しを前記グラフィックスライブラリーに転
送するステップとを有することを特徴とするデータ処理方法。
【請求項12】
前記ステップd)は、
前記第1図面呼び出しの多角形における各頂点のZ座標を「−1」から「1」の範囲か
ら、「0」から「1」の範囲にマップするステップと、
前記マップされた各Z座標に第1分離値を掛けて前記頂点のオフセット値を計算するス
テップと、
前記各頂点のX座標およびY座標を前記頂点の対応オフセット値の関数として変更し、
前記頂点を第2視点に配置するステップとを有し、
前記ステップe)は、
前記第1図面呼び出しにおける多角形の各頂点のZ座標を「−1」から「1」の範囲か
ら、「0」から「1」の範囲にマップするステップと、
前記マップされた各Z座標に第2分離値を掛けて前記頂点のオフセット値を計算するス
テップと、
前記各頂点のX座標およびY座標を前記頂点の対応オフセット値の関数として変更し、
前記頂点を第3視点に配置するステップとを有することを特徴とする請求項11に記載の
データ処理方法。
【請求項13】
前記第2視点は前記第1視点の左にあり、前記第3視点は前記第1視点の右にあること
を特徴とする請求項12に記載のデータ処理方法。
【請求項14】
g)グラフィックスアプリケーションからグラフィックスライブラリーへの第1視点を
有する第1図面呼び出しを途中で押さえるステップと、
h)投影行列により前記第1図面呼び出しの多角形におけるすべての頂点を変換するス
テップと、
i)前記変換された多角形における頂点のZ座標のすべてが互いの所定閾値内にあるこ
とを判定するステップと、
j)第4図面呼び出しを前記グラフィックスライブラリーに転送するステップとをさら
に有することを特徴とする請求項11に記載のデータ処理方法。
【請求項15】
実行されると立体ディスプレイ上の表示向けにグラフィックスデータを処理する方法を
実施するコンピューター読み取り可能な命令を有する1つ以上のコンピューター読み取り
可能な媒体であって、
前記データを処理する方法は、
a)グラフィックスアプリケーションからグラフィックスライブラリーへの第1投影行
列呼び出しを途中で押さえるステップと、
b)前記第1投影行列呼び出しは透視投影行列をもたらすことを判定するステップと、
c)前記第1投影行列を前記グラフィックスライブラリーに転送するステップと、
d)前記グラフィックスアプリケーションから前記グラフィックスライブラリーへの第
1視点を有する第1図面呼び出しを途中で押さえるステップと、
e)第2視点を有する第2図面呼び出しを生成するステップと、
f)第3視点を有する第3図面呼び出しを生成するステップと、
g)前記第2図面および前記第3図面呼び出しを前記グラフィックスライブラリーに転
送するステップとを有することを特徴とするコンピューター読み取り可能な媒体。
【請求項16】
プロセッサーと、
請求項15に記載のコンピューター読み取り可能な媒体であって、前記プロセッサーに
より実行されるよう構成されるコンピューター読み取り可能な命令を有する媒体とを有す
ることを特徴とするリアルタイム3D画像装置。
【請求項17】
前記リアルタイム3D画像装置は専用のビデオゲーム機を有していることを特徴とする
請求項16に記載のリアルタイム3D画像装置。
【請求項18】
実行されると立体ディスプレイ上の表示向けにグラフィックスデータを処理する方法を
実施するコンピューター読み取り可能な命令を有する1つ以上のコンピューター読み取り
可能な媒体であって、
前記データを処理する方法は、
a)グラフィックスアプリケーションからグラフィックスライブラリーへの第1視点を
有する第1図面呼び出しを途中で押さえるステップと、
b)投影行列により前記第1図面呼び出しの多角形におけるすべての頂点を変換するス
テップと、
c)前記変換された多角形における頂点のZ座標のすべてが互いの所定閾値内にあるの
ではないことを判定するステップと、
d)第2視点を有する第2図面呼び出しを生成するステップと、
e)第3視点を有する第3図面呼び出しを生成するステップと、
f)前記第2図面および前記第3図面呼び出しを前記グラフィックスライブラリーに転
送するステップを有することを特徴とするコンピューター読み取り可能な媒体。
【請求項19】
プロセッサーと、
請求項18に記載のコンピューター読み取り可能な媒体であって、前記プロセッサーに
より実行されるよう構成されるコンピューター読み取り可能な命令を有する媒体とを有し
てなることを特徴とするリアルタイム3D画像装置。
【請求項20】
前記リアルタイム3D画像装置は専用のビデオゲーム機を有することを特徴とする請求
項19に記載のリアルタイム3D画像装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2009−223889(P2009−223889A)
【公開日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願番号】特願2009−40312(P2009−40312)
【出願日】平成21年2月24日(2009.2.24)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.EEPROM
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】