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

计算机生成的现实系统中的分布式处理的制作方法

2021-11-10 05:14:00 来源:中国专利 TAG:

计算机生成的现实系统中的分布式处理


背景技术:
技术领域
1.本公开整体涉及计算系统,并且更具体地涉及计算机生成的现实系统。
2.相关技术描述
3.增强现实(ar)、混合现实(mr)、虚拟现实(vr)和交叉现实(xr)可允许用户与具有人工元素的沉浸式环境进行交互,使得用户可感觉到该环境的一部分。例如,vr系统可向用户显示立体场景以便创建深度幻觉,并且计算机可实时调整场景内容以提供用户在场景内移动的错觉。当用户通过vr系统查看图像时,用户可因此感觉他们好像正从第一人称视角在场景内移动。类似地,mr系统可将计算机生成的虚拟内容与真实世界图像或真实世界画面组合,以增强用户看到的世界的画面,或者另选地将真实世界对象的虚拟表示与三维虚拟世界的画面组合。因此,虚拟现实的模拟环境和/或混合现实的混合环境可为多种应用提供交互式用户体验。
附图说明
4.图1是示出系统的示例的框图,该系统用于在多个计算节点之间分配正在显示设备上显示的内容的处理。
5.图2是示出能够操作为在计算节点和显示设备之间分配任务的分配引擎的示例的框图。
6.图3是示出可包括在分配引擎中的发现引擎的示例的框图。
7.图4a至图4c是示出可由分配引擎使用的任务图的示例的框图。
8.图5是示出包括在显示设备和计算节点中的部件的示例的框图。
9.图6a至图6d是示出处理正在显示的内容的不同示例的图示。
10.图7a至图7d是示出由分配系统的部件执行的方法的示例的流程图。
11.图8是示出分配引擎在向计算节点卸载任务之前评估计算节点的能力的示例的框图。
12.图9是示出用于评估计算节点能力的方法的示例的流程图。
13.图10是个性化引擎的示例的框图。
14.本公开包括对“一个实施方案”或“实施方案”的标引。出现短语“在一个实施方案中”或“在实施方案中”并不一定是指同一个实施方案。特定特征、结构或特性可以与本公开一致的任何合适的方式被组合。
15.在本公开内,不同实体(其可被不同地称为“单元”、“电路”、其他部件等)可被描述或声称成“被配置为”执行一个或多个任务或操作。此表达方式—被配置为[执行一个或多个任务]的[实体]—在本文中用于指代结构(即,物理的事物,诸如电子电路)。更具体地,此表达方式用于指示此结构被布置成在操作期间执行一个或多个任务。结构可被说成“被配置为”执行某个任务,即使该结构当前并非正被操作。“被配置为向用户显示三维内容的显
示系统”旨在涵盖例如在操作期间执行该功能的液晶显示器(lcd),即使所考虑的lcd当前未在使用(例如,电源未连接到它)。因此,被描述或表述成“被配置为”执行某个任务的实体是指用于实施该任务的物理的事物,诸如设备、电路、存储有可执行程序指令的存储器等等。该短语在本文中不被用于指代无形的事物。因此,“被配置为”结构在本文中不被用于指代软件实体,诸如应用编程接口(api)。
[0016]
术语“被配置为”并不旨在意指“可配置为”。例如,未经编程的fpga不会被认为是“被配置为”执行某个特定功能,虽然其可能“能被配置为”执行该功能并且在编程之后可以“被配置为”执行该功能。
[0017]
所附权利要求书中的表述结构“被配置为”执行一个或多个任务明确地旨在对该权利要求要素不援引35u.s.c.
§
112(f)。于是,所提交的本技术中没有任何权利要求旨在要被解释为具有装置



功能要素。如果申请人在申请过程中想要援引112(f)部分,则其将使用“用于[执行功能]的装置”结构来表述权利要求的要素。
[0018]
如本文所用,术语“第一”、“第二”等充当其之后的名词的标签,并且不暗指任何类型的排序(例如,空间的、时间的、逻辑的等),除非有明确指出。例如,在具有八个处理核心的处理器中,术语“第一”处理核心和“第二”处理核心可用于指该八个处理核心中的任意两个处理核心。换句话讲,“第一”处理核心和“第二”处理核心不限于例如处理核心0和处理核心1。
[0019]
如本文所用,术语“基于”用于描述影响确定的一个或多个因素。该术语不排除可能有附加因素可影响确定。也就是说,确定可仅基于指定的因素或基于所指定的因素及其他未指定的因素。考虑短语“基于b确定a”。此短语指定b是用于确定a的因素或者b影响a的确定。此短语并不排除a的确定也可基于某个其他因素诸如c。该短语还旨在涵盖a仅基于b来确定的实施方案。如本文所用,短语“基于”因此与短语“至少部分地基于”是同义的。
[0020]
如本文所用,“物理环境”是指人们在没有电子系统帮助的情况下能够感测和/或交互的物理世界。物理环境诸如物理公园包括物理物品,诸如物理树木、物理建筑物和物理人。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境和/或与物理环境交互。
[0021]
如本文所用,“计算机生成的现实(cgr)环境”是指人们经由电子系统感测和/或交互的完全或部分模拟的环境。在cgr中,跟踪人的物理运动的一个子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在cgr环境中模拟的一个或多个虚拟对象的一个或多个特征。例如,cgr系统可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对cgr环境中虚拟对象的特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。
[0022]
人可以利用其感觉中的任一者来感测cgr对象和/或与cgr对象交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,该音频对象创建3d或空间音频环境,该3d或空间音频环境提供3d空间中点音频源的感知。又如,音频对象可以启用音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些cgr环境中,人可以感测和/或只与音频对象交互。
[0023]
cgr的示例包括虚拟现实和混合现实。
[0024]
如本文所用,虚拟现实(vr)环境是指被设计成对于一个或多个感官完全基于计算机生成的感官输入的模拟环境。vr环境包括人可以感测和/或交互的多个虚拟对象。例如,树木、建筑物和代表人的化身的计算机生成的图像是虚拟对象的示例。人可以通过在计算机生成的环境内人的存在的模拟和/或通过在计算机生成的环境内人的物理移动的一个子组的模拟来感测vr环境中的虚拟对象和/或与之交互。
[0025]
如本文所用,混合现实(mr)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟对象)之外还结合来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。
[0026]
在一些mr环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现mr环境的一些电子系统可以跟踪相对于物理环境的位置和/或取向,以使虚拟对象能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,系统可以导致移动使得虚拟树木相对于物理地面看起来是静止的。
[0027]
混合现实的示例包括增强现实和增强虚拟。
[0028]
如本文所用,增强现实(ar)环境是指其中一个或多个虚拟对象叠加在物理环境或物理环境的表示之上的模拟环境。例如,用于呈现ar环境的电子系统可具有透明或半透明显示器,人可以透过该显示器直接查看物理环境。该系统可以被配置为在透明或半透明显示器上呈现虚拟对象,使得人利用该系统感知叠加在物理环境之上的虚拟对象。另选地,系统可以具有不透明显示器和一个或多个成像传感器,该成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。系统将图像或视频与虚拟对象组合,并在不透明显示器上呈现组合物。人利用系统经由物理环境的图像或视频而间接地查看物理环境,并且感知叠加在物理环境之上的虚拟对象。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着系统使用一个或多个图像传感器捕获物理环境的图像,并且在不透明显示器上呈现ar环境时使用那些图像。进一步另选地,系统可以具有投影系统,该投影系统将虚拟对象投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用该系统感知叠加在物理环境之上的虚拟对象。
[0029]
增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的模拟环境。例如,在提供透传视频中,系统可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视角不同的选择视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得经修改部分可以是原始捕获图像的代表性的但不是真实的版本。再如,物理环境的表示可以通过以图形方式消除其部分或将其部分进行模糊处理而进行转换。
[0030]
增强虚拟(av)环境是指其中虚拟或计算机生成的环境结合来自物理环境的一个或多个感官输入的模拟环境。感官输入可以是物理环境的一个或多个特性的表示。例如,av公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟对象可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。再如,虚拟对象可以采用符合太阳在物理环境中的定位的阴影。
具体实施方式
[0031]
提供优良cgr体验(诸如ar、mr、vr或xr体验)可能需要使用大量的硬件和软件资源来提供动态和鲜明的内容。然而,可用于提供此类内容的资源在有限约束内工作。例如,显示设备可具有有限的处理能力,使用电池电源操作,并且具有带宽有限的网络连接。这些资源的管理对于cgr系统可能特别重要,因为诸如抖动和延迟的问题可能快速破坏体验。例如,如果在一个用户的显示设备处发生的事件与在另一个用户的显示设备处发生的事件之间存在显著延迟,则这两个用户可能难以彼此进行交互。
[0032]
本公开描述了实施方案,其中显示设备尝试发现可用于协助显示设备的计算设备,并且将任务卸载到这些计算设备以扩展用于递送内容的可用计算资源的量。如下文将更详细地描述的,在各种实施方案中,显示设备可收集识别一个或多个计算设备协助显示设备的能力的信息。例如,显示设备可确定用户在附近具有当前未被使用的平板电脑和膝上型计算机,并且两者都具有图形处理单元(gpu)。基于该发现,显示设备可评估与正在显示的内容相关联的一组任务,并且可将一个或多个任务卸载到所发现的设备。在各种实施方案中,显示设备可继续从可用计算设备收集计算能力信息,因为操作条件可随时间推移而改变。例如,如果显示设备与平板电脑进行无线通信并且操作显示设备的用户走出房间,则显示设备可检测到该变化并相应地重新分配任务。在评估卸载哪些任务时,显示设备可考虑与计算资源、能量预算、服务质量、网络带宽、安全性等有关的许多因素,以努力满足与例如精度、准确度、保真性、处理时间、功率消耗、隐私考虑等有关的各种目标。基于这些因素实时动态发现计算资源并重新分配任务可为用户提供比用户局限于显示设备和例如连接到显示设备的台式电脑的有限资源时丰富得多的体验。
[0033]
现在转向图1,该图示出了分配系统10的框图。在例示的实施方案中,分配系统10包括显示设备100,该显示设备包括环境传感器110、用户传感器120和分配引擎150。如图所示,系统10还可包括一个或多个计算节点140a

