CN105745955B - 在基于网络的沉浸式增强现实中的保护隐私 - Google Patents

在基于网络的沉浸式增强现实中的保护隐私 Download PDF

Info

Publication number
CN105745955B
CN105745955B CN201480062181.9A CN201480062181A CN105745955B CN 105745955 B CN105745955 B CN 105745955B CN 201480062181 A CN201480062181 A CN 201480062181A CN 105745955 B CN105745955 B CN 105745955B
Authority
CN
China
Prior art keywords
content
screen
room
api
privacy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480062181.9A
Other languages
English (en)
Other versions
CN105745955A (zh
Inventor
D·莫尔纳
J·威尔克
E·奥菲克
A·莫舒克
J·王
R·加尔
L·沙皮拉
D·C·布格尔
B·麦金泰尔
B·利夫希茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105745955A publication Critical patent/CN105745955A/zh
Application granted granted Critical
Publication of CN105745955B publication Critical patent/CN105745955B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/65Environment-dependent, e.g. using captured environmental data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

“AR隐私API”提供了用于允许应用和网页浏览器使用各个内容展现抽象来在广泛的基于网络的沉浸式增强现实(AR)场景中保护用户隐私的API。AR隐私API将传统“网页”的概念扩展到沉浸式“网络室”,其中在用户的屋子或其它空间内展现现有的或新的2D和3D内容的任意期望的组合。有利地,AR隐私API以及相关联的展现抽象由广泛的各种各样的应用和网页内容是可用的,用于通过基于网络的沉浸式AR内容来增强用户的屋子或其它空间。此外,AR隐私API是使用任意现有或新的网页编码平台来实现的,包括但不限于,HTML、XML、CSS、JavaScript等,从而使得现有的网络内容以及编码技术能够被平滑地整合到广泛的网络室AR场景中。

Description

在基于网络的沉浸式增强现实中的保护隐私
背景技术
在深度映射和目标识别中的新近发展已经为沉浸式室内增强现实(AR)体验铺平了道路。存在这样的体验,定期地或连续地监测屋子的状态,之后在用户的视野内显示虚拟目标。例如,现有的硬件和应用能够实现对整个屋子的扫描以获得屋子几何结构以及屋内的目标或人的3D模型。被安装在屋中的投影机于是可以在屋中的各个表面上显示任意内容。此外,可以实时地识别语音命令、手势、人、人脸、动物、家具以及其它物体,使得应用能够感应并且响应真实世界的事件和物体。
随着这些及相关的能力变得普遍,非受信的应用可能已经增加了对有关用户及其周边事物的各种形式的私人数据的访问。该数据的例子包括屋子大小及布局,屋内人的数量、大小、活动及性别,诸如家具、书籍、艺术品的物体,以及屋中可视的文字等。解决与该数据的暴露相关的隐私顾虑的现有方法典型地采用两种不同的方法中的一种方法。
例如,一种典型的方法通常忽略隐私顾虑并且允许应用获得针对原始传感器数据的不受限的访问,该原始传感器数据为了在基于该传感器数据相对于屋子展现内容中使用。这种类型的经展现的内容可以用在各种游戏技术、学术项目、垂直整合增强现实体验等中。清楚的是,这种应用的劣势是期望用户信任这些应用来访问由各种传感器收集的潜在敏感的数据。
用于解决针对传感器数据的隐私顾虑的另一种类型的方法提供一个或多个应用程序接口(API),该API向开发者和应用提供针对特定应用所需的传感器信息的子集的大幅受限的访问。典型地,该API严格控制应用如何来展现内容。例如,移动电话上的一个现有“增强现实浏览器”包括用于向应用提供将文本或图形注释叠加到在该移动电话的显示器上可视的“感兴趣点”的能力的API。该应用于是取决于该电话是否指向合适的方向,来决定在哪里以及如何显示这些注释。例如,该应用可以使用电话的照相机来对该用户临近区域中的可见饭店进行成像,之后将美食类型、评级或价格范围的显示叠加到该饭店的显示的图像上。尽管在这样的场景中通过向非受信应用仅提供有限的API访问来提高了对用户隐私的保护,但是每一有限的API仅支持有限类型的应用,并且对于每一应用来说是量身定制的。因此,这些类型的API趋于具有有限的有用性。
发明内容
提供本发明内容来以简化的形式介绍概念的选择,其在下面的具体实施方式中被进一步描述。本发明内容不是要识别所声明的主题的主要特征或必要特征,也不是要被用于帮助确定所声明主题的范围。此外,尽管本文中可能指出了或讨论了现有技术的某些缺点,但是所声明主题不是要被限于可以解决或处理那些现有技术中的缺点中的任意或所有的实现。
通常,本文所述的“AR隐私API”提供用于实现用于允许现有的或新的应用和网页浏览器使用各种内容展现抽象针对广泛的基于网络的沉浸式增强现实(AR)场景来保护用户隐私的API的各种技术。AR隐私API将传统“网页”的概念扩展到沉浸式“网络室”,其中在用户的屋子或其它空间内展现现有的或新的2D和3D内容的任意期望的组合。换言之,本文中讨论的网络室,旨在被理解为网页到其中实现AR体验的屋子或空间的扩展。AR隐私API允许网站使用与处理原始传感器数据的传统AR应用相比显著减少的信息,在屋子中展现内容,并且提供丰富体验。
有利地,AR隐私API以及相关联的展现抽象通过广泛的各种各样的应用中的任意是可用的,并且具有新的和现有的网络内容二者,用于通过基于网络的沉浸式AR内容来增强用户的屋子或其它空间。另一优势是,AR隐私API是使用任意现有或新的网页编码平台来实现的,包括但不限于,HTML、XML、CSS、JavaScript等,从而使得现有的网络内容能够被平滑地整合到广泛的网络室AR场景中。
对本文描述的各种展现抽象的使用帮助防止应用直接获得与屋子或空间以及该空间内的物体或人有关的信息,除非由用户认可,从而加强了广泛沉浸式AR场景中的用户隐私。通常,这些抽象限制向应用发布的信息量,达到功能和用户隐私之间的平衡。这样,AR隐私API在任意屋子或空间中实现沉浸式增强现实体验的同时,并且在不牺牲网络或基于浏览器的性能的情况下,限制向应用公开的信息。
例如,由AR隐私API用于保护用户隐私的展现抽象中的一个在本文中被称为“屏幕抽象”。屏幕抽象向应用公开大小,以及可选地,屋子或其它定义的空间内的可以将“内容”(即,图像、视频和音频的任意组合)投影在其上的各个表面的相对位置或位置。然而,在大多情形下,无需公开相对位置。实际上,如果公开了该位置信息,则恶意网站可以通过在屋中扩散众多数量的屏幕来潜在地建模屋子,这些屏幕将附着到屋中的表面中的大多或所有。有利地,在各个实施例中,AR隐私API在多个屏幕的布置之间评估网站的约束规范,并且于是确定将满足那些约束(例如,一个屏幕将面向另一个屏幕)的屋中的“屏幕”,而无需向网站或托管网站的某些服务器发送那些屏幕的相对位置。
本文所述的其它抽象,诸如“输入抽象”允许与经由屏幕抽象展现的内容交互,或相对于该内容提供输入。请注意,屏幕抽象统一投影的监视器、平板电脑、电视机以及任意其它表面、物体或空间,在其上可以在屋中投影内容,并且简单地将这些中的每一个视为在其上展现内容的“屏幕”。此外,屏幕抽象还被设计为允许应用发现每一“屏幕”的能力,诸如触摸事件的存在,而依然保护用户隐私。此外,在各个实施例中,隐私等级与各个“屏幕”相关联。例如,在各个实施例中,AR隐私API考虑“屏幕”是否对于屋中的其它人可见,从门是否可见“屏幕”,“屏幕”显示质量(例如,大小,分辨率、它们是否被投影在有颜色或纹理的区域上等),并且于是决定使用这些能力中的哪些以及如何使用它们。有利地,屏幕抽象通过在不向对屏幕抽象进行使用的应用提供原始视频、深度数据或其它潜在敏感信息的情况下来进行操作,加强了用户隐私。
由AR隐私API提供的另一展现抽象在本文中被称为“语义注释抽象”。通常,语义注释抽象允许应用描述性地指定内容如何适配于屋中的物体(或“屏幕”)的存在和位置,而无需向应用泄露或公开该信息。换言之,语义注释抽象允许应用相对于屋中的人、物体以及表面的任意组合来放置、投影或以其它方式展现内容,而无需向该应用透露这些人、物体和表面的存在或位置。有利地,这意味着语义注释抽象通过在不向基于网络的应用提供针对与屋子或屋中的人、物体和表面有关的信息(这可以用于损害用户隐私)的访问情况下来进行操作,增强了用户隐私。
根据以上的概述,清楚的是本文所述的AR隐私API提供了用于实现用于使用各种内容展现抽象针对广泛的基于网络的沉浸式增强现实(AR)场景来保护用户隐私的API的各种技术。除了刚描述的益处外,当结合所附的附图考虑下面的具体实施方式时,AR隐私API的其它优势将是显而易见的。
附图说明
通过参考下面的描述、所附的权利要求以及附图,将会更好地理解所声明主题的特定特征、方面和优势,其中:
图1提供了示出了用于与本文所述的AR隐私API的各个实施例一起使用的、用于在初始化屋子或空间中使用的程序模块的示例性架构流图。
图2示出了关于如何使用各个传感器来导出相对于要由本文所述的AR隐私API展现内容的环境的潜在特许资源或信息的示例性说明。
图3示出了本文所述的集中于展现任务的AR隐私API的示例性架构概览。
图4示出了本文所述的AR隐私API的受信展现器部件的示例性架构概览。
图5是AR隐私API的测试实施例的示例性架构概览,其中各个“网络室”在分别的管理网页浏览器控制中是孤立的,以及通过使用用于保护用户隐私的各个扩展的JavaScript库来与受信展现器通信。
图6是描绘了用于在实现本文所述的AR隐私API的各个实施例中使用的、具有简化计算和I/O能力的简化通用计算设备的通用系统图。
图7示出了可以用于实现在前面的附图以及如贯穿说明书所描述的任意组合中示出的特征的任意方面的示例性计算功能。
具体实施方式
在下面所声明主题的实施例的描述中,参照了附图,其构成了本文的一部分,并且在其中以说明性的方式示出了可以实现所声明的主题的特定实施例。应当理解的是,在不脱离目前所声明的主题的范围的情况下,可以采用其它实施例以及可以做出结构上的改变。
1.0引言
通常,如本文所述的“AR隐私API”提供用于实现允许应用和网络浏览器使用各种内容展现抽象来在广泛的基于网络的沉浸式增强现实(AR)场景中保护用户隐私的API的各种技术。AR隐私API将传统的“网页”概念扩展到了沉浸式“网络室”,在那里现有的或新2D和3D内容的任何期望的组合被展现在用户的屋子或其它空间内。
由AR隐私API用来保护用户隐私的展现抽象中的一个在本文中被称为“屏幕抽象”,其用于在沉浸式室内增强现实的环境中进行展现。该屏幕抽象获得内容(即,图像、视频和音频的任意组合)可以被投影或以其它方式被显示在其上的屋中的表面(例如,监视器、平板电脑、电视机和其它任意表面、物体或空间)的相对位置、方位,以及分辨率。本文中将这些表面中的每一个统称为“屏幕”。此外,屏幕抽象结合诸如输入抽象之类的抽象允许应用学习哪些交互事件由哪些“屏幕”来支持,诸如,触摸事件对于平板电脑,或鼠标和键盘对于桌面屏幕。有利地,屏幕抽象通过在无需向使用了屏幕抽象的应用提供原始视频、深度数据或其它潜在敏感的信息的情况下进行操作,来加强了用户隐私。
本文中这些展现抽象中的另一个被称为AR隐私API的“语义注释抽象”部件。语义注释抽象(经由AR隐私API的“语义注释API”部件来实现)用于相对于屋中的物体展现内容。更为具体地,语义注释抽象使用语义抽象来相对于屋中的人、物体和表面的任意组合放置、投影,或以其它方式展现内容,而无需向应用透露这些人、物体和表面的存在或位置。此外,通过使用描述性的基于约束的布局方案,语义注释使得应用能够产生利用物体识别能力的AR体验,但是不向应用公开物体、人或其它敏感信息的存在或位置。
有利地,AR隐私API允许新的和现有的或传统的网站或内容能够适应于沉浸式网络室AR场景。特别地,AR隐私API和相关联的展现抽象可以由广泛的各种类型的应用和网络内容用于通过基于网络的沉浸式AR内容增强用户的屋子或其它空间。此外,使用任意现有或新的网页编码平台(包括但不限于HTML、XML、CSS、JavaScript等)来实现AR隐私API,从而使得现有的网络内容和编码技术能够被平滑地整合到广泛的网络室AR场景中。
1.1系统综述
如上所述,AR隐私API提供用于实现允许应用和网页浏览器使用各种内容展现抽象来在广泛的基于网络的沉浸式增强现实(AR)场景中保护用户隐私的API的技术。通过图1的整体系统示图示出了在与AR隐私API一起使用的初始化屋子或空间中使用的各种过程。特别地,如本文所述,图1的系统示图示出了程序模块和用于在确定由AR隐私API用于展现内容的各种约束中使用的传感器之间的相互关系。此外,尽管图1的系统示图示出了AR隐私API的各个实施例的高层视图,但是图1不是要提供对贯穿本文所描述的AR隐私API的每一可能的实施例的穷举或完整的说明。
此外,应当注意到的是,可由图1中的虚线或点线表示的任意矩形以及矩形之间的互连接,表示本文所述的AR隐私API的替代实施例,并且这些替代实施例中的任意或所有实施例可以与贯穿本文所述的其它替代实施例结合使用。
通常,如通过图1所示,由AR隐私API实现的过程通过确定在屋子或用户周围的空间中什么资源是可用的,以及在该屋子或空间中什么隐私限制或约束可以与各种“屏幕”、空间、人、物体等相关联,来开始操作。
更为具体地,环境识别模块100评估来自各种传感器(例如,传感器110、120、130,也见图2)的数据,以及来自用户接口模块140的任意输入,以识别或更新显示器设备和可以将内容显示或投影到其上的屋子或空间中的表面、物体等。此外,环境识别模块100识别或确定额外的信息,包括但不限于,可用的“屏幕”的位置和配置、屋子中的人或动物,屋子中的物体、家具等,屋子或空间的整体布局或几何结构等。如本文更为详细描述的,得到的“环境信息”150于是被保存以由AR隐私API来使用。各个实施例中,可选地,使用传感器数据和/或来自用户接口模块140的额外输入来动态更新由环境识别模块100提供的环境信息150。
之后,抽象模块170评估环境信息150并且生成语义注释抽象160,使得AR隐私API可以在不向外部的站点公开或透露潜在私人信息的情况下,在该环境信息上或相对其来展现内容。
用户接口模块140被用于各种目的。例如,用户接口模块140在各个实施例中被用于定义或设置各种“屏幕”的可用性以及定义或设置与这些屏幕或与有关屋子或在用户周围的空间中的人、物体、布局等的广泛信息相关联的各种许可165(例如,许可状态、状况、标志、小型文本文件(cookie)等)(见章节2.5中对许可的讨论)。在各个实施例中,这些许可被包含在各种语义注释抽象160中,可以经由用户接口模块140对其进行设置或编辑。
2.0AR隐私API的操作细节
上述程序模块用于实现AR隐私API的各个实施例。如上面概括的,AR隐私API提供用于实现允许应用和网页浏览器使用各种内容展现抽象来在广泛的基于网络的沉浸式增强现实(AR)场景中保护用户隐私的API的各种技术。下面的章节提供了对AR隐私API的各个实施例的操作的更为详细的讨论,以及对用于实现针对图1的章节1中所述的程序模块的示例性方法的更为详细的讨论。特别地,下面的章节提供了AR隐私API的各个实施例的例子和操作细节,包括:
·对AR隐私API的操作综述;
·使用屏幕抽象和语义注释的“网络室”展现;
·使用输入抽象来接收用户输入;
·AR隐私API对网络环境的适配;
·各种隐私和安全考虑;
·AR隐私API的示例性体系架构;
·AR隐私API的示例性实现;以及
·对现有的网络内容的优化的各种考虑。
2.1操作概述:
如上所述,AR隐私API提供用于在广泛的基于网络的沉浸式AR场景中保护用户隐私的各种内容展现抽象。AR隐私API将传统的“网页”概念扩展到沉浸式“网络室”,在那里现有或新2D和3D内容的任意期望的组合被展现在用户的屋子或其它空间内。
AR隐私API和相关联的展现抽象可广泛的应用和网络内容用于通过基于网络的沉浸式AR内容来增强用户的屋子或其它空间。此外,使用任意现有或新的网页编码平台(包括但不限于HTML、XML、CSS、JavaScript等)来实现AR隐私API,从而使得现有的网络内容和编码技术能够被平滑地整合到广泛的网络室AR场景中。
2.2网络室展现
通常,AR隐私API的展现抽象提供用于展现屋子或其它空间周围的2D和3D浏览器内容的任意组合以实现上面提及的“网络室”的概念的强大工具。测试环境中,AR隐私API由三种主要展现抽象组成。然而,应当理解的是,在AR隐私API的各个实现中可以使用更多或更少类型的展现抽象,以及出于解释的目的,下面对该三种主要展现抽象进行了详细描述。
本文中将该三种示例性展现抽象中的第一展现抽象称为“片段抽象”。通常,片段抽象表示网络内容的单元(例如,完整的网页、页面的视频部分、帧中的广告、网页登录GUI、新闻报道、天气显示等)。第二展现抽象是前面提及的“屏幕抽象”,其表示屋中的在其上网页可以显示片段的矩形或任意其它形状。更为具体地,这些屏幕抽象对应于可以在其上投影或显示内容的任意表面或物体,或对应于诸如监视器、电视机、媒体设备等的任意显示设备。这些展现抽象中的第三展现抽象是前面提及的语义注释抽象。语义注释抽象允许网页相对于屋中的注释的内容来放置片段。在下面的章节中对这些展现抽象中的每一个进行更为详细的讨论。
2.2.1片段
通常,网页以被称为元素的内容矩形块为中心,网页设计者将该被称为元素的内容矩形块聚集在一起形成紧密结合的树结构:已知的文档对象模型(DOM)树,浏览器将该树结构显示为网页。这些元素中的许多元素对应于HTML容器标签,该容器标签封装网页内容的子树。AR隐私API通过提供在本文中被称为“片段”的容器标签来向传统的DOM树添加新的容器标签。AR隐私API解释片段标签以允许设计者将内容子树分解为用户屋中的任意表面和显示。在章节2.4中进一步详细描述了用于实现片段标签的示例性语法。请注意,AR隐私API可以使用其它现有的容器标签(例如,头文件、分区标记(div)、区段(span)等)来执行相同的功能。然而,对具有新名字的容器的使用(例如,对“片段”标签的使用)允许设计者快速地将片段与DOM中的其它容器进行区分。
有利地,通过显示DOM树的子树,而非为每个片段生成新的DOM树,AR隐私API使得网页能够如单个单元而非一组分离的单元来运行。这从开发的立场来看是便利的,因为网页开发者可以以与网页或网站相同的方式来开发网络室,并且现有的网页或网站可以容易地适配网络室以实现广泛的沉浸式AR场景。
2.2.2屏幕抽象
AR隐私API以一种在保护用户隐私的同时使得网站能够在除了常规的输出设备(诸如监视器、TV、媒体播放器等)之外的、屋子或其它空间周围的任意表面上显示内容的方式来使用屏幕抽象。此外,这些不同类型的显示器和表面中的每一个在“屏幕抽象”下统一,其中,这些实体中的每一个被称为“屏幕”。见章节2.6.1对于在屋子或空间中围绕用户的“屏幕”检测的讨论。
如上所述,屏幕抽象表示在屋子中网页可以在其上显示片段的矩形或其它任意形状。然而,出于解释的目的,下面的讨论将通常涉及矩形片段。
在矩形片段的情形下,“屏幕”具有四个属性:大小、方位、位置和能力。大小属性指示“屏幕的”以像素为单位的高度和宽度。方位指定“屏幕”是水平放置、还是垂直放置(以及可选地它是斜的或经旋转的)。请注意,如果“屏幕”对应于物理可移动的设备、物体或表面,则方位属性可以是动态的。位置属性是在屋子中相对于屋子中的特定原点的“屏幕的”(x,y,z)坐标。能力属性是用于描述在“屏幕”上局部支持的交互类型(例如,触摸、音频等)的数据集。请注意,章节2.3.1提供了关于屏幕局部输入和事件的额外讨论。
通过使用AR隐私API,网页可以向每一“屏幕”分配片段以在屋子中显示其内容。当发生上述情形时,片段扩展或收缩以填充“屏幕”,利用浏览器的现有的用于将内容适配于变化的视窗大小的能力。请注意,这是取决于网站的。还可以维持某一固定的大小,并且不使用整个屏幕。有利地,由于AR隐私API不向网站或托管该站点的服务器公开该缩放信息,从而网站或服务器不知道片段是否被缩放,或在固定大小的“屏幕”的情形下在片段中是否存在未被使用的更多区域。在测试实施例中,如在章节2.4中更为详细讨论的,通过JavaScript来知悉用于向任意特定“屏幕”分配任意特定片段的机制。然而,应当理解的是,可以用任意期望的编码或脚本语言来实现该能力,并且AR隐私API的该实施例不限于基于JavaScript的实现。
2.2.3语义注释
通常,AR隐私API允许网络室来指定HTML(或其它网络语言或脚本)中的内容,该内容要相对于包括静态和动态标记之一或两者的各种语义注释,被展现到各种“屏幕”。AR隐私API的受信展现器于是显示由网络室指定的内容(如果可能),但是不向网络室或其它应用发布标记的位置或存在。此外,如本文所讨论的,旨在将网络室理解为将网页(例如,展现在用户的显示器设备上)扩展到屋子或空间,贯穿该屋子或空间来展现网络室的AR内容。
更为具体地,语义注释被当作标记来使用以确定在网络室中的哪里以及如何来展现内容。语义注释包括静态和动态标记类型二者。静态标记涉及屋子中的将要被AR隐私API视为“屏幕”的固定或静止表面的位置。动态标记涉及屋子中的移动的物体或人。例如,使用诸如设备之类的设备的传感器,各种动态标记可以包括,例如,针对屋子中的用户所识别的骨架的头、左手以及右手。
在各个实施例中,网络室使用描述性展现用于放置片段。每一片段使用语义注释抽象和用于确保内容被放置在(即,被展现到)特定类型的表面(例如,诸如墙、门的垂直表面或其它表面)上的可选展现约束,以及用于将内容与网络室的一个或多个其它片段对齐(水平和垂直之一或两者)的另一可选约束。
屏幕抽象给予了网络室在内容布置上的特定控制,但是相对地,通过不允许网络室利用目标识别能力来保护隐私(例如,除非经授权,否则没有对原始照相机或音频数据的直接访问)。更为具体地,在各个实施例中,屏幕抽象确保网页甚至没有对得到的用于放置以及展现图像的3D结构的访问。这样,在各个实施例中,当访问照相机或音频时,除非特别授权,否则不能启动,但是屏幕API允许元素知道它们在3D中在哪里被展现,这是因为这些元素指定了该位置。这防止被托管在任意服务器或云环境上的网络室获得有关用户或由AR隐私API要将内容展现到的屋子或用户周围的空间的潜在私人信息。例如,想要在用户的头附近显示仪表盘的网络室没有办法知道哪些“屏幕”是用户可见的或在用户的头附近。此外,想要在识别的真实世界物体附近显示虚拟物体(例如,在紧邻地球仪的表面上的旅行广告)的网络室不能够检测出哪些“屏幕”是最靠近该真实世界物体的。因此,屏幕抽象凭借其自身,是不能完全解决关于帮助网络室使用物体识别用于展现的同时保护用户隐私的问题的。
然而,结合由语义注释提供的在屋子中标记特定条目或位置的概念,AR隐私API使用标记来在不向网页(或相关联的服务器或云主机)公开潜在私人信息的情况下指导片段布局。如上所述,可以静态放置语义注释;例如,在各个实施例中,AR隐私API使用语义注释来向各个表面添加“垂直”或“水平”注释以反映屋子或空间中的特定表面的方位。此外,注释还可以是动态的,诸如在物体在屋子周围移动时追踪该物体的位置、追踪用户的位置、读取用于编码注释信息的QR代码等。
结合AR隐私API,网页或网络室可以在不知道注释是否存在或其位置的情况下相对于语义注释放置内容片段,从而防止公开潜在私人信息。特别地,网页或网络室使用字符串(或其它数据元素)来识别语义注释,并且于是指定它希望片段相对于该注释如何来显现。此外,可以相对于多个注释来放置片段。在该情形下,AR隐私API的约束求解器部件用来确定要在屋中的哪里放置片段,而不将结果回报给网页或网络室。换言之,约束求解器用于在不向网页公开语义注释的条目的存在或位置的情况下,来确定网站放置在屋中的语义注释的条目附近的片段的位置。
有利地,在各个实施例中,注释可以映射到屋子或空间中的多个位置。例如,“椅子”注释可以注释屋中的每一把椅子。约束求解器在这些注释之间不做区分,并且在多个可能的注释的前提下,将会把片段放置在最接近最充分满足由网页指定的约束的注释实例。通常,约束求解器用于在不向网页公开语义注释的条目的存在或位置的情况下,确定网站放置在屋中的语义注释的条目附近的片段的位置。
此外,AR隐私API的语义注释部件还允许片段相对于其它片段来放置自己,如该语义注释部件将每个片段的展现位置披露为语义注释。通过这些在适当位置的注释,网页能够依赖于语义注释系统来满足其所有的布局需求,而无需将片段不得不贴附到特定的“屏幕”。尽管AR隐私API能够使用完全的特定于约束的布局,但是通常来说使用结合上面提及的屏幕抽象的语义注释更为简单。
在各个实施例中,AR隐私API被允许直接向网页公开选择语义注释的位置以向网站提供在其如何在屋子或空间中显示内容上的更多控制。这尤其在注释映射到多个位置时是有用的。对于每一这样的注释,网站具有在3D空间中对其位置的访问,并且可以确定何时或是否该注释与屋子中的特定“屏幕”联系。然而,准确的位置和联系信息依然是特许的,使得不公开潜在私人信息。请注意,章节2.4提供了关于如何以对网页开发者友好的方式来公开涉及语义注释的事件,而与此同时依然保护用户隐私的讨论。
2.3输入抽象
AR隐私API提供了用于自然实现在章节2.2中所述的展现抽象的同时保持可操作于常规网页上的现有事件的输入事件的综合框架。AR隐私API支持广泛的输入事件,并且可以简单地适应于包括在本文提及的讨论的角度上的任意期望类型的输入。在各个实施例中,这些输入事件被分类为三种事件类型,包括:1)屏幕局部事件;2)全局事件,以及3)用于维持与当前的网络后向兼容性的传统输入事件(也被称为传统模拟)。下面对这些事件类型中的每一种进行了更为详细的讨论。
2.3.1屏幕局部事件
屏幕局部事件被定义为发生在特定“屏幕”上的事件。这有两种形式:准确屏幕局部事件以及非准确屏幕局部事件。
准确屏幕局部事件发生在“屏幕”上的特定(x,y)坐标处。与常规网页上的鼠标事件类似,屏幕局部事件转化为用于可以“捕捉”到DOM树中的目标元素或从DOM树中的目标元素“冒泡的”各个网页元素上的事件。在各个实施例中,准确屏幕局部事件以其将会是最常见的方式实现为代码。例如,可以在触摸平板电脑显示器或触摸墙之后或根据玩具枪上的激光指针,来发起准确屏幕局部位置事件。服务器不知道“屏幕”的性质或用于产生该位置的事件,除非特别要求。
有利地,向网站或服务器发送回尽可能少的信息的原则引起了对浏览器的更多能力的定义。例如,假设“屏幕”上的显示要始终面向用户。在该情形下,代替向服务器发送用户的方向,服务器可以替代地提供足够的信息以实现向不同的方向展现(诸如,3D模型、全景以及多视图),其中AR隐私API以及浏览器于是选择在正确的方向上展现“屏幕”。
非准确屏幕局部事件发生在“屏幕”上。然而,非准确屏幕局部事件对于指定其在“屏幕”上的哪里发生的来说不够准确。这允许网页开发者向贴附到“屏幕”的片段添加事件监听器以捕获这些事件。此外,与准确屏幕局部事件相反,非准确屏幕局部事件不“冒泡”,这是由于不存在动作所针对的明确的根元素。
通常,每一“屏幕”描述其通过其能力属性支持的输入事件集合。请注意,能力属性是上面在章节2.2.2中讨论的四个“屏幕”属性中的一个。能力集合中的每一条目是与屏幕局部事件名称对应的字符串或数据元素,该字符串或数据元素可以在JavaScript API中(或在任何其它脚本或基于编码语言的API中)用于向事件分配事件监听器。
2.3.2全局事件
某些类型的输入事件不明确地针对屋子或空间中的任何特定的“屏幕”或位置。在常规的网页上存在类似的输入事件。例如,在许多移动设备上,网站可以响应于方位改变而注册事件处理器(例如,当设备从竖向变化到横向时,改变显示的网页的布局和/或内容)。AR隐私API框架中的全局输入事件以相同的方式工作。然而,应当理解的是,全局输入事件包括广泛的事件集合(例如,手势、语音命令、传感器数据等),其不限于设备方位改变。
大量的输入设备自然地映射到全局输入事件。例如,如果人在深度照相机处做手势,那么在没有额外的可能不可获得的信息的情况下(诸如,目光),这些手势的目标是什么可能是不清楚的。当可获得该信息时,AR隐私API提供用于将这些事件组合为新屏幕局部事件的能力。
2.3.3传统输入事件(传统模拟)
常规网站通常依赖于具有为导航和输入存在的键盘和鼠标(或相应的输入形态)。尽管许多触摸设备不具有这两者,它们使用触摸事件以及屏幕上的键盘来模拟这些输入类型。然而,许多AR输入设备对于模拟较大区域上的精确到像素的鼠标移动来说不够准确。例如,深度传感器目前提供640×480的分辨率。可以使用语音识别来模拟键盘输入,但是这不适用于所有形式的文本输入。
在各个实施例中,AR隐私API提供一种妥协类型的解决方案。特别地,在各个实施例中,AR隐私API在那些提供适用于模拟鼠标和键盘事件的屏幕局部输入的“屏幕”上支持鼠标和键盘事件。例如,触摸显示器可以以常规的方式来模拟鼠标和键盘事件。类似地,具有精确的目光跟踪的系统可以利用针对目标的注视和针对动作的手势的组合来模拟鼠标和键盘。该概念的其它例子包括但不限于,使用激光指针在屏幕上标记点、用手指或在屏幕上放置物理物体。从而,如在章节2.3.1中所讨论的,将键盘和鼠标(以及相应的输入形态)视为屏幕局部事件。
为了提供与现有的网页和技术的兼容性,AR隐私API设置包括用于支持鼠标和键盘事件的至少一个“屏幕”。然而,应当理解的是,在增加各种AR设备的分辨率和能力的前提下,许多或所有此种设备将能够以足够精度模拟指向型输入以提供针对屋子中的所有“屏幕”的鼠标模拟。例如,在足够分辨率的前提下,有可能通过以足够的分辨率和频率追踪用户的手指(或目光)来从屋子的各个角落确定用户在特定的“屏幕”上指向(或看向)哪里,来模拟动态鼠标或指针输入。
2.4对网络环境的适配:
通常,常规的网站是围绕三种核心技术来构建的,包括:1)用于描述内容的布局以及结构的HTML(或其它脚本语言);2)用于描述内容样式的CSS;以及3)用于描述交互的JavaScript(或其它可执行的编码语言)。AR隐私API提供用于描述网络室布局、样式以及交互的这三种技术中的现有浏览器功能,以及用于允许在用户的屋子的3D空间中展现现有网页或网站的超集合。此外,应当理解的是,AR隐私API不是要限于与HTML、CSS、JavaScript或任何其它特定的脚本或语言一起使用,并且本文中提供的对该脚本和语言的讨论是出于解释的目的提出的。
2.4.1示例性HTML适配:
在各个实施例中,AR隐私API的展现抽象使用如上面在本文的章节2.2中讨论的被称为片段的内容的紧密结合的矩形(或任意其它形状)。通过向HTML添加片段容器标签(即,“<segment></segment>”)来增强常规HTML。片段容器标签用于将任意HTML内容注释为片段。例如,片段容器标签可以用于,例如通过使用诸如“<segment>Hello World</segment>”的HTML脚本语言来注释诸如“Hello World”的文本字符串的内容。
请注意,片段容器标签的内容不限于文本。换言之,任何可以被放置在任何常规HTML容器(例如,“<div></div>”容器)中的内容同样可以被放置在片段容器标签中。此外,可以使用除了“片段”之外的用于界定这些标签的术语(例如,“区段”、“部分”等)来实现包含在片段容器标签中的概念,只要AR隐私API被编码为理解使用的术语是单独的容器,该容器旨在表示用于要以本文中所述的片段的方式来处理的内容的紧密结合的部分。此外,通过使用诸如CSS的样式清单等,片段标签还可以指定其它容器标签支持的各种与大小有关的属性,诸如,例如,最小宽度、最小高度、宽度和高度。在各个实施例中,除了大小属性之外,片段标签不影响其所包含的内容的2D布局。然而,若需要,额外属性可以与片段标签相关联,以解决特定的内容布局问题。
片段标签以各种方式区别于其它HTML标签。首先,它们在屋子或空间中是不可见的,除非网页使用CSS(见章节2.4.2)、JavaScript(见章节2.4.3)或其它网络编码语言为它们指定目标“屏幕”或注释约束。
此外,诸如例如如下的嵌套片段标签:
可以用于一次在屋中的多个地点中显示内容。请注意,这可能会给传统的网站造成额外的复杂性,因为传统的鼠标输入事件等假定内容是在单个显示器设备上被展现的。从而,在嵌套的片段容器标签的情形下,现有的网站将不会在来源于一个屋子位置与另一个屋子位置的鼠标事件等之间相互区分。因此,在该情形下,AR隐私API可选地充当以一种允许传统网页将特定输入事件处理为仿佛它们是相对于在单个显示器设备上展现的内容被接收到的方式,来截获这些输入事件并且将其报告给传统网页的中间媒介。
2.4.2示例性CSS适配:
许多网站使用层叠样式表(CSS)来设计他们的网页。此外,CSS标准的更新版本指定了用于有条件地设计网页的丰富功能。例如,CSS媒体查询允许响应于诸如显示器方位改变、鼠标悬停上的颜色改变等事件来将样式应用于内容。如在下面的段落中进一步详细讨论的,AR隐私API构建在这些技术的基础之上,并且额外地增加了各种CSS约束属性用于描述性地指定片段相对于语义注释的布局。
2.4.2.1媒体查询
媒体查询允许网页响应于变化的环境来改变内容的样式。例如,媒体查询允许站点的移动版本响应于当用户旋转电话时方位的改变来调整内容。此外,媒体查询允许网页响应在用户调整浏览器窗口的大小时的高度和宽度的改变。
通常,常规媒体查询的结构如下:@media<media type>and<media expressions>{…}。例如,如果“屏幕”具有16:9的宽高比,则调用如下的媒体查询:@media“screen”and(device-aspect-ratio:16/9){…}。由于用户的屋子或空间中的各个“屏幕”可以具有广泛变化的大小、形状、配置文件等,AR隐私API将“屏幕”媒体类型进行扩展以允许网页指定用于片段的有条件样式,以适应于跨屋子的变化的“屏幕”属性。
不幸的是,由于常规媒体查询假定了单个显示器设备,所以它们对于整个网页来说是全局的。因此,AR隐私API将媒体查询的范围扩展到了由AR隐私API在屋子或用户周围的空间中展现的多屏幕和多片段AR环境中的各个“屏幕”或各个片段。
有利地,在各个实施例中,AR隐私API通过允许样式根据“屏幕”的上下文具有多个值,来使用现有的针对“屏幕”的媒体查询。换言之,AR隐私API使得能够针对每个“屏幕”评估一次CSS,并且根据元素要被投影到其上的“屏幕”来将CSS应用于该元素。对于使用语义注释约束放置的片段而言,“屏幕”是片段的大小。有利地,该特征在将内容适配改变的“屏幕”状况中为网页设计者提供了灵活性。
2.4.2.2语义注释
AR隐私API为片段元素添加了用于指定关于在屋子或用户周围的空间中的什么位置来显现特定片段的约束的各种CSS属性。在下面的表1中列出了该约束的例子。这些示例性约束中的每一个采用了可以包括注释名称和实例GUID的混合的列表。注释名称标识注释的类型(诸如,椅子、桌子、墙、猫、人等),而实例GUID表示注释的实例(诸如,屋中的特定椅子)。如下面在章节2.4.3中讨论的,通过JavaScript语义注释API来取回实例GUID。
表1:示例性AR隐私API CSS约束
2.4.2.3其它可能的使用
清楚地,在由AR隐私API实现的环境中存在广泛的各种各样的CSS的可能的使用和应用。本文中只对一小分部这样的例子进行了讨论,并且应当理解的是,本文中所述的例子不是要限制AR隐私API要如何与各种CSS能力一起使用。例如,CSS动画允许网页设计者在无需做任何GPU编程的情况下使用GPU加速动画。在各个实施例中,AR隐私API适用于利用基于CSS3的动画技术(例如,3D CSS动画),允许网页在无需使用任何屋子信息的情况下指定动画。浏览器展现器于是与AR隐私API对接以确定如何使用其关于该屋子已知的来执行动画。此外,在各个实施例中,AR隐私API还利用基于CSS3的技术,用于允许使用各种透视技术(例如,投影到倾斜面板,或使投影到非倾斜面板的内容倾斜)将2D样式展现在3D中。
2.4.3示例性JavaScript适配
大多数常规的浏览器通过JavaScript公开综合功能用于动态响应事件以及改变网页结构、内容和样式。如网页编码和构建领域的技术人员所熟知的,有可能使用JavaScript和标准浏览器API将HTML和CSS加入到网页来在空中构建整个网页或网站。在各个实施例中,AR隐私API通过经由JavaScript(或其它网页编码或脚本语言)公开本文所述的功能中的一些或所有,来在沉浸式AR体验的背景中实现这些能力。
如网页编码和构建领域的技术人员所熟知的,许多网页浏览器公开用于在被称为“addEventListener”的网页浏览器中订阅事件的标准化方法。典型地,该方法在作为事件的目标的网页元素上被调用,并且将用于唯一标识被订阅的事件的字符串(或数据元素)以及用于当事件激发时浏览器调用的回调函数一起传递给该网页元素。
在各个实施例中,AR隐私API为其展现抽象和传感器输入增强了现有事件与新事件的集合。类似于网页上的现有事件,这些事件在它们是“捕捉”到文件对象模型(DOM)树中的它们的目标,还是从文档对象模型(DOM)树中的它们的目标“冒泡”方面变化,其通常被称为“起泡”。如在章节2.3.1中所述,各种准确屏幕局部事件支持起泡。
请注意下面的表2,其示出了传统事件的示例性集合,其中的一些支持起泡,而其中的一些不支持。表2中的传统事件描述源自知名的摩斯拉开发者网络(MozillaDeveloper Network)。此外,表2还提供了被添加到传统事件集合用于在实现AR隐私API的各个实施例中使用的若干新事件的例子。请注意,用于描述表2中示出的各个新事件的名称不具有特定意义,而旨在概括性地描述与这些事件有关的功能。请注意,AR隐私API在支持各个新增事件之外,直接支持或模拟传统事件。请注意,在下面表3中提供的新的全局事件的各个例子中,用于描述这些事件的名称,除了概括性描述与这些全局事件有关的功能之外,不具有特定意义。此外请注意,在表2和表3二者中的新增事件中的一些或全部提供了潜在敏感信息。因此,在各个实施例中,AR隐私API允许或拒绝(取决于自动的或用户指定的隐私设置)用于网页访问这些新事件的提升特许。
表2:准确屏幕局部事件
表3:全局事件
2.4.3.1屏幕
在各个实施例中,“屏幕”是展现AR体验的当前屋子或空间的全局属性。在各个实施例中,尽管不要求,该全局属性是只读的。由表4提供了AR隐私API的“屏幕”部件(本文中被称为“屏幕API”)的各种示例性属性。例如,经由getAll()属性提供所有“屏幕”的阵列(例如,“screen.getAll()”)。每个“屏幕”的属性可以用于确定如何在它们之间放置内容。请注意,用于描述表4中示出的各个属性的名称,除了概括性描述与这些属性有关的功能之外,不具有特定意义。
通常,涉及“屏幕”的事件是全局的(见表3),或通过附着其的片段被透露给网页(见表5)。请注意,用于描述在表5中示出的各个属性和事件的名称,除了概括性地描述与这些属性和事件有关的功能之外,不具有特定意义。还请注意,如需要,可以将额外的属性添加到屏幕API中,以解决特定的布局或展现问题。这些属性中的一些或全部可以提供潜在敏感信息。因此,AR隐私API允许或拒绝(取决于自动的或用户隐私设置)用于网页访问这些属性的提升特许。
表4:屏幕API的属性
2.4.3.2片段
表5提供了用于AR隐私API的片段部件(本文被称为“片段API”)的各种示例性非准确屏幕局部事件和属性。当片段API使用AR隐私API的语义注释部件时,这些事件中的一些可能是不可用的,因为它们可能取决于不是在所有“屏幕”上都存在的特定“屏幕”能力。就其它属性和事件而言,这些属性和事件中的一些或全部可以提供潜在敏感信息。因此,在各个实施例中,AR隐私API允许或拒绝(取决于自动的或用户指定的隐私设置)用于网页访问这些属性和事件的提升特许。
表5:片段API
在由片段API提供的属性和事件前提下,可以像任何其它HTML元素那样动态地构建片段。例如,诸如“document.createElement(“segment”)”的脚本可以由AR隐私API用来生成新<segment>标签,修改其属性,并且之后将其插入到DOM树中使之成为“活动的”。上面示出的表5概括了AR隐私API的片段API部件的示例性实现。请注意,如果片段不依赖于语义注释来放置,则网页开发者可以在该片段可见之前将其明确地分配给该片段的“屏幕”属性。还请注意,可以使用用于操作CSS属性的标准JavaScript API来指定片段的大小以及语义注释约束。
2.4.3.3语义注释
如上所述,语义注释向网页提供在无需知道条目的位置的情况下相对于屋中的条目放置内容的能力。注释可以可选地提供有关注释的对象的额外信息。例如,与动作角色相对应的注释可以包括动作角色的模型编号和当前的姿势。请注意,各个注释实例可以具有定制属性;例如,球注释可以指定球的半径。网页可以通过使用用于操作CSS的现有JavaScript函数,使用适合的CSS约束中的注释实例的注释名称或GUID,来动态地使用约束中的这些注释。参见章节2.4.2进行的对CSS约束的额外讨论。
表6提供了AR隐私API的基础语义注释部件(本文被称为“语义注释API”)的示例性实现。就其它属性和事件而言,这些属性和事件中的一些或全部可以提供潜在敏感信息。因此,在各个实施例中,AR隐私API允许或拒绝(取决于自动的或用户指定的隐私设置)用于网页访问这些属性和事件的提升特许。请注意,用于描述在表6中示出的各个属性和事件的名称,除了概括性地描述与这些属性和事件有关的功能之外,不具有特定意义。
表6:语义注释API
2.5隐私和安全考虑
如上所述,由AR隐私API实现的对常规网页编码的新扩展的各种属性和事件可以提供潜在敏感信息。因此,在各个实施例中,AR隐私API允许或拒绝(取决于自动或用户指定的隐私设置)用于网页访问这些属性和事件的提升特许。通常,AR隐私API支持针对每个网页或网络室的细粒度的许可,并且对于支持用于实现该许可的多种方法来说是足够灵活的。例子包括但不限于,对用于控制多个许可的清单的使用,对第一次使用允许或拒绝特定许可的提示,用于设置一个或多个许可状态的用户驱动的访问控制UI等。
以下的段落在传统网页应用中没有发现的由那些扩展引起的各种隐私顾虑的角度上,提供了对那些扩展的一些安全和隐私含义的讨论。然而,应当理解的是,在不脱离本文描述的技术的范围的情况下,广泛的额外安全及隐私措施可以适用于与AR隐私API一起使用。
此外,以下的讨论还提供了各种技术,包括前面提及的层抽象和“屏幕”隐私模式,用于解决各种隐私顾虑。此外,以下讨论描述了基于许可的系统,其用于通过来自用户的许可揭露API的敏感部分。通常,该许可系统中的原则是内容来源,其中,如在下面的段落中讨论的,每一原则具有对由经过评估原始传感器数据识别的结构、物体、人脸等定义的特许资源的访问。
2.5.1示例性隐私问题
通常,网络室的片段不具有用于可视地确定它们的来源的显而易见的方法。在传统网页浏览器中,URL栏建立内容出处,清楚地向用户说明哪个网站提供了网页内容。相反,AR隐私API通常不将URL栏与每个显示的片段相关联,从而引起缺少内容出处的问题。该问题与由电话和平板电脑上的“沉浸式”浏览器所面临的问题类似,该浏览器占用整个“屏幕”而缺少可见的URL栏。然而,与那些类型的沉浸式浏览器相反,由AR隐私API实现的片段可以在任意可见的表面上被展现。相反地,在各个实施例中,由AR隐私API将在“屏幕”上被展现的内容的URL或源,可选地显示在该“屏幕”上。请注意,这表示了出于解释目的的当前网页的理想化例子。URL包括来源于不同服务器的片段,无需托管服务器的控制。
缺少内容出处引起有关何如显示多个网络室的第二问题。早先,常规网页浏览器利用现有的窗口抽象来将网站分成分别的窗口。最近,常规网页浏览器使用选项卡来可视地描述来自不同站点的内容。尽管对于AR隐私API来说有可能允许来自不同网络室的片段掺入到物理屋子或空间中,但是这会潜在地引起安全或隐私问题,其中,一个网络室能够模仿另一个网络室的片段。
AR隐私API通过向网络平台添加特许资源以限制对从原始传感器数据导出的信息的公开,来解决该问题。特别地,如贯穿章节2.4所讨论的,由AR隐私API实现的各个事件和属性可以提供潜在敏感信息。从而,在各个实施例中,不是直接向网络室默认公开整个API,而是AR隐私API按API关联被授予给每个网络室(或网页)的一个或多个许可的列表。AR隐私API的受信展现器部件于是可以动态检查许可,并且当网络室(或网页)尝试访问特许API时允许或拒绝访问。
通常,图2示出了由对从各个传感器导出的原始数据的评估产生的潜在特许资源的列表(例如,通过图1中的环境识别模块)。特别地,信息典型地来源于三种类型的传感器:音频传感器200、RGB传感器205(或能够以任意色彩空间来捕获图片的照相机)、深度传感器210等。然而,应当理解的是,还可以使用其它传感器类型,例如,微波、红外、压力等。
信息被提炼到用于确定环境信息的结构中(例如,图1中的元素150),该环境信息用于以一种允许AR隐私API在不将潜在特许的资源或信息公开给外部站点或公开给没有被授权接收该信息的网络的情况下展现内容的方式,来实现对屋子或用户周围的空间的抽象。
通过对各个传感器的评估导出或提取的数据或信息的例子包括但不限于,屋子几何结构215,屋子或空间中的平面、物体等(220),关键词、语法、语音特征等(240),人脸225,骨架轮廓230,平面纹理235。可以于是在其它原始传感器数据的上下文中评估该信息中的一些或全部,以推出进一步信息,包括但不限于,屋中的一个或多个人的性别245,屋中的一个或多个人的头位置、方位或追踪信息250,屋中的一个或多个人的手的位置、方位或追踪信息255,屋中的一个或多个人的脚的位置、方位或追踪信息260,人纹理265(诸如衣服、肤色等)。
2.5.2示例性隐私解决方案
为了解决内容出处的问题,向AR隐私API加入了受信用户接口(UI)。用户可以看着受信UI以观察负责于当前片段的URL(在用户输入或手势上显示或自动显示),以及在标准桌面窗口中片段和其定位的表示。有利地,该机制允许用户建立针对什么是可见的以及它来自于哪个服务器的基础事实。
为了解决多网络室的问题,向AR隐私API的各个实施例加入层的概念。每一层由来自于相同网络室的非重叠的片段组成。AR隐私API显示每一单独层中的所有片段或者一个片段也不显示。这允许AR隐私API将不同的网络室干净利索地分成不同的展现单元,类似于选项卡在今天的浏览器中区分不同的网站那样。
在各个实施例中,AR隐私API在特定“屏幕”上一次只显示一个层。只展现一个层建立了所有被展现的内容都来自于单个来源的保证。从而,网络钓鱼和点击劫持类型的漏洞利用变得更为困难,这是由于来自不同来源的内容不被混合以及匹配用于在单个“屏幕”上展现。请注意,在各个实施例中,片段可以被允许完全或部分地重叠,并且可以显示该多个层,然而,这会潜在地暴露各种安全问题,诸如,网络钓鱼和点击劫持类型的漏洞利用。网络室的另一优势是众多的“屏幕”允许用于显示内容的广泛配置。例如,实践中,那些“屏幕”中的仅一些会典型地用于接收输入,例如,用户伸手可及的那些“屏幕”,或在具有各个输入机制的物理屏幕上等,而其它屏幕可以用于显示其它内容。这种类型的设置的一个简单例子是提供主层输入“屏幕”,例如,离用户最近的“屏幕”,或在用户的视域中央,而可能试图装扮为另一输入位置的内容的各个其它元素或层(例如,假下载按钮),在距离用户更远的“屏幕”上被展现。这样,相对于典型的用于展现多层的一个屏幕的解决方案,在分开的“屏幕”上展现内容的每一层典型地使得用户将不大可能意外地点击它们。
在各个实施例中,如下面所讨论的,通过提供具有对常规内容安全策略(CSP)的扩展的HTML内嵌框架(iframe)许可,来进一步解决隐私和安全问题。例如,每一次强制单个层,来防止网络室使用传统网页策略,诸如嵌入来自于其它来源的内容。然而,AR隐私API通过允许网络室利用内嵌框架标签嵌入内容,来解决该问题。正如网页中的标准内嵌框架中,该内容就网络室的剩余部分而言是沙箱化的,但是嵌入网络室增加属性以帮助受信展现器在屋子或用户周围的空间中放置内容。
常规CSP声明一组针对网络资源的内容约束,以及用于将策略从服务器传输到执行该策略的客户端的机制。AR隐私API提供用于嵌入网络室(或网页)的机制,以通过向常规CSP技术增加新扩展来限制嵌入的内容的能力。例如,常规网页使用CSP头文件来指定JavaScript评估上的限制条件,以及可以在哪里下载诸如图像的资源。通过由AR隐私API实现的网络室,对CSP的新扩展可以指定嵌入的网页是否被允许访问AR隐私API的展现抽象。如果不被允许,则嵌入的网页如同它是在传统浏览器中来运行,并且不可以访问由AR隐私API实现的任何扩展的属性或JavaScript方法。所有内容在由父页建立的片段边界内来进行展现。请注意,在各个实施例中,CSP进一步被扩展到允许嵌入的内容具有对AR隐私API的各个抽象的细粒度的访问。
此外,在各个实施例中,AR隐私API通过定义用于与网络室一起使用的“扩展隐私模式”,来防止泄漏敏感信息。该扩展隐私模式与现有浏览器的私人浏览模式类似,但是此外它向网络室提供了有关可用资源的抽象的、而非实际的信息。更为具体地,代替透露实际的“屏幕”以及那些“屏幕”在屋子中的相对位置,AR隐私API的扩展隐私模式针对网络室模拟(以及报告)一个规范化的设置,诸如,例如,单个1080p显示器(或任意期望分辨率的显示器)。AR隐私API的受信展现器部件于是酌情地跨屋子中的一个或若干实际的“屏幕”来映射该模拟的显示器。通过防止在扩展隐私模式中展现的网络室具有对在章节2.4中讨论的特许API(即,各个事件和属性)的访问,来进一步保护隐私。
2.5.3使用许可来解决隐私和安全问题
如上所述,AR隐私API与会潜在公开用户希望对其进行控制的各种类型的敏感信息的环境信息合作。例如,在没有由AR隐私API提供的各种保护的情况下,网站会取回有关屋子中的所有平面的信息,包括它们的规格和方位。这些站点还会从平面取回纹理,以及会查询它们在3D空间中的位置以重构屋子的粗略几何结构。类似地,相对于用户在3D空间中的位置,这些网站会取回有关用户的自然人、用户的头等的详细信息。
因此,为了防止公开潜在私人信息,AR隐私API使用基于许可的系统,来以一种防止非授权的对私人或敏感信息的公开的方式,限制信息流。参考图2示出了该数据中的一些的各个例子。在下面的段落中结合用于由各个网站使用的与该数据的使用、锁定或解锁相关联的各个许可讨论了该数据中的一些。请注意,以下所述的示例性许可不是要表示对与特定类型的信息或环境数据相关联的特定类型的许可的穷举。换言之,下面描述的许可是作为当实现AR隐私API的各个实施例时考虑的各种类型的许可中的一些的有限例子,来被提供的。
2.5.3.1关键词语法许可
关键词语法是在各个应用中被用作动作的口语词的列表(例如,用户可以说出术语“加载必应”来发起必应TM搜索引擎的实例)。在每关键词的基础上授予这些许可,所以用户会在授予网站对哪些关键词进行监听之前知道网站将监听哪些关键词。该信息被认为是敏感的,由于这潜在允许网站监听用户所说的。
2.5.3.2平面许可
通过平面许可,网站可以取回屋子中的每个平面的规格和方位,但是将不知道它们在3D空间中存在的位置。该信息被认为是敏感的,因为屋子中的平面的性质可以透露用户身处哪种类型的屋子。该信息可以用于推断有关用户的其它细节,例如,在具有较大平面、具有的IP追溯到曼哈顿的屋子中的用户可能是富人。
在各个实施例中,AR隐私API允许网站将片段“锁定”到特定的平面或“屏幕”,以使得它可以具有屋子中的该表面的绝对控制。该能力驱逐在使用该平面的其它片段。
最后,具有与屋子中的平面有关的信息的网站可以潜在地确定当片段在屋中被投影时其真实大小(如果不能够在平面上使它设置,则其会与实际片段大小不同),以及投影机当前是否在投影片段。这两条信息独立提示屋子的片段大小,这解释为什么用这些许可对它们进行解锁。
2.5.3.3几何结构许可
几何结构许可使得网页能够更了解有关屋子的几何结构,以及平面在3D空间中的位置。该信息被认为是敏感的,因为它透露了屋子的结构的部分3D模型,这可以用于结合对于网页来说其它可用的信息来确定屋子的位置。
该许可还对用于确定当前在什么平面或“屏幕”上展现片段的能力进行解锁。额外的片段信息在该许可等级处被解锁,因为它可以用于粗略估计屋子的几何结构。例如,如果约束两个片段使得一个应该出现在另一个的上面或下面,则网站可以查询它们在那个平面上以确定平面相对于彼此是如何放置的。
2.5.3.4平面纹理许可
该许可等级对有关平面的纹理的信息进行解锁。网站还可以查询平面的主要色彩以帮助将片段色彩适配环境(例如,在黑色表面上显示白色文本,或在白色表面上显示黑色文本),以及可以抓取实际平面纹理的位图。该信息被认为是敏感的信息,因为纹理对于识别用户的位置来说可以是足够独特的,并且可能包含被编码在其中的其它形式的信息(例如,白板表面包括秘密计划或私人照片或文本)。
2.5.3.5头视景锥台许可
通过该许可,网站可以确定用户的头在3D空间中的位置,并且可以确定是否某些片段在用户的视野内。该信息被认为是敏感的,因为它透露了用户在屋子中的位置以及用户的高度。
2.5.3.6拖和放许可
AR隐私API允许网站明确地指定其“可拖放的”片段可以放在哪些内容来源上。网站可以是许可的,并且利用通配符(*)允许所有内容来源。但是默认地,如果网站没有配置该许可,则不能将它的可拖放片段放在来自任何其它网页的片段上。在各个实施例中,相同的许可系统朝另一个方向运行,使得网站可以明确地指定哪些内容来源可以将片段放在它的片段上。
动态地,网站可以通过标准“拖动中放下(ondropped)”事件来决定向不同的内容来源发送什么信息,这公开目标网站的内容来源。此外,在另一方向中,通过标准拖动中放下事件,向接收侧公开放下的片段的源。该机制允许具有许可的拖和放许可的行事小心的网页管理与它不对其进行控制的不同内容来源的交互。
2.5.3.7内嵌框架许可
AR隐私API允许网页使用内嵌框架来嵌入来自不同内容来源的另一网页。在一些情形下,网页可能希望嵌入的内容具有对本文所述的受信展现器的访问。在其它情形下,网页可能希望通过经由标准“window.frames”属性访问嵌入内容的DOM树,作为单个片段或作为多个片段,来简单地放置该嵌入的内容本身。
为了解决该问题,AR隐私API使用“内嵌框架许可”。通常,该许可允许网页授予来自特定内容来源的内嵌框架对AR隐私API的受信展现器的访问,但是它不能将其特许转让给该内容来源。相反,每一内嵌框架内容来源正如其父页一样请求许可。如果网页未能向内容来源授予对AR隐私API的受信展现器的访问,则其网页将看不到AR隐私API的受信展现器,并且会认为它在常规2D浏览器中进行展现。
2.5.3.8其它许可
其它许可的例子包括但不限于:
·手许可;
·脚许可;
·骨架许可;
·深度传感器许可;
·人脸许可;
·人纹理许可;
2.5.4请求许可
当与AR隐私API进行交互时,当用户通过针对AR隐私API的基于JavaScript的扩展的实例化函数(例如,见图5的元素530)第一次访问网页时,网站请求许可(除非已经授予)。例如,在AR隐私API的测试实施例中,站点传递用于封装应用在请求的整个许可集合的“许可对象”。基本上,该许可可以被视为“安装时”类型许可,使得如果用户授予网页许可,则网页将跨浏览会话保持该许可直到用户撤回它们为止。
直到实例化函数完成为止,应用将不能够使用针对AR隐私API的基于JavaScript的扩展。这防止应用按需求请求许可。类似地,在各个实施例中,针对AR隐私API的基于JavaScript的扩展防止网站实例化多于一次。从而,如果用户没能给予它其所请求的许可,则用户将需要经由许可配置菜单来明确地修改该许可以改变针对站点的许可。通过该机制改变的任何许可将公开给浏览器应用。
当用户授予许可时,它将许可授予内容来源。内容来源是协议(例如,http或https)、端口以及主机的组合。例如,“http://bing.com”和“https://bing.com”是不同的来源,如同“https://news.bing.com”和“https://bing.com”。在AR隐私API的各个实施例中,该许可是不可转让的,所以网页不能将对针对AR隐私API的基于JavaScript的扩展的提升的访问转让给被加载在网页上的脚本和内嵌框架,除非它通过现有的来源间通信手段,诸如通过使用window.postMessage事件,明确地代理API请求。
2.6示例性AR隐私API架构
下面的段落描述了AR隐私API的示例性总体架构。应当理解的是,本文描述的示例性架构提供了可以实现AR隐私API的许多方式中的一些的简单例子,而该例子不是要将AR隐私API的范围限制到所提供的特定例子。
为了在屋子或用户周围的空间中显示网站或网络室,AR隐私API使用各种各样的技术来检测屋中的“屏幕”、在那些“屏幕”中的一些或所有上展现片段,以及将来自输入设备或传感器的各个输入或事件传送给具有用于观看输入的适当许可的网页或网络室。图3提供了集中于展现任务的AR隐私API的一个示例性实现的各个部件的概览。
更为具体地,图3示出了AR隐私API的各个实施例的架构的示例性高水平概览。请注意,可以在一个或多个计算设备上同时运行AR隐私API的多个实例或实例化(例如,300、305),以在用户周围的空间内显示不同网站、网页和/或网络室(310、315)的内容。请注意,出于讨论的目的,图3的以下描述将引用AR隐私API的单数形式的实例化300。
通常,AR隐私API 300实现为具有本文所述功能的独立浏览器,或通过提供用于允许任意现有的浏览器330实现本文所述功能的API扩展320的集合来实现(例如,使用HTML、CSS、JavaScript等实现的扩展)。在各个实施例中,在浏览器初始化时,或当被网站、网页和/或网络室310调用时,可以将该API扩展320作为插件等来加载。在任意情形下,AR隐私API 300或API扩展320,通过传递去往和来自受信展现器340的内容和输入,来充当网站、网页和/或网络室310之间的中间媒介。受信展现器通过对本文描述的各种语言注释、抽象、许可等的使用,来采取对它向每一网站、网页和/或网络室310透露的私人或敏感信息量的限制。
受信展现器340从网站、网页和/或网络室310接收要被展现的内容,并且于是确定该内容要在哪些“屏幕”上被展现。该展现的内容于是被提供给各个输出设备360用于在相应的“屏幕”上进行显示。请注意,各个输出设备360包括但不限于,TV/监视器361、投影机362、触摸屏363、平板电脑364、电话365、媒体播放器366等。通过使用各种各样的输入设备/传感器350中的任意一种输入设备/传感器,经由受信展现器与该内容进行交互,来提供与展现的内容的用户交互。各个输入设备/传感器350的例子包括但不限于,触摸屏351、352、麦克风353、照相机354、键盘355、鼠标356等。请注意,下面参考图4对受信展现器进行了更为详细的描述。
2.6.1屏幕检测
如上所述,AR隐私API在“屏幕”上显示内容,包括视频输出设备,诸如TV和监视器,以及使用投影机在屋中的任意表面或物体上。请注意,用于该目的的“屏幕”的概念在上面的章节2.2中进行了讨论。屏幕检测涉及检测屋中或用户周围的空间中可用的各种类型的“屏幕”的存在和物理位置。
例如,第一类别的“屏幕”涉及可移动或动态显示器设备(例如,平板电脑、媒体播放器等)。由于它们在整个屋中或用户周围的空间中移动,所以动态地追踪该类型的物理显示器设备的位置。使用常规技术,诸如,例如通过使用定位传感器或其它基于硬件或软件的技术(包括但不限于,GPS、陀螺仪、RFID标签定位、扫描屋子的照相机和深度传感器等)来完成该追踪。
第二类别的“屏幕”涉及静止的显示器设备,诸如,例如,电视机、监视器等。通过各种手段来确定该类型的静止设备的位置和方位,诸如,例如,用于光学扫描屋中的显示的图像的初始化序列(例如,在第一屏幕上显示的较大数字“1”,以及在第二屏幕上显示的较大数字“2”)。用于指定该设备的位置和方位的用户输入还可以用于定义该“屏幕”。用于定位该设备的其它技术包括但不限于,对固定定位传感器、基于射频的定位技术(例如,RFID、等)等的使用。在AR隐私API的测试实施例的例子中,使用用于在每一“屏幕”上呈现幻灯片的集合的校准方法。该幻灯片中的每一个具有形成鲜明对比的矩形的模式(例如,黑色和白色的矩形),用于允许AR隐私API来测量每一“屏幕”(例如,显示器、平板电脑、投影等)的位置和方位以及其范围。
第三类别的“屏幕”是屋子或用户周围的空间中可以在其上进行投影的那些表面(平的、弯曲的、平面的、倾斜的等)或物体。在各个实施例中,可以如离线或在线过程,发生对该表面和物体的检测。用于识别该表面的各种技术的例子包括自动光学扫描以及用于定位合适表面的评估技术、手动或计算机指导的用户输入等。
例如,在各个实施例中,用于“屏幕”检测的离线方法对屋中的投影机可以到达的非遮挡或部分遮挡表面或物体进行一次扫描,并且将该表面或物体识别为AR隐私API允许将内容投影到其上的“屏幕”的静态集合。该方法将AR隐私API限制到静止的表面和物体。对在该方式下检测的“屏幕”的更新是通过当发生改变时重新扫面屋子或用户周围的空间来完成的。
在线方法与离线方法类似,但是代替单个扫描的是,针对可投影的表面或物体对屋子或用户周围的空间进行连续或周期性地扫描。这使得AR隐私API能够追踪移动的表面和物体,以及当新的表面和物体进入屋子或用户周围的空间时能够适应它们。还请注意,可以通过JavaScript事件等向网页或网络室传送对于该可投影的表面和物体的“屏幕”改变。例如,如上面参考表3中的“全局事件”所讨论的,诸如“屏幕进入”和“屏幕离开”的事件用于当屏幕进入或离开屋子或用户周围的空间时进行传送。
2.6.2语义注释检测
通常,语义注释可以是静止的或移动的,并且可以包括比仅仅位置更多的信息。此外,如通过上面所讨论的许多类型的输入事件,注释可以携带变化等级的敏感信息,可以使用与本文讨论的那些技术类似的技术来限制对该变化等级的敏感信息的访问。从而,出于解释的目的,下面的讨论解决在没有特定解决基于许可的隐私问题及相关顾虑的情况下,语义注释如何在AR隐私API的上下文中运行。
语义注释可以被认为是当需要时可以被添加到浏览器的“插件”。当在浏览器可以正确地展现内容之前需要下载或授权特定插件(例如,音频、视频等)时,该技术通常与大多数现有的浏览器一起使用。该方法允许AR隐私API预先通知网页浏览器支持哪些注释类型(但不一定是那些活动的),给予网页用于检查浏览器满足其要求的选项。
在运行时间期间的任何时间处,可以将注释的属性(包括其位置)传送给AR隐私API。例如,该属性中的一些可以是由用户手动注释的静态位置,其它的可以是由追踪屋子中的物体、人、“屏幕”等的位置的现场对象识别器返回的。
2.6.3内容展现
有利地,如参考图3所示(上面讨论的),AR隐私API的展现器的架构容易适用于利用常规网页浏览器来操作。类似地,还可以以本文所述的技术的角度上来实现包括AR隐私API的功能中的一些或全部地专用浏览器。如上所述,图3的受信展现器340用于当在各个“屏幕”上展现内容以及经由各个输入设备与该内容进行交互时,保护用户隐私和安全。下面讨论的图4,提供了示出图3的受信展现器的示例性实现的额外细节。
如上所述,AR隐私API封装现有的浏览器功能,包括但不限于,HTML、CSS以及JavaScript功能,结合针对贯穿本文所述的该功能的各个额外扩展。如上面参照图3所述,这些扩展(即,API扩展320)与受信展现器340通信,如图4所示的受信展现器340使用2D片段展现器模块400来展现网页或网络室识别的各个片段。2D片段展现器模块400使用常规浏览器展现技术和工艺用于展现片段。
此外,尽管未示出,3D片段展现器可以使用常规技术来展现包括3D信息的片段用于在有3D能力的设备上进行显示。在任意情形下,受信展现器340的片段放置模块410部件于是将每一展现的片段和网络室提供的信息进行组合,以确定在哪里放置每一独立的片段(即,在哪个“屏幕”、物体等上)。使用片段放置模块410的屏幕API 420部件或语音注释API来做出该放置确定。屏幕API 420识别用于在其上显示内容的特定“屏幕”,这反过来识别片段要在哪里被展现。
如上面在章节2.6.1中所讨论的,经由用于识别屋子或用户周围的空间中的各个“屏幕”的位置和特征的屏幕检测过程,来确定由屏幕API 420管理的可用的“屏幕”。与此相对,语义注释API 425向下编译到接通约束求解器模块430的约束,约束求解器模块430基于注释确定片段的展现位置。
将所有的最终展现位置从片段放置模块410传送到层展现模块440,层展现模块440向“屏幕”增加新的层用于新的或重叠片段。展现的层于是被传送给各个视频输出设备用于在屋子中显示(例如,见图3的元素360)。请注意,取决于在其上进行内容展现的设备,可以使用众多技术中的任意技术来完成“屏幕”上的实际展现,包括但不限于,投影机、显示器设备、平板电脑、电话、头戴显示器(不透明的或透明的)、智能窗等。
2.6.4输入处理
由AR隐私API提供的各个API扩展可以被扩展到支持广泛的输入设备/传感器(例如,图3的元素350)。例如,章节2.3描述了由AR隐私API支持的各种类型的事件。通常,AR隐私API在向站点公布输入数据之前,确保网站、网页或网络室具有适当许可。
在各个实施例中,尽管不是要求,AR隐私API一次只支持一个活动的站点,使得输入事件仅被传送给当前活动的站点。请注意,同一时间处可以跨各个“屏幕”来显示多个活动的站点,以及可选地将AR隐私API限制到一个活动的站点或者按“屏幕”限制到一个活动的网站帮助防止各种安全顾虑,诸如,例如,来自一个站点的隐藏可点击内容显示为另一网站的内容的叠加(例如,点击劫持)、跨脚本语言的安全问题,或其它各种安全顾虑。通常,由AR隐私API支持的输入事件的集合取决于连接的传感器或输入设备,但是它们将落入在前面的段落中讨论的事件类型的类别中。
2.7示例性AR隐私API实现
下面的段落描述了被设计用于通过使用各个JavaScript和元素实现本文所述的功能,操作在现有的浏览器的上下文内的AR隐私API的测试实施例的示例性描述。应当理解的是,本文描述的测试实施例的示例性描述提供了可以实现AR隐私API的多种方式中的一些的简单例子,并且该例子不是要将AR隐私API的范围限制到所提供的特定例子。
请注意,下面的讨论描述了对.NET网页浏览器控制的使用,以用于在实现AR隐私API的测试实施例中使用。.NET网页浏览器控制对于本领域的普通技术人员来说是熟知的,其作为基于软件的工具,提供用于控制的管理封装器。管理封装器允许在作为.NET框架的一部分被包含其中的图形API中显示网页。有利地,网页浏览器控制提供用于在无需使用或修改现有的浏览器的情况下,允许在应用中复制现有的网页浏览器功能的测试平台。
通常,如图5所示,经由.NET管理网页浏览器控制的实例(500、510)来实现AR隐私API的前面提及的测试实施例。.NET管理网页浏览器控制的每一实例(500、510)与要用于为屋子或用户周围的空间中的一个或多个“屏幕”提供内容的分别的网站(505、515)或分别的网页通信。.NET管理网页浏览器控制的每一实例(500、510)结合新的基于JavaScript的扩展530提供常规浏览器展现引擎520,用于实现本文描述的功能的各个元素。在受信展现器540的替代实施例中实现的对象550被用于跨JavaScript-.NET边界。
为了避免复杂的编组和解组,该对象550用静态函数公开简单API。这允许各个网页或网络室在分别的管理网页浏览器控制中是孤立的,并且允许那些网页或网络室通过由基于JavaScript的扩展530提供的JavaScript库来与受信展现器通信,基于JavaScript的扩展530用于实现针对HTML、CSS以及JavaScript的各种AR隐私API扩展的功能。
下面的段落描述了如何实现AR隐私API的前面提及的测试实施例,以及该测试实施例如何处理实例化、在屋子或用户周围的空间中展现内容,以及简要地解决AR隐私API如何处理输入事件。
2.7.1模拟AR隐私API
在各个实施例中,现有的浏览器应用(例如,Internet )适用于包括本文所述的针对贯穿本文描述的HTML和CSS扩展的功能。然而,在其它实施例中,通过经由JavaScript库模拟AR隐私API的HTML和CSS扩展来实现与各种现有的浏览器应用的兼容性(例如,图5中示出的基于JavaScript的扩展530)。
通常,AR隐私API的JavaScript库使得运行在测试实施例中的网络室能够使用贯穿本文描述的HTML和JavaScript扩展。典型的浏览器允许JavaScript应用检查DOM树,这使得AR隐私API的JavaScript库能够找到并且处理片段标签。JavaScript功能被容易地公开,如浏览器允许脚本向全局范围添加条目。CSS功能不通过CSS被公开,因为浏览器不公开它通过它的JavaScript CSS API不理解的任何CSS标签。相反,CSS功能作为片段HTML标签的属性被公开。
AR隐私API的JavaScript库将针对AR隐私API的调用转换为通过前面提及的对象的更简单的调用。由于网页是具有事件循环的单线程GUI应用,所以浏览器等待直到事件循环释放为止,以处理针对UI的更新。AR隐私API的JavaScript库通过当事件循环释放时,跨边界以块应用API调用,来模拟该行为。请注意,由于AR隐私API可以通过简单地修改该浏览器的源来直接在该浏览器中实现API扩展,所以不详细描述本文中概述的简单 API,因为这在理解本文所述的概念中没有特定关联。
2.7.2实例化
在网络室导航之前,AR隐私API的测试实施例利用确定离线的语义注释信息和“屏幕”来实例化现有的约束求解器。约束求解器使用该信息来确定要显示片段的物理位置。
通常,网络室可以使用用于定位片段的描述性展现。每一片段使用可以与各种展现约束(诸如,例如,要在垂直表面上放置特定片段,或要与一个或多个其它片段一致地放置特定内容)组合的前面提及的语义注释抽象。约束求解器评估与每一片段相关联的约束,并且导出用于放置这些片段的解决方案。
2.7.3展现
当用户导航到网页时,AR隐私API的测试实施例首先在网页浏览器控制中展现整个网页。AR隐私API于是使用在网页浏览器控制上可用的现有方法提取针对每一片段标签的独立PNG(或诸如JPG、TIF等的其它任意图像格式)。
如图5所示的,AR隐私API的对象于是将这些片段分组为两个组:那些使用语义注释来放置的(经由约束求解器570),以及那些使用“屏幕”数据来放置的。对于第一组(即,语义注释),AR隐私API将注释编译为被约束求解器570理解的断言,并且于是调用约束求解器来确定要在哪里展现每一片段。对于后一组(即,“屏幕”数据560),AR隐私API可以即刻识别要在哪里展现内容,因为该内容是针对特定“屏幕”的。在两种情形下,在层展现步骤580期间,来自两组的展现的片段被组合,该步骤确定需要多少层来显示内容。最后,AR隐私API使用运行AR隐私API的测试实施例的一个或多个计算机的各个输出设备360,在3D虚拟室或在实际的屋子中显示展现的内容。
2.7.4输入处理
如上面在章节2.3中所讨论的,AR隐私API的测试实施例提供具有传统事件模拟的网络室。
2.8对现有网络内容的优化
网络包含用于网站可以将其定制于不同设备的广泛的各种各样的内容。许多网站已经提供了桌面和移动版本,而其它的正试用平板电脑布局。在类似的上下文中,AR隐私API允许网站提供用于其现有的内容的布局,该布局被自动优化以用于与AR隐私API一起使用。该转换对于呈现多条可概述信息(其被当作“周边内容”)的网页来说是直接的。例如,网页可以使用用户的高分辨率或主显示器来显示主要内容,并且可以在更小“屏幕”上或位于整个屋子中的“屏幕”上概括其它信息或内容。此外,用户可以使用片段等级的交互来将与每一概括相关联的内容引到她的主显示器。
4.0示例性操作环境
本文所述的AR隐私API可操作于众多类型的通用或专用计算系统环境或配置。图6示出了如本文所述的AR隐私API的各个实施例和元素可以在其上实现的通用计算机系统的简化例子。应当注意的是,图6中由虚线或点线表示的任意矩形,表示简化计算设备的替代实施例,并且这些替代实施例中的任意或所有实施例可以如下面所描述的,结合贯穿本文所述的其它替代实施例使用。
例如,图6示出了通用系统示图,该示图示出了简化计算设备600。通过AR隐私API可操作的该设备的例子包括但不限于,便携式电子设备、手持计算设备、膝上型电脑或移动计算机、诸如蜂窝电话、智能电话以及PDA的通信设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、微型计算机、音频或视频媒体播放器、手持远程控制设备等。还请注意的是,如上所讨论的,AR隐私API可以在拥有或以其它方式耦合到广泛的设备或物体的手提箱或覆盖内实现。
为了允许设备实现AR隐私API,计算设备600应当具有足够的计算能力和系统存储器,以实现基本的计算操作。此外,计算设备600包括一个或多个传感器605,包括但不限于,加速器、照相机、电容传感器、接近传感器、麦克风、多谱传感器等。此外,计算设备600还可以包括可选系统固件625(或其它固件或处理器可访问的存储器或存储设备),用于在实现AR隐私API的各个实施例中使用。如图6所示,计算设备600的计算通常由一个或多个处理单元610示出,并且可以还包括一个或多个GPU 615,任一或两者与系统存储器620通信。请注意,计算设备600的该处理单元610可以是专用微处理器,诸如DSP、VLIW,或其它微控制器,或可以是具有一个或多个处理核的常规CPU,包括在多核CPU中的专用的基于GPU的核。
此外,简化的计算设备600还可以包括其它部件,诸如,例如通信接口630。简化的计算设备600还可以包括一个或多个常规计算机输入设备640或这种设备(例如,指示设备、键盘、音频输入设备、基于语音或声音的输入和控制设备、视频输入设备、触觉输入设备、触摸输入设备、用于接收有线或无线数据传输的设备等)的组合。简化的计算设备600还可以包括其它可选的部件,诸如,例如,一个或多个常规计算机输出设备650(例如,显示器设备655、音频输出设备、视频输出设备、用于发送有线或无线数据传输的设备等)。请注意,用于通用计算机的典型通信接口630、输入设备640、输出设备650以及存储设备660对于本领域的普通技术人员来说是熟知的,所以将不在本文中对其进行详细描述。
简化的计算设备600还可以包括各种各样的计算机可读介质。计算机可读介质可以是可以经由存储器设备660访问的任意可用的介质,并且包括可移动的670和/或不可移动的680易失性和非易失性媒介两者,用于存储诸如计算机可读或计算机可执行指令、数据结构、程序模块或其它数据的信息。举例但并非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质指代有形的计算机或机器可读的介质或存储设备,诸如,DVD、CD、软盘、磁带驱动器、硬盘驱动器、光盘驱动器、固态存储器设备、RAM、ROM、EEPROM、闪存或其它存储器技术、磁盒带、磁带、磁盘存储或其它磁存储设备,或可以用于存储期望信息并且可以由一个或多个计算设备存取的任意其它设备。
存储诸如计算机可读或计算机可执行指令、数据结构、程序模块等的信息,还可以通过使用用于编码一个或多个调制的数据信号或载波波形的各种各样的前面提及的通信介质中的任意或者其它传输机制或通信协议来实现,并且包括任意有线或无线信息传送机制。请注意,术语“调制的数据信号”或“载波波形”通常指代具有一个或多个其特征以将信息编码到信号中的形式来设置或改变的信号。例如,通信介质包括有线介质,诸如有线网络或携带一个或多个调制的数据信号的直接有线连接,以及无线介质,诸如,声波、RF、红外、激光以及用于发送和/或接收一个或多个调制的数据信号或载波波形的其它无线介质。以上的任意组合也应当包括在通信介质的范围内。
对诸如计算机可读或计算机可执行指令、数据结构、程序模块等的信息的保留,还可以通过使用用于编码一个或多个调制的数据信号或载波波形的各种各样的前面提及的通信介质中的任意或者其它传输机制或通信协议来实现,并且包括任意有线或无线信息传送机制。请注意,术语“调制的数据信号”或“载波波形”通常指代具有一个或多个其特征以将信息编码到信号中的形式来设置或改变的信号。例如,通信介质包括有线介质,诸如有线网络或携带一个或多个调制的数据信号的直接有线连接,以及无线介质,诸如,声波、RF、红外、激光以及用于发送和/或接收一个或多个调制的数据信号或载波波形的其它无线介质。以上的任意组合也应当包括在通信介质的范围内。
此外,可以以计算机可执行指令或其它数据结构的形式,从计算机或机器可读介质或存储设备以及通信介质的任意期望的组合,存储、接收、发送或读取体现本文所述的AR隐私API的各个实施例中的一些或全部的软件、程序和/或计算机程序产品,或其几部分。
最后,可以在计算机可执行指令,诸如由计算设备执行的程序模块的通用上下文中进一步描述本文所述的AR隐私API。通常,程序模块包括例程、程序、对象、部件、数据结构等,其执行特定任务或实现特定抽象数据类型。本文所述的实施例还可以在分布式的计算环境中实现,其中,任务由一个或多个远程处理设备执行,或在一个或多个设备的云内执行,这些设备通过一个或多个通信网络进行链接。在分布式的计算环境中,程序模块可以位于本地和远程计算机存储介质(包括介质存储设备)中。此外,前面提及的指令可以部分或整体实现为硬件逻辑电路,其可以包括也可以不包括处理器。
图7示出了可以用于实现AR隐私API的任意方面的示例性计算功能702。例如,图7中示出的该类型的计算功能702可以用于实现图6的通用计算机系统和/或与AR隐私API的各种本地和远程能力相关联的一个或多个计算机服务器或基于云的计算或存储系统。
计算功能702可以包括一个或多个处理设备704,诸如一个或多个中央处理单元(CPU),和/或一个或多个图像处理单元(GPU)等。
计算功能702还可以包括用于存储任意种类的信息(诸如,代码、设置、数据等)的任意存储资源706。在没有限制的情况下,例如,存储资源706可以包括以下各项中的任意一项:任意类型的RAM、任意类型的ROM、闪存设备、硬盘、光盘等。更为具体地,任意存储资源可以使用用于存储信息的任意技术。此外,任意存储资源可以提供对信息的易失性或非易失性保留。此外,任意存储资源可以表示计算功能702的固定或可移除部件。计算功能702可以当处理设备704执行存储在任意存储资源或存储资源的组合中的指令时,执行以上所述的功能中的任意。
存储资源706中的任意,或存储资源706的任意组合,可以被视为计算机可读介质。在许多情形下,计算机可读介质表示某种形式的物理和有形实体。术语计算机可读介质还包含传播的信号,例如,经由物理导管和/或空中或其它无线介质等发送或接收的。然而,本文中特别定义的特定术语“计算机可读存储介质”和“计算机可读介质设备”指代基于硬件的存储设备。
计算功能702还包括用于与任意存储资源进行交互的一个或多个驱动机制708,诸如,硬盘驱动机制、光盘驱动机制等。
计算功能702还包括用于(经由输入设备712)接收各种输入以及用于(经由输出设备714)提供各种输出的输入/输出模块710。示例性输入设备包括键盘设备、鼠标输入设备、触摸屏输入设备、数字化平板电脑、一个或多个照相机、语音识别机制、任意运动检测机制(例如,加速器、陀螺仪等)等。一个特定的输入机制可以包括展示设备716以及相关联的图像用户接口(GUI)718。其它输出设备包括打印机、模型生成机制、触觉输出机制、存档机制(用于存储输出信息)等。计算功能702还可以包括用于与其它设备经由一个或多个通信管道722交换数据的一个或多个网络接口720。一个或多个通信总线724将以上所述的部件通信地耦合在一起。
可以以任何方式实现通信管道722,例如,通过局域网、广域网(例如,互联网),对等连接等,或其任意组合。通信管道722可以包括硬连线链路、无线链路、路由器、网关功能、名称服务器等的任意组合,其由任意协议或协议的组合来控制。
替代地,或此外,可以至少部分地通过一个或多个硬件逻辑部件来执行在前面章节中描述的功能中的任意功能。例如,但没有限制,可以使用以下各项中的一项或多项来实现计算功能702:现场可编辑门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
出于说明和描述的目的,提出了前面关于AR隐私API的描述。它不是要穷举或将所声明主题限制到所公开的精确形式。根据以上教导,许多修改和变化是可能的。此外,应当注意到的是,可以以任意期望的组合形式来使用前面提及的替代实施例中的任意或所有,以形成AR隐私API的额外的复合实施例。旨在的是,不是要通过本具体实施方式来限制本发明的范围,而是要通过在此所附的权利要求。尽管已用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解的是,所附权利要求中定义的主题不一定限于以上所述的特定特征或动作。相反,以上所述的特定特征和动作是作为实现权利要求的示例性形式被公开的。

