特許第5985513号(P5985513)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特許5985513三次元グラフィック環境内でのセレクタの呈示
<>
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000002
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000003
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000004
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000005
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000006
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000007
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000008
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000009
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000010
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000011
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000012
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000013
  • 特許5985513-三次元グラフィック環境内でのセレクタの呈示 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5985513
(24)【登録日】2016年8月12日
(45)【発行日】2016年9月6日
(54)【発明の名称】三次元グラフィック環境内でのセレクタの呈示
(51)【国際特許分類】
   H04N 13/00 20060101AFI20160823BHJP
   H04N 13/04 20060101ALI20160823BHJP
   G09G 5/36 20060101ALI20160823BHJP
   G06F 3/0481 20130101ALI20160823BHJP
   G06F 3/0484 20130101ALI20160823BHJP
【FI】
   H04N13/00 220
   H04N13/04 560
   G09G5/36 510V
   G06F3/0481 150
   G06F3/0484 120
【請求項の数】4
【全頁数】28
(21)【出願番号】特願2013-551998(P2013-551998)
(86)(22)【出願日】2012年1月14日
(65)【公表番号】特表2014-505440(P2014-505440A)
(43)【公表日】2014年2月27日
(86)【国際出願番号】US2012021396
(87)【国際公開番号】WO2012102883
(87)【国際公開日】20120802
【審査請求日】2014年12月18日
(31)【優先権主張番号】13/014,790
(32)【優先日】2011年1月27日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】ショーヴァン,ジョセフ ウェイン
【審査官】 鈴木 隆夫
(56)【参考文献】
【文献】 特開2004−354540(JP,A)
【文献】 特開2001−326947(JP,A)
【文献】 特開平10−134069(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 13/00−15/00
G06F 3/00
G09G 5/00
(57)【特許請求の範囲】
【請求項1】
三次元グラフィック環境におけるセレクタの呈示を容易にする動作をコンピューティング装置に実行させるためのコンピュータ・プログラムであって、前記動作は:
三次元グラフィック環境内で隠蔽領域を判別する段階であって、前記隠蔽領域は、表示スクリーンより手前の奥行き位置に呈示される第一の要素によって隠蔽される前記表示スクリーンの領域である、段階と;
セレクタが前記隠蔽領域に位置されていることを識別する段階と;
セレクタが前記隠蔽領域に位置されていることに基づいてセレクタの選択機能を無効にする段階とを含み、選択機能を無効にすることは、セレクタがいかなる選択可能な項目の選択を開始することをも防止する、
コンピュータ・プログラム。
【請求項2】
前記コンピューティング装置にさらに、前記第一の要素に関連付けられた奥行き位置に一致するよう、セレクタのための奥行き位置を調整させる、請求項記載のコンピュータ・プログラム。
【請求項3】
前記隠蔽領域は、前記第一の要素の境界のx座標および前記第一の要素の修正された境界のx座標を使って判別され、前記第一の要素の前記修正された境界は、ある目の観点によって知覚される特定の奥行き位置をもつ前記前記第一の要素から前記表示スクリーンまたは背景コンテンツまで延長した境界を含む、請求項記載のコンピュータ・プログラム。
【請求項4】
三次元グラフィック環境においてセレクタの呈示を容易にする、コンピュータによって実行される方法であって:
三次元グラフィック環境内で隠蔽領域を判別する段階であって、前記隠蔽領域は表示スクリーンの手前の奥行き位置に呈示される第一の要素によって隠蔽される前記表示スクリーンの領域である、段階と
セレクタが前記隠蔽領域に位置されていることを識別する段階であって、セレクタは前記三次元グラフィック環境内の選択可能な項目を選択するために使われる前記三次元グラフィック環境内のカーソルを含む、段階と;
セレクタが前記隠蔽領域に位置されていることに基づいて、セレクタを、前記隠蔽領域に関連付けられた前記第一の要素の奥行き位置に従って呈示する段階とを含み、前記奥行き位置は、前記第一の要素が見えるよう意図されている前記表示スクリーンからの距離を示
セレクタが前記隠蔽領域内にあるいかなる選択可能な項目の選択を開始することも防止する段階をさらに含む、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、三次元グラフィック環境内でのセレクタの呈示に関する。
【背景技術】
【0002】
三次元ステレオ技術はますます一般的になりつつある。たとえば、映画やライブ・テレビジョン・スポーツ放送は三次元ステレオ技術を使うことがより多くなってきている。三次元ステレオ・コンテンツを生成するために使われる一般的な技法は、オブジェクトが表示スクリーンの手前に見えるようにでき、それにより観察者はアクションにより近くにいるように感じる。
【0003】
多くの場合、カーソルのようなセレクタが三次元環境において表示される。しかしながら、二次元技術を使ったセレクタの表示は、セレクタが三次元で表示されるオブジェクトの背後に見えることにつながることがある。さらに、場合によっては、三次元環境中のオブジェクトは表示スクリーンから突き出ているように見えるため、突き出たオブジェクトが背景コンテンツの一部を隠蔽することがあり、観察者はセレクタを見ることができないことがありうる。たとえば、セレクタが表示スクリーンまたは背景コンテンツと同一平面で表示され、特定のオブジェクトが奥行き位置に従って表示される結果、表示スクリーンまたは背景コンテンツの手前に見える場合、セレクタはオブジェクトの背後に位置されたり、またはオブジェクトによって視覚的に遮蔽されたりすることがあるので、セレクタは(たとえば左眼ビュー、右眼ビューまたはそれらの組み合わせに関連する)観察者の奥行き知覚視点からは見えないことがある。さらなる例として、(多くのマウス操作ソリューションのように)セレクタが常に手前に見え、カーソルがスクリーンに対して同一平面でレンダリングされる場合でも、セレクタが上に描かれているのにユーザーの奥行き知覚によれば背後にあるはずであり、それにより不正確な奥行き知覚効果につながるという、奇妙な視覚的効果が生じることがある。
【0004】
適正にセレクタを見ることができないと、表示スクリーン内に呈示される項目の不正確および非効率的な選択につながることがある。たとえば、ユーザーは、選択機能を開始し、それにより該ユーザーに見えていなかった項目(すなわち、表示スクリーンまたは背景コンテンツの手前に見えるオブジェクトによって隠されている項目)を意図せずして選択してしまうことがありうる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
この概要は、詳細な説明においてさらに述べられる概念の一部を簡略化した形で紹介するために設けられている。この概要は、特許請求される主題のキーとなる特徴または本質的な特徴を特定することは意図されていないし、単独で特許請求される主題の範囲を決定する助けとして使われることも意図されていない。
【課題を解決するための手段】
【0006】
本発明の諸実施形態によれば、セレクタ(たとえばカーソル)の奥行き位置が三次元グラフィック環境内で、セレクタが観察者に見えるように調整される。これに関し、セレクタは、表示スクリーンまたは背景に対して突き出ているように見える要素によって「隠され」たり隠蔽されたりしない。たとえば、二次元フォーマットで呈示されるときにある要素の真後ろに位置されるセレクタは、そのような要素にマッチまたは一致する奥行き位置を与えられる。このようにして、セレクタは三次元で観察者に対して見える。さらなる例として、隠蔽された領域内に位置されるセレクタは、隠蔽された領域を引き起こしている要素とマッチまたは一致する奥行き位置を与えられることができる。よって、隠蔽された領域内に位置されるセレクタが観察者によって認識されることができる。隠蔽された領域とは、ある要素が表示スクリーンまたは背景コンテンツから突き出る奥行き位置をもって呈示され、そのため観察者の左眼および/または右眼の視点からはコンテンツの一部が遮蔽されることがあるため、その中では二次元フォーマットで呈示されるセレクタのようなコンテンツがユーザーに対して見えない、または一方の眼の視点からしかユーザーにとって見えない領域を指すことができる。
【図面の簡単な説明】
【0007】
本発明の諸実施形態が付属の図面を参照して下記で詳述される。
図1】本発明の諸実施形態に基づく、種々の奥行き位置におけるユーザー・インターフェース要素の例示的な表示スクリーンを描いた図である。
図2】本発明の諸実施形態に基づく、観察者による三次元環境の知覚の上面図の第一の表現である。
図3】本発明の諸実施形態に基づく、観察者による三次元環境の知覚の上面図の第二の表現である。
図4】Aは、本発明の諸実施形態に基づく、左眼ビューからの上面図である。Bは、本発明の諸実施形態に基づく、右眼ビューからの上面図である。
図5】本発明の諸実施形態を実装するのに好適な例示的なコンピューティング装置のブロック図である。
図6】本発明の諸実施形態を実装するのに使うのに好適な例示的なネットワーク環境のブロック図である。
図7】本発明の諸実施形態に基づいて三次元環境においてセレクタを呈示するための例示的なコンピューティング・システムを示す図である。
図8】Aは、本発明の諸実施形態に基づく、種々の奥行き位置をもつ要素との関連でセレクタが表示される例示的な表示スクリーンを描いた図である。Bは、本発明の諸実施形態に基づく、セレクタによって獲得される種々の奥行き位置を示すグラフである。
図9】Aは、本発明の諸実施形態に基づく、隠蔽された領域をもつ三次元環境の観察者による知覚の上面図の表現である。Bは、本発明の諸実施形態に基づく、セレクタが隠蔽された領域に表示される例示的な表示スクリーンを描いた図である。Cは、本発明の諸実施形態に基づく、セレクタによって獲得される種々の奥行き位置を示すグラフである。
図10】本発明の諸実施形態に基づく、三次元環境内でセレクタを呈示する第一の例示的な方法を描く流れ図である。
図11】本発明の諸実施形態に基づく、三次元環境内でセレクタを呈示する第二の例示的な方法を描く流れ図である。
図12】本発明の諸実施形態に基づく、三次元環境内でセレクタを呈示する第三の例示的な方法を描く流れ図である。
図13】本発明の諸実施形態に基づく、隠蔽された領域を決定する例示的な方法を描く流れ図である。
【発明を実施するための形態】
【0008】
本稿に開示される本発明の諸実施形態の主題は、特許法上の要件を満たすための具体性をもって記述される。しかしながら、その記述自身がこの特許の範囲を限定することは意図されていない。むしろ、発明者は、他の現存のもしくは将来の技術との関連で、異なるステップまたは本稿に記載されるのと同様のステップの異なる組み合わせを含めて、特許請求される主題が他の仕方でも具現されうることを考えていた。さらに、用いられる方法の種々の要素を指して「ステップ」および/または「ブロック」の用語が本稿で使用されることがあるが、これらの用語は、個々のステップの順序が明示的に記されているのでない限り、本稿に開示されるさまざまなステップの間のいかなる特定の順序も含意するものと解釈すべきではない。
【0009】
三次元効果はグラフィック三次元環境においてますます一般的になりつつある。本項で言うところのグラフィック三次元環境または三次元環境とは、三次元でオブジェクトを提供する表示スクリーンを指す。グラフィック三次元環境はたとえばコンピューティング装置、テレビジョン、セットトップボックス、ゲーム・システムなどに付随する表示スクリーンを使って表示される。
【0010】
三次元環境は一般に、要素またはオブジェクトを、三次元空間において背景コンテンツのような他の要素の上に重ねることによって生成される。すなわち、オーバーレイ要素またはユーザー・インターフェース要素はしばしば、さまざまな立体視ディスプレイ技術によって、左眼および右眼に与えられる、適切な見かけの奥行きにある左右のステレオ画像を生成することによって、三次元効果を与えるために背景コンテンツまたは他の要素の上に与えられる。場合によっては、背景コンテンツに対するオーバーレイ要素の三次元効果を与えようとして、オーバーレイ要素(たとえば二次元オーバーレイ要素)は背景コンテンツ(たとえばメディア・コンテンツ)に対するオーバーレイとして与えられる。オーバーレイ要素または要素は、背景コンテンツおよび/または他の任意の要素に重なる二次元要素または三次元要素であってもよい。二次元オーバーレイ要素は、二次元である任意の要素を指し、背景コンテンツおよび/または他の任意の要素に重なることができるまたはそれと合成されることができる。三次元オーバーレイ要素は、三次元である任意の要素を指し、背景コンテンツおよび/または他の任意の要素に重なることができるまたはそれと合成されることができる。
【0011】
要素は、表示スクリーン上に呈示されるまたは呈示されることのできる任意の要素またはオブジェクトであってよい。限定なしに単に例として、要素は、テキスト、画像(単数または複数)、写真(単数または複数)、ウィンドウ・ビュー(単数または複数)、メニュー(単数または複数)、ダイアログ・ボックス、背景コンテンツ、それらの組み合わせなどであってもよい。本項でいうところの背景コンテンツとは、一つまたは複数の要素と合成されることのできるまたは一つまたは複数の要素が重なることのできる任意の型の視覚的メディアを指す。背景コンテンツは、メディア・コンテンツ、ビデオ、画像、写真、グラフィック、ウィンドウ・ビュー、デスクトップ・ビューなどであってもよい。ある実施形態では、背景コンテンツは二次元の形である。あるいはまた、別の実施形態では、背景コンテンツは三次元の形である(たとえば、三次元ステレオ)。場合によっては、背景コンテンツの少なくとも一部が表示スクリーンと同一平面である、すなわち、奥行き位置0をもつ。
【0012】
本発明の諸実施形態において、オーバーレイ要素は、三次元メディア・コンテンツのような、背景コンテンツに重なる向上された要素(enhanced element)(たとえば、修正された二次元要素)であってもよく、背景コンテンツに対する該向上された要素の三次元効果を提供してもよい。これに関し、向上された要素は背景コンテンツの手前の特定の奥行きのところに位置されるように見える、または背景コンテンツの少なくとも一部よりも観察者に近くに見える。たとえ背景コンテンツが三次元フォーマットで与えられるときであっても、本発明の諸実施形態は、向上された要素が三次元背景コンテンツの少なくとも一部、またさらには全部の手前に見えるという点で、背景コンテンツに対する向上された要素の三次元効果を可能にする。向上された要素は、たとえばサイズおよび/または位置において修正された要素であり、背景コンテンツに対する該要素の三次元効果を提供する。向上された要素は、ここに参照によって組み込まれる、2010年10月14日に出願された、「Presenting Two-Dimensional Elements in Three-Dimensional Stereo Applications」という名称の米国出願第12/904,548号においてより詳細に記載されている。
【0013】
諸実施形態において、背景コンテンツに対してある要素の三次元効果を生成するために、該要素が背景コンテンツの手前に見えるように位置されるよう、左眼観点〔パースペクティブ〕ビューおよび右眼観点ビューが生成される。三次元効果を提供するため、いくつかの実施形態では、左眼ビューに関連付けられた向上された要素および右眼ビューに関連付けられた向上された要素を含む合成メディアが生成される。これに関し、左眼ビューに関連付けられた向上された要素および右眼ビューに関連付けられた向上された要素は、メディア・コンテンツの特定のフレームなど、メディア・コンテンツの同じ部分に含まれる。あるいはまた、左眼ビューに関連付けられた向上された要素を含む合成メディアと、右眼ビューに関連付けられた向上された要素を含む別個の合成メディアとが生成されることができる。そのような場合、左眼ビューに関連付けられた合成メディアおよび右眼ビューに関連付けられた合成メディアは、メディア・コンテンツの同じ部分(すなわち、二つの異なる合成メディアにおいて繰り返されるメディア・コンテンツの同じフレーム)を含んでいてもよい。
【0014】
しかしながら、三次元環境との関連でレンダリングされるセレクタは、特定の要素の手前に見えないことがあるので、不適正な奥行き上の見え方をもつことがある。本稿で用いるところのセレクタとは、表示スクリーン内で選択可能な項目を選択するために使用できる任意のセレクタまたはポインタを指す。よって、セレクタは、カーソル、ユーザー・ディジット(たとえば指)などであってもよい。いくつかの実施形態では、セレクタは表示スクリーン内の位置を指示する。たとえば、表示スクリーン上に表示されるカーソルはその位置を表す。選択可能な項目は、たとえばユーザー入力に基づいて選択されることのできる任意の項目を指し、選択されると、該選択可能な項目に関連付けられたアクションまたはイベントの実行を生起させうる。ユーザー入力は任意の方法を使って提供されてもよい。たとえば、ユーザー入力は、ユーザーがカーソルを選択可能な項目上に置いて、その項目を選択するための指示を提供する(たとえば、ボタンをクリックする、ジェスチャーを実行するなど)ことによって与えられてもよい。さらなる例として、ユーザー入力は、ユーザーが選択可能な項目との関連でタッチ・イベントを実行する(たとえば、あるアイテムを用いて選択可能な項目にタッチするまたはあるアイテムを用いて選択可能な項目にタッチするように見える)ことによって提供されてもよい。
【0015】
単に例として、まず図1を参照すると、図1は、種々の奥行き位置にユーザー・インターフェース要素をもつディスプレイ・ビュー100を示している。図1の例示的なビュー100は、第二のウィンドウ104に重なる第一のウィンドウ102をもつスクリーンを示している。両ウィンドウは背景コンテンツ106(たとえばデスクトップ・ビュー)上に表示されている。第一のウィンドウ102は、セレクタ110によって選択されることのできる選択可能な要素108を含んでいる。図1に示されるように、第一のウィンドウ102は240ピクセルの奥行き位置をもち、第二のウィンドウ104は120ピクセルの奥行き位置をもつ。よって、選択可能な項目108を含む第一のウィンドウ102が第二のウィンドウ104の手前に見えるという意味で、三次元効果が生成される。
【0016】
図2は、図1の三次元環境の観察者の知覚の上面図の表現を示している。特に、図2は、第一のウィンドウ202および第二のウィンドウ204の観察との関連で、左眼から表示スクリーン面へ、および右眼から表示スクリーン面への投影の上面図を示している。図のように、観察者の左眼220(左眼位置)および観察者の右眼222(右眼位置)は、互いから特定の距離224(眼間距離)離間して位置している。視覚的な奥行き226は、表示スクリーン212からの観察者の目の距離(観察者までのz距離)を同定する。図2に示されるように、表示スクリーン212から離れた第一のウィンドウ202の位置付けの結果、境界を表示スクリーン212に逆投影するとき、右眼222とは異なる左眼220からの視覚的観点〔パースペクティブ〕を与える。第一のウィンドウ202を表示スクリーン212から離れた奥行き位置228にあるように描く三次元効果が望まれているので、また第一のウィンドウ202は空中にレンダリングされることはできないので、図2は、第一のウィンドウが奥行き位置228に位置付けされることに基づく、点240および242における表示スクリーン212まで延長された観察者の左眼の視線ならびに点244および246における表示スクリーン212まで延長された観察者の右眼の視線の投影を示している。事実上、そのような投影は、左眼ビューおよび右眼ビューについての第一のウィンドウ202の修正された境界につながる。
【0017】
同様に、図2に示されるように、表示スクリーン212から離れた第二のウィンドウ204の位置付けの結果、境界を表示スクリーン212に逆投影するとき、右眼222とは異なる左眼220からの視覚的観点〔パースペクティブ〕を与える。第二のウィンドウ204を表示スクリーン212から離れた奥行き位置230にあるように描く三次元効果が望まれているので、また第二のウィンドウ204は空中にレンダリングされることはできないので、図2は、第二のウィンドウが奥行き位置230に位置付けされることに基づく、点248および250における表示スクリーン212まで延長された観察者の左眼の視線ならびに点252および254における表示スクリーン212まで延長された観察者の右眼の視線の投影を示している。事実上、そのような投影は、左眼ビューおよび右眼ビューについての第二のウィンドウ204の修正された境界につながる。
【0018】
図3は、図1の三次元環境の観察者の知覚の上面図のもう一つの表現を示している。図3は、第一のウィンドウ302内の選択可能な項目308との関連で、左眼から表示スクリーン面312へ、および右眼から表示スクリーン面312への投影の上面図を示している。図のように、観察者の左眼320(左眼位置)および観察者の右眼322(右眼位置)は、互いから特定の距離324(眼間距離)離間して位置している。視覚的な奥行き326は、表示スクリーン312からの観察者の目の距離(観察者までのz距離)を同定する。図3に示されるように、表示スクリーン312から離れた選択可能な項目308を含む第一のウィンドウ302の位置付けの結果、境界を表示スクリーン312に逆投影するとき、選択可能な項目308の右眼322の視覚的観点とは異なる左眼320からの視覚的観点〔パースペクティブ〕を与える。選択可能な項目308を表示スクリーン312から離れた奥行き位置にあるように描く三次元効果が望まれているので、また選択可能な項目308は空中にレンダリングされることはできないので、図3は、点360および362における表示スクリーン312まで延長された観察者の左眼の視線ならびに点364および366における表示スクリーン312まで延長された観察者の右眼の視線の投影を示している。事実上、そのような投影は、選択可能な項目308の修正された境界につながる。
【0019】
図3をさらに参照しつつ、セレクタ310が表示スクリーン312に対して点370に位置されているとする。セレクタ位置370は二次元空間内で(すなわち、0に等しい奥行き位置で)実現され、第一のウィンドウ302、第二のウィンドウ304および選択可能な項目308は三次元空間内で実現されるので、セレクタはウィンドウ302および304の背後に位置されているかに見える。この例では、図3に示されるように、セレクタ位置370は選択可能な項目308の背後にある。よって、セレクタがそのようなセレクタ位置370にある間に観察者が選択可能な項目308を選択するために指示を与える場合、左眼の観点からはセレクタ310が選択可能な項目308を選択しているように見えないにもかかわらず、選択可能な項目308が選択される。これに関し、セレクタ位置370が、選択可能な項目308の左眼の観点との関連で、修正された左の境界360および修正された右の境界362の外部であるため、観察者は、自分が選択可能な項目308を選択していることを実感しないことがありうる。すなわち、(二次元で呈示される場合には)セレクタがもともとの選択可能な項目308の上に位置されているにもかかわらず、選択可能な項目308が三次元空間内に呈示されるとき、左眼ビューは、セレクタ位置370が、点360および362に示される選択可能な項目の左側にあるような見え方を示す。ユーザーが左眼を使っていて、セレクタ位置370においてクリックすると、左眼によれば観察者にはセレクタ310が選択可能な項目308の上にあるようには見えないにもかかわらず、取り消しイベントが開始される。さらに、第一のウィンドウ302が透明であれば、セレクタ310も第一のウィンドウの背後に見えるであろう。そのため、観察者は、選択可能な項目308ではなく、第一のウィンドウ302の背後にある項目を選択しているという印象をもつであろう。
【0020】
図4のAおよびBは、それぞれ左眼ビューおよび右眼ビューからの上面図を示している。具体的には、図4のAは、左眼420Aの観点からの、第一の項目402A、第二の項目404Aおよび選択可能な項目408Aの、スクリーン閲覧面412A上への逆投影を示している。図4のBは、右眼422Bの観点からの、第一の項目402B、第二の項目404Bおよび選択可能な項目408Bの、スクリーン閲覧面412B上への逆投影を示している。まず図4のAを参照すると、観察者の左眼420Aの観点から、セレクタ410Aがセレクタ位置470Aに位置されており、二次元空間内で表示されるところではもとの選択可能な項目と揃って位置されているとする。しかしながら、左眼の観点420Aからは、三次元空間内で、表示スクリーン412Aの手前の奥行き位置に呈示される選択可能な項目408Aは、左眼の観点からの修正された境界が点460A(すなわち左の境界)および462A(すなわち右の境界)に位置されるよう表示スクリーン412Aに逆投影される。よって、左眼ビューによれば、セレクタ位置470Aの見え方は、選択可能な項目408Aの左側である。よって、ユーザーが選択可能な項目408Aを見るのに左眼だけを使っていて、選択可能な項目位置470Aにおいてクリックする場合、たとえ左眼420Aの観点からセレクタ410Aが選択可能な項目408A上に位置されているように見えないとしても、選択可能な項目408Aに関連付けられたイベント(たとえば取り消しイベント)が生起する。
【0021】
これに対し、観察者の右眼422Bの観点からの図4のBに関しては、セレクタ410Bがセレクタ位置470Bに位置されており、二次元空間内で表示されるところではもとの選択可能な項目上に位置されているとする。しかしながら、右眼の観点422Bからは、三次元空間内で、表示スクリーン412Bの手前の奥行き位置に呈示される選択可能な項目408Bは、右眼の観点からの修正された境界が点464B(すなわち左の境界)および466B(すなわち右の境界)に位置されるよう表示スクリーン412Bに逆投影される。よって、右眼ビューによれば、セレクタ位置470Bの見え方は、選択可能な項目408B上である(セレクタ位置470Bが修正された境界464Bおよび466B内にはいるので)。よって、ユーザーが選択可能な項目408Bを見るのに右眼だけを使っていて、選択可能な項目位置470Bにおいてクリックする場合、観察者の期待通り、選択可能な項目408Bに関連付けられたイベント(たとえば取り消しイベント)が生起する。
【0022】
本発明の諸実施形態は、三次元環境内でのセレクタの呈示を容易にするシステム、方法およびコンピュータ実行可能命令が具現されているコンピュータ記憶媒体に関する。ある側面では、本稿に記載される発明の諸実施形態は、三次元グラフィック環境においてセレクタの呈示を容易にする方法を実行するためのコンピュータ実行可能命令を有するコンピュータ可読媒体を含む。前記方法は、セレクタの現在位置と同じである水平および垂直位置をもつ各要素に関連付けられた奥行き位置を参照する(referencing)ことを含む。各奥行き位置は、対応する要素が表示スクリーンに対して見えるよう意図されている距離を示す。表示スクリーンに対して最大の奥行きをもつ最大奥行き位置が同定される。最大奥行き位置は、セレクタの現在位置と同じである水平および垂直位置をもつ各要素に関連付けられた奥行き位置のうちから同定される。最大奥行き位置に対応するセレクタ奥行き位置が指定される。セレクタ奥行き位置は、セレクタが表示スクリーンに対して見えるよう意図されている距離を示す。
【0023】
第二の例示的な実施形態では、コンピュータ実行可能命令が、三次元グラフィック環境においてセレクタの呈示を容易にする方法をコンピューティング装置に実行させる。諸実施形態において、前記方法は、三次元グラフィック環境内で他の要素の手前に見える要素によって隠蔽されている任意の隠蔽領域を判別することを含む。セレクタが隠蔽領域の一つに位置されていることが識別される。セレクタの選択機能は、セレクタが隠蔽領域の一つに位置されていることに基づいて無効にされる。選択機能を無効にすることで、セレクタが何らかの選択可能な項目の選択を開始してしまうことが防止される。
【0024】
第三の例示的な実施形態では、三次元グラフィック環境においてセレクタの呈示を容易にする電算化された方法が提供される。前記方法は、三次元グラフィック環境内で他の要素の手前に見える要素によって隠蔽されている隠蔽領域を判別することを含む。セレクタが前記隠蔽領域に位置されていることが識別される。セレクタは、前記隠蔽領域に関連付けられた要素の奥行き位置に従って呈示される。前記奥行き位置は、前記要素が表示スクリーンに対して見えるよう意図されている距離を示す。
【0025】
本発明の概要を簡単に述べたが、本発明のさまざまな側面についての概括的なコンテキストを提供するため、本発明のさまざまな側面が実装されうる例示的な動作環境について以下で述べておく。図面一般、特に図5を参照するに、本発明の諸実施形態を実装するための例示的な動作環境が示されており、概括的にコンピューティング装置500として指示されている。コンピューティング装置500は、好適なコンピューティング環境のほんの一例であり、本発明の使用または機能の範囲に関していかなる限定を示唆することも意図されていない。コンピューティング装置500はまた、図示されるいずれかのコンポーネントまたはコンポーネントの組み合わせに関係するいかなる依存や要求ももつと解釈されるべきではない。
【0026】
本発明は、携帯情報端末(personal data assistant)または他のハンドヘルド装置といったコンピュータまたは他の機械によって実行されるプログラム・モジュールのようなコンピュータ実行可能命令を含むコンピュータ・コードまたは機械使用可能な命令の一般的なコンテキストにおいて記述されることがある。一般に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むプログラム・モジュールは、特定のタスクを実行するまたは特定の抽象的なデータ型を実装するコードをいう。本発明は、ハンドヘルド装置、消費者電子機器、汎用コンピュータ、より特化したコンピューティング装置などを含む多様なシステム構成において実施されうる。本発明はまた、通信ネットワークを通じてリンクされたリモートの処理装置によってタスクが実行される分散されたコンピューティング環境において実施されてもよい。
【0027】
図5を参照するに、コンピューティング装置500は、以下の装置を直接的または間接的に結合するバス510を含む:メモリ512、一つまたは複数のプロセッサ514、一つまたは複数の呈示コンポーネント516、入出力ポート518、入出力コンポーネント520および例示的な電源522。バス510は一つまたは複数のバス(アドレス・バス、データ・バスまたはそれらの組み合わせなど)であってもよいものを表している。図5のさまざまなブロックは明確のために線で示されているが、現実には、さまざまなコンポーネントの区画はそれほど明瞭ではなく、たとえていえば、それらの線はより正確にはグレーまたはぼやけたものとなるであろう。たとえば、表示装置のような呈示コンポーネントが入出力コンポーネントであると考えてもよい。また、プロセッサはメモリをもつ。我らは当技術分野の性質がそうしたものであることを認識しており、図5の描画が単に、本発明の一つまたは複数の実施形態との関連で使用できる例示的なコンピューティング装置を示すということを重ねて言っておく。「ワークステーション」、「サーバー」、「ラップトップ」、「ハンドヘルド装置」などのようなカテゴリーなどの間の区別はされない。みな図5および「コンピューティング装置」との言及の範囲内に考えられている。
【0028】
コンピューティング装置500は典型的には多様なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピューティング装置500がアクセスできる任意の利用可能な媒体であることができ、揮発性および不揮発性媒体の両方、取り外し可能および取り外し不能媒体を含む。限定ではなく例として、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含みうる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータのような情報の記憶のための任意の方法または技術で実装された、揮発性および不揮発性、取り外し可能および取り外し不能な媒体を含む。コンピュータ記憶媒体はRAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)または他の光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶装置または所望される情報を記憶するために使用できコンピューティング装置500がアクセスできる他の任意の媒体を含む。通信媒体は典型的にはコンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータを、搬送波または他の伝送機構のような変調されたデータ信号に具現し、任意の情報送達媒体を含む。用語「変調されたデータ信号」は、その特性の一つまたは複数が、信号中に情報をエンコードするような仕方で設定または変更された信号を意味する。限定ではなく例として、通信媒体は有線ネットワークまたは直接有線接続のような有線媒体および音響、RF、赤外線および他の無線媒体のような無線媒体を含む。上記の任意のものの組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。
【0029】
メモリ512は、揮発性および/または不揮発性メモリの形のコンピュータ記憶媒体を含む。メモリは、取り外し可能、取り外し不能またはそれらの組み合わせであってもよい。例示的なハードウェア装置は半導体メモリ、ハードドライブ、光ディスク・ドライブなどを含む。コンピューティング装置500は、メモリ512または入出力コンポーネント520のようなさまざまなエンティティからデータを読む一つまたは複数のプロセッサを含む。呈示コンポーネント(単数または複数)516は、ユーザーまたは他の装置に対してデータ指示を呈示する。例示的な呈示コンポーネントは、表示装置、スピーカー、印刷コンポーネント、振動コンポーネントなどを含む。
【0030】
入出力ポート518は、コンピューティング装置500が、入出力コンポーネント520を含む他の装置に論理的に結合されることを許容する。入出力コンポーネント520の一部は組み込みであってもよい。例示的なコンポーネントはマイクロホン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナ、プリンタ、無線装置などを含む。
【0031】
図6を参照するに、本発明の諸実施形態を実装する際に使うよう構成された例示的なコンピューティング・システム・アーキテクチャ600を示すブロック図が示されている。当業者は、図6に示されるコンピューティング・システム・アーキテクチャ600が単に一つの好適なコンピューティング・システムの例であり、本発明の使用または機能の範囲に関していかなる限定を示唆することも意図されていないことを理解するであろう。コンピューティング・システム・アーキテクチャ600はまた、図示されるいずれかの単一のモジュール/コンポーネントまたはモジュール/コンポーネントの組み合わせに関係するいかなる依存や要求ももつと解釈されるべきではない。
【0032】
コンピューティング・システム・アーキテクチャ600は、ネットワーク608を介してみな互いに通信するサーバー602、記憶装置604およびエンドユーザー装置606を含む。ネットワーク608は、限定なしに、一つまたは複数のローカル・エリア・ネットワーク(LAN: local area network)および/または広域ネットワーク(WAN: wide area network)を含んでいてもよい。そのようなネットワーキング環境はオフィス、企業コンピュータ・ネットワーク、イントラネットおよびインターネットにおいて一般的なものである。よって、ネットワーク608についてはここではこれ以上説明しない。
【0033】
記憶装置604は三次元環境に関連する情報を記憶するよう構成されている。さまざまな実施形態において、そのような情報は、限定なしに、要素、要素属性、セレクタ、隠蔽領域などを含んでいてもよい。諸実施形態において、記憶装置604は、それに関連して記憶されている項目の一つまたは複数を求めて検索されるよう構成されている。当業者は、記憶装置604との関連で記憶される情報が構成設定可能であってもよく、要素、要素属性、セレクタ、隠蔽領域などに関連する任意の情報を含みうることを理解し、認識するであろう。そのような情報の内容および量は、いかなる仕方であれ本発明の実施形態の範囲を限定することは意図されていない。さらに、単一の独立コンポーネントとして図示されているが、記憶装置604は実際には複数の記憶装置、たとえばデータベース・クラスターであってもよく、その諸部分がサーバー602、エンドユーザー装置606、別の外部コンピューティング装置(図示せず)および/またはそれらの任意の組み合わせに存在してもよい。
【0034】
図6に示されるサーバー602およびエンドユーザー装置606のそれぞれは、たとえば図5を参照して上述したコンピューティング装置500のような任意の型のコンピューティング装置であってもよい。限定ではなく単に例として、サーバー602およびエンドユーザー装置606のそれぞれは、パーソナル・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ハンドヘルド装置、モバイル・ハンドセット、消費者電子装置、タッチスクリーン装置、セットトップボックスなどであってもよい。しかしながら、実施形態はそのようなコンピューティング装置の実装に限定されるものではなく、本願の実施形態の範囲内で、多様な異なる型のコンピューティング装置の任意のもので実装されてもよいことを注意しておくべきである。
【0035】
サーバー602は、本稿に記載される方法を実行するよう構成設定可能な任意の型のアプリケーション・サーバー、データベース・サーバーまたはファイル・サーバーを含んでいてもよい。さらに、サーバー602は、専用または共有のサーバーでありうる。サーバー602として動作するよう構成設定可能なサーバーの、限定なしの一例は、米国ワシントン州レドモンドに本社を置くマイクロソフト〔登録商標〕社によって開発された、SQLサーバー2005のようなサーバー・ソフトウェアを実行している構造化照会言語(SQL: structured query language)サーバーである。
【0036】
サーバー602のコンポーネント(明確のため図示せず)は、限定なしに、処理ユニット、内部システム・メモリおよび情報(たとえばファイルおよびそれに関連付けられたメタデータ)を記憶するための一つまたは複数のデータベースを含むさまざまなシステム・コンポーネントを結合する好適なシステム・バスを含んでいてもよい。各サーバーは典型的には、多様なコンピュータ可読媒体を含むか、それにアクセスをもつ。限定ではなく例として、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含んでいてもよい。一般に、通信媒体は、各サーバーがネットワーク、たとえばネットワーク608を介してデータを交換できるようにする。より具体的には、通信媒体は、コンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータを、搬送波または他の伝送機構のような変調されたデータ信号に具現し、任意の情報送達媒体を含みうる。本稿での用法では、用語「変調されたデータ信号」は、その属性の一つまたは複数が、当該信号中に情報をエンコードするような仕方で設定または変更された信号を指す。限定ではなく例として、通信媒体は有線ネットワークまたは直接有線接続のような有線媒体および音響、RF、赤外線および他の無線媒体のような無線媒体を含む。上記の任意のものの組み合わせも、コンピュータ可読媒体の範囲内に含まれてもよい。
【0037】
当業者は、コンピューティング・システム・アーキテクチャ600が単に例示的であることを理解するであろう。サーバー602は単一のユニットとして図示されているが、当業者は、サーバー602がスケーラブルであることを認識するであろう。たとえば、サーバー602は実際には互いに通信する複数のサーバーを含んでいてもよい。さらに、記憶装置604はサーバー602またはエンドユーザー装置606内にコンピュータ記憶媒体として含まれていてもよい。単一ユニットとしての描画は明確を意図したものであり、いかなる形であれ実施形態の範囲を限定するためではない。
【0038】
図6に示されるように、エンドユーザー装置606は入力モジュール610および呈示モジュール612を含む。いくつかの実施形態では、モジュール610および612の一方または両方はスタンドアローンのアプリケーションとして実装されてもよい。他の実施形態では、モジュール610および612の一方または両方はエンドユーザー装置606のオペレーティング・システム中に直接統合されてもよい。当業者は、図6に示されるモジュール610および612は性質も数も例示的であり、限定するものと解釈されるべきではないことを理解するであろう。本願の実施形態の範囲内で、所望される機能を達成するためにいくつモジュールが用いられてもよい。
【0039】
ユーザー入力モジュール610はたとえば、選択可能な項目のユーザー選択の入力を受け取るよう構成される。典型的には、ユーザー選択は、エンドユーザー装置606に関連付けられたユーザー・インターフェース(図示せず)などを介して入力される。ユーザーはたとえば、マウス、タッチ・ソリューション、三次元入力ソリューション(たとえばマイクロソフトのキネクト(登録商標))などを介して入力を提供してもよい。エンドユーザー装置606の呈示モジュール612は、三次元環境を呈示するよう構成される。ある実施形態では、呈示モジュール612は、エンドユーザー装置606に付随する表示装置を利用して三次元環境を呈示する。しかしながら、実施形態は視覚的なディスプレイに限定されることは意図されておらず、むしろオーディオ呈示、組み合わされたオーディオ/ビデオ呈示などをも含んでいてもよい。
【0040】
エンドユーザー装置606は、観察者が三次元環境を見ることを許容できるいかなる種類のコンピューティング装置であることもできる。よって、エンドユーザー装置606は三次元環境を見るための表示スクリーンを含む。たとえば、ある実施形態では、エンドユーザー装置606は、図5を参照して上記したようなコンピューティング装置500のようなコンピューティング装置であることができる。諸実施形態において、エンドユーザー装置606はパーソナル・コンピュータ(PC)、ラップトップ・コンピュータ、ワークステーション、モバイル・コンピューティング装置、PDA、携帯電話、テレビジョン、セットトップボックス、タッチスクリーン装置などであることができる。
【0041】
エンドユーザー装置606は三次元ステレオ・コンテンツを表示できてもよい。そのようなエンドユーザー装置606はいかなる三次元表示技術を利用してもよい。三次元表示技術の例は、これに限られないが、能動的および受動的な偏光および/またはシャッター眼鏡を使うテレビジョン、能動的なシャッター眼鏡とコンピュータ・ディスプレイ、アナグリフ(赤と青または他の色の組み合わせ)、ステレオ対ビューワー、裸眼立体視の眼鏡不要技術、網膜投影技術、ホログラフィックまたは他の任意の三次元表示技術を含む。
【0042】
諸実施形態において、エンドユーザー装置606は、三次元効果を観察者に与えるために、向上された合成メディアを利用する。たとえば、左眼ビューに関連する向上された合成メディアおよび右眼ビューに関連する向上された合成メディアのような二つの相異なる表面を受け取るエンドユーザー装置606は、それら二つの相異なる表面を使って、背景コンテンツに対する向上された要素の三次元効果を提供する。あるいはまた、左眼に関連する向上された要素および右眼に関連する向上された要素を含む向上された合成メディアのような単一の表面を受け取るエンドユーザー装置606は、その単一の表面を使って、背景コンテンツに対する向上された要素の三次元効果を提供できる。
【0043】
図7は、三次元環境においてセレクタを呈示するための例示的なコンピューティング・システム700を示している。図7に示されるように、例示的なコンピューティング・システム700は三次元呈示コンポーネント702、セレクタ奥行き決定コンポーネント704およびセレクタ呈示コンポーネント706を含む。いくつかの実施形態では、図示したコンポーネントの一つまたは複数がスタンドアローン・アプリケーションとして実装されてもよい。他の実施形態では、図示したコンポーネントの一つまたは複数がサーバー602、サーバーのクラスター(図示せず)および/またはエンドユーザー装置606のオペレーティング・システム中に直接統合されてもよい。当業者は、図7に示されるコンポーネントが性質も数も例示的であり、限定するものと解釈されるべきではないことを理解するであろう。本願の実施形態の範囲内で、所望される機能を達成するためにいくつコンポーネントが用いられてもよい。さらに、コンポーネントはいくつのサーバーまたはコンピューティング装置上に位置されてもよい。単に例として、三次元呈示コンポーネント702およびセレクタ呈示コンポーネント706は図6のエンドユーザー装置606上に存在してもよく、一方、セレクタ奥行き決定コンポーネント704またはその一部はサーバーまたはサーバーのクラスター上に存在してもよい。
【0044】
本稿に記載されるこの構成および他の構成が単に例として述べられていることは理解しておくべきである。図示したものに加えてまたはその代わりに、他の構成および要素(たとえば、機械、インターフェース、機能、順序、機能のグループ分けなど)が使われてもよく、いくつかの要素が完全に省略されてもよい。さらに、本稿に記載される要素の多くは、離散的なまたは分散されたコンポーネントとして、あるいは他のコンポーネントとの関連で、および任意の好適な組み合わせおよび位置において実装されてもよい機能的エンティティである。一つまたは複数のエンティティによって実行されるとして本稿に記載されるさまざまな機能は、ハードウェア、ファームウェアおよび/またはソフトウェアによって実行されてもよい。たとえば、さまざまな機能は、メモリに記憶されている命令を実行するプロセッサによって実行されてもよい。
【0045】
三次元呈示コンポーネント702は三次元環境を呈示するよう構成される。三次元環境は、三次元効果を提供するために呈示される複数の要素を含む。例として、三次元環境は背景コンテンツ(たとえば二次元または三次元)を一つまたは複数のオーバーレイ要素とともに含んでいてもよい。諸実施形態において、三次元呈示コンポーネント702は、三次元において存在するコンテンツを参照(reference)してもよい。そのようなコンテンツは、コンテンツ・プロバイダーからのコンテンツを受け取る、取得するまたはアクセスすることによって参照されてもよい。コンテンツ・プロバイダーは、たとえば三次元呈示コンポーネント702からの要求または観察者要求に基づくビューワー装置からの要求に応答して、コンテンツを提供してもよい。たとえば、ビューワー装置の観察者は、選択を与えたり、あるいは他の仕方で特定のメディア・コンテンツ、たとえば特定の三次元メディア・コンテンツを見たいとの所望を示してもよい。そのようなメディア・コンテンツは、たとえばデータベース、コンピュータなどのような、コンテンツが記憶されることのできる環境に記憶されていてもよい。コンテンツ・プロバイダーは記憶されているメディア・コンテンツを参照し、その後、該メディア・コンテンツを三次元呈示コンポーネント702、ビューワー装置または他のコンポーネント(たとえばグラフィック・エンジン)に通信することができる。コンテンツ・プロバイダーによって提供されたそのようなコンテンツは、三次元コンテンツ、背景コンテンツ、オーバーレイ要素(たとえば、テキスト、画像、写真、ウィンドウ・ビュー、メニュー)、合成されたコンテンツ(たとえば、一つまたは複数のオーバーレイ要素と合成された背景コンテンツ)、それらの組み合わせなどであってもよい。
【0046】
いくつかの実施形態では、三次元呈示コンポーネント702は、たとえばコンテンツ・プロバイダーのために、参照された三次元環境を表示してもよい。あるいはまた、三次元呈示コンポーネント702は、三次元環境を呈示するために、計算を実行する、背景コンテンツ上に一つまたは複数の要素を合成するまたは他の機能を実行するよう構成されていてもよい。
【0047】
コンテンツ・プロバイダーは、要素属性、向上された要素属性および/または視覚的属性をも提供してもよい。そのような属性は三次元呈示コンポーネント702によってまたはセレクタ奥行き決定コンポーネント704のような他のコンポーネントによって、計算を実行する、合成を生成するなどのために使用されてもよい。
【0048】
一つまたは複数の要素属性は、対応する要素と一緒に(たとえばメタデータとして)または別個に通信されてもよい。要素属性とは、もとの要素の位置および/またはサイズを記述、指示または特徴付けする任意の属性を指す。要素属性は、要素(たとえば二次元要素)の水平位置、垂直位置、奥行き位置、幅、高さ、左境界、右境界などであってもよい。水平位置は、表示スクリーンまたは背景コンテンツに対する要素のある点の(たとえばx軸に沿った)水平位置または所望される水平位置を指す。たとえば、水平位置は、二次元要素の左上隅の(たとえばピクセル値で示される)x軸値によって示されてもよい。垂直位置は、表示スクリーンまたは背景コンテンツに対する要素のある点の(たとえばy軸に沿った)垂直位置または所望される垂直位置を指す。たとえば、垂直位置は、要素の左上隅の(たとえばピクセル値で示される)y軸値によって示されてもよい。奥行き位置は、表示スクリーンまたは背景コンテンツに対する要素の奥行き位置または所望される奥行き位置を指す。奥行き位置は、表示スクリーンに対して要素が見えることが所望される(たとえばz軸に沿ったピクセル値によって示される)距離によって示されてもよい。諸実施形態では、奥行き位置はz順(z-order)ではなく、三次元空間において要素が位置されるまたは見える、所定の位置(たとえば背景コンテンツまたは表示スクリーンが0に等しい)に対するz軸に沿った特定の位置、奥行きまたは距離を示すために使われる。
【0049】
幅は、要素の幅または所望される幅を指し、高さは要素の高さまたは所望される高さを指す。理解できるように、幅および/または高さは、ピクセル値、インチ、センチメートルなどを含む任意の尺度を使って特定できる。左境界は、表示スクリーンまたは背景コンテンツに対する、(たとえばx軸に沿った)要素の左の側または境界の位置または所望される位置を指す。右境界は、表示スクリーンまたは背景コンテンツに対する、(たとえばx軸に沿った)要素の右の側または境界の位置または所望される位置を指す。これに関し、左境界および右境界は、要素があたかも表示スクリーンまたは背景コンテンツと同一平面に位置されている(すなわち奥行き位置0をもつ)かのような場合の要素の外側の境界である。異なる言い方をすれば、境界は、垂直な二次元投影をもつ要素の外周の位置または座標である。そのような境界は、表示スクリーンまたは背景コンテンツのx軸に沿ったピクセル値によって示されてもよい。よって、諸実施形態において、x軸に沿ったピクセル値によって示される水平位置は、x軸に沿ったピクセル値によって示される左境界と同じである。
【0050】
向上された属性(enhanced attribute)とは、そのような向上された属性に基づくサイズおよび/または位置にされた要素を重ねるとメディア・コンテンツに対する三次元効果が提供されるよう、表示スクリーンまたは背景コンテンツに対する要素の修正されたサイズおよび/または修正された位置に帰結するよう修正された要素属性を指す。たとえば、修正された右境界は、特定の奥行き位置をもつ要素が表示スクリーンに逆投影されるときに表示スクリーンまたは背景コンテンツに対して(たとえばx軸に沿った)要素の右の側または境界の位置または所望される位置を指す。同様に、修正された左境界は、特定の奥行き位置をもつ要素が表示スクリーンに逆投影されるときに表示スクリーンまたは背景コンテンツに対して(たとえばx軸に沿った)要素の左の側または境界の位置または所望される位置を指す。これに関し、修正された左境界および修正された右境界は、その要素が表示スクリーンまたは背景コンテンツから外側に広がる奥行き位置に関連付けられる(すなわち0より大きな奥行き位置をもつ)ときの、表示スクリーンに逆に延長されたオーバーレイ要素の外側境界である。そのような修正された側境界は、表示スクリーンまたは背景コンテンツのx軸に沿ったピクセル値によって示されてもよい。左眼ビューおよび右眼ビューは、特定の奥行き位置をもつ要素に関係した異なる観点をもつので、左眼ビューがある左境界および右境界に関連付けられうる一方、右眼ビューは異なる左および右の境界に関連付けられることがある。
【0051】
視覚的属性は、観察者の視覚的な知覚を記述、特徴付けまたは指示する。観察者(viewer)とは、三次元環境を見ているまたは見ることになる個人を指す。視覚的属性は、たとえば、眼間距離、視奥行き、ビューポート幅、目の位置などであってもよい。眼間距離は、観察者の左眼と右眼の間の距離を指す。眼間距離は、目の内側部分の間の距離、目の中心間の距離、目の外側部分の間の距離または目の他の任意の部分の間の距離を記述することがありうる。いくつかの実施形態では、観察者に対応する眼間距離が観察者によって与えられてもよく、それによりその観察者にとって一意的で適切な経験が提供される。そのような場合、観察者は、たとえばビューワー装置に付随するユーザー・インターフェースを介して適切な眼間距離を入力または選択してもよい。代替的な諸実施形態では、眼間距離は、一般に諸観察者にとって適切な標準的またはデフォルトの眼間距離であってもよい。たとえば、平均眼間距離が決定され、その後、上記眼間距離として利用されてもよい。代替的な実施形態では、眼間距離は、三次元効果を誇張するために典型的な眼間距離より大きな値を表すよう合成されることもできる。
【0052】
視奥行き(visual depth)とは、スクリーン表示と観察者(たとえば観察者の目)の間の奥行きまたは距離を指す。眼間距離と同様に、いくつかの実施形態では、視奥行きは観察者によって与えられてもよく(たとえば一般的にまたは各観察事例との関連で)、それによりその観察者にとって一意的で適切な経験が提供される。よって、観察者は、該観察者が表示スクリーンに対して位置されると期待するまたは意図する適切な視奥行きを、ビューワー装置に付随するユーザー・インターフェースを使って入力または選択してもよい。あるいはまた、視奥行きは、諸観察者にとって一般に適切である標準的またはデフォルトの視奥行きであってもよい。他の実施形態では、視奥行きは、三次元カメラ・システムまたはスクリーンからユーザーまでの実際の奥行きを計算する他の技術に基づいて計算できる。場合によっては、視奥行きは、ビューワー装置のようなビューワー装置に付随する表示スクリーンの型または表示スクリーンのサイズに依存してもよい。たとえば、モバイル・ハンドヘルド装置はデスクトップ・コンピュータ(たとえば24インチ)よりも小さな視奥行き(たとえば12インチ)を有してもよく、デスクトップ・コンピュータはテレビジョン(たとえば8フィート)よりも小さな視奥行きを有してもよい。
【0053】
ビューポート幅は、表示スクリーンまたは表示スクリーンの見える部分の幅を指す。ビューポート幅も、観察者などのユーザーによって入力されてもよいし、あるいはユーザーまたは装置自身により示されるビューワー装置に基づいていてもよい。理解できるように、実施形態によっては、眼間距離、視奥行きおよび/またはビューポート幅のような視覚的属性は、たとえば、グラフィック・エンジンまたは他のコンポーネントによって決定できる。たとえば、ビューワー装置に付随するビデオ・カメラが観察者を含むビデオを捕捉してもよい。そのようなビデオは、その特定の観察者の眼間距離および/またはその特定の観察者の視奥行きを動的に決定する処理をするために提供されてもよい。
【0054】
目の位置は、左眼の目の位置および右眼の目の位置を指す。いくつかの実施形態では、そのような目の位置はx軸に沿った位置または距離に基づいて示される。目の位置の計算は、下記でさらに論じるように、左眼および右眼についての目の位置を決定または近似するために利用できる。
【0055】
理解できるように、そのような諸属性は、いかなる方法を使って指定されてもよい。いくつかの実施形態では、要素のサイズおよび/または位置を指定するためにピクセルが利用される。ピクセルのような共通の尺度を使うことは、三次元効果を生成するためのより簡単な計算を可能にする。他の実施形態では、他の尺度(たとえばインチ、センチメートル、ミリメートルなど)が利用されてもよい。
【0056】
要素属性、向上された属性および/または視覚的属性は、対応する要素、合成メディア(たとえば背景コンテンツに対するオーバーレイとして位置される要素の合成または集合)などに基づいて同定されてもよい。これに関し、要素は、水平位置、垂直位置、奥行き位置、幅、高さ、左境界、右境界などの一つまたは複数を同定するために解析されてもよい。たとえば、幅および高さは、要素の解析に際して決定されうる。あるいはまた、水平位置、垂直位置、奥行き位置、幅、高さ、左境界、右境界などを同定するために、要素は、それが重なる背景コンテンツとの関連で解析されてもよい。たとえば、水平位置および垂直位置は合成メディア(たとえば、背景コンテンツと合成された要素)の解析に際して同定されうる。いくつかの実施形態では、一つまたは複数の要素属性は、ユーザー入力に基づいて同定されうる。ユーザー入力は、たとえば、観察者、プログラム・コーディネーター、プログラム開発者、システム管理者などによって与えられる。たとえば、システム管理者は、特定の要素について所望される奥行き位置を示す入力を提供してもよい。
【0057】
理解できるように、三次元呈示コンポーネント702は、三次元効果を生成する任意の仕方で三次元環境を呈示できる。先述したように、三次元効果を提供するために、いくつかの実施形態では、左眼ビューに関連する向上された要素および右眼ビューに関連する向上された要素を含む合成メディアが生成される。これに関し、左眼ビューに関連する向上された要素および右眼ビューに関連する向上された要素は、メディア・コンテンツの特定のフレームなど、メディア・コンテンツの同じ部分に含まれる。あるいはまた、左眼ビューに関連する向上された要素を含む合成メディアおよび右眼ビューに関連する向上された要素を含む別個の合成メディアが生成されることもできる。そのような場合、左眼ビューに関連する合成メディアおよび右眼ビューに関連する合成メディアは、メディア・コンテンツの同じ部分(すなわち、二つの異なる合成メディアにおいて反復されているメディア・コンテンツの同じフレーム)を含んでいてもよい。
【0058】
セレクタ奥行き決定コンポーネント704は、セレクタを呈示する奥行き位置を決定するよう構成される。先述したように、奥行き位置とは、表示スクリーンまたは背景コンテンツに対する奥行き位置または所望される奥行き位置を指す。セレクタ奥行き位置は、表示スクリーンまたは背景コンテンツに対してセレクタが見えることが所望される距離(たとえばz軸に沿ったピクセル値によって示される)によって示されてもよい。
【0059】
実装においては、セレクタ奥行き位置は、さまざまな時点に決定されることができる。たとえば、セレクタまたは三次元環境の最初のレンダリングに際して、セレクタの移動に際して、セレクタを動かす指示に際して、オーバーレイ要素の移動に際して、オーバーレイ要素を動かす指示に際して、ある時間の長さの経過に際してなどである。単に例として、セレクタが表示スクリーン上で最初に第一の位置にレンダリングされるとする。そのような場合、セレクタ奥行き決定コンポーネント704は、セレクタを呈示すべき奥行きを決定する。さて、のちの時点に、ユーザーがセレクタをx軸および/またはy軸に沿って動かすという指示を与えるとする。そのような場合、セレクタを呈示すべき奥行きが再び決定されてもよい。
【0060】
ある実施形態では、セレクタを呈示すべき奥行き位置は、そのセレクタと同じまたは類似の垂直および/または水平位置をもつ要素の奥行きに基づいて決定される。これに関し、セレクタの奥行きは、そのセレクタと実質的に同じ二次元位置に位置し、かつその位置に位置する要素のうちで最大の奥行きをもつ要素の知覚される奥行きと一致する。よって、セレクタが異なる奥行き位置をもつ二つの要素と整列している場合、セレクタの奥行き位置は、表示スクリーンから最大または最長の奥行きをもつ要素の奥行き位置を継承する。それにより、セレクタは、該セレクタがその上をホバリングしている要素と同一平面であるように見える。
【0061】
そのような実施形態を実装するために、さまざまな方法を用いることができる。ある実装では、現在セレクタ位置が同定される。すなわち、セレクタの現在位置が同定される。そのような現在位置はたとえば、水平位置、垂直位置および/または奥行き位置を使って同定できる。理解できるように、場合によっては、水平位置および垂直位置が、セレクタの現在位置を同定するために利用される。
【0062】
そのような実装では、諸要素に関連付けられた奥行き位置が参照される。場合によっては、セレクタの水平および垂直位置にマッチする各要素に関連付けられた奥行き位置が参照される。換言すれば、セレクタの現在位置にまたはその近くに位置される各要素について奥行き位置が参照される。たとえば、セレクタがx座標200およびy座標100に位置されているとする。そのような場合、x座標200およびy座標100に位置されている任意の要素またはその一部が同定され、対応する奥行き位置が参照される。単に例として、各要素についての奥行き位置が、ルックアップ・テーブルまたはインデックスから該要素の奥行き位置を検索することによって参照されてもよいし、あるいはその要素に取り付けられた奥行き位置属性から参照されてもよい。
【0063】
理解できるように、要素の奥行き位置は、任意の方法を使って、たとえばフル三次元変換を使って決定または計算され、その後参照されることができる。そのような奥行き位置は、セレクタ奥行き決定コンポーネント704によってまたは三次元環境を呈示する前に要素の奥行きを決定するコンポーネントのような別のコンポーネントによって決定または同定されてもよい。あるいはまた、要素についての奥行き位置が、たとえば観察者、システム管理者、システム・プログラマー、システム開発者などから受け取られてもよい。システム管理者、システム・プログラマー、システム開発者または観察者は、任意のコンピューティング装置を介して奥行き位置を与えてもよい。限定ではなく単に例として、システム開発者が背景コンテンツを見て、特定の要素を重ねるべき特定の位置を決定してもよい。よって、その開発者は、表示スクリーンまたは背景コンテンツに対して要素が見えるべき奥行き位置を与えてもよい。
【0064】
セレクタと(たとえばx軸およびy軸位置により)揃っている要素に対応する最大または最長の奥行き位置(すなわち、表示スクリーンから最も遠く)が同定される。セレクタの奥行き位置が、そのような奥行きに従って、指定される、割り当てられる、同定される、決定されるまたは設定される。場合によっては、セレクタの奥行き位置は、同じ位置をもつ諸要素のうち最大または最長の奥行き位置に一致するまたは等しい。他の場合には、セレクタの奥行き位置は、たとえば対応する要素の最大または最長の奥行き位置に対して所定の量だけオフセットされてもよい。たとえば、セレクタが(要素と同一平面ではなく)要素の手前に見えるよう、セレクタについての奥行き位置は、対応する要素の最大または最長奥行き位置よりも特定の距離(たとえば1ピクセル)、特定の距離比などだけ大きいまたは長いように決定されてもよい。
【0065】
単に例として、図8のAは、垂直位置804(すなわちy=840ピクセル)において表示スクリーン800を横断して動かされるカーソル802を示している。カーソルが表示スクリーン800を横断して動くにつれて、カーソルは、該カーソルがその真上に位置している要素の奥行き位置を得る。すなわち、カーソルは、該カーソル802と整列している最大の奥行き位置をもつ要素の奥行き位置を獲得する。よって、カーソル802がカーソル810に位置されるとき、カーソルは背景コンテンツ812の奥行き位置に対応する0ピクセルの奥行き位置をもつ。カーソルが表示スクリーン800を横断して動いて第一のウィンドウ816上のカーソル位置814に位置されると、カーソルは第一のウィンドウ816の奥行き位置に一致する奥行き位置120ピクセルをもつ。ここでカーソルが表示スクリーン800を横断して動き続けて第二のウィンドウ802上のカーソル位置818までくるとする。そのような場合、カーソル802は第二のウィンドウ820の奥行き位置に一致する240ピクセルのピクセル位置をもつ。図8のBは、カーソル802が図8のAの表示スクリーン800を横断して動く際に図8のAのカーソル802が獲得する奥行き位置を示すグラフである。
【0066】
この実施形態のいくつかの事例では、セレクタが表示スクリーンを横断して動く際にセレクタが消失するまたは見えなくなることがありうる。より高い奥行き位置をもつ要素によって一時的に隠蔽されることがあるからである。本稿で使われるところの隠蔽された領域(obscured region)とは、別の要素より大きな奥行き位置に設けられた要素によって隠蔽される表示スクリーンの領域またはエリアを指す。それにより、その特定の領域は観察者(たとえば、観察者の左眼の観点、観察者の右眼の観点またはそれらの組み合わせ)に対して隠される。いくつかの実施形態では、隠蔽された領域は、単眼ビュー(すなわち、左眼ビューまたは右眼ビュー)に対して隠蔽されてもよい。他の実施形態では、隠蔽された領域は左眼および右眼両方に対して隠蔽されていてもよい。さらに他の実施形態では、隠蔽された領域の一部は、単眼ビューに対して隠蔽されていてもよく、一方、その隠蔽された領域の他の一部は左眼および右眼両方に対して隠蔽されていてもよい。たとえば、隠蔽された領域は、特定の要素の真後ろにない(たとえば、二次元要素が背景コンテンツまたは表示スクリーンに逆投影されるとき)領域であってもよいが、それでも、該要素が背景コンテンツまたは表示スクリーンからある奥行き距離のところに見えることに基づいて、該要素はその領域を左眼ビューおよび/または右眼ビューから隠蔽する。
【0067】
例として、図9のAは左眼ビューおよび右眼ビューからの上面図を示している。具体的には、図9のAは、スクリーン閲覧平面912Aに逆投影された第一のウィンドウ902A、第二のウィンドウ904Aおよび選択可能な項目908Aの左眼920Aの観点からの投影を示している。セレクタ910Aがセレクタ位置980Aに位置されているとする。図9のAに示されるように、セレクタ位置980Aは、左眼920Aについての修正された左の境界982A(sA')(すなわち、左眼の閲覧観点に基づいて修正された第二のウィンドウ904Aの左の境界)と第二のウィンドウ904Aの左側部についての左の境界984A(sA)との間である。セレクタ位置980Aにおけるセレクタ910Aは第二のウィンドウ904Aの位置の外側にあるが、セレクタ910Aは、表示スクリーンまたは背景コンテンツに等しい奥行き位置に呈示される場合、表示スクリーン912Aから隔たった奥行き位置986Aをもつように見える第二のウィンドウ904Aのためにユーザーには見えないことになる。すなわち、セレクタ910Aは、第二のウィンドウ904Aの背後にあるように観察者には見える。
【0068】
三次元環境の結果、セレクタが表示スクリーンから突き出ているように見える要素によって「隠される」ことになりうるため、別の実施形態では、隠蔽される領域に位置されるセレクタの奥行き位置は、該セレクタが不適正な奥行きに見えないよう、またはある要素によって隠蔽されるように見えないよう調整される。そのような実施形態を実装するためにさまざまな方法が使用されうる。ある実装では、セレクタの奥行き位置は、セレクタがある項目の背後にあるように知覚されないよう修正されてもよい。代替的または追加的に、セレクタが隠蔽された領域内に位置されるとき、不適正な選択がなされないよう、セレクタ機能が修正されてもよい。これに関し、隠蔽された領域内の選択が利用可能でないよう、セレクタが無効化されてもよい。セレクタが隠蔽されたエリアに位置されるときに選択機能を無効にすることは、隠蔽された領域内にあり観察者に見えない望ましくない選択可能な項目を観察者がクリックしてしまう可能性を最小限にすることができる。
【0069】
例として、図9のBを参照すると、セレクタが第一の隠蔽された領域990B内または第二の隠蔽された領域992B内にあるとき、第一の隠蔽された領域990Bまたは第二の隠蔽された領域992B内にあるいかなる項目も選択できないよう、セレクタは無効化されてもよい。代替的または追加的に、セレクタが第一の隠蔽された領域990B内または第二隠蔽された領域992B内にあるとき、セレクタが観察者に見えるよう、セレクタは、近くの要素の奥行き位置を割り当てられてもよい。これに関し、セレクタが第一の隠蔽された領域990B内にあるとき、セレクタは第二のウィンドウ904Bに一致する奥行き位置120ピクセルをもつよう同定されてもよい。同様に、セレクタが第二の隠蔽された領域992B内にあるとき、セレクタは第一のウィンドウ902Bに一致する奥行き位置240ピクセルをもつよう同定されてもよい。図9のCは、カーソルが図9のBの表示スクリーンを横断して動く際の図9のBのセレクタが獲得する奥行き位置を示すグラフである。
【0070】
そのような実装では、表示スクリーン内での隠蔽された領域が判別または同定される。隠蔽された領域は、たとえば、一つまたは複数のピクセル値、一つまたは複数のピクセル範囲、配列、座標などといったいかなる仕方で指定されることもできる。いくつかの実施形態では、隠蔽された領域は、ある要素境界と対応する修正された要素境界との間のエリアを決定することによって判別される。先述したように、要素境界は、表示スクリーンまたは背景コンテンツに対して要素が存在する(たとえば二次元環境において呈示されるまたは表示スクリーン上にまっすぐ逆投影される場合)もとの位置を指す。修正された境界は、特定の目の観点から表示スクリーン上に逆投影される位置を指す。
【0071】
そのような要素属性および/または向上された要素属性(たとえば境界および修正された境界)は参照されてもよい。属性は、そのような属性を受領、取得、アクセス、取り出し、判別、同定、認識、それらの組み合わせなどすることによって参照できる。先に論じたように、一つまたは複数の属性は、コンテンツ・プロバイダー、観察者(たとえばエンドユーザー装置606を介して)、システム管理者、システム・プログラマー、システム開発者などによって受領されてもよい。システム管理者、システム・プログラマー、システム開発者または観察者は、いかなるコンピューティング装置を介して要素属性を提供してもよい。限定ではなく単に例として、システム開発者がメディア・コンテンツを見て、特定の要素を重ねるべき特定の位置を決定してもよい。よって、その開発者は、要素に関連付けられた左要素境界および右要素境界を提供してもよい。さらなる例として、プログラム開発者または観察者が、表示スクリーンまたは背景コンテンツに対して要素が見えるべき奥行き位置を与えてもよい。
【0072】
属性を決定または同定するためには、要素(単数または複数)または合成メディア(すなわち、要素および背景コンテンツを含むもの)が解析されてもよい。そのような解析の結果として、たとえば、左要素境界、右要素境界、左の修正された境界、右の修正された境界などといった属性の同定ができる。たとえば、もとの要素はメディア・コンテンツと合成され、その後、解析されて左要素境界、右要素境界、左の修正された境界、右の修正された境界などを決定してもよい。
【0073】
諸実施形態において、一つまたは複数の要素属性および一つまたは複数の視覚的属性は、一つまたは複数の向上された属性(たとえば修正された境界)を計算するために利用される。一つまたは複数の向上された属性が左眼ビューとの関連で計算されてもよく、一つまたは複数の向上された属性が右眼ビューとの関連で計算されてもよい。そのような左眼ビューと関連した向上された属性および右眼ビューと関連した向上された属性は、一つまたは複数の向上された要素(すなわち、向上された属性に従って修正された二次元要素)および/または一つまたは複数の向上された合成メディア(すなわち、メディア・コンテンツと合成された向上された要素)を生成するために使用できる。
【0074】
代替的または追加的に、一つまたは複数の属性がデータ記憶(たとえばデータベース)のようなデータ記憶部から参照されてもよい。たとえば、奥行き位置はデータ記憶部に記憶され、そこから参照されてもよい。そのような場合、単一の奥行き位置がデータベース内に記憶されていてもよいし、あるいは奥行き位置が具体的な要素(単数または複数)に関連付けられていてもよい。データ・ストアのようなデータ記憶部内に記憶されるそのような情報は、コンピューティング装置によって自動的に(たとえばアルゴリズムおよび/または要素もしくは合成メディアの解析を通じて)決定されてもよいし、あるいはユーザー(たとえばプログラマー、開発者、管理者、観察者など)によって入力されてもよい。
【0075】
適切なセレクタ奥行き位置および/またはセレクタ機能を決定するために、現在のセレクタ位置も同定される。すなわち、セレクタの現在位置が同定される。そのような現在位置は、たとえば、水平位置、垂直位置および/または奥行き位置を使って同定できる。理解できるように、場合によっては、水平位置および垂直位置がセレクタの現在位置を同定するために利用される。現在セレクタ位置および決定された隠蔽された領域(単数または複数)に基づいて、セレクタが隠蔽された領域内であるかどうかが判定される。
【0076】
いくつかの実施形態では、セレクタが隠蔽された領域内にあるとき、セレクタの奥行き位置が決定される。セレクタは、隠蔽された領域の原因となっている要素または近くの要素の奥行きに一致する、等しいまたは対応する奥行き位置を割り当てられてもよい。そのような実施形態は、セレクタが要素によって隠蔽されることを防止し、それにより、セレクタは観察者によって常時閲覧可能となる。これに関し、セレクタが動かされる(すなわち動きイベントが生成される)とき、セレクタが隠蔽された領域内であるかどうかが判定される。もしそうであれば、セレクタは、隠蔽された領域を生じさせている要素の奥行き位置を与えられてもよく、それによりセレクタは、要素の背後にあるというユーザー知覚を与えないよう、セレクタの現在奥行き位置よりも大きな奥行き位置に表示される。このようにして、セレクタが隠蔽された領域内に位置されるとき、背景コンテンツまたは下にある別の要素の同じ奥行き位置を与えられるのではなく、隠蔽された領域の原因となっている要素または近くの要素の同じ奥行き位置を与えられる。
【0077】
追加的または代替的な実施形態では、セレクタが隠蔽された領域内にあるとき、セレクタの選択機能は無効にされ、それにより、いかなるクリックもしくは選択も認識および/または適用されない。そのような実装によれば、セレクタが動かされる(すなわち、動きイベントが生成される)とき、セレクタが隠蔽された領域内にあるかどうかが判定される。もしそうであれば、隠蔽された領域内にある選択可能な領域の意図しない選択を避けるため、クリックもしくは選択機能が無効化されてもよい。
【0078】
対照的に、セレクタが隠蔽された領域内にないと判定されたときは、選択機能は有効化されるおよび/またはセレクタは、上記でより十全に述べたように、セレクタが重なっている要素の最大奥行き位置に等しい奥行き位置を与えられてもよい。
【0079】
セレクタ呈示コンポーネント706は、同定された奥行き位置および/または適切なセレクタ機能に従ってセレクタを呈示するよう構成される。ある実施形態では、セレクタは、そのようなセレクタを一つまたは複数の要素との関連でユーザー・インターフェースを介してユーザーに対して表示することによって呈示される。もう一つの実施形態では、セレクタは、セレクタに関連付けられたデータを別のコンピューティング装置に通信することによって呈示される。セレクタ・データは、セレクタを表示すべき奥行き位置、選択機能の有効もしくは無効などを含んでいてもよい。たとえば、奥行き位置および/または選択機能は、図6のユーザー装置606のようなユーザー装置に通信されてもよく、それによりユーザー装置はそのデータを使ってユーザー装置の表示スクリーンを介して適切な位置にセレクタを表示することおよび/または適切な機能をもつセレクタを表示することができる。
【0080】
ある実施形態では、セレクタ呈示コンポーネント706は、セレクタまたは要素(単数または複数)の初期呈示、セレクタの動きイベント、要素(単数または複数)の動きイベント、それらの組み合わせなどを検出または認識したときに、セレクタまたはそれに関連付けられたデータを呈示してもよい。
【0081】
改めて述べると、本発明の実施形態は、三次元環境内でセレクタを呈示するためのシステム、機械、媒体、方法、技法、プロセスおよびオプションを含む。図10に目を転じると、本発明の諸実施形態に基づく、三次元環境内でセレクタを呈示する例示的な方法1000を示す流れ図が示されている。いくつかの実施形態では、例示的な方法1000の諸実施形態の諸側面はコンピュータ実行可能命令としてコンピュータ可読媒体上に記憶されることができ、該命令がコンピューティング装置内のプロセッサによって実行されてそれによりコンピューティング装置に方法1000の諸側面を実装させる。もちろん同じことは、図11図12および図13にそれぞれ描かれる例示的な方法1100、1200および1300やこれらの方法の他の任意の実施形態、変形または組み合わせについても成り立つ。
【0082】
まず、ブロック1010において、セレクタの現在位置が同定される。諸実施形態において、セレクタの現在位置は表示スクリーンまたは背景コンテンツに対するセレクタの位置のx軸位置およびy軸位置を含む。ブロック1012では、セレクタの現在位置に対応する一つまたは複数の要素が識別される。これに関し、セレクタと同じ位置をもつまたは含む要素が認識される。ブロック1014では、セレクタの現在位置と同じ位置をもつ各要素についての奥行き位置が参照される。ブロック1016において示されるように、参照された奥行き位置のうちから最大の奥行き位置が同定される。その後、ブロック1018において、最大の対応する奥行き位置として同定された奥行き位置に一致するよう、セレクタの奥行き位置が指定されるまたは割り当てられる。ブロック1020では、セレクタは該セレクタに指定されたまたは割り当てられた奥行き位置に従って呈示される。
【0083】
ここで図11に目を転じると、もう一つのフローチャートが、本発明の諸実施形態に基づく、三次元環境内でセレクタを呈示する例示的な方法1100を描いている。まず、ブロック1102で、一つまたは複数の隠蔽された領域が判別される。隠蔽された領域は、たとえば表示スクリーンから突き出て見えるように表示される要素のために隠蔽される表示スクリーンまたは背景コンテンツの部分を同定するいかなる方法を使って決定されることもできる。ブロック1104では、セレクタが隠蔽された領域内に位置されるかどうかが判定される。よって、たとえばx軸およびy軸に沿ったセレクタ位置が同定され、その後、セレクタが隠蔽された領域に位置されるかどうかを判定するために一つまたは複数の隠蔽された領域と比較されてもよい。セレクタが隠蔽された領域内に位置されると判定される場合、セレクタの奥行き位置は、隠蔽された領域を引き起こしている要素に関連付けられた奥行き位置に従って設定される。これはブロック1106に示されている。いくつかの実施形態では、セレクタ奥行き位置は、隠蔽された領域を引き起こしている要素に一致する奥行き位置に一致させられる。ブロック1110では、セレクタは、適切なセレクタ奥行き位置に従って三次元環境において表示される。
【0084】
他方、ブロック1104においてセレクタが隠蔽された領域内に位置されないと判定される場合、セレクタについての奥行き位置は、セレクタの下にある要素に関連付けられた奥行き位置に従って設定される。これはブロック1108に示されている。諸実施形態において、セレクタについての奥行き位置は、最大または最長の奥行き位置をもつ下にある要素の奥行き位置に一致する。その後、ブロック1110において、セレクタは、適切なセレクタ奥行き位置に従って三次元環境内で表示される。
【0085】
ここで図12に目を転じると、もう一つのフローチャートが、本発明の諸実施形態に基づく、三次元環境内でセレクタを呈示する例示的な方法1200を描いている。まず、ブロック1202で、一つまたは複数の隠蔽された領域が判別される。隠蔽された領域は、たとえば表示スクリーンから突き出て見えるように表示される要素のために隠蔽される表示スクリーンまたは背景コンテンツの部分を同定するいかなる方法を使って決定されることもできる。ブロック1204では、セレクタが隠蔽された領域内に位置されるかどうかが判定される。よって、たとえばx軸およびy軸に沿ったセレクタ位置が同定され、その後、セレクタが隠蔽された領域に位置されるかどうかを判定するために一つまたは複数の隠蔽された領域と比較されてもよい。セレクタが隠蔽された領域内に位置されると判定される場合、ブロック1206に示されるように、セレクタの選択機能は無効にされる。よって、セレクタが隠蔽された領域内にあるときにユーザーが選択の指示を与える場合、そのような選択は認識および/または適用されない。ブロック1210では、セレクタは、該セレクタの適切な機能に従って三次元環境において表示される。
【0086】
他方、ブロック1204においてセレクタが隠蔽された領域内に位置されないと判定される場合、セレクタの選択機能は有効にされる。これはブロック1208に示されている。その後、ブロック1210において、セレクタは、該セレクタの適切な機能に従って三次元環境内で表示される。
【0087】
図13は、本発明の諸実施形態に基づく、要素に関連付けられた隠蔽された領域を判別する例示的な方法1300を描いたフローチャートである。まず、ブロック1310で、要素の左境界が同定または参照される。諸実施形態において、要素の左の周部についてのx座標が同定、判別、参照または計算される。場合によっては、要素の左境界は、要素の高さ、要素の垂直スクリーン位置、奥行き位置(すなわちzオフセット)および/またはその他といった要素の属性を使って計算される。ブロック1312では、要素の左の修正された境界が同定または参照される。諸実施形態において、目の観点によって知覚される特定の奥行き位置に関連する要素の左の周部についてのx座標が同定、判別、参照または計算される。場合によっては、要素の修正された境界は、要素の高さ、要素の垂直スクリーン位置、奥行き位置(すなわちzオフセット)および/またはその他といった要素の属性を使って計算される。いくつかの実施形態では、特定の目の観点についての左の修正された境界が決定されてもよい。すなわち、左眼の観点に関連する左の修正された境界が決定されてもよい。他の実施形態では、左眼の観点および右眼の観点についての左の修正された境界が決定されてもよい。たとえば、左眼の観点に関連付けられた左の修正された境界および右眼の観点に関連付けられた左の修正された境界が決定されてもよい。
【0088】
ブロック1314では、要素の左部分に関連して隠蔽された領域が存在するかどうかが判定される。左眼の観点および右眼の観点両方に関連付けられた修正された境界が決定される実施形態では、修正された境界の一つが、隠蔽された領域が存在するかどうかを決定するために使うために選択されてもよい。たとえば、前記境界から最も遠く離れた修正された境界が、前記境界とともに、隠蔽された領域を判別するために利用されてもよい。いくつかの実施形態では、隠蔽された領域のそのような決定は、左の境界および左の修正された境界を比較することによってなされてもよい。たとえば、修正された左の境界が左の境界よりも小さなx座標をもつ場合、隠蔽された領域が存在すると判定されてもよい。さらなる例として、修正された左の境界が左の境界よりも表示スクリーンまたは背景コンテンツの中心から遠い場合、隠蔽された領域が存在するという判定がなされてもよい。
【0089】
隠蔽された領域が存在すると判定される場合、ブロック1316において示されるように、要素の境界および対応する修正された境界は、隠蔽された領域を決定するために使われる。左眼の観点および右眼の観点の両方に関連付けられた修正された境界が決定される実施形態では、修正された境界の一つが、隠蔽された領域を判別する際に使うために選択されてもよい。たとえば、境界から最も遠く離れた修正された境界が、前記境界とともに、隠蔽された領域を決定するために利用されてもよい。理解できるように、隠蔽された領域はいかなる仕方で同定されることもできる。たとえば、x座標、y座標、z座標、境界と修正された境界の間の幅または距離、高さ、奥行き位置および/またはその他が、隠蔽された領域を特定するために使われてもよい。そのような隠蔽された領域は、そのような隠蔽された領域内に位置されるセレクタが認識できるよう、アレイに追加される。このことはブロック1318に示されている。
【0090】
ブロック1314において隠蔽された領域が存在しないと判定される場合、あるいはブロック1318において隠蔽された領域をアレイに追加した際、要素の右の境界が参照される。このことはブロック1320に示されている。諸実施形態において、要素の右の周部についてのx座標が同定、判別、参照または計算される。場合によっては、要素の右の境界は、要素の高さ、要素の垂直スクリーン位置、奥行き位置(すなわちzオフセット)および/またはその他といった要素の属性を使って計算される。ブロック1322では、要素の右の修正された境界が参照される。諸実施形態において、目の観点によって知覚される特定の奥行き位置に関連付けられた要素の右の周部についてのx座標が同定、判別、参照または計算される。場合によっては、要素の修正された境界は、要素の高さ、要素の垂直スクリーン位置、奥行き位置(すなわちzオフセット)および/またはその他といった要素の属性を使って計算される。いくつかの実施形態では、特定の目の観点についての右の修正された境界が決定されてもよい。すなわち、右眼の観点に関連する右の修正された境界が決定されてもよい。他の実施形態では、左眼の観点および右眼の観点についての右の修正された境界が決定されてもよい。たとえば、左眼の観点に関連付けられた右の修正された境界および右眼の観点に関連付けられた右の修正された境界が決定されてもよい。
【0091】
ブロック1324では、要素の右部分に関連して隠蔽された領域が存在するかどうかが判定される。左眼の観点および右眼の観点両方に関連付けられた修正された境界が決定される実施形態では、修正された境界の一つが、隠蔽された領域が存在するかどうかを決定するために使うために選択されてもよい。たとえば、前記境界から最も遠く離れた修正された境界が、前記境界とともに、隠蔽された領域を判別するために利用されてもよい。いくつかの実施形態では、隠蔽された領域のそのような決定は、右の境界および右の修正された境界を比較することによってなされてもよい。たとえば、修正された右の境界が右の境界よりも大きなx座標をもつ場合、隠蔽された領域が存在すると判定されてもよい。さらなる例として、修正された右の境界が右の境界よりも表示スクリーンまたは背景コンテンツの中心から遠い場合、隠蔽された領域が存在するという判定がなされてもよい。
【0092】
隠蔽された領域が存在すると判定される場合、ブロック1326において示されるように、要素の境界および対応する修正された境界は、隠蔽された領域を決定するために使われる。左眼の観点および右眼の観点の両方に関連付けられた修正された境界が決定される実施形態では、修正された境界の一つが、隠蔽された領域を判別する際に使うために選択されてもよい。たとえば、境界から最も遠く離れた修正された境界が、前記境界とともに、隠蔽された領域を判別するために利用されてもよい。理解できるように、隠蔽された領域はいかなる仕方で同定されることもできる。たとえば、x座標、y座標、z座標、境界と修正された境界の間の幅または距離、高さ、奥行き位置および/またはその他が、隠蔽された領域を特定するために使われてもよい。そのような隠蔽された領域は、そのような隠蔽された領域内で位置されるセレクタが認識できるよう、アレイに追加される。このことはブロック1328に示されている。ブロック1324において隠蔽された領域が存在しないと判定される場合、あるいはブロック1328において隠蔽された領域をアレイに追加した際、本方法はブロック1330で終了する。
【0093】
本発明のさまざまな実施形態について、制約するのではなく例解するよう述べてきた。本発明の実施形態の範囲から外れることなく、代替的な実施形態が随時明白となるであろう。ある種の特徴およびサブコンビネーションが有用であり、他の特徴およびサブコンビネーションへの参照なしに用いられてもよいことは理解されるであろう。それは、請求項によって考えられており、請求項の範囲内である。
いくつかの態様を記載しておく。
〔態様1〕
コンピューティング装置内のプロセッサによって実行されたときに三次元グラフィック環境におけるセレクタの呈示を容易にする方法を前記コンピューティング装置に実行させるコンピュータ実行可能命令が具現されている一つまたは複数のコンピュータ可読記憶媒体であって、前記方法は:
セレクタの現在位置と同じ水平および垂直位置をもつ各要素に関連付けられた奥行き位置を参照する段階であって、各奥行き位置は、対応する要素が表示スクリーンに対して見えるよう意図されている距離を示す、段階と;
前記表示スクリーンに対して最大の奥行きをもつ最大奥行き位置を同定する段階であって、前記最大奥行き位置は、セレクタの現在位置と同じ水平および垂直位置をもつ各要素に関連付けられた奥行き位置のうちから同定される、段階と;
前記最大奥行き位置に対応するセレクタ奥行き位置を指定する段階であって、前記セレクタ奥行き位置は、セレクタが前記表示スクリーンに対して見えるよう意図される距離を示す、段階とを含む、
媒体。
〔態様2〕
前記最大奥行き位置に一致する前記セレクタ奥行き位置においてセレクタを呈示する段階をさらに含む、態様1記載の媒体。
〔態様3〕
前記最大奥行き位置より所定量大きな前記セレクタ奥行き位置においてセレクタを呈示する段階をさらに含む、態様1記載の媒体。
〔態様4〕
セレクタの現在位置を使って、セレクタが、前記表示スクリーンから突き出て見える特定の要素によって観察者に対して隠蔽される隠蔽領域内に位置されていないことを判別する段階をさらに含む、態様1記載の媒体。
〔態様5〕
セレクタの現在位置を使って、セレクタが、前記表示スクリーンから突き出て見える特定の要素によって観察者に対して隠蔽される隠蔽領域内に位置されていることを判別する段階と;
前記隠蔽領域の原因となっている前記特定の要素の奥行き位置に対応する前記セレクタ奥行き位置を指定する段階とをさらに含む、
態様1記載の媒体。
〔態様6〕
コンピューティング装置内のプロセッサによって実行されたときに三次元グラフィック環境におけるセレクタの呈示を容易にする方法を前記コンピューティング装置に実行させるコンピュータ実行可能命令が具現されている一つまたは複数のコンピュータ可読記憶媒体であって、前記方法は:
三次元グラフィック環境内で一つまたは複数の要素の手前に見える要素によって隠蔽される一つまたは複数の隠蔽領域を判別する段階と;
セレクタが前記一つまたは複数の隠蔽領域のうちの一つに位置されていることを識別する段階と;
セレクタが前記一つまたは複数の隠蔽領域のうちの一つに位置されていることに基づいてセレクタの選択機能を無効にする段階とを含み、選択機能を無効にすることは、セレクタがいかなる選択可能な項目の選択を開始することをも防止する、
媒体。
〔態様7〕
前記要素に関連付けられた奥行き位置に一致する、セレクタのための奥行き位置を調整する段階をさらに含む、態様6記載の媒体。
〔態様8〕
前記一つまたは複数の隠蔽領域は、前記要素の境界のx座標および前記要素の修正された境界のx座標を使って判別され、前記要素の前記修正された境界は、表示スクリーンまたは背景コンテンツへのある目の観点によって知覚される特定の奥行き位置をもつ前記要素から広がる境界を含む、態様6記載の媒体。
〔態様9〕
三次元グラフィック環境においてセレクタの呈示を容易にする電算化された方法であって:
三次元グラフィック環境内で一つまたは複数の要素の手前に見える要素によって隠蔽される隠蔽領域を判別する段階と;
セレクタが前記隠蔽領域に位置されていることを識別する段階と;
セレクタを、前記隠蔽領域に関連付けられた前記要素の奥行き位置に従って呈示する段階とを含み、前記奥行き位置は、前記要素が表示スクリーンに対して見えるよう意図されている距離を示す、
方法。
〔態様10〕
セレクタが前記隠蔽領域内にあるいかなる選択可能な項目の選択を開始することも防止する段階をさらに含む、態様9記載の方法。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13