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

用于虚拟对象呈现的边缘检测和平滑处理的制作方法

2022-06-12 03:51:11 来源:中国专利 TAG:


1.本说明书一般涉及虚拟或增强现实系统中的图像处理。


背景技术:

2.虚拟或增强现实(var)系统可用于显示虚拟内容以增强物理现实视图。然而,由var显示系统渲染的三维(3d)全息图像可能会因噪声和受损的体积重建而受到低质量影响。


技术实现要素:

3.本说明书中描述的主题的创新方面涉及使用增强的边缘检测和平滑技术来改进图像的体积重建。
4.本说明书中描述的主题的创新方面在一些实现方式中包括包括若干操作的计算机实现的方法。该操作包括从一对相机获得图像数据;根据图像数据确定三角形的网格;执行网格平滑和边缘平滑以去除三角形的网格中的噪声;从网格中去除不满足贡献阈值的一个或多个顶点;在从网格中去除一个或多个顶点之后,在存储器中存储表征网格的网格数据;以及向渲染设备发送网格数据,该渲染设备被配置为基于网格数据来渲染全息图像。
5.实现方式可以各自可选地包括以下特征中的一个或多个。例如,在一些实现方式中,计算机实现的方法包括确定三角形的边缘的操作。这可以通过对网格中的每个顶点执行一组操作来完成。该组操作包括确定位于与顶点相距一个顶点的相邻顶点;确定相邻顶点和顶点是否共享公共三角形;当相邻顶点和顶点被至少两个三角形共享时,确定相邻顶点和顶点是网格的内部节点;当相邻顶点和顶点是一个三角形的一部分时,确定相邻顶点和顶点是网格的外部节点。
6.在一些实现方式中,计算机实现的方法包括对于每个内部节点确定到网格的边缘的距离。距离是从内部节点到达边缘的跳数。
7.在一些实现方式中,执行网格平滑和边缘平滑的操作包括对每个顶点执行一组操作。该组操作包括确定与顶点共享三角形的顶点的平均位置,以及修改顶点的位置,以更接近与顶点共享三角形的顶点的平均位置。
8.在一些实现方式中,执行网格平滑和边缘平滑的操作包括识别位于与网格的特定边缘相距确定跳数的顶点;识别共享三角形并位于与特定边缘相距确定跳数的其它顶点;确定其它顶点的平均位置;以及修改顶点的位置,以使得顶点的位置更接近平均位置。
9.在一些实现方式中,计算机实现的方法包括确定两个顶点被分开小于阈值距离的距离,并且合并该两个顶点。
10.在一些实现方式中,从网格中去除不满足贡献阈值的一个或多个顶点的操作包括识别属于相同的三角形的一对顶点;如果该对顶点被合并,则确定对网格的影响;以及确定对网格的影响小于贡献阈值。
11.在一些实现方式中,当该对顶点被合并时确定对网格的影响的操作包括:在该对
顶点被合并之前和之后确定所有相邻三角形之间的角度的变化。
12.在一些实现方式中,计算机实现的方法包括:通过去除形成网格中的子网格的一个或多个三角形,在去除一个或多个顶点之前从网格去除一个或多个三角形。
13.在一些实现方式中,网格数据包括指示一个或多个图像中的颜色和从一对相机到一个或多个图像中的像素的深度的数据。
14.在一些实现方式中,本说明书中描述的主题的方面还包括虚拟或增强现实系统,其包括框架结构、计算设备、存储器和头戴式装置。框架结构包括被配置为获得图像数据的一对深度传感器。计算设备被耦合到框架结构。计算设备被配置为从一对深度传感器获得图像数据;根据图像数据确定三角形的网格;执行网格平滑和边缘平滑以去除三角形的网格中的噪声;以及从网格中去除不满足贡献阈值的一个或多个顶点。存储器被配置为在从网格中去除一个或多个顶点之后存储表征网格的网格数据。头戴式装置被配置为基于网格数据来渲染全息图像。
15.在一些实现方式中,本说明书中描述的主题的方面还包括一种包括指令的非暂态计算机可读存储介质,该指令当由一个或多个计算设备执行时使该一个或多个计算设备执行操作。该操作包括从一对相机获得图像数据;根据图像数据确定三角形的网格;执行网格平滑和边缘平滑以去除三角形的网格中的噪声;从网格中去除不满足贡献阈值的一个或多个顶点;在从网格中去除一个或多个顶点之后,在存储器中存储表征网格的网格数据;以及向渲染设备发送网格数据,该渲染设备被配置为基于网格数据来渲染全息图像。
16.该方面的其它实现方式包括记录在计算机存储设备上的对应系统、装置和计算机程序,每个都被配置为执行该方法的操作。
17.本说明书中描述的主题的一个或多个实现方式的细节在附图和以下描述中阐述。本主题的其它特征、方面和优点将从描述、附图和权利要求中变得显而易见。
附图说明
18.图1描绘具有双传感器平台的虚拟或增强现实(var)系统的示例。
19.图2描绘用于3d全息图像重建的示例方法以及用于在var图像中进行边缘检测和平滑的管道中的位置。
20.图3描绘可用于生成三角形网格的移动立方体(marchingcubes)算法的独特情况。
21.图4描绘示例三角形网格的一部分。
22.图5a、5b、5c和5d描绘边缘平滑的示例。
23.图6a和图6b描绘边缘平滑的示例。
24.图7a和图7b描绘网格简化的示例。
25.不同附图中的相同附图标记和名称表示相同的元件。
具体实施方式
26.全息图是沉浸式视觉协作体验的一部分,其允许各种参与者虚拟地彼此交互。用户可以在共享的数字空间中操纵虚拟内容来参与虚拟活动,例如与另一个用户下虚拟象棋,而不是与屏幕交谈。全息技术和var系统在多个领域都具有应用,诸如例如电子游戏、在线教育、虚拟协助、共享工作环境、远程呈现和远程协作。
27.虽然var系统经常使用全息投影向用户显示图像和内容,但var系统一直在努力有效地实现用户与全息投影的交互。诸如网络或计算设备无法处理大量图像数据的约束影响了实时流式传输和渲染令人满意的全息投影的能力。
28.在足够系统资源可用的一些系统中,全息投影的质量由于较差的全息渲染而仍然很低。例如,由于诸如人的对象的边缘处存在的噪声伪影,全息图像可能会出现波浪状或锯齿状。此类质量问题不仅对用户的观看体验具有负面影响,而且由于对象的边界不明确限定或不可见,因此难以与全息投影进行交互。以下公开描述了用于解决该问题并增强与全息图像和显示器交互的用户体验的系统和方法。
29.如下文更详细解释的,可以从深度传感器捕获图像数据并且可以从图像数据生成三角形网格。可以通过确定网格中的边缘的位置、法线和边缘距离来处理三角形网格。使用该信息,可以执行网格和边缘平滑以减少噪声和锯齿状边缘。可以执行附加操作,诸如纹理投影和网格清理(cleanup)和简化以减少顶点和三角形的数量,以提高网格的质量。来自所得网格的数据可以发送到接收设备,其中网格数据用于再现由深度传感器捕获的图像数据的全息图像。
30.本公开中描述的边缘检测和网格平滑方法是有利的,因为它可以以非常低的等待时间执行,从而允许实时渲染流式传输的图像数据。此外,本公开中描述的方法和系统可以容易地集成到新的和现有的应用中,以跨各种平台增强用户体验。
31.图1描绘具有双传感器平台的示例var系统100。系统100可以包括云平台150、至少两个计算设备110、160、至少两个头戴式装置140、190、以及至少两个传感器支架(mount)120a、120b、170a、170b,以为用户130、180渲染全息图像。两个用户130、180可以通过var系统100彼此通信。
32.用户130可以佩戴头戴式装置140并且可以利用计算设备110与var系统100交互。计算设备110可以被连接到一个或多个深度传感器120a和120b,它们组合形成传感器支架的一部分。计算设备110也可以以有线或无线方式被连接到头戴式装置140。类似地,用户180可以佩戴头戴式装置190并且可以利用计算设备160与var系统100交互。计算设备160可以被连接到两个深度传感器170a和170b,它们组合形成另一个传感器支架的一部分。计算设备160也可以以有线或无线方式被连接到头戴式装置190。
33.头戴式装置140和190可以分别被安装到用户130和180的头部上。每个头戴式装置140、190可以包括立体头戴式显示器,以为每只眼睛、立体声音和头部运动跟踪传感器(例如陀螺仪、加速度计和/或磁力计)提供单独的图像。在一些实现方式中,头戴式装置140、190还可以包括眼睛运动跟踪传感器。
34.每个头戴式装置140、190可以包括用于将显示映射到宽视野的一对透镜。头戴式装置140、190可以包括一个或多个相机以捕获真实世界图像,该真实世界图像与虚拟对象一起显示在提供给用户130、180的增强视图中的。在一些实现方式中,头戴式装置140、190可以包括或被耦合到一个或多个传感器和处理器以执行校准,用于将虚拟对象与真实世界图像正确对齐。
35.头戴式装置140、190也可以用于观看全息图像。例如,可以发送由深度传感器120a和120b捕获的图像数据,用于渲染可通过用户180佩戴的头戴式装置190观看的全息图像。类似地,可以发送由深度传感器170a和170b捕获的图像数据,用于渲染可通过由用户130佩
戴的头戴式装置140观看的全息图像。
36.每个计算设备110、160可以被连接到传感器支架,该传感器支架可以包括一个或多个深度传感器。例如,计算设备110被连接到深度传感器120a和120b,并且计算设备160连被接到深度传感器170a和170b。每个深度传感器120a、120b、170a、170b可以捕获红色、绿色、蓝色(rgb)图像和数据流以生成深度图。通过组合来自每个传感器支架中的一个或多个深度传感器或相机的数据,由传感器支架获得的数据可用于生成用户130或180的三维(3d)图像。用户130或180的这些虚拟表示被发送到他们的对应部分(counterpart)以与虚拟对象对齐并与真实世界图像组合。
37.除了计算设备110与用户130相关联并且计算设备160与用户180相关联之外,计算设备110可以与计算设备160相同或相似。特别地,计算设备110可以接收来自用户130、头戴式装置140、深度传感器120a、120b和云平台150的数据和/或向用户130、头戴式装置140、深度传感器120a、120b和云平台150发送数据。计算设备160可以从用户180、头戴式装置190、深度传感器170a、170b和云平台150接收数据和/或向用户180、头戴式装置190、深度传感器170a、170b和云平台150发送数据。在一些实现方式中,计算设备110、180可以各自是诸如膝上型计算机或台式机的计算机,并且可以被配置为处理大量的图形数据。
38.计算设备110和160中的每一个可以包括一个或多个处理器、存储器、用户接口(例如,显示器、鼠标、麦克风、扬声器)、通信接口和收发机,以及各种其它组件。例如,每个计算设备110/160可以包括一个或多个图形处理单元(gpu),以将从深度传感器120a、120b、170a、170b获得的大量的原始图像数据处理成平滑的全息图,将其压缩到可比较的带宽以流式传输高清(hd)视频。
39.特别地,计算设备110或160中的gpu可以为由深度传感器120a、120b、170a、170b捕获的图像生成传感器深度图,确定3d空间以匹配传感器深度图,在匹配的3d空间中确定平滑网格几何图形(geometry),执行几何图形的简化以减少图形数据点的量,并将彩色图像作为纹理投影到几何图形,并在重叠边缘处混合这些图像。这些操作将关于图2更详细地描述。
40.包括图像115a和115b的图像集115提供了由gpu执行的图像处理类型的示例。例如,人的图像可以由深度传感器120a和120b捕获。可以从图像生成三角形的网格并且可以确定网格中的边缘,如图像115a中所示。网格和边缘可以被平滑和简化(a1),之后可以将纹理和颜色信息添加到网格,从而产生可能类似于图像115b的图像。来自图像115b的数据可以通过云平台150发送到与用户180相关联的头戴式装置190和计算设备160(a2),使得可以渲染基于来自图像115b的数据的全息图像115c以供用户180观看(a3)。如在图像115c中可以看出,人的图像115b被叠加到围绕观看者或用户180的环境的图像上。在图像115c中为了强调而示出了网格,尽管在渲染完成之后,用户180可能无法通过头戴式装置190看到网格。
41.计算设备110中的gpu可以以上述方式以高数据速率流式传输图像数据,以使用户180能够无缝观看全息图像。
42.计算设备110和160中的收发机包括发射机和接收机以与其它设备通信,例如深度传感器120a、120b、170a、170b和头戴式装置140、190,以及一个或多个网络,例如无线网络155。收发机可以包括放大器、调制器、解调器、编码器、解码器、天线和各种其它组件。收发机可以将从诸如服务器、数据库和电子设备的其它外部设备接收到的数据引导到具有诸如
处理器或存储器的计算设备110/160中的其它组件。收发机还可以将从计算设备110/160内的组件接收的数据引导到外部设备。
43.来自计算设备110的数据可以通过无线网络155并通过云平台150发送到计算设备160和从计算设备160接收。来自计算设备160的数据可以通过无线网络155并且通过云平台150发送到计算设备110和从计算设备110接收。通常,来自计算设备110、160的数据可以跨各种类型的有线或无线网络发送。在一些实现方式中,可以在不使用云平台150的情况下发送数据。
44.云平台150可以作为通信交换板操作。特别地,云平台150可以促进用户140、180加入全息会话并与其他人互连。云平台150可以按需托管会话并且快速有效地扩展到各个用户之间的无限数量的同时发生的会话。
45.在一些实现方式中,云平台150可以包括网关、门户网站和会话服务器。网关可以管理存储用户和会话数据的一个或多个数据库。用户和会话数据可以包括如下数据,诸如例如指示登录到var系统100的用户的数据,诸如会话开始时间、会话持续时间、会话主题、预先安排的会话时间、参与会话的用户,以及会话中涉及的用户设备的ip和/或mac地址的会话信息。来自会话的数据可以在用户授权的情况下存储,并且可以在恢复会话或用户请求来自过去会话的数据时被调用。
46.网关可以管理多个会话服务器并且可以接收和发送数据以促进全息图像的流式传输和渲染。在一些情况下,网关可以向用户设备或系统组件(诸如计算设备110、160或头戴式装置140、190)提供一个或多个应用程序接口(api)。
47.门户网站是最终用户和管理员的网络界面。网关可以提供用于配置门户网站的数据。通过门户发送和接收的数据可以被发送到网关。会话服务器可以在会话期间托管用户之间的实时通信。
48.通常,可以使用一个或多个服务器、数据库和/或计算设备来实现云平台150,以执行用于实现上述操作的软件和算法。云平台150可以为系统100的各种组件(例如,计算设备110、160)之间发送的数据提供存储服务。云平台150可以集成在一个位置中或分布在多于一个的位置中。
49.无线网络155可以将云平台150连接到与用户130、180相关联的计算设备110、160。在一些实现方式中,无线网络155可以是互联网。通常,无线网络155可以包括各种类型的网络,包括诸如蓝牙和wifi网络的短距离网络,以及诸如蜂窝网络或互联网的长距离网络。在一些实现方式中,无线网络155可以包括云系统,该云系统包括云平台150。
50.无线网络155可以包括接入点、存储系统、云系统、模块、包括一个或多个媒体数据库的一个或多个数据库,以及包括一个或多个网络服务器的服务器。该一个或多个网络服务器可以包括任何合适的计算设备,包括但不限于个人计算机、服务器计算机、一系列服务器计算机、小型计算机和大型计算机,或它们的组合。该一个或多个网络服务器还可以包括应用服务器或一系列服务器。该一个或多个网络服务器可以用于和/或提供云和/或网络计算服务。
51.虽然图1描绘了具有两个用户和计算设备的示例,但是在一些实现方式中,可以仅使用一个计算设备和/或仅一个头戴式装置。例如,当一个人具有头像而不是全息图,或者一个人在深度传感器前讲课而不需要头戴式装置时,可以使用单个计算设备。
52.图2示出用于生成3d全息图像的示例流程图,包括图像中的边缘检测和平滑。关于图2描述的操作可以由一个或多个计算设备(诸如计算设备110或160)执行。在一些实现方式中,该操作可以由云平台150中的计算设备或被耦合到头戴式装置140或190的设备110或160以外的计算设备执行。除非另有说明,否则在图2的讨论中所称的用户是指用户140或用户190。在图2的讨论中所称的深度传感器是指一对深度传感器120a和120b或一对深度传感器170a和170b。在图2的讨论中所称的头戴式装置是指头戴式装置140或头戴式装置190。
53.图2中所示的过程开始于操作205,其中可以从一个或多个深度传感器获得数据。获得的数据可以包括由深度传感器中的相机捕获的图像。数据还可以包括颜色信息和每个像素的深度值(从相机到该像素的深度)。可以使用各种合适的方法来确定深度值,诸如立体三角测量、光三角测量、结构光、飞行时间、或干涉测量。
54.从深度传感器获得的数据可用于构建3d图像空间或体素空间。在操作210中,可以通过将相机前面的空间划分为小立方体的集合来重建体素空间。计算设备可以基于每个像素的深度值划分体素空间。
55.在操作215中,可以将小立方体转换成三角形的网格。立方体由八个体素组成。可以基于体素是否被填充来识别三角形。移动立方体算法或其它合适的技术可以迭代地应用于每个立方体以识别三角形。图3示出移动立方体算法中可用于生成三角形网格的15个独特情况。在处理完所有立方体之后,例如如由移动立方体算法识别的已识别三角形的联合可用于生成三角形网格。
56.接下来,在操作220中,可以通过计算每个三角形的法线来确定三角形的特征。顶点是指已识别三角形之一的角。使用每个三角形的顶点,由三角形的顶点形成的向量可用于生成三角形的法线。在该三角形网格中,可以将特定三角形的法线计算为接触特定三角形的三角形法线和仅为特定三角形确定的法线的加权平均值。
57.在操作225中,可以确定三角形网格的边缘。对于每个顶点,计算设备可以确定相邻顶点(与顶点相距一个顶点的顶点)是什么以及相邻顶点和顶点是否共享公共三角形。当一对顶点共享两个三角形时,该顶点被确定在三角形网格的中间。当该对顶点仅共享单个三角形时,这些顶点被确定为位于三角形网格的边缘处。
58.例如,图4描绘了示例三角形网格400的一部分。计算设备可以确定顶点3和4位于网格的边缘处,因为它们仅共享单个三角形。计算设备还可以确定顶点1和2位于网格的中间某处,因为顶点1和2共享两个三角形。顶点3和4可以指定为边缘节点,并且顶点1和2可以指定为内部节点。
59.在操作230中,计算设备可以确定每个内部节点到边缘的距离,即,顶点在网格的内侧(inside)。距离可以用各种方式来描述,包括例如从顶点到达边缘的跳数。在一些实现方式中,可以通过将一跳添加到相邻顶点的确定距离来确定该距离。如果存在多个相邻顶点,则可以使用从相邻顶点的距离获得的最小距离。可以对每个内部节点执行该确定的多次迭代,以正确确定每个内部节点到边缘的距离。在一些实现方式中,可以对于每个顶点并行执行边缘距离确定。
60.在操作225中确定边缘和在操作230中确定到边缘的距离之后,计算设备可以可选地在操作235中执行网格平滑。为了平滑三角形网格,计算设备可以确定要被平滑的每个顶点,与顶点共享三角形的顶点的平均位置。然后修改顶点的当前位置,以更接近与顶点共享
三角形的顶点的平均位置。
61.在操作240中,可以平滑边缘。平滑可以应用于位于与边缘相距确定跳数(例如,3跳)的每个顶点。var系统100的操作员可以调节确定跳数,以改变边缘平滑的程度。
62.为了执行边缘平滑,确定与边缘相距确定跳数的顶点的平均位置。可以调节与边缘相关联的法线和与边相关联的顶点的位置以平滑边缘。更详细地,对于位于与边缘相距确定跳数的每个顶点,计算设备可以确定共享三角形并且与边缘的距离与正在被处理的边缘具有相同距离的顶点的位置的平均值。基于确定的平均位置,可以调节边缘的顶点的位置坐标以使顶点更接近平均位置。并且采用新的顶点位置,也可以重新计算三角形的法线。
63.在一些实现方式中,方程1可用于执行边缘平滑。
64.方程1:
65.在方程1中,vi是正在被处理的顶点的当前位置;vf是顶点应该移动到的位置;vn是与正在被处理的顶点到边缘的距离相同的第n个相邻向量;并且n是与正在被处理的顶点到边缘的距离相同的相邻顶点的数量。
66.图5a-5d示出了边缘平滑的一个示例。在图5a-5d中,示出了三角形网格的一部分。该部分包括顶点a、b、c、d、e和f。出于说明目的,仅示出了顶点的二维(2d)坐标。在图5a中,顶点a具有(10,10)的坐标;顶点b具有(30,20)的坐标;顶点c具有(50,10)的坐标;顶点d具有(65,10)的坐标;顶点e具有(95,25)的坐标;并且顶点f具有(120,10)的坐标。
67.在一轮确定顶点的位置之后,通过以上述方式修改一个或多个顶点的位置来执行边缘平滑。顶点b的位置已从图5a中的(30,20)改变为图5b中的(30,17.14),使顶点b移动更接近相邻顶点a和c的位置。类似地,顶点c的位置已从(50,10)改变为(49.29,11.43),使顶点c移动更接近相邻顶点b和d的位置;顶点d的位置已从(65,10)改变为(67.14,12.14),使顶点d移动更接近相邻顶点c和e的位置;并且顶点e的位置已从(95,25)改变为(94.29,20.71),使顶点e移动更接近相邻顶点d和f的位置。
68.图5c和图5d示出边缘平滑步骤的另外两次迭代。在执行多次迭代之后,网格的边缘已经被平滑化,如通过比较图5a至图5d可以看出的。对于可以可变设置的固定迭代次数,可以重复执行边缘平滑。有利地,平滑操作有效地是从网格中去除噪声从而提高渲染图像的整体质量的过滤操作。
69.边缘平滑操作的另一个示例在图6a和图6b中示出。图6a示出未被平滑的三角形网格的一部分。图6b示出在执行边缘平滑之后三角形网格的相同部分。如图6a和6b中所示,该边缘平滑操作可以导致去除尖锐和嘈杂的边缘,并在网格周围创建平滑的三角形带。
70.操作240可以同时对所有体素执行,并且可以重复确定的迭代次数,该迭代次数可以由var系统100的操作员设置。在确定的迭代次数完成之后,一些顶点可以彼此定位非常靠近。由图6b中所示的虚线圆610突出了顶点的紧密接近的示例。定位靠近的顶点的此类实例是不必要的。
71.在操作245中,可以通过合并彼此相距小于阈值距离的顶点(诸如圆610内的一些顶点)来清理网格。在合并顶点之后,可以生成新的三角形。并且为了进一步清理网格,可以执行操作250以去除形成几个三角形的子网格的三角形。子网格是网格的一部分,其仅由边缘组成,并且没有内部三角形。操作250可以进一步降低网格中的噪声。
72.在清理网格并去除噪声之后,可以在操作255中进一步简化网格。为了简化网格,去除基本上不影响网格形状的顶点和三角形。为了确定顶点和三角形的贡献,计算设备可以识别属于相同的三角形的一对顶点并且可以当两个顶点杯合并时计算对网格的影响。可以在合并之前和之后,通过确定所有相邻三角形之间的角度的变化来计算影响。例如,与平坦表面相关联的顶点将不具有影响,而鼻子(nose)顶部的顶点可能具有更大的影响。当变化量小于阈值时,可以合并顶点。
73.网格简化操作255的示例在图7a和图7b中示出。图7a示出未被简化的三角形网格的一部分。图7b示出在执行网格简化之后三角形网格的相同部分。如图7b中所示,所得的网格具有较少的顶点、三角形和边缘。
74.在操作255期间,网格的边缘上的顶点不被合并以保持网格的边缘和整体形状。靠近边缘的顶点只能与到边缘距离相同的顶点合并。面积为零的三角形被去除。网格简化操作255可以重复确定的迭代次数,该迭代次数可以由var系统100的操作员设置。
75.在操作260中,可以在网格上应用纹理投影。为了执行该操作,计算设备可以确定每顶点使用哪些颜色和相机来将彩色图像投影到网格上。计算设备可以另外确定每个顶点的相机权重。相机权重是指如下数值,该数值对应于深度传感器的每个相机对顶点颜色的贡献程度。
76.对于网格的前部,两个相机等同地贡献,但边缘将仅具有一个相机的贡献。每顶点的每个相机的权重可以由计算设备基于网格与相机观看方向之间的角度、相机的深度值与相机到顶点的实际距离之间的差、以及到图像的边缘的距离确定。
77.在执行完图2中所示的操作之后,计算设备可以存储指示相机权重、颜色、顶点位置、深度数据的数据和任何其它信息,例如,每顶点到网格边缘的距离、三角形位置,该其它信息可以用于重新创建网格。该数据可以通过无线网络155发送到网格的观看者,例如用户130或180。发送的数据可以由接收发送的数据以进行渲染的计算设备进行解码和处理。网格由接收计算设备的gpu重建,并且彩色图像被投影在网格顶部。相机权重可用于确定不同相机的颜色如何对于每个顶点混合在一起。到边缘的距离可以确定额外的混合效果,例如网格的边缘周围的透明度。靠近边缘时,可以应用非常透明的渲染,使网格看起来在空间中淡化并隐藏边缘周围的错误(error)。
78.通过使用渲染全息图像的上述方法,由于图像中较少的噪声,观看者可以欣赏到更高质量的全息图像。此外,由于上述操作引入了小于50毫秒的等待时间,因此该方法可用于实时通信,诸如流式传输hd数据。
79.所述的系统、方法和技术可以在数字电子电路、计算机硬件、固件、软件、或这些元素的组合中实现。实现这些技术的装置可以包括适当的输入和输出设备、计算机处理器、和有形地体现在机器可读存储设备中以供可编程处理器执行的计算机程序产品。实现这些技术的过程可以由执行指令程序的可编程处理器执行,以通过对输入数据进行操作并生成适当的输出来执行所需的功能。该技术可以使用一个或多个计算机程序或非暂态计算机可读存储介质来实现,该存储介质包括在可编程系统上可执行的指令,该可编程系统包括耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向数据存储系统、至少一个输入设备和至少一个输出设备发送数据和指令的至少一个可编程处理器。
80.每个计算机程序都可以用高级过程或面向对象的编程语言来实现,或者如果需要,可以用汇编或机器语言来实现;并且在任何情况下,该语言都可以是编译型或解释型语言。例如,合适的处理器包括通用和专用微处理器。通常,处理器将从只读存储器和/或随机存取存储器接收指令和数据。适于有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,包括例如半导体存储设备,诸如可擦可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom)和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及光盘只读存储器(cd-rom)。上述任何一项都可以通过专门设计的asic(专用集成电路)来补充或合并。
81.计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组合物,或它们中的一个或多个的组合。术语“计算设备”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一种或多种的组合的代码。传播的信号是人工生成的信号,例如机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收机装置。
82.计算机程序(也称为程序、软件、软件应用、脚本、插件或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其它单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在文件的一部分中,该文件将其它程序或数据保存在专用于所讨论程序的单个文件中,或者保存在多个协调文件中。计算机程序可以在一个计算机或位于一个站点或跨越多个站点分布并由通信网络互连的多个计算机上执行。
83.本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
84.适于执行计算机程序的处理器包括例如通用和专用微处理器二者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或二者接收指令和数据。
85.计算机的元件可以包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁、磁光盘或光盘)接收数据或向其传输数据或二者。此外,计算机可以被嵌入到另一个设备中,仅举几例,例如平板计算机、移动电话、个人数字助理(pda)、移动音频播放器、var系统等。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,例如包括半导体存储设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd rom和dvd-rom磁盘。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。
86.虽然本说明书包含许多细节,但这些不应被解释为对本公开或可要求保护的范围的限制,而是对特定实施例的特定特征的描述。在本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各
种特征也可以在多个实施例中单独或以任何合适的子组合来实现。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至可以这样被要求保护,但在某些情况下,来自要求保护的组合的一个或多个特征可以从组合中删除,并且要求保护的组合可以针对子组合或子组合的变体。例如,虽然映射操作被描述为一系列离散的操作,但是取决于所需的实现方式,各种操作可以被划分为附加的操作,组合成更少的操作,改变执行的顺序,或者消除。
87.类似地,上述实施例中各个系统组件的分离不应被理解为在所有实施例中都需要此类分离,并且应该理解,所描述的程序组件和系统通常可以被集成在一起在单个软件产品中或打包成多个软件产品。
88.在此使用的术语,并且特别是所附权利要求(例如,所附权利要求的主体)中使用的术语通常旨在作为“开放”术语(例如,术语“包括”应解释为“包括但不限于”,术语“具有”应解释为“至少具有”,术语“包括”应解释为“包括但不限于”等)。
89.另外,如果旨在引用特定数量的所引入的权利要求陈述,则此类意图将在权利要求中明确地记载,并且在没有此类陈述的情况下不存在此类意图。例如,为了帮助理解,以下所附权利要求可以包含使用介绍性短语“至少一个”和“一个或多个”来介绍权利要求陈述。然而,此类短语的使用不应被解释为暗示由不定冠词“一”或“一个”引入的权利要求陈述将包含此类引入的权利要求陈述的任何特定权利要求限制为仅包含一个此类陈述的实施例,即使当同一权利要求包括介绍性短语“一个或多个”或“至少一个”和不定冠词,诸如“一”或“一个”(例如,“一”和/或“一个”应解释为“至少一个”或“一个或多个”);用于介绍权利要求陈述的定冠词的使用也是如此。
90.此外,即使明确地列举了所引入的权利要求陈述的具体数量,本领域技术人员将认识到,此类陈述应当被解释为至少是所陈述的数量(例如,没有其它修饰语的“两次陈述”的裸陈述是指至少两次陈述,或两次或更多次陈述)。此外,在约定类似于“a、b和c等中的至少一个”或“a、b、c等中的一个或多个”的情况下,通常,此类结构旨在包括单独的a、单独的b、单独的c、a和b一起、a和c一起、b和c一起,或a、b和c一起。术语“和/或”也旨在以该方式解释。
91.术语“第一”、“第二”、“第三”等的使用在此不一定用于表示特定顺序或数量的元素。通常,术语“第一”、“第二”、“第三”等用于区分不同元素作为通用标识符。在没有示出术语“第一”、“第二”、“第三”等表示特定顺序的情况下,不应将这些术语理解为表示特定顺序。此外,在没有示出术语“第一”、“第二”、“第三”等表示特定数量的元素的情况下,不应将这些术语理解为表示特定数量的元素。例如,第一微件(widget)可以被描述为具有第一侧面,而第二微件可以被描述为具有第二侧面。关于第二微件使用术语“第二侧面”可以将第二微件的此类侧面与第一微件的“第一侧面”区分开来,而不是表示第二微件具有两个侧面。
再多了解一些

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

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

相关文献