Claims (10)

1.一种计算机实现的用于在3D空间中展现内容的方法,包括:
通过进行如下操作初始化用于展现内容的所述3D空间中的一个或多个空间:
评估来自多个传感器的数据,以推断与空间有关和与该空间内的人和内容有关的环境信息;
评估所述环境信息,以识别所述空间中的能够由一个或多个输出设备将内容展现在其上的被称为“屏幕”的多个表面;以及
生成针对所述“屏幕”中的一个或多个“屏幕”的一个或多个语义抽象,所述一个或多个语义抽象允许将内容展现在相应的“屏幕”上;以及
由受信展现器在所述3D空间的一个或多个空间处通过以下操作展现内容:
接收并且解释所述一个或多个语义抽象;
从非受信源接收内容,以及确定在哪个“屏幕”上展现该内容,以及
向一个或多个输出设备提供展现的内容用于在所确定的“屏幕”上进行显示;
其中,所述受信展现器限制向所述非受信源的对所述环境信息的公开。
2.根据权利要求1所述的计算机实现的方法,还包括:
用于将许可状态与所述环境信息的一个或多个元素进行关联的步骤。
3.根据权利要求2所述的计算机实现的方法,其中,所述许可状态中的一个或多个许可状态被分别地授予给所展现的内容的特定源。
4.根据权利要求2所述的计算机实现的方法,其中,所述许可状态中的一个或多个许可状态被授予给所展现的内容的多个源。
5.根据权利要求1所述的计算机实现的方法,其中,约束求解器用于评估所述环境信息以识别所述空间中的能够在其上展现内容的所述“屏幕”。
6.根据权利要求5所述的计算机实现的方法,其中,所述约束求解器相对于与任意相应的屏幕相关联的任意语义抽象来评估所述环境信息,以识别要使用所述“屏幕”中的哪些来展现特定内容。
7.根据权利要求1所述的计算机实现的方法,其中,所述语义抽象定义所述“屏幕”中的两个或更多“屏幕”之间的相对关系。
8.一种用于计算机实现的用于在3D空间中展现内容的计算设备,包括:
用于通过进行如下单元初始化用于展现内容的所述3D空间中的一个或多个空间的单元:
用于评估来自多个传感器的数据,以推断与空间有关和与该空间内的人和内容有关的环境信息的单元;
用于评估所述环境信息,以识别所述空间中的能够由一个或多个输出设备将内容展现在其上的被称为“屏幕”的多个表面的单元;以及
用于生成针对所述“屏幕”中的一个或多个“屏幕”的一个或多个语义抽象的单元,所述一个或多个语义抽象允许将内容展现在相应的“屏幕”上;以及
用于通过受信展现器在所述3D空间的一个或多个空间处通过以下单元展现内容的单元:
用于接收并且解释所述一个或多个语义抽象的单元;
用于从非受信源接收内容,以及确定在哪个“屏幕”上展现该内容的单元,以及
用于向一个或多个输出设备提供展现的内容用于在所确定的“屏幕”上进行显示的单元;
其中,所述受信展现器限制向所述非受信源的对所述环境信息的公开。
9.一种用于展现内容以构建增强现实环境的系统,包括:
用于评估多个传感器,以推断与空间有关和与该空间内的人和内容有关的环境信息的设备;
用于评估所述环境信息,以识别所述空间中的能够将内容展现在其上的多个表面的设备;
用于将一个或多个语义抽象与所述表面中的一个或多个表面进行关联的设备;以及受信展现器,包括:
用于从非受信源接收内容以及用于对所述语义抽象进行接收并且解释以将特定接收的内容与一个或多个相应的表面进行关联的设备;以及
用于将所述内容展现到所述相应的表面的设备,
其中,所述受信展现器限制向所述非受信源的对所述环境信息的公开。
10.一种具有用于在3D空间中展现内容的计算机可执行指令存储其中的计算机可读介质,所述指令使得计算设备执行权利要求1所述的方法。
CN201480062181.9A 2013-11-15 2014-11-13 在基于网络的沉浸式增强现实中的保护隐私 Active CN105745955B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/082051 2013-11-15
US14/082,051 US9679144B2 (en) 2013-11-15 2013-11-15 Protecting privacy in web-based immersive augmented reality
PCT/US2014/065355 WO2015073612A1 (en) 2013-11-15 2014-11-13 Protecting privacy in web-based immersive augmented reality

