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

用于中央凹渲染的系统和方法与流程

2022-03-23 10:24:12 来源:中国专利 TAG:


1.本公开总体涉及人工现实,诸如虚拟现实和增强现实。
2.背景
3.人工现实是一种在呈现给用户之前已经以某种方式进行了调整的现实形式,其可以包括例如虚拟现实(vr)、增强现实(ar)、混合现实(mr)、混杂现实或它们的某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或与捕获的内容(例如,真实世界的照片)相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈或它们的某种组合,并且它们中的任何一种都可以在单个通道中或在多个通道中被呈现(例如对观看者产生三维效果的立体视频)。人工现实可以与应用、产品、附件、服务或它们的某种组合相关联,这些应用、产品、附件、服务或它们的某种组合例如用于在人工现实中创建内容和/或在人工现实中使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在多种平台上实现,这些平台包括被连接至主计算机系统的头戴式显示器(hmd)、独立的hmd、移动装置或计算系统、或者能够向一个或更多个观看者提供人工现实内容的任何其他硬件平台。
4.特定实施例的概述
5.这里描述的特定实施例涉及用于基于用户的中央凹区域在显示器的不同显示区域上以可变分辨率渲染(render)显示内容以减少渲染过程的功耗和计算资源使用的系统和方法。对于显示器,系统可以基于显示区域到显示器上用户凝视点的距离来确定多个显示区域,并且在不同的显示区域中以不同分辨率渲染显示内容。例如,系统可以确定:第一显示区域,其具有整个显示区域的1/4宽度和1/4高度,并且以用户的凝视点为中心(用户的凝视点可以基于最新的眼睛位置来确定);第二显示区域,其具有整个显示区域的1/2宽度和1/2高度,并且包围但不包括第一显示区域;和对应于显示器的剩余显示区域的第三显示区域。然后,系统可以独立地为不同显示区域的三个颜色通道(例如,rgb)中的每一个确定采样分辨率。例如,系统可以对第一显示区域的所有三个颜色通道使用全采样分辨率,并对第二显示区域和第三显示区域使用降低的采样分辨率(例如,对第二显示区域中的绿色通道使用全分辨率,对红色和蓝色通道使用半分辨率;对第三显示区域中的绿色通道使用半分辨率和对红色和蓝色通道使用四分之一分辨率)。
6.在特定实施例中,系统可以投射较少的光线来确定分辨率降低的显示内容的图块(tile)/表面对(surface pair)。例如,系统可能对绿色通道使用全分辨率,对红色或蓝色通道使用半分辨率。因此,系统可能需要为每个绿色像素投射一条光线,并且只需要为每四个红色或蓝色像素投射一条光线(代替四个红色像素四条光线和四个蓝色像素四条光线)。因此,系统只需要为四像素区域投射总共六条光线(一条用于红色,一条用于蓝色,四条用于绿色),而不是十二条。因此,系统将只需要一半的存储器读取带宽和一半数量的计算单元(例如,过滤器块)。系统可以检索图块/表面对的纹理数据(例如,mip地图纹理数据),用于确定显示内容的颜色值。由于需要处理的数据较少,系统可以在给定的时钟周期内使用相同数量的资源(例如,过滤器、存储器、计算单元)来处理两倍于全分辨率像素的半分辨率
像素,因为减少了纹理存储器读取和数据处理。在特定实施例中,在已经确定颜色值之后,由于像素密度降低,系统可能需要更少的传输带宽来将颜色值发送到显示器的背板。在特定实施例中,系统可以以几种不同的方式生成由于中央凹(foveated)过滤而不是独立计算的颜色值:(1)通过在亮度校正和抖动之前对相邻颜色值插值;(2)通过在将相邻颜色值传输到显示器之后对它们进行插值;或者(3)通过在显示器中复制相邻的颜色值。
7.本文公开的实施例仅仅是示例,并且本公开的范围不限于它们。特定实施例可以包括上面公开的实施例的部件、元件、特征、功能、操作或步骤中的全部、一些或没有一个被包括。根据本发明的实施例在所附权利要求中被具体公开,涉及方法、存储介质、系统和计算机程序产品,其中在一个权利要求类别(例如方法)中提到的任何特征,也可以在另一个权利要求类别(例如系统)中要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何前面的权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并且可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。
8.在实施例中,一种方法可以包括,由计算系统:
9.访问以第一帧速率生成的第一渲染帧;
10.基于所述第一渲染帧,以高于所述第一帧速率的第二帧速率生成子帧,其中所述子帧的第一子帧通过以下方式生成:
11.基于传感器数据确定用户的观看方向;
12.基于所述观看方向,确定至少包含用户的中央凹焦点的第一观看区域和排除第一观看区域的第二观看区域;
13.对于第一子帧,使用第一采样分辨率确定对应于第一观看区域的颜色值,并且使用低于第一采样分辨率的第二采样分辨率确定对应于第二观看区域的颜色值;和
14.以第二帧速率输出子帧用于显示。
15.在一个实施例中,第一子帧可以由包括变换块和像素块的图形管线(graphic pipeline)生成,并且一种方法可以包括:
16.由所述变换块,通过向多个表面投射多条光线以确定多个图块和所述多个表面之间的交点来确定多个图块-表面对,其中基于所述多个图块-表面对来确定对应于所述第一观看区域和第二观看区域的颜色值。
17.与确定对应于第一观看区域的颜色值相比,变换块可以投射更少的光线来确定对应于第二观看区域的颜色值。
18.在实施例中,一种方法可以包括:
19.由像素块,通过使用第一采样分辨率对第一组表面进行采样来确定对应于第一观看区域的颜色值;和
20.由像素块,通过使用第二采样分辨率对第二组表面进行采样来确定对应于第二观
看区域的颜色值,其中像素块执行比对应于第一观看区域的颜色值更少的计算量来确定对应于第二观看区域的颜色值。
21.对应于第二观看区域的一组像素的第一颜色通道可以与第二采样分辨率相关联,以及对应于第二观看区域的一组像素的第二颜色通道可以与不同于第二采样分辨率的第三采样分辨率相关联。
22.在实施例中,一种方法可以包括:
23.独立地确定对应于第二观看区域的一组像素的第一颜色通道的每个n
×
n像素阵列的灰度值,其中n的值基于第二采样分辨率来确定;和
24.独立地确定对应于第二观看区域的一组像素的第二颜色通道的每m
×
m个像素的灰度值,其中m的值基于与第二颜色通道相关联的第三分辨率来确定。
25.第一颜色通道的第二采样分辨率和第二颜色通道的第三采样分辨率可以具有2的幂的关系。
26.在实施例中,一种方法可以包括:
27.基于复制过程确定n
×
n像素阵列内的每个像素的灰度值,其中复制过程由显示系统执行。
28.在实施例中,一种方法可以包括:
29.基于插值过程确定n
×
n像素阵列内的每个像素的灰度值,其中在亮度校正过程和抖动过程之前,由图形管线的显示块执行插值过程。
30.在实施例中,一种方法可以包括:
31.确定除第一观看区域和第二观看区域之外的第三观看区域,其中第一观看区域、第二观看区域和第三观看区域的相应颜色值基于逐渐降低的采样分辨率来确定。
32.在一个实施例中,第一子帧可以基于源数据生成,并且一种方法可以包括:
33.以连续降低的分辨率预处理源数据以生成第一子帧;和
34.在生成第一子帧的同时,以连续降低的分辨率访问源数据。
35.在实施例中,一种方法可以包括:
36.将锐度过滤器应用于对应于第二观看区域的多个像素,其中第一子帧保持与第二观看区域中的一个或更多个对象相关联的一个或更多个边缘上的对比度水平。
37.在实施例中,一种方法可以包括:
38.将锐度过滤器应用于第二观看区域中的第一子帧的多个像素,其中第一子帧保持第二观看区域中的平均亮度。
39.第一帧速率可以在30-90hz的第一范围内,以及第二帧速率可以在1-2khz的第二范围内。
40.在实施例中,一个或更多个计算机可读非暂时性存储介质可以体现软件,该软件在被执行时可操作来:
41.访问以第一帧速率生成的第一渲染帧;
42.基于所述第一渲染帧,以高于所述第一帧速率的第二帧速率生成子帧,其中所述子帧的第一子帧通过以下方式生成:
43.基于传感器数据确定用户的观看方向;
44.基于所述观看方向,确定至少包含用户的中央凹焦点的第一观看区域和排除第一
观看区域的第二观看区域;
45.对于第一子帧,使用第一采样分辨率确定对应于第一观看区域的颜色值,并且使用低于第一采样分辨率的第二采样分辨率确定对应于第二观看区域的颜色值;和
46.以第二帧速率输出子帧用于显示。
47.在一个实施例中,可以使用包括变换块和像素块的图形管线来生成第一子帧图像,并且该软件在被执行时可操作来:
48.由所述变换块,通过向多个表面投射多条光线以确定多个图块和所述多个表面之间的交点来确定多个图块-表面对,其中基于所述多个图块-表面对来确定对应于所述第一观看区域和第二观看区域的颜色值。
49.与确定对应于第二观看区域的颜色值相比,变换块可以投射更少的光线来确定对应于第一观看区域的颜色值。
50.在实施例中,一种系统可以包括:一个或更多个处理器;以及一个或更多个计算机可读非暂时性存储介质,该一个或更多个计算机可读非暂时性存储介质耦合到所述处理器中的一个或更多个处理器并且包括指令,该指令在由所述处理器中的一个或更多个处理器执行时可操作来使系统:
51.访问以第一帧速率生成的第一渲染帧;
52.基于所述第一渲染帧,以高于所述第一帧速率的第二帧速率生成子帧,其中所述子帧中的第一子帧通过以下方式生成:
53.基于传感器数据确定用户的第二观看方向;
54.基于所述第二观看方向,确定至少包含用户的中央凹焦点的第一观看区域和排除所述第一观看区域的第二观看区域;
55.对于第一子帧,使用第一采样分辨率确定对应于第一观看区域的颜色值,并且使用低于第一采样分辨率的第二采样分辨率确定对应于第二观看区域的颜色值;和
56.以第二帧速率输出子帧用于显示。
57.在一个实施例中,可以使用包括变换块和像素块的图形管线来生成第一子帧图像,并且所述指令在由所述处理器中的一个或更多个处理器执行时可以是可操作的以使系统:
58.由所述变换块,通过向多个表面投射多条光线以确定多个图块和所述多个表面之间的交点来确定多个图块-表面对,其中基于所述多个图块-表面对来确定对应于所述第一观看区域和第二观看区域的颜色值。
59.与确定对应于第二观看区域的颜色值相比,变换块可以投射更少的光线来确定对应于第一观看区域的颜色值。
60.附图简述
61.图1a示出了示例人工现实系统。
62.图1b示出了示例增强现实系统。
63.图2a示出了显示引擎的示例架构。
64.图2b示出了用于生成显示图像数据的显示引擎的示例图形管线。
65.图2c示出了使用主-子帧机制渲染显示内容的示例方案。
66.图3a示出了用于为中央凹渲染确定具有不同渲染分辨率的显示区域的示例方案。
67.图3b示出了红色、绿色和蓝色三种颜色通道的三个示例像素阵列。
68.图3c示出了用于确定不同颜色通道和不同显示区域的采样分辨率的示例方案。
69.图3d示出了针对不同颜色通道和不同显示区域使用不同采样分辨率以减少计算量的示例方案。
70.图4a-4d示出了一个示例框架,该框架允许系统通过降低一个或更多个图像区域中的采样分辨率,使用相同的计算资源来处理更多数量的像素图块。
71.图5a-5c示出了用于确定像素子阵列内的像素的灰度值的示例复制过程和插值过程。
72.图6示出了用于中央凹渲染的示例方法。
73.图7示出了示例计算机系统。
74.示例实施例的描述
75.ar/vr系统可能具有有限的可用功率(例如,由电池供电)和有限的计算资源(例如,计算单元、存储器、数据传输带宽等)。然而,全分辨率显示内容的图形渲染过程对功耗和计算资源都有要求,因此会对ar/vr系统的性能产生负面影响。特定实施例可以使用中央凹渲染过程来减少与显示内容渲染过程相关的功耗和计算资源使用。例如,系统可以在对应于用户凝视点的中央凹区域中以全分辨率(对于红色、绿色和蓝色的所有颜色通道)渲染显示内容,并且在用户中央凹区域之外的显示区域中以降低的分辨率(对于一个或更多个颜色通道)渲染显示内容。通过使用中央凹渲染过程,系统可以投射更少的光线来确定分辨率降低的显示内容的图块/表面对,因此为渲染过程使用更少的计算资源。由于减少了存储器读取和数据处理,系统可以在给定的时钟周期中使用与处理全分辨率图像相同的计算资源量来处理更大的图像区域(例如,更大数量的像素或像素图块),因此提高了系统性能的效率。此外,系统可能需要更少的传输带宽来将像素值发送到显示器,因为至少一部分中央凹图像的分辨率降低了。
76.图1a示出了示例人工现实系统100a。在特定实施例中,人工现实系统100可以包括头戴装置(headset)104、控制器106和计算系统108等。用户102可以佩戴可以向用户102显示视觉人工现实内容的头戴装置104。头戴装置104可以包括可以向用户102提供音频人工现实内容的音频设备。头戴装置104可以包括一个或更多个能够捕获环境的图像和视频的相机。头戴装置104可以包括眼睛跟踪系统,用于确定用户102的辐辏距离。头戴装置104可以被称为头戴式显示器(hdm)。控制器106可以包括触控板(trackpad)和一个或更多个按钮。控制器106可以接收来自用户102的输入,并将该输入中继到计算系统108。控制器106还可以向用户102提供触觉反馈。计算系统108可以通过电缆或无线连接连接到头戴装置104和控制器106。计算系统108可以控制头戴装置104和控制器106向用户102提供人工现实内容并从用户102接收输入。计算系统108可以是独立的主计算机系统、与头戴装置104集成的板载计算机系统、移动设备或能够向用户102提供人工现实内容并从用户102接收输入的任何其他硬件平台。
77.图1b示出了示例增强现实系统100b。增强现实系统100b可以包括头戴式显示器(hmd)110(例如,眼镜),其包括框架112、一个或更多个显示器114和计算系统120。显示器114可以是透明或半透明的,允许佩戴hmd 110的用户透过显示器114观看真实世界,以及同时向用户显示视觉人工现实内容。hmd 110可以包括可以向用户提供音频人工现实内容的
音频设备。hmd 110可以包括一个或更多个能够捕获环境的图像和视频的相机。hmd 110可以包括眼睛跟踪系统,以跟踪佩戴hmd 110的用户的辐辏运动。增强现实系统100b还可以包括控制器,该控制器包括触控板和一个或更多个按钮。控制器可以接收来自用户的输入,并将输入中继到计算系统120。控制器还可以向用户提供触觉反馈。计算系统120可以通过电缆或无线连接而连接到hmd 110和控制器。计算系统120可以控制hmd 110和控制器来向用户提供增强现实内容并从用户接收输入。计算系统120可以是独立的主计算机系统、与hmd 110集成的板载计算机系统、移动设备或能够向用户提供人工现实内容并从用户接收输入的任何其他硬件平台。
78.图2a示出了显示引擎210的示例架构200。在特定实施例中,本公开中描述的过程和方法可以在显示引擎210内实施或实现。显示引擎210可以包括例如但不限于纹理存储器212、变换块213、像素块214、显示块215、输入数据总线211、输出数据总线216等。在特定实施例中,显示引擎210可以包括一个或更多个图形管线,用于生成要在显示器上渲染的图像。例如,显示引擎210可以包括用于用户左眼和右眼的两个图形管线。图形管线之一可以包括纹理存储器212、变换块213、像素块214、显示块215等或者可以在纹理存储器212、变换块213、像素块214、显示块215等上实现。显示引擎210可以包括用于另一图形管线的另一组变换块、像素块和显示块。图形管线可以由显示引擎210的控制器或控制块(未示出)控制。在特定实施例中,纹理存储器212可以包括在控制块内,或者可以是在控制块外部但在显示引擎210本地的存储器单元。显示引擎210的一个或更多个组件可以被配置成经由高速总线、共享存储器或任何其他合适的方法进行通信。该通信可以包括数据以及控制信号、中断或/和其他指令的传输。例如,纹理存储器212可以被配置为通过输入数据总线211接收图像数据,并且显示块215可以通过输出数据总线216向显示系统发送像素值。
79.在特定实施例中,显示引擎210可以包括控制器块(未示出)。控制块可以通过一条或更多条数据总线从显示引擎210外部的控制器接收数据和控制包,例如位置数据和表面信息。例如,控制块可以从身体可穿戴计算系统接收输入流数据。输入数据流可以包括以30-90hz的主帧速率生成的一系列主帧图像。包括主帧图像的输入流数据可以被转换成所需的格式并存储在纹理存储器212中。在特定实施例中,控制块可以从身体可穿戴计算系统接收输入,并初始化显示引擎中的图形管线,以准备和最终确定用于在显示器上渲染的图像数据。数据和控制包可以包括与例如一个或更多个表面相关的信息,包括纹理元素数据、位置数据和附加渲染指令。控制块可以根据需要向显示引擎210的一个或更多个其他块分发数据。控制块可以启动图形管线来处理要显示的一个或更多个帧。在特定实施例中,用于两眼显示系统的图形管线可以各自包括控制块或共享相同的控制块。
80.在特定实施例中,变换块213可以确定在人工现实场景中将要显示的表面的初始可见性信息。一般来说,变换块213可以从屏幕上的像素定位投射光线,并产生要发送到像素块214的过滤命令(例如,基于双线性或其他类型的插值技术的过滤)。变换块213可以从用户的当前视点执行光线投射(例如,使用头戴装置的惯性测量单元、眼睛跟踪传感器和/或任何合适的跟踪/定位算法来确定,例如同时定位和映射(slam))到表面被定位的人工场景中,并且可以产生图块/表面对217以发送到像素块214。
81.在特定实施例中,变换块213可以包括如下四级管线。光线投射器可以发出对应于一个或更多个对齐的像素的阵列的光线束,该阵列称为图块(例如,每个图块可以包括16
×
16的对齐的像素)。根据一个或更多个失真网格(distortion mesh),光线束可以在进入人工现实场景之前被扭曲。失真网格可以被配置为校正至少源自眼睛显示系统和头戴装置系统的几何失真效果。通过将每个图块的边界框与表面的边界框进行比较,变换块213可以确定每条光线束是否与场景中的表面相交。如果光线束与对象不相交,它可能会被丢弃。在检测到图块-表面交点之后,相对应的图块/表面对可以被传递到像素块214。
82.在特定实施例中,像素块214可以基于图块-表面对来确定像素的颜色值或灰度值。每个像素的颜色值可以从接收并存储在纹理存储器212中的表面的纹理元素数据中采样。像素块214可以从变换块213接收图块-表面对,并且可以使用一个或更多个过滤器块来调度双线性过滤。对于每个图块-表面对,像素块214可以使用对应于投射的图块与表面相交之处的颜色值,采样图块内的像素的颜色信息。像素块214可以基于检索到的纹理元素(例如,使用双线性插值)来确定像素值。在特定实施例中,像素块214可以为每个像素单独处理红色分量、绿色分量和蓝色分量。在特定实施例中,显示器可以包括用于双眼显示系统的两个像素块。双眼显示系统的两个像素块可以独立工作并且彼此并行。像素块214然后可以将其颜色确定输出到显示块215。在特定实施例中,像素块214可以在两个或更多个表面具有重叠区域时将两个或更多个表面合成为一个表面。合成表面可能需要较少的计算资源(例如,计算单元、存储器、功率等)用于重采样过程。
83.在特定实施例中,显示块215可以从像素块214接收像素颜色值,将数据的格式转换为更适合显示器的扫描线输出,对像素颜色值应用一个或更多个亮度校正,并准备像素颜色值以输出到显示器。在特定实施例中,显示块215可以各自包括行缓冲器,并且可以处理和存储从像素块214接收的像素数据。像素数据可以被组织成四边形(例如,每个四边形2
×
2像素)和图块(例如,每个图块16
×
16像素)。显示块215可以将像素块214生成的图块顺序像素颜色值转换成物理显示器可能需要的扫描线或行顺序数据。亮度校正可以包括任何所需的亮度校正、伽马映射和抖动。显示块215可以将校正的像素颜色值直接输出到物理显示器(例如,瞳孔显示器)的驱动器,或者可以以各种格式将像素值输出到显示引擎210外部的块。例如,头戴装置系统的眼睛显示系统可以包括额外的硬件或软件,以进一步定制后端颜色处理,支持更宽的显示器接口,或者优化显示速度或保真度。
84.在特定实施例中,图形应用(例如,游戏、地图、内容提供应用等)可以构建场景图,该场景图与给定的视图位置和时间点一起用于生成图元以在gpu或显示引擎上渲染。场景图可以定义场景中对象之间的逻辑和/或空间关系。在特定实施例中,显示引擎210还可以生成并存储场景图,该场景图是完整应用场景图的简化形式。简化的场景图可用于指定表面之间的逻辑和/或空间关系(例如,由显示引擎210渲染的图元,诸如在3d空间中定义的四边形或轮廓,其具有基于由应用渲染的主帧生成的相对应的纹理)。存储场景图允许显示引擎210将场景渲染到多个显示帧,并针对当前视点(例如,头部定位)、当前对象定位(例如,它们可能相对于彼此移动)和每个显示帧改变的其他因素来调整场景图中的每个元素。此外,基于场景图,显示引擎210还可以针对显示子系统引入的几何和颜色失真进行调整,并且然后将对象合成在一起以生成帧。存储场景图允许显示引擎210近似以期望的高帧速率进行完全渲染的结果,而实际上以明显更低的速率运行gpu或显示引擎210。
85.图2b示出了用于生成显示图像数据的显示引擎210的示例图形管线200b。在特定实施例中,图形管线200b可以包括可见性步骤272,在该步骤中显示引擎210可以确定从身
体可穿戴计算系统接收的一个或更多个表面的可见性。可见性步骤272可以由显示引擎210的变换块(例如,图2a中的213)来执行。显示引擎210可以(例如,通过控制块或控制器)从身体可穿戴计算系统接收输入数据261。输入数据261可以包括一个或更多个表面、纹理元素数据、位置数据、rgb数据以及来自身体可穿戴计算系统的渲染指令。输入数据261可以包括每秒30-90帧的主帧图像(fps)。主帧图像可以具有例如每像素24位的色深。显示引擎210可以处理接收到的输入数据261并将其保存在纹理元素存储器212中。接收到的数据可以被传递到变换块213,变换块213可以确定要显示的表面的可见性信息。变换块213可以为屏幕上的像素定位投射光线,并产生要发送到像素块214的过滤命令(例如,基于双线性或其他类型的插值技术的过滤)。变换块213可以从用户的当前视点(例如,使用头戴装置的惯性测量单元、眼睛跟踪器和/或任何合适的跟踪/定位算法,例如同时定位和映射(slam)确定的当前视点)执行光线到表面被定位的人工场景中的投射,并产生要发送到像素块214的表面-图块对。
86.在特定实施例中,图形管线200b可以包括重采样步骤273,其中显示引擎210可以从图块-表面对确定颜色值以产生像素颜色值。重采样步骤273可以由显示引擎210的(图2a中的)像素块214执行。像素块214可以从变换块213接收图块-表面对,并且可以调度双线性过滤。对于每个图块-表面对,像素块214可以使用对应于投射的图块与表面相交之处的颜色值,采样图块内的像素的颜色信息。像素块214可以基于检索到的纹理元素(例如,使用双线性插值)确定像素值,并将确定的像素值输出到相应的显示块215。
87.在特定实施例中,图形管线200b可以包括弯曲步骤274、校正步骤275、串行化步骤276等。在特定实施例中,274、275和276的弯曲、校正和串行化步骤可以由显示引擎210的显示块(例如,图2a中的215)执行。显示引擎210可以混合用于显示内容渲染的显示内容,对像素颜色值应用一个或更多个亮度校正,串行化用于物理显示器的扫描线输出的像素值,并生成适合于投影仪的μled显示器的显示数据279。显示引擎210可以将显示数据279发送到投影仪的μled显示器。在特定实施例中,系统可以包括三个μled背板单元280a、280b和280c。280a、280b和280c的每个μled背板单元可以包括去串行化模块282、pwm控制和数据加载模块284以及μled矩阵286。从显示引擎210接收的显示数据279可以由去串行化模块282去串行化,由pwm控制和数据加载模块284加载,并由μled矩阵286显示。在特定实施例中,μled显示器可以以每秒1-2k个子帧的速度运行,每像素5位,并且可以每种颜色生成47gbps的数据流。子帧图像可以被抖动(例如,空间或/和时间抖动)以表示8位的色深或灰度。
88.图2c示出了使用主-子帧机制渲染显示内容的示例方案200c。在特定实施例中,系统可以采用主-子帧渲染机制来渲染显示内容。系统的显示引擎可以从显示引擎外部的控制器(例如,协调ar/vr系统的多个显示引擎的中央控制器或身体可穿戴计算系统等)加载包括一系列主帧图像的主帧图像数据。主帧图像可以以主帧速率(例如,30-90hz)生成并加载到显示引擎。显示引擎可以使用图形管线或局部变换操作(例如,2d频移、插值、将多个表面合成为单个表面)以高于主帧速率(例如,30-90hz)的子帧帧速率(例如,1-2khz)生成一系列子帧图像。显示引擎可以以子帧帧速率将子帧图像渲染给物理显示器。这种主-子帧渲染机制可以允许显示引擎以高子帧速率(例如,1-2khz)渲染显示内容,并且因此对用户的头部移动或眼睛移动更具有响应性(例如,更短的响应时间)。
89.作为示例而非限制,显示引擎可以将来自可穿戴计算系统的(在显示引擎外部的)
中央控制单元的图像数据加载到纹理元素存储器中,并基于主帧时钟信号220和子帧时钟信号230将显示内容渲染给物理显示器,如图2c所示。主帧时钟信号220可以包括周期性时间段,包括活动时间段222和非活动时间段224。在特定实施例中,主帧时钟信号220的活动时间段222可以具有在6ms到28ms范围内的长度,并且非活动时间段224可以具有大约5ms的长度。主帧图像数据可以在周期性主帧时钟信号220的非活动时间段224期间被更新或加载到显示引擎的纹理存储器中。
90.在被加载或更新到显示引擎中之后,主帧图像数据可以被存储在显示引擎的纹理存储器中。显示引擎可以使用图形管线(或一个或更多个局部化变换操作)来基于主帧图像数据生成物理显示器的显示数据。物理显示器的显示数据可以包括多个子帧图像,这些子帧图像可以基于子帧时钟信号230以1-2khz的子帧速率生成和渲染。子帧时钟信号230可以包括周期性时间段,包括对应于主帧时钟信号220的活动时间段222的活动时间段232和对应于主帧时钟信号220的非活动时间段224的非活动时间段234。包括子帧240的显示内容可以在活动时间段232期间以1-2khz的子帧速率(例如,每行更新185-270ns)渲染给物理显示器。在非活动时间段234期间,显示引擎可以不向物理显示器渲染任何子帧,但是可以执行其他操作,例如机械地调整变焦透镜,和/或一个或更多个局部变换操作,而不是向物理显示器渲染任何子帧。对于主-子帧渲染机制,显示引擎可以使用主帧速率来与上游模块(例如,可穿戴计算系统的中央控制单元)对接,以接收主帧图像,并以更高的子帧速率将子帧渲染到物理显示器。显示引擎可以重放多个帧,并对子帧执行变换或操作(例如,颜色校正),以生成具有更高亮度、更长持久性和/或改进的位深度的显示渲染结果。
91.在特定实施例中,系统可以生成并渲染具有高帧速率(例如,1-2khz)的子帧图像,以允许显示内容(例如,特定视角下的场景)非常响应用户的头部运动或眼睛运动。该系统可以使用一个或更多个眼睛跟踪传感器或/和头部运动跟踪传感器来确定用户的眼睛位置(例如凝视点)或/和头部位置。然后,系统可以根据最新的眼睛位置或/和头部位置(例如,基于用户的视点、视角或/和凝视点)来生成和渲染场景的新子帧。该系统可以使用包括一个或更多个过程的图形管线(例如,由变换块进行的图块/表面确定过程、由像素块进行的重采样过程、由显示块进行的混合、过滤、校正和串行化过程等)来生成子帧图像。因为子帧的高渲染帧速率(且因此渲染周期短),所以在生成场景的下一子帧之前,系统可以具有准确和最新(例如,实时或半实时)的眼睛位置信息(例如,凝视点)和/或头部位置信息。在特定实施例中,该系统可以利用这种准确和最新的眼睛位置信息或/和头部位置信息来生成用于中央凹渲染的中央凹子帧图像。该系统可以基于显示区域到用户的中央凹区域或凝视点的相对位置和距离来确定多个显示区域,并且在对应于不同显示区域的不同图像区域中生成具有可变分辨率的中央凹子帧图像。中央凹子帧图像在对应于用户的中央凹区域或凝视点的一个或更多个图像区域中可以具有高分辨率(例如,全分辨率),并且在远离用户的凝视点的图像区域中可以具有逐渐降低的分辨率。
92.图3a示出了用于为中央凹渲染确定具有不同渲染分辨率的显示区域的示例方案300a。在特定实施例中,系统可以基于用户的凝视点或眼睛位置将整个显示区域310分成不同的显示区域或区。该系统可以在对应于显示区域的不同图像区域中生成具有不同分辨率的子帧图像,并且在不同的显示区域中以不同的渲染分辨率渲染显示内容。作为示例而非限制,系统可以基于用户凝视点311来确定第一显示区域312。第一显示区域312可以是以凝
视点311为中心的矩形区域,覆盖整个显示区域的一部分(例如,10%、20%、25%、30%、50%、60%或任何合适的百分比)。可以基于由一个或更多个眼睛跟踪传感器测量的用户的眼睛位置来确定用户的凝视点。系统可以确定除第一显示区域312之外的第二显示区域313。换句话说,第二显示区域313可以覆盖可能与第一显示区域312覆盖的像素子集没有共享像素的像素子集。系统可以确定排除第一显示区域312和第二显示区域313的第三显示区域314(例如,覆盖可能与第一显示区域312和第二显示区域313覆盖的像素子集没有共享像素的像素子集)。第三显示区域314可以覆盖显示器的未被第一显示区域312和第二显示区域313覆盖的剩余区域。
93.值得注意的是,这里描述的第一、第二和第三显示区域的形状和尺寸是出于示例目的,并且显示区域不限于此。例如,显示区域可以是任何合适的形状(例如,矩形、正方形、圆形、多边形、定制形状、不规则形状、任意形状等),具有任何合适的尺寸(例如,整个显示区域的任何百分比)。作为示例而非限制,第一显示区域312可以具有整个显示区域310的1/4宽度和1/4高度。第二显示区域313可以具有整个显示区域310的1/2宽度和1/2高度。第三显示区域314可以覆盖整个显示区域310在第二显示区域313之外的剩余区域。作为另一示例而非限制,第一显示区域312可以具有整个显示区域310的1/8宽度和1/8高度。第二显示区域313可以具有整个显示区域310的1/4宽度和1/4高度。第三显示区域314可以覆盖整个显示区域310在第二显示区域313之外的剩余区域。
94.值得注意的是,第一、第二和第三显示区域的相对位置和尺寸是出于示例目的,并且显示区域不限于此。例如,在特定实施例中,第一显示区域312可以以凝视点311为中心。然而,在一些其他实施例中,第一显示区域312可以不以凝视点311为中心。凝视点311可以位于在第一显示区域311中的任何合适的位置(例如,中心位置、非中心位置、中心左侧的位置、中心右侧的位置、中心上方的位置、中心下方的位置、任意位置等)。作为另一个示例,在特定实施例中,第二显示区域313可以以第一显示区域312为中心或者/和以凝视点311为中心。然而,在一些其他实施例中,第二显示区域313可能不需要以第一显示区域312为中心或者以凝视点311为中心。第一显示区域312可以位于第二显示区域313中的任何合适的位置。第二显示区域313可以位于第三显示区域314中的任何合适的位置。
95.在特定实施例中,对应于用户中央凹区域的第一显示区域312可以基于用户凝视点或凝视方向的不确定度来确定。例如,系统可以确定具有10度不确定性的用户的凝视方向和具有
±
5度不确定性的用户的中央凹区域。系统可以确定第一显示区域312具有对应于用户视角
±
15度的全分辨率尺寸,并且在第一显示区域之外的其他显示区域中使用较低分辨率。值得注意的是,这里描述的三个显示区域是出于示例目的,并且显示区域划分不限于此。该系统可以以任何合适的方式将显示器分成任何数量的区域(例如,由网格图案划分的区域、共中心区域、由重叠形状定义的排他区域等)。例如,系统可以使用网格图案将整个显示区域划分成多个显示区域,并基于这些显示区域的相对位置或/和相对于用户凝视点的位置来确定每个显示区域的渲染分辨率。每个显示区域可以覆盖图块矩阵(例如,16个图块
×
16个图块),每个图块包含像素矩阵(例如,每个图块具有16个像素
×
16个像素)。显示区域的边缘位置可以被限制为某种对准(例如,16个像素)以简化实现方式。该系统可以在对应于显示区域的不同图像区域中生成具有不同分辨率的子帧图像,并且使用相对应的渲染分辨率在显示器的不同显示区域中渲染图像的不同部分。
96.在特定实施例中,系统可以在不同的显示区域中以不同的渲染分辨率渲染显示内容。对于对应于中央凹区域(用户的凝视被聚焦的地方)的显示区域,系统可以为红色、绿色和蓝色通道用全分辨率来计算和显示像素值。对于中央凹区域之外的显示区域,系统可以对一个或更多个颜色通道使用较低的分辨率,因为用户的眼睛在这些区域具有较低的灵敏度。该系统可以首先基于用户的凝视点确定显示器的两个或更多个显示区域,并为这些显示区域中的每一个确定渲染分辨率。每个显示区域的渲染分辨率可以取决于该显示区域到用户凝视点的距离。系统可以对离凝视点较远的显示区域使用逐渐降低的渲染分辨率。例如,系统可以在包含用户凝视点的显示区域中使用全渲染分辨率,并且在离用户凝视点较远的显示区域中使用较低的渲染分辨率。在特定实施例中,系统可以使用图形管线或一个或更多个局部变换操作来(例如,以1-2khz子帧速率)生成一系列中央凹子帧图像。跨越对应于显示器的显示区域的不同图像区域,每个中央凹子帧图像可以具有可变图像分辨率。该系统可以在显示器的不同显示区域中使用不同的渲染分辨率来渲染中央凹子帧图像。作为示例而非限制,系统可以分别在第一显示区域312、第二显示区域313和第三显示区域314中以第一分辨率、第二分辨率和第三分辨率渲染中央凹子帧图像的显示内容。第一分辨率可以是三个渲染分辨率中的最高分辨率(例如,显示器的全分辨率),并且第二和第三分辨率可以是低于第一分辨率的降低的分辨率。特别地,第三分辨率可以低于第二分辨率,并且第二分辨率可以低于第一分辨率。通过在一个或更多个显示区域中使用降低的渲染分辨率,系统可以减少与生成和渲染显示内容的过程相关的计算量和功耗。
97.图3b示出了红色、绿色和蓝色三个颜色通道的三个示例像素阵列(例如,320、330、340)。在特定实施例中,该系统可以具有具备三个颜色通道(例如,红色、绿色和蓝色)的显示器,并且该系统可以对相应颜色通道的一个或更多个色度的像素进行子采样。换句话说,系统可以允许不同颜色通道的像素具有不同于其他颜色通道的采样分辨率。系统可以使用图形管线的重采样过程来分别确定红色、绿色和蓝色通道的灰度值。同一像素的红色、绿色和蓝色通道的灰度值可以彼此独立地确定。在特定实施例中,该系统可以生成和渲染对于不同颜色通道(例如,红色、绿色、蓝色)的像素具有不同采样分辨率的中央凹图像。在显示区域或图像区域内,当基于与用户中央凹区域的距离处理屏幕的不同部分时,系统可以允许红色、绿色和蓝色通道的像素具有不同的采样分辨率(例如,彼此的2次幂)。作为示例而非限制,在对应于显示区域的图像区域内,系统可以允许绿色通道的像素具有全采样分辨率,并且允许红色和蓝色通道的像素具有半采样分辨率。作为另一个例子,在对应于显示区域的图像区域内,系统可以允许绿色通道的像素具有半采样分辨率,并且允许红色和绿色通道的像素具有四分之一采样分辨率。值得注意的是,在本公开中,图像或显示器的分辨率可以由图像或显示器的像素数或每单位面积的像素数来描述。多个像素(例如,彩色通道的2d阵列中的像素)的采样分辨率可以通过其灰度值被独立计算的像素的百分比来描述,或者通过独立计算的灰度值对其灰度值基于独立计算的灰度值被确定的相对应的像素的总数的比率来描述。渲染分辨率可以指用于渲染显示区域中的一部分图像的分辨率,并且渲染分辨率可以对应于被渲染的相对应的图像部分的采样分辨率。
98.在特定实施例中,系统可以对一个或更多个显示区域内的一个或更多个颜色通道的像素使用全采样分辨率或降低的采样分辨率。在特定实施例中,全采样分辨率可以对应于显示器的全像素分辨率,并且降低的采样分辨率可以是从全采样分辨率降低2的幂的子
采样分辨率(即,全采样分辨率的1/2n,其中n可以是任何合适的整数)。例如,降低的采样分辨率可以是全采样分辨率的1/2、1/4、1/8、1/16等。对于是全采样分辨率的1/2n的采样分辨率,系统可以独立地确定包含n
×
n个像素的每个像素组的灰度值。值得注意的是,彼此为2的幂的采样分辨率是出于示例目的,并且采样分辨率不限于此。不同颜色通道或/和不同显示区域的采样分辨率可以彼此之间具有任何合适整数的幂的关系。
99.在特定实施例中,对于具有全采样分辨率的2d像素阵列,系统可以(例如,使用图形管线的重采样过程)独立地确定2d像素阵列的每个像素的颜色值或灰度值。作为示例而非限制,当绿色像素阵列320具有全采样分辨率时,系统可以独立地为绿色像素阵列320内的16个像素中的每一个确定灰度值。在特定实施例中,对于具有半采样分辨率的2d像素阵列,系统可以独立地确定(例如,使用图形管线的重采样过程)2d像素阵列的每个2
×
2像素子阵列(例如,沿着垂直方向的两个像素和沿着水平方向的两个像素)的颜色值或灰度值。该系统可以使用复制或插值过程(例如,通过显示引擎的显示块或通过显示系统内的一个或更多个控制器)来确定每个像素子阵列内的像素的相应灰度值。复制或插值过程可以由显示块在亮度校正和抖动过程之前执行,或者由显示系统的一个或更多个控制器执行。复制和插值过程可能需要比管线过程(例如,图块/表面对确定过程、重采样过程、过滤过程等)更少的计算资源和消耗更少的功率。结果,系统可以通过仅独立计算2d阵列中像素数量的灰度值的四分之一来减少计算资源使用和功耗。作为示例而非限制,当红色像素阵列330具有半采样分辨率时,系统可以独立地确定2
×
2像素子阵列中的每一个的灰度值,该2
×
2像素子阵列包括:包括像素[0,0],[0,1],[1,0]和[1,1]的第一像素子阵列、包括像素[0,2],[0,3],[1,2]和[1,3]的第二像素子阵列、包括像素[2,0],[2,1]、[3,0],和[3,1]的第三像素子阵列,以及包括像素[2,2],[2,3],[3,2]和[3,3]的第四像素子阵列。因此,系统可能只需要为2d像素阵列中的16个像素计算四个独立的灰度值。
[0100]
在特定实施例中,对于具有四分之一采样分辨率的2d像素阵列,系统可以(例如,使用图形管线的重采样过程)独立地确定2d像素阵列的每个4
×
4像素子阵列(例如,沿着垂直方向的四个像素和沿着水平方向的四个像素)的颜色值或灰度值。该系统可以使用(例如,通过显示引擎的显示块或通过显示系统内的一个或更多个控制器进行的)复制或插值过程来确定每个像素子阵列内的像素的相应灰度值。因此,系统可能只需要计算2d阵列中像素数量的灰度值的1/16。作为示例而非限制,当蓝色像素阵列340具有四分之一采样分辨率时,系统可以独立地确定包括蓝色像素阵列340中所有16个像素的4
×
4像素组的灰度值。16个像素的灰度值可以通过复制相同的灰度值或对独立确定的多个灰度值插值来确定。因此,系统可能只需要为2d阵列中的16个像素独立计算一个灰度值。值得注意的是,半采样分辨率和四分之一采样分辨率是示例性的,并且降低的采样分辨率不限于此。不同颜色通道或/和不同显示区域的降低的采样分辨率可以与全采样分辨率具有一定关系,且彼此具有任何合适整数的幂的关系(即,全采样分辨率的1/mn,其中m和n可以是任何合适的整数)。
[0101]
在特定实施例中,系统可以使用对于不同颜色通道具有不同像素大小的显示器(例如,μled显示器)。例如,系统可以使用μled显示器,其红色像素和蓝色像素是绿色像素的两倍大(面积的四倍)。显示区域中红色、绿色和蓝色像素的数量可以具有1∶4∶1的比率,每个红色像素和每个蓝色像素对应于四个绿色像素。在特定实施例中,该系统可以使用对于三个颜色通道具有相同像素大小并且对于每个颜色通道具有相同像素数量的显示器(例
如,在显示区域中红色、绿色和蓝色像素的比例是1∶1∶1)。在特定实施例中,系统可以使用对于三个颜色通道具有相同像素尺寸但对于不同颜色通道具有不同像素数量的显示器(例如,在显示区域中红色、绿色和蓝色像素的数量比例为1∶2∶1)。值得注意的是,本公开中描述的系统和方法不依赖于显示器的类型,并且适用于任何类型的显示器,包括例如但不限于μled显示器、oled显示器、amled显示器、lcd显示器、led显示器,或者具有任何像素尺寸和/或不同颜色通道的像素数量的任何比率的任何合适的显示器。值得注意的是,本公开中描述的系统和方法不限于具有rgb颜色通道的显示器。例如,在特定实施例中,该系统可以具有显示器,该显示器具有黑色和白色亮度通道以及用于颜色信息的两个其他通道,利用了人类感知颜色不如亮度精确的优点。可以在水平或/和垂直方向上对一个或更多个颜色通道或亮度通道进行子采样。本公开中描述的系统和方法也适用于这种类型的显示器。
[0102]
图3c示出了用于确定不同颜色通道和不同显示区域的采样分辨率的示例方案300c。在特定实施例中,系统可以基于显示区域的相对位置或/和到用户凝视点的距离来确定多个显示区域和这些区域的多个逐渐降低的渲染分辨率。如在本公开的前面部分中所讨论的,系统可以允许不同的颜色通道具有不同的采样分辨率。不同颜色通道的采样分辨率可以是独立的或彼此相关的(例如,2的幂)。在特定实施例中,系统可以具有红色和蓝色像素比绿色像素具有更大尺寸(例如,尺寸是绿色像素的两倍,面积是绿色像素的四倍)的显示器。显示区域中红色、绿色和蓝色像素的数量可以具有1∶4∶1的比率,每个红色像素和每个蓝色像素对应于四个绿色像素。在特定实施例中,该系统可以具有显示器,该显示器可以具有相同尺寸的红色、绿色和蓝色像素,但是具有比红色或蓝色像素更多的绿色像素(例如,rgb像素的数量比可以是1:2:1)。显示器的绿色像素可以比红色或蓝色像素照亮更大百分比的光密度(例如,70-80%)。在特定实施例中,该系统可以具有显示器,该显示器可以具有相同尺寸的红色、绿色和蓝色像素,并且具有相同数量的绿色、红色或蓝色像素(例如,rgb像素的数量比可以是1:1:1)。在特定实施例中,系统可以对绿色通道使用比红色和蓝色通道相对更高的采样分辨率。然而,值得注意的是,本公开中描述的系统和方法适用于具有任何像素尺寸和任何数量的不同颜色通道的像素的任何类型的显示器。
[0103]
作为示例而非限制,系统可以确定对应于用户凝视点(例如,凝视点居中或包含凝视点)的第一显示区域,并确定均具有到凝视点更长距离的第二显示区域、第三显示区域和第四显示区域。对于对应于用户凝视聚焦的中央凹区域的第一显示区域,系统可以使用全采样分辨率,并为每个颜色通道的每个像素计算独立的灰度值。第一显示区域中的全采样分辨率可以允许该区域中的显示内容具有清晰的边缘,并且能够清楚地看到该区域中的显示内容。对于其他显示区域,系统可以使用降低的采样分辨率,因为用户在这些区域可能没有那么敏锐。
[0104]
作为另一个例子,对于第二显示区域,系统可以对绿色通道使用全采样分辨率,以及对红色和蓝色通道都使用半采样分辨率。结果,对于该显示区域的三个颜色通道的所有像素,系统可能只需要独立计算该区域中像素总数的一半的灰度值(相对应的计算减少率为1/2)。例如,参考图3b中的像素阵列320、330和340,当绿色通道具有全采样分辨率并且红色和蓝色通道具有半采样分辨率时,对于绿色、红色和蓝色的颜色通道,需要独立计算的灰度值的数量可以分别是16、4和4,总共有24个独立的灰度值,这是三个像素阵列320、330和340的全部48个像素的1/2。
[0105]
作为又一示例,对于第三显示区域,系统可以对绿色、红色和蓝色的所有三个颜色通道使用半采样分辨率。结果,对于该区域中所有三个颜色通道中的所有像素,系统可能只需要独立计算该区域像素总数的1/4的灰度值(对应的计算减少率为1/4)。例如,参考图3b中的像素阵列320、330和340,当所有三个颜色通道都具有半采样分辨率时,对于绿色、红色和蓝色的颜色通道,需要独立计算的灰度值的数量可以分别是4、4和4。独立灰度值的总数可以是12,这是三个像素阵列320、330和340中所有48个像素的1/4。
[0106]
作为又一示例,对于第四显示区域,系统可以对绿色通道使用半采样分辨率,并且可以对红色和蓝色通道使用四分之一采样分辨率。结果,对于该区域的所有三个颜色通道中的所有像素,系统可能只需要独立计算该区域中像素总数的1/8的灰度值(对应的计算减少率为1/8)。例如,参考图3b中的像素阵列320、330和340,当绿色通道具有半采样分辨率并且蓝色和红色通道具有四分之一采样分辨率时,对于绿色、红色和蓝色通道,需要独立计算的灰度值的数量可以分别是4、1和1。独立灰度值的总数可以是6,这是三个像素阵列320、330和340中所有48个像素的1/8。结果,系统可以减少用于生成具有降低的采样分辨率的图像区域的计算量。值得注意的是,这里描述的采样分辨率方案是出于示例目的,并且采样分辨率的确定不限于此。例如,系统可以对三个颜色通道使用任何采样分辨率的任何合适的组合。值得注意的是,不同颜色通道的不同采样分辨率的关系并不局限于彼此之间为2的幂的关系。它可以是任何合适整数的幂。
[0107]
在特定实施例中,系统可以确定特定尺寸的多个显示区域,用于以不同的渲染分辨率渲染显示内容。作为示例而非限制,参考图3a,系统可以确定第一显示区域312,其是全显示尺寸310的四分之一(全显示的1/4宽度和1/4高度),并且覆盖全显示面积的1/16。系统可以确定除第一显示区域312之外的第二显示区域313。第二显示区域可以对应于矩形形状(不包括第一显示区域312),其是整个显示尺寸的一半(整个显示器的1/2宽度和1/2高度,覆盖整个显示区域的1/4)。系统可以确定第三显示区域314,其包括整个显示区域的剩余区域并覆盖整个显示区域的3/4。在特定实施例中,整个显示区域可以具有2560像素乘1792像素的分辨率。第一显示区域312可以近似以用户的凝视点311为中心(例如,第一显示区域的中心在到用户的凝视点311的阈值距离内)。显示区域的边缘位置可以被限制为某种对齐(例如,16个像素)以简化实现方式。
[0108]
图3d示出了示例方案300d,其针对不同的颜色通道和不同的显示区域使用不同的采样分辨率来减少计算量。在特定实施例中,第一显示区域可以具有全采样分辨率的所有三个颜色通道。系统可以独立地计算该显示区域中每个颜色通道的每个像素的灰度值。第二显示区域可以对绿色通道使用全采样分辨率,并对红色和蓝色通道使用半采样分辨率。如本公开的前面部分所述,系统可能只需要独立计算该区域中像素总数的1/2的灰度值(计算减少率为1/2)。因为第二显示区域覆盖整个显示区域的3/16,所以系统对于第二显示区域可能只需要独立地计算显示器总像素的3/32的灰度值(例如,由第二显示区域贡献的显示器总像素的3/16到3/32的计算减少)。第三显示区域可以对所有三个颜色通道使用半采样分辨率。如本公开的前面部分所述,系统可能只需要独立计算该区域中像素总数的1/4的灰度值(计算减少率为1/4)。因为第三显示区域覆盖整个显示区域的3/4,所以系统对于第二显示区域可能只需要独立地计算显示器总像素的3/16的灰度值(例如,由第三显示区域贡献的显示器总像素的计算从3/4减少到3/16)。结果,通过使用该示例方案,系统可以具有
11/32(即,1/16 3/32 3/16)的计算减少率,或者计算减少到像素处理的大约3:1的减少率。因此,系统可能只需要大约1/3的总线带宽来将显示数据传输到显示背板。
[0109]
在特定实施例中,系统可以通过对第一显示区域使用较小的区域(其可以具有相对较高的采样分辨率,例如全采样分辨率)和/或通过在其他显示区域使用更低的采样分辨率来进一步减少用于确定像素值的计算。作为示例而非限制,系统可以使用具有全显示尺寸的1/5宽度和1/5高度的第一显示区域(即,全显示面积的1/25面积)。作为另一个例子,系统可以使用具有全显示尺寸的1/6宽度和1/6高度的第一显示区域(即,全显示面积的1/36面积)。作为另一个例子,系统可以使用具有全显示尺寸的1/8宽度和1/8高度的第一显示区域(即,全显示面积的1/64面积)。值得注意的是,这里描述的第一显示区域的尺寸是出于示例目的,并且第一显示区域的尺寸不限于此,并且可以是任何合适的尺寸。
[0110]
在特定实施例中,系统可以通过在一个或更多个显示区域中使用更低的采样分辨率来进一步减少用于确定像素值的计算量。作为示例而非限制,在第三显示区域中,系统可以对绿色通道使用半分辨率,并且对红色和蓝色通道使用四分之一分辨率。对于第三显示区域,系统可能只需要独立计算显示器总像素的3/32(即1/8
×
3/4)的灰度值。对于如图3d所示的具有相同尺寸和采样分辨率的其他区域,系统可以具有7/32(即,1/16 3/32 3/32=7/32)或对于显示器的所有像素大约1/4的总计算减少率。
[0111]
在特定实施例中,系统可以通过在一个或更多个显示区域中使用具有降低的渲染分辨率的中央凹渲染来降低数据总线上的最坏情况扫描线带宽(或每行的峰值带宽)。例如,对于使用图3d所示方案的如图3a所示的显示区域,第一显示区域可以具有全采样分辨率的所有三个颜色通道,且因此具有全像素密度。第二显示区域对于绿色通道可以具有全采样分辨率,而对于红色和蓝色通道可以具有半采样分辨率,且因此具有1/2像素密度。第三显示区域对于所有三个颜色通道可以具有半采样分辨率,且因此具有1/4像素密度。与第一显示区域相交的任何行可以具有落在具有全像素密度的第一显示区域中的该行的1/4像素,落在具有1/2像素密度的第二显示区域中的该行的1/4像素,以及落在具有1/4像素密度的第三显示区域中的该行的1/2像素。结果,与整个显示器的全分辨率渲染相比,与所有三个显示区域相交的行的最坏情况扫描线带宽可以具有1/2的减少率(或2:1压缩率),该减少率由1/2=1/4
×
1 1/2
×
1/4 1/4
×
1/2(即,像素密度之和
×
行的像素数量百分比)确定。因此,对于该示例,数据总线上每行的峰值带宽可以是相同的2:1的减少率。
[0112]
在特定实施例中,系统可以在不同的图像区域中生成一系列具有可变分辨率的中央凹子帧图像,用于中央凹渲染。与生成全分辨率子帧图像相比,生成中央凹子帧图像可以使用更少的计算资源和消耗更少的功率。例如,对于具有较低分辨率的图像区域,系统可以在由变换块进行的图块/表面对确定过程期间投射较少的光线,并因此降低功耗和计算资源使用。作为另一个例子,对于具有较低分辨率的图像区域,图形管线可以在像素块的重采样过程期间针对较少数量的像素进行计算,并且因此减少功耗和计算资源的使用。作为另一个例子,对于中央凹子帧图像,系统可以在显示块的混合、校正、串行化处理期间处理更大的显示区域(例如,更大数量的像素或像素图块),并且因此减少功耗和计算资源的使用。作为另一个例子,为了生成具有降低的采样分辨率的图像区域,系统可以访问具有较低分辨率的源数据(例如,具有较低分辨率或较大尺寸的mip地图纹理数据),并且因此执行较少的存储器读取来访问纹理数据。此外,通过使用中央凹子帧图像,系统可能需要更少的数据
变换带宽来通过数据总线(其可能具有有限的带宽)将像素值传输到显示器。
[0113]
图4a-4d示出了一个示例框架,该框架允许系统通过降低一个或更多个图像区域中的采样分辨率,使用相同的计算资源来处理更多数量的像素图块。作为示例而非限制,系统可能需要处理包括4
×
4像素图块(例如,图块411、图块412、图块413、图块414、图块421、图块422、图块423、图块424、图块431、图块432、图块433、图块434、图块441、图块442、图块443、图块444)的图块阵列400a中的像素。每个图块可以包括任何合适尺寸的像素阵列(即,n
×
n像素阵列,其中n可以是任何整数),例如,4
×
4像素阵列、16
×
16像素阵列、64
×
64像素阵列等。在特定实施例中,每个像素图块可以对应于包括红色、绿色和蓝色通道的三个子色度像素的单个像素。对于该示例,红色、绿色和蓝色通道的子色度像素可以具有1∶1∶1的数量比或/和相同像素尺寸,并且每个图块(例如,图块411、图块412、图块421、图块422)可以包括16
×
16像素阵列(例如,如图3b所示的三个颜色通道的三个像素阵列320、330、340的组合)。
[0114]
在特定实施例中,为了生成全分辨率图像区域(例如,对应于用户的中央凹区域或凝视点的区域),系统可以使用由图4b的方案400b的块410、420和430表示的一组计算资源(例如,存储器、缓冲器、高速缓存、计算单元、过滤器、具有特定带宽的数据总线或任何图像处理资源)来处理像素图块阵列400a中的像素图块。在特定实施例中,每个块可以专用于颜色通道的像素图块,并且同时处理(该颜色通道的)四个像素图块。例如,块410可以专用于绿色通道,并且同时处理四个绿色图块411g、412g、421g和422g。类似地,块420可以专用于红色通道,并且同时处理四个红色图块411r、412r、421r和422r。块430可以专用于蓝色通道,并且同时处理四个蓝色图块411b、412b、421b和422b。结果,由410、420和430的三个块表示的计算资源组可以同时处理覆盖一部分图像(例如,在图4a的图像区域401中)的四个像素图块。相应地,系统可以通过相应的数据总线(例如,数据总线491、492和493)访问存储器,以检索由每个块上同时处理的像素图块所确定的具有特定带宽的数据量。
[0115]
在特定实施例中,为了生成具有降低的采样分辨率的分辨率图像区域(例如,对于用户中央凹区域之外的区域),系统可以使用由块410、块420和块430表示的同一组计算资源(例如,存储器、缓冲器、高速缓存、计算单元、过滤器、具有特定带宽的数据总线或任何图像处理资源)来同时处理更大的图像区域。例如,对于绿色通道具有全采样分辨率而对于红色和蓝色通道具有半采样分辨率的图像区域,系统可能需要对于绿色通道的每四个像素对于红色或蓝色通道的每个像素独立计算灰度值。换句话说,红色、绿色和蓝色通道的子色度像素可以具有1∶4∶1的数量比。该系统可以优化用于处理像素图块的资源的使用,如图4d所示。例如,块410和420可以专用于绿色通道,并且同时处理八个绿色图块411g、412g、413g、414g、421g、422g、423g和424g。块430可用于处理红色和绿色通道,并同时处理两个绿色图块411r和413r和两个红色图块411r和413r。结果,由图4d中的方案400d的三个块410、420和430表示的计算资源组可以同时处理(在图4c中的图块阵列400c中的)图像区域402,该图像区域402是如图4a所示的图块阵列400a上的图像区域401的两倍大。相应地,为了生成或处理相同尺寸的图像区域,系统可能需要来自相应数据总线(例如,数据总线491、492和493)的更少带宽,并且在图像生成或处理过程中检索更少量的数据。因此,由于减少了存储器读取和数据处理,系统可以在给定的时钟周期中使用与处理全分辨率图像相同量的计算资源来处理更大的图像区域(例如,更大数量的像素或像素图块),因此提高了系统性能的效率。
[0116]
值得注意的是,如图4a-4d所示的框架不限于任何特定的计算资源。例如,块410、420和430可以表示计算单元、存储器、过滤器、缓冲器、高速缓存、数据总线带宽或任何合适的资源。作为另一个例子,像素图块和相对应的处理块的排列可以是任意排列,允许相同的块尺寸托管或/和处理更多的像素图块(例如,在子采样之前两倍多的像素)。通过在一个或更多个图像区域中使用具有降低的分辨率的中央凹渲染,系统可以使用相同数量的计算资源来处理更大的图像区域,并且因此为图像渲染过程消耗更少的功率和时间。此外,生成或处理具有降低的采样分辨率的图像区域,系统可以使用更低分辨率的纹理数据,并且具有更少的纹理存储器读取操作,因此进一步降低了功耗。例如,考虑对于绿色通道具有全分辨率而对于红色和蓝色具有半分辨率的区域,系统可以访问绿色的全分辨率源数据,并为每个像素计算单独的值,该值将被发送到显示背板。但是,对于红色和蓝色,系统可以访问四分之一分辨率的源数据,并为每2
×
2个像素计算一个值。这些值将被分别发送到显示背板,显示背板可以将它们复制成2
×
2的显示像素。因此,该方法不仅减少了较低分辨率子色度像素所需的存储器存储、存储器访问和处理时间,还减少了从显示块到驱动显示器的背板的数据总线上的带宽。
[0117]
图5a-5c示出了用于确定像素子阵列内的像素的灰度值的示例复制过程和插值过程。图5a示出了具有半采样分辨率的示例像素阵列。系统可以为像素阵列510中的每个2
×
2像素子阵列独立地计算灰度值,如图5a所示,其中实心点表示具有独立计算的灰度值的像素,而空心点表示其灰度值不是独立计算(并且将由复制或插值过程确定)的像素。例如,系统可以独立地计算相应的2
×
2像素子阵列的像素[0,0],[0,2],[2,0]和[2,2]的灰度值。然后,系统可以使用复制过程或插值过程来确定相应的2
×
2像素子阵列内的每个像素的像素值。图5b示出了用于确定子阵列511内所有像素的灰度值的示例复制过程。系统可以复制像素[0,0]的灰度值,并对像素[0,1],[1,0]和[1,1]使用相同的值。图5c示出了用于确定子阵列515内所有像素的灰度值的示例插值过程。例如,系统可以通过分别插值[0,0]和[2,0],[0,0]和[0,2],[0,2]和[2,2]以及[2,0]和[2,2]的像素对的灰度值来确定像素[1,0],[0,1],[1,2]和[2,1]的灰度值。作为另一个例子,系统可以通过插值像素[0,0],[0,2],[2,0]和[2,2]的任何适当组合来确定像素[1,1]的灰度值。值得注意的是,像素阵列510中的像素可以是任何颜色通道的像素。值得注意的是,这里所示的复制过程和插值过程是出于示例目的,并且复制过程和插值过程不限于此。例如,复制过程可用于确定任何尺寸的任何子阵列的像素的灰度值。作为另一个例子,插值过程可以基于任何数量的相关像素(不限于两个像素)。作为另一个例子,插值过程可以基于加权平均计算,以保持图像的一个或更多个部分的平均亮度。结果,系统可以基于来自中央凹视角的灰度值选择性地确定和渲染图像的复制区域,并减少与渲染过程相关的计算量。
[0118]
在特定实施例中,复制过程或/和插值过程可以在亮度校正和抖动过程之前由显示引擎的显示块执行。在特定实施例中,复制过程和/或插值过程可以在像素数据被传输到显示器之后由显示系统(例如,由显示器的一个或更多个控制器)执行。例如,系统可以将具有降低的采样分辨率的像素值发送到显示系统(其需要更少的数据总线带宽用于传输)并发送定位信息(例如,与相应物理像素相关联的子阵列或像素定位),用于将相同或单独的数据流(例如,边信道)中的对应像素值映射到显示器(或者将传输的每个图块的像素密度映射到物理像素阵列)像素值数据。该系统可以包括显示系统(例如led显示器或μled显示
器),该显示系统可以包括用于执行复制和插值操作的驱动逻辑或控制器。通过使用复制过程或/和重复过程,系统可以将由于中央凹渲染而导致的计算资源节省和功率节省扩展到下游渲染管线。
[0119]
在特定实施例中,系统可以保持中央凹图像的一个或更多个部分中的对比度和/或平均亮度。在特定实施例中,系统可以预处理源数据(例如,mip地图纹理数据)并且以连续降低的分辨率访问源数据,用于生成中央凹图像以保持对比度和/或平均亮度。在特定实施例中,系统可以在将像素值发送到显示器背板之前,在保持对比度或/和平均亮度之前,对计算的像素值应用锐度过滤器。在这种情况下,可能不需要对具有全采样分辨率的像素进行过滤,而只需要对采样分辨率降低的像素进行过滤。例如,对于如图3a所示的显示区域和如图3d所示的采样分辨率方案,第一显示区域中的像素和第二显示区域的绿色通道的像素可能不需要被过滤,因为它们具有全采样分辨率。可能需要过滤第二显示区域的红色和蓝色通道的像素以及第三显示区域的所有像素,以保持对应的像素的对比度和平均亮度。
[0120]
图6示出了用于中央凹渲染的示例方法600。方法600可以在步骤610开始,在该步骤中计算系统可以访问以第一帧速率(例如,30-90hz的主帧速率)生成的第一渲染帧(例如,主帧图像)。在步骤620,系统可以基于第一渲染帧,以高于第一帧速率的第二帧速率生成子帧。子帧中的第一子帧可以通过以下方式生成:基于传感器数据确定用户的观看方向;基于所述观看方向,确定至少包含用户的中央凹焦点(例如,凝视点)的第一观看区域和除第一观看区域之外的第二观看区域;对于第一子帧,使用第一采样分辨率确定对应于第一观看区域的颜色值,并且使用低于第一采样分辨率的第二采样分辨率确定对应于第二观看区域的颜色值。在步骤630,系统可以以第二帧速率输出子帧用于显示。
[0121]
在特定实施例中,系统可以使用至少包括变换块和像素块的图形管线来生成第一子帧。该系统可以使用变换块通过向多个表面投射多条光线以确定图块和表面之间的交点来确定多个图块-表面对。系统可以使用像素块基于多个图块-表面对来确定对应于第一观看区域和第二观看区域的颜色值。在特定实施例中,与对应于第一观看区域(与第一采样分辨率相关联)的颜色值相比,变换块可以投射更少的光线来确定对应于第二观看区域(与第二采样分辨率相关联)的颜色值。在特定实施例中,系统可以通过像素块,通过使用第一采样分辨率对第一组表面进行采样,来确定对应于第一观看区域的颜色值。该系统可以通过像素块,通过使用第二采样分辨率对第二组表面进行采样,来确定对应于第二观看区域的颜色值。像素块可以执行比确定对应于第一观看区域的颜色值更少的计算量来确定对应于第二样本观看区域的颜色值。
[0122]
在特定实施例中,对应于第二观看区域的一组像素的第一颜色通道可以与第二采样分辨率相关联。对应于第二观看区域的一组像素的第二颜色通道可以与不同于第二采样分辨率的第三采样分辨率相关联。在特定实施例中,系统可以独立地确定对应于第二观看区域的一组像素的第一颜色通道的每个n
×
n像素阵列的灰度值,其中n的值可以基于第二采样分辨率来确定。在特定实施例中,系统可以独立地确定对应于第二观看区域的一组像素的第二颜色通道的每m
×
m个像素的灰度值,其中m的值可以基于与第二颜色通道相关联的第三分辨率来确定。在特定实施例中,第一颜色通道的第二采样分辨率和第二颜色通道的第三采样分辨率可以具有2的幂的关系。在特定实施例中,系统可以基于可以由显示系统执行的复制过程来确定n
×
n像素阵列内的每个像素的灰度值。在特定实施例中,系统可以
基于在亮度校正过程和抖动过程之前由图形管线的显示块执行的插值过程来确定n
×
n像素阵列内的每个像素的灰度值。
[0123]
在特定实施例中,系统可以确定除第一观看区域和第二观看区域之外的第三观看区域。第一观看区域、第二观看区域和第三观看区域的相应的颜色值可以基于逐渐降低的采样分辨率来确定。在特定实施例中,系统可以基于源数据生成第一子帧。系统可以以连续降低的分辨率预处理源数据以生成第一子帧,并且在生成第一子帧的同时以连续降低的分辨率访问源数据。在特定实施例中,系统可以对对应于第二观看区域的多个像素应用锐度过滤器,以保持与第二观看区域中的一个或更多个对象相关联的一个或更多个边缘上的对比度水平。在特定实施例中,系统可以对第二观看区域中的第一子帧的多个像素应用锐度过滤器,以保持第二观看区域中的平均亮度。在特定实施例中,第一帧速率可以在30-90hz的第一范围内,以及第二帧速率可以在1-2khz的第二范围内。
[0124]
在适当的情况下,特定实施例可以重复图6的方法的一个或更多个步骤。尽管本公开描述并示出了以特定顺序发生的图6的方法的特定步骤,但是本公开设想了以任何合适的顺序发生的图6的方法的任何合适的步骤。此外,尽管本公开描述并示出了包括图6的方法的特定步骤的用于中央凹渲染的示例方法,但是本公开设想了用于中央凹渲染的任何合适的方法,包括任何合适的步骤,在适当的情况下,其可以包括图6的方法的所有、一些或没有这些步骤。此外,尽管本公开描述并示出了执行图6的方法的特定步骤的特定部件、设备或系统,但是本公开设想了执行图6的方法的任何合适步骤的任何合适的部件、设备或系统的任何合适的组合。
[0125]
图7示出了示例计算机系统700。在特定实施例中,一个或更多个计算机系统700执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统700提供本文描述或示出的功能。在特定实施例中,在一个或更多个计算机系统700上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统700的一个或更多个部分。在本文,在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或更多个计算机系统。
[0126]
本公开设想了任何合适数量的计算机系统700。本公开设想了采取任何合适的物理形式的计算机系统700。作为示例而不是作为限制,计算机系统700可以是嵌入式计算机系统、片上系统(soc)、单板计算机系统(sbc)(例如,模块上计算机(com)或模块上系统(som))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网状网、移动电话、个人数字助理(pda)、服务器、平板计算机系统、增强/虚拟现实设备、或者这些系统的两个或更多个的组合。在适当的情况下,计算机系统700可以包括一个或更多个计算机系统700;是整体式的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,云可以包括在一个或更多个网络中的一个或更多个云部件。在适当的情况下,一个或更多个计算机系统700可以在没有实质性空间或时间限制的情况下执行本文描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而不是作为限制,一个或更多个计算机系统700可以实时地或以批处理模式来执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当的情况下,一个或更多个计算机系统700可以在不同的时间或在不同的位置处执行本文描述或示出的一个或更多个方法的一个或更多个步骤。
[0127]
在特定实施例中,计算机系统700包括处理器702、存储器704、存储装置706、输入/输出(i/o)接口708、通信接口710和总线712。尽管本公开描述并示出了具有在特定布置中的特定数量的特定部件的特定计算机系统,但是本公开设想了具有在任何合适布置中的任何合适数量的任何合适部件的任何合适的计算机系统。
[0128]
在特定实施例中,处理器702包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器702可以从内部寄存器、内部高速缓存、存储器704或存储装置706中检索(或取回)指令;将它们解码并执行它们;以及然后将一个或更多个结果写到内部寄存器、内部高速缓存、存储器704或存储装置706。在特定实施例中,处理器702可以包括用于数据、指令或地址的一个或更多个内部高速缓存。在适当的情况下,本公开设想了处理器702包括任何合适数量的任何合适的内部高速缓存。作为示例而不是作为限制,处理器702可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存、以及一个或更多个转译后备缓冲器(tlb)。在指令高速缓存中的指令可以是在存储器704或存储装置706中的指令的副本,并且指令高速缓存可以加速处理器702对那些指令的检索。在数据高速缓存中的数据可以是:在存储器704或存储装置706中的数据的副本,用于使在处理器702处执行的指令进行操作;在处理器702处执行的先前指令的结果,用于由在处理器702处执行的后续指令访问或者用于写到存储器704或存储装置706;或其他合适的数据。数据高速缓存可以加速由处理器702进行的读或写操作。tlb可以加速关于处理器702的虚拟地址转译。在特定实施例中,处理器702可以包括用于数据、指令或地址的一个或更多个内部寄存器。在适当的情况下,本公开设想了处理器702包括任何合适数量的任何合适的内部寄存器。在适当的情况下,处理器702可以包括一个或更多个算术逻辑单元(alu);是多核处理器;或者包括一个或更多个处理器702。尽管本公开描述并示出了特定的处理器,但是本公开设想了任何合适的处理器。
[0129]
在特定实施例中,存储器704包括用于存储用于使处理器702执行的指令或用于使处理器702操作的数据的主存储器。作为示例而不是作为限制,计算机系统700可以将指令从存储装置706或另一个源(诸如例如,另一个计算机系统700)加载到存储器704。处理器702然后可以将指令从存储器704加载到内部寄存器或内部高速缓存。为了执行指令,处理器702可以从内部寄存器或内部高速缓存中检索指令并将它们解码。在指令的执行期间或之后,处理器702可以将一个或更多个结果(其可以是中间结果或最终结果)写到内部寄存器或内部高速缓存。处理器702然后可以将这些结果中的一个或更多个写到存储器704。在特定实施例中,处理器702仅执行在一个或更多个内部寄存器或内部高速缓存中或在存储器704(而不是存储装置706或其他地方)中的指令,并且仅对在一个或更多个内部寄存器或内部高速缓存中或在存储器704(而不是存储装置706或其他地方)中的数据进行操作。一个或更多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器702耦合到存储器704。如下所述,总线712可以包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(mmu)驻留在处理器702和存储器704之间,并且便于由处理器702请求的对存储器704的访问。在特定实施例中,存储器704包括随机存取存储器(ram)。在适当的情况下,该ram可以是易失性存储器。在适当的情况下,该ram可以是动态ram(dram)或静态ram(sram)。此外,在适当的情况下,该ram可以是单端口ram或多端口ram。本公开设想了任何合适的ram。在适当的情况下,存储器704可以包括一个或更多个存储器704。尽管本公开
描述并示出了特定的存储器,但是本公开设想了任何合适的存储器。
[0130]
在特定实施例中,存储装置706包括用于数据或指令的大容量存储装置。作为示例而不是作为限制,存储装置706可以包括硬盘驱动器(hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器、或这些中的两个或更多个的组合。在适当的情况下,存储装置706可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置706可以在计算机系统700的内部或外部。在特定实施例中,存储装置706是非易失性固态存储器。在特定实施例中,存储装置706包括只读存储器(rom)。在适当的情况下,该rom可以是掩模编程rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可变rom(earom)、或闪存、或这些中的两个或更多个的组合。本公开设想了采用任何合适的物理形式的大容量存储装置706。在适当的情况下,存储装置706可以包括便于在处理器702和存储装置706之间的通信的一个或更多个存储装置控制单元。在适当的情况下,存储装置706可以包括一个或更多个存储装置706。尽管本公开描述并示出了特定的存储装置,但是本公开设想了任何合适的存储装置。
[0131]
在特定实施例中,i/o接口708包括提供用于在计算机系统700和一个或更多个i/o设备之间的通信的一个或更多个接口的硬件、软件或两者。在适当的情况下,计算机系统700可以包括这些i/o设备中的一个或更多个。这些i/o设备中的一个或更多个可以实现在人和计算机系统700之间的通信。作为示例而不是作为限制,i/o设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像机、触笔、平板计算机、触摸屏、跟踪球、视频摄像机、另一个合适的i/o设备、或这些中的两个或更多个的组合。i/o设备可以包括一个或更多个传感器。本公开设想了任何合适的i/o设备以及用于它们的任何合适的i/o接口708。在适当的情况下,i/o接口708可以包括使处理器702能够驱动这些i/o设备中的一个或更多个的一个或更多个设备或软件驱动器。在适当的情况下,i/o接口708可以包括一个或更多个i/o接口708。尽管本公开描述并示出了特定的i/o接口,但是本公开设想了任何合适的i/o接口。
[0132]
在特定实施例中,通信接口710包括提供用于在计算机系统700和一个或更多个其他计算机系统700或一个或更多个网络之间的通信(例如,基于包(packet-based)的通信)的一个或更多个接口的硬件、软件或两者。作为示例而不是作为限制,通信接口710可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(nic)或网络适配器,或用于与无线网络(例如wi-fi网络)进行通信的无线nic(wnic)或无线适配器。本公开设想了任何合适的网络和用于它的任何合适的通信接口710。作为示例而不是作为限制,计算机系统700可以与自组织网络、个域网(pan)、局域网(lan)、广域网(wan)、城域网(man)或互联网的一个或更多个部分、或这些中的两个或更多个的组合进行通信。这些网络中的一个或更多个的一个或更多个部分可以是有线的或无线的。作为示例,计算机系统700可以与无线pan(wpan)(例如,蓝牙wpan)、wi-fi网络、wi-max网络、蜂窝电话网络(例如,全球移动通信系统(gsm)网络)、或其他合适的无线网络、或这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统700可以包括用于这些网络中的任一个的任何合适的通信接口710。在适当的情况下,通信接口710可以包括一个或更多个通信接口710。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。
[0133]
在特定实施例中,总线712包括将计算机系统700的部件耦合到彼此的硬件、软件
或两者。作为示例而不是作为限制,总线712可以包括加速图形端口(agp)或其他图形总线、扩展工业标准体系结构(eisa)总线、前端总线(fsb)、hypertransport(ht)互连、工业标准体系结构(isa)总线、infiniband互连、低引脚数(lpc)总线、存储器总线,微通道体系结构(mca)总线、外围部件互连(pci)总线、pci-express(pcie)总线、串行高级技术附件(sata)总线、视频电子标准协会本地(vlb)总线、或任何其他合适的总线、或这些中的两个或更多个的组合。在适当的情况下,总线712可以包括一个或更多个总线712。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。
[0134]
在本文,在适当的情况下,一个或更多个计算机可读非暂时性存储介质可以包括一个或更多个基于半导体的或其他集成电路(ic)(例如,现场可编程门阵列(fpga)或专用ic(asic))、硬盘驱动器(hdd)、混合硬盘驱动器(hhd)、光盘、光盘驱动器(odd)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(fdd)、磁带、固态驱动器(ssd)、ram驱动器、安全数字(secure digital)卡或驱动器、任何其他合适的计算机可读非暂时性存储介质、或这些中的两个或更多个的任何合适组合。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。
[0135]
本文中,除非另有明确指示或通过上下文另有指示,否则“或”是包括一切的而非排他性的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“a或b”意指“a、b或两者”。此外,除非另有明确指示或通过上下文另有指示,否则“和”既是联合的又是各自的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“a和b”意指“a和b,联合地或各自地”。
[0136]
本公开的范围包括本领域中的普通技术人员将理解的对本文描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开将本文的相应实施例描述并示为包括特定的组件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域中的普通技术人员将理解的在本文任何地方描述或示出的任何组件、元件、特征、功能、操作或步骤的任何组合或置换。此外,在所附权利要求中对适合于、被布置成、能够、被配置成、实现来、可操作来、或操作来执行特定功能的装置或系统或装置或系统的组件的引用包括该装置、系统、组件,无论它或那个特定功能是否被激活、开启或解锁,只要该装置、系统或组件是这样被调整、被布置、使能够、被配置、被实现、可操作的、或操作的。此外,尽管本公开将特定实施例描述或示为提供特定优点,但是特定实施例可以提供这些优点中的一些、全部或不提供这些优点。
再多了解一些

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

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

相关文献