140f。在一些实施方案中,系统10可以与所示的不同地实现。例如,可使用多个显示设备100,可使用更多(或更少)的计算节点140等。
[0034]
在各种实施方案中,显示设备100是被配置为向用户显示内容诸如三维视图102以及在一些实施方案中提供音频内容104的计算设备。在例示的实施方案中,显示设备被描绘为电话;然而,显示设备可为任何合适的设备,诸如平板电脑、电视、膝上型计算机、工作站等。在一些实施方案中,显示设备100是被配置为佩戴在头部并向用户显示内容的头戴式显示器(hmd)。例如,显示设备100可以是由用户佩戴的头戴式耳机、头盔、护目镜、眼镜、插入外壳中的电话等。如下文将相对于图5所述,显示设备100可包括近眼显示系统,该近眼显示系统在用户眼睛前方的屏幕上显示左图像和右图像,以向用户呈现3d视图102。在其他实施方案中,设备100可包括基于投影的系统、具有集成显示能力的车辆挡风玻璃、具有集成显示能力的窗户、被形成为被设计成放置在人的眼睛上的镜片(例如,类似于接触镜片)的显示器、耳机/听筒、扬声器阵列、输入系统(例如,具有或不具有触觉反馈的可穿戴或手持控制器)等。显示设备100可用于向用户提供各种用户体验中的任一种。在各种实施方案中,这些体验可利用ar、mr、vr或xr环境。例如,显示设备100可提供协作与创造体验,这可允许用户在ar环境中一起工作以创造内容。显示设备100可提供共同在场体验,其中多个用户可在mr环境中个别地连接。如本文所用,术语“共同在场”是指共享cgr体验,其中两个人可使用其相应设备彼此交互。显示设备100可提供用户在vr环境中执行活动的游戏体验。在各种实
施方案中,显示设备100可提供其他非cgr体验。例如,用户可操作显示设备100来流传输可以三维或二维显示的媒体内容,诸如音乐或电影。为了便于递送这些各种体验,显示设备100可结合环境传感器110和用户传感器120的使用。
[0035]
在各种实施方案中,环境传感器110是被配置为收集关于用户在其中操作显示设备100的环境的各种信息的传感器。在一些实施方案中,环境传感器110可包括捕获用户环境的视频信息的一个或多个可见光相机。该信息可例如用于提供真实环境的虚拟视图,检测环境中的对象和表面,提供真实环境中的对象和表面的深度信息,提供真实环境中的用户的位置(例如,位置和取向)和运动(例如,方向和速度)信息等。在一些实施方案中,显示设备100可包括位于显示设备100的前表面上的位置处的左相机和右相机,在显示设备100为hmd的实施方案中,这些位置基本上在用户的每只眼睛的前方。在其他实施方案中,更多或更少的相机可用于显示设备100中并且可定位在其他位置处。在一些实施方案中,环境传感器110可包括例如捕获在用户环境中的对象和表面的深度信息或范围信息的一个或多个世界标测传感器(例如,具有ir照明源的红外(ir)传感器或光检测和测距(lidar)发射器和接收器/检测器)。该范围信息可例如与由相机捕获的帧结合使用,以检测和识别真实世界环境中的对象和表面,并且确定对象和表面相对于用户的当前位置和运动的位置、距离和速度。该范围信息还可用于将待合成为虚拟环境的真实世界对象的虚拟表示定位在正确的深度处。在一些实施方案中,该范围信息可用于检测与真实世界对象和表面碰撞以重定向用户步行的可能性。在一些实施方案中,环境传感器110可包括捕获用户的物理环境中的照明信息(例如,方向、颜色和强度)的一个或多个光传感器(例如,在显示设备100的前部和顶部上)。例如,该信息可用于改变显示设备100中的显示系统的亮度和/或颜色。
[0036]
在各种实施方案中,用户传感器120是被配置为收集关于操作显示设备100的用户的各种信息的传感器。在显示设备100为hmd的一些实施方案中,用户传感器120可包括一个或多个头部姿势传感器(例如,ir或rgb相机),该传感器可捕获关于用户和/或用户的头部的位置和/或运动的信息。由头部姿势传感器收集的信息可例如用于确定如何渲染和显示虚拟环境的视图和视图内的内容。例如,无论用户当前是否正在走过环境等等,都可至少部分地基于用户的头部的位置来渲染环境的不同视图。又如,增强的位置和/或运动信息可用于相对于环境的背景视图将虚拟内容合成到固定位置中的场景中。在一些实施方案中,可存在位于显示设备100的前表面或顶表面上的两个头部姿势传感器;然而,在各种实施方案中,可使用更多(或更少)的头部姿势传感器,并且这些头部姿势传感器可被定位在其他位置处。在一些实施方案中,用户传感器120可包括可用于跟踪用户的眼睛的位置和移动的一个或多个眼睛跟踪传感器(例如,具有ir照明源的ir相机)。在一些实施方案中,由眼睛跟踪传感器收集的信息可用于调整要显示的图像的渲染,并且/或者基于用户眼睛注视的方向和角度来调整通过显示设备100的显示系统进行的图像的显示。在一些实施方案中,由眼睛跟踪传感器收集的信息可用于将用户的化身的眼睛的方向与用户的眼睛的方向匹配。在一些实施方案中,可基于由眼睛跟踪传感器确定的用户瞳孔扩张来调节所显示的图像的亮度。在一些实施方案中,用户传感器120可包括跟踪用户的眉毛/前额的表情的一个或多个眉毛传感器(例如,具有ir照明的ir相机)。在一些实施方案中,用户传感器120可包括跟踪用户的口部/颌部的表情的一个或多个下颌跟踪传感器(例如,具有ir照明的ir相机)。例如,在一些实施方案中,由传感器120捕获的额头、口部、颌部和眼睛的表情可用于模拟共同
在场体验中用户的化身上的表情,并且/或者至少部分地基于用户对显示设备100显示的内容的反应来选择性地渲染和合成用于查看的虚拟内容。在一些实施方案中,用户传感器120可包括跟踪用户的手部、手指和/或臂部的位置、移动和姿态的一个或多个手部传感器(例如,具有ir照明的ir相机)。例如,在一些实施方案中,用户的手部、手指和/或臂部的检测到的位置、移动和姿态可用于模拟用户的化身的手部、手指和/或臂部在共同在场体验中的移动。作为另一示例,用户的检测到的手部和手指姿态可用于确定用户与虚拟空间中的虚拟内容的交互,包括但不限于操纵虚拟对象的姿态,与虚拟空间中显示的虚拟用户界面元素交互的姿态等。
[0037]
在各种实施方案中,显示设备100包括用于与计算节点140建立网络连接的一个或多个网络接口。可使用任何合适的网络通信协议来建立该网络连接,包括无线协议诸如长期演进
tm
等,或有线协议诸如以太网、光纤信道、通用串行总线
tm
(usb)等。在一些实施方案中,可根据在显示设备100和一个或多个计算节点140之间提供高度定向无线链路的专有无线通信技术(例如,60千兆赫(ghz)无线技术)来实现该连接。在一些实施方案中,显示设备100被配置为基于接口的连接性以及由显示设备100递送的特定用户体验来在不同的可用网络接口之间进行选择。例如,如果特定用户体验需要大量带宽,则显示设备100可在与高性能计算设备140e进行无线通信时选择支持专有无线技术的无线电部件。然而,如果用户仅从膝上型计算机140b流传输电影,则可能是足够的并且由显示设备100来选择。在一些实施方案中,在例如带宽有限的情况下,显示设备100可使用压缩技术来通过网络连接进行通信。
[0038]
在各种实施方案中,计算节点140是可用于协助产生由显示设备100使用的内容的节点,诸如促进3d视图102的渲染。计算节点140可以是或可包括任何类型的计算系统或计算设备。如图1所示,计算节点140通常可被分类为初级、二级和三级计算网格142。在例示的实施方案中,初级计算网格142a包括属于显示设备100的用户的计算节点140。这些计算节点140可提供比其他网格142中的计算节点140更少的计算能力,但可易于供显示设备100的用户使用。例如,在家中操作显示设备100的用户可能能够利用他或她的电话、手表140a、膝上型计算机140b和/或平板电脑140c的计算能力,这些设备可在同一房间或附近的房间中。此类计算节点140的其他示例可包括无线扬声器、机顶盒、游戏机、游戏系统、物联网(iot)设备、家庭网络设备等。在例示的实施方案中,二级计算网格142b包括附近的计算节点140,该计算节点可以更高的代价提供更大的计算能力,并且在一些情况下,可由多个显示设备100共享。例如,操作显示设备100的用户可进入具有工作站140d和/或高性能计算(hpc)设备140e的零售店,并且可能够接收对此类节点140的协助,以便与ar环境中的商店产品进行交互。在例示的实施方案中,三级计算网格142c包括可通过基于云的服务供用户使用的高性能计算节点140。例如,服务器群集140f可建立在远离显示设备100的服务器群的基础上,并且可实现用于显示设备100的一个或多个服务,诸如渲染三维内容、流传输媒体、存储所渲染的内容等。在这样的实施方案中,计算节点140还可包括可由服务器群集140f提供的逻辑计算节点,诸如虚拟机、容器等。
[0039]
因此,计算节点140可在其协助显示设备100的能力方面存在明显变化。一些计算节点140(诸如手表140a)可具有有限的处理能力并且功率受限,诸如限于一瓦电池电源,而其他节点(诸如服务器群集140f)可具有几乎不受限制的处理能力并且具有很少的功率限
制,诸如能够输送数千瓦的计算。在各种实施方案中,计算节点140可在其执行特定任务的能力方面变化。例如,工作站140d可执行专用软件,诸如能够提供专门内容的vr应用程序。hpc 140e可包括指定硬件,诸如多个高性能中央处理单元(cpu)、图形处理单元(gpu)、图像信号处理器(isp)、支持神经网络引擎的电路、安全硬件(例如,安全元件、硬件安全模块、安全处理器等)等。在一些实施方案中,计算节点140可在其安全地执行操作的能力方面变化。例如,平板电脑140c可包括安全元件,该安全元件被配置为安全地存储机密数据并对机密数据进行操作,而工作站140d可为不可信的并且可通过未加密的无线网络连接来访问。在各种实施方案中,计算节点140的协助显示设备100的能力可以是动态的。例如,当操作显示设备100的用户走进另一房间中时,显示设备100可失去与平板电脑140c的连接性。最初空闲时,膝上型计算机140b可向显示设备100提供某种协助,但在其他人开始将膝上型计算机140b用于某种其他目的之后,则它提供较少协助或不提供协助。
[0040]
在各种实施方案中,分配引擎150可执行以发现计算节点140并且确定是否将任务154卸载到所发现的计算节点140。在例示的实施方案中,分配引擎150基于计算能力信息152和所卸载的特定任务154作出该确定。计算能力信息152通常可以指引擎150可用来评估任务154是否应该(或不应该)卸载到特定计算节点140的任何合适的信息。如下文将相对于图3更详细地描述的,计算能力信息152可以包括关于资源利用、计算节点140的功率约束、计算节点140处存在的特定硬件或软件、执行专门任务154的能力等的信息。由于计算节点140的能力可随时间而改变,因此在一些实施方案中,分配引擎150可在显示设备100正在显示内容时实时连续接收计算能力信息152。如果特定计算节点140例如拒绝接受任务154或离开网格142,则分配引擎150可确定在计算节点140和显示设备100之间动态地重新分配任务154。
[0041]
分配引擎150可评估各种任务154中的任一个以用于可能的卸载。这些任务154可与正在显示设备100上显示的内容的渲染有关,诸如执行网格组装、着色、纹理化、转换、照明、剪辑、光栅化等。这些任务154还可涉及该渲染,因为它们影响所显示的内容。例如,如下文将结合图4a所讨论的,显示设备100可递送ar体验,该ar体验使用对象分类器来识别在由相机传感器110收集的视频帧中捕获的特定对象。分配引擎150可将有关分类器的一个或多个任务154卸载到一个或多个计算节点140,而不是在显示设备100处完全实现分类器。然后,显示设备100可在3d视图102中指示对象分类的结果。任务154还可涉及由显示设备100提供的其他内容,诸如向用户提供的音频或触觉内容。例如,如下面将结合图4b讨论的,可将与语音识别相关的一个或多个任务卸载到计算节点140。任务154还可涉及其他操作,诸如存储所渲染的内容以供同一显示设备100或其他设备诸如朋友的电话随后检索。因此,在分配系统10中执行的任务154可由产生视觉元素(馈送显示器)、听觉元素(例如房间声学)和交互(例如姿态、语音)的算法/部件消耗,以满足体验目标。如下面将相对于图2讨论的,引擎150可结合定义要执行的一组任务、这些任务的相互依赖性及其相应的约束(例如,体验的视觉、音频和交互元素的感知延迟和阈值)的图形结构以及一个或多个特定于用户的服务质量(qos)参数来评估计算能力信息152。在各种实施方案中,引擎150将该信息提供给代价函数,该代价函数尝试最小化例如功率消耗和延迟,同时确保递送最佳用户体验。在一些实施方案中,分配引擎150还可处理对节点140执行任务154产生的结果的收集,并且将该结果路由到显示设备100中的适当消耗硬件和/或软件。
[0042]
尽管被示出为在显示设备100内,但分配引擎150可驻留在其他地方,并且在一些实施方案中,驻留在多个位置。例如,分配引擎150的第一实例可驻留在显示设备100处,并且分配引擎150的第二实例可驻留在膝上型计算机140b处。在这样的实施方案中,膝上型计算机140b处的分配引擎150可从一个或多个其他计算节点140(诸如图1所示的平板电脑140c)收集计算能力信息152的实例,并且提供从显示设备100卸载到其他计算节点140的一组任务154。在一些实施方案中,膝上型计算机140b处的分配引擎150可将所接收的计算能力信息152(或将该计算能力信息与膝上型计算机140b发送的计算能力信息152组合地)转发到显示设备100处的分配引擎150,该分配引擎可确定将什么分配给其他计算节点140。在一些实施方案中,膝上型计算机140b处的分配引擎150可替代地在本地作出关于应将什么卸载到其他节点140的确定。
[0043]
现在转向图2,该图示出了分配引擎150的框图。在例示的实施方案中,分配引擎150包括发现引擎210、图形选择器220、个性化引擎230、约束分析器240和任务发布器250。在其他实施方案中,引擎210可与所示的不同地实现。
[0044]
在各种实施方案中,发现引擎210通过交换发现信息202来处理可用计算节点140的发现。发现引擎210可使用合适的技术来发现计算节点140。例如,引擎210可采用协议,诸如简单服务发现协议(ssdp)、如简单服务发现协议(ssdp)、aware、零配置联网(zeroconf)等。如将结合图3所述,引擎210可向计算节点140发出广播请求和/或从计算节点140接收广播的通知。在一些实施方案中,发现引擎210还处理从计算节点140接收的计算能力信息152的收集。在例示的实施方案中,引擎210将该信息152聚合成动态约束向量212,该约束向量被提供给约束分析器240。还如将结合图3所讨论的,约束向量212可包括与计算节点140的计算能力有关的多个因素,并且随着可用计算节点140的状态改变而动态地更新。
[0045]
在各种实施方案中,图形选择器220识别用于执行用户请求的体验的一组任务154,并且确定对应的任务图222以便由约束分析器240使用。如上所述,显示设备100可支持向用户提供多种不同类型的用户体验。当用户请求特定体验(例如,两个用户之间的共同在场体验)时,选择器220可接收请求的对应指示204并且识别适当的一组任务154以促进该体验。这样做时,选择器220可确定一个或多个任务图222。如下文将相对于图4a和图4b所述,在各种实施方案中,任务图222是包括多个相互依赖的图节点的图数据结构,每个图节点定义用于执行这组任务154中的相应一个任务的一组约束。在一些实施方案中,选择器220可基于所请求的体验指示204和关于该体验的一个或多个情境因素动态地组成任务图222。然而,在一些实施方案中,选择器220可选择一个或多个已经创建的静态任务图222。
[0046]
在各种实施方案中,个性化引擎230产生与特定用户对特定服务质量的偏好或容限有关的特定于用户的qos参数232。当用户操作显示设备以享受cgr体验时,用户可能对诸如延迟、抖动、分辨率、帧速率等因素具有特定的容差以避免体验变得不愉快。例如,如果用户尝试在vr游戏中导航三维空间,则如果通过该空间的移动是抖动的,则用户可能变得头晕和迷失方向。另外,用户对这些因素的容限可能彼此不同。为了确保给定用户具有有趣的体验,分配引擎150(或显示设备100的一些其他元件)可收集与用户对这些特定于用户的因素的偏好或容限有关的特定于用户的参数232。例如,对于给定的体验,引擎150可确定用于显示三维内容的最小帧速率,用于显示三维内容的最小延迟,以及用于显示三维内容的最小分辨率。如果引擎150不能以满足这些要求的方式分配特定的一组任务154,则引擎150可
指示当前不能提供体验,或者评估不同的一组任务154以确保能够满足参数232。在一些实施方案中,可通过提示用户进行输入来确定参数232。例如,显示设备100可呈现与特定qos相关联的内容,并且询问这是否是用户可接受的。在其他实施方案中,可在用户体验到特定qos时并且基于传感器110和120来确定参数232。例如,传感器110和/或120可提供指示用户正在经历不适的各种信息,并且引擎150可调整体验的qos以考虑这种检测到的不适。
[0047]
在各种实施方案中,约束分析器240基于动态约束向量212、任务图222和qos参数232来确定应该如何在显示设备100和计算节点140之间分配任务154。因此,分析器240可分析在向量212中识别的节点140的特定计算能力,并且将那些能力与任务图222中的约束相匹配,同时确保满足qos参数232。在一些实施方案中,该匹配可包括确定用于在显示设备100和计算节点140之间分配任务154的多个不同的分配计划244,以及计算每个不同的分配计划244的代价函数242。在各种实施方案中,代价函数242是确定给定分配计划244的特定代价的函数(或函数集合)。给定计划244的代价可基于各种因素中的任一者,诸如用于实施计划244的总功率消耗,用于实施计划244的延迟,服务质量等。基于所计算的不同计划244的代价函数,分析器240可选择被确定为具有最低代价(或在某个阈值量以下的最高代价)的特定分配244。
[0048]
在各种实施方案中,任务发布器250促进由约束分析器240所选择的分配计划244的实施。因此,发布器250可检查分配计划244以确定特定任务154已被分配给特定节点140,并且联系该节点140以请求它执行所分配的任务154。在一些实施方案中,发布器250还处理适当数据的收集以执行所分配的任务154并且将该数据传送到节点140。例如,如果给定任务154依赖于来自环境传感器110和/或用户传感器120的信息(例如,由面向外部的相机传感器110收集的图像),则发布器250可聚集来自传感器110或120的该信息,并且通过网络连接将该信息传送到分配了任务154的计算节点140。
[0049]
现在转向图3,该图示出了分配引擎210的框图。在例示的实施方案中,发现引擎210包括募集器310和收集器320。在一些实施方案中,发现引擎210可与所示的不同地实现。
[0050]
在各种实施方案中,募集器310处理发现计算节点140和从计算节点获得协助。虽然募集器310可使用如上所述的任何合适的技术,但在例示的实施方案中,募集器310发送发现广播302,该发现广播征求来自任何可用计算节点140的协助并且基于计算节点的响应来识别计算节点140。如本文所用,术语“广播”将根据其既定含义来解释,并且包括涉及多于一个接收方的通信。例如,如果通过网络连接进行的通信正在使用ipv4,则募集器310可将发现广播302发送到具有由全1组成的主机部分的广播地址。在各种实施方案中,发现广播302可在显示设备100可访问的局域网上传送,以便识别该网络的一部分的其他节点140。在一些实施方案中,募集器310可从计算节点140接收广播的通知304。即,不同于对募集器310的任何征求做出响应,计算节点140可发送通知304,该通知指示该计算节点可用于协助恰好需要协助的任何显示设备100。在一些实施方案中,募集器310接收关于可用计算节点140的附加信息,诸如用户信息306。在各种实施方案中,计算节点140可提供关于计算节点140的用户(或多个用户)的信息306,使得募集器310可确定计算节点是否是上述初级网格142a的一部分。在此类实施方案中,分配引擎150可在尝试将任务154分配给给定计算节点140之前确认显示设备100与该计算节点140共享相同的用户(或者正在使用朋友或家庭成员的计算节点140)。例如,在一些实施方案中,属于初级网格142a的计算节点140可指示它
们共享公共家庭账户,该公共家庭账户可与某个服务相关联。响应于接收到信息306,引擎150可确定显示设备100也与该家庭账户相关联,以便将计算节点140识别为初级网格142a的一部分。在一些实施方案中,募集器310还可发送征求来自服务器群集140f的协助的请求,该服务器群集可实现用于渲染三维内容以及提供如上所述的其他服务的基于云的服务。在一些实施方案中,在发现节点140之后,发现引擎210可开始接收计算能力信息152。
[0051]
在各种实施方案中,收集器320可执行以编译动态约束向量212并且将其传送至约束分析器240。在一些实施方案中,约束向量212可包括关于单个节点140的信息;在其他实施方案中,向量212可以是多维的并且包括来自多个节点140的信息152。如图所示,给定向量212可包括与先前的计算能力信息152有关的一个或多个过去条目300a以及条目300b中的当前实时信息152。在一些实施方案中,收集器320还可分析当前的信息和过去的信息152以预测计算节点140的促进协助显示设备100的未来能力,如条目300c所示。例如,收集器320可采用随时间推移评估过去信息和现在信息152的学习算法。在例示的实施方案中,动态约束向量212包括处理器能力332、存储器能力334、功率预算336、网络能力338、安全能力338、特定任务亲近性342和任务延迟344。在其他实施方案中,向量212可包括比332至344更多(或更少)的元素;下文相对于一个元素所述的方面也可适用于其他元素。
[0052]
在各种实施方案中,处理器能力332识别给定计算节点140的处理器信息。能力332可例如识别处理器的数量、处理器的类型、操作频率等。在一些实施方案中,能力332可识别计算节点140的处理器利用率。例如,能力332可识别处理器处于60%利用率。在另一个实施方案中,能力332可表示给定计算节点140愿意分配给显示设备100的量。例如,能力332可识别给定计算节点愿意分配其处理器利用率的10%。
[0053]
在各种实施方案中,存储器能力334识别给定计算节点140的存储器信息。能力334可例如识别存储器的类型及其存储容量。在一些实施方案中,能力334还可识别空间的当前利用率。例如,能力334可识别计算节点140能够存储特定大小的数据。
[0054]
在各种实施方案中,功率预算336识别与计算节点的功率消耗有关的约束。例如,在计算节点140正在使用电池电源的情况下,功率预算336可识别电池的当前电量水平及其总容量。在计算节点140具有插入式电源的情况下,功率预算336可识别插入情况以及正在递送的瓦特数。在一些实施方案中,功率预算336可指示计算节点140的热信息。因此,如果给定节点140在远低于其热约束(thermal constraint)下操作,则它可能能够适应更多数量的任务154。然而,如果给定节点140正达到其热约束,则可能需要在其他节点140和显示设备100之间重新分配任务154。
[0055]
在各种实施方案中,网络能力338包括关于计算节点140的网络接口的信息。例如,能力338可识别由给定计算节点140支持的网络接口的类型,诸如等。能力338还可指示可经由网络接口提供的网络带宽,该网络带宽可基于通信信道条件而为动态的。能力338还可识别用于与显示设备100通信的网络延迟。例如,能力338可指示互联网控制消息协议(icmp)回送请求需要20ms来接收响应。
[0056]
在各种实施方案中,安全能力340包括关于计算节点140以安全方式执行任务154的能力的信息。如上所述,传感器110和120可收集敏感信息,可能需要保护敏感信息以确保用户的隐私。例如,在提供mr体验时,相机传感器110可收集用户周围的图像。在各种实施方案中,分配引擎150可在卸载包括处理图像(或某种其他形式的敏感信息)的任务154之前验
证安全能力340。在一些实施方案中,容量340可通过识别特定硬件诸如安全元件、生物识别认证传感器、硬件安全模块(hsm)、安全处理器、安全执行环境等的存在来识别节点140安全地处理信息的能力。在一些实施方案中,能力340可提供来自计算节点140的制造商的签名证书,该证书证实计算节点140的安全能力。在一些实施方案中,该证书还可证实给定节点140的其他能力,诸如是否存在特定任务(如结合任务亲近性342所讨论的)、执行生物识别认证的能力、设备是否包括用户的机密数据等。在一些实施方案中,能力340可识别由于使用加密还是专用物理连接而存在安全网络连接。在一些实施方案中,能力340可识别计算节点140是否包括生物识别传感器并且被配置为执行用户的生物识别认证。
[0057]
在各种实施方案中,特定任务亲近性342包括关于计算节点140处理特定任务154的能力的信息。因此,亲近性342可识别用于执行特定任务154的特定硬件和/或软件的存在。例如,亲近性342可识别给定节点140具有gpu,因此可能更适合于执行三维渲染任务154。又如,亲近性342可识别给定节点140具有安全元件,该安全元件具有用户的支付凭据,因此可有助于为用户执行支付交易。又如,亲近性342可识别给定节点140支持神经网络引擎,该神经网络引擎支持一个或多个任务,诸如下文所述的对象分类。
[0058]
在各种实施方案中,任务延迟344包括关于计算节点处理给定任务154可能需要多长时间的信息。例如,延迟344可基于计算节点140执行任务154的先前实例和节点140的资源的当前利用率来识别特定任务154预期为20ms。在一些实施方案中,延迟344可包括上文结合网络能力338所讨论的网络连接性信息,诸如网络连接的延迟。在这样的实施方案中,如果如任务延迟344所指示的卸载和执行给定任务154所需要的时间超过某个阈值,则分配引擎150可确定例如不卸载任务154。
[0059]
现在转向图4a,该图示出了任务图222a的框图。如上所述并且如图4a所示,在各种实施方案中,任务图222是具有对应于被考虑用于卸载的一组任务154的多个节点400的图数据结构。在例示的实施方案中,任务图222a是用于被执行以对来自相机传感器110的一个或多个视频帧402中存在的对象进行分类的一组任务154a

154c的任务图222的示例。例如,操作显示设备100的用户可能已走进销售产品的商店中。当用户利用显示设备100观察产品时,显示设备100可尝试对对象进行分类并且呈现关于正在销售的产品的ar内容。如图所示,任务图222a包括用于对象检测任务154a的图节点400a,其中在视频帧402中检测对象,并且围绕对象放置边界框以供后续分析。任务图222a然后包括用于图像裁剪任务154b的图节点400b,其中从帧402移除边界框外部的内容以产生裁剪帧406。最后,任务图222a包括用于对象分类任务154c的图节点400c,其中分析裁剪帧406以识别裁剪帧406中的对象的分类408—例如,用户正在观察一副鞋子。
[0060]
如图所示,每个图节点400可为其相应的任务154定义对应的一组任务约束410。在例示的实施方案中,任务约束410包括类型412、期望的任务延迟414、能量配置文件416、期望的网络连接418、安全要求420、期望的计算能力422和任务链424。在一些实施方案中,可为给定节点400定义更多(或更少)约束410。另外,为一个图节点400定义的约束可与在另一个图节点400中定义的约束不同。
[0061]
在各种实施方案中,类型412识别与特定节点400相关联的任务154的类型。例如,节点400a可指示其类型412为对象检测,而节点400b可指示其类型412为图像裁剪。
[0062]
在各种实施方案中,期望的任务延迟414识别用于执行给定任务154的最大允许延
迟。例如,节点400c中指定的延迟414可指示对象分类任务154应在200ms内完成。因此,如果向量212中的任务延迟344指示给定计算节点140不能满足该延迟414,则分析器240可阻止计算节点140被认为是用于卸载对象分类任务154c的候选者。
[0063]
在各种实施方案中,能量配置文件416指示用于执行给定任务154的预期能量消耗。例如,用于节点400a的配置文件416可指示对象检测是能量较不密集的任务154,而用于节点400c的配置文件416可指示对象分类是能量更加密集的任务154。因此,分析器240可将任务154a分配给功率受限更多的计算节点140或显示设备100,同时将任务154c分配给功率受限更少的节点140,如例如由向量212中的功率预算336所指示的。
[0064]
在各种实施方案中,期望的网络连接418指示与给定任务154相关联的网络连接的期望特性。这些特性可以是网络连接的类型(例如,连接的类型(例如,等)、连接的所需带宽和/或网络连接的所需延迟。例如,需要高带宽的任务154(例如,将媒体内容流传输到显示设备100)可指示对更高带宽连接的期望。因此,分析器240可尝试将在期望的网络连接418中识别的特性与在用于计算节点140的网络能力338中识别的那些特性匹配。
[0065]
在各种实施方案中,安全要求420指示以安全方式执行给定任务154的要求。例如,考虑到视频帧402可能包括敏感内容,节点400a

400c中的每一者可指定任务154a

154c以安全方式执行的要求420。因此,分析器240可基于向量212中的安全能力340来将任务154a

154c分配给计算节点140。敏感内容的其他示例可包括密钥链数据、密码、信用卡信息、生物识别数据、用户偏好、其他形式的个人信息。因此,如果正使用此类信息执行特定任务154,则可设置安全要求420以确保例如处理该信息的任何节点140能够使用某种形式的安全硬件诸如安全元件、硬件安全模块(hsm)、安全处理器等来进行保护。在各种实施方案中,安全要求420对于将任务154分配给给定节点140可能是重要的,并且可在可用节点140的集合改变时由引擎150连续地评估。例如,如果第一节点140正在处理具有安全要求420的任务154并且节点140变得不可用,那么如果不能找到能够满足要求420的另一个节点140,则显示设备100可确定中止特定体验。
[0066]
在各种实施方案中,期望的计算能力422指示对计算节点140具有处理卸载任务154的特定硬件和/或软件的期望。例如,节点400c可指定实现能够操作为执行对象分类任务154c的神经网络分类器的硬件(或软件)。在一些情况下,能力422可包括更一般的规范(例如,用于实现神经网络的通用硬件),或者可包括更具体的规范(例如,专门设计用于实现用于对象分类的卷积神经网络(cnn)的专用硬件)。因此,分析器240可针对向量212中指定的特定任务亲近性342来评估期望的计算能力422。
[0067]
在各种实施方案中,任务链424指示当两个或更多个任务154被分配给显示设备100或计算节点140时,它们应被分组在一起。例如,尽管图4a中未示出,但节点400a的任务链424可指示任务154a应当在与任务154b相同的计算节点140处执行。因此,分析器240可不能将任务154a和任务154b分配给不同节点140。如下面将结合图5讨论的,在一些实施方案中,用于链接在一起的任务154的数据可在存储器中并置排列,以提高在执行任务154时访问数据的效率和/或其安全性。
[0068]
如上所述,在结合动态约束向量212和特定于用户的qos参数232评估任务图222之后,约束分析器240可确定用于卸载任务154的分配计划244。在一些实施方案中,分配计划244可被记录在节点400中。例如,分析器240可在节点400a中指示任务154a已被分配给显示
设备100,在节点400b中指示任务154b已被分配给手表140a,并且在节点400c中指示任务154c已被分配给hpc 140e。在其他实施方案中,计划244可被不同地指示,并且在一些实施方案中,该计划与任务图222a分开地提供。
[0069]
现在转向图4b,该图示出了另一个任务图222b的框图。如上所述,分配引擎150可评估与正在显示设备100上呈现的视觉内容之外的内容有关的任务154。例如,在例示的实施方案中,任务图222b涉及用于执行音频分类的一组任务154,音频分类可用于语音识别。如图所示,任务图222b包括用于音频检测任务154d的图节点400d,其中为语音分析所记录的音频流432以在该语音周围放置边界框434。任务图222b还包括音频裁剪任务154e,其中基于边界框434裁剪所记录的音频432。任务图222b然后包括用于音频分类任务154f的节点400f,其中裁剪音频436中的语音被分类并且呈现该分类的指示438—例如,用户询问今天当前的天气。类似于任务图222a,分析器240可结合向量212和参数232分析由节点400d

400f定义的任务约束410以便确定分配计划244。例如,如图4b所示,分析器240已选择将音频检测任务154d分配给显示设备100、将音频裁剪任务154e分配给手表140a并且将音频分类任务154f分配给服务器群集140f的计划244。然后可例如经由显示设备100的音频系统呈现音频分类的结果,诸如播报当前天气。
[0070]
现在转向图4c,该图示出了更大任务图222的框图。在各种实施方案中,任务图222可基本上大于几个节点400,在一些实施方案中,甚至大于图4c中示出的节点400的数量。在例示的实施方案中,节点400已在显示设备100、手表140a、hpc 140e和服务器群集140f之间分配,如由不同灰色阴影所指示的。如图所示,图222可从根节点400开始,可基于用户请求的特定体验来选择根节点,并且它以多个终端节点400结束,该多个终端节点向多个系统诸如另一个显示设备100、显示设备100的显示系统、显示设备100的音频系统等提供输出。在一些实施方案中,任务图222可与所示的不同地实现,例如,图222可包括更多的节点400分支,节点400的边缘可以形成循环的方式连接到先前的节点400,等等。
[0071]
在各种实施方案中,任务图222可包括从各种源接收输入的节点400。因此,在例示的实施方案中,hpc 140e可存储先前生成并且可用于促进后续cgr体验的高速缓存内容442。例如,在描绘渲染建筑物覆盖在地图上的城市地图的博物馆展览中,hpc 140e可高速缓存预先生成的内容442以加快地图的未来渲染。在下文相对于图6d所讨论的示例中,用户可存储先前生成的内容442以与可重新显示内容442的另一设备共享该内容。
[0072]
如上所述并且如图4c所示,任务图222还可包括在同一计算节点140处执行的链接任务444的一个或多个实例。例如,在例示的实施方案中,链接任务444都已被分配给手表140a。在一些实施方案中,可基于如上所述的一组节点400中指定的任务链参数424来改变链接任务444。在一些实施方案中,分配引擎150可确定一组任务154应被链接,因为当在同一计算节点140处执行时,该组任务可更有效地执行、更快速地执行、消耗更少的功率、减少网络流量等。
[0073]
现在转向图5,该图示出了显示设备100和计算节点140内的部件的框图。在例示的实施方案中,除了上述环境传感器110和用户传感器120之外,显示设备100还包括显示系统510、控制器520、存储器530、安全元件540和网络接口550。如图所示,给定计算节点140包括控制器560、存储器570和网络接口580。在一些实施方案中,显示设备100和计算节点140可与所示的不同地实现。例如,显示设备100和/或计算节点140可包括多个网络接口550,显示
设备100可不包括安全元件540,计算节点140可包括安全元件540等。在一些实施方案中,显示设备100和/或计算节点140可包括用于呈现音频内容104的一个或多个扬声器。
[0074]
在各种实施方案中,显示系统510被配置为向用户显示所渲染的帧。显示器510可实施各种类型的显示技术中的任一者。例如,如上所述,显示系统510可包括近眼显示器,该近眼显示器呈现左图像和右图像以产生三维视图102的效果。在一些实施方案中,近眼显示器可使用数字光处理(dlp)、液晶显示器(lcd)、硅基液晶(lcos)或发光二极管(led)。又如,显示系统510可包括直接视网膜投影仪,该直接视网膜投影仪经由反射表面(例如,反射眼镜镜片)将包括左图像和右图像的帧逐像素地直接扫描到用户的眼睛。为了在视图102中创建三维效果,在两个图像中的不同深度或距离处的对象作为距离的三角测量的函数向左或向右移位,其中较近的对象比较远的对象移位得更多。显示系统510可支持任何介质,诸如光学波导、全息图媒介、光学组合器、光学反射器,或它们的任意组合。在一些实施方案中,显示系统510可以是透明或半透明的,并且被配置为选择性地变得不透明。
[0075]
在各种实施方案中,控制器520包括被配置为促进显示设备100的操作的电路。因此,控制器520可包括被配置为执行程序指令(诸如分配引擎150)的一个或多个处理器,以使显示设备100执行本文所述的各种操作。这些处理器可以是被配置为实现任何合适的指令集架构的cpu,并且可被配置为执行在该指令集架构中定义的指令。例如,在各种实施方案中,控制器520可包括实现多种指令集架构(isa)(诸如arm、x86、powerpc、sparc、risc或mips isa或任何其他合适的isa)中的任何指令集架构的通用处理器或嵌入式处理器。在多处理器系统中,每个处理器可共同实现相同的isa,但不是必需的。控制器520可采用任何微架构,包括标量、超标量、流水线、超流水线、乱序、有序、推测性、非推测性等,或它们的组合。控制器520可包括实现微码技术的电路。控制器520可包括一个或多个级别的高速缓存,该高速缓存可采用任何大小和任何配置(集合关联、直接映射等)。在一些实施方案中,控制器520可包括至少gpu,该gpu可包括任何合适的图形处理电路。通常,gpu可被配置为将待显示对象渲染到帧缓冲区中(例如,包括整个帧的像素数据的帧缓冲区)。gpu可包括一个或多个图形处理器,该图形处理器可执行图形软件以进行部分或全部的图形操作或某些图形操作的硬件加速。在一些实施方案中,控制器520可包括用于处理和渲染视频和/或图像的一个或多个其他部件,例如图像信号处理器(isp)、编码器/解码器(编解码器)等。在一些实施方案中,控制器520可实现为片上系统(soc)。
[0076]
在各种实施方案中,存储器530是非暂态计算机可读介质,该非暂态计算机可读介质被配置为存储由控制器520中的处理器执行的数据和程序指令(诸如分配引擎150)。存储器530可包括任何类型的易失性存储器,诸如动态随机存取存储器(dram)、同步dram(sdram)、双数据速率(ddr、ddr2、ddr3等)sdram(包括sdram的移动版本,诸如mddr3等,或sdram的低功率版本,诸如lpddr2等)、rambus dram(rdram)、静态ram(sram)等。存储器530还可以是任何类型的非易失性存储器,诸如nand闪存存储器、nor闪存存储器、纳米ram(nram)、磁阻ram(mram)、相变ram(pram)、赛道存储器、忆阻器存储器。在一些实施方案中,一个或多个存储器设备可耦接到电路板上以形成存储器模块,诸如单列直插存储器模块(simm)、双列直插存储器模块(dimm)等。另选地,这些设备可与实现系统的集成电路在芯片堆叠构造、封装堆叠构造或多芯片模块构造中安装。
[0077]
在一些实施方案中,可基于特定任务154将与任务154有关的数据存储在存储器
530中。如上所述,一组任务154可链接在一起以由同一计算节点140或显示设备100执行。在这样的实施方案中,用于这组任务154的数据可定位在一起,以便加快存取。例如,数据可在相同的物理存储装置、相同的存储页面、连续的存储地址块等中并置排列。在一些实施方案中,与安全操作相关联的任务154可被加密和/或存储在存储器530的具有受限访问的一部分中。例如,可使用由安全元件540提供的加密来保护存储器530的该部分。
[0078]
在各种实施方案中,安全元件(se)540是被配置为对显示设备100执行各种安全操作的安全电路。如本文所用,术语“安全电路”是指保护经隔离的内部资源使其不被外部电路诸如控制器520直接访问的电路。该内部资源可以是存储敏感数据诸如个人信息(例如,生物识别信息、信用卡信息等)、加密密钥、随机数生成器种子等的存储器。该内部资源还可以是执行与敏感数据相关联的服务/操作(诸如加密、解密、数字签名的生成等)的电路。例如,se 540可维护用于加密存储在存储器530中的数据的一个或多个密码密钥,以便提高显示设备100的安全性。又如,安全元件540还可维护一个或多个密码密钥以建立安全连接、认证显示设备100或显示设备100的用户等。再如,se 540可维护用户的生物识别数据,并且被配置为通过将所维护的生物识别数据与由一个或多个用户传感器120收集的生物识别数据进行比较来执行生物识别认证。如本文所用,“生物识别数据”是指基于用户的物理或行为特性在其他人中间唯一地标识用户(至少达到高精确度)的数据,诸如指纹数据、语音识别数据、面部数据、虹膜扫描数据等。
[0079]
在各种实施方案中,网络接口550包括被配置为与外部实体诸如计算节点140通信的一个或多个接口。如上所述,网络接口550可支持任何合适的无线技术,诸如长期演进
tm
等,或任何合适的有线技术,诸如以太网、光纤信道、通用串行总线
tm
(usb)等。在一些实施方案中,接口550可实现在显示设备100和一个或多个计算节点140之间提供高度定向无线连接的专有无线通信技术(例如,60千兆赫(ghz)无线技术)。
[0080]
在各种实施方案中,控制器560包括被配置为促进显示设备100的操作的电路。控制器560可实现上文相对于控制器520所述的任何功能。例如,控制器560可包括一个或多个处理器,这些处理器被配置为执行程序指令以使计算节点140执行本文所述的各种操作,诸如处理代码566以处理卸载任务145。
[0081]
在各种实施方案中,存储器570被配置为存储由控制器560中的处理器执行的数据和程序指令。存储器570可包括任何合适的易失性存储器和/或非易失性存储器,诸如上文关于存储器530所述的那些。存储器570可以任何合适的配置来实现,诸如上文关于存储器530所述的那些配置。
[0082]
在各种实施方案中,网络接口580包括被配置为与外部实体诸如显示设备100以及其他计算节点140通信的一个或多个接口。网络接口580还可实现任何合适的技术,诸如上文相对于网络接口550所述的那些技术。
[0083]
现在转向图6a,该图示出了设备上处理600a的图示。在例示的实施方案中,设备上处理600a是显示设备100不能使用可用计算节点140来协助呈现3d视图102a的示例。在该特定示例中,用户参与共同在场体验,其中用户正与使用相应化身602a表示的一个或多个其他用户一起查看城市天际线的一些建筑物。因为显示设备100限于其本地计算能力,所以化身602a可被描绘为只有头部,并且较少的建筑物可在视图102a中渲染。
[0084]
现在转向图6b,该图示出了计算节点处理600b的图示。在例示的实施方案中,计算节点处理600b是显示设备100能够利用其他计算节点140的计算能力的示例。在该示例中,用户可参与如上所述的类似共同在场体验,但是显示设备100发现附近的手表140a和工作站140d并将任务154卸载给他们。现在,更详细地渲染3d视图102b,诸如包括更多建筑物。除了头部之外,其他参与者的化身602b现在还具有身体。
[0085]
现在转向图6c,该图示出了共享节点处理600c的图示。如上所述,在一些情况下,两个或更多个显示设备100可共享计算节点140。在例示的实施方案中,共享节点处理600c是共享hpc 140e但使用单独的手表140a1和140a2的显示设备100a和100b的示例。例如,两个用户都可能在举办mr展览的博物馆中,用户在该展览中查看一些建筑物。为了便于用户使用显示设备100a和100b,博物馆可操作hpc 140e,在用户进入展览时,显示设备100a和100b检测该hpc。hpc 140e可允许显示设备100提供比显示设备100仅使用其相应手表140a的情况更鲜明的内容。在这样的示例中,hpc 140e可向显示设备100a提供第一计算能力信息152并且向显示设备100b提供第二计算能力信息152,以便执行从显示设备100a卸载的一个或多个任务,同时执行从显示设备100b卸载的一个或多个任务。随着更多显示设备100发现hpc 140e,其计算能力可变得更受限制,并且在计算能力信息152的后续通信中指示这种限制。因此,显示设备100可将更多任务154重新分配给其相应的手表140a。或者另选地,操作显示设备100a的用户可走离hpc 140e,使得与hpc 140e的网络连接劣化到其不再能使用的程度,并且显示设备100a可在其自身和手表140a之间动态地重新分配任务154。
[0086]
现在转向图6d,该图示出了所存储的处理600d的图示。如上所述,计算节点140可通过存储用于显示设备100的内容来协助显示设备100。在一些实施方案中,该内容可用于促进显示设备100上的后续内容渲染。在一些实施方案中,该内容可用于促进在可包括其他显示设备100的其他设备上呈现内容。例如,在例示的实施方案中,操作显示设备100的用户可正在查看包括三维混合现实(mr)环境的显示内容604,该三维mr环境包括在表面上渲染的建筑物的集合。在一些示例中,用户可能想要共享该显示内容604以用于在另一设备诸如朋友的电话610上重播。响应于接收到这样的请求,显示设备100可请求计算节点140诸如服务器群集140f存储显示内容604。在一些实施方案中,服务器群集140f然后可从电话610接收对显示内容604的请求,并将内容604提供给电话610以在电话610的显示器上呈现。
[0087]
在一些实施方案中,基于由显示设备中的一个或多个传感器110和/或120提供的数据来渲染在显示设备100和电话610上显示的内容604。例如,该数据可包括由显示设备中的传感器收集的数据,该传感器被配置为测量设备100的取向,诸如在设备100是hmd的实施方案中,测量用户头部的姿势。因此,当操作显示设备100的用户改变设备100的取向诸如改变他或她的头部时,可调节显示设备100和电话610两者上的显示内容以反映显示设备100前方的变化的视图。又如,该数据可包括由显示设备中的面向外部的相机收集的数据,该面向外部的相机被配置为捕获显示设备在其中操作的环境的视频帧。因此,该帧中包括的真实世界内容也可被包括在显示设备100和电话610两者上显示的内容604中。在各种实施方案中,除了存储显示内容604之外,服务器群集140f还可接收从显示设备100卸载的一个或多个任务154,以促进为显示设备100渲染内容。在一些实施方案中,接收该一个或多个任务可包括接收由一个或多个传感器110和/或120收集的数据,以及使用所接收的数据来执行一个或多个卸载任务154。
[0088]
现在转向图7a,该图示出了方法700的流程图。方法700是可由显示设备诸如显示设备100或上述设备的其他示例执行的方法的一个实施方案。在许多情况下,方法700(或下面讨论的方法720至770)的执行可通过扩展可用于将内容诸如ar、mr、vr或xr内容递送到显示设备的计算来显著改善用户体验。
[0089]
在步骤705中,显示设备经由网络接口(例如,网络接口550)发现一个或多个计算节点(例如,计算节点140),该一个或多个计算节点能够操作为促进渲染显示在显示设备的显示系统(例如,显示系统510)上的三维内容。在这样的实施方案中,该发现包括接收识别该一个或多个计算节点的促进渲染的能力的信息(例如,计算能力信息152)。在一些实施方案中,在显示系统正在显示三维内容时,显示设备接收识别该一个或多个计算节点促进渲染的当前能力的实时信息。在各种实施方案中,该实时信息包括促进渲染的计算节点的一个或多个功率约束(例如,功率预算336)。在一些实施方案中,该一个或多个功率约束(例如,功率预算336)包括与向计算节点提供功率的电池相关联的约束,与计算节点的处理器利用率相关联的约束,或计算节点的热约束。在各种实施方案中,该实时信息包括促进渲染的计算节点的一个或多个延迟约束(例如,网络能力338和任务延迟344)。在一些实施方案中,该一个或多个延迟约束包括计算节点与显示设备之间的网络连接的延迟,网络连接的带宽,或识别用于在计算节点处执行分布式任务的预期时间的时间值。
[0090]
在各种实施方案中,该发现包括经由网络接口发送征求计算节点的协助以促进渲染的请求(例如,发现引擎210),并且基于从一个或多个计算节点接收的响应来识别该一个或多个计算节点。在一些实施方案中,识别该一个或多个计算节点包括确定该一个或多个计算节点是否与显示设备共享共同用户(例如,为初级网格142a的一部分)。在一些实施方案中,该发送包括在可经由网络接口访问的局域网上广播该请求(例如,发现广播302)。在一些实施方案中,该发现包括经由网络接口发送征求来自实现基于云的服务的计算机群集(例如,服务器群集140f)的协助以渲染三维内容的请求,以及将该组任务中的一个或多个任务分配到该计算机集群。
[0091]
在步骤710中,显示设备基于所接收的信息来评估一组任务(例如,任务154)以识别要卸载到一个或多个计算节点以促进渲染的一个或多个任务。在各种实施方案中,显示设备确定用于在显示设备和该一个或多个计算节点之间分配任务的多个不同的分配计划(例如,分配计划244),基于所接收的信息计算用于该多个不同的分配计划中的每一个分配计划的代价函数(例如,代价函数242),并且基于所计算的代价函数来选择用于分配的多个分配计划中的一个分配计划。
[0092]
在各种实施方案中,显示设备从显示设备的用户接收执行特定操作(包括显示三维内容)的请求,并且基于该特定操作,确定包括多个图节点的图数据结构,该多个图节点中的每一个图节点定义用于执行该组任务中的相应一个任务的一组约束。在这样的实施方案中,该组任务的评估包括分析图数据结构以确定用于分配的分配计划。在一些实施方案中,该多个图节点中的一个图节点指定用于使用特定硬件来执行该组任务中的一个任务的约束(例如,期望的计算能力422),并且该评估包括识别具有用于执行该任务的特定硬件的计算节点。在一些实施方案中,该特定硬件是图形处理单元(gpu)。在一些实施方案中,显示设备包括相机,该相机被配置为捕获用户在其中操作显示设备的环境的图像,任务是对图像中存在的对象进行分类(例如,对象分类154c),并且特定硬件是实现能够操作为对对象
进行分类的神经网络分类器的硬件。在一些实施方案中,显示设备包括相机,该相机被配置为捕获用户在其中操作显示设备的环境的图像,多个图节点中的一个图节点指定对使用该图像以安全方式执行任务的约束(例如,安全要求420),并且评估包括识别能够操作为以安全方式执行该任务的计算节点。在一些实施方案中,计算节点的识别包括确定显示设备和计算节点之间的网络连接被加密。
[0093]
在各种实施方案中,显示设备收集与用户对根据特定服务质量渲染三维内容的容差有关的一个或多个特定于用户的参数(例如,参数232),并且该组任务的评估基于所收集的一个或多个特定于用户的参数。在一些实施方案中,该一个或多个特定于用户的参数包括用于显示三维内容的最小帧速率,用于显示三维内容的最小延迟,或用于显示三维内容的最小分辨率。
[0094]
在步骤715中,显示设备经由网络接口将所识别的一个或多个任务分配给一个或多个计算节点以供该一个或多个计算节点处理。在一些实施方案中,步骤715包括显示设备基于实时信息动态地识别用于卸载的任务中的一些,以及在显示设备和该一个或多个计算节点之间重新分配动态地识别的任务。在一些实施方案中,显示设备分析所接收的实时信息以预测一个或多个计算节点的促进渲染的未来能力(例如,预测条目300c),并且基于所预测的未来能力,在显示设备和该一个或多个计算节点之间重新分配动态地识别的任务。
[0095]
现在转向图7b,该图示出了方法720的流程图。方法720是可由执行程序指令(诸如分配引擎150的程序指令)的计算设备(诸如显示设备100或计算节点140中的一个计算节点)执行的方法的一个实施方案。
[0096]
在步骤725中,该计算设备接收识别一个或多个计算节点的促进渲染显示在显示设备上的三维内容(例如,3d视图102)的能力的计算信息(例如,计算能力信息152)。在一些实施方案中,当在显示设备上显示三维内容时连续地接收该计算信息,并且该计算信息包括(例如,处理器能力332、存储器能力334或网络能力338)用于包括在一个或多个计算节点中的一个或多个硬件资源的利用率。在一些实施方案中,在接收该计算信息之前,计算设备通过发送要求协助渲染三维内容的广播(例如,发现广播302)来发现一个或多个计算节点。
[0097]
在步骤730中,计算设备基于该计算信息来确定是否卸载与三维内容的渲染相关联的一个或多个任务(例如,任务154)。在一些实施方案中,计算设备计算用于在一个或多个计算节点之间分配一个或多个任务的多个不同的分配计划(例如,分配计划244)的代价函数(例如,代价函数242),并且基于该计算,选择该多个分配计划中的被确定为具有最低功率消耗的一个分配计划。在一些实施方案中,计算设备从显示设备的用户接收要提供给用户的期望体验的指示(例如,所请求的体验指示204),并且基于该指示,确定图数据结构(例如,任务图222),该图数据结构具有对应于用于提供该体验的一组任务的多个图节点,并且确定是否卸载该一个或多个任务包括评估在该多个图节点中指定的参数(例如,任务约束410)。在一些实施方案中,该多个图节点中的一个图节点识别要执行的特定任务(例如,类型412)并且识别用于执行该任务的特定延迟(例如,期望的任务延迟414),并且确定是否卸载该一个或多个任务包括确定计算节点是否能够满足该特定延迟。在一些实施方案中,计算设备评估用户与三维内容的交互以确定对与渲染相关联的延迟的特定于用户的容差(例如,特定于用户的qos参数),并且基于所确定的对延迟的特定于用户的容差来确定是否卸载该一个或多个任务。
[0098]
在步骤735中,计算设备将该一个或多个任务卸载到一个或多个计算节点,以使该一个或多个计算节点执行一个或多个卸载任务。在一些实施方案中,计算设备从附接到显示设备的相机接收从显示设备在其中操作的环境收集的图像(例如,视频帧402),并且向计算节点卸载任务,该任务包括使用所收集的图像的内容来产生显示在显示设备上的混合现实内容。
[0099]
现在转向图7c,该图示出了方法740的流程图。方法740是可由实现计算节点(诸如计算节点140)的计算设备执行的方法的一个实施方案。
[0100]
在步骤745中,计算设备提供识别计算设备的促进渲染显示在显示设备(例如,显示设备100)上的三维内容(例如,3d视图102)的能力的计算信息(例如,计算能力信息152)。在各种实施方案中,在计算设备正在执行一个或多个任务时,计算设备连续地提供该计算信息。在一些实施方案中,该计算信息包括指示向计算设备供电的电池的当前电量的值(例如,功率预算336)。在一些实施方案中,该计算信息包括可用于确定计算设备执行卸载任务的预期时间的延迟信息(例如,任务延迟344)。在一些实施方案中,计算设备接收协助渲染三维内容的请求(例如,发现广播302),并且响应于该请求,提供关于计算设备的用户的信息(例如,用户信息306),关于用户的信息可用于确定显示设备是否正被同一用户使用。
[0101]
在步骤750中,计算设备基于所提供的计算信息接收从显示设备卸载的一个或多个任务(例如,任务154)。在一些实施方案中,步骤750包括计算设备接收从嵌入在显示设备中的相机(例如,相机传感器110)收集的图像信息(例如,视频帧402、边界框404或裁剪帧406)。
[0102]
在步骤755中,计算设备执行该一个或多个任务以促进三维内容的渲染。在一些实施方案中,步骤755包括计算设备处理所接收的图像信息以产生要与三维内容混合的内容,从而在显示设备上呈现混合现实环境。
[0103]
在步骤760中,计算设备提供执行这些任务所产生的结果。
[0104]
在各种实施方案中,方法740还包括计算设备接收识别一个或多个其他计算设备的促进渲染显示在显示设备上的三维内容的能力的计算信息,以及提供从显示设备卸载到该一个或多个其他计算设备的一组任务。在一些实施方案中,计算设备将所接收的计算信息提供给另一个计算设备,该另一个计算设备被配置为确定是否将该组任务卸载到该一个或多个其他计算设备。在一些实施方案中,计算设备基于所接收的计算信息来确定是否将该组任务卸载到该一个或多个其他计算设备。在一些实施方案中,计算设备:提供第一计算信息,该第一计算信息识别计算设备的促进渲染显示在第一显示设备(例如,图6c中的显示设备100a)上的三维内容的能力;提供第二计算信息,该第二计算信息识别计算设备的促进渲染显示在第二显示设备(例如,显示设备100b)上的三维内容的能力;并且执行从第一显示设备卸载的一个或多个任务,同时执行从第二显示设备卸载的一个或多个任务。
[0105]
现在转向图7d,该图示出了方法770的流程图。方法770是由计算系统(诸如系统10或计算节点140中的一个计算节点)执行以促进在其他设备上共享显示设备的内容的方法的一个实施方案。
[0106]
方法770从步骤775开始,其中计算系统存储为显示设备(例如,显示设备100)渲染的三维内容(例如,显示内容604)。在各种实施方案中,基于由显示设备中的一个或多个传感器(例如,环境传感器110或用户传感器120)提供的数据来渲染该三维内容。在一些实施
方案中,该三维内容包括基于用户在其中操作显示设备的环境渲染的混合现实(mr)内容。在一些实施方案中,该数据包括由显示设备中的被配置为测量用户头部姿势的传感器收集的数据。在一些实施方案中,该数据包括由显示设备中的面向外部的相机收集的数据,该面向外部的相机被配置为捕获显示设备在其中操作的环境的视频帧。在步骤780中,计算系统从除显示设备之外的计算设备(例如,电话610)接收对三维内容的请求。在步骤785中,计算系统向计算设备提供三维内容以用于呈现在计算设备的显示器上。在各种实施方案中,方法770还包括计算系统接收从显示设备卸载的一个或多个任务(例如,任务154)以促进三维内容的渲染。在一些实施方案中,接收该一个或多个任务包括接收由一个或多个传感器收集的数据,以及计算系统使用所接收的数据执行一个或多个卸载任务,从而促进渲染。
[0107]
现在转向图8,该图示出了能力交换800的框图。如上所述,计算节点140可向分配引擎150提供计算能力信息152,以便于确定应卸载哪些任务154。在一些实施方案中,为了确保该信息152准确,该信息中的一些可包括在由计算节点140提供的签名证明中。因此,在例示的实施方案中,计算节点140(诸如平板电脑140c)可联系可信证书授权方820以获得证实其能力的签名证书812,并且将证书812提供给分配引擎150。
[0108]
在各种实施方案中,可信证书授权方(ca)810是被配置为发布签名证书812的可信计算系统。在一些实施方案中,ca 810可由显示设备100和/或计算节点140的制造商操作;然而,在其他实施方案中,ca 810可由某个其他实体操作。在各种实施方案中,计算节点140可通过生成具有公钥814a和对应私钥814b的公钥对并向ca 810发出证书签名请求(csr)来获得证书812。在一些实施方案中,csr进一步由计算节点140所维护的可信密钥签名,以便与ca 810建立信任。这样的可信密钥例如可在计算节点140的制造期间存储在该计算节点中。在一些实施方案中,该可信密钥对于给定的计算节点140可以是唯一的(或者,在另一个实施方案中,对于特定代的相同型号的设备是唯一的,即,相同型号和代的设备可存储同一密钥)。一旦csr可被成功验证,ca 810就可发布对应的证书812,该证书可使用由ca 810维护的可信私有密钥来签名。
[0109]
证书812可包括可由分配引擎150使用的任何合适的信息,诸如上面讨论的参数332至344中的一者或多者。例如,证书812可指定计算节点140包括安全硬件(例如,se、hsm、安全处理器等)作为安全能力340。又如,证书812可指定用于执行神经网络相关任务154的任务亲近性342,因为计算节点140可包括实现神经网络引擎的专用硬件。在一些实施方案中,证书812可包括证实计算节点140是真实设备的制造商信息,诸如识别制造商的名称并确认计算节点140的真实性已被验证。证书812还可包括公钥814a、使用私钥814b生成的数字签名以及上述ca 810的数字签名。在一些实施方案中,证书812可以是x.509兼容的;然而,在其他实施方案中,证书812可使用某种其他形式的签名证明来实现。
[0110]
一旦接收到证书812,分配引擎150就可验证证书812以确保其真实性。这可包括验证ca 810的签名以确保证书812的内容的完整性。在一些实施方案中,分配引擎150可通过向计算节点140发出质询以使用公钥对中的私钥814a执行密码操作并且使用公钥对中的公钥814a验证密码操作的结果(例如,数字签名)来进一步验证计算节点140。如果验证成功,则分配引擎150然后可尝试识别具有与证书812中识别的能力匹配的任务约束410的任务154。在一些实施方案中,显示设备100还可使用公钥814a来建立与计算节点140的安全连接,诸如使用椭圆曲线迪菲

赫尔曼(ecdh)交换来建立共享密码密钥。
[0111]
现在转向图9,该图示出了方法900的流程图。方法900是可由计算设备诸如显示设备100或上述设备的其他示例执行的方法的一个实施方案。在许多情况下,方法900的执行可改善计算设备在与其他计算节点交互以呈现cgr体验时的安全性。
[0112]
在步骤905中,计算设备识别要执行的用于向用户呈现计算机生成的现实(例如,3d视图102)的多个任务(例如,任务154)。在各种实施方案中,该多个任务包括需要执行特定能力的任务。在一些实施方案中,步骤905包括评估具有对应于该多个任务的图节点的图数据结构(例如,任务图222),其中图节点指定用于执行该多个任务的标准(例如,任务约束410)。在这样的实施方案中,计算设备从图节点中的一些确定一个或多个任务需要一个或多个能力(例如,基于期望的计算能力422)。
[0113]
在步骤910中,计算设备从计算节点(例如,计算节点140)接收指定该计算节点具有一个或多个能力的签名证明(例如,能力证书812)。在一些实施方案中,签名证明指定计算节点包括被配置为以密码方式隔离在由计算节点执行卸载任务期间操作的数据的安全硬件(例如,安全元件540)。在一些实施方案中,签名证明指定计算节点包括可用于执行卸载任务的神经网络引擎。在一些实施方案中,签名证明证实计算节点是特定制造商的真实产品。在各种实施方案中,签名证明由证书授权方(例如,证书授权方810)响应于由计算节点发出的对由计算节点生成的公钥对的证书签名请求而发出。
[0114]
在步骤915中,响应于签名证明的成功验证,计算设备向计算节点卸载多个任务中的被确定为需要签名证明中指定的一种或多种能力的一个或多个任务。在一些实施方案中,计算设备通过向计算节点发出质询以使用公钥对中的私钥(例如,私钥814b)执行密码操作并且使用公钥对中的公钥(例如,公钥814a)验证密码操作的结果来验证该签名证明。
[0115]
现在转向图10,该图示出了个性化引擎230的框图。如上所述,个性化引擎230可产生与特定用户对特定服务质量的偏好或容限有关的特定于用户的qos参数232。在例示的实施方案中,引擎230包括一个或多个似然估计器1010、信号编码器1020和个人高速缓存1030。在其他实施方案中,引擎230可与所示的不同地实现。
[0116]
在各种实施方案中,似然估计器1010分析与用户体验相关的信号和特定于条件的特征(例如,以保持对象形状、增强音频、平滑、滤波、压缩等)。在例示的实施方案中,估计器1010接收传感器流1002、系统约束1004和情境提示1006。传感器流1002可包含原始多模态传感器数据(例如,来自相机、惯性测量单元(imu)、音频传感器,或环境传感器110和用户传感器120中的另一者)和计算的元数据(例如,与信号的统计属性有关)。系统约束1004可包含与功率、计算、延迟有关的约束或上面讨论的各种其他约束。情境提示1006可提供关于可能更相关的显著性和属性的提示,诸如用户情境(例如,内容偏好、安全性、隐私、情绪状态、健康相关、音频音量)、感知容差阈值(例如,感测不适)、安全性(例如,警告以避免危险)等。情境提示1006还可包括关于显示设备100可提供特定体验的特定位置/区域的信息(例如,在商店、博物馆等中),因此,个性化引擎230可基于在特定位置/区域中递送策划的体验来定制/个性化qos参数232。在例示的实施方案中,估计器1010将概率图1012输出到信号编码器1020。
[0117]
在各种实施方案中,信号编码器1020使用概率图1012和动态qos估计1022来生成特定于用户的参数206。qos估计1022可基于位置和网络条件(或其他条件)。在各种实施方案中,参数206可作为可应用于满足整体系统约束(例如,有关位置、功率、延迟、带宽、保真
性等)的qos向量值来输出。
[0118]
在各种实施方案中,个人高速缓存1030存储各种参数信息,这些参数信息可先前由似然估计器1010和信号编码器1020确定并在后续确定中进行分析。在例示的实施方案中,这些参数包括先前确定的概率图1012和先前确定的特定于用户的qos参数206,它们可与其他阶段(例如,估计、训练、推断、适应)组合。在各种实施方案中,个人高速缓存1030以保留所存储的信息的隐私的方式实现,因为该信息可能包括用户相关的信息。
[0119]
***
[0120]
尽管上文已经描述了具体实施方案,但这些实施方案并非要限制本公开的范围,即使仅相对于特定特征描述单个实施方案的情况下也是如此。本公开中提供的特征示例意在进行例示,而非限制,除非做出不同表述。上述说明书意在涵盖此类替代形式、修改形式和等价形式,这对知晓本公开有效效果的本领域技术人员将是显而易见的。
[0121]
本公开的范围包括本文(明确或暗示)公开的任意特征或特征的组合或其任意概括,而无论其是否减轻本文解决的任何或所有问题。因此,在本专利申请(或要求享有其优先权的专利申请)进行期间可针对特征的任何此类组合作出新的权利要求。具体地,参考所附权利要求书,可将从属权利要求的特征与独立权利要求的特征进行组合,并可通过任何适当的方式而不是仅通过所附权利要求书中所列举的特定组合来组合来自相应独立权利要求的特征。
再多了解一些

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

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

相关文献