专利名称:在三维图形环境内呈现选择器的制作方法
在三维图形环境内呈现选择器
背景技术:
三维立体技术正变得越来越普及。例如,影片和实况电视体育广播较频繁地运用三维立体技术。用来生成三维立体内容的通常技术使得对象在显示屏前方显现而使得观看者感觉较贴近动作。在许多情形中,在三维环境中显示选择器,如,光标。然而使用二维技术显示选择器会致使选择器在三维中显示的对象后方显现。进一步地,在一些情形中,因为三维环境中的对象显得从显示屏突出,所以突出对象会 遮蔽背景内容的一部分而使得观看者会无法查看选择器。例如,当与显示屏或背景内容共面地显示选择器以及按照致使对象在显示屏或背景内容前方显现的深度位置显示特定对象时,由于选择器会处于对象后方或在视觉上被对象遮挡,所以选择器可能从观看者的深度感知视点(例如,结合左眼视图、右眼视图、或者其组合)不明显。以进一步实例的方式,即使在总是在前方示出选择器(如在许多鼠标操控解决方案中一样)和对屏幕共面地再现光标的情形中,奇特视觉效果会致使选择器在顶部绘出但是按照用户的深度感知显得仿佛它应当在后方从而导致不准确的深度感知效果。无法恰当查看选择器会致使显示屏内呈现项目的不准确和无效选择。例如,用户会发起选择功能从而无意中选择了对用户不可见的项目(即,被在显示屏或背景内容前方显现的对象隐藏的项目)。
发明内容
提供此发明内容以简要介绍下面在具体实施方式
中进一步描述的概念的选择。此发明内容并非意在确定要求保护主题的关键特征或必要特征,它也并非意在孤立地用作确定要求保护主题范围的过程中的辅助。根据本发明的实施例,在三维图形环境内调整选择器(例如,光标)的深度位置而使得选择器对观看者明显。在这点上,相对于显示屏或背景显得凸出的元素未“隐藏”或遮蔽选择器。例如,在以二维格式呈现时直接处于元素后方的选择器具有与这种元素匹配或对应的深度位置。以此方式,选择器将会以三维向观看者显现。以进一步实例的方式,位于遮蔽区域内的选择器可以具有与引起遮蔽区域的元素匹配或对应的深度位置。相应地,观看者可以辨识位于遮蔽区域内的选择器。遮蔽区域可以是指如下区域在该区域内,内容(如,以二维格式呈现的选择器)对用户不明显,或者由于通过把元素投影得远离显示屏或背景内容而使得内容的一部分会从观看者的左和/或右眼视角被遮挡的深度位置呈现元素,而只从一只眼睛的视角对用户明显。
下面参照附图详细描述本发明的实施例,其中
图I描绘了按照本发明的实施例、在不同深度位置的用户界面元素的示例性显示屏; 图2示例了根据本发明的实施例、三维环境的观看者感知的顶视图的第一表示;
图3示例了根据本发明的实施例、三维环境的观看者感知的顶视图的第二表示;图4A示例了按照本发明的实施例、来自左眼视图的顶视 图4B示例了按照本发明的实施例、来自右眼视图的顶视 图5是适合实施本发明实施例的示范性运算设备的方框 图6是适合在实施本发明实施例的过程中使用的示范性网络环境的方框 图7示例了根据本发明的实施例、用于呈现三维环境中选择器的示范性运算系统;
图8A描绘了按照本发明的实施例、结合具有不同深度位置的元素显示的选择器的示例性显示屏;
图8B是根据本发明的实施例、示例了选择器获取的不同深度位置的图; 图9A示例了根据本发明的实施例、具有遮蔽区域的三维环境的观看者感知的顶视图的表示;
图9B描绘了按照本发明的实施例、遮蔽区域中显示的选择器的示例性显示屏;
图9C是根据本发明的实施例、示例了选择器获取的不同深度位置的 图10是描绘了按照本发明实施例、用于在三维环境内呈现选择器的第一示例性方法的流程 图11是描绘了按照本发明实施例、用于在三维环境内呈现选择器的第二示例性方法的流程 图12是描绘了按照本发明实施例、用于在三维环境内呈现选择器的第三示例性方法的流程图;以及
图13是描绘了按照本发明实施例、用于确定遮蔽区域的示例性方法的流程图。
具体实施例方式本文中公开的本发明实施例的主题通过特性来描述以符合法定要求。然而,描述本身并非意在限制本专利的范围。而是,发明人构思了也可以通过其它方式体现要求保护的主题,结合其它目前或未来技术,将与本文件中描述的步骤或步骤组合类似的不同步骤或步骤组合包含在内。此外,虽然在本文中可以使用术语“步骤”和/或“块”意指采用的方法的不同元素,但如非和除了明确描述各步骤的次序时以外不应当把该术语解释成暗示本文中公开的各种步骤之中或之间的任何特定次序。三维效果在图形三维环境中正变得越来越普及。如本文中所使用的图形三维环境或三维环境是指以三维提供对象的显示屏。使用与例如运算设备、电视机、机顶盒、游戏系统等相关联的显示屏显示图形三维环境。通常通过在三维空间中把元素或对象覆盖在其它元素(如,背景内容)上生成三维环境。即,时常例如通过产生将会经由各种立体显示技术向左和右眼提供的在适当视在深度的左右立体图像,在背景内容或其它元素上提供覆盖元素或用户界面元素以提供三维效果。在一些情形中,覆盖元素(例如,二维覆盖元素)作为覆盖提供给背景内容(例如,媒体内容)以努力提供覆盖元素相对于背景内容的三维效果。覆盖元素或元素可以是覆盖背景内容和/或任何其它元素的二维元素或三维元素。二维覆盖元素是指二维的可以覆盖背景内容和/或任何其它元素的、或者可以与其合成的任何元素。三维覆盖元素是指三维的可以覆盖背景内容和/或任何其它元素的、或者可以与其合成的任何元素。元素可以是显示屏上呈现或可以呈现的任何元素或对象。只以实例、以及非限制的方式,元素可以是文本、图像、照片、窗口视图、菜单、对话框、背景内容、其组合等。如本文中所使用的背景内容是指可以与一个或多个元素合成或可以被一个或多个元素覆盖的任何类型的视觉媒体。背景内容可以是媒体内容、视频、图像、照片、图形、窗口视图、桌面视图等。在一个实施例中,背景内容是二维形式的。可替选地,在另一实施例中,背景内容是三维形式(例如,三维立体)的。在一些情形中,背景内容的至少一部分与显示屏共面,即,深度位置为零。在本发明的实施例中,覆盖元素可以是覆盖背景内容(如,三维媒体内容)的增强元素(例如,修改的二维元素)以提供增强元素相对于背景内容的三维效果。在这点上,增强元素显得处于背景内容前方的特定深度处,或者显得比背景内容的至少一部分贴近观看者。即使在以三维格式提供背景内容时,本发明的实施例也由于增强元素在三维背景内容的至少一部分、或者甚至全部内容前方显现而能够实现增强元素相对于背景内容的三维效果。增强元素是例如在尺寸和/或位置上被修改以提供元素相对于背景内容的三维效果的元素。在经引用并入本文的2010年10月14日提交的题为“Presenting Two-DimensionalElements in Three-Dimensional Stereo Applications” 的美国申请序列号 12/904,5 48中更详细地描述了增强元素。在实施例中,为了生成元素相对于背景内容的三维效果,生成左眼透视图和右眼透视图而使得元素在背景内容前方显现。为了提供三维效果,在一些实施例中,生成包括与左眼视图相关联的增强元素和与右眼视图相关联的增强元素的合成媒体。在这点上,与左眼视图相关联的增强元素和与右眼视图相关联的增强元素包括在媒体内容的相同部分(如,媒体内容的特定巾贞)中。可替选地,可以生成包括与左眼视图相关联的增强元素的合成媒体和包括与右眼视图相关联的增强元素的单独合成媒体。在这种情形中,与左眼视图相关联的合成媒体和与右眼视图相关联的合成媒体可以包括媒体内容的相同部分(即,在两个不同合成媒体中重复的媒体内容的相同帧)。然而,结合三维环境再现的选择器可能具有不恰当的深度外观,原因是选择器可能不显现在特定元素前方。如本文中所使用的选择器是指可以用来选择显示屏内可选择项目的任何选择器或指示器。相应地,选择器可以是光标、用户指部(例如,手指)等。在一些实施例中,选择器表明显示屏内的位置。例如,显示屏上显示的光标表示其位置。可选择项目是指可以例如基于用户输入进行选择以及在选择后可能致使与可选择项目相关联的事件或动作的执行的任何项目。可以使用任何方法提供用户输入。例如,可以通过用户在可选择项目上放置光标和提供用以选择项目的指示(例如,点击按钮、做出手势等)提供用户输入。以进一步实例的方式,可以通过用户执行与可选择项目相关联的触摸事件(例如,通过物品触摸可选择项目或显得通过物品触摸可选择项目)提供用户输入。只以实例的方式和初始参照图1,图I示例了在不同深度位置的用户界面元素的显示视图100。图I的示例性视图100示出了具有覆盖第二窗口 104的第一窗口 102的屏幕,在背景内容106 (例如,桌面视图)上显示这二者。第一窗口 102包括可以由选择器110选择的可选择项目108。如图I中所示例的,第一窗口 102的深度位置为240个像素,第二窗口 104的深度位置为120个像素。相应地,由于包括可选择项目108的第一窗口 102在第二窗口 104前方显现而生成三维效果。图2示例了图I三维环境的观看者感知的顶视图的表示。特别地,图2示例了结合查看第一窗口 202和第二窗口 204从左眼向显示屏表面上和从右眼向显示屏表面上投影的顶视图。如所示例的,观看者的左眼220 (左眼位置)和观看者的右眼222 (右眼位置)处于相互分开的特定距离224 (眼部距离)。视觉深度226识别观看者的眼部距显示屏212的距离(至观看者的z距离)。如在图2中所示例的,第一窗口 202处于远离显示屏212的位置导致当将边界投影回显示屏212上时、来自与右眼222不同的左眼220的视觉视角。因为期望如在远离显示屏212的深度位置228 —样绘制第一窗口 202的三维效果以及因为不能在空间中再现第一窗口 202,所以图2示例了基于位于深度位置228的第一窗口、在点240和242处向显示屏212延伸的观看者左眼视线和在点244和246处向显示屏212延伸的观看者右眼视线的投影。其实,这种投影导致左右眼视图的第一窗口 202的修改边界。类似地,如在图2中所示例的,第二窗口 204处于远离显示屏212的位置导致当将边界投影回显示屏212上时、来自与右眼222不同的左眼220的视觉视角。因为期望如在远离显示屏212的深度位置230 —样绘制第二窗口 204的三维效果以及因为不能在空间中再现第二窗口 204,所以图2示例了基于位于深度位置230的第二窗口、在点248和250处向显示屏212延伸的观看者左眼视线和在点252和254处向显示屏212延伸的观看者右眼视线的投影。其实,这种投影导致左右眼视图的第二窗口 204的修改边界。 图3示例了图I三维环境的观看者感知的顶视图的另一表示。图3示例了结合第一窗口 302内的可选择项目308从左眼向显示屏表面312上和从右眼向显示屏表面312上投影的顶视图。如所示例的,观看者的左眼320(左眼位置)和观看者的右眼322(右眼位置)处于相互分开的特定距离324 (眼部距离)。视觉深度326识别观看者的眼部距显示屏312的距离(至观看者的z距离)。如在图3中所示例的,包括可选择项目308的第一窗口 302处于远离显示屏312的位置导致当将边界投影回显示屏312上时来自与可选择项目308的右眼322的视觉视角不同的左眼320的视觉视角。因为期望如在远离显示屏312的深度位置一样绘制可选择项目308的三维效果以及因为不能在空间中再现可选择项目308,所以图3示例了在点360和362处向显示屏312延伸的观看者左眼视线和在点364和366处向显示屏312延伸的观看者右眼视线的投影。其实,这种投影导致可选择项目308的修改边界。进一步参照图3,假定选择器310处于相对于显示屏312的点370处。因为在二维空间中(即,在等于零的深度位置处)实现选择器位置370,以及在三维空间中实现第一窗口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也会显得在第一窗口后方而使得观看者会有选择第一窗口 302后方的项目而并非可选择项目308这样的印象。
图4A和4B分别示例了来自左眼视图和右眼视图的顶视图。特别地,图4A示例了从第一个项目402A、第二个项目404A、可选择项目408A的左眼420A的视角回到屏幕查看平面412A上的投影。图4B示例了从第一个项目402B、第二个项目404B、可选择项目408B的右眼422B的视角回到屏幕查看平面412B上的投影。初始参照图4A,从观看者左眼420A的视角,假定选择器410A处于选择器位置470A处并如二维空间中所显示的处于与原始可选择项目对齐的位置。然而,从左眼视角420A,把显示屏412A前方的深度位置处三维空间中呈现的可选择项目408A投影回到显示屏412A而使得来自左眼视角的修改边界位于点460A (B卩,左边界)和462A (B卩,右边界)处。同样,按照左眼视图,选择器位置470A出现在可选择项目408A的左方。相应地,如果用户正在只使用左眼查看可选择项目408A并在可选择项目位置470A处点击,则即使从左眼420A的 视角并没有看起来似乎选择器410A处于可选择项目408A上,仍会发生与可选择项目408A相关联的事件(例如,取消事件)。相比而言,针对图4B,从观看者右眼422B的视角,假定选择器410B处于选择器位置470B处并如二维空间中所显示的处于原始可选择项目上。然而,从右眼视角422B,把显示屏412B前方的某深度位置处的、三维空间中呈现的可选择项目408B投影回到显示屏412B而使得来自右眼视角的修改边界位于点464B (B卩,左边界)和466B (B卩,右边界)处。同样,按照右眼视图,选择器位置470B出现在可选择项目408B上(因为选择器位置470B落在修改边界464B和466B内)。相应地,如果用户正在只使用右眼查看可选择项目408B并在可选择项目位置470B处点击,则如观看者所预期的,将会发生与可选择项目408B相关联的事件(例如,取消事件)。本发明的实施例涉及促进三维环境内选择器呈现的系统,方法,以及其上包含有计算机可执行指令的计算机存储介质。在一个方面中,本文中描述的本发明的实施例包括计算机可读介质,其具有用于执行促进三维图形环境中选择器呈现的方法的计算机可执行指令。该方法包括参考与具有与选择器的当前位置一样的水平和垂直位置的每个元素相关联的深度位置。每个深度位置表明相应元素预期相对于显示屏显现的距离。识别相对于显示屏具有最大深度的最大深度位置。从与具有与选择器的当前位置一样的水平和垂直位置的每个元素相关联的深度位置之中识别最大深度位置。指定与最大深度位置对应的选择器深度位置。选择器深度位置表明选择器预期相对于显示屏显现的距离。在第二示例性实施例中,计算机可执行指令使得运算设备执行促进三维图形环境中选择器呈现的方法。在实施例中,该方法包括确定由三维图形环境内其它元素前方显现的元素遮蔽的任何遮蔽区域。识别出选择器位于遮蔽区域中的一个遮蔽区域中。基于位于遮蔽区域中的一个遮蔽区域中的选择器禁用选择器的选择功能性。禁用选择功能性阻止了选择器发起任何可选择项目的选择。在第三示例性实施例中,用于促进三维图形环境中选择器呈现的计算机化方法。该方法包括确定由三维图形环境内其它元素前方显现的元素遮蔽的遮蔽区域。识别出选择器位于遮蔽区域中。按照与遮蔽区域相关联的元素的深度位置呈现选择器。该深度位置表明元素预期相对于显示屏显现的距离。简要描述了本发明的概况,下面描述可以实施本发明各种方面的示范性操作环境以提供本发明各种方面的总体背景。总体上参照附图、并特别地参照图5,用于实施本发明实施例的示范性操作环境总体上被示出并指定为运算设备500。运算设备500仅是合适的运算环境的一个实例而并非意在建议对于本发明使用或功能性范围的任何限制。也不应当把运算设备500解释成具有与示例的组件中的任何一个组件或其组合有关的任何相关性或需求。可以在计算机或其它机器(如,个人数据助理或其它手持设备)执行的包括诸如程序模块的计算机可执行指令的计算机代码或机器可使用指令的总体背景中描述本发明。通常,包括例程、程序、对象、组件、数据结构等的程序模块是指执行特定任务或实施特定抽象数据类型的代码。可以在包括手持设备、消费电子产品、通用计算机、较专业运算设备等的各种系统配置中实践本发明。也可以在通过通信网络链接的远程处理设备执行任务的分布式运算环境中实践本发明。参照图5,运算设备500包括总线510,其直接或间接耦合以下设备存储器512、一个或多个处理器514、一个或多个呈现组件516、输入/输出端口 518、输入/输出组件520、以及示例性电源522。总线510表示可以是一个或多个总线(如,地址总线、数据总线、或者其组合)的内容。虽然通过线示出了图5的各种块以求清楚,但实际上,勾画各种组件并非如此清楚,比方说,线将会较准确地是灰色和模糊的。例如,可以认为诸如显示设备的呈现组件是I/O组件。另外,处理器具有存储器。我们认识到这是本领域的本性,并且重申 图5的图对可以结合本发明一个或多个实施例使用的示范性运算设备仅是示例性的。在诸如“工作站”、“服务器”、“笔记本电脑”、“手持设备”等类别之间未做出区分,因为所有这些类别都预期在图5的范围内并参考“运算设备”。运算设备500典型地包括各种计算机可读介质。计算机可读介质可以是运算设备500可以访问的任何可用介质并包括易失性和非易失性介质、可移除和不可移除介质。以实例而非限制的方式,计算机可读介质可以包括计算机存储介质和通信媒体。计算机存储介质包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括RAM、ROM、EEPR0M、闪存或其它存储器技术、⑶-ROM、数字多功能盘(DVD)或其它光盘存储部件、磁盒、磁带、磁盘存储或其它磁存储设备、或者可以用来存储期望信息并且运算设备500可以访问的任何其它介质。通信媒体典型地包含计算机可读指令、数据结构、程序模块或在诸如载波或其它传输机制的调制的数据信号中的其它数据并包括任何信息传递媒体。术语“调制的数据信号”意思是以在信号中编码信息的方式设置或改变其一个或多个特性的信号。以实例而非限制的方式,通信媒体包括诸如有线网络或直接有线连接的有线媒体,以及诸如声学、RF、红外的无线媒体以及其它无线媒体。以上任何内容的组合也应当包括在计算机可读介质的范围内。存储器512包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、不可移除的、或者其组合。示范性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。运算设备500包括从诸如存储器512或I/O组件520的各种实体读取数据的一个或多个处理器。呈现组件516向用户或其它设备呈现数据指示。示范性呈现组件包括显示设备、扬声器、打印组件、振动组件等。I/O端口 518允许运算设备500逻辑耦合到包括I/O组件520的其它设备,其中有些可以内置。示例性组件包括麦克风、操纵杆、游戏手柄、碟形卫星天线、扫描仪、打印机、无线设备等。
参照图6,示例了示出被配置成在实施本发明实施例的过程中使用的示范性运算系统架构600的方框图。本领域普通技术人员将会理解和明白,图6中示出的运算系统架构600仅是一个合适的运算系统的实例而并非意在建议对于本发明使用或功能性范围的任何限制。也不应当把运算系统架构600解释成具有与文中示例的模块/组件的组合或任何单个模块/组件有关的任何相关性或需求。运算系统架构600包括服务器602、存储设备604、以及终端用户设备606,所有这些设备都经由网络608相互通信。网络608可以在非限制的情况下包括一个或多个局域网(LAN)和/或广域网(WAN)。这种联网环境在办公室、企业范围计算机网络、内联网和互联网中是普遍的。相应地,在本文中未进一步描述网络608。存储设备604被配置成存储与三维环境相关联的信息。在各种实施例中,这种信息在非限制的情况下可以包括元素、元素属性、选择器、遮蔽区域等。在实 施例中,存储设备604被配置成对于与其相关联地存储的项目中的一个或多个项目可查找。本领域普通技术人员将会理解和明白,与存储设备604相关联地存储的信息可以是可配置的并可以包括与元素、元素属性、选择器、遮蔽区域等相关的任何信息。这种信息的内容和量并非意在以任何方式限制本发明实施例的范围。进一步地,虽然作为单个、独立组件示例,但存储设备604事实上可以是多个存储设备,例如,部分可以驻留在服务器602、终端用户设备606、另一外部运算设备(未示出)、和/或其任何组合上的数据库集群。图6中示出的服务器602和终端用户设备606中的每个可以是任何类型的运算设备,如,例如,以上参照图5描述的运算设备500。只以实例而非限制的方式,服务器602和终端用户设备606中的每个可以是个人计算机、桌面计算机、膝上型计算机、手持设备、手机、消费电子设备、触摸屏设备、机顶盒等。然而应当注意,实施例不限于这种运算设备上的实施,而是可以在其实施例范围内各种不同类型运算设备中的任何运算设备上实施。服务器602可以包括可配置成执行本文中描述的方法的任何类型的应用服务器、数据库服务器、或者文件服务器。另外,服务器602可以是专用或共享服务器。可配置成作为服务器602工作的服务器的一个非限制的实例是执行诸如总部在华盛顿雷蒙德的Microsoft 公司开发的SQL Server 2005的服务器软件的结构化查询语言(“SQL”)服务器。服务器602的组件(未示出以便清楚)可以在非限制的情况下包括处理单元、内部系统存储器、以及用于耦合各种系统组件的合适的系统总线,所述各种系统组件包括用于存储信息(例如,文件和与其相关联的元数据)的一个或多个数据库。每个服务器典型地包括、或者可以访问各种计算机可读介质。以实例而非限制的方式,计算机可读介质可以包括计算机存储介质和通信介质。通常,通信介质使得每个服务器能够经由网络(例如,网络608)交换数据。更具体地,通信介质可以包含计算机可读指令、数据结构、程序模块、或者在诸如载波或其它传输机制的调制的数据信号中的其它数据,并可以包括任何信息传递媒体。如本文中所使用的,术语“调制的数据信号”是指以在信号中编码信息的方式设置或改变其一个或多个属性的信号。以实例而非限制的方式,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外的无线介质以及其它无线介质。以上任何内容的组合也可以包括在计算机可读介质的范围内。本领域普通技术人员将会理解,运算系统架构600仅是示范性的。虽然作为单个单元示例了服务器602,但本领域技术人员将会明白,服务器602是可扩展的。例如,服务器602实际上可以包括多个相互通信的服务器。此外,存储设备604可以作为计算机存储介质包括在服务器602或终端用户设备606内。单个单元描述旨在为了清楚,并非以任何形式限制实施例的范围。如图6中所示,终端用户设备606包括输入模块610和呈现模块612。在一些实施例中,可以作为单机应用来实施模块610和612中的一个或两个。在其它实施例中,可以把模块610和612中的一个或两个直接集成到终端用户设备606的操作系统中。本领域普通技术人员将会理解,图6中示例的模块610和612在本质上和在数量上是示范性的并且不应当解释成限制。可以采用任何数量的模块以实现其实施例范围内期望的功能性。用户输入模块610被配置成例如接收可选择项 目的用户选择的输入。典型地,经由与终端用户设备606相关联的用户接口(未示出)等输入用户选择。用户可以例如经由鼠标、触摸解决方案、三维输入解决方案(例如,微软的Kinect )等提供输入。终端用户设备606的呈现模块612被配置成呈现三维环境。在一个实施例中,呈现模块612利用与终端用户设备606相关联的显示设备呈现三维环境。然而,实施例并非意在限制视觉显示而是还可以包括音频呈现、组合音频/视频呈现等。终端用户设备606可以是能够允许观看者查看三维环境的任何种类的运算设备。相应地,终端用户设备606包括用于查看三维环境的显示屏。例如,在实施例中,终端用户设备606可以是如以上参照图5所述的诸如运算设备500的运算设备。在实施例中,终端用户设备606可以是个人计算机(PC)、膝上型计算机、工作站、移动运算设备、PDA、蜂窝电话、电视、机顶盒、触摸屏设备等。终端用户设备606能够显示三维立体内容。这种终端用户设备606可以利用任何三维显示技术。三维显示技术的实例包括但不限于使用主动式和被动式偏光和/或快门眼镜的电视、具有主动式快门眼镜的计算机显示器、补色立体(红一蓝或其它颜色组合)、立体象对(stereo pair)观看者、自动立体眼镜免费技术、视网膜投影技术、全息、或者任何其它三维显示技术。在实施例中,终端用户设备606利用增强合成媒体向观看者提供三维效果。例如,终端用户设备606接收两个不同表面,如,与左眼视图相关联的增强合成媒体和与右眼视图相关联的增强合成媒体,终端用户设备606利用两个不同表面提供增强元素相对于背景内容的三维效果。可替选地,接收单个表面(如,包括与左眼相关联的增强元素和与右眼相关联的增强元素的增强合成媒体)的终端用户设备606可以利用单个表面提供增强元素相对于背景内容的三维效果。图7示例了用于在三维环境中呈现选择器的示范性运算系统700。如图7中所示,示范性运算系统700包括三维呈现组件702、选择器深度确定组件704、以及选择器呈现组件706。在一些实施例中,可以作为单机应用来实施示例组件中的一个或多个。在其它实施例中,可以把示例组件中的一个或多个直接集成到服务器602、服务器集群(未示出)、和/或终端用户设备606的操作系统中。本领域普通技术人员将会理解,图7中示例的组件在本质上和在数量上是示范性的并且不应当解释成限制。可以采用任何数量的组件以获得其实施例范围内期望的功能性。进一步地,组件可以位于任何数量的服务器或运算设备上。只以实例的方式,三维呈现组件702和选择器呈现组件706可以驻留在图6的终端用户设备606上,而选择器深度确定组件704、或者其一部分可以驻留在服务器或服务器集群上。
应当理解,本文中描述的这一布置和其它布置只作为实例提出。可以除了或代替示出的那些而使用其它布置和元素(例如,机器、接口、功能、次序、以及功能的分组等),可以一起略去一些元素。进一步地,本文中描述的许多元素是可以作为分散或分布式组件或者结合其它组件、以及以任何合适的组合和地点实施的功能实体。可以通过硬件、固件、和/或软件实现如一个或多个实体所执行的本文中描述的各种功能。例如,可以由执行存储器中存储的指令的处理器实现各种功能。三维呈现组件702被配置成呈现三维环境。三维环境包括被呈现以提供三维效果的多个元素。以实例的方式,三维环境可以包括具有一个或多个覆盖元素的背景内容(例如,二维或三维的)。在实施例中,三维呈现组件702可以参考内容以在三维中呈现。可以通过接收、获取、或者访问来自内容提供者的内容来参考这种内容。内容提供者可以例如基于观看者请求响应来自三维呈现组件702的请求或来自观看者设备的请求提供内容。例如,观看者设备的观看者可以提供选择或如若不然表明查看特定媒体内容(例如,特定三维媒体内容)的期望。可以把这种媒体内容存储在可以存储内容的环境中,诸如例如数据库、计算机等。内容提供者可以参考存储的媒体内容以及之后把媒体内容传送给三维呈现组件702、观看者设备、或者其它组件(例如,图形引擎)。内容提供者提供的这种内容可以是三维 内容、背景内容、覆盖元素(例如,文本、图像、照片、窗口视图、菜单)、合成内容(例如,与一个或多个覆盖元素合成的背景内容)、其组合等。在一些实施例中,三维呈现组件702可以例如为内容提供者显示如所参考的三维环境。可替选地,三维呈现组件702可以被配置成执行计算,合成背景内容上的一个或多个元素、或者执行其它功能性以呈现三维环境。内容提供者还可以提供元素属性、增强元素属性、和/或视觉属性。三维呈现组件702、或者另一组件(如,选择器深度确定组件704)可以使用这些属性来执行计算、产生合成
坐寸ο一个或多个元素属性可以与相应元素交互(如,作为元数据)或分开。元素属性是指描述、表明、或表征原始元素的位置和/或尺寸的任何属性。元素属性可以是元素(例如,二维元素)的水平位置、垂直位置、深度位置、宽度、高度、左边界、右边界等。水平位置是指元素的点相对于显示屏或背景内容的水平位置或期望的水平位置(例如,沿着X轴)。例如,可以通过二维元素左上角的X轴值(例如,如像素值所表明的)表明水平位置。垂直位置是指元素的点相对于显示屏或背景内容的垂直位置或期望的垂直位置(例如,沿着y轴)。例如,可以通过元素左上角的y轴值(例如,如像素值所表明的)表明垂直位置。深度位置是指元素相对于显示屏或背景内容的深度位置或期望的深度位置。可以通过期望元素相对于显示屏显现的距离(例如,如像素值沿着z轴所表明的)表明深度位置。在实施例中,深度位置并非z阶次而是用来表明元素要处于或要相对于预定位置(例如,等于零的背景内容或显示屏)沿着z轴显现的三维空间中的特定位置、深度、或者距离。宽度是指元素的宽度或期望宽度,高度是指元素的高度或期望高度。可以理解,宽度和/或高度可以使用包括像素值、英寸、厘米等的任何尺度来识别。左边界是指元素(例如,沿着X轴)的左侧或边界相对于显示屏或背景内容的位置或期望位置。右边界是指元素(例如,沿着X轴)的右侧或边界相对于显示屏或背景内容的位置或期望位置。在这点上,左边界和右边界是元素的外侧边界,仿佛元素处于与显示屏或背景内容(例如,具有零的深度位置)共面。换句话说,边界是具有垂直的二维投影的元素的外围的位置或坐标。可以沿着显示屏或背景内容的X轴通过像素值表明这种边界。同样,在实施例中,如像素值沿着X轴所表明的水平位置与像素值沿着X轴所表明的左边界相同。增强属性是指已经修改了的元素属性,其导致元素相对于显示屏或背景内容的修改的尺寸和/或修改的放置,使得按照这种增强属性调节尺寸和/或放置的元素覆盖提供相对于媒体内容的三维效果。例如,修改的右边界是指当具有特定深度位置的元素被投影回显示屏时、元素(例如,沿着X轴)的右侧或边界相对于显示屏或背景内容的位置或期望位置。类似地,修改的左边界是指当具有特定深度位置的元素被投影回显示屏时、元素(例如,沿着X轴)的左侧或边界相对于显示屏或背景内容的位置或期望位置。在这点上,修改的左边界和修改的右边界是当元素与从显示屏或背景内容向外延伸的深度位置(即,具有大于零的深度位置)相关联时、向显示屏延伸回的覆盖元素的外侧边界。可以通过沿着显示屏或背景内容的X轴的像素值表明这种修改的侧边界。由于左眼视图和右眼视图具有与具有特定深度位置的元素有关的不同视角,左眼视图可以与左边界和右边界相关联,而右眼视图可以与不同的左和右边界相关联。 视觉属性描述、表征、或者表明观看者的视觉感知。观看者是指正在或将要查看三维环境的个体。视觉属性可以是例如眼部距离、视觉深度、视口宽度、眼部位置等。眼部距离是指观看者的左眼与右眼之间的距离。眼部距离可以描述眼部的内部分、眼部的中心、眼部的外部分、或者眼部的任何其它部分之间的距离。在一些实施例中,观看者可以提供与观看者对应的眼部距离以提供该观看者的独特和适当体验。在这种情形中,观看者可以经由例如与观看者设备相关联的用户接口录入或选择适当的眼部距离。在替选实施例中,眼部距离可以是总体上对于观看者适当的标准或默认眼部距离。例如,可以确定平均眼部距离以及之后用作眼部距离。在替选实施例中,可以综合眼部距离以表示大于通常眼部距离的值以放大三维效果。视觉深度是指屏幕显示器与观看者(例如,观看者的眼部)之间的深度或距离。与眼部距离类似,在一些实施例中,观看者(例如,通常或与每个查看实例相关联地)可以提供视觉深度以提供观看者的独特和适当体验。相应地,观看者可以例如使用与观看者设备相关联的用户接口录入或选择观看者预期或意图相对于显示屏所处的适当视觉深度。可替选地,视觉深度可以是通常对于观看者适当的标准或默认视觉深度。在其它实施例中,可以基于三维摄像器系统或其它技术计算视觉深度以计算从屏幕至用户的实际深度。在一些情形中,视觉深度可以取决于与观看者设备(如,观看者设备)相关联的显示屏的类型或显示屏尺寸。例如,移动手持设备的视觉深度(例如,12英寸河以比桌面计算机(例如,24英寸)的视觉深度小,而桌面计算机的视觉深度可以比电视机(例如,八英尺)的视觉深度小。视口宽度是指显示屏的宽度或显示屏的可查看部分。视口宽度也可以如用户或设备本身所表明的、由用户(如,观看者)输入或可以基于观看者设备。可以理解,在一些实施例中,视觉属性,如,眼部距离、视觉深度、和/或视口宽度可以例如通过图形引擎或另一组件确定。例如,与观看者设备相关联的视频摄像器可以捕捉包括观看者的视频。可以提供这种视频用于处理以动态确定特定观看者的眼部距离和/或特定观看者的视觉深度。眼部位置是指左眼的眼部位置或右眼的眼部位置。在一些实施例中,按照沿着X轴的位置或距离表明这种眼部位置。可以利用如下面进一步讨论的眼部位置计算来确定或近似左眼和右眼的眼部位置。可以理解,可以使用任何方法来指定这些属性。在一些实施例中,利用像素来指定元素的尺寸和/或位置。使用公共度量(如,像素)使得能够进行较简单计算以生成三维效果。在其它实施例中,可以利用其它度量(例如,英寸、厘米、毫米等)。可以基于相应元素、合成媒体(即,作为相对于背景内容的覆盖而设置的元素的合成或聚合)等来识别元素属性、增强属性、和/或视觉属性。在这点上,可以分析元素以识别水平位置、垂直位置、深度位置、宽度、高度、左边界、右边界等中的一个或多个。例如,可以在元素的分析后确定宽度和高度。可替选地,可以与背景内容相关联地分析元素,其覆盖用以识别水平位置、垂直位置、深度位置、宽度、高度、左边界、右边界等中的一个或多个。例如,可以在合成媒体(例如,与背景内容合成的元素)的分析后识别水平位置和垂直位置。在一些实施例中,可以基于例如由观看者、程序协调员、程序开发员、系统管理员等提供的用户输入识别一个或多个元素属性。例如,系统管理员可以提供 表明特定元素的期望深度位置的输入。可以理解,三维呈现组件702可以通过创建三维效果的任何方式呈现三维环境。如先前所述,为了提供三维效果,在一些实施例中,生成包括与左眼视图相关联的增强元素和与右眼视图相关联的增强元素的合成媒体。在这点上,与左眼视图相关联的增强元素和与右眼视图相关联的增强元素包括在媒体内容的相同部分(如,媒体内容的特定帧)。可替选地,可以生成包括与左眼视图相关联的增强元素的合成媒体和包括与右眼视图相关联的增强元素的单独合成媒体。在这种情形中,与左眼视图相关联的合成媒体和与右眼视图相关联的合成媒体可以包括媒体内容的相同部分(即,两个不同合成媒体中重复的媒体内容的相同帧)。选择器深度确定组件704被配置成确定呈现选择器的深度位置。如先前所述,深度位置是指相对于显示屏或背景内容的深度位置或期望深度位置。可以通过期望选择器相对于显示屏或背景内容显现的距离(例如,如通过沿着z轴的像素值所表明的)来表明选择器深度位置。在实施中,可以在包括例如在选择器或三维环境的初始再现后、在选择器的移动后、在移动选择器的指示后、在覆盖元素的移动后、在移动覆盖元素的指示后、在某时间量逝去后等的各种实例下确定选择器深度位置。只以实例的方式,假定要在第一位置处在显示屏上初始再现选择器。在这种情形中,选择器深度确定组件704可以确定呈现选择器的深度。现在假定,在稍后实例,用户提供沿着X轴和/或y轴移动选择器的指示。在这种情形中,可以再次确定呈现选择器的深度。在一个实施例中,基于垂直和/或水平位置与选择器相同或类似的元素的深度来确定呈现选择器的深度位置。在这点上,选择器的深度与位于基本上与选择器相同的二维位置处的、并具有位于该位置处的元素之中最大深度的元素的感知深度相对应。相应地,如果选择器与深度位置变化的两个元素对齐,则选择器的深度位置继承距显示屏具有最大深度的元素的深度位置,使得选择器显得与它正悬停在其上的元素共面。可以采用各种方法实施这种实施例。在一个实施中,识别当前选择器位置。即,识别选择器的当前位置。可以使用例如水平位置、垂直位置、和/或深度位置来识别这种当前位置。可以理解,在一些情形中,利用水平位置和垂直位置来识别选择器的当前位置。
在这种实施中,参考与元素相关联的深度位置。在一些情形中,参考与匹配选择器的水平和垂直位置的每个元素相关联的深度位置。换言之,针对处于选择器的当前位置处、或者附近的每个元素参考深度位置。例如,假定选择器处于X轴坐标200和y轴坐标100处。在这种情形中,处于X轴坐标200和y轴坐标100处的任何元素、或者其一部分被识别,并且相应深度位置被参考。只以实例的方式,可以通过从查找表或索引中查找元素的深度位置或可以根据附加于元素的深度位置属性来参考每个元素的深度位置。可以理解,可以使用任何方法(例如,使用完全三维变换)确定或计算元素的深度位置以及之后参考它。选择器深度确定组件704、或者另一组件(如,在呈现三维环境以前确定元素深度的组件)可以确定或识别这种深度位置。可替选地,可以例如从观看者、系统管理员、系统程序员、系统开发员等接收元素的深度位置。系统管理员、系统程序员、系统开发员、或者观看者可以经由任何运算设备提供深度位置。只以实例而非限制的方式,系统开发员可以查看背景内容并确定覆盖特定元素的特定位置。同样,开发员可以提供元素应当相对于显示屏或背景内容显现的深度位置。识别对应于(例如,经由X轴和y轴位置)和选择器对齐的元素的最大深度位置(即,距显示屏最远)。按照这种深度指定、分配、识别、确定、或者设置选择器的深度位置。在 一些情形中,选择器的深度位置与具有相同位置的元素之中的最大深度位置匹配或相等。在其它情形中,可以把选择器的深度位置偏移一个例如相对于相应元素的最大深度位置的预定量。例如,可以把选择器的深度位置确定为特定距离(例如,一个像素)、特定距离比率等、其比相应元素的最大深度位置大,使得选择器在元素前方显现(而非与元素共面)。只以实例的方式,图8A示例了在垂直位置804 (B卩,y = 840个像素)处、在显示屏800上移动的光标802。当光标在显示屏800上移动时,光标获得光标直接处于其上的元素的深度位置。即,光标获取具有与光标802对齐的最大深度位置的元素的深度位置。相应地,当光标802处于光标位置810处时,光标的深度位置为与背景内容812的深度位置对应的零像素。当光标802在显示屏800上移动并处于第一个窗口 816上的光标位置814处时,光标的深度位置为与第一个窗口 816的深度位置对应的120个像素。现在假定光标802继续在显示屏800上移动至第二个窗口 820上的光标位置818。在这种情形中,光标802的深度位置为与第二个窗口 820的深度位置对应的240个像素。图8B是示例了当光标802在图8A的显示屏800上移动时图8A的光标802所获取的深度位置的图。在此实施例的一些实例中,由于选择器在显示屏上移动时会暂时被具有较高深度位置的元素遮蔽,因此选择器会消失或不可见。如本文中所使用的遮蔽区域是指被在大于另一元素的深度位置处提供的元素遮蔽的显示屏的区域或区而使得对观看者遮蔽该特定区域(例如,观看者的左眼视角、观看者的右眼视角、或者其组合)。在一些实施例中,遮蔽区域可以相对于单个眼部视图(即,左眼视图或右眼视图)被遮蔽。在其它实施例中,遮蔽区域可以相对于左右两眼被遮蔽。在又一实施例中,遮蔽区域的一部分可以相对于单个眼部视图被遮蔽,而遮蔽区域的另一部分可以相对于左右两眼被遮蔽。例如,遮蔽区域可以是如下区域该区域并非直接处于特定元素后方(例如,当二维元素被垂直投影回背景内容或显示屏时),而是该元素仍然基于显现距背景内容或显示屏某深度距离的元素从左眼视图和/或右眼视图遮蔽该区域。以实例的方式,图9A示例了来自左眼视图和右眼视图的顶视图。特别地,图9A示例了从第一窗口 902A、第二窗口 904A、以及可选择项目908A的左眼920A视角回到屏幕查看平面912A上的投影。假定选择器910A处于选择器位置980A处。如图9A中所示例的,选择器位置980A在左眼920A的修改的左边界982A (sA,)(即,如基于左眼的查看视角所修改的第二窗口 904A的左边界)与第二窗口 904A左侧的左边界984A (sA)之间。虽然选择器位置980A处的选择器910A在第二窗口 904A位置的外部,但选择器910A在等于显示屏或背景内容的深度位置处呈现的情况下、由于第二窗口 904A显得具有从显示屏912A去除的深度位置986A而将不会对用户可见。即,选择器910A将会对观看者显得在第二窗口904A后方。因为三维环境会导致选择器被显得从显示屏突出的元素“遮挡”,所以在另一实施例中,调整位于遮蔽区域中的选择器的深度位置而使得选择器不在不恰当深度显现或看似 被元素遮蔽。可以使用各种方法实施这种实施例。在一个实施中,可以修改选择器的深度位置而使得不把它感知成在某项目后方。可替选地或另外,当选择器处于遮蔽区域内时,可以修改选择器的功能性而使得不做出不恰当选择。在这点上,可以禁用选择器而使得遮蔽区域中的选择不可用。当选择器位于遮蔽区中时禁用选择功能性可以使观看者点击遮蔽区域内并且对观看者不可见的不期望的可选择项目的可能性最小化。以实例的方式并参照图9B,当选择器在第一遮蔽区域990B内或在第二遮蔽区域992B内时,可以禁用选择器而使得不能选择第一遮蔽区域990B内或第二遮蔽区域992B内的任何项目。可替选地或另外,当选择器在第一遮蔽区域990B内或第二遮蔽区域992B内时,可以为选择器分配邻近元素的深度位置而使得选择器对观看者可见。在这点上,当选择器在第一遮蔽区域990B内时,可以把选择器识别成具有与120个像素的第二窗口 904B匹配的深度位置。类似地,当选择器在第二遮蔽区域992B内时,可以把选择器识别成具有与240个像素的第一窗口 902B匹配的深度位置。图9C是示例了当光标在图9B的显示屏上移动时由图9B的选择器获取的深度位置的图。在这种实施中,确定或识别显示屏内的遮蔽区域。可以通过任何方式(如,例如,一个或多个像素值、一个或多个像素范围、阵列、坐标等)指定遮蔽区域。在一些实施例中,通过确定元素边界与相应修改的元素边界之间的区来确定遮蔽区域。如先前所述,元素边界是指元素相对于显示屏或背景内容驻留的原始位置(例如,如果在二维环境中呈现或笔直投影回到显示屏上)。修改边界是指把元素从特定眼部视角投影回到显示屏上的位置。可以参考这种元素属性和/或增强元素属性(例如,边界和修改边界)。可以通过对这些属性接收、得到、访问、获取、确定、识别、辨识、其组合等来参考这些属性。如先前所讨论的,一个或多个属性可以由内容提供者、观看者(例如,经由终端用户设备606)、系统管理员、系统程序员、系统开发员等接收。系统管理员、系统程序员、系统开发员、或者观看者可以经由任何运算设备提供元素属性。只以实例而非限制的方式,系统开发员可以查看媒体内容并确定覆盖特定元素的特定位置。同样,开发员可以提供与元素相关联的左元素边界和右元素边界。以进一步实例的方式,程序开发员或观看者可以提供元素相对于显示屏或背景内容应当显现的深度位置。为了确定或识别属性,可以分析元素或合成媒体(S卩,包括元素和背景内容)。这种分析会导致属性(如,例如左元素边界、右元素边界、左修改边界、右修改边界等)的识别。例如,可以把原始元素与媒体内容合成,以及此后进行分析以确定左元素边界、右元素边界、左修改边界、右修改边界等。在实施例中,利用一个或多个元素属性和一个或多个视觉属性计算一个或多个增强属性(例如,修改边界)。可以与左眼视图相关联地计算一个或多个增强属性,可以与右眼视图相关联地计算一个或多个增强属性。可以使用与左眼视图相关联的这种增强属性和与右眼视图相关联的增强属性来生成一个或多个增强属性(即,按照增强属性修改的二维元素)和/或一个或多个增强合成媒体(即,与媒体内容合成的增强元素)。可替选地或另外,可以从数据存储装置(如,数据仓库(例如,数据库))参考一个或多个属性。例如,可以在数据存储装置中存储深度位置并从中参考。在这种情形中,可以在数据库内存储单个深度位置或深度位置可以与特定元素相关联。可以通过运算设备(例如,经由元素或合成媒体的算法和/或分析)自动确定或可以通过用户(例如,程序员、开发员、管理员、观看者等)输入数据存储装置(如,数据仓库)内存储的这种信息。为了确定适当的选择器深度位置和/或选择器功能性,还识别当前选择器位置。即,识别选择器的当前位置。可以使用例如水平位置、垂直位置、和/或深度位置识别这种 当前位置。可以理解,在一些情形中,利用水平位置和垂直位置识别选择器的当前位置。基于当前选择器位置和确定的遮蔽区域,确定选择器是否在遮蔽区域内。在一些实施例中,当选择器在遮蔽区域内时,确定选择器的深度位置。可以为选择器分配与邻近元素或引起遮蔽区域的元素的深度匹配、相等、或者对应的深度位置。这种实施例防止选择器被元素遮蔽而使得选择器可以被观看者连续查看。在这点上,当移动选择器(即,生成移动事件)时,确定选择器是否在遮蔽区域内。如果是,则可以为选择器给出导致遮蔽区域的元素的深度位置而使得在比选择器当前深度位置大的深度位置处显示选择器,从而不提供在元素后方的用户感知。以此方式,当选择器处于遮蔽区域中时,其未被提供背景内容或另一底层元素的同样深度位置,而是提供邻近元素或引起遮蔽区域的元素的同样深度位置。在另外或替选实施例中,当选择器在遮蔽区域内时,禁用选择器的选择功能性而使得任何点击或选择不被辨识和/或应用。按照这种实施,当移动选择器(即,生成移动事件)时,确定选择器是否在遮蔽区域内。如果是,则可以禁用点击或选择功能性以避免遮蔽区域中可选择项目的无意选择。相反,当确定选择器未在遮蔽区域内时,可以启用选择功能性和/或可以为选择器给出与选择器覆盖的元素的最大深度位置相等的深度位置,如以上更充分描述的。选择器呈现组件706被配置成按照识别的深度位置和/或适当的选择器功能性呈现选择器。在一个实施例中,通过经由用户接口向用户显示与一个或多个元素相关联的这种选择器来呈现选择器。在另一实施例中,通过把与选择器相关联的数据传送给另一运算设备来呈现选择器。选择器数据可以包括显示选择器的深度位置、选择功能性的启用或禁用等。例如,可以向用户设备(如,图6的用户设备606)传送深度位置和/或选择功能性而使得用户设备可以利用该数据、经由用户设备的显示屏在适当位置显示选择器和/或显示具有适当功能性的选择器。在一个实施例,选择器呈现组件706可以在检测或辨识选择器或元素的初始呈现、选择器的移动事件、元素的移动事件、其组合等后,呈现选择器、或者与其相关联的数据。
总的来说,本发明的实施例包括用于在三维环境内呈现选择器的系统、机器、介质、方法、技术、过程和选项。回到图10,示例了根据本发明的实施例示出用于在三维环境内呈现选择器的示范性方法1000的流程图。在一些实施例中,可以把示例性方法1000实施例的方面作为运算设备中的处理器执行的计算机可执行指令存储在计算机可读介质上,从而使得运算设备实施方法1000的方面。这对于图11、12、以及13中分别描绘的示例性方法1100、1200、以及1300,或者这些方法的任何其它实施例、变化、或者组合当然同样是正确的。初始地,在框1010,识别选择器的当前位置。在实施例中,选择器的当前位置包括选择器的位置相对于显示屏或背景内容的X轴位置和 I轴位置。在框1012,识别与选择器的当前位置对应的一个或多个元素。在这点上,辨识具有或包括选择器相同位置的元素。在框1014,参考与选择器的当前位置具有相同位置的每个元素的深度位置。如在框1016所表明的,识别参考的深度位置之中的最大深度位置。然后,在框1018,指定或分配选择器的深度位置以匹配识别成最大相应深度位置的深度位置。在框1020,按照指定或分配给选择器的深度位置来呈现选择器。现在转到图11,另一流程图描绘了按照本发明的实施例、在三维环境内呈现选择器的示例性方法1100。初始地,在框1102,确定一个或多个遮蔽区域。可以使用识别例如由于被显示成显得从显示屏凸出的元素而遮蔽的显示屏或背景内容部分的任何方法确定遮蔽区域。在框1104,确定选择器是否处于遮蔽区域内。同样,可以识别例如沿着X轴和y轴的选择器位置,以及此后将其与一个或多个遮蔽区域相比较以确定选择器是否处于遮蔽区域内。如果确定选择器处于遮蔽区域内,则按照与引起遮蔽区域的元素相关联的深度位置设置选择器的深度位置。这在框1106处表明。在一些实施例中,把选择器深度位置与对应于引起遮蔽区域的元素的深度位置匹配。在框1110,按照适当的选择器深度位置在三维环境中显示选择器。另一方面,如果在框1104确定选择器未处于遮蔽区域内,则按照与选择器底层的元素相关联的深度位置设置选择器的深度位置。这在框1108处表明。在实施例中,选择器的深度位置与具有最大深度位置的底层元素的深度位置匹配。此后,在框1110,按照适当的选择器深度位置在三维环境中显示选择器。现在转到图12,另一流程图描绘了按照本发明的实施例、在三维环境内呈现选择器的示例性方法1200。初始地,在框1202,确定一个或多个遮蔽区域。可以使用识别例如由于被显示成显得从显示屏凸出的元素而遮蔽的显示屏或背景内容部分的任何方法确定遮蔽区域。在框1204,确定选择器是否处于遮蔽区域内。同样,可以识别例如沿着X轴和y轴的选择器位置,以及此后将其与一个或多个遮蔽区域相比较以确定选择器是否处于遮蔽区域内。如果确定选择器处于遮蔽区域内,则如在框1206所表明的,选择器的选择功能性被禁用。相应地,如果用户在选择器在遮蔽区域内时提供选择的指示,则这种选择不被辨识和/或应用。在框1210,按照选择器的适当功能性在三维环境中显示选择器。另一方面,如果在框1204确定选择器未处于遮蔽区域内,则启用选择器的选择功能性。这在框1208处表明。此后,在框1210,按照选择器的适当功能性在三维环境中显示选择器。图13提供了按照本发明的实施例、用于确定与元素相关联的遮蔽区域的示例性方法1300的流程图。初始地,在框1310,识别或参考元素的左边界。在实施例中,识别、确定、参考、或者计算元素左周界的X坐标。在一些情形中,使用元素的属性(如,元素的高度、元素的垂直屏幕位置、深度位置(即,z偏移量)等)计算元素的左边界。在框1312,识别或参考元素的左修改边界。在实施例中,识别、确定、参考、或者计算与如眼部视角所感知的特定深度位置相关联的元素左周界的X坐标。在一些情形中,使用元素的属性(如,元素的高度、元素的垂直屏幕位置、深度位置(即,z偏移量)等)计算元素的修改边界。在一些实施例中,可以确定特定眼部视角的左修改边界。即,可以确定与左眼视角相关联的左修改边界。在其它实施例中,可以确定左眼视角和右眼视角的左修改边界。例如,可以确定与左眼视角相关联的左修改边界和与右眼视角相关联的左修改边界。在框1314,确定是否存在与元素的左部分相关联的遮蔽区域。在确定与左眼视角和右眼视角这二者相关联的修改边界的实施例中,可以选择修改边界中的一个以便在确定是否存在遮蔽区域的过程中使用。例如,可以连同边界一起利用最远离边界的修改边界来确定遮蔽区域。在一些实施例中,可以通过比较左边界和左修改边界做出遮蔽区域的这种确定。例如,如果修改左边界的X坐标小于左边界,则可以确定存在遮蔽区域。以进一步实例的方式,如果修改左边界比左边界距显示屏或背景内容的中心远,则可以确定存在遮蔽 区域。如果确定存在遮蔽区域,则如在框1316所表明的,使用元素的边界和相应修改边界来确定遮蔽区域。在确定与左眼视角和右眼视角这二者相关联的修改边界的实施例中,可以选择修改边界中的一个以便在确定遮蔽区域的过程中使用。例如,可以连同边界一起利用最远离该边界的修改边界来确定遮蔽区域。可以理解,可以通过任何方式识别遮蔽区域。例如,可以使用X坐标、y坐标、Z坐标、边界与修改边界之间的宽度或距离、高度、深度位置等识别遮蔽区域。把这种遮蔽区域添加到阵列而使得可以辨识处于这种遮蔽区域内的选择器。这在框1318处表明。如果在框1314确定不存在遮蔽区域或在框1318向阵列添加遮蔽区域后,参考元素的右边界。这在框1320处表明。在实施例中,识别、确定、参考、或者计算元素右周界的X坐标。在一些情形中,使用元素的属性(如,元素的高度、元素的垂直屏幕位置、深度位置(即,z偏移量)等)计算元素的右边界。在框1322,参考元素的右修改边界。在实施例中,识另O、确定、参考、或者计算与如眼部视角所感知的特定深度位置相关联的元素右周界的X坐标。在一些情形中,使用元素的属性(如,元素的高度、元素的垂直屏幕位置、深度位置(即,z偏移量)等)计算元素的修改边界。在一些实施例中,可以确定特定眼部视角的右修改边界。即,可以确定与右眼视角相关联的右修改边界。在其它实施例中,可以确定左眼视角和右眼视角的右修改边界。例如,可以确定与左眼视角相关联的右修改边界和与右眼视角相关联的右修改边界。在框1324,确定是否存在与元素的右部分相关联的遮蔽区域。在确定与左眼视角和右眼视角这二者相关联的修改边界的实施例中,可以选择修改边界中的一个以便在确定是否存在遮蔽区域的过程中使用。例如,可以连同边界一起利用最远离边界的修改边界来确定遮蔽区域。在一些实施例中,可以通过比较右边界和右修改边界做出遮蔽区域的这种确定。例如,如果修改右边界的X坐标大于右边界,则可以确定存在遮蔽区域。以进一步实例的方式,如果修改右边界比右边界距显示屏或背景内容的中心远,则可以确定存在遮蔽区域。如果确定存在遮蔽区域,则如在框1326所表明的,使用元素的边界和相应修改边界来确定遮蔽区域。在确定与左眼视角和右眼视角这二者相关联的修改边界的实施例中,可以选择修改边界中的一个以便在确定遮蔽区域的过程中使用。例如,可以连同边界一起利用最远离该边界的修改边界来确定遮蔽区域。可以理解,可以通过任何方式识别遮蔽区域。例如,可以使用X坐标、y坐标、Z坐标、边界与修改边界之间的宽度或距离、高度、深度位置等识别遮蔽区域。把这种遮蔽区域添加到阵列而使得可以辨识处于这种遮蔽区域内的选择器。这在框1328处表明。如果在框1324确定不存在遮蔽区域或在框1328向阵列添加遮蔽区域后,该方法在框1330结束。 把本发明的各种实施例描述为示例性而非限制性的。替选实施例将会在不脱离本发明实施例范围的情况下时时变得明显。将会理解,某些特征和子组合是实用的并且可以在不参考其它特征和子组合的情况下采用。这借助权利要求的范围来构思并在权利要求的范围内构思。
权利要求
1.一种促进三维图形环境中选择器的呈现的方法,该方法包括 參考(1014)与水平和垂直位置与选择器的当前位置相同的每个元素相关联的深度位置,其中,每个深度位置表明相应元素预期相对于显示屏显现的距离; 识别(1016)相对于显示屏具有最大深度的最大深度位置,其中,从与水平和垂直位置与选择器的当前位置相同的每个元素相关联的深度位置之中识别最大深度位置;以及 指定(1018)与最大深度位置对应的选择器深度位置,选择器深度位置表明选择器预期相对于显示屏显现的距离。
2.如权利要求I所述的方法,进ー步包括在与最大深度位置匹配的选择器深度位置处呈现选择器。
3.如权利要求I所述的方法,进ー步包括在比最大深度位置大预定量的选择器深度位置处呈现选择器。
4.如权利要求I所述的方法,进ー步包括使用选择器的当前位置以确定选择器未位于对观看者来说显得从显示屏突出的特定元素所遮蔽的遮蔽区域内。
5.如权利要求I所述的方法,进ー步包括 使用选择器的当前位置以确定选择器位于对观看者来说显得从显示屏突出的特定元素所遮蔽的遮蔽区域内;以及 指定选择器深度位置以与引起遮蔽区域的特定元素的深度位置对应。
6.一种促进三维图形环境中选择器的呈现的方法,该方法包括 确定(1202)三维图形环境内ー个或多个元素前方显现的元素所遮蔽的ー个或多个遮蔽区域; 识别(1204)选择器位于该ー个或多个遮蔽区域中的ー个遮蔽区域内;以及 基于位于所述ー个或多个遮蔽区域中的ー个遮蔽区域内的选择器禁用(1210)选择器的选择功能性,其中,禁用选择功能性阻止选择器发起任何可选择项目的选择。
7.如权利要求6所述的方法,进ー步包括调整和与元素相关联的深度位置匹配的选择器的深度位置。
8.如权利要求6所述的方法,其中,使用元素边界的X坐标和元素修改边界的X坐标确定所述ー个或多个遮蔽区域,元素的修改边界包括从具有如眼部视角所感知的特定深度位置的元素向显示屏或背景内容延伸的边界。
9.一种用于促进三维图形环境中选择器呈现的计算机化方法,该方法包括 确定(1102)三维图形环境内ー个或多个元素前方显现的元素所遮蔽的遮蔽区域; 识别(1104)选择器位于遮蔽区域中;以及 按照与遮蔽区域相关联的元素的深度位置呈现(1110)选择器,深度位置表明元素预期相对于显示屏显现的距离。
10.如权利要求9所述的方法,进ー步包括阻止选择器发起遮蔽区域内任何可选择项目的选择。
11.一个或多个计算机可读存储介质,其上包含的计算机可执行指令在通过运算设备中的处理器执行时使得运算设备执行如权利要求I 一 10中任一项所述的方法。
全文摘要
计算机可读介质、计算机系统、以及运算设备促进三维图形环境中选择器的呈现。在实施例中,确定三维图形环境内一个或多个元素前方显现的元素所遮蔽的遮蔽区域。在选择器(例如,光标)位于遮蔽区域内的情形中,按照与遮蔽区域相关联的元素的深度位置呈现选择器。这种深度位置可以表明元素预期相对于显示屏显现的距离。
文档编号G06F3/048GK102681766SQ20121001854
公开日2012年9月19日 申请日期2012年1月20日 优先权日2011年1月27日
发明者J.W.乔文 申请人:微软公司