Publications (2)

Publication Number Publication Date
CN105745955A CN105745955A (zh) 2016-07-06
CN105745955B true CN105745955B (zh) 2019-06-04

Family

ID=52134344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480062181.9A Active CN105745955B (zh) 2013-11-15 2014-11-13 在基于网络的沉浸式增强现实中的保护隐私

Country Status (4)

Country Link
US (1) US9679144B2 (zh)
EP (1) EP3069544B1 (zh)
CN (1) CN105745955B (zh)
WO (1) WO2015073612A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140090318A (ko) * 2013-01-07 2014-07-17 삼성전자주식회사 햅틱 기반 카메라 운용 지원 방법 및 이를 지원하는 단말기
US9679152B1 (en) 2014-07-24 2017-06-13 Wells Fargo Bank, N.A. Augmented reality security access
US10416760B2 (en) 2014-07-25 2019-09-17 Microsoft Technology Licensing, Llc Gaze-based object placement within a virtual reality environment
US9858720B2 (en) * 2014-07-25 2018-01-02 Microsoft Technology Licensing, Llc Three-dimensional mixed-reality viewport
US10451875B2 (en) 2014-07-25 2019-10-22 Microsoft Technology Licensing, Llc Smart transparency for virtual objects
US9766460B2 (en) 2014-07-25 2017-09-19 Microsoft Technology Licensing, Llc Ground plane adjustment in a virtual reality environment
US9865089B2 (en) 2014-07-25 2018-01-09 Microsoft Technology Licensing, Llc Virtual reality environment with real world objects
US9904055B2 (en) 2014-07-25 2018-02-27 Microsoft Technology Licensing, Llc Smart placement of virtual objects to stay in the field of view of a head mounted display
US10311638B2 (en) 2014-07-25 2019-06-04 Microsoft Technology Licensing, Llc Anti-trip when immersed in a virtual reality environment
US10474842B2 (en) * 2014-11-07 2019-11-12 Sony Corporation Information processing system, storage medium, and control method
US9754419B2 (en) 2014-11-16 2017-09-05 Eonite Perception Inc. Systems and methods for augmented reality preparation, processing, and application
US9916002B2 (en) 2014-11-16 2018-03-13 Eonite Perception Inc. Social applications for augmented reality technologies
US10043319B2 (en) 2014-11-16 2018-08-07 Eonite Perception Inc. Optimizing head mounted displays for augmented reality
US9940312B1 (en) 2014-11-18 2018-04-10 Google Llc Transferring a web content display from one container to another container while maintaining state
US20160357715A1 (en) * 2015-06-03 2016-12-08 Futurewei Technologies, Inc. Mechanisms to support multi-service hyperlink pipelines in web browser
RU2614930C2 (ru) * 2015-06-05 2017-03-30 Закрытое акционерное общество "Лаборатория Касперского" Система и способ контроля исполнения приложений дополненной реальности, установленных на устройстве пользователя, в зависимости от состояния окружающей среды
CN106874718B (zh) * 2016-07-27 2020-12-15 创新先进技术有限公司 隐私处理方法、装置及终端
CA3032812A1 (en) 2016-08-04 2018-02-08 Reification Inc. Methods for simultaneous localization and mapping (slam) and related apparatus and systems
US11017712B2 (en) 2016-08-12 2021-05-25 Intel Corporation Optimized display image rendering
US9928660B1 (en) 2016-09-12 2018-03-27 Intel Corporation Hybrid rendering for a wearable display attached to a tethered computer
CN107818003A (zh) * 2016-09-12 2018-03-20 北京易讯理想科技有限公司 基于html5的增强现实内容展示方法及装置
US10318758B2 (en) * 2016-12-14 2019-06-11 Blackberry Limited Selectable privacy modes
CN108460839A (zh) * 2017-02-20 2018-08-28 王素萍 一种ar应用的编辑器
EP3388863A1 (en) * 2017-04-10 2018-10-17 Bea S.A. Sensor for controlling an automatic door
US11187720B2 (en) * 2017-06-16 2021-11-30 Tektronix, Inc. Test and measurement devices, systems, and methods associated with augmented reality
US20190037560A1 (en) 2017-07-31 2019-01-31 Qualcomm Incorporated Power headroom report for lte-nr co-existence
US10762219B2 (en) 2018-05-18 2020-09-01 Microsoft Technology Licensing, Llc Automatic permissions for virtual objects
CN108874336B (zh) * 2018-06-01 2021-08-17 联想(北京)有限公司 一种信息处理方法及电子设备
US11010974B2 (en) * 2019-01-04 2021-05-18 Vungle, Inc. Augmented reality in-application advertisements
US11550937B2 (en) * 2019-06-13 2023-01-10 Fujitsu Limited Privacy trustworthiness based API access
US11132834B2 (en) * 2019-08-09 2021-09-28 Facebook Technologies, Llc Privacy-aware artificial reality mapping
CN110674449B (zh) * 2019-09-27 2022-02-01 中南大学 一种基于对象属性的Web页面请求方法
US11638147B2 (en) * 2019-11-22 2023-04-25 International Business Machines Corporation Privacy-preserving collaborative whiteboard using augmented reality
US11209573B2 (en) 2020-01-07 2021-12-28 Northrop Grumman Systems Corporation Radio occultation aircraft navigation aid system
US11475661B2 (en) 2020-02-10 2022-10-18 Fujifilm Business Innovation Corp. Systems and methods for augmented reality application for annotations and adding interfaces to control panels and screens
US11308259B2 (en) * 2020-03-09 2022-04-19 Servicenow, Inc. Web element retargeting
US11599717B2 (en) 2020-03-20 2023-03-07 Capital One Services, Llc Separately collecting and storing form contents
US11514799B2 (en) 2020-11-11 2022-11-29 Northrop Grumman Systems Corporation Systems and methods for maneuvering an aerial vehicle during adverse weather conditions
CN112462520B (zh) * 2020-12-03 2022-12-20 江西台德智慧科技有限公司 一种基于人工智能的户外运动眼镜
US11893551B2 (en) 2021-04-15 2024-02-06 Bank Of America Corporation Information security system and method for augmented reality check generation
US11635998B2 (en) * 2021-06-14 2023-04-25 Silicon Laboratories Inc. Standard API for integrated development environments
WO2023117049A1 (en) 2021-12-20 2023-06-29 Telefonaktiebolaget Lm Ericsson (Publ) Sensor data control
WO2023214905A1 (en) * 2022-05-04 2023-11-09 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for selective sharing of information in extended reality

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647604A (zh) * 2011-02-18 2012-08-22 乐金显示有限公司 图像显示装置
CN103279942A (zh) * 2013-04-10 2013-09-04 北京航空航天大学 一种基于环境感受器的2d屏幕上虚拟3d展示的控制方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10232757A (ja) * 1997-02-19 1998-09-02 Sharp Corp メディア選択装置
AU2003277240A1 (en) * 2002-10-15 2004-06-07 University Of Southern California Augmented virtual environments
WO2008091695A1 (en) * 2007-01-25 2008-07-31 Samuel Pierce Baron Virtual social interactions
US8595218B2 (en) * 2008-06-12 2013-11-26 Intellectual Ventures Holding 67 Llc Interactive display management systems and methods
US8260728B1 (en) * 2008-12-12 2012-09-04 Qurio Holdings, Inc. System and method for influencing behavior in a distributed virtual environment
JP5372687B2 (ja) * 2009-09-30 2013-12-18 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
WO2011154072A1 (en) * 2010-06-10 2011-12-15 Sartorius Stedim Biotech Gmbh Assembling method, operating method, augmented reality system and computer program product
US8516568B2 (en) * 2011-06-17 2013-08-20 Elliot D. Cohen Neural network data filtering and monitoring systems and methods
US20120327116A1 (en) * 2011-06-23 2012-12-27 Microsoft Corporation Total field of view classification for head-mounted display
US9870429B2 (en) 2011-11-30 2018-01-16 Nokia Technologies Oy Method and apparatus for web-based augmented reality application viewer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647604A (zh) * 2011-02-18 2012-08-22 乐金显示有限公司 图像显示装置
CN103279942A (zh) * 2013-04-10 2013-09-04 北京航空航天大学 一种基于环境感受器的2d屏幕上虚拟3d展示的控制方法

Also Published As

Publication number Publication date
WO2015073612A1 (en) 2015-05-21
CN105745955A (zh) 2016-07-06
EP3069544B1 (en) 2017-06-28
US20150143459A1 (en) 2015-05-21
EP3069544A1 (en) 2016-09-21
US9679144B2 (en) 2017-06-13

Similar Documents

Publication Publication Date Title
CN105745955B (zh) 在基于网络的沉浸式增强现实中的保护隐私
US11902377B2 (en) Methods, systems, and computer program products for implementing cross-platform mixed-reality applications with a scripting framework
US11803628B2 (en) Secure authorization via modal window
US9104442B2 (en) Modifying the execution of a native application running on a portable electronic device
US8614706B2 (en) Lightweight three-dimensional display
AU2009225393B2 (en) File access via conduit application
US20230333864A1 (en) Management framework for mixed reality devices
KR101143606B1 (ko) 모바일 기기를 이용한 전시 정보를 제공하는 시스템, 사용자 단말 및 전시 정보 제공 방법
US11366564B2 (en) Electronic device and method for multi-view browsing in an augmented reality environment
JP6775013B2 (ja) データテーブルを共有するためのサポートを有する構成の自己記述
Vilk et al. SurroundWeb: Mitigating privacy concerns in a 3D web browser
CN104903863B (zh) 用于虚拟环境的控制反转组件服务模型系统
McPherson et al. No escape from reality: Security and privacy of augmented reality browsers
Engelke et al. MobileAR Browser–A generic architecture for rapid AR-multi-level development
JP2016508644A (ja) 個人情報コミュニケータ
US20190377461A1 (en) Interactive file generation and execution
CN106663090A (zh) 在编译期间将呈现元数据转换成浏览器可渲染格式
Helal et al. Mobile platforms and development environments
Newnham Microsoft HoloLens By Example
US20130069953A1 (en) User Interface Feature Generation
US20240137417A1 (en) Methods, systems, and computer program products for implementing cross-platform mixed-reality applications with a scripting framework
Walczak et al. Semantic exploration of distributed ar services
US20130251344A1 (en) Manipulation of User Experience State
MATHIASON et al. Using AR for device maintenance
Nardone et al. A Look into the Future: Augmented reality (AR) and Android TV

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant