一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多投影仪显示架构的制作方法

2021-09-28 22:24:00 来源:中国专利 TAG:

多投影仪显示架构
1.优先权
2.本技术要求于2019年2月14日递交的第62/805,923号美国申请和于2020年2月7日递交的第16/785,305号美国申请的优先权。第62/805,923号美国申请和第16/785,305号美国申请的内容通过引用以其整体被并入本文以用于所有目的。
技术领域
3.本公开总体涉及在电子显示器上显示图像。
4.背景
5.便携式显示器的使用急剧增加,这增加了对轻量和节能显示器的需求。然而,一些这样的显示器可能会牺牲清晰度、帧速率或视场来实现降低的功率需求和在身体携带显示器的情况下佩戴更舒适。然而,用户体验经常因为这些牺牲而受损。显示器可能会降低亮度,或降低分辨率、颜色深度、最大显示帧速率或视场,从而降低使用这样的显示器的吸引力。对于特定的应用,具有低帧速率和视场的显示器甚至可能不实用。特别是在显示器用于向用户提供人工现实体验的情况下,显示器质量会影响对体验质量本身的感知。更复杂的问题是渲染和支持高质量用户体验所需的高计算成本。
6.特定实施例的概述
7.在特定实施例中,头戴式显示系统的显示器可以通过以下方式来运行:通过显示器上的波导配置向用户提供图像。图像可以由与显示器相关联的一个或更多个投影仪集成电路提供。在特定实施例中,可以使用多个投影仪集成电路,其中一个或更多个投影仪与用户的每只眼睛相关联。投影仪集成电路可以由中央头戴式装置cpu协调,该中央头戴式装置cpu向投影仪分派一些渲染数据和指令。
8.在特定实施例中,投影仪集成电路(本文也简称为“投影仪”)可以包括多个组件。这些组件可以是集成电路,并且可以被包含在集成电路中。这些组件可以包括扭曲引擎、显示器驱动器和背板控制器。扭曲引擎可以对从渲染引擎接收的存储为专用对象图元(primitives)的帧数据执行初始可见性确定,确定要应用于帧数据的几何扭曲,计算应用纹理映射和过滤,以及以其他方式准备帧数据以供显示。显示器驱动器可以对从扭曲引擎输出的图像执行处理。例如,显示器驱动器可以根据需要执行非均匀校正和抖动。背板控制器可以接收图像数据并指示光源显示图像数据。
9.在特定实施例中,投影仪的组件可以以各种架构进行组合,该各种架构被选择来优化头戴式显示器的显示器的性能和功率效率同时仍然提供高质量的图像。例如,扭曲引擎可以与头戴式装置中央处理器结合,并与多个显示器驱动器和背板控制器相关联。扭曲引擎可以与共享集成电路中的一个或更多个显示器驱动器结合。扭曲引擎还可以与一个或更多个背板控制器结合,共享集成电路。包括投影仪的集成电路可以用各种工艺制造,并且在特定实施例中,可以是所谓的“堆叠式”三维集成电路或“并排式(side

by

side)”二维半(two

and

a

half dimensional)集成电路。
10.在特定实施例中,为投影仪选择的架构可以对集成电路和包括投影仪的其他组件
的封装选择有影响。例如,发射器阵列可以结合(bonded)到安装在电路板上的集成电路。电路板可以与其他类似电路一起安装到机械对准器,该机械对准器调整发射器阵列相对于波导耦合器的位置。作为另一个示例,发射器阵列可以结合到一个集成电路,该集成电路与多个其他类似的集成电路共享电路板。作为另一个示例,发射器阵列可以结合到一个集成电路,该集成电路被结合到在多个类似的集成电路之间共享的中介层。中介层可以结合到电路板。作为另一个示例,发射器阵列可以结合到其自身的中介层,该中介层结合到一个集成电路,该集成电路具有结合到其的多个类似的中介层布置。作为另一个示例,多个发射器阵列可以结合到一个集成电路。该集成电路可以包含一个或更多个扭曲引擎、显示器驱动器或背板控制器。
11.本发明的实施例可以包括人工现实系统或者结合人工现实系统来实现。人工现实是一种在呈现给用户之前已经以某种方式进行了调整的现实形式,其可以包括例如虚拟现实(vr)、增强现实(ar)、混合现实(mr)、混杂现实(hybrid reality)或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或与捕获的内容(例如,真实世界的照片)相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈或它们的某种组合,并且它们中的任何一个都可以在单个通道或多个通道中被呈现(诸如向观看者产生三维效果的立体视频)。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合例如用于在人工现实中创建内容和/或在人工现实中被使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主计算机系统的头戴式显示器(hmd)、独立的hmd、移动设备或计算系统、或者能够向一个或更多个观看者提供人工现实内容的任何其他硬件平台。
12.本文公开的实施例仅仅是示例,并且本公开的范围不限于它们。特定实施例可以包括本文公开的实施例的组件、元件、特征、功能、操作或步骤中的全部、一些,或不包括这些组件、元件、特征、功能、操作或步骤。根据本发明的实施例在涉及方法、存储介质、系统和计算机程序产品的所附权利要求中被具体公开,其中在一个权利要求类别(例如方法)中提到的任何特征也可以在另一个权利要求类别(例如系统)中被要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何前面的权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并且可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。
13.附图简述
14.图1示出了示例头戴式显示器和显示系统的横截面。
15.图2示出了示例显示系统的等轴视图。
16.图3示出了头戴式显示系统的组件的示例布局。
17.图4示出了投影仪的示例架构。
18.图5示出了示例帧渲染时间线。
19.图6示出了示例背板集成电路。
20.图7示出了示例集成电路布局的视图。
21.图8a

图8d示出了头戴式显示系统组件的示例架构。
22.图9a

图9e示出了头戴式显示系统的组件的示例布置。
23.图10示出了用于生成和显示经修改的子帧的示例方法。
24.图11示出了示例计算机系统。
25.示例实施例的描述
26.人工现实
27.如上所述,人工现实是在通过特殊配置的设备呈现给用户之前已经以某种方式调整过的现实形式。本文描述的特定实施例的要素可以用于提高人工现实设备的功能性、效率和可靠性。人工现实设备可以创建数字场景,或将计算机生成的图像叠加到真实世界的视图上。因此,人工现实设备为设计师和工程师提供了一个平台,用于提供新形式的信息、娱乐或协作方法。例如,人工现实设备可以允许用户看似面对面地长距离通信,或者通过以不引人注目的方式向用户通知他们周围的环境来辅助用户。因为人工现实体验通常可以定制,所以如果以足够清晰和方便的方式呈现,则用户对人工现实的体验可能是非常个人化并且高度吸引人的。
28.如在增强现实或混合现实中,人工现实体验可以增强人类能力的一种方式是将计算机生成的图像和/或文本添加到真实世界。从这个简单的原理出发,可以考虑各种令人信服的用例。标签(例如,文本、字形等)或者描述真实世界对象的图像可以被固定在世界空间中(例如,定位感知(location

aware)标签充当街道标志或提供自行车路径的实时地图),或者当真实世界对象在空间中移动时,被固定到该真实世界对象的图像(例如,当公共汽车在它的路线上行进时,被添加到公共汽车的标签提供关于公共汽车的路线或容量的详细信息)。标签还可以用于帮助用户在不熟悉的城市中导航(例如,为最近的洗手间创建航点(waypoint)),或者帮助在人群中找到朋友(例如,固定于另一个用户的社交感知(socially

aware)航点)。其他值得考虑的体验可以基于与真实世界对象的交互。例如,用户可以将视频“投射”到墙壁或屏幕上,从而允许视频被播放,并且只对自己或能够访问共享的增强空间的其他人可见。作为另一个示例,用户可以将计算机生成的文本固定于物理对象,以充当增强现实书籍或杂志。内容可以相对于对象来显示(实现用户除了增强现实之外的物理资产),或者可以以与用户的固定关系来显示(例如,在视图的角落不断播放的教程视频)。可以为用户定制所呈现的媒体,使得同一内容显示空间可以显示与观看该同一物理空间的每个人相关的内容。作为另一个示例,用户可以通过“触摸”图标或手动“操纵”计算机生成的图像来与计算机生成的图形进行交互。这些图形可以被显示给从事于一个项目的多个用户,从而为团队协作创造机会(例如,多个架构师一起实时地致力于建筑物中的三维数字原型)。
29.头戴式显示器
30.人工现实设备的一个方便的形状因子是头戴式显示器(hmd)。输出计算机生成的图形的显示器应该是直观的、容易访问的以及不引人注目的。向用户显示高清晰度人工现实图形的一种方式是hmd,其包括近眼显示器(ned)。用户佩戴能够显示计算机图形的装置,
诸如面罩(visor)、头戴式装置(headset)或眼镜。在增强现实体验或混合现实体验中,计算机图形可以在物理世界的旁边或上面被看到。然而,渲染这些计算机图形是计算密集型的。因此,在大多数情况下,渲染是由(例如,经由电缆或无线通信协议(诸如蓝牙))与hmd通信地连接的强大计算机来执行的。在这样的配置中,hm d受限于笨重的线缆、带宽和功率限制、热量限制以及其他相关限制。然而,这些限制的限度正在被推进。期望的是这样的hmd,它们舒适、高效,适合全天佩戴,却功能强大到足以显示复杂的图形。
31.图1提供了示例hmd的图示。具体地,图1是根据一些实施例的hmd100和显示设备110的横截面。显示设备110可以包括至少一个波导配置115。图1显示了视窗130,其是在用户佩戴显示设备110时眼睛120所处的位置。只要眼睛120与视窗130对准,用户就能够看到全色图像或通过波导配置115引导至视窗130的光瞳复制(pupil replication)。波导配置115可以产生许多光瞳复制并将其引导至视窗130。出于说明的目的,图1显示了与单个眼睛120和单个波导配置115相关联的横截面。在一些实施例中,另一种波导配置可以向位于用户的另一只眼睛120处的视窗提供图像光。
32.如在图1中所示,波导配置115可以被配置成将图像光引导到位于眼睛120附近的视窗。波导配置115可以由具有一个或更多个折射率的一种或更多种材料(例如,塑料、玻璃等)组成,该一种或更多种材料有效地最小化显示设备110的重量并拓宽其视场(fov)。在替代配置中,显示设备110可以在波导配置115和眼睛120之间包括一个或更多个光学元件。光学元件可以起作用来例如校正从波导配置110发射的图像光中的像差、放大从波导配置115发射的图像光、对从波导配置115发射的图像光进行某种其他光学调节或者执行这些操作的某种组合。光学元件的示例可以包括光圈、菲涅尔透镜、折射透镜(例如,凸透镜和/或凹透镜)、反射表面、滤光器或影响图像光的任何其他合适的光学元件。波导配置115可以例如包括具有一组或更多组布拉格光栅(bragg grating)的波导。
33.可以在hmd中使用的显示器的一种示例形式可以被称为扫描线或一维(“1d”)波导显示器。在该显示器中,一行光源可以生成用于照亮显示器的整个垂直空间(或水平空间(如果合适的话))的光源。多个较小的图像被组合以形成被观看者感知的较大的合成图像。扫描元件可以使由波导组件处理的光源光以特定的模式输出到用户的眼睛,该特定的模式对应于发射器用来优化显示绘制速率的生成模式。例如,可以首先向光源提供对应于沿着显示图像顶部的单行像素的颜色值。在微机电系统(mems)驱动的振荡镜的辅助下,使用基于波导的处理,光可以被传递到视窗的适当部分。在一小段时间之后,可以向光源提供对应于下一行像素(例如,低于第一行像素)的颜色值。然后,该图像部分的光可以使用相同的处理来将颜色值定位在适当的位置。与包括相同发射器的传统显示器相比,扫描显示器可能需要更少的功率来运行,并且可能生成更少的热量。部分是由于扫描元件和光学系统中使用的材料的质量,因此扫描显示器也可以具有较小的重量。显示器的帧速率基于反射镜振荡速度而受限。
34.可用于hmd的显示器的另一示例形式可以是2d或二维波导显示器。在这种显示器中,不需要振荡镜,因为可以使用包括(例如,在阵列中的)垂直和水平分量的光源。在1d变型必须逐行照亮显示器的情况下,2d变型能够提供显著提高的帧速率,因为它不依赖于振荡镜来提供图像的垂直分量。为了进一步提高帧速率,2d波导显示器的光源可以结合到为显示系统提供驱动指令的控制器和/或存储器。例如,可以结合到保存用于显示器和/或驱
动器晶体管的颜色指令的存储器。这种配置的结果是,这种显示器的光源可以以相当快的帧速率工作。在一些实施例中,hmd可以包括多个光源,每个光源被配置成发射特定的颜色。设想了许多合适的显示光源技术,包括但不限于液晶显示器(lcd)、硅基液晶(lcos)、发光二极管(led)、有机led(oled)、微型led(μled)、数字微镜器件(dmd)、任何其他合适的显示技术或它们的任意组合。这些颜色可以通过波导系统的耦合组件来组合,该耦合组件将光沿着全内反射路径引导到用户的眼睛。此外,投射的光在与纳入到波导中的耦合元件相互作用之前,可以首先穿过光源和波导之间的小空气间隙。在一些示例中,该路径可以包括光栅结构或其他类型的光去耦结构,该光去耦结构将部分光从全内反射路径去耦,以将图像的多个实例(“光瞳复制”)从波导的不同位置导出并导向hmd的视窗。
35.近眼显示器和波导
36.图1提供了示例ned的图示。图2示出了根据一些实施例的近眼显示系统或ned 200的等距视图。在一些实施例中,ned 200可以是hmd100的组件。在替代实施例中,ned 200可以是将图像光导向特定定位的另一个hmd或其他系统的一部分。
37.ned 200可以包括至少一个投影仪210、波导220和控制器230。出于说明的目的,图2示出了与单只眼睛120相关联的ned 200,但是在一些实施例中,与ned 200完全分离或部分分离的另一个投影仪、波导或控制器可以向用户的另一只眼睛提供图像光。在部分分离的系统中,在用于每只眼睛的波导之间可以共享一个或更多个组件。在一些情况下,单个波导220可以向用户的双眼提供图像光。此外,在一些示例中,波导220可以是波导配置的多个波导中的一个波导。
38.投影仪210可以生成包括一个或更多个二维图像的光。投影仪210可以包括一个或更多个光源、光学系统和电路,以校正发射光的非均匀性和由光源、光学系统或投影仪210或波导220的任何其他组件引起的其他误差。投影仪210可以生成图像光255(包括至少一个二维图像),并将其投射到位于波导220的顶表面270上的耦合区域250。图像光255可以沿着朝向耦合区域250的维度(dimension)或轴传播。例如,投影仪210可以包括一个或更多个阵列光源。尽管本公开将涉及基于μled阵列的显示器,但是本文描述的技术和架构可以适用于许多其他合适类型的显示器(例如,硅基液晶(lcos)、液晶显示器(lcd)、有机发光二极管(oled)或数字微镜器件(dmd))。
39.波导220可以是以导向用户的眼睛120的图像光240的方式输出二维图像的光波导。波导220可以在耦合区域250处接收图像光255,耦合区域250可以包括位于波导220的顶表面270上和/或波导220的主体内的一个或更多个耦合元件,并且可以将接收的图像光255引导到波导220的传播区域。耦合区域250的耦合元件可以是例如衍射光栅、全息光栅、一个或更多个级联反射器、一个或更多个棱镜表面元件(prismatic surface element)、全息反射器的阵列、超材料表面或它们的某种组合。在一些配置中,耦合区域250中的每个耦合元件可以具有沿着x轴和y轴维度的基本相同的面积,并且可以沿着z轴隔开一段距离(例如,在顶表面270和底表面280上,或者两者都在顶表面270上但是由界面层(未示出)隔开,或者在底表面280上且由界面层隔开,或者两者都嵌入波导220的主体中但是利用界面层隔开)。耦合区域250可以理解为从顶表面270延伸到底表面280。耦合区域250可以根据第一光栅矢量将接收到的图像光重新引导到波导220的形成在波导220的主体中在去耦元件之间的传播区域。
40.去耦元件260a可以重新引导来自波导220的全内反射图像光,使得它可以通过去耦元件260b去耦。去耦元件260a可以是波导220的顶表面270的一部分,可以固定到该顶表面或可以形成在该顶表面中。去耦元件260b可以是波导220的底表面280的一部分,可以固定到该底表面280或可以形成在该底表面280中,使得去耦元件260a与去耦元件260b相对,其中传播区域在去耦元件260a与去耦元件260b之间延伸。去耦元件260a和260b可以是例如衍射光栅、全息光栅、全息反射器阵列等,并且可以一起形成去耦区域。在一些实施例中,去耦元件260a和260b中的每一个可以沿着x轴和y轴尺寸具有基本相同的面积,并且可以沿着z轴隔开一段距离。
41.在一些实施例中,一个或更多个控制器(诸如,控制器230)可以控制投影仪210的操作。控制器230可以为投影仪210的显示系统生成显示指令。显示指令可以包括投射或发射一个或更多个图像的指令。在一些实施例中,显示指令可以包括帧图像颜色数据。显示指令可以从例如被包括在图1的hmd 100中的处理设备或与hmd 100无线或有线地通信的处理设备接收。显示指令还可以包括通过激活致动系统来移动投影仪210或者移动波导220的指令。控制器230可以包括本文未明确示出的硬件、软件和/或固件的组合,以避免模糊本公开的其他方面。
42.多投影仪头戴式显示器
43.图3示出了hmd 300的示例,包括hmd 300的特定组件的布置。例如,图3示出了每只眼睛具有多个投影仪的hmd 300的布置。如上所述,并且在本文更详细地描述的,hmd可以包括由头戴式装置cpu协调的多个投影仪集成电路(每个投影仪集成电路包括内部组件)。在所示实施例中,hmd 300包括一个头戴式装置cpu 310和四个投影仪330,每个投影仪330包括一个扭曲引擎320。如下所述,扭曲引擎330可以是与ned一起使用的显示系统的组件,以生成并向用户投射快速更新的帧。在特定实施例中,包括hmd 300的投影仪330和头戴式装置cpu 310可以通过一个或更多个集成电路来实现。例如,虽然图示为与头戴式装置cpu 310分开而与投影仪330集成在一起,但是扭曲引擎320可以体现为由与头戴式装置cpu 310相同的ic执行一系列操作。图3所示的hmd 300的组件的许多合适的布置是可能的。
44.hmd 300可以被配置成使得观看者的每只眼睛接收由多个投影仪330发射的图像。可以划分观看者的fov(以及每个投影仪330的负责区域)。fov可以被均匀地划分,或者在一些实施例中,可以偏向观看者更可能花费他们的时间观看图像的区域来划分。此外,每个投影仪330的负责区域可以与一个或更多个其他投影仪330重叠。在每只眼睛有两个投影仪330的情况下(如图3所示),基于各种组件的定位和负责将投影仪发射的光导向用户的波导的配置,视场可以垂直地被划分(如在所示实施例中)或水平地被划分。在特定实施例中,每个扭曲引擎320可以支持多个投影仪330。如下文详细解释的,每个投影仪可以发射一种或更多种颜色。例如,每个眼睛可以有单个扭曲引擎320,或者甚至整个hmd 300有单个扭曲引擎。在特定实施例中,可以有多个头戴式装置cpu 310。例如,可以针对每个用户眼睛,有一个头戴式装置cpu 310来处理图像。
45.用于人工现实的渲染帧
46.自其诞生以来,人工现实(例如,ar、vr、mr)技术一直受到响应于用户对ar/vr/mr场景的视角的突然变化而渲染ar/vr/mr对象的延迟问题的困扰。为了创建沉浸式环境,用户可能需要在观看场景时能够移动他们的眼睛或头部,并且环境可能需要通过调整呈现给
用户的视图来立即做出响应。每次眼睛移动或每次头部移动都会稍微改变用户对场景的视角。这些移动可能很小,但偶尔发生,并且很难预测。要解决的一个问题是眼睛/头部移动可能快速发生,这要求场景的视图被快速地修改,以考虑随着移动而出现的视角变化。如果这做得不够快,由此产生的延迟可能会导致用户体验到感觉失调(sensory dissonance),从而导致虚拟现实晕动症或不适,或者至少会破坏体验的沉浸式本质。
47.因此,人工现实体验的质量受限于用于渲染和显示人工现实场景的技术的限制。完整地重新渲染视图(例如,从多边形生成虚拟对象)以考虑这些视角变化可能是资源密集型的,并且可能只能以相对低的帧速率(例如,60hz,或者每1/60秒一次)来完成,这足够低到让一些用户检测和辨别现实。例如,一个视图可以包括几十个虚拟对象,每个虚拟对象可以由数百或数千个单独的多边形来表示。为了正确确定视角转换的效果,必须使用关于观看者位置的新输入信息再次渲染数千个多边形。这种处理需要大量的计算能力,并限制了渲染器的最大输出,通常限制在30

60hz。具有足够能力以达到更高帧速率的渲染器通常在商业上是不可行的,或者不适合特定的使用情况,诸如便携式操作,包括可能需要仔细监测功耗的笔记本电脑系统或hmd。
48.划分渲染和重新渲染虚拟场景的工作负荷可能是有益的,以便必须更快地更新的渲染处理(例如,针对眼睛的小的移动进行调整)中的步骤在hmd上的专门asic(并且可能更靠近眼睛本身)上被执行。其他计算更密集的任务(例如,根据多边形渲染虚拟对象)可以由一个或更多个其他渲染组件来执行,这些组件更远离hmd。渲染组件可以与hmd无线或有线地通信。本文描述的实施例涉及工作负荷的划分以及人工现实系统的专用组件的设计和实现方式,所述专用组件包括主渲染引擎、头戴式显示器及其子组件。
49.主渲染引擎
50.在特定实施例中,渲染引擎可以产生将要向观看者显示的图像。渲染引擎可以是用于生成主图像帧的任何合适的组件。例如,渲染引擎可以包括独立的设备(诸如膝上型或台式计算机、视频游戏控制台或任何其他合适的本地图形渲染系统)。渲染引擎可以包括是容易戴在用户身体上的设备(诸如手机、平板电脑或任何其他合适的紧凑的图形渲染系统)。在特定实施例中,基于由多个多边形(或多边形的顶点)以及相关联的颜色数据定义的三维(“3d”)模型,渲染引擎能够实时渲染交互式图形。渲染引擎还可以接收关于观看者对虚拟场景的视角的信息(例如,用户佩戴的hmd相对于虚拟场景的其余部分的定位)。渲染引擎可以处理多边形和颜色数据并且产生渲染数据。由于渲染高质量、复杂虚拟对象的高处理要求,渲染引擎能够以相对低的速率(例如,30

60hz)渲染帧。在特定实施例中,由渲染引擎生成的渲染数据可以包括像素颜色值、像素颜色定位或与图像帧相关联的一个或更多个其他数据原色(primaries)。
51.渲染引擎可以接收渲染请求的主渲染数据。主渲染数据可以包括二维或三维模型、纹理、用于渲染计算机生成的图像的指令以及其他合适的信息。渲染引擎可以基于接收到的主渲染数据,执行初始步骤来渲染人工现实场景的各方面。例如,渲染引擎可以使用光线追踪(raytracing)、栅格化(rasterization)或其他合适的技术来执行可见性计算,以确定虚拟场景中虚拟对象的哪些3d模型的哪些多边形通过显示器的哪些像素是可见的。基于可见性确定,渲染引擎可以执行着色计算,以确定每个像素的合适的颜色。在特定实施例中,渲染引擎可以以每秒30帧的速率(或类似的速率)处理压缩的或解压缩的流视频数据。
渲染引擎可以产生图像帧或可以被人工现实系统的其他组件用来生成将要向用户显示的图像的其他数据。
52.表面
53.在特定实施例中,渲染引擎的输出可以包括供扭曲引擎或显示系统使用的一个或更多个专用对象图元,例如,“表面”。表面可以包括用于渲染人工现实场景的一个或更多个虚拟对象的信息。作为示例,渲染引擎可以如在典型的渲染流水线中那样,首先通过从3d模型渲染2d图像来生成表面。然后,渲染引擎可以使用附加的后处理方法从2d图像生成表面。作为另一个示例,渲染引擎可以直接从3d模型输出表面,这消除了仅涉及渲染2d图像的额外步骤。作为另一个示例,渲染引擎可以将来自3d模型的2d图像输出到扭曲引擎。扭曲引擎可以使用附加的后处理方法,基于2d图像生成表面。
54.表面可以包括对于渲染人工现实场景的一个或更多个虚拟对象有用的信息。该信息可以包括表面在场景中的定位和/或位置数据,该数据是在与虚拟摄像机/观看者有关的视图空间的坐标系中指定的。替代地,表面的定位可以在任何其他合适的坐标系(诸如世界空间坐标系)中被指定。表面还可以包括纹理数据,该纹理数据由一个或更多个纹素(texel)阵列表示。因此,在特定实施例中,“表面”可以被认为是具有变换矩阵的矩形纹理,该变换矩阵指定表面在场景内的定位。纹素阵列中的每个纹素可以具有颜色信息和在纹素阵列内的2d坐标(例如,以(u,v)坐标指定)。在特定实施例中,每个纹素的颜色信息可以指示几个颜色通道(例如,红色、绿色和蓝色)的强度以及alpha信息,该alpha信息指示纹素的透明度级别(例如,完全透明、完全不透明或介于这两者之间)。在其他实施例中,纹素的颜色信息可以指示红色、绿色和蓝色的强度,而不单独指定透明度级别。在这种情况下,每种颜色的值可以被预先乘以纹素的相关联的透明度级别(例如,如果纹素是完全透明的,其alpha级别是0,则该纹素的红色值、绿色值和蓝色值将通过乘以0的alpha级别而全部归零)。
55.表面的纹理数据可以基于标准图形渲染流水线的结果来生成,这体现了这样的技术:基于三维场景中观看者的视角,最优地确定显示器或图像的像素应该显示的颜色。在特定实施例中,表面可以被限制(例如,最多16个表面或任何其他合适数量的表面),以确保场景足够简单,以便可以满足性能需求(例如,使得扭曲引擎可以以适当的速率输出帧)。因此,人工现实场景中的某些虚拟对象可以进行分组。每个表面可以是场景内的一个或更多个对象或点集的表示,由于用户对场景的视角的改变(例如,由用户头部上的hmd移动到不同的位置和/或取向导致的),这些对象或点集被预期作为一个单元一起移动/平移、倾斜、缩放、扭曲或以其他方式改变外观。
56.渲染引擎可以通过一个或更多个有线或无线连接与hmd通信。在特定实施例中,用户能够基于用户的需求来选择渲染引擎和hmd 100如何进行通信。在特定实施例中,扭曲引擎(例如,扭曲引擎320)可以纳入到hmd中。扭曲引擎可以被配置成从渲染引擎接收数据(诸如表面和其他渲染指令)。在特定实施例中,扭曲引擎和显示系统可以是由单个集成电路或一组集成电路共享操作的逻辑块。hmd还可以包括有助于人工场景的渲染和显示的附加组件,包括附加图像处理组件、移动检测组件、方位检测组件、眼睛跟踪组件、热检测组件、任何其他合适的组件或它们的任意组合。
57.投影仪架构
58.如前所述,本公开涉及hmd的组件的设计和布置。一个这样的组件在本文中被描述为“投影仪集成电路”或“投影仪”。投影仪可以包括用于处理需要将从主渲染引擎接收的图像数据转换成将要向用户(例如,hmd的佩戴者)显示的图像的任务的组件。这些任务可以包括但不一定限于,对图像数据进行修改以解决用户相对于虚拟场景的位置变化,对图像数据的表面进行采样以确定像素颜色,应用各种图像处理技术来校正和增强像素颜色,将像素颜色转换成光发射器阵列的指令,以及(例如,通过波导配置)向佩戴者发射光。
59.图4示出了可以纳入到hmd中的投影仪400(例如,投影仪330)的示例架构。投影仪400可以包括扭曲和背板控制ic 405和一个或更多个背板控制器,例如,μled背板ic 450、460和470。图4所示的架构以单个扭曲和背板控制ic 405为特征,该扭曲和背板控制ic 405为三个μled背板ic 450、460和470提供数据,每个μled背板ic具有单色μled有源矩阵457。附加地或替代地,可以使用几种其他合适的显示技术(例如led、oled、lcd、lcos、dmd等)。μled背板ic可以通过单色μled矩阵的颜色来识别。例如,μled背板ic 450可以包括红色μled矩阵457,μled背板ic 460可以包括绿色μled矩阵,并且μled背板ic 470可以包括绿色μled矩阵。除了μled有源矩阵457的颜色不同之外,μled背板ic则可以包括相同的组件。如果需要在配置中存在任何差异来允许不同颜色的μled矩阵工作,即使没有说明,也应该理解为包括在内。
60.扭曲和背板控制ic
61.扭曲和背板控制ic 405可以包括扭曲引擎410和显示器驱动器ic 420。扭曲引擎410可以被配置成以30

90hz(例如,每秒30

90帧)的速率接收(例如,位图文件类型的形式的)rgb颜色数据411输入流。对于由扭曲引擎410接收的每个帧,扭曲引擎410可以准备并输出几十个子帧。扭曲引擎410可以处理颜色数据并产生将要以120hz

10khz(例如120

10,000sfps)的速率显示的图像的子帧。每个子帧可以使用原始帧作为基础,并对帧的表面执行几何扭曲,以针对自帧产生以来观看者相对于虚拟场景的位置变化进行调整。由扭曲引擎410产生的子帧可以被提供给显示器驱动器ic 420。显示器驱动器ic 420提供在扭曲引擎410和μled背板ic 450、460和470之间的接口。显示器驱动器ic 420还可以执行抖动和非均匀校正操作,以考虑到μled背板ic的特殊性。
62.扭曲引擎
63.在特定实施例中,扭曲引擎410可以确定将要向人工现实系统(例如,hmd)的用户示出的图像。在特定实施例中,扭曲引擎410可以基于图像数据和其他接收到的信息来计算图像的一个或更多个三维几何扭曲。这些操作可以提高将要向用户显示的图像的质量和/或准确性(例如,提高图像相对于用户在空间中的物理位置的放置)。扭曲引擎410可以包括四个顶级块。如图4所示,这些块可以包括控制块413、变换块415、像素块417和显示块419。扭曲引擎410的一个或更多个组件可以被配置成经由一个或更多个高速总线、共享存储器(如,纹理存储器414)或通过任何其他合适的方法进行通信。在特定实施例中,扭曲引擎410的控制块413可以被配置成与两条或更多条镜像的流水线的变换块415、像素块417和显示块419通信。在特定实施例中,扭曲引擎410的每条流水线可以专用于为对应于用户的左眼和右眼的单独的显示器或其部分准备图像。该通信可以包括数据以及控制信号、中断和其他指令。流水线能够相互独立地操作。
64.在特定实施例中,控制块413可以从渲染引擎接收输入数据流,并初始化扭曲引擎
410中的流水线以调整供显示的帧。在特定实施例中,输入数据流可以包括来自主渲染组件的数据(诸如rgb数据411)分组(packet)和控制分组。rgb数据411分组和控制分组可以包括信息,诸如包括纹理数据和位置数据的一个或更多个表面以及附加的渲染指令。控制块413可以根据需要通过控制块413的纹理缓冲器414向扭曲引擎410的一个或更多个其他块分发数据。控制块413可以为将要显示的一个或更多个帧启动流水线处理。在特定实施例中,hmd可以包括多个扭曲引擎410,并且每个扭曲引擎410可以包括它自己的控制块413。
65.在特定实施例中,扭曲引擎410的变换块415可以确定在人工现实场景中将要显示的表面的初始可见性信息。一般来说,变换块415可以从显示器上的像素定位投射光线,并产生要发送到像素块417的滤光器命令(例如,基于双线性或其他类型的插值技术的过滤)。变换块415可以执行从用户的当前视点(例如,使用惯性测量单元、眼睛跟踪器和/或任何合适的跟踪/定位算法(诸如同时定位和地图构建(simultaneous localization and mapping))被确定)到表面所在的人工场景中的光线投射,并且可以产生结果以发送给像素块417。
66.一般来说,根据特定实施例,变换块415可以各自包括四级流水线。变换块415的各级可以如下进行。光线投射器可以发出与具有一个或更多个对准的像素的阵列或“图块(tiles)”对应的光线束(ray bundle)。根据一个或更多个失真网格(distortion mesh),光线束可以在进入人工现实场景之前被扭曲。失真网格可以被配置成校正至少源自hmd的显示器或波导的几何失真效果。通过将每个图块的边界框与每个表面的边界框进行比较,变换块415可以确定每条光线束是否与场景中的表面相交。如果光线束不与表面相交,则它可以被丢弃。检测到图块与表面的相交,并且可以将对应的图块

表面对(tile

surface pair)传递到像素块417。
67.一般来说,根据特定实施例,像素块417可以从图块

表面对中确定颜色值,以产生像素颜色值。可以从由控制块413接收并且存储的表面的纹理数据(例如,其作为输入数据流的一部分)中采样每个像素的颜色值。像素块417可以从变换块415接收图块

表面对,并调度双线性过滤。对于每个图块

表面对,像素块417可以使用对应于投射的图块与表面相交之处的颜色值,采样图块内的像素的颜色信息。在特定实施例中,像素块417可以为每个像素单独处理红色分量、绿色分量和蓝色分量。然后,像素块417可以向扭曲引擎410的显示块419输出像素颜色值。
68.一般来说,显示块419可以从像素块417接收像素颜色值,转换数据的格式使其更适合输出到显示器驱动器ic 420,对像素颜色值应用一个或更多个亮度校正,并准备像素颜色值以输出到显示器驱动器ic 420。在特定实施例中,显示块419可以将像素块417生成的图块顺序的像素颜色值转换成显示器可能要求的扫描线顺序或行顺序的数据。亮度校正可以包括亮度校正、伽马映射和特定的抖动操作。在特定的实施例中,显示块419可以以较高的速率(例如,120hz

10khz,支持120

10,000sfps)向显示器驱动器ic 420提供经校正的像素颜色值。
69.显示器驱动器集成电路——抖动和非均匀性校正
70.扭曲和背板控制ic 405可以包括执行各种图像处理技术的显示器驱动器集成电路420。注意,虽然为了易于理解,显示器驱动器ic 420被讨论为单独的集成电路,但是显示器驱动器ic 420的要素和功能可以由直接并入扭曲和背板控制ic 405中的类似结构来执
行。显示块419的输出可以被提供给扭曲和背板控制ic 405的显示器驱动器ic 420的图像处理块430。图像处理块430可以对从扭曲引擎405的显示块419传递到显示器驱动器ic 420的子帧图像执行抖动和非均匀校正操作。
71.图像处理块430可以对子帧内的像素颜色值执行抖动。对于子帧的每个像素(每个像素可能对应于μled阵列中的μled),图像处理块430可以量化数字像素颜色值,以匹配显示器可用的精确度(例如,μled阵列的μled可产生的颜色精确度)。量化颜色可能会产生误差:量化值和指定像素颜色值之间的差异。该误差可能会被传播到μled周围的一个或更多个μled。这种所传播的误差可能会并入到周围μled的最终颜色中。在特定实施例中,误差可以被传播到从扭曲引擎410接收的一个或更多个未来帧或子帧。
72.由于高的子帧速率(其可能包括以比人眼通常能够辨别的速率大得多的速率产生的各个子帧),观看者的眼睛在观看所显示的图像时可以整合多个所显示的子帧。这导致了复合的感知帧。例如,两个或更多个子帧之间(例如,相同像素位置的颜色的)微小差异可以被观看者的眼睛整合。图像处理块430利用该解释过程,可以调整(例如,在固定的μled阵列内的)一种或更多种像素颜色的显示位置和/或时间(例如,子帧的数量),以产生特定的视觉效果。这种效果可以包括,例如,以比μled阵列中的μled物理上可用的更精细的灰度来显示颜色。因此,除了单帧空间抖动之外,抖动块345还能够执行“三维抖动”。在三维抖动中,误差可以在两个空间维度(沿着水平轴和垂直轴)和时间维度(在第一子帧和一个或更多个后续子帧之间)中传播。
73.图像处理块430还可以校正显示器的非均匀性。非均匀性可以包括,例如但不限于,一个或更多个功能不正常的μled(例如,响应于驱动电流而产生有限光或不产生光的μled)、显示器的颜色失真(例如,随着驱动电流的增加和/或减少而显示颜色失真的μled)、显示器的制造误差、特定颜色的μled之间的像素几何形状的变化、特定颜色的μled之间的像素间距以及许多其他潜在的非均匀性。高子帧速率可以提供在用户没有察觉到的情况下校正非均匀性的机会。
74.在特定实施例中,一些类型的非均匀性可以由扭曲引擎410校正,而一些类型的非均匀性可以由图像处理块430校正。扭曲引擎410可以校正预计在子帧之间具有变异率小的非均匀性。例如,扭曲引擎410可以校正由与显示器的波导或发光组件相关联的光学器件引入的非均匀性。因为不管帧的指定像素颜色值如何,这些非均匀性都可以被一致地测量,所以它们可以被更强大的扭曲引擎410校正。由μled阵列的功能不正常的μled引入的非均匀性可以被图像处理块430校正。
75.在特定实施例中,校正各种非均匀性和传播颜色值误差所需的掩码可以分别存储在显示器驱动器ic 420的非均匀性存储器433和误差传播存储器435中。在特定实施例中,非均匀性存储器433可以是存储预先计算的掩码的7.5mb缓冲器,以减少对每个子帧转换的即时计算的需要。在特定实施例中,误差传播存储器435可以是显示器驱动器ic 420的5mb缓冲器,其存储先前计算的误差传播值。例如,对于每个像素定位,误差值的一部分可以被指定用于时间误差传播。当处理下一子帧的图像时,图像处理块430可以检索一些或所有像素定位的误差值。这个指定的过去误差值可以与抖动当前子帧一起使用。来自当前子帧的被指定用于时间抖动的任何误差值可以被存储回误差传播存储器中,以当图像处理块430正在抖动下一个子帧时,该误差值被访问。图像处理块430的输出可以是关于一个子帧的一
个或更多个单独的μled颜色指令。在特定实施例中,如果从扭曲引擎410接收的图像还没有被分成单色分量,则图像处理块430或显示器驱动器ic 420的另一个组件可以将颜色分成两个或更多个单色部分,使得图像可以被传递到支持单色μled有源矩阵457的μled背板ic(例如,450、460或470)。
76.在图像处理块430的输出从显示器驱动器ic 420被发送之前,它可以通过显示接口串行化器440。显示接口串行化器440可以将从图像处理块430接收的并行化数据转换成可能更容易被传输到μled背板ic 450的串行化格式。在传输之前串行化数据可以通过例如减少将扭曲和背板控制ic405连接到每个μled背板ic 450、460和470的信号线(例如,引脚)的数量来降低整个芯片设计的复杂性。这反过来可以通过减少制造产生错误的机会来帮助降低成本和提高产量。μled背板ic 450的去串行化器453可以接收串行化数据流,并将其转换回并行流,以适合于μled背板ic 450的剩余组件使用。
77.μled背板集成电路
78.投影仪的μled集成电路可以包括从扭曲和背板控制ic 405接收数据和控制信号并将数据和控制信号转换成将要显示给用户的光的元件。图4示出了投影仪400的扭曲和背板控制ic 405和μled背板ic 450、460和470的一种可能布置。在一些实施例中,并且如图4所示,一个扭曲和背板控制ic 405可以被配置成与多个μled背板ic 450、460和470接口连接。在投影仪400的情况下,每个μled背板ic包括不同的单色μled有源矩阵457(μled背板ic 450包括红色μled有源矩阵,μled背板ic 460包括绿色μled有源矩阵,并且μled背板ic 470包括蓝色μled有源矩阵)。如上所述,由这些μled矩阵发射的光在被发送到观看者的视窗之前可以通过波导系统组合。在一些实施例中,单个扭曲和背板控制ic 405可以与单个μled背板ic 450接口连接。μled背板ic 450又可以包括单个μled有源矩阵,单个μled有源矩阵又可以是单色的或多色的(例如,包括多个分层的μled有源矩阵)。本文解释的相同原理可以应用于所有构思的组合。
79.将针对单个μled背板ic 450描述该架构。应当理解,根据需要,相同的概念可以容易地用于投影仪400的剩余的μled背板ic(例如,μled背板投影仪ic 460和470)。图像数据(例如,像素颜色值)可以被传输到μled背板ic 450。如果数据已经(例如,通过扭曲和背板控制ic405的串行化器440)被串行化,则数据可以通过μled背板ic 450的去串行化器453去串行化。如上所述,串行化可以减少传输数据所需的有源信号线的数量,并且从引脚数的角度来看可以更有效。然而,数据随后可能需要去串行化,以便可以被μled背板ic 450的剩余组件(包括脉宽调制控制块455和μled有源矩阵457)使用。去串行化的数据可以被传递到脉宽调制(pwm)控制块455。
80.pwm控制块455可以解释颜色数据,并提供使用μled有源矩阵457的μled执行脉宽调制所需的控制指令。在特定实施例中,pwm控制块455可以将像素颜色值和其他控制指令加载到将要由μled有源矩阵457访问的存储器中。在已经加载数据后,μled有源矩阵457的μled可以根据颜色数据和指令照亮。例如,pwm控制块455可以提供定时和颜色指令,使得μled可以以足够快的速率被照亮,该足够快的速率使得观看者的眼睛仅感知到被照亮的显示(例如,感知不到μled中的闪烁)。虽然本公开描述了使用pwm作为显示调节技术,但是也可以使用用于控制光源照亮的其他方式。在特定实施例中,μled有源矩阵457可以被配置成接收和显示与扭曲引擎410输出数据的速率一致的子帧(例如,120hz

10khz或120

10,
000sfps)。
81.帧和子帧定时
82.由于本公开设想到以两种不同的帧速率生成和接收图像帧数据的组件,因此以下是显示系统中子帧速率(例如,上采样帧)的效果的简要解释和示例。图5示出了由显示系统接收和显示的两个帧的示例渲染时间线。时间线500指示单个帧的时间量。如图所示,显示器可以以每秒30

90帧(30

90hz)的输入帧速率接收帧。输入帧速率可以指示接收更新或刷新的帧数据的频率。例如,帧(或允许渲染帧的数据)可以由渲染引擎渲染,并被发送到hmd进行显示。输入帧速率可以表示hmd接收经渲染的数据的频率。
83.时间线510指示一个或更多个光发射器(例如,led)可以发射与标准显示器中接收到的帧对应的光期间的时间量,该时间量可以被称为光发射器的导通时间。led的导通时间可以指在led接收到电流之后led输出超过指定亮度阈值的光的时间。因此,时间线510可以不包括led开始发射光但没有以其指定亮度发射光期间的时间。在特定实施例中,标准显示器中的led的导通时间可以在6

28ms之间(对应于35

167hz)。时间线520指示led的关断时间。led的关断时间可以指led不发射光(诸如因为电流不再被提供给led)期间的时间。在特定实施例中,标准显示器中的led的关断时间可以是大约5ms。在led的关断时间期间,可以接收来自渲染引擎的更新,并且可以为显示准备随后的帧数据。同样在关断时间期间,渲染引擎或hmd可以应用对帧数据的更新。这些更新可以包括对纹理数据的更新或者为了允许变焦透镜被模拟而进行的调整(或者在物理变焦透镜的情况下,透镜可以相应地移动)。
84.根据某些实施例,时间线530指示为子帧显示分配的时间量。在特定实施例中,显示系统可以以输入帧速率(例如,30

90hz)接收帧,并将该帧上采样为多个子帧。通过上采样和显示子帧,显示器可以增加有效的或被感知的帧速率。在特定实施例中,子帧速率可以是120hz

10khz。子帧速率可以被具体配置成利用显示器的光发射器的响应时间。在特定实施例中,显示器中的led的功率循环时间(例如,从关断到导通再到关断的时间)远低于以所提供的输入帧速率显示一帧所需的时间。基于此,显示系统可以被配置成在输入帧更新之间(例如,比30

90hz更快地)修改将要由led显示的帧图像数据。例如,在输入帧更新期间,如时间线540所指示,可以对由渲染引擎提供的数据(例如,通过扭曲引擎410)执行几何扭曲。几何扭曲的效果可以以上采样的子帧速率显示。因为在(由时间线550指示的)关断时间期间可以从渲染引擎接收到新数据,所以没有额外的效果可以由显示系统应用。
85.示例集成电路
86.本公开设想了可用于扭曲和背板控制ic 405和μled背板ic(例如,450)的集成电路以及所述集成电路的组件的各种可能的设计。图6

图7示出了背板控制ic和投影仪ic的示例架构。
87.背板控制ic
88.图6示出了采用脉宽调制的硅基背板控制ic和有源μled阵列(例如,μled背板ic 450、460和470)的示例块级布局600。块610是去串行化器,其将串行化数据(诸如由扭曲和背板控制ic 405的串行化器块440串行化的数据)去串行化为并行化的数据。去串行化块610可以被具体配置成根据由串行化器440指定的格式去串行化数据。因此,去串行化块610和串行化器440可以说是成对的或共同设计的。背板控制ic 600可以使用pwm来调制μled阵列660的输出。定时控制器(tcon)板650可以为纵列驱动器板(columnar driver board)620
和扫描行板630提供定时指令。tcon板650可以提供例如关于特定光发射器(例如led、oled、μled等)应该被照亮以便提供由从显示器驱动器接收的颜色数据流所指示的颜色的颜色和/或时间量的信息。在特定实施例中,定时控制器(tcon)板650可以包括多个单独的tcon芯片。
89.驱动器620可以接收指令,以指示对于给定的子帧,μled有源阵列660的哪些μled列将包括被照亮的μled。扫描行板630可以接收用于将μled有源阵列660的行接地的指令(例如,关于哪些列的哪些μled将被点亮的指令)。在特定实施例中,阵列660中可以有m列μled和n行,其中m和n可以是任何合适的整数。例如,显示器可以包括3840列μled和2160行μled(例如,4k显示器分辨率)。可以包括更多或更少的μled,这被认为对显示器有利。tcon板650可以提供定时指令,以使扫描行驱动器630循环通过多行μled阵列,以确保阵列中的所有μled在适当的时间发光。偏置电流镜640可以接收变化的驱动电流,并且输出适于驱动由驱动器620和630调制的μled的基本电流。在特定实施例中,与基于玻璃的薄膜晶体管背板相反,背板控制ic和有源μled阵列660可以用基于硅的薄膜晶体管背板来实现。硅基背板可以允许μled背板ic 600具有更小的形状因子,在不牺牲显示质量的情况下提高效率并且降低制造成本。
90.投影仪

2.5d和3d ic
91.图7示出了显示系统的投影仪(例如,投影仪400)的两种布置700和710。布置700和710的特征是一个扭曲和背板控制ic(例如扭曲和背板控制ic 405)和多个背板控制ic 740、750和760(例如μled背板ic 450、460和470),它们安装在用于机械支撑和支持ic之间的电连接的印刷电路板(pcb)上。如图4所示,背板控制ic各自支撑单色μled阵列,且因此各自可以通过所支撑的单色μled阵列提供的颜色(例如,红色、绿色或蓝色)来被指定。
92.布置700示出了一种变型,其中,三个背板控制ic 740、750和760物理地安装在扭曲和背板控制ic 730的顶部。ic的垂直堆叠又被安装到pcb 720a。由于与传统ic相比增加了垂直剖面,因此这种堆叠变型也可称为3d结构。在3d结构中,可以使用硅通孔(through

silicon via)来允许背板控制ic 740、750和760与扭曲和背板控制ic 730通信,并连接到pcb 720a。3d变型可能比传统2d变型(例如,其中所有ic安装在单个平面上)空间效率更高,因为ic的占用面积可以显著减小。3d变型还可以降低互连的复杂性,因为各个ic可以通过高效的硅通孔与堆叠中的其他ic直接通信。
93.布置710示出了一种变型,其中三个背板控制ic 740、750和760在中介层770上紧挨着扭曲和背板控制ic 730安装。中介层770(带有ic)又被安装到pcb 720b。中介层770可以允许对ic的模拟3d配置,其可以被称为2.5d配置。中介层770可以是硅中介层,具有连接安装在其顶部的ic的通信点和pcb 720b的硅通孔。中介层770可以允许比在2d配置中可以实现的通信更快的ic到ic通信。例如,根据所使用的制造技术,中介层可以允许更准确(例如,更少噪声)的连接。可以使用与ic自身相同的材料(诸如硅)和工艺来进行中介层770上的ic之间的连接。可以使用典型的技术进行中介层770和pcb 720b之间的连接。与2d技术相比,2.5d或“并排式(side

by

side)”变型可以提高ic之间的通信速度,并减少占用面积。与纯3d变型相比,2.5d变型还可以具有更高的制造成品率。此外,由于各个有源ic仍然可以分离,因此来自ic的热量问题自然而然地较少,因为它可以以类似于2d变型的方式散热。
94.投影仪架构
95.其中图7示出了投影仪的组件布置的变型,图8a

图8d示出了hmd组件的布置的变型,包括关于在不同集成电路中体现的投影仪的不同组件的变型。图8a

图8d示出了hmd的投影仪(例如,投影仪400)和头戴式装置cpu(例如,头戴式装置cpu 310)的可能架构。图8a

图8d所示的每种配置包括以下组件中的每个组件中的至少一个:头戴式装置cpu、扭曲引擎(例如,扭曲引擎410)、显示器驱动器ic(ddi)(例如,显示器驱动器ic 420)和μled背板控制和矩阵(例如,μled背板ic 450、460或470)。图8a

图8d中所表示的选项可以用它们沿着三个度量的特征描述来概括:所需的不同ic的数量、ddi是否与μled背板控制和矩阵共享ic、以及扭曲引擎(例如,扭曲引擎410)相对于其他组件的定位。
96.在图8a中,架构800a包括三种不同类型的ic。一个ic是头戴式装置cpu 805。第二ic 815包括扭曲引擎(例如,扭曲引擎410)和ddi控制(例如,显示器驱动器ic 420)。第三ic类型820a、820b和820c包括μled背板控制和有源矩阵(例如,μled背板ic 450、460和470)。在该配置中,投影仪810(例如,投影仪400)包括扭曲引擎和ddi控制asic815以及集成到单个芯片中的三个μled背板控制和有源矩阵ic 820a、820b和820c。因此,虽然该配置可以支持任意数量的投影仪810,但是配置800a中所示的头戴式装置cpu 805支持四个投影仪810。例如,每只眼睛可以具有垂直或水平分割屏幕的两个指定的投影仪810。划分每个投影仪的工作负荷可以改善用户的视场,而(与用更少的投影仪实现相同视场的潜在成本或复杂性相比)不会显著增加成本或复杂性。
97.图8a所示的每个投影仪810具有专用的扭曲引擎。这可以减少扭曲引擎的预期工作负荷,因为它只需要确定帧/子帧的子集的几何扭曲。另一个优点源于将扭曲引擎和ddi控制asic 815与μled有源矩阵820a、820b和820c分离。扭曲引擎和ddi控制的操作可以被称为“仅数字的”,因为如上所述,任何块都不需要与任何模拟组件接口连接。相比之下,μled矩阵是模拟组件,且其控制器必须与之适当接口连接。因为扭曲引擎和ddi控制asic 815支持仅数字操作,所以asic自身可以使用最合适的制造工艺来制造。例如,扭曲引擎和ddi控制asic 815可以使用更小的组件来制造,使得ic比包括与模拟组件接口连接的情况更强大和/或更节能。在特定实施例中,投影仪810可以被实现为如以上参考图7所述的2.5d或3d asic。因此,扭曲引擎和ddi控制asic 815以及μled控制和矩阵ic 820a、820b和820c之间的有源信号连接可以受益于并排式或堆叠式设计架构实现的短的直接连接。
98.在许多标准显示器(如带有基于玻璃的背板的显示器)中,ddi控制器、μled控制器和有源矩阵必须集成到单个ic中,因为ddi控制器的操作通常与显示矩阵密不可分。如上所述,在某些实施例中,μled矩阵可以使用硅基背板。这一点(尤其是在考虑2.5d或3d配置的时候)有可能允许支持μled显示器的操作块几乎任意分割。例如,并且如架构800a所示,扭曲引擎和ddi控制器可以与μled控制器和矩阵分离。
99.在图8b中,架构800b再次包括三种不同类型的ic。一个asic 825包括头戴式装置cpu和扭曲引擎(例如,扭曲引擎410)。第二asic 835包括ddi控制器(例如,显示器驱动器ic 420)。以及第三asic类型840a、840b和840c包括μled背板控制和有源矩阵(例如,μled背板ic 450、460和470)。类似于图8a所示的架构,架构800b实施ic的专门化,并允许将最合适的制造工艺用于ic(例如,与混合ic相比,提高了纯数字ic的速度)。
100.与架构800a不同,架构800b具有分区的扭曲引擎,该分区的扭曲引擎与头戴式装置cpu被纳入到相同的ic 825中。架构800b示出了单个扭曲引擎,但是可以支持多个扭曲引
擎(例如,每只眼睛一个,每台投影仪一个,等等)运行在同一个asic 855上。因此,该配置中的投影仪830包括ddi控制器和μled有源矩阵。分区的扭曲引擎可以受益于头戴式装置cpu的计算能力的提高。这可以支持快速子帧生成和显示速率(例如,120hz

10khz)的目标。架构800b还可以允许用于投影仪830的更简单、更容易制造且成本更低的ic。此外,架构800b可以进一步提供如上所述地将ddi控制器与μled背板控制器和μled有源矩阵分区的许多优点。
101.在图8c中,架构配置800c包括两种不同的asic类型。一个asic包括头戴式装置cpu 845。第二asic 850a、850b和850c包括扭曲引擎(例如,扭曲引擎410)、ddi控制(例如,显示器驱动器ic 420)和μled背板控制和有源矩阵(例如,μled背板ic 450、460和470)。因此,这种架构配置下的投影仪在单个芯片上包括所有这三个组件。图8c示出了单独的投影仪,每个投影仪都有自己的单色μled矩阵。因此,这种配置将会支持每只眼睛六个投影仪的hmd,创建两个全色显示器来划分fov。
102.每个投影仪有专用的扭曲引擎,这可能会提高各个扭曲引擎组件的准确性和效率。在特定实施例中,每个扭曲引擎可以基于其支持的单色μled矩阵的颜色通道来优化。例如,只对图像的红色通道执行初始可见性检查的扭曲引擎可以与对绿色通道执行相同操作的扭曲引擎分开被优化。此外,由这种扭曲引擎的像素块执行的颜色混合可以被高度优化,因为它可以避免考虑绿色通道或蓝色通道。架构800c只需要两种不同类型的ic,这简化了制造要求,并可能最终提高可行的ic的产量,因为制造可以集中于仅创建这两种类型的ic。这也可以简化集成,因为它限制了必须集成到hmd的ic的类型。
103.在图8d中,架构800d再次包括两种不同类型的ic。一个asic 855包括头戴式装置cpu和扭曲引擎(例如,扭曲引擎410)。第二asic类型860a、860b和860c包括扭曲引擎(例如,扭曲引擎410)、ddi控制(例如,显示器驱动器ic 420)和μled背板控制和有源矩阵(例如,μled背板ic 450、460和470)。该配置示出了单个扭曲引擎,但是可以支持多个扭曲引擎(例如,每只眼睛一个,每台投影仪一个,等等)运行在同一个asic 855上。
104.除了仅纳入两个不同的ic的好处之外,架构800d还可以具有额外的好处,因为投影仪asic 860a、860b、860c包括组件ddi控制器和μled矩阵,这些组件在概念上可以最直接地分组在一起。每个ddi控制器与一个单色μled矩阵配对,并且ddi控制器可以被优化以支持所使用的特定μled颜色的颜色通道。例如,支持红色μled矩阵的ddi控制器可以进行改善红色μled颜色平衡的优化,这与被优化支持蓝色μled的ddi控制器不同。布置800d还可以降低在头戴式装置cpu和扭曲引擎asic855以及每个单独的投影仪asic 860a、860b和860c之间的数据路由的复杂性。因为仅向每个ddi控制器发送单个颜色通道,所以一次通过有源信号通道发送的信息可能会更少,同时仍能实现与单个ddi控制器支持多个单色μled阵列的布置相当的吞吐速度。
105.选择哪种架构最适合特定的应用可能取决于各种考虑因素。例如,相对于可能使用的其他ic,在一个架构中可以使用的某些ic的制造成本可能更高。因此,减少在给定配置中使用的昂贵ic的总数可能是优选的。作为另一个示例,并且如上所述,减少给定配置中所需的独特asic的数量可能是有益的。设计额外的asic来执行功能块的角色可能是困难并且昂贵的。只设计和制造两种不同的ic可能更具成本效益,使得可以集中精力提高这些ic的可靠样品的产量。作为另一个示例,可以确定的是特定ic可能比其他ic消耗更多的功率。例
如,可以确定的是具有四个扭曲引擎的配置低于具有十二个扭曲引擎的配置所需的功率。可以进一步确定的是,将块组合成单个ic的特定组合可能会影响功率要求。例如,可以确定的是,扭曲引擎和头戴式装置cpu相结合的配置比扭曲引擎与ddi控制和/或μled背板控制和有源矩阵相结合的配置具有更高的功率需求。作为另一个示例,可以考虑特定ic产生的热量。在设计投影仪架构时(特别是针对特定应用选择一种架构而不是另一种架构),可以考虑所有这些因素以及任何其他合适的因素。
106.投影仪ic封装
107.图9a

图9e示出了以上讨论的投影仪的逻辑配置的多种封装选项。如进一步详细描述的,架构配置800a

800d的选择可以对特定封装选项进行选择有影响或者要求对特定封装选项进行选择。图9a示出了一种配置,其中机械对准器901能够相对于hmd的波导905调整组件堆叠的位置。图9a示出了三个asic 913,每个asic 913具有它们自身的单色μled阵列912。例如,对于单个投影仪,图9a所示的封装选项可以支持以下项:一个asic 913和单色μled阵列912来显示红色通道,一个asic 913和单色μled阵列912来显示绿色通道,以及一个asic 913和单色μled阵列912来显示蓝色通道。可以使用μled阵列的任何合适的颜色通道。类似地,也可以使用多色μled阵列。每个单色μled阵列912具有相关联的耦合组件911,以将从各种μled阵列912发射的光耦合成单个图像。asic 913各自结合到电路板904,电路板904又安装到机械对准器901。在特定实施例中,电路板914可以是刚性柔性电路板,允许电路914在机械对准器901的控制下根据需要而移动。机械对准器901可以由hmd的控制器(例如,头戴式装置cpu)控制。在该实施例中,机械对准器901可以相对于其他asic 913和μled阵列912来独立地定位每个asic 913和μled912。
108.图9b示出了类似于图9a所示的配置,但是没有机械对准器901。在图9b中,asic 913每个被安装到用于机械和电气支持的同一电路板914上。因此,图9b示出了图9a所示配置的更简单的变型。图9b可以说是示出了上述asic封装的2d方法。asic 913全部安装在同一平面上,并安装在同一电路板914上。因此,可以使用众所周知的制造工艺来制造该配置,从而降低成本并提高产量。然而,2d配置有许多已知的限制,至少包括所产生的电路占用更多的水平空间。在手持设备和hmd中,该空间可能非常宝贵,并且因此2d解决方案可能不适用于所有用例。此外,在没有额外的布线复杂性的情况下,asic 913不能与其他asic 913直接通信。
109.图9c示出了一种配置,其中中介层920用于将asic 913附接到pcb。中介层920的使用可以允许每个asic 913与其他asic 913更直接的通信,在不显著增加布线复杂性的情况下提高了通信效率。在这种配置中,每个μled阵列912与一个asic 913结合。asic 913又与公共中介层920结合。公共中介层920可以由在不需要额外布线的情况下允许asic 913直接通信的材料组成。中介层920可以包括一个或更多个硅通孔925,这允许asic 913也根据需要直接连接到电路板914。这种配置可以为asic 913提供比其他配置更多的结构支撑,这允许电路板进行更多的移动。图9a

图9c所示的配置可以最自然地与图8c所示的架构一起使用。在该配置中,扭曲引擎和ddi控制被分配给单个asic 850a、850b和850c中的单色μled矩阵。图9a

图9c中的每一个图中结合到单个μled矩阵912的asic913可以实现预期的投影仪ic。
110.图9d示出了单个asic 930连接到多个μled阵列912的配置。如前所述,该配置包括
用于每个μled阵列912的耦合组件911,其将特定的μled阵列912耦合到hmd的波导905。然而,单个asic 930与多个μled阵列912相关联,而不是(例如,在图9c所示的配置中)每个μled阵列912分配一个asic。在图9d所示的示例中,一个asic 930与三个μled阵列912(其中的每个μled阵列可以是单色μled阵列)相关联。asic 930分别通过硅中介层935耦合到每个μled阵列912。当与图8a所示的架构一起使用时,图9d所示的配置可能特别有益。在该配置中,单个扭曲引擎和ddi控制asic 815与多个μled控制和矩阵ic 820a、820b和820c一起使用。图9d中示出的配置可以以对扭曲引擎的最小功率需求实现图8a中的配置,因为为每个颜色通道执行的大部分工作可以被共享和重新使用。这也减少了存储器访问时间并提高了处理速度。
111.图9e示出了一种配置,其中单个asic 930在不使用(如图9d中的)硅中介层的情况下被结合到多个μled阵列912。asic 930又结合到电路板914,以用于电气和机械支持。这种配置对于制造商来说可能比上述一些配置更简单。因此,制造成本和产量可以更容易控制。在特定实施例中,更简单的配置可以允许使用更先进的制造技术,从而提高aisc 930和μled阵列912的性能。
112.参考图9a

图9e示出和描述的所有配置都可以通过在图8a

图8d中示出的特定架构配置中使用而受益。例如,在所有配置中,可以在中央头戴式装置cpu中包括扭曲引擎。当扭曲引擎正在执行它的许多规定的操作时,这可以允许最大的存储器共享。例如,可能有重叠的纹理映射和混合效果,这可以为许多投影仪共享。注意,在图9a

图9e中示出了单个asic或asic层的情况下,经过适当的修改,也可以使用(如在3d实现方式中的)asic的堆叠。此外,可以向任何给定的层添加额外的组件(诸如额外的asic、ic、μled阵列或中介层),以进一步扩展所示配置的能力。例如,在图9d所示的配置中,可以在硅中介层935的顶部上添加一个或更多个额外的组件。这可以允许例如将附加的asic添加到配置中,以与μled阵列912通信。如同图8a

图8d所示的架构一样,各种考虑因素可能会影响选择一种配置而不是另一种配置。这些考虑因素可以包括封装尺寸、制造和组装成本、热分布和散热、功率使用、弹性、任何其他合适的考虑因素或它们的任意组合。
113.用于生成和显示经修改的子帧的示例方法
114.图10示出了用于生成和显示经修改的子帧的示例方法1000。该方法可以在步骤1010开始,在步骤1010中渲染引擎300可以基于主渲染指令生成虚拟对象供显示。主渲染指令可以包括用于显示的一组多边形和相关颜色。渲染引擎可以基于关于观看者相对于虚拟场景的定位的信息来执行初始可见性确定。渲染引擎可以产生专用的对象图元(例如上述表面),以供可以被纳入到投影仪400中的扭曲引擎410使用。该表面可以包括表示3d虚拟场景的2d图像。渲染引擎可以以例如30

90hz的速率向扭曲引擎410提供表面。在步骤1020,扭曲引擎410可以基于从渲染引擎接收的虚拟对象(例如,表面)生成关于将要渲染的帧的图像帧数据。扭曲引擎410可以基于在虚拟场景中用户视图的定位来执行表面的可见性确定,计算并应用一个或更多个几何扭曲,执行颜色插值和亮度校正,并且另外准备将要显示的图像帧数据。扭曲引擎410可以以例如120hz

10khz的速率向显示器驱动器420提供图像帧数据。
115.在步骤1030,可以纳入到投影仪405中的显示器驱动器420可以对接收到的图像帧数据执行图像处理。例如,显示器420驱动器的图像处理块430可以计算并应用一个或更多
个抖动操作,包括一维或二维空间抖动或时空抖动。图像处理块430可以计算μled阵列中的一个或更多个μled的颜色深度精度误差。图像处理块430可以将颜色深度精度误差传播到一个或更多个相邻的μled和/或该帧的一个或更多个未来子帧。作为另一个示例,显示器驱动器420的图像处理块430可以基于μled阵列中的已知非均匀性来计算并应用帧数据的一个或更多个非均匀性校正。显示器驱动器420可以将经处理的图像帧数据提供给背板控制器以供显示。
116.在步骤1040,背板控制器450可以生成给μled阵列的提供指令,以使μled阵列显示图像帧数据。在特定实施例中,pwm控制器455可以生成定时指令,以使μled阵列中的μled以120hz

10khz的速率照亮。
117.在适当的情况下,特定实施例可以重复图10的方法的一个或更多个步骤。尽管本公开将图10的方法的特定步骤描述并示出为以特定顺序发生,但是本公开设想了图10的方法的任何合适的步骤以任何合适的顺序发生。此外,虽然本公开描述并示出了用于上采样显示帧的、包括图10的方法的特定步骤的示例方法,但是本公开设想了用于上采样显示帧的、包括任何合适的步骤(其在适当情况下可以包括图10的方法的所有步骤、一些步骤或者不包括图10的方法的任何步骤)的任何合适的方法。此外,尽管本公开描述并示出了执行图10的方法的特定步骤的特定组件、设备或系统,但是本公开设想了执行图10的方法的任何合适步骤的任何合适的组件、设备或系统的任何合适的组合。
118.示例计算机系统
119.图11示出了示例计算机系统1100。在特定实施例中,一个或更多个计算机系统1100执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统1100提供本文描述或示出的功能。在特定实施例中,在一个或更多个计算机系统1100上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统1100的一个或更多个部分。在本文,在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或更多个计算机系统。
120.本公开设想了任何合适数量的计算机系统1100。本公开设想了计算机系统1100采取任何合适的物理形式。作为示例而不是作为限制,计算机系统1100可以是嵌入式计算机系统、片上系统(soc)、单板计算机系统(sbc)(例如,模块上计算机(com)或模块上系统(som))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网状网、移动电话、个人数字助理(pda)、服务器、平板计算机系统、增强/虚拟现实设备、或者这些系统的两个或更多个的组合。在适当的情况下,计算机系统1100可以包括一个或更多个计算机系统1100;是整体式的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,云可以包括在一个或更多个网络中的一个或更多个云组件。在适当的情况下,一个或更多个计算机系统1100可以在没有实质性空间或时间限制的情况下执行本文描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而不是作为限制,一个或更多个计算机系统1100可以实时地或以批处理模式来执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当的情况下,一个或更多个计算机系统1100可以在不同的时间或在不同的位置处执行本文描述或示出的一个或更多个方法的一个或更多
个步骤。
121.在特定实施例中,计算机系统1100包括处理器1102、存储器1104、存储装置1106、输入/输出(i/o)接口1108、通信接口1110和总线1112。尽管本公开描述并示出了具有在特定布置中的特定数量的特定组件的特定计算机系统,但是本公开设想了具有在任何合适布置中的任何合适数量的任何合适组件的任何合适的计算机系统。
122.在特定实施例中,处理器1102包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执s行指令,处理器1102可以从内部寄存器、内部高速缓存、存储器1104或存储装置1106中检索(或取回)指令;将他们解码并执行它们;以及然后将一个或更多个结果写到内部寄存器、内部高速缓存、存储器1104或存储装置1106。在特定实施例中,处理器1102可以包括用于数据、指令或地址的一个或更多个内部高速缓存。在适当的情况下,本公开设想了处理器1102包括任何合适数量的任何合适的内部高速缓存。作为示例而不是作为限制,处理器1102可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存、以及一个或更多个转译后备缓冲器(tlb)。在指令高速缓存中的指令可以是在存储器1104或存储装置1106中的指令的副本,并且指令高速缓存可以加速处理器1102对那些指令的检索。在数据高速缓存中的数据可以是:在存储器1104或存储装置1106中的数据的副本,用于使在处理器1102处执行的指令进行操作;在处理器1102处执行的先前指令的结果,用于由在处理器1102处执行的后续指令访问或者用于写到存储器1104或存储装置1106;或其他合适的数据。数据高速缓存可以加速由处理器1102进行的读或写操作。tlb可以加速关于处理器1102的虚拟地址转译。在特定实施例中,处理器1102可以包括用于数据、指令或地址的一个或更多个内部寄存器。在适当的情况下,本公开设想了处理器1102包括任何合适数量的任何合适的内部寄存器。在适当的情况下,处理器1102可以包括一个或更多个算术逻辑单元(alu);是多核处理器;或者包括一个或更多个处理器1102。尽管本公开描述并示出了特定的处理器,但是本公开设想了任何合适的处理器。
123.在特定实施例中,存储器1104包括用于存储用于使处理器1102执行的指令或用于使处理器1102操作的数据的主存储器。作为示例而不是作为限制,计算机系统1100可以将指令从存储装置1106或另一个源(例如,另一个计算机系统1100)加载到存储器1104。处理器1102然后可以将指令从存储器1104加载到内部寄存器或内部高速缓存。为了执行指令,处理器1102可以从内部寄存器或内部高速缓存中检索指令并将它们解码。在指令的执行期间或之后,处理器1102可以将一个或更多个结果(其可以是中间结果或最终结果)写到内部寄存器或内部高速缓存。处理器1102然后可以将这些结果中的一个或更多个写到存储器1104。在特定实施例中,处理器1102仅执行在一个或更多个内部寄存器或内部高速缓存中或在存储器1104(而不是存储装置1106或其他地方)中的指令,并且仅对在一个或更多个内部寄存器或内部高速缓存中或在存储器1104(而不是存储装置1106或其他地方)中的数据进行操作。一个或更多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器1102耦合到存储器1104。如下所述,总线1112可以包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(mmu)驻留在处理器1102和存储器1104之间,并且便于由处理器1102请求的对存储器1104的访问。在特定实施例中,存储器1104包括随机存取存储器(ram)。在适当的情况下,该ram可以是易失性存储器。在适当的情况下,该ram可以是动态ram(dram)或静态ram(sram)。此外,在适当的情况下,该ram可以是单端口ram或多端口
ram。本公开设想了任何合适的ram。在适当的情况下,存储器1104可以包括一个或更多个存储器1104。尽管本公开描述并示出了特定的存储器,但是本公开设想了任何合适的存储器。
124.在特定实施例中,存储装置1106包括用于数据或指令的大容量存储装置。作为示例而不是作为限制,存储装置1106可以包括硬盘驱动器(hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器、或这些中的两个或更多个的组合。在适当的情况下,存储装置1106可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置1106可以在计算机系统1100的内部或外部。在特定实施例中,存储装置1106是非易失性固态存储器。在特定实施例中,存储装置1106包括只读存储器(rom)。在适当的情况下,该rom可以是掩模编程rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可变rom(earom)、或闪存、或这些中的两个或更多个的组合。本公开设想了采用任何合适的物理形式的大容量存储装置1106。在适当的情况下,存储装置1106可以包括便于在处理器1102和存储装置1106之间的通信的一个或更多个存储装置控制单元。在适当的情况下,存储装置1106可以包括一个或更多个存储装置1106。尽管本公开描述并示出了特定的存储装置,但是本公开设想了任何合适的存储装置。
125.在特定实施例中,i/o接口1108包括为在计算机系统1100和一个或更多个i/o设备之间的通信提供一个或更多个接口的硬件、软件或两者。在适当的情况下,计算机系统1100可以包括这些i/o设备中的一个或更多个。这些i/o设备中的一个或更多个可以实现在人和计算机系统1100之间的通信。作为示例而不是作为限制,i/o设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像机、触笔、平板计算机、触摸屏、跟踪球、视频摄像机、另一个合适的i/o设备、或这些中的两个或更多个的组合。i/o设备可以包括一个或更多个传感器。本公开设想了任何合适的i/o设备以及用于它们的任何合适的i/o接口1108。在适当的情况下,i/o接口1108可以包括使处理器1102能够驱动这些i/o设备中的一个或更多个的一个或更多个设备或软件驱动器。在适当的情况下,i/o接口1108可以包括一个或更多个i/o接口1108。尽管本公开描述并示出了特定的i/o接口,但是本公开设想了任何合适的i/o接口。
126.在特定实施例中,通信接口1110包括提供用于在计算机系统1100和一个或更多个其他计算机系统1100或一个或更多个网络之间的通信(例如,基于包的通信)的一个或更多个接口的硬件、软件或两者。作为示例而不是作为限制,通信接口1110可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(nic)或网络适配器,或用于与无线网络(例如wi

fi网络)进行通信的无线nic(wnic)或无线适配器。本公开设想了任何合适的网络和用于它的任何合适的通信接口1110。作为示例而不是作为限制,计算机系统1100可以与自组织网络、个域网(pan)、局域网(lan)、广域网(wan)、城域网(man)或互联网的一个或更多个部分、或这些中的两个或更多个的组合进行通信。这些网络中的一个或更多个的一个或更多个部分可以是有线的或无线的。作为示例,计算机系统1100可以与无线pan(wpan)(例如,蓝牙wpan)、wi

fi网络、wi

max网络、蜂窝电话网络(例如,全球移动通信系统(gsm)网络)、或其他合适的无线网络、或这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统1100可以包括用于这些网络中的任一个的任何合适的通信接口1110。在适当的情况下,通信接口1110可以包括一个或更多个通信接口1110。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。
127.在特定实施例中,总线1112包括将计算机系统1100的组件耦合到彼此的硬件、软件或两者。作为示例而不是作为限制,总线1112可以包括加速图形端口(agp)或其他图形总线、扩展工业标准体系结构(eisa)总线、前端总线(fsb)、hypertransport(ht)互连、工业标准体系结构(isa)总线、infiniband互连、低引脚数(lpc)总线、存储器总线,微通道体系结构(mca)总线、外围部件互连(pci)总线、pci

express(pcie)总线、串行高级技术附件(sata)总线、视频电子标准协会本地(vlb)总线、或任何其他合适的总线、或这些中的两个或更多个的组合。在适当的情况下,总线1112可以包括一个或更多个总线1112。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。
128.在本文,在适当的情况下,一个或更多个计算机可读非暂时性存储介质可以包括一个或更多个基于半导体的或其他集成电路(ic)(例如,现场可编程门阵列(fpga)或专用ic(asic))、硬盘驱动器(hdd)、混合硬盘驱动器(hhd)、光盘、光盘驱动器(odd)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(fdd)、磁带、固态驱动器(ssd)、ram驱动器、安全数字(secure digital)卡或驱动器、任何其他合适的计算机可读非暂时性存储介质、或这些中的两个或更多个的任何合适组合。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。
129.虽然本文中的特定实施例可能被描述为使用专用集成电路,但是应该理解,这仅仅是为了示例的目的。可以替换能够实现所述功能或者能够被编程以完成属于每个asic的功能的标准组件或其他集成电路。
130.本文中,除非另有明确指示或通过上下文另有指示,否则“或”是包括一切的而非排他性的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“a或b”意指“a、b或两者”。此外,除非另有明确指示或通过上下文另有指示,否则“和”既是联合的又是各自的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“a和b”意指“a和b,联合地或各自地”。
131.本公开的范围包括本领域中的普通技术人员将理解的对本文描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开将本文的相应实施例描述并示为包括特定的组件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域中的普通技术人员将理解的在本文任何地方描述或示出的任何组件、元件、特征、功能、操作或步骤的任何组合或置换。此外,在所附权利要求中对适合于、被布置成、能够、被配置成、实现来、可操作来、或操作来执行特定功能的装置或系统或装置或系统的组件的引用包括该装置、系统、组件,无论它或那个特定功能是否被激活、开启或解锁,只要该装置、系统或组件是这样被调整、被布置、使能够、被配置、被实现、可操作的、或操作的。此外,尽管本公开将特定实施例描述或示为提供特定优点,但是特定实施例可以提供这些优点中的一些、全部或不提供这些优点